@charset "utf-8";


h2 {
	text-align: center;
	margin-bottom: 20px;
}

section {
	box-sizing: border-box;
}



/* --------------------------------------------

ヘッダー

---------------------------------------------- */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	opacity: 1;
	position: fixed;
	z-index: 500;
	width: 100vw;
	height: 120px;
	transition: all 0.8s ease;
}

header .logo {
	z-index: 1000;
	width: 100px;
}

.header_logo img {
	width: 100px;
	object-fit: contain;
	margin: 10px;
}

.contact_link a {
	border-radius: 0;
	margin-right: 30px;
	border: 2px solid #9c68ac;
}


@media (max-width: 640px) {
	header {
		height: 50px;
		background-color: rgba(255, 255, 255, .5);
	}

	.header_logo img {
		width: 40px;
		height: auto;
		object-fit: contain;
		margin: 5px;
	}


	.contact_link a {
		/* border-radius: .5em; */
		margin: 5px;
	}

	.linkBtn-purple {
		min-width: 0;
		padding: .8em 3em;
	}
}

/* --------------------------------------------

メインビジュアル

---------------------------------------------- */
section.mainV {
	background-image: url(../img/main_image_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	width: 100%;
	aspect-ratio: 1920 / 1080;
	overflow: hidden;
}

.mainV_content {
	display: flex;
	align-items: flex-end;
	width: 100%;
	height: 100%;
}

.mainV_text {
	width: 45%;
	height: 50%;
	margin-left: auto;
	margin-bottom: calc(210px - 12vh);
	display: flex;
	flex-direction: column;
	gap: 5%;
}

@media (max-width: 980px) {
	.mainV_text {
	margin-bottom: 10%;
	}
}

.mainV_catch {
	display: flex;
	width: 100%;
	max-width: 771px;
	height: 100%;
	max-height: 151px;
	padding-right: 20px;
	align-items: center;
}

.mainV_catch img {
	min-width: 0;
}

.mainV_catch img:nth-of-type(2) {
	max-width: 120px;
	max-height: 120px;
}

.mainV_title {
	background-color: #7e3c93;
	box-shadow: 4px 4px 4px rgb(0 0 0 / 30%);
	padding: 2% 5% 3%;
}

.title_box {
	display: flex;
	gap: 5%;
	align-items: center;
}

.title_box img {
	width: 15%;
	max-width: 100px;
	height: auto;
}

.title_box h1 {
	white-space: nowrap;
	font-size: clamp(2rem, 3vw, 4rem);
	line-height: 1.2;
	letter-spacing: .3em;
	color: #fff;
}

.title_box h1 span {
	display: block;
	font-size: 50%;
	letter-spacing: .25em;
	padding-top: .5em;
}


@media (max-width: 640px) {
	section.mainV {
		background-image: url(../img/main_image_sp.jpg);
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		width: 100%;
		aspect-ratio: 800 / 1286;
	}

	.mainV_content {
		display: flex;
		width: 100%;
		height: 100%;
	}

	.mainV_text {
		width: 100%;
		height: 42%;
		margin-left: auto;
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 5%;
		justify-content: space-between;
	}

	.mainV_catch {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 95%;
		max-width: 771px;
		height: auto;
		margin: 0 auto;
		margin-right: 4%;
		padding: 0;
	}

	.mainV_catch img {
		min-width: 0;
	}

	.mainV_catch img:first-child {
		flex: 0 1 auto;
	}

	.mainV_catch img:last-child {
		flex: 0 1 auto;
	}

	.mainV_title {
		background-color: #7e3c93;
		box-shadow:none;
		padding: 2.5rem 1rem 3.5rem;
	}

	.title_box {
		display: flex;
		gap: 5%;
		align-items: center;
		justify-content: center;
	}

	.title_box img {
		width: 13%;
		max-width: 100px;
		height: auto;
	}

	.title_box h1 {
		white-space: nowrap;
		font-size: 2.5rem;
		line-height: 1.2;
		letter-spacing: .3em;
		color: #fff;
	}

	.title_box h1 span {
		display: block;
		font-size: 60%;
		letter-spacing: .25em;
		padding-top: .5em;
	}
}

/* --------------------------------------------

リード文

---------------------------------------------- */
section.lead {
	background-color: rgba(229, 199, 232, 0.3);
	padding: 80px;
}

.lead_content {}

.lead_text p {
	text-align: center;
}

.lead_map {
	display: block;
}

.lead_map .map_desc {
	display: flex;
	gap: 16.8%;
	text-align: center;
	width: 100%;
	height: 100%;
	max-width: 650px;
	max-height: 210px;
	margin: 30px auto 0;
}

.lead_map .map_desc img {
	display: block;
	width: 100%;
	height: auto;
	min-width: 0;
}

.lead_map .map_desc img:nth-child(1) {
	padding-bottom: 30px;
	max-width: 257px;
}

.lead_map .map_desc img:nth-child(2) {
	padding-top: 30px;
	max-width: 284px;
}

.g_map {
	width: 95%;
	max-width: 800px;
	height: 300px;
	margin: 30px auto 50px;
}

.lead_map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 15px;
	border: 3px solid #7e3c93;
}

.caution {
	text-align: center;
}

.caution p {
	display: inline-block;
	text-align: center;
	padding: 20px 40px;
	background-color: #fff;
}


@media (max-width: 640px) {
	section.lead {
		padding: 8%;
	}

	.lead_content h2 {
		font-size: 1.3em;
	}

	.lead_text p {
		text-align: justify;
	}

	.lead_map .map_desc {
		gap: 5%;
	}

	.g_map {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		/* height: 200px; */
		margin-bottom: 30px;
	}

	.lead_map iframe {
		width: 100%;
		border-radius: 0;
		border-left: none;
		border-right: none;
	}

	.caution p {
		display: inline-block;
		text-align: justify;
		padding: 20px 40px;
		background-color: #fff;
	}

}


/* --------------------------------------------

園での一日

---------------------------------------------- */
section.schedule {
	padding: 80px;
}

.schedule_title {
	padding: 0 5%;
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: 0.1em;
}

.schedule_title img {
	display: block;
	position: relative;
	width: 80%;
	max-width: 370px;
	margin: 0 auto 2.8em;
}

.schedule_area {}

.schedule_wrap {
	display: block;
	width: 100%;
	max-width: 900px;
	border-radius: 1.2em;
	margin: auto;
	text-align: center;
	box-sizing: border-box;
}

.schedule_wrap.kinder {
	background-color: #faf3f9;
    background-image:
   repeating-linear-gradient(-45deg,
   #f5eaf6, #f5eaf6 7px,
   transparent 0, transparent 14px);
	border: 3px solid #7e3c93;
}

.schedule_wrap.lily_kg {
	background-color: #fef5f9;
    background-image:
   repeating-linear-gradient(-45deg,
   #fdeef3, #fdeef3 7px,
   transparent 0, transparent 14px);
	background-repeat: repeat;
	border: 3px solid #e95377;
}

/* 矢印 */
.schedule_allow {
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 30px auto;
}

.schedule_allow img {
	width: 50px;
	height: auto;
}

/* スケジュール */
.schedule_wrap h3 {
	display: block;
	text-align: center;
	align-items: center;
	font-size: 21px;
	padding: 8px 0;
	color: #fff;
	border-radius: .5em .5em 0 0;
}

.schedule_wrap.kinder h3 {
	background-color: #7e3c93;
}

.schedule_wrap.lily_kg h3 {
	background-color: #e95377;
}

.schedule_detail {
	/* width: 80%; */
	/* margin: auto; */
	padding: 50px 10% 50px clamp(100px, 15vw, 110px);
}

.schedule_detail h4 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin: 10px 0 40px;
}

.schedule_time {
	position: relative;
	text-align: center;
}

.schedule_time img {
	position: absolute;
	top: -25px;
	left: -80px;
	height: clamp(140px, 15vw, 170px);
	width: auto;
}

.schedule_img {
	display: flex;
	gap: 5%;
	justify-content: center;
	width: 100%;
	margin-bottom: 20px;
}

.schedule_img img {
	flex: 1;
	min-width: 0;
	max-width: 300px;
	object-fit: cover;
	border-radius: .5em;
}

.schedule_desc {
	margin: auto;
	width: fit-content;
}

/* 7つのカリキュラム */
.additional {
	margin-bottom: 80px;
}

.curriculum {
	display: flex;
	justify-content: center;
	gap: 3vw;
	padding: 0;
	margin: 0;
}

.curriculum:first-child {
	margin: 0 13%;
}

.curriculum li {
	flex: 1;
	width: 100%;
	max-width: 150px;
}

.curriculum figure {
	margin: 0;
	text-align: center;
}

.curriculum figure img {
	max-width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

.curriculum figure figcaption {
	font-weight: bold;
	margin-top: .5em;
}

/* 国語・算数教室 */
.kokusan {
	width: 100%;
}

.kokusan_title {
	display: flex;
	gap: 8%;
	justify-content: center;
	align-items: center;
	width: 80%;
	margin: auto;
}

.kokusan_title img {
	flex: 2;
	min-width: 0;
	max-width: 250px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.kokusan_title p {
	flex: 3;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	padding: 20px 0 10px;
	border-top: 2px dotted #7e3c93;
	border-bottom: 2px dotted #7e3c93;
}

.kokusan_title p span {
	display: block;
	font-size: .7em;
	color: #7e3c93;
	line-height: 1em;
}

.kokusan_desc {
	margin: 40px 0;
}

.curriculum_link {
	text-align: center;
	margin: 50px auto 10px;
}

.curriculum_link a {
	display: inline-block;
	text-align: center;
	min-width: 0;
}

@media (max-width: 640px) {
	section.schedule {
		padding: 50px 5%;
	}

	.schedule_title img {
		width: 100%;
		max-width: 370px;
		margin: 0 auto 15%;
	}

	/* 矢印 */
	.schedule_allow img {
		width: 30px;
		height: auto;
	}

	/* スケジュール */
	.schedule_wrap h3 {
		font-size: 1.5em;
		padding: 8px 0;
		color: #fff;
		border-radius: .5em .5em 0 0;
	}

	.schedule_detail {
		padding: 5%;
	}

	.schedule_detail h4 {
		font-size: 1.2em;
		font-weight: bold;
		text-align: center;
		margin: 10px 0 20px;
	}

	.schedule_time {
		position: relative;
		text-align: center;
	}

	.schedule_time img {
		position: static;
		height: 30px;
		width: auto;
		margin: 10px auto;
	}

	.schedule_img {
		display: flex;
		gap: 15px;
		flex-direction: column;
		justify-content: center;
		width: 90%;
		margin: 20px auto;
	}

	.schedule_img img {
		min-width: 0;
		max-width: 300px;
		aspect-ratio: 2 / 1;
		object-fit: cover;
		border-radius: .5em;
	}

	.schedule_desc {
		margin: auto;
		width: fit-content;
	}

	/* 7つのカリキュラム */
	.additional {
		margin-bottom: 40px;
	}

	/* 国語・算数教室 */
	.kokusan_title {
		display: flex;
		flex-direction: column-reverse;
		gap: 30px;
		justify-content: center;
		align-items: center;
		margin: auto;
	}

	.kokusan_title img {
		width: 80%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		border-radius: 50%;
	}

	.kokusan_title p {
		font-size: 1.5em;
		font-weight: bold;
		text-align: center;
		padding: 20px 0 10px;
		border-top: 2px dotted #7e3c93;
		border-bottom: 2px dotted #7e3c93;
	}

	.kokusan_desc {
		margin: 20px 0;
	}

	.curriculum_link {
		text-align: center;
		margin: 0 auto 10px;
	}

}

/* --------------------------------------------

育脳学童

---------------------------------------------- */
section.ikunou {
	background-color: rgba(229, 199, 232, 0.3);
	padding: 80px;
}

.ikunou_content {
	width: 90%;
	max-width: 900px;
	margin: auto;
}

.ikunou_logo {
	width: 130px;
	height: auto;
	margin: auto;
}

.ikunou_logo img {
	width: 100%;
}

.ikunou_content h2 {
	font-size: 32px;
	letter-spacing: .25em;
	line-height: 1.2em;
}

.ikunou_content h2 span {
	display: block;
	font-size: 80%;
	text-align: center;
	letter-spacing: 0.1em;
}

.ikunou_content>p {
	font-size: 18px;
	font-weight: bold;
}

.ikunou_content p {
	text-align: center;
}

.ikunou_detail {
	display: flex;
	gap: 8%;
	justify-content: center;
	align-items: center;
	margin: 50px 0 0;
}

.ikunou_detail img {
	flex: 2;
	min-width: 0;
	max-width: 320px;
	height: auto;
	border-radius: .5em;
}

.ikunou_detail .ikunou_desc {
	flex: 3;
}

.ikunou_desc p {
	text-align: justify;
}

.ikunou_desc .ikunou_link {
	margin: 30px auto;
	text-align: center;
}

@media (max-width: 640px) {
	section.ikunou {
		padding: 5%;
	}

	.ikunou_logo {
		width: 90px;
		height: auto;
		margin: auto;
		margin: 30px auto 10px;
	}

	.ikunou_logo img {
		width: 100%;
	}

	.ikunou_content h2 {
		font-size: 2em;
	}

	.ikunou_content>p {
		font-size: 1.2em;
		font-weight: bold;
	}

	.ikunou_detail {
		display: flex;
		flex-direction: column;
		gap: 20px;
		justify-content: center;
		align-items: center;
		margin: 30px 0 0;
	}

	.ikunou_detail img {
		flex: 2;
		width: 90%;
		min-width: 0;
		max-width: 320px;
		height: auto;
	}

	.ikunou_desc p {
		text-align: justify;
		width: 100%;
	}



}

/* --------------------------------------------

お問い合わせ・資料請求

---------------------------------------------- */
.footer__entryWrap {
	position: relative;
	margin: 0 auto;
	padding: 100px 0 80px;
	/* background: rgb(247, 238, 248); */
}

/* .footer__entryWrap::before {
	content: "";
	display: block;
	position: absolute;
	width: 120%;
	height: 8rem;
	margin: -8rem -10% 0 -10%;
	border-radius: 10000% 10000% 0 0;
	background: rgb(247, 238, 248);
}

.footer__entryWrap::after {
	content: "";
	display: block;
	position: absolute;
	width: 120%;
	height: 8rem;
	margin: 0 -10% -8rem -10%;
	border-radius: 0 0 10000% 10000%;
	background: rgb(247, 238, 248);
	z-index: 1;
} */

.footer__entry {
	position: relative;
	display: flex;
	width: 75%;
	max-width: 860px;
	margin: auto;
	border: 3px solid #7e3c93;
	border-radius: 2.5rem;
	background: rgb(247, 238, 248);
}

.footer__entry section {
	width: 50%;
	margin: 0;
	padding: 2em;
	text-align: center;
}

/* 下層ページは見学説明会のみ表示するため1カラムに */
.footer__entry-1clum {
	max-width: 560px;
}

.footer__entry-1clum section {
	width: 100%;
}

@media screen and (max-width:640px) {
	.footer__entry {
		display: block;
	}

	.footer__entry section {
		width: 100%;
	}
}


/* 見学会テキスト設定 */
.footer__entry section h2 {
	padding-bottom: 0.4em;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.4;
	text-align: center;
}

.footer__entry section h2 p {
	font-size: 15px;
	font-size: 1.5rem;
	color: #7e3c93;
	text-align: center;
}

.footer__entry section > p {
	margin-bottom: 1em;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}

.footer__entry b {
	width: 10em;
	padding: 0.3em 1em;
	font-size: 14px;
	font-size: 1.4rem;
	background: #F1F1F1;
}

.footer__entry section > p:nth-of-type(2) {
	width: 11em;
	margin: 1em auto 0.5em;
	font-size: 17px;
	font-size: 1.7rem;
	text-align: right;
}

.footer__entry .linkBtn-red {
	min-width: 10em;
}

/* 吹き出し */
.footer__entry::before,
.footer__entry::after {
	content: "";
	display: block;
	position: absolute;
}

.footer__entry::before {
	width: 170px;
	height: 170px;
	top: -5em;
	left: -7.5em;
	background-image: url(../img/share/footerEntry_comment.png);
	background-size: cover;
}

.footer__entry::after {
	width: 135px;
	height: 100px;
	bottom: 6em;
	right: -7em;
	background-image: url(../img/share/footerEntry_comment2.png);
	background-size: cover;
}

@media screen and (max-width:640px) {
	.footer__entry::before {
		width: 30vw;
		height: 30vw;
		top: -22vw;
		left: -11vw;
	}

	.footer__entry::after {
		width: 30vw;
		height: 20vw;
		bottom: auto;
		top: -17vw;
		right: -12vw;
	}

}

/*-- 蝶花イラスト --*/
.entry1__butterfly {
	top: 20rem;
	left: calc(50% - 450px);
}

.entry1__butterfly::before {
	content: "";
	position: absolute;
	width: 69px;
	height: 69px;
	top: 11rem;
	left: 9rem;
	background-image: url(../img/share/entryIllust_l1.png);
	background-size: cover;
}

.entry1__butterfly::after {
	content: "";
	position: absolute;
	width: 49px;
	height: 49px;
	top: 16rem;
	left: 1rem;
	background-image: url(../img/share/entryIllust_l2.png);
	background-size: cover;
}

.entry2__butterfly {
	top: 20rem;
	right: calc(50% - 550px);
}

.entry2__butterfly::before {
	content: "";
	position: absolute;
	width: 69px;
	height: 69px;
	top: 11rem;
	left: 1rem;
	background-image: url(../img/share/entryIllust_r1.png);
	background-size: cover;
}

.entry2__butterfly::after {
	content: "";
	position: absolute;
	width: 49px;
	height: 49px;
	top: 16rem;
	left: 10rem;
	background-image: url(../img/share/entryIllust_r2.png);
	background-size: cover;
}


/*-- Responsive --*/
/* @media screen and (max-width:1024px) {
	.entry2__butterfly {
		top: 20rem;
		right: -30%;
	}
} */

@media screen and (max-width:640px) {
	.entry1__butterfly {
		top: 210px;
		left: -20%;
	}

	.entry1__butterfly::before {
		width: 30px;
		height: 30px;
		top: 3rem;
		left: 9rem;
	}

	.entry1__butterfly::after {
		width: 19px;
		height: 19px;
		top: 5.5rem;
		left: 5rem;
	}

	.entry2__butterfly {
		top: 260px;
		right: -20%;
	}

	.entry2__butterfly::before {
		width: 30px;
		height: 30px;
		top: 3rem;
		left: 5rem;
	}

	.entry2__butterfly::after {
		width: 19px;
		height: 17px;
		top: 5.5rem;
		left: 9rem;
	}
}

/* --------------------------------------------

お問い合わせ

---------------------------------------------- */
section.contact {
	padding: 50px 0;
	background-color: #7e3c93;
	overflow: hidden;
}

.contact_content,
.contact_content a {
	position: relative;
	color: #fff;
	margin: auto;
}

.contact_content h2 {
	margin-bottom: 40px;
}

.kinder_logo {
	text-align: center;
}

.kinder_logo img {
	width: 100%;
	max-width: 70px;
	height: auto;
	margin-bottom: 10px;
}

.contact_address {
	display: flex;
	flex-direction: column;
	width: fit-content;
	margin: auto;
}

.contact_content h3,
.contact_content a h3 {
	font-size: 32px;
	margin: 0 auto 5px;
	line-height: 1.2em;
	text-align: center;
}

.contact_content h3 span,
.contact_content a h3 span {
	display: block;
	font-size: .7em;
}

.contact_content p {
	text-align: center;
}

.contact_content .contact_address img {
	width: 100%;
	max-width: 500px;
	margin: 1em auto;
	background: #fff;
}

.contact_content .princess {
	position: absolute;
	bottom: -100px;
	left: calc(35% - 300px);
	width: clamp(100px, 12vw, 200px);
	height: auto;
}

.contact_content .prince {
	position: absolute;
	bottom: -200px;
	right: calc(35% - 300px);
	width: clamp(100px, 12vw, 200px);
	height: auto;
}

@media (max-width: 640px) {
	section.contact {
		padding: 10%;
	}

	.contact_content {
		position: relative;
		color: #fff;
		width: 100%;
		max-width: 500px;
		margin: auto;
	}

	.contact_content h2 {
		margin-bottom: 20px;
	}

	.kinder_logo {
		text-align: center;
	}

	.kinder_logo img {
		width: 50%;
		max-width: 50px;
		height: auto;
		margin-bottom: 10px;
	}

	.contact_content h3,
	.contact_content a h3 {
		font-size: 2em;
		margin: 0 auto 5px;
		line-height: 1.2em;
		text-align: center;
	}

	.contact_content .princess,
	.contact_content .prince {
		display: none;
	}
}