/* =============================================================================
   HTML5 element display
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio[controls], canvas, video { display: inline-block; *display: inline; *zoom: 1; }


/* =============================================================================
   Base
   ========================================================================== */

html { font-size: 100%; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { margin: 0; font-size: 100%; line-height: 1.7; }

/* =============================================================================
   Links
   ========================================================================== */

a { color: inherit; }
a:visited { color: inherit; }
a:focus { outline: 0; }

/* Improve readability when focused and hovered in all browsers: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: 0; }
a:hover { color: #004dae; }

/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #999999; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: en.wikipedia.org/wiki/User:Davidgothberg/Test59 */
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; line-height: 1.2; }

/* Position subscript and superscript content without affecting line-height: gist.github.com/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul { margin: 0; padding: 0; }	/* MTL KAZ: margin was 5px 0 */
ol { margin: 0 0 0 2.5em; padding: 0; }	/* MTL KAZ: margin was 5px 0 */
ul li { list-style-type: none; }	/* MTL KAZ: added */
dd { margin: 0 0 0 40px; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * Improve image quality when scaled in IE7
 * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */

img { border: 0; -ms-interpolation-mode: bicubic; }

/*
 * Correct overflow displayed oddly in IE9
 */

svg:not(:root) {
    overflow: hidden;
}


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9 
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; } /* KAZ c/o: vertical-align: baseline; *vertical-align: middle; */

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 * 2. Correct inner spacing displayed oddly in IE6/7
 */

button, input { line-height: normal; *overflow: visible; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

/*
 * Remove inner padding and border in FF3/4
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/* Remove default vertical scrollbar in IE6/7/8/9 */
textarea { overflow: auto; vertical-align: top; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}
th, td {
	border: #004dae 1px solid;
	padding: 4px 1em;
}
th {
	background-color: #dbeaff;
/*	text-align: left; */	/* in design */
	font-weight: normal;
}
table.noborder {
	margin: 0;
}
table.noborder td {
	border: 0;
}

/* ==================
   Initializr Theme
   ================== */

body {
	background-color: white;
	min-width: 1016px;
	color: black;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
}
p, address {
	margin-top: 5px;
	margin-bottom: 10px;
}
address {
	font-style: normal;
}
section {
	clear: both;
}
h2, h3, h4, h5 {
	margin-top: 36px;
}
h2:first-child, h3:first-child, h4:first-child, h5:first-child {
	margin-top: 0;
}
h2, h3, h4 {
	line-height: 1.333;
}
h2 {
	background: url(images/h2_bullet_trees.gif) no-repeat 8px bottom;
	border-bottom: #004dae 3px solid;
	margin-bottom: 20px;
	padding: 3px 8px 2px 47px;
	color: #004dae;
	font-size: 131%;	/* 16 * 131% = 20.96px */
	font-weight: bold;
}
h3 {
	background-color: #dbeaff;
	margin-bottom: 20px;
	padding: 7px 12px 6px;
	color: #004dae;
	font-size: 113%;	/* 16 * 113% = 18.08px */
	font-weight: bold;
}
h4 {
/*	background: url(images/h4.gif) no-repeat left center;
	padding-left: 15px; */
	font-size: 105%;
}
h5 {
/*	background: url(images/h5.gif) no-repeat left center;
	padding-left: 13px; */
	color: #0D5593;
	font-size: 100%;
}

iframe {
	display: block;
	overflow: hidden;
	border: 0;
}
.clear {
	clear: both;
}
.nomargin {
	margin: 0;
}
#content a:hover img,
img.transbtn:hover,
span.current .transbtn {
	opacity: 0.75;
	filter: alpha(opacity=75);
}
.ios #content a:hover img,
.ios img.transbtn:hover {
/* iOS 8.4.1 以降で :hover に opacity が指定してあると 2 回タップしないとリンク先に飛ばない。script.js でユーザーエージェントを見て body に class="ios" を追加。 */
	opacity: 1;
	filter: none;
}
.righttop {	/* Force to position right top most of the parent element, which has position: relative */
	 position: absolute;
	 right: 0;
	 top: 0;
}
.rightbottom {
	 position: absolute;
	 right: 0;
	 bottom: 0;
}
.imgonly {
	line-height: 0;
}
a.imgonly,
.imgonly a {
	display: inline-block;
}
img.withintext {
	vertical-align: middle;
}
img.imgonlynotinblock {	/* to avoid gap under this */
	display: block;
}
span.note {
	font-size: 88%;		/* 16 * 88% = 14.08px */
}

/* ===============================
   The Structure
   =============================== */
#header, #header_headings, #gnavi, #wrapper, #main, #footer {
	width: 100%;
}
#header_headings .inner, #header_main, #gnavi ul, #mainwall, #footer .inner {
	width: 1000px;
	margin: 0 auto;
}

/* ===============================
   Header: logo, top menu area
   =============================== */
#header {
}
#header_headings {
	background-color: #004dae;
}
#header_headings .inner {
	font-size: 14px;
	line-height: 22px;
	color: white;
}
#header_headings .inner .address {
	float: right;
	margin-right: 24px;
}
#header_main {
	height: 87px;
	padding: 20px 0 17px;
	line-height: 0;
}
#header_logo {
	float: left;
	height: 87px;
	margin: 0;
}
#header_contact {
	float: right;
/*	height: 58px; */
	padding-top: 28px;
}
#header_logo img,
#header_contact img {
	vertical-align: bottom;
}
#gnavi {
	clear: both;
/*	overflow: hidden; */
	height: 51px;
	padding-bottom: 25px;
}
#gnavi ul {
	border-left: #004dae 1px solid;
	height: 51px;
	line-height: 0;
}
#gnavi ul li {
	list-style-type: none;
	border-right: #004dae 1px solid;
	float: left;
	height: 51px;
}
#gnavi ul li span.current,
#gnavi ul li a {
	display: inline-block;
	border-bottom: transparent 5px solid;
	height: 46px;
}
#gnavi ul li span.current,
#gnavi ul li a:hover {
	border-bottom: #004dae 5px solid;
}

/* ==================
   Main
   ================== */
#wrapper {
}
#main {
	background: url(images/main_bg.gif) no-repeat center bottom;
}

/* ==================
   H1 or Video
   ================== */
#top_video,
#page_title {
	width: 100%;
}
#top_video .inner,
#page_title h1 {
	margin: 0 auto;
}
#top_video {
	background: #004dae url(images/top_video_bg.jpg) no-repeat center top;
	padding: 10px 0;
}
#top_video .inner {
	background-color: white;
	width: 990px;
	margin: 0 auto;
	padding: 5px;
	line-height: 0;
}
#page_title {
	background: #004dae url(images/h1_bg.jpg) no-repeat center top;
}
#page_title h1 {
	width: 1000px;
	line-height: 180px;
}
#page_title h1 img {
	vertical-align: middle;
}

/* =========================================
   Contents (各ページ共通)
   ======================================= */
#mainwall {
	padding: 55px 0;
}
#content {
	float: left;
	width: 720px;
	margin-bottom: 75px;
}
#mainvisual {
	margin: 0 0 25px;
	line-height: 0;
}
#catchline {
	margin: 26px 0 20px;
}
#content .alignleft {
	display: block;
	float: left;
	margin-right: 32px;
}
#content .alignright {
	display: block;
	float: right;
	margin-left: 32px;
}
#content .blue_border {
	background-color: white;
	border: #004dae 3px solid;
	-moz-border-radius: 4px;
	border-radius: 4px;
	display: inline-block;
	padding: 5px;
}
#content a[data-lightbox] {
	position: relative;
}
#content a[data-lightbox]::after {
	background: url(images/icon_magnify.png) no-repeat right bottom;
	display: inline-block;
	position: absolute;
	width: 26px;
	height: 35px;
	right: 0;
	bottom: 0;
	content: '';
}
.content_pair,
.content_three_cols,
.content_four_cols {
	clear: both;
	overflow: hidden;
}
.content_pair {
	margin-bottom: -15px;	/* -25 + 10 */
	margin-left: 3px;
}
.content_three_cols {
	margin-bottom: -10px;	/* -20 + 10 */
	margin-left: 1px;
	margin-right: -22px;
}
.content_four_cols {
	margin-bottom: -6px;	/* -16 + 10 */
	margin-left: 1px;
	margin-right: -18px;
}
.content_left,
.content_right {
	width: 345px;
	margin-bottom: 25px;
}
.content_left.wide,
.content_right.wide {
	width: 445px;
}
.content_left.narrow,
.content_right.narrow {
	width: 245px;
}
.content_one_third {
	width: 225px;
	margin-bottom: 20px;
	margin-right: 5px;
}
.content_one_fourth {
	width: 164px;
	margin-bottom: 16px;
	margin-right: 18px;
}
.content_left,
.content_one_third,
.content_one_fourth {
	float: left;
}
.content_left {
	clear: both;
}
.content_right {
	float: right;
}
.content_left h3,
.content_right h3 {
	margin-top: 10px;
}

/* =========================================
   Sidebar (各ページ共通)
   ======================================= */
#sidebar {
	width: 235px;
	margin-left: 765px;
	margin-bottom: 75px;
}
#sidebar .sidebar_item {
	margin-top: 12px;
}
#sidebar .sidebar_item:first-child {
	margin-top: 0;
}
#sidebar_contact {
}
#sidebar_plan_reservation {
}
#sidebar_plan_search {
	border: #f86d00 3px solid;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 5px 0 0;
}
#sidebar_plan_search h2 {
	background: none;
	border-bottom: #f86d00 3px solid;
	margin: 0 7px;
	padding: 0;
	text-align: center;
}
#sidebar_businesstravelers {
	border: #004dae 3px solid;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 7px;
}
#sidebar_businesstravelers h2 {
	background: none;
	border-bottom: #004dae 3px solid;
	margin-bottom: 9px;
	padding: 0 0 5px;
	text-align: center;
}
#sidebar_businesstravelers p {
	margin: 0;
	font-size: 16px;	/* FIXED */
	line-height: 1.5;
}
#sidebar_businesstravelers p span.red {
	color: red;
	font-weight: bold;
}
#sidebar_kazakoshi_park {
}

/* ===============================
   Contents (トップページ)
   ================== */
#mainvisual.top {
	margin: 0 0 6px;
}
#top_description {
	margin: 0 0 20px;
}
h2#top_plans_title {
	padding-top: 5px;
	padding-bottom: 3px;
	line-height: 0;
}
ul#top_features {
	overflow: hidden;
}
ul#top_features li {
	float: left;
	margin-left: 15px;
	line-height: 0;
}
ul#top_features li:first-child {
	margin-left: 0;
}
ul#top_plans {
}
ul#top_plans li {
	overflow: hidden;
	margin-top: 30px;
}
ul#top_plans li:first-child {
	margin-top: 0;
}
ul#top_plans li span.photo {
	display: inline-block;
	float: left;
	width: 189px;
	line-height: 0;
}
ul#top_plans li span.text {
	display: block;
	margin-top: 7px;
	margin-left: 210px;
	line-height: 1.5;
	font-size: 88%;		/* 16 * 88% = 14.08px */
}
ul#top_plans li span.text a.title {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 121%;	/* 16 * 88% * 121% = 17.04px */
	font-weight: bold;
}

/* ===============================
   Contents (下位ページ)
   ================== */
#cuisine_description {
	overflow: hidden;
}
ul#cuisine_links {
	margin: 25px 0 60px;
	text-align: center;
}
ul#cuisine_links li {
	display: inline-block;
	margin: 0 12px;
}
ul#cuisine_links li a,
ul#cuisine_links li span.noref {
	background-color: #004dae;
	border: #2266cc 3px outset;
	-moz-border-radius: 8px;
	border-radius: 8px;
	display: inline-block;
	min-width: 9em;
	padding: 10px 20px;
	color: white;
	font-size: 18px;	/* FIXED */
	font-weight: bold;
}
ul#cuisine_links li a {
	text-decoration: none;
}
ul#cuisine_links li a:hover {
	color: #ffcc55;
}
ul#cuisine_links li span.noref {
	position: relative;
}
ul#cuisine_links li span.noref:hover::after {
	background-color: #004dae;
	display: inline-block;
	position: absolute;
	width: 9em;
	top: 0;
	left: 0;
	padding: 10px 20px;
	color: #ffcc55;
	content: '準備中';
}
#cuisine_greenseason1 {
	margin-bottom: -5px;	/* -25 + 20 */
}
#cuisine_greenseason2 {
}
#cuisine_winterseason1,
#cuisine_winterseason2 {
	margin-bottom: -5px;	/* -25 + 20 */
}
#cuisine_winterseason3 {
}
#cuisine_breakfast1 {
}
#cuisine_bbq1 {
}

#trainingcamp_description {
	overflow: hidden;
}
#trainingcamp_contact {
	border: #004dae 3px dashed;
	margin: 26px 0 47px;
	padding: 17px 25px;
	line-height: 1.5;
	color: #004dae;
	font-size: 113%;	/* 16 * 113% = 18.08px */
	font-weight: bold;
}
#trainingcamp_icepark_table {
	width: 100%;
	margin-top: 24px;
}

#facilities_rooms {
	overflow: hidden;
}
#facilities_rooms_gallery {
	font-size: 88%;		/* 16 * 88% = 14.08px */
	margin: 1em;
}
#facilities_rooms_gallery .content_one_third {
	background-color: #dbeaff;
	padding-bottom: 0.35em;
	color: #004dae;
	text-align: center;
}
#facilities_bath_gallery {
	overflow: hidden;
	margin: 1em 0 2em;
}
#facilities_bath_gallery span.item {
	display: block;
	float: left;
	width: 144px;
}
#facilities_bath_gallery span.item:first-child {
	margin-right: 32px;
}
#facilities_onsen_table {
	width: 100%;
	margin-bottom: 15px;
}
#facilities_onsen_table th {
	width: 5em;
}
#facilities_publicspace {
}
#facilities_publicspace h3 {
	clear: both;
}
#facilities_firstlounge {
}
#facilities_secondlounge {
	margin-bottom: 30px;
}
#facilities_secondlounge img.alignleft {
	margin-top: 0.35em;
	margin-right: 16px;
}
#facilities_versatile {
}

#access_gmap {
}
ul#access_transportation {
	margin-bottom: 0.5em;
}
ul#access_transportation li {
}
#access_address {
	border: #004dae 3px dashed;
	margin-top: 40px;
	padding: 17px 25px;
	line-height: 1.5;
}
#access_address span.name {
	color: #004dae;
	font-size: 113%;	/* 16 * 113% = 18.08px */
	font-weight: bold;
}
#access_courtesyvans {
	background: url(images/access_courtesyvans.jpg) no-repeat left top;
	width: 720px;
	height: 230px;
	margin-top: 1em;
	padding-top: 10px;
	text-align: center;
}
#access_courtesyvans span.text {
	background-color: black;
	background-color: rgba(0,0,0,0.7);
	-moz-border-radius: 10px;
	border-radius: 10px;
	-moz-box-shadow: 0 0 3px 3px rgba(0,0,0,0.7);
	-webkit-box-shadow: 0 0 3px 3px rgba(0,0,0,0.7);
	box-shadow: 0 0 3px 3px rgba(0,0,0,0.7);
	color: white;
	font-size: 113%;	/* 16 * 113% = 18.08px */
	font-weight: bold;
}

.sightseeing_traveltime {
	position: relative;
	float: right;
	margin-top: -52px;
	margin-right: 8px;
	color: #004dae;
}
.sightseeing_description {
	overflow: hidden;
}

/* ==================
   Footer
   ================== */
#footer {
	background: url(images/footer_bg.gif) repeat-x center bottom;
	border-top: #004dae 10px solid;
	clear: both;
	position: relative;
/*	height: 300px; */
	padding: 20px 0;
}
#footer .inner {
}
ul#ft_menu {
	list-style: none;
	float: left;
	overflow: hidden;
	width: 463px;
	margin: 0 0 81px;
}
ul#ft_menu li {
	border-right: #004dae solid 3px;
	float: left;
	margin: 20px 0 10px;
	line-height: 30px;
	font-size: 14px;	/* FIXED */
	font-weight: bold;
}
ul#ft_menu li:first-child,
ul#ft_menu li.reservation {
	border-left: #004dae solid 3px;
}
ul#ft_menu li span.current,
ul#ft_menu li a {
	display: inline-block;
	width: 112px;
	color: #004dae;
	text-align: center;
}
ul#ft_menu li a {
	text-decoration: none;
}
ul#ft_menu li span.current,
ul#ft_menu li a:hover {
	text-decoration: underline;
}
#footer_logo {
	float: right;
	height: 84px;
	margin-bottom: 3px;
	line-height: 0;
}
#footer_logo img {
    height: 77px;
}
#footer_spqr {
	float: right;
	height: 88px;
    margin-left: 10px;
	line-height: 16px;
    text-align: center;
}

#footer_spqr img {
	height: 78px;
	margin-bottom: -2px;
}
#footer_spqr a span {
    display: block;
    font-size: 11px;
}
#ft_address {
	float: right;
	width: 315px;
    position: relative;
    right: -10px;
	font-size: 88%;		/* 16 * 88% = 14.08px */
}
#copyright {
	clear: both;
	line-height: 1.93;
	font-size: 88%;		/* 16 * 88% = 14.08px */
	text-align: center;
}
#copyright a img {
	vertical-align: middle;
}

/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* =============================================================================
   Print styles.
   Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    a, a:visited { text-decoration: underline; }
    thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
    tr, img { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    @page { margin: 0.5cm; }
    h2, h3 { page-break-after: avoid; }
}

/*--------------------------------------------------------*/
.mini {
	width:720px;
	clear:both;
	margin-bottom:15px;
	border-bottom:dashed 1px #e27f07;
	padding-right:5px;
}

.mini a {
	color:#000;
}

.mini a:hover {
	text-decoration:underline;
}


.plan_h2 {
	margin-top:0;
	margin-right:5px;
	line-height:1.4em;
	font-size:0.9em;
	font-weight:bold
}

.miniright {
	float:right;
	width:520px;
	padding-right:5px;
}

.miniright p {
	margin-top:0;
	font-size:0.9em;
}

.minileft {
	float:left;
	width:190px;
	height:125px;
	overflow:hidden;
}

.float_clear {
	clear:both;
}
	