@charset "utf-8";

/* -----reset--------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
	letter-spacing:-0.5em;
}
li {
	letter-spacing:normal;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ------------------------------------------------------ */


@media print, screen and (min-width:820px){
* {
	font-style:normal;
	font-weight:normal;
	box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;
	}

html {
	font-size: 62.5%; /*font-size:10px;*/
	-webkit-text-size-adjust: 100%;
	height:100%;
  }

body {
	color: #111;
	margin: 0;
	padding: 0;
	font-size:1.4rem; /*font-size:14px;*/
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	height:100%;
	background:url(images/l_bg.png) left repeat-y;
	}

button { border:0; padding:0; background:none; cursor:pointer; }
	
.left { float:left; }
.right { float:right; }
.center { text-align:center; }
.tright { text-align:right; }

.fs10 { font-size:1.0rem; }
.fs12 { font-size:1.2rem; }
.fs14 { font-size:1.4rem; }
.fs16 { font-size:1.6rem; }
.fs18 { font-size:1.8rem; }
.fs20 { font-size:2.0rem; }
.fs22 { font-size:2.2rem; }
.fs28 { font-size:2.8rem; }
.fs32 { font-size:3.2rem; }

.f_bold { font-weight:bold; }

.red { color:#cc0000; }
.green { color:#b0c212; }

pre { white-space: pre-wrap; word-wrap: break-word; overflow: visible; }

img.sp { display:none; }

br.clear { clear:both; margin:0; padding:0; }

img { max-width:100%; }

sup { font-size:1.2rem; vertical-align:super; }

/* ------------------------------------------------------ */

header {
	background-color:#fff;
	margin:0 0 0 320px;
	padding:0;
	border-bottom:1px solid #dde4e9;
	}
	header ul { max-width:830px; }
	header li { display:inline-block; margin-left:6%; padding:15px 0; vertical-align:bottom; }
		header li:nth-child(1) { max-width:461px; width:55.5%; }
		header li:nth-child(2) { max-width:269px; width:32.5%; }
		header li img { max-width:100%; }
	header li a { display:block; padding:5px; }


	header h1, header label { display:none; }

#leftmenu {
	width:320px;
	margin:0;
	padding:20px;
	height:100%;
	position:absolute;
	}
	#leftmenu h1 { background-color:#fff; width:100%; height:280px; position:relative; text-align:center; padding-top:90px; }
	#leftmenu h1 a { display:block; padding:10px; }
	
	nav ul { margin:20px 0; }
	nav li { margin:5px 0; font-size:1.6rem; font-weight:bold; }
	nav li a { display:block; border:1px solid #003366; background-color:#fff; text-align:center; color:#003366; padding:20px 0; text-decoration:none; }
	nav li a:hover { background-color:#003366; color:#fff; }
	
	.information { padding:40px 0; margin:40px 0 0 0; font-size:1.25rem; line-height:180%; display:inline-block; position: relative; }
	.information:before {  content:''; position:absolute; left:50%; top:-5px; display: inline-block; width:100px; height:2px; background-color:#003366; 
		-moz-transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translate(-50%); /*位置調整*/ }
	.information i { margin-right:8px; }
	.information a { color:#111; text-decoration:none; }
	.information a:hover { color:#003366; }
		
	#leftmenu .bnr { text-align:center; }
	#leftmenu .bnr img { width:70%; height:auto; }

footer {
	width:100%;
	background-color:#272727;
	font-size:1.0rem;
	color:#999;
	padding:20px 0 80px 0;
	text-align:center;
	}

#main { margin:0 0 0 320px; padding:0; }
#main .contents { padding:50px 50px 100px 50px; max-width:1000px; min-height:900px; }

a:hover img { filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7; }
	

/* --------------------------------------------------------------
  MENU
-------------------------------------------------------------- */
#menu { position: fixed; left: 0; top: -100%; overflow: hidden; transition: bottom .5s, top .5s; width:100%; height:100%; background-color:#fff; }
	#open { display: none; }
	#open:checked + #menu { top: 0; }


/* --------------------------------------------------------------
  clearfix
-------------------------------------------------------------- */
.news dd:after,
.research dd:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
  }

/* --------------------------------------------------------------
  トップページ
-------------------------------------------------------------- */
.mainimg { height:420px; background-image:url(images/main_bg.jpg); background-position:right; position:relative; }
.mainimg img { position:absolute; top:150px; left:50px; }

.news { padding:10px 0; }
.news dl { margin:5px 0; border-bottom:1px solid #e5e5e5; padding:12px 8px; line-height:130%; }
.news dt { float:left; }
.news dd { margin:0 0 0 135px; }
.news dd a { color:#0066cc; text-decoration:none; }
.news dd a:hover { text-decoration:underline; }

#top .contents h2 { font-size:3.4rem; font-weight:bold; color:#003366; position: relative; border-bottom: 3px solid #ccc; padding:12px 2px; margin:10px 0; }
#top .contents h2:before { content:""; position:absolute; left: 0; bottom:-2px; width:80%; height: inherit; border-bottom:2px solid #003366; }

#top .contents h3 { font-size:2.4rem; font-weight:bold; color:#003366; position: relative; border-bottom: 3px solid #ccc; padding:10px 2px 12px 35px; margin:40px 0 10px 0; }
#top .contents h3:before { font-family:"Font Awesome 5 Free"; content: "\f5fd"; padding:0 0 10px 2px;
		position:absolute; left: 0; bottom:-2px; width:20%; height: inherit; border-bottom:2px solid #003366; }

#top .contents h4 { font-size:2.0rem; font-weight:bold; color:#003366; margin:10px 0; }

#top .contents p { padding:30px 0; line-height:185%; }


/* --------------------------------------------------------------
  基本レイアウト
-------------------------------------------------------------- */

.title { background-color:#e6e6e6; padding:35px 50px; text-align:center; }
.title h5 { font-size:3.6rem !important; font-weight:bold; color:#003366; border-bottom: 3px solid #003366; padding:15px 2px; margin:0; }
.title h2 { font-size:1.8rem; font-weight:bold; color:#003366; padding:30px 2px 15px 2px; margin:0; }

#sub .contents h3 { font-size:2.4rem; font-weight:bold; color:#003366; position: relative; border-bottom: 3px solid #ccc; padding:10px 2px 12px 35px; margin:50px 0 10px 0; }
#sub .contents h3:before { font-family:"Font Awesome 5 Free"; content: "\f5fd"; padding:0 0 10px 2px;
		position:absolute; left: 0; bottom:-2px; width:30%; height: inherit; border-bottom:2px solid #003366; }

#sub .contents h3.news { padding-left:5px; line-height:150%; }
#sub .contents h3.news:before  { content:none; }

#sub .contents h4 { font-size:2.0rem; font-weight:bold; color:#003366; margin:10px 0; }

#sub .contents h5 { font-size:1.8rem; font-weight:bold; margin:10px 0; }

#sub .contents p { padding:30px 0; line-height:185%; }

.contents ul { margin:30px 0; font-size:1.6rem; }
.contents ul li { margin:5px 0; line-height:140%; }

.contents ol { margin:10px 0 10px 20px; font-size:1.6rem; }
.contents ol li { list-style-type:decimal; line-height:150%; margin:8px 0; }


/* --------------------------------------------------------------
  各ページ
-------------------------------------------------------------- */
table.member { width:100%; margin:20px 0; }
	.member th { text-align:left; padding:12px 8px; color:#666666; }
	.member td { padding:15px 8px; border-bottom:1px solid #e5e5e5; line-height:110%; }
	.member td:nth-child(1) { width:27%; }
	.member td:nth-child(2) { width:14%; }
	.member td:nth-child(3) { width:40%; }
	.member td:nth-child(4) { width:19%; }

dl.research { margin:35px 0; }
.research dt { position:relative; width:360px; height:270px; text-align:center; float:left;
		border:4px solid #003366; border-radius:8px; background-image:url(images/research_tbg.png); background-position:center; }
.research dt img { position: absolute; top: 50%; left: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); }
.research dd { margin:0 0 0 400px; }

p.system { line-height:0 !important; text-align:center; margin:50px 0; }

.presentation { padding:50px 0; }
.presentation dl { margin:5px 0; border-bottom:1px solid #e5e5e5; padding:12px 8px; line-height:130%; }
.presentation dt { float:left; }
.presentation dd { margin:0 0 0 135px; }
.presentation dd a { color:#0066cc; text-decoration:none; }
.presentation dd a:hover { text-decoration:underline; }

dl.outline { margin:40px 0; line-height:170%; }
dl.outline dt { font-size:1.6rem; font-weight:bold; position:relative; padding:0 0 0 20px; }
	dl.outline dt:before { content:'■'; color:#003366; font-size:1.2rem; position:absolute; top:0; left:0; }
dl.outline dd { padding-top:5px; }
dl.outline dd p { padding:5px 0 10px !important; }


}