/* ===================================
   companies-responsive.css
   レスポンシブ対応スタイル
   =================================== */

/* タブレット対応 (768px以下) */
@media (max-width: 768px) {
  .back-to-top {
    right: 70px;
    bottom: 30px;
    width: 45px;
    height: 45px;
    font-size: 20px;
  }

  .companies-container {
    padding: 15px;
  }

  .companies-header h1 {
    font-size: 2rem;
  }

  .companies-header p {
    font-size: 1rem;
  }

  .companies-search {
    flex-direction: column;
    align-items: center;
  }

  .companies-search input {
    width: 280px;
    margin-bottom: 10px;
  }

  .region-filter {
    padding: 0 10px;
  }

  .region-filter button {
    font-size: 13px;
    padding: 6px 12px;
  }

  .company-section h2 {
    font-size: 1.5rem;
  }

  .section-intro {
    padding: 15px;
    font-size: 1rem;
  }

  .company-table {
    font-size: 14px;
  }

  .company-table th,
  .company-table td {
    padding: 10px 8px;
  }

  .company-table th {
    font-size: 14px;
  }
}

/* スマートフォン対応 (480px以下) */
@media (max-width: 480px) {
  .companies-header h1 {
    font-size: 1.8rem;
  }

  .companies-search input {
    width: 250px;
  }

  .region-filter button {
    font-size: 12px;
    padding: 5px 10px;
    margin: 3px;
  }

  .company-table {
    font-size: 13px;
  }

  .company-table th,
  .company-table td {
    padding: 8px 6px;
  }

  /* テーブルを横スクロール可能にする */
  .company-table {
    min-width: 600px;
  }

  .companies-content {
    overflow-x: auto;
  }

  .back-to-top {
    right: 60px;
    bottom: 25px;
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

/* 大画面対応 (1400px以上) */
@media (min-width: 1400px) {
  .back-to-top {
    right: calc((100vw - 1200px) / 2 - 60px);
  }

  .companies-container {
    max-width: 1400px;
  }

  .companies-header h1 {
    font-size: 3rem;
  }

  .companies-header p {
    font-size: 1.2rem;
  }

  .company-section h2 {
    font-size: 2rem;
  }
}

/* 超大画面対応 (1920px以上) */
@media (min-width: 1920px) {
  .companies-container {
    max-width: 1600px;
  }
}