/* 共通部分 */
/* カラー */
:root {
    --yellow: #f7ce3e;
    --black: #000;
    --white: #fff;
    --muted: #666;
    --max-width: 1100px;
    --gutter: 24px;
}

sup{
    top: -10px;
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

/* カミングスーン */
/* 非公開 */
.coming-soon{
    pointer-events: none;
    opacity: 0.4;
    cursor: default; 
}
/* 注釈 */
.note{
    font-size: 12px;
}
@media screen and (max-width: 768px) {
    .note{
        font-size: 11px;
    }
}
/* パンクズ */
.breadcrumb{
    background-color: #f9f9f9;
    font-weight: bold;
    font-size: 14px;
    width: 100%;
    margin: 0;
}
.breadcrumb__inner{
    padding: 30px 5%;
}
@media screen and (max-width: 768px) {
    .breadcrumb{
        font-size: 13px;
    }
    .breadcrumb__inner{
        padding: 15px 5%;
    }
}
/* 背景色 */
.bg-gray{
    background-color: #f9f9f9;
    border-radius: 12px;
}
.bg-yellow{
    background-color: #fffbef;
    padding: 180px 0;
}
/* 斜め背景 */
.diagonal-section {
    position: relative;
    background-color: #f9f9f9;
    padding: 180px 0;
    clip-path: polygon(
        0 0,
        100% 5%,
        100% 100%,
        0 95% 
    );
}
@media screen and (max-width: 768px) {
    .diagonal-section {
        padding: 100px 0;
        clip-path: polygon(
            0 0,
            100% 3%,
            100% 100%,
            0 97% 
        );
    }
}
.diagonal-section2 {
    position: relative;
    background-color: #f9f9f9;
    padding: 180px 0;
    clip-path: polygon(
        0 5%,
        100% 0%, 
        100% 100%,
        0 100% 
    );
}
@media screen and (max-width: 768px) {
    .diagonal-section2 {
        padding: 100px 0;
        clip-path: polygon(
            0 3%,
            100% 0%, 
            100% 100%,
            0 100% 
        );
    }
}
/* 白い矢印ボタン */
.arrow-btn-white {
    width: 35px;
    height: 35px;
    position: absolute;
    background-color: #fff;
    border-radius: 50%;
    right: 20px;
    bottom: 20px;
}
.arrow-btn-white .arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;  /* 軸の長さ */
    height: 2px;  /* 軸の太さ */
    background-color: #000;
}
.arrow-btn-white .arrow::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 3px;   /* 矢羽の長さ */
    height: 3px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
    .arrow-btn-white .arrow{
        width: 11px;
        height: 1px;
    }
    .arrow-btn-white .arrow::before{
        border-top: 1px solid #000;
        border-right: 1px solid #000;
    }
    .arrow-btn-white {
        width: 30px;
        height: 30px;
    }
}

/* センタータイトル */
.center-title{
    text-align: center;
    margin-bottom: 60px;
}
.center-title .title{
    margin-bottom: 70px;
}
.center-title .title .en{
    color: var(--yellow);
    font-size: 18px;
    font-weight: bold;
}
.center-title .title .ja{
    font-size: 66px;
    font-weight: 600;
}
.center-title .text p{
    font-size: 18px;
}
@media screen and (max-width: 768px) {
    .center-title{
        width: 90%;
        margin: 0 auto 35px;
    }
    .center-title .title{
        margin-bottom: 45px;
    }
    .center-title .title .en{
        font-size: 12px;
    }
    .center-title .title .ja{
        font-size: 36px;
    }
    .center-title .text{
        text-align: left;
    }
    .center-title .text p{
        font-size: 15px;
    }
}

/* タイトル */
.title-box{
    margin-bottom: 80px;
}
.title-box .mini{
    font-size: 18px;
    font-weight: bold;
    color: var(--yellow);
}
.title-box .main{
    font-size: 44px;
    font-weight: bold;
    margin-top: 10px;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .title-box{
        margin-bottom: 50px;
    }
    .title-box .mini{
        font-size: 12px;
    }
    .title-box .main{
        font-size: 27px;
    }
}
/* MV */
#job-description .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_job-description.jpg) no-repeat center/cover;
}
#future .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_future.jpg) no-repeat center/cover;
}
#work .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_work.jpg) no-repeat center/cover;
}
#environment .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_environment.jpg) no-repeat center/cover;
}
#faq .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_faq.jpg) no-repeat center/cover;
}
#entry .mv-section .mv-image{
    background: url(../../images/recruit-site/mv_entry.jpg) no-repeat center/cover;
}
/* ヘッダー */
.hidden {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
  }
.nav{
    justify-content: flex-start;
    height: 160px;
}
.nav .pc-menu{
    display: flex;
    margin-right: 50px;
    margin-left: auto;
    gap: 25px;
}
.nav .pc-menu li{
    font-size: 16px;
    font-weight: bold;
}
.entry-btn{
    background-color: var(--yellow);
    width: 180px;
    height: 48px;
    border-radius: 24px;
    text-align: center;
    line-height: 48px;
}
.entry-btn a{
    font-size: 18px;
    font-weight: bold;
    display: block;
}
.recruit-logo{
    display: flex;
    gap: 20px;
    align-items: flex-end;
    width: 25%;
}
.recruit-logo img{
    width: 200px;
}
.recruit-logo p{
    font-size: 14px;
    line-height: 1;
}
.nav__icon{
    display: none;
}
@media (max-width: 1250px) {
    .pc-menu.sp-none{
        display: none;
    }
    .nav__icon{
        display: block;
    }
    .nav{
        height: 65px;
    }
    .nav .pc-menu{
        margin-right: 30px;
    }
    .recruit-logo{
        gap: 10px;
        width: 65%;
    }
    .recruit-logo img{
        width: 135px;
    }
    .recruit-logo p{
        font-size: 9px;
    }
    .entry-btn{
        margin-left: auto;
        margin-right: 15px;
        width: 110px;
        height: 39px;
        line-height: 39px;
    }
    .entry-btn a{
        font-size: 14px;
    }
    .menu__contents{
        padding-top: 65px;
    }
}
@media (max-width: 768px) {
    .recruit-logo{
        display: block;
    }
    .recruit-logo p{
        margin-top: 7px;
    }
    .entry-btn{
        margin-right: 10px;
    }
}
/* -------------------
        フッター リンクエリア
    -------------------*/
    #recruit_footer-menu{
        margin-top: 180px;
    }
    #recruit_footer-menu ul{
        display: flex;
        flex-wrap: wrap;
    }
    #recruit_footer-menu ul li {
        width: 50%;
        box-sizing: border-box;
        border-top: 1px solid #dddddd;
        border-bottom: 1px solid #dddddd;
        border-right: 1px solid #dddddd;
        border-left: none;
        margin-bottom: -1px;
        position: relative;
    }
    #recruit_footer-menu ul li:nth-child(2n) {
        border-right: none;
    }
    #recruit_footer-menu ul li a{
        display: flex;
        align-items: center;
        gap: 9%;
        padding: 35px 4% 35px 35px;
    }
    #recruit_footer-menu ul li img{
        width: 100%;
        max-width: 180px;
        border-radius: 10px;
    }
    #recruit_footer-menu ul li .text{
        font-size: 18px;
        font-weight: bold;
    }
    #recruit_footer-menu ul li .arrow {
    content: '';
    position: absolute;
    right: 60px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 2px;
    background-color: #000; 
}

#recruit_footer-menu ul li .arrow::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
}
    @media screen and (max-width: 930px){
        #recruit_footer-menu ul{
            display: block;
        }
        #recruit_footer-menu ul li {
            width: 100%;
            gap: 45px;
        }
        #recruit_footer-menu ul li a{
            padding: 10px 5% 10px 5%;
        }
        #recruit_footer-menu ul li .text{
            font-size: 14px;
        }
        #recruit_footer-menu ul li img{
            width: 120px;
            height: auto;
        }
        #recruit_footer-menu ul li .arrow{
            right: 35px;
            height: 1px;
        }
        #recruit_footer-menu ul li .arrow::before{
            border-top: 1px solid #000;
            border-right: 1px solid #000;
        }
    }
    /* -------------------
            フッター CTA
        -------------------*/
    #recruit_footer-cta{
        background: url(../../images/recruit-site/footer-cta.jpg) no-repeat center/cover;
        display: flex;
        padding: 140px 5%;
        gap: 25px;
        justify-content: center;
    }
    #recruit_footer-cta .block{
        flex: 1 1 50%;
        position: relative;
        background-color: #fff;
        border-radius: 12px;
        padding: 100px 80px;
        max-width: 575px;
    }
    #recruit_footer-cta .block .en{
        font-size: 36px;
        text-align: center;
        font-weight: bold;
        line-height: 1;
        margin-bottom: 40px;
    }
    #recruit_footer-cta .block .en span{
        color: var(--yellow);
        font-size: 18px;
        display: inline-block;
        margin-bottom: 20px;
    }
    #recruit_footer-cta .block .text{
        display: flex;
        align-items: center;
        gap: 40px;
    }
    #recruit_footer-cta .block .text img{
        width: auto;
    }
    #recruit_footer-cta .block .text .ja{
        font-size: 16px;
    }
    #recruit_footer-cta .arrow-btn {
        width: 35px;
        height: 35px;
        position: absolute;
        background-color: #000;
        border-radius: 50%;
        right: 20px;
        bottom: 20px;
    }
    
    /* 矢印をボタンの中央に配置 */
    #recruit_footer-cta .arrow {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 12px;  /* 軸の長さ */
        height: 2px;  /* 軸の太さ */
        background-color: #fff;
    }
    
    /* 矢印の先端（矢羽） */
    #recruit_footer-cta .arrow::before {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        width: 3px;   /* 矢羽の長さ */
        height: 3px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: translateY(-50%) rotate(45deg);
    }
    @media screen and (max-width: 768px) {
        #recruit_footer-cta .arrow {
            width: 11px;
            height: 1px;
        }
        #recruit_footer-cta .arrow::before {
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
        }
    }
    @media screen and (max-width: 768px) {
        #recruit_footer-cta {
          flex-direction: column; /* blockにせず縦並びにする */
          padding: 90px 5%;
          gap: 8px;
        }
      
        #recruit_footer-cta .block {
          padding: 40px;
        }
      
        #recruit_footer-cta .block .text {
          display: block;
          text-align: center; /* ← これを追加！中央寄せの基本 */
        }
      
        #recruit_footer-cta .block .text img {
          display: block;     /* ← インライン要素をブロック化 */
          margin: 0 auto 30px; /* ← 左右中央寄せ＋下に余白 */
          width: 130px;
          height: 130px;
        }
      
        #recruit_footer-cta .block .text .ja {
          font-size: 14px;
          margin-top: 0;
          text-align: left;
          margin-bottom: 15px;
        }
      
        #recruit_footer-cta .block .en {
          font-size: 23px;
          margin-bottom: 30px;
        }
      
        #recruit_footer-cta .block .en span {
          font-size: 12px;
          margin-bottom: 15px;
        }
      
        #recruit_footer-cta .arrow-btn {
          width: 30px;
          height: 30px;
        }
      }
      

/* フッター */
#recruit_footer{
    padding: 80px 0 0;
}
#recruit_footer .logo{
    display: flex;
    align-items: flex-end;
    gap: 70px;
    margin-bottom: 30px;
    width: 90%;
    margin: 0 auto 40px;
}
#recruit_footer .logo{
    line-height: 1;
}
#recruit_footer .logo img{
    margin-bottom: 20px;
    width: 250px;
    margin-right: 100px;
}
#recruit_footer .logo .company-name{
    font-size: 18px;
}
#recruit_footer .logo .address{
    font-size: 14px;
    line-height: 2;
}
/* #recruit_footer .link-area{
    display: flex;
    padding: 0 5%;
    flex-wrap: wrap;
} */
#recruit_footer .link-area{
    width: 90%;
    margin: 0 auto;
}
#recruit_footer .link-area ul {
    column-count: 4;
    column-gap: 40px;
    list-style: none;
    padding: 0;
    margin: 0 auto 100px;
  }
  
  #recruit_footer .link-area li {
    break-inside: avoid;
    margin-bottom: 40px;
  }
  

#recruit_footer .link-area ul li a {
    font-size: 16px;
    font-weight: 300;
}
#recruit_footer .link-area ul li a.h1{
    font-size: 18px;
    font-weight: 500;
}
#recruit_footer .copyright{
    margin-top: 50px;
    font-size: 12px;
}
#recruit_footer .link-area ul:nth-child(2){
    margin-bottom: 50px;
}
@media (max-width: 600px) {
    #recruit_footer{
        padding: 100px 0 0;
    }
    #recruit_footer .logo{
        justify-content: center;
    }
    #recruit_footer .logo-area .logo img{
        width: 150px;
        margin-bottom: 10px;
    }
    #recruit_footer .logo-area .logo p{
        font-size: 12px;
    }
    #recruit_footer .link-area{
        display: block;
        width: 90%;
    }
    #recruit_footer .link-area ul{
        column-count: 2;
        column-gap: 20px;
    }
    #recruit_footer .link-area ul li a.h1{
        font-size: 15px;
    }
    #recruit_footer .link-area ul li a{
        font-size: 12px;
    }
    #recruit_footer .logo{
        display: block;
        width: 85%;
    }
    #recruit_footer .logo .company-name{
        margin-bottom: 20px;
    }
    #recruit_footer .logo .address{
        margin-bottom: 10px;
    }
}

#recruit_footer .footer__copy{
    background-color: var(--black);
    color: var(--white);
    text-align: center;
    padding: 30px 0;
    width: 100%;
    max-width: none;
    margin-top: 100px;
}
#entry .footer__copy{
    color: #000;
    font-size: 12px;
    text-align: center;
    margin: 300px auto 50px;
}

/* IPOの部分 */
.ipo{
    /* display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 40px; */
    width: 90%;
    margin: 0 auto;
}
.ipo img{
    width: 75px;
}
.ipo p{
    font-size: 14px;
    line-height: 1.3;
}

.pc-none,
.sp-item{
    display: none;
}
.sp-none,
.pc-item{
    display: block;
}
@media (max-width: 768px) {
    .pc-none,
    .sp-item{
        display: block;
    }
    .sp-none,
    .pc-item{
        display: none;
    }
    .ipo{
        width: 85%;
    }
    .ipo p{
        font-size: 12px;
        letter-spacing: 0px;
    }
    #recruit_footer .footer__copy{
        padding: 15px 0;
        font-size: 9px;
        margin-top: 70px;
    }
}


/* MV */
.mv-section {
    margin: 160px 0 180px;
    display: flex;
    justify-content: space-between;
}
.mv-section .mv-image {
    order: 2;
    width: 50vw;
    height: 550px;
    background-color: #999;
    position: relative;
    border-radius: 12px 0 0 12px;
}
.mv-section .mv-inner {
    order: 1;
    width: 45vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.mv-section .title-wrap h2 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 50px;
    color: var(--yellow);
    line-height: 1;
}
.mv-section .title-wrap .sub {
    font-size: 62px;
    color: #000;
    line-height: 1;
}

@media screen and (max-width: 1250px) {
    .mv-section {
        margin: 65px 0 80px;
        display: block;
    }
    .mv-section .mv-image {
        width: 85%;
        margin-left: auto;
        height: 300px;
        margin-bottom: 100px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 1;
    }
    .mv-section .mv-inner {
        width: 88vw;
        padding: 0;
        display: block;
        margin: 0 auto;
    }
    .mv-section .title-wrap {
        width: 88vw;
        margin: 105px auto 0;
        z-index: 3;
    }
    .mv-section .title-wrap h2 {
        font-size: 13px;
        margin-bottom: 15px;
    }
    .mv-section .title-wrap .sub {
        font-size: 34px;
        margin-bottom: 60px;
    }
}

/* center CTA */
.cta-wrap {
    text-align: center;
    width: 342px;
    height: 90px;
    background: var(--yellow);
    border-radius: 45px;
    margin: 0 auto;
}

.btn-cta {
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    font-size: 18px;
    line-height: 90px;
    position: relative;
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
}

.btn-cta::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 2px;
    background-color: #000; 
}

.btn-cta::before {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px){
    .cta-wrap{
        width: 240px;
        height: 60px;
    }
    .btn-cta{
        line-height: 60px;
        font-size: 15px;
    }
}
.cta-wrap-black {
    text-align: center;
    width: 342px;
    height: 90px;
    background: var(--black);
    border-radius: 45px;
    margin: 0 auto;
}

.btn-cta-black {
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    font-size: 18px;
    line-height: 90px;
    position: relative;
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    color: #fff;
}

.btn-cta-black::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 2px;
    background-color: #fff; 
}

.btn-cta-black::before {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px){
    .cta-wrap-black{
        width: 290px;
        height: 60px;
    }
    .btn-cta-black{
        line-height: 60px;
        font-size: 15px;
    }
}


/* -------------------
        TOP
-------------------*/
.main_visual{
    position: relative;
    background: url(../../images/recruit-site/mv_top.jpg) no-repeat center/cover;
    margin-top: 160px;
    height: 1040px;
    margin-bottom: 180px;
}
.main-visual__catch{
    position: absolute;
    top: 175px;
    left: 10%;
    color: #fff;
    line-height: 1.5;
}
.main-visual__catch-main{
    font-size: 90px;
    font-weight: 600;
    line-height: 1.3;
}
.main-visual__catch-sub{
    font-size: 40px;
    font-weight: 600;
    margin-top: 30px;
}
.main-visual__en{
    position: absolute;
    bottom: 0;
    right: 20px;
    color: #fff;
    font-size: 40px;
    font-weight: 100;
}
.main_visual .cta-wrap{
    position: absolute;
    bottom: 180px;
    left: 10%;
}

@media screen and (max-width: 768px){
    .main_visual{
        background: url(../../images/recruit-site/mv_top-sp.jpg) no-repeat center/cover;
        margin-top: 65px;
        height: 527.5px;
        margin-bottom: 90px;
    }
    .main-visual__catch{
        top: 60px;
        line-height: 1.3;
        left: 5%;
    }
    .main-visual__catch-main{
        font-size: 40px;
        font-weight: 600;
    }
    .main-visual__catch-sub{
        font-size: 18px;
        margin-top: 20px;
    }
    .main_visual .cta-wrap{
        bottom: 117px;
        left: 50%;
        transform: translateX(-50%);
    }
    .main-visual__en{
        line-height: 1.4;
        font-size: 20px;
        right: 5%;
        bottom: 20px;
    }
}

/* TOP 画像左テキスト右 */
.box-containerA {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    padding: 30px 120px;
    width: 100%;
    margin-bottom: 180px;
  }
  
  .box-containerA__image {
    position: absolute;
    top: 0;
    right: 60%;
    width: 40%;
    height: 100%;
  }
  .box-containerA__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 12px 12px 0;
  }
  
  .box-containerA__group {
    position: relative;
    left: 40%;
    margin-left: 130px;
    max-width: 45%;
  }
  
  .box-containerA__head {
    text-align: left;
  }
  
  .box-containerA__ja-heading {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.7;
  }
  .box-containerA__ja-mini-heading {
    margin-top: 25px;
    font-size: 1.4rem;
  }
  .box-containerA__en-heading {
    margin-top: 26px;
    font-size: 50px;
    font-weight: 300;
  }
  .box-containerA__text {
    margin-top: 70px;
    font-size: 22px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 100px;
    width: 100%;
  }
  .box-containerA__group  .cta-wrap-black{
    margin-left: 0;
  }

  @media screen and (max-width: 768px) {
    .box-containerA {
      display: block;
      padding: 0;
      margin-bottom: 100px;
    }
  
    .box-containerA__image {
      position: relative;
      top: auto;
      right: auto;
      width: 90%;
      height: 300px;
      margin-bottom: 55px;
    }
    .box-containerA__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    .box-containerA__group {
      position: relative;
      left: auto;
      margin: 0 auto;
      width: 85%;
      max-width: none;
    }
  
    .box-containerA__head {
      text-align: center;
    }
  
    .box-containerA__ja-heading {
      margin-top: 14px;
      font-size: 28px;
      text-align: left;
      line-height: 1.5;
    }
    .box-containerA__ja-mini-heading {
      margin-top: 14px;
      font-size: 1.4rem;
    }
    .box-containerA__en-heading {
      margin-top: 14px;
      font-size: 31px;
      font-weight: 300;
    }
  
    .box-containerA__text {
      margin-top: 36px;
      font-size: 17px;
      letter-spacing: 0.5px;
      margin-bottom: 60px;
    }
  }
  
/* TOP 画像右テキスト左 */
.box-containerB {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    padding: 42px 0;
    width: 75%;
    max-width: 1200px;
  }
  
  .box-containerB__image {
    position: absolute;
    top: 0;
    left: 40%;
    /* width: 60%; */
  }
  
  .box-containerB__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
  }
  
  .box-containerB__group {
    position: relative;
    margin-right: 135px;
    width: 355px;
    max-width: 40%;
  }
  
  .box-containerB__head {
    text-align: left;
  }
  
  .box-containerB__ja-heading {
    font-size: 66px;
    margin-top: -10px;
    font-weight: 600;
  }
  
  .box-containerB__ja-mini-heading {
    margin-top: 25px;
    font-size: 1.4rem;
  }
  
  .box-containerB__en-heading {
    font-size: 18px;
    color: var(--yellow);
    font-weight: bold;
  }
  
  .box-containerB__text {
    margin-top: 70px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 100px;
    width: 100%;
  }
  
  .box-containerB__group .cta-wrap-black {
    margin-left: 0;
  }

  @media screen and (max-width: 768px) {
    .box-containerB {
      display: block;
      padding: 0;
      width: 90%;
    }
  
    .box-containerB__image {
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      height: auto;
      margin-bottom: 60px;
    }
  
    .box-containerB__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    .box-containerB__group {
      position: relative;
      right: auto;
      margin: 0 auto;
      width: 90%;
      max-width: none;
    }
    .box-containerB__ja-heading {
      font-size: 36px;
    }
  
    .box-containerB__ja-mini-heading {
      margin-top: 14px;
      font-size: 1.4rem;
    }
  
    .box-containerB__en-heading {
      margin-top: 14px;
      font-size: 12px;
    }
  
    .box-containerB__text {
      margin-top: 30px;
      font-size: 15px;
      line-height: 2;
      letter-spacing: 0.5px;
      margin-bottom: 40px;
    }
  }

  /* TOP 画像右テキスト左その2 */

  .box-containerC {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    padding: 120px 120px;
    width: 100%;
    margin-bottom: 180px;
  }
  
  .box-containerC__image {
    position: absolute;
    top: 0;
    left: 60%;
    width: 40%;
    height: 100%;
  }
  .box-containerC__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px 0 0 12px; /* ←左右反転 */
  }
  
  .box-containerC__group {
    position: relative;
    margin-right: 120px;
    width: 720px;
    max-width: 55%;
  }
  
  .box-containerC__head {
    text-align: left;
  }
  
  .box-containerC__ja-heading {
    font-size: 48px;
  }
  .box-containerC__ja-mini-heading {
    margin-top: 25px;
    font-size: 1.4rem;
  }
  .box-containerC__en-heading {
    margin-top: 26px;
    font-size: 50px;
  }
  .box-containerC__text {
    margin-top: 70px;
    font-size: 22px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 100px;
    width: 100%;
  }
  .box-containerC__group .cta-wrap-black {
    margin-left: 0;
  }
  
  @media screen and (max-width: 768px) {
    .box-containerC {
      display: flex;
      flex-direction: column;
      padding: 0;
      margin-bottom: 100px;
    }
  
    .box-containerC__image {
        order: 2;
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      height: 300px;
      margin-top: 80px;
      width: 85%;
      margin-left: auto;
    }
    .box-containerC__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    .box-containerC__group {
        order: 1;
        position: relative;
        right: auto;
        margin: 0 auto;
        width: 85%;
        max-width: none;
    }
  
    .box-containerC__head {
      text-align: center;
    }
  
    .box-containerC__ja-heading {
      margin-top: 14px;
      font-size: 1.4rem;
    }
    .box-containerC__ja-mini-heading {
      margin-top: 14px;
      font-size: 1.4rem;
    }
    .box-containerC__en-heading {
      margin-top: 14px;
      font-size: 31px;
    }
  
    .box-containerC__text {
      margin-top: 36px;
      font-size: 15px;
      line-height: 2;
      letter-spacing: 0.5px;
      margin-bottom: 60px;
    }
  }

/* ワークページの左右デザイン */
.team-box{
    width: 90%;
    margin: 0 auto;
    background-color: #fff;
    padding: 120px;
    margin-bottom: 30px;
    max-width: 1440px;
    border-radius: 12px;
}
.skill{
    font-size: 18px;
    font-weight: bold;
}
.skill-list{
    font-size: 16px;
}
.work-containerA {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    width: 100%;
  }
  
  .work-containerA__image {
    position: absolute;
    top: 0;
    right: 50%;
    width: 50%;
    height: auto;
  }
  .work-containerA__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
  
  .work-containerA__group {
    position: relative;
    left: 50%;
    margin-left: 135px;
    width: 525px;
    max-width: 40%;
  }
  
  .work-containerA__head {
    /* display: flex; */
    align-items: baseline;
    gap: 30px;
    margin-bottom: 70px;
    flex-wrap: wrap;
  }
  
  .work-containerA__ja-heading {
    font-size: 36px;
    font-weight: bold;
  }
  .work-containerA__en-heading {
    font-size: 18px;
    color: var(--yellow);
    font-weight: bold;
  }
  .work-containerA__text {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 80px;
    width: 100%;
  }

  @media screen and (max-width: 768px) {
    .work-containerA {
      display: block;
      padding: 60px 20px;
      margin-bottom: 100px;
    }
  
    .work-containerA__image {
      position: relative;
      top: auto;
      right: auto;
      width: 100%;
      margin-bottom: 30px;
    }
    .work-containerA__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    .work-containerA__group {
      position: relative;
      left: auto;
      margin: 0 auto;
      width: 85%;
      max-width: none;
    }
  
    .work-containerA__head {
      text-align: center;
    }
  
    .work-containerA__ja-heading {
      margin-top: 14px;
      font-size: 23px;
    }
    .work-containerA__en-heading {
      margin-top: 14px;
      font-size: 12px;
      line-height: 1;
    }
  
    .work-containerA__text {
      margin-top: 36px;
      font-size: 15px;
      line-height: 2;
      letter-spacing: 0.5px;
      margin-bottom: 60px;
    }
  }
  .work-containerB {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    width: 100%;
}

.work-containerB__image {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: auto;
}

.work-containerB__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.work-containerB__group {
    position: relative;
    margin-right: 135px; /* 左→右に変更 */
    width: 525px;
    max-width: 40%;
}

.work-containerB__head {
    /* display: flex; */
    align-items: baseline;
    gap: 30px;
    margin-bottom: 70px;
    flex-wrap: wrap;
}

.work-containerB__ja-heading {
    font-size: 36px;
    font-weight: bold;
}

.work-containerB__en-heading {
    font-size: 18px;
    color: var(--yellow);
    font-weight: bold;
}

.work-containerB__text {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 80px;
    width: 100%;
}
/* -------------------
   レスポンシブ
-------------------*/
@media screen and (max-width: 768px) {
    .work-containerB {
        display: block;
        padding: 60px 20px;
        margin-bottom: 100px;
    }

    .work-containerB__image {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        margin-bottom: 30px;
    }

    .work-containerB__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .work-containerB__group {
        position: relative;
        right: auto;
        margin: 0 auto;
        width: 85%;
        max-width: none;
    }

    .work-containerB__head {
        text-align: center;
    }

    .work-containerB__ja-heading {
        margin-top: 14px;
        font-size: 23px;
    }

    .work-containerB__en-heading {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1;
    }

    .work-containerB__text {
        margin-top: 36px;
        font-size: 15px;
        line-height: 2;
        letter-spacing: 0.5px;
        margin-bottom: 60px;
    }
}



  .pyramid-images__top{
    width: 100%;
  }
  .pyramid-images {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    margin: 0 auto;
  }
  
  .pyramid-images__top img {
    height: auto;
    display: block;
    border-radius: 12px;
  }
  
  .pyramid-images__bottom {
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: center;
  }
  
  .pyramid-images__bottom img {
	width: calc((100% - 20px) / 2);
    height: auto;
    border-radius: 12px;
  }
  @media screen and (max-width: 768px) {
    .pyramid-images,
    .pyramid-images__bottom {
        gap: 10px;
    }
    .pyramid-images__bottom img {
        width: calc((100% - 10px) / 2);
      }
  }

/* TOP profile */

#profile{
    margin: 130px 0 180px;
}
@media screen and (max-width:768px) {
    #profile{
        margin: 90px 0;
    }
}
.slider-wrapper {
    overflow: hidden;
    width: 100%;
}

.slider {
    display: flex;
    gap: 25px;
    transition: transform 0.3s ease;
    justify-content: center;
}

.slider a {
    flex: 0 0 calc((100% - 25px*2) / 3.5);
    font-size: 18px;
}

.slider a:first-child {
    margin-left: calc((100% - 25px*2) / 3 / 4);
}

.slider a:last-child {
    margin-right: calc((100% - 25px*2) / 3 / 4);
}
.slider a img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 30px;
    border-radius: 10px;
}

.slider a .comment {
    margin-bottom: 20px;
    font-size: 22px;
    letter-spacing: 0;
    font-weight: bold;
}

.slider a .name {
    font-size: 18px;
    font-weight: bold;
}

.slider a .name span {
    font-size: 14px;
    font-weight: normal;
    display: inline-block;
    line-height: 1.5;
}

.slider-controls-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin: 0 auto 25px;
    width: 90%;
}

.slider-controls-wrapper button {
    border: none;
    cursor: pointer;
}

.slider-controls-wrapper .counter {
    font-size: 18px;
    margin-right: 10px;
}

.slider-controls-wrapper .pale {
    color: #919191;
}

@media screen and (max-width:768px) {
    .slider-wrapper {
        margin-bottom: 100px;
    }

    .slider-controls-wrapper .counter {
        font-size: 14px;
    }

    .slider {
        display: flex;
        gap: 8px;
        padding: 0 15px;
        scroll-snap-type: x mandatory;
    }

    .slider a {
        flex: 0 0 90%;
        scroll-snap-align: center;
        position: relative;
        max-width: 320px;
    }

    .slider a img {
        width: 100%;
        display: block;
    }

    .slider a .comment {
        font-size: 17px;
    }

    .slider a .name {
        font-size: 15px;
    }

    .slider a .name span {
    }
    .prev,
    .next{
        padding: 0;
    }
    .prev img,
    .next img{
        width: 30px;
        height: 30px;
    }
}

/* TOP グループトーク */
#group-talk{
    width: 90%;
    margin: 0 auto 140px;
    max-width: 1200px;
}
#group-talk a{
}
.group-talk-bg{
    background: url(../../images/recruit-site/top_group-talk.jpg) no-repeat center/cover;
    border-radius: 12px;
    margin-bottom: 120px;
    padding: 210px;
    position: relative;
}
.group-talk-bg .title{
    font-size: 18px;
    text-align: center;
    color: #fff;
    font-weight: bold;
}
.group-talk-bg .text{
    font-size: 38px;
    text-align: center;
    color: #fff;
    font-weight: bold;
}
#group-talk .arrow-btn-white{
    position: absolute;
    bottom: 30px;
    right: 30px;
    width: 43px;
    height: 43px;
}
@media screen and (max-width:768px) {
    #group-talk{
        margin-bottom: 90px;
    }
    .group-talk-bg{
        padding: 50px 0;
        margin-bottom: 50px;
    }
    .group-talk-bg .title{
        font-size: 12px;
    }
    .group-talk-bg .text{
        font-size: 24px;
        margin-top: -10px;
    }
    #group-talk .arrow-btn-white{
        width: 30px;
        height: 30px;
        bottom: 12px;
        right: 12px;
    }
}
/* -------------------
    目指す未来 future
-------------------*/
.future-box {
    width: 75%;
    margin: 0 auto;
    max-width: 1200px;
}
.vision .title-box{
    text-align: center;
}
.future-box li{
    background-color: #fff;
    display: flex;
    margin-bottom: 30px;
    align-items: center;
    line-height: 1;
    padding: 50px 100px 50px 50px;
    gap: 60px;
}
.future-box li:last-child{
    margin-bottom: 0;
}
.future-box li .number{
    font-size: 68px;
    font-weight: bold;
    color: var(--yellow);
}
.future-box li .title{
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 30px;
}
.future-box li .text{
    font-size: 18px;
    line-height: 1.7;
}
#future .note{
    width: 75%;
    margin: 60px auto 0;
    max-width: 1200px;
}
.vision{
    position: relative;
}
.bubble01{
    position: absolute;
    top: -20px;
    left: 5%;
}
.bubble02{
    position: absolute;
    top: 755px;
    right: 0;
}
.bubble03{
    position: absolute;
    bottom: -90px;
    left: 5%;
}
.mission{
    margin: 180px 0;
}
.icon-list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.icon-list ul li .desc{
    text-align: center;
    font-size: 18px;
    margin-top: 20px;
    line-height: 1.3;
}
.icon-list .text{
    font-size: 22px;
    font-weight: bold;
    margin: 100px 0 30px;
}
@media screen and (max-width:768px) {
    .mission .title-box,
    .vision .title-box{
        margin-bottom: 50px;
    }
    .vision.bg-yellow{
        padding: 90px 0 275px;
    }
    .future-box{
        width: 90%;
    }
    .future-box li{
        position: relative;
        display: block;
        padding: 40px;
    }
    .future-box li .number{
        position: absolute;
        left: 10%;
        top: -20px;
        font-size: 37px;
    }
    .future-box li .title{
        font-size: 17px;
        margin-bottom: 20px;
        line-height: 1.5;
    }
    .future-box li .text{
        font-size: 15px;
    }
    .bubble01{
        bottom: 82px;
        left: 15%;
        top: auto;
    }
    .bubble01 img{
        width: 150px;
        height: 150px;
    }
    .bubble02{
        bottom: 34px;
        top: auto;
    }
    .bubble02 img{
        width: 134px;
        height: 134px;
    }
    .bubble03{
        left: 10%;
        bottom: -70px;
    }
    .bubble03 img{
        width: 114px;
        height: 114px;
    }
    .mission{
        margin: 160px 0 90px;
    }
    .icon-list .text{
        font-size: 17px;
        text-align: center;
    }
    .icon-list ul{
        gap: 40px 20px;
    }
    .icon-list ul li{
        width: 115px;
    }
    .icon-list ul li img{
        height: auto;
    }
    .icon-list ul li .desc{
        font-size: 15px;
    }
    #future .note{
        width: 90%;
        word-break: break-all; /* 英数字やURLを途中で折り返す */
        overflow-wrap: anywhere; /* 長い単語やURLも折り返し */
        white-space: normal; /* 改行を許可 */
        box-sizing: border-box;
    }
}
/* 私たちの役割 our-role */
.our-role {
    width: 90%;
    margin: 0 auto 180px;
    max-width: 1440px;
    padding-bottom: 180px;
}
.our-role .bg-gray{
    padding: 80px;
    text-align: center;
}
.our-role .title-box{
    text-align: center;
}
.our-role .bg-gray img{
    max-width: 1280px;
    object-fit: contain;
}
.our-role-lead{
    display: flex;
    flex-wrap: wrap;
    margin: 85px 0 120px;
    gap: 140px;
}
.our-role-lead .heading{
    font-size: 22px;
    font-weight: bold;
    flex-shrink: 0;
}
.our-role-lead .caption{
    font-size: 18px;
    width: 50%;
}
.our-role .gallery{
    display: flex;
    gap: 25px;
    justify-content: space-between;
}
.our-role .gallery img{
    border-radius: 10px;
    width: calc((100% - 50px) / 3);
    height: auto;
}
.message .bg-gray{
    padding: 180px 5%;
    margin-top: 180px;
    margin-bottom: -180px;
}
.boss{
    display: flex;
    gap: 150px;
}
.boss-name{
    font-size: 16px;
    text-align: right;
    margin-top: 20px;
}
.boss-name span{
    font-size: 18px;
    font-weight: bold;
    padding-left: 15px;
    display: inline-block;
}
.boss img{
    width: 100%;
    height: auto;
    border-radius: 20px;
}
.boss div{
    width: 100%;
}
.boss-name{
    font-size: 14px;
    letter-spacing: -0.5px;
}
.boss-name span{
    font-size: 15px;
}
.boss-message{
    font-size: 18px;
    line-height: 1.85;
}
.boss-message2{
    margin-top: 120px;
    font-size: 18px;
    line-height: 1.85;
}
@media screen and (max-width:768px) {
    .our-role{
        width: 95%;
        margin-left: auto;
        margin-right: 0;
        margin-bottom: 90px;
        padding-bottom: 0;
    }
    .our-role-lead{
        gap: 30px;
        margin: 70px 0 30px;
        margin-right: 5%;
    }
    .our-role-lead .heading{
        flex-shrink: unset;
        font-size: 17px;
    }
    .our-role-lead .caption{
        width: 100%;
        font-size: 15px;
    }
    .our-role .gallery{
        overflow-x: auto;
    }
    .our-role .gallery img{
        width: 90%;
        height: auto;
    }
    .our-role .gallery img:last-child{
        margin-right: 5%;
    }
    .our-role .scroll{
        overflow-x: auto;
    }
    .our-role .bg-gray{
        padding: 50px;
        width: 745px;
        margin-right: 5%;
    }
    .our-role .bg-gray img{
        width: 640px;
        display: block;
        height: auto;
    }
    .message .bg-gray{
        padding: 90px 0;
        margin-top: 0;
    }
    .message .title-box{
        width: 90%;
        margin: 0 auto 50px;
    }
    .boss{
        display: block;
        width: 90%;
        margin: 0 auto;
        gap: 60px;
    }
    .boss-name{
        text-align: left;
        margin-bottom: 30px;
    }
    .boss-message{
        font-size: 15px;
    }
    .boss-message2{
        font-size: 15px;
        width: 90%;
        margin: 0 auto;
    }
    .boss div{
        flex-shrink: unset;
    }
}

/* -------------------
        仕事を知る
-------------------*/
.brand{
    margin-bottom: 180px;
}
.brand .title-box{
    text-align: center;
}
.brand .brand-box,
.brand-description-list,
.brand-recruit-btn{
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    max-width: 1440px;
}
.brand .brand-box li,
.brand-description-list p,
.brand-recruit-btn div{
    width: calc((100% - 50px) / 3);
}
.brand .brand-box img{
    border-radius: 10px;
    margin-bottom: 30px;
    height: auto;
}
.brand .brand-box .brand-category{
    font-size: 16px;
}
.brand .brand-box .brand-name{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 30px;
}
.brand .brand-box .brand-name span{
    font-size: 12px;
}
.brand .brand-description{
    font-size: 18px;
}
.brand .brand-recruit-btn{
    margin: 50px auto 0;
}
.brand .brand-recruit-btn .cta-wrap-black{
    width: 341px;
    height: 70px;
    margin: 0 auto;
}
.brand .brand-recruit-btn .cta-wrap-black .btn-cta-black{
    line-height: 70px;
    font-size: 18px;
    font-weight: normal;
}
.team{
    max-width: 1440px;
    margin: 0 auto;
}
.team .title-box{
    width: 90%;
    margin: 0 auto 80px;
}
#work .bg-gray{
    border-radius: 0;
    padding: 180px 0;
    margin-bottom: -180px;
}

@media screen and (max-width:768px) {
    .brand{
        margin-bottom: 80px;
    }
    .brand .brand-box,
    .brand-description-list,
    .brand-recruit-btn{
        display: block;
    }
    .brand .brand-box li{
        width: 100%;
        margin-bottom: 50px;
    }
    .brand .brand-box .brand-category{
        font-size: 12px;
    }
    .brand .brand-box .brand-name{
        font-size: 18px;
        margin-bottom: 15px;
    }
    .brand .brand-box .brand-name span{
        font-size: 10px;
        letter-spacing: 0;
    }
    .brand .brand-description{
        font-size: 15px;
        margin-bottom: 30px;
    }
    #work .bg-gray{
        padding: 80px 0;
    }
    .team .title-box{
        width: 90%;
        margin-bottom: 50px;
    }
}
@media screen and (max-width: 768px) {
    .team-box{
        padding: 0 0 50px;
        display: flex;
        flex-direction: column; 
    }
    .team-box .work-containerA__head,
    .team-box .work-containerB__head{
        width: 85%;
        display: block;
        text-align: left;
        line-height: 0.7;
        margin: 0 auto;
        order: 2;
    }
    .team-box .work-containerA,
    .team-box .work-containerB{
        padding: 0;
        margin-bottom: 0;
        order: 1;
    }
    .team-box .work-containerA__group,
    .team-box .work-containerB__group{
        order: 3;
    }
    .team-box .work-containerA__text,
    .team-box .work-containerB__text{
        margin-bottom: 30px;
    }
    .team-box .work-containerA__image,
    .team-box .work-containerB__image{
        height: auto;
    }
    .team-box .work-containerA__image img,
    .team-box .work-containerB__image img{
        height: auto;
        border-radius: 10px 10px 0 0;
    }
    .skill{
        font-size: 16px;
    }
    .team-box .skill-list{
        font-size: 14px;
    }
}
/* -------------------
環境を知る ENVIRONMENT
-------------------*/
#environment .note{
    margin: 30px auto 0;
    text-align: right;
    max-width: 1440px;
}
#environment .title-box{
    width: 90%;
    margin: 0 auto 80px;
    max-width: 1440px;
}
.environment-about .bg-gray{
    border-radius: 0;
    padding: 120px 5%;
}
.environment-about .work-containerB,
.environment-about .work-containerA{
    padding: 120px 0;
    max-width: 1440px;
}
.environment-about .work-containerB__text,
.environment-about .work-containerA__text{
    margin-bottom: 0;
}
.about-list{
    margin: 100px auto 0;
    display: flex;
    gap: 25px;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1440px;
}
.about-list li{
    width: calc((100% - 50px) / 3);
    background-color: #fff;
    text-align: center;
    padding: 5% 45px;
    border-radius: 10px;
}
.about-list li:last-child {
    margin-right: auto;
  }
.about-list.gray li{
    background-color: #f9f9f9;
}
.about-list li img{
    width: 249px;
    height: 158px;
    margin: 40px auto 30px;
}
.about-list li .title{
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    padding-bottom: 20px;
    border-bottom: solid 1px #000;
}
.about-list li .numbers{
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
}
.about-list li .numbers span{
    font-size: 18px;
}
#environment .about-list li .numbers span.note{
    font-size: 12px;
    line-height: 1.2;
    text-align: left;
    display: inline-block;
    margin-top: 20px;
    font-weight: normal;
}
#environment .about-list li .numbers span.sub{
    font-size: 16px;
    margin-bottom: 10px;
    display: inline-block;
}
.about-list li .numbers.flex{
    display: flex;
    justify-content: space-between;
}
.about-list li .numbers.flex span{
    font-size: 16px;
    text-align: left;
    line-height: 1.5;
}

@media screen and (max-width:768px) {
    #environment .title-box{
        margin-bottom: 50px;
    }
    #environment .note{
        width: 90%;
        margin: 0 auto;
    }
    .about-list{
        width: 90%;
        margin: 50px auto;
        gap: 20px;
    }
    .about-list li{
        width: calc((100% - 20px) / 2);
        padding: 30px 5%;
    }
    .about-list li img{
        width: 120px;
        height: auto;
        margin: 20px auto 15px;
    }
    .about-list li .title{
        font-size: 15px;
        padding-bottom: 10px;
        line-height: 1.3;
    }
    .about-list li .numbers{
        font-size: 23px;
    }
    .about-list li .numbers.flex{
        display: block;
        text-align: left;
        line-height: 0.5;
    }
    .about-list li .numbers.flex span{
        font-size: 12px;
        line-height: 1;
    }
    .about-list li .numbers span,
    #environment .about-list li .numbers span.sub{
        font-size: 12px;
    }
    #environment .about-list li .numbers span.note{
        font-size: 9px;
    }
}

.amazing{
    width: 90%;
    margin: 120px auto;
}
.challenge{
    width: 90%;
    margin: 120px auto;
}
.benefits .title-box{
    text-align: center;
}
.benefits-list{
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    max-width: 1440px;
}
.benefits-list li{
    width: calc((100% - 60px) / 4);
    border-radius: 10px;
    border: solid 1px #d4d4d4;
}
.benefits-list li img{
    border-radius: 10px 10px 0 0;
    margin-bottom: 40px;
    height: auto;
}
.benefits-list li .title{
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}
.benefits-list li .text{
    font-size: 16px;
    padding-bottom: 40px;
    width: 80%;
    margin: 30px auto 0;
}
#environment .gallery{
    margin: 180px auto -180px;
}
#environment .gallery .bg-gray{
    border-radius: 0;
    padding: 180px 0;
}
#environment .gallery .slider img {
    width: 708px; /* 元画像幅に固定 */
    height: auto; /* 縦横比を維持 */
    display: block;
    border-radius: 10px;
}  
@media screen and (max-width:768px) {
    .amazing,
    .challenge{
        width: 100%;
    }
    .environment-about .bg-gray{
        padding: 0 0 80px 0;
    }
    .environment-about .work-containerB, 
    .environment-about .work-containerA{
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }
    .environment-about .work-containerA__head,
    .environment-about .work-containerB__head{
        gap: 0;
        margin-bottom: 30px;
        display: block;
    }
    .environment-about .work-containerA__ja-heading,
    .environment-about .work-containerB__ja-heading{
        font-size: 22px;
        text-align: left;
        line-height: 1.3;
    }
    .environment-about .work-containerA__en-heading,
    .environment-about .work-containerB__en-heading{
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.3;
        text-align: left;
    }
    .environment-about .work-containerA__text,
    .environment-about .work-containerB__text{
        font-size: 15px;
    }
    .benefits-list li{
        width: 100%;
    }
    .benefits-list li img{
        margin-bottom: 20px;
    }
    .benefits-list li .title{
        font-size: 21px;
    }
    .benefits-list li .text{
        font-size: 15px;
        margin-top: 10px;
    }
    #environment .gallery{
        margin: 80px auto -180px;
    }
    #environment .gallery .bg-gray{
        padding: 80px 0;
    }
    #environment .slider-wrapper{
        margin-bottom: 0;
    }
    #environment .gallery .slider img{
        width: 320px;
    }
}

/* -------------------
募集要項 job-description
-------------------*/
#job-description .selectbox{
    text-align: center;
    margin-bottom: 100px;
}
#job-description .selectbox #job-select{
    width: 90%;
    max-width: 463px;
    height: 70px;
    padding: 0 25px;
    font-size: 18px;
    border-radius: 10px;
    border: solid 1px #d5d5d5;
}
#job-description .bg-gray{
    width: 90%;
    margin: 0 auto 180px;
    padding: 120px 10%;
    max-width: 1440px;
}
#job-description .job-inner .title{
    font-size: 44px;
    text-align: center;
    font-weight: bold;
    line-height: 1;
}
#job-description .job-inner .title span{
    font-size: 18px;
    line-height: 1.3;
    display: inline-block;
    margin-top: 10px;
}
#job-description .job-inner .box{
    padding: 100px 0 70px;
    border-bottom: solid 1px #333;
}
#job-description .job-inner .box:last-child {
    border-bottom: none;
    }
#job-description .job-inner .mini-title{
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 60px;
}
#job-description .job-inner .box dl .set {
    display: flex; 
    margin-bottom: 50px;
    flex-wrap: wrap;
}
    
    #job-description .job-inner .box dl dt {
    width: 180px;
    font-weight: bold;
    }
    
    #job-description .job-inner .box dl dd {
    flex: 1;
    margin: 0;
    }
#job-description .job-inner .box dt{
    font-size: 18px;
    line-height: 2;
    font-weight: bold;
}
#job-description .job-inner .box dd{
    font-size: 18px;
    line-height: 2;
}
#job-description .link{
    display: flex;
    gap: 25px;
    align-items: center;
    justify-content: center;
}
#job-description .link .entry{
    background-color: #d9533b;
    text-align: center;
    width: 300px;
    height: 80px;
}
#job-description .link .entry a{
    color: #fff;
    font-size: 16px;
    line-height: 80px;
}
#job-description .link .consult{
    width: 300px;
    height: 80px;
    border: solid 1px #3e3e3e;
    text-align: center;
}
#job-description .link .consult a{
    line-height: 80px;
    font-size: 16px;
}
#job-description .flow-list{
    width: 90%;
    margin: 0 auto;
}
#job-description .cta-wrap,
#job-description .cta-wrap-black{
    margin: 0;
}
@media screen and (max-width:768px) {
    #job-description .selectbox{
        margin-bottom: 50px;
    }
    #job-description .selectbox #job-select{
        height: 50px;
        font-size: 15px;
    }
    #job-description .job-inner .box dl .set {
        display: block;
        margin-bottom: 30px;
    }
    #job-description .beige-bg{
        padding: 80px 10%;
    }
    #job-description .job-inner .title{
        font-size: 24px;
    }
    #job-description .job-inner .title span{
        font-size: 15px;
    }
    #job-description .job-inner .box{
        padding: 50px 0 40px;
    }
    #job-description .job-inner .mini-title{
        margin-bottom: 30px;
        font-size: 23px;
    }
    #job-description .job-inner .box dt{
        font-size: 15px;
    }
    #job-description .job-inner .box dd{
        font-size: 15px;
    }

    #job-description .link{
        display: block;
    }
    #job-description .link .cta-wrap{
        width: 100%;
        height: 50px;
        margin-bottom: 10px;
    }
    #job-description .link .cta-wrap a{
        font-size: 16px;
        line-height: 50px;
    }
    #job-description .link .cta-wrap-black{
        width: 100%;
        height: 50px;
    }
    #job-description .link .cta-wrap-black a{
        line-height: 50px;
        font-size: 14px;
    }
}

/* -------------------
    よくある質問 faq
-------------------*/
.acc-wrap label{
    margin:20px 0 0;
    display:block;
    height:92px;
    line-height:92px;
    padding:0 40px;
    background:#f0f0f0;
    color:#000;
    cursor:pointer;
    transition:all 0.5s;
    position:relative;
    font-size: 22px;
    font-weight: bold;
    border-radius: 10px;
}
.acc-wrap label span{
    display: inline-block;
    padding-right: 20px;
    color: var(--yellow);
    font-weight: bold;
}
.acc-wrap label:before,
.acc-wrap label:after{
    content:"";
    background-color:#000;
    position:absolute;
    top:50%;
    -moz-transform:translateY(-50%);
    -ms-transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    right:40px;
    width:10px;
    height:2px;
    transition:all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.acc-wrap label:after{
    -moz-transform:translateY(-50%) rotate(90deg);
    -ms-transform:translateY(-50%) rotate(90deg);
    -webkit-transform:translateY(-50%) rotate(90deg);
    transform:translateY(-50%) rotate(90deg);
}
/* .acc-wrap label:hover{
    background-color:#d7d7d7;
} */
.acc-wrap table{
    max-width:400px;
}
.acc-wrap table tr{
    border-bottom:1px solid #f0f0f0;
}
.acc-wrap table th{
    padding-bottom:10px;
}
.acc-wrap table td{
    padding:8px 0;width:50%;
}
.acc-wrap input{
    display:none;
}
.acc-wrap .accshow{
    height:0;
    padding:0;
    overflow:hidden;
    opacity:0;
    transition:all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.acc-wrap .accshow a{
    border-bottom:1px solid rgba(0,0,0,0.2);
    padding-bottom:4px;
}
.cssacc:checked+label+.accshow{
    height:auto;opacity:1;padding:20px;
}
.cssacc:checked+label+.accshow .line-list{
    border-top:none;
}
.cssacc:checked+label:after{
    -moz-transform:translateY(-50%);
    -ms-transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
#faq .category-title{
    width: 80%;
    margin: 0 auto;
    font-size: 44px;
    max-width: 1440px;
}
#faq .content-inner{
    margin-bottom: 120px;
}
#faq .acc-wrap{
    margin: 40px auto 0;
    width: 80%;
    max-width: 1440px;
}
#faq .cssacc:checked+label+.accshow{
    padding: 30px 40px;
    font-size: 18px;
}
#faq .cssacc:checked+label+.accshow span{
    font-size: 22px;
    color: var(--yellow);
    font-weight: bold;
}
@media screen and (max-width:768px) {
    .acc-wrap label{
        height:50px;
        line-height:50px;
    }
    .acc-wrap label.faq{
        height:100%;
        line-height:2;
        padding:14px 52px 14px 20px;
    }
    .acc-wrap table{
        max-width:none;
    }
    .acc-wrap table td{
        width:50%;
    }
    #faq .category-title{
        font-size: 20px;
        width: 88vw;
    }
    #faq .acc-wrap{
        width: 88vw;
    }
    #faq .cssacc:checked+label+.accshow span{
        font-size: 15px;
    }
    #faq .acc-wrap label, 
    #faq .acc-wrap .accshow{
        font-size: 15px;
    }
    #faq .cssacc:checked+label+.accshow{
        padding: 15px 20px;
        font-size: 15px;
    }
    #faq .content-inner{
        margin-bottom: 100px;
    }
    .acc-wrap label span{
        padding-right: 10px;
    }
    .acc-wrap label:before,
    .acc-wrap label:after{
        right: 20px;
    }
}

/* エントリーページ entry */


/* hero */
.hero {
    display: grid;
    grid-template-columns: 1fr 520px;
    align-items: center;
    gap: 48px;
    padding: 60px 0
}

.hero-left {
    padding-left: 40px
}

.eyebrow {
    color: var(--yellow);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.12em;
    margin-bottom: 14px
}

.hero h1 {
    font-size: 48px;
    margin: 0 0 6px;
    font-weight: 800
}

.hero-visual {
    justify-self: end
}

.hero-visual img {
    width: 520px;
    height: auto;
    border-radius: 18px;
    display: block;
    object-fit: cover
}

/* merits */
.merits {
    width: 85%;
    max-width: 1440px;
    margin: 180px auto 100px;
}

.merits h2 {
    text-align: center;
    font-size: 44px;
    margin-bottom: 80px
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.card {
    background: #fff
}

.card .thumb {
    overflow: hidden;
    position: relative
}

.card .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin-bottom: 20px;
}

.badge {
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 18px;
    width: 120px;
    height: 50px;
    line-height: 50px;
}

.card h3 {
    font-size: 22px;
    margin-bottom: 20px;
}

.card p {
    margin: 0;
    color: var(--muted);
    font-size: 18px
}

@media screen and (max-width:768px) {
    .merits{
        width: 90%;
        margin: 90px auto 50px;
    }
    .card{
        margin-bottom: 30px;
    }
    .cards{
        grid-template-columns: repeat(1, 1fr);
    }
    .card h3{
        font-size: 17px;
    }
    .card p{
        font-size: 15px;
    }
    .merits h2{
        font-size: 27px;
        margin-bottom: 40px;
    }
    .badge{
        font-size: 12px;
        width: 90px;
        height: 35px;
        line-height: 35px;
    }
    #entry .footer__copy{
        margin-top: 150px;
    }
}