:root{--ink:#161618;--paper:#fff;--verm:#e4572e;--dark:#1c1c1e;--pale:#f0ede6;--mid:#787672;--gray:#b0aeaa;--s:1;--vh:100vh;--len:3.5}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Noto Sans JP",system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}.latin{font-family:"Avenir Next","Avenir","Helvetica Neue",system-ui,sans-serif}.title{background:var(--dark);color:var(--pale);padding:20vh 24px 12vh;text-align:center}.logo{margin:0;font-weight:500;font-size:clamp(34px,10.7vw,58px);line-height:1;letter-spacing:1px}.i{position:relative;display:inline-block}.cover,.tittle{position:absolute;left:50%;top:var(--tit-top,.085em);width:var(--tit-d,.2em);height:var(--tit-d,.2em);transform:translateX(-50%);border-radius:50%}.cover{background:var(--dark)}.tittle{background:var(--verm)}.tagline{margin:36px 0 0;font-size:20px;opacity:.72;letter-spacing:.03em}.menu{display:grid;gap:16px;max-width:320px;margin:96px auto 0}.menu a{display:block;height:54px;line-height:52px;border:1px solid rgba(240,237,230,.38);border-radius:27px;text-decoration:none;font-size:21px}.chapter{max-width:540px;margin:0 auto;padding:48px 0 8px}.chapter canvas,#dot{display:none}.beats{list-style:none;margin:0;padding:0}.beat{margin:0 0 44px}.beat img{display:block;width:100%;height:auto}.beat p{margin:10px 24px 0;color:var(--mid);font-size:16px;line-height:1.7;text-align:center}.card{display:block;position:relative;width:min(432px,calc(100% - 48px));height:132px;margin:8px auto 40px;border:2px solid var(--ink);border-radius:24px;background:#fff;text-decoration:none}.card-name{position:absolute;left:30px;top:22px;font-size:34px;font-weight:500;line-height:1.2}.card-sub{position:absolute;left:30px;top:80px;font-size:15px;color:#605e5a}.card-btn{position:absolute;right:20px;top:42px;width:74px;height:44px;line-height:40px;border:2px solid var(--ink);border-radius:22px;text-align:center;font-size:17px}#card-ritu{height:auto;padding:30px 24px 28px;border:0;background:#333e4c;color:#f0eae0;text-align:center}#card-ritu .ritu-logo{display:block;width:auto;height:58px;margin:0 auto}#card-ritu .ritu-rule{display:block;width:28px;height:1.5px;margin:16px auto 0;background:rgba(201,164,92,.85)}#card-ritu .card-sub{position:static;display:block;margin:11px 0 0;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:20px;line-height:30px;letter-spacing:.14em;text-indent:.14em;color:#f0eae0}#card-ritu .ritu-desc{display:block;margin:10px 0 0;font-size:15px;line-height:1.7;color:rgba(240,234,224,.82);white-space:pre-line}#card-ritu .card-btn{position:static;display:block;width:96px;height:44px;margin:16px auto 0;line-height:41px;border:1.5px solid rgba(240,234,224,.72);border-radius:22px;font-size:16px;color:#f0eae0}.opening{display:none}.still{display:block;width:100%;height:auto;margin:0 0 28px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.prof{margin:0 24px 56px;text-align:center}.prof-l{margin:4px 0 0;font-size:17px;line-height:1.9}.prof-p2{margin-top:18px}.prof-me{margin-top:26px}.card.mk .card-name{top:24px;font-size:25px;font-weight:600}.card.mk .card-sub{top:86px;font-size:14px}.card.mk{overflow:hidden}.card.mk::before{content:"";position:absolute;inset:0;background:var(--pic,none) center/cover no-repeat;opacity:.5}.card.mk .card-btn{background:#fff}.card.mk .card-name{font-size:clamp(18px,5vw,25px)}.letter{margin:8px 24px 0;padding:0 0 120px;text-align:center}.letter h2{margin:0;font-size:28px;font-weight:600}.letter-sub{margin:8px 0 22px;font-size:16px;color:var(--mid)}.letter form{display:flex;gap:12px;max-width:420px;margin:0 auto}.letter input{flex:1;min-width:0;height:54px;padding:0 18px;border:2px solid var(--ink);border-radius:12px;background:#fff;font:inherit;font-size:17px;color:var(--ink)}.letter input::placeholder{color:var(--gray)}.letter form button{width:96px;height:54px;padding:0;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:17px;font-weight:600;cursor:pointer}.letter-note{margin:18px 0 0;font-size:14px;color:var(--mid)}#contact-form{display:grid;gap:10px}#contact-form input{width:100%;height:50px}#contact-form textarea{width:100%;height:110px;padding:12px 18px;border:2px solid var(--ink);border-radius:12px;background:#fff;font:inherit;font-size:17px;line-height:1.5;color:var(--ink);resize:none}#contact-form textarea::placeholder{color:var(--gray)}#contact-form button{width:100%;height:52px;margin-top:2px}#contact-note{min-height:20px;margin:10px 0 0}.letter-nl{margin:22px 0 0}.letter-sig{margin:48px 0 0;font-size:15px;color:var(--mid)}.letter-top{display:inline-block;margin:56px 0 0;font-size:16px;color:var(--mid)}.menu-btn,.sheet,.list{display:none}.app-start{display:none}#card-sattva .card-name{font-size:clamp(19px,5.8vw,29px);top:26px;white-space:nowrap}.js .title{height:var(--vh);padding:0;position:relative;overflow:hidden}.js .title .frame,.js.motion .pin .frame{position:absolute;left:50%;top:50%;width:540px;height:960px;transform:translate(-50%,calc(-50% - var(--kb,0px))) scale(var(--s));transform-origin:center}.js.motion .pin .frame.kb{transition:transform .22s}.js .title .logo{position:absolute;left:0;right:0;top:376px;font-size:58px}.js .title .tagline{position:absolute;left:0;right:0;top:456px;margin:0;font-size:20px;line-height:1.4}.js .title .menu{position:absolute;left:110px;top:600px;width:320px;height:264px;display:block;margin:0}.js .title .menu a{position:absolute;left:0;width:320px}.js .title .menu a:nth-child(1){top:0}.js .title .menu a:nth-child(2){top:70px}.js .title .menu a:nth-child(3){top:140px}.js .title .menu a:nth-child(4){top:210px}.js .menu-btn{display:flex;align-items:center;justify-content:center;position:fixed;right:max(12px,calc((100vw - 540px)/2 + 12px));top:calc(12px + env(safe-area-inset-top));z-index:30;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:rgba(28,28,30,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s;cursor:pointer;-webkit-tap-highlight-color:transparent}.menu-btn svg{width:24px;height:24px;fill:none;stroke:#f0ede6;stroke-width:2;stroke-linecap:round}.js .menu-btn.show{opacity:1;pointer-events:auto}.js .sheet{display:block;position:fixed;inset:0;z-index:40;background:rgba(255,255,255,.97);overflow:auto}.js .sheet[hidden]{display:none}.sheet-in{max-width:420px;margin:0 auto;padding:72px 24px 48px}.sheet-close{position:sticky;top:16px;z-index:2;display:block;margin:-56px calc(max(16px,(100vw - 540px)/2 + 16px) - (100vw - min(420px,100vw))/2 - 24px) 12px auto;height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:22px;background:#fff;font-size:16px;cursor:pointer}.sheet-nav a{display:block;padding:18px 4px;border-bottom:1px solid #e4e2dd;text-decoration:none;font-size:22px}.sheet-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}.chip{height:42px;padding:0 16px;border:1.5px solid var(--ink);border-radius:21px;background:#fff;font-size:15px;cursor:pointer}.chip.on{background:var(--ink);color:#fff}.sheet-note{flex-basis:100%;margin:10px 0 0;font-size:14px;color:var(--mid)}.js .list{display:block;position:fixed;inset:0;z-index:45;background:var(--dark);color:var(--pale);overflow:auto;animation:list-in .22s ease-out}.js .list[hidden]{display:none}@keyframes list-in{from{opacity:0}to{opacity:1}}.list-in{max-width:420px;margin:0 auto;padding:96px 24px 56px}.list-close{position:absolute;right:max(16px,calc((100vw - 540px)/2 + 16px));top:16px;height:44px;padding:0 18px;border:1px solid rgba(240,237,230,.45);border-radius:22px;background:none;color:var(--pale);font-size:16px;cursor:pointer}.list h2{margin:0 0 28px;font-size:34px;font-weight:500;line-height:1.2;letter-spacing:.5px}.list-row{display:grid;grid-template-columns:72px 1fr 20px;gap:18px;align-items:center;padding:20px 0;border-top:1px solid rgba(240,237,230,.16);text-decoration:none}.list-row:last-child{border-bottom:1px solid rgba(240,237,230,.16)}.list-row img{display:block;width:72px;height:72px;border-radius:17px;box-shadow:0 0 0 1px rgba(240,237,230,.14)}.list-name{display:block;font-size:23px;line-height:1.3}.list-sub{display:block;margin-top:5px;font-size:14px;line-height:1.5;opacity:.7}.list-arrow{font-size:20px;opacity:.6}.js.motion .chapter{max-width:none;padding:0;height:calc(var(--vh)*(1 + var(--len)))}.js.motion .pin{position:sticky;top:0;height:var(--vh);overflow:hidden}.js.motion .chapter canvas{display:block;position:absolute;left:0;top:0;width:540px;height:960px}.js.motion #dot{display:block;position:fixed;left:0;top:0;z-index:20;pointer-events:none}.js.motion.dotjs .tittle{visibility:hidden}.js.motion .beat{position:absolute;left:0;right:0;top:54px;margin:0;opacity:0}.js.motion .beat img{display:none}.js.motion .beat p{margin:0 40px}.js.motion #travel .beat{top:932px}.js.motion .card{position:absolute;left:54px;top:712px;width:432px;margin:0;opacity:0}.js.motion .card-sub{top:78px;font-size:17px}.js.motion .card-btn{right:28px}.js.motion #card-ritu{left:8px;top:676px;width:524px;height:278px;padding:0;border-radius:0;background:none}.js.motion #card-ritu.flat{border-radius:26px;background:#333e4c}.js.motion #card-ritu>*{position:absolute;margin:0;opacity:0}.js.motion #card-ritu .ritu-logo{left:168px;top:24px;width:188px;height:58px}.js.motion #card-ritu .ritu-rule{left:248px;top:98px}.js.motion #card-ritu .card-sub{left:0;right:0;top:109px;font-size:21px;line-height:30px}.js.motion #card-ritu .ritu-desc{left:30px;right:30px;top:149px;font-size:17px;line-height:27px}.js.motion #card-ritu .card-btn{left:214px;right:auto;top:216px}.js.motion .opening{display:block;position:absolute;left:0;top:0;z-index:5;width:540px;height:960px;object-fit:cover;opacity:0;transition:opacity .5s;cursor:pointer}.opening-light{display:none;position:absolute;left:0;top:0;z-index:6;width:540px;height:960px;cursor:pointer;transition:opacity .35s}.js.motion .title{transition:background-color .2s}.js.motion .title.playing .logo,.js.motion .title.playing .tagline,.js.motion .title.playing .menu a{opacity:0;pointer-events:none}.js.motion .title.intro .logo,.js.motion .title.intro .tagline,.js.motion .title.intro .menu a{opacity:0}.js.motion .title.intro .logo{transform:translateY(6px)}.js.motion .title.intro .menu a{transform:translateY(8px);pointer-events:none}.js.motion .title.intro.intro-go .logo{opacity:1;transform:none;transition:opacity .8s .35s,transform .8s .35s}.js.motion .title.intro.intro-go .tagline{opacity:.72;transition:opacity .6s 1.2s}.js.motion .title.intro.intro-go .menu a{opacity:1;transform:none;pointer-events:auto;transition:opacity .4s,transform .4s}.js.motion .title.intro.intro-go .menu a:nth-child(1){transition-delay:1.9s}.js.motion .title.intro.intro-go .menu a:nth-child(2){transition-delay:2.12s}.js.motion .title.intro.intro-go .menu a:nth-child(3){transition-delay:2.34s}.js.motion .title.intro.intro-go .menu a:nth-child(4){transition-delay:2.56s}.js.motion .still{display:none}.js.motion .part{position:absolute;inset:0;visibility:hidden}.js.motion .part.live{visibility:visible}.js.motion .part:not(.live) *{visibility:hidden!important}.js.motion #heart .beat{top:316px}.js.motion #heart .beat p{font-size:20px;line-height:28px;color:var(--ink)}.js.motion #card-sattva{left:82px;top:9px;width:376px;height:44px;border:0;border-radius:0;background:none;visibility:hidden}.js.motion #card-sattva .card-name{left:2px;top:6px;font-size:24px;line-height:32px}.js.motion #card-sattva .card-sub{display:none}.js.motion #card-sattva .card-btn{right:0;top:2px;width:70px;height:40px;line-height:36px}.js.motion #card-sattva{left:20px;top:86px;width:500px;display:flex;align-items:center;justify-content:center;gap:16px}.js.motion #card-sattva .card-name{position:static;font-size:22px;line-height:32px}.js.motion #card-sattva .card-btn{position:static;flex:none;width:64px;height:38px;line-height:34px;font-size:16px}.js.motion .app-start{display:block;position:absolute;padding:0;border:0;border-radius:13px;background:transparent;cursor:pointer;visibility:hidden;-webkit-tap-highlight-color:transparent}.js.motion .prof{position:absolute;left:0;top:0;width:540px;height:0;margin:0;color:var(--pale)}.js.motion .prof>*{position:absolute;left:0;right:0;margin:0;text-align:center;opacity:0}.js.motion .prof-l{font-size:20px;line-height:32px;letter-spacing:.04em}.js.motion .prof-l:nth-child(1){top:154px}.js.motion .prof-l:nth-child(2){top:188px}.js.motion .prof-l:nth-child(3){top:242px}.js.motion .prof-l:nth-child(4){top:276px}.js.motion .prof-l:nth-child(5){top:778px}.js.motion .card.mk{top:0;height:130px}.js.motion #heart.mk-s .card.mk{height:112px}.js.motion #heart.mk-s .card.mk .card-name{top:14px}.js.motion #heart.mk-s .card.mk .card-sub{top:70px}.js.motion #heart.mk-s .card.mk .card-btn{top:34px}.js.motion #heart.mk-xs .card.mk{height:100px}.js.motion #heart.mk-xs .card.mk .card-name{top:11px;font-size:23px}.js.motion #heart.mk-xs .card.mk .card-sub{top:62px;font-size:13px}.js.motion #heart.mk-xs .card.mk .card-btn{top:28px;height:40px;line-height:36px}.js.motion .card.mk .card-name{left:32px;top:20px;font-size:25px}.js.motion .card.mk .card-sub{left:32px;top:84px;font-size:14px}.js.motion .card.mk .card-btn{top:43px}.js.motion .letter{position:absolute;left:0;top:0;width:540px;height:960px;margin:0;padding:0;visibility:hidden}.js.motion .letter>*{position:absolute;left:0;right:0;margin:0}.js.motion .letter h2{top:404px;font-size:32px;line-height:40px;font-weight:500}.js.motion .letter-sub{top:447px;margin:0;font-size:16px;line-height:24px}.js.motion #contact-form{left:60px;right:60px;top:486px;max-width:none}.js.motion #contact-note{top:786px;line-height:20px}.js.motion .letter-nl{top:812px}.js.motion .letter-sig{top:892px;font-size:14px;line-height:20px}.js.motion .letter-top{top:918px;line-height:26px}.js.motion.first .title .logo,.js.motion.first .title .tagline,.js.motion.first .title .menu a{opacity:0;pointer-events:none}.restoring body{opacity:0}html.lock,html.lock body{overflow:hidden}.js .sheet,.js .list{overscroll-behavior:contain}.skip,.cue{display:none}.js.motion .skip{display:block;position:fixed;right:max(16px,calc((100vw - 540px)/2 + 16px));bottom:calc(16px + env(safe-area-inset-bottom));z-index:31;height:44px;padding:0 22px;border:1.5px solid rgba(240,237,230,.55);border-radius:22px;background:rgba(28,28,30,.3);color:var(--pale);font-size:16px;letter-spacing:.08em;opacity:0;pointer-events:none;transition:opacity .3s;cursor:pointer;-webkit-tap-highlight-color:transparent}.js.motion .skip.show{opacity:.9;pointer-events:auto;transition:opacity .7s 1s}.js.motion .cue{display:block;position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));width:44px;height:30px;margin-left:-22px;z-index:29;pointer-events:none;opacity:0;transition:opacity .2s;mix-blend-mode:difference}.js.motion .cue.on{opacity:.6;transition:opacity .7s}.cue::before{content:"";position:absolute;left:50%;top:2px;width:11px;height:11px;margin-left:-6.5px;border-right:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(45deg);animation:cue-bob 1.8s ease-in-out infinite}@keyframes cue-bob{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(7px) rotate(45deg)}}@media (prefers-reduced-motion:reduce){.cue::before{animation:none}}.prof-l{font-family:"Zen Kurenaido","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;letter-spacing:.06em}.sheet-row[hidden]{display:none}html[lang=en] .card.mk .card-name{right:116px;font-size:clamp(15px,4.2vw,19px);line-height:1.25}html[lang=en] .card.mk .card-sub{right:22px;font-size:12px;line-height:1.4}html[lang=en].js.motion .card.mk .card-name{top:28px;font-size:17px;white-space:nowrap}html[lang=en].js.motion .card.mk .card-sub{top:89px;font-size:13px;line-height:17px}html[lang=en].js.motion .card.mk{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 118px 0 32px}html[lang=en].js.motion .card.mk .card-name,html[lang=en].js.motion .card.mk .card-sub{position:relative;left:auto;right:auto;top:auto}html[lang=en].js.motion .card.mk .card-name{font-family:"Avenir Next","Avenir","Helvetica Neue",sans-serif;font-size:20px;font-weight:600;line-height:1.22;white-space:normal;text-wrap:balance}html[lang=en].js.motion .card.mk .card-sub{font-size:13.5px;line-height:1.38;text-wrap:balance}html[lang=en].js.motion #heart.mk-s .card.mk .card-name,html[lang=en].js.motion #heart.mk-xs .card.mk .card-name{font-size:18px}html[lang=en].js.motion #heart.mk-s .card.mk .card-sub,html[lang=en].js.motion #heart.mk-xs .card.mk .card-sub{font-size:12px}html[lang=en] #card-ritu .card-sub{letter-spacing:.04em;text-indent:0}html[lang=en] [data-i18n=csub]{text-wrap:balance}
