:root{color-scheme:light;--bg: #f6f3ee;--surface: #ffffff;--surface-strong: #f1ece4;--ink: #1f242b;--muted: #5a6370;--accent: #d96f2b;--accent-strong: #b85724;--accent-cool: #2f8c74;--border: rgba(31, 36, 43, .12);--shadow: 0 18px 36px rgba(31, 36, 43, .12);--font-display: "Oswald", sans-serif;--font-body: "Zen Kaku Gothic New", sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);background:linear-gradient(180deg,#f6f3ee73,#f6f3ee8c),var(--bg-image) center / cover no-repeat fixed,var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.page{position:relative;min-height:100vh;overflow-x:hidden}.glow{position:absolute;width:280px;height:280px;filter:blur(110px);opacity:.6;pointer-events:none}.glow-amber{top:-120px;right:-80px;background:radial-gradient(circle,rgba(217,111,43,.25),transparent 60%)}.glow-emerald{top:280px;left:-120px;background:radial-gradient(circle,rgba(47,140,116,.18),transparent 60%)}.glow-red{display:none}.container{width:min(980px,100%);margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:10;background:#ffffffe0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:44px;height:44px;-o-object-fit:contain;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-title{font-family:var(--font-display);font-size:26px;letter-spacing:.04em;text-transform:uppercase}.brand-sub{font-size:12px;color:var(--muted)}.site-nav{display:flex;gap:24px;font-size:14px;color:var(--muted)}.site-nav a:hover{color:var(--ink)}.cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:#fff;font-weight:700}body.home .cta-home{background:transparent;color:var(--muted);border:1px solid var(--border)}body.home .cta-home:hover{color:var(--ink)}main{padding:64px 0 88px}.hero{display:grid;gap:24px;margin-bottom:32px}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-cool)}.hero h1{font-family:var(--font-display);font-size:clamp(34px,8vw,64px);line-height:.95;margin:12px 0 16px}.lead{color:var(--muted);font-size:16px;line-height:1.7}.lang-ja{display:inline}.lang-en,.lang-en-mode .lang-ja{display:none}.lang-en-mode .lang-en{display:inline}.lang-toggle{border-radius:999px;padding:8px 14px;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}body.home .lang-toggle{padding:6px 10px;font-size:11px;opacity:.8}.header-actions{display:flex;align-items:center;gap:10px}.subtext{margin:6px 0 0;font-size:13px;color:var(--muted)}.hero-card{background:linear-gradient(145deg,#fff,#f6efe6);border-radius:18px;padding:22px;box-shadow:var(--shadow);border:1px solid var(--border)}.hero-card h2{font-family:var(--font-display);font-size:28px;margin:18px 0 16px}.hero-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.6}.hero-card-top{display:flex;gap:10px;flex-wrap:wrap}.chip,.chip-outline{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.chip{background:#d96f2b26;color:var(--accent-strong)}.chip-outline{border:1px solid var(--border);color:var(--muted)}.panel{margin-top:24px;padding:22px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.panel-header h2{margin:0 0 8px;font-size:22px}.panel-header p{margin:0;color:var(--muted)}.input-box{margin-top:24px;display:grid;gap:12px}textarea,input[type=text]{width:100%;border-radius:16px;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);padding:16px;font-size:16px;font-family:inherit}.chip-row{display:flex;gap:10px;flex-wrap:wrap}.chip-btn,.pill-btn{border-radius:999px;padding:8px 16px;border:1px solid rgba(217,111,43,.3);background:#fff6ee;color:var(--accent-strong);font-size:13px;cursor:pointer;text-align:center}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill-btn.is-active{background:#d96f2b2e;border-color:#d96f2b80}.pill-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.pill-btn:active{transform:scale(.98);box-shadow:inset 0 2px 6px #1f242b1f;background:#d96f2b1f}.pill-btn:focus-visible{outline:2px solid rgba(217,111,43,.5);outline-offset:2px}.flow-block{margin-top:18px}.flow-label{margin:0 0 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.flow-prompt{margin:0 0 12px;font-size:14px;color:var(--ink)}.pill-help{font-size:11px;color:var(--muted)}.case-list{display:grid;gap:10px;margin-top:12px}.case-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-strong);font-size:14px}.case-item span{color:var(--muted);font-size:12px}.case-item small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.muted{color:var(--muted);margin:6px 0 0}.split{margin-top:12px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.split-card{padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-strong)}.plain-list{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.6}.is-hidden{display:none}.case-slug{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}.site-footer{border-top:1px solid var(--border);padding:24px;text-align:center;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal{opacity:1;transform:none}@media (max-width: 820px){.header-inner{flex-wrap:wrap}}@media (max-width: 600px){main{padding:32px 0 56px}.panel{padding:18px}}
