@charset "utf-8";

.page-main {
  padding-bottom: 10px;
}

.page-main .section .content-inner {
  padding-inline: 30px;
}

.page-main .body-copy {
  text-align: justify;
  text-justify: inter-character;
}

@media (max-width: 640px) {
  .page-main .section .content-inner { padding-inline: 6vw; }
}

.qualifications {
  margin: 28px 0;
  padding-top: 0;
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 400;
  line-height: var(--lh-compact);
  letter-spacing: var(--ls-body);
}

.qualifications__title {
  margin-bottom: 6px;
  font-weight: 700;
  letter-spacing: var(--ls-wide);
}

.treatment-gallery {
  margin-top: 24px;
}

.treatment-gallery .media { aspect-ratio: 4 / 3; }

.treatment-exterior {
  width: min(72%, 390px);
  margin: 34px auto 0;
}

.qualifications__rule {
  margin-bottom: 8px;
  overflow: hidden;
  color: var(--color-blue);
  font-size: 14px;
  font-weight: 500;
  line-height: var(--lh-compact);
  letter-spacing: 0;
  white-space: nowrap;
}

.section--dot-ended {
  padding-bottom: 0;
}

.section--dot-ended + .section {
  padding-top: 0;
}

.flow-list li:not(:last-child)::after {
  left: 1.6em;
  transform: none;
}

.treatment-gallery.two-media {
  grid-template-columns: 2fr 1fr;
  align-items: stretch;
}

.treatment-gallery.two-media .media:first-child {
  aspect-ratio: 3 / 2;
}

.treatment-gallery.two-media .media:last-child {
  aspect-ratio: 3 / 4;
}

@media (max-width: 640px) {
  .page-main .section .content-inner {
    padding-inline: 4.6875vw;
  }

  .qualifications {
    margin: 4.375vw 0;
    font-size: clamp(12px, 2.1875vw, 14px);
  }

  .qualifications__rule {
    margin-bottom: 1.25vw;
    font-size: clamp(12px, 2.1875vw, 14px);
  }

  .treatment-gallery {
    margin-top: 3.75vw;
  }

  .treatment-exterior {
    width: 60.9375vw;
    max-width: 390px;
    margin-top: 5.3125vw;
  }

  .flow-list li:not(:last-child)::after {
    left: 1.6em;
  }

  .treatment-gallery.two-media {
    grid-template-columns: 2fr 1fr;
    gap: 1.5625vw;
  }
}

@media (max-width: 420px) {
  .treatment-exterior {
    width: 76vw;
  }

  .qualifications__rule {
    font-size: 12px;
  }
}
