/* ******************************************************************
 *	File name		: base.css
 *	Summary			: css base
 * ******************************************************************
 */
/*

aqua  #004EA2 rgba(0,78,162,0.5)

*/

/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

body{
	position:relative;
	width:100%;
	height:100%;
	line-height:145%;
	color:#222;
}
#wrapper{
	position:relative;
	width:100%;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#wrapper{
		padding-top:60px !important;
	}
}
@media print {
	body{
		margin:0;
		width:1100px;
	}
}

/* -----------------------------------------------------------------
   header
----------------------------------------------------------------- */

header{
	position:relative;
	top:0px;
	left:0px;
	width:100%;
	height:120px;
	margin:0;
	z-index:50;
	}
	header::before{
		content:" ";
		position:absolute;
		left:0px;
		bottom:0px;
		width:100%;
		height:42px;
		background:#004EA2;
		z-index:-1;
	}
	#head_contents{
		position:relative;
		width:1000px;
		max-width:100%;
		height:100%;
		margin:0 auto;
		padding:0px 0 0 0;
		text-align:center;
		z-index:1;
	}
	header h1{
		position:absolute;
		top:9px;
		left:0px;
		width:427px;
		height:64px;
		z-index:2;
		}
		header h1 a img{
			width:100%;
			height:auto;
	}
	header #head_group{
		position:absolute;
		top:11px;
		left:150px;
		font-size:0.8rem;
		z-index:1;

}
/* nav */
header nav{
	position:absolute;
	left:0px;
	bottom:0px;
	width:100%;
	height:42px;
	z-index:1000;
	background:#004EA2;
	transition-duration:1.0s;
}
header nav > ul{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:center;
	flex-wrap:wrap;
	position:relative;
	width:100%;
	height:100%;
	margin:0 auto;
	list-style:none;
	}
	header nav > ul > li{
		position:relative;
		height:100%;
		text-align:center;
		color:#000;
		transition-duration:0.5s;
	}
	header nav > ul > li::before,
	header nav > ul > li::after{
		content:" ";
		position:absolute;
		top:calc(50% - 8px);
		width:1px;
		height:16px;
		background:rgba(255,255,255,1);
		}
		header nav > ul > li::before{
			left:0px;
		}
		header nav > ul > li::after{
			right:-1px;
	}
	header nav ul > li > a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		height:100%;
		padding:5px 35px;
		font-weight:normal;
		font-size:0.96rem;
		text-decoration:none;
		text-align:center;
		color:#FFF;
		z-index:10;
		line-height:1.35;
		transition-duration:0.5s;
	}
	header nav ul li a::before{
		content:" ";
		position:absolute;
		top:15%;
		left:10%;
		width:80%;
		height:70%;
		background:rgba(0,0,0,0.3);
		-moz-border-radius:6px;
		-webkit-border-radius:6px;
		border-radius:6px;
		z-index:-1;
		opacity:0;
		transition-duration:0.5s;
	}
	header nav ul li:hover a,
	header nav ul li.active a{
		text-decoration:none;
	}
	header nav ul li:hover a::before,
	header nav ul li.active a::before{
		opacity:1;
}

/* ul ul */

	header nav ul li ul{
		position:absolute;
		top:42px;
		left:0px;
		width:250px;
		overflow:hidden;
		transition-duration:0.5s;
	}
	header nav ul li ul li{
		position:relative;
		width:100%;
		height:0px;
		text-align:center;
		background:#3371B5;
		transition-duration:0.5s;
		color:#000;
	}
	header nav ul li:hover ul{
	}
	header nav ul li:hover ul li{
		height:34px;
	}
	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:34px;
		padding:0 12px;
		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{
			display:none;
	}
	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);
	}

header nav a.outlink::after{
	content:" ";
	display:inline-block;
	width:10px;
	height:9px;
	margin:0 0 0 7px;
	background:url(../../image/base/blank_w.png) no-repeat 0 0;
}

/* other li */
header nav ul li#nav_top{
	display:none;
}

/* mn_contact mn_accesss */
header nav ul li#mn_contact,
header nav ul li#mn_accesss{
	position:absolute;
	top:-49px;
	width:auto;
	height:auto;
	}
	header nav ul li#mn_contact{
		right:218px;
	}
	header nav ul li#mn_accesss{
		right:120px;
	}
	header nav ul li#mn_contact::before,
	header nav ul li#mn_accesss::before,
	header nav ul li#mn_contact::after,
	header nav ul li#mn_accesss::after{
		display:none;
	}
	header nav ul > li#mn_contact > a,
	header nav ul > li#mn_accesss > a{
		display:inline-block;
		height:auto;
		padding:0 0 0 10px;
		font-size:0.90rem;
		text-align:left;
		color:#004EA2;
	}
	header nav ul > li#mn_contact > a::before,
	header nav ul > li#mn_accesss > a::before{
		display:none;
	}
	header nav ul > li#mn_contact > a::after,
	header nav ul > li#mn_accesss > a::after{
		content:" ";
		position:absolute;
		top:calc(50% - 6px);
		left:0px;
		border: 6px solid transparent;
		border-left: 8px solid #004EA2;
	}
	header nav ul > li#mn_contact > a:hover,
	header nav ul > li#mn_accesss > a:hover{
		text-decoration:underline;
}

/* sns_disp */
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;
	position:absolute;
	top:-54px;
	right:0px;
	width:96px;
	height:33px;
	}
	header nav ul li#sns_disp::before,
	header nav ul li#sns_disp::after{
		display:none;
	}
	header nav ul li#sns_disp a{
		display:inline-block;
		position:relative;
		height:100%;
		padding:0px;
}

/* --- responsive --- */
@media screen and (max-width:1000px){
	header nav{
		right:120px;
		}
		header nav ul > li > a{
			padding:3px 10px;
			font-size:0.77rem;
	}
	header nav ul li#nav_yoyaku{
		right:-110px;
		width:90px;
	}
}
@media screen and (max-width:767px){
	header{
		display:none;
	}
}

/* -----------------------------------------------------------------
   main
----------------------------------------------------------------- */

main{
	display:block;
	position:relative;
	margin-top:0px;
	width:100%;
	background:#FFF;
	z-index:1;
}

section{
	position:relative;
	max-width:100%;
	margin-bottom:50px;
	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;
	}
}

/* -----------------------------------------------------------------
   footer
----------------------------------------------------------------- */

footer{
	position:relative;
	width:100%;
	margin-bottom:0px;
	padding:15px 20px;
	text-align:center;
	overflow:hidden;
	background:#004EA2;
	color:#000;
	z-index:500;
	}

	footer #sns_link{
		position:relative;
		width:1000px;
		max-width:100%;
		margin:0 auto 25px;
		text-align:left;
		z-index:90;
		}
		footer #sns_link ul{
			display:-webkit-flex;
			display:flex;
			-webkit-box-pack:justify;
			-ms-flex-pack:justify;
			justify-content:flex-start;
			flex-wrap:wrap;
		}
		footer #sns_link ul li{
			margin:0 5px 5px;
			list-style:none;
			overflow:hidden;
		}
		footer #sns_link ul li:nth-child(1),
		footer #sns_link ul li:nth-child(2){
			-moz-border-radius:6px;
			-webkit-border-radius:6px;
			border-radius:6px;
		}
		footer #sns_link ul li a{
			transition-duration:0.5s;
		}
		footer #sns_link ul li a:hover{
			opacity:0.8;
	}

	footer #ft_banner{
		position:relative;
		width:1000px;
		max-width:100%;
		margin:0 auto 45px;
		text-align:left;
		z-index:90;
		}
		footer #ft_banner p{
			position:relative;
			margin:0 0 7px;
			font-size:0.87rem;
			color:#FFF;
		}
		footer #ft_banner ul{
			display:-webkit-flex;
			display:flex;
			-webkit-box-pack:justify;
			-ms-flex-pack:justify;
			justify-content:flex-start;
			flex-wrap:wrap;
		}
		footer #ft_banner ul li{
			margin:0 5px 5px;
			list-style:none;
		}
		footer #ft_banner ul li a{
			transition-duration:0.5s;
		}
		footer #ft_banner ul li a:hover{
			opacity:0.8;
	}

	footer ul#ft_menu{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:flex-end;
		flex-wrap:wrap;
		position:absolute;
		top:20px;
		right:calc(50% - 480px);
		width:1000px;
		max-width:100%;
		margin:0 auto;
		list-style:none;
		z-index:100;
	}
	footer ul#ft_menu li{
		position:relative;
		margin:0 0 5px;
		border-right:1px solid rgba(255,255,255,0.5);
		line-height:1.25;
		}
		footer ul#ft_menu li::before{
			content:" ";
			position:absolute;
			top:0px;
			left:0px;
			width:1px;
			height:100%;
			background:rgba(255,255,255,0.5);
	}
	footer ul#ft_menu li a{
		padding:3px 20px 3px;
		font-size:0.77rem;
		text-decoration:none;
		color:#FFF;
		transition-duration:0.5s;
		}
		footer ul#ft_menu li a:hover{
			background:#FFF;
			color:#004EA2;
	}
	footer p#copyright{
		position:relative;
		top:0px;
		right:0px;
		width:100%;
		font-size:0.84rem;
		text-align:center;
		color:#FFF;
	}

/* --- responsive --- */
@media screen and (max-width:767px){
	footer #sns_link ul li{
		max-width:calc(49% - 10px);
	}
	footer #ft_banner{
		margin:0 auto 20px;
	}
	footer #ft_banner p{
		font-size:0.84rem;
	}
	footer #ft_banner ul li{
		max-width:calc(49% - 10px);
	}
	footer ul#ft_menu{
		justify-content:space-around;
		position:relative;
		top:0px;
		right:0px;
		width:100%;
		margin:0 auto 20px;
	}
	footer p#copyright{
		position:relative;
		top:0px;
		right:0px;
		width:100%;
		font-size:0.77rem;
		text-align:center;
		color:#FFF;
	}
}

/* -----------------------------------------------------------------
   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;
	}
}










