
.home_fv {
  position: relative;
  height: 100dvh;
}
.home_fv video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home_fv-catchphrase {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  gap: 18px;
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  padding: 0 0 108px;
  color: var(--color-white);
  font-family: "Baskervville", "Shippori Mincho", serif;
  line-height: 1;
  text-shadow: 0 3px 6px rgba(17, 17, 17, 0.4);
}
.home_fv-catchphrase-1 {
  flex: 0 0 auto;
  display: grid;
  font-size: 24px;
}
.home_fv-catchphrase-1 span + span {
  font-size: 42px;
}
.home_fv-catchphrase-2 {
  flex: 0 0 auto;
  font-size: var(--font-size-18);
}
.home_fv-catchphrase .line {
  flex: 1 1 100%;
  height: 1px;
  margin-bottom: 0.63rem;
  background-color: currentColor;
}
.home_concept-lead {
  position: relative;
  display: grid;
  align-content: end;
  gap: 20px;
  justify-content: end;
  max-width: 1920px;
  height: 1080px;
  margin-right: auto;
  margin-left: auto;
  padding-right: min(160px, 8.33%);
  padding-bottom: 456px;
  padding-left: var(--side-padding);
  color: var(--color-white);
  font-size: var(--font-size-15);
  line-height: 1.75;
}
.home_concept-lead > *:not(.bg) {
  position: relative;
}
.home_concept-lead .bg {
  background-image: url(../img/home/conceppt-bg-lg.webp);
}
.home_concept-lead .point-text {
  position: absolute;
  top: 392px;
  right: 55%;
  font-family: "Baskervville", serif;
  font-size: 42px;
  line-height: 1.15;
}
.home_concept-lead .pointer {
  --size: 6px;
  --duration: 3s;
  position: absolute;
  top: 440px;
  right: 52%;
  width: var(--size);
  height: var(--size);
}
.home_concept-lead .pointer::before,
.home_concept-lead .pointer::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--color-white);
  transform-origin: center;
  opacity: 0;
  animation: blinkAnimation var(--duration) ease-in-out infinite;
  will-change: transform, opacity;
}
.home_concept-lead .pointer::after {
  animation-delay: calc(var(--duration) / 2);
}
@keyframes blinkAnimation {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  5% {
    transform: scale(1);
    opacity: 0.8;
  }
  15% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(9);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home_concept-lead .pointer::before,
  .home_concept-lead .pointer::after {
    animation: none;
  }
}
.home_concept-lead h2 {
  margin-bottom: 28px;
}
.home_concept-lead h2 + p {
  margin-top: 0;
  margin-bottom: 0;
}
.home_concept-container {
  position: relative;
  max-width: 1600px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 60px;
  padding-left: 60px;
}
.home_concept-container:nth-of-type(2) {
  margin-top: -270px;
}
.home_concept-container::after {
  content: "";
  display: block;
  clear: both;
}
.home_concept-container .image-wrap {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
  width: 64.75%;
  margin-top: -135px;
  padding-right: 5.63%;
  padding-left: 5.63%;
}
.home_section-subheading-wrap {
  float: right;
  display: grid;
  justify-items: start;
  margin-top: -58px;
  padding-right: 5%;
}
.home_section-subheading {
  font-family: "Baskervville", serif;
  font-size: var(--font-size-30);
  font-weight: 400;
}
.home_section-subheading + p {
  margin-top: 6px;
  font-size: var(--font-size-13);
  line-height: 1.5;
}
.home_concept-text {
  display: grid;
  gap: 20px;
  width: 64.75%;
  margin-top: 48px;
  padding-right: 7.63%;
  padding-bottom: 148px;
  padding-left: 7.63%;
}
.home_concept-container:nth-of-type(3) .home_concept-text {
  padding-bottom: 165px;
}
.home_concept-container:nth-of-type(3) :where(.image-wrap, .home_concept-text) {
  float: right;
  position: relative;
}
.home_concept-container:nth-of-type(3) .home_section-subheading-wrap {
  clear: right;
  float: left;
  padding-right: 0;
  padding-left: 5%;
}
.home_concept-container .pict {
  width: 100%;
  aspect-ratio: 1600/541;
  background: transparent center / cover no-repeat;
}
.home_concept .container-1 .pict {
  background-image: url(../img/home/conceppt-1-1-lg.webp);
}
.home_concept .container-2 .pict {
  background-image: url(../img/home/conceppt-2-1-lg.webp);
}
.home_concept-container .image-wrap div {
  width: 100%;
  aspect-ratio: 423/269;
  background: transparent center / cover no-repeat;
}
.home_concept .container-1 .image-wrap .img-1 {
  background-image: url(../img/home/conceppt-1-2.webp);
}
.home_concept .container-1 .image-wrap .img-2 {
  background-image: url(../img/home/conceppt-1-3.webp);
}
.home_concept .container-2 .image-wrap .img-1 {
  background-image: url(../img/home/conceppt-2-2.webp);
}
.home_concept .container-2 .image-wrap .img-2 {
  background-image: url(../img/home/conceppt-2-3.webp);
}

.home_guestroom {
  position: relative;
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 42px;
}
.home_guestroom-inner {
  max-width: calc(1600px + var(--side-padding) * 2);
  margin-right: auto;
  margin-left: auto;
  padding: 80px var(--side-padding);
}
.home_guestroom .section-heading-with-english {
  margin-bottom: 64px;
}
.home_guestroom-inner p {
  max-width: 48.13rem;
}
.home_guestroom-inner p + p {
  margin-top: 1em;
}
.home_guestroom-slider-wrap {
  display: grid;
  grid-template-columns: 65% 1fr;
  align-items: center;
}
.home_guestroom-slider-wrap .splide {
  min-width: 0;
}
.home_guestroom-text-slider {
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 90px;
}
.home_guestroom-text-slider li {
  padding-top: 30px;
  padding-right: 1px;
  padding-left: 1px;
}
.home_guestroom-text-slider h3 {
  display: grid;
  gap: 10px;
  margin-bottom: 50px;
  font-size: var(--font-size-12);
  font-weight: 400;
}
.home_guestroom-text-slider h3 .en {
  font-family: "Baskervville", serif;
  font-size: var(--font-size-28);
}
.home_guestroom-text-slider p {
  margin-top: 16px;
  font-size: 1rem;
}
.home_guestroom-text-slider .splide__arrows {
  display: flex;
  justify-content: space-between;
  max-width: 238px;
  margin-top: 32px;
}
.home_guestroom-text-slider .splide__arrow {
  position: static;
  display: block;
  width: 45px;
  height: 55px;
  background: transparent url() center / 12px auto no-repeat;
  opacity: 1;
  transform: translateY(0);
}
.home_guestroom-text-slider .splide__arrow--prev {
  background-image: url(../img/arrow-prev.png);
  background-position: left center;
}
.home_guestroom-text-slider .splide__arrow--next {
  background-image: url(../img/arrow-next.png);
  background-position: right center;
}
.home_guestroom .pict {
  width: 100%;
  aspect-ratio: 1920/480;
  background: transparent url(../img/home/guestroom-lg.webp) center / cover no-repeat;
}
.home_guestroom .splide__slide {
  width: 100%;
  aspect-ratio: 1248/702;
  background: transparent center / cover no-repeat;
}
.home_guestroom .slide-1 {
  background-image: url(../img/home/guestroom_japanese-style-room.webp);
}
.home_guestroom .slide-2 {
  background-image: url(../img/home/guestroom_twin-room.webp);
}
.home_guestroom .slide-3 {
  background-image: url(../img/home/guestroom_harbor-twin.webp);
}
.home_guestroom .slide-4 {
  background-image: url(../img/home/guestroom_familyroom.webp);
}

.home_stay {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 96px;
  padding-bottom: 32px;
}
.home_stay-lead {
  position: relative;
  height: 878px;
}
.home_stay-lead .bg {
  position: absolute;
  inset: 0;
  background: transparent url(../img/home/stay-bg-lg.webp) center / cover no-repeat;
}
.home_stay-lead::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 42%, rgba(255, 255, 255, 0.4) 68%, rgba(255, 255, 255, 0.6));
}
.home_stay-inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-content: end;
  align-content: center;
  max-width: calc(1600px + var(--side-padding) * 2);
  margin-right: auto;
  margin-left: auto;
  height: 100%;
  padding-right: var(--side-padding);
  padding-left: var(--side-padding);
}.home_stay-inner > * {
  max-width: 35rem;
}
.home_stay .section-heading-with-english {
  margin-bottom: 64px;
}
.home_stay-inner h2 + p {
  margin-top: 0;
  margin-bottom: 0;
}
.home_stay-inner p + p {
  margin-top: 1em;
}
.home_stay-image-container {
  display: flex;
  align-items: start;
  justify-content: space-between;
  max-width: calc(1110px + var(--side-padding) * 2);
  margin-right: auto;
  margin-left: auto;
  padding-top: 80px;
  padding-right: var(--side-padding);
  padding-left: var(--side-padding);
  color: #a67b26;
  font-family: "Baskervville", serif;
  text-align: center;
  text-transform: uppercase;
}
.home_stay-image-container p {
  margin-top: -0.5lh;
  font-size: 48px;
}
.home_stay-image-container .wrap {
  flex: 0 0 auto;
  width: 370px;
}
.home_stay-image-container .wrap:nth-of-type(2) {
  width: 368px;
  margin-top: 90px;
}
.home_stay-image-container .img {
  width: 100%;
  height: 577px;
  background: transparent center / cover no-repeat;
}
.home_stay-image-container .wrap:nth-of-type(1) .img {
  background-image: url(../img/home/stay-kitchen.webp);
}
.home_stay-image-container .wrap:nth-of-type(2) .img {
  background-image: url(../img/home/stay-location.webp);
}
.home_stay-image-container .wrap:nth-of-type(3) .img {
  background-image: url(../img/home/stay-laundry.webp);
}

.home_accomodation {
  position: relative;
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  padding: 145px var(--side-padding);
}
.home_accomodation-inner {
  position: relative;
  max-width: 1600px;
  margin-right: auto;
  margin-left: auto;
  padding: 80px var(--side-padding);
  border-radius: 20px;
  border: 1px solid currentColor;
  background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.2));
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
  color: var(--color-white);
}
:where(.home_accomodation, .home_instagram) h2 {
  font-family: "Baskervville", serif;
  font-weight: 400;
  font-size: var(--font-size-30);
}
:where(.home_accomodation, .home_instagram) h2 + p {
  font-size: 1rem;
}
.home_accomodation-slider {
  max-width: 100%;
  margin-top: 36px;
  margin-right: auto;
  margin-left: auto;
}
.home_accomodation-slider ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1110px;
  margin-right: auto !important;
  margin-left: auto !important;
}
.home_accomodation-slider li {
  gap: 20px;
  font-size: var(--font-size-14);
}
.home_accomodation-slider .splide__pagination {
  position: static;
  margin-top: calc(76px + 1lh + 40px);
}
.home_accomodation-slider .splide__pagination__page {
  width: 14px;
  height: 14px;
  margin: 0 5px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  font-size: 14px;
}
.home_accomodation-slider .splide__pagination__page.is-active {
  border-color: var(--color-white);
  background-color: var(--color-blue);
}
.home_accomodation .bg {
  background: transparent url(../img/home/accomodation-bg-lg.webp) center / cover no-repeat;
}
.home_accomodation .splide__slide .img {
  width: 350px;
  height: 248px;
  background: transparent center / cover no-repeat;
}
.home_accomodation .item-1 .img {
  background-image: url(../img/home/accomodation-plan-1.webp);
}
.home_accomodation .item-2 .img {
  background-image: url(../img/home/accomodation-plan-2.webp);
}
.home_accomodation .item-3 .img {
  background-image: url(../img/home/accomodation-plan-3.webp);
}

.home_access {
  display: grid;
  grid-template-columns: 1fr 54.3%;
  align-items: center;
  gap: 160px;
  max-width: calc(1620px + var(--side-padding) * 2);
  margin-right: auto;
  margin-left: auto;
  padding: 120px var(--side-padding) 120px calc(var(--side-padding) + 40px);
}
.home_access .section-heading-with-english {
  margin-bottom: 40px;
}
.home_access p {
  margin-top: 20px;
}
.home_access .link-button {
  margin-left: 0;
}

.home_instagram {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 96px;
  padding-bottom: 246px;
}
.home_instagram-inner {
  padding-right: var(--side-padding);
  padding-left: var(--side-padding);
}

.home_instagram-slider {
  margin-top: 48px;
}
.home_instagram .splide__slide {
  width: 360px;
  height: 480px;
  background: transparent center / cover no-repeat;
}
.home_instagram .slide-1 {
  background-image: url(../img/home/slider-loop-01.webp);
}
.home_instagram .slide-2 {
  background-image: url(../img/home/slider-loop-02.webp);
}
.home_instagram .slide-3 {
  background-image: url(../img/home/slider-loop-03.webp);
}
.home_instagram .slide-4 {
  background-image: url(../img/home/slider-loop-04.webp);
}
.home_instagram .slide-5 {
  background-image: url(../img/home/slider-loop-05.webp);
}
.home_instagram .slide-6 {
  background-image: url(../img/home/slider-loop-06.webp);
}
.home_instagram .slide-7 {
  background-image: url(../img/home/slider-loop-07.webp);
}
.home_instagram .slide-8 {
  background-image: url(../img/home/slider-loop-08.webp);
}
.home_instagram .slide-9 {
  background-image: url(../img/home/slider-loop-09.webp);
}
.home_instagram .slide-10 {
  background-image: url(../img/home/slider-loop-10.webp);
}