.gpp-sp .gpp-free {
	padding: var(--gpp-section-y) 0;
	background:
		linear-gradient(180deg, var(--gpp-navy) 0%, rgba(13, 27, 42, 0) 10%, rgba(13, 27, 42, 0) 70%, var(--gpp-navy) 100%),
		url('img/pattern-desktop.svg') center / cover no-repeat,
		var(--gpp-navy);
	border-top: 1px solid var(--gpp-line);
	scroll-margin-top: 96px;
}
.gpp-sp .gpp-free__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 64px;
	align-items: center;
	padding: 56px 64px;
	border: 1px solid var(--gpp-gold);
	background: var(--gpp-navy-deepest);
}
.gpp-sp .gpp-free__body { min-width: 0; }
.gpp-sp .gpp-free__kicker { margin: 0 0 14px !important; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gpp-gold); }
.gpp-sp .gpp-free__h { margin: 0 0 12px !important; font-size: 44px !important; font-weight: 500 !important; line-height: 1.15 !important; text-wrap: balance; }
.gpp-sp .gpp-free__steps { margin: 0 0 28px !important; padding: 0 !important; list-style: none !important; counter-reset: gpp-free; border-top: 1px solid var(--gpp-line); }
.gpp-sp .gpp-free__steps li {
	counter-increment: gpp-free;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--gpp-line);
	font-size: 17px;
	font-weight: 400;
	color: var(--gpp-white);
}
.gpp-sp .gpp-free__steps li::before {
	content: counter(gpp-free);
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--gpp-gold);
	color: var(--gpp-gold);
	font-size: 14px;
}
.gpp-sp .gpp-free__small { margin: 12px 0 0 !important; font-size: 14px; text-align: center; }
@media (max-width: 1365px) {
	.gpp-sp .gpp-free__box { column-gap: 48px; padding: 48px; }
	.gpp-sp .gpp-free__h { font-size: 38px !important; }
}
@media (max-width: 980px) {
	.gpp-sp .gpp-free { background-image:
		linear-gradient(180deg, var(--gpp-navy) 0%, rgba(13, 27, 42, 0) 10%, rgba(13, 27, 42, 0) 70%, var(--gpp-navy) 100%),
		url('img/pattern-mobile.svg'); }
	.gpp-sp .gpp-free__box { grid-template-columns: minmax(0, 1fr); row-gap: 32px; padding: 32px 20px; }
	.gpp-sp .gpp-free__h { font-size: 30px !important; }
	.gpp-sp .gpp-free__steps li { font-size: 16px; }
}
