@charset "utf-8";

body {
 margin: 0;
 width: 100%;
 position: relative;
 font-size: var(--primary-font-size);
 background-color: #fff;
 font-family: var(--sanserif-ff-ja);
 font-feature-settings: "palt";
 -webkit-font-smoothing: antialiased;
}

/* トップページ */
.rental_p header {
 display: block;
 width: 100%;
 margin-inline: auto;
 aspect-ratio: initial;
 min-height: 100vh;
 position: relative;
 overflow: hidden;
}

.rental_p header .head-wrap {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100px;
 background-color: transparent;
 z-index: 5;
 display: flex;
 align-items: center;
 padding-inline: 40px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.rental_p header .amami-wrap {
 /* height: calc(432 / 768 * 100%); */
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: calc(260 / 1440 * 100%);
 /* aspect-ratio: 210 / 432; */
 min-width: 260px;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 z-index: 100;
}

.rental_p header .amami-wrap h1 {
 margin-right: 15px;
}

.rental_p header .amami-wrap img.logo {
 width: 100%;
 z-index: 10;
}

.pageDown {
 width: 30px;
 height: 30px;
 position: absolute;
 bottom: 52px;
 left: calc(50% - 15px);
 z-index: 5;
 animation: up-down 1s ease-in-out 1.2s infinite both;
}

@keyframes up-down {
 0% {
  transform: translateY(0)
 }

 8% {
  transform: translateY(5px)
 }

 55% {
  transform: translateY(0)
 }
}



@media (max-width:767px) {
 .rental_p header {
  height: 100svh;
  min-height: 100svh;
  overflow: hidden;
 }

 .rental_p header .head-wrap {
  height: 70px;
  padding-inline: 25px;
 }

 .rental_p header .head-wrap a {
  width: 92px;
  height: 35px;
 }

 .rental_p header .amami-wrap {
  height: initial;
  aspect-ratio: initial;
  top: 58%;
 }

 .rental_p header .amami-wrap img.logo {
  width: calc(150 / 375 * 100vw);
  min-width: 150px;
  margin-bottom: calc(113 / 634 * 100svh);

 }

 .rental_p header .amami-wrap h1 {
  margin-right: 0;
 }

 .pageDown {
  width: 60px;
  height: 60px;
  position: absolute;
  bottom: 16px;
  left: 43%;
  padding: 20px;
 }
}

#top .pageDown {
 transition: 0.3s;
}

#top .pageDown:hover {
 opacity: 0.6;
}



.slide-wrapper {
 position: relative;
 width: 100%;
 height: 100vh;
}

.slide-wrapper .slide {
 width: 100%;
 height: 100vh;
}

.slide-wrapper .slide img {
 max-width: 100%;
 width: 100%;
 height: 100%;
 position: absolute;
 object-fit: cover;
}

.slide {
 position: relative;
 width: 100%;
 height: 400px;
 overflow: hidden;
}

.slide-image {
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 opacity: 0;
 animation: slider-1 24s linear infinite;
}

.slide-image:nth-child(1) {
 animation-delay: -2s;
}

.slide-image:nth-child(2) {
 animation-delay: 4s;
}

.slide-image:nth-child(3) {
 animation-delay: 10s;
}

.slide-image:nth-child(4) {
 animation-delay: 16s;
}

@keyframes slider-1 {
 0% {
  opacity: 0;
  transform: scale(1);
 }

 4.16% {
  opacity: 1;
 }

 25% {
  opacity: 1;
 }

 33.33% {
  opacity: 0;
  transform: scale(1.1);
 }

 100% {
  opacity: 0;
 }
}

.contentsWrapper {
 width: 100%;
 background: rgb(0, 180, 210);
 background: linear-gradient(180deg, rgba(0, 180, 210, 1) 0%, rgba(0, 180, 210, 1) 54%, rgba(255, 222, 155, 1) 100%);
 padding-top: 100px;
 padding-bottom: 140px;
}

.rental-wrapper {
 width: min(100% - 50px, 1105px);
 margin-inline: auto;
}

ul#rental-villa {
 width: 100%;
 width: 90%;
 margin-inline: auto;
 display: flex;
 justify-content: center;
 align-items: center;
}

ul#rental-villa li a {
 display: block;
 width: 260px;
 height: 70px;
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 22px;
 font-family: var(--sanserif-ff-ja);
 font-weight: 500;
 font-size: 24px;
 color: #fff;
 border-bottom: 1.8px solid rgba(255, 255, 255, 1);
}

ul#rental-villa li a span {
 display: block;
 font-size: 11px;
 margin-top: 0.5em;
 font-weight: 600;
}

.reservation-wrap {
 display: flex;
 justify-content: center;
 align-items: center;
}

.bt-reservation {
 display: flex;
 width: 300px;
 height: 65px;
 margin-inline: auto;
 background-color: rgba(255, 255, 255, 0.3);
 /* padding: 7px 22px; */
 justify-content: center;
 align-items: center;
 border-radius: 5px;
 color: #fff;
 text-align: center;
 font-size: 22px;
 font-weight: 600;
 letter-spacing: 0.8px;
 white-space: nowrap;
 transition: 0.3s;
}

.bt-reservation:hover {
 background-color: rgba(255, 255, 255, 1);
 color: #00B4D2;
}

.reservation-wrap .bt-reservation {
 /* margin-top: 75px; */
 margin-bottom: 100px;
}

.reservation-images {
 display: flex;
 justify-content: space-between;
 align-items: center;
 /* gap: 39px; */
 gap: clamp(0.3125rem, -0.7821rem + 4.6703vw, 2.4375rem);
 margin-bottom: 65px;
}

.reservation-images img {
 border-radius: 9px;
}

ul.place-links {
 width: 100%;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 flex-wrap: wrap;
 /* border-inline: 1px solid rgba(255, 255, 255, 0.3); */
}

.place-links li {
 width: calc(100% / 5);
}

.place-links li:first-child {
 border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.place-links li {
 border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.place-links li a {
 display: block;
 width: 135px;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 margin-inline: auto;
 color: #fff;
 font-family: var(--sanserif-ff);
 font-size: clamp(1rem, 0.7432rem + 1.0959vw, 1.5rem);
 font-weight: 500;
 transition: 0.3s;
}

.place-links li a img {
 rotate: 90deg;
}

.place-links li a span {
 font-size: 11px;
 margin-top: 0.4em;
 margin-bottom: 2em;
}

.place-links li a:hover {
 opacity: 0.6;
}

@media (max-width:767px) {
 .contentsWrapper {
  padding-top: 50px;
  padding-bottom: 80px;
 }

 .reservation-images-wrap {
  width: 100vw;
  /* overflow: hidden; */
  overflow-x: scroll;
  margin-bottom: 50px;
 }

 .reservation-images {
  width: 100%;
  min-width: calc(100vw * 3 - 75px);
  margin-bottom: 0;
 }

 .reservation-images li {
  /* width: calc(100vw - 50px); */
  margin-inline: auto;
 }



 ul#rental-villa {
  width: calc(100% + 50px);
  margin: 0 -25px;
 }



 .reservation-wrap .bt-reservation {
  margin-top: 35px;
  margin-bottom: 35px;
 }

 .bt-reservation {
  height: initial;
  width: fit-content;
  padding: 7px 18px;
  border-radius: 3.6px;
  font-size: 18.4px;
 }

 .place-links-wrap {
  width: min(100% - 50px, 1105px);
  margin-inline: auto;
 }

 .place-links li {
  width: calc(100% / 2);
  margin-bottom: 3em;
 }

 .place-links li:last-child {
  margin-bottom: 0;
 }

 .place-links li:nth-child(even) {
  border-right: 1px solid rgba(255, 255, 255, 0.3) !important;
 }

 .place-links li:nth-child(odd) {
  border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
 }
}