@charset "utf-8";
/*-----------------------------------
 *	[ style CSS ] 
 *----------------------------------*/
img{ max-width:100%; height:auto; }
body {
color:#000;
font-size:0.92em;
font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;*font-size:medium;*font:medium;
line-height:1.7em;
letter-spacing:0.05em;
background-color:#f3f3f3;
}
.link:hover{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
-moz-opacity:0.7;
-khtml-opacity: 0.7;
}
.ios .link:hover { opacity:1; }
a {color:#2d70b4;text-decoration:under-line;}
a:hover {color:#03a3ff;}

/* container
-------------------------------- */
@media print, screen and (min-width:981px){
	#container{width:980px;}
}
@media only screen and (max-width:980px){
	#container{width:100%;}
}
#container{
position: relative;
background:#fff;
margin:0px auto;
padding:0px;
}

/* ribbon_div
-------------------------------- */
.ribbon_div{
position: relative;
font-size:0.9em;
line-height:1.4em;
}
.ribbon_div h1{
position: absolute;
background:#2d70b4;
color:#fff;
}
@media print {
	.ribbon_div h1{
	-webkit-print-color-adjust: exact; 
	}
}
@media print, screen and (min-width:561px){
	.ribbon_div{
	height:45px;
	}
	.ribbon_div h1{
	top:13px;
	left:-10px;
	padding:6px 30px 5px 20px;
	}
	.ribbon_div h1::before,
	.ribbon_div h1::after {
	content: '';
	position: absolute;
	}
	.ribbon_div h1::before{
	top:1px;
	left:-25px;
	z-index:-1;
	border-width: 25px;
	border-style: solid;
	border-color: transparent;
	border-right-color: #8eb2d6;
	}
	.ribbon_div h1::after{
	top:0;
	right:0;
	z-index: 2;
	border-width:14px;
	border-style: solid;
	border-color: transparent;
	border-right-color: #fff;
	}
}
@media only screen and (max-width:560px){
	.ribbon_div{
	width:85%;
	}
	.ribbon_div h1{
	top:5px;
	left:0px;
	height:35px;
	padding:5px 15px;
    -webkit-border-top-right-radius:5px;
    -webkit-border-bottom-right-radius:5px;
	-moz-border-radius-topright:5px;
	-moz-border-radius-bottomright:5px;
	}
}

/* header
-------------------------------- */
#header { width:100%; }
@media only screen and (max-width:560px){
	#header {
	border-bottom:5px solid #000;
	padding-top:55px;
	}
}
@media print, screen and (min-width:661px){
	.header_logo{
	margin:0px auto;
	padding:0px 0px 5px 3px;
	}
}
@media only screen and (max-width:660px){
	.header_logo{
	width:98%;
	margin:0px auto;
	}
}

/* main_menu
-------------------------------- */
 .main_menu ul{
width:99%;
margin:0px auto;
border-top:1px solid #959595;
border-bottom:5px solid #000;
}
.main_menu li{
display: inline-block;
font-weight:bold;
}
.main_menu li a{
display:block;
text-decoration:none;
color:#000;
padding:8px 14px;
}
.main_menu li a:hover{
background:#2d70b4;
color:#fff;
}

/* footer 
-------------------------------- */
#footer {
width:100%;
height:45px;
}
.footer_container {
position:absolute;
bottom:0;
width:100%;
padding:5px 0px;
background:#2d70b4;
margin:0px auto;
color:#fff;
font-size:0.9em;
line-height:1.3em;
text-align:center;
}

/* page_top 
-------------------------------- */
#page-top{
display: block;
position: fixed;
z-index: 9999;
background: rgba(0,0,0,.8);
text-align: center;
text-decoration: none; 
}
#page-top:hover{
background: rgba(0,0,0,.7);
}
@media only screen and (min-width:641px){
	#page-top{
	bottom:30px;
	right:30px;
	padding:25px;
	}
}
@media only screen and (max-width:640px){
	#page-top{
	bottom:10px;
	right: 10px;
	padding:20px;
	}
}

/* main
-------------------------------- */
.main{ margin:0px auto; padding-bottom:45px;}
.main:after{ content : ''; display : block; clear : both; }
@media print, screen and (min-width:980px){
	.main{ width:98%; }
}
@media only screen and (max-width:979px){
    .main{ width:92%; }
}
@media only screen and (min-width:560px){
    .main{ min-height:650px; }
}
.main p{ margin:10px auto; }

/* TOP
-------------------------------- */
/* top_img */
.top_img{
text-align:center;
margin:30px auto;
}
/* l_con r_con  */
@media print, screen and (min-width:980px){
	.l_con{
	float:left;
	width:653px;
	margin:10px 0px 0px 15px;
	}
	.r_con{
	float:right;
	width:257px;
	margin:0px auto;
	}
	.m_con{
	width:95%;
	margin:0px auto;
	}
}

/* topics */
.topics:after{ content : ''; display : block; clear : both; }
.topics_img{
float:left;
margin-right:10px;
}
.topics_ttl{
font-weight:bold;
margin:5px auto;
}
.topics_txt{
font-size:0.8em;
line-height:1.7em;
}
@media print, screen and (min-width:721px){
	.topics{
	float:left;
	width:48%;
	margin:5px 6px 10px 6px;
	}
}
@media only screen and (max-width:720px){
	.topics{
	border-bottom:1px solid #cdcdcd;
	margin:20px auto;
	padding:0px 5px 15px 0px;
	}
}
/* news */
.news{
border-bottom:1px solid #cdcdcd;
padding:10px;
margin:5px auto 15px auto;
}
.news_date{ font-size:0.8em; }
.news_date img{ vertical-align:middle; }
/* banner_div */
.banner_div .modal-open{ display:block; }
@media only screen and (max-width:980px){
	.banner_div{ margin:30px auto;text-align:center; }
	.banner_div .modal-open{ float:left;width:32%;margin:3px; }
	.banner_div:after{ content : ''; display : block; clear : both; }
}

@media only screen and (max-width:560px){
	.banner_div .modal-open{ float:none;width:90%;margin:1px auto; }
}

/* PAPERS
-------------------------------- */
.linkbox{
border-left:5px solid #718ca7;
width:98%;
margin:20px auto;
display:block;
text-decoration:none;
color:#000;
}
.linkbox:after{ content : ''; display : block; clear : both; }
.linkbox_ttl{
font-weight:bold;
float:left;
padding:5px 10px;
}
.linkbox_url{
float:left;
padding:5px 10px;
font-size:0.7em;
color:#718ca7;
}
.linkbox:hover{
background:#eaf5ff;
color:#718ca7;
}

/* PHOTOS
-------------------------------- */
.photosbox .modal-open{ display:block; }
.photosbox_txt{
text-align:left;
color:#000;
font-size:1em;
line-height:1.5em;
border-left:3px solid #718ca7;
padding:3px 10px;
margin:0px auto 15px auto;
}
@media print, screen and (min-width:561px){
	.photosbox{ margin:0px auto 30px auto;text-align:center; }
	.photosbox .modal-open{ float:left;width:32%;margin:0px 3px 3px 3px; }
	.photosbox:after{ content : ''; display : block; clear : both; }
}

@media only screen and (max-width:560px){
	.photosbox{ margin:0px auto 20px auto;text-align:center; }
	.photosbox .modal-open{ float:none;width:90%;max-width:299px;margin:1px auto; }
}

/* RESEARCH
-------------------------------- */
.border_box{
border-top:1px dotted #959595;
border-bottom:1px dotted #959595;
padding:40px 0px;
margin:40px auto;
}
.w40{
width:40%;
margin:10px;
}
@media print, screen and (min-width:521px){
	.w40{
	width:40%;
	margin:5px 0px 5px 5px;
	float:right
	}
}
@media only screen and (max-width:520px){
	.w40{
    width:75%;
	margin:10px auto;
	}
}
.topicsbox{
margin:30px auto;
}
.topicsbox:after{ content : ''; display : block; clear : both; }
@media print, screen and (min-width:621px){
	.topicsbox_no{
	float:left;
	width:10%;
	margin-right:5px;
	}
	.topicsbox_txt{
	float:left;
	width:85%;
	margin:10px auto;
	}
	.topicsbox_img_30{
	float:right;
	width:30%;
	margin:5px 0px 5px 5px;
	}
	.topicsbox_img_50{
	float:left;
	width:50%;
	margin:5px 5px 5px 0px;
	}
}
@media only screen and (max-width:620px){
	.topicsbox_no{
	float:left;
	width:15%;
	margin-right:10px;
	}
	.topicsbox_img_30,.topicsbox_img_50{
	float:left;
	width:80%;
	margin:10px auto;
	}
	.topicsbox_txt{
	width:100%;
	margin:10px auto;
	}

}

/* ttl
-------------------------------- */
.page_ttl{
position: relative;
background:url(../images/common/title.png) no-repeat top center;
background-size:100%;
}
.page_ttl h2{
text-shadow: 0 0 1em rgba(255,255,255,0.9);
position: absolute;
color:#fff;
}
.page_ttl h2 span{
font-size:0.7em;
}
@media print, screen and (min-width:561px){
	.page_ttl{
	width:99%;
	height:80px;
	margin:0px auto 30px auto;
	}
	.page_ttl h2{
	 top:35%;
	 left:4%;
	 font-size:1.5em;
	}
}
@media only screen and (max-width:560px){
	.page_ttl{
	width:100%;
	height:60px;
	margin:0px auto 30px auto;
	}
	.page_ttl h2{
	 top: 30%;
	 left:6%;
	 font-size:1.3em;
	}
}
.sub_ttl1{
background: -webkit-gradient(linear, left top, right bottom, from(#ddd), color-stop(0.25, #ddd), color-stop(0.25, white), color-stop(0.5, white), color-stop(0.5, #ddd), color-stop(0.75, #ddd), color-stop(0.75, white), to(white));
background: -moz-linear-gradient(-45deg, #ddd 25%, white 25%, white 50%, #ddd 50%, #ddd 75%, white 75%, white);
background: linear-gradient(-45deg, #ddd 25%, white 25%, white 50%, #ddd 50%, #ddd 75%, white 75%, white);
background-size: 4px 4px;
border-top:5px solid #000;
padding:10px 15px;
font-size:1.3em;
margin:10px auto;
font-weight:bold;
}

/* table
-------------------------------- */
.g_table{
width:100%;
margin:15px auto;
border-top:3px solid #3a3a3a;
border-bottom:3px solid #3a3a3a;
border-collapse: collapse;
}
.g_table thead th{
background:#3a3a3a;
color:#fff;
padding:0px 10px;
border:1px solid #5b5b5b;
}
.g_table tbody th{
background:#dfdfdf;
padding:3px 10px;
border:1px solid #ebebeb;
}
.g_table tbody td{
padding:3px 10px;
border:1px solid #ebebeb;
}
@media print, screen and (min-width:601px){
 .t_w20{ width:20%; }
}
@media print {
	.g_table thead th{
	-webkit-print-color-adjust: exact; 
	}
	.g_table tbody th{
	font-weight:bold;
	}
}

/* list
-------------------------------- */
.decimal_list{
margin-left:10px;
}
.decimal_list li{
list-style-type:decimal;
margin:5px 5px 5px 15px;
}

/*	modal-content 
------------------------------------*/
@media only screen and (min-width:961px){
	.modal-content{
	width:auto;
	height:auto;
	max-width:980px;
	}
	.modal-content video,.modal-content img{
	max-width:970px;
	}
}
@media only screen and (max-width:960px){
	.modal-content{
	width:auto;
	height:auto;
	max-width:90%;
	}
	.modal-content video,.modal-content img{
	max-width:100%;
	}
}
.modal-content{
position:fixed;
display:none;
z-index:800;
background:#fff;
margin:0px auto;
text-align:center;
border:2px solid #aaa;
padding:5px;
line-height:0;
}
.modal-overlay {
z-index:700;
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,0.75);
}
.modal-close {
margin-top:10px;
display:block;
}
@media only screen and (min-width:961px){
	.modal-open img:hover{
	cursor:pointer;
	filter: alpha(opacity=60);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=60)";  /* ie 8 */
	-moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.6;              /* Safari 1.x */
	opacity:0.6;
	zoom:1;
	}
}