@charset "utf-8";

/* PC -------------------- */
@media screen and (min-width:768px) {
	#container.fs {
		font-family: YakuHanJP, "Noto Sans", "Noto Sans JP", sans-serif;
		line-height: 1.3;
	}
	img {
		max-width: 100%;
	}
	.inner {
		margin-inline: auto;
		max-width: 980px;
	}
	.pagettl {
		background-image: linear-gradient(to bottom, #efefef, #f2f2f2);
		margin-top: 128px;
		text-align: center;
	}
	.cta {
		background-color: #fff;
	}
	.cta .inner {
		padding-block: 65px 50px;
		position: relative;
	}
	.cta_lead {
		color: #767676;
		font-size: 1.5rem;
		font-weight: bold;
		text-align: center;
	}
	.cta_balloon {
		inset: 0 -5px auto auto;
		height: auto;
		position: absolute;
		transform: translateY(-50%);
		width: 210px;
	}
	.cta_catch {
		color: #EB3232;
		font-size: 1.5rem;
		font-weight: bold;
		margin-top: 27px;
		text-align: center;
	}
	.cta_catch strong {
		font-size: 2rem;
	}
	.cta_btn_wrapper {
		margin-top: 36px;
	}
	.cta_btn {
		align-items: center;
		background-color: #EB3232;
		border-radius: 100px;
		color: #fff;
		display: flex;
		font-size: 1.75rem;
		font-weight: bold;
		justify-content: center;
		margin: 36px auto 0;
		max-width: 600px;
		min-height: 80px;
		position: relative;
	}
	.cta_btn::after {
		background-image: url(/fs/lp/lp006/img/icon_arrow_white_r.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		height: 20px;
		inset: 0;
		margin: auto 54px auto auto;
		position: absolute;
		width: 20px;
	}
	.cta_btn:link,
	.cta_btn:hover,
	.cta_btn:active,
	.cta_btn:visited {
		color: #fff;
	}
	.program_btn_wrapper {
		margin-top: 130px;
	}
	.program_btn {
		align-items: center;
		background-color: #F778A9;
		border-radius: 100px;
		color: #fff;
		display: flex;
		font-size: 1.75rem;
		font-weight: bold;
		justify-content: center;
		margin: 70px auto 0;
		max-width: 600px;
		min-height: 100px;
		position: relative;
	}
	.program_btn::after {
		background-image: url(/fs/lp/lp006/img/icon_arrow_white_r.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		height: 20px;
		inset: 0;
		margin: auto 54px auto auto;
		position: absolute;
		width: 20px;
	}
	.program_btn:link,
	.program_btn:hover,
	.program_btn:active,
	.program_btn:visited {
		color: #fff;
	}
	.program_btn_catch {
		align-items: center;
		background-color: #fff;
		border: 3px solid #F778A9;
		border-radius: 100px;
		color: #F778A9;
		display: flex;
		font-size: 1.5rem;
		height: fit-content;
		min-height: 70px;
		inset: 0;
		justify-content: center;
		margin: 0 auto auto;
		padding: 0 1em;
		position: absolute;
		transform: translateY(-60%);
		width: fit-content;
	}
	.outline {
		background-color: #FFDEA3;
		background-image: linear-gradient(to bottom, #EB7932, #EC7C35, #FBB26A, #FFDEA3);
		background-repeat: no-repeat;
		background-size: auto 355px;
		padding: 42px 0 120px;
	}
	.outline_ttl {
		margin-inline: auto;
		max-width: 722px;
		text-align: center;
	}
	.course {
		margin-bottom: 110px;
	}
	.course_guide {
		display: grid;
		gap: 40px 38px;
		grid-template-columns: 1fr;
		margin-top: 65px;
		padding: 0 12px;
	}
	.course_info {
		align-items: stretch;
		background-color: #fff;
		border-radius: 20px;
		box-shadow: 0 5px 10px #917360;
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		position: relative;
	}
	.course_age {
		background-color: #FF7926;
		border-radius: 20px 20px 0 0;
		color: #fff;
		font-size: 2rem;
		font-weight: bold;
		padding: 9px 0 8px;
		text-align: center;
	}
	.course_cnt {
		padding: 25px 50px 10px;
	}
	.course_smry_ttl {
		font-size: 1.25rem;
		font-weight: bold;
	}
	.course_smry_cnt {
		font-size: 1rem;
		margin-top: .5em;
	}
	.course_detail {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 20px 25px;
		margin: 20px 135px 0 0;
	}
	.course_detail_ttl {
		color: #FF7926;
		font-size: 1.25rem;
		font-weight: bold;
	}
	.course_detail_cnt {
		font-size: 1.25rem;
	}
	.course_detail_cnt_note {
		font-size: 1rem;
	}
	.course_price {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 5px 0;
	}
	.course_notes {
		margin-top: 20px;
	}
	.course_notes_item {
		align-items: flex-start;
		display: flex;
		font-size: .875rem;
		justify-content: flex-start;
	}
	.course_notes_marker {
		width: 1em;
	}
	.course_fig img {
		margin: auto;
		position: absolute;
	}
	.course_fig.fig01 img {
		height: auto;
		inset: 50% 38px auto auto;
		transform: translateY(-50%);
		width: 146px;
	}
	.course_fig.fig02 img {
		height: auto;
		inset: 50% 38px auto auto;
		transform: translateY(-50%);
		width:123px;
	}
}

/* SP -------------------- */
@media screen and (max-width:767px) {
	#container.fs {
		font-family: YakuHanJP, "Noto Sans", "Noto Sans JP", sans-serif;
		line-height: 1.3;
	}
	img {
		max-width: 100%;
	}
	.inner {
		margin-inline: auto;
		padding-inline: 15px;
	}
	.pagettl {
		background-image: linear-gradient(to bottom, #efefef, #f2f2f2);
		margin-top: 0;
		text-align: center;
	}
	.cta {
		background-color: #fff;
	}
	.cta .inner {
		padding-block: 55px;
		position: relative;
	}
	.cta_lead {
		color: #767676;
		font-size: 0.875rem;
		font-weight: bold;
		text-align: center;
	}
	.cta_balloon {
		inset: 0 -5px auto auto;
		height: auto;
		position: absolute;
		transform: translateY(-40%);
		width: 104px;
	}
	.cta_catch {
		color: #EB3232;
		font-size: 1rem;
		font-weight: bold;
		margin-top: 14px;
		text-align: center;
	}
	.cta_catch strong {
		font-size: 1.25rem;
	}
	.cta_btn_wrapper {
		margin-top: 0;
	}
	.cta_btn {
		align-items: center;
		background-color: #EB3232;
		border-radius: 100px;
		color: #fff;
		display: flex;
		font-size: 1rem;
		font-weight: bold;
		justify-content: center;
		margin: 16px auto 0;
		max-width: 600px;
		min-height: 55px;
		position: relative;
	}
	.cta_btn::after {
		background-image: url(/fs/lp/lp006/img/icon_arrow_white_r.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		height: 16px;
		inset: 0;
		margin: auto 27px auto auto;
		position: absolute;
		width: 16px;
	}
	.cta_btn:link,
	.cta_btn:hover,
	.cta_btn:active,
	.cta_btn:visited {
		color: #fff;
	}
	.program_btn_wrapper {
		margin-top: 80px;
	}
	.program_btn {
		align-items: center;
		background-color: #F778A9;
		border-radius: 100px;
		color: #fff;
		display: flex;
		font-size: .9375rem;
		font-weight: bold;
		justify-content: center;
		margin: 70px auto 0;
		max-width: 600px;
		min-height: 57px;
		position: relative;
	}
	.program_btn::after {
		background-image: url(/fs/lp/lp006/img/icon_arrow_white_r.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		height: 16px;
		inset: 0;
		margin: auto 27px auto auto;
		position: absolute;
		width: 16px;
	}
	.program_btn:link,
	.program_btn:hover,
	.program_btn:active,
	.program_btn:visited {
		color: #fff;
	}
	.program_btn_catch {
		align-items: center;
		background-color: #fff;
		border: 3px solid #F778A9;
		border-radius: 100px;
		color: #F778A9;
		display: flex;
		font-size: .8125rem;
		height: fit-content;
		min-height: 41px;
		inset: 0;
		justify-content: center;
		margin: 0 auto auto;
		padding: 0 1.5em;
		position: absolute;
		transform: translateY(-60%);
		width: fit-content;
	}
	.outline {
		background-color: #FFDEA3;
		background-image: linear-gradient(to bottom, #EB7932, #EC7C35, #FBB26A, #FFDEA3);
		background-repeat: no-repeat;
		background-size: auto 355px;
		margin-inline: -3px;
		padding: 10px 0 67px;
	}
	.outline_ttl {
		margin-inline: auto;
		max-width: 722px;
		text-align: center;
	}
	.course {
		margin-bottom: 60px;
		padding-bottom: 0;
	}
	.course_guide {
		display: grid;
		gap: 30px 0;
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		margin: 40px 0 70px;
		padding: 0 5px;
	}
	.course_info {
		align-items: stretch;
		background-color: #fff;
		border-radius: 20px;
		box-shadow: 0 5px 10px #917360;
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		position: relative;
	}
	.course_age {
		background-color: #FF7926;
		border-radius: 20px 20px 0 0;
		color: #fff;
		font-size: 1.5rem;
		font-weight: bold;
		padding: 9px 0 8px;
		text-align: center;
	}
	.course_cnt {
		padding: 18px 10px 0;
	}
	.course_smry_ttl {
		font-size: 1rem;
		font-weight: bold;
	}
	.course_smry_cnt {
		font-size: .875rem;
		margin-top: .5em;
	}
	.course_detail {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px 0;
		margin-top: 20px;
	}
	.course_detail_ttl {
		color: #FF7926;
		font-size: 1.1.125rem;
		font-weight: bold;
	}
	.course_detail_cnt {
		font-size: 1rem;
		margin-bottom: 20px;
		padding-left: 1em;
	}
	.course_detail_cnt_note {
		font-size: .875rem;
	}
	.course_price {
		display: grid;
		grid-template-columns: 1fr;
		gap: 5px 0;
		margin-left: -1em;
	}
	.course_price_cnt {
		padding-left: 1em;
	}
	.course_notes {
		margin-top: 20px;
	}
	.course_notes_item {
		align-items: flex-start;
		display: flex;
		font-size: .875rem;
		justify-content: flex-start;
	}
	.course_notes_marker {
		width: 1em;
	}
	.course_fig {
		padding-block: 20px 10px;
	}
	.course_fig img {
		display: block;
		margin: auto;
	}
	.course_fig.fig01 img {
		height: auto;
		width: 90px;
	}
	.course_fig.fig02 img {
		height: auto;
		width: 81px;
	}
}
/* =========================================================
Lesson Information
========================================================= */
@media screen and (min-width:768px) {
	.lesson_info_space {
		padding-bottom: 10px;
		background: url(/fs/lp/lp006/img/bg.png) left top repeat;
	}
	.title_area {
		padding: 15px 0px;
		background-color: #f54264;
		text-align: center;
	}
	.title_area_txt {
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.0;
	}
	.lesson_info_space .inner {
		margin: 0px auto;
		padding: 20px 0px 30px;
		width: 980px;
	}
	.lesson_info_space .inner .flow_title_txt_wrapper {
		line-height: 1.8;
	}
	.lesson_info_space .inner .txt {
		margin: 20px auto;
		width: 852px;
		line-height: 1.8;
	}
	.sub_title {
		text-align: center;
	}
	.sub_title_txt {
		text-align: center;
		color: #000066;
		font-weight: bold;
		font-size: 26px;
		position: relative;
	}
	.sub_title_catch {
		position: absolute;
		top: -50px;
		right: -80px;
	}
	.flow_block {
		margin: 0px auto;
		width: 852px;
	}
	.flow_title_txt_wrapper {
		background-color: #f54264;
		text-align: center;
	}
	.flow_title_txt {
		display: inline-block;
		vertical-align: middle;
		*vertical-align: auto;
		*zoom: 1;
		*display: inline;
		padding: 14px 0px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.0;
	}
	.flow_detail {
		padding: 25px 28px 30px;
		background: #fff url(/fs/lp/lp006/img/arrow_down_pink.png) center top no-repeat;
	}
	.flow_box {
		width: 275px;
		float: left;
		position: relative;
	}
	.step_img {
		position: absolute;
		top: -20px;
		left: -20px;
	}
	.flow_photo {
		width: 245px;
		padding-right: 22px;
		background: url(/fs/lp/lp006/img/arrow_right_pink.png) right no-repeat;
	}
	.flow_txt {
		margin: 15px 0px;
		padding-right: 30px;
	}
	.flow_txt_ttl {
		margin-bottom: 10px;
		color: #f54264;
		font-weight: bold;
		font-size: 16px;
	}
	.flow_box:last-child {
		width: 245px;
		padding-right: 0px;
	}
	.flow_box:last-child .flow_photo {
		padding-right: 0;
		background: none;
	}
	.flow_box:last-child .flow_txt {
		padding-right: 30px;
	}
	.flow_btn_reserve {
		text-align: center;
	}
}
@media screen and (max-width:767px) {
	.lesson_info_space {
		display: none;
	}
}
/*--------------------------------
下部お問合せ
--------------------------------*/
@media screen and (min-width:768px) {
	.btn_point404 {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #FD1739;
		color: #fff !important;
		height: 64px;
		font-weight: bold;
		border-radius: 32px;
		width: 404px;
		height: 108px;
		position: relative;
		line-height: 0;
		background-image: url("/fs/lp/lp006/img/icon_arrow_white_r.svg");
		background-position: 94% 50%;
		background-repeat: no-repeat;
		background-position: 94% 50%;
		background-size: 10px;
		font-size: 22px;
		font-weight: bold;
		border-radius: 52px;
	}
	.btn_point404:hover {
		transition: 0.2s;
		background-position: 96% 50%;
	}
	.btn_point404:hover {
		transform: scale(1.05);
		opacity: 1;
	}
	.main_contact {
		color: #595959;
		text-align: center;
		background-color: #fff;
		margin: 80px auto;
	}
	.contact_img {
		border-radius: 20px;
		margin: 50px auto 0;
		width: 556px;
	}
	.contact_ttl {
		font-size: 22px;
		line-height: 2;
		font-weight: bold;
	}
	.contact_ttl_bottom {
		font-size: 17px;
		font-weight: 500;
		display: block;
		margin-top: 30px;
	}
	.contact_btnarea {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 68px 0 36px 0;
	}
	.contact_btnarea .btn_point404 {
		margin-right: 14px;
	}
	.contact_btnarea .btn_point404:last-child {
		margin-right: 0;
		margin-left: 14px;
	}
	.free_dial {
		font-size: 16px;
		font-weight: bold;
		color: #fd1739;
		border: 1px solid #fd1739;
		width: 310px;
		margin: 0 auto 10px;
		padding: 6px;
	}
	.contact_tel {
		font-size: 36px;
		color: #FD1739;
		font-weight: bold;
		letter-spacing: 2px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact_tel .contact_tel_link {
		color: #FD1739;
	}
	.contact_tel .contact_tel_link:hover {
		opacity: 1;
	}
	.contact_tel .contact_tel_icon {
		width: 28px;
		margin-right: 8px;
	}
	.contact_tel_bottom {
		font-size: 15px;
		color: #333333;
		display: block;
		font-weight: 500;
		margin-left: 20px;
		margin-top: 8px;
	}
}
@media screen and (max-width:767px) {
	.btn_point404 {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #FD1739;
		color: #fff !important;
		height: 64px;
		font-weight: bold;
		border-radius: 32px;
		margin: 0 auto;
		width: 90%;
		height: 108px;
		position: relative;
		line-height: 0;
		background-image: url("/fs/lp/lp006/img/icon_arrow_white_r.svg");
		background-position: 94% 50%;
		background-repeat: no-repeat;
		background-position: 94% 50%;
		background-size: 10px;
		font-size: 22px;
		font-weight: bold;
		border-radius: 52px;
	}
	.btn_point404:hover {
		transition: 0.2s;
		background-position: 96% 50%;
	}
	.btn_point404:hover {
		transform: scale(1.05);
		opacity: 1;
	}
	.main_contact {
		border-top: dotted 1px #4D4D4D;
		color: #595959;
		text-align: center;
		background-color: #fff;
		margin: 10px 5% 50px;
		padding-top: 20px;
	}
	.contact_img {
		margin-bottom: 40px;
		border-radius: 20px;
	}
	.contact_ttl {
		font-size: 17px;
		line-height: 1.5;
		font-weight: bold;
	}
	.contact_ttl .contact_ttl_emph {
		display: block;
		margin-top: 8px;
		margin-bottom: -20px;
	}
	.contact_ttl_bottom {
		font-size: 15px !important;
		line-height: 1.5 !important;
		font-weight: 500;
		display: block;
		margin-top: 30px;
	}
	.contact_ttl_bottom .contact_ttl_emph {
		display: block;
	}
	.contact_btnarea {
		display: block;
		margin: 50px 0 36px 0;
	}
	.contact_btnarea .btn_point404 {
		margin: 4% !important;
		width: 92%;
		font-size: 16px;
		height: 70px;
		background-size: 8px;
		border: 2px solid #fff;
	}
	.contact_btnarea .btn_point404:last-child {
		margin-right: 0;
		margin-left: 14px;
	}
	.free_dial {
		font-size: 16px;
		font-weight: bold;
		color: #fd1739;
		border: 1px solid #fd1739;
		width: 260px;
		margin: 0 auto 10px;
		padding: 6px;
	}
	.contact_tel {
		font-size: 30px;
		color: #FD1739;
		font-weight: bold;
		letter-spacing: 2px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact_tel .contact_tel_link {
		text-decoration: underline;
		color: #FD1739 !important;
		margin-bottom: 8px;
	}
	.contact_tel .contact_tel_link:hover {
		opacity: 1;
	}
	.contact_tel .contact_tel_icon {
		width: 22px !important;
		margin-right: 8px;
	}
	.contact_tel_bottom {
		font-size: 13px;
		color: #333333;
		display: block;
		font-weight: 500;
		margin-left: 20px;
		margin-top: 8px;
	}	
}