@charset "utf-8";
    body {
      margin: 0;
      padding: 0;
      color: #222;
      background: #fff;
      font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
      line-height: 1.9;
    }

    .rule-page {
      max-width: 1080px;
      margin: 0 auto;
      padding: 40px 24px 80px;
      box-sizing: border-box;
    }

    .page-title {
      margin: 0 0 8px;
      font-size: 34px;
      line-height: 1.4;
      font-weight: 700;
    }

    .page-date {
      margin: 0 0 32px;
      color: #666;
      font-size: 14px;
    }

    .chapter {
      margin-top: 48px;
    }

    .chapter-title {
      margin: 0 0 20px;
      padding-bottom: 10px;
      border-bottom: 2px solid #222;
      font-size: 28px;
      line-height: 1.5;
      font-weight: 700;
    }

    .article {
      margin-bottom: 28px;
    }

    .article-title {
      margin: 0 0 8px;
      font-size: 20px;
      line-height: 1.6;
      font-weight: 700;
    }

    .article-body p {
      margin: 0 0 10px;
      font-size: 16px;
    }

    .article-body .indent {
      padding-left: 1em;
      text-indent: -1em;
    }

    .article-body .sub-indent {
      padding-left: 2em;
      text-indent: -1em;
    }

    .note-text {
      color: #555;
      font-size: 14px;
    }

    .data-table-wrap {
      overflow-x: auto;
      margin: 16px 0 8px;
      -webkit-overflow-scrolling: touch;
    }

    table.data-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      border-spacing: 0;
      background: #fff;
    }

    .data-table th,
    .data-table td {
      border: 1px solid #cfcfcf;
      padding: 12px 14px;
      vertical-align: top;
      font-size: 15px;
      line-height: 1.7;
    }

    .data-table th {
      background: #f7f7f7;
      font-weight: 700;
      text-align: center;
    }

    .data-table td.center {
      text-align: center;
    }

    .data-table td.right {
      text-align: right;
      white-space: nowrap;
    }

    .simple-list {
      margin: 8px 0 0;
      padding: 0;
      list-style: none;
    }

    .simple-list li {
      margin: 0 0 6px;
      padding-left: 1em;
      text-indent: -1em;
      font-size: 16px;
    }

    .time-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-top: 14px;
    }

    .time-box {
      border: 1px solid #d7d7d7;
      padding: 16px;
      box-sizing: border-box;
    }

    .time-box-title {
      margin: 0 0 10px;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.5;
    }

    .time-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .time-list li {
      margin: 0 0 8px;
      font-size: 15px;
      line-height: 1.7;
    }

   .course-table-pc {
    display: block;
  }

  .course-table-sp {
    display: none;
  }

  .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .course-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
  }

  .course-table th,
  .course-table td {
    border: 1px solid #ccc;
    padding: 14px 12px;
    vertical-align: top;
    font-size: 15px;
    line-height: 1.8;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .course-table th {
    background: #f7f7f7;
    text-align: center;
    font-weight: 700;
  }

  .course-table td:nth-child(1) {
    width: 22%;
    font-weight: 700;
  }

  .course-table td:nth-child(2) {
    width: 12%;
    text-align: center;
    white-space: nowrap;
  }

  .course-table td:nth-child(3) {
    width: 12%;
    text-align: center;
    white-space: nowrap;
  }

  .course-table td:nth-child(4) {
    width: 12%;
    text-align: center;
    white-space: nowrap;
  }

  .course-table td:nth-child(5) {
    width: 42%;
  }

    @media screen and (max-width: 768px) {
      .rule-page {
        padding: 24px 16px 56px;
      }

      .page-title {
        font-size: 26px;
      }

      .page-date {
        margin-bottom: 24px;
        font-size: 13px;
      }

      .chapter {
        margin-top: 36px;
      }

      .chapter-title {
        font-size: 22px;
        margin-bottom: 16px;
      }

      .article-title {
        font-size: 18px;
      }

      .article-body p,
      .simple-list li {
        font-size: 15px;
        line-height: 1.85;
      }

      .data-table th,
      .data-table td {
        font-size: 14px;
        padding: 10px 12px;
      }

    .course-table-pc {
      display: none;
    }

    .course-table-sp {
      display: block;
    }

    .course-card {
      border: 1px solid #ccc;
      margin-bottom: 16px;
      background: #fff;
    }

    .course-card-title {
      padding: 12px 14px;
      background: #f7f7f7;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7;
      border-bottom: 1px solid #ccc;
    }

    .course-card-row {
      padding: 10px 14px;
      border-bottom: 1px solid #eee;
      line-height: 1.8;
      font-size: 14px;
    }

    .course-card-row:last-child {
      border-bottom: none;
    }

    .course-card-label {
      display: block;
      font-weight: 700;
      margin-bottom: 4px;
    }
    }