/* 共通のレスポンシブ設定 */
@media (max-width: 720px) {
  .header-container {
    padding: 10px;
  }
  
  .container {
    padding: 15px 5%;
  }
  
  /* スクロール問題を修正 */
  body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  /* ヘッダーロゴのモバイル調整 */
  .header-logo {
    font-size: 16px;
    white-space: nowrap !important;
  }
  
  .header-subtitle {
    font-size: 11px;
  }
  
  /* サイト名の最大幅を設定 - 言語ボタンと干渉しないよう */
  .site-name {
    max-width: 65% !important;
    min-width: 145px !important;
  }
  
  /* ページコンテナのパディング */
  .page-container {
    padding-bottom: 40px;
  }

  h1 {
    font-size: 24px;
    margin: 15px 0;
  }

  .sitemap-category h2 {
    font-size: 18px;
    margin: 25px 0 10px;
    padding-left: 12px;
  }
  
  .footer-wrapper {
    flex-direction: column;
    gap: 1em;
    align-items: center;
  }

  /* モバイル表示時のフッターリンク順序を修正 */
  .footer-wrapper a:nth-child(1) { order: 9; }
  .footer-wrapper a:nth-child(2) { order: 1; }
  .footer-wrapper a:nth-child(3) { order: 2; }
  .footer-wrapper a:nth-child(4) { order: 3; }
  .footer-wrapper a:nth-child(5) { order: 4; }
  .footer-wrapper a:nth-child(6) { order: 5; }
  .footer-wrapper a:nth-child(7) { order: 6; }
  .footer-wrapper a:nth-child(8) { order: 7; }
  .footer-wrapper a:nth-child(9) { order: 8; }
  
  /* サイドメニュー調整 */
  .side-menu {
    width: 280px;
  }
  
  /* 言語バー非表示 */
  .language-bar {
    display: none;
  }
  
  /* 広告スペースの調整 */
  .ad-container {
    margin: 15px auto;
  }
}

/* スマホ表示関連 */
@media (max-width: 768px) {
  .desktop-only {
    display: none !important;
  }
  
  /* iOS向けフッター表示の安定化 */
  html {
    height: -webkit-fill-available;
  }
  
  body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
}

@media (min-width: 769px) {
  .mobile-only {
    display: none !important;
  }
}