@charset "UTF-8";
/* CSS Document */

/* Reset -------------------------------------------- */

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, strong, 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 {outline: 0;}

ol, ul {list-style: none outside none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

html {overflow-y: scroll;}
body{
font:80%/1.5 Arial,"YuGothic", "Yu Gothic","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color:#000;
-webkit-text-size-adjust: 100%;
background:#fff;
}
html>/**/body {}
* + html body {font-family: "メイリオ","Meiryo";}

object, embed	{vertical-align: top;}
hr, legend	{display: none;}
img {-ms-interpolation-mode: bicubic; }
li	{list-style-type: none;}
p, dd, blockquote {text-align: justify;text-justify: inter-ideograph;}
a	{overflow: hidden;outline: none;}

strong {font-weight: bold;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* -------------------------------------------- */


/* Style -------------------------------------------- */

body {
	color: #000;
	font-size: 16px;
	line-height: 1.7;
	background-color: #fff6d5;
}

a{
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	color: #000;
	transition: all 0.2s linear;
}




/* --------------------------------------------------
  Page Header
-------------------------------------------------- */

header.page {
    box-sizing: border-box;
	width: 100%;
	height: 98px;
    
	position: fixed;
	z-index: 1000;
	
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
    
/*    background-color: #fff6d5;*/
    background-color: rgba(255, 246, 213, 0.95);
    
    transition: all 0.2s linear;
    
    border-bottom: 2px solid #a0c334;
    
    background-image: url("img/img_header_tree.png");
    background-repeat: no-repeat;
    background-position: left 315px bottom 0px;
    background-size: 165px auto;
}
header.page.home {
    border-bottom: 2px solid transparent;
    background-position: left 315px bottom -2px;
}

header.page .sitetitle{
    box-sizing: border-box;
	width: 300px;
	height: 96px;
    padding-top: 10px;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    
    background-color: #ffe172;

	transition: all 0.2s linear;
    
}
header.page #logo{
    width: 210px;
	transition: all 0.2s linear;
}
header.page #logo img{
	width: 100%;
	height: auto;
	transition: all 0.2s linear;
}
header.page.home .sitetitle{
    width: 300px;
    height: 150px;
    padding-top: 15px;
    
    border-radius: 0 0 30px 0;
}
header.page.home #logo{
    width: 250px;
}




/* --------------------------------------------------
  Content
-------------------------------------------------- */

#content{
	width: 100%;
	position: relative;
	z-index: 10;
    
    padding-top: 98px;
}




/* --------------------------------------------------
  Home
-------------------------------------------------- */

#mainImage{
	width: 96%;
    margin: 0 auto;
	
	position: relative;
	z-index: 10;

    border-radius: 50px;
    border: 2px solid #a0c334;
    
    margin-bottom: 35px;
}
#mainImage .imageArea{
    box-sizing: border-box;
	width: 100%;
    margin: 0 auto;
	display: block;
	position: relative;
	z-index: 20;
	overflow: hidden;
	
	background-color: #fffaea;
	
	line-height: 0;
    
    border-radius: 50px;
    border: 8px solid #ededed;
}
#mainImage .imageArea .loading{
	position: absolute;
	z-index: 25;
	top: 50%;
	left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#mainImage .imageArea .loading i{
	color: #a0c334;
}
#mainImage .imageArea::before{
	content:"";
	display: block;
	padding-top: 66%;
}
    
#mainImage .imageArea ul#mainSlide{
    display: none;
}
#mainImage .imageArea ul#mainSlide img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
    
    z-index: 30;
}
#mainImage .imageArea ul#mainCopy{
    width: 100%;
    height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;
    z-index: 50;
    
    display: none;
}
#mainImage .imageArea ul#mainCopy li{
    box-sizing: border-box;
    display: inline-block;
    line-height: 0;
    
    padding: 30px 50px 30px 80px;
    
    position: absolute;
    right: 0;
    bottom: 0;
    
    background-color: rgba(109, 131, 8, 0.7);
    border-radius: 50px 0 0 0;
}
#mainImage .imageArea ul#mainCopy li img{
    width: auto;
    height: 80px;
}



#topics{
    width: 95%;
    margin: 0 auto;
    max-width: 800px;
}
#topics table{
    width: 100%;
    
    border-top: 1px solid #5d5d5d;
    
    margin-bottom: 30px;
}
#topics table tr{
    vertical-align: middle;
}
#topics table th,
#topics table td{
    padding: 10px 15px;
    
    font-size: 14px;
    line-height: 1.5;

    vertical-align: middle;

    border-bottom: 1px solid #5d5d5d;
}
#topics table th{
    width: 10%;
    white-space: nowrap;
}
#topics table td.cat{
    width: 10%;
}
#topics table td.cat .name{
    box-sizing: border-box;
    display: inline-block;
    width: 6em;
    padding: 3px 0;
    font-size: 13px;
    text-align: center;
    line-height: 1.0;
    color: #fff;
    white-space: nowrap;
    background-color: #1e2678;
}
#topics table td.cat .name.info{
    background-color: #1e2678;
}
#topics table td.cat .name.preschool{
    background-color: #5b91c7;
}
#topics table td.cat .name.lunch{
    background-color: #a07eb8;
}
#topics table td.cat .name.portfolio{
    background-color: #b8b67e;
    letter-spacing: -0.25em;
}
#topics table td.cat .name.event{
    background-color: #8fc077;
}

#topics table td a{
    display: block;
}



#homePolicy{
    width: 100%;
    margin: 0 auto;
    max-width: 1100px;
    
    padding-bottom: 30px;
}
#homePolicy ul{
    width: 100%;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    
}
#homePolicy li{
    width: 16%;
    background-color: #fff8ef;
    
    overflow:hidden;
    
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}
#homePolicy li:nth-child(2n){
    background-color: #fef2e1;
}
#homePolicy li:first-child{
    border-radius: 15px 0 0 15px;
}
#homePolicy li:last-child{
    border-radius: 0 15px 15px 0;
}
#homePolicy li .text{
    box-sizing: border-box;
    width: 100%;
    
    padding: 20px 16px 12px;
}
#homePolicy li .title{
    text-align: center;
    font-size: 18px;
    color: #738c00;
    line-height: 1.0;
    margin-bottom: 15px;
}
#homePolicy li .desc{
    font-size: 13px;
    line-height: 1.5;
}
#homePolicy li .image{
	display: block;
	position: relative;

	width: 100%;
	overflow:hidden;
	
	line-height: 0;
}
#homePolicy li .image:before {
	content:"";
	display: block;
	padding-top: 75%;
}
#homePolicy li .image img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}


#homePickup{
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    
    margin-bottom: -10px;
}
#homePickup ul{
    width: 100%;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
}
#homePickup li{
    width: 31%;
    position: relative;
    
    margin-bottom: 30px;
}
#homePickup li:nth-child(2){
    margin-top: 50px;
}
#homePickup li a{
    display: block;
    width: 100%;
    height: 100%;
    
    position: relative;
}
#homePickup li .image{

	display: block;
	position: relative;
    
	overflow:hidden;
	
	line-height: 0;
    
    
    z-index: 180;
    width: 92%;
    margin: 0 auto;
    border: 10px solid #fff;
    border-radius: 50%;
}
#homePickup li .image:before {
	content:"";
	display: block;
	padding-top: 100%;
}
#homePickup li .image img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}
#homePickup li a:hover .image img{
	transform: scale(1.1);
}

#homePickup li .label{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 200;
    
    overflow:hidden;
    
    width: 40%;
    
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    background-color: #6cac18;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    
    border-radius: 50%;
    
	transition: all 0.3s linear;
}
#homePickup li .label::after{
	content: "";
	margin-top: -6px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    
}
#homePickup li .label:before {
	content:"";
	display: block;
	padding-top: 100%;
}
#homePickup li a:hover .label{
    background-color: #98d24c;
}

#homePickup li .desc{
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 20px;
    font-size: 15px;
    color: #fff;
}



#homeFirsttime{
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    
    margin-bottom: -10px;
}
#homeFirsttime ul{
    width: 100%;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#homeFirsttime li{
    width: 31%;
    position: relative;
    
    margin-bottom: 30px;
}
#homeFirsttime li a{
    display: block;
    width: 100%;
    height: 100%;
    
    position: relative;
}
#homeFirsttime li .image{

	display: block;
	position: relative;
    
	overflow:hidden;
	
	line-height: 0;
    
    
    z-index: 180;
    width: 100%;
    margin: 0 auto;
    border-radius: 30px;
    
    margin-bottom: 25px;
}
#homeFirsttime li .image:before {
	content:"";
	display: block;
	padding-top: 66%;
}
#homeFirsttime li .image img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}
#homeFirsttime li a:hover .image img{
	transform: scale(1.1);
}

#homeFirsttime li .title{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
    color: #738c00;

    margin-bottom: 18px;
}
#homeFirsttime li .desc{
    display: block;
    width: 90%;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.5;

    margin-bottom: 18px;
}

#homeFirsttime li .linkBtn{
    display: block;
    text-align: center;
}
#homeFirsttime li .detail{
    box-sizing: border-box;
    display: inline-block;

    min-width: 200px;
    padding: 10px 50px;
    margin: 0 auto;
    
    font-size: 14px;

    position: relative;
    
    color: #fff;
    line-height: 1.0;
    white-space: nowrap;
    border-radius: 30px;
    text-align: center;
    
    background-color: #f04f11;
    
	transition: all 0.3s linear;
}

#homeFirsttime li .detail::after{
	content: "";
	margin-top: -6px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    
}
#homeFirsttime li a:hover .detail{
    background-color: #f6926c;
}


#homeHagaki{
    width: 100%;
    margin: 0 auto;
    max-width: 950px;
    
    display: flex;
    flex-wrap: wrap;
    
    justify-content: space-between;
    align-content: center;
    align-items: center;
}
#homeHagaki .text{
    width: 48%;
}
#homeHagaki .image{
    width: 50%;
    line-height: 0;
}
#homeHagaki .image img{
    display: block;
    width: 100%;
    height: auto;
    
    border: 1px solid #ccc;
    border-radius: 10px;
}

#homeHagaki .title{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
    color: #738c00;

    margin-bottom: 30px;
}
#homeHagaki .desc{
    display: block;
    width: 90%;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.5;

    margin-bottom: 30px;
}
#homeHagaki .cmnBtn{
    text-align: center;
}







/* --------------------------------------------------
  Common
-------------------------------------------------- */

.secBlk{
    width: 100%;
    background-color: #fff;
    position: relative;
    z-index: 50;

    padding: 40px 0;
}
.awp{
    overflow: hidden;
    position: relative;
    z-index: 45;
}
.secBlk.ye1, .awp.ye1{ background-color: #fffaea; }
.secBlk.ye2, .awp.ye2{ background-color: #fffcf3; }
.secBlk.ye3, .awp.ye3{ background-color: #fffcf0; }
.secBlk.or1, .awp.or1{ background-color: #ffeacc; }
.secBlk.or2, .awp.or2{ background-color: #fffaea; }
.secBlk.or3, .awp.or3{ background-color: #fff2e0; }
.secBlk.or4, .awp.or4{ background-color: #fff3e3; }
.secBlk.gr1, .awp.gr1{ background-color: #f7ffed; }
.secBlk.gr2, .awp.gr2{ background-color: #f3fde6; }
.secBlk.gl1, .awp.gl1{ background-color: #f6f6f6; }
.secBlk.wbr1, .awp.wbr1{
    background-image: url("img/bg_wbr1.jpg");
    background-repeat: repeat;
    background-position: center top -50px;
}
.secBlk.wbr1.bz, .awp.wbr1.bz{
    background-position: center bottom -784px;
}
.secBlk.wbr1.uon, .awp.wbr1.uon{
    background-position: center top -644px;
}
.secBlk.wwh1, .awp.wwh1{
    background-image: url("img/bg_wwh1.jpg");
    background-repeat: repeat;
    background-position: left top -100px;
}
.secBlk.wwh1.bz, .awp.wwh1.bz{
    background-position: left bottom -432px;
}
.secBlk.grass1, .awp.grass1{
    background-image: url("img/bg_grass1.jpg");
    background-repeat: repeat;
    background-position: center top;
}
.secBlk.canvas1, .awp.canvas1{
    background-image: url("img/bg_canvas1.jpg");
    background-repeat: repeat;
    background-position: center top -60px;
}
.secBlk.canvas1.bz, .awp.canvas1.bz{
    background-position: center bottom -407px;
}

.secBlk.uflf{
    z-index: 50;
    padding: 40px 0;
}
.secBlk.uflp{
    z-index: 60;
    padding: 40px 0;
    
    min-height: 200px;
    border-radius: 0 0 50% 50%;
    margin-left: -300px;
    margin-right: -300px;
    padding-left: 300px;
    padding-right: 300px;
}
.secBlk.uplf{
    z-index: 60;
    padding: 60px 0 40px;
    
    min-height: 200px;
    border-radius: 50% 50% 0 0;
    margin-left: -300px;
    margin-right: -300px;
    padding-left: 300px;
    padding-right: 300px;
}
.secBlk.npt{
    padding-top: 0;
}
.secBlk.npb{
    padding-bottom: 0;
}
.secBlk.uplf.uo{
    margin-bottom: -240px;
}
.secBlk.uflp.lo{
    margin-top: -240px;
}



.secBlk .content{
    width: 90%;
    margin: 0 auto;
}
.secBlk h2{
    width: 100%;
    margin: 0 auto;
    
    font-size: 22px;
    color: #5d5d5d;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: bold;
    
    text-align: center;
    
    padding-bottom: 26px;
    margin-bottom: 40px;
    
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 240px auto;
}
.secBlk h2.wl{
    color: #fff;
}
.secBlk h2.gr1{ background-image: url("img/bg_h2_gr1.png"); }
.secBlk h2.or1{ background-image: url("img/bg_h2_or1.png"); }
.secBlk h2.or2{ background-image: url("img/bg_h2_or2.png"); }
.secBlk h2.ye1{ background-image: url("img/bg_h2_ye1.png"); }
.secBlk h2.gr2{ background-image: url("img/bg_h2_gr2.png"); }
.secBlk h2.br1{ background-image: url("img/bg_h2_br1.png"); }
.secBlk h2.ye2{ background-image: url("img/bg_h2_ye2.png"); }
.secBlk h2.pu1{ background-image: url("img/bg_h2_pu1.png"); }
.secBlk h2.bl1{ background-image: url("img/bg_h2_bl1.png"); }

.secBlk h2 br.nw{
    display: none;
}

.secBlk h3{
    width: 100%;
    
    font-size: 18px;
    font-weight: bold;
    color: #4e180c;
    line-height: 1.5;
    
    margin-bottom: 25px;
}
.secBlk h4{
    width: 100%;
    
    font-size: 17px;
    font-weight: bold;
    color: #4e180c;
    line-height: 1.5;
    
    margin-bottom: 20px;
}
.secBlk h5{
    width: 100%;
    
    font-size: 16px;
    font-weight: bold;
    color: #4e180c;
    line-height: 1.5;
    
    margin-bottom: 15px;
}
.secBlk h3.ct,
.secBlk h4.ct,
.secBlk h5.ct{
    text-align: center;
}
.secBlk p{
    font-size: 15px;
    line-height: 1.8;
}

.secBlk p.has-small-font-size{font-size:.8125em}
.secBlk p.has-normal-font-size, .secBlk p.has-regular-font-size{font-size:1em}
.secBlk p.has-medium-font-size{font-size:1.25em}
.secBlk p.has-large-font-size{font-size:2.25em}
.secBlk p.has-huge-font-size, .secBlk p.has-larger-font-size{font-size:2.625em}

.secBlk ul.normal{
    font-size: 15px;
}
.secBlk ul.bullet{
    list-style-type: disc;
    padding-left: 1.5em;
}
.secBlk ul.bullet li{
    list-style-type: disc;
    padding-bottom: 15px;
}
.secBlk ul.bullet.npb li{
    padding-bottom: 0;
}
.secBlk img.fw{
    width: 100%;
    height: auto;
}
.secBlk img.rc{
    display: block;
    border-radius: 10px;
}

.secBlk .catchphrase{
    width: 100%;
    margin: 0 auto;
    
    text-align: center;
    color: #4e180c;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
}
.secBlk .catchphrase br.nw{
    display: none;
}
.secBlk .lead{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 30px;
}
.secBlk .lead.ct{
    text-align: center;
}

.cmnBtn.ct{
    text-align: center;
}
.cmnBtn a{
    box-sizing: border-box;
    display: inline-block;

    min-width: 250px;
    padding: 15px 50px;
    font-size: 14px;
    
    position: relative;
    
    color: #fff;
    line-height: 1.0;
    white-space: nowrap;
    border-radius: 30px;
    text-align: center;
    
    background-color: #f04f11;

}
.cmnBtn a:hover{
    background-color: #f6926c;
}

.cmnBtn a::after{
	content: "";
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 5px;
	height: 5px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cmnBtn.blk a{
    background-color: #000;
}
.cmnBtn.blk a:hover{
    background-color: #666;
}
.cmnBtn.bnk a{
    background-color: #e73079;
}
.cmnBtn.bnk a:hover{
    background-color: #e95c94;
}

.cmnBtn.compact a{
    padding: 10px 50px;
    font-size: 14px;

    border-radius: 30px;
}
.cmnBtn.detail a::after{
    content: "";
}

.cmnBtn.detail a{
    padding: 5px 20px;
    font-size: 14px;

    border-radius: 20px;
}
.cmnBtn.detail a::after{
    content: "";
}

.cmnBtn.back a{
    min-width: 150px;
    background-color: #000;
    
    padding: 10px 50px;


    border-radius: 30px;
}
.cmnBtn.back a::after{
	content: "";
	margin-top: -4px;
	top: 50%;
	right: auto;
	left: 15px;
	width: 5px;
	height: 5px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}




/* --------------------------------------------------
  Sub
-------------------------------------------------- */

#subMain{
    margin-top: -2px;
    border-top: 2px solid #a0c334;
    border-bottom: 2px solid #a0c334;
}
#subMain .content{
	width: 100%;
	position: relative;
	z-index: 120;
	overflow: hidden;
	
	line-height: 0;
    
    display: flex;
    justify-content: center;
    align-items: center;

    border-top: 8px solid #ededed;
    border-bottom: 8px solid #ededed;
}
#subMain .content::before{
	content:"";
	display: block;
	padding-top: 27%;
}
#subMain .content img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#subMain .content h1{
    box-sizing: border-box;

    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    
    bottom: -48px;
    
    width: 50%;
    min-width: 400px;
    height: 96px;
    padding: 12px 50px;
    text-align: center;

    color: #fff;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.0;
    
    background-color: rgba(136, 136, 136, 0.7);
    border-radius: 48px 48px 0 0;
}
#subMain .content h1.education{
    background-color: rgba(0, 200, 220, 0.7);
}
#subMain .content h1.life{
    background-color: rgba(255, 162, 0, 0.7);
}
#subMain .content h1.entry{
    background-color: rgba(116, 207, 0, 0.7);
}
#subMain .content h1.preschool{
    background-color: rgba(238, 228, 0, 0.7);
}
#subMain .content h1.aboutus{
    background-color: rgba(240, 44, 80, 0.7);
}
#subMain .content h1.careers{
    background-color: rgba(122, 14, 204, 0.7);
}



#subIndex{
	width: 100%;
    max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0 0;
    
	position: relative;
	z-index: 150;
}
#subIndex ul{
	width: 100%;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
#subIndex li{
    box-sizing: border-box;
	width: 29%;
    margin: 0 2%;
    
    overflow: hidden;
    border-radius: 15px;
	
    background-color: #fff;

    margin-bottom: 40px;
}
#subIndex li a{
	display: flex;
	width: 100%;
    height: 100%;
    
    flex-wrap: wrap;
    align-content: space-between;
}
#subIndex li a.wd{
    align-content: flex-start;
}
#subIndex li .image{
	display: block;
	position: relative;
	z-index: 110;

	width: 100%;
	overflow:hidden;
	
	line-height: 0;
}
#subIndex li .image:before {
	content:"";
	display: block;
	padding-top: 50%;
}
#subIndex li .image img{
	display: block;
	width: auto;
	height: 100%;
    
    margin: 0 auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}
#subIndex li a:hover .image img{
	transform: scale(1.1);
}
#subIndex .text{
    display: block;
    width: 90%;
    margin: 0 auto;
    padding: 30px 0 30px;
}
#subIndex .title{
    display: block;
    text-align: center;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 25px;
}
#subIndex .desc{
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 25px;
}
#subIndex li .link{
    display: block;
    width: 80%;
    margin: 0 auto;
}
#subIndex li .link .btn{
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
    
    position: relative;

    padding: 12px 18px;
    font-size: 14px;
    color: #fff;
    line-height: 1.0;
    white-space: nowrap;
    border-radius: 24px;
    text-align: center;

    background-color: #999;
    
    cursor: pointer;
    box-shadow: 0 1px 7px rgba(0,0,0,0.2);

    transition: all 0.2s linear;

}
#subIndex li .link .btn::after{
	content: "";
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 5px;
	height: 5px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#subIndex li a:hover .link .btn{
    opacity: 0.9;
    box-shadow: none;
}

#subIndex.education li .link .btn{
    background-color: #00c8dc;
}
#subIndex.life li .link .btn{
    background-color: #ffa200;
}
#subIndex.entry li .link .btn{
    background-color: #74cf00;
}
#subIndex.preschool li .link .btn{
    color: #6a6600;
    background-color: #fff400;
}
#subIndex.aboutus li .link .btn{
    background-color: #f02c50;
}
#subIndex.careers li .link .btn{
    background-color: #7a0ecc;
}



.education ul.goal{
    width: 100%;
    max-width: 780px;
    margin: 0 auto;    
}
.education ul.goal li{
    box-sizing: border-box;
    width: 100%;
    
    padding: 12px 40px 10px;
    
    text-align: center;
    font-size: 24px;
    line-height: 1.3;
    color: #4e180c;
    
    background-color: rgba(78, 24, 12, 0.1);
    border-radius: 25px;
    
    margin-bottom: 18px;
}

.education ul.policy{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.education ul.policy li{
    width: 46%;
    position: relative;
    
    padding-top: 75px;
    margin-bottom: 50px;
}
.education ul.policy li .title{
    width: 150px;
    position: absolute;
    z-index: 120;
    
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    
    top: 0;
}
.education ul.policy li .title img{
    width: 100%;
    height: auto;
}

.education ul.policy li .image{
	display: block;
	position: relative;
	z-index: 110;

	width: 100%;
	overflow:hidden;
	
	line-height: 0;
    
    border-radius: 30px;
    
    margin-bottom: 35px;
}
.education ul.policy li .image:before {
	content:"";
	display: block;
	padding-top: 66%;
}
.education ul.policy li .image img{
	display: block;
	width: auto;
	height: 100%;
    
    margin: 0 auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}


.education .envBlk{
    box-sizing: border-box;
    width: 100%;
    
    padding: 0 0 30px;
}
.education .envBlk.last{
    border-bottom: 2px solid #5fa900;
}
.education .envBlk .titleArea{
    width: 100%;
    border-top: 2px solid #5fa900;
    
    text-align: center;
    
    margin-bottom: 60px;
}
.education .envBlk .title{
    display: inline-block;
    min-width: 330px;
    
    text-align: center;
    padding: 10px 20px;

    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.0;
    white-space: nowrap;
    
    background-color: #5fa900;
    border-radius: 0 0 20px 20px;
}

.education .envBlk.biotope .titleArea{
    border-top: 2px solid #664a28;
}
.education .envBlk.biotope .title{
    background-color: #664a28;
}
.education .envBlk.tamago .titleArea{
    border-top: 2px solid #fcb857;
}
.education .envBlk.tamago .title{
    background-color: #fcb857;
}

.education ul.env{
    width: 95%;
    max-width: 1150px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.education ul.env li{
    width: 29%;
    margin: 0 2% 30px;
}
.education ul.env li .image{
    width: 100%;
    line-height: 0;
    overflow: hidden;
    border-radius: 10px;
    
    margin-bottom: 12px;
}
.education ul.env li .image img{
    display: block;
    width: 100%;
    height: auto;
}
.education ul.env li .caption{
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}
.education ul.env li.fwcap{
    width: 100%;
    margin-top: -30px;
}

.education .activity{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    position: relative;
    z-index: 300;
    
    display: flex;
    flex-wrap: wrap;
    
    padding-top: 40px;
    margin-bottom: 60px;
}
.education .activity.il{
    flex-direction: row;
}
.education .activity.ir{
    flex-direction: row-reverse;
}
.education .activity .image{
    box-sizing: border-box;
    width: 34%;
    
    position: relative;
    z-index: 320;
}
.education .activity .image img{
    display: block;
    width: 118%;
    height: auto;
    
    position: absolute;
    left: 0;
    top: -40px;
    
    border-radius: 20px;
}
.education .activity.il .image img{
    left: 0;
}
.education .activity.ir .image img{
    left: auto;
    right: 0;
}

.education .activity .text{
    box-sizing: border-box;
    width: 66%;
    min-height: 280px;
    
    padding: 35px 55px;
    
    position: relative;
    z-index: 310;
    
    border: 8px solid #eee;
    background-color: #fff;
    border-radius: 20px;
    
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
}
.education .activity.il .text{
    padding-left: 85px;
}
.education .activity.ir .text{
    padding-right: 85px;
}


.life h2.class{
    box-sizing: border-box;
    width: 180px;
    height: 180px;
    margin: -20px auto 25px;
    
    overflow: hidden;
    padding-left: 100%;
    
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 180px auto;
}
.life h2.class.c01{
    background-image: url("img/title_class_01.png");
}
.life h2.class.c02{
    background-image: url("img/title_class_02.png");
}

.life table.class{
    margin: 0 auto 30px;
}
.life table.class th{
    padding: 1px 0;
}
.life table.class th .label{
    box-sizing: border-box;
    display: block;
    
    padding: 4px 10px;
    
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    background-color: #f3703a;
    border-radius: 5px;
    
    line-height: 1.0;
    white-space: nowrap;
}
.life table.class td{
    box-sizing: border-box;
    padding: 3px 10px;
    font-size: 15px;
}
.life table.class.c01 th .label{
    background-color: #f3703a;
}
.life table.class.c02 th .label{
    background-color: #7dba2e;
}




.tabArea {
    width: 100%;
    background-color: #fffcf3;
}

.tabItem {
    display: block;
    width: 50%;
    height: 80px;
    line-height: 0;
    
    float: left;
    
    transition: all 0.2s ease;
    
    box-sizing: border-box;
    overflow: hidden;
    padding-left: 50%;
    
    cursor: pointer;
}
.tabItem.c01 {
    background-image: url("img/tab_c01.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 370px 60px;
}
.tabItem.c01:hover {
    background-image: url("img/tab_c01_hover.png");
}
.tabItem.c02 {
    background-image: url("img/tab_c02.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 370px 60px;
}
.tabItem.c02:hover {
    background-image: url("img/tab_c02_hover.png");
}
input[name="tabItem"] {
    display: none;
}
.tabContent {
    display: none;
    clear: both;
    overflow: hidden;
}
#c01:checked ~ #c01Content,
#c02:checked ~ #c02Content{
    display: block;
}
.tabArea input:checked + .tabItem.c01{
    background-image: url("img/tab_active_c01.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 370px 80px;
}
.tabArea input:checked + .tabItem.c02{
    background-image: url("img/tab_active_c02.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 370px 80px;
}
.secBlk.tab01{
    border-top-width: 10px;
    border-top-style: solid;
    border-top-color: #f3703a;
    position: relative;
    
    padding: 60px 0 30px;
}
.secBlk.tab01::after{
    content: "";
    position: absolute;
    right: 50%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 30px 0 30px;
    border-color: #f3703a transparent transparent transparent;
}
.secBlk.tab02{
    border-top-width: 10px;
    border-top-style: solid;
    border-top-color: #7fba31;
    position: relative;

    padding: 60px 0 30px;
}
.secBlk.tab02::after{
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 30px 0 30px;
    border-color: #7fba31 transparent transparent transparent;
}


.life .day{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    position: relative;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
    background-image: url("img/icon_clock.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 70px auto;
}
.life .day::after{
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    
    bottom: 0;
    
    width: 10px;
    height: 10px;
    background-color: #3a3a3a;
    border-radius: 50%;
}
.life .day .titleArea{
    width: 43%;
    padding: 12px 0 35px;
}
.life .day .titleArea .title{
    box-sizing: border-box;
    width: 100%;
    
    padding: 10px 20px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #2a1d15;
    line-height: 1.0;
    border-radius: 20px;
}
.life .day.c01 .titleArea .title{
    background-color: #fddcc5;
}
.life .day.c02 .titleArea .title{
    background-color: #dff2c7;
}
.life .day .scBlock{
    box-sizing: border-box;
    width: 50%;
    position: relative;
    
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.life .day .scBlock:nth-child(2n-1){
    border-right: 2px solid #3a3a3a;
    justify-content: flex-start;
}
.life .day .scBlock:nth-child(2n){
    justify-content: flex-end;
}
.life .day .scBlock:nth-child(50n-97){
    padding-top: 15px;
}
.life .day .scBlock:nth-child(50n-96){
    padding-top: 15px;
}
.life .day .scBlock .item{
    box-sizing: border-box;
    width: 86%;
    
    position: relative;
    
    background-color: #fff;
    padding: 18px 25px 16px;
    border-radius: 20px;
    
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    color: #2a1d15;
    line-height: 1.3;
    
    margin-bottom: 30px;
}
.life .day .scBlock .item.mbm{
    margin-bottom: 75px;
}
.life .day .scBlock .item.mbl{
    margin-bottom: 100px;
}
.life .day .scBlock .item.mtm{
    margin-top: 30px;
}
.life .day .scBlock .item .time{
    box-sizing: border-box;
    width: 22%;

    padding: 5px 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background-color: #3a3a3a;
    line-height: 1.0;
    border-radius: 20px;
    
    position: absolute;
    top: -15px;
}
.life .day .scBlock:nth-child(2n-1) .item .time{
    right: -8%;
}
.life .day .scBlock:nth-child(2n) .item .time{
    left: -8%;
}
.life .day .scBlock .item.image{
    padding: 0;
    line-height: 0;
    overflow: hidden;
    position: relative;
    margin-top: -15px;
}
.life .day .scBlock .item.image img{
    width: 100%;
    height: auto;
}

.life .daynote{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding-top: 30px;
}
.life .daynote a{
    text-decoration: underline;
}
.life .daynote a:hover{
    text-decoration: none;
}


.life .events{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    position: relative;
    
    padding-bottom: 10px;
}
.life .events .eventList{
    box-sizing: border-box;
    width: 100%;
    
    display: flex;
    align-content: center;
    align-items: center;
    
    position: relative;
    z-index: 100;
    
    background-color: #fff;
    border-radius: 20px;
    
    margin-bottom: 10px;
}
.life .events .eventList .title{
    position: absolute;
    z-index: 120;
    top: 50%;
    left: 30%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    
    width: 140px;
    height: 140px;
    line-height: 0;
}
.life .events .eventList .title .label{
    position: absolute;
    z-index: 125;
    top: 0;
    left: -70px;

    width: 140px;
    height: 140px;
    
    overflow: hidden;
    box-sizing: border-box;
    padding-left: 100%;
    
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 140px auto;
}
.life .events .eventList .title .label.spring{
    background-image: url("img/label_season_spring.png");
}
.life .events .eventList .title .label.summer{
    background-image: url("img/label_season_summer.png");
}
.life .events .eventList .title .label.fall{
    background-image: url("img/label_season_fall.png");
}
.life .events .eventList .title .label.winter{
    background-image: url("img/label_season_winter.png");
}
.life .events .eventList .image{
	display: block;
	position: relative;
	z-index: 110;

	width: 30%;
	overflow:hidden;
	
	line-height: 0;
    
    border-radius: 20px 0 0 20px;
}
.life .events .eventList .image:before {
	content:"";
	display: block;
	padding-top: 85%;
}
.life .events .eventList .image img{
	display: block;
	width: auto;
	height: 100%;
    
    margin: 0 auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}

.life .events .eventList .text{
    box-sizing: border-box;
	position: relative;
	z-index: 110;

	width: 70%;
    border-radius: 0 20px 20px 0;
    
    display: flex;
    align-content: center;
    align-items: center;
    
    padding: 20px 20px 20px 90px;
}

.life .events .eventList table{
}
.life .events .eventList table th{
    padding: 1px 0;
}
.life .events .eventList table th .label{
    box-sizing: border-box;
    display: block;
    
    width: 3.5em;
    text-align: center;
    
    padding: 4px 5px;
    
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    background-color: #2a1d15;
    border-radius: 5px;
    
    line-height: 1.0;
    white-space: nowrap;
}
.life .events .eventList table td{
    box-sizing: border-box;
    padding: 3px 10px;
    font-size: 15px;
}
.life .events .eventList table th .label.apr{ background-color: #ff7d81; }
.life .events .eventList table th .label.may{ background-color: #1cde40; }
.life .events .eventList table th .label.jun{ background-color: #dc1cde; }
.life .events .eventList table th .label.jul{ background-color: #67c1ff; }
.life .events .eventList table th .label.aug{ background-color: #6784ff; }
.life .events .eventList table th .label.sep{ background-color: #ff7f52; }
.life .events .eventList table th .label.oct{ background-color: #ffba35; }
.life .events .eventList table th .label.nov{ background-color: #7c8dcc; }
.life .events .eventList table th .label.dec{ background-color: #a0d5e2; }
.life .events .eventList table th .label.jan{ background-color: #decd0c; }
.life .events .eventList table th .label.feb{ background-color: #bfd1d6; }
.life .events .eventList table th .label.mar{ background-color: #ff53cc; }

.life .events .wpev{ color: #f00; }

.life .events ul.images.n4{
    margin-bottom: 30px;
}

.life .eventNote{
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    padding: 20px 40px;
    
    position: relative;
    
    background-color: #fff9e0;
    border-radius: 10px;
    
    display: flex;
    justify-content: center;
    
    margin-bottom: 20px;
}


.life .kitchen{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    background-color: #fffaf3;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);
    
    border-radius: 20px;
    
    margin-bottom: 20px;
}
.life .kitchen .headerImage{
    width: 100%;
    line-height: 0;
    
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}
.life .kitchen .headerImage img{
    width: 100%;
    height: auto;
}
.life .kitchen .bodyArea{
    box-sizing: border-box;
    width: 100%;
    
    padding: 20px 0;
    
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-content: center;
    align-items: center;
}
.life .kitchen .imageArea{
    box-sizing: border-box;
    width: 27%;
    
    display: flex;
    flex-direction: column;
}
.life .kitchen .imageArea ul{
    width: 67%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.life .kitchen .imageArea li{
    width: 100%;
    
    overflow: hidden;
    border-radius: 50%;
    
    margin-bottom: 10px;
}
.life .kitchen .imageArea li img{
    display: block;
    width: 100%;
    height: auto;
}
.life .kitchen .textArea{
    box-sizing: border-box;
    width: 73%;
    
    padding: 10px 7% 0 0;
}
.life .kitchen .textArea h3{
    margin-bottom: 0.2em;
}
.life .kitchen .textArea p{
    margin-bottom: 2em;
}
.life .kitchenNote{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 10px;
}


.life ul.menu{
    width: 95%;
    max-width: 1150px;
    margin: 0 auto -20px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.life ul.menu li{
    width: 29%;
    margin: 0 2% 30px;
}
.life ul.menu li .image{
    width: 100%;
    line-height: 0;
    overflow: hidden;
    border-radius: 10px;
    
    margin-bottom: 12px;
}
.life ul.menu li .image img{
    display: block;
    width: 100%;
    height: auto;
}
.life ul.menu li .caption{
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}
.life ul.menu li.fwcap{
    width: 100%;
    margin-top: -30px;
}

.entry .subSection{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);
    
    border-radius: 40px;
    
    margin-bottom: 40px;
}
.entry .subSection .titleArea{
    width: 100%;
    background-color: #ffe4bf;
    
    border-radius: 40px 40px 0 0;
}
.entry .subSection .titleArea h3{
    text-align: center;
    padding: 12px 0 10px;
    margin-bottom: 0;
}
.entry .subSection .bodyArea{
    box-sizing: border-box;
    
    padding: 30px 5% 30px;
    border-right: 3px solid #ffe4bf;
    border-bottom: 3px solid #ffe4bf;
    border-left: 3px solid #ffe4bf;
    
    border-radius: 0 0 40px 40px;
}

.entry .subSection h4{
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    
    padding: 8px 20px;
    color: #333;
    line-height: 1.3;
    
    background-color: #ededed;
    border-radius: 10px;
    
    margin-bottom: 25px;
}
.entry .subSection h5{
    text-align: center;
    margin-bottom: 5px;
}
.entry .subSection .subData{
    width: 95%;
    margin: 0 auto 60px;
}
.entry .subSection .subData:last-child{
    margin-bottom: 20px;
}

.entry table.data{
}
.entry table.data th{
    padding: 2px 0;
    font-size: 15px;
    color: #2a1d15;
    font-weight: bold;
}
.entry table.data th.ct{
    text-align: center;
}
.entry table.data th.pr{
    padding-right: 20px;
}
.entry table.data th .label{
    box-sizing: border-box;
    display: block;
    
    text-align: center;
    
    padding: 4px 12px;
    
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    background-color: #2a1d15;
    border-radius: 5px;
    
    line-height: 1.0;
    white-space: nowrap;
}
.entry table.data td{
    box-sizing: border-box;
    padding: 6px 10px;
    font-size: 15px;
}

.entry .subTableWr{
    width: 100%;
    padding: 12px 0;
    border-top: 1px solid #888;
    border-bottom: 1px solid #888;
    margin-bottom: 12px;
}
.entry table.data.sub th{
    padding: 5px 30px 5px 3px;
    white-space: nowrap;
}
.entry table.data.sub td{
    padding: 5px 10px 5px 0;
}
.entry table.data.bl{
    width: 100%;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}
.entry table.data.bl th,
.entry table.data.bl td{
    border-top: 1px solid #ccc;
}
.entry table.data.dt th{
    vertical-align: middle;
}
.entry table.data.dt td{
    text-align: center;
    vertical-align: middle;
}

.entry .hoikujikan{
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
}
.entry .hoikujikan .chart{
    width: 100%;
    line-height: 0;
    margin-bottom: 30px;
}
.entry .hoikujikan .chart img{
    width: 100%;
    height: auto;
}

.entry ul.anchorLinks{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.entry ul.anchorLinks li{
    box-sizing: border-box;
    display: inline-block;
    margin: 0 8px 18px;
}
.entry ul.anchorLinks li a{
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 160px;
    
    padding: 8px 20px;
    text-align: center;
    
    font-size: 15px;
    font-weight: bold;
    line-height: 1.0;
    white-space: nowrap;

    color: #2a1d15;
    background-color: #ffe9c8;
    border-radius: 20px;
    
    position: relative;
}
.entry ul.anchorLinks li a::after{
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #2a1d15 transparent transparent transparent;
}
.entry ul.anchorLinks li a:hover{
    color: #fff;
    background-color: #2a1d15;
}
.entry ul.anchorLinks li a:hover::after{
    border-color: #fff transparent transparent transparent;
}

.entry .process{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    line-height: 0;
    margin-bottom: 10px;
}
.entry .process img{
    width: 100%;
    height: auto;
}


.preschool .subSection{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;

    margin-bottom: 40px;
}
.preschool .subSection .titleArea{
    text-align: center;
}
.preschool .subSection h3{
    box-sizing: border-box;
    display: inline-block;
    width: auto;
    color: #fff;
    background-color: #2a1d15;
    line-height: 1.0;
    padding: 5px 30px;
    border-radius: 15px;

    margin-bottom: 25px;
}
.preschool .subSection h4{
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    
    padding: 8px 20px;
    color: #333;
    line-height: 1.3;
    
    background-color: #ededed;
    border-radius: 10px;
    
    margin-bottom: 25px;
}
.preschool .subSection h5{
    text-align: center;
    margin-bottom: 5px;
}
.preschool .subSection .subData{
    width: 95%;
    margin: 0 auto 60px;
}
.preschool .subSection .subData:last-child{
    margin-bottom: 20px;
}
.preschool table.data{
}
.preschool table.data th{
    padding: 2px 0;
    font-size: 15px;
    color: #2a1d15;
    font-weight: bold;
}
.preschool table.data th.ct{
    text-align: center;
}
.preschool table.data th.pr{
    padding-right: 20px;
}
.preschool table.data th .label{
    box-sizing: border-box;
    display: block;
    
    text-align: center;
    
    padding: 4px 12px;
    
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    background-color: #2a1d15;
    border-radius: 5px;
    
    line-height: 1.0;
    white-space: nowrap;
}
.preschool table.data td{
    box-sizing: border-box;
    padding: 6px 10px;
    font-size: 15px;
}

.preschool .subTableWr{
    width: 100%;
    padding: 12px 2%;
    border-top: 1px solid #888;
    border-bottom: 1px solid #888;
    margin-bottom: 12px;
}
.preschool table.data.sub th{
    padding: 5px 30px 5px 3px;
    white-space: nowrap;
}
.preschool table.data.sub td{
    padding: 5px 10px 5px 0;
}


.aboutus .message{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.aboutus .message p{
    margin-bottom: 2em;
}
.aboutus .message p.title{
    margin-bottom: 0;
    text-align: right;
}
.aboutus .message p.name{
    margin-bottom: 0;
    text-align: right;
    font-size: 18px;
}
.aboutus .message .photo{
    box-sizing: border-box;
    float: right;
    width: 30%;
    margin-left: 5%;
    margin-bottom: 20px;
}
.aboutus .message .photo img{
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.aboutus .subSection{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    
    margin-bottom: 40px;
}
.aboutus .subSection .titleArea{
    text-align: center;
}
.aboutus .subSection h3{
    box-sizing: border-box;
    display: inline-block;
    width: auto;
    color: #fff;
    background-color: #2a1d15;
    line-height: 1.0;
    padding: 5px 30px;
    border-radius: 15px;

    margin-bottom: 25px;
}
.aboutus .subSection h4{
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    
    padding: 8px 20px;
    color: #333;
    line-height: 1.3;
    
    background-color: #ededed;
    border-radius: 10px;
    
    margin-bottom: 25px;
}
.aboutus .subSection h5{
    text-align: center;
    margin-bottom: 5px;
}
.aboutus .subSection .subData{
    width: 95%;
}
.aboutus .subSection .subData:last-child{
    margin-bottom: 20px;
}

.aboutus table.profile,
.aboutus table.history{
    width: 100%;
    max-width: 800px;
    margin: 0 auto 60px;
    border-top: 1px solid #888;
}
.aboutus table.profile th,
.aboutus table.profile td,
.aboutus table.history th,
.aboutus table.history td{
    padding: 12px 30px 10px;
    font-size: 15px;
    color: #2a1d15;
    border-bottom: 1px solid #888;
}
.aboutus table.profile th{
    font-weight: bold;
    background-color: #fff5d8;
    white-space: nowrap;
}
.aboutus table.history th,
.aboutus table.history td{
    padding: 12px 15px 10px;
}
.aboutus table.history th{
    padding: 12px 0px 10px 15px;
    white-space: nowrap;
}

.aboutus .eceq{
    width: 100%;
    display: flex;
}
.aboutus .eceq .image{
    width: 27%;
    margin-right: 3%;
    line-height: 0;
}
.aboutus .eceq .image img{
    width: 100%;
    height: auto;
}
.aboutus .eceq .text{
    width: 70%;
}
.aboutus .eceq p{
    margin-bottom: 2em;
}


.aboutus .guidemap{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.aboutus .guidemap img{
    width: 100%;
    height: auto;
}


.aboutus ul.facilities{
    width: 95%;
    max-width: 1150px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.aboutus ul.facilities li{
    width: 29%;
    margin: 0 2% 30px;
}
.aboutus ul.facilities li .image{
    width: 100%;
    line-height: 0;
    overflow: hidden;
    border-radius: 10px;
    
    margin-bottom: 12px;
}
.aboutus ul.facilities li .image img{
    display: block;
    width: 100%;
    height: auto;
}
.aboutus ul.facilities li .caption{
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}
.aboutus ul.facilities li.fwcap{
    width: 100%;
    margin-top: -30px;
}


.aboutus .safety{
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    padding: 20px 0;
    
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}
.aboutus .safety .imageArea{
    box-sizing: border-box;
    width: 27%;
    margin-right: 3%;
    
    display: flex;
}
.aboutus .safety .imageArea ul{
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.aboutus .safety .imageArea li{
    width: 100%;
    
    margin-bottom: 20px;
}
.aboutus .safety .imageArea li .image{
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    line-height: 0;
    
    margin-bottom: 12px;
}
.aboutus .safety .imageArea li .image img{
    display: block;
    width: 100%;
    height: auto;
}
.aboutus .safety .imageArea li .caption{
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}
.aboutus .safety .textArea{
    box-sizing: border-box;
    width: 70%;
    
    padding: 10px 0;
}
.aboutus .safety .textArea h3{
    margin-bottom: 0.2em;
}
.aboutus .safety .textArea p{
    margin-bottom: 2em;
}
.aboutus .safety .textArea p.nmb{
    margin-bottom: 0;
}

.aboutus .accessMap{
	width: 100%;
	height: 500px;
    
    margin-bottom: 30px;
}
.aboutus .accessMap iframe{
	width: 100% !important;
	height: 100% !important;
}
.aboutus .address{
    width: 100%;
    display: flex;
    justify-content: center;
}


.careers .contact{
    width: 100%;
    display: flex;
    justify-content: center;
}
.careers .contact a{
    color: #549800;
    text-decoration: underline;
}
.careers .contact a:hover{
    text-decoration: none;
}
.careers .movie{
    width: 100%;
	margin: 0 auto;
	max-width: 800px;
    
    overflow: hidden;

	position: relative;
	margin-bottom: 20px;
}
.careers .movie::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
.careers .movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


ul.images{
    width: 100%;
    max-width: 1110px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.images li{
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 10px;
    
    line-height: 0;
    margin-bottom: 20px;
}
ul.images li img{
    width: 100%;
    height: auto;
}
ul.images.n3 li{
    width: 31%;
}
ul.images.n4 li{
    width: 24%;
}


article.topic{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;

    padding: 20px 0;
}
article.topic .header{
    width: 100%;
    position: relative;
    margin-bottom: 25px;
}
article.topic .cat{
    box-sizing: border-box;
    display: inline-block;

    padding: 3px 15px;
    font-size: 13px;
    text-align: center;
    line-height: 1.0;
    color: #fff;
    white-space: nowrap;
    background-color: #1e2678;
}
article.topic .cat.info{
    background-color: #1e2678;
}
article.topic .cat.preschool{
    background-color: #5b91c7;
}
article.topic .cat.lunch{
    background-color: #a07eb8;
}
article.topic .cat.portfolio{
    background-color: #b8b67e;
}
article.topic .cat.event{
    background-color: #8fc077;
}
article.topic p.date{
    position: absolute;
    right: 0;
    top: 0;
}
article.topic h1{
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #4e180c;
    line-height: 1.5;
    
    margin-bottom: 40px;
}
article.topic .bodyArea{
    font-size: 15px;
    line-height: 1.8;
}
article.topic .bodyArea p{
    margin-bottom: 1.8em;
}
article.topic .bodyArea img{
    max-width: 100%;
    height: auto;
}

article.topic h2{
	text-align: left;
	padding-bottom: 0;
	margin-bottom: 1.4em;
}
article.topic h2.has-text-align-center{text-align:center}
article.topic h2.has-text-align-left{text-align:left}
article.topic h2.has-text-align-right{text-align:right}


.plainPage{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;

    padding: 20px 0;
}
.plainPage h1{
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #4e180c;
    line-height: 1.5;
    
    margin-bottom: 40px;
}
.plainPage .bodyArea{
    font-size: 15px;
    line-height: 1.8;
}






p.form{
	font-size: 15px;
	line-height: 1.7;
}
dl.form{
	width: 100%;
	border-bottom: 1px dotted #666;
	float: left;
	
	font-size: 15px;
}
dl.form dt, dl.form dd{
}
dl.form dt{
	clear: both;
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 21%;
	float: left;
	font-weight: bold;
}
dl.form dd{
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 71%;
	float: left;
}


dl.form input[type="text"],
dl.form input[type="password"]{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}
dl.form select{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}

dl.form input[type="text"].name{ width: 150px;}
dl.form input[type="text"].zip{ width: 100px;}
dl.form input[type="text"].address{ width: 280px;}
dl.form input[type="text"].tel{ width: 150px;}
dl.form textarea{ width: 80%; height: 12em; font-size: 14px;}
dl.form input[type="text"].email{ width: 200px;}

form input[type="button"],
form input[type="submit"]{


	background: none;

	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	margin: 5px 0;
	padding: 5px 20px;
	font-size: 16px;
	color: #fff;
	background-color: #a37e58;
	cursor: pointer;
	border: 5px solid #755c3b;
	border-radius: 5px;
}


dl.form .notice{
	margin: 5px 0;
	padding: 5px 10px;
	background-color: #e4ecff;
	font-size: 13px;
}
dl.form .notice a:link,
dl.form .notice a:visited{
	color: #1954dc;
	text-decoration: underline;
}
dl.form .notice a:hover,
dl.form .notice a:active{
	color: #1954dc;
	text-decoration: none;
}


.formButton{
	clear: both;
	width: 100%;
	padding: 10px 0;
	text-align: center;
}
.error-fp{
	font-weight: bold;
	color: #e00;
	margin-bottom: 20px;
}





/* --------------------------------------------------
  Page Footer
-------------------------------------------------- */


.subPageNavi{
    box-sizing: border-box;
    width: 100%;
    background-color: #f6f6f6;
    padding: 30px 5% 20px;
    border-bottom: 5px solid #f2f2f2;
}
.subPageNavi .title{
    width: 100%;
    text-align: center;

    font-size: 18px;
    font-weight: bold;
    
    color: #999;
    
    margin-bottom: 25px;
}
.subPageNavi nav{
    width: 100%;
}
.subPageNavi ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.subPageNavi li{
    box-sizing: border-box;
    display: inline-block;
    margin: 0 8px 18px;
}
.subPageNavi li a{
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 200px;
    
    padding: 8px 20px;
    text-align: center;
    
    font-size: 15px;
    font-weight: bold;
    line-height: 1.0;
    white-space: nowrap;

    color: #999;
    border: 3px solid #999;
    background-color: #fff;
    border-radius: 20px;
}
.subPageNavi li.current a,
.subPageNavi li a:hover{
    color: #fff;
    background-color: #999;
}

.subPageNavi.education .title{
    color: #00c8dc;
}
.subPageNavi.education li a{
    color: #00c8dc;
    border: 3px solid #00c8dc;
}
.subPageNavi.education li.current a,
.subPageNavi.education li a:hover{
    color: #fff;
    background-color: #00c8dc;
}
.subPageNavi.life .title{
    color: #ffa200;
}
.subPageNavi.life li a{
    color: #ffa200;
    border: 3px solid #ffa200;
}
.subPageNavi.life li.current a,
.subPageNavi.life li a:hover{
    color: #fff;
    background-color: #ffa200;
}
.subPageNavi.entry .title{
    color: #74cf00;
}
.subPageNavi.entry li a{
    color: #74cf00;
    border: 3px solid #74cf00;
}
.subPageNavi.entry li.current a,
.subPageNavi.entry li a:hover{
    color: #fff;
    background-color: #74cf00;
}
.subPageNavi.preschool .title{
    color: #6a6600;
}
.subPageNavi.preschool li a{
    color: #6a6600;
    border: 3px solid #fff400;
}
.subPageNavi.preschool li.current a,
.subPageNavi.preschool li a:hover{
    color: #6a6600;
    background-color: #fff400;
}
.subPageNavi.aboutus .title{
    color: #f02c50;
}
.subPageNavi.aboutus li a{
    color: #f02c50;
    border: 3px solid #f02c50;
}
.subPageNavi.aboutus li.current a,
.subPageNavi.aboutus li a:hover{
    color: #fff;
    background-color: #f02c50;
}
.subPageNavi.careers .title{
    color: #7a0ecc;
}
.subPageNavi.careers li a{
    color: #7a0ecc;
    border: 3px solid #7a0ecc;
}
.subPageNavi.careers li.current a,
.subPageNavi.careers li a:hover{
    color: #fff;
    background-color: #7a0ecc;
}




.contactInfo{
    padding: 40px 0;
    
    background-color: #f7ffed;
}
.contactInfo .time{
    text-align: center;
    font-size: 18px;
    margin-top: -10px;
    margin-bottom: 10px;
    line-height: 1.0;
    letter-spacing: 0.05em;
}
.contactInfo .tel{
    text-align: center;
    font-size: 22px;
    line-height: 1.0;
    letter-spacing: 0.1em;
}




footer.page{
	width: 100%;
    
    position: relative;
    z-index: 100;
    
    padding-top: 15px;
    background: url("img/bg_footer_top.png") repeat-x center top;
}




footer.page .naviArea{
	width: 100%;    
    background-color: #f7ffed;
    
    padding: 30px 0 25px;
}

footer.page .ftNavi{
	width: 90%;
    max-width: 900px;
    margin: 0 auto;

    display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
footer.page .ftNavi ul{
    box-sizing: border-box;

    padding: 0 1%;
}
footer.page .ftNavi ul li{
	margin-bottom: 8px;
}
footer.page .ftNavi ul li a{
	display: block;
	
	color: #333;
	font-size: 12px;
	line-height: 1.2;
	
	white-space: nowrap;
}
footer.page .ftNavi ul li.catname{
    padding-bottom: 5px;
}
footer.page .ftNavi ul li.catname a{
	font-size: 15px;
}




footer.page .info{
	width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    background-color: #ebffd3;
}
footer.page .name{
    box-sizing: border-box;
    padding: 0 30px;
    line-height: 1.5;
    text-align: right;
}
footer.page .name .sub{
    font-size: 15px;
}
footer.page .name .main{
    font-size: 23px;
}
footer.page .address{
    max-width: 70%;
    font-size: 13px;
    line-height: 1.5;
}



footer.page .copyright{
	width: 100%;
	font-size: 11px;
	color: #fff;
	text-align: center;
	padding: 20px 0 20px;
    
    background-color: #549800;
}




/* --------------------------------------------------
  Common
-------------------------------------------------- */

.pageTop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	
	width: 60px;
	
	z-index: 1100;
}
.pageTop img{
	width: 100%;
	height: auto;
}


.ivmvel{
	opacity: 0.0;
	filter: alpha(opacity=0);
	-webkit-transform: translate(0, 20px); 
	transform: translate(0, 20px); 
	transition: all 0.4s ease;
}
.ivmv{
	opacity: 1.0;
	filter: alpha(opacity=100);
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0); 
}







/* Common Navigation
------------------------------------------------------------*/
@media only screen and (min-width: 900px){


#commonNavi{
	position: relative;
	z-index: 100;
    
}

ul#menuLogo{
    display: none;
}

ul#globalNavi{
    box-sizing: border-box;
	width: 100%;
    height: 100%;
    
    padding-right: 30px;
    
	position: relative;
	z-index: 200;

	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
    align-items: center;
    
}
ul#globalNavi > li{
    height: 100%;
    
    margin: 0 4px;

    font-size: 15px;
    position: relative;

	display: flex;
    justify-content: center;
    align-items: center;
}
ul#globalNavi > li > a{
    box-sizing: border-box;
	display: flex;
    justify-content: center;
    align-items: center;

    min-width: 80px;
    height: 70px;
    padding: 6px 0 6px;

	font-size: 15px;
    font-weight: bold;
    color: #333;

    line-height: 1.0;
    white-space: nowrap;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: 70px auto;
}
ul#globalNavi > li > a > .text{
    display: inline-block;
    padding-bottom: 4px;
    position: relative;
}
ul#globalNavi > li > a > .text::after{
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    
    bottom: 0;
    
    width: 0;
    height: 1px;
    background-color: #333;
	transition: all 0.1s linear;
}
ul#globalNavi > li:hover > a,
ul#globalNavi > li.current > a{
    background-size: 90px auto;
}
ul#globalNavi > li:hover > a > .text::after,
ul#globalNavi > li.current > a > .text::after{
    width: 100%;
}

ul#globalNavi > li.education > a{
    background-image: url("img/bg_gnavi_education.png");
}
ul#globalNavi > li.life > a{
    background-image: url("img/bg_gnavi_life.png");
}
ul#globalNavi > li.entry > a{
    background-image: url("img/bg_gnavi_entry.png");
}
ul#globalNavi > li.preschool > a{
    background-image: url("img/bg_gnavi_preschool.png");
}
ul#globalNavi > li.aboutus > a{
    background-image: url("img/bg_gnavi_aboutus.png");
}
ul#globalNavi > li.careers > a{
    background-image: url("img/bg_gnavi_career.png");
}






ul#globalNavi ul.sub{
	box-sizing: border-box;

	min-width: 150px;
	height: auto;

	position: absolute;
	z-index: 1200;
	
	top: 90px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    line-height: 0;

    border-radius: 10px;
		
	display: none;
}
ul#globalNavi ul.sub::before{
    content: "";
    position: absolute;
	top: -10px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent;
}

ul#globalNavi ul.sub li{
	display: block;
	line-height: 0;
}
ul#globalNavi ul.sub li a{
	line-height: 1.0;
	font-size: 14px;
	
	color: #333;
	
	padding: 13px 20px;
    
    white-space: nowrap;
    
    display: flex;
    justify-content: center;
    align-items: center;
}

ul#globalNavi ul.sub li a:hover{
	background-color: #cdbb99;	
}
ul#globalNavi ul.sub li:first-child a{
    border-radius: 10px 10px 0 0;
}
ul#globalNavi ul.sub li:last-child a{
    border-radius: 0 0 10px 10px;
}



ul#globalNavi li.education ul.sub{
/*    background-color: #dafcff;*/
    background-color: rgba(218, 252, 255, 0.95);
}
ul#globalNavi li.education ul.sub::before{
    border-color: transparent transparent rgba(218, 252, 255, 0.95) transparent;
}
ul#globalNavi li.education ul.sub li{
/*    border-bottom: 1px solid #00c8dc;*/
    border-bottom: 1px solid rgba(0, 200, 200, 0.95);
}
ul#globalNavi li.education ul.sub li a:hover{
    background-color: rgba(0, 200, 200, 0.95);
    color: #fff;
}

ul#globalNavi li.life ul.sub{
/*    background-color: #fff1d9;*/
    background-color: rgba(255, 241, 217, 0.95);
}
ul#globalNavi li.life ul.sub::before{
    border-color: transparent transparent rgba(255, 241, 217, 0.95) transparent;
}
ul#globalNavi li.life ul.sub li{
/*    border-bottom: 1px solid #ffa200;*/
    border-bottom: 1px solid rgba(255, 162, 0, 0.95);
}
ul#globalNavi li.life ul.sub li a:hover{
    background-color: rgba(255, 162, 0, 0.95);
    color: #fff;
}

ul#globalNavi li.entry ul.sub{
/*    background-color: #f0ffdc;*/
    background-color: rgba(240, 255, 220, 0.95);
}
ul#globalNavi li.entry ul.sub::before{
    border-color: transparent transparent rgba(240, 255, 220, 0.95) transparent;
}
ul#globalNavi li.entry ul.sub li{
/*    border-bottom: 1px solid #74cf00;*/
    border-bottom: 1px solid rgba(116, 207, 0, 0.95);
}
ul#globalNavi li.entry ul.sub li a:hover{
    background-color: rgba(116, 207, 0, 0.95);
    color: #fff;
}

ul#globalNavi li.preschool ul.sub{
/*    background-color: #fffdd9;*/
    background-color: rgba(255, 253, 217, 0.95);
}
ul#globalNavi li.preschool ul.sub::before{
    border-color: transparent transparent rgba(255, 253, 217, 0.95) transparent;
}
ul#globalNavi li.preschool ul.sub li{
/*    border-bottom: 1px solid #fff400;*/
    border-bottom: 1px solid rgba(255, 244, 0, 0.95);
}
ul#globalNavi li.preschool ul.sub li a:hover{
    background-color: rgba(255, 244, 0, 0.95);
    color: #333;
}

ul#globalNavi li.aboutus ul.sub{
/*    background-color: #ffe0e6;*/
    background-color: rgba(255, 224, 230, 0.95);
}
ul#globalNavi li.aboutus ul.sub::before{
    border-color: transparent transparent rgba(255, 224, 230, 0.95) transparent;
}
ul#globalNavi li.aboutus ul.sub li{
/*    border-bottom: 1px solid #f02c50;*/
    border-bottom: 1px solid rgba(240, 44, 80, 0.95);
}
ul#globalNavi li.aboutus ul.sub li a:hover{
    background-color: rgba(240, 44, 80, 0.95);
    color: #fff;
}

ul#globalNavi li.careers ul.sub{
/*    background-color: #efdaff;*/
    background-color: rgba(239, 218, 255, 0.95);
}
ul#globalNavi li.careers ul.sub::before{
    border-color: transparent transparent rgba(239, 218, 255, 0.95) transparent;
}
ul#globalNavi li.careers ul.sub li{
/*    border-bottom: 1px solid #7a0ecc;*/
    border-bottom: 1px solid rgba(122, 14, 204, 0.95);
}
ul#globalNavi li.careers ul.sub li a:hover{
    background-color: rgba(122, 14, 204, 0.95);
    color: #fff;
}


ul#globalNavi li ul.sub li:last-child{
    border-bottom: none;
}


ul#floatNavi{
    box-sizing: border-box;
	position: fixed;
	z-index: 120;
	right: 0;
	top: 120px;
        
    width: 60px;
    background-color: rgba(255, 255, 255, 0.95);
    
    border: 2px solid #6cac18;
    border-right: none;
    border-radius: 15px 0 0 15px;
    
	transition: all 0.2s linear;
}
ul#floatNavi li{
    box-sizing: border-box;
    width: 100%;
}
ul#floatNavi li a{
    box-sizing: border-box;
    display: block;
    padding: 45px 5px 8px;
    
    border-top: 1px solid #6cac18;
    border-radius: 0 0 0 15px;
    
    background-repeat: no-repeat;
    background-position: center top 4px;
    background-size: 40px auto;
    
    text-align: center;
    font-size: 12px;
    line-height: 1.1;
    color: #738c00;
}
ul#floatNavi li:first-child a{
    border-top: none;
    border-radius: 15px 0 0 0;
}
ul#floatNavi li.contact a{
    background-image: url("img/icon_flnavi_contact.png");
    border-radius: 8px 0 0 0;
}
ul#floatNavi li.hagaki a{
    background-image: url("img/icon_flnavi_hagaki.png");
    border-radius: 0 0 0 8px;
}
ul#floatNavi li a:hover{
    /*
    color: #fff;
    */
    background-color: #e9ffcd;
    border-radius: 15px 0 0 15px;
    
    font-weight: bold;
    
    background-position: center top 0px;
    background-size: 48px auto;
}
ul#floatNavi li br.ww{
}



}




/* Common Navigation Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width:899px){

#commonNavi {
	display: none;
}
	

#menuOverlay {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	display: none;
	position: fixed;
	z-index: 7997;
}

#switchBtnArea {
	width: 100%;

	position: relative;
}

#switchBtnArea #switchBtn {
	top: 15px;
	right: 10px;
	width: 50px;
	height: 50px;
	display: block;
/*	background: #18d6c6;*/
	
/*	border: 1px solid #fff;*/
	
	position: fixed;

	z-index: 7998;
	
	background-color: #ffe172;
	
	border-radius: 2px;
}

#switchBtnArea #switchBtn span {
	left: 27%;
	width: 46%;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #444;
	border-radius: 5px;
	transition: all 0.2s linear;
}
#switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 17px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 24px;
	-webkit-transform: scale(1);
	transform: scale(1);
}
#switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 17px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#switchBtnArea #switchBtn.btnClose {
/*	background: transparent;*/
	background-color: #ffe172;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 24px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #000;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 24px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #000;
}

#rwdMenuWrap {
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
    background-color: #fff6d5;
	overflow: auto;
	position: fixed;
	z-index: 7997;
}


#rwdMenuWrap ul#menuLogo{
    display: block;
	width: 100%;
	height: 80px;

    background-image: url("img/img_header_tree.png");
    background-repeat: no-repeat;
    background-position: left 10px bottom 0px;
    background-size: 90px auto;
    
    background-color: #ffe172;

    border-bottom: 2px solid #a0c334;
}
#rwdMenuWrap ul#menuLogo a{
    display: block;
    width: 190px;
    margin: 0 auto;
    line-height: 0;
    
    padding-top: 5px;
}
#rwdMenuWrap ul#menuLogo a .logo img{
    width: 100%;
    height: auto;
}

#rwdMenuWrap ul#globalNavi {
	width: 96%;
    margin: 0 auto;
	padding: 50px 0 20px;
	
	display: block;
}
#rwdMenuWrap ul#globalNavi > li {
    box-sizing: border-box;
    
    clear: both;
	width: 100%;
	padding-top: 1px;
	
	display: block;
}
    
#rwdMenuWrap ul#globalNavi > li a {
    box-sizing: border-box;
	padding: 5px 15px;
	text-align: left;
    
    height: 100%;

    position: relative;
	
	color: #000;
	
	font-size: 14px;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    
    border-radius: 10px;
}
#rwdMenuWrap ul#globalNavi > li > a {
    margin: 5px 5px 0;
}

#rwdMenuWrap ul#globalNavi > li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#rwdMenuWrap ul#globalNavi > li.subcat > a:after {
    border: none;
}
#rwdMenuWrap ul#globalNavi > li.careers a:after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}


#rwdMenuWrap ul#globalNavi ul.sub{
    box-sizing: border-box;
    width: 100%;
    padding: 5px 0 0 5px;
    
    flex-wrap: wrap;
}
#rwdMenuWrap ul#globalNavi ul.sub > li{
    box-sizing: border-box;
	width: 50%;
	display: block;
    
    padding: 0 5px 5px 0;
}
#rwdMenuWrap ul#globalNavi ul.sub > li a{

    padding: 8px 30px 8px 15px;
    font-size: 13px;
    line-height: 1.3;
    
    border-width: 1px;
    border-style: solid;
    background-color: rgba(255, 255, 255, 0.95);
}


#rwdMenuWrap ul#globalNavi li.education > a{
    background-color: rgba(0, 200, 200, 0.95);
    color: #fff;
}
#rwdMenuWrap ul#globalNavi li.education ul.sub li a{
    border-color: rgba(0, 200, 200, 0.95);
}

#rwdMenuWrap ul#globalNavi li.life > a{
    background-color: rgba(255, 162, 0, 0.95);
    color: #fff;
}
#rwdMenuWrap ul#globalNavi li.life ul.sub li a{
    border-color: rgba(255, 162, 0, 0.95);
}

#rwdMenuWrap ul#globalNavi li.entry > a{
    background-color: rgba(116, 207, 0, 0.95);
    color: #fff;
}
#rwdMenuWrap ul#globalNavi li.entry ul.sub li a{
    border-color: rgba(116, 207, 0, 0.95);
}

#rwdMenuWrap ul#globalNavi li.preschool > a{
    background-color: rgba(255, 244, 0, 0.95);
    color: #333;
}
#rwdMenuWrap ul#globalNavi li.preschool ul.sub li a{
    border-color: rgba(255, 244, 0, 0.95);
}

#rwdMenuWrap ul#globalNavi li.aboutus > a{
    background-color: rgba(240, 44, 80, 0.95);
    color: #fff;
}
#rwdMenuWrap ul#globalNavi li.aboutus ul.sub li a{
    border-color: rgba(240, 44, 80, 0.95);
}

#rwdMenuWrap ul#globalNavi li.careers > a{
    background-color: rgba(122, 14, 204, 0.95);
    color: #fff;
}
#rwdMenuWrap ul#globalNavi li.careers ul.sub li a{
    border-color: rgba(122, 14, 204, 0.95);
}



#rwdMenuWrap ul#floatNavi{
    box-sizing: border-box;
	position: absolute;
	z-index: 120;
	left: 0;
	top: 85px;
        
    width: 100%;
    
    padding: 5px 0;
        
    display: flex;
    justify-content: center;
}
#rwdMenuWrap ul#floatNavi li{
    box-sizing: border-box;
    padding: 0 5px;
    
    text-align: center;
    
}
#rwdMenuWrap ul#floatNavi li a{
    display: inline-block;
    height: 40px;
    
    box-sizing: border-box;
    padding:  14px 30px 14px 40px;
    
    font-size: 13px;
    line-height: 1.0;
    color: #fff;
    
    background-color: #6cac18;
    border-radius: 10px;
    
    position: relative;
}
#rwdMenuWrap ul#floatNavi li a::before{
    content: "";
    display: block;
    position: absolute;
    left: 2px;
    top: 0px;
    width: 45px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 40px auto;
}
#rwdMenuWrap ul#floatNavi li.contact a::before{
    background-image: url("img/icon_flnavi_contact.png");
    border-radius: 8px 0 0 0;
}
#rwdMenuWrap ul#floatNavi li.hagaki a::before{
    background-image: url("img/icon_flnavi_hagaki.png");
    border-radius: 0 0 0 8px;
}
#rwdMenuWrap ul#floatNavi li a .ww{
    display: none;
}
#rwdMenuWrap ul#floatNavi > li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}




}








/* Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 899px){


header.page,
header.page.home {
    box-sizing: border-box;
	width: 100%;
	height: 80px;

	position: fixed;
	z-index: 1000;
    
    background-position: left 10px bottom 0px;
    background-size: 110px auto;
}
header.page.home {
    background-position: left 30px bottom -2px;
}
header.page .sitetitle,
header.page.home .sitetitle{
	width: 100%;
    height: 100%;
    padding-top: 10px;
    border-radius: 0;
    background: none;
}

header.page #logo,
header.page.home #logo{
	width: 190px;
}


#content{
	padding-top: 80px;
}


#mainImage{
    border-radius: 30px;
    border: 2px solid #a0c334;
}
#mainImage .imageArea{
    border-radius: 30px;
    border: 5px solid #ededed;
}

#mainImage .imageArea ul#mainCopy li{
    padding: 15px 30px 15px 40px;
    border-radius: 30px 0 0 0;
}
#mainImage .imageArea ul#mainCopy li img{
    height: 50px;
}


#topics table th,
#topics table td{
    padding: 9px 10px;
    
    font-size: 13px;
}
#topics table th{
    width: 10%;
}
#topics table td.cat{
    width: 10%;
}
#topics table td.cat .name{
    width: 6em;
    padding: 3px 0;
    font-size: 12px;
}


#homePolicy li{
    width: 33%;
}
#homePolicy li:nth-child(2n){
    background-color: #fef2e1;
}
#homePolicy li:first-child{
    border-radius: 15px 0 0 0;
}
#homePolicy li:last-child{
    border-radius: 0 0 15px 0;
}
#homePolicy li:nth-child(3){
    border-radius: 0 15px 0 0;
}
#homePolicy li:nth-child(4){
    border-radius: 0 0 0 15px;
}
#homePolicy li .text{
    box-sizing: border-box;
    width: 100%;
    
    padding: 20px 20px 15px;
}
#homePolicy li .title{
    font-size: 17px;
    margin-bottom: 15px;
}
#homePolicy li .desc{
    font-size: 12px;
}
#homePolicy li .image:before {
	padding-top: 75%;
}


#homePickup{
    margin-bottom: -10px;
}
#homePickup ul{
    justify-content: center;
}
#homePickup li{
    width: 46%;
    margin: 0 2%;
    margin-bottom: 30px;
}
#homePickup li:nth-child(2){
    margin-top: 0;
}
#homePickup li .image{
    width: 92%;
    border: 10px solid #fff;
}
#homePickup li .label{
    width: 40%;
    
    font-size: 16px;
    line-height: 1.6;
}
#homePickup li .label::after{
	margin-top: -5px;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
}
#homePickup li .desc{
    margin-top: 20px;
    font-size: 14px;
}


#homeFirsttime{
    margin-bottom: -30px;
}
#homeFirsttime ul{
    justify-content: center;
}
#homeFirsttime li{
    width: 46%;
    margin: 0 2%;
    margin-bottom: 50px;
}
#homeFirsttime li .image{
    border-radius: 30px;
    
    margin-bottom: 25px;
}
#homeFirsttime li .title{
    font-size: 17px;

    margin-bottom: 18px;
}
#homeFirsttime li .desc{
    font-size: 14px;
    margin-bottom: 18px;
}
#homeFirsttime li .detail{
    min-width: 200px;
    padding: 8px 40px;
    font-size: 13px;
    border-radius: 30px;
}



#homeHagaki{
    max-width: 600px;
}
#homeHagaki .text{
    width: 100%;
    
    margin-bottom: 30px;
}
#homeHagaki .image{
    width: 100%;
}
#homeHagaki .title{
    font-size: 17px;

    margin-bottom: 30px;
}
#homeHagaki .desc{
    font-size: 14px;

    margin-bottom: 30px;
}
#homeHagaki .cmnBtn{
    text-align: center;
}



.secBlk h2{
    font-size: 18px;
    
    padding-bottom: 26px;
    margin-bottom: 40px;
    
    background-size: 200px auto;
}
.secBlk h2 br.nw{
    display: block;
}
.secBlk h3{
    font-size: 17px;
    margin-bottom: 30px;
}
.secBlk h4{
    font-size: 16px;
    margin-bottom: 25px;
}
.secBlk h5{
    font-size: 15px;
    margin-bottom: 20px;
}
.secBlk p{
    font-size: 14px;
}
.secBlk ul.normal{
    font-size: 14px;
}

.secBlk .catchphrase{
    font-size: 20px;
    margin-bottom: 25px;
}
.secBlk .catchphrase br.nw{
    display: block;
}
.secBlk .lead{
    font-size: 14px;
    margin-bottom: 30px;
}

.cmnBtn a{
    min-width: 230px;
    padding: 13px 40px;
    font-size: 13px;
}

#subMain .content h1{
    bottom: -38px;
    
    width: 50%;
    min-width: 300px;
    height: 76px;
    padding: 10px 40px;

    font-size: 18px;

    border-radius: 38px 38px 0 0;
}


#subIndex{
	padding: 30px 0 0;
}
#subIndex li{
	width: 46%;
    margin: 0 2%;

    border-radius: 15px;

    margin-bottom: 30px;
}
#subIndex .text{
    padding: 20px 0 30px;
}
#subIndex .title{
    font-size: 15px;
    margin-bottom: 15px;
}
#subIndex li .link{
    width: 80%;
}
#subIndex li .link .btn{
    max-width: 220px;

    padding: 10px 18px;
    font-size: 13px;
}


.education ul.goal{
    max-width: 600px;
}
.education ul.goal li{
    padding: 10px 20px 8px;
    font-size: 19px;
    margin-bottom: 16px;
}

.education ul.policy li{
    width: 47%;
    
    padding-top: 50px;
    margin-bottom: 30px;
}
.education ul.policy li .title{
    width: 100px;
}

.education .envBlk{
    padding: 0 0 30px;
}
.education .envBlk .titleArea{
    margin-bottom: 50px;
}
.education .envBlk .title{
    min-width: 280px;
    padding: 9px 20px;
    font-size: 17px;
}

.education ul.env li{
    width: 46%;
    margin: 0 2% 30px;
}
.education ul.env li .image{
    margin-bottom: 12px;
}
.education ul.env li .caption{
    font-size: 13px;
}
.education ul.env li.fwcap{
    margin-top: -30px;
}

.education .activity{
    padding-top: 30px;
    margin-bottom: 50px;
}
.education .activity .image{
    width: 34%;
}
.education .activity .image img{
    width: 118%;
    top: -30px;
}
.education .activity .text{
    width: 66%;
    min-height: 280px;
    
    padding: 25px 45px;
}
.education .activity.il .text{
    padding-left: 65px;
}
.education .activity.ir .text{
    padding-right: 65px;
}


.life h2.class{
    width: 150px;
    height: 150px;
    margin: -20px auto 25px;
    
    background-size: 150px auto;
}
.life table.class{
    margin: 0 auto 30px;
}
.life table.class th .label{
    padding: 4px 10px;
    font-size: 14px;
}
.life table.class td{
    font-size: 14px;
}


.tabItem {
    height: 50px;
}
.tabItem.c01 {
    background-size: 231px 43px;
}
.tabItem.c02 {
    background-size: 231px 43px;
}
.tabArea input:checked + .tabItem.c01{
    background-size: 231px 50px;
}
.tabArea input:checked + .tabItem.c02{
    background-size: 231px 50px;
}
.secBlk.tab01{
    border-top-width: 6px;
}
.secBlk.tab01::after{
    border-width: 15px 20px 0 20px;
}
.secBlk.tab02{
    border-top-width: 6px;
}
.secBlk.tab02::after{
    border-width: 15px 20px 0 20px;
}


.life .day{
    background-size: 60px auto;
}
.life .day::after{
    width: 10px;
    height: 10px;
}
.life .day .titleArea{
    width: 43%;
    padding: 10px 0 25px;
}
.life .day .titleArea .title{
    padding: 8px 10px;
    font-size: 15px;
}
.life .day .scBlock:nth-child(2n-1){
    border-right: 2px solid #3a3a3a;
}
.life .day .scBlock:nth-child(50n-97){
    padding-top: 15px;
}
.life .day .scBlock:nth-child(50n-96){
    padding-top: 15px;
}
.life .day .scBlock .item{
    padding: 15px 20px 13px;
    width: 92%;
    border-radius: 15px;
    font-size: 15px;
    margin-bottom: 30px;
}
.life .day .scBlock .item.mbm{
    margin-bottom: 75px;
}
.life .day .scBlock .item.mbl{
    margin-bottom: 100px;
}
.life .day .scBlock .item.mtm{
    margin-top: 30px;
}
.life .day .scBlock .item .time{
    width: 30%;

    padding: 3px 10px;
    font-size: 16px;
    top: -15px;
}
.life .day .scBlock:nth-child(2n-1) .item .time{
    right: 0;
}
.life .day .scBlock:nth-child(2n) .item .time{
    left: 0;
}
.life .day .scBlock .item.image{
    margin-top: -15px;
}

.life .daynote{
    padding-top: 30px;
}


.life .events{
    padding-bottom: 10px;
}
.life .events .eventList{
    border-radius: 20px;
    margin-bottom: 10px;
}
.life .events .eventList .title{
    top: 50%;
    left: 30%;

    width: 80px;
    height: 80px;
}
.life .events .eventList .title .label{
    left: -40px;

    width: 80px;
    height: 80px;
    
    background-size: 80px auto;
}

.life .events .eventList .image{
	width: 28%;
    margin: 10px 0 10px 2%;
    border-radius: 10px;
}
.life .events .eventList .image:before {
	padding-top: 85%;
}
.life .events .eventList .text{
	width: 70%;
    border-radius: 0 20px 20px 0;

    padding: 20px 20px 20px 60px;
}

.life .events .eventList table th{
    padding: 1px 0;
}
.life .events .eventList table th .label{
    width: 3.5em;
    
    padding: 3px 5px;
    
    font-size: 14px;
    border-radius: 5px;
}
.life .events .eventList table td{
    padding: 3px 10px;
    font-size: 13px;
}
.life .events ul.images.n4{
    margin-bottom: 30px;
}
.life .eventNote{
    padding: 20px 20px;
    margin-bottom: 20px;
}


.life .kitchen{
    border-radius: 20px;
    margin-bottom: 20px;
}
.life .kitchen .headerImage{
    border-radius: 20px 20px 0 0;
}
.life .kitchen .bodyArea{
    padding: 20px 0;
    
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
}
.life .kitchen .imageArea{
    width: 100%;
    
    display: flex;
    flex-direction: row;
}
.life .kitchen .imageArea ul{
    width: 92%;
    margin: 0 auto;
    justify-content: center;
    
    margin-bottom: 15px;
}
.life .kitchen .imageArea li{
    width: 23%;
    margin: 0 1%;
    
    margin-bottom: 0;
}
.life .kitchen .textArea{
    width: 100%;
    
    padding: 20px 8% 0;
}
.life .kitchen .textArea h3{
    margin-bottom: 0.4em;
    font-size: 16px;
}
.life .kitchen .textArea p{
    margin-bottom: 2em;
}
.life .kitchenNote{
    padding-bottom: 10px;
}


.life ul.menu li{
    width: 46%;
    margin: 0 2% 30px;
}
.life ul.menu li .image{
    margin-bottom: 12px;
}
.life ul.menu li .caption{
    font-size: 13px;
}
.life ul.menu li.fwcap{
    margin-top: -30px;
}

.entry .subSection{
    border-radius: 30px;
    margin-bottom: 40px;
}
.entry .subSection .titleArea{
    border-radius: 30px 30px 0 0;
}
.entry .subSection .titleArea h3{
    padding: 12px 0 10px;
}
.entry .subSection .bodyArea{
    padding: 25px 4% 25px;
    border-right: 3px solid #ffe4bf;
    border-bottom: 3px solid #ffe4bf;
    border-left: 3px solid #ffe4bf;
    
    border-radius: 0 0 30px 30px;
}

.entry table.data th{
    padding: 2px 0;
    font-size: 14px;
}
.entry table.data th .label{
    padding: 3px 10px;
    
    font-size: 14px;
    border-radius: 5px;
}
.entry table.data td{
    padding: 5px 10px;
    font-size: 13px;
}

.entry ul.anchorLinks li a{
    padding: 7px 18px;
    font-size: 14px;
}


.preschool .subSection{
    margin-bottom: 40px;
}
.preschool .subSection h3{
    padding: 4px 28px;
    margin-bottom: 20px;
}
.preschool .subSection h4{
    padding: 7px 18px;
}
.preschool .subSection h5{
    margin-bottom: 5px;
}
.preschool .subSection .subData{
    margin: 0 auto 50px;
}
.preschool .subSection .subData:last-child{
    margin-bottom: 15px;
}

.preschool table.data th{
    padding: 2px 0;
    font-size: 14px;
}
.preschool table.data th.pr{
    padding-right: 20px;
}
.preschool table.data th .label{
    padding: 3px 10px;
    font-size: 14px;
    border-radius: 4px;
}
.preschool table.data td{
    padding: 5px 10px;
    font-size: 14px;
}

.aboutus .message p.name{
    font-size: 17px;
}
.aboutus .message .photo{
    width: 35%;
    margin-left: 5%;
    margin-bottom: 20px;
}

.aboutus .subSection{
    margin-bottom: 40px;
}
.aboutus .subSection h3{
    padding: 4px 28px;
    margin-bottom: 20px;
}
.aboutus .subSection h4{
    padding: 7px 18px;
}
.aboutus .subSection h5{
    margin-bottom: 5px;
}
.aboutus .subSection .subData{
    margin: 0 auto 50px;
}
.aboutus .subSection .subData:last-child{
    margin-bottom: 15px;
}

.aboutus table.profile,
.aboutus table.history{
    margin-bottom: 50px;
}
.aboutus table.profile th,
.aboutus table.profile td,
.aboutus table.history th,
.aboutus table.history td{
    padding: 10px 20px 8px;
    font-size: 14px;
}
.aboutus table.history th,
.aboutus table.history td{
    padding: 10px 12px 8px;
}
.aboutus table.history th{
    padding: 10px 0px 8px 12px;
    white-space: nowrap;
}

.aboutus ul.facilities li{
    width: 46%;
    margin: 0 2% 30px;
}
.aboutus ul.facilities li .image{
    margin-bottom: 12px;
}
.aboutus ul.facilities li .caption{
    font-size: 13px;
}
.aboutus ul.facilities li.fwcap{
    margin-top: -30px;
}

.aboutus .safety{
    padding: 20px 0;
    
    flex-direction: column;
}
.aboutus .safety .imageArea{
    width: 100%;
}
.aboutus .safety .imageArea ul{
    width: 90%;
    margin: 0 auto;
    justify-content: center;
    
    margin-bottom: 15px;
}
.aboutus .safety .imageArea li{
    width: 46%;
    margin: 0 2%;
    
    margin-bottom: 20px;
}
.aboutus .safety .textArea{
    width: 100%;
    padding: 10px 0;
}
.aboutus .safety .textArea h3{
    margin-bottom: 0.4em;
    font-size: 16px;
}
.aboutus .safety .textArea p{
    margin-bottom: 2em;
}




article.topic{
    padding: 20px 0;
}
article.topic .header{
    margin-bottom: 25px;
}
article.topic .cat{
    padding: 3px 12px;
    font-size: 12px;
}
article.topic h1{
    font-size: 20px;
    margin-bottom: 30px;
}
article.topic .bodyArea{
    font-size: 14px;
}

.plainPage{
    padding: 20px 0;
}
.plainPage h1{
    font-size: 20px;
    margin-bottom: 30px;
}
.plainPage .bodyArea{
    font-size: 14px;
}





dl.form dt{
	padding: 3% 2% 3%;
	width: 100%;
	float: none;
}
dl.form dd{
	border-top: none;
	padding: 1% 2% 3%;
	width: 100%;
	float: none;
}



.subPageNavi .title{
    font-size: 17px;
    margin-bottom: 23px;
}
.subPageNavi li{
    margin: 0 8px 16px;
}
.subPageNavi li a{
    min-width: 190px;
    
    padding: 7px 18px;
    font-size: 14px;
}

.contactInfo .time{
    font-size: 16px;
    margin-top: -10px;
    margin-bottom: 10px;
}
.contactInfo .tel{
    font-size: 19px;
}



}





/* ---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 699px){


.education .activity{
    max-width: 600px;
    margin: 0 auto;

    padding-top: 0;
    margin-bottom: 50px;
}
.education .activity.il{
    flex-direction: column;
}
.education .activity.ir{
    flex-direction: column;
}
.education .activity .image{
    width: 100%;
}
.education .activity .image img{
    display: block;
    width: 90%;
    height: auto;
    
    margin: 0 auto;
    
    position: relative;
    left: auto;
    top: auto;
    
    border-radius: 20px;
    
    margin-bottom: -25px;
}
.education .activity.il .image img{
    left: auto;
}
.education .activity.ir .image img{
    left: auto;
    right: auto;
}

.education .activity .text{
    width: 100%;
    
    padding: 40px 30px 20px;
    
    border: 8px solid #eee;
    border-radius: 20px;
}
.education .activity.il .text{
    padding-left: 30px;
}
.education .activity.ir .text{
    padding-right: 30px;
}
.education .activity .text h3{
    padding-top: 10px;
    text-align: center;
    margin-bottom: 20px;
}



footer.page .ftNavi{
    flex-wrap: wrap;
    justify-content: flex-start;
}
footer.page .ftNavi ul{
    width: 31%;
    
    margin-bottom: 20px;

}
footer.page .ftNavi ul li{
    margin-bottom: 5px;
}
footer.page .ftNavi ul li a{
    font-size: 12px;
    line-height: 1.4;

    white-space: normal;
}
footer.page .ftNavi ul li.catname{
    padding-bottom: 5px;
}
footer.page .ftNavi ul li.catname a{
    font-size: 15px;
}



}







/* ---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 499px){


header.page,
header.page.home {
    background-image: none;
}

#mainImage .imageArea ul#mainCopy li{
    padding: 12px 20px 12px 30px;
    border-radius: 30px 0 0 0;
}
#mainImage .imageArea ul#mainCopy li img{
    height: 40px;
}

#topics table th,
#topics table td{
    padding: 8px 6px;
    
    font-size: 12px;
}
#topics table th{
    width: 10%;
}
#topics table td.cat{
    width: 10%;
}
#topics table td.cat .name{
    width: 6em;
    padding: 3px 0;
    font-size: 11px;
}


#homePolicy li{
    width: 50%;
}
#homePolicy li:nth-child(2n){
    background-color: #fff8ef;
}
#homePolicy li:nth-child(3n+1),
#homePolicy li:nth-child(4n+1){
    background-color: #fef2e1;
}
#homePolicy li:first-child{
    border-radius: 15px 0 0 0;
}
#homePolicy li:last-child{
    border-radius: 0 0 15px 0;
}
#homePolicy li:nth-child(3){
    border-radius: 0;
}
#homePolicy li:nth-child(4){
    border-radius: 0;
}
#homePolicy li:nth-child(2){
    border-radius: 0 15px 0 0;
}
#homePolicy li:nth-child(5){
    border-radius: 0 0 0 15px;
}
#homePolicy li .text{
    box-sizing: border-box;
    width: 100%;
    
    padding: 20px 20px 15px;
}
#homePolicy li .title{
    font-size: 16px;
    margin-bottom: 15px;
}
#homePolicy li .desc{
    font-size: 12px;
}
#homePolicy li .image:before {
	padding-top: 75%;
}


#homePickup{
    margin-bottom: -10px;
}
#homePickup li{
    width: 90%;
    margin: 0;
    margin-bottom: 30px;
}
#homePickup li:nth-child(2){
    margin-top: 0;
}
#homePickup li .image{
    width: 92%;
    border: 10px solid #fff;
}
#homePickup li .label{
    width: 40%;
    
    font-size: 16px;
    line-height: 1.6;
}
#homePickup li .label::after{
	margin-top: -5px;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
}
#homePickup li .desc{
    margin-top: 20px;
    font-size: 14px;
}


#homeFirsttime{
    margin-bottom: -30px;
}
#homeFirsttime ul{
    justify-content: center;
}
#homeFirsttime li{
    width: 100%;
    margin: 0;
    margin-bottom: 50px;
}
#homeFirsttime li .image{
    border-radius: 30px;
    
    margin-bottom: 25px;
}
#homeFirsttime li .title{
    font-size: 17px;

    margin-bottom: 18px;
}
#homeFirsttime li .desc{
    font-size: 14px;
    margin-bottom: 18px;
}
#homeFirsttime li .detail{
    min-width: 200px;
    padding: 8px 40px;
    font-size: 13px;
    border-radius: 30px;
}

.secBlk h2{
    font-size: 16px;
    
    padding-bottom: 26px;
    margin-bottom: 40px;
    
    background-size: 160px auto;
}
.secBlk h3{
    font-size: 16px;
    margin-bottom: 25px;
}
.secBlk h4{
    font-size: 15px;
    margin-bottom: 20px;
}
.secBlk h5{
    font-size: 14px;
    margin-bottom: 15px;
}
.secBlk p{
    font-size: 13px;
}
.secBlk ul.normal{
    font-size: 13px;
}

.secBlk .catchphrase{
    font-size: 16px;
    margin-bottom: 30px;
}
.secBlk .lead{
    font-size: 13px;
    margin-bottom: 30px;
}

.cmnBtn a{
    min-width: 200px;
    padding: 12px 30px;
    font-size: 12px;
}

#subMain .content h1{
    bottom: -32px;
    
    width: 70%;
    min-width: 200px;
    height: 64px;
    padding: 8px 40px;

    font-size: 16px;

    border-radius: 32px 32px 0 0;
}

#subIndex{
	padding: 30px 0 0;
}
#subIndex li{
	width: 100%;
    margin: 0;

    border-radius: 15px;

    margin-bottom: 30px;
}
#subIndex .text{
    padding: 20px 0 30px;
}
#subIndex .title{
    font-size: 14px;
    margin-bottom: 15px;
}
#subIndex li .link{
    width: 80%;
}
#subIndex li .link .btn{
    max-width: 220px;

    padding: 10px 18px;
    font-size: 12px;
}

.education ul.goal li{
    padding: 10px 20px 8px;
    font-size: 15px;
    margin-bottom: 14px;
}

.education ul.policy li{
    width: 100%;
    
    padding-top: 50px;
    margin-bottom: 30px;
}
.education ul.policy li .title{
    width: 100px;
}

.education .envBlk{
    padding: 0 0 30px;
}
.education .envBlk .titleArea{
    margin-bottom:40px;
}
.education .envBlk .title{
    min-width: 250px;
    padding: 8px 20px;
    font-size: 16px;
}

.education ul.env li{
    width: 96%;
    margin: 0 2% 30px;
}
.education ul.env li .image{
    margin-bottom: 12px;
}
.education ul.env li .caption{
    font-size: 13px;
}
.education ul.env li.fwcap{
    margin-top: -30px;
}


.life h2.class{
    width: 120px;
    height: 120px;
    margin: -20px auto 25px;
    
    background-size: 120px auto;
}
.life table.class{
    margin: 0 auto 30px;
}
.life table.class th .label{
    padding: 4px 10px;
    font-size: 13px;
}
.life table.class td{
    font-size: 13px;
}


.tabItem {
    height: 40px;
}
.tabItem.c01 {
    background-size: 185px 30px;
}
.tabItem.c02 {
    background-size: 185px 30px;
}
.tabArea input:checked + .tabItem.c01{
    background-size: 185px 40px;
}
.tabArea input:checked + .tabItem.c02{
    background-size: 185px 40px;
}
.secBlk.tab01{
    border-top-width: 5px;
}
.secBlk.tab01::after{
    border-width: 10px 15px 0 15px;
}
.secBlk.tab02{
    border-top-width: 5px;
}
.secBlk.tab02::after{
    border-width: 10px 15px 0 15px;
}

.life .day{
    background-size: 50px auto;
}
.life .day::after{
    width: 10px;
    height: 10px;
}
.life .day .titleArea{
    width: 43%;
    padding: 10px 0 25px;
}
.life .day .titleArea .title{
    padding: 8px 10px;
    font-size: 13px;
}
.life .day .scBlock:nth-child(2n-1){
    border-right: 2px solid #3a3a3a;
}
.life .day .scBlock:nth-child(50n-97){
    padding-top: 15px;
}
.life .day .scBlock:nth-child(50n-96){
    padding-top: 15px;
}
.life .day .scBlock .item{
    padding: 15px 10px 13px;
    width: 92%;
    border-radius: 10px;
    font-size: 13px;
    margin-bottom: 30px;
}
.life .day .scBlock .item.mbm{
    margin-bottom: 60px;
}
.life .day .scBlock .item.mbl{
    margin-bottom: 80px;
}
.life .day .scBlock .item.mtm{
    margin-top: 20px;
}
.life .day .scBlock .item .time{
    width: 30%;

    padding: 2px 3px;
    font-size: 13px;
    top: -15px;
}
.life .day .scBlock:nth-child(2n-1) .item .time{
    right: 0;
}
.life .day .scBlock:nth-child(2n) .item .time{
    left: 0;
}
.life .day .scBlock .item.image{
    margin-top: -15px;
}

.life .daynote{
    padding-top: 30px;
}



.life .events{
    padding-bottom: 10px;
}
.life .events .eventList{
    margin-bottom: 10px;
}
.life .events .eventList .title{
    top: 0;
    left: 0;
    
    width: 100%;
    height: 70px;
}
.life .events .eventList .title .label{
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);

    width: 70px;
    height: 70px;
    
    background-size: 70px auto;
}
.life .events .eventList .image{
	width: 30%;
    border-radius: 10px;
}
.life .events .eventList .image:before {
	padding-top: 85%;
}
.life .events .eventList .image img{
}
.life .events .eventList .text{
	width: 70%;
    border-radius: 0 20px 20px 0;
    padding: 40px 10px 20px 20px;
}

.life .events .eventList table{
}
.life .events .eventList table th{
    padding: 1px 0;
}
.life .events .eventList table th .label{
    width: 3.5em;
    padding: 2px 3px;
    
    font-size: 13px;
}
.life .events .eventList table td{
    padding: 3px 10px;
    font-size: 12px;
}
.life .events ul.images.n4{
    margin-bottom: 50px;
}

.life .eventNote{
    padding: 20px 20px;
    margin-bottom: 20px;
}


.life .kitchen{
    border-radius: 20px;
    margin-bottom: 20px;
}
.life .kitchen .headerImage{
    border-radius: 20px 20px 0 0;
}
.life .kitchen .bodyArea{
    padding: 20px 0;
    
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
}
.life .kitchen .imageArea{
    width: 100%;
    
    display: flex;
    flex-direction: row;
}
.life .kitchen .imageArea ul{
    width: 92%;
    margin: 0 auto;
    justify-content: center;
    
    margin-bottom: 15px;
}
.life .kitchen .imageArea li{
    width: 48%;
    margin: 0 1%;
    
    margin-bottom: 10px;
}
.life .kitchen .textArea{
    width: 100%;
    
    padding: 10px 8% 0;
}
.life .kitchen .textArea h3{
    margin-bottom: 0.4em;
    font-size: 15px;
}
.life .kitchen .textArea p{
    margin-bottom: 2em;
}
.life .kitchenNote{
    padding-bottom: 10px;
}


.life ul.menu li{
    width: 96%;
    margin: 0 2% 30px;
}
.life ul.menu li .image{
    margin-bottom: 12px;
}
.life ul.menu li .caption{
    font-size: 13px;
}
.life ul.menu li.fwcap{
    margin-top: -30px;
}

.entry .subSection{
    border-radius: 20px;
    margin-bottom: 40px;
}
.entry .subSection .titleArea{
    border-radius: 20px 20px 0 0;
}
.entry .subSection .titleArea h3{
    padding: 10px 0 8px;
}
.entry .subSection .bodyArea{
    padding: 20px 4% 20px;
    border-right: 2px solid #ffe4bf;
    border-bottom: 2px solid #ffe4bf;
    border-left: 2px solid #ffe4bf;
    
    border-radius: 0 0 20px 20px;
}

.entry table.data{
}
.entry table.data th{
    padding: 1px 0;
    font-size: 13px;
}
.entry table.data th .label{
    padding: 3px 10px;
    
    font-size: 13px;
}
.entry table.data td{
    padding: 4px 10px;
    font-size: 12px;
}

.entry ul.anchorLinks li a{
    padding: 6px 16px;
    font-size: 13px;
}

.preschool .subSection{
    margin-bottom: 40px;
}
.preschool .subSection h3{
    padding: 4px 26px;
    margin-bottom: 15px;
}
.preschool .subSection h4{
    padding: 7px 18px;
}
.preschool .subSection h5{
    margin-bottom: 5px;
}
.preschool .subSection .subData{
    margin: 0 auto 40px;
}
.preschool .subSection .subData:last-child{
    margin-bottom: 10px;
}

.preschool table.data th{
    padding: 2px 0;
    font-size: 13px;
}
.preschool table.data th.pr{
    padding-right: 20px;
}
.preschool table.data th .label{
    padding: 3px 10px;
    font-size: 13px;
    border-radius: 4px;
}
.preschool table.data td{
    padding: 5px 10px;
    font-size: 13px;
}

.aboutus .message p.name{
    font-size: 15px;
}
.aboutus .message .photo{
    width: 40%;
    margin-left: 5%;
    margin-bottom: 20px;
}

.aboutus .subSection{
    margin-bottom: 40px;
}
.aboutus .subSection h3{
    padding: 4px 26px;
    margin-bottom: 15px;
}
.aboutus .subSection h4{
    padding: 7px 18px;
}
.aboutus .subSection h5{
    margin-bottom: 5px;
}
.aboutus .subSection .subData{
    margin: 0 auto 40px;
}
.aboutus .subSection .subData:last-child{
    margin-bottom: 10px;
}

.aboutus table.profile,
.aboutus table.history{
    margin-bottom: 50px;
}
.aboutus table.profile th,
.aboutus table.profile td,
.aboutus table.history th,
.aboutus table.history td{
    padding: 8px 20px 6px;
    font-size: 13px;
}
.aboutus table.history th,
.aboutus table.history td{
    padding: 8px 10px 6px;
}
.aboutus table.history th{
    padding: 8px 0px 6px 10px;
    white-space: nowrap;
}

.aboutus .eceq{
    flex-wrap: wrap;
}
.aboutus .eceq .image{
    width: 100%;
    margin-right: 0%;
    
    text-align: center;
    
    margin-bottom: 20px;
}
.aboutus .eceq .image img{
    max-width: 200px;
}
.aboutus .eceq .text{
    width: 100%;
}

.aboutus ul.facilities li{
    width: 96%;
    margin: 0 2% 30px;
}
.aboutus ul.facilities li .image{
    margin-bottom: 12px;
}
.aboutus ul.facilities li .caption{
    font-size: 13px;
}
.aboutus ul.facilities li.fwcap{
    margin-top: -30px;
}

.aboutus .safety{
    padding: 20px 0;
    
    flex-direction: column;
}
.aboutus .safety .imageArea ul{
    width: 100%;
    
    margin-bottom: 15px;
}
.aboutus .safety .imageArea li{
    width: 100%;
    margin: 0;
    
    margin-bottom: 20px;
}
.aboutus .safety .textArea{
    padding: 10px 0;
}
.aboutus .safety .textArea h3{
    font-size: 15px;
}
.aboutus .safety .textArea p{
    margin-bottom: 2em;
}




ul.images.n3 li{
    width: 100%;
}
ul.images.n4 li{
    width: 49%;
    margin-bottom: 10px;
}


article.topic{
    padding: 20px 0;
}
article.topic .header{
    margin-bottom: 20px;
}
article.topic .cat{
    padding: 3px 10px;
    font-size: 11px;
}
article.topic h1{
    font-size: 18px;
    margin-bottom: 30px;
}
article.topic .bodyArea{
    font-size: 13px;
}

.plainPage{
    padding: 20px 0;
}
.plainPage h1{
    font-size: 18px;
    margin-bottom: 30px;
}
.plainPage .bodyArea{
    font-size: 13px;
}


.subPageNavi .title{
    font-size: 16px;
    margin-bottom: 20px;
}
.subPageNavi li{
    margin: 0 8px 16px;
}
.subPageNavi li a{
    min-width: 180px;
    
    padding: 7px 16px;
    font-size: 13px;
}

.contactInfo .time{
    font-size: 16px;
    margin-top: -10px;
    margin-bottom: 10px;
}
.contactInfo .tel{
    font-size: 18px;
}

footer.page .ftNavi ul{
    width: 48%;
    
    margin-bottom: 20px;
}

footer.page .info{
    padding: 30px 0;
    
    flex-wrap: wrap;
}
footer.page .name{
    width: 90%;
    margin: 0 auto;
    
    text-align: center;

    padding: 0 0 20px;
}
footer.page .name .sub{
    font-size: 15px;
}
footer.page .name .main{
    font-size: 20px;
}
footer.page .address{
    max-width: 100%;
    font-size: 13px;
    line-height: 1.5;
    
    text-align: center;
}



.pageTop {
	bottom: 80px;
	right: 10px;
	
	width: 40px;
}


}







ul.btnH{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
ul.btnH li{
    width: auto;
    padding: 0 15px;
}

@media only screen and (max-width: 699px){

ul.btnH li{
    width: 100%;
    margin-bottom: 10px;
}

}



