@charset "utf-8";

/*-------------------------------------
    共通パーツ
--------------------------------------*/
.js-fade {
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.js-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}

main{
    padding-top: var(--height-header);
}
.sec_inner{
    position: relative;
    z-index: 2000;
}
.-white{    color: #fff;}
.-rightblue{    color: var(--color-rightblue);}
.-rightorange{    color: var(--color-rightorange);}
.sec_ttl{
    margin-bottom: 6.5rem;
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(8 / 4.8);        
}
.sec_ttl span.ttl-Eng{
    margin-bottom: 0.5rem;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: var(--color-blue);
    display: block;
}
.sub-sec_ttl{
    margin-bottom: 3.5rem;
    font-size: 3.6rem;
        font-weight: 700;
        letter-spacing: .05em;
}
.sub-sec_ttl span.ttl-Eng{
    margin-left: 1.2em;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: var(--color-rightblue);
    display: inline-block;
}
.intro_txt{
    margin-bottom: 7.4rem;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(5 / 2);
}
.p_txt{
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(4.25 / 1.7);
}
.contact__container{
    flex-wrap: wrap;
    gap: 5rem;
}
.contact__button{
    width: 44.7rem;
    height: 8.6rem;
    border-radius: 9999px;
}
.contact__button.-mynavi{
    background: #fff;
    border: 2px solid #009ae6;
    display: flex;
        align-items: center;
        justify-content: center;
}
.contact__button.-mynavi img{
    width: 26.9rem;
    max-height: 100%;
    display: block;
}
.contact__button.-mail{
    padding-inline: 4.2rem 8.4rem;
    font-size: 1.8rem;
        font-family: var(--font-family-AlSans);
        font-weight: 700;
        letter-spacing: .05em;
        line-height: calc(2.7 / 1.8);
        color: #fff;
    background: var(--color-orange02);
    position: relative;
    display: flex;
        align-items: center;
        justify-content: flex-start;
}
.contact__button.-mail::after{
    width: 2.4rem;
    height: 1rem;
    background: url(../images/icon_arrow.svg) no-repeat;
    background-size: contain;
    position: absolute;
    right: 4.2rem;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){

}

/*-------------------------------------
    線の描画アニメーション
--------------------------------------*/
.prev-line__container{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    z-index: 1000;
}
.prev-line {
    width: 100%;
    height: auto;
    object-fit: cover;
        object-position: left;
        font-family: 'object-fit: cover; object-position: left;';
    display: block;
    animation-fill-mode: forwards;
    animation-play-state: paused; /* 最初は止めておく */
    z-index: 1000;
}
.prev-line_Left{
    clip-path: inset(0 100% 0 0);
    animation-name: revealRightToLeft;
    animation-duration: 3s;
}
    .prev-line_Left.-high{
        animation-duration: 4s;
    }
    .prev-line_Left.-mini{
        animation-duration: 1.5s;
    }
.prev-line_Right{
    clip-path: inset(0 0 0 100%);
    animation-name: revealLeftToRight;
    animation-duration: 3s;
}
    .prev-line_Right.-high{
        animation-duration: 4s;
    }
    .prev-line_Right.-mini{
        animation-duration: 1.5s;
    }
    @keyframes revealRightToLeft {
    to {    clip-path: inset(0 0 0 0);  }
    }

    @keyframes revealLeftToRight {
    to {    clip-path: inset(0 0 0 0);  }
    }

/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_ttl{
        margin-bottom: 5rem;
        font-size: 4.8rem;
    }
    .sec_ttl span.ttl-Eng{
        margin-bottom: 0;
        font-size: 2.2rem;
    }
    .sub-sec_ttl{
        margin-bottom: 4rem;
        font-size: 3.8rem;
    }
    .sub-sec_ttl span.ttl-Eng{
        font-size: 2rem;
    }
    .intro_txt{
        margin-bottom: 6.5rem;
        font-size: 2.8em;
    }
    .p_txt{
        font-size: 2.6rem;
    }
    .contact__container{
        flex-direction: column;
        gap: 3rem;
    }
    .contact__button{
        width: 80%;
        height: 9.5rem;
    }
    .contact__button.-mynavi{
    }
    .contact__button.-mynavi img{
        width: 32rem;
    }
    .contact__button.-mail{
        padding-inline: 6rem 9.5rem;
        font-size: 2.4rem;
    }
    .contact__button.-mail::after{
        width: 3rem;
        height: 1.5rem;
    }
}

    /*-------------------------------------
        線の描画アニメーション
    --------------------------------------*/
    .prev-line__container{
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        overflow: hidden;
        z-index: 1000;
    }
    .prev-line {
        width: 100%;
        height: auto;
        object-fit: cover;
            object-position: left;
            font-family: 'object-fit: cover; object-position: left;';
        display: block;
        animation-fill-mode: forwards;
        animation-play-state: paused; /* 最初は止めておく */
        z-index: 1000;
    }
    .prev-line_Left{
        clip-path: inset(0 100% 0 0);
        animation-name: revealRightToLeft;
        animation-duration: 3s;
    }
        .prev-line_Left.-high{
            animation-duration: 4s;
        }
        .prev-line_Left.-mini{
            animation-duration: 1.5s;
        }
    .prev-line_Right{
        clip-path: inset(0 0 0 100%);
        animation-name: revealLeftToRight;
        animation-duration: 3s;
    }
        .prev-line_Right.-high{
            animation-duration: 4s;
        }
        .prev-line_Right.-mini{
            animation-duration: 1.5s;
        }
        @keyframes revealRightToLeft {
        to {    clip-path: inset(0 0 0 0);  }
        }

        @keyframes revealLeftToRight {
        to {    clip-path: inset(0 0 0 0);  }
        }


    /*-------------tab-----------------------*/
    @media screen and (max-width:960px) and (min-width:768px){
        
    }
    /*-------------SP-----------------------*/
    @media screen and (max-width:767px){

    }
/*-------------------------------------
    firstview
--------------------------------------*/
.fv{
    position: relative;
    overflow: hidden;
}
    .prev-line__container .prev-line{
        position: absolute;
        left: 0;
    }
/*-----------    firstview --------*/
    /*----------曲線----*/
    .prev-line.fv-line-o{
        min-height: 50.8rem;
        animation-delay: 0s;
        top: 2.2rem;
    }
    .prev-line.fv-line-g{
        min-height: 35.5rem;
        animation-delay: 0.1s;
        top: 17.5rem;
    }
    .prev-line.fv-line-b{
        min-height: 32.5rem;
        animation-delay: 0.2s;
        top: 22rem;
    }
    /*----------曲線----*/

.fv_inner{
    margin-bottom: 15rem;
    display: flex;
    align-items: center;
}
.fv-text_container{
    width: 60.2rem;
}
.fv-text01{
    margin-bottom: 1rem;
    font-size: 7.2rem;
    letter-spacing: .05em;
    font-weight: 700;
}
.fv-text01 .tume01{
    margin-left: -0.55em;
}
.fv-text01 .tume02{
    letter-spacing: -.2em;
    font-weight: 700;
}
.fv-text02{
    font-size: 2.8rem;
    letter-spacing: .1em;
    font-weight: 700;
    line-height: calc(6.3 / 2.8);
}
.fv-img_container{
    width: calc(100% - 60.2rem);
    /*height: 83rem;*/
    border-radius: 4.8rem;
    overflow: hidden;
}
.fv-img_container img{
    width: 100%;
    min-height: 50rem;
}

/*-------------note-----------------------*/
@media screen and (max-width:1250px) and (min-width:961px){
    .fv_inner {
        margin-bottom: 10rem;
    }
    .fv-text_container{
        width: 48vw;
    }
    .fv-text01{
        margin-bottom: 1rem;
        font-size: clamp(4rem,4.8vw,4.8vw);
        line-height: 1.6;
    }
    .fv-text02{
        font-size: clamp(2rem,2.4vw,2.4vw);
    }
    .fv-img_container {
        width: 62vw;
    }
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    /*-----------    firstview --------*/
        /*----------曲線----*/
        .prev-line.fv-line-o{
            top: 57.2rem;
        }
        .prev-line.fv-line-g{
            top: 72.5rem;
        }
        .prev-line.fv-line-b{
            top: 77rem;
        }
        /*----------曲線----*/
    .fv_inner{
        margin-bottom: 10rem;
        flex-direction: column-reverse;
    }
    .fv-text_container{
        width: 100%;
    }
    .fv-text01{
        margin-bottom: 1rem;
        font-size: 6rem;
        line-height: 1.6;
    }
    .fv-text02{
        font-size: 3.1rem;
        line-height: calc(5.8 / 2.8);
    }
    .fv-img_container{
        width: 100%;
        margin-bottom: 3rem;
    }
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    /*-----------    firstview --------*/
        /*----------曲線----*/
        .prev-line.fv-line-o{
            min-height: 50.8rem;
            animation-delay: 0s;
            top: 37.2rem;
        }
        .prev-line.fv-line-g{
            min-height: 35.5rem;
            animation-delay: 0.1s;
            top: 52.5rem;
        }
        .prev-line.fv-line-b{
            min-height: 32.5rem;
            animation-delay: 0.2s;
            top: 57rem;
        }
        /*----------曲線----*/

    .fv_inner{
        margin-bottom: 10rem;
        flex-direction: column-reverse;
    }
    .fv-text_container{
        width: 100%;
    }
    .fv-text01{
        margin-bottom: 1rem;
        font-size: 6rem;
        line-height: 1.6;
    }
    .fv-text02{
        font-size: 3.1rem;
        line-height: calc(5.8 / 2.8);
    }
    .fv-img_container{
        width: 100%;
        margin-bottom: 5rem;
    }
}



/*-------------------------------------
    sec_intro
--------------------------------------*/
.sec_intro{
    padding-block: 13.5rem 15rem;
    position: relative;
    z-index: 1;
}
.sec_intro::before{
    width: 100%;
    height: 100%;
    background: url(../images/bg/blue_bg.png);
    background-repeat: repeat;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    opacity: 0.8;
    z-index: 0;
}
.sec_intro::after{
    width: 100%;
    height: 100%;
    aspect-ratio: 640 / 519;
    background: url(../images/about_af.png);
    background-image: image-set(url(../images/about_af.png) 1x, url(../images/about_af@2x.png) 2x);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    z-index: -1;
    opacity: 0.4;
}
    /*----------曲線----*/
    .prev-line.intro-line-o{
        min-height: 95.9rem;
        animation-delay: 0s;
        top: 4.5rem;
        z-index: 1005;
    }
    .prev-line.intro-line-g{
        min-height: 69.25rem;
        animation-delay: 0.1s;
        top: 18rem;
    }
    /*----------曲線----*/
.sec_intro .intro_txt{
    width: 100%;
    max-width: 103rem;
    /*margin-bottom: 13.5rem;*/
    margin-bottom: 0;
    margin-left: 0;
    margin-right: auto;
}
.intro_movie{
    width: 100%;
    border-radius: 1.8rem;
    overflow: hidden;
    display: block;
}
.intro_movie iframe,
.intro_movie video{
    width: 100%;
    height: auto;
    aspect-ratio: 57 / 32;
    margin-top: 13.5rem;
    display: block;
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_intro{
        padding-block: 10.5rem 12rem;
    }
        /*----------曲線----*/
        .prev-line.intro-line-o{
            min-height: 75.9rem;
            top: 4.5rem;
        }
        .prev-line.intro-line-g{
            min-height: 49.25rem;
            top: 18rem;
        }
        /*----------曲線----*/
    .sec_intro .intro_txt{
        /*margin-bottom: 6.5rem;*/
        margin-bottom: 0;
    }
    .intro_movie iframe,
    .intro_movie video{
        margin-top: 6.5rem;
    }
}



/*-------------------------------------
    sec_job
--------------------------------------*/
.sec_job{
    padding-block: 13.5rem 14.5rem;
    position: relative;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line.job-line-o{
        min-height: 100.2rem;
        animation-delay: 0s;
        right: 0;
        left: unset;
        bottom: 0;
        transform: translateY(70%); /*--.prev-line.interview-line-gと対--*/
        z-index: 1000;
        object-position: right top;
        font-family: 'object-fit: cover; object-position: right top;';
    }
    /*----------曲線----*/
/*----------背景柄----*/
.sec_job{
    overflow: hidden;
}
.sec_job__inner .sec_ttl{
    position: relative;
}
.sec_job__inner .sec_ttl::before{
    width: 39.2rem;
    height: 47.6rem;
    background: url(../images/bg/job_in-bg01.png) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: -40rem;
    top: -8rem;
    display: block;
    content: "";
    z-index: -1;
}
.job__item{
    position: relative;
}
.job__item::before{
    position: absolute;
    display: block;
    content: "";
}
.job__item:nth-of-type(1)::before{
    width: 38.7rem;
    height: 38.9rem;
    background: url(../images/bg/job_in-bg02.png) no-repeat;
    background-size: contain;
    background-position: center;
    right: -34rem;
    top: -8rem;
    z-index: -1;
}
.job__item:nth-of-type(2)::before{
    width: 22.8rem;
    height: 22.9rem;
    background: url(../images/bg/job_in-bg03.png) no-repeat;
    background-size: contain;
    background-position: center;
    left: -16.8rem;
    top: 1rem;
    z-index: -1;
}
.job__item:nth-of-type(3)::before{
    width: 36.2rem;
    height: 42.8rem;
    background: url(../images/bg/job_in-bg04.png) no-repeat;
    background-size: contain;
    background-position: center;
    right: -38.7rem;
    top: -19.8rem;
    z-index: -1;
}
.job__item:nth-of-type(4)::before{
    width: 28.6rem;
    height: 32rem;
    background: url(../images/bg/job_in-bg05.png) no-repeat;
    background-size: contain;
    background-position: center;
    left: -42rem;
    top: 2rem;
    z-index: -1;
}
/*----------背景柄----*/

.job__item{
    align-items: stretch;
}
.job__item:not(:last-of-type){
    margin-bottom: 7.2rem;
}
.job__item.-reverse{
    flex-direction: row-reverse;
}
.job__item .job-text__block,
.job__item .job-img__block{
    width: calc((100% - 6.5rem) / 2 );
}
.job__item .job-text__block .job-mds01{
    margin-bottom: 1.5rem;
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
}
.job__item .job-text__block .job-mds02{
    margin-bottom: 4.5rem;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: var(--color-blue);
}
.job__item .job-img__block{
    border-radius: 1.8rem;
    display: block;
    overflow: hidden;
}
.job__item .job-img__block .job-img{
    height: 100%;
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_job{
        padding-block: 10.5rem 11.5rem;
        position: relative;
        z-index: 1;
    }
        /*----------曲線----*/
        .prev-line.job-line-o{
            min-height: 80.2rem;
        }
        /*----------曲線----*/
    /*----------背景柄----*/
    .sec_job{
        overflow: hidden;
    }
    .sec_job__inner .sec_ttl{
        position: relative;
    }
    .sec_job__inner .sec_ttl::before{
        width: 39.2rem;
        height: 47.6rem;
        left: -18rem;
        top: -18rem;
    }
    .job__item:nth-of-type(1)::before{
        width: 38.7rem;
        height: 38.9rem;
        right: -10rem;
        top: 48rem;
    }
    .job__item:nth-of-type(2)::before{
        width: 22.8rem;
        height: 22.9rem;
        left: -10rem;
        top: 65rem;
    }
    .job__item:nth-of-type(3)::before{
        width: 36.2rem;
        height: 42.8rem;
        right: -5rem;
        top: 55rem;
    }
    .job__item:nth-of-type(4)::before{
        width: 28.6rem;
        height: 32rem;
        left: -1rem;
        top: 62rem;
    }
    /*----------背景柄----*/

    .job__item{
        flex-direction: column-reverse;
    }
    .job__item:not(:last-of-type){
        margin-bottom: 8rem;
    }
    .job__item.-reverse{
        flex-direction: column-reverse;
    }
    .job__item .job-text__block,
    .job__item .job-img__block{
        width: 100%;
    }
    .job__item .job-text__block .job-mds01{
        margin-bottom: 1.5rem;
        font-size: 4rem;
    }
    .job__item .job-text__block .job-mds02{
        margin-bottom: 2rem;
        font-size: 2.6rem;
    }
    .job__item .job-img__block{
        margin-bottom: 3.5rem;
    }
}

/*-------------------------------------
    sec_interview
--------------------------------------*/
.sec_interview{
    padding-block: 13.5rem 14.5rem;
    background: url(../images/bg/orange02.png);
    background-repeat: repeat;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line.interview-line-g{
        min-height: 100.2rem;
        animation-delay: 0s;
        left: unset;
        right: 0;
        top: 0;
        transform: translateY(-30%); /*--.prev-line.job-line-oと対--*/
        z-index: 1000;
        object-position: right top;
        font-family: 'object-fit: cover; object-position: right top;';
    }
    /*----------曲線----*/
.sec_interview .sec_ttl span.ttl-Eng{
    color: var(--color-orange02);
}
/* swiper全体のスタイル */

.interview__Swiper {
    width: 100vw; /* 画面いっぱい */
    padding-bottom: 12rem;
    margin-bottom: 7.5rem;
    box-sizing: border-box;
    overflow: visible;
    position: relative;
}
.swiper-slide-duplicate {
    width: auto !important;
    flex-shrink: 0;
}
.swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}
.interview__Swiper .swiper-wrapper{
}
.interview__Swiper .swiper-button-prev,
.interview__Swiper .swiper-button-next {
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 4.5rem 0 rgba(34, 34, 34, 0.22);
    position: absolute;
    top: unset;
    bottom: 0;
    cursor: pointer;
    transition: var(--transition);
}
.interview__Swiper .swiper-button-prev:hover,
.interview__Swiper .swiper-button-next:hover{
    background: #fac493;
}
.swiper-button-prev {
    transform: rotate(-180deg);
    left: 0;
}
.swiper-button-next {
    left: 12rem;
}
.interview__Swiper .swiper-button-next::before,
.interview__Swiper .swiper-button-next:after,
.interview__Swiper .swiper-button-prev::before,
.interview__Swiper .swiper-button-prev:after{
    width: 1.4rem;
    height: 0.2rem;
    background-color: #222222;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 9999px;
    transform-origin: calc(100% - 0.1rem) 50%;
}
.interview__Swiper .swiper-button-next::before,
.interview__Swiper .swiper-button-prev::before {
  transform:  translate(-50%,-50%) rotate(45deg);
}
.interview__Swiper .swiper-button-next:after,
.interview__Swiper .swiper-button-prev:after{
  transform: translate(-50%,-50%) rotate(-45deg);
}

.interview__slide {
    width: 42.4rem !important;
    flex-shrink: 0;  /* ← Swiper用！ */
    /*margin-right: 4.5rem !important;*/
    height: auto;
    padding: 2.5rem 2.5rem 4.5rem 2.5rem;
    border-radius: 2.4rem;
    background: #fff;
    box-shadow: 0 0 4.5rem 0 rgba(34, 34, 34, 0.22);
    display: block;
}
.interview__slide:hover{
    opacity: 1;
    transform: translateY(-0.5rem);
}
.interview__slide .interview-img__block{
    margin-bottom: 3.6rem;
    border-radius: 1.8rem;
    overflow: hidden;
}
.interview__slide .interview-img__block img{
    height: 100%;
}
.interview__slide .interview-text__block {

}
.interview__slide .interview-text__block .interview-text__flex {
    margin-bottom: 3rem;
}
.interview__slide .interview-text__block .job-mds{
    padding: 0.3em 1em 0.4em 1em ;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    line-height: 1;
    background: var(--color-orange02);
}
.interview__slide .interview-text__block .job-year{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
}
.interview__slide .interview-text__block .job-txt{
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(3.96 / 2.2);
}

/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_interview{
        padding-block: 10.5rem 12rem;
    }
        /*----------曲線----*/
        .prev-line.interview-line-g{
            min-height: 80.2rem;
        }
        /*----------曲線----*/

    /* swiper全体のスタイル */

    .interview__Swiper {
        width: 100%;
    }
    .swiper-slide {
    }
    .interview__Swiper .swiper-wrapper{
    }
    .interview__Swiper .swiper-button-prev,
    .interview__Swiper .swiper-button-next {
    }
    .swiper-button-next {
        left: 12rem;
    }

    .interview__slide {
        width: 53rem !important;
        margin-right: 5.5rem !important;
        height: auto;
        padding: 3rem;
    }
    .interview__slide .interview-img__block{
        margin-bottom: 3rem;
    }
    .interview__slide .interview-img__block img{
        height: 100%;
    }
    .interview__slide .interview-text__block {
    
    }
    .interview__slide .interview-text__block .interview-text__flex {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 2rem;
    }
    .interview__slide .interview-text__block .job-mds{

        font-size: 2.3rem;
    }
    .interview__slide .interview-text__block .job-year{
        font-size: 2.5rem;
    }
    .interview__slide .interview-text__block .job-txt{
        font-size: 2.75rem;
    }
}

/*-------------------------------------
    interview　ポップアップ中身
--------------------------------------*/
.lity-wrap{
    z-index: 9999;
}
.lity-container{
    width: 95%;
    max-width: var(--base-width);
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
.lity-content{
    max-width: 114rem !important;
    max-height: 92vh; /* lity-contentと合わせる */
    padding-block: 5rem;
    border-bottom-left-radius: 4.8rem;
    border-bottom-right-radius: 4.8rem;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

.lity-close{ /*--デフォルトボタン非表示*/
    display: none !important;
}
.pop-top{
    width: 4rem;
    position: fixed;
    right: 0;
    top: 0;
}
.pop-top-Lity_close{
    padding-top: 2rem;
    font-size: 1.3rem;
    font-family: var(--font-family-AlSans);
    font-weight: 400;
    color: #fff;
    text-align: center;
    position: relative;
    display: block;
}
.pop-top-Lity_close::before,
.pop-top-Lity_close::after{
    width: 100%;
    height: 0.2rem;
    position: absolute;
    right: 0;
    display: inline-block;
    transition: var(--transition);
    background: #fff;
    display: block;
    content: "";
}
.pop-top-Lity_close::before{
    top: 1.2rem;
    right: 0;
    transform: translateY(-50%) rotate(-25deg);
}
.pop-top-Lity_close::after{
    width: 100%;
    top: 1.2rem;
    right: 0;
    transform: translateY(-50%) rotate(25deg);
}

.pop-bottom-Lity_close{ /*--下　閉じる*/
    width: 19rem;
    height: 4.9rem;
    line-height: 4.9rem;
    margin-inline: auto;
    border-radius: 9999px;
    background: var(--font-color-base);
    font-size: 1.8rem;
    font-weight: 500;
    font-family: var(--font-family-AlSans);
    letter-spacing: .05em;
    text-align: center;
    color: #fff;
    display: block;
}
/*----slick---*/
.slide-arrow {
    width: 2.5rem;
    height: 2.5rem;
    border: unset;
    background: url(../images/icon_arrow02.svg) no-repeat;
    background-size: contain;
    background-position: center;
    bottom: 0;
    margin: auto;
    position: fixed;
    top: 0;
    opacity: 0.7;
    z-index: 9999;
}
.prev-arrow {
    left: 0.8rem;
}
.next-arrow {
    right: 0.8rem;
    transform: rotate(-180deg);
}
button.slick-arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
}
/*-------Lity中*/

#popup{
    width: 100%;
    max-height: 92vh; /* lity-contentと合わせる */
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
}
.popup-slider{
    padding-bottom: 19.8rem;
    border-radius: 4.8rem;
    overflow: hidden;
    position: relative;
    background: #fff;
}
.popup-slide + .popup-slide{
    /*margin-left: 5rem;*/
}
.popup__item{
    position: relative;
    padding-inline: 4.8rem;
}
.popup__item::before{
    width: 4.8rem;
    height: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
}
.pop-intro__block{
    margin-bottom: 10rem;
    position: relative;
}
.pop-in__text {
    padding-top: 9.8rem;
    position: relative;
    z-index: 1;
}
.pop-in__text .pop-in__catch{
    padding: 2.5rem 3.8rem;
    margin-bottom: 3.5rem;
    border-top-left-radius: 2.8rem;
    border-bottom-right-radius: 2.8rem;
    background: #fff;
    border: 1px solid #000;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: .05em;
    display: inline-block;
}
.pop-in__ny_block{
    margin-bottom: 1.5rem;
    align-items: flex-end;
}
.pop-in__text .pop-in__name,
.pop-in__text .pop-in__busyo{
    padding-left: 2.5rem;
}
.pop-in__text .pop-in__name{
    margin-right: 2.2rem;
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    display: inline-block;
}
.pop-in__text .pop-in__name span{
    margin-right: 0.5rem;
    font-size: 4.2rem;
    font-weight: 700;
}
.pop-in__text .pop-in__year{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    display: inline-block;
}
.pop-in__text .pop-in__busyo{
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    display: inline-block;
}
.pop_intro__img{
    width: 63.0%;
    height: 100%;
    min-height: 40rem;
    aspect-ratio: 329 / 220;
    margin-right: -4.8rem;
    margin-left: auto;
    border-bottom-left-radius: 4.8rem;
    position: absolute;
    right: -4.8rem;
    top: 0;
    z-index: 0;
    overflow: hidden;
}
.pop_intro__img img{
    height: 100%;
}
.pop-cont__block + .pop-cont__block{
    margin-top: 7.8rem;
}
.pop-cont__block {
    gap: 4.6rem;
    align-items: stretch;
}
.pop-cont__block.-reverse{
    flex-direction: row-reverse;
}
.pop-cont__block .pop-cont__img,
.pop-cont__block .pop-cont__text{
    width: calc((100% - 4.6rem) / 2);
}
.pop-cont__block .pop-cont__img{
    border-radius: 2.4rem;
    overflow: hidden;
}
.pop-cont__block .pop-cont__text{
    padding-top: 2.2rem;
}
.pop-cont__block .pop-cont__text .pop-cont__mds{
    margin-bottom: 2.5rem;
    padding: 0.5rem 4.2rem 0.5rem 3.5rem;
    background: var(--color-orange02);
    border-top-left-radius: 2.4rem;
    border-bottom-right-radius: 2.4rem;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(4.25 / 2);
    color: #fff;
    display: inline-block;
}
.pop-thanks__block{
    width: 100%;
    margin-bottom: 9rem;
    margin-top: 10rem;
    padding: 5rem 3.5rem 3rem 3.5rem;
    border-radius: 2.4rem;
    background: url(../images/bg/orange02.png);
    position: relative;
}
.pop-thanks__block::before{
    width: 25rem;
    height: 12rem;
    background: url(../images/thanks-txtimg.png) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    right: 3.5rem;
    top: 3rem;
    display: block;
    content: "";
}
.pop-thanks__mds{
    margin-bottom: 5.5rem;
    padding-block: 2.2rem 1.2rem;
    padding-left: 12.8rem;
    font-size:3rem;
    font-weight: 700;
    letter-spacing: .05em;
    position: relative;
    display: inline-block;
}
.pop-thanks__mds::before{
    width: 11rem;
    height: 11rem;
    background: url(../images/thanks-img.png) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
}
.pop-thanks__mds::after{
    width: calc(100% - 12.8rem) ;
    border-bottom: 6px dotted var(--color-orange02);
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
}

.pop-schedule__block{
    margin-bottom: 9rem;
}
.pop-sche-work__mds {
    margin-bottom: 3rem;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: .05em;
}
.pop-sche-work__mds span.mds-Eng {
    margin-left: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: var(--font-family-AlSans);
    letter-spacing: .05em;
    color: var(--color-rightorange);
    display: inline-block;
}
.pop-schedule__flex{
    width: 100%;
    padding: 3.5rem 3.5rem;
    border-radius: 2.4rem;
    background: #f6f6f6;
    gap: 2rem;
}
.pop-schedule__img{
    max-width: 33rem;
}
.pop-schedule__dl .pop-schedule__dl_item{
    padding-left: 2.5rem;
    position: relative;
    align-items: stretch;
}
.pop-schedule__dl .pop-schedule__dl_item dt{
    width: 10rem;
    font-size: 2.5rem;
    line-height: calc(5 / 2.5);
    font-weight: 700;
    font-family: var(--font-family-AlSans);
    letter-spacing: .05em;
    color: var(--color-orange02);
    position: relative;
}
.pop-schedule__dl .pop-schedule__dl_item dt::before{
    width: 1px;
    height: 100%;
    background: var(--color-orange02);
    position: absolute;
    left: calc(-2.5rem + 0.8rem);
    top: 0;
    transform: translateX(-50%);
    display: block;
    content: "";
}
.pop-schedule__dl .pop-schedule__dl_item:nth-of-type(1) dt:before{
    height: calc(100% - 1em) ;
    top: 1em;
}
.pop-schedule__dl .pop-schedule__dl_item:last-of-type dt:before{
    height: calc(100% - 1em) ;
}
.pop-schedule__dl .pop-schedule__dl_item dt::after{
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 0.4rem;
    background: var(--color-orange02);
    position: absolute;
    left: calc(-2.5rem + 0.8rem);
    top: 1em;
    transform: translate(-50%,-50%);
    display: block;
    content: "";
}
.pop-schedule__dl .pop-schedule__dl_item dd{
    width: calc(100% - 10rem);
    font-size: 2rem;
    /*line-height: calc(5 / 2);*/
    line-height: calc(4 / 2);
    font-weight: 700;
    letter-spacing: .05em;
    position: relative;
}
.pop-schedule__p{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(2.8 / 1.6);
    display: block;
    text-align: left;
}
.pop-worklife__block{
    margin-bottom: 9.5rem;
}
.pop-worklife__block .pop-cont__block .pop-cont__text{
    }

/*--message--*/
.pop-message__block{
    padding: 3.5rem;
    margin-bottom: 7.4rem;
    border-radius: 2.4rem;
    background: #fff6ee;
}
.pop-message__mds{
    padding-left: 4.5rem;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: .05em;
    position: relative;
    display: inline-block;
}
.pop-message__mds::before{
    width: 3rem;
    height: 3rem;
    background: url(../images/icon_message.svg) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    display: block;
    content: "";
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    .pop-in__text {
        padding-top: 25rem;
    }
    .pop_intro__img{
        width: 75%;
    }
    .pop-in__text .pop-in__year{
        text-shadow:
        -1px -1px 0 rgba(255,255,255,0.4),
        1px -1px 0 rgba(255,255,255,0.4),
        -1px  1px 0 rgba(255,255,255,0.4),
        1px  1px 0 rgba(255,255,255,0.4);
    }
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .lity-wrap{
    }
    .lity-container{
        width: 90%;
    }
    .lity-content{
        max-width: 100% !important;
        padding-block: 10rem;
    }
    .lity-close{ /*--デフォルトボタン非表示*/
        display: none !important;
    }
    .pop-top{
        width: 6rem;
        position: fixed;
        right: 0;
        top: 3rem;
    }
    .pop-top-Lity_close{
        padding-top: 3rem;
        font-size: 1.7rem;
    }
    .pop-top-Lity_close::before,
    .pop-top-Lity_close::after{
    }

    .pop-bottom-Lity_close{ /*--下　閉じる*/
        width: 25rem;
        height: 7rem;
        line-height: 7rem;
        font-size: 2.6rem;
    }
    /*----slick---*/
    .slide-arrow {
        width: 2.5rem;
        height: 2.5rem;
    }
    .prev-arrow {
    }
    .next-arrow {
    }
    /*-------Lity中*/
    #popup{
        width: 100%;
        position: relative;
        overflow-y: scroll;
        overflow-x: hidden;
    }
    .popup-slider{
        padding-bottom: 14.8rem;
        border-radius: 4.8rem;
    }
    .popup-slide + .popup-slide{
        /*margin-left: 5rem;*/
    }


    .popup__item{
        position: relative;
        padding-inline: 2.5rem;
    }
    .popup__item::before{
        width: 2.5rem;
    }

    .pop-intro__block{
        margin-bottom: 10rem;
        position: relative;
    }
    .pop-in__text {
        padding-top: 30rem;
        padding-bottom: 2rem;
    }
    .pop-in__text .pop-in__catch{
        padding: 2.5rem 3.8rem;
        margin-bottom: 3.5rem;
        font-size: 2.8rem;
    }
    .pop-in__ny_block{
        margin-bottom: 1.5rem;
        align-items: flex-end;
    }
    .pop-in__text .pop-in__name,
    .pop-in__text .pop-in__busyo{
        padding-left: 2rem;
    }
    .pop-in__text .pop-in__name{
        font-size: 3rem;
    }
    .pop-in__text .pop-in__name span{
        font-size: 4.5rem;
    }
    .pop-in__text .pop-in__year{
        font-size: 2.7rem;
    }
    .pop-in__text .pop-in__busyo{
        font-size: 2.6rem;
    }
    .pop_intro__img{
        width: 100%;
        height: auto;
        min-height: unset;
        aspect-ratio: 329 / 250;
        margin-right: -2.5rem;
        right: -2.5rem;
    }
    .pop_intro__img img{
        height: 100%;
    }
    .pop-cont__block + .pop-cont__block{
        margin-top: 6.5rem;
    }
    .pop-cont__block {
        gap: 3rem;
        flex-direction: column-reverse;
    }
    .pop-cont__block.-reverse{
        flex-direction: column-reverse;
    }
    .pop-cont__block .pop-cont__img,
    .pop-cont__block .pop-cont__text{
        width: 100%;
    }
    .pop-cont__block .pop-cont__img{
        border-radius: 2.4rem;
        overflow: hidden;
    }
    .pop-cont__block .pop-cont__text{
        padding-top: 2.2rem;
    }
    .pop-cont__block .pop-cont__text .pop-cont__mds{
        margin-bottom: 2.5rem;
        padding: 0.2rem 4.2rem 0.2rem 3.5rem;
        font-size: 2.6rem;
    }
    .pop-thanks__block{
        margin-bottom: 7.5rem;
        margin-top: 8rem;
        padding: 8rem 3.5rem 6rem 3.5rem;
    }
    .pop-thanks__block::before{
        width: 22rem;
        height: 11rem;
        right: 3.5rem;
        top: 1rem;
    }
    .pop-thanks__mds{
        margin-bottom: 3.5rem;
        padding-block: 2.2rem 2rem;
        padding-left: 12rem;
        font-size: 3.4rem;
    }
    .pop-thanks__mds::before{
        width: 11rem;
        height: 11rem;
        top: 0;
        left: 0;
    }
    .pop-thanks__mds::after{
        width: calc(100% - 12rem) ;
        border-bottom: 0.8rem dotted var(--color-orange02);
    }

    .pop-schedule__block{
        margin-bottom: 6rem;
    }
    .pop-sche-work__mds {
        margin-bottom: 3rem;
        font-size: 3.8rem;
    }
    .pop-sche-work__mds span.mds-Eng {
        margin-left: 1.2rem;
        font-size: 2.2rem;
    }
    .pop-schedule__flex{
        width: 100%;
        padding: 3.5rem 3rem 5.5rem 3rem;
        flex-direction: column;
        gap: 2rem;
    }
    .pop-schedule__img{
        width: 30rem;
    }
    .pop-schedule__dl .pop-schedule__dl_item{
        padding-left: 2.5rem;
        position: relative;
        align-items: stretch;
    }
    .pop-schedule__dl .pop-schedule__dl_item dt{
        width: 11rem;
        font-size: 3rem;
    }
    .pop-schedule__dl .pop-schedule__dl_item dd{
        width: calc(100% - 11rem);
        font-size: 2.7rem;
    }
    .pop-schedule__p{
        font-size: 2.2rem;
    }
    .pop-worklife__block{
        margin-bottom: 9.5rem;
    }
    .pop-worklife__block .pop-cont__block .pop-cont__text{
        }

    /*--message--*/
    .pop-message__block{
        padding: 4.5rem 3.5rem;
        margin-bottom: 6rem;
    }
    .pop-message__mds{
        padding-left: 5rem;
        font-size: 3rem;
    }
    .pop-message__mds::before{
        width: 3.5rem;
        height: 3.5rem;
    }
}



/*-------------------------------------
    sec_about
--------------------------------------*/
.sec_about{
    padding-block: 13.5rem 14.5rem;
    background-repeat: repeat;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line.about-line-o{
        min-height: 108.4rem;
        animation-delay: 0s;
        top: 39.3rem;
        object-position: right top;
        font-family: 'object-fit: cover; object-position: right top;';
    }
    /*----------曲線----*/
.sec_about .sec_ttl{
    margin-bottom: 5.5rem;
}
.about__block{
    width: 100%;
    background: rgba(255, 255, 255, 0.66);
    overflow: hidden; /* 擬似要素にはみ出し防止 */
    
    /* ガラス風に裏をぼかす */
    backdrop-filter: blur(1.5rem);
    -webkit-backdrop-filter: blur(1.5rem); /* Safari 対応 */
}
.about__item {
    align-items: stretch;
}
.about__item dt,
.about__item dd{
    padding-block: 1.5rem;
    padding-inline: 2rem;
}
.about__item dt,
.about__item dd,
.about__item dd a{
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(4 / 2);
}
.about__item dt{
    width: 27.5rem;
    border-top: 1px solid #5f5f5f;
}
.about__item:last-of-type dt{
    border-bottom: 1px solid #5f5f5f;
}
.about__item dd{
    width: calc(100% - 27.5rem);
    border-top: 1px solid #ccc;
}
.about__item:last-of-type dd{
    border-bottom: 1px solid #ccc;
}
.about__item dd a{
    display: inline-block;
    padding-right: 1.2em;
    position: relative;
    color: var(--font-color-base);
}
.about__item dd a::before{
    width: 1.5rem;
    height: 1.5rem;
    background: url(../images/icon_outlink.svg) no-repeat;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
}
.about__item dd a::after{
    width: 0;
    height: 1px;
    background: var(--font-color-base);
    position: absolute;
    left: 0;
    bottom: 2px;
    display: block;
    content: "";
    transition: var(--transition);
}
.about__item dd a:hover::after{
    width: 100%;
}
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
    .about__item dt{
        width: 21rem;
    }
    .about__item dd{
        width: calc(100% - 21rem);
    }
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_about{
        padding-block: 10.5rem 11.5rem;
    }
        /*----------曲線----*/
        .prev-line.about-line-o{
            min-height: 88.4rem;
            animation-delay: 0s;
            top: 105rem;
            object-position: left center;
            font-family: 'object-fit: cover; object-position: left center;';
        }
        /*----------曲線----*/
    .sec_about .sec_ttl{
        margin-bottom: 4rem;
    }
    .about__item {
    }
    .about__item dt,
    .about__item dd{
        padding-block: 1.5rem;
        padding-inline: 2rem;
    }
    .about__item dt,
    .about__item dd,
    .about__item dd a{
        font-size: 2.6rem;
    }
    .about__item dt{
        width: 18rem;
    }
    .about__item dd{
        width: calc(100% - 18rem);
    }
    .about__item dd a{
    }
    .about__item dd a::before{
        width: 1.9rem;
        height: 1.9rem;
    }
}

/*-------------------------------------
    sec_data
--------------------------------------*/
.sec_data{
    padding-block: 9.5rem 14.5rem;
    background: #f2f9fb;
    background-repeat: repeat;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line.data-line-o{
        min-height: 140.7rem;
        animation-delay: 0s;
        top: 47.5%;
        transform: translateY(-50%);
        object-position: right top;
        font-family: 'object-fit: cover; object-position: right top;';
    }
    /*----------曲線----*/
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_data{
        padding-block: 9.5rem 11.5rem;
    }
        /*----------曲線----*/
        .prev-line.data-line-o{
            min-height: 120.7rem;
        }
        /*----------曲線----*/
}
/*-------------------------------------
    sec_data    数字で見る働き方データ
--------------------------------------*/
/*----数字で見る働き方データ共通---*/
.data-work__container{
    margin-bottom: 9rem;
}  
.data-work__block{
    gap: 4.8rem;
    flex-wrap: wrap;
    align-items: stretch;
}
.data-work__item{
    /*width: 34.8rem;*/
    width: calc((100% - 5rem) / 2);
    padding: 2rem;
    border-radius: 2.4rem;
    background: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}
.data-work__mds{
    margin-bottom: 2rem;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(3.3 / 2.2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
}
.data-work__img{
    margin-bottom: 3.5rem;
}
.data-work__No{
    margin-bottom: 0.5rem;
    font-size: 4rem;
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.6;
    display: flex;
    align-items: flex-end;
}
.data-work__No span{
    margin-right: 0.5rem;
    font-size: 7.2rem;
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1;
    font-family: var(--font-family-AlSans);
}
.data-work__kometxt{
    font-size: 1.6rem;
    letter-spacing: .05em;
    font-weight: 700;
    color: #999;
}
/*----数字で見る働き方データ共通---*/
/*----数字で見る働き方 個別---*/
    /*01 平均連続勤務年数*/
.data-work__item.-kinzoku .data-work__img{
    height: 10.1rem;
}
    /*01 平均連続勤務年数*/
    /*02 月平均所定外労働時間*/
.data-work__item.-roudou .data-work__img{
    height: 8.7rem;
}
    /*02 月平均所定外労働時間*/
    /*03 平均有給休暇取得日数*/
.data-work__item.-yukyu .data-work__img{
    height: 6.9rem;
}
    /*03 平均有給休暇取得日数*/
    /*04 前年度の育児休業対象者数・取得者数*/
.data-work__ikukyu01-table{
    margin-bottom: 2rem;
}
.data-work__ikukyu01-table th,
.data-work__ikukyu01-table td{
    width: calc(100% / 4);
    font-size: 1.8rem;
    letter-spacing: .05em;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
}
.data-work__ikukyu-table01 th{
    position: relative;
}
.ikukyu01-th-img{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.ikukyu01-th-img img.ofi_contain_c{
    width: 4rem;
    height: 4.8rem;
}
.data-work__ikukyu01-table td.ikukyu01__No{
    font-size: 2.1rem;
    letter-spacing: .05em;
    font-weight: 700;
}
.data-work__ikukyu01-table td.ikukyu01__No span{
    font-size: 3.78rem;
    letter-spacing: .05em;
    line-height: 1.5;
    font-weight: 700;
    font-family: var(--font-family-AlSans);
}
    /*04 前年度の育児休業対象者数・取得者数*/
    /*05 前年度の育児休業取得率 */
.data-work__item.-ikukyu02 .data-work__img{
    height: 8.1rem;
    margin-bottom: 1.5rem;
}
.data-work__ikukyu02-list{
    width: 100%;
    margin-bottom: 2.5rem;
}
.data-work__ikukyu02-list li{
    width: calc(100% / 2);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.data-work__ikukyu02-list li h5{
    font-size: 1.8rem;
    letter-spacing: .05em;
    line-height: 1.5;
    font-weight: 700;
}
.data-work__ikukyu02-list li .data-work__No{
    font-size: 3rem;
}
.data-work__ikukyu02-list li .data-work__No span{
    font-size: 5.4rem;
}
    /*05 前年度の育児休業取得率 */
    /*06 役員及び管理的地位にある者に占める女性の割合 */
.data-work__item.-yakuin .data-work__img{
    height: 9rem;
}
.data-work__flex{

}
.data-work__flex .data-work__No{
    font-size: 3rem;
}
.data-work__flex .data-work__No span{
    font-size: 5.4rem;
}
.data-work__yakuin_txt{
    font-size: 1.8rem;
    letter-spacing: .05em;
    line-height: 1.5;
    font-weight: 700;
}
    /*06 役員及び管理的地位にある者に占める女性の割合 */
/*----数字で見る働き方 個別---*/
/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    /*----数字で見る働き方データ共通---*/
    .data-work__container{
        margin-bottom: 10rem;
    }  
    .data-work__block{
        gap: 4rem;
    }
    .data-work__item{
        width: 90%;
        padding: 3rem;
    }
    .data-work__mds{
        margin-bottom: 2.5rem;
        font-size: 2.9rem;
    }
    .data-work__img{
        margin-bottom: 3.5rem;
    }
    .data-work__No{
        margin-bottom: 0.5rem;
        font-size: 4rem;
    }
    .data-work__No span{
        margin-right: 0.5rem;
        font-size: 8rem;
    }
    .data-work__kometxt{
        font-size: 2.4rem;
    }
    /*----数字で見る働き方データ共通---*/
    /*----数字で見る働き方 個別---*/
        /*01 平均連続勤務年数*/
    .data-work__item.-kinzoku .data-work__img{
        height: 12rem;
    }
        /*01 平均連続勤務年数*/
        /*02 月平均所定外労働時間*/
    .data-work__item.-roudou .data-work__img{
        height: 10.7rem;
    }
        /*02 月平均所定外労働時間*/
        /*03 平均有給休暇取得日数*/
    .data-work__item.-yukyu .data-work__img{
        height: 8.9rem;
    }
        /*03 平均有給休暇取得日数*/
        /*04 前年度の育児休業対象者数・取得者数*/
    .data-work__ikukyu01-table{
        margin-bottom: 3rem;
    }
    .data-work__ikukyu01-table th,
    .data-work__ikukyu01-table td{
        font-size: 2.6rem;
    }
    .ikukyu01-th-img img.ofi_contain_c{
        width: 5rem;
        height: 5.8rem;
    }
    .data-work__ikukyu01-table td.ikukyu01__No{
        font-size: 2.9em;
    }
    .data-work__ikukyu01-table td.ikukyu01__No span{
        font-size: 4.6rem;
    }
        /*04 前年度の育児休業対象者数・取得者数*/
        /*05 前年度の育児休業取得率 */
    .data-work__item.-ikukyu02 .data-work__img{
        height: 10.1rem;
    }
    .data-work__ikukyu02-list{
        width: 100%;
        margin-bottom: 2.5rem;
    }
    .data-work__ikukyu02-list li{
    }
    .data-work__ikukyu02-list li h5{
        font-size: 2.6rem;
    }
    .data-work__ikukyu02-list li .data-work__No{
        font-size: 3.6rem;
    }
    .data-work__ikukyu02-list li .data-work__No span{
        font-size: 7rem;
    }
        /*05 前年度の育児休業取得率 */
        /*06 役員及び管理的地位にある者に占める女性の割合 */
    .data-work__item.-yakuin .data-work__img{
        height: 12rem;
    }
    .data-work__flex{

    }
    .data-work__flex .data-work__No{
        font-size: 3.6rem;
    }
    .data-work__flex .data-work__No span{
        font-size: 7rem;
    }
    .data-work__yakuin_txt{
        font-size: 2.6rem;
    }
        /*06 役員及び管理的地位にある者に占める女性の割合 */
    /*----数字で見る働き方 個別---*/
}

/*-------------------------------------
    sec_data    社内制度
--------------------------------------*/
/*----社内制度 共通---*/
.data-systems__container{
    margin-bottom: 8rem;
}  
.data-systems__block{
    gap: 5rem;
    flex-wrap: wrap;
    align-items: stretch;
}
.data-systems__item{
    width: calc((100% - 5rem) / 2);
    padding: 4rem 2rem 3rem 2rem;
    border-radius: 2.4rem;
    background: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.data-systems__img{
    height: 7.7rem;
}
.data-systems__mds{
    margin-bottom: 2rem;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(3.3 / 2.2);
}
.data-systems__mds span{
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    display: inline;
}
.data-systems__img{
    margin-bottom: 3.5rem;
}
.data-systems__dl{
    padding-left: 3rem;
    text-align: left;
}
.data-systems__dl dt{
    margin-bottom: 0.5rem;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(3.3 / 2.2);
    position: relative;
}
.data-systems__dl dt::before{
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 50%;
    background: var(--color-rightblue);
    position: absolute;
    left: -3rem;
    top: 1em;
    transform: translate( 50% , -50%);
    display: block;
    content: "";
}
.data-systems__dl dd{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(3.2 / 1.6);
}
.data-systems__dl dd + dt{
    margin-top: 1.5rem;
}
/*----社内制度 共通---*/
/*----社内制度 個別---*/
/*----社内制度 個別---*/

/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    /*----社内制度 共通---*/
    .data-systems__container{
        margin-bottom: 8rem;
    }  
    .data-systems__block{
        gap: 4rem;
        flex-direction: column;
        align-items: center;
    }
    .data-systems__item{
        width: 90%;
        padding: 4rem 2rem 3rem 2rem;
    }
    .data-systems__img{
        height: 9.7rem;
    }
    .data-systems__mds{
        margin-bottom: 3rem;
        font-size: 3rem;
    }
    .data-systems__mds span{
        font-size: 2.6rem;
        display: inline;
    }
    .data-systems__img{
        margin-bottom: 3.5rem;
    }
    .data-systems__dl{
        padding-left: 3rem;
        text-align: left;
    }
    .data-systems__dl dt{
        margin-bottom: 1rem;
        font-size: 2.8rem;
        position: relative;
    }
    .data-systems__dl dt::before{
        width: 1.1rem;
        height: 1.1rem;
    }
    .data-systems__dl dd{
        font-size: 2.6rem;
    }
    .data-systems__dl dd + dt{
        margin-top: 2rem;
    }
    /*----社内制度 共通---*/
    /*----社内制度 個別---*/
    /*----社内制度 個別---*/

}

/*-------------------------------------
    sec_requirements　募集要項
--------------------------------------*/
.sec_requirements{
    padding-block: 13.5rem 14.5rem;
    background-repeat: repeat;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line.requirements-line-g{
        min-height: 159rem;
        animation-delay: 0s;
        top: 59.3rem;
        z-index: 1009;
    }
    .prev-line.requirements-line-b{
        min-height: 118.3rem;
        animation-delay: 0s;
        top: 74.5rem;
        z-index: 1008;
    }
    .prev-line.requirements-line-o{
        min-height: 111.8rem;
        animation-delay: 0s;
        top: 106rem;
        object-position: left bottom;
        font-family: 'object-fit: cover; object-position: left bottom;';
        z-index: 1010;
    }
    /*----------曲線----*/

.requirements-tabs__container {
    padding-bottom: 7.8rem;
}
.requirements-tabs__list{
    margin-bottom: 9.5rem;
    gap: 5rem;
    align-items: stretch;
}
/*タブ*/
.tab__content {
    display: none;
}
input[name="requirements-tabs__item"] {
    display: none;
}
.requirements-tabs__item {
    width: 25rem;
    height: 6.6rem;
    border-radius: 9999px;
    border: 2px solid var(--font-color-base);
    background-color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    cursor: pointer;
}
input[name="requirements-tabs__item"]:checked + label,
.requirements-tabs__item:hover {
    background: var(--color-orange02);
    border-color: var(--color-orange02);
    color: #fff;
}
.requirements-tabs__item:hover{
    transform: var(--ahover);
}
/*タブ*/
/*タブ中身*/
.requirements-tabs__contents{
    padding: 7rem 4.8rem;
    border-radius: 4.8rem;
    background: #fff;
    box-shadow: 0 0 6rem 0 rgba(34, 34, 34, 0.2);
}
.requirements-content__hidden{
    width: 100%;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(4 / 2);
    text-align: center;
}
.requirements-content__list{
    width: 100%;
}
.requirements-content__item {
    align-items: stretch;
}
.requirements-content__item dt,
.requirements-content__item dd{
    padding-block: 1.5rem;
    padding-inline: 2rem;
}
.requirements-content__item dt{
    width: 26.5rem;
    border-top: 1px solid #5f5f5f;
}
.requirements-content__item:last-of-type dt{
    border-bottom: 1px solid #5f5f5f;
}
.requirements-content__item dd{
    width: calc(100% - 26.5rem);
    border-top: 1px solid #ccc;
}
.requirements-content__item:last-of-type dd{
    border-bottom: 1px solid #ccc;
}
.requirements-content__item dt,
.requirements-content__item dd,
.requirements-content__item dd a{
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: calc(4 / 2);
}
.requirements-content__item dd .rq-cont--dd__inner + .rq-cont--dd__inner{
    margin-top: 1.5rem;
}
.rq-cont--dd__inner ul li,
.rq-cont--dd__inner span.kome{
    padding-left: 1.1em;
    position: relative;
    display: block;
}
.rq-cont--dd__inner ul li::before{
    content: "・";
    position: absolute;
    left: 0;
    top: 1em;
    transform: translateY(-50%);
}
.rq-cont--dd__inner span.kome::before{
    content: "※";
    position: absolute;
    left: 0;
    top: 1em;
    transform: translateY(-50%);
}

/*選択されているタブのスタイルを変える*/
/*タブ中身*/

/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
    .requirements-content__item dt{
        width: 21rem;
    }
    .requirements-content__item dd{
        width: calc(100% - 21rem);
    }
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){
    .sec_requirements{
        padding-block: 10.5rem 11.5rem;
    }
        /*----------曲線----*/
        .prev-line.requirements-line-g{
            min-height: 139rem;
            top: 59.3rem;
        }
        .prev-line.requirements-line-b{
            min-height: 98.3rem;
            top: 74.5rem;
        }
        .prev-line.requirements-line-o{
            min-height: 91.8rem;
            top: 101.8rem;
        }
        /*----------曲線----*/

    .requirements-tabs__container {
        padding-bottom: 8rem;
    }
    .requirements-tabs__list{
        margin-bottom: 5rem;
        gap: 4rem;
        align-items: stretch;
    }
    /*タブ*/
    .tab__content {
        display: none;
    }
    input[name="requirements-tabs__item"] {
        display: none;
    }
    .requirements-tabs__item {
        width: calc((100% - 4rem) / 2);
        height: 8rem;
        font-size: 2.6rem;
    }
    /*タブ*/
    /*タブ中身*/
    .requirements-tabs__contents{
        padding: 6rem 2.5rem;
    }
    .requirements-content__hidden{
        font-size: 2.6rem;
    }
    .requirements-content__list{
        width: 100%;
    }
    .requirements-content__item {
        align-items: stretch;
    }
    .requirements-content__item dt,
    .requirements-content__item dd{
        padding-block: 1.5rem;
        padding-inline: 2rem;
    }
    .requirements-content__item dt{
        width: 18rem;
    }
    .requirements-content__item dd{
        width: calc(100% - 18rem);
    }
    .requirements-content__item dt,
    .requirements-content__item dd,
    .requirements-content__item dd a{
        font-size: 2.6rem;
    }
    .requirements-content__item dd .rq-cont--dd__inner + .rq-cont--dd__inner{
        margin-top: 1.5rem;
    }
}





/*-------------------------------------
    sec_
--------------------------------------*/
.sec_{
    padding-block: 13.5rem 14.5rem;
    background-repeat: repeat;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
    /*----------曲線----*/
    .prev-line. -line-o{
        min-height: 108.4rem;
        animation-delay: 0s;
        top: 39.3rem;
        object-position: right top;
        font-family: 'object-fit: cover; object-position: right top;';
    }
    /*----------曲線----*/

/*-------------tab-----------------------*/
@media screen and (max-width:960px) and (min-width:768px){
    
}
/*-------------SP-----------------------*/
@media screen and (max-width:767px){

}


