.reason__inner {
	position: relative;
    padding-bottom: var(--g-sec--md);
}
.reason__bg {
	position: absolute;
    content: "";
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background: linear-gradient(#f5fbfe, #ffffff 50%, #f5fbfe);
	z-index: -1000;
}

.reason__sec {
	--count: 1;
	--gap: 1.25rem;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
    flex-wrap: wrap;
    gap: var(--gap);
    justify-content: flex-end;
}
.reason__sec:not(:last-of-type) {
	margin-bottom: clamp(2.5rem, 1.786rem + 1.9vw, 3.5rem);
}
.reason__sec:last-of-type {
	margin-bottom: var(--g-sec--md);
}
@media (min-width: 960px) {
	.reason__sec {
		--count: 2;
		--gap: clamp(1.25rem, 5.71vw + -0.14rem, 5rem);
		flex-wrap: nowrap;
		margin-inline: calc(50% - 50vw);
		flex-direction: unset;
		align-items: unset;
	}
	.reason__sec:nth-of-type(even) {
		flex-direction: row-reverse;
	}
}

.reason__text-content {
	max-width: 37.5rem;
}
@media (min-width: 960px) {
	.reason__text-content {
		margin-left: var(--swl-pad_container, 0);
	}
	.reason__sec:nth-of-type(even) .reason__text-content {
		margin-left: unset;
		margin-right: var(--swl-pad_container, 0);
	}
}
.reason__ttl-content {
	display: flex;
	gap: clamp(1rem, 1.52vw + .63rem, 2rem);
	padding-bottom: clamp(1rem, .38vw + .91rem, 1.25rem);
	border-bottom: 1px dashed var(--c-blue);
	margin-bottom: clamp(1rem, .38vw + .91rem, 1.25rem);
}
.reason__number {
	font-weight: var(--fw-xl);
	line-height: var(--lh-xs);
	color: var(--c-main);
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: .5rem;
}
.reason__number span:last-child {
	font-size: clamp(2.5rem, 1.786rem + 1.9vw, 3.5rem);
}
.reason__ttl {
	font-size: clamp(1.5rem, .38vw + 1.41rem, 1.75rem);
	font-weight: var(--fw-xl);
	color: var(--c-main);
	display: flex;
	flex-direction: column;
}
.reason__text {
	line-height: var(--lh-xl);
	font-weight: var(--fw-md);
}

.reason__img-content {
	display: flex;
}
.reason__img {
	flex-grow: 1;
	object-fit: cover;
	aspect-ratio: 16/9;
	max-width: 40rem;
	width: calc((100% - var(--gap) * (var(--count) - 1)) / var(--count));
	border-radius: 8px;
}
@media (min-width: 960px) {
	.reason__img {
		min-height: 20rem;
		min-width: 25rem;
		border-radius: unset;
		border-top-left-radius: 8px;
		border-bottom-left-radius: 8px;
	}
	.reason__sec:nth-of-type(even) .reason__img {
		border-top-left-radius: unset;
		border-bottom-left-radius: unset;
		border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
	}
}