@charset "utf-8";
/* CSS Document */

/* フォントサイズ早見表 [ 1rem = 16px の場合 ] */
/* font-size:0.63rem; => 10px */
/* font-size:0.69rem; => 11px */
/* font-size:0.75rem; => 12px */
/* font-size:0.81rem; => 13px */
/* font-size:0.88rem; => 14px */
/* font-size:0.94rem; => 15px */
/* font-size:1.00rem; => 16px */ /*★*/
/* font-size:1.06rem; => 17px */
/* font-size:1.13rem; => 18px */
/* font-size:1.19rem; => 19px */
/* font-size:1.25rem; => 20px */
/* font-size:1.31rem; => 21px */
/* font-size:1.38rem; => 22px */
/* font-size:1.44rem; => 23px */
/* font-size:1.50rem; => 24px */
/* font-size:1.56rem; => 25px */
/* font-size:1.63rem; => 26px */
/* font-size:1.69rem; => 27px */
/* font-size:1.75rem; => 28px */
/* font-size:1.81rem; => 29px */
/* font-size:1.88rem; => 30px */
/* font-size:1.94rem; => 31px */
/* font-size:2.00rem; => 32px */
/* font-size:2.06rem; => 33px */
/* font-size:2.13rem; => 34px */
/* font-size:2.19rem; => 35px */
/* font-size:2.25rem; => 36px */
/* font-size:2.31rem; => 37px */
/* font-size:2.38rem; => 38px */
/* font-size:2.44rem; => 39px */
/* font-size:2.50rem; => 40px */

/*reset.css の後に読み込む 調整用のCSS*/
img {
	height: auto;
	max-width: 100%;
}
html {
 	line-height: 1.6;
	font-size: 100%;
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", Meiryo, "MS P Gothic", "MS Pゴシック", Osaka, Arial, Helvetica, sans-serif;
}
body {
	background-color: #FAFAF7;
}
header,
main,
footer {
  container-type: inline-size;
	margin-inline: auto;
	max-width: 780px;
}
.inner {
	padding-inline: min(40px, 5.1282cqw);
}

/* ====================
	パーツ
==================== */
a:link {
	display: inline-block;
	transition: transform .3s ease-out;
}
a:hover {
	transform: translateY(-0.641cqw);
}

/* ====================
	header
==================== */
.header_logo {
	align-items: center;
	background-color: #fff;
	display: flex;
	height: 20.513cqw;
	justify-content: center;
}
.header_logo img {
	width: 43.333cqw;
}

/* ====================
	CTA
==================== */
.cta {
	margin-block: 12.821cqw 11.795cqw;
}
.cta_trial {
	text-align: center;
}
.cta_trial img {
	width: 74.359cqw;
}
.cta_tel {
	margin-top: 2.308cqw;
	text-align: center;
}
.cta_tel img {
	width: 66.923cqw;
}

/* ====================
	英語力を伸ばせる理由
==================== */
.sec_grow {
	padding: 0 min(40px, 5.1282cqw) 8.974cqw;
}
.sec_grow .inner {
	background-color: #fff;
	padding: 7.692cqw 0 6.923cqw;
}
.sec_heading_grow {
	text-align: center;
}
.sec_heading_grow img {
	width: 54.359cqw;
}
.heading_grow {
	margin-top: 12.821cqw;
	padding-inline: 1.282cqw;
}
.sec_grow3 .heading_grow {
	margin-top: 5.897cqw;
}
.heading_sub_grow {
	background-image: url(../img/bg_heading_sub_grow.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: #004DA0;
	font-size: min(2.19rem, 4.487cqw);
	font-weight: bold;
	margin: 10.256cqw auto 5.128cqw;
	max-width: 82.051cqw;
	padding-bottom: 7.436cqw;
	text-align: center;
}
.heading_sub_grow span {
	background-color: #FFF000;
	padding: .2em .8em;
}
.lead_grow {
	color: #004DA0;
	font-size: min(2rem, 4.103cqw);
	font-weight: bold;
	letter-spacing: .135em;
	padding-inline: 7.5cqw;
}
.sec_grow1 .lead_grow {
	margin-top: 5.128cqw;
}
.sec_grow2 .lead_grow {
	margin-top: 7.051cqw;
}
.sec_grow3 .lead_grow {
	margin-top: 9.744cqw;
}
.img_grow {
	display: block;
	margin-inline: 2.051cqw;
}
.sec_grow3 .img_grow {
	margin: 5.128cqw -1.026cqw 0;
}
.lead_process {
	color: #004DA0;
	font-size: min(2rem, 4.103cqw);
	font-weight: bold;
	letter-spacing: .135em;
	margin-bottom: 11.282cqw;
	padding-inline: 7.692cqw;
	text-align: center;
}
.dst_process {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 2.564cqw;
}
.process_item {
	border-radius: 2.146cqw;
	padding: 0 2.179cqw 9.487cqw;
	position: relative;
}
.process_ttl {
	align-items: flex-end;
	display: flex;
	height: 17.308cqw;
	justify-content: center;
	padding-bottom: 3.846cqw;
}
.process_cnt {
	background-color: #fff;
}
.process_flow {
	align-items: stretch;
	display: flex;
	flex-flow: column nowrap;
	justify-content: stretch;
	min-height: 66.667cqw;
	padding-block: 3.205cqw 14.231cqw;
}
.process_flow_item {
	align-items: center;
	display: flex;
	flex-grow: 1;
	font-size: min(1.5rem, 3.077cqw);
	font-weight: 600;
	justify-content: center;
	line-height: 1.3;
	position: relative;
	text-align: center;
}
.process_flow_item:not(:first-child) {
	margin-bottom: 1.282cqw;
	padding-top: 1.282cqw;
}
.process_flow_item:not(:first-child)::after {
	border-color: #000 transparent;
	border-style: solid;
	border-width: 1.538cqw 2.821cqw 0;
	content: "";
	height: 0;
	inset: 0;
	margin-inline: auto;
	position: absolute;
	top: 0;
	transform: translateY(-50%);
	width: 0;
}
.process_flow_item:first-child {
	align-items: flex-start;
}
.process_flow_item:last-child {
	align-items: flex-end;
	flex-grow: 0;
	font-size: min(1.75rem, 3.59cqw);
	font-weight: 800;
	margin-bottom: 0;
	padding-top: 2.564cqw;
}
.process_img {
	bottom: -3.846cqw;
	display: block;
	position: absolute;
}
.process_img img {
	width: 78.462cqw;
}
.type_winbe {
	background-color: #00B2D6;
}
.type_winbe .process_ttl img {
	width: 26.204cqw;
}
.type_winbe .process_flow_item:last-child {
	color: #00B2D6;
}
.type_other {
	background-color: #007087;
}
.type_other .process_ttl img {
	width: 21.859cqw;
}
.type_other .process_flow_item:last-child {
	color: #007087;
}
.sec_grow2 {
	margin-top: 12.821cqw;
}
.sec_grow3 {
	margin-top: 5.897cqw;
}

/* ====================
	安心して通える理由
==================== */
.sec_relief {
	background-color: #FFFFE8;
	padding-block: 12.564cqw 15.128cqw;
}
.sec_heading_relief {
	text-align: center;
}
.sec_heading_relief img {
	width: 54.231cqw;
}
.heading_relief {
	text-align: center;
	transform: translateX(0.256cqw);
}
.heading_relief img {
	width: 74.359cqw;
}
.heading_sub_relief {
	background-image: url(../img/bg_heading_sub_relief.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: #00B2D6;
	font-size: min(2.38rem, 4.872cqw);
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .135em;
	margin: 6.41cqw auto 0;
	padding-bottom: 4.487cqw;
	text-align: center;
	width: 68.59cqw;
}
.sec_relief1 .heading_relief {
	margin-top: 15cqw;
}
.sec_relief2 .heading_relief {
	margin-top: 20.513cqw;
}
.sec_relief3 .heading_relief {
	margin-top: 18.333cqw;
}

.img_relief {
	display: block;
	margin-top: 10.769cqw;
	text-align: center;
	transform: translateX(3.013cqw);
}
.img_relief img {
	width: 69.231cqw;
}
.lead_relief {
	color: #541B85;
	font-size: min(2rem, 4.103cqw);
	font-weight: 600;
	letter-spacing: .135em;
	margin-top: 4.615cqw;
	padding-inline: 7.5cqw;
}
.contest_ttl {
	background-color: #541B85;
	clip-path: polygon(0 0, 100% 0, calc(100% - 3.846cqw) 50%, 100% 100%, 0 100%, 3.846cqw 50%);
	color: #fff;
	font-size: min(2.25rem, 4.615cqw);
	font-weight: bold;
	letter-spacing: .135em;
	margin-top: 7.436cqw;
	padding: 0.641cqw 7.692cqw;
	text-align: center;
}
.contest_cnt {
	margin-top: 3.077cqw;
	padding-inline: 2.051cqw;
}
.contest_cnt iframe {
	aspect-ratio: 16/9;
	height: auto;
	width: 100%;
}

/* ====================
	保護者さまの声
==================== */
.sec_voice {
	background-color: #00B2D6;
	padding-block: 12.821cqw 12.564cqw;
}
.sec_heading_voice {
	text-align: center;
}
.sec_heading_voice .sec_heading_text {
	align-items: center;
	background-color: #fff;
	border-radius: 0.513cqw;
	color: #00B2D6;
	display: inline-flex;
	font-size: min(2.25rem, 4.615cqw);
	font-weight: bold;
	justify-content: center;
	letter-spacing: .1em;
	line-height: 2.4;
	min-width: 53.205cqw;
	position: relative;
}
.sec_heading_voice .sec_heading_text::before {
	border: 1px solid #00B2D6;
	border-radius: 0.282cqw;
	content: "";
	inset: 0;
	margin: auto;
	height: calc(100% - 2.051cqw);
	position: absolute;
	width: calc(100% - 2.051cqw);

}
.voice_slider {
	margin-top: 8.974cqw;
}
.voice_slider .swiper-slide {
	height: auto;
}
.voice_slider_prev,
.voice_slider_next {
	background-image: url(../img/btn_voice_next.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
	height: 7.692cqw;
	position: absolute;
	top: 30%;
	width: 7.692cqw;
	z-index: 2;
}
.voice_slider_prev {
	left: 0;
	transform: scale(-1,1);
}
.voice_slider_next {
	right: 0;
}
.swiper-button-disabled {
	cursor: default;
	opacity: .4;
}
.dst_voice {
	background-color: #fff;
	border-radius: 4.103cqw;
	display: grid;
	gap: 6.923cqw 6.41cqw;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto 1fr;
	height: 100%;
	margin-inline: 3.846cqw;
	padding: 5.128cqw 3.846cqw 12.179cqw;
}
.voice_ttl {
	align-content: center;
	color: #541B85;
	font-size: min(2.25rem, 4.615cqw);
	font-weight: 800;
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	line-height: 1.4;
	padding-left: 1.026cqw;
}
.voice_fig {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	margin-right: 2.051cqw;
	width: 17.949cqw;
}
.voice_cnt {
	color: #541B85;
	font-size: min(2rem, 4.103cqw);
	font-weight: 500;
	line-height: 1.7;
	grid-column: 1 / 3;
	grid-row: 2 / 3;
}
.voice_sig {
	font-size: min(1.75rem, 3.59cqw);
	font-weight: 500;
	grid-column: 1 / 3;
	grid-row: 3 / 4;
}

/* ====================
	ぜひ無料体験で実感してみてください。
==================== */
.sec_trial {
	background-color: #FFFFED;
	padding-block: 12.564cqw 0.512cqw;
}
.sec_heading_trial {
	margin-bottom: 12.821cqw;
	text-align: center;
}
.sec_heading_trial img {
	width: 68.718cqw;
}
.lead_trial {
	color: #541B85;
	font-size: min(2rem, 4.103cqw);
	font-weight: 500;
	margin: .5lh auto 0;
	width: 73.974cqw;
}

/* ====================
	成長に合わせて選べる3つのコース
==================== */
.sec_course {
	padding-top: 12.821cqw;
}
.sec_heading_course {
	background-color: #006EB5;
	color: #fff;
	font-size: min(2.5rem, 5.128cqw);
	font-weight: bold;
	letter-spacing: .135em;
	line-height: 1.5;
	padding: 1.538cqw 0;
	text-align: center;
}
.sec_course .inner {
	background-image: url(../img/bg_course.webp);
	background-position: left -22.308cqw top 8.077cqw;
	background-repeat: no-repeat;
	background-size: 69.231cqw auto;
}
.lst_course {
	padding-block: 25.641cqw;
}
.course_item {
	margin: 5.128cqw 0 0 auto;
	width: 50%;
}

/* ====================
	footer
==================== */
.footer_copyright {
	align-items: center;
	background-color: #541B85;
	color: #fff;
	font-size: min(1.75rem, 3.59cqw);
	font-weight: 500;
	display: flex;
	justify-content: center;
	height: 12.821cqw;
}