/* ==== Base === */
body {
	border-top: 5px solid #203390;
	background:url(../images/body_bg.jpg) no-repeat center 5px ;
	background-size: contain;
}

/* ==== Backgraund === */
#wrap {}

.layout {
	width:96%;
	margin:0 auto;
	overflow:hidden
}

/* ==== Header === */
#hd {	
	height: 60px;
	position: relative;
}
/* ==== h1 img === */
h1 .logo_pc {
	display:none;
}
h1 .logo_sp {
	display:block;
	width:245px;
	position:absolute;
	top: 25px;
}
/*----------------------------------------------------------------------------
******************************************************************************
タブレットのスタイル
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (min-width:600px){
/*hdのスタイル*/
	#hd {	
	height: 140px;
	position: relative;
}
/*h1.logoのスタイル*/
	h1 .logo_sp {
	display:block;
	width: 390px;
	position:absolute;
	top: 45px;
	left:10px;
}
}
/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/

/* ==== Navigation === */
.nav_open {
	right:0px !important
}
.nav {
	-webkit-transition:All 0.5s ease;
	transition:All 0.5s ease;
	position:fixed;
	top:0px;
	right:-200px;
	height:calc(100% + 500px);
	padding-bottom:500px;
	z-index:100;
	width:200px;
	overflow-x:none;
	overflow-y:auto;
	background:#203390;
	color:#fff;
}
.nav ul {
	display:block;
	margin:0;
	padding:0
}
.nav ul li {
	display:block;
	margin:0
}
.nav ul li a {
	font-size:15px;
	color:#fff;
	display:block;
	padding:18px 15px;
	text-decoration:none;
	border-bottom:1px solid rgba(0, 0, 0, 0.15);
	position:relative
}
.nav ul li a:hover {
	box-shadow:inset 0 0 10px 2px rgba(0, 0, 0, 0.3)
}
.nav ul li a:after {
	content:"";
	border-bottom:1px solid rgba(255, 255, 255, 0.15);
	width:100%;
	position:absolute;
	bottom:0;
	left:0
}
.nav ul li ul {
	display:block;
	margin:0 0 0 15px;
	padding:0
}
.nav ul li ul li {
	display:block;
	margin:0
}
.nav ul li ul li a {
	font-size:14px;
	color:#fff;
	display:block;
	padding:14px 6px;
	text-decoration:none;
	border-bottom:1px solid rgba(0, 0, 0, 0.15)
}
.nav ul li ul li a:hover {
	box-shadow:inset 0 0 10px 2px rgba(0, 0, 0, 0.3)
}
.nav ul li ul li a:after {
	content:"";
	border-bottom:1px solid rgba(255, 255, 255, 0.15);
	width:100%;
	position:absolute;
	bottom:0;
	left:0
}
.menu-trigger {
	z-index:1000;
	position:fixed !important;
	top:25px;
	right:15px;
	display:block;
	margin-top:-5px
}
.menu-trigger, .menu-trigger span {
	display:inline-block;
-webkit-transition:all .4s;
transition:all .4s;
	box-sizing:border-box
}
.menu-trigger {
	position:relative;
	width:36px;
	height:24px
}
.menu-trigger span {
	position:absolute;
	left:0;
	width:100%;
	height:6px;
	background-color:#000080;
	border-radius:4px;
	border:#FFFFFF 1px solid;
}
.menu-trigger span:nth-of-type(1) {
	top:0
}
.menu-trigger span:nth-of-type(2) {
	top:10px
}
.menu-trigger span:nth-of-type(3) {
	bottom:0
}
.menu-trigger::after {
	position:absolute;
	left:0;
	bottom:-20px;
	content:'MENU';
	display:block;
	width:100%;
	color:#000;
	font-size:10px;
	text-decoration:none;
	text-align:center;
	-webkit-transition:all .4s;
	transition:all .4s;
	font-weight:bold;
}
.menu-trigger.active::after {
	content:'CLOSE';
	bottom:-25px;
	color:#fff
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform:translateY(10px) rotate(-45deg);
	-ms-transform:translateY(10px) rotate(-45deg);
	transform:translateY(10px) rotate(-45deg);
	background:#fff
}
.menu-trigger.active span:nth-of-type(2) {
	opacity:0;
	background:#fff
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform:translateY(-10px) rotate(45deg);
	-ms-transform:translateY(-10px) rotate(45deg);
	transform:translateY(-10px) rotate(45deg);
	background:#fff
}


/* ==== Content === */
#con {}
#sidenav {
	display: none;
}
main {
	width: 100%;
	float: none;
	margin-top: 20px;
}
main h2 {
	font-size:1.8em;
	font-weight: bold;
	padding: 8px 0px 8px 30px;
	margin: 30px 0 0px;
	color: #fff;
	border: 2px solid  #203390;
	background:#203390;
}
main h3 {
	border: 1px solid #CCC;
	border-radius: 2px;
	font-size:1.2em;
	font-weight: bold;
	padding: 10px 10px 9px 30px;
	margin: 20px 0 5px;
	box-sizing: border-box;
	position: relative;
	background:url(../images/h3_bg.gif) repeat-x left bottom ;
}
main h3::before {
	content: "";
    position: absolute;
	width:5px;
	height: 65%;
    left: 12px;
    top: 7px;
    border: 1px solid #fff;
	/* グラデーション */
	background: #2842c1; /* Old browsers */
	background: -moz-linear-gradient(top,  #2842c1 0%, #192979 95%, #192979 95%, #0d1746 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #2842c1 0%,#192979 95%,#192979 95%,#0d1746 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #2842c1 0%,#192979 95%,#192979 95%,#0d1746 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2842c1', endColorstr='#0d1746',GradientType=0 ); /* IE6-9 */
}


/* ==== Index === */
/*新着情報*/
#i_news {
	width:100%;
	height:200px;
	border:none;
	overflow-y: scroll;
}
.news_box {
	padding: 9px 10px;
}
.news_box p.date {
	box-sizing:border-box;
	color:#203390;
	font-weight:bold;
	font-size:0.9em;
	padding: 5px 0 0;
}
.news_box:nth-child(even) {
	background:#F4F4F4;
}

/* ==== page-top === */
#page-top a{
	margin-top:30px;
	width:100%;
	text-align:center;
	font-size:0.9em;
	background:#2D4AD7;
	text-decoration:none;
	color:#fff;
	padding:14px;
	text-align:center;
	display:block;
}
#page-top p {
	margin:0;
}
/* ==== Footer === */
#ft {	
	padding-top: 25px;
	padding-bottom: 25px;
	text-align: center;
	background: #203390;
	color:#FFF;
}

/* ==== お問い合わせ === */
#contact {
	border: 1px solid #203390;
	padding-bottom:20px;
	margin-top:20px;
}
#contact p#ttl {
	padding:13px 0;
	background: #203390;
	border: 1px solid #FFF;
	text-align:center;
	color:#FFF;
	font-size:1.2em;
	margin-bottom:10px;
}
#contact p {
	padding:5px 15px;
	font-size: 1.1em;
}
#contact .name{
	font-size:1.3em;
	line-height:1.4em;
}
.dp_non {
	display:none;
}

/* ol,ul */
#main ol, #main ul {
	padding: 5px 0px 5px 25px;
}
#main ul {
	list-style-type: disc;
}
#main ol li, #main ul li {
	padding: 5px 0px;
}

.ol_box ol{
padding: 5px 10px 5px 30px;
}
.ol_box ol li{
padding: 2px 0;
}

/* dl,dt,dd */

.dl_box dl{
padding: 5px 10px 5px 30px;
}
.dl_box dl dt{
display: list-item;
list-style-type: disc;
}
.dl_box dl dd{
margin: 5px 20px;
}

.dl_box_member dl{
padding: 5px 10px 5px 30px;
}
.dl_box_member dl dt{
font-size: 1.3em;
}
.dl_box_member dl dd{
margin: 5px 20px;
}

.dl_box_none dl{
padding: 5px 10px 5px 30px;
}
.dl_box_none dl dt{
font-size: 1em;
}
.dl_box_none dl dd{
margin: 5px 20px;
}

p.justify{
text-align: justify;
text-justify: inter-ideograph;
}

main div.research_div p{
margin: 20px 0;
padding: 0;
}

main div.research_div img{
margin: 0;
text-align: center;
max-width: 100%;
}