*{box-sizing:border-box}body{margin:0;color:#19394c;background:#edf1f3;font:14px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;min-height:100svh;background-image:linear-gradient(155deg,#0e293f 0%,#244b60 46%,#b9cacd 46.1%,#edf1f3 70%)}.entrance{width:min(460px,calc(100% - 36px));margin:0 auto;padding:48px 0 24px}.brand{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:34px;color:#fff;font:22px/1.4 Georgia,serif;letter-spacing:.05em}.brand img{width:42px;height:42px}.brand small{display:block;font:10px/1.8 sans-serif;letter-spacing:.12em;color:#d2dce1;margin-top:3px}.card{background:#fff;padding:38px 40px 30px;border:1px solid #e1e8ea;border-radius:12px;box-shadow:0 20px 70px #0c293825;text-align:center}.eyebrow{font-size:10px;letter-spacing:.2em;color:#6e8d93}.lock{width:34px;height:34px;stroke:#52787d;stroke-width:1.4;fill:none;margin:23px 0 10px}h1{font-size:23px;letter-spacing:.015em;margin:0 0 15px;font-weight:600}.lead{font-size:13px;color:#697d88;margin:0 0 28px}form{text-align:left}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.password-wrap{position:relative}input,button{font:inherit}input{width:100%;padding:13px 62px 13px 14px;border:1px solid #ccd9df;border-radius:6px;color:#163b50;background:#fbfcfd;outline:none}input:focus{border-color:#638c94;box-shadow:0 0 0 3px #638c9420}#toggle{position:absolute;right:9px;top:9px;border:0;background:none;padding:6px;color:#5e7e89;cursor:pointer;font-size:12px}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:20px;padding:13px 18px;border:1px solid #16394e;border-radius:6px;background:#16394e;color:white;cursor:pointer;font-size:14px}.submit:hover{background:#285267}.submit:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #6b99a5;outline-offset:3px}#error{font-size:12px;color:#a13f3f;background:#fff1ef;border-radius:5px;padding:9px 12px;margin:12px 0 0}.note{font-size:11px;color:#86959b;margin:24px 0 0}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#5f7b86;margin-top:24px;letter-spacing:.04em}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:480px){.entrance{padding-top:35px}.card{padding:30px 24px}.brand{font-size:20px;margin-bottom:28px}h1{font-size:21px}}

.brand img{width:72px;height:72px;object-fit:contain;flex-shrink:0;background:#fff;padding:4px;border-radius:10px}
@media(max-width:480px){.brand{gap:10px;font-size:18px}.brand img{width:60px;height:60px}}
