/* 専門ナビ（/senmon/）共通スタイル。共通シェル /assets/mainichi.css のトークン var(--mt-*) を優先。
   白ベース・紺。生成元: ventures/tonarinavi-senmon/40-ops/build_senmon.py（手で直さず生成元を直す） */
:root{--sn:#1d3f6e;--sn-dark:#132c4f;--sn-pale:#eaf0f8;--sn-warn:#7a5a12;--sn-warn-bg:#fdf6e0;--sn-ok:#1f6b45;--sn-ok-bg:#e8f5ee}
*{box-sizing:border-box}
body{margin:0;background:var(--mt-paper,#f6f6f3);color:var(--mt-ink,#15171c);
  font-family:var(--mt-font,system-ui,sans-serif);line-height:1.8;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}
a{color:var(--sn-dark)}
header.sn-hero{background:#fff;border-bottom:3px solid var(--sn);padding:22px 16px 18px}
header.sn-hero .in{max-width:780px;margin:0 auto}
header.sn-hero .kicker{font-size:.78rem;color:var(--mt-sub,#5a606b);margin:0 0 6px}
header.sn-hero h1{margin:0;font-size:1.34rem;line-height:1.5;color:var(--sn-dark)}
header.sn-hero p.lead{margin:10px 0 0;font-size:.92rem}
header.sn-hero p.meta{margin:10px 0 0;font-size:.76rem;color:var(--mt-sub,#5a606b)}
.badge{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 10px;margin-right:6px;border:1px solid var(--sn);color:var(--sn-dark);background:var(--sn-pale)}
main{max-width:780px;margin:0 auto;padding:8px 16px 48px}
section{background:var(--mt-card,#fff);border:1px solid var(--mt-line,#e6e7eb);border-radius:var(--mt-r,12px);padding:18px 16px;margin:18px 0}
section h2{margin:0 0 10px;font-size:1.1rem;line-height:1.5;color:var(--sn-dark);border-left:4px solid var(--sn);padding-left:8px}
section h3{margin:16px 0 6px;font-size:.97rem;color:var(--sn-dark)}
p{margin:8px 0}
ul,ol{padding-left:1.3em;margin:8px 0}
li{margin:5px 0}
.small{font-size:.8rem;color:var(--mt-sub,#5a606b)}
.src{font-size:.74rem;color:var(--mt-sub,#5a606b)}
.note{background:var(--sn-warn-bg);border:1px solid #e8d99a;border-radius:10px;padding:10px 12px;font-size:.85rem;color:var(--sn-warn);margin:10px 0}
.box{background:var(--sn-pale);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:.92rem}
.concl{background:#fff;border:2px solid var(--sn);border-radius:12px;padding:12px 14px;margin:14px 0}
.concl b.h{display:block;color:var(--sn-dark);margin-bottom:4px}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0;max-width:100%}
.tbl table{border-collapse:collapse;font-size:.84rem;min-width:100%;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{border:1px solid var(--mt-line,#e6e7eb);padding:7px 8px;text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal}
.tbl th{background:var(--sn-pale)}
.tbl.wide table{min-width:600px}
.tbl td.r,.tbl th.r{text-align:right}
.kf-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0}
@media (min-width:600px){.kf-grid{grid-template-columns:1fr 1fr}}
.kf{border:1px solid var(--mt-line,#e6e7eb);border-radius:12px;padding:12px 14px;background:#fff}
.kf .n{display:block;font-size:1.3rem;font-weight:800;color:var(--sn-dark);line-height:1.3;font-variant-numeric:tabular-nums}
.kf .l{display:block;font-size:.86rem;margin-top:4px}
.kf .s{display:block;font-size:.72rem;color:var(--mt-sub,#5a606b);margin-top:4px}
.card-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0}
@media (min-width:600px){.card-grid{grid-template-columns:1fr 1fr}}
a.sn-card,div.sn-card{display:block;min-height:44px;padding:14px;border-radius:12px;border:1px solid var(--mt-line,#e6e7eb);background:#fff;color:var(--mt-ink,#15171c);text-decoration:none}
a.sn-card:hover{border-color:var(--sn)}
div.sn-card{border-style:dashed;background:#fbfcfd;color:var(--mt-sub,#5a606b)}
.sn-card .t{display:block;font-weight:700;font-size:.95rem;color:var(--sn-dark)}
div.sn-card .t{color:var(--mt-sub,#5a606b)}
.sn-card .d{display:block;font-size:.8rem;color:var(--mt-sub,#5a606b);margin-top:3px;line-height:1.6}
.e2e{counter-reset:e2e;list-style:none;padding:0}
.e2e li{counter-increment:e2e;position:relative;padding:8px 10px 8px 44px;border-bottom:1px solid var(--mt-line,#e6e7eb)}
.e2e li::before{content:counter(e2e);position:absolute;left:6px;top:8px;width:28px;height:28px;border-radius:8px;background:var(--sn-pale);color:var(--sn-dark);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.e2e li b{color:var(--sn-dark)}
.e2e li .st{font-size:.74rem;color:var(--mt-sub,#5a606b)}
.rel{display:grid;gap:8px}
.rel a{display:block;min-height:44px;padding:10px 12px;border:1px solid var(--mt-line-strong,#d3d5db);border-radius:12px;background:#fff;text-decoration:none;color:var(--mt-ink,#15171c);font-size:.88rem}
.rel a span{display:block;font-size:.72rem;color:var(--mt-sub,#5a606b)}
#sources ol{font-size:.8rem;padding-left:1.4em}
#sources li{margin:6px 0}
details{border:1px solid var(--mt-line,#e6e7eb);border-radius:10px;padding:8px 12px;margin:8px 0;background:#fbfcfd}
summary{cursor:pointer;font-weight:700;color:var(--sn-dark);min-height:32px}
footer{max-width:780px;margin:0 auto;padding:16px 16px 40px;font-size:.78rem;color:var(--mt-sub,#5a606b)}
