/* ----------| =Initial Page Structure |---------- */ 

* { 
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	list-style: none;
	}
html {
	font: small/1.4em Arial, Helvetica, Sans-serif;
	color: #fff;
	background: #000;
	}
body { 
	position: relative;
	font-size: .95em;
	width: 916px;
	margin: 0 auto;
	background: transparent;
	}
#header { 
	position: relative;
	z-index: 3000;
	height: 149px;
	background: transparent url(../images/layout/header/header-bg.gif) no-repeat left bottom;
	}
#upper { 
	position: relative;
	width: 916px;
	z-index: 0;
	}
#content { 
	position: relative;
	clear: both;
	background: #000 url(../images/layout/content/full-grid-bg-lower.gif) no-repeat left top;
	color: #ced0d0;
	z-index: 0;
	}
.sub #content { 
	background: #e5e5e5 url(../images/layout/content/sub-bg.gif) no-repeat left bottom;
	color: #323232;
	padding: 25px 25px 10px 25px;
	line-height: 1.7;
}
.home #intro * { 
	vertical-align: top; 
	padding: 0;
	}
.home #intro { 
	position: relative;
	z-index: 0;
	margin-bottom: 12px;
	margin-top: -1px;
	}
#footer { 
	color: #aaa;
	padding: 5px 20px;
	line-height: 1em;
	}
.sub#news #footer { 
	position: relative;
	margin-top: -6px;
	padding-top: 10px;
	background: transparent url(../images/layout/content/sub-alt-bg.gif) no-repeat left top;
	}

/* ----------| =Basic Element Styles |---------- */ 

h1, h2, h3, h4, h5, h6 { 
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Sans-serif;
	background: transparent;
	}
h1, h2, h3 { 
	font-size: 1.6em;
	}
h4, h5, h6 { 
	font-size: 1.4em;
	}
p { 
	padding-bottom: 1.2em;
	}
.spacer { 
	margin-top: 15px;
	}
.nospace { 
	margin-bottom: 0;
	padding-bottom: 0;
	}
input { 
	padding: 2px;
	border: 1px solid #cecece;
	}
input[type="image"], 
input.submit { 
	border: 0;
	padding: 0;
	background: transparent;
	width: auto;
	}
input,
textarea,
select {
	font: 1em/1.4em "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Sans-serif;
	}
textarea,
select {
	border: 1px solid #cecece;
	padding: 2px;
	}
img,
a img { 
	border: 0;
	} 
a { 
	color: #eee;
	text-decoration: none;
	}
a:visited { 
	color: #ddd;
	text-decoration: none;
	}
a:hover { 
	color: #ebf7fe;
	text-decoration: underline;
	}
.sub #content a { 
	color: #BF0B0B;
	}
.sub #content a:hover { 
	color: #527185;
	}
a.hover-box img.hover { 
	display: none;
	}
a.hover-box { 
	position: relative;
	float: left;
	display: block;
	}
a.hover-box:hover { 
	display: block; 
	font-size: 100%; 
	z-index: 1; 
	}
a.hover-box:hover img.hover, a.hover-box img.hover-active { 
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1000;
	}

/* ----------| =Utilities |---------- */ 

.left { 
	float: left;
	position: relative;
	margin: 5px 15px 5px 0;
	}
.right { 
	float: right;
	position: relative;
	margin: 5px 0 5px 10px;
	}
.border { 
	border: 1px solid #ccc;
	padding: 1px;
	}
.clear {
	clear: both;
	}
.clear-left { 
	clear: left;
	}
.clear-right { 
	clear: right;
	}
.clear-none { 
	clear: none;
	}
.autoclear:after { 
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden; 
	}
.autoclear { 
	display: inline-block;
	}
.autoclear { 
	display: block;
	}

/* ----------| =Layout and Function |---------- */ 

	/* ----------| =Header |---------- */ 

#header strong { 
	float: left;
	width: 217px;
	height: 47px;
	text-indent: -9999px;
	margin: 46px 0 0 0;
	padding-left: 4px;
	background: transparent url(../images/layout/title.gif) no-repeat right bottom;
	}
#header strong a { 
	display: block;
	width: 100%;
	height: 100%;
	}

		/* ----------| =Top Navigation |---------- */ 
		
#header #top-nav {
	float: right;
	position: relative;
	width: 254px;
	padding: 3px 10px 5px 10px;
	background: url(../images/layout/header/page-select-bg.gif) no-repeat left bottom;
	}
#header #top-nav h4 {
	font-size: 1em;
	font-weight: bold;
	padding: 0 0 5px 0;
	margin: 0 0 3px 0;
	background: url(../images/layout/border-light-horizontal.gif) repeat-x left bottom;
	color: #ccc;
	}
#header #top-nav ul li {
	float: left;
	}
#header #top-nav ul li a {
	background: url(../images/icons/bullet-arrow.gif) no-repeat 88% 50%;
	padding-right: 18px;
	text-decoration: none;
	font-size: .9em;
	color: #aaa;
	}
#header #top-nav ul li a span {
	display: none;
	}
#header #top-nav ul li a:hover span {
	position: absolute;
	bottom: -21px;
	left: 12px;
	width: 252px;
	line-height: 1em;
	text-align: center;
	font-size: 1.1em;
	position: absolute;
	display: block;
	height: 18px;
	padding: 4px 0 0 0;
	color: #fefefe;
	background: transparent url(../images/layout/header/page-drop.gif) no-repeat bottom left;
	}

		/* ----------| =Navigation |---------- */ 

#header ul#nav { 
	width: 904px;
	position: absolute;
	left: 12px;
	bottom: 0;
	z-index: 3000;
	}
#header ul#nav li { 
	position: relative;
	float: left;
	background: transparent;
	border-right: 1px solid #ac3939;
	border-left: 1px solid #7b0707;
	font-size: 11px;
	}
#header ul#nav li.first { 
	border-left: 0;
	}
#header ul#nav li a { 
	display: block;
	padding: 13px 12px 11px 14px;
	background: transparent;
	font: 1em "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
	text-decoration: none;
	color: #fefefe;
	line-height: 1em;
	} 
#header ul#nav li a span { 
	background: url(../images/icons/down-arrow.gif) no-repeat 100% 50%;
	padding-right: 14px;
	}
#header ul#nav li a:hover, 
#header ul#nav li.active a { 
	background: #560303;
	}

/* ----------| =Navigation (Drop Down) |---------- */ 

#header ul#nav li ul { 
	display: block;
	position: absolute;
	left: -999em;
	width: 138px;
	background: #3189bc url(../images/layout/navigation/drop-down.gif) repeat-x left top;
	border-bottom: 3px solid #5b5858;
	padding: 3px 0;
	}
#header ul#nav li:hover ul, 
#header ul#nav li.over ul /* used to target IE via script */ { 
	display: block;
	width: 138px;
	left: 0;
	top: 100%;
	position: absolute;
	z-index: 4000;
	margin: 0;
	}
#header ul#nav li ul li { 
	width: 126px;
	background: transparent;
	text-indent: 0;
	padding: 0 6px;
	height: auto;
	border: 0;
	}
#header ul#nav li:hover ul li a, 
#header ul#nav li.over ul li a { 
	display: block;
	background: transparent;
	padding: 5px 6px 6px 6px;
	height: auto;
	text-decoration: none;
	margin: 0;
	color: #fefefe;
	text-indent: 0;
	text-align: left;
	font-size: 10px;
	line-height: 1.5em;
}
#header ul#nav li ul li a:hover { 
	color: #fff;
	background: #515151;
	}
#header ul#nav li a:hover, 
#header ul#nav li:hover a, 
#header ul#nav li.over a { 
	background: #560303;
	}

	/* ----------| =Content |---------- */ 

.home #content h2 { 
	text-transform: uppercase;
	font-size: 1.2em;
	padding: 0 0 7px 0;
	margin: 0 0 15px 0;
	color: #fff;
	font-weight: normal;
	}
.sub #content h1 { 
	position: relative;
	margin: -25px -25px 25px -25px;
	padding: 12px 25px;
	font-size: 1.3em;
	color: #fff;
	background: #2d2d2d url(../images/layout/content/page-title-bg.gif) repeat-x left top;
	}
.sub #content h1 span { 
	position: absolute;
	display: block;
	text-indent: -9999px;
	background: url(../images/layout/content/page-title-arrow.gif) no-repeat left top;
	width: 21px;
	height: 10px;
	bottom: -10px;
	left: 25px;
	z-index: 1000;
	}
.sub #content h2, 
.sub #content h3 { 
	font-size: 1.3em;
	color: #a60909;
	padding: 0 0 10px 0;
	margin: 10px 0 0;
	}
.sub #content h3 { 
	font-size: 1.2em;
	color: #707070;
	}
.sub #content blockquote { 
	padding-left: 20px;
	}
.sub #content #main ul { 
	padding: 0 0 15px 20px;
	}
.sub #content #main ul li { 
	background: url(../images/icons/square-bullet.gif) no-repeat 0 6px;
	padding-left: 13px;
	padding-bottom: 5px;
	}
.sub #content #main ul li ul { 
	padding-top: 5px;
	}
.sub #content #main ul li ul li { 
	background: url(../images/icons/triangle-bullet.gif) no-repeat 0 6px;
	}
.sub #content #main ol { 
	padding: 0 0 15px 40px;
	list-style-type: decimal;
	}
.sub #content #main ol li { 
	padding: 0 0 5px 0;
	list-style-type: decimal;
	margin: 0;
	}
.sub #content #sidebar { 
	float: right;
	position: relative;
	width: 279px;
	padding-bottom: 15px;
	}
.sub #content #sidebar select { 
	width: 277px;
	margin-bottom: 15px;
	background: #a20909;
	color: #fff;
	border: 1px solid #fff;
	}
.sub #content #main { 
	position: relative;
	width: 560px;
	float: left;
	}
.sub #content #google-map { 
	border: 1px solid #aaa;
	float: left;
	line-height: 1em;
	padding: 2px 2px 0 2px;
	background: #fff;
	vertical-align: bottom;
	}

.home #content .grid { 
	position: relative;
	float: left;
	width: 266px;
	padding: 10px 28px 15px 15px;
	}
#content a.rss { 
	display: block;
	float: right;
	width: 16px;
	height: 16px;
	background: url(../images/icons/rss-gray.gif) no-repeat;
	text-indent: -9999px;
	}

#content #news ul { 
	margin-top: -3px;
	}
.sub #content #news { 
	position: relative;
	background: url(../images/layout/content/sidebar/news-bg.gif) no-repeat left top;
	margin-bottom: 15px;
	border-bottom: 1px solid #b3b3b3;
	padding: 10px;
	}
.sub #content #news ul { 
	margin: 10px 0 0 0;
	}
.sub #content #news h3 { 
	font-size: 1.2em;
	font-weight: normal;
	padding: 6px 10px 6px 15px;
	background: #727272 url(../images/layout/content/sidebar/news-title-bg.gif) no-repeat left top;
	margin-left: -7px;
	margin-top: -7px;
	width: 248px;
	line-height: 1em;
	color: #fff;
	}
#content #news ul li { 
	background: url(../images/layout/border-light-horizontal.gif) repeat-x left bottom;
	padding-bottom: 1px;
	display: block;
	float: none;
	}
#content #news ul li a { 
	display: block;
	padding: 9px 10px 9px 19px;
	background: url(../images/icons/bullet-arrow.gif) no-repeat 8px 15px;
	text-decoration: none;
	color: #afafaf;
	}
.sub #content #news ul li a { 
	color: #555;
	background: transparent;
	padding: 8px 10px;
	}
.sub #content #news ul li:last-child, 
.sub #content #news ul li.last { 
	background: transparent;
/* 	text-align: right; */
	}
.sub #content #news ul li.image { 
	background: transparent;
	padding: 10px 0 0;
 	text-align: center;
	}
.sub #content #news ul li.last a { 
	padding: 8px 10px 0 10px;
	background: transparent;
	}
.sub #content #news ul li.last a:hover { 
	background: transparent;
	text-decoration: underline;
	}
#content #news ul li a:hover { 
	background: #312d2d url(../images/icons/bullet-arrow.gif) no-repeat 8px 15px;
	}
.sub #content #news ul li a:hover { 
	color: #555;
	background: #e2e2e2;
	}
#content #news p { 
	padding: 15px 0 0 0;
	float: right;
	}

.home #content .grid#selections h2 { 
	font-size: 1.6em;
	line-height: 1.3em;
	font-weight: bold;
	text-transform: none;
	padding: 0;
	margin: 0 0 25px;
	color: #999;
	}
.home #content .grid#selections h3 { 
	font-size: 1.2em;
	line-height: 1.3em;
	font-weight: bold;
	text-transform: none;
	padding: 0;
	margin: 15px 0 5px;
	color: #aaa;
	}
.home #content .grid#selections p { 
	width: 415px;
	color: #222;
	font-size: .9em;
	padding: 0;
	margin: 0 0 1em;
	}
.home #content .grid#selections p.full { 
	width: 555px;
	}
.home #content .grid#selections a { 
	color: #BF0B0B;
	}
.home #content .grid#selections a:hover { 
	color: #527185;
	}

.home #content img.shoichiro { 
	position: absolute;
	right: 0;
	bottom: 0;
	}

/* ---------| =Footer |---------- */ 
	
#footer * { 
/* 	vertical-align: middle; */
	}	
#footer p {
	padding: 20px 0;
	line-height: 1em;
	} 
#footer p span {
	display: block;
	float: right;
	text-align: right;
	padding: 0 0 3px 0;
	}
#footer a { 
	color: #ccc;
	text-decoration: none;
	padding: 0 5px;
	}
#footer a:hover { 
	color: #fff;
	}

/* Ticket Form */
/* ----------------------------------------------------- */
form#ticketform {
	margin: 0px 0px 20px;
	border: 1px solid #aaa;
	padding: 10px 20px 20px;
	background: #efefef;
	}
form#ticketform label.block {
	display: block;
	padding-bottom: 6px;
	padding-top: 9px;
	color: #111;
	font-weight: bold;
	}
form#ticketform label strong {
	font-size: 94%;
	color: #f00;
	font-weight: normal;
	}
form#ticketform label span {
	font-size: 90%;
	color: #666;
	font-weight: normal;
	}
form#ticketform input#name,
form#ticketform input#kana {
	width: 200px;
	}
form#ticketform input#address {
	width: 450px;
	}
form#ticketform textarea#comment {
	width: 450px;
	}

/* Table (Confirm) */
/* ----------------------------------------------------- */
table.confirm {
	border-width: 0;
	border-spacing: 0;
	border-collapse: collapse;
	empty-cells: show;
	border-top: 1px solid #bbb;
	border-left: 1px solid #bbb;
	margin: 1em 0;
	}
table.confirm caption {
	padding: 0 0 3px;
	color: #2765AC;
	text-align: left;
	font-size: 120%;
	font-weight: bold;
	}
table.confirm th,
table.confirm td {
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	padding: 2px 6px;
	vertical-align: top;
	}
table.confirm th {
	font-weight: bold;
	text-align: left;
	background: #e5e5e5;
	white-space: nowrap; 
	}
table.confirm td {
	text-align: left;
	background: #fff;
	}
table.confirm td p {
	margin: 0 0 1em;
	}

