:root{
  --ink:#1a2233;--sub:#6a7180;--line:#e6e3db;--bg:#f7f5f0;
  --brand:#1f3a5f;--brand-soft:#edf1f6;--accent:#9b2c2c;--accent-soft:#f5ebeb;
  --gold:#9a7b3f;--gold-soft:#f4eede;--green:#2f6a4f;--green-soft:#e9f0ec;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif}
body{background:var(--bg);color:var(--ink);line-height:1.85}
a{color:var(--brand)}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}

header{background:#16233b;color:#fff;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:#fff;text-decoration:none}
.nav ul{display:flex;gap:22px;list-style:none;font-size:13.5px;font-weight:600}
.nav ul a{opacity:.85;color:#fff;text-decoration:none}.nav ul a:hover{opacity:1}
.nav .cta{background:var(--gold);color:#16233b;padding:8px 15px;border-radius:8px;font-size:13px;font-weight:800;text-decoration:none}
@media(max-width:820px){.nav ul{display:none}}

.art{max-width:800px;margin:0 auto;padding:0 18px}
.crumb{font-size:12px;color:var(--sub);padding:22px 0 0}
.crumb a{color:var(--sub);text-decoration:none}.crumb a:hover{color:var(--brand)}
.arthead{padding:16px 0 26px;border-bottom:1px solid var(--line);margin-bottom:30px}
.arthead .cap{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--accent)}
.arthead h1{font-size:31px;font-weight:800;line-height:1.4;margin:10px 0 14px}
.meta{font-size:12.5px;color:var(--sub)}
.lead{font-size:15.5px;color:#333;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:18px 22px;margin-bottom:30px}

.toc{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 24px;margin-bottom:36px}
.toc b{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--brand);display:block;margin-bottom:10px}
.toc ol{margin:0;padding-left:20px;font-size:14px}
.toc li{margin-bottom:6px}
.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}

.art h2{font-size:22px;font-weight:800;margin:44px 0 14px;padding-left:13px;border-left:5px solid var(--brand);line-height:1.4}
.art h3{font-size:17px;font-weight:800;margin:28px 0 10px;color:var(--brand)}
.art p{font-size:15px;margin-bottom:15px}
.art ul,.art ol{margin:0 0 16px 22px;font-size:15px}
.art li{margin-bottom:7px}
.art strong{color:var(--accent);font-weight:700}

table{width:100%;border-collapse:collapse;margin:18px 0 22px;font-size:13.5px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:12.5px}
tr:last-child td{border-bottom:0}
td small{color:var(--sub)}

.callout{background:var(--gold-soft);border:1px solid #e6d9b8;border-radius:10px;padding:16px 20px;margin:20px 0;font-size:14px}
.callout b{color:var(--gold)}
.note{background:var(--green-soft);border:1px solid #cfe0d6;border-radius:10px;padding:16px 20px;margin:20px 0;font-size:14px}
.pr-inline{font-size:10px;font-weight:800;background:#eee;color:#777;padding:2px 7px;border-radius:4px;vertical-align:middle;margin-left:6px}

.ctabox{background:linear-gradient(135deg,#1f3a5f,#16233b);color:#fff;border-radius:14px;padding:32px 30px;text-align:center;margin:40px 0}
.ctabox h3{color:#fff;font-size:20px;font-weight:800;margin-bottom:8px}
.ctabox p{opacity:.88;font-size:14px;margin-bottom:20px}
.ctabox a{background:var(--gold);color:#16233b;font-weight:800;padding:13px 28px;border-radius:10px;text-decoration:none;font-size:15px;display:inline-block}

.faq{margin:16px 0}
.faq .q{font-weight:800;font-size:15px;margin:18px 0 6px;color:var(--brand)}
.faq .q::before{content:"Q. ";color:var(--accent)}
.faq .a{font-size:14.5px}

.related{border-top:1px solid var(--line);margin-top:44px;padding-top:26px}
.related b{font-size:13px;letter-spacing:1px;color:var(--accent);font-weight:800}
.relgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:14px}
@media(max-width:700px){.relgrid{grid-template-columns:1fr}}
.relgrid a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;font-size:14px;font-weight:700;color:var(--ink);transition:.15s}
.relgrid a:hover{border-color:var(--brand);color:var(--brand)}

footer{background:#16233b;color:#fff;padding:36px 0 30px;margin-top:50px}
.disc{font-size:11px;opacity:.65;line-height:1.7;max-width:800px;margin:0 auto;padding:0 18px}
.cpy{font-size:11px;opacity:.5;text-align:center;margin-top:16px}
