@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800;900&family=Fredoka:wght@500;600&display=swap");:root{--blue:#2e6be6;--blue-gradient:linear-gradient(135deg,#3b7bf0,#2e6be6);--blue-soft:#eaf1fe;--blue-tint:#e9f0fd;--blue-border:#dce7fa;--purple:#7a5af0;--purple-soft:#f0eafb;--green:#22a06b;--green-soft:#eaf6ef;--line-green:#06c755;--orange:#e08a2b;--orange-soft:#fff3e6;--red:#e5484d;--ink-1:#1a2233;--ink-2:#5b6472;--ink-3:#9aa2b1;--line-1:#edf0f5;--line-2:#e4e9f1;--line-3:#f1f4f9;--page-bg:#f6f8fc;--surface:#ffffff;--shadow-card:0 6px 20px -12px rgba(24,40,80,0.2);--shadow-cta:0 10px 22px -8px rgba(46,107,230,0.6);--pad-x:18px;--pad-top:56px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html{margin:0;padding:0;background:#e4e8f0;color:var(--ink-1);font-family:Noto Sans JP,system-ui,-apple-system,sans-serif;font-size:13.5px;line-height:1.7}button{font:inherit}input,select,textarea{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:#b6bfcd}a{color:inherit}@keyframes qpulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes qrise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes qpop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes qfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes qbg{0%,to{transform:translate(0) scale(1)}50%{transform:translate(14px,-18px) scale(1.12)}}@keyframes qbg2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-18px,12px) scale(1.08)}}@keyframes qsheen{0%{transform:translateX(-130%) skewX(-18deg)}60%,to{transform:translateX(230%) skewX(-18deg)}}@keyframes qglow{0%,to{box-shadow:0 10px 22px -8px rgba(46,107,230,.55)}50%{box-shadow:0 14px 30px -8px rgba(46,107,230,.85)}}@keyframes qspin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.q-shell{min-height:100dvh;background:var(--page-bg)}.q-main{padding-left:0}.q-screen{max-width:430px;margin:0 auto;padding:var(--pad-top) var(--pad-x) 104px;position:relative}.q-nav-bottom{position:fixed;bottom:0;left:0;right:0;height:86px;background:var(--blue-tint);border-top:1px solid var(--blue-border);box-shadow:0 -6px 20px -12px rgba(24,40,80,.2);display:flex;align-items:flex-start;justify-content:space-around;padding-top:12px;z-index:50}.q-nav-rail,.q-nav-side{display:none}.q-rail-item{width:72px;padding:10px 0 8px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;font-size:11px;font-weight:700;color:#8a93a2}.q-rail-item.is-active{background:var(--blue-soft);color:var(--blue)}.q-sticky-bar{position:fixed;bottom:86px;left:0;right:0;padding:12px 18px 14px;background:rgba(246,248,252,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line-2);z-index:40}@media (min-width:600px) and (max-width:899px) and (min-height:600px){:root{--pad-x:32px;--pad-top:40px}.q-main{padding-left:88px}.q-screen{max-width:none;padding-bottom:48px}.q-nav-bottom{display:none}.q-nav-rail{display:flex;flex-direction:column;align-items:center;gap:6px;position:fixed;left:0;top:0;bottom:0;width:88px;background:#fff;border-right:1px solid #eceff4;padding:18px 8px;z-index:50}.q-sticky-bar{left:88px;bottom:0;padding:14px 32px 16px}}@media (min-width:900px){:root{--pad-x:40px;--pad-top:36px}.q-main{padding-left:var(--nav-w,238px);transition:padding-left .18s ease}.q-screen{max-width:none;padding-bottom:60px}.q-nav-bottom{display:none}.q-nav-side{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--nav-w,238px);transition:width .18s ease;overflow:hidden;background:#fff;border-right:1px solid #eceff4;padding:20px 14px;z-index:50}.q-sticky-bar{left:var(--nav-w,238px);bottom:0;padding:14px 40px 16px}}.q-auth{min-height:100dvh;background:var(--page-bg);display:flex;justify-content:center}.q-auth-frame{max-width:430px;min-height:100dvh;background:#fff}.q-auth-frame,.q-auth-hero{flex:1 1;display:flex;flex-direction:column}.q-auth-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#4c7df3,#3e6deb 55%,#3866e6);align-items:center;justify-content:center;gap:22px;padding:46px 24px 34px}.q-auth-panel{flex:none;padding:26px 24px 34px;display:flex;flex-direction:column;align-items:center;gap:16px}.q-auth-mascot{display:block;width:100%;height:auto;max-width:230px}.q-form-screen{background:var(--page-bg);justify-content:center;align-items:flex-start}.q-form-frame,.q-form-screen{min-height:100dvh;display:flex}.q-form-frame{flex:1 1;max-width:430px;flex-direction:column}.q-form-body{flex:1 1;padding:26px 20px 20px}.q-form-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:14px 20px 26px;background:var(--page-bg);border-top:1px solid var(--line-1)}@media (min-width:600px) and (max-width:899px) and (min-height:600px){.q-auth{align-items:center;padding:40px 32px}.q-auth-frame{max-width:540px;min-height:0;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(24,40,80,.45)}.q-auth-hero{flex:none;padding:56px 32px 40px}.q-auth-panel{padding:30px 40px 36px}.q-form-screen{padding:40px 32px}.q-form-frame{max-width:560px;min-height:0;background:#fff;border-radius:20px;border:1px solid var(--line-1);box-shadow:0 20px 50px -30px rgba(24,40,80,.4);overflow:hidden}.q-form-body{padding:32px 36px 24px}.q-form-footer{position:static;background:#fff;padding:16px 36px 28px}}@media (min-width:900px){.q-auth{align-items:center;padding:40px 24px}.q-auth-frame{max-width:940px;min-height:0;height:min(620px,calc(100dvh - 80px));flex-direction:row;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(24,40,80,.45)}.q-auth-hero{flex:1.15 1;padding:48px;gap:30px}.q-auth-panel{flex:1 1;justify-content:center;padding:48px 44px}.q-auth-mascot{max-width:260px}.q-form-screen{padding:40px 24px}.q-form-frame{max-width:560px;min-height:0;background:#fff;border-radius:20px;border:1px solid var(--line-1);box-shadow:0 20px 50px -30px rgba(24,40,80,.4);overflow:hidden}.q-form-body{padding:36px 40px 28px}.q-form-footer{position:static;background:#fff;padding:18px 40px 32px}}