/* CSS Document */

/* -----------------------------------------
　top
------------------------------------------*/

/* common */
h3.subtitle{
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.29;
    position: relative;
}

h3.subtitle::before{
    content: attr(data-en);
    display: block;
    position: absolute;
    top: -25px;
    left: 2px;
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 14px;
    letter-spacing: 0.12em;
}

/* kv */
.l-top_kv{
    margin-top: 20px;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.l-top_kv h2{
    position: absolute;
    z-index: 2;
    top: 220px;
    left: calc(50% - 175px);
    transform: translate(-50%, 0);
    color: var(--white);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.56;
    text-shadow: 0 0 42px rgba(119, 134, 149, .50)
}

.l-top_kv .kv_slider{
    max-height: 520px;
}

.l-top_kv .kv_slider li{
    width: 100%;
    max-width: 800px;
    padding-right: 10px;
    padding-left: 10px;
    margin-left: auto;
    margin-right: auto;
}

.l-top_kv .kv_slider .slick-list{
    overflow: visible;
}

@media screen and (max-width:767px) {
    h3.subtitle{
        font-size: 5.8667vw;
    }
    
    h3.subtitle::before{
        top: -18px;
        left: 2px;
        font-size: 3.2vw;
        font-weight: 400;
    }
    
    /* kv */
    .l-top_kv{
        margin-top: 15px;
    }
    
    .l-top_kv h2{
        top: calc(124.3vw / 2);
        left: 4.788vw;
        transform: translate(0, -9.5vw);
        font-size: 6.383vw;
        letter-spacing: 0.01em;
        line-height: 1.5;
    }
    
    .l-top_kv .kv_slider li{
        padding-right: 0;
        padding-left: 0;
    }
    
    .l-top_kv .kv_slider .slick-list{
        overflow: visible;
    }
}

/* news */
.l-top_news{
    padding: 100px 0 80px;
    box-sizing: border-box;
}

.l-top_news .contents_inner{
    display: flex;
}

.l-top_news_header{
    max-width: 270px;
    width: 25.7%;
    padding-top: 25px;
}

.l-top_news_detail{
    max-width: 728px;
    width: 74%;
}

.l-top_news_detail dl{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.l-top_news_detail dt{
    flex-basis: 100px;
    font-family: var(--f-jost);
    font-size: 14px;
    line-height: 2.07em;
    padding: 24px 0;
}

.l-top_news_detail dt:not(:last-of-type){
    border-bottom: 1px solid var(--gray01);
}

.l-top_news_detail dd{
    flex-basis: calc(100% - 100px);
    font-size: 14px;
    line-height: 2.07em;
    padding: 24px 0;
}

.l-top_news_detail dd:not(:last-of-type){
    border-bottom: 1px solid var(--gray01);
}

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

}

@media screen and (max-width: 767px) {
    .l-top_news{
        padding: 50px 0 30px;
    }

    .l-top_news .contents_inner{
        flex-direction: column;
    }
    
    .l-top_news_header{
        max-width: 100%;
        width: 100%;
        padding-top: 0;
        margin-bottom: 15px;
    }
    
    .l-top_news_detail{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_news_detail dl{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    
    .l-top_news_detail dt{
        font-size: 3.4667vw;
        line-height: 2.23em;
        padding: 5.333vw 0 0;
    }
    
    .l-top_news_detail dt:not(:last-of-type){
        border-bottom: none;
    }
    
    .l-top_news_detail dd{
        flex-basis: 100%;
        font-size: 3.4667vw;
        line-height: 1.46em;
        padding: 2.4vw 0 1.49em;
    }
    
    .l-top_news_detail dd:not(:last-of-type){
        border-bottom: 1px solid var(--gray01);
    }

}

/* philosophy */
.l-top_philosophy{
    padding: 100px 0;
    background: url('../img/top/bg_philosophy.png') repeat;
    background-position : center top;
}

.l-top_philosophy_main{
    background: var(--white);
    max-width: 1000px;
    width: 95.239%;
    margin: 35px 0 0;
    padding: 80px;
    box-sizing: border-box;
    position: relative;
}

.l-top_philosophy_main h4{
    font-family: var(--f-jost);
    font-size: 44px;
    font-weight: 500;
    line-height: 1.476;
    letter-spacing: 0.08em;
}

.l-top_philosophy_main .subcatch{
    font-size: 24px;
    font-weight: 500;
    line-height: 1.29;
    letter-spacing: 0.08em;
    margin-top: 10px;
}

.l-top_philosophy_detail{
    margin-top: 50px;
    font-size: 16px;
    line-height: 2.0em;
    letter-spacing: 0.02em;
}

.l-top_philosophy_list{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 12px;
    margin-top: 40px;
    border-top: 1px solid var(--gray01);
}

.l-top_philosophy_list dt{
    display: flex;
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-top: 28px;
}

.l-top_philosophy_list dd{
    padding-top: 28px;
    font-size: 16px;
}

/* mvv用 */
.l-top_philosophy_list.mvv dt{
    align-items: center;
    flex-basis: 134px;
}

.l-top_philosophy_list.mvv dt::before{
    border-top: 1px solid var(--blue01);
    content: "";
    width: 12px; 
    margin-right: 15px;
}

.l-top_philosophy_list.mvv dd{
    flex-basis: calc(100% - 134px);
    line-height: 1.75em;
}

/* sdgs用 */

.l-top_philosophy_list.sdgs dt{
    flex-basis: 250px;
    align-items: flex-start;
}

.l-top_philosophy_list.sdgs dt span{
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 900;
}

.l-top_philosophy_list.sdgs dt span::before{
    border-top: 1px solid var(--blue01);
    content: "";
    width: 12px; 
    margin-right: 15px;
}

.l-top_philosophy_list.sdgs dd{
    flex-basis: calc(100% - 250px);
    line-height: 2em;
    margin-top: -0.25em;
}

.l-top_philosophy_main .philosophy_01{
    position: absolute;
    top: -47px;
    right: -50px;
    width: 347px;
    height: 421px;
}

.l-top_philosophy_main .philosophy_02{
    position: absolute;
    top: 310px;
    right: 190px;
    width: 177px;
    height: 203px; 
}

@media screen and (min-width: 768px) and (max-width: 1023px){
    .l-top_philosophy_main{
        width: 100%;
        padding: 60px;
    }

    .l-top_philosophy_main .philosophy_01{
        display: none;
    }
    
    .l-top_philosophy_main .philosophy_02{
        display: none; 
    }
}

@media screen and (max-width: 767px) {
    .l-top_philosophy{
        padding: 68px 0 50px;
        background: url('../img/top/bg_philosophy_sp.svg') repeat;
    }
    
    .l-top_philosophy_main{
        width: 100%;
        margin: 32px 0 0;
        padding: 20px 20px 45px;
    }
    
    .l-top_philosophy_main h4{
        font-size: 8.533vw;
        line-height: 1.375;
        letter-spacing: 0.03em;
    }
    
    .l-top_philosophy_main .subcatch{
        font-size: 5vw;
        margin-top: 14px;
    }
    
    .l-top_philosophy_detail{
        margin-top: 20px;
        font-size: 3.733vw;
        line-height: 1.857em;
    }
    
    .l-top_philosophy_list{
        flex-direction: column;
        padding-top: 0;
        margin-top: 12px;
    }
    
    .l-top_philosophy_list dt{
        font-size: 4.266vw;
        padding-top: 15px;
    }
    
    .l-top_philosophy_list dd{
        padding-top: 5px;
        font-size: 3.733vw;
    }
    
    /* mvv用 */
    .l-top_philosophy_list.mvv dt{
        flex-basis: auto;
    }
    
    .l-top_philosophy_list.mvv dt::before{
        width: 10px; 
        margin-right: 16px;
    }
    
    .l-top_philosophy_list.mvv dd{
        flex-basis: auto;
        line-height: 1.75em;
    }
    
    /* sdgs用 */
    .l-top_philosophy_list.sdgs dt{
        flex-basis: auto;
    }
    
    .l-top_philosophy_list.sdgs dt span{
        font-size: 4.266vw;
    }
    
    .l-top_philosophy_list.sdgs dt span::before{
        width: 10px; 
        margin-right: 16px;
    }
    
    .l-top_philosophy_list.sdgs dd{
        flex-basis: auto;
        line-height: 2em;
        margin-top: -0.25em;
    }
    
    .l-top_philosophy_main .philosophy_01{
        display: none;
    }
    
    .l-top_philosophy_main .philosophy_02{
        display: none; 
    }
}

/* business */
.l-top_business{
    background: var(--gray02);
    padding: 125px 0 100px;
}

.l-top_business .contents_inner{
    display: flex;
    flex-wrap: wrap;
}

.l-top_business_header{
    max-width: 228px;
    width: 22.8%;
    /* padding-top: 25px; */
}

.l-top_business_detail{
    max-width: 772px;
    width: 77.2%;
}

.l-top_business_detail > p{
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.02em;
}

.l-top_business_detail nav{
    margin-top: 50px;
}

.l-top_business_detail ul{
    display: flex;
    justify-content: space-between;
}

.l-top_business_detail li{
    flex-basis: 47.28%;    
}

.l-top_business_detail li a{
    display: flex;
    flex-direction: column;
}

.l-top_business_detail li a img{
    width: 100%;
    height: auto;
}

.l-top_business_detail li a p{
    display: flex;
    width: 100%;
    height: 40px;
    background: var(--white);
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: 700;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.l-top_business_detail li a p::after{
    content: '';
    position: absolute;
    background: url('../img/common/ico_link.svg') no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    bottom: 10px;
    right: 25px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .l-top_business_detail li a p{
        height: 60px;
        border-bottom-left-radius: 2vw;
        border-bottom-right-radius: 2vw;
    }

    .l-top_business_detail li a p::after{
        right: 10px;
        bottom: 21px;
    }
}

@media screen and (max-width: 767px) {
    .l-top_business{
        padding: 65px 0 50px;
    }
    
    .l-top_business .contents_inner{
        flex-direction: column;
        width: 87.2%;
        margin: auto;
    }
    
    .l-top_business_header{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_business_detail{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_business_detail > p{
        font-size: 3.7333vw;
        line-height: 1.714;
        margin-top: 23px;
    }
    
    .l-top_business_detail nav{
        margin-top: 45px;
    }
    
    .l-top_business_detail ul{
        flex-direction: column;
        gap: 25px;
    }
    
    .l-top_business_detail li{
        flex-basis: 100%;
    }
    
    .l-top_business_detail li a p{
        height: 33px;
        font-size: 3.733vw;
        font-weight: 700;
        border-bottom-left-radius: 4.2666vw;
        border-bottom-right-radius: 4.2666vw;
    }
    
    .l-top_business_detail li a p::after{
        width: 3.733vw;
        height: 3.733vw;
        bottom: 2.6667vw;
        right: 2.6667vw;
    }
}

/* store */
.l-top_store{
    background: var(--white);
    padding: 125px 0 100px;
}

.l-top_store .contents_inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.l-top_store_detail{
    max-width: 720px;
    width: 72%;
}

.l-top_store_detail li{
    display: flex;
    padding: 30px 0;
    box-sizing: border-box;
}

.l-top_store_detail li:not(:first-child){
    border-top: 1px solid var(--gray03);
}

.l-top_store_detail li img{
    max-width: 240px;
    width: 33.3333%;
}

.l-top_store_detail li div{
    padding-left: 30px;
    box-sizing: border-box;
}

.l-top_store_detail li h4{
    font-size: 18px;
    font-weight: 700;
}

.l-top_store_detail_text{
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4286em;
    margin-top: 0.8em;
}

@media screen and (max-width: 767px) {
    .l-top_store{
        padding: 65px 0 50px;
    }
    
    .l-top_store .contents_inner{
        flex-direction: column;
        width: 87.2%;
        margin: auto;
    }
    
    .l-top_store_detail{
        max-width: 88.5%;
        width: 88.5%;
        margin: auto;
    }
    
    .l-top_store_detail li{
        flex-direction: column;
        padding: 20px 0;
        width: 100%;
    }
    
    .l-top_store_detail li:not(:first-child){
        border-top: 1px solid var(--gray03);
    }
    
    .l-top_store_detail li img{
        max-width: 78.125%;
        width: 78.125%;
        margin: auto;
    }
    
    .l-top_store_detail li div{
        width: 100%;
        padding-left: 10.9%;
        margin: auto
    }
    
    .l-top_store_detail li h4{
        font-size: 4.2667vw;
        margin-top: 10px;
    }
    
    .l-top_store_detail_text{
        font-size: 3.2vw;
        line-height: 1.667;
        margin-top: 0.5em;
    }
}

/* message */
.l-top_message{
    background: var(--gray02);
    padding: 125px 0 100px;
}

.l-top_message .contents_inner{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.l-top_message_detail{
    max-width: 500px;
    width: 50%;
}

.l-top_message_detail h4{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-top: 40px;
}

.l-top_message_text{
    font-size: 14px;
    line-height: 2.0;
    letter-spacing: 0.02em;
    margin-top: 30px;
}

.l-top_message_sign{
    font-size: 14px;
    letter-spacing: 0.08em;
    margin-top: 30px;
    text-align: right;
}

.l-top_message_sign span{
    font-size: 16px;
    font-weight: 700;
}

.l-top_message_image{
    max-width: 388px;
    width: 38.8%;
}

@media screen and (max-width: 767px) {
    .l-top_message{
        padding: 65px 0 50px;
    }
    
    .l-top_message .contents_inner{
        flex-direction: column;
        width: 87.2%;
        margin: auto;
    }
    
    .l-top_message_detail{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_message_detail h4{
        font-size: 4.266vw;
        margin-top: 40px;
    }
    
    .l-top_message_text{
        font-size: 3.2vw;
        margin-top: 15px;
    }
    
    .l-top_message_sign{
        font-size: 3.2vw;
        line-height: 2.0;
        letter-spacing: 0.08em;
        margin-top: 25px;
        text-align: left;
    }
    
    .l-top_message_sign span{
        font-size: 4.2667vw;
    }
    
    .l-top_message_image{
        max-width: 77.37%;
        width: 77.37%;
        margin: 30px auto 0;
    }
}

/* company-profile */
.l-top_company-profile{
    background: var(--white);
    padding: 125px 0 100px;
}

.l-top_company-profile .contents_inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.l-top_company-profile_header{
    max-width: 280px;
    width: 28%;
}

.l-top_company-profile_detail{
    max-width: 720px;
    width: 72%;
}

.l-top_company-profile_detail dl{
    display: flex;
    flex-wrap: wrap;
}

.l-top_company-profile_detail dt{
    flex-basis: 140px;
    padding: 15px 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 2.0;
}

.l-top_company-profile_detail dt:not(:first-child){
    border-top: 1px solid var(--gray01);
}

.l-top_company-profile_detail dd{
    flex-basis: calc(100% - 140px);
    padding: 15px 0;
    font-size: 14px;
    line-height: 2.0;
}

.l-top_company-profile_detail dd:not(:nth-child(2)){
    border-top: 1px solid var(--gray01);
}

.l-top_company-profile_detail dd > ul{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    overflow: hidden;
    height: 115px;
}

.l-top_company-profile_detail dd > ul li:not(:nth-of-type(6)){
    max-width: 190px;
    width: 32.76%;
}

.l-top_company-profile_detail dd > ul li:nth-of-type(6){
    width: 270px;
    /* width: 46.55%; */
}



@media screen and (min-width: 768px) and (max-width: 1100px){
    .l-top_company-profile_detail dd > ul{
        height: 200px;
    }

    .l-top_company-profile_detail dd > ul li:not(:nth-of-type(6)){
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_company-profile_detail dd > ul li:nth-of-type(6){
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .l-top_company-profile{
        padding: 65px 0 50px;
    }
    
    .l-top_company-profile .contents_inner{
        flex-direction: column;
        width: 87.2%;
        margin: auto;
    }
    
    .l-top_company-profile_header{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_company-profile_detail{
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_company-profile_detail dl{
        flex-direction: column;
        margin-top: 10px;
    }
    
    .l-top_company-profile_detail dt{
        flex-basis: auto;
        padding: 1em 0 0;
        font-size: 3.2vw;
    }
    
    .l-top_company-profile_detail dt:not(:first-child){
        border-top: 1px solid var(--gray01);
    }
    
    .l-top_company-profile_detail dd{
        flex-basis: auto;
        padding: 0.1em 0 1em;
        font-size: 12px;
        line-height: 2.16;
    }
    
    .l-top_company-profile_detail dd:not(:nth-child(2)){
        border-top: none;
    }
    
    .l-top_company-profile_detail dd > ul{
        height: auto;
    }
    
    .l-top_company-profile_detail dd > ul li:not(:nth-of-type(6)){
        max-width: 100%;
        width: 100%;
    }
    
    .l-top_company-profile_detail dd > ul li:nth-of-type(6){
        width: 100%;
    }
}

/* link-recruit */
.l-top_link-recruit{
    background: var(--gray02);
    padding: 100px 0;
}

.l-top_link-recruit a{
    background: url('../img/top/bg_recruit_pc.webp') no-repeat;
    background-size: 100% auto;
    max-width: 1000px;
    height: auto;
    aspect-ratio: 1000 / 403;
}

.l-top_link-recruit_main{
    padding: 120px 124px;
    box-sizing: border-box;
}

.l-top_link-recruit_text{
    font-size: 16px;
    line-height: 2.0;
    letter-spacing: 0.03em;
    margin-top: 25px;
}

.btn_link-recruit{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    overflow: hidden;
}

.btn_link-recruit p{
    font-family: var(--f-jost);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
}


@media screen and (min-width: 768px) and (max-width: 1023px){
    .l-top_link-recruit a{
        width: 100%;
        height: auto;
    }

    /* .l-top_link-recruit_main{
        padding: 11vw 8vw 7vw;
    } */
    .l-top_link-recruit_main{
        padding: 90px 75px;
        box-sizing: border-box;

    }
    
    .l-top_link-recruit_text{
        font-size: 12px;
        line-height: 2.0;
        letter-spacing: 0.03em;
        margin-top: 15px;
    }
    
    .btn_link-recruit{
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 15px;
    }

    .l-top_link-recruit a{
        background: url('../img/top/bg_recruit_pc.webp') no-repeat;
        background-size: 100% auto;
        width: 100%;
        height: auto;
        aspect-ratio: 1000 / 403;
    }

    .btn_link-recruit img{
        width: 6vw;
        height: 6vw;
    }
    
    .btn_link-recruit p{
        font-family: var(--f-jost);
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.08em;
    }
}

@media screen and (max-width: 767px) {
    .l-top_link-recruit{
        padding: 50px 0;
    }
    
    .l-top_link-recruit a{
        background: url('../img/top/bg_recruit_sp.webp') no-repeat;
        background-size: 100% auto;
        width: 100%;
        height: auto;
        aspect-ratio: 327 / 208;
    }
    
    .l-top_link-recruit_main{
        padding: 57px 20px 27px;
    }
    
    .l-top_link-recruit_text{
        font-size: 3.2vw;
        line-height: 1.667;
        letter-spacing: 0.03em;
        margin-top: 11px;
    }
    
    .btn_link-recruit{
        display: flex;
        align-items: center;
        gap: 5px;
        margin-top: 20px;
    }

    .btn_link-recruit img{
        width: 8.533vw;
        height: 8.533vw;
    }
    
    .btn_link-recruit p{
        font-size: 3.2vw;
        line-height: 1;
    }
}

/* contact */
.l-top_contact{
    background: var(--blue01);
    padding: 110px 0 70px;
}

.l-top_contact_wrapper{
    display: flex;
    justify-content: space-between;
    max-width: 840px;
    width: 84%;
    margin: 0 auto;
}

.l-top_contact_main{
    color: var(--white);
    max-width: 420px;
}

.l-top_contact_main h3.subtitle::before{
    color: var(--white);
}

.l-top_contact_main p{
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.5625;
    letter-spacing: 0.08em;
}

.l-top_contact_main p span{
    font-size: 12px;
}

.l-top_contact_wrapper a{
    display: flex;
    width: 76px;
    height: 76px;
    /* margin-top: -20px; */
}

@media screen and (max-width: 767px) {
    .l-top_contact{
        padding: 65px 0 40px;
    }
    
    .l-top_contact_wrapper{
        display: flex;
        justify-content: space-between;
        max-width: 87.2%;
        width: 87.2%;
        margin: 0 auto;
    }
    
    .l-top_contact_main{
        color: var(--white);
        max-width: 420px;
    }
    
    .l-top_contact_main h3.subtitle::before{
        color: var(--white);
    }
    
    .l-top_contact_main p{
        margin-top: 15px;
        font-size: 3.733vw;
        line-height: 1.428;
    }
    
    .l-top_contact_main p span{
        font-size: 3.2vw;
    }
    
    .l-top_contact_wrapper a{
        width: 10.13vw;
        height: 10.13vw;
        margin-top: 25px;
    }
}

/* -----------------------------------------
　下層共通
------------------------------------------*/
/* slider調整 */
.l-business_list .slick-dots{
    bottom: -30px;
}

.l-business_list .slick-dots li button:before{
    font-size: 10px;
    color: var(--gray01);
    opacity: 1;

}

.l-business_list .slick-dots li.slick-active button:before{
    color: var(--green01);
}


.l-under{
    background: var(--gray02);
}

.l-under_head{
    position: relative;
    padding: 15px 0 50px;
    background: var(--white);
}

.l-under_head::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background: url('../img/common/bg_under_head_pc.svg') no-repeat;
    width: 300px;
    height: 40px;
}

.l-under_head .breadcrumb{
    margin-left: 40px;
}

.l-under_head .breadcrumb ul{
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
}

.l-under_head .breadcrumb ul li a{
    position: relative;
}

.l-under_head .breadcrumb ul li:not(:last-of-type) a::after {
    content: '/';
    margin: 10px;
  }

.l-under_head h1{
    position: relative;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 85px;

}

.l-under_head h1::after{
    content: attr(data-en);
    display: block;
    position: absolute;
    top: -25px;
    left: 2px;
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 16px;
    letter-spacing: 0.12em;
}


.l-under_wrapper{
    max-width: 1100px;
    margin: auto;
    padding: 100px 0 250px;
}

.l-under_inner{
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: flex-start;
}

.l-under_inner .sidemenu{
    max-width: 200px;
    width: 20.2%;
    justify-content: center;
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
}

.l-under_inner .sidemenu ul{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.l-under_inner .sidemenu ul li a{
    display: block;
    position: relative;
    padding-left: 24px;
    color: var(--gray04);
}

.l-under_inner .sidemenu ul li a.current{
    color: var(--black);
}

.l-under_inner .sidemenu ul li a.current::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 100vh;
    background: var(--blue01);
}

@media screen and (min-width: 768px) and (max-width: 1279px){
    
    .l-under_wrapper{
        width: 90%;
    }
    
    .l-under_inner{
        display: flex;
        justify-content: space-between;
        gap: 40px;
    }
    
    .l-under_inner .sidemenu{
        display: none;
        max-width: 200px;
        width: 20.2%;
    }
    
    .l-under_inner .sidemenu ul li a{
        display: block;
        position: relative;
        padding-left: 24px;
        color: var(--gray04);
    }
}

@media screen and (max-width: 767px) {
    .l-under{
        background: var(--gray02);
    }
    
    .l-under_head{
        padding: 15px 0 40px;
    }
    
    .l-under_head::after{
        background: url('../img/common/bg_under_head_sp.svg') no-repeat;
        width: 40vw;
        height: 10.66vw;
    }
    
    .l-under_head .breadcrumb{
        margin-left: 6.4vw;
    }
    
    .l-under_head .breadcrumb ul{
        margin: 2.6667vw 0;
    }
    
    
    .l-under_head .breadcrumb ul li:not(:last-of-type) a::after {
        margin: 6px;
      }
    
    .l-under_head h1{
        font-size: 5.8667vw;
        margin-top: 60px;
    
    }
    
    .l-under_head h1::after{
        font-size: 3.2vw;
        font-weight: 400;
    }
    
    .l-under_wrapper{
        padding: 50px 0 50px;
    }
    
    .l-under_inner{
        gap: 0;
    }
    
    .l-under_inner .sidemenu{
        display: none;
    }
}


/* -----------------------------------------
　事業案内共通
------------------------------------------*/

.l-business{
    max-width: 812px;
    width: 73%;
    margin-right: 50px;
}

.l-business h2{
    font-size: 22px;
    line-height: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.l-business h2:after{
    content: attr(data-en);
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 12px;
    letter-spacing: 0.12em;
    margin: 5px 0 0 6px;
}

.l-business_list{
    display: flex;
    flex-direction: column;
    padding-top: 20px;
    margin-top: -20px;
}

.l-business_list:not(:first-child){
    margin-top: 40px;
}

.l-business_list_inner {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 20px 0;
}

.l-business_list_inner .business_slide,
.l-business_list_inner figure{
    max-width: 388px;
    width: 47.78%;
    line-height: 0;
}

.l-business_list_inner .business_slide li{
    flex: 1;
}



.l-business_list_inner .l-business_detail{
    max-width: 406px;
    width: 50%;
}

.l-business_list_inner .l-business_detail h3{
    font-size: 17px;
    font-weight: 700;
    line-height: 1.764;
}

.l-business_list_inner .l-business_detail p{
    font-size: 16px;
    margin-top: 1em;
}

.l-business_list_inner .l-business_detail .btn_link a{
    background: var(--white);
    color: var(--black);
    border: 1px solid var(--gray01);
    padding: 15px 25px;
    position: relative;
    font-size: 14px;
    border-radius: 4px;
}

.l-business_list_inner .l-business_detail .btn_link a::after{
    content: '';
    position: absolute;
    background: url('../img/common/ico_link.svg') no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.l-business_list_inner .l-business_detail .btn_sales{
    width: 80%;
}

.l-business_other h4{
    font-size: 17px;
    font-weight: 700;
    line-height: 1.764;
}

.l-business_other p{
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.75;
}

.btn_business_other{
    margin-top: 70px;
    max-width: 548px;
    width: 67.5%;
}

.btn_business_other.link_busines_shop{
    max-width: 290px;
    width: 36.1%;
}

.btn_business_other a{
    background: var(--white);
    color: var(--black);
    border: 1px solid var(--gray01);
    padding: 20px 30px;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    border-radius: 4px;
}

.btn_business_other a::after{
    content: '';
    position: absolute;
    background: url('../img/common/ico_link.svg') no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media screen and (min-width: 768px) and (max-width: 1279px){
    .l-business{
        width: 100%;
        margin-right: 0;
    }
    
    .l-business_list_inner .business_slide{
        width: 47.78%;
    }
    
    .l-business_list_inner .l-business_detail{
        width: 50%;
    }
    
    .l-business_list_inner .l-business_detail .btn_sales{
        width: 100%;
    }
    
    .btn_business_other{
        width: 60%;
    }

    .btn_business_other.link_busines_shop{
        width: 45%;
    }
    
}

@media screen and (max-width: 767px) {
    .l-business{
        width: 87.2%;
        margin: auto;
    }

    .l-business h2{
        font-size: 4.8vw;
    }
    
    .l-business h2:after{
        font-size: 2.933vw;
        margin: 5px 0 0 2.666vw;
        width: 33vw;
    }
    
    .l-business_list:not(:first-child){
        margin-top: 32px;
    }
    
    .l-business_list_inner {
        flex-direction: column;
        gap: 0;
        padding: 12px 0 24px;
    }
    
    .l-business_list_inner .business_slide,
    .l-business_list_inner figure{
        width: 100%;
    }
    
    .l-business_list_inner .l-business_detail{
        width: 100%;
        margin-top: 16px;
    }
    
    .l-business_list_inner .l-business_detail h3{
        font-size: 4vw;
    }
    
    .l-business_list_inner .l-business_detail p{
        font-size: 3.733vw;
        margin-top: 12px;
    }
    
    .l-business_list_inner .l-business_detail .btn_link a{
        padding: 15px 20px;
        font-size: 3.733vw;
    }
    
    .l-business_list_inner .l-business_detail .btn_link a::after{
        width: 22px;
        height: 22px;
        top: 50%;
        right: 15px;
    }
    
    .l-business_list_inner .l-business_detail .btn_sales{
        width: 100%;
    }
    
    .l-business_other h4{
        font-size: 4vw;
    }
    
    .l-business_other p{
        margin-top: 10px;
        font-size: 3.733vw;
    }
    
    .btn_business_other{
        margin-top: 16px;
        width: 100%;
    }
    
    .btn_business_other a{
        padding: 15px 20px;
        font-size: 3.733vw;
    }

    .btn_business_other.link_busines_shop{
        max-width: 67.5%;
        width: 67.5%;
    }
    
    .btn_business_other a::after{
        width: 22px;
        height: 22px;
        top: 50%;
        right: 15px;
    }
}

/* -----------------------------------------
　事業案内その他
------------------------------------------*/

.l-business_extra{
    background: var(--white);
    border-radius: 12px;
    width: 100%;
    padding: 40px 55px;
    margin: 30px auto 0;
    box-sizing: border-box;
}

.l-business_extra h4{
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid var(--gray01);
    padding-bottom: 15px;
}

.l-business_extra_wapper{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 25px;
}

.l-business_extra_wapper:not(:first-child){
    margin-top: 30px;
}

.l-business_extra_wapper img{
    max-width: 304px;
    width: 43.87%;
    height: auto;
}

.l-business_extra_wapper p{
    max-width: 371px;
    width: 53.5%;
}

/* food */

.l-business_food_inner{
    background: rgba(213,231,235,0.2);
    max-width: 696px;
    margin-top: 25px;
}

.l-business_food_inner ul{
    display: flex;
    justify-content: space-between;
    max-width: 549px;
    width: 80%;
    margin: auto;
    padding: 30px 0 25px;
    border-bottom: 1px solid var(--gray01);
}

.l-business_food_inner li{
    max-width: 258px;
    width: 47%;
}

.l-business_food_inner li h5{
    color: var(--blue01);
    font-size: 16px;
    margin-top: 10px;
}

.l-business_food_inner li p{
    font-size: 14px;
    line-height: 1.429;
    margin-top: 10px;
}

.l-business_food_inner > p{
    max-width: 549px;
    width: 80%;
    margin: auto;
    font-size: 14px;
    line-height: 1.714;
    margin-top: 25px;
    padding-bottom: 30px;
}

/* coordination */
.l-business_coordination_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.l-business_coordination_inner img{
    width: 32%;
}

.l-business_coordination_inner dl{
    width: 65%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 30px 0;
}

.l-business_coordination_inner dt{
    position: relative;
    padding-left: 16px;
    font-size: 16px;
    width: 75px;
    color: var(--blue01);
}

.l-business_coordination_inner dt::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 100vh;
    background: var(--main);
}

.l-business_coordination_inner dd{
    width: calc(100% - 75px);
    font-size: 14px;
    line-height: 1.7;
}

/* works */
.l-business_extra_works{
    max-width: 354px;
    width: 51%;
}

.l-business_extra_works h5{
    font-size: 14px;
    font-weight: 700;
}

.l-business_extra_works p{
    font-size: 14px;
    margin-top: 10px;
    width: 100%;
}

.l-business_extra .l-business_works_title{
    display: flex;
    justify-content: center;
    font-size: 18px;
}

.l-business_extra .l-business_works_company{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 598px;
    gap: 25px 35px;
    margin: 30px auto 0;
}

.l-business_extra .l-business_works_company li{
    width: 176px;
    width: 29%;
}

@media screen and (min-width: 768px) and (max-width: 1279px){
    .l-business_extra .l-business_works_company li{
        width: 27%;
    }
}

@media screen and (max-width: 767px) {
    .l-business_extra{
        border-radius: 8px;
        padding: 5.333vw 5.333vw;
        margin: 30px auto 0;
        box-sizing: border-box;
    }
    
    .l-business_extra h4{
        font-size: 4.266vw;
        padding-bottom: 10px;
    }
    
    .l-business_extra_wapper{
        flex-direction: column;
        margin-top: 25px;
        gap: 15px;
    }
    
    .l-business_extra_wapper:not(:first-child){
        margin-top: 15px;
    }
    
    .l-business_extra_wapper img{
        width: 100%;
    }
    
    .l-business_extra_wapper p{
        width: 100%;
        font-size: 3.733vw;
    }
    
    /* food */
    
    .l-business_food_inner{
        background: rgba(213,231,235,0.2);
        max-width: 696px;
        margin-top: 25px;
    }
    
    .l-business_food_inner ul{
        flex-direction: column;
        max-width: 83%;
        width: 83%;
        margin: auto;
        padding: 30px 0 25px;
        gap: 10px;
    }
    
    .l-business_food_inner li{
        max-width: 100%;
        width: 100%;
    }
    
    .l-business_food_inner li h5{
        color: var(--blue01);
        font-size: 16px;
        margin-top: 10px;
    }
    
    .l-business_food_inner li p{
        font-size: 3.733vw;
        font-size: 3.2vw;
        line-height: 1.667;
    }
    
    .l-business_food_inner > p{
        max-width: 83%;
        width: 83%;
        font-size: 3.2vw;
        line-height: 1.667;
    }
    
    /* coordination */
    .l-business_coordination_inner{
        flex-direction: column;
        margin-top: 30px;
    }
    
    .l-business_coordination_inner img{
        width: 73.5%;
    }
    
    .l-business_coordination_inner dl{
        width: 100%;
        margin-top: 20px;
        gap: 10px 0;
    }
    
    .l-business_coordination_inner dt{
        font-size: 3.733vw;
    }

    .l-business_coordination_inner dt.l-business_list:not(:first-child)){
        margin-top: 15px;
    }
    
    .l-business_coordination_inner dd{
        width: 100%;
        font-size: 3.2vw;
        line-height: 1.75;
    }
    
    /* works */
    .l-business_extra_works{
        max-width: 100%;
        width: 100%;
    }
    
    .l-business_extra_works h5{
        font-size: 3.2vw;
    }
    
    .l-business_extra_works p{
        font-size: 3.2vw;
        line-height: 1.75;
        width: 100%;
    }
    
    .l-business_extra .l-business_works_title{
        font-size: 4.266vw;
        text-align: center;
    }
    
    .l-business_extra .l-business_works_company{
        max-width: 88%;
        width: 88%;
        gap: 20px 9.4%;
        margin: 30px auto 0;
    }
    
    .l-business_extra .l-business_works_company li{
        max-width: 45.3%;
        width: 45.3%;
    }
}

/* -----------------------------------------
 採用情報
------------------------------------------*/
/* common */
#recruit h3{
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#recruit h3:before{
    content: attr(data-en);
    display: block;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.12em;
}

/* kv */
.l-recriut_kv{
    background: #fff url('../img/recruit/bg_kv.svg') repeat-y;
    background-position: center bottom;
    padding-bottom: 45px;
    overflow: hidden;
}

.l-recriut_kv .loop_slide{
    padding-bottom: 45px;
}

.l-recriut_kv .loop_slide li{
    width: 280px;
    height: 370px;
    margin: 0 15px;
}

/* message */

.l-recriut_message{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--white);
    padding: 85px 0 100px;
}

.l-recriut_message h2{
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.l-recriut_message h2:after{
    content: attr(data-en);
    display: block;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
}

.l-recriut_message p{
    margin-top: 36px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.08em;
    text-align: center;
}

/* work */

.l-recriut_work{
    padding: 140px 0 100px;
}

.l-recriut_work_wrapper{
    max-width: 920px;
    margin: auto;
}

.l-recriut_work_wrapper .works{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 45px;
}

.l-recriut_work_wrapper .works:nth-child(even){
    flex-direction: row-reverse;
}

.l-recriut_work_wrapper .works:not(:first-child){
    margin-top: 40px;
}

.l-recriut_work_wrapper .works img{
    width: 45.65%;
}

.l-recriut_work_wrapper .works .works_detail{
    width: 45.65%;
}

.l-recriut_work_wrapper .works .works_detail h4{
    position: relative;
    padding-left: 20px;
    color: var(--blue01);
    font-size: 18px;
    font-weight: 700;
}

.l-recriut_work_wrapper .works .works_detail h4::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 100vh;
    background: var(--main);
}

.l-recriut_work_wrapper .works .works_detail p{
    font-size: 16px;
    line-height: 1.69;
    margin-top: 20px;
}

.l-recriut_work_wrapper .link_business{
    max-width: 50%;
    border: 1px solid var(--gray04);
    background: var(--white);
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    line-height: 2.0;
    padding: 16px 32px;
    margin: 45px auto 0;
}

.l-recriut_work_wrapper .link_business a{
    color: var(--blue01);
    text-decoration: underline;
}

/* voice */
.l-recriut_voice{
    background: var(--white);
    padding: 140px 0 100px;
}

.l-recriut_voice_inner{
    margin-top: 55px;
}

.voice_slide li{
    background: var(--white);
    margin: 8px 20px;
    width: 321px;
    border-radius: 12px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .12);
}

.voice_slide li .staff_img{
    width: 321px;
    height: 320px;
    position: relative;
}

.voice_slide li .staff_img .role{
    content: '';
    position: absolute;
    display: inline-flex;
    align-items: center;
    background: var(--blue01);
    color: var(--white);
    height: 26px;
    padding: 0 30px;
    bottom: 10px;
    left: 0;
    border-radius: 0 12px 0 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.voice_slide li .staff{
    display: flex;
    justify-content: center;
    align-items: baseline;
    color: var(--blue01);
    padding: 10px 0 20px;
    font-family: var(--f-jost);
    font-size: 22px;
}

.voice_slide li .staff span{
    font-family: var(--f-noto);
    font-size: 20px;
    margin-left: 0.5em;
}

/* .voice_slide li .staff::after{
    content: attr(data-en);
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 12px;
    letter-spacing: 0.12em;
    margin: 5px 0 0 10px;
} */

.voice_slide .prev,
.voice_slide .next{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 43px;
    height: 43px;
    box-shadow: 0 0 3px rgba(0, 0, 0, .16);
    background: #fff;
    border-radius: 100vh;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.voice_slide .prev{
    left: calc(50% - 224px);
}

.voice_slide .next{
    left: calc(50% + 176px);
}

.voice_slide .prev span{
    width: 8px;
    height: 8px;
    border-radius: 2px;
    border: 2px solid var(--blue01);
    border-color: transparent transparent #40849D #40849D;
    transform: rotate(45deg);
    margin-left: 4px;
}

.voice_slide .next span{
    width: 8px;
    height: 8px;
    border-radius: 2px;
    border: 2px solid var(--blue01);
    border-color: transparent transparent #40849D #40849D;
    transform: rotate(-135deg);
    margin-left: -2px;
}


/* guidelines */
.l-recriut_guidelines{
    padding: 140px 0 100px;
}

.l-recriut_guidelines_inner{
    background: var(--white);
    box-shadow: 0 0 3px rgba(0, 0, 0, .16);
    border-radius: 6px;
    max-width: 650px;
    padding: 80px 60px 40px;
    box-sizing: border-box;
    position: relative;
    margin: 60px auto 0;
}

.l-recriut_guidelines_inner h4{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue01);
    border: 1px solid var(--blue01);
    border-radius: 100vh;
    width: 88px;
    height: 26px;
    top: 25px;
    left: 25px;
}

.l-recriut_guidelines_inner .notice_guideline{
    color: var(--blue01);
    font-size: 14px;
    line-height: 1.527;
    margin-bottom: 20px;
}

.l-recriut_guidelines_inner dl{
    display: flex;
    flex-wrap: wrap;
    width: 520px;
    font-size: 14px;
}

.l-recriut_guidelines_inner dt{
    width: 86px;
    font-weight: 700;
}

.l-recriut_guidelines_inner dd{
    width: calc(100% - 86px);
}

.l-recriut_guidelines_inner dt:not(:first-child),
.l-recriut_guidelines_inner dd:not(:nth-child(2)){
    margin-top: 10px;
}

.l-recriut_guidelines_inner .remarks{
    margin-top: 30px;
    width: 520px;
}

.l-recriut_guidelines_inner .notice{
    font-size: 14px;
    margin-bottom: 10px;
}

.l-recriut_guidelines_inner .link > a{
    font-size: 16px;
    font-weight: 700;
    color: var(--blue01);
    display: flex;
    align-items: center;
}

.l-recriut_guidelines_inner .link > a .jost{
    font-weight: 900;
    margin-right: 5px;
}

.l-recriut_guidelines_inner .link > a .small{
    font-size: 14px;
    font-weight: 700;
}

.l-recriut_guidelines_inner .link > a.external{
    position: relative;
}

.l-recriut_guidelines_inner .link > a.external::after{
    content: '';
    position: relative;
    display: inline-flex;
    background: url('../img/recruit/ico_external_g.svg') no-repeat;
    background-size: 100% auto;
    width: 13px;
    height: 13px;
    margin-left: 6px;
}

.l-recriut_guidelines_inner .link_mail{
    color: var(--blue01);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    margin-top: 5px;
}

.l-recriut_guidelines_inner .link_mail > a{
    text-decoration: underline;
    width: 3em;
}


.l-recriut_guidelines .btn_part-time{
    max-width: 526px;
    margin: 40px auto 0;
    height: 60px;
}

.l-recriut_guidelines .btn_part-time a{
    background: #39A7A7;
    border-radius: 5px;
    color: var(--white);
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    font-size: 16px;
    font-weight: 700;
}

.l-recriut_guidelines .btn_part-time a::after{
    content: '';
    position: absolute;
    background: url('../img/recruit/ico_external_w.svg') no-repeat;
    background-size: 100% auto;
    width: 14px;
    height: 14px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

}

@media screen and (min-width: 768px) and (max-width: 1279px){
    .l-recriut_work_wrapper .works{
        width: 90%;
        margin: 45px auto 0;
    }
}

@media screen and (max-width: 767px) {
    #recruit h3{
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    #recruit h3:before{
        content: attr(data-en);
        display: block;
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        color: var(--blue01);
        font-family: var(--f-jost);
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 0.12em;
    }
    
    /* kv */
    .l-recriut_kv{
        background: #fff url('../img/recruit/bg_kv_sp.svg') no-repeat;
        background-position: center bottom;
        padding-bottom: 30px;
    }
    
    .l-recriut_kv .loop_slide{
        padding-bottom: 0;
    }
    
    .l-recriut_kv .loop_slide li{
        width: 44.2667vw;
        height: 58.667vw;
        margin: 0 1.333vw;
    }
    
    /* message */
    
    .l-recriut_message{
        padding: 50px 0 50px;
    }
    
    .l-recriut_message h2{
        font-size: 4.2667vw;
    }
    
    .l-recriut_message h2:after{
        font-size: 2.9333vw;
    }
    
    .l-recriut_message p{
        margin-top: 30px;
        font-size: 3.2vw;
        line-height: 2.16;
    }
    
    /* work */
    
    .l-recriut_work{
        padding: 70px 0 50px;
    }
    
    .l-recriut_work_wrapper{
        width: 87.2%;
    }
    
    .l-recriut_work_wrapper .works{
        flex-direction: column;
        gap: 20px;
    }
    
    .l-recriut_work_wrapper .works:nth-child(even){
        flex-direction: column;
    }
    
    .l-recriut_work_wrapper .works:not(:first-child){
        margin-top: 40px;
    }
    
    .l-recriut_work_wrapper .works img{
        width: 100%;
    }
    
    .l-recriut_work_wrapper .works .works_detail{
        width: 100%;
    }
    
    .l-recriut_work_wrapper .works .works_detail h4{
        font-size: 4.2667vw;
    }

    .l-recriut_work_wrapper .works .works_detail p{
        font-size: 3.733vw;
        margin-top: 16px;
    }

    .l-recriut_work_wrapper .link_business{
        max-width: 100%;
        font-size: 4.266vw;
        padding: 1em 1em;
        margin: 40px auto 0;
    }
    
    /* voice */
    .l-recriut_voice{
        background: var(--white);
        padding: 70px 0 45px;
    }
    
    .l-recriut_voice_inner{
        margin-top: 40px;
    }
    
    .voice_slide li{
        background: var(--white);
        margin: 8px 20px;
        width: 55.733vw;
        border-radius: 12px;
        box-shadow: 0 0 8px rgba(0, 0, 0, .12);
    }
    
    .voice_slide li .staff_img{
        width: 55.733vw;
        height: auto;
    }
    
    .voice_slide li .staff_img .role{
        height: 6.4vw;
        padding: 0 2.667vw;
        bottom: 0;
        left: 0;
        border-radius: 0 12px 0 0;
        font-size: 3.2vw;
    }
    
    .voice_slide li .staff{
        /* display: flex;
        justify-content: center;
        align-items: flex-end; */
        padding: 12px 0 12px;
        font-size: 4.2667vw;
        line-height: 1;
    }
    
    .voice_slide li .staff span{
        font-size: 3.2vw;
        margin-left: 1.5vw;
    }
    
    .voice_slide li .staff::after{
        font-size: 2.933vw;
        letter-spacing: 0;
        margin: 0 0 0 1.5vw;
    }

    .voice_slide .prev,
    .voice_slide .next{
        width: 28px;
        height: 28px;
    }

    .voice_slide .prev{
        left: calc(50% - 31vw);
    }

    .voice_slide .next{
        left: calc(50% + 24vw);
    }
    
    .voice_slide .slick-prev{
        left: calc(50% - 31vw);
        width: 31px;
        height: 31px;
    }
    
    .voice_slide .slick-next{
        left: calc(50% + 24vw);
        width: 31px;
        height: 31px;
    }
    
    /* guidelines */
    .l-recriut_guidelines{
        padding: 70px 0 50px;
    }
    
    .l-recriut_guidelines_inner{
        background: var(--white);
        box-shadow: 0 0 3px rgba(0, 0, 0, .16);
        border-radius: 6px;
        max-width: 87.2%;
        width: 87.2%;
        padding: 60px 5.333vw 30px;
        box-sizing: border-box;
        position: relative;
        margin: 30px auto 0;
    }
    
    .l-recriut_guidelines_inner h4{
        width: 88px;
        height: 24px;
        top: 20px;
        left: 20px;
        font-size: 3.2vw;
    }

    .l-recriut_guidelines_inner .notice_guideline{
        font-size: 3.2vw;
        line-height: 1.5;
        margin-bottom: 10px;
    }
    
    .l-recriut_guidelines_inner dl{
        width: 100%;
        font-size: 3.2vw;
    }
    
    .l-recriut_guidelines_inner dt{
        width: 70px;
        font-weight: 700;
    }
    
    .l-recriut_guidelines_inner dd{
        width: calc(100% - 70px);
    }
    
    .l-recriut_guidelines_inner dt:not(:first-child),
    .l-recriut_guidelines_inner dd:not(:nth-child(2)){
        margin-top: 10px;
    }
    
    .l-recriut_guidelines_inner .remarks{
        margin-top: 30px;
        width: 100%;
    }
    
    .l-recriut_guidelines_inner .notice{
        font-size: 3.2vw;
        margin-bottom: 10px;
    }
    
    .l-recriut_guidelines_inner .link > a{
        font-size: 3.733vw;
    }
    
    .l-recriut_guidelines_inner .link > a .small{
        font-size: 3.2vw;
    }

    .l-recriut_guidelines_inner .link_mail{
        font-size: 3.2vw;
        margin-top: 10px;
    }

    .l-recriut_guidelines .btn_part-time{
        width: 87.2%;
    }

    .l-recriut_guidelines .btn_part-time a{
        height: 75px;
        padding: 0 15px;
        font-size: 3.733vw;
    }
    
    .l-recriut_guidelines .btn_part-time a::after{
        width: 18px;
        height: 18px;
    }
}

/* contact */
.l-recruit_contact{
    background: var(--blue01);
    padding: 110px 0 70px;
}

.l-recruit_contact h4.subtitle{
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.29;
    position: relative;
}

.l-recruit_contact h4.subtitle::before{
    content: attr(data-en);
    display: block;
    position: absolute;
    top: -25px;
    left: 2px;
    color: var(--white);
    font-family: var(--f-jost);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.12em;
}

.l-recruit_contact_wrapper{
    display: flex;
    justify-content: space-between;
    max-width: 840px;
    width: 84%;
    margin: 0 auto;
}

.l-recruit_contact_main{
    color: var(--white);
    max-width: 420px;
}

.l-recruit_contact_main h3.subtitle::before{
    color: var(--white);
}

.l-recruit_contact_main p{
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.5625;
    letter-spacing: 0.08em;
}

.l-recruit_contact_main p span{
    font-size: 12px;
}

.l-recruit_contact_wrapper a{
    display: flex;
    width: 76px;
    height: 76px;
    /* margin-top: -20px; */
}

@media screen and (max-width: 767px) {
    .l-recruit_contact{
        padding: 65px 0 40px;
    }
    
    .l-recruit_contact_wrapper{
        display: flex;
        justify-content: space-between;
        max-width: 87.2%;
        width: 87.2%;
        margin: 0 auto;
    }
    
    .l-recruit_contact_main{
        color: var(--white);
        max-width: 420px;
    }
    
    .l-recruit_contact_main h3.subtitle::before{
        color: var(--white);
    }
    
    .l-recruit_contact_main p{
        margin-top: 15px;
        font-size: 3.733vw;
        line-height: 1.428;
    }
    
    .l-recruit_contact_main p span{
        font-size: 3.2vw;
    }
    
    .l-recruit_contact_wrapper a{
        width: 10.13vw;
        height: 10.13vw;
        margin-top: 25px;
    }
}

/* -----------------------------------------
** modal
-----------------------------------------*/
.remodal-overlay{
    background: rgba(0, 0, 0, 0.6);
}
.remodal{
    max-width: 920px;
    width: 90%;
    margin: auto;
}

.remodal-wrapper{
    padding: 0 0 40px;
}

.remodal .modal-wrapper{
    max-width: 920px;
    box-sizing: border-box;
    position: relative;
}

.remodal .modal-wrapper .btn-close{
    content: '';
    position: absolute;
    background: url('../img/recruit/btn_close.svg') no-repeat;
    background-size: 100% auto;
    width: 28px;
    height: 28px;
    right: 24px;
    top: 24px;
    cursor: pointer;
}

.remodal .modal-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    background: #fff;
    width: 100%;
    padding: 40px 55px;
    border-radius: 12px;
    margin: 0 auto;
    position: relative;
}

.remodal .modal-inner::before{
    content: '';
    position: absolute;
    background: url('../img/recruit/bg_modal.svg') no-repeat;
    background-size: 100% auto;
    width: 300px;
    height: 40px;
    right: 0;
    top: 0;
}

.remodal .modal-inner::after{
    content: '';
    position: absolute;
    background: url('../img/recruit/bg_modal_btm.svg') no-repeat;
    background-size: 100% auto;
    width: 300px;
    height: 40px;
    left: 0;
    bottom: 0;
}

.remodal .staff{
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    padding: 10px 0 20px;
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 22px;
    line-height: 1.45;
}

.remodal .staff span{
    margin-left: 0.5em;
    font-family: var(--f-noto);
    font-size: 20px;
}

/* .remodal .staff::after{
    content: attr(data-en);
    color: var(--blue01);
    font-family: var(--f-jost);
    font-size: 12px;
    letter-spacing: 0.12em;
    margin: 5px 0 0 10px;
} */

.remodal dl{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.remodal dt{
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    color: var(--blue01);
}

.remodal dt:not(:first-child){
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid var(--gray01);
}

.remodal dd{
    padding-top: 10px;
    font-size: 16px;
    line-height: 1.75;
}

@media screen and (min-width: 768px) and (max-width: 880px){
    .modal-inner .modal-staff{
        width: 258px;
    }

    .remodal .staff_img{
        width: 258px;
    }

    .remodal dl{
        width: calc(100% - 293px);
    }
}

@media screen and (max-width: 767px) {
    
    .remodal .modal-wrapper .btn-close{
        right: 12px;
        top: 12px;
    }
    
    .remodal .modal-inner{
        flex-direction: column;
        gap: 16px;
        padding: 32px 20px;
    }
    
    .remodal .modal-inner::before{
        width: 150px;
        height: 20px;
    }
    
    .remodal .modal-inner::after{
        width: 150px;
        height: 20px;
    }

    .remodal .modal-staff{
        width: 72%;
        margin: auto;
    }
    
    .remodal .staff{
        padding: 5px 0 0;
        font-size: 4.266vw;
    }
    
    .remodal .staff span{
        font-size: 3.733vw;
    }
    
    /* .remodal .staff::after{
        font-size: 3.2vw;
        margin: 5px 0 0 10px;
    } */
    
    .remodal dt{
        font-size: 3.7333vw;
    }
    
    .remodal dd{
        font-size: 3.7333vw;
    }
}

#guidelines {
    padding-top: 60px;
    margin-top: -60px;
}