@charset "UTF-8";
/* webfont
------------------------------------------------------------*/
h2.min,
p.min,
article .detail h2,
#wrapper_plan main h2.title,
article .detail h3,
#sidenav_area nav,
article h2 {
	font-family:"黎ミンY20 M", "Reimin Y20 Medium", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}

/* default reset
------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	border: 0;
	word-wrap: break-word;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 13px;
    vertical-align: baseline;
    background: transparent;
}
p.english {margin:22px 0px 8px 0px ; text-align:right;}
p.none { margin:0 0 5px !important;}
@media screen and (max-width: 480px) {
	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, font, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td { font-size: 12px; }
}

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
  
:focus { outline: 0; }
  
ins { text-decoration: none; }
del { text-decoration: line-through; }
  
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* clearfix start ------------------------------------------*/

.clearfix:after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: ".";
  line-height: 0;
}

.clearfix { display: inline-table; min-height: 1% }

/* for macIE \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }

.container:after,
.section:after,
.row:after,
.col:after,
.clr:after,
.group:after,
.fc-unthemed:after {
    content: "";
    display: table;
    clear: both;
}

/* clearfix end --------------------------------------------*/

/*--------------------------------------------------------------------------------------------------

common

---------------------------------------------------------------------------------------------------*/
.mv {
	margin:0 0 20px;
}
html, body { height: 100%; }
html { box-sizing: border-box; }

body {
	margin: 0;
	padding: 0;
	font-family: 'Helvetica', 'Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	line-height: 1.7;
	letter-spacing: 1px;
}
#bg {
	position:fixed;
	background: url(../images/haeder_bg.png) 0 0 repeat-x fixed;
	width:100%;
	height:184px;
	top:0;
	left:0;
	z-index:1;
}
p { margin-bottom: 25px; }

a {
	color: #7a7d73;
	text-decoration: none;
	font-size: 12px;
	outline: 0;
	transition: color 0.3s linear;
		-webkit-transition: color 0.3s linear;
		-moz-transition: color 0.3s linear;
		-o-transition: color 0.3s linear;
		-ms-transition: color 0.3s linear;
}

a:visited { color: #7a7d73; text-decoration: none; outline: 0; }
a:hover { color: #cecdcd;; text-decoration: nonee; outline: 0; }
a:active { color: #000; text-decoration: none; outline: 0; }
a:focus { color: #000; text-decoration: none; outline: 0; }

img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
	-ms-interpolation-mode: bicubic;　
}
#highlight .gallery img,
#meal .small-12 img,
#onsen .small-12 img {
	width:100%;
	height:auto;
}
.img_fL { float: left; margin: 0 10px 10px 0; }
.img_fR { float: right; margin: 0 0 10px 10px; }

hr {
	margin: 15px 0;
	height: 1px;
	background-color: #d8d8d8;
}


.btn-red {
	background: #d35400;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-right-colors: 3px;
}

.btn:last-chaild,
.btn-red:last-chaild { margin-right: 0; } 


#wrapper {
	position: relative;
	z-index:3;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto !important;
	min-heigth: 100%;
}

.container {
	max-width: 1050px;
	width: 100%;
	margin: 0 auto;
}

.row { padding-bottom: 0em; }

.col {
    display: block;
    float: left;
    width: 100%;
}


#content_area {
	float: right;
	padding: 10px 30px 0;
	width: 770px;
	background: #fff;
	z-index: 2;
	position:relative;
}
#shadow {
	position:fixed;
	top:0;
	width:100%;
	height:250px;
	z-index:2;
}
#shadow .box {
	width:1050px;
	margin:0 auto;
	position:absolute;
}
#shadow_R {
	position:absolute;
	top:0;
	right:-7px;
	height:250px;
	width:7px;
	background:url(../images/shadow_R.png) no-repeat 0 0;
}
#shadow_L {
	position:absolute;
	top:0;
	left:273px;
	height:250px;
	width:7px;
	background:url(../images/shadow_L.png) no-repeat 0 0;
}
@media screen and (max-width: 900px) {
	#content_area {
		float: none;
		padding: 0 10px;
		width: 100%;
	}	
}


/*--------------------------------------------------------------------------------------------------

 header
 
---------------------------------------------------------------------------------------------------*/
header p.logo {
	    background: url(../images/haeder_bg.png) 0 0 ;
		margin:0 -10px 20px;
		position:relative;
		height:80px;
}
header p.logo a {
	width:160px;
	display:block;
	position:absolute;
	top:2px;
	right:15px;
}
header p.logo a img {
	width:100%;
	height:auto;
}
header p.min { text-align: right; }
@media screen and (min-width: 900px) { header p.logo { display: none; } } 
@media screen and (max-width: 769px) { #shadow,header p.min { display: none; } }

@media screen and (max-width: 736px) {
header p.logo {
	    background: url(../images/haeder_bg.png) 0 0 ;
		margin:0 -10px 20px;
		position:relative;
		height:60px;
}
header p.logo a {
	width:120px;
	display:block;
	position:absolute;
	top:2px;
	right:15px;
}
header p.logo a img {
	width:100%;
	height:auto;
}
	
}
/*--------------------------------------------------------------------------------------------------

 content
 
---------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------
 top page
------------------------------------------------------------*/

article h2 {
	position: relative;
	margin: 80px 0 45px;
	padding-top: 45px;
	font-size: 30px;
	border-top: 4px solid #A2A2A2;
}
article h2::after {
	position: absolute;
	top: -4px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 4px;
	background-color: #508032;
}

article .detail h2 {
	font-size: 24px;
	margin: 0 0 40px;
	border: none !important;
}

article .detail h2::after { background: none; }

article .detail h3 {
	margin: 20px 0;
	padding-left: 12px;
	height: 50px;
	line-height: 50px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 16px;
	font-weight: bold;
	background: url(../images/h3_bg.jpg) 0 0 no-repeat;
}

article .detail h4 {
	color: #508032;
	font-size: 13px;
	font-weight: bold;
}

p.bold { font-weight: bold; }
span.bold,
span.bold_18 { color: #508032; font-weight: bold; }
span.bold_18 { font-size: 18px; }


h2.min {
	margin-bottom: 20px;
	color: #666;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 18px;
}

p.min {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 15px;
}



/*------------ plan_banner ------------*/

ul.plan_banner img { margin-bottom: 10px; }

/*------------ blog_area ------------*/

.blog_area { margin-left: 21px; }

	.blog_area h2 img {
		position: relative;
		top: 5px;
	}

	.blog_area p.min {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		text-align: right;
	}

		.blog_area ul  { font-size: 14px; }
		
		.blog_area ul.blog li {
			margin-bottom: 2px;
			padding: 8px 0 5px;
			border-bottom: 1px dashed #bbb;
		}
	
		.blog_area ul.blog li a { color: #508032; font-size: 13px; margin:0 0 0 10px; }
		.blog_area ul.blog li a:hover { text-decoration: underline; }

	ul.sns_banner { margin-top: 20px; }


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

.blog_area { margin: 45px 0 0; }

}

/*------------------------------------------------------------
 room_type
------------------------------------------------------------*/

article#room_type dl {
	margin: 0;
	padding: 0;
	width: 100%;
}
	
	article#room_type dl dt {
		clear: both;
		float: left;
		margin: -1px 0px 1px 0;
		padding: 15px 0 15px 10px;
		width: 30%;
		border-bottom: 1px solid #bbb;
	}
	
	article#room_type dl dd {
		float: left;
		margin: -1px 0 1px 0;
		padding: 15px 5px;
		width: 70%;
		border-bottom: 1px solid #bbb;
	}
	
	*:first-child+html article#room_type dl dd { float: none; }
			
	article#room_type dl dt:first-child,
	article#room_type dl dd:nth-child(2) { border-top:  1px solid #bbb; }


	p.mitori img { margin-top: 25px !important; }

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

	article#room_type dl dd:nth-child(2) { border-top:  none; }

	article#room_type dl dt {
		padding: 20px 0 0 !important;
		width: 100%;
		border-bottom: none;
	}

	article#room_type dl dd {
		width: 100%;
		margin-bottom: 5px;
		padding: 0 0 20px;
	}

}



/*------------------------------------------------------------
 onsen / facilities
------------------------------------------------------------*/

article#onsen dl,
article#facilities dl.basic {
	margin: 0;
	padding: 0;
	width: 100%;
}

	article#onsen dl dt,
	article#facilities dl.basic dt {
		clear: both;
		float: left;
		margin: -1px 0px 1px 0;
		padding: 20px 0 20px 35px;
		width: 30%;
		font-weight: bold;
		border-top: 1px solid #bbb;
	}
	
	article#onsen dl dd,
	article#facilities dl.basic dd {
		float: left;
		margin: -1px 0 1px 0;
		padding: 20px 5px;
		width: 70%;
		border-top: 1px solid #bbb;
	}
	
	
	*:first-child+html article#onsen dl dd,
	*:first-child+html article#facilities dl.basic dd { float: none; }

	article#onsen dl dt:last-of-type,
	article#onsen dl dd:nth-last-of-type(1),
	article#facilities dl.basic dt:last-of-type
	article#facilities dl.basic dd:nth-last-of-type(1) { border-bottom:  1px solid #bbb; }

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


	article#onsen dl dt,
	article#onsen dl dd,	
	article#facilities dl.basic dt,
	article#facilities dl.basic dd { width: 100%; }

	article#onsen dl dt,
	article#facilities dl.basic dt {
		padding: 20px 0 0 !important;
		border-top: none;
	}

	article#onsen dl dd,
	article#facilities dl.basic dd {
		width: 100%;
		margin-bottom: 5px;
		padding: 0 0 20px;
		border-top:  none;
		border-bottom:  1px solid #bbb;
	}

}


/*------------------------------------------------------------
 access
------------------------------------------------------------*/
article div.map iframe { width: 100%; height: 440px; }
article div.map small a { color: #002FFF; font-size: 11px; }


/*------------------------------------------------------------
 reserv
------------------------------------------------------------*/

#formBox h2 {
	font-size: 24px;
	margin: 0;
	padding: 0;
	border: none !important;
}

#formBox h2::after { background: none; }

table.formTable { width: 100%; margin: 0 auto 30px; }

	table.formTable td,
	table.formTable th { padding: 10px; border-bottom: 1px dashed #ccc;　}
	table.formTable th {
		width: 30%;
		font-weight: bold;
		text-align: left;
	}
	table.formTable th span {
		margin-left: 10px;
		padding: 3px 5px;
		color: #fff;
		font-size: 10px;
		background: #547E33;
		transition: background .5s;
		border: 1px solid #547E33;
		border-radius: 4px; /* CSS3草案 */ 
			-webkit-border-radius: 4px; /* Safari,Google Chrome用 */ 
			-moz-border-radius: 4px; /* Firefox用 */
	}

	table.formTable td { line-height: 45px; }
	
	table.formTable input {
				padding: 10px;
				border: 1px solid #ccc;
				border-radius: 4px; /* CSS3草案 */ 
					-webkit-border-radius: 4px; /* Safari,Google Chrome用 */ 
					-moz-border-radius: 4px; /* Firefox用 */
	}
	
		table.formTable textarea {
			padding: 10px;
			width: 100%;
			font-size: 14px;
			border: 1px solid #ccc;
		}
		
		#formBox input[type=submit], 
		#formBox input[type=reset] {
			margin: 0 5px;
			padding: 10px 20px;
			color: #fff;
			cursor: pointer;
			font-size: 14px;
			background: #547E33;
			transition: background .5s;
			border: 1px solid #547E33;
			border-radius: 4px; /* CSS3草案 */ 
				-webkit-border-radius: 4px; /* Safari,Google Chrome用 */ 
				-moz-border-radius: 4px; /* Firefox用 */
		}
		
		table.formTable td.max input[type=text] { width: 100%; }
		
		
		#formBox input[type=submit]:hover, 
		#formBox input[type=reset]:hover { background: #375E16; }

@media screen and (max-width: 480px) {
	
table.formTable th,
table.formTable td { width: 100%; display: block; }

table.formTable th { padding: 10px 10px 0;  border-bottom: none; }

}


/*------------------------------------------------------------
 highlight
------------------------------------------------------------*/

article#highlight ul li a { color: #002FFF; font-weight: bold; }
article#highlight ul li a:hover { text-decoration: underline; }
article#highlight ul.gallery {
	padding: 45px 0 45px 10px;
	border: 1px solid #bbb;
}
article#highlight ul.gallery p {
	line-height:1.6em;
}
@media screen and (max-width: 480px) {
	article#highlight ul.gallery { padding: 25px 0; }
	
}

/*--------------------------------------------------------------------------------------------------

 plan page
 
---------------------------------------------------------------------------------------------------*/


#wrapper_plan .container {
	max-width: 770px;
	width: 100%;
	margin: 0 auto;
}

#wrapper_plan #content_area { width: 100%; }

	#wrapper_plan p.close {
		position: absolute;
		top: 4%;
		right: 5%;
	}
	#wrapper_plan p.close img {
		width:30px;
		height:auto;
	}
	#wrapper_plan main { margin: 150px 0; }
	#wrapper_plan main h2.title {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size: 30px;
		color: #333;
		margin-bottom: 40px;
	}
	

.calendar_area { margin: 50px 0; }
.fc-sun { color: red; }
.fc-sat { color: blue; }

#wrapper_plan section p.btn { text-align: right; }
		#wrapper_plan section p.btn a {
			margin: 0 5px;
			padding: 10px 20px;
			color: #fff;
			cursor: pointer;
			font-size: 14px;
			background: #547E33;
			transition: background .5s;
			border: 1px solid #547E33;
			border-radius: 4px; /* CSS3草案 */ 
				-webkit-border-radius: 4px; /* Safari,Google Chrome用 */ 
				-moz-border-radius: 4px; /* Firefox用 */
		}	
		
		#wrapper_plan section p.btn a:hover { background: #375E16; }

#wrapper_plan li.a-menu {
	float: left;
	font-size: 20px;
	margin-right: 40px;
	}
#wrapper_plan li.a-menu a {
	font-size: 20px;
	}

#wrapper_plan .a-menu-line {
	clear: both;
	margin-bottom: 50px;
	border-bottom: 1px dashed #ccc;
	}
	
@media screen and (max-width: 769px) {
	#wrapper_plan main h2.title { font-size: 24px; }
	#wrapper_plan section p.btn { text-align: center; }
	#bg { display:none; }
}

/*------------------------------------------------------------
 price list
------------------------------------------------------------*/

section .box { margin: 30px 0; }

table.price_list,
table.child_price_list,
table.lift_price_list,
table.lift_price_list2 {
	width: 100%;
	font-size: 92%;
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
}
table.price_list .title_b {
	background:rgba(215,242,255,1.00);
	color:#333;
	width:35%;
}
table.ski td {
	padding:6px 15px !important;
}
table.ski td.color_red {
	color:#f00;
	font-weight:bold;
}
table.child_price_list { margin-top: 30px; }

	table.price_list caption {
		padding: 5px 10px;
		text-align: left;
		color: #fff;
		background: #97B385;
	}

	table.price_list th,
	table.lift_price_list th,
	table.lift_price_list2 th {
		margin: 0;
		padding: 6px;
		color: #fff;
		font-weight: normal;
		vertical-align: middle;
		background: #666;
		border-left: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
	}

	table.child_price_list caption {
		padding: 5px 10px;
		text-align: left;
		color: #f00;
	}
	
	table.child_price_list th.title { font-weight: bold; text-align: center; }
	table.child_price_list th {
		margin: 0;
		padding: 6px;
		text-align: left;
		font-weight: normal;
		vertical-align: middle;
		background: #f5f5f5;
		border-left: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
	}


	table.price_list th.price_a,
	table.price_list th.price_b,
	table.price_list th.price_c,
	table.price_list th.price_d,
	table.price_list th.price_e { width: 25%; }


	table.price_list th.price_a { background: brown; }
	table.price_list th.price_b { background: royalblue; }
	table.price_list th.price_c { background: green; }
	table.price_list th.price_d { background: lightcoral; }
	table.price_list th.price_e { background: gold; }

	table.price_list td,
	table.child_price_list td,
	table.lift_price_list td,
	table.lift_price_list2 td {
		margin: 0;
		padding: 6px;
		vertical-align: middle;
		border-left: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
	}

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

table.price_list,
table.lift_price_list,
table.lift_price_list2 { border: 1px solid #ccc; }
		table.price_list th.title,
		table.lift_price_list th.title,
		table.lift_price_list2 th.title { display: none !important; }
		
		table.price_list tbody { display: block; }
			
			table.price_list tbody th,
			table.price_list tbody td { display: list-item; border: none; }

			table.lift_price_list tbody th,
			table.lift_price_list tbody td,
			table.lift_price_list2 tbody th,
			table.lift_price_list2 tbody td { display: block; border: none; }

			table.price_list tbody td,
			table.lift_price_list tbody td,
			table.lift_price_list2 tbody td {
				margin-left: 20px;
				padding: 5px;
				text-align: left !important;
			}
		
			table.price_list tbody tr,
			table.lift_price_list tbody tr,
			table.lift_price_list2 tbody tr {
				display: block;
				padding: 0 20px; 
				margin-bottom: 1.5em;
			}			

			table.price_list td:nth-of-type(1):before { content: "1 person："; }
			table.price_list td:nth-of-type(2):before { content: "2 persons："; }
			table.price_list td:nth-of-type(3):before { content: "3 persons："; }
			table.price_list td:nth-of-type(4):before { content: "4 persons："; }

			table.lift_price_list td:nth-of-type(1):before { content: "Regular fee："; }
			table.lift_price_list td:nth-of-type(2):before { content: "Discount fee："; }
			
			table.lift_price_list2 td:nth-of-type(1):before { content: "Adult Regular fee："; }
			table.lift_price_list2 td:nth-of-type(2):before { content: "Adult Discount fee："; }
			table.lift_price_list2 td:nth-of-type(3):before { content: "Child Regular fee："; }
			table.lift_price_list2 td:nth-of-type(4):before { content: "Child Discount fee："; }
			
			table.price_list .price_a,
			table.price_list .price_b,
			table.price_list .price_c,
			table.price_list .price_d,
			table.price_list .price_e,
			table.price_list .title_b {
				width:100% !important;
				list-style:none;
			}

}



/*------------------------------------------------------------
 winnter plan
------------------------------------------------------------*/

	table.lift_price_list th.lift_title {
		text-align: left;
		color: #000;
		background: #ffc;
	}

	table.lift_price_list td.off { color: #f00; }


/*------------  listpage ------------*/

#wrapper_plan main .planSelection {
	margin-bottom: 100px;
	padding-bottom: 100px;
	border-bottom: 1px dashed #ccc;
}

#wrapper_plan main .planSelection:last-child { border-bottom: none; }

/*--------------------------------------------------------------------------------------------------

 footer
 
---------------------------------------------------------------------------------------------------*/

#footer {
	margin: 100px 0 10px;
	padding: 1em 0;
	color: #808080;
}

	
/*------------  copyright ------------*/

div.copyright { text-align:center; font-size: 10px; }
.footer_logo span { margin-left: 20px; }


/*------------  Go top ------------*/
@media screen and (min-width: 770px) {

	.gotop p {
		position: fixed;
		top: 300px;
		right: 0;
		z-index:9999;
	}
	.gotop p a {
		display: block;
		width: 100px;
		height: 50px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		background: #508032;
	-webkit-transition: all .5s;
	transition: all .5s;
	}
	.gotop p a:hover {
		background:rgba(45,92,45,1.00);
	}
	.booking p {
		position: fixed;
		top: 370px;
		right: 0;
		z-index:9999;
	}
	.booking p a {
		display: block;
		width: 100px;
		height: 50px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		background: #508032;
	-webkit-transition: all .5s;
	transition: all .5s;
	}
	.booking p a:hover {
		background:rgba(45,92,45,1.00);
	}
	.plan_banner li {
	-webkit-transition: all .5s;
	transition: all .5s;
	}
	.plan_banner li:hover {
		opacity:0.6;
	}
}

@media screen and (max-width: 769px) {
	.gotop p {
		position: fixed;
		bottom: 10px;
		right: 20px;
		z-index:9999;
	}
	
	.gotop p a {
		display: block;
		width: 50px;
		height: 50px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		background: #508032;
		border-radius: 50%;
		-webkit-border-radius: 50%;
	}
	.booking p {
		position: fixed;
		bottom: 10px;
		right: 90px;
		z-index:9999;
	}
	
	.booking p a {
		display: block;
		width: 100px;
		height: 50px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		background: #508032;
	}
}