/* ==========================================================
   Strength
========================================================== */

.alp-strength {
	padding: 96px 0;
}

.alp-strength__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.alp-strength__item {
	position: relative;
	padding: 8px 40px 12px;
}

.alp-strength__item:first-child {
	padding-left: 0;
}

.alp-strength__item:last-child {
	padding-right: 0;
}

.alp-strength__item:not(:last-child) {
	border-right: 1px solid #dbe2e9;
}


.alp-strength__title {
	margin: 0 0 14px;

	font-family: "Outfit", sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.5;

	color: #0b2b50;
}

.alp-strength__item {
	text-align: center;
}

.alp-strength__text {
	margin-top: 16px;

	text-align: left;
	line-height: 1.9;

	max-width: 22em;
	margin-left: auto;
	margin-right: auto;
}

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

	width: 150px;
	height: 150px;

	margin: 0 auto 24px;

	border: 2px dashed #cbd5e1;
	border-radius: 12px;

	color: #94a3b8;

	font-family: "Outfit", sans-serif;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;

	background: #f8fafc;
}


/* =========================================================
   Strength - Mobile
========================================================= */

@media (max-width: 768px) {

	.alp-strength {
		padding: 40px 0;
	}

	.alp-strength__list {
		grid-template-columns: 1fr;
	}

	/* 見出しの装飾アイコンの幅を確保し、文字は自然に折り返す */
	.alp-strength .alp-section-title {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 12px;
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.5;
		text-align: left;
		overflow-wrap: normal;
		word-break: normal;
	}

	.alp-strength .alp-section-title::before {
		flex-shrink: 0;
	}

	.alp-strength__item,
	.alp-strength__item:first-child,
	.alp-strength__item:last-child {
		padding: 28px 0;
	}

	.alp-strength__item:first-child {
		padding-top: 0;
	}

	.alp-strength__item:last-child {
		padding-bottom: 0;
	}

	.alp-strength__item:not(:last-child) {
		border-right: 0;
		border-bottom: 1px solid #dbe2e9;
	}

	.alp-strength__icon {
		width: 64px;
		height: 64px;

		margin-bottom: 20px;
	}

	.alp-strength__title {
		margin-bottom: 10px;

		font-size: 1.2rem;
		line-height: 1.5;
	}

	.alp-strength__text {
		max-width: none;
		margin-top: 10px;

		font-size: 1rem;
		line-height: 1.9;
	}
}