.fv{
  & .inner{
    position: relative;
    padding: 2.625rem 0 8rem;
  }
  & .wrap01{
    position: relative;
    width: fit-content;
    margin: 0 auto;
  }
  & .wrap02{
    padding-bottom: 18.75rem;
    position: relative;
    z-index: -2;
  }
  & .img01{
    width: 56.5625rem;
    position: absolute;
    z-index: -1;
    top: 18.75rem;
  }
  & .heading01{
    font-size: 8.875rem;
    color: var(--mainGray);
    width: fit-content;
    margin: 0 auto;
    font-weight: 800;
    & span{
      background: var(--mainBlue);
      display: inline-block;
      width: 51.5rem;
      padding-bottom: 0.5rem;
      &#animationTitle{
        width: auto;
        padding: 0;
        animation: rotation2 3s linear infinite;
        transform-style: preserve-3d;
        perspective: 1000px;
      }
    }
    & span.num01{
      letter-spacing: -0.04em;
      margin-bottom: 0.1rem;
      line-height: 1.1;
    }
    & span.num02{
      letter-spacing: -0.2em;
      margin-bottom: -0.05rem;
      line-height: 1;
    }
    & span.num03{
      width: 40.6875rem;
      letter-spacing: -0.04em;
      line-height: 1.1;
      font-size: 8.375rem;
    }
  }
  & .text01,
  & .text02{
    width: 42.0625rem;
  }
  & .text01{
    font-size: 1.75rem;
    font-weight: 600;
    margin: 25rem auto 3.125rem;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  & .text02{
    font-weight: 800;
    font-size: 3.6875rem;
    margin: 0 auto;
    & .big{
      font-size: 4rem;
      letter-spacing: -0.015em;
    }
    & .middle{
      font-size: 3.5625rem;
      letter-spacing: -0.0125em;
      & span{
        letter-spacing: -0.175em;
      }
    }
  }
  & .link{
    position: absolute;
    background: var(--mainBlue);
    color: var(--mainGray);
    right: 0;
    bottom: 0;
    font-size: 1.5rem;
    font-weight: 800;
    width: 10.3125rem;
    height: 9.75rem;
    &::after {
      position: absolute;
      content: "";
      background-image: url(../img/common/arrow03.svg);
      background-size: contain;
      background-repeat: no-repeat;
      width: 1rem;
      height: 1.25rem;
      bottom: 2rem;
      right: 1.625rem;
    }
  }
}
@keyframes rotation2 {
  0% {
    transform: rotateX(0);
    opacity: 1;
  }
  15% {
    transform: rotateX(90deg);
    opacity: 0;
  }
  45% {
    transform: rotateX(270deg);
    opacity: 0;
  }
  60% {
    transform: rotateX(360deg);
    opacity: 1;
  }
  100% {
    transform: rotateX(360deg);
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .fv {
    & .inner {
      padding: 3.84rem 0 9.6rem;
    }
    & .wrap01 {
      width: 39.36rem;
    }
    & .wrap02 {
      padding-bottom: 17.28rem;
    }
    & .img01 {
      width: 39.552rem;
      top: 25.6rem;
    }
    & .heading01 {
      font-size: 6.784rem;
      width: 100%;
      & span {
        width: 100%;
      }
      & span.num01 {
        margin-bottom: -0.09rem;
      }
      & span.num02 {
        letter-spacing: -0.14em;
        margin-bottom: 0.25rem;
        font-size: 6.4rem;
      }
      & span.num03 {
        width: 31.104rem;
        letter-spacing: -0.035em;
        font-size: 6.4rem;
      }
    }    
    & .text01 {
      width: 33.024rem;
      font-size: 2.56rem;
      margin: 20.48rem auto 5.12rem;
      letter-spacing: 0.06em;
      line-height: 1.6;
    }
    & .text02 {
      width: 39.424rem;
      font-size: 5.504rem;
      & span:nth-of-type(1){
        letter-spacing: -0.05em;
      }
      & span:nth-of-type(2){
        font-size: 5.888rem;
        letter-spacing: 0.1em;
      }
      & span:nth-of-type(3){
        font-size: 5.248rem;
        letter-spacing: -0.02em;
      }
      & span:nth-of-type(4){
        letter-spacing: 0.01em;
      }
      & span:nth-of-type(5){
        letter-spacing: -0.125em;
      }
      & span:nth-of-type(6){
        font-size: 5.888rem;
        & span{
          letter-spacing: -0.20em;
        }
      }
    }
    & .link {
      font-size: 1.408rem;
      width: 7.552rem;
      height: 7.552rem;
      &::after {
        width: 1.408rem;
        height: 1.152rem;
        bottom: 1.088rem;
        right: 0.032rem;
      }
    }
  }
}

/* 目次 */
.section01{
  & .inner{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-column-gap: 0;
    grid-row-gap: 0;
    max-width: 58rem;
    width: 90%;
    margin: 0 auto;
  }
  & .block{
    position: relative;
  }
  & .block01,
  & .block02{
    gap: 0.78125rem;
  }
  & .block01 { grid-area: 1 / 1 / 2 / 4;}
  & .block02 { grid-area: 1 / 4 / 2 / 7; }
  & .block03 { 
    grid-area: 2 / 1 / 3 / 7; 
    gap: 5.625rem;
  }
  & .block04 { grid-area: 3 / 1 / 4 / 3; }
  & .block05 { grid-area: 3 / 3 / 4 / 5; }
  & .block06 { grid-area: 3 / 5 / 4 / 7; }
  & .wrap01-1{
    width: 11.625rem;
  }
  & .wrap01-2{
    width: 10.9375rem;
  }
  & .wrap02{
    width: 18.6875rem;
  }
  & .wrap03{
    width: 100%;
  }
  & .texts02{
    gap: 1.25rem;
  }
  & .heading01{
    font-size: 3rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.04em;
    margin-bottom: 0.9375rem;
  }
  & .heading02{
    font-size: 2.375rem;
    font-weight: 600;
    color: var(--mainBlue);
    line-height: 1.2;
    letter-spacing: -0.04em;
  }
  & .link{
    position: relative;
    padding-bottom: 0.3125rem;
    &::after{
      position: relative;
      content: "";
      background-image: url(../img/common/arrow04.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 0.9375rem;
      height: 0.9375rem;
      display: inline-block;
    }
  }
  & .link01{
    font-size: 1rem;
    color: var(--mainBlue);
    font-weight: 700;
    text-align: center;
    line-height: 1;
    padding: 1.25rem 0 0.9375rem;
    width: 15.375rem;
    &::after{
      position: absolute;
      right: 0.28125rem;
      bottom: 0.3125rem;
    }
  }
  & .link02{
    width: 85%;
    margin: 1.25rem auto 0.625rem;
  }
}
@media (max-width: 768px) {
.section01 {
  & .inner {
    width: 100%;
  }
  & .block01,
  & .block02 {
    gap: 1rem;
    flex-direction: column;
  }
  & .block01 {
    border-right: 2px solid var(--mainBlue);
  }
  & .block02 {
    border-left: 2px solid var(--mainBlue);
  }
  & .block03 {
    gap: 2rem;
  }
  & .wrap01-1,
  & .wrap01-2 {
    width: 100%;
  }
  & .wrap02 {
    width: 18.432rem;
  }
  & .texts01{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-bottom: 1.5rem;
  }
  & .texts02 {
    gap: 0;
    flex-direction: column;
    align-items: start;
  }
  & .heading01 {
    font-size: 2.688rem;
    margin-bottom: 1.5rem;
  }
  & .heading02 {
    font-size: 1.792rem;
  }
  & .link {
    padding-bottom: 0.64rem;
    &::after {
      width: 1rem;
      height: 1rem;
    }
  }
  & .link01 {
    font-size: 1.408rem;
    padding: 1.75rem 0 1.25rem;
    width: 18.816rem;
    &::after {
      right: 0.576rem;
      bottom: 0.64rem;
    }
  }
  & .link02 {
    width: 90%;
    margin: 2.24rem auto 0.64rem;
  }
}
}

/* スライダー */
.section02{
 padding: 3.125rem 0;
 & .block01{
   margin-bottom: 1.25rem;
 }
 & .item00{
   width: 15.125rem;
   height: 10.3125rem;
   overflow: hidden;
   & img{
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
 }
}
@media (max-width: 768px) {
 .section02{
   padding: 5.125rem 0;
   & .block01{
     margin-bottom: 1.921875rem;
   }
   & .item00{
     width: 24.5760rem;
     height: 16.7680rem;
   }
}
}

/* Xktichenのカルチャー */
.section03{
  & .item01,
  & .item02{
    width: 25%;
  }
  & .item01{
    background: var(--mainBlue);    
    color: var(--mainGray);
    padding: 1.5625rem;
  }
  & .item00{
    background: var(--mainGray);
    color: var(--mainBlue);
  }
  & .item02{
    padding: 1.5625rem 0 1.25rem;
  }
  & .wrap01{
    width: 8.6rem;
    height: 8.6rem;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 0 0.9375rem auto;
    & .img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  & .texts01{
    width: fit-content;
    margin: 0 auto;
  }
  & .img02{
    width: 78%;
    margin: 0 auto;
  }
  & .heading01{
    font-size: 3.625rem;
    text-align: center;
    font-weight: 600;
    padding: 2.1875rem 0;
    letter-spacing: -0.04em;
  }
  & .heading02{
    font-size: 2.25rem;
    font-weight: 600;
  }
  & .heading03{
    font-size: 2.75rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    & span{
      font-size: 2.875rem;
      letter-spacing: 0;
    }
  }
  & .text01{
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
  }
  & .text02{
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.78125rem;
  }
  & .text03{
    font-size: 1rem;
    font-weight: 600;
  }
  & .link01{
    width: 50%;
    padding: 4.0625rem 0;
    & .text{
      font-size: 1.25rem;
    }
  }
}
@media (max-width: 768px) {
  .section03 {
    & .item01,
    & .item02 {
      width: 50%;
    }
    & .item01 {
      padding: 1.92rem;
      &:nth-of-type(2n){
        border-right: none;
      }
      &:nth-of-type(1),
      &:nth-of-type(2){
        border-bottom: 3px solid var(--mainGray);
      }
    }
    & .item02 {
      padding: 1.92rem 0;
      &:nth-of-type(2n){
        border-right: none;
      }
    }
    & .wrap01 {
      width: 8.5rem;
      height: 8.5rem;
      margin: 0 0 1.28rem auto;
    }
    & .img02 {
      width: 80%;
    }
    & .heading01 {
      font-size: 3.584rem;
      padding: 3.84rem 0;
    }
    & .heading02 {
      font-size: 2.176rem;
    }
    & .heading03 {
      font-size: 2.944rem;
      & span {
        font-size: 3.072rem;
      }
    }
    & .text01 {
      font-size: 3.84rem;
    }
    & .text02 {
      font-size: 2.048rem;
      margin-bottom: 1.28rem;
    }
    & .text03 {
      font-size: 1.536rem;
    }
    & .btns{
      flex-direction: column;
    }
    & .link01 {
      width: 100%;
      padding: 4.48rem 0;
      & .text {
        font-size: 1.792rem;
      }
      &:first-child{
        border-right: none;
        border-bottom: 3px solid var(--mainBlue);
      }
    }
  }
}

/* 福利厚生 */
.section04{
 & .block01{
   padding: 5.625rem 0;
   background-image: url(../img/recruit/section04_background.webp);
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
 }
 & .wrap01{
   background: var(--mainBlue);
   max-width: 56.8125rem;
   width: 94%;
   margin: 0 auto;
   color: var(--mainGray);
 }
 & .wrap02{
   padding: 0 3.5rem;
 }
 & .list{
   flex: 1;
 }
 
 & .heading01{
   font-size: 2.125rem;
   font-weight: 600;
   padding: 0.9375rem 0 1.25rem;
   line-height: 1.2;
 }
 & .text01{
   font-size: 1.25rem;
   font-weight: 600;
   padding: 1.5rem;
   line-height: 1.4;
   & span{
     font-weight: 700;
     padding-right: 1rem;
     padding-bottom: 0.5rem;
   }
 }
 & .link{
   padding: 2.8125rem 0;
   & .texts{
     gap: 0.625rem;
   }
   & .text00{
     font-size: 1.25rem;
     text-align: center;
   }
   & .text{
     font-size: 1.75rem;
   }
   & .img{
     width: 1.1875rem;
   }
 }
}
@media (max-width: 768px) {
 .section04{
   & .block01{
     padding: 7.5rem 0;
     background-image: url(../img/recruit/section04_background-sp.webp);
     background-position: top center;
   }
   & .wrap01{
     flex-direction: column;
     align-items: center;
   }
   & .wrap02{
     width: 100%;
     border-right: none;
     border-bottom: 3px solid var(--mainGray);
   }
   & .list{
     width: 100%;
   }
   & .heading01{
     font-size: 2.56rem;
     padding: 2rem 0 2.56rem;
   }
   & .text01{
     font-size: 2.0484375rem;
     padding: 2rem 0;
     line-height: 1.3;
     width: 87.5%;
     margin: 0 auto;
   }
   & .link{
     padding: 5rem 0;
     & .texts{
       gap: 1rem;
     }
     & .text00{
       font-size: 1.7921875rem;
       margin-bottom: 0.75rem;
     }
     & .text{
       font-size: 2.5625rem;
     }
     & .img{
       width: 2.4320rem;
     }
   }
 }
}

/* メンバー紹介 */
.section05{
 padding: 5rem 0 0;
 & .item{
   width: fit-content;
 }
 & .wrap00{
   margin-bottom: 5rem;
 }
 & .wrap01{
   width: 12.0625rem;
   height: 18.0625rem;
   margin:0 auto 0.625rem;
   & img{
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
 }
 & .heading01{
   text-align: center;
   font-size: 4rem;
   font-weight: 600;
   margin-bottom: 3.125rem;
 }
 & .heading02{
   font-size: 1.875rem;
   font-weight: 600;
   text-align: center;
   margin-bottom: 0.3125rem;
 }
 & .text01,
 & .text02{
   text-align: center;
 }
 & .text01{
   font-size: 1.5rem;
   margin-bottom: 0.625rem;
 }
 & .text02{
   font-size: 0.75rem;
 }
 & .link01{
   width: fit-content;
   margin: 0 0 0 auto;
   padding: 1.875rem 2.5rem;
   & .text{
     font-size: 1.25rem;
   }
 }
}
@media (max-width: 768px) {
 .section05 {
   padding: 3.2rem 0 0;
   overflow: hidden;
   & .wrap00 {
     margin-bottom: 6.4rem;
   }
   & .wrap01 {
     width: 24.3200rem;
     height: 37.1200rem;
     border-radius: 14.08rem;
     margin-bottom: 1.28rem;
   }
   & .heading01 {
     font-size: 3.584rem;
     margin-bottom: 4.48rem;
   }
   & .heading02 {
     font-size: 3.84rem;
     margin-bottom: 1rem;
   }
   & .text01 {
     font-size: 3.072rem;
     margin-bottom: 1.28rem;
   }
   & .text02 {
     font-size: 1.536rem;
   }
   & .link01 {
     padding: 2.56rem 1.28rem;
     & .text {
       font-size: 2.048rem;
     }
   }
 }
}

/* よくある質問 */
.section06{
  & .item{
    width: 50%;
    &:nth-child(odd){
      border-right: 3px solid var(--mainBlue);
    }
  }
  & .texts01,
  & .texts02{
    gap: 0.3125rem;
  }
  & .texts03,
  & .texts04{
    width: 100%;
  }
  & .texts03{
    height: 4.6875rem;
    padding: 0 1.5625rem;
  }
  & .texts04{
    background: var(--mainBlue);
    flex: 1;
    padding: 1.875rem 1.5625rem 1.875rem 1.875rem;
  }
  & .texts05{
    display: contents;
  }
  & .heading{
    font-size: 4rem;
  }
  & .text01,
  & .text02{
    font-size: 1rem;
  }
  & .text02{
    color: var(--mainGray);
    flex: 1;
    line-height: 1.9;
    letter-spacing: 0.13em;
  }
  & .q,
  & .a{
    font-size: 2rem;
    font-weight: 400;
    line-height: 0.7;
    letter-spacing: 0.25em;
  }
  & .a{
    color: var(--mainGray);
    margin-top: 0.3125rem;
  }
  & .link01{
    display: inline;
    color: var(--mainGray);
    text-decoration: underline;
    text-underline-offset: 0.25rem;
  }
}
@media (max-width: 768px) {
  .section06 {
    & .list{
      flex-direction: column;
    }
    & .item {
      width: 100%;
      &:nth-child(odd) {
        border-right: none;
      }
    }
    & .texts01,
    & .texts02 {
      gap: 0.64rem;
      width: 100%;
    }
    & .texts01{
      align-items: start;
    }
    & .texts03 {
      height: 10.24rem;
      padding: 1.28rem 0.96rem 1rem;
      border-bottom: 3px solid var(--mainBlue);
    }
    & .texts04 {
      padding: 0 0.96rem;
      flex: auto;
      max-height: 0; 
      overflow: hidden;
      transition: all 0.3s ease 0s;
      &.active {
        padding: 3.2rem 0.96rem;
        max-height: none; 
      }
    }
    & .texts05{
      display: flex;
      justify-content: start;
      align-items: start;
      gap: 0.64rem;
      flex: 1;
      width: 100%;
    }
    & .heading {
      font-size: 3.584rem;
      padding: 3.84rem 0;
    }
    & .text01,
    & .text02 {
      font-size: 1.92rem;
    }  
    & .text01{
      flex: 1;
    }
    & .text03{
      font-size: 3rem;
      font-weight: 700;
      padding-right: 1rem;
      line-height: 1;
      padding-bottom: 0.5rem;
      transition: transform 0.3s ease;
      &.active{
        font-size: 4rem;
      }
    }
    & .q,
    & .a {
      font-size: 3.84rem;
      letter-spacing: 0.1em;
      width: fit-content;
    }
    & .q{
      padding-top: 0.5rem;
    }
    & .a {
      margin-top: 0.64rem;
    }
  }
}

/* 募集要項 */
.section08{
  & .list{
    gap: 1.875rem 2.1875rem;
  }
  & .item{
    width: calc((100% - 2.1875rem) / 2);
    position: relative;
    border-radius: 10.3125rem;
    padding: 2rem 4rem;
    background: var(--mainGray);
    overflow: hidden;
  }
  & .wrap01{
    position: relative;
    padding: 10rem 0;
  }
  & .img00{
    position: absolute;
    z-index: -1;
    width: 63.1rem;
  }
  & .img01{
    top: 4rem;
    left: 0;
  }
  & .img02{
    bottom: 4rem;
    right: 0;
  }
  & .heading01{
    text-align: center;
    font-size: 4rem;
    letter-spacing: -0.04em;
    padding: 2.5rem 0;
  }
  & .heading02{
    font-size: 1.8rem;
    position: relative;
    &::after{
      position: absolute;
      content: "";
      background-image: url(../img/common/arrow05.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 1.75rem;
      height: 1.75rem;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      right: 0;
    }
  }
  & .text01{
    font-size: 0.875rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}
@media (max-width: 768px) {
  .section08 {
    & .list {
      gap: 1.28rem;
    }
    & .item {
      width: 100%;
      border-radius: 21.12rem;
      padding: 3rem 3.5rem;
    }
    & .wrap01 {
      padding: 5.5rem 0;
    }
    & .img00 {
      width: 40.704rem;
    }
    & .img01 {
      top: 3rem;
      left: 0;
    }
    & .img02 {
      bottom: 3rem;
      right: 0;
    }
    & .heading01 {
      font-size: 3.584rem;
      padding: 3.84rem 0;
    }
    & .heading02 {
      font-size: 1.9rem;
      &::after {
        width: 2rem;
        height: 2rem;
      }
    }
    & .text01 {
      font-size: 1.536rem;
      line-height: 1.4;
    }
  }
}

/* サイドメニュー */
.sideMenu{
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  background: var(--mainGray);
  width: 13.625rem;
  & .item{
    width: 100%;
    &:not(:last-child){
      border-bottom: 3px solid var(--mainBlue);
    }
  }
  & .link01,
  & .link02{
    font-size: 0.75rem;
  }
  & .link01{
    color: var(--mainBlue);
    padding: 0.625rem 1.25rem;
    position: relative;
    &::before{
      position: absolute;
      content: "";
      background-image: url(../img/common/arrow05.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 0.78125rem;
      height: 0.78125rem;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      right: 0.9375rem;
    }
  }
  & .link02{
    text-align: center;
    background: var(--mainBlue);
    color: var(--mainGray);
    font-weight: 800;
    padding: 0.625rem 0;
    & span{
      font-size: 0.65rem;
    }
  }
}
@media (max-width: 768px) {
  .sideMenu {
    width: calc(100vw - 6rem);  
    & .item{
      &:not(:last-child){
        display: none;
      }
    }
    & .link01,
    & .link02 {
      font-size: 2rem;
    }
    & .link01 {
      display: none;
    }
    & .link02 {
      padding: 1rem 0 1.25rem;
      & span {
        font-size: 1.25rem;
      }
    }
  }
}