/* =========================================================
   筋膜グリップ整体スクール
   AI制作ページ 共通デザインCSS（整理版）
   ========================================================= */


/* =========================================================
   1. デザイン変数
   ========================================================= */

body.ai-page-template {

  /* ブランドカラー */
  --ai-navy: #092746;
  --ai-navy-deep: #061B31;
  --ai-blue: #087BB8;
  --ai-sky: #EAF5FB;

  /* ニュートラル */
  --ai-ink: #172434;
  --ai-muted: #5B6875;
  --ai-line: #D9E2E9;
  --ai-white: #FFFFFF;

  /* グレー系 */
  --ai-gray-bg: #F3F5F6;
  --ai-gray-border: #C9D0D5;

  /* 特別な強調 */
  --ai-gold: #D5AA4D;

  /* 注意・警告 */
  --ai-yellow-bg: #FFF7DF;
  --ai-yellow: #D5AA4D;

  --ai-red-bg: #FFF0F0;
  --ai-red: #C43D3D;
  --ai-red-dark: #9F2F2F;

  /* 販売CTA */
  --ai-sale-top: #E29D28;
  --ai-sale-bottom: #C87908;
  --ai-sale-shadow: #915602;

  /* 横幅 */
  --ai-max-width: 1120px;
  --ai-reading-width: 780px;

  /* 角丸 */
  --ai-radius-card: 12px;
  --ai-radius-button: 8px;
  --ai-radius-image: 8px;

  /* 影 */
  --ai-shadow:
    0 8px 28px rgba(9, 39, 70, 0.08);

  --ai-shadow-strong:
    0 14px 38px rgba(9, 39, 70, 0.13);

  /* ページ全体 */
  color: var(--ai-ink);
  background: var(--ai-white);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif;

  font-size: 18px;
  line-height: 1.88;

  -webkit-font-smoothing: antialiased;
}


/* =========================================================
   2. AIページ基本設定
   ========================================================= */

.ai-page-canvas,
.ai-page-canvas *,
.ai-page-canvas *::before,
.ai-page-canvas *::after {
  box-sizing: border-box;
}

.ai-page-canvas {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.ai-page-canvas img {
  display: block;
  max-width: 100%;
  height: auto;
}


/* =========================================================
   3. 文章・見出し
   ========================================================= */

.ai-page-canvas p {
  margin-top: 0;
  margin-bottom: 1.4em;
}

.ai-page-canvas p:last-child {
  margin-bottom: 0;
}

.ai-page-canvas h1,
.ai-page-canvas h2,
.ai-page-canvas h3 {
  color: var(--ai-navy);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ai-page-canvas h1 {
  margin: 0 0 32px;
  font-size: 48px;
  line-height: 1.35;
}

.ai-page-canvas h2 {
  margin: 0 0 32px;
  font-size: 38px;
  line-height: 1.45;
}

.ai-page-canvas h3 {
  margin: 0 0 22px;
  font-size: 24px;
  line-height: 1.5;
}


/* 小さな見出し・ラベル */

.ai-eyebrow {
  display: inline-block;
  margin: 0 0 15px;

  color: var(--ai-blue);

  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.ai-eyebrow-light {
  color: #B9E5FF;
}


/* =========================================================
   4. リンク
   ========================================================= */

.ai-page-canvas a {
  color: var(--ai-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ai-page-canvas a:focus-visible,
.ai-page-canvas button:focus-visible {
  outline: 3px solid rgba(8, 123, 184, 0.25);
  outline-offset: 3px;
}


/* =========================================================
   5. 基本コンテナ
   ========================================================= */

/* 写真＋文章、カードなど広く使う */
.ai-container {
  width: min(
    calc(100% - 64px),
    var(--ai-max-width)
  );

  margin-left: auto;
  margin-right: auto;
}


/* 長文・通常説明用 */
.ai-container-narrow {
  width: min(
    calc(100% - 64px),
    var(--ai-reading-width)
  );

  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   6. セクション・背景
   ========================================================= */

.ai-section {
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
}


/* 大きな話題転換 */

.ai-section-large {
  padding-top: 96px;
  padding-bottom: 96px;
}


/* 白
   通常の説明 */

.ai-section-white {
  background: var(--ai-white);
}


/* 淡い青
   解決策・メリット・安心・前向きな話 */

.ai-section-soft {
  background: var(--ai-sky);
}


/* 淡いグレー
   問題提起・悩み・現実的な話・考えさせる内容 */

.ai-section-gray {
  background: var(--ai-gray-bg);
}


/* 濃紺
   強い結論・重要ベネフィット・大きな話題転換 */

.ai-section-navy {
  color: var(--ai-white);
  background: var(--ai-navy);
}

.ai-section-navy h1,
.ai-section-navy h2,
.ai-section-navy h3 {
  color: var(--ai-white);
}

.ai-section-navy p {
  color: var(--ai-white);
}


/* =========================================================
   7. 文字の強調
   ========================================================= */

.ai-text-muted {
  color: var(--ai-muted);
}

.ai-text-accent {
  color: var(--ai-blue);
}

.ai-text-gold {
  color: var(--ai-gold);
}

.ai-text-danger {
  color: var(--ai-red-dark);
}


/* =========================================================
   8. ボタン
   ========================================================= */

.ai-page-canvas .ai-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 54px;
  padding: 14px 28px;

  color: var(--ai-white);
  background: var(--ai-blue);

  border: 2px solid var(--ai-blue);
  border-radius: var(--ai-radius-button);

  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;

  text-align: center;
  text-decoration: none;

  cursor: pointer;

  transition:
    transform 0.18s ease,
    opacity 0.18s ease,
    box-shadow 0.18s ease;
}

.ai-page-canvas .ai-button:hover {
  opacity: 0.92;
  transform: translateY(1px);
}


/* 補助ボタン */

.ai-page-canvas .ai-button-secondary {
  color: var(--ai-navy);
  background: var(--ai-white);
  border-color: var(--ai-navy);
}


/* 販売・申込など強く目立たせるCTA */

.ai-page-canvas .ai-button-sale {
  color: var(--ai-white);

  background: linear-gradient(
    var(--ai-sale-top),
    var(--ai-sale-bottom)
  );

  border-color: var(--ai-sale-bottom);

  box-shadow:
    0 5px 0 var(--ai-sale-shadow),
    0 12px 25px rgba(145, 86, 2, 0.22);
}


/* 次ページへ進む意味のあるボタンだけ矢印 */

.ai-page-canvas .ai-button-arrow {
  position: relative;
  padding-right: 58px;
}

.ai-page-canvas .ai-button-arrow::after {
  content: "→";

  position: absolute;
  top: 50%;
  right: 22px;

  transform: translateY(-50%);

  font-size: 1.05em;
  font-weight: 700;
}


/* =========================================================
   9. カード
   ========================================================= */

/* 強調カード */

.ai-card-highlight {
  padding: 32px 36px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-top: 5px solid var(--ai-blue);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow-strong);
}

.ai-card-highlight h3 {
  margin-bottom: 16px;
}


/* カードグリッド */

.ai-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}


/* 2枚カード */

.ai-card-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* 通常カード */

.ai-card {
  padding: 30px 28px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}

.ai-card h3 {
  margin-bottom: 16px;
}

.ai-card p {
  font-size: 17px;
}


/* グレーカード
   悩み・問題・少し重めの内容 */

.ai-card-gray {
  background: var(--ai-gray-bg);
  border-color: var(--ai-gray-border);
}


/* 濃紺カード
   強い結論・重要ポイント */

.ai-card-dark {
  padding: 32px 36px;

  color: var(--ai-white);
  background: var(--ai-navy);

  border-top: 5px solid var(--ai-gold);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}

.ai-card-dark h2,
.ai-card-dark h3,
.ai-card-dark p {
  color: var(--ai-white);
}


/* ラベル付きカード */

.ai-card-label {
  position: relative;
  padding-top: 44px;
}

.ai-card-badge {
  position: absolute;
  top: 0;
  left: 0;

  padding: 7px 22px;

  color: var(--ai-white);
  background: var(--ai-blue);

  border-radius: 11px 0 11px 0;

  font-weight: 800;
}


/* =========================================================
   10. 濃紺チェックリスト
   ========================================================= */

.ai-check-list {
  display: grid;
  gap: 14px;

  padding: 0;
  margin: 0;

  list-style: none;
}

.ai-check-list li {
  position: relative;

  padding: 20px 24px 20px 66px;

  color: var(--ai-white);
  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;

  font-weight: 700;
}

.ai-check-list li::before {
  content: "✓";

  position: absolute;
  top: 16px;
  left: 23px;

  width: 29px;
  height: 29px;

  color: var(--ai-white);
  background: var(--ai-blue);

  border-radius: 50%;

  text-align: center;
  line-height: 29px;
}

/* 明るい背景用チェックリスト */

.ai-check-list-light li {
  color: var(--ai-ink);
  background: var(--ai-white);

  border: 1px solid var(--ai-line);

  box-shadow: var(--ai-shadow);
}

.ai-check-list-light li::before {
  top: 50%;
  transform: translateY(-50%);

  color: var(--ai-white);
  background: var(--ai-blue);
}

/* 濃紺セクション最後の強調文 */

.ai-page-canvas .ai-navy-lead {
  margin-top: 28px;

  color: #D9F2FF;

  font-size: 20px;
  font-weight: 800;

  text-align: center;
}


/* =========================================================
   11. 大きな数字・実績
   ========================================================= */

.ai-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ai-stat {
  padding: 30px 15px;

  background: var(--ai-sky);

  border-bottom: 4px solid var(--ai-blue);
  border-radius: var(--ai-radius-card);

  text-align: center;
}

.ai-stat-number {
  display: block;

  color: var(--ai-navy);

  font-family: Arial, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
}

.ai-stat-number span {
  margin-left: 4px;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif;

  font-size: 18px;
}

.ai-stat-label {
  display: block;

  margin-top: 10px;

  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}


/* =========================================================
   12. 画像＋文章
   ========================================================= */

.ai-media {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1.1fr);

  gap: 52px;

  align-items: center;
}

.ai-media-image img {
  width: 100%;

  border-radius: var(--ai-radius-image);

  box-shadow: var(--ai-shadow);
}

.ai-media-content > :last-child {
  margin-bottom: 0;
}


/* PCで画像を右側へ */

.ai-media-reverse .ai-media-image {
  order: 2;
}

.ai-media-reverse .ai-media-content {
  order: 1;
}


/* =========================================================
   13. CTA
   ========================================================= */

.ai-cta {
  padding: 42px 40px;

  color: var(--ai-white);
  background: var(--ai-navy);

  border-radius: var(--ai-radius-card);

  text-align: center;
}

.ai-cta h2,
.ai-cta h3 {
  color: var(--ai-white);
}

.ai-cta p {
  max-width: 700px;

  margin-left: auto;
  margin-right: auto;

  color: var(--ai-white);
}


/* CTA内のメインボタン */

.ai-cta .ai-page-canvas .ai-button {
  width: min(100%, 400px);

  min-height: 70px;

  margin-top: 12px;
  padding: 16px 28px;

  color: var(--ai-white);

  background: linear-gradient(
    180deg,
    #1592CF 0%,
    var(--ai-blue) 100%
  );

  border: 1px solid #0872AA;
  border-radius: var(--ai-radius-button);

  box-shadow:
    0 5px 0 #05608F,
    0 10px 22px rgba(6, 27, 49, 0.24);

  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;

  white-space: normal;
  overflow-wrap: anywhere;

  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    filter 0.15s ease;
}

.ai-cta .ai-page-canvas .ai-button:hover {
  opacity: 1;
  filter: brightness(1.04);

  transform: translateY(2px);

  box-shadow:
    0 3px 0 #05608F,
    0 7px 17px rgba(6, 27, 49, 0.22);
}

.ai-cta .ai-button:active {
  transform: translateY(4px);

  box-shadow:
    0 1px 0 #05608F,
    0 4px 10px rgba(6, 27, 49, 0.18);
}


/* =========================================================
   14. プロフィール
   ========================================================= */

.ai-profile {
  display: grid;

  grid-template-columns:
    240px
    minmax(0, 1fr);

  gap: 48px;

  align-items: center;

  padding: 38px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}

.ai-profile-image img {
  width: 100%;

  border-radius: var(--ai-radius-image);
}

.ai-page-canvas .ai-profile-label {
  margin-bottom: 8px;

  color: var(--ai-blue);

  font-size: 15px;
  font-weight: 700;
}

.ai-page-canvas .ai-profile-name {
  margin-bottom: 20px;
}


/* =========================================================
   15. 補足・注意ボックス

   青     ＝ 情報・補足
   グレー ＝ 中立・前提
   黄色   ＝ 注意・確認
   赤     ＝ 警告・重要注意
   ========================================================= */


/* 青：情報・補足 */

.ai-note {
  padding: 24px 28px;

  background: var(--ai-sky);

  border-left: 5px solid var(--ai-blue);

  border-radius:
    0
    var(--ai-radius-card)
    var(--ai-radius-card)
    0;
}


/* 共通見出し */

.ai-note-title {
  display: block;

  margin-bottom: 12px;

  color: var(--ai-navy);

  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}


/* グレー：中立・前提 */

.ai-note-neutral {
  background: var(--ai-gray-bg);
  border-left-color: var(--ai-gray-border);
}


/* 黄色：注意・確認 */

.ai-note-warning {
  background: var(--ai-yellow-bg);
  border-left-color: var(--ai-yellow);
}

.ai-note-warning .ai-note-title {
  color: #775400;
}


/* 赤：警告・重要注意 */

.ai-note-danger {
  background: var(--ai-red-bg);
  border-left-color: var(--ai-red);
}

.ai-note-danger .ai-note-title {
  color: var(--ai-red-dark);
}


/* =========================================================
   16. 料金・オファーボックス
   ========================================================= */

.ai-offer-box {
  max-width: 720px;

  margin-left: auto;
  margin-right: auto;

  padding: 45px 55px;

  background: var(--ai-white);

  border: 2px solid var(--ai-navy);
  border-top: 8px solid var(--ai-gold);

  box-shadow:
    0 18px 48px rgba(9, 39, 70, 0.12);
}


/* 販売期限など */

.ai-page-canvas .ai-offer-deadline {
  margin-bottom: 22px;

  color: #A42F25;

  font-weight: 900;

  text-align: center;
}


/* 価格 */

.ai-price {
  padding: 5px 0 28px;

  border-bottom: 1px solid var(--ai-line);

  text-align: center;
}

.ai-price-label {
  display: block;

  margin-bottom: 7px;

  font-weight: 700;
}

.ai-price-number {
  color: var(--ai-navy);

  font-family: Arial, sans-serif;
  font-size: 58px;
  font-weight: 700;
  line-height: 1;
}

.ai-price-unit {
  margin-left: 5px;

  font-size: 16px;
  font-weight: 700;
}


/* オファー見出し */

.ai-offer-box h3 {
  margin-top: 32px;

  text-align: center;
}


/* お渡しするもの */

.ai-offer-list {
  padding: 0;
  margin: 0;

  list-style: none;
}

.ai-offer-list li {
  display: flex;

  gap: 17px;

  align-items: center;

  padding: 15px 0;

  border-bottom: 1px solid var(--ai-line);

  line-height: 1.55;
}

.ai-offer-number {
  flex: 0 0 39px;

  width: 39px;
  height: 39px;

  color: var(--ai-white);
  background: var(--ai-navy);

  border-radius: 50%;

  font-size: 12px;
  font-weight: 700;

  text-align: center;
  line-height: 39px;
}


/* 支払い方法 */

.ai-offer-payment {
  margin: 28px 0;

  text-align: center;
}

.ai-offer-payment h3 {
  margin-bottom: 7px;
}

.ai-offer-payment p {
  margin-bottom: 0;
}


/* オファー内販売ボタン */

.ai-offer-box .ai-page-canvas .ai-button-sale {
  display: flex;

  width: 100%;
  min-height: 70px;

  margin: 30px auto 15px;

  font-size: 20px;
  font-weight: 900;
}


/* 小さな補足 */

.ai-page-canvas .ai-offer-note {
  margin: 21px 0 0;

  color: var(--ai-muted);

  font-size: 15px;
  line-height: 1.7;

  text-align: center;
}


/* =========================================================
   17. フォーム
   ========================================================= */

.ai-form {
  max-width: 620px;

  margin: 35px auto;

  padding: 35px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);

  text-align: left;
}


/* 1項目 */

.ai-form-item {
  margin-bottom: 25px;
}


/* 項目名 */

.ai-form-item label {
  display: block;

  margin-bottom: 8px;

  color: var(--ai-ink);

  font-weight: 700;
}


/* 必須 */

.ai-required {
  display: inline-block;

  margin-left: 7px;

  padding: 2px 8px;

  color: var(--ai-white);
  background: #B83B32;

  border-radius: 4px;

  font-size: 12px;
  line-height: 1.5;
}


/* 入力欄 */

.ai-form input,
.ai-form textarea,
.ai-form select {
  display: block;

  width: 100%;

  padding: 14px 15px;

  color: var(--ai-ink);
  background: var(--ai-white);

  border: 1px solid #AEBDCA;
  border-radius: 6px;

  font: inherit;
  font-size: 18px;
  line-height: 1.5;
}

.ai-form textarea {
  min-height: 150px;

  resize: vertical;
}


/* フォーカス */

.ai-form input:focus,
.ai-form textarea:focus,
.ai-form select:focus {
  border-color: var(--ai-blue);

  outline: 3px solid rgba(8, 123, 184, 0.15);
}


/* 入力補足 */

.ai-page-canvas .ai-form-help {
  margin: 7px 0 0;

  color: var(--ai-muted);

  font-size: 14px;
  line-height: 1.6;
}


/* フォーム内注意 */

.ai-form-warning {
  margin: 25px 0 0;

  padding: 15px 17px;

  color: #663F00;
  background: var(--ai-yellow-bg);

  border-left: 4px solid var(--ai-yellow);

  font-size: 15px;
  line-height: 1.7;
}


/* 通常送信ボタン */

.ai-form-submit {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 68px;

  margin-top: 30px;
  padding: 16px 20px;

  color: var(--ai-white);
  background: var(--ai-blue);

  border: 0;
  border-radius: var(--ai-radius-button);

  box-shadow:
    0 5px 0 #05608F;

  font: inherit;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.4;

  text-align: center;

  cursor: pointer;
}


/* 販売・振込など強い申込ボタン */

.ai-form-submit-sale {
  background: linear-gradient(
    var(--ai-sale-top),
    var(--ai-sale-bottom)
  );

  box-shadow:
    0 5px 0 var(--ai-sale-shadow);
}


/* ボタン内小文字 */

.ai-form-submit small,
.ai-form-submit span {
  display: block;

  margin-top: 3px;

  font-size: 12px;
  font-weight: 600;
}


/* フォーム下補足 */

.ai-page-canvas .ai-form-note {
  max-width: 620px;

  margin-left: auto;
  margin-right: auto;

  font-size: 16px;
}


/* スパム対策など非表示項目 */

.ai-form-trap {
  position: absolute;

  left: -9999px;

  width: 1px;
  height: 1px;

  overflow: hidden;
}

/* =========================================================
   17.5. 画像レイアウト部品
   ========================================================= */


/* ---------------------------------------------------------
   17.5-1. メイン画像・1枚見せ
   用途：
   ・施術風景
   ・院内写真
   ・セミナー写真
   ・大きく見せたい1枚
   --------------------------------------------------------- */

.ai-photo-hero {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.ai-photo-hero img {
  width: 100%;
  border-radius: var(--ai-radius-card);
  box-shadow: var(--ai-shadow-strong);
}

/* 画像のあとに本文が続く場合の余白 */
.ai-photo-text-gap {
  margin-bottom: 32px;
}

.ai-page-canvas .ai-photo-caption {
  margin-top: 12px;
  color: var(--ai-muted);
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
}


/* ---------------------------------------------------------
   17.5-2. 2〜3枚ギャラリー
   用途：
   ・院内紹介
   ・施術風景
   ・設備
   ・少数の雰囲気写真
   --------------------------------------------------------- */

.ai-gallery-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ai-gallery-3-item {
  overflow: hidden;
  border-radius: var(--ai-radius-image);
  box-shadow: var(--ai-shadow);
}

.ai-gallery-3-item img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}


/* ---------------------------------------------------------
   17.5-3. 5〜6枚ギャラリー
   用途：
   ・指導風景
   ・セミナー風景
   ・活動実績
   ・複数写真を少し見栄え良く見せたいとき
   --------------------------------------------------------- */

.ai-gallery-featured {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 130px;
  gap: 16px;
}

.ai-gallery-featured-item {
  overflow: hidden;
  border-radius: var(--ai-radius-image);
  box-shadow: var(--ai-shadow);
  background: var(--ai-gray-bg);
}

.ai-gallery-featured-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 先頭1枚を大きくして見せ場を作る */
.ai-gallery-featured-item:first-child,
.ai-gallery-featured-item.is-large {
  grid-column: span 2;
  grid-row: span 2;
}


/* ---------------------------------------------------------
   17.5-4. 大量写真グリッド
   用途：
   ・卒業生
   ・受講者
   ・実績の人数感を見せたいとき
   ・10〜30枚程度
   --------------------------------------------------------- */

.ai-photo-wall {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.ai-photo-wall-item {
  overflow: hidden;
  border-radius: 10px;
  box-shadow: var(--ai-shadow);
  background: var(--ai-gray-bg);
}

.ai-photo-wall-item img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}


/* ---------------------------------------------------------
   17.5-5. 人物ビジュアル
   用途：
   ・講師紹介
   ・開発者紹介
   ・LP的な人物見せ
   ・人物を大きく使いたいとき
   --------------------------------------------------------- */

.ai-person-visual {
  display: grid;
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}

.ai-person-visual-image {
  overflow: hidden;
  border-radius: var(--ai-radius-card);
}

.ai-person-visual-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  box-shadow: var(--ai-shadow-strong);
}

.ai-person-visual-content > :last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------
   17.5-6. 画像に薄い枠を付けたい場合
   用途：
   ・白背景で画像が埋もれるとき
   ・統一感を少し出したいとき
   --------------------------------------------------------- */

.ai-image-framed {
  padding: 8px;
  background: var(--ai-white);
  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);
  box-shadow: var(--ai-shadow);
}

.ai-image-framed img {
  border-radius: calc(var(--ai-radius-card) - 4px);
}

/* =========================================================
   18. 追加の共通部品
   ========================================================= */

/* ---------------------------------------------------------
   18-1. 重要な論理・結論
   数字と大きなキーワードで流し読みでも理解しやすくする
   --------------------------------------------------------- */

.ai-priority-logic {
  margin-top: 40px;
}

.ai-priority-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 22px;
  align-items: center;

  padding: 30px 0;

  border-bottom: 1px solid var(--ai-line);
}

.ai-priority-item:first-child {
  border-top: 1px solid var(--ai-line);
}

.ai-priority-number {
  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ai-priority-item p {
  margin: 0;

  color: var(--ai-navy);

  font-size: 24px;
  font-weight: 700;
  line-height: 1.65;
}

.ai-priority-keyword {
  display: inline-block;

  margin: 0 5px;

  color: var(--ai-blue);

  font-size: 34px;
  font-weight: 800;
  line-height: 1.25;
}

.ai-page-canvas .ai-priority-conclusion {
  margin: 34px 0 0;

  color: var(--ai-navy);

  font-size: 21px;
  font-weight: 800;
  line-height: 1.8;
}


/* ---------------------------------------------------------
   18-2. 本文中の重要な結論
   カード化せず、左の青線で結論だけ拾いやすくする
   --------------------------------------------------------- */

.ai-conclusion-line {
  margin-top: 30px;
  padding: 10px 0 10px 18px;

  color: var(--ai-navy);

  border-left: 4px solid var(--ai-blue);

  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}


/* ---------------------------------------------------------
   18-3. 汎用レイアウト補助
   --------------------------------------------------------- */

.ai-gap-after-md {
  margin-bottom: 32px;
}

.ai-explanation-figure {
  width: min(100%, 920px);
  margin: 0 auto 48px;
}

.ai-explanation-figure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.ai-stack-gap-lg {
  margin-top: 48px;
}

.ai-stack-gap-md {
  margin-top: 40px;
}

.ai-text-center {
  text-align: center;
}

.ai-page-canvas .ai-detail-intro {
  margin-top: 32px;
  text-align: center;
}


/* ---------------------------------------------------------
   18-4. 詳細ページへの通常ボタン
   .top-detail-button はTOP既存HTMLとの互換用エイリアス
   --------------------------------------------------------- */

.ai-page-canvas .ai-detail-button,
.ai-page-canvas .top-detail-button {
  width: 370px;
  max-width: 100%;
  min-width: 0;
  min-height: 64px;

  font-size: 19px;
  font-weight: 700;

  white-space: nowrap;
}


/* ---------------------------------------------------------
   18-5. 対象者・目的別の分岐パネル
   --------------------------------------------------------- */

.ai-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.ai-route-panel {
  display: flex;
  flex-direction: column;

  min-height: 100%;
  padding: 0 28px 28px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  overflow: hidden;
}

.ai-route-label {
  display: block;

  width: calc(100% + 56px);
  margin: 0 -28px 26px;
  padding: 13px 20px;

  color: var(--ai-white);

  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;

  text-align: center;
}

.ai-route-panel h3 {
  margin-bottom: 18px;
}

.ai-route-lead {
  color: var(--ai-navy);
  font-weight: 800;
}

.ai-route-button {
  width: 100%;
  min-height: 62px;
  margin-top: auto;
}

.ai-route-panel-navy .ai-route-label,
.ai-route-panel-navy .ai-route-button {
  background: var(--ai-navy);
  border-color: var(--ai-navy);
}

.ai-route-panel-blue .ai-route-label,
.ai-route-panel-blue .ai-route-button {
  background: var(--ai-blue);
  border-color: var(--ai-blue);
}


/* ---------------------------------------------------------
   18-6. スクール案内
   --------------------------------------------------------- */

.ai-section-intro {
  margin-bottom: 48px;
}

.ai-school-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 0;
}

.ai-school-card {
  display: flex;
  flex-direction: column;

  min-height: 100%;
  padding: 32px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-top: 5px solid var(--ai-blue);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}

.ai-school-card-main {
  padding: 38px;

  border-top-color: var(--ai-navy);

  box-shadow: var(--ai-shadow-strong);
}

.ai-school-label {
  display: inline-block;
  align-self: flex-start;

  margin-bottom: 16px;
  padding: 6px 14px;

  color: var(--ai-white);
  background: var(--ai-blue);

  border-radius: 5px;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.ai-school-card-main .ai-school-label {
  background: var(--ai-navy);
}

/* 柏：講師写真＋説明 */
.ai-school-main-visual {
  grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
  gap: 48px;
}

.ai-school-main-visual .ai-person-visual-image img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

/* 諏訪・高知：人物画像 */
.ai-school-card-image {
  width: 100%;
  max-width: 320px;
  margin: 0 auto 28px;
}

.ai-school-card-image img {
  display: block;
  width: 100%;
  height: auto;

  border-radius: var(--ai-radius-image);
  box-shadow: var(--ai-shadow);
}

.ai-school-card > .ai-button {
  width: 100%;
  max-width: 360px;
  margin-top: auto;
}

.ai-school-routes {
  margin-top: 32px;
}


/* ---------------------------------------------------------
   18-7. 講師・アクセスなどの関連ナビ
   --------------------------------------------------------- */

.ai-related-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  margin-top: 34px;

  border-top: 1px solid var(--ai-line);
  border-bottom: 1px solid var(--ai-line);
}

.ai-page-canvas .ai-related-nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  min-height: 86px;
  padding: 18px 24px;

  color: var(--ai-navy);

  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;

  text-decoration: none;
}

.ai-related-nav-item + .ai-related-nav-item {
  border-left: 1px solid var(--ai-line);
}

.ai-related-nav-item:hover {
  background: var(--ai-sky);
}

.ai-related-nav-meta {
  display: block;
  margin-bottom: 3px;

  color: var(--ai-blue);

  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.ai-related-nav-arrow {
  flex: 0 0 auto;

  color: var(--ai-blue);

  font-size: 22px;
  font-weight: 700;
}


/* ---------------------------------------------------------
   18-8. 諏訪・高知：PCの人物写真の高さを統一
   --------------------------------------------------------- */

@media (min-width: 701px) {
  .ai-school-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 250px;
  }

  .ai-school-card-image img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}


/* =========================================================
   19. スマホ共通
   ========================================================= */

@media (max-width: 700px) {

  /* 基本 */
  body.ai-page-template {
    font-size: 18px;
    line-height: 1.88;
  }

  .ai-container,
  .ai-container-narrow {
    width: calc(100% - 40px);
  }

  .ai-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .ai-section-large {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  /* 見出し */
  .ai-page-canvas h1 {
    margin-bottom: 26px;
    font-size: 34px;
  }

  .ai-page-canvas h2 {
    margin-bottom: 26px;
    font-size: 28px;
  }

  .ai-page-canvas h3 {
    margin-bottom: 18px;
    font-size: 22px;
  }

  /* ボタン */
  .ai-page-canvas .ai-button {
    width: 100%;
    min-height: 60px;
    padding: 15px 20px;
    font-size: 18px;
  }

  .ai-page-canvas .ai-button-arrow {
    padding-right: 50px;
  }

  .ai-page-canvas .ai-button-arrow::after {
    right: 18px;
  }

  .ai-page-canvas .ai-detail-button,
  .ai-page-canvas .top-detail-button {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  /* カード */
  .ai-card-highlight,
  .ai-card-dark {
    padding: 26px 22px;
  }

  .ai-card-grid,
  .ai-card-grid-2,
  .ai-stats {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ai-card {
    padding: 26px 22px;
  }

  .ai-card p {
    font-size: 18px;
  }

  /* チェックリスト */
  .ai-check-list li {
    padding: 17px 17px 17px 54px;
  }

  .ai-check-list li::before {
    top: 15px;
    left: 15px;
  }

  /* 明るい背景では複数行でも1行目の横にマークを置く */
  .ai-check-list-light li::before {
    top: 19px;
    left: 15px;
    transform: none;
  }

  .ai-page-canvas .ai-navy-lead {
    font-size: 18px;
    text-align: left;
  }

  /* 数字・実績 */
  .ai-stat {
    padding: 26px 15px;
  }

  .ai-stat-number {
    font-size: 44px;
  }

  /* 画像＋文章：実機での横はみ出し防止を含む */
  .ai-media {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;

    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ai-media > * {
    min-width: 0;
    max-width: 100%;
  }

  .ai-media-reverse .ai-media-image {
    order: 1;
  }

  .ai-media-reverse .ai-media-content {
    order: 2;
  }

  /* CTA */
  .ai-cta {
    padding: 34px 22px;
  }

  .ai-cta .ai-button {
    width: 100%;
    min-width: 0;
    min-height: 68px;
    padding: 15px 16px;
    font-size: 18px;
  }

  /* プロフィール：実機での横はみ出し防止を含む */
  .ai-profile {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding: 26px 22px;
  }

  .ai-profile > * {
    min-width: 0;
    max-width: 100%;
  }

  .ai-profile-image {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }

  /* 補足・注意 */
  .ai-note {
    padding: 22px 20px;
  }

  .ai-note-title {
    margin-bottom: 10px;
    font-size: 20px;
  }

  /* オファー・料金 */
  .ai-offer-box {
    padding: 35px 20px;
  }

  .ai-price-number {
    font-size: 49px;
  }

  .ai-offer-list li {
    align-items: flex-start;
  }

  .ai-offer-box .ai-button-sale {
    min-height: 68px;
    font-size: 18px;
  }

  .ai-page-canvas .ai-offer-note {
    font-size: 14px;
  }

  /* フォーム */
  .ai-form {
    margin: 28px auto;
    padding: 25px 18px;
  }

  .ai-form input,
  .ai-form textarea,
  .ai-form select {
    padding: 13px;
    font-size: 18px;
  }

  .ai-form-submit {
    min-height: 68px;
    padding: 15px 12px;
    font-size: 18px;
  }

  .ai-form-warning {
    font-size: 15px;
  }

  /* 画像レイアウト */
  .ai-photo-hero {
    max-width: 100%;
  }

  .ai-page-canvas .ai-photo-caption {
    font-size: 14px;
    text-align: left;
  }

  .ai-gallery-3 {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ai-gallery-featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 110px;
    gap: 12px;
  }

  .ai-gallery-featured-item:first-child,
  .ai-gallery-featured-item.is-large {
    grid-column: span 2;
    grid-row: span 2;
  }

  .ai-photo-wall {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .ai-person-visual {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .ai-person-visual-image {
    max-width: 320px;
    margin: 0 auto;
  }

  /* 重要な論理・結論 */
  .ai-priority-item {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 24px 0;
  }

  .ai-priority-number {
    padding-top: 5px;
    font-size: 16px;
  }

  .ai-priority-item p {
    font-size: 20px;
    line-height: 1.6;
  }

  .ai-priority-keyword {
    margin: 0 2px;
    font-size: 27px;
  }

  .ai-page-canvas .ai-priority-conclusion {
    margin-top: 28px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
  }

  .ai-conclusion-line {
    margin-top: 24px;
    padding-left: 15px;
    font-size: 19px;
  }

  /* 分岐パネル */
  .ai-route-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ai-route-panel {
    padding: 0 20px 24px;
  }

  .ai-route-label {
    width: calc(100% + 40px);
    margin: 0 -20px 22px;
    padding: 12px 16px;
    font-size: 18px;
  }

  /* スクール案内 */
  .ai-section-intro {
    margin-bottom: 34px;
  }

  .ai-school-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ai-school-card {
    padding: 26px 22px;
  }

  .ai-school-label {
    font-size: 17px;
  }

  .ai-school-main-visual {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .ai-school-main-visual .ai-person-visual-image {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .ai-school-card-image {
    max-width: 300px;
    margin-bottom: 24px;
  }

  /* メイン校はスマホで外側カードを外し、二重カードを解消 */
  .ai-school-card-main {
    padding: 0;

    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .ai-school-card-main > .ai-person-visual {
    padding: 24px 20px;

    background: var(--ai-white);

    border: 1px solid var(--ai-line);
    border-top: 5px solid var(--ai-navy);
    border-radius: var(--ai-radius-card);

    box-shadow: var(--ai-shadow);
  }

  .ai-school-routes {
    margin-top: 18px;
  }

  /* 関連ナビ */
  .ai-related-nav {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .ai-page-canvas .ai-related-nav-item {
    min-height: 76px;
    padding: 16px 18px;
  }

  .ai-related-nav-item + .ai-related-nav-item {
    border-left: 0;
    border-top: 1px solid var(--ai-line);
  }

  /* ページ全体の横方向へのはみ出しを防止 */
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .ai-page-canvas {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
}


/* =========================================================
   20. TOPページ専用
   ========================================================= */

/* ---------------------------------------------------------
   20-1. ファーストビュー
   --------------------------------------------------------- */

.top-fv {
  width: 100%;
  margin: 0;
  padding: 0;
}

.top-fv picture {
  display: block;
  width: 100%;
}

.top-fv img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

/* H1はSEO・アクセシビリティ用に残し、画面上では非表示。
   テーマ側の指定に負けないよう、この部分だけ !important を維持。 */
.top-fv-screen-reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ---------------------------------------------------------
   20-2. TOP：治療家・未経験者の2分岐
   --------------------------------------------------------- */

.top-path-heading {
  margin-bottom: 42px;
  text-align: center;
}

.top-path-card {
  display: flex;
  flex-direction: column;

  min-height: 100%;
  padding: 34px 32px 30px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);

  overflow: hidden;
}

.top-path-label {
  display: block;

  width: calc(100% + 64px);
  margin: -34px -32px 28px;
  padding: 13px 20px;

  color: var(--ai-white);

  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;

  text-align: center;
}

.top-path-therapist .top-path-label {
  background: var(--ai-navy);
}

.top-path-therapist .top-path-button {
  background: var(--ai-navy);
  border-color: var(--ai-navy);
}

.top-path-beginner .top-path-label {
  background: var(--ai-blue);
}

.top-path-beginner .top-path-button {
  background: var(--ai-blue);
  border-color: var(--ai-blue);
}

.top-path-card h3 {
  margin-bottom: 20px;
  font-size: 26px;
}

.top-path-lead {
  color: var(--ai-navy);
  font-weight: 800;
}

.top-path-button {
  width: 100%;
  min-height: 62px;
  margin-top: auto;
}


/* ---------------------------------------------------------
   20-3. TOP：歴史・実績
   --------------------------------------------------------- */

.top-history .ai-container-narrow {
  margin-bottom: 48px;
}

.top-history-card + .top-history-card {
  margin-top: 28px;
}

.top-history-materials-image {
  overflow: hidden;
  border-radius: var(--ai-radius-image);
}

.top-history-materials-image img {
  transform: scale(1.02);
  border-radius: 0;
  box-shadow: none;
}

.top-history-students .ai-media {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr);
}


/* ---------------------------------------------------------
   20-4. TOP：スマホ
   --------------------------------------------------------- */

@media (max-width: 700px) {
  .top-path-heading {
    margin-bottom: 30px;
    text-align: left;
  }

  .top-path-card {
    padding: 28px 22px 26px;
  }

  .top-path-label {
    width: calc(100% + 44px);
    margin: -28px -22px 24px;
    padding: 12px 16px;
    font-size: 18px;
  }

  .top-path-card h3 {
    font-size: 23px;
  }

  .top-history .ai-container-narrow {
    margin-bottom: 34px;
  }

  .top-history-card + .top-history-card {
    margin-top: 20px;
  }

  .top-history-students .ai-media {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================================================
   /therapist/
   治療家・セラピスト経験者向けページ
   ページ専用CSS
   ========================================================= */


/* =========================================================
   1. 制作中メモ
   画像を入れるまで必ず画面上に残す
   ========================================================= */

.therapist-production-note {
  width: min(100%, 920px);
  margin: 34px auto 44px;
  padding: 22px 24px;

  color: #664C00;
  background: var(--ai-yellow-bg);

  border: 2px dashed var(--ai-yellow);
  border-radius: var(--ai-radius-card);

  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;

  text-align: left;
}


/* =========================================================
   2. FV
   ========================================================= */

.therapist-fv {
  width: 100%;

  background:
    linear-gradient(
      90deg,
      var(--ai-navy) 0%,
      var(--ai-navy) 58%,
      #EDF7FB 58%,
      #EDF7FB 100%
    );

  overflow: hidden;
}

.therapist-fv-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(0, 0.92fr);

  align-items: stretch;
}

.therapist-fv-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;

  min-height: 610px;
  padding: 82px 64px 82px 0;
}

.ai-page-canvas .therapist-fv-target {
  display: inline-block;

  width: fit-content;
  margin: 0 0 26px;
  padding: 8px 16px;

  color: #F1D58D;

  border: 1px solid rgba(213, 170, 77, 0.7);
  border-radius: 5px;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.ai-page-canvas .therapist-fv-title {
  max-width: 650px;
  margin: 0;

  color: var(--ai-white);

  font-size: 52px;
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: 0.01em;
}

.therapist-fv-visual {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  min-height: 610px;
  padding: 54px 0 38px 60px;

  text-align: center;
}

.therapist-fv-visual .therapist-production-note {
  margin: 0 auto 22px;
}

.therapist-fv-visual img {
  display: block;

  width: 100%;
  max-width: 430px;
  height: auto;

  margin: 0 auto 20px;
}

.ai-page-canvas .therapist-fv-instructor {
  margin: 0;

  color: var(--ai-navy);

  font-size: 15px;
  line-height: 1.65;

  text-align: center;
}

.ai-page-canvas .therapist-fv-instructor strong {
  display: block;

  margin-top: 2px;

  font-size: 21px;
  font-weight: 800;
}


/* =========================================================
   3. FV直下リード
   ========================================================= */

.therapist-lead-section {
  padding: 58px 0 66px;

  background: var(--ai-white);

  border-bottom: 1px solid var(--ai-line);
}

.therapist-lead {
  text-align: center;
}

.ai-page-canvas .therapist-lead p {
  margin-bottom: 1.35em;

  color: var(--ai-ink);

  font-size: 21px;
  line-height: 1.9;
}

.ai-page-canvas .therapist-lead .therapist-lead-main {
  margin-bottom: 1.5em;

  color: var(--ai-navy);

  font-size: 27px;
  font-weight: 800;
  line-height: 1.75;
}

.ai-page-canvas .therapist-lead .therapist-lead-question {
  margin-top: 34px;
  margin-bottom: 0;
  padding-top: 32px;

  color: var(--ai-navy);

  border-top: 1px solid var(--ai-line);

  font-size: 23px;
  font-weight: 700;
}


/* =========================================================
   4. Problem
   ========================================================= */

.therapist-problem-list {
  padding: 0;
  margin: 38px 0 0;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);

  list-style: none;

  overflow: hidden;
}

.therapist-problem-list li {
  position: relative;

  padding: 20px 24px 20px 54px;

  border-bottom: 1px solid var(--ai-line);

  font-size: 18px;
  line-height: 1.75;
}

.therapist-problem-list li:last-child {
  border-bottom: 0;
}

.therapist-problem-list li::before {
  content: "";

  position: absolute;
  top: 31px;
  left: 25px;

  width: 9px;
  height: 9px;

  background: var(--ai-blue);

  border-radius: 50%;
}

.therapist-problem .ai-conclusion-line {
  margin-top: 38px;
}


/* =========================================================
   5. Affinity
   ========================================================= */

.therapist-section-heading {
  max-width: 780px;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: left;
}

.therapist-profile {
  max-width: 900px;
  margin: 0 auto;
}

.therapist-profile .therapist-production-note {
  margin: 0;
}

.therapist-affinity-story {
  margin-top: 58px;
}

.therapist-affinity-story h3 {
  margin-top: 58px;
  padding-top: 6px;
}


/* =========================================================
   6. Solution
   ========================================================= */

.therapist-solution .ai-container-narrow {
  text-align: center;
}

.therapist-solution-grid {
  max-width: 960px;
  margin: 42px auto 0;
}

.therapist-solution-card {
  position: relative;

  min-height: 210px;

  padding-top: 60px;

  text-align: center;
}

.therapist-solution-number {
  position: absolute;
  top: 22px;
  left: 50%;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.12em;

  transform: translateX(-50%);
}

.therapist-solution-card h3 {
  margin: auto;

  font-size: 26px;
  line-height: 1.65;
}


/* =========================================================
   7. Benefit
   ========================================================= */

.therapist-benefit .ai-check-list {
  margin-top: 38px;
}

.therapist-benefit .ai-check-list strong {
  color: #D9F2FF;
}

.therapist-benefit .ai-navy-lead {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   8. Evidence 共通
   ========================================================= */

.therapist-evidence-points {
  max-width: 960px;
  margin: 42px auto 46px;
}

.therapist-evidence-points .ai-card-highlight {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 160px;

  text-align: center;
}

.therapist-evidence-points h3 {
  margin: 0;

  line-height: 1.65;
}

.therapist-evidence-text {
  margin-top: 0;
}

.therapist-history h2,
.therapist-dropout-story h2,
.therapist-roles h2 {
  max-width: 900px;
}


/* =========================================================
   9. Evidence「なぜ？」部分
   ========================================================= */

.therapist-question-stack {
  margin: 30px 0 32px;
  padding: 5px 0 5px 24px;

  border-left: 4px solid var(--ai-blue);
}

.ai-page-canvas .therapist-question-stack p {
  margin: 0 0 9px;

  color: var(--ai-navy);

  font-size: 20px;
  font-weight: 700;
  line-height: 1.65;
}

.ai-page-canvas .therapist-question-stack p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   10. 筋膜グリップとの4つの関わり
   ========================================================= */

.therapist-role-grid {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 18px;

  margin-top: 44px;
}

.therapist-role-grid .ai-card {
  position: relative;

  min-height: 175px;
  padding-top: 56px;

  text-align: center;
}

.therapist-role-number {
  position: absolute;
  top: 20px;
  left: 50%;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.12em;

  transform: translateX(-50%);
}

.therapist-role-grid h3 {
  margin-bottom: 8px;

  font-size: 22px;
}

.ai-page-canvas .therapist-role-grid p {
  margin: 0;

  color: var(--ai-muted);

  font-size: 15px;
}


/* =========================================================
   11. Contents
   ========================================================= */

.therapist-contents-intro .therapist-production-note,
.therapist-fascia-detail .therapist-production-note,
.therapist-fascia-mechanism .therapist-production-note {
  margin-top: 38px;
  margin-bottom: 42px;
}

.therapist-contents-intro h3,
.therapist-fascia-detail h3 {
  margin-top: 54px;
}


/* =========================================================
   12. 5種類の筋膜
   ========================================================= */

.therapist-fascia-list {
  counter-reset: therapist-fascia;

  padding: 0;
  margin: 32px 0 38px;

  border-top: 1px solid var(--ai-line);

  list-style: none;
}

.therapist-fascia-list li {
  counter-increment: therapist-fascia;

  position: relative;

  padding: 19px 15px 19px 58px;

  border-bottom: 1px solid var(--ai-line);

  line-height: 1.7;
}

.therapist-fascia-list li::before {
  content: "0" counter(therapist-fascia);

  position: absolute;
  top: 19px;
  left: 10px;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.05em;
}


/* =========================================================
   13. 筋膜メカニズム
   ========================================================= */

.therapist-fascia-mechanism .ai-conclusion-line {
  margin-bottom: 8px;
}

.therapist-contents-conclusion h3 {
  margin-top: 54px;
}

.ai-page-canvas .therapist-contents-conclusion .ai-conclusion-line {
  color: var(--ai-white);
}

.ai-page-canvas .therapist-offer-bridge {
  margin: 46px 0 0;
  padding-top: 34px;

  color: #D9F2FF;

  border-top: 1px solid rgba(255, 255, 255, 0.2);

  font-size: 20px;
  font-weight: 700;

  text-align: center;
}


/* =========================================================
   14. Offer
   ========================================================= */

.therapist-offer > .ai-container-narrow:first-child {
  text-align: left;
}

.therapist-trial-purpose {
  margin-top: 38px;
}

.therapist-trial-purpose h3 {
  text-align: center;
}

.therapist-offer > .ai-container {
  margin-top: 60px;
}

.therapist-trial-summary {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 16px;

  margin-top: 34px;
}

.therapist-trial-summary .ai-card {
  padding: 25px 18px;

  text-align: center;
}

.therapist-summary-label {
  display: inline-block;

  margin-bottom: 13px;
  padding: 5px 12px;

  color: var(--ai-white);
  background: var(--ai-navy);

  border-radius: 4px;

  font-size: 14px;
  font-weight: 700;
}

.ai-page-canvas .therapist-trial-summary p {
  margin-bottom: 5px;

  font-size: 16px;
  line-height: 1.55;
}

.ai-page-canvas .therapist-trial-summary p strong {
  color: var(--ai-navy);

  font-size: 20px;
}

.therapist-trial-routes {
  margin-top: 38px;
}


/* =========================================================
   15. 治療体験 STEP
   ========================================================= */

.therapist-trial-flow > .ai-container > h2 {
  text-align: center;
}

.therapist-step-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 22px;

  margin-top: 42px;
}

.therapist-step {
  position: relative;

  padding: 34px 28px 30px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-top: 5px solid var(--ai-blue);
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}

.therapist-step-number {
  margin-bottom: 18px;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.therapist-step h3 {
  margin-bottom: 8px;
}

.ai-page-canvas .therapist-step-time {
  margin-bottom: 22px;

  color: var(--ai-muted);

  font-size: 16px;
  font-weight: 700;
}

.ai-page-canvas .therapist-step p {
  font-size: 16px;
  line-height: 1.75;
}

.therapist-trial-price {
  margin-top: 48px;
}


/* =========================================================
   16. Narrowing
   ========================================================= */

.therapist-narrowing .ai-note {
  max-width: 780px;
  margin: 0 auto;
}

.therapist-narrowing .ai-note p {
  margin-bottom: 1.15em;
}


/* =========================================================
   17. FAQ
   ========================================================= */

.therapist-faq h2 {
  text-align: center;
}

.therapist-faq-list {
  margin-top: 38px;

  border-top: 1px solid var(--ai-line);
}

.therapist-faq-item {
  border-bottom: 1px solid var(--ai-line);
}

.therapist-faq-item summary {
  position: relative;

  display: block;

  padding: 25px 58px 25px 14px;

  color: var(--ai-navy);

  font-size: 19px;
  font-weight: 700;
  line-height: 1.6;

  cursor: pointer;

  list-style: none;
}

.therapist-faq-item summary::-webkit-details-marker {
  display: none;
}

.therapist-faq-item summary::before {
  content: "Q.";

  margin-right: 10px;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-weight: 800;
}

.therapist-faq-item summary::after {
  content: "+";

  position: absolute;
  top: 50%;
  right: 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;

  color: var(--ai-blue);

  border: 1px solid var(--ai-line);
  border-radius: 50%;

  font-family: Arial, sans-serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1;

  transform: translateY(-50%);
}

.therapist-faq-item[open] summary::after {
  content: "−";
}

.therapist-faq-item[open] summary {
  color: var(--ai-blue);
}

.therapist-faq-answer {
  padding: 0 24px 30px 56px;
}

.therapist-faq-answer::before {
  content: "A.";

  display: block;

  margin-bottom: 12px;

  color: var(--ai-navy);

  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
}

.ai-page-canvas .therapist-faq-answer p {
  margin-bottom: 1.15em;
}


/* =========================================================
   18. 最終Action
   ========================================================= */

.therapist-final-action {
  padding-top: 90px;
  padding-bottom: 90px;
}

.therapist-final-cta {
  padding: 52px 48px;

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgba(255, 255, 255, 0.16);

  box-shadow: none;
}

.therapist-final-cta h2 {
  margin-bottom: 34px;
}

.ai-page-canvas .therapist-final-cta p {
  max-width: 700px;

  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.3em;

  line-height: 1.9;
}

.therapist-final-cta .ai-button {
  width: min(100%, 430px);
  min-height: 70px;

  margin-top: 24px;

  color: var(--ai-white);
  background: linear-gradient(
    180deg,
    #1592CF 0%,
    var(--ai-blue) 100%
  );

  border-color: #0872AA;

  box-shadow:
    0 5px 0 #05608F,
    0 10px 22px rgba(6, 27, 49, 0.24);

  font-size: 20px;
  font-weight: 700;
}

.therapist-final-cta .ai-button:hover {
  opacity: 1;

  transform: translateY(2px);

  box-shadow:
    0 3px 0 #05608F,
    0 7px 17px rgba(6, 27, 49, 0.22);
}


/* =========================================================
   19. タブレット
   ========================================================= */

@media (max-width: 900px) and (min-width: 701px) {

  .ai-page-canvas .therapist-fv-title {
    font-size: 43px;
  }

  .therapist-fv-copy {
    padding-right: 40px;
  }

  .therapist-fv-visual {
    padding-left: 40px;
  }

  .therapist-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .therapist-trial-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .therapist-step-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   20. スマホ
   ========================================================= */

@media (max-width: 700px) {

  /* ---------------------------------------------------------
     FV
     --------------------------------------------------------- */

  .therapist-fv {
    background: var(--ai-navy);
  }

  .therapist-fv-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .therapist-fv-copy {
    min-height: 0;

    padding: 54px 0 48px;
  }

  .ai-page-canvas .therapist-fv-target {
    margin-bottom: 22px;
    padding: 7px 12px;

    font-size: 14px;
  }

  .ai-page-canvas .therapist-fv-title {
    font-size: 36px;
    line-height: 1.48;
  }

  .therapist-fv-visual {
    min-height: 0;

    margin-left: -20px;
    margin-right: -20px;

    padding: 34px 20px 30px;

    background: #EDF7FB;
  }

  .therapist-fv-visual img {
    max-width: 360px;
  }

  .ai-page-canvas .therapist-fv-instructor {
    font-size: 14px;
  }

  .ai-page-canvas .therapist-fv-instructor strong {
    font-size: 19px;
  }


  /* ---------------------------------------------------------
     FVリード
     --------------------------------------------------------- */

  .therapist-lead-section {
    padding: 46px 0 52px;
  }

  .therapist-lead {
    text-align: left;
  }

  .ai-page-canvas .therapist-lead p {
    font-size: 18px;
    line-height: 1.85;
  }

  .ai-page-canvas .therapist-lead .therapist-lead-main {
    font-size: 21px;
    line-height: 1.8;
  }

  .ai-page-canvas .therapist-lead .therapist-lead-question {
    margin-top: 28px;
    padding-top: 26px;

    font-size: 20px;
    line-height: 1.8;
  }


  /* ---------------------------------------------------------
     制作メモ
     --------------------------------------------------------- */

  .therapist-production-note {
    margin: 28px auto 34px;
    padding: 18px;

    font-size: 15px;
  }


  /* ---------------------------------------------------------
     Problem
     --------------------------------------------------------- */

  .therapist-problem-list {
    margin-top: 30px;
  }

  .therapist-problem-list li {
    padding: 17px 17px 17px 46px;

    font-size: 17px;
  }

  .therapist-problem-list li::before {
    top: 27px;
    left: 20px;

    width: 8px;
    height: 8px;
  }

  .therapist-problem .ai-conclusion-line {
    margin-top: 30px;
  }


  /* ---------------------------------------------------------
     Affinity
     --------------------------------------------------------- */

  .therapist-affinity-story {
    margin-top: 42px;
  }

  .therapist-affinity-story h3 {
    margin-top: 46px;
  }


  /* ---------------------------------------------------------
     Solution
     --------------------------------------------------------- */

  .therapist-solution .ai-container-narrow {
    text-align: left;
  }

  .therapist-solution-grid {
    margin-top: 32px;
  }

  .therapist-solution-card {
    min-height: 0;
    padding-top: 54px;
  }

  .therapist-solution-card h3 {
    font-size: 22px;
  }


  /* ---------------------------------------------------------
     Evidence
     --------------------------------------------------------- */

  .therapist-evidence-points {
    margin-top: 32px;
    margin-bottom: 36px;
  }

  .therapist-evidence-points .ai-card-highlight {
    min-height: 0;
  }

  .therapist-question-stack {
    margin: 26px 0 28px;
    padding-left: 18px;
  }

  .ai-page-canvas .therapist-question-stack p {
    font-size: 18px;
  }


  /* ---------------------------------------------------------
     4つの関わり
     --------------------------------------------------------- */

  .therapist-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;

    margin-top: 32px;
  }

  .therapist-role-grid .ai-card {
    min-height: 145px;

    padding: 50px 12px 20px;
  }

  .therapist-role-grid h3 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ai-page-canvas .therapist-role-grid p {
    font-size: 14px;
  }


  /* ---------------------------------------------------------
     Contents
     --------------------------------------------------------- */

  .therapist-contents-intro h3,
  .therapist-fascia-detail h3 {
    margin-top: 44px;
  }

  .therapist-contents-intro .therapist-production-note,
  .therapist-fascia-detail .therapist-production-note,
  .therapist-fascia-mechanism .therapist-production-note {
    margin-top: 30px;
    margin-bottom: 34px;
  }

  .therapist-fascia-list {
    margin-top: 26px;
    margin-bottom: 32px;
  }

  .therapist-fascia-list li {
    padding: 17px 8px 17px 52px;

    font-size: 17px;
  }

  .therapist-fascia-list li::before {
    top: 18px;
    left: 7px;
  }

  .therapist-contents-conclusion h3 {
    margin-top: 44px;
  }

  .ai-page-canvas .therapist-offer-bridge {
    margin-top: 36px;
    padding-top: 28px;

    font-size: 18px;

    text-align: left;
  }


  /* ---------------------------------------------------------
     Offer
     --------------------------------------------------------- */

  .therapist-trial-purpose {
    margin-top: 30px;
  }

  .therapist-trial-purpose h3 {
    text-align: left;
  }

  .therapist-offer > .ai-container {
    margin-top: 46px;
  }

  .therapist-trial-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;

    margin-top: 28px;
  }

  .therapist-trial-summary .ai-card {
    padding: 20px 12px;
  }

  .ai-page-canvas .therapist-trial-summary p {
    font-size: 15px;
  }

  .ai-page-canvas .therapist-trial-summary p strong {
    font-size: 18px;
  }

  .therapist-trial-routes {
    margin-top: 30px;
  }


  /* ---------------------------------------------------------
     STEP
     --------------------------------------------------------- */

  .therapist-trial-flow > .ai-container > h2 {
    text-align: left;
  }

  .therapist-step-grid {
    grid-template-columns: minmax(0, 1fr);

    gap: 18px;

    margin-top: 32px;
  }

  .therapist-step {
    padding: 28px 22px 24px;
  }

  .ai-page-canvas .therapist-step p {
    font-size: 17px;
  }

  .therapist-trial-price {
    margin-top: 36px;
  }


  /* ---------------------------------------------------------
     FAQ
     --------------------------------------------------------- */

  .therapist-faq h2 {
    text-align: left;
  }

  .therapist-faq-list {
    margin-top: 28px;
  }

  .therapist-faq-item summary {
    padding: 21px 48px 21px 4px;

    font-size: 18px;
    line-height: 1.6;
  }

  .therapist-faq-item summary::before {
    margin-right: 6px;
  }

  .therapist-faq-item summary::after {
    right: 4px;

    width: 28px;
    height: 28px;

    font-size: 21px;
  }

  .therapist-faq-answer {
    padding: 0 4px 26px 30px;
  }


  /* ---------------------------------------------------------
     最終Action
     --------------------------------------------------------- */

  .therapist-final-action {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .therapist-final-cta {
    padding: 34px 20px;
  }

  .therapist-final-cta h2 {
    margin-bottom: 28px;
  }

  .ai-page-canvas .therapist-final-cta p {
    text-align: left;
  }

  .therapist-final-cta .ai-button {
    width: 100%;
    min-height: 68px;

    padding: 15px 46px 15px 16px;

    font-size: 18px;
  }
}


/* =========================================================
   /therapist/
   デザイン調整 override 2026-08-26
   ========================================================= */


/* =========================================================
   1. ページ全体
   長文ページなので縦方向を少し圧縮
   ========================================================= */

.therapist-problem,
.therapist-affinity,
.therapist-solution,
.therapist-benefit,
.therapist-evidence-intro,
.therapist-history,
.therapist-dropout-story,
.therapist-analysis-story,
.therapist-roles,
.therapist-contents-intro,
.therapist-fascia-detail,
.therapist-fascia-mechanism,
.therapist-contents-conclusion,
.therapist-offer,
.therapist-trial-flow,
.therapist-narrowing,
.therapist-faq {
  padding-top: 68px;
  padding-bottom: 68px;
}


/* =========================================================
   2. 制作メモ
   未完成だと分かるが、ページの主役にはしない
   ========================================================= */

.therapist-production-note {
  width: min(100%, 780px);

  margin: 24px auto 30px;
  padding: 14px 18px;

  border-width: 1px;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
}


/* =========================================================
   3. FV
   ========================================================= */

.therapist-fv-copy {
  min-height: 560px;
  padding-top: 66px;
  padding-bottom: 66px;
}

.therapist-fv-visual {
  min-height: 560px;
}

.ai-page-canvas .therapist-fv-title {
  font-size: 50px;
  line-height: 1.38;
}


/* =========================================================
   4. FV直下リード
   内容は強いので余白だけ整理
   ========================================================= */

.therapist-lead-section {
  padding-top: 46px;
  padding-bottom: 50px;
}

.ai-page-canvas .therapist-lead p {
  margin-bottom: 1em;

  font-size: 20px;
  line-height: 1.8;
}

.ai-page-canvas .therapist-lead .therapist-lead-main {
  margin-bottom: 1.25em;

  font-size: 25px;
  line-height: 1.65;
}

.ai-page-canvas .therapist-lead .therapist-lead-question {
  margin-top: 24px;
  padding-top: 24px;

  font-size: 21px;
  line-height: 1.7;
}


/* =========================================================
   5. Problem
   ========================================================= */

.therapist-problem-list {
  margin-top: 30px;
}

.therapist-problem-list li {
  padding-top: 17px;
  padding-bottom: 17px;
}

.therapist-problem-list li::before {
  top: 28px;
}


/* =========================================================
   6. Affinity
   ========================================================= */

.therapist-affinity-story {
  margin-top: 44px;
}

.therapist-affinity-story h3 {
  margin-top: 46px;
}


/* =========================================================
   7. Solution
   2枚はこのページの核なので少し強くする
   ========================================================= */

.therapist-solution-grid {
  margin-top: 34px;
}

.therapist-solution-card {
  min-height: 190px;

  border-top-width: 6px;

  box-shadow:
    0 12px 32px rgba(9, 39, 70, 0.11);
}

.therapist-solution-card h3 {
  font-size: 25px;
}


/* =========================================================
   8. Benefit
   ========================================================= */

.therapist-benefit .ai-check-list {
  margin-top: 30px;
}

.therapist-benefit .ai-check-list li {
  padding-top: 17px;
  padding-bottom: 17px;
}

.therapist-benefit .ai-navy-lead {
  margin-top: 24px;
}


/* =========================================================
   9. Evidence
   ========================================================= */

.therapist-evidence-points {
  margin-top: 32px;
  margin-bottom: 34px;
}

.therapist-evidence-points .ai-card-highlight {
  min-height: 140px;
}

.therapist-evidence-text .ai-conclusion-line {
  margin-top: 26px;
}


/* 歴史～役割のセクションは連続した話として少し圧縮 */

.therapist-history,
.therapist-dropout-story,
.therapist-analysis-story,
.therapist-roles {
  padding-top: 60px;
  padding-bottom: 60px;
}


/* =========================================================
   10. 「なぜ？」3項目
   ========================================================= */

.therapist-question-stack {
  margin-top: 24px;
  margin-bottom: 26px;
}


/* =========================================================
   11. 4つの関わり
   小カード感を弱める
   ========================================================= */

.therapist-role-grid {
  gap: 12px;

  margin-top: 32px;
}

.therapist-role-grid .ai-card {
  min-height: 140px;
  padding: 50px 18px 22px;

  box-shadow: none;

  border-top: 3px solid var(--ai-blue);
}

.therapist-role-grid h3 {
  font-size: 20px;
}


/* =========================================================
   12. Contents
   専門パートの流れを締める
   ========================================================= */

.therapist-contents-intro h3,
.therapist-fascia-detail h3 {
  margin-top: 44px;
}

.therapist-contents-intro .therapist-production-note,
.therapist-fascia-detail .therapist-production-note,
.therapist-fascia-mechanism .therapist-production-note {
  margin-top: 24px;
  margin-bottom: 28px;
}


/* 結論線の連発感を弱める */

.therapist-contents-intro .ai-conclusion-line,
.therapist-fascia-detail .ai-conclusion-line,
.therapist-fascia-mechanism .ai-conclusion-line {
  margin-top: 24px;
  padding-top: 7px;
  padding-bottom: 7px;
}


/* =========================================================
   13. 5種類の筋膜
   ========================================================= */

.therapist-fascia-list {
  margin-top: 26px;
  margin-bottom: 30px;
}

.therapist-fascia-list li {
  padding-top: 15px;
  padding-bottom: 15px;
}

.therapist-fascia-list li::before {
  top: 16px;
}


/* =========================================================
   14. C最後の濃紺パート
   このページの重要な着地点なので読みやすさ優先
   ========================================================= */

.therapist-contents-conclusion .ai-container-narrow {
  max-width: 760px;
}

.therapist-contents-conclusion h2 {
  margin-bottom: 30px;

  line-height: 1.5;
}

.therapist-contents-conclusion h3 {
  margin-top: 42px;
  padding-top: 34px;

  border-top: 1px solid rgba(255,255,255,0.18);
}

.ai-page-canvas .therapist-offer-bridge {
  margin-top: 32px;
  padding-top: 26px;
}


/* =========================================================
   15. Offer
   ========================================================= */

.therapist-trial-purpose {
  margin-top: 30px;

  box-shadow: none;
}

.therapist-offer > .ai-container {
  margin-top: 46px;
}


/* 4つの概要は情報パネル扱いにして軽くする */

.therapist-trial-summary {
  gap: 12px;
  margin-top: 28px;
}

.therapist-trial-summary .ai-card {
  padding: 20px 14px;

  box-shadow: none;
}

.therapist-summary-label {
  margin-bottom: 10px;
}


/* ①②は重要なのでこちらをカードの主役にする */

.therapist-trial-routes {
  margin-top: 30px;
}

.therapist-trial-routes .ai-route-panel {
  box-shadow:
    0 10px 28px rgba(9, 39, 70, 0.08);
}


/* =========================================================
   16. STEP
   ========================================================= */

.therapist-step-grid {
  gap: 16px;
  margin-top: 34px;
}

.therapist-step {
  padding: 28px 24px 26px;

  box-shadow: none;

  border-top-width: 4px;
}

.therapist-step h3 {
  font-size: 22px;
}

.therapist-trial-price {
  margin-top: 38px;
}


/* =========================================================
   17. Narrowing
   ========================================================= */

.therapist-narrowing .ai-note {
  padding-top: 20px;
  padding-bottom: 20px;
}


/* =========================================================
   18. FAQ
   ========================================================= */

.therapist-faq-list {
  margin-top: 30px;
}

.therapist-faq-item summary {
  padding-top: 21px;
  padding-bottom: 21px;
}

.therapist-faq-answer {
  padding-bottom: 24px;
}


/* =========================================================
   19. 最終CTA
   「紺の中に紺の箱」をやめる
   ========================================================= */

.therapist-final-action {
  padding-top: 76px;
  padding-bottom: 76px;
}

.therapist-final-cta {
  padding: 0;

  background: transparent;

  border: 0;
  border-radius: 0;

  box-shadow: none;
}

.therapist-final-cta h2 {
  margin-bottom: 30px;
}

.therapist-final-cta .ai-button {
  margin-top: 20px;
}


/* =========================================================
   20. スマホ
   ========================================================= */

@media (max-width: 700px) {

  .therapist-problem,
  .therapist-affinity,
  .therapist-solution,
  .therapist-benefit,
  .therapist-evidence-intro,
  .therapist-history,
  .therapist-dropout-story,
  .therapist-analysis-story,
  .therapist-roles,
  .therapist-contents-intro,
  .therapist-fascia-detail,
  .therapist-fascia-mechanism,
  .therapist-contents-conclusion,
  .therapist-offer,
  .therapist-trial-flow,
  .therapist-narrowing,
  .therapist-faq {
    padding-top: 50px;
    padding-bottom: 50px;
  }


  /* FV */

  .therapist-fv-copy {
    padding-top: 46px;
    padding-bottom: 42px;
  }

  .ai-page-canvas .therapist-fv-title {
    font-size: 34px;
    line-height: 1.45;
  }


  /* リード */

  .therapist-lead-section {
    padding-top: 38px;
    padding-bottom: 42px;
  }

  .ai-page-canvas .therapist-lead p {
    margin-bottom: 0.9em;
  }

  .ai-page-canvas .therapist-lead .therapist-lead-main {
    font-size: 21px;
  }

  .ai-page-canvas .therapist-lead .therapist-lead-question {
    margin-top: 22px;
    padding-top: 22px;
  }


  /* 制作メモ */

  .therapist-production-note {
    margin-top: 20px;
    margin-bottom: 24px;

    padding: 12px 14px;

    font-size: 13px;
  }


  /* Affinity */

  .therapist-affinity-story {
    margin-top: 34px;
  }

  .therapist-affinity-story h3 {
    margin-top: 38px;
  }


  /* Evidence */

  .therapist-history,
  .therapist-dropout-story,
  .therapist-analysis-story,
  .therapist-roles {
    padding-top: 48px;
    padding-bottom: 48px;
  }


  /* 4つの関わり */

  .therapist-role-grid {
    gap: 10px;
  }

  .therapist-role-grid .ai-card {
    min-height: 125px;

    padding: 45px 10px 18px;
  }


  /* 専門部分 */

  .therapist-contents-intro h3,
  .therapist-fascia-detail h3 {
    margin-top: 36px;
  }


  /* Offer */

  .therapist-offer > .ai-container {
    margin-top: 38px;
  }

  .therapist-trial-summary {
    gap: 10px;
  }


  /* STEP */

  .therapist-step-grid {
    gap: 14px;
  }

  .therapist-step {
    padding: 24px 20px 22px;
  }


  /* FAQ */

  .therapist-faq-list {
    margin-top: 24px;
  }


  /* 最終CTA */

  .therapist-final-action {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .therapist-final-cta {
    padding: 0;
  }
}

/* =========================================================
   /therapist/
   Evidence見出し位置を本文幅へ統一
   ========================================================= */

.therapist-history > .ai-container > h2,
.therapist-dropout-story > .ai-container > h2,
.therapist-roles > .ai-container > h2 {
  width: min(100%, 780px);
  margin-left: auto;
  margin-right: auto;
}

/* /therapist/ FV直下リード 最終調整 */

.ai-page-canvas .therapist-lead p {
  margin-bottom: 0.85em;
}

.ai-page-canvas .therapist-lead .therapist-lead-main {
  margin-bottom: 1.15em;
}

.ai-page-canvas .therapist-lead .therapist-lead-question {
  margin-top: 24px;
  padding-top: 0;

  border-top: 0;

  color: var(--ai-navy);

  font-size: 22px;
  font-weight: 800;
  line-height: 1.75;
}

/* =========================================================
   /therapist/
   FV直下リード・最後の問いかけ
   パターン②：淡い青背景
   ========================================================= */

.ai-page-canvas .therapist-lead .therapist-lead-question {
  margin-top: 30px;
  padding: 24px 28px;

  color: var(--ai-navy);
  background: var(--ai-sky);

  border: 0;
  border-radius: var(--ai-radius-card);

  font-size: 24px;
  font-weight: 800;
  line-height: 1.75;

  text-align: center;
}

@media (max-width: 700px) {

  .ai-page-canvas .therapist-lead .therapist-lead-question {
    margin-top: 26px;
    padding: 20px 18px;

    font-size: 21px;
    line-height: 1.75;

    text-align: center;
  }

}

/* =========================================================
   /therapist/
   Problem 2＋4構成
   ========================================================= */

.therapist-problem-core {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 18px;

  margin-top: 34px;
}

.therapist-problem-core-item {
  position: relative;

  min-height: 180px;

  padding: 58px 28px 28px;

  background: var(--ai-white);

  border: 1px solid var(--ai-line);
  border-top: 5px solid var(--ai-blue);
  border-radius: var(--ai-radius-card);

  box-shadow:
    0 10px 28px rgba(9, 39, 70, 0.09);
}

.therapist-problem-core-number {
  position: absolute;
  top: 22px;
  left: 28px;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.ai-page-canvas .therapist-problem-core-item p {
  margin: 0;

  color: var(--ai-navy);

  font-size: 21px;
  font-weight: 700;
  line-height: 1.75;
}

.therapist-problem-list-secondary {
  margin-top: 20px;

  background: transparent;

  border: 0;
  border-radius: 0;

  box-shadow: none;
}

.therapist-problem-list-secondary li {
  padding: 16px 16px 16px 45px;

  background: rgba(255, 255, 255, 0.68);

  border: 0;
  border-bottom: 1px solid var(--ai-line);
}

.therapist-problem-list-secondary li:first-child {
  border-top: 1px solid var(--ai-line);
}

.therapist-problem-list-secondary li::before {
  top: 27px;
  left: 18px;
}

.therapist-problem .ai-conclusion-line {
  margin-top: 34px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-problem-core {
    grid-template-columns: 1fr;

    gap: 14px;

    margin-top: 28px;
  }

  .therapist-problem-core-item {
    min-height: 0;

    padding: 52px 22px 24px;
  }

  .therapist-problem-core-number {
    top: 18px;
    left: 22px;
  }

  .ai-page-canvas .therapist-problem-core-item p {
    font-size: 19px;
    line-height: 1.7;
  }

  .therapist-problem-list-secondary {
    margin-top: 16px;
  }

  .therapist-problem-list-secondary li {
    padding: 15px 14px 15px 42px;

    font-size: 16px;
  }

  .therapist-problem-list-secondary li::before {
    top: 25px;
    left: 17px;
  }

}

/* =========================================================
   /therapist/
   Problem 核心2項目 最終調整
   ========================================================= */

.therapist-problem .ai-priority-item {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;

  padding: 26px 0;
}

.therapist-problem .ai-priority-item p {
  font-size: 22px;
  line-height: 1.75;
}

.therapist-problem .ai-priority-keyword {
  display: inline;

  margin: 0 0.15em;

  font-size: 29px;
  line-height: inherit;
}

.therapist-problem .ai-priority-number {
  padding-top: 7px;
}


/* スマホ */
@media (max-width: 700px) {

  .therapist-problem .ai-priority-item {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
  }

  .therapist-problem .ai-priority-item p {
    font-size: 19px;
    line-height: 1.7;
  }

  .therapist-problem .ai-priority-keyword {
    font-size: 24px;
  }

}

/* =========================================================
   /therapist/
   Problem 01〜06 横ライン構成
   ========================================================= */

.therapist-problem-priority {
  margin-top: 34px;
}

.therapist-problem .ai-priority-item {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;

  padding: 24px 0;
}

.therapist-problem .ai-priority-number {
  padding-top: 5px;
}


/* 01・02：このページの主問題 */

.therapist-problem .therapist-problem-primary p {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.75;
}

.therapist-problem .therapist-problem-primary .ai-priority-keyword {
  display: inline;

  margin: 0 0.12em;

  font-size: 29px;
  line-height: inherit;
}


/* 03〜06：派生する問題
   01・02より一段弱く見せる */

.therapist-problem .therapist-problem-secondary {
  padding-top: 18px;
  padding-bottom: 18px;
}

.therapist-problem .therapist-problem-secondary p {
  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
}

.therapist-problem .therapist-problem-secondary .ai-priority-number {
  color: var(--ai-blue);

  font-size: 14px;
}


/* 結論 */

.therapist-problem .ai-conclusion-line {
  margin-top: 34px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-problem-priority {
    margin-top: 28px;
  }

  .therapist-problem .ai-priority-item {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 7px;
  }

  .therapist-problem .therapist-problem-primary {
    padding-top: 21px;
    padding-bottom: 21px;
  }

  .therapist-problem .therapist-problem-primary p {
    font-size: 19px;
    line-height: 1.7;
  }

  .therapist-problem .therapist-problem-primary .ai-priority-keyword {
    font-size: 24px;
  }

  .therapist-problem .therapist-problem-secondary {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .therapist-problem .therapist-problem-secondary p {
    font-size: 17px;
    line-height: 1.7;
  }

}

/* Problem 03〜06の番号サイズを01・02と統一 */

.therapist-problem .therapist-problem-secondary .ai-priority-number {
  font-size: 16px;
}

@media (max-width: 700px) {
  .therapist-problem .therapist-problem-secondary .ai-priority-number {
    font-size: 16px;
  }
}

/* Problem 番号を01〜06すべて統一 */

.therapist-problem .ai-priority-number {
  color: var(--ai-blue);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding-top: 5px;
}

@media (max-width: 700px) {
  .therapist-problem .ai-priority-number {
    font-size: 16px;
    padding-top: 4px;
  }
}

/* =========================================================
   /therapist/
   Evidence 2本柱の番号表示
   ========================================================= */

.therapist-evidence-card {
  position: relative;
  padding-top: 54px;
}

.therapist-evidence-number {
  position: absolute;
  top: 20px;
  left: 50%;

  color: var(--ai-blue);

  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.12em;

  transform: translateX(-50%);
}

@media (max-width: 700px) {

  .therapist-evidence-card {
    padding-top: 52px;
  }

  .therapist-evidence-number {
    top: 18px;
    font-size: 16px;
  }

}

/* =========================================================
   /therapist/
   筋膜メカニズム：個別説明 → 総括の区切り
   ========================================================= */

.therapist-mechanism-divider {
  width: 64px;
  height: 4px;

  margin: 42px 0 30px;

  background: var(--ai-blue);
  border-radius: 999px;
}

.ai-page-canvas .therapist-mechanism-summary {
  margin-bottom: 28px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-mechanism-divider {
    width: 52px;
    height: 3px;

    margin-top: 34px;
    margin-bottom: 26px;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション：重要ポイントを横ラインで拾わせる
   ========================================================= */

.therapist-contents-conclusion .therapist-navy-points {
  margin: 30px 0 34px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.therapist-contents-conclusion .therapist-navy-point {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 24px;
  align-items: center;

  padding: 22px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.therapist-contents-conclusion .therapist-navy-point-label {
  color: #9fd8f4;

  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.therapist-contents-conclusion .therapist-navy-point p {
  margin: 0;

  color: #fff;

  font-size: 19px;
  font-weight: 500;
  line-height: 1.8;
}

.therapist-contents-conclusion .therapist-navy-point strong {
  color: #fff;
  font-weight: 800;
}

.therapist-contents-conclusion .therapist-navy-points-example {
  margin-top: 28px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-contents-conclusion .therapist-navy-points {
    margin-top: 26px;
    margin-bottom: 30px;
  }

  .therapist-contents-conclusion .therapist-navy-point {
    grid-template-columns: 1fr;
    gap: 7px;

    padding: 19px 0;
  }

  .therapist-contents-conclusion .therapist-navy-point-label {
    font-size: 13px;
  }

  .therapist-contents-conclusion .therapist-navy-point p {
    font-size: 17px;
    line-height: 1.75;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション：文字そのものをビジュアル化
   ========================================================= */


/* -----------------------------------------
   手応え / 納得
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 46px;

  margin: 38px 0 42px;
  padding: 32px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.therapist-contents-conclusion .therapist-navy-feature {
  min-width: 0;
}

.therapist-contents-conclusion .therapist-navy-feature-label {
  display: block;

  margin-bottom: 14px;

  color: #9fd8f4;

  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.therapist-contents-conclusion .therapist-navy-feature-copy {
  margin: 0;

  color: #fff;

  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
}

.therapist-contents-conclusion .therapist-navy-feature-copy strong {
  display: block;

  margin: 7px 0 5px;

  color: #fff;

  font-size: 28px;
  font-weight: 800;
  line-height: 1.45;
}

.therapist-contents-conclusion .therapist-navy-feature-copy span {
  display: block;
}


/* -----------------------------------------
   15年 / 次回どうしますか？
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 46px;

  margin: 38px 0 42px;
  padding: 32px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.therapist-contents-conclusion .therapist-navy-result {
  min-width: 0;
}

.therapist-contents-conclusion .therapist-navy-result-label {
  display: block;

  margin-bottom: 14px;

  color: #9fd8f4;

  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.therapist-contents-conclusion .therapist-navy-result-copy {
  margin: 0;

  color: #fff;

  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
}

.therapist-contents-conclusion .therapist-navy-result-big {
  display: block;

  margin: 7px 0 2px;

  color: #fff;

  font-size: 48px;
  font-weight: 800;
  line-height: 1.15;
}

.therapist-contents-conclusion .therapist-navy-result-quote {
  display: block;

  margin: 8px 0 7px;

  color: #fff;

  font-size: 24px;
  font-weight: 800;
  line-height: 1.5;
}

.therapist-contents-conclusion .therapist-navy-result-copy span {
  display: block;
}


/* -----------------------------------------
   スマホ
   ----------------------------------------- */

@media (max-width: 700px) {

  .therapist-contents-conclusion .therapist-navy-feature-grid,
  .therapist-contents-conclusion .therapist-navy-result-grid {
    grid-template-columns: 1fr;
    gap: 0;

    margin-top: 30px;
    margin-bottom: 34px;
    padding: 0;

    border-top: 1px solid rgba(255, 255, 255, 0.22);
  }

  .therapist-contents-conclusion .therapist-navy-feature,
  .therapist-contents-conclusion .therapist-navy-result {
    padding: 25px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  }

  .therapist-contents-conclusion .therapist-navy-feature-label,
  .therapist-contents-conclusion .therapist-navy-result-label {
    margin-bottom: 10px;

    font-size: 13px;
  }

  .therapist-contents-conclusion .therapist-navy-feature-copy,
  .therapist-contents-conclusion .therapist-navy-result-copy {
    font-size: 16px;
    line-height: 1.75;
  }

  .therapist-contents-conclusion .therapist-navy-feature-copy strong {
    margin-top: 6px;

    font-size: 25px;
    line-height: 1.45;
  }

  .therapist-contents-conclusion .therapist-navy-result-big {
    margin-top: 5px;

    font-size: 44px;
  }

  .therapist-contents-conclusion .therapist-navy-result-quote {
    margin-top: 6px;

    font-size: 22px;
    line-height: 1.5;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション：治療が楽しくなる流れ
   ========================================================= */

.therapist-contents-conclusion .therapist-navy-flow {
  margin: 38px 0 44px;
  padding: 30px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);

  text-align: center;
}

.therapist-contents-conclusion .therapist-navy-flow-item {
  color: #b9e5f8;

  font-size: 22px;
  font-weight: 800;
  line-height: 1.55;
}

.therapist-contents-conclusion .therapist-navy-flow-arrow {
  margin: 5px 0;

  color: rgba(255, 255, 255, 0.45);

  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.therapist-contents-conclusion .therapist-navy-flow-goal {
  margin-top: 6px;

  color: #fff;

  font-size: 27px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-contents-conclusion .therapist-navy-flow {
    margin: 30px 0 36px;
    padding: 25px 0;
  }

  .therapist-contents-conclusion .therapist-navy-flow-item {
    font-size: 19px;
    line-height: 1.55;
  }

  .therapist-contents-conclusion .therapist-navy-flow-arrow {
    margin: 4px 0;

    font-size: 18px;
  }

  .therapist-contents-conclusion .therapist-navy-flow-goal {
    margin-top: 5px;

    font-size: 23px;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション：4つの重要ポイントカード
   ========================================================= */

.therapist-contents-conclusion .therapist-navy-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;

  margin: 34px 0 38px;
}

.therapist-contents-conclusion .therapist-navy-card {
  padding: 26px 26px 24px;

  background: rgba(255, 255, 255, 0.075);
  border-radius: 14px;
}

.therapist-contents-conclusion .therapist-navy-card-label {
  display: block;

  margin-bottom: 13px;

  color: #9fd8f4;

  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.therapist-contents-conclusion .therapist-navy-card-main {
  margin: 0 0 9px;

  color: #fff;

  font-size: 25px;
  font-weight: 800;
  line-height: 1.45;
}

.therapist-contents-conclusion .therapist-navy-card-text {
  margin: 0;

  color: rgba(255, 255, 255, 0.92);

  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

.therapist-contents-conclusion .therapist-navy-card-number {
  font-size: 42px;
  line-height: 1.15;
}

.therapist-contents-conclusion .therapist-navy-card-quote {
  font-size: 22px;
}

.therapist-contents-conclusion .therapist-navy-card-grid-results {
  margin-top: 32px;
}


/* スマホ */

@media (max-width: 700px) {

  .therapist-contents-conclusion .therapist-navy-card-grid {
    grid-template-columns: 1fr;
    gap: 14px;

    margin-top: 28px;
    margin-bottom: 32px;
  }

  .therapist-contents-conclusion .therapist-navy-card {
    padding: 22px 20px 21px;
  }

  .therapist-contents-conclusion .therapist-navy-card-label {
    margin-bottom: 10px;

    font-size: 13px;
  }

  .therapist-contents-conclusion .therapist-navy-card-main {
    margin-bottom: 7px;

    font-size: 22px;
  }

  .therapist-contents-conclusion .therapist-navy-card-text {
    font-size: 16px;
    line-height: 1.7;
  }

  .therapist-contents-conclusion .therapist-navy-card-number {
    font-size: 38px;
  }

  .therapist-contents-conclusion .therapist-navy-card-quote {
    font-size: 21px;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション最終調整
   ・カードをブランドブルーへ
   ・罫線を撤去
   ・余白で区切る
   ・体験への橋渡しを強調
   ========================================================= */


/* カード色 */

.therapist-contents-conclusion .therapist-navy-card {
  background: #173F61;
  border: 0;
}


/* セクション内の不要な罫線を撤去 */

.therapist-contents-conclusion .therapist-navy-card-grid,
.therapist-contents-conclusion .therapist-navy-card,
.therapist-contents-conclusion h3,
.therapist-contents-conclusion .ai-navy-lead,
.therapist-contents-conclusion .therapist-offer-bridge {
  border-top: 0;
  border-bottom: 0;
}


/* H3前後は罫線ではなく余白で区切る */

.ai-page-canvas .therapist-contents-conclusion h3 {
  margin-top: 52px;
  padding-top: 0;
}


/* 最終結論 */

.ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
  margin-top: 42px;
}


/* 次セクションへの橋渡し */

.ai-page-canvas .therapist-contents-conclusion .therapist-offer-bridge {
  margin-top: 42px;
  padding-top: 0;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
}


/* スマホ */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-contents-conclusion h3 {
    margin-top: 44px;
  }

  .ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
    margin-top: 36px;
  }

  .ai-page-canvas .therapist-contents-conclusion .therapist-offer-bridge {
    margin-top: 36px;

    font-size: 19px;
    line-height: 1.7;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション 最終調整
   ・H3を見出しとして明確化
   ・カードラベルを読みやすく
   ・罫線を使わず余白で構成
   ・最後を水色のトランジション帯へ
   ========================================================= */


/* -----------------------------------------
   カード
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-card {
  background: #173F61;
  border: 0;
}


/* カード上部の小見出し */

.therapist-contents-conclusion .therapist-navy-card-label {
  display: block;

  margin-bottom: 12px;

  color: #B8E3F7;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.02em;
}


/* -----------------------------------------
   H3
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion h3 {
  margin-top: 54px;
  margin-bottom: 24px;
  padding: 0;

  border: 0;

  color: #fff;

  font-size: 26px;
  font-weight: 800;
  line-height: 1.5;
}


/* -----------------------------------------
   不要な罫線をすべて無効化
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-card-grid,
.therapist-contents-conclusion .therapist-navy-card,
.therapist-contents-conclusion .ai-navy-lead,
.therapist-contents-conclusion .therapist-offer-bridge {
  border-top: 0;
  border-bottom: 0;
}


/* -----------------------------------------
   最終結論
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
  margin-top: 42px;
  margin-bottom: 0;
}


/* -----------------------------------------
   治療体験へのトランジション帯
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion {
  padding-bottom: 0;
}

.therapist-contents-conclusion .therapist-offer-transition {
  width: 100%;

  margin-top: 48px;
  padding: 27px 20px 29px;

  background: var(--ai-sky);
}

.ai-page-canvas
.therapist-contents-conclusion
.therapist-offer-transition
.therapist-offer-bridge {
  margin: 0;
  padding: 0;

  color: var(--ai-navy);

  font-size: 21px;
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
}


/* -----------------------------------------
   スマホ
   ----------------------------------------- */

@media (max-width: 700px) {

  .therapist-contents-conclusion .therapist-navy-card-label {
    margin-bottom: 10px;

    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .ai-page-canvas .therapist-contents-conclusion h3 {
    margin-top: 46px;
    margin-bottom: 21px;

    font-size: 22px;
    line-height: 1.5;
  }

  .ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
    margin-top: 36px;
  }

  .therapist-contents-conclusion .therapist-offer-transition {
    margin-top: 40px;
    padding: 23px 18px 25px;
  }

  .ai-page-canvas
  .therapist-contents-conclusion
  .therapist-offer-transition
  .therapist-offer-bridge {
    font-size: 19px;
    line-height: 1.7;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション 最終調整
   ========================================================= */


/* -----------------------------------------
   前回のトランジション帯を解除
   濃紺セクション内で完結させる
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion {
  padding-bottom: 72px;
}


/* -----------------------------------------
   4つのカード
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-card {
  background: #173F61;
  border: 0;
}


/* カード上部の見出し */

.therapist-contents-conclusion .therapist-navy-card-label {
  display: block;

  margin-bottom: 12px;

  color: #B8E3F7;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.01em;
}


/* -----------------------------------------
   H3
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion h3 {
  margin-top: 54px;
  margin-bottom: 24px;
  padding: 0;

  border: 0;

  color: #fff;

  font-size: 26px;
  font-weight: 800;
  line-height: 1.5;
}


/* -----------------------------------------
   罫線は使わない
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-navy-card-grid,
.therapist-contents-conclusion .therapist-navy-card,
.therapist-contents-conclusion .ai-navy-lead,
.therapist-contents-conclusion .therapist-offer-bridge,
.therapist-contents-conclusion .therapist-offer-bridge-card {
  border: 0;
}


/* -----------------------------------------
   「仕事そのものがもっと楽しくなる」
   ----------------------------------------- */

.ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
  margin-top: 42px;
  margin-bottom: 0;
}


/* -----------------------------------------
   次の治療体験への橋渡し
   ----------------------------------------- */

.therapist-contents-conclusion .therapist-offer-bridge-card {
  margin-top: 42px;
  padding: 25px 28px;

  background: #1F5278;
  border-radius: 14px;
}

.ai-page-canvas
.therapist-contents-conclusion
.therapist-offer-bridge-card
.therapist-offer-bridge {
  margin: 0;
  padding: 0;

  background: transparent;

  color: #fff;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
}


/* -----------------------------------------
   スマホ
   ----------------------------------------- */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-contents-conclusion {
    padding-bottom: 52px;
  }

  .therapist-contents-conclusion .therapist-navy-card-label {
    margin-bottom: 10px;

    font-size: 15px;
    font-weight: 700;
  }

  .ai-page-canvas .therapist-contents-conclusion h3 {
    margin-top: 46px;
    margin-bottom: 21px;

    font-size: 22px;
    line-height: 1.5;
  }

  .ai-page-canvas .therapist-contents-conclusion .ai-navy-lead {
    margin-top: 36px;
  }

  .therapist-contents-conclusion .therapist-offer-bridge-card {
    margin-top: 36px;
    padding: 21px 18px;

    border-radius: 12px;
  }

  .ai-page-canvas
  .therapist-contents-conclusion
  .therapist-offer-bridge-card
  .therapist-offer-bridge {
    font-size: 19px;
    line-height: 1.7;
  }

}

/* =========================================================
   /therapist/
   濃紺セクション
   H3サイズ＋体験への橋渡しカード最終調整
   ========================================================= */


/* H3をしっかり見出しとして見せる */

.ai-page-canvas .therapist-contents-conclusion h3 {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.5;
}


/* 最後の橋渡しは4カードと明確に別デザイン */

.ai-page-canvas
.therapist-contents-conclusion
.therapist-offer-bridge-card {
  background: #EAF5FB;
  border: 0;
}

.ai-page-canvas
.therapist-contents-conclusion
.therapist-offer-bridge-card
.therapist-offer-bridge {
  color: var(--ai-navy);
  background: transparent;
}


/* スマホ */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-contents-conclusion h3 {
    font-size: 24px;
    line-height: 1.5;
  }

}

/* =========================================================
   共通H3サイズ調整
   ＋ /therapist/ 体験への橋渡し文字色
   ========================================================= */


/* -----------------------------------------
   サイト全体のH3
   ----------------------------------------- */

.ai-page-canvas h3 {
  font-size: 30px;
}


/* -----------------------------------------
   /therapist/
   「ただ、実際に受けてみないと〜」
   水色背景＋ブランドブルー文字
   ----------------------------------------- */

.ai-page-canvas
.therapist-contents-conclusion
.therapist-offer-bridge-card
.therapist-offer-bridge {
  color: var(--ai-blue);
}


/* -----------------------------------------
   スマホ
   ----------------------------------------- */

@media (max-width: 700px) {

  .ai-page-canvas h3 {
    font-size: 24px;
  }

}

/* =========================================================
   /therapist/
   まとめて調整 2026-08-26

   1. 「筋膜を揉みほぐしても緩まない理由」の上余白
   2. 治療体験4カードのラベル拡大
   3. 治療体験案内を3項目へ再構成
   ========================================================= */


/* =========================================================
   1.
   青線付き結論 → 次のH3の間を広げる
   ========================================================= */

.ai-page-canvas
.therapist-fascia-detail
.ai-conclusion-line + h3 {
  margin-top: 70px;
}


/* =========================================================
   2.
   料金 / 回数 / 場所 / 終了後
   ラベルを読みやすく
   ========================================================= */

.ai-page-canvas
.therapist-trial-summary
.therapist-trial-summary-label {
  display: block;

  margin-bottom: 8px;

  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}


/* =========================================================
   3.
   治療体験の案内
   2項目 → 3項目
   上2枚＋スクール案内1枚
   ========================================================= */

.ai-page-canvas .therapist-trial-routes-3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;

  margin-top: 42px;
}


/* 各案内カード */

.ai-page-canvas
.therapist-trial-routes-3
.therapist-trial-route {
  min-width: 0;
  padding: 30px;

  background: #fff;

  border: 0;
  border-radius: var(--ai-radius-card);

  box-shadow: var(--ai-shadow);
}


/* 3枚目だけ横幅いっぱい */

.ai-page-canvas
.therapist-trial-routes-3
.therapist-trial-route-school {
  grid-column: 1 / -1;

  max-width: none;
}


/* カード上部ラベル */

.ai-page-canvas
.therapist-trial-route
.therapist-trial-route-label {
  display: inline-block;

  margin-bottom: 14px;
  padding: 5px 11px;

  color: var(--ai-blue);
  background: var(--ai-sky);

  border-radius: 6px;

  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}


/* カード見出し
   共通H3＝30pxとは役割が違うため、
   カード内だけ少し抑える */

.ai-page-canvas
.therapist-trial-route h3 {
  margin: 0 0 18px;

  font-size: 24px;
  font-weight: 800;
  line-height: 1.5;
}


/* カード本文 */

.ai-page-canvas
.therapist-trial-route p {
  margin-bottom: 16px;
}

.ai-page-canvas
.therapist-trial-route p:last-child {
  margin-bottom: 0;
}


/* スクール案内は
   直後の3STEPと混同しないよう番号なし */

.ai-page-canvas
.therapist-trial-route-school {
  padding-top: 32px;
  padding-bottom: 32px;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  /* 1. H3前余白 */

  .ai-page-canvas
  .therapist-fascia-detail
  .ai-conclusion-line + h3 {
    margin-top: 54px;
  }


  /* 2. 料金などのラベル */

  .ai-page-canvas
  .therapist-trial-summary
  .therapist-trial-summary-label {
    margin-bottom: 7px;

    font-size: 17px;
  }


  /* 3. 3つの案内 */

  .ai-page-canvas .therapist-trial-routes-3 {
    grid-template-columns: 1fr;
    gap: 16px;

    margin-top: 34px;
  }

  .ai-page-canvas
  .therapist-trial-routes-3
  .therapist-trial-route-school {
    grid-column: auto;
  }

  .ai-page-canvas
  .therapist-trial-routes-3
  .therapist-trial-route {
    padding: 24px 20px;
  }

  .ai-page-canvas
  .therapist-trial-route
  .therapist-trial-route-label {
    margin-bottom: 12px;

    font-size: 14px;
  }

  .ai-page-canvas
  .therapist-trial-route h3 {
    margin-bottom: 16px;

    font-size: 22px;
  }

}

/* =========================================================
   /therapist/
   治療体験エリア レイアウト修正
   ========================================================= */


/* ---------------------------------------------------------
   料金 / 回数 / 場所 / 終了後
   4カード表示へ戻す
   --------------------------------------------------------- */

.ai-page-canvas .therapist-trial-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;

  margin-top: 30px;
}

.ai-page-canvas
.therapist-trial-summary
.therapist-trial-summary-item {
  padding: 22px 16px;

  background: #fff;

  border: 1px solid var(--ai-line);
  border-radius: 12px;

  text-align: center;
}

.ai-page-canvas
.therapist-trial-summary
.therapist-trial-summary-label {
  display: inline-block;

  margin-bottom: 14px;
  padding: 8px 14px;

  color: #fff;
  background: var(--ai-navy);

  border-radius: 5px;

  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}

.ai-page-canvas
.therapist-trial-summary
.therapist-trial-summary-item strong {
  display: block;

  color: var(--ai-navy);

  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
}


/* ---------------------------------------------------------
   治療体験 / 希望者のみ / スクール
   PCは3カード横並び
   --------------------------------------------------------- */

.ai-page-canvas .therapist-trial-routes-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.ai-page-canvas
.therapist-trial-routes-3
.therapist-trial-route-school {
  grid-column: auto;

  max-width: none;
}


/* ---------------------------------------------------------
   タブレット以下
   --------------------------------------------------------- */

@media (max-width: 900px) {

  .ai-page-canvas .therapist-trial-routes-3 {
    grid-template-columns: 1fr;
  }

}


/* ---------------------------------------------------------
   スマホ
   --------------------------------------------------------- */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-trial-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .ai-page-canvas
  .therapist-trial-summary
  .therapist-trial-summary-item {
    padding: 18px 10px;
  }

  .ai-page-canvas
  .therapist-trial-summary
  .therapist-trial-summary-label {
    margin-bottom: 11px;
    padding: 7px 11px;

    font-size: 17px;
  }

  .ai-page-canvas
  .therapist-trial-summary
  .therapist-trial-summary-item strong {
    font-size: 17px;
  }

}

/* =========================================================
   /therapist/
   治療体験の流れ・料金・注意文
   元デザイン復元
   ========================================================= */


/* ---------------------------------------------------------
   治療体験の流れ
   --------------------------------------------------------- */

.ai-page-canvas .therapist-flow-restored {
  padding: 62px 0 70px;
  background: #ffffff;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-title {
  margin: 0 0 30px;
  text-align: center;
}


/* STEPカード */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;

  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card {
  padding: 23px 18px 20px;

  background: #ffffff;

  border: 1px solid #d7e0e8;
  border-top: 3px solid var(--ai-blue);
  border-radius: 8px;

  box-shadow: none;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-step {
  display: block;

  margin-bottom: 14px;

  color: var(--ai-blue);

  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card h3 {
  margin: 0 0 7px;

  color: var(--ai-navy);

  font-size: 20px;
  font-weight: 800;
  line-height: 1.5;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-time {
  margin: 0 0 17px;

  color: var(--ai-muted);

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card p:not(.therapist-flow-restored-time) {
  margin: 0 0 14px;

  font-size: 15px;
  line-height: 1.8;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------
   料金ボックス
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price {
  width: 100%;
  max-width: 600px;

  margin: 30px auto 0;
  padding: 35px 32px 30px;

  background: #ffffff;

  border: 1px solid var(--ai-navy);
  border-top: 6px solid var(--ai-gold);

  text-align: center;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price-label {
  display: block;

  margin-bottom: 8px;

  color: var(--ai-navy);

  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price-main {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 8px;

  color: var(--ai-navy);
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price-main strong {
  font-family: Arial, sans-serif;
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price-main span {
  font-size: 14px;
  font-weight: 700;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-price-normal {
  margin: 22px 0 0;
  padding-top: 16px;

  color: var(--ai-muted);

  border-top: 1px solid var(--ai-line);

  font-size: 14px;
  line-height: 1.5;
}


/* ---------------------------------------------------------
   料金下の注意・案内
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-narrowing.therapist-narrowing-restored {
  padding: 48px 0 52px;

  background: #f4f6f8;
}

.ai-page-canvas
.therapist-narrowing-restored
.therapist-narrowing-restored-box {
  padding-left: 24px;

  border-left: 3px solid #c8d2dc;
}

.ai-page-canvas
.therapist-narrowing-restored
.therapist-narrowing-restored-box p {
  margin: 0 0 20px;

  font-size: 18px;
  line-height: 1.9;
}

.ai-page-canvas
.therapist-narrowing-restored
.therapist-narrowing-restored-box p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-flow-restored {
    padding: 48px 0 52px;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-title {
    margin-bottom: 24px;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-grid {
    grid-template-columns: 1fr;
    gap: 14px;

    max-width: 100%;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card {
    padding: 21px 18px;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card h3 {
    font-size: 20px;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card p:not(.therapist-flow-restored-time) {
    font-size: 16px;
    line-height: 1.85;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-price {
    margin-top: 22px;
    padding: 30px 18px 26px;
  }

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-price-main strong {
    font-size: 40px;
  }

  .ai-page-canvas
  .therapist-narrowing.therapist-narrowing-restored {
    padding: 40px 0 44px;
  }

  .ai-page-canvas
  .therapist-narrowing-restored
  .therapist-narrowing-restored-box {
    padding-left: 17px;
  }

  .ai-page-canvas
  .therapist-narrowing-restored
  .therapist-narrowing-restored-box p {
    margin-bottom: 17px;

    font-size: 16px;
    line-height: 1.85;
  }

}

/* =========================================================
   /therapist/
   最終Action
   FAQ後の締めセクション
   ========================================================= */


/* ---------------------------------------------------------
   FAQ → 最終Action
   最終コンテンツとフッターを明確に分離
   --------------------------------------------------------- */

.ai-page-canvas .therapist-final-action {
  padding: 76px 0 86px;

  color: var(--ai-ink);
  background: var(--ai-sky);
}


/* ---------------------------------------------------------
   見出し
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-final-action h2 {
  margin: 0 0 36px;

  color: var(--ai-navy);

  text-align: center;
}


/* ---------------------------------------------------------
   本文
   中央揃えをやめて普通に読ませる
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body {
  width: 100%;
  max-width: 720px;

  margin: 0 auto;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p {
  margin: 0 0 24px;

  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 400;
  line-height: 1.9;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------
   最終CTA
   このページのゴールなので大きくする
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-final-action
.therapist-final-action-cta {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: 44px;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 520px;
  min-height: 76px;

  margin: 0;
  padding: 18px 60px 18px 30px;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;

  text-align: center;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-final-action {
    padding: 54px 0 62px;
  }


  .ai-page-canvas
  .therapist-final-action h2 {
    margin-bottom: 28px;

    text-align: center;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-body p {
    margin-bottom: 20px;

    font-size: 18px;
    line-height: 1.85;

    text-align: left;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-cta {
    margin-top: 36px;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-button {
    width: 100%;
    max-width: 100%;
    min-height: 70px;

    padding: 17px 52px 17px 22px;

    font-size: 19px;
    line-height: 1.45;
  }

}

/* =========================================================
   /therapist/
   FAQ横幅修正 ＋ 最終Action確定版
   ========================================================= */


/* ---------------------------------------------------------
   FAQ
   本文と同じ780px幅へ戻す
   --------------------------------------------------------- */

.ai-page-canvas .therapist-faq-section {
  padding: 64px 0 70px;
  background: #ffffff;
}

.ai-page-canvas
.therapist-faq-section
.faq-section {
  width: 100%;
  margin: 0;
  padding: 0;

  background: transparent;
}

.ai-page-canvas
.therapist-faq-section
.faq-title {
  margin: 0 !important;

  color: var(--ai-navy);

  font-size: 38px;
  line-height: 1.45;
  text-align: center;

  border: 0 !important;
}

.ai-page-canvas
.therapist-faq-section
.faq-subtitle {
  margin: 8px 0 30px;

  color: var(--ai-blue);

  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.08em;

  text-align: center;
}

.ai-page-canvas
.therapist-faq-section
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ai-page-canvas
.therapist-faq-section
.faq-item {
  overflow: hidden;

  background: #ffffff;

  border: 1px solid var(--ai-line);
  border-radius: 8px;
}

.ai-page-canvas
.therapist-faq-section
.faq-question {
  display: flex;
  align-items: center;
  gap: 14px;

  width: 100%;
  padding: 18px 20px;

  cursor: pointer;
}

.ai-page-canvas
.therapist-faq-section
.faq-q {
  flex: 0 0 auto;

  color: var(--ai-blue);

  font-size: 19px;
  font-weight: 800;
  line-height: 1.4;
}

.ai-page-canvas
.therapist-faq-section
.faq-q-text {
  flex: 1;

  color: var(--ai-navy);

  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}

.ai-page-canvas
.therapist-faq-section
.faq-icon {
  flex: 0 0 auto;

  color: var(--ai-muted);

  font-size: 13px;

  transition: transform 0.25s ease;
}

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-icon {
  transform: rotate(180deg);
}

.ai-page-canvas
.therapist-faq-section
.faq-answer {
  display: none;

  padding: 20px 22px;

  background: #f8fafc;

  border-top: 1px solid var(--ai-line);
}

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-answer {
  display: block;
}

.ai-page-canvas
.therapist-faq-section
.faq-answer p {
  margin: 0 0 14px;

  font-size: 17px;
  line-height: 1.85;
}

.ai-page-canvas
.therapist-faq-section
.faq-answer p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------
   最終Action
   --------------------------------------------------------- */

.ai-page-canvas .therapist-final-action {
  padding: 76px 0 86px;

  color: var(--ai-ink);
  background: var(--ai-sky);
}

.ai-page-canvas
.therapist-final-action h2 {
  margin: 0 0 36px;

  color: var(--ai-navy);

  text-align: center;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body {
  width: 100%;
  max-width: 720px;

  margin: 0 auto;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p {
  margin: 0 0 24px;

  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 400;
  line-height: 1.9;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p:last-child {
  margin-bottom: 0;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-cta {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: 44px;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 520px;
  min-height: 76px;

  margin: 0;
  padding: 18px 60px 18px 30px;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;

  text-align: center;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-faq-section {
    padding: 52px 0 56px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-title {
    font-size: 28px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-subtitle {
    margin-bottom: 24px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-question {
    gap: 11px;

    padding: 17px 16px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-q {
    font-size: 18px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-q-text {
    font-size: 16px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-answer {
    padding: 18px 16px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-answer p {
    font-size: 16px;
    line-height: 1.85;
  }


  .ai-page-canvas .therapist-final-action {
    padding: 54px 0 62px;
  }

  .ai-page-canvas
  .therapist-final-action h2 {
    margin-bottom: 28px;

    text-align: center;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-body p {
    margin-bottom: 20px;

    font-size: 18px;
    line-height: 1.85;

    text-align: left;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-cta {
    margin-top: 36px;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-button {
    width: 100%;
    max-width: 100%;
    min-height: 70px;

    padding: 17px 52px 17px 22px;

    font-size: 19px;
    line-height: 1.45;
  }

}

/* =========================================================
   /therapist/
   FAQ 完全復元
   ＋ 最終Action
   ========================================================= */


/* =========================================================
   FAQ
   ========================================================= */

.ai-page-canvas .therapist-faq-section {
  padding: 68px 0 76px;

  background: #ffffff;
}


.ai-page-canvas
.therapist-faq-section
.therapist-faq-inner {
  width: 100%;
  max-width: 920px;

  margin: 0 auto;
}


/* 見出し */

.ai-page-canvas
.therapist-faq-section
.therapist-faq-title {
  margin: 0 0 44px;

  color: var(--ai-navy);

  font-size: 38px;
  font-weight: 800;
  line-height: 1.45;

  text-align: center;
}


/* FAQ一覧 */

.ai-page-canvas
.therapist-faq-section
.therapist-faq-list {
  width: 100%;

  border-top: 1px solid var(--ai-line);
}


/* 各項目
   カード化しない
   元画像どおり横線で区切る */

.ai-page-canvas
.therapist-faq-section
.faq-item {
  overflow: visible;

  margin: 0;

  background: transparent;

  border: 0;
  border-bottom: 1px solid var(--ai-line);
  border-radius: 0;
}


/* 質問行 */

.ai-page-canvas
.therapist-faq-section
.faq-question {
  display: flex;
  align-items: center;
  gap: 16px;

  width: 100%;
  min-height: 84px;

  margin: 0;
  padding: 20px 20px 20px 16px;

  color: var(--ai-navy);
  background: transparent;

  border: 0;
  border-radius: 0;

  box-shadow: none;

  font-family: inherit;

  text-align: left;

  cursor: pointer;
}


/* Q. */

.ai-page-canvas
.therapist-faq-section
.faq-q {
  flex: 0 0 auto;

  color: var(--ai-blue);

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
}


/* 質問本文 */

.ai-page-canvas
.therapist-faq-section
.faq-q-text {
  flex: 1;
  min-width: 0;

  color: var(--ai-navy);

  font-size: 20px;
  font-weight: 800;
  line-height: 1.6;
}


/* =========================================================
   右端の丸い ＋
   ========================================================= */

.ai-page-canvas
.therapist-faq-section
.faq-icon {
  position: relative;

  display: block;
  flex: 0 0 38px;

  width: 38px;
  height: 38px;

  margin-left: auto;

  color: transparent;
  background: #ffffff;

  border: 1px solid #d6e2eb;
  border-radius: 50%;

  font-size: 0;

  transform: none !important;
}


/* 横線 */

.ai-page-canvas
.therapist-faq-section
.faq-icon::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 14px;
  height: 2px;

  background: var(--ai-blue);

  transform: translate(-50%, -50%);
}


/* 縦線 */

.ai-page-canvas
.therapist-faq-section
.faq-icon::after {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 2px;
  height: 14px;

  background: var(--ai-blue);

  transform: translate(-50%, -50%);

  transition: opacity 0.2s ease;
}


/* 開いたら − */

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-icon {
  transform: none !important;
}

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-icon::after {
  opacity: 0;
}


/* 回答 */

.ai-page-canvas
.therapist-faq-section
.faq-answer {
  display: none;

  margin: 0;
  padding: 4px 72px 26px 53px;

  background: transparent;

  border: 0;
}


.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-answer {
  display: block;
}


.ai-page-canvas
.therapist-faq-section
.faq-answer p {
  margin: 0 0 14px;

  color: var(--ai-ink);

  font-size: 18px;
  line-height: 1.85;
}


.ai-page-canvas
.therapist-faq-section
.faq-answer p:last-child {
  margin-bottom: 0;
}


/* hover */

.ai-page-canvas
.therapist-faq-section
.faq-question:hover {
  background: #f8fbfd;
}


/* =========================================================
   最終Action
   ========================================================= */

.ai-page-canvas .therapist-final-action {
  padding: 76px 0 86px;

  color: var(--ai-ink);
  background: var(--ai-sky);
}


.ai-page-canvas
.therapist-final-action h2 {
  margin: 0 0 36px;

  color: var(--ai-navy);

  text-align: center;
}


/* 本文 */

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body {
  width: 100%;
  max-width: 720px;

  margin: 0 auto;

  text-align: left;
}


.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p {
  margin: 0 0 24px;

  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 400;
  line-height: 1.9;

  text-align: left;
}


.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p:last-child {
  margin-bottom: 0;
}


/* 最終CTA */

.ai-page-canvas
.therapist-final-action
.therapist-final-action-cta {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: 44px;
}


.ai-page-canvas
.therapist-final-action
.therapist-final-action-button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 520px;
  min-height: 76px;

  margin: 0;
  padding: 18px 60px 18px 30px;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;

  text-align: center;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-faq-section {
    padding: 52px 0 58px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .therapist-faq-title {
    margin-bottom: 30px;

    font-size: 28px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-question {
    gap: 11px;

    min-height: 74px;

    padding: 17px 6px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-q {
    font-size: 18px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-q-text {
    font-size: 17px;
    line-height: 1.55;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-icon {
    flex-basis: 34px;

    width: 34px;
    height: 34px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-answer {
    padding: 2px 6px 22px 38px;
  }


  .ai-page-canvas
  .therapist-faq-section
  .faq-answer p {
    font-size: 16px;
    line-height: 1.85;
  }


  /* 最終Action */

  .ai-page-canvas .therapist-final-action {
    padding: 54px 0 62px;
  }


  .ai-page-canvas
  .therapist-final-action h2 {
    margin-bottom: 28px;

    text-align: center;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-body p {
    margin-bottom: 20px;

    font-size: 18px;
    line-height: 1.85;

    text-align: left;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-cta {
    margin-top: 36px;
  }


  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-button {
    width: 100%;
    max-width: 100%;
    min-height: 70px;

    padding: 17px 52px 17px 22px;

    font-size: 19px;
    line-height: 1.45;
  }

}

/* =========================================================
   /therapist/
   FAQ＋最終Action 正式復元版
   ========================================================= */


/* =========================================================
   FAQ
   ========================================================= */

.ai-page-canvas .therapist-faq-section {
  padding: 68px 0 76px;
  background: #ffffff;
}

.ai-page-canvas
.therapist-faq-section
.therapist-faq-inner {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

.ai-page-canvas
.therapist-faq-section
.therapist-faq-title {
  margin: 0 0 44px;
  color: var(--ai-navy);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}


/* FAQ一覧 */

.ai-page-canvas
.therapist-faq-section
.therapist-faq-list {
  width: 100%;
  border-top: 1px solid var(--ai-line);
}

.ai-page-canvas
.therapist-faq-section
.faq-item {
  overflow: visible;
  margin: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ai-line);
  border-radius: 0;
}


/* 質問 */

.ai-page-canvas
.therapist-faq-section
.faq-question {
  display: flex;
  align-items: center;
  gap: 16px;

  width: 100%;
  min-height: 84px;

  margin: 0;
  padding: 20px 20px 20px 16px;

  color: var(--ai-navy);
  background: transparent;

  border: 0;
  border-radius: 0;
  box-shadow: none;

  font-family: inherit;
  text-align: left;

  cursor: pointer;
}

.ai-page-canvas
.therapist-faq-section
.faq-q {
  flex: 0 0 auto;

  color: var(--ai-blue);

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
}

.ai-page-canvas
.therapist-faq-section
.faq-q-text {
  flex: 1;
  min-width: 0;

  color: var(--ai-navy);

  font-size: 20px;
  font-weight: 800;
  line-height: 1.6;
}


/* ---------------------------------------------------------
   右端の丸い「＋」
   --------------------------------------------------------- */

.ai-page-canvas
.therapist-faq-section
.faq-icon {
  position: relative;

  display: block;
  flex: 0 0 38px;

  width: 38px;
  height: 38px;

  margin-left: auto;

  background: #ffffff;

  border: 1px solid #d6e2eb;
  border-radius: 50%;

  font-size: 0;

  transform: none !important;
}

.ai-page-canvas
.therapist-faq-section
.faq-icon::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 14px;
  height: 2px;

  background: var(--ai-blue);

  transform: translate(-50%, -50%);
}

.ai-page-canvas
.therapist-faq-section
.faq-icon::after {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 2px;
  height: 14px;

  background: var(--ai-blue);

  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}


/* 開いたときは「−」 */

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-icon {
  transform: none !important;
}

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-icon::after {
  opacity: 0;
}


/* 回答 */

.ai-page-canvas
.therapist-faq-section
.faq-answer {
  display: none;

  margin: 0;
  padding: 2px 72px 28px 53px;

  background: transparent;

  border: 0;
}

.ai-page-canvas
.therapist-faq-section
.faq-open
.faq-answer {
  display: block;
}

.ai-page-canvas
.therapist-faq-section
.faq-answer p {
  margin: 0 0 18px;

  color: var(--ai-ink);

  font-size: 18px;
  line-height: 1.9;
}

.ai-page-canvas
.therapist-faq-section
.faq-answer p:last-child {
  margin-bottom: 0;
}

.ai-page-canvas
.therapist-faq-section
.faq-question:hover {
  background: #f8fbfd;
}


/* =========================================================
   最終Action
   ========================================================= */

.ai-page-canvas .therapist-final-action {
  padding: 76px 0 86px;

  color: var(--ai-ink);
  background: var(--ai-sky);
}

.ai-page-canvas
.therapist-final-action h2 {
  margin: 0 0 36px;

  color: var(--ai-navy);

  text-align: center;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body {
  width: 100%;
  max-width: 720px;

  margin: 0 auto;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p {
  margin: 0 0 24px;

  color: var(--ai-ink);

  font-size: 18px;
  font-weight: 400;
  line-height: 1.9;

  text-align: left;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-body p:last-child {
  margin-bottom: 0;
}


/* 最終CTA */

.ai-page-canvas
.therapist-final-action
.therapist-final-action-cta {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: 44px;
}

.ai-page-canvas
.therapist-final-action
.therapist-final-action-button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 520px;
  min-height: 76px;

  margin: 0;
  padding: 18px 60px 18px 30px;

  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;

  text-align: center;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  .ai-page-canvas .therapist-faq-section {
    padding: 52px 0 58px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .therapist-faq-title {
    margin-bottom: 30px;
    font-size: 28px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-question {
    gap: 11px;

    min-height: 74px;

    padding: 17px 6px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-q {
    font-size: 18px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-q-text {
    font-size: 17px;
    line-height: 1.55;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-icon {
    flex-basis: 34px;

    width: 34px;
    height: 34px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-answer {
    padding: 2px 6px 24px 38px;
  }

  .ai-page-canvas
  .therapist-faq-section
  .faq-answer p {
    font-size: 16px;
    line-height: 1.85;
  }


  /* 最終Action */

  .ai-page-canvas .therapist-final-action {
    padding: 54px 0 62px;
  }

  .ai-page-canvas
  .therapist-final-action h2 {
    margin-bottom: 28px;
    text-align: center;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-body p {
    margin-bottom: 20px;

    font-size: 18px;
    line-height: 1.85;

    text-align: left;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-cta {
    margin-top: 36px;
  }

  .ai-page-canvas
  .therapist-final-action
  .therapist-final-action-button {
    width: 100%;
    max-width: 100%;
    min-height: 70px;

    padding: 17px 52px 17px 22px;

    font-size: 19px;
    line-height: 1.45;
  }

}

/* =========================================================
   /therapist/
   治療体験エリア 最終調整
   ========================================================= */


/* =========================================================
   料金 / 回数 / 場所 / 当日
   ラベルを大きくする
   ========================================================= */

.ai-page-canvas
.therapist-trial-summary
.therapist-trial-summary-label {
  display: inline-block;

  margin-bottom: 14px;
  padding: 9px 15px;

  color: #ffffff;
  background: var(--ai-navy);

  border-radius: 5px;

  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
}


/* =========================================================
   治療体験の流れ
   上の3カードより少し控えめだが、
   補足に見えない大きさまで拡大
   ========================================================= */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));

  width: 100%;
  max-width: 1020px;

  gap: 20px;

  margin: 0 auto;
}


/* STEPカードだけ薄い水色 */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card {
  padding: 27px 22px 25px;

  background: #F4F8FB;

  border: 1px solid #D5E1E9;
  border-top: 3px solid var(--ai-blue);

  border-radius: 9px;

  box-shadow: none;
}


/* STEP */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-step {
  margin-bottom: 15px;

  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}


/* STEP内の見出し */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card h3 {
  margin: 0 0 8px;

  color: var(--ai-navy);

  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}


/* 時間 */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-time {
  margin: 0 0 18px;

  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}


/* STEP本文 */

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card p:not(.therapist-flow-restored-time) {
  margin: 0 0 15px;

  font-size: 17px;
  line-height: 1.85;
}

.ai-page-canvas
.therapist-flow-restored
.therapist-flow-restored-card p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  /* 料金 / 回数 / 場所 / 当日 */

  .ai-page-canvas
  .therapist-trial-summary
  .therapist-trial-summary-label {
    margin-bottom: 11px;
    padding: 8px 12px;

    font-size: 18px;
  }


  /* STEPは1列 */

  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-grid {
    grid-template-columns: 1fr;

    max-width: 100%;

    gap: 16px;
  }


  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card {
    padding: 23px 19px 22px;
  }


  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-step {
    font-size: 14px;
  }


  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card h3 {
    font-size: 21px;
  }


  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-time {
    font-size: 15px;
  }


  .ai-page-canvas
  .therapist-flow-restored
  .therapist-flow-restored-card p:not(.therapist-flow-restored-time) {
    font-size: 16px;
    line-height: 1.85;
  }

}

/* =========================================================
   /therapist/
   「まずは治療を体験」カード
   水色 → アイボリー＋ゴールド枠へ変更
   ========================================================= */

.ai-page-canvas
.therapist-trial-routes-3
.therapist-trial-route:first-child {
  background: #FFF8E8;
  border: 1px solid #E5C56A;
}

/* =========================================================
   文章のあとに別内容の画像が続く場合の区切り
   ========================================================= */

.ai-stack-gap-section {
  margin-top: 72px;
}

@media (max-width: 700px) {
  .ai-stack-gap-section {
    margin-top: 56px;
  }
}