#flow {
	width: 100%;
	padding-block: 64px;

	@media (max-width: 768px) {
		padding: 120px 20px 80px;
	}

	.heading-component {
		padding-top: 0;
	}

	.flow-list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(4, 210px);
		justify-content: space-between;

		@media (max-width: 768px) {
			grid-template-columns: auto;
			grid-template-rows: repeat(4, auto);
			justify-content: initial;
			gap: 30px;
		}

		.flow {
			display: flex;
			flex-direction: column;
			gap: 20px;

			@media (max-width: 768px) {
				display: grid;
				grid-template-columns: 100px auto;
				align-items: center;
				gap: 20px;
			}

			.flow-image {
				width: 100%;
			}

			.flow-contents {
				display: flex;
				flex-direction: column;
				gap: 10px;
				width: 100%;

				@media (max-width: 768px) {
					gap: 5px;
				}

				.-ttl {
					font-size: 1.6rem;
					font-weight: bold;
					line-height: 1.3em;
					letter-spacing: 0;
					color: #992453;
					text-align: center;

					@media (max-width: 768px) {
						text-align: left;
					}
				}

				.-detail {
					font-size: 1.2rem;
					font-weight: bold;
					line-height: 1.6em;
					letter-spacing: 0;
					color: #000000;
					text-align: center;

					@media (max-width: 768px) {
						text-align: left;
					}

					span {
						color: #992453;
					}

					span.normal {
						font-size: 1.2rem;
						font-weight: 400;
						line-height: 1.6em;
						letter-spacing: 0;
						color: #000000;
					}

					.pc-none {
						display: none;

						@media (max-width: 768px) {
							display: block;
						}
					}

					.sp-none {
						display: block;

						@media (max-width: 768px) {
							display: none;
						}
					}
				}

				& > a {
					font-size: 1.2rem;
					font-weight: bold;
					line-height: 22px;
					letter-spacing: 0;
					height: 25px;
					text-align: center;
					border-radius: 9999px;

					@media (max-width: 768px) {
						width: fit-content;
						padding-inline: 12px;
					}
				}
			}
		}
	}
}