@charset "UTF-8";
/* =====================
  aboutOurBusiness
===================== */
.aboutOurBusiness_wrap {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 104rem;
}
.aboutOurBusiness-img {
  img {
    width: 502rem;
    aspect-ratio: 502 / 560;
    border-radius: var(--img-round);
  }
}
.aboutOurBusiness-text {
  padding-top: 24rem;
  padding-right: 40rem;
}
.aboutOurBusiness-features_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: url(/assets/img/business/business02-bg.png) no-repeat center / cover;
  border-radius: var(--img-round);
  color: var(--color-white);
  margin-top: 48rem;
  > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40rem 32rem 48rem;
    + li {
      border-left: var(--border) rgb(255 255 255 / 0.6);
    }
    &::before {
      content: '';
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      display: inline-block;
      width: 96rem;
      height: 96rem;
    }
    &:nth-of-type(1) {
      &::before {
        background-image: url(/assets/img/business/business-icon01.svg);
      }
    }
    &:nth-of-type(2) {
      &::before {
        background-image: url(/assets/img/business/business-icon02.svg);
      }
    }
    &:nth-of-type(3) {
      &::before {
        background-image: url(/assets/img/business/business-icon03.svg);
      }
    }
    h4 {
      font-size: 24rem;
      margin-top: 24rem;
      margin-bottom: 8rem;
    }
  }
}

/* =====================
  facilities
===================== */
.facilities {
  background-color: var(--background-color-paleBlue);
}
.facilities_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 32rem;
  row-gap: 48rem;
  img {
    width: 100%;
    aspect-ratio: 377 / 268;
    border-radius: var(--img-round02);
  }
  figcaption {
    font-size: 20rem;
    line-height: 1.7;
    margin-top: 24rem;
  }
}
.facilities-held {
  margin-top: 80rem;
}
.facilities-held_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 56rem;
  row-gap: 8rem;
  dl {
    display: grid;
    grid-template-columns: 1fr 48rem;
    column-gap: 8rem;
  }
  dd {
    text-align: right;
  }
}
.facilities-held_list_note {
  font-size: 14rem;
  margin-top: 24rem;
}
.facilities-held-production {
  background-color: rgb(255 255 255 / 0.4);
  margin-top: 24rem;
  padding: 32rem 40rem 40rem;
  border-radius: 16rem;
  h4 {
    font-size: 24rem;
  }
}
.facilities-held-production_list {
  margin-top: 16rem;
}

/* =====================
  faq
===================== */
.faq-item_wrap {
  width: 960rem;
  margin: 0 auto;
}
.faq-item {
  padding-inline: 8rem;
  border-top: var(--border) var(--border-gray);
  &:last-of-type {
    border-bottom: var(--border) var(--border-gray);
  }
}
.faq-question {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: 16rem;
  align-items: center;
  width: 100%;
  font-size: 20rem;
  padding: 32rem 0;
  cursor: pointer;
  &::after {
    content: '';
    display: inline-block;
    width: 30rem;
    height: 40rem;
    background: url(/assets/img/business/faq-more.svg) no-repeat center / contain;
    transition: background-image var(--motion-default), transform var(--motion-default);
    transform: rotate(90deg);
  }
  &[aria-expanded='true'] {
    padding-bottom: 0;
    &::after {
      background-image: url(/assets/img/business/faq-close.svg);
      transform: rotate(0deg);
    }
  }
  .en {
    font-size: 32rem;
    color: var(--color-primary);
  }
}
.faq-answer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: 16rem;
  padding: 24rem 46rem 32rem 0;
  animation: accordion-open 0.3s ease-out forwards;
  .en {
    font-size: 32rem;
    color: #8ea9bf;
  }
}
@keyframes accordion-open {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.faq-answer_text {
  padding-block: 4rem 8rem;
}
