@charset "utf-8";

.flow {
	margin-bottom: 3rem;
}

.flow__content {
	border: 2px solid #333;
	border-radius: 16px;
	box-sizing: border-box;
	column-gap: 1rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 600px;
	padding: 1rem;
	position: relative;
	width: 100%;
}

.flow__content-fluid {
	border: 2px solid #333;
	border-radius: 16px;
	box-sizing: border-box;
	column-gap: 1rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 100%;
	padding: 1rem;
	position: relative;
	width: 100%;
}

.flow__title-box {
	border: 2px solid #333;
	border-radius: 32px;
	box-sizing: border-box;
	display: grid;
	margin: 0 auto 1rem;
	max-width: 300px;
	padding: .5rem 1rem;
	place-items: center;
	width: 100%;
}

.flow__title-box p {
	font-size: 1.125rem;
	font-weight: bold;
	margin: 0!important;
}

.flow__img-box img {
	max-width: 100%;
}

.flow__text-box p {
	margin: 0!important;
}

.flow__text-box p:last-of-type {
	margin-bottom: 0!important;
}

.flow-next {
	margin-bottom: 5rem;
}

.flow-next:after {
	border-color: #333 transparent transparent transparent;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	bottom: -65px;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.flow-branch {
	grid-auto-flow: column;
}

.flow-row-2 {
	grid-template-rows: repeat(2, minmax(0, auto));
}

.flow-row-3 {
	grid-template-rows: repeat(3, minmax(0, auto));
}

@media screen and (max-width: 640px) {
	.flow__content:not(:last-of-type),
	.flow__content-fluid:not(:last-of-type) {
		margin-bottom: 5rem;
	}

	.flow-branch {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.flow-row-2 {
		grid-template-rows: repeat(4, minmax(0, auto));
	}

	.flow-row-3 {
		grid-template-rows: repeat(6, minmax(0, auto));
	}
}

.reception {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
}

.reception__frame {
	display: grid;
	gap: 1rem;
	place-items: center;
}

.reception__frame img {
	height: auto;
	width: 100%;
}

@media screen and (max-width: 640px) {
	.reception {
		gap: 1rem;
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

.support {
	display: grid;
	gap: 1rem 2rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 1rem;
}

.support__content {
	width: 100%;
}

.support__img-box {
	border: 1px solid #ccc;
	box-sizing: border-box;
	margin-bottom: 1rem;
	width: 100%;
}

.support__img-box a {
	display: block;
	width: 100%;
}

.support__img-box img {
	max-width: 100%;
}

.support__link-box p {
	margin: 0!important;
}

@media screen and (max-width: 640px) {
	.support {
		gap: 1rem;
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}