@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/**
 * 指定されたプロパティに決められた基準のスペースを入れる mixin。
 *
 * @param {String} property name
 * @param {Number} 係数
 */
/**
 * コンテンツのプロパティ設定用 mixin。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} 配列での設定か、Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツスペース設定用 mixin。contents-space-XX にしたがって指定する。各サイズ設定に notset を入れるとそのサイズは設定されない。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * wrapper 用のサイドスペース設定 mixin。contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-subspace-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {Map} サイズを指定　デフォルトは空
 */
.calendar-wrapper {
  background-color: white;
  border-radius: 2.1229868228vw 1.4641288433vw;
  padding: 1.4641288433vw 0.878477306vw;
}
@media (max-width: 767px) {
  .calendar-wrapper {
    border-radius: 7.7333333333vw 5.3333333333vw;
    padding: 5.3333333333vw 3.2vw;
  }
}

.wpfc-calendar-wrapper * {
  font-size: 1.0248901903vw !important;
}
@media screen and (max-width: 1365px) {
  .wpfc-calendar-wrapper * {
    font-size: 12.2px !important;
  }
}
@media screen and (min-width: 1792px) {
  .wpfc-calendar-wrapper * {
    font-size: 18.6662px;
  }
}

.wpfc-calendar-wrapper h2 {
  color: black;
  margin-top: -0.1464128843vw !important;
  font-size: 1.1713030747vw !important;
}
@media screen and (max-width: 1365px) {
  .wpfc-calendar-wrapper h2 {
    font-size: 13.8px !important;
  }
}
@media screen and (min-width: 1792px) {
  .wpfc-calendar-wrapper h2 {
    font-size: 21.3328px;
  }
}

.fc-state-default {
  background-color: transparent;
  border: none;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
}

.fc-icon-right-single-arrow:after, .fc-icon-right-single-arrow:before {
  font-weight: 100;
}

.fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading td, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
  border: none;
}

.fc-toolbar.fc-header-toolbar {
  margin-bottom: initial;
}

.fc-basic-view .fc-body .fc-row {
  min-height: initial;
  height: 2.2693997072vw;
}

.fc td, .fc th {
  border-style: none;
  border-width: thin;
}

.fc-content {
  display: none;
}

.fc button .fc-icon {
  vertical-align: initial;
}

.fc-unthemed td.fc-today {
  background: linear-gradient(to top, transparent 0px, transparent 7px, #000 7px, #000 8px, transparent 8px);
  position: relative;
  z-index: 101;
}

.fc-today-button, .fc-month-button {
  display: none;
}

.fc-scroller {
  overflow: initial !important;
  height: initial !important;
}

.fc-event a {
  pointer-events: none;
  text-decoration: none;
}

.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
  float: none;
  text-align: center;
  position: absolute;
  left: 50%;
  top: calc(50% + 0.2928257687vw);
  transform: translateX(-50%);
  width: 100%;
}
@media (max-width: 767px) {
  .fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
    top: calc(50% + 1.0666666667vw);
  }
}

.fc-basic-view .fc-day-number, .fc-basic-view .fc-week-number {
  padding: 0;
}

.fc .fc-row .fc-content-skeleton table, .fc .fc-row .fc-content-skeleton td, .fc .fc-row .fc-helper-skeleton td {
  background: 0 0;
  border-color: transparent;
  position: relative;
}

.fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading td, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
  color: black;
  border-color: transparent;
}

.fc-day-header {
  font-weight: 100;
}

.fc-event-container .fc-day-grid-event {
  height: 2.1229868228vw;
  position: relative;
  z-index: -1;
}
@media (max-width: 767px) {
  .fc-event-container .fc-day-grid-event {
    height: 7.7333333333vw;
  }
}

.fc-toolbar .fc-center {
  width: 54%;
}

.fc-event {
  border-radius: 0;
}

.fc-row .fc-bg {
  height: 2.9282576867vw;
}
@media (max-width: 767px) {
  .fc-row .fc-bg {
    height: 10.6666666667vw;
  }
}

.wpfc-legend {
  margin-top: 1.1713030747vw;
}
@media (max-width: 767px) {
  .wpfc-legend {
    margin-top: 4.2666666667vw;
  }
}

.wpfc-legend-items {
  display: flex;
  gap: 0 1.1713030747vw;
}
@media (max-width: 767px) {
  .wpfc-legend-items {
    gap: 0 4.2666666667vw;
  }
}

.wpfc-legend-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.wpfc-legend-color {
  width: 1.756954612vw;
  height: 1.756954612vw;
  margin-right: 0.439238653vw;
}
@media (max-width: 767px) {
  .wpfc-legend-color {
    width: 6.4vw;
    height: 6.4vw;
    margin-right: 1.6vw;
  }
}

.wpfc-legend-name {
  font-size: 0.878477306vw;
}
@media screen and (max-width: 1365px) {
  .wpfc-legend-name {
    font-size: 10.6px;
  }
}
@media screen and (min-width: 1792px) {
  .wpfc-legend-name {
    font-size: 15.9996px;
  }
}
.wpfc-legend-name {
  color: black;
}

/* modal_linkのスタイル */
.modal_link {
  position: relative;
  display: inline-block;
}

/* モーダルのスタイル */
.modal {
  display: none;
  position: absolute;
  /* width: 284px; */
  width: 21.9619326501vw;
  height: 28.9897510981vw;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 2.1229868228vw 1.4641288433vw;
  box-shadow: 0 0.2928257687vw 0.878477306vw rgba(0, 0, 0, 0.15);
  z-index: 1000;
  left: 100%;
  margin-left: 2.196193265vw;
  top: -10.2489019034vw;
}
@media (max-width: 767px) {
  .modal {
    position: fixed;
    width: 86.6666666667vw;
    height: 97.0666666667vw;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin-left: 0vw;
    border-radius: 7.7333333333vw 5.3333333333vw;
    box-shadow: 0 1.0666666667vw 3.2vw rgba(0, 0, 0, 0.15);
  }
}

.modal.active {
  display: block;
}

.modal-content {
  padding: 2.1229868228vw 1.4641288433vw;
  position: relative;
  height: 100%;
  overflow-y: auto;
}
@media (max-width: 767px) {
  .modal-content {
    padding: 7.7333333333vw 5.3333333333vw;
  }
}

.modal-close {
  position: absolute;
  top: 0.439238653vw;
  right: 0.439238653vw;
  background: none;
  font-size: 1.2445095168vw;
}
@media screen and (max-width: 1365px) {
  .modal-close {
    font-size: 14.6px;
  }
}
@media screen and (min-width: 1792px) {
  .modal-close {
    font-size: 22.6661px;
  }
}
.modal-close {
  cursor: pointer;
  line-height: 1;
  padding: 0;
  width: 1.8301610542vw;
  height: 1.8301610542vw;
  border: 1px solid white;
  border-radius: 50%;
  color: white;
  padding-bottom: 0.0732064422vw;
}
@media (max-width: 767px) {
  .modal-close {
    top: 1.6vw;
    right: 1.6vw;
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    padding-bottom: 0.2666666667vw;
    font-size: clamp(14.8px, 4.1066666667vw, 16px);
  }
}

.modal-close:hover {
  color: #666;
  border: 1px solid #666;
}
