@charset "UTF-8";
/* 共通 */
div.index_contact {
	min-width: 1220px;
	height: 200px;
	margin: 0 auto;
	padding: 0;
	background: url(../images/top/contact_bg.jpg) center / cover no-repeat;
	overflow: hidden;
}
	div.index_contact div.index_contact_in {
		width: 1220px;
		height: 200px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
		div.index_contact div.index_contact_in div.txt {
			width: 600px;
			margin: 0;
			padding: 0;
			font-size: 28px;
			line-height: 160%;
			font-weight: 500;
			color: #fff;
			text-align: left;
		}
		div.index_contact div.index_contact_in div.tel_mail {
			width: 600px;
			height: 200px;
			margin: 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			align-items: flex-end;
		}
			div.index_contact div.index_contact_in div.tel_mail div {
				opacity: 0;
				width: 410px;
				height: 90px;
				margin: 0 40px 0 0;
				padding: 0;
				display: flex;
				justify-content: center;
				align-items: center;
				position: relative;
				z-index: 1;
			}
				div.index_contact div.index_contact_in div.tel_mail div:nth-of-type(2) {
					margin-right: 100px !important;
				}
				div.index_contact div.index_contact_in div.tel_mail div:after {
					position: absolute;
					content: '';
					display: block;
					width: 410px;
					height: 114%;
					margin: 0 auto;
					padding: 0;
					background: #fff;
					transform: rotate(15deg) skew(-15deg, -15deg);
					top: -7%;
					left: 0;
					z-index: -1;
				}
				div.index_contact div.index_contact_in div.tel_mail div.tel {
					font-size: 40px;
					line-height: 120%;
					font-weight: 500;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				}
					div.index_contact div.index_contact_in div.tel_mail div.tel.scrollin {
						-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
						animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
					}
					div.index_contact div.index_contact_in div.tel_mail div.tel a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 45px;
						color: #333;
						text-decoration: none;
						pointer-events: none;
						position: relative;
					}
					div.index_contact div.index_contact_in div.tel_mail div.tel a:before {
						position: absolute;
						content: '';
						display: block;
						width: 31px;
						height: 30px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/cont_tel.png) center / contain no-repeat;
						top: 0.3em;
						left: 0;
					}
				div.index_contact div.index_contact_in div.tel_mail div.mail {
					font-size: 24px;
					line-height: 120%;
					font-weight: 500;
				}
					div.index_contact div.index_contact_in div.tel_mail div.mail.scrollin {
						-webkit-animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
						animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
					}
					div.index_contact div.index_contact_in div.tel_mail div.mail a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 45px;
						color: #333;
						text-decoration: none;
						position: relative;
					}
					div.index_contact div.index_contact_in div.tel_mail div.mail a:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 38px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/cont_mail_c.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
						transition: 0.2s linear;
					}
						div.index_contact div.index_contact_in div.tel_mail div.mail a:hover:before {
							background: url(../images/icon/cont_mail_o.png) center / contain no-repeat;
						}
				div.index_contact div.index_contact_in div.tel_mail div.mail:before {
					position: absolute;
					content: '';
					display: block;
					width: 0;
					height: 0;
					border-top: 32px solid transparent;
					border-right: 32px solid transparent;
					border-left: 32px solid transparent;
					border-bottom: 56px solid #C8000F;
					top: -32px;
					right: -66px;
					z-index: -2;
				}
div.cont_btn a {
	display: inline-block;
	width: 370px;
	font-size: 20px;
	line-height: 70px;
	color: #fff;
	background: #333333;
	border-radius: 35px;
	text-decoration: none;
	text-align: center;
	transition: 0.2s linear;
}
	div.cont_btn a:hover {
		background: #E60012;
	}


/* KV */
#kv {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	position: relative;
}
	#kv:after {
		position: absolute;
		content: '';
		display: block;
		width: 0;
		height: 0;
		margin: 0;
		padding: 0;
		border-top: 0px solid transparent;
		border-right: 0px solid transparent;
		border-left: 530px solid rgba(230,0,18,0.5);
		border-bottom: 800px solid transparent;
		top: 0;
		left: calc(50% - 1017px);
		transition: 0.2s linear;
	}
	#kv:before {
		position: absolute;
		content: '';
		display: block;
		width: 3000px;
		height: 800px;
		margin: 0;
		padding: 0;
		background: rgba(230,0,18,0.5);
		top: 0;
		left: calc(50% - 4017px);
		z-index: 1;
	}
@media screen and (max-width:1620px) {
	#kv:after {
		left: -288px;
	}
}
	#kv ul.slick_box {
		width: 100%;
		min-width: 1220px;
		height: calc(100vh - 110px);
		max-height: 800px;
		min-height: 650px;
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
		list-style: none;
	}
		#kv ul.slick_box li {
			width: 100%;
			height: calc(100vh - 110px);
			max-height: 800px;
			min-height: 650px;
			margin: 0 auto;
			padding: 0;
			color: #fff;
			text-align: left;
			position: relative;
		}
			#kv ul.slick_box li:before {
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}
			#kv ul.slick_box li.kv01:before {
				background: url(../images/top/kv_04.jpg) center / cover no-repeat;
			}
			#kv ul.slick_box li.kv02:before {
				background: url(../images/top/kv_02.jpg) center / cover no-repeat;
			}
			#kv ul.slick_box li.kv03:before {
				background: url(../images/top/kv_03.jpg) center / cover no-repeat;
			}
			#kv ul.slick_box li.slick-current:before {
				-webkit-animation: KV_Zoom 2s cubic-bezier(0, 0, 0, 1) 0s 1 forwards;
				animation: KV_Zoom 2s cubic-bezier(0, 0, 0, 1) 0s 1 forwards;
			}
	#kv div.txt {
		position: absolute;
		width: 1220px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		top: 13%;
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
		z-index: 1;
	}
		#kv div.txt img {
			display: inline-block;
		}
			#kv div.txt img:nth-of-type(1) {
				margin: 0;
			}
			#kv div.txt img:nth-of-type(2) {
				margin: 50px 0 0 0;
			}


/* なぜＴＭＲは選ばれ続けているのか？ */
div.index_chose {
	width: 1220px;
	margin: 110px auto 0;
	padding: 0;
}
	div.index_chose h3 {
		display: inline-block;
		margin: 0 auto;
		padding: 12px 0;
		font-size: 40px;
		line-height: 150%;
		font-weight: 500;
		color: #E50012;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
		position: relative;
	}
		div.index_chose h3:before {
			position: absolute;
			content: '';
			display: block;
			width: 650px;
			height: 1px;
			margin: 0;
			padding: 0;
			background: #E60012;
			top: 0;
			right: -50px;
		}
			div.index_chose h3.scrollin:before {
				-webkit-animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
				animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
			}
		div.index_chose h3:after {
			position: absolute;
			content: '';
			display: block;
			width: 650px;
			height: 1px;
			margin: 0;
			padding: 0;
			background: #E60012;
			bottom: 0;
			left: -50px;
		}
			div.index_chose h3.scrollin:after {
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
			}
	div.index_chose div.chose_point_top {
		margin: 60px auto 0;
		padding: 0;
	}
		div.index_chose div.chose_point_top:nth-of-type(1) {
			position: relative;
			z-index: 1;
		}
		div.index_chose div.chose_point_top:nth-of-type(2) {
			margin: 0 auto;
			padding: 0 30px;
			display: flex;
			justify-content: space-between;
		}
		div.index_chose div.chose_point_top div.point_top_box {
			opacity: 0;
			width: 480px;
			height: 220px;
			margin: 0 auto;
			padding: 0;
			color: #fff;
			position: relative;
		}
			div.index_chose div.chose_point_top div.point_top_box.scrollin {
				-webkit-animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
				animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
			}
			div.index_chose div.chose_point_top div.point_top_box.box3 {
				color: #333333 !important;
			}
			div.index_chose div.chose_point_top div.point_top_box:before {
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 116%;
				transform: rotate(17deg) skew(-17deg, -17deg);
				top: -8%;
				left: 0;
				z-index: -1;
			}
				div.index_chose div.chose_point_top div.point_top_box.box1:before {
					background: linear-gradient(to bottom, #E60012 0%, #E60012 50%, #DA0011 50%, #DA0011 100%);
				}
				div.index_chose div.chose_point_top div.point_top_box.box2:before {
					background: linear-gradient(to bottom, #B0000D 0%, #B0000D 50%, #A7000C 50%, #A7000C 100%);
				}
				div.index_chose div.chose_point_top div.point_top_box.box3:before {
					background: linear-gradient(to bottom, #DEA5A6 0%, #DEA5A6 50%, #D39D9E 50%, #D39D9E 100%);
				}
			div.index_chose div.chose_point_top div.point_top_box span {
				position: absolute;
				display: block;
				margin: 0;
				padding: 0;
				font-size: 100px;
				line-height: 100%;
				font-weight: 300;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				font-style: italic;
				color: rgba(255,255,255,0.3);
				top: -0.2em;
				right: -0.45em;
			}
				div.index_chose div.chose_point_top div.point_top_box span small {
					display: inline-block;
					margin-right: 0.2em;
					font-size: 36px;
					line-height: 100%;
					font-weight: 300;
					vertical-align: 1.2em;
				}
			div.index_chose div.chose_point_top div.point_top_box h4 {
				height: 110px;
				margin: 0 auto;
				padding: 0 0 0 20px;
				font-size: 30px;
				line-height: 130%;
				font-weight: 500;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			div.index_chose div.chose_point_top div.point_top_box p {
				height: 110px;
				margin: 0 auto;
				padding: 0 60px 0 0;
				font-size: 16px;
				line-height: 160%;
				font-weight: 400;
				display: flex;
				justify-content: center;
				align-items: center;
			}
	div.index_chose div.chose_point_cont {
		margin: 0 auto;
		padding: 25px 0 0;
	}
		div.index_chose div.chose_point_cont div.point_box {
			height: 340px;
			margin: 95px auto 0;
			padding: 50px 0 0;
			text-align: left;
			background: #EFF0F1;
			position: relative;
		}
			div.index_chose div.chose_point_cont div.point_box span {
				position: absolute;
				width: 200px;
				height: 200px;
				margin: 0 auto;
				padding: 0;
				font-size: 80px;
				line-height: 110%;
				font-weight: 300;
				font-style: italic;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				color: #fff;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				z-index: 1;
			}
				div.index_chose div.chose_point_cont div.point_box.scrollin span {
					-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
					animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
				}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(odd) span {
					top: -55px;
					left: -22px;
				}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(even) span {
					top: -55px;
					right: -22px;
				}
				div.index_chose div.chose_point_cont div.point_box span:before {
					position: absolute;
					content: '';
					display: block;
					width: 200px;
					height: 200px;
					margin: 0 auto;
					padding: 0;
					transform: rotate(17deg) skew(-17deg, -17deg);
					top: 0;
					left: 0;
					z-index: -1;
				}
					div.index_chose div.chose_point_cont div.point_box:nth-of-type(1) span:before {
						background: #E60012;
					}
					div.index_chose div.chose_point_cont div.point_box:nth-of-type(2) span:before {
						background: #B0000D;
					}
					div.index_chose div.chose_point_cont div.point_box:nth-of-type(3) span:before {
						background: #DEA5A6;
					}
				div.index_chose div.chose_point_cont div.point_box span small {
					display: block;
					margin: 0 auto;
					padding: 0;
					font-size: 32px;
					line-height: 110%;
				}
			div.index_chose div.chose_point_cont div.point_box h4 {
				padding: 0;
				font-size: 30px;
				line-height: 160%;
				font-weight: 500;
			}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(odd) h4 {
					margin: 0 0 0 210px;
				}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(even) h4 {
					margin: 0 0 0 570px;
				}
			div.index_chose div.chose_point_cont div.point_box p {
				width: 560px;
				padding: 0;
				font-size: 16px;
				line-height: 180%;
			}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(odd) p {
					margin: 25px 0 0 65px;
				}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(even) p {
					margin: 25px 0 0 570px;
				}
			div.index_chose div.chose_point_cont div.point_box div.img {
				position: absolute;
				margin: 0;
				padding: 0;
			}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(odd) div.img {
					top: 0;
					right: 0;
				}
				div.index_chose div.chose_point_cont div.point_box:nth-of-type(even) div.img {
					top: 0;
					left: 0;
				}

/* シームレスにお受けしています */
div.index_seamless {
	min-width: 1220px;
	margin: 150px auto 0;
	padding: 130px 0 135px;
	background: #C8000F;
	position: relative;
	z-index: 1;
}
	div.index_seamless:before {
		opacity: 0;
		position: absolute;
		content: '';
		display: block;
		width: 430px;
		height: 647px;
		margin: 0;
		padding: 0;
		background: url(../images/top/seamless_bg.png) no-repeat;
		top: 0;
		left: 0;
		z-index: -1;
	}
@media screen and (max-width:1620px) {
	div.index_seamless:before {
		left: calc(50% - 805px);
	}
}
		div.index_seamless.scrollin:before {
			-webkit-animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
			animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
		}
	div.index_seamless h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 34px;
		line-height: 150%;
		font-weight: 500;
		color: #fff;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	}
	div.index_seamless div.seamless_cont {
		width: 1220px;
		margin: 0 auto;
		padding: 30px 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}
		div.index_seamless div.seamless_cont div.seamless_box {
			width: 360px;
			margin: 50px 25px 0 0;
			padding: 0;
		}
			div.index_seamless div.seamless_cont div.seamless_box div.img {
				width: 360px;
				margin: 0;
				padding: 0;
				position: relative;
			}
/*
				div.index_seamless div.seamless_cont div.seamless_box div.img:before {
					position: absolute;
					content: '';
					display: block;
					width: 0;
					height: 0;
					margin: 0;
					padding: 0;
					border-top: 45px solid #C8000F;
					border-right: 30px solid transparent;
					top: 0;
					left: 0;
				}
*/
				div.index_seamless div.seamless_cont div.seamless_box div.img h4 {
					opacity: 0;
					position: absolute;
					width: 260px;
					height: 60px;
					margin: 0;
					padding: 0;
					font-size: 20px;
					line-height: 180%;
					font-weight: 500;
					display: flex;
					justify-content: center;
					align-items: center;
					bottom: -25px;
					right: 0;
					z-index: 1;
				}
					div.index_seamless div.seamless_cont div.seamless_box div.img h4:after {
						position: absolute;
						content: '';
						display: block;
						width: 260px;
						height: 110%;
						margin: 0 auto;
						padding: 0;
						background: #fff;
						transform: rotate(15deg) skew(-15deg, -15deg);
						top: -5%;
						right: 0;
						z-index: -1;
					}
					div.index_seamless div.seamless_cont div.seamless_box div.img h4.scrollin {
						-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
						animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
					}
			div.index_seamless div.seamless_cont div.seamless_box p {
				margin: 35px 0 0;
				padding: 0;
				font-size: 16px;
				line-height: 160%;
				color: #fff;
				text-align: left;
			}

/* 工事費用 */
div.index_price {
	width: 1220px;
	margin: 0 auto;
	padding: 135px 0 150px;
}
	div.index_price p.price_top {
		margin: 35px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 180%;
	}
	div.index_price div.price_cont {
		width: 940px;
		margin: 100px auto 0;
		padding: 70px 15px 35px;
		background: #EFF0F1;
		position: relative;
	}
		div.index_price div.price_cont h5 {
			opacity: 0;
			position: absolute;
			width: 430px;
			height: 100px;
			margin: 0;
			padding: 0;
			font-size: 24px;
			line-height: 180%;
			font-weight: 400;
			color: #fff;
			display: flex;
			justify-content: center;
			align-items: center;
			top: -50px;
			left: -30px;
			z-index: 1;
		}
			div.index_price div.price_cont h5:after {
				position: absolute;
				content: '';
				display: block;
				width: 430px;
				height: 100%;
				margin: 0 auto;
				padding: 0;
				background: #E60012;
				transform: rotate(15deg) skew(-15deg, -15deg);
				top: 0;
				left: 0;
				z-index: -1;
			}
			div.index_price div.price_cont h5.scrollin {
				-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
				animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
			}
		div.index_price div.price_cont h4 {
			margin: 0 auto;
			padding: 0;
			font-size: 30px;
			line-height: 160%;
			font-weight: 500;
		}
		div.index_price div.price_cont p {
			margin: 20px auto 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
		}

/* 処理までの流れ */
div.index_flow {
	width: 1220px;
	margin: 0 auto;
	padding: 140px 0 140px;
}
	div.index_flow div.flow_top {
		margin: 35px auto 0;
		padding: 0;
	}
		div.index_flow div.flow_top p {
			margin: 20px auto 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
		}
			div.index_flow div.flow_top p:first-of-type {
				margin: 0 auto;
			}
	div.index_flow ul {
		margin: 55px auto 0;
		padding: 0;
		list-style: none;
		display: flex;
		justify-content: center;
	}
		div.index_flow ul li {
			width: calc(100% / 8);
			height: 333px;
			margin: 0;
			padding: 40px 0 0;
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
		}
			div.index_flow ul li:nth-of-type(1).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
				z-index: 10;
			}
			div.index_flow ul li:nth-of-type(2).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0.2s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0.2s 1 forwards;
				z-index: 9;
			}
			div.index_flow ul li:nth-of-type(3).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0.4s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0.4s 1 forwards;
				z-index: 8;
			}
			div.index_flow ul li:nth-of-type(4).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0.6s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0.6s 1 forwards;
				z-index: 7;
			}
			div.index_flow ul li:nth-of-type(5).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 0.8s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 0.8s 1 forwards;
				z-index: 6;
			}
			div.index_flow ul li:nth-of-type(6).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 1.0s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 1.0s 1 forwards;
				z-index: 5;
			}
			div.index_flow ul li:nth-of-type(7).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 1.2s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 1.2s 1 forwards;
				z-index: 4;
			}
			div.index_flow ul li:nth-of-type(8).scrollin {
				opacity: 0;
				-webkit-animation: slideInLeft2 0.8s ease-in-out 1.4s 1 forwards;
				animation: slideInLeft2 0.8s ease-in-out 1.4s 1 forwards;
				z-index: 3;
			}
			div.index_flow ul li:after {
				opacity: 0;
				position: absolute;
				content: '';
				display: block;
				width: 31px;
				height: 8px;
				margin: 0;
				background: url(../images/icon/flow_01.png) center / contain no-repeat;
				top: 60px;
				right: -16px;
				z-index: 1;
			}
				div.index_flow ul li:nth-of-type(1).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(2).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 0.2s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 0.2s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(3).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 0.4s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 0.4s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(4).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 0.6s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 0.6s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(5).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 0.8s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 0.8s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(6).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 1.0s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 1.0s 1 forwards;
				}
				div.index_flow ul li:nth-of-type(7).scrollin:after {
					-webkit-animation: slideInLeft2 0.8s ease-in-out 1.2s 1 forwards;
					animation: slideInLeft2 0.8s ease-in-out 1.2s 1 forwards;
				}
				div.index_flow ul li:last-of-type:after {
					display: none;
				}
			div.index_flow ul li:nth-of-type(odd) {
				background: #F2DDDE;
			}
			div.index_flow ul li:nth-of-type(even) {
				background: #F8EBEB;
			}
			div.index_flow ul li span {
				margin: 0 0.1em 0 0;
				padding: 0;
				font-size: 50px;
				line-height: 100%;
				font-weight: 400;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				font-style: italic;
				color: #E60012;
			}
			div.index_flow ul li p {
				margin: 20px 0 0;
				padding: 0;
				font-size: 20px;
				line-height: 150%;
				writing-mode: vertical-rl;
				text-align: left;
			}
			div.index_flow ul li a {
				position: absolute;
				display: block;
				width: 110px;
				margin: auto;
				padding: 0;
				font-size: 16px;
				line-height: 40px;
				text-decoration: none;
				color: #333;
				background: #fff;
				border-radius: 20px;
				bottom: 15px;
				left: 50%;
				transform: translateX(-50%);
				-webkit- transform: translateX(-50%);
				transition: 0.2s linear;
			}
				div.index_flow ul li a:hover {
					color: #fff;
					background: #E60012;
				}

/* 内装工事 */
div.index_renewal {
	min-width: 1220px;
	margin: 0 auto;
	padding: 130px 0 140px;
	background: #EFF0F1;
	position: relative;
}
	div.index_renewal:before,
	div.index_renewal:after {
		opacity: 0;
		position: absolute;
		content: '';
		display: block;
		width: 548px;
		height: 862px;
		margin: 0;
		padding: 0;
	}
	div.index_renewal:before {
		background: url(../images/top/renewal_bg_l.png) center / contain no-repeat;
		top: 0;
		left: 0;
	}
		div.index_renewal.scrollin:before {
			-webkit-animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
			animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
		}
	div.index_renewal:after {
		background: url(../images/top/renewal_bg_r.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
		div.index_renewal.scrollin:after {
			-webkit-animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
			animation: slideInLeft2 0.8s ease-in-out 0s 1 forwards;
		}
@media screen and (max-width:1580px) {
	div.index_renewal:before {
		left: calc(50% - 780px);
	}
	div.index_renewal:after {
		right: calc(50% - 780px);
	}
}
	div.index_renewal h4 {
		margin: 35px auto 0;
		padding: 0;
		font-size: 30px;
		line-height: 160%;
		font-weight: 500;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
		color: #C0000E;
	}
	div.index_renewal h5 {
		margin: 60px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 180%;
		font-weight: 500;
	}
	div.index_renewal p {
		margin: 20px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 180%;
	}

/* お客さまの声 */
div.index_voice {
	margin: 0 auto 30px;
	padding: 125px 0 140px;
	background: url(../images/top/voice_bg.jpg) center bottom / cover no-repeat;
	overflow: hidden;
	position: relative;
}
	div.index_voice div.index_voice_in {
		width: 1200px;
		margin: 0 auto;
		padding: 0;
	}
		div.index_voice div.index_voice_in h3.cont_ttl {
			color: #fff;
		}
			div.index_voice div.index_voice_in h3.cont_ttl span {
				border-bottom: 1px solid #fff;
			}
			div.index_voice div.index_voice_in h3.cont_ttl small {
				color: #fff;
			}
		div.index_voice:after {
			position: absolute;
			content: '';
			display: block;
			width: 40px;
			height: 148px;
			margin: 0;
			padding: 0;
			background: #fff;
			transform: rotate(15deg) skew(-15deg, -15deg);
			top: -10px;
			left: calc(50% + 600px);
		}
		div.index_voice div.index_voice_in div.voice_cont {
			padding: 0;
			display: flex;
		}
			div.index_voice div.index_voice_in div.voice_cont.cont1 {
				margin: 40px auto 0;
				justify-content: space-between;
			}
			div.index_voice div.index_voice_in div.voice_cont.cont2 {
				margin: 50px auto 0;
				justify-content: center;
			}
			div.index_voice div.index_voice_in div.voice_cont div.voice_box {
				width: 380px;
				margin: 0;
				padding: 0;
				background: linear-gradient(to bottom, transparent 0px, transparent 90px, rgba(255,255,255,0.9) 90px, rgba(255,255,255,0.9) 100%);
			}
				div.index_voice div.index_voice_in div.voice_cont.cont2 div.voice_box {
					margin: 0 20px;
				}
				div.index_voice div.index_voice_in div.voice_cont div.voice_box h4 {
					width: 380px;
					height: 90px;
					margin: 0;
					padding: 0;
					font-size: 19px;
					line-height: 160%;
					font-weight: 500;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
					background: linear-gradient(to bottom, transparent 0px, transparent 45px, #fff 45px, #fff 100%);
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
					z-index: 1;
				}
					div.index_voice div.index_voice_in div.voice_cont div.voice_box h4:before {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						border-bottom: solid 45px #fff;
						border-left: solid 30px transparent;
						height: 0;
						top: 0;
						left: 0;
						z-index: -1;
					}
				div.index_voice div.index_voice_in div.voice_cont div.voice_box div.txt {
					width: 380px;
					margin: 0;
					padding: 30px;
					font-size: 16px;
					line-height: 180%;
					text-align: left;
				}
					div.index_voice div.index_voice_in div.voice_cont div.voice_box div.txt p {
						margin: 0;
						padding: 0 5px 0 0;
						font-size: 16px;
						line-height: 180%;
					}
					div.index_voice div.index_voice_in div.voice_cont div.voice_box div.txt p.right {
						margin: 15px 0 0;
						padding: 0;
						text-align: right;
					}

/* よくある質問 */
div.index_faq {
	width: 1220px;
	margin: 0 auto;
	padding: 130px 0 150px;
}
	div.index_faq p.faq_top {
		margin: 35px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 180%;
	}
		div.index_faq dl {
			margin: 0 auto;
			padding: 10px 0 0 60px;
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
		}
			div.index_faq dl dt {
				opacity: 0;
				width: 120px;
				height: 110px;
				font-size: 50px;
				line-height: 120%;
				font-weight: 300;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				font-style: italic;
				display: flex;
				justify-content: center;
				position: relative;
			}
				div.index_faq dl dt.question {
					margin: 50px 0 0;
					padding: 15px 5px 0 0;
					color: #fff;
					z-index: 1;
				}
					div.index_faq dl dt.question.scrollin {
						-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
						animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
					}
				div.index_faq dl dt.answer {
					margin: 0 0 0 50px;
					padding: 20px 5px 0 0;
				}
					div.index_faq dl dt.answer.scrollin {
						-webkit-animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
						animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
					}
				div.index_faq dl dt:before {
					position: absolute;
					content: '';
					display: block;
					width: 120px;
					height: 116%;
					margin: 0;
					padding: 0;
					transform: rotate(17deg) skew(-17deg, -17deg);
					top: -8%;
					left: 0;
					z-index: -1;
				}
					div.index_faq dl dt.question:before  {
						background: #E60012;
					}
					div.index_faq dl dt.answer:before  {
						background: #EFF0F1;
					}
			div.index_faq dl dd {
				text-align: left;
			}
				div.index_faq dl dd.question {
					width: 950px;
					margin: 50px 0 0;
					padding: 40px 5px 0 45px;
					font-size: 20px;
					line-height: 150%;
				}
				div.index_faq dl dd.answer {
					width: 930px;
					margin: 0;
					padding: 40px 5px 0 45px;
					font-size: 16px;
					line-height: 180%;
				}
					div.index_faq dl dd.answer h4 {
						margin: 20px 0 5px;
						padding: 0;
					}
						div.index_faq dl dd.answer h4 span {
							display: inline-block;
							margin: 0;
							padding: 0 15px;
							font-size: 16px;
							line-height: 28px;
							font-weight: 400;
							background: #F2DDDE;
						}
					div.index_faq dl dd.answer ul {
						margin: 0;
						padding: 0;
						list-style: none;
					}
						div.index_faq dl dd.answer ul li:before {
							content: '●';
							display: inline-block;
							margin: 0 0.4em 0 0;
							padding: 0;
							font-size: 0.6em;
							color: #E60012;
							vertical-align: 0.2em;
						}
					div.index_faq dl dd.answer p {
						margin: 20px 0 0;
						padding: 0;
					}
						div.index_faq dl dd.answer p:first-of-type,
						div.index_faq dl dd.answer h4 + p {
							margin: 0;
						}

/* 採用情報 */
div.index_recruit {
	min-width: 1220px;
	margin: 0 auto;
	padding: 95px 0 73px;
	background: #EFF0F1;
	position: relative;
	overflow: hidden;
}
	div.index_recruit:before {
		opacity: 0;
		position: absolute;
		content: '';
		display: block;
		width: 46.48%;
		height: 500px;
		margin: 0;
		padding: 0;
		background: url(../images/top/recruit_bg.png) right center / cover no-repeat;
		top: 0;
		left: 0;
		z-index: 1;
	}
		div.index_recruit.scrollin:before {
			-webkit-animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
			animation: slideInRight2 0.8s ease-in-out 0s 1 forwards;
		}
	div.index_recruit span.trapezoid {
		position: absolute;
		content: '';
		display: block;
		width: 5px;
		height: 350px;
		margin: 0;
		padding: 0;
		background: #E60012;
		transform: rotate(16.5deg) skew(-16.5deg, -16.5deg);
		bottom: -25px;
		left: 34.8%;
		z-index: 1;
	}
@media screen and (max-width:1580px) {
	div.index_recruit span.trapezoid {
		left: calc(50% - 237px);
	}
}
	div.index_recruit div.index_recruit_in {
		width: 1220px;
		margin: 0 auto;
		padding: 0 0 0 555px;
		text-align: left;
	}
		div.index_recruit div.index_recruit_in h3 {
			margin: 0;
			padding: 0;
		}
			div.index_recruit div.index_recruit_in h3 span {
				margin: 0 auto;
				padding: 0;
				font-size: 40px;
				line-height: 160%;
				font-weight: 500;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
			}
			div.index_recruit div.index_recruit_in h3 small {
				display: block;
				margin: 5px auto 0;
				padding: 0;
				font-size: 15px;
				line-height: 120%;
				font-weight: 500;
				color: #E50012;
				font-family: 'Kiwi Maru', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
			}
		div.index_recruit div.index_recruit_in p {
			margin: 30px 0 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
		}

#foot_contact div.foot_contact_in div.contact_btn div {
	opacity: 0;
}