/* ============================================================
   10-base.css — 本文タイポグラフィ・表・引用罫
   旧 style.css の R2 §2/§3/§13 を移設。
   セレクタ再マッピング: .article-body → .articleBody(Xwriteの本文コンテナ・解析§0-5)
   ============================================================ */

/* --- 2. 本文タイポグラフィ（クラス無し要素で成立させる） ----------------- */
.articleBody{ font-family:var(--nai-font-jp); font-size:var(--nai-fs-body);
  line-height:var(--nai-lh-body); color:var(--nai-ink); }
.articleBody h2{ margin:var(--nai-s6) 0 var(--nai-s3); padding-top:20px;
  font-size:var(--nai-fs-h2); font-weight:600; letter-spacing:.04em;
  border-top:1px solid var(--nai-rule);
  background-image:linear-gradient(var(--nai-rule),var(--nai-rule));
  background-size:100% 1px; background-position:0 4px; background-repeat:no-repeat; }
.articleBody h3{ margin:var(--nai-s5) 0 var(--nai-s2); font-size:18px; font-weight:600; letter-spacing:.03em; }
.articleBody p{ margin:0 0 var(--nai-s4); text-wrap:pretty; }
.articleBody p:first-of-type::first-letter{ float:left; font-family:var(--nai-font-latin);
  font-size:74px; line-height:.8; padding:8px 14px 0 0; }
.articleBody ul, .articleBody ol{ margin:0 0 var(--nai-s4); padding-left:22px; line-height:2.1; }
.articleBody figcaption{ font-family:var(--nai-font-mono); font-size:9.5px;
  letter-spacing:.1em; color:var(--nai-meta); margin-top:8px; }
.articleBody a{ color:var(--nai-accent); text-decoration:none;
  border-bottom:1px solid rgba(176,57,42,.35); }
.articleBody a:hover{ color:var(--nai-accent-dk); }

/* --- 3. 表 -------------------------------------------------------------- */
.nai-table-cap{ display:flex; justify-content:space-between; align-items:baseline;
  padding-bottom:8px; font-family:var(--nai-font-mono); font-size:var(--nai-fs-meta);
  letter-spacing:.18em; color:var(--nai-ink); }
.nai-table-cap span{ font-size:9.5px; letter-spacing:.12em; color:var(--nai-meta-2); }
.nai-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--nai-ink); margin:0 0 var(--nai-s2); }
.articleBody table{ width:100%; min-width:660px; border-collapse:collapse;
  background:var(--nai-paper); font-size:14px; }
.articleBody thead th{ background:var(--nai-ink); color:var(--nai-paper);
  font-family:var(--nai-font-mono); font-size:10.5px; font-weight:400; letter-spacing:.1em;
  text-align:right; padding:11px 14px; white-space:nowrap; }
.articleBody thead th:first-child{ text-align:left; padding-left:16px; }
.articleBody tbody th{ text-align:left; padding:12px 16px; font-weight:600; white-space:nowrap; }
.articleBody tbody td{ text-align:right; padding:12px 14px;
  font-family:var(--nai-font-mono); font-size:12.5px; }
.articleBody tbody tr{ border-bottom:1px solid var(--nai-rule-thin); }
.articleBody tbody tr:nth-child(even){ background:var(--nai-paper-2); }
.articleBody tbody tr:last-child{ border-bottom:none; }
.articleBody table caption{ caption-side:bottom; text-align:left; font-size:12px;
  line-height:1.9; color:var(--nai-ink-3); padding-top:9px; }
/* JSでラップできない環境の退避（SPだけ横スクロールにする） */
@media (max-width:700px){
  .articleBody table:not(.nai-wrapped){ display:block; overflow-x:auto; min-width:0; }
}

/* --- 13. 引用罫(運営者情報ほか) ------------------------------------------ */
.articleBody .nai-pull{ padding-left:16px; border-left:2px solid var(--nai-accent);
  font-size:16px; line-height:2.1; }
