@charset "UTF-8";


/* ------------------------------
	.img_head_box
------------------------------ */
.img_head_box{
	background: url(../img/stay/pc_stay_head_bg.jpg) no-repeat center center;
	background-size: cover;
}


@media screen and (max-width: 990px){
}


@media screen and (max-width: 768px){
  .img_head_box {
    background-image: url('../img/stay/sp_stay_head_bg.jpg');
  }
}



/* ------------------------------
	.stay
------------------------------ */
@media screen and (min-width: 769px){
	#anniversary {
	scroll-margin-top:64px;
	}
}
.massage {
margin:0px 0 100px;
}
.massage .sec_ttl {
    margin-bottom: 80px;
}
.massage p{
font-size:12px;
line-height:180%;
margin-bottom:30px;
}
.massage .course{
color:#33485c;
font-size:16px;
font-weight:bold;
}
.stay .lead{
	padding: 40px 0 0;
}

.stay .lead .ttl{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.2;
	letter-spacing: 0.2em;
}

.stay .lead .txt{
	margin-top: 10px;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
}

@media screen and (max-width: 768px){
	.stay .lead{
		padding-bottom: 45px;
	}

	.stay .lead .ttl{
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.stay .lead .txt{
		margin-top: 10px;
	}
}



/* ------------------------------
	.rooms
------------------------------ */
.rooms{
	padding: 100px 0 0;
}

.rooms .sec_ttl{
	margin-bottom: 80px;
}

.bg_brwn {
  margin-top: 100px;
  padding: 100px 0;
  background-color: #D6D4C9;
}

.slide_box + .slide_box{
	margin-top: 100px;
}

.slide_box .btn_box{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 50px;
}

.slide_box .btn_box .btn a{
	letter-spacing: 1px;
	font-weight: bold;
	margin-top: 0;
}

.slide_box .btn_box .btn + .btn{
	margin-left: 35px;
}

.slide_wrap{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.slide_box .txt_box{
	width: 280px;
}

.slide_box .txt_box .ttl{
	min-height: 95px;
	padding-bottom: 15px;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	line-height: 1.3;
}

.rooms .slide_box .txt_box .ttl{
	border-bottom: 1px solid #767777;
}

.slide_box .txt_box .ttl .en{
	text-transform: uppercase;
	display: block;
}

.slide_box .txt_box .ttl .en:first-of-type{
	margin-bottom: 5px;
	letter-spacing: 0.15em;
	font-size: 2.1rem;
}
.slide_box .txt_box .ttl .en:not(:first-of-type){
	padding-top: 12px;
	font-weight: 500;
	letter-spacing: 1px;
}

.slide_box .txt_box .txt{
	font-size: 1.2rem;
}

.slide_box .txt_box .ttl + .txt{
	min-height: 215px;
}

.rooms .slide_box .txt_box .ttl + .txt{
	padding: 20px 0;
	margin-bottom: 25px;
	border-bottom: 1px solid #767777;
}

.stay_slider{
	position: relative;
	z-index: 1;
	width: 650px;
}

.stay_slider .img img{
	width: 100%;
}

.stay_slider.slick-dotted.slick-slider{
	margin-bottom: 0;
}

.stay_slider .slick-arrow{
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	cursor: pointer;
}
.stay_slider .prev_arrow{
	left: 20px;
}
.stay_slider .next_arrow{
	right: 20px;
}

.stay_slider .slick-dots{
	z-index: 2;
	bottom: 20px;
}

.stay_slider .slick-dots li{
	width: 7px;
	height: 7px;
	margin: 0 7px;
}
.stay_slider .slick-dots li button{
	content: "";
	width: 100%;
	height: 100%;
	padding: 0;
}
.stay_slider .slick-dots li button:before{
	content: "";
	width: 100%;
	height: 100%;
	padding: 0;
	background-color: #fff;
	border-radius: 50%;
}

.rooms .map{
	padding: 60px 0 50px;
	background-color: #e9e7db;
  margin-top: 100px;
}

.rooms .map img{
	width: 100%;
	max-width: 804px;
	margin: 0 30px;
}

@media screen and (max-width: 990px) {
	.slide_wrap{
		flex-wrap: wrap;
	}

	.slide_box .txt_box{
		width: 100%;
		max-width: 650px;
		order: 2;
		margin: 0 auto;
	}

	.slide_box .txt_box .ttl + .txt{
		min-height: 0;
	}
	.slide_box .txt_box .ttl{
		min-height: 0;
	}

	.stay_slider{
		width: 100%;
		max-width: 650px;
	}

	.stay_slider.slick-dotted.slick-slider{
		order: 1;
		margin: 0 auto 40px;
	}

  .rooms .map img{
		margin: 0 auto;
	}
}


@media screen and (max-width: 768px) {
	.rooms{
		padding: 50px 0 0;
	}

	.rooms .sec_ttl{
		margin-bottom: 25px;
	}

	.slide_box .txt_box .ttl{
		letter-spacing: 0.1em;
		font-size: 1.4rem;
	}
	.slide_box .txt_box .ttl .en:first-child{
		margin-bottom: 3px;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}

  .bg_brwn {
    margin-top: 50px;
    padding: 50px 0;
  }

	.slide_box + .slide_box{
		margin-top: 50px;
	}

	.stay_slider{
		width: 100%;
	}
	.stay_slider.slick-dotted.slick-slider{
		margin-bottom: 25px;
	}

	.stay_slider .slick-arrow{
		width: 15px;
	}

	.stay_slider .prev_arrow{
		left: 3%;
	}
	.stay_slider .next_arrow{
		right: 3%;
	}
	.stay_slider .slick-dots{
		bottom: 15px;
	}

	.slide_box .btn_box{
		flex-direction: column;
		margin-top: 25px;
	}

	.rooms .slide_box .txt_box .ttl + .txt{
		margin-bottom: 20px;
	}

	.slide_box .btn_box .btn + .btn{
		margin-left: 0;
		margin-top: 12px;
	}

  .rooms .map{
		padding: 40px 0 30px;
    margin-top: 50px;
	}
}



/* ------------------------------
	.facilities
------------------------------ */
.sec_ttl_box{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 500px;
}
.sec_ttl_box .sec_ttl{
	color: #fff;
	text-shadow: 0 0 2px rgba(0,0,0, 0.5);
}

.sec_ttl_box .sec_ttl{
	font-size: 1.5rem;
}

.facilities .sec_ttl_box{
	margin-bottom: 50px;
	background: url(../img/stay/facilities_bg.jpg) no-repeat center center;
	background-size: cover;
}

.facilities .flex{
	flex-wrap: wrap;
  row-gap: 40px;
}

.facilities .flex div{
	width: 31.9%;
}

.facilities .flex .ttl{
	margin: 20px 0 15px;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: bold;
}

.facilities .flex .txt{
	font-size: 1.2rem;
		letter-spacing: 0.1em;
}


@media screen and (max-width: 990px) {
}


@media screen and (max-width: 768px) {
	.sec_ttl_box{
		height: 200px;
	}

	.facilities .sec_ttl_box{
		margin-bottom: 30px;
	}

	.sec_ttl_box .sec_ttl{
		font-size: 1.2rem;
	}

	.facilities .flex{
    row-gap: 0px;
	}

	.facilities .flex div{
		width: 100%;
	}
	.facilities .flex div + div{
		margin-top: 30px;
	}

	.facilities .flex .img img{
		width: 100%;
	}

	.facilities .flex .ttl{
		margin: 15px 0 5px;
		letter-spacing: 0.1em;
		font-size: 1.4rem;
	}
	.facilities .flex .txt{
		letter-spacing: 0.1em;
	}
}



/* ------------------------------
	.food
------------------------------ */
.food{
	padding: 100px 0;
}

.food .sec_ttl_box{
	margin-bottom: 100px;
	background: url(../img/stay/food_bg_summer.jpg) no-repeat center center;
	background-size: cover;
}

.food .slide_box .txt_box .txt.bold{
	margin-top: 20px;
	font-size: 1.5rem;
}


@media screen and (max-width: 990px) {
	.food .slide_box .txt_box .txt.bold{
		margin-top: 1em;
	}
}


@media screen and (max-width: 768px) {
	.food{
		padding: 50px 0;
	}

	.food .sec_ttl_box{
		margin-bottom: 30px;
	}

	.food .slide_box .txt_box .txt.bold{
		font-size: 1.4rem;
	}
}



/* ------------------------------
	.price
------------------------------ */
.price .sec_ttl{
	margin-bottom: 80px;
}

.price .price_ttl{
	padding: 5px 20px;
	margin-bottom: 50px;
	background-color: #767777;
	font-size: 2.1rem;
	color: #fff;
	font-weight: bold;
	line-height: 1.6;
}

.price .price_ttl span{
	margin-left: 1em;
	font-size: 1.4rem;
}

.price .txt{
	margin-top: 15px;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: right;
}
.price .txt2{
	margin-top: 15px;
	font-size: 1.3rem;
	font-weight: bold;
	line-height:2;
}

.price .price_box{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 162px;
	height: 475px;
	padding: 35px 0 30px;
	border: 1px solid #767777;
}

.ie .price .price_box{
	padding: 0;
}
.ie .price .price_box::before{
	top: 140px;
}
.ie .price .price_box::after{
	bottom: 150px;
}

.price .price_box::before{
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	width: 30px;
	height: 30px;
	background: url(../img/stay/price_ico01.png) no-repeat center center;
	background-size: 100%;
}

.price .price_box::after{
	position: absolute;
	bottom: 120px;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	width: 47px;
	height: 47px;
	background: url(../img/stay/price_ico02.png) no-repeat center center;
	background-size: 100%;
}

.price .price_box p{
	font-size: 2.2rem;
	line-height: 1.5;
	text-align: center;
	font-weight: bold;
}

.price .price_box p:first-child{
	font-size: 3.2rem;
	letter-spacing: 0.2em;
}

.price .price_box p span{
	display: block;
	font-size: 1.6rem;
}

.price .right_box{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(100% - 180px);
}

.price .table_wrap{
	width: 100%;
}

.price .table_wrap table{
	width: 100%;
	border-spacing: 0;
}

.price .table_wrap tr th{
	background-color: #eee;
}

.price .table_wrap tr th,
.price .table_wrap tr td{
	height: 45px;
	border-top: 1px solid #555;
	border-left: 1px solid #555;
	text-align: center;
	font-weight: bold;
}
.price .table_wrap tr > *:last-child{
	border-right: 1px solid #555;
}
.price .table_wrap tr:last-child > *{
	border-bottom: 1px solid #767777;
}

.price .table_wrap tr:first-child th:first-child{
	/* background-color: #767777; */
	/* color: #fff; */
	/* font-size: 2.1rem; */
	letter-spacing: 0.2em;
}
.price .table_wrap tr:first-child th span{
	font-size: 1.5rem;
}
.price .table_wrap tr:first-child th .min{
	font-size: 1.2rem;
}

.price .table_wrap tr:first-child th{
	width: 32%;
}
.price .table_wrap.table1 tr:first-child th:first-child{
	width: 36%;
}
.price .table_wrap.table2 tr:first-child th:first-child{
	width: 68%;
}
.price .table_wrap.table1 tr:first-child th:first-child,
.price .table_wrap.table2 tr:first-child th:first-child{
	padding-top: 2px;
	/* font-size: 2.1rem; */
}
.price .table_wrap.table2 .yen{
	width: 32%;
}

.price .table_wrap.table1 tr:first-child th{
	font-size: 1.6rem;
}

.price .table_wrap.table2 tr:first-child th{
	font-size: 1.7rem;
}

.price .table_wrap .yen{
	font-size: 1.8rem;
}
.price .table_wrap .mid{
	font-size: 1.3rem;
}
.price .table_wrap .min{
	font-size: 1.2rem;
}


@media screen and (max-width: 950px) {
	.price .flex{
		flex-wrap: wrap;
	}

	.price .price_box{
		flex-direction: row;
		width: 100%;
		height: auto;
		padding: 30px 10%;
		margin-bottom: 30px;
	}

	.price .price_box::before{
		top: 0;
		bottom: 0;
		right: 43%;
	}
	.price .price_box::after{
		top: 0;
		bottom: 0;
		left: 33%;
	}

	.price .right_box{
		width: 100%;
	}

	.price .table2{
		margin-top: 30px;
	}
}


@media screen and (max-width: 768px) {
	.price .sec_ttl{
		margin-bottom: 30px;
		font-size: 1.2rem;
	}

	.price .price_ttl{
		padding: 7px 3%;
		margin-bottom: 25px;
		font-size: 1.8rem;
	}

	.price .price_ttl span{
		margin-left: 0;
		font-size: 1.2rem;
	}
	.price .price_ttl > span{
		display: block;
	}

	.price .price_box{
		max-width: 380px;
		align-items: center;
		padding: 20px 5%;
		margin: 0 auto 30px;
	}

	.price .price_box p:first-child{
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}

	.price .price_box p{
		font-size: 1.6rem;
	}
	.price .price_box p span{
		font-size: 1.2rem;
	}

	.price .price_box::before{
		width: 15px;
		height: 15px;
		right: 51%;
	}
	.price .price_box::after{
		width: 20px;
		height: 20px;
		left: 24%;
	}

	.price .table_wrap{
		overflow: auto;
	}

	.price .table_wrap table{
		min-width: 750px;
	}

	.price .table_wrap tr th{
		font-size: 1.4rem;
	}

	.price .table_wrap.table1 tr:first-child th,
	.price .table_wrap.table2 tr:first-child th{
		font-size: 1.5rem;
	}
	.price .table_wrap.table1 tr:first-child th:first-child,
	.price .table_wrap.table2 tr:first-child th:first-child{
		padding-top: 2px;
		font-size: 1.8rem;
	}

	.price .table_wrap tr:first-child th span{
		font-size: 1.2rem;
	}

	.price .table_wrap .yen{
		font-size: 1.6rem;
	}
}


/* 料金テーブル修正 */
.price .price_ttl{
margin-bottom:30px;
}
.price .table_ttl{
font-size: 1.7rem;
font-weight: bold;
margin-bottom: 12px;
padding:0 0 0 10px;
}
.price .table_wrap{
margin-bottom:35px;
}
.price .table_wrap.table1 table{
width:80%;
}
.price .table1 table th,
.price .table1 table td{
width:25% !important;
}
.price .table2 table th,
.price .table2 table td{
width:20% !important;
}
.price .table3,
.price .table4{
width:45%;
}
.price .table_wrap.table3 tr:first-child th,
.price .table_wrap.table4 tr:first-child th
{
color:#767777;
background-color: #fff;
}
.price .table_wrap.table3,
.price .table_wrap.table4{
margin-bottom:0;
}
.price .table_wrap.table3 tr:first-child th:first-child,
.price .table_wrap.table4 tr:first-child th:first-child
{
color:#767777;
background-color: #eee;
}
.price .txt{
margin-top:15px;
margin-bottom:20px;
}
.price .txt2{
font-size:1.2rem;
margin-top:0;
font-weight:normal;
line-height:1.5;
padding:0.25em 0;
}
.price .table_wrap tr th, .price .table_wrap tr td{
height:50px;
}
.d-ib{
display:inline-block;
}
.price .table_wrap .table_ttl_min{
font-size:0.8em;
}
.price .th-min{
font-size:0.7em;
line-height:1;
}

@media (max-width:840px){
.price .table_wrap table th,
.price .table_wrap table td
{
font-size:1.4rem !important;
}
}
@media (max-width:768px){
.price .tables_3-4.flex{
flex-direction:column;
}
.price .tables_3-4 .table_wrap{
width:100%;
overflow-y:hidden;  /*safariで縦が出る*/
}
.price .table_wrap.table3 table,
.price .table_wrap.table4 table{
min-width:345px;
}
.price .table_wrap.table3{
margin-bottom:35px;
}
.price .table_ttl{
font-size:1.55rem;
line-height:1.5;
padding-left:0;
}
.price .table1.table_wrap table{
min-width:600px;
}
