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

#header-visual {
	background-color: #c5e8f9;
	background-image: url(/cnt_kids/img/index/img-cloud.png);
	background-repeat: repeat-x;
	background-size: 100%;
	animation: bgroop 300s linear infinite;
	position: relative;
	padding-top: 10px;
}
@keyframes bgroop {
 from {background-position: 0 0;}
 to {background-position: -2000px 0;}
}
#header-visual-inner {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	position: relative;
	z-index: 1;
	margin-bottom: -20px;
}
#header-visual span#yonkun,
#header-visual span#denkikki,
#header-visual span#lower-h1 a{
	position: absolute;
}
#header-visual span#yonkun{
	width: 100px;
	left: -10px;
	bottom: 10px;
	animation:fuwaA 2s infinite linear alternate;
}
@keyframes fuwaA {
0% {transform:translate(-10px, 0) rotate(0deg);}
50% {transform:translate(0px, 0) rotate(8deg);}
100% {transform:translate(-10px, 0)rotate(0deg);}
}
#header-visual span#denkikki{
	width: 100px;
	right: -10px;
	bottom: 0px;
	animation:fuwaB 1s infinite linear alternate;
}
@keyframes fuwaB {
 0% {transform:translateY(-5px)}
 20% {transform:translateY(0)}
 100% {transform:translateY(0)}
}
#header-visual span#lower-h1 a {
	width: 50%;
	top: 20px;
	left: 0;
	right: 0;
	margin: auto;
}
#header-visual span#lower-h1 a:hover {animation: hover 1s infinite;}
@keyframes hover {
 0% {transform:translateY(0)}
 50% {transform:translateY(-5px)}
 100% {transform:translateY(0)}
}
@media screen and (max-width: 960px) {
#header-visual-inner {width: 95%;}
}
@media screen and (max-width: 640px) {
#header-visual {
	padding-top: 35px;
	background-size: 150%;}
#header-visual-inner {width: 100%;}
#header-visual span#lower-h1 a {
	width: 45%;
	top: -15px;
}
#header-visual span#yonkun{
	width: 50px;
	left: 35px;
	bottom: 0px;
}
#header-visual span#denkikki{
	width: 50px;
	right: 35px;
	bottom: 0px;
}	
}
@media screen and (max-width: 480px) {
#header-visual span h1 a {width: 60%;}
}

#lower-main {
	background-color: #7fbe26;
	position: relative;
	padding-bottom: 100px;
}
#lower-main:before {
	content: "";
	background-image: url(/cnt_kids/img/common/lower-main-bg.png);
	background-repeat: repeat-x;
	background-position: center top;
	position: absolute;
	top: -17px;
	left: 0;
	width: 100%;
	height: 34px;
	background-size: 2.5% auto;
}
#lower-main-inner {
	background-color: #ffffff;
	width: 940px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding: 2em 2em 3em;
}
#lower-main-inner:before,
#lower-main-inner:after {
	content: '';
	position: absolute;
	width: calc(100% + 20px);
	left: -10px;
	height: 15px;
	background-image: url(/cnt_kids/img/common/lower-main-inner-border-top.png);
	background-repeat: repeat-x;
	background-size: cover;
}
#lower-main-inner:before {top: -15px;}
#lower-main-inner:after {
	background-image: url(/cnt_kids/img/common/lower-main-inner-border-bottom.png);
	bottom: -15px;
	background-position: left bottom;
}
#lower-main-inner-sub:before, 
#lower-main-inner-sub:after {
	content: '';
	position: absolute;
	width: 15px;
	top: -3px;
	height: calc(100% + 10px);
	background-image: url(/cnt_kids/img/common/lower-main-inner-border-left.png);
	background-repeat: repeat-y;
	background-size: contain;
}
#lower-main-inner-sub:before {left: -15px;}
#lower-main-inner-sub:after {
	background-image: url(/cnt_kids/img/common/lower-main-inner-border-right.png);
	right: -15px
}
#lower-main-inner a img:hover{animation: hover 1s infinite;}
@keyframes hover {
 0% {transform:translateY(0)}
 50% {transform:translateY(-5px)}
 100% {transform:translateY(0)}
}
#lower-menu {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 40px;
	padding-bottom: 50px;
}
#lower-menu li {
	width: 33.3333%;
	text-align: center
}
#lower-menu li a {
	padding-bottom: 5px;
	text-align: center;
	color: #ffffff;
	font-size: 1.2em;
	line-height: 1.3;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(to bottom, #7fbe26 0%, #7fbe26 100%);
	background-position: left bottom 1px;
	background-repeat: repeat-x;
	background-size: 3px 3px;
}
#lower-menu li a span {
	width: 80px;
	display: block;
	margin: 2px auto 5px;
}
#lower-menu li#menu-active a, #lower-menu li a:hover {
	border-bottom: 2px solid #fff000
}
@media screen and (max-width: 960px) {
#lower-menu {width: 95%;}
}
@media screen and (max-width: 700px) {
#lower-main-inner {padding: 0.5em 2em 1.5em;}
#lower-main:before {top: -10px;}	
#lower-menu {padding-top: 40px;}
}
@media screen and (max-width: 640px) {
.container-flex#lower-menu{display: flex;}	
#lower-menu{justify-content: center;}	
#lower-menu li {
	width: auto;
	border-left: none;
}	
#lower-menu li {
	padding-left: 0;
	padding-right: 0;
}
#lower-menu li:nth-child(2) {
	margin-left: 5%;
	padding-left: 5%;
	margin-right: 5%;
	padding-right: 5%;
	}	
#lower-menu li a span {width: 65px;}
}
@media screen and (max-width: 500px) {
#lower-menu li a {font-size: 1em;}
}
@media screen and (max-width: 400px) {
#lower-main:before {top: -6px;}
}

#about .container-flex#contents-mokuji,
#sitemap .container-flex#contents-mokuji,
#game .container-flex#contents-mokuji{
    justify-content: center;
}

#title-about,
#title-movei{
	width: 600px;
	margin: 50px auto;
}
#title-movei{width: 650px;}
#about-main {
	background-color: #7fbe26;
	padding-top: 1px;
	padding-bottom: 100px;
}
#swiper-outer{
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}
.swiper-slide {
  overflow: hidden;
  backface-visibility: hidden;
}
.swiper-container-main {
	height: 500px;
	min-height: 600px;
	width: 100%;
}
.swiper-container-main:after{
	content: "";
	background-image: url(/cnt_kids/img/about/about-bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.parallax-bg {
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: auto;
	background-position: center;
	background-size: 100%;
	overflow: hidden;
	backface-visibility: hidden;
	background-repeat: no-repeat;
    }
.swiper-container{margin-bottom: 0}
.swiper-button-next, .swiper-button-prev {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 30px;
	z-index: 1;
	cursor: pointer;
	background-size: auto;
	background-position: center;
	background-repeat: no-repeat
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	background-image: url(/cnt_kids/img/about/prev.svg);
	left: 10px;
	right: auto
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	background-image: url(/cnt_kids/img/about/next.svg);
	right: 10px;
	left: auto
}
#character{
	width: 800px;
	margin: 20px auto 0;
}
@media screen and (min-width: 1200px) {
#swiper-outer{width: 1200px;}	
.swiper-container-main{min-height: 680px}	
}
@media screen and (max-width: 850px) {
	#character{width: 90%;}
}
@media screen and (max-width: 768px) {
.swiper-container-main{
	height: 400px;
	min-height: 0px}	
}
@media screen and (max-width: 680px) {
#title-about,
#title-movei{width: 80%;}
}
@media screen and (max-width: 640px) {
#about #list-mokuji-left{
	position: static;
	bottom: auto;
	margin-bottom: 40px
}
}
@media screen and (max-width: 600px) {
#title-about,
#title-movei{
	margin-top: 0;
	margin-bottom: 30px}	
#swiper-outer{width: 100%;}	
.swiper-container-main{height: 350px;}	
.parallax-bg{width: 85%}	
#character{
	width: 100%;
	margin-top: 0px;
}	
}
@media screen and (max-width: 500px) {
.swiper-container-main{height: 250px;}		
}

/* ¥µ¥Ö¥á¥Ë¥å©` */
#lower-sub-menu {
	background-color: #56911d;
	padding-top: 40px;
	padding-bottom: 65px;
	position: relative
}
#lower-sub-menu:before {
	content: "";
	background-image: url(/cnt_kids/img/common/sub-menu-bg.png);
	background-repeat: repeat-x;
	background-position: center top;
	position: absolute;
	top: -17px;
	left: 0;
	width: 100%;
	height: 34px;
	background-size: 2.5% auto;
}
#lower-sub-menu ul {
	display: flex;
	justify-content: space-between;
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}
#lower-sub-menu ul li {width: 48%;}
#lower-sub-menu ul li a {display: block}
#lower-sub-menu ul li a:hover {animation: hover 1s infinite;}
@keyframes hover {
 0% {transform:translateY(0)}
 50% {transform:translateY(-5px)}
 100% {transform:translateY(0)}
}

@media screen and (max-width: 900px) {
#lower-sub-menu ul {width: 85%;}
}
@media screen and (max-width: 640px) {
#lower-sub-menu:before {background-size: 5% auto;}
#lower-sub-menu ul {display: block}
#lower-sub-menu ul li {
	width: 100%;
	margin: 5px auto;
}
#lower-sub-menu {
	padding-top: 15px;
	padding-bottom: 40px;}
}

/* -----------------------------------
    „Ó»­
   ----------------------------------- */
#container-youtubeBox {
	width: 70%;
	margin: 0 auto 50px;
}
.container-youtube {
	background-color: #000000;
	position: relative;
	width: 100%;
	padding-top: 55%;
	margin-top: 50px;
}
.container-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width:768px) {
#container-youtubeBox {
	width: 90%;
}
}

/*---------------------------------------------
	¥µ¥¤¥È¥Þ¥Ã¥×
  ---------------------------------------------*/
#sitemap-main{
	width: 95%;
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	background-color: #ffffff;
	padding: 50px 30px;
	border-radius: 10px;
	border: 6px double #8b5423
}
.block-category h2{
	margin: 50px 0 0px;
	padding: 10px 20px;
	background-color: #008040;
	color: #ebf7dc;
	border-radius: 0px 20px;
	font-size: 1.3em;
	font-weight: bold;
	text-align: center
}
.block-category h2:before{
	font-family: 'FontAwesome';
	content: "\f0e7";
	padding-right: 5px
}
.sitemap-list h3{
	color: #008040;
	display: block;
	border-bottom: 3px double #008040;
	background-color: #fffbb4;
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 35px;
	padding: 5px 10px 2px;
	border-radius: 6px 6px 0px 0px;
}
.sitemap-list h3:before {
	font-family: 'FontAwesome';
   content: "\f046";
	padding-right: 3px
}
.sitemap-list li.sitemap-dropmenu span a {
	display: block;
	font-weight: bold;
	cursor: pointer;
	padding-top: 10px;
	color: #555555;
}
.sitemap-list li.sitemap-dropmenu span a:hover {color: #008040;}
.sitemap-list li.sitemap-dropmenu ul{
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px dotted #555555
}
.sitemap-list li.sitemap-dropmenu ul.no-border{
	border-bottom: none
}
.sitemap-list li.sitemap-dropmenu ul li{width: 33%}
.sitemap-list li.sitemap-dropmenu.li-wide ul li{width: 49%}
.sitemap-list li.sitemap-dropmenu ul li a{
	padding-bottom: 10px;
    display: block;
	color: #555555;
}
.sitemap-list li.sitemap-dropmenu ul li a:hover { color: #008040;}
.sitemap-list li.sitemap-dropmenu:first-child span{border-top: none;}
.sitemap-list li a:before,
.sitemap-list li.sitemap-dropmenu span a:before,
.sitemap-list li.sitemap-dropmenu a:before,
#sub-sitemap li a:before{
	font-family: 'FontAwesome';
	content: "\f138";
	padding-right: 3px
}
.sitemap-list li.sitemap-dropmenu span.sitemap-open:before {
	content: "\f13a"
}
.sitemap-list li.sitemap-dropmenu ul li a:before {
	content: "?";
	padding-left: 1em
}
#btn-contents{
	border-top: 5px dotted #008040;
	border-bottom: 5px dotted #008040;
	padding-top: 50px;
	margin-top: 50px;
	padding-bottom: 50px;
	margin-bottom: 50px}
#btn-contents li{width: 31%;}
#btn-contents li a{
	font-size: 1.1em;
	font-weight: bold;
	border: 2px solid #008040;
	text-align: center;
    border-radius: 6px;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px
}
#btn-contents li a:hover{
	background-color: #008040;
	color: #ffffff;
}
#sub-sitemap li{width: 31%;}
#sub-sitemap li a{color: #555555}
@media screen and (max-width: 700px) {
.block-category .container-flex,
.container-flex#btn-contents,
#sub-sitemap .container-flex{display: block}	
#btn-contents li,
#sub-sitemap li{width: 100%}	
.sitemap-list{margin-bottom: 30px}	
#btn-contents li:nth-child(2){
	margin-top: 25px;
	margin-bottom: 25px
	}	
}
@media screen and (max-width: 680px) {
.sitemap-list li.sitemap-dropmenu ul{display: block;}	
.sitemap-list li.sitemap-dropmenu ul li,
.sitemap-list li.sitemap-dropmenu.li-wide ul li{width: 100%}	
}
@media screen and (max-width: 640px) {
#sitemap-main{padding: 30px 15px;}	
.block-category h2{
	padding: 10px 0px;
	font-size: 1.1em;
}
#btn-contents li a{font-size: 1em;}	
}


/*---------------------------------------------
	¥²©`¥à
  ---------------------------------------------*/
#container-game{
	width: 70%;
	max-width: 1024px;
    margin: 0 auto 50px;
}
#container-game h3{
	text-align: center;
	font-size: 2.2em;
	line-height: 1.5;
	color: #ffffff;
}
#image-game{position: relative}
#btn-game{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40%;
	margin: auto;
	width: 300px;
}
a#game-btn {
	position: relative;
	display: block;
	text-align: center;
	border-radius: 0.5rem;
	margin-bottom: 12px;
	padding: 10px;
	transition: all 0.3s;
	border: 2px solid #000;
	background: radial-gradient(#000 15%, rgba(0, 0, 0, 0) 16%),
    radial-gradient(#000 15%, rgba(0, 0, 0, 0) 16%), #fe0000;
	background-position: 0 0, 6px 6px;
	background-clip: border-box;
	background-origin: padding-box;
	background-size: 12px 12px;
	cursor: pointer;
	width: 310px;
	animation: fuwaB .85s infinite linear alternate;
}
a#game-btn span {
	position: relative;
	display: block;
	padding: 1.25rem 15px;
	color: #fe0000;
	border: 2px solid #000;
	border-radius: 0.5rem;
	background: #fff;
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.5;
}
a#game-btn span:before{
	font-family: 'FontAwesome';
	content: "\f11b";
	padding-right: 5px;
}
a#game-btn span:hover {	
	background: #fe0000;
	color: #ffffff;
	transition: all 0.3s;
}
#game-attention{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	color: #ffffff
}
#game-attention h4{
	font-weight: bold;
	font-size: 1.15em;
	border-bottom: 1px solid #ffffff;
	margin-bottom: 10px
}
#game-attention li{
	padding-left: 1em;
	text-indent: -1em
}
@media screen and (max-width: 900px) {
#container-game{width: 90%;}	
}
@media screen and (max-width: 680px) {
#container-game h3{font-size: 1.8em;}
#btn-game{bottom: 30%}	
}
@media screen and (max-width: 500px) {
#container-game h3{font-size: 1.5em;}	
#container-game{width: 100%;}	
a#game-btn span{
	font-size: 1.6em;
	padding: 10px;
}	
}
@media screen and (max-width: 450px) {
#btn-game{
	position: static;
	margin-bottom: 30px;
}	
}




