:root{--color-bg:#fff;--color-bg-alt:#f5f7fb;--color-surface:#fff;--color-border:#e2e6ee;--color-ink:#10182b;--color-ink-soft:#454f63;--color-ink-muted:#6b7383;--color-navy:#0b1330;--color-navy-ink:#fff;--color-accent:#1758b3;--color-accent-ink:#fff;--color-accent-soft:#eaf1fd;--color-teal:#0f9488;--color-danger:#b3261e;--color-danger-bg:#fdecea;--color-success:#0f7a45;--color-success-bg:#e8f7ef;--font-body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px #10182b0f, 0 1px 1px #10182b0a;--shadow-md:0 8px 24px #10182b14;--container-max:1120px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.75}img,svg{max-width:100%;display:block}a{color:var(--color-accent);text-underline-offset:2px;text-decoration-thickness:1.5px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4{color:var(--color-ink);letter-spacing:.01em;margin:0 0 .6em;font-weight:700;line-height:1.35}h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.25}h2{font-size:clamp(1.5rem,1.25rem + 1vw,2.1rem)}h3{font-size:1.25rem}p{color:var(--color-ink-soft);margin:0 0 1em}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:1.5rem}.section{padding-block:clamp(3rem,2.4rem + 2.5vw,5.5rem)}.section--alt{background:var(--color-bg-alt)}.section-head{max-width:640px;margin-bottom:2.5rem}.eyebrow{letter-spacing:.08em;color:var(--color-accent);background:var(--color-accent-soft);border-radius:999px;margin-bottom:1rem;padding:.3em .8em;font-size:.8rem;font-weight:700;display:inline-block}.site-header{background:var(--color-navy);color:var(--color-navy-ink);z-index:50;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.brand{color:var(--color-navy-ink);letter-spacing:.02em;font-size:1.1rem;font-weight:700;text-decoration:none}.brand:hover{opacity:.9;text-decoration:none}.brand__sub{color:#aab4d6;letter-spacing:.06em;font-size:.7rem;font-weight:400;display:block}.nav{align-items:center;gap:1.75rem;display:flex}.nav__list{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav__list a{color:#d7deef;font-size:.95rem;font-weight:500;text-decoration:none}.nav__list a:hover,.nav__list a[aria-current=page]{color:#fff}.site-header .nav-toggle{display:none}@media (width<=780px){.site-header .nav-toggle{display:inline-flex}.site-header__inner{flex-wrap:wrap}.nav{width:100%;display:none}.nav.is-open{flex-direction:column;align-items:stretch;gap:1rem;padding-block:1rem 1.5rem;display:flex}.nav.is-open .nav__list{flex-direction:column;gap:1rem}}.btn{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:.85em 1.6em;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink)}.btn--primary:hover{box-shadow:var(--shadow-sm);background:#123f7a}.btn--ghost{color:#fff;background:0 0;border-color:#fff6}.btn--ghost:hover{background:#ffffff1a}.btn--outline{border-color:var(--color-accent);color:var(--color-accent);background:0 0}.btn--outline:hover{background:var(--color-accent-soft)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.hero{background:radial-gradient(circle at 80% -10%, #16205a 0%, var(--color-navy) 55%);color:#fff;padding-block:clamp(3.5rem,2.5rem + 4vw,7rem)}.hero__sub{color:#c4cdec;max-width:620px;font-size:1.1rem}.hero__actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.grid{gap:1.5rem;display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid--4,.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:100%;padding:1.75rem}.card h3{margin-bottom:.5rem}.card p:last-child{margin-bottom:0}.card__link{margin-top:1rem;font-size:.9rem;font-weight:700;display:inline-block}.tag{color:var(--color-teal);background:#e3f5f3;border-radius:999px;margin-bottom:.75rem;padding:.25em .75em;font-size:.75rem;font-weight:700;display:inline-block}.cta-banner{background:var(--color-navy);color:#fff;border-radius:var(--radius-lg);text-align:center;padding:clamp(2rem,1.6rem + 2vw,3.5rem)}.cta-banner p{color:#c4cdec}.cta-banner .btn--primary{margin-top:1rem}.cta-note{color:#aab4d6;margin-top:.75rem;font-size:.85rem}.site-footer{background:var(--color-navy);color:#aab4d6;margin-top:4rem;padding-block:3rem 2rem}.site-footer a{color:#d7deef}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:2rem;margin-bottom:2rem;display:flex}.footer-nav{flex-wrap:wrap;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.footer-bottom{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.8rem;display:flex}.breadcrumb{color:var(--color-ink-muted);padding-block:1rem;font-size:.85rem}.breadcrumb ol{flex-wrap:wrap;gap:.4em;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";color:var(--color-border);margin-right:.4em}.form-field{margin-bottom:1.5rem}.form-field label{margin-bottom:.4em;font-weight:700;display:block}.required-mark{color:var(--color-danger);margin-left:.35em;font-size:.8em;font-weight:700}.optional-mark{color:var(--color-ink-muted);margin-left:.35em;font-size:.8em;font-weight:400}.form-field input[type=text],.form-field input[type=email],.form-field textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-ink);background:#fff;padding:.85em 1em;font-family:inherit;font-size:1rem}.form-field textarea{resize:vertical;min-height:160px}.form-field-hint{color:var(--color-ink-muted);margin-top:.35em;font-size:.8rem}.form-field-error{color:var(--color-danger);margin-top:.4em;font-size:.85rem;display:none}.form-field.is-invalid input,.form-field.is-invalid textarea{border-color:var(--color-danger)}.form-field.is-invalid .form-field-error{display:block}.checkbox-field{align-items:flex-start;gap:.6em;display:flex}.checkbox-field input{margin-top:.3em}.checkbox-field label{font-weight:400}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-status{border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:1em 1.2em;font-weight:600;display:none}.form-status.is-visible{display:block}.form-status--success{background:var(--color-success-bg);color:var(--color-success)}.form-status--error{background:var(--color-danger-bg);color:var(--color-danger)}.form-status--pending{background:var(--color-bg-alt);color:var(--color-ink-soft)}.prose h2{margin-top:2em}.prose ul{color:var(--color-ink-soft)}.not-found{text-align:center;padding-block:clamp(4rem,3rem + 5vw,8rem)}.not-found .eyebrow{margin-bottom:1.5rem}.skip-link{background:var(--color-accent);color:#fff;z-index:100;border-radius:0 0 var(--radius-sm) 0;padding:.75em 1.25em;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}
