/* ==========================================================
   CTA
========================================================== */

.alp-cta {
	padding: 100px 0;
}

.alp-cta p {
	margin: 24px 0 0;
}


.alp-section--cta {
	padding: 120px 0 140px;
}

.alp-cta-box {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
}


/* イラスト用プレースホルダー */

.alp-cta-visual {
	display: flex;
	align-items: center;
	justify-content: center;

	width: min(100%, 620px);
	aspect-ratio: 16 / 7;
	margin: 0 auto 40px;

	background: linear-gradient(
		135deg,
		#eef3f7,
		#dfe8ef
	);

	color: #8796a5;

	font-family: "Outfit", sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}


/* テキスト */

.alp-cta-label {
	margin: 0 0 14px;

	color: #a52a2a;

	font-family: "Outfit", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.alp-cta-title {
	margin: 0 0 24px;

	color: #0b2b50;

	font-family: "Outfit", sans-serif;
	font-size: clamp(2rem, 3vw, 2.4rem);
	font-weight: 700;
	line-height: 1.45;
}

.alp-cta-text {
	margin: 0;

	color: #111;
	font-size: 1.05rem;
	line-height: 1.95;
}

.alp-cta-text + .alp-cta-text {
	margin-top: 20px;
}


/* ボタン */

.alp-cta-actions {
	display: flex;
	justify-content: center;

	margin-top: 36px;
}

.alp-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;

	min-width: 280px;
	min-height: 58px;
	padding: 0 24px;
}

.alp-cta-button span:last-child {
	transition: transform 0.25s ease;
}

.alp-cta-button:hover span:last-child,
.alp-cta-button:focus-visible span:last-child {
	transform: translateX(5px);
}

.alp-cta-actions {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.alp-cta-button {
	width: 360px;   /* CTAだけ少し広く */
}



@media (max-width: 768px) {

	.alp-cta-box {
		text-align: center;
	}

	.alp-section--cta {
		padding: 60px 0 70px;
	}	

	.alp-cta-text {
		max-width: 32em;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
}

@media (max-width: 768px) {
	.alp-cta-title {
		text-wrap: balance;
	}

	.alp-cta-label {
		white-space: nowrap;
	}
}
