
:root{--ink:#1a1f26;--navy:#12294b;--gold:#a8873a;--paper:#f7f7f4;--line:#c9ccd0;--band:#e9eef4;--sub:#5a6068;--sky:#dcecf8;}
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.95;font-feature-settings:'palt';}
h1,h2,h3,h4,.brand,.eyebrow,nav{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;}
a{color:var(--navy);text-decoration:underline;text-decoration-color:rgba(18,41,75,.35);text-underline-offset:3px;}
a:hover{text-decoration-color:var(--gold);}
.wrap{max-width:1020px;margin:0 auto;padding:0 18px;}
.masthead{background:#fff;border-bottom:1px solid var(--navy);}
.masthead .top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px 0 12px;border-bottom:3px double var(--navy);}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand .t{font-size:24px;font-weight:900;letter-spacing:.04em;color:var(--ink);line-height:1.2;}
.brand .s{font-size:11.5px;color:var(--sub);letter-spacing:.06em;margin-top:2px;}
.lat{font-size:11px;color:var(--gold);letter-spacing:.18em;white-space:nowrap;padding-bottom:4px;}
nav.gnav{display:flex;flex-wrap:wrap;}
nav.gnav a{flex:1 1 auto;text-align:center;padding:9px 8px;font-size:13.5px;font-weight:700;letter-spacing:.05em;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);}
nav.gnav a:first-child{border-left:1px solid var(--line);}
nav.gnav a:hover,nav.gnav a.on{color:var(--navy);box-shadow:inset 0 -3px 0 var(--gold);}
.latrule{position:relative;border-top:1px solid var(--navy);margin:34px 0 26px;}
.latrule::after{content:'43\00B0N';position:absolute;right:0;top:-9px;background:var(--paper);padding-left:10px;font-size:10px;letter-spacing:.22em;color:var(--gold);font-family:'Zen Kaku Gothic New',sans-serif;}
.bc{font-size:12px;color:var(--sub);padding:14px 0 0;}
.bc a{color:var(--sub);}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--gold);border-left:3px solid var(--gold);padding-left:8px;margin:22px 0 8px;}
h1.title{font-size:27px;font-weight:900;line-height:1.5;letter-spacing:.01em;margin:2px 0 10px;}
.meta{font-size:12.5px;color:var(--sub);padding-bottom:16px;border-bottom:1px solid var(--line);}
.meta b{color:var(--ink);font-weight:700;}
article{padding-bottom:8px;}
article p{margin:16px 0;}
article h2{font-size:20px;font-weight:900;margin:38px 0 6px;padding:6px 0 6px 12px;border-left:4px solid var(--navy);line-height:1.5;}
article h3{font-size:16.5px;font-weight:700;margin:26px 0 4px;}
article table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;line-height:1.7;}
article th{background:var(--band);border-bottom:2px solid var(--navy);padding:9px 10px;text-align:left;font-weight:700;white-space:nowrap;}
article td{border-bottom:1px solid var(--line);padding:10px;vertical-align:top;}
article td:first-child{font-weight:700;}
.tablewrap{overflow-x:auto;}
.inlinesrc{font-size:12px;color:var(--sub);margin:-6px 0 14px;}
.inlinesrc a{color:var(--sub);}
.dbnote{background:var(--band);border:1px solid var(--navy);padding:10px 14px;font-size:13px;margin:16px 0;}
.dbnote b{color:var(--navy);}
.log{font-size:13px;}
.log td:first-child{white-space:nowrap;font-weight:700;color:var(--sub);}
.relbox{margin:8px 0 0;}
.relbox h2{font-size:15px;font-weight:900;border-left:none;padding:0;margin:0 0 8px;letter-spacing:.06em;}
.relbox ul{list-style:none;}
.relbox li{border-top:1px solid var(--line);padding:9px 2px;font-size:14.5px;}
.relbox li:last-child{border-bottom:1px solid var(--line);}
.srcs{font-size:12px;color:var(--sub);margin-top:26px;padding-top:10px;border-top:1px solid var(--line);}
.srcs ul{list-style:none;margin-top:4px;}
.srcs li{padding:2px 0;}
.srcs a{color:var(--sub);}
.prof{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px;}
.prof th{width:9em;background:var(--band);border-bottom:1px solid #fff;padding:9px 10px;text-align:left;font-weight:700;}
.prof td{border-bottom:1px solid var(--line);padding:9px 10px;}
.statuslabel{display:inline-block;background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;letter-spacing:.06em;margin-right:8px;}
/* hero */
.hero{background:var(--sky);border-bottom:3px double var(--navy);overflow:hidden;}
.hero .in{display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:center;max-width:1020px;margin:0 auto;padding:8px 18px 0;}
.hero h1{font-size:34px;font-weight:900;letter-spacing:.02em;line-height:1.35;color:var(--navy);}
.hero h1 small{display:block;font-size:12px;letter-spacing:.3em;color:var(--gold);font-weight:700;margin-bottom:8px;}
.hero p.lead{font-size:14.5px;color:#33404f;margin:12px 0 16px;max-width:30em;line-height:2;}
.hero .go{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;font-weight:700;padding-bottom:22px;}
.hero .go a{text-decoration:none;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:2px;}
.hero .go a:hover{color:var(--gold);}
.hero svg{display:block;width:100%;height:auto;}
.next{border:1px solid var(--navy);background:#fff;margin:26px 0 4px;}
.next .h{background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.12em;padding:6px 12px;font-family:'Zen Kaku Gothic New',sans-serif;}
.next .b{padding:12px 14px;font-size:14.5px;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;}
.next .b b{font-size:16px;}
.cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 30px;}
.col h3{font-size:15px;font-weight:900;letter-spacing:.08em;border-bottom:2px solid var(--navy);padding:20px 0 6px;margin-bottom:2px;}
.col h3 a{text-decoration:none;color:var(--ink);}
.col ul{list-style:none;}
.col li{border-bottom:1px solid var(--line);padding:9px 2px;font-size:14px;line-height:1.7;}
.col li a{text-decoration:none;}
.col li a:hover{text-decoration:underline;}
.col .more{font-size:12.5px;color:var(--sub);padding:8px 2px 0;}
.hublist{list-style:none;}
.hublist li{border-top:1px solid var(--line);padding:16px 2px;}
.hublist li:last-child{border-bottom:1px solid var(--line);}
.hublist .t{font-size:17px;font-weight:700;line-height:1.6;}
.hublist .t a{text-decoration:none;}
.hublist .t a:hover{text-decoration:underline;}
.hublist .d{font-size:13.5px;color:var(--sub);margin-top:3px;}
.hublist .u{font-size:11.5px;color:var(--sub);margin-top:3px;}
.hubsub{font-size:16px;font-weight:900;letter-spacing:.08em;border-bottom:2px solid var(--navy);padding:26px 0 6px;margin-bottom:2px;}
.crosshub{margin-top:34px;border-top:1px solid var(--navy);padding-top:10px;font-size:13.5px;}
.crosshub b{letter-spacing:.06em;}
.crosshub a{margin-right:16px;}
footer{margin-top:56px;background:#fff;border-top:3px double var(--navy);}
footer .cols{padding:26px 0 8px;}
footer h4{font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:6px;}
footer ul{list-style:none;font-size:13px;}
footer li{padding:3px 0;}
footer a{text-decoration:none;color:var(--sub);}
footer a:hover{color:var(--navy);text-decoration:underline;}
footer .base{border-top:1px solid var(--line);margin-top:18px;padding:14px 0 22px;font-size:12px;color:var(--sub);line-height:1.8;}
@media(max-width:760px){
 .brand .t{font-size:19px;} .lat{display:none;}
 nav.gnav a{font-size:12px;padding:8px 4px;letter-spacing:0;}
 h1.title{font-size:22px;}
 .cols{grid-template-columns:1fr;}
 article table{font-size:13.5px;}
 .hero .in{grid-template-columns:1fr;padding-top:18px;}
 .hero h1{font-size:26px;}
 .hero svg{margin-top:4px;}
}
