@charset "Shift_JIS";

/* ---------------
 common
--------------- */
html {
	overflow-y: scroll;
}
body {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: 0.1em;
	background: #FFFFFF;
	color: #444444;
	font-size: 10px;
*font-size: small;
*font: x-small;
	line-height: 1.6;
	background-color: #F0F0F0;
	background-image: url("../img/bg_01.jpg");
	background-repeat: repeat-x;
}
	* html body {
	  font-size: 62.5%;
	}/* = for IE6 */
	*:first-child+html body {
	  font-size: 62.5%;
	}/* = for IE7 */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td	{
	margin: 0; padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
}
table	{
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
	font: 100%;
}
caption, th	{
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
img {
	border: 0;
}
li	{
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
}

/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac */
* html .clearfix {height: 1%; }
.clearfix {display: block; }
/* End from IE-mac */

.clear {
	clear: both;
	display: block;
	margin: 0;
	padding: 0;
	height: 0;
	line-height: 1px;
	font-size: 1px;
}

/* link */
a:link	{
	text-decoration: underline;
	color: #3ebcef;
}

a:visited	{
	text-decoration: underline;
	color: #228cb7;
}

a:hover	{
	text-decoration: underline;
	color: #444444;
}

a.imgAlpha:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
}

.mt80{margin-top: 80px;}


/* ---------------
 header
--------------- */
#header {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 5px;
	margin-bottom: 3px;
}
#logo {
	float: left;
	margin: 0;
	padding: 0;
}
#contact {
	float: right;
	width: 260px;
	height: 45px;
}

/* ---------------
 gnavi
--------------- */
#gnavi {
	width: 800px;
	height: 41px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5px;
}
#gnavi ul li {
	float: left;
	position: relative;
}
#gnavi ul li#gn-index {
	width: 110px;
}
#gnavi ul li#gn-service {
	width: 119px;
}
#gnavi ul li#gn-service_sub {
	width: 140px;
}
#gnavi ul li#gn-about {
	width: 141px;
}
#gnavi ul li#gn-access {
	width: 132px;
}
#gnavi ul li#gn-policy {
	width: 158px;
}
#gnavi ul li a {
	display: block;
	height: 41px;
	text-indent: -5000px;
}
#gnavi ul li a:hover {
	background-position: 0px -41px;
}
#gnavi ul li.selected a {
	background-position: 0px -82px;
}

#gnavi ul li#gn-index a {
	background-image: url("../img/gnavi_01.jpg");
}
#gnavi ul li#gn-service a {
	background-image: url("../img/gnavi_02.jpg");
}
#gnavi ul li#gn-service_sub a {
	background-image: url("../img/gnavi_03.jpg");
}
#gnavi ul li#gn-about a {
	background-image: url("../img/gnavi_04.jpg");
}
#gnavi ul li#gn-access a {
	background-image: url("../img/gnavi_05.jpg");
}
#gnavi ul li#gn-policy a {
	background-image: url("../img/gnavi_06.jpg");
}
#index #gnavi #gn-index a,
#service #gnavi #gn-service a,
#service_sub #gnavi #gn-service_sub a,
#about #gnavi #gn-about a,
#access #gnavi #gn-access a,
#policy #gnavi #gn-policy a {
	background-position: 0px -82px;
}

/* ---------------
 main_img
--------------- */
#main_img {
	background: none;
	clear: left;
	width: 800px;
	height: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

/* ---------------
 contents
--------------- */

/* contents wrap */
#contents {
	clear: both;
	position: relative;
	width: 810px;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
}
#contents-header {
	background-image: url("../img/bg_02.gif");
	background-repeat: no-repeat;
	height: 20px;
	width: 810px;
	z-index: 0;
}
#contents-body {
	padding-right: 20px;
	padding-left: 20px;
	background-image: url("../img/bg_03.gif");
	background-repeat: repeat-y;
}
*html #contents-body {
	height: 1%;
}
#contents-footer {
	background-image: url("../img/bg_04.gif");
	background-repeat: no-repeat;
	height: 20px;
	width: 810px;
	background-color: #F0F0F0;
	clear: both;
}

/* pankuzu */
#pankuzu {
	font-size: 110%;
	margin-bottom: 20px;
	background: #f7f7f7;
	padding: 1px 0 1px 10px;
	display: block;
}

/* main_contents - common */
#main_contents h2 {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/h2_bg_btm.gif") no-repeat scroll left bottom;
	font-size: 150%;
	font-weight: bold;
	margin: 0 0 10px 0;
	padding: 0 0 11px;
	width: 540px;
	clear: both;
}
#main_contents h2 span {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/h2_bg_top.gif") no-repeat scroll left top;
	display: block;
	margin: 0;
	padding: 6px 20px 0;
}
#main_contents h3 {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/dotline_blu.gif") repeat-x scroll bottom;
	font-size: 140%;
	font-weight: bold;
	margin: 10px 0 11px;
	padding: 0 0 5px;
	width: 540px;
	clear: both;
}
#main_contents h3 span {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/h3_bg_left.gif") no-repeat scroll 7px 5px;
	display: block;
	padding: 4px 0 0 19px;
}
#main_contents h4 {
	font-size: 130%;
	font-weight: bold;
	padding: 0 5px 0 10px;
	margin-bottom: 1em;
	clear: both;
}
#main_contents p {
	font-size: 120%;
	padding: 0 5px 0 10px;
	clear: both;
}

/* left_navi */
#left_navi {
	width: 180px;
	font-size: 120%;
}
#left_navi a {
	text-decoration: none;
}
#left_navi dl {
	margin: 0 0 40px 0;
}

#left_navi dl dt {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/dt_bg_btm.gif") no-repeat scroll left bottom;
	font-weight: bold;
	padding: 0 0 7px;
	margin: 0 0 5px 0;
	width: 180px;
	line-height: 1.0;
	color: #ffffff;
	letter-spacing: 0.2em;
}
#left_navi dl dt span {
	-moz-background-clip: border;
	-moz-background-inline-policy: continuous;
	-moz-background-origin: padding;
	background: transparent url("../img/dt_bg_top.gif") no-repeat scroll left top;
	display: block;
	padding: 7px 0 0 25px;
}
#left_navi dl dt span a {
	color: #ffffff;
	text-decoration: underline;
	display: block;
}

#left_navi dl dd, #left_navi ul li {
	padding: 5px 0 5px 5px;
	margin: 0 3px;
	background: transparent url("../img/dotline_gry.gif") repeat-x scroll bottom;
}
#left_navi dl dd.last {
	background-image: none !important;
}
#left_navi dl dd a, #left_navi ul li a {
	display: block;
}


/* ---------------
 footer
--------------- */
#footer {
	border-top: 3px solid #FFFFFF;
	background-color: #2F2F2F;
	margin-top: 15px;
	color: #888888;
	text-shadow: 1px 1px #292929;
	font-size: 100%;
}

#footer_wrap {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 10px;
}

/* link */
#footer a {
	color: #888888;
	text-decoration: none;
}
#footer a:hover {
	color: #3ebcef;
}

/* footer - page_top */
#footer .page_top {
	float: right;
	margin: 0 5px 10px auto;
}
#footer .page_top a {
	margin: 0;
	display: block;
	font-size: 10px;
	letter-spacing: normal;
	background-color: #1c1c1c;
	padding: 5px 10px;
}
#footer .page_top a:hover {
	background-color: #101010;
}

/* foot_navi */
#foot_navi {
	clear: right;
}
#foot_navi li {
	float: left;
	padding: 0 5px 0 5px;
	border-right: 1px solid #444444;
}
#foot_navi li.last {
	border-right: 0;
}

/* h3 */
#footer h3 {
	font-size: 100%;
	clear: left;
	padding: 5px 0 0 5px;
}


