img.site-header__logo-img {
    max-width: 100%;
}
.site-header__inner {
    width: 300px;
    margin: auto;
}

/* =========================
  Responsive（Smartphone）
========================= */
@media screen and (max-width: 768px) {

  /* ---------- 共通 ---------- */

  body {
    font-size: 15px;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  /* ---------- ヘッダー ---------- */

  .site-header__inner {
    justify-content: center;
  }

  .site-header__logo-img {
    height: 120px;
  }

  .site-header__title {
    padding: 20px 16px;
  }

  .site-header__heading {
    font-size: 20px;
    text-align: center;
    line-height: 1.4;
  }

  /* ---------- レイアウト（2カラム → 1カラム） ---------- */

  .policy-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* メインを先に表示 */
  .home-content,
  .policy {
    order: 1;
  }

  /* サイドは下へ */
  .policy-side {
    order: 2;
    margin-top: 8px;
  }

  /* ---------- トップページ ---------- */

  .hero {
    padding: 48px 16px;
    text-align: center;
  }

  .hero__catch {
    font-size: 24px;
    line-height: 1.4;
  }

  .hero__lead {
    font-size: 14px;
  }

  .services__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* ---------- 会社情報 ---------- */

  .company-table {
    grid-template-columns: 1fr;
  }

  .company-table dt {
    font-weight: 700;
    margin-top: 12px;
  }

  /* ---------- フォーム（iOS対策込み） ---------- */

  .contact-form input,
  .contact-form textarea,
  .contact-form button {
    font-size: 16px; /* iOS自動ズーム防止 */
  }

  .contact__tel {
    width: 100%;
    text-align: center;
    padding: 14px 0;
    font-size: 16px;
  }

}