:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;background:#eef1f6;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,YuGothic,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100dvh}button{font-family:inherit}.app{min-height:100dvh;position:relative}.site{background:linear-gradient(#f7f8fb,#f7f8fb) padding-box padding-box,linear-gradient(#dfe4ee,#dfe4ee);flex-direction:column;min-height:100dvh;display:flex}.site-header{color:#fff;background:#1f3554;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.site-brand{letter-spacing:.08em;font-size:14px;font-weight:700}.site-nav{opacity:.86;gap:16px;font-size:12px;display:flex}.site-main{flex:1;justify-content:center;align-items:center;padding:48px 20px 96px;display:flex}.site-card{text-align:center;background:#fff;border:1px solid #e4e8ef;border-radius:8px;width:min(520px,100%);padding:36px 28px 32px;box-shadow:0 8px 24px #1f35540f}.site-kicker{color:#6b7c93;letter-spacing:.16em;margin:0 0 10px;font-size:11px}.site-title{color:#1b2a40;margin:0 0 16px;font-size:clamp(28px,7vw,40px);font-weight:700}.site-lead{color:#334155;margin:0 0 18px;font-size:clamp(16px,4.2vw,18px);line-height:1.7}.site-copy{color:#64748b;margin:0 0 14px;font-size:13px;line-height:1.8}.site-more{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #c9d3e0;border-radius:6px;min-height:44px;margin-top:10px;padding:0 22px;font-size:15px}.site-more:hover{background:#eef3f8}.site-footer{text-align:center;padding:20px 16px 28px}.close-counter{top:auto;bottom:max(14px, env(safe-area-inset-bottom));z-index:5000;color:#6b7280;letter-spacing:.02em;pointer-events:none;background:#f7f8fbf0;border-radius:4px;margin:0;padding:5px 9px;font-size:11px;position:fixed;left:12px}.reset-link{left:auto;right:12px;bottom:max(10px, env(safe-area-inset-bottom));z-index:5000;color:#8b97a8;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 12px;font-size:12px;text-decoration:underline;position:fixed;transform:none}.popup{--popup-scale:1;width:min(400px,88vw);max-width:90vw;transform:translate(-50%, -50%) scale(var(--popup-scale));transform-origin:50%;background:#fff;border:1px solid #eceff3;border-radius:14px;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0f172a24,0 2px 6px #0f172a0f}.popup.is-entering{animation:.18s ease-out both popup-enter}.popup.is-popping{animation:.2s cubic-bezier(.2,1.4,.32,1) both popup-pop}.popup.is-exiting{pointer-events:none;animation:.15s ease-in both popup-exit}.popup-close{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:10px;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:6px;right:6px}.popup-close:hover{color:#111827;background:#f3f4f6}.popup-body{text-align:center;padding:28px 24px 22px}.popup-title{color:#1f2937;margin:0 16px 10px;font-size:clamp(18px,5vw,22px);line-height:1.4}.popup-message,.popup-confirm-text{color:#374151;margin:0 0 18px;font-size:clamp(15px,4.2vw,17px);line-height:1.65}.popup-cta,.popup-btn{cursor:pointer;border-radius:8px;min-width:120px;min-height:44px;padding:0 18px;font-size:15px}.popup-cta{color:#fff;background:#3b82f6;border:1px solid #2f6feb}.popup-cta:hover{background:#2563eb}.popup.is-success .popup-cta{background:#22c55e;border-color:#16a34a}.popup.is-success .popup-cta:hover{background:#16a34a}.popup-confirm-text{margin-top:12px;font-size:clamp(16px,4.4vw,18px);font-weight:600}.popup-confirm-actions{justify-content:center;gap:10px;display:flex}.popup-btn-yes{color:#111827;background:#fff;border:1px solid #d1d5db}.popup-btn-no{color:#fff;background:#3b82f6;border:1px solid #3b82f6}@keyframes popup-enter{0%{opacity:0;transform:translate(-50%, -50%) scale(calc(.9 * var(--popup-scale)))}to{opacity:1;transform:translate(-50%, -50%) scale(var(--popup-scale))}}@keyframes popup-pop{0%{opacity:0;transform:translate(-50%, -50%) scale(calc(.86 * var(--popup-scale)))}70%{opacity:1;transform:translate(-50%, -50%) scale(calc(1.05 * var(--popup-scale)))}to{opacity:1;transform:translate(-50%, -50%) scale(var(--popup-scale))}}@keyframes popup-exit{0%{opacity:1;transform:translate(-50%, -50%) scale(var(--popup-scale))}to{opacity:0;transform:translate(-50%, -50%) scale(calc(.9 * var(--popup-scale)))}}@media (width<=640px){.site-nav span:last-child{display:none}.site-header{padding:12px 14px}.site-main{align-items:flex-start;padding:32px 14px 88px}.site-card{margin-top:12vh;padding:28px 18px 24px}.popup{width:min(400px,86vw)}}
