.calendarUi_header {display: flex; justify-content: center; align-items: center;}
.calendarUi_header button {
  background-color: transparent;
  border: none;
  width: 24px;
  aspect-ratio: 1;
  padding: 0;
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  margin-top: 5px;
}
.calendarUi_header #year_month_label {font-size: 18px; font-weight: bold; margin: 0 20px;}
.calendarUi_header #year_month_label span {font-size: 26px;}
table.calendarUi_tbl {
  min-width: 100%;
  margin: 20px auto 0;
  border: 1px solid;
  border-collapse: collapse;
}
table.calendarUi_tbl tr th, table.calendarUi_tbl tr td {text-align: center; width: calc(100% / 7); border: 1px solid #000; font-weight: bold; vertical-align: top;}
table.calendarUi_tbl tr th {background-color: #e7e7e7; padding: 5px;}
/* table.calendarUi_tbl tr td:first-child {background-color: #ccc;} */
table.calendarUi_tbl tr th:last-child, table.calendarUi_tbl tr td:last-child {color: #ef4056;}
table.calendarUi_tbl tr th:nth-last-child(2), table.calendarUi_tbl tr td:nth-last-child(2) {color: #1268b3;}
table.calendarUi_tbl tr td {height: 3em; padding-bottom: 7px;}
table.calendarUi_tbl tr td.with_date:hover {background-color: #f2f2f2;}
.sttOrder {display: flex; gap: 10px; justify-content: space-between; padding: 3px 10px;}
.sttOrder > span:first-child {max-width: 55px; flex: 1 1 auto; font-size: 10px; color: #fff; padding: 3px 5px; white-space: nowrap;}
.sttOrder.--sty1 > span:first-child {background-color: #f7931e;}
.sttOrder.--sty2 > span:first-child {background-color: #1b1464;}
.sttDay {display: inline-block; width: 18px; aspect-ratio: 1; align-self: center;}
.sttDay.--true {border: solid 3px #006428; border-radius: 999px;}
.sttDay.--false {position: relative;}
.sttDay.--false:before, .sttDay.--false:after {content: ""; width: 3px; height: 18px; background-color: #006428; position: absolute; left: 50%; top: 50%;}
.sttDay.--false:before {transform: translate(-50%, -50%) rotate(45deg);}
.sttDay.--false:after {transform: translate(-50%, -50%) rotate(-45deg);}
.sttDay.--default {position: relative;}
.sttDay.--default:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 18px solid #006428;
  z-index: 0;
}
.sttDay.--default:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 10px solid #fff;
  margin-top: 1.5px;
  z-index: 1;
}

@media only screen and (min-width: 769px) and (max-width: 1279px) {	
  table.calendarUi_tbl tr th, table.calendarUi_tbl tr td {min-width: 95px;}
}
@media only screen and (max-width: 1660px) {
  .users__main {padding-left: 4vw; padding-right: 4vw;}
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
  .booking__inner.--calendar {flex-wrap: wrap; justify-content: center;}
  .booking__inner.--calendar > *, .booking__inner.--calendar form {max-width: 720px;}
}
@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .users__inner {padding-left: 20px; padding-right: 20px;}
  .booking__inner.--calendar {flex-wrap: nowrap;}
  table.calendarUi_tbl tr th, table.calendarUi_tbl tr td {min-width: 100%;}
}