@charset "utf-8";
/* CSS Document */
/* 共通設定 */
.top1, .top2, .top3, .top4, .to5, .top6, .top7, .top8, .top9, .top10, .top11, .top12, .top13, .top14, .top15, .top16, .top17, .top18, .top19, .top20 {
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* 子要素をabsolute配置するための基準点設定 */
  position: relative;
}
/* 各セクションの設定 */
.top1 {
  background-image: url('../img/top/top_r1_c1.png');
  aspect-ratio: 1920 / 47;
}
.top2 {
  background-image: url('../img/top/top_r2_c1.png?4');
  aspect-ratio: 1920 / 1157;
}
.top3 {
  background-image: url('../img/top/top_r3_c1.png');
  aspect-ratio: 1920 / 1045;
}
.top4 {
  background-image: url('../img/top/top_r4_c1.png');
  aspect-ratio: 1920 / 211;
}
.top5 {
  background-image: url('../img/top/top_r5_c1.png');
  /*aspect-ratio: 1920 / 404;*/
}
.top6 {
  background-image: url('../img/top/top_r6_c1.png');
  aspect-ratio: 1920 / 145;
}
.top7 {
  background-image: url('../img/top/top_r7_c1.png');
  aspect-ratio: 1920 / 1389;
}
.top8 {
  background-image: url('../img/top/top_bg_r8_c1.png');
  aspect-ratio: 1920 / 649;
}
.top9 {
  background-image: url('../img/top/top_bg_r9_c1.png');
  aspect-ratio: 1920 / 651;
}
.top10 {
  background-image: url('../img/top/top_bg_r10_c1.png');
  aspect-ratio: 1920 / 650;
}
.top11 {
  background-image: url('../img/top/top_bg_r11_c1.png');
  aspect-ratio: 1920 / 190;
}
.top12 {
  background-image: url('../img/top/top_r12_c1.png');
  aspect-ratio: 1920 / 531;
}
.top13 {
  background-image: url('../img/top/top_r13_c1.png');
  aspect-ratio: 1920 / 876;
}
.top14 {
  background-image: url('../img/top/top_r14_c1.png');
  aspect-ratio: 1920 / 896;
}
.top15 {
  background-image: url('../img/top/top_r15_c1.png');
  aspect-ratio: 1920 / 908;
}
.top16 {
  background-image: url('../img/top/top_r16_c1.png');
  aspect-ratio: 1920 / 843;
}
.top17 { /*background-image: url('img/top/top_r17_c1.png');*/ aspect-ratio: 1920 / 196;
}
.top18 {
  background-image: url('../img/top/top_r18_c1.png');
  aspect-ratio: 1920 / 364;
}
.top19 { /*background-image: url('img/top/top_r19_c1.png');*/ aspect-ratio: 1920 / 787;
  background-color: #1D4374;
}
.top20 {
  background-image: url('../img/top/top_r20_c1.png');
  aspect-ratio: 1920 / 396;
}
.top-nav {
  position: absolute;
  top: 28.4%;
  width: 33%;
  left: 2.2%;
}
.top-nav ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
.top-nav ul li {
  padding: 3.5%;
  display: block;
}
.top-nav ul li a:hover {
  opacity: 0.6;
}
.top-nav ul li img {
  width: 100%;
}
.nav-li1 {
  width: calc(100% * (80 / 623));
}
.nav-li2 {
  width: calc(100% * (60 / 623));
}
.nav-li3 {
  width: calc(100% * (198 / 623));
}
.nav-li4 {
  width: calc(100% * (106 / 623));
}
.top-nav-booking {
  width: calc(100% * (260 / 623));
}
.planlist-box ul {
  margin: 0 auto;
  width: calc(100% * (1215 / 1920));
  display: flex;
  list-style: none;
  padding: 0;
  justify-content: space-between;
    padding-bottom: 40px;
}
.planlist-box ul a {
    
  color: white;
  /*font-size: 18px;*/
    font-size: 0.9375vw;
  line-height: 1.8em;
  text-decoration: none;
}
.plan-list-text-box{
    padding-top: 4%;
    
}
.planlist-box ul a:hover {
  text-decoration: underline;
    color: white;
}
.planlist-box ul li {
  width: 32%;
}
.planlist-box ul li img {
  width: 100%;
}
.toplan {
  margin: auto;
  text-align: center;
}
.toplan a {
  width: calc(100% * (251 / 1920));
  display: block;
  margin: auto;
}
.toplan a img {
  width: 100%;
}
.toplan a:hover {
  opacity: 0.6;
}
.toroom {
  margin: auto;
  display: block;
  width: calc(100% * (250 / 1920));
}
.toroom a:hover {
  opacity: 0.6;
}
.toroom img {
  width: 100%;
}
.top-nav-booking {
  margin-top: 6.5%;
}
.top-container .top-slider-box {
  width: 59.7%;
  position: absolute;
  top: 0%;
  left: 37.5%;
}
.simple-auto-slider {
  position: relative;
  width: 100%;
  /* 1枚目のアスペクト比を維持 */
  aspect-ratio: 1150 / 1030;
  overflow: hidden;
  /* 読み込み待ちの白飛び防止：1枚目の画像を背景に敷いておく */
  /*background-image: url('img/top/t1.png');*/
  background-size: cover;
  background-position: center;
}
.simple-auto-slider .slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* 親のaspect-ratioに合わせるため100%に */
  object-fit: cover; /* 画像が歪まないように調整 */
  opacity: 0;
  animation: simple-fade 12s infinite; /* 3枚 × 4秒 = 12秒サイクル */
}
/* 各画像の開始タイミングをずらす */
.simple-auto-slider .slide-img:nth-child(1) {
  animation-delay: 0s;
}
.simple-auto-slider .slide-img:nth-child(2) {
  animation-delay: 4s;
}
.simple-auto-slider .slide-img:nth-child(3) {
  animation-delay: 8s;
}
@keyframes simple-fade {
  0% {
    opacity: 0;
  }
  /* 0%から15%かけてじわっと登場 */
  15% {
    opacity: 1;
  }
  /* 33%（4秒地点）までしっかり表示 */
  33% {
    opacity: 1;
  }
  /* 33%から48%かけて、次の画像と重なりながら消える */
  48% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.glmap {
  width: 94%;
  display: block;
  margin: auto;
  aspect-ratio: 1800 / 750;
  border-radius: 30px;
}
.room-text-box {
  position: absolute;
  width: calc(100% * (568 / 1920));
  max-width: 568px;
  top: 11%;
  left: 52.5%;
  z-index: 3;
}
.room-text-box img {
  width: 100%;
}
.room-slider-box {
  position: absolute;
  top: 0%;
  left: 18.7%;
  width: calc(100% * (750 / 1920));
}
.room-slider {
  position: relative;
  width: 100%;
  max-width: 750px;
  aspect-ratio: 750 / 550;
  margin: 0 auto;
  overflow: hidden;
  /*background: #000;*/ /* 念のため背景を黒にしておくと安定します */
}
.room-slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: fade-2-slides 10s infinite linear; /* linearで滑らかに */
}
/* 2枚が交互に重なるように設定 */
.room-slider img:nth-child(1) {
  animation-delay: 0s;
}
.room-slider img:nth-child(2) {
  animation-delay: 5s; /* 全体の半分の時間で開始 */
}
@keyframes fade-2-slides {
  0% {
    opacity: 0;
    z-index: 1;
  }
  10% {
    opacity: 1;
    z-index: 2;
  } /* 1秒かけてフェードイン */
  50% {
    opacity: 1;
    z-index: 2;
  } /* 5秒地点まで表示を維持 */
  60% {
    opacity: 0;
    z-index: 1;
  } /* 次の画像が100%になった瞬間に消え始める */
  100% {
    opacity: 0;
  }
}
