/* login 個別スタイル */
.auth-body{ background:#F4F6FA; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px 16px; }
.auth-card{ width:100%; max-width:400px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 30px rgba(20,40,80,.10); padding:34px 32px 28px; }
.auth-logo{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:17px; color:var(--navy); justify-content:center; margin-bottom:22px; }
.auth-logo-img{ height:26px; width:auto; }
.auth-title{ font-size:20px; font-weight:700; color:var(--navy); text-align:center; margin-bottom:4px; }
.auth-sub{ font-size:12.5px; color:var(--gray); text-align:center; margin-bottom:22px; }
.auth-label{ display:block; font-size:12px; font-weight:700; color:var(--navy); margin:14px 0 6px; }
.auth-input{ border:1px solid var(--line); border-radius:8px; padding:11px 12px; font-size:13px; color:var(--navy); background:#fff; }
.auth-input-pw{ display:flex; align-items:center; justify-content:space-between; }
.auth-eye{ color:var(--gray-lt); cursor:pointer; }
.auth-row{ display:flex; align-items:center; justify-content:space-between; margin:16px 0 20px; font-size:12px; }
.auth-check{ display:flex; align-items:center; gap:7px; color:var(--gray); cursor:pointer; }
.auth-box{ width:15px; height:15px; border:1.5px solid var(--line); border-radius:4px; display:inline-block; }
.auth-link{ color:var(--blue); font-weight:700; text-decoration:none; }
.auth-link:hover{ text-decoration:underline; }
.auth-btn{ width:100%; justify-content:center; padding:12px; font-size:14px; text-decoration:none; }
.auth-foot{ text-align:center; font-size:11.5px; color:var(--gray-lt); margin-top:18px; }
@media (max-width:560px){ .auth-card{ padding:26px 20px; } }

/* フォームエラー表示 */
.auth-error{ background:#FDECEA; border:1px solid #F5C6C0; color:#B23B32; font-size:12.5px; border-radius:8px; padding:10px 12px; margin-bottom:16px; }
.auth-btn{ border:none; cursor:pointer; }

/* ログイン保持チェックボックス（実機能化で追加） */
.auth-check{ display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-size:12.5px; color:var(--gray,#5A6B85); }
.auth-check-input{ position:absolute; opacity:0; width:0; height:0; }
.auth-check .auth-box{ width:16px; height:16px; border:1.5px solid #C3CDDC; border-radius:4px; display:inline-block; position:relative; transition:all .15s; }
.auth-check-input:checked + .auth-box{ background:#2D6CDF; border-color:#2D6CDF; }
.auth-check-input:checked + .auth-box::after{ content:'✓'; color:#fff; font-size:11px; position:absolute; top:-1px; left:2px; }
