/* 記事固有CSS（lp_to_prod_php.py が記事LPの<style>から生成）
   本番テンプレートは body 末尾で $pageName から自動解決する。
   サイト共通の assets/css/style.css は meta.php が読むため、ここでは読まない。 */
.bn-article{--navy:#0c2a4d;
  --blue:#1f6fd0;
  --teal:#0f7d80;
  --orange:#ef8516;
  --orange-text:#c2680b;
  --bg:#f5f7fa;
  --rule:#e3e9f0;
  --sub:#5a6672;
  --body:#222;}
.bn-article{min-width:0}
.bn-article .badge-imp{background:var(--navy);color:#fff;font-weight:700;font-size:12px;padding:4px 10px;border-radius:6px}
.bn-article figure.fig img{width:100%;height:auto;aspect-ratio:auto;display:block;border:1px solid var(--rule);border-radius:6px;background:#fff}
.bn-article .meta-band{display:flex;flex-wrap:wrap;gap:10px 22px;margin:18px 0 0;padding:11px 14px;border:1px solid var(--rule);border-left:5px solid var(--blue);border-radius:0 6px 6px 0;background:var(--bg);font-size:13px;color:var(--sub);line-height:1.7}
.bn-article .meta-band b{color:var(--navy);font-weight:700}
.bn-article h2:not(.column_tt){font-size:25px;line-height:1.6;color:var(--navy);margin:44px 0 16px;padding:0 0 10px 14px;border-left:6px solid var(--orange);border-bottom:1px solid var(--rule);font-weight:800}
.bn-article h3{font-size:20px;color:var(--navy);margin:28px 0 10px;font-weight:700}
.bn-article p{margin:0 0 16px}
.bn-article strong{font-weight:700}
.bn-article .em{color:var(--orange-text);font-weight:700}
.bn-article ul,.bn-article ol{margin:0 0 18px;padding-left:1.4em}
.bn-article li{margin-bottom:8px}
.bn-article table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 20px;background:#fff}
.bn-article th,.bn-article td{border:1px solid var(--rule);padding:9px 11px;text-align:left;vertical-align:top;line-height:1.7}
.bn-article th{background:var(--bg);color:var(--navy);font-weight:700;white-space:nowrap}
.bn-article td.num{white-space:nowrap}
.bn-article .tbl-scroll{overflow-x:auto;margin:0 0 20px}
.bn-article .tbl-scroll table{margin:0}
.bn-article figure{margin:0 0 24px}
.bn-article figure svg{width:100%;height:auto;display:block;border:1px solid var(--rule);border-radius:6px;background:#fff}
.bn-article figcaption{font-size:12px;color:var(--sub);margin-top:8px;line-height:1.7}
.bn-article .callout{border-left:5px solid var(--teal);background:#f2f8f8;padding:14px 16px;margin:0 0 20px;border-radius:0 6px 6px 0;font-size:15px}
.bn-article .callout .ttl{font-weight:800;color:var(--teal);display:block;margin-bottom:6px;font-size:13px;letter-spacing:.04em}
.bn-article .warn{border-left:5px solid var(--orange);background:#fff6ec}
.bn-article .warn .ttl{color:var(--orange-text)}
.bn-article .quote{border-left:5px solid var(--navy);background:#f0f4f9;padding:12px 16px;margin:0 0 20px;border-radius:0 6px 6px 0;font-size:15px}
.bn-article .quote p{margin:0 0 8px}
.bn-article .quote p:last-child{margin:0}
.bn-article .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:0 0 24px}
.bn-article .kv div{border:1px solid var(--rule);border-radius:6px;padding:12px 14px;background:#fff}
.bn-article .kv .k{font-size:11px;color:var(--sub);letter-spacing:.06em;margin-bottom:4px}
.bn-article .kv .v{font-size:19px;font-weight:800;color:var(--navy);line-height:1.4;overflow-wrap:anywhere}
.bn-article .kv .v small{font-size:12px;font-weight:600;color:var(--sub)}
.bn-article .faq details{border:1px solid var(--rule);border-radius:6px;margin-bottom:10px;background:#fff}
.bn-article .faq summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--navy);list-style:none;position:relative;padding-left:44px;line-height:1.7}
.bn-article .faq summary::-webkit-details-marker{display:none}
.bn-article .faq summary::before{content:"Q";position:absolute;left:14px;top:13px;width:22px;height:22px;background:var(--blue);color:#fff;border-radius:999px;font-size:12px;text-align:center;line-height:22px;font-weight:800}
.bn-article .faq .a{padding:0 16px 16px 44px;position:relative;font-size:15px}
.bn-article .faq .a::before{content:"A";position:absolute;left:14px;top:0;width:22px;height:22px;background:var(--orange);color:#fff;border-radius:999px;font-size:12px;text-align:center;line-height:22px;font-weight:800}
.bn-article .editorial{border:2px solid var(--navy);border-radius:6px;padding:18px;background:#fff}
.bn-article .editorial h3{margin-top:0;color:var(--navy);font-size:15px}
.bn-article .editorial ul{margin-bottom:0;font-size:14px}
.bn-article .sources{background:var(--bg);border:1px solid var(--rule);border-radius:6px;padding:16px 18px 6px;font-size:14px}
.bn-article .sources ol{padding-left:1.3em}
.bn-article .sources .note{font-size:12px;color:var(--sub);padding-bottom:10px}
@media(max-width:900px){.bn-article h2:not(.column_tt){font-size:20px}}
