@charset "UTF-8";
:root {
  --color-brightest: #fff;
  --color-contrast: #f6f3ef;
  --color-main: #a7660f;
}

.bl-availability {
  padding: 40px 0 56px;
}
.bl-availability-intro {
  text-align: center;
  line-height: calc(27/17);
  margin-bottom: 16px;
}
.bl-availability-att {
  display: flex;
  justify-content: center;
  font-size: calc(14/17 * 1em);
  line-height: calc(20/14);
  margin-bottom: 24px;
}
.bl-availability-att::before {
  content: "※";
}
.bl-availability-table {
  width: min-content;
  margin-inline: auto;
  line-height: calc(27/17);
}
.bl-availability-thead-th {
  background-color: var(--color-contrast);
  border: 1px solid var(--color-main);
  font-weight: 400;
  padding: 15px 0 14px;
  min-width: 70px;
}
.bl-availability-thead-th:first-of-type {
  min-width: 210px;
}
.bl-availability-thead-th:not(:first-of-type) {
  border-left: none;
}
.bl-availability-thead-th-month {
  display: block;
}
.bl-availability-thead-th-date {
  display: block;
}
.bl-availability-thead-th-dayofweek {
  display: block;
}
.bl-availability-tbody-tr:not(:first-of-type) .bl-availability-tbody-th {
  border-top: 1px solid;
}
.bl-availability-tbody-tr:not(:first-of-type) .bl-availability-tbody-td {
  border-top: 1px solid var(--color-main);
}
.bl-availability-tbody-tr:last-of-type .bl-availability-tbody-td {
  border-bottom: 1px solid var(--color-main);
}
.bl-availability-tbody-th {
  color: var(--color-brightest);
  padding: 11px 0 12px;
  background-color: var(--color-main);
}
.bl-availability-tbody-td {
  border-color: var(--color-main);
  border-right: 1px solid var(--color-main);
  text-align: center;
}
.bl-availability-tbody-td:last-of-type {
  border-right: 1px solid var(--color-main);
}

@media (width >= 751px) {
  .u-sm {
    display: none;
  }
}
@media (width <= 750px) {
  .bl-availability {
    padding: 64px 0 80px;
  }
  .bl-availability-intro {
    margin-bottom: 24px;
  }
  .bl-availability-att {
    margin-bottom: 32px;
  }
  .bl-availability-scroll {
    display: flex;
    font-size: calc(14/17 * 1em);
    margin-bottom: 16px;
  }
  .bl-availability-scroll::before {
    content: "※";
  }
  .bl-availability-table-wrapper {
    overflow: scroll;
  }
  .bl-availability-thead-th {
    border-width: 2px;
    padding: 22.5px 0 21px;
    min-width: 105px;
  }
  .bl-availability-thead-th:first-of-type {
    min-width: 220px;
  }
  .bl-availability-tbody-tr:not(:first-of-type) .bl-availability-tbody-th {
    border-width: 2px;
  }
  .bl-availability-tbody-tr:not(:first-of-type) .bl-availability-tbody-td {
    border-width: 2px;
  }
  .bl-availability-tbody-tr:last-of-type .bl-availability-tbody-td {
    border-width: 2px;
  }
  .bl-availability-tbody-th {
    padding: 16.5px 0 18px;
  }
  .bl-availability-tbody-td {
    border-width: 2px;
  }
  .bl-availability-tbody-td:last-of-type {
    border-width: 2px;
  }
}