/* ========================================
   タブレット対応（1024px以下）
======================================== */
@media (max-width: 1024px) {
  .container {
    padding: 0 30px;
  }

  .hero .container {
    gap: 3rem;
  }

  .hero-title {
    font-size: 2.5rem;
  }

  .profile-content {
    gap: 3rem;
  }
}

/* ========================================
   タブレット対応（768px以下）
======================================== */
@media (max-width: 768px) {
  /* PC版を非表示、モバイル版を表示 */
  .desktop-content {
    display: none !important;
  }

  .mobile-video-section {
    display: flex !important;
  }

  /* ヘッダー調整 */
  .header {
    padding: 0.8rem 0;
  }

  .logo {
    font-size: 1.1rem;
  }
  
  .logo-image {
    height: 32px;
  }
  
  .logo-text {
    font-size: 1.1rem;
  }

  /* PCナビゲーションを非表示 */
  .nav {
    display: none;
  }

  /* モバイルメニューボタンを表示 */
  .mobile-menu-btn {
    display: flex;
  }

  /* フロートボタンの調整 */
  .float-button {
    bottom: 1.5rem;
    right: 1.5rem;
    padding: 0.8rem 1.2rem;
  }

  .float-text {
    font-size: 0.9rem;
  }

  .float-icon {
    font-size: 1.3rem;
  }

  /* フッター調整 */
  .footer {
    font-size: 0.85rem;
    padding: 1.5rem 0;
  }
}

/* ========================================
   スマートフォン対応（600px以下）
======================================== */
@media (max-width: 600px) {
  /* セクションパディング削減 */
  section {
    padding: 3rem 0;
  }

  /* コンテナ調整 */
  .container {
    padding: 0 20px;
  }

  /* ヒーローセクション */
  .hero {
    padding: 4rem 0;
  }

  .hero .container {
    flex-direction: column;
    text-align: center;
    gap: 2rem;
  }

  .hero-title {
    font-size: 2rem;
  }

  .hero-description {
    font-size: 1rem;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  /* セクションタイトル */
  .section-title {
    font-size: 2rem;
  }

  /* プロフィールセクション */
  .profile-content {
    flex-direction: column;
    gap: 2rem;
  }

  .profile-image {
    flex: 0 0 auto;
    width: 100%;
  }

  .profile-image .image-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .profile-name {
    font-size: 1.5rem;
  }

  .profile-kana {
    display: block;
    margin-left: 0;
    margin-top: 0.5rem;
  }

  .profile-message {
    padding: 1.5rem;
  }

  /* グリッドを1カラムに */
  .reasons-grid,
  .stats-grid,
  .results-grid,
  .platforms-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  /* 統計カード */
  .stat-number {
    font-size: 2.5rem;
  }

  /* 実績カード */
  .result-number {
    font-size: 2rem;
  }

  .result-stats {
    flex-direction: column;
    gap: 1rem;
  }

  .result-divider {
    display: none;
  }

  /* お問い合わせ */
  .contact {
    padding: 3rem 0;
  }

  .contact-box {
    padding: 2rem 1.5rem;
  }

  .contact-box h3 {
    font-size: 1.2rem;
  }

  .contact-list li {
    font-size: 0.95rem;
    padding: 0.6rem 0;
  }

  .btn-large {
    font-size: 1rem;
    padding: 1rem 2rem;
  }

  /* フロートボタン調整 */
  .float-button {
    bottom: 1rem;
    right: 1rem;
    padding: 0.8rem 1rem;
  }

  .float-text {
    display: none;
  }

  .float-icon {
    font-size: 1.5rem;
  }
}

/* ========================================
   極小スマートフォン対応（375px以下）
======================================== */
@media (max-width: 375px) {
  .container {
    padding: 0 15px;
  }

  .hero-title {
    font-size: 1.8rem;
  }

  .section-title {
    font-size: 1.8rem;
  }

  .reason-card,
  .stat-card,
  .platform-card {
    padding: 1.5rem;
  }

  .result-card {
    padding: 1.5rem;
  }

  .contact-box {
    padding: 1.5rem;
  }

  .btn-large {
    padding: 0.9rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* ========================================
   横向き対応（スマホ横向き）
======================================== */
@media (max-width: 768px) and (orientation: landscape) {
  .hero {
    padding: 3rem 0;
  }

  section {
    padding: 3rem 0;
  }

  .hero .container {
    flex-direction: row;
    gap: 2rem;
  }

  .hero-title {
    font-size: 1.8rem;
  }
}

/* ========================================
   印刷対応
======================================== */
@media print {
  .header,
  .float-button,
  .mobile-menu-btn,
  .mobile-video-section {
    display: none;
  }

  .hero,
  .contact {
    background: white;
    color: black;
  }

  section {
    page-break-inside: avoid;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }
}

/* ========================================
   アクセシビリティ: モーション削減設定
======================================== */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .btn:hover,
  .reason-card:hover,
  .float-button:hover {
    transform: none;
  }
}

/* ========================================
   ダークモード対応（オプション）
======================================== */
@media (prefers-color-scheme: dark) {
  /* 必要に応じてダークモードスタイルを追加 */
  /* 現在は実装していませんが、将来的な拡張に備えて記載 */
}