/* 71-art-v2.css — 記事の器 v2(Phase B)
 * 視覚の正本: _core/data/kaikei-tax-design-review-20260905/kt-surface.css の
 *   「記事の器」節 + 共通節 + SP 390 節。数値は1つも変えていない(移植のみ)。
 *   アートボード 1n/1o/1p/1q/1r = render/board-13,14,15,16,17。
 *
 * 規約:
 *  - 全ての宣言を body.kt-art-v2 の下に置く。器が OFF のページには1バイトも効かない。
 *  - 60-type-layers.css(--ktt-*・kt-t-* の既存定義)は**触らない**。
 *    同名クラスが別の見た目を持つものは、ここで v2 の側だけ上書きして解除する
 *    (kt-t-slot / diff / facts / formula / stamp / series / timeline / matrix /
 *     refmap / faq / calc / threshold の12件。各所に「60 解除」と註記)。
 *  - トークンは :root ではなく body.kt-art-v2 に置く。Phase A(70-pages-v2.css)が
 *    :root に同名同値を置いても衝突しない(値は kt-surface.css と同一)。
 *  - 赤・警告色・記号(◯×)は置かない。
 */

/* ============================================================
   0. トークン(kt-surface.css :root と同値・スコープだけ変えた)
   ============================================================ */
body.kt-art-v2{
  --kt-page-bg:    #F3F5F3;
  --kt-page-main:  #5A8F74;
  --kt-page-band:  #2C463B;
  --kt-page-deep:  #1A2B24;
  --kt-page-paper: #FFFFFF;
  --kt-page-tint:  #E7EFEA;
  --kt-page-rule:  #C9D3CD;
  --kt-page-ink2:  #4F5E57;
  --kt-page-ink-on-band: #F3F5F3;
  --kt-page-label-on-band: #A9C7B7;
  --kt-page-mono:  Menlo, Consolas, "Courier New", monospace;
  --kt-page-sans:  "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  --kt-page-measure: 640px;
  --kt-page-measure-wide: 880px;
  --kt-page-gutter: 40px;
  --kt-page-tap: 24px;

  background:var(--kt-page-bg);
  color:var(--kt-page-deep);
  font:15px/1.75 var(--kt-page-sans);
  -webkit-font-smoothing:antialiased;
}

/* 器の中だけ border-box を保証する。
 * 親テーマの全称リセットに依存しないため(素の content-box だと
 * タイムラインの帯 width:100% が枠を 11px はみ出し、入力欄 44px が 46px になる。
 * 2026-09-06 実測)。 */
body.kt-art-v2 .kt-article,
body.kt-art-v2 .kt-article *,
body.kt-art-v2 .kt-crumb,
body.kt-art-v2 .kt-crumb *{ box-sizing:border-box; }

/* ============================================================
   1. 親テーマの器の解除(版面幅だけ)
   キャンバス: main 1200 / padding 0 40 → 内寸 1120。
   Xwrite は 20-chrome.css [≥1024] で .main{max-width:874px} を掛けるので外す。
   ============================================================ */
body.kt-art-v2 .contents{ background:var(--kt-page-bg); }
body.kt-art-v2 .main{ max-width:none; width:100%; flex:1 1 auto; }
body.kt-art-v2 .main-column{ max-width:none; width:100%; }
body.kt-art-v2 .contents > .container{ display:block; }
/* 右レールが目次を持つので、ネイティブ目次(.toc_block)は器の中で二重になる。 */
body.kt-art-v2 .toc_block{ display:none; }

/* ============================================================
   2. 共通(kt-surface.css「共通」節の記事で使う分)
   ============================================================ */
body.kt-art-v2 a{
  color:var(--kt-page-band); text-decoration:underline;
  text-decoration-color:var(--kt-page-main); text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.kt-art-v2 a:hover{ color:var(--kt-page-main); }
body.kt-art-v2 .kt-wrap{ max-width:1200px; margin:0 auto; padding:0 var(--kt-page-gutter); }
body.kt-art-v2 .kt-num{ font-family:var(--kt-page-mono); font-variant-numeric:tabular-nums; }
body.kt-art-v2 .kt-label{
  font-size:11px; letter-spacing:.1em; color:var(--kt-page-main);
  line-height:1.6; margin:0; font-weight:400;
}
body.kt-art-v2 .kt-sub{ color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-crumb{
  font-size:12px; color:var(--kt-page-ink2); display:flex; flex-wrap:wrap;
  gap:8px; padding-top:24px;
}
body.kt-art-v2 .kt-crumb a{ text-decoration:none; }

/* ============================================================
   3. 記事の器(kt-surface.css「記事の器」節)
   ============================================================ */
body.kt-art-v2 .kt-article{
  display:grid; grid-template-columns:680px minmax(0,1fr); gap:0 80px; margin-top:18px;
}
body.kt-art-v2 .kt-article--wide{
  grid-template-columns:var(--kt-page-measure-wide) minmax(0,1fr); gap:0 60px;
}
body.kt-art-v2 .kt-article__head{ grid-column:1/-1; max-width:880px; }
body.kt-art-v2 .kt-article__meta{
  display:flex; flex-wrap:wrap; gap:16px; font-size:13px;
  color:var(--kt-page-ink2); align-items:baseline;
}
body.kt-art-v2 .kt-article__meta .kt-cat{
  text-decoration:none; color:var(--kt-page-main); letter-spacing:.1em; font-size:12px;
}
body.kt-art-v2 .kt-article__meta .kt-article__tag{ text-decoration:none; color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-article h1{
  font-size:34px; line-height:1.35; font-weight:700; margin:10px 0 0;
  text-wrap:pretty; color:var(--kt-page-deep); letter-spacing:0;
}
body.kt-art-v2 .kt-article h2{
  font-size:22px; line-height:1.4; font-weight:700;
  border-top:1px solid var(--kt-page-band); padding-top:12px; margin:44px 0 0;
  color:var(--kt-page-deep); background:transparent;
}
body.kt-art-v2 .kt-article h3{ font-size:16px; font-weight:700; line-height:1.5; margin:0; }
body.kt-art-v2 .kt-article p{ margin:12px 0 0; text-wrap:pretty; }
body.kt-art-v2 .kt-article--wide p{ max-width:var(--kt-page-measure); }
body.kt-art-v2 .kt-article ul,
body.kt-art-v2 .kt-article ol{ margin:12px 0 0; padding-left:1.4em; }
body.kt-art-v2 .kt-article li{ margin-top:4px; }
body.kt-art-v2 .kt-article table{
  width:100%; margin-top:16px; font-size:14px;
  background:var(--kt-page-paper); border-collapse:collapse;
}
body.kt-art-v2 .kt-article thead th{
  font-weight:400; font-size:11px; letter-spacing:.08em; color:var(--kt-page-ink2);
  text-align:left; padding:8px 14px; border-bottom:1px solid var(--kt-page-rule);
  background:transparent;
}
body.kt-art-v2 .kt-article td,
body.kt-art-v2 .kt-article tbody th{
  padding:12px 14px; border-bottom:1px solid var(--kt-page-rule);
  vertical-align:top; text-align:left; background:transparent;
}
body.kt-art-v2 .kt-article tbody th{ font-weight:400; color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-article tr:last-child td,
body.kt-art-v2 .kt-article tr:last-child th{ border-bottom:0; }
body.kt-art-v2 .kt-art__content{ min-width:0; }

/* 横に長い表は枠の中で流す(SP で畳まない型の表・キャンバス外の実データ用)。 */
body.kt-art-v2 .kt-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
body.kt-art-v2 .kt-scroll > table{ min-width:100%; }
/* 旧本文が持つ包み(50-r2.css)も器の中では同じ扱いにする。 */
body.kt-art-v2 .kt-art__content .kt-table-wrap{
  overflow:auto; background:transparent; border:0;
}

/* アンサーカプセル — 1要素を大きく張る(リンク無し) */
body.kt-art-v2 .kt-capsule{
  background:var(--kt-page-paper); border-top:3px solid var(--kt-page-main);
  margin-top:22px; padding:22px 28px 24px;
}
body.kt-art-v2 .kt-capsule p{ font-size:18px; line-height:1.8; margin:8px 0 0; }
/* .kt-capsule p より後に置く: ラベルは 11px のまま(p でも span でも) */
body.kt-art-v2 .kt-capsule .kt-label{ font-size:11px; line-height:1.6; margin:0; }

/* ============================================================
   4. 型別部品 kt-t-*(kt-surface.css の見た目 + 60-type-layers 解除)
   ============================================================ */

/* 数値: 点線スロット + 等幅。60 解除: display:inline-block / height:1em / min-width:56px */
body.kt-art-v2 .kt-t-slot{
  display:inline; height:auto; min-width:0; vertical-align:baseline;
  border-bottom:1px dotted var(--kt-page-main); padding:0 3px;
}
body.kt-art-v2 .kt-t-num{ font-family:var(--kt-page-mono); font-variant-numeric:tabular-nums; }

/* 改正前→後(後列を罫と面で強調)。60 解除: th/td:last-child の色・右寄せ */
body.kt-art-v2 .kt-t-diff th:last-child,
body.kt-art-v2 .kt-t-diff td:last-child{
  border-left:0; background:transparent; font-weight:inherit;
  text-align:left; color:inherit;
}
body.kt-art-v2 .kt-t-diff thead th.kt-t-diff__after,
body.kt-art-v2 .kt-t-diff td.kt-t-diff__after{
  border-left:2px solid var(--kt-page-band); background:var(--kt-page-tint);
}
body.kt-art-v2 .kt-t-diff thead th.kt-t-diff__after{
  font-weight:700; color:var(--kt-page-deep); border-bottom-color:var(--kt-page-band);
}

/* 施行日/対象者/経過措置/対象にならないケース の行表。60 解除: th の塗り・縦罫 */
body.kt-art-v2 .kt-t-facts{ border-top:0; }
body.kt-art-v2 .kt-t-facts th{
  width:150px; background:transparent; border-right:0;
  font-family:inherit; letter-spacing:0; color:var(--kt-page-ink2); font-weight:400;
}
body.kt-art-v2 .kt-t-facts td,
body.kt-art-v2 .kt-t-facts th{ font-size:15px; }
body.kt-art-v2 .kt-t-facts--cols th{ width:auto; }
/* 「第1種」のような区分の語は割らない(2026-09-06 実測で2行に割れた)。 */
body.kt-art-v2 .kt-t-facts--cols td:first-child{ white-space:nowrap; }

/* 算式(等幅1行+スロット)。60 解除: kt-t-formula 自体が式だった定義 */
body.kt-art-v2 .kt-t-formula{
  background:var(--kt-page-paper); margin-top:16px; padding:18px 20px;
  border-left:2px solid var(--kt-page-main);
  font-family:var(--kt-page-sans); font-size:15px; white-space:normal;
  overflow:visible; color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-t-formula__eq{
  font-family:var(--kt-page-mono); font-size:16px; margin-top:8px;
  white-space:nowrap; overflow-x:auto;
}
body.kt-art-v2 .kt-t-formula table{ margin-top:14px; background:transparent; }
body.kt-art-v2 .kt-t-formula td{ padding:8px 0; border-top:1px solid var(--kt-page-rule); border-bottom:0; }
body.kt-art-v2 .kt-t-formula tr:last-child td{ border-bottom:0; }
body.kt-art-v2 .kt-t-formula td.kt-t-num{ text-align:right; }
body.kt-art-v2 .kt-t-formula tr.is-total td{ border-top-color:var(--kt-page-band); font-weight:700; }

/* 原典対応表(全型共通・末尾1ブロック・確認日列つき)。60 解除: th の塗り・a の等幅 */
body.kt-art-v2 .kt-t-refmap thead th{ background:transparent; }
body.kt-art-v2 .kt-t-refmap a{ font-family:inherit; font-size:inherit; word-break:normal; white-space:nowrap; }
body.kt-art-v2 .kt-t-refmap td.kt-t-refmap__law{ font-size:13px; }
body.kt-art-v2 .kt-t-refmap td.kt-t-refmap__checked{
  font-family:var(--kt-page-mono); color:var(--kt-page-ink2); white-space:nowrap;
}

/* 【記事情報】。60 解除: 同名クラスが「型ラベル小票」だった(緑の小片) */
body.kt-art-v2 .kt-t-stamp{
  display:block; background:transparent; padding:14px 0 0;
  margin-top:44px; border-top:1px solid var(--kt-page-rule);
  font-size:13px; color:var(--kt-page-ink2); line-height:1.7;
}
body.kt-art-v2 .kt-t-stamp::before{ content:none; }
body.kt-art-v2 .kt-t-stamp__title{ font-weight:700; color:var(--kt-page-deep); }
body.kt-art-v2 .kt-t-stamp dl{
  display:grid; grid-template-columns:96px 1fr; gap:4px 16px; margin:8px 0 0;
}
body.kt-art-v2 .kt-t-stamp dt{ font-weight:400; }
body.kt-art-v2 .kt-t-stamp dd{ margin:0; }
/* 型ラベル(L1/L2)は器に出さない(Yu裁定)。旧本文の小片の中身だけ止める。 */
body.kt-art-v2 .kt-t-stamp__code,
body.kt-art-v2 .kt-t-stamp__name{ display:none; }

/* 全期間テーブル。60 解除: td の 5px 透明罫・--ktt-current の塗り */
body.kt-art-v2 .kt-t-series td{ border-left:0; }
body.kt-art-v2 .kt-t-series thead th:nth-child(1){ width:220px; }
body.kt-art-v2 .kt-t-series thead th:nth-child(2){ width:170px; }
body.kt-art-v2 .kt-t-series thead th:nth-child(3){ width:150px; }
body.kt-art-v2 .kt-t-series thead th:nth-child(5){ width:150px; }
body.kt-art-v2 .kt-t-series tr.is-current{ background:var(--kt-page-tint); }
body.kt-art-v2 .kt-t-series tr.is-current td{ font-weight:400; color:var(--kt-page-deep); }
body.kt-art-v2 .kt-t-series tr.is-current td:first-child{ border-left:3px solid var(--kt-page-main); }
body.kt-art-v2 .kt-t-series tr.is-current .kt-t-series__name{ font-weight:700; }
body.kt-art-v2 .kt-t-series tr.is-future td:first-child{ color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-t-series__period{ font-family:var(--kt-page-mono); display:block; }
body.kt-art-v2 .kt-t-series__state{
  font-size:11px; letter-spacing:.1em; color:var(--kt-page-main); display:block;
  margin-top:4px; font-family:var(--kt-page-sans);
}
body.kt-art-v2 .kt-t-series tr.is-future .kt-t-series__state{ color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-t-series__val{ font-family:var(--kt-page-mono); font-size:18px; }
body.kt-art-v2 .kt-t-series__ref{ font-size:13px; }

/* 施行日タイムライン(帯)。60 解除: 縦並びリスト(border-left / margin-left:96px) */
body.kt-art-v2 .kt-t-timeline{
  background:var(--kt-page-paper); margin:16px 0 0; padding:20px 24px 18px;
  border-left:0;
}
body.kt-art-v2 .kt-t-timeline__axis{
  display:grid; grid-template-columns:repeat(var(--kt-tl-cols,6),1fr);
  font-family:var(--kt-page-mono); font-size:12px; color:var(--kt-page-ink2);
  border-bottom:1px solid var(--kt-page-rule); padding-bottom:6px;
}
body.kt-art-v2 .kt-t-timeline__body{
  position:relative; padding:26px 0 6px; display:flex; flex-direction:column;
  gap:8px; font-size:13px;
}
body.kt-art-v2 .kt-t-timeline__today{
  position:absolute; top:0; bottom:0; border-left:2px solid var(--kt-page-main);
  left:var(--kt-tl-today,50%);
}
body.kt-art-v2 .kt-t-timeline__today-label{
  position:absolute; top:2px; white-space:nowrap; left:var(--kt-tl-today,50%);
  transform:translateX(-50%); font-size:11px; letter-spacing:.1em;
  color:var(--kt-page-main); background:var(--kt-page-paper); padding:0 6px;
}
body.kt-art-v2 .kt-t-timeline__row{
  display:grid; grid-template-columns:200px 1fr; gap:16px; align-items:center;
}
body.kt-art-v2 .kt-t-timeline__track{ height:28px; position:relative; }
body.kt-art-v2 .kt-t-timeline__bar{
  position:absolute; top:0; bottom:0; display:flex; align-items:center;
  padding-left:10px; font-family:var(--kt-page-mono); font-size:12px;
  left:var(--kt-tl-start,0); width:var(--kt-tl-len,50%);
  background:var(--kt-page-bg); border:1px solid var(--kt-page-rule);
  color:var(--kt-page-ink2);
}
body.kt-art-v2 .kt-t-timeline__bar.is-current{
  background:var(--kt-page-tint); border:0; border-left:3px solid var(--kt-page-main);
  color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-t-timeline__bar.is-open{ border-right:0; }

/* 立場マトリクス(活字のみ)。60 解除: 中央寄せ・字間 */
body.kt-art-v2 .kt-t-matrix__yes{
  font-weight:700; letter-spacing:0; text-align:left; color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-t-matrix__no{
  color:var(--kt-page-ink2); font-weight:400; letter-spacing:0; text-align:left;
}
body.kt-art-v2 .kt-t-matrix__none{ color:var(--kt-page-ink2); }

/* 読者の実在の問い(最大3問枠)。60 解除: q の flex・badge の緑片・src の塗り */
body.kt-art-v2 .kt-t-faq{
  display:flex; flex-direction:column; gap:14px; margin-top:14px;
  max-width:var(--kt-page-measure);
}
body.kt-art-v2 .kt-t-faq__item{ background:var(--kt-page-paper); padding:16px 20px; }
body.kt-art-v2 .kt-t-faq__head{ display:flex; gap:12px; align-items:baseline; }
body.kt-art-v2 .kt-t-faq__q{
  display:block; flex:1; font-size:16px; font-weight:700; line-height:1.5;
  color:var(--kt-page-deep); margin:0;
}
body.kt-art-v2 .kt-t-faq__badge{
  font-family:var(--kt-page-sans); font-size:11px; letter-spacing:.08em;
  color:var(--kt-page-ink2); background:transparent;
  border:1px solid var(--kt-page-rule); padding:2px 6px; white-space:nowrap;
}
body.kt-art-v2 .kt-t-faq__a{ margin-top:8px; font-size:15px; }
body.kt-art-v2 .kt-t-faq__src{
  display:flex; gap:14px; align-items:baseline; background:transparent;
  border-top:1px solid var(--kt-page-rule); margin-top:10px; padding:6px 0 0;
  font-size:12px; color:var(--kt-page-ink2);
}
body.kt-art-v2 .kt-t-faq__src a{ margin-left:auto; }

/* 試算の入出力枠(注記は枠の中)。60 解除: __body グリッド・緑の出力面・入力欄 */
body.kt-art-v2 .kt-t-calc{
  margin-top:32px; background:var(--kt-page-paper);
  border:1px solid var(--kt-page-band); display:grid;
  /* kt-surface は 1fr 1fr。素の 1fr は min-content 下限を持つため、
   * 長い選択肢の行で 299/379 に割れる(2026-09-06 実測)。キャンバスの
   * 半々(340/340)を再現するため minmax(0,1fr) にする。 */
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
body.kt-art-v2 .kt-t-calc__in{
  padding:22px 24px; border-right:1px solid var(--kt-page-rule);
  background:transparent; border-bottom:0;
}
body.kt-art-v2 .kt-t-calc__out{
  padding:22px 24px; background:var(--kt-page-tint); color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-t-calc label{
  display:block; margin-top:14px; font-size:13px; color:var(--kt-page-ink2);
}
body.kt-art-v2 .kt-t-calc__field{
  display:flex; align-items:center; justify-content:space-between;
  border:1px solid var(--kt-page-rule); height:44px; margin-top:4px; padding:0 12px;
  font-family:var(--kt-page-mono); font-size:17px; color:var(--kt-page-deep);
  background:var(--kt-page-paper); text-align:left; width:auto;
}
body.kt-art-v2 .kt-t-calc__field--sel{ font-family:var(--kt-page-sans); font-size:15px; }
body.kt-art-v2 .kt-t-calc__field input,
body.kt-art-v2 .kt-t-calc__field select{
  border:0; background:transparent; font:inherit; color:inherit; width:100%;
}
body.kt-art-v2 .kt-t-calc__unit{
  font-family:var(--kt-page-sans); font-size:13px; color:var(--kt-page-ink2);
  white-space:nowrap; /* 「円」「変更」が1文字ずつ割れるのを止める */
}
body.kt-art-v2 .kt-t-calc__rate{
  margin-top:14px; font-size:13px; color:var(--kt-page-ink2);
  border-top:1px solid var(--kt-page-rule); padding-top:10px;
}
body.kt-art-v2 .kt-t-calc__cap{ font-size:13px; color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-t-calc__results{
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px;
}
body.kt-art-v2 .kt-t-calc__val{
  font-family:var(--kt-page-mono); font-size:28px; line-height:1.2; margin-top:4px;
  color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-t-calc__val .kt-t-calc__unit{ font-size:14px; margin-left:2px; }
body.kt-art-v2 .kt-t-calc__how{
  font-family:var(--kt-page-mono); font-size:12px; color:var(--kt-page-ink2); margin-top:4px;
}
body.kt-art-v2 .kt-t-calc__fact{
  border-top:1px solid var(--kt-page-rule); margin-top:16px; padding-top:12px; font-size:15px;
}
body.kt-art-v2 .kt-t-calc__note{
  border-top:1px solid var(--kt-page-rule); margin-top:12px; padding-top:10px;
  font-size:13px; color:var(--kt-page-ink2); line-height:1.7;
}

/* 分岐点の言い切り帯。60 解除: 上下2px罫だけの定義 */
body.kt-art-v2 .kt-t-threshold{
  background:var(--kt-page-band); color:var(--kt-page-ink-on-band);
  padding:16px 20px; margin-top:16px; border:0;
  display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:baseline;
}
body.kt-art-v2 .kt-t-threshold__label{
  font-size:11px; letter-spacing:.1em; color:var(--kt-page-label-on-band);
}
body.kt-art-v2 .kt-t-threshold__text{ font-size:17px; line-height:1.6; font-weight:700; }

/* 使わない部品(kt-surface.css 同文)。マークアップは残してよい。 */
body.kt-art-v2 .kt-t-policy,
body.kt-art-v2 .kt-t-assump,
body.kt-art-v2 .kt-t-source--inline{ display:none; }

/* ============================================================
   5. 姉妹サイト / 前後ナビ / 右レール
   ============================================================ */
body.kt-art-v2 .kt-sister{
  background:var(--kt-page-band); color:var(--kt-page-ink-on-band);
  padding:22px 28px; margin-top:32px;
  display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center;
}
body.kt-art-v2 .kt-sister__label{
  font-size:11px; letter-spacing:.1em; color:var(--kt-page-label-on-band);
}
body.kt-art-v2 .kt-sister__title{
  font-size:18px; font-weight:700; margin-top:4px; text-wrap:pretty;
}
body.kt-art-v2 .kt-sister__desc{ font-size:13px; color:var(--kt-page-rule); margin-top:4px; }
body.kt-art-v2 .kt-sister__cta{
  color:var(--kt-page-ink-on-band); border:1px solid var(--kt-page-label-on-band);
  padding:10px 18px; text-decoration:none; font-size:14px; white-space:nowrap;
}
body.kt-art-v2 .kt-sister--inline{ padding:16px 20px; margin-top:20px; }
body.kt-art-v2 .kt-sister--inline .kt-sister__title{ font-size:15px; }

body.kt-art-v2 .kt-prevnext{
  display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:32px; font-size:14px;
}
body.kt-art-v2 .kt-prevnext a{
  border-top:1px solid var(--kt-page-rule); padding-top:10px; text-decoration:none;
}
body.kt-art-v2 .kt-prevnext a:last-child{ text-align:right; }
body.kt-art-v2 .kt-prevnext__dir{
  font-size:11px; letter-spacing:.1em; color:var(--kt-page-ink2); display:block;
}
body.kt-art-v2 .kt-prevnext__title{
  font-weight:700; line-height:1.5; display:block; margin-top:4px; text-wrap:pretty;
  color:var(--kt-page-deep);
}

/* 右レール(キャンバス: aside padding-top:44px / 中身は sticky の縦積み gap 24) */
body.kt-art-v2 .kt-rail{ padding-top:44px; min-width:0; }
body.kt-art-v2 .kt-rail__in{
  position:sticky; top:20px; display:flex; flex-direction:column; gap:24px;
}
body.kt-art-v2 .kt-rail .kt-toc{
  position:static; font-size:13px; border-left:1px solid var(--kt-page-rule);
  padding-left:16px; display:flex; flex-direction:column; gap:8px;
  color:var(--kt-page-ink2);
}
body.kt-art-v2 .kt-rail .kt-toc a{ text-decoration:none; line-height:1.5; }
body.kt-art-v2 .kt-rail .kt-deadline{
  background:var(--kt-page-paper); padding:16px 18px; font-size:13px;
}
body.kt-art-v2 .kt-rail .kt-deadline__row{
  display:grid; grid-template-columns:72px 1fr; gap:0 12px;
  padding:10px 0 0; border-bottom:0; text-decoration:none; align-items:start;
}
body.kt-art-v2 .kt-rail .kt-deadline__days{
  font-family:var(--kt-page-mono); font-size:30px; line-height:1; font-weight:500;
  letter-spacing:-.02em; border-bottom:1px dotted var(--kt-page-main);
  padding-bottom:3px; justify-self:start; color:var(--kt-page-deep);
}
body.kt-art-v2 .kt-rail .kt-deadline__days small,
body.kt-art-v2 .kt-rail .kt-deadline__days i{
  font-size:12px; font-weight:400; font-style:normal; margin-left:2px;
}
body.kt-art-v2 .kt-rail .kt-deadline__body{ line-height:1.5; }
body.kt-art-v2 .kt-rail .kt-deadline__date{
  font-family:var(--kt-page-mono); font-size:12px; color:var(--kt-page-ink2); display:block;
}
body.kt-art-v2 .kt-rail .kt-deadline__label{ display:block; color:var(--kt-page-deep); }
body.kt-art-v2 .kt-rail__block{ font-size:13px; color:var(--kt-page-ink2); }
body.kt-art-v2 .kt-rail__block nav{ display:flex; flex-direction:column; margin-top:6px; }
body.kt-art-v2 .kt-rail__block a{
  padding:8px 0; border-bottom:1px solid var(--kt-page-rule); text-decoration:none;
  color:var(--kt-page-deep); line-height:1.5; min-height:var(--kt-page-tap);
}
body.kt-art-v2 .kt-rail__block a:last-child{ border-bottom:0; }
body.kt-art-v2 .kt-rail .kt-sister{
  grid-template-columns:1fr; gap:10px; padding:16px 18px; margin-top:0;
}
body.kt-art-v2 .kt-rail .kt-sister__cta{
  justify-self:start; display:inline-flex; align-items:center; min-height:40px;
}

/* ============================================================
   6. SP 390(kt-surface.css「SP 390」節の記事分)
   ============================================================ */
@media (max-width:767px){
  body.kt-art-v2 .kt-wrap{ padding:0 16px; }
  body.kt-art-v2 .kt-article,
  body.kt-art-v2 .kt-article--wide{ grid-template-columns:1fr; gap:14px; }
  body.kt-art-v2 .kt-article h1{ font-size:24px; }
  body.kt-art-v2 .kt-article h2{ font-size:20px; margin-top:32px; }
  body.kt-art-v2 .kt-capsule{ padding:16px; }
  body.kt-art-v2 .kt-capsule p{ font-size:16px; }
  body.kt-art-v2 .kt-rail{ padding-top:0; }
  body.kt-art-v2 .kt-rail__in{ position:static; }
  body.kt-art-v2 .kt-rail .kt-toc{ margin-top:16px; }
  body.kt-art-v2 .kt-rail .kt-toc a{ min-height:var(--kt-page-tap); display:flex; align-items:center; }
  body.kt-art-v2 .kt-sister,
  body.kt-art-v2 .kt-t-threshold{ grid-template-columns:1fr; gap:10px; }
  body.kt-art-v2 .kt-sister__cta{
    display:inline-flex; align-items:center; min-height:40px; justify-self:start;
  }

  /* 対比表は2列に畳む(改正後は面) */
  body.kt-art-v2 .kt-t-diff thead{ display:none; }
  body.kt-art-v2 .kt-t-diff tr{ display:grid; grid-template-columns:1fr 1fr; }
  body.kt-art-v2 .kt-t-diff td:first-child{
    grid-column:1/-1; font-size:12px; padding:10px 14px 4px;
  }
  body.kt-art-v2 .kt-t-facts th,
  body.kt-art-v2 .kt-t-facts td{ display:block; width:auto; }
  body.kt-art-v2 .kt-t-facts th{ font-size:12px; border-bottom:0; padding-bottom:0; }
  body.kt-art-v2 .kt-t-facts td{ padding-top:2px; }
  /* 見出し行を持つ試算の表(みなし仕入率)は畳まず枠の中で流す */
  body.kt-art-v2 .kt-t-facts--cols th,
  body.kt-art-v2 .kt-t-facts--cols td{ display:table-cell; }
  /* .kt-scroll > table の min-width:100% より強い特異度で下限を置く。 */
  body.kt-art-v2 .kt-scroll > .kt-t-facts--cols{ min-width:520px; }
  body.kt-art-v2 .kt-t-formula__eq{ font-size:14px; }

  body.kt-art-v2 .kt-t-series thead{ display:none; }
  body.kt-art-v2 .kt-t-series tr{
    display:block; padding:12px 14px; border-bottom:8px solid var(--kt-page-bg);
  }
  body.kt-art-v2 .kt-t-series td{ display:block; padding:0; border:0 !important; }
  body.kt-art-v2 .kt-t-series tr.is-current{ border-left:3px solid var(--kt-page-main); }
  body.kt-art-v2 .kt-t-series__val{ font-size:17px; margin-top:2px; }

  body.kt-art-v2 .kt-t-timeline__row{ grid-template-columns:1fr; gap:2px; }
  body.kt-art-v2 .kt-t-timeline__track{ height:22px; }
  body.kt-art-v2 .kt-t-timeline__bar{ padding-left:0; font-size:0; }

  body.kt-art-v2 .kt-t-matrix thead{ display:none; }
  body.kt-art-v2 .kt-t-matrix tr{
    display:block; padding:12px 14px; border-bottom:8px solid var(--kt-page-bg);
  }
  body.kt-art-v2 .kt-t-matrix td{
    display:flex; justify-content:space-between; gap:12px; padding:2px 0;
    border:0; font-size:13px;
  }
  body.kt-art-v2 .kt-t-matrix td::before{ content:attr(data-col); color:var(--kt-page-ink2); }
  body.kt-art-v2 .kt-t-matrix td:first-child{ display:block; font-weight:700; font-size:14px; }
  body.kt-art-v2 .kt-t-matrix td:first-child::before{ content:none; }

  body.kt-art-v2 .kt-t-refmap thead{ display:none; }
  body.kt-art-v2 .kt-t-refmap tr{
    display:block; padding:10px 14px; border-bottom:1px solid var(--kt-page-rule);
  }
  body.kt-art-v2 .kt-t-refmap td{ display:inline; padding:0; border:0; font-size:13px; }
  body.kt-art-v2 .kt-t-refmap td.kt-t-refmap__law{
    display:block; color:var(--kt-page-ink2); margin-top:2px;
  }

  body.kt-art-v2 .kt-t-faq__head{ flex-direction:column; gap:6px; }
  body.kt-art-v2 .kt-t-faq__badge{ align-self:flex-start; }

  body.kt-art-v2 .kt-t-calc{ grid-template-columns:1fr; }
  body.kt-art-v2 .kt-t-calc__in{ border-right:0; border-bottom:1px solid var(--kt-page-rule); }
  body.kt-art-v2 .kt-t-calc__results{ grid-template-columns:1fr; }
  body.kt-art-v2 .kt-t-calc__val{ font-size:24px; }
  body.kt-art-v2 .kt-t-calc__field{ height:44px; }

  body.kt-art-v2 .kt-prevnext{ grid-template-columns:1fr; gap:12px; }
  body.kt-art-v2 .kt-prevnext a{ min-height:44px; }
  body.kt-art-v2 .kt-prevnext a:last-child{ text-align:left; }
}

/* 1024〜1239px: 器の内寸が縮んでも主列固定で溢れさせない(§9-3 罠7 と同型)。 */
@media (min-width:768px) and (max-width:1239px){
  body.kt-art-v2 .kt-article{ grid-template-columns:minmax(0,680px) minmax(0,1fr); gap:0 40px; }
  body.kt-art-v2 .kt-article--wide{
    grid-template-columns:minmax(0,var(--kt-page-measure-wide)) minmax(0,1fr); gap:0 32px;
  }
}

/* SP タップ対象 24px(2026-09-06 親セッション実測: パンくず・メタ行のリンク 21px) */
@media (max-width: 834px) {
  body.kt-art-v2 .kt-crumb a,
  body.kt-art-v2 .kt-article__meta a { display: inline-flex; align-items: center; min-height: 24px; }
}

/* 2026-09-06 本文中インラインリンクの SP タップ対象 ≥24px(Yu 裁定「すべてすすめて」)
 * 実測(390px・記事8本): .kt-article の class 無しリンクは 15〜17px(td fs13 / p fs15)。
 * inline のまま padding-block で当たりだけ広げる(行送り・折り返しは不変)。15+10=25px。 */
@media (max-width: 834px) {
  body.kt-art-v2 .kt-article :is(p,li,dd,td,th,figcaption,blockquote) > a:not([class]){
    padding-block:5px;
  }
}

/* ── 2026-09-06 右レール「この制度の期限」に deadlines.json の法令名(原典名だけ・日付なし)── */
body.kt-art-v2 .kt-deadline__law { display: block; font-size: 11px; letter-spacing: .04em; color: var(--kt-ink-3, #6b7280); margin-top: 2px; }
