@charset "UTF-8";
/*
Theme Name: コチェキ Child
Theme URI: https://coacheck.jp/
Description: SWELL 子テーマ（コチェキ / Coacheck）。英語コーチング比較メディア。ブランド=ディープティール #0F766E。月1億層プレイブック(shared/04/09)+UIパターン辞書(shared/14)+競合englishfactor超えの勝ち筋5つを実装。
Author: コチェキ編集部
Template: swell
Version: 1.2.0
*/

/* =========================================================
   🎨 ブランドトークン（footprint分散：マンガレーダー=インディゴ+オレンジ、電子書籍系とは色相完全分離）
   出典: brand_identity_spec.md / shared/13
   ========================================================= */
:root {
  --cck_teal:        #0F766E; /* primary: ロゴ/ヘッダ/H/リンク */
  --cck_teal_dark:   #134E4A; /* footer/hero濃色 */
  --cck_teal_light:  #1A9389; /* hover */
  --cck_coral:       #F97362; /* CTA専用（無料カウンセリング予約）希少運用 */
  --cck_coral_dark:  #E85A48;
  --cck_amber:       #F59E0B; /* 給付金バッジ/1位/★ */
  --cck_offwhite:    #FAFAF7; /* 背景 */
  --cck_charcoal:    #1F2937; /* 本文 */
  --cck_muted:       #5B6470; /* 補足テキスト */
  --cck_pale_teal:   #E6F4F1; /* 引用/比較表ヘッダ地/編集部ボックス */
  --cck_mint:        #CCE6E2; /* 罫線/区切り */
  --cck_pale_coral:  #FDEAE6; /* PR表記背景 */
  --cck_pale_amber:  #FEF3C7; /* 給付金/おすすめ枠 */
  --cck_border:      #E3E8E6;

  --cck_shadow_sm: 0 2px 4px rgba(19,78,74,.06), 0 1px 2px rgba(19,78,74,.04);
  --cck_shadow_md: 0 4px 14px rgba(19,78,74,.08), 0 2px 4px rgba(19,78,74,.05);
  --cck_shadow_lg: 0 14px 30px rgba(19,78,74,.10), 0 4px 8px rgba(19,78,74,.06);
  --cck_shadow_coral: 0 6px 16px rgba(249,115,98,.30);
  --cck_shadow_coral_hover: 0 12px 24px rgba(249,115,98,.42);

  --cck_radius_sm: 6px;
  --cck_radius_md: 10px;
  --cck_radius_lg: 14px;

  /* SWELL 主要変数の上書き */
  --color_main: #0F766E;
  --color_text: #1F2937;
}

/* SWELL は --color_main をコンテナに再宣言するため、同じセレクタで再上書き（manga-radar実証パターン） */
body,
.l-header, .p-globalNav, .c-gnav, .l-footer,
.l-content, .l-container, .l-mainArea, .l-sidebar,
.c-pageTitle, .c-postTitle, .c-postThumb__cap,
.p-postList__title, .p-blogCard, .swell-block-button {
  --color_main: var(--cck_teal);
}

/* =========================================================
   ✍️ タイポグラフィ（誠実な編集物・高可読性）
   ========================================================= */
body {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
    "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;
  font-weight: 400;
  color: var(--cck_charcoal);
  background-color: var(--cck_offwhite);
  letter-spacing: .03em;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4,
.c-pageTitle, .c-postTitle, .p-postList__title {
  font-family: "Noto Sans JP", -apple-system, "Hiragino Sans", sans-serif;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--cck_teal_dark);
}
a { color: var(--cck_teal); }
a:hover { color: var(--cck_teal_light); }

/* =========================================================
   📜 本文 見出し（H2: ティール左帯 / H3: アンダーライン）shared/14 trust+可読性
   ========================================================= */
.post_content h2 {
  background: var(--cck_pale_teal);
  border-left: 6px solid var(--cck_teal);
  color: var(--cck_teal_dark);
  padding: .8em 1em;
  margin: 2.6em 0 1.1em;
  font-size: 1.5em;
  line-height: 1.5;
  border-radius: 0 var(--cck_radius_md) var(--cck_radius_md) 0;
}
.post_content h3 {
  border-bottom: 3px solid var(--cck_mint);
  color: var(--cck_teal_dark);
  padding: 0 0 .35em .1em;
  margin: 2em 0 .9em;
  font-size: 1.25em;
}
.post_content h3::before {
  content: "▎"; color: var(--cck_teal); margin-right: .25em;
}
/* コンポーネント内の見出しは SWELL の H2/H3 装飾(背景帯・左罫・▎)をリセット */
.post_content .cck-hero__title,
.post_content .cck-rank__title,
.post_content .cck-tldr__title,
.post_content .cck-diagnosis__title,
.post_content .cck-benefit__title {
  background: none !important; border: none !important; padding: 0 !important; margin: 0 0 .4em !important; border-radius: 0 !important;
}
.post_content .cck-hero__title::before,
.post_content .cck-rank__title::before,
.post_content .cck-tldr__title::before,
.post_content .cck-diagnosis__title::before,
.post_content .cck-benefit__title::before { content: none !important; }
.post_content a:not(.cck-cta):not(.cck-card){
  text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--cck_mint);
}
/* 旧カスタムヒーロー非表示 (SWELL MV に移行 2026-06-13) */
.cck-hero { display: none !important; }
.p-postSlider,
.p-pickupSlider { display: none !important; }

/* =========================================================
   🧭 ヘッダー / グローバルナビ（テキストロゴ暫定＝Canvaロゴ差替えまで）
   ========================================================= */
.l-header { box-shadow: var(--cck_shadow_sm); }
.c-gnav__item > a:hover, .p-globalNav a:hover { color: var(--cck_teal); }
/* ロゴ未設定時：サイト名テキストをブランド表示 */
.c-headLogo__link, .l-header .siteTitle a {
  color: var(--cck_teal_dark) !important; font-weight: 800; letter-spacing:.02em;
}

/* =========================================================
   ① FV ヒーロー（Pattern 1-A 結論先出し / 1-C 比較表先出し）
   勝ち筋: 「全部、受けてから選ぶ。」一次体験の宣言
   ========================================================= */
.cck-hero {
  background: linear-gradient(135deg, var(--cck_teal) 0%, var(--cck_teal_dark) 100%);
  color: #fff;
  border-radius: var(--cck_radius_lg);
  padding: clamp(24px, 5vw, 48px);
  margin: 0 0 28px;
  box-shadow: var(--cck_shadow_md);
}
.cck-hero__eyebrow {
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.08em;
  background: rgba(255,255,255,.16); color:#fff; padding:4px 12px; border-radius:999px; margin-bottom:14px;
}
.cck-hero__title { color:#fff; font-size: clamp(1.5rem, 4.4vw, 2.3rem); line-height:1.4; margin:0 0 .5em; font-weight:800; }
.cck-hero__lead { color: rgba(255,255,255,.92); font-size:1rem; margin:0 0 1.2em; }
.cck-hero__points { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:1.4em; padding:0; list-style:none; }
.cck-hero__points li {
  background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  padding:7px 14px; border-radius:999px; font-size:.86rem; font-weight:600;
}
.cck-hero__points li::before { content:"✓ "; color: var(--cck_amber); font-weight:900; }

/* =========================================================
   ④ CTAボタン（Pattern 4-D/4-E）コーラル希少運用・48px・動詞化・マイクロコピー
   勝ち筋4: 「無料カウンセリングを予約」
   ========================================================= */
.cck-cta, a.cck-cta {
  display:flex; align-items:center; justify-content:center; gap:.5em;
  width:100%; max-width:520px; margin:14px auto; box-sizing:border-box;
  min-height:56px; padding:16px 24px;
  background: var(--cck_coral); color:var(--cck_charcoal) !important;
  font-size:1.12rem; font-weight:800; letter-spacing:.02em; text-decoration:none !important;
  border:none; border-radius:var(--cck_radius_md); cursor:pointer;
  box-shadow: var(--cck_shadow_coral);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
/* WCAG AA: 白文字×コーラルは2.9:1で不合格。brand_identity_spec の指定どおりチャコール文字(5.1:1)に統一 */
.cck-cta:hover { background: var(--cck_coral_dark); transform: translateY(-2px) scale(1.01); box-shadow: var(--cck_shadow_coral_hover); color:var(--cck_charcoal) !important; }
.cck-cta:active { transform: scale(.99); }
.cck-cta::after { content:"›"; font-size:1.3em; line-height:1; }
/* ゴースト(白枠)CTA: a.cck-cta(詳細度0,1,1)に負けて全部コーラル化していた不具合を !important + a付きセレクタで修正。
   コーラル希少運用(brand spec)のため、診断・編集部方針など補助CTAはゴーストに戻す。 */
a.cck-cta--ghost, button.cck-cta--ghost, .cck-cta--ghost {
  background:#fff !important; color:var(--cck_teal) !important; border:2px solid var(--cck_teal); box-shadow:none !important;
}
a.cck-cta--ghost:hover, button.cck-cta--ghost:hover, .cck-cta--ghost:hover { background:var(--cck_pale_teal) !important; color:var(--cck_teal_dark) !important; }
.cck-cta__micro { display:block; text-align:center; font-size:.8rem; color:var(--cck_muted); margin:-4px 0 18px; }
.cck-cta__micro::before { content:"🔒 "; }
/* 濃色ヒーロー上ではマイクロコピーが muted グレーで判読不能だった → 白系に */
.cck-hero .cck-cta__micro { color: rgba(255,255,255,.85); }

/* =========================================================
   ④-B スマホ スティッキーCTA（Pattern 4-B：+31%CV）
   ========================================================= */
.cck-sticky-cta {
  position: fixed; left:0; right:0; bottom:0; z-index:200;
  display:flex; align-items:center; gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.98); box-shadow: 0 -2px 12px rgba(19,78,74,.14);
  transform: translateY(110%); transition: transform .25s ease;
}
.cck-sticky-cta.is-visible { transform: translateY(0); }
.cck-sticky-cta .cck-cta { margin:0; min-height:48px; font-size:1rem; }
.cck-sticky-cta__close {
  flex:0 0 auto; width:32px; height:32px; border:none; background:transparent;
  color:var(--cck_muted); font-size:1.2rem; cursor:pointer;
}
@media (min-width:768px){ .cck-sticky-cta{ display:none; } } /* スマホ専用 */

/* =========================================================
   ② 比較表（Pattern 2-A/2-E：横並び・差異強調・スマホ→カード化）
   勝ち筋4: englishfactor型1表（料金/期間/コーチ/返金/給付金/無料カウンセリング）
   ========================================================= */
.cck-compare-wrap { position:relative; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.5em 0; border-radius:var(--cck_radius_md); box-shadow:var(--cck_shadow_sm); }
.cck-compare { width:100%; min-width:760px; border-collapse:collapse; background:#fff; font-size:.92rem; }
.cck-compare thead th {
  background: var(--cck_teal); color:#fff; font-weight:700; padding:12px 10px; text-align:center; white-space:nowrap;
  position:sticky; top:0;
}
.cck-compare th.cck-col-name, .cck-compare td.cck-col-name {
  position:sticky; left:0; background:#fff; text-align:left; min-width:160px; font-weight:700; box-shadow:2px 0 4px rgba(0,0,0,.04);
}
.cck-compare td { padding:12px 10px; text-align:center; border-bottom:1px solid var(--cck_mint); vertical-align:middle; }
.cck-compare tbody tr:nth-child(even) td { background:#FCFDFD; }
.cck-compare tbody tr.is-pick td { background: var(--cck_pale_amber); }
.cck-compare tbody tr.is-pick td.cck-col-name { background: var(--cck_pale_amber); }
.cck-compare .is-best { color: var(--cck_teal_dark); font-weight:800; }
.cck-compare .is-best::after { content:" ◎"; color: var(--cck_amber); }
.cck-compare .cck-cta { min-height:42px; padding:8px 14px; font-size:.9rem; max-width:160px; margin:0 auto; }
/* スクロールヒント */
.cck-compare-wrap::after {
  content:""; position:absolute; top:0; right:0; bottom:0; width:28px; pointer-events:none;
  background: linear-gradient(to left, rgba(255,255,255,.95), transparent);
}
@media (max-width:767px){
  .cck-compare { min-width:0; display:block; }
  .cck-compare thead { display:none; }
  .cck-compare tbody, .cck-compare tr, .cck-compare td { display:block; width:100%; box-sizing:border-box; }
  .cck-compare tr { margin:0 0 14px; border:1px solid var(--cck_border); border-radius:var(--cck_radius_md); overflow:hidden; box-shadow:var(--cck_shadow_sm); }
  .cck-compare tr.is-pick { border-color: var(--cck_amber); border-width:2px; }
  .cck-compare td { display:flex; justify-content:space-between; align-items:center; gap:12px; text-align:right; border-bottom:1px solid var(--cck_mint); }
  .cck-compare td::before { content: attr(data-label); font-weight:700; color:var(--cck_muted); text-align:left; }
  .cck-compare td.cck-col-name { position:static; background:var(--cck_pale_teal); color:var(--cck_teal_dark); font-size:1.05rem; justify-content:center; }
  .cck-compare td.cck-col-name::before { content:none; }
  .cck-compare .cck-cta { max-width:none; }
  .cck-compare-wrap::after { content:none; }
}

/* =========================================================
   ③ ランキング（Pattern 3-A 1位ヒーロー / 3-C ラベル）
   勝ち筋: 報酬順でなく読者ニーズで差別化（shared/14§3-C, HCU）
   ========================================================= */
.cck-rank { background:#fff; border:1px solid var(--cck_border); border-radius:var(--cck_radius_lg); padding:22px; margin:1.4em 0; box-shadow:var(--cck_shadow_sm); position:relative; }
.cck-rank--1 { border:2px solid var(--cck_amber); box-shadow:var(--cck_shadow_md); }
.cck-rank__rankbadge {
  position:absolute; top:-14px; left:18px; background:var(--cck_amber); color:#3a2a00;
  font-weight:900; font-size:.85rem; padding:5px 14px; border-radius:999px; box-shadow:var(--cck_shadow_sm);
}
.cck-rank--1 .cck-rank__rankbadge::before { content:"🏆 "; }
.cck-rank__label { display:inline-block; background:var(--cck_pale_teal); color:var(--cck_teal_dark); font-weight:700; font-size:.8rem; padding:3px 10px; border-radius:6px; margin-bottom:8px; }
.cck-rank__title { font-size:1.35rem; margin:.2em 0 .4em; color:var(--cck_teal_dark); }
.cck-rank__score { color:var(--cck_amber); font-weight:800; font-size:1.05rem; }
.cck-rank__score small { color:var(--cck_muted); font-weight:400; }

/* =========================================================
   🏷 バッジ（給付金=アンバー / PR / 受講済）brand
   ========================================================= */
.cck-badge { display:inline-block; font-size:.78rem; font-weight:700; padding:3px 10px; border-radius:6px; line-height:1.6; white-space:nowrap; }
.cck-badge--benefit { background:var(--cck_pale_amber); color:#7a4d00; border:1px solid var(--cck_amber); }
.cck-badge--benefit::before { content:"給付金 "; }
.cck-badge--verified { background:var(--cck_pale_teal); color:var(--cck_teal_dark); border:1px solid var(--cck_teal); }
.cck-badge--verified::before { content:"✓ 編集部受講済 "; }

/* =========================================================
   ⑤ PR表記（Pattern 8-D：ステマ規制・冒頭明示）
   ========================================================= */
.cck-pr {
  background: var(--cck_pale_coral); border-left:4px solid var(--cck_coral);
  padding:9px 14px; margin:14px 0; font-size:.85rem; color:#7a3a30; border-radius:0 6px 6px 0;
}

/* =========================================================
   📰 プレスリリース引用ブロック（shared/20 §2-3・PR引用記事用）
   全メディア統一の <blockquote> だが footprint分散のため cck- 専用クラスで配色
   ========================================================= */
.cck-press-quote {
  background: var(--cck_pale_teal);
  border-left: 4px solid var(--cck_teal);
  border-radius: 0 var(--cck_radius_md) var(--cck_radius_md) 0;
  margin: 1.4em 0; padding: 16px 18px;
  color: var(--cck_charcoal); font-size: .95rem; line-height: 1.85;
}
.cck-press-quote cite {
  display: block; margin-top: .6em; font-size: .8rem; font-style: normal; color: var(--cck_muted);
}
.cck-press-quote cite a { color: var(--cck_teal_dark); }

/* =========================================================
   🔗 関連レビューカード（shared/14 §5-A 4点セット / PR引用記事 3-18 必須）
   コーチングは物販画像が無いため「他社レビューへの内部リンクカード」で構成
   ========================================================= */
.cck-related-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 1.4em 0; }
@media (max-width: 600px){ .cck-related-cards { grid-template-columns: 1fr; } }
.cck-related-card {
  display: flex; flex-direction: column; gap: 6px;
  background: #fff; border: 1px solid var(--cck_border); border-radius: var(--cck_radius_md);
  padding: 14px 16px; box-shadow: var(--cck_shadow_sm); text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cck-related-card:hover { transform: translateY(-2px); box-shadow: var(--cck_shadow_md); }
.cck-related-card__title { font-weight: 800; color: var(--cck_teal_dark); font-size: 1.02rem; }
.cck-related-card__meta { font-size: .82rem; color: var(--cck_muted); }
.cck-related-card__comment { font-size: .88rem; color: var(--cck_charcoal); }
.cck-related-card__cta { margin-top: 2px; font-size: .85rem; font-weight: 700; color: var(--cck_coral_dark); }
.cck-related-card__cta::after { content: " →"; }

/* =========================================================
   ⑤ 編集部ボックス（一次体験・E-E-A-T／editorial_profile）
   勝ち筋1: 全社カウンセリング実受講主義の可視化
   ========================================================= */
.cck-editorial {
  background: var(--cck_pale_teal); border:1px solid var(--cck_teal);
  border-radius: var(--cck_radius_md); padding:18px 20px; margin:1.6em 0; position:relative;
}
.cck-editorial__head { display:flex; align-items:center; gap:10px; font-weight:800; color:var(--cck_teal_dark); margin-bottom:.5em; }
.cck-editorial__head::before { content:"✓"; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; background:var(--cck_teal); color:#fff; border-radius:8px; font-weight:900; }
.cck-editorial p:last-child { margin-bottom:0; }
/* 6評価項目チップ（#3 採点基準の artifact 可視化） */
.cck-criteria { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:.8em 0 0; padding:0; }
.cck-criteria li { display:flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--cck_teal); color:var(--cck_teal_dark); font-size:.82rem; font-weight:700; padding:6px 12px; border-radius:999px; }
.cck-criteria__n { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; background:var(--cck_teal); color:#fff; border-radius:50%; font-size:.7rem; }

/* =========================================================
   🧪 適合診断ツール（#1 勝ち筋②：多変数の簡易診断・JSは段階的強化）
   ========================================================= */
.cck-quiz { margin:1.2em 0 0; text-align:left; }
.cck-quiz__q { margin:0 0 .9em; }
.cck-quiz__q > p { font-weight:800; color:var(--cck_teal_dark); margin:0 0 .5em; font-size:.96rem; }
.cck-quiz__opts { display:flex; flex-wrap:wrap; gap:8px; }
.cck-quiz__opts label { cursor:pointer; }
.cck-quiz__opts input { position:absolute; opacity:0; width:0; height:0; }
.cck-quiz__opts label span { display:inline-block; background:#fff; border:1.5px solid var(--cck_mint); color:var(--cck_charcoal); font-size:.88rem; font-weight:600; padding:8px 14px; border-radius:999px; transition:all .15s ease; }
.cck-quiz__opts input:checked + span { background:var(--cck_teal); color:#fff; border-color:var(--cck_teal); }
.cck-quiz__opts input:focus-visible + span { outline:3px solid var(--cck_teal); outline-offset:2px; }
.cck-quiz__result { margin:1em 0 0; padding:16px; background:#fff; border:2px solid var(--cck_amber); border-radius:var(--cck_radius_md); }
.cck-quiz__result[hidden] { display:none; }
.cck-quiz__result .cck-quiz__pick { font-size:1.15rem; font-weight:800; color:var(--cck_teal_dark); margin:0 0 .3em; }
.cck-quiz__result .cck-quiz__pick b { color:var(--cck_coral_dark); }
.cck-quiz__why { font-size:.9rem; color:var(--cck_muted); margin:0 0 .6em; }

/* 著者/編集部 ボックス（Pattern 8-A） */
.cck-author { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--cck_border); border-radius:var(--cck_radius_md); padding:16px; margin:1.6em 0; box-shadow:var(--cck_shadow_sm); }
.cck-author__avatar { flex:0 0 auto; width:64px; height:64px; border-radius:10px; background:var(--cck_teal); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:1.4rem; }
.cck-author__name { font-weight:800; color:var(--cck_teal_dark); margin:0; }
.cck-author__meta { font-size:.85rem; color:var(--cck_muted); margin:.2em 0 0; }

/* =========================================================
   ⑥ TLDR（Pattern 6-A：1分でわかる総評）
   ========================================================= */
.cck-tldr { background:#fff; border:2px solid var(--cck_teal); border-radius:var(--cck_radius_md); padding:18px 20px; margin:1.6em 0; box-shadow:var(--cck_shadow_sm); }
.cck-tldr__title { display:flex; align-items:center; gap:8px; color:var(--cck_teal_dark); font-weight:800; margin:0 0 .6em; }
.cck-tldr__title::before { content:"★"; color:var(--cck_amber); }
.cck-tldr ul { margin:.4em 0; padding-left:1.2em; }

/* メリット/デメリット2カラム（Pattern 6-B：デメリット開示で信頼+CVR） */
.cck-proscons { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.6em 0; }
.cck-proscons > div { border-radius:var(--cck_radius_md); padding:16px; }
.cck-proscons .cck-pros { background:var(--cck_pale_teal); border:1px solid var(--cck_teal); }
.cck-proscons .cck-cons { background:#FBF1EF; border:1px solid var(--cck_coral); }
/* 見出しでなく視覚ラベル(.cck-pc-h)。文書アウトライン(H2→H4飛ばし)を汚さないため p で実装。 */
.cck-proscons .cck-pc-h { margin:0 0 .5em; font-weight:800; font-size:1.05em; }
.cck-proscons .cck-pros .cck-pc-h { color:var(--cck_teal_dark); }
.cck-proscons .cck-pros .cck-pc-h::before { content:"✅ "; }
.cck-proscons .cck-cons .cck-pc-h { color:var(--cck_coral_dark); }
.cck-proscons .cck-cons .cck-pc-h::before { content:"⚠️ "; }
.cck-proscons ul { margin:0; padding-left:1.2em; }
@media (max-width:600px){ .cck-proscons{ grid-template-columns:1fr; } }

/* =========================================================
   ⑤ 検証スコア / 数字根拠バー（Pattern 6-E：マイベスト型スコア公開）
   ========================================================= */
.cck-stats { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; background:var(--cck_teal_dark); color:#fff; border-radius:var(--cck_radius_md); padding:18px; margin:1.6em 0; }
.cck-stats__item { text-align:center; min-width:90px; }
.cck-stats__num { display:block; font-size:1.6rem; font-weight:900; color:#fff; line-height:1.2; }
.cck-stats__num--amber { color:var(--cck_amber); }
.cck-stats__label { font-size:.78rem; color:rgba(255,255,255,.82); }

/* =========================================================
   🧪 適合診断 CTAカード（勝ち筋2：多変数 適合診断）
   ========================================================= */
.cck-diagnosis { background:linear-gradient(135deg,#fff, var(--cck_pale_teal)); border:1px solid var(--cck_teal); border-radius:var(--cck_radius_lg); padding:22px; margin:1.8em 0; text-align:center; box-shadow:var(--cck_shadow_sm); }
.cck-diagnosis__title { color:var(--cck_teal_dark); font-weight:800; font-size:1.2rem; margin:0 0 .3em; }
.cck-diagnosis__title::before { content:"🧭 "; }
.cck-diagnosis__lead { color:var(--cck_muted); font-size:.92rem; margin:0 0 1em; }

/* 💴 給付金シミュレータ ティザー（勝ち筋3：実質負担額・一般20%/最大10万円） */
.cck-benefit { background:var(--cck_pale_amber); border:1px solid var(--cck_amber); border-radius:var(--cck_radius_lg); padding:20px; margin:1.8em 0; }
.cck-benefit__title { color:#7a4d00; font-weight:800; margin:0 0 .3em; }
.cck-benefit__title::before { content:"💴 "; }
.cck-benefit__note { font-size:.8rem; color:#8a6a2a; margin:.6em 0 0; }

/* =========================================================
   ⑦ FAQ（Pattern 7-A：details・JS不要）
   ========================================================= */
.cck-faq details { border-bottom:1px solid var(--cck_mint); padding:6px 0; }
.cck-faq summary { cursor:pointer; font-weight:700; color:var(--cck_teal_dark); padding:10px 0; list-style:none; position:relative; padding-right:1.6em; }
.cck-faq summary::-webkit-details-marker { display:none; }
.cck-faq summary::after { content:"＋"; position:absolute; right:0; color:var(--cck_teal); font-weight:900; }
.cck-faq details[open] summary::after { content:"−"; }
.cck-faq details[open] summary { color:var(--cck_teal); }

/* =========================================================
   🦶 フッター（ミッドナイトティール）
   ========================================================= */
.l-footer { background: var(--cck_teal_dark); color: rgba(255,255,255,.86); }
.l-footer a { color: rgba(255,255,255,.9); }
.l-footer a:hover { color:#fff; }
.l-footer .c-widgetTitle, .l-footer .p-footerWidgets__title { color:#fff; }
.c-copyright, .l-footer .copyright { color: rgba(255,255,255,.62); font-size:.82rem; }

/* =========================================================
   ♿ アクセシビリティ（WCAG 2.2 AA：フォーカス可視・タップ48px・動き軽減）
   ========================================================= */
a, button, summary, .cck-cta { }
:focus-visible { outline:3px solid var(--cck_teal); outline-offset:2px; border-radius:4px; }
.cck-cta:focus-visible { outline-color:#fff; outline-offset:-4px; }
@media (prefers-reduced-motion: reduce){
  .cck-cta, .cck-sticky-cta, * { transition:none !important; animation:none !important; }
}

/* =========================================================
   📱 微調整
   ========================================================= */
.l-content { line-height:1.95; }
img { max-width:100%; height:auto; }
.post_content table:not(.cck-compare) { font-size:.92rem; }

/* =========================================================
   🖥 フロント(比較pillar)を1カラム化（A+B）
   body class が空(セキュリティ設定)のため body.home が使えない。
   フロント固有の .cck-hero を起点に :has() でフロントだけ限定し、
   DB(ウィジェット/オプション)を一切変えずにサイドバーを非表示＋本文全幅化。
   → SWELLデフォルトの「最近のコメント(表示できるコメントはありません)」等の
     初期ウィジェットがLPに出る問題と、比較表が狭くて横スクロール/給付金バッジ縦組みになる
     問題を同時に解消。記事ページのサイドバーは従来どおり維持。
   ========================================================= */
@media (min-width: 960px){
  body:has(.cck-hero) .l-sidebar,
  .home .l-sidebar { display:none !important; }
  body:has(.cck-hero) .l-mainContent,
  .home .l-mainContent {
    width:100% !important; max-width:100% !important; flex:0 0 100% !important;
  }
}

/* 2026-06-07 hero/eyecatch 高さ上限 横展開 (UI洗練) */
figure.p-articleThumb { text-align:center; }
figure.p-articleThumb img, .p-articleThumb__img { max-height: clamp(300px,56vh,500px) !important; width:auto !important; height:auto !important; max-width:100%; margin-inline:auto; display:block; object-fit:contain; }
.dbn-hero-link { display:block; text-align:center; }
.dbn-hero-link img { max-height: clamp(300px,56vh,500px); width:auto; height:auto; max-width:100%; margin-inline:auto; display:block; }
