html,body{margin:0;background:#fff}

.auA{
  --acc:#635bff; --ink:#0a2540; --body:#374151; --sub:#4b5563; --line:#e6e9ee;
  font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  background:#f6f9fc;padding:clamp(48px,6vw,88px) 24px;display:grid;place-items:center;
}
.auA__card{
  background:#fff;border-radius:16px;padding:clamp(30px,4vw,44px);width:min(420px,100%);
  box-shadow:0 0 0 1px rgba(50,50,93,.07),0 20px 44px -22px rgba(10,37,64,.4);
}
.auA__mark{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:19px;font-weight:800;
  background:linear-gradient(135deg,var(--acc),#00b3ff);margin-bottom:22px;
}
.auA__card h1{margin:0;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.auA__lead{margin:10px 0 26px;font-size:13px;color:var(--body)}
.auA__card form{display:grid;gap:16px}
.auA__card label{display:grid;gap:7px;font-size:12.5px;font-weight:700;color:var(--ink)}
.auA__row{display:flex;justify-content:space-between;align-items:baseline}
.auA__row a{font-size:11.5px;font-weight:600;color:var(--acc);text-decoration:none}
.auA__card input[type=email],.auA__card input[type=password]{
  border:0;border-radius:8px;height:46px;padding:0 14px;font:inherit;font-size:14px;background:#f6f9fc;
  box-shadow:inset 0 0 0 1px var(--line);outline:none;color:var(--ink);
}
.auA__card input:focus{background:#fff;box-shadow:inset 0 0 0 1px var(--acc),0 0 0 3px rgba(99,91,255,.16)}
.auA__keep{display:flex;align-items:center;gap:9px;font-weight:500;font-size:12.5px;color:var(--body)}
.auA__keep input{width:16px;height:16px;accent-color:var(--acc)}
.auA__card button[type=submit]{
  border:0;border-radius:8px;height:50px;background:var(--acc);color:#fff;font:inherit;font-size:14.5px;
  font-weight:800;cursor:pointer;box-shadow:0 4px 14px -4px rgba(99,91,255,.6);
}
.auA__or{position:relative;text-align:center;margin:24px 0}
.auA__or::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.auA__or span{position:relative;background:#fff;padding:0 12px;font-size:11.5px;color:var(--sub)}
.auA__sso{
  width:100%;border:0;border-radius:8px;height:48px;background:#fff;color:var(--ink);font:inherit;font-size:13.5px;
  font-weight:700;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);
}
.auA__sso:hover{background:#f6f9fc}
.auA__foot{margin:24px 0 0;text-align:center;font-size:12.5px;color:var(--body)}
.auA__foot a{color:var(--acc);font-weight:700;text-decoration:none}

/* スマホで横にはみ出していた（幅100%＋内側の余白）。中の要素を枠の内側で測る（2026-10-05 パーツギャラリーに出すときに直した） */
.auA, .auA *, .auA *::before, .auA *::after{box-sizing:border-box}
