/* ================================================
   Responsive Styles - Public Interest Capitalism Academy
   レスポンシブ対応のスタイル定義
   ================================================ */

/* ===== タブレット（768px以下） ===== */
@media (max-width: 768px) {
  /* フォントサイズ調整 */
  html {
    font-size: 14px;
  }
  
  h1 {
    font-size: var(--font-size-3xl);
  }
  
  h2 {
    font-size: var(--font-size-2xl);
  }
  
  h3 {
    font-size: var(--font-size-xl);
  }
  
  /* コンテナ */
  .container {
    padding: 0 var(--spacing-md);
  }
  
  /* ヘッダー */
  .header-content {
    flex-direction: column;
    gap: var(--spacing-md);
    text-align: center;
  }
  
  /* ナビゲーション */
  .nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-sm);
  }
  
  .nav-link {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
  }
  
  /* カード */
  .card {
    padding: var(--spacing-lg);
  }
  
  /* グリッド */
  .grid-2,
  .grid-3 {
    grid-template-columns: 1fr;
  }
  
  /* フッター */
  .footer-content {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  /* セクション */
  .section {
    padding: var(--spacing-2xl) 0;
  }
  
  /* ボタン */
  .btn {
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
  }
}

/* ===== モバイル（480px以下） ===== */
@media (max-width: 480px) {
  /* さらに小さいフォントサイズ */
  html {
    font-size: 13px;
  }
  
  /* コンテナ */
  .container {
    padding: 0 var(--spacing-sm);
  }
  
  /* ヘッダー */
  .header {
    padding: var(--spacing-md) 0;
  }
  
  .logo-ja {
    font-size: var(--font-size-lg);
  }
  
  .logo-en {
    font-size: var(--font-size-xs);
  }
  
  /* カード */
  .card {
    padding: var(--spacing-md);
    border-radius: var(--radius-md);
  }
  
  .card-footer {
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: stretch;
  }
  
  /* セクション */
  .section {
    padding: var(--spacing-xl) 0;
  }
  
  .section-title {
    margin-bottom: var(--spacing-lg);
  }
  
  .section-subtitle {
    margin-bottom: var(--spacing-xl);
  }
}

/* ===== デスクトップ大画面（1280px以上） ===== */
@media (min-width: 1280px) {
  html {
    font-size: 18px;
  }
  
  .container {
    padding: 0 var(--spacing-2xl);
  }
  
  .section {
    padding: var(--spacing-4xl) 0;
  }
}

/* ===== 印刷用スタイル ===== */
@media print {
  .header,
  .nav,
  .footer,
  .btn {
    display: none;
  }
  
  body {
    background-color: white;
    color: black;
  }
  
  .card {
    box-shadow: none;
    border: 1px solid #ccc;
    page-break-inside: avoid;
  }
}
