@media (min-width: 980px) and (max-width: 1200px) {

    .mainframe_mainarea_content {
        padding-left: calc((100vw - 960px) / 2);
    }
}

@media (min-width: 660px) and (max-width: 979px) {

    .mainframe {
        flex-direction: column-reverse;
    }

    .mainframe_mainarea {
        justify-content: flex-start;
    }

    .mainframe {
        height: fit-content;
    }

    .mainframe_mainarea {
        position: relative;
    }

    .mainframe_mainarea_content {
        padding-left: calc((100vw - 640px) / 2);
    }

    .diagram_column {
        height: 100vh;
    }


}


@media (min-width: 500px) and (max-width: 659px) {

    .mainframe {
        flex-direction: column-reverse;
    }

    .mainframe_mainarea {
        justify-content: flex-start;
    }

    .mainframe {
        height: fit-content;
    }

    .mainframe_mainarea {
        position: relative;
    }

    .mainframe_mainarea_content {
        padding-left: calc((100vw - 480px) / 2);
    }

    .diagram_column {
        height: 100vh;
    }


    .column_price {
        font-size: 18px !important;
        line-height: 27px !important;

    }

    .column_text {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    .rating_frame_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    #faq {
        margin-top: 50px;
    }

    #faq h2 {
        margin-top: 7px;
        margin-bottom: 20px;
    }

    .faq-title {
        font-size: 15px;
        line-height: 18px;
    }

    .faq-text p {
        font-size: 12px;
        line-height: 16px;
    }

    .faq-content {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .faq_subhead {
        height: fit-content;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .faq_subhead>h3 {
        font-size: 18px;
        line-height: 22px;
    }


}


@media (max-width: 499px) {

    .mainframe {
        flex-direction: column-reverse;
    }

    .mainframe_mainarea {
        justify-content: flex-start;
    }

    .mainframe {
        height: fit-content;
    }

    .mainframe_mainarea {
        position: relative;
    }

    .mainframe_mainarea_content {
        padding-left: 5vw;
    }

    .diagram_column {
        height: 100vh;
    }


    .column_price {
        font-size: 18px !important;
        line-height: 27px !important;

    }

    .column_text {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    .rating_frame_top {
        flex-direction: column;
        align-items: flex-start;
    }

    #faq {
        margin-top: 50px;
    }

    #faq h2 {
        margin-top: 7px;
        margin-bottom: 20px;
    }

    .faq-title {
        font-size: 15px;
        line-height: 18px;
    }

    .faq-text p {
        font-size: 12px;
        line-height: 16px;
    }

    .faq-content {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .faq_subhead {
        height: fit-content;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .faq_subhead>h3 {
        font-size: 18px;
        line-height: 22px;
    }


    .items {
        padding-top: 31px;
    }

}