:root{--ink:#0d0805;--ink-2:#1a100a;--ink-3:#241509;--paper:#f3e3c2;--paper-dim:#cdb48c;--gold:#f0a32a;--gold-2:#ffcf6b;--ember:#ff6a2b;--crimson:#c2342a;--shrine:#b3402a;--moss:#7b8f5f;--font-display:var(--f-display), serif;--font-serif:var(--f-serif), "Hiragino Mincho ProN", serif;--font-ui:var(--f-ui), "Hiragino Kaku Gothic ProN", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-swing:cubic-bezier(.68, -.4, .27, 1.35)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--ink);color:var(--paper);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:clip}::selection{background:var(--gold);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}.grain{z-index:200;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(4,end) infinite grain-shift;position:fixed;inset:-100%}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-2%)}75%{transform:translate(-1%,-1%)}to{transform:translate(2%,2%)}}.cursor-ember{pointer-events:none;z-index:150;mix-blend-mode:screen;background:radial-gradient(circle,#ffa03c1a 0%,#ff6a2b0d 35%,#0000 70%);border-radius:50%;width:340px;height:340px;margin:-170px 0 0 -170px;transition:opacity .4s;position:fixed;top:0;left:0}@media (pointer:coarse){.cursor-ember{display:none}}.wrap{width:min(1160px,100% - 48px);margin-inline:auto}.kicker{font-family:var(--font-ui);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;font-size:12px;display:inline-flex}.kicker:before,.kicker.k-both:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));width:34px;height:1px}.kicker.k-both:after{background:linear-gradient(90deg, var(--gold), transparent)}.h-serif{font-family:var(--font-serif);color:var(--paper);letter-spacing:.02em;font-weight:700}.tategaki{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-serif);letter-spacing:.5em;color:#f3e3c257;-webkit-user-select:none;user-select:none;font-size:13px}.kanji-mark{font-family:var(--font-serif);color:#0000;-webkit-text-stroke:1px #f0a32a21;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(200px,34vw,460px);font-weight:800;line-height:1;position:absolute}.seigaiha{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cg fill='none' stroke='%23f0a32a' stroke-opacity='0.16'%3E%3Ccircle cx='40' cy='40' r='38'/%3E%3Ccircle cx='40' cy='40' r='30'/%3E%3Ccircle cx='40' cy='40' r='22'/%3E%3Ccircle cx='40' cy='40' r='14'/%3E%3Ccircle cx='0' cy='40' r='38' /%3E%3Ccircle cx='0' cy='40' r='30'/%3E%3Ccircle cx='0' cy='40' r='22'/%3E%3Ccircle cx='80' cy='40' r='38'/%3E%3Ccircle cx='80' cy='40' r='30'/%3E%3Ccircle cx='80' cy='40' r='22'/%3E%3C/g%3E%3C/svg%3E");background-size:80px 40px}.btn{font-family:var(--font-ui);letter-spacing:.3em;text-transform:uppercase;transition:transform .35s var(--ease-out), box-shadow .35s;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);justify-content:center;align-items:center;gap:10px;padding:17px 38px;font-size:13px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-gold{background:linear-gradient(135deg, var(--gold-2), var(--gold) 55%, #d97e14);color:var(--ink)}.btn-gold:after{content:"";transition:transform .7s var(--ease-out);background:linear-gradient(115deg,#0000 30%,#ffffff8c 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn-gold:hover:after{transform:translate(120%)}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 0 42px #f0a32a66}.btn-ghost{color:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d080559;border:1px solid #f3e3c259}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2);box-shadow:inset 0 0 24px #f0a32a1f}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.marquee{background:linear-gradient(#f0a32a12,#f0a32a05);border-block:1px solid #f0a32a47;padding:18px 0;display:flex;overflow:hidden}.marquee-track{white-space:nowrap;flex-shrink:0;align-items:center;gap:56px;padding-right:56px;animation:26s linear infinite marquee-roll;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{font-family:var(--font-serif);letter-spacing:.34em;text-transform:uppercase;color:var(--paper-dim);font-size:15px}.marquee-track em{color:var(--gold);font-style:normal}@keyframes marquee-roll{to{transform:translate(-100%)}}[data-reveal]{opacity:0;transform:translateY(34px)}html.no-motion [data-reveal]{opacity:1;transform:none}.char{transform-origin:50% 100%;display:inline-block}.field{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#0d080599;border:1px solid #f3e3c238;align-items:center;transition:border-color .3s,box-shadow .3s;display:flex;position:relative}.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 32px #f0a32a2e}.field .prefix{color:var(--gold);font-family:var(--font-serif);padding:0 0 0 18px;font-size:18px}.field input{color:var(--paper);font-family:var(--font-ui);letter-spacing:.04em;background:0 0;border:none;outline:none;flex:1;padding:18px;font-size:16px}.field input::placeholder{color:#cdb48c66}.field-err{letter-spacing:.06em;color:#ff8d6b;min-height:18px;margin-top:10px;font-size:12.5px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold), var(--shrine));border:2px solid var(--ink);border-radius:5px}@media (prefers-reduced-motion:reduce){.grain,.marquee-track{animation:none!important}*{transition-duration:.01ms!important}}
