/* ==========================================================================
   High Impact Gloss Page - Specific Styles
   ========================================================================== */
.about-hero-title {
  width: calc(1188.01vw / var(--p));
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.16));
}

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

.about-catch-inner {
  max-width: calc(1170px + 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;
  gap: 50px;
  max-width: calc(1300px + var(--pc-gutter) * 2);
  width: 100%;
  padding: 0 var(--pc-gutter);
  margin: 0 auto;
}

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

.about-section-media {
  overflow: hidden;

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

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

.about-section-heading {
  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 {
    margin: 0;
    font-size: 18px;
  }
}

.about-section-diagram.hig-diagram {
  & img {
    display: block;
    max-width: 100%;
    height: auto;
  }
}


/* --- sect01 specific --- */
.hig-sect01 {
  .about-section-media {
    width: 620px;
  }
}

.hig-sect02 {
  gap: 0;

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

  .about-section-body {
    max-width: 484.01px;
    right: -84px;
    position: relative;
    z-index: 1;
  }
}


/* --- Ingredients (full-width bubble circles) --- */
.hig-ingredients {
  margin-top: 89.5px;
  margin-bottom: 150px;
  background-color: #fff;

  & img {
    display: block;
    width: 100%;
    max-width: 878px;
    height: auto;
    margin: 0 auto;
    padding: 0 var(--pc-gutter);
  }
}

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

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

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

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

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

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

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

/* === スマホ版 === */
@media screen and (max-width: 768px) {
  .about-hero-title {
    width: calc(239.56vw / var(--s));
  }

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

  .about-catch-inner {
    padding: 0 var(--sp-gutter);
  }

  /* --- Section (2-column → 1-column) --- */
  .about-section {
    flex-direction: column;
    gap: calc(30vw / var(--s));
    max-width: 100%;
    margin: 0 auto calc(80vw / var(--s));
    padding: 0 var(--sp-gutter);
  }

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

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

    img {
      width: calc(370vw / var(--s));
      display: block;
      margin-inline: auto;
    }
  }

  .about-section-body {
    order: 2;
    max-width: 100%;
    right: auto;
    position: static;
    gap: calc(20vw / var(--s));
    justify-content: flex-start;
  }

  .about-section-heading {
    text-align: center;
  }

  .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;
    }
  }

  /* --- sect01 specific --- */
  .hig-sect01 {
    padding: 0;
    gap: calc(36.3vw / var(--s));
    margin-bottom: calc(54vw / var(--s));

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

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

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

  /* --- sect02 specific --- */
  .hig-sect02 {
    gap: 0;
    padding: 0;

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

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

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

  /* --- Diagram --- */
  .about-section-diagram.hig-diagram {
    text-align: center;
    padding: calc(20vw / var(--s)) 0;

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

  /* --- Ingredients --- */
  .hig-ingredients {
    margin-top: calc(50vw / var(--s));
    margin-bottom: calc(94.9vw / var(--s));

    & img {
      padding: 0 var(--sp-gutter);
    }
  }
}