/* Shared typography: local fonts keep page display independent of Google. */
:root{--site-font:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
body{font-family:var(--site-font)!important;font-weight:400;letter-spacing:.015em}
button,input,select,textarea{font-family:var(--site-font)}
h1,h2,h3{font-family:var(--site-font);font-weight:600!important;letter-spacing:.035em}
.hero h1,.mw-hero h1,.hero-title{font-weight:600!important;letter-spacing:.015em!important;line-height:1.3}
.brand{font-weight:700!important;letter-spacing:.035em}
.brand small,.brand span{font-weight:500;letter-spacing:.16em}
.site-header nav,.site-header a,.tabs button,.selectors label,.hazard-label{font-weight:500}
.tabs button{font-weight:600!important;letter-spacing:.02em}
.tabs button small{font-weight:400}
table,.amount,.value{font-variant-numeric:tabular-nums}

/* Approved site-wide typography and layout. */
:root{--site-font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important}
body{font-family:var(--site-font)!important;letter-spacing:0!important;font-weight:400}
button,input,select,textarea{font-family:var(--site-font)!important}
h1,h2,h3{font-family:var(--site-font)!important;letter-spacing:0!important;font-weight:700!important}
html body .mw-hero h1,html body .hero h1{font-family:var(--site-font)!important;letter-spacing:-.015em!important;font-feature-settings:"palt" 1,"kern" 1!important;font-kerning:normal;font-weight:700!important;line-height:1.2}
.brand{letter-spacing:0!important}.brand small,.brand span{letter-spacing:.08em}
.mw-nav a,.mw-nav button,.tabs button{font-weight:600!important;letter-spacing:0!important}
.panel,.city-card,.explorer,.available-regions,.mw-video-card,.mw-publishing-card{border-radius:3px!important;box-shadow:none!important}
.tabs button,.selectors select,.hazard-label select,.mw-primary-button,.mw-weather-entry-action{border-radius:3px!important}
.mw-hero-photo{box-shadow:none!important}
html body .mw-hero h1,html body .hero h1{font-size:clamp(32px,3.2vw,48px)!important;line-height:1.45;text-shadow:none!important}
@media(min-width:1000px){.mw-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px}}
/* Yellow section navigation: readable at desktop and mobile widths. */
html body .mw-topic-strip a{font-size:20px;font-weight:700;letter-spacing:0;gap:10px}
html body .mw-topic-strip a span{font-size:20px}
@media(max-width:800px){html body .mw-topic-strip a{font-size:17px;gap:6px}}
@media(max-width:600px){html body .mw-topic-strip a{font-size:17px;gap:7px}html body .mw-topic-strip a span{font-size:18px}}

html body .mw-nav a,html body .mw-nav button,html body .mw-header-submit{font-size:16px;letter-spacing:0}
@media(min-width:761px) and (max-width:1100px){html body .mw-nav{flex-wrap:wrap;gap:8px 14px}html body .mw-header{height:auto;min-height:82px;padding-top:12px;padding-bottom:12px}html body .mw-nav a,html body .mw-nav button{font-size:15px}}

/* Shared optical spacing for every page, including forms and map labels. */
html body,html body *{letter-spacing:0!important;font-kerning:normal!important;font-feature-settings:"palt" 1,"kern" 1!important}
html body :is(h1,h2,h3,h4,h5,h6){letter-spacing:-.015em!important}
html body :is(p,li,dd,dt,label,button,input,select,textarea,th,td,a,svg text){letter-spacing:0!important}

