@keyframes loaderAura{0%,100%{transform:translate3d(-8%,-4%,0) rotate(-6deg);opacity:.58}50%{transform:translate3d(9%,5%,0) rotate(7deg);opacity:.9}}
@keyframes loaderLogo{0%{clip-path:polygon(0 48%,100% 48%,100% 52%,0 52%);transform:scale(.72) rotate(-7deg);filter:blur(8px) saturate(1.7)}55%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:scale(1.04) rotate(1deg);filter:blur(0) saturate(1.2)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:scale(1);filter:none}}
@keyframes loaderOrbit{to{transform:rotate(360deg)}}
@keyframes loaderWord{0%{opacity:0;transform:translateY(22px) rotate(8deg);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes loaderFlare{0%{transform:translateX(-170%) rotate(17deg);opacity:0}20%{opacity:.85}65%,100%{transform:translateX(190%) rotate(17deg);opacity:0}}
@keyframes loaderPetal{0%{transform:translate3d(0,-18vh,0) rotate(0deg);opacity:0}12%{opacity:.72}82%{opacity:.48}100%{transform:translate3d(var(--drift),118vh,0) rotate(var(--turn));opacity:0}}
@keyframes soundBars{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}

body.is-loading{overflow:hidden}
.site-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:#11130f;color:#f8f1df;transition:opacity .58s ease,visibility .58s ease;isolation:isolate}
.site-loader[hidden]{display:none}.site-loader.loader-complete{opacity:0;visibility:hidden;pointer-events:none}
.site-loader:before{content:'';position:absolute;inset:18px;border:1px solid #f8f1df18;pointer-events:none}
.site-loader:after{content:'好きなものを集めよう';position:absolute;right:clamp(18px,4vw,64px);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:600 clamp(10px,1vw,13px)/1.2 sans-serif;letter-spacing:.28em;color:#f8f1df50}
.loader-aurora{position:absolute;inset:-35%;z-index:-2;background:radial-gradient(circle at 33% 48%,#ee69293d 0 9%,transparent 31%),radial-gradient(circle at 68% 45%,#b8ce3830 0 8%,transparent 29%),conic-gradient(from 180deg at 50% 50%,transparent,#6b3bf321,transparent 30%);filter:blur(42px);animation:loaderAura 4.5s ease-in-out infinite}
.loader-stage{width:min(86vw,520px);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.loader-kicker{display:flex;align-items:center;gap:12px;margin:0 0 26px;font:700 10px/1 sans-serif;letter-spacing:.28em;color:#f8f1df9c}.loader-kicker span{display:block;width:28px;height:1px;background:#ed6b31}
.loader-mark{position:relative;width:clamp(124px,30vw,168px);aspect-ratio:1;margin-bottom:26px}.loader-logo-reveal{position:absolute;inset:13%;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px #f8f1df30,0 0 55px #ed6b3130;background:#f8f1df}.loader-logo-reveal img{width:100%;height:100%;object-fit:cover;animation:loaderLogo 1.2s cubic-bezier(.16,.8,.22,1) both}
.loader-orbit{position:absolute;inset:0;border:1px solid #f8f1df22;border-radius:50%;animation:loaderOrbit 8s linear infinite}.loader-orbit:before,.loader-orbit:after{content:'';position:absolute;border-radius:50%}.loader-orbit:before{inset:8px;border:1px dashed #ed6b3154}.loader-orbit:after{width:8px;height:8px;left:7px;top:50%;background:#c9dd45;box-shadow:0 0 16px #c9dd45}.loader-orbit b{position:absolute;font-size:10px;color:#ed6b31}.loader-orbit b:nth-child(1){top:-5px;left:50%}.loader-orbit b:nth-child(2){right:8px;bottom:18px}.loader-orbit b:nth-child(3){left:8px;bottom:18px}.loader-flare{position:absolute;inset:14%;overflow:hidden;border-radius:50%}.loader-flare:after{content:'';position:absolute;inset:-35%;width:35%;background:linear-gradient(90deg,transparent,#fff9d9d9,transparent);animation:loaderFlare 1.6s .38s ease-out both}
.loader-wordmark{display:flex;justify-content:center;align-items:center;gap:clamp(3px,1.1vw,8px);font:800 clamp(18px,5vw,32px)/1 sans-serif;letter-spacing:.06em}.loader-wordmark span{display:block;opacity:0;animation:loaderWord .52s cubic-bezier(.2,.8,.2,1) forwards}.loader-wordmark span:nth-of-type(1){animation-delay:.36s}.loader-wordmark span:nth-of-type(2){animation-delay:.4s}.loader-wordmark span:nth-of-type(3){animation-delay:.44s}.loader-wordmark span:nth-of-type(4){animation-delay:.52s}.loader-wordmark span:nth-of-type(5){animation-delay:.56s}.loader-wordmark span:nth-of-type(6){animation-delay:.6s}.loader-wordmark span:nth-of-type(7){animation-delay:.64s}.loader-wordmark span:nth-of-type(8){animation-delay:.68s}.loader-wordmark span:nth-of-type(9){animation-delay:.76s}.loader-wordmark span:nth-of-type(10){animation-delay:.8s}.loader-wordmark span:nth-of-type(11){animation-delay:.84s}.loader-wordmark span:nth-of-type(12){animation-delay:.88s}.loader-wordmark span:nth-of-type(13){animation-delay:.92s}.loader-wordmark span:nth-of-type(14){animation-delay:.96s}.loader-wordmark em{width:clamp(5px,1.8vw,12px)}
.loader-mantra{margin:12px 0 28px;font:600 9px/1 sans-serif;letter-spacing:.3em;color:#f8f1df76}.loader-mantra b{color:#ed6b31}.loader-progress{position:relative;width:min(78vw,390px);height:2px;background:#f8f1df1b}.loader-progress span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#ed6b31,#f5a65f 58%,#c9dd45);box-shadow:0 0 14px #ed6b3180;transition:width .12s linear}.loader-progress i{position:absolute;right:0;top:10px;font:700 9px/1 monospace;letter-spacing:.1em;color:#f8f1df8a}
.loader-sound{margin-top:31px;border:1px solid #f8f1df22;background:#f8f1df08;color:#f8f1df;border-radius:99px;padding:9px 14px;display:flex;align-items:center;gap:9px;font:600 10px/1 sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.loader-sound:hover{transform:translateY(-2px);border-color:#ed6b3180;background:#ed6b3116}.sound-bars{height:12px;display:flex;gap:2px;align-items:center}.sound-bars i{display:block;width:2px;height:11px;background:#f8f1df;border-radius:2px;transform:scaleY(.35)}.loader-sound[aria-pressed=true]{border-color:#c9dd456e}.loader-sound[aria-pressed=true] .sound-bars i{background:#c9dd45;animation:soundBars .6s ease-in-out infinite}.loader-sound[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:.12s}.loader-sound[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:.24s}
.loader-note{position:absolute;bottom:clamp(28px,5vh,58px);margin:0;font:600 9px/1 sans-serif;letter-spacing:.28em;color:#f8f1df54}.loader-petals{position:absolute;inset:0;z-index:-1;pointer-events:none}.loader-petals i{position:absolute;top:-12vh;left:var(--left);width:12px;height:8px;border-radius:80% 0 80% 0;background:var(--petal);opacity:0;filter:drop-shadow(0 0 5px #ed6b3155);animation:loaderPetal var(--duration) var(--delay) linear infinite}.loader-petals i:nth-child(1){--left:8%;--drift:80px;--turn:520deg;--duration:6.8s;--delay:-1.2s;--petal:#ed6b31}.loader-petals i:nth-child(2){--left:24%;--drift:-55px;--turn:-460deg;--duration:8.2s;--delay:-4.1s;--petal:#f5b8c5}.loader-petals i:nth-child(3){--left:43%;--drift:67px;--turn:630deg;--duration:7.4s;--delay:-2.6s;--petal:#f8f1df}.loader-petals i:nth-child(4){--left:61%;--drift:-72px;--turn:-570deg;--duration:8.7s;--delay:-5.7s;--petal:#c9dd45}.loader-petals i:nth-child(5){--left:79%;--drift:48px;--turn:490deg;--duration:7.8s;--delay:-3.5s;--petal:#f5b8c5}.loader-petals i:nth-child(6){--left:92%;--drift:-60px;--turn:-610deg;--duration:8.4s;--delay:-6.3s;--petal:#ed6b31}

@media(max-width:700px){.site-loader:before{inset:10px}.site-loader:after{display:none}.loader-kicker{margin-bottom:20px}.loader-note{bottom:26px}.loader-wordmark{gap:3px;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.loader-aurora,.loader-logo-reveal img,.loader-orbit,.loader-flare:after,.loader-wordmark span,.loader-petals i,.loader-sound[aria-pressed=true] .sound-bars i{animation:none!important}.loader-wordmark span{opacity:1}.loader-logo-reveal img{clip-path:none}}
