*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--serif: "Noto Serif JP", georgia, serif;--sans: "Pretendard", "Noto Sans JP", -apple-system, system-ui, sans-serif;--c: #a9d8d1;--ink: #2f3733;--ink-soft: #515d56;--gold: #9b7627;--gold-deep: #795d20;--gold-soft: #c9a96b;--pad: clamp(1.6rem, 7vw, 5.5rem);--col: 40rem;--zc: 0px;--text-hint: .74rem;--text-cue: .76rem;--text-mark: .78rem;--text-aclabel: .8rem;--text-blabel: .84rem;--text-why: 1rem;--space-aclabel-gap: .2rem;--space-hint-gap: .7rem;--space-role-gap: .8rem;--space-cue-gap: .9rem;--space-cbody-top: .95rem;--space-caption-top: 1.1rem;--space-chead-top: 1.3rem;--space-flourish-top: 1.6rem;--space-crest-gap: 1.7rem;--space-calib-pad: 2.4rem;--space-why-hover: 13px;--space-core-pad-x: 38px;--space-ring-pad: 1.6px}@property --ga{syntax: "<angle>"; inherits: false; initial-value: 0deg;}html{text-size-adjust:100%}body{font-family:var(--sans);font-weight:400;color:var(--ink);line-height:1.6;background:#a9b0a0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.stage{position:fixed;inset:0;overflow:hidden;background:#a9b0a0;z-index:0;transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;transform-origin:0 0;will-change:transform}.gatewrap{position:absolute;top:0;left:0;overflow:hidden;will-change:left,top,width,height}.gate{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;background:var(--c)}.gatebg{position:absolute;inset:0;z-index:0;background-color:var(--c);background-repeat:repeat-y;background-size:100% auto;background-position:0 0;filter:saturate(1.06)}.frost{position:absolute;inset:0;z-index:1;pointer-events:none;background:#dbf0ed7f}.ginner{position:relative;z-index:2;margin:0 auto}.stagetint{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:multiply;background:#fff}.hint{position:absolute;left:50%;bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px));transform:translate(-50%);font-family:var(--sans);font-weight:500;font-size:var(--text-hint);letter-spacing:.24em;text-transform:uppercase;color:#3c4a44;display:flex;align-items:center;gap:var(--space-hint-gap);white-space:nowrap;text-shadow:0 1px 6px rgb(255 255 255 / 50%);z-index:5}.hint:before,.hint:after{content:"";width:26px;height:1px;background:currentcolor;opacity:.5}.hero,.act,.transition,.close,.foot{position:relative;z-index:1;max-width:var(--col);margin:0;padding-left:var(--pad);padding-right:var(--pad)}.hero{max-width:none;min-height:calc(100vh + var(--zc));padding:var(--zc) 7vw 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.mark{font-family:var(--sans);font-weight:500;font-size:var(--text-mark);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:clamp(1.6rem,5vh,3.2rem)}.title{font-family:var(--sans);color:var(--ink);width:100%;line-height:.98;letter-spacing:-.035em;font-size:clamp(2.7rem,15.5vw,11.5rem)}.title .big{display:block;font-weight:900}.title .sub{display:block;font-weight:700;font-size:.46em;line-height:1.05;margin-top:.5em;letter-spacing:-.02em;color:var(--gold)}.statement{margin-top:clamp(2.6rem,7vh,5rem);font-family:var(--sans);font-weight:600;font-size:clamp(1.05rem,4vw,2rem);line-height:1.45;max-width:34ch;color:var(--ink-soft);text-align:center;align-self:center}.scrollcue{margin-top:clamp(2rem,7vh,4.4rem);align-self:center;display:flex;align-items:center;gap:var(--space-cue-gap);font-family:var(--sans);font-weight:500;font-size:var(--text-cue);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.cueline{width:clamp(2.4rem,8vw,4.5rem);height:1px;background:var(--gold-deep);transform-origin:left center;animation:cuebreath 3.4s cubic-bezier(.45,0,.55,1) infinite}@keyframes cuebreath{0%,to{transform:scaleX(.55);opacity:.5}50%{transform:scaleX(1);opacity:1}}.act{padding-top:clamp(4.5rem,15vh,10rem);padding-bottom:clamp(4.5rem,15vh,10rem)}.aclabel{font-family:var(--sans);font-weight:600;font-size:var(--text-aclabel);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:var(--space-aclabel-gap)}.role{display:block;font-family:var(--sans);font-weight:500;font-size:var(--text-cue);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--space-role-gap)}.role.g{color:var(--gold-deep)}.small{margin-bottom:clamp(1.6rem,6vh,3.4rem)}.sline{font-family:var(--serif);font-weight:300;font-size:clamp(1.1rem,.95rem + .7vw,1.5rem);line-height:1.4;color:var(--ink-soft);max-width:34ch;display:block}.fig{font-family:var(--serif);font-weight:300;letter-spacing:-.012em;line-height:1;color:var(--ink);display:block}.fig-m{font-size:clamp(3.4rem,1rem + 15vw,8.5rem)}.fig-m .tail{display:block;font-family:var(--sans);font-weight:400;font-size:clamp(1rem,.9rem + .7vw,1.4rem);line-height:1.45;margin-top:clamp(1rem,3vh,1.8rem);color:var(--ink-soft);letter-spacing:0}.fig-power{font-size:clamp(2rem,.8rem + 7vw,4.4rem);line-height:1.05;max-width:14ch}.fig-data{font-size:clamp(1.7rem,.9rem + 5.4vw,3.4rem);line-height:1.12;max-width:18ch}.fig-child{font-size:clamp(1.7rem,.9rem + 5vw,3.2rem);line-height:1.12;max-width:18ch}.plate{margin:0}.plate img{width:100%;display:block;border-radius:14px;border:1px solid rgb(200 166 79 / 38%);box-shadow:0 30px 60px -28px #1e3a368c,0 2px #f6f1e67f}.plate figcaption{margin-top:var(--space-caption-top);font-family:var(--serif);font-weight:300;font-size:clamp(1rem,.92rem + .5vw,1.25rem);line-height:1.55;color:var(--ink-soft);max-width:34ch}.plate figcaption em{font-style:italic;color:var(--gold-deep)}.transition{padding-top:clamp(5rem,18vh,11rem);padding-bottom:clamp(5rem,18vh,11rem)}.tline{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,1rem + 3.4vw,3.1rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);max-width:18ch}.close{padding-top:clamp(4rem,12vh,8rem);padding-bottom:clamp(8rem,20vh,12rem);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.why{font-family:var(--sans);font-size:var(--text-why);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--gold);padding-bottom:3px;transition:gap .3s ease,border-color .3s ease,color .3s ease}.why:hover{gap:var(--space-why-hover);border-color:var(--gold-deep);color:var(--gold-deep)}.why svg{flex:0 0 auto;color:var(--gold-deep)}.foot{padding-top:clamp(2.5rem,8vh,4rem);padding-bottom:calc(env(safe-area-inset-bottom) + clamp(7rem,16vh,9rem));display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--sans);font-size:var(--text-mark);color:var(--ink-soft)}.foot .fmark{font-weight:600;color:var(--ink);letter-spacing:.04em}.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.atmos{position:absolute;inset:0;overflow:hidden;pointer-events:none}.irid{position:absolute;left:50%;top:50%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;border-radius:50%;background:conic-gradient(from 0deg,#bfe3d829,#cdd6ef21,#e6cfe01f,#f2e7d42e,#dce9e424,#bfe3d829);mix-blend-mode:soft-light;animation:spin 70s linear infinite;will-change:transform}@keyframes spin{to{transform:rotate(1turn)}}.aur{position:absolute;width:90vmax;height:90vmax;border-radius:50%;filter:blur(70px);will-change:transform}.aur1{left:-22vmax;top:-32vmax;opacity:.5;background:radial-gradient(closest-side,#faf7eeb3,#faf7ee00 70%);animation:drift1 26s cubic-bezier(.45,0,.55,1) infinite alternate}.aur2{right:-26vmax;bottom:-32vmax;opacity:.45;background:radial-gradient(closest-side,#c9a96b61,#c9a96b00 70%);animation:drift2 34s cubic-bezier(.45,0,.55,1) infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(13vmax,9vmax) scale(1.18)}}@keyframes drift2{0%{transform:translate(0) scale(1.12)}to{transform:translate(-11vmax,-7vmax) scale(.94)}}#dust{position:fixed;inset:0;z-index:34;pointer-events:none;opacity:1;transition:opacity 1.2s cubic-bezier(.32,.72,0,1)}#dust.off{opacity:0}.lightpass{position:absolute;top:-25%;left:0;width:30vmax;height:150%;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,rgb(255 255 250 / 55%),transparent);filter:blur(16px);transform:translate(-60vmax) rotate(13deg);will-change:transform,opacity}.lightpass.go{animation:lpass 1.7s cubic-bezier(.45,0,.55,1) forwards}@keyframes lpass{0%{opacity:0;transform:translate(-50vmax) rotate(13deg)}22%{opacity:1}to{opacity:0;transform:translate(160vmax) rotate(13deg)}}@keyframes pop{to{opacity:1;transform:scale(1)}}@keyframes rise{to{opacity:1;transform:none}}.calib{position:fixed;inset:0;z-index:32;overflow:hidden;background:linear-gradient(180deg,#aeb5a5,#a9b0a0 52%,#a2a999);opacity:1;transition:opacity .8s cubic-bezier(.22,1,.36,1)}.calib.gone{opacity:0;pointer-events:none}.swatches{position:absolute;left:clamp(18px,4.5vw,44px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:clamp(14px,2.4vh,22px);perspective:900px}.swatch{position:relative;overflow:hidden;width:clamp(50px,7vw,62px);height:clamp(64px,9vw,80px);padding:0;cursor:pointer;border-radius:2px;box-shadow:0 1px 2px #465a4124,0 10px 26px #465a4133;opacity:0;transform:translateY(16px) rotateY(26deg);transform-origin:left center;transition:border-color .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1)}.calib .swatch{border:1px solid #c9a96b}.swatch:after{content:"";position:absolute;top:-160%;left:-70%;width:60%;height:340%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 90%),transparent);transform:rotate(24deg) translate(-140%);opacity:0}.swatch:hover{border-color:#a18350;box-shadow:0 2px 4px #465a412e,0 18px 38px #465a4147}.swatch:hover:after{opacity:1;animation:sheen .9s cubic-bezier(.22,1,.36,1)}@keyframes sheen{0%{transform:rotate(24deg) translate(-140%)}to{transform:rotate(24deg) translate(440%)}}.calib.on .swatch{animation:rise .8s cubic-bezier(.22,1,.36,1) forwards}.calib.on .swatch:nth-child(1){animation-delay:.15s}.calib.on .swatch:nth-child(2){animation-delay:.22s}.calib.on .swatch:nth-child(3){animation-delay:.29s}.calib.on .swatch:nth-child(4){animation-delay:.36s}.calib.on .swatch:nth-child(5){animation-delay:.43s}.calibtext{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:calc(clamp(18px,4.5vw,44px) + clamp(50px,7vw,62px) + var(--space-calib-pad));padding-right:var(--space-calib-pad);pointer-events:none}.ckick{font-family:var(--sans);font-weight:500;font-size:var(--text-hint);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#876c3e;opacity:0;transform:translateY(14px)}.chead{font-family:var(--sans);font-weight:500;font-size:clamp(1.5rem,3.4vw,2.2rem);letter-spacing:-.01em;line-height:1.2;color:#3e463c;margin-top:var(--space-chead-top);opacity:0;transform:translateY(14px)}.cbody{font-family:var(--sans);font-weight:400;font-size:clamp(.95rem,1.8vw,1.08rem);line-height:1.75;color:#5a6354;max-width:36ch;margin-top:var(--space-cbody-top);opacity:0;transform:translateY(14px)}.calib.on .ckick{animation:rise .8s cubic-bezier(.22,1,.36,1) .05s forwards}.calib.on .chead{animation:rise .8s cubic-bezier(.22,1,.36,1) .14s forwards}.calib.on .cbody{animation:rise .8s cubic-bezier(.22,1,.36,1) .23s forwards}.calibwave{position:absolute;width:12px;height:12px;border-radius:50%;transform:scale(0);pointer-events:none}.veil{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#a9b0a0;opacity:1;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}.veil.gone{opacity:0;transform:scale(1.05);pointer-events:none}.veilglow{position:absolute;left:50%;top:50%;width:120vmax;height:120vmax;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(closest-side,#faf7ee7f,#faf7ee00 68%)}.veiltext{position:relative;text-align:center;max-width:92vw;padding:0 1rem;transition:transform 1s cubic-bezier(.22,1,.36,1)}.veil.btn .veiltext{transform:translateY(-4vh)}.veilcrest{display:block;width:52px;height:auto;margin:0 auto var(--space-crest-gap);color:#8a6c3a;opacity:0;transform:scale(.6);will-change:transform}.veiltext.in .veilcrest{animation:pop .7s cubic-bezier(.34,1.56,.64,1) .05s forwards}.veilline{font-family:var(--sans);font-weight:500;font-size:clamp(1.15rem,4vw,2.1rem);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;line-height:1.3;color:#84683a}.veilline span{display:inline-block;white-space:pre;opacity:0;transform:translateY(14px)}.veiltext.in .veilline span{animation:rise .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--d, 0s)}.veilflourish{display:block;width:min(220px,56vw);height:auto;margin:var(--space-flourish-top) auto 0;overflow:visible}.veilflourish .fl{stroke-dasharray:1;stroke-dashoffset:1}.veiltext.in .fl{animation:drawring 1.2s cubic-bezier(.45,0,.2,1) .9s forwards}.veilflourish .fd{opacity:0;transform:scale(0);transform-origin:center;transform-box:fill-box}.veiltext.in .fd{animation:pop .5s cubic-bezier(.34,1.56,.64,1) 1.7s forwards}@keyframes drawring{to{stroke-dashoffset:0}}@keyframes goldflow{to{--ga: 360deg}}.pbtn{position:fixed;z-index:31;left:50%;bottom:max(26px,calc(env(safe-area-inset-bottom) + 24px));transform:translate(-50%) translateY(30px) scale(.88);border-style:none;background:none;padding:0;cursor:pointer;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.34,1.45,.6,1)}.pbtn.in{opacity:1;pointer-events:auto;transform:translate(-50%)}.pbtn.away{opacity:0;pointer-events:none;transform:translate(-50%) translateY(30px) scale(.88)}.pbtn .aura{position:absolute;inset:-30px -34px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#c9a96b99,#c9a96b00 72%);filter:blur(12px);opacity:0;transform:scale(.9)}.pbtn.in .aura{animation:aurabreath 3.6s cubic-bezier(.45,0,.55,1) .5s infinite}@keyframes aurabreath{0%,to{opacity:.35;transform:scale(.94)}50%{opacity:.75;transform:scale(1.06)}}.pbtn .core{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:16px var(--space-core-pad-x);border-radius:999px;background:linear-gradient(165deg,#fffffcd1,#f7f3e9ad);backdrop-filter:blur(22px);box-shadow:0 20px 54px #374b3242,inset 0 1px #ffffffb3;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1)}.pbtn:hover .core{transform:translateY(-3px);box-shadow:0 28px 64px #374b3252,inset 0 1px #ffffffb3}.pbtn:active .core{transform:translateY(-1px) scale(.985)}.pbtn .ring{position:absolute;inset:0;border-radius:999px;padding:var(--space-ring-pad);pointer-events:none;background:conic-gradient(from var(--ga),#8a6a2f,#d9b96a 14%,#fff3cf 26%,#caa45a 40%,#8a6a2f 52%,#e7cd87 70%,#b08e46 84%,#8a6a2f);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:goldflow 4.5s linear infinite}.pbtn:hover .ring{animation-duration:1.6s}.pbtn .melt{position:absolute;top:-60%;left:-30%;width:55%;height:220%;pointer-events:none;background:linear-gradient(100deg,transparent,rgb(255 243 207 / 55%),transparent);filter:blur(6px);transform:rotate(18deg) translate(-160%);will-change:transform}.pbtn.in .melt{animation:meltpass 3.8s cubic-bezier(.45,0,.55,1) 1.1s infinite}@keyframes meltpass{0%{transform:rotate(18deg) translate(-160%)}38%,to{transform:rotate(18deg) translate(440%)}}.pbtn .blabel{position:relative;font-family:var(--sans);font-weight:600;font-size:var(--text-blabel);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;background:linear-gradient(100deg,#6d531f,#9b7b39 34%,#f0dda4,#9b7b39 66%,#6d531f);background-size:230% 100%;background-clip:text;-webkit-text-fill-color:transparent;animation:labelsheen 4.5s cubic-bezier(.45,0,.55,1) infinite}@keyframes labelsheen{0%{background-position:115% 50%}55%,to{background-position:-115% 50%}}@media(prefers-reduced-motion:reduce){.cueline{animation:none}.reveal{opacity:1;transform:none;transition:none}.calib,.swatch,.veil,.veiltext,.pbtn,.stage{transition:none}.irid,.aur,.lightpass{animation:none;display:none}.swatch,.ckick,.chead,.cbody,.veilcrest,.veilline span,.veilflourish .fd{opacity:1;transform:none}.veilflourish .fl{stroke-dashoffset:0}.pbtn{transform:translate(-50%)}.pbtn .ring,.pbtn .melt,.pbtn .aura,.pbtn .blabel,.calib.on .swatch,.calib.on .ckick,.calib.on .chead,.calib.on .cbody,.veiltext.in .veilcrest,.veiltext.in .veilline span,.veiltext.in .fl,.veiltext.in .fd,.pbtn.in .melt,.pbtn.in .aura{animation:none}}
