@charset "utf-8";

/* Base Start */

* {
  margin:0;
  padding:0;
}

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,textarea {
	display:block;
}

img {
  border:0;
  vertical-align:top;
}

em,address {
	font-style:normal;
}

body {
	color:#000;
	font-family:'小塚明朝 Pro','Kozuka Mincho Pro',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:100%;
	text-align:center;
}

.eng {
	font-family:Futura, sans-serif;
}

a {
	color:#000;
	text-decoration:underline;
	outline:none;
}

a:hover {
	color:#000;
	text-decoration:none;
}

#anc-wrapper {
	width:100%;
	overflow:hidden;
}

/* Base End */

/* Clearfix Start */

.clearfix::after {
	content:"";
	display:block;
	clear:both;
}

/* Clearfix End */

/* Header Start */

#anc-upper {
	padding-top:7px;
	background:url(../common_images/bg_ichimatsu.png) left top repeat-x;
}

#header {
	z-index:1000;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	border-top:8px solid rgba(153,153,153,.13);
	width:100%;
	height:102px;
}

#header strong,
#header h1 {
	display:block;
	width:249px;
	height:auto;
	margin:0 auto 0 34px;
}

#header strong img,
#header h1 img {
	width:100%;
	height:auto;
}

#header ul {
	display:-webkit-flex;
	display:flex;
	list-style-type:none;
}

#header ul li {
	padding:0 18px;
	line-height:20px;
	font-size:14px;
}

#header ul li+li {
	border-left:1px solid #999;
}

#header ul li a {
	position:relative;
	display:inline-block;
	padding-right:22px;
	text-decoration:none;
}

#header ul li a:hover {
	color:#999;
}

#header ul li a::after {
	position:absolute;
	right:0;
	top:calc(50% - (11px / 2));
	background:url(../common_images/icon_outlink.png) no-repeat;
	background-size:15px 11px;
	width:15px;
	height:11px;
	content:"";
}

#header em {
	display:inline-block;
	margin-right:16px;
	padding:0 36px 16px;
	line-height:0;
	font-size:0;
}

#header em small {
	display:block;
	padding-bottom:6px;
	line-height:10px;
	font-size:10px;
}

#header em big {
	position:relative;
	display:inline-block;
	padding-left:35px;
	line-height:22px;
	font-size:22px;
	font-weight:normal;
	letter-spacing:.1em;
}

#header em big::before {
	position:absolute;
	left:0;
	top:calc(50% - 10px);
	display:block;
	background:url(../common_images/icon_head_phone.png) no-repeat;
	background-size:22px 20px;
	width:22px;
	height:20px;
	content:"";
}

#nav-toggle {
	z-index:10000;
	display:none;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	margin-right:12px;
	cursor:pointer;
	width:40px;
	height:40px;
}

#nav-toggle div {
	position:relative;
	width:27px;
	height:22px;
}

#nav-toggle div span {
	position:absolute;
	left:0;
	display:block;
	width:100%;
	height:2px;
	background-color:#000;
	-webkit-transition:.35s ease-in-out;
	-moz-transition:.35s ease-in-out;
	transition:.35s ease-in-out;
}

#nav-toggle div span:nth-child(1) {
	top:0;
}

#nav-toggle div span:nth-child(2) {
	top:10px;
}

#nav-toggle div span:nth-child(3) {
	top:20px;
}

.sp-navi {
	z-index:1000;
	position:absolute;
	left:0;
	bottom:100%;
	padding:64px 0 44px 0;
	background-color:#f9f7f3;
	width:100%;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
}

.sp-ul {
	-webkit-flex-direction:column;
	flex-direction:column;
	padding:0 10px 4px 10px;
	list-style-type:none;
}

.sp-ul>li {
	padding:0 0 1em 0 !important;
	line-height:19px;
	font-size:15px;
}

.sp-ul>li+li {
	border:none !important;
}

.sp-ul>li a {
	padding:0 !important;
	color:#000;
	text-decoration:none;
}

.sp-ul>li.current a {
	color:#999;
}

.sp-ul>li a::after {
	display:none;
}

.sp-navi>ol {
	padding:15px 10px 5px 10px !important;
	list-style-type:none;
}

.sp-navi>ol>li {
	padding-bottom:15px !important;
	line-height:14px;
	font-size:14px;
}

.sp-navi>ol>li a {
	position:relative;
	display:inline-block;
	padding-right:22px;
	text-decoration:none;
}

.sp-navi>ol>li a::after {
	position:absolute;
	right:0;
	top:calc(50% - (11px / 2));
	background:url(../common_images/icon_outlink.png) no-repeat;
	background-size:15px 11px;
	width:15px;
	height:11px;
	content:"";
}

.sp-ul::after,
.sp-navi>ol::after {
	display:block;
	margin:0 auto;
	background-color:#ccc;
	width:68px;
	height:1px;
	content:"";
}

.sp-navi>em {
	display:inline-block;
	margin:0 !important;
	padding:24px 0 0 0 !important;
}

.open #nav-toggle div span:nth-child(1) {
	top:7px;
	transform:rotate(315deg);
}

.open #nav-toggle div span:nth-child(2) {
	width:0;
	left:50%;
}

.open #nav-toggle div span:nth-child(3) {
	top:7px;
	transform:rotate(-315deg);
}

.open .sp-navi {
	transform:translateY(100%);
}

.gnavi {
	padding:15px 34px;
	border-top:1px solid rgba(204,204,204,.49);
}

.gnavi ul {
	display:-webkit-flex;
	display:flex;
	border-left:1px solid #999;
	height:24px;
	list-style-type:none;
}

.gnavi ul+ul {
	margin-top:15px;
}

.gnavi ul li {
	border-right:1px solid #999;
	height:24px;
}

.gnavi ul li a {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	padding:0 32px;
	color:#000;
	height:100%;
	text-decoration:none;
	line-height:15px;
	font-size:15px;
}

.gnavi ul li a:hover,
.gnavi ul li.current a,
.gnavi ul li.current a:hover {
	color:#999;
}

#slider {
	position:relative;
	z-index:1;
}

#slider img  {
	z-index:1;
	width:100%;
	height:auto;
}

#slider li {
	position:relative;
}

.slider-top,
.slider-2nd {
	z-index:10;
	position:absolute;
	left:40px;
	top:40px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:calc(100% - 80px);
	height:calc(100% - 80px);
}

.slider-top p {
	padding:20px;
	background-color:rgba(255,255,255,.62);
	line-height:0;
	font-size:0;
}

.slider-top p big {
	display:block;
	line-height:34px;
	font-size:24px;
	font-weight:normal;
}

.slider-top p small {
	display:block;
	padding-top:10px;
	line-height:22px;
	font-size:16px;
	font-weight:normal;
}

.slider-top p big span,
.slider-top p small span,
.slider-2nd h1 span {
	display:inline-block;
}

.slider-2nd {
	z-index:100;
}

.slider-2nd h1 {
	padding:.5em 1.5em;
	background-color:rgba(255,255,255,.62);
	line-height:34px;
	font-size:24px;
}

@media only screen and (max-width : 1029px) {
	#header {
		height:80px;
	}
	
	#header strong,
	#header strong img,
	#header h1,
	#header h1 img {
		width:auto;
		height:54px;
	}
	
	#header>ul,
	#header>em,
	.gnavi {
		display:none;
	}
	
	#nav-toggle {
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:center;
		justify-content:center;
		-webkit-align-items:center;
		align-items:center;
	}
	
	.open #nav-toggle {
		z-index:100000;
	}
	
	.open #nav-toggle div span:nth-child(1) {
		top:13px;
		transform:rotate(315deg);
	}
	
	.open #nav-toggle div span:nth-child(2) {
		width:0;
		left:50%;
	}
	
	.open #nav-toggle div span:nth-child(3) {
		top:13px;
		transform:rotate(-315deg);
	}
	
	.open .sp-navi {
		transform:translateY(100%);
	}
}

@media screen and (min-width : 768px) and (max-width : 1029px) {
	.slider-top p big {
		line-height:31px;
		font-size:21px;
	}
	
	.slider-2nd h1 {
		line-height:33px;
		font-size:23px;
	}
	
	.slider-top p {
		padding:15px;
	}
}

@media only screen and (max-width : 767px) {
	.slider-top p big {
		line-height:31px;
		font-size:21px;
	}
	
	.slider-2nd h1 {
		line-height:27px;
		font-size:17px;
	}
	
	.slider-top p {
		padding:10px;
	}
}

/* Header End */

/* Main Start */

#contents {}

.container {
	margin:0 auto;
	width:1000px;
}








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

@media screen and (min-width : 768px) and (max-width : 1029px) {
	.container {
		width:750px;
	}
}

@media only screen and (max-width : 767px) {
	.container {
		width:90%;
	}
}

/* Main End */

/* Footer Start */

#footer {
	padding:76px 0 56px 0;
}

#footer h2 {
	padding-bottom:40px;
}

#footer small {
	display:block;
	color:#333;
	line-height:10px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:9px;
	font-weight:bold;
}

@media screen and (min-width : 768px) and (max-width : 1029px) {
	#footer {
		padding:57px 0 42px 0;
	}
	
	#footer h2 {
		padding-bottom:30px;
	}
}

@media only screen and (max-width : 767px) {
	#footer {
		padding:38px 0 28px 0;
	}
	
	#footer h2 {
		padding-bottom:20px;
	}
}

/* Footer End */

/* Pagetop Start */

#pagetop {
	z-index:1000;
	position:fixed;
	right:10px;
	bottom:25px;
}

#reservation {
	z-index:1000;
	position:fixed;
	right:0;
	bottom:100px;
}

#pagetop a:hover img,
#reservation a:hover img {
	opacity:.8;
}

/* Pagetop End */

/* Top Page (index.html) Start */

.to-two-cont {}

.to-two-cont ul {
	list-style-type:none;
}

.to-two-cont ul li {
	display:-webkit-flex;
	display:flex;
	margin-top:5px;
}

.to-two-cont ul li h2 {
	display:-webkit-flex;
	display:flex;
	box-sizing:border-box;
	width:215px;
	-webkit-writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
	color:#fff;
	line-height:0;
	font-size:0;
	text-align:left;
	font-weight:normal;
}

.to-two-cont ul li:nth-child(odd) h2 {
	-webkit-align-items:flex-end;
	align-items:flex-end;
	padding:34px 0 0 33px;
	background-color:#000;
}

.to-two-cont ul li:nth-child(even) h2 {
	padding:34px 21px 0 0;
	background-color:#666;
}

.to-two-cont ul li h2 big {
	display:block;
	line-height:calc(3vw + 12px);
	font-size:3vw;
}

.to-two-cont ul li h2 small {
	display:block;
	line-height:28px;
	font-size:16px;
}

.to-two-cont ul li dl {
	position:relative;
	width:calc(100% - 215px);
}

.to-two-cont ul li:nth-child(even) dl {
	order:-1;
}

.to-two-cont ul li dl dt {
	z-index:1;
	width:100%;
	height:auto;
}

.to-two-cont ul li dl dt img {
	width:100%;
	height:auto;
}

.to-two-cont ul li dl dd {
	z-index:10;
	position:absolute;
	top:50%;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	background-color:rgba(255,255,255,.65);
	width:420px;
}

.to-two-cont ul li:nth-child(odd) dl dd {
	right:0;
}

.to-two-cont ul li:nth-child(even) dl dd {
	left:0;
}

.to-two-cont ul li dl dd a {
	position:relative;
	display:block;
	padding:72px 32px 104px;
	color:#000;
	text-decoration:none;
}

.to-two-cont ul li dl dd a p {
	line-height:20px;
	font-size:14px;
	text-align:left;
}

.to-two-cont ul li dl dd a::after {
	position:absolute;
	left:calc(50% - 14px);
	bottom:30px;
	display:block;
	box-sizing:border-box;
	border-top:2px solid #000;
	border-right:2px solid #000;
	width:28px;
	height:28px;
	transform:rotate(45deg);
	content:"";
}

.hotels {
	padding-bottom:80px;
}

.hotels h2 {
	padding:128px 0 48px 0;
	line-height:18px;
	font-size:18px;
	font-weight:normal;
}

.hotels-detail {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	box-sizing:border-box;
	padding-bottom:80px;
	list-style-type:none;
}

.hotels-detail li {
	margin:0 7px 14px 7px;
	border:1px solid rgba(204,204,204,.81);
}

.hotels-detail li h3 {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	max-width:316px;
	height:115px;
	line-height:0;
	font-size:0;
}

.hotels-detail li h3 strong {
	display:inline-block;
}

.hotels-detail li h3 strong big {
	display:block;
	line-height:28px;
	font-size:18px;
	font-weight:bold;
}

.hotels-detail li h3 strong small {
	display:block;
	padding-top:4px;
	line-height:17px;
	font-size:12px;
	font-weight:normal;
}

.hotels-detail li h3 span {
	display:inline-block;
}

.hotels-detail li dl {
	width:100%;
	max-width:316px;
}

.hotels-detail li dl dt img {
	max-width:100%;
	height:auto;
}

.hotels-detail li dl dt span {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	padding:0 10px;
	width:100%;
	height:80px;
	line-height:23px;
	font-size:16px;
}

.hotels-detail li dl dd {
	padding-bottom:24px;
}

.hotels-detail li dl dd div {
	position:relative;
	margin:0 auto;
	padding-top:75%;
	width:290px;
	height:0;
	overflow:hidden;
}

.hotels-detail li dl dd div iframe {
	position:absolute;
	left:0;
	top:0;
	width:100% !important;
	height:100% !important;
}

.hotels-detail li dl dd p {
	box-sizing:border-box;
	padding:12px 13px 24px 13px;
	height:87px;
	line-height:17px;
	font-size:12px;
}

.hotels-detail li dl dd em {
	display:block;
}

.hotels-sns {
	padding-bottom:80px;
}

.hotels-sns ul {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	list-style-type:none;
}

.hotels-sns ul li {}

.hotels-sns ul li+li {
	border-left:1px solid #999;
}

.hotels-sns ul li dl {
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	text-align:left;
}

.hotels-sns ul li dl dt {
	padding:0 20px 0 25px;
	line-height:15px;
	font-size:14px;
}

.hotels-sns ul li dl dd {
	display:-webkit-flex;
	display:flex;
	padding-right:20px;
}

.hotels-sns ul li dl dd span {
	display:inline-block;
	padding:0 5px;
}

@media only screen and (max-width : 1029px) {
	.to-two-cont ul li,
	.hotels-sns ul {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.to-two-cont ul li h2 {
		-webkit-justify-content:center;
		justify-content:center;
		-webkit-align-items:center;
		align-items:center;
		-webkit-writing-mode:horizontal-tb;
		-ms-writing-mode:lr-tb;
		writing-mode:horizontal-tb;
		width:100%;
		height:72px;
		text-align:center;
	}
	
	.to-two-cont ul li:nth-child(odd) h2 {
		-webkit-align-items:center;
		align-items:center;
		padding:0;
	}
	
	.to-two-cont ul li:nth-child(even) h2 {
		padding:0;
	}
	
	.to-two-cont ul li h2 big {
		line-height:26px;
		font-size:20px;
	}
	
	.to-two-cont ul li h2 small {
		line-height:20px;
		font-size:14px;
	}
	
	.to-two-cont ul li dl {
		-webkit-flex-direction:column;
		flex-direction:column;
		width:100%;
	}
	
	.to-two-cont ul li:nth-child(even) dl {
		-webkit-flex-direction:column;
		flex-direction:column;
		order:0;
	}
	
	.to-two-cont ul li:nth-child(odd) dl dd,
	.to-two-cont ul li:nth-child(even) dl dd {
		position:static;
		-webkit-transform:translateY(0);
		transform:translateY(0);
		width:100%;
	}
	
	.to-two-cont ul li dl dd a {
		padding:24px 32px 80px;
	}
	
	.hotels-sns ul {
		margin:0 auto;
		-webkit-justify-content:flex-start;
		justify-content:flex-start;
	}
	
	.hotels-sns ul li+li {
		margin-top:15px;
		border:none;
	}
	
	.hotels-sns ul li dl dt {
		padding:0;
		width:10em;
	}
	
	.hotels-sns ul li dl dd {
		padding:0;
		width:156px;
	}
}

@media screen and (min-width : 768px) and (max-width : 1029px) {
	.hotels {
		padding-bottom:60px;	
	}
	
	.hotels h2 {
		padding:96px 0 36px 0;
	}
	
	.hotels-detail li {
		margin:0 6px 12px 6px;
	}
	
	.hotels-detail li dl dt span {
		padding:12px 10px 24px 10px;
	}
	
	.hotels-detail li dl dd {
		padding-bottom:18px;
	}
	
	.hotels-detail li dl dd p {
		padding:9px 13px 18px 13px;
	}
	
	.hotels-sns {
		padding-bottom:60px;
	}
}

@media only screen and (max-width : 767px) {
	.hotels {
		padding-bottom:40px;	
	}
	
	.hotels h2 {
		padding:64px 0 24px 0;
	}
	
	.hotels-detail li {
		margin:0 0 10px 0;
	}
	
	.hotels-detail li dl dt span {
		padding:8px 10px 16px 10px;
	}
	
	.hotels-detail li dl dd {
		padding-bottom:12px;
	}
	
	.hotels-detail li dl dd p {
		padding:6px 13px 12px 13px;
	}
	
	.hotels-sns {
		padding-bottom:40px;
	}
}

/* Top Page (index.html) End */

/* Hotel Detail Page Start */

.hotel-logo {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	height:255px;
}

.ichimatsu-gray {
	padding-top:7px;
	background:url(../common_images/bg_ichimatsu.png) left top repeat-x;
}

.ichimatsu-gray div.bg {
	background-color:rgba(204,204,204,.14);
	border-top:8px solid rgba(153,153,153,.13);
}

.hotel-catch {}

.hotel-catch p {
	padding:32px 0 44px 0;
	line-height:30px;
	font-size:17px;
}

.subtitle-h2 {
	line-height:0;
	font-size:0;
}

.subtitle-h2 big {
	display:block;
	line-height:29px;
	font-size:29px;
	font-weight:normal;
}

.subtitle-h2 small {
	display:block;
	padding-bottom:8px;
	color:#E83418;
	line-height:12px;
	font-size:12px;
	font-weight:normal;
}

.concept {
	width:1020px;
}

.concept h2 {
	padding:76px 0 48px 0;
}

.concept strong {
	display:block;
	box-sizing:border-box;
	padding:0 10px;
	line-height:28px;
	font-size:20px;
}

.concept p {
	padding:20px 10px 40px 10px;
	line-height:26px;
	font-size:15px;
}

.concept ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	list-style-type:none;
}

.concept ul li {
	padding:0 10px;
}

.concept ul li dl {
	width:100%;
	max-width:490px;
}

.concept ul li dl dt img {
	max-width:100%;
	height:auto;
}

.concept ul li dl dd {
	padding:12px 0 24px 0;
	line-height:26px;
	font-size:15px;
}

.room {}

.room h2 {
	padding-top:100px;
}

.underline-h3 {
	line-height:32px;
	font-size:23px;
	font-weight:normal;
}

.underline-h3::after {
	display:block;
	margin:20px auto 0;
	background-color:#999;
	width:100px;
	height:1px;
	content:"";
}

.room h3 {
	padding-top:56px;
	font-weight:bold;
}

.room p {
	padding:24px 0 20px 0;
	line-height:22px;
	font-size:16px;
}

.room-size {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	margin-bottom:14px;
	list-style-type:none;
}

.room-size li {
	padding:0 16px;
}

.room-size li dl {
	display:-webkit-flex;
	display:flex;
}

.room-size li dl dt {
	margin-right:12px;
	padding:0 5px;
	background-color:rgba(204,204,204,.5);
	line-height:23px;
	font-size:14px;
	min-width:73px;
	text-align:center;
}

.room-size li dl dd {
	line-height:23px;
	font-size:16px;
}

.slider01 {}

.slider02 {}

.room-faci {
	display:-webkit-flex;
	display:flex;
	margin-top:60px;
}

.room-faci dt {
	-webkit-flex-shrink:0;
	flex-shrink:0;
	margin-right:20px;
}

.room-faci dt span {
	display:block;
	box-sizing:border-box;
	padding:0 5px;
	background-color:rgba(204,204,204,.5);
	line-height:23px;
	font-size:14px;
	min-width:73px;
	text-align:center;
}

.room-faci dd {
	-webkit-flex-grow:1;
	flex-grow:1;
	text-align:left;
}

.room-faci dd ul {
	list-style-type:none;
}

.room-faci dd ul li {
	padding-left:1em;
	text-indent:-1em;
	line-height:23px;
	font-size:16px;
}

.details {
	width:1020px;
}

.details h2 {
	padding:120px 0 32px 0;
}

.details h3 {
	padding-top:60px;
}

.details p {
	padding:20px 0 28px 0;
	line-height:22px;
	font-size:16px;
}

.details p:last-of-type {
	line-height:26px;
}

.details ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	list-style-type:none;
}

.details ul li {
	padding:0 10px;
}

.details ul li img {
	max-width:100%;
	height:auto;
}

.details ul li span {
	display:block;
	padding:12px 0 24px 0;
	line-height:22px;
	font-size:16px;
}

.access {}

.access h2 {
	padding:108px 0 48px 0;
}

.access-catch {
	padding:40px 10px 56px 10px;
	background-color:rgba(204,204,204,.14);
}

.access-catch ul {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	list-style-type:none;
}

.access-catch ul li {
	padding:0 28px;
}

.access-catch ul li img {
	max-width:100%;
	height:auto;
}

.access p {
	padding:28px 0 40px 0;
	line-height:30px;
	font-size:17px;
}

.access div {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	overflow:hidden;
}

.access div iframe {
	position:absolute;
	left:0;
	top:0;
	width:100% !important;
	height:100% !important;
}

.location {
	padding-bottom:80px;
	width:1020px;
}

.location h2 {
	padding:80px 0 48px 0;
}

.location ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	list-style-type:none;
}

.location ul li {
	padding:0 10px;
}

.location ul li dl {
	width:100%;
	max-width:320px;
}

.location ul li dl dt img {
	max-width:100%;
	height:auto;
}

.location ul li dl dd {
	padding-bottom:28px;
}

.location ul li dl dd h3 {
	padding:20px 0 8px 0;
	line-height:16px;
	font-size:14px;
	font-weight:normal;
}

.location ul li dl dd p {
	color:#666;
	line-height:20px;
	font-size:14px;
}

.res-search {
	padding:80px 0 20px 0;
}

.search-box {
	margin:0 auto;
	background-color:#fff;
	border:1px solid #ccc;
	width:100%;
	max-width:502px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
}

.search-box h3 {
	padding-top:28px;
	line-height:0;
	font-size:0;
}

.search-box h3 big {
	display:block;
	line-height:18px;
	font-size:18px;
	font-weight:normal;
}

.search-box h3 small {
	display:block;
	padding-top:12px;
	line-height:15px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:15px;
	font-weight:normal;
}

.search-box h3::after {
	display:block;
	margin:20px auto 40px auto;
	background-color:#000;
	width:314px;
	height:1px;
	content:"";
}

.search-date {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	list-style-type:none;
}

.search-date li {
	padding:0 10px;
	text-align:left;
}

.search-date li dl dt {
	padding:8px 0;
	line-height:15px;
	font-size:15px;
}

.search-type {
	padding:28px 0;
	margin:0 auto;
}

.search-type dt {
	padding-bottom:8px;
	line-height:15px;
	font-size:15px;
}

select {
	padding:3px;
	border:1px solid #000;
	line-height:21px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:15px;
	vertical-align:middle;
}

label {
	line-height:100%;
	font-size:16px;
	vertical-align:middle;
}

.search-box p {
	padding-bottom:16px;
}

.search-box p input {
	width:100%;
	height:auto;
}

.search-box p input[type="submit"] {
	background:url(../common_images/search_button.jpg) no-repeat;
	border:none;
	width:282px;
	height:37px;
	text-indent:150%;
  white-space:nowrap;
	overflow: hidden;
}

.search-box p input[type="submit"]:hover {
	cursor:pointer;
	opacity:.8;
}

.search-box p a:hover {
	opacity:.8;
}

.search-links {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	padding:48px 0 20px 0;
	list-style-type:none;
}

.search-links li {
	padding:0 5px 8px;
	line-height:13px;
	font-size:13px;
}

.search-links li a {
	position:relative;
	padding-left:13px;
	text-decoration:none;
}

.search-links li a:hover {
	text-decoration:underline;
}

.search-links li a::before {
	position:absolute;
	left:0;
	top:calc(50% - 4px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:8px;
	height:8px;
	transform:rotate(45deg);
	content:"";
}

.reservation {
	display:-webkit-flex;
	display:flex;
	padding:80px 0;
}

.reservation h3 {
	line-height:19px;
	font-size:19px;
	font-weight:normal;
}

.web-res {
	width:510px;
}

.web-res ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	list-style-type:none;
	padding-top:52px;
}

.web-res ul li {
	margin:0 6px 6px 0;
	min-width:160px;
}

.web-res ul li a {
	display:block;
	padding:0 8px;
	border:1px solid #ccc;
}

.web-res ul li a span {
	position:relative;
	display:inline-block;
	padding:0 12px;
	line-height:34px;
	font-size:16px;
}

.web-res ul li a:hover span {
	text-decoration:underline;
}

.web-res ul li a span::before {
	position:absolute;
	left:0;
	top:calc(50% - 4px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:8px;
	height:8px;
	transform:rotate(45deg);
	content:"";
}

.tel-res {
	box-sizing:border-box;
	border-left:1px solid #ccc;
	width:490px;
}

.tel-res strong {
	display:block;
	padding-top:24px;
}

.tel-res strong span {
	position:relative;
	display:inline-block;
	padding-left:48px;
	line-height:38px;
	font-size:38px;
	font-weight:normal;
}

.tel-res strong span::before {
	position:absolute;
	left:0;
	top:calc(50% - 13px);
	display:block;
	background:url(../common_images/icon_2nd_res_phone.png) no-repeat;
	width:27px;
	height:26px;
	content:"";
}

.tel-res em {
	display:block;
	padding:12px 0 16px 0;
	line-height:13px;
	font-size:13px;
}

.tel-res p {
	line-height:15px;
	font-size:15px;
}

@media only screen and (max-width : 1029px) {
	.concept ul li {
		padding:0;
	}
	
	.room-faci {
		margin-top:-20px;
	}
	
	.reservation {
		-webkit-flex-direction:column;
		flex-direction:column;
		width:90%;
		max-width:510px;
	}
	
	.web-res,
	.tel-res {
		width:100%;
	}
	
	.tel-res {
		border-left:none;
		border-top:1px solid #ccc;
	}
}

@media screen and (min-width : 768px) and (max-width : 1029px) {
	.hotel-logo {
		height:235px;
	}
	
	.hotel-catch p {
		padding:24px 0 33px 0;
	}
	
	.concept,
	.details,
	.location {
		width:750px;
	}
	
	.concept h2 {
		padding:57px 0 36px 0;
	}
	
	.concept p {
		padding:15px 0 30px 0;
	}
	
	.concept ul li dl dd {
		padding:9px 0 18px 0;
	}
	
	.room h2 {
		padding-top:75px;
	}
	
	.underline-h3::after {
		margin:15px auto 0;
	}
	
	.room h3 {
		padding-top:42px;
	}
	
	.room p {
		padding:18px 0 15px 0;
	}
	
	.room-size li {
		padding:0 12px;
	}
	
	.room-faci dt {
		margin-right:15px;
	}
	
	.details h2 {
		padding:90px 0 24px 0;
	}
	
	.details h3 {
		padding-top:45px;
	}
	
	.details p {
		padding:15px 0 21px 0;
	}
	
	.details ul li span {
		padding:9px 0 18px 0;
	}
	
	.col2 li {
		padding:0;
	}
	
	.col2 li+li {
		padding-top:15px;
	}
	
	.access h2 {
		padding:81px 0 36px 0;
	}
	
	.access-catch {
		padding:30px 10px 42px 10px;
	}
	
	.access-catch ul li {
		padding:0 21px;
	}
	
	.access p {
		padding:21px 0 30px 0;
	}
	
	.location {
		padding-bottom:60px;
	}
	
	.location h2 {
		padding:60px 0 36px 0;
	}
	
	.location ul li dl dd {
		padding-bottom:21px;
	}
	
	.location ul li dl dd h3 {
		padding:15px 0 6px 0;
	}
	
	.res-search {
		padding:60px 0 15px 0;
	}
	
	.search-box h3 {
		padding-top:21px;
	}
	
	.search-box h3 small {
		padding-top:9px;
	}
	
	.search-box h3::after {
		margin:15px auto 30px auto;
	}
	
	.search-type {
		padding:21px 0;
	}
	
	.search-box p {
		padding-bottom:12px;
	}
	
	.search-links {
		padding:36px 0 15px 0;
	}
	
	.reservation {
		padding:60px 0;
	}
	
	.web-res {
		padding-bottom:24px;
	}
	
	.web-res ul {
		padding-top:39px;
	}
	
	.tel-res {
		padding-top:30px;
	}
}

@media only screen and (max-width : 767px) {
	.hotel-logo {
		height:215px;
	}
	
	.hotel-catch p {
		padding:16px 0 22px 0;
	}
	
	.concept,
	.details,
	.location {
		width:90%;
	}
	
	.concept h2 {
		padding:38px 0 24px 0;
	}
	
	.concept p {
		padding:10px 0 20px 0;
	}
	
	.concept ul li dl dd {
		padding:6px 0 12px 0;
	}
	
	.room h2 {
		padding-top:50px;
	}
	
	.underline-h3::after {
		margin:10px auto 0;
	}
	
	.room h3 {
		padding-top:28px;
	}
	
	.room p {
		padding:12px 0 10px 0;
	}
	
	.room-size,
	.access-catch ul {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.room-size li {
		padding:0;
	}
	
	.room-size li+li {
		margin-top:10px;
	}
	
	.room-faci dt {
		margin-right:10px;
	}
	
	.details h2 {
		padding:60px 0 16px 0;
	}
	
	.details h3 {
		padding-top:30px;
	}
	
	.details p {
		padding:10px 0 14px 0;
	}
	
	.details ul li {
		padding:0;
	}
	
	.details ul li span {
		padding:6px 0 12px 0;
	}
	
	.col2 li {
		padding:0;
	}
	
	.col2 li+li {
		padding-top:10px;
	}
	
	.access h2 {
		padding:54px 0 24px 0;
	}
	
	.access-catch {
		padding:20px 10px;
	}
	
	.access-catch ul li {
		padding:0;
	}
	
	.access-catch ul li+li {
		padding-top:14px;
	}
	
	.access p {
		padding:14px 0 20px 0;
	}
	
	.access div {
		padding-top:100%;
	}
	
	.location {
		padding-bottom:40px;
	}
	
	.location h2 {
		padding:40px 0 24px 0;
	}
	
	.location ul li dl dd {
		padding-bottom:14px;
	}
	
	.location ul li dl dd h3 {
		padding:10px 0 4px 0;
	}
	
	.res-search {
		padding:40px 0 10px 0;
	}
	
	.search-box h3 {
		padding-top:14px;
	}
	
	.search-box h3 small {
		padding-top:6px;
	}
	
	.search-box h3::after {
		margin:10px auto 20px auto;
	}
	
	.search-type {
		padding:14px 0;
	}
	
	.search-box p {
		padding-bottom:8px;
	}
	
	.search-links {
		padding:24px 0 10px 0;
	}
	
	.reservation {
		padding:40px 0;
	}
	
	.web-res {
		padding-bottom:14px;
	}
	
	.web-res ul {
		padding-top:26px;
	}
	
	.tel-res {
		padding-top:20px;
	}
}

/* Hotel Detail Page End */

/*  (/index.html) Start */




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

@media screen and (min-width : 768px) and (max-width : 1029px) {
	
}

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

/*  (/index.html) End */

/*  (/index.html) Start */




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

@media screen and (min-width : 768px) and (max-width : 1029px) {
	
}

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

/*  (/index.html) End */


/* for recommend plans */
.recommend-wrap {
	padding: 80px 0 20px 0;
}
.recommend-wrap ul.recommend-plan-list {
	margin-top: 55px;
}

.recommend-wrap ul.recommend-plan-list li {
	display: grid;
	grid-template-columns: 200px 1fr;
	column-gap: 24px;
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #CCCCCC;
}

.recommend-wrap ul.recommend-plan-list li:first-of-type {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.recommend-wrap ul.recommend-plan-list li .recommend-text {
	text-align: left;
}

.recommend-wrap ul.recommend-plan-list li .recommend-title {
	margin-top: -7px;
	font-size: 18px;
	font-weight: bold;
}

.recommend-wrap ul.recommend-plan-list li .recommend-subtitle {
	font-size: 15px;
}

.recommend-wrap ul.recommend-plan-list li .recommend-price {
	font-size: 18px;
	font-weight: bold;
	color: #990000;
}

.recommend-wrap ul.recommend-plan-list li .recommend-detail {
	margin-top: 7px;
	font-size: 15px;
	line-height: 1.5;
}

.recommend-wrap ul.recommend-plan-list li .recommend-button {
	display: inline-block;
	margin-top: 13px;
	padding: 8px 20px;
	background: #993300;
	color: #FFF;
	font-size: 14px;
	font-family: sans-serif;
	font-weight: normal;
	text-decoration: none;
}

.recommend-wrap ul.recommend-plan-list li .recommend-button:hover {
	opacity: 0.8;
}

@media screen and (min-width : 768px) and (max-width : 1029px) {
	.recommend-wrap {
		padding:60px 0 15px 0;
	}
}

@media only screen and (max-width : 767px) {
	.recommend-wrap {
		padding:40px 0 10px 0;
	}
	.recommend-wrap ul.recommend-plan-list li {
		display: block;
	}
	.recommend-wrap ul.recommend-plan-list li .recommend-title {
		margin-top: 20px;
		line-height: 1.5;
	}
	.recommend-wrap ul.recommend-plan-list li .recommend-price {
		text-align: center;
	}
	.recommend-wrap ul.recommend-plan-list li .recommend-url {
		text-align: center;
	}
	.recommend-wrap ul.recommend-plan-list li .recommend-button {
		margin-top: 20px;
	}
}