/* Header Wrap
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.h_wrap{
	position: relative;
	top: 0;
	width: 100%;
	background: #fff;
	/*box-shadow: 0 2px 10px 2px rgba(0,0,0,0.05);*/
	transition: all 0.5s ease;
	height: 80px;
	z-index: 99999;
	/*border-bottom: 1px #ccc solid;*/
}

	/* スマホヘッダー */
	.spmenu_flexwrap{
		/*display: block;
		height:76px;*/
		display: flex;
		height: 80px;
		align-items: center;
		justify-content: space-between;
		/*padding: 0 10px;*/
		position: relative;
	}
		/* h1 */
		.spmenu_flexleft{
			font-size: 2em;
			display:flex;
			align-items: center;
			/*margin: 0.55em 0;
			position:absolute;
			top:0px;
			left:20px;*/
			/*height: 26px;*/
			margin-left: 10px;
			z-index:9999 !important; 
		}
			/* スマホロゴ */
			.spmenu_flexleft a{
				width: 100%;
			}
				.spmenu_flexleft img {
					width: auto;
					height: 40px; 
					vertical-align: middle;
				}

		/* バーガーメニュー */
		.spmenu_flexright {
			/*margin-right: 10px;*/
			/*float: right;*/ 
		}
			.navi-btn {
				width: 50px;
				height: 76px;
				position: relative;
				cursor: pointer;
				top: 0;
				/*right: 10px;*/
			}
			/* 1本目 */
			.navi-btn span {
				position: absolute;
				display: block;
				width: 36px;
				height: 2px;
				/*background: #252525;*/
				border-radius: 5px;
				transition: all .3s;
				right: 10px;
				top: 28px
			}

			.burger_w {
				background: #fff;
			}  
			.burger_b {
				background: #012c55;
			}  


			/* 2本目 */
			.navi-btn span:nth-of-type(2) {
				top: 38px;
				opacity: 1;
				transition: all .3s;
			}

			/* 3本目 */
			.navi-btn span:last-of-type {
				top: 48px;
			}
			.navi-btn p {
				color: #252525;
				text-align: center;
				position: absolute;
				/*top: 45px;
				left: 2px;*/
			}
			/* 3本の回転 */
			.navi-btn-on span:first-of-type {
				transform: rotate(-45deg) translateY(12px) translateX(-3px);
			}
			.navi-btn-on span:nth-of-type(2) {
				transform: translateX(0);
				opacity: 0;
			}
			.navi-btn-on span:last-of-type {
				transform: rotate(45deg) translateY(-12px) translateX(-3px);
			}

			/* メニュー内容 */
			.navi-menu {
				top: 80px;
				display: none;
				background: #fff;
				width: 96%;
				position: fixed;
				padding: 20px 2%;
				z-index: 99999;
				overflow-y: auto;
				left:0;
				height: 100vh
			}
			.navi-menu li {
				list-style-type: none;
			}
			.navi-menu li a {
				display: block;
				color: #012c55;
				font-size: 16px;
				text-decoration: none;
				padding: 10px 2%;
			}
			.navi-menu li a:hover {
				background-color: #ca0915;
				display: block;
				color: #fff;
			}




/*---------------------- アコーディオンメニュー  ------------------------*/
.accbox .submenu::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: '\f078';
	font-weight: 900;
	color: #012c55;
	right: 2em;
}
.accbox .submenu:hover::before {
	color: #fff;
}
.accbox label {
    display: block;
    padding : 10px 18px;
    font-weight: normal!important;
    cursor :pointer;
    transition: all 0.5s;
	color: #012c55;
	margin: 0!important;
}
.accbox label a{
	color: #012c55;
	text-decoration: none;
	width: 70%;
    display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
.accbox label:hover a {
	color: #fff;
}

.accbox label:hover {
	color: #fff;
    background :#ca0915;
}
.accbox input {
    display: none;
}
	.accbox .accshow {
		height: 0;
		padding: 0;
		overflow: hidden;
		opacity: 0;
		transition: 0.8s;
		z-index: 9999;
		margin: 0 2em;
	}
	.accbox .accshow a {
		color: #012c55;
		text-decoration: none;
		width: 100%;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
	}
	.cssacc:checked + .accshow {
		/*padding: 5px;*/
		/*background: rgba(0,0,0,0.7);*/
		opacity: 1;
	}
	/*各アコーディオンの高さ調整*/
	.cssacc:checked + .accshowhigh_prd {
		height: 8em;
	}
	.cssacc:checked + .accshowhigh_comp {
		height: 12em;
	}
	.cssacc:checked + .accshowhigh_sus {
		height: 12em;
	}
	.cssacc:checked + .accshowhigh_rec {
		height: 16em;
	}
	/*子メニュー*/
	.accshow li ul {
		position: absolute;
		left: 0;
		z-index: 9999;
	}
		.accshow li ul li {
			height: 0;
			left: -40px;
			color: #fff;
			background: rgba(0,0,0,0.8);
		}
		.accshow li ul li a {
			text-align: left;
			/*padding-left: 20px;*/
			color: #fff;
		}
		.accshow li:hover > ul > li {
			overflow: visible;
			height: 40px;
		}

		/*accshow調整　liだけどul*/
		.acshow_title {
			position: relative;
			list-style: none;
			color: #fff;
			display: block;
			padding: 10px 18px!important;
			background-color: #00133B;
		}
		.accshow li {
			position: relative;
			list-style: none;
			color: #fff;
			display: block;
			height: 40px;
		}
		.accshow li a {
			display: block;
			padding: 10px 18px!important;
		}
		.accshow ul li a:hover {
			text-decoration: none!important;
			background: #ca0915;
			color: #fff;
		}




















	/* PCヘッダー */
	.header_flexwrap{
		display: none;
	}




@media (min-width: 1100px) {
	
	.h_wrap{
		height: 100px;
	}
		/* スマホヘッダー */
		.spmenu_flexwrap{
			display: none; 
		}
			.spmenu_flexleft{
				left:0px; 
			}
	
		/* PCヘッダー */
		.header_flexwrap{
			height: 100px;
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-direction: row;
		}
			.header_flexleft{
				display: flex;
				align-items: center;
			}
				/* PCロゴ */
				.header_flexleft_l{
					margin-right: 20px;
					width: 180px;
				}
					.header_flexleft a{
						display: flex;
					}
						.header_flexleft img{
							width: 100%;
						}
				/* PCロゴ右テキスト */
				.header_flexleft_r{
					font-size: 0.8em;
					font-family: 'Noto Sans JP', sans-serif;
				}
			.header_flexright{
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-right: 0px;
			}
				/* PCサブメニュー */
				.pcsubmenu{
					display: flex; 
					height: 20px;
					/*margin-top: 10px;*/
					width: 100%;
					align-items: center;
					justify-content:flex-end;
				}
					/* submenu */
					.submenu_txt {
						/*display: table-cell;*/
						display: block;
						height: 1.2rem;
						position: relative;
						text-align: center;
						vertical-align: middle;
						font-size: 0.8rem;
						line-height: 1.2;
						font-weight: 500;
						margin-left: 2.0em;
					}
					.submenu_txt a {
						text-decoration: none;
						font-family: 'Noto Sans JP', sans-serif;
					}
					.submenu_txt a:hover {
						color: #ca0915; 
						transition: 0.5s;
					}

	
	
	
				/* PCメニュー */
				.pcmenu{
					display: flex; 
					height: 30px;
					width: 100%;
					align-items: center;
					justify-content: space-between;
					justify-content:flex-end;
					margin-top: 16px;
				}
					/* gmenu */
					.gmenu_txt {
						/*display: table-cell;*/
						display: block;
						height: 1.2rem;
						/*position: relative;*/
						text-align: center;
						vertical-align: middle;
						font-size: 1.0rem;
						line-height: 1.2;
						font-weight: 500;
						/*margin-left: 4.0em;*/
						/*padding: 0 40px;*/
						margin: 0 40px;
						/*border-right: 1px solid #ccc;*/
						padding-bottom: 0.4em;
					}
					.gmenu_line {
						display: block;
						height: 1.2rem;
						text-align: center;
						vertical-align: middle;
						border-left: 1px solid #ccc;
						color: #ccc;
					}
					/*.gmenu_txt::before {
						position: absolute;
						content: '';
						border-left: 1px solid #ccc;
						height: 100%;
						top: 0;
						left: -40px;
					}*/
					.gmenu_txt:first-child::before {
						border-left: 0;
					}
					.gmenu_txt:last-child {
						border-right: none;
					}
					.gmenu_txt a {
						text-decoration: none;
						font-family: 'Noto Sans JP', sans-serif;
					}
					.gmenu_txt a:hover {
						color: #ca0915; 
						transition: 0.5s;
					}
	
					/*動くアンダーライン*/
					#xxx .gmenu_txt a::after {
						position: absolute;
						left: 0;
						content: '';
						width: 100%;
						height: 1px;
						background: #fff;
						bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
						transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
						transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
						transition: transform 0.3s; /*変形の時間*/
					}
					#xxx .gmenu_txt a:hover::after {
						transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
					}
	
	
					/*-- グロナビ-ドロップダウンメニュー（メガメニュー） --*/
					/*子メニュー*/
					.gmenu_txt .dropdown {
						position: absolute;
						top: 100px;
						left: 0;
						box-sizing: border-box;
						width: 100%;
						padding: 2em 2%;
						background: #f9f9f9;
						transition: all .2s ease;
						visibility: hidden;
						opacity: 0;
						z-index: 1;
						z-index: 99999999;
					}
					.gmenu_txt:hover .dropdown {
						top: 100px;
						visibility: visible;
						opacity: 1;
						/*height: 200px;*/
					}
	
						/*-- 製品情報 --*/
						.gmenu_txt .dropdown .ddproduct_flexwrap {
							display: flex;
							flex-direction: row;
							flex-wrap: nowrap;
							justify-content: space-between;
						}
							.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 {
								transition: 0.2s;
								color: #fff;
								width: 33%;
								text-align: center;
								border-right: 1px solid rgba(0,0,0,0.20);
								padding: 0 1%;
								font-family: 'Noto Sans JP', sans-serif;
							}
							.gmenu_txt .dropdown .ddproduct_flexwrap .li_01:first-child {
								padding-left: 0;
							}
							.gmenu_txt .dropdown .ddproduct_flexwrap .li_01:last-child {
								border-right: none;
							}
								.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 a {
									/*width: 240px;*/
									text-align: left;
									color: #999;
									position:relative;
									/*padding: 10px 0;*/
									height: inherit;
									display: block;
								}
								.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 a:hover {
									color: #ca0915;
								}
									.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 .arrowicon {
										position: relative;
										padding-left: 24px;
									}
									.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 .arrowicon::before {
										content: '';
										display: inline-block;
										width: 20px;
										height: 20px;
										position: absolute;
										top: 0;
										left: 0;
										background-image: url(../image/underlayer/slideright.png);
										background-size: contain;
									}
									/*.gmenu_txt:hover > .dropdown > li {
										overflow: visible;
										height: 40px;
										display: inline-block;
									}*/
									.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul {
										display: flex;
										flex-direction: row;
										flex-wrap: wrap;
										justify-content: space-between;
										margin: 0 auto;
									}
									.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul::before {
										content:"";
										display:block;
										width: 32%;
										height:0;
										order:1;
									}
									.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul::after {
										content:"";
										display:block;
										width: 32%;
										height:0;
										order:1;
									}
										.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 {
											transition: 0.2s;
											color: #fff;
											width: 32%;
											text-align: center;
											/*border-right: 1px solid rgba(255,255,255,0.50);*/
											margin-top: 0.8em;
											position: relative;											
										}
											.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 a {
												color: #999;
												text-decoration: none;
												/*position: absolute;*/
												top: 0;
												left: 0;
												width: 100%;
												height: 100%;
												box-sizing: border-box;
											}
											.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 a:hover {
												color: #ca0915;
											}
												.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 .megamenu_imgwrap {
													width: 100%;
													height: 100px;
													display: flex;
													overflow: hidden;
												}
													.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 .megamenu_imgwrap img {
														width: 100%;
														height: auto;
														object-fit: cover;
													}
													.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 .megamenu_imgwrap img:hover {
														transform:scale(1.3);
														transition:0.5s;
													}
												.gmenu_txt .dropdown .ddproduct_flexwrap .li_01 ul .li_02 .megamenu_txt {
													font-size: 0.9em;
													line-height: 1.4;
													font-family: 'Noto Sans JP', sans-serif;
													font-weight: 300;
													letter-spacing: 0;
													color: #333; 
													width: 100%;
													z-index: 99999;
												}
	
						/*-- 会社情報 --*/
						.gmenu_txt .dropdown .ddcompany_flexwrap {
							display: flex;
							flex-direction: row;
							flex-wrap: nowrap;
							justify-content: space-between;
						}
							.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 {
								transition: 0.2s;
								color: #fff;
								width: 24.5%;
								text-align: center;
								/*border-right: 1px solid rgba(0,0,0,0.20);*/
								padding: 0 1%;
								font-family: 'Noto Sans JP', sans-serif;
								
								position: relative;
							}
							.gmenu_txt .dropdown .ddcompany_flexwrap .li_01:first-child {
								padding-left: 0;
							}
							.gmenu_txt .dropdown .ddcompany_flexwrap .li_01:last-child {
								border-right: none;
							}
								.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 a {
									/*width: 240px;*/
									text-align: left;
									color: #999;
									position:relative;
									/*padding: 10px 0;*/
									height: inherit;
									display: block;
								}
								.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 a:hover {
									color: #ca0915;
								}
									.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 .arrowicon {
										position: relative;
										padding-left: 24px;
									}
									.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 .arrowicon::before {
										content: '';
										display: inline-block;
										width: 20px;
										height: 20px;
										position: absolute;
										top: 0;
										left: 0;
										background-image: url(../image/underlayer/slideright.png);
										background-size: contain;
									}
								.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 .megamenu_imgwrap {
									width: 100%;
									height: 160px;
									display: flex;
									overflow: hidden;
									margin-top: 10px;
								}
									.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 .megamenu_imgwrap img {
										width: 100%;
										height: auto;
										object-fit: cover;
										/*position: absolute;*/
									}
									.gmenu_txt .dropdown .ddcompany_flexwrap .li_01 .megamenu_imgwrap img:hover {
										transform:scale(1.3);
										transition:0.3s;
									}
	
	

	
	/* サイト内検索 */
	.searchform{
		width: 200px;
		margin:auto;
		margin-top: -6px;
	}
	.searchform__inner{
		position: relative;
	}
	.searchform__field{
		width:calc(100% - 48px);
		/*height:48px;*/
		padding:0.5em!important;
		border:1px solid #ddd;
		font-size:1em!important;
	}
	.searchform__field:focus{
		outline: solid 1px #000; /*枠線、基本的には border と同じ指定方法*/
		caret-color:#000; /*テキストカーソル（縦棒）の色*/
		cursor:text; /*カーソルの種類*/
	}
	.searchform__btn{
		width:30px;
		height:30px;
		/*background-color:#D39B19;*/
		background: none;
		border: none;
		position: absolute;
		right: 0;
		top: 0;
		font-size: 1.4em;
		color: #ca0915;
		padding-right: 0;
		padding-left: 0;
	}
	.searchform__btn:hover{
		color: #ca0915;
	}
	.searchform__icon{
		color:#fff;
	}
	.searchform__inner input{
		margin:0;
		padding:0;
		/*border:none;*/
		/*border-radius:0;*/
	}
	/*.searchform__inner input:hover{
		border: 1px solid #012c55;
	}*/
	
}  


@media (min-width: 750px) {}

@media (min-width: 1000px) {}

@media (min-width: 1200px) {
}  
@media (min-width: 1300px) {}

@media (min-width: 1450px) {}

@media (min-width: 1600px) {}
