:root{--ink:#1c2230;--muted:#5b6470;--line:#e6e8ec;--bg:#fff;--bg-soft:#f6f7f9;--accent:#2b6cb0;--accent-ink:#1f5a96;--radius:14px;--maxw:920px}.site-bg{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.hexbg{width:100%;height:100%;position:absolute;inset:0}.hexbg .drift{will-change:transform;animation:248s linear infinite bg-drift}@keyframes bg-drift{0%{transform:translate(0)}to{transform:translate(-1152px,665.11px)}}@media (prefers-reduced-motion:reduce){.hexbg .drift{animation:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.85}a{color:var(--accent-ink)}img{max-width:100%;height:auto}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);z-index:20;backdrop-filter:saturate(180%)blur(8px);background:#ffffffeb;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:16px;min-height:60px;display:flex}.brand{align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brand-mark{width:auto;height:30px;display:block}.brand-name{letter-spacing:.01em;color:var(--ink);font-size:22px;font-weight:800;line-height:1}@media (width<=420px){.brand-mark{height:26px}.brand-name{font-size:20px}}.nav{flex-wrap:wrap;gap:18px;margin-left:auto;display:flex}.nav a{color:var(--muted);font-size:14.5px;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}main{padding:8px 0 56px}.eyebrow{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;margin:26px 0 0;font-size:13px;font-weight:700}h1{letter-spacing:-.01em;margin:8px 0 10px;font-size:30px;line-height:1.4}h2{margin:44px 0 10px;font-size:23px}h3{margin:26px 0 6px;font-size:18px}.lead{color:var(--muted);font-size:18px}.section{padding:8px 0}.muted{color:var(--muted)}.hero{padding:40px 0 12px}.hero h1{font-size:34px}.hero .lead{max-width:38em;font-size:19px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:32px;padding:40px 0 16px;display:grid}.hero-grid .hero-copy h1{font-size:34px}.hero-grid .hero-art{margin:0}.hero-grid .hero-art img{width:100%;height:auto;display:block}@media (width<=720px){.hero-grid{grid-template-columns:1fr;gap:18px;padding-top:28px}.hero-grid .hero-art{max-width:420px}}.figure{margin:26px 0 8px}.figure img{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);width:100%;height:auto;display:block}.figure figcaption{color:var(--muted);margin-top:8px;font-size:13px}.figure-wide img{border-radius:var(--radius)}.figure-il{max-width:560px;margin-left:auto;margin-right:auto}.figure-il img{background:0 0;border:0;border-radius:0}.cards{grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;display:grid}@media (width<=640px){.cards{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);color:inherit;padding:22px;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-img{border-radius:10px;width:100%;height:auto;margin:-4px 0 14px;display:block}.card h3{margin-top:0}.card .arrow{color:var(--accent-ink);font-size:14px;font-weight:700}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent-ink)}.btn-ghost{color:var(--accent-ink);border:1px solid var(--line);background:0 0}.profile{border-top:1px solid var(--line);margin:18px 0}.profile div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:12px;padding:14px 4px;display:grid}.profile dt{color:var(--muted);margin:0;font-size:14.5px;font-weight:700}.profile dd{margin:0}@media (width<=520px){.profile div{grid-template-columns:1fr;gap:2px}}.form{gap:16px;max-width:560px;margin:22px 0;display:grid}.form label{gap:6px;font-size:14.5px;font-weight:700;display:grid}.form input,.form textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:12px 14px}.form input:focus,.form textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}.form textarea{resize:vertical;min-height:160px}.hp{display:none}.note{color:var(--muted);font-size:13.5px}.alert{border-radius:10px;margin:18px 0;padding:12px 16px;font-size:15px}.alert-ok{color:#226022;background:#ecf6ec;border:1px solid #bcdfbc}.alert-err{color:#952020;background:#fdecec;border:1px solid #f2bcbc}.flow{--c-bg:#e9f1f9;--c-border:#dbe7f4;--c-ink:#1c2230;--c-muted:#5b6470;--c-badge-bg:#2b6cb0;--c-badge-ink:#fff;--c-red:#ef2b46;--c-accent:#1f5a96;--c-arrow:#9bb6d4;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 8px;padding:0;list-style:none;display:grid}.flow-step{background:var(--c-bg);border:1px solid var(--c-border);color:var(--c-ink);border-radius:12px;padding:18px 16px;position:relative}.flow-num{background:var(--c-badge-bg);width:30px;height:30px;color:var(--c-badge-ink);border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:inline-flex}.flow-step.is-first .flow-num{background:var(--c-red)}.flow-en{color:var(--c-accent);margin:10px 0 2px;font-size:12.5px;font-weight:700;line-height:1.4}.flow-ja{color:var(--c-ink);margin:0;font-size:16px;font-weight:800;line-height:1.55}.flow-desc{color:var(--c-muted);margin:6px 0 0;font-size:13.5px;line-height:1.7}.flow-list{color:var(--c-muted);margin:10px 0 0;padding-left:18px;font-size:13.5px;line-height:1.85}.flow-step:not(:last-child):after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:9px solid var(--c-arrow);z-index:1;width:0;height:0;position:absolute;top:50%;right:-11px;transform:translateY(-50%)}@media (width<=680px){.flow{grid-template-columns:1fr;gap:22px}.flow-step:not(:last-child):after{inset:auto auto -16px 50%;transform:translate(-50%)rotate(90deg)}}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:40px;padding:34px 0}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:24px 40px;display:flex}.site-footer .col h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 10px;font-size:13px}.site-footer a{color:var(--muted);font-size:14px;line-height:2;text-decoration:none;display:block}.site-footer a:hover{color:var(--ink)}.copyright{color:var(--muted);margin-top:22px;font-size:13px}
