@charset "UTF-8";

/*===============================================

 common style

=================================================*/

html {
	font-size: 62.5%;
	/* overflow-y: scroll; */
}
body {
	-webkit-text-size-adjust: 100%!important;
	/* font-size: 0; */
	font-weight: 500;
	color: #111111;
	background:url(../img/common/bg_body.png) repeat 0 0;
	overflow-x: hidden;
}
body * {
	box-sizing:border-box;
}

/*-----------------------------------------------
 text size
-------------------------------------------------*/

p, th, td, dt, dd, li, form {
	line-height: 180%;
	font-size: 1.6rem;
	font-size: 16px\9; /* for IE8 */
	letter-spacing: 0.5px;
	text-align: left;
}
.txt14 {
	font-size: 1.4rem !important;
}
.txt12 {
	font-size: 1.2rem !important;
}
@media all and (-ms-high-contrast: none) {
    sup {
       font-size: 60%; /* IE10以上 */
    }
}
sup {
   font-size: 50%;
   position: relative;
   top: -0.1em;
}

/*-----------------------------------------------
 text color
-------------------------------------------------*/

a {
	overflow: hidden;
	outline: none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s;
}
a:link, a:visited {
	color: #111111;
	text-decoration: none;
}
a:hover {
	text-decoration:underline;
}
a:active {
	background: none;
}
.red {
	color: #d80000;
}

/*-----------------------------------------------
 align
-------------------------------------------------*/
.center {
	text-align: center !important;
}
.left {
	text-align: left !important;
}
.right {
	text-align: right !important;
}

/*-----------------------------------------------
 note
-------------------------------------------------*/
ul.note,
ol.note {
	margin:0 0 20px 0;
	padding:0;
}
ul.note li,
p.note {
	position:relative;
	list-style:none;
	padding-left:1em;
	text-indent:-1em;
    font-size:1.4rem;
}
ul.note.small li,
p.note.small {
    font-size:1.2rem;
}
ul.note li:before,
p.note:before {
	top:0;
	left:0;
	content: '※';
	font-size:1.3rem;
}
ul.note.small li:before,
p.note.small:before {
	font-size:1.2rem;
}
ul.note.noBefore li:before,
p.note.noBefore:before {
	content:"";
}
ol.note li{
	position:relative;
	list-style:none;
	padding-left:1.8em;
	text-indent:-1.8em;
}
ol.note li:before{
	top:0;
	left:0;
	counter-increment: item;
	content: '※';
	font-size:1.2rem;
}

/*-----------------------------------------------
 btn
-------------------------------------------------*/
.btn {
  text-align: center;
}
.btn a {
  display: block;
  width: 300px;
  height: 60px;
  line-height: 60px;
  margin: 30px auto;
  border-radius: 50px;
  background-color: #5eb2d8;
  color: #fff;
    font-size: 1.6rem;
}
.btn a:hover {
  text-decoration: none;
  opacity: 0.6;
}

/*-----------------------------------------------
 dl
-------------------------------------------------*/
.list dl  {
  float: none;
  width: auto;
  margin-left: 0;
}
.list dl dt {
  font-weight: bold;
}
.list > dl {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #e4ddcf;
}
.list > dl:last-child {
  border-bottom: none;
}
.list > dl > * {
  float: none;
  padding-top: 20px;
  padding-bottom: 20px;
}
.list > dl > dt {
	width:150px;
}
.list > dl > dd dl * {
  margin-top: 10px
}
.list dd > ul {
  margin-top: 10px;
}
.list dd > ul > li {
  position: relative;
  padding-left: 20px;
}
.list dd > ul > li::before {
  position: absolute;
  top: 10px;
  left: 2px;
  content: "";
  width: 8px;
  height: 8px;
  background-image: url(../img/common/dot_pink.png);
  background-size: 8px 8px;
}
.list .flow dd,
.list .flow dd p{
  text-align: center;
}

/*-----------------------------------------------
 .boxPhoto
-------------------------------------------------*/
.boxPhoto {
	margin-top:35px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.boxPhoto .photo,
.boxPhoto figure{
}
.boxPhoto:nth-of-type(even) .photo,
.boxPhoto:nth-of-type(even) figure{
    order: 2;
}
.boxPhoto .txt {
	width:450px;
}
.boxPhoto:nth-of-type(even) .txt {
	order: 1;
}
.boxPhoto .txt > p {
	margin-top:35px;
}
.boxPhoto .txt > p:first-child {
	margin-top:10px;
}

/*-----------------------------------------------
 margin
-------------------------------------------------*/

/* top */

.top0 {
	margin-top: 0 !important;
}
.top10 {
	margin-top: 10px !important;
}
.top15 {
	margin-top: 15px !important;
}
.top20 {
	margin-top: 20px !important;
}
.top25 {
	margin-top: 25px !important;
}
.top30 {
	margin-top: 30px !important;
}
.top35 {
	margin-top: 35px !important;
}
.top40 {
	margin-top: 40px !important;
}
.top50 {
	margin-top: 50px !important;
}
.top60 {
	margin-top: 60px !important;
}
.top70 {
	margin-top: 70px !important;
}
.top80 {
	margin-top: 80px !important;
}


/* bottom */

.btm0 {
	margin-bottom: 0 !important;
}
.btm10 {
	margin-bottom: 10px !important;
}
.btm15 {
	margin-bottom: 15px !important;
}
.btm20 {
	margin-bottom: 20px !important;
}
.btm25 {
	margin-bottom: 25px !important;
}
.btm30 {
	margin-bottom: 30px !important;
}
.btm35 {
	margin-bottom: 35px !important;
}
.btm40 {
	margin-bottom: 40px !important;
}
.btm50 {
	margin-bottom: 50px !important;
}
.btm60 {
	margin-bottom: 60px !important;
}
.btm70 {
	margin-bottom: 70px !important;
}

/*===============================================

 header

=================================================*/

/*-----------------------------------------------
 .flag
-------------------------------------------------*/

.flag {
	position:fixed;
	top:0;
	z-index:10;
}
@media(max-width:1470px){
.flag {
	display:none;
}
}
#flagRight {
	right:0;
}
#flagLeft {
	left:0;
}

#headerWrap {
	width: 100%;
	background:url(../img/common/roof.png) repeat-x 0 0;
}

/*-----------------------------------------------
 .logo
-------------------------------------------------*/

header {
  display: flex;
  justify-content: space-between;
	width:1000px;
	height:177px;
	margin:0 auto;
}
header .logo {
	padding-top:91px;
}
header .headerRight {
  position: relative;
	padding-top:68px;
}
header .headerRight a {
  display: block;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	transition: all 0.2s;
  text-indent: -9999em;
  background-position: right bottom;
  background-repeat: no-repeat;
}
header .map {
  position: absolute;
  right: 0;
}
header .recruit {
  position: absolute;
  right: 193px;
}
header .map a {
  width: 173px;
  height: 68px;
  background-image: url("../img/common/h_map.png");
}
header .recruit a {
  width: 161px;
  height: 66px;
  background-image: url("../img/common/h_recruit.png");
}
header .map a:hover {
  background-position: right 10px bottom 0;
}
header .recruit a:hover {
  background-position: right 10px bottom 0;
}

/*-----------------------------------------------
 #gnavi
-------------------------------------------------*/
#gnavi {
}
#gnavi ul {
    display: flex;
	width: 1000px;
	height: 95px;
	margin: 0 auto;
	background-position:right center;
	background-repeat:no-repeat;
	background-image:url(../img/common/gnav_line2.png);	
}
#gnavi ul li {
	position:relative;
	line-height:0;
	background-position:left center;
	background-repeat:no-repeat;
}
#gnavi ul li:nth-child(odd) {
	background-image:url(../img/common/gnav_line1.png);	
}
#gnavi ul li:nth-child(even) {
	background-image:url(../img/common/gnav_line2.png);	
}
#gnavi ul li a {
	display: block;
	width: 166px;
	height: 105px;
	text-align: center;
}
#gnavi ul li.new {
    position: relative;
}
#gnavi ul li.new:after {
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    width: 43px;
    height: 20px;
    background-image: url("../img/common/i_new.png");
}
#gnavi ul li a span {
	display:block;
	margin-top:11px;
}
#gnavi ul li a:hover > img {
	-webkit-animation:rolling 2.0s linear 0s 1;
	-moz-animation:rolling 2.0s linear 0s 1;
  animation: rolling 2.0s linear 0s 1;
}
 @keyframes rolling {
  0%   { transform: translate(0%, 0%); }
  5%   { transform: translate(10%, 0%) rotate(10deg); }
  25%  { transform: translate(20%, 0%) rotate(20deg); }
  30%  { transform: translate(-10%, 0%) rotate(-10deg); }
  35%  { transform: translate(-15%, 0%) rotate(-15deg); }
  45%  { transform: translate(10%, 0%) rotate(10deg); }
  50%  { transform: translate(15%, 0%) rotate(15deg); }
  60%  { transform: translate(-5%, 0%) rotate(-5deg); }
  65%  { transform: translate(-7%, 0%) rotate(-7deg); }
  75%  { transform: translate(0%, 0%) rotate(0deg); }
  100% { transform: translate(0%, 0%) rotate(0deg); }
}

/* sub */
#gnavi .sub {
	display: none;
	position: absolute;
	top:105px;
	width: 166px;
	height:auto !important;
	margin-left:3px;
	border:1px solid #e8e2d6;
	background-image:url(../img/common/bg_body.png) !important;
	z-index: 10;
}
#gnavi .sub li {
	float: none;
	background-image:none !important;
	border-bottom:1px solid #e8e2d6;
}
#gnavi .sub li:first-child {
	/* margin-top:5px; */
	/* background-image:url(../img/common/gnav_sub_line.png) !important;*/
	background-position:center bottom;
	background-repeat:no-repeat;
}
#gnavi .sub li:last-child {
	/* margin-bottom:5px; */
	background-image:none;
    border-bottom: none;
}
#gnavi .sub li a {
	height: 30px;
	line-height: 30px;
	padding-left:22px;
	text-align:left;
    font-size: 1.3rem;
}
#gnavi .sub li a:hover {
	position:relative;
	text-decoration:none;
}
#gnavi .sub li a:before {
}
#gnavi .sub li a:hover:before {
	position:absolute;
	content:"";
	width:10px;
	height:12px;
	top:8px;
	left:6px;
	background-image:url(../img/common/gnav_star.png);
	background-position:0 0;
	background-repeat:no-repeat;
	background-size: 11px auto;
}

/*===============================================

 #container

=================================================*/

#container {
}

/*+++++++++++++++++++++++++++++++++++++++++++++++*/
/* clearfix
+++++++++++++++++++++++++++++++++++++++++++++++++*/

#container {
	zoom: 1; /* for IE5.5 - IE7 */
}
#container:after {
	/* for modern browser */
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
}

/*===============================================

 section 

=================================================*/

/*-----------------------------------------------
 .box
-------------------------------------------------*/

section .box {
}
section .box p:first-child {
	margin-top:0;
}

/*-----------------------------------------------
 .boxNews
-------------------------------------------------*/
.boxNews dl {
    display: flex;
	margin-top:20px;
	padding-bottom:20px;
    border-bottom: 1px solid #dcdcdc;
}
.boxNews dl:nth-of-type(1) {
    margin-top: 0;
}
.boxNews form + dl:nth-of-type(1) {
	margin-top:20px;
}
.boxNews dt {
    position:relative;
	width:120px;
    line-height: 1.4;
    font-weight: bold;
}
.boxNews dt::after {
	position:absolute;
	top:-5px;
	width:100px;
	height:30px;
	line-height:30px;
	margin-left:15px;
	text-align:center;
	font-size:1.4rem;
    font-weight: normal;
	box-sizing:border-box;
}
.boxNews dl.news dt:after {
	content:"お知らせ";
	background-color:#ffccec;
}
.boxNews dl.event dt:after {
	content:"イベント";
	background-color:#bfe0ff;
}
.boxNews dl.recruit dt:after {
	content:"採用";
	background-color:#abe597;
}
.boxNews dl.letter dt:after {
	content:"園だより";
	background-color:#f1d08a;
}
.boxNews dl.menu dt:after {
	content:"献立";
	background-color:#bb9cd7;
}
.boxNews dd {
    line-height: 1.4;
	padding-left:100px;
}
.boxNews dd span {
    margin-left: 0.5rem;
    color: #cc0000;
    font-size: 1.4rem;
}
.boxNews dl.menu dd a,
.boxNews dl.letter dd a{
    position: relative;
    padding-left: 25px;
}
.boxNews dl.menu dd a::before,
.boxNews dl.letter dd a::before{
    content: "";
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 16px;
    margin-right: 8px;
    background: url("../img/common/i_pdf.svg");
    background-size: 12px auto;
    background-repeat: no-repeat;
}

/*===============================================

 star

=================================================*/

#otherParts .star li {
	position:absolute;
	z-index: 1;
}
@media(max-width:1440px){
#otherParts .star li {
	display:none;
}
}
@media(max-width:1670px){
	#otherParts .star li#rightStar2,
	#otherParts .star li#leftStar2,
	#otherParts .star li#leftStar4,
	#otherParts .star li#leftStar5
 {
	display:none;
}
}
#otherParts .star li#leftStar1 {
	top:454px;
	left:168px;
}
#otherParts .star li#leftStar2 {
	top:691px;
	left:238px;
}
#otherParts .star li#leftStar3 {
	top:745px;
	left:124px;
}
#otherParts .star li#leftStar4 {
	top:847px;
	left:339px;
}
#otherParts .star li#leftStar5 {
	top:1100px;
	left:266px;
}
#otherParts .star li#rightStar1 {
	top:504px;
	right:160px;
}
#otherParts .star li#rightStar2 {
	top:633px;
	right:286px;
}
#otherParts .star li#rightStar3 {
	top:997px;
	right:120px;
}
#otherParts .star li#rightStar4 {
	top:1116px;
	right:191px;
}
.star li:nth-child(odd){
	-webkit-animation:star 1.0s ease-in-out infinite alternate;
	-moz-animation:star 1.0s ease-in-out infinite alternate;
	animation:star 1.0s ease-in-out infinite alternate;
}
.star li:nth-child(even){
	-webkit-animation:star 0.8s ease-in-out infinite alternate;
	-moz-animation:star 0.8s ease-in-out infinite alternate;
	animation:star 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes star{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes star{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes star{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*===============================================

 #address 

=================================================*/

#address .contents {
	display:table;
	position:relative;
	padding-top:48px;
}
#address .contents:before {
	position:absolute;
	width:1000px;
	height:8px;
	top:0;
	left:0;
	content:"";
	background-image:url(../img/common/line_address.png);
}
#address .contents > * {
	display:table-cell;
}
#address .contents .left {
	width:350px;
	vertical-align:middle;
}
#address .contents .left p.copy {
	margin-top:13px;
	font-size: 1.2rem;
	font-size: 12px\9; /* for IE8 */
}
#address .contents .right {
	width:650px;
}

/*===============================================

 footer

=================================================*/

#footer {
	position:relative;
	width:100%;
	height:323px;
}
#woodWrap {
	position:relative;
	width:100%;
	height:323px;
}
#l_wood,
#r_wood {
	position:absolute;
	bottom:0;
	z-index:2;
}
#l_wood {
	left:0;
}
#r_wood {
	right:0;
}
@media(max-width:1470px){
#l_wood {
	left:-200px;
}
#r_wood {
	right:-200px;
}
}

/*-----------------------------------------------
 #btnPagetop
-------------------------------------------------*/

#btnWrap {
	position:absolute;
	bottom:0;
	left:43%;
	width:252px;
	height:323px;
}
#footerAnimal {
	position:absolute;
	bottom:0;
	z-index:1;
}
#btnPagetop a {
	display:block;
	position:absolute;
	top:20px;
	left:98px;
	z-index:3;
	width: 65px;
	height: 82px;
	background-image:url(../img/common/btn_pagetop.png);
	background-repeat:no-repeat;
	background-position:0 0;
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	-ms-transition:all 0.3s;
	-o-transition:all 0.3s;
	transition:all 0.3s;
    text-indent: -9999em;
}
#btnPagetop a {
	animation: vertical 1s ease-in-out infinite alternate;
  -webkit-animation: vertical 1s ease-in-out infinite alternate;
}
#btnPagetop a:hover {
	top:10px;
}
@-moz-keyframes vertical {
  0% {transform: translateY(0px);}
  100% {transform: translateY(10px);}
}
@-webkit-keyframes vertical {
  0% {transform: translateY(0px);}
  100% {transform: translateY(10px);}
}
@-ms-keyframes vertical {
  0% {transform: translateY(0px);}
  100% {transform: translateY(10px);}
}

/*+++++++++++++++++++++++++++++++++++++++++++++++*/
/* clearfix
+++++++++++++++++++++++++++++++++++++++++++++++++*/

.cf,
#address {
	zoom: 1; /* for IE5.5 - IE7 */
}
.cf:after,
#address:after {
	/* for modern browser */
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
}
