html {
	scrollbar-gutter: stable;
}
* {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	min-height: 1px;
	min-width: 1px;
}

body {
	--caveat: "Caveat", italic;
	--gray-line: #D9E6EB;
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #394C53;
	font-family: "TildaSans-VF", Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.3px;
}
.container {
	max-width: 1180px;
	margin: 0 auto;
}
@media (max-width: 767px) {
	.container {
		max-width: 320px;
	}
}

.red {
	color: #F24C47;
}
.text-light {
	color: #7396A4;
}
.text-medium {
	color: #4E7686;
}
.text-dark {
	color: #344E58;
}
.text-black {
	color: #394C53;
}
.text-blue {
	color: #3FA9F5;
}
.title-float-up, .float-up {
	transform: translateY(100px);
	transition: opacity 0.8s ease-in-out, transform 0.7s ease-out;
	opacity: 0;
}
.title-float-up.page-loaded, .float-up.in-view {
	transform: translateY(0);
	opacity: 1;
}
.upper-title {
	font-size: 20px;
	font-weight: 500;
}
.section-title {
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -2.2px;
	line-height: 0.9;
}
.ls-3 {
	letter-spacing: -0.3px;
}
.ls-4 {
	letter-spacing: -0.4px;
}
.ls-22 {
	letter-spacing: -2.2px;
}
.lh-1 {
	line-height: 1;
}
.mob {
	display: none;
}

@media (max-width: 767px) {
	.section-title {
		font-size: 30px;
		letter-spacing: -1.2px;
	}
	.dt {
		display: none;
	}
	.mob {
		display: inline-block;
	}
	.upper-title {
		font-size: 16px;
		letter-spacing: -0.3px;
	}
}

.img-lazy {
	opacity: 0;
	transition: opacity 0.6s;
}
.img-loaded {
	opacity: 1;
}


.main-logo-wrap {
	position: relative;
	height: 16px;
}
.main-logo {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
}
.section-main {
	/* height: 1290px; */
	width: calc(100% - 32px);
	background-color: rgba(150,220,255,0.2);
	margin: 0 auto;
	border-radius: 40px;
	overflow: hidden;
	position: relative;

	mask-image: radial-gradient(ellipse 308px 232px at 50% calc(0% + 16px), transparent 99%, black 100%);
	-webkit-mask-image: radial-gradient(ellipse 308px 232px at 50% calc(0% + 16px), transparent 146px, black 147px);
}
.section-main::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/main-bg.png"); */
	background-image: url("../img/main-bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.4s ease-in;
}
.section-main.bg-loaded::before {
	opacity: 1;
}
.round-corner-l {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	left: calc(50% - 194px);
	/* left: calc(50% - 146px - 43px); */
	background: radial-gradient(circle at 0% 100%, transparent 50px, #fff 51px);
}
.round-corner-r {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	right: calc(50% - 194px);
	/* right: calc(50% - 146px - 43px); */
	background: radial-gradient(circle at 100% 100%, transparent 50px, #fff 51px);
}
.main-confetti-wrap {
	position: absolute;
	width: 100%;
}
.confetti {
	position: absolute;
	top: 0;
	transform: translateY(-120%);
	opacity: 0;
	transition: opacity 0.8s ease-out, transform 1.6s ease-out;
}
.main-confetti-l {
	left: 0;
}
.main-confetti-r {
	right: 0;
	transition-delay: 0.3s;
}
.confetti.ready {
	opacity: 1;
}
.main-confetti-l.ready,
.main-confetti-r.ready {
	transform: translateY(0);
}
.section-main .container {
	position: relative;
	text-align: center;
	margin: 190px auto 530px;
}
.main-title-top {
	font-size: 20px;
	margin-bottom: 24px;
	letter-spacing: -0.4px;
}
.section-main h1 {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 124px;
	font-weight: 700;
	letter-spacing: -5px;
	line-height: 0.7;
}
.section-main h1 span {
	font-family: var(--caveat);
	font-size: 168px;
	display: inline-block;
	margin-top: -10px;
	margin-left: -36px;
}
.main-middle {
	display: flex;
	justify-content: space-between;
}
.main-middle-l, .main-middle-r {
	width: 280px;
	height: 208px;
	border-radius: 70px;
	background-image: linear-gradient(157deg, #fff, 85%, #E0F6FF);
	/* background-image: linear-gradient(165deg, #fff, 70%, #EBE3DD), linear-gradient(165deg, #fff, 80%, #E0F6FF); */
}
.main-middle-l {
	padding: 60px 47px;
}
.main-middle-center {
	font-size: 28px;
	margin-top: 40px;
}
.main-middle-r {
	margin-top: 90px;
	padding: 55px 38px;
}

@media (max-width: 767px) {
	.main-logo-wrap {
		height: 30px;
	}
	.main-logo {
		height: 50px;
	}
	.section-main {
		border-radius: 20px;
		mask-image: radial-gradient(ellipse 170px 150px at 50% calc(0% + 10px), transparent 99%, black 100%);
		-webkit-mask-image: radial-gradient(ellipse 170px 150px at 50% calc(0% + 10px), transparent 60px, black 61px);
	}
	.section-main::before {
		/* background-image: url("../img/mob/main-bg.webp"); */
		background-image: url("../img/mob/main-bg.png");
	}
	.round-corner-l {
		left: calc(50% - 100px);
	}
	.round-corner-r {
		right: calc(50% - 100px);
	}
	.main-confetti-wrap {
		display: none;
	}
	.section-main .container {
		margin: 100px auto 10px;
	}
	.main-title-top {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.section-main h1 {
		font-size: 44px;
		letter-spacing: -1.8px;
		margin-bottom: 30px;
	}
	.section-main h1 span {
		font-size: 44px;
		letter-spacing: -2.3px;
		margin-top: 9px;
		margin-left: 0;
	}
	.main-middle {
		flex-wrap: wrap;
	}
	.main-middle-center {
		order: 1;
		width: 100%;
		font-size: 18px;
		margin-top: 0;
		margin-bottom: 370px;
	}
	.main-middle-l, .main-middle-r {
		width: 100%;
		height: auto;
		margin: 0 auto 10px;
		padding: 20px;
		font-size: 14px;
		border-radius: 20px;
	}
	.main-middle-l {
		order: 2;
	}
	.main-middle-r {
		order: 3;
	}
}

section.s-info-block {
	height: 143px;
}
.info-block {
	position: relative;
	top: -100px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.info-main {
	width: 476px;
	height: 208px;
	display: flex;
	background-image: linear-gradient(140deg, #fff, 60%, #EBE3DD);
	padding: 55px 45px;
	border-radius: 52px;
	column-gap: 54px;
}
.info-main-l {
	letter-spacing: -0.3px;
}
.info-main-l img {
	margin-top: 5px;
	margin-bottom: 18px;
}
.info-main-r {
	font-size: 44px;
	font-weight: 700;
	line-height: 0.8;
	letter-spacing: -1.8px;
}
.info-main p {
	margin-top: 18px;
}
.info-square {
	width: 160px;
	height: 160px;
}
@media (max-width: 767px) {
	section.s-info-block {
		height: auto;
		padding: 40px 0 30px;
	}
	.info-block {
		top: 0;
		width: 100%;
		flex-wrap: wrap;
		gap: 10px;
	}
	.info-main {
		width: 100%;
		height: auto;
		padding: 25px 35px;
		column-gap: 44px;
		align-items: flex-end;
		margin-bottom: 10px;
		border-radius: 30px;
	}
	.info-main-l img {
		height: 33px;
		margin-bottom: 10px;
	}
	.info-main-l {
		font-size: 14px;
		max-width: 86px;
	}
	.info-main-r {
		font-size: 24px;
	}
	.info-square {
		width: 155px;
		height: 155px;
	}
}



section.s1 {
	/* height: 1080px; */
	position: relative;
}
section.s1::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/s1-bg.png"); */
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.6s;
}
section.s1.bg-loaded::before {
	/* background-image: url("../img/s1-bg.png"); */
	background-image: url("../img/s1-bg.webp");
	opacity: 1;
}
.s1-container-1 {
	display: flex;
	padding-top: 80px;
	margin-bottom: 14px;
	position: relative;
}
.s1-l {
	flex-basis: 790px;
}
.s1-r {
	flex-basis: 0;
	flex-grow: 1;
}
.s1-l .section-title {
	margin-top: 0;
	margin-bottom: 52px;
}
.s1-text-1 {
	font-size: 20px;
	margin-bottom: 56px;
}
.s1-text-2 {
	max-width: 390px;
	display: flex;
	column-gap: 30px;
	position: relative;
}
.s1-text-2 img {
	object-fit: contain;
}
.s1-text-2 p {
	line-height: 1;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.7px;
}
.s1-text-2-after {
	position: absolute;
	transform: rotate(-3.8deg);
	right: -10%;
	bottom: -30px;
	font-family: var(--caveat);
	font-size: 26px;
	font-weight: 700;
	line-height: 0.7;
	letter-spacing: -1.3px;
}
.s1-text-3 {
	font-size: 16px;
	margin-bottom: 57px;
}
.s1-text-4 {
	margin-bottom: 52px;
}
.s1-text-4 p {
	font-size: 20px;
	margin-bottom: 20px;
	line-height: 1;
}
.s1-text-4 .tags-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.s1-text-4 .tag {
	border: 1px solid #D9E6EB;
	padding: 12px;
	border-radius: 8px;
}
.s1-text-4 .tag img,
.s1-text-4 .tag span {
	vertical-align: middle;
}
.s1-text-4 .tag img {
	margin-right: 10px;
}
.s1-text-5 {
	font-size: 20px;
	padding-right: 50px;
}
.s1-container-2 {
	display: flex;
	position: relative;
}
.s1-text-6 {
	margin-top: 130px;
	display: flex;
	column-gap: 35px;
	font-size: 24px;
	font-weight: 600;
}
.s1-text-6 img {
	transform: translateY(40%);
}
.s1-text-7 {
	height: 400px;
	margin-bottom: 130px;
	padding: 28px 70px 0;
	background-image: linear-gradient(170deg, #fff, 90%, #EBE3DD);
	border-radius: 52px;
	text-align: center;
	font-size: 24px;
	font-weight: 600;
}
.s1-bottom-fg {
	position: absolute;
	bottom: 0;
	width: 100%;
}
.s1-fg-trees {
	width: 100%;
	height: 20px;
	position: absolute;
	bottom: 0;
}
.s1-tree-wrap-l {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 20%;
	height: 656px;
	overflow: hidden;
}
.s1-tree-wrap-r {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 20%;
	height: 526px;
	overflow: hidden;
}
.s1-tree {
	position: absolute;
	bottom: 0;
	transition: transform 1.4s ease;
}
.s1-tree-l {
	left: 0;
	transform: translateX(-60%);
}
.s1-tree-r {
	right: 0;
	transform: translateX(70%);
}
.in-view .s1-tree-l,
.in-view .s1-tree-r {
	transform: translateX(0);
}

@media (max-width: 767px) {
	section.s1::before {
		/* background-image: url("../img/mob/s1-bg.png"); */
		background-position: center bottom;
	}
	section.s1.bg-loaded::before {
		background-image: url("../img/mob/s1-bg.png");
	}
	.s1-container-1 {
		padding-top: 30px;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.s1-l {
		flex-basis: 100%;
		margin-bottom: 30px;
	}
	.s1-l .section-title {
		margin-bottom: 30px;
	}
	.s1-text-1 {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.s1-text-2 {
		max-width: 100%;
	}
	.s1-text-2 p {
		margin-top: 10px;
		font-size: 16px;
		letter-spacing: -0.5px;
	}
	.s1-text-2-after {
		font-size: 20px;
		right: 0;
		bottom: 15px;
	}
	.s1-text-3 {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.s1-text-4 {
		margin-bottom: 30px;
	}
	.s1-text-4 p {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.s1-text-4 .tag {
		padding: 10px;
		font-size: 14px;
	}
	.s1-text-4 .tag img {
		max-width: 14px;
		margin-right: 6px;
	}
	.s1-text-5 {
		font-size: 16px;
		padding-right: 0;
	}
	.s1-container-2 {
		flex-wrap: wrap;
	}
	.s1-text-6 {
		margin-top: 0;
		column-gap: 14px;
		font-size: 17px;
		margin-bottom: 370px;
	}
	.s1-text-6 img {
		height: 60px;
	}
	.s1-r {
		flex-basis: 100%;
		position: relative;
	}
	.s1-text-7 {
		position: absolute;
		top: -40px;
		z-index: 1;
		width: 100%;
		height: auto;
		border-radius: 30px;
		padding: 9px 32px 20px;
		font-size: 14px;
		margin-bottom: 0;
	}
	.s1-text-7 img {
		height: 54px;
		margin-bottom: 8px;
	}
}


section.s2 {
	/* height: 1500px; */
	padding: 120px 0 40px;
}
.bg-image-wrap {
	position: relative;
	height: 0;
}
.bg-image-wrap img {
	position: absolute;
}
.s2-confetti-l {
	top: 505px;
	left: 0;
}
.s2-confetti-r {
	top: 60px;
	right: 0;
}
.s2-confetti-mob-l {
	top: 1040px;
	left: 0;
	z-index: -1;
}
.s2-confetti-mob-r {
	top: 0;
	right: 0;
	z-index: -1;
}
.s2-confetti-r, .s2-confetti-l {
	transform: translateY(0);
	filter: drop-shadow(2px 34px 16px #3333);
	animation: confetti-move-up linear;
	animation-timeline: view();
	animation-range: entry 0% exit 100%;
}
@keyframes confetti-move-up {
	0% {
		transform: translateY(300px);
	}
	100% {
		transform: translateY(-300px);
	}
}
.cont-s2-1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-bottom: 80px;
}
.s2-1-l {
	flex-basis: 600px;
}
.s2-1-r {
	flex-basis: 0;
	flex-grow: 1;
	font-size: 20px;
	padding-right: 50px;
}
.s2-1-l .upper-title {
	margin-bottom: 40px;
}
.s2-title {
	position: relative;
	width: 480px;
}
.s2-title::after {
	content: "";
	position: absolute;
	width: 48px;
	height: 48px;
	background-image: url("../img/s2-cloud-icon.png");
	right: 15px;
	bottom: 0;
}
.cont-s2-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	column-gap: 20px;
	row-gap: 20px;
	margin-bottom: 20px;
}
.s2-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 0;
	background-color: #F2F5F8;
	border-radius: 36px;
	padding: 60px 40px 48px;
	text-align: center;
}
.s2-card .card-num {
	font-family: var(--caveat);
	font-size: 26px;
	letter-spacing: -1px;
	margin-bottom: 28px;
}
.s2-card .card-title {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 28px;
}
.s2-card .card-text {
	font-size: 20px;
	margin-bottom: 75px;
}
.s2-card .card-img {
	height: 230px;
}
.s2-card .card-img img {
	height: 100%;
}
.s2-tags-wrap {
	display: flex;
	flex-wrap: wrap;
	background-color: #F2F5F8;
	padding: 32px;
	column-gap: 20px;
	border-radius: 36px;
}
.s2-tags {
	width: 548px;
	padding: 32px;
	border-radius: 24px;
	background-color: #fff;
}
.s2-tags-container {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.s2-tags-title {
	font-size: 29px;
	font-weight: 700;
	letter-spacing: -0.9px;
	margin-bottom: 32px;
}
.s2-tags-container-r {
	padding-right: 50px;
}
.s2-tag {
	display: inline-block;
	padding: 16px;
	border-radius: 100px;
	border: 1px solid #D9E6EB;
	font-size: 16px;
	font-weight: 500;
	line-height: 0.4;
	cursor: grab;
	transition: box-shadow 0.5s ease;
}
.s2-tag:hover {
	box-shadow: inset 0 2px 4px #3333;
}

@media (max-width: 767px) {
	section.s2 {
		padding: 155px 0 30px;
	}
	.cont-s2-1 {
		margin-bottom: 30px;
	}
	.s2-1-l .upper-title {
		margin-bottom: 20px;
	}
	.s2-title {
		width: 100%;
		margin-bottom: 30px;
	}
	.s2-title img {
		width: 25px;
		height: 25px;
		vertical-align: top;
	}
	.s2-title::after {
		display: none;
		width: 25px;
		height: 25px;
		background-size: 100%;
		right: 75px;
		bottom: -2px;
	}
	.s2-1-r {
		font-size: 14px;
		padding-right: 0;
	}
	.s2-card {
		border-radius: 30px;
		padding: 30px 20px 40px;
	}
	.s2-card .card-num {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.s2-card .card-title {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.s2-card .card-text {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.s2-card .card-img {
		height: 194px;
	}
	.s2-tags-wrap {
		border-radius: 30px;
		padding: 20px;
	}
	.s2-tags {
		padding: 18px 16px;
	}
	.s2-tags:not(:last-child) {
		margin-bottom: 20px;
	}
	.s2-tags-title {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.s2-tags-container {
		row-gap: 8px;
		column-gap: 5px;
	}
	.s2-tags-container-r {
		padding-right: 0;
	}
	.s2-tag {
		padding: 8px 9px;
		/* padding: 12px; */
		font-size: 14px;
		line-height: 1;
	}
}


section.s3 {
	/* height: 1300px; */
	width: calc(100% - 32px);
	background-color: #e3e7a8;
	margin: 0 auto;
	border-radius: 40px;
	overflow: hidden;
	position: relative;
}
section.s3::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/s3-bg.png"); */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.6s;
}
section.s3.bg-loaded::before {
	background-image: url("../img/s3-bg.png");
	opacity: 1;
}
.s3 .container {
	padding: 80px 0 52px;
	position: relative;
	text-align: center;
}
/* .s3-bg {
	position: absolute;
	width: calc(100% - 32px);
	height: 100%;
	border-radius: 40px;
	overflow: hidden;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
} */
/* .s3-bg::before {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background-image: url("../img/s3-bg.png");
	background-position: center bottom;
	background-size: cover;
} */
.s3-title {
	margin-bottom: 52px;
}
.s3 .title-sub {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 60px;
}
.s3-cards {
	display: grid;
	grid-template-columns: repeat(4, 280px);
	column-gap: 20px;
}
.s3-card {
	padding: 50px 30px;
	background-image: linear-gradient(165deg, #fff, 90%, #E0F6FF);
	border-radius: 70px;
}
.s3-card-6 {
	grid-column: -2 / -1;
}
.s3-card-1, .s3-card-4 {
	margin-top: 104px;
}
.s3-card-2, .s3-card-3 {
	height: 233px;
}
.s3-card-1, .s3-card-4, .s3-card-5, .s3-card-6 {
	height: 252px;
}
.s3-card-5, .s3-card-6 {
	margin-top: 250px;
}
.s3-card-num {
	font-family: var(--caveat);
	font-size: 26px;
	letter-spacing: -1px;
	line-height: 0.7;
	margin-bottom: 28px;
}

@media (max-width: 767px) {
	section.s3 {
		width: 100%;
		border-radius: 0;
		overflow: visible;
	}
	section.s3::before {
		/* background-image: url("../img/mob/s3-bg.png"); */
		background-position: center bottom;
	}
	section.s3.bg-loaded::before {
		background-image: url("../img/mob/s3-bg.png");
	}
	.s3 .container {
		padding: 30px 0;
	}
	.s3-title {
		font-size: 28px;
		text-align: left;
		margin-bottom: 30px;
	}
	.s3 .title-sub {
		font-size: 15px;
		text-align: left;
		margin-bottom: 30px;
	}
	.s3-cards {
		grid-template-columns: 1fr;
		row-gap: 10px;
		margin-bottom: 425px;
	}
	.s3-card {
		max-width: 400px;
		height: auto;
		border-radius: 30px;
		margin-top: 0;
		padding: 20px;
	}
	.s3-card-num {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.s3-card-text {
		font-size: 14px;
	}
}


section.s4 {
	/* height: 1232px; */
	width: calc(100% - 32px);
	margin: 16px auto 20px;
	border-radius: 40px;
	overflow: hidden;
	position: relative;
}
section.s4::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/s4-bg.png"); */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.6s;
}
section.s4.bg-loaded::before {
	background-image: url("../img/s4-bg.png");
	opacity: 1;
}
section.s4 .container {
	position: relative;
}
.s4-top {
	padding-top: 120px;
	margin-bottom: 60px;
	text-align: center;
}
.s4-title {
	margin-bottom: 52px;
}
.s4-title span {
	font-family: var(--caveat);
	font-size: 76px;
	line-height: 0.7;
}
.s4-text-1 {
	font-size: 20px;
}
.advants {
	margin-bottom: 177px;
	text-align: center;
	position: relative;
}
.advant-row {
	margin-bottom: 8px;
}
.advant {
	display: inline-block;
	vertical-align: middle;
	width: 248px;
	height: 80px;
	padding: 24px 20px;
	background-color: #F2F5F8;
	border-radius: 20px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.5px;
	position: relative;
}
.advant::before {
	content: "";
	position: absolute;
	bottom: 0;
	z-index: -1;
	width: 44px;
	height: 44px;
	background-image: url("../img/say.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.advant-1 {
	margin-right: 10px;
}
.advant-1::before {
	transform: rotateY(0deg) rotateZ(-100deg);
	right: 20px;
	bottom: -20px;
}
.advant-2::before {
	transform: rotateY(180deg) rotateZ(-100deg);
	left: 20px;
	bottom: -20px;
}
.advant-3::before, .advant-5::before, .advant-7::before {
	transform: rotateY(180deg) rotateZ(0deg);
	right: -20px;
	bottom: 15px;
}
.advant-4::before, .advant-6::before, .advant-8::before {
	transform: rotateY(0deg) rotateZ(0deg);
	left: -20px;
	bottom: 15px;
}
.advant-3 {
	margin-right: 390px;
}
.advant-5 {
	margin-right: 580px;
}
.advant-7 {
	margin-right: 680px;
}
.advants-after {
	font-family: var(--caveat);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -1.3px;
	line-height: 0.7;
	position: absolute;
	bottom: -55px;
	right: 25px;
	transform: rotateZ(-3.8deg);
}
.s4-center-img {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.s4-bottom {
	display: flex;
	justify-content: space-between;
}
.s4-text-bottom-l, .s4-text-bottom-r {
	width: 280px;
	background-image: linear-gradient(180deg, #fff, 80%, #f8f8f8);
	text-align: center;
	border-radius: 52px 52px 0 0;
}
.s4-text-bottom-l {
	padding: 40px;
}
.s4-text-bottom-r {
	padding: 50px 33px;
}
.s4-text-bottom-l img {
	margin-bottom: 48px;
}
.s4-text-bottom-r img {
	margin-bottom: 30px;
}
.s4-bottom-text {
	font-size: 20px;
	font-weight: 700;
}

@media (max-width: 767px) {
	section.s4 {
		width: 100%;
		margin: 0;
		border-radius: 0;
	}
	section.s4::before {
		/* background-image: url("../img/mob/s4-bg.png"); */
		background-size: 100% auto;
		background-position: center 750px;
	}
	section.s4.bg-loaded::before {
		background-image: url("../img/mob/s4-bg.png");
	}
	.container.s4-top {
		padding-top: 60px;
		margin-bottom: 30px;
	}
	.s4-title {
		text-align: left;
		margin-bottom: 30px;
	}
	.s4-title span {
		font-size: 30px;
	}
	.s4-text-1 {
		font-size: 14px;
		text-align: left;
	}
	.advants {
		margin-bottom: 0;
	}
	.advant-row {
		margin-bottom: 0;
	}
	.advant {
		display: block;
		width: 100%;
		height: auto;
		padding: 20px;
		font-size: 15px;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.advant br {
		display: none;
	}
	.advant::before {
		right: 0;
		left: auto;
		bottom: -12px;
		transform: rotateY(180deg) rotateZ(-10deg);
	}
	.advants-after {
		bottom: -25px;
	}
	.s4-center-img {
		position: relative;
		max-width: 370px;
		margin-bottom: -7px;
	}
	.s4-bottom {
		flex-wrap: wrap;
		row-gap: 10px;
		padding-bottom: 60px;
	}
	.s4-text-bottom-l, .s4-text-bottom-r {
		width: 100%;
		border-radius: 40px;
		padding: 32px 20px 20px;
	}
	.s4-text-bottom-l img {
		margin-bottom: 32px;
	}
	.s4-bottom-text {
		font-size: 15px;
	}
}


section.s5 {
	/* height: 1300px; */
	width: calc(100% - 32px);
	background-color: #a3b36a;
	margin: 16px auto 0;
	border-radius: 40px;
	overflow: hidden;
	position: relative;
}
section.s5::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/s5-bg.jpg"); */
	background-size: cover;
	background-position: center bottom;
	opacity: 0;
	transition: opacity 0.6s;
}
section.s5.bg-loaded::before {
	background-image: url("../img/s5-bg.jpg");
	opacity: 1;
}
.s5-content {
	/* height: 466px; */
	margin: 44px 44px 790px;
	padding: 60px 0;
	position: relative;
	background-color: #fff;
	border-radius: 44px;
}
.s5-container {
	display: flex;
	display: none;
}
.s5-col-l {
	width: 700px;
}
.s5-col-r {
	max-width: 400px;
}
.s5-col-l .upper-title {
	margin-bottom: 40px;
}
.s5-title {
	margin-bottom: 40px;
}
.s5-title span {
	font-family: var(--caveat);
	font-size: 76px;
	line-height: 0.7;
}
.s5-text-l-wrap {
	display: flex;
	column-gap: 28px;
	justify-content: flex-start;
	align-items: center;
}
.s5-text-1 {
	max-width: 410px;
	padding-right: 20px;
}
.s5-text-2 {
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.7px;
	padding-right: 40px;
	margin-bottom: 36px;
}
.s5-text-3 {
	font-size: 18px;
	padding-right: 10px;
}

.s5-grid {
	display: grid;
	grid-template-columns: 100px minmax(400px, 600px) minmax(360px, 1fr);
	/* grid-template-columns: 100px minmax(540px, 600px) 1fr; */
	grid-template-rows: 125px 135px 1fr;
}
.s5-grid .s5-title-wrap {
	grid-column: span 2;
	grid-row: span 2;
}
.s5-grid .s5-title-wrap .upper-title {
	margin-bottom: 40px;
}
.s5-grid .s5-text-img {
	grid-area: 3 / 1 / 3 / 2;
}
.s5-grid .s5-text-2 {
	grid-area: 1 / 3 / 1 / 4;
}
.s5-grid .s5-text-1 {
	grid-area: 3 / 2 / 3 / 3;
	padding-right: 0;
	padding-left: 28px;
}
.s5-grid .s5-text-3 {
	grid-row: span 2;
}

@media (max-width: 1350px) {
	.s5 .container {
		max-width: 980px;
	}
}
@media (max-width: 767px) {
	.s5 .container {
		max-width: 320px;
	}
	.s5-grid {
		grid-template-columns: 80px 1fr;
		grid-template-rows: repeat(4, auto);
	}
	.s5-grid .s5-title-wrap {
		grid-row: unset;
	}
	.s5-grid .s5-title-wrap .upper-title {
		font-size: 15px;
		margin-bottom: 10px;
	}
	.s5-grid .s5-text-img {
		grid-area: 2 / 1 / 2 / 2;
		margin-bottom: 20px;
	}
	.s5-grid .s5-text-1 {
		grid-area: 3 / 1 / 3 / 3;
		padding: 0;
		font-size: 13px;
		margin-bottom: 30px;
	}
	.s5-grid .s5-text-2 {
		grid-area: 2 / 2 / 2 / 3;
		padding-right: 0;
		padding-left: 13px;
		font-size: 16px;
		letter-spacing: -0.5px;
		margin-top: 10px;
		margin-bottom: 0;
	}
	.s5-grid .s5-text-3 {
		grid-row: unset;
		grid-area: 4 / 1 / 4 / 3;
		font-size: 14px;
	}
}
@media (max-width: 767px) {
	section.s5 {
		width: 100%;
		margin: 0;
		border-radius: 0;
		overflow: unset;
		padding: 30px 0 246px;
	}
	section.s5::before {
		/* background-image: url("../img/mob/s5-bg.png"); */
		top: 0;
	}
	section.s5.bg-loaded::before {
		background-image: url("../img/mob/s5-bg.jpg");
	}
	.s5-content {
		max-width: 360px;
		height: auto;
		margin: 0 auto;
		padding: 30px 20px;
		border-radius: 30px;
	}
	.s5-container {
		flex-wrap: wrap;
	}
	.s5-col-l {
		width: 100%;
	}
	.s5-col-l .upper-title {
		font-size: 15px;
		margin-bottom: 10px;
	}
	.s5-title {
		margin-bottom: 30px;
	}
	.s5-title span {
		font-size: 30px;
	}
}


section.s6 {
	padding: 40px 0 60px;
}
.s6-cards {
	display: flex;
	gap: 20px;
	padding: 20px;
	border-radius: 20px;
	background-color: #F2F5F8;
}
.s6-card {
	width: 270px;
	height: 160px;
	padding: 24px;
	border-radius: 16px;
	line-height: 1;
}
.s6-card:not(:last-child) {
	background-color: #fff;
}
.s6-card:last-child {
	background-color: #3FA9F5;
	color: #fff;
	position: relative;
}
.s6-card img {
	margin-bottom: 22px;
}
.s6-card:last-child img {
	position: absolute;
	top: 9px;
	right: 9px;
}
.s6-card .title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 6px;
}
.s6-card:last-child .title {
	margin-top: 70px;
}

@media (max-width: 767px) {
	section.s6 {
		padding: 40px 0 0;
	}
	.s6-cards {
		flex-wrap: wrap;
	}
	.s6-card {
		width: 100%;
		height: auto;
		padding: 15px 20px;
	}
	.s6-card:last-child {
		height: 160px;
	}
	.s6-card img {
		margin-bottom: 12px;
	}
	.s6-card .title {
		font-size: 18px;
		margin-bottom: 12px;
	}
	.s6-card:last-child .title {
		margin-top: 85px;
	}
	.s6-card .text {
		font-size: 15px;
	}
}


section.s7 {
	padding: 60px 0;
	text-align: center;
}
.s7-title {
	margin-bottom: 80px;
}
.s7-title span {
	font-family: var(--caveat);
	font-size: 76px;
	letter-spacing: -3.8px;
	line-height: 0.7;
}
.s7-slider {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.slider-prev, .slider-next {
	cursor: pointer;
}
@media (max-width: 767px) {
	section.s7 {
		padding: 60px 0 30px; 
	}
	.s7-title {
		margin-bottom: 30px;
	}
	.s7-title span {
		font-size: 30px;
		letter-spacing: -1.5px;
		line-height: 0.7;
		display: inline-block;
		margin-top: 10px;
	}
	.slider-prev, .slider-next {
		width: 40px;
		height: 40px;
	}
	.phone-slide {
		height: 440px;
	}
}


section.s8 {
	padding: 60px 0 120px;
}
.s8-title {
	margin-bottom: 80px;
	text-align: center;
}
.s8-accordeon {
	border-top: 1px solid var(--gray-line);
	display: flex;
}
.s8-accordeon a {
	color: #3FA9F5;
}
.s8-accord-left, .s8-accord-right {
	flex-basis: 50%;
	padding-right: 40px;
}
.accord-cell {
	border-bottom: 1px solid var(--gray-line)
}
.accord-question {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	padding: 40px 90px 40px 0;
	position: relative;
}
.accord-question svg {
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%) rotateX(0);
	transition: transform 0.6s ease-in-out;
}
.accord-cell.open .accord-question svg {
	transform: translateY(-50%) rotateX(180deg);
}
.accord-answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.6s ease;
}
.accord-cell.open .accord-answer {
	grid-template-rows: 1fr;
}
.answer-text {
	padding-right: 60px;
	overflow: hidden;
}
.answer-bottom-margin {
	height: 40px;
}


@media (max-width: 767px) {
	section.s8 {
		padding: 30px 0;
	}
	.s8-title {
		margin-bottom: 30px;
	}
	.s8-accordeon {
		flex-wrap: wrap;
	}
	.s8-accord-left, .s8-accord-right {
		flex-basis: 100%;
		padding-right: 0;
	}
	.accord-question {
		padding: 15px 45px 15px 0;
		font-size: 15px;
		line-height: 1.1;
	}
	.accord-question svg {
		right: 0;
	}
	.answer-text {
		font-size: 14px;
		padding-right: 30px;
	}
	.answer-bottom-margin {
		height: 15px;
	}
}


section.s9 {
	/* height: 760px; */
	width: calc(100% - 32px);
	/* background-color: #eff5fc; */
	margin: 0 auto;
	border-radius: 40px;
	overflow: hidden;
	position: relative;
	/* margin-bottom: 175px; */
}
section.s9::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-image: url("../img/s9-bg-w-confetti.png"); */
	/* background-image: url("../img/s9-bg.png"); */
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.6s;
}
section.s9.bg-loaded::before {
	background-image: url("../img/s9-bg.png");
	opacity: 1;
}
.s9-content {
	position: relative;
	width: 734px;
	margin-left: auto;
	padding: 80px 0 63px;
}
.s9-title {
	margin-bottom: 40px;
}
.s9-title-sub {
	font-size: 20px;
	letter-spacing: -2%;
	margin-bottom: 60px;
}
.s9 fieldset {
	-webkit-appearance: none;
	appearance: none;
	width: 380px;
	padding: 0;
	border: transparent;
	border: none;
	margin-bottom: 20px;
}
.s9-form-field {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 78px;
	padding: 32px;
	border-radius: 100px;
	margin-bottom: 8px;
	font-size: 20px;
	border: none;
	outline: none;
}
.s9-form-field:active, .s9-form-field:focus,
.s9-form-field:focus-visible {
	outline: 1px solid #3FA9F5;
}
input.s9-form-field::placeholder,
input.s9-form-field::-webkit-input-placeholder {
	-webkit-appearance: none;
	appearance: none;
	opacity: 1;
	color: #7396A4;
}
input.s9-form-field::-moz-placeholder {
	opacity: 1;
}
.s9-form-submit {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 78px;
	padding: 30px 0;
	text-align: center;
	background-color: #3FA9F5;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	border-radius: 100px;
	border: none;
	cursor: pointer;
}
.s9-form-submit:active, 
.s9-form-submit:focus, .s9-form-submit:focus-visible {
	outline: 3px solid #3FA9F5;
}
.legal {
	max-width: 380px;
	font-size: 12px;
	line-height: 1;
	text-align: center;
}

@media (max-width: 767px) {
	section.s9 {
		padding: 30px 0 430px;
		width: 100%;
		margin: 0 0 180px;
		border-radius: 0;
		overflow: unset;
	}
	/* section.s9::before {
		background-image: url("../img/mob/s9-bg.png");
	} */
	section.s9.bg-loaded::before {
		background-image: url("../img/mob/s9-bg.png");
	}
	.s9-content {
		max-width: 320px;
		margin: 0 auto;
		padding: 30px 0 0;
	}
	.s9-title {
		margin-bottom: 20px;
	}
	.s9-title-sub {
		font-size: 15px;
		margin-bottom: 30px;
	}
	.s9 fieldset {
		width: 100%;
		margin-bottom: 10px;
	}
	.s9-form-field {
		height: 70px;
		font-size: 16px;
		padding: 30px 32px;
		margin-bottom: 10px;
	}
	.s9-form-field[type="tel"] {
		margin-bottom: 15px;
	}
	.s9-form-submit {
		height: 70px;
		padding: 26px 0;
	}
	.legal {
		width: 100%;
		max-width: 100%;
	}
}