@charset "utf-8";

body{
	color:#555252;
	font-size:15px;
	font-family:"Noto Serif Japanese" , Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	line-height:27px;
	background-color:#fff;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
	src:url('../font/NotoSerifCJKjp-Regular-subset.woff2') format('woff2'), 
	url('../font/NotoSerifCJKjp-Regular-subset.woff') format('woff'),
	url('../font/NotoSerifCJKjp-Regular-subset.otf') format('opentype');
}

ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#333333;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	text-decoration:none;
}

header a , nav a{
	text-decoration:none;
}


img{
	max-width:100%;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */

h3{
	text-align:center;
}

.fade_animat{
	opacity:0;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
	-webkit-animation: fadeInUp 1s 1;
	animation: fadeInUp 1s 1;
	opacity:1 !important;
}


@media only screen and (min-width: 768px) {
	.sp_only{
		display:none !important;
	}


	.lang{
		width:140px;
		text-align:center;
		transition:all 0.4s;
		margin-right:2px;
		position:relative;
		height:42px;
		z-index:99999;
		float:right;
	}

	.lang a{
		display:block;
		padding:6px 0;
		position:absolute;
		left:0;
		right:0;
		background-color:#585757;
		border:solid 1px #585757;
		margin-right:2px;
		z-index:99999;
	}

	.lang a:nth-child(2){
		top:40px;
		display:none;
	}

	.lang a:nth-child(3){
		top:80px;
		display:none;
	}



	#menuList_pc{
		max-width:896px;
		margin:auto;
		position:relative;
	}

	#menuList_pc .menu_area{
		justify-content: space-between;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		align-items:flex-end;
		max-width:896px;
		position:relative;
		clear:both;
		margin-top:13px;
	}

	nav ul li{
		display:inline-block;
		margin-left:30px;
		position:relative;
	}

	#menuList_pc ul.menu li a:before{
		content: "";
		position: absolute;
		z-index: -1;
		left: 50%;
		right: 50%;
		bottom: 0;
		background: #aaa3a1;
		height: 1px;
		-webkit-transition-property: left, right;
		transition-property: left, right;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	}
	#menuList_pc ul.menu li a:hover:before{
		left: 0;
		right: 0;
	}

	nav ul li{
		display:inline-block;
		margin-left:30px;
	}

	.container{
		max-width:1300px;
		margin:auto;
	}

	section#catch{
		margin-top:80px;
		text-align:center;
		font-size:18px;
		line-height:46px;
	}

	section#catch .hotels{
		margin-top:40px;
		text-align:center;
		font-size:15px;
		line-height:38px;
	}

	section#concept{
		padding-top:150px;
	}

	section#concept ul.concept_list{
		justify-content: space-between;
		display:flex;
		flex-wrap:wrap;
		max-width:896px;
		margin:70px auto 0 auto;
	}

	section#concept ul.concept_list li{
		width:31.4%;
	}

	section#concept ul.concept_list li h4{
		margin-top:15px;
	}

	section#concept ul.concept_list li p{
		margin-top:15px;
	}

	section#hotel_list{
		margin-top:170px;
		padding:170px 0;
		background-color:#efeeee;
	}

	section#hotel_list ul.hotels{
		margin-top:50px;
	}

	section#hotel_list ul.hotels > li{
		position:relative;
		margin-top:120px;
		max-width:1300px;
	}

	section#hotel_list ul.hotels li:first-child{
		margin-top:0;
	}

	section#hotel_list ul.hotels li .hotel_image,
	section#hotel_list ul.hotels li .hotel_comment{
		transition:all 0.4s;
	}

	section#hotel_list ul.hotels li:nth-child(odd) .hotel_image{
		text-align:right;
		position:relative;
		right:80px;
		z-index:1;
	}

	section#hotel_list ul.hotels li:nth-child(odd) .hotel_comment{
		background-color:rgba(255,255,255,0.85);
		width:356px;
		box-sizing:border-box;
		padding:43px;
		position:absolute;
		z-index:2;
		top:25px;
		right:0;
	}

	section#hotel_list ul.hotels li:nth-child(even) .hotel_image{
		text-align:right;
		position:relative;
		left:70px;
		z-index:1;
	}

	section#hotel_list ul.hotels li:nth-child(even) .hotel_comment{
		background-color:rgba(255,255,255,0.85);
		width:356px;
		box-sizing:border-box;
		padding:43px;
		position:absolute;
		z-index:2;
		top:25px;
		left:0;
	}

	section#hotel_list ul.hotels li .hotel_comment p{
		margin-top:20px;
		min-height:165px;
		font-size:14px;
	}

	section#hotel_list ul.hotels li .hotel_comment span{
		font-size:12px;
		line-height:21px;
		display:block;
	}

	section#hotel_list ul.hotels li .hotel_comment span.openyotei{
		font-size:18px;
		line-height:28px;
	}

	section#hotel_list ul.hotels li .hotel_comment h5{
		margin-top:20px;
	}

	section#hotel_list ul.hotels li .hotel_comment .btn{
		background-color:rgba(80,100,116,1);
		text-align:center;
		margin-top:20px;
		border:solid 1px #506474;
		transition:all 0.4s;
	}

	section#hotel_list ul.hotels li .hotel_comment .btn.in{
		background-color:rgba(255,255,255,1);
		border:solid 1px #506474;
	}

	section#hotel_list ul.hotels li .hotel_comment .btn a{
		padding:6px 0;
		display:block;
	}

	section#access{
		padding-top:170px;
		padding-bottom:120px;
	}

	section#access h3{
		padding-bottom:70px;
	}

	section#access .map{
		height:575px;
		overflow:hidden;
	}

	section#access .map iframe{
		width:100%;
		height:575px;
		margin-top:-46px;
	}

	section#access ul.access_list{
		/*
		justify-content: space-between;
		*/
		justify-content: center;
		display:flex;
		flex-wrap:wrap;
		max-width:973px;
		margin:70px auto 0 auto;
	}

	section#access ul.access_list li{
		width:30%;
	}

	section#access ul.access_list li + li {
		margin-left:3%;
	}

	section#access ul.access_list li h4{
		font-weight:normal;
		font-size:17px;
		line-height:28px;
	}

	section#access ul.access_list li .info{
		font-size:14px;
		line-height:24px;
		margin-top:15px;
		min-height:75px;
	}

	section#access ul.access_list li .info span{
		font-size:18px;
		line-height:28px;
		display:block;
	}

	section#access ul.access_list li h5{
		font-weight:normal;
		font-size:17px;
		line-height:28px;
		margin-top:20px;
	}

	section#access ul.access_list li p{
		font-size:13px;
		line-height:24px;
		min-height:120px;
	}

	section#access ul.access_list li .btn{
		background-color:rgba(80,100,116,1);
		border:solid 1px #506474;
		text-align:center;
		max-width:270px;
		margin-top:20px;
		transition:all 0.4s;
	}

	section#access ul.access_list li .btn.in{
		background-color:rgba(255,255,255,1);
		border:solid 1px #506474;
	}

	section#access ul.access_list li .btn a{
		padding:6px 0;
		display:block;
	}

	footer{
		background-color:#506474;
		color:#fff;
		font-size:13px;
		line-height:24px;
		padding:75px 0;
	}

	footer a{
		color:#fff;
		font-size:13px;
		line-height:24px;
	}

	footer > ul{
		max-width:950px;
		margin:auto;
		justify-content: flex-start;
		display:flex;
		flex-wrap:wrap;
	}

	footer .footer_logo{
		padding-bottom:20px;
	}

	footer > ul > li:first-child{
		width:385px;
	}

	footer > ul > li:last-child{
		flex:1;
		border-left:solid 1px #fff;
	}

	footer > ul > li:last-child dl{
		justify-content: flex-start;
		display:flex;
		flex-wrap:wrap;
		margin-left:30px;
	}

	footer > ul > li:last-child dl dt{
		width:250px;
	}

	footer > ul > li:last-child dl dt span{
		font-size:10px;
	}

	footer > ul > li:last-child dl dd a{
		font-size:11px;
	}


}

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

	section#hotel_list ul.hotels li .hotel_comment p{
		font-size:15px;
		min-height:auto;
	}

	section#hotel_list ul.hotels li:nth-child(odd) .hotel_image{
		right:0;
	}

	section#hotel_list ul.hotels li:nth-child(odd) .hotel_comment{
		right:0;
	}

	section#hotel_list ul.hotels li:nth-child(even) .hotel_image{
		left:0;
		right:auto;
		text-align:left;
	}

	section#hotel_list ul.hotels li .hotel_image img{
		width:100%;
	}

	section#hotel_list ul.hotels li:nth-child(even) .hotel_comment{
		left:0;
	}

}

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

	footer > ul > li:last-child dl{
		display:block;
	}

	footer > ul > li:last-child dl dd{
		padding-left:15px;
	}
}


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

}


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

	.pc_only{
		display:none !important;
	}


	/* スマホメニューの設定
	 * --------------------------------------- */
	#menuList_pc {
		display: none;
	}

	.switchBtn strong{
		color:#fff;
		font-weight:normal;
		font-size:8px;
		position:absolute;
		top:-4px;
		left:-5px;
	}

	.switchBtn strong img{
		height:15px;
	}

	#rwdMenuWrap {
		position:fixed;
		width: 100%;
		top:0;
		z-index:9999;
	}

	#rwdMenuWrap #switchBtnArea {
		width: 100%;
		height: 80px;
		background-color:#fff;
		position: relative;
	}

	#rwdMenuWrap #switchBtnArea .switchBtn {
		top: 0;
		right: 0px;
		width: 80px;
		height: 80px;
		display: block;
		position: absolute;
		background-color:#627786;
	}

	#rwdMenuWrap #switchBtnArea .switchBtn span {
		left: 0;
		right:0;
		width: 36px;
		height: 2px;
		display: block;
		position: absolute;
		background-color: #fff;
		transition: all 0.2s linear;
		margin:auto;
	}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(1) {top:30px;transform: rotate(0);}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(2) {top:40px;transform: scale(1);}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(3) {top:50px;transform: rotate(0);}

	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:39px;transform: rotate(-45deg);}
	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {transform: scale(0);}
	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(3) {bottom:50px;transform: rotate(45deg);}

	#rwdMenuWrap ul {
		width: 100%;
		display: none;
		border-bottom: #ccc 1px solid;
		box-sizing: border-box;
		background-color:#fff;
	}

	#rwdMenuWrap ul li {
		width: 100%;
		height:70px;
		border-top: #ccc 1px solid;
		box-sizing: border-box;
		background-color:#fff;
		text-align:center;
	}

	#rwdMenuWrap ul li a {
		display: block;
		position: relative;
		text-decoration:none;
		color:#574916;
		font-size:15px;
		padding-top:25px;
	}

	#rwdMenuWrap ul li:last-child{
	}

	#rwdMenuWrap .logo{
		position:absolute;
		left:20px;
		top:25px;
	}

	#rwdMenuWrap ul li.lang a {
		display: inline;
		position: relative;
		text-decoration:none;
		color:#585757;
		font-size:13px;
		top:25px;
	}

	.logo img{
		height:35px;
	}

	section#catch{
		margin-top:60px;
		text-align:center;
		font-size:15px;
		line-height:36px;
		padding:0 15px;
	}

	section#concept{
		margin-top:60px;
		padding:0 15px;
	}

	section#concept .concept_image img{
		width:100%;
	}

	section#concept ul.concept_list li{
		margin-top:40px;
	}

	section#concept ul.concept_list li h4{
		margin-top:40px;
		text-align:center;
	}

	section#concept ul.concept_list li p{
		margin-top:10px;
		font-size:16px;
		line-height:30px;
	}

	section#hotel_list{
		margin-top:60px;
		padding-top:60px;
		background-color:#f1f0f0;
	}

	section#hotel_list ul.hotels{
		margin-top:30px;
	}

	section#hotel_list ul.hotels > li{
		margin-top:90px;
	}

	section#hotel_list ul.hotels li:first-child{
		margin-top:0;
	}

	section#hotel_list ul.hotels li h4{
		margin-top:40px;
		text-align:center;
	}

	section#hotel_list .container ul.hotels li p{
		padding:0 15px;
		font-size:16px;
		line-height:30px;
		margin-top:20px;
	}

	section#hotel_list .container ul.hotels li h5{
		padding:0 15px;
		margin-top:25px;
	}

	section#hotel_list .container ul.hotels li .hotel_comment span{
		display:block;
	}

	section#hotel_list .container ul.hotels li .hotel_comment > span{
		padding:0 15px;
	}

	section#hotel_list ul.hotels li .hotel_comment .btn{
		background-color:rgba(80,100,116,1);
		text-align:center;
		margin:25px 15px 0 15px;
	}

	section#hotel_list ul.hotels li .hotel_comment .btn a{
		padding:11px 0;
		display:block;
	}

	section#access{
		margin-top:60px;
	}

	section#access .map{
		height:500px;
		overflow:hidden;
		margin-top:60px;
	}

	section#access .map iframe{
		width:100%;
		height:500px;
		margin-top:-46px;
	}

	section#access ul.access_list{
		padding:0 15px;
	}

	section#access ul.access_list li{
		margin-top:80px;
	}

	section#access ul.access_list li:first-child{
		margin-top:0;
	}

	section#access ul.access_list h4{
		font-weight:normal;
		font-size:17px;
		line-height:29px;
	}

	section#access ul.access_list div.info{
		font-size:16px;
		line-height:27px;
	}

	section#access ul.access_list h5{
		font-weight:normal;
		font-size:16px;
		line-height:27px;
		margin-top:15px;
	}

	section#access ul.access_list p{
		font-size:15px;
		line-height:26px;
	}

	section#access ul.access_list li .btn{
		background-color:rgba(80,100,116,1);
		text-align:center;
		margin-top:25px;
	}

	section#access ul.access_list li .btn a{
		padding:11px 0;
		display:block;
	}

	footer{
		font-size:12px;
		line-height:1.8;
	}

	footer a{
		font-size:12px;
		line-height:1.8;
	}

	footer .footer_logo{
		padding:10px 0;
	}

	footer ul li{
		text-align:center;
	}

	footer > ul > li:first-child{
		padding:30px 0;
	}

	footer > ul > li:last-child{
		background-color:rgba(80,100,116,1);
		color:#fff;
		padding:30px 0;
	}

	footer > ul > li:last-child a{
		color:#fff;
	}

	body footer > ul > li:last-child dl{
		margin-top:10px;
	}


}

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

	header .logo img{
		height:30px;
	}

}
