@charset "UTF-8";
/* =====================================================
   Treatment Detail Template
   /assets/css/page-treatment-detail.css
   page-sports-medicine.css(旧) から共通レイアウトを移植
   ===================================================== */

/* ============== Main wrapper ============== */
.p-treatment-detail {
  /* main 自体は装飾なし */
}

/* ============== Anchor Nav ============== */
.p-treatment-detail__anchor {
  margin-top: 0;
}

/* ============== Section base ============== */
.p-treatment-detail__section {
  padding: 3.125rem 0;
}
@media (min-width: 768px) {
  .p-treatment-detail__section {
    padding: 6.25rem 0;
  }
}
.p-treatment-detail__section._aftercare,
.p-treatment-detail__section._free {
  background-color: #F9F6F2;
}

/* ============== Section Heading (h2) ============== */
.p-treatment-detail__heading {
  text-align: center;
  margin-bottom: 1.875rem;
}
.p-treatment-detail__heading .c-title__en {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  color: #8b6f47;
  margin-bottom: 0.5rem;
}
.p-treatment-detail__heading .c-title__ja {
  display: block;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
}
@media (min-width: 768px) {
  .p-treatment-detail__heading {
    margin-bottom: 2.5rem;
  }
  .p-treatment-detail__heading .c-title__ja {
    font-size: 1.75rem;
  }
}

/* ============== Lead text ============== */
.p-treatment-detail__lead {
  margin-top: 1.25rem;
  text-align: center;
}
.p-treatment-detail__lead .text {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
}
@media (min-width: 768px) {
  .p-treatment-detail__lead .text {
    font-size: 1.5rem;
  }
}

/* ============== about_treatment / clinic_strengths (2カラム画像+テキスト) ============== */
.p-treatment-detail__about,
.p-treatment-detail__strengths {
  margin-top: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__about,
  .p-treatment-detail__strengths {
    margin-top: 3.125rem;
    gap: 3.125rem;
  }
}

/* ============== recommended_for (こんな方におすすめ — 2カラムチェックリスト) ============== */
.p-treatment-detail__recommended-columns {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__recommended-columns {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 3.125rem;
    gap: 3.125rem;
  }
}
.p-treatment-detail__recommended-columns .column {
  display: flex;
  flex-direction: column;
  gap: 1.4375rem;
}
.p-treatment-detail__recommended-columns .list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.125rem;
}
/* items 数が多い(10個以上)の場合のみ、PC では PHP 側で _2col modifier 付与 → 2列分割 */
@media (min-width: 768px) {
  .p-treatment-detail__recommended-columns .list._2col {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(7, auto);
    grid-auto-flow: column;
    column-gap: 3.125rem;
  }
}
.p-treatment-detail__note {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .p-treatment-detail__note {
    margin-top: 3.125rem;
    line-height: 2;
  }
}

/* ============== treatment_flow (PRP風3カラム横並び) ============== */
.p-treatment-detail__flow-steps {
  margin-top: 3.125rem;
}
.p-treatment-detail__flow-steps .p-step__list {
  /* デフォルトは 縦一列(共通 .p-step__list が用意するスタイル) */
}
/* PRP風: layout_style=horizontal_3col の場合 */
.p-treatment-detail__flow-steps._horizontal .p-step__list {
  margin-top: 3.125rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__flow-steps._horizontal .p-step__list {
    margin-top: 1.25rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.0625rem;
  }
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .pic {
  width: 100%;
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .pic img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .step-label {
  text-align: center;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .step-text {
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
}
.p-treatment-detail__flow-btn {
  text-align: center;
  margin-top: 3.125rem;
}

/* ============== comparison (PRP vs 幹細胞 — 2カラム比較) ============== */
.p-treatment-detail__comparison-columns {
  margin-top: 2.0625rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.0625rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__comparison-columns {
    margin-top: 3.375rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
.p-treatment-detail__comparison-columns .column {
  display: flex;
  flex-direction: column;
}
.p-treatment-detail__comparison-columns .pic {
  margin-top: 0.8125rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__comparison-columns .pic {
    margin-top: 0.25rem;
  }
}
.p-treatment-detail__comparison-columns .pic img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-treatment-detail__comparison-columns .desc {
  margin-top: 1.25rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
}
.p-treatment-detail__comparison-columns .arrow {
  margin-top: 1.25rem;
  text-align: center;
}
.p-treatment-detail__comparison-columns .text {
  margin-top: 1.25rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

/* ============== price (料金) ============== */
.p-treatment-detail__section._price {
  /* p-price 共通スタイルを継承 */
}

/* ============== free_area variants ============== */
.p-treatment-detail__free._worry {
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 3.75rem 0;
}
.p-treatment-detail__free._closing {
  padding: 3.125rem 0;
  text-align: center;
}
@media (min-width: 768px) {
  .p-treatment-detail__free._closing {
    padding: 6.25rem 0;
  }
}

/* ============== Definition list (治療時間とアフターケア) ============== */
.p-treatment-detail__definition-list {
  margin-top: 1.875rem;
}
.p-treatment-detail__definition-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid #e5e5e5;
}
@media (min-width: 768px) {
  .p-treatment-detail__definition-row {
    grid-template-columns: 240px 1fr;
    gap: 1.5rem;
    padding: 1.25rem 0;
  }
}
.p-treatment-detail__definition-label {
  font-weight: 700;
  color: #8b6f47;
}

/* ============== Comparison Table (汎用) ============== */
.p-treatment-detail__comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.875rem;
}
.p-treatment-detail__comparison-table th,
.p-treatment-detail__comparison-table td {
  padding: 0.75rem;
  border: 1px solid #e5e5e5;
  text-align: center;
  vertical-align: middle;
}
.p-treatment-detail__comparison-table thead th {
  background-color: #f6f0e6;
  font-weight: 700;
}

/* ============== feature_cards ============== */
.p-treatment-detail__feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 1.875rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__feature-grid._col2 { grid-template-columns: repeat(2, 1fr); gap: 1.875rem; }
  .p-treatment-detail__feature-grid._col3 { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
  .p-treatment-detail__feature-grid._col4 { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
}
.p-treatment-detail__feature-card {
  background: #F9F6F2;
  padding: 1.5rem;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.p-treatment-detail__feature-grid._style-plain .p-treatment-detail__feature-card { background: transparent; padding: 0; }
.p-treatment-detail__feature-card-no { display: flex; flex-direction: column; align-items: center; background: #998E73; color: #fff; padding: 0.5rem; border-radius: 0.25rem; width: 4.5rem; }
.p-treatment-detail__feature-card-no .label { font-size: 0.6875rem; letter-spacing: 0.1em; }
.p-treatment-detail__feature-card-no .num { font-size: 1.5rem; font-family: "Zen Old Mincho", serif; }
.p-treatment-detail__feature-card-tag { display: inline-block; background: #998E73; color: #fff; padding: 0.25rem 0.625rem; border-radius: 0.125rem; font-size: 0.75rem; align-self: flex-start; }
.p-treatment-detail__feature-card-subtitle { font-family: "Zen Old Mincho", serif; font-size: 0.9375rem; color: #998E73; }
.p-treatment-detail__feature-card-pic img { width: 100%; height: auto; display: block; }
.p-treatment-detail__feature-card-title { font-size: 1.0625rem; line-height: 1.5; }
.p-treatment-detail__feature-card-body p { font-size: 0.9375rem; line-height: 1.8; }
.p-treatment-detail__feature-card-btn { text-align: center; }

/* ============== before_after ============== */
.p-treatment-detail__before-after {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: center;
  margin-top: 1.875rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__before-after {
    grid-template-columns: 1fr auto 1fr;
    gap: 1.875rem;
  }
}
.p-treatment-detail__before-after-item { text-align: center; }
.p-treatment-detail__before-after-item .title { margin-bottom: 0.75rem; }
.p-treatment-detail__before-after-item .pic img { width: 100%; height: auto; }
.p-treatment-detail__before-after-item .desc { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.7; }
.p-treatment-detail__before-after-arrow { text-align: center; }
.p-treatment-detail__before-after-arrow .sp { display: inline-block; }
.p-treatment-detail__before-after-arrow .pc { display: none; }
@media (min-width: 768px) {
  .p-treatment-detail__before-after-arrow .sp { display: none; }
  .p-treatment-detail__before-after-arrow .pc { display: inline-block; }
}

/* ============== definition_table ============== */
.p-treatment-detail__definition-table {
  margin-top: 1.875rem;
}
.p-treatment-detail__definition-table-row {
  background: #fff;
  border: 1px solid #E8E2D3;
  border-radius: 0.25rem;
  margin-bottom: 1rem;
  overflow: hidden;
}
.p-treatment-detail__definition-table-row .term {
  background: #998E73;
  color: #fff;
  padding: 0.75rem 1rem;
  font-weight: 700;
}
.p-treatment-detail__definition-table-row .subtitle {
  padding: 0.5rem 1rem 0;
  margin: 0;
}
.p-treatment-detail__definition-table-row .desc {
  padding: 0.75rem 1rem;
  margin: 0;
  line-height: 1.8;
}

/* ============== accordion_details ============== */
.p-treatment-detail__accordion-content h3 { color: #998E73; margin: 1.25rem 0 0.625rem; font-size: 1.0625rem; }
.p-treatment-detail__accordion-content p { margin-bottom: 0.75rem; line-height: 1.8; }
.p-treatment-detail__accordion-content ul { padding-left: 1.5rem; margin-bottom: 0.75rem; }

/* ============== template_part wrapper ============== */
.p-treatment-detail__template-part {
  scroll-margin-top: 80px;
}

/* ============== 細かな調整: コンテンツ幅 / 行間 / 左寄せ ============== */
/* ---- 画像 & 親 .p-symptom__column を確実にコンテンツ幅内に収める ----
   共通CSS は `flex: 0 0 25rem`(=400px)を持つが、子要素の min-content(画像 natural width)で flex item が overflow する。
   .p-symptom__column 自体に overflow hidden + 子の min-width 0 + 多段 max-width で止める。 */
.p-treatment-detail .p-symptom__column {
  overflow: hidden;
  max-width: 100%;
}
.p-treatment-detail .p-symptom__column__pic {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
@media (min-width: 768px) {
  .p-treatment-detail .p-symptom__column__pic {
    flex: 0 0 25rem !important;
    width: 25rem !important;
    max-width: 25rem !important;
    min-width: 0 !important;
  }
  .p-treatment-detail .p-symptom__column__pic picture,
  .p-treatment-detail .p-symptom__column__pic img,
  .p-treatment-detail__about .p-symptom__column__pic picture,
  .p-treatment-detail__about .p-symptom__column__pic img,
  .p-treatment-detail__strengths .p-symptom__column__pic picture,
  .p-treatment-detail__strengths .p-symptom__column__pic img {
    max-width: 25rem !important;
    width: 25rem !important;
  }
}
.p-treatment-detail .p-symptom__column__pic picture {
  display: block;
  width: 100%;
  max-width: 100%;
}
.p-treatment-detail .p-symptom__column__pic img,
.p-treatment-detail__about .p-symptom__column__pic img,
.p-treatment-detail__strengths .p-symptom__column__pic img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block;
}
/* body 側も min-width 0 で flex 縮小可能に(flex item デフォルトの min-content 暴走防止) */
.p-treatment-detail .p-symptom__column__body {
  min-width: 0 !important;
}

/* h3 見出し:
   共通CSS の white-space: nowrap (PC) はそのまま生かす(旧ページもこれで動いていた)。
   旧ページの動作: <br class="u-desktop"> で手動改行 → PC で2行表示
   ここでは max-width: 100% だけ保険として残し、white-space は触らない */
.p-treatment-detail .c-line-title,
.p-treatment-detail__about .c-line-title,
.p-treatment-detail__strengths .c-line-title,
.p-treatment-detail__section .c-line-title {
  max-width: 100%;
}

/* 比較カラム/PRP STEP の画像は親幅で抑える */
.p-treatment-detail__comparison-columns .pic,
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .pic {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.p-treatment-detail__comparison-columns .pic img,
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .pic img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ---- 箇条書き(c-check-box)を確実にコンパクト化 ---- */
.p-treatment-detail__recommended-columns .list {
  row-gap: 0 !important;
}
.p-treatment-detail__recommended-columns .c-check-box,
.p-treatment-detail__recommended-columns .c-check-box._underline,
.p-treatment-detail__recommended-columns .c-check-box._fontLarge {
  line-height: 1.5 !important;
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
  font-size: 0.9375rem !important;
}
@media (min-width: 768px) {
  .p-treatment-detail__recommended-columns .c-check-box,
  .p-treatment-detail__recommended-columns .c-check-box._underline,
  .p-treatment-detail__recommended-columns .c-check-box._fontLarge {
    font-size: 1rem !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
}

/* セクションの連続時に padding が二重に乗らないよう、隣接時は半分に */
.p-treatment-detail__section + .p-treatment-detail__section,
.p-treatment-detail__cta + .p-treatment-detail__section,
.p-treatment-detail__section + .p-treatment-detail__cta {
  padding-top: 1.875rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__section + .p-treatment-detail__section,
  .p-treatment-detail__cta + .p-treatment-detail__section,
  .p-treatment-detail__section + .p-treatment-detail__cta {
    padding-top: 3.125rem;
  }
}

/* 本文(2カラムや strengths)は確実に左寄せ */
.p-treatment-detail__about .p-symptom__column-text,
.p-treatment-detail__strengths .p-symptom__column-text,
.p-treatment-detail__about .p-symptom__column__textarea,
.p-treatment-detail__strengths .p-symptom__column__textarea {
  text-align: left;
}

/* お悩み(worry)ブロックの中身 */
.p-treatment-detail__free._worry .p-symptom-worry__heading {
  text-align: center;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__free._worry .p-symptom-worry__heading {
    font-size: 2rem;
  }
}
.p-treatment-detail__free._worry .p-symptom-worry__text {
  text-align: left;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .p-treatment-detail__free._worry .p-symptom-worry__text {
    font-size: 1.0625rem;
  }
}

/* 締めくくり(closing) */
.p-treatment-detail__free._closing p {
  text-align: left;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 1em;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* PRP STEP horizontal_3col のステップカード */
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .step-label {
  margin-bottom: 0.625rem;
}
.p-treatment-detail__flow-steps._horizontal .p-step__list-item .step-text {
  margin-top: 0.625rem;
}

/* =====================================================
   本番(page-skin等 旧テンプレ)デザイン整合のための追補 (2026-06)
   背景色/枠/ピル見出しは付与した p-symptom__* クラス(common.css)が担当。
   ここでは差分の微調整のみをスコープ限定で行う。
   ===================================================== */

/* ⑨ FAQ: グラデ背景(.p-symptom__faq) 上の見出しを白文字に */
.p-treatment-detail__section._faq .p-treatment-detail__heading .c-title__ja,
.p-treatment-detail__section._faq .p-treatment-detail__heading .c-title__en {
  color: #fff;
}

/* 差異①(セクション背景): 本番の白/ベージュ交互リズム再現用トグル */
.p-treatment-detail__section._bg-beige {
  background-color: #F9F6F2;
}

/* ⑦ point: 横並びカード・白ボックス・水色背景は本番 p-symptom__point* (common.css) が担当。
   point は p-symptom__point-box マークアップで出力するため個別CSS不要。 */

/* ④ 行間: about の本文段落を本番の段落アキ(20px)に寄せる(スコープ限定) */
.p-treatment-detail__section._about .p-symptom__column__textarea p + p {
  margin-top: 1.25rem;
}

/* ==================================================================
   2026-08-24 追補: 本番デザインへの寄せ込み
   ================================================================== */

/* ---- recommended_for: カラムが1つのときは全幅 ---- */
@media (min-width: 768px) {
  .p-treatment-detail__recommended-columns._single {
    grid-template-columns: 1fr;
  }
}

/* ---- feature_cards: photo(写真カード) ---- */
.p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card {
  background: transparent;
  padding: 0;
  gap: 0.9375rem;
}
.p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card-title {
  font-size: 1.125rem;
  line-height: 1.5;
  order: -1;
}
.p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card-pic {
  order: -1;
}
.p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card-body p {
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card-title {
    font-size: 1.25rem;
  }
  .p-treatment-detail__feature-grid._style-photo .p-treatment-detail__feature-card-body p {
    font-size: 1rem;
  }
}

/* ---- feature_cards: feature(特長カード: 見出し+画像+チェックリスト+補足) ---- */
.p-treatment-detail__feature-grid._style-feature .p-treatment-detail__feature-card {
  background: #fff;
  border: 1px solid #E8E2D3;
  border-radius: 0.5rem;
  padding: 1.25rem 1rem;
  gap: 0.9375rem;
}
.p-treatment-detail__feature-card-heading {
  text-align: center;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: #7A6A4F;
}
@media (min-width: 768px) {
  .p-treatment-detail__feature-card-heading { font-size: 1.125rem; }
}
.p-treatment-detail__feature-card-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-treatment-detail__feature-card-list .c-check-box {
  font-size: 0.9375rem;
  line-height: 1.5;
}
.p-treatment-detail__feature-card-box {
  background: #F4F1EA;
  border-radius: 0.25rem;
  padding: 0.75rem 0.875rem;
}
.p-treatment-detail__feature-card-box .box-text {
  font-size: 0.875rem;
  line-height: 1.7;
}
.p-treatment-detail__feature-note {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-treatment-detail__feature-note { margin-top: 1.875rem; text-align: center; }
}

/* ---- about_treatment: リード(大きめ文字) ---- */
.p-treatment-detail__section._about._lead .p-symptom__column-text {
  font-size: 1.0625rem;
  line-height: 2;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
}
@media (min-width: 768px) {
  .p-treatment-detail__section._about._lead .p-symptom__column-text {
    font-size: 1.375rem;
    line-height: 2.2;
  }
}

/* ---- image_solo(全幅の単体画像) ---- */
.p-treatment-detail__solo-heading {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: center;
  text-align: center;
}
.p-treatment-detail__solo-heading .sub-title._lg {
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1.125rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .p-treatment-detail__solo-heading .sub-title._lg { font-size: 1.5rem; }
}
.p-treatment-detail__solo-lead { margin-top: 1.25rem; }
@media (min-width: 768px) { .p-treatment-detail__solo-lead { margin-top: 1.875rem; } }
.p-treatment-detail__solo-title {
  margin-top: 1.25rem;
  text-align: center;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1.0625rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .p-treatment-detail__solo-title { margin-top: 1.875rem; font-size: 1.25rem; }
}
.p-treatment-detail__solo-pic {
  margin-top: 1.25rem;
  width: 100%;
}
@media (min-width: 768px) { .p-treatment-detail__solo-pic { margin-top: 1.875rem; } }
.p-treatment-detail__solo-pic picture { display: block; width: 100%; }
.p-treatment-detail__solo-pic img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.p-treatment-detail__solo-caption { margin-top: 1rem; }

/* ---- definition_table: 詳細解説をブロックHTMLで入れる場合 ---- */
.p-treatment-detail__definition-table-row .desc h4 {
  margin-top: 1.25rem;
  margin-bottom: 0.375rem;
  font-family: "Zen Old Mincho", "Noto Serif", serif;
  font-size: 1rem;
  color: #7A6A4F;
}
.p-treatment-detail__definition-table-row .desc h4:first-child { margin-top: 0; }
.p-treatment-detail__definition-table-row .desc p { margin-bottom: 0.75rem; }
.p-treatment-detail__definition-table-row .desc p:last-child { margin-bottom: 0; }
.p-treatment-detail__definition-table-row .desc ul {
  margin: 0 0 0.75rem;
  padding-left: 1.25rem;
  list-style: disc;
}
.p-treatment-detail__definition-table-row .desc ul li { margin-bottom: 0.25rem; }
.p-treatment-detail__definition-table-row .desc strong { font-weight: 700; }

/* ---- 治療の流れ: 本番同様の水色帯 + 白カード ---- */
.p-treatment-detail__section._flow._step-band {
  background-color: #CDD9E2;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__section._flow._step-band {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
.p-treatment-detail__section._flow._step-band .p-step__list-item {
  background: #fff;
  border-radius: 0.5rem;
  padding: 1.25rem;
}
@media (min-width: 768px) {
  .p-treatment-detail__section._flow._step-band .p-step__list-item {
    padding: 1.875rem 2.5rem;
  }
}
