@charset "UTF-8";

/* ------------------------------------------- */
/* 共通 */
.flex_box {
	display: flex;
	align-items: center;
	justify-content: center;
}

* {
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 2.0;
	box-sizing: border-box;
    z-index: 10;
}
.inner {
	top: 0;
	left: 0;
	width: 1200px;
	margin: 0 auto;
}

body {
	overflow-x: hidden;
}

.set_pc {display: inherit}
.set_sp {display: none;}

@media (max-width: 768px) {
	.set_pc {display: none;}
	.set_sp {display: inherit;}
}



/* ------------------------------------------- */
/* ヘッダー */
header {
	position: fixed;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 254px;
	background: url('/src/img/common/header_bg.png') center top repeat-x;
	z-index: 100;
}
header .inner {
}
/* 保護者専用ページバナー */
header .parent_page {
	position: absolute;
	top: 0;
	right: 0;
}
header .parent_page a {
}
header .parent_page a:hover {
}
header .parent_page a:hover img {
}
/* お問い合わせページバナー */
header .contact_page {
	position: fixed;
	bottom: 10vh;
	right: 0;
}
header .contact_page a {
}
header .contact_page a:hover {
}
header .contact_page a:hover img {
}
/* メインナビ：アンカー */
header #gnavi {
	position: absolute;
	top: 110px;
	left: 0;
}
header #gnavi .gnavi_content {
	width: 110px;
	height: 80px;
	border-right: 2px dotted #65b49e;
}
header #gnavi .gnavi_content:first-of-type {
	border-left: 2px dotted #65b49e;
}
header #gnavi .gnavi_content:nth-of-type(5) {
	width: 320px;
}
header #gnavi .gnavi_content a {
	display: flex;
	align-items: center;
	justify-content: center;
}
header #gnavi .gnavi_content a:hover {
	opacity: 0.5;
}
@media (max-width: 768px) {
	header {
		height: auto;
		background: none;
	}
	header .inner {
		width: 100%;
	}
	header .header_contents {
		height: calc(calc(calc(90 / 748) * 100vw) + 8vw);
		background: url('/src/img/common/header_bg_sp.png') center top repeat;
		background-size: cover;
		overflow: hidden;
		z-index: 100;
	}
	header .header_contents h1 {
		position: absolute;
		top: 4vw;
		left: 5vw;
	}
	header .header_contents h1 img {
		width: auto;
		height: calc(calc(90 / 748) * 100vw);
	}
	header .header_contents .parent_page {
		position: absolute;
		top: 4vw;
		right: calc(calc(calc(100 / 748) * 100vw) + 5vw);
	}
	header .header_contents .parent_page img {
		width: auto;
		height: calc(calc(90 / 748) * 100vw);
	}
	header .header_contents .btn_sp_menu {
		position: absolute;
		top: 4vw;
		right: 5vw;
	}
	header .header_contents .btn_sp_menu img {
		width: auto;
		height: calc(calc(90 / 748) * 100vw);
	}
	header .contact_page {
		bottom: 15vh;
	}
	header .contact_page a img {
		width: 15vw;
		height: 15vw;
	}
	header #sp_menu {
		position: absolute;
        top: calc(calc(calc(90 / 748) * 100vw) + 8vw);
        left: 0;
        width: 100%;
	}
	header #sp_menu #gnavi {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: space-between;
		top: -4vw;
		width: 100%;
		padding: 8vw 5vw 4vw;
		background-color: #fff;
	}
	header #sp_menu #gnavi .gnavi_content {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		border-right: none;
		border-bottom: 2px dotted #65b49e;
	}
	header #sp_menu #gnavi .gnavi_content:first-of-type {
		border-top: 2px dotted #65b49e;
		border-left: none;
	}
	header #sp_menu #gnavi .gnavi_content a {
		display: flex;
	    align-items: center;
	    justify-content: flex-start;
	    width: 100%;
	    height: calc(calc(100 / 748) * 100vw);
	}
	header #sp_menu #gnavi .gnavi_content a img {
		width: auto;
	    height: calc(calc(52 / 748) * 100vw);
	}
}


/* ------------------------------------------- */
/* フッター */
footer {
	position: relative;
	display: block;
	left: 0;
	bottom: 0;
	width: 100%;
	color: #fff;
	background: url(/src/img/common/bg_footer_pattarn.png) center center repeat;
	z-index: 5;
}
footer .inner {
	padding: 50px 0;
	background: url('/src/img/common/footer_deco_tree.png') right bottom no-repeat;
}
footer .inner .flex_footer {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
footer .inner .flex_footer .detail_box {
	color: #603814;
}
footer .inner .flex_footer .detail_box .name_ttl {
	margin-bottom: 30px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 48px;
	font-weight: bold;
	line-height: 1.0;
}
footer .inner .flex_footer .detail_box .name_ttl span {
	margin-right: 1em;
	font-size: 24px;
}
footer .inner .flex_footer .detail_box .address {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
footer .inner .flex_footer .detail_box .address span {
	margin-right: 1em;
}
footer .inner .flex_footer .detail_box .telfax {
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
footer .inner .flex_footer .detail_box .telfax span {
	margin-right: 1em;
}
footer .inner .flex_footer .detail_box .trans {
	margin-bottom: 30px;
}
footer .inner .flex_footer .detail_box .trans a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

footer .inner .flex_footer .detail_box .sns_area {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}
footer .inner .flex_footer .detail_box .sns_area a {
	display: block;
	width: 64px;
	height: 64px;
}
footer .inner .flex_footer .detail_box .sns_area a img {
	width: 100%;
	height: auto;
}
footer .inner #anchor_top {
	position: absolute;
	left: calc(50% - 60px);
	bottom: 50px;
	width: 100%;
}
footer .inner #anchor_top .inner a {
	display: block;
}
footer .inner #anchor_top .inner a img {
}
footer .copylight {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	font-size: 20px;
	color: #000;
	background-color: #a2cd6e;
}


@media (max-width: 768px) {
	footer {
		z-index: 0
	}
	footer .inner {
		width: 100%;
		background: url();
	}
	footer .inner:after {
		content: "";
		position: absolute;
		left: 2vw;
		bottom: calc(calc(-70 / 748) * 100vw);
		display: block;
		width: calc(calc(150 / 748) * 100vw);
		height: calc(calc(141 / 748) * 100vw);
		background: url(/src/img/common/footer_deco_flower.png) center bottom no-repeat;
		background-size: calc(calc(150 / 748) * 100vw) calc(calc(141 / 748) * 100vw);
	}
	footer .inner .flex_footer .detail_box {
		width: 100%;
	}
	footer .inner .flex_footer .detail_box .name_ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		font-size: 6vw;
	}
	footer .inner .flex_footer .detail_box .name_ttl span {
		display: block;
		margin: 0;
		font-size: 4vw;
	}
	footer .inner .flex_footer .detail_box .address {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 5.0vw;
		margin-bottom: 0;
		font-size: 3vw;
	}
	footer .inner .flex_footer .detail_box .address span {
	}
	footer .inner .flex_footer .detail_box .telfax {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 5.0vw;
		margin-bottom: 5.0vw;
		font-size: 3vw;
	}
	footer .inner .flex_footer .detail_box .telfax span {
	}
	footer .inner .flex_footer .detail_box .trans {
		text-align: center;
		margin-bottom: 30px;
	}
	footer .inner .flex_footer .detail_box .trans a {
		justify-content: center;
	}
	footer .inner .flex_footer .detail_box .trans a img {
		width: calc(calc(306 / 748) * 120vw);
		height: auto;
	}
	footer .inner .flex_footer .detail_box .sns_area {
		justify-content: center;
		gap: 3vw;
	}
	footer .inner .flex_footer .detail_box .sns_area a {
		width: 10vw;
		height: 10vw;
	}
	footer .inner #anchor_top {
		left: 0;
		bottom: calc(calc(-60 / 748) * 100vw);
		padding: 0 2vw;
		text-align: end;
	}
	footer .inner #anchor_top a {
	}
	footer .inner #anchor_top a img {
		width: calc(calc(120 / 748) * 100vw);
		height: auto;
	}
	footer .copylight {
		height: calc(calc(100 / 748) * 100vw);
		font-size: 3vw;
		z-index: 5;
	}
}


/* ------------------------------------------- */
/* ベースコンテンツ部 */
#body_contents {
	min-height: calc(100vh - 691px);
	margin-top: 254px;
	overflow-x: hidden;
	overflow-y: auto;
}

#body_contents .inner {
	padding: 100px 0;
}
section .inner h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}
#body_contents section.bg_pattarn_green .bg_wrapper {
	width: 100%;
	background-color: rgba(162, 205, 110, 0.3);
}
#body_contents section.bg_pattarn_green::before {
	content: "";
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 50px;
	background: url('/src/img/top/bg_pattarn_a2cd6e.png') center top repeat-x;
}
#body_contents section.bg_pattarn_green::after {
	content: "";
	position: relative;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 50px;
	background: url('/src/img/top/bg_pattarn_a2cd6e.png') center bottom repeat-x;
}
#body_contents #overlay {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100vw;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.5);
	z-index: 1000;
}

@media (max-width: 768px) {
	#body_contents {
		min-height: calc(100vh - 97vw);
		margin-top: 75px;
	}
	#body_contents .inner {
		width: 100%;
		padding: calc(calc(60 / 768) * 100vw) calc(calc(40 / 768) * 100vw);
	}
	#body_contents header .inner {
		padding: 0;
	}
	#body_contents section.bg_pattarn_green::before {
		height: 10vw;
		background: url('/src/img/top/bg_pattarn_a2cd6e_sp.png') center top repeat-x;
		background-size: cover;
	}
	#body_contents section.bg_pattarn_green::after {
		height: 10vw;
		background: url('/src/img/top/bg_pattarn_a2cd6e_sp.png') center bottom repeat-x;
		background-size: cover;
	}

	#body_contents section .inner h2 {
		margin-bottom: calc(calc(60 / 748) * 100vw);
	}
	#body_contents section .inner h2 img {
		width: calc(calc(310 / 748) * 100vw);
		height: auto;
	}

}





/* ------------------------------------------- */
/* ベースコンテンツ部 */






