.page-header {
	background: url(../img/service/header_bg.jpg) center top no-repeat;
	background-size: cover;
}

/* ------------------------------
bg
------------------------------ */
#video:before,
#sns:before {
	content: "";
	position: absolute;
	background-color: #f7f7f7;
	transform: rotate(22deg);
	z-index: -1;
}
#video:before {
	top: -395px;
	left: -21%;
	width: 60%;
	height: 1350px;
}
#sns:before {
	top: -190px;
	left: 50%;
	width: 60%;
	height: 1380px;
	margin-left: 100px;
}
#video:after,
#sns:after {
	content: "";
	position: absolute;
	top: 960px;
	left: 0;
	background-color: #fff;
	width: 100%;
	height: 220px;
	z-index: 0;
}
#sns:after {
	height: 400px;
}

/* ------------------------------
#main
------------------------------ */
.contents-block {
	padding-top: 100px;
}
.contents-block .wrap {
	position: relative;
	z-index: 2;
}
.contents-block .contents-header {
	justify-content: flex-start;
}
.contents-block .contents-header .lead-text {
	width: 530px;
}
.contents-block .service-about-list {
	margin-top: -40px;
}
.contents-block .service-about-list .service-about:nth-of-type(1) {
	margin-top: 120px;
}
.contents-block .service-about-list .service-about:nth-of-type(2) {
	margin-top: 60px;
}
.contents-block .service-about-list .service-about {
	position: relative;
	background-color: #fff;
	width: 365px;
	padding: 35px 45px;
	-webkit-box-shadow: 0 0 15px 0 rgb(217 217 217 / 50%);
	-moz-box-shadow: 0 0 15px 0 rgba(217,217,217,.5);
	box-shadow: 0 0 15px 0 rgb(217 217 217 / 50%);
}
.contents-block .service-about-list .service-about--half{
	width: 560px;	
}

/* ------------------------------
IE11
------------------------------ */
@media all and (-ms-high-contrast:none) {
	.contents-block .service-about-list .service-about {
		box-shadow: 0 0 15px 0 #bababa;
	}
}
.contents-block .service-about-list .service-about:before {
	position: absolute;
	content: "";
	width: 80%;
	height: 4px;
	top: 0;
	left: 10%;
	background-color: #1f1f1f;
}
.contents-block .service-about-list .service-about .about-header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 20px;
}
.contents-block .service-about-list .service-about .about-header .about-title {
	margin-left: 15px;
	font-size: 2rem;
	font-weight: bold;
}
.contents-block .service-about-list .service-about .about-header .about-title span {
	display: block;
	font-size: 1.4rem;
}

/* ------------------------------
#flow
------------------------------ */
#flow {
	background-color: #f7f7f7;
	margin-top: 100px;
	padding: 65px 0;
}
#flow .flow-list {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 30px;
}
#flow .flow-list .flow-box {
	position: relative;
	width: 250px;
	padding: 0 30px;
	box-sizing: content-box;
}
#flow .flow-list .flow-box .flow-title {
	margin-top: 25px;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
#flow .flow-list .flow-box .flow-title span {
	position: relative;
	display: inline-block;
	background-color: #1e1e1e;
	height: 35px;
	margin: 0 auto 20px;
	padding: 5px 20px;
	color: #fff;
	font-weight: normal;
	text-transform: uppercase;
	line-height: 26px;
}
#flow .flow-list .flow-box .flow-title span:before {
	position: absolute;
	top: 0;
	left: -20px;
	width: 0;
	height: 0;
	content: '';
	border-width: 0 0 35px 20px;
	border-style: solid;
	border-color: transparent transparent #1e1e1e;
}
#flow .flow-list .flow-box .flow-title span:after {
	position: absolute;
	top: 0;
	right: -20px;
	width: 0;
	height: 0;
	content: '';
	border-width: 35px 20px 0 0;
	border-style: solid;
	border-color: #1e1e1e transparent transparent;
}
#flow .flow-list .flow-box .flow-text {
	margin-top: 25px;
	font-size: 1.4rem;
}

#flow .flow-list .flow-box:before {
	position: absolute;
	content: '';
	background-color: #6a605e;
	width: 1px;
	height: 165px;
	right: 0;
	top: 10px;
}
#flow .flow-list .flow-box:after {
	position: absolute;
	content: '';
	background-color: #6a605e;
	width: 1px;
	height: 165px;
	right: 0;
	bottom: 10px;
}
#flow .flow-list .flow-box:first-of-type {
	padding-left: 0;
}
#flow .flow-list .flow-box:last-of-type {
	padding-right: 0;
}
#flow .flow-list .flow-box .flow-title:after {
	position: absolute;
	background-color: #f7f7f7;
	content: '';
	width: 6px;
	height: 6px;
	top: calc( 50% - 1px);
	right: 0;
	border: 0;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-ms-transform: rotate(45deg) translateY(-50%) translateX(0);
	-webkit-transform: rotate(45deg) translateY(-50%) translateX(0);
	transform: rotate(45deg) translateY(-50%) translateX(0);
}
#flow .flow-list .flow-box:last-of-type:before,
#flow .flow-list .flow-box:last-of-type:after,
#flow .flow-list .flow-box:last-of-type .flow-title:after {
	content: none;
}



/* ----------------------------------------------------------------------------------------------------
*  TAB
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
	/* ------------------------------
	#main
	------------------------------ */
	.contents-block .contents-header {
		display: block;
	}
	.contents-block .contents-header .lead-text {
		width: 100%;
		margin-top: 20px;
		margin-left: 0;
	}
	.contents-block .service-about-list {
		margin-top: 20px;
	}
	.contents-block .service-about-list .service-about {
		width: 100%;
		padding: 35px 20px;
	}
	.contents-block .service-about-list .service-about .about-header > img {
		width: 30%;
		max-width: 160px;
	}

	/* ------------------------------
	#flow
	------------------------------ */
	#flow .flow-list .flow-box:first-of-type,
	#flow .flow-list .flow-box:last-of-type {
		padding: 0 30px;
	}


}

/* ----------------------------------------------------------------------------------------------------
*  SP
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	/* ------------------------------
	#main
	------------------------------ */
	.contents-block .service-about-list .service-about,
	.contents-block .service-about-list .service-about:nth-of-type(1),
	.contents-block .service-about-list .service-about:nth-of-type(2) {
		margin-top: 50px;
	}
	.contents-block .service-about-list .service-about .about-header .about-title{
		font-size: 1.6rem;
	}

	/* ------------------------------
	bg
	------------------------------ */
	#video:before {
		left: -18.25%;
	}

	/* ------------------------------
	#flow
	------------------------------ */
	#flow .flow-list {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	#flow .flow-list .flow-box,
	#flow .flow-list .flow-box:first-of-type,
	#flow .flow-list .flow-box:last-of-type {
	width: 100%;
	padding: 40px 0;
	}
	#flow .flow-list .flow-box:before {
		width: 47%;
		height: 1px;
		left: 0;
		bottom: 0;
		right: auto;
		top: auto;
	}
	#flow .flow-list .flow-box:after {
		width: 47%;
		height: 1px;
		right: 0;
		bottom: 0;
		left: auto;
		top: auto;
	}
	#flow .flow-list .flow-box .flow-title:after {
		-ms-transform: rotate(135deg) translateY(-50%) translateX(0);
		-webkit-transform: rotate(135deg) translateY(-50%) translateX(0);
		transform: rotate(135deg) translateY(-50%) translateX(0);
		top: auto;
		right: 50%;
		bottom: 0;
	}
}