.racing-carnival-table {
  width: 100%;
}

@media (max-width: 639px) {
  .racing-carnival-table-wrap {
    overflow: visible;
  }

  .racing-carnival-table,
  .racing-carnival-table tbody,
  .racing-carnival-table tr,
  .racing-carnival-table th,
  .racing-carnival-table td {
    display: block;
    width: 100%;
  }

  .racing-carnival-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .racing-carnival-table caption {
    display: block;
    margin-bottom: 1rem;
  }

  .racing-carnival-table tbody tr {
    margin-bottom: 1rem;
    border: 1px solid #d9dce1;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #fff;
  }

  .racing-carnival-table tbody tr:nth-child(even) {
    background: #fff;
  }

  .racing-carnival-table tbody th {
    padding: 0.875rem 1rem;
    background: #f1f1f1;
    text-align: left;
    font-size: 1.125rem;
    line-height: 1.35;
  }

  .racing-carnival-table tbody td {
    padding: 0.625rem 1rem;
    border-top: 1px solid #ececec;
    font-size: 1rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .racing-carnival-table tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.125rem;
    font-size: 0.875rem;
    font-weight: 700;
  }
}
