@charset "UTF-8";
/* ================================================================
   81-art-v2 — Phase B 記事本文の器 v2(キャンバス B-1〜B-4 / 2026-09-05)

   数値の正本: design-review-20260905/bk-implementation.css
   構成の正本: design-review-20260905/bk-block-patterns.md(Phase B 節)
   版面の正本: ぼきキャリ サイト全体.dc.html の #B1 #B1s #B2 #B2sp #B3 #B4

   全規則は body.bc-art-v2 の内側。OFF のときは1バイトも読み込まれない。

   ----------------------------------------------------------------
   既存記事を壊さないための2階建て(ないおと 2026-09-06 の検収失敗の再発防止)
   ----------------------------------------------------------------
   公開済み9本は v2 と違う子構造を使っている:
     p.bk-capsule / div.wp-block-group.bk-capsule > .wp-block-group__inner-container > p
     figure.wp-block-table.bk-calc|bk-timetable|bk-table--spec|bk-table--rate|bk-branch
     div.bk-bars > .bk-bars__head + .bk-bar(track/fill) + .bk-bars__legend
     div.bk-faq > details > summary + div.bk-faq__a > p
   そこで:
     [A] 再塗装だけの規則(色・書体・罫・余白・字送り)は body.bc-art-v2 配下に広く当てる。
         単一要素の見え方しか変えないので、子構造が違っても崩れようがない。
     [B] レイアウト機構を持ち込む規則(grid / flex / 位置指定の揃え / sticky / min-width)は
         v2 パターンが出す markup にだけ当てる。目印は `.bk-v2`。
         既存 markup には当たらない = 既存記事のブロック高さが機構で伸びない。
   各節に [A] / [B] を明記した。新設部品なし・既存クラス名の改名0件。
   新規トークンは --bk-v2-* だけ(:root は触らない)。
   ================================================================ */

/* ---------------------------------------------------------------
   トークン([A]・:root ではなく body.bc-art-v2 に置く)
   --------------------------------------------------------------- */
body.bc-art-v2{
  --bk-v2-paper:       #F2F1F0;   /* 地 */
  --bk-v2-grape:       #43263A;   /* 主色 葡萄 */
  --bk-v2-moss:        #4F6B4A;   /* 従色 苔緑 */
  --bk-v2-ink:         #2A2428;   /* 本文墨 */
  --bk-v2-ink-muted:   #6F676B;   /* 補助文・調査日・出所 */
  --bk-v2-rule:        #CBC6C8;   /* 細罫 */
  --bk-v2-rule-strong: #43263A;   /* 強罫(=葡萄) */
  --bk-v2-rule-faint:  #E1DEDC;   /* SP 前提行の区切り */
  --bk-v2-slot:        #A29A9E;   /* 点線スロット・未提携CTA枠 */
  --bk-v2-font-min:    "Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  --bk-v2-font-sans:   -apple-system,"Hiragino Sans","Yu Gothic",sans-serif;
  --bk-v2-font-mono:   ui-monospace,Menlo,"SF Mono",monospace;
  --bk-v2-measure:     68ch;      /* 本文行長 65〜72ch */
  --bk-v2-article-w:   880px;     /* 記事幅(表は本文より広く出す) */
  --bk-v2-gutter:      48px;
  --bk-v2-gutter-sp:   20px;
  --bk-v2-radius:      0;
}

/* ---------------------------------------------------------------
   版面([B] 880px 中央寄せ・脇なし。板 B-1〜B-4 の実測)
   --------------------------------------------------------------- */
body.bc-art-v2 .bc-art{
  box-sizing: border-box;
  max-width: calc(var(--bk-v2-article-w) + var(--bk-v2-gutter) * 2);
  margin: 0 auto;
  padding: 22px var(--bk-v2-gutter) 0;
  font-family: var(--bk-v2-font-sans);
  font-size: 16px;
  line-height: 1.95;
  color: var(--bk-v2-ink);
}
body.bc-art-v2 .bc-art > .articleContainer{ margin: 0; }
body.bc-art-v2 .bc-art .articleBody{ margin: 0; }
body.bc-art-v2 .bc-art a{
  color: var(--bk-v2-grape);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body.bc-art-v2 .bc-art a:hover{ color: var(--bk-v2-moss); }

/* ---------------------------------------------------------------
   パンくず([A] 文字と罫だけ / [B] 1行 flex)
   --------------------------------------------------------------- */
body.bc-art-v2 .bc-art > .bk-breadcrumb{
  display: flex;
  gap: 10px;
  align-items: baseline;
  font-size: 13px;
  line-height: 1.6;
  color: var(--bk-v2-ink-muted);
  margin: 0;
}
body.bc-art-v2 .bc-art > .bk-breadcrumb a{
  color: var(--bk-v2-ink-muted);
  text-decoration: none;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
}
body.bc-art-v2 .bc-art > .bk-breadcrumb a:hover{ color: var(--bk-v2-grape); text-decoration: underline; }
body.bc-art-v2 .bc-art > .bk-breadcrumb .bk-breadcrumb__here{ min-width: 0; }

/* ---------------------------------------------------------------
   記事の頭([A] 書体と色 / [B] メタ行の flex)
   --------------------------------------------------------------- */
body.bc-art-v2 .bk-article__head{ padding: 26px 0 0; margin: 0; }
body.bc-art-v2 .bk-article__title{
  font-family: var(--bk-v2-font-min);
  font-size: 38px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--bk-v2-grape);
  letter-spacing: .02em;
  text-wrap: pretty;
  margin: 0 0 16px;
}
body.bc-art-v2 .bk-article__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--bk-v2-ink-muted);
  font-variant-numeric: tabular-nums;
}
body.bc-art-v2 .bk-mono,
body.bc-art-v2 .bk-article__meta time{ font-family: var(--bk-v2-font-mono); }

/* ---------------------------------------------------------------
   本文のタイプ([A] 見出し・段落の再塗装)

   親の塗り帯を外す `:not()` 連鎖は Xwrite の
   `.articleBody h2:not(.is-style-default):not(.is-style-normal)
    :not([class*="is-style-heading"]):not(.xw-block-faq__question)
    :not(.xw-block-faq__accordion)` (0,6,1) と同じ形にして上から取る。
   `.articleBody` は外さない(外すと親の表・図・リスト・目次 .toc_block の
   規則まで一緒に外れる)。
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody > h2:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]):not(.xw-block-faq__question):not(.xw-block-faq__accordion){
  font-family: var(--bk-v2-font-min);
  font-size: 27px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--bk-v2-grape);
  letter-spacing: .03em;
  text-wrap: pretty;
  background: none;
  border: 0;
  border-top: 1px solid var(--bk-v2-rule-strong);
  border-radius: 0;
  padding: 18px 0 0;
  margin: 60px 0 18px;
}
body.bc-art-v2 .articleBody > h2:first-of-type:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]):not(.xw-block-faq__question):not(.xw-block-faq__accordion){
  border-top: 0;
  padding-top: 0;
  margin-top: 56px;
}
body.bc-art-v2 .articleBody > h3:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]){
  font-family: var(--bk-v2-font-min);
  font-size: 20px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--bk-v2-grape);
  letter-spacing: .02em;
  text-wrap: pretty;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 30px 0 10px;
}
body.bc-art-v2 .articleBody > h4,
body.bc-art-v2 .articleBody > h5,
body.bc-art-v2 .articleBody > h6{
  font-family: var(--bk-v2-font-sans);   /* 18px 未満で明朝を使わない(DESIGN-SPEC §2) */
  color: var(--bk-v2-ink);
}
body.bc-art-v2 .articleBody > p{
  max-width: var(--bk-v2-measure);
  font-size: 16px;
  line-height: 1.95;
  color: var(--bk-v2-ink);
  text-wrap: pretty;
  margin: 0 0 20px;
}
body.bc-art-v2 .articleBody > ul,
body.bc-art-v2 .articleBody > ol{ max-width: var(--bk-v2-measure); }
/* 表直下の注記([bk_asof] / [bk_disclosure] が出す p.bk-asof)は本文サイズに上げない。
   上の `.articleBody > p` が 16px を当ててしまうので明示で戻す(公開記事1本で実測)。 */
body.bc-art-v2 .articleBody > p.bk-asof,
body.bc-art-v2 .articleBody > p.bk-asof--inline{
  font-size: 13px;
  line-height: 1.7;
  color: var(--bk-v2-ink);
  max-width: var(--bk-v2-measure);
  margin: 0 0 20px;
}

/* 実数の点線スロット・原典名・通説([A]・既存記事に用例なし) */
body.bc-art-v2 .bk-slot{
  display: inline-block;
  min-width: 3em;
  border-bottom: 1px dotted var(--bk-v2-grape);
}
body.bc-art-v2 .bk-src{ font-size: 13px; color: var(--bk-v2-ink-muted); }
body.bc-art-v2 .bk-lore{ color: var(--bk-v2-ink-muted); }
body.bc-art-v2 .bk-lore::before{
  content: "通説";
  display: inline-block;
  font: 11px/1 var(--bk-v2-font-mono);
  color: var(--bk-v2-ink-muted);
  border: 1px solid var(--bk-v2-rule);
  padding: 3px 5px;
  vertical-align: middle;
  margin-right: 4px;
}

/* ---------------------------------------------------------------
   アンサーカプセル(.bk-capsule)

   [A] 面と枠を落として上3px/下1px の罫だけにする。単一要素の再塗装なので
       p.bk-capsule(4本)にも div.bk-capsule(5本)にも安全に当たる。
   30-components の「先頭の子をラベル体裁にする」保険が、ラベルの無い
   公開記事5本の本文を 11.5px・字送り .16em に潰しているので、v2 では本文に戻す。
   ラベルが明示されている場合(.bk-capsule__label)はラベルのまま残す。
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody p.bk-capsule,
body.bc-art-v2 .articleBody div.bk-capsule{
  background: none;
  border: 0;
  border-top: 3px solid var(--bk-v2-grape);
  border-bottom: 1px solid var(--bk-v2-grape);
  border-radius: 0;
  padding: 28px 0 26px;
  margin: 26px 0 0;
  font-family: var(--bk-v2-font-min);
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: .01em;
  color: var(--bk-v2-ink);
  text-wrap: pretty;
}
body.bc-art-v2 .articleBody p.bk-capsule{ max-width: var(--bk-v2-measure); }
body.bc-art-v2 .articleBody div.bk-capsule p{
  font-family: var(--bk-v2-font-min);
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: .01em;
  color: var(--bk-v2-ink);
  max-width: var(--bk-v2-measure);
  margin: 0;
}
body.bc-art-v2 .articleBody div.bk-capsule > :first-child,
body.bc-art-v2 .articleBody div.bk-capsule > .wp-block-group__inner-container > :first-child{
  font-family: var(--bk-v2-font-min);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.75;
  color: var(--bk-v2-ink);
  margin: 0;
}
body.bc-art-v2 .articleBody div.bk-capsule > .bk-capsule__label,
body.bc-art-v2 .articleBody div.bk-capsule > .wp-block-group__inner-container > .bk-capsule__label{
  font-family: var(--bk-v2-font-sans);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.6;
  color: var(--bk-v2-grape);
  margin: 0 0 12px;
}
/* [B] リンクを置かない型なので、v2 パターン由来のカプセルだけ無効化する */
body.bc-art-v2 .articleBody .bk-capsule.bk-v2 a{
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}

/* ---------------------------------------------------------------
   表 共通([B] v2 パターンが出す figure.bk-v2 にだけ当てる)
   罫は横のみ・縦罫なし・数値は等幅右揃え・面と影は使わない。
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody figure.bk-v2{
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 0 8px;
  overflow: visible;
  /* 30-components の `@media(max-width:782px){.bk-table{min-width:520px}}` は
     ブロックパターン形ではクラスが figure に付くため器ごと 520px に広がる。
     v2 の figure は必ず 0 に戻す(SP 390 の横あふれ 130px を実測して発掘) */
  min-width: 0;
}
body.bc-art-v2 .articleBody figure.bk-v2 > table{
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: none;
  border: 0;
  border-top: 2px solid var(--bk-v2-grape);
  font-size: 15px;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
  table-layout: auto;
}
body.bc-art-v2 .articleBody figure.bk-v2 > table th{
  text-align: left;
  vertical-align: bottom;
  font-family: var(--bk-v2-font-sans);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .04em;
  color: var(--bk-v2-grape);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--bk-v2-grape);
  padding: 10px 12px 8px;
  width: auto;
}
body.bc-art-v2 .articleBody figure.bk-v2 > table td{
  vertical-align: top;
  text-align: left;              /* 50-parts の時間割は td を中央寄せにしている。既定へ戻す */
  font-family: var(--bk-v2-font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--bk-v2-ink);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--bk-v2-rule);
  padding: 13px 12px;
  width: auto;                   /* 50-parts の `width:64px`(時間割1列目)を外す */
}
/* 30-components のゼブラを消す(あちらは (0,3,2)。こちらを (0,4,2) にして取る) */
body.bc-art-v2 .articleBody figure.bk-v2 tbody tr:nth-child(even) td,
body.bc-art-v2 .articleBody figure.bk-v2 tbody tr:nth-child(even) th{ background: none; }
body.bc-art-v2 .articleBody figure.bk-v2 > table th:first-child,
body.bc-art-v2 .articleBody figure.bk-v2 > table td:first-child{ padding-left: 0; }
body.bc-art-v2 .articleBody figure.bk-v2 > table th:last-child,
body.bc-art-v2 .articleBody figure.bk-v2 > table td:last-child{ padding-right: 0; }
body.bc-art-v2 .articleBody figure.bk-v2 > table tbody tr:last-child td,
body.bc-art-v2 .articleBody figure.bk-v2 > table tbody tr:last-child th{ border-bottom-color: var(--bk-v2-grape); }
body.bc-art-v2 .articleBody figure.bk-v2 > table td:first-child{
  color: var(--bk-v2-grape);
  font-weight: 600;
}
body.bc-art-v2 .articleBody figure.bk-v2 > table th small,
body.bc-art-v2 .articleBody figure.bk-v2 > table td small{
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--bk-v2-ink-muted);
}
/* 表直下の1行(出所+調査日 / 算出条件 / 集計の定義)。余白なしで密着させる */
body.bc-art-v2 .articleBody figure.bk-v2 > figcaption{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
  font-size: 13px;
  line-height: 1.7;
  color: var(--bk-v2-ink-muted);
  padding: 8px 0 0;
  margin: 0;
}
body.bc-art-v2 .articleBody figure.bk-v2 > figcaption .bk-mono{
  color: var(--bk-v2-ink-muted);
  white-space: nowrap;
}
/* 算出条件・集計の定義は本文墨(数字の根拠なので薄くしない) */
body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > figcaption,
body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > figcaption,
body.bc-art-v2 .articleBody figure.bk-v2 > figcaption.bk-asof{ color: var(--bk-v2-ink); }

/* 数値セル([B])
   .bk-num は等幅にするだけ(揃えは変えない)。板の bk-branch は
   可処分時間・予算の列を左揃えのまま等幅にしている。 */
body.bc-art-v2 .articleBody figure.bk-v2 > table td.bk-num{
  font-family: var(--bk-v2-font-mono);
  font-size: 14px;
  color: var(--bk-v2-ink);
  font-weight: 400;
}
body.bc-art-v2 .articleBody figure.bk-table.bk-v2 > table td.bk-num{ text-align: right; }
body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table td:not(:first-child),
body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table td:not(:first-child),
body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td:nth-child(n+2):nth-child(-n+5),
body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table td:not(:first-child){
  text-align: right;
  font-family: var(--bk-v2-font-mono);
  font-size: 14px;
  color: var(--bk-v2-ink);
  font-weight: 400;
}
/* 見出し行の揃えは数値列に合わせる(板 B-2 / B-4 の逐語。
   時間割だけ最終列「破綻しやすい形」が散文なので左のまま) */
body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table th:not(:first-child),
body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table th:not(:first-child),
body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table th:not(:first-child),
body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table th:nth-child(n+2):nth-child(-n+5){ text-align: right; }

/* §1 条件別の結論(.bk-branch)[B] — 結論列だけ明朝 */
body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:last-child{
  font-family: var(--bk-v2-font-min);
  font-size: 17px;
  line-height: 1.6;
  color: var(--bk-v2-grape);
  font-weight: 600;
  width: 38%;
  text-align: left;
}
body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table th:last-child{ width: 38%; }
body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:first-child{ font-weight: 400; color: var(--bk-v2-ink); }

/* 列幅は板の逐語(§1 スペック 24% / §2 実算 34% / §2 時間割の最終列 32% / §1 分岐 38%) */
body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table th:first-child{ width: 24%; }
body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table th:first-child{ width: 34%; }
body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table th:last-child{ width: 32%; }
body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td:first-child{
  font-family: var(--bk-v2-font-sans);
  color: var(--bk-v2-grape);
}

/* §4 合格率表([B]) — 再計算列を葡萄で立てる */
body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table td:first-child{
  font-family: var(--bk-v2-font-mono);
  font-size: 14px;
}
body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table td:nth-child(5){
  color: var(--bk-v2-grape);
  font-weight: 600;
}
body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table td:nth-child(6){ color: var(--bk-v2-ink-muted); }

/* ---------------------------------------------------------------
   §2 前提の1行(.bk-premise)[B] — 3列・上下罫のみ
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody .bk-premise.bk-v2{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  background: none;
  border: 0;
  border-top: 1px solid var(--bk-v2-grape);
  border-bottom: 1px solid var(--bk-v2-rule);
  border-radius: 0;
  padding: 0;
  margin: 0 0 20px;
  gap: 0;
  font-size: 15px;
  line-height: 1.7;
}
body.bc-art-v2 .articleBody .bk-premise.bk-v2 > div{
  padding: 12px 16px;
  border-left: 1px solid var(--bk-v2-rule);
}
body.bc-art-v2 .articleBody .bk-premise.bk-v2 > div:first-child{ padding-left: 0; border-left: 0; }
body.bc-art-v2 .articleBody .bk-premise.bk-v2 > div:last-child{ padding-right: 0; }
body.bc-art-v2 .articleBody .bk-premise.bk-v2 small{
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--bk-v2-ink-muted);
}
body.bc-art-v2 .articleBody .bk-premise.bk-v2 strong{
  display: block;
  color: var(--bk-v2-grape);
  font-weight: 600;
}

/* ---------------------------------------------------------------
   §3 帯集計(.bk-bars)[B] — 実装は苔緑の塗り。幅は style="--w:64%"
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2{
  display: block;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0 0 8px;
  gap: 0;
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__list{
  border-top: 2px solid var(--bk-v2-grape);
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__row{
  display: grid;
  grid-template-columns: 260px minmax(0,1fr) 140px;
  gap: 20px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--bk-v2-rule);
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__row:last-child{ border-bottom-color: var(--bk-v2-grape); }
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__label{
  color: var(--bk-v2-grape);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.6;
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__bar{
  display: block;
  height: 16px;
  width: var(--w, 0%);
  background: var(--bk-v2-moss);
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__val{
  text-align: right;
  font-family: var(--bk-v2-font-mono);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  color: var(--bk-v2-ink);
  white-space: nowrap;   /* 140px の列で「件 ／ %」が2行に割れないようにする */
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__val .bk-slot{ min-width: 2.2em; }
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 > figcaption{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
  font-size: 13px;
  line-height: 1.7;
  color: var(--bk-v2-ink);
  padding: 8px 0 0;
  margin: 0;
}
body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 > figcaption .bk-mono{
  color: var(--bk-v2-ink-muted);
  white-space: nowrap;
}

/* ---------------------------------------------------------------
   FAQ(.bk-faq)[B] — 罫だけ。summary は 24px 以上
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody .bk-faq.bk-v2{
  background: none;
  border: 0;
  border-top: 1px solid var(--bk-v2-grape);
  border-radius: 0;
  padding: 0;
  margin: 0 0 10px;
  max-width: var(--bk-v2-measure);
}
body.bc-art-v2 .articleBody .bk-faq.bk-v2 details{ border-bottom: 1px solid var(--bk-v2-rule); }
body.bc-art-v2 .articleBody .bk-faq.bk-v2 details:last-child{ border-bottom-color: var(--bk-v2-grape); }
body.bc-art-v2 .articleBody .bk-faq.bk-v2 summary{
  list-style: none;
  cursor: pointer;
  position: static;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 16px 0;
  min-height: 24px;
  font-family: var(--bk-v2-font-min);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--bk-v2-grape);
}
body.bc-art-v2 .articleBody .bk-faq.bk-v2 summary::-webkit-details-marker{ display: none; }
body.bc-art-v2 .articleBody .bk-faq.bk-v2 summary::after{
  content: "＋";
  position: static;
  transform: none;
  right: auto;
  top: auto;
  font-family: var(--bk-v2-font-mono);
  font-size: 14px;
  font-weight: 400;
  color: var(--bk-v2-ink-muted);
}
body.bc-art-v2 .articleBody .bk-faq.bk-v2 details[open] summary::after{ content: "－"; }
body.bc-art-v2 .articleBody .bk-faq.bk-v2 details > p{
  margin: 0 0 18px;
  padding: 0;
  font-family: var(--bk-v2-font-sans);
  font-size: 15px;
  line-height: 1.9;
  color: var(--bk-v2-ink);
  max-width: none;
}

/* ---------------------------------------------------------------
   CTA([A] ショートコード bk_cta / bk_cta_band の既存 markup を再塗装)

   inc/bk-shared.php は触らないので、出てくる形は
     .bk-cta > .bk-cta__title + .bk-cta__lead + .bk-cta__row > a.bk-btn + .bk-cta__note
     .bk-cta-band > .bk-cta-band__body(title/lead) + .bk-cta-band__row > a.bk-btn--onbrand
   のまま。これを誌面の罫だけの見え方へ寄せる。
   未提携のあいだショートコードは空文字を返すので要素自体が出ない。
   広告開示・免責はフッター常設のまま(記事内に固定枠を置かない)。
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody .bk-cta{
  background: none;
  border: 0;
  border-top: 1px solid var(--bk-v2-rule);
  border-bottom: 1px solid var(--bk-v2-rule);
  border-radius: 0;
  padding: 14px 0;
  margin: 28px 0 0;
  max-width: var(--bk-v2-measure);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 16px;
}
body.bc-art-v2 .articleBody .bk-cta__title{
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--bk-v2-font-min);
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
  color: var(--bk-v2-grape);
  margin: 0;
}
body.bc-art-v2 .articleBody .bk-cta__row{
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
body.bc-art-v2 .articleBody .bk-cta__lead,
body.bc-art-v2 .articleBody .bk-cta__note{
  flex: 1 1 100%;
  order: 3;
  font-size: 12px;
  line-height: 1.7;
  color: var(--bk-v2-ink-muted);
  margin: 0;
}
body.bc-art-v2 .articleBody .bk-cta .bk-btn{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  background: none;
  color: var(--bk-v2-grape) !important;
  border: 0;
  border-bottom: 1px solid var(--bk-v2-grape);
  border-radius: 0;
  padding: 0;
  font-family: var(--bk-v2-font-sans);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
}
body.bc-art-v2 .articleBody .bk-cta .bk-btn:hover{ background: none; color: var(--bk-v2-moss) !important; }

body.bc-art-v2 .articleBody .bk-cta-band{
  background: none;
  border: 0;
  border-top: 2px solid var(--bk-v2-grape);
  border-bottom: 1px solid var(--bk-v2-grape);
  border-radius: 0;
  padding: 22px 0;
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px;
  align-items: center;
}
body.bc-art-v2 .articleBody .bk-cta-band__title{
  font-family: var(--bk-v2-font-min);
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--bk-v2-grape);
  margin: 0;
}
body.bc-art-v2 .articleBody .bk-cta-band__lead{
  font-size: 13px;
  line-height: 1.8;
  color: var(--bk-v2-ink-muted);
  margin: 0;
}
body.bc-art-v2 .articleBody .bk-cta-band .bk-btn--onbrand,
body.bc-art-v2 .articleBody .bk-cta-band .bk-btn--ghost{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  background: none;
  color: var(--bk-v2-grape) !important;
  border: 0;
  border-bottom: 1px solid var(--bk-v2-grape);
  border-radius: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
}
body.bc-art-v2 .articleBody .bk-cta:empty,
body.bc-art-v2 .articleBody .bk-cta-band:empty{ display: none; }

/* ---------------------------------------------------------------
   末尾: 出典1行 → 【記事情報】 → 前後ナビ([A]+[B])
   出典は本文側(パターンが .bk-sources の段落を出す)。
   【記事情報】と前後ナビは導出できる事実だけをテンプレートが出す。
   --------------------------------------------------------------- */
body.bc-art-v2 .articleBody > .bk-sources,
body.bc-art-v2 .bc-art .bk-sources{
  font-size: 13px;
  line-height: 1.8;
  color: var(--bk-v2-ink-muted);
  border-top: 1px solid var(--bk-v2-rule);
  padding-top: 10px;
  margin: 48px 0 0;
  max-width: none;
}
body.bc-art-v2 .bc-art .bk-info{
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--bk-v2-ink-muted);
  font-variant-numeric: tabular-nums;
  padding-top: 6px;
}
body.bc-art-v2 .bc-art .bk-info > span:first-child{ color: var(--bk-v2-grape); }
body.bc-art-v2 .bc-art .bk-postnav{
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--bk-v2-grape);
  margin: 36px 0 64px;
}
body.bc-art-v2 .bc-art .bk-postnav > *{ min-width: 0; }
body.bc-art-v2 .bc-art .bk-postnav a{
  display: block;
  padding: 20px 24px 20px 0;
  text-decoration: none;
  color: inherit;
  min-height: 24px;
}
body.bc-art-v2 .bc-art .bk-postnav > :last-child{
  padding: 20px 0 20px 24px;
  border-left: 1px solid var(--bk-v2-rule);
  text-align: right;
}
body.bc-art-v2 .bc-art .bk-postnav small{
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--bk-v2-ink-muted);
}
body.bc-art-v2 .bc-art .bk-postnav span{
  display: block;
  font-family: var(--bk-v2-font-min);
  font-size: 17px;
  line-height: 1.5;
  color: var(--bk-v2-grape);
  text-wrap: pretty;
}
body.bc-art-v2 .bc-art .bk-postnav a:hover span{ color: var(--bk-v2-moss); }

/* ================================================================
   SP — 既存8層と同じ 782px で折り返す(板は 767px。README「板からの乖離」参照)
   ================================================================ */
@media (max-width: 782px){
  body.bc-art-v2 .bc-art{
    max-width: none;
    padding: 14px var(--bk-v2-gutter-sp) 0;
    line-height: 1.9;
  }
  body.bc-art-v2 .bc-art > .bk-breadcrumb{
    font-size: 12px;
    gap: 8px;
    white-space: nowrap;
    overflow: hidden;
  }
  body.bc-art-v2 .bc-art > .bk-breadcrumb .bk-breadcrumb__here{
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.bc-art-v2 .bk-article__head{ padding: 18px 0 0; }
  body.bc-art-v2 .bk-article__title{ font-size: 27px; line-height: 1.45; margin-bottom: 12px; }
  body.bc-art-v2 .bk-article__meta{ font-size: 12px; gap: 2px 14px; }

  body.bc-art-v2 .articleBody > h2:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]):not(.xw-block-faq__question):not(.xw-block-faq__accordion){
    font-size: 22px;
    margin: 40px 0 12px;
    padding-top: 14px;
  }
  body.bc-art-v2 .articleBody > h2:first-of-type:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]):not(.xw-block-faq__question):not(.xw-block-faq__accordion){
    margin-top: 36px;
  }
  body.bc-art-v2 .articleBody > h3:not(.is-style-default):not(.is-style-normal):not([class*="is-style-heading"]){
    font-size: 18px;
    margin: 22px 0 8px;
  }
  body.bc-art-v2 .articleBody > p{ font-size: 15px; }

  body.bc-art-v2 .articleBody p.bk-capsule,
  body.bc-art-v2 .articleBody div.bk-capsule{
    padding: 20px 0 18px;
    margin-top: 18px;
    font-size: 19px;
  }
  body.bc-art-v2 .articleBody div.bk-capsule p,
  body.bc-art-v2 .articleBody div.bk-capsule > :first-child,
  body.bc-art-v2 .articleBody div.bk-capsule > .wp-block-group__inner-container > :first-child{ font-size: 19px; }
  body.bc-art-v2 .articleBody div.bk-capsule > .bk-capsule__label,
  body.bc-art-v2 .articleBody div.bk-capsule > .wp-block-group__inner-container > .bk-capsule__label{ font-size: 11px; }

  body.bc-art-v2 .articleBody figure.bk-v2{ min-width: 0; }
  body.bc-art-v2 .articleBody figure.bk-v2 > table td,
  body.bc-art-v2 .articleBody figure.bk-v2 > table th{ padding: 10px 8px; }
  body.bc-art-v2 .articleBody figure.bk-v2 > table td{ font-size: 14px; }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:last-child{ font-size: 16px; }

  /* スペック表だけ横スクロールで包む。min-width は中身(table)に効かせる
     — figure に効かせると器ごと広がってページが横あふれする(2026-08-25 実測) */
  body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2{
    margin: 0 calc(-1 * var(--bk-v2-gutter-sp)) 8px;
    padding: 0 var(--bk-v2-gutter-sp);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table{ min-width: 560px; font-size: 14px; }
  body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table td:first-child,
  body.bc-art-v2 .articleBody figure.bk-table--spec.bk-v2 > table th:first-child{
    position: sticky;
    left: 0;
    background: var(--bk-v2-paper);
  }
  /* §2 実算表は板 B-2s と同じく 390 に収める(横スクロールにしない・14px) */
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table{ font-size: 14px; }
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table th,
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table td{ padding: 10px 6px; }
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table th:first-child{ width: 34%; }
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table td:not(:first-child){ white-space: nowrap; }
  body.bc-art-v2 .articleBody figure.bk-calc.bk-v2 > table td .bk-slot{ min-width: 1.8em; }
  /* §4 合格率表は6列で 390 に入らないので横スクロールで包む(板に SP 面なし) */
  body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2{
    margin: 0 calc(-1 * var(--bk-v2-gutter-sp)) 8px;
    padding: 0 var(--bk-v2-gutter-sp);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.bc-art-v2 .articleBody figure.bk-table--rate.bk-v2 > table{ min-width: 520px; font-size: 14px; }
  body.bc-art-v2 .articleBody figure.bk-v2 > figcaption{
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  /* §1 条件別の結論 / §2 時間割 は 390 では行を畳む(板 B-1s / B-2s の見え方)。
     markup は PC と同じ表のまま。畳む規則は .bk-v2 にだけ当たるので
     既存記事の同名部品(figure.wp-block-table.bk-branch など)は動かない。 */
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table{ display: block; border-top: 2px solid var(--bk-v2-grape); }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table thead,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table thead{ display: none; }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table tbody,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table tbody{ display: block; }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table tr,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table tr{
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid var(--bk-v2-rule);
  }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table tbody tr:last-child,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table tbody tr:last-child{ border-bottom-color: var(--bk-v2-grape); }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td{
    display: inline;
    width: auto;
    padding: 0;
    margin-right: 12px;
    border: 0;
    font-family: var(--bk-v2-font-mono);
    font-size: 13px;
    color: var(--bk-v2-ink-muted);
    font-weight: 400;
    text-align: left;
  }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:first-child{
    display: block;
    width: auto;
    margin: 0 0 2px;
    font-family: var(--bk-v2-font-sans);
    font-size: 15px;
    line-height: 1.6;
    color: var(--bk-v2-ink);
  }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:nth-child(2),
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:nth-child(3),
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td:nth-child(n+2):nth-child(-n+5){ white-space: nowrap; }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td:last-child{
    display: block;
    width: auto;
    white-space: normal;
    margin: 4px 0 0;
    font-family: var(--bk-v2-font-min);
    font-size: 17px;
    line-height: 1.5;
    color: var(--bk-v2-grape);
    font-weight: 600;
  }
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td:first-child{
    display: block;
    width: auto;
    margin: 0 0 2px;
    font-family: var(--bk-v2-font-sans);
    font-size: 15px;
    color: var(--bk-v2-grape);
    font-weight: 600;
  }
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td:last-child{
    display: block;
    width: auto;
    white-space: normal;
    margin: 4px 0 0;
    font-family: var(--bk-v2-font-sans);
    font-size: 14px;
    line-height: 1.8;
    color: var(--bk-v2-ink);
  }
  body.bc-art-v2 .articleBody figure.bk-branch.bk-v2 > table td small,
  body.bc-art-v2 .articleBody figure.bk-timetable.bk-v2 > table td small{ display: inline; font-size: 12px; margin-left: 8px; }

  /* 板 B-2s: 前提は 72px の見出し列 + 値の2列を縦に3行 */
  body.bc-art-v2 .articleBody .bk-premise.bk-v2{ grid-template-columns: 1fr; font-size: 14px; }
  body.bc-art-v2 .articleBody .bk-premise.bk-v2 > div{
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    padding: 8px 0;
    border-left: 0;
    border-top: 1px solid var(--bk-v2-rule-faint);
  }
  body.bc-art-v2 .articleBody .bk-premise.bk-v2 > div:first-child{ border-top: 0; }
  body.bc-art-v2 .articleBody .bk-premise.bk-v2 small{ font-size: 13px; }

  body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__row{ grid-template-columns: 1fr; gap: 6px; }
  body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 .bk-bars__val{ text-align: left; }
  body.bc-art-v2 .articleBody figure.bk-bars.bk-v2 > figcaption{ flex-direction: column; gap: 2px; }

  body.bc-art-v2 .articleBody .bk-faq.bk-v2 summary{ font-size: 17px; padding: 14px 0; }

  body.bc-art-v2 .articleBody .bk-cta{ flex-direction: column; align-items: stretch; gap: 8px; }
  body.bc-art-v2 .articleBody .bk-cta .bk-btn{ min-height: 44px; }
  body.bc-art-v2 .articleBody .bk-cta-band{ grid-template-columns: 1fr; gap: 14px; margin-left: 0; margin-right: 0; padding: 18px 0; }
  body.bc-art-v2 .articleBody .bk-cta-band .bk-btn--onbrand,
  body.bc-art-v2 .articleBody .bk-cta-band .bk-btn--ghost{ min-height: 44px; }

  body.bc-art-v2 .bc-art .bk-postnav{ grid-template-columns: 1fr; margin-bottom: 40px; }
  body.bc-art-v2 .bc-art .bk-postnav a{ padding: 14px 0; }
  body.bc-art-v2 .bc-art .bk-postnav > :last-child{
    padding: 14px 0;
    border-left: 0;
    border-top: 1px solid var(--bk-v2-rule);
    text-align: left;
  }
  body.bc-art-v2 .bc-art .bk-postnav__blank{ display: none; }
}

/* 2026-09-06 本文中インラインリンクの SP タップ対象 ≥24px(Yu 裁定「すべてすすめて」)
 * 実測(390px・記事8本): .articleBody の class 無しリンクは一律 15px(fs15)。
 * 固定ページ側は 80-pages-v2.css で padding 5px 0 済み。記事側も同じ当たりへ揃える。
 * inline のまま padding-block(行ボックスに影響しない)。15+10=25px。 */
@media (max-width: 782px) {
  body.bc-art-v2 .articleBody :is(p,li,dd,td,th,figcaption,blockquote) > a:not([class]){
    padding-block: 5px;
  }
}
