@charset "utf-8";
/* CSS Document */
.service_flow {
	background:#f4f3f5;
	margin-bottom:10%;
}
.service_flow_header {
	padding:12% 0 10% 0;
	color:#000;
	text-align: center;
	background:#f4f3f5;
}
.service_flow_header_span {
	display: block;
	font-size: 2.5em;
	margin-bottom:1em;
	letter-spacing: 0.1em;
	overflow: hidden;
	line-height: 1;
	font-weight: 600;
}
.service_flow_header_span span {
	display: block;
}
.service_flow_header_h2 {
	font-size: 3.7em;
	display: inline-block;
	letter-spacing: 0.1em;
	padding-bottom:0.5em;
	overflow: hidden;
	line-height: 1;
	font-weight: 600;
	margin:0;
	position: relative;
}
.service_flow_header_h2:after {
	content:'';
	width:100%;
	height: 3px;
	background:#000;
	position: absolute;
	left:0;
	bottom:0;
}
.service_flow_header_h3 {
	font-size: 1.6em;
	overflow: hidden;
	line-height: 1;
	font-weight: normal;
	margin:1.5em 0 0 0;
}
.service_flow_table {
	width:80%;
	border-spacing: 0;
	max-width:1400px;
	margin: 0 auto;
	padding-bottom:5%;
}
.service_flow_table tr:nth-last-of-type(1) th:after {
	content:'';
	width:5%;
	height: 100%;
	background:#f4f3f5;
	position: absolute;
	top:5px;
	left:-1em;
	z-index: 100;
}

/* table th */
.service_flow__left__item {
	position: relative;
	height: auto;
	width:50%;
	box-sizing: border-box;
	text-align: left;
	vertical-align: top;
	padding:0 0 0 2em;
	font-size: 1.5em;
	line-height: 1.6;
	font-weight: 500;
	border-left:1px solid rgba(0,0,0,.5);
	position: relative;
}
.service_flow__left__item:before {
	content:'';
	width:0.7em;
	height: 0.7em;
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;left:-0.3em;
	z-index: 101;
}
.service_flow__left__item_number {
	display: block;
	font-size: 1.2em;
	font-weight: 600;
}
.service_flow__left__item_inner {
	transform: translateY(-0.7em);
}

/* table td */
.servie_flow__right__item {
	width:50%;
	padding-bottom:15em;
}
.service_flow__right__item_inner {
	display: block;
	width: 100%;
	height: auto;
}
.servie_flow__right__item:nth-last-of-type(1) {
	height: 0;
}
.service_flow__right__p {
	font-size: 2em;
	letter-spacing: 0.2em;
	line-height: 2;
}
.service_flow__right__p>strong {
	font-size: 1.3em;
	letter-spacing: 0.1em;
	line-height: 1.8;
	font-weight: normal;
}
.service_flow__right__osusume {
	font-size: 1.4em;
	margin:2em 0;
}
.service_flow__right__osusume>span {
	font-size: 1.1em;
	display: inline-block;
	background:#d0cecc;
	padding:0.5em 2.5em;
	font-weight: 600;
	border-radius: 10em;
	margin-right:1.5em;
}
.service_flow__right__patern_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin:4em 0;
}
.service_flow__right__patern_img {
	width:25%;
}
.service_flow__right__patern_img img {
	display: block;
	width:100%;
	height: auto;
}
.service_flow__right__patern_txt {
	width:65%;
}
.service_flow__right__patern_txt_p {
	font-size: 1.4em;
	margin-bottom:2.5em;
}
.service_flow__right__patern_ul {
	font-size: 2em;
	line-height: 2;
}
.service_flow__right__patern_li {
	margin-bottom:3em;
	position: relative;
}
.service_flow__right__patern_li:before {
	content:'';
	width:1em;
	height: 1px;
	background:#000;
	position: absolute;
	left:-1.5em;
	top:0.9em;
}
.service_flow__right__patern_li:nth-of-type(1):after {
	content:'';
	width:1px;
	height: 6.9em;
	background:#000;
	position: absolute;
	left:-1.5em;
	top:0.9em;
}
.service_flow__right__patern_li_child {
	margin:0.3em 0;
	padding-left:1em;
	line-height: 1.5;
	position: relative;
}
.service_flow__right__patern_li_child:before {
	content:'';
	width:0.8em;
	height: 0.8em;
	background-image: url("../images/flow/icon01.svg");
	background-position: center left;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left:0;top:0.4em;
}
.service_flow__right__image_wrap {
	width:100%;
	margin:8em 0;
	position: relative;
}
.service_flow__right__image_wrap img {
	display: block;
	width:100%;
	height: auto;
}
.service_flow__right__image_wrap_p2 {
	font-size: 2em;
	letter-spacing: 0.2em;
	line-height: 2;
	position: absolute;
	right:13%;bottom:10%;
}
.service_flow__right__check {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin:2% 0 0 0;
	width:100%;
}
.service_flow__right__check ul {
	width:auto;
	width:50%;
}
.service_flow__right__check li {
	font-size: 2em;
	letter-spacing: 0.2em;
	line-height: 2;
	position: relative;
	padding-left:1.4em;
}
.service_flow__right__check li:before {
	content:'';
	width:0.8em;
	height: 0.8em;
	border:1px solid #000;
	position: absolute;
	top:0;bottom:0;left:1%;margin:auto;
}
.service_flow_sabetsuka {
	padding:0 0 10% 0;
}
.service_flow_sabetsuka_inner {
	width:80%;
	max-width:1200px;
	margin: 0 auto;
	padding-top:5%;
}
.service_flow_sabetsuka strong {
	width:100%;
	display: block;
	text-align: center;
	border-radius: 0.5em;
	padding:1em 0;
	font-size: 2.7em;
	font-weight: normal;
	margin:0 auto;
	background:#d0cecc;
}

@media screen and (max-width:1000px) {
	.service_flow__left__item {
		display: block;
		width:100%;
		padding:0 0 2em 4em;
	}
	.servie_flow__right__item {
		width:100%;
		display: block;
		height: auto!important;
		padding-left:6em;
		border-left:1px solid rgba(0,0,0,.5);
	}
	.service_flow_table tr:nth-last-of-type(1) td:after {
		content:'';
		width:5%;
		height: 100%;
		background:#f4f3f5;
		position: absolute;
		top:5px;
		left:-1em;
		z-index: 100;
	}
	.service_flow_sabetsuka {
		padding:13% 0 20% 0;
	}
	.service_flow_header {
		padding:12em 0 14em 0;
	}
	.service_flow {
		margin-bottom:15%;
	}
}

@media screen and (max-width:500px) {
	.service_flow__right__p {
		text-align: justify;
		letter-spacing: 0.05em;
	}
	.service_flow__right__p>strong {
		letter-spacing: 0.05em;
		font-size: 1.2em;
	}
	.service_flow__right__p br {
		display: none
	}
	.service_flow__right__patern_li:nth-of-type(1):after {
		height: 7em;
	}
	.service_flow__right__patern_li_child {
		line-height: 1.7;
	}
	.service_flow__right__patern_li_child br {
		display: none
	}
	.service_flow__right__check ul {
		width:100%;
	}
	.service_flow__right__image_wrap_p2 {
		margin:2em 0 0 0;
		position: static;
		letter-spacing: 0.05em;
	}
	.service_flow__right__image_wrap_p2 br {
		display: none;
	}
	.service_flow__right__patern_img {
		width:40%;
		margin: 0 auto 3.5em auto;
	}
	.service_flow__right__patern_txt {
		padding-left:5%;
		width:100%;
	}
}