/*============================
#flow_page
============================*/


.sec_01 {
	height: 306px;
	background      : url("../img/flow/main_bg.jpg") no-repeat center;
	background-size : cover;
	padding-top: 56px;
}

@media only screen and (max-width : 767px) {
	.sec_01 {
		height: auto;
		background: url("../img/flow/main_bg.jpg") no-repeat center;
		padding: 50px 0;
		background-size: cover;
	}
}

.main_ttl img {
	max-width: 720px;
	margin    : 0 auto;
	display   : block;
}

@media only screen and (max-width : 767px) {
	.main_ttl img {
		max-width: 100%;
		margin: 0 auto;
		display: block;
		padding: 0 20px;
	}
}

.sec_01 .txt_01 {
	font-size: 14px;
	letter-spacing : 3.6px;
	color          : #fff;
	background     : #191970;
	/*background     : #409fbd;*/
	width: 160px;
	height: 37px;
	border-radius  : 8px;
	text-align     : center;
	font-weight    : 400;
	line-height: 37px;
	margin         : 10px auto 0;
}

.sec_02 {
	background: url("../img/flow/bg_01.png") no-repeat center 120px;
	background-size: 960px;
	padding-top: 48px;
}

@media only screen and (max-width : 767px) {
	.sec_02 {
		background-size: contain;
		background-position: center 120px;
		padding-top: 0;
	}

	.sec_02 .sec_inner {
		padding: 30px 20px;
	}
}

.sec_02 .ttl {
	text-align : center;
}

@media only screen and (max-width : 767px) {
	.sec_02 .ttl {
		padding: 13px 0 0;
	}
}

.sec_02 .ttl .txt_img {
	max-width: 550px;
	margin    : 0 auto;
}

@media only screen and (max-width : 767px) {
	.sec_02 .ttl .txt_img {
		max-width : 100%;
		margin    : 0 auto;
	}

}

.sec_02 .sub_txt {
	font-size     : 13px;
	color         : #696969;
	/*color         : #191970;*/
	/*color         : #409fbd;*/
	text-align    : center;
	display       : block;
	padding-right : 60px;
}

@media only screen and (max-width : 767px) {
	.sec_02 .sub_txt {
		padding-right: 0;
		margin: 6px 0 0;
	}
}



.sec_02 .sec_inner {
	max-width: 690px;
	margin    : 0 auto;
}

.sec_02 .flow_box .cnf_txt_01 {
	font-size: 14px;
	line-height    : 30px;
	color          : #fff;
	background     : #4c4948;
	width: 360px;
	height         : 30px;
	margin: 100px auto 0;
	letter-spacing : -1px;
	border-radius  : 30px;
	text-align     : center;
	position       : relative;
}

@media only screen and (max-width : 767px) {
	.sec_02 .flow_box .cnf_txt_01 {
		margin: 90px auto 0;
		width: 340px;
		font-size: 13px;
	}
}

.sec_02 .flow_box .cnf_txt_01::before {
	background : #4c4948;
	height: 20px;
	width      : 1px;
	position   : absolute;
	left       : 0;
	right      : 0;
	margin     : 0 auto;
	top        : 30px;
	content    : "";
}

.sec_02 .flow_box .cnf_txt_01::after {
	background    : #4c4948;
	position      : absolute;
	width         : 11px;
	height        : 11px;
	left          : 0;
	right         : 0;
	margin        : 0 auto;
	top: 46px;
	content       : "";
	border-radius : 10px;
}

.sec_02 .flow_box .cnf_txt_02 {
	font-size      : 14px;
	letter-spacing : 5.6px;
	color          : #e73828;
	text-align     : center;
	margin: 55px 0 0;
}

@media only screen and (max-width : 767px) {
	.sec_02 .flow_box .cnf_txt_02 {
		margin         : 60px 0 0;
	}
}

.sec_02 .flow_box .use_area {
}

.sec_02 .flow_box .use_area .box_01 {
	padding : 0 8px;
	margin: 23px 0 0;
}

@media only screen and (max-width : 767px) {
	.sec_02 .flow_box .use_area .box_01 {
		display: flex;
		flex-wrap: wrap;
	}
}

.sec_02 .box_01 .box_l, .sec_02 .box_01 .box_r {
	width: 330px;
}


@media only screen and (max-width : 767px) {
	.sec_02 .box_01 .box_l, .sec_02 .box_01 .box_r {
		width : 100%;
	}
}

.sec_02 .flow_box .use_area .box.box_01 .box_r {
	margin : 0 -15px 0 0;
}

@media only screen and (max-width : 767px) {
	.sec_02 .flow_box .use_area .box.box_01 .box_r {
		order: 1;
	}
	.sec_02 .flow_box .use_area .box.box_01 .box_l {
		order: 2;
		margin-top: 30px;
	}
}

.sec_02 .flow_box .use_area .box.box_01 .box_r .anotation {
	font-size     : 14px;
	color         : #e73828;
	margin: -40px 0 0;
	text-align    : center;
	display       : block;
	line-height: 20px;
	padding-right: 35px;
}

@media only screen and (max-width : 767px) {
	.sec_02 .flow_box .use_area .box.box_01 .box_r .anotation {
		margin: -9% 0 0;
		padding: 0 60px 0 0;
	}
}

.step_list {
	margin: 15px 0 45px;
	padding : 0 5px;
}

@media only screen and (max-width : 767px) {
	.step_list {
		padding: 0;
	}

}

.step_list li {
	display         : flex;
	justify-content : space-between;
	margin-bottom: 34px;
}
@media only screen and (max-width : 767px) {
	.step_list li {
		margin-bottom   : 30px;
	}
}

.step_list li:last-child {
	margin-bottom : 0;
}

.step_list .icon {
	width: 112px;
	height: 108px;
	border-radius         : 8px;
	-moz-border-radius    : 8px;
	-webkit-border-radius : 8px;
	background            : #eeeeef;
	display               : flex;
	align-items           : center;
	justify-content       : center;
}

@media only screen and (max-width : 767px) {
	.step_list .icon {
		width: 28%;
		height: 95px;
	}
}

.icon img {
	vertical-align : middle;
}

.icon_01 img {
	width: 52px;
}

.icon_02 img {
	width: 86px;
}

.icon_03 img {
	width: 56px;
}

.icon_04 img {
	width: 46px;
}

.icon_05 img {
	width: 65px;
}

.icon_06 img {
	width: 63px;
}

@media only screen and (max-width : 767px) {
	.icon_01 img {
		width : 50px;
	}

	.icon_02 img {
		width : 75px;
	}

	.icon_03 img {
		width : 51px;
	}

	.icon_04 img {
		width : 42px;
	}

	.icon_05 img {
		width : 61px;
	}

	.icon_06 img {
		width : 59px;
	}
}



.step_list .txt_area {
	width: 546px;
}

@media only screen and (max-width : 767px) {
	.step_list .txt_area {
		margin: 0 0 0 10px;
		width: 72%;
	}
}


.step_list .ttl {
	border-radius         : 8px;
	-moz-border-radius    : 8px;
	-webkit-border-radius : 8px;
	text-align            : left;
	padding               : 10px 20px;
	display               : flex;
	align-items           : center;
	line-height: 34px;
}

@media only screen and (max-width : 767px) {
	.step_list .ttl {
		padding: 15px 20px;
		line-height: 1;
		flex-wrap: wrap;
	}
}

.step_list li:nth-child(odd) .ttl {
	background : #409fbd;
}

.step_list li:nth-child(even) .ttl {
	background : #67b4b6;

}

@media only screen and (max-width : 767px) {
	.step_list .step_num {
		width: 100%;
		padding: 0 0 11px;
	}
}


.step_list .step_num img {
	width: 110px;
	margin         : 0 15px 0 0;
	padding        : 0 20px 0 0;
	vertical-align : middle;
}

@media only screen and (max-width : 767px) {
	.step_list .step_num img{
		width: 90px;
		padding: 0;
		display: block;
		margin: 0 auto;
	}
}

.step_list .step_txt {
	font-size: 18px;
	color       : #fff;
	border-left : 1px solid #fff;
	padding     : 0 0 0 25px;
	font-weight : 500;
}

@media only screen and (max-width : 767px) {
	.step_list .step_txt{
		font-size: 16px;
		border-left: none;
		padding: 12px 0 0 0;
		border-top: 1px solid;
		width: 100%;
		text-align: center;
	}
}

.step_list .detail {
	font-size   : 14px;
	color       : #4c4948;
	line-height : 1.5rem;
	margin: 16px 0 0;
}

@media only screen and (max-width : 767px) {
	.step_list .detail {
		margin: 10px 0 0 -40%;
	}
}


@media only screen and (max-width : 485px) {
	.step_list .detail {
		margin: 10px 0 0 -42%;
	}
}

.sec_03 {
	background: url(../img/flow/bg_02.jpg) no-repeat center 42%;
	background-size: cover;
	text-align: center;
	height: 36vw;
	max-height: 342px;
	margin: 47px 0 0;
	padding: 4% 0 0;
}

@media only screen and (max-width : 767px) {
	.sec_03 {
		height: 246px;
		margin: 15px 0 30px;
		padding: 0;
		position: relative;
	}
}

.sec_03 .ttl_img {
	position : relative;
	left: 250px;
	top: -23px;
	width: 207px;
}

@media only screen and (max-width : 767px) {
	.sec_03 .ttl_img {
		position: absolute;
		left: inherit;
		top: 30px;
		width: 153px;
		right: 20px;
	}
}

.sec_03 .merit {
	font-size: 16px;
	color                 : #888;
	background            : #fff;
	width: 273px;
	height: 43px;
	line-height: 43px;
	text-align            : center;
	border-radius         : 8px;
	-moz-border-radius    : 8px;
	-webkit-border-radius : 8px;
	margin: 27px auto 0;
	position: relative;
	left: 91px;
	font-weight: 500;
	letter-spacing: 2px;
}

@media only screen and (max-width : 767px) {
	.sec_03 .merit {
		font-size: 16px;
		width: 284px;
		height: 40px;
		line-height: 40px;
		margin: 0 auto;
		left: 0;
		position: absolute;
		bottom: 20px;
		right: 0;
	}
}


.l-footer{
	margin-top: 0;
}