.box_sp {
    display: none;
}

.box_pc {
    display: block;
}

/* responsive */
@media screen and (max-width: 1500px) {
    #header .menu_overlay .gnavi li a {
        font-size: 8vw;
    }

    .h3title span {
        font-size: 16.667vw;
    }

    #idx_mainvisual .loading_progress {
        font-size: 12vw;
    }

    /*----- idx_intro -----*/
    #idx_intro .intro_copy {
        gap: 26.667vw;
    }

    /*----- idx_connection -----*/
    #idx_connection #idx_service .idx_box_frame {
        padding-left: 6.667vw;
    }

    #idx_connection #idx_company .idx_box_image {
        padding-right: 6.667vw;
    }

    #idx_connection #idx_faq .idx_box_image {
        padding-left: 6.667vw;
    }

    /*----- idx_recruit -----*/
    #idx_recruit .idx_recruit_layout::after {
        left: 6.667vw;
    }

    #idx_recruit .idx_recruit_cover {
        padding-right: 10vw;
    }
}

@media screen and (max-width: 1350px) {
    #header {
        padding: 0 12.148vw 0 2.963vw;
    }

    #idx_connection .idx_box_wrap h4 {
        font-size: 26px;
    }
}

@media screen and (min-width: 1025px) {
    a[href^="tel:"] {
        pointer-events: none;
    }

    .btn_primary a:hover::before {
        transform: scaleX(0) translateZ(0);
        transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .btn_primary a:hover::after {
        transform: scaleX(1) translateZ(0);
        transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
    }

    .btn_primary a:hover span {
        transform: translateX(2.5rem) translateZ(0);
    }

    #header .gnavi_headline li a:hover,
    #header .menu_overlay .gnavi li a:hover,
    #footer .box_connect .footer_link li a:hover {
        color: var(--orange-color);
    }

    #footer .box_connect .footer_link li a:hover::before {
        background: var(--orange-color);
    }

    #header .gnavi_headline li a:hover::after,
    #footer .box_connect .footer_link li a:hover span::after {
        transform: scaleX(1);
        transform-origin: bottom left;
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 14px;
    }

    .btn_primary a {
        font-size: 22px;
    }

    #header {
        height: 70px;
        padding: 0 80px 0 3%;
    }

    #header #top a {
        width: 120px;
    }

    #header .gnavi_headline {
        display: none;
    }

    #header #toggle-menu {
        width: 70px;
        height: 70px;
    }

    /*----- idx_mainvisual -----*/
    body.active #idx_mainvisual {
        height: 380px;
    }

    #idx_mainvisual .loading_progress {
        font-size: 80px;
    }

    /*----- idx_intro -----*/
    #idx_intro {
        min-height: inherit;
        padding: 75px 0;
    }

    #idx_intro .idx_intro_virtual {
        height: 100%;
        position: absolute;
    }

    #idx_intro .idx_intro_wrap {
        flex-direction: column;
        align-items: center;
        padding: 0 0;
    }

    #idx_intro .intro_copy {
        flex-direction: column;
        align-items: center;
        gap: 55px;
        margin: 0 0 60px;
    }

    #idx_intro .intro_copy h4 {
        font-size: 22px;
    }

    #idx_intro .intro_logo {
        max-width: 280px;
        margin: 0 0;
    }

    #idx_intro .intro_logo .intro_frame {
        height: 110px;
        border-width: 5px;
        padding: 0 0;
        position: relative;
        top: auto;
    }

    #idx_intro .intro_logo .intro_frame h3 {
        font-size: 45px;
    }

    #idx_intro .virtual_start {
        display: none;
    }

    /*----- idx_connection -----*/
    #idx_connection {
        padding: 55px 0 65px;
    }

    #idx_connection .idx_box_frame {
        flex-direction: column;
        align-items: center;
    }

    #idx_connection .idx_box_image {
        width: 76.543vw;
    }

    #idx_connection .idx_box_wrap h4 {
        font-size: 22px;
    }

    #idx_connection .idx_box_wrap h4 br {
        display: none;
    }

    #idx_connection #idx_service {
        margin-bottom: 70px;
    }

    #idx_connection #idx_service .idx_box_frame {
        padding-left: 0;
        margin-bottom: 55px;
    }

    #idx_connection #idx_service .idx_box_txt {
        max-width: 620px;
        margin: 35px 0 0;
    }

    #idx_connection #idx_service h4 {
        margin-bottom: 35px;
    }

    #idx_connection #idx_service .btn_primary {
        margin: 0 auto;
    }

    #idx_connection #idx_service .special_word {
        right: 0;
    }

    #idx_connection #idx_company {
        margin-bottom: 70px;
    }

    #idx_connection #idx_company h4 {
        margin-bottom: 35px;
    }

    #idx_connection #idx_company .idx_box_image {
        padding-right: 0;
        margin: 0 auto;
    }

    #idx_connection #idx_company .idx_box_txt {
        margin: 35px 0;
    }

    #idx_connection #idx_company .special_word {
        left: 0;
    }

    #idx_connection #idx_faq .h3title {
        text-align: left;
    }

    #idx_connection #idx_faq h4 {
        margin: 25px 0 0;
    }

    #idx_connection #idx_faq .idx_box_image {
        padding-left: 0;
        margin: 0 auto;
    }

    #idx_connection #idx_faq .btn_primary {
        margin-top: 35px;
        left: auto;
    }

    /*----- idx_news -----*/
    #idx_news {
        padding: 55px 0 75px;
    }

    #idx_news .idx_news_frame {
        margin-bottom: 35px;
    }

    #idx_news .news_title {
        font-size: 16px;
    }

    #idx_news .news_list a {
        padding: 25px 0;
    }

    #idx_news .news_meta {
        margin-bottom: 8px;
    }

    #idx_news .news_meta .date {
        margin-right: 10px;
    }

    /*----- idx_recruit -----*/
    #idx_recruit {
        padding: 0 0 55px;
    }

    #idx_recruit .idx_recruit_layout::after {
        height: calc(100% - 26.855vw);
        top: 26.855vw;
        left: 3%;
    }

    #idx_recruit .inner {
        padding: 0 0 55px 3%;
        margin-top: -7.617vw;
    }

    #idx_recruit .btn_primary {
        margin: 0 auto;
    }

    /*----- Footer -----*/
    #footer .box_contact {
        padding: 55px 0;
    }

    #footer .box_contact .box_contact_frame {
        padding: 55px 3%;
    }

    #footer .box_contact .box_contact_title {
        margin-bottom: 25px;
    }

    #footer .box_contact .box_contact_txt {
        font-size: 15px;
        line-height: 2;
        margin-bottom: 25px;
    }

    #footer .box_connect::before {
        background-size: 686px 100%;
        width: calc(100vw + 686px);
        height: 110px;
        animation-name: sloganright-sp;
    }

    #footer .footer_connect li {
        font-size: 20px;
        padding: 25px 5px;
    }

    #footer .footer_connect li .connect_subtitle {
        font-size: 16px;
        margin-bottom: 8px;
    }

    #footer .box_connect .footer_contents {
        padding: 30px 0 45px;
    }

    #footer .box_connect .footer_location {
        text-align: center;
        margin: 0 auto;
    }

    #footer .footer_location .f_notes {
        font-size: 14px;
    }

    #footer .box_connect .footer_link {
        display: none;
    }

    #toTop {
        bottom: 15px;
        right: 15px;
    }
}

@media screen and (max-width: 992px) {}

@media screen and (max-width: 768px) {

    #wrapper,
    #header,
    #main,
    #footer,
    .pages .pages_inner {
        width: 100% !important;
        min-width: inherit !important;
    }

    .box_sp {
        display: block;
    }

    .box_pc {
        display: none;
    }

    #header .menu_overlay {
        align-items: flex-start;
        overflow: auto;
        padding: 70px 0;
    }

    #header .menu_overlay .inner {
        flex-direction: column;
        align-items: center;
    }

    #header .menu_overlay .gnavi {
        width: 100%;
        margin-bottom: 3.8vh;
    }

    #header .menu_overlay .gnavi:last-child {
        margin-bottom: 0;
    }

    #header .menu_overlay .gnavi li {
        text-align: center;
        padding-left: 0;
    }

    #header .menu_overlay .gnavi li a {
        font-size: 55px;
    }

    #idx_connection #idx_service .special_word {
        right: 14vw;
    }

    #idx_connection #idx_company .special_word {
        left: 14vw;
    }

    #idx_connection #idx_faq .special_word {
        right: 13vw;
    }

    /*----- idx_news -----*/
    #idx_news .idx_news_frame {
        flex-direction: column;
    }

    #idx_news .h3title {
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        text-align: center;
        margin: 0 0 35px;
    }

    #idx_news .news_list {
        margin: 0 0;
    }

    #idx_news .news_title {
        -webkit-line-clamp: 2;
    }

    #idx_news .btn_primary {
        margin: 0 auto;
    }

    /*----- Footer -----*/
    #footer .box_connect::before {
        top: 65%;
    }

    #footer .footer_connect {
        flex-direction: column;
        align-items: center;
    }

    #footer .footer_connect li {
        width: 94%;
        border-right: 0;
    }

    #footer .footer_location .f_phone span {
        display: block;
        margin: 0 0 5px;
    }

    #toTop {
        width: 50px;
        height: 50px;
    }
}

@media screen and (max-width: 576px) {

    /*----- idx_news -----*/
    #idx_news .news_meta .date {
        display: block;
        margin: 0 0 5px;
    }
}

@media screen and (max-width: 490px) {}

@media screen and (max-width: 390px) {}

@media screen and (max-width: 320px) {}
