@charset "utf-8";
/* CSS Document */

/* reset */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}*, *:before, *:after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box; -o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
br {
letter-spacing: 0;
}
a { text-decoration:none; color:#333;}
li {
    list-style: none;
}


/* 基本設定： ページ全体 */

img[src$=".svg"] {
    width: 100%;
	line-height: 0;
	font-size: 0;
}

* {-webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
  }
 
html { scroll-behavior: smooth;}

body {
	margin: 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height: 30px;
	font-size: 15px;
	line-height: normal;
	color:#333;
	-webkit-text-size-adjust: 100%;
	margin: 0px auto;
}

a.anchor { display: block; padding-top: 200px; margin-top: -200px;}

/*----clearfix----*/
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
/*----clearfix----*/

/*----文字の装飾・マージン等----*/
.font-30 { font-size:30% !important;}
.font-40 { font-size:40% !important;}
.font-50 { font-size:50% !important;}
.font-60 { font-size:60% !important;}
.font-70 { font-size:70% !important;}
.font-80 { font-size:80% !important;}
.font-90 { font-size:90% !important;}
.font-110 { font-size:110% !important;}
.font-120 { font-size:120% !important;}
.font-130 { font-size:130% !important;}
.font-140 { font-size:140% !important;}

.margintop-1 { margin-top: 1% !important;}
.margintop-2 { margin-top: 2% !important;}
.margintop-3 { margin-top: 3% !important;}
.margintop-4 { margin-top: 4% !important;}
.margintop-5 { margin-top: 5% !important;}
.marginbottom-1 { margin-bottom: 1% !important;}
.marginbottom-2 { margin-bottom: 2% !important;}
.marginbottom-3 { margin-bottom: 3% !important;}
.marginbottom-4 { margin-bottom: 4% !important;}
.marginbottom-5 { margin-bottom: 5% !important;}
.marginbottom-6 { margin-bottom: 6% !important;}
.marginbottom-7 { margin-bottom: 7% !important;}
.marginbottom-8 { margin-bottom: 8% !important;}
.marginbottom-9 { margin-bottom: 9% !important;}
.marginbottom-10 { margin-bottom: 10% !important;}

.line-height-110 {line-height: 110%}
.line-height-120 {line-height: 110%}

.redText { color: #C00;}
.pinkText { color: #EB5A9F;}
.bold { font-weight: bold;}
.mincho { font-family: 'Shippori Mincho', serif;}

section { width: 1000px; margin: 120px auto;}
section:first-child { margin: 0 auto 120px;}
section:last-child { margin: 120px auto 0;}

.width100vw {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ヘッダー */
header {
	background-color:#000;
	padding: 10px 0 10px 20px;
	color: #FFFFFF;
	font-size: 120%;
}

/* トップスライダー */
.fade-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 950 / 534; /* 高さを比率で維持（モダン対応） */
  margin: 0 auto;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.fade-slider li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fadeCycle 25s infinite ease-in-out;/* 5枚で 25秒 */
}

/* 5枚なので 5秒ずつずらす */
.fade-slider li:nth-child(1) { animation-delay: 0s; }
.fade-slider li:nth-child(2) { animation-delay: 5s; }
.fade-slider li:nth-child(3) { animation-delay: 10s; }
.fade-slider li:nth-child(4) { animation-delay: 15s; }
.fade-slider li:nth-child(5) { animation-delay: 20s; }

/* フェードアニメーション：滑らかに重なる */
@keyframes fadeCycle {
  0% { opacity: 0; }
  10% { opacity: 1; }   /* フェードイン */
  30% { opacity: 1; }   /* 表示 */
  40% { opacity: 0; }   /* フェードアウト */
  100% { opacity: 0; }
}

.fade-slider li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#rebland h1 {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	text-align: center;
	font-size: 230%;
	margin-bottom: 40px;
}

#leadtext {
}

/* 客室 */
.slider input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

#room-slider {
  overflow: hidden;
  width: 100%;
  margin: 50px auto;
}
.slider {
  overflow: hidden;
}

.slide-track {
  display: flex;
  width: max-content;
  top: 0;
  left: 0;
  transition: transform 0.5s ease;
  animation: autoSlide 18s infinite;
}

ul.slide-track li {
  width: 700px;/* スライド1枚の幅 */
  flex-shrink: 0;
  position: relative;
  display: inline-block;
}

ul.slide-track li img {
  width: 100%;
}

/* 自動スライド */
/* 枚数が増えたら増やす */
/* 6枚スライド用キーフレーム */
@keyframes autoSlide {
  0%, 13% {
    transform: translateX(0);
  }
  16%, 29% {
    transform: translateX(-700px);
  }
  32%, 45% {
    transform: translateX(-1400px);
  }
  48%, 61% {
    transform: translateX(-2100px);
  }
  64%, 77% {
    transform: translateX(-2800px);
  }
  80%, 93% {
    transform: translateX(-3500px);
  }
  100% {
    transform: translateX(0);
  }
}

/* ラジオが押されたら自動停止 */
.slider input[type="radio"]:checked ~ .slide-track {
  animation: none;
}
/* 枚数が増えたら増やす */
#s1:checked ~ .slide-track { transform: translateX(0); }
#s2:checked ~ .slide-track { transform: translateX(-700px); }
#s3:checked ~ .slide-track { transform: translateX(-1400px); }
#s4:checked ~ .slide-track { transform: translateX(-2100px); }
#s5:checked ~ .slide-track { transform: translateX(-2800px); }
#s6:checked ~ .slide-track { transform: translateX(-3500px); }

.dots {
  text-align: center;
  margin-top: 10px;
}

.dots label {
  display: inline-block;
  width: 24px;
  height: 4px;
  background: #ccc;
  border-radius: 2px;
  margin: 0 6px;
  cursor: pointer;
}

/* 自動スライド時のドットアニメーション */
.slider:not(:has(input[type="radio"]:checked)) .dots label {
  animation: dotAuto 18s infinite;
}

/* それぞれ開始タイミングをずらす *//* 枚数が増えたら増やす */
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(1) {
  animation-delay: 0s;
}
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(2) {
  animation-delay: 3s;
}
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(3) {
  animation-delay: 6s;
}
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(4) {
  animation-delay: 9s;
}
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(5) {
  animation-delay: 12s;
}
.slider:not(:has(input[type="radio"]:checked)) .dots label:nth-child(6) {
  animation-delay: 15s;
}


@keyframes dotAuto {
  0%, 20% {
    background: #000;
  }
  25%, 100% {
    background: #ccc;
  }
}
/* 枚数が増えたら増やす */
#s1:checked ~ .dots label:nth-child(1),
#s2:checked ~ .dots label:nth-child(2),
#s3:checked ~ .dots label:nth-child(3),
#s4:checked ~ .dots label:nth-child(4),
#s5:checked ~ .dots label:nth-child(5),
#s6:checked ~ .dots label:nth-child(6) {
  background: #000;
	animation: none;
}

.slide-track li{
	position: relative;
	display: inline-block;
}

.roomType {
	position: absolute;
	background-color: #000000;
	bottom: 5%;
	right: 2%;
	color: #ffffff;
	width: auto;
	padding: 5px 10px;
}

#rebland h2 {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin: 50px auto 30px;
	font-size: 200%;
}

#rebland h2 span {
	margin-left: 20px;
	color: #9C9C9C;
	font-weight: 600;
}

.btn {
	margin: 30px auto 50px;
	text-align: center;
}

.btn a {color: white;
}

.btn-gradient-radius {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 25px;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #000000 0%, #555555 100%);
  transition: .4s;
}

.btn-gradient-radius:hover {
  background-image: linear-gradient(45deg, #000000 0%, #000000 100%);
}

.plan {
	display: flex;
	flex-direction: row;
}

.plan li {
	width: 50%;
	border: 1px solid;
	border-color: #929292;
	margin-right: 20px;
	margin-bottom: 40px;
	flex-direction: column;
}

.plan li:last-child{
	margin-right: 0;
}

.plan li a {color: #000000;
}

.plan li a:hover {opacity: 0.8;
}


.plan li img , #restaurant img , #about li img{
	width: 100%;
	vertical-align:top;
}

.plan li dl {
	padding: 35px;
}

.plan-title {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin: 0 auto 20px;
	font-size: 160%;
	line-height: 130%;
}

.restaurant-title , .about-title {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin: 0 auto 20px;
	font-size: 180%;
	line-height: 130%;
}

#restaurant li {
	margin-bottom: 5px;
	background-color: #f7f2ed;
}

#about li {
	margin-bottom: 5px;
}

.box_two {
	display: flex;
	flex-direction: row;
}
.box_two div {
	width: 65%;
}

.box_two dl {
	width: 35%;
}

.box_two dl {
	margin: 40px;
}

.grayback {
	width: 100vw;
	background: #e5e5e5;
}

.grayback_inner {
	width: 950px;
	margin: 0 auto 20px;
	padding: 10px 0;
}

.no-photo {
	margin: 40px 0 40px !important;
}

/* レスポンシブ調整（950px幅内） */
@media (max-width: 950px) {
  .jdsSwiper.room .swiper-slide { width: 50%; } /* モバイルでは2枚並び */
}

@media (max-width: 950px) {
  .width100vw {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
