/* ==========================================================================
   Texture Page - Specific Styles
   ========================================================================== */
.about-hero-title {
  width: calc(523.6vw / var(--p));
}

/* --- Catch --- */
.about-catch {
  padding: 63.2px 0 111.4px;
}

.about-catch-inner {
  max-width: calc(1174.39px + var(--pc-gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--pc-gutter);
}

.about-catch-inner img {
  width: 100%;
  height: auto;
  display: block;
}


/* --- Section (2-column) --- */
.about-section {
  display: flex;
  max-width: calc(1300px + var(--pc-gutter) * 2);
  margin: 0 auto;
}

.about-section.is-reverse {
  flex-direction: row-reverse;
}

.about-section-media {
  overflow: hidden;

  & img {
    width: 100%;
    display: block;
  }
}

.about-section-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}

.about-section-heading {
  font-family: var(--font-jp);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;

  & img {
    display: block;
    max-width: 100%;
    height: auto;
  }
}

.about-section-text {
  font-family: var(--font-jp);
  font-size: 18px;
  line-height: 30px;

  & p {
    font-size: 18px;
    margin: 0;
  }
}

.tx-sect01 {
  gap: 68.7px;
  margin-bottom: 174px;

  .about-section-media {
    width: 523px;
  }
}

.tx-sect02 {
  .about-section-media {
    width: 801px;
  }

  .about-section-body {
    width: 616.41px;
    position: relative;
    right: -210px;
  }
}


/* ==========================================================================
   Mobile Responsive - Texture Page
   ========================================================================== */
@media screen and (max-width: 1170px) {
  .about-catch {
    padding: calc(63.2vw / var(--p)) 0 calc(111.4vw / var(--p));
  }

  .about-section-body {
    gap: calc(32vw / var(--p));
  }

  .about-section-heading h3 {
    font-size: calc(26vw / var(--p));
  }

  .about-section-text {
    font-size: calc(18vw / var(--p));
    line-height: calc(30vw / var(--p));

    & p {
      font-size: calc(18vw / var(--p));
    }
  }

  .tx-sect02 {
    .about-section-media {
      width: calc(801vw / var(--p));
    }

    .about-section-body {
      width: calc(616.41vw / var(--p));
      right: calc(-210vw / var(--p));
    }
  }

  .sect03 {
    gap: calc(68.7vw / var(--p));
    margin-bottom: calc(174vw / var(--p));

    .about-section-media {
      width: calc(523vw / var(--p));
    }

    .about-section-media.sect03-media02 {
      width: calc(801vw / var(--p));
    }

    .about-section-media.sect03-media03 {
      width: calc(616.41vw / var(--p));
      position: relative;
      right: calc(-210vw / var(--p));
    }
  }
}

@media screen and (max-width: 768px) {
  .about-hero-title {
    width: calc(285.98vw / var(--s));
    margin: 0 auto;
  }

  /* --- Catch --- */
  .about-catch {
    padding: calc(62.2vw / var(--s)) 0 calc(62.2vw / var(--s));
  }

  .about-catch-inner {
    max-width: 100%;
    padding: 0 calc(35vw / var(--s));
  }

  /* --- Section --- */
  .about-section {
    flex-direction: column;
    max-width: 100%;
    gap: calc(24vw / var(--s));
    margin: 0 auto calc(60vw / var(--s));
    padding: 0 calc(15vw / var(--s));
  }

  .about-section-media {
    width: 100%;
    order: 1;
  }

  .about-section-body {
    width: 100%;
    position: relative;
    right: auto;
    left: auto;
    gap: calc(20vw / var(--s));
    order: 2;
  }

  .about-section-heading {
    font-size: calc(24vw / var(--s));
    line-height: 1.3;
    text-align: left;
  }

  .about-section-text {
    font-size: calc(13vw / var(--s));
    line-height: calc(26vw / var(--s));

    & p {
      font-size: calc(13vw / var(--s));
      line-height: calc(26vw / var(--s));
      white-space: nowrap;
    }
  }

  .tx-sect01 {
    padding: 0;
    gap: 0;
    margin-bottom: calc(86.4vw / var(--s));

    .about-section-media {
      width: calc(304vw / var(--s));
      margin-left: auto;
      margin-right: 0;
    }

    .about-section-body {
      margin-top: calc(-15vw / var(--s));
      padding: 0 var(--sp-gutter);
    }

    .about-section-heading {
      width: calc(313.89vw / var(--s));
    }
  }

  .tx-sect02 {
    gap: 0;
    padding: 0;
    flex-direction: column !important;

    .about-section-media {
      width: calc(304vw / var(--s));
      margin-right: auto;
      margin-left: 0;
    }

    .about-section-body {
      width: 100%;
      margin-top: calc(-20vw / var(--s));
      position: static;
      padding: 0 var(--sp-gutter);
    }

    .about-section-heading {
      width: calc(300.39vw / var(--s));
    }
  }
}