/* =========================================================
/assets/css/index.css
========================================================= */
/* ---------------------------------------------------------
main　PC
--------------------------------------------------------- */

main {
  color: #1a1a1a;
}
.container {
  width: 1104px;
}

/* #sec-mv
--------------------------------------------------------- */
#sec-mv .mv-bg {
  height: 390px;
}
#sec-mv .mv-img {
  max-width: 390px;
  height: auto;
}


/* #sec-event-header
--------------------------------------------------------- */
#sec-event-header {
  padding: 80px 0 40px;
}
#sec-event-header .e-head {
  justify-content: flex-start;
  gap: 0 32px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
#sec-event-header .e-red {
  color: #e92c2c;
  font-weight: 500;
  border-radius: 4px;
  padding: 3px 4px;
  background: rgba(255, 59, 59, 0.1);
}
#sec-event-header .e-head .e-head-item {
  gap: 0 8px;
}
#sec-event-header .e-head .e-head-item .e-label {
  font-size: 1.6rem;
}
#sec-event-header .box .box-note {
  font-size: 1.6rem;
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
}
#sec-event-header .box ul li {
  position: relative;
  padding-left: 14px;
  line-height: 170%;
}
#sec-event-header .box ul li:before {
  content: '・';
  position: absolute;
  left: 0;
}
#sec-event-header .box .box-note::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 18px;
  background-image: url(/assets/img/icons/icon-note.svg);
}
#sec-event-header .box p {
  line-height: 170%;
}

#sec-event-header-shrink {
  padding-bottom: 0;
}



/* #sec-swiper
--------------------------------------------------------- */
#sec-swiper {
  padding-top: 48px;
}
#sec-swiper .swiper-content {
  position: relative;
}
#sec-swiper .swiper-slide img{
  width: 398px;
  height: 233px;
  object-fit: cover;
}
#sec-swiper .swiper-slide {
  width: 398px !important;
}
#sec-swiper .swiper-slide.modal-slide .slide-image{
  aspect-ratio: 1;
}
#sec-swiper .swiper-slide.modal-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#sec-swiper .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 9999;
  background-color: rgba(120, 123, 131, 0.8);
}
#sec-swiper .modal.is-active {
  opacity: 1;
  pointer-events: auto;
}
#sec-swiper .modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* .error-message
--------------------------------------------------------- */
#sec-event-detail .error-message {
  margin-bottom: 26px;
  padding: 16px;
  border: solid 1px #e92c2c;
  color: #e92c2c;
}

#event-form .error-message {
  margin-top: 80px;
  padding: 16px;
  border: solid 1px #e92c2c;
  color: #e92c2c;
}

/* #sec-event-detail
--------------------------------------------------------- */
#sec-event-detail {
  padding-bottom: 40px;
}
#sec-event-detail p {
  line-height: 170%;
}
#sec-event-detail p.note {
  position: relative;
  margin-top: 8px;
  padding-left: 19px;
  font-size: 1.6rem;
  font-weight: 300;
}
#sec-event-detail p.note::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 27px;
}
#sec-event-detail p.light {
  font-size: 1.6rem;
  font-weight: 300;
}
#sec-event-detail .d-lead {
  margin-bottom: 80px;
}
#sec-event-detail .d-lead h2 {
  font-size: 2.6rem;
  margin-bottom: 24px;
}
#sec-event-detail .d-reserve {
  margin-top: 80px;
}
.reserve-flow {
  justify-content: center;
  margin: 56px auto 0;
  gap: 48px;
}
.reserve-flow .f-item {
  flex-direction: column;
  width: 126px;
}
.reserve-flow .f-item .f-num {
  position: relative;
  width: 36px;
  height: 36px;
  font-size: 1.8rem;
  line-height: 170%;
  color: #fff;
  background: #dadada;
  border-radius: 50%;
  text-align: center;
}
.reserve-flow .f-item .f-num:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 36px;
  transform: translateY(-50%);
  width: 138px;
  height: 1px;
  background: #dadada;
}
.reserve-flow .f-item.finished .f-num:before {
  background: #000;
}
.reserve-flow .f-item:last-child .f-num:before {
  display: none;
}
.reserve-flow .f-item.finished .f-num {
  background: #000;
  color: #fff;
}
.reserve-flow .f-item.current .f-num {
  border: #000 solid 1px;
  background: #fff;
  color: #000;
}
.reserve-flow .f-item .f-txt {
  margin-top: 3px;
  font-size: 1.2rem;
  color: #dadada;
}
.reserve-flow .f-item.finished .f-txt, .reserve-flow .f-item.current .f-txt {
  color: #000;
}
#sec-event-detail .d-reserve .d-reserve-inner.is-inactive, #sec-event-detail .d-reserve .d-reserve-inner.is-inactive input{
  color: #9d9d9d;
}
#sec-event-detail .d-reserve .d-reserve-inner.is-inactive .btn-spinner path {
  fill: #9d9d9d;
}
#sec-event-detail .d-reserve .d-reserve-inner.is-inactive {
  pointer-events: none;
}
#sec-event-detail .d-reserve h2 {
  font-size: 2.6rem;
  margin-bottom: 8px;
}
#sec-event-detail .d-reserve h3 {
  font-size: 1.6rem;
}
#sec-event-detail .d-reserve .r-list {
  margin-bottom: 24px;
}
#sec-event-detail .d-reserve .r-list .r-label p {
  margin-top: 5px;
}
#sec-event-detail .d-reserve .r-list .r-label p .light {
  font-weight: 300;
}
#sec-event-detail .d-reserve:not(.reserve2) .r-list li {
  border-bottom: #eaeaea 1px solid;
  padding: 16px 0;
}
#sec-event-detail .d-reserve .btn-spinner {
  width: 109px;
}
#sec-event-detail .d-reserve .spinner {
  border: none;
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
  color: #000;
}
#sec-event-detail .d-reserve .spinner:focus-visible {
  outline: none;
}
#sec-event-detail .d-reserve .spinner-sub:not(.disabled), #sec-event-detail .d-reserve .spinner-add:not(.disabled) {
  cursor: pointer;
}
#sec-event-detail .d-reserve .spinner-sub, #sec-event-detail .d-reserve .spinner-add {
  height: 21px;
}
#sec-event-detail .d-reserve .spinner-sub.disabled path, #sec-event-detail .d-reserve .spinner-add.disabled path {
  fill: #9d9d9d;
}
#sec-event-detail .d-reserve .btn-reserve {
  margin: 80px 0;
}
#sec-event-detail .d-reserve.reserve2 .r-list {
  margin-top: 24px;
}
#sec-event-detail .d-reserve .r-list li + li {
  margin-top: 24px;
}
#sec-event-detail .d-reserve .btn-label {
  display: inline-block;
  border: #000 solid 1px;
  padding: 2px 16px 8px;
  font-size: 1.8rem;
  font-weight: 500;
  background: #fff;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
#sec-event-detail .d-reserve .btn-label:hover {
  background: #000;
  color: #fff;
}
#sec-event-detail .d-reserve .btn-label.is-active {
  background: #000;
  color: #fff;
}
#sec-event-detail .d-reserve .d-reserve-inner.is-inactive .btn-label.is-active {
  background: #9d9d9d;
}
#sec-event-detail .d-reserve .btn-label span.price {
  font-size: 2.2rem;
}
#sec-event-detail .d-reserve .btn-label span.light {
  font-size: 1.4rem;
  font-weight: 300;
}
#sec-event-detail .d-reserve .btn-reserve .b-reserve {
  width: 200px;
  padding: 11px;
}
#sec-event-detail #sec-calendar .calendar {
  margin-bottom: 56px;
}
#sec-event-detail #sec-calendar .has-event, #sec-event-detail #sec-calendar .has-event .dot{
  transition: all 0.3s;
}
#sec-event-detail #sec-calendar .has-event.is-active {
  background: #000;
  color: #fff;
}
#sec-event-detail #sec-calendar .has-event.is-active .dot {
  color: #fff;
}
#sec-event-detail .select-date, #sec-event-detail #sec-slot {
  display: none;
  margin-bottom: 56px;
}
#sec-event-detail #sec-slot .slot-list {
  gap: 16px;
  justify-content: flex-start;
}
#sec-event-detail #sec-slot .slot-list .btn-slot {
  text-align: center;
  width: calc((100% - 64px ) / 5);
  border: #1a1a1a 1px solid;
  padding: 15px 0;
  background: #fff;
  cursor: pointer;
  transition: all 0.3s;
}
#sec-event-detail #sec-slot .slot-list .btn-slot.little-vacant {
  background: #f7f7f7;
}
#sec-event-detail #sec-slot .slot-list .btn-slot.no-vacant {
  background: #f0f0f0;
}
#sec-event-detail #sec-slot .slot-list .btn-slot.is-active,
#sec-event-detail #sec-slot .slot-list .btn-slot:hover {
  background: #000;
  color: #fff;
}
#sec-event-detail #sec-slot .slot-list .btn-slot.is-active .s-time {
  font-weight: 900;
}
#sec-event-detail #sec-slot .slot-list .btn-slot:hover .s-time {
  font-weight: 900;
}
#sec-event-detail #sec-slot .slot-list .btn-slot .s-upper {
  display: inline-flex;
  align-items: center;
  gap: 0 5px;
}
#sec-event-detail #sec-slot .slot-list .btn-slot .s-time {
  font-size: 1.6rem;
}
#sec-event-detail #sec-slot .slot-list .btn-slot .s-mark {
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url(/assets/img/icons/icon-round.svg);
  background-size: contain;
  transition: all 0.3s;
}
#sec-event-detail  #sec-slot .slot-list .btn-slot.is-active .s-mark,
#sec-event-detail  #sec-slot .slot-list .btn-slot:hover .s-mark {
  background-image: url(/assets/img/icons/icon-round-white.svg);
}
#sec-event-detail  #sec-slot .slot-list .btn-slot.little-vacant .s-mark {
  background-image: url(/assets/img/icons/icon-triangle.svg);
}
#sec-event-detail  #sec-slot .slot-list .btn-slot.little-vacant.is-active .s-mark,
#sec-event-detail  #sec-slot .slot-list .btn-slot.little-vacant:hover .s-mark {
  background-image: url(/assets/img/icons/icon-triangle-white.svg);
}
#sec-event-detail  #sec-slot .slot-list .btn-slot.no-vacant .s-mark {
  background-image: url(/assets/img/icons/icon-cross.svg);
}
#sec-event-detail  #sec-slot .slot-list .btn-slot.no-vacant.is-active .s-mark,
#sec-event-detail  #sec-slot .slot-list .btn-slot.no-vacant:hover .s-mark {
  background-image: url(/assets/img/icons/icon-cross-white.svg);
}

#sec-event-detail  #sec-slot .slot-list .btn-slot .s-capacity {
  font-size: 1.2rem;
  font-weight: 500;
}
#sec-event-detail  #sec-confirm {
  display: none;
}
#sec-event-detail  #sec-confirm .box {
  padding: 40px 40px 48px;
}
#sec-event-detail  #sec-confirm .box .c-ttl {
  font-size: 2.6rem;
  margin-bottom: 16px;
}
#sec-event-detail  #sec-confirm .box .c-ticket {
  font-size: 1.6rem;
  margin-bottom: 8px;
}
#sec-event-detail  #sec-confirm .box .c-ticket .participants {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
#sec-event-detail  #sec-confirm .box .c-ticket .participants .number-of-people {
  margin-left: 15px;
}
#sec-event-detail  #sec-confirm .box .c-ticket .participants .fee {
  margin-left: 30px;
}
#sec-event-detail  #sec-confirm .box .c-ticket span.price {
  font-size: 2.2rem;
  font-weight: 500;
}
#sec-event-detail  #sec-confirm .box .c-ticket span.light {
  font-size: 1.4rem;
  font-weight: 300;
}
#sec-event-detail  #sec-confirm .box .flex {
  justify-content: flex-start;
  gap: 16px;
}
#sec-event-detail  #sec-confirm .box .flex .c-date {
  font-size: 1.8rem;
}
#sec-event-detail  #sec-confirm .box .flex .map a {
  font-size: 1.4rem;
  height: 26px;
  padding: 2px 8px;
}
#sec-event-detail  #sec-confirm .b-proceed {
  width: 180px;
}
#sec-event-detail  #sec-condition {
  margin-bottom: 32px;
}
#sec-event-detail  #sec-condition h2 {
  margin-bottom: 16px;
}
#sec-event-detail  #sec-condition .box {
  margin-bottom: 16px;
  padding: 24px 32px;
}
#sec-event-detail  #sec-condition input[type="checkbox"] {
  margin-right: 5px;
  appearance: auto;
}
#sec-event-detail  #sec-notes {
  margin-bottom: 32px;
}
#sec-event-detail  #sec-notes h2 {
  margin-bottom: 16px;
}
#sec-event-detail  #sec-notes .box {
  margin-bottom: 16px;
  padding: 24px 32px;
  max-height: 300px;
  overflow-y: scroll;
}
#sec-event-detail  #sec-notes input[type="checkbox"] {
  margin-right: 5px;
  appearance: auto;
}
#sec-event-detail #sec-waitlist {
  display: none;
}
#sec-event-detail #sec-waitlist p {
  margin-bottom: 32px;
}
#sec-event-form {
  padding-top: 0;
}

#sec-reserve-thanks {
  margin: 80px 0 56px;
}

#thanks-confirm {
  margin: 80px 0 56px;
  padding: 24px 32px;
  background-color: #f7f7f7;
}
#thanks-confirm .thanks-confirm-title {
  font-size: 18px;
  margin-bottom: 16px;
}
#thanks-confirm .thanks-confirm-list {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
#thanks-confirm .thanks-confirm-list div {
  display: flex;
  column-gap: 16px;
}
#thanks-confirm .thanks-confirm-list div dd {
  font-weight: 300;
}

/* ---------------------------------------------------------
main　SP
--------------------------------------------------------- */
@media (max-width: 767px) {

  .container {
    width: 100%;
  }


  /* #sec-event-header
  --------------------------------------------------------- */
  #sec-event-header {
    padding-bottom: 0;
    padding-top: 20px;
  }
  #sec-event-header .e-head {
    margin-top: 8px;
  }
  #sec-event-header .e-red{
    display: inline-block;
  }
  #sec-event-header .box ul li {
    padding-left: 19px;
  }
  #sec-event-header .box ul li + li {
    margin-top: 10px;
  }


  /* #sec-event-detail
  --------------------------------------------------------- */
  #sec-event-detail {
    padding-bottom: 0;
  }
  #sec-event-detail p.note {
    margin-top: 2.0513vw;
    font-size: 1.4rem;
    font-weight: 400;
  }
  #sec-event-detail p.light {
    font-size: 1.4rem;
    font-weight: 400;
  }
  #sec-event-detail .d-lead {
    margin-bottom: 10.2564vw;
  }
  #sec-event-detail .d-lead h2 {
    font-size: 2.2rem;
    margin-bottom: 	6.1538vw;
  }
  .reserve-flow {
    width: 350px;
    justify-content: space-between
  }
  .reserve-flow .f-item .f-step {
    margin-bottom: 5px;
    font-size: 1.2rem;
    color: #dadada;
  }
  .reserve-flow .f-item.finished .f-step, .reserve-flow .f-item.current .f-step {
    color: #000;
  }
  .reserve-flow .f-item {
    width: 36px;
  }
  .reserve-flow .f-item .f-num:before {
    width: 69px;
  }
  #sec-event-detail .d-reserve h2 {
    margin-bottom: 2.0513vw;
  }
  #sec-event-detail .d-reserve .r-list .r-label {
    max-width: calc(100% - 110px);
  }
  #sec-event-detail .d-reserve .spinner {
    width: 100%;
 }
  #sec-event-detail .d-reserve .btn-spinner {
    width: 93px;
  }
  #sec-event-detail .d-reserve .r-list li + li {
    margin-top: 2.0513vw;
  }
  #sec-event-detail .d-reserve .btn-label {
    width: 100%;
    padding: 10px 16px 8px;
    font-weight: 400;
    text-align: center;
  }
  #sec-event-detail .d-reserve .btn-label span.price {
    font-weight: 500;
  }
  #sec-event-detail .select-date {
    margin-bottom: 24px;
  }
  #sec-event-detail #sec-calendar .calendar {
    margin-bottom: 0;
  }
  #sec-event-detail #sec-slot .slot-list {
    flex-wrap: wrap;
    justify-content: center;
  }
  #sec-event-detail #sec-slot .slot-list .btn-slot {
    width: calc((100% - 32px ) / 3);
  }
  #sec-event-detail  #sec-confirm .box {
    text-align: center;
    padding: 6.1538vw 
    4.1025vw;
  }
  #sec-event-detail  #sec-confirm .box .c-ttl {
    font-size: 2.2rem;
    margin-bottom: 6.1538vw;
  }
  #sec-event-detail  #sec-confirm .box .flex {
    flex-direction: column;
  }
  #sec-event-detail  #sec-confirm .box .c-ticket .participants .fee {
    text-align: right;
    width: 100%;
  }
  #sec-event-detail  #sec-condition .box {
    padding: 4.1026vw;
    text-align: left;
  }
  #sec-event-detail  #sec-notes .box {
    padding: 4.1026vw;
    text-align: left;
  }

  #thanks-confirm {
    margin: 14.3589vw 0;
    padding: 6.1538vw 8.2051vw;
    background-color: #f7f7f7;
  }
  #thanks-confirm .thanks-confirm-list {
    row-gap: 6.1538vw;
  }
  #thanks-confirm .thanks-confirm-list div {
    flex-direction: column;
    row-gap: 0;
  }

}