@charset "utf-8";
/*
 * CSS base.css
 */

/* ---------------------------------------
#common
--------------------------------------- */
body{
	color: #323232;
	font-size: 14px;
	line-height: 2;
	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.001em;
	max-height: 999999px;
}
@media screen and (max-width: 767px){
	body{
		line-height: 1.8;
	}
}
@media screen and (max-width: 639px) {
	/*body { font-size: 16px; }*/
}
@media screen and (max-width: 479px) {
	/*body { font-size: 16px; }*/
}


/*.ie10{
	display: none;
}
.ie8{
	display: none;
}*/
/*
 6px 0.42em
 7px 0.50em
 8px 0.57em
 9px 0.64em
10px 0.71em
11px 0.78em
12px 0.85em
13px 0.92em
14px 1.00em
15px 1.07em
16px 1.14em
17px 1.21em
18px 1.28em
19px 1.35em
20px 1.42em
21px 1.50em
22px 1.57em
23px 1.64em
24px 1.71em
25px 1.78em
26px 1.85em
27px 1.92em
28px 2.00em
29px 2.07em
30px 2.14em
*/


/* ---------------------------------------
#common
--------------------------------------- */
/* txt */
a:link,
a:visited { color:#000; text-decoration: none; font-weight: inherit;}

.txtsmall { font-size: 0.85em; }
.txtbig1 { font-size: 1.15em; font-weight: bold; }
.txtbig2 { font-size: 1.29em; font-weight: bold; }
.txtbasebig { color: #00a99d; font-size: 1.15em; font-weight: bold; }
.textRed{ color: #E41C24!important; }

.txt_bold{
	font-weight: bold!important;
}
.txt_normal{
	font-weight: normal;
}
.txt_red{
	color: #ed1c24;
}


/*
---------------------------------------
#header
--------------------------------------- */
/*#wrapper{
    height: 100vh;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
}*/
#wrapper{
	min-width: 1200px;
	position: relative;
}
@media screen and (max-width: 767px){
	#wrapper{
		min-width: 100%;
	}
}
#header {
	position: fixed;
	top:0;
	z-index: 10000;
	width: 100%;
	height: 110px;
	background: rgba(255,255,255,0.92);
}

#logo {
	position: absolute;
	top: 30px;
	left: 0;
	height: 80px;
	background: #FFF;
	z-index: 2;
	padding-left: 30px;
}
#logo a{
	display: table-cell;
	height: 80px;
	padding: 0 10px 0 10px;
	box-sizing: border-box;
	vertical-align: middle;
}
#logo a:hover{
	opacity: 0.6;
}
#logo img{
	width: 146px;
}
#logo:after{
	content: "";
	width: 1px;
	height: 60px;
	display: block;
	background: #BCB9B9;
	position: absolute;
	top: 50%;
	margin-top: -30px;
	right: 0;
}
#logo_black{
	position: absolute;
	top: 30px;
	left: 196px;
	height: 80px;
	background: #FFF;
	z-index: 1;
}
#logo_black a{
	display: table-cell;
	height: 80px;
	padding: 0 10px 0 10px;
	box-sizing: border-box;
	vertical-align: middle;
}
#logo_black a:hover{
	opacity: 0.6;
}
#logo_black img{
	width: 135px;
}
.h_cap {
	background: url(../img/common/h_bg1.png) no-repeat right;
	text-align: right;
	padding-right: 5%;
	background-color:#000;
	color: #000;
	font-size: 0.78em; /*11px*/
	line-height: 30px;
}
@media screen and (max-width: 1180px){
	#logo {
		width: 13%;
		padding-left: 2.5%;
	}
	#logo_black{
		left: 15.5%;
		width: 13%;
	}
}
@media screen and (max-width: 767px) {
	#header {
		width: 100%;
		height: 50px;
		background: rgba(0,0,0,0.7)!important;
	}
	#logo{
		position: relative;
		float: left;
		max-width: 160px;
		width: 40%;
		height: 50px;
		top: 0;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}
	#logo a{
		display: block;
		height: 50px;
		padding: 5px 5px 0 10px;
	}
	#logo img{
		width: auto;
		max-height: 40px;
	}
	#logo:after{
		height: 40px;
		margin-top: -20px;
	}
	#logo_black{
		position: relative;
		float: left;
		max-width: 160px;
		width: 40%;
		top: 0;
		left: 0;
		height: 50px;
		padding: 0;
		text-align: center;
	}
	#logo_black a{
		display: block;
		height: 50px;
		padding: 5px 5px 0 10px;
	}
	#logo_black img{
		width: auto;
		max-height: 40px;
	}
	.h_cap {
		display: none;
	}
}

/* ---------------------------------------
#h_search 
--------------------------------------- */
#h_search {
	position: absolute;
	z-index: 100;
	top: 0;
	right:145px;
	width: 200px;
	height: 30px;
	background: #646464 url(../img/common/ico_search.png) no-repeat 12px center;
	background-size: 16px 16px;
}
#h_search .gsc-control-cse{
	padding: 0;
	margin:0;
	background: none!important;
	border:none;
}
#h_search form.gsc-search-box {
	box-sizing: border-box;
	padding: 0px;
	padding-left: 40px;
	margin-bottom: 0px;
}
#h_search form input[type="text"]{
	height: 30px;
	padding:0;
	line-height: 1;
	box-sizing: border-box;
	font-size: 16px;
	border:none;
	background: none!important;
	color:#fff;
	max-width: 100%;
	width:100%;
}
#h_search .gsc-search-button{display: none;}
#h_search .gsc-clear-button{display: none;}

@media screen and (max-width: 820px) {
	#h_search {
		width: 150px;
	}
}
@media screen and (max-width: 767px) {
	#h_search {
		position: static;
		width: 100%;
		height: 50px;
		background: #646464 url(../img/common/ico_search.png) no-repeat 20px center;
		background-size: 16px 16px;
	}
	#h_search form.gsc-search-box {
		padding-left: 50px;
	}
	#h_search form input[type="text"]{
			height: 50px;
	}
	#h_search .gsc-results-wrapper-overlay{
		width: 90%;
		left: 5%;
		top: 5%!important;
		padding: 30px 20px;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 479px) {
	#h_search .gsc-results-wrapper-overlay{
		width: 90%;
		left: 5%;
	}
}


/* ---------------------------------------
#lang_list
--------------------------------------- */
#lang_list {
	display: none;
	position: absolute;
	top: 0;
	right:0px;
	width: 145px;
	z-index: 11;
}
#lang_list dt{
	position: relative;
	padding-left: 22px;
	height: 30px;
	background: #8C8B8B;
	color: #fff;
	font-weight: bold;
	line-height: 30px;
	cursor: pointer;
}
#lang_list dt:after{
	content:"";
	position:absolute;
	top:50%;
	right: 9px;
	display: block;
	width: 13px;
	height: 7px;
	background: url(../img/common/ico_arrow1.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-4px;
}
#lang_list dd{
	display: none;
}
#lang_list ul li span{
	position: relative;
	display: block;
	padding-left: 40px;
	background: #ECE9E9;
	line-height: 50px;
}
#lang_list ul li span:before{
	content:"";
	position:absolute;
	top:50%;
	left: 14px;
	display: block;
	width: 17px;
	height: 15px;
	background: url(../img/common/ico_lang.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-8px;
}
#lang_list ul li a{
	display: block;
	padding-left: 40px;
	background: #505050;
	color: #fff;
	line-height: 50px;
}
#lang_list ul li a:hover{
	background: #e6231e;
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	#lang_list {
		display: block;
		position: static;
		width: 100%;
		height: 45px;
		background: #8C8B8B;
		overflow: hidden;
	}
	#lang_list dt{
		box-sizing: border-box;
		display: block;
		float: left;
		width: 40%;
		padding-left: 20px;
		height: 45px;
		line-height: 45px;
		cursor: default;
	}
	#lang_list dt:after{
		display: none;
	}
	#lang_list dd{
		display: block!important;
		float: left;
		width: 60%;
		cursor: pointer;
	}
	#lang_list ul li span{
		line-height: 45px;
	}
	#lang_list ul li a{
		position: relative;
		display: block;
		padding-left: 40px;
		background: #ECE9E9!important;
		color: #000;
		line-height: 45px;
	}
	#lang_list ul li a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
}


/* ---------------------------------------
#gnav
--------------------------------------- */
#gnav {
	box-sizing: border-box;
	position: absolute;
	top: 30px;
	padding-left: 351px;
	width: 100%;
	background: #E60012;
}
/*#gnav.dd_nav_show {
	border-bottom: 1px solid #dfe6e4;
	border-bottom: 1px solid #f0f;
	border-top: 1px solid #f00;
}*/
#gnav>li{
	float: left;
	width: 12.5%;
	text-align: center;
}
/*#gnav>li#gn1{
	width: 10%;
}*/
#gnav>li#gn1 img{
	width: 22px;
}
/*#gnav>li#gn4{
	width: 10%;
}
#gnav>li#gn6{
	width: 17%;
}*/
#gnav>li>a{
	position: relative;
	display: block;
	padding-top: 14px;
	height:66px;
	text-align: center;
	z-index: 10;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
#gnav>li>a span{
	display: block;
}
#gnav>li>a .ico{
	padding-bottom: 5px;
}
#gnav>li>a .ico img{
	width: 35px;
}
#gnav>li#gn1>a{
	padding-top: 25px;
	height:55px;
}
#gnav>li>a:hover{
	background: #FFF;
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
#gnav>li.current>a{
	
}
#gnav>li#gn2>a:hover{
	padding-bottom: 1px;
}
#gnav>li.current>a:after{
	content: "";
	display: block;
	position:absolute;
	/*bottom:0;*/
	top: 73px;
	left: 50%;
	width: 44px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin:0 auto;
	margin-left: -22px;
}
#gnav>li.current>a:hover:after{
	background: #E60012;
}

#gnav>li>a .txt2{
	display: table-cell;
	width: 12.5%;
	height: 30px;
	text-align: center;
	vertical-align: middle;
	color: #FFF;
	font-size: 0.95em;
	line-height: 1.2;
	font-weight: bold;
}
#gnav>li>a:hover .txt2{
	color: #e6231e;
}
#gnav>li.current>a:hover .txt2{
	color: #000;
}
#sp_gnav{display: none;}
#gnav2{display: none;}
#gnav3{display: none;}

@media screen and (max-width: 1180px){
	#gnav {
		padding-left: 28.5%;
	}
	/*#gnav>li>a .txt2{
		font-size: 0.95em;
		line-height: 1.2;
	}*/
}
@media screen and (max-width: 767px) {
	#gnav { display: none; }
	#sp_gnav{display: block;}
	#sp_gnav>li>ul{display: none;}
	#sp_gnav>li>ul>li>ul{display: none;}
	#sp_gnav>li>ul>li>ul>li>ul{display: none;}

	/*第一階層*/
	#sp_gnav>li>a,
	#sp_gnav>li>span{
		position: relative;
		display: block;
		padding-left: 20px;
		background: #FFEBEB;
		margin-bottom: 1px;
		height:50px;
		text-align: left;
		line-height: 50px;
		color: #3C3C3C;
		cursor: pointer;
		text-decoration: none;
	}
	#sp_gnav>li>span:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 10px;
		height: 10px;
		background: url(../img/common/ico_aco1.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-5px;
	}
	#sp_gnav>li.opened>span{
		background: #E60012;
		color: #fff;
	}
	#sp_gnav>li.opened>span:after{
		background: url(../img/common/ico_aco2.png) no-repeat 0 0;
		background-size:contain;
	}
	#sp_gnav>li>a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}

	/*第二階層*/
	#sp_gnav>li>ul>li>a,
	#sp_gnav>li>ul>li>span{
		position: relative;
		display: block;
		padding-left: 20px;
		background-color: #E7E3E3;
		margin-bottom: 1px;
		height:50px;
		text-align: left;
		line-height: 50px;
		cursor: pointer;
		text-decoration: none;
	}
	#sp_gnav>li>ul>li>a:before,
	#sp_gnav>li>ul>li>span:before{
		content:"- ";
	}
	#sp_gnav>li>ul>li>a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
	#sp_gnav>li>ul>li>span:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 10px;
		height: 10px;
		background: url(../img/common/ico_aco1.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-5px;
	}
	#sp_gnav>li>ul>li.opened>span:after{
		background: url(../img/common/ico_aco2.png) no-repeat 0 0;
		background-size:contain;
	}

	/*第三階層*/
	#sp_gnav>li>ul>li>ul>li>a,
	#sp_gnav>li>ul>li>ul>li>span{
		position: relative;
		display: block;
		padding-left: 30px;
		background-color: #6a6a6a;
		margin-bottom: 1px;
		height:40px;
		text-align: left;
		line-height: 40px;
		color: #fff;
		cursor: pointer;
		text-decoration: none;
	}
	#sp_gnav>li>ul>li>ul>li>a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
	#sp_gnav>li>ul>li>ul>li>span:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 10px;
		height: 10px;
		background: url(../img/common/ico_aco1.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-5px;
	}
	#sp_gnav>li>ul>li>ul>li.opened>span:after{
		background: url(../img/common/ico_aco2.png) no-repeat 0 0;
		background-size:contain;
	}

	/*第四階層*/
	#sp_gnav>li>ul>li>ul>li>ul>li>a{
		position: relative;
		display: block;
		padding: 8px;
		padding-left: 30px;
		padding-right: 25px;
		border-bottom: 1px solid #6a6a6a;
		text-align: left;
		color: #fff;
		cursor: pointer;
		text-decoration: none;
	}
	#sp_gnav>li>ul>li>ul>li>ul>li>a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
	#sp_gnav>li>ul>li>ul>li>ul>li>a>span{
		display: inline-block;
	}

	/*#gnav2*/
	#gnav2{
		display: block;
		padding: 20px 20px 0px;
	}
	#gnav2>li{
		text-align: center;
		margin-bottom: 20px!important;
	}
	#gnav2>li img{
		width: 100%;
		max-width: 300px;
		height: auto;
	}
	/*#gnav3*/
	#gnav3{
		display: block;
	}
	#gnav3>li{
		float: none;
		width: 100%;
		text-align: left;
		margin-bottom: 1px;
	}
	#gnav3>li>a{
		position: relative;
		display: block;
		padding-left: 20px;
		background: #E7E3E3;
		height:50px;
		text-align: left;
		line-height: 50px;
		color: #3C3C3C;
	}
	#gnav3>li>a:hover{
		text-decoration: none;
	}
	#gnav3>li>a:after{
		content:"";
		position:absolute;
		top:50%;
		right: 20px;
		display: block;
		width: 7px;
		height: 12px;
		background: url(../img/common/ico_arrow2.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
}

/* ---------------------------------------
dd_nav_wrap
--------------------------------------- */
.dd_nav_wrap{
	display: none;
	position: absolute;
	top:80px;
	left: 0;
	width: 100%;
	background: rgba(0,0,0,0.5);
	text-align: left;
	padding-bottom: 50px;
}
.dd_nav_wrap .dd_nav{
	background-color: #F0EEEE;
	width: 950px;
	border: 2px solid #E60012;
	margin-left: auto;
	margin: 0 auto;
	padding: 20px 30px;
}
.dd_nav_wrap .dd_nav dt .txt1{
	font-weight: bold;
	font-size: 1.21em;
	padding-bottom: 5px;
	border-bottom: 1px solid #C4C2C2;
	margin-bottom: 10px;
}
.dd_nav_wrap .dd_nav dd{
	width: 48%;
	float: left;
	margin-left: 2%;
	background-color: #fff;
	padding: 10px;
	box-sizing: border-box;
}
.dd_nav_wrap .dd_nav dd.dd1{
	margin-left: 0 !important;
}
.dd_nav_wrap .dd_nav dd ul li{
	float: left;
	width: 48%;
	margin-right: 2%;
	padding-bottom: 3px;
	border-bottom: 1px solid #C4C2C2;
	margin-bottom: 7px;
}
.dd_nav_wrap .dd_nav dd ul li.bb_dead{
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 10px;
}
.dd_nav_wrap .dd_nav dd ul li:before{
	content: "";
	width: 6px;
	height: 12px;
	display: inline-block;
	background: url(../img/common/ico_arrow2.png) no-repeat center;
	background-size: 100%;
	position: relative;
	top: 1px;
	margin-right: 8px;
}
@media screen and (max-width: 1100px) {
	.dd_nav_wrap .dd_nav{
		width: 100%;
		margin: 0 auto;
	}
	.dd_nav_wrap .dd_nav dt{
		padding: 20px 15px 0;
	}
}

#gn2 .dd_nav_wrap .dd_nav dd,
#gn6 .dd_nav_wrap .dd_nav dd{
	width: 32%;
	margin-left: 1%;
}
#gn2 .dd_nav_wrap .dd_nav dd ul li,
#gn6 .dd_nav_wrap .dd_nav dd ul li{
	float: none;
	width: auto;
	margin-right: 0;
}



.sp_nav_title{display: none;}

@media screen and (max-width: 767px) {
	#menubtn{
		position: fixed;
		top: 0;
		right:0;
		display: block;
		width: 50px;
		height: 50px;
		text-indent: -9999px;
		overflow: hidden;
		background: url(../img/common/btn_menu_open.png) no-repeat center center;
		background-size: 100%;
	}
	#menubtn.active{
		background: #e6231e url(../img/common/btn_menu_close.png) no-repeat center center;
		background-size: 100%;
	}
	#sp_nav{
		box-sizing: border-box;
		background-color: #fff;
		padding-bottom: 50px;
		z-index: 10000;
		position:absolute;
		top: 50px;

	}
	.ios #sp_nav {
		-webkit-transform: translate3d(0, 0, 1px);
	}
	#in_sp_nav{
		height: 100%;
		overflow-y: scroll;
		/*cursor: pointer;*/
/*		-webkit-overflow-scrolling:touch;
*/	}
	#in_sp_nav.scroll{
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling:touch;
		overflow-scrolling:touch;
	}
	.sp_nav_title{
		display: block;
		padding:0px 20px;
		font-weight: bold;
		color: #3C3C3C;
		line-height: 57px;
		text-align: center;
		background: url(../img/common/sp_menu_bg.png) repeat center;

	}

}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 0;
}

/*#wrapper {
	width: 100%;
	height: 100%;
	overflow: hidden;
}*/
.ios.fixed {
/*	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
*/	
}

body{
	  /*-webkit-overflow-scrolling: touch;*/
}

/* ---------------------------------------
#content
--------------------------------------- */
#content{
	min-height: 600px;
	margin: 50px auto 60px;
}
@media screen and (max-width: 767px) {
	#content{
		min-height: auto;
		margin: 0px auto;
		margin-bottom: 100px;
	}
}
#index #content{
	margin-top: 0px;
}


#cnt_main{
	float: left;
	width: 825px;
}
#cnt_side{
	float: right;
	width: 235px;}
#cnt_bottom{
	clear: both;
}

@media screen and (max-width: 767px) {
	#cnt_main{
		float: none;
		width: 100%;
	}
	#cnt_side{
		display: none;
		float: none;
		width: 100%;
	}
	#cnt_bottom{
		clear: both;
	}
}


.incnt{
	position: relative;
	width: 1100px;
}
@media screen and (max-width: 767px) {
	.incnt{
		width: 100%;
	}


}
/* ---------------------------------------
section
--------------------------------------- */
.section{
	clear: both;
	padding-bottom: 50px;
	/*border-top:2px solid #0f0;
	border-bottom:2px solid #0f0;*/
}
.section .insec{
	/*border-top:1px solid #00f;
	border-bottom:1px solid #00f;*/
	max-width: 1150px;
}

.sub_sec{
	margin-left: 25px;
}
.sub_sec:last-child{
	/*padding-bottom: 0px;*/
}


@media screen and (max-width: 767px) {
	.insec{
		box-sizing: border-box;
		width: 100%;
		padding: 0 15px;
	}
	.sub_sec{
		padding-bottom: 30px;
	}
	.sub_sec{
		margin-left: 15px;
	}
}

/* ---------------------------------------
#page_title
--------------------------------------- */
#page_title{
	margin-top: 110px;
	text-align: center;
}
#page_title h2{
	background: url(../img/common/bg_title.png) ;
	padding: 50px 0;
}
#page_title .main_title1{
	display: block;
	font-weight: bold;
	font-size: 1.21em;
	line-height: 1;
}
#page_title .main_title2{
	font-size: 0.85em;
}

@media screen and (max-width: 767px){
	#page_title{
		margin-top: 50px;
	}
	#page_title h2{
		margin-bottom: 30px;
	}
}

/* ---------------------------------------
#topic_path
--------------------------------------- */
#topic_path_wrap{
	width: 100%;
	height: 40px;
	background: #E9E9E9;
}
#topic_path{
	width: 1200px;
	margin: 0 auto;
}
#topic_path li{
	float: left;
	line-height: 40px;
	margin-right: 12px;
	color: #000;
}
#topic_path li a{
	color: #000;
	text-decoration: none;
}
#topic_path li:before{
	content:">";
	margin-right: 10px;
}
#topic_path li:first-child:before{ display: none; }

#topic_path li:first-child img{
	position: relative;
	top: -2px;
}
@media screen and (max-width: 767px) {
	#topic_path_wrap{
		display: none;
	}
}

/* ---------------------------------------
title_style
--------------------------------------- */
/*title_style1*/
.title_style1{
	box-sizing: border-box;
	position: relative;
	margin-bottom: 50px;
	font-weight: bold;
	font-size: 1.57em; /*22px*/
	line-height: 1.3;
}
.title_style1 span{
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
}


@media screen and (max-width: 767px) {
	.title_style1{
		padding: 0px 0px 15px 40px;
		margin: 0 -15px 30px;
		font-size: 1.50em; /*21px*/
	}
}

/*title_style2*/
.title_style2{
	font-weight: bold;
	font-size: 1.71em;
	border-left: 7px solid #E60012;
	padding-left: 15px;
	margin-bottom: 30px;
	line-height: 1.3;
}
@media screen and (max-width: 767px) {
	.title_style2{
		padding-left: 15px;
		padding-right: 20px;
		margin-bottom: 15px;
		font-size: 1.29em;
	}
}

.title_style2 span{
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
}

/*title_style3*/
.title_style3{
	font-weight: bold;
	color: #e60012;
	font-size: 1.23em;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.title_style3{
		margin-bottom: 15px !important;
		line-height:1.5;
	}
}

.bbn{border-bottom: none!important;}






/* ---------------------------------------
btn_style
--------------------------------------- */
/*
.btn_style1
黒罫線／白背景／ホバ赤
*/
.btn_style1{
	box-sizing: border-box;
	width: 40%;
	padding: 20px 0;
	position: relative;
	display: block;
	margin: 0 auto;
	background: #fff;
	border: 2px solid #E60012;
	text-decoration: none;
	text-align: center;
	font-weight: bold!important;
	line-height: 1;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
@media screen and (max-width: 767px){
	.btn_style1{
		width: 100%;
	}
}
/*
.btn_style2
白文字／赤背景
*/
.btn_style2{
	box-sizing: border-box;
	width: 100%;
	padding: 20px 0;
	display: block;
	margin: 0 auto;
	color: #fff!important;
	background: #E60012;
	text-decoration: none;
	text-align: center;
	font-weight: bold!important;
	line-height: 1;
}
/* ---------------------------------------
ico
--------------------------------------- */
.ico_blank:after{
	content:"";
	display: inline-block;
	width: 13px;
	height: 12px;
	background: url(../img/common/ico_blank.png) no-repeat 0 0;
	background-size:contain;
	position: relative;
	top: 2px;
	margin-left: 10px;
}
.ico_blank.wh:after{
	background: url(../img/common/ico_blank_wh.png) no-repeat 0 0;
	background-size:contain;
}
.ico_arrow1:after{
	content:"";
	display: inline-block;
	width: 6px;
	height: 12px;
	background: url(../img/common/ico_arrow1.png) no-repeat 0 0;
	background-size:contain;
	position: relative;
	top: 2px;
	margin-left: 15px;
}
.ico_pdf:after{
	content:"";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: url(../img/common/ico_pdf.png) no-repeat 0 0;
	background-size:contain;
	position: relative;
	top: 2px;
	margin-left: 5px;
}
.ico_pdf2:before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: url(../img/common/ico_pdf.png);
	background-size: contain;
	position: relative;
	top: 1px;
	left: -2px;
	margin-right: 1px;
}

/* ---------------------------------------
box_accordion
--------------------------------------- */
@media screen and (max-width: 767px) {
	.box_accordion>dt{
		position: relative;
		padding-bottom: 1px;
		cursor: pointer;
	}
	.box_accordion>dt:after{
		content:"";
		position:absolute;
		top:50%;
		right: 15px;
		display: block;
		width: 11px;
		height: 11px;
		background: url(../img/common/ico_aco3.png) no-repeat 0 0;
		background-size:contain;
		margin-top:-6px;
	}
	.box_accordion>dt.opened:after{
		background: url(../img/common/ico_aco2.png) no-repeat 0 0;
		background-size:contain;
	}
	.box_accordion>dd{
		padding-top: 20px;
		padding-bottom: 40px;
	}
	.box_accordion .title_style2{
		margin: 0;
		background: #E60012;
		color: #fff;
		border-left: none;
		padding: 10px 20px 5px 20px;
	}
}



/* ---------------------------------------
common
--------------------------------------- */
/*unchor_link*/
#sec_title p{
	clear: both;
	padding-top: 15px;
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	#sec_title{
		padding-bottom: 0;
	}
	#sec_title p{
		padding-top: 0;
		margin-bottom: 20px;
	}
}
/*unchor_link*/
.unchor_link{ width: 100%; }

.unchor_link li{
	box-sizing: border-box;
	display: table;
	float: left;
	padding-left: 5px;
	vertical-align: middle;
	margin-bottom: 5px;
}
/*unchor_link2*/
.unchor_link2 li{
	width: 50%;
}
.unchor_link2 li:nth-child(1){
	padding-left: 0;
}
/*unchor_link3*/
.unchor_link3 li{
	width: 33.33%;
}
.unchor_link3 li:nth-child(3n+1){
	padding-left: 0;
}
.unchor_link3 li:nth-child(4),
.unchor_link3 li:nth-child(7){
	clear: both;
}
/*unchor_link4*/
.unchor_link4 li{
	width: 25%;
}
.unchor_link4 li:nth-child(1),
.unchor_link4 li:nth-child(5){
	padding-left: 0;
}

.unchor_link li a{
	display: table-cell;
	vertical-align: middle;
	color: #000;
	line-height: 1.3;
	width: 100%;
	height: 44px;
	background: #f0f0f0;
	text-align: center;
	vertical-align: middle;
	position: relative;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
.unchor_link li a:after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 6px;
	background: url(../img/common/ico_arrow9.png);
	background-size: contain;
	position: absolute;
	top: 20px;
	right: 10px;
}
.unchor_link li a:hover{
	background: #e6231e;
	color: #fff;
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
.unchor_link li a:hover:after{
	background: url(../img/common/ico_arrow10.png);
	background-size: contain;
}
@media screen and (max-width: 767px) {
	.unchor_link{
		display: none;
	}
}

/*box_slider*/
.slider_caption{
	display: none;
}
@media screen and (max-width: 767px) {
	.box_slider{
		clear: both;
		width: 100%;
		overflow-x:scroll;
		padding-bottom: 15px;
		margin-bottom: 10px;
		/*-webkit-overflow-scrolling: touch;*/
	}
	.box_slider::-webkit-scrollbar{ /* スクロールバー本体 */
		width: 8px;
		height: 8px;
		background: #ebebeb;
	}
	.box_slider::-webkit-scrollbar:horizontal{ /* 横方向のスクロールバー本体 */
		width: 8px;
		background: #ebebeb;
		border-radius: 8px;
	}
	.box_slider::-webkit-scrollbar-thumb{ /* スクロールバーの動く部分 */
		background: #969696;
		border-radius: 8px;
	}
	.box_slider::-webkit-scrollbar-thumb:horizontal{  横方向のスクロールバーの動く部分 
		background: #969696;
		border-radius: 8px;
	}
	.box_slider::-webkit-scrollbar-track-piece:start{ /* スクロールバーの動く部分の前 */
		background: #ebebeb;
		border-radius: 8px;
	}
	.box_slider::-webkit-scrollbar-track-piece:end{ /* スクロールバーの動く部分の後ろ */
		background: #ebebeb;
		border-radius: 8px;
	}
	.box_slider::-webkit-scrollbar-corner{ /* スクロールバー角 */
		background: transparent;
	}

	.box_slider table{
		margin-bottom: 0!important;
	}
	.slider_caption{
		display: block;
	}
}

/*sec_catalog*/
.list_catalog li{
	float: left;
	width: 128px;
	margin-right: 25px;
}
.list_catalog li a{
	display: block;
	color: #000;
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
.list_catalog li a:hover{
	opacity: 0.8;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
}
.list_catalog li a img{
	margin-bottom: 8px;
}
.list_catalog li a p{
	color: #000;
	font-size: 0.85em; /*12px*/
}
@media screen and (max-width: 767px) {
	#sec_catalog h4{
		margin-bottom: 0;
	}
	.list_catalog{
		margin: 0 -15px;
	}
	.list_catalog li{
		box-sizing: border-box;
		clear: both;
		float: none;
		width: 100%;
		margin-right: 0;
		padding: 15px;
		border-bottom: 1px solid #c8c8c8;
	}
	.list_catalog li:first-child{
		padding-top: 0;
	}
	.list_catalog li a{
		position: relative;
		color: #000;
		text-decoration: none;
	}
	.list_catalog li a img{
		width: 70px;
	}
	.list_catalog li a p{
		position: absolute;
		left: 90px;
		top: 10px;
	}
}

/*table_style1*/
.table_style1{
	background: url(../img/common/bg_table.png);
}
.table_style1 th,
.table_style1 td{
	box-sizing: border-box;
	border: 1px solid #c8c8c8;
	box-sizing: border-box;
	vertical-align: middle;
	padding: 15px 15px 15px 25px;
}
.table_style1 tbody th{
	font-weight: bold;
}
.table_style1 td{
	background: #fff;
}
@media screen and (max-width: 767px) {
	.table_style1 th,
	.table_style1 td{
		font-size: 0.85em; /*12px*/
	}
	.table_style1 th,
	.table_style1 td{
		padding: 13px;
	}
}


.txt_style1{
	margin-bottom: 20px;
}

.txt_new{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	background: #e6231e;
	padding: 3px 8px 0;
	line-height: 1.21em;
	font-size: 1.21em; /*17px*/
}
.txt_discontinued{
	display: inline-block;
	color: #e6231e;
	font-weight: bold;
	border:1px solid #e6231e;
	padding: 5px 13px 3px;
	line-height: 1.21em;
}
.ico_circle1{
	position: relative;
	padding-left: 15px;
}
.ico_circle1:before{
	content: "●";
	color: #969696;
	position: absolute;
	left: 2px;
	top: -1px;
}



/* ---------------------------------------
#sec_contact
--------------------------------------- */
#sec_contact{
	padding-top: 45px;
	border-top: 1px solid #c8c8c8;
}
#sec_contact .contact_title{
	margin-bottom: 5px;
	font-size: 1.85em; /*26px*/
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
#sec_contact .contact_title>span{
	display: inline-block;
	font-weight: bold;
}
#sec_contact .contact_title span span{
	font-weight: bold;
	display: inline-block;
}
.m_Products #sec_contact .contact_title span span.color{
	color: #004098;
}
.g_Products #sec_contact .contact_title span span.color{
	color: #ff8c00;
}
.g_Products #sec_contact .contact_title span span{
	color: #ff8c00;
}
.b_Products #sec_contact .contact_title span span{
	color: #503269;
}
.bh_Products #sec_contact .contact_title span span{
	color: #503269;
}


#sec_contact .txt1{
	margin-bottom: 35px;
	text-align: center;
}
#sec_contact .box_title{
	background: #004098;
	color: #fff;
	text-align: center;
	font-size: 1.57em; /*22px*/
	line-height: 52px;
}
.g_Products #sec_contact .box_title{
	background: #ff8c00;
}
.b_Products #sec_contact .box_title{
	background: #503269;
}
.bh_Products #sec_contact .box_title{
	background: #503269;
}
#sec_contact .box_title>span{
	display: inline-block;
}
#sec_contact .box{
	padding: 22px 60px;
	border: 1px solid #c8c8c8;
	border-top:none;
}
#sec_contact .cnt_left{
	box-sizing: border-box;
	float: left;
}
#sec_contact .cnt_right{
	box-sizing: border-box;
	float: right;
}
#sec_contact .box_subtitle{
	background: #e9f2fe;
	margin-bottom: 12px;
	text-align: center;
	color: #004098;
	font-weight: bold;
	font-size: 1.14em; /*16px*/
	line-height: 32px;
}
.g_Products #sec_contact .box_subtitle{
	background: #fffad7;
	color: #ff8c00;
}
.b_Products #sec_contact .box_subtitle{
	background: #ebe6ef;
	color: #503269;
}
.bh_Products #sec_contact .box_subtitle{
	background: #ebe6ef;
	color: #503269;
}
#sec_contact .img1{
	width: 350px;
	max-width: 100%;
	margin-left: 26px;
	margin-bottom: 10px;
}
#sec_contact .img2{
	width: 232px;
	max-width: 100%;
	margin-left: 26px;
}
#sec_contact .txt2{
	margin-bottom: 10px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	#sec_contact{
		border-top: none;
		padding-top: 30px;
	}
	#sec_contact .contact_title{
		font-size: 1.57em; /*22px*/
	}
	#sec_contact .txt1{
		margin-bottom: 15px;
		text-align: left;
	}
	#sec_contact .box_title{
		padding: 10px;
		font-weight: bold;
		font-size: 1.14em; /*16px*/
		line-height: 1.5;
	}
	#sec_contact .box{
		padding: 15px;
		border: 1px solid #c8c8c8;
	}
	#sec_contact .img1{
		box-sizing: border-box;
		padding: 0 2%;
		width: 100%;
		max-width: 400px;
		margin: 0 auto 10px;
	}
	#sec_contact .img2{
		box-sizing: border-box;
		padding: 0px 23% 0 5%;
		width: 100%;
		text-align: left;
		max-width: 400px;
		margin: 0 auto 20px;
	}
	#sec_contact .txt2{
		text-align: left;
	}
}




/* ---------------------------------------
#snav
--------------------------------------- */
#snav #snav_title{
	height: 52px;
	padding: 25px 0 0 25px;
	background: url(../img/common/snav_title_bg.png) no-repeat right top;
}
#snav #snav_title .txt1{
	display: block;
	color: #fff;
	font-size: 1.28em; /*18px*/
	font-weight: bold;
	line-height: 1;
	margin-bottom: 10px;
}
#snav #snav_title .txt2{
	display: block;
	color: #fff;
	font-size: 0.71em; /*10px*/
	letter-spacing: 1px;
	line-height: 1;
}
#snav ul li a,
#snav ul li span{
	position: relative;
	display: block;
	color: #000;
}
#snav ul li a.current,
#snav ul li a:hover{
	color: #e6231e;
	background: #f5f5f5;
	font-weight: bold;
	text-decoration: none;
}

#snav>ul ul ul{
	_display: none;
}
/*1階層*/
#snav>ul>li{
	border-bottom: 1px solid #c8c8c8;
}
#snav>ul>li>a,
#snav>ul>li>span{
	padding: 22px 13px;
}
#snav>ul>li>a:after,
#snav>ul>li>span:after{
	content:"";
	position:absolute;
	top:50%;
	right: 8px;
	display: block;
	width: 6px;
	height: 12px;
	background: url(../img/common/ico_arrow3.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-6px;
}
/*2階層*/
#snav>ul>li>ul>li{
	border-bottom: 1px dotted #c8c8c8;
}
#snav>ul>li>ul>li:last-child{
	border-bottom:none;
}
#snav>ul>li>ul>li>a,
#snav>ul>li>ul>li>span{
	padding: 17px 32px;
	cursor: pointer;
}
#snav>ul>li>ul>li>a:after{
	content:"";
	position:absolute;
	top:50%;
	right: 8px;
	display: block;
	width: 6px;
	height: 12px;
	background: url(../img/common/ico_arrow3.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-6px;
}
#snav>ul>li>ul>li>span:after{
	content:"";
	position:absolute;
	top:50%;
	right: 8px;
	display: block;
	width: 11px;
	height: 11px;
	background: url(../img/common/ico_aco3.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-6px;
}
#snav>ul>li>ul>li.opened>span:after{
	background: url(../img/common/ico_aco4.png) no-repeat 0 0;
	background-size:contain;
}
#snav>ul>li>ul>li>a:before,
#snav>ul>li>ul>li>span:before{
	content:"-";
	position:absolute;
	top:50%;
	left: 18px;
	display: block;
	margin-top:-14px;
}
/*3階層*/
#snav>ul>li>ul>li>ul{
	display: none;
}
#snav>ul>li>ul>li>ul>li>a{
	padding: 13px 32px;
	line-height: 1.3;
}
#snav>ul>li>ul>li>ul>li>a:after{
	content:"";
	position:absolute;
	top:50%;
	right: 8px;
	display: block;
	width: 6px;
	height: 12px;
	background: url(../img/common/ico_arrow3.png) no-repeat 0 0;
	background-size:contain;
	margin-top:-6px;
}

#snav>ul>li>ul{display: none;}
.m_Products #snav>ul>li.m_Products>ul{ display: block; }
.g_Products #snav>ul>li.g_Products>ul{ display: block; }
.b_Products #snav>ul>li.b_Products>ul{ display: block; }
.bh_Products #snav>ul>li.bh_Products>ul{ display: block; }


/* ---------------------------------------
#footer
--------------------------------------- */
#footer{
	background: #000;
}
#footer #in_footer{
	padding: 30px 0;
	position: relative;
	width: 1200px;
	margin:  0 auto;
	color: #fff;
}
#footer #in_footer a{
	color: #fff;
}
#footer .ico_character{
	width: 64px;
	position: absolute;
	top: -61px;
}
#footer .logo{
	max-width: 132px;
	margin-bottom: 15px;
}
#footer #f_sns li{
	float: left;
	width: 38px;
	margin-right: 15px;
}
#footer #f_nav>li{
	float: left;
	width: 10%;
	margin-left: 4%;
}
#footer #f_nav li.f_nav1{
	width: 17%;
	border-right: 1px solid #B5B5B5;
	box-sizing: border-box;
	margin-left: 0;
}
#footer #f_nav li.f_nav3{
	width: 8%;
}
#footer #f_nav li.f_nav5{
	width: 14%;
}
#footer #f_nav .f_nav_list dt{
	font-weight: bold;
	font-size: 1.1em;
	margin-bottom: 10px;
}
#footer #f_nav .f_nav_list dt:before{
	content: "";
	display: inline-block;
	width: 17px;
	height: 19px;
	background: url(../img/common/ico_thunder.png) no-repeat center;
	background-size: 100%;
	position: relative;
	top: 5px;
	margin-right: 5px;
}
#footer .sp_copy{
	display: none;
}
#footer #footer_bottom{
	width: 100%;
	display: block;
	height: 45px;
	color: #fff;
	font-size: 0.85em; /*12px*/
	background: url(../img/common/f_bg1.png) no-repeat left;
	background-color: #DA0509;
}
#footer .footer_bottom_in{
	width: 100%;
	margin: 0 auto;
}
#footer  #footer_bottom .cnt_left{
	float: left;
	padding: 13px 0 0 20px;
}
#footer  #footer_bottom .cnt_left a{
	color: #000;
}
#footer  #footer_bottom .cnt_right{
	float: right;
	padding: 13px 20px 0 0;
}
@media screen and (max-width: 767px) {
	#footer{
		margin-bottom: 55px;
	}
	#footer #in_footer{
		width: 94%;
		padding: 20px 3% 15px;
	}
	#footer #in_footer .logo{
		margin: 0;
	}	#footer #f_nav .sp_dead{
		display: none;
	}
	#footer #f_nav li.f_nav1{
		width: 100%;
		border-right: none;
		margin-bottom: 30px;
	}
	#footer #f_nav .f_nav1 p{
		display: none;
	}
	#footer #f_sns{
		position: absolute;
		top: 20px;
		right: 0px;
		left: auto;
	}
	#footer #f_sns li{
		float: left;
		width: 50px;
		margin-left: 0;
	}
	#footer small{
		padding: 8px 0;
		font-size: 0.71em; /*10px*/
	}
	#footer #footer_bottom{
		display: none;
	}
	#footer .sp_copy{
		display: block;
		font-size: 0.85em;
		text-align: center;
	}
}

/* ---------------------------------------
#pagetop
--------------------------------------- */
#pagetop{
	display: none;
	_opacity: 0;
	position: fixed;
	bottom: 0;
	right:20px;
	z-index: 1000;
	width: 55px;
	height: 55px;
/*	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;
*/}
#pagetop:hover{
/*	opacity: 0.7;
	-webkit-transition: 0.3s;
	-moz-transition : 0.3s;
	transition : 0.3s;*/
}
#pagetop a{
	display: block;
	width: 55px;
	height: 55px;
	background: #d31a16 url(../img/common/ico_arrow6.png) no-repeat center center;
	background-size: 20px 10px;
	text-indent: -9999px;
	overflow: hidden;
}
.ios #pagetop{
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
	#pagetop{
		display: block;
		right: 0;
		width: 100%;
		height: 55px;
		overflow: hidden;
	}
	#pagetop:before,
	#pagetop:after{
		content: "";
		display: block;
		width: 46px;
		height: 51px;
		background: url(../img/common/f_ico_thunder.png) no-repeat center;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 10px;
	}
	#pagetop:after{
		left: auto;
		right: 10px;
	}
	#pagetop a{
		display: block;
		width: 100%;
		height: 55px;
		background: #E60012 url(../img/common/ico_arrow3.png) no-repeat center center;
		background-size: 20px 10px;
	}
}

.fadeOut{
	-webkit-animation-name:FOut;
	-webkit-animation-duration:.3s;
	-webkit-animation-timing-function:ease-in;
	-webkit-animation-iteration-count:1;
	visibility: hidden;
}
@-webkit-keyframes FOut {
	0%{opacity:1;visibility: visible;}
	100%{opacity:0;visibility: hidden;}
}
.fadeIn{
	-webkit-animation-name:FIn;
	-webkit-animation-duration:.3s;
	-webkit-animation-timing-function:ease-in;
	-webkit-animation-iteration-count:1;
	visibility: visible;
}
@-webkit-keyframes FIn {
	0%{opacity:0;}
	100%{opacity:1;}
}