@charset "utf-8";
.flow_section {
		padding: 130px 40px;
		background: #FAFAFA;
		color: #022F7A;
}
.flow_inner {
		max-width: 1200px;
		margin: 0 auto;
}
.flow_inner hgroup {
		text-align: center;
}
.flow_flex {
		display: flex;
		justify-content: space-between;
}
.flow_item {
		width: 310px;
		background: #fff;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
		box-sizing: border-box;
		padding: 30px 0 20px;
		position: relative;
}
.flow_item::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 32.5px);
		right: -49px;
		width: 28px;
		height: 75px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		background-image: url("../images/flow_arw.png")
}
.flow_item.last::after {
		display: none
}
.flow_item.last {
		width: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
}
.flow_item_figure {
		max-width: 200px;
		margin: 0 auto 20px;
}
.flow_item_figure img {
		width: 100%;
		height: auto;
}
.flow_item h4 {
		font-size: 22px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 15px;
}
.flow_item.last h4 {
		margin: 0 !important
}
.flow_item.last h4 span {
		position: relative;
		display: inline-block;
}
.flow_item.last h4 span::before {
		content: '';
		display: block;
		position: absolute;
		top: -33px;
		left: -3px;
		width: 26px;
		height: 26px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		background-image: url(../images/icon_caseHd.png);
		border-radius: 50%;
}
.flow_item p {
		line-height: 1.8;
}
.flow_item_caption {
		padding: 0 15px;
}
.flow_item_caption p {
		margin: 0 0 1em;
		font-size: 15px;
		line-height: 1.6;
}
.flow_item_caption_in {
		padding: 15px;
		border-radius: 6px;
		background: #F7F8F8;
}
.flow_item_caption dl {
		margin: 0 0 10px;
		font-size: 15px;
}
.flow_item_caption dt {
		font-weight: 700;
		line-height: 1.6;
}
.flow_item_caption dd {
		line-height: 1.6;
}
.flow_item_caption ul {
		margin-left: 1em;
}
.flow_item_caption li {
		font-size: 15px;
		line-height: 1.6;
		position: relative;
		margin: 0 0 8px;
		list-style: none
}
.flow_item_caption li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
@media(max-width: 1300px) {
		.flow_item {
				width: calc(calc(100% - 220px) / 3);
				box-sizing: border-box;
				padding: 25px 0;
		}
		.flow_item.last {
				width: 70px;
		}
		.flow_item::after {
				top: calc(50% - 26.5px);
				right: -38px;
				width: 20px;
				height: 53px;
		}
		.flow_item h4 {
				font-size: 20px;
				margin: 0 0 10px;
		}
}
@media(max-width: 960px) {
		.flow_item {
				width: calc(calc(100% - 140px) / 3);
				box-sizing: border-box;
				padding: 15px 0;
		}
		.flow_item.last {
				width: 60px;
		}
		.flow_item::after {
				top: calc(50% - 13.5px);
				right: -18px;
				width: 10px;
				height: 27px;
		}
		.flow_item_figure {
				padding: 0 10px;
		}
		.flow_item h4 {
				font-size: 18px;
				margin: 0 0 10px;
		}
		.flow_item p {
				font-size: 15px;
				padding: 0 15px;
		}
}
@media(max-width: 767px) {
		.flow_section {
				padding: 60px 20px;
		}
		.flow_flex {
				display: block;
		}
		.flow_item {
				width: 90%;
				height: auto;
				background: #fff;
				box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
				box-sizing: border-box;
				padding: 30px 20px;
				margin: 0 auto 40px;
				max-width: 400px;
		}
		.flow_item::after {
				top: inherit;
				right: inherit;
				bottom: -32px;
				left: calc(50% - 25px);
				width: 50px;
				height: 19px;
				background-size: 100%;
				background-image: url("../images/flow_arw_sp.png")
		}
		.flow_item.last::after {
				display: none
		}
		.flow_item.last {
				width: 90%;
				max-width: 400px;
				display: flex;
				justify-content: center;
				align-items: center;
				-ms-writing-mode: inherit;
				writing-mode: inherit;
				padding: 20px;
		}
		.flow_item_figure {
				max-width: 200px;
				margin: 0 auto 20px;
		}
		.flow_item h4 {
				font-size: 18px;
				margin: 0 0 10px;
		}
		.flow_item.last h4 span::before {
				top: 0;
				left: -28px;
				width: 22px;
				height: 22px;
		}
		.flow_item_caption {
				padding: 0;
		}
		.flow_item_caption_in {
				padding: 10px;
				border-radius: 4px;
		}
		.flow_item p {
				padding: 0;
		}
}