/* /login/ 専用テンプレート内だけに適用 */
.ged-login-page{--ged-ink:#173d32;--ged-green:#217b50;--ged-muted:#63756d;box-sizing:border-box;background:radial-gradient(ellipse at 12% 8%,#e2f1e7 0,transparent 48%),#f5f8f5;padding:64px 24px 32px;color:var(--ged-ink)}
.ged-login-page *, .ged-login-page *::before,.ged-login-page *::after{box-sizing:border-box}
.ged-login-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #dae6dc;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 70px #153e2910}
.ged-login-story{padding:48px;background:linear-gradient(145deg,#eaf4e8,#f3f7eb 70%,#fcf7e7)}
.ged-login-page .ged-login-eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--ged-green);margin:0 0 28px}
.ged-login-page .ged-login-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 16px}
.ged-login-page .ged-login-story h2{font-size:clamp(32px,3.5vw,44px);line-height:1.5;letter-spacing:.02em;margin:0 0 20px;color:var(--ged-ink);font-weight:800}
.ged-login-story h2 span{background:linear-gradient(transparent 65%,#f6df8d 65%)}
.ged-login-page .ged-login-intro{font-size:15px;line-height:1.95;margin:0 0 32px;color:#4f685c}
.ged-login-discover{border:1px solid #ffffff;background:#ffffffb8;padding:20px;border-radius:18px}
.ged-login-page .ged-login-discover-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ged-muted);margin:0 0 4px}
.ged-login-page .ged-login-feature{display:flex;gap:12px;align-items:center;padding:15px 0;text-decoration:none;color:var(--ged-ink);border-bottom:1px solid #e1e9df;min-width:0}
.ged-login-page .ged-login-feature:last-child{border-bottom:0;padding-bottom:4px}
.ged-login-feature-no{font-size:12px;font-weight:800;color:var(--ged-green);background:#e7f0e5;border-radius:10px;display:grid;place-items:center;width:34px;height:38px;flex-shrink:0}
.ged-login-feature strong{display:block;font-size:14px;line-height:1.6}
.ged-login-feature small{display:block;font-size:11px;line-height:1.7;color:var(--ged-muted);margin-top:3px}
.ged-login-arrow{margin-left:auto;font-size:19px;color:var(--ged-green)}
.ged-login-page a.ged-login-feature:hover strong{text-decoration:underline;text-underline-offset:4px}
.ged-login-page .ged-login-story-note{font-size:10px;line-height:1.8;color:var(--ged-muted);margin:22px 0 0}
.ged-login-panel{padding:52px 44px;min-width:0;align-self:center}
.ged-login-panel-heading .ged-login-eyebrow{margin-bottom:14px}
.ged-login-page .ged-login-panel h1{font-size:30px;line-height:1.5;margin:0 0 12px;font-weight:800;color:var(--ged-ink)}
.ged-login-page .ged-login-panel-heading>p:last-child{font-size:13px;line-height:1.8;margin:0 0 32px;color:var(--ged-muted)}
.ged-login-form-content .um.um-login{width:100%!important;max-width:100%!important;margin:0!important;color:var(--ged-ink)}
.ged-login-form-content .um .um-field-label label{font-size:13px!important;font-weight:700!important;color:var(--ged-ink)!important}
.ged-login-form-content .um .um-field{padding-top:20px}
.ged-login-form-content .um .um-col-1>.um-field:first-child{padding-top:0}
.ged-login-form-content .um input.um-form-field[type="text"],.ged-login-form-content .um input.um-form-field[type="password"],.ged-login-form-content .um input.um-form-field[type="email"]{width:100%!important;max-width:100%!important;height:52px!important;border:1px solid #cbd9d0!important;border-radius:10px!important;background:#fbfcfa!important;font-size:16px!important;padding:12px 14px!important;color:#243d32!important;box-shadow:none!important}
.ged-login-form-content .um input.um-form-field:focus{outline:3px solid #b7dbc5!important;outline-offset:2px;border-color:var(--ged-green)!important;background:#fff!important}
.ged-login-form-content .um .um-field-checkbox-option{color:var(--ged-muted)!important;font-size:12px!important}
.ged-login-form-content .um .um-field-checkbox-state i{color:var(--ged-green)!important}
.ged-login-form-content .um .um-col-alt{margin:0;padding:0}
.ged-login-form-content .um .um-left.um-half{float:none;width:100%}
/* 登録導線はフォーム直下の案内に一本化。ログイン・エラー表示はUMのまま。 */
.ged-login-form-content .um-login .um-right.um-half{display:none}
.ged-login-form-content .um input.um-button[type="submit"]{width:100%!important;min-height:52px;border-radius:10px!important;background:var(--ged-green)!important;color:#fff!important;font-weight:700!important;font-size:15px!important;box-shadow:0 6px 14px #217b5020!important;margin-top:18px!important}
.ged-login-form-content .um input.um-button[type="submit"]:hover{background:#17633f!important}
.ged-login-form-content .um .um-col-alt-b{padding-top:20px}
.ged-login-form-content .um a.um-link-alt{color:#526b5e!important;font-size:12px!important;text-decoration:underline!important;text-underline-offset:4px}
.ged-login-page .ged-login-register-note{border-top:1px solid #e4ebe5;margin-top:28px;padding-top:24px;text-align:center}
.ged-login-page .ged-login-register-note p{margin:0 0 10px;font-size:12px;color:var(--ged-muted)}
.ged-login-register-note a{display:block;color:var(--ged-green);font-size:14px;font-weight:700;text-decoration:none;border:1px solid #bfd5c6;border-radius:10px;padding:13px 12px;line-height:1.6}
.ged-login-register-note a:hover{background:#edf5ef}
.ged-login-register-note small{display:block;color:var(--ged-muted);font-size:10px;line-height:1.8;margin-top:12px}
.ged-login-page a:focus-visible,.ged-login-page input[type="submit"]:focus-visible{outline:3px solid #288754!important;outline-offset:4px}
.ged-login-home{display:block;width:fit-content;margin:24px auto 0;font-size:12px;color:#596e61;text-decoration:none;padding:8px}
@media(max-width:900px){.ged-login-story{padding:32px}.ged-login-panel{padding:40px 28px}.ged-login-feature{gap:8px}}
@media(max-width:680px){.ged-login-page{padding:24px 16px}.ged-login-layout{grid-template-columns:1fr;border-radius:20px}.ged-login-panel{grid-row:1;padding:30px 24px}.ged-login-page .ged-login-panel h1{font-size:26px}.ged-login-panel-heading .ged-login-eyebrow{margin-bottom:10px}.ged-login-page .ged-login-panel-heading>p:last-child{margin-bottom:24px}.ged-login-story{padding:28px 24px}.ged-login-page .ged-login-story>.ged-login-eyebrow{margin-bottom:18px}.ged-login-page .ged-login-story h2{font-size:30px}.ged-login-page .ged-login-intro{font-size:13px;margin-bottom:22px}.ged-login-page .ged-login-story-note{font-size:10px}.ged-login-discover{padding:16px}}
