:root{--cream:#f5ede0;--cream-card:#f6f2e6;--ink:#1d1c18;--ink-soft:#6f6a5e;--dark:#262521;--blue:#5865e0;--orange:#ff5b1c;--green:#26b96e;--yellow:#f0a800;--pink:#ff7bac;--purple:#9a86ff;--edge-r:clamp(36px, 4.5vw, 80px);--concept-overlap:clamp(56px, 7vw, 134px);--en:"Baloo 2", "Zen Maru Gothic", sans-serif;--jp:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--jp);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.9;overflow-x:clip}h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{position:relative}.page-viewport{touch-action:pan-y;height:100svh;position:sticky;top:0;overflow:hidden}.page-track{will-change:transform;align-items:stretch;width:max-content;height:100%;display:flex}.page-main{display:contents}.page-track section,.page-track footer{height:100%}.menu-toggle{z-index:100;background:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:58px;height:58px;transition:transform .25s;display:flex;position:fixed;top:clamp(16px,2.5vw,28px);left:clamp(16px,2.5vw,28px)}.menu-toggle:hover{transform:scale(1.08)}.menu-toggle span{background:#fff;border-radius:2px;width:22px;height:3px;display:block}.menu{z-index:200;position:fixed;inset:0}.menu-backdrop{background:#1d1c1873;animation:.25s both menu-fade;position:absolute;inset:0}.menu-panel{background:var(--cream-card);border-radius:clamp(22px,3vw,32px);width:min(94vw,800px);max-height:calc(100svh - clamp(24px,5vw,56px));padding:clamp(72px,9vw,96px) clamp(28px,5vw,72px) clamp(32px,5vw,64px);animation:.35s cubic-bezier(.22,1,.36,1) both menu-pop;position:absolute;top:clamp(12px,2.5vw,28px);left:clamp(12px,2.5vw,28px);overflow-y:auto;box-shadow:0 24px 64px -24px #1d1c1880}@keyframes menu-fade{0%{opacity:0}}@keyframes menu-pop{0%{opacity:0;transform:translateY(-16px)scale(.97)}}.menu-close{background:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .25s;display:flex;position:absolute;top:clamp(16px,2vw,24px);left:clamp(16px,2vw,24px)}.menu-close:hover{transform:scale(1.08)}.menu-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:16px;height:16px}.menu-body{grid-template-columns:auto 1fr;align-items:center;gap:clamp(32px,6vw,88px);display:grid}.menu-logo{width:clamp(130px,15vw,210px)}.menu-list li+li{border-top:1px solid #1d1c1824}.menu-link{align-items:flex-start;gap:14px;padding:15px 4px;transition:transform .2s;display:flex}.menu-link:hover{transform:translate(6px)}.menu-link-bird{flex:none;width:22px;margin-top:7px}.menu-link-text{flex-direction:column;display:flex}.menu-link-en{font-family:var(--en);font-size:21px;font-weight:700;line-height:1.3}.menu-link.is-active .menu-link-en{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2.5px}.menu-link-jp{letter-spacing:.08em;color:var(--ink-soft);font-size:12px}.section-title{font-family:var(--en);align-items:center;gap:12px;font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1.2;display:flex}.section-title-bird{flex:none;width:clamp(26px,2.6vw,34px);margin-top:4px}.hero{z-index:4;background:var(--cream);flex:none;align-items:center;width:100vw;display:flex;position:relative}.hero-logo{z-index:1;flex:none;margin-left:clamp(24px,7vw,130px);animation:1s cubic-bezier(.22,1,.36,1) .15s both hero-rise;position:relative}.hero-logo img{width:clamp(250px,31vw,560px)}.hero-art{animation:1.2s both hero-fade;position:absolute;inset:0 -8vw 0 0}@keyframes hero-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes hero-fade{0%{opacity:0}}.hero-art img{object-fit:cover;object-position:right center;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000 99%);mask-image:linear-gradient(90deg,#000 82%,#0000 99%)}.hero-login{z-index:2;writing-mode:vertical-rl;border:1.5px solid var(--ink);background:var(--cream);color:var(--ink);font-family:var(--jp);letter-spacing:.15em;cursor:pointer;border-left:none;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:20px 10px;font-size:14px;font-weight:700;transition:opacity .2s .3s,transform .2s .3s;display:flex;position:absolute;bottom:clamp(48px,12vh,120px);left:0}.hero-login:disabled{cursor:default}.hero-login.is-hidden{opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;transform:translate(-6px)scale(.92)}.concept{z-index:3;background:var(--cream);flex:none;align-items:center;width:100vw;display:flex;position:relative}.concept-row{align-items:center;gap:clamp(24px,4vw,64px);width:100%;max-width:1600px;height:100%;margin-left:auto;display:flex}.concept-head{flex:none;width:min(72vw,430px);margin-left:clamp(24px,7vw,130px)}.concept-lead{letter-spacing:.06em;margin-top:clamp(24px,4vh,44px);font-size:clamp(16px,1.7vw,20px);font-weight:700;line-height:1.9}.concept-date{font-family:var(--en);letter-spacing:.08em;color:var(--ink-soft);margin-top:clamp(16px,3vh,28px);font-size:13px;font-weight:600}.concept-art{height:100%;margin-left:auto;margin-right:calc(-1 * var(--concept-overlap));flex:none;align-self:stretch}.concept-art img{border-radius:clamp(18px,2vw,30px);width:auto;height:100%}.howto{z-index:2;padding:0 clamp(24px, 7vw, 130px) 0 calc(var(--concept-overlap) + clamp(48px, 5vw, 96px));border-radius:0 var(--edge-r) var(--edge-r) 0;background:var(--blue);color:#fff;flex:none;align-items:center;gap:clamp(32px,5vw,90px);display:flex;position:relative;overflow:hidden}.howto-head{flex:none;width:min(72vw,470px)}.howto-title{font-family:var(--en);flex-direction:column;align-items:center;font-size:clamp(34px,3.8vw,52px);font-weight:800;line-height:1.28;display:flex}.howto-line{align-items:center;gap:.16em;display:inline-flex}.howto-flower{width:.62em;margin-top:-.5em}.howto-swirl{width:.8em;margin-top:.15em}.howto-line-last{font-size:1.16em}.howto-caption{text-align:center;letter-spacing:.14em;margin-top:clamp(14px,2.5vh,24px);font-size:clamp(13px,1.3vw,16px);font-weight:700}.howto-list{z-index:1;align-items:center;gap:clamp(20px,2.4vw,40px);display:flex;position:relative}.howto-list li{flex:none}.enjoy-card{background:var(--card-color,var(--ink));color:#fff;border-radius:28px;flex-direction:column;gap:16px;width:min(92vw,460px);height:clamp(440px,60vh,540px);padding:clamp(24px,2.8vw,32px);transition:transform .3s;display:flex}.enjoy-card:hover{transform:translateY(-8px)rotate(-.5deg)}.enjoy-card-label{align-items:baseline;gap:8px;line-height:1.5;display:flex}.enjoy-card-name{font-size:18px;font-weight:900}.enjoy-card-category{opacity:.9;font-size:12px;font-weight:500}.enjoy-card-image{background:#d9d9d9;border-radius:18px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.enjoy-card-image img{object-fit:cover;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.enjoy-card-en{font-family:var(--en);font-size:24px;font-weight:700;line-height:1.2}.enjoy-card-list{opacity:.95;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;line-height:1.4;display:flex}.enjoy-card-list li{padding-left:1.1em;position:relative}.enjoy-card-list li:before{content:"・";position:absolute;left:0}.enjoy-card-cta{font-family:var(--jp);letter-spacing:.06em;color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff;border-radius:999px;align-self:flex-start;margin-top:auto;padding:9px 26px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.enjoy-card:hover .enjoy-card-cta{color:var(--card-color,var(--ink));background:#fff}.howto-marquee{font-family:var(--en);white-space:nowrap;color:#fff;pointer-events:none;gap:.6em;font-size:clamp(90px,11vw,150px);font-weight:800;line-height:1;display:flex;position:absolute;bottom:-.22em;left:0;right:0}.howto-marquee span{flex:none;animation:60s linear infinite marquee}@keyframes marquee{to{transform:translate(calc(-100% - .6em))}}.enjoy-detail{z-index:300;background:var(--detail-color);align-items:stretch;animation:.3s both enjoy-detail-fade;display:flex;position:fixed;inset:0}.enjoy-detail-side{background:var(--detail-color);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;flex:none;width:clamp(14px,8vw,220px)}.enjoy-detail-scroll{overscroll-behavior:contain;background:var(--cream-card);flex:1;min-width:0;height:100%;animation:.4s cubic-bezier(.22,1,.36,1) both enjoy-detail-rise;overflow-y:auto}@keyframes enjoy-detail-fade{0%{opacity:0}}@keyframes enjoy-detail-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.enjoy-detail-hero{aspect-ratio:16/11;background:var(--detail-color);border-radius:20px;margin:clamp(20px,4vw,28px) clamp(20px,5vw,64px) 0;position:relative;overflow:hidden;box-shadow:0 16px 32px -18px #1d1c1866}.enjoy-detail-hero img{object-fit:cover;width:100%;height:100%}.enjoy-detail-category{background:var(--ink);color:#fff;letter-spacing:.06em;border-radius:999px;padding:7px 16px;font-size:11.5px;font-weight:700;position:absolute;top:14px;left:14px}.enjoy-detail-body{padding:18px clamp(20px,5vw,64px) clamp(40px,6vw,72px)}.enjoy-detail-en{font-family:var(--en);color:var(--detail-color);font-size:clamp(28px,5vw,44px);font-weight:700;line-height:1.1}.enjoy-detail-title{margin-top:4px;font-size:clamp(17px,2.4vw,20px);font-weight:900}.enjoy-detail-lead{color:var(--ink-soft);margin-top:14px;font-size:14px;line-height:1.8}.enjoy-detail-divider{border-top:1.5px dashed #1d1c182e;margin:24px 0}.enjoy-detail-heading{font-size:15px;font-weight:900}.enjoy-detail-items{flex-direction:column;gap:10px;margin-top:16px;display:flex}.enjoy-detail-items li{background:#fff;border-radius:14px;padding:14px 18px 14px 34px;font-size:14px;font-weight:700;position:relative}.enjoy-detail-items li:before{content:"";background:var(--detail-color);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.enjoy-detail-close{z-index:1;background:var(--ink);color:#fff;font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 22px;font-size:13px;font-weight:700;transition:transform .2s;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);box-shadow:0 12px 30px -12px #1d1c1899}.enjoy-detail-close:hover{transform:scale(1.05)}.enjoy-detail-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:12px;height:12px}.info{z-index:1;margin-left:calc(-1 * var(--edge-r));padding:0 clamp(24px, 7vw, 130px) 0 calc(clamp(24px, 7vw, 130px) + var(--edge-r));border-radius:0 var(--edge-r) var(--edge-r) 0;background:var(--dark);color:var(--cream);flex:none;align-items:center;gap:clamp(32px,4.5vw,80px);display:flex;position:relative}.info-cards{align-items:stretch;gap:clamp(32px,4.5vw,80px);display:flex}.info-head{flex:none;width:min(70vw,380px)}.info-head-title{font-family:var(--en);color:#fff;font-size:clamp(40px,4.6vw,64px);font-weight:800;line-height:1.22}.info-head-line{align-items:center;gap:.24em;display:flex}.info-head-line:last-child{margin-left:clamp(24px,3vw,52px)}.info-head-bird{width:.58em;margin-top:.1em}.info-head-star{width:.34em;margin-top:-.7em}.info-head-caption{letter-spacing:.14em;color:#f5ede0b8;margin-top:clamp(14px,2.5vh,24px);font-size:clamp(13px,1.3vw,15px);font-weight:700}.info-card{background:var(--cream-card);width:min(88vw,480px);color:var(--ink);border-radius:26px;flex-direction:column;flex:none;padding:clamp(24px,3vw,40px);display:flex}.info-card-title{font-size:clamp(24px,2.4vw,30px)}.about-rows{flex:1;min-height:0;margin-top:clamp(18px,3vh,30px)}.about-row{border-bottom:1.5px dotted #1d1c1866;grid-template-columns:100px 1fr;gap:14px;padding:15px 0;display:grid}.about-row:last-child{border-bottom:none}.about-row dt{letter-spacing:.06em;font-size:14px;font-weight:900}.about-row dd{letter-spacing:.02em;font-size:14px;font-weight:500}.about-row-note{color:var(--ink-soft);font-size:12px;display:block}.map-frame{aspect-ratio:4/4.4;background:#fff;border-radius:16px;place-items:center;width:100%;max-height:52vh;margin-top:clamp(18px,3vh,28px);display:grid}.map-placeholder{text-align:center;letter-spacing:.1em;color:var(--ink-soft);font-size:15px;font-weight:700;line-height:2.2}.map-expand{background:var(--ink);color:var(--cream);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;margin:clamp(18px,3vh,28px) auto 0;padding:12px 30px;font-size:14px;font-weight:700;display:flex}.map-expand:disabled{opacity:.45;cursor:default}.footer{width:min(56vw,900px);margin-left:calc(-1 * var(--edge-r));padding:0 clamp(32px, 4vw, 80px) 0 calc(clamp(32px, 4vw, 80px) + var(--edge-r));background:var(--cream);flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.footer-logo{width:clamp(180px,17vw,300px)}.footer-login{border:2px solid var(--ink);background:var(--cream);color:var(--ink);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border-radius:999px;margin-top:clamp(16px,2.5vh,28px);padding:12px 34px;font-size:14px;font-weight:700}.footer-login:disabled{cursor:default}.footer-copy{letter-spacing:.08em;color:var(--ink-soft);font-size:11px;position:absolute;bottom:clamp(20px,4vh,40px)}.auth-panel-anchor{z-index:150;pointer-events:none;position:fixed;top:50%;left:0;transform:translateY(-50%)}.auth-panel{pointer-events:auto;background:var(--cream-card);border-radius:0 24px 24px 0;width:min(84vw,260px);max-height:calc(100svh - 48px);padding:22px 22px 28px;overflow-y:auto;box-shadow:0 20px 50px -20px #1d1c1873}.auth-panel.is-open{animation:.38s cubic-bezier(.22,1,.36,1) both auth-panel-slide-in}.auth-panel.is-closing{animation:.3s cubic-bezier(.4,0,.6,1) both auth-panel-slide-out}@keyframes auth-panel-slide-in{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes auth-panel-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.auth-panel-close{background:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:14px;right:14px}.auth-panel-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:10px;height:10px}.auth-panel-eyebrow{letter-spacing:.12em;color:var(--ink-soft);font-size:11px;font-weight:700}.auth-panel-title{margin-top:4px;font-size:20px;font-weight:900}.auth-form{flex-direction:column;gap:10px;margin-top:16px;display:flex}.auth-field input{width:100%;font-family:var(--jp);color:var(--ink);background:#fff;border:1.5px solid #1d1c1829;border-radius:12px;padding:11px 14px;font-size:14px}.auth-field input:focus{border-color:var(--ink);outline:none}.auth-error{color:var(--orange);font-size:12px;font-weight:700}.auth-submit{background:var(--ink);color:var(--cream);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;margin-top:4px;padding:12px;font-size:14px;font-weight:700}.auth-submit:disabled{opacity:.5;cursor:default}.auth-divider{text-align:center;color:var(--ink-soft);letter-spacing:.08em;margin-top:14px;font-size:11px}.auth-switch{font-family:var(--jp);color:var(--blue);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:6px auto 0;padding:0;font-size:13px;font-weight:700;text-decoration:underline;display:block}.auth-qr{background:#1d1c180f;border-radius:16px;place-items:center;margin-top:16px;padding:16px;display:grid}.auth-qr svg{border-radius:8px;width:100%;max-width:168px;height:auto}.auth-balance{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:16px;display:flex}.auth-balance-label{letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:700}.auth-balance-value{font-family:var(--en);font-size:26px;font-weight:800}.auth-logout{font-family:var(--jp);color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:16px auto 0;padding:0;font-size:12px;font-weight:700;text-decoration:underline;display:block}.admin-home-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.admin-action-button{font-family:var(--jp);letter-spacing:.04em;color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:16px;padding:14px;font-size:15px;font-weight:800}.admin-home-actions .admin-action-button{margin-top:0}.admin-action-button:disabled{opacity:.5;cursor:default}.admin-action-deposit{background:var(--green)}.admin-action-collect{background:var(--orange)}.admin-target-balance{color:var(--ink-soft);margin-top:6px;font-size:13px;font-weight:700}.admin-panel>.auth-field{margin-top:16px;display:block}.admin-scan{margin-top:16px}.admin-scan-video{aspect-ratio:1;object-fit:cover;background:var(--dark);border-radius:16px;width:100%}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(28px)}.reveal-soft{transform:none}.reveal.is-visible{opacity:1;transform:none}@media (width<=720px){.menu-panel{width:auto;right:clamp(12px,2.5vw,28px)}.menu-body{grid-template-columns:1fr;justify-items:start;gap:28px}.menu-logo{width:120px}.hero{flex-direction:column;justify-content:flex-end;align-items:flex-start}.hero-logo{margin-left:0;position:absolute;top:clamp(96px,16vh,150px);left:24px}.hero-logo img{width:min(62vw,300px)}.hero-art{width:100%;height:58%;position:static}.concept-row{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:0;max-width:none;margin-left:0}.concept-head{width:auto;margin:clamp(88px,14vh,130px) 24px 0}.concept-art{align-self:center;height:56%;margin-left:0;margin-right:0}.about-row{grid-template-columns:84px 1fr}.footer{width:100vw}}
