@charset "UTF-8";/* CSS Document *//* -----------------------------	common------------------------------ */.section-title {	max-width: 1200px;	width: 93%;	margin: 0 auto min(10vw, 80px);	font-size: clamp(2.25rem, 2.125rem + 0.4vw, 2.5rem);	text-align: center;}.grid {	display: grid;	place-items: center;}.grid-2 {	grid-template-columns: 49% 49%;	column-gap: 2%;	align-items: flex-end;}.grid-3 {	grid-template-columns: 32% 32% 32%;	column-gap: 2%;	align-items: flex-start;}.max650 {	display: none;}.max450 {	display: none;}@media screen and (max-width: 768px) {	.grid-2, .grid-3 {		grid-template-columns: 100%;		column-gap: 0;		grid-row-gap: 50px;	}}@media screen and (max-width: 650px) {	.max650 {		display: block;	}}@media screen and (max-width: 530px) {	.min530 {		display: none;	}	.grid-2, .grid-3 {		grid-template-columns: 100%;		column-gap: 0;		grid-row-gap: 30px;	}}@media screen and (max-width: 450px) {	.max450 {		display: block;	}}@media screen and (max-width: 370px) {	.max450 {		display: none;	}}/* ------------------------------	hero------------------------------ */.hero {	background-image: linear-gradient(130deg, rgba(57, 117, 177, 1), rgba(222, 236, 250, 1) 44%, rgba(165, 195, 226, 1));	width: 100%;	height: clamp(43.75rem, 41.563rem + 7vw, 48.125rem);	position: relative;}.hero__title {	width: fit-content;	font-size: clamp(2.25rem, 1.875rem + 1.2vw, 3rem);	position: absolute;	top: 25%;	left: max(13vw, 80px);	z-index: 1;}.hero__lead {	max-width: 799px;	width: fit-content;	font-weight: 600;	font-size: clamp(1.375rem, 1.063rem + 1vw, 2rem);	position: absolute;	top: 47%;	left: max(13vw, 80px);	z-index: 1;}.hero__sub {	max-width: 859px;	width: fit-content;	font-size: clamp(0.875rem, 0.688rem + 0.6vw, 1.25rem);	position: absolute;	top: 68%;	left: max(13vw, 80px);	z-index: 1;}.hero__cta {	max-width: 465px;	width: 93%;	padding: 0.5em 0;	border-radius: 50px;	background-color: #1B5ACE;	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);	color: #fff;	text-decoration: none;	text-align: center;	font-size: clamp(1.25rem, 1rem + 0.8vw, 1.75rem);	position: absolute;	top: 80%;	left: max(13vw, 80px);	z-index: 1;}.hero__img {	max-width: 345px;	width: 80%;	min-width: 301px;	position: absolute;	top: 50%;	right: max(13vw, 80px);	transform: translateY(-50%);	z-index: 0;}@media screen and (max-width: 1500px) {	.hero__img {		opacity: 0.5;	}}@media screen and (max-width: 900px) {	.hero__title, .hero__lead, .hero__sub, .hero__cta {		left: 50%;		transform: translateX(-50%);		white-space: nowrap;	}	.hero__img {		right: unset;		left: 50%;		transform: translate(-50%, -50%);		opacity: 0.3;	}}@media screen and (max-width: 650px) {	.hero__title, .hero__lead, .hero__sub, .hero__cta {		width: 80%;		white-space: wrap;	}	.hero__title, .hero__sub {		width: 93%;		text-align: center;	}	.hero__title {		top: 20%;		line-height: 1.25;	}	.hero__lead {		top: 55%;		line-height: 1.5;	}	.hero__sub {		top: 79%;	}	.hero__cta {		top: 86%;		padding: 1em 0;	}}@media screen and (max-width: 520px) {	.hero__title {		top: 16%;	}	.hero__lead {		width: 90%;		top: 47%;		line-height: 1.5;	}}/* ------------------------------	strengths------------------------------ */.strengths {	padding: min(17vw, 100px) 0;}.strengths__list {	max-width: 1200px;	width: 93%;	margin: 0 auto;}.strength-card {	max-width: 322px;	display: grid;	grid-template-columns: 100%;	grid-template-rows: 90px auto 1fr;	grid-row-gap: 1em;	place-items: center;}.strength-card__icon {	grid-row: 1 / 2;	max-width: 90px;}.strength-card__title {	grid-row: 2 / 3;	font-size: 20px;}.strength-card__text {	grid-row: 3 / 4;	place-self: flex-start;	font-size: 16px;	max-width: 300px;	line-height: 1.75;	font-weight: 500;}@media screen and (max-width: 768px) {	.strength-card {		max-width: 500px;	}	.strength-card__text {		max-width: 500px;	}}/* ------------------------------plans------------------------------ */.pricing {	padding: min(17vw, 100px) 0;	background-color: #DEECFA;}.pricing__title {	background-color: #1B5ACE;	border-radius: 10px;	padding: 0.5em;	color: #fff;}.pricing__list {	max-width: 1200px;	width: 93%;	margin: 0 auto;}.price-card {	max-width: 360px;	width: 100%;	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);	border-radius: 20px;	background-color: #fff;	padding: 0 0 min(7vw, 35px);}.price-card__title {	width: 90%;	margin: 0 auto;	padding: min(7vw, 35px) 0 min(5vw, 25px);	font-size: clamp(1.375rem, 1.125rem + 0.8vw, 1.875rem);	text-align: center;}.price-card__price {	max-width: 300px;	width: 92%;	margin: 0 auto;	border-top: 1px solid #9DA2A7;	border-bottom: 1px solid #9DA2A7;	padding: 15px 0;	text-align: center;	font-size: clamp(1.25rem, 0.625rem + 2vw, 2.5rem);	font-weight: 600;}.price-card__20 {	font-size: clamp(0.938rem, 0.844rem + 0.3vw, 1.125rem);}.price-card__features {	max-width: 270px;	width: fit-content;	min-height: 160px;	margin: 0 auto;	padding: min(5vw, 25px) 0;	list-style: none;	padding-left: 1em;  text-indent: -1em;	font-weight: 500;}.price-card__feature {	width: 100%;	font-size: clamp(0.938rem, 0.844rem + 0.3vw, 1.125rem);	line-height: 1.25;	padding: 10px 0;}.price-card__note {	max-width: 450px;	width: 93%;	margin: 0 auto;	font-size: clamp(0.813rem, 0.75rem + 0.2vw, 0.938rem);	text-align: center;}.is-featured {	border: 4px solid #1B5ACE;	padding-top: min(10vw, 60px);	position: relative;}.is-featured .price-card__features {	width: fit-content;}.is-featured .price-card__note {	padding-bottom: 1em;}.price-card__badge {	display: block;	width: 100%;	padding: 15px 0;	border-radius: 20px 15px 0 0;	background-color: #1B5ACE;	border: 4px solid #1B5ACE;	box-sizing: content-box;	color: #fff;	text-align: center;	font-size: clamp(1.25rem, 1.063rem + 0.6vw, 1.625rem);	position: absolute;	top: -5px;	left: -4px;}.pricing__note {	max-width: 1200px;	width: 93%;	margin: min(5vw, 25px) auto 0;	text-align: center;}@media screen and (max-width: 768px) {	.price-card {		max-width: 450px;	}	.price-card__features {		width: 80%;		min-height: inherit;	}}@media screen and (max-width: 430px) {	.price-card {		padding: 0 3.5% min(7vw, 35px)	}	.is-featured {		padding-top: min(9vw, 50px);	}	.price-card__features {		width: fit-content;	}	.price-card__feature {		width: fit-content;	}}/* ------------------------------problem------------------------------ */.problem {	padding: min(17vw, 100px) 0;	background-image: linear-gradient(180deg, rgba(92, 129, 197, 1), rgba(32, 80, 127, 1));}.problem__title {	color: #fff;}.problem__list {	max-width: 1200px;	width: 93%;	margin: 0 auto;}.problem-card {	max-width: 340px;	height: 350px;	background-color: #fff;	padding: 30px 20px 0;	box-shadow: 4px 4px 4px 0 rgba(142, 191, 242, 0.5);	border-radius: 10px;	display: grid;	grid-template-columns: 100%;	grid-template-rows: 90px auto 1fr;	grid-row-gap: 1em;	place-items: center;}.problem-card__icon {	grid-row: 1 / 2;	max-width: 90px;	max-height: 90px;}.problem-card__title {	grid-row: 2 / 3;	font-size: 20px;}.problem-card__text {	grid-row: 3 / 4;	place-self: flex-start;	font-size: clamp(1rem, 0.875rem + 0.4vw, 1.25rem);	max-width: 300px;	font-weight: 500;	line-height: 1.75;}@media screen and (max-width: 768px) {	.problem-card {		max-width: 500px;		height: auto;		padding: 30px;	}	.problem-card__text {		max-width: 500px;	}}@media screen and (max-width: 520px) {	.problem__title {		text-align: left;		letter-spacing: 0.05em;	}}@media screen and (max-width: 425px) {	.problem__title {		max-width: 345px;	}}/* ------------------------------faq------------------------------ */.faq {	padding: min(17vw, 100px) 0;}.faq__item {	max-width: 750px;	width: 93%;	margin: 0 auto 20px;}.faq__question {	background-color: #D8E8F8;	border-radius: 10px;	padding: 10px;	display: flex;	align-items: center;	column-gap: 10px;	font-size: clamp(1rem, 0.875rem + 0.4vw, 1.25rem);	color: #405D8B;	font-weight: 500;}.faq__answer {	padding: 5px;}.faq__answer p {	display: flex;	column-gap: 10px;	align-items: baseline;	font-size: clamp(1rem, 0.875rem + 0.4vw, 1.25rem);}.faq__question::before, .faq__answer p::before {	color: #405D8B;	font-size: clamp(1.438rem, 1.281rem + 0.5vw, 1.75rem);	font-weight: 700;	font-family: "Zen Maru Gothic", sans-serif;}.faq__question::before {	content: "Q";}.faq__answer p::before {	content: "A";}.faq__imgs {	display: flex;	margin-top: 10px;}.faq__imgs__img1 {	max-width: 408px;	width: 55%;}.faq__imgs__img2 {	max-width: 340px;	width: 45%;}/* ------------------------------cta------------------------------ */.cta {	padding: min(15vw, 100px) 0;	background-color: #3D67B5;	color: #fff;}.cta__title {	width: 93%;	margin: 0 auto 45px;	font-size: clamp(1.375rem, 0.813rem + 1.8vw, 2.5rem);	text-align: center;}.cta__text {	margin-bottom: 25px;	font-size: clamp(0.813rem, 0.719rem + 0.3vw, 1rem);	text-align: center;	font-weight: 500;}.cta__button {	text-decoration: none;	display: block;	max-width: 437px;	width: 93%;	margin: 0 auto;	padding: 0.75em 0;	background-color: #FF8B00;	border-radius: 10px;	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);	color: #fff;	text-align: center;	font-size: clamp(1.125rem, 1.063rem + 0.2vw, 1.25rem);	font-weight: 600;}/* ------------------------------footer------------------------------ */@media screen and (max-width: 768px) {	footer {		margin-top: min(15vw, 100px);	}}