.section-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	background: var(--gradient-brand);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	font-size: 30px;
	font-weight: 700;
	line-height: 2;
}

.section-kicker__dot { display: block; width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: linear-gradient(97deg, #80c700 4%, #0099aa 111%); }
.section-kicker--center { justify-content: center; }

.challenges-approach {
	position: relative;
	isolation: isolate;
	width: min(calc(100% - 48px), 1391px);
	min-width: 1200px;
	margin-inline: auto;
	overflow: hidden;
	background: #fff;
}

.challenges-approach__background {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 1530px;
	background: linear-gradient(
		180deg,
		#ecefff 0%,
		#fff 57.673%,
		#fff 69.673%,
		#eceef5 100%
	);
	pointer-events: none;
}

.challenges {
	position: relative;
	z-index: 1;
	min-width: 1200px;
	height: 1530px;
	overflow: visible;
	background: transparent;
}

.challenges__inner { position: relative; z-index: 1; width: 1200px; margin: 0 auto; padding-top: 49px; }
.challenges h2 { margin: 9px 0 0 3px; color: #000; font-size: 40px; line-height: 1.4; letter-spacing: 2px; }
.challenges__lead { margin: 17px 0 0; color: #000; font-size: 20px; font-weight: 700; letter-spacing: 2px; line-height: 2.3; }
.challenges__lead em, .challenges__summary em { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-style: normal; }

.challenges__cards { display: grid; grid-template-columns: repeat(3, 372px); gap: 42px; margin-top: 61px; }
.challenge-card { position: relative; height: 498px; border: 1px solid #e7e7e7; border-radius: 10px; background: #fff; box-shadow: 0 4px 34px -15px rgb(0 0 0 / 25%); overflow: hidden; }
.challenge-card__point { position: absolute; top: 10px; left: 28px; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font: 700 15px/2 var(--font-family-en); }
.challenge-card h3 { position: absolute; top: 55px; left: 50%; width: 290px; margin: 0; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-size: 24px; line-height: 1.7; letter-spacing: -.48px; text-align: center; transform: translateX(-50%); }
.challenge-card h3 span, .challenge-card > p span { display: block; }
.challenge-card__visual { position: absolute; top: 153px; left: 44px; width: 284px; height: 224px; margin: 0; overflow: hidden; }
.challenge-card__visual img { display: block; width: auto; height: 100%; max-width: none; margin: 0 auto; }
.challenge-card > p { position: absolute; top: 389px; left: 50%; width: 284px; margin: 0; color: #000; font-size: 15px; font-weight: 500; line-height: 2.3; text-align: center; transform: translateX(-50%); }

.challenges__summary { height: 224px; margin-top: 79px; padding-top: 27px; border: 1px solid #aeaeae; border-radius: 20px; box-shadow: 0 4px 34px -15px rgb(0 0 0 / 25%); color: #000; text-align: center; }
.challenges__summary > strong { font-size: 20px; line-height: 1.4; letter-spacing: 1px; }
.challenges__summary h3 { margin: 4px 0 5px; font-size: 32px; line-height: 1.5; }
.challenges__summary p { margin: 0; font-size: 16px; line-height: 1.4; }
.challenges__curve { position: absolute; z-index: 1; top: 1277px; left: 50%; width: 1908px; height: 656px; max-width: none; border-radius: 50%; background: #fff; transform: translateX(-50%); }

.approach { position: relative; z-index: 2; min-width: 1200px; height: 867px; padding: 64px 0 0; background: transparent; }
.challenges-approach--combined .approach { margin-top: -253px; }
.approach__inner { width: 1200px; margin: 0 auto; }
.approach .section-kicker { position: relative; display: block; width: 128px; height: 60px; margin: 0 auto; text-align: center; }
.approach .section-kicker .section-kicker__dot { position: absolute; top: 0; left: 54px; }
.approach h2 { margin: 13px 0 0; color: #000; font-size: 40px; line-height: 1.4; letter-spacing: 2px; text-align: center; }
.approach__lead { margin: 12px 0 0; color: #000; font-size: 20px; font-weight: 500; letter-spacing: 2px; line-height: 2.3; text-align: center; }
.approach__cards { display: flex; width: 1098px; margin: 54px 0 0 51px; }
.approach-card { position: relative; flex: 0 0 372px; height: 462px; text-align: center; }
.approach-card + .approach-card { margin-left: -9px; }
.approach-card__visual { position: relative; width: 242px; height: 226px; margin: 3px auto 0; overflow: hidden; }
.approach-card:nth-child(2) .approach-card__visual { transform: translateX(-5px); }
.approach-card:nth-child(3) .approach-card__visual { width: 257px; }
.approach-card__visual img { display: block; width: 100%; height: 100%; object-fit: fill; }
.approach-card__label { position: relative; display: flex; z-index: 0; align-items: flex-start; justify-content: center; width: 88px; height: 46px; padding-top: 0; margin: 30px auto 14px; color: #fff; font-size: 15px; font-weight: 500; line-height: 2; }
.approach-card__label::before { position: absolute; z-index: -1; top: 0; left: 0; width: 88px; height: 32px; border-radius: 16px; background: linear-gradient(105deg, #80c700 6%, #0099aa 103%); content: ""; }
.approach-card__label::after { position: absolute; z-index: -1; top: 31px; left: 36px; width: 16px; height: 15px; background: #36ad59; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ""; }
.approach-card h3 { margin: 0; background: linear-gradient(130.949deg, #80c700 6.023%, #0099aa 103.26%); background-clip: text; -webkit-background-clip: text; color: transparent; font-size: 24px; line-height: 1.3; white-space: nowrap; }
.approach-card:first-child h3 { background-image: linear-gradient(133.666deg, #80c700 6.023%, #0099aa 103.26%); }
.approach-card p { margin: 25px 0 0; color: #000; font-size: 18px; font-weight: 500; line-height: 1.6; }
.approach-card p span { display: block; }
