/* 日曜日：赤 */
.flatpickr-calendar
  .flatpickr-innerContainer
  .flatpickr-weekdays
  .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar
  .flatpickr-innerContainer
  .flatpickr-days
  .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(
    .nextMonthDay
  ):nth-child(7n + 1) {
  color: #dc143c;
}

/* 土曜日：青 */
.flatpickr-calendar
  .flatpickr-innerContainer
  .flatpickr-weekdays
  .flatpickr-weekday:nth-child(7),
.flatpickr-calendar
  .flatpickr-innerContainer
  .flatpickr-days
  .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(
    .nextMonthDay
  ):nth-child(7n) {
  color: #0068b7;
}

/* カレンダーの年と月が表示されているところ */
.flatpickr-current-month {
  display: flex !important;
  flex-direction: row-reverse;
  justify-content: center;
}

/* 今日の日付の部分 */
.flatpickr-day.today {
  background: #f9f7f7;
  border-radius: 5px;
  border: none;
}

/* クリックして選択した日付の部分 */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #112d4e !important;
  border-radius: 5px;
  font-weight: bold;
  color: #fff !important;
  border: 1px solid #112d4e !important;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  background: #b1cae6;
  border-radius: 5px;
}

/* 時間選択部分 */
.numInputWrapper span {
  width: 20px !important;
  padding: 0 4px !important;
}

.numInputWrapper span.arrowUp:after {
  border-left: 5px solid transparent !important;
  border-right: 5px solid transparent !important;
  border-bottom: 5px solid rgba(57, 57, 57, 0.6) !important;
}

.numInputWrapper span.arrowDown:after {
  border-left: 5px solid transparent !important;
  border-right: 5px solid transparent !important;
  border-top: 5px solid rgba(57, 57, 57, 0.6) !important;
}
