/* ===========================
   レスポンシブ対応
   =========================== */

/* タブレット（768px以下） */
@media (max-width: 768px) {

  .section { padding: 64px 0; }

  .section__title { font-size: 26px; }

  /* ヘッダー */
  .header__nav { display: none; }

  .header__cta .btn {
    padding: 8px 18px;
    font-size: 13px;
  }

  /* ヒーロー */
  .hero__title { font-size: 36px; }
  .hero__desc { font-size: 15px; }
  .hero__inner { padding: 120px 24px 80px; }

  /* 課題 */
  .problems__grid { grid-template-columns: 1fr; gap: 16px; }

  /* サービス */
  .services__grid { grid-template-columns: 1fr; }

  /* 選ばれる理由 */
  .reasons__grid { grid-template-columns: 1fr; gap: 0; }

  .reason-card { padding: 28px 20px; border-bottom: 1px solid var(--color-border); }
  .reason-card:last-child { border-bottom: none; }

  /* 導入の流れ */
  .flow__steps {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .flow__steps::before { display: none; }

  .flow-step {
    display: flex;
    align-items: flex-start;
    text-align: left;
    gap: 20px;
    padding: 0;
  }

  .flow-step__circle {
    flex-shrink: 0;
    margin: 0;
    width: 64px; height: 64px;
    font-size: 24px;
  }

  .flow-step__num {
    right: auto;
    left: 44px;
    top: -8px;
  }

  .flow-step__body { flex: 1; padding-top: 8px; }

  /* 実績 */
  .stats__grid { grid-template-columns: 1fr; }
  .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); padding: 28px; }
  .stat-item:last-child { border-bottom: none; }
  .stat-item__num { font-size: 44px; }

  /* ブログ */
  .blog__grid { grid-template-columns: 1fr; }

  /* CTAバナー */
  .cta-banner__title { font-size: 26px; }
  .cta-banner__actions { flex-direction: column; align-items: center; }

  /* フッター */
  .footer__inner { grid-template-columns: 1fr; gap: 36px; }

  .footer__bottom { flex-direction: column; gap: 16px; text-align: center; }
}

/* スマートフォン（480px以下） */
@media (max-width: 480px) {

  .section { padding: 48px 0; }
  .section__title { font-size: 22px; }

  .hero__title { font-size: 28px; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; justify-content: center; }

  .service-card { padding: 32px 24px; }
  .service-card__title { font-size: 22px; }

  .stat-item__num { font-size: 40px; }

  .cta-banner { padding: 64px 0; }
  .cta-banner__title { font-size: 22px; }
  .cta-banner__actions .btn { width: 100%; justify-content: center; }

  /* お問い合わせフォーム */
  .form-row { grid-template-columns: 1fr !important; }
}

/* ハンバーガーメニュー（768px以下表示） */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.hamburger span {
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: var(--transition);
}

@media (max-width: 768px) {
  .hamburger { display: flex; }

  .mobile-nav {
    display: none;
    position: fixed;
    inset: 72px 0 0;
    background: var(--color-primary);
    padding: 32px 24px;
    z-index: 99;
    flex-direction: column;
    gap: 0;
  }

  .mobile-nav.open { display: flex; }

  .mobile-nav a {
    display: block;
    color: rgba(255,255,255,.85);
    font-size: 18px;
    font-weight: 500;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    transition: var(--transition);
  }

  .mobile-nav a:hover { color: var(--color-accent); }

  .mobile-nav .btn {
    margin-top: 24px;
    width: 100%;
    justify-content: center;
  }
}
