:root{--bg:#f4f7f8;--bg-deep:#0b1f24;--surface:#fff;--ink:#142126;--ink-muted:#4a5c63;--line:#d5e0e4;--accent:#0f8a7a;--accent-deep:#0a5f54;--accent-soft:#d8f3ef;--warn:#9a5b12;--radius:6px;--shadow:0 18px 40px #0b1f2414;--font-sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--font-display:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--max:1120px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%, #0f8a7a1f, transparent 55%), linear-gradient(180deg, #eef5f6 0%, var(--bg) 35%, #e9f1f3 100%);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--accent-deep);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}.container{width:min(100% - 2rem, var(--max));margin-inline:auto}.site-header{z-index:40;backdrop-filter:blur(10px);background:#f4f7f8e0;border-bottom:1px solid #d5e0e4cc;position:sticky;top:0}.site-header .container{position:relative}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand{color:inherit;flex-direction:column;gap:.1rem;text-decoration:none;display:inline-flex}.brand__name{font-family:var(--font-display);letter-spacing:.04em;font-size:1.05rem;font-weight:700}.brand__sub{color:var(--ink-muted);letter-spacing:.02em;font-size:.72rem}.nav-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:2.5rem;min-height:2.5rem;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:.45rem .7rem;font-weight:600;display:inline-flex}.nav{align-items:center;gap:1.1rem;display:none}.nav.is-open{border-bottom:1px solid var(--line);box-shadow:var(--shadow);background:#f4f7f8fa;flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1rem 1rem;display:flex;position:absolute;top:100%;left:0;right:0}.nav.is-open a{border-bottom:1px solid var(--line);padding:.85rem .2rem}.nav.is-open a.is-primary{border-bottom:0;margin-top:.5rem}.nav a{color:var(--ink);font-size:.92rem;font-weight:500;text-decoration:none}.nav a:hover{color:var(--accent-deep)}.nav a.is-primary,.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.7rem 1.15rem;font-weight:600;text-decoration:none;transition:transform .16s,background .16s,color .16s,border-color .16s;display:inline-flex}.nav a.is-primary,.btn--primary{background:var(--accent);color:#fff}.nav a.is-primary:hover,.btn--primary:hover{background:var(--accent-deep);color:#fff;transform:translateY(-1px)}.btn--ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.btn--on-dark{color:var(--bg-deep);background:#fff}.btn--on-dark:hover{background:var(--accent-soft);color:var(--accent-deep)}.hero{padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}.hero__panel{border-radius:calc(var(--radius) + 8px);color:#f5fbfa;box-shadow:var(--shadow);background:linear-gradient(135deg,#0b1f24f5,#0f4640eb),repeating-linear-gradient(-18deg,#ffffff09 0 1px,#0000 1px 14px);gap:2rem;padding:2.4rem;display:grid}.hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff40;border-radius:999px;width:fit-content;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.hero h1{font-family:var(--font-display);letter-spacing:.01em;max-width:18ch;margin:.8rem 0 .9rem;font-size:clamp(1.7rem,4vw,2.55rem);font-weight:700;line-height:1.35}.hero__lead{color:#f5fbfadb;max-width:42rem;margin:0;font-size:1.02rem}.hero__actions{flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;display:flex}.badge-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.badge-row li{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff29;padding:.7rem .85rem;font-size:.9rem}.section{padding:3.5rem 0}.section--surface{background:var(--surface);border-block:1px solid var(--line)}.section__head{max-width:40rem;margin-bottom:1.6rem}.section__head h2{margin:0 0 .6rem;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.4}.section__head p{color:var(--ink-muted);margin:0}.grid-3{gap:1rem;display:grid}.card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);padding:1.25rem 1.3rem}.card h3{margin:0 0 .45rem;font-size:1.05rem}.card p{color:var(--ink-muted);margin:0;font-size:.95rem}.site-footer{background:var(--bg-deep);color:#f5fbfadb;margin-top:2rem;padding:2.5rem 0 2rem}.site-footer a{color:#d8f3ef}.site-footer__grid{gap:1.5rem;display:grid}.site-footer__brand{letter-spacing:.04em;font-weight:700}.site-footer__meta,.site-footer__nav{margin:0;padding:0;list-style:none}.site-footer__nav{flex-wrap:wrap;gap:.85rem 1.2rem;display:flex}.site-footer__copy{color:#f5fbfa8c;border-top:1px solid #ffffff1f;margin-top:1.8rem;padding-top:1rem;font-size:.82rem}.prose{max-width:42rem}.prose h1{margin:0 0 1rem;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.35}.prose h2{margin:2rem 0 .7rem;font-size:1.25rem}.prose p,.prose li{color:var(--ink-muted)}.prose ul{padding-left:1.2rem}.form{gap:1rem;max-width:36rem;display:grid}.form label{gap:.35rem;font-size:.92rem;font-weight:600;display:grid}.form input,.form textarea,.form select{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:2.8rem;font:inherit;color:var(--ink);background:#fff;padding:.7rem .85rem}.form textarea{resize:vertical;min-height:9rem}.form__note{color:var(--ink-muted);margin:0;font-size:.85rem}.notice{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);padding:.9rem 1rem;font-size:.92rem}@media (width>=768px){.nav-toggle{display:none}.nav,.nav.is-open{box-shadow:none;background:0 0;border:0;flex-direction:row;align-items:center;gap:1.1rem;padding:0;display:flex;position:static}.nav.is-open a{border:0;padding:0}.nav.is-open a.is-primary{margin-top:0}.badge-row,.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer__grid{grid-template-columns:1.4fr 1fr;align-items:start}.hero__panel{grid-template-columns:1.4fr 1fr;align-items:end}}
