@charset "utf-8";
body {
		color: #433f3f;
		font-size: 1.5rem;
		font-family: 'Zen Kaku Gothic New', sans-serif, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		line-height: 1.9;
		-webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 500px) {}
.remodal-overlay.remodal-is-opened {
		z-index: 10000;
}
/*======================================================
header
======================================================*/
.logo {
		width: 38%;
		margin: auto;
		display: block;
		padding: 2% 0;
}
/*======================================================
MV下
======================================================*/
.main {
		background-image: url(../img/2411/bg_top.webp);
		background-size: cover;
}
.main__text {
		text-align: center;
		color: #594b4c;
		margin-top: 60px;
		font-size: 20px;
		letter-spacing: 0.3rem;
		line-height: 2.5;
		font-weight: 600;
}
.main__text .small {
		font-size: 16px;
		vertical-align: text-bottom;
		font-weight: bold;
}
@media screen and (max-width: 500px) {
		.main__text {
				font-size: 4vw;
				margin-top: 7%;
		}
		.main__text .small {
				font-size: 2vw;
				vertical-align: 3px;
		}
}
.main__text__bottom {
		text-align: center;
		color: #5a4c4d;
		display: block;
		margin: 20px 0 40px 0;
}
@media screen and (max-width: 500px) {
		.main__text__bottom {
				margin: 3% 0 8% 0;
		}
}
.main__text .label {
		color: #cd7171;
		background: #fff;
		padding: 3px 16px;
		border-radius: 4px;
}
@media screen and (max-width: 500px) {
		.main__text .label {
				padding: 0.5vw 2vw;
		}
}
/*======================================================
price
======================================================*/
.price {
		background-image: url(../img/2411/bg_price.webp);
		background-size: cover;
}
/*======================================================
lesson
======================================================*/
.lesson {
		background-image: url(../img/2411/bg_lesson.webp);
		background-size: cover;
}
.lesson__slider {
		position: relative;
		margin-bottom: 0 !important;
		padding-bottom: 60px;
}
.lesson__slider__item {
		padding: 0 60px;
}
.lesson__slider__arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		width: 50px;
		height: 50px;
}
.lesson__slider__arrow.left {
		left: 30px;
}
.lesson__slider__arrow.right {
		right: 30px;
}
.slick-dots {
		bottom: 25px;
}
.slick-dots li button:before {
		font-size: 14px;
}
.slick-dots li.slick-active button:before {
		color: #d89192;
}
@media screen and (max-width: 500px) {
		.lesson__slider__item {
				padding: 0 8vw;
		}
		.lesson__slider__arrow {
				width: 8vw;
				top: 45%;
		}
		.lesson__slider__arrow.left {
				left: 4%;
		}
		.lesson__slider__arrow.right {
				right: 4%;
		}
		.slick-dots li button:before {
				font-size: 12px;
		}
}
/*======================================================
point1
======================================================*/
.point1 {
		background-image: url(../img/2411/bg_point1.webp);
		background-size: cover;
		background-position: top center;
		padding-bottom: 100px;
}
@media screen and (max-width: 500px) {
		.point1 {
				padding-bottom: 15vw;
		}
}
/*======================================================
point2
======================================================*/
.point2 {
		background-image: url(../img/2411/bg_point2.webp);
		background-size: cover;
		background-position: top center;
		padding-bottom: 5.5rem;
}
.point2__modal__wrapper {
		display: block;
		width: 90%;
		margin: 0 auto 4rem auto;
}
.point2__modal__wrapper img {
		display: block;
		width: 100%;
}
/*=============== モーダル ===============*/
.hide-area {
		display: none;
}
.modaal-content-container img {
				width: 100%;
	max-width: 1500px;
		}
.modaal-close:after, .modaal-close:before {
		background: #ccc;
}
@media screen and (max-width: 500px) {
		.modaal-content-container {
				padding: 0px;
		}
		.modaal-inner-wrapper {
				padding: 15px !important;
		}
		.modaal-close {
				background: #fff !important;
				-webkit-appearance: none;
				box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
		}
}
/*======================================================
point3
======================================================*/
.point3 {
		background-image: url(../img/2411/bg_point3.webp);
		background-size: cover;
		background-position: top center;
		padding-bottom: 100px;
}
.point3__cta__wrapper {
		margin-top: 40px;
}
@media screen and (max-width: 500px) {
		.point3 {
				padding-bottom: 15vw;
		}
		.point3__cta__wrapper {
				margin-top: 2vw;
		}
}
/*======================================================
voice
======================================================*/
.voice {
		position: relative;
}
.voice__cta {
		position: absolute;
		bottom: 100px;
}
@media screen and (max-width: 500px) {
		.voice__cta {
				bottom: 15vw;
		}
}
/*======================================================
footer
======================================================*/
footer {
		background: #5a4c4b;
		color: #fff;
		text-align: center;
		padding: 30px 0;
		font-size: 16px;
		letter-spacing: 0.1rem;
}
@media screen and (max-width: 500px) {
		footer {
				padding: 6vw 0;
				font-size: 2.5vw;
		}
}
/*======================================================
追従ボタン
======================================================*/
.cta_follow {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		display: none;
}
.cta_follow_box {
		max-width: 640px;
		margin: 0 auto;
}
.cta_follow .btn_text {
		width: 203px;
		height: auto;
		margin: 14px auto 12px;
}
.cta_follow .btn {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0 auto 20px;
		border-radius: 35px;
		background: #eb554b;
		max-width: 520px;
		width: calc(100% - 48px);
		height: 70px;
		-webkit-filter: drop-shadow(0 5px 0 #ffcdca);
		-moz-filter: drop-shadow(0 5px 0 #ffcdca);
		filter: drop-shadow(0 5px 0 #ffcdca);
		transition: 0.2s;
		color: #FFF;
		text-decoration: none;
}
.cta_follow .btn::after {
		position: absolute;
		top: 46%;
		right: 20px;
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		border-top: solid 1px #FFF;
		border-right: solid 1px #FFF;
		transform: rotate(45deg) translateY(-50%);
}
.cta_follow .btn p {
		text-align: center;
}
.cta_follow .btn .date {
		font-size: 1.2rem;
}
.cta_follow .btn .date .inner {
		position: relative;
		padding: 0 1em;
		font-feature-settings: "palt";
}
.cta_follow .btn .date .inner span:first-of-type, .cta_follow .btn .date .inner span:nth-of-type(2) {
		font-size: 1.7rem;
}
.cta_follow .btn .date .inner span:nth-of-type(3) {
		font-size: 1.1rem;
}
.cta_follow .btn .date .inner span:nth-of-type(4) {
		font-size: 1.0rem;
}
.cta_follow .btn .date span::before, .cta_follow .btn .date span::after {
		position: absolute;
		top: .1em;
		content: "";
		display: block;
		width: 1px;
		height: 15px;
		background: #fff;
}
.cta_follow .btn .date span::before {
		left: 0;
		transform: rotate(-22deg);
}
.cta_follow .btn .date span::after {
		right: 0;
		transform: rotate(22deg);
}
.cta_follow .btn p .btn_01 {
		position: relative;
		margin-bottom: 5px;
		font-size: 1.2rem;
}
.cta_follow .btn p .btn_01::before, .cta_follow .btn p .btn_01::after {
		position: absolute;
		content: "";
		display: block;
		top: 4px;
		width: 1px;
		height: 12px;
		background: #FFF;
}
.cta_follow .btn p .btn_01::before {
		left: -10px;
		transform: rotate(-24deg);
}
.cta_follow .btn p .btn_01::after {
		right: -10px;
		transform: rotate(24deg);
}
.cta_follow .btn p .btn_02 {
		line-height: 1;
		font-size: 2.8rem;
		font-weight: 500;
}
.cta_follow .btn p .btn_02 span {
		font-size: 2.4rem;
}
@media screen and (min-width: 500px) {
		.cta_follow .btn_text {
				width: 406px;
				margin: 22px auto 16px;
		}
		.cta_follow .btn_img {
				margin: 0 140px 20px;
		}
		.cta_follow .btn {
				position: relative;
				height: 100px;
				border-radius: 50px;
				-webkit-filter: drop-shadow(0 10px 0 #ffcdca);
				-moz-filter: drop-shadow(0 10px 0 #ffcdca);
				filter: drop-shadow(0 10px 0 #ffcdca);
		}
		.cta_follow .btn::after {
				position: absolute;
				top: 46%;
				right: 40px;
				width: 20px;
				height: 20px;
				border-top: solid 2px #FFF;
				border-right: solid 2px #FFF;
		}
		.cta_follow .btn .date {
				font-size: 2.0rem;
		}
		.cta_follow .btn .date .inner span:first-of-type, .cta_follow .btn .date .inner span:nth-of-type(2) {
				font-size: 2.9rem;
		}
		.cta_follow .btn .date .inner span:nth-of-type(3) {
				font-size: 1.9rem;
		}
		.cta_follow .btn .date .inner span:nth-of-type(4) {
				font-size: 1.7rem;
		}
		.cta_follow .btn .date span::before, .cta_follow .btn .date span::after {
				width: 2px;
				height: 26px;
		}
		.cta_follow .btn p .btn_01 {
				margin-bottom: 5px;
				font-size: 2rem;
		}
		.cta_follow .btn p .btn_01::before, .cta_follow .btn p .btn_01::after {
				top: 6px;
				width: 2px;
				height: 20px;
		}
		.cta_follow .btn p .btn_01::before {
				left: -15px;
		}
		.cta_follow .btn p .btn_01::after {
				right: -15px;
		}
		.cta_follow .btn p .btn_02 {
				font-size: 4rem;
		}
		.cta_follow .btn p .btn_02 span {
				font-size: 3.6rem;
		}
		.cta_follow .btn:hover {
				background: #f2645a;
		}
}
/*240415*/
/*======================================================
追従ボタン
======================================================*/
.cta_follow_CDT {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		display: none;
		background: rgba(248, 248, 248, .95);
		max-width: 500px;
		z-index: 10000;
}
.cta_follow_CDT_box {
		max-width: 500px;
		margin: 0 auto;
		padding-bottom: 10px;
}
.cta_follow_CDT .btn_text {
		width: 203px;
		height: auto;
		margin: 14px auto 12px;
}
.cta_follow_CDT .btn {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0 auto 20px;
		border-radius: 16vw;
		background: #eb554b;
		max-width: 520px;
		width: calc(100% - 48px);
		height: 16vw;
		-webkit-filter: drop-shadow(0 5px 0 #ffcdca);
		-moz-filter: drop-shadow(0 5px 0 #ffcdca);
		filter: drop-shadow(0 5px 0 #ffcdca);
		transition: 0.2s;
		color: #FFF;
		text-decoration: none;
}
.cta_follow_CDT .btn::after {
		display: none;
}
.cta_follow_CDT .btn p {
		text-align: center;
}
.cta_follow_CDT .btn .date {
		font-size: 1.2rem;
}
.cta_follow_CDT .btn .date .inner {
		position: relative;
		padding: 0 1em;
		font-feature-settings: "palt";
}
.cta_follow_CDT .btn .date .inner span:first-of-type, .cta_follow_CDT .btn .date .inner span:nth-of-type(2) {
		font-size: 1.7rem;
}
.cta_follow_CDT .btn .date .inner span:nth-of-type(3) {
		font-size: 1.1rem;
}
.cta_follow_CDT .btn .date .inner span:nth-of-type(4) {
		font-size: 1.0rem;
}
.cta_follow_CDT .btn .date span::before, .cta_follow_CDT .btn .date span::after {
		position: absolute;
		top: .1em;
		content: "";
		display: block;
		width: 1px;
		height: 15px;
		background: #fff;
}
.cta_follow_CDT .btn .date span::before {
		left: 0;
		transform: rotate(-22deg);
}
.cta_follow_CDT .btn .date span::after {
		right: 0;
		transform: rotate(22deg);
}
.cta_follow_CDT .btn p .btn_01 {
		position: relative;
		margin-bottom: 5px;
		font-size: 1.2rem;
}
.cd_tx {
		color: #eb554b;
		margin-bottom: 14px;
		position: absolute;
		z-index: 200;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 100%;
		top: -3px;
		letter-spacing: 0;
}
.cd_tx .timer_tx {
		font-weight: bold;
		display: inline-block;
}
.cd_tx span {
		font-size: 5vw;
}
.cd_tx {
		margin: 0;
}
@media screen and (min-width: 500px) {
		.cta_follow_CDT {
				left: 50%;
				transform: translateX(-50%);
		}
		.cta_follow_CDT .btn_text {
				width: 406px;
				margin: 22px auto 16px;
		}
		.cta_follow_CDT .btn_img {
				margin: 0 140px 20px;
		}
		.cta_follow_CDT .btn {
				position: relative;
				height: 100px;
				border-radius: 80px;
				-webkit-filter: drop-shadow(0 10px 0 #ffcdca);
				-moz-filter: drop-shadow(0 10px 0 #ffcdca);
				filter: drop-shadow(0 10px 0 #ffcdca);
		}
		.cta_follow_CDT .btn::after {
				display: none;
		}
		.cta_follow_CDT .btn .date {
				font-size: 2.0rem;
		}
		.cta_follow_CDT .btn .date .inner span:first-of-type, .cta_follow_CDT .btn .date .inner span:nth-of-type(2) {
				font-size: 2.9rem;
		}
		.cta_follow_CDT .btn .date .inner span:nth-of-type(3) {
				font-size: 1.9rem;
		}
		.cta_follow_CDT .btn .date .inner span:nth-of-type(4) {
				font-size: 1.7rem;
		}
		.cta_follow_CDT .btn .date span::before, .cta_follow_CDT .btn .date span::after {
				width: 2px;
				height: 26px;
		}
		.cta_follow_CDT .btn p .btn_01 {
				margin-bottom: 5px;
				font-size: 2rem;
		}
		.cta_follow_CDT .btn:hover {
				background: #f2645a;
		}
		.cd_tx {
				font-size: 1.8rem;
				top: -2px;
		}
		.cd_tx span {
				font-size: 2.5rem;
				font-weight: bold;
		}
}
/*2407*/
/*CTAアニメーション追加*/
.shine_inner {
		position: relative;
		overflow: hidden;
		display: block;
}
.shine_mask {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-webkit-mask-image: url(../img/2411/btn.webp);
		mask-image: url(../img/2411/btn.webp);
		-webkit-mask-size: 100% auto;
		mask-size: 100% auto;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: left top;
		mask-position: left top;
		display: block;
}
.shine {
		content: "";
		-webkit-animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
		animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
		background-color: #fff;
		width: 140%;
		height: 100%;
		-webkit-transform: skewX(-45deg);
		transform: skewX(-45deg);
		top: 0;
		left: -160%;
		opacity: 0.5;
		position: absolute;
		z-index: 1;
		display: block;
}
/*ボタンホバー時明るくする*/
a.cta_btn::before {
		-webkit-mask-image: url(../img/2411/btn.webp);
		mask-image: url(../img/2411/btn.webp);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		mask-size: 100%;
		display: none;
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #FFF;
		opacity: 0.2;
		z-index: 2;
}
a.cta_btn:hover::before {
		display: inline-block;
}
/*調整*/
.cta {
		text-align: center;
}
.cta_follow {
		text-align: center;
		padding: 0.3rem 0;
}
.cta_btn {
		width: 90%;
		display: block;
		position: relative;
		margin: auto;
}
@media screen and (min-width: 500px) {
		a.cta_btn::before {
				mask-size: 100%;
		}
		.cta_follow {
				padding: 5px 0;
		}
}