@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&family=Oswald&display=swap");
/* ============================================================
  events-detail
  - Event Organiser のイベント本文内で使う共通ブロック
  - BEM / モバイルファースト（min-width）
  - Price は「ラベル + 金額」で見やすく（dl）
  - Notes は「p単独」も「ul複数」も対応
  - 後続にカレンダーが来る想定で下余白を確保
============================================================ */
.events-detail {
  margin-top: 0;
  padding-top: 2.4rem;
  padding-right: 0;
  padding-bottom: 2.4rem;
  padding-left: 0;
  background-color: #F7FBFF;
}
.events-detail__intro {
  margin: 0;
  padding: 0;
}
.events-detail__lead {
  margin: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 1.2rem;
  padding-left: 0;
  border-bottom: 1px solid #D3DEE7;
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  font-weight: 700;
  line-height: 1.6;
  color: #1B2730;
}
.events-detail {
  /* --------------------------------------------
    Price
  -------------------------------------------- */
}
.events-detail__price {
  margin-top: 1.2rem;
  padding: 0;
}
.events-detail__price-item {
  margin: 0;
  padding: 0;
}
.events-detail__price-list {
  margin: 0;
  padding-top: 1.2rem;
  padding-right: 1.2rem;
  padding-bottom: 1.2rem;
  padding-left: 1.2rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(27, 39, 48, 0.1);
  background-color: rgba(255, 255, 255, 0.88);
  -webkit-box-shadow: 0 10px 26px rgba(27, 39, 48, 0.06);
          box-shadow: 0 10px 26px rgba(27, 39, 48, 0.06);
}
.events-detail__price-row {
  margin: 0;
  padding: 0;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.8rem;
}
.events-detail__price-row + .events-detail__price-row {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px dashed rgba(27, 39, 48, 0.12);
}
.events-detail__price-label {
  margin: 0;
  padding: 0;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.7;
  color: #24313A;
  opacity: 0.85;
  white-space: nowrap;
}
.events-detail__price-value {
  margin: 0;
  padding: 0;
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  font-weight: 700;
  line-height: 1.4;
  color: #1B2730;
  white-space: nowrap;
}
.events-detail {
  /* （任意）備考/期間などを足したいイベント用 */
}
.events-detail__price-period {
  opacity: 0.82;
}
.events-detail {
  /* --------------------------------------------
    Notes
  -------------------------------------------- */
}
.events-detail__notes {
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top: 1px solid #D3DEE7;
}
.events-detail {
  /* 単独メッセージ（p） */
}
.events-detail__note {
  margin: 0;
  padding: 0;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  line-height: 1.7;
  color: #24313A;
  opacity: 0.88;
}
.events-detail__note + .events-detail__note {
  margin-top: 0.6rem;
}
.events-detail {
  /* 複数メッセージ（ul/li） */
}
.events-detail__note-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-grid;
  display: grid;
  gap: 0.6rem;
}
.events-detail__note-item {
  margin: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  line-height: 1.7;
  color: #24313A;
  opacity: 0.88;
}
@media (min-width: 768px) {
  .events-detail {
    margin-bottom: 3.2rem;
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }
  .events-detail__price-row {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
  }
  .events-detail__lead {
    padding-bottom: 1.4rem;
    font-size: clamp(2.2rem, 1.982rem + 0.68vw, 2.8rem);
  }
  .events-detail__price {
    margin-top: 1.6rem;
  }
  .events-detail__price-list {
    padding-top: 1.6rem;
    padding-right: 1.6rem;
    padding-bottom: 1.6rem;
    padding-left: 1.6rem;
  }
  .events-detail__price-label {
    font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  }
  .events-detail__note, .events-detail__note-item {
    font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  }
}

/* wpautop で events-detail 直後に空pが混入した場合 */
.events-detail + p:empty {
  display: none;
}

/* ============================================================
  events-calendar（区切り）
============================================================ */
.events-calendar {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top: 1px solid #D3DEE7;
}

/* ============================================================
  FullCalendar 追加上書き（プラグイン標準CSSの上に重ねる）
  - 土日：曜日（ヘッダ）と日付（数字）を色分け
  - イベント名：省略しない（2行OK）
  - UI改善：余白/クリック/フォーカス
============================================================ */
/* --------------------------------------------
  Weekend color（直接指定）
-------------------------------------------- */
.eo-fullcalendar th.fc-day-header.fc-sat,
.eo-fullcalendar td.fc-day-number.fc-sat {
  color: #1E88E5;
}

.eo-fullcalendar th.fc-day-header.fc-sun,
.eo-fullcalendar td.fc-day-number.fc-sun {
  color: #D32F2F;
}

/* 当月外（薄く） */
.eo-fullcalendar td.fc-day-number.fc-other-month.fc-sat,
.eo-fullcalendar td.fc-day-number.fc-other-month.fc-sun {
  opacity: 0.45;
}

/* --------------------------------------------
  Day cell spacing（張り付き/詰まり軽減）
-------------------------------------------- */
.eo-fullcalendar .fc-row .fc-content-skeleton td {
  padding-top: 0.5rem !important;
  padding-right: 0.5rem !important;
  padding-bottom: 0.4rem !important;
  padding-left: 0.5rem !important;
}

.eo-fullcalendar .fc-day-number {
  font-weight: 700;
  padding-top: 0.5rem !important;
  padding-right: 0.8rem !important;
  padding-bottom: 0.4rem !important;
  padding-left: 0.8rem !important;
}

/* --------------------------------------------
  Events（省略しない / 2行OK）
-------------------------------------------- */
.eo-fullcalendar .fc-day-grid-event {
  padding-right: 0.4rem;
  padding-left: 0.4rem;
}

.eo-fullcalendar .fc-day-grid-event .fc-content {
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}

.eo-fullcalendar .fc-event .fc-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  overflow: hidden;
  text-overflow: clip;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  line-height: 1.3;
}

/* --------------------------------------------
  Click / focus（操作性）
-------------------------------------------- */
.eo-fullcalendar a.fc-event {
  display: block;
  min-height: 2.6rem;
}

.eo-fullcalendar a.fc-event:hover {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 12px 26px rgba(27, 39, 48, 0.12);
          box-shadow: 0 12px 26px rgba(27, 39, 48, 0.12);
}

.eo-fullcalendar a.fc-event:focus-visible {
  outline: 0;
  -webkit-box-shadow: 0 0 0 3px rgba(0, 163, 181, 0.22), 0 12px 26px rgba(27, 39, 48, 0.12);
          box-shadow: 0 0 0 3px rgba(0, 163, 181, 0.22), 0 12px 26px rgba(27, 39, 48, 0.12);
}

/* --------------------------------------------
  Responsive
-------------------------------------------- */
@media (min-width: 768px) {
  .eo-fullcalendar .fc-day-number {
    padding-right: 0.9rem !important;
    padding-left: 0.9rem !important;
  }
}