/* ルート */
:root {
  --fc-button-bg-color: #005cbb;
  --fc-button-border-color: #005cbb;
  --fc-today-bg-color: inherit;
  --fc-day-sun-text-color: red;
  --fc-day-sat-text-color: #1e90ff;
  --fc-grid-biz-day-background-color: transparent;
  --fc-grid-off-day-background-color: #c0c0c0;
  --fc-border-size: 2px;
  --fc-border-color: #fff;
  --fc-grid-header-background-color: #f5f5f5;
}

/* 日曜テキスト */
.fc-day-sun {
  color: var(--fc-day-sun-text-color);
}

/* 土曜テキスト */
.fc-day-sat {
  color: var(--fc-day-sat-text-color);
}

/* 土日、休業日の背景 */
.fc-day.fc-daygrid-day.fc-day-sun,
.fc-day.fc-daygrid-day.fc-day-sat,
.fc-day.fc-daygrid-day:has(.fc-event-off) {
  color: #fff;
  background-color: var(--fc-grid-off-day-background-color);
}

/* 祝日の背景 */
.fc-day.fc-daygrid-day:has(.fc-event-hol) {
  color: var(--fc-day-sun-text-color);
  background-color: var(--fc-grid-off-day-background-color);
}

/* 営業日の背景 */
.fc-day.fc-daygrid-day:has(.fc-event-biz) {
  background-color: var(--fc-grid-biz-day-background-color);
}

/* ヘッダの背景 */
.fc-col-header-cell {
  background-color: var(--fc-grid-header-background-color);
}

/* グリッド線 */
.fc-theme-standard td,
.fc-theme-standard th {
  border: var(--fc-border-size) solid var(--fc-border-color);
}

/* イベント非表示 */
.fc .fc-daygrid-day-events {
  display: none !important;
}

/* カレンダーの数字を中央に大きく */
.fc-daygrid-day-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1rem;
}

/* タイトル */
.fc .fc-toolbar-title {
  font-size: 1.2rem;
  font-weight: normal;
}

/* タイトルの下余白 */
.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 0.5em;
}

/* ボタン間の余白 */
.fc .fc-button,
.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) {
  margin-left: 4px;
}

.fc-direction-ltr .fc-toolbar > * > :not(:first-child) {
  margin-left: 0;
}

/* ボタンの外観 */
.fc .fc-button {
  min-width: 3.5rem;
  border-radius: 0;
}

/* リンクを視覚的に無効 */
.fc-col-header-cell-cushion,
.fc-daygrid-day-number,
.fc-event {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

/* グリッドの下マージン */
.fc-scrollgrid {
  margin-bottom: 0;
}
