:root{color-scheme:light dark;--bg:#f5f7fa;--surface:#fff;--text:#17212d;--muted:#4b5c70;--line:#d7dee8;--accent:#0068bd;--tint:#eaf3fc;--focus:#0068bd}
*{box-sizing:border-box}
html{font-size:100%;scroll-behavior:auto;scroll-padding-top:1rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:1.0625rem/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;overflow-wrap:anywhere}
a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
a:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.shell{width:min(100% - 2.5rem,48rem);margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:var(--surface)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;padding-block:1rem}
.brand{display:inline-flex;min-height:44px;flex-direction:column;justify-content:center;text-decoration:none;color:var(--text);line-height:1.35}
.brand strong{font-size:1.2rem;letter-spacing:.055em;font-weight:750}
.brand span{font-size:.8125rem;color:var(--muted);letter-spacing:.08em}
nav{display:flex;gap:.25rem .8rem;flex-wrap:wrap;align-items:center}
nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;padding:.3rem .15rem}
nav a[aria-current=page]{font-weight:700;color:var(--text);text-decoration-color:var(--accent)}
.document{padding-block:2.75rem 3.5rem;outline:none}
.page-heading{margin-bottom:1.75rem}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--muted);margin:0 0 .75rem}
h1{font-size:clamp(2rem,6.8vw,3rem);line-height:1.35;letter-spacing:-.025em;font-weight:700;margin:0 0 1rem;word-break:normal}
.lede{font-size:1.125rem;line-height:1.8;color:var(--muted);margin:0}
.contact-card{padding:1.15rem 1.3rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:1.75rem 0 2.25rem}
.operator{font-size:.875rem;color:var(--muted);margin:0}
.contact-link{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;font-weight:650;line-height:1.6;padding-block:.35rem;font-size:1rem}
.contact-link span{flex:none;font-size:1.15rem}
section{padding-block:1.4rem;border-top:1px solid var(--line)}
h2{font-size:1.25rem;font-weight:650;line-height:1.65;margin:0 0 .75rem;letter-spacing:-.01em}
p{margin:0 0 .9rem}section p:last-child{margin-bottom:0}
.email{overflow-wrap:anywhere}
.related{margin-top:1rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
.related p{margin:0}.related a{display:inline-flex;min-height:44px;align-items:center}
.site-footer{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem;padding-block:1.5rem}
.site-footer p{margin:0}.site-footer a{min-height:44px;display:inline-flex;align-items:center}
.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-block:2rem}
.page-card{display:block;border:1px solid var(--line);border-radius:14px;padding:1.25rem;background:var(--surface);text-decoration:none;color:var(--text)}
.page-card:hover{border-color:var(--accent)}.page-card>span{font-size:.8125rem;font-weight:650;color:var(--accent)}.page-card h2{margin:.4rem 0}.page-card p{font-size:.9375rem;color:var(--muted);margin:0}
.skip{position:absolute;left:1rem;top:-200px;z-index:5;background:var(--surface);padding:.75rem 1rem;min-height:44px}.skip:focus{top:.75rem}
@media(max-width:560px){.shell{width:calc(100% - 2.25rem)}.document{padding-top:2rem}.header-inner{gap:.5rem 1.1rem}nav{gap:.15rem .6rem}.page-grid{grid-template-columns:1fr}.contact-card{padding:1rem}.related{align-items:flex-start}}
@media(prefers-color-scheme:dark){:root{--bg:#0b0f13;--surface:#171d24;--text:#f1f5fa;--muted:#b6c3d2;--line:#3f4a57;--accent:#83c8ff;--tint:#14283a;--focus:#83c8ff}}
@media print{body{background:#fff;color:#111}a{color:#111}.site-header nav,.skip,.back-top{display:none}.document{padding-block:1rem}.shell{width:100%}.contact-card,.page-card{background:#fff}.site-footer{background:#fff}section{break-inside:avoid}}
