/*----------------------------------------------------------------------------
******************************************************************************
共通スタイル
******************************************************************************
----------------------------------------------------------------------------*/
/* ==== Base === */
body {
	border-top: 5px solid #203390;
	background:url(../images/body_bg.jpg) no-repeat top center;
}
img {
	max-width: 100%;
	height: auto;
	border:none;
}
.layout {
	width: 960px;
	margin: 0 auto;
}
/* ==== Backgraund === */
#wrap {}
/* ==== Header === */
#hd {	
	height: 145px;
	position:relative;
}
/* ==== h1 img === */
.logo_pc {
	display:block;
	position:absolute;
	top:40px;
}
.logo_sp {
	display:none;
} 


/* ==== Navigation === */
.nav ul {
	display:flex;
}
.nav li {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
nav li a {
   display: block;  
   width: 100%;  
   height: 57px;  
   background: url(../images/nav.jpg) no-repeat;
}
nav li:nth-child(1) a {width:120px; background-position: 0 top;}  
nav li:nth-child(2) a {width:119px; background-position: -120px top;}  
nav li:nth-child(3) a {width:119px; background-position: -239px top;}  
nav li:nth-child(4) a {width:120px; background-position: -358px top;}  
nav li:nth-child(5) a {width:120px; background-position: -478px top;}  
nav li:nth-child(6) a {width:120px; background-position: -598px top;}  
nav li:nth-child(7) a {width:120px; background-position: -718px top;}  
nav li:nth-child(8) a {width:122px; background-position: -838px top;}  

#nav li a:hover{  
  background: url(../images/nav.jpg) no-repeat;
}  
nav li:hover:nth-child(1) a, nav li:nth-child(1) a.current {background-position: 0  bottom;}  
nav li:hover:nth-child(2) a, nav li:nth-child(2) a.current {background-position: -120px bottom;}  
nav li:hover:nth-child(3) a, nav li:nth-child(3) a.current {background-position: -239px bottom;}  
nav li:hover:nth-child(4) a, nav li:nth-child(4) a.current {background-position: -358px bottom;}  
nav li:hover:nth-child(5) a, nav li:nth-child(5) a.current {background-position: -478px bottom;}  
nav li:hover:nth-child(6) a, nav li:nth-child(6) a.current {background-position: -598px bottom;}  
nav li:hover:nth-child(7) a, nav li:nth-child(7) a.current {background-position: -718px bottom;}  
nav li:hover:nth-child(8) a, nav li:nth-child(8) a.current {background-position: -838px bottom;}  

/* ==== Content === */
#con {}
#side {
	width: 22.9%;
	float:left;
	margin-top:20px;
}
main {
	width: 75%;
	float: right;
	margin-top:20px;
}
main h2 {
	font-size:2.3em;
	font-weight: bold;
	padding: 10px 10px 9px 30px;
	margin: 0px 0 20px;
	background:url(../images/h2_icon.jpg) repeat-y;
	color: #203390;
}
main h3 {
	border: 1px solid #CCC;
	border-radius: 2px;
	font-size:1.3em;
	font-weight: bold;
	padding: 10px 10px 9px 30px;
	margin: 30px 0 5px;
	box-sizing: border-box;
	position: relative;
	background:url(../images/h3_bg.gif) repeat-x left bottom  #FFFFFF;
}
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 */
}


/* 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;
}



/* table */
#main table {
	margin: 10px 0px;
}
#main table th, #main table td {
	padding: 5px;
}
/* img */
#main a img{
	display: inline-block;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
#main a img:hover, .shrink:focus, .shrink:active {
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
}
/* ==== sidenav === */
#sidenav p {
	color: #fff;
	padding:15px 0 15px;
	text-align:center;
	background: #203390;
	font-size:1.2em;
}
#sidenav ul {
	box-sizing:border-box;
	margin:0px 0 30px;
}
#sidenav li {}
#sidenav li a {
	box-sizing:border-box;
	height: auto;
	padding: 13px 5px 12px 20px;
	display: block;
	text-decoration: none;
	background: url(../images/sidenav_icon.jpg) no-repeat 7px 19px;
	border-bottom: 1px dotted #CCCCCC;
	color: #000;
	font-size:0.9em;
}
#sidenav li a:hover {
	opacity:0.7;
}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img { margin: 0;padding: 0;background: none;border: none; }

/*----------------------------------------------------------------------------
Original
----------------------------------------------------------------------------*/
/* ==== Index === */
/*新着情報*/
#i_news {
	width:100%;
	height:300px;
	border:none;
	overflow-y: scroll;
}
.news_box {
	padding: 9px 10px;
	display: flex;
}
.news_box p.date {
	width: 18%;
	box-sizing:border-box;
	color:#203390;
	font-weight:bold;
	font-size:0.9em;
}
.news_box:nth-child(even) {
	background:#F4F4F4;
}


/*----pagetop----*/
#page-top a{
	position:fixed;
	bottom:0px;
	right:20px;
	font-size:0.8em;
	background:#2D4AD7;
	text-decoration:none;
	color:#fff;
	padding:20px 10px;
	text-align:center;
	display:block;
	border-radius:5px 5px 0 0;
}

/* ==== Footer === */
#ft {
	margin-top:40px;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	background: #203390;
	color:#FFFFFF;
}
/* ==== お問い合わせ === */
#contact {
	border: 1px solid #203390;
	padding-bottom: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;
}
#contact .name{
	font-size:1.1em;
	line-height:1.4em;
}
#contact a{
text-decoration: none;
}


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;
}
