@charset "UTF-8";


/***************************************************

	FLOW

***************************************************/

.under_page_head{
	background-image: url('../images/flow/page_kv.jpg');
}

.webp .under_page_head{
	background-image: url('../images/flow/page_kv.webp');
}

main{
	background: var(--bgcolor_g);
}

.flow_cont_wrapp{
	width: 1100px;
	margin: 88px auto 0;
	padding-bottom: 90px;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.flow_cont_wrapp .side_pager{
	width: 270px;
}

.flow_cont_wrapp .side_pager .in_block{
	position: sticky;
	top: 120px;
}

.flow_cont_wrapp .side_pager ul{
	line-height: 1;
}

.flow_cont_wrapp .side_pager ul li{
	margin-bottom: 30px;
	position: relative;
}

.flow_cont_wrapp .side_pager ul li:last-child{
	margin-bottom: 0;
}

.flow_cont_wrapp .side_pager ul li::after{
	content: '';
	display: block;
	width: 1px;
    height: 33px;
    background: var(--text);
    position: absolute;
    left: 20px;
    top: 40px;
    z-index: -1;	
}

.flow_cont_wrapp .side_pager ul li:last-child::after{
	content: none;
}

.flow_cont_wrapp .side_pager ul li.current::after{
    background: var(--color2);
}

.flow_cont_wrapp .side_pager ul li a{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    color: var(--text);
}

.flow_cont_wrapp .side_pager ul li a .num{
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: var(--text);
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	text-align: center;
}

.flow_cont_wrapp .side_pager ul li.current a .num{
	background: var(--color2);
}

.flow_cont_wrapp .side_pager ul li a .text{
	width: calc(100% - 40px);
	padding-left: 15px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.1;
	box-sizing: border-box;
}

.flow_cont_wrapp .flow_cont{
	width: 780px;
}

.flow_cont_wrapp .flow_cont ul{
	counter-reset: flow_num 0;
}

.flow_cont_wrapp .flow_cont ul li{
	margin: 0 0 45px;
	padding-top: 0;
	position: relative;
}

.flow_cont_wrapp .flow_cont ul li:last-child{
	margin-bottom: 0;
}

.flow_cont_wrapp .flow_cont ul li::after{
	content: '';
	display: inline-block;
	width: 21px;
	height: 31px;
	background: url('../images/common/icon_flow_arrow.png') no-repeat 0 0 / contain;
	position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translate(-50%, 0);
}

.flow_cont_wrapp .flow_cont ul li:last-child::after{
	content: none;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp{
	background: #fff;
	padding: 36px 30px 30px;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block{
	width: 450px;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 1px;
	margin-bottom: 24px;
	padding-left: 57px;
	position: relative;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title::before{
	counter-increment: flow_num 1;
	content: counter(flow_num, decimal-leading-zero) '';
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: var(--color2);
	font-size: 16px;
	color: #fff;
	font-weight: 600;
	font-family: "Roboto", sans-serif;
	text-align: center;
	position: absolute;
    top: 0;
    left: 0;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .cont{

}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .cont p{
	font-size: 18px;
	line-height: 1.6;
	margin-bottom: 1em;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .cont p:last-of-type{
	margin-bottom: 0;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .image_block{
	width: 240px;
}




/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1440px){


.flow_cont_wrapp{
	width: 76.388889vw;
	margin: 6.111111vw auto 0;
	padding-bottom: 6.25vw;
}

.flow_cont_wrapp .side_pager{
	width: 18.75vw;
}

.flow_cont_wrapp .side_pager .in_block{
	top: 8.333333vw;
}

.flow_cont_wrapp .side_pager ul li{
	margin-bottom: 2.083333vw;
}

.flow_cont_wrapp .side_pager ul li::after{
    height: 2.291667vw;
    left: 1.388889vw;
    top: 2.777778vw;
}

.flow_cont_wrapp .side_pager ul li a .num{
	width: 2.777778vw;
	height: 2.777778vw;
	line-height: 2.777778vw;
	font-size: 1.111111vw;
}

.flow_cont_wrapp .side_pager ul li a .text{
	width: calc(100% - 2.777778vw);
	padding-left: 1.041667vw;
	font-size: 1.180556vw;
}

.flow_cont_wrapp .flow_cont{
	width: 54.166667vw;
}

.flow_cont_wrapp .flow_cont ul li{
	margin: 0 0 3.125vw;
	padding-top: 0;
}

.flow_cont_wrapp .flow_cont ul li::after{
	width: 1.458333vw;
	height: 2.152778vw;
    bottom: -1.666667vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp{
	padding: 2.5vw 2.083333vw 2.083333vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block{
	width: 31.25vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title{
	font-size: 1.666667vw;
	margin-bottom: 1.666667vw;
	padding-left: 3.958333vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title::before{
	width: 2.777778vw;
	height: 2.777778vw;
	line-height: 2.777778vw;
	font-size: 1.111111vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .cont p{
	font-size: 1.25vw;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .image_block{
	width: 16.666667vw;
}




}


/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:430px){


.flow_cont_wrapp{
	width: auto;
	margin: 40px 20px 0;
	padding-bottom: 60px;
	display: block;
}

.flow_cont_wrapp .side_pager{
	display: none;
}

.flow_cont_wrapp .flow_cont{
	width: auto;
}

.flow_cont_wrapp .flow_cont ul li{
	margin: 0 0 45px;
	padding-top: 0;
}


.flow_cont_wrapp .flow_cont ul li::after{
	width: 21px;
	height: 31px;
    bottom: -24px;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp{
	padding: 24px 18px 18px;
	display: block;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block{
	width: auto;
	margin-bottom: 18px;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title{
	font-size: 18px;
	margin-bottom: 24px;
	padding-left: 40px;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .title::before{
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 14px;
    top: -2px;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .text_block .cont p{
	font-size: 14px;
	line-height: 1.8;
}

.flow_cont_wrapp .flow_cont ul li .block_wrapp .image_block{
	width: 240px;
	margin: 0 auto;
}




}

