@charset "UTF-8";
:root{--ink:#332a3a;--muted:#786f79;--paper:#fbf6ef;--peach:#f5c6a7;--lilac:#cdb8e4;--mint:#bddecf;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #9171ca;outline-offset:5px}.experience{height:100svh;min-height:680px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 73% 48%,#fff9e9 0,#f9eee9 29%,transparent 57%),radial-gradient(circle at 9% 85%,#fae6e1 0,transparent 30%),#fbf6ef;--room-accent:#ec9d93}.paper-texture{position:absolute;inset:0;z-index:0;opacity:.29;pointer-events:none;background-image:radial-gradient(#9a7d86 0.45px,transparent .65px);background-size:12px 12px;mask-image:linear-gradient(90deg,black,transparent 75%)}
.topbar{position:absolute;z-index:20;left:0;right:0;top:0;height:86px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(75,51,71,.15);transition:color .6s,border-color .6s}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.brand-icon{font-size:34px;line-height:1;color:#e98e91;font-weight:400;transition:transform .8s var(--ease)}.brand:hover .brand-icon{transform:rotate(75deg)}.brand-name small{font-size:11px;font-weight:500;margin-left:7px;letter-spacing:.12em}.topbar-note{font-size:10px;font-weight:700;letter-spacing:.17em;margin-left:30px}.topbar-note i{font-style:normal;margin:0 8px;color:#ceafb8}.header-action{color:inherit;border:1px solid currentColor;background:transparent;border-radius:100px;padding:11px 13px 11px 19px;font-size:11px;letter-spacing:.08em;font-weight:700;display:flex;align-items:center;gap:28px;transition:background .25s,color .25s}.header-action:hover{background:#392d40;color:#fff}.header-action-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#392d40;color:#fff;font-size:16px}.header-action:hover .header-action-icon{background:#fff;color:#392d40}
.entrance-copy{position:absolute;z-index:6;left:6.1vw;top:49%;transform:translateY(-49%);width:min(47vw,690px);transition:opacity .45s ease,transform 1s var(--ease),visibility .45s}.overline{font-size:11px;font-weight:700;letter-spacing:.24em;display:flex;align-items:center;gap:12px;margin:0 0 34px}.overline-line{width:38px;height:1px;background:#a98897}.entrance-copy h1{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(53px,5.1vw,94px);font-weight:400;letter-spacing:-.035em;line-height:1.26;margin:0;white-space:nowrap}.entrance-copy h1 em{font-style:normal;color:#d37688}.entrance-description{font-size:13px;line-height:2.2;letter-spacing:.09em;margin:28px 0 32px;color:#655b67}.enter-button{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:14px;padding:0;text-align:left;font-size:14px;font-weight:700;letter-spacing:.08em}.enter-disc{width:56px;height:56px;border-radius:50%;background:#3d3044;color:#fff;display:grid;place-items:center;font-size:23px;transition:transform .4s var(--ease),background .3s}.enter-button:hover .enter-disc{transform:rotate(45deg) scale(1.08);background:#d77788}.enter-button small{display:block;color:#9c8c9d;font-size:9px;letter-spacing:.2em;margin-top:6px}
.portal-wrap{--follow-x:0px;--follow-y:0px;position:absolute;z-index:5;right:6.5vw;top:49%;width:min(49vw,660px);aspect-ratio:1;transform:translate(var(--follow-x),calc(-50% + var(--follow-y)));transition:transform .22s ease-out,opacity .7s,filter .7s;filter:drop-shadow(0 36px 38px rgba(127,73,94,.15))}.portal-halo{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,#fffbdc 0 26%,#ffe8de 51%,#e9d7ec 67%,transparent 69%);filter:blur(17px);opacity:.84}.portal-halo:after{content:"";position:absolute;inset:-4%;border:1px solid rgba(171,116,154,.25);border-radius:50%}.petal-wheel{position:absolute;inset:0;animation:flower-turn 36s linear infinite}.petal{position:absolute;left:36%;top:1%;width:28%;height:50%;transform-origin:50% 98%;transform:rotate(calc(var(--i)*36deg));border-radius:64% 64% 46% 46%/90% 90% 18% 18%;background:linear-gradient(105deg,rgba(255,255,255,.78),rgba(254,206,171,.95) 37%,rgba(224,131,153,.89) 79%,rgba(172,103,151,.5));box-shadow:inset 10px 0 16px rgba(255,255,255,.45),inset -10px 0 14px rgba(184,74,129,.22),0 10px 20px rgba(143,92,131,.12);border:1px solid rgba(255,255,255,.63);transition:transform 1.25s var(--ease),opacity .8s}.petal:nth-child(even){background:linear-gradient(105deg,rgba(255,255,255,.8),rgba(237,197,233,.92) 34%,rgba(170,144,208,.74) 84%,rgba(124,131,197,.44));height:46%;top:5%;width:25%;left:37.5%}.petal:nth-child(3n){background:linear-gradient(105deg,rgba(255,255,255,.85),rgba(255,224,179,.97) 30%,rgba(248,159,144,.9) 80%,rgba(187,110,157,.45))}.portal-core{position:absolute;left:31%;top:31%;width:38%;height:38%;border-radius:50%;border:8px solid rgba(255,247,234,.96);padding:0;overflow:hidden;background:#f5d5ce;box-shadow:0 0 0 1px rgba(181,116,136,.26),0 23px 58px rgba(93,53,91,.22),inset 0 0 35px rgba(73,36,66,.28);display:block;color:#fff;transition:transform .6s var(--ease),box-shadow .4s}.portal-core:hover{transform:scale(1.06);box-shadow:0 0 0 1px rgba(181,116,136,.26),0 30px 70px rgba(93,53,91,.27)}.portal-core img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.12)}.portal-sheen{position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 30%,rgba(39,26,44,.43) 100%)}.portal-cross{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);font-size:43px;text-shadow:0 2px 12px rgba(36,22,44,.45);font-weight:400}.portal-cta{position:absolute;left:0;right:0;bottom:20%;font-size:10px;letter-spacing:.25em;font-weight:800;text-shadow:0 1px 8px rgba(36,22,44,.7)}.portal-cta span{margin-left:6px}.portal-orbit{position:absolute;border:1px solid rgba(147,106,142,.27);border-radius:50%;pointer-events:none}.orbit-one{inset:-6%;transform:rotate(-25deg) scaleY(.45)}.orbit-two{inset:-12%;transform:rotate(29deg) scaleY(.5)}.portal-tag{position:absolute;right:5%;bottom:-7%;font-size:9px;font-weight:700;letter-spacing:.2em;color:#b38ba4}.portal-tag span{font-size:16px;margin-left:8px}
.petal-field{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.float-petal{position:absolute;width:12px;height:19px;border-radius:80% 0 80% 0;background:var(--float-color);opacity:.47;left:var(--left);top:var(--top);transform:rotate(var(--turn));animation:float-drift var(--duration) ease-in-out infinite alternate;filter:blur(var(--blur))}.side-number{position:absolute;z-index:10;right:3vw;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;font-weight:700;color:#b28c9f}.side-number span{font-family:Georgia,serif;font-size:15px;margin-bottom:10px}
.room-reveal{position:absolute;inset:0;z-index:2;background:#8d7583;clip-path:circle(0% at 69% 50%);transition:clip-path 1.45s cubic-bezier(.33,.03,.13,1)}.room-reveal img{width:100%;height:100%;object-fit:cover;object-position:center 54%;transition:opacity .35s,transform 1.4s var(--ease),filter .35s;transform:scale(1.04)}.room-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,18,31,.83) 0%,rgba(34,23,39,.58) 32%,rgba(30,22,40,.08) 70%),linear-gradient(0deg,rgba(25,18,32,.55),transparent 33%)}.room-copy{position:absolute;z-index:9;left:6.1vw;top:50%;transform:translateY(-42%) translateX(-35px);max-width:485px;color:#fff;opacity:0;visibility:hidden;transition:opacity .7s .5s,transform .9s .45s var(--ease),visibility .7s .5s}.room-overline{font-size:11px;font-weight:800;letter-spacing:.24em;margin:0 0 28px;display:flex;align-items:center;gap:14px}.room-overline i{display:block;width:35px;height:1px;background:#fff;opacity:.75}.room-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(58px,6vw,105px);font-weight:400;letter-spacing:.07em;line-height:1.1;margin:0}.room-english{font-family:Georgia,serif;font-size:26px;font-style:italic;margin:10px 0 30px;color:#f6d3c3}.room-description{font-size:14px;line-height:2.15;letter-spacing:.1em;margin:0 0 30px}.room-next{border:0;border-bottom:1px solid rgba(255,255,255,.85);background:none;color:#fff;padding:0 0 10px;display:flex;gap:25px;font-size:12px;font-weight:700;letter-spacing:.1em}.room-next span{font-size:20px;line-height:.6;transition:transform .3s}.room-next:hover span{transform:translate(3px,-3px)}
.bottom-rail{position:absolute;z-index:15;left:5.5vw;right:5.5vw;bottom:32px;min-height:76px;display:flex;align-items:center;gap:28px;color:var(--ink);transition:color .7s}.rail-label,.rail-hint{font-size:9px;font-weight:800;letter-spacing:.18em;white-space:nowrap}.rail-label span,.rail-hint span{font-size:14px;margin-left:7px;color:#d1808e}.rail-hint{margin-left:auto;color:#9c8996}.room-tabs{display:flex;gap:9px}.room-tab{width:172px;height:60px;border:1px solid rgba(104,77,103,.25);border-radius:4px;background:rgba(255,255,255,.48);color:inherit;display:flex;align-items:center;padding:0 15px;gap:11px;text-align:left;transition:background .3s,transform .3s,border-color .3s,box-shadow .3s}.room-tab:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(80,49,76,.09)}.room-tab[aria-current="true"]{background:#3b3042;border-color:#3b3042;color:#fff}.tab-number{font-family:Georgia,serif;font-size:15px;color:#dc8d98}.tab-name{font-size:12px;letter-spacing:.07em;font-weight:700;white-space:nowrap}.tab-flower{font-size:20px;line-height:1;margin-left:auto;color:#ddb0b5}.progress-lines{position:absolute;left:0;right:0;bottom:0;height:3px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.progress-lines i{background:rgba(147,103,135,.15);transition:background .4s}.progress-lines i.is-current{background:#dc8897}
.experience.is-open .room-reveal{clip-path:circle(150% at 69% 50%)}.experience.is-open .room-reveal img{transform:scale(1)}.experience.is-open .entrance-copy{opacity:0;visibility:hidden;transform:translateY(-49%) translateX(-35px);pointer-events:none}.experience.is-open .portal-wrap{opacity:0;filter:blur(20px);pointer-events:none;transform:translate(var(--follow-x),-50%) scale(1.55)}.experience.is-open .petal-field{opacity:0}.experience.is-open .room-copy{opacity:1;visibility:visible;transform:translateY(-42%) translateX(0)}.experience.is-open .topbar{color:#fff;border-color:rgba(255,255,255,.4)}.experience.is-open .topbar-note i{color:#fff}.experience.is-open .brand-icon{color:#f6c1aa}.experience.is-open .header-action:hover{background:#fff;color:#332a3a}.experience.is-open .header-action-icon{background:#fff;color:#332a3a}.experience.is-open .bottom-rail{color:#fff}.experience.is-open .rail-hint{color:#ddd2df}.experience.is-open .room-tab{border-color:rgba(255,255,255,.45);background:rgba(34,25,40,.4);backdrop-filter:blur(12px)}.experience.is-open .room-tab[aria-current="true"]{background:#f7eee9;border-color:#f7eee9;color:#3b3042}.experience.is-open .side-number{color:#fff}.experience.is-open .progress-lines i{background:rgba(255,255,255,.3)}.experience.is-open .progress-lines i.is-current{background:#fff}.experience.is-changing .room-reveal img{opacity:.35;filter:blur(18px);transform:scale(1.08)}.experience.is-changing .room-copy{opacity:0;transform:translateY(-42%) translateX(-15px);transition-delay:0s}.experience.is-changing .room-tab[aria-current="true"]{box-shadow:0 0 0 2px rgba(255,255,255,.7)}
@keyframes flower-turn{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float-drift{from{transform:translate3d(0,0,0) rotate(var(--turn))}to{transform:translate3d(18px,-23px,0) rotate(calc(var(--turn) + 25deg))}}
@media(max-width:1200px){.entrance-copy{left:5vw;width:48vw}.entrance-copy h1{font-size:clamp(49px,5.1vw,70px)}.portal-wrap{right:2vw;width:54vw}.bottom-rail{left:4vw;right:4vw;gap:15px}.room-tab{width:145px;padding:0 10px}.rail-hint{display:none}}
@media(max-width:800px){.experience{min-height:680px}.topbar{height:72px;padding:0 24px}.topbar-note{display:none}.entrance-copy{left:30px;top:33%;transform:translateY(-35%);width:75vw}.entrance-copy h1{font-size:clamp(45px,7.5vw,64px)}.portal-wrap{width:min(74vw,520px);right:3vw;top:61%}.entrance-description{max-width:400px}.bottom-rail{left:24px;right:24px;bottom:22px;flex-wrap:wrap}.rail-label{width:100%}.room-tab{width:clamp(110px,23vw,160px)}.room-copy{left:32px}.experience.is-open .entrance-copy{transform:translateY(-35%) translateX(-35px)}}
@media(max-width:600px){.experience{height:100svh;min-height:640px;background:radial-gradient(circle at 64% 50%,#fff7e5,#fbeee7 55%,#f9f4ee 100%)}.topbar{height:65px;padding:0 19px}.brand{font-size:14px}.brand-icon{font-size:29px}.brand-name small{font-size:10px}.header-action{padding:6px 7px 6px 12px;gap:9px;font-size:9px}.header-action-icon{width:26px;height:26px}.entrance-copy{left:24px;right:16px;top:123px;transform:none;width:auto}.overline{font-size:8px;letter-spacing:.17em;margin-bottom:14px}.overline-line{width:23px}.entrance-copy h1{font-size:clamp(35px,10vw,48px);line-height:1.33}.entrance-description{font-size:10px;line-height:1.8;margin:15px 0 16px;letter-spacing:.02em}.enter-button{font-size:11px;gap:9px}.enter-disc{width:39px;height:39px;font-size:18px}.enter-button small{font-size:7px;margin-top:3px}.portal-wrap{width:min(84vw,380px);right:8vw;top:60%;filter:drop-shadow(0 18px 25px rgba(127,73,94,.14))}.portal-core{border-width:5px}.portal-cross{font-size:26px}.portal-cta{font-size:7px;bottom:17%}.portal-tag{display:none}.side-number{display:none}.bottom-rail{left:16px;right:16px;bottom:16px;display:block}.rail-label{display:block;font-size:8px;margin-bottom:8px}.room-tabs{gap:5px}.room-tab{width:calc((100vw - 42px)/3);height:46px;padding:0 5px;gap:5px}.tab-number{font-size:11px}.tab-name{font-size:9px}.tab-flower{font-size:13px}.room-reveal img{object-position:center}.room-vignette{background:linear-gradient(180deg,rgba(26,18,31,.48),rgba(34,23,39,.08) 30%,rgba(26,18,31,.28) 55%,rgba(26,18,31,.86) 100%)}.room-copy{left:24px;right:20px;top:auto;bottom:119px;transform:translateY(12px);max-width:none}.room-overline{font-size:9px;margin-bottom:11px}.room-copy h2{font-size:48px}.room-english{font-size:20px;margin:3px 0 13px}.room-description{font-size:11px;margin:0 0 13px;line-height:1.8}.room-next{font-size:10px;padding-bottom:7px}.experience.is-open .room-copy{transform:translateY(0)}.experience.is-changing .room-copy{transform:translateY(12px)}.experience.is-open .entrance-copy{transform:translateX(-25px)}.experience.is-open .room-tab{backdrop-filter:blur(6px)}.experience.is-open .bottom-rail .rail-label{color:#fff}}
@media(max-width:390px) and (max-height:740px){.entrance-copy{top:100px}.entrance-copy h1{font-size:35px}.entrance-description{margin:10px 0}.portal-wrap{top:61%;width:72vw;right:14vw}.room-copy{bottom:105px}.room-copy h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
