  body {
    /*background-color: #f9f9f9;*/
    color: #333;
    line-height: 1.6;
    margin: 0;
    padding: 0;
  }

  .container {
    max-width: 960px;
    margin: auto;
    padding: 2rem;
  }

  h1 {
    text-align: center;
    font-size: 2rem;
    color: #006644;
    margin-bottom: 1.5rem;
  }
  h3{ 
    font-size:clamp(1.75rem,5vw,3rem);
    line-height:1.3;font-weight:600;
    letter-spacing:.05em;
    text-shadow:0 2px 4px rgba(0,0,0,.4);
} 
  .info-box {
    background-color: #fff3cd;
    border-left: 5px solid #ffecb5;
    padding: 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
  }

  .bus-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
  }

  .bus-table thead {
    background-color: #e8f5e9;
  }

  .bus-table th, .bus-table td {
    border: 1px solid #ccc;
    padding: 0.75rem;
    text-align: center;
  }

  .label {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    font-size: 0.8rem;
    color: #fff;
  }

  .label.tokkyu { background: #e57373; } /* 特急 */
  .label.kaisokukyu { background: #64b5f6; } /* 快速急行 */
  .label.kyuko  { background: #81c784; } /* 急行 */
  .label.kaisoku  { background: #32cd32; } /* 快速 */
  .label.kakueki  { background: #6e6e6e; } /* 快速 */
  .label.kakutei { background: #fff176; color: #000; } /* 準急など */

  .busmap{
    width: 40%;
    margin: auto;
  }
@media (max-width: 768px) {
  .busmap{
    width: 80%;
  }
}
    .sub-header {
      background: url("../images/access.JPG") center/cover no-repeat;
      /* ↑ 適宜、コース写真に差し替えてください */
      padding: 80px 16px 60px;
      text-align: center;
      color: #fff;
      position: relative;
      margin-top: 75px;
    }

    .sub-header::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.35);
    }

    .sub-header .inner {
      position: relative;
      max-width: 960px;
      margin: 0 auto;
    }

    .sub-header h3 {
      font-size:clamp(1.75rem,5vw,2rem);
      line-height:1.3;
      font-weight:600;
      letter-spacing:.05em;
      text-shadow:0 2px 4px rgba(0,0,0,.4);
    }

    .sub-header p {
      margin-top: 1rem;
      font-size: 1rem;
    }
    @media (max-width: 640px) {
      .sub-header {
        padding: 64px 12px 48px;
      }

      .sub-header h3 {
        font-size: 20px;
      }
    }