.fv{
  padding-bottom: 2.5rem;
  & .inner01{
    padding: 2.5rem 0 0.625rem;
  }
  & .block01{
    width: 100%;
    margin-bottom: 3.75rem;
  }
  & .wrap01{
    width: 50%;
    padding-top: 0.9375rem;
    &:last-child{
      padding-left: 1.4rem;
    }
  }
  & .texts01{
    margin-bottom: 2.25rem;
  }
  & .heading01,
  & .heading02{
    &>span{
      background: var(--mainBlue);
      color: var(--mainGray);
      line-height: 7.25rem;
      height: 7.25rem;
      display: inline-block;
    }
  }
  & .heading01{
    & .mb{
      font-size: 5.625rem;
      letter-spacing: -0.02em;
      margin-bottom: 0.3125rem;
    }
    & .small{
      font-size: 5.25rem;
      letter-spacing: -0.0475em;
      & span{
        letter-spacing: -0.2em;
      }
    }
  }
  & .heading02{
    & .mb{
      font-size: 6.3125rem;
      letter-spacing: 0.01em;
      margin-bottom: 0.3125rem;
    }
    & .middle{
      font-size: 4.375rem;
      letter-spacing: -0.09em;
      & span{
        font-size: 3.125rem;
      }
    }
  }
  & .text01{
    font-size: 2.375rem;
    letter-spacing: -0.04em;
    font-weight: 700;
  }
  & .text02{
    font-size: 1rem;
    letter-spacing: 0.013em;
  }
  & .text03{
    font-size: 1rem;
    line-height: 2.1;
    letter-spacing: 0.13em;
  }
}
@media (max-width:768px) {
.fv {
  padding-bottom: 5rem;
  & .inner01 {
    padding: 0 0 4rem;
  }
  & .block01 {
    width: 100%;
    margin-bottom: 0;
    flex-direction: column;
  }
  & .wrap01 {
    width: 100%;
    padding: 4rem 0;
    &:first-child {
      border-right: none;
      border-bottom: 3px solid var(--mainBlue);
    }
    &:last-child {
      padding-left: 0;
    }
  }
  & .texts01 {
    margin-bottom: 2rem;
  }
  & .heading01,
  & .heading02 {
    &>span {
      line-height: 7.68rem;
      height: 7.68rem;
      width: 100%;
    }
  }

  & .heading01 {
    & .mb {
      font-size: 5.75rem;
      letter-spacing: -0.03em;
      margin-bottom: 0.5rem;
    }
    & .small {
      font-size: 5.248rem;
      letter-spacing: -0.0375em;
    }
  }
  & .heading02 {
    & .mb {
      font-size: 6.272rem;
      letter-spacing: 0.035em;
      margin-bottom: 0.5rem;
    }
    & .middle {
      font-size: 4.48rem;
      letter-spacing: -0.1em;
      & span {
        font-size: 3.2rem;
      }
    }
  }
  & .text01 {
    font-size: 3.072rem;
    line-height: 1.1;
  }
  & .text02 {
    font-size: 1.536rem;
  }
  & .text03 {
    font-size: 1.536rem;
  }
}
}

/* バリュー */
.section01{
  & .item01{
    padding: 1.75rem 0;
  }
  & .texts01{
    padding: 2rem 0 1.75rem;
  }
  & .texts02{
    gap: 3.75rem;
  }
  & .texts03{
    display: contents;
  }
  & .heading01,
  & .text01,
  & .text02,
  & .text03,
  & .text04{
    line-height: 1;
  }
  & .heading01{
    font-size: 1rem;
    letter-spacing: 0.13em;
  }
  & .text01{
    font-size: 2.375rem;
  }
  & .text02{
    font-size: 2.5rem;
    font-weight: 700;
    margin-top: 0.625rem;
  }
  & .text03{
    font-size: 3rem;
    letter-spacing: -0.04em;
  }
  & .text04{
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}
@media (max-width:768px) {
.section01 {
  & .item01 {
    padding: 2.25rem 0;
  }
  & .texts01 {
    padding: 2.5rem 0 1.5rem;
    &>div{
      display: flex;
      justify-content: start;
      align-items: center;
      gap: 2rem;
    }
  }
  & .texts02 {
    gap: 2rem;
  }
  & .texts03{
    display: block;
  }
  & .heading01 {
    font-size: 1.536rem;
  }
  & .text01 {
    font-size: 3.072rem;
  }
  & .text02 {
    font-size: 2.048rem;
    margin-top: 0;
  }
  & .text03 {
    font-size: 3.072rem;
  }
  & .text04 {
    font-size: 1.536rem;
    margin-top: 1rem;
  }
}
}

/* 代表挨拶 */
.section02{
  & .block01{
    flex: 1;
  }
  & .wrap01{
    padding: 3.125rem 2.5rem 3.5rem;
  }
  & .wrap02{
    padding: 3.125rem 2.5rem;
  }
  & .wrap03{
    width: 36rem;
    height: 55.625rem;
    & img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  & .heading01{
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
  }
  & .text01{
    background: var(--mainBlue);
    color: var(--mainGray);
    text-align: center;
    font-size: 4.625rem;
    line-height: 1;
    letter-spacing: -0.04em;
    font-weight: 700;
    padding: 3.125rem 0 1.875rem;
  }
  & .text02{
    & span{
      background: var(--mainBlue);
      color: var(--mainGray);
      display: inline-block;
      line-height: 1.1;
    }
    & .small{
      font-size: 5.6875rem;
      letter-spacing: -0.04em;
      margin-bottom: 0.625rem;
    }
    & .big{
      font-size: 7.5625rem;
      letter-spacing: -0.0375em;
    }
  }
  & .text03{
    font-size: 1rem;
    letter-spacing: -0.04em;
    line-height: 1.7;
    margin-bottom: 2rem;
  }
  & .text04{
    font-size: 2.5rem;
  }
}
@media (max-width:768px) {
.section02 {
  & .inner{
    flex-direction: column;
  }
  & .block01{
    border-right: none;
  }
  & .wrap01 {
    padding: 5rem 0 6rem;
  }
  & .wrap02 {
    padding: 4rem 0;
    width: 94%;
    margin: 0 auto;
  }
  & .wrap03 {
    width: 94%;
    height: auto;
    margin: 0 auto 2rem;
    overflow: hidden;
  }
  & .heading01 {
    font-size: 3.072rem;
    width: 94%;
    margin: 0 auto 1.5rem;
  }
  & .text01 {
    font-size: 4.096rem;
    padding: 5rem 0 4rem;
  }
  & .text02 {
    width: 94%;
    margin: 0 auto;
    & span {
      line-height: 1.1;
      width: 100%;
    }
    & .small {
      font-size: 4.992rem;
      margin-bottom: 0.5rem;
    }
    & .big {
      font-size: 6.656rem;
    }
  }
  & .text03 {
    font-size: 1.536rem;
    margin-bottom: 0;
  }
  & .text04 {
    font-size: 2.56rem;
    padding-bottom: 5rem;
  }
}

}

/* 沿革 */
.section03{
  & .heading01{
    background: var(--mainBlue);
    color: var(--mainGray);
    font-size: 5.75rem;
    writing-mode: vertical-rl;
    flex: 1;
  }
  & .block01{
    width: 62.75rem;
  }
  & .img01{
    width: 100%;
  }
}
@media (max-width:768px) {
.section03 {
  & .inner{
    flex-direction: column;
    padding-bottom: 6rem;
  }
  & .heading01 {
    font-size: 4.096rem;
    writing-mode: horizontal-tb;
    padding: 4rem 0;
  }
  & .block01 {
    overflow-x: scroll;
    width: 100%;
    padding-bottom: 1rem;
    & img{
      width: 120.192rem;
      max-width: 120.192rem;
    }
  }
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar{
  height: 1.536rem !important;
}
.simplebar-track {
  right: 2.56rem !important;
  overflow: visible;
  height: 2.56rem !important;
}
.simplebar-scrollbar::before {
  background: var(--mainBlue) !important;
  height: 1.536rem !important;
  margin-left: 1.28rem;
  margin-top: 0.384rem;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1 !important;
}
}

/* 会社概要 */
.section04{
  & .inner{
    padding: 1.875rem 0;
    gap: 3.875rem;
  }
  & .block01{
    width: 41rem;
    padding: 1.25rem 2rem 1.75rem;
    background: var(--mainBlue);
    color: var(--mainGray);
  }
  & .wrap01{
    width: 100%;
    margin-bottom: 1rem;
    & img{
      width: 100%;
    }
  }
  .hide-before::after {
    display: none;
  }
  & .wrap02{
    width: 100%;
    height: 41.9375rem;
    position: relative;
    &::after{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background: rgba(33,44,114,0.3);
    }
    & iframe{
      width: 100%;
      height: 100%;
    }
  }
  & .wrap03{
    position: relative;
  }
  & .texts01{
    flex: 1;
  }
  & .texts02{
    padding-bottom: 1rem;
  }
  & .texts03{
    position: absolute;
    right: 0.5rem;
    top: 0;
  }
  & .texts05{
    gap: 5rem;
  }
  & .img02{
    width: 4.5rem;
    margin-bottom: 0.5rem;
  }
  & .heading01{
    font-size: 1rem;
    line-height: 1;
    text-align: center;
  }
  & .heading02{
    font-size: 2rem;
    & span{
      font-weight: 700;
    }
  }
  & .text01{
    font-size: 5.75rem;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
    font-weight: 700;
  }
  & .text02{
    font-size: 1rem;
    line-height: 1.4;
  }
  & .text03{
    font-size: 0.875rem;
    text-align: right;
    line-height: 1.2;
    & span{
      color: var(--mainGray);
    }
    & br{
      line-height: 0.1;
    }
  }
  & .text04{
    font-size: 1rem;
    line-height: 1.4;
    border-left: 6px solid var(--mainGray);
    padding-left: 0.75rem;
    & a{
      display: inline;
      border-bottom: 1px solid white;
    }
  }
}
@media (max-width:768px) {
.section04 {
  & .inner {
    padding: 6rem 0 3.5rem;
    gap: 4rem;
    flex-direction: column;
  }
  & .block01 {
    width: 100%;
    margin: 0 auto;
    padding: 2.25rem 2rem;
  }
  & .wrap01 {
    margin-bottom: 2rem;
  }
  & .wrap02 {
    height: 30.592rem;
  }
  & .texts02 {
    padding-bottom: 2rem;
  }
  & .texts03 {
    padding-bottom: 5rem;
  }
  & .texts05{
    gap: 3rem;
  }
  & .img02 {
    width: 6.4rem;
    margin-bottom: 1.25rem;
  }
  & .heading01 {
    font-size: 2.048rem;
  }
  & .heading02 {
    font-size: 3.072rem;
    margin-bottom: 0;
  }
  & .text01 {
    font-size: 4.096rem;
  }
  & .text02 {
    font-size: 1.2rem;
    line-height: 1.6;
  }
  & .text03 {
    font-size: 1.2rem;
  }
  & .text04 {
    font-size: 1.2rem;
    border-left: 3px solid var(--mainGray);
  }
}
}
