@CHARSET "UTF-8";

/* HEADER */
header.template_c2 .gnavi_area ul li a{font-size:16px;}
header.template_c2 .gnavi_area ul li a:hover{color:#006CB7}
header.template_c2 .gnavi_area ul li a:hover::after{background-color:#006CB7}
header.template_c2 .gnavi_area ul li.main_current a{color:#006CB7;/* width:100%; */}
header.template_c2 .gnavi_area ul li.main_current a::after{background-color:#006CB7;}
header.template_c2 #contact_area a,
header.template_c2 #contact_area2 a{
	border-left:1px solid #FFF;
	border-right:1px solid #FFF;
}
header.template_c2 #contact_area a{background:#006CB7 url("/dcms_media/image/icon_map.png") no-repeat center 20px/25px auto;}
header.template_c2 #contact_area2 a{background:#006CB7 url("/dcms_media/image/icon_form.png") no-repeat center 20px/25px auto;}
header.template_c2 #contact_area a:hover{background:#00487B url("/dcms_media/image/icon_map.png") no-repeat center 20px/25px auto;}
header.template_c2 #contact_area2 a:hover{background:#00487B url("/dcms_media/image/icon_form.png") no-repeat center 20px/25px auto;}
header.template_c2 #contact_area a span,
header.template_c2 #contact_area2 a span{font-size:11px;}
header.template_c2 .overmenu{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position:absolute;
	right:0;
}
header.template_c2 .overmenu .upper{
	width:calc(100% - 140px);
	margin:0 5px 0 0;
}
header.template_c2 .overmenu .upper li{
	margin-right:0;
	padding-left:1em;
	margin-right:1em;
	display:inline-block;
	position:relative;
}
header.template_c2 .overmenu .upper li:last-child{padding-right:0;}
header.template_c2 .overmenu .upper li::after{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	content:'';
	vertical-align:middle;
	width:4px;
	height:4px;
	border-top:2px solid #1a88d7;
	border-right:2px solid #1a88d7;
	transform:rotate(45deg);
}
header.template_c2 .overmenu .upper li a{font-size:13px;}
header.template_c2 .overmenu .under{
	width:130px;
	margin:0 0 0 5px;
	background-color:#F3F1F2;
	background-repeat:no-repeat;
	background-position:left 5% center;
	background-size:20px;
}
header.template_c2 .overmenu .under #sources{
	background-color:transparent;
	display:block;
	font:inherit;
	width:100%;
	line-height:1.5em;
	padding:0.5em 3em 0.5em 2em;
	margin:0 0 0 auto;
	-webkit-box-sizing:border-box;
	border:none;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-appearance:none;
	-moz-appearance:none;
	background-image:linear-gradient(45deg, transparent 50%, #1987D6 50%), linear-gradient(135deg, #1987D6 50%, transparent 50%), linear-gradient(to right, transparent, transparent);
	background-position:calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), 100% 0;
	background-size:5px 5px, 5px 5px, 2.5em 2.5em;
	background-repeat:no-repeat;
}
header.template_c2 .gnavi_btn_sp .open{display:none;}
header.template_c2 .gnavi_sp{width:100%;}
header.template_c2 .gnavi_sp nav{margin:0 60px 0 auto;}
header.template_c2 .gnavi_sp li{
	width:calc(100%/3 - 10px);
	float:right;
	line-height:0;
	list-style:none;
}
header.template_c2 .gnavi_sp ul{
	display:table;
	margin:0 0 0 auto;
}
header.template_c2 .gnavi_sp li a{
	padding:5px 2px;
	display:block;
}
header.template_c2 .gnavi_area nav{text-align:center;}
header.template_c2 .gnavi_area nav ul{
	list-style:none;
	display:flex;
	justify-content:center;
}
header.template_c2 .gnavi_area nav .submenu,
header.template_c2 .gnavi_area nav .minimenu{display:block;}
header.template_c2 .gnavi_area nav ul li{position:relative;}
header.template_c2 .gnavi_area nav ul li a{
	display:block;
	text-decoration:none;
	transition:all .3s;
}
header.template_c2 .gnavi_area nav ul li li a{padding:10px 16px;/* width:100%; */}
header.template_c2 .gnavi_area nav .submenu li.has-child::before{
	content:'';
	position:absolute;
	right:10px;
	top:0;
	bottom:0;
	margin:auto;
	width:6px;
	height:6px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(45deg);
}
header.template_c2 .gnavi_area nav ul .submenu{
	position:absolute;
	left:0;
	right:0;
	top:42px;
	width:100%;
	visibility:hidden;
	opacity:0;
	transition:all 0.3s;
}
header.template_c2 .gnavi_area nav ul .submenu li{
	height:auto;
	background:#E2F0FB;
	border-right:none;
	border-bottom:solid 1px #FFF;
}
header.template_c2 .gnavi_area ul li .submenu li a::after{display:none}
header.template_c2 .gnavi_area nav li.has-child ul{visibility:hidden;}
header.template_c2 .gnavi_area nav li.has-child ul li a{
	font-size:12px;
}
header.template_c2 .gnavi_area nav li.has-child ul li a::before{display:none}
header.template_c2 .gnavi_area nav li.has-child ul li:last-child a{border-bottom:none;}
header.template_c2 .gnavi_area nav li.has-child ul li a:hover,
header.template_c2 .gnavi_area nav li.has-child ul li a:active{background:#FFF;}
header.template_c2 .gnavi_area nav li.has-child .submenu li a:hover,
header.template_c2 .gnavi_area nav li.has-child .submenu li a:active{
	background:#E2F0FB;
}
header.template_c2 .gnavi_area nav .minimenu{
	top:0;
	right:-90%;
}
header.template_c2 .gnavi_area nav ul .submenu li .minimenu li{background-color:#F3F1F2;}
header.template_c2 .gnavi_area nav ul li .sp-hamspan{
	width:auto;
	display:table!important;
	padding:10px 16px;
	font-weight:bold;
	font-size:13px;
	color:#333;
}
#sp-lg {
	-webkit-appearance:none;
	-moz-appearance:none;
	text-indent:0.01px;
	appearance:none;
	width:50px;
	height:50px;
	border:none;
	padding:5px 2px;
	background-color:transparent;
	background-image:url(/dcms_media/image/language_btn.png);
	background-repeat:no-repeat;
	background-size:40px;
	background-position:center;
	cursor:pointer;
}
@media only screen and (max-width:690px){
	header.template_c2 .overmenu{display:none;}
	header.template_c2 .gnavi_btn_sp{
		right:0;
		top:15px;
	}
	header.template_c2 .gnavi_btn_sp_in span{
		height:2px;
		background-color:#F3F1F2;
	}
	header.template_c2 #header{background-color:#006DB7;}
	header.template_c2 .gnavi_btn_sp .close{color:transparent;}
	header.template_c2 #header_logo{background-color:#FFF;}
	header.template_c2 #header_logo{
		margin-left:0;
		padding:0 10px;
	}
	header.template_c2 .gnavi_contact a{background:#006CB7;}
	header.template_c2 .gnavi_contact.no2 a{background:#006CB7;}
	header.template_c2 .gnavi_contact a .txt{background:url(/dcms_media/image/icon_map.png) no-repeat left center/15px auto;}
	header.template_c2 .gnavi_contact.no2 a .txt{background:url(/dcms_media/image/icon_form.png) no-repeat left center/15px auto;}
	header.template_c2 .gnavi_area nav{
		padding:0;
		max-height:100vh;
		overflow-y:auto;
	}
	header.template_c2 .gnavi_area nav ul{display:block;}
	header.template_c2 .gnavi_area ul li{cursor:pointer;/* padding:12px 16px; */}
	header.template_c2 .gnavi_area ul li a{
		text-align:left;
		padding:0;
		width:auto;
		display:table!important;
		padding:10px 16px;
	}
	header.template_c2 .gnavi_area nav li.has-child .submenu{
		position:relative;
		left:0;
		top:0;
		width:100%;
		visibility:visible;
		opacity:1;
		display:none;
		transition:none;
	}
	header.template_c2 .gnavi_area li.has-child.active .submenu{
		display:block
	}
	header.template_c2 .gnavi_area nav ul .has-child::before{
		content:'';
		position:absolute;
		right:15px;
		top:0;
		bottom:0;
		margin:auto;
		width:6px;
		height:6px;
		border-top:2px solid #999;
		border-right:2px solid #999;
		transform:rotate(135deg);
	}
	header.template_c2 .gnavi_area nav ul .has-child.active::before{
		display:none;
	}
	header.template_c2 .gnavi_area nav .submenu li.has-child::before{
		transform:rotate(135deg);
		right:15px;
	}
	header.template_c2 .gnavi_area nav .minimenu {
		position:relative;
		right:0;
	}
	header.template_c2 .gnavi_area nav ul li.has-child.active .minimenu {
		display:block;
		opacity:1;
	}
	header.template_c2 .gnavi_area nav li.has-child ul{
		visibility:visible;
		opacity:1;
	}
	header.template_c2 .gnavi_area nav ul li .minimenu a{padding:6px 16px;}
	header.template_c2 .gnavi_area li .submenu a,
	header.template_c2 .gnavi_area nav ul li .minimenu a{width:100%;}
}
@media only screen and (min-width:691px){
	header.template_c2 .gnavi_sp{display:none;}
	header.template_c2 .gnavi_area nav li.has-child:hover>ul,
	header.template_c2 .gnavi_area nav li.has-child ul li:hover>ul,
	header.template_c2 .gnavi_area nav li.has-child:active>ul,
	header.template_c2 .gnavi_area nav li.has-child ul li:active>ul{
		visibility:visible;
		opacity:1;
	}
	header.template_c2 .gnavi_area nav ul li.sp-gha{display:none;}
}
@media only screen and (min-width:690px){
	header.template_c2 .gnavi_area{
		position:relative;
		width:calc(100% - 160px);
	}
	header.template_c2 .gnavi_area nav ul{
		height:50%;
		bottom:0;
		right:0;
		position:absolute;
	}
	header.template_c2 .gnavi_area nav ul li{
		width:100%;
		margin-right:0;
	}
	header.template_c2 .gnavi_area nav ul{width:calc(100% - 20px);}
	header.template_c2 .gnavi_area ul li a{
		display:block;
		text-align:center;
	}
	header.template_c2 .gnavi_area nav ul li:first-of-type{
		padding-right:0;
		border-left:none;
	}
}

/* ANKER */
#ank{padding:80px 15px;}
#ank .logo{
	width:200px;
	margin:0 auto 30px;
	position:relative;
}
#ank .logo .symbol{
	position:absolute;
	right:-40%;
	top:0;
	bottom:0;
	margin:auto;
}
#ank .icon{
	list-style:none;
	margin:auto;
	padding:0;
	display:table;
}
#ank .icon li{
	display:inline-block;
	margin:0 6px;
}
#ank .mark{
	display:table;
	margin:20px auto 0;
}
#ank .mark figure{
	float:left;
	text-align:center;
}
#ank .mark figure:first-child{
	margin:0 5px 0 0;
	width:calc(40% - 5px);
}
#ank .mark figure:nth-child(2){
	margin:0 0 0 5px;
	width:calc(60% - 5px);
}
#ank .mark figure img{
	height:70px;
	width:auto;
	object-fit:scale-down;
}
@media only screen and (max-width:690px){
	#ank{padding:45px 15px;}
	#ank .logo{width:150px;}
	#ank .logo .symbol{width:55px;}
	#ank .icon img{width:30px;}
	#ank .mark img{width:100px;}
}

/* FOOTER */
#footer .symbol{
	max-width:1120px;
	margin:auto;
	text-align:right;
	padding:0 15px;
	line-height:0;
}
#footer .grid{
	margin:auto;
	max-width:1120px;
	display:table;
}
#footer li a:hover{color:#006CB7;}
#footer li a{text-decoration:none;}
#footer .menuA{background-color:#F0F0F0;}
#footer .menuA, #footer .menuB{padding:30px 15px;}
#footer .menuA ul li{
	display:inline-block;
	margin:0 1.5em;
	text-align:center;
}
#footer .menuB ul li{
	display:inline-block;
	text-align:center;
	margin:0 10px;
}
#footer .menuB ul li a{font-size:13px;}
#footer .infomenu{
	background-color:#006CB8;
	padding:24px 15px;
}
#footer .infomenu li{
	display:inline-block;
	text-align:center;
	margin:0 10px;
}
#footer .infomenu li a{
	color:#FFF;
	font-size:14px;
}
#footer .infomenu li a:hover{color:#000;}
#footer .infomenu .copy{
	text-align:center;
	max-width:1120px;
	margin:10px auto 0;
	color:#FFF;
	font-size:12px;
}
@media only screen and (max-width:810px){
	#footer .menuA ul li{
		width:calc(100%/3 - 4px);
		margin:0;
	}
	#footer .menuB ul{max-width:360px;}
	#footer .menuB ul li{
		width:calc(50% - 3px);
		margin:0;
		text-align:left;
	}
}
@media only screen and (max-width:450px){
	#footer .menuA ul li a{font-size:11px;}
	#footer .infomenu li a{font-size:12px;}
}
@media only screen and (max-width:390px){
	#footer .menuB ul li a{font-size:10px;}
}

/* SIDE BANNER */
.edge_nav{
	z-index:2;
	position:fixed;
	top:50%;
	right:2px;
	width:60px;
	min-width:60px;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.edge_nav_item{
	text-align:center;
	margin:10px 0;
	list-style:none;
}
.edge_nav_item a{
	display:table;
	font-size:18px;
	height:180px;
	white-space:nowrap;
	-webkit-writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
	text-decoration:none;
	box-shadow:0px 0px 6px 0px rgba(0,0,0,0.6);
}
.edge_nav_item .nevA{
	background-color:#FFF;
	padding:25px 15px 40px;
	color:#006CB7;
	position:relative;
}
.edge_nav_item .nevA::before{
	content:'\f35d';
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	color:#BFBFBF;
	width:1em;
	height:1em;
	line-height:1;
	text-align:center;
	font-size:1em;
	position:absolute;
	bottom:5px;
	right:0;
	left:0;
	margin:auto;
	transform:translateY(-50%);
}
.edge_nav_item .nevA:hover{
	background-color:#006CB7;
	color:#FFF!important;
}
.edge_nav_item .nevB{
	background-color:#E70012;
	padding:25px 15px;
	color:#FFF;
}
.edge_nav_item .nevB:hover{
	background-color:#FFF;
	color:#E70012;
}
@media screen and (max-width:950px){
	header.template_c2 .overmenu .upper li a{font-size:12px;}
}
@media screen and (max-width:1024px){
	.edge_nav{
		right:0;
		top:auto;
		bottom:0;
		width:100%;
		transform:none;
		box-shadow:0px 0px 6px 0px rgba(0,0,0,0.6);
	}
	.edge_nav_item{
		margin:0;
		float:left;
		width:50%;
	}
	.edge_nav_item a{
		font-size:15px;
		width:100%;
		white-space:normal;
		height:auto;
		-webkit-writing-mode:horizontal-tb;
		-ms-writing-mode:horizontal-tb;
		writing-mode:horizontal-tb;
		box-shadow:	none;
	}
	.edge_nav_item .nevA{padding:10px 0;}
	.edge_nav_item .nevB{padding:10px 0;}
	.edge_nav_item .nevA::before {
		left:auto;
		right:12px;
		top:12px;
		bottom:0;
	}
	#footer .infomenu{padding:24px 15px 70px;}
}
@media screen and (max-width:690px){
	.edge_nav_item a{font-size:13px;}
}
@media screen and (min-width:691px) and (max-width:920px){
	header.template_c2 .gnavi_area ul li a{font-size:13px}
	header.template_c2 .overmenu .upper li a{font-size:10px;}
	header.template_c2 #header_logo{
		width:75px;
		margin-left:10px;
	}
	header.template_c2 .overmenu .under{
		width:95px;
		background-size:14px;
		margin:0 0 0 3px;
	}
	header.template_c2 .overmenu .under #sources{
		padding:0.5em 0.8em 0.5em 2.2em;
		font-size:12px;
	}
	header.template_c2 .overmenu .upper{
		width:calc(100% - 101px);
		margin:0 3px 0 0;
	}
	header.template_c2 .overmenu .upper li{
		padding-left:0.75em;
		margin-right:0.6em;
	}
	header.template_c2 #contact_area,
	header.template_c2 #contact_area2{width:70px;}
	header.template_c2 #contact_area a,
	header.template_c2 #contact_area2 a{padding:30px 5px 0;}
}
@media screen and (min-width:791px) and (max-width:920px){
	header.template_c2 .overmenu .upper li a{font-size:12px;}
	header.template_c2 #header_logo{width:100px;}
	header.template_c2 .overmenu .upper li{
		padding-left:0.6em;
		margin-right:0.8em;
	}
}