:root{--sumi:#0b0b0c;--kami:#fafaf8;--kin:#c9a227;--hai:#6e6e76;--hai-dark:#55555c;--card:#f1f0ec;--disp-latin:"Playfair Display", "Zen Old Mincho", serif;--disp-jp:"Zen Old Mincho", serif;--disp-jp-weight:900;--jp:"Zen Kaku Gothic New", sans-serif;--mono:"IBM Plex Mono", "Zen Kaku Gothic New", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;background:var(--sumi)}body{background:var(--sumi);color:var(--kami);font-family:var(--jp);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.9}img{max-width:100%}a{color:inherit}.grain{z-index:40;pointer-events:none;opacity:.07;mix-blend-mode:overlay;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='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.chapter{padding:8vh 24px 7vh;position:relative;overflow:hidden}.ch-head{margin-bottom:4vh}.ch-title{font-family:var(--disp-latin);letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(40px,10.4vw,120px);font-weight:800;line-height:.95}.ch-sub{margin-top:18px;font-size:clamp(20px,5.2vw,30px);font-weight:900;line-height:1.55}.ch-lead{font-family:var(--mono);letter-spacing:.06em;color:var(--hai);max-width:34em;margin-top:12px;font-size:12px;line-height:2}.opening{flex-direction:column;justify-content:center;min-height:100svh;padding:0 26px;display:flex;position:relative;overflow:hidden}.opening>*{z-index:2;position:relative}.tile-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.op-tile{opacity:0;will-change:transform;background:#17493a;border-radius:20%;place-items:center;transition:transform 1s cubic-bezier(.22,.8,.24,1),opacity .8s,box-shadow .8s;display:grid;position:absolute;top:0;left:0;box-shadow:0 10px 30px #0b0b0c2e}.op-tile svg{width:60%;height:60%}.op-tile.gold{background:var(--kin)}.op-tile.shown{opacity:.95}.op-tile.floating{animation:2.8s ease-in-out infinite op-float}.op-tile.floating:nth-child(2n){animation-duration:3.4s;animation-delay:.5s}.op-tile.floating:nth-child(3n){animation-duration:3.1s;animation-delay:.9s}@keyframes op-float{0%,to{margin-top:0}50%{margin-top:-10px}}.op-tile.bg{opacity:.13;box-shadow:none;transition:opacity 1.1s .15s,box-shadow 1.1s}.opening.copying .op-tile{opacity:.14;box-shadow:none}.splash-copy{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.splash-copy p{font-family:var(--disp-jp);font-weight:var(--disp-jp-weight);letter-spacing:.06em;opacity:0;text-shadow:0 0 6px var(--kami), 0 0 12px var(--kami), 0 0 22px var(--kami), 0 0 34px var(--kami), 0 2px 46px var(--kami);font-size:clamp(24px,6.6vw,54px);transition:opacity .5s,transform .5s;position:absolute;transform:translateY(14px)}.splash-copy p.show{opacity:1;transform:none}.splash-copy p.out{opacity:0;transform:translateY(-12px)}.brand-slot{z-index:3;text-align:center;opacity:0;pointer-events:none;position:absolute;left:0;right:0}.brand-slot.show{opacity:1}.brand-slot .baseline{background:var(--kin);transform-origin:50%;height:2px;margin:0 auto 16px;display:block;transform:scaleX(0)}.brand-slot.show .baseline{animation:1.2s .3s forwards line-draw}.brand-slot .brand{font-family:var(--disp-jp);letter-spacing:.2em;filter:blur(14px);opacity:0;font-size:clamp(22px,6vw,34px);font-weight:900;display:inline-block}.brand-slot.show .brand{animation:1.4s cubic-bezier(.2,.6,.2,1) .1s forwards ink}@keyframes line-draw{to{transform:scaleX(1)}}@keyframes ink{60%{filter:blur(2.5px)}to{filter:blur();opacity:1;letter-spacing:.14em}}.opening.settled .brand-slot{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(-14px)}.hero-block{transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1)}.opening.settled .hero-block{opacity:1;transform:none}.opening-foot{font-family:var(--mono);letter-spacing:.16em;color:var(--hai);justify-content:space-between;align-items:flex-end;font-size:11px;transition:opacity .8s;display:flex;position:absolute;bottom:34px;left:26px;right:26px}.opening.settled .opening-foot{opacity:1}.scroll-hint{writing-mode:vertical-rl;letter-spacing:.4em}.hero-h{font-family:var(--disp-jp);font-weight:var(--disp-jp-weight);letter-spacing:.02em;font-size:clamp(22px,6vw,64px);line-height:1.8}.hero-h .nw{white-space:nowrap;display:inline-block}@media (width<=380px){.hero-h{letter-spacing:0}}.marker{z-index:0;white-space:nowrap;margin-right:.22em;position:relative}@font-face{font-family:Hitori Gothic;src:url(/fonts/hitori-gothic-kana.woff)format("woff");font-display:swap}.hand{z-index:0;white-space:nowrap;margin-right:.14em;font-family:Hitori Gothic,Zen Old Mincho,cursive;font-size:1.06em;font-weight:400;display:inline-block;position:relative}.hand:after{content:"";background:var(--kin);z-index:-1;transform-origin:0;border-radius:6px;position:absolute;inset:12% 0 3%;transform:scaleX(0)}.hand.in:after{animation:.7s cubic-bezier(.2,.7,.2,1) .25s forwards hand-draw}@keyframes hand-draw{to{transform:scaleX(1)}}.hand .tsume-l{margin-left:-.42em}.hand .tsume-r{margin-right:-.42em}.marker:after{content:"";background:var(--kin);z-index:-1;transform-origin:0;height:88%;position:absolute;bottom:2%;left:-2%;right:-2%;transform:scaleX(0)}.marker.in:after{animation:.7s cubic-bezier(.2,.7,.2,1) .25s forwards draw}@keyframes draw{to{transform:scaleX(1)}}.marker.in{color:var(--sumi);transition:color .3s .55s}.btn{background:var(--sumi);color:var(--kami);border:1.5px solid var(--sumi);border-radius:999px;padding:15px 26px;font-size:14.5px;font-weight:900;text-decoration:none;display:inline-block}.btn.gold{background:var(--kin);border-color:var(--kin);color:var(--sumi)}.rail-wrap{margin:0 -24px}.rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;padding:8px 24px 28px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.card{scroll-snap-align:center;background:var(--card);max-width:440px;color:var(--sumi);border-radius:18px;flex:0 0 100%;align-self:flex-start;padding:30px 24px 28px;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.rail.enter .card{opacity:1;transform:translateY(0)}.rail.enter .card:first-child{transition-delay:0s}.rail.enter .card:nth-child(2){transition-delay:.14s}.rail.enter .card:nth-child(3){transition-delay:.28s}.rail.enter .card:nth-child(n+4){transition-delay:.38s}.card-kana{font-family:var(--mono);letter-spacing:.16em;color:var(--hai-dark);margin-bottom:14px;font-size:10.5px}.card-title{margin-bottom:10px;font-size:19px;font-weight:900;line-height:1.55}.card-desc{color:#3a3a40;font-size:13.5px;line-height:1.9}.card-list{color:#3a3a40;margin-top:10px;font-size:12.5px;line-height:2;list-style:none}.card-list li{text-indent:-1.1em;padding-left:1.1em}.card-list li:before{content:"— ";color:var(--kin)}.price-line{font-family:var(--disp-latin);letter-spacing:.02em;margin:2px 0 4px;font-size:clamp(26px,7vw,38px);font-weight:800}.price-line small{letter-spacing:.06em;color:var(--hai-dark);font-size:.4em;font-family:var(--mono)}.limit{font-family:var(--mono);color:var(--hai-dark);letter-spacing:.06em;margin-bottom:8px;font-size:11px}.card-hook{color:#17493a;border-left:3px solid var(--kin);min-height:5.7em;margin:2px 0 10px;padding-left:10px;font-size:13px;font-weight:900;line-height:1.9}.dots{justify-content:center;gap:8px;margin-top:2px;display:flex}#pricing .card,#talk .card{align-self:stretch}@media (width>=720px){.dots{display:none}}.dots i{background:var(--hai);opacity:.35;border-radius:50%;width:6px;height:6px;transition:opacity .3s,transform .3s}.dots i.on{opacity:1;background:var(--kin);transform:scale(1.25)}.notes{font-family:var(--mono);letter-spacing:.04em;color:var(--hai);margin-top:2.5vh;font-size:11px;line-height:2.1;list-style:none}.boundary{color:var(--hai);margin-top:14px;font-size:12.5px}.demo-link{color:#17493a;border-bottom:2px solid var(--kin);margin-top:12px;font-size:13.5px;font-weight:900;text-decoration:none;display:inline-block}.demo-note{font-family:var(--mono);color:var(--hai-dark);letter-spacing:.04em;margin-top:10px;font-size:10.5px}.say-card .say{font-family:var(--disp-jp);letter-spacing:.02em;text-indent:-.5em;word-break:keep-all;overflow-wrap:anywhere;margin-bottom:16px;font-size:18.5px;font-weight:900;line-height:1.8}.say-card .ans{color:#3a3a40;word-break:keep-all;overflow-wrap:anywhere;border-top:1px solid #55555c38;padding-top:14px;font-size:13.5px;line-height:1.95;position:relative}.say-card .ans:before{content:"";background:var(--kin);width:34px;height:2px;position:absolute;top:-1px;left:0}.talk-close{font-family:var(--disp-jp);letter-spacing:.04em;margin-top:4vh;font-size:clamp(20px,5.6vw,34px);font-weight:900;line-height:1.8}.talk-close-sub{color:inherit;margin-top:10px;font-size:13.5px}.statement{font-family:var(--disp-jp);letter-spacing:.03em;margin-top:20px;font-size:clamp(25px,6.6vw,50px);font-weight:900;line-height:1.85}.statement .nw{white-space:nowrap;display:inline-block}.statement-sub{font-family:var(--disp-jp);letter-spacing:.05em;margin-top:3vh;font-size:clamp(19px,4.9vw,28px);font-weight:900}.steps{max-width:560px;margin-top:5vh}.step{align-items:flex-start;gap:18px;margin-bottom:3vh;display:flex}.step-num{background:var(--kin);height:34px;color:var(--sumi);font-family:var(--disp-latin);border-radius:50%;flex:0 0 34px;place-items:center;margin-top:4px;font-size:15px;display:grid}.step h3{margin-bottom:6px;font-size:clamp(17.5px,1.6vw,21px);font-weight:900}.step p{color:inherit;font-size:clamp(13.5px,1.25vw,15.5px);line-height:2}.y-kicker{font-family:var(--mono);letter-spacing:.2em;color:var(--hai);text-transform:uppercase;font-size:11px}.y-title{font-family:var(--disp-latin);margin-top:10px;font-size:clamp(48px,14vw,110px);font-weight:800;line-height:1.05}.y-title small{font-size:12px;font-family:var(--mono);letter-spacing:.12em;color:var(--hai);margin-top:6px;font-weight:400;display:block}.y-copy{font-family:var(--disp-jp);margin-top:4vh;font-size:clamp(18px,5vw,26px);font-weight:900;line-height:1.9}.y-desc{color:inherit;max-width:30em;margin-top:12px;font-size:13.5px;line-height:2}.y-stage{flex-wrap:wrap;align-items:center;gap:28px;margin-top:5vh;display:flex}.y-phone{width:min(230px,58vw);color:var(--sumi);background:#fff;border:7px solid #1a1a1c;border-radius:30px;flex:none;overflow:hidden;box-shadow:0 18px 50px #0b0b0c2e}.y-screen{font-family:var(--jp);padding:16px 14px 18px}.y-shead{border-bottom:2px solid var(--sumi);justify-content:space-between;align-items:baseline;padding-bottom:8px;display:flex}.y-shead b{font-size:13px;font-weight:900}.y-shead span{font-family:var(--mono);color:var(--hai-dark);font-size:9.5px}.y-rows{margin-top:10px;list-style:none}.y-rows li{justify-content:space-between;font-size:11.5px;line-height:2.1;animation:7s infinite both yrow;display:flex}.y-rows li:first-child{animation-delay:.2s}.y-rows li:nth-child(2){animation-delay:.9s}.y-rows li:nth-child(3){animation-delay:1.6s}.y-rows li:nth-child(4){animation-delay:2.3s}.y-rows li span{font-family:var(--mono)}.y-total{border-top:1px solid #55555c4d;justify-content:space-between;margin-top:10px;padding-top:8px;font-size:13px;font-weight:900;animation:7s 3.1s infinite both yrow;display:flex}.y-total span{font-family:var(--mono);background:var(--kin);border-radius:4px;padding:0 6px}@keyframes yrow{0%{opacity:0;transform:translateY(6px)}7%{opacity:1;transform:none}80%{opacity:1;transform:none}92%{opacity:0}to{opacity:0}}.y-side{flex:240px;min-width:240px}.y-price{font-family:var(--disp-latin);font-size:clamp(24px,6.4vw,34px);font-weight:800}.y-price small{font-size:.42em;font-family:var(--mono);letter-spacing:.06em;color:var(--hai)}.y-limit{font-family:var(--mono);color:var(--hai);letter-spacing:.06em;margin:4px 0 18px;font-size:11px}.y-note{font-family:var(--mono);color:var(--hai);letter-spacing:.04em;margin-top:12px;font-size:10.5px}@media (prefers-reduced-motion:reduce){.y-rows li,.y-total{opacity:1;transform:none}}.keep-line{max-width:30em;margin-top:3vh;font-size:clamp(16px,4.4vw,21px);font-weight:900;line-height:1.9}.keep-line-sub{color:var(--hai-dark);margin-top:6px;font-size:13px}.faq{max-width:600px}.faq details{border-top:1px solid #8a8a9059}.faq details:last-child{border-bottom:1px solid #8a8a9059}.faq summary{cursor:pointer;padding:20px 30px 20px 0;font-size:14.5px;font-weight:900;list-style:none;position:relative}.faq summary:before{content:"Q";font-family:var(--disp-latin);color:var(--kin);margin-right:12px}.faq summary:after{content:"+";font-family:var(--disp-latin);color:var(--hai);font-size:18px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.faq details[open] summary:after{content:"−"}.faq .a{color:#3a3a40;padding:0 0 22px;font-size:13.5px;line-height:2}.sub-head{margin:6vh 0 3vh;font-size:clamp(17px,4.6vw,22px);font-weight:900}.sub-head small{font-family:var(--mono);letter-spacing:.16em;color:var(--hai);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:400;display:block}.about-card{align-items:flex-start;gap:20px;max-width:600px;display:flex}.about-card .face{object-fit:cover;border:2px solid var(--kin);border-radius:50%;flex:0 0 96px;width:96px;height:96px}.about-card h3{font-size:19px;font-weight:900}.about-card .role{font-family:var(--mono);color:var(--hai);letter-spacing:.12em;margin:4px 0 12px;font-size:11px}.about-card p{font-size:13.5px;line-height:2}.contact-ch .ch-sub{max-width:22em}.contact-line-note{font-family:var(--mono);color:var(--hai);letter-spacing:.06em;margin-top:14px;font-size:11.5px}.contact-or{margin:3vh 0 18px;font-size:14px;font-weight:900}.mock-form{gap:8px;max-width:480px;display:grid}.mock-form label{font-family:var(--mono);letter-spacing:.12em;color:var(--hai-dark);font-size:12.5px}.mock-form input,.mock-form textarea{width:100%;color:inherit;font-family:var(--jp);background:0 0;border:1px solid #55555c73;border-radius:10px;margin-bottom:8px;padding:13px 14px;font-size:16px}.mock-form textarea::placeholder,.mock-form input::placeholder{color:var(--hai-dark)}.form-note{font-family:var(--mono);color:var(--hai);letter-spacing:.04em;font-size:10.5px}.mock-form .btn{justify-self:start;margin-top:14px}footer{font-family:var(--mono);letter-spacing:.1em;color:var(--hai);padding:5vh 24px 10vh;font-size:11px;line-height:2.4}footer .fb{font-family:var(--disp-latin);letter-spacing:.05em;color:var(--sumi);font-size:15px}.orb{z-index:50;filter:drop-shadow(0 6px 18px #00000059);width:104px;height:104px;text-decoration:none;transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1);display:block;position:fixed;bottom:18px;right:18px}.orb.show{opacity:1;transform:scale(1)}.orb svg{width:100%;height:100%}.orb .ring-text{transform-origin:50%;animation:28s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.orb:active{transform:scale(.92)}.rev{transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}.rev.in{opacity:1;transform:none}@media (width>=720px){#talk .rail{scroll-snap-type:none;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:80px;display:grid;overflow:visible}#talk .card{max-width:none}#talk .card:nth-child(2n){margin-top:52px}.chapter{padding-left:8vw;padding-right:8vw}.rail-wrap{margin:0 -8vw}.rail{gap:20px;padding-left:8vw;padding-right:8vw}.card{flex-basis:340px}.opening{padding:0 8vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.card,.rev,.orb,.opening-foot,.rail .card{opacity:1;transform:none}.marker:after{transform:scaleX(1)}.marker{color:var(--sumi)}.hand:after{transform:scaleX(1)}}:where(html.js) .rev{opacity:0;transform:translateY(30px)}:where(html.js) .rail .card{opacity:0;transform:translateY(44px)}:where(html.js) .hero-block{opacity:0;transform:translateY(26px)}:where(html.js) .opening-foot{opacity:0}:where(html.js) .orb{opacity:0;transform:scale(.6)}html.op-hold .hero-block,html.op-hold .opening-foot{opacity:0!important}html.op-hold,html.op-hold body{background:var(--kami)}html.op-hold .orb{opacity:0}.ai-menu{background:var(--sumi);min-width:264px;max-width:min(320px,100vw - 48px);color:var(--kami);border:1px solid #2a2a2e;border-radius:10px;padding:8px;box-shadow:0 14px 40px #0000004d}.ai-menu-head{font-family:var(--mono);letter-spacing:.1em;color:#9a9aa2;border-bottom:1px solid #26262a;margin-bottom:6px;padding:6px 10px 8px;font-size:10px}.ai-menu a,.ai-menu .ai-item{text-align:left;width:100%;color:var(--kami);cursor:pointer;font-family:var(--jp);letter-spacing:.02em;background:0 0;border:none;border-left:2px solid #0000;border-radius:6px;align-items:center;gap:12px;padding:10px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.ai-menu a:hover,.ai-menu a:focus-visible,.ai-menu .ai-item:hover,.ai-menu .ai-item:focus-visible{border-left-color:var(--kin);background:#141416;outline:none}.ai-tile{width:28px;height:28px;font-family:var(--mono);color:var(--kin);border:1px solid #3a3a40;border-radius:6px;flex:none;place-items:center;font-size:12px;display:grid}.ai-item.copied span:last-child{color:var(--kin)}.ai-fab{z-index:50;background:var(--sumi);color:var(--kami);border:1px solid var(--kin);cursor:pointer;font-family:var(--jp);letter-spacing:.03em;filter:drop-shadow(0 6px 18px #0000004d);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:12.5px;font-weight:900;transition:opacity .5s;display:none;position:fixed;bottom:136px;right:18px}.ai-fab .ai-mark{font-family:var(--disp-latin);color:var(--kin);font-size:13px;font-style:italic}:where(html.js) .ai-fab{opacity:0;pointer-events:none;display:inline-flex}.ai-fab.show{opacity:1;pointer-events:auto}.ai-fab.away{opacity:0;pointer-events:none}@media (width<=719px){.ai-fab{bottom:112px;right:14px}}.ai-fab-menu{opacity:0;display:none}:where(html.js) .ai-fab-menu{z-index:96;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s cubic-bezier(.2,.7,.2,1);display:block;position:fixed;bottom:190px;right:18px;transform:translateY(10px)}.ai-fab-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}@media (width<=719px){:where(html.js) .ai-fab-menu{bottom:164px;right:14px}}.skip-hint{text-align:center;font-family:var(--mono);letter-spacing:.2em;color:var(--hai);z-index:3;font-size:11px;transition:opacity .4s;display:none;position:absolute;bottom:84px;left:0;right:0}html.js .opening:not(.settled) .skip-hint{display:block}@media (width<=719px){.orb{width:84px;height:84px;bottom:14px;right:14px}}.dots .dot{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.dots .dot:before{content:"";background:var(--hai);opacity:.35;border-radius:50%;width:6px;height:6px;transition:opacity .3s,transform .3s}.dots .dot.on:before{opacity:1;background:var(--kin);transform:scale(1.25)}#contact-status{margin-top:10px;font-size:13.5px;font-weight:900}#contact-status[data-state=ok]{border-left:3px solid var(--kin);padding-left:10px}#contact-status[data-state=error]{color:#b3261e}.talk-close-sub,.keep-line-sub{max-width:34em}:focus-visible{outline:2px solid var(--kin);outline-offset:3px}
