﻿@charset "utf-8";
/* CSS Document */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */	
/* ここからがリセットスタイルシートになります。
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
/*フォーカスとは、ブラウザの画面上でマウスをクリックし、入力状態にあるまでの動作を指します*/
:focus {/* remember to define focus styles! */
	outline: 0;
}
body {/*行の高さをフォントサイズと同じにしています*/
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {/* 隣接するセルのボーダーを結合し、間隔を0に指定しています */
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {/*captionとはテーブル（表）にキャプションをつける。キャプションとは、主に図版や写真について説明のために付け加えられた文字情報のことである。*/
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
	content: "";
}
blockquote, q {/*引用符の表示が出ないようにしています*/
	quotes: "" "";
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {/*html5の新しいタグをブロック要素として表示される。*/
	display: block;
}
/* reset.cssに下記を追加 */
header, footer, main, nav, article, aside, section {
	display: block;
}
/* ここまでがリセットスタイルシートになります。
-------------------------------------------------------------- */
body, td, th {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.wf-roundedmplus1c {
	font-family: "Rounded Mplus 1c";
}
html {
	margin: 0px;
	padding: 0px;
	height: 100%;
	width: 100%;
}
body {
	margin: 0px;
	padding: 0px;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	zoom: 1;
}
a {
	font-weight: bold;
	text-transform: none;
	color: #09C;
}
a:hover {
	color: #F60;
	text-decoration: underline;
}
figure {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
figcaption {
	padding: .5em;
	font-size: .9em;
	color: #867164;
	text-align: center;
}
img {
	max-width: 100%;
	height: auto;
}
div {
	box-sizing: border-box;
}
/*=======================================================*/
/*　　　　　　　　　header                               */
/*=======================================================*/

header {
	box-sizing: border-box;
	width: 100%;
	margin: 0px;
	min-height: 20px; /*最小の高さ*/
	display: flex;
	justify-content: space-between;
	position: relative;
}
.logo {
	width: 50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}
.logo img {
	max-width: 100%;
	height: auto;
}
/*=======================================================*/
/*　　　　　　　　 footer                                */
/*=======================================================*/
footer {
	background-image: url(images/bg_footer.png);
	background-position: center bottom;
	background-repeat: no-repeat;
}
#footer {
	width: 100%;
	text-align: center;
	color: #063;
	box-sizing: border-box;
	padding: 150px 1em 20px 1em;
	font-family: "Kosugi Maru", sans-serif;
}
 @media screen and (max-width:768px) {
header {
	min-height: 100px; /*最小の高さ*/
}
.logo {
	width: 90%;
}
}
 @media screen and (max-width:480px) {
}
/*=======================================================*/
/*　　　　　　　　　ナビゲーション                       */
/*=======================================================*/

nav {
	width: 50%;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 99;
}
nav ul {
	width: min(100%, 520px);
	margin-inline: auto;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	padding-top: 10px;
	padding-bottom: 10px;
}
nav ul li {
	width: calc(100% / 5 - 0px);
	height: auto;
	display: block;
	text-align: center;
	align-self: center;
	border-right: #999999 dotted 2px;
	box-sizing: border-box;
}
nav ul li:last-child {
	border-right: none;
}
nav ul li img {
	max-width: 100%;
	height: auto;
	text-align: center;
	transition: all 0.5s ease-in-out;
}
/*ナビボタン*のアニメーション*/

nav a:hover img {
	transform: translateY(-10px);
	transition-duration: 0.5s;
}
 @media screen and (max-width:768px) {
nav {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}
nav ul li {
	width: calc(100% / 3 - 20px);
	width : -webkit-calc(100% / 3 - 20px);
	gap: 10px;
}
}
 @media screen and (max-width:480px) {
}
/*-----------------------------------*/
/*　　　     SP用ナビ　　 　　　  　 */
/*-----------------------------------*/

/*=======================================================================*/

#sp_navi {
	display: none;
	z-index: 9999;
}
/* ++++ トグルボタン ++++ */
	
#navTgl {
	display: none;
}
#sp_navi label {
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
}
.open {
	z-index: 9998;
	box-sizing: border-box;
	width: 60px;
	height: 50px;
	transition: background .5s, transform .5s cubic-bezier(0.76, 0.52, 0.29, 1.25);
	box-sizing: border-box;
	background-color: #07AB76;/*トグルカラー*/
	border-radius: 0 0 0 30px;
}
.open::before, .open::after {
	content: "";
}
.open span, .open::before, .open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid white;
　/*トグルボタンのサイズとカラー*/
 transition: transform .5s cubic-bezier(0.76, 0.52, 0.29, 1.25);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 9997;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .5s;
}
.active + .open span {
	transform: scaleX(0);
}
.active + .open::before {
	transform: rotate(45deg);
}
.active + .open::after {
	transform: rotate(-45deg);
}
.active ~ .close {
	background-color: rgba(255,255,255,0); /*背景色*/
}
/* ++++ ドロワーメニュー ++++ */
.menu {
	z-index: 9997;
	position: fixed;
	overflow: auto;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	padding: 60px 2% 6% 2%;
	margin: 0;
	box-sizing: border-box;
	transform: translatey(-100%);
	transition: transform .5s cubic-bezier(0.33, 1.01, 0.33, 0.97);
	background-color: #fff;
}
.active ~ .menu {
	transform: none;
}
/* リンク全体：縦並び・中央揃え */
#sp_navi ul li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	padding: 12px 0;
	color: #663300;
	font-family: "Zen Maru Gothic", serif;
	text-decoration: none;
}
#sp_navi ul li {
	margin-bottom: 20px;
	z-index: 999;
	border: none;
}
 @media screen and (max-width:768px) {
/*TB SP ナビゲーション*/
#sp_navi {
	display: block;
	width: 100%;
}
.pc_nav {
	display: none;
	width: 100%;
	float: none;
}
}
/**=======================================================**/



/*=======================================================*/
/*　　　　　　　　　TOPに戻る                            */
/*=======================================================*/

/*jquery トップに戻る　*/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 77%;
	z-index: 99999;
}
#page-top img {
	max-width: 100%;
	height: auto;
}
#page-top a {
	text-decoration: none;
	color: #fff;
	width: 100px;
	text-align: center;
	display: block;
}
#page-top a:hover {
	text-decoration: none;
	opacity: 0.5;
}
/*=======================================================*/
/*　　　　　　　　　全ページ共通                         */
/*=======================================================*/

/*mainとboxエリア*/

main {
	height: 100%;
	min-height: 80vh; /*最小の高さ*/
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.txt_box {
	/*width: 90%;*/
	margin-inline: auto;
	line-height: 135%;
	color: #663300;
}
.box {
	/*width: 90%;*/
	margin-inline: auto;
}
/*リンクのホバー*//*
a:hover {
	opacity: 0.6;
}
*/


/*-------------見出し-----------------*/


h2 {
	box-sizing: border-box;
	width: min(100% - 2em, 500px);
	margin: 1em auto 1em auto;
	display: block;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	font-style: normal;
	font-weight: 900;
	margin-bottom: 2em;
}

/*----PDFリンク----*/
.pdf {
	width:min(100%, 800px);
	margin-inline: auto;
}
.pdf li {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em;
	background-color: #07AB76;
	border-radius: 15px;
	padding: 1em 2em;
	font-family: "Kosugi Maru", sans-serif;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	gap: 1em;
}

.pdf li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f15b";
  color: #FFFFFF;
  font-size: 1.5em;     
  flex-shrink: 0;       
}

.pdf li a {
	text-decoration: none;
	display: block;
	color: #FFFFFF;
	width: 100%;
	box-sizing: border-box;
	border-radius: 15px;
}

/* マウスオーバー時 */
.pdf li:hover {
	color: #0066CC;
	background-color: #00CC66;
	cursor: pointer;
}
/*-------テキストの修飾-----------------*/


.txt_r {
	text-align: right;
}
.txt_l {
	text-align: left;
}
/*--------リンクエリアの設定（エリア全体をリンク）-------------*/

.link-item {
	position: relative;
	width: 100%;
	height: 100%;
}
.link-item a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
/*--------------リスト----------------*/
.liststyle ul {
	padding-top: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
}
.liststyle ul li {
	/*display: flex;
	align-items: baseline;
	justify-content:left;*/
	margin-bottom: .5em;
	text-indent: -1em;
　
}
.liststyle ul li:before {
	content: "\f621"; /*アイコン番号*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
	color: #99CC33;
　/*色*/
}
/* olのスタイル */
.liststyle ol {
	padding-top: 1em;
	margin-bottom: 1em;
	list-style: none; /* デフォルトの数字を非表示に */
	counter-reset: li;
}
/* ol内のliのスタイル */
.liststyle ol li {
	position: relative;
	font-size: 16px;
	padding-left: 1.5em;
	line-height: 1.5;
}
/* 2つ目以降のliにmargin-topを指定 */
.liststyle ol li:not(:first-child) {
	margin-top: 0.5em;
}
/* 数字のスタイル */
.liststyle ol li::before {
	counter-increment: li;
	content: counter(li);
	position: absolute;
	left: 0;
	top: 2px; /* 数字のY軸線上の位置を調整 */
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #009966;
	font-size: 12px;
	color: #fff;
	line-height: 20px;
	text-align: center;
}
/*テーブル*/
.liststyle table {
	border-collapse: separate;
	border-spacing: 3px;
	margin-bottom: 1em;
	margin-top: 1em;
}
.liststyle table th {
	background-color: #D6E9E0;
	padding: 10px;
	color: #006666;
	font-weight: bold;
}
.liststyle table td {
	background-color: #E5E5E5;
	padding: 10px;
}
 @media only screen and (max-width: 768px) {
}
 @media only screen and (max-width: 480px) {
body {
	font-size: 18px;
}
.liststyle table {
	width: 100%;
	box-sizing: border-box;
}
.liststyle table th, .liststyle table td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.pdf li {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em;
	border-radius: 15px;
	padding: 0.5em 0.5em 0.5em 0.5em;
}
.pdf li a {
	text-decoration: none;
	display: block;
	width: 100%;
	padding: 0.5em 0.5em 0.5em 0.5em;
	box-sizing: border-box;
	border-radius: 15px;
}
}
/*=======================================================*/
/*　　　　　　レスポンシブテーブル                       */
/*=======================================================*/



.re_table {
　/*border-collapse: collapse;*//*隣接するポーターラインを重ねる*/
}
.re_table th, .re_table td {
/*border: 1px solid #999999;
	padding: 8px;*/
}
.re_table th {
	text-align: left;
}
 @media only screen and (max-width: 768px) {
.re_table tr, .re_table th, .re_table td {
	display: block;
	width: auto;
}
.re_table tr:first-child {
/*border-top: 1px solid #999999;*/
}
.re_table th, .re_table td {
/*border-top: none;*/
}
}
/*レスポンシブテーブルここまで*/





/*=======================================================*/
/*　　　　　　　　　写真の表示　　                       */
/*=======================================================*/

/*アルバム　横4枚*/
.album4 {
	width: min(100% - 2em, 1400px);
	margin: 0 auto 2em auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.album4 li {
	width: calc(100% / 4 - 10px);
	margin-bottom: 1em;
	text-align: center;
	box-sizing: border-box;
}
.album4 li img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 300px;
	margin-bottom: 10px;
	border-radius: 1em;
	
}


/*アルバム　横3枚*/
.album3 {
	width: min(100% - 2em, 1200px);
	margin: 0 auto 2em auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.album3 li {
	width: calc(100% / 3 - 10px);
	margin-bottom: 1em;
	text-align: center;
	box-sizing: border-box;
}
.album3 li img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 300px;
	margin-bottom: 10px;
	border-radius: 1em;
	
}

/*アルバム　横2枚*/	
.album2 {
	width: min(100% - 2em, 1200px);
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-right: auto;
	margin-left: auto;
}
.album2 li {
	width: calc(100% / 2 - 20px);
	margin-bottom: 1em;
	text-align: center;
}
.album2 li img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 300px;
	margin-bottom: 10px;
	border-radius: 1em;
	
}
.album2 li p {
 font-size;
0.8em;
	color: blue;
	box-sizing: border-box;
	width: 100%;
	padding: 5px 10px 5px 10px;
	text-align: center;
}
 @media screen and (max-width:768px) {
.album3 li {
	width: calc(100% / 2 - 10px);
	margin-bottom: 1em;
}

.album4 li {
	width: calc(100% / 2 - 10px);
	margin-bottom: 1em;
}



}
 @media screen and (max-width:480px) {
.album2 li {
	box-sizing: border-box;
	width: 100%;
	height: autot;
	padding: 10px;
	margin-bottom: 1em;
}
.album3 li {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 10px;
	margin-bottom: 1em;
}

.album4 li {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 10px;
	margin-bottom: 1em;
}

}
/*写真の表示ここまで*/



/*=======================================================*/
/*　　　　　　　　　Flex-box                             */
/*=======================================================*/


/*左右の端による配置 ※左右いっぱいにしたいときはこちら*/	
.flexboxb {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
/*均等割り付け*/	
.flexboxa {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
}
/*中のbox*/		
.inbox2 {
	width: calc(100% / 2 - 10px);
	margin-bottom: 10px;
}
.inbox3 {
	width: calc(100% / 3 - 10px);
	margin-bottom: 10px;
}
.inbox4 {
	width: calc(100% / 4 - 10px);
	margin-bottom: 10px;
}
 @media screen and (max-width:768px) {
.inbox2 {
	width: 100%;
}
.inbox3 {
	width: calc(100% / 2 - 10px);
}
.inbox4 {
	width: calc(100% / 2 - 10px);
}
}
 @media screen and (max-width:480px) {
.inbox3 {
	width: 100%;
}
.inbox4, .ybox {
	width: 100%;
}
}
/*=======================================================
　　　　　　　　PCスマホ表示の切り替

 　　　　　　 .pc　.sp　タブレット以下切り替え
 
 　　　　　　 .pc2 .sp2　スマホ以下で切り替え          
       
=======================================================*/




/*-- PC版表示CSS   --*/


.pc, .pc2 {
	display: block;
}
.sp, .sp2 {
	display: none;
}


/*-- スマホ版表示CSS  --*/


@media screen and (max-width: 768px) {
.pc {
	display: none;
}
.sp {
	display: block;
}
}
 @media screen and (max-width: 480px) {
.pc2 {
	display: none;
}
.sp2 {
	display: block;
}
}
/*=========================================================================================================================================================*/

/*----------------ここより下各ページ---------------------------*/

/*=========================================================================================================================================================*/


.contents {
	width: min(100% - 2em, 1200px);
	margin-inline: auto;
}
.bg_hoshi {
	background-image: url(images/bg_hoshi_l.png), url(images/bg_hoshi_r.png);
	background-position: left 5% center, right 5% top 20px;
	background-repeat: no-repeat, no-repeat;
}
.bg_kumo {
	background-image: url(images/bg_kumo.png), url(images/bg_kumo.png), url(images/bg_green.png), url(images/bg_nami_u.png);
	background-position: left 4% center, right 4% top 30%, center top, center bottom;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-size: 10% auto, 10% auto, 100% auto, 100% auto;
	background-color: #E9FAF4;
	padding-top: 50px;
	padding-bottom: 50px;
}
.bg_onpu {
	background-image: url(images/bg_onpu_l.png), url(images/bg_onpu_r.png);
	background-position: left 2% bottom, right 2% top 10px;
	background-repeat: no-repeat, no-repeat;
}
.bg_mimo {
	background-image: url(images/bg_mimo_l.png), url(images/bg_mimo_r.png);
	background-position: left 2% bottom, right 2% top 10px;
	background-repeat: no-repeat, no-repeat;
}

.bg_nami {
	background-image: url(images/bg_nami_t.png), url(images/bg_nami_u.png);
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto, 100% auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
h1 {
	background-image: url(images/bg_h1.png);
	background-position: center center;
	background-repeat: repeat-x;
	background-size: auto;
	background-color: #fff;
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: center;
	font-size: 2em;
	color: #fff;
	font-family: "Zen Maru Gothic", serif;
	font-weight:bold;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

 @media screen and (max-width: 768px) {
.bg_hoshi {
	background-image: url(images/bg_hoshi_l.png), url(images/bg_hoshi_r.png);
	background-position: left 10% top, right 10% top 20px;
	background-repeat: no-repeat, no-repeat;
	background-size: 15% auto, 15% auto;
}
.bg_kumo {
	background-image: url(images/bg_kumo.png), url(images/bg_kumo.png), url(images/bg_green.png), url(images/bg_nami_u.png);
	background-position: left 10% center, right 10% top 30%, center top, center bottom;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-size: 15% auto, 15% auto, 100% auto, 100% auto;
	background-color: #E9FAF4;
	padding-top: 50px;
	padding-bottom: 50px;
}
.bg_onpu {
	background-image: url(images/bg_onpu_l.png), url(images/bg_onpu_r.png);
	background-position: left 10% top, right 10% top 0px;
	background-repeat: no-repeat, no-repeat;
	background-size: 25% auto, 20% auto;
}.bg_mimo {
	background-image: url(images/bg_mimo_l.png), url(images/bg_mimo_r.png);
	background-position: left 5% top, right 5% top 0px;
	background-repeat: no-repeat, no-repeat;
	background-size: 15% auto, 15% auto;
}

}
@media screen and (max-width: 480px) {
.bg_hoshi {
	background-image: url(images/bg_hoshi_l.png), url(images/bg_hoshi_r.png);
	background-position: left 0% top, right 0% top;
	background-repeat: no-repeat, no-repeat;
	background-size: 15% auto, 27% auto;
}
.bg_onpu {
	background-image: none;
}
.bg_kumo {
	background-image: none, none, url(images/bg_green.png), url(images/bg_nami_u.png);
}
}
/*------------------------
　　　　TOPページ
-------------------------*/

/*-----トップイメージー-----*/

#top_img {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
	width: 100%;
	position: relative;
	background-color: #DBED94;
	background-image: url(images/bg_top_c.png), url(images/bg_top_t.png), url(images/bg_top_b.png);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: bottom 100px center, center top, center bottom;
	background-size: auto, 100% auto, 100% auto;
}
.topimg {
	width: min(100% - 20px, 1200px);
	margin-inline: auto;
	padding-top: 150px;
	padding-bottom: 50px;
	position: relative;
}
.topimg .photo_img {
	width: 100%;
}
.top_sideimg01 {
	max-width: 20%;
	position: absolute;
	left: 0;
	z-index: 99;
	pointer-events: none;
	bottom: 100px;
}
.top_sideimg02 {
	max-width: 20%;
	position: absolute;
	right: 0;
	z-index: 99;
	pointer-events: none;
	top: 150px
}
.top_sideimg03 {
	max-width: 30%;
	position: absolute;
	top: 5%;
	left: 50%;
	z-index: 9998;
	pointer-events: none;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
/*----/topimgーここまで----*/
#hojin {
	padding-bottom: 150px;
}
#hojin .contents {
	text-align: center;
	color: #007D55;
	font-family: "Kosugi Maru", sans-serif;
	line-height: 150%;
	font-size: 20px;
}
/*------保育方針-----*/
#hoshin {
	margin-bottom: 50px;
	font-family: "Kosugi Maru", sans-serif;
	color: #7E7C65;
}
#hoshin .contents {
	width: min(100% - 2em, 1100px);
	background-color: rgba(255,255,255,.7)
}
#hoshin .contents ol li {
	margin-bottom: 1.5em;
}
/* olのスタイル */
#hoshin ol {
	padding-top: 1em;
	margin-bottom: 1em;
	list-style: none; /* デフォルトの数字を非表示に */
	counter-reset: li;
}
/* ol内のliのスタイル */
#hoshin ol li {
	position: relative;
	font-size: 18px;
	padding-left: 2em;
	line-height: 1.5;
}
/* 2つ目以降のliにmargin-topを指定 */
#hoshin ol li:not(:first-child) {
	margin-top: 0.5em;
}
/* 数字のスタイル */
#hoshin ol li::before {
	counter-increment: li;
	content: counter(li);
	position: absolute;
	left: 0;
	top: -5px; /* 数字のY軸線上の位置を調整 */
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #d9e367;
	font-size: 16px;
	color: #fff;
	line-height: 30px;
	text-align: center;
	font-family: 'RocknRoll One', sans-serif;
}
/*-----子どものすがた-----*/


#sugata {
	margin-bottom: 50px;
}
#sugata .contents {
	max-width: 1000px;
}
/*-----基本情報----*/
#kihon {
	margin-bottom: 50px;
}
#kihon .photo_img {
	width: 40%;
	padding: 1em;
}
#kihon .photo_img img {
	border-radius: 20px;
}
#kihon .box {
	width: 60%;
}
#kihon .box table {
	border-spacing: 5px;
	border-collapse: separate;
	width: min(100%, 600px);
	margin-inline: auto;
}
#kihon .box table th {
	padding: 10px;
	border-radius: 5px;
	background-color: #FFF0F0;
	color: #666666;
	font-family: "Kosugi Maru", sans-serif;
	text-align: center;
}
#kihon .box table td {
	padding: 10px;
	border-radius: 5px;
	line-height: 150%;
	font-family: "Kosugi Maru", sans-serif;
	color: #333333;
	background-color: #F8F8F8;
}
/*----Googleマップ----*/

#map {
}
#map iframe {
	width: 100%;
	height: 450px
}
 @media screen and (max-width: 768px) {
.topimg {
	width: min(100% - 20px, 1200px);
	margin-inline: auto;
	padding-top: 100px;
	padding-bottom: 50px;
}
.top_sideimg01 {
	max-width: 20%;
	position: absolute;
	left: 0;
	z-index: 99;
	pointer-events: none;
	bottom: 50px;
}
.top_sideimg02 {
	max-width: 20%;
	position: absolute;
	right: 0;
	z-index: 99;
	pointr-events: none;
	top: 50px
}
#hojin {
	padding-bottom: 50px;
}
#kihon .photo_img {
	width: 100%;
	padding: 1em;
}
#kihon .box {
	width: 100%;
}
#kihon .box table th, #kihon .box table td {
	border-radius: 0;
}
}
 @media screen and (max-width: 480px) {
#hojin .contents {
	text-align: left;
	color: #007D55;
	font-family: "Kosugi Maru", sans-serif;
	line-height: 150%;
	font-size: 16px;
}
}
/*------------------------
　　　　園の特色
-------------------------*/
/*----概要----*/

#gaiyo {
}
#gaiyo table {
	box-sizing: border-box;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	line-height: 1.3em;
}
#gaiyo .re_table tr {
	background-image: url(images/bg_sen_bottom.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}
#gaiyo .re_table th {
	white-space: nowrap;
	padding-right: 1em;
	color: #006699;
	font-weight: bold;
	padding-top: 1em;
}
#gaiyo .re_table td {
	padding-top: 1em;
	padding-bottom: 1.5em;
}
#gaiyo table h3 {
	color: #2C8F9A;
}
 @media screen and (max-width: 768px) {
}
 @media screen and (max-width: 480px) {
}
/*------------------------
　　　　園の生活
-------------------------*/
#life {
	padding-top: 170px;
}
#daily {
	background-image: url(images/bg_fusen_l.png), url(images/bg_fusen_r.png);
	background-position: center left, bottom right;
	background-repeat: no-repeat, no-repeat;
	margin-bottom: 100px;
	}
/*----デイリー----*/
#daily .contents {
	max-width: 1000px;
	background-color: #E9FAF4;
	border-radius: 20px;
	position: relative;
	padding-bottom: 30px;
	padding-top: 30px;
	margin-bottom: 2em;
}
#daily table {
	width: 90%;
	margin: 1em auto;
	box-sizing: border-box;
}

#daily table tr {
	border-bottom: #A5C9A3 dotted 3px;
}
#daily table th {
	padding: 1em;
	font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
	font-size: 1.2em;
	color: #009966;
	width: 4em;
	text-align: right;
}
#daily table td {
	padding: 1em;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 1.1em;
	color: #4D4D00;
	text-align: left;
	padding-right: 270px;
}

.d_photo01 {
	position: absolute;
	top:5%;
	right: 10%;
	width: 27%;
}
.d_photo02{
	position: absolute;
	top:37%;
	right: 10%;
	width: 27%;
}
.d_photo03 {
	position: absolute;
	top:70%;
	right: 10%;
	width: 27%;
}
.d_photo04 {
	position: absolute;
	top:90%;
	right: 10%;
	width: 27%;
}
.d_photo01 img, .d_photo03 img {
	 transform: rotate(2deg);
	  border-radius:5px;
}

.d_photo02 img, .d_photo04 img {
	 transform: rotate(-2deg);
	  border-radius:5px;
}
.d_info {
	width: min(100% - 2em, 600px);
	margin-inline:auto;
	margin-bottom: 2em;
	color: #009966;
	font-family: "Kosugi Maru", sans-serif;
	line-height: 1.5em;

}


@media screen and (max-width: 768px) {
#life {
	padding-top:80px;
}
#daily {
	background-image:none, none; 

}
#daily .contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	align-items: stretch;
	
}
#daily table th {
	font-size: 1.1em;
}


#daily table td {
	padding: 1em;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 1.1em;
	color: #4A4A00;
	text-align: left;
	padding-right: 0px;
	font-size: 1em;
}

.d_photo01 img, .d_photo03 img {
	 transform: rotate(0deg);
	 border-radius:5px;
}

.d_photo02 img, .d_photo04 img {
	 transform: rotate(0deg);
	  border-radius:5px;
}
.d_photo01, .d_photo02, .d_photo03, .d_photo04{
	position: static;
	width:calc(100% / 2 - 10px);
	margin-bottom: 10px;
	padding: 10px;

}
}
 @media screen and (max-width: 480px) {
.d_photo01, .d_photo02, .d_photo03, .d_photo04{
	width:90%;
	margin-bottom: 10px;

}	 
	 
}


/*------------------------
　　　年間行事
-------------------------*/

#year {
	margin-bottom: 30px;
	background-color: #F3F1E9;
	background-image: url(images/bg_sora2.png), url(images/bg_nami_t.png), url(images/bg_nami_u.png);
	background-position: center center, center top -2px, center bottom -2px;
	background-repeat: repeat-x, no-repeat, no-repeat;
	background-size:auto, 100% auto, 100% auto;
	padding-top: 50px;
	padding-bottom: 50px
}
#year .contents {
	width: (100% - 2em, 1400px);
	margin-bottom:50px;
	
}
.y_info {
	width: min(100% - 2em, 1000px);
	text-align: center;
	margin-inline:auto;
	margin-bottom: 2em;
	color: #009966;
	font-family: "Kosugi Maru", sans-serif;

}
.ybox {
	width: calc(100% / 4 - 20px);
	margin-bottom: 1em;
	font-family: "Kosugi Maru", sans-serif;
	color: #663333;	
}
.ybox h3 {
	width: 100%;
	margin-inline: auto;
	padding: 10px;
	background-color: #FBD5DA;
	border-radius: 7px;
	text-align: center;
	margin-bottom: 1em;
	box-sizing: border-box;
	font-size: 1.3em;
	color: #FFFFFF;
	font-family: "Zen Maru Gothic", serif;
	font-weight:bold;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.3);


}

.ybox2 {
	width: calc(100% / 2 - 20px);	
	margin-bottom: 1em;
	font-family: "Kosugi Maru", sans-serif;
	color: #663333;
	box-sizing: border-box;
}
.ybox2 h3 {
	width: 100%;
	margin-inline: auto;
	padding: 10px;
	background-color: #7CCF95;
	border-radius: 7px;
	text-align: center;
	margin-bottom: 1em;
	box-sizing: border-box;
	font-size: 1.3em;
	color: #FFFFFF;
	font-family: "Zen Maru Gothic", serif;
	font-weight:bold;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.3);

}
	
	
.ybox ul, .ybox2 ul {
	width: 90%;
	margin-inline:auto;
}

.ybox ul li,  .ybox2 ul li{
	margin-bottom: .7em;
	padding-left:1em;
}

.album4 {
	width: min(100%, 1400px);
	margin: 0 auto 2em auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
	
.album4 img {
  width: 100%;
  aspect-ratio: 4 / 3; 
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.album4 figcaption {
  margin-top: 0.5em;
  text-align: center;
  font-size: 0.9rem;
  color: #555;
}

	
 @media screen and (max-width: 768px) {
.ybox {
	width: calc(100% / 2 - 20px);
	margin-bottom: 1em;
}
.ybox2 {
	width:100%;
	margin-bottom: 1em
}	 
	 
}
 @media screen and (max-width: 480px) {
.ybox, .ybox2 {
	width:100%;
	margin-bottom: 1em
}
 
}



/*------------------------
　　　情報開示
-------------------------*/

#joho {
	padding-top: 170px;
	background-image: url(images/bg_eda_l.png), url(images/bg_eda_r.png);
	background-repeat: no-repeat, no-repeat;
	background-position: center left, center right;
} 

#joho ul {
	max-width: 800px;
	margin-inline: auto;
}

#joho li {
	background-color: #FFE8EA;
    display: flex;
    align-items: center;
    padding: 0;
	margin-bottom:2em;
	border-radius: 10px;
}

#joho li a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .8em 1em;
	text-decoration: none;
	color: #786961;
}


#joho li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f15b";
	margin-right: 1em;
	color: #399B74;
	font-size: 1.2em
}
/* マウスオーバー時 */
#joho li:hover {
	color: #006633;
	background-color: #CFEFDF;
	cursor: pointer;
}

#kaiji {
	margin-bottom: 100px;
}



 @media screen and (max-width: 1200px) {
	 
#joho {
	padding-top: 250px;
	background-image: none, none;
	
} 
}
 @media screen and (max-width: 768px) {	 
#joho {
	padding-top: 150px;
} 
}

 @media screen and (max-width: 480px) {
#joho {
	padding-top:70px;
} 
	 
	 
}












/*------------------------
　　　　ブログ
-------------------------*/
#info {
	padding-top:170px;
	background-image: url(images/bg_sora.png);
	background-repeat: repeat-x;
	background-position:top 50% center;
}


#blog {
	padding-top: 30px;
	width: min(100% - 2em, 1400px);
	margin: 0 auto 2em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#category {
	width: 25%;
	box-sizing: border-box;

}


#blog_main {
	width: 72%;
	box-sizing: border-box;
}
/*----カテゴリー----*/
.categorybox {
	background-color: #F8F4EF;
	border-radius: 10px;
	padding: 1em;
}

#category h3 {
	text-align: center;
	margin-bottom: 2em;
	font-size: 1.2em;
}
#blog #category h3 {
	color: #0099CC;
}
#category ul {
	box-sizing: border-box;
	border-radius: 20px;
	padding: 1em;
}
#category li {
	margin-bottom: 1em;
	border-bottom: 2px #CCCCCC dotted;
	padding-bottom: 5px;
	 font-family: "Kosugi Maru", sans-serif;

}
#category li a{
	color: #009966;
}
#category li a:hover{
	color: #99CC33;
}
/*----ブログ記事----*/
.blogbox {
	background-color: #F8F4EF;
	border-radius: 1em;
	margin-bottom: 2em;
	padding: 1em;
	box-sizing: border-box;
	padding-bottom: 2em;
}
.blogbox h3 {
	font-size: 1.2em;
	font-weight: bold;
	padding: 1em;
	font-family: "Kosugi Maru", sans-serif;
	background-color: #C7DE96;
	color: #063;
	background-image: url(images/bg_ribon_r.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	border-radius: 7px 0 0 7px;
}
.blog_date {
	text-align: left;
	font-size: 0.85em;
	padding: 0.5em;
	color: #096;
}
.blog_photo .album3 li figure img {
	width: 100%;
	max-width: 500px;
	height: auto;
	margin: .5em auto;
	display: block;
	border-radius: 7px;
}
/*記事本文*/
.blog_txt {
	margin-top: 1em;
	margin-bottom: 1em;
	width: 96%;
	margin-right: auto;
	margin-left: auto;
	line-height: 1.5em;
	color: #663300;
}
/*ブログ写真横3枚*/
.blog_photo {
	margin-top: 1em;
	margin-bottom: 1em;
}
/*PDF貼り付け*/
#blog .pdf {
	padding: 1em;
	width: 90%;
	margin: 1em auto 1em auto;
	border-radius: 10px;
}
/*YOUTUBE*/
.movie {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
/*----ブログのページャー ----*/
.pager .pagination {
	text-align: center;
}
.pager .pagination li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	width: 50px;
	height: 50px;
	text-align: center;
	position: relative;
	border-radius: 10px;
	background-color: #7ECD49;
}
.pager .pagination li a {
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: table;
	color: #fff;
	text-decoration: none;
}
.pager .pagination li a span {
	display: table-cell;
	vertical-align: middle;
}
.pager .pagination li a:hover, .pager .pagination li a.active {
	color: #000;
	border-radius: 10px;
	background-color: #DFEEA4;
}
 @media only screen and (max-width: 768px) {
.pager .pagination li {
	display: none;
}
.pager .pagination li.pre, .pager .pagination li.next {
	display: inline-block;
	width: 40%;
	height: 50px;
	text-align: center;
}
.pager .pagination li.pre a, .pager .pagination li.next a {
	width: 100%;
	text-align: center;
}
.pager .pagination li.pre span::after {
	content: "　前の記事へ";
}
.pager .pagination li.next span::before {
	content: "次の記事へ　";
}
}
/*----ページャーここまで------*/





 @media screen and (max-width:768px) {
#info {
	padding-top:80px;
	background-image:none;
}
	 
#blog {
	width: min(100% - 2em);
	margin: 2em auto 2em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
#category {
	width: min(100% - 2em);
	margin-inline: auto;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 2em;
}
#blog_main {
	width: 100%;
	box-sizing: border-box;
}
}
/*----------------------スマートフォンでの表示------------------------------------*/	 


 @media screen and (max-width:480px) {
}
/*==========================フォント===========================================*/

.m-plus-rounded-1c-regular {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.kiwi-maru-regular {
	font-family: "Kiwi Maru", serif;
	font-weight: 400;
	font-style: normal;
}
.yusei-magic-regular {
	font-family: "Yusei Magic", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.yomogi-regular {
	font-family: "Yomogi", cursive;
	font-weight: 400;
	font-style: normal;
}
.stick-regular {
	font-family: "Stick", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.mochiy-pop-one-regular {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.kosugi-maru-regular {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.rocknroll-one-regular {
	font-family: "RocknRoll One", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.zen-maru-gothic-regular {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
}
.m-plus-1p-regular {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-style: normal;
}
/*=========================アニメーション===========================================*/

.fuwafuwa01 {
	animation: fuwafuwa01 2s infinite;
}
@keyframes fuwafuwa01 {
 0%, 100% {
 transform: translate(0, 0);
}
 50% {
 transform: translate(0, 15px);
}
}
.fuwafuwa02 {
	animation: fuwafuwa02 2s infinite;
}
@keyframes fuwafuwa02 {
 0%, 100% {
 transform: translate(0, 0);
}
 50% {
 transform: translate(0, -15px);
}
}
.fuwafuwa03 {
	animation: fuwafuwa03 3s infinite;
}
@keyframes fuwafuwa03 {
 0%, 100% {
 transform: translate(0, 0);
}
 50% {
 transform: translate(0, 20px);
}
}
.yurayura {
	transform-origin: center bottom;
	animation: yurayura 3s linear infinite;
}
 @keyframes yurayura {
 0%, 100% {
 transform: rotate(10deg);
}
 50% {
 transform: rotate(-10deg);
}
}
.yurayura01 {
	animation: yurayura01 2.5s ease-in-out infinite;
	transform-origin: center center; /* 中心を軸に回転 */
}
 @keyframes yurayura01 {
 0% {
 transform: rotate(-10deg); /* 左へ */
}
 50% {
 transform: rotate(10deg);  /* 右へ */
}
 100% {
 transform: rotate(-10deg); /* 左へ戻る */
}
}
