/* CSS Document */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
legend,
pre,
blockquote {
	margin: 0px;
	padding: 0px;
}

body {
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	color: #333333;
	background-color: #ffffff;
	font-family: "ＭＳ Ｐゴシック", Osaka, sans-serif;
}

h1 {
	margin: 0;
	padding: 5px 5px 3px 5px;
	width: 847px;
	font-size: 12px;
	text-align: left;
	border-left: 10px solid #02C18E;
	border-top: 1px solid #FFFFFF;
	background-color: #D9D4D0;
}

h2 {
	margin: 0p;
	padding: 0px;
}

h3 {
	margin: 0p;
	padding: 0px;
}

h4 {
	margin: 0p;
	padding: 30px 0 0 0;
}

ul,
li {
	list-style: none;
}

ol li {
	list-style: decimal;
}

td,
th {
	vertical-align: top;
}

img {
	margin: 0px;
	padding: 0px;
	border: 0px;
}

a,
a:link,
a:visited {
	color: #145F48;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #003399;
	text-decoration: none;
}

/* layout */

#wrapper {
	background: url(../img/main_bg.gif) left top repeat-x;
	background-color: #ffffff;
	width: 100%;
}

#main_bg {
	background: url(../img/main_bg2.gif) left top repeat-y;
	width: 910px;
	margin: 0 auto;
}

#main {
	background: url(../img/main_bg3.gif) left top no-repeat;
	width: 868px;
	padding: 0 20px 0 22px;
}

/* header */
#header {
	width: 867px;
	height: 60px;
	background-color: #145F48;
}

#header .h_left {
	float: left;
	width: 621px;
}

#header .h_right {
	float: left;
	width: 246px;
}

/* lower */

#contents {
	clear: both;
	width: 867px;
	background: url(../img/contents_bg01.gif) left bottom repeat-x;
	padding: 0 0 100px 0;
}

#leftside {
	float: left;
	width: 121px;
	padding: 0 11px 0 0;
	text-align: left;
}

#rightside {
	float: right;
	/* ???? */
	width: 719px;
	padding: 0 16px 0 0;
	text-align: left;
}

/* footer */

#footer {
	width: 867px;
	background-color: #C2C2C2;
	text-align: center;
	padding: 15px 0;
	line-height: 1.5em;
}

#footer a,
#footer a:link,
#footer a:visited {
	color: #333333;
	text-decoration: none;
}

#footer a:hover,
#footer a:active {
	color: #145F48;
	text-decoration: underline;
}

.page_top {
	text-align: right;
	padding: 15px 0 0 0;
}

/* navi */

#navi ul {
	list-style-type: none;
	height: 41px;
	width: 868px;
}

#navi li {
	float: left;
}

#navi li img,
#navi li a img {
	vertical-align: top;
}

#leftside ul {
	list-style-type: none;
}

#leftside li img,
#leftside li a img {
	vertical-align: top;
	margin-bottom: 5px;
}

/* reset */

.clear {
	clear: both;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
}

/* margin */
.mt15 {
	margin: 15px 0 0 0;
}

.mb40 {
	margin: 0 0 40px 0;
}

.ml15 {
	margin: 0 0 0 15px;
}