/* === (71) ART V2 — 記事の器(Phase B)========================================
   BK_ART_V2 2026-09-05
   正本(意匠): bizkeiri-canvas/bizkeiri-phaseB-1-2.dc.html 板 2a/2b/2c
               + bizkeiri-phaseB-3-4.dc.html 板 3a/3b/3c
   正本(実装): bizkeiri-canvas/impl-bizkeiri-phase-ab.css の「記事の器」部分。
               数値は板のインラインstyleを実測値として採った。

   規律(この層で守っていること):
     - 選択子はすべて `body.bk-art-v2` 配下に閉じる。BK_ART_V2 が無効なページには
       この層自体が enqueue されない(二重の安全)。
     - 60-type-layers.css の .bkt-* は**削除も改名もしない**。この層が後から上書きする。
       特異度は 60 側(最大 (0,2,1) = `.articleBody table.bkt-table`)を必ず超える。
     - `.bk-page` は前置しない。70-v3.css(トップ・一覧・固定ページ)と面を分ける ——
       BK_V3 が false でも記事の器だけを単独で有効にできるようにするため、
       この層で使うトークンは全部ここで宣言する(70-v3.css に依存しない)。
     - ブレークポイントは既存に合わせて 834px(50-responsive.css / 70-v3.css と同じ)。
       Design 納品CSSの 767px は使わない。板の PC は 1440・SP は 390。
       835〜1279px は板に無いので、右段を本文の下へ落として版面を守る(この層の判断)。
     - 画像を出す宣言はこの層に無い(§04-8 画像ゼロ則・Yu裁定 2026-09-03)。
     - `--bk-*` トークンを使うので build-css.py の廃止トークン検査から除外が要る
       (README-bk-art.md の 3行目)。
   ========================================================================== */

body.bk-art-v2{
  /* 板のトークン(impl-bizkeiri-phase-ab.css :root と同値)。
     70-v3.css の :root と名前が重なるものは同じ役割・板の値を採る。 */
  --bk-bg:#f7f9fb;            /* 地 */
  --bk-paper:#ffffff;         /* 紙 */
  --bk-navy:#123a63;          /* 紺 = 比較ハブ・見出し */
  --bk-green:#0f9247;         /* CTA緑 = 公式へ(aff) */
  --bk-proof:#c9a24a;         /* 証跡色 = 出典・確認日・調査日の罫とラベル */
  --bk-ink:#1c2430;
  --bk-muted:#5b6572;
  --bk-line:#dfe5ec;
  --bk-line-strong:#c5ced8;
  --bk-thead:#eef2f6;
  --bk-hilite:#fbf8ef;        /* 比較表: 差の大きい行 */
  --bk-mark:#fbf3dc;
  --bk-inner:1256px;          /* 版面の内寸(既存 chrome と同じ) */
  --bk-body:720px;            /* 本文の列幅(17px × 約42字) */
  --bk-rail:200px;            /* 目次・証跡の側柱 */
  --bk-gutter:68px;
  --bk-font-body:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  --bk-font-head:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --bk-spbar:48px;
  --bk-pad-pc:56px;
  --bk-pad-sp:16px;
}

/* --- 版面 ---------------------------------------------------------------- */
/* 親テーマ site.css の box-sizing に依存しないよう、この面だけで寸法を閉じる。 */
body.bk-art-v2 .bk-art,
body.bk-art-v2 .bk-art *,
body.bk-art-v2 .bk-art *::before,
body.bk-art-v2 .bk-art *::after{ box-sizing:border-box; }

body.bk-art-v2 .bk-art{
  background:var(--bk-bg);
  color:var(--bk-ink);
  font-family:var(--bk-font-body);
  padding-left:max(var(--bk-pad-pc), calc((100% - var(--bk-inner)) / 2));
  padding-right:max(var(--bk-pad-pc), calc((100% - var(--bk-inner)) / 2));
  padding-bottom:96px;
}
body.bk-art-v2 .bk-art a{ color:var(--bk-navy); text-decoration:none; }
body.bk-art-v2 .bk-art a:hover{ text-decoration:underline; }

/* 記事面では旧SP追従CTA(.aff-sticky・inc/bk-article.php)を出さない。
   新しい面は .bk-ctabar(48px)を持つので、2本立つと下端が二重になる。
   bk-hooks.php の wp_footer は無名クロージャで remove できないため CSS で塞ぐ。 */
body.bk-art-v2 .aff-sticky{ display:none !important; }

/* --- 記事の頭 ------------------------------------------------------------- */
body.bk-art-v2 .bkt-crumb{
  padding:20px 0 0; font-size:13px; color:var(--bk-muted);
  display:flex; flex-wrap:wrap; gap:10px;
}
body.bk-art-v2 .bkt-head{ padding:28px 0 24px; max-width:988px; }
body.bk-art-v2 .bkt-head .bkt-head__kicker{
  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-proof);
}
body.bk-art-v2 .bkt-head h1{
  margin:0 0 16px; font-family:var(--bk-font-head); font-size:38px; line-height:1.35;
  font-weight:700; color:var(--bk-navy);
}
body.bk-art-v2 .bkt-head .bkt-head__lead{
  margin:0; font-size:17px; line-height:1.85; color:var(--bk-muted);
}

/* kicker 行 —— カテゴリ(金)と PR表記(`.notice-label`)を h1 の直上に並べる。
   PR表記は親 `parts/single/post-header.php` が `.articleHeader` に出していたもので、
   器 V2 では `bk_art_ads_label_html()`(inc/bk-art.php)が同じ関数
   `xw_article_ads_label()` を呼んで同じマークアップを出す。 */
body.bk-art-v2 .bkt-head .bkt-head__meta{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; margin:0 0 10px;
}
body.bk-art-v2 .bkt-head .bkt-head__meta .bkt-head__kicker{ margin:0; }

/* 親 site.css の `.notice-label__large`(白地・1px罫・中央寄せ・角丸)と
   `.notice-label__small`(白地・box-shadow の枠)を、この面では枠ごと外して
   1行の注記に戻す。板に箱は無い。
   色は **金(--bk-proof)を使わない** —— 地(#f7f9fb)に対して 2.27:1 しかなく、
   景表法の表示が AA を割る(2026-09-05 実測)。--bk-muted は 5.61:1。 */
body.bk-art-v2 .bkt-head .notice-label{ margin:0; }
body.bk-art-v2 .bkt-head .notice-label__small,
body.bk-art-v2 .bkt-head .notice-label__large{
  display:inline-flex; align-items:baseline; justify-content:flex-start;
  margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  font-family:var(--bk-font-body); font-size:13px; font-weight:400; line-height:1.6;
  letter-spacing:.04em; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-head .notice-label i{ display:none; }
body.bk-art-v2 .bkt-head .notice-label .notice-label__text{ color:inherit; }

/* 証跡帯(更新 / 調査日 / 出典 / 監修)。金罫で上下を挟む。 */
body.bk-art-v2 .bk-evidence{
  display:flex; flex-wrap:wrap; gap:8px 28px; padding:9px 0;
  border-top:1px solid var(--bk-proof); border-bottom:1px solid var(--bk-proof);
  font-size:13px; line-height:1.7; color:var(--bk-muted);
}
body.bk-art-v2 .bk-evidence b,
body.bk-art-v2 .bk-evidence .l{
  color:var(--bk-proof); font-weight:700; letter-spacing:.08em; margin-right:6px;
}

/* 実数の点線スロット。70-v3.css の `.bk-page .bk-slot`(block・数字フォント)は
   トップ・一覧の大きい数字用。記事本文では行中に置くので inline に戻す。 */
body.bk-art-v2 .bk-slot{
  display:inline; font-family:inherit; font-size:inherit;
  border-bottom:1px dotted var(--bk-muted); padding:0 3px;
  color:var(--bk-navy);
}

/* --- 3段の版面(左=目次 / 中=本文 / 右=証跡) ----------------------------- */
body.bk-art-v2 .bkt-grid{
  display:grid;
  grid-template-columns:var(--bk-rail) minmax(0, var(--bk-body)) var(--bk-rail);
  column-gap:var(--bk-gutter);
  justify-content:center;
  padding-top:40px;
}
body.bk-art-v2 .bkt-toc,
body.bk-art-v2 .bkt-side{ position:sticky; top:24px; align-self:start; }

body.bk-art-v2 .bkt-toc{ font-size:13px; line-height:1.6; }
body.bk-art-v2 .bkt-toc .bkt-toc__cap{
  margin:0 0 12px; font-size:11px; font-weight:700; letter-spacing:.16em;
  color:var(--bk-muted);
}
body.bk-art-v2 .bkt-toc ol{
  list-style:none; margin:0; padding:0; display:grid; gap:9px;
  border-left:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-toc li{ padding-left:14px; }
body.bk-art-v2 .bkt-toc li a{ color:var(--bk-muted); }
body.bk-art-v2 .bkt-toc li.is-current{ border-left:2px solid var(--bk-navy); margin-left:-1px; }
body.bk-art-v2 .bkt-toc li.is-current a{ color:var(--bk-navy); font-weight:700; }
body.bk-art-v2 .bkt-toc li.is-record a{ color:var(--bk-proof); }

body.bk-art-v2 .bkt-side{ font-size:13px; line-height:1.7; color:var(--bk-muted); }
body.bk-art-v2 .bkt-side .bkt-side__cap{
  margin:0 0 10px; font-size:11px; font-weight:700; letter-spacing:.16em;
  color:var(--bk-proof);
}
body.bk-art-v2 .bkt-side .bkt-side__cap--ledger{ color:var(--bk-muted); }
body.bk-art-v2 .bkt-side dl{
  margin:0 0 28px; padding:10px 0; display:grid; gap:8px;
  border-top:1px solid var(--bk-proof); border-bottom:1px solid var(--bk-proof);
}
body.bk-art-v2 .bkt-side dl.bkt-side__ledger{
  border-top:1px solid var(--bk-line); border-bottom:0; margin-bottom:0;
}
body.bk-art-v2 .bkt-side dt{ font-weight:700; color:var(--bk-ink); }
body.bk-art-v2 .bkt-side dd{ margin:0; }
body.bk-art-v2 .bkt-side .bkt-side__hub{
  display:flex; align-items:center; justify-content:center;
  height:44px; margin-top:20px; border-radius:6px;
  background:var(--bk-navy); color:#fff; font-weight:700; font-size:14px;
}
body.bk-art-v2 .bkt-side .bkt-side__hub:hover{ color:#fff; text-decoration:none; opacity:.9; }

/* --- 本文の基本 ----------------------------------------------------------- */
body.bk-art-v2 .bkt-body{
  font-family:var(--bk-font-body); font-size:17px; line-height:1.85; color:var(--bk-ink);
}
body.bk-art-v2 .bkt-body > h2{
  margin:64px 0 24px; padding-bottom:12px;
  border-bottom:2px solid var(--bk-navy);
  font-family:var(--bk-font-head); font-size:28px; font-weight:700; line-height:1.4;
  color:var(--bk-navy);
}
body.bk-art-v2 .bkt-body > h2:first-child{ margin-top:0; }
body.bk-art-v2 .bkt-body h3{
  margin:36px 0 12px; font-family:var(--bk-font-head); font-size:21px; font-weight:700;
  line-height:1.4; color:var(--bk-ink);
}
body.bk-art-v2 .bkt-body p{ margin:0 0 18px; }
body.bk-art-v2 .bkt-body > ul,
body.bk-art-v2 .bkt-body > ol{ margin:0 0 24px; padding-left:1.4em; }

/* アンサーカプセル。§3 はラベル p.l を置かない(板 3a)。 */
body.bk-art-v2 .bkt-capsule{
  background:var(--bk-paper); border:0; border-radius:0;
  border-top:3px solid var(--bk-navy);
  padding:28px 32px 26px; margin:0 0 8px;
  box-shadow:0 1px 0 var(--bk-line);
  font-size:17px; font-weight:400;
}
body.bk-art-v2 .bkt-capsule .l{
  margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.16em;
  color:var(--bk-proof);
}
body.bk-art-v2 .bkt-capsule .a{
  margin:0 0 14px; font-family:var(--bk-font-head); font-size:25px; line-height:1.55;
  font-weight:700; color:var(--bk-navy);
}
body.bk-art-v2 .bkt-capsule .s{ margin:0; font-size:16px; color:var(--bk-muted); }

/* 分岐表。li の個数は揃えない。§2 は両側 .is-fit + 末尾 li.unfit。 */
body.bk-art-v2 .bkt-fork{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0 28px;
}
body.bk-art-v2 .bkt-fork > div{
  background:var(--bk-paper); padding:20px 22px 18px;
  border-top:3px solid var(--bk-line-strong);
}
body.bk-art-v2 .bkt-fork > div.is-fit{ border-top-color:var(--bk-green); }
body.bk-art-v2 .bkt-fork > div > p:first-child{
  margin:0 0 12px; font-family:var(--bk-font-head); font-size:18px; line-height:1.4;
  font-weight:700; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-fork .is-fit > p:first-child{ color:var(--bk-green); }
body.bk-art-v2 .bkt-fork.is-vs .is-fit > p:first-child{ color:var(--bk-navy); }
body.bk-art-v2 .bkt-fork ul{
  margin:0; padding-left:1.2em; font-size:15px; line-height:1.8; display:grid; gap:6px;
}
body.bk-art-v2 .bkt-fork li.unfit{
  list-style:none; margin-left:-1.2em; margin-top:4px; padding-top:8px;
  color:var(--bk-muted); border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-fork li.unfit .l{
  color:var(--bk-proof); font-weight:700; font-size:13px; margin-right:6px;
}

/* 気になる点・デメリット。
   ── Yu裁定 2026-09-05: **連番は出さない。** 数を数えさせる面ではないので、
      span.n はマークアップに残したまま CSS で伏せ、区切りは細罫だけで示す。
      (§2 の `.n.is-name` = 製品略称も同じ規則で伏せる。復活させるなら
       直下の1行のコメントを外す —— 判断は統括経由で。) */
body.bk-art-v2 .bkt-limit{
  display:block; padding:24px 0; margin:0;
  border-top:1px solid var(--bk-line); border-radius:0; background:none;
}
body.bk-art-v2 .bkt-limit:last-of-type{ border-bottom:1px solid var(--bk-line); }
body.bk-art-v2 .bkt-limit span.n{ display:none; }
/* 2026-09-05 Yu 裁定の適用: 番号(span.n)は伏せるが製品略称(.n.is-name)は名前なので出す */
body.bk-art-v2 .bkt-limit span.n.is-name{ display:block; font-size:14px;
     line-height:1.3; letter-spacing:.06em; color:var(--bk-proof); font-weight:700; }
body.bk-art-v2 .bkt-limit h3{ margin:0 0 10px; }
body.bk-art-v2 .bkt-limit p{ font-size:16px; margin:0 0 14px; }
body.bk-art-v2 .bkt-limit .bkt-limit__workaround{
  margin:0; padding:10px 14px; background:var(--bk-bg);
  border-left:2px solid var(--bk-proof); font-size:14px; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-limit .bkt-limit__workaround .l{
  color:var(--bk-proof); font-weight:700; margin-right:8px;
}

/* 評価できる点 / 決定的に違う点 */
body.bk-art-v2 .bkt-merit{
  padding:20px 0; margin:0; background:none; border:0;
  border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-merit:last-of-type{ border-bottom:1px solid var(--bk-line); }
body.bk-art-v2 .bkt-merit h3{ margin:0 0 8px; }
body.bk-art-v2 .bkt-merit p{ margin:0; font-size:16px; }
body.bk-art-v2 .bkt-merit .quant{
  font-weight:700; color:var(--bk-navy);
  border-bottom:1px dotted var(--bk-muted); padding:0 3px;
}

/* 調査日直上表記(表の直上にだけ置く。節ごとの根拠行 .bkt-basis は使わない) */
body.bk-art-v2 .bkt-src{
  display:flex; flex-wrap:wrap; gap:6px 24px; padding:8px 0; margin:0;
  border-top:1px solid var(--bk-proof);
  font-size:13px; line-height:1.7; letter-spacing:0; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-src .l{
  color:var(--bk-proof); font-weight:700; letter-spacing:.08em; margin-right:6px;
}
body.bk-art-v2 .bkt-src a{ color:var(--bk-navy); text-decoration:underline; }

/* 表 — 必ず .bkt-scroll > table.bkt-table。
   10-foundation の `.articleBody table`(display:block)と 60-type-layers の
   `.articleBody table.bkt-table`(0,2,1)の両方に勝つ特異度で敷き直す。 */
body.bk-art-v2 .bkt-scroll{
  overflow-x:auto; margin:0 0 8px; -webkit-overflow-scrolling:touch;
}
body.bk-art-v2 .bkt-scroll > table.bkt-table,
body.bk-art-v2 .bkt-body table.bkt-table{
  display:table; overflow-x:visible; width:100%; border-collapse:collapse;
  font-size:15px; line-height:1.6; background:var(--bk-paper);
}
body.bk-art-v2 .bkt-body table.bkt-table th,
body.bk-art-v2 .bkt-body table.bkt-table td{
  padding:10px 12px; border:0; border-bottom:1px solid var(--bk-line);
  text-align:left; vertical-align:top;
}
body.bk-art-v2 .bkt-body table.bkt-table thead tr{ background:var(--bk-thead); }
body.bk-art-v2 .bkt-body table.bkt-table thead th{
  background:var(--bk-thead); font-family:var(--bk-font-body);
  font-size:15px; letter-spacing:0; font-weight:700; color:var(--bk-ink);
}
body.bk-art-v2 .bkt-body table.bkt-table tbody th{
  background:var(--bk-paper); font-weight:700; color:var(--bk-ink);
}
body.bk-art-v2 .bkt-body table.bkt-table td.num,
body.bk-art-v2 .bkt-body table.bkt-table th.num{
  text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;
}
body.bk-art-v2 .bkt-body table.bkt-table tr.is-diff{ background:var(--bk-hilite); }
body.bk-art-v2 .bkt-body table.bkt-table .diff-l{
  text-align:center; color:var(--bk-proof); font-weight:700;
}
body.bk-art-v2 .bkt-body table.bkt-table .diff-s{ text-align:center; color:var(--bk-muted); }
body.bk-art-v2 .bkt-body p.foot{ margin:0 0 28px; font-size:13px; color:var(--bk-muted); }

body.bk-art-v2 .bkt-sim__head{ margin:0 0 12px; }
body.bk-art-v2 .bkt-sim__formula{
  margin:0 0 28px; padding:8px 0; border-bottom:1px solid var(--bk-proof);
  font-size:13px; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-sim__formula .l{
  color:var(--bk-proof); font-weight:700; letter-spacing:.08em; margin-right:8px;
}

/* 口コミの傾向 */
body.bk-art-v2 .bkt-voices{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 12px;
}
body.bk-art-v2 .bkt-voices > div{
  background:var(--bk-paper); padding:18px 20px;
  border-top:3px solid var(--bk-line-strong);
}
body.bk-art-v2 .bkt-voices .is-pos{ border-top-color:var(--bk-green); }
body.bk-art-v2 .bkt-voices > div > p:first-child{
  margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.12em;
  color:var(--bk-muted);
}
body.bk-art-v2 .bkt-voices .is-pos > p:first-child{ color:var(--bk-green); }
body.bk-art-v2 .bkt-voices p{ margin:0; font-size:16px; }

/* 読者の実在の問い — details 3問まで・1問目 open。JS は使わない。 */
body.bk-art-v2 .bkt-faq{ border-top:1px solid var(--bk-line); }
body.bk-art-v2 .bkt-faq details{ border-bottom:1px solid var(--bk-line); }
body.bk-art-v2 .bkt-faq summary{
  cursor:pointer; list-style:none; display:flex; gap:14px; align-items:baseline;
  padding:18px 0; min-height:44px;
  font-family:var(--bk-font-head); font-size:18px; font-weight:700; line-height:1.5;
  color:var(--bk-navy);
}
body.bk-art-v2 .bkt-faq summary::-webkit-details-marker{ display:none; }
body.bk-art-v2 .bkt-faq summary .q{
  color:var(--bk-proof); font-size:14px; letter-spacing:.08em; flex:none;
}
body.bk-art-v2 .bkt-faq details > p{
  margin:0; padding:0 0 20px 32px; font-size:16px;
}

/* --- 制度実装ガイド型(§3)固有 ------------------------------------------- */
body.bk-art-v2 .bkt-timeline{
  list-style:none; margin:0 0 24px; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-timeline li{
  padding:16px; margin-top:-1px; border-top:3px solid var(--bk-line);
}
body.bk-art-v2 .bkt-timeline li:first-child{ padding-left:0; }
body.bk-art-v2 .bkt-timeline li:last-child{ padding-right:0; }
body.bk-art-v2 .bkt-timeline li.is-past{
  border-top-color:var(--bk-line-strong); color:var(--bk-muted);
}
body.bk-art-v2 .bkt-timeline li.is-now{
  border-top-color:var(--bk-navy); background:var(--bk-paper);
}
body.bk-art-v2 .bkt-timeline .d{
  display:block; font-size:12px; font-weight:700; letter-spacing:.08em;
  color:var(--bk-muted);
}
body.bk-art-v2 .bkt-timeline .is-now .d{ color:var(--bk-proof); }
body.bk-art-v2 .bkt-timeline .t{
  display:block; margin:4px 0; font-family:var(--bk-font-head);
  font-size:16px; font-weight:700; line-height:1.4;
}
body.bk-art-v2 .bkt-timeline .is-now .t{ color:var(--bk-navy); }
body.bk-art-v2 .bkt-timeline .s{ font-size:13px; color:var(--bk-muted); }

/* 税制ナビ送客(器が挿す唯一の内部リンク・内部リンク5本の枠に数える) */
body.bk-art-v2 .bkt-sister{
  display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center;
  padding:16px 20px; margin:0 0 28px;
  background:var(--bk-paper); border:1px solid var(--bk-line);
  border-left:3px solid var(--bk-proof);
  color:var(--bk-ink); text-decoration:none;
}
body.bk-art-v2 .bkt-sister:hover{ text-decoration:none; }
body.bk-art-v2 .bkt-sister .l{
  font-size:11px; font-weight:700; letter-spacing:.16em; color:var(--bk-proof);
  white-space:nowrap; flex-shrink:0; min-width:max-content;
}
body.bk-art-v2 .bkt-sister .t{
  display:block; font-family:var(--bk-font-head); font-size:15px; line-height:1.6;
  font-weight:700; color:var(--bk-navy);
}
body.bk-art-v2 .bkt-sister .s{ font-size:15px; color:var(--bk-muted); }
body.bk-art-v2 .bkt-sister .x{ color:var(--bk-navy); white-space:nowrap; flex-shrink:0; }

body.bk-art-v2 .bkt-cant{
  padding:18px 22px; margin:0 0 8px;
  background:var(--bk-paper); border:1px solid var(--bk-line);
  border-top:3px solid var(--bk-muted); border-radius:0;
}
body.bk-art-v2 .bkt-cant h3{ margin:0 0 8px; font-size:19px; }
body.bk-art-v2 .bkt-cant p{ margin:0; font-size:15px; }

body.bk-art-v2 .bkt-point{
  padding:18px 22px; margin:0 0 16px; border:0; border-radius:0;
  background:var(--bk-paper); border-left:3px solid var(--bk-navy);
  font-size:16px; line-height:1.85;
}
body.bk-art-v2 .bkt-point .l{
  margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.12em;
  color:var(--bk-navy);
}
body.bk-art-v2 .bkt-point p:last-child{ margin:0; font-size:16px; }

body.bk-art-v2 .bkt-note{
  padding:14px 22px; margin:0 0 16px; border:0; border-radius:0;
  background:var(--bk-bg); border-left:3px solid var(--bk-proof);
  font-size:15px; line-height:1.8; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-note .l{ color:var(--bk-proof); font-weight:700; margin-right:8px; }

body.bk-art-v2 .bkt-todo{
  list-style:none; margin:0 0 24px; padding:0;
  border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-todo li{
  display:grid; grid-template-columns:150px 1fr 120px; column-gap:20px;
  padding:16px 0; border-bottom:1px solid var(--bk-line); align-items:baseline;
}
body.bk-art-v2 .bkt-todo .when{ font-size:13px; font-weight:700; letter-spacing:.06em; }
body.bk-art-v2 .bkt-todo .is-t1 .when{ color:var(--bk-proof); }
body.bk-art-v2 .bkt-todo .is-t2 .when{ color:var(--bk-navy); }
body.bk-art-v2 .bkt-todo .is-t3 .when{ color:var(--bk-muted); }
body.bk-art-v2 .bkt-todo .what{ font-size:16px; }
body.bk-art-v2 .bkt-todo .who{ font-size:13px; color:var(--bk-muted); text-align:right; }

body.bk-art-v2 .bkt-avoid{
  padding:20px 24px; margin:0 0 8px; border-radius:0;
  background:var(--bk-paper); border:1px solid var(--bk-line);
  border-top:3px solid var(--bk-proof);
}
body.bk-art-v2 .bkt-avoid p{ font-size:16px; margin:0 0 12px; }
body.bk-art-v2 .bkt-avoid p:last-child{ margin:0; font-size:15px; color:var(--bk-muted); }

/* §4 次の一手(内部リンク 2〜3) */
body.bk-art-v2 .bkt-next{
  list-style:none; margin:0 0 28px; padding:0;
  border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .bkt-next li{ border-bottom:1px solid var(--bk-line); }
body.bk-art-v2 .bkt-next a{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:14px 0; color:var(--bk-ink); font-size:16px; text-decoration:none;
}
body.bk-art-v2 .bkt-next a:hover{ text-decoration:none; }
body.bk-art-v2 .bkt-next .k{
  display:block; font-size:11px; font-weight:700; letter-spacing:.16em;
  color:var(--bk-proof); margin-bottom:2px;
}
body.bk-art-v2 .bkt-next .t{
  font-family:var(--bk-font-head); font-weight:700; color:var(--bk-navy);
}
body.bk-art-v2 .bkt-next .x{ color:var(--bk-navy); }

/* --- CTA — 緑=当該SaaS公式(アフィ経由)。出典リンクとは完全分離 --------- */
/* 20-modules.css の `.aff-cta`(中央寄せ・シャイン・グラデ)を面ごと差し替える。 */
body.bk-art-v2 .bkt-body a.aff-cta{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:auto; min-height:0; text-align:left;
  background:var(--bk-green); color:#fff;
  padding:18px 24px; border-radius:6px;
  font-family:var(--bk-font-body); font-size:17px; font-weight:700; line-height:1.5;
  text-decoration:none; text-shadow:none; box-shadow:none;
  margin:0 0 8px;
}
body.bk-art-v2 .bkt-body a.aff-cta:hover{
  background:#0c7a3b; color:#fff; filter:none; transform:none; box-shadow:none;
  text-decoration:none;
}
body.bk-art-v2 .bkt-body a.aff-cta .shine{ display:none; }
body.bk-art-v2 .bkt-body a.aff-cta .pr{
  font-size:12px; font-weight:500; white-space:nowrap; opacity:.85;
}
body.bk-art-v2 .bkt-body a.aff-cta.is-stack{
  flex-direction:column; align-items:flex-start; gap:6px;
  font-size:16px; padding:16px 20px;
}
/* §2 両製品対称の2本組 */
body.bk-art-v2 .aff-pair{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 8px;
}

/* --- 【記事情報】= 原典対応表(型ラベルは載せない)------------------------ */
body.bk-art-v2 .bkt-inforecord{
  margin:72px 0 0; padding:24px 0 0; border-top:2px solid var(--bk-proof);
}
body.bk-art-v2 .bkt-inforecord h2{
  margin:0 0 16px; padding:0; border:0;
  font-family:var(--bk-font-head); font-size:20px; font-weight:700; line-height:1.4;
  color:var(--bk-navy);
}
body.bk-art-v2 .bkt-inforecord dl{
  margin:0 0 20px; display:grid; grid-template-columns:120px 1fr; gap:6px 16px;
  font-size:14px; line-height:1.7; color:var(--bk-muted);
}
body.bk-art-v2 .bkt-inforecord dt{
  color:var(--bk-proof); font-weight:700; letter-spacing:.08em;
}
body.bk-art-v2 .bkt-inforecord dd{ margin:0; }
body.bk-art-v2 .bkt-inforecord .bkt-table{ font-size:14px; }
body.bk-art-v2 .bkt-inforecord table.bkt-table th,
body.bk-art-v2 .bkt-inforecord table.bkt-table td{ padding:8px 12px; }
body.bk-art-v2 .bkt-inforecord td.idx{ color:var(--bk-proof); font-weight:700; }

/* --- 関連記事 -------------------------------------------------------------
   親 `parts/single/post-footer.php` と同じ器(`.articleFooter__relation` +
   `parts/single/item/relation`)を single.php が本文の後に置く。
   本番の theme_mod は relation_article_style=heightcard_triple / num=3 /
   date=post_date(2026-09-05 実測)なので、親は 3カラムの画像カードを吐く。
   この層で **カードを解いて「題名 + 日付」の行へ戻し、画像を伏せる**。
   親のマークアップは PHP 側で一切触らない(親更新で壊れないようにする)。
   ------------------------------------------------------------------------- */
body.bk-art-v2 .articleFooter__relation{
  margin:56px 0 0; padding-top:24px; border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .articleFooter__relation .caption{
  margin:0 0 4px; padding:0; border:0; background:none; text-align:left;
  font-family:var(--bk-font-head); font-size:11px; font-weight:700;
  letter-spacing:.16em; line-height:1.6; color:var(--bk-proof);
}
/* type-card / pc-col3 のグリッドを解いて1列の行に戻す。
   特異度は親 `.articleList.type-card.pc-col3`(0,3,0)を超える(0,4,0)。 */
body.bk-art-v2 .articleFooter__relation .articleList.articleListRelation{
  display:block; grid-template-columns:none; gap:0; margin:0; padding:0;
  border-top:1px solid var(--bk-line);
}
body.bk-art-v2 .articleFooter__relation .articleList__item{
  margin:0; padding:0; border:0; border-bottom:1px solid var(--bk-line);
  background:none; box-shadow:none; border-radius:0;
}
/* 行そのもの。題名(左)+ 日付(右)の2段組。
   40-front.css:56 の `.articleList__item .xw-article-media`(1fr 150px の
   grid-template-areas)は**トップ・一覧の DOM 前提**で、そこでは題名が
   `__body` の直下に来る。関連記事(type-card)の題名は `__body--main` の
   **中**にあるため、そのまま食わせると題名が meta 段(150px・右寄せ)に
   落ちる(2026-09-05 実測)。ここで器を敷き直し、行と列を明示的に留める。 */
body.bk-art-v2 .articleFooter__relation .articleList__item > a{
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:none;
  align-items:baseline; column-gap:20px; row-gap:2px;
  padding:12px 0; min-height:44px;
  background:none; box-shadow:none; border:0; border-radius:0;
  color:var(--bk-ink); text-decoration:none;
}
body.bk-art-v2 .articleFooter__relation .articleList__item > a:hover{ text-decoration:none; }
body.bk-art-v2 .articleFooter__relation .articleList__item > a:hover
  .xw-article-media__body--title{ text-decoration:underline; }

/* 画像ゼロ則(§04-8・Yu裁定 2026-09-03)。10-foundation.css:52 が
   `.articleList__item--fig` を既に !important で伏せているが、親が器を
   変えても漏れないよう figure と img をこの面でも塞ぐ。 */
body.bk-art-v2 .articleFooter__relation figure,
body.bk-art-v2 .articleFooter__relation .articleList__item--fig,
body.bk-art-v2 .articleFooter__relation img{ display:none !important; }

/* 中間の入れ子(__body / __body--main)は器として使わない。消して、
   題名と日付を直接 a のグリッドに載せる。type-text(題名と日付の順序が
   逆)でも崩れないよう、行・列は grid-column / grid-row で名指しする。 */
body.bk-art-v2 .articleFooter__relation .xw-article-media__body,
body.bk-art-v2 .articleFooter__relation .xw-article-media__body--main{
  display:contents;
}
body.bk-art-v2 .articleFooter__relation .xw-article-media__body--title{
  grid-column:1; grid-row:1; display:block; margin:0; padding:0; text-align:left;
  font-family:var(--bk-font-head); font-size:15px; font-weight:700;
  line-height:1.6; color:var(--bk-navy);
}
body.bk-art-v2 .articleFooter__relation .xw-article-media__body--extra{
  grid-column:2; grid-row:1; display:block; margin:0; padding:0;
  text-align:right; white-space:nowrap;
}
body.bk-art-v2 .articleFooter__relation .article-meta{
  display:block; margin:0; padding:0; gap:0; border:0; text-align:right;
  font-size:12px; line-height:1.6; color:var(--bk-muted);
}
body.bk-art-v2 .articleFooter__relation .article-date{
  display:block; margin:0; padding:0; text-align:right; color:var(--bk-muted);
}
/* 親のアイコンフォント(公開日・更新日の前)は行の意匠に合わないので伏せる。 */
body.bk-art-v2 .articleFooter__relation i{ display:none; }
/* 関連が0件のときの "No related posts." */
body.bk-art-v2 .articleFooter__relation p{
  margin:12px 0 0; font-size:14px; color:var(--bk-muted);
}

/* --- 前後の記事 ----------------------------------------------------------- */
body.bk-art-v2 .bkt-prevnext{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
  margin:56px 0 0; padding-top:24px; border-top:1px solid var(--bk-line);
  font-size:15px;
}
body.bk-art-v2 .bkt-prevnext a{ text-decoration:none; color:var(--bk-ink); }
body.bk-art-v2 .bkt-prevnext a:hover{ text-decoration:none; }
body.bk-art-v2 .bkt-prevnext a + a{ text-align:right; }
body.bk-art-v2 .bkt-prevnext .l{
  display:block; font-size:11px; font-weight:700; letter-spacing:.16em;
  color:var(--bk-proof); margin-bottom:6px;
}
body.bk-art-v2 .bkt-prevnext .t{
  font-family:var(--bk-font-head); font-size:15px; font-weight:700; line-height:1.6;
  color:var(--bk-navy);
}

/* --- SP 固定バー(48px)。PC では出さない。------------------------------- */
body.bk-art-v2 .bk-ctabar{ display:none; }

/* ==========================================================================
   835〜1279px — 板に無い幅。3段は 200+720+200+68×2 = 1256px を要するので、
   右段(証跡)を本文の下へ落として左段の目次だけ残す。
   ========================================================================== */
@media (max-width:1279px) and (min-width:835px){
  body.bk-art-v2 .bkt-grid{
    grid-template-columns:var(--bk-rail) minmax(0,1fr);
    column-gap:40px;
  }
  body.bk-art-v2 .bkt-side{
    grid-column:2; position:static; margin-top:48px;
    padding-top:24px; border-top:1px solid var(--bk-line);
  }
  body.bk-art-v2 .bkt-side dl{ grid-template-columns:none; }
}

/* ==========================================================================
   SP(390基準・既存の 834px に合わせる)
   ========================================================================== */
@media (max-width:834px){
  body.bk-art-v2 .bk-art{
    padding-left:var(--bk-pad-sp); padding-right:var(--bk-pad-sp);
    padding-bottom:calc(var(--bk-spbar) + 24px);
  }
  body.bk-art-v2 .bkt-grid{ display:block; padding-top:24px; }
  body.bk-art-v2 .bkt-toc,
  body.bk-art-v2 .bkt-side{ position:static; }

  /* パンくずのリンクは行の見た目を変えずに 44px のタップ領域を持たせる。
     素の inline リンクは 22px しかなく、SP の最小タップ寸法(44px)に届かない
     (2026-09-05 実測。板2b のパンくずは1行の細い帯なので、行高そのものは増やせない)。
     上下 padding で当たり判定を広げ、同じ量の負マージンで版面を元へ戻す。 */
  body.bk-art-v2 .bkt-crumb{ padding:16px 0 0; font-size:12px; align-items:center; }
  body.bk-art-v2 .bkt-crumb a{
    display:inline-flex; align-items:center; min-height:44px; margin-top:-11px; margin-bottom:-11px;
  }
  body.bk-art-v2 .bkt-head{ padding:20px 0 18px; }
  body.bk-art-v2 .bkt-head h1{ font-size:26px; line-height:1.35; }
  body.bk-art-v2 .bkt-head .bkt-head__lead{ font-size:15px; }
  body.bk-art-v2 .bk-evidence{ gap:6px 18px; font-size:12px; }

  /* 目次は畳んだ形。開閉は details で JS を使わない。 */
  body.bk-art-v2 .bkt-toc{ margin:0 0 24px; }
  body.bk-art-v2 .bkt-toc ol{ border:0; border-top:1px solid var(--bk-line); gap:0; }
  body.bk-art-v2 .bkt-toc li{ padding:0; border-bottom:1px solid var(--bk-line); }
  body.bk-art-v2 .bkt-toc li.is-current{ border-left:0; margin-left:0; }
  body.bk-art-v2 .bkt-toc li a{ display:flex; align-items:center; min-height:44px; }

  body.bk-art-v2 .bkt-body{ font-size:16px; }
  body.bk-art-v2 .bkt-body > h2{ font-size:22px; margin:44px 0 16px; }
  body.bk-art-v2 .bkt-body h3{ font-size:18px; }

  body.bk-art-v2 .bkt-capsule{ padding:22px 20px 20px; margin-top:24px; }
  body.bk-art-v2 .bkt-capsule .a{ font-size:21px; line-height:1.5; }
  body.bk-art-v2 .bkt-capsule .s{ font-size:15px; }

  body.bk-art-v2 .bkt-fork,
  body.bk-art-v2 .bkt-voices,
  body.bk-art-v2 .aff-pair{ grid-template-columns:1fr; gap:16px; }
  body.bk-art-v2 .bkt-limit{ padding:20px 0; }

  body.bk-art-v2 .bkt-body table.bkt-table{ min-width:560px; font-size:14px; }
  body.bk-art-v2 .bkt-body table.bkt-table th,
  body.bk-art-v2 .bkt-body table.bkt-table td{ padding:9px 10px; }
  body.bk-art-v2 .bkt-body table.bkt-table th:first-child,
  body.bk-art-v2 .bkt-body table.bkt-table td:first-child{
    position:sticky; left:0; background:inherit;
  }
  body.bk-art-v2 .bkt-body table.bkt-table thead th:first-child{ background:var(--bk-thead); }
  body.bk-art-v2 .bkt-body table.bkt-table tbody td:first-child{ background:var(--bk-paper); }
  body.bk-art-v2 .bkt-body table.bkt-table tr.is-diff td:first-child{ background:var(--bk-hilite); }
  body.bk-art-v2 .bkt-scroll::after{
    content:"横にスクロールできます"; display:block;
    font-size:12px; color:var(--bk-muted); padding-top:6px;
  }

  body.bk-art-v2 .bkt-faq summary{ font-size:16px; padding:16px 0; gap:12px; }
  body.bk-art-v2 .bkt-faq details > p{ padding-left:26px; font-size:15px; }

  body.bk-art-v2 .bkt-timeline{
    grid-template-columns:1fr; border-top:0; border-left:2px solid var(--bk-line);
  }
  body.bk-art-v2 .bkt-timeline li{
    border-top:0; margin:0; padding:0 0 16px 18px; position:relative;
  }
  body.bk-art-v2 .bkt-timeline li::before{
    content:""; position:absolute; left:-7px; top:6px; width:12px; height:12px;
    border-radius:50%; background:var(--bk-paper); border:2px solid var(--bk-line);
  }
  body.bk-art-v2 .bkt-timeline li.is-past::before{
    background:var(--bk-line-strong); border-color:var(--bk-line-strong);
  }
  body.bk-art-v2 .bkt-timeline li.is-now::before{
    background:var(--bk-navy); border-color:var(--bk-navy);
  }
  body.bk-art-v2 .bkt-timeline li.is-now{ background:transparent; }

  /* HANDOFF_20260825_VESSEL-ROLLOUT §6 の恒久是正:
     相方が長いと min-width:0 でチップが潰れて文字が欠ける(390px 実測)。 */
  body.bk-art-v2 .bkt-sister{ display:block; padding:14px 16px; min-height:44px; }
  body.bk-art-v2 .bkt-sister .l{ display:block; margin-bottom:4px; }
  body.bk-art-v2 .bkt-sister .x{ display:none; }

  body.bk-art-v2 .bkt-todo li{ grid-template-columns:1fr; row-gap:4px; padding:14px 0; }
  body.bk-art-v2 .bkt-todo .who{ text-align:left; }

  body.bk-art-v2 .bkt-body a.aff-cta{
    flex-direction:column; align-items:flex-start; gap:6px;
    font-size:16px; padding:16px 18px;
  }
  body.bk-art-v2 .bkt-inforecord dl{ grid-template-columns:1fr; }
  body.bk-art-v2 .bkt-inforecord dt{ font-size:12px; }

  /* SP は題名と日付を積む(390px で「1fr auto」だと題名が2〜3行に折れる)。 */
  body.bk-art-v2 .articleFooter__relation{ margin-top:44px; padding-top:20px; }
  body.bk-art-v2 .articleFooter__relation .articleList__item > a{
    grid-template-columns:minmax(0,1fr); column-gap:0; padding:14px 0;
  }
  body.bk-art-v2 .articleFooter__relation .xw-article-media__body--title{ font-size:15px; }
  body.bk-art-v2 .articleFooter__relation .xw-article-media__body--extra{
    grid-column:1; grid-row:2; text-align:left;
  }
  body.bk-art-v2 .articleFooter__relation .article-meta,
  body.bk-art-v2 .articleFooter__relation .article-date{ text-align:left; }

  body.bk-art-v2 .bkt-prevnext{
    grid-template-columns:1fr; gap:16px;
    padding-bottom:calc(var(--bk-spbar) + 24px);
  }
  body.bk-art-v2 .bkt-prevnext a + a{ text-align:left; }

  /* 右段(証跡・PRICE LEDGER)は本文の下へ */
  body.bk-art-v2 .bkt-side{
    margin-top:40px; padding-top:24px; border-top:1px solid var(--bk-line);
  }

  /* SP 下部固定バー(48px)。左=比較ハブ(紺)/ 右=当該製品の公式(緑)。
     §3(制度実装ガイド型)は右を記事内リンク(白)にする。 */
  body.bk-art-v2 .bk-ctabar{
    display:grid; grid-template-columns:1fr 1fr;
    position:fixed; left:0; right:0; bottom:0; z-index:98;
    height:var(--bk-spbar);
    font-size:14px; font-weight:700;
    box-shadow:0 -6px 18px rgba(18,58,99,.14);
  }
  body.bk-art-v2 .bk-ctabar a{
    display:flex; align-items:center; justify-content:center;
    color:#fff; text-decoration:none;
  }
  body.bk-art-v2 .bk-ctabar a:hover{ color:#fff; text-decoration:none; }
  body.bk-art-v2 .bk-ctabar .is-hub{ background:var(--bk-navy); }
  body.bk-art-v2 .bk-ctabar .is-official{ background:var(--bk-green); }
  body.bk-art-v2 .bk-ctabar .is-inpage{
    background:var(--bk-paper); color:var(--bk-navy);
    border-top:1px solid var(--bk-line);
  }
  body.bk-art-v2 .bk-ctabar .is-inpage:hover{ color:var(--bk-navy); }
}

/* --- 印刷 ---------------------------------------------------------------- */
@media print{
  body.bk-art-v2 .bkt-toc,
  body.bk-art-v2 .bkt-side,
  body.bk-art-v2 .bk-ctabar,
  body.bk-art-v2 .bkt-body a.aff-cta{ display:none; }
  body.bk-art-v2 .bkt-grid{ display:block; }
}

/* 2026-09-06 本文中インラインリンクの SP タップ対象 ≥24px(Yu 裁定「すべてすすめて」)
 * 実測(390px・記事8本): .bkt-body の class 無しリンクは 19〜22px(fs13〜16)。
 * inline-block/inline-flex にすると折り返せなくなるので inline のまま padding-block で
 * 当たりだけ広げる —— インライン要素の上下 padding は行ボックスに影響しないので
 * 行送りも段落高も動かない。19+10=29px。
 * .bkt-src は display:flex で子 a が block 化するため除外(padding が実寸を押し広げる)。 */
@media (max-width:834px){
  body.bk-art-v2 .bkt-body :is(p,li,dd,td,th,figcaption,blockquote):not(.bkt-src) > a:not([class]){
    padding-block:5px;
  }
}

/* 2026-09-07 証跡行(.bkt-src)のリンクも SP タップ 24px 以上に(+2px の行高を許容・Yu「進めて」) */
@media (max-width: 834px) {
  body.bk-art-v2 .bkt-body .bkt-src > a { min-height: 24px; display: inline-flex; align-items: center; }
}
