/* ヘッダーボタン2つ対応（ログイン非表示中） */
header .right_box .contact_btn { width: 300px; }
header .right_box .contact_btn div { width: 50%; }
header .right_box nav { width: calc(100% - 300px); }

/* 単独フォームページ（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;
}

/* 見積もりフォーム テープ削除ボタン */
.btn_minus {
  border: none;
  border-radius: 4px;
  font-size: 1.6rem;
  background: #f39800;
  color: #fff;
  padding: 8px 0;
  width: 44px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.btn_minus { transition: filter 0.3s ease-in-out; }
.btn_minus:hover { filter: brightness(120%); }

/* メディア掲載 ページヘッダー背景（style.cssに未定義のため追加） */
.page-head.page-head-media { background: url("../image/page_ttl_bg_blog.jpg"); background-size: cover; }

/* メディア掲載一覧 4列レイアウト */
.col4_box { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.col4_box .col { width: 23.5%; margin-left: 2%; margin-bottom: 40px; }
.col4_box .col:nth-of-type(4n+1) { margin-left: 0; }

/* トップページ お知らせ・お客様の声・メディア掲載 訪問済みリンク色を固定 */
.news_box .content a:visited,
.top_media_box .content li a:visited {
  color: #222;
}

/* トップページ メディア掲載 サムネイル */
.top_media_box .content li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
