@charset "UTF-8";

/* =reset */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td{margin:0;padding:0; }
address, caption, cite, code, dfn, em, th, var{font-style:normal; font-weight:normal; }
table { border-collapse:collapse; border-spacing:0; table-layout:auto; }
hr {margin:0; padding:0; width:0; height:1px; clear:both; visibility:hidden; }
h1,h2,h3,h4,h5,h6,p { font-size:100%; }
q:before, q:after { content :''; }
caption,th{ text-align:left; }
ol, ul{ list-style:none; }
fieldset,img{ border:0; }

/* =links */
a{
	overflow: hidden; 
}
a:link {
	color:#33f;
	text-decoration:underline;
	}
a:visited {
	color:#939;
	text-decoration:none;
	}
a:hover {
	color:#00f;
	text-decoration: underline;
	}
a:active {
	color:#f33;
	text-decoration: underline;
}


#loading{
	position: relative; 
	display: block; 
	color: #666; z-index:1;
	}

/* =basic */
p{
	margin: 1.5em 1em 1.5em 2em;
	line-height: 1.6em; 
	}
em{
	font-weight: bold; 
	}
ul.list{
	margin: 1.4em;
	}
ul.list li{
	margin: 1.5em 0.5em; 
	padding-left:20px; 
	line-height:1.4em;  
	background: url(/img/layout/li.png) 4px 4px no-repeat; 
	}
ul.list li ul li,
ol.list li ul li{
	margin: 1em;
	list-style: circle; 
	background: none; 
	padding-left:0;
	}
ol.list{
	margin-left:30px; 
	list-style-type: decimal;
	line-height:1.5em;  
	}
ol.list li{
	margin:1.4em; 
	}
ol.list ol.list{
	margin: 2em;
	}
ol.list ol.list li{
	margin: 0.5em;
	}

p.lead{
	color:#3387cc; 
	font-weight: bold; 
	}
p.signature,
p.cite,
p.notes{
	text-align: right; 
	}
p.alert{
	text-align: center; 
	color:#f33; 
	}
p.notes{
	line-height: 1.5em; 
	font-size:0.8em; 
	color:#666; 
	}
p.more,
p.detail,
p.all{
	position: relative; 
	display: block; 
	height: 30px; 
	margin:0; 
	text-align: right; 
	}
p.more a,
p.detail a,
p.all a{
	position: absolute;
	right: 0; 
	top:0; 
	display: block; 
	width:350px; 
	height: 25px; 
	margin:0; 
	padding-right: 30px; 
	font-size: 0.9em; 
	background:url(/img/layout/nav_local.png) right -9px no-repeat;
	}
p.detail{
	height:50px; 
	}
p.detail a{
	width:130px; 
	height:36px; 
	padding: 0;
	text-align: left; 
	text-indent: -9999px;
	background:url(/img/layout/button.png) right -58px no-repeat;
	}
p.detail a:hover{
	background-position: right -108px; 
	}
p.detail a:active{
	background-position: right -107px; 
	}
p.all a{
	width:130px; 
	height:36px; 
	padding: 0;
	text-align: left; 
	text-indent: -9999px;
	background:url(/img/layout/button.png) right -158px no-repeat;
	}
p.all a:hover{
	background-position: right -208px; 
	}
p.all a:active{
	background-position: right -207px; 
	}


p img{
	vertical-align:middle; 
	}
table{
	margin:20px 0 20px 20px; 
	width:578px; 
	}
	
td,th{
	padding:0.5em 1em; 
	vertical-align: top; 
	border: solid 1px #ccc; 
	font-size:0.95em; 
	}
table ul{
	margin-left: 15px; 
	list-style: disc; 
	}
table ul li{
	margin:5px; 
	}
table ul ul{
	margin-left: 20px; 
	padding-left:10px; 
	list-style: circle; 
	}
table ul ul li{
	font-size:0.9em; 
	}

/* = for topup plugin */
#top_up table,
#top_up table th,
#top_up table td{
	margin: 0;
	padding: 0; 
	border:none; 
	}

.col{
	margin: 10px 0 10px 20px;
	border:solid 1px #aaa;
	background: #f3f9ff; 
	}

/* =basic layout */

html,body{
	position:relative; 
	width: 100%;
	height: 100%;
	text-align:center; 
	font-family: "メイリオ","Meiryo",'ヒラギノ角ゴ Pro W3','Osaka','ＭＳ Ｐゴシック',sans-serif;
	background:#f3f3f3; 
	background:url(/img/layout/body.png) center top repeat-y #f3f3f3; 
	}
html{
	margin:0 auto; 
	padding:0;
	font:86%/1.5 sans-serif; 
	color:#000; 
	}
#wrapOut,
#wrapIn{
	display: block; 
	width:960px;
	height:100%;
	}
#wrapOut{
	margin:0 auto; 
	}
#wrapIn{
	margin:0; 
	background:url(/img/layout/body.png) center top repeat-y #f3f3f3; 
	}

#header,
#branding,
#nav_main,
#body,
#footer{
	position:relative; 
	display: block; 
	margin:0 auto; 
	padding:0;
	width:960px; 
	}
#header{
	height:180px;z-index:1; 
	}
#header #branding{
	height:74px; 
	background:url(/img/layout/header.png) center top no-repeat;
	}
#header #branding a{
	position:absolute; 
	top:15px; 
	left:30px; 
	display: block; 
	width:150px; 
	height:50px; 
	margin:0; 
	padding:0;
	text-indent: -9999px; 
	}
#nav_main{
	height:55px; 
	margin:0;
	background:url(/img/layout/header.png) center -75px no-repeat;
	}
#nav_main li{
	position: absolute; 
	top:0; 
	margin: 0; 
	padding: 0; 
	}
#nav_main li#nav_index	{left:30px; }
#nav_main li#nav_topics	{left:180px; }
#nav_main li#nav_about	{left:330px; }
#nav_main li#nav_business	{left:480px; }
#nav_main li#nav_results	{left:630px; }
#nav_main li#nav_contact	{left:780px; }


#nav_main li a,
#nav_main li a .hover{
	display: block; 
	width:150px; 
	height:55px; 
	background:url(/img/layout/header.png) center -75px no-repeat; 
	text-indent: -9999px; 
	cursor: pointer;
	}
#nav_main li a .hover{
	position: absolute; 
	top:0; 
	left: 0;
	}

#nav_main li#nav_index a		{background-position: -30px -75px; }
#nav_main li#nav_topics a		{background-position: -180px -75px; }
#nav_main li#nav_about a		{background-position: -330px -75px; }
#nav_main li#nav_business a		{background-position: -480px -75px; }
#nav_main li#nav_results a		{background-position: -630px -75px; }
#nav_main li#nav_contact a		{background-position: -780px -75px; }

#nav_main li#nav_index a .hover	{background-position: -30px -135px; }
#nav_main li#nav_topics a .hover{background-position: -180px -135px; }
#nav_main li#nav_about a .hover	{background-position: -330px -135px; }
#nav_main li#nav_business a .hover{background-position: -480px -135px; }
#nav_main li#nav_results a .hover{background-position: -630px -135px; }
#nav_main li#nav_contact a .hover{background-position: -780px -135px; }

#nav_main li#nav_index a.active	{background-position: -30px -195px; }
#nav_main li#nav_topics a.active{background-position: -180px -195px; }
#nav_main li#nav_about a.active	{background-position: -330px -195px; }
#nav_main li#nav_business a.active{background-position: -480px -195px; }
#nav_main li#nav_results a.active{background-position: -630px -195px; }
#nav_main li#nav_contact a.active{background-position: -780px -195px; }

#nav_main li#nav_index a:active	{background-position: -30px -195px; }
#nav_main li#nav_topics a:active{background-position: -180px -195px; }
#nav_main li#nav_about a:active	{background-position: -330px -195px; }
#nav_main li#nav_business a:active{background-position: -480px -195px; }
#nav_main li#nav_results a:active{background-position: -630px -195px; }
#nav_main li#nav_contact a:active{background-position: -780px -195px; }

h1,
#breadcrumb{
	position: absolute; 
	top:135px; 
	left:30px ; 
	display: block; 
	height: 30px; 
	margin:0; 
	padding:0; 
	text-align: left; 
	}
h1,
h1 a{
	width:300px; 
	height:30px; 
	}
h1{
	left:630px ; 
	}
h1 a{
	display: block; 
	background: url(/img/layout/h1.png) right -15px no-repeat; 
	text-indent: -9999px; 
	}
#about h1 a{background-position: right -65px; }
#business h1 a{background-position: right -115px; }
#results h1 a{background-position: right -165px; }
#contact h1 a{background-position: right -215px; }
#privacy h1 a{background-position: right -265px; }
#sitemap h1 a{background-position: right -315px; }
#error h1 a{background-position: right -365px; }
#infobox h1 a{background-position: right -410px; }
#infobox h1,
#infobox h1 a{
	height: 80px;
	}

#breadcrumb{
	width: 600px; 
	}
	
#breadcrumb li{
	display: inline;
	height: 30px; 
	margin:0; 
	font-size:.7em; 
	}
#breadcrumb li a,
#breadcrumb li a:visited{
	margin:0;  
	padding:2px 0 0 20px; 
	color:#111; 
	text-decoration: none; 
	background: url(/img/layout/breadcrumb.png) left 0 no-repeat; 
	}
#breadcrumb li.home a{
	padding-left:0; 
	background:none;
	}
#body{ 
	width:900px; 
	text-align: left;
	font-size:.93em; 
	}
p.pagetop{
	clear: both; 
	position: relative; 
	display: block; 
	width:900px; 
	height:50px; 
	margin:0; 
	z-index: 20; 
	}
p.pagetop a{
	position:absolute; 
	right:0; 
	top:20px; 
	display: block; 
	width:150px; 
	height:25px; 
	background: url(/img/layout/button.png) right top no-repeat;
	text-indent: -9999px; 
	z-index: 50; 
	}
p.pagetop a:hover{
	background-position:right -25px;
	}
#footer{
	margin:0 0 50px 0;
	height:170px; 
	background:url(/img/layout/footer.png) center bottom no-repeat;
	}
#footer ul,
#footer ul li{
	display: inline; 
	}

#footer ul{
	position: absolute; 
	top:37px; 
	left:150px; 
	font-size:0.8em; 
	}
#footer ul li{
	padding: 0 10px; 
	}
#footer ul li a,
#footer ul li a:visited{
	text-decoration: none; 
	color: #111; 
	}

#footer #copyright,
#footer #copyright a{
	display: block; 
	width: 280px;
	height: 20px; 
	}
#footer #copyright{
	position:absolute; 
	top:10px; 
	right:-20px; 
	}
#footer #copyright a{
	text-indent:-9999px; 
	}
#footer #privacymark{
		display:block;
		position:absolute;
		top:70px;
		left:40px;
		margin:0;
		padding: 0;
	}

#body,
#footer{
	display:none; 
	}

#contents,
#nav{
	position: absolute; 
	top:0; 
	left:0; 
	display: block; 
	margin: 0; 
	padding: 0;
	}
#contents{
	left:300px; 
	width: 600px;
	padding-bottom: 30px;
	}
#nav{
	width: 300px;
	}
#infobox #contents{
	top:50px;
	}



/* =nav_local */
#nav_local{
	width:270px; 
	margin:0 0 20px 0; 
	border-top: solid 1px #bbb;
	}
#nav_local li,
#nav_local li a,
#nav_local li a .hover{
	display: block; 
	width:270px; 
	height:40px; 
	cursor: pointer; 
	}
#nav_local li a,
#nav_local li a .hover{
	position: relative; 
	color:#111; 
	text-decoration: none; 
	vertical-align: middle; 
	font-size:.95em; 
	background: url(/img/layout/nav_local.png) left top no-repeat; 
	}
#nav_local li a:hover{
	color:#000; 
	}
#nav_local li a em{
	position: absolute; 
	top:10px; 
	left:5px; 
	display: block; 
	width:270px;
	font-weight: normal; 
	z-index: 10; 
	}
#nav_local li a .hover{
	background-position: left -40px; 
	}
#nav_local li a:active,
#nav_local li a.active{
	background-position: left -80px; 
	}
#nav_local li a.active em{
	font-weight: bold; 
	color:#17a; 
	}
#nav_local li#local_infobox{
	margin-top: 50px; 
	}
#nav_local li#local_infobox,
#nav_local li#local_infobox a{
	height: 140px; 
	background-position: left -130px; 
	text-indent: -9999px; 
	}
#nav_local li#local_infobox a:hover,
#nav_local li#local_infobox a:active{
	background-position: left -280px; 
	}
#nav_local li#local_contact{
	margin-top: 10px; 
	}
#nav_local li#local_contact,
#nav_local li#local_contact a{
	height: 208px; 
	background-position: left -607px; 
	text-indent: -9999px; 
	}
#nav_local li#local_contact a:hover,
#nav_local li#local_contact a:active{
	background-position: left -828px; 
	}


/* =contents */
h2{
	display: block; 
	margin:0;
	padding:30px 20px; 
	text-align: right; 
	font-size:1.2em;
	border:solid 1px #bbb; 
	}
h3{
	clear: both; 
	display: block; 
	margin:30px 0 10px 0;
	padding:6px 0 10px 0; 
	text-indent: 25px; 
	font-size:1.1em;
	background: url(/img/layout/title.png) left top no-repeat; 
	}
h3 a,
h3 a:visited{
	color:#000;
	text-decoration: none; 
	}
h3 strong{
	color:#f50;
	}
h4{
	display: block; 
	margin:20px 0 0 0;
	padding:0 0 10px 0; 
	text-indent: 25px; 
	background: url(/img/layout/title.png) left -60px no-repeat; 
	}



.contact{
	clear:both; 
	display: block; 
	margin:40px 0 20px 0;
	
	text-align: center; 
	border: solid 1px #ccc; 
	overflow: hidden; 
	}

.contact a{
	display: block; 
	margin:30px 80px; 
	width:440px;
	height:80px; 
	overflow:visible;
	background: url(/img/layout/button.png) 0 0 no-repeat;
	text-indent: -9999px;
	cursor:pointer;
}

.contact a:hover{
	background-position:0 -80px;
}
.contact a:active{
	color:#333;
	background-position:0 -79px;
}

/* =microformat */
address{
	line-height: 1.5em; 
	}
.vcard .type{
	margin-right:8px; 
	}
.vcard .tel em{
	font-weight: normal; 
	}
.vcard .extended-address{
	display: block; 
	}
.vcard .adr,
.vcard .tel,
.vcard .email{
	display: block; 
	margin-left: 30px; 
	}
.vcard .country-name,
.vcard .logo,
.vcard .url{
	display: none; 
	}
p.note_vcard{
	display: block; 
	margin:5px; 
	padding:3px 30px; 
	font-size:.7em; 
	text-align:right; 
	color:#444; 
	background:url(/img/layout/hcard.png) right no-repeat; 
	}
ul.station{
	margin:20px 30px; 
	}
address h3{
	height: 20px; 
	margin-bottom:10px; 
	}
address p.more{
	height: 20px; 
	margin:0; 
	}
iframe.map{
	width:596px;
	height:300px;
	margin:2px; 
	border: solid 1px #aaa; 
	}


/* =screenshot */
#screenshot{
	display:none;
	position:absolute;
	border:1px solid #888;
	background:#07b;
	padding:4px; 
	text-align: center; 
	font-size:0.9em; 
	color:#fff;
	z-index: 50; 
	}
#screenshot img{
	display:block;
	margin: 0 auto; 
	}

/* =si_clear_children */
.clear_children,.cc_tallest{
	position: relative !important;
	}

