@charset "utf-8";

/*======================
*
header
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    header nav ul.menu {
        font-size: 13px;
    }

    /*scroll_add header*/
    header.scroll_add {
        translate: -50% 10px;
    }

    header.scroll_add.active {
        padding: 20px 0;
    }

    /*end*/
}

/*sp*/
@media (max-width:599px) {
    header {
        font-size: var(--sp_fs15);
        padding: 16px 0;
    }

    header.open {
        background-color: var(--white);
    }

    header:not(.scroll_add)::after {
        width: 100%;
    }

    header .inner {
        position: relative;
        z-index: 5;
        width: calc((343 / 375) * 100%);
    }

    header .inner {
        width: calc((343 / 375) * 100%);
    }

    header.open::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        border-bottom: solid 1px var(--gray);
    }


    /*logo*/
    header .logo {
        width: calc((162 / 343) * 100%);
    }

    header.open .logo :not(.white) {
        display: none;
    }

    header.open .logo .white {
        display: block;
    }

    header.open .logo .white {
        display: none;
    }

    header.open .logo :not(.white) {
        display: block;
    }

    /*end*/

    header nav {
        position: fixed;
        z-index: -1;
        top: var(--sp_header);
        left: 0;
        width: 100%;
        max-height: 65dvh;
        overflow: hidden;
        padding: calc((34 / 15) * 1.0em) calc((20 / 15) * 1.0em) 0;
        background-color: var(--white);
        opacity: 0;
        pointer-events: none;
        transition: 0.3s ease-in-out;
    }

    header.open nav {
        opacity: 1.0;
        pointer-events: auto;
    }

    header nav ul.menu {
        display: block;
        align-items: center;
        font-size: 1.0em;
        font-weight: 700;
        color: var(--color);
        padding-bottom: calc((34 / 15) * 1.0em);
    }

    header nav ul.menu li:not(:last-of-type) {
        padding-right: 0;
        border-right: 0;
        border-bottom: solid 1px var(--gray);
    }

    header nav ul.menu li a {
        display: block;
    }

    header nav ul.menu li:not(:last-of-type) a {
        display: block;
        padding-bottom: calc((19 / 15) * 1.0em);
    }

    header nav ul.menu li+li a {
        padding-top: calc((19 / 15) * 1.0em);
    }

    header nav ul.menu li a .link_inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    header nav ul.menu li a .link_inner::after {
        content: "";
        width: calc((24 / 15) * 1.0em);
        aspect-ratio: 1 / 1;
        border-radius: 2px;
        background: url(img/common/arrow_white.webp) no-repeat var(--main-color) 50% / calc((10 / 15) * 1.0em);
        pointer-events: none;
    }

    /*ham_btn*/
    header .ham_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: calc((6 / 15) * 1.0em);
        position: relative;
        width: calc((40 / 15) * 1.0em);
        aspect-ratio: 1 / 1;
        border: solid 1px var(--gray);
        background-color: var(--white);
        border-radius: 50%;
        transition: 0.3s ease-in-out;
    }

    header .ham_btn.open {
        border-color: transparent;
        background-color: var(--blue);
    }

    header .ham_btn span {
        display: block;
        width: calc((16 / 15) * 1.0em);
        aspect-ratio: 16 / 2;
        border-radius: 5px;
        background-color: var(--blue);
        transition: 0.3s ease-in-out;
    }

    header .ham_btn.open span {
        background-color: #FFF;
    }

    header .ham_btn span:nth-of-type(2) {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    header .ham_btn.open span:nth-of-type(1) {
        transform: translateY(calc((4 / 15) * 1.0em)) rotate(-45deg);
    }

    header .ham_btn.open span:nth-of-type(2) {
        opacity: 0;
    }

    header .ham_btn.open span:nth-of-type(3) {
        transform: translateY(calc((4 / 15) * -1.0em)) rotate(45deg) ;
    }

    /*end*/

    /*ham_btn*/
    .sp_bg {
        position: fixed;
        top: var(--sp_header);
        left: 0;
        z-index: -1;
        display: block;
        width: 100%;
        height: 100dvh;
        background-color: #262626;
        opacity: 0;
        pointer-events: none;
        transition: 0.3s ease-in-out;
    }

    .sp_bg.open {
        opacity: 0.5;
        pointer-events: auto;
    }

    /*end*/

    /*scroll_add header*/
    header.scroll_add {
        translate: -50% 0;
    }

    header.scroll_add.active {
        padding: 16px 0;
    }

    header.scroll_add.active::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        border-bottom: solid 1px var(--gray);
    }

    /*end*/
}

/*======================
*
TOP
*
=======================*/
/*======================
mv
=======================*/
/*sp*/
@media (max-width:599px) {
    .top .mv_area {
        padding: min(calc((74 / 375) * 100%), 74px) 0 min(calc((254 / 375) * 100%), 313px);
        background: url(img/top/top_mv_sp.webp) no-repeat left top / cover;
    }

    /*slider*/
    .top .mv_area .mv_slider__area ul {
        min-width: calc((1414 / 375) * 100%);
    }

    /*end*/

    /*mv hd*/
    .top .mv_area h1 {
        position: relative;
        transform: translateX(0);
        top: 0;
        left: 0;
        z-index: 6;
        width: calc((355 / 375) * 100%);
        margin: auto;
        filter: drop-shadow(0px 0px 24px #4EA5EB);
    }

    .top .mv_area h1 .hd {
        width: 100%;
        opacity: 0;
        transition: 0.5s ease-in-out;
    }

    .top .mv_area h1.active .hd {
        opacity: 1.0;
        translate: 0 0;
    }

    /*end*/

    /*mv deco*/
    .top .mv_area .mv_deco {
        width: calc((181 / 375) * 100%);
    }

    /*end*/
}

/*======================
*top message
*=======================*/
/*tb*/
@media (max-width:1024px) {
    .top .top_message {
        padding-top: 180px;
    }

    .top .top_message .cont_area {
        width: 96%;
    }

    .top .top_message .cont_area .cont_text {
        font-size: 13px;
    }

}

/*sp*/
@media (max-width:767px) {
    .top .top_message {
        padding-top: 160px;
        background-image: linear-gradient(to bottom, transparent 0%, #F5F6FA 9.11%, #F5F6FA 100%);
    }

    .top .top_message .cont_area {
        width: calc((355 / 375) * 100%);
        background: url(img/top/top_message__bg_sp.webp) no-repeat left top / cover;
        padding: calc((208 / 375) * 100%) 0 calc((300 / 375) * 100%);
    }

    .top .top_message .cont_area .cont_text {
        font-size: var(--sp_fs15);
    }

    .top .top_message .cont_area .message_deco01 {
        top: calc((90 / 943) * 100%);
        left: calc((208 / 355) * 100%);
        width: calc((80 / 355) * 100%);
    }

    .top .top_message .cont_area .message_deco02 {
        top: calc((686 / 943) * 100%);
        right: calc((238 / 355) * 100%);
        width: calc((75 / 355) * 100%);
    }

    .top .top_message .cont_area .message_deco03 {
        top: calc((24 / 943) * -100%);
        left: calc((31 / 355) * 100%);
        width: calc((120 / 355) * 100%);
    }

    .top .top_message .cont_area .message_deco04 {
        top: calc((735 / 943) * 100%);
        right: calc((61 / 355) * 100%);
        width: calc((150 / 355) * 100%);
    }

    .top .top_message .cont_area .message_deco05 {
        top: calc((669 / 943) * 100%);
        right: calc((27 / 355) * 100%);
        width: calc((60 / 355) * 100%);
    }

    .top .top_message .cont_area .message_deco_bg {
        left: calc((8 / 355) * 100%);
        width: calc((290 / 355) * 100%);
    }
}

/*======================
*top company_link
*=======================*/
/*tb*/
@media (max-width:1024px) {
    .top .company_link .cont_area {
        gap: 3%;
    }

    .top .company_link .cont_area .text_area p {
        font-size: 13px;
    }


    .top .company_link .cont_area .img_area {
        width: 61%;
    }
}

/*sp*/
@media (max-width:767px) {
    .top .company_link {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .top .company_link .cont_area {
        flex-direction: column-reverse;
        gap: 32px;
        width: 100%;
    }

    .top .company_link .cont_area .img_area {
        width: 100%;
        margin-top: 0;
        border-radius: 0;
    }

    .top .company_link .cont_area .text_area {
        padding: 0 calc((20 / 375) * 100%);
    }

    .top .company_link .cont_area .text_area p {
        font-size: var(--sp_fs15);
        margin: 21px 0 29px;
    }

    .top .company_link .cont_area .text_area .btn01 {
        margin: auto;
    }

    .top .company_link .bg_deco01 {
        top: calc((156 / 573) * 100%);
        right: calc((120 / 375) * -100%);
        width: calc((181 / 375) * 100%);
    }

    .top .company_link .bg_deco02 {
        left: calc((151 / 375) * -100%);
        top: calc((417 / 573) * 100%);
        width: calc((247 / 375) * 100%);
    }

}

/*======================
*top service_recruit_link
*=======================*/
/*sp*/
@media (max-width:767px) {
    .top .service_recruit_link .bg_deco01 {
        top: calc((274 / 2206) * -100%);
        right: calc((300 / 375) * -100%);
        width: calc((450 / 375) * 100%);
    }

    .top .service_recruit_link .bg_deco02 {
        top: calc((337 / 2206) * 100%);
        left: calc((20 / 375) * -100%);
        width: calc((120 / 375) * 100%);
    }

    .top .service_recruit_link .bg_deco03 {
        top: calc((552 / 2206) * 100%);
        left: calc((314 / 375) * 100%);
        width: calc((300 / 375) * 100%);
    }

    .top .service_recruit_link .bg_deco04 {
        top: calc((907 / 2206) * 100%);
        left: calc((87 / 375) * -100%);
        width: calc((300 / 375) * 100%);
    }
}

/*======================
*top service_link
*=======================*/
/*tb*/
@media (max-width:1024px) {
    .top .service_link .hd_area {
        flex-direction: column;
        align-items: center;
        gap: 21px;
    }

    .top .service_link .hd_area .hd01 .en {
        text-align: center;
    }

    .top .service_link .hd_area .text_area {
        flex-direction: column;
        align-items: center;
    }

    .top .service_link .hd_area p.text {
        margin-right: 0;
        margin-bottom: 29px;
    }
}

@media (min-width:768px) and (max-width:1024px) {
    .top .service_link .hd_area p.text {
        text-align: center;
    }
}

/*sp*/
@media (max-width:767px) {
    .top .service_link {
        padding: 64px 0;
    }

    .top .service_link .hd_area {
        margin-bottom: 48px;
    }

    .top .service_link .hd_area p.text  br{
        display: none;
    }

    .top .service_link .cont_area ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 32px;
    }

    .top .service_link .cont_area ul li .link_btn {
        position: static;
        transform: translateX(0);
        width: 100%;
        font-size: var(--sp_fs24);
        margin-top: calc((16 / 24) * 1.0em);
        padding: 0;
        background-color: transparent;
        border-radius: 0;
    }

    .top .service_link .cont_area ul li .link_btn .text {
        align-items: flex-start;
        flex-direction: column;
        gap: calc((5 / 24) * 1.0em);
    }

    .top .service_link .cont_area ul li .link_btn>span {
        width: calc((24 / 335) * 100%);
    }

    .top .service_link .cont_area ul li .link_btn .text .en {
        font-family: var(--Arvo);
        font-size: 0.5em;
        font-weight: 700;
        font-style: italic;
        line-height: 1.0;
        color: var(--main-color);
    }
}

/*======================
*top recruit_link
*=======================*/
/*tb*/
@media (max-width:1024px) {
    .top .recruit_link .cont_area {
        width: 98%;
    }

    .top .recruit_link .cont_area .inner {
        gap: 5%;
    }
}

/*sp*/
@media (max-width:767px) {
    .top .recruit_link {
        width: 100%;
        padding: 64px 0;
        background: url(img/top/top_recruit__bg_sp.webp) no-repeat left top / cover;
    }

    .top .recruit_link .cont_area {
        width: 100%;
        margin-left: auto;
        border-radius: 0;
        background: none
    }

    .top .recruit_link .cont_area .inner {
        flex-direction: column-reverse;
        gap: 29px;
        width: 100%;
        padding-left: 0;
    }

    .top .recruit_link .cont_area .text_area {
        flex: initial;
        width: calc((335 / 375) * 100%);
        margin: auto;
    }

    .top .recruit_link .cont_area .text_area p {
        color: #FFF;
        line-height: 2.0;
    }

    .top .recruit_link .cont_area .text_area .btn01 {
        margin: auto;
    }

    .top .recruit_link .cont_area .slider_area {
        gap: 0px;
        width: auto;
        max-height: initial;
        overflow: hidden;
    }

    .top .recruit_link .cont_area .slider_area .slider {
        display: flex;
        flex: auto;
        min-width: calc((1260 / 375) * 100%);
        min-height: initial;
        max-height: initial;
        animation: loop-x 15.0s linear infinite;
    }

    .top .recruit_link .cont_area .slider_area ul {
        animation: none!important;
        flex-direction: row !important;
    }

    .top .recruit_link .cont_area .slider_area ul li {
        padding: 0 6px 0 0;
    }

}

/*======================
*
under
*
=======================*/
/*======================
page
=======================*/
/*btn__bg*/
/*tb*/
@media (max-width:1024px) {
    .under .head_area01 .btn__bg .btn_area ul {
        font-size: 13px;
    }
}

/*sp*/
@media (max-width:767px) {
    .under .head_area01 {
        padding: 100px 0 0;
        margin: var(--sp_header) auto 0;
    }

    .under .head_area01 .hd_area {
        width: calc((355 / 375) * 100%);
    }

    .under .head_area01 .hd_area h1 {
        font-size: var(--sp_fs34);
        padding-bottom: 6px;
    }

    .under .head_area01 .hd_area h1 span.en {
        font-size: calc((13 / 34) * 1.0em);
        margin: calc((8 / 13) * 1.0em) auto 0;
    }

    /*btn__bg*/
    .under .head_area01 .btn__bg {
        display: flex;
        flex-direction: column-reverse;
    }

    .under .head_area01 .btn__bg::after {
        aspect-ratio: 375 / 125;
    }

    .under .head_area01 .btn__bg .btn_area {
        position: static;
        transform: translateX(0);
    }

    .under .head_area01 .btn__bg .btn_area ul {
        display: block;
        font-size: var(--sp_fs15);
        padding: calc((24 / 15) * 1.0em);
        margin: calc((20 / 15) * 1.0em);
        border-radius: 27px;
    }

    .under .head_area01 .btn__bg .btn_area ul li+li {
        margin-top: 16px;
        padding-top: 16px;
        border-top: solid 1px var(--gray);
    }
}

/*======================
*
compnay
*
=======================*/
/*======================
message
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.company .message_sec {
        padding: 80px 0;
    }
}

/*sp*/
@media (max-width:767px) {
    .under.company .message_sec {
        padding: 64px 0;
    }

    .under.company .message_sec .hd_area {
        margin-bottom: 30px;
    }

    .under.company .message_sec .flex_cont {
        display: flex;
        flex-direction: column;
        gap: 29px;
    }

    .under.company .message_sec .flex_cont h3 {
        font-size: var(--sp_fs34);
        line-height: calc(51 / 34);
        text-align: center;
        margin: auto;
    }

}

/*======================
profile history
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.company :is(.profile_sec, .history_sec) .cont_area .table_cont {
        font-size: 13px;
    }

}

/*sp*/
@media (max-width:767px) {
    .under.company :is(.profile_sec, .history_sec) .cont_area {
        flex-direction: column;
        gap: 30px;
    }

    .under.company :is(.profile_sec, .history_sec) .cont_area .sticky {
        position: static;
    }

    .under.company :is(.profile_sec, .history_sec) .cont_area .table_cont {
        font-size: var(--sp_fs15);
    }

}

/*======================
profile
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.company .profile_sec {
        padding: 80px 0;
    }
}


/*sp*/
@media (max-width:767px) {
    .under.company .profile_sec {
        padding: 64px 0;
    }

    .under.company .profile_sec .cont_area .table_cont {
        grid-template-columns: repeat(1, 1fr);
    }

    .under.company .profile_sec .cont_area .table_cont :is(.th, .td) {
        padding-right: 0;
    }

    .under.company .profile_sec .cont_area .table_cont .th {
        padding-bottom: 0;
    }

    .under.company .profile_sec .cont_area .table_cont .td {
        padding-top: 0;
        border-top: 0;
    }

}

/*======================
certified_professional
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.company .certified_professional__sec .cont_area {
        padding-top: 80px;
        padding-bottom: 100px;
    }

    .under.company .certified_professional__sec .cont_area ul {
        gap: 0.5em;
    }


    .under.company .certified_professional__sec .cont_area ul li {
        font-size: 13px;
    }
}

/*sp*/
@media (max-width:767px) {
    .under.company .certified_professional__sec .cont_area {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .under.company .certified_professional__sec .cont_area .hd_area {
        margin-bottom: 30px;
    }

    .under.company .certified_professional__sec .cont_area ul {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 1.0em;
    }

    .under.company .certified_professional__sec .cont_area ul li {
        font-size: var(--sp_fs15);
    }

}

/*======================
philosophy
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.company .philosophy_sec .cont_area {
        gap: 3%;
        width: 98%;
    }

    .under.company .philosophy_sec .cont_area .text_area {
        font-size: 13px;
        padding: calc((80 / 15) * 1.0em) 0;
    }

    .under.company .philosophy_sec .cont_area .text_area h3 {
        font-size: 18px;
    }
}


/*sp*/
@media (max-width:767px) {
    .under.company .philosophy_sec .cont_area {
        flex-direction: column;
        gap: 64px;
        width: 100%;
        margin-left: auto;
    }

    .under.company .philosophy_sec .cont_area .text_area {
        position: static;
        font-size: var(--sp_fs15);
        padding: 64px calc((20 / 375) * 100%) 0;
    }


    .under.company .philosophy_sec .cont_area .text_area h3 {
        font-size: var(--sp_fs34);
        font-weight: 900;
        text-align: center;
        margin: calc((30 / 30) * 1.0em) 0 calc((30 / 30) * 1.0em);
    }

    .under.company .philosophy_sec .cont_area .img_area {
        width: 100%;
        clip-path: initial;
        animation: none;
    }

}

/*======================
history
=======================*/
/*sp*/
@media (max-width:767px) {
    .under.company .history_sec {
        padding: 64px 0 0;
    }

    .under.company .history_sec .cont_area .table_cont .td .inner {
        display: block;
        gap: 5px;
    }

    .under.company .history_sec .cont_area .table_cont .td .inner span {
        display: block;
    }
}

/*======================
*
service
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.service .head_area .head_cont .text_area {
        font-size: 18px;
        padding: 0 50px 45px;
    }
}

/*sp*/
@media (max-width:767px) {
    .under.service .head_area .head_cont {
        flex-wrap: wrap;
    }

    .under.service .head_area .head_cont .bg {
        flex: 1;
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .under.service .head_area .head_cont .bg::after {
        aspect-ratio: 188 / 200;
    }

    .under.service .head_area .head_cont .bg01 {
        order: 1;
    }

    .under.service .head_area .head_cont .bg02 {
        order: 2;
    }

    .under.service .head_area .head_cont .text_area {
        order: 3;
        flex: auto;
        font-size: var(--sp_fs20);
        padding: 69px calc((20 / 375) * 100%) 64px;
    }

    .under.service .head_area .head_cont .text_area p {
        margin-top: 21px;
    }
}

/*======================
service link
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.service .service_link__sec .link_sec .cont_area {
        align-items: flex-start;
        gap: 2%;
    }

    .under.service .service_link__sec .link_sec .cont_area .img_area {
        width: 45%;
    }
}

/*sp*/
@media (max-width:767px) {
    .under.service .service_link__sec .link_sec {
        width: 100%;
    }

    .under.service .service_link__sec .link_sec+.link_sec {
        margin-top: 36px;
    }


    .under.service .service_link__sec .link_sec .cont_area {
        flex-direction: column !important;
        gap: 24px;
    }

    .under.service .service_link__sec .link_sec .cont_area .img_area {
        width: 100%;
        border-radius: 0 !important;
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area {
        padding: 0 calc((20 / 375) * 100%);
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area .hd {
        align-items: stretch;
        font-size: var(--sp_fs24);
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area .hd .num {
        display: flex;
        align-items: center;
        font-size: calc((34 / 24) * 1.0em);
        padding-right: calc((10 / 34) * 1.0em);
        margin-right: calc((16 / 45) * 1.0em);
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area .cont_text h4 {
        font-size: var(--sp_fs24);
        margin-top: calc((21 / 24) * 1.0em);
        margin-bottom: calc((13 / 24) * 1.0em);
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area .cont_text p.text {
        margin-bottom: calc((21 / 15) * 1.0em);
    }

    .under.service .service_link__sec .link_sec .cont_area .text_area .btn02 {
        width: 100%;
    }
}

/*======================
service case
=======================*/
/*sp*/
@media (max-width:767px) {
    .under.service .case_sec {
        padding: 64px 0;
        margin-top: 64px;
        background: url(img/under/service/service_case__bg_sp.webp) no-repeat left top / cover;
    }

    .under.service .case_sec .cont_area {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 5px;
        margin-top: 30px;
    }

    .under.service .case_sec .cont_area .cont {
        font-size: var(--sp_fs20);
        background-color: #FFF;
    }

    .under.service .case_sec .cont_area .cont01 {
        gap: calc((15 / 20) * 1.0em);
        padding: calc((32 / 20) * 1.0em) calc((23 / 20) * 1.0em);
    }

    .under.service .case_sec .cont_area .cont02 {
        gap: calc((9 / 20) * 1.0em);
        padding: calc((30 / 20) * 1.0em) calc((26 / 20) * 1.0em) calc((30 / 20) * 1.0em) calc((20 / 20) * 1.0em);
    }

    .under.service .case_sec .cont_area .cont03 {
        gap: calc((20 / 20) * 1.0em);
        padding: calc((22 / 20) * 1.0em) calc((24 / 20) * 1.0em) calc((22 / 20) * 1.0em) calc((29 / 20) * 1.0em);
    }

    .under.service .case_sec .cont_area .cont01 .icn {
        width: calc((72 / 289) * 100%);
    }

    .under.service .case_sec .cont_area .cont02 .icn {
        width: calc((80 / 289) * 100%);
    }

    .under.service .case_sec .cont_area .cont03 .icn {
        width: calc((60 / 282) * 100%);
    }

    .under.service .case_sec .cont_area .cont .icn img {
        width: 100% !important;
    }

    .under.service .case_sec .cont_area .cont .text_area span {
        margin-top: calc((8 / 12) * 1.0em);
    }

}

/*======================
*
service child
*
=======================*/
/*tb*/
@media (max-width:1024px) {

    .under.service_child .service_child__cont .cont_area p.annotation {
        font-size: 10px;
    }

    /*end*/

    /*コンテンツ内 見出し*/
    .under.service_child .service_child__cont .service_child__hd {
        width: 96%;
    }

    .under.service_child .service_child__cont .service_child__hd+.img_area {
        padding: 0 2%;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    .under.service_child .head_area {
        position: relative;
        z-index: 5;
        padding-top: var(--sp_header);
    }

    .under.service_child .head_area .cont_area {
        padding-top: calc((246 / 375) * 100%);
        padding-bottom: calc((20 / 375) * 100%);
    }

    /*見出し*/
    .under.service_child .head_area h1 {
        position: static;
        align-items: center;
        gap: 5px;
        top: 100%;
        bottom: initial;
        width: 100%;
        font-size: var(--sp_fs34);
        padding: calc((48 / 34) * 1.0em) 0 calc((32 / 34) * 1.0em);
        border-radius: 0;
        background-color: #48BADD;
    }

    .under.service_child .head_area h1 .en {
        font-size: calc((13 / 34) * 1.0em);
    }

    /*end*/

    /*キャッチ*/
    .under.service_child .head_area .cont_area .catch_text {
        gap: calc((7 / 20) * 1.0em);
        width: calc((335 / 375) * 100%);
        font-size: var(--sp_fs20);
        margin: auto;
    }

    .under.service_child .head_area .cont_area .catch_text span {
        width: fit-content;
        padding: calc((2 / 24) * 1.0em) calc((8 / 24) * 1.0em);
        border-radius: 2px;
        background-color: var(--main-color);
    }

    .under.service_child .head_area .cont_area .catch_text {
        width: calc((1240 / 1366) * 100%);
        margin: auto;
    }

    /*end*/

    /*message*/
    .under.service_child .message_sec {
        padding: 0 0 64px;
    }

    .under.service_child .message_sec .cont_area.flex {
        flex-direction: column-reverse;
        gap: 30px;
    }

    .under.service_child .message_sec .cont_area .text_area h2 {
        font-size: var(--sp_fs24);
        text-align: center;
        margin-bottom: calc((15 / 24) * 1.0em);
    }

    .under.service_child .message_sec .cont_area .img_area {
        width: 100%;
    }

    .under.service_child .message_sec .cont_area+.cont_area {
        flex-direction: column;
        padding-top: 32px;
        margin-top: 32px;
    }

    .under.service_child .message_sec .cont_area+.cont_area .text_area h3 {
        font-size: var(--sp_fs24);
        text-align: center;
    }

    .under.service_child .message_sec .cont_area+.cont_area .grid_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 5px;
        width: 100%;
    }

    .under.service_child .message_sec .cont_area+.cont_area .grid_cont .cont {
        font-size: var(--sp_fs15);
        gap: calc((17 / 15) * 1.0em);
        padding: calc((24 / 15) * 1.0em);
    }

    /*end*/

    /*service_child__cont*/
    .under.service_child .service_child__cont {
        width: 100%;
        margin-top: 0;
        padding: 64px 0;
        border-radius: 0;
    }

    .under.service_child .service_child__cont .cont_sec+.cont_sec {
        border-top: none;
        padding-top: 32px;
        margin-top: 32px;
    }

    /*コンテンツ内 見出し*/
    .under.service_child .service_child__cont .service_child__hd {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        gap: calc((10 /24) * 1.0em);
        width: calc((335 / 375) * 100%);
        font-size: var(--sp_fs24);
    }

    .under.service_child .service_child__cont .service_child__hd:has(~ .img_area) {
        margin-bottom: 24px;
    }

    .under.service_child .service_child__cont .service_child__hd h2 {
        flex-direction: column;
        gap: calc((4 / 24) * 1.0em);
        font-size: 1.0em;
    }

    .under.service_child .service_child__cont .service_child__hd h2 span {
        margin: auto;
        padding: calc((2 / 24) * 1.0em) calc((8 / 24) * 1.0em);
    }

    .under.service_child .service_child__cont .service_child__hd .en {
        position: static;
        font-size: calc((32 / 24) * 1.0em);
    }

    .under.service_child .service_child__cont .service_child__hd+.img_area {
        padding: 0;
    }

    .under.service_child .service_child__cont .service_child__hd:has(.text) h2 {
        order: 2;
    }

    .under.service_child .service_child__cont .service_child__hd:has(.text) .en {
        order: 3;
    }

    .under.service_child .service_child__cont .service_child__hd:has(.text) .text {
        order: 1;
    }

    /*end*/

    /*annotation*/
    .under.service_child .service_child__cont .cont_area p.annotation {
        font-size: var(--sp_fs12);
    }

    /*end*/
}


/*======================
*
renewal
*
=======================*/
/*tb*/
@media (max-width:1024px) {

    /*cont_area*/
    .under.service_child.renewal .cont_area .cont {
        padding: 48px 2%;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    .under.service_child.renewal .head_area .cont_area {
        background-image: url(img/under/renewal/head_renewal_sp.webp);
    }

    /*cont_area*/
    .under.service_child.renewal .cont_area .cont {
        flex-direction: column;
        gap: 24px;
        padding: 32px calc((20 / 375) * 100%) 0;
    }

    .under.service_child.renewal .cont_area .cont+.cont {
        margin-top: 30px;
    }

    .under.service_child.renewal .cont_area .cont .img_area {
        width: calc((106 / 335) * 100%);
    }

    .under.service_child.renewal .cont_area .cont .img_area .num {
        font-size: var(--sp_fs12);
        color: var(--main-color);
        margin-bottom: calc((7 / 12) * 1.0em);
    }

    .under.service_child.renewal .cont_area .cont .img_area .icn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc((39 / 106) * 100%);
    }

    .under.service_child.renewal .cont_area .cont .img_area .icn img {
        max-height: 40px;
    }

    .under.service_child.renewal .cont_area .cont .text_area h3 {
        font-size: var(--sp_fs24);
    }

    /*end*/
}

/*======================
*
directwater
*
=======================*/
/*tb*/
@media (max-width:1024px) {

    /*merit cont_area*/
    .under.service_child.directwater .cont_area.merit {
        width: 96%;
    }

    /*end*/

    /*attention cont_area*/
    .under.service_child.directwater .cont_area.attention {
        width: 96%;
    }

    /*end*/

    /*type cont_area*/
    .under.service_child.directwater .cont_area.type .grid_cont {
        width: 96%;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    .under.service_child.directwater .head_area .cont_area {
        background-image: url(img/under/directwater/head_directwater_sp.webp);
    }

    /*merit cont_area*/
    .under.service_child.directwater .cont_area.merit {
        width: calc((335 / 375) * 100%);
        margin: 30px auto 0;
    }

    .under.service_child.directwater .cont_area.merit .grid_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }

    .under.service_child.directwater .cont_area.merit:has(.grid_cont)+.cont_area.merit:has(.grid_cont) {}

    .under.service_child.directwater .cont_area.merit+.cont_area.merit {
        margin-top: 30px;
        padding-top: 30px;
        border-top: solid 1px var(--gray);
    }

    .under.service_child.directwater .cont_area.merit .cont+.cont {
        padding-top: 30px;
        margin-top: 30px;
        border-top: solid 1px var(--gray);
    }

    .under.service_child.directwater .cont_area.merit .grid_cont::after {
        content: none;
    }


    /*見出し*/
    .under.service_child.directwater .cont_area.merit .cont .cont_hd {
        font-size: var(--sp_fs24);
    }

    /*end*/

    /*attention cont_area*/
    .under.service_child.directwater .cont_area.attention {
        width: 100%;
        margin: 30px auto 0;
        padding: 30px calc((20 / 375) * 100%);
        border-radius: 0;
    }

    .under.service_child.directwater .cont_area.attention .hd_area {
        flex-direction: column;
        align-items: flex-start;
        gap: 9px;
        font-size: var(--sp_fs20);
        margin-bottom: 21px;
    }

    .under.service_child.directwater .cont_area.attention .grid_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 5px;
    }

    .under.service_child.directwater .cont_area.attention .grid_cont .cont {
        font-size: var(--sp_fs15);
        padding: calc((24 / 15) * 1.0em);
    }

    /*end*/

    /*type cont_area*/
    .under.service_child.directwater .cont_area.type .grid_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
        width: calc((335 / 375) * 100%);
        margin: 30px auto 0;
    }

    .under.service_child.directwater .cont_area.type .grid_cont::after {
        content: none;
    }

    .under.service_child.directwater .cont_area.type .grid_cont .cont+.cont {
        padding-top: 30px;
        margin-top: 30px;
        border-top: solid 1px var(--gray);
    }

    .under.service_child.directwater .cont_area.type .grid_cont .hd {
        font-size: var(--sp_fs24);
    }

    /*end*/
}

/*======================
*
maintenance
*
=======================*/
/*tb*/
@media (max-width:1024px) {

    /*flow cont_area*/
    .under.service_child.maintenance .cont_area.flow {
        width: 96%;
    }

    /*end*/

    /*lineup cont_area*/
    .under.service_child.maintenance .cont_area.lineup {
        width: 96%;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    .under.service_child.maintenance .head_area .cont_area {
        background-image: url(img/under/maintenance/head_maintenance_sp.webp);
    }

    /*cont_area*/
    /*flow cont_area*/
    .under.service_child.maintenance .cont_area.flow {
        width: calc((335 / 375) * 100%);
        margin: auto;
        font-size: var(--sp_fs20);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont {
        align-items: center;
        flex-direction: column;
        gap: 13px;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont+.flow_cont {
        position: relative;
        padding-top: 30px;
        margin-top: 30px;
        border-top: solid 1px var(--gray);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont+.flow_cont::before {
        content: "";
        position: absolute;
        z-index: 10;
        transform: translateX(-50%);
        bottom: calc(100% - 10px);
        left: 50%;
        width: 2px;
        height: 20px;
        background: radial-gradient(circle, var(--main-color) 1px, transparent 1px) repeat-y left top / 2px 5px;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont+.flow_cont::after {
        content: "";
        position: absolute;
        z-index: 1;
        transform: translateX(-50%);
        bottom: calc(100% - 2.5px);
        left: 50%;
        width: 17px;
        height: 5px;
        background-color: #FFF;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .icn_wrapper {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .flow_icn {
        width: calc((32 / 335) * 100%);
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background-image: var(--grade03);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .flow_icn .icn {
        width: calc((16 / 32) * 100%);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .flow_icn .icn img {
        max-height: 16px;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .flow_icn .line {
        display: none;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .text_area {
        gap: 0;
        padding: 0;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont+.flow_cont .text_area {
        border-top: none;
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .hd {
        margin-left: calc((12 / 20) * 1.0em);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .hd .num {
        font-size: calc((12 / 20) * 1.0em);
    }

    .under.service_child.maintenance .cont_area.flow .flow_cont .text_area p.text {
        width: 100%;
    }

    /*end*/

    /*lineup cont_area*/
    .under.service_child.maintenance .cont_area.lineup {
        width: calc((335 / 375) * 100%);
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .inner {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .inner::after {
        content: none;
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .cont {
        flex-wrap: wrap;
        align-items: center;
        gap: 0;
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .inner .cont+.cont {
        padding-top: 30px;
        margin-top: 30px;
        border-top: solid 1px var(--gray);
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .cont .img_area {
        width: calc((120 / 335) * 100%);
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .cont .text_area {
        font-size: var(--sp_fs24);
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .cont .text_area h3 {
        margin-left: calc((16 / 24) * 1.0em);
    }

    .under.service_child.maintenance .cont_area.lineup .grid_cont .cont>.text {
        width: 100%;
        margin-top: calc((13 / 15) * 1.0em);
    }

    /*ed*/
}

/*======================
*
security
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under.security .security_sec .cont_area .cont {
        font-size: 16px;
    }
}

/*sp*/
@media (max-width:767px) {
    .under.security .security_sec {
        width: 100%;
        margin-top: 60px;
        padding: 64px calc((20 / 375) * 100%);
        border-radius: 0;
    }

    .under.security .security_sec .cont_area {
        margin-top: 30px;
    }

    .under.security .security_sec .cont_area .cont {
        font-size: var(--sp_fs20);
        padding: 30px 0;
    }
}

/*======================
*
recruit
*
=======================*/
/*sp*/
@media (max-width:767px) {
    main.recruit .head_area {
        padding: calc((65 / 375) * 100%) 0 calc((279 / 375) * 100%);
        margin-top: var(--sp_header);
    }


    main.recruit .head_area .hd_area {
        width: calc((300 / 375) * 100%);
    }

    main.recruit .head_area .hd_area .deco {
        right: 0;
        bottom: calc((3 / 205) * -100%);
        width: calc((42 / 300) * 100%);
    }

    main.recruit .head_area .card_area {
        top: calc((345 / 591) * 100%);
        left: 50%;
        width: calc((873 / 375) * 100%);
        aspect-ratio: 873 / 212;
    }

    /*fixed bg*/
    main[class*="recruit"] .fixed_bg {
        background: url(img/recruit/recruit_bg__fixed_sp.webp) no-repeat left top / cover;
    }

    /*end*/

    /*recruit foot btn*/
    main[class*="recruit"] .recruit_foot__btn {
        flex-direction: column;
        gap: 8px;
        margin-top: 64px;
    }

    main[class*="recruit"] .recruit_foot__btn .requirement_btn {
        font-size: var(--sp_fs20);
        width: 100%;
        padding: calc((49 / 20) * 1.0em) 10px;
    }

    main[class*="recruit"] .recruit_foot__btn .entry_btn {
        flex-direction: column;
        align-items: center;
        font-size: var(--sp_fs24);
        padding: calc((53 / 24) * 1.0em) 10px;
    }

    main[class*="recruit"] .recruit_foot__btn .entry_btn .en {
        font-size: calc((58 / 24) * 1.0em);
    }

    main[class*="recruit"] .recruit_foot__btn .requirement_btn .arrow {
        right: calc((14 / 20) * 1.0em);
    }

    main[class*="recruit"] .recruit_foot__btn .entry_btn .arrow {
        position: static;
        transform: translate(0);
        margin: calc((29 / 24) * 1.0em) auto 0;
    }

    /*end*/
}

/*======================
recruit top message
=======================*/
/*sp*/
@media (max-width:767px) {
    main.recruit section.recruit_message_sec {
        width: calc((335 / 375) * 100%);
        padding-top: 9.5;
        margin: auto;
    }

    main.recruit section.recruit_message_sec img {
        width: 100%;
    }

    main.recruit section.recruit_message_sec .text_area {
        font-size: var(--sp_fs24);
    }
}

/*======================
recruit top link btn
=======================*/
/*tb*/
@media (max-width:1024px) {
    main.recruit .link_btn__area .btn {
        font-size: 12px;
    }
}

@media (max-width:899px) {
    main.recruit .link_btn__area .grid_cont {
        grid-template-columns: repeat(3, 1fr);
    }

}

/*sp*/
@media (max-width:767px) {
    main.recruit .link_btn__area {
        padding: 48px 0;
        margin: 0;
        border: 0;
    }

    main.recruit .link_btn__area .grid_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 5px 0;
    }

    main.recruit .link_btn__area .btn {
        font-size: var(--sp_fs15);
        padding: calc((12 / 15) * 1.0em) calc((12 / 15) * 1.0em) calc((12 / 15) * 1.0em) 2.0em;
    }
}

/*======================
recruit top recruit_cont_sec
=======================*/
/*tb*/
@media (max-width:1024px) {

    /*recruit_cont_sec 上部*/
    main.recruit .recruit_cont_sec .text__img {
        align-items: flex-start;
    }

    /*end*/

    /*step*/
    main.recruit .recruit_cont_sec .step_cont {
        margin-top: calc((45 / 15) * -1.0em);
    }

    /*feature*/
    main.recruit .recruit_cont_sec .feature_cont .cont {
        flex-direction: column;
        gap: 15px;
    }

    main.recruit .recruit_cont_sec .feature_cont .hd {
        font-size: 18px;
    }

    main.recruit .recruit_cont_sec .feature_cont p.text {
        width: 100%;
    }

    /*end*/
    /*interview*/
    main.recruit .recruit_cont_sec .interview_cont .interview_text .cont h4 {
        font-size: 15px;
    }

    /*end*/
}

@media (max-width:767px) {
    main.recruit .recruit_cont_sec {
        padding: calc((48 / 375) * 100%) 0 calc((21 / 375) * 100%);
    }

    main.recruit .recruit_cont_sec+.recruit_cont_sec {
        margin-top: 70px;
    }

    main.recruit .recruit_cont_sec::after {
        width: calc((359 / 375) * 100%);
        border-width: 2px;
    }

    /*deco*/
    main.recruit .recruit_cont_sec span.deco {
        left: 50%;
        transform: translateX(-50%);
        font-size: var(--sp_fs28);
        text-align: center;
    }

    /*end*/

    /*recruit_cont_sec 上部*/
    /*text img*/
    main.recruit .recruit_cont_sec .text__img {
        flex-direction: column-reverse;
        gap: 24px;
        padding: 0;
    }

    main.recruit .recruit_cont_sec .text__img .img_area {
        width: 100%;
        border-radius: 0;
    }

    main.recruit .recruit_cont_sec .text__img .text_area {
        font-size: var(--sp_fs24);
    }


    main.recruit .recruit_cont_sec h2 {
        font-size: var(--sp_fs20);
        padding-bottom: calc((7 / 20) * 1.0em);
        margin: 0 auto;
        border-bottom: solid calc((2 / 20) * 1.0em) var(--navy);
    }

    main.recruit .recruit_cont_sec .text__img .text_area {
        width: calc((355 / 375) * 100%);
        padding: 0 calc((20 / 355) * 100%);
        margin: auto;
    }

    main.recruit .recruit_cont_sec .text__img .text_area h2 {
        padding-top: 0;
    }

    main.recruit .recruit_cont_sec .text__img .text_area h3 {
        font-size: 1.0em;
        margin: calc((24 / 24) * 1.0em) 0 calc((13 / 24) * 1.0em);
    }

    /*end*/

    /*hd_area*/
    main.recruit .recruit_cont_sec .cont_area>.hd_area {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc((24 / 20) * 1.0em);
        width: calc((311 / 375) * 100%);
        font-size: var(--sp_fs20);
        padding: 0;
        margin: 0 auto;
    }

    /*end*/

    /*point*/
    main.recruit .recruit_cont_sec .point_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
        width: calc((355 / 375) * 100%);
        padding: 30px calc((20 / 355) * 100%) 0;
        margin: 30px auto 0;
        border-top: solid 1px #FFF;
    }

    main.recruit .recruit_cont_sec .point_cont .hd {
        font-size: var(--sp_fs20);
    }

    /*end*/

    /*step*/
    main.recruit .recruit_cont_sec .step_cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 8px;
        font-size: var(--sp_fs15);
        width: calc((311 / 375) * 100%);
        padding: 0;
        margin: 30px auto 0;
    }

    main.recruit .recruit_cont_sec .step_cont .cont {
        padding: calc((20 / 15) * 1.0em) calc((25 / 15) * 1.0em) calc((32 / 15) * 1.0em);
    }

    /*見出し*/
    main.recruit .recruit_cont_sec .step_cont .cont .hd__icn {
        display: flex;
        align-items: flex-end;
        margin-bottom: calc((13 / 15) * 1.0em);
    }

    main.recruit .recruit_cont_sec .step_cont .cont .hd__icn .hd {
        display: flex;
        flex-direction: column;
        gap: calc((8 / 15) * 1.0em);
    }

    main.recruit .recruit_cont_sec .step_cont .cont .hd__icn .hd .num {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: calc((5 / 24) * 1.0em);
        font-size: calc((24 / 15) * 1.0em);
    }

    main.recruit .recruit_cont_sec .step_cont .cont .hd__icn .icn {
        width: calc((48 / 261) * 100%);
    }

    /*arrow*/
    main.recruit .recruit_cont_sec .step_cont .cont .arrow {
        display: none;
    }

    /*end*/


    /*feature*/
    main.recruit .recruit_cont_sec .feature_cont {
        width: calc((355 / 375) * 100%);
        padding: 30px calc((20 / 355) * 100%) 0;
        margin: 30px auto 0;
        border-top: solid 1px #FFF;
    }

    main.recruit .recruit_cont_sec .feature_cont .cont {
        gap: 0;
    }

    main.recruit .recruit_cont_sec .feature_cont .cont+.cont {
        margin-top: 30px;
        padding-top: 30px;
    }

    main.recruit .recruit_cont_sec .feature_cont .hd {
        flex: initial;
        gap: calc((16 / 20) * 1.0em);
        width: 100%;
        font-size: var(--sp_fs20);
        margin-bottom: calc((14 / 20) * 1.0em);
    }

    main.recruit .recruit_cont_sec .feature_cont .hd .icn {
        width: calc((64 / 20) * 1.0em);
    }

    /*end*/

    /*interview*/
    main.recruit .recruit_cont_sec .interview_cont {
        width: calc((355 / 375) * 100%);
        padding: 30px calc((20 / 355) * 100%) 0;
        margin: 30px auto 0;
    }

    main.recruit .recruit_cont_sec .interview_head {
        flex-direction: column;
        font-size: var(--sp_fs24);
        gap: 0;
    }

    main.recruit .recruit_cont_sec .interview_head .num {
        flex-direction: row;
        flex: initial;
        gap: calc((5 / 24) * 1.0em);
        font-size: 1.0em;
        margin-top: 0;
        padding: calc((9 / 24) * 1.0em);
    }

    main.recruit .recruit_cont_sec .interview_head .interview_text__img {
        flex-direction: column-reverse;
        gap: 0;
    }

    main.recruit .recruit_cont_sec .interview_head .interview_text__img .cont_text {
        flex: initial;
        width: 100%;
    }

    main.recruit .recruit_cont_sec .interview_head .interview_text__img .cont_text h3 {
        padding-bottom: calc((8 / 24) * 1.0em);
        background: radial-gradient(circle, var(--navy) 1px, transparent 1px) repeat-x left bottom / 8px 2px;
    }

    main.recruit .recruit_cont_sec .interview_head .interview_text__img .cont_text .profile .name {
        font-size: calc((15 / 24) * 1.0em);
        margin-top: calc((16 / 15) * 1.0em);
        margin-bottom: calc((5 / 15) * 1.0em);
    }

    main.recruit .recruit_cont_sec .interview_head .interview_text__img .cont_text .profile .name+p {
        font-size: calc((12 / 24) * 1.0em);
    }

    main.recruit .recruit_cont_sec .interview_head .img_area {
        width: 100%;
        margin: 8px 0 10px;
    }

    main.recruit .recruit_cont_sec .interview_cont .interview_text {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
        margin-top: 30px;
        padding-top: 30px;
    }

    main.recruit .recruit_cont_sec .interview_cont .interview_text .cont+.cont {
        margin-top: 30px;
    }

    main.recruit .recruit_cont_sec .interview_cont .interview_text .cont h4 {
        font-size: var(--sp_fs20);
    }


    /*end*/
}

/*======================
*
recruit under
*
=======================*/
/*sp*/
@media (max-width:767px) {
    main[class^="recruit_"].under .hd_area h1 {
        font-size: var(--sp_fs24);
        padding-bottom: 48px;
    }

    main[class^="recruit_"].under .hd_area h1 .en {
        font-size: calc((40 / 24) * 1.0em);
    }

    /*recruit_under__cont*/
    main[class^="recruit_"].under .recruit_under__cont {
        width: calc((359 / 375) * 100%);
        margin: auto;
        padding: 24px calc((24 / 375) * 100%);
    }
}

/*======================
*
requirement
*
=======================*/
/*======================
recruit_under__cont
=======================*/
/*tb*/
@media (max-width:1024px) {
    main.recruit_requirement .recruit_under__cont .requirement_cont_area .hd {
        font-size: 13px;
    }

    main.recruit_requirement .recruit_under__cont .requirement_cont_area .cont {
        font-size: 15px;
    }
}

/*sp*/
@media (max-width:767px) {
    main.recruit_requirement .recruit_under__cont .requirement_cont_area {
        grid-template-columns: repeat(1, 1fr);
        gap: 2px;
    }

    main.recruit_requirement .recruit_under__cont .requirement_cont_area .hd {
        font-size: var(--sp_fs15);
        padding: calc((3 / 15) * 1.0em) calc((12/ 15) * 1.0em);
    }

    main.recruit_requirement .recruit_under__cont .requirement_cont_area .cont {
        font-size: var(--sp_fs15);
        padding: calc((3 / 15) * 1.0em) calc((12/ 15) * 1.0em);
    }
}


/*======================
*
footer
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    footer {
        padding: 65px 2%;
    }

    /*footer 上部*/
    footer .foot_top {
        padding: 0 calc((35 / 1024) * 100%);
        padding-bottom: 35px;
    }

    footer .foot_top .logo__info .logo {
        max-width: 125px;
    }

    footer .foot_top .logo__info .info p {
        font-size: 10px;
    }

    footer .foot_top .logo__info .info a {
        font-size: 15px;
    }

    footer .foot_top nav ul.menu {
        font-size: 13px;
    }

    footer .foot_top nav ul.menu>li {
        padding-right: calc((30 / 13) * 1.0em);
    }

    footer .foot_top nav ul.menu>li+li {
        padding-left: calc((30 / 13) * 1.0em);
    }

    footer .foot_top nav ul.menu li ul.sub_menu li {
        margin-top: 0;
    }

    /*end*/

    /*footer 下部*/
    footer .foot_bottom {
        padding: 0 calc((35 / 1024) * 100%);
        padding-top: 35px;
    }

    footer .foot_bottom a {
        font-size: 10px;
    }

    footer .foot_bottom .copyright__btn {
        font-size: 10px;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    footer {
        padding: 64px 0;
    }

    main:not(:is(.top, .service))+footer {
        margin-top: 64px;
    }

    main.service_child+footer {
        margin-top: 0;
    }

    /*footer 上部*/
    footer .foot_top {
        display: block;
        padding: 0 calc((20 / 375) * 100%);
        padding-bottom: 33px;
        border-bottom: solid 1px var(--gray);
    }

    footer .foot_top .logo__info {
        gap: 32px;
        align-items: center;
    }

    footer .foot_top .logo__info .logo {
        width: calc((196 / 335) * 100%);
        max-width: 196px;
    }

    footer .foot_top .logo__info .info p {
        font-size: var(--sp_fs12);
        text-align: center;
        margin-bottom: calc((13 / 12) * 1.0em);
    }

    footer .foot_top .logo__info .info a {
        justify-content: center;
        font-size: var(--sp_fs24);
    }

    footer .foot_top nav ul.menu {
        display: block;
        font-size: var(--sp_fs15);
        margin-top: 40px;
    }

    footer .foot_top nav ul.menu>li {
        padding-right: 0;
    }

    footer .foot_top nav ul.menu>li+li {
        padding-left: 0;
        padding-top: 20px;
        margin-top: 20px;
        border-left: none;
        border-top: solid 1px var(--gray);
    }

    footer .foot_top nav ul.menu li ul.sub_menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 19px;
        margin-top: 0;
    }

    /*end*/


    /*footer 下部*/
    footer .foot_bottom {
        flex-direction: column;
        justify-content: center;
        gap: 16px;
        padding: 0;
        padding-top: 32px;
    }

    footer .foot_bottom a {
        font-size: var(--sp_fs12);
    }

    footer .foot_bottom .copyright__btn {
        flex-direction: column;
        align-items: center;
        font-size: var(--sp_fs12);
        gap: calc((28 / 12) * 1.0em);
    }

    footer .foot_bottom .copyright__btn #top-btn {
        gap: calc((7 / 12) * 1.0em);
    }

    /*end*/
}

/*===============
*
breadcrumbs
*
===============*/
/*tb*/
@media (max-width:767px) {
    .under :is(.head_area01, .head_area02, .head_recruit) .breadcrumbs {
        top: 16px;
    }

    .under :is(.head_area01, .head_area02, .head_recruit) .breadcrumbs ul {
        font-size: var(--sp_fs12);
    }

}