/* === (70) V3 トップ・一覧(案B「証跡色を効かせた編集誌面」)=================
   V3 2026-09-03
   正本(意匠): design-review-20260902/canvas-bizkeiri-2026-09.dc.html 板 1b
               ①PCトップ1440 / ②SPトップ390 / ③一覧(カテゴリ)PC1440
   正本(実装): design-review-20260902/bizkeiri-redesign.css の案B部分を写したもの。
               数値は板 1b のインラインstyleを実測値として採り、案A専用の宣言は落とした。

   規律:
     - 選択子はすべて `.bk-page` 配下に閉じる。記事本文の器 .bkt-* / .aff-* には触らない。
     - `.bk-hero` 等は 40-front.css の**現行トップの同名クラスと衝突する**。
       .bk-page を前置して詳細度で勝つ(層順だけに頼らない)。
     - ブレークポイントは既存に合わせて 834px の1本(50-responsive.css と同じ)。
       Design 納品CSSの 820px は使わない。
     - --bk-* トークンはここで宣言する。00-tokens.css は build-css.py の生成物なので
       手で足さない(足しても次の生成で消える)。
   ========================================================================== */

:root{
  /* 既存トークンと同名同値のものは再宣言(V3の版面をこの層だけで読めるようにする) */
  --bk-bg:#f7f9fb;          /* = --bg   地 */
  --bk-paper:#ffffff;       /* 紙 */
  --bk-navy:#123a63;        /* = --navy 紺 */
  --bk-cta:#0f9247;         /* = --cta  CTA緑 */
  --bk-evi:#c9a24a;         /* = --evid-line 証跡色 */

  /* 新規(すべて --bk-* 接頭辞) */
  --bk-ink:#1b2b3a;         /* 本文 */
  --bk-ink-sub:#3b5670;     /* 副文 */
  --bk-ink-mute:#5b7796;    /* ラベル */
  --bk-ink-faint:#8a9bb0;   /* スロットの空値 */
  --bk-evi-ink:#8a7238;     /* 証跡色の文字用(紙面上でAA確保) */
  --bk-evi-line:#b9a476;    /* 証跡色の細点線 */
  --bk-navy-line:#2c5480;   /* 紺地の上の区切り罫 */
  --bk-line:#dfe6ee;        /* 罫(紙) */
  --bk-line-soft:#eef2f6;   /* 罫(弱) */
  --bk-line-gold:#dcd1b4;   /* ページャの罫 */

  --bk-font:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  --bk-font-head:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --bk-font-num:ui-monospace,SFMono-Regular,Menlo,"Courier New",monospace;

  --bk-fs-body:17px;        /* 本文 15px 未満を作らない(ラベル語だけ例外) */
  --bk-lh-body:1.9;
  --bk-max:1256px; /* V3 2026-09-03: 板は1328だが既存 chrome(header/footer 1256)に揃える */;          /* 板1440 − 左右56px。版面の内寸 */
  --bk-pad-pc:56px;
  --bk-pad-sp:16px;
  --bk-tap:48px;
}

/* --- 版面 ---------------------------------------------------------------- */
/* 親テーマ assets/css/site.css:117 が `*,*::before,*::after{box-sizing:border-box}` を
   敷いているが、この層だけで寸法が閉じるように明示する。値は親と同じなので上書きにならない。
   これが無いと CTA の width:100% + padding が版面から 8px はみ出す(2026-09-03 実測)。 */
.bk-page,
.bk-page *,
.bk-page *::before,
.bk-page *::after{ box-sizing:border-box; }

.bk-page{ background:var(--bk-paper); color:var(--bk-ink);
  font-family:var(--bk-font); font-size:var(--bk-fs-body); line-height:var(--bk-lh-body); }
.bk-page :where(h1,h2){ font-family:var(--bk-font-head); font-weight:900;
  line-height:1.3; margin:0; text-wrap:pretty; }
.bk-page p{ margin:0; text-wrap:pretty; }
.bk-page a{ color:var(--bk-navy); text-decoration:none; }
.bk-page a:hover{ color:var(--bk-cta); text-decoration:underline; }
.bk-page img{ max-width:100%; height:auto; }

/* 帯は全幅・中身は内寸1328pxで中央。板は1440幅で左右56pxなので、
   1440 のとき padding が 56px ちょうどになる。 */
.bk-page .bk-hero,
.bk-page .bk-feature,
.bk-page .bk-stream,
.bk-page .bk-sched,
.bk-page .bk-about,
.bk-page .bk-archive__head,
.bk-page .bk-archive__body{
  padding-left:max(var(--bk-pad-pc), calc((100% - var(--bk-max)) / 2));
  padding-right:max(var(--bk-pad-pc), calc((100% - var(--bk-max)) / 2));
}

/* --- 共通部品 ------------------------------------------------------------- */
.bk-page .bk-label{ font-family:var(--bk-font-num); font-size:12px; letter-spacing:.1em;
  color:var(--bk-ink-mute); line-height:1.5; }

.bk-page .bk-slot{ display:block; font-family:var(--bk-font-num);
  border-bottom:2px dotted var(--bk-evi-line); padding-bottom:4px;
  font-size:15px; color:var(--bk-evi-ink); }
.bk-page .bk-slot--num{ font-weight:700; font-size:38px; line-height:1.05;
  color:var(--bk-ink); border-bottom:3px dotted var(--bk-evi); white-space:nowrap; }
.bk-page .bk-slot--date{ display:inline-block; border-bottom:2px dotted var(--bk-evi);
  padding:0 10px 2px; color:var(--bk-ink); }
.bk-page .bk-slot--stat{ font-size:24px; color:var(--bk-ink);
  border-bottom:2px dotted var(--bk-evi); padding-bottom:2px; }
/* 公開上限は項ごとに折らない(「上限 / なし」のような語中改行を作らない)。
   改行してよいのは区切りの ／ のところだけ。 */
.bk-page .bk-slot--cap b{ font-weight:inherit; white-space:nowrap; }
.bk-page .bk-slot--cap i{ font-style:normal; }
.bk-page .bk-slot[data-empty="1"]{ color:var(--bk-ink-faint); }

/* キッカー(見出し語 + 証跡色の罫) */
.bk-page .bk-kicker{ display:flex; align-items:center; gap:14px; }
.bk-page .bk-kicker > span{ font-family:var(--bk-font-num); font-size:13px;
  letter-spacing:.18em; color:var(--bk-evi-ink); }
.bk-page .bk-kicker > i{ flex:1; height:1px; background:var(--bk-evi); }

/* 証跡行(調査日・出典。数値と同じ枠の中に必ず置く) */
.bk-page .bk-evidence{ display:flex; flex-wrap:wrap; align-items:center; gap:22px;
  font-family:var(--bk-font-num); font-size:15px; line-height:1.6; color:var(--bk-evi-ink);
  border-top:1px solid var(--bk-evi); padding-top:10px; }
.bk-page .bk-evidence--paper{ border-top:3px double var(--bk-evi); color:var(--bk-ink-mute); }
.bk-page .bk-evidence a{ color:var(--bk-evi-ink); border-bottom:1px solid var(--bk-evi); }
.bk-page .bk-evidence .bk-nosup{ color:var(--bk-ink-faint); }

/* CTA。外部の広告リンクに rel="sponsored" が無いと枠線で気づけるようにする
   (内部リンクの「比較表を開く」は sponsored を付けないので target で絞る)。 */
.bk-page .bk-cta{ display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 30px; font-family:var(--bk-font);
  font-size:17px; font-weight:700; line-height:1.3; text-align:center;
  background:var(--bk-cta); color:#fff; border:0; }
.bk-page .bk-cta:hover{ color:#fff; text-decoration:none; filter:brightness(.94); }
.bk-page .bk-cta--navy{ background:var(--bk-navy); }
.bk-page .bk-cta--ghost{ background:none; color:var(--bk-navy); border:1px solid var(--bk-navy); }
.bk-page .bk-cta--ghost:hover{ color:var(--bk-navy); }
.bk-page .bk-cta--text{ background:none; color:var(--bk-cta); font-size:16px;
  padding:0; border-bottom:2px solid var(--bk-cta); }
.bk-page .bk-cta--text:hover{ color:var(--bk-cta); filter:none; }
.bk-page .bk-cta[target="_blank"]:not([rel~="sponsored"]){ outline:2px dashed #d43; outline-offset:2px; }
.bk-page .bk-cta__note{ font-family:var(--bk-font-num); font-size:15px; line-height:1.6;
  color:var(--bk-ink-faint); }

/* --- ヒーロー ------------------------------------------------------------
   板1b①: 左512px / gap56 / 右=料金台。DOM順はSPの積み順(見出し→説明→台→CTA→注記)。
   PCではグリッド領域で板の並びへ戻す。 */
/* 列は板の比(512:760)を fr で持つ。内寸1328 − gap56 = 1272 = 512+760 なので
   1440 幅では板と1pxも違わず、狭い画面では比のまま縮む。 */
.bk-page .bk-hero{ display:grid; column-gap:56px; row-gap:22px;
  grid-template-columns:minmax(0,512fr) minmax(0,760fr);
  grid-template-areas:"title ledger" "lead ledger" "cta ledger" "note ledger";
  align-content:start; padding-top:44px; padding-bottom:40px; background:var(--bk-paper); }
/* font-family / font-weight は明示する。40-front.css の `.bk-hero h1`(0,1,1) が
   `.bk-page :where(h1,h2)`(0,1,0) に勝って 800 になっていた(実測 2026-09-03)。 */
.bk-page .bk-hero__title{ grid-area:title; font-family:var(--bk-font-head); font-weight:900;
  font-size:52px; line-height:1.18; color:var(--bk-ink); }
.bk-page .bk-hero__title em{ font-style:normal; color:var(--bk-navy);
  border-bottom:6px solid var(--bk-evi); padding-bottom:4px; }
.bk-page .bk-hero__lead{ grid-area:lead; font-size:17px; line-height:2; color:var(--bk-ink-sub); }
.bk-page .bk-hero__cta{ grid-area:cta; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.bk-page .bk-hero .bk-cta__note{ grid-area:note; }
.bk-page .bk-ledger{ grid-area:ledger; align-self:start;
  background:var(--bk-bg); padding:26px 28px 20px; }

/* 40-front.css / 50-responsive.css の**現行トップ用** .bk-hero を打ち消す。
   クラス名が同じなので、こちらが宣言していないプロパティだけが生き残る。
   実測(2026-09-03・1440幅): max-width:1256px / text-align:center / p の max-width:64ch が
   生き残って左段が中央寄せの狭い柱になっていた。宣言して黙らせる。
   衝突しているのは .bk-hero のみ(他の bk-* は名前が重なっていないことを実測済み)。 */
.bk-page .bk-hero{ max-width:none; margin:0; border-radius:0;
  align-items:stretch; text-align:left; }
.bk-page .bk-hero__lead{ max-width:none; }

/* --- 料金台(主役。均等割りにしない = 行組み)------------------------------ */
.bk-page .bk-ledger__head{ display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; padding-bottom:14px; border-bottom:3px double var(--bk-evi); }
.bk-page .bk-ledger__head .bk-label{ font-size:13px; letter-spacing:.16em; color:var(--bk-evi-ink); }
.bk-page .bk-ledger__policy{ font-family:var(--bk-font-num); font-size:12px; color:var(--bk-ink-mute); }
.bk-page .bk-ledger__row{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 20px;
  padding:20px 0 16px; border-bottom:1px solid var(--bk-line); }
.bk-page .bk-ledger__row:last-of-type{ border-bottom:0; }
.bk-page .bk-ledger__name{ flex:0 0 158px; display:flex; flex-direction:column; gap:8px; }
.bk-page .bk-ledger__tag{ align-self:flex-start; display:inline-flex; align-items:center;
  min-height:22px; padding:0 8px; background:var(--bk-navy); color:#fff;
  font-family:var(--bk-font-num); font-size:11px; letter-spacing:.1em; }
.bk-page .bk-ledger__price{ flex:1 1 200px; min-width:0; display:flex; flex-direction:column;
  gap:4px; align-items:flex-end; text-align:right; }
.bk-page .bk-ledger__price .bk-label{ letter-spacing:.08em; }
.bk-page .bk-ledger__cap{ flex:0 1 196px; display:flex; flex-direction:column; gap:4px; }
.bk-page .bk-ledger__foot{ margin-top:4px; padding-top:12px; gap:20px;
  justify-content:space-between; }

/* --- まず読まれている比較記事(1要素を大きく張る)--------------------------
   V3 2026-09-03(Yu裁定): アイキャッチ列を落として1段組の文字だけの塊にした
   (§04-8 画像ゼロ則)。板 1b ① の 760:524 の2段組は使わない。
   1段になると 1256px 全幅に伸びて読み幅が壊れるので、本文塊に 72ch の上限を掛ける。 */
.bk-page .bk-feature{ padding-top:8px; padding-bottom:44px; }
.bk-page .bk-feature .bk-kicker{ padding-bottom:20px; }
.bk-page .bk-feature__card{ display:block; }
.bk-page .bk-feature__card:hover{ text-decoration:none; }
.bk-page .bk-feature__main{ max-width:72ch; display:flex; flex-direction:column; gap:16px; }
.bk-page .bk-feature__title{ font-family:var(--bk-font-head); font-weight:900;
  font-size:42px; line-height:1.3; color:var(--bk-ink); text-wrap:pretty; }
.bk-page .bk-feature__card:hover .bk-feature__title{ text-decoration:underline; }
.bk-page .bk-feature__lead{ font-size:17px; line-height:2; color:var(--bk-ink-sub); }

/* --- 新着(カードにしない = 行リスト)-------------------------------------- */
.bk-page .bk-stream{ padding-bottom:44px; }
.bk-page .bk-stream .bk-kicker{ padding-bottom:6px; border-bottom:1px solid var(--bk-evi); }
.bk-page .bk-stream__all{ font-family:var(--bk-font-num); font-size:12px; }
.bk-page .bk-stream__cols{ display:flex; gap:56px; padding-top:8px; }
.bk-page .bk-stream__col{ flex:1; min-width:0; display:flex; flex-direction:column; }
.bk-page .bk-stream__item{ display:flex; gap:18px; padding:15px 0;
  border-bottom:1px solid var(--bk-line-soft); }
.bk-page .bk-stream__item:hover .bk-stream__ttl{ text-decoration:underline; }
.bk-page .bk-stream__date{ width:104px; flex:none; font-family:var(--bk-font-num);
  font-size:12px; color:var(--bk-ink-faint); line-height:1.7; }
.bk-page .bk-stream__ttl{ font-size:16px; line-height:1.7; color:var(--bk-ink); }

/* --- 制度対応スケジュール(紺帯)------------------------------------------- */
.bk-page .bk-sched{ background:var(--bk-navy); color:#fff; padding-top:40px; padding-bottom:40px; }
.bk-page .bk-sched__head{ display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; padding-bottom:18px; border-bottom:1px solid var(--bk-evi); }
.bk-page .bk-sched h2{ font-size:28px; color:#fff; }
.bk-page .bk-sched .bk-label{ color:var(--bk-evi); }
.bk-page .bk-sched__grid{ display:flex; gap:44px; padding-top:24px; }
.bk-page .bk-sched__col{ display:flex; flex-direction:column; }
.bk-page .bk-sched__col--lead{ flex:1.5; gap:10px; }
.bk-page .bk-sched__col--rest{ flex:1; gap:8px; padding-left:44px;
  border-left:1px solid var(--bk-navy-line); }
.bk-page .bk-sched__when{ align-self:flex-start; font-family:var(--bk-font-num);
  font-size:14px; color:var(--bk-evi); border-bottom:2px dotted var(--bk-evi); padding:0 8px 2px; }
.bk-page .bk-sched__when--sm{ font-size:13px; border-bottom:0; padding:0; }
.bk-page .bk-sched__when--sm ~ .bk-sched__when--sm{ margin-top:14px; }
.bk-page .bk-sched__col--lead b{ font-family:var(--bk-font-head); font-weight:700;
  font-size:24px; line-height:1.5; color:#fff; }
.bk-page .bk-sched__col--lead p{ font-size:16px; line-height:1.9; color:#c7d6e4; }
.bk-page .bk-sched__ttl{ font-size:18px; line-height:1.7; color:#fff; }
.bk-page .bk-sched a{ color:#fff; border-bottom:1px solid var(--bk-evi); align-self:flex-start; }
.bk-page .bk-sched__col--lead a{ font-family:var(--bk-font-num); font-size:13px; margin-top:4px; }
.bk-page .bk-sched a:hover{ color:#fff; }

/* --- 運営者情報(監修なしの明示)------------------------------------------
   板1b①の見出しは34px。指示により一段小さく24pxで組む。 */
.bk-page .bk-about{ display:flex; gap:56px; padding-top:44px; padding-bottom:44px;
  background:var(--bk-bg); }
.bk-page .bk-about__head{ flex:512 1 0; min-width:0; display:flex; flex-direction:column; gap:14px; }
.bk-page .bk-about__head .bk-label{ font-size:13px; letter-spacing:.18em; color:var(--bk-evi-ink); }
.bk-page .bk-about h2{ font-size:24px; line-height:1.4; color:var(--bk-ink); }
.bk-page .bk-about__body{ flex:760 1 0; min-width:0; display:flex; flex-direction:column;
  gap:16px; padding-top:8px; }
.bk-page .bk-about__body p{ font-size:17px; line-height:2; color:var(--bk-ink-sub); }
.bk-page .bk-about__links{ display:flex; flex-wrap:wrap; gap:26px; padding-top:12px;
  border-top:1px solid var(--bk-evi); font-family:var(--bk-font-num); font-size:13px; }

/* --- 開示ボックス(サイドバー常設)---------------------------------------- */
.bk-page .bk-disclose{ display:flex; flex-direction:column; gap:10px;
  background:var(--bk-bg); padding:20px 22px; }
.bk-page .bk-disclose--paper{ border-top:3px double var(--bk-evi); }
.bk-page .bk-disclose .bk-label{ letter-spacing:.16em; color:var(--bk-evi-ink); }
.bk-page .bk-disclose p{ font-size:15px; line-height:1.85; color:var(--bk-ink-sub); }

/* --- 一覧(カテゴリ)------------------------------------------------------
   板1b③のヘッダは白の誌面ヘッダ(紺帯は案A側)。板を正本にした。 */
.bk-page .bk-archive__head{ background:var(--bk-paper); padding-top:36px; padding-bottom:26px; }
.bk-page .bk-archive__headin{ display:flex; align-items:flex-end;
  justify-content:space-between; gap:48px; }
.bk-page .bk-archive__lead{ flex:0 1 760px; min-width:0; display:flex; flex-direction:column; gap:12px; }
.bk-page .bk-archive__lead .bk-label{ font-size:13px; letter-spacing:.18em; color:var(--bk-evi-ink); }
.bk-page .bk-archive__head h1{ font-size:44px; line-height:1.25; color:var(--bk-ink); }
.bk-page .bk-archive__head p{ font-size:17px; line-height:1.95; color:var(--bk-ink-sub); }
.bk-page .bk-archive__stat{ display:flex; gap:28px; padding-bottom:6px; }
.bk-page .bk-archive__stat > div{ display:flex; flex-direction:column; gap:6px; }
.bk-page .bk-archive__body{ display:flex; gap:48px; padding-bottom:56px; }
.bk-page .bk-archive__main{ flex:980 1 0; min-width:0; display:flex; flex-direction:column; }
.bk-page .bk-archive__side{ flex:300 1 0; min-width:0; display:flex; flex-direction:column; gap:30px; }

.bk-page .bk-sortbar{ display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding-bottom:10px; border-bottom:3px double var(--bk-evi);
  font-family:var(--bk-font-num); font-size:15px; color:var(--bk-evi-ink); }

/* 記事行: 本文だけの1段組。板の「最安の年額」列は出さない(記事に値が無い)。
   V3 2026-09-03(Yu裁定): 左のアイキャッチ列も落とした(§04-8 画像ゼロ則)。
   本文は本欄(.bk-archive__main)の左端から始まる —— 画像ぶんの字下げを残さない。 */
.bk-page .bk-entry{ display:block; padding:26px 0;
  border-bottom:1px solid var(--bk-line-soft); }
.bk-page .bk-entry:first-of-type{ padding:30px 0 26px; }
.bk-page .bk-entry:hover{ text-decoration:none; }
.bk-page .bk-entry__body{ display:flex; flex-direction:column; gap:10px; }
.bk-page .bk-entry__rank{ font-family:var(--bk-font-num); font-size:12px;
  letter-spacing:.1em; color:var(--bk-evi-ink); }
.bk-page .bk-entry__title{ font-family:var(--bk-font-head); font-weight:700;
  font-size:24px; line-height:1.45; color:var(--bk-ink); text-wrap:pretty; }
.bk-page .bk-entry:first-of-type .bk-entry__body{ gap:12px; }
.bk-page .bk-entry:first-of-type .bk-entry__title{ font-weight:900; font-size:30px; line-height:1.4; }
.bk-page .bk-entry:hover .bk-entry__title{ text-decoration:underline; }
.bk-page .bk-entry__excerpt{ font-size:16px; line-height:1.9; color:var(--bk-ink-sub); }
.bk-page .bk-entry__evi{ margin-top:2px; padding-top:8px; border-top:1px solid var(--bk-evi);
  font-family:var(--bk-font-num); font-size:15px; line-height:1.6; color:var(--bk-evi-ink); }
.bk-page .bk-entry:first-of-type .bk-entry__evi{ margin-top:4px; }

.bk-page .bk-pager{ display:flex; flex-wrap:wrap; gap:10px; padding-top:28px;
  font-family:var(--bk-font-num); font-size:15px; }
.bk-page .bk-pager a,
.bk-page .bk-pager span{ display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 18px; border:1px solid var(--bk-line-gold); color:var(--bk-ink); }
.bk-page .bk-pager .current{ background:var(--bk-navy); color:#fff; border-color:var(--bk-navy); }
.bk-page .bk-pager .dots{ border:0; }

.bk-page .bk-sidecta{ display:flex; flex-direction:column; gap:12px;
  border:1px solid var(--bk-evi); padding:20px 22px; }
.bk-page .bk-sidecta h2{ font-family:var(--bk-font-head); font-weight:700;
  font-size:18px; line-height:1.5; color:var(--bk-ink); }
.bk-page .bk-sidecta p{ font-size:15px; line-height:1.8; color:var(--bk-ink-sub); }
.bk-page .bk-sidecta .bk-cta{ min-height:48px; font-size:16px; }

/* --- SP下部の固定バー ------------------------------------------------------
   PCでは出さない(記事側の .aff-sticky と同じ扱い)。 */
.bk-page .bk-ctabar{ display:none; }

/* ==========================================================================
   中間幅(835〜1099px)
   板は 1440 の1面しか無いが、実機はこの帯にも来る。列を比のまま縮め続けると
   料金台の3列が潰れる(¥ と桁が折れる)ので、この幅から1列へ倒す。
   文字寸法はPC側のまま(SPの寸法へは 834px で落とす)。
   ========================================================================== */
@media (max-width:1099px){
  .bk-page .bk-hero{ grid-template-columns:minmax(0,1fr);
    grid-template-areas:"title" "lead" "ledger" "cta" "note"; row-gap:20px; }
  .bk-page .bk-hero__title{ font-size:40px; }
  .bk-page .bk-feature__title{ font-size:32px; }
  .bk-page .bk-about{ flex-direction:column; gap:20px; }
  .bk-page .bk-about__head{ flex:none; }
  .bk-page .bk-about__body{ flex:none; padding-top:0; }
  .bk-page .bk-archive__head h1{ font-size:34px; }
  .bk-page .bk-archive__body{ flex-direction:column; gap:32px; }
  /* 列に倒した親の子は flex-basis が**高さ**になる。必ず flex:none で殺す。 */
  .bk-page .bk-archive__lead{ flex:none; }
  .bk-page .bk-archive__main{ flex:none; }
  .bk-page .bk-archive__side{ flex:none; }
  .bk-page .bk-entry__title,
  .bk-page .bk-entry:first-of-type .bk-entry__title{ font-size:24px; }
}

/* ==========================================================================
   SP(390基準・ブレークポイントは既存の 834px に合わせる)
   ========================================================================== */
@media (max-width:834px){
  .bk-page .bk-hero,
  .bk-page .bk-feature,
  .bk-page .bk-stream,
  .bk-page .bk-sched,
  .bk-page .bk-about,
  .bk-page .bk-archive__head,
  .bk-page .bk-archive__body{ padding-left:var(--bk-pad-sp); padding-right:var(--bk-pad-sp); }

  /* ヒーロー: 1列。DOM順のまま(見出し→説明→料金台→CTA→注記) */
  .bk-page .bk-hero{ grid-template-columns:minmax(0,1fr);
    grid-template-areas:"title" "lead" "ledger" "cta" "note";
    row-gap:14px; padding-top:18px; padding-bottom:16px; }
  .bk-page .bk-hero__title{ font-size:30px; line-height:1.25; }
  .bk-page .bk-hero__title em{ border-bottom-width:5px; padding-bottom:2px; }
  .bk-page .bk-hero__lead{ font-size:16px; line-height:1.9; }
  .bk-page .bk-hero__cta{ flex-direction:column; align-items:stretch; gap:14px; }
  .bk-page .bk-hero__cta .bk-cta{ width:100%; padding:0 12px; }
  /* SPでは緑CTAも面で出す(板1b②) */
  .bk-page .bk-hero__cta .bk-cta--text{ background:var(--bk-cta); color:#fff;
    font-size:17px; border-bottom:0; }
  .bk-page .bk-hero__cta .bk-cta--text:hover{ color:#fff; }

  .bk-page .bk-ledger{ padding:14px 14px 12px; }
  .bk-page .bk-ledger__head{ padding-bottom:10px; }
  .bk-page .bk-ledger__head .bk-label{ font-size:11px; letter-spacing:.12em; }
  .bk-page .bk-ledger__row{ flex-wrap:wrap; align-items:flex-end; gap:8px 10px; padding:12px 0 10px; }
  .bk-page .bk-ledger__name{ width:auto; flex:1 1 120px; flex-direction:row;
    align-items:center; gap:8px; }
  .bk-page .bk-ledger__name .bk-slot{ border-bottom:0; padding-bottom:0; }
  /* 「年額（税抜・年払い）」は税と支払条件の開示なのでSPでも落とさない */
  .bk-page .bk-ledger__price{ flex:0 0 auto; }
  .bk-page .bk-ledger__policy{ letter-spacing:0; font-size:11px; }
  .bk-page .bk-slot--num{ font-size:28px; border-bottom-width:3px; padding-bottom:3px; }
  .bk-page .bk-ledger__cap{ width:100%; order:3; flex-direction:row; gap:8px;
    align-items:baseline; }
  .bk-page .bk-ledger__foot{ flex-direction:column; align-items:flex-start; gap:8px;
    padding-top:10px; }

  .bk-page .bk-feature{ padding-top:6px; padding-bottom:20px; }
  .bk-page .bk-feature .bk-kicker{ padding-bottom:12px; gap:10px; }
  .bk-page .bk-kicker > span{ font-size:12px; letter-spacing:.16em; }
  /* 画像を落としたので DOM 順(題名 → 抜粋 → 証跡行)がそのまま板の積み順になる。
     板1b②の「題名 → 画像 → 証跡行」を作るための display:contents + order は不要。 */
  .bk-page .bk-feature__main{ max-width:none; gap:12px; }
  .bk-page .bk-feature__title{ font-size:24px; line-height:1.4; }
  .bk-page .bk-feature__lead{ font-size:16px; line-height:1.9; }

  .bk-page .bk-stream{ padding-bottom:20px; }
  .bk-page .bk-stream__cols{ flex-direction:column; gap:0; }
  .bk-page .bk-stream__col{ flex:none; }
  .bk-page .bk-stream__item{ flex-direction:column; gap:4px; padding:13px 0; min-height:44px; }
  .bk-page .bk-stream__date{ width:auto; font-size:11px; }

  .bk-page .bk-sched{ padding-top:20px; padding-bottom:20px; }
  .bk-page .bk-sched__head{ flex-direction:column; align-items:flex-start; gap:8px;
    padding-bottom:12px; }
  .bk-page .bk-sched h2{ font-size:20px; }
  .bk-page .bk-sched__grid{ flex-direction:column; gap:14px; padding-top:12px; }
  .bk-page .bk-sched__col--lead,
  .bk-page .bk-sched__col--rest{ flex:none; }
  .bk-page .bk-sched__col--rest{ padding-left:0; border-left:0;
    border-top:1px solid var(--bk-navy-line); padding-top:14px; }
  .bk-page .bk-sched__col--lead b{ font-size:20px; }
  .bk-page .bk-sched__ttl{ font-size:17px; }

  .bk-page .bk-about{ flex-direction:column; gap:16px; padding-top:20px; padding-bottom:20px; }
  .bk-page .bk-about__head{ width:auto; gap:8px; }
  .bk-page .bk-about h2{ font-size:20px; }
  .bk-page .bk-about__body{ padding-top:0; gap:12px; }
  .bk-page .bk-about__body p{ font-size:16px; line-height:1.9; }
  .bk-page .bk-about__links{ gap:16px 20px; font-size:15px; }

  .bk-page .bk-archive__head{ padding-top:20px; padding-bottom:16px; }
  .bk-page .bk-archive__headin{ flex-direction:column; align-items:flex-start; gap:16px; }
  .bk-page .bk-archive__lead{ flex:none; width:auto; gap:8px; }
  .bk-page .bk-archive__head h1{ font-size:26px; line-height:1.35; }
  .bk-page .bk-archive__head p{ font-size:16px; line-height:1.9; }
  .bk-page .bk-archive__body{ flex-direction:column; gap:24px; padding-bottom:24px; }
  .bk-page .bk-archive__main{ width:auto; }
  .bk-page .bk-sortbar{ font-size:15px; line-height:1.6; }
  .bk-page .bk-entry,
  .bk-page .bk-entry:first-of-type{ padding:16px 0; }
  .bk-page .bk-entry__body{ gap:8px; }
  .bk-page .bk-entry__title,
  .bk-page .bk-entry:first-of-type .bk-entry__title{ font-size:20px; line-height:1.45; }
  .bk-page .bk-entry__excerpt{ font-size:15px; line-height:1.85; }

  /* タップ対象は24px以上(SPの小さいリンクだけを底上げする) */
  .bk-page .bk-evidence a,
  .bk-page .bk-about__links a,
  .bk-page .bk-stream__all,
  .bk-page .bk-sched a{ display:inline-flex; align-items:center; min-height:26px; }

  /* 下部固定バー(板1b②)。ボタン高さ48px + 上下padding10px = バー総高68px */
  .bk-page .bk-ctabar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:98;
    gap:8px; padding:10px 12px; background:rgba(255,255,255,.96);
    border-top:1px solid var(--bk-evi); }
  .bk-page .bk-ctabar .bk-cta{ flex:1.4; min-height:48px; height:48px;
    font-size:16px; padding:0 10px; }
  .bk-page .bk-ctabar .bk-cta--ghost{ flex:1; }
  body.bk-v3-ctabar{ padding-bottom:76px; }
}

@media (prefers-reduced-motion:no-preference){
  .bk-page .bk-cta{ transition:filter .15s ease; }
}

@media print{
  .bk-page .bk-ctabar{ display:none !important; }
}

/* ===== Phase A pages / tag / search / 404 (2026-09-05) =====================
   正本(意匠): bizkeiri-canvas/bizkeiri-phaseA.dc.html の板
     1a /about/ PC1440 / 1b /about/ SP390 / 1c プライバシー PC /
     1d お問い合わせ PC / 1e タグ一覧 PC / 1f 検索結果 PC / 1g 404 PC
   板のインラインstyleの値をそのまま写す。適応でなく複製。

   規律:
     - 選択子はすべて `.bk-page` 配下。器 .bkt-* / .aff-* と親のDOMには触らない。
     - 版面の内寸は --bk-max(1256px)のまま。板の 200+68+720+68+200 = 1256 で一致する。
     - ブレークポイントは既存に合わせて 1099px / 834px の2本(新設しない)。
     - SPのタップ対象は 24px 以上。本文は 17px を下回らせない
       (板1bの article は 16px だが、可読の下限を優先する)。
   ========================================================================== */

:root{
  /* 板だけが使う色。既存の --bk-ink / --bk-ink-mute / --bk-line とは数値が違うので
     混ぜずに別トークンで持つ(板の実測値をそのまま採る)。 */
  --bk-pg-ink:#1c2430;       /* 板の本文墨 */
  --bk-pg-mute:#5b6572;      /* 板の副文・ラベル・点線 */
  --bk-pg-line:#dfe5ec;      /* 板の罫 */
  --bk-pg-field:#c5ced8;     /* 入力欄の枠 */
  --bk-pg-radius:6px;        /* 板のボタン・箱 */
  --bk-pg-radius-sm:4px;     /* 板の入力欄・ページャ */
  --bk-doc-col:200px;        /* 誌面の左右段(CONTENTS / COLOPHON) */
  --bk-doc-gap:68px;         /* 誌面の段間 */
}

/* --- 版面(帯を持たない面の共通ラッパ)------------------------------------
   トップ・カテゴリと違い、Phase A の面は全幅の帯を持たない。
   節ごとに padding を配らず、ラッパ1枚で内寸を作る。 */
.bk-page.bk-shell{
  background:var(--bk-bg);
  padding-left:max(var(--bk-pad-pc), calc((100% - var(--bk-max)) / 2));
  padding-right:max(var(--bk-pad-pc), calc((100% - var(--bk-max)) / 2));
  padding-bottom:96px;
}

/* --- 面の見出し(板の .bk-pagehead)---------------------------------------- */
.bk-page .bk-pagehead{ padding:52px 0 28px; }
.bk-page p.bk-kicker--word{ display:block; margin:0 0 10px;
  font-family:var(--bk-font-head); font-size:12px; font-weight:700;
  letter-spacing:.16em; line-height:1.5; color:var(--bk-evi); }
.bk-page .bk-pagehead h1{ margin:0 0 14px; font-family:var(--bk-font-head);
  font-size:40px; line-height:1.3; font-weight:700; color:var(--bk-navy); }
.bk-page .bk-pagehead__hash{ color:var(--bk-evi); font-weight:500; margin-right:4px; }
.bk-page .bk-lede{ margin:0; max-width:720px; font-size:17px; line-height:1.85;
  color:var(--bk-pg-mute); }

/* 件数を右に置く型(板1e) */
.bk-page .bk-pagehead--split{ display:flex; align-items:flex-end;
  justify-content:space-between; gap:40px; }
.bk-page .bk-pagehead__lead{ min-width:0; }
.bk-page .bk-pagehead__count{ margin:0 0 6px; font-size:14px; color:var(--bk-pg-mute);
  white-space:nowrap; }
.bk-page .bk-pagehead .bk-slot--count{ display:inline-block; margin-right:6px;
  font-family:var(--bk-font-head); font-size:32px; font-weight:700; line-height:1;
  color:var(--bk-navy); border-bottom:1px dotted var(--bk-pg-mute); padding:0 3px; }
/* 検索の見出し内は板1fの 20px(件数を主役にしない) */
.bk-page .bk-pagehead__n{ margin-left:8px; font-size:20px; font-weight:500;
  color:var(--bk-pg-mute); }
.bk-page .bk-pagehead__n .bk-slot--count{ font-family:var(--bk-font-num);
  font-size:20px; font-weight:500; color:var(--bk-pg-mute); }

/* --- 金罫の証跡帯(板の .bk-evidence)-------------------------------------- */
.bk-page .bk-evidence--rule{ gap:8px 28px; padding:9px 0;
  border-top:1px solid var(--bk-evi); border-bottom:1px solid var(--bk-evi);
  font-family:var(--bk-font); font-size:13px; line-height:1.7; color:var(--bk-pg-mute); }
.bk-page .bk-evidence__k{ margin-right:6px; font-weight:700; letter-spacing:.08em;
  color:var(--bk-evi); }

/* 値が出せないところの点線スロット(板の .bk-slot)。
   §共通部品の .bk-slot は block の数値枠なので、文中で使う面だけ inline に戻す。 */
.bk-page .bk-doc__main .bk-slot,
.bk-page .bk-colophon .bk-slot,
.bk-page .bk-evidence--rule .bk-slot,
.bk-page .bk-empty .bk-slot,
.bk-page .bk-404 .bk-slot{
  display:inline; font-family:inherit; font-size:inherit; font-weight:inherit;
  color:var(--bk-navy); border-bottom:1px dotted var(--bk-pg-mute); padding:0 3px; }

/* --- 順位を持たない一覧(板1e / 1f)---------------------------------------
   EDITOR_RANK を出さない。左列は更新日、証跡行は 分類 / 調査日 / 出典。 */
.bk-page .bk-list{ list-style:none; margin:0; padding:8px 0 0; }
.bk-page .bk-row{ display:grid; grid-template-columns:120px minmax(0,1fr);
  column-gap:32px; padding:28px 0; border-bottom:1px solid var(--bk-pg-line); }
.bk-page .bk-row__head{ padding-top:6px; font-size:12px; line-height:1.5;
  color:var(--bk-pg-mute); }
.bk-page .bk-row__k{ display:block; font-weight:700; letter-spacing:.12em;
  color:var(--bk-evi); }
.bk-page .bk-row__d{ display:block; font-family:var(--bk-font-head); font-size:18px;
  font-weight:700; letter-spacing:.02em; color:var(--bk-pg-ink); }
.bk-page .bk-row__main{ min-width:0; max-width:900px; }
.bk-page .bk-row__link{ display:block; color:var(--bk-navy); }
.bk-page .bk-row__link:hover{ text-decoration:none; }
.bk-page .bk-row__title{ margin:0 0 8px; font-family:var(--bk-font-head);
  font-size:24px; line-height:1.45; font-weight:700; color:var(--bk-navy);
  text-wrap:pretty; }
.bk-page .bk-row__link:hover .bk-row__title{ text-decoration:underline; }
.bk-page .bk-row__excerpt{ margin:0 0 10px; font-size:15px; line-height:1.8;
  color:var(--bk-pg-mute); }
.bk-page .bk-row__evi{ display:flex; flex-wrap:wrap; gap:6px 20px; font-size:13px;
  line-height:1.7; color:var(--bk-pg-mute); }

/* ページャは category.php と同じ部品を使い、この面だけ板1eの寸法へ寄せる。 */
.bk-page.bk-norank .bk-pager{ justify-content:center; gap:8px; padding-top:40px;
  font-size:14px; }
.bk-page.bk-norank .bk-pager a,
.bk-page.bk-norank .bk-pager span{ min-width:40px; min-height:40px; padding:0 10px;
  border:1px solid var(--bk-pg-line); border-radius:var(--bk-pg-radius-sm);
  color:var(--bk-navy); }
.bk-page.bk-norank .bk-pager .current{ background:var(--bk-navy);
  border-color:var(--bk-navy); color:#fff; font-weight:700; }
.bk-page.bk-norank .bk-pager .dots{ border:0; }

/* --- 検索フォーム(板1f のヘッダ / 板1g の復帰)---------------------------- */
.bk-page .bk-search{ display:flex; gap:12px; }
.bk-page .bk-search input[type="search"]{ flex:1; min-width:0; height:52px;
  border:1px solid var(--bk-pg-field); border-radius:var(--bk-pg-radius);
  padding:0 18px; font:400 16px var(--bk-font); background:var(--bk-paper);
  color:var(--bk-pg-ink); }
.bk-page .bk-search button{ height:52px; padding:0 24px; background:var(--bk-paper);
  color:var(--bk-navy); border:1px solid var(--bk-navy);
  border-radius:var(--bk-pg-radius); font:700 15px var(--bk-font); cursor:pointer; }
.bk-page .bk-search--lg{ max-width:760px; margin:0 0 24px; }
.bk-page .bk-search--lg input[type="search"]{ height:56px; border-color:var(--bk-navy);
  font-size:18px; }
.bk-page .bk-search--lg button{ height:56px; padding:0 28px; background:var(--bk-navy);
  color:#fff; border:0; font-size:16px; }

/* --- カテゴリ4本(板1f / 1g の復帰導線)------------------------------------ */
.bk-page .bk-catlinks{ display:flex; flex-wrap:wrap; gap:28px; font-size:15px;
  font-weight:500; }
.bk-page .bk-catlinks a{ color:var(--bk-navy); }

/* --- 検索0件(板1f 下部)---------------------------------------------------- */
.bk-page .bk-empty{ margin:64px 0 0; padding:32px 36px; max-width:760px;
  background:var(--bk-paper); border:1px solid var(--bk-pg-line);
  border-radius:var(--bk-pg-radius); }
.bk-page .bk-empty h2{ margin:0 0 12px; font-family:var(--bk-font-head);
  font-size:22px; line-height:1.4; font-weight:700; color:var(--bk-navy); }
.bk-page .bk-empty p{ margin:0 0 20px; font-size:15px; line-height:1.8;
  color:var(--bk-pg-mute); }
.bk-page .bk-empty__nav{ display:flex; flex-wrap:wrap; align-items:center;
  gap:12px 24px; font-size:15px; }
.bk-page .bk-empty__nav .bk-catlinks{ gap:24px; }
.bk-page .bk-empty .bk-cta{ min-height:44px; height:44px; padding:0 20px;
  font-size:15px; border-radius:var(--bk-pg-radius); }

/* --- 404(板1g)------------------------------------------------------------
   40-front.css の `.bk-404 …` は現行マークアップ(.notfound__body--column)の
   子孫だけを指しているので、この面とは当たらない。 */
.bk-page .bk-404{ max-width:720px; padding-top:72px; }
.bk-page .bk-404 h1{ margin:0 0 16px; font-family:var(--bk-font-head);
  font-size:40px; line-height:1.3; font-weight:700; color:var(--bk-navy); }
.bk-page .bk-404 .bk-lede{ margin:0 0 40px; }
.bk-page .bk-404 .bk-evidence--rule{ margin-bottom:40px; }
.bk-page .bk-404 .bk-cta{ min-height:52px; height:52px; padding:0 28px;
  font-size:16px; border-radius:var(--bk-pg-radius); }
.bk-page .bk-404 .bk-catlinks{ margin-top:32px; padding:16px 0;
  border-top:1px solid var(--bk-pg-line); border-bottom:1px solid var(--bk-pg-line); }
.bk-page .bk-404 .bk-search{ margin-top:32px; }

/* --- 固定ページの誌面(板1a / 1c / 1d)-------------------------------------
   200 + 68 + 720 + 68 + 200 = 1256 = --bk-max。1440幅で板と一致する。 */
.bk-page .bk-doc{ display:grid; align-items:start; padding-top:40px;
  grid-template-columns:var(--bk-doc-col) minmax(0,1fr) var(--bk-doc-col);
  column-gap:var(--bk-doc-gap); }

.bk-page .bk-pagenav{ position:sticky; top:24px; align-self:start;
  font-size:14px; line-height:1.6; }
.bk-page .bk-pagenav__cap{ margin:0 0 12px; font-size:11px; font-weight:700;
  letter-spacing:.16em; color:var(--bk-pg-mute); }
.bk-page .bk-pagenav ol{ list-style:none; margin:0; padding:0; display:grid;
  gap:10px; border-left:1px solid var(--bk-pg-line); }
.bk-page .bk-pagenav li{ padding-left:14px; }
.bk-page .bk-pagenav a{ color:var(--bk-pg-mute); }
.bk-page .bk-pagenav .is-current{ border-left:2px solid var(--bk-navy); margin-left:-1px; }
.bk-page .bk-pagenav .is-current a{ color:var(--bk-navy); font-weight:700; }

.bk-page .bk-doc__main{ min-width:0; font-size:17px; line-height:1.85;
  color:var(--bk-pg-ink); }
.bk-page .bk-doc__main h2{ margin:64px 0 20px; padding-bottom:10px;
  font-family:var(--bk-font-head); font-size:26px; font-weight:700; line-height:1.4;
  color:var(--bk-navy); border-bottom:2px solid var(--bk-navy); }
.bk-page .bk-doc__main > :first-child{ margin-top:0; }
.bk-page .bk-doc__main h3{ margin:40px 0 14px; font-family:var(--bk-font-head);
  font-size:20px; font-weight:700; line-height:1.5; color:var(--bk-navy); }
.bk-page .bk-doc__main p{ margin:0 0 18px; }
/* 節の最初に置くリード文(板1aの 24px 紺の1文)。本文から `<p class="bk-doclead">` で呼ぶ。 */
.bk-page .bk-doc__main .bk-doclead{ margin:0 0 20px; font-family:var(--bk-font-head);
  font-size:24px; line-height:1.6; font-weight:700; color:var(--bk-navy); text-wrap:pretty; }
.bk-page .bk-doc__main ul,
.bk-page .bk-doc__main ol{ margin:0 0 18px; padding-left:1.4em; }
.bk-page .bk-doc__main li{ margin:6px 0; }
.bk-page .bk-doc__main a{ color:var(--bk-navy); text-decoration:underline;
  text-underline-offset:2px; }
.bk-page .bk-doc__main strong{ font-weight:700; }
.bk-page .bk-doc__main table{ width:100%; border-collapse:collapse; margin:0 0 18px;
  font-size:15px; }
.bk-page .bk-doc__main th,
.bk-page .bk-doc__main td{ padding:10px 12px; border:1px solid var(--bk-pg-line);
  text-align:left; vertical-align:top; }
/* 本文中のCTA。`.bk-doc__main a`(0,3,1) が `.bk-page .bk-cta`(0,2,0) に勝って
   紺地に紺文字になるので、ここで色と下線を戻す(2026-09-05 プレビュー実測)。 */
.bk-page .bk-doc__main a.bk-cta{ color:#fff; text-decoration:none;
  border-radius:var(--bk-pg-radius); }
.bk-page .bk-doc__main a.bk-cta:hover{ color:#fff; text-decoration:none; }
.bk-page .bk-doc__main a.bk-cta--ghost{ color:var(--bk-navy); }

/* 事実の行(板の .bk-endorse)。本文から `<dl class="bk-kv">` で呼べる形にする。
   dt / dd を直に置くだけで組めること = 記事本文側の記述を最小にする。 */
.bk-page .bk-kv{ margin:28px 0; padding:12px 0; display:grid;
  grid-template-columns:96px minmax(0,1fr); gap:6px 16px;
  border-top:1px solid var(--bk-evi); border-bottom:1px solid var(--bk-evi);
  font-size:14px; line-height:1.7; }
.bk-page .bk-kv dt{ color:var(--bk-evi); font-weight:700; letter-spacing:.08em;
  font-size:13px; padding-top:2px; }
.bk-page .bk-kv dd{ margin:0; color:var(--bk-pg-ink); }

/* --- COLOPHON(板1a の右段)------------------------------------------------ */
.bk-page .bk-colophon{ position:sticky; top:24px; align-self:start;
  font-size:13px; line-height:1.7; color:var(--bk-pg-mute); }
.bk-page .bk-colophon__cap{ margin:0 0 10px; font-size:11px; font-weight:700;
  letter-spacing:.16em; color:var(--bk-evi); }
.bk-page .bk-colophon dl{ margin:0; padding:10px 0; display:grid; gap:8px;
  border-top:1px solid var(--bk-evi); border-bottom:1px solid var(--bk-evi); }
.bk-page .bk-colophon dt{ font-weight:700; color:var(--bk-pg-ink); }
.bk-page .bk-colophon dd{ margin:0; }

/* --- お問い合わせフォーム(板1d)------------------------------------------
   本文は Contact Form 7 のマークアップ。クラス名に依存せず、
   `.bk-page .bk-form` の中の素の入力要素へ当てる(プラグインを差し替えても効く)。 */
.bk-page .bk-form form{ display:grid; gap:22px; margin:0; padding:32px;
  background:var(--bk-paper); border:1px solid var(--bk-pg-line);
  border-radius:var(--bk-pg-radius); }
.bk-page .bk-form form p{ margin:0; }
.bk-page .bk-form label{ display:block; font-size:14px; font-weight:700;
  line-height:1.7; }
.bk-page .bk-form label br{ display:none; }
.bk-page .bk-form .wpcf7-form-control-wrap{ display:block; margin-top:8px; }
.bk-page .bk-form input[type="text"],
.bk-page .bk-form input[type="email"],
.bk-page .bk-form input[type="tel"],
.bk-page .bk-form input[type="url"],
.bk-page .bk-form select{ width:100%; height:48px; padding:0 14px;
  border:1px solid var(--bk-pg-field); border-radius:var(--bk-pg-radius-sm);
  font:400 16px var(--bk-font); background:var(--bk-paper); color:var(--bk-pg-ink); }
.bk-page .bk-form textarea{ width:100%; min-height:180px; padding:12px 14px;
  border:1px solid var(--bk-pg-field); border-radius:var(--bk-pg-radius-sm);
  font:400 16px/1.7 var(--bk-font); background:var(--bk-paper);
  color:var(--bk-pg-ink); resize:vertical; }
.bk-page .bk-form input[type="checkbox"],
.bk-page .bk-form input[type="radio"]{ width:20px; height:20px; margin:0; }
.bk-page .bk-form button[type="submit"],
.bk-page .bk-form input[type="submit"]{ height:52px; padding:0 32px;
  background:var(--bk-navy); color:#fff; border:0;
  border-radius:var(--bk-pg-radius); font:700 16px var(--bk-font); cursor:pointer; }
.bk-page .bk-form button[type="submit"]:hover,
.bk-page .bk-form input[type="submit"]:hover{ filter:brightness(1.12); }
/* CF7 は送信前も空の応答欄を描く。プラグインCSSが外れても枠だけ残さない。 */
.bk-page .bk-form .wpcf7-response-output:empty{ display:none; }
.bk-page .bk-form .wpcf7-response-output{ margin:0; padding:12px 14px;
  border:1px solid var(--bk-pg-field); border-radius:var(--bk-pg-radius-sm);
  font-size:14px; line-height:1.7; }
.bk-page .bk-form .wpcf7-not-valid-tip{ font-size:13px; font-weight:400; color:#c0392b; }

/* ==========================================================================
   Phase A / 中間幅(835〜1099px): 誌面を1段に倒す
   3段のまま縮めると左右段が 180px を割って CONTENTS の行が折れる。
   ========================================================================== */
@media (max-width:1099px){
  .bk-page .bk-doc{ grid-template-columns:minmax(0,1fr); row-gap:32px; padding-top:28px; }
  .bk-page .bk-pagenav,
  .bk-page .bk-colophon{ position:static; }
  .bk-page .bk-pagenav ol{ display:block; border-left:0;
    border-top:1px solid var(--bk-pg-line); }
  .bk-page .bk-pagenav li{ padding-left:0; margin-left:0;
    border-bottom:1px solid var(--bk-pg-line); }
  .bk-page .bk-pagenav .is-current{ border-left:0; }
  .bk-page .bk-pagenav a{ display:flex; align-items:center; min-height:44px;
    color:var(--bk-navy); }
  .bk-page .bk-pagehead h1,
  .bk-page .bk-404 h1{ font-size:34px; }
  .bk-page .bk-pagehead--split{ flex-direction:column; align-items:flex-start; gap:16px; }
  .bk-page .bk-404{ padding-top:40px; }
}

/* ==========================================================================
   Phase A / SP(390基準・既存の 834px に合わせる)
   ========================================================================== */
@media (max-width:834px){
  .bk-page.bk-shell{ padding-left:var(--bk-pad-sp); padding-right:var(--bk-pad-sp);
    padding-bottom:40px; }

  .bk-page .bk-pagehead{ padding:32px 0 20px; }
  .bk-page p.bk-kicker--word{ margin:0 0 8px; font-size:11px; }
  .bk-page .bk-pagehead h1{ margin:0 0 10px; font-size:26px; line-height:1.35; }
  .bk-page .bk-lede{ font-size:15px; line-height:1.8; }
  .bk-page .bk-pagehead--split{ gap:12px; }
  .bk-page .bk-pagehead .bk-slot--count{ font-size:24px; }
  .bk-page .bk-pagehead__n{ display:block; margin-left:0; font-size:16px; }
  .bk-page .bk-pagehead__n .bk-slot--count{ font-size:16px; }

  .bk-page .bk-evidence--rule{ gap:6px 18px; font-size:12px; }

  /* 一覧の行: 左列を畳んで「UPDATED 09-03」の1行にする */
  .bk-page .bk-row{ grid-template-columns:minmax(0,1fr); row-gap:6px; padding:18px 0; }
  .bk-page .bk-row__head{ display:flex; align-items:baseline; gap:8px; padding-top:0; }
  .bk-page .bk-row__d{ font-size:15px; }
  .bk-page .bk-row__main{ max-width:none; }
  .bk-page .bk-row__title{ font-size:20px; line-height:1.45; }
  .bk-page .bk-row__excerpt{ font-size:15px; }
  .bk-page .bk-row__evi{ gap:4px 16px; }

  .bk-page .bk-search{ gap:8px; }
  .bk-page .bk-search--lg{ margin-bottom:16px; }
  .bk-page .bk-search--lg input[type="search"]{ height:48px; font-size:16px; }
  .bk-page .bk-search--lg button{ height:48px; padding:0 18px; font-size:15px; }
  .bk-page .bk-search button{ height:48px; padding:0 16px; }

  .bk-page .bk-empty{ margin-top:32px; padding:20px; }
  .bk-page .bk-empty h2{ font-size:19px; }
  .bk-page .bk-empty__nav{ gap:12px 20px; }
  .bk-page .bk-empty .bk-cta{ width:100%; }

  .bk-page .bk-404{ padding-top:28px; }
  .bk-page .bk-404 h1{ font-size:26px; line-height:1.35; }
  .bk-page .bk-404 .bk-lede{ margin-bottom:24px; }
  .bk-page .bk-404 .bk-evidence--rule{ margin-bottom:24px; }
  .bk-page .bk-404 .bk-cta{ width:100%; }
  .bk-page .bk-404 .bk-catlinks{ gap:12px 20px; margin-top:24px; }
  .bk-page .bk-404 .bk-search{ margin-top:24px; }

  .bk-page .bk-doc{ row-gap:24px; padding-top:24px; }
  .bk-page .bk-doc__main h2{ margin:44px 0 16px; padding-bottom:8px; font-size:22px; }
  .bk-page .bk-doc__main h3{ margin:28px 0 12px; font-size:18px; }
  .bk-page .bk-doc__main p{ margin:0 0 14px; }
  .bk-page .bk-doc__main .bk-doclead{ margin:0 0 16px; font-size:20px; line-height:1.55; }
  .bk-page .bk-doc__main .bk-doclead br{ display:none; }

  /* 事実の行は1列(dt を dd の上へ) */
  .bk-page .bk-kv{ grid-template-columns:minmax(0,1fr); gap:0; margin:20px 0;
    padding:10px 0; }
  .bk-page .bk-kv dt{ margin-top:10px; font-size:12px; padding-top:0; }
  .bk-page .bk-kv dt:first-of-type{ margin-top:0; }
  .bk-page .bk-kv dd{ margin-top:2px; }

  .bk-page .bk-form form{ padding:18px; gap:16px; }
  .bk-page .bk-form button[type="submit"],
  .bk-page .bk-form input[type="submit"]{ width:100%; padding:0 16px; }

  /* タップ対象は24px以上(SPの小さいリンクだけを底上げする) */
  .bk-page .bk-catlinks a,
  .bk-page .bk-evidence--rule a,
  .bk-page .bk-colophon a,
  .bk-page .bk-doc__main a{ display:inline-flex; align-items:center; min-height:26px; }
}
