@charset "UTF-8";
@media screen and (min-width: 768px), print {
	/* PC表示のスタイルを記述 */

	/*# common
    -----------------------------------*/

	#flow .sec-services {
		background-color: #e4e2db;
	}

	#flow .sec-gallery {
		padding-block: 90px 102px;
	}

	#flow .sec-services {
		padding-block: 105px 179px;
	}

	#flow .sec-services__cards {
		margin-top: 76px;
	}

	#flow .sec-services::before {
		height: 44.95126%;
	}

	/*# sec1
    -----------------------------------*/

	.flow-sec1 {
		margin-top: 75px;
		padding-bottom: 148px;
	}

	.flow-sec1__content {
		margin-inline: auto;
		width: 871px;
	}

	.flow-sec1__list {
		position: relative;
	}

	.flow-sec1__list::before {
		background-color: #a1876d;
		content: '';
		height: 96%;
		left: 41px;
		position: absolute;
		top: 0;
		width: 2px;
		z-index: -1;
	}

	.flow-sec1__item:nth-of-type(n + 2) {
		margin-top: 32px;
	}

	.flow-sec1__item-header {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: relative;
	}

	.flow-sec1__item-header img {
		height: 85px;
		width: 85px;
	}

	.flow-sec1__item-header::before {
		background-color: #e4e2db;
		content: '';
		height: 43px;
		position: absolute;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 92%;
		z-index: -1;
	}

	.flow-sec1__item-title {
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 1px;
		padding-left: 34px;
	}

	.flow-sec1__item-body {
		padding-left: 119px;
		padding-right: 28px;
	}

	.flow-sec1__item-text {
		font-size: 15px;
		letter-spacing: 0.75px;
		line-height: 2.13;
	}

	.flow-sec1__item-btn-wrapper {
		grid-gap: 0px 23px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 16px;
	}

	.flow-sec1__item-btn {
		display: block;
	}

	.flow-sec1__item-btn:nth-child(1) {
		width: 358px;
	}

	.flow-sec1__item-btn:nth-child(2) {
		width: 337px;
	}

	.flow-sec1__item-btn img {
		height: 75px;
		width: auto;
	}
}

@media screen and (max-width: 767px) {
	/* SP表示のスタイルを記述 */

	/*# common
    -----------------------------------*/

	#flow .sec-services {
		background-color: #e4e2db;
	}

	/*# sec1
    -----------------------------------*/

	.flow-sec1 {
		margin-top: 18.116vw;
		padding-bottom: 24.155vw;
	}

	.flow-sec1__list {
		position: relative;
	}

	.flow-sec1__list::before {
		background-color: #a1876d;
		content: '';
		height: 94%;
		left: 7.246vw;
		position: absolute;
		top: 0;
		width: 0.483vw;
		z-index: -1;
	}

	.flow-sec1__item:nth-of-type(n + 2) {
		margin-top: 9.903vw;
	}

	.flow-sec1__item-header {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: relative;
	}

	.flow-sec1__item-header img {
		height: 14.493vw;
		width: 14.493vw;
	}

	.flow-sec1__item-header::before {
		background-color: #e4e2db;
		content: '';
		height: 10.386vw;
		position: absolute;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 92%;
		z-index: -1;
	}

	.flow-sec1__item-title {
		font-size: 4.831vw;
		font-weight: 500;
		letter-spacing: 0.242vw;
		padding-left: 2.415vw;
	}

	.flow-sec1__item-body {
		padding-left: 16.908vw;
		padding-right: 2.899vw;
	}

	.flow-sec1__item-text {
		font-size: 3.623vw;
		letter-spacing: 0.181vw;
		line-height: 2.13;
	}

	.flow-sec1__item-btn-wrapper {
		margin-top: 5.797vw;
	}

	.flow-sec1__item-btn {
		display: block;
	}

	.flow-sec1__item-btn:nth-of-type(n + 2) {
		margin-top: 4.831vw;
	}
}
