/* ログイン振り分けページ（/login/）(#5674) */
.login-select {
  --ls-ink: #0a0a0a;
  --ls-ink-2: #4a4a4a;
  --ls-ink-3: #8a8a8a;
  --ls-line: #e6e6e6;
  --ls-grad-c: linear-gradient(90deg, #00b2f0 0%, #00d6b4 55%, #c8f000 100%);
  --ls-grad-app: linear-gradient(90deg, #ff2e93 0%, #ff7a1f 50%, #ffd000 100%);
  padding: 120px 0 100px;
  color: var(--ls-ink);
  line-height: 1.85;
  letter-spacing: .02em;
}
.login-select *, .login-select *::before, .login-select *::after { box-sizing: border-box; }
/* global.css が div・p・article などの line-height を 0 にしているため、このページ内では明示する（個別指定より先に置く） */
.login-select :where(div, p, article, h2, h3) { line-height: 1.85; }
.login-select__wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.login-select__title { font-size: 24px; font-weight: 700; text-align: center; line-height: 1.4; margin: 0 0 8px; }
.login-select__lead { font-size: 14px; color: var(--ls-ink-2); text-align: center; margin: 0 0 32px; }

.login-select__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; text-align: left; }

.login-select__card {
  background: #fff;
  border: 1px solid var(--ls-line);
  border-radius: 16px;
  padding: 24px 22px 22px;
  display: flex;
  flex-direction: column;
}
.login-select__bar { display: block; height: 4px; width: 40px; border-radius: 2px; margin-bottom: 18px; }
.login-select__card.is-company .login-select__bar { background: var(--ls-grad-c); }
.login-select__card.is-model .login-select__bar { background: var(--ls-grad-app); }
.login-select__who { font-size: 12px; font-weight: 600; color: var(--ls-ink-3); letter-spacing: .06em; }
.login-select__name { font-size: 20px; font-weight: 700; line-height: 1.5; margin: 2px 0 10px; padding: 0; }
.login-select__badge {
  display: inline-block; vertical-align: middle; position: relative; top: -2px; margin-left: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; line-height: 1.6;
  padding: 1px 8px; border-radius: 999px; border: 1px solid var(--ls-ink);
}
/* New: 企業カードのグラデーションで塗る（枠線の 1px 分は padding で補う） */
.login-select__badge.is-new { border: none; padding: 2px 9px; background: var(--ls-grad-c); color: var(--ls-ink); }
.login-select__badge + .login-select__badge { margin-left: 4px; }

.login-select__btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 60px; padding: 10px 24px; margin-top: 18px; border-radius: 999px;
  background: var(--ls-ink); color: #fff; text-decoration: none;
  font-weight: 600; font-size: 15px;
  transition: opacity .15s;
}
.login-select__btn:hover { opacity: .85; color: #fff; }
.login-select__btn svg { width: 16px; height: 16px; flex: none; }
.login-select__btn-text { display: flex; flex-direction: column; align-items: center; line-height: 1.35; }
.login-select__btn-domain { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 11.5px; font-weight: 400; opacity: .7; letter-spacing: .02em; }

.login-select__legacy { margin: 16px 0 0; text-align: center; font-size: 13px; }
.login-select__legacy a { color: var(--ls-ink-2); text-decoration: underline; text-underline-offset: 3px; }
.login-select__legacy a:hover { color: var(--ls-ink); }

@media (max-width: 640px) {
  .login-select { padding: 56px 0 72px; }
  .login-select__cards { grid-template-columns: 1fr; }
}
