@charset "UTF-8";
/* CSS Document */

/*COMMON*/

/*背景：白*/
.bg-white {
  background-color: #fff!important;
}

/*ロックスパークボタンカラー*/
.btn-rsp {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc6220;
  --bs-btn-border-color: #dc6220;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #eba680;
  --bs-btn-hover-border-color: #eba680;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc6220;
  --bs-btn-active-border-color: #dc6220;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #f5e6de;
  --bs-btn-disabled-border-color: #f5e6de;
}

a {
  color: #dc6220;
  text-decoration: none;
}
a:hover {
  color: #eba680;
}
h1 {
  color: #dc6220;
  margin-bottom: 3rem;
}

h2 {
  border-bottom: solid 2px #dc6220;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

h3 {
  color: #fff;
  padding: 0.5rem;
  background-color: #eba680;
}

.card-body-bg {
  background-color: #efefef;
}

.eventDateArea {
  font-weight: bold;
}

.accordion-button:not(.collapsed) {
  background-color: #efefef;
  color: #dc6220;
}

.eventName {
  min-width: 160px;
}

/*テーブル表示 最適化*/

/* 標準最適化版 */
.table-events-optimized {
    font-size: 0.9rem;
}

.table-events-optimized .table td,
.table-events-optimized .table th {
    white-space: normal !important;
    word-break: break-word;
    vertical-align: middle;
    padding: 0.6rem 0.4rem;
}

.table-events-optimized .date-col { width: 110px; }
.table-events-optimized .prefecture-col { width: 80px; }
.table-events-optimized .action-col { width: 110px; }

.table-events-optimized .btn {
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
}

@media (max-width: 768px) {
    .table-events-optimized { font-size: 0.8rem; }
    .table-events-optimized .table td,
    .table-events-optimized .table th { padding: 0.5rem 0.3rem; }
    .table-events-optimized .date-col { width: 90px; }
    .table-events-optimized .prefecture-col { width: 70px; }
    .table-events-optimized .action-col { width: 90px; }
    .table-events-optimized .btn {
        font-size: 0.7rem;
        padding: 0.2rem 0.4rem;
    }
}

@media (max-width: 576px) {
    .table-events-optimized { font-size: 0.75rem; }
    .table-events-optimized .table td,
    .table-events-optimized .table th { padding: 0.4rem 0.25rem; }
    .table-events-optimized .date-col { width: 80px; }
    .table-events-optimized .prefecture-col { width: 60px; }
    .table-events-optimized .action-col { width: 80px; }
    .table-events-optimized .btn {
        font-size: 0.65rem;
        padding: 0.15rem 0.3rem;
    }
}

  /* 更なるスペース効率化オプション */
  .table-events-compact {
      font-size: 0.85rem;
  }

  .table-events-compact .table td,
  .table-events-compact .table th {
      white-space: normal !important;
      word-break: break-word;
      vertical-align: middle;
      padding: 0.5rem 0.3rem;
  }

  .table-events-compact .date-col { width: 125px; }
  .table-events-compact .prefecture-col { width: 70px; }
  .table-events-compact .action-col { width: 100px; }

  .table-events-compact .btn {
      font-size: 0.75rem;
      padding: 0.25rem 0.5rem;
  }

  @media (max-width: 768px) {
      .table-events-compact {
          font-size: 0.75rem;
      }
      .table-events-compact .table td,
      .table-events-compact .table th {
          padding: 0.4rem 0.25rem;
      }
      .table-events-compact .date-col { width: 120px; }
      .table-events-compact .prefecture-col { width: 60px; }
      .table-events-compact .action-col { width: 85px; }
      .table-events-compact .btn {
          font-size: 0.7rem;
          padding: 0.2rem 0.4rem;
      }
  }

  @media (max-width: 576px) {
      .table-events-compact {
          font-size: 0.7rem;
      }
      .table-events-compact .table td,
      .table-events-compact .table th {
          padding: 0.3rem 0.2rem;
      }
      .table-events-compact .date-col { width: 120px; }
      .table-events-compact .prefecture-col { width: 50px; }
      .table-events-compact .action-col { width: 75px; }
      .table-events-compact .btn {
          font-size: 0.65rem;
          padding: 0.15rem 0.3rem;
      }
  }

  /* スマホ用アイコンボタン */
  @media (max-width: 480px) {
      .table-events-compact .btn-text {
          display: none;
      }
      .table-events-compact .btn::after {
          /*content: "リスト";*/
          font-size: 0.65rem;
      }
      .table-events-compact .btn-result::after {
          /*content: "結果";*/
          font-size: 0.65rem;
      }
  }


/* 参加者リスト・大会結果 */
.table-optimized {
    font-size: 0.85rem;
}

.table-optimized .table td,
.table-optimized .table th {
    white-space: normal !important;
    word-break: break-word;
    vertical-align: middle;
    padding: 0.5rem 0.3rem;
}

/* レスポンシブ調整 */
@media (max-width: 768px) {
    .table-optimized { font-size: 0.8rem; }
    .table-optimized .rank-col { width: 50px; }
    .table-optimized .number-col { width: 65px; }
    .table-optimized .time-col { width: 75px; }
}

@media (max-width: 576px) {
    .table-optimized { font-size: 0.75rem; }
    .table-optimized .table td,
    .table-optimized .table th { padding: 0.4rem 0.25rem; }
    .table-optimized .rank-col { width: 45px; }
    .table-optimized .number-col { width: 60px; }
    .table-optimized .time-col { width: 70px; }
}

@media (max-width: 480px) {
    .table-optimized { font-size: 0.7rem; }
    .table-optimized .table td,
    .table-optimized .table th { padding: 0.3rem 0.2rem; }
    .table-optimized .rank-col { width: 40px; }
    .table-optimized .number-col { width: 55px; }
    .table-optimized .time-col { width: 65px; }
}

