@charset "UTF-8";

/* キッズ・ジュニア医療脱毛 LP（PDF準拠）— #kids-kp 内のみ */

:root {
  --kids-bg: #fdfaf2;
  --kids-bg2: #faf6ee;
  --kids-blue: #7eb8d4;
  --kids-blue-deep: #4a8eb8;
  --kids-blue-pale: #e3f0f7;
  --kids-blue-ribbon: #6ba8c9;
  --kids-pink: #f5a0b0;
  --kids-pink-soft: #fde4e9;
  --kids-pink-deep: #e07d90;
  --kids-pink-band: #f8b8c4;
  --kids-gold: #b8956a;
  --kids-gold-light: #d4bc94;
  --kids-text: #333333;
  --kids-muted: #666666;
  --kids-border: #e8dfd0;
}

.bl_heading {
  margin-bottom: 70px;
}

#kids-kp {
  --kids-font: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans JP', Meiryo, sans-serif;
  font-family: var(--kids-font);
  background: var(--kids-bg);
  color: var(--kids-text);
  line-height: 1.9;
  overflow-x: hidden;
  padding-bottom: 0;
}

#kids-kp img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.kids_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ----- パンくず ----- */
#kids-kp .kids_breadcrumb {
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 18px 0;
  font-size: 0.75rem;
  color: var(--kids-muted);
}

#kids-kp .kids_breadcrumb__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  align-items: center;
}

#kids-kp .kids_breadcrumb__list li {
  display: inline-flex;
  align-items: center;
}

#kids-kp .kids_breadcrumb__list li:not(:last-child)::after {
  content: '>';
  margin: 0 8px;
  color: #bbb;
  font-size: 0.7rem;
}

#kids-kp .kids_breadcrumb a {
  color: var(--kids-blue-deep);
  text-decoration: none;
}

#kids-kp .kids_breadcrumb a:hover {
  text-decoration: underline;
}

/* ----- サブナビ ----- */
#kids-kp .kids_lp__subnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1100px;
  margin: 12px auto 0;
  padding: 10px 16px;
  background: #fff;
  box-shadow: 0 1px 0 var(--kids-border), 0 4px 16px rgba(0, 0, 0, 0.04);
}

#kids-kp .kids_lp__subnavIcons {
  display: flex;
  align-items: center;
  gap: 6px;
}

#kids-kp .kids_lp__subnavLink {
  display: block;
  line-height: 0;
  transition: opacity 0.2s;
}

#kids-kp .kids_lp__subnavLink:hover {
  opacity: 0.85;
}

#kids-kp .kids_lp__subnavLink img {
  width: min(56px, 16vw);
  height: auto;
}

/* ----- リード・引用 ----- */
#kids-kp .kids_lead {
  padding-top: 28px;
  padding-bottom: 32px;
}

#kids-kp .kids_lead__text {
  margin: 0 0 20px;
  font-size: 0.95rem;
}

#kids-kp .kids_quotes {
  display: grid;
  gap: 12px;
  margin: 20px 0;
}

#kids-kp .kids_quotes__item {
  margin: 0;
  padding: 14px 18px;
  background: #fff;
  border-left: 4px solid var(--kids-pink-deep);
  border-radius: 0 12px 12px 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  font-weight: 600;
  color: #444;
}

#kids-kp .kids_lead__catch {
  margin: 0;
  text-align: center;
  font-size: 1rem;
}

/* ----- ヒーロー ----- */
#kids-kp .kids_hero {
  position: relative;
  width: 100%;
  max-width: none;
}

#kids-kp .kids_hero__visual {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #b8d9ea;
}

#kids-kp .kids_hero__visual img {
  width: 100%;
  display: block;
  min-height: 240px;
  object-fit: cover;
  object-position: center top;
}

#kids-kp .kids_hero__overlay {
  position: absolute;
  left: 19%;
  top: 22%;
  transform: none;
  padding: 0;
  max-width: min(92%, 430px);
}

#kids-kp .kids_hero__label {
  display: inline-block;
  margin: 0 0 14px;
  padding: 4px 16px;
  border: 2px solid #45a5cb;
  border-radius: 999px;
  background: #f7ef9f;
  font-size: 1rem;
  font-weight: 700;
  color: #1096cd;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

#kids-kp .kids_hero__catch {
  margin: 0;
  font-size: clamp(2.2rem, 6.2vw, 5rem);
  font-weight: 300;
  letter-spacing: 0.18em;
  line-height: 1.3;
  white-space: nowrap;
}

#kids-kp .kids_hero__line {
  display: block;
}

#kids-kp .kids_hero__line--pink {
  color: #ef7db1;
}

#kids-kp .kids_hero__line--blue {
  color: #1199d5;
}

@media (max-width: 900px) {
  #kids-kp .kids_hero__overlay {
    left: 16px;
    top: 12px;
    max-width: min(96%, 320px);
  }

  #kids-kp .kids_hero__label {
    margin-bottom: 8px;
    padding: 3px 10px;
    font-size: 0.72rem;
    border-width: 1px;
  }

  #kids-kp .kids_hero__catch {
    font-size: clamp(1.3rem, 8vw, 2.05rem);
    line-height: 1.12;
  }
}

/* ----- セクション共通 ----- */
#kids-kp .kids_section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 18px 48px;
}

#kids-kp .kids_sectionLabel {
  text-align: center;
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  color: var(--kids-gold);
  font-weight: 600;
  margin-bottom: 6px;
}

#kids-kp .kids_h2 {
  text-align: center;
  font-size: 1.28rem;
  font-weight: 700;
  margin: 0 0 24px;
  color: var(--kids-text);
  position: relative;
}

#kids-kp .kids_h2--decor::before,
#kids-kp .kids_h2--decor::after {
  content: '';
  display: inline-block;
  width: 32px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kids-gold-light));
  vertical-align: middle;
  margin: 0 10px;
}

#kids-kp .kids_h2--decor::after {
  background: linear-gradient(90deg, var(--kids-gold-light), transparent);
}

#kids-kp .kids_h2--ribbon {
  background: linear-gradient(90deg, var(--kids-blue-pale), #fff 40%, #fff 60%, var(--kids-blue-pale));
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(122, 184, 212, 0.35);
  font-size: 1.05rem;
  margin-bottom: 28px;
}

#kids-kp .kids_h2--pinkBand {
  background: var(--kids-pink-band);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  padding: 14px 20px;
  border-radius: 12px;
  margin-bottom: 0;
  font-size: 1.15rem;
}

#kids-kp .kids_h2--decor.kids_h2--pinkBand::before,
#kids-kp .kids_h2--decor.kids_h2--pinkBand::after {
  display: none;
}

#kids-kp .kids_note {
  font-size: 0.78rem;
  color: var(--kids-muted);
  margin: 12px 0 0;
}

#kids-kp .kids_note--center {
  text-align: center;
}

/* ----- セクション見出し（ARCH + タイトル + リード）照射範囲・料金表など共通 ----- */
#kids-kp .kids_lpIntro {
  text-align: center;
  margin-bottom: 26px;
}

#kids-kp .kids_lpArch {
  display: block;
  text-align: center;
  margin: 0 auto 10px;
  padding: 6px 12px 22px;
  min-height: 50px;
  max-width: 100%;
  font-family: 'Zen Maru Gothic', 'Quicksand', var(--kids-font);
  font-size: clamp(0.6rem, 1.4vw, 0.76rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e888a3;
}

#kids-kp .kids_lpArch span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

#kids-kp .kids_lpTitle {
  margin: 0 0 10px;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 700;
  color: #7ec5e5;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

#kids-kp .kids_lpLead {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--kids-text);
  line-height: 1.8;
}

#kids-kp .kids_taxin {
  font-size: 0.82em;
  font-weight: 500;
  color: var(--kids-muted);
}

/* ----- 肌を守る ----- */
#kids-kp .kids_skin__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: center;
  border-radius: 6px;
  padding: 28px 16px;
}

#kids-kp .kids_skin__photo:first-of-type {
  grid-column: 1;
  grid-row: 1;
}

#kids-kp .kids_skin__photo:last-of-type {
  grid-column: 2;
  grid-row: 1;
}

#kids-kp .kids_skin__body {
  grid-column: 1 / -1;
  grid-row: 2;
}

#kids-kp .kids_skin__photo {
  text-align: center;
}

#kids-kp .kids_skin__photo img {
  width: min(122px, 34vw);
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
}

#kids-kp .kids_skin__body {
  text-align: center;
  color: #474747;
}

#kids-kp .kids_skin__quote {
  margin: 0;
  font-size: 0.98rem;
  letter-spacing: 0.03em;
}

#kids-kp .kids_skin__quote + .kids_skin__quote {
  margin-top: 8px;
}

#kids-kp .kids_skin__lead {
  margin: 16px 0 0;
  font-size: 0.84rem;
}

#kids-kp .kids_skin__promise {
  margin: 14px auto 0;
  font-size: 0.84rem;
  line-height: 1.9;
  color: #5f5f5f;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #d89a9a;
  text-underline-offset: 4px;
}

#kids-kp .kids_skin__note {
  padding: 12px 14px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--kids-border);
}

@media (min-width: 768px) {
  #kids-kp .kids_skin__grid {
    grid-template-columns: minmax(0, 160px) minmax(0, 1fr) minmax(0, 160px);
    align-items: center;
    gap: 24px;
    padding: 24px 28px;
  }

  #kids-kp .kids_skin__photo:first-of-type {
    grid-column: 1;
    grid-row: 1;
  }

  #kids-kp .kids_skin__photo:last-of-type {
    grid-column: 3;
    grid-row: 1;
  }

  #kids-kp .kids_skin__body {
    grid-column: 2;
    grid-row: 1;
  }

  #kids-kp .kids_skin__quote {
    font-size: 1.04rem;
  }

  #kids-kp .kids_skin__lead,
  #kids-kp .kids_skin__promise {
    font-size: 0.88rem;
  }
}

/* ----- 比較表 ----- */
#kids-kp .kids_compareTableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -4px;
  padding: 4px;
}

#kids-kp .kids_compareTable {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.86rem;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
}

#kids-kp .kids_compareTable th,
#kids-kp .kids_compareTable td {
  padding: 13px 11px;
  border: 1px solid #dce8ef;
  vertical-align: top;
}

#kids-kp .kids_compareTable thead th {
  background: var(--kids-blue-deep);
  color: #fff;
  font-weight: 700;
}

#kids-kp .kids_compareTable__clara {
  background: #f2f9fc;
  font-weight: 500;
}

#kids-kp .kids_compareTable tbody th[scope='row'] {
  background: #f7f4ee;
  font-weight: 700;
  white-space: nowrap;
}

/* ----- 照射範囲（デザイン準拠） ----- */
#kids-kp .kids_treatArea {
  --kids-treat-sky: #7ec5e5;
  --kids-treat-sky-dark: #5eb0d4;
  --kids-treat-sky-line: #8ed0ec;
  --kids-treat-bubble-bg: #eef8fc;
  --kids-treat-info-bg: #f3ece2;
  --kids-treat-arch-pink: #e888a3;
  max-width: 980px;
  padding-top: 40px;
  padding-bottom: 48px;
}

#kids-kp .kids_treatArea__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 18px;
}

#kids-kp .kids_treatArea__side {
  display: grid;
  gap: 12px;
}

#kids-kp .kids_treatArea__panel {
  margin: 0;
  min-width: 0;
}

#kids-kp .kids_treatArea__frame {
  height: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1.5px solid var(--kids-treat-sky-line);
  border-radius: 14px;
  overflow: hidden;
}

#kids-kp .kids_treatArea__frame--compact {
  padding: 12px 12px 10px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#kids-kp .kids_treatArea__bodyHead {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 12px;
  align-items: start;
  padding: 14px 16px 6px;
}

#kids-kp .kids_treatArea__vertTitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  margin: 0;
  padding: 2px 4px 0 0;
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--kids-treat-sky);
  letter-spacing: 0.15em;
  line-height: 1.05;
}

#kids-kp .kids_treatArea__vertTitle span {
  display: block;
}

#kids-kp .kids_treatArea__panelDesc--body {
  margin: 0;
  padding-top: 4px;
  font-size: 0.8rem;
  line-height: 1.65;
  font-weight: 400;
}

#kids-kp .kids_treatArea__fig--body {
  margin: 0;
  padding: 4px 12px 8px;
  text-align: center;
  line-height: 0;
}

#kids-kp .kids_treatArea__fig--body img {
  width: min(100%, 268px);
  margin: 0 auto;
}

#kids-kp .kids_treatArea__panelTitle {
  margin: 0 0 6px;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--kids-treat-sky);
  letter-spacing: 0.04em;
  line-height: 1.2;
}

#kids-kp .kids_treatArea__panelDesc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.65;
  font-weight: 400;
}

#kids-kp .kids_treatArea__panelNote {
  display: block;
  margin-top: 2px;
  font-size: 0.72rem;
  color: var(--kids-text);
  font-weight: 400;
}

#kids-kp .kids_treatArea__panelHead {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 10px;
  align-items: start;
  flex-shrink: 0;
  margin-bottom: 4px;
}

#kids-kp .kids_treatArea__panel--face .kids_treatArea__panelTitle,
#kids-kp .kids_treatArea__panel--vio .kids_treatArea__panelTitle {
  margin: 0;
  white-space: nowrap;
}

#kids-kp .kids_treatArea__panel--face .kids_treatArea__panelDesc,
#kids-kp .kids_treatArea__panel--vio .kids_treatArea__panelDesc {
  margin: 0;
}

#kids-kp .kids_treatArea__fig--face,
#kids-kp .kids_treatArea__fig--vio {
  margin: 0;
  line-height: 0;
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#kids-kp .kids_treatArea__fig--face img {
  width: auto;
  height: auto;
  max-width: min(130px, 100%);
  max-height: 100%;
  object-fit: contain;
  margin: 0 auto;
}

#kids-kp .kids_treatArea__fig--vio img {
  width: auto;
  height: auto;
  max-width: min(200px, 100%);
  max-height: 100%;
  object-fit: contain;
  margin: 0 auto;
}

#kids-kp .kids_treatArea__popular {
  margin: 0;
  padding: 0 16px 16px;
}

#kids-kp .kids_treatArea__frame--compact .kids_treatArea__popular {
  padding: 0;
  margin-top: 2px;
}

#kids-kp .kids_treatArea__popularTitle {
  margin: 0 0 12px;
  text-align: center;
  line-height: 0;
}

#kids-kp .kids_treatArea__popularImg {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 40%;
  vertical-align: bottom;
  margin-left: -60%;
}

#kids-kp .kids_treatArea__popularList {
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
}

#kids-kp .kids_treatArea__popularItem {
  margin: 0 0 10px;
}

#kids-kp .kids_treatArea__popularItem:last-child {
  margin-bottom: 0;
}

#kids-kp .kids_treatArea__popularItem dt {
  margin: 0 0 2px;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.5;
}

#kids-kp .kids_treatArea__popularItem dd {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.65;
  color: var(--kids-text);
  font-weight: 400;
}

#kids-kp .kids_treatArea__disclaimer {
  margin: 0 0 20px;
  font-size: 0.72rem;
  line-height: 1.8;
  font-weight: 400;
  color: var(--kids-text);
  text-align: left;
}

#kids-kp .kids_treatArea__info {
  padding: 22px 20px 26px;
  background: #F5EAD4;
  border-radius: 14px;
  border: none;
}

#kids-kp .kids_treatArea__infoTitle {
  margin: 0 0 14px;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--kids-text);
  line-height: 1.55;
}

#kids-kp .kids_treatArea__infoList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 32px;
}

#kids-kp .kids_treatArea__infoItem {
  display: block;
  font-size: 0.78rem;
  line-height: 1.8;
  color: var(--kids-text);
}

#kids-kp .kids_treatArea__infoNum {
  font-weight: 700;
}

#kids-kp .kids_treatArea__infoHead {
  font-weight: 700;
}

#kids-kp .kids_treatArea__infoBody p {
  margin: 4px 0 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: 400;
}

@media (max-width: 767px) {
  #kids-kp .kids_treatArea__frame--compact {
    display: block;
    height: auto;
    min-height: auto;
  }

  #kids-kp .kids_treatArea__fig--face,
  #kids-kp .kids_treatArea__fig--vio {
    flex: none;
    min-height: auto;
    padding: 8px 0;
  }

  #kids-kp .kids_treatArea__fig--face img,
  #kids-kp .kids_treatArea__fig--vio img {
    max-height: none;
  }

  #kids-kp .kids_treatArea__popularImg {
    display: block;
    max-width: min(280px, 90%);
    margin: 0 auto;
  }
}

@media (min-width: 768px) {
  #kids-kp .kids_treatArea__layout {
    grid-template-columns: minmax(0, 52%) minmax(0, 48%);
    gap: 14px;
    align-items: stretch;
  }

  #kids-kp .kids_treatArea__side {
    grid-template-rows: 7fr 3fr;
    min-height: 100%;
  }

  #kids-kp .kids_treatArea__side .kids_treatArea__panel {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  #kids-kp .kids_treatArea__panel--body .kids_treatArea__frame {
    display: flex;
    flex-direction: column;
  }

  #kids-kp .kids_treatArea__fig--body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
  }

  #kids-kp .kids_treatArea__fig--body img {
    width: min(100%, 290px);
  }

  #kids-kp .kids_treatArea__bodyHead {
    padding: 16px 18px 4px;
  }

  #kids-kp .kids_treatArea__vertTitle {
    font-size: 2.5rem;
  }

  #kids-kp .kids_treatArea__panelDesc--body {
    font-size: 0.82rem;
    padding-top: 6px;
  }

  #kids-kp .kids_treatArea__frame--compact {
    padding: 16px 16px 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  #kids-kp .kids_treatArea__panel--face .kids_treatArea__fig--face img {
    max-width: min(140px, 100%);
  }

  #kids-kp .kids_treatArea__panel--vio .kids_treatArea__fig--vio img {
    max-width: 80%;
  }

  #kids-kp .kids_treatArea__info {
    padding: 40px 32px;
  }

  #kids-kp .kids_treatArea__infoTitle {
    font-size: 1rem;
    margin-bottom: 16px;
  }

  #kids-kp .kids_treatArea__infoItem {
    font-size: 0.8rem;
  }
}

/* ----- なぜ医療脱毛 ----- */
#kids-kp .kids_why {
  padding-top: 32px;
  padding-bottom: 40px;
}

#kids-kp .kids_why__box {
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  padding: 36px 18px 28px;
  background: #fdf0f0;
  border: 2px solid #f5c4cf;
  border-radius: 20px;
}

#kids-kp .kids_why__head {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 10px 14px;
  max-width: min(100%, 620px);
  margin: 0 auto 16px;
  padding: 0 8px;
}

#kids-kp .kids_why__decoImg {
  display: block;
  width: 90px;
  max-width: none;
  height: auto;
  flex-shrink: 0;
}

#kids-kp .kids_why__decoImg--left {
  order: 1;
  margin-top: -7%;
}

#kids-kp .kids_why__decoImg--right {
  order: 3;
  margin-top: -7%;
}

#kids-kp .kids_br--sp {
  display: none;
}

#kids-kp .kids_why__title {
  order: 2;
  margin: 8px 0 0;
  text-align: center;
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.55;
  color: var(--kids-text);
}

#kids-kp .kids_why__lead {
  margin: 0 0 24px;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.85;
}

#kids-kp .kids_why__points {
  display: grid;
  gap: 20px;
  margin-bottom: 28px;
}

#kids-kp .kids_why__point {
  margin: 0;
}

#kids-kp .kids_why__pointHead {
  margin: 0;
  padding: 12px 14px;
  text-align: center;
  font-size: 0.98rem;
  font-weight: 800;
  color: #fff;
  background: #EF82AA;
  border-radius: 4px;
}

#kids-kp .kids_why__pointNum {
  font-size: 1.5rem;
}

#kids-kp .kids_why__pointEm {
  color: #ffff98;
}

#kids-kp .kids_why__pointBody {
  margin: 0;
  padding: 14px 4px 0;
  font-size: 0.88rem;
  line-height: 1.85;
}

#kids-kp .kids_why__compareTitle {
  margin: 0 0 14px;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 700;
}

#kids-kp .kids_why__tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -2px;
}

#kids-kp .kids_why__table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.84rem;
  background: #fff;
}

#kids-kp .kids_why__table th,
#kids-kp .kids_why__table td {
  padding: 11px 10px;
  border: 1px solid #ccc;
  vertical-align: middle;
}

#kids-kp .kids_why__table thead th {
  font-weight: 800;
  text-align: center;
}

#kids-kp .kids_why__tableCorner {
  background: #fff;
}

#kids-kp .kids_why__tableClinic {
  background: #F4ACC6;
  font-weight: 700;
  text-align: center;
}

#kids-kp .kids_why__tableClinic_td {
  background: #FCE4EC;
  text-align: center;
}
#kids-kp .kids_why__tableSalon {
  background: #ececec;
  font-weight: 700;
  text-align: center;
}

#kids-kp .kids_why__table tbody th[scope='row'] {
  background: #fff;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

#kids-kp .kids_why__table tbody td:not(.kids_why__tableClinic) {
  text-align: center;
  font-weight: 300;
}

#kids-kp .kids_why__note {
  margin: 12px 0 0;
  font-size: 0.75rem;
  color: var(--kids-muted);
  line-height: 1.6;
}

@media (max-width: 767px) {
  #kids-kp .kids_br--sp {
    display: block;
  }

  #kids-kp .kids_why__decoImg {
    display: none;
  }

  #kids-kp .kids_why__head {
    max-width: 100%;
    padding: 0;
  }

  #kids-kp .kids_why__title {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  #kids-kp .kids_why__box {
    padding: 20px 115px 32px;
  }

  #kids-kp .kids_why__title {
    font-size: 1.38rem;
    white-space: nowrap;
  }

  #kids-kp .kids_why__lead,
  #kids-kp .kids_why__pointBody {
    font-size: 0.92rem;
  }

  #kids-kp .kids_why__pointHead {
    font-size: 1.05rem;
    padding: 4px 18px;
  }

  #kids-kp .kids_why__table {
    font-size: 0.88rem;
  }
}

/* ----- 人気の理由バンド ----- */
#kids-kp .kids_popular {
  padding-top: 20px;
  padding-bottom: 28px;
}

#kids-kp .kids_popular__strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
  padding: 14px 12px;
  background: repeating-linear-gradient(
    -8deg,
    var(--kids-pink-soft),
    var(--kids-pink-soft) 12px,
    #fff 12px,
    #fff 24px
  );
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--kids-pink-deep);
}

/* ----- 親御様へ ----- */
#kids-kp .kids_parent__box {
  background: linear-gradient(165deg, #fff 0%, var(--kids-pink-soft) 100%);
  border: 2px solid rgba(244, 160, 176, 0.45);
  border-radius: 20px;
  padding: 22px 20px;
  font-size: 0.92rem;
}

#kids-kp .kids_parent__box p {
  margin: 0 0 0.8em;
}

#kids-kp .kids_parent__fine {
  margin-bottom: 0 !important;
  font-size: 0.85rem;
  color: var(--kids-muted);
}

/* ----- 知っておいていただきたい ----- */
#kids-kp .kids_mustknow__grid {
  display: grid;
  gap: 20px;
}

#kids-kp .kids_mustknow__card {
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px;
  border: 1px solid var(--kids-border);
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.04);
}

#kids-kp .kids_mustknow__title {
  margin: 0 0 14px;
  font-size: 1.02rem;
  color: var(--kids-blue-deep);
}

#kids-kp .kids_mustknow__mark {
  display: inline-block;
  margin-right: 6px;
  color: var(--kids-pink-deep);
  font-weight: 800;
}

#kids-kp .kids_mustknow__card p {
  margin: 0 0 0.85em;
  font-size: 0.9rem;
}

#kids-kp .kids_mustknow__em {
  font-weight: 700;
  color: var(--kids-text);
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #kids-kp .kids_mustknow__grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ----- トライアル表 ----- */
#kids-kp .kids_trial--intro {
  padding-top: 28px;
}

#kids-kp #kids-trial-intro-heading {
  margin-bottom: 18px;
  color: #1d9fd9;
  font-size: clamp(1.45rem, 4.8vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

#kids-kp #kids-trial-intro-heading::before,
#kids-kp #kids-trial-intro-heading::after {
  display: inline-block;
  margin: 0 0.35em;
  color: #1d9fd9;
  font-weight: 700;
  background: none;
  width: auto;
  height: auto;
  vertical-align: baseline;
}

#kids-kp #kids-trial-intro-heading::before {
  content: '\\';
}

#kids-kp #kids-trial-intro-heading::after {
  content: '/';
}

#kids-kp .kids_trialPanel {
  background: linear-gradient(180deg, #4ca6de 0%, #5eb7e6 100%);
  border-radius: 18px;
  padding: 18px 12px 12px;
}

#kids-kp .kids_trialPanel__title {
  margin: 0;
  text-align: center;
  color: #fff;
  font-weight: 700;
  position: relative;
  padding: 10px 0;
}

#kids-kp .kids_trialPanel__title::before,
#kids-kp .kids_trialPanel__title::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(92%, 560px);
  border-top: 2px solid rgba(255, 255, 255, 0.9);
}

#kids-kp .kids_trialPanel__title::before {
  top: 0;
}

#kids-kp .kids_trialPanel__title::after {
  bottom: 0;
}

#kids-kp .kids_trialPanel__title span {
  display: inline-block;
  margin-right: 8px;
  font-size: 0.88rem;
  padding: 4px 8px;
  background: #fff;
  color: #5eb7e6;
}

#kids-kp .kids_trialPanel__title strong {
  font-size: 2rem;
  letter-spacing: 0.03em;
}

#kids-kp .kids_trialPanel__lead {
  margin: 12px auto 14px;
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.8;
}

#kids-kp .kids_trialPanel__leadHighlight {
  color: #ffe45a;
  font-weight: 700;
}

#kids-kp .kids_trialTable {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 0.88rem;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}

#kids-kp .kids_trialTable th,
#kids-kp .kids_trialTable td {
  padding: 14px 12px;
  border: 1px solid #ddeaf0;
  vertical-align: middle;
  text-align: center;
}

#kids-kp .kids_trialTable thead th {
  background: var(--kids-blue-deep);
  color: #fff;
}

#kids-kp .kids_trialTable tbody th {
  background: #faf8f4;
  font-weight: 700;
  width: 26%;
}

#kids-kp .kids_trialTable__price {
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--kids-blue-deep);
  white-space: nowrap;
}

#kids-kp .kids_trial__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--kids-pink-deep);
}

#kids-kp .kids_trialBadge {
  display: inline-block;
  margin-bottom: 4px;
  color: var(--kids-text);
}

@media (min-width: 768px) {
  #kids-kp .kids_trialPanel {
    padding: 22px 24px 18px;
  }

  #kids-kp .kids_trialPanel__title strong {
    font-size: 2.6rem;
  }

  #kids-kp .kids_trialPanel__lead {
    font-size: 0.86rem;
  }
}

/* ----- 料金表 ----- */
#kids-kp .kids_section.kids_price {
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
}

#kids-kp .kids_price {
  --kids-price-cream: #fdf8e8;
  --kids-price-border: #b8d9ec;
  padding: 36px 18px 44px;
}

#kids-kp .kids_price .kids_lpIntro {
  max-width: min(1040px, 100%);
  margin-left: auto;
  margin-right: auto;
}

#kids-kp .kids_price__box {
  max-width: 920px;
  margin: 0 auto;
  padding: 28px 16px 32px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(74, 142, 184, 0.1);
}

#kids-kp .kids_price__block + .kids_price__block {
  margin-top: 36px;
  padding-top: 8px;
}

#kids-kp .kids_price__ribbon {
  position: relative;
  max-width: 100%;
  margin: 0 auto 14px;
  text-align: center;
  line-height: 0;
}

#kids-kp .kids_price__ribbon--top {
  margin-top: 4px;
}

#kids-kp .kids_price__ribbonImg {
  display: block;
  width: min(100%, 860px);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

#kids-kp .kids_price__ribbonText {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%);
  width: min(88%, 720px);
  margin: 0;
  padding: 0 12px;
  box-sizing: border-box;
  font-size: clamp(0.68rem, 2.4vw, 0.95rem);
  font-weight: 800;
  line-height: 1;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

#kids-kp .kids_price__ribbon--top .kids_price__ribbonText {
  top: 50%;
}

#kids-kp .kids_price__ribbonText_sub {
  font-size: 0.75rem;
}

#kids-kp .kids_price__blockLead {
  margin: 0 0 16px;
  text-align: center;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--kids-text);
}

#kids-kp .kids_price__blockLead--parts {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.75;
}

#kids-kp .kids_price__machineNote {
  font-weight: 700;
}

#kids-kp .kids_price__tableWrap {
  overflow-x: auto;
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

#kids-kp .kids_priceTable {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.78rem;
  background: #fff;
  table-layout: fixed;
}

#kids-kp .kids_priceTable th,
#kids-kp .kids_priceTable td {
  padding: 12px 10px;
  border: 1px solid var(--kids-price-border);
  vertical-align: middle;
  text-align: center;
  line-height: 1.55;
}

#kids-kp .kids_priceTable thead th {
  background: #e8f4fa;
  color: var(--kids-blue-deep);
  font-weight: 800;
  font-size: 0.76rem;
  padding: 10px 8px;
}

#kids-kp .kids_priceTable thead th:nth-child(1) {
  width: 46%;
}

#kids-kp .kids_priceTable thead th:nth-child(2),
#kids-kp .kids_priceTable thead th:nth-child(3) {
  width: 27%;
}

#kids-kp .kids_priceTable__plan {
  background: #fff;
  font-weight: 700;
  font-size: 0.76rem;
  text-align: center;
}

#kids-kp .kids_priceTable__machine {
  display: block;
  margin-top: 4px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--kids-muted);
  line-height: 1.5;
}

#kids-kp .kids_priceTable__camCell {
  background: #fff;
}

#kids-kp .kids_priceTable__cam {
  display: block;
  font-size: clamp(1rem, 3vw, 1.35rem);
  font-weight: 800;
  color: var(--kids-blue-deep);
  line-height: 1.3;
  white-space: nowrap;
}

#kids-kp .kids_priceTable__tax {
  display: block;
  margin-top: 2px;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--kids-muted);
}

#kids-kp .kids_priceTable__perSession {
  display: block;
  margin-top: 4px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--kids-blue-deep);
}

#kids-kp .kids_price__notes {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.72rem;
  line-height: 1.65;
  color: var(--kids-muted);
  text-align: left;
}

#kids-kp .kids_price__notes li {
  margin-bottom: 0.4em;
}

#kids-kp .kids_price__noteSingle {
  margin: 12px 0 0;
  font-size: 0.72rem;
  line-height: 1.65;
  color: var(--kids-muted);
  text-align: left;
}

@media (min-width: 768px) {
  #kids-kp .kids_price {
    padding-top: 44px;
    padding-bottom: 52px;
  }

  #kids-kp .kids_price__box {
    padding: 36px 32px 40px;
  }

  #kids-kp .kids_price__block + .kids_price__block {
    margin-top: 44px;
  }

  #kids-kp .kids_priceTable {
    min-width: 0;
    font-size: 0.82rem;
  }

  #kids-kp .kids_priceTable th,
  #kids-kp .kids_priceTable td {
    padding: 14px 12px;
  }

  #kids-kp .kids_price__ribbonText {
    font-size: 1.5rem;
  }

  #kids-kp .kids_price__notes,
  #kids-kp .kids_price__noteSingle {
    font-size: 0.76rem;
  }
}

/* ----- WHY CHOOSE + 理由 ----- */
#kids-kp .kids_reasons {
  --kids-reason-cream: #fdf6e9;
  --kids-reason-blue: #6cb0d6;
  --kids-reason-pink: #e688a3;
  --kids-reason-border: #b6d9f0;
  --kids-reason-imgbg: #e8f1f8;
  display: block;
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  padding: 44px 18px 36px;
  box-sizing: border-box;
}

@media (min-width: 960px) {
  #kids-kp .kids_reasons {
    padding: 52px 28px 44px;
  }
}

#kids-kp .kids_reasons__intro {
  text-align: center;
  max-width: min(1040px, 100%);
  margin: 0 auto 28px;
  padding: 0 4px;
}

/* Arctext.js が各文字に transform を付与（Lettering 由来の span.charN） */
#kids-kp .kids_reasons__arch {
  display: block;
  text-align: center;
  margin: 0 auto 18px;
  padding: 8px 12px 20px;
  min-height: 52px;
  max-width: 100%;
  font-family: 'Zen Maru Gothic', 'Quicksand', var(--kids-font);
  font-size: clamp(0.65rem, 1.55vw, 0.82rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kids-reason-pink);
}

#kids-kp .kids_reasons__arch span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

#kids-kp .kids_reasons__pageTitle {
  margin-bottom: 80px;
  font-family: 'Noto Sans JP', var(--kids-font);
  font-size: clamp(1.05rem, 2.8vw, 1.55rem);
  font-weight: 700;
  line-height: 1.45;
  color: var(--kids-reason-blue);
  letter-spacing: 0.02em;
}

#kids-kp .kids_reasons__pageTitleLine {
  display: block;
}

#kids-kp .kids_reasons__main {
  max-width: min(1040px, 100%);
  margin: 0 auto;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

#kids-kp .kids_section.kids_reasons {
  max-width: none;
}

#kids-kp .kids_reasons__featureCard {
  position: relative;
  background: #fff;
  border: 1px solid var(--kids-reason-border);
  border-radius: 18px;
  padding: 32px 10px;
  box-shadow: 0 4px 24px rgba(108, 176, 214, 0.08);
  overflow: visible;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

@media (min-width: 960px) {
  /* PC：白枠70%・01/03は左寄せ・02/04は右寄せ */
  #kids-kp .kids_reasons__featureCard {
    width: 70%;
    margin-right: auto;
    margin-left: 0;
  }

  #kids-kp .kids_reasons__item--featureRev .kids_reasons__featureCard {
    margin-right: 0;
    margin-left: auto;
  }
}

#kids-kp .kids_reasons__featureGrid,
#kids-kp .kids_reasons__featureGridRev {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 16px 20px;
  align-items: start;
}

/* 01・03：REASON＋テキスト → 画像 */
#kids-kp .kids_reasons__featureGrid {
  grid-template-areas:
    'reason copy'
    'img img';
}

/* 02・04：テキスト＋REASON（右）→ 画像（DOMは REASON→画像→テキスト） */
#kids-kp .kids_reasons__featureGridRev {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    'copy reason'
    'img img';
}

#kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg {
  grid-area: img;
}

#kids-kp .kids_reasons__featureGridRev .kids_reasons__featureCopy {
  grid-area: copy;
}

#kids-kp .kids_reasons__featureGridRev .kids_reasons__featureReasonCol {
  grid-area: reason;
}

#kids-kp .kids_reasons__featureReasonCol {
  grid-area: reason;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 4px;
  flex-shrink: 0;
  position: relative;
  z-index: 4;
}

#kids-kp .kids_reasons__labelVert {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: 'いろはマルみかみ', var(--kids-font);
  font-size: clamp(1.85rem, 5.5vw, 2.85rem);
  letter-spacing: 0.22em;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--kids-reason-blue);
  paint-order: stroke fill;
  min-height: 6.5em;
}

#kids-kp .kids_reasons__featureCopy {
  grid-area: copy;
  min-width: 0;
  box-sizing: border-box;
}

#kids-kp .kids_reasons__featureHead {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(8px, 2vw, 16px);
  margin-bottom: 12px;
}

#kids-kp .kids_reasons__num--feature {
  flex-shrink: 0;
  display: block;
  margin-top: -5px;
  font-family: 'Noto Sans JP', var(--kids-font);
  font-size: 5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--kids-reason-pink);
  vertical-align: unset;
}

#kids-kp .kids_reasons__titleFeature {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: 'Noto Sans JP', var(--kids-font);
  font-size: clamp(0.98rem, 2.4vw, 1.12rem);
  font-weight: 700;
  line-height: 1.55;
  color: var(--kids-reason-pink);
}

#kids-kp .kids_reasons__leadBold {
  margin: 0 0 14px;
  font-size: clamp(0.92rem, 2.2vw, 1.02rem);
  font-weight: 700;
  color: var(--kids-text);
}

#kids-kp .kids_reasons__featureCopy p {
  margin: 0 0 0.85em;
  font-size: 0.9rem;
  line-height: 1.85;
}

#kids-kp .kids_reasons__featureCopy p:last-child {
  margin-bottom: 0;
}

#kids-kp .kids_reasons__featureNote {
  margin-top: 14px !important;
  font-size: 0.78rem;
  color: var(--kids-muted);
}

#kids-kp .kids_reasons__featureImg {
  grid-area: img;
  border-radius: 22px;
  padding: clamp(14px, 3vw, 22px);
  text-align: center;
  box-sizing: border-box;
  min-width: 0;
}

#kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg img {
  display: block;
  max-height: min(280px, 48vw);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  margin-top: -14%;
  margin-right: -120%;
}

#kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg img {
  display: block;
  max-height: min(280px, 48vw);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  margin-top: -14%;
  margin-right: 0;
  margin-left: -60%;
}

/* SP：白枠・画像エリア */
@media (max-width: 599px) {
  /* セクション左右padding（18px）まで白枠を広げる */

  #kids-kp .kids_reasons__featureImg {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
    background: var(--kids-reason-imgbg);
    height: clamp(160px, 44vw, 220px);
    min-height: clamp(160px, 44vw, 220px);
    padding: clamp(10px, 2.5vw, 16px);
  }

  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg img,
  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg img {
    margin: 0;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
  }
}

/* テキスト幅60%固定＋画像を白枠上に重ね — 01・03（通常）と 02・04（反転） */
@media (min-width: 600px) {
  #kids-kp .kids_reasons__featureGrid,
  #kids-kp .kids_reasons__featureGridRev {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: none;
    gap: clamp(14px, 2.2vw, 22px) 0;
    align-items: start;
  }

  /* 01・03：REASONはテキスト左 */
  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureReasonCol {
    grid-area: unset;
    grid-column: 1;
    grid-row: 1;
    padding-top: 2px;
  }

  /* 02・04：REASONはテキスト右 */
  #kids-kp .kids_reasons__featureGridRev {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureReasonCol {
    grid-area: unset;
    grid-column: 2;
    grid-row: 1;
    padding-top: 2px;
    align-self: start;
  }

  /* 01・03：テキスト左・画像右 */
  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureCopy {
    grid-area: unset;
    grid-column: 2;
    grid-row: 1;
    width: 60%;
    max-width: 60%;
    min-width: 0;
    justify-self: start;
    position: relative;
    z-index: 1;
    margin-left: 10px;
    box-sizing: border-box;
  }

  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg {
    grid-area: unset;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    justify-self: end;
    align-self: start;
    margin-top: clamp(-8px, -1.8vw, -24px);
    margin-left: -13%;
    margin-right: calc(-1 * clamp(8px, 1.8vw, 20px));
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 02・04：画像左・テキスト右（画像は右方向に重ね、REASON列には被せない） */
  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg {
    grid-area: unset;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    justify-self: start;
    align-self: start;
    margin-top: clamp(-8px, -1.8vw, -24px);
    margin-left: clamp(8px, 1.8vw, 20px);
    margin-right: -13%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureCopy {
    grid-area: unset;
    grid-column: 1;
    grid-row: 1;
    width: 60%;
    max-width: 60%;
    min-width: 0;
    justify-self: end;
    position: relative;
    z-index: 1;
    margin-right: clamp(10px, 1.5vw, 16px);
    margin-left: 0;
    box-sizing: border-box;
  }

  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg img,
  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg img {
    max-height: min(360px, 42vw);
  }
}

@media (min-width: 960px) {
  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg {
    width: 100%;
    margin-top: clamp(-12px, -2vw, -32px);
    margin-left: -11%;
    margin-right: calc(-1 * clamp(8px, 1.8vw, 20px));
  }

  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg {
    width: 100%;
    margin-top: clamp(-12px, -2vw, -32px);
    margin-left: clamp(8px, 1.8vw, 20px);
    margin-right: -11%;
  }

  #kids-kp .kids_reasons__featureGrid .kids_reasons__featureImg img,
  #kids-kp .kids_reasons__featureGridRev .kids_reasons__featureImg img {
    max-height: min(400px, 36vw);
  }
}

#kids-kp .kids_reasons__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 理由01〜04：外側 li はグリッドにしない（カード内でレイアウト） */
#kids-kp .kids_reasons__item.kids_reasons__item--feature {
  display: block;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px dashed rgba(182, 217, 240, 0.85);
}

#kids-kp .kids_reasons__item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

#kids-kp .kids_reasons__num:not(.kids_reasons__num--feature) {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--kids-blue);
  margin-right: 8px;
  vertical-align: middle;
}

#kids-kp .kids_reasons__label {
  display: inline-block;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  color: var(--kids-gold);
  font-weight: 700;
  vertical-align: middle;
}

#kids-kp .kids_reasons__title {
  font-size: 1.02rem;
  margin: 10px 0 10px;
  color: var(--kids-blue-deep);
  line-height: 1.5;
}

#kids-kp .kids_reasons__subtitle {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  margin-top: 4px;
  color: var(--kids-text);
}

#kids-kp .kids_reasons__text p {
  margin: 0;
  font-size: 0.9rem;
}

#kids-kp .kids_reasons__img {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09);
}

/* ----- 施術の基本的な流れ（未成年） ----- */
#kids-kp .kids_flow .kids_lpIntro {
  margin-bottom: 28px;
}

#kids-kp .kids_flow__sub {
  display: block;
  margin: 0;
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 700;
  color: #7ec5e5;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

#kids-kp .kids_flow__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 680px;
}

#kids-kp .kids_flow__item {
  margin: 0;
}

#kids-kp .kids_flow__card {
  display: flex;
  align-items: flex-start;
  gap: 14px 18px;
  padding: 18px 20px 20px;
  background: #aed9f1;
  border-radius: 14px;
}

#kids-kp .kids_flow__labelCol {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 3.2em;
  padding-top: 2px;
  text-align: center;
}

#kids-kp .kids_flow__label {
  font-family: 'Zen Maru Gothic', var(--kids-font);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #fff;
  line-height: 1.2;
}

#kids-kp .kids_flow__num {
  margin-top: 4px;
  font-family: 'Zen Maru Gothic', var(--kids-font);
  font-size: clamp(2.1rem, 7vw, 2.85rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #FFE412;
}

#kids-kp .kids_flow__body {
  flex: 1;
  min-width: 0;
}

#kids-kp .kids_flow__title {
  margin: 0 0 8px;
  font-size: clamp(0.95rem, 2.6vw, 1.08rem);
  font-weight: 700;
  color: var(--kids-text);
  line-height: 1.45;
}

#kids-kp .kids_flow__body p {
  margin: 0;
  font-size: clamp(0.78rem, 2.2vw, 0.88rem);
  font-weight: 300;
  line-height: 1.75;
  color: var(--kids-text);
}

#kids-kp .kids_flow__fine {
  display: block;
  margin-top: 6px;
  font-size: 0.92em;
  color: var(--kids-text);
}

#kids-kp .kids_flow__arrow {
  display: block;
  height: 14px;
  position: relative;
  margin: 6px 0 8px;
}

#kids-kp .kids_flow__arrow::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 12px solid #aed9f1;
}

#kids-kp .kids_flow__tips {
  margin-top: 28px;
  padding: 16px 18px;
  background: #fff;
  border-radius: 12px;
  border: 1px dashed var(--kids-gold-light);
  font-size: 0.88rem;
  text-align: center;
}

#kids-kp .kids_flow__tips p {
  margin: 0 0 0.4em;
}

@media (min-width: 640px) {
  #kids-kp .kids_flow__card {
    padding: 22px 28px 24px;
    gap: 22px 28px;
  }

  #kids-kp .kids_flow__labelCol {
    width: 3.6em;
  }
}

/* ----- よくあるご質問 ----- */
#kids-kp .kids_faq {
  padding-top: 36px;
  padding-bottom: 44px;
}

#kids-kp .kids_faq__title {
  margin: 0 0 28px;
  text-align: center;
  font-size: clamp(1.35rem, 4vw, 1.65rem);
  font-weight: 700;
  color: var(--kids-text);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

#kids-kp .kids_faq__list {
  max-width: 720px;
  margin: 0 auto;
}

#kids-kp .kids_faq__item {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 1px dashed #c8c8c8;
  border-bottom: 1px dashed #c8c8c8;
}

#kids-kp .kids_faq__item:first-child {
  padding-top: 22px;
}

#kids-kp .kids_faq__q {
  margin: 0 0 12px;
  font-size: clamp(0.92rem, 2.5vw, 1rem);
  font-weight: 700;
  color: #0084b4;
  line-height: 1.55;
}

#kids-kp .kids_faq__a {
  margin: 0;
  font-size: clamp(0.82rem, 2.2vw, 0.9rem);
  font-weight: 400;
  color: var(--kids-text);
  line-height: 1.85;
}

#kids-kp .kids_faq__aBold {
  font-weight: 700;
}

/* ----- 医師からのコメント ----- */
#kids-kp .kids_doctor {
  padding-top: 36px;
  padding-bottom: 48px;
  background: #fdf8ee;
}

#kids-kp .kids_doctor__title {
  margin: 0 0 28px;
  text-align: center;
  font-size: clamp(1.35rem, 4vw, 1.65rem);
  font-weight: 700;
  color: var(--kids-text);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

#kids-kp .kids_doctor__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 24px;
  align-items: center;
  margin: 0 auto;
}

#kids-kp .kids_doctor__profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}

#kids-kp .kids_doctor__photo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  line-height: 0;
}

#kids-kp .kids_doctor__photo img {
  display: block;
  width: min(168px, 42vw);
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid #fff;
}

#kids-kp .kids_doctor__caption {
  margin: 14px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  line-height: 1.5;
  width: 100%;
}

#kids-kp .kids_doctor__role {
  font-size: 0.78rem;
  color: var(--kids-text);
}

#kids-kp .kids_doctor__name {
  font-size: clamp(1rem, 2.8vw, 1.15rem);
  font-weight: 700;
  color: var(--kids-text);
}

#kids-kp .kids_doctor__bubble {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px 20px;
  border: 1px solid #d8d8d8;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

#kids-kp .kids_doctor__bubble::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 12px solid #d8d8d8;
}

#kids-kp .kids_doctor__bubble::after {
  content: '';
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 11px solid #fff;
}

#kids-kp .kids_doctor__bubbleLead {
  margin: 0 0 12px;
  font-size: clamp(0.9rem, 2.4vw, 1rem);
  font-weight: 700;
  line-height: 1.55;
  color: var(--kids-text);
}

#kids-kp .kids_doctor__bubble p {
  margin: 0 0 1em;
  font-size: clamp(0.82rem, 2.2vw, 0.9rem);
  line-height: 1.85;
  color: var(--kids-text);
}

#kids-kp .kids_doctor__bubble p:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #kids-kp .kids_doctor__grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px 28px;
    align-items: center;
  }

  #kids-kp .kids_doctor__photo img {
    width: min(200px, 72%);
  }

  #kids-kp .kids_doctor__bubble {
    padding: 26px 28px 24px;
    min-width: 0;
  }
}

@media (max-width: 767px) {
  #kids-kp .kids_doctor__bubble::before,
  #kids-kp .kids_doctor__bubble::after {
    left: 50%;
    top: -10px;
    transform: translateX(-50%);
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 12px solid #d8d8d8;
    border-top: none;
  }

  #kids-kp .kids_doctor__bubble::after {
    top: -8px;
    border-bottom-color: #fff;
  }
}

/* ----- CTA ----- */
#kids-kp .kids_section.kids_cta {
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
  padding: 60px;
}

#kids-kp .kids_cta {
  --kids-cta-pink: #e2587a;
  --kids-cta-pink-bg: #fce8ed;
  text-align: center;
  padding: 40px 18px 44px;
  background: var(--kids-cta-pink-bg);
}

#kids-kp .kids_cta__inner {
  max-width: 640px;
  margin: 0 auto;
}

#kids-kp .kids_cta__btn {
  display: inline-block;
  width: min(100%, 520px);
  padding: 30px 28px;
  background: #f67cad;
  color: #fff !important;
  font-weight: 700;
  font-size: 1.5rem;
  border-radius: 999px;
  text-decoration: none;
  line-height: 1.4;
  transition: opacity 0.2s;
}

#kids-kp .kids_cta__btn:hover {
  opacity: 0.92;
}

#kids-kp .kids_cta__note {
  margin: 14px 0 0;
  font-size: clamp(0.72rem, 2vw, 0.8rem);
  color: var(--kids-text);
  line-height: 1;
  font-weight: 500;
}

#kids-kp .kids_cta__telBlock {
  margin-top: 32px;
}

#kids-kp .kids_cta__telLabel {
  margin: 0 0 8px;
  font-size: clamp(0.88rem, 2.4vw, 0.98rem);
  font-weight: 700;
  color: #f67cad;
}

#kids-kp .kids_cta__tel {
  margin: 0 0 10px;
  font-size: clamp(2rem, 7vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

#kids-kp .kids_cta__tel a {
  color: #f67cad;
  text-decoration: none;
}

#kids-kp .kids_cta__tel a:hover {
  opacity: 0.85;
}

#kids-kp .kids_cta__telNote {
  margin: 0;
  font-size: clamp(0.72rem, 2vw, 0.8rem);
  color: var(--kids-text);
  line-height: 1;
  font-weight: 500;

}

/* ----- フッター ----- */
#kids-kp .kids_footer {
  background: #fff;
  border-top: 3px solid var(--kids-blue-pale);
  padding: 28px 16px 20px;
}

#kids-kp .kids_footer__navMain {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  max-width: 900px;
  margin: 0 auto 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee;
  font-size: 0.78rem;
}

#kids-kp .kids_footer__navMain a {
  color: var(--kids-text);
  text-decoration: none;
}

#kids-kp .kids_footer__navMain a:hover {
  color: var(--kids-blue-deep);
  text-decoration: underline;
}

#kids-kp .kids_footer__brand {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 20px;
  font-size: 0.86rem;
  line-height: 1.7;
}

#kids-kp .kids_footer__brand p {
  margin: 0 0 0.35em;
}

#kids-kp .kids_footer__name {
  font-weight: 800;
  font-size: 1rem;
  margin-bottom: 0.5em !important;
}

#kids-kp .kids_footer__navSub {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  max-width: 960px;
  margin: 0 auto 14px;
  font-size: 0.72rem;
}

#kids-kp .kids_footer__navSub a {
  color: var(--kids-blue-deep);
  text-decoration: none;
}

#kids-kp .kids_footer__navSub a:hover {
  text-decoration: underline;
}

#kids-kp .kids_footer__navGroup {
  width: 100%;
  text-align: center;
  font-weight: 700;
  margin-top: 10px;
  font-size: 0.75rem;
  color: var(--kids-muted);
}

#kids-kp .kids_footer__sitemap,
#kids-kp .kids_footer__sister {
  text-align: center;
  font-size: 0.72rem;
  margin: 10px 0;
}

#kids-kp .kids_footer__sitemap a,
#kids-kp .kids_footer__sister a {
  color: var(--kids-muted);
}

#kids-kp .kids_footer__map {
  max-width: 720px;
  margin: 18px auto 16px;
  padding: 0 8px;
}

#kids-kp .kids_footer__map iframe {
  width: 100%;
  border-radius: 12px;
  min-height: 200px;
}

#kids-kp .kids_footer__copy {
  text-align: center;
  font-size: 0.7rem;
  color: #999;
  margin: 0;
}
