/* ヘッダーボタン3つ対応 */
header .right_box .contact_btn { width: 450px; }
header .right_box .contact_btn div { width: 33.33%; }
header .right_box nav { width: calc(100% - 450px); }

/* 単独フォームページ（forgot-password等）の中央寄せ */
.login_page--center { justify-content: center; }
.login_page--center .login_box { width: 600px; max-width: 94%; }

/* お名前フィールドアイコン */
.login_page .login_box .input_box.name::before { content: "\f007"; }

/* Font Awesome アイコン修正（::before / ::after に font-family が未指定のため） */
.login_page .login_box .input_box::before,
.login_page .login_btn a::after,
.login_page .login_btn button::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

/* a要素はbodyのline-height(3.3rem)を継承するため高さがbuttonと異なり::afterがずれる → 揃える */
.login_page .login_btn a {
  line-height: 1.2;
}

/* new_accountブロック内のaリンクはアイコン不要 */
.login_page .new_account .login_btn a::after {
  content: none;
}

/* フォームエラー表示 */
.form-errors {
  width: 100%;
  margin: 0 0 20px;
  padding: 14px 18px;
  background: #fff3f3;
  border: 1px solid #f5a0a0;
  border-left: 4px solid #e03c3c;
  border-radius: 4px;
  color: #c0392b;
  box-sizing: border-box;
}
.form-errors ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.form-errors ul li {
  font-size: 1.4rem;
  line-height: 2rem;
}
.form-errors ul li + li {
  margin-top: 4px;
}
