:root{--ink:#16140f;--black:#221d17;--black2:#2a241c;--paper:#f3efe6;--paper2:#ebe5d8;--body:#3a352c;--mute:#6b665c;--line:#e2dccf;--dmute:#8a8375;--dline:#2a2720;--ember:#e8551f;--ember-d:#c43d10;--ember-l:#ff7a3d;--serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{font-family:var(--sans);background:var(--black);color:var(--paper);line-height:1.85;overflow-x:hidden}.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}a{color:inherit;text-decoration:none}::selection{background:var(--ember);color:#fff}img{max-width:100%;display:block}#prog{background:linear-gradient(90deg,var(--ember),var(--ember-l));z-index:90;width:0;height:2px;position:fixed;top:0;left:0;box-shadow:0 0 12px #e8551fb3}.nav{z-index:80;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,64px);display:flex;position:fixed;top:0;left:0;right:0}.nav .brand{font-family:var(--mono);letter-spacing:.34em;color:#fff;padding-left:.34em;font-size:14px;font-weight:600}.nav .links{font-family:var(--mono);letter-spacing:.16em;color:#fff;gap:clamp(16px,2.4vw,32px);font-size:11.5px;display:flex}.nav .links a{opacity:.7;transition:opacity .2s}.nav .links a:hover{opacity:1}@media (width<=720px){.nav .links{display:none}}.hero{height:300vh;position:relative}.hero-stage{background:#a8340a;height:100vh;position:sticky;top:0;overflow:hidden}.hero-slides{position:absolute;inset:0}.hero-slide{opacity:0;background-position:50% 42%;background-size:cover;transition:opacity 1.6s;position:absolute;inset:0;transform:scale(1.03)}.hero-slide.on{opacity:1;transition:opacity 1.6s,transform 6s;transform:scale(1.09)}.hero-tint{pointer-events:none;background:radial-gradient(125% 105% at 50% 6%,#f67c3199 0%,#ce4011b3 46%,#782a0ce6 100%);position:absolute;inset:0}#field{width:100%;height:100%;position:absolute;inset:0}.hero-vignette{pointer-events:none;background:radial-gradient(78% 66% at 50% 44%,#0000 44%,#4016066b 100%);position:absolute;inset:0}.hero-wm{font-family:var(--serif);color:#3a140421;letter-spacing:-.02em;user-select:none;pointer-events:none;white-space:nowrap;font-size:min(58vh,46vw);font-weight:900;line-height:1;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.hero-inner{text-align:center;background:radial-gradient(58% 48% at 50% 42%,#2e100452,#0000 72%);flex-direction:column;justify-content:center;align-items:center;padding:0 6vw;display:flex;position:absolute;inset:0}.hero-eyebrow{font-family:var(--mono);letter-spacing:.32em;color:#ffeee0e6;text-transform:uppercase;margin-bottom:clamp(22px,3vw,34px);font-size:clamp(10px,1.1vw,12.5px)}.hero-h1{font-family:var(--serif);letter-spacing:.02em;color:#fff6ec;text-shadow:0 3px 34px #46140066;perspective:900px;flex-wrap:wrap;justify-content:center;font-size:clamp(52px,14vw,168px);font-weight:900;line-height:1.02;display:flex}.hero-h1 .ch{transform-origin:50% 100%;will-change:transform,opacity;display:inline-block}.hero-h1 .comma{width:.28em}@media (width<=640px){.hero-h1{font-size:clamp(30px,9.4vw,58px);line-height:1.12}}.hero-sub{color:#fff1e7eb;letter-spacing:.02em;max-width:640px;margin-top:clamp(26px,4vw,42px);font-size:clamp(14px,1.7vw,17px)}.hero-scroll{font-family:var(--mono);letter-spacing:.28em;color:#ffecdec7;text-transform:uppercase;flex-direction:column;align-items:center;gap:10px;font-size:10.5px;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.hero-scroll .bar{background:linear-gradient(#fff2e4,#0000);width:1px;height:38px;animation:1.8s infinite drop}@keyframes drop{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.manifesto{background:var(--black);z-index:2;padding:clamp(120px,22vh,260px) clamp(20px,6vw,80px);position:relative}.manifesto .m-eyebrow{font-family:var(--mono);letter-spacing:.28em;color:var(--ember);text-transform:uppercase;margin-bottom:clamp(40px,6vw,72px);font-size:11.5px}.m-lines{max-width:1000px}.m-line{font-family:var(--serif);letter-spacing:.01em;color:#efe9de;opacity:0;filter:blur(14px);margin:.12em 0;font-size:clamp(26px,5.2vw,64px);font-weight:700;line-height:1.5;transition:opacity .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(30px)scale(.985)}.m-line.in{opacity:1;filter:blur();transform:none}.m-line em{color:var(--ember-l);font-style:normal}.m-line .dim{color:#5c574c}.ring-sec{z-index:2;background:radial-gradient(90% 70% at 50% 45%,#241e17,#171310);flex-direction:column;justify-content:center;align-items:center;height:110vh;display:flex;position:relative;overflow:hidden}.ring-wrap{perspective:1100px;width:min(88vw,860px);height:min(88vw,860px);position:relative}.ring{transform-style:preserve-3d;animation:34s linear infinite spin;position:absolute;inset:0;transform:rotateX(74deg)}@keyframes spin{to{transform:rotateX(74deg)rotate(360deg)}}.ring span{font-family:var(--serif);letter-spacing:.14em;color:#d8d2c6;transform-origin:0 0;font-size:clamp(15px,2.4vw,26px);font-weight:700;position:absolute;top:50%;left:50%}.ring span.dot{color:var(--ember)}.ring-core{text-align:center;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-core .k{font-family:var(--mono);letter-spacing:.3em;color:var(--ember);text-transform:uppercase;margin-bottom:22px;font-size:11px}.ring-core .v{font-family:var(--serif);color:#fff;letter-spacing:.02em;font-size:clamp(30px,6vw,66px);font-weight:900;line-height:1.2}.ring-glow{filter:blur(30px);background:radial-gradient(circle,#e8551f38,#0000 68%);border-radius:50%;width:60%;height:60%;animation:6s ease-in-out infinite pulse;position:absolute;top:20%;left:20%}@keyframes pulse{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}.panel{background:var(--paper);color:var(--ink);z-index:5;border-radius:clamp(28px,5vw,72px) clamp(28px,5vw,72px) 0 0;margin-top:-6vh;position:relative;box-shadow:0 -40px 120px #0000008c}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}.sec{padding:clamp(70px,11vw,140px) 0}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(38px)}.reveal.in{opacity:1;transform:none}.eyebrow{font-family:var(--mono);letter-spacing:.18em;color:var(--ember);text-transform:uppercase;font-size:12px;font-weight:600}.lede{grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(30px,5vw,72px);display:grid}.lede h2{font-family:var(--serif);text-wrap:balance;margin-top:20px;font-size:clamp(32px,5.4vw,60px);font-weight:900;line-height:1.18}.lede p{color:var(--mute);max-width:420px;font-size:15px}@media (width<=820px){.lede{grid-template-columns:1fr;align-items:start;gap:26px}}.pillars{border-top:3px solid var(--ink);margin-top:clamp(46px,6vw,72px)}.pillar{border-bottom:1px solid var(--line);grid-template-columns:clamp(64px,9vw,120px) 1fr auto;align-items:center;gap:clamp(14px,3vw,34px);padding:clamp(26px,3.4vw,40px) 0;display:grid}.pillar .idx{font-family:var(--serif);color:var(--ember);font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1}.pillar h3{font-family:var(--serif);margin-bottom:6px;font-size:clamp(19px,2.5vw,26px);font-weight:700}.pillar p{color:var(--mute);max-width:620px;font-size:14px}.pillar .tag{font-family:var(--mono);letter-spacing:.12em;color:#a59f90;white-space:nowrap;font-size:11px}@media (width<=720px){.pillar{grid-template-columns:auto 1fr;gap:16px}.pillar .tag{display:none}}.why{background:var(--ink);color:var(--paper)}.why .split{grid-template-columns:1fr 1.15fr;gap:clamp(30px,5vw,72px);display:grid}.why h2{font-family:var(--serif);text-wrap:balance;font-size:clamp(28px,4.4vw,48px);font-weight:900;line-height:1.2}.why .sec-eyebrow{color:var(--ember-l);margin-bottom:16px}.s-row{border-top:1px solid var(--dline);grid-template-columns:44px 1fr;gap:18px;padding:24px 0;display:grid}.s-row:last-child{border-bottom:1px solid var(--dline)}.s-row .n{font-family:var(--serif);color:var(--ember);font-size:24px;font-weight:900}.s-row h3{font-family:var(--serif);margin-bottom:6px;font-size:18px;font-weight:700}.s-row p{color:var(--dmute);font-size:14px}@media (width<=820px){.why .split{grid-template-columns:1fr;gap:26px}}.stats{flex-wrap:wrap;gap:clamp(26px,5vw,64px);margin-top:clamp(40px,5vw,56px);display:flex}.stat .n{font-family:var(--serif);color:var(--ember);font-size:clamp(38px,5vw,60px);font-weight:900;line-height:1}.stat .n small{color:var(--paper);margin-left:.15em;font-size:.4em}.stat .l{color:var(--dmute);letter-spacing:.02em;margin-top:6px;font-size:12px}.cards{grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,24px);margin-top:clamp(40px,5vw,60px);display:grid}.card{border:1px solid var(--line);background:#fff;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s;overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px #16140f24}.card .visual{justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.card .visual.ink{background:radial-gradient(120% 120% at 30% 20%,#241f16,#0d0b07)}.card .visual.ember{background:linear-gradient(135deg,var(--ember),var(--ember-d))}.card .visual .big{font-family:var(--serif);letter-spacing:.02em;font-size:88px;font-weight:900;line-height:1}.card .visual.ink .big{color:#ffffffe6}.card .visual.ember .big{color:#00000029;font-size:150px;position:absolute;top:-14px;left:14px}.card .visual.ember .app{border:1px solid var(--line);background:#fff;width:150px;padding:14px 15px;position:relative;box-shadow:0 18px 34px #00000047}.card .visual.ember .app .r{justify-content:space-between;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.card .visual.ember .app .q{font-family:var(--serif);text-align:center;margin:4px 0 10px;font-size:24px;font-weight:900}.card .visual.ember .app .g{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.card .visual.ember .app .g i{font-family:var(--mono);text-align:center;background:#f3efe6;padding:5px 0;font-size:11px;font-style:normal}.card .visual.ember .app .g i.on{color:#fff;background:#16140f}.card .bd{padding:26px 28px 30px}.card .bd .tag{font-family:var(--mono);letter-spacing:.12em;color:var(--ember);margin-bottom:8px;font-size:11px}.card .bd h3{font-family:var(--serif);margin-bottom:10px;font-size:23px;font-weight:700}.card .bd p{color:var(--mute);margin-bottom:14px;font-size:14px}.card .bd .link{border-bottom:2px solid var(--ember);padding-bottom:2px;font-size:13px;font-weight:700}.applist{flex-wrap:wrap;gap:7px;display:flex}.applist span{background:var(--paper);border:1px solid var(--line);padding:5px 11px;font-size:11.5px}@media (width<=720px){.cards{grid-template-columns:1fr}.card .visual .big{font-size:64px}}.news a.row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:clamp(14px,3vw,28px);padding:22px 4px;transition:all .15s;display:flex}.news a.row:last-child{border-bottom:1px solid var(--line)}.news a.row:hover{background:#e8551f0d}.news .date{font-family:var(--mono);color:#7a7264;min-width:96px;font-size:13px}.news .cat{border:1px solid var(--line);color:#7a7264;white-space:nowrap;padding:3px 10px;font-size:11px}.news .ttl{font-size:15.5px;font-weight:500}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.more{color:var(--ink);border-bottom:2px solid var(--ember);padding-bottom:2px;font-size:13.5px;font-weight:700}.cta{background:linear-gradient(120deg,var(--ember),var(--ember-d));color:#fff;border-radius:0 0 clamp(28px,5vw,72px) clamp(28px,5vw,72px)}.cta .in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:36px;padding:clamp(64px,10vw,120px) 0;display:flex}.cta h2{font-family:var(--serif);text-wrap:balance;font-size:clamp(30px,4.6vw,52px);font-weight:900;line-height:1.2}.cta p{color:#ffffffe6;max-width:440px;margin-top:14px;font-size:14.5px}.cta .btns{flex-direction:column;gap:12px;display:flex}.btn{text-align:center;padding:16px 34px;font-size:15px;font-weight:700;transition:all .15s}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{opacity:.88}.btn-ghost{color:#fff;border:1px solid #ffffffa6}.btn-ghost:hover{background:#ffffff24}footer.f{background:var(--black);color:var(--dmute);padding:clamp(46px,6vw,64px) 0 40px}footer.f .top{border-bottom:1px solid var(--dline);flex-wrap:wrap;justify-content:space-between;gap:32px;padding-bottom:30px;display:flex}footer.f .brand img{height:24px;margin-bottom:14px}footer.f .brand .d{max-width:320px;font-size:13px;line-height:1.9}footer.f .cols{flex-wrap:wrap;gap:clamp(28px,5vw,56px);display:flex}footer.f .cols h4{color:var(--paper);margin-bottom:12px;font-size:12px;font-weight:700}footer.f .cols a{margin-bottom:9px;font-size:13px;display:block}footer.f .cols a:hover{color:#fff}footer.f .legal{margin-top:22px;font-size:12px;line-height:1.85}@media (prefers-reduced-motion:reduce){*{animation:none!important}.m-line{opacity:1;filter:none;transform:none}.reveal{opacity:1;transform:none}}
