@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');

/* 共通設定 */
body {
	min-width: 1100px;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}
section {
	overflow: hidden;	
}
a {
	color: #333333;	
	transition: all 0.5s ease;
}
.t-a-c {
	text-align: center;	
}
/* ローディング */
.loading {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.loading p {
	position: fixed;
	top: 42.7%;
	left: 51%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 117px;
	height: 298px;
}
/* .top-header */
.top-header {
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	height: 350px;	
	z-index: 5;
}
.top-header .wrap {
	position: relative;
	width: 100%;
	height: 350px;
	margin: 0 auto;
}
.top-header nav {
	position: absolute;
	width: 250px;	
	height: 350px;
	top: 0;
	right: 30px;
}
nav ul {
	padding: 0;
	margin: 0;
	list-style-type: none;	
}
nav ul li {
	float: right;
	width: 50px;
	height: 350px;
	box-sizing: border-box;
    padding: 0 10px;
	text-align: center;	
}
nav li a {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	letter-spacing: 0.1em;
	line-height: 100%;
	font-size: 16px;
	font-weight: 500;
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
	text-decoration: none;
}
nav li a::after {
	background-color: rgba(255,255,255,0.6);
	top: 0;
	left: -8px;
	content: '';
	display: block;
	height: 0;
	position: absolute;
	transition: all 0.5s ease;
	width: 1px;
}
nav li a:hover::after {
	height: 102%;
}
nav li a,
nav li a:active,
nav li a:visited {
	color: #fff;	
	transition: all 0.5s ease;
}
nav li a::before {
	content: "-";
	margin-bottom: 10px;	
}
/* .sub-header */
.sub-header {
	width: 100%;
	height: 550px;	
}
.sub-header .wrap {
	width: 100%;
	max-width: 1920px;
	height: 550px;	
	margin: 0 auto;
}
.sub-header .wrap .bg {
	position: relative;
	float: right;
	width: 470px;
	height: 550px;
	background: rgba(255,255,255,0.9);
}
.sub-header h1 {
	position: absolute;
	top: 50px;
	right: 30px;
	width: 75px;
	height: 200px;	
	margin: 0;
}
.sub-header h1 a {
	transition: all 0.5s ease;	
}
.sub-header h1 a:hover {
	transition: all 0.5s ease;	
	opacity: 0.8;
}
.sub-header h2 {
	margin: 0 auto;
	padding: 0;
	width: 120px;
	height: 450px;
}
.sub-header nav {
	position: absolute;
	width: 400px;	
	height: 350px;
	top: 50px;
	right: 120px;
}
.sub-header nav li a::after {
	background-color: rgba(0,0,0,0.8);
	top: 0;
	left: -8px;
	content: '';
	display: block;
	height: 0;
	position: absolute;
	transition: all 0.5s ease;
	width: 1px;
}
.sub-header nav li a:hover::after {
	height: 102%;
}
.sub-header nav li a,
.sub-header nav li a:active,
.sub-header nav li a:visited {
	color: #333;	
	transition: all 0.5s ease;
}
/* スクロール固定ナビ */
.fnav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	display: none;
	width: 100%;
	height: 70px;
	background: #fff;
	clear: both;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.3));	
}
.fnav .wrap {
	position: relative;
	width: 1100px;
	height: 70px;
	margin: 0 auto;
}
.fnav .logo {
	position: absolute;
	width: 174px;
	height: 70px;
	left: 0;
	top: 0;
}
.fnav .logo a {
	transition: all 0.5s ease;
	display: block;		
}
.fnav .logo a:hover {
	transition: all 0.5s ease;
	opacity: 0.6;	
}
.fnav .tel {
	position: absolute;
	right: 0;
	top: 0;	
	height: 70px;
	width: 146px;
	background: url(../img/fnav-tel.png) no-repeat center center;
}
.fnav .logo a img {
	vertical-align: bottom;		
}
.fnav .nav a img {
	vertical-align: bottom;	
}
.fnav .nav {
	position: absolute;
	left: 200px;
	top: 0;	
	height: 70px;
	width: auto;
}
.fnav .nav ul {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 70px;
	overflow: hidden;
	list-style-type: none;
	font-size: 0;
}
.fnav .nav li {
    float: left;
    width: auto;
	height: auto;
	overflow: hidden;
	font-size: 0;
}
.fnav .nav li a  {
	transition: all 0.5s ease;
	display: block;	
	width: auto;
	height: auto;
	position: relative;
}
.fnav .nav li a:hover {
	transition: all 0.5s ease;
	opacity: 0.6;
}
/* 右側サイドナビ */
.bn-plan {
    display: none;
	z-index: 3;
    position: fixed;
	width: 90px;
	height: 220px;
	top: 100px;
	right: -10px;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.3));	
}
.bn-plan a {
	display: block;	
	width: 100%;
	height: 100%;
	transition: all 0.5s ease;
	background: url(../img/bn-plan-bg.png);
}
.bn-plan a:hover {
	transition: all 0.5s ease;
	transform: translateX(-10px);
}
.bn-top {
    display: none;
	z-index: 2;
    position: fixed;
	width: 80px;
	height: 80px;
	bottom: 0;
	right: 0;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.3));	
}
.bn-top a {
	display: block;	
	width: 100%;
	height: 100%;
	transition: all 0.5s ease;
	background: url(../img/bn-top.png);
}
.bn-top a:hover {
	transition: all 0.5s ease;
	transform: translateY(-5px);
}
/* footer */
footer {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: 400px;
	background: url(../img/footer-bg.jpg) no-repeat center center;	
}
footer .wrap {
	position: relative;
	width: 1100px;
	height: 400px;
	margin: 0 auto;	
}
footer h2 {
	color: #fff;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size: 20px;
	letter-spacing: 0.1em;	
	margin: 0 auto 10px; 
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255,255,255,0.6);
}
footer a {
	color: #fff;	
}
footer p {
	margin: 0;
	color: #fff;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size: 15px;
	letter-spacing: 0.1em;	
	line-height: 160%;	
	font-weight: 500;
}
footer .box01 {
	position: absolute;
	width: 460px;
	height: 140px;
	top: 70px;
	left: 0;
}
footer .box02 {
	position: absolute;
	width: 600px;
	height: 170px;
	top: 50px;
	right: 0;
	background: #000;
}
footer .box02 a img {
	transition: all 0.5s ease;	
}
footer .box02 a:hover img {
	transition: all 0.5s ease;	
	opacity: 0.7;
}
footer .box03 {
	position: absolute;
	width: 1100px;
	height: auto;
	top: 260px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	text-align: center;
}
footer .box03 a {
	position: relative;
	display: inline-block;
	margin: 0 20px 0 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	letter-spacing: 0.1em;	
	line-height: 100%;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}
footer .box03 a:first-of-type {
	margin: 0 20px 0 0;		
}
footer .box03 a:last-of-type {
	margin: 0 0 0 20px;
}
footer .box03 a::after {
	background-color: rgba(255,255,255,0.6);
	bottom: -5px;
	left: 0;
	content: '';
	display: block;
	position: absolute;
	transition: all 0.5s ease;
	width: 0;
	height: 1px;
}
footer .box03 a:hover::after {
	width: 100%;
}
footer .box03 a,
footer .box03 a:active,
footer .box03 a:visited {
	color: #fff;	
	transition: all 0.5s ease;
}
footer .box04 {
	position: absolute;
	width: 100%;
	height: 20px;
	top: 320px;
	left: 0;	
}
footer .box04 p {
	color: #fff;
	text-align: center;	
	letter-spacing: 0.1em;
	font-size: 12px;
}
footer .box04 p img {
	vertical-align: middle;
	margin-right: 5px;
}
/* search */
.plan_form {
	width: 100%;
	padding: 0 30px;
	box-sizing: border-box;
}
.plan_form p {
	margin: 0;
}
.plan_form .check_in,
.plan_form .check_in,
.plan_form .guests,
.plan_form .type,
.plan_form .price {
	margin-bottom: 5px;	
}
.plan_form .price .ajust {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	color: #fff;
	margin-left: 5px;
	margin-right: 5px;
}
.plan_form .check_in input[type="radio"],
.plan_form .check_in input[type="checkbox"]{
  position: relative;
  top: 3px;
} 
.plan_form .submit {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	letter-spacing: 0.1em;
	font-size: 14px;
	font-weight: 400;
	border: 0;
}
.plan_form .search_btn {
	text-align: center;
	margin: 30px 0 0 0;
}
.plan_form .search_btn input {
	transition: all 0.5s ease;
	background: #333;
	width: 198px;
	height: 64px;
	border-radius: 6px;
}
.plan_form .search_btn input:hover {
	transition: all 0.5s ease;
	background: #000;
}
.ui-datepicker {
    font-size: 70%;
}
.plan_form .hasDatepicker,
.plan_form .guests select,
.plan_form .guests option,
.plan_form .type select,
.plan_form .type option,
.plan_form .price select,
.plan_form .price option {
	font-size: 0.8rem;
	border: none;
	color: #433f3f;
	letter-spacing: 0.1em;
	padding: 3px;
}
.plan_form .hasDatepicker {
	padding: 7px;
}
/* fancybox */
.fancybox-infobar span {
	color: #fff;	
}
.fancybox-navigation button {
	display: none;	
}
.fancybox-caption {
	text-align: center;	
	letter-spacing: 0.2em;
	font-size: 15px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.btn-flat-border {
	display: inline-block;
	padding: 0.3em 1em;
	text-decoration: none;
	color: #666666;
	border: solid 2px #666666;
	border-radius: 3px;
	transition: .4s;
}

.btn-flat-border:hover {
	color: white;
	background-color: #666666;
}


.special-body{min-width:inherit;}
.special-body header{min-width:1300px;}

.special_intro {padding:0 1rem;}

.special_intro h2{text-align: center; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal;}
.special_intro .caption_box{ max-width:600px; margin: 0 auto; padding: 2rem; border: #000 1px solid; box-sizing: border-box; text-align: left;}
.special_intro .caption_box p{text-align: left!important; margin: 0!important;}
.special_intro .caption_box h3{margin: 0 0 1rem 0!important; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal;}


.special_room {padding:4rem 0; text-align: center; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal; }

.special_room h3{font-size:1.8rem; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal; text-align: center; position: relative;}

.special_room h3::after{content: ""; width:50px; border-bottom: #000 1px solid; position: absolute; bottom:-1rem; left:50%; margin-left: -25px; }

.special_room p{margin-bottom: 2rem; line-height:1.8em;}
.special_room .wrap02{height: 560px!important;}

.special_bg_wrap{ background: url(../img/special_bg01.png) no-repeat right 2% bottom 20% / 20% , url(../img/special_bg02.png) no-repeat left top 10% / 40% 
, url(../img/special_bg03.png); background-attachment: fixed;}

.room_box{max-width:700px; margin: 0 auto 4rem auto;}
.room_box .img_box{width:700px; margin: 0 auto;}
.room_box .img_box .bx-wrapper{margin: 0;}

.special_facilities{max-width:1100px; margin: 0 auto 0 auto; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal; display:flex; flex-wrap: wrap; justify-content:center;}
.special_facilities .box{width:45%; margin: 0 1rem 3rem 1rem; box-sizing: border-box;}
.special_facilities .box h3{text-align: center;}
.special_facilities .box p{line-height:1.8em; text-align: center;}


.special_info{padding:4rem 4rem 6rem 4rem; text-align: center; font-family :'Noto Serif JP'; font-optical-sizing: auto; font-weight: 500; font-style: normal; text-align: left; background:#f7f7f7;}
.special_info .wrap{max-width:800px; margin:0 auto 0 auto; }

.special_info h3 {
	letter-spacing: 0.05em;
	font-size: 16px;
	padding: 0 0 10px;
	margin: 0 0 10px;
	border-bottom: 1px dashed rgba(51,51,51,0.6);
}
.special_info p{line-height: 1.8em;}


.map_box{max-width:600px; margin:4rem auto 0 auto; padding:0 1rem;}
.map_box h3{text-align: center; font-family :'Noto Serif JP'; letter-spacing: 0.2em; font-weight: 500;}


.slider img{width: 100%; height: auto;}
.slider-nav{margin: 0!important; padding: 0!important;}

.slick-track{margin:1rem 0 0 0; transform: inherit!important;}
.slick-track span{margin: 0 0.25rem; width:20%!important;}
.slick-slide span img{width:100%;}

.slider.nav .slick-current img{opacity: 0.5;}

.sp_header{display: none;}

.sp_on{display: none;}	
.pc_on{display: inline;}

@media only screen and (max-width: 1000px){
.special_bg_wrap{ background: url(../img/special_bg01.png) no-repeat right 2% bottom 20% / 30% , url(../img/special_bg02.png) no-repeat left top 10% / 50% 
, url(../img/special_bg03.png); background-attachment: fixed;}
}

@media only screen and (max-width: 767px){

.special-body header{min-width: inherit;}
.special-body header h2{display: none;}

.special-body footer .wrap{width: inherit;}

.special-body .sub-header .wrap .bg{ width: 100%; height:inherit;}
.special-body .sub-header nav ul li {width: 45px!important;}

.special_bg_wrap{ background: url(../img/special_bg01.png) no-repeat right 2% bottom 20% / 50% , url(../img/special_bg02.png) no-repeat left top 10% / 100% 
, url(../img/special_bg03.png); background-attachment: fixed;}

.sp_header{display: block; background:url(../img/sp_header_bg.jpg) no-repeat center center /cover; box-sizing: border-box;}
.sp_header h2{text-align: center; margin: 0;}

.special_intro p{text-align: left!important; margin: 0 0 0.5rem 0!important;}
.special_intro .caption_box{margin-top: 2rem;}

.special_room {padding:4rem 1rem;}

.room_box .img_box{width:100%; margin: 0 auto;}
.room_box .text_box{width:100%; display: block;}
.room_box .text_box p{text-align: left;}

.room_box .pager{position: static!important;}

.special_facilities .box{width:auto;}

.sp_on{display: inline;}	
.pc_on{display: none;}

}



/* 特別棟ページのみレスポンシブ */
@media only screen and (max-width: 767px){
.special-body .fnav,.bn-plan{display: none!important;}
.special-body footer{height:inherit; background-size: cover; padding:2rem 1rem; box-sizing: border-box;}
.special-body footer .wrap {
	width: inherit;
	height: inherit;
	box-sizing: border-box;
}
.special-body footer .box01 {
	position: inherit;
	width: auto;
	height: auto;
	top: inherit;
	left: inherit;
	box-sizing: border-box;
}
.special-body footer .box02 {
margin: 2rem 0;
	position: inherit;
	width: auto;
	height: auto;
	top: inherit;
	right:inherit;
}
.special-body footer .box02 a img {
	width:100%;
}
.special-body footer .box03 {
	margin:0 0 2rem 0;
	position: inherit;
	width: auto;
	height: auto;
	top: inherit;
	left: inherit;
	transform: inherit;
	text-align: left;
}
.special-body footer .box03 a{display: block; width:auto; margin: 0 0 1rem 0; padding: 0 0 0 1rem;}
.special-body footer .box03 a::before{content: "・"; position: absolute; left:0;}
.special-body footer .box04 {
display: none;}
}