/* ******************************************************************
 *	File name		: base.css
 *	Summary			: css base
 * ******************************************************************
 */
/*

blue  #0D308A rgba(13,48,138,0.5)

*/

/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

body{
	position:relative;
	width:100%;
	height:100%;
	line-height:145%;
	color:#222;
	background:linear-gradient(90deg, #1F2871, #06328F);
}
#wrapper{
	position:relative;
	width:100%;
	background:url(../../image/base/main_img.jpg) no-repeat center 0 rgba(13,48,138,1);
	background-attachment:fixed;
	overflow:hidden;
}

/* --- responsive --- */
@media screen and (min-width:1940px){
	html::before,
	html::after{
		content:" ";
		position:fixed;
		bottom:0px;
		width:150px;
		height:100%;
		z-index:50;
	}
	html::before{
		background:linear-gradient(90deg, rgba(13,48,138,1), rgba(13,48,138,0));
		left:calc(50% - 960px);
	}
	html::after{
		background:linear-gradient(-90deg, rgba(13,48,138,1), rgba(13,48,138,0));
		right:calc(50% - 960px);
	}
}
@media screen and (max-width:767px){
	#wrapper{
		background:url(../../image/base/main_img.jpg) no-repeat center 0;
		background-size:730px 627px;
	}
}
@media print {
	body{
		margin:0;
		width:1100px;
	}
}

/* -----------------------------------------------------------------
   header
----------------------------------------------------------------- */

header{
	position:relative;
	top:0px;
	left:0px;
	width:100%;
	height:150px;
	margin:0 0 10px;
	padding:0 20px;
	background:rgba(0,0,0,0.5);
	z-index:100;
	}
	header::after{
		content:" ";
		position:absolute;
		bottom:0px;
		left:0px;
		width:100%;
		height:48px;
		background:#000;
		z-index:0;
	}
	#head_contents{
		position:relative;
		width:1000px;
		max-width:100%;
		height:150px;
		margin:0 auto;
		padding:0px 0 0 0;
		text-align:center;
		z-index:1;
	}
	header h1{
		display:block;
		position:absolute;
		top:18px;
		left:0px;
		width:225px;
		height:73px;
		z-index:2;
		}
		header h1 a img{
			width:100%;
			height:auto;
}

/* nav */
header nav{
	position:absolute;
	top:102px;
	left:0px;
	width:100%;
	height:48px;
	transition-duration:1.0s;
	z-index:1000;
}
header nav > ul{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
/*	justify-content:center;*/
	justify-content:space-between;
	position:relative;
	width:1000px;
	max-width:calc(100% + 1px);
	height:100%;
	margin:0 auto;
	list-style:none;
	}
	header nav > ul > li{
		position:relative;
		width:100%;
		height:100%;
		text-align:center;
		color:#000;
		transition-duration:0.5s;
		}
		header nav > ul > li::before{
			content:" ";
			position:absolute;
			top:calc(50% - 7px);
			left:0px;
			width:calc(100% + 1px);
			height:15px;
			border-left:1px solid #FFF;
			border-right:1px solid #FFF;
			z-index:0;
		}
		header nav > ul > li::after{
			content:" ";
			position:absolute;
			top:5px;
			left:5px;
			width:calc(100% - 10px);
			height:calc(100% - 10px);
			border:1px solid rgba(255,255,255,0.1);
			background:rgba(44,53,113,0.2);
			opacity:0;
			transition-duration:0.5s;
			}
			header nav > ul > li:hover::after{
				opacity:1;
	}
	header nav ul > li > a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		height:48px;
		padding:0px;
		font-weight:bold;
/*		font-size:0.84rem;*/
		font-size:0.96rem;
		text-decoration:none;
		text-align:left;
		color:#FFF;
		z-index:10;
		transition-duration:0.5s;
	}
	header nav ul li.active a,
	header nav ul li a:hover{
		text-decoration:none;
		background:rgba(44,53,113,0.2);
	}

	header nav ul li ul{
		position:absolute;
		top:48px;
		left:0px;
		width:250px;
		overflow:hidden;
		transition-duration:0.5s;
		}
		header nav ul li#nav_research ul{
			width:330px;
	}
	header nav ul li ul li{
		position:relative;
		width:100%;
		height:0px;
		text-align:center;
		background:rgba(0,0,0,0.9);
		transition-duration:0.5s;
		color:#000;
	}
	header nav ul li:hover ul{
	}
	header nav ul li:hover ul li{
		height:30px;
	}
	header nav ul li:hover ul li:hover{
		background:rgba(0,0,0,1);
	}
	header nav ul li ul li a{
		display:-webkit-flex;
		display:flex;
		justify-content:flex-start;
		align-items:center;
		text-align:left;
		position:relative;
		height:30px;
		padding:0 12px 0 25px;
		font-weight:normal;
		font-size:0.77rem;
		border-bottom:1px solid rgba(255,255,255,0.5);
		color:#FFF;
		}
		header nav ul li ul li a::before{
			content:" ";
			position:absolute;
			top:9px;
			left:12px;
			border: 6px solid transparent;
			border-left: 6px solid rgba(255,255,255,0.7);
	}
	header nav ul li.active ul li a{
		background:none;
	}
	header nav ul li ul li a:hover{
		text-decoration:none;
		background:rgba(255,255,255,0.2);
	}



/* other li */
header nav ul li#nav_top{
	display:none;
}

header nav ul li#nav_contact,
header nav ul li#sns_disp,
header nav ul li#nav_lang,
header nav ul li#nav_member,
header nav ul li#nav_mypage{
	position:absolute;
	}
	header nav ul li#nav_contact::before,
	header nav ul li#sns_disp::before,
	header nav ul li#nav_lang::before,
	header nav ul li#nav_member::before,
	header nav ul li#nav_mypage::before,
	header nav ul li#nav_contact::after,
	header nav ul li#sns_disp::after,
	header nav ul li#nav_lang::after,
	header nav ul li#nav_member::after,
	header nav ul li#nav_mypage::after{
		display:none;
}

header nav ul li#nav_contact{
	top:-102px;
	right:321px;
	width:115px;
	height:auto;
	background:#00B1ED;
	-moz-border-radius:0 0 6px 6px;
	-webkit-border-radius:0 0 6px 6px;
	border-radius:0 0 6px 6px;
	opacity:0.8;
	}
	header nav ul li#nav_contact a{
		height:auto;
		padding:2px 2px 2px 18px;
		font-weight:normal;
		font-size:0.77rem;
		background:url(../../image/base/nav_contact.png) no-repeat 10px center;
		text-align:right;
	}
	header nav ul li#nav_contact:hover{
		opacity:1;
}

header nav ul li#nav_lang{
	top:-102px;
	right:0px;
	width:90px;
	height:auto;
	background:linear-gradient(0deg, #A19DA0, #918B8E);
	-moz-border-radius:0 0 6px 6px;
	-webkit-border-radius:0 0 6px 6px;
	border-radius:0 0 6px 6px;
	opacity:0.8;
	}
	header nav ul li#nav_lang:hover{
		opacity:1;
	}
	header nav ul li#nav_lang a{
		height:auto;
		padding:2px 2px 2px 18px;
		font-weight:normal;
		font-size:0.77rem;
		text-align:right;
		background:url(../../image/base/nav_lang.png) no-repeat 10px center;
		color:#FFF;
}

header nav ul li#nav_mypage{
	top:-102px;
	right:100px;
	width:108px;
	height:auto;
	background:#d69000;
	-moz-border-radius:0 0 6px 6px;
	-webkit-border-radius:0 0 6px 6px;
	border-radius:0 0 6px 6px;
	opacity:0.8;
	}
	header nav ul li#nav_mypage:hover{
		opacity:1;
	}
	header nav ul li#nav_mypage a{
		height:auto;
		padding:2px 2px 3px 12px;
		font-weight:normal;
		font-size:0.77rem;
		text-align:right;
		color:#FFF;
	}
	header nav ul li#nav_mypage a::after{
		content:" ";
		position:absolute;
		top:5px;
		left:7px;
		width:5px;
		height:15px;
		background:#00479d;
		/*
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
		*/
}

header nav ul li#nav_member{
	top:-102px;
	right:219px;
	width:90px;
	height:auto;
	background:#009871;
	-moz-border-radius:0 0 6px 6px;
	-webkit-border-radius:0 0 6px 6px;
	border-radius:0 0 6px 6px;
	opacity:0.8;
	}
	header nav ul li#nav_member:hover{
		opacity:1;
	}
	header nav ul li#nav_member a{
		height:auto;
		padding:2px 2px 3px 12px;
		font-weight:normal;
		font-size:0.77rem;
		text-align:right;
		color:#FFF;
	}
	header nav ul li#nav_member a::after{
		content:" ";
		position:absolute;
		top:5px;
		left:7px;
		width:5px;
		height:15px;
		background:#D6DE00;
		/*
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
		*/
}

header nav ul li#sns_disp{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	width:110px;
	height:38px;
	top:-55px;
	right:0px;
	padding:5px 15px;
	background:rgba(255,255,255,0.1);
	border:1px solid rgba(255,255,255,0.3);
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	}
	header nav ul li#sns_disp:hover{
		background:rgba(255,255,255,0.2);
	}
	header nav ul li#sns_disp div{
}

header nav ul li#sns_disp{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	width:110px;
	height:38px;
	top:-55px;
	right:0px;
	padding:5px 15px;
	background:rgba(255,255,255,0.1);
	border:1px solid rgba(255,255,255,0.3);
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	}
	header nav ul li#sns_disp:hover{
		background:rgba(255,255,255,0.2);
	}
	header nav ul li#sns_disp div{
}

/* bulletin_board */
header nav ul li#bulletin_board{
	display:block;
	position:absolute;
	width:115px;
	height:35px;
	top:-54px;
	right:0px;
	background:url(../../image/base/bb.png) no-repeat 0 0;
	background-size:contain;
	padding:0px;
	}
	header nav ul li#bulletin_board::before,
	header nav ul li#bulletin_board::after{
		display:none;
	}
	header nav ul li#bulletin_board a{
		height:35px;
		font-weight:normal;
		font-size:0.96rem;
		text-align:center;
	}
	header nav ul li#bulletin_board a:hover{
		opacity:0.8;
}

/* search */
header #search_web{
	position:absolute;
	top:-58px;
	right:130px;
	width:200px;
	height:44px;
	text-align:left;
	
	}
	header #search_web #search_txt{
		margin:0 0 4px 0px !important;
		font-size:0.65rem;
		text-align:left;
		/*border-bottom:1px solid rgba(206,160,30,0.5);*/
		color:#CEA01E;
		color:#FFF;
		line-height:1;
	}
	header #search_web #search_box{
		position:relative;
	}
	header #search_web #search_box input[type="text"]{
		display:block;
		position:relative;
		width:calc(100% - 30px);
		height:26px;
		padding:1px 5px 1px 5px;
		font-size:0.75rem;
		background:#CCC;
		-moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.6) inset;
		-webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.6) inset;
		box-shadow: 0px 0px 5px rgba(0,0,0,0.6) inset;
		border:2px solid #333;
		transition-duration:0.5s;
	}
	header #search_web #search_box input[type="text"]:focus{
		background:#FFF;
		border:2px solid #CEA01E;
	}
	header #search_web #searchBtn{
		position:absolute;
		bottom:4px;
		right:0px;
		width:26px;/*13*/
		height:26px;/*15*/
		padding:3px 5px 4px 4px;
		z-index:10;
		background:rgba(206,160,30,0.8);
		background:rgba(0,0,0,0.8);
		border:2px solid #333;
		transition-duration:0.5s;
		}
		header #search_web #searchBtn:hover{
			background:rgba(206,160,30,1);
			border:2px solid #CEA01E;
}

/* --- responsive --- */
@media screen and (max-width:1000px){
	header nav ul > li > a{
		font-size:0.84rem;
	}
}
@media screen and (max-width:767px){
	header{
		display:none !important;
	}
}

/* -----------------------------------------------------------------
   main
----------------------------------------------------------------- */

main{
	display:block;
	position:relative;
	margin-top:0px;
	padding:0 20px;
	width:100%;
	z-index:80;
}
#main_contents{
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto;
	z-index:10;
}

section{
	position:relative;
	max-width:100%;
	margin-bottom:30px;
	padding:0px;
}

.contents{
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#main_contents{
		width:100%;
	}
	section{
		margin-bottom:25px;
	}
}

/* -----------------------------------------------------------------
   Link
----------------------------------------------------------------- */

#link_banner{
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto 65px;
	}
	#link_banner ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:center;
		flex-wrap:wrap;
		position:relative;
		width:100%;
		list-style:none;
		text-align:center;
	}
	#link_banner ul li{
		position:relative;
		width:240px;
		margin:0 10px 10px;/* 260px */
	}
	#link_banner ul li a{
	}
	#link_banner ul li a:hover{
		opacity:0.7;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#link_banner{
		margin:0 auto 10px;
	}
	#link_banner ul{
		justify-content:space-between;
	}
	#link_banner ul li{
		width:48%;
		margin:0 0px 10px;/* 260px */
	}
}

/* -----------------------------------------------------------------
   footer
----------------------------------------------------------------- */

footer{
	position:relative;
	width:100%;
	padding:20px 20px 10px;
	background:#000;
	color:#FFF;
	margin-bottom:0px;
	text-align:center;
	overflow:hidden;
	z-index:500;
	}
	footer p{
		position:relative;
		padding-right:70px;
		font-size:0.84rem;
		text-align:right;
		color:#FFF;
		z-index:10;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	footer p{
		font-size:0.70rem;
	}
}

/* -----------------------------------------------------------------
   ft_sitemap
----------------------------------------------------------------- */

#ft_contents{
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto;
}
#ft_sitemap{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:0 0 50px;
}

#ft_sitemap dl dt{
	position:relative;
	margin:0 0 3px;
	padding-left:15px;
	font-size:0.90rem;
	text-align:left;
	color:#FFF;
	background:linear-gradient(-180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.2));
	border-bottom:1px solid rgba(255,255,255,0.5);
	-moz-border-radius:0 6px 0 0;
	-webkit-border-radius:0 6px 0 0;
	border-radius:0 6px 0 0;
	}
	#ft_sitemap dl dt a{
		text-decoration:none;
		color:#FFF;
	}
	#ft_sitemap dl{
		margin:0 0 25px;
	}
	#ft_sitemap dl dt::before{
		content:" ";
		position:absolute;
		top:7px;
		left:0px;
		width:10px;
		height:10px;
		background:rgba(255,255,255,1);
	}	
	#ft_sitemap dl#ft_other_menu dt{
		padding-left:10px;
		font-size:0.77rem;
		background:none;
		border-bottom:none;
		border-bottom:1px solid rgba(255,255,255,0.5);
		-moz-border-radius:0;
		-webkit-border-radius:0;
		border-radius:0;
		}
		#ft_sitemap dl#ft_other_menu dt::before{
			top:8px;
			width:7px;
			height:7px;
	}

	#ft_sitemap dl dd{
		position:relative;
	}
	#ft_sitemap dl dd ul{
		list-style:none;
		}
		#ft_sitemap dl dd ul li{
			position:relative;
			padding-left:10px;
			text-align:left;
			line-height:1.3;
		}
		#ft_sitemap dl dd ul li::before{
			content:" ";
			position:absolute;
			top:10px;
			left:0px;
			width:5px;
			height:5px;
			background:rgba(255,255,255,0.6);
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
		}
		#ft_sitemap dl dd ul li a{
			font-size:0.74rem;
			text-align:left;
			text-decoration:none;
			color:#FFF;
		}
		#ft_sitemap dl dt a:hover,
		#ft_sitemap dl dd ul li a:hover{
			text-decoration:underline;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#ft_contents{
		display:none;
	}
}

/* -----------------------------------------------------------------
   pagetop
----------------------------------------------------------------- */

#pagetop{
	position:fixed;
	right:20px;
	bottom:25px;
	width:50px;
	height:50px;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	background:rgba(100,100,100,1);
	opacity:0.5;
	z-index:999;
	}
	#pagetop:before,
	#pagetop:after{
		content:" ";
		position:absolute;
	}
	#pagetop:before{
		top:8px;
		left:10px;
		width: 0;
		height: 0;
		margin-top: -15px;
		border:15px solid transparent;
		border-bottom:15px solid rgba(255,255,255,1);
	}
	#pagetop:after{
		top:23px;
		left:19px;
		width:13px;
		height:18px;
		background:rgba(255,255,255,1);
		z-index:0;
	}
	#pagetop span{
		display:none;
		position:absolute;
		top:-25px;
		height:22px;
		right:0px;
		width:80px;
		font-size:10px;
		background:rgba(255,255,255,1);
		border:1px solid #000;
		border-radius:5px;
		-webkit-border-radius:5px;
		-moz-border-radius:5px;
		color:#000;
		line-height:20px;
		}
		#pagetop span:before,
		#pagetop span:after{
			content:" ";
			position:absolute;
		}
		#pagetop span:before{
			bottom:-12px;
			right:8px;
			width:0;
			height:0;
			border:5px solid transparent;
			border-top:7px solid rgba(0,0,0,1);
		}
		#pagetop span:after{
			bottom:-11px;
			right:8px;
			width:0;
			height:0;
			border:5px solid transparent;
			border-top:7px solid rgba(255,255,255,1);
	}
	/* hover */
	#pagetop:hover{
		opacity:1;
	}
	
	#pagetop a{
		display:block;
		position:absolute;
		left:0px;
		top:0px;
		width:100%;
		height:100%;
		color:#0061B1;
		border-radius:6px;
		-webkit-border-radius:6px;
		-moz-border-radius:6px;
		z-index:1;
}
@media print{
	#pagetop{
		display:none;
	}
}


/* -----------------------------------------------------------------
   right_advertisement
----------------------------------------------------------------- */

#right_advertisement{
	position:fixed;
	top:220px;
	right:0px;
	z-index:1500;
}
#right_advertisement::before{
	content:" ";
	position:absolute;
	top:-5px;
	right:0px;
	width:55px;
	height:175px;
	background:#D6DE00;
	-moz-border-radius:6px 0 0 6px;
	-webkit-border-radius:6px 0 0 6px;
	border-radius:6px 0 0 6px;
	z-index:0;
	}
	#right_advertisement a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:50px;
		height:175px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright; /* すべて縦方向に表示 */
		font-family: 'Noto Serif JP', serif;
		font-size:1.4rem;
		text-decoration:none;
		background:#009871;
		color:#FFF;
		-moz-border-radius:6px 0 0 6px;
		-webkit-border-radius:6px 0 0 6px;
		border-radius:6px 0 0 6px;
		z-index:10;
		transition-duration:0.5s;
		}
		#right_advertisement a:hover{
			opacity:0.8;
}
#right_advertisement2{
	position:fixed;
	top:410px;
	right:0px;
	z-index:1501;
}
#right_advertisement2::before{
	content:" ";
	position:absolute;
	top:-5px;
	right:0px;
	width:55px;
	height:175px;
	background:#43a3dc;
	-moz-border-radius:6px 0 0 6px;
	-webkit-border-radius:6px 0 0 6px;
	border-radius:6px 0 0 6px;
	z-index:0;
	}
	#right_advertisement2 a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:50px;
		height:175px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright; /* すべて縦方向に表示 */
		font-family: 'Noto Serif JP', serif;
		font-size:1.4rem;
		text-decoration:none;
		background:#d69000;
		color:#FFF;
		-moz-border-radius:6px 0 0 6px;
		-webkit-border-radius:6px 0 0 6px;
		border-radius:6px 0 0 6px;
		z-index:10;
		transition-duration:0.5s;
		}
		#right_advertisement2 a:hover{
			opacity:0.8;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#right_advertisement{
		display:none;
	}
	#right_advertisement2{
		display:none;
	}
}


/* -----------------------------------------------------------------
   ft_sdgs
----------------------------------------------------------------- */

#ft_sdgs{
	position:relative;
	width:100%;
	background:#FFF;
	text-align:center;
	z-index:999;
	}
	#ft_sdgs a{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:flex-start;
		flex-wrap:wrap;
		position:relative;
		width:1000px;
		max-width:100%;
		min-height:85px;
		margin:0 auto;
		font-size:0.84rem;
		text-decoration:none;
		color:#555;
		transition-duration:0.5s;
		}
		#ft_sdgs a:hover{
			opacity:0.7;
	}
	#ft_sdgs span{
		position:relative;
		display:-webkit-flex;
		display:flex;
		align-items:center;
		width:280px;
	}
	#ft_sdgs p{
		position:relative;
		display:-webkit-flex;
		display:flex;
		align-items:center;
		width:calc(100% - 280px);
		max-width:100%;
		margin:0 auto;
		text-align:left;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#ft_sdgs a{
		padding:10px 10px;
		font-size:0.70rem;
		text-align:center !important;
	}
	#ft_sdgs span{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		text-align:center;
	}
	#ft_sdgs p{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		margin:0 auto;
		text-align:center !important;
	}
}






