:root{color-scheme:light;--paper:#f7f0df;--ink:#1c2423;--muted:#56635f;--teal:#25827f;--line:#d9d1bf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
a{color:#176d69;text-underline-offset:3px}
a:hover{color:#0d4f4c}
.skip-link{position:absolute;left:12px;top:-60px;padding:8px 12px;background:#fff;z-index:10}
.skip-link:focus{top:12px}
.site-header{background:#1b2422;color:#fff}
.header-inner,.page,.footer-inner{width:min(900px,calc(100% - 32px));margin-inline:auto}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:66px}
.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.02em}
.header-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}
.header-nav a{color:#e3f4ef}
.page{padding:42px 0 72px}
.eyebrow{color:#126c69;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1{font-size:clamp(28px,5vw,42px);line-height:1.35;margin:10px 0 12px}
.lead{color:var(--muted);font-size:17px;margin:0 0 28px}
.card{background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,5vw,42px);box-shadow:0 9px 25px #392e140b}
.card section+section{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}
h2{font-size:21px;line-height:1.4;margin:0 0 10px}
p{margin:10px 0}
ul{padding-left:1.5em;margin:10px 0}
li+li{margin-top:6px}
.meta,.fineprint{color:var(--muted);font-size:14px}
.contact{display:inline-flex;align-items:center;min-height:48px;padding:9px 18px;border-radius:12px;background:var(--teal);color:#fff;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.contact:hover{color:#fff;background:#176d69}
.en{margin-top:42px}
.site-footer{background:#1b2422;color:#dce9e4}
.footer-inner{padding:24px 0;font-size:13px}
.footer-inner a{color:#dce9e4}
a:focus-visible{outline:3px solid #eea94b;outline-offset:4px}
@media(max-width:540px){.header-inner{align-items:flex-start;flex-direction:column;padding-block:16px}.page{padding-top:28px}.card{border-radius:16px}}
