@charset "UTF-8";

.sectionTitle {
  text-align: center;
}

.si::before {
  background: linear-gradient(135deg, rgba(255, 244, 113, 1) 0%, rgba(116, 216, 255, 1) 50%, rgba(47, 247, 229, 1) 100%);
  opacity: 0.4;
}

.p-caption {
  text-shadow: 0 0 5px rgba(79 73 65 / 0.75);
}

/* galleryArea
---------------------------------------------- */
.galleryArea {
  padding-block: clamp(80px, 3.18rem + 7.77vw, 200px);
}

.galleryArea .sectionTitle .small {
  font-size: 50%;
}

.galleryContents {
  width: calc(100% - 300px);
  max-width: 1400px;
  margin-top: 90px;
}
.gallerySlider {
  position: relative;
  z-index: 0;
}
.gallerySlider .swiper-slide {
  /* width: min(calc(1400 / 1920 * 100%), 1400px); */
}
.gallerySlider .swiper-button-prev,
.gallerySlider .swiper-button-next {
  width: calc(120 / 1400 * 100%);
  height: auto;
  aspect-ratio: 1;
}
.gallerySlider .swiper-button-prev::before,
.gallerySlider .swiper-button-next::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 30%;
  height: 30%;
  border-top: 1px solid #808080;
  border-right: 1px solid #808080;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
}
.gallerySlider .swiper-button-prev {
  left: -130px;
  transform: scaleX(-1);
}
.gallerySlider .swiper-button-prev::before {
  right: 40%;
}
.gallerySlider .swiper-button-next {
  right: -130px;
}
.gallerySlider .swiper-button-next::before {
  left: 25%;
}

.thumbSlider {
  max-width: 1020px;
  margin-top: 60px;
  margin-inline: auto;
}

.thumbList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px calc(20 / 1020 * 100%);
}
.thumbList .swiper-slide {
  position: relative;
  z-index: 0;
}
.thumb__btn {
  position: relative;
  z-index: 0;
}
.thumb__btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255, 244, 113, 1) 0%, rgba(116, 216, 255, 1) 50%, rgba(47, 247, 229, 1) 100%);
  opacity: 0.4;
  transition: 0.3s ease-out;
  z-index: 1;
}
.thumbList .swiper-slide-thumb-active .thumb__btn::before {
  height: 0;
}
.thumb__cap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  font-family: 'Roboto', serif;
  font-optical-sizing: auto;
  font-size: 20px;
  letter-spacing: 0.05em;
  text-shadow: 0 0 10px rgb(0 0 0 / 0.3);
  text-align: center;
  transition: 0.4s;
  z-index: 2;
}
.thumbList .swiper-slide-thumb-active .thumb__cap {
  opacity: 0;
}

/* galleryBnr */
.galleryBnr {
  max-width: 1400px;
  margin-top: 100px;
}
.galleryBnrItem {
  width: calc((100% - 80px) / 2);
}

/* galleryIntro */
.galleryIntro {
  margin-top: 100px;
}

.galleryIntroBox {
  gap: 30px calc(140 / 1660 * 100%);
  width: 90%;
  max-width: 1660px;
}
.galleryIntroBox + .galleryIntroBox {
  margin-top: 150px;
}
.galleryIntroBox.reverse {
  margin-left: auto;
}

.galleryIntroBoxHead {
  width: calc(860 / 1660 * 100%);
}
.galleryIntroBoxHead.flex .galleryIntroBox__img {
  width: calc((100% - 10px) / 2);
}

.galleryIntroBoxBody {
  flex: 1;
}
* + .galleryIntroBox__text {
  margin-top: 2em;
}

* + .galleryIntroBoxBody__imgBox {
  margin-top: 50px;
}
.galleryIntroBoxBody__img {
  width: calc((100% - 50px) / 3);
}

.galleryArea .sectionCircle {
  width: calc(1417 / 1920 * 100%);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .galleryContents {
    width: 100%;
    margin-top: 50px;
  }
  .thumbSlider {
    width: calc(330 / 375 * 100%);
    margin-top: 80px;
    margin-inline: auto;
  }
  .thumbList {
    grid-template-columns: 1fr 1fr;
    gap: 10px calc(10 / 330 * 100%);
  }
  .thumb__cap {
    font-size: 13px;
  }

  .gallerySlider .swiper-button-prev,
  .gallerySlider .swiper-button-next {
    top: calc(100% + 10px);
    width: 60px;
    margin: 0 !important;
  }
  .gallerySlider .swiper-button-prev {
    left: 30%;
  }
  .gallerySlider .swiper-button-next {
    right: 30%;
  }

  .galleryBnr {
    row-gap: 20px;
    margin-top: 40px;
  }
  .galleryBnrItem {
    width: 100%;
  }

  /* .galleryIntro */
  .galleryIntroBox {
    width: 100%;
  }
  .galleryIntroBox + .galleryIntroBox {
    margin-top: 60px;
  }
  .galleryIntroBoxHead {
    width: calc(350 / 375 * 100%);
  }
  .galleryIntroBoxBody {
    flex: revert;
    width: calc(320 / 375 * 100%);
    margin-inline: auto;
  }
  * + .galleryIntroBox__text {
    margin-top: 1em;
  }

  .galleryIntroBoxHead.flex .galleryIntroBox__img {
    width: calc((100% - 4px) / 2);
  }

  * + .galleryIntroBoxBody__imgBox {
    margin-top: 20px;
  }
  .galleryIntroBoxBody__img {
    width: calc((100% - 24px) / 3);
  }
}

/* step
---------------------------------------------- */
.step__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  text-align: center;
}
.step__title::before,
.step__title::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background-color: #000;
}

.stepSliderWrap {
  margin-top: 100px;
  padding-left: calc(220 / 1920 * 100%);
  padding-block: 20px 100px;
  overflow: hidden;
}
.stepSlider {
  width: 400px;
  position: relative;
  z-index: 0;
}
.stepSlider .swiper-slide {
  display: flex;
  flex-direction: column;
  background-color: rgb(255 255 255 / 0.8);
  box-shadow: 0 0 10px rgba(0 0 0 / 0.2);
  padding: 50px;
  position: relative;
  z-index: 0;
}
.stepSlider .swiper-slide + .swiper-slide::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -60px;
  width: 20px;
  aspect-ratio: 1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  z-index: 0;
}
.stepSlider .swiper-slide::after {
  content: '';
  position: absolute;
  top: -8px;
  right: -8px;
  width: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #ea5504;
  z-index: 1;
}

.stepSlider__title {
  color: #2cb5a9;
  font-size: 33px;
  font-weight: 500;
}

.stepSlider__copy {
  display: flex;
  align-items: center;
  font-size: 20px;
  line-height: 1.8;
  margin-block: 1em;
}

.stepSlider .swiper-slide .photo {
  margin-top: auto;
}

.stepSlider .swiper-pagination {
  display: flex;
  gap: 35px;
  position: absolute;
  bottom: -50px;
  left: 0;
}

.stepSlider .swiper-pagination-bullet {
  background-color: #fff;
}
.stepSlider .swiper-pagination-bullet::before {
  content: '';
  position: absolute;
  top: 51%;
  left: 51%;
  transform: translate(-50%, -50%);
  width: 104px;
  aspect-ratio: 1;
  opacity: 0;
  background: url(../../img/common/figure_slider-dot-bg-green.png) center/contain no-repeat;
  visibility: hidden;
  z-index: 0;
}
.stepSlider .swiper-pagination-bullet-active {
  background-color: var(--color-green);
}
.stepSlider .swiper-pagination-bullet-active::before {
  opacity: 1;
  visibility: visible;
}

/* kidsRoom */
.kidsRoom {
  background-color: rgb(255 255 255 / 0.4);
  box-shadow: 0 0 20px rgba(0 0 0 / 0.2);
  border: 1px solid #fff;
  margin-top: 80px;
}

.kidsRoom__inner {
  gap: 25px calc(80 / 1080 * 100%);
  padding: calc(59 / 1198 * 100%);
}

.kidsRoom__img {
  width: calc(440 / 1080 * 100%);
}

.kidsRoom__body {
  flex: 1;
}

.kidsRoom__copy {
  color: #2cb5a9;
}

.kidsRoom__text {
  font-size: clamp(14px, 0.62rem + 0.52vw, 20px);
  line-height: 2;
  margin-top: 1.5em;
}

@media screen and (max-width: 768px) {
  .step__title {
    gap: 0.5em;
    width: 90%;
  }
  .step__title::before,
  .step__title::after {
    width: 20px;
  }

  .stepSliderWrap {
    margin-top: 35px;
    padding-inline: calc(40 / 375 * 100%);
    padding-block: 10px 60px;
  }
  .stepSlider {
    width: 100%;
  }
  .stepSlider .swiper-slide {
    width: 240px;
    padding: 30px;
  }
  .stepSlider .swiper-slide::after {
    width: 10px;
    top: -5px;
    right: -5px;
  }
  .stepSlider__title {
    font-size: 20px;
  }
  .stepSlider__copy {
    font-size: 12px;
    line-height: 1.6;
  }
  .stepSlider .swiper-slide + .swiper-slide::before {
    left: -40px;
    width: 15px;
  }
  .stepSlider .swiper-pagination {
    justify-content: center;
    left: 50%;
    transform: translateX(-50%);
  }
  .stepSlider .swiper-pagination-bullet {
    background-color: rgb(255 255 255 / 0.6);
  }
  .stepSlider .swiper-pagination-bullet-active {
    background-color: var(--color-green);
  }

  /* kidsRoom */
  .kidsRoom {
    margin-top: 40px;
  }

  .kidsRoom__inner {
    padding: calc(29 / 318 * 100%);
  }

  .kidsRoom__img {
    width: 100%;
  }

  .kidsRoom__body {
    flex: revert;
		width: 100%;
  }

  .kidsRoom__copy {
    color: #2cb5a9;
  }
	.kidsRoom__text {
		margin-top: 1em;
	}
}

/* reserveArea
---------------------------------------------- */
.reserveArea {
  padding-block: 130px 150px;
  position: relative;
  z-index: 0;
}
.reserveArea::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255, 244, 113, 1) 0%, rgba(116, 216, 255, 1) 50%, rgba(47, 247, 229, 1) 100%);
  opacity: 0.1;
  z-index: -1;
}

.reserveArea__copy {
  text-align: center;
}

.reserveBtnBox {
  max-width: 400px;
  margin-top: 50px;
}
.reserveArea__btn {
  background-color: #7c0d22;
  font-size: 20px;
}

@media screen and (max-width: 768px) {
  .reserveArea {
    padding-block: 40px 50px;
  }

  .reserveBtnBox {
    max-width: 280px;
    margin-top: 20px;
  }
  .reserveArea__btn {
    font-size: 16px;
  }
}
