:root{--paper:#f6f4fb;--paper2:#ffffff;--ink:#211f2b;--ink-soft:#6a6678;--pink:#4b3f9e;--pink-deep:#372d80;--pink-tint:#ecebf8;--indigo:#241f38;--indigo2:#2f2949;--indigo3:#3a2f6e;--gold:#d99a2b;--green:#2f9e74;--line:#e7e4f0;--line-2:#d6d1e4;--alert:#cf2e2e;--alert-tint:#fbe3e1;--f-display:"Shippori Mincho",serif;--f-ui:"Zen Kaku Gothic New",sans-serif;--f-body:"Noto Sans JP",sans-serif;--shadow:0 18px 44px -26px rgba(35,25,60,.42);--shadow-sm:0 10px 26px -18px rgba(35,25,60,.36)}html.mtheme-rose{--pink:#ee72af;--pink-deep:#d24e8e;--pink-tint:#fdebf4;--indigo:#c53f86;--indigo2:#d24e8e;--indigo3:#e86daf;--gold:#f6d9ea}html.mtheme-azure{--pink:#2a6fdb;--pink-deep:#1f56b0;--pink-tint:#e7eefb;--indigo:#1d2c54;--indigo2:#27407a;--indigo3:#3f63b8;--gold:#8fabd6}html.mtheme-azure body{--gold:#cfe1ff}html.mtheme-azure .lg-lab .sub{color:#cfe1ff;font-weight:700;text-shadow:0 1px 6px rgba(10,20,40,.5)}html.mtheme-azure .lg-submit{background:linear-gradient(120deg,#284a86,#3f66ad);box-shadow:0 14px 28px -15px rgba(18,34,66,.85)}html.mtheme-azure .lg-submit:hover{filter:brightness(1.08)}html.mtheme-azure .lg-card{background:linear-gradient(160deg,rgba(26,40,74,.5),rgba(18,29,56,.58))}html.mtheme-rose .lg-card{background:linear-gradient(160deg,rgba(60,30,54,.48),rgba(44,22,42,.56))}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--f-body);color:var(--ink);line-height:1.85;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.lg-stage{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:44px 22px 52px;background:linear-gradient(150deg,var(--indigo) 0,var(--indigo2) 50%,var(--indigo3) 100%)}.lg-stage::before{content:"";position:absolute;inset:0;z-index:0;background-image:url("/assets/images/login-art.webp");background-size:cover;background-position:center}.lg-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(90% 70% at 50% -10%,rgba(217,154,43,.22),transparent 55%),linear-gradient(180deg,rgba(20,14,32,.42) 0,rgba(20,14,32,.3) 42%,rgba(20,14,32,.58) 100%)}.lg-wrap{position:relative;z-index:2;width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center}.lg-brandtop{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:13px;margin:0 0 32px;color:#fff}.lg-brandtop img{width:68px;height:68px;flex:0 0 auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.lg-brandtop .t{display:flex;flex-direction:column;gap:4px;text-align:left}.lg-brandtop b{font-family:var(--f-display);font-weight:800;font-size:1.8rem;letter-spacing:.03em;line-height:1.28;color:#fff;text-shadow:0 2px 16px rgba(12,8,24,.7),0 1px 4px rgba(12,8,24,.6)}.lg-brandtop span{font-family:var(--f-ui);font-weight:700;font-size:.66rem;letter-spacing:.2em;color:var(--gold);text-shadow:0 2px 16px rgba(12,8,24,.7),0 1px 4px rgba(12,8,24,.6)}.lg-welcome{text-align:center;color:#fff;margin:0 0 26px;max-width:none}.lg-welcome h1{font-family:var(--f-display);font-weight:800;font-size:1.72rem;line-height:1.5;margin:0 0 12px;letter-spacing:.02em;text-shadow:0 2px 16px rgba(12,8,24,.7),0 1px 4px rgba(12,8,24,.6)}.lg-welcome p{font-family:var(--f-ui);font-weight:500;font-size:.86rem;line-height:1.9;color:rgba(255,255,255,.92);margin:0;text-shadow:0 2px 12px rgba(12,8,24,.7),0 1px 3px rgba(12,8,24,.6)}.lg-card{position:relative;width:100%;border-radius:20px;padding:32px 32px 28px;background:linear-gradient(160deg,rgba(40,33,64,.5),rgba(28,22,48,.56));border:1px solid rgba(255,255,255,.16);border-top:0;overflow:hidden}.lg-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}.lg-head{text-align:center;margin:0 0 22px}.lg-head h2{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--ink);margin:0;letter-spacing:.02em}.lg-field{margin:0 0 17px}.lg-lab{display:flex;align-items:baseline;gap:.6em;font-family:var(--f-ui);font-weight:700;font-size:.82rem;color:#fff;margin:0 0 7px;text-shadow:0 1px 6px rgba(0,0,0,.45)}.lg-lab .sub{font-weight:600;font-size:.72rem;color:var(--gold);letter-spacing:.01em}.lg-inwrap{position:relative;display:flex;align-items:center}.lg-inwrap>svg{position:absolute;left:14px;width:18px;height:18px;color:var(--ink-soft);pointer-events:none}.lg-input{width:100%;font-family:var(--f-ui);font-weight:500;font-size:.96rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line-2);border-radius:12px;padding:13px 15px 13px 42px;transition:border-color .16s,box-shadow .16s,background .16s}.lg-input::placeholder{color:#a8a4b6;font-weight:500}.lg-input::-ms-clear,.lg-input::-ms-reveal{display:none}.lg-input:hover{border-color:color-mix(in srgb,var(--pink) 30%,var(--line-2))}.lg-input:focus{outline:0;border-color:var(--pink);background:#fff;box-shadow:0 0 0 4px var(--pink-tint)}.lg-eye{position:absolute;right:8px;width:34px;height:34px;border:none;background:0 0;border-radius:9px;display:grid;place-items:center;color:var(--ink-soft);transition:background .16s,color .16s}.lg-eye:hover{background:var(--pink-tint);color:var(--pink-deep)}.lg-eye svg{width:19px;height:19px}.lg-eye .off{display:none}.lg-eye.is-on .on{display:none}.lg-eye.is-on .off{display:block}.lg-aux{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:2px 0 22px}.lg-forgot{font-family:var(--f-ui);font-weight:700;font-size:.8rem;color:#fff;display:inline-flex;align-items:center;gap:.35em;transition:color .16s;background:0 0;border:none;padding:0;text-shadow:0 1px 6px rgba(0,0,0,.45);cursor:pointer}.lg-forgot:hover{color:var(--gold);text-decoration:underline}.lg-forgot svg{width:14px;height:14px}.lg-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--f-ui);font-weight:800;font-size:1rem;letter-spacing:.04em;color:#fff;background:linear-gradient(120deg,var(--pink-deep),var(--pink));border:none;border-radius:12px;padding:15px 20px;box-shadow:0 14px 26px -14px color-mix(in srgb,var(--pink) 70%,transparent);transition:filter .16s,transform .12s,box-shadow .16s}.lg-submit svg{width:18px;height:18px}.lg-submit:hover{filter:brightness(1.06);gap:.8em}.lg-submit:active{transform:translateY(1px)}.lg-err{display:none;align-items:center;gap:.5em;font-family:var(--f-ui);font-weight:700;font-size:.8rem;color:#ff9d9d;background:0 0;padding:0 0 11px;margin:0 0 14px;border-bottom:1px solid rgba(255,120,120,.35);text-shadow:0 1px 5px rgba(0,0,0,.4)}.lg-err.show{display:flex}.lg-err svg{width:16px;height:16px;flex:0 0 auto;position:relative;top:1px}.lg-note{display:none;margin:18px 0 0;padding:15px 17px;background:var(--pink-tint);border:1px solid color-mix(in srgb,var(--pink) 22%,var(--line));border-radius:12px}.lg-note.show{display:block;animation:lgFade .28s ease}@keyframes lgFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lg-note b{display:flex;align-items:center;gap:.5em;font-family:var(--f-ui);font-weight:800;font-size:.86rem;color:var(--pink-deep);margin:0 0 7px}.lg-note b svg{width:16px;height:16px}.lg-note p{font-family:var(--f-ui);font-weight:500;font-size:.82rem;color:var(--ink);line-height:1.8;margin:0}.lg-note .tel{display:inline-flex;align-items:center;gap:.4em;font-weight:800;color:var(--pink-deep);font-size:.94rem;margin-top:6px}.lg-note .tel svg{width:15px;height:15px}html.tel-off .lg-note .tel{pointer-events:none;cursor:text}.lg-note .hours{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:3px}.lg-under{margin:22px 0 0;text-align:center}.lg-copy{display:block;font-family:var(--f-ui);font-size:.68rem;color:rgba(255,255,255,.66);letter-spacing:.02em;text-shadow:0 1px 5px rgba(0,0,0,.35)}body.lg-sp .lg-stage{padding:30px 16px}body.lg-sp .lg-brandtop img{width:56px;height:56px}body.lg-sp .lg-brandtop b{font-size:1.34rem}body.lg-sp .lg-welcome{margin-bottom:20px}body.lg-sp .lg-welcome h1{font-size:1.42rem}body.lg-sp .lg-welcome p{font-size:.82rem}body.lg-sp .lg-card{padding:26px 20px 26px;border-radius:16px}body.lg-sp .lg-head h2{font-size:1.4rem}body.lg-sp .lg-aux{justify-content:flex-end;gap:12px}.lg-themesw{position:fixed;top:12px;left:12px;z-index:50}.lg-themesw select{font-family:var(--f-ui);font-weight:700;font-size:.74rem;color:var(--ink);background:rgba(255,255,255,.92);border:1px solid var(--line-2);border-radius:8px;padding:5px 8px;cursor:pointer;box-shadow:var(--shadow-sm)}