/* ===============================
   Hero 基本デザイン
================================ */
.hero {
  padding: 6rem 1rem;
  background: white;
  text-align: center;
}

.hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1.4rem;
}

.hero p.lead {
  font-size: 1.5rem;
  color: #f0f0f0;
}

/* ===============================
   🔍 検索フォーム
================================ */
.serch-title {
  color: #3f94df;
}

/* 画面幅いっぱいに使うためのラッパー */
.hero-search-wrapper {
  display: block;
  width: 70%;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
  margin-top: 0.6rem;
}

/* フォーム本体：grid で 8:2 */
.hero-search-form {
  display: grid;
  grid-template-columns: 8fr 2fr;
  align-items: stretch;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

/* 入力欄 */
.hero-search-input {
  min-width: 0;
  box-sizing: border-box;
  font-size: 0.9rem;
  padding: 0.8rem 1.2rem;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

/* ボタン */
.hero-search-button {
  font-size: 1rem;
  padding: 0 1.8rem;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  background-color: #0d6efd;
  color: white;
}

.hero-search-button:hover {
  background-color: #05419a;
}

.hero-search-input,
.hero-search-button {
  border: none;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
}

/* スマホサイズ */
@media (max-width: 576px) {
  .hero-search-wrapper {
    width: 90%;
    padding: 0 0.75rem;
  }
}

/* ===============================
   Feature カードなど
================================ */
.feature-card img {
  height: 200px;
  object-fit: cover;
}

.cta {
  background: #4b8df0;
  color: white;
  padding: 3rem 1rem;
  text-align: center;
}

.cta a {
  background: white;
  color: #89bd7e;
  font-weight: bold;
}

.cta-footer {
  background-color: #b2f6a5;
}

footer {
  padding: 2rem 1rem;
  text-align: center;
  color: #777;
}

/* ===============================
   add.php
================================ */
.company-hero {
  padding: 2.5rem 1rem 2.5rem;
  background: linear-gradient(135deg, #66c6e4ff 0%, #91dba8ff 50%, #4678e5ff 100%);
}

.company-hero h1 {
  font-size: 1.8rem;
}

/* 応募ボタン */
.btn-entry {
  background-color: #f25a4e;
  color: #fff;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: background-color 0.25s ease, transform 0.15s ease;
}

.btn-entry:hover {
  background-color: #d84d43;
  color: #fff;
  transform: translateY(-2px);
}

.btn-entry:active {
  background-color: #c2443b;
  transform: translateY(0);
}

/* ===============================
   企業一覧カード（整理版）
================================ */
.company-list-card {
  border-radius: 0.75rem;
  font-size: 0.88rem; /* PC基準 */
}

.company-list-thumb,
.company-list-thumb-empty {
  height: 135px;
  object-fit: cover;
  object-position: center;
}

.company-list-thumb-empty {
  border-radius: 0.75rem 0.75rem 0 0;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: #aaa;
}

/* タイトル・テキスト */
.company-list-title {
  font-size: 0.98rem;
  line-height: 1.25;
  font-weight: 700;
}

.company-list-subtitle,
.company-list-intro {
  font-size: 0.78rem;
  line-height: 1.35;
}

/* バッジ類 */
.small {
  font-size: 0.85rem;
}

.btn-lp {
  font-size: 0.85rem;
  padding: 0.45rem 0.5rem;
}

/* お気に入り */
.favorite-star {
  font-size: 1rem;
  line-height: 1;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

/* ===============================
   FAQ（スマホで小さすぎ対策）
================================ */
@media (max-width: 576px) {
  .accordion-button {
    font-size: 0.95rem;
  }

  .accordion-body.small {
    font-size: 0.9rem;
    line-height: 1.6;
  }
}

/* ===============================
   underline を文字に近づける
================================ */
.text-underline,
a {
  text-underline-offset: 0.12em;
  text-decoration-thickness: 0.08em;
}

/* ===============================
   スマホ最適化（企業カード）
================================ */
@media (max-width: 576px) {
  .company-list-card {
    font-size: 0.82rem;
  }

  .company-list-thumb,
  .company-list-thumb-empty {
    height: 90px;
  }

  .company-list-title {
    font-size: 0.85rem;   /* ← 小さくしすぎない */
    line-height: 1.25;
  }

  .company-list-subtitle,
  .company-list-intro {
    font-size: 0.72rem;
    line-height: 1.35;
  }

  .small,
  .small-lp,
  .company-list-meta {
    font-size: 0.72rem;
  }

  .btn-lp {
    font-size: 0.75rem;
    padding: 0.4rem 0.5rem;
  }

  .company-hero h1 {
    font-size: 1.35rem;
  }
}
@media (max-width: 576px) {
  .hero p.lead {
    font-size: 1.05rem;   /* ← ちょうどいい */
    line-height: 1.6;
  }
}