@charset "utf-8";

@media screen and (max-width: 819px){
* {
	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%;
	}

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:120%; }
.fs18 { font-size:130%; }
.fs20 { font-size:140%; }
.fs22 { font-size:150%; }
.fs28 { font-size:155%; }
.fs32 { font-size:160%; }

.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;
	padding:0;
	}
	header h1 { width:80%; padding:18px 3px; }
	header ul { width:100%; }
	header li { display:inline-block; margin:0 1%; padding:15px 0; vertical-align:bottom; }
		header li:nth-child(1) { max-width:461px; width:59.5%; }
		header li:nth-child(2) { max-width:269px; width:36.5%; }
		header li img { max-width:100%; }
	header li a { display:block; padding:5px; }

	header label { position:absolute; top:12px; right:5px; cursor: pointer; text-align:right; padding-right:5px; }
	header label i { font-size:4.5rem; color:#003366; }

#leftmenu { display:none; }

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

#main { margin:0; padding:0; }
#main .contents { padding:20px 10px 100px 10px; }

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

/* --------------------------------------------------------------
  MENU
-------------------------------------------------------------- */
#menu i { margin-right:5px; }
#menu { position: fixed; left: 0; top: -100%; overflow: hidden; transition: bottom .5s, top .5s; width:100%; height:100%; background-color:#003366; }
	#open { display: none; }
	#open:checked + #menu { top: 0; }
#menu ul.menu { margin:20px 0 0 0; }
#menu ul.menu li { font-size:1.4rem; padding:10px; border-bottom:1px dashed #fff; line-height:180%; color:#fff; }
#menu a { color:#fff; text-decoration:none; }
#menu label { cursor: pointer; color:#fff; text-decoration:none; }

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

/* --------------------------------------------------------------
  トップページ
-------------------------------------------------------------- */
.mainimg { background-image:url(images/main_bg.jpg); background-position:right; background-size:150%; position:relative; padding-top:42%; }
.mainimg img { position:absolute; top:35%; left:1%; max-width:98%; }

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

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

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

#top .contents h4 { font-size:1.6rem; font-weight:bold; color:#003366; margin:10px 0; line-height:120%; }

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


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

.title { background-color:#e6e6e6; padding:10px; text-align:center; }
.title h5 { font-size:2.0rem !important; font-weight:bold; color:#003366; border-bottom: 3px solid #003366; padding:10px 2px; margin:0; line-height:120%; }
.title h2 { font-size:1.5rem; font-weight:bold; color:#003366; padding:10px 2px 5px 2px; margin:0; line-height:120%; }

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

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

#sub .contents h4 { font-size:1.6rem; font-weight:bold; color:#003366; margin:10px 0; line-height:120%; }

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

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

.contents ul { margin:20px 0; }
.contents ul li { margin:5px 0; line-height:130%; }

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


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

dl.research { margin:30px 0; }
.research dt { position:relative; width:100%; height:120px; text-align:center; 
		border:3px 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%); max-width:110px; }
.research dd { margin:0; }

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

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

dl.outline { margin:40px 0; line-height:150%; }
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:8px; }
dl.outline dd p { padding:5px 0 10px !important; }


}