:root{--font-jp: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-en: "Michroma", "Noto Sans JP", sans-serif;--font-num: "Orbitron", "Noto Sans JP", sans-serif;--font-base: var(--font-jp);--c-night: #05070d;--c-night-2: #0a1020;--c-bg: var(--c-night);--c-bg-2: #0d1526;--c-surface: #111a2f;--c-surface-2: #182544;--c-surface-3: #213159;--c-surface-glass: rgba(17, 26, 47, .82);--c-blue: #1763d2;--c-blue-2: #2f8dff;--c-blue-3: #5ab4ff;--c-cyan: #6fe3ff;--c-cyan-2: #bdf2ff;--c-gold: #ffd166;--c-red: #ff5468;--c-green: #3ddc97;--c-white: #ffffff;--c-text: #f2f6fc;--c-text-2: #c5d0e3;--c-text-3: #8b99b5;--c-text-4: #5a6684;--c-ink: #05070d;--c-disabled: #2a3450;--c-line: rgba(120, 170, 255, .22);--c-line-strong: rgba(120, 170, 255, .5);--c-line-soft: rgba(120, 170, 255, .12);--bw: 1px;--bw-thin: 1px;--bw-bold: 2px;--glow-blue: 0 0 0 1px rgba(111, 227, 255, .28), 0 6px 28px rgba(47, 141, 255, .35);--glow-blue-sm: 0 0 0 1px rgba(111, 227, 255, .28), 0 3px 14px rgba(47, 141, 255, .35);--glow-cyan: 0 0 0 2px rgba(111, 227, 255, .6), 0 0 24px rgba(111, 227, 255, .55);--sh-card: 0 12px 32px rgba(0, 0, 0, .45);--sh-card-sm: 0 6px 16px rgba(0, 0, 0, .4);--g-primary: linear-gradient(120deg, #1763d2 0%, #2f8dff 55%, #5ab4ff 100%);--g-primary-hover: linear-gradient(120deg, #1d6fe6 0%, #3a97ff 55%, #6fc0ff 100%);--g-surface: linear-gradient(180deg, rgba(24, 37, 68, .9) 0%, rgba(13, 21, 38, .9) 100%);--g-wave: linear-gradient(90deg, rgba(47, 141, 255, 0) 0%, rgba(111, 227, 255, .9) 50%, rgba(47, 141, 255, 0) 100%);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--z-map-ui: 500;--z-sticky: 900;--z-header: 9998;--z-overlay: 9999;--col-width: 640px;--lp-width: 72rem;--background: var(--c-bg);--foreground: var(--c-text)}:root[data-theme=day]{--c-night: #f4f7fc;--c-night-2: #e9eff8;--c-bg: #f4f7fc;--c-bg-2: #ffffff;--c-surface: #ffffff;--c-surface-2: #eaf1fb;--c-surface-3: #dce8f8;--c-surface-glass: rgba(255, 255, 255, .86);--c-text: #0b1733;--c-text-2: #2a3a5c;--c-text-3: #5f6f92;--c-text-4: #98a5c0;--c-ink: #0b1733;--c-disabled: #cfd8e8;--c-cyan: #1f8fe5;--c-cyan-2: #5ab4ff;--c-line: rgba(23, 99, 210, .22);--c-line-strong: rgba(23, 99, 210, .5);--c-line-soft: rgba(23, 99, 210, .1);--glow-blue: 0 0 0 1px rgba(23, 99, 210, .2), 0 6px 24px rgba(23, 99, 210, .28);--glow-blue-sm: 0 0 0 1px rgba(23, 99, 210, .2), 0 3px 12px rgba(23, 99, 210, .28);--glow-cyan: 0 0 0 2px rgba(47, 141, 255, .55), 0 0 20px rgba(47, 141, 255, .45);--sh-card: 0 12px 32px rgba(11, 23, 51, .14);--sh-card-sm: 0 6px 16px rgba(11, 23, 51, .12);--g-surface: linear-gradient(180deg, #ffffff 0%, #f1f5fc 100%)}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--c-line)}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;color-scheme:dark}:root[data-theme=day]{color-scheme:light}body{margin:0;background-color:var(--c-bg);background-image:radial-gradient(ellipse 120% 50% at 50% -10%,#2f8dff38,#2f8dff00 60%),url(/images/bg-waves.svg);background-repeat:no-repeat,repeat-y;background-position:top center,top center;background-size:100% 60vh,1400px auto;background-attachment:scroll,fixed;color:var(--foreground);font-family:var(--font-jp);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=day] body{background-image:radial-gradient(ellipse 120% 50% at 50% -10%,#2f8dff24,#2f8dff00 60%),url(/images/bg-waves.svg)}h1,h2,h3,h4,h5,h6,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img,svg,video,canvas{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit;margin:0}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{position:relative;min-height:100vh;min-height:100dvh}.page__column{width:100%;max-width:var(--col-width);margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--c-night-2)}@media(min-width:768px){.page__column{border-left:var(--bw) solid var(--c-line);border-right:var(--bw) solid var(--c-line)}}.kicker{font-family:var(--font-en);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--c-cyan)}.sec-title{display:flex;align-items:center;gap:10px;font-family:var(--font-jp);font-size:18px;font-weight:900;line-height:1.3;color:var(--c-text)}.sec-title:before{content:"";flex-shrink:0;width:4px;height:1.1em;border-radius:2px;background:var(--g-primary);box-shadow:0 0 10px #2f8dffcc}.glass{background:var(--g-surface);border:var(--bw) solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.wave-rule{height:1px;background:var(--g-wave);opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;width:100%;border:1px solid rgba(255,255,255,.28);border-radius:9999px;cursor:pointer;background:var(--g-primary);box-shadow:var(--glow-blue);color:var(--c-white);transition:transform .12s ease-out,box-shadow .12s ease-out,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(2px) scale(.99);box-shadow:var(--glow-blue-sm)}.btn:focus-visible{outline:none;box-shadow:var(--glow-cyan)}.btn:disabled{background:var(--c-disabled);border-color:transparent;box-shadow:none;color:var(--c-text-4);cursor:not-allowed;transform:none}.btn--small{min-height:40px;padding:0 20px}.btn--medium{min-height:56px;padding:0 28px}.btn--large{min-height:64px;padding:0 36px}.btn__label{font-family:var(--font-jp);font-weight:700;text-align:center;white-space:nowrap;letter-spacing:.04em}.btn--small .btn__label{font-size:14px}.btn--medium .btn__label{font-size:16px}.btn--large .btn__label{font-size:18px}.btn__arrow{width:18px;height:18px;flex-shrink:0;opacity:.9}.btn--ghost{background:#2f8dff14;border-color:var(--c-line-strong);box-shadow:none;color:var(--c-text)}.btn--ghost:hover:not(:disabled){background:#2f8dff29;filter:none}.btn--ghost:active:not(:disabled){box-shadow:none}.btn--dark{background:var(--c-surface-3);border-color:var(--c-line);box-shadow:var(--sh-card-sm);color:var(--c-text)}:root[data-theme=day] .btn--dark{background:#1a2a4d;color:#fff}.btn--dark:hover:not(:disabled){filter:brightness(1.12)}.btn--dark:active:not(:disabled){box-shadow:none}.btn--auto{width:auto}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch__label{font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--c-text)}.switch__input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:relative;flex-shrink:0;width:52px;height:30px;border-radius:15px;background:var(--c-surface-3);border:1px solid var(--c-line-strong);transition:background-color .2s,box-shadow .2s}.switch__knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:9999px;background:var(--c-text-3);transition:transform .2s,background-color .2s}.switch__input:checked+.switch__track{background:var(--g-primary);border-color:transparent;box-shadow:0 0 14px #2f8dff99}.switch__input:checked+.switch__track .switch__knob{transform:translate(22px);background:#fff}.switch__input:focus-visible+.switch__track{box-shadow:var(--glow-cyan)}.hdr{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);transition:transform .3s ease-in-out;transform:translateY(0)}.hdr--hidden{transform:translateY(-100%)}.hdr__container{width:100%}.hdr__nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 12px 0 16px;background:#05070dc7;border-bottom:1px solid var(--c-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}:root[data-theme=day] .hdr__nav{background:#f4f7fcd1}.hdr__logo{display:flex;align-items:center;height:100%;cursor:pointer;transition:opacity .15s}.hdr__logo:hover{opacity:.8}.hdr__logo .logo--inline{width:230px;max-width:64vw}.hdr__back{display:inline-flex;align-items:center;gap:2px;height:36px;padding:0 14px 0 8px;border-radius:18px;border:1px solid var(--c-line-strong);background:#2f8dff14;font-family:var(--font-en);font-size:11px;letter-spacing:.1em;color:var(--c-text);white-space:nowrap;transition:background-color .15s}.hdr__back:hover{background:#2f8dff2e}.hdr__back svg{width:18px;height:18px}.hdr--column{margin:0 auto;max-width:var(--col-width)}@media(min-width:768px){.hdr--column .hdr__nav{border-left:1px solid var(--c-line);border-right:1px solid var(--c-line)}}.logo{display:block;width:100%;height:auto;overflow:visible}.logo--full{max-width:400px}.logo__title{font-family:var(--font-en);fill:var(--c-text)}.logo__ja{font-family:var(--font-jp);font-weight:700;fill:var(--c-text)}.logo__by{font-family:var(--font-jp);font-weight:700;fill:var(--c-text-2)}.logo__brand{font-family:var(--font-en);fill:var(--c-text)}.logo__rule{stroke:var(--c-cyan);stroke-width:1}.logo--on-dark .logo__title,.logo--on-dark .logo__ja,.logo--on-dark .logo__brand{fill:#fff}.logo--on-dark .logo__by{fill:#fffc}.ftr{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px 16px calc(40px + env(safe-area-inset-bottom));background:#070b16;border-top:1px solid var(--c-line);color:#fff}.ftr__logos{display:flex;justify-content:center;align-items:center}.ftr__link{display:block;transition:opacity .15s}.ftr__link:hover{opacity:.8}.ftr__logo{display:block;width:168px;height:auto}.ftr__links{display:flex;align-items:center;gap:32px}.ftr__policy{font-family:var(--font-jp);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:underline;text-decoration-color:#ffffff59;text-underline-offset:4px;transition:text-decoration-color .15s}.ftr__policy:hover{text-decoration-color:var(--c-cyan)}.ftr__copy{font-size:11px;color:#ffffff8c;text-align:center}@media(min-width:1024px){.ftr--lp{padding:56px 16px;gap:24px}.ftr--lp .ftr__logo{width:200px}}.dlg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:16px;background:#03050ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:dlg-fade .2s ease-out}@keyframes dlg-fade{0%{opacity:0}to{opacity:1}}.dlg__box{position:relative;display:flex;flex-direction:column;width:100%;max-width:448px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-xl);box-shadow:var(--sh-card),0 0 60px #2f8dff2e;animation:dlg-pop .25s cubic-bezier(.2,.9,.3,1.2)}@keyframes dlg-pop{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}.dlg__close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;border-radius:9999px;background:var(--c-surface-2);border:1px solid var(--c-line);color:var(--c-text)}.dlg__close svg{width:18px;height:18px}.dlg__close svg path{stroke:currentColor}.dlg__header{padding:28px 56px 0 24px}.dlg__title{font-family:var(--font-jp);font-weight:900;font-size:20px;line-height:1.3;color:var(--c-text)}.dlg__content{padding:14px 24px;font-family:var(--font-jp);font-weight:400;font-size:15px;line-height:1.6;color:var(--c-text-2)}.dlg__content p{white-space:pre-wrap}.dlg__buttons{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 24px 24px}.dlg__buttons>*{flex:1 1 0}@media(prefers-reduced-motion:reduce){.dlg,.dlg__box{animation:none}}.prize{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.prize__figure{position:relative;width:160px;border-radius:20px;overflow:hidden;border:2px solid var(--c-gold);box-shadow:0 0 30px #ffd16659}.prize__figure img{width:100%;height:auto}.prize__badge{position:absolute;top:10px;left:-28px;padding:3px 32px;background:var(--c-gold);color:var(--c-ink);font-family:var(--font-en);font-size:9px;letter-spacing:.2em;transform:rotate(-35deg)}.prize__text{font-family:var(--font-jp);font-size:15px;font-weight:700;line-height:1.6;color:var(--c-text)}.gate__wave{display:flex;align-items:center;justify-content:center;gap:6px;height:72px;margin:4px 0 14px}.gate__wave i{width:6px;height:24px;border-radius:3px;background:var(--g-primary);box-shadow:0 0 10px #2f8dffb3;animation:gate-bar 1.1s ease-in-out calc(var(--i) * -.12s) infinite}@keyframes gate-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1.8)}}.gate__text{font-weight:700;color:var(--c-text)}.gate__note{margin-top:10px;font-size:13px;color:var(--c-text-3)}.pin__desc{margin-bottom:12px;font-size:13px;text-align:center;color:var(--c-text-3)}.pin__dots{display:flex;justify-content:center;gap:16px;margin:8px 0 6px}.pin__dot{width:16px;height:16px;border-radius:9999px;border:1px solid var(--c-line-strong);transition:background-color .1s}.pin__dot--on{background:var(--c-cyan);box-shadow:0 0 10px var(--c-cyan)}.pin__error{min-height:1.4em;margin-bottom:4px;font-size:13px;font-weight:700;text-align:center;color:var(--c-red)}.pin__keys{display:grid;grid-template-columns:repeat(3,72px);gap:10px;justify-content:center;margin-top:8px}.pin__key{height:60px;border-radius:16px;background:var(--c-surface-2);border:1px solid var(--c-line);font-family:var(--font-num);font-size:22px;font-weight:600;color:var(--c-text);transition:transform .1s,background-color .1s}.pin__key:active{transform:scale(.96);background:var(--c-surface-3)}.pin__key--back{display:grid;place-items:center;background:transparent;border-color:transparent;color:var(--c-text-3)}.pin__key--back svg{width:28px;height:28px}.pin--shake{animation:pin-shake .4s ease-in-out}@keyframes pin-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}
