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


/*2025/05/27追記*/
/*video ※下段にも関連記述あり
-------------------------------------------------- */
	.video {
	    width: 100%; height: 100vh; /*height: auto;*/ margin: 0; background: #000;
	    /*display: none;*/
	}
	.video.h100 { height: 100vh; width: auto; }
	.video iframe { width: 100%; height: 100%; }
	#modal-overlay_m { z-index: 10012; display: none; position: fixed; top: 0; left: 0; width: 100%; height: 120%; 
	}
	.close_movie { position: absolute; top:0; right: 0; opacity: 0.6; }
	.close_movie:hover,.close_movie:hover img { opacity: 1; }



/* PC
---------------------------------------------------------------------- */

@media (min-width: 1001px) {
/* mv
---------------------------------------------------------------------- */
#mainvisual {
	margin: 0;
	padding: 0;
	width: 100%;
    height: 100vh;
	overflow: hidden;
    position: relative;
	background: #373738;
}
#mainvisual .mvslide {
    width: 100%;
    height: 100%;
	z-index: 9995;
	overflow: hidden;
    position: absolute;
}
.slick-track {
	height: 260px!important;
}
#mainvisual .slick-slide{
    width: 100%;
    height: 100vh;
}
#mainvisual .slick-slide>div{
	height: 100%;
}
#mainvisual .slick-slide>div .slide-item {
	height: 100%;
}
#mainvisual .slick-slide img {
  width: 100%;
  height: 100%;
/*  object-fit: contain;*/
	object-fit: cover;
}
/* #mainvisual .slick-slide li {
	width: 260px!important;
} */

@keyframes fadezoom{
  0% {
    transform: scale(1.0);
  }
  100% {
    transform: scale(1.3);
  }
}
#mainvisual .slick-animation {
  animation: fadezoom 5s 0s forwards;
}
#mainvisual h2.copy {
    top: 50%;
    left: 50%;
	z-index: 9998;
    position: absolute;
	text-align: center;
	transform: translate(-50%,-50%);
}
#mainvisual h2.copy .img{
	width: 190px;
	height: 136px;
	display: block;
	margin: 0 auto;
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.5));
}
#mainvisual h2.copy .img img{
	width: 100%;
}
#mainvisual h2.copy .txt{
	color: #fff;
	display: block;
	font-size: 1.5625em;
	text-shadow: 0px 3px 30px rgba(0, 0, 0, 1);
}
#mainvisual .bnr {
		display: block;
		width: 320px;
		/* width: 460px; */
		/* width: 520px; */
		/*height: 144px;*/
		position: absolute;
		bottom: 50px;
		left: 3%;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		z-index: 10000;
}

/* #mainvisual .bnr a:first-child,
#mainvisual .bnr a:nth-child(2) {
	display: block;
	margin-bottom: 1rem;
} */

#mainvisual .bnr a.bnr_top {
	display: block;
	width: 520px;
	height: 144px;
	margin-right: 1.5rem;
	/*width: 100%;
	height: 100%;*/
}
#mainvisual .bnr a.bnr_top img {
		width: 100%;
		height: auto;
		/* z-index: 999999; */
}
#mainvisual .bnr a.bnr_top:hover {
	opacity: 0.7;
}

  /* inner
  ---------------------------------------------------------------------- */ 
.index {
	padding: 0;
	text-align: center;
}
	/* reservation */
    .index .reservationTop{
		padding: 5px 0;
		z-index: 0;
		position: relative;
		background: #373738;
		z-index: 10000;
    }
	.index .reservationTop::before{
		left: 0;
		top: 5px;
		z-index: 1;
		content: "";
		width: 100%;
		position: absolute;
		border-top: 1px solid #c69c6d;
	}	
	.index .reservationTop::after{
		left: 0;
		z-index: 1;
		bottom: 5px;
		content: "";
		width: 100%;
		position: absolute;
		border-bottom: 1px solid #c69c6d;
	}

/* best rate banner */
	.index .bestRate{
		width: 100%;
		background: #373738;
		border-bottom: none;
		padding: 2rem 0;
	}
	.index .bestRate img{
		width: 50%;
		margin: 1.5rem auto;
		/* display: flex;
		justify-content: center; */
	}

	.index .reservationTop .inner{
/*		padding: 20px 20px 30px 20px;*/
			padding: 20px 0;
    }
	.index .reservationTop .rsvform{
		width: 100%;
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	.index .reservationTop h2{
/*		width: 1.25em;*/
		width: 7em;
		color: #fff;
/*		float: left;*/
		text-align: left;
		font-size: 1.25em;
/*		margin: 30px 40px 0 0;*/
	}
	.index .reservationTop .rsvform form {
		width: 100%;
	}
	.index .reservationTop .rsvform ul {
/*		width: 85%;*/
/*		float: right;*/
			display: flex;
			justify-content: flex-end;
			gap: 2%;
	}
	.index .reservationTop .rsvform ul li {
/*		float: left;*/
			color: #fff;
			text-align: left;
/*		margin-right: 18px;*/
	}
	.index .reservationTop input {
		color: #877b77;
		padding: 6px 46px 6px 6px;
	}
	.index .reservationTop select {
		color: #877b77;
		padding: 6px 30px 6px 6px;
	}
	.index .reservationTop .btn_search {
		width: 150px;
		padding: 9px 26px;
		background: #648ea1;
		border: none;
		color: #fff;
		text-align: center;
		cursor: pointer;
	}
	.index .reservationTop .btn_list a{
		width: 150px;
		padding: 4px 10px;
		background: #8c6239;
		border: none;
		color: #fff !important;
		text-align: center;
		cursor: pointer;
		font-size: 0.875em;
		text-decoration: none !important;
		margin-left: 18px;
	}
	.index .reservationTop .rsvtxt{
		width: 100%;
	}
	.index .reservationTop .rsvtxt ul{
		padding-top: 20px;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		/* justify-content: space-between; */
		justify-content: flex-end;
	}
	.index .reservationTop .rsvtxt ul li{
		color: #c69c6d;
		letter-spacing: -0.3px;
	}
	.index .reservationTop .rsvtxt ul li a{
		color: #b1a5a0;
		letter-spacing: -0.5px;
		text-decoration: underline;
	}
	.index .reservationTop .rsvtxt ul li a:hover{
		text-decoration: none;
	}
	.index .reservationTop .rsvtxt ul li.best{
		background: url("../images/index/best.svg") top center no-repeat;
		background-size: 100% 100%;
		margin-right: 12px;
		padding: 0 10px;
	}

	/* concept */
    .index .conceptTop{
		width: 100%;
		padding: 150px 0;
		background: url("../images/index/concept_bg.jpg") no-repeat;
		background-size: cover;
	}
	.index .conceptTop .inner p{
		color: #fff;
		line-height: 2;
/*		text-align: left;*/
		text-align: center;
		font-size: 1.125em;
		padding: 0 25px;
	}

	/* access */
    .index .accessTop{
		width: 100%;
		height: 498px;
		max-height: 900px;
		background: url("../images/index/access_bg.jpg") repeat-x;
		background-size: cover;
    }
    .index .accessTop .inner{
		top: 0;
		left: 0;
		width: 100%;
		position: relative;
    }
    .index .accessTop .inner .access_txt{
		width: 40%;
		margin-top: 100px;
		position: absolute;
	}
	.index .accessTop .inner .access_img{
		top: 0;
		right: 0;
		width: 65.7%;
		max-height: 900px;
		position: absolute;
	}
	.index .accessTop .inner .access_ttl {
		color: #fff;
		text-align: left;
		line-height: 0.5;
		font-size: 2.1875em;
    }
	.index .accessTop .inner .access_ttl span{
		color: #f5eb72;
    }
	.index .accessTop .inner .access_ttl .num{
		font-size: 2.5em;
    }
    .index .accessTop .inner .access_txt {
		color: #fff;
	}
    .index .accessTop .inner .more a{
		width: 278px;
		color: #333;
		display: block;
		text-align: center;
		position: relative;
		background: #fff;
		padding: 12px 0 16px;
    }
    .index .accessTop .inner .more a::after{
		top: 45%;
		right: 12px;
		width: 31px;
		height: 7px;
		content: "";
		position: absolute;
		background: url("../images/arw_b.svg") no-repeat;
    }
    .index .accessTop .inner .more a:hover{
		background: #f5eb72;
    }	
	/* news */
    .index .newsTop{
		width: 100%;
		padding: 150px 0;
		background: #f1f1f1;
	}
    .index .newsTop .inner{
		width: 100%;
		margin: 0 auto;
		text-align: center;
    }
    .index .newsTop .inner .news_ttl {
		color: #333;
		font-size: 1.4375em;
    }
	.index .newsTop .inner div.news_list ul{
		width: 100%;
		max-width: 836px;
		margin: 0 auto;
		padding: 0 60px;
		height: 300px;
	}
	.index .newsTop .inner div.news_list ul li{
		width: 222px !important;
		background: #fff;
		text-align: left;
		margin-right: 10px;
		height: 280px!important;
    }
    .index .newsTop .inner div.news_list ul li .img img{
		width: 100% !important;
    }
	.index .newsTop .inner div.news_list ul li .txt{
		padding: 14px 12px;
	}
	.index .newsTop .inner div.news_list ul li p{
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 0.875em;
		display: inline-block;
    }
	.index .newsTop .slick-arrow:before{
		content:""!important;
	}
	.index .newsTop .slick-prev{
		left: 0 !important;
		width: 17px !important;
		height: 19px !important;
		z-index: 10;
		background: url("../images/pr.svg") center center no-repeat!important;
		background-size: contain!important;
	}
	.index .newsTop .slick-next{
		right: 0 !important;
		width: 17px !important;
		height: 19px !important;
		z-index: 10;
		background: url("../images/pr.svg") center center no-repeat!important;
		background-size: contain!important;
		transform: scale(-1, 1)!important;
	}
    .index .newsTop .news_Box{ 
		width: 702px;
		padding: 60px 100px 20px;
		background: #fff;
	}
	.index .newsTop .news_Box .more{
		text-align: center;
	}
	.index .newsTop .news_Box .more a{
		width: 278px;
		color: #333;
		display: block;
		text-align: center;
		position: relative;
		background: #fff;
		margin: 0 auto;
		padding: 12px 0 16px;
		border: 1px solid #000;
    }
    .index .newsTop .news_Box .more a::after{
		top: 45%;
		right: 10px;
		width: 28px;
		height: 7px;
		content: "";
		position: absolute;
		background: url("../images/arw_b.svg") no-repeat;
    }
    .index .newsTop .news_Box .more a:hover{
		color: #fff;
		background: #000;
    }
    .index .newsTop .news_Box .more a:hover::after{
		top: 45%;
		right: 10px;
		width: 28px;
		height: 7px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
	.index .newsTop .news_Box ul li{
		text-align: left;
		font-size: 1.25em;
		padding-left: 10px;
		border-bottom: 1px solid #cccccc;
	}
	.index .newsTop .news_Box ul li a {
		display: flex;
	}
	.index .newsTop .news_Box time{
		color: #949494;
		font-size: 0.75em;
		margin-right: 60px;
	}

	/* stay restaurant hotspring banquet */
    .index .mainTop{
		width: 100%;
		padding: 100px 0 20px 0;
		background: url("../images/index/bg.png") bottom center no-repeat;
		background-size: 100% 64%;			
    }
    .index .mainTop .inner{
    	position: relative;
		width: 100%;
		margin: 0 auto;		
    }
	.index .mainTop .row{
    	flex-direction: row-reverse;
    }
    .index .mainTop .inner .imgArea {
    	position: absolute;
    	right: calc( 50% - 50vw );;
    	width: calc( 50vw + 50px );
    	height: 100%;
    	min-height: 540px;
    	max-height: 750px;
    }
	.index .mainTop .row .imgArea {
    	position: absolute;
    	left: calc( 50% - 50vw );
    	width: calc( 50vw + 50px );
    	height: 100%;
    	min-height: 540px;
    	max-height: 750px;
    }
    .index .mainTop .inner .imgArea img {
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    	position: relative;
    }
	.index .mainTop .inner .decArea {
		height: 100%;
    	width: 40%;
		min-height: 540px;
		padding-top: 30px;
    }
    .index .mainTop .inner .main_ttl {
		color: #333;
		line-height: 1.5;
		text-align: left;
    }
    .index .mainTop .inner .main_ttl span.ja{
		margin: 0;
		padding: 0;
		position: relative;
		font-size: 2.25em;
    }
    .index .mainTop .inner .main_ttl span.en{
		color: #a3916d;
		display: block;
    }
    .index .mainTop .inner .main_txt p{
		width: 95%;
		line-height: 1.75;
		text-align: left;
		font-size: 1.125em;
    }
    .index .mainTop .inner .more{
		float: left;
		margin-top: 40px;
    }
    .index .mainTop .inner .more a{
		width: 268px;
		color: #fff;
		display: block;
		text-align: center;
		position: relative;
		background: #424242;
		padding: 8px 0 12px;
    }
    .index .mainTop .inner .more a::after{
		top: 45%;
		right: 15px;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
    .index .mainTop .inner .more a:hover{
		background: #a3916d;
    }

	/* bridal golf */
    .index .contentTop{
		padding: 200px 0 150px 0;
    }
    .index .contentTop .inner{
    	position: relative;
		margin: 0 auto;	
    }
    .index .contentTop .inner ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
    .index .contentTop .inner ul li{
		width: 49%;
		background: url("../images/index/bg.png") top center;
    }
    .index .contentTop .inner .decArea{
		padding: 40px 20px;
    }
    .index .contentTop .inner .main_ttl {
		color: #333;
		line-height: 1.5;
		text-align: center;
    }
    .index .contentTop .inner .main_ttl span.ja{
		margin: 0;
		padding: 0;
		position: relative;
		font-size: 2.25em;
    }
    .index .contentTop .inner .main_ttl span.en{
		color: #a3916d;
		display: block;
    }
    .index .contentTop .inner .main_txt p{
		line-height: 1.75;
		text-align: center;
		font-size: 1.125em;
    }
    .index .contentTop .inner .more{
		text-align: center;
    }
    .index .contentTop .inner .more a{
		width: 288px;
		color: #fff;
		display: block;
		margin: 0 auto;
		text-align: center;
		position: relative;
		background: #424242;
		padding: 8px 0 12px;
    }
    .index .contentTop .inner .more a::after{
		top: 45%;
		right: 15px;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
    .index .contentTop .inner .more a:hover{
		background: #a3916d;
    }


	/* sightseeing access */
    .index .sightseeingTop{
		padding: 65px 0;
		background: url("../images/index/bg.png") top center;
    }
    .index .sightseeingTop .inner{
    	position: relative;
		margin: 0 auto;	
    }
    .index .sightseeingTop .inner ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
    .index .sightseeingTop .inner ul li{
		width: 48.5%;
		position: relative;
		z-index: 0;
    }
    .index .sightseeingTop .inner ul li h3{
		top: 15px;
		left: 0;
		z-index: 1;
		background: #fff;
		padding: 5px 24px;
		position: absolute;
		font-size: 1.5625em;
    }

	/* plan */
    .index .planTop{
		padding: 160px 0;
    }
    .index .planTop .inner{
    	position: relative;
		margin: 0 auto;	
    }
    .index .planTop .inner .plan_ttl {
		width: 100%;
		color: #333;
		line-height: 1.5;
		font-size: 2.25em;
		text-align: center;
    }
    .index .planTop .inner .plan_subttl {
		width: 100%;
		line-height: 1.75;
	}
	.index .planTop .inner .plan_subttl span.ja{
		margin: 0;
		padding: 2px 14px;
		position: relative;
		font-size: 1.625em;
		border-top: 1px solid #333333;
		border-bottom: 1px solid #333333;
    }
    .index .planTop .inner .plan_subttl span.en{
		color: #a3916d;
		display: block;
		font-size: 1.625em;
    }
	.index .planTop .inner ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
    .index .planTop .inner ul li{
		width: 32%;
		position: relative;
		background: url("../images/index/bg.png") top center;
    }
    .index .planTop .inner ul li .decArea{
		padding: 10px 5px;
    }
    .index .planTop .inner ul li .decArea h4{
		line-height: 1.5;
		font-size: 1.75em;
    }
    .index .planTop .inner .more{
		text-align: center;
    }
    .index .planTop .inner .more a.link{
		width: 200px;
		color: #fff;
		display: block;
		margin: 0 auto;
		text-align: center;
		position: relative;
		background: #424242;
		padding: 8px 0 12px;
    }
    .index .planTop .inner .more a.link::after{
		top: 45%;
		right: 15px;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
    .index .planTop .inner .more a:hover{
		background: #a3916d;
    }
	.index .planTop .inner ul.menu_list li .decArea{
		padding: 20px 5px 25px;
	}
    .index .planTop .inner ul.room_list li{
		padding: 15px;
    }
    .index .planTop .inner ul.room_list li.type{
		width: 49%;
    }
    .index .planTop .inner ul.room_list li dl{
		font-size: 1.375em;
    }
    .index .planTop .inner ul.room_list li dl dt{
		border-bottom: 1px solid #333;
    }
    .index .planTop .inner .no-smoking a.link,
	.index .planTop .inner .smoking a.link{
		color: #fff;
		display: block;
		margin: 0 auto;
		text-align: center;
		position: relative;
		padding: 0px 10px;
    }
	.index .planTop .inner .smoking_a a.link,
	.index .planTop .inner .smoking_b a.link{
		color: #fff;
		display: block;
		margin: 0 auto;
		text-align: center;
		position: relative;
		padding: 20px 10px;
    }
	.index .planTop .inner .no-smoking a.link,
	.index .planTop .inner .smoking_a a.link{
		background: #648ea1;
	}
	.index .planTop .inner .smoking a.link,
	.index .planTop .inner .smoking_b a.link{ 
		background: #424242;
	}
	.index .planTop .inner .no-smoking a.link::after,
	.index .planTop .inner .smoking a.link::after,
	.index .planTop .inner .smoking_a a.link::after,
	.index .planTop .inner .smoking_b a.link::after{
		top: 45%;
		right: 15px;
		content: "";
		position: absolute;
		display: inline-block;
		vertical-align: middle;
		color: #fff;
		line-height: 1;
		width: 8px;
		height: 8px;
		border: 0.1em solid currentColor;
		border-left: 0;
		border-bottom: 0;
		box-sizing: border-box;
		transform: translateX(-25%) rotate(45deg);
    }
	.index .planTop .inner ul.plan_list li{
		width: 49%;
		padding: 15px;
		position: relative;
		background: #e6e6e6;
    }
	.index .planTop .inner ul.plan_list li .planArea{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
	.index .planTop .inner ul.plan_list li .decArea{
		width: 50%;
		padding: 24px 10px 0;
    }
	.index .planTop .inner ul.plan_list li .decArea h4{
		color: #333;
		text-align: center;
		font-size: 2.0625em;
    }
	.index .planTop .inner ul.plan_list li .decArea h4.plan_line{
		margin-top: -20px;
    }
	.index .planTop .inner ul.plan_list li .imgArea{
		width: 45%;
    }
	.index .planTop .inner .more_plan{
		text-align: center;
    }
    .index .planTop .inner .more_plan a.link{
		width: 837px;
		color: #fff;
		display: block;
		margin: 0 auto;
		padding: 15px 0;
		text-align: center;
		position: relative;
		background: #1a1a1a;
		font-size: 1.9375em;
    }
    .index .planTop .inner .more_plan a.link::after{
		top: 45%;
		right: 2vw;
		width: 61px;
		height: 15px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
    .index .planTop .inner .more_plan a:hover{
		background: #a3916d;
    }





/* 2025/05/27追記 */
/* bg-video
-------------------------------------------------- */
	#bg-video {
		position: relative;
		z-index: 2;
/*		width: 100%;*/
/*		height: 100vh;*/
		left: 50%;
		transform: translate(-50%,-6vw);
	}
	#mainvisual {
		overflow: hidden;
	}


/*2025/05/27追記*/
/* video
-------------------------------------------------- */

	#mainvisual .btn_play { width: 256px; height: 144px; background: rgba(0,0,0,0.5); /*position: absolute; z-index: 10010;*/
		/*bottom: 50px; left: 3%;*/ display: block; padding: 5px; position: relative; }
	#mainvisual .btn_play video { width: 100%; height: 100%; /*width: 224px; height: 144px;*/ }
	#mainvisual .btn_play:after { content: ""; width: 36px; height: 36px; position: absolute;
		top:50%; margin-top: -18px; left: 50%; margin-left: -18px; border-radius: 18px;
		background: url(../images/icon_play.svg) center center no-repeat rgba(255,255,255,0.8);
		transition:0.3s; }
	#mainvisual .btn_play:hover { opacity: 1; }
	#mainvisual .btn_play:hover:after { 
		background: url(../images/icon_play_on.svg) center center no-repeat ##333333; }



}

/* SP
---------------------------------------------------------------------- */
@media screen and (max-width:1000px) {
/* mv
---------------------------------------------------------------------- */
#mainvisual {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	background: #000;
}
#mainvisual .mvslide {
    width: 100%;
    height: calc( 100vh - 15vw );
	z-index: 9990;
}
#mainvisual .mvslide figure img{
    width: 100%;
    height: 100vh;
	display: block;
	object-fit: cover;
}
.slick-slide>img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#mainvisual .mvslide .slide-item picture img {
        opacity: 0.8;
        display: block;
}
@keyframes fadezoom{
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
.slick-animation {
  animation: fadezoom 5s 0s forwards;
}
#mainvisual h2.copy {
	width: 75%;
	height: auto;
	display: block;
    top: 50%;
    left: 50%;
    position: absolute;
	z-index: 9998;
	transform: translate(-50%,-50%);
}
#mainvisual h2.copy .img{
	width: 50vw;
	height: auto;
	display: block;
	margin: 0 auto;
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.5));
}
#mainvisual h2.copy .img img{
	width: 100%;
}
#mainvisual h2.copy .txt{
	color: #fff;
	display: block;
	font-size: 1.25em;
	text-shadow: 0px 3px 27px rgba(0, 0, 0, 1);
}

/* inner
---------------------------------------------------------------------- */
.index {
	padding: 0;
	text-align: center;
}
	/* concept */
    .index .conceptTop{
		background: url("../images/index/concept_bg_sp.jpg") top center no-repeat;
		background-size: cover;
	}
	.index .conceptTop .inner p{
		color: #fff;
		line-height: 2;
		text-align: left;
		font-size: 1.125em;
		padding: 10vw 5vw;
	}

	/* best rate banner */
.index .bestRate{
	width: 100%;
	background: #373738;
	border-bottom: none;
	padding: 2rem 0;
}
.index .bestRate img{
	width: 80%;
	margin: 1.5rem auto;
	/* display: flex;
	justify-content: center; */
}

	/* access */
    .access_bnr{
		width: 90vw;
		margin: 5vw auto;
		color: #333;
		padding: 5vw 0;
		text-align: center;
		background: #e6e6e6;
    }
    .access_bnr a{
		width: 45vw;
		margin: 0 auto;
		position: relative;
		font-size: 1.5em;
    }
	.access_bnr a::after{
		top: 1.5vw;
		left: 1vw;
		width: 30px;
		height: 30px;
		content: "";
		position: absolute;
		background: url("../images/arrow_b.svg") no-repeat;
    }

	/* bnr_ticket */
	.bnr_sptop {
		width: 90vw;
		margin: 5vw auto;
		text-align: center;
	}
	.bnr_sptop a img {
		width: 100%;
		margin: 0.5rem auto 0;
	}
	.bnr_sptop a img:first-child {
		margin-bottom: 0.5rem;
	}


	/* news */
    .index .newsTop{
		overflow: hidden;
		background: #f2f2f2;
		padding-bottom: 5vw;
	}
    .index .newsTop .inner{
		width: 90vw;
		margin: 0 auto;
		text-align: center;
    }
    .index .newsTop .inner .news_ttl {
		color: #333;
		font-size: 1.4375em;
		border-bottom: 1px solid #cbcbcb;
    }
	.index .newsTop .inner div.news_list ul li{
		width: 92% !important;
		background: #fff;
		text-align: left;
    }
	.index .newsTop .inner div.news_list ul li .txt{
		padding: 3vw;
	}
	.index .newsTop .inner div.news_list ul li p{
		font-size: 1em;
    }
	.slick-prev,.slick-next { display: none;}
	.index .newsTop .news_Box{ 
		padding: 5vw;
		background: #fff;
		margin-bottom: 5vw;
		position: relative;
	}
	.index .newsTop .news_Box ul li{
		text-align: left;
		font-size: 1.25em;
		padding-left: 1vw;
		border-bottom: 1px solid #cccccc;
	}
	.index .newsTop .news_Box time{
		display: block;
		color: #949494;
		font-size: 0.75em;
		margin-right: 3vw;
	}
	.index .newsTop .news_Box .more{
		text-align: center;
	}
	.index .newsTop .news_Box .more a{
		width: 52vw;
		color: #333;
		display: block;
		text-align: center;
		position: relative;
		margin: 0 auto;
		padding: 12px 0 16px;
    }
    .index .newsTop .news_Box .more a::after{
		top: 45%;
        right: 15px;
        content: "";
        position: absolute;
        display: inline-block;
        vertical-align: middle;
        color: #333;
        line-height: 1;
        width: 8px;
        height: 8px;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateX(-25%) rotate(45deg);
    }
	
	/* stay restaurant hotspring banquet */
    .index .mainTop{
		margin-top: 13.3vw;
    }
    .index .mainTop .inner{
		width: 90vw;
		margin: 0 auto;
		padding-top: 25vw;
		position: relative;
    }
    .index .mainTop .inner .decArea{
		padding-bottom: 5vw;
		background: url("../images/index/bg.png") top center no-repeat;
	}
    .index .mainTop .inner .imgArea img {
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    }
    .index .mainTop .inner .main_ttl {
		width: 90vw;
		top: 0;
		position: absolute;
		color: #333;
		line-height: 1.5;
		text-align: center;
    }
    .index .mainTop .inner .main_ttl span.ja{
		margin: 0;
		padding: 0;
		position: relative;
		font-size: 2.25em;
    }
    .index .mainTop .inner .main_ttl span.en{
		color: #a3916d;
		display: block;
    }
    .index .mainTop .inner .main_txt{
		padding: 10vw;
    }
    .index .mainTop .inner .main_txt p{
		line-height: 1.75;
		text-align: left;
		font-size: 1.125em;
    }
	.index .mainTop .inner .more{
		margin-top: 2vw;
		text-align: center;
    }
    .index .mainTop .inner .more a{
		width: 80vw;
		color: #fff;
		display: block;
		text-align: left;
		position: relative;
		background: #424242;
		margin: 0 auto;
		padding: 5vw 0 5vw 10vw;
    }
    .index .mainTop .inner .more a::after{
		top: 45%;
		right: 5vw;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }




    .index .contentTop{
		margin-top: 13.3vw;
    }
    .index .contentTop .inner{
		width: 90vw;
		margin: 0 auto;
		/*padding-top: 25vw;*/
		position: relative;
    }
    .index .contentTop .inner li {
    	position: relative;
    	padding-top: 25vw;
    }
    .index .contentTop .inner li:nth-of-type(2) {
    	margin-top: 13.3vw;
    }
    .index .contentTop .inner .decArea{
		padding-bottom: 5vw;
		background: url("../images/index/bg.png") top center no-repeat;
	}
    .index .contentTop .inner .imgArea img {
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    }
    .index .contentTop .inner .main_ttl {
		width: 90vw;
		top: 0;
		position: absolute;
		color: #333;
		line-height: 1.5;
		text-align: center;
    }
    .index .contentTop .inner .main_ttl span.ja{
		margin: 0;
		padding: 0;
		position: relative;
		font-size: 2.25em;
    }
    .index .contentTop .inner .main_ttl span.en{
		color: #a3916d;
		display: block;
    }
    .index .contentTop .inner .main_txt{
		padding: 10vw;
    }
    .index .contentTop .inner .main_txt p{
		line-height: 1.75;
		text-align: left;
		font-size: 1.125em;
    }
	.index .contentTop .inner .more{
		margin-top: 2vw;
		text-align: center;
    }
    .index .contentTop .inner .more a{
		width: 80vw;
		color: #fff;
		display: block;
		text-align: left;
		position: relative;
		background: #424242;
		margin: 0 auto;
		padding: 5vw 0 5vw 10vw;
    }
    .index .contentTop .inner .more a::after{
		top: 45%;
		right: 5vw;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }




















	/* plan */
    .index .planTop{
		margin: 20vw 0;
    }
    .index .planTop .inner{
		width: 90vw;
    	position: relative;
		margin: 0 auto;	
    }
    .index .planTop .inner .plan_ttl {
		color: #333;
		line-height: 1.5;
		font-size: 2.25em;
		text-align: center;
    }
    .index .planTop .inner .plan_subttl {
		width: 100%;
		line-height: 1.75;
	}
	.index .planTop .inner .plan_subttl span.ja{
		margin: 0;
		padding: 2px 14px;
		position: relative;
		font-size: 1.625em;
		border-top: 1px solid #333333;
		border-bottom: 1px solid #333333;
    }
    .index .planTop .inner .plan_subttl span.en{
		color: #a3916d;
		display: block;
		font-size: 1.625em;
    }
	.index .planTop .inner ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
    .index .planTop .inner ul li{
		position: relative;
		margin-bottom: 10vw;
		background: url("../images/index/bg.png") top center;
    }
    .index .planTop .inner ul li .decArea{
		padding: 10vw 5vw;
    }
    .index .planTop .inner ul li .decArea h4{
		line-height: 1.5;
		font-size: 1.75em;
    }
    .index .planTop .inner ul li .decArea h4.plan_line{
		margin: -20px 0;
    }
    .index .planTop .inner .more{
		text-align: center;
    }
    .index .planTop .inner .more a.link{
		width: 70vw;
		color: #fff;
		display: block;
		margin: 0 auto;
		text-align: left;
		position: relative;
		background: #424242;
		padding: 5vw 0 5vw 10vw;
    }
    .index .planTop .inner .more a.link::after{
		top: 45%;
		right: 5vw;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
	.index .planTop .inner ul.plan_list li{
		width: 100vw;
		padding: 15px;
		position: relative;
		background: #e6e6e6;
    }
	.index .planTop .inner ul.plan_list li .planArea{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
	.index .planTop .inner ul.plan_list li .decArea{
		width: 50%;
		padding: 5vw 0;
    }
	
	.index .planTop .inner ul.plan_list li .decArea h4{
		color: #333333;
		font-size: 1.5em;
    }
	.index .planTop .inner ul.plan_list li .imgArea{
		width: 45%;
    }
	.index .planTop .inner .more_plan{
		text-align: center;
    }
    .index .planTop .inner .more_plan a.link{
		width: 80vw;
		color: #fff;
		display: block;
		margin: 0 auto;
		padding: 3vw 0;
		text-align: center;
		position: relative;
		background: #1a1a1a;
		font-size: 1.5em;
    }
    .index .planTop .inner .more_plan a.link::after{
		top: 45%;
		right: 5vw;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }
	.index .planTop .inner .plan_bnr{
		margin: 0 calc(50% - 50vw) 20vw;
		padding: 20vw 0;
		width: 100vw;
		background: url("../images/index/plan_bg_sp.jpg") top center no-repeat;
		background-size: cover;
    }
    .index .planTop .inner .plan_bnr a.link{
		width: 80vw;
		color: #fff;
		display: block;
		margin: 0 auto;
		padding: 3vw 0;
		text-align: center;
		position: relative;
		font-size: 1.5em;
		border: 1px solid #fff;
    }
    .index .planTop .inner .plan_bnr a.link::after{
		top: 45%;
		right: 5vw;
		width: 24px;
		height: 6px;
		content: "";
		position: absolute;
		background: url("../images/arw.svg") no-repeat;
    }


/* 2025/05/27追記 */
/* bg-video
-------------------------------------------------- */
	#bg-video {
		position: relative;
		z-index: 2;
/*		width: 100%;*/
		height: 100%;
		transform: translateX(-32%);
	}
	#mainvisual {
		overflow: hidden;
	}

	.btn_movie { margin: 6vw auto; width: 83vw; }
	.btn_movie img { width: 100%; }
	.btn_movie a { display: block; margin-bottom: 2vw; }


  #intro-video_sp {
    padding: 8vw 0;
    background: #373738;
  }
	#intro-video_sp .mainw {
		/*width: 100%;
		height: 100%;
		aspect-ratio: 16/9;
		object-fit: cover;*/
		text-align: center;
	}
	#intro-video_sp .mainw video {
		width: 75%;
		height: auto;
		/*object-fit: contain;*/
		margin: auto;
	}
  #intro-video_sp h3 {
    text-align: center;
  }
  #intro-video_sp p {
    text-align: center;
    margin-bottom: 4vw;
    font-size: 3.3vw;
  }



}
