/* ===== 全ページ共通 スマホ対応 ===== */
@media (max-width: 600px) {
  .header-top { padding: 0.5rem 1rem; }
  .logo-text { font-size: 0.95rem; letter-spacing: 0.05em; }
  .logo-mark { width: 32px; height: 32px; }

  nav { overflow-x: visible; }
  .nav-item { padding: 0.6rem 0.4rem; font-size: 10.5px; letter-spacing: 0;
              flex: 1; text-align: center; }

  .hero { padding: 2.5rem 1rem 3rem; }
  .hero h1 { font-size: 21px; }
  .hero p { font-size: 13px; line-height: 1.9; }
  .hero::after { font-size: 80px; }
  .btn-primary, .btn-outline { padding: 12px 22px; font-size: 13.5px; }

  /* 最新ブログカード（index.html） */
  .hero-blog-card { flex-direction: column; align-items: stretch !important; }
  .hero-blog-thumb { width: 100% !important; height: 180px !important; }

  section, .worries, .solution, .cases, .profile-teaser,
  .price-wrap, .content, .contact-section, .article-wrap {
    padding-left: 1rem; padding-right: 1rem;
  }
  .section-title, .cases-title, .worries-title { font-size: 18px; }
  .solution h2, .final-cta h2 { font-size: 19px; }
  .stats, .profile-stats { gap: 1.25rem; }
  .services { grid-template-columns: repeat(2, 1fr); }
  .contact-methods { grid-template-columns: repeat(2, 1fr); }

  /* 料金表をカード型に */
  .price-table tr:first-child { display: none; }
  .price-table tr { display: block; border-bottom: 1px solid #eee; padding: 10px 2px; }
  .price-table tr:last-child { border-bottom: none; }
  .price-table td { display: block; border: none; padding: 1px 0; }
  .price-table td:first-child { font-size: 14px; color: #4E2800; }
  .price-table .price-col { text-align: left; font-size: 17px; margin-top: 3px; }
  .price-table .note-col { font-size: 11px; color: #aaa; margin-top: 1px; }
  .base-price-row { gap: 1.25rem; }
  .base-price-num { font-size: 24px; }

  .photo-grid { grid-template-columns: repeat(2, 1fr); }

  /* ブログ一覧 */
  .blog-list-thumb { width: 100px; }
  .blog-list-title { font-size: 14px; }
  .article-title { font-size: 19px; }
  .article-content { font-size: 14px; line-height: 2; }
}