@charset "UTF-8";
/* =========================================================
   診療メニューLP（template-menu-lp.php）
   - SPファースト / 768px以上でPCレイアウト
   - 既存テーマにならい rem 指定（PC幅1086px以上で 1rem = 16px）
   - 編集画面でも同じ見た目になるよう、各セクションは .p-mlp-sec 単体で完結
========================================================= */
:root {
  --mlp-text: #384545;
  --mlp-orange: #d4771a;
  --mlp-gold: #c7a15b;
  --mlp-gold-light: #ccae76;
  --mlp-line: #e3d3b3;
  --mlp-bg-gray: #f6f4f0;
  --mlp-bg-beige: #f6f0e4;
  --mlp-bg-cream: #faf6ef;
  --mlp-bg-dark: #3a4c4c;
  --mlp-green: #2c4a3e;
  --mlp-green-deep: #254b3e;
  --mlp-mv-bg: #e6c39b;
  --mlp-btn: #3a4c4b;
  --mlp-serif: "Noto Serif JP", serif;
  --mlp-sans: "Noto Sans JP", sans-serif;
  --mlp-latin: "Amiri", "Noto Serif JP", serif;
  --mlp-content: 66.5rem; /* 1064px */
}

/* ---------- 共通：セクション ---------- */
.p-mlp-sec {
  background-color: var(--mlp-bg-gray);
  color: var(--mlp-text);
  font-family: var(--mlp-sans);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
  padding: 3.5rem max(1.25rem, calc((100% - var(--mlp-content)) / 2));
}
.p-mlp-sec--beige { background-color: var(--mlp-bg-beige); }
.p-mlp-sec--cream { background-color: var(--mlp-bg-cream); }
.p-mlp-sec--dark { background-color: var(--mlp-bg-dark); color: #fff; }

/* WordPressのブロック間余白をリセットし、余白はこのCSSで管理 */
.p-mlp-sec :where(p, h2, h3, figure, ul, ol, .wp-block-group, .wp-block-image, .wp-block-table) { margin: 0; }
.p-mlp-sec > * + * { margin-top: 1.5rem; }
.p-mlp-sec img { display: block; height: auto; max-width: 100%; }
.p-mlp-sec :where(*) { box-sizing: border-box; }

/* 見出し（オレンジの葉マーク付き） */
.p-mlp-sec .p-mlp-ttl {
  font-family: var(--mlp-serif);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
  padding-left: 1.375rem;
  position: relative;
}
.p-mlp-sec .p-mlp-ttl::before {
  aspect-ratio: 1 / 1;
  background-color: var(--mlp-orange);
  border-radius: 0 0.5rem 0 0.5rem;
  content: "";
  left: 0;
  position: absolute;
  top: 0.55em;
  width: 0.875rem;
}

/* 見出し下のリード文・注記 */
.p-mlp-sec .p-mlp-sec__lead { font-size: 0.875rem; line-height: 1.6; }
.p-mlp-sec .p-mlp-sec__note { font-size: 0.75rem; line-height: 1.6; }
.p-mlp-sec .p-mlp-ttl + .p-mlp-sec__lead { margin-top: 1rem; }

/* 金色の強調テキスト */
.p-mlp-sec .p-mlp-highlight {
  color: var(--mlp-gold);
  font-family: var(--mlp-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-mlp-sec {
    font-size: 1rem;
    padding-bottom: 3.75rem;
    padding-top: 3.75rem;
  }
  .p-mlp-sec > * + * { margin-top: 2rem; }
  .p-mlp-sec .p-mlp-ttl {
    font-size: 2rem;
    padding-left: 1.625rem;
  }
  .p-mlp-sec .p-mlp-ttl::before {
    border-radius: 0 0.625rem 0 0.625rem;
    top: 0.6em;
    width: 1.25rem;
  }
  .p-mlp-sec .p-mlp-sec__lead {
    font-size: 0.875rem;
    padding-left: 1.875rem;
  }
  .p-mlp-sec .p-mlp-ttl + .p-mlp-sec__lead { margin-top: 1.625rem; }
  .p-mlp-sec .p-mlp-sec__note { font-size: 0.875rem; }
  .p-mlp-sec .p-mlp-highlight { font-size: 1.125rem; }
}

/* =========================================================
   メインビジュアル（テンプレートで自動生成）
========================================================= */
.p-mlp-mv {
  background-color: var(--mlp-mv-bg);
  border-radius: 3.75rem 0 3.75rem 0;
  color: var(--mlp-text);
  display: flex;
  flex-direction: column-reverse;
  margin: 5rem 0.75rem 0;
  overflow: clip;
  padding-bottom: 2.75rem;
  position: relative;
}
.p-mlp-mv__body {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 1.75rem 1.25rem 0;
  position: relative;
  z-index: 1;
}
.p-mlp-mv__title-text {
  font-family: var(--mlp-serif);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-align: center;
}
.p-mlp-mv__description {
  font-family: var(--mlp-serif);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 0.75rem;
  text-align: center;
}
.p-mlp-mv__btn {
  align-items: center;
  background-color: var(--mlp-btn);
  border-radius: 3rem;
  color: #fff;
  display: flex;
  font-size: 0.9375rem;
  font-weight: 500;
  gap: 0.25em;
  justify-content: center;
  letter-spacing: 0.04em;
  margin-top: 1.25rem;
  max-width: 100%;
  min-height: 3.5rem;
  padding: 0 1.5rem;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 20rem;
}
.p-mlp-mv__btn:hover { opacity: 0.8; }
.p-mlp-mv__img img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  object-fit: cover;
  object-position: center 30%;
  width: 100%;
}
.p-mlp-mv .p-breadcrumb { bottom: 0; left: 0; padding-left: 1.25rem; padding-right: 1.25rem; position: absolute; width: 100%; }

@media screen and (min-width: 768px) {
  .p-mlp-mv {
    align-items: center;
    border-radius: 7.5rem 0 7.5rem 0;
    flex-direction: row;
    height: 29.375rem; /* 470px */
    justify-content: center;
    margin: 12.5rem 1.66% 0;
    min-height: 22.5rem;
    padding-bottom: 0;
  }
  .p-mlp-mv__body {
    flex-shrink: 0;
    padding: 0 3.625rem 1rem;
    width: 32.3125rem; /* 517px */
  }
  .p-mlp-mv__title-text { font-size: 3rem; }
  .p-mlp-mv__description { font-size: 0.875rem; line-height: 1.45; margin-top: 1rem; }
  .p-mlp-mv__btn {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    min-height: 4.5rem;
    width: 25.0625rem; /* 401px */
  }
  .p-mlp-mv__img {
    align-self: stretch;
    flex-shrink: 1;
    width: 49.5rem; /* 792px */
  }
  .p-mlp-mv__img img {
    aspect-ratio: auto;
    height: 100%;
  }
  .p-mlp-mv .p-breadcrumb { padding-left: 2.65625rem; padding-right: 2.65625rem; }
}

/* =========================================================
   01 リード文
========================================================= */
.p-mlp-sec .p-mlp-lead__title {
  font-family: var(--mlp-serif);
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
.p-mlp-lead .p-mlp-lead__text { line-height: 1.8; }

@media screen and (min-width: 768px) {
  .p-mlp-lead {
    padding-bottom: 3.125rem;
    padding-top: 3.125rem;
  }
  .p-mlp-sec .p-mlp-lead__title {
    font-size: 3rem;
    letter-spacing: 0.053em;
    line-height: 1.46; /* 70px */
  }
  .p-mlp-lead .p-mlp-lead__text { max-width: 37.0625rem; } /* 593px */
}

/* =========================================================
   02 この施術でできること
========================================================= */
.p-mlp-about__visual {
  background-color: #f5efe4;
  padding: 1.5rem 1.25rem 0;
}
.p-mlp-sec .p-mlp-about__visual-title {
  font-family: var(--mlp-serif);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.p-mlp-about__ba {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}
.p-mlp-about__ba > p { flex-shrink: 0; font-size: 0.875rem; }
.p-mlp-about__ba > p:first-child { order: 1; }
.p-mlp-about__ba > p:last-child { order: 3; }
.p-mlp-about__ba::before {
  /* before → after の矢印線 */
  background:
    linear-gradient(currentColor, currentColor) left center / calc(100% - 0.375rem) 1px no-repeat,
    conic-gradient(from -116deg at 100% 50%, currentColor 52deg, transparent 0) right center / 0.5rem 0.375rem no-repeat;
  content: "";
  flex: 1;
  height: 0.375rem;
  order: 2;
}
.p-mlp-sec .p-mlp-about__img { margin-top: 0.5rem; }
.p-mlp-about__body > * + * { margin-top: 1.125rem; }

@media screen and (min-width: 768px) {
  .p-mlp-about {
    align-items: flex-start;
    display: flex;
    gap: 2.5rem;
    justify-content: center;
    padding-bottom: 3.125rem;
    padding-top: 3.125rem;
  }
  .p-mlp-about > * + * { margin-top: 0; }
  .p-mlp-about__visual {
    flex: 0 0 31.5625rem; /* 505px */
    min-height: 25.6875rem; /* 411px */
    overflow: hidden;
    padding: 2.5rem 0 0;
  }
  .p-mlp-sec .p-mlp-about__visual-title {
    font-size: 2rem;
    line-height: 1.8;
    padding-left: 2.125rem;
  }
  .p-mlp-about__ba {
    gap: 1.25rem;
    margin-top: 0.375rem;
    padding: 0 2.125rem 0 3.21875rem;
  }
  .p-mlp-about__ba > p { font-size: 1rem; }
  .p-mlp-sec .p-mlp-about__img { margin: -0.5rem -0.25rem 0; }
  .p-mlp-about__body { flex: 0 1 32rem; } /* 512px */
}

/* =========================================================
   03 症例
========================================================= */
.p-mlp-case__item + .p-mlp-case__item { margin-top: 3rem; }
.p-mlp-case__photos {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
.p-mlp-case__photos > figure { position: relative; }
.p-mlp-case__photos img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}
/* 写真の間の ▶ */
.p-mlp-case__photos > figure + figure::before {
  color: var(--mlp-gold-light);
  content: "▶";
  font-size: 0.875rem;
  left: -1.1rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
/* SPは2列なので、行の先頭の写真には ▶ を出さない */
.p-mlp-case__photos > figure:nth-child(2n+1)::before { display: none; }
.p-mlp-case__head {
  align-items: baseline;
  border-bottom: 1px solid var(--mlp-line);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--mlp-serif);
  font-weight: 500;
  gap: 0.25rem 1rem;
  margin-top: 1.25rem;
  padding-bottom: 0.75rem;
}
.p-mlp-sec .p-mlp-case__num { color: var(--mlp-gold-light); font-size: 1rem; letter-spacing: 0.04em; }
.p-mlp-sec .p-mlp-case__title { color: #000; font-size: 1rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.6; }
.p-mlp-case__item > p { font-size: 0.8125rem; line-height: 1.7; margin-top: 1.25rem; }
.p-mlp-case__item > .p-mlp-case__spec { margin-top: 1rem; }

@media screen and (min-width: 768px) {
  .p-mlp-case > * + * { margin-top: 2.5rem; }
  .p-mlp-case__item + .p-mlp-case__item { margin-top: 3.75rem; }
  .p-mlp-case__photos {
    display: flex;
    gap: 2.6875rem; /* 写真間 = 11px + ▶ + 11px */
  }
  .p-mlp-case__photos > figure { flex: 0 0 14.0625rem; } /* 225px */
  .p-mlp-case__photos > figure + figure::before { display: block; font-size: 1.5rem; left: -1.85rem; }
  .p-mlp-case__head { gap: 1.8125rem; margin-top: 1.625rem; padding-bottom: 1.25rem; }
  .p-mlp-sec .p-mlp-case__num { font-size: 1.25rem; min-width: 5.625rem; }
  .p-mlp-sec .p-mlp-case__title { font-size: 1.25rem; }
  .p-mlp-case__item > p { font-size: 0.875rem; line-height: 1.6; }
}

/* =========================================================
   04 こんなお悩みをお持ちの方へ
========================================================= */
.p-mlp-worry__list {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
.p-mlp-worry__card {
  background-color: var(--mlp-green);
  border-radius: 1rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 0.75rem 0.75rem 1.25rem;
}
.p-mlp-sec .p-mlp-worry__num {
  color: var(--mlp-gold-light);
  font-family: var(--mlp-serif);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.p-mlp-sec .p-mlp-worry__icon { align-self: center; width: 4.5rem; }
.p-mlp-sec .p-mlp-worry__icon img { width: 100%; }
.p-mlp-sec .p-mlp-worry__text {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 0.25rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-mlp-worry { padding-bottom: 3.125rem; padding-top: 3.125rem; }
  .p-mlp-worry > .p-mlp-sec__lead { padding-left: 0; }
  .p-mlp-worry__list {
    gap: 1.875rem;
    grid-template-columns: repeat(3, 14.8125rem); /* 237px */
  }
  .p-mlp-worry__card {
    border-radius: 1.25rem;
    min-height: 14.1875rem; /* 227px */
    padding: 0.625rem 1rem 1.25rem;
  }
  .p-mlp-sec .p-mlp-worry__num { font-size: 2rem; line-height: 1.8; padding-left: 1.1875rem; }
  .p-mlp-sec .p-mlp-worry__icon { width: 5.9375rem; } /* 95px */
  .p-mlp-sec .p-mlp-worry__text { font-size: 0.875rem; margin-top: 0; }
}

/* =========================================================
   05 比較表
========================================================= */
.p-mlp-compare__table { overflow-x: auto; }
.p-mlp-compare__table :is(thead, tfoot) { border: 0; }
.p-mlp-compare__table table {
  border-collapse: collapse;
  min-width: 36rem;
  table-layout: fixed;
  width: 100%;
}
.p-mlp-compare__table th,
.p-mlp-compare__table td {
  border: 1px solid #e4e1da;
  font-size: 0.8125rem;
  line-height: 1.5;
  padding: 1rem 0.875rem;
  vertical-align: middle;
}
.p-mlp-compare__table thead th {
  background-color: #fdf8f2;
  font-family: var(--mlp-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
.p-mlp-compare__table thead th:first-child { background: transparent; border-color: transparent transparent #e4e1da transparent; }
.p-mlp-compare__table thead th:nth-child(2) { background-color: var(--mlp-green-deep); border-color: var(--mlp-green-deep); color: #fff; }
.p-mlp-compare__table tbody td:first-child {
  background-color: #f4f3ef;
  font-family: var(--mlp-serif);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
.p-mlp-compare__table tbody td:nth-child(2) { background-color: #f3f1ec; }
.p-mlp-compare__table tbody td:nth-child(3) { background-color: #fdfaf5; }
.p-mlp-compare__table th:first-child,
.p-mlp-compare__table td:first-child { width: 29%; }

@media screen and (min-width: 768px) {
  .p-mlp-compare > .p-mlp-compare__table { margin-top: 1.75rem; }
  .p-mlp-compare__table { overflow: visible; }
  .p-mlp-compare__table table { min-width: 0; }
  .p-mlp-compare__table th,
  .p-mlp-compare__table td { font-size: 1.25rem; height: 8.125rem; padding: 1rem 1.75rem; } /* 行高130px */
  .p-mlp-compare__table thead th { font-size: 1.5rem; }
  .p-mlp-compare__table tbody td:first-child { font-size: 1.5rem; }
}

/* 画面が十分広いときは、表だけ本文幅より少し広げる（Figma：1129px） */
@media screen and (min-width: 1200px) {
  .p-mlp-compare__table { margin-left: -2rem; margin-right: -2rem; }
}

/* =========================================================
   06 術後の経過
========================================================= */
.p-mlp-course__list {
  border-left: 1px solid var(--mlp-line);
  display: grid;
  gap: 1.5rem;
  margin-left: 0.375rem;
  padding-left: 1.25rem;
}
.p-mlp-course__item { position: relative; }
.p-mlp-course__item::before {
  /* ◯（1つ目だけ●） */
  aspect-ratio: 1 / 1;
  background-color: var(--mlp-bg-beige);
  border: 1px solid #b9b9b0;
  border-radius: 50%;
  content: "";
  left: -1.6875rem;
  position: absolute;
  top: 0.45rem;
  width: 0.75rem;
}
.p-mlp-course__item:first-child::before { background-color: var(--mlp-text); border-color: var(--mlp-text); }
.p-mlp-sec .p-mlp-course__en { color: var(--mlp-gold-light); font-family: var(--mlp-serif); font-size: 1rem; line-height: 1.6; }
.p-mlp-sec .p-mlp-course__title { font-family: var(--mlp-serif); font-size: 1.0625rem; font-weight: 500; line-height: 1.6; }
.p-mlp-sec .p-mlp-course__text { font-size: 0.75rem; line-height: 1.8; margin-top: 0.375rem; }

/* 経過グラフ（任意）：SPは横スクロール */
.p-mlp-sec .p-mlp-course__chart { overflow-x: auto; }
.p-mlp-sec .p-mlp-course__chart img { min-width: 40rem; width: 100%; }

@media screen and (min-width: 768px) {
  .p-mlp-course > .p-mlp-course__chart { margin-top: 2.5rem; padding-left: 1.625rem; }
  .p-mlp-sec .p-mlp-course__chart { overflow: visible; }
  .p-mlp-sec .p-mlp-course__chart img { max-width: 66.25rem; min-width: 0; }
  .p-mlp-course > .p-mlp-course__chart + .p-mlp-course__list { margin-top: 2.5rem; }
  .p-mlp-course > .p-mlp-course__list { margin-top: 1.25rem; }
  .p-mlp-course__list {
    border-left: 0;
    border-top: 1px solid var(--mlp-line);
    gap: 1.1875rem;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    margin-left: 1.625rem;
    padding: 0.625rem 0.3125rem 0;
  }
  .p-mlp-course__item { padding-top: 3.4375rem; }
  .p-mlp-course__item::before { left: 0.125rem; top: 0.3rem; width: 0.8125rem; }
  .p-mlp-sec .p-mlp-course__en,
  .p-mlp-sec .p-mlp-course__title { font-size: 1.25rem; line-height: 1.65; }
  .p-mlp-sec .p-mlp-course__title { margin-top: 0.375rem; }
}

/* =========================================================
   07 担当医
========================================================= */
.p-mlp-sec .p-mlp-doctor__img img {
  aspect-ratio: 361 / 435;
  object-fit: cover;
  width: 100%;
}
.p-mlp-sec .p-mlp-doctor__img { margin-inline: auto; max-width: 17.5rem; }
.p-mlp-doctor__body { margin-top: 1.75rem; }
.p-mlp-doctor__body > * + * { margin-top: 1.25rem; }
.p-mlp-doctor__body > p { font-size: 0.875rem; line-height: 1.75; }
.p-mlp-doctor__body > .p-mlp-ttl + p { margin-top: 1.25rem; }
.p-mlp-doctor__sub { display: grid; gap: 2rem; margin-top: 2.5rem; }
.p-mlp-doctor__col > * + * { margin-top: 1rem; }
.p-mlp-sec .p-mlp-doctor__career { font-size: 0.8125rem; line-height: 1.75; padding-left: 1.375rem; }

@media screen and (min-width: 768px) {
  .p-mlp-doctor { padding-bottom: 6.25rem; padding-top: 6.25rem; }
  .p-mlp-doctor__main { align-items: flex-start; display: flex; gap: 3.6875rem; }
  .p-mlp-sec .p-mlp-doctor__img { flex: 0 0 22.5625rem; margin: 0; max-width: none; } /* 361px */
  .p-mlp-doctor__body { margin-top: 0; }
  .p-mlp-doctor__body > p { font-size: 0.875rem; padding-left: 1.625rem; }
  .p-mlp-doctor__sub { gap: 3.75rem; grid-template-columns: repeat(2, 1fr); margin-top: 2.6875rem; }
  .p-mlp-doctor__col > * + * { margin-top: 1.25rem; }
  .p-mlp-sec .p-mlp-doctor__career { font-size: 0.875rem; line-height: 1.6; padding-left: 1.625rem; }
}

/* =========================================================
   08 施術の流れ
========================================================= */
.p-mlp-flow__item {
  border-top: 1px solid var(--mlp-line);
  display: grid;
  gap: 0.25rem 1rem;
  grid-template-columns: 4.5rem 1fr;
  padding: 1.5rem 0;
}
.p-mlp-sec .p-mlp-flow__step { color: var(--mlp-gold-light); font-family: var(--mlp-serif); font-size: 0.9375rem; line-height: 1.8; }
.p-mlp-sec .p-mlp-flow__title { font-family: var(--mlp-serif); font-size: 1rem; font-weight: 500; line-height: 1.8; }
.p-mlp-sec .p-mlp-flow__text { font-size: 0.8125rem; grid-column: 2; line-height: 1.75; }
.p-mlp-flow__item--note .p-mlp-flow__step { color: var(--mlp-gold); text-align: center; }

@media screen and (min-width: 768px) {
  .p-mlp-flow > .p-mlp-flow__list { margin-top: 3.125rem; }
  .p-mlp-flow__list { margin-left: 1.75rem; }
  .p-mlp-flow__item {
    align-items: center;
    gap: 0 3.375rem;
    grid-template-columns: 5.625rem 14.5rem 1fr; /* 90 / 232 / 残り */
    min-height: 5.1875rem;
    padding: 3.125rem 4rem 3.125rem 0;
  }
  .p-mlp-flow__item:last-child { padding-bottom: 0; }
  .p-mlp-sec .p-mlp-flow__step,
  .p-mlp-sec .p-mlp-flow__title { font-size: 1.25rem; line-height: 1.65; }
  .p-mlp-sec .p-mlp-flow__text { font-size: 0.75rem; grid-column: auto; line-height: 1.75; }
}

/* =========================================================
   09 料金（[menu_lp_price] の出力）
========================================================= */
.p-mlp-price .p-mlp-ttl { color: #fff; }
.p-mlp-price__box { border: 1px solid rgba(255, 255, 255, 0.8); }
.p-mlp-price__row {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
  padding: 1.25rem 1.25rem;
}
.p-mlp-price__row + .p-mlp-price__row { border-top: 1px solid rgba(255, 255, 255, 0.3); }
.p-mlp-sec .p-mlp-price__name { font-family: var(--mlp-serif); font-size: 1.125rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.6; }
.p-mlp-sec .p-mlp-price__value { font-family: var(--mlp-latin); font-size: 1.75rem; letter-spacing: 0.02em; line-height: 1.4; }
.p-mlp-price__tax { font-family: var(--mlp-serif); font-size: 0.9375rem; letter-spacing: 0.08em; margin-left: 0.25em; }
.p-mlp-price__row--option .p-mlp-price__name { font-size: 1rem; }
.p-mlp-price__row--option .p-mlp-price__value { font-size: 1.375rem; }
.p-mlp-sec .p-mlp-price__note { font-size: 0.75rem; line-height: 1.8; }
.p-mlp-price > .p-mlp-price__note { margin-top: 1.25rem; }

@media screen and (min-width: 768px) {
  .p-mlp-price { padding-bottom: 4.75rem; padding-top: 4.75rem; }
  .p-mlp-price__box { margin-left: 1.625rem; }
  .p-mlp-price__row { flex-wrap: nowrap; gap: 0 1rem; padding: 2.125rem 2.5rem; }
  .p-mlp-sec .p-mlp-price__name { flex: 0 0 26.5rem; font-size: 1.75rem; } /* 価格の開始位置をFigmaに合わせる */
  .p-mlp-sec .p-mlp-price__value { font-size: 3rem; line-height: 1.4; }
  .p-mlp-price__tax { font-size: 1.5rem; }
  .p-mlp-price__row--option { padding-bottom: 1.5rem; padding-top: 1.5rem; }
  .p-mlp-price__row--option .p-mlp-price__name { font-size: 1.25rem; }
  .p-mlp-price__row--option .p-mlp-price__value { font-size: 2rem; }
  .p-mlp-price > .p-mlp-price__note { font-size: 0.875rem; margin-left: 1.625rem; }
}

/* =========================================================
   10 よくある質問
========================================================= */
.p-mlp-faq__item + .p-mlp-faq__item { margin-top: 2rem; }
.p-mlp-sec .p-mlp-faq__q,
.p-mlp-sec .p-mlp-faq__a {
  font-size: 0.875rem;
  line-height: 1.75;
  padding-left: 2.25em;
  position: relative;
}
.p-mlp-sec .p-mlp-faq__q { font-weight: 500; }
.p-mlp-sec .p-mlp-faq__a { margin-top: 0.75rem; }
.p-mlp-faq__q::before,
.p-mlp-faq__a::before {
  left: 0;
  position: absolute;
  top: 0;
}
.p-mlp-faq__q::before { content: "Q."; }
.p-mlp-faq__a::before { content: "A."; }

@media screen and (min-width: 768px) {
  .p-mlp-faq { padding-bottom: 7rem; padding-top: 7rem; }
  .p-mlp-faq > .p-mlp-faq__list { margin-top: 2.5rem; }
  .p-mlp-faq__list { padding-left: 1.625rem; }
  .p-mlp-faq__item + .p-mlp-faq__item { margin-top: 2.5rem; }
  .p-mlp-sec .p-mlp-faq__q,
  .p-mlp-sec .p-mlp-faq__a { font-size: 1rem; line-height: 1.8; padding-left: 3.6875rem; }
  .p-mlp-sec .p-mlp-faq__q { font-weight: 400; }
  .p-mlp-sec .p-mlp-faq__a { margin-top: 1.25rem; }
}

/* 料金：ACFの [price] ショートコードの出力を、LP用の書体・サイズにする */
.p-mlp-price__value .p-price-list__price-container { display: inline; }
.p-mlp-price__value .p-price-list__price-prefix,
.p-mlp-price__value .p-price-list__price-num {
  font-family: var(--mlp-latin);
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.p-mlp-price__value .p-price-list__price-prefix { font-family: var(--mlp-serif); font-size: 1.625rem; margin-right: 0.05em; }
.p-mlp-price__value .p-price-list__price-suffix {
  font-family: var(--mlp-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-left: 0.25em;
}
.p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-prefix,
.p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-num { font-size: 1.375rem; }
.p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-suffix { font-size: 0.8125rem; }

@media screen and (min-width: 768px) {
  .p-mlp-price__value .p-price-list__price-num { font-size: 3.5rem; }
  .p-mlp-price__value .p-price-list__price-prefix { font-size: 2.75rem; }
  .p-mlp-price__value .p-price-list__price-suffix { font-size: 1.5rem; }
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-prefix,
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-num { font-size: 2rem; }
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-suffix { font-size: 1rem; }
}

/* =========================================================
   追加修正（2026/10）
========================================================= */
/* 症例：PCでは、すべての写真の間に ▶ を表示 */
@media screen and (min-width: 768px) {
  .p-mlp-case__photos > figure:nth-child(n+2)::before { display: block; }
}

/* 料金：[price] ショートコードの数字・（税込）を明朝体で大きく */
.p-mlp-price__value .p-price-list__price-container { display: inline; }
.p-mlp-price__value .p-price-list__price-prefix,
.p-mlp-price__value .p-price-list__price-num {
  font-family: var(--mlp-serif);
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.p-mlp-price__value .p-price-list__price-suffix {
  font-family: var(--mlp-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-left: 0.25em;
}
.p-mlp-price__value .p-price-list__price-suffix .p-mlp-price__tax { font-size: inherit; margin-left: 0; }
.p-mlp-price__value .p-price-list__price-prefix { margin-right: -0.2em; } /* 全角￥の余白を詰める */
.p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-prefix,
.p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-num { font-size: 1.375rem; }

@media screen and (min-width: 768px) {
  .p-mlp-price__value .p-price-list__price-prefix,
  .p-mlp-price__value .p-price-list__price-num { font-size: 3rem; }
  .p-mlp-price__value .p-price-list__price-suffix { font-size: 1.5rem; }
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-prefix,
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-num { font-size: 2rem; }
  .p-mlp-price__row--option .p-mlp-price__value .p-price-list__price-suffix { font-size: 1.125rem; }
}

/* =========================================================
   追加セクション（2026/10）
========================================================= */
/* MV：タイトル上のバッジ（ACF「menu-badge」） */
.p-mlp-mv__badge {
  background-color: var(--mlp-gold);
  border-radius: 0.5rem;
  color: #fff;
  font-family: var(--mlp-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-bottom: 0.75rem;
  padding: 0.375rem 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-mlp-mv__badge { font-size: 0.875rem; margin-bottom: 1.5rem; padding: 0.375rem 1.25rem; white-space: nowrap; }
}

/* 02b できること：図＋説明文 */
.p-mlp-sec .p-mlp-about__visual--caption { padding-bottom: 1.5rem; }
.p-mlp-sec .p-mlp-about__visual--caption .p-mlp-about__img { margin: 1rem auto 0; max-width: 22.5rem; }
.p-mlp-sec .p-mlp-about__caption { font-size: 0.75rem; line-height: 1.7; margin-top: 1rem; }
.p-mlp-sec .p-mlp-about__label {
  font-family: var(--mlp-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-mlp-sec .p-mlp-about__visual--caption { padding: 0.375rem 3.1875rem 1.5rem; }
  .p-mlp-sec .p-mlp-about__visual--caption .p-mlp-about__visual-title { margin-left: -2rem; padding-left: 0; }
  .p-mlp-sec .p-mlp-about__visual--caption .p-mlp-about__img { margin-top: 0.9375rem; max-width: 22.5625rem; }
  .p-mlp-sec .p-mlp-about__caption { font-size: 0.875rem; margin-top: 0.5rem; }
  .p-mlp-sec .p-mlp-about__label { font-size: 1.125rem; }
}

/* 11 特徴・部位カード（線で区切った表組み風） */
.p-mlp-cards__list {
  border-left: 1px solid var(--mlp-text);
  border-top: 1px solid var(--mlp-text);
  display: grid;
}
.p-mlp-cards__card {
  border-bottom: 1px solid var(--mlp-text);
  border-right: 1px solid var(--mlp-text);
  padding: 1.5rem 1.25rem 1.75rem;
}
.p-mlp-cards--white .p-mlp-cards__card { background-color: #fff; }
.p-mlp-cards__head { align-items: center; display: flex; gap: 0.625rem; }
.p-mlp-sec .p-mlp-cards__icon { flex-shrink: 0; width: 2.5rem; }
.p-mlp-sec .p-mlp-cards__label {
  color: var(--mlp-gold);
  font-family: var(--mlp-serif);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.p-mlp-sec .p-mlp-cards__sub {
  color: #000;
  font-family: var(--mlp-serif);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-top: 0.5rem;
}
.p-mlp-sec .p-mlp-cards__text { font-size: 0.8125rem; line-height: 2; margin-top: 1rem; }
.p-mlp-cards__extra > * + * { margin-top: 0.75rem; }
.p-mlp-sec .p-mlp-cards__extra-title { font-family: var(--mlp-serif); font-size: 1.25rem; font-weight: 500; letter-spacing: 0.06em; line-height: 1.6; }
.p-mlp-cards__extra > p { font-size: 0.8125rem; line-height: 1.75; }

@media screen and (min-width: 768px) {
  .p-mlp-cards > .p-mlp-cards__list { margin-top: 2.25rem; }
  .p-mlp-cards > .p-mlp-sec__lead { line-height: 2.2; padding-left: 0; }
  .p-mlp-cards__list { grid-template-columns: repeat(3, 1fr); }
  .p-mlp-cards__card { min-height: 20.0625rem; padding: 1.6875rem 1.0625rem 2rem 1.375rem; } /* 321px */
  .p-mlp-cards__head { gap: 1.25rem; }
  .p-mlp-sec .p-mlp-cards__icon { width: 3.4375rem; } /* 55px */
  .p-mlp-sec .p-mlp-cards__label { font-size: 3rem; line-height: 1.45; }
  .p-mlp-sec .p-mlp-cards__sub { font-size: 2rem; line-height: 1.8; margin-top: 0.5rem; }
  .p-mlp-sec .p-mlp-cards__text { font-size: 1rem; line-height: 1.8; margin-top: 2.6875rem; }
  .p-mlp-cards > .p-mlp-cards__extra { margin-top: 1.75rem; }
  .p-mlp-sec .p-mlp-cards__extra-title { font-size: 1.75rem; }
  .p-mlp-cards__extra > p { font-size: 1rem; }
}

/* 12 部位リスト（線で区切った表組み風） */
.p-mlp-parts__list { border: 1px solid var(--mlp-text); }
.p-mlp-parts__row { background-color: #fff; padding: 1.25rem; }
.p-mlp-parts__row + .p-mlp-parts__row { border-top: 1px solid var(--mlp-text); }
.p-mlp-sec .p-mlp-parts__label {
  color: var(--mlp-gold);
  font-family: var(--mlp-serif);
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.p-mlp-sec .p-mlp-parts__text {
  color: #000;
  font-family: var(--mlp-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-mlp-parts > .p-mlp-parts__list { margin-top: 1.25rem; }
  .p-mlp-parts > .p-mlp-sec__lead { padding-left: 0; }
  .p-mlp-parts__row {
    align-items: center;
    display: grid;
    gap: 0 1rem;
    grid-template-columns: 20.25rem 1fr;
    min-height: 7.9375rem; /* 127px */
    padding: 1rem 1.0625rem;
  }
  .p-mlp-sec .p-mlp-parts__label { font-size: 2.75rem; letter-spacing: 0.02em; line-height: 1.6; }
  .p-mlp-sec .p-mlp-parts__text { font-size: 1.5rem; letter-spacing: 0.12em; margin-top: 0; }
}