﻿#about {
	box-sizing: border-box;
	background-image: url(../img/bg01.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	height: 1500px;
	width: 100%;
	padding-top: 50px;
	background-color: #97e0ff;
	position: relative;
}
#about .wrapper {
	height: 1124px;
	width: 1040px;
	margin-right: auto;
	margin-left: auto;
}
#about .wrapper .ttl {
	margin-bottom: 30px;
}
#about .wrapper .content_body {
	position: relative;
	background-image: url(../img/about_bg02.gif);
	background-repeat: repeat-x;
	background-position: center 534px;
	height: 1048px;
	width: 1041px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 24px;
	overflow: hidden;
	background-color: #FFF;
}
#about .wrapper .content_body .bg01 {
	background-image: url(../img/about_bg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	height: 534px;
	width: 100%;
	position: relative;
	z-index: 0;
}
#about .wrapper .content_body .char01 {
	position: absolute;
	z-index: 10;
	left: 30px;
	top: 10px;
	height: 446px;
	width: 349px;
}
#about .wrapper .content_body .char01 p {
	font-size: 23px;
	line-height: 150%;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	z-index: 10;
	width: 280px;
	left: 46px;
	top: 353px;
}
#about .wrapper .content_body .flex {
	width: 100%;
	position: absolute;
	z-index: 10;
	left: 0px;
	top: 468px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
#about .wrapper .content_body .flex .item {
	width: 320px;
	margin-right: 5px;
	margin-left: 5px;
	position: relative;
}
#about .wrapper .content_body .flex .item .photo {
	transition:1.5s;
	opacity:0;
	transform:scale(0.7,0.7);
}
#about .wrapper .content_body .flex .item .photo.on {
	opacity:1;
	transform:scale(1,1);
}
#about .wrapper .content_body .flex .item .fukidashi {
	box-sizing: border-box;
	background-repeat: no-repeat;
	height: 214px;
	width: 319px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 42px;
	padding-right: 22px;
	padding-left: 22px;
	position: absolute;
	z-index: 10;
	left: 0px;
	top: 250px;
	transition:1s;
	opacity:0;
}
#about .wrapper .content_body .flex .item .fukidashi.on {
	top: 322px;
	opacity:1;
}
#about .wrapper .content_body .flex .item:nth-child(1) .fukidashi {
	background-image: url(../img/about_text_bg_01.png);
}
#about .wrapper .content_body .flex .item:nth-child(2) .fukidashi {
	background-image: url(../img/about_text_bg_02.png);
}
#about .wrapper .content_body .flex .item:nth-child(3) .fukidashi {
	background-image: url(../img/about_text_bg_03.png);
}
#about .wrapper .content_body .flex .item .fukidashi .name {
	font-size: 22px;
	font-weight: bold;
	line-height: 120%;
	margin-bottom: 8px;
	text-align: center;
}
#about .wrapper .content_body .flex .item:nth-child(1) .fukidashi .name {
	color: #0066CC;
}
#about .wrapper .content_body .flex .item:nth-child(2) .fukidashi .name {
	color: #FF6699;
}
#about .wrapper .content_body .flex .item:nth-child(3) .fukidashi .name {
	color: #3BDDB8;
}
#about .wrapper .content_body .flex .item .fukidashi p {
	font-size: 13px;
	line-height: 180%;
}




#about .char_r {
	background-image: url(../img/char_r.png);
	background-repeat: no-repeat;
	height: 611px;
	width: 333px;
	position: fixed;
	top: 100px;
	right: -333px;
	transition: 1s;
	z-index: 999999999;
	pointer-events: none;
}


#type {
	box-sizing: border-box;
	background-image: url(../img/bg02.png);
	background-repeat: repeat-x;
	background-position: center top;
	height: 909px;
	width: 100%;
	padding-top: 46px;
	position: relative;
}
#type .wrapper .ttl {
	text-align: center;
	margin-bottom: 35px;
}

#type .wrapper {
	height: 652px;
	width: 100%;
}

#type .slider_contents {
	height: 427px;
	width: 1042px;
	margin-right: auto;
	margin-left: auto;
	background-color: #FFF;
	border-radius: 15px;
	z-index:1;
	overflow: hidden;
	position: relative;
}

#type .slider_wrapper {
	height: 427px;
	width: 1042px;
	margin-right: auto;
	margin-left: auto;
	overflow: visible;
	position: relative;
}

#type .slide .body {

}
#type .slide .body .name {
	font-size: 22px;
	line-height: 100%;
	margin-top: 9px;
	margin-right: 13px;
	margin-bottom: 3px;
	margin-left: 13px;
}
#type .slide .body .caption {
	font-size: 12px;
	line-height: 25px;
	margin-right: 15px;
	margin-left: 15px;
	margin-top:8px;
}
#type .slide .body .caption [data-ruby] {
	display:inline-block;
    position: relative;
}
#type .slide .body .caption [data-ruby]:before {
    content: attr(data-ruby);
    position: absolute;
    top: -1.3em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 9px;
	text-align:center;
	white-space: nowrap;
    letter-spacing: -0.8px;
}
#type .slide .body .caption rt {
    display: none;
}
#type .slide.color01 {
	background-color: #E2FAF4;
}
#type .slide.color02 {
	background-color: #E4F2FC;
}
#type .slide.color03 {
	background-color: #FDE3EE;
}
#type .slide.color04 {
	background-color:#fdfdeb;
}

#type .slide.color01 .body .name {
	color:#3CDDB9;
}
#type .slide.color02 .body .name {
	color:#0066CC;
}
#type .slide.color03 .body .name {
	color:#FF6699;
}
#type .slide.color04 .body .name {
	color:#fcaa2f;
}


#type .char_l {
	background-image: url(../img/char_l.png);
	background-repeat: no-repeat;
	height: 573px;
	width: 565px;
	position: fixed;
	top: 100px;
	transition: 1s;
	z-index: 999999999;
	left: -573px;
	pointer-events: none;
}

#character {
	box-sizing:border-box;
	background-image: url(../img/char_bg01.png);
	background-repeat: repeat-x;
	background-position: center center;
	height: 1074px;
	width: 100%;
}
#character .bg01 {
	box-sizing: border-box;
	background-image: url(../img/char_bg02.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 1074px;
	width: 100%;
	padding-top: 60px;
}
#character .wrapper {
	width: 1041px;
	margin-right: auto;
	margin-left: auto;	
}
#character .wrapper .ttl {
	margin-bottom: 30px;
}
#character .wrapper .item_box {
	margin-bottom: 35px;
	height: 408px;
	width: 100%;
	position: relative;
}
#character .wrapper .item_box .item {
	box-sizing:border-box;
	height: 408px;
	width: 1041px;
	position: absolute;
	background-image: url(../img/char_kirin_bg.png);
	background-repeat: no-repeat;
	z-index: 10;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding-left: 40px;
	transition:1s;
	opacity:0;
}
#character .wrapper .item_box.kirin_box .item {
	background-image: url(../img/char_kirin_bg.png);
	right: -100px;
	top: 0px;
}
#character .wrapper .item_box.kirin_box.on .item {
	right: 0px;
	opacity:1;
}
#character .wrapper .item_box.hippo_box .item {
	background-image: url(../img/char_hippo_bg.png);
	left: -100px;
	top: 0px;
}
#character .wrapper .item_box.hippo_box.on .item {
	left: 0px;
	opacity:1;
}
#character .wrapper .item_box .item .body {
	width: 390px;
}
#character .wrapper .item_box .item .body .name{
	font-size: 37px;
	font-weight: bold;
	line-height: 120%;
	margin-bottom: 8px;
}
#character .wrapper .item_box.kirin_box .item .body .name{
	color: #FF331A;
}
#character .wrapper .item_box.hippo_box .item .body .name{
	color: #0099CC;
}
#character .wrapper .item_box .item .body p {
	font-size: 15px;
	line-height: 180%;
}
#character .wrapper .item_box .item .kirin01 {
	position: absolute;
	top: -109px;
	right: 40px;
	z-index: 20;
	transition:2s;
	opacity:0;
}
#character .wrapper .item_box .item .kirin02 {
	position: absolute;
	top: 115px;
	right: 385px;
	z-index: 20;
	transition:2s;
	opacity:0;
}
#character .wrapper .item_box .item .kirin03 {
	position: absolute;
	top: 222px;
	right: 144px;
	z-index: 20;
	transition:2s;
	opacity:0;
}
#character .wrapper .item_box .item .hippo {
	position: absolute;
	top: 25px;
	right: 20px;
	z-index: 20;
	transition:2s;
	opacity:0;
}
#character .wrapper .item_box .item .kirin01.on {
	opacity:1;
}
#character .wrapper .item_box .item .kirin02.on {
	opacity:1;
}
#character .wrapper .item_box .item .kirin03.on {
	opacity:1;
}
#character .wrapper .item_box .item .hippo.on {
	opacity:1;
}



#quiz {
	background-image: url(../img/quiz_bg.gif);
	background-repeat: repeat;
	background-position: center top;
	height: 356px;
	width: 100%;
	position: relative;
}
#quiz .wrapper {
	width: 1050px;
	height: 356px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
#quiz .wrapper .text {
	text-align: center;
	padding-top: 20px;
	padding-bottom: 25px;
}
#quiz .wrapper .btn {
	text-align: center;
}
#quiz .wrapper .btn img {
	transition: 0.7s;
	position: relative;
	z-index: 50;
}
#quiz .wrapper .btn img:hover {
	transform:scale(1.2,1.2);
}
#quiz .wrapper .char_l {
	background-image: url(../img/quiz_char_l.png);
	height: 387px;
	width: 380px;
	position: absolute;
	left: -260px;
	top: -35px;
	transition:1s;
	opacity:0;
}
#quiz .wrapper .char_l.on {
	left: -160px;
	opacity:1;
}
#quiz .wrapper .char_r {
	height: 310px;
	width: 365px;
	position: absolute;
	top: 0px;
	right: -200px;
	transition:1s;
	opacity:0;
}
#quiz .wrapper .char_r.on {
	right: -100px;
	opacity:1;
}
#quiz .wrapper .char_r .char {
	background-image: url(../img/quiz_char_r.png);
	height: 208px;
	width: 365px;
	position: absolute;
	z-index: 0;
	left: 0px;
	bottom: 0px;
}
#quiz .wrapper .char_r .fukidashi {
	background-image: url(../img/quiz_char_r_fukidashi.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% 100%;
	height: 109px;
	width: 268px;
	position: absolute;
	left: 17px;
	top: 5px;
	z-index: 1;
	transition:0.7s;
	opacity:0;
	transform:scale(0,0);
}
#quiz .wrapper .char_r .fukidashi.on {

	transform:scale(1,1);
	opacity:1;
}


#footer {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}


#val_scroll {
	background-color: rgba(0,0,0,0.7);
	width: 200px;
	font-size: 18px;
	line-height: 40px;
	color: #FFF;
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 99999999999;
	height: 40px;
	text-align: center;
}

#val_about {
	background-color: rgba(0,0,0,0.7);
	width: 200px;
	font-size: 18px;
	line-height: 40px;
	color: #FFF;
	position: fixed;
	left: 0px;
	top: 45px;
	z-index: 99999999999;
	height: 40px;
	text-align: center;
}

#val_type {
	background-color: rgba(0,0,0,0.7);
	width: 200px;
	font-size: 18px;
	line-height: 40px;
	color: #FFF;
	position: fixed;
	left: 0px;
	top: 90px;
	z-index: 99999999999;
	height: 40px;
	text-align: center;
}

#val_quiz {
	background-color: rgba(0,0,0,0.7);
	width: 200px;
	font-size: 18px;
	line-height: 40px;
	color: #FFF;
	position: fixed;
	left: 0px;
	top: 135px;
	z-index: 99999999999;
	height: 40px;
	text-align: center;
}
.heading_menu{
	background-color:#97e0ff;
	padding:40px 0 0;
}
.heading_menu .menu01{
	display:flex;
	margin:0px auto;
	justify-content:center;
}
.heading_menu .menu01 li{
	width:202px;
}
.heading_menu .menu01 li + li{
	margin-left:10px;
}
.heading_menu .menu01 li a{
	display:flex;
	border-radius:50%;
	justify-content:center;
	align-items:center;
    width:202px;
	height:202px;
	text-decoration:none;
	color:#FFFFFF;
	background-position:center center;
	background-repeat:no-repeat;
	text-align: center;
	font-size: 19px;
	font-weight: bold;
	line-height:1;
	box-sizing:border-box;
}
.heading_menu .menu01 li a:hover{
	opacity:0.6;
	transition:0.2s ease-out;
}
.heading_menu .menu01 li:nth-of-type(1) a{
	background-image:url(../img/menu_bg01.png);
}
.heading_menu .menu01 li:nth-of-type(2) a{
	background-image:url(../img/menu_bg01.png);
}
.heading_menu .menu01 li:nth-of-type(3) a{
	background-image:url(../img/menu_bg01.png);
}
/*
.heading_menu .menu01 li:nth-of-type(3) a{
	background-image:url(../img/menu_bg03.png);
	font-size: 26px;
	padding-bottom:70px;
}
*/
.heading_menu .menu01 li:nth-of-type(4) a{
	background-image:url(../img/menu_bg04.png);
	/*font-size: 26px;*/
}
.heading_menu .menu01 li:nth-of-type(5) a{
	background-image:url(../img/menu_bg01.png);
}
#nurie{
    height: 360px;
    width: 100%;
    position: relative;
	background-color:#0FC4FF;
}
/*パターン1
#nurie .wrapper{
	width:100%;
    height: 360px;
	margin:0 auto; 
	background:url(../img/nurie_bg01.png) center bottom no-repeat;
}
*/
/*パターン2*/
#nurie .wrapper{
	width:100%;
    height: 360px;
	margin:0 auto; 
	background:url(../img/nurie_bg01_a.png) center bottom no-repeat;
}
#nurie .wrapper .text {
    text-align: center;
	margin:0 auto;
    padding-top: 45px;
    padding-bottom: 0px;
	width:983px;
	height:167px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background:url(../img/nurie_ttl.png) no-repeat center center;
}
#nurie .wrapper .text img{
	vertical-align:bottom;
}
#nurie .wrapper .btn{
	text-align:center;
}
#nurie .wrapper .btn img{
    transition: 0.7s;
    position: relative;
    z-index: 50;
}
#nurie .wrapper .btn img:hover {
    transform: scale(1.2,1.2);
}
.caption02 [data-ruby]{
	display: inline-block;
    position: relative;	
}
.caption02 [data-ruby]:before{
	content: attr(data-ruby);
    position: absolute;
    top: -1.3em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 9px;
    text-align: center;
    white-space: nowrap;
    letter-spacing: -0.8px;
}

.caption03 [data-ruby]{
	display: inline-block;
    position: relative;	
}
.caption03 [data-ruby]:before{
	content: attr(data-ruby);
    position: absolute;
    top: -1.8em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 9px;
    text-align: center;
    white-space: nowrap;
    letter-spacing: -0.8px;
}
.caption04 [data-ruby]{
	display: inline-block;
    position: relative;	
}
.caption04 [data-ruby]:before{
	content: attr(data-ruby);
    position: absolute;
    top: -2.3em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    letter-spacing: -0.8px;
}
#movie{
	padding:50px 0 80px;
	background-color:#C0E0F5;
}
#movie .wrapper{
	width:1045px;
	margin:0 auto;
}
#movie .text01{
	text-align:center;
	margin-bottom:30px;
}
.iframe-wrap {
    position: relative;
    width: 100%;
    padding: calc(480 / 854 * 100%) 0 0;
}
.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#footer{
	height:317px;
}
/* スマートフォン用CSS */
@media screen and (max-width: 640px) {
	
.-----MOBILE_ONLY_CSS_START----- {}

/*スクロールで出てくるキャラクター*/
#about{
	height:2500px;
}
#about .char_r,
#type .char_l{
	display:none;
}
#about .wrapper{
	width:100%;
}
#about .wrapper .ttl{
	text-align:center;
}
#about .wrapper .content_body{
	width:98%;
	height:2240px;
}
#about .wrapper .content_body .char01{
	left:0;
}
#about .wrapper .content_body .flex .item{
	height:600px;
}
#about .wrapper .content_body .flex .item .fukidashi{
    padding: 33px 14px 0;;
}
#about .wrapper .content_body .flex .item .fukidashi p{
	font-size: 16px;
}
#about .wrapper .content_body .flex .item .fukidashi .name{
	margin-bottom:0;
}
#type .slider_wrapper{
	width:600px;
}
#type .slider_contents{
	width:100%;
}
#type .slide .body .name{
	margin-top:5px;
}
#type .slide .body .caption{
	font-size: 16px;
}
.bx-wrapper,
.bx-wrapper .bx-viewport{
	height:427px !important;
}
#type .slider_contents{
	height:500px;
}
#type{
	height:800px;
}
#character .wrapper .ttl{
	margin-bottom:120px;
	text-align:center;
}
#character .wrapper{
	width:100%;
}
#character .wrapper .item_box .item{
	width:620px;
	margin-left:auto;
	margin-right:auto;
	height: 720px;
}
#character .wrapper .item_box{
	height:720px;
}
#character .wrapper .item_box .item .body{
	padding-top:450px;
}
#character .wrapper .item_box.hippo_box .item .body{
	padding-top:415px;
}
#character .wrapper .item_box.kirin_box.on .item{
	right:10px;
}
#character .wrapper .item_box.hippo_box.on .item{
	left:10px;
	height:635px;
}
#character .wrapper .item_box.kirin_box .item{
	background-image:url(../img/char_kirin_bg_smp_a.png);
}
#character .wrapper .item_box.hippo_box .item{
	background-image:url(../img/char_hippo_bg_smp_a.png);
}
#character .wrapper .item_box .item .hippo{
	top: 45px;
    right: 17px;
}
#character{
	height:1730px;
	background-size:contain;
}
#quiz{
	height:760px;
}
#quiz .wrapper{
	width:100%;
}
#quiz .wrapper .char_l{
	top:170px;
}
#quiz .wrapper .char_r{
	top:220px;
}
#quiz .wrapper .btn{
	padding-top: 380px;
    text-align: center;
}
#type .slide .body .caption{
	line-height:28px;
}
.heading_menu .menu01{
	flex-wrap:wrap;
	width:98%;
	justify-content:space-between;
}
.heading_menu .menu01 li{
	margin-bottom:20px;
}
.heading_menu .menu01 li{
	margin-left:0;
}
#nurie .wrapper .text img{
	display:none;
}
/*パターン1
#nurie{
	height:271px;
	padding-top:20px;
}
#nurie .wrapper{
	width:640px;
	height:271px;
	background:url(../img/nurie_sp_bg01.png) center bottom no-repeat;
	background-size: 700px 271px;
}
#nurie .wrapper .text{
	padding-top:50px;
    height: 110px;
}
*/
/*パターン2*/
#nurie{
}
#nurie .wrapper{
	width: 640px;
    height: 360px;
    background: url(../img/nurie_sp_bg01_a.png) center bottom no-repeat;
    background-size: 680px 278px;
}
#nurie .wrapper .text{
    padding-top: 110px;
    margin-top: 0px;
	width:640px;
	height: 95px;
	background:url(../img/nurie_ttl_sp.png) center center no-repeat;
	background-size:630px 95px;
}
#movie .wrapper{
	width:90%;
}
}


/* 印刷用CSS */
@media print {
	
.heading_menu {
	display:none;
	page-break-inside: avoid;
}
#quiz {
	margin-top:50px !important;
}
	
}
