@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================================
   さかつめ整骨院鍼灸院 ベースCSS（確定デザイントークン：CLAUDE.md §2）
   ------------------------------------------------------------
   ・ヘッダーは既存（SWELL CHILD / LOOS）を維持。以下は追記分。
   ・インラインstyle不使用。カスタムCSSはこのファイルに集約。
   ・見出し h1〜h4 のサイズはコメントアウトの雛形のみ（松村が調整）。
   ============================================================ */


/* ====== カラートークン（確定・CLAUDE.md §2） ====== */
:root {
  /* 基本カラー（ウッド調・新配色。面の紺は使わず、紺は文字/線/ボタンのアクセント） */
  --sakatsume-main:        #0C1799; /* メイン（紺・アクセント：見出し文字/ボタン/番号バッジ） */
  --sakatsume-text:        #2A2723; /* テキスト */
  --sakatsume-link:        #3A49C4; /* リンク */
  --sakatsume-bg:          #FEFDFB; /* 背景（生成りの白）※2026-07-21 微調整 #FBF9F5→ */

  /* 補助カラー（温色系） */
  --sakatsume-gold:        #C2A360; /* ゴールド（見出し下線・差し色） */
  --sakatsume-sub:         #6779E0; /* サブ */
  --sakatsume-faq-bg:      #F7F3ED; /* FAQ地・カード地（木ベージュ）※2026-07-21 微調整 #F2ECE1→ */
  --sakatsume-border:      #E7E0D4; /* 罫線（温色） */
  --sakatsume-section-bg:  #F7F3ED; /* セクション地（木ベージュ）※2026-07-21 微調整 #F2ECE1→ */
  --sakatsume-cta-bg:      #F7F3ED; /* CTA帯の地（木ベージュに統一）※2026-07-21 微調整 #F1E9DB→ */

  /* 派生（ボタンhover等） */
  --sakatsume-main-dark:   #080F5C; /* メインより暗い紺（hover） */

  /* フォント（Noto Sans JP。カスタマイザー/theme_mod未反映時のフォールバック） */
  --sakatsume-font-base: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
                         "メイリオ", Meiryo, sans-serif;
}


/* ====== ベース（本文・リンク） ====== */
/* 本文16px基準。SWELL側の基本設定と重複する場合はカスタマイザー優先で調整可 */
body {
  color: var(--sakatsume-text);
  background-color: var(--sakatsume-bg);
  /* font-family: var(--sakatsume-font-base); */ /* ← SWELLのフォント設定を使う場合はコメントアウトのまま */
}

a {
  color: var(--sakatsume-link);
}
a:hover,
a:focus {
  color: var(--sakatsume-main);
}


/* ====== 見出し h1〜h4（サイズは松村が調整：雛形のみ） ====== */
/*
h1 {
  font-size: 2.0rem;
  line-height: 1.4;
  color: var(--sakatsume-text);
}
h2 {
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--sakatsume-text);
}
h3 {
  font-size: 1.3rem;
  line-height: 1.5;
  color: var(--sakatsume-text);
}
h4 {
  font-size: 1.1rem;
  line-height: 1.5;
  color: var(--sakatsume-text);
}
*/


/* ====== ボタン .sakatsume-btn ====== */
.sakatsume-btn {
  display: inline-block;
  padding: 0.75em 1.6em;
  background-color: var(--sakatsume-main);
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.sakatsume-btn:hover,
.sakatsume-btn:focus {
  background-color: var(--sakatsume-main-dark);
  color: #FFFFFF;
  text-decoration: none;
}
.sakatsume-btn:focus-visible {
  outline: 2px solid var(--sakatsume-sub);
  outline-offset: 2px;
}


/* ====== セクション地 ====== */
.sakatsume-section {
  background-color: var(--sakatsume-section-bg);
}


/* ====== 罫線ヘルパー ====== */
.sakatsume-border-top {
  border-top: 1px solid var(--sakatsume-border);
}
.sakatsume-border-bottom {
  border-bottom: 1px solid var(--sakatsume-border);
}


/* ====== FAQ地（SWELL FAQブロック直置き用） ====== */
/* ※ FAQはSWELL FAQブロックを直置き（カスタムHTMLにネストしない）。
     背景トーンだけ子テーマで補助する。詳細な見た目調整は松村。 */
.sakatsume-faq {
  background-color: var(--sakatsume-faq-bg);
}


/* ====== スマホ追従CTA（マークアップは functions.php が出力） ====== */
/* PC非表示・スマホのみ表示。</body>直前に固定バーとして出す。
   ※ 表示ブレークポイントは 768px を暫定採用（松村調整可）。 */
.sakatsume-fixed-cta {
  display: none; /* PCでは非表示（下のmedia queryでスマホのみ表示） */
}

@media screen and (max-width: 767px) {
  .sakatsume-fixed-cta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    width: 100%;
    margin: 0;
    padding: 0;
    box-shadow: 0 -2px 8px rgba(12, 23, 153, 0.15);
  }
  .sakatsume-fixed-cta__item {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    min-height: 56px;
    padding: 0.6em 0.4em;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
  }
  /* 予約：メイン紺 */
  .sakatsume-fixed-cta__item--reserve {
    background-color: var(--sakatsume-main);
    color: #FFFFFF;
  }
  .sakatsume-fixed-cta__item--reserve:hover,
  .sakatsume-fixed-cta__item--reserve:focus {
    background-color: var(--sakatsume-main-dark);
    color: #FFFFFF;
  }
  /* 電話：白地＋青アクセント（視認性のため色分け） */
  .sakatsume-fixed-cta__item--tel {
    background-color: #FFFFFF;
    color: var(--sakatsume-main);
    border-top: 2px solid var(--sakatsume-main);
  }
  .sakatsume-fixed-cta__item--tel:hover,
  .sakatsume-fixed-cta__item--tel:focus {
    background-color: var(--sakatsume-faq-bg);
    color: var(--sakatsume-main);
  }
  /* 追従CTA分の余白（コンテンツが隠れないように） */
  #body_wrap.sakatsume-has-fixed-cta {
    padding-bottom: 56px;
  }
}


/* ====== ボタン配色バリエーション（濃紺背景の上で使う） ====== */
/* FV等、#0C1799 ベタ地の上に置くボタン。基本形は .sakatsume-btn を継承 */
.sakatsume-btn--onDark {
  background-color: #FFFFFF;
  color: var(--sakatsume-main);
}
.sakatsume-btn--onDark:hover,
.sakatsume-btn--onDark:focus {
  background-color: var(--sakatsume-faq-bg);
  color: var(--sakatsume-main);
}

.sakatsume-btn--ghost {
  background-color: transparent;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  /* 枠線2px分、基本形と高さを揃える */
  padding: calc(0.75em - 2px) calc(1.6em - 2px);
}
.sakatsume-btn--ghost:hover,
.sakatsume-btn--ghost:focus {
  background-color: #FFFFFF;
  color: var(--sakatsume-main);
}


/* ====== ① FV（ヒーロー） ====== */
/* 本文カラムの内側から左右いっぱいに広げる（フルブリード）。
   ※ 100vw はスクロールバー幅を含むため、環境により極小の横ズレが出ることがある。
     気になる場合は width / margin-inline の2行をコメントアウトすればカラム幅内に収まる。 */
/* ★2026-07-24 決定版：背景=_DSC0927、左に生成りグラデ＋紺文字・ゴールド差し色（紺ベタ面は使わない）
   2026-07-24b：PC=フォーカル調整＋テキストの塊化／モバイル=重ねず縦積み（写真→生成り地テキスト） */
.sakatsume-fv {
  position: relative;
  isolation: isolate; /* ::before の z-index をこの要素内に閉じ込める */
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  display: flex;
  align-items: center;
  min-height: clamp(440px, 64vh, 660px);
  padding: 3.5rem 1.25rem;
  color: var(--sakatsume-text);
  background-image: url("/wp-content/uploads/2026/07/_DSC0927.jpg");
  background-size: 124%;             /* 少しズームして右端の木を外す余地をつくる（画像自体は無加工） */
  background-position: 14% 14%;      /* 左へ寄せて右端の木を外す／フォーカルを上げ膝の切れを解消 */
  background-repeat: no-repeat;
}
/* モバイルで縦積みする写真（PCは背景で表示するため隠す） */
.sakatsume-fv__photo { display: none; }
/* 左に生成りグラデで抜けをつくり可読性を確保（紺ベタ面は使わない） */
.sakatsume-fv::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg,
    rgba(254, 253, 251, 0.95) 0%,
    rgba(254, 253, 251, 0.90) 30%,
    rgba(254, 253, 251, 0.55) 50%,
    rgba(254, 253, 251, 0.00) 72%);
}

.sakatsume-fv__inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}

/* キッカー〜信頼行は「詰める／空ける」で塊にする（均等間隔にしない） */
.sakatsume-fv__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  margin: 0 0 0.45em;               /* キッカー→H1 は詰める */
  color: var(--sakatsume-main);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  font-weight: 600;
}
.sakatsume-fv__kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  background-color: var(--sakatsume-gold);
}

/* FV見出しのサイズはコンポーネント内で完結（全体の h1〜h4 は別途松村調整） */
.sakatsume-fv__title {
  margin: 0 0 0.7em;
  max-width: 15em;
  color: var(--sakatsume-main);
  font-size: clamp(1.55rem, 4.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.5;
}

.sakatsume-fv__sub {
  margin: 0 0 2.6em;                /* CTA前の余白を大きく取り、塊を分ける */
  max-width: 30em;
  color: var(--sakatsume-text);
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  line-height: 1.9;
}

.sakatsume-fv__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.4rem;
  margin-bottom: 1.5em;
}
.sakatsume-fv__tel {
  color: var(--sakatsume-main);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--sakatsume-gold);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.sakatsume-fv__trust {
  margin: 0;
  color: var(--sakatsume-text);
  opacity: 0.9;
  font-size: 0.85rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  /* モバイルは重ねず縦積み：写真（トリミングなし・全幅）→ 生成り地にテキスト */
  .sakatsume-fv {
    display: block;
    align-items: initial;
    min-height: 0;
    padding: 0;
    background-image: none;
  }
  .sakatsume-fv::before { display: none; }   /* グラデ不要 */
  .sakatsume-fv__photo {
    display: block;
    width: 100%;
    height: auto;                  /* 元画角のまま＝トリミングなし */
  }
  .sakatsume-fv__inner {
    max-width: none;
    background-color: var(--sakatsume-bg);       /* 生成り #FEFDFB */
    padding: 1.7rem 1.25rem calc(56px + 1.4rem); /* 下部に追従CTA分の余白 */
  }
  .sakatsume-fv__sub { margin-bottom: 1.9em; }
  .sakatsume-fv__actions .sakatsume-btn { flex: 1 1 100%; }
}


/* ====== FAQ（SWELL FAQブロックの見た目のみCSSで刷新） ====== */
/* ★マークアップ・属性は一切変更しない（render_block_loos/faq の FAQPage JSON-LD 出力を維持）。
   見た目だけCSSで：丸バッジ／1問1答=1カード／破線区切り。
   SWELLの [data-q=col-text] 等より高詳細度で上書きするため .post_content を前置。 */

/* 1問1答を1枚のカードに（行ごとの線囲みは使わない） */
.post_content .swell-block-faq .swell-block-faq__item {
  background-color: #FFFFFF;
  border: 0.5px solid var(--sakatsume-border); /* #E7E0D4 */
  border-radius: 10px;
  padding: 16px;
  margin-top: 0;
}
.post_content .swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
  margin-top: 12px; /* カード間 */
}

/* 質問：紺の太字＋下に破線区切り */
.post_content .swell-block-faq .faq_q {
  position: relative;
  margin: 0;
  padding: 0 0 12px 40px;
  color: var(--sakatsume-main);
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px dashed var(--sakatsume-border);
}
/* 回答：本文色＋行間1.9 */
.post_content .swell-block-faq .faq_a {
  position: relative;
  padding: 12px 0 0 40px;
  color: var(--sakatsume-text); /* #2A2723 */
  line-height: 1.9;
}
.post_content .swell-block-faq .faq_a p {
  margin: 0;
  line-height: 1.9;
}

/* 丸バッジ（Q＝紺／A＝ゴールド・白文字・約24px） */
.post_content .swell-block-faq .faq_q::before,
.post_content .swell-block-faq .faq_a::before {
  box-shadow: none;
  width: 24px;
  height: 24px;
  line-height: 24px;
  font-size: 13px;
  border-radius: 50%;
  top: 0;
  left: 0;
  color: #FFFFFF;
}
.post_content .swell-block-faq .faq_q::before {
  background-color: var(--sakatsume-main); /* Q 紺 */
}
.post_content .swell-block-faq .faq_a::before {
  background-color: var(--sakatsume-gold); /* A ゴールド */
  top: 16px; /* 回答1行目の中心にバッジ中心を合わせる（padding-top12px＋(行高32.3-24)/2） */
}


/* ====== FV直下：LLMO要約リード文 ====== */
.sakatsume-page-lead {
  max-width: 1200px;
  margin: 2.5rem auto;
  padding: 1.4rem 1.6rem;
  background-color: var(--sakatsume-section-bg);
  border-left: 4px solid var(--sakatsume-main);
  border-radius: 4px;
  color: var(--sakatsume-text);
  font-size: 0.95rem;
  line-height: 2;
}


/* ====== 症状ページ：施術ステップ（問診→検査→説明→施術→確認） ====== */
/* 各ステップ＝テキスト左＋写真右の2カラム（スマホは縦積み）。写真は3:2に統一。 */
.sakatsume-steps {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
  counter-reset: sakatsume-step;
}
.sakatsume-steps > li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; /* 番号バッジ(固定top)とタイトルを上端で揃える。center だと段ごとにズレる */
  gap: 1.2rem;
  margin: 0 0 1rem;
  padding: 1.3rem 1.4rem 1.3rem 3.4rem;
  background-color: var(--sakatsume-section-bg);
  border: 1px solid var(--sakatsume-border);
  border-radius: 6px;
  line-height: 1.9;
}
.sakatsume-steps > li::before {
  counter-increment: sakatsume-step;
  content: counter(sakatsume-step);
  position: absolute;
  left: 1rem;
  top: 1.35rem;
  width: 1.7rem;
  height: 1.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--sakatsume-main);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 50%;
}
.sakatsume-steps__text {
  flex: 1 1 300px;
  min-width: 0;
}
.sakatsume-steps__label {
  display: block;
  margin-bottom: 0.2em;
  font-weight: 700;
  color: var(--sakatsume-main);
}
/* 写真（右カラム）。単写真は右、3枚（施術）は下段フル幅で横並び。 */
.sakatsume-steps__media {
  flex: 1 1 240px;
  display: flex;
  align-items: flex-start; /* 縦横混在時も画像を縦に引き伸ばさない（歪み防止） */
  gap: 0.6rem;
}
.sakatsume-steps__media img {
  width: 100%;
  height: auto; /* トリミングしない：元の画角のまま（幅だけ揃える） */
  border-radius: 6px;
  border: 1px solid var(--sakatsume-border);
}
.sakatsume-steps__media--trio {
  flex-basis: 100%; /* 3枚は改行してフル幅の横3列に */
}
.sakatsume-steps__media--trio img {
  flex: 1 1 0;
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .sakatsume-steps > li {
    flex-direction: column;
    align-items: stretch;
  }
  .sakatsume-steps__media {
    flex-basis: auto;
  }
}


/* ====== 症状ページ：受診の目安（注意枠） ====== */
/* ※腰痛・急性腰痛・坐骨などレッドフラグ記載用。肩こりでは未使用。 */
.sakatsume-notice {
  margin: 1.8rem 0;
  padding: 1.1rem 1.3rem;
  background-color: var(--sakatsume-faq-bg);
  border: 1px solid var(--sakatsume-sub);
  border-left: 5px solid var(--sakatsume-main);
  border-radius: 4px;
  line-height: 1.9;
}
.sakatsume-notice__label {
  display: block;
  margin-bottom: 0.3em;
  font-weight: 700;
  color: var(--sakatsume-main);
}


/* ====== 症状ページ：患者様の声 ====== */
.sakatsume-voices {
  margin: 2.5rem 0;
}
.sakatsume-voices__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
.sakatsume-voice {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--sakatsume-border);
  border-radius: 8px;
  overflow: hidden;
  background-color: #FFFFFF;
}
.sakatsume-voice__img {
  display: block;
  width: 100%;
  height: auto;
  border-bottom: 1px solid var(--sakatsume-border);
}
.sakatsume-voice__body {
  padding: 1rem 1.1rem 1.2rem;
}
.sakatsume-voice__summary {
  margin: 0 0 0.5em;
  font-weight: 700;
  line-height: 1.7;
  color: var(--sakatsume-text);
}
.sakatsume-voice__meta {
  margin: 0;
  font-size: 0.85rem;
  color: var(--sakatsume-main);
}
.sakatsume-voices__disclaimer {
  margin: 1.2rem 0 0;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.8;
  color: var(--sakatsume-text);
}

@media screen and (max-width: 767px) {
  .sakatsume-voices__grid {
    grid-template-columns: 1fr;
  }
}


/* ====== 症状ページ：CTA帯（案2＝軽く／淡い地・紺は文字とボタンだけ） ====== */
.sakatsume-cta-band {
  margin: 2.5rem 0;
  padding: 2.2rem 1.4rem;
  background-color: var(--sakatsume-cta-bg);
  border: 1px solid var(--sakatsume-border);
  border-radius: 8px;
  text-align: center;
  color: var(--sakatsume-text);
}
.sakatsume-cta-band__title {
  margin: 0 0 1.2em;
  color: var(--sakatsume-main);
  font-size: clamp(1.1rem, 2.4vw, 1.4rem);
  font-weight: 600; /* 中字 */
  line-height: 1.6;
}
.sakatsume-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
}
/* 電話は控えめ（テキストリンク） */
.sakatsume-cta-band__tel {
  margin: 1em 0 0;
  font-size: 0.95rem;
}
.sakatsume-cta-band__tel a {
  color: var(--sakatsume-main);
  text-decoration: underline;
  font-weight: 700;
}


/* ====== 症状ページ：関連ページリンク ====== */
.sakatsume-related {
  margin: 2.5rem 0;
}
.sakatsume-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.sakatsume-related__card {
  display: block;
  padding: 1rem 1.1rem;
  background-color: var(--sakatsume-section-bg);
  border: 1px solid var(--sakatsume-border);
  border-radius: 6px;
  text-decoration: none;
  color: var(--sakatsume-text);
  font-weight: 700;
  line-height: 1.6;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sakatsume-related__card:hover,
.sakatsume-related__card:focus {
  background-color: var(--sakatsume-faq-bg);
  border-color: var(--sakatsume-sub);
  color: var(--sakatsume-main);
}

@media screen and (max-width: 767px) {
  .sakatsume-related__grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* ====== 見出しH2（全ページ共通・新デザイン） ====== */
/* 帯(band)はSWELLカスタマイザー h2_type='' で無効化済み（CSSで戦わない）。
   ここでは 紺文字＋中央＋ゴールド下線 を付与。
   SWELL同様 :where() でブロック見出し/FAQ質問/投稿リスト見出しは除外。 */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  color: var(--sakatsume-main);
  text-align: center;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 0.55em auto 0;
  background: var(--sakatsume-gold);
  border-radius: 2px;
}


/* ====== 症状ページ：監修者ボックス ====== */
.sakatsume-supervisor {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin: 1.8rem 0 2.2rem;
  padding: 1.1rem 1.3rem;
  background-color: var(--sakatsume-section-bg);
  border: 1px solid var(--sakatsume-border);
  border-radius: 8px;
}
.sakatsume-supervisor__img {
  flex: 0 0 auto;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--sakatsume-gold);
}
.sakatsume-supervisor__role {
  margin: 0;
  font-weight: 700;
  line-height: 1.7;
  color: var(--sakatsume-text);
}
.sakatsume-supervisor__note {
  margin: 0.3em 0 0;
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--sakatsume-text);
}


/* ====== 症状ページ：本文中の写真 ====== */
/* 見立て等、段落まわりに置く単写真 */
.sakatsume-figure {
  margin: 1.5rem 0;
}
.sakatsume-figure img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
  border: 1px solid var(--sakatsume-border);
}
.sakatsume-figure figcaption {
  margin-top: 0.5em;
  text-align: center;
  font-size: 0.82rem;
  color: var(--sakatsume-text);
  opacity: 0.85;
}


/* =========================================================
   ★2026-07-27g トップ②〜⑨ 修正版F（差し替え）
   ・受付時間テーブル：縦線を除去し横線のみ（th/td border:0 !important）
   ・.sakatsume-btn は .sakatsume-sec 配下にスコープ（既存ボタン非破壊）
   ========================================================= */
/* =====================================================================
   さかつめ整骨院鍼灸院 トップ ②〜⑨ 追記CSS（子テーマ style.css）修正版C
   ※B変更点：③カード余白詰め／画像のobject-fit強制（テーマのimg{height:auto}対策）
   ／④写真は縦4:5でPC・SPとも統一・顔が入る上寄せ／⑤SP院長写真の表示不具合修正
   ／⑥アンケート用紙はcontainで全体表示（トリミングしない）
   ※C変更点：見出し周りの余白リセット（テーマのh2/pマージン上乗せ解消）
   ／セクション交互トーン #FEFDFB ↔ #FCFAF4（.sakatsume-tint を付けたセクションのみ）
   ※D変更点：セクション背景をフルワイド（本文幅を突き抜けて画面端まで）
   ／トーン付きセクション内のカード・テーブルの地は白に
   ／受付時間テーブルを修正：collapse→separate（角丸と外枠を両立）＋
   　テーマがth/tdに付ける枠線を打ち消し（余計な縦線を除去）、横線のみに
   地色 #FEFDFB で統一（木ベージュのベタ塗りセクションは廃止）。
   木ベージュ#F2ECE1 は②写真裏のオフセット等ごく一部のみ。
   角丸カード8px。書体 Noto Sans JP。
   ※FVで :root 定義済みなら統合可（重複注意）。
   ===================================================================== */
:root{
  --sakatsume-base:#FEFDFB;
  --sakatsume-panel:#F2ECE1;
  --sakatsume-card:#FBF9F5;
  --sakatsume-tint:#FCFAF4;   /* 交互トーン（ΔE2.3・控えめ） */
  --sakatsume-ink:#2A2723;
  --sakatsume-navy:#0C1799;
  --sakatsume-navy-d:#0a1270;
}

/* ---- セクション共通（余白を詰めた） ---- */
/* ★フルワイド：SWELLの本文幅に閉じ込められず、背景を画面端まで広げる
   （内容は .sakatsume-sec-wrap で中央1080pxに保つ） */
.sakatsume-sec{
  padding:60px 24px;
  background:var(--sakatsume-base);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.sakatsume-sec.sakatsume-tint{background:var(--sakatsume-tint)}
.sakatsume-sec-wrap{max-width:1080px;margin:0 auto}

/* ★トーン付きセクションの中は白地に（地色と重ならずメリハリが出る） */
.sakatsume-tint .sakatsume-sym-card,
.sakatsume-tint .sakatsume-menu-card,
.sakatsume-tint .sakatsume-voice-card,
.sakatsume-tint .sakatsume-hours,
.sakatsume-tint .sakatsume-fee-box,
.sakatsume-tint .sakatsume-nap,
.sakatsume-tint .sakatsume-info-box{background:#fff}
.sakatsume-tint .sakatsume-hours tbody th{background:#fff;color:var(--sakatsume-navy)}
.sakatsume-tint .sakatsume-hours th,
.sakatsume-tint .sakatsume-hours td{border-bottom-color:#efe7d9}
.sakatsume-sec-head{text-align:center;margin-bottom:34px}
/* ★テーマ(SWELL等)が h2/p に付ける margin を打ち消す（余白の間延び対策） */
.sakatsume-sec-head > *{margin:0}
.sakatsume-sec-head .sakatsume-en{display:block;color:var(--sakatsume-gold);font-size:12.5px;font-weight:700;letter-spacing:.22em;margin:0 0 6px}
.sakatsume-sec-head h2{color:var(--sakatsume-navy);font-size:27px;font-weight:900;line-height:1.4;position:relative;display:inline-block;margin:0;padding:0 0 12px}
.sakatsume-sec-head h2::before{content:none;display:none}
.sakatsume-sec-head h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:44px;height:3px;background:var(--sakatsume-gold);border-radius:2px}
.sakatsume-sec-head .sakatsume-sec-sub{margin:12px 0 0;font-size:14.5px;color:var(--sakatsume-ink)}
.sakatsume-note{margin-top:22px;text-align:center;font-size:12.5px;color:#8a7f6f;line-height:1.8}

/* ---- ボタン共通（hoverで文字が消えないよう固定・SWELL上書き） ---- */
.sakatsume-sec .sakatsume-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sakatsume-navy);color:#fff !important;font-weight:700;padding:12px 24px;border-radius:6px;text-decoration:none;transition:background .2s}
.sakatsume-sec .sakatsume-btn:hover,.sakatsume-sec .sakatsume-btn:focus{background:var(--sakatsume-navy-d);color:#fff !important;opacity:1}
.sakatsume-sec .sakatsume-btn::after{content:"→";color:var(--sakatsume-gold);font-weight:900}
.sakatsume-linkmore{display:inline-flex;align-items:center;gap:6px;color:var(--sakatsume-navy);font-weight:700;font-size:13.5px;text-decoration:none}
.sakatsume-linkmore::after{content:"→";color:var(--sakatsume-gold);font-weight:900}

/* ---- ② 選ばれる理由（ジグザグ） ---- */
.sakatsume-zrows{display:flex;flex-direction:column;gap:52px}
.sakatsume-zrow{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px}
.sakatsume-zrow:nth-child(even) .sakatsume-zphoto{order:2}
.sakatsume-zrow:nth-child(even) .sakatsume-ztext{order:1}
.sakatsume-zphoto{position:relative}
.sakatsume-zframe{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;box-shadow:0 16px 36px rgba(42,39,35,.12);z-index:1;background:#e7efe4}
.sakatsume-zframe img{width:100%;height:100%;object-fit:cover}
.sakatsume-zphoto::before{content:"";position:absolute;width:78%;height:78%;background:var(--sakatsume-panel);border-radius:8px;z-index:0}
.sakatsume-zrow:nth-child(odd) .sakatsume-zphoto::before{right:-16px;bottom:-16px}
.sakatsume-zrow:nth-child(even) .sakatsume-zphoto::before{left:-16px;bottom:-16px}
.sakatsume-ztext{position:relative}
.sakatsume-znum{font-size:58px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--sakatsume-gold);margin-bottom:6px}
.sakatsume-zkick{display:inline-flex;align-items:center;gap:10px;color:var(--sakatsume-navy);font-weight:700;font-size:13px;letter-spacing:.06em;margin-bottom:12px}
.sakatsume-zkick::before{content:"";width:24px;height:2px;background:var(--sakatsume-gold)}
.sakatsume-ztext h3{color:var(--sakatsume-navy);font-size:23px;font-weight:900;line-height:1.5;margin-bottom:14px}
.sakatsume-ztext p{font-size:14.5px;color:var(--sakatsume-ink);line-height:1.9}
.sakatsume-ztext .sakatsume-sec .sakatsume-btn{margin-top:18px}

/* ---- ③ 症状（アイコン廃止・クリーンなテキストカード） ---- */
.sakatsume-sym-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sakatsume-sym-card{position:relative;display:flex;flex-direction:column;background:var(--sakatsume-card);border:1px solid #ece1cf;border-radius:8px;padding:22px 22px 20px;text-decoration:none;color:var(--sakatsume-ink);box-shadow:0 6px 20px rgba(42,39,35,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.sakatsume-sym-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(42,39,35,.10);border-color:var(--sakatsume-gold)}
.sakatsume-sym-card > *{margin-top:0}
.sakatsume-sym-card h3{color:var(--sakatsume-navy);font-size:19px;font-weight:800;line-height:1.5;padding:0 0 10px;margin:0 0 10px;position:relative}
.sakatsume-sym-card h3::before{content:none;display:none}
.sakatsume-sym-card h3::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--sakatsume-gold)}
.sakatsume-sym-tag{display:inline-block;font-size:11.5px;color:#9a8f7c;margin-bottom:8px}
.sakatsume-sym-card p{font-size:14px;color:var(--sakatsume-ink);line-height:1.85;margin:0;flex:1}
.sakatsume-sym-go{margin-top:14px;color:var(--sakatsume-navy);font-weight:700;font-size:13px}
.sakatsume-sym-go::after{content:" →";color:var(--sakatsume-gold);font-weight:900}
.sakatsume-sym-foot{margin-top:30px;text-align:center}
.sakatsume-sym-foot a{display:inline-flex;gap:8px;color:var(--sakatsume-navy);font-weight:700;font-size:14.5px;border-bottom:2px solid var(--sakatsume-gold);padding-bottom:4px;text-decoration:none}

/* ---- ④ 治療メニュー（写真＝縦4:5で統一） ---- */
.sakatsume-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sakatsume-menu-card{display:flex;flex-direction:column;background:var(--sakatsume-card);border:1px solid #ece1cf;border-radius:8px;overflow:hidden;box-shadow:0 10px 26px rgba(42,39,35,.06);transition:transform .2s,box-shadow .2s}
.sakatsume-menu-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(42,39,35,.11)}
.sakatsume-menu-photo{position:relative;aspect-ratio:4/5;background:#e7efe4}
.sakatsume-menu-photo img{width:100%;height:100%;object-fit:cover}
.sakatsume-menu-num{position:absolute;left:14px;bottom:-16px;z-index:2;width:40px;height:40px;border-radius:50%;background:var(--sakatsume-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;box-shadow:0 4px 12px rgba(12,23,153,.28)}
.sakatsume-menu-body{padding:26px 22px 24px;display:flex;flex-direction:column;flex:1}
.sakatsume-menu-body .sakatsume-en{color:var(--sakatsume-gold);font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:6px;display:block}
.sakatsume-menu-body h3{color:var(--sakatsume-navy);font-size:20px;font-weight:900;margin-bottom:10px}
.sakatsume-menu-body p{font-size:14px;color:var(--sakatsume-ink);line-height:1.9;flex:1}
.sakatsume-menu-body .sakatsume-linkmore{margin-top:16px}

/* ---- ⑤ 院長紹介 ---- */
.sakatsume-doctor{display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center}
.sakatsume-doctor-photo{aspect-ratio:3/4;border-radius:8px;overflow:hidden;box-shadow:0 16px 36px rgba(42,39,35,.14);background:#e7efe4}
.sakatsume-doctor-photo img{width:100%;height:100%;object-fit:cover}
.sakatsume-dkick{display:inline-flex;align-items:center;gap:10px;color:var(--sakatsume-navy);font-weight:700;font-size:13px;letter-spacing:.06em;margin-bottom:12px}
.sakatsume-dkick::before{content:"";width:24px;height:2px;background:var(--sakatsume-gold)}
.sakatsume-dname{color:var(--sakatsume-navy);font-size:28px;font-weight:900}
.sakatsume-dname .y{font-size:14px;color:#6b6155;font-weight:500;margin-left:10px}
.sakatsume-badges{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.sakatsume-badges span{font-size:12px;font-weight:700;color:#fff;background:var(--sakatsume-navy);padding:5px 12px;border-radius:20px}
.sakatsume-dlead{font-size:15px;color:var(--sakatsume-ink)}
.sakatsume-dlead .q{color:var(--sakatsume-navy);font-weight:700}
.sakatsume-doctor .sakatsume-sec .sakatsume-btn{margin-top:22px}

/* ---- ⑥ 患者の声（明るい地・タグライン廃止） ---- */
.sakatsume-voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sakatsume-voice-card{background:#fff;border:1px solid #eadfcb;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(42,39,35,.06);display:flex;flex-direction:column}
.sakatsume-voice-scan{aspect-ratio:4/3;background:#fff;padding:10px;border-bottom:1px solid #f0e9dc}
.sakatsume-voice-scan img{width:100%;height:100%;object-fit:cover;border-radius:4px;filter:brightness(1.05)}
.sakatsume-voice-body{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}
.sakatsume-voice-q{color:var(--sakatsume-navy);font-weight:700;font-size:15.5px;line-height:1.65;margin-bottom:10px}
.sakatsume-voice-q::before{content:"\201C";color:var(--sakatsume-gold);font-size:20px;font-weight:900;margin-right:2px}
.sakatsume-voice-attr{font-size:12.5px;color:#6b6155;margin-bottom:12px}
.sakatsume-voice-sign{font-size:11.5px;color:#8a7f6f;border-top:1px dashed #e0d5c2;padding-top:10px;margin-top:auto}
.sakatsume-voice-sign b{color:var(--sakatsume-navy)}
.sakatsume-voice-disc{font-size:10.5px;color:#a49a8b;margin-top:6px}

/* ---- ⑦ 受付時間・料金 ---- */
.sakatsume-info-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.sakatsume-hours{width:100%;border-collapse:separate;border-spacing:0;background:var(--sakatsume-card);border-radius:8px;overflow:hidden;border:1px solid #ece1cf}
.sakatsume-hours th,.sakatsume-hours td{padding:13px 10px;text-align:center;font-size:14.5px;
  border:0 !important;                      /* ★テーマがth/tdに付ける枠線（縦線の原因）を消す */
  border-bottom:1px solid #ece1cf !important; /* 行間の横線だけ引く */
}
.sakatsume-hours thead th{background:var(--sakatsume-navy);color:#fff}
.sakatsume-hours tbody th{background:#f4ede1;text-align:left;padding-left:18px;width:36%;color:var(--sakatsume-ink)}
.sakatsume-hours .off{color:#b06a5a;font-weight:700}
.sakatsume-hours tr:last-child th,.sakatsume-hours tr:last-child td{border-bottom:0 !important}
.sakatsume-fee-box{background:var(--sakatsume-card);border:1px solid #ece1cf;border-radius:8px;padding:22px}
.sakatsume-fee-box h4{color:var(--sakatsume-navy);font-size:16px;font-weight:700;margin-bottom:8px}
.sakatsume-fee-box p{font-size:14px;color:var(--sakatsume-ink);margin-bottom:14px}

/* ---- ⑧ アクセス（明るい地） ---- */
.sakatsume-access-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:stretch}
.sakatsume-map{min-height:300px;border-radius:8px;overflow:hidden;border:1px solid #dfe4e9;background:#e9eef2}
.sakatsume-map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}
.sakatsume-nap{background:var(--sakatsume-card);border:1px solid #ece1cf;border-radius:8px;padding:26px 24px}
.sakatsume-nap dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:14.5px}
.sakatsume-nap dt{color:var(--sakatsume-navy);font-weight:700;white-space:nowrap}
.sakatsume-nap dd{color:var(--sakatsume-ink)}
.sakatsume-nap .tel{font-size:21px;font-weight:900;color:var(--sakatsume-navy)}
.sakatsume-nap .more{margin-top:18px;display:inline-flex;color:var(--sakatsume-navy);font-weight:700;font-size:14px;border-bottom:2px solid var(--sakatsume-gold);padding-bottom:4px;text-decoration:none}

/* ---- ⑨ ご予約（白パネル＋紺トップライン） ---- */
.sakatsume-reserve-band{background:#fff;border:1px solid #e7dcc8;border-top:4px solid var(--sakatsume-navy);border-radius:10px;padding:44px 40px;text-align:center;box-shadow:0 14px 40px rgba(42,39,35,.08)}
.sakatsume-reserve-band .sakatsume-en{color:var(--sakatsume-gold);font-size:12.5px;font-weight:700;letter-spacing:.22em}
.sakatsume-reserve-band h2{color:var(--sakatsume-navy);font-size:26px;font-weight:900;margin:8px 0 6px}
.sakatsume-reserve-band .lead{font-size:14.5px;color:var(--sakatsume-ink);margin-bottom:8px}
.sakatsume-reserve-band .limit{display:inline-block;font-size:12.5px;color:#9a6a2e;background:#fbf4e6;border:1px solid #ecdcae;padding:4px 14px;border-radius:20px;margin-bottom:22px}
.sakatsume-rbtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
.sakatsume-rbtns .primary{background:var(--sakatsume-navy);color:#fff !important;font-weight:700;font-size:16px;padding:15px 32px;border-radius:8px;text-decoration:none;transition:background .2s}
.sakatsume-rbtns .primary:hover{background:var(--sakatsume-navy-d);color:#fff !important}
.sakatsume-rbtns .tel{color:var(--sakatsume-navy);font-weight:900;font-size:20px;border-bottom:3px solid var(--sakatsume-gold);padding-bottom:2px;text-decoration:none}
.sakatsume-rbtns .ghost{color:var(--sakatsume-navy) !important;font-weight:700;font-size:14px;border:1px solid #cdb98c;border-radius:8px;padding:13px 22px;text-decoration:none;transition:background .2s}
.sakatsume-rbtns .ghost:hover{background:#faf6ee;color:var(--sakatsume-navy) !important}

/* ---- レスポンシブ ---- */
@media (max-width:860px){
  .sakatsume-sec{padding:46px 20px}
  .sakatsume-sec-head{margin-bottom:26px}
  .sakatsume-sec-head h2{font-size:22px}
  .sakatsume-zrows{gap:40px}
  .sakatsume-zrow{grid-template-columns:1fr;gap:22px}
  .sakatsume-zrow .sakatsume-zphoto{order:-1 !important}
  .sakatsume-zrow:nth-child(even) .sakatsume-ztext{order:0}
  .sakatsume-zphoto::before{display:none}
  .sakatsume-znum{font-size:46px}
  .sakatsume-ztext h3{font-size:20px}
  .sakatsume-sym-grid{grid-template-columns:1fr 1fr;gap:12px}
  .sakatsume-menu-grid{grid-template-columns:1fr;gap:20px}
  .sakatsume-menu-photo{aspect-ratio:4/3}
  .sakatsume-doctor{grid-template-columns:1fr;gap:24px}
  .sakatsume-doctor-photo{max-width:300px;margin:0 auto}
  .sakatsume-voice-grid{grid-template-columns:1fr;gap:16px}
  .sakatsume-info-grid,.sakatsume-access-grid{grid-template-columns:1fr;gap:22px}
  .sakatsume-reserve-band{padding:34px 20px}
  .sakatsume-reserve-band h2{font-size:21px}
}
@media (max-width:460px){.sakatsume-sym-grid{grid-template-columns:1fr}}


/* =====================================================================
   修正版B：テーマ（SWELL等）の img{height:auto} が object-fit を無効化し、
   写真の高さが揃わない／SPで写真が出ない現象への対策。
   枠内いっぱいに強制し、人物は上寄り（顔が切れない）で表示する。
   ===================================================================== */
.sakatsume-zframe img,
.sakatsume-menu-photo img,
.sakatsume-doctor-photo img{
  width:100% !important;
  height:100% !important;
  max-width:none;
  object-fit:cover;
  object-position:center 22%;   /* 顔が入るよう上寄り */
  display:block;
}
/* アンケート用紙は「切らずに全体を見せる」 */
.sakatsume-voice-scan img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center;
  background:#fff;
  display:block;
}
/* aspect-ratio 非対応・高さ潰れの保険 */
.sakatsume-menu-photo{min-height:260px}
.sakatsume-doctor-photo{min-height:320px}
.sakatsume-zframe{min-height:200px}
.sakatsume-voice-scan{min-height:200px}

@media (max-width:860px){
  /* SP：メニュー写真は縦4:5のまま（横長にすると顔が切れるため） */
  .sakatsume-menu-photo{aspect-ratio:4/5;min-height:300px}
  /* SP：院長写真は自然な高さで確実に表示（潰れ防止） */
  .sakatsume-doctor-photo{aspect-ratio:auto;min-height:0;max-width:300px;margin:0 auto}
  .sakatsume-doctor-photo img{height:auto !important;object-fit:contain}
  /* SP：アンケート用紙は横長のまま全体表示 */
  .sakatsume-voice-scan{aspect-ratio:4/3;min-height:0;padding:8px}
}

/* ⑦ 受付時間テーブル：外枠のみ SWELL の .post_content table{border:none} に勝たせる
   （th/td の線は上の修正版F本体が !important で制御） */
.post_content table.sakatsume-hours{
  border:1px solid #ece1cf;
  border-collapse:separate;
  border-spacing:0;
  border-radius:8px;
  overflow:hidden;
}


/* =========================================================
   ★2026-07-28 下層ページ共通CSS（sakatsume-p-）を追記
   ・出典：さかつめ_下層ページ一式/sakatsume_pages_add.css
   ・トップ用（--sakatsume-*）とは別名トークンのため既存に影響なし
   ========================================================= */
/* ============================================================
   さかつめ整骨院鍼灸院 ─ 下層ページ共通CSS（sakatsume-p-）
   子テーマ style.css の末尾に追記する（トップ用CSSの下）
   ※ :root のカラー変数はトップ用CSS（--sakatsume-*）と別名で定義。
     すでに定義済みの場合も上書きされないよう、ここでは p- 用の別名を使う。
   ============================================================ */

:root{
  --sakatsume-p-base:#FEFDFB;
  --sakatsume-p-tint:#FCFAF4;
  --sakatsume-p-card:#FBF9F5;
  --sakatsume-p-panel:#F2ECE1;
  --sakatsume-p-ink:#2A2723;
  --sakatsume-p-navy:#0C1799;
  --sakatsume-p-navy-d:#0a1270;
  --sakatsume-p-gold:#C2A360;
  --sakatsume-p-line:#06C755;
  --sakatsume-p-line-d:#05a948;
  --sakatsume-p-border:#ece1cf;
}

/* ---- 1) リード文（LLMO：3文・2文目頭に地域エンティティ） ---- */
.sakatsume-p-lead{
  margin:40px 0 0;padding:22px 24px;
  background:var(--sakatsume-p-card);
  border:1px solid var(--sakatsume-p-border);
  border-left:4px solid var(--sakatsume-p-gold);
  border-radius:8px;font-size:15px;line-height:1.95;
}
.sakatsume-p-lead p{margin:0}

/* ---- 2) 見出し（トップ .sakatsume-sec-head h2 と同じ書き方：中央・ゴールド下線） ---- */
/* ★トップと同様、SWELLの .post_content h2/h3（0,1,1）に詳細度で勝たせる（!important不要） */
.post_content .sakatsume-p-h2{
  color:var(--sakatsume-p-navy);font-size:27px;font-weight:900;line-height:1.4;
  position:relative;display:block;text-align:center;
  margin:46px 0 18px;padding:0 0 12px;
  background:none;border:0;
}
.post_content .sakatsume-p-h2::before{content:none;display:none}
.post_content .sakatsume-p-h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:44px;height:3px;background:var(--sakatsume-p-gold);border-radius:2px}
.post_content .sakatsume-p-h3{
  color:var(--sakatsume-p-navy);font-size:19px;font-weight:900;line-height:1.4;
  position:relative;display:block;text-align:center;
  margin:30px 0 12px;padding:0 0 10px;
  background:none;border:0;
}
.post_content .sakatsume-p-h3::before{content:none;display:none}
.post_content .sakatsume-p-h3::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:32px;height:2px;background:var(--sakatsume-p-gold);border-radius:2px}

/* ---- 3) 本文 ---- */
.sakatsume-p-body{font-size:15px;line-height:1.95}
.sakatsume-p-body p{margin:0 0 1em}
.sakatsume-p-body p:last-child{margin-bottom:0}

/* ---- 4) 情報カード ---- */
.sakatsume-p-card{
  background:#fff;border:1px solid var(--sakatsume-p-border);
  border-radius:8px;padding:22px 24px;margin:18px 0;
}
.sakatsume-p-card > *:first-child{margin-top:0 !important}
.sakatsume-p-card > *:last-child{margin-bottom:0 !important}
.sakatsume-p-card .ttl{
  color:var(--sakatsume-p-navy);font-weight:800;font-size:16px;margin:0 0 8px;
  display:flex;align-items:center;gap:8px;
}
.sakatsume-p-card .ttl::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sakatsume-p-gold);flex:none}

/* ---- 5) 手順（番号付き・流れ） ---- */
.sakatsume-p-steps{list-style:none !important;margin:18px 0;padding:0 !important;counter-reset:s}
.sakatsume-p-steps li{counter-increment:s;position:relative;padding:0 0 22px 52px;margin:0;list-style:none !important}
.sakatsume-p-steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;
  width:34px;height:34px;border-radius:50%;background:var(--sakatsume-p-navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;
}
.sakatsume-p-steps li::after{content:"";position:absolute;left:17px;top:38px;bottom:4px;width:2px;background:var(--sakatsume-p-border)}
.sakatsume-p-steps li:last-child{padding-bottom:0}
.sakatsume-p-steps li:last-child::after{display:none}
.sakatsume-p-steps b{display:block;color:var(--sakatsume-p-navy);font-size:16px;font-weight:800;margin-bottom:4px}
.sakatsume-p-steps span{font-size:14.5px}

/* ---- 6) 表（トップ .sakatsume-hours と同じ書き方：横線のみ・縦線なし） ---- */
.sakatsume-p-table{
  width:100%;border-collapse:separate;border-spacing:0;background:#fff;
  border:1px solid var(--sakatsume-p-border);border-radius:8px;overflow:hidden;margin:18px 0;
}
.sakatsume-p-table th,.sakatsume-p-table td{
  padding:14px;font-size:14.5px;text-align:left;background:transparent;
  border:0 !important;                                            /* ★テーマがth/tdに付ける枠線（縦線の原因）を消す */
  border-bottom:1px solid var(--sakatsume-p-border) !important;   /* 行間の横線だけ引く */
}
.sakatsume-p-table thead th{background:var(--sakatsume-p-navy) !important;color:#fff;font-weight:700;text-align:center}
.sakatsume-p-table tbody th{color:var(--sakatsume-p-navy);font-weight:700;width:32%;white-space:nowrap}
.sakatsume-p-table tr:last-child th,.sakatsume-p-table tr:last-child td{border-bottom:0 !important}
.sakatsume-p-table .off{color:#b06a5a;font-weight:700}
.sakatsume-p-table .price{font-weight:900;color:var(--sakatsume-p-navy);font-size:17px}

/* 外枠のみ SWELL の .post_content table{border:none;border-collapse:collapse} に勝たせる
   （トップの .post_content table.sakatsume-hours と同じ書き方／th/tdの線は上の !important が制御） */
.post_content table.sakatsume-p-table{
  border:1px solid var(--sakatsume-p-border);
  border-collapse:separate;
  border-spacing:0;
  border-radius:8px;
  overflow:hidden;
}

/* ---- 7) 注記 ---- */
.sakatsume-p-note{font-size:12.5px;color:#8a7f6f;line-height:1.85;margin:14px 0 0}

/* ---- 8) 引用風の強調 ---- */
.sakatsume-p-pull{
  margin:22px 0;padding:18px 22px;background:var(--sakatsume-p-tint);
  border-left:4px solid var(--sakatsume-p-gold);border-radius:0 8px 8px 0;
  font-size:15.5px;font-weight:700;color:var(--sakatsume-p-navy);line-height:1.85;
}

/* ---- 9) 折りたたみ（プロフィールの「くわしい歩み」） ---- */
.sakatsume-p-more{margin:20px 0 0;border:1px solid var(--sakatsume-p-border);border-radius:8px;background:#fff;overflow:hidden}
.sakatsume-p-more > summary{
  list-style:none;cursor:pointer;padding:18px 22px;font-weight:800;
  color:var(--sakatsume-p-navy);font-size:15.5px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--sakatsume-p-card);
}
.sakatsume-p-more > summary::-webkit-details-marker{display:none}
.sakatsume-p-more > summary::marker{content:""}
.sakatsume-p-more > summary::after{content:"＋ ひらく";color:var(--sakatsume-p-gold);font-size:12.5px;font-weight:700;flex:none}
.sakatsume-p-more[open] > summary::after{content:"− とじる"}
.sakatsume-p-more .inner{padding:6px 24px 26px}

/* ---- 10) 院長プロフィール概要 ---- */
.sakatsume-p-prof{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;margin:34px 0 0}
.sakatsume-p-prof-photo{border-radius:10px;overflow:hidden;border:1px solid var(--sakatsume-p-border);background:var(--sakatsume-p-card)}
.sakatsume-p-prof-photo img{width:100% !important;height:auto !important;max-width:none;display:block}
.sakatsume-p-prof-meta .role{color:var(--sakatsume-p-gold);font-size:12px;font-weight:700;letter-spacing:.16em;margin:0 0 6px}
.sakatsume-p-prof-meta .name{color:var(--sakatsume-p-navy);font-size:28px;font-weight:900;line-height:1.3;margin:0 0 4px}
.sakatsume-p-prof-meta .kana{font-size:12.5px;color:#8a7f6f;margin:0 0 16px}
.sakatsume-p-badges{list-style:none !important;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0 !important}
.sakatsume-p-badges li{background:var(--sakatsume-p-navy);color:#fff;font-size:12.5px;font-weight:700;border-radius:5px;padding:6px 12px;margin:0;list-style:none !important}
.sakatsume-p-badges li::before{content:none !important}
.sakatsume-p-badges li.g{background:#fff;color:var(--sakatsume-p-navy);border:1px solid #d8d2c4}
.sakatsume-p-prof-meta .msg{font-size:14.5px;line-height:1.95;margin:0}

/* ---- 11) LINE誘導ボックス（お問い合わせページ） ---- */
.sakatsume-p-linebox{background:#f2fbf5;border:1px solid #bfe8cd;border-radius:10px;padding:28px 26px;margin:28px 0 0;text-align:center}
.sakatsume-p-linebox .ic{
  width:52px;height:52px;border-radius:14px;background:var(--sakatsume-p-line);margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:14px;
}
.sakatsume-p-linebox h3{color:#127a3d;font-size:19px;font-weight:900;margin:0 0 8px !important;padding:0 !important;background:none !important}
.sakatsume-p-linebox h3::before,.sakatsume-p-linebox h3::after{content:none !important}
.sakatsume-p-linebox p{font-size:14.5px;margin:0 0 16px}
.sakatsume-p-linebox .lbtn{display:inline-block;background:var(--sakatsume-p-line);color:#fff !important;font-weight:700;font-size:15px;padding:14px 34px;border-radius:8px;text-decoration:none}
.sakatsume-p-linebox .lbtn:hover,.sakatsume-p-linebox .lbtn:focus{background:var(--sakatsume-p-line-d);color:#fff !important;opacity:1}

/* ---- 12) フォームの器（CF7） ---- */
.sakatsume-p-formwrap{background:var(--sakatsume-p-card);border:1px solid var(--sakatsume-p-border);border-radius:8px;padding:24px;margin:18px 0}

/* ---- 13) 地図 ---- */
.sakatsume-p-map{border-radius:8px;overflow:hidden;border:1px solid #dfe4e9;margin:18px 0;line-height:0}
.sakatsume-p-map iframe{width:100%;height:360px;border:0;display:block}

/* ---- 14) 下部CTA ---- */
.sakatsume-p-cta{
  margin:52px 0 0;background:#fff;border:1px solid #e7dcc8;
  border-top:4px solid var(--sakatsume-p-navy);border-radius:10px;
  padding:32px 28px;text-align:center;box-shadow:0 12px 34px rgba(42,39,35,.07);
}
.sakatsume-p-cta .en{display:block;color:var(--sakatsume-p-gold);font-size:11.5px;font-weight:700;letter-spacing:.2em;margin-bottom:6px}
.sakatsume-p-cta h2{color:var(--sakatsume-p-navy);font-size:21px;font-weight:900;margin:0 0 6px !important;padding:0 !important;background:none !important;border:0 !important}
.sakatsume-p-cta h2::before,.sakatsume-p-cta h2::after{content:none !important}
.sakatsume-p-cta .sub{font-size:14px;margin:0 0 8px}
.sakatsume-p-cta .limit{display:inline-block;font-size:12px;color:#9a6a2e;background:#fbf4e6;border:1px solid #ecdcae;padding:3px 12px;border-radius:20px;margin-bottom:18px}
.sakatsume-p-btns{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
.sakatsume-p-btns a{font-weight:700;border-radius:8px;text-decoration:none;transition:background .2s}
.sakatsume-p-btns .rsv{background:var(--sakatsume-p-navy);color:#fff !important;font-size:15px;padding:14px 28px}
.sakatsume-p-btns .rsv:hover,.sakatsume-p-btns .rsv:focus{background:var(--sakatsume-p-navy-d);color:#fff !important;opacity:1}
.sakatsume-p-btns .line{background:var(--sakatsume-p-line);color:#fff !important;font-size:15px;padding:14px 26px}
.sakatsume-p-btns .line:hover,.sakatsume-p-btns .line:focus{background:var(--sakatsume-p-line-d);color:#fff !important;opacity:1}
.sakatsume-p-btns .tel{color:var(--sakatsume-p-navy) !important;font-weight:900;font-size:19px;border-bottom:3px solid var(--sakatsume-p-gold);border-radius:0;padding:0 2px 2px}

/* ---- 15) 関連ページ導線 ---- */
.sakatsume-p-rel{margin:44px 0 0}
.sakatsume-p-rel .rt{font-size:13px;color:#8a7f6f;text-align:center;margin-bottom:14px}
.sakatsume-p-rel ul{list-style:none !important;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0 !important}
.sakatsume-p-rel li{margin:0;list-style:none !important}
.sakatsume-p-rel li::before{content:none !important}
.sakatsume-p-rel a{
  display:block;background:var(--sakatsume-p-card);border:1px solid var(--sakatsume-p-border);
  border-radius:8px;padding:14px 16px;color:var(--sakatsume-p-navy);font-weight:700;font-size:14px;
  text-decoration:none;transition:border-color .2s,transform .2s;
}
.sakatsume-p-rel a:hover{border-color:var(--sakatsume-p-gold);transform:translateY(-2px)}
.sakatsume-p-rel a::after{content:" →";color:var(--sakatsume-p-gold)}

/* ---- 16) スマホ ---- */
@media (max-width:860px){
  .sakatsume-p-lead{margin-top:28px;padding:18px;font-size:14.5px}
  .post_content .sakatsume-p-h2{font-size:22px;margin:36px 0 14px}
  .post_content .sakatsume-p-h3{font-size:17px;margin:26px 0 10px}
  .sakatsume-p-card{padding:18px 18px}
  .sakatsume-p-table tbody th{width:34%;white-space:normal}
  .sakatsume-p-prof{grid-template-columns:1fr;gap:20px}
  .sakatsume-p-prof-photo{max-width:280px;margin:0 auto}
  .sakatsume-p-prof-meta{text-align:center}
  .sakatsume-p-prof-meta .name{font-size:24px}
  .sakatsume-p-badges{justify-content:center}
  .sakatsume-p-prof-meta .msg{text-align:left}
  .sakatsume-p-more .inner{padding:6px 18px 22px}
  .sakatsume-p-map iframe{height:280px}
  .sakatsume-p-cta{padding:26px 18px}
  .sakatsume-p-btns .tel{font-size:18px}
  .sakatsume-p-rel ul{grid-template-columns:1fr}
}

/* ---- 受付時間・料金など「中央寄せにしたい表」用（.sakatsume-p-center を併記）
       ※院の概要・所在地・経歴などの表は付けない＝左寄せのまま ---- */
.post_content table.sakatsume-p-table.sakatsume-p-center th,
.post_content table.sakatsume-p-table.sakatsume-p-center td{
  text-align:center;
}
.post_content table.sakatsume-p-table.sakatsume-p-center tbody th{
  width:50%;
}

/* ---- 下層ページ 写真（figure）：枠付き・キャプション付き ---- */
.post_content .sakatsume-p-figure{
  margin:22px 0; border-radius:8px; overflow:hidden;
  border:1px solid #ece1cf; background:#FBF9F5;
}
.post_content .sakatsume-p-figure img{
  width:100% !important; height:auto !important; max-width:none; display:block;
}
.post_content .sakatsume-p-figure figcaption{
  font-size:12.5px; color:#8a7f6f; padding:10px 14px; text-align:center; margin:0;
}


/* =========================================================================
   フッター改修 v1（2026-08-21）prefix: sakatsume-f-
   子テーマ parts/footer/footer_contents.php とセット。
   SWELLの詳細度に負けないよう .l-footer を前置する。
   ========================================================================= */

.l-footer .sakatsume-f {
  background: #F2ECE1;
  color: #2A2723;
  font-family: var(--sakatsume-font-base);
}
.l-footer .sakatsume-f a { color: #2A2723; text-decoration: none; }
.l-footer .sakatsume-f a:hover,
.l-footer .sakatsume-f a:focus { color: #0C1799; text-decoration: underline; }

/* ---- (a) 予約CTA帯 ---- */
.l-footer .sakatsume-f-cta {
  background: #FBF9F5;
  border-bottom: 1px solid #ece1cf;
  padding: 36px 0 32px;
  text-align: center;
}
.l-footer .sakatsume-f-cta__ttl {
  color: #0C1799;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.4;
  margin: 0 0 10px;
  padding: 0;
  background: none;
  border: 0;
}
.l-footer .sakatsume-f-cta__ttl::before,
.l-footer .sakatsume-f-cta__ttl::after { content: none; display: none; }
.l-footer .sakatsume-f-cta__lead {
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 20px;
}

/* ボタン（既存 .sakatsume-btn の見た目を踏襲） */
.l-footer .sakatsume-f-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}
.l-footer .sakatsume-f-btn {
  display: inline-block;
  padding: 0.75em 1.6em;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  border: 2px solid transparent;
  transition: background-color .2s ease, color .2s ease;
}
.l-footer .sakatsume-f-btn.-rsv {
  background-color: #0C1799;
  color: #FFFFFF;
}
.l-footer .sakatsume-f-btn.-rsv:hover,
.l-footer .sakatsume-f-btn.-rsv:focus {
  background-color: #080F5C;
  color: #FFFFFF;
  text-decoration: none;
}
.l-footer .sakatsume-f-btn.-tel {
  background-color: #FFFFFF;
  color: #0C1799;
  border-color: #0C1799;
}
.l-footer .sakatsume-f-btn.-tel:hover,
.l-footer .sakatsume-f-btn.-tel:focus {
  background-color: #0C1799;
  color: #FFFFFF;
  text-decoration: none;
}
.l-footer .sakatsume-f-btn.-line {
  background-color: #06C755;
  color: #FFFFFF;
}
.l-footer .sakatsume-f-btn.-line:hover,
.l-footer .sakatsume-f-btn.-line:focus {
  background-color: #05a647;
  color: #FFFFFF;
  text-decoration: none;
}

/* ---- (b) 3カラム ---- */
.l-footer .sakatsume-f-body { padding: 36px 0 28px; }
.l-footer .sakatsume-f-cols {
  display: grid;
  grid-template-columns: 1fr 1.7fr 1fr;
  gap: 32px;
  align-items: start;
}
.l-footer .sakatsume-f-h {
  color: #0C1799;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
  margin: 0 0 10px;
  padding: 0 0 6px;
  border-bottom: 1px solid #ece1cf;
  background: none;
}
.l-footer .sakatsume-f-h::before,
.l-footer .sakatsume-f-h::after { content: none; display: none; }

/* ① 院の情報 */
.l-footer .sakatsume-f-name {
  font-size: 18px;
  font-weight: 900;
  margin: 0 0 12px;
  line-height: 1.5;
}
.l-footer .sakatsume-f-addr,
.l-footer .sakatsume-f-access {
  font-size: 14px;
  line-height: 1.9;
  margin: 0 0 12px;
}
.l-footer .sakatsume-f-addr .tel {
  color: #2A2723;
  font-weight: 700;
}
.l-footer .sakatsume-f-addr .tel:hover,
.l-footer .sakatsume-f-addr .tel:focus { color: #0C1799; }
.l-footer .sakatsume-f-more { margin: 0; font-size: 14px; }
.l-footer .sakatsume-f-more a { font-weight: 700; }
.l-footer .sakatsume-f-more a::after { content: " →"; }

/* ② サイトマップ（内部2列） */
.l-footer .sakatsume-f-col.-sitemap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.l-footer .sakatsume-f-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
}
.l-footer .sakatsume-f-list li {
  list-style: none;
  margin: 0 0 6px;
  padding: 0;
  line-height: 1.6;
}
.l-footer .sakatsume-f-list li::before,
.l-footer .sakatsume-f-list li::marker { content: none; }

/* ③ 診療案内：受付時間表（枠線は出さない） */
.l-footer table.sakatsume-f-hours {
  width: 100%;
  border: none;
  border-collapse: collapse;
  margin: 0 0 14px;
  font-size: 14px;
  background: none;
}
.l-footer table.sakatsume-f-hours th,
.l-footer table.sakatsume-f-hours td {
  border: none;
  background: none;
  padding: 4px 0;
  text-align: left;
  font-weight: 400;
  line-height: 1.7;
  vertical-align: top;
}
.l-footer table.sakatsume-f-hours th {
  width: 8.5em;
  white-space: nowrap;
  color: #2A2723;
}
.l-footer .sakatsume-f-list--guide { margin-top: 4px; }

/* ---- (c) 最下部 ---- */
.l-footer .l-footer__foot.sakatsume-f-foot {
  background: #E8DFD0;
  color: #6b625a;
  padding: 18px 0 20px;
  text-align: center;
}
.l-footer .sakatsume-f-foot .copyright {
  color: #6b625a;
  font-size: 13px;
  margin: 8px 0 0;
  line-height: 1.7;
}
.l-footer .sakatsume-f-foot .c-iconList {
  justify-content: center;
  margin: 0;
}
.l-footer .sakatsume-f-foot .c-iconList__link { color: #6b625a; }
.l-footer .sakatsume-f-foot .c-iconList__link:hover,
.l-footer .sakatsume-f-foot .c-iconList__link:focus { color: #0C1799; }

/* ---- タブレット ---- */
@media (max-width: 959px) {
  .l-footer .sakatsume-f-cols {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .l-footer .sakatsume-f-col.-sitemap { grid-column: 1 / -1; order: 3; }
}

/* ---- スマホ（〜599px）：縦1列。症状リストは2列＋小さめ ---- */
@media (max-width: 599px) {
  .l-footer .sakatsume-f-cta { padding: 28px 0 26px; }
  .l-footer .sakatsume-f-cta__ttl { font-size: 20px; }
  .l-footer .sakatsume-f-btns {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .l-footer .sakatsume-f-btn { width: 100%; }

  .l-footer .sakatsume-f-body { padding: 28px 0 22px; }
  .l-footer .sakatsume-f-cols {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .l-footer .sakatsume-f-col.-sitemap {
    grid-column: auto;
    order: 0;
    grid-template-columns: 1fr;
    gap: 22px;
  }
  /* 症状10項目は2列に折り返して縦を短くする */
  .l-footer .sakatsume-f-list.-cure {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    font-size: 13px;
  }
  .l-footer table.sakatsume-f-hours th { width: 7.5em; }
}


/* =========================================================================
   お問い合わせフォーム（CF7）の見た目調整 2026-09-13
   ・フォーム本文（CF7管理画面）は変更せず、旧テーマ由来クラスをCSSで吸収する
   ・セレクタは .sakatsume-p-formwrap 起点。サイト全体の .btn 等には影響させない
   ・見た目は既存 .sakatsume-btn / .sakatsume-p-* の値を流用（新規デザインは作らない）
   ========================================================================= */

/* ---- 1) 入力欄 ---- */
.sakatsume-p-formwrap input[type="text"],
.sakatsume-p-formwrap input[type="email"],
.sakatsume-p-formwrap input[type="tel"],
.sakatsume-p-formwrap textarea {
  width: 100%;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0.6em 0.8em;
  background: #FFFFFF;
  border: 1px solid var(--sakatsume-p-border);
  border-radius: 6px;
  color: var(--sakatsume-p-ink, #2A2723);
  font-size: 16px; /* iOSで自動ズームさせない */
  line-height: 1.6;
}
.sakatsume-p-formwrap textarea { min-height: 9em; resize: vertical; }

.sakatsume-p-formwrap input[type="text"]:focus,
.sakatsume-p-formwrap input[type="email"]:focus,
.sakatsume-p-formwrap input[type="tel"]:focus,
.sakatsume-p-formwrap textarea:focus {
  border-color: var(--sakatsume-p-navy);
  outline: none;
  box-shadow: 0 0 0 2px rgba(12, 23, 153, 0.12);
}

/* dl/dd レイアウトの余白（旧テーマのマージンを打ち消す） */
.sakatsume-p-formwrap dl.form { margin: 0; }
.sakatsume-p-formwrap dl.form dt { margin: 16px 0 6px; font-weight: 700; }
.sakatsume-p-formwrap dl.form dt:first-child { margin-top: 0; }
.sakatsume-p-formwrap dl.form dd { margin: 0 0 4px; }

/* ---- 2) 送信ボタン（既存 .sakatsume-btn と同じ見た目） ---- */
.sakatsume-p-formwrap input[type="submit"] {
  display: inline-block;
  padding: 0.75em 1.6em;
  background-color: var(--sakatsume-main);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  width: auto;
  min-width: 16em;
  transition: background-color 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}
/* hoverで文字が消えないよう、色は必ず明示する */
.sakatsume-p-formwrap input[type="submit"]:hover,
.sakatsume-p-formwrap input[type="submit"]:focus {
  background-color: var(--sakatsume-main-dark);
  color: #FFFFFF;
  opacity: 1;
  text-decoration: none;
}
.sakatsume-p-formwrap input[type="submit"]:focus-visible {
  outline: 2px solid var(--sakatsume-sub);
  outline-offset: 2px;
}
.sakatsume-p-formwrap .center { text-align: center; margin-top: 20px; }

/* ---- 3) 必須マーク（旧テーマの .text-red を赤くする） ---- */
.sakatsume-p-formwrap .text-red { color: #c0392b; font-weight: 700; }

/* ---- 4) ラジオボタン（お問合せ項目） ---- */
.sakatsume-p-formwrap .wpcf7-radio { display: inline-flex; flex-wrap: wrap; gap: 8px 22px; }
.sakatsume-p-formwrap .wpcf7-list-item { margin: 0; }
.sakatsume-p-formwrap .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.sakatsume-p-formwrap input[type="radio"] { width: auto; margin: 0; }

/* CF7の応答メッセージ */
.sakatsume-p-formwrap .wpcf7-not-valid-tip { color: #c0392b; font-size: 14px; }
.sakatsume-p-formwrap .wpcf7-response-output { border-radius: 6px; font-size: 14px; }

/* ---- SP ---- */
@media screen and (max-width: 599px) {
  .sakatsume-p-formwrap { padding: 18px; }
  .sakatsume-p-formwrap input[type="submit"] { width: 100%; min-width: 0; }
}


/* =====================================================================
   投稿末尾CTA（functions.php の sakatsume_post_cta で出力）
   カード枠・紺ボタン・レイアウトは既存の .sakatsume-p-cta / .sakatsume-p-btns
   をそのまま流用。ここで足すのは次の3点だけ。
     1) 見出しを h2 以外のタグ（p.ttl）で使うための文字指定
        ※値は既存 .sakatsume-p-cta h2 と同一
     2) リード文と、ボタンとの間の余白
     3) 電話ボタンを「白地＋紺の枠」にする指定
        ※既存の .sakatsume-p-btns .tel はゴールド下線のテキストリンクのため
   すべて .sakatsume-post-cta 配下にスコープし、既存のCTAには影響させない。
   ===================================================================== */
.sakatsume-post-cta .ttl{
  color:var(--sakatsume-p-navy);font-size:21px;font-weight:900;line-height:1.4;
  margin:0 0 6px;
}
.sakatsume-post-cta .sub{margin:0 0 18px;text-align:left}
.sakatsume-post-cta .sakatsume-p-btns .tel{
  background:#fff;color:var(--sakatsume-p-navy) !important;
  border:2px solid var(--sakatsume-p-navy);
  border-radius:8px;
  font-size:15px;font-weight:700;
  /* line-height は .rsv と同じものを継承させる（高さを揃えるため） */
  /* 枠線2px分を引いて .rsv と高さを揃える */
  padding:12px 26px;
}
.sakatsume-post-cta .sakatsume-p-btns .tel:hover,
.sakatsume-post-cta .sakatsume-p-btns .tel:focus{
  background:var(--sakatsume-p-navy);color:#fff !important;opacity:1;
}
@media (max-width:860px){
  /* SPは縦積み */
  .sakatsume-post-cta .sakatsume-p-btns{flex-direction:column;align-items:stretch}
  .sakatsume-post-cta .sakatsume-p-btns a{width:100%}
  .sakatsume-post-cta .sakatsume-p-btns .tel{font-size:15px}
}

/* ---- ラジオ出演バナー（トップ ⑧-2）2026-09-30 ---- */
.sakatsume-radio-banner{display:block}
.sakatsume-radio-banner img{width:100%;height:auto;display:block}
@media (max-width:600px){
  /* SPは横長バナーの文字が小さくなるため、左右の余白を外して幅いっぱいに */
  #radio{padding-left:0;padding-right:0}
  #radio .sakatsume-sec-wrap{padding-left:0;padding-right:0}
}

/* ---- 目次（Easy Table of Contents）の上下余白 2026-10-02 ----
   直前の要素とくっついて見えるため、他ブロック（.sakatsume-p-linebox 等）と
   同じ 28px の間隔を与える。ID セレクタなので !important は不要。 */
#ez-toc-container{
  margin-top:28px;
  margin-bottom:28px;
}

/* ---- SWELLの目次をサイトの基調に合わせる 2026-10-02 ----
   SWELLがインラインで #main_content .p-toc と .p-toc.-double を出すため、
   同等以上の詳細度で上書きする（!important は使わない）。 */
#main_content .p-toc,
#main_content .p-toc.-double{
  margin:28px auto;
  padding:24px;
  background:#FBF9F5;
  border:1px solid #F2ECE1;
  border-radius:8px;
}
.p-toc .p-toc__ttl{
  font-size:1.15em;
  font-weight:700;
  color:#2A2723;
}
.p-toc .p-toc__link{ line-height:1.9; }
.p-toc .p-toc__childList{ padding-left:1.4em; }
@media (max-width:600px){
  #main_content .p-toc,
  #main_content .p-toc.-double{ padding:20px; }
}
