@charset "UTF-8";

/* calendar */

.p-calendar {
  margin-top: 4rem;
}

.p-calendar tr {
  display: table-row !important;
}
.p-calendar th,
.p-calendar td {
  display: table-cell !important;
}

.p-calendar .section__contents {
  position: relative;
}
.p-calendar .section__header--h2 {
  position: absolute;
  top: 0;
  left: 0;
  color: #000000;
}
.p-calendar .fc-toolbar {
  justify-content: flex-start;
}
.p-calendar .fc-toolbar-title {
  font-weight: bold;
  font-family: "Outfit", sans-serif;
  margin-right: 1rem;
}
.p-calendar .fc-button {
  top: 0;
}
.p-calendar .fc-button-primary {
  top: 0;
}
.p-calendar .fc-today-button {
  background-color: #594a3c !important;
  border-color: #594a3c !important;
}
.p-calendar .fc-prev-button {
  background-color: #7aa577 !important;
  border-color: #7aa577 !important;
}
.p-calendar .fc-next-button {
  background-color: #7aa577 !important;
  border-color: #7aa577 !important;
}
.p-calendar .fc-view {
  font-size: 1.2rem;
}
.p-calendar .fc-view thead {
  top: 0;
}
.p-calendar .fc-view thead th {
}
.p-calendar .fc-view thead th.fc-day-sat a {
  color: #8fb7f7;
}
.p-calendar .fc-view thead th.fc-day-sun a {
  color: #f78f8f;
}
.p-calendar .fc-col-header-cell-cushion {
}
.p-calendar .fc-view tbody {
  top: 0;
}
.p-calendar .fc-view tbody td {
  top: 0;
}
.p-calendar .fc .fc-daygrid-day-frame {
  background-color: #ffffff;
}
.p-calendar .fc-view tbody .fc-daygrid-event {
  padding: 1px 2px;
}
.p-calendar .fc-view tbody .fc-daygrid-dot-event {
  background-color: #7aa577;
  padding: 2px 4px;
  color: #fff;
}
.p-calendar .fc-view tbody .fc-daygrid-event-dot {
  display: none;
}
.p-calendar .fc-view tbody .fc-event-time {
  display: none;
}
.p-calendar .fc-view tbody .fc-event-title {
  font-weight: normal;
}
.p-calendar .fc-popover-header {
  font-size: 1.2rem;
}
.p-calendar .fc-popover-body {
  font-size: 1.2rem;
}
.p-calendar .fc-popover-body .fc-more-popover-misc {
  display: none;
}

.p-modal-calendar__title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.p-modal-calendar__wrap {
  text-align: center;
}
.p-modal-calendar__time {
  font-size: 1rem;
}
.p-modal-calendar__desc {
  font-size: 1.4rem;
}

@media screen and (max-width: 575px) {
  .p-calendar .fc {
    margin-top: 1.5rem;
  }
  .p-calendar .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1rem;
  }
  .p-calendar .fc-toolbar-title {
    font-size: 1rem;
  }
  .p-calendar .fc-today-button {
    font-size: 0.75rem;
    padding: 0.6rem;
  }
  .p-calendar .fc-col-header-cell-cushion {
    font-size: 1rem;
  }
  .p-calendar .fc-prev-button {
    padding: 0.4rem 0.5rem;
  }
  .p-calendar .fc-prev-button span {
    font-size: 1rem;
  }
  .p-calendar .fc-next-button {
    padding: 0.4rem 0.5rem;
  }
  .p-calendar .fc-next-button span {
    font-size: 1rem;
  }
  #calendar-ele02 {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/* modal */

@keyframes modal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-inner {
  from {
    transform: translate(0, 5rem);
  }
  to {
    transform: translate(0, 0);
  }
}
.c-modal {
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 10000;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal;
  transition: opacity 0.3s ease-out;
}
.c-modal__inner {
  position: relative;
  width: calc(100% - 4rem);
  padding-top: 3rem;
  margin-top: -3rem;
}
.c-modal__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.67);
}
.c-modal__body {
  position: relative;
  border-radius: 0.5rem;
  background-color: #ffffff;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-inner;
  transform: translate(0, 0);
  transition: transform 0.3s ease-out;
  width: 100%;
  max-height: 40rem;
  margin: auto;
  padding: 2.4rem;
  overflow: scroll;
}
.c-modal__close-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.2rem;
  height: 2.4rem;
}
.c-modal__close-btn::before,
.c-modal__close-btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 3.2rem;
  height: 1px;
  margin: auto;
  border-radius: 1.3rem;
  background-color: #ffffff;
  transform: rotate(45deg);
}
.c-modal__close-btn::after {
  transform: rotate(-45deg);
}
.c-modal.modal-close {
  opacity: 0;
}
.c-modal.modal-close .c-modal__body {
  transform: translate(0, 5rem);
}

@media screen and (max-width: 575px) {
  .c-modal__body {
    padding: 1rem;
  }
  .p-modal-calendar__title {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
  .p-modal-calendar__time {
    font-size: 1rem;
    margin-bottom: 0;
  }
}


.fc-daygrid-event-harness {
  background-color: #fff;
}

.fc-daygrid-event-harness + .fc-daygrid-event-harness {
  margin-top: 1rem;
}

.fc-daygrid-event-harness a {
  background-color: #7aa577;
  font-size: .6rem;
}

.fc-daygrid-day-events > div + div {
  margin-top: .5rem!important;
}

.fc-h-event {
  border: solid 1px #fff!important;
}

.type-text {
  text-align: center;
  font-size: .8rem;
}