﻿@charset "utf-8";

/* PC/スマホ共通表示 */
.-----PC_MOBILE_COMMON_CSS_START----- {}

.fadeInTop {
	transition: 0.5s;
	opacity: 0;
	position: absolute;
	z-index: 9999;
	bottom: 100px;
	left: 0px;
}
.fadeInTop.on {
	opacity:1.0;
	bottom: 0;
}

.fadeInBottom {
	transition: 0.5s;
	opacity: 0;
	position: absolute;
	z-index: 9999;
	top: 100px;
	left: 0px;
}
.fadeInBottom.on {
	opacity:1.0;
	top: 0;
}

.fadeInRight {
	transition: 0.5s;
	opacity: 0;
	position: absolute;
	z-index: 9999;
	top: 0px;
	left: 50px;
}
.fadeInRight.on {
	opacity:1.0;
	left: 0;
}

.fadeInLeft {
	transition: 0.5s;
	opacity: 0;
	position: absolute;
	z-index: 9999;
	top: 0px;
	right: 50px;
}
.fadeInLeft.on {
	opacity:1.0;
	right: 0;
}

#header {
	width: 100%;
	position: absolute;
	z-index: 999999999999999999999;
	left: 0px;
	top: -80px;
	background-repeat: repeat;
	background-position: center top;
	transition: 1s;
	opacity: 0;
	background-image: none;
	height: 91px;
	overflow:hidden;
}
#header.on {
	top: 0px;
	opacity:1.0;
}

#header .wrapper {
	min-width: 1450px;
	width: 100%;
	background-color: rgba(0,0,0,0.4);
	position: relative;
	height: 91px;
}
#header #site_name a {
	left: 54px;
	transition: 1s;
	opacity: 0;
}
#header #site_name a.on {
	opacity:1.0;
}

#header #g_nav {
	display:none;
}
#header #s_nav {
	left: auto;
	top: 40px;
	right: 228px;
	transition: 1s;
	opacity: 0;
}
#header #s_nav.on {
	opacity:1.0;
}

#header #search_form .form_wrapper {
	position: absolute;
	top: 40px;
	right: 54px;
	height: 25px;
	width: 158px !important;
	transition: 1s;
	opacity: 0;
}
#header #search_form .form_wrapper.on {
	opacity:1.0;
}

#main_image {
	height: 898px;
	width: 100%;
	position: fixed;
	z-index: 0;
	overflow: hidden;
	left: 0px;
	top: 0px;
	background:#000;
}
#main_image .movie {
	height: 898px;
	width: 100%;
	position: absolute;
	z-index: 0;
	overflow: hidden;
	left: 0px;
	top: 0px;
}
#main_image #movie_wrapper {
	height: 898px;
	width: 100%;
	position: absolute;
	z-index: 0;
	overflow: hidden;
	left: 0px;
	top: 0px;
	min-width: 1280px;
}
#main_image #movie_wrapper .movie_box {
	height: auto;
	width: 100%;
	min-width: 1280px;
	display:none;
}
#main_image .mask {
	background-image: url(../img/main_mask.png);
	background-repeat: repeat;
	background-position: center center;
	position: absolute;
	z-index: 100;
	height: 898px;
	width: 100%;
	left: 0px;
	top: 0px;
}


#main_overlay {
	min-width: 1450px;
	position: relative;
	height: 818px;
	width: 100%;
	z-index: 50;
}
#main_overlay .text {
	position: absolute;
	left: 55px;
	top: 256px;
	width: 0px;
	line-height: 0px;
	background-image: url(../img/main_text.png);
	height: 353px;
	background-repeat: no-repeat;
	background-position: left top;
	transition:0.5s;
}
#main_overlay .text.on {
	width: 720px;
}
#main_overlay .link {
	position: absolute;
	top: 270px;
	right: 55px;
	width: 510px;

}
#main_overlay .link ul {
	width: 100%;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
}

#main_overlay .link ul li {
	line-height: 0px;
	margin-bottom: 12px;
	height: 162px;
	width: 162px;
	position: relative;
}
#main_overlay .link ul li a {
	box-sizing: border-box;
	position: absolute;
	transition: 0.4s;
	opacity: 0;
	left: 0px;
	top: -50px;
	display: block;
	background-repeat: no-repeat;
	height: 162px;
	width: 162px;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	font-size: 16px;
	line-height: 18px;
	font-weight: bold;
	background-color: rgba(240,192,0,0.9);
}
#main_overlay .link ul li a.a1 {
	background-image: url(../img/main_c1.png);
	background-position: center 88px;
	padding-top: 35px;
}
#main_overlay .link ul li a.a2 {
	background-image: url(../img/main_c2.png);
	background-position: center 88px;
	padding-top: 57px;
}
#main_overlay .link ul li a.a3 {
	background-image: url(../img/main_c3.png);
	background-position: center 88px;
    padding-top: 37px;
    line-height: 13px;
}
#main_overlay .link ul li a.a4 {
	background-image: url(../img/main_c4.png);
	background-position: center 78px;
	padding-top: 48px;
}
#main_overlay .link ul li a.a5 {
	background-image: url(../img/main_c5.png);
	background-position: center 78px;
	padding-top: 48px;
}
#main_overlay .link ul li a.a6 {
	background-image: url(../img/main_c6.png);
	background-position: center 78px;
	padding-top: 48px;
}

#main_overlay .link ul li a.on {
	top: 0px;
	opacity:1.0;
}
#main_overlay .link ul li a:hover {
	opacity: 0.7;
}

#main_overlay .sns_banner {
	position: absolute;
	font-size: 0px;
	line-height: 0px;
	text-align: right;
	top: 115px;
	right: 55px;
	opacity:0;
	transition:0.4s;
}
#main_overlay .sns_banner.on {
	opacity:1;
}
#main_overlay .sns_banner li {
	display:inline-block;
	line-height:0px;
	margin-left:12px;
}
#main_overlay .sns_banner li a {
	transition:1s;
}
#main_overlay .sns_banner li a:hover {
	opacity:0.7;
}

#top_content {
	min-width: 1200px;
	width: 100%;
	position: relative;
	background-color: #FFF;
	padding-top: 300px;
}


#topics {
	position: absolute;
	width: 100%;
	z-index: 99999;
	left: 0px;
	top: -80px;

}
#topics .wrapper {
	width: 997px;
	background-color: rgba(0,0,0,0.74);
	margin-right: auto;
	margin-left: auto;
	position: relative;
	padding-top: 40px;
	padding-right: 40px;
	padding-bottom: 25px;
	padding-left: 40px;
}
#topics h1 {
	margin-bottom: 15px;
	position: relative;
}
#topics .wrapper .body {
	width: 100%;
	position: relative;
}
#topics .wrapper .body .scroll_box {
	width: 100%;
	height: 192px;
	position: relative;
	overflow-x: auto;
	overflow-y: scroll;
}
#topics_list {
	color: #FFF;
}
#topics_list dl {
	margin-right:1em;
}
#topics_list dl dt {
	padding-top: 0.7em;
	padding-bottom: 0.7em;
	font-weight: bold;
	clear: both;
	float: left;
	width: 140px;
}
#topics_list dl dt br {
	display: none;
}
#topics_list dl dt .icon {
	height: 15px;
	width: 30px;
	line-height: 15px;
	color: #FFF;
	font-size: 10px;
	background-color: #CCC;
	display: inline-block;
	border-radius: 2px;
	text-align: center;
	font-weight: normal;
	margin-left: 10px;
	vertical-align: 8%;
}
#topics_list dl dt .icon.blank {
	display: none;
}
#topics_list dl dd {
	padding-top: 0.7em;
	padding-bottom: 0.7em;
	padding-left: 140px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #ccc;

}
#topics_list dl dd.link {
	transition:0.4s;
	cursor:pointer;
}
#topics_list dl dd.link:hover {
	background-color:rgba(255,255,255,0.2);
}
#topics_list dl dd a {
	color: #FFF;
	text-decoration: none;	
}
#topics_list dl dd a:hover {
	color: #FFF;
	text-decoration: none;	
}
#topics_list dl dd a.false {
	color:#FFF;
	cursor: text;
}

.newyear_banner {
	box-sizing: border-box;
	width: 1080px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	text-align:center;
	padding-top: 55px;
	padding-bottom: 40px;
	line-height:0;
}
.newyear_banner .pc {
	display:block;
}
.newyear_banner .sp {
	display:none;
}

#pickup {
	box-sizing: border-box;
	width: 100%;
	padding-top: 30px;
	padding-bottom: 30px;
}
#pickup .wrapper {
	width: 1087px;
	margin-right: auto;
	margin-left: auto;
	position: relative;

}
#pickup .wrapper ul {
	width: 100%;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
#pickup .wrapper ul li {
	width: 206px;
	position: relative;
	margin-bottom:15px;
}


#pickup .wrapper ul li a {
	box-sizing:border-box;
	width: 206px;
	background-repeat: no-repeat;
	height: 113px;
	padding-left: 75px;
	color: #FFF;
	font-size: 17px;
	text-decoration: none;
	font-weight: bold;
	line-height: 120%;
	display: flex;
	transition: 0.4s;
	text-transform: uppercase;
	justify-content: flex-start;
	align-items: center;
}
#pickup .wrapper ul li a:hover {
	opacity:0.7;
}
#pickup .wrapper ul li:nth-child(1) a {
	background-image: url(../img/pickup01.png);
}
#pickup .wrapper ul li:nth-child(2) a {
	background-image: url(../img/pickup02.png);
}
#pickup .wrapper ul li:nth-child(3) a {
	background-image: url(../img/pickup03.png);
}
#pickup .wrapper ul li:nth-child(4) a {
	background-image: url(../img/pickup04.png);
}
#pickup .wrapper ul li:nth-child(5) a {
	background-image: url(../img/pickup05.png);
}
#pickup .wrapper ul li:nth-child(6) a {
	background-image: url(../img/pickup07.png);

}
/*#pickup .wrapper ul li:nth-child(6) a {
	background-image: url(../img/pickup06.jpg);
	white-space:nowrap;
	text-indent:200%;
	overflow: hidden;
}*/

#pickup .wrapper ul li:nth-child(7) a {
	background-image: url(../img/pickup07.png);
}
#pickup .wrapper ul li:nth-child(8) a {
	background-image: url(../img/pickup08.png);
}

.content_box {
	width: 100%;
	position: relative;
	height: 496px;
}
.content_box .body {
	box-sizing: border-box;
	width: calc(50% - 28px);
	height: 406px;
	position: absolute;
	left: 0px;
	top: 45px;
}
.content_box .body  .wrapper{
	width: 517px;
	height: 406px;
	position: relative;
	margin-right: 0px;
	margin-left: auto;

}
.content_box .body  .wrapper h1{
	height: 85px;
	margin-bottom:70px;
}
.content_box .body  .wrapper h1 span{
	box-sizing: border-box;
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	height: 85px;
	width: 100%;
	background-image: url(../img/c01_ttl.png);
	background-repeat: no-repeat;
	background-position: left top;
	padding-top: 65px;
	display: block;
}
#content01 .body  .wrapper h1 span{
	background-image: url(../img/c01_ttl.png);
}
#content02 .body  .wrapper h1 span{
	background-image: url(../img/c02_ttl.png);
}
#content03 .body  .wrapper h1 span{
	background-image: url(../img/c03_ttl.png);
}
#content04 .body  .wrapper h1 span{
	background-image: url(../img/c04_ttl.png);
}
#content05 .body  .wrapper h1 span{
	background-image: url(../img/c05_ttl.png);
}
#content06 .body  .wrapper h1 span{
	background-image: url(../img/c06_ttl.png);
}
.content_box .body  .wrapper .text{
	line-height: 170%;
	padding-right: 40px;
}
.content_box .body  .wrapper .btn{
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
}
.content_box .body  .wrapper .btn a{
	box-sizing: border-box;
	width: 300px;
	cursor: pointer;
	text-align: center;
	height: 73px;
	background-color: #000;
	color: #FFF;
	font-size: 15px;
	line-height: 120%;
	font-weight: bold;
	text-decoration: none;
	background-image: url(../img/arrow_01.png);
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 74px;
	display: flex;
	align-items:center;
	justify-content:center;
	transition:0.4s;
	
}
.content_box .body  .wrapper .btn a:hover{
	opacity:0.6;
	
}
.content_box .body  .wrapper .btn .iw{
	width: 300px;
	text-align: center;
	position: relative;
	margin-right: auto;
	margin-left: auto;
}



.content_box .image {
	box-sizing: border-box;
	width: calc(50% - 28px);
	height: 406px;
	position: absolute;
	right: 0px;
	top: 45px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.content_box .image .wrapper {
	width: 100%;
	height: 406px;
	position: absolute;
	transition: 0.5s;
	left: 0px;
	top: 0px;
	background-color: #FFF;
}
.content_box .image .wrapper.on {
	width: 0%;
}


.content_box:nth-child(even)  .image .wrapper {
	left: auto;
	right: 0px;
}
.content_box:nth-child(even)  .image .wrapper.on {
	width: 0%;
}


#content01 .image {
	background-image: url(../img/c01_photo.jpg);
}
#content02 .image {
	background-image: url(../img/c02_photo.jpg);
}
#content03 .image {
	background-image: url(../img/c03_photo.jpg);
}
#content04 .image {
	background-image: url(../img/c04_photo.jpg);
}
#content05 .image {
	background-image: url(../img/c05_photo.jpg);
}
#content06 .image {
	background-image: url(../img/c06_photo.jpg);
}


.content_box:nth-child(even) .body {
	left:auto;
	right: 0px;
	top: 45px;

}
.content_box:nth-child(even) .body .wrapper {
	margin-right: auto;
	margin-left: 0px;

}
.content_box:nth-child(even) .image {
	right:auto;
	left: 0px;
	top: 45px;
}


#footer .wrapper {
	transition: 0.5s;
	opacity: 0;
	position: absolute;
	z-index: 500;
	bottom: -50px;
	left: 0px;
}
#footer .wrapper.on {
	bottom: 0px;
	opacity:1.0;
}
#mascot_kirin {
	background-image: url(../img/mascot_kirin.png);
	background-repeat: no-repeat;
	height: 439px;
	width: 277px;
	position: fixed;
	z-index: 99999999999999999999999;
	left: 0px;
	top: -660px;
	transition:1s;
	pointer-events: none;
}
#mascot_hippo {
	background-image: url(../img/mascot_hippo.png);
	background-repeat: no-repeat;
	height: 1600px;
	width: 202px;
	position: fixed;
	z-index: 9999999999999999999999;
	left: 75px;
	top: -1600px;
	transition:1s;
	pointer-events: none;
}
#content07{
	height:90px;
}
.footer_link_navi{
	display:flex;
	width:983px;
	margin:30px auto;
	justify-content:center;
	padding-top:50px;
	opacity:0;
}
.footer_link_navi.on{
	opacity:1;
	padding-top:0;
	transition:0.5s;
}
.footer_link_navi li{
	width:188px;
}
.footer_link_navi li + li{
	margin-left:10px;
}
.footer_link_navi li a{
	display:block;
	padding-left:10px;
	background-color:#F0CA33;
	background-image:url(../img/link_navi_icon01.png);
	background-repeat:no-repeat;
	background-position:3px center;
	text-decoration:none;
}
.footer_link_navi li a:hover{
	opacity:0.6;
	transition:0.4s;
}
.footer_link_navi li a span{
	line-height: 1.2;
	box-sizing:border-box;
    height: 57px;
    display: flex;
    align-items: center;
    justify-items: center;
    border-top: 1px solid #CDCDCD;
    border-right: 1px solid #CDCDCD;
    border-bottom: 1px solid #CDCDCD;
    background-color: #F0F0F0;
    padding-left: 10px;
    text-decoration: none;
    color: #333333;
	font-weight: bold;
	font-size: 13.5px;
}

#footer:before{
	height:338px;
}

.-----PC_MOBILE_COMMON_CSS_END----- {}


/* スマートフォン用CSS */
@media screen and (max-width: 640px) {
	
.-----MOBILE_ONLY_CSS_START----- {}


#header {
	width: 100%;
	position: absolute;
	z-index: 999999999999999999999;
	left: 0px;
	top: -80px;
	background-repeat: repeat;
	background-position: center top;
	transition: 1s;
	opacity: 0;
	background-image: none;
	height: 94px;
	overflow: visible;
}
#header.on {
	top: 0px;
	opacity:1.0;
}

#header .wrapper {
	min-width: 640px;
	width: 100%;
	background-color: rgba(0,0,0,0.4);
	position: relative;
	height: 94px;
}
#header #site_name a {
	top: 0px;
	height: 94px;
	left: 0px;
	transition: 1s;
	opacity: 0;
}
#header #site_name a.on {
	opacity:1.0;
}

#header #g_nav {
	display:block;
}
#header #s_nav {
	left: auto;
	top: auto;
	right: auto;
	transition: 1s;
	opacity: 0;
	width: 100%;
	position: static;
}
#header #s_nav.on {
	opacity:1.0;
}

#header #search_form {
	width:100%;
	box-sizing:border-box;
	top: auto;
	right: auto;
	transition: none;
	opacity:1;
}
#header #search_form .form_wrapper {
	box-sizing: border-box;
	position: relative;
	top: auto;
	right: auto;
	height:70px;
	width: 100% !important;
}

#main_image {
	height: 438px;
	width: 100%;
	position: relative;
	z-index: 0;
	overflow: hidden;
	left: 0px;
	top: 0px;
}
#main_image .mask {
	height: 438px;
}


#main_image .text {
	width: 100%;
	height: 76px;
	position: absolute;
	overflow: hidden;
	top: 220px;
	left: 0px;
	background-image: url(../img/sp_main_text.png);
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 9999999;
}

#main_loading {
	min-width: 640px;
	height: 438px;
	width: 640px;
	background-position: center 220px;
}
#main_overlay {
	min-width: 640px;
	position: absolute;
	height: 438px;
	width: 640px;
	z-index: 50;
	left: 0px;
	top: 0px;
}
#main_overlay .text {
	position: absolute;
	left: 30px;
	top: 220px;
	width: 0px;
	line-height: 0px;
	background-image: url(../img/sp_main_text.png);
	height: 76px;
}
#main_overlay .text.on {
	width: 574px;
}
#main_overlay .link {
	display:none;


}
#main_overlay .sns_banner {
	top: 120px;
	right: 35px;
}

#top_content {
	min-width: 640px;
	width: 100%;
	position: relative;
	background-color: #FFF;
	padding-top: 0px;
}


#topics {
	position: relative;
	width: 100%;
	z-index: 99999;
	left: 0px;
	top: auto;
}
#topics .wrapper {
	padding: 40px;
	width: 560px;

}
#topics h1 {
	margin-bottom: 0px;
}
#topics .wrapper .body .scroll_box {
	height: 300px;
}
#topics_list dl dt {
	padding-top: 0.7em;
	padding-bottom: 0;
	clear: none;
	float: none;
	width: auto;
}
#topics_list dl dd {
	padding-top: 0;
	padding-left: 0;
}
#topics_list dl dd:hover {
	background-color: transparent;
}

.newyear_banner {
	width: 100%;
	padding-top:70px;
	padding-bottom:30px;
}
.newyear_banner img {
	width: 100%;
	max-width:100%;
	height:auto;
}
.newyear_banner .pc {
	display:none;
}
.newyear_banner .sp {
	display:block;
}

#pickup {
	box-sizing: border-box;
	width: 100%;
	padding-top: 50px;
	padding-bottom: 0px;
}
#pickup .wrapper {
	width: 640px;


}
#pickup .wrapper ul {
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}
#pickup .wrapper ul li {
	margin-bottom: 10px;
	margin-right: 3px;
	margin-left: 3px;
}

.content_box {
	width: 100%;
	position: relative;
	height: auto;
}
.content_box .body {
	box-sizing: border-box;
	width: 640px;
	height: auto;
	position: static;
	margin-right: auto;
	margin-left: auto;
	padding: 40px;
}
.content_box .body  .wrapper{
	width: 100%;
	height: auto;
	position: relative;
	margin-right: auto;
	margin-left: auto;
}
.content_box .body  .wrapper h1{
	height: 85px;
	margin-bottom: 20px;
}
.content_box .body  .wrapper h1 span{
	font-size: 24px;
	line-height: 24px;
}

.content_box .body  .wrapper .text{
	margin-bottom: 30px;
	padding-right: 0px;
}
.content_box .body  .wrapper .btn{
	position: relative;
	width: 400px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 0px;
	padding-right: 50px;
	left: auto;
	top: auto;
	right: auto;
	bottom: auto;
}
.content_box .body  .wrapper .btn a{
	width: 400px;
	height: 90px;
	font-size: 24px;
	background-size:contain;
	padding-right: 90px;
	
}

.content_box .body  .wrapper .btn .iw{
	width: 400px;
}



.content_box .image {
	width: 100%;
	height: 375px;
	position: relative;
	right: auto;
	top: auto;
}
.content_box .image .wrapper {
	height: 375px;
}
.content_box .image .wrapper.on {
	width: 0%;
}



.content_box:nth-child(even) .body {
	left:auto;
	right: auto;
	top: auto;

}
.content_box:nth-child(even) .body .wrapper {
	margin-right: auto;
	margin-left: auto;

}
.content_box:nth-child(even) .image {
	right:auto;
	left: 0px;
	top:auto;
}


#mascot_kirin {
	background-image: url(../img/mascot_kirin_sp.png);
	background-repeat: no-repeat;
	height: 230px;
	width: 277px;
	position: fixed;
	z-index: 99999999999999999999999;
	left: 0px;
	top: -660px;
	transition: 1s;
	background-position: left bottom;
}
#mascot_hippo {
	background-image: url(../img/mascot_hippo_sp.png);
	background-repeat: no-repeat;
	height: 1500px;
	width: 76px;
	position: fixed;
	z-index: 9999999999999999999999;
	left: 28px;
	top: -1600px;
	transition: 1s;
	background-position: center bottom;
}


#content07{
	height:auto;
	padding:30px 0;
}
.footer_link_navi{
	width:100%;
	flex-direction:column;
	align-items:center;
}
.footer_link_navi li{
	width:400px;
}
.footer_link_navi li + li{
	margin-left:0;
	margin-top:15px;
}
.footer_link_navi li a span{
	font-size: 20px;
	height:70px;
}
.-----MOBILE_ONLY_CSS_END----- {}

	
}
