@charset "UTF-8";

/**
 * 【css Navigation】
 *
 * 1.0 [page] top （トップページ）
 * 1.1 mainVisual
 * 1.2 message
 * 1.3 business
 * 1.4 recruit
 * 1.5 comProfile
 * 1.6 access
 * 1.7 service
 * 1.8 banner

 * 2.0 [page] works （施工事例）

 */

/* =========================================================

	1.0 [page] top （トップページ）

========================================================= */

/* ---------------------------------------------------------
	1.1 mainVisual
--------------------------------------------------------- */
#loading {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -10px;
	z-index: 9999;
}
.mainVisual {
	background: url("../images/mainVisual_bg.jpg") no-repeat 60px 50% #fff;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
	position: relative;
	height: 910px;
	text-align: right;
}
	#movie_wrap {
		overflow: hidden;
		display: inline-block;
		width: calc(100% - 0px);
		height: 910px;
		padding: 0 0 0 60px;
		vertical-align: bottom;
	}
	#movie_wrap video {
		display: block;
		min-width: 100%;
		min-height: 100%;
	}
	.mainVisual_content {
		position: absolute;
		top: 46%;
		left: 50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -50%);
	}
		.mainVisual_icn {
			padding: 0 0 28px;
		}
		.mainVisual_txt-en {
			position: relative;
			display: inline-block;
			padding: 0 0 20px;
			font-size: 11rem;
			line-height: 1.1;
			letter-spacing: 0.03em;
		}
			.mainVisual_txt-en img {
				position: absolute;
				top: 66px;
				right: 14px;
			}
		.mainVisual_txt-ja {
			font-weight: bold;
			letter-spacing: 0.3em;
		}
@media only screen and (max-width: 750px) {
	.mainVisual {
		background: none;
		height: auto;
	}
		.mainVisual img {
			width: 100%;
		}
		#movie_wrap {
			height: auto;
		}
		.mainVisual_content {
			position: absolute;
			top: 8%;
			left: 50%;
			transform: translate(-50%, 0);
		}
			.mainVisual_icn {
				padding: 0 0 7px;
			}
				.mainVisual_icn img {
					width: 16%;
				}
			.mainVisual_txt-en {
				padding: 0 0 12px;
				font-size: calc(54 * ((100vw - 320px) / 750) + 4.3rem);
			}
				.mainVisual_txt-en img {
					position: absolute;
					top: 23%;
					right: 1%;
					width: 10%;
				}
			.mainVisual_txt-ja {
				padding: 0 0 0 10px;
				font-size: calc(21 * ((100vw - 320px) / 750) + 0.9rem);
				letter-spacing: 0.2em;
			}
}

/* ---------------------------------------------------------
	1.2 message
--------------------------------------------------------- */
.message {
	padding: 72px 0 0;
}
	.message_pht {
		float: left;
		width: 400px;
	}
	.message_content {
		float: left;
		width: calc(100% - 400px);	}
		.message_lead {
			padding: 6px 0 50px;
		}
		.message_txt {
			padding: 0 0 20px;
			line-height: 1.7;
		}
		.message_name {
			font-size: 1.5rem;
			text-align: right;
		}
		.message_name img {
			vertical-align: -2px;
		}
@media only screen and (max-width: 750px) {
	.message {
		padding: 50px 0 0;
	}
		.message_pht {
			float: none;
/* 			width: 100%; */
			width: 50%;
			margin: 0 auto;
			text-align: center;
		}
		.message_content {
			float: none;
			width: 100%;
		}
			.message_lead {
				padding: 30px 0 25px;
			}
			.message_txt {
				padding: 0 0 10px;
			}
			.message_name {
				font-size: 1.3rem;
			}
}

.award {
	margin: 50px 0;
}
	.award .award_list {}
		.award .award_list ul {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -7px 0 -8px;
		}
			.award .award_list li {
				width: 150px;
				margin: 10px 7px 10px 8px;
			}
				.award .award_list a {
					display: block;
					width: 100%;
					height: 100%;
					color: #FFF;
					text-decoration: none;
				}
					.award .award_img {
						position: relative;
						height: 150px;
						text-align: center;
						border: solid 1px rgba(245, 245, 251, 0.3);
					}
						.award .award_img img {
							position: relative;
							top: 50%;
							max-height: 100%;
							transform: translateY(-50%);
						}
					.award .award_txt {
						margin: 5px 0 0;
						font-size: 12px;
					}
@media only screen and (max-width: 750px) {
	.award {
		margin: 50px 0 30px;
	}
			.award .award_list ul {
				margin: 0 -5px;
			}
				.award .award_list li {
					width: calc((100% - (5px * 6)) / 3);
					margin: 5px;
				}
						.award .award_img {
							height: 130px;
							padding: 2px;
						}
}

/* ---------------------------------------------------------
	1.3 business
--------------------------------------------------------- */
.business {
	padding: 142px 0 0;
}
	.business_list {
		padding: 0 0 86px;
	}
		.business_item {
			position: relative;
			margin: 100px 0 24px;
			letter-spacing: 0.05em;
		}
		.business_item:nth-child(odd) {
			float: left;
			width: calc((100% - 60px) / 2);
		}
		.business_item:nth-child(even) {
			float: right;
			width: calc((100% - 60px) / 2);
		}
			.business_num {
				z-index: 2;
				color: #fff600;
				font-size: 15rem;
				line-height: 1;
			}
			.business_item:nth-child(odd) .business_num {
				position: absolute;
				top: -110px;
				left: -115px;
			}
			.business_item:nth-child(even) .business_num {
				position: absolute;
				top: -110px;
				right: -105px;
			}
			.business_item:first-child .business_num {
				position: absolute;
				top: -110px;
				left: -95px;
			}
			.business_pht {
				position: relative;
				z-index: 99;
				text-align: center;
			}
				.business_pht img {
					border-bottom: 3px solid #ffffff;
				}
			.business_ttl {
				padding: 26px 0 16px;
				font-size: 4rem;
				text-align: center;
			}
				.business_ttl span {
					font-weight: bold;
				}
			.business_txt {
				padding: 0 50px;
				font-weight: bold;
				line-height: 1.8;
			}
@media only screen and (max-width: 750px) {
	.business {
		padding: 70px 0 0;
	}
		.business_list {
			padding: 0 0 50px;
		}
			.business_item {
				position: relative;
				margin: 55px 0 15px;
			}
			.business_item:first-child {
				margin: 70px 0 15px;
			}
			.business_item:nth-child(odd) {
				float: none;
				width: 100%;
			}
			.business_item:nth-child(even) {
				float: none;
				width: 100%;
			}
				.business_num {
					font-size: 5rem;
				}
				.business_item:nth-child(odd) .business_num {
					position: absolute;
					top: -42px;
					left: -18px;
				}
				.business_item:nth-child(even) .business_num {
					position: absolute;
					top: -42px;
					right: -18px;
				}
				.business_item:first-child .business_num {
					position: absolute;
					top: -40px;
					left: -16px;
				}
				.business_ttl {
					padding: 20px 0 10px;
					font-size: 2rem;
				}
				.business_txt {
					padding: 0;
					font-weight: normal;
				}
}

/* 施工実績 */
	.results {}
		.results_list {
			padding: 35px 0 0;
			text-align: center;
			letter-spacing: -0.4em;
		}
			.results_item {
				position: relative;
				display: inline-block;
				width: calc((100% - 90px) / 4);
				margin: 0 30px 60px 0;
				letter-spacing: normal;
				vertical-align: top;
			}
			.results_item:nth-child(4n) {
				margin: 0 0 60px;
			}
				.results_tag {
					position: absolute;
					top: 0;
					left: 0;
					padding: 4px 10px;
					background-color: #003dbf;
					font-size: 1.2rem;
				}
				.results_tag::after {
					position: absolute;
					top: 0;
					right: -10px;
					width: 0;
					height: 0;
					border-style: solid;
					border-width: 27px 10px 0 0;
					border-color: #003dbf transparent transparent transparent;
					content: '';
				}
					.results_pht {
						position: relative;
						display: inline-block;
					}
				.results_txt {
					padding: 14px 0 0;
					font-size: 1.3rem;
				}
		.results_btn {
			width: 304px;
			margin: 0 auto;
			padding: 0 0 100px;
		}
			.results_btn a {
				display: block;
				position: relative;
				z-index: 1;
				width: 100%;
				height: 100%;
				padding: 25px 35px;
				color: #003dbf;
				background-color: #fff600;
				color: #003dbf;
				font-size: 1.8rem;
				font-weight: bold;
				text-decoration: none;
				text-align: center;
				vertical-align: middle;
			}
			.results_btn a::after {
				position: absolute;
				top: 50%;
				right: 20px;
				margin: -10px 0 0;
				content: url('../images/results_btn_icn-arw.png');
			}
			.results_btn a::before {
				position: absolute;
				top: 0;
				right: 0;
				z-index: -1;
				width: 0;
				height: 100%;
				font-size: 1.8rem;
				content: '';
				background: #ffffff;
				transition: all 0.3s cubic-bezier(0.42, 0, 0.58, 1);
			}
			.results_btn a:hover::before {
				left: 0;
				right: auto;
				width: 100%;
			}
@media only screen and (max-width: 750px) {
	/* 施工実績 */
		.results {}
			.results_list {
				display: flex;
				flex-wrap: wrap;
				margin: 10px -5px 20px;
				text-align: left;
				letter-spacing: normal;
			}
				.results_item {
					display: block;
/* 					width: calc((100% - 10px) / 2); */
					width: calc((100% - (5px * 4)) / 2);
					margin: 0 5px 15px;
				}
				.results_item:nth-child(2n) {
/* 					margin: 0 0 15px; */
				}
				.results_item:nth-child(4n) {
					margin: 0 5px 15px;
				}
					.results_txt {
						padding: 5px 0 0;
						font-size: 1.3rem;
					}
			.results_btn {
				width: 100%;
				margin: 0 auto;
				padding: 0 0 60px;
			}
}

/* ご依頼から工事が行われるまで */
	.flow{}
		.flow_list {
			display: flex;
			flex-wrap: wrap;
			padding: 4px 0 40px;
		}
			.flow_item {
				display: flex;
				flex-direction: column;
				position: relative;
				width: 340px;
				margin: 0 60px 40px 0;
				letter-spacing: 0.05em;
			}
			.flow_item::after {
				position: absolute;
				top: 50%;
				right: -40px;
				width: 0;
				height: 0;
				margin: -26px 0 0;
				border-top: 26px solid transparent;
				border-bottom: 26px solid transparent;
				border-left: 18px solid #3368d7;
				content: '';
			}
			.flow_item:nth-child(3n) {
				margin: 0 0 40px 0;
			}
			.flow_item:nth-child(3n)::after {
				display: none;
			}
				.flow_tag {
					position: absolute;
					top: 3px;
					left: 14px;
					z-index: 1;
					color: #fff600;
				}
				.flow_ttl {
					position: relative;
					padding: 22px 25px 20px;
					color: #003dbf;
					font-size: 2.4rem;
					font-weight: bold;
					text-align: center;
					background: url('../images/flow_ttl.png') no-repeat top left;
				}
					.flow_ttl span {
					}
				.flow_txt {
					height: 100%;
					padding: 35px 25px 30px 20px;
					background-color: #ffffff;
					color: #000000;
				}
@media only screen and (max-width: 750px) {
	/* ご依頼から工事が行われるまで */
		.flow{}
			.flow_list {
				padding: 0 0 60px;
			}
				.flow_item {
					width: 100%;
					margin: 15px 0 15px;
				}
				.flow_item::after {
					position: absolute;
					top: 100%;
					left: 50%;
					width: 0;
					height: 0;
					margin: 8px 0 0 -14px;
					border-top: 14px solid #3368d7;
					border-right: 20px solid transparent;
					border-left: 20px solid transparent;
					content: '';
					/* transform: rotate(90deg); */
				}
				.flow_item:nth-child(3n) {
					margin: 15px 0 15px;
				}
				.flow_item:nth-child(3n)::after {
					display: inline;
				}
				.flow_item:last-child::after {
					display: none;
				}
					.flow_tag {
						position: absolute;
						top: 3px;
						left: 14px;
					}
					.flow_ttl {
						position: relative;
						/* width: calc(100% + 33px); */
						padding: 22px 20px 16px 30px;
						/* margin: 0 33px 0 0; */
						font-size: 1.8rem;
						/* background:linear-gradient(135deg, transparent 0% 43px, #dfe9ff 43px 100%); */
						/* transform: skewX(-40deg); */
					}
					.flow_txt {
						padding: 24px 18px 22px 12px;
					}
}

/* ---------------------------------------------------------
	1.4 recruit
--------------------------------------------------------- */
.recruit {
	padding: 0 0 68px;
	background-color: #000033;
}
	.recruit_bg {
		padding: 160px 0 186px;
		background: url('../images/recruit_bg.jpg') no-repeat top center;
		background-size: cover;
	}
	.appReq {}
		.appReq_bg {
			margin: -88px 0 0;
			padding: 90px 90px 66px;
			background-color: #ffffff;
		}
			.appReq_bg .table01 th {
				width: 150px;
			}
			.appReq_widget #engage-contributions-widget-wrapper {
				margin: 0 auto; }
			.appReq_btn {
				width: 304px;
				margin: 0 auto;
				padding: 60px 0 0;
			}
				.appReq_btn .btn {}
					.appReq_btn .btn a,
					.appReq_btn .btn input[type="button"],
					.appReq_btn .btn input[type="submit"],
					.appReq_btn .btn button[type="button"],
					.appReq_btn .btn button[type="submit"] {
						background: transparent;
						display: block;
						width: 100%;
						height: 100%;
						line-height: 1;
						text-align: center;
						cursor: pointer;
						border: 0;
						border-radius: 0;
						text-decoration: none;
						white-space: nowrap;
						vertical-align: middle; }
				.appReq_btn .btn-primary {
					position: relative;
					z-index: 2; }
				.appReq_btn .btn-primary:before {
					background: #003dbf;
					content: '';
					position: absolute;
					top: 0;
					right: 0;
					z-index: -1;
					width: 0;
					height: 100%;
					transition: all 0.3s cubic-bezier(0.42, 0, 0.58, 1); }
				.appReq_btn .btn-primary:hover {
					color: #FFF !important; }
				.appReq_btn .btn-primary:hover:before {
					left: 0;
					right: auto;
					width: 100%; }
					.appReq_btn .btn-primary a,
					.appReq_btn .btn-primary input[type="button"],
					.appReq_btn .btn-primary input[type="submit"],
					.appReq_btn .btn-primary button[type="button"],
					.appReq_btn .btn-primary button[type="submit"] {
						background: url("../images/appReq_icn-arw_off.png") no-repeat right 20px top 50% #FFFF0B;
						padding: 25px 35px;
						color: #003dbf;
						font-size: 1.8rem;
						line-height: 1.3;
						font-weight: bold;
						white-space: pre-wrap; }
					.appReq_btn .btn-primary a:hover,
					.appReq_btn .btn-primary input[type="button"]:hover,
					.appReq_btn .btn-primary input[type="submit"]:hover,
					.appReq_btn .btn-primary button[type="button"]:hover,
					.appReq_btn .btn-primary button[type="submit"]:hover {
						background: url("../images/appReq_icn-arw_on.png") no-repeat right 20px top 50%;
						color: #FFF; }
		.stepUp {}
			.stepUp_bg {
				padding: 54px 0 86px;
				background-color: #F1F5FF;
			}
				.stepUp .lead {
					padding: 0 0 10px;
					color: #003dbf;
				}
				.stepUp_flow {
					text-align: center;
				}
@media only screen and (max-width: 750px) {
	.recruit {
		padding: 0 0 15px;
	}
		.recruit_bg {
			padding: 30px 0 150px;
			background-size: 800px auto;
		}
		.appReq {}
			.appReq_bg {
				margin: -120px 0 0;
				padding: 24px 0 40px;
			}
				.appReq_bg .table01 th {
					width: 100%;
				}
				.appReq_widget {
					padding: 0 15px; }
					.appReq_widget #engage-contributions-widget-wrapper {
						width: 100% !important; }
				.appReq_btn {
					width: 100%;
					padding: 30px 15px 0;
				}
			.stepUp {}
				.stepUp_bg {
					padding: 30px 0 20px;
				}
}

/* ---------------------------------------------------------
	1.5 comProfile
--------------------------------------------------------- */
/* 会社概要 */
.comProfile {
	padding: 0 0 60px;
	background-color: #000033;
}
	.comProfile_bg {
		padding: 238px 0 178px;
		background: url('../images/comProfile_bg.jpg') no-repeat top center;
		background-size: cover;
	}
		.comProfile_item {
			float: left;
			width: calc((100% - 60px) / 2);
			margin: 0 60px 0 0;
		}
			.comProfile_item .table01 th{
				width: 124px;
			}
		.comProfile_item:nth-child(2n) {
			margin: 0;
		}
		.comProfile_item:nth-child(2n+1) {
			clear: both;
		}
			.comProfile_list {
				display: flex;
				-webkit-flex-wrap: wrap;
				    -ms-flex-wrap: wrap;
				        flex-wrap: wrap;
				width: 386px;
			}
				.comProfile_listItem {
					display: flex;
					flex-direction: column;
					width: 190px;
					margin: 0 6px 6px 0;
					padding: 12px;
					border: 1px solid #e5e5e5;
					color: #000000;
					font-size: 1.3rem;
					text-align: center;
				}
				.comProfile_listItem:nth-child(2n) {
					margin: 0 0 6px;
				}
					.comProfile_listTxt {
						padding: 0 0 6px;
					}
					.comProfile_listItem .min {
						font-size: 1.2rem;
					}
					.comProfile_listItem a {
						display: flex;
						flex-wrap: wrap;
						margin: auto 0 0;
						min-height: 115px;
					}
						.comProfile_listImg {
								display: flex;
								align-items: center;
								margin: 0 auto;
						}
					.comProfile_tag-pdf {
						display: inline-block;
						margin: 1px 0 0 10px;
						padding: 3px 06px 1px;
						background-color: #ea1f1f;
						color: #ffffff;
						font-size: 1rem;
						font-weight: bold;
						vertical-align: top;
					}
.lum-lightbox {
	z-index: 9999999; }
@media only screen and (max-width: 750px) {
/* 会社概要 */
	.comProfile {
		padding: 0 0 15px;
	}
		.comProfile_bg {
			padding: 80px 0 180px;
			background-size: 800px auto;
		}
			.comProfile_item {
				float: none;
				width: 100%;
				margin: 0;
			}
				.comProfile_item .table01 th{
					width: 100%;
				}
			.comProfile_item:nth-child(2n) {
				margin: 0;
			}
			.comProfile_item:nth-child(2n+1) {
				clear: none;
			}
				.comProfile_list {
					width: auto;
				}
					.comProfile_listItem {
						width: calc((100% - 4px) / 2);
						margin: 0 4px 4px 0;
						padding: 8px 0;
						font-size: 1.2rem;
					}
					.comProfile_listItem:nth-child(2n) {
						margin: 0 0 4px;
					}
						.comProfile_listTxt {
							padding: 0 0 4px;
						}
						.comProfile_listItem .min {
							font-size: 1rem;
						}
	.lum-lightbox-inner img {
		max-width: 90vw;
		max-height: 88vh; }
}

/* 福利厚生 */
.welfare {}
	.welfare_bg {
		padding: 36px 0 50px;
		background-color: #f0f5ff;
	}
		.welfare_ttl {
			padding: 0 0 27px;
			color: #003dbf;
			font-size: 3.6rem;
			font-weight: bold;
			line-height: 1.2;
			text-align: center;
		}
			.welfare_ttl span {
				font-size: 1.6rem;
			}
		.welfare .lead {
			padding: 0 0 44px;
			color: #003dbf;
		}
		.welfare_item {
			float: left;
			width: calc(100% - 640px);
		}
			.welfare_txt {
				padding: 0 0 6px;
				color: #003dbf;
				font-size: 1.8rem;
				font-weight: bold;
			}
				.welfare_txt span {
					color: #2993ff;
					font-size: 2.4rem;
				}
			.welfare_list {}
				.welfare_list ul {}
					.welfare_list li {
						margin: 0 0 0 1.3rem;
						color: #000000;
						font-size: 1.4rem;
						text-indent: -1.3rem;
						line-height: 2;
					}
					.welfare_list li:first-letter {
						padding: 0 7px 0 0;
						color: #003dbf;
						font-size: 1rem;
						vertical-align: 2px;
					}
		.welfare_slide {
			float: right;
			width: 640px;
		}
			/* slick */
			.welfare_slide .slick-prev,
			.welfare_slide .slick-prev:hover {
				background: url("../images/welfare_slide_arw-prev.png") no-repeat 50% 50%;
				left: -21px;
				z-index: 99;
				width: 60px;
				height: 60px;
				margin: -30px 0 0;
				overflow: hidden;
				text-indent: -999px; }
			.welfare_slide .slick-next,
			.welfare_slide .slick-next:hover {
				background: url("../images/welfare_slide_arw-next.png") no-repeat 50% 50%;
				right: -21px;
				z-index: 99;
				width: 60px;
				height: 60px;
				margin: -30px 0 0;
				overflow: hidden;
				text-indent: -999px; }
			.welfare_slideItem {}
				.welfare_slidePht {
					border: solid 13px #FFF;
					text-align: center; }
				.welfare_slideTxt {
					padding: 20px 0 0;
					color: #000;
					font-size: 1.4rem;
					text-align: center; }
@media only screen and (max-width: 750px) {
	/* 福利厚生 */
	.welfare {}
		.welfare_bg {
			padding: 20px 0 35px;
		}
			.welfare_ttl {
				padding: 0 0 16px;
				font-size: 2.2rem;
				line-height: 1.2;
			}
				.welfare_ttl span {
					font-size: 1.1rem;
				}
			.welfare .lead {
				padding: 0 0 20px;
			}
			.welfare_item {
				float: none;
				width: 100%;
			}
				.welfare_txt {
					padding: 0 0 6px;
					font-size: 1.5rem;
					text-align: center;
				}
					.welfare_txt span {
						font-size: 1.7rem;
					}
				.welfare_list {}
					.welfare_list ul {}
						.welfare_list li {
							font-size: 1.3rem;
						}
			.welfare_slide {
				float: none;
				width: 100%;
				padding: 30px 0 0;
			}
				/* slick */
				.welfare_slide .slick-prev,
				.welfare_slide .slick-prev:hover {
					-webkit-background-size: 40px auto;
					     -o-background-size: 40px auto;
					        background-size: 40px auto;
					width: 40px;
					height: 40px;
					margin: -20px 0 0; }
				.welfare_slide .slick-next,
				.welfare_slide .slick-next:hover {
					-webkit-background-size: 40px auto;
					     -o-background-size: 40px auto;
					        background-size: 40px auto;
					width: 40px;
					height: 40px;
					margin: -20px 0 0; }
				.welfare_slidePht {
					border: solid 5px #FFF; }
				.welfare_slideTxt {
					padding: 15px 0 0; }
}

/* ---------------------------------------------------------
	1.6 access
--------------------------------------------------------- */
.access {}
	.access_bg {
		padding: 46px 0 0;
		background-color: #ffffff;
	}
		.access .ttl02 {
			padding: 0 0 50px;
		}
	.access_map{}
		.access_map iframe {
			width: 100%;
			height: 450px;
		}
@media only screen and (max-width: 750px) {
	.access {}
		.access_bg {
			padding: 30px 0 0;
		}
			.access .ttl02 {
				padding: 0 0 30px;
			}
		.access_map{}
			.access_map iframe {
				height: 300px;
			}
}

/* ---------------------------------------------------------
	1.7 service
--------------------------------------------------------- */
.service {}
	.service_bg {
		padding: 50px 0 64px;
		background-color: #ffffff;
	}
		.service_item {
			float: left;
			width: calc((100% - 60px) / 2);
			margin: 0 60px 0 0;
		}
		.service_item:nth-child(2n) {
			margin: 0;
		}
			.service_ttl {
				padding: 0 0 34px;
				color: #003dbf;
				font-size: 3.6rem;
				text-align: center;
			}
			.service_content-youtube .service_listItem {
				position: relative;
				width: 100%;
				height: 0;
				padding-top: 56.25%;
				vertical-align: bottom;
				overflow: hidden;
			}
				.service_content-youtube .service_listItem iframe {
					position: absolute;
					top: 0;
					right: 0;
					width: 100%;
					height: 100%;
				}
			/* slick */
			.service_content-youtube .slick-dots {
				bottom: -40px; }
				.service_content-youtube .slick-dots li {
					margin: 0 8px; }
					.service_content-youtube .slick-dots li button:before {
						content: '';
						width: 16px;
						height: 16px;
						opacity: 1;
						border: solid 2px #003dbf;
						-webkit-border-radius: 50%;
						        border-radius: 50%; }
					.service_content-youtube .slick-dots li.slick-active button:before {
						background: #003dbf;
						opacity: 1; }
					.service_content-youtube .slick-dots li button:hover:before,
					.service_content-youtube .slick-dots li button:focus:before {
						background: #003dbf;
						opacity: 1; }
@media only screen and (max-width: 750px) {
	.service {}
		.service_bg {
			padding: 30px 0 40px;
		}
			.service_item {
				float: none;
				width: 100%;
				margin: 0 0 20px;
			}
			.service_item:nth-child(2n) {
				margin: 0;
			}
				.service_ttl {
					padding: 0 0 5px;
					font-size: 2.2rem;
				}
				.service_content-youtube .service_list {
					margin: 0 0 50px; }
					/* slick */
					.service_content-youtube .slick-dots {
						bottom: -25px; }
						.service_content-youtube .slick-dots li {
							width: 12px;
							height: 12px;
							margin: 0 2px; }
							.service_content-youtube .slick-dots li button:before {
								content: '';
								width: 10px;
								height: 10px;
								border: solid 1px #003dbf;
								-webkit-border-radius: 50%;
								        border-radius: 50%; }
	}

/* ---------------------------------------------------------
	1.8 banner
--------------------------------------------------------- */
.banner {}
	.banner_bg {
		padding: 46px 0 16px;
		background-color: #f0f5ff;
	}
		.banner_list {}
			.banner ul {}
				.banner li {
					float: left;
					width: calc((100% - 90px) / 4);
					margin: 0 30px 30px 0;
				}
				.banner li:nth-child(4n) {
					margin: 0 0 30px;
				}
				.banner li:nth-child(4n+1) {
					clear: both;
				}
@media only screen and (max-width: 750px) {
	.banner {}
		.banner_bg {
			padding: 25px 0 10px;
			background-color: #f0f5ff;
		}
			.banner_list {
				text-align: center;
			}
				.banner ul {}
					.banner li {
						float: left;
						width: calc((100% - 10px) / 2);
						margin: 0 10px 15px 0;
					}
					.banner li:nth-child(2n) {
						margin: 0 0 15px;
					}
					.banner li:nth-child(2n+1) {
						clear: both;
					}
}
/* ---------------------------------------------------------
	1.9 お客様の声
--------------------------------------------------------- */
.voice {
	position: relative;
	padding: 0 0 170px; }
	.voice_item {
		background: #fff;
		position: relative;
		padding: 25px 70px;
		transition: all 300ms ease; }
		.voice_img01 {
			margin: 0 0 60px;
			padding: 0 0 25px;
			text-align: center;
			border-bottom: solid 1px #000; }
		.voice_img02 {
			width: 500px;
			margin: 0 auto;
			text-align: center; }
			.voice_img02 img {
				width: 100%; }
	.voice_img-left {
		position: absolute;
		bottom: 110px;
		left: 50%;
		margin: 0 0 0 -545px; }
	.voice_img-right {
		position: absolute;
		bottom: 110px;
		right: 50%;
		margin: 0 -524px 0 0; }
	/* slick */
	.voice .slick-list {
		overflow: visible; }
		.voice .slick-slide {
			margin: 0; }
			.voice .voice_item {
				-webkit-transform: scale(0.8);
				   -moz-transform: scale(0.8);
				    -ms-transform: scale(0.8);
				     -o-transform: scale(0.8);
				        transform: scale(0.8);
				opacity: 1; }
			.voice .slick-center .voice_item {
				-webkit-transform: scale(1);
				   -moz-transform: scale(1);
				    -ms-transform: scale(1);
				     -o-transform: scale(1);
				        transform: scale(1);
				opacity: 1; }
				.voice .slick-list img {
					display: inline-block; }
		.voice .slick-prev,
		.voice .slick-prev:hover {
			background: url("../images/voice_arw-prev.png") no-repeat 50% 50%;
			left: 50%;
			z-index: 99;
			width: 70px;
			height: 70px;
			margin: 0 0 0 -393px;
			overflow: hidden;
			text-indent: -999px; }
		.voice .slick-next,
		.voice .slick-next:hover {
			background: url("../images/voice_arw-next.png") no-repeat 50% 50%;
			right: 50%;
			z-index: 99;
			width: 70px;
			height: 70px;
			margin: 0 -393px 0 0;
			overflow: hidden;
			text-indent: -999px; }
		.voice .slick-dots {
			bottom: -63px; }
			.voice .slick-dots li {
				margin: 0 8px; }
				.voice .slick-dots li button:before {
					content: '';
					width: 16px;
					height: 16px;
					opacity: 1;
					border: solid 2px #FFF;
					-webkit-border-radius: 50%;
					        border-radius: 50%; }
				.voice .slick-dots li.slick-active button:before {
					background: #FFF;
					opacity: 1; }
				.voice .slick-dots li button:hover:before,
				.voice .slick-dots li button:focus:before {
					background: #FFF;
					opacity: 1; }
@media only screen and (max-width: 750px) {
	.voice {
		padding: 0 0 50px; }
		.voice_item {
			padding: 15px; }
			.voice_img01 {
				margin: 0 0 20px;
				padding: 0 0 15px; }
		.voice_img02 {
			width: auto; }
			.voice_img02 img {
				width: auto; }
		.voice_img-left,
		.voice_img-right {
			display: none; }
		/* slick */
		.voice .slick-prev,
		.voice .slick-prev:hover {
			-webkit-background-size: 40px auto;
			     -o-background-size: 40px auto;
			        background-size: 40px auto;
			left: 15px;
			width: 40px;
			height: 40px;
			margin: 0; }
		.voice .slick-next,
		.voice .slick-next:hover {
			-webkit-background-size: 40px auto;
			     -o-background-size: 40px auto;
			        background-size: 40px auto;
			right: 15px;
			width: 40px;
			height: 40px;
			margin: 0; }
		.voice .slick-dots {
			bottom: -50px; }
			.voice .slick-dots li {
				width: 12px;
				height: 12px;
				margin: 0 2px; }
				.voice .slick-dots li button:before {
					content: '';
					width: 10px;
					height: 10px;
					border: solid 1px #FFF;
					-webkit-border-radius: 50%;
					        border-radius: 50%; }
}

/* ---------------------------------------------------------
	1.10 取扱商品
--------------------------------------------------------- */
.product {
	padding: 0 0 100px; }
	.product_list {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		margin: 0 -12px;
	}
		.product_item {
			width: calc((100% - (12px * 12)) / 6);
			margin: 12px;
		}
			.product_pht {}
				.product_pht img {}
			.product_name {
				padding: 8px 5px 0;
				font-size: 13px;
				line-height: 1.4;
				text-align: left; }
@media only screen and (max-width: 750px) {
	.product {
		padding: 0 0 50px; }
		.product_list {
			margin: 0 -5px;
		}
			.product_item {
				width: calc((100% - (5px * 6)) / 3);
				margin: 5px;
			}
					.product_name {
						padding: 5px 0 0; }
}

/*
.product {
	padding: 0 0 100px; }
	.product_list {
		text-align: center;
		letter-spacing: -0.4em; }
		.product_item {
			display: inline-block;
			width: 90px;
			margin: 10px;
			letter-spacing: normal;
			vertical-align: top; }
			.product_pht {
				background: #FFF;
				position: relative;
				overflow: hidden;
				width: 90px;
				height: 90px;
				margin: 0 auto;
				text-align: center; }
				.product_pht img {
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%); }
			.product_name {
				padding: 8px 5px 0;
				font-size: 13px;
				line-height: 1.4;
				text-align: left; }
@media only screen and (max-width: 750px) {
	.product {
		padding: 0 0 50px; }
		.product_list {
			text-align: left;
			letter-spacing: -0.5em; }
			.product_item {
				width: calc((100% - (20px * 3)) / 3);
				margin: 5px 10px; }
				.product_pht {
					width: auto; }
				.product_name {
					padding: 5px 0 0; }
}
 */



/* =========================================================

	2.0 [page] works （施工事例）

========================================================= */
.pageTtl-works .pageTtl_bg {
	background: url("../images/works_pageTtl_bg.jpg") no-repeat 50% 50%;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover; }
.works {}
	.works_bg {
		background-color: #ffffff;
		padding: 76px 0 98px;
	}
	.works_bg-02 {
		background-color: #f0f5ff;
		padding: 76px 0 98px;
	}
		.works_table {
			color: #000000;
			letter-spacing: 0.05em;
		}
		.works_table thead {
			border-bottom: 2px solid #003dbf;
		}
			.works_table thead th {
				padding: 0 0 15px;
				color: #2330bc;
				font-weight: bold;
				text-align: center;
			}
			.works_table thead .season {
				width: 140px;
			}
			.works_table thead .content {}
			.works_table thead .place {
				width: 200px;
			}
			.works_table thead .type {
				width: 100px;
			}
			.works_table tbody th,
			.works_table tbody td {
				font-size: 14px;
				border-bottom: 1px solid #cccccc;
			}
			.works_table tbody th {
				padding: 8px 22px;
				font-weight: bold;
			}
			.works_table tbody td {
				padding: 8px 10px;
				text-align: center;
			}
				.works_table tbody .content {
					text-align: left;
				}
@media only screen and (max-width: 750px) {
	.works_bg {
		padding: 50px 0; }
	.works_bg-02 {
		padding: 50px 0; }
	.works .ttl02 {
		padding: 0 0 50px; }
			.works_table thead th {
				padding: 0 0 15px; }
			.works_table thead .season {
				width: 130px; }
			.works_table tbody th, .works_table tbody td {
				padding: 15px 10px; }
}
.works .inner {
	width: 800px; }
.works_tab {
	margin: 0 0 80px;
	border-bottom: solid 1px #2330BC; }
	.works_tab ul {}
		.works_tab li {
			float: left;
			/* width: 110px; */
			/* width: 154px; */
			width: calc((100% - 20px) / 5);
			margin: 0 5px 0 0; }
			.works_tab li:nth-child(5n) {
				margin: 0px; }

			.works_tab a {
				background: #f7f7f7;
				display: block;
				padding: 15px 10px;
				font-weight: bold;
				text-align: center;
				border-top: solid 3px #2330BC;
				text-decoration: none; }
			.works_tab a.active {
				background: #2330BC;
				color: #FFF; }
.works-01,
.works-02,
.works-03,
.works-04,
.works-05 {
	display: none; }
@media only screen and (max-width: 750px) {
.works .inner {
	width: 90%; }
.works_tab {
	margin: 0 0 50px;
	border: 0; }
		.works_tab li {
			width: calc((100% - 10px) / 3);
			margin: 0 5px 5px 0; }
		.works_tab li:nth-child(3n) {
			margin: 0 0 5px; }
			.works_tab a {
				border: solid #2330BC;
				border-width: 3px 1px 1px; }
}
