.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events,
.fc-daygrid-event-dot,
.fc .fc-list-event-dot {
  box-sizing: border-box;
}

.fc .fc-resource-timeline {
  border-bottom: 1px solid #ccc;
}
.fc .fc-timeline-lane-frame {
  min-height: 120px;
}

/* カレンダー横軸border指定 */
.fc-theme-standard td,
.fc-theme-standard th {
  border-color: #ccc;
  border-bottom: 0 none;
}

/* ==============================================================
.年月日、ボタン表示領域指定
============================================================== */
.fc .fc-toolbar {
  display: table;
  width: 100%;
}

.fc-toolbar .fc-toolbar-chunk {
  display: table-cell;
  vertical-align: text-bottom;
}

.fc .fc-toolbar-title {
  display: inline-block;
  font-size: 1.25em;
  font-weight: bold;
  vertical-align: super;
}

.fc-toolbar .fc-toolbar-chunk:last-child {
  text-align: right;
}

.fc-toolbar .fc-toolbar-chunk:last-child button {
  width: 200px;
}

/* ボタンの角を丸める */
.fc .fc-button {
  border-radius: 1.5rem !important;
}

.fc .fc-button.fc-today-button {
  padding: 7px 16px !important;
}

.fc .fc-button.fc-linkBtn-button {
  /* テキストとアイコンを上下中央に揃える */
  display: inline-flex !important;
  align-items: center;
  width: 212px !important;
  padding: 4px 10px 4px 20px !important;
  text-align: center;
}

/* スマホ版では下部にボタンを表示 */
@media (max-width: 992px) {
  .fc .fc-button.fc-linkBtn-button {
    display: none !important;
  }

  #scheduleArea .schedule-btn div {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 18px;
  }

  #scheduleArea .btn-dark {
    position: relative;
    display: block;
    width: 100%;
    padding: 15px 20px 15px 10px;
    font-size: 1.2em;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #3b4952;
    border-radius: 100px;
    box-shadow: 0 4px 4px -2px rgb(0 0 0 / 80%);
    transition: 0.3s;
  }

  #scheduleArea .btn-dark:hover {
    background: #2c3e50 !important;
  }

  #scheduleArea .btn-dark::after {
    position: absolute;
    top: 50%;
    right: 8px;
    display: block;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    content: "";
    background: url("../images/icon_link_arrow_white.svg") 0 0 / 24px 24px no-repeat;
  }

  #scheduleArea .btn-dark:hover {
    color: #fff;
    background-color: #2d2d2d;
  }
}

.fc .fc-button.fc-linkBtn-button::after {
  /* テキストとアイコンを上下中央に揃える */
  display: inline-flex !important;

  /* added for fc */
  align-items: center;
  width: 100%;
  height: 1em;

  /* ボタンのタイトルとズレる分を調整 */
  padding-bottom: 0.2rem;

  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: fcicons !important;
  font-size: 2.1rem;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-align: center;
  text-transform: none;

  /* 矢印アイコン */
  content: "";
  user-select: none;
  background: url("../images/icon_link_arrow_white.svg") 100% 50% / 20px 20px no-repeat;
}

/* 翌月、先月ボタンにカーソルを合わせても動かないようにする */
.fc .fc-button.fc-prevBtn-button {
  top: 0 !important;
  border-radius: 1.5rem 0 0 1.5rem !important;
}

.fc .fc-button.fc-prevBtn-button:hover {
  z-index: 0 !important;
}

.fc .fc-button.fc-nextBtn-button {
  top: 0 !important;
  border-left-color: #fff !important;
  border-left-width: 0.1rem !important;
  border-radius: 0 1.5rem 1.5rem 0 !important;
}

.fc .fc-button.fc-nextBtn-button:hover {
  z-index: 0 !important;
}

.fc .fc-toolbar .fc-button-group {
  vertical-align: text-bottom;
}

.fc .fc-button.fc-button-primary {
  color: #fff;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: text-bottom;
  background: #3b4952;
  border: 0 none;
  box-shadow: 0 4px 4px rgb(0 0 0 / 10%);
}

.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) {
  border-left: 1px solid #494949;
}

.fc .fc-button.fc-button-primary:hover {
  top: 2px;
  background-color: #2c3e50;
}

.fc .fc-button.fc-button-primary:disabled {
  box-shadow: none;
}

/* ==============================================================
.fc-view-harness カレンダー表示領域指定
============================================================== */
.fc-view-harness {
  margin-bottom: 16px;
}

/* ==============================================================
共通幅指定
============================================================== */

/* 左見出し領域のtd幅 */
.fc-scrollgrid > colgroup col:first-child,
.fc-scrollgrid .fc-datagrid-body > colgroup col:first-child {
  width: 40px !important;
}

/* 左見出し非表示のtd幅 */
.fc-scrollgrid > colgroup col:nth-child(2),
.fc-scrollgrid .fc-datagrid-body > colgroup col:nth-child(2) {
  width: 0 !important;
  visibility: hidden;
}

/* 見出しのtd要素内のコンテンツ位置 */
.cell-center {
  vertical-align: middle !important;
}

/* カレンダー領域のtable幅 */
.fc-timeline-body,
.fc-timeline-header,
.fc-scrollgrid-section-header .fc-timeline-header .fc-scrollgrid-sync-table,
.fc-scrollgrid-section-body .fc-timeline-body table {
  min-width: 930px !important;
}
@media screen and (min-width: 992px) {
  .fc-timeline-body,
  .fc-scrollgrid-section-header .fc-timeline-header .fc-scrollgrid-sync-table,
  .fc-scrollgrid-section-body .fc-timeline-body table {
    width: 100% !important;
  }
}

/* カレンダー領域のtd幅 */
.fc-scrollgrid-section-header .fc-timeline-header colgroup col,
.fc-scrollgrid-section-body .fc-timeline-body colgroup col {
  width: auto !important;
  min-width: 30px !important;
}

.fc-timeline-header {
  border-top: 1px solid #ccc;
}

/* ==============================================================
.fc-scrollgrid-section-header 1行目：日付表示行指定
============================================================== */

/* カレンダー左上 */
.fc-scrollgrid-section-header > th:first-child .fc-datagrid-header {
  display: none;
}

/*.fc-scrollgrid-section-header > th:first-child {
  height: 56px !important;
  overflow: hidden;
}*/

.fc-timeline-slot-frame {
  height: 44px !important;
}

/* 日付スタイル */
th.fc-day {
  font-size: 0.8em;
  font-weight: normal;
  border: solid 1px #ccc;
}

th.fc-day a {
  color: #2d2d2d;
  text-decoration: none;
}

th.fc-day .text-wod {
  color: #7b7473;
} /* 曜日カラー */
th.fc-day-sun .text-wod {
  color: #e42c1f;
} /* 日曜日カラー */
th.fc-day-sat .text-wod {
  color: #04aefe;
} /* 土曜日カラー */
th .text-holiday {
  color: #e42c1f !important;
} /* 祝日カラー */

/* ==============================================================
.fc-scrollgrid-section-body 2行目以降：タイムライン表示行指定
============================================================== */
.fc-scrollgrid {
  background-color: #fff;
}

.fc-theme-standard .fc-scrollgrid {
  border: none !important;
}

.fc .fc-datagrid-cell-cushion {
  overflow: visible;
  writing-mode: vertical-lr;
}

.fc-scrollgrid-section-body > td:first-child {
  font-size: 1em;
  color: #fff;
  background-color: #B59019;
}

/* 左側見出し表示調整 */
.fc-scrollgrid-section-body > td:first-child .fc-scroller.fc-scroller-liquid-absolute {
  overflow: hidden !important;
}

.fc-scrollgrid-section-body > td:first-child .fc-scroller {
  overflow: hidden !important;
}
@media (min-width:1200px) {
  .fc .fc-scroller {
   overflow: hidden !important;
  }
}
.fc-sticky {
  position: relative;
}

.fc-datagrid-cell {
  writing-mode: vertical-lr;
}

.fc-datagrid-cell-main {
  display: inline-block;
  font-size: 0.85em;
  writing-mode: vertical-lr;
}

/* 本場 */
.fc-datagrid-body td[data-resource-id="honjoRace"] {
  background-color: #3b4952;
}

td[data-resource-id="honjoRace"] a.fc-timeline-event {
  height: 125px;
}

@-moz-document url-prefix() {
  .fc-datagrid-body td[data-resource-id="honjoRace"] .fc-datagrid-cell-cushion {
    padding-right: 8px;
    padding-left: 8px;
  }
}

/* 場外 */
.fc-datagrid-body td[data-resource-id="jogai"] {
  background-color: #3b4952;
}

.fc-datagrid-cell-frame {
  width: 100%;
  min-height: 120px;
}

/* イベントバー（開催情報）の指定
------------------------------------------------------------ */
a.fc-timeline-event {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  overflow: hidden;
  font-size: 0.8em;
  color: #2d2d2d !important;
  text-align: center;
  white-space: nowrap;
}


/* 場外 */
a.fc-timeline-event.jyougaiRace {
  height: 90px !important;
}

.fc-event-selected,
.fc-event:focus {
  box-shadow: none;
}

.fc-timeline-event .fc-event-main {
  flex-grow: 0;
}

.fc-timeline-event.sch-seat {
  cursor: pointer !important;
}

/* ロイヤルルーム */
td[data-resource-id="reservedSeat"] {
  padding: 8px 4px;
  line-height: 1;
  overflow: hidden; /*2024.11.01 追加*/
}

td[data-resource-id="reservedSeat"] .fc-event-title {
  color: #171717;
  writing-mode: vertical-lr;
}

td[data-resource-id="reservedSeat"] a {
  padding: 0 5px 0 0;
  line-height: 1;
  background-color: transparent !important;
  left: -2px !important;
  border: 0;
}
td[data-resource-id="reservedSeat"] a:hover {
  opacity: 0.8;
}
td[data-resource-id="reservedSeat"] .fc-datagrid-cell-cushion {
  padding: 0 2px;
}

.sch-seat.fc-timeline-event .fc-event-title {
  display: flex;
  align-items: center;
  min-width: 20px;
  min-height: 40px;
  padding: 0;
}

/* レース名表示 */
.fc-h-event .fc-event-main {
  color: #3b4952 !important;
  white-space: normal;
}

.fc-timeline-event .fc-event-title {
  display: -webkit-box;
  max-height: 76px;
  padding: 0 0 2px;
  overflow: hidden;
  line-height: 1.2;
  color: #fff;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
a.fc-timeline-event.jyougaiRace .fc-event-title {
  max-height: 44px;
  -webkit-line-clamp: 3;
}
body[style="font-size: 1.25rem;"] .fc-timeline-event .fc-event-title {
  -webkit-line-clamp: 4;
}
body[style="font-size: 1.25rem;"] a.fc-timeline-event.jyougaiRace .fc-event-title {
  max-height: 40px;
  -webkit-line-clamp: 2;
}
/* グレードアイコン */
.icon-grade {
  min-width: 32px;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: bold;
  line-height: 14px;
  color: #000;
  text-align: center;
  white-space: nowrap;
  border: 1px solid #fff;
  border-radius: 1px;
}

/* .icon-grade.gp {
  background-image: linear-gradient(45deg, #00cac6 0%, #009794 72%, #009794 100%);
}

.icon-grade.g1 {
  background-image: linear-gradient(45deg, #ed6c4d 0%, #e62e02 72%, #e62e02 100%);
}

.icon-grade.g2 {
  background-image: linear-gradient(45deg, #ee6ca8 0%, #e62780 72%, #e62780 100%);
}

.icon-grade.g3 {
  background-image: linear-gradient(45deg, #5852eb 0%, #2e27e6 72%, #2e27e6 100%);
}

.icon-grade.f1 {
  background-image: linear-gradient(45deg, #ffa333 0%, #ff8c00 72%, #ff8c00 100%);
}

.icon-grade.f2 {
  background-image: linear-gradient(45deg, #9a68bf 0%, #744199 72%, #744199 100%);
} */

.icon-time,
.icon-girls {
  display: inline-block;
  width: 16px;
  height: 0;
  padding-top: 16px;
  overflow: hidden;
  vertical-align: text-bottom;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 16px 16px;
}

.icon-seat {
  display: inline-block;
  width: 21px;
  height: 21px;
  padding-top: 16px;
  overflow: hidden;
  vertical-align: text-bottom;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 21px 21px;
}

.icon-time.nighter {
  background-image: url("../images/schedule/icon_nighter.png");
}

.icon-time.midnight {
  background-image: url("../images/schedule/icon_midnight.png");
}

.icon-time.morning {
  background-image: url("../images/schedule/icon_morning.png");
}

.icon-time.summertime {
  background-image: url("../images/schedule/icon_summertime.png");
}

.icon-girls {
  background-image: url("../images/schedule/icon_girls.png");
}

.icon-seat {
  background-image: url("../images/schedule/icon_seat.svg");
}

.list-inline .icon-time,
.list-inline .icon-girls {
  vertical-align: middle;
}

/* 区切り線非表示化 */

/* .fc-scrollgrid-sync-table tr:first-child td.fc-timeline-lane.fc-resource,
.fc-scrollgrid-sync-table tr:nth-child(3) td.fc-timeline-lane.fc-resource,
.fc-scrollgrid-sync-table tr:nth-child(5) td.fc-timeline-lane.fc-resource,
.fc-scrollgrid-sync-table tr:last-child td.fc-timeline-lane.fc-resource { border-color: transparent;}
.fc-theme-standard .fc-scrollgrid-sync-table tr:last-child td{border-top: 0 none;} */
.fc-direction-ltr .fc-timeline-event.fc-event-end,
.fc-direction-ltr .fc-timeline-more-link {
  margin-left: 0;
}

/* ==============================================================
その他
============================================================== */
.fc-timeline-event::before,
.fc-timeline-event::after {
  display: none;
}

.fc-highlight {
  display: none;
}

/* ==============================================================
アイコン背景
============================================================== */
.icon-grade.f1 {
  background: #ffa200 !important;
}

.icon-grade.f2 {
  background: #03a3f6 !important;
}

.icon-grade.g1 {
  background: #cd60cd !important;
}

.icon-grade.g2 {
  background: #b67fd1 !important;
}

.icon-grade.g3 {
  background: #b67fd1 !important;
}

.icon-grade.gp {
  background: #d7bc03 !important;
}

/* ==============================================================
背景色
============================================================== */

.sch-hf.GI,
.sch-hf.GII,
.sch-hf.GIII {
  background-color: #e02000 !important;
}

.sch-hf.FI,
.sch-hf.FII {
  background-color: #e02166 !important;
}

.sch-jg.GI,
.sch-jg.GII,
.sch-jg.GIII {
  background-color: #3477c1 !important;
}

.sch-jf.FI,
.sch-jf.FII {
  background-color: #767676 !important;
}

.GP {
  background-color: #038092 !important;
}

/* ==============================================================
凡例
============================================================== */

.fullcalendar-bottom .notice {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.fullcalendar-bottom ul li {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}

.fullcalendar-bottom ul {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
}
.fullcalendar-bottom .example {
  margin-bottom: 4px;
}
.fullcalendar-bottom .example ul li {
  padding-right: 10px;
  margin-bottom: 0;
}

/* 本場・場外 */
.fullcalendar-bottom .hojo-g {
  font-size: 14px;
  color: #e02000;
}

.fullcalendar-bottom .hojo-f {
  font-size: 14px;
  color: #e02166;
}

.fullcalendar-bottom .jogai-g {
  font-size: 14px;
  color: #3477c1;
}

.fullcalendar-bottom .jogai-f {
  font-size: 14px;
  color: #767676;
}

.fullcalendar-bottom .honjogai-g {
  font-size: 14px;
  color: #038092;
}

/* 凡例 */
.fullcalendar-bottom .night,
.fullcalendar-bottom .morning,
.fullcalendar-bottom .girls,
.fullcalendar-bottom .seat {
  padding-right: 15px;
  line-height: 14px;
}

.fullcalendar-bottom .night::before,
.fullcalendar-bottom .morning::before,
.fullcalendar-bottom .girls::before,
.fullcalendar-bottom .seat::before {
  width: 14px;
  height: 14px;
  margin-right: 2px;
  content: "";
}

.fullcalendar-bottom .night::before {
  background: url("../images/schedule/icon_nighter.png") 0 0/14px 14px no-repeat;
}

.fullcalendar-bottom .morning::before {
  background: url("../images/schedule/icon_morning.png") 0 0/14px 14px no-repeat;
}

.fullcalendar-bottom .girls::before {
  background: url("../images/schedule/icon_girls.png") 0 0/14px 14px no-repeat;
}

.fullcalendar-bottom .seat::before {
  background: url("../images/schedule/icon_seat.svg") 0 1px/14px 14px no-repeat;
}

@media (min-width: 992px) {
  .fullcalendar-bottom .example {
    display: flex;
  }
}

/* ==============================================================
タイトル
============================================================== */
#scheduleArea {
  margin-top: 10px;
}

#scheduleArea .contents {
  padding-top: 20;
  padding-bottom: 0;
}

#scheduleArea::before {
  position: absolute;
  top: -14px;
  width: 100%;
  height: 14px;
  content: "";
  background-size: 30px 30px;
}

#scheduleArea .head-border::before {
  background-color: #000;
}

#scheduleArea .head-border::after {
  background-color: #000;
}
/* ==============================================================
btn-dokoto 水色背景ボタン
--------------------------------------------------------- */
a.btn-dokoto {
  position: relative;
  display: block;
  width: 100%;
  padding: 15px 20px 15px 10px;
  font-size: 1.2em;
  color: #fff!important;
  text-align: center;
  text-decoration: none;
  background: #50b9e6;
  border-radius: 100px;
  box-shadow: 0 1px 2px 0.5px rgba(9, 9, 11, 0.3);
  transition: 0.3s;
  font-weight: normal;
}

a.btn-dokoto:hover {
  background-color: #5093e6;
}

a.btn-dokoto::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  content: "";
  background: url("../images/icon_link_arrow_white.svg") 0 0/24px 24px no-repeat;
}
