/* ============================================================
   responsive.css — メディアクエリ (モバイルファースト追加分)
   ============================================================ */

/* ---- Tablet (max 1024px) ---- */
@media (max-width: 1024px) {
  .business-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .support-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---- Mobile/Tablet (max 768px) ---- */
@media (max-width: 768px) {
  /* Header */
  .site-header__inner {
    padding: 0 20px;
  }

  .site-nav {
    display: none;
  }

  .nav-toggle {
    display: flex;
  }

  /* Footer */
  .site-footer__inner {
    padding: 0 20px;
  }

  .site-footer__top {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-bottom: 32px;
    margin-bottom: 24px;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  /* Page hero */
  .page-hero {
    padding: 56px 0 44px;
  }

  .page-hero__en {
    font-size: 42px;
  }

  .page-hero__ja {
    font-size: 20px;
  }

  /* Sections */
  .section-title__en {
    font-size: 40px;
  }

  .section-title__ja {
    font-size: 20px;
  }

  .section-title {
    margin-bottom: 40px;
  }

  /* About block */
  .about-block {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-block__lead {
    font-size: 17px;
  }

  /* Business grid */
  .business-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  /* Brand card */
  .brand-card {
    grid-template-columns: 1fr;
  }

  .brand-card__image {
    min-height: 200px;
  }

  .brand-card__body {
    padding: 28px 24px;
  }

  /* Support list */
  .support-list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Message block */
  .message-block {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .message-block__photo {
    width: 200px;
    margin: 0 auto;
  }

  /* Qual list */
  .qual-list {
    grid-template-columns: 1fr;
  }

  /* Company table */
  .company-table {
    display: block;
    overflow-x: auto;
  }

  .company-table th {
    width: 120px;
    min-width: 120px;
  }

  /* Contact */
  .contact-steps {
    margin-bottom: 40px;
  }

  .contact-step__label {
    display: none;
  }

  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .form-actions .btn {
    text-align: center;
  }

  /* Hero (top) */
  .hero__heading {
    font-size: 28px;
  }

  .hero__sub {
    font-size: 14px;
  }

  .hero__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__cta .btn {
    text-align: center;
  }

  /* News item */
  .news-item {
    flex-direction: column;
    gap: 4px;
  }

  /* CTA Banner */
  .cta-banner {
    padding: 52px 20px;
  }

  .cta-banner__heading {
    font-size: 20px;
  }
}

/* ---- Small Mobile (max 480px) ---- */
@media (max-width: 480px) {
  .business-grid {
    grid-template-columns: 1fr;
  }

  .section-title__en {
    font-size: 34px;
  }

  .btn-group {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}

/* ---- Voice Grid ---- */
@media (max-width: 1024px) {
  .voice-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .voice-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- Step Flow ---- */
@media (max-width: 768px) {
  .step-item {
    grid-template-columns: 48px 1fr;
    gap: 14px;
  }

  .step-item__num {
    font-size: 24px;
  }
}
