@charset "UTF-8";

body {
	margin: 0;
	padding: 0;
	color: #333;
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, "メイリオ", Meiryo, Osaka;
	font-size: 12px;
	line-height: 170%;
	width: 100%;
	background-color: #f4f4f4;
}

.backtotop {
    position: fixed;
    right: 20px;
    bottom: 30px;
    z-index: 9000;
    display: none;
}



header h1,
#header_top,
header nav,
#main_content,
footer > div {
	width: 980px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
#main_content {
	width: 960px !important;
}



/* tag css
================================================== */
table {
	width: 100%;
}
th {
	width: 160px;
	padding: 10px 8px;
	color: #309ED3;
	font-weight: bold;
	text-align: left;
	line-height: 15px;
	border: 1px solid #309ED3;
	vertical-align: top;
	background: #E1F5FF;
	vertical-align: middle;
}
td {
	padding: 8px;
	line-height: 15px;
	border: 1px solid #309ED3;
	background: #fff;
}



/* gp css
================================================== */
.none {display: none !important;}



.post_img_right {
	margin: 0 10px 10px 10px;
	float: right;
}
.post_img_left {
	margin: 0 10px 10px 10px;
	float: left;
}
.photo {
	padding: 2px;
	border: 1px solid #ccc;
}
.photo.bg {
	padding: 3px;
	border: none;
	background-image: url(../images/common/photo_bg.png);
}

/* link color
================================================== */
a,a:visited,a:active {
	color: #007dbb;
	text-decoration: none;
}
a:hover {
	color: #2ba3de;
	text-decoration: underline;
}

footer nav a,
footer nav a:visited {
	color: #fff;
}
footer nav a:hover {
	color: #2ba3de;
	text-decoration: underline;
}


a:hover img,
a.hover img {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

/* clearfix
================================================== */
header:after,
nav ul:after,
#main_content:after,
main:after,
footer:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html header,
* html nav ul,
* html #main_content,
* html main,
* html footer {
	zoom: 1;
}
*:first-child+html header,
*:first-child+html nav ul,
*:first-child+html #main_content,
*:first-child+html main,
*:first-child+html footer {
	zoom: 1;
}

/* header
================================================== */
header {
	width: 100%;
	margin: 0 0 30px;
	background-image: url(../images/common/header_bg.jpg);
	background-color: #fff;
	background-position: center top;
	background-repeat: repeat-x;
}
body.lower header {
	background-image: url(../images/common/header_bg_lower.jpg);
}
header > div {
	width: 980px;
	margin: 0 auto;
}
header h1 {
	margin: 0 0 25px 0;
	line-height: 25px;
	color: #fff;
}


header #header_top {
	height: 75px;
}
header #left {
	margin: 0;
	float: left;
}
header #right {
	width: 480px;
	margin: 0;
	text-align: right;
	float: right;
}



#main_content header {
	width: 720px;
	float: right;
}

/* ----------------------------- */
header #visual {
	width: 100%;
	height: 510px;
	text-align: center;
	clear: both;
	background-repeat: repeat-x;
}
.lower header #visual {
	height: 301px;
	background: none;
	border-top: 4px solid #309ED3;
	border-bottom: 4px solid #309ED3;
}
/* ----------------------------- */
header nav {
	width: 980px;
	height: 50px;
	margin: 0 auto 32px;
	clear: both;
}
header nav ul li {
	width: 196px;
	text-align: center;
	float: left;
}
/* ----------------------------- */
article.news dl {
	width: 100%;
}
article.news dt {
	width: 120px;
	padding: 5px 0 5px 10px;
	float: left;
	clear: both;
	font-weight: bold;
	border-bottom: 1px dotted #ccc;
}
article.news dd {
	margin: 0 0 0 100px;
	padding: 5px 5px 5px 10px;
	border-bottom: 1px dotted #ccc;
}

article.news.stage2 dt {
	width: 100%;
	float: none;
	border: none;
}
article.news.stage2 dd {
	margin: 0;
	padding: 5px 5px 15px 10px;
}
article.news > p {
	margin: 5px 0 0;
	line-height: 30px;
	text-align: right;
}
article.news > p > a {
	padding: 0 0 0 10px;
	background-image: url(../images/icon/icon01.png);
	background-position: left center;
	background-repeat: no-repeat;
}
/* main_content
================================================== */
#main_content {
	width: 980px;
	margin: 0 auto;
}







main h2 {
	display: none;
}
main h3 {
	margin: 0 0 15px;
	background-image: url(../images/icon/icon02.png);
	background-color: #007DBB;
	background-position: 8px center;
	background-repeat: no-repeat;

	line-height: 40px;
	color: #fff;
	border: 1px solid #007DBB;
}
main h3 > span,
main h3 > a {
	display: block;
	margin: 0 0 0 20px;
	padding: 0 8px;
	font-size: 16px;
	background-color: #fff;
	color: #007DBB;
	font-weight: bold;
}
.top main h3 {
	border: none;
	background: none;
	line-height: auto;
}

main h4 {
	margin: 0 0 15px;
	padding: 8px 0;
	background-image: url(../images/common/h4_bg.jpg);
	background-position: left top;
	background-repeat: no-repeat;
}
main h4 > span {
	margin: 0 0 0 3px;
	padding: 0 8px;
	background-image: url(../images/common/h4_icon.png);
	background-position: left center;
	background-repeat: no-repeat;
}

main h5 {
	margin: 0 0 15px;
	padding: 8px 0;
	background-image: url(../images/common/h5_bg.jpg);
	background-position: left top;
	background-repeat: no-repeat;
}
main h5 > span {
	margin: 0 0 0 3px;
	padding: 0 8px;
	background-image: url(../images/common/h5_icon.png);
	background-position: left center;
	background-repeat: no-repeat;
}

main article,
main section {
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
	overflow: hidden;
}
article > div,
section > div {
	margin: 0 10px 10px;
}
main article > img,
main section > img {
	margin: 0 10px 10px 10px;
	float: right;
}



/* ----------------------------- */









/* aside
================================================== */
aside {
	width: 220px;
	margin: 0 0 20px;
	background-image: url(../images/common/aside_body.jpg);
	float: right;
}

aside article {
	margin: 0;
	padding: 0 0 5px;
	background-image: url(../images/common/aside_foot.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
}
aside section {
	margin: 0 14px 10px;
	padding: 0 0 10px;
}



aside h4 {
	margin: 0 0 3px;
	font-size: 15px;
	color: #0088cc;
	font-weight: bold;
}


/* main
================================================== */
main {
	width: 720px;
	float: left;
}


/* footer
================================================== */
footer {
	padding: 15px 0;
	background-color: #007dbb;
	background-image: url(../images/common/footer_bg.jpg);
	background-position: center top;
	background-repeat: repeat-x;
}

footer > div {
	width: 980px;
	margin: 0 auto;
}

footer nav {
	display: block;
	width: 612px;
	padding: 0 4px 25px;
	float: left;
	background-image: url(../images/common/gnav_bg_f.jpg);
	background-position: left top;
	background-repeat: no-repeat;
}
footer nav li {
	display: block;
	padding: 0 10px 0 9px;
	line-height: 38px;
	float: left;
	font-size: 12px;
	background-image: url(../images/icon/nav_punctuation.png);
	background-position: right center;
	background-repeat: no-repeat;
}

footer > div > section {
	width: 315px;
	float: right;
	color: #fff;
}

footer small {
	display: block;
	width: 620px;
	padding: 5px 0 0;
	color: #fff;
	border-top: 1px solid #fff;
	float: left;
}





/* article - topics
================================================== */
article.topics h3 {
	display: none;
}
article.topics ul {
	overflow: hidden;
}
article.topics li {
	display: block;
	width: 50%;
	text-align: center;
	float: left;
}

/* section - gallery
================================================== */
section.gallery {
	width: 42%;
	margin: 0 4% 10px;
	padding-bottom: 10px;
	float: left;
}
section.gallery a {
	display: block;
	text-align: center;
}
section.gallery h3 {
	padding: 0;
	font-size: 12px;
	border: none;
	background: none;
	text-align: center;
}
section.gallery h3 span {
	margin: 0;
	padding: 0;
	background: none;
	font-weight: normal;
}

/* page - news
================================================== */
body#news main section time {
	padding: 2px 2px 2px 19px;
	text-align: left;
	background-image: url(../images/icon/icon01.png);
	background-position: 9px center;
	background-repeat: no-repeat;
}
/* page - site
================================================== */
body#site main li {
	padding: 2px 2px 2px 28px;
	border-bottom: 1px dotted #007DBB;
	line-height: 45px;
	background-image: url(../images/icon/icon01.png);
	background-position: 9px center;
	background-repeat: no-repeat;
}
/* page - privacy
================================================== */
body#privacy main li {
	margin: 5px;
	padding: 0 0 0 10px;
	background-image: url(../images/icon/icon01.png);
	background-position: left center;
	background-repeat: no-repeat;
}

/* page - contact
================================================== */
body#contact th span {
	color: #f00;
	font-size: 10px;
}
body#contact form > p {
	text-align: center;
}
body#contact form > p > input {
	margin: 8px;
	padding: 5px;
}
