/* 言語切替と英語組版。日本語の既存レイアウトを維持する。 */
.language-switch{display:flex;gap:5px;align-items:center;margin-left:22px;flex-shrink:0;font-size:12px}
.language-switch a{padding:7px 9px;border-radius:6px;white-space:nowrap}
.language-switch a[aria-current]{background:#e4efec;font-weight:700}
.language-switch a:hover{background:#d5e7e2}
.language-hint{font-size:.85em}
html[lang=en] body{font-family:Arial,"Noto Sans",sans-serif;line-height:1.7}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{letter-spacing:-.02em;line-height:1.3;text-wrap:balance}
html[lang=en] .hero h1{font-size:clamp(38px,4vw,58px);line-height:1.15}
html[lang=en] .hero-lead{line-height:1.8}
html[lang=en] .hero-stamp strong{line-height:1.4}
html[lang=en] .page-heading>p,html[lang=en] .article-intro{max-width:780px;line-height:1.8}
html[lang=en] .article-header h1{line-height:1.25}
html[lang=en] .lesson-section>p{line-height:1.85}
html[lang=en] .coast-figure svg text{font-size:19px}
html[lang=en] .tide-visual svg text{font-size:19px}
html[lang=en] .tide-visual svg text.tide-svg-small{font-size:16px}
html[lang=en] .tide-visual svg text[x="288"]{text-anchor:end;transform:translateX(55px)}
html[lang=en] .tide-route-panels svg text{font-size:20px}
html[lang=en] .diagram svg text{font-family:Arial,sans-serif;font-size:19px}
html[lang=en] .diagram-wave svg text[x="547"]{font-size:16px}
html[lang=en] .diagram-controls{flex-wrap:wrap}
html[lang=en] .check-item>span>span{line-height:1.75}
html[lang=en] .footer-links{max-width:650px}
.visitor-grid,.emergency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:35px}
.visitor-card,.emergency-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.visitor-card .icon{width:32px;height:32px;color:var(--blue);margin-bottom:15px}
.visitor-card h2,.emergency-card h2{font-size:21px;margin-bottom:13px}
.visitor-card p,.emergency-card p{font-size:15px;color:var(--muted)}
.visitor-card a{display:inline-block;margin-top:15px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.emergency-card{border-top:4px solid #b5693d}
.emergency-number{display:block;font-size:56px;font-weight:700;letter-spacing:.03em;color:var(--ink);line-height:1.3;margin:10px 0}
.emergency-card small{display:block;font-size:12px;color:var(--muted)}
.phrase-list{margin:20px 0}
.phrase-list>div{padding:20px;border-bottom:1px solid var(--line);background:#f1f6f3}
.phrase-list dt{font-weight:700;margin-bottom:6px}
.phrase-list dd{margin:0}
.visitor-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
@media(max-width:1100px){.language-switch{margin-left:10px}.main-nav{gap:20px}.visitor-grid,.emergency-grid{grid-template-columns:1fr}.emergency-card{display:grid;grid-template-columns:110px 1fr;gap:5px 20px}.emergency-card h2{grid-column:1/-1}.emergency-number{grid-row:span 2;margin:0}}
@media(max-width:760px){.language-switch{margin-left:auto;gap:0;font-size:11px;order:2}.language-switch a{padding:8px}.menu-toggle{order:3;margin-left:6px}.header-inner{gap:4px}html[lang=en] .brand>span{font-size:21px}html[lang=en] .brand small{font-size:7px;letter-spacing:.1em}html[lang=en] .hero h1{font-size:42px;max-width:470px}html[lang=en] .topic-grid{grid-template-columns:1fr}html[lang=en] .topic-item{border:0;padding-left:0}html[lang=en] .topic-item h3{font-size:18px}html[lang=en] .article-card{grid-template-columns:120px minmax(0,1fr)}html[lang=en] .card-body h3{font-size:17px}.visitor-card,.emergency-card{padding:20px}.emergency-card{grid-template-columns:90px 1fr}.emergency-number{font-size:46px}.visitor-links{flex-direction:column}.visitor-links .button{white-space:normal;text-align:center}.phrase-list>div{padding:16px}html[lang=en] .diagram-controls>span{font-size:12px}}
@media(max-width:380px){.header-inner{width:calc(100% - 24px)}.header-inner .brand{gap:7px}.header-inner .brand>.icon{width:28px;height:28px}.header-inner .brand>span,html[lang=en] .header-inner .brand>span{font-size:18px}.language-switch a{padding:7px 5px}.menu-toggle{padding:7px;margin-left:0}}
@media print{.language-switch{display:none}.visitor-grid,.emergency-grid{display:block}.visitor-card,.emergency-card{break-inside:avoid;margin-bottom:5mm}.emergency-number{font-size:28pt}}
