/*---------- base overrides ----------*/

#content {
	background-color: #fff7d7;
}
#content_inner {
	background-color: inherit;
}



/*---------- commons ----------*/

figure { margin: 0; }


section {
	margin: 4px auto;
}
section > h2 {
	font-size: 25px;
	font-weight: normal;
	text-align: center;
	border: 2px solid #00490e;
	border-left: none;  border-right: none;
	line-height: 1.0;
	padding: 0.48em 0 0.32em;
	margin: 42px 0 16px 0;
}
section > p.desc {
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
	margin: 16px 0 42px 0;
}



/*---------- section#top ----------*/

section#top {
	padding-top: 22px;
	padding-bottom: 0;
	margin: 0;
}
section#top.menu-floated {
	padding-bottom: 60px;
}

section#top > h1 {
	height: 32px;
	margin: 0 0 22px 0;
	background: url(../imgs/page-title.png) no-repeat center center;
	
	line-height: 1.0;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
}

section#top > figure > img {
	display: block;
}

section#top > figure > figcaption {
	font-size: 14px;
	line-height: 1.5;
	text-align: right;
	margin-top: 0.2em;
}

section#top > p.top {
	font-size: 19px;
	line-height: 1.6316;
	text-align: center;
	margin: 24px 0 42px;
}



/*---------- nav.main-nav ----------*/

nav.main-nav {
	width: 100%;
	height: 60px;
	margin: 42px auto;
	position: relative;
}

nav.main-nav.floated {
	position: fixed;
	left: 0;
	top: 0;
	margin-top: 0;
}

nav.main-nav > ul {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	font-size: 0;
	list-style: none;
}
nav.main-nav > ul > li {
	display: inline-block;
	width: 25%;
}
nav.main-nav > ul > li > a {
	
	display: block;
	width: 100%;
	
	font-size: 22px;
	line-height: 1.0;
	padding: 20px 0 18px;

	color: white;
	text-decoration: none;
	text-align: center;
	background-color: #00490e;
}
nav.main-nav > ul > li > a:hover,
nav.main-nav > ul > li.active > a {
	background-color: #007e0e;
}



/*---------- .gallery.col3 ----------*/

.gallery {
	overflow: hidden;
	margin: 40px 0 0 0;
}

.gallery > figure {
	float: left;
}

/* col3 */
.gallery.col3 > figure {
	width: 300px;
	margin: 0 30px 58px 0;
}
.gallery.col3 > figure:nth-child(3n) {
	margin-right: 0;
}
.gallery.col3 > figure:nth-last-of-type(-n+3) {
	margin-bottom: 0;
}

/* col2 */
.gallery.col2 {
	padding: 0 64px;
}
.gallery.col2 > figure {
	width: 400px;
}
.gallery.col2 > figure + figure {
	margin-left: 32px;
}

/* figcaption */
.gallery figcaption {
	font-size: 16px;
	line-height: 1.625;
	margin: 0.75em 0 0 0;
}
.gallery figcaption.heading {
	line-height: 1.2;
	text-align: center;
	font-weight: bold;
	margin: 0 0 0.75em 0;
}

/* img */
.gallery img {
	display: block;
}

/* table */
.gallery table {
	font-size: 16px;
	margin-top: 8px;
}
.gallery th,
.gallery td {
	vertical-align: top;
}
.gallery th {
	width: 90px;
}
.gallery th > .heading {
	display: inline-block;
	width: 90px;
	text-align: center;
	line-height: 1.0;
	background-color: #00490e;
	color: white;
	font-weight: normal;
	padding: 0.3125em 0;
}
.gallery td {
	padding: 0 0 0 0.3125em;
	line-height: 1.625;
}



/*---------- section#places ----------*/



/*---------- section#events ----------*/

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



/*---------- section#hospitality ----------*/

.resort-mice-karuizawa {
	width: 660px;
	height: 118px;
	margin: 42px auto 0;
	background-color: #f90;
}
.resort-mice-karuizawa > a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../imgs/banner-mice.png) no-repeat;
	
	line-height: 1.0;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
}
.resort-mice-karuizawa > a:hover {
	opacity: 0.9;
}



/*---------- section#memorials ----------*/

section#memorials {}

section#memorials > .plan-list {
	padding: 0;
	font-size: 0;
	list-style: none;
/* 	overflow: hidden; */
	margin: -22px auto 60px;
}
.plan-list > li {
	background-color: #fff;
	display: inline-block;
/* 	float: left; */
	font-size: 10px;
	line-height: 1.0;
	width: 470px;
	height: 130px;
}
.plan-list > li > div { width: 100%; height: 100%; }

.plan-list > li a:hover {
	opacity: 0.8;
}
.plan-list > li a {
	display: block;
	width: 100%; height: 100%;
	background-repeat: no-repeat;
	
	line-height: 1.0;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
}
.plan-list > li + li { margin-left: 20px; }

.plan-list > li.g7menu a {
	background-image: url(../imgs/banner-party.png);
}
.plan-list > li.gift7 a {
	background-image: url(../imgs/banner-wedding.png);
}



/*---------- nav.hotels-nav ----------*/

nav.hotels-nav {
	margin: 60px auto 0;
	padding: 0 0 60px 0;
	width: 100%;
	text-align: center;
}

nav.hotels-nav > ul {
	width: auto;
	margin: 0 auto;
	padding: 0;
	font-size: 0;
}

nav.hotels-nav > ul > li {
	font-size: 16px;
	line-height: 1.0;
	display: inline-block;
}
nav.hotels-nav > ul > li + li:before {
	content: "\00a0|\00a0";
}