@charset "UTF-8";

/* ========================================
	top MV
======================================== */
.p-top-mv_wrap{
	background: #f08cbc url(../images/top/mv_bg.png) repeat;
}
.p-top-mv{
	width: 100%;
	max-width: 3000px;
	margin: 0 auto;
	background: url(../images/top/mv_bg.jpg) no-repeat top center;
	background-size: cover;
}
@media screen and (min-width: 1921px) {
	.p-top-mv{
		background-size: 100% auto;
	}
}
.p-top-mv_in{
	position: relative;
	width: 66.666666%; /* 1280 / 1920 * 100 */
	max-width: 2000px;
	margin: 0 auto;
	padding-top: 39%;
}
.p-top-mv_kirby{
	width: 43.828125%; /* 561 / 1280 * 100 */
	position: absolute;
	top:0;
	left: 29.8%;
	z-index: 50;
}
.p-top-mv_ttl{
	position: absolute;
	width: 45%; /* 576 / 1280 * 100 */
	top: 70.3851261%; /* 530 / 753 * 100 */
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 60;
}
.p-top-mv_chara_l{
	position: absolute;
	width: 14.765625%; /* 189 / 1280 * 100 */
	top: 71%;
	left: 8%;
}
.p-top-mv_chara_r{
	position: absolute;
	width: 15.625%; /* 200 / 1280 * 100 */
	top: 51.5272244%; /* 388 / 753 * 100 */
	left: 77%;
}
.p-top-mv_chara_zip{
	position: absolute;
	width: 74.92%; /* 959 / 1280 * 100 */
	top: 2.6%;
	left: 10.8%;
}
.p-top-mv_chara_zip_p,
.p-top-mv_chara_zip_t{
	display: block;
	position: absolute;
}
.p-top-mv_chara_zip_bg{
	display: block;
	position: relative;
}
.p-top-mv_chara_zip_p{
	width: 30.97% !important; /* 297 / 959 * 100 */
	top: 5.5%;
	left: 4.5%;
}
.p-top-mv_chara_zip_t{
	width: 61% !important; /* 581 / 959 * 100 */
	top:0;
	left: 0;
}
.p-top-mv_btn{
	position: absolute;
	width: 26%; /* 334 / 1280 * 100 */
	top: 2.0%;
	left: 73%;
	z-index: 10;
}
.p-top-mv_star_l{
	position: absolute;
	width: 6.5625%; /* 84 / 1280 * 100 */
	top: 59%;
	left: 21.5%;
}
.p-top-mv_star_r01{
	position: absolute;
	width: 6.5625%; /* 84 / 1280 * 100 */
	top:80.5%;
	right: 14.5%;
}
.p-top-mv_star_r02{
	position: absolute;
	width: 11%; /* 142 / 1280 * 100 */
	bottom: -10%;
	right: 2%;
	z-index: 10;
}
.p-top-mv_b{
	position: relative;
	background: url(../images/top/mv_bg_b.png) no-repeat top center;
	background-size: cover;
	margin-top: -5.5%;
}
.p-top-mv_b_in{
	position: relative;
	width: 66.666666%; /* 1280 / 1920 * 100 */
	max-width: 2000px;
	margin: 0 auto;
	padding: 10% 0 5% 0;
}
.p-top-mv_nv{
	float: left;
	width: 55.46875%; /* 710 / 1280 * 100 */
	display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between;
}
.p-top-mv_nv li{
	position: relative;
	width: 48.45%; /* 344 / 710 * 100 */
}
.p-top-mv_b_date{
	float: right;
	width: 42.578125%; /* 545 / 1280 * 100 */
	padding-top: 0.5%;
}
.mvnav01 .gnav_chara{
	width: 45%; /* 155 / 344 * 100 */
	top: 0.5%;
	left: -0.5%;
}
.mvnav02 .gnav_chara{
	width: 35.7558139%; /* 123 / 344 * 100 */
	top: -3%;
	left: -0.5%;
}
/*animation*/
.p-top-mv_chara_l{
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
}
.is-anime1 .p-top-mv_chara_l{
	transition:
		opacity 200ms,
		-webkit-transform 400ms,
		transform 400ms;
}
.is-anime1 .p-top-mv_chara_l,
.is-no-opening .p-top-mv_chara_l{
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.p-top-mv_chara_r{
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
}
.is-anime1 .p-top-mv_chara_r{
	transition:
		opacity 200ms 150ms,
		-webkit-transform 400ms 150ms,
		transform 400ms 150ms;
}
.is-anime1 .p-top-mv_chara_r,
.is-no-opening .p-top-mv_chara_r{
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.p-top-mv_chara_zip_p{
	opacity: 0;
	-webkit-transform: translate(40%, 40%);
	transform: translate(40%, 40%);
}
.is-anime1 .p-top-mv_chara_zip_p{
	transition:
		opacity 200ms 300ms,
		-webkit-transform 400ms 300ms,
		transform 400ms 300ms;
}
.is-anime1 .p-top-mv_chara_zip_p,
.is-no-opening .p-top-mv_chara_zip_p{
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.animation-pop {
	opacity: 0;
	-webkit-transform: scale(0.6);
	transform: scale(0.6);
}
.is-anime2 .animation-pop {
	transition:
		opacity 200ms,
		-webkit-transform 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275),
		transform 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
.is-anime2 .animation-pop,
.is-no-opening .animation-pop {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.p-top-mv_star_l {}
.is-anime2 .p-top-mv_star_r01 {
	transition-delay: 150ms;
}
.is-anime2 .p-top-mv_star_r02 {
	transition-delay: 300ms;
}
.is-anime2 .p-top-mv_btn {
	transition-delay: 450ms;
}
.is-anime2 .p-top-mv_kirby {
	transition-delay: 600ms;
}
.is-anime2 .p-top-mv_ttl {
	transition-delay: 750ms;
}
/*hover*/
.mvnav01 a:hover .gnav_chara,
.mvnav02 a:hover .gnav_chara {
  animation: topNavhover 200ms linear 1;
}
@keyframes topNavhover{
	0% {
		transform: translateY(0px);
	}
	33% {
		transform: translateY(-14px);
	}
	60% {
		transform: translateY(-2px);
	}
	75% {
		transform: translateY(-7px);
	}
	100% {
		transform: translateY(0);
	}
}

/* ========================================
	cont01
======================================== */
.p-top-bg{
	width: 100%;
	height: 100%;
	position: fixed;
	background: url(../images/top/top_bg.jpg) no-repeat 15% center;
	background-size: cover;
	z-index: -1;
}
.p-top-cont01{
	position: relative;
	width: 66.666666%; /* 1280 / 1920 * 100 */
	max-width: 2000px;
	margin: 0 auto 8% auto;
	padding: 5% 0 0 0;
}
.p-top-cont01_ttl{
	width: 79.21875%; /* 1014 / 1280 * 100 */
	margin: 0 auto 2% auto;
}
.p-top-cont01_lead{
	position: relative;
	font-size:2.6rem;
	text-align: center;
	line-height: 1.8;
	z-index: 10;
}
.p-top-yt{
	position: relative;
	width: 68.4375%; /* 876 / 1280 * 100 */
	margin: 3% auto 0 auto;
}
.p-top-yt_bg{
	display: block;
	position: relative;
	pointer-events: none;
}
.p-top-cont01_star_l{
	position: absolute;
	width: 21.1%; /* 214 / 1014 * 100 */
	top: 0%;
	left: -12%;
}
.p-top-cont01_star_r{
	position: absolute;
	width: 19.453125%; /* 249 / 1280 * 100 */
	top: 27%;
	right: -9%;
}
.p-top-cont01_chara_l{
	position: absolute;
	width: 33.828125%; /* 433 / 1280 * 100 */
	top: 63%;
	left: -14.5%;
}
.p-top-cont01_chara_r{
	position: absolute;
	width: 33.2%; /* 425 / 1280 * 100 */
	top: 57%;
	right: -13.0%;
}
.p-top-cont01_chara_r.is-animation{
	-webkit-animation-delay: 300ms;
	animation-delay: 300ms;
}
/*mov*/
.mov{
	position: absolute;
	width: 95%;
	top: 2.2%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.player_wrap{
	display: block;
	position: relative;
	height: 0;
	margin-top: 2%;
	padding-top: 56.25%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.yt_player{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
}

/* ========================================
	cont02
======================================== */
.p-top-cont02,
.p-top-cont03{
	position: relative;
	width: 66.666666%; /* 1280 / 1920 * 100 */
	max-width: 2000px;
	margin: 0 auto;
}
.p-top-cont02_lead{
	position: relative;
	width: 65.9375%; /* 844 / 1280 * 100 */
	margin-left: -12.265625%; /* 157 / 1280 * 100 */
}
.p-top-cont02_lead_bg{
	position: relative;
}
.p-top-cont02_lead_p{
	position: absolute;
	font-size:2.4rem;
	text-align: center;
	line-height: 1.7;
	top:56.0%;
	left:0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}
.p-top-cont02_chara{
	position: absolute;
	width: 76.64%; /* 981 / 1280 * 100 */
	top:-5%;
	left: 37.5%;/* 480 / 1280 * 100 */
}
.p-top-cont02_chara01{
	width: 83.2823649%; /* 817 / 981 * 100 */
	margin-left: 6%;
}
.p-top-cont02_arr{
	position: absolute;
	width: 13.35372%; /* 131 / 981 * 100 */
	top: 42%;
	left: 42%;
}
.p-top-cont02_chara02{
	margin-top: 5%;
}
.p-top-cont02_chara02.is-animation{
	-webkit-animation-delay: 300ms;
	animation-delay: 300ms;
}
.p-top-cont02_star{
	position: absolute;
	width: 20.9375%; /* 268 / 1280 * 100 */
	right:-16.953125%; /* 217 / 1280 * 100 */
	bottom: -35%;
}

/* ========================================
	cont03
======================================== */
.p-top-cont03{
	margin-top: 10%;
	margin-bottom: 10%;
}
.p-top-cont03_lead{
	position: relative;
	width: 65.9375%; /* 844 / 1280 * 100 */
	margin: 0 0 0 46.71875%; /* 598 / 1280 * 100 */
}
.p-top-cont03_lead_p{
	position: absolute;
	font-size:2.4rem;
	text-align: center;
	line-height: 1.7;
	top: 48.0%;
	left:0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}
@media screen and (max-width: 1040px) {
	.p-top-cont03_lead_p{
		top: 47.0%;
		line-height: 1.6;
	}
}
.p-top-cont03_chara01{
	position: absolute;
	width: 30%; /* 384 / 1280 * 100 */
	top: -8%;
	left: -8.2%; /* 105 / 1280 * 100 */
}
.p-top-cont03_chara02{
	position: absolute;
	width: 42.1875%; /* 540 / 1280 * 100 */
	top: 41.0%;
	left: 12%; /* 105 / 1280 * 100 */
}
.p-top-cont03_chara01.is-animation{
	transition-duration: 100ms, 300ms, 300ms;
}
.p-top-cont03_btn{
	position: absolute;
	width: 39.81%; /* 336 / 844 * 100 */
	top: 74.0%;
	left: 30%;
}
.p-top-cont03_btn span.ico-arr{
	display: block;
	position: absolute;
	top: 26.5%;
	right: 10%;
	width: 14.88%; /* 50 / 336 * 100 */
	height: 43.3962264%; /* 46 / 106 * 100 */
	background: url(../images/top/cont03_btn_arr.png) no-repeat 0 0;
	background-size:100% auto;
	-webkit-animation: arrowR 1000ms infinite;
	animation: arrowR 1000ms infinite;
	pointer-events: none;
}
@-webkit-keyframes arrowR {
	0% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
	40% {	-webkit-transform: translateX(35%);	transform: translateX(35%);	}
	80% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
	100% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
}
@keyframes arrowR {
	0% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
	40% {	-webkit-transform: translateX(35%);	transform: translateX(35%);	}
	80% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
	100% {	-webkit-transform: translateX(0%);	transform: translateX(0%);	}
}
.p-top-cont03_star{
	position: absolute;
	width: 19.296875%; /* 247 / 1280 * 100 */
	top: 73%;
	left: -12.265625%;/* 157 / 1280 * 100 */
}
h2.p-top-cont04_lead{
	width: 67.4479166%; /* 1295 / 1920 * 100 */
	margin: 0 auto 1.8% auto;
	max-width: 2000px;
}
.p-top-spec{
	position: relative;
	width: 75.9895833%; /* 1459 / 1920 * 100 */
	margin: 0 auto 1.5% auto;
}
.p-top-spec_bg{
	position: relative;
}
.p-top-spec_in{
	position: absolute;
	width: 41.124%; /* 600 / 1459 * 100 */
	top: 30%;
	left: 30%; /* 290 / 1459 * 100 */
}
@media screen and (min-width: 1750px) {
	.p-top-spec_in{
		top: 31%;
	}
}
.p-top-spec_in dl{
	width: 100%;
	display: table;
	font-size:1.7rem;
	line-height: 1.7;
	margin-bottom: 1%;
}
.p-top-spec_in dt{
	width: 23%;
	display: table-cell;
	white-space: nowrap;
}
.p-top-spec_h03{
	font-size:1.6rem;
}
.p-top-spec_in dd{
	width: 78%;
	display: table-cell;
	white-space: nowrap;
}
.p-top-spec .ico_amiibo{
	position: absolute;
	display: block;
	width: 9.6666666%; /* 58 / 600 * 100 */
	top: 1%;
	right: 12%;
}
.p-top-spec .ico_cero{
	position: absolute;
	display: block;
	width: 9.6666666%; /* 58 / 600 * 100 */
	top:4%;
	right: 2%;
}
.p-top-spec a:hover{
	opacity: 0.8;
}
.p-top-spec_btn{
	position: absolute;
	width: 19.6%; /* 286 / 1459 * 100 */
	top: 32%;
	left: 61.8231665%; /* 902 / 1459 * 100 */
}
.p-top-link{
	position: relative;
	width: 66.666666%; /* 1280 / 1920 * 100 */
	max-width: 2000px;
	margin: 0 auto 6% auto;
}
.p-top-link li{
	width: 35.9375%; /* 460 / 1280 * 100 */
	margin: 0 auto 1.5% auto;
}
