:root{--paper:#F7F5F0;--paper-2:#EFEBE2;--ink:#0C0C0E;--ink-60:rgba(12,12,14,.6);--ink-40:rgba(12,12,14,.4);--line:rgba(12,12,14,.14);--rose:#FFA8CF;--violet:#C9B8FF;--cyan:#8FE3FF;--mint:#A9F0D1;--gold:#FFDF9E;--pad-x:clamp(20px,6vw,96px);--f-en:"Space Grotesk",sans-serif;--f-serif:"Cormorant Garamond",serif;--f-min:"Shippori Mincho",serif;--f-jp:"Zen Kaku Gothic New",sans-serif;--ease:cubic-bezier(.22,1,.36,1)}@media(min-width:1024px){:root{--pad-x:clamp(80px,9vw,180px) }}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body{font-family:var(--f-jp);background:var(--paper);color:var(--ink);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{color:inherit}img,svg{display:block;max-width:100%}li{list-style:none}::selection{background:var(--violet);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.sp-br{display:none}@media(max-width:880px){.sp-br{display:inline}}.grain{position:fixed;inset:-40px;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.7'/></svg>")}header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px var(--pad-x);transition:background .4s,backdrop-filter .4s,color .4s;color:#f4f2ec}header.is-solid{background:#f7f5f0d1;color:var(--ink);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}.brand{display:flex;align-items:center}.brand img{width:auto;height:clamp(22px,2vw,28px);transition:filter .4s}header .brand img{filter:invert(1)}header.is-solid .brand img{filter:none}.nav-links{display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:999px;background:#12121666;border:1px solid rgba(244,242,236,.2);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);transition:background .4s,border-color .4s}header.is-solid .nav-links{background:#ffffff8c;border-color:#fffc}.nav-links a{font:500 10.5px/1 var(--f-en);letter-spacing:.22em;padding:9px 15px;border-radius:999px;white-space:nowrap;transition:background .3s,color .3s,box-shadow .3s}.nav-links a:hover{background:currentColor}.nav-links a:hover{background:#f4f2ec;color:var(--ink)}header.is-solid .nav-links a:hover{background:var(--ink);color:var(--paper)}.nav-links a.is-active{box-shadow:inset 0 0 0 1px currentColor;opacity:.85}.nav-cta{display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1 var(--f-en);letter-spacing:.22em;padding:13px 22px;border-radius:999px;background:#fff;border:1px solid #fff;color:var(--ink);white-space:nowrap;box-shadow:0 14px 34px -22px #18143c80;transition:background .4s,color .4s,border-color .4s}@media(hover:hover){.nav-cta:hover{color:#fff;background:transparent;border-color:transparent;box-shadow:none}.nav-cta:hover:before{opacity:1;background-position:100% 0}}@media(hover:none){.nav-cta:active{color:#fff;background:transparent;border-color:transparent;box-shadow:none}.nav-cta:active:before{opacity:1;transition-duration:.15s,.6s}}.nav-cta i{width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--cyan))}.nav-cta.is-active{opacity:.5;pointer-events:none}@media(max-width:1023px){header{flex-wrap:wrap;gap:10px;padding:calc(14px + env(safe-area-inset-top)) var(--pad-x) 12px}header .brand img{height:20px}.nav-links{order:3;width:100%;justify-content:flex-start;border-radius:14px;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links a{padding:8px 12px;font-size:9.5px;letter-spacing:.16em}.nav-cta{padding:11px 18px;font-size:10px}}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;border-radius:999px;background:#fff;border:1px solid #fff;color:var(--ink);font:600 11px/1 var(--f-en);letter-spacing:.24em;box-shadow:0 14px 34px -22px #18143c80;position:relative;z-index:0;isolation:isolate;overflow:hidden;transition:color .4s,border-color .4s,background .4s,box-shadow .4s;will-change:transform}.btn:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(100deg,var(--rose),var(--gold),var(--mint),var(--cyan),var(--violet));background-size:240% 100%;background-position:0 0;opacity:0;transform:scale(.9);transition:opacity .4s var(--ease),transform .55s var(--ease),background-position 1.4s var(--ease)}.btn.is-lit{color:#fff;border-color:transparent;background:transparent;box-shadow:none}.btn.is-lit:before{opacity:1;transform:scale(1);background-position:100% 0}.btn-solid{background:#fff;border-color:#fff;color:var(--ink)}.btn .arw{transition:transform .4s var(--ease)}.btn.is-lit .arw{transform:translate(5px)}@media(hover:hover){.btn:hover{color:#fff;border-color:transparent;background:transparent;box-shadow:none}.btn:hover:before{opacity:1;transform:scale(1);background-position:100% 0}.btn:hover .arw{transform:translate(5px)}}@media(hover:none){.btn:active{color:#fff;border-color:transparent;background:transparent;box-shadow:none}.btn:active:before{opacity:1;transform:scale(1);background-position:100% 0;transition-duration:.15s,.2s,.6s}}.nav-cta{position:relative;z-index:0;isolation:isolate;overflow:hidden}.nav-cta:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(100deg,var(--rose),var(--gold),var(--mint),var(--cyan),var(--violet));background-size:240% 100%;opacity:0;transition:opacity .4s var(--ease),background-position 1.4s var(--ease)}@media(hover:hover){.nav-cta:hover{color:#fff;background:transparent;border-color:transparent}.nav-cta:hover:before{opacity:1;background-position:100% 0}}@media(hover:none){.nav-cta:active{color:#fff;background:transparent;border-color:transparent}.nav-cta:active:before{opacity:1;transition-duration:.15s,.6s}}.circle-btn{display:inline-flex;align-items:center;gap:clamp(14px,1.6vw,22px)}.circle-btn b{font:600 max(13px,.95rem)/1 var(--f-jp);letter-spacing:.04em}.circle-btn i{position:relative;z-index:0;isolation:isolate;overflow:hidden;flex:none;width:clamp(46px,3.8vw,56px);height:clamp(46px,3.8vw,56px);border-radius:50%;background:#fff;border:1px solid #fff;color:var(--ink);display:grid;place-items:center;font:400 17px/1 var(--f-en);box-shadow:0 12px 28px -20px #18143c80;transition:transform .5s var(--ease),color .4s,background .4s,border-color .4s,box-shadow .4s}.circle-btn i:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,var(--rose),var(--gold),var(--mint),var(--cyan),var(--violet));background-size:240% 100%;opacity:0;transform:scale(.7);transition:opacity .4s var(--ease),transform .5s var(--ease),background-position 1.4s var(--ease)}.circle-btn.on-dark i{background:#fff;border-color:#fff;color:var(--ink)}.circle-btn.to-right{justify-content:flex-end;width:100%}@media(hover:hover){.circle-btn:hover i,.obox:hover .circle-btn i,.rel:hover .circle-btn i{transform:scale(1.1);color:#fff;background:transparent;border-color:transparent;box-shadow:none}.circle-btn:hover i:before,.obox:hover .circle-btn i:before,.rel:hover .circle-btn i:before{opacity:1;transform:scale(1);background-position:100% 0}}@media(hover:none){.circle-btn:active i{transform:scale(1.08);color:#fff;background:transparent;border-color:transparent;box-shadow:none}.circle-btn:active i:before{opacity:1;transform:scale(1);transition-duration:.15s,.2s,.6s}}.foot-cta{position:relative;z-index:1;color:#f4f2ec;overflow:hidden;padding:clamp(70px,11vh,130px) var(--pad-x);background:radial-gradient(78% 120% at 12% 0%,rgba(201,184,255,.22),transparent 62%),radial-gradient(70% 110% at 88% 100%,rgba(143,227,255,.17),transparent 62%),radial-gradient(60% 90% at 55% 50%,rgba(255,169,207,.08),transparent 70%),#17171d}.foot-cta:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--rose),var(--gold),var(--mint),var(--cyan),var(--violet));opacity:.55}.foot-cta-inner{max-width:800px;margin:0 auto;text-align:center}.foot-cta-en{font:600 10px/1 var(--f-en);letter-spacing:.42em;color:#f4f2ec80}.foot-cta-title{margin-top:clamp(16px,2.6vh,26px);font:500 clamp(1.5rem,3.4vw,2.5rem)/1.55 var(--f-min);letter-spacing:.05em}.foot-cta-lead{margin-top:clamp(16px,2.4vh,24px);font-size:max(.92rem,15px);line-height:2.1;color:#f4f2ec9e}.foot-cta .circle-btn{margin-top:clamp(28px,4vh,44px)}.foot-cta-note{margin-top:22px;font:400 9.5px/1.9 var(--f-en);letter-spacing:.22em;color:#f4f2ec66}footer{position:relative;z-index:1;padding:clamp(64px,9vh,104px) var(--pad-x) 34px;background:var(--paper)}.foot-word{font:600 clamp(3.2rem,13.5vw,11.5rem)/1 var(--f-en);letter-spacing:-.02em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(12,12,14,.75);text-align:center;transition:color 1s var(--ease)}.foot-word:hover{-webkit-text-stroke:1px transparent;background:linear-gradient(92deg,var(--rose),var(--gold),var(--mint),var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.foot-word+.foot-grid{margin-top:clamp(46px,7.5vh,84px)}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(26px,4vw,60px)}.foot-brand img{height:clamp(24px,2.2vw,30px);width:auto;filter:none}.foot-loc{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px clamp(18px,2.4vw,32px)}.foot-loc li{display:flex;align-items:baseline;gap:9px;font-size:max(.8rem,13px);color:var(--ink-60)}.foot-loc b{font:600 9.5px/1 var(--f-en);letter-spacing:.18em;color:var(--ink-40);white-space:nowrap}.foot-brand p{margin-top:18px;font-size:max(.85rem,14px);line-height:2;color:var(--ink-60);max-width:26em}.foot-col b{display:block;font:600 9.5px/1 var(--f-en);letter-spacing:.3em;color:var(--ink-40);margin-bottom:18px}.foot-col a{display:block;padding:7px 0;font-size:max(.88rem,14px);color:var(--ink-60);transition:color .3s,transform .3s var(--ease)}.foot-col a:hover{color:var(--ink);transform:translate(4px)}.foot-bottom{margin-top:clamp(44px,6.5vh,70px);padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font:400 9.5px/1.8 var(--f-en);letter-spacing:.22em;color:var(--ink-40)}.foot-legal{display:flex;gap:22px}.foot-legal a:hover{color:var(--ink)}@media(max-width:1023px){.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}.burger{display:none;width:44px;height:44px;position:relative;z-index:1600;background:none;border:none;cursor:pointer}.burger b{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease),background .4s}.burger b:nth-child(1){top:17px}.burger b:nth-child(2){top:26px}body.menu-open .burger b:nth-child(1){top:21px;transform:rotate(45deg)}body.menu-open .burger b:nth-child(2){top:21px;transform:rotate(-45deg)}body.menu-open .burger b{background:var(--ink)}.menu{position:fixed;inset:0;z-index:950;display:flex;align-items:center;overscroll-behavior:contain;background:#f7f5f0d1;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}body.menu-open .menu{opacity:1;visibility:visible}body.menu-open header{z-index:1000;color:var(--ink)}body.menu-open header .brand img{filter:none}body.no-scroll{overflow:hidden}.menu-inner{width:100%;padding:0 var(--pad-x)}.menu-cols{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,6vw,90px);align-items:start}.menu-list{list-style:none}.menu-list a{display:flex;align-items:baseline;gap:18px;padding:10px 0;overflow:hidden}.menu-num{font:italic 300 14px/1 var(--f-serif);color:var(--ink-40);min-width:34px}.menu-jp{font:500 clamp(1.5rem,3.4vw,2.4rem)/1.3 var(--f-min);letter-spacing:.06em;display:inline-block;transform:translateY(120%);transition:transform .7s var(--ease)}body.menu-open .menu-jp{transform:translateY(0)}.menu-list .line{display:block;overflow:hidden;padding:0 .1em;margin:0 -.1em}.menu-en{font:400 10px/1 var(--f-en);letter-spacing:.3em;color:var(--ink-40)}.menu-list a:hover .menu-jp{background:linear-gradient(90deg,var(--rose),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.menu-sub{padding-top:clamp(8px,1.6vh,16px)}.menu-sub b{display:block;font:600 9.5px/1 var(--f-en);letter-spacing:.3em;color:var(--ink-40);padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}.menu-sub a{display:block;padding:12px 0;font:500 clamp(1rem,1.7vw,1.25rem)/1.4 var(--f-min);letter-spacing:.06em;transition:transform .35s var(--ease)}.menu-sub a:hover{transform:translate(5px)}.menu-sub a span{display:block;margin-top:7px;font:400 9px/1 var(--f-en);letter-spacing:.26em;color:var(--ink-40)}.menu-banner{display:none}@media(max-width:1023px){.menu-banner{display:block;width:100%;margin:6px 0 4px;border-radius:12px;overflow:hidden;box-shadow:0 14px 32px -28px #18143c80}.menu-banner img{width:100%;height:auto;display:block}}.menu-foot{margin-top:clamp(30px,5vh,52px);display:flex;gap:24px;flex-wrap:wrap;font:400 10px/1 var(--f-en);letter-spacing:.25em;color:var(--ink-40)}.menu-foot a:hover{color:var(--ink)}@media(max-width:1023px){.nav-links{display:none}.burger{display:block}.menu{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-inner{padding:calc(88px + env(safe-area-inset-top)) var(--pad-x) calc(48px + env(safe-area-inset-bottom))}.menu-cols{grid-template-columns:1fr;gap:26px}.menu-list{display:flex;flex-direction:column}.menu-list a{padding:8px 0;gap:12px}.menu-jp{font-size:clamp(1.2rem,5.4vw,1.7rem)}.menu-num{min-width:26px;font-size:12px}.menu-en{display:none}.menu-sub a{font-size:1.05rem;padding:10px 0}}
