/* ========== company_detail: 画像なし最適化 ========== */

/* ヘッダー（背景画像なしのプレーン表示） */
.company_header.company_header--plain {
  background: #f8fafc;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}
.company_header.company_header--plain h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  /* 視認性アップ */
  font-size: 26px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .02em;
  /* 既存指定の上書きは維持（flex, marginなどは既存で定義済み） */
  color: #222 !important;
}
.company_header.company_header--plain .logo_wrap img {
  max-height: 56px;
  width: auto;
  height: auto;
}

/* 求人カード：画像無しレイアウト */
.recruit_list .recruit_list_box.no-image {
  display: block;
}
.recruit_list .recruit_list_box.no-image .recruit_list_right {
  float: none !important;
  width: 100% !important;
}
.recruit_list .recruit_list_box.no-image .recruit_list_info {
  margin-bottom: 10px;
}

/* タイトルやメタの視認性微調整（任意） */
.recruit_list .recruit_list_head h3 {
  margin: 0;
}
.recruit_list .recruit_list_right dl.recruit_list_data {
  margin-top: 8px;
}

/* SP微調整 */
@media screen and (max-width: 767px) {
  .company_header.company_header--plain { padding: 16px; border-radius: 10px; }
  .company_header.company_header--plain .logo_wrap img { max-height: 48px !important; }
}

/* ========== 画像枠が残る問題の最終上書き（枠/余白/オーバーレイ解除） ========== */
.company_header.section_type02.company_header--plain,
.company_header.company_header--plain {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* 背景用のアスペクト比確保などを無効化 */
.company_header.section_type02.company_header--plain::before,
.company_header.section_type02.company_header--plain::after {
  content: none !important;
  display: none !important;
}

/* オーバーレイ見出しを通常フローへ（バーを消す） */
.company_header.company_header--plain h2 {
  position: static !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: #222 !important;
  /* 視認性アップ */
  font-size: 26px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .02em;
  /* 既存指定の上書きは維持（flex, marginなどは既存で定義済み） */
}
.company_header.company_header--plain h2::before,
.company_header.company_header--plain h2::after {
  content: none !important;
  display: none !important;
}
.company_header.company_header--plain h2 span {
  display: inline !important;
  background: transparent !important;
  padding: 0 !important;
  display: inline-block !important;
  position: relative;
  padding-bottom: 4px;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere; /* 長い社名の任意改行 */
}
.company_header.company_header--plain h2 span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #E53935, #FF7043 70%) !important;
  border-radius: 2px;
}

/* ロゴ（あれば）だけ軽く整える。無ければ余白は発生しない */
.company_header.company_header--plain .logo_wrap { margin: 0 !important; }
.company_header.company_header--plain .logo_wrap img {
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
}
.company_header.company_header--plain .logo_wrap { flex: 0 0 auto; }

@media screen and (max-width: 767px) {
  .company_header.company_header--plain .logo_wrap img { max-height: 40px !important; }
  .company_header.company_header--plain h2 { font-size: 22px; }
  .company_header.company_header--plain h2 span::after { height: 2px; }
}

/* ========== 見出し余白と下線色の最終上書き ========== */
.company_header.company_header--plain h2 {
  margin: 12px 0 20px !important; /* 上下に少し広めの空間 */
}

.company_header.company_header--plain h2 span::after {
  background: #d12426 !important; /* 指定カラーに統一 */
}
