/* common */
:root {
	--green-deep: #2F5233;
	--green-mid: #4C8C4A;
	--green-pale: #EAF3E2;
	--cream: #FBFBF6;
	--night: #0A395B;
	--night-2: #3D4E6E;
	--star: #F5C74E;
	--line: #DCE8D6;
	--ink: #26361F;
}

html,
body {
	overflow-x: clip;
}

section {
	position: relative;
}

p,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

h2,
h3 {
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

footer {
	margin-top: 185px;
}

.sec-wrap {
	color: #fff;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	width: 90%;
	max-width: 1100px;

	.common-btn {
		border: solid 1px transparent;
		background-color: #007934;
		border-radius: 50px;
		color: #fff;
		display: block;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		transition: all 200ms;
		text-decoration: none;
		padding: 21px;
		position: relative;
		margin: 0 auto;
		max-width: 278px;
		width: 100%;

		&.reverse {
			border: 1px solid #007934;
			background-color: #fff;
			color: #007934;
		}

		&::before {
			content: "";
			background: url(../images/ai/btn-arrow.svg) no-repeat;
			background-size: contain;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 24px;
			width: 12px;
			height: 12px;
		}

		&.reverse::before {
			background: url(../images/ai/btn-arrow_hover.svg) no-repeat;
			background-size: contain;
		}

		&:hover {
			border: 1px solid #007934;
			background-color: #fff;
			color: #007934;
			opacity: inherit;

			&::before {
				background: url(../images/ai/btn-arrow_hover.svg) no-repeat;
				background-size: contain;
			}
		}

		&.reverse:hover {
			border: solid 1px transparent;
			background-color: #007934;
			color: #fff;

			&::before {
				background: url(../images/ai/btn-arrow.svg) no-repeat;
				background-size: contain;
			}
		}
	}
}

.title-wrap {
	display: flex;
	align-items: center;
	gap: 1em;

	h2 {
		color: #fff !important;
		margin: 0px;
		font-size: 48px;
		position: relative;
		z-index: 1;

		strong {
			font-size: 60px;
			color: #fff;
			position: relative;
			z-index: 1;
			font-weight: 500;

			&::before {
				content: "";
				position: absolute;
				top: -10px;
				bottom: 0;
				left: -26px;
				right: 0;
				margin: auto;
				background: #FFC533;
				border-radius: 50px;
				display: block;
				width: 70px;
				height: 70px;
				z-index: -1;
			}
		}

		span {
			letter-spacing: .09em;
			position: relative;
			z-index: 1;
		}
	}

	img {
		position: absolute;
		top: -60px;
		left: -100px;
		width: 126px;
		z-index: -1;
	}

	p {
		color: #fff;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 500;
		font-size: 34px;
		margin: 0;
	}
}

.sec_hero {
	background: linear-gradient(180deg, #FFFFFF 0%, #F1F8ED 55%, var(--green-pale) 100%);

	h1 {
		color: #007934;
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 50px;
		letter-spacing: .09em;
		line-height: 1.64;
		position: relative;

		&::before {
			content: "";
			background: url(../images/ai/hero-deco_1.webp) no-repeat;
			background-size: contain;
			position: absolute;
			top: -32px;
			left: -287px;
			width: 220px;
			height: 156px;
		}

		&::after {
			content: "";
			background: url(../images/ai/hero-deco_2.webp) no-repeat;
			background-size: contain;
			position: absolute;
			top: -10px;
			right: -100px;
			width: 326px;
			height: 189px;
			z-index: -1;
		}
	}

	.col {
		display: flex;
		justify-content: space-between;

		>div {
			width: 580px;
		}

		p {
			color: #505050;
			font-weight: bold;
			font-size: 23px;
		}

		.btns {
			display: flex;
			flex-wrap: wrap;
			gap: 18px;
			margin-top: 58px;
		}

		img {
			max-width: 470px;
		}
	}
}

html[lang="en"] {
	.sec_hero {
		h1 {
			line-height: 1.2;
			padding-top: 95px;
		}
	}
}

.sec_bridge {
	background: linear-gradient(180deg, var(--green-pale) 0%, #8FC286 45%, var(--night) 100%);
	padding-top: 180px;

	div {
		border: 2px dashed #fff;
		border-radius: 59px;
		color: #fff;
		font-family: "Zen Maru Gothic", sans-serif;
		text-align: center;
		padding: 80px 12px;
		margin: 0 auto;
		width: 90%;
		max-width: 1096px;

		img {
			max-width: 345px;
		}

		h2 {
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 39px;
			margin: 60px auto 54px;
		}

		p {
			font-weight: bold;
			font-size: 23px;
			line-height: 1.73;
		}
	}
}

.sec_news {
	background: var(--night);
	padding-top: 200px;

	h2 {
		color: #fff;
	}

	p {
		color: #fff;
	}

	.sec-wrap>p {
		margin: 25px 0 68px;
	}

	.news-list {
		margin-top: 0;
	}

	.news-list li {
		background: #fff;
		margin-top: 15px;
	}
}

.sec_why {
	background: var(--night);
	padding-top: 180px;

	.sec-wrap {

		&::before {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			left: -202px;
			bottom: -145px;
			width: 356px;
			height: 356px;
			transform: rotate(-10deg);
		}

		&::after {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			top: 162px;
			right: -492px;
			width: 719px;
			height: 719px;
		}
	}

	h2 {
		color: #fff;
	}

	.col {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		position: relative;
		z-index: 1;

		>div>p {
			color: #fff;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
			margin-top: 25px;
			max-width: 558px;
		}

		img {
			width: 414px;
		}
	}
}

.sec_business {
	background: var(--night);
	padding-top: 180px;

	#anchor_business {
		padding-top: 70px;
	}

	.adjust-br {
		display: none;
	}

	h2 {
		color: #fff;
	}

	h3 {
		border-bottom: 2px dashed #fff;
		color: #FFC533;
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 39px;
		letter-spacing: .01em;
		line-height: 1.56;
		text-align: center;
		margin: 67px auto 0;
		padding-bottom: 7px;
	}

	.col {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 25px;
		margin-top: 130px;

		>div {
			background: #fff;
			border-radius: 28px;
			max-width: 349px;
		}

		img {
			display: block;
			margin: -40px auto 0;
			max-width: 219px;
		}

		.text-wrap {
			font-family: 'Noto Sans JP';
			text-align: center;
			padding: 25px 24px 44px;
		}

		span {
			background: #007934;
			border-radius: 40px;
			color: #fff;
			font-size: 16px;
			font-weight: 500;
			padding: 6px 40px;
		}

		h4 {
			color: #007934;
			font-size: 23px;
			line-height: 1.73;
			margin: 17px 0;
		}

		p {
			color: #505050;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
			text-align: left;
		}
	}
}

.sec_dentoo {
	background: var(--night);
	padding-top: 240px;

	.sec-wrap {
		&::before {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			left: -579px;
			top: 10px;
			width: 508px;
			height: 508px;
			transform: rotate(55deg);
		}

		&::after {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			right: -585px;
			bottom: -530px;
			width: 685px;
			height: 685px;
		}
	}

	.sub-title {
		font-family: "Zen Maru Gothic", sans-serif;
		text-align: center;
		margin-top: 67px;

		p.deco {
			font-weight: 500;
			font-size: 23px;
			letter-spacing: .01em;
			line-height: 1.4;
			position: relative;
			margin: 0 auto;
			max-width: max-content;

			&::before,
			&::after {
				content: "";
				background: #fff;
				position: absolute;
				top: 50%;
				width: 25px;
				height: 2px;
			}

			&::before {
				left: -34px;
				transform: translateY(-50%) rotateZ(65deg);
			}

			&::after {
				right: -34px;
				transform: translateY(-50%) rotateZ(-65deg);
			}
		}

		h3 {
			border-bottom: 2px dashed #fff;
			color: #FFC533;
			font-size: 39px;
			letter-spacing: .01em;
			padding-bottom: 28px;
			margin: 30px 0 28px;
		}

		p {
			color: #fff;
			font-family: 'Noto Sans JP';
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
		}
	}

	ol {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 23px;
		margin: 132px 0 0;
	}

	li {
		background: #fff;
		border-radius: 28px;
		padding: 0 24px 30px;
		position: relative;
		max-width: 349px;

		.number {
			color: #fff;
			font-family: 'Josefin Sans';
			font-weight: 600;
			font-size: 75px;
			line-height: 1;
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			top: -57px;
		}

		strong {
			background: #007934;
			border-radius: 0 0 30px 30px;
			color: #FFC533;
			display: block;
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 39px;
			padding: 16px 53px 13px;
			margin: 0 auto;
			width: max-content;
		}

		h3 {
			color: #007934;
			display: block;
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 39px;
			text-align: center;
			margin: 25px auto 22px;
			position: relative;
			z-index: 1;
			width: 100%;
			max-width: max-content;

			&::before {
				content: "";
				background: #FFC533;
				position: absolute;
				bottom: 7px;
				width: 100%;
				height: 4px;
				z-index: -1;
			}
		}

		p {
			color: #505050;
			font-family: 'Noto Sans JP';
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
		}

		.charge {
			border-top: 1px solid #505050;
			padding-top: 16px;
			margin-top: 16px;
		}
	}

	.adjust-br {
		display: none;
	}
}

html[lang="en"] {
	.sec_dentoo {
		li h3 {
			line-height: 1;
		}

		li h3::before {
			content: none;
		}
	}
}

@media (max-width: 1140px) {
	.sec_dentoo {
		ol {
			grid-template-columns: repeat(1, 1fr);
			gap: 74px;
			justify-items: center;
		}
	}
}

.guidance {
	background: var(--night);
	padding-top: 240px;
	position: relative;
	z-index: -2;

	.col {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 30px;
		position: relative;
		margin: 0 auto;
		width: 900px;
		height: 497px;

		&::before {
			content: "";
			background: url(../images/ai/cloud.webp) no-repeat;
			background-size: contain;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
			width: 100%;
			height: 100%;
		}

		img {
			max-width: 300px;
		}

		>div {
			font-family: 'Noto Sans JP';
			max-width: 300px;
		}

		h2 {
			color: #007934;
			font-size: 23px;
			line-height: 1.73;
		}

		p {
			color: #505050;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
			margin-top: 12px;
		}
	}
}

@media (max-width: 940px) {
	.guidance {
		.col {
			flex-flow: column;
			width: 486px;
			height: 850px;

			&::before {
				background: url(../images/ai/cloud_sp.webp) no-repeat;
				background-size: contain;
			}
		}
	}
}

.dedai-js {
	background: var(--night);
	padding-top: 240px;

	.sec-wrap {
		&::before {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			left: -381px;
			top: -125px;
			width: 300px;
			height: 300px;
			transform: rotate(55deg);
		}

		&::after {
			content: "";
			background: url(../images/ai/chara-dedai.webp) no-repeat;
			background-size: contain;
			position: absolute;
			top: -349px;
			left: -226px;
			width: 237px;
			height: 334px;
		}
	}

	.dedai-js-wrap {
		background: repeating-linear-gradient(-45deg,
				#fff 0 30px,
				#ffeec2 30px 32px);
		border-radius: 30px;
		font-family: 'Noto Sans JP';
		text-align: center;
		padding: 47px 0;
	}

	.title {
		background: #fff;
		border: 3px solid #007934;
		color: #007934;
		display: block;
		font-weight: bold;
		font-size: 23px;
		padding: 8px 23px;
		margin: 0 auto;
		width: max-content;
	}

	h2 {
		color: #007934;
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 39px;
		line-height: 1.56;
		margin: 30px auto 20px;
	}

	p {
		color: #505050;
		font-weight: 500;
		font-size: 16px;
		line-height: 1.875;
	}

	strong {
		background: #FFC533;
		border-top: 2px solid #007934;
		border-bottom: 2px solid #007934;
		color: #007934;
		display: block;
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 39px;
		line-height: 1.56;
		margin-top: 36px;
		width: 100%;
	}

	.col {
		display: flex;
		align-items: center;
		gap: 40px;
		justify-content: center;
		margin-top: 50px;

		h3 {
			color: #505050;
			font-size: 35px;
			letter-spacing: .04em;
			position: relative;
			z-index: 1;

			&::before {
				content: "";
                background: #FFC533;
                position: absolute;
                bottom: 6px;
				left: 0;
                width: 100%;
                height: 10px;
                z-index: -1;
			}

			span {
				color: #007934;
				font-size: 39px;
			}
		}
	}
}

@media (max-width: 1000px) {
	.dedai-js {
		.col {
			flex-flow: column;
			gap: 25px;
		}
	}
}

.sec_synergy {
	background: var(--night);
	padding-top: 240px;

	.col {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 41px;

		.sub-title {
			border-bottom: 2px dashed #fff;
			color: #FFC533;
			display: block;
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 39px;
			line-height: 1.56;
			margin: 57px 0 19px;
			padding-bottom: 13px;
		}

		>div>p {
			color: #fff;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
		}

		img {
			max-width: 304px;
		}
	}

	ol {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 43px;
		margin-top: 158px;
	}

	li {
		border: 3px solid #FFC533;
		border-radius: 28px;
		text-align: center;
		padding: 0 15px 24px;
		position: relative;
		width: 100%;
		max-width: 336px;

		&::after {
			content: "";
			background: url(../images/ai/step-arrow.svg) no-repeat;
			background-size: contain;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: -38px;
			width: 27px;
			height: 23px;
		}

		&:last-child::after {
			content: none;
		}

		h3 {
			color: #fff;
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 34px;
			line-height: 1;
			margin: 23px auto 16px;
		}

		p {
			color: #fff;
			display: block;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
		}
	}

	.step {
		background: #FFC533;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-flow: column;
		margin: -53px auto 0;
		width: 96px;
		height: 96px;

		p {
			color: #0A395B;
			font-weight: 600;
			font-size: 22px;
			line-height: 1;
			margin: 0;
		}

		p.number {
			font-family: 'Josefin Sans';
			font-size: 50px;
		}
	}

	.sec_synergy_text {
		color: #fff;
		text-align: center;
		margin-top: 57px;
	}
}

.sec_roadmap {
	background: var(--night);
	padding-top: 240px;

	.sec-wrap {
		&::before {
			content: "";
			background: url(../images/ai/back-circle.svg) no-repeat;
			background-size: contain;
			opacity: .2;
			position: absolute;
			top: -74px;
			right: -453px;
			width: 510px;
			height: 510px;
		}
	}

	ol {
		display: flex;
		gap: 58px;
		margin-top: 118px;

		li {
			font-family: 'Noto Sans JP';
			position: relative;

			&::before {
				content: "";
				background-color: #FFC533;
				box-shadow: 0 0 0 5px #142A3A;
				border-radius: 50%;
				position: absolute;
				top: -56px;
				left: 11px;
				width: 18px;
				height: 18px;
				z-index: 1;
			}

			&::after {
				content: "";
				background: #fff;
				position: absolute;
				top: -46px;
				width: calc(100% + 58px);
				height: 1px;
			}

			&:last-child::after {
				width: 100%;
			}

			span {
				background: #FFC533;
				border-radius: 30px;
				color: #0A395B;
				font-weight: 500;
				font-size: 16px;
				line-height: 1.875;
				padding: 5px 20px;
			}

			h3 {
				color: #FFC533;
				font-family: 'Noto Sans JP';
				font-size: 23px;
				line-height: 1.73;
				margin: 22px 0;
			}

			p {
				color: #fff;
				font-weight: 500;
				font-size: 16px;
				line-height: 1.875;
			}
		}
	}
}

.sec_cta {
	background: linear-gradient(180deg, var(--night) 7%, #C2DAB9 43%, #fff 100%);
	padding-top: 325px;

	.cta-wrap {
		background: #fff;
		box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
		border-radius: 28px;
		text-align: center;
		padding: 112px 76px 88px;
		position: relative;

		&::after {
			content: "";
			background: url(../images/ai/chara-bow.webp) no-repeat;
			background-size: contain;
			position: absolute;
			top: -145px;
			left: 50%;
			transform: translateX(-50%);
			width: 176px;
			height: 222px;
		}

		h2 {
			color: #007934;
			font-size: 34px;
			letter-spacing: .01em;
			line-height: 1.02;
		}

		p {
			color: #505050;
			font-family: 'Noto Sans JP';
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
			margin: 53px 0;
		}
	}
}

@media (max-width: 1499px) {
	.dedai-js {
		.sec-wrap {

			&::before,
			&::after {
				content: none;
			}
		}
	}
}

/* tab size */
@media (max-width: 1024px) {

	.title-wrap {
		align-items: flex-start;
		flex-flow: column;
		gap: 20px;

		p {
			font-size: 28px;
			line-height: 1.25;
			letter-spacing: .1em;
		}
	}

	.sec_hero {

		.sec-wrap {
			text-align: center;
		}

		h1 {
			display: inline-block;
			text-align: left;
			margin-top: 0;
			padding-top: 120px;

			&::before {
				background: #FFC533;
				border-radius: 50%;
				top: 20px;
				left: 0;
				width: 60px;
				height: 60px;
			}

			&::after {
				background: url(../images/ai/hero-deco_3.webp) no-repeat;
				background-size: contain;
				top: 0;
				right: 0;
				width: 156px;
				height: 111px;
			}
		}

		.col {
			flex-flow: column;
			gap: 50px;

			>div {
				width: auto;
			}

			p {
				text-align: left;
			}

			.btns {
				margin-top: 28px;
			}

			img {
				margin: 0 auto;
				max-width: 322px;
			}
		}
	}

	.sec_news {
		.sec-wrap>p {
			margin: 44px 0 50px;
		}

		.news-list li {
			flex-flow: column;
			gap: 4px;
		}
	}

	.sec_why {

		.sec-wrap {

			&::before,
			&::after {
				content: none;
			}
		}

		.col {
			flex-flow: column;
			gap: 80px;

			>div>p {
				max-width: none;
			}
		}
	}

	.sec_business {

		.sec-wrap {
			&::before {
				content: "";
				background: url(../images/ai/back-circle.svg) no-repeat;
				background-size: contain;
				opacity: .2;
				position: absolute;
				top: -160px;
				right: -113px;
				width: 302px;
				height: 302px;
			}
		}

		.adjust-br {
			display: block;
		}

		.col {
			grid-template-columns: repeat(1, 1fr);
			gap: 52px;
			justify-items: center;
			margin-top: 100px;

			img {
				margin-top: -32px;
			}
		}
	}

	.sec_dentoo {
		.sec-wrap {
			&::before {
				top: 265px;
				left: -144px;
				width: 300px;
				height: 300px;
			}

			&::after {
				right: -113px;
				bottom: -124px;
				width: 302px;
				height: 302px;
			}
		}
	}

	.sec_synergy {
		.col {
			flex-flow: column;

			>div {
				text-align: center;
				width: 100%;
			}
		}

		ol {
			grid-template-columns: repeat(1, 1fr);
			gap: 122px;
			justify-items: center;
			margin-top: 123px;

			li::after {
				top: auto;
				bottom: -52px;
				right: auto;
				left: 50%;
				transform: translateX(-50%) rotate(90deg);
			}
		}
	}

	.sec_roadmap {
		.sec-wrap {
			&::before {
				content: none;
			}
		}
	}

}

/* sp size */
@media (max-width: 767px) {

	footer {
		margin-top: 80px;
	}

	.sec_hero {

		h1 {
			font-size: 27px;
			line-height: 1.62;
		}

		.col {

			.btns {
				flex-flow: column;
			}

			p {
				font-weight: 500;
				font-size: 16px;
				line-height: 1.875;
			}
		}
	}

	.sec_bridge {
		padding-top: 80px;

		div {
			padding: 53px 12px;

			img {
				max-width: 220px;
			}

			h2 {
				font-size: 24px;
				line-height: 1.45;
				letter-spacing: .01em;
				margin: 34px auto;
			}

			p {
				font-weight: 500;
				font-size: 16px;
				line-height: 1.875;
			}
		}
	}

	.sec_news,
	.sec_why {
		padding-top: 140px;
	}

	.sec_business {
		padding-top: 70px;

		h3 {
			font-size: 24px;
			padding-bottom: 17px;
			margin-top: 45px;
		}
	}

	.sec_dentoo {
		padding-top: 140px;

		.sub-title {
			margin-top: 55px;

			p.deco {
				font-size: 16px;
			}

			h3 {
				font-size: 24px;
				line-height: 1.45;
				margin-top: 36px;
			}
		}

		ol {
			margin-top: 96px;
		}

		.adjust-br {
			display: block;
		}
	}

	html[lang="en"] {
		.sec_dentoo {
			.sub-title p.deco::before {
				left: -10px;
			}

			.sub-title p.deco::after {
				right: -10px;
			}
		}
	}

	.guidance {
		padding-top: 80px;

		.col {
			justify-content: flex-start;
			gap: 24px;
			width: 324px;
			height: 567px;

			img {
				margin-top: 53px;
				max-width: 176px;
			}

			>div {
				text-align: center;
				max-width: 213px;
			}
		}
	}

	html[lang="en"] {
		.guidance {
			.col {
				width: 388px;
				max-width: 100%;
				height: 680px;
			}
		}
	}

	.dedai-js {
		padding-top: 80px;

		.dedai-js-wrap {
			background: repeating-linear-gradient(-75deg, #fff 0 15px, #ffeec2 17px);
			padding: 25px 0 33px;
		}

		.title {
			border: 2px solid #007934;
			font-weight: 500;
			font-size: 16px;
			line-height: 1.875;
			padding: 7px 30px;
		}

		h2 {
			font-size: 24px;
			line-height: 1.45;
			margin: 22px auto;
		}

		p {
			padding: 0 18px;
		}

		strong {
			font-size: 23px;
			line-height: 1.73;
			padding: 16px;
			margin-top: 25px;
		}

		.col {
			gap: 15px;
			margin-top: 30px;

			h3 {
				font-size: 22px;

				&::before {
					bottom: 3px;
					height: 6px;
				}

				span {
					font-size: 28px;
				}
			}

			img {
				max-width: 90%;
			}
		}
	}

	.sec_synergy {
		padding-top: 140px;

		.col {
			.sub-title {
				font-size: 24px;
				letter-spacing: .01em;
				line-height: 1.45;
				margin-bottom: 26px;
				padding-bottom: 28px;
			}
		}

		.sec_synergy_text {
			margin-top: 35px;
		}
	}

	.sec_roadmap {
		padding-top: 140px;

		ol {
			flex-flow: column;
			gap: 47px;
			margin-top: 52px;

			li {
				padding-left: 36px;

				&::before {
					top: 5px;
					left: 0;
				}

				&::after {
					top: -6px;
					left: 8px;
					width: 1px;
					height: calc(100% + 47px);
				}

				&:last-child::after {
					width: 1px;
					height: 100%;
				}
			}
		}
	}

	.sec_cta {
		background: linear-gradient(180deg, var(--night) 0%, #C2DAB9 43%, #fff 100%);
		padding-top: 221px;

		.cta-wrap {
			padding: 112px 17px 26px;

			h2 {
				font-size: 28px;
				line-height: 1.25;
			}

			p {
				margin: 23px 0;
			}
		}
	}
}