@charset "utf-8";
* {
	margin: 0;
	padding: 0;
}

body {
	height: 100%;
	color: #333;
	font-size: 0.85em;
	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	background:url(../img/mainbg.png);
	line-height:100%;
}

a { color: #519fc3;}
a:link { text-decoration: underline;}
a:hover { text-decoration: none;}

p {
	line-height: 160%;
}

a img {
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all  0.3s;
}

a img:hover {
	opacity: 0.8;
}

a.link{
	font-size:0.95em;
	background:url(../img/cursor.png) no-repeat 0 3px;
	line-height:100%;
	padding-left:12px;
	color:#519fc3;
}

img.imgleft{
	float:left;
	padding:0 15px 0 0;
}

img.imgright{
	float:right;
	padding:0 0 0 15px;
}

header{
	width:100%;
	background-color:#fff;
}

#header{
	width:960px;
	margin:0 auto;
	height:65px;
}

#header h1{
	float:left;
	padding:21px 0;
	height:23px;
	margin:0;
	line-height:100%;
}

#header .pgmarj{
	float:right;
	padding:21px 0;
	height:23px;
}

nav{
	height:40px;
	background-color:#2b8cc9;
	border-bottom:2px solid #fff;
}

nav ul{
	width:960px;
	margin:0 auto;
	border-left:1px solid #64accb;
}

nav ul li{
	float:left;
	text-align:center;
	width:137px;
}

nav ul li a{
	line-height:38px;
	display:block;
	color:#fff;
	border-top:1px solid #2b8cc9;
	border-bottom:1px solid #2b8cc9;
	border-right:1px solid #64accb;
	font-size:0.9em;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all  0.3s;
}

nav ul li a:link{
	text-decoration:none;
}

nav ul li a:hover,
nav ul li a.active{
	background-color:#fff;
	color:#519fc3;
}

#contents{
	background:url(../img/contentsbg.png) repeat-x;
}

#contents #wrapper{
	width:960px;
	margin:0 auto;
	padding:20px 0;
}

#contents #wrapper #contentsinner{
	background-color:#fff;
	padding:20px 30px;
}

#contents #wrapper #contentsinner .bc ul li{
	float:left;
	height:22px;
	font-size:12px;
}

#contents #wrapper #contentsinner .bc ul li a{
	vertical-align:middle;
	line-height:22px;
	padding:0 25px 0 15px;
	display:block;
	text-decoration:none;
	background:url(../img/bc_bg.png) no-repeat right top #eeeeee;
	color:#999;
}

#contents #wrapper #contentsinner .bc ul li.active a{
	background:url(../img/bc_bg_active.png) no-repeat right top #eeeeee;
}

#contents #wrapper #contentsinner h1{
	clear:both;
	font-weight:100;
	margin:35px 0 20px;
	font-size:2.5em;
	line-height:100%;
	padding-bottom:20px;
	background:url(../img/title_br.png) no-repeat bottom;
	font-family: "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

#contents #wrapper #contentsinner h2{
	clear:both;
	font-weight:100;
	margin:0 0 15px;
	font-size:1.2em;
	line-height:150%;
	padding:25px 0 10px;
	background:url(../img/title_br2.png) no-repeat bottom;
}

#contents #wrapper #contentsinner h3{
	clear:both;
	margin:30px 0 10px;
	font-weight:bold;
}

#contents #wrapper #contentsinner #ebm h2{
	text-align:center;
	font-weight:100;
	margin:0 0 15px;
	font-size:2em;
	line-height:150%;
	padding:25px 0;
	background:none;
}

#contents #wrapper #contentsinner #ebm h2 span{
	display:block;
	font-size:0.5em;
	padding-top:8px;
	line-height:150%;
}

#contents #wrapper #contentsinner #ebm h2 span.small{
	font-size:0.7em;
	padding-top:0;
	line-height:110%;
}

.ebmlink div{
	text-align:center;
	border-top:1px solid #d2dce2;
	border-bottom:1px solid #d2dce2;
	padding:20px 0;
	margin-top:20px;
}

.ebmlink a{
	background:#eff4f7;
	padding:5px 22px;
	font-size:0.9em;
	text-decoration:none;
	border:1px solid #e3ebf0;
}

.ebmlink a:first-child{
	background:#96b8c8;
	border:1px solid #92b5c6;
	color:#fff;
}

.ebmlink span{
	display:block;
	margin:10px 0 0;
}

.ebmlink span:first-child{
	margin:0;
}

.ebmlink .refer a:first-child{
	background:#eff4f7;
	padding:5px 25px;
	font-size:0.9em;
	text-decoration:none;
	border:1px solid #e3ebf0;
	color: #519fc3;
	line-height:30px;
}

#contents #wrapper #contentsinner p{
	margin:0 0 20px;
}

#contents #wrapper #contentsinner p span.caution{
	color:#cc3333;
	padding-left:20px;
	padding-top:5px;
	display:block;
}

#contents #wrapper #contentsinner .box{
	background-color:#f3f6f8;
	padding:20px 20px 5px;
	border:1px solid #dbe3e8;
	margin-bottom:30px;
}

#contents #wrapper #contentsinner .box p{
	margin:0 0 15px;
}

#contents #wrapper #contentsinner .cap{
	font-size:0.8em;
}

#contents #wrapper #contentsinner .cap_data{
	padding:20px 0 5px;
	border-top:3px solid #dbe3e8;
	margin-top:30px;
}

#contents #wrapper #contentsinner .cap_data p{
	margin:0 0 15px;
	font-size:0.8em;
}

#contents #wrapper #contentsinner .box dl{
	line-height:170%;
}

#contents #wrapper #contentsinner .box dl dt{
	margin:0 0 3px;
	font-size:1.1em;
	color:#519fc3;
}

#contents #wrapper #contentsinner .box dl dd{
	margin:0 0 15px;
}

#contents #wrapper #contentsinner ul.list_data li{
	line-height:170%;
	padding-bottom:15px;
}

#contents #wrapper #contentsinner ol.list_data{
	list-style:decimal;
	margin-left:35px;
	margin-bottom:20px;
	margin-top:-20px;
	line-height:170%;
}


footer{
	clear:both;
	background-color:#519fc3;
	color:#fff;
}

footer .menu{
	text-align:center;
	font-size:0.85em;
	padding:23px 0;
}

footer .menu a{
	text-decoration:none;
	color:#fff;
	padding:0 10px;
}

footer .menu a:hover{
	text-decoration:underline;
}

footer small{
	text-align:center;
	background-color:#3581ac;
	display:block;
	padding:7px 0;
	line-height:100%;
}

table.top{
	border:1px;
	line-height:170%;
	border-color:#f3f6f8;
	border-collapse: collapse;
	border:1px solid #d2dce2;
	width:100%;
}

table.top th{
	padding:15px 8px;
	text-align:left;
	font-weight:100;
	border-collapse: collapse;
	border:1px solid #d2dce2;
	background-color:#f3f6f8;
}

table.top th span{
	text-indent:-22px;
	padding-left:22px;
	display:block;
}

table.top td{
	padding:15px 8px;
	border-collapse: collapse;
	border:1px solid #d2dce2;
}

table.frame{
	line-height:170%;
	width:100%;
}

table.frame th{
	padding:15px 8px;
	text-align:left;
	font-weight:100;
}

table.frame td{
	padding:0 0 5px 0;
}

table.frame .caption{
	font-size:2em;
	font-weight:100;
	padding-bottom:20px;
	padding-top:15px;
}

table.frame .caption a{
	color:#333;
}

table.cell{
	line-height:170%;
	border-collapse: collapse;
}

table.cell th{
	text-align:left;
	font-weight:100;
}

table.cell td{
	padding:5px;
}

table.top2{
	border:1px;
	line-height:170%;
	border-color:#f3f6f8;
	border-collapse: collapse;
	border:1px solid #d2dce2;
	width:100%;
	margin-bottom:15px;
	text-align:right;
}

table.top2 th{
	padding: 8px;
	font-weight:100;
	border-collapse: collapse;
	border:1px solid #d2dce2;
	background-color:#f3f6f8;
	text-align:right;
}

table.top2 td{
	padding: 8px;
	border-collapse: collapse;
	border:1px solid #d2dce2;
}

.caption{
	font-weight:bold;
}

.pagetop {
	height: 68px;
	width: 68px;
	background: url(../img/pagetop.png);
}

.pagetop:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -khtml-opacity: 0.7;
    -moz-opacity: 0.7;
}

#loginpage {
	background-color:#fff;
	border:5px solid #e8d5d6;
	width:500px;
	margin:30px auto 20px;
}

#loginpage .inner{
	border:1px solid #b34d53;
	padding:25px;
	font-size:0.95em;
} 

#loginpage .inner dl dt{
	padding-bottom:5px;
}

#loginpage .inner dl dd{
	padding-bottom:10px;
}

#loginpage .inner dl dd input[type="text"],
#loginpage .inner dl dd input[type="password"]{
	width: 97%;
	padding:3px;
	margin:5px 0 15px;
}

#loginpage .inner label{
	cursor:pointer;
	line-height:100%;
	padding:5px 0 15px;
	display:block;
	margin:0 auto;
	text-align:center;
}

#loginpage .inner input[type="checkbox"]{
	vertical-align:-2px;
	margin-right:5px;
}

#loginpage .inner input[type="image"]{
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all  0.3s;
	margin:0 101px;
	text-align:center;
}

#loginpage .inner input[type="image"]:hover{
	opacity:0.8;
}

#loginpage .inner .btn a{
	display:block;
	background-color:#555;
	color:#fff;
	text-align:center;
	border-radius:5px;
	line-height:50px;
	font-size:1.25em;
	text-decoration:none;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all  0.3s;
} 

#loginpage .error_msg {
	font-weight: bold;
	color: #c11823;
}

ol.data{
	list-style:decimal;
	margin-left:40px;
	margin-bottom:20px;
}

ol.data li{
	padding-bottom:10px;
	line-height:180%;
}

.menu {
    position: relative;
    margin: 0 auto;
}

.menu > li {
    float: left;
}

.menu > li a {
    display: block;
    color: #fff;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
	width:100%;
}

.menu__second-level li {
	background-color:#619bc0;
	width:300px;
	text-align:left;
}

.menu__second-level li a:hover {
    background: #fff;
}

nav ul li .menu__second-level li a{
	border-top:none;
	border-bottom:none;
	padding:10px;
	border-bottom:1px solid #7fafcd;
	line-height:170%;
	text-indent:-19px;
	padding-left:30px;
	font-size:12px;
}

a.init-bottom{
	background-image:url(../img/menu_down.png);
	background-position:center 31px;
	background-repeat:no-repeat;
}

.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    width: 100%;
    background: #072A24;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 40px;
    visibility: visible;
    opacity: 1;
}

ol.ebmlist li{
	padding-bottom:10px;
	line-height:150%;
}

p.preface{
	line-height:2em;
}

dl.staff{
	line-height:150%;
	margin:0 0 20px;
}

dl.staff dt{
	float:left;
	width:12%;
	clear:both;
	padding:7px 0;	
}

dl.staff dd{
	float:left;
	width:88%;
	padding:7px 0;
}

p.data_img img{
	vertical-align:-12px;
	margin-left:5px;
}

/*******************************
clearfix
*******************************/
	
.clearfix:after,
#maincontents .sitemap:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix,
#maincontents .sitemap {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}