.akb-service-needed-section {
	display: flex;
	flex-flow: column;
	margin: 32px 16px 0;

	@include desktop {
		align-self: center;
		margin: 80px 0 0;
		width: calc(100% - 32px);
		max-width: $width-desktop;
	}
}

.akb-service-needed-section__title {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.03em;

	@include desktop {
		font-size: 38px;
	}
}

.akb-service-needed-section__desc {
	margin-top: 10px;
	font-size: 14px;
	line-height: 150%;

	@include desktop {
		margin-top: 16px;
		font-size: 16px;
	}
}

.akb-service-needed-section__grid {
	display: flex;
	flex-flow: column;
	gap: 16px;
	margin-top: 16px;

	@include desktop {
		gap: 20px;
		margin-top: 20px;
	}
}

.akb-service-needed-section__pluses {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;

	@include desktop {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

.akb-service-needed-section__plus-item {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 14px;
	padding: 16px;
	border-radius: 28px;
	background-color: $color-surface;
	box-sizing: border-box;

	@include desktop {
		flex-flow: column;
		align-items: flex-start;
		gap: 16px;
		padding: 24px;
		border-radius: 32px;
	}
}

.akb-service-needed-section__plus-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	aspect-ratio: 2 / 2;
	border-radius: 18px;
	background-color: $color-white;

	@include desktop {
		width: 54px;
	}

	svg {
		width: 24px;
		height: 24px;
		color: $color-green;
	}
}

.akb-service-needed-section__plus-item__title {
	font-weight: 700;
	font-size: 16px;
	letter-spacing: -0.03em;

	@include mobile {
		flex: 1;
	}

	@include desktop {
		font-size: 20px;
	}
}

.akb-service-needed-section__steps {
	display: flex;
	flex-flow: column;
	gap: 16px;
	padding: 18px;
	border-radius: 28px;
	background-color: $color-surface;

	@include desktop {
		flex-flow: row nowrap;
		align-items: stretch;
		gap: 60px;
		padding: 24px;
		border-radius: 32px;
	}
}

.akb-service-needed-section__steps__main {
	display: flex;
	flex-flow: column;
	gap: 10px;

	@include desktop {
		max-width: 440px;
	}

	b {
		font-size: 20px;
		font-weight: 700;
		letter-spacing: -0.03em;

		@include desktop {
			font-size: 28px;
		}
	}

	p {
		font-size: 14px;
		line-height: 150%;
		color: $color-gray-md;

		@include desktop {
			font-size: 16px;
			margin-top: auto;
		}
	}
}

.akb-service-needed-section__steps__ul {
	display: flex;
	flex-flow: column;
	gap: 10px;

	@include desktop {
		flex: 1;
	}

	li {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		gap: 6px;

		@include desktop {
			gap: 10px;
		}

		&::before {
			content: '';
			width: 20px;
			height: 20px;
			background-size: contain;
			background-position: center;
			background-repeat: no-repeat;
			background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11474_38464)'%3E%3Cpath d='M18.3327 10.0001C18.3327 5.39771 14.6017 1.66675 9.99935 1.66675C5.39697 1.66675 1.66602 5.39771 1.66602 10.0001C1.66602 14.6024 5.39697 18.3334 9.99935 18.3334C14.6017 18.3334 18.3327 14.6024 18.3327 10.0001Z' stroke='%231F895B' stroke-width='1.5'/%3E%3Cpath d='M6.66602 10.4167L8.74935 12.5L13.3327 7.5' stroke='%231F895B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11474_38464'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
		}

		p {
			flex: 1;
			font-size: 14px;
			font-weight: 500;
			line-height: 16px;

			@include desktop {
				font-size: 16px;
				line-height: 18px;
			}
		}
	}
}
