@charset "UTF-8";
/* ========================================
	header
======================================== */
.l-logo-3ds {
	width: 36%; /* 270 / 750 * 100 */
}
/* ========================================
	top MV
======================================== */

.p-top-mv{
	position: relative;
	width: 100%;
}
.p-top-mv_bg{
	position: relative;
	display: block;
}
.p-top-mv_kirby{
	width: 69.7333333%; /* 523 / 750 * 100 */
	position: absolute;
	top: 2.35849%; /* 25 / 1061 * 100 */
	left: 22%;
	z-index: 50;
}
.p-top-mv_ttl{
	position: absolute;
	width: 76.8%; /* 576 / 750 * 100 */
	top: 45.9943449%; /* 488 / 1061* 100 */
	left: 14.1333333%; /* 106 / 750 * 100 */
	z-index: 60;
}
.p-top-mv_chara_l{
	position: absolute;
	width: 21.2%; /* 159 / 750 * 100 */
	top: 63.1479736%; /* 670 / 1061 * 100 */
	left: 0;
}
.p-top-mv_chara_r{
	position: absolute;
	width: 24%; /* 180 / 750 * 100 */
	top: 76.343%; /* 810 / 1061 * 100 */
	left: 66%;
}
.p-top-mv_chara_zip{
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}
.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: 34.8% !important; /* 261 / 750 * 100 */
	top: 11%;
	left: 0.3%;
}
.p-top-mv_chara_zip_t{
	width: 62.5333333% !important; /* 469 / 750 * 100 */
	top:0;
	left: 0;
}
.p-top-mv_btn{
	position: absolute;
	width: 48.8%; /* 366 / 750 * 100 */
	bottom: -6.0%;
	left: 1%;
	z-index: 10;
}
.p-top-mv_star_l{
	position: absolute;
	width: 17.2%; /* 129 / 750 * 100 */
	top: 34.68426%; /* 402 / 1061 * 100 */
	left: 7.7333333%; /* 58 / 750 * 100 */
}
.p-top-mv_star_r{
	position: absolute;
	width: 19.8666666%; /* 149 / 750 * 100 */
	top: 37.8887841%; /* 368 / 1061 * 100 */
	right: 1.8666666%; /* 14 / 750 * 100 */
}
.p-top-mv_b{
	position: relative;
	background: url(../images/top/mv_bg_b01.png) no-repeat top center;
	background-size: 100% auto;
	margin-top: -6.4%;
	padding-bottom: 4%;
}
/*navigation*/
ul.p-top-mv_nv{
	width: 100%;
	display: none;
}
.p-top-mv_b_date{
	width: 86.2666666%; /* 647 / 750 * 100 */
	margin: 0 auto;
}
.p-top-mv_b_btn{
	width: 55.2%; /* 414 / 750 * 100 */
	margin: 0 auto;
}
.p-top-nv_bg{
	position: relative;
	width: 100%;
}
.p-top-nv_bg_in{
	position: relative;
	display: block;
}
.p-top-nv_bg_line{
	position: absolute;
	display: block;
	top: -30%;
	left: 0;
}
.p-top-mv_b_btn.nv-close{
	margin-top: 2%;
}
/*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);
}
.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;
}

/* ========================================
	cont01
======================================== */
.p-top-bg{
	width: 100%;
	height: 100%;
	position: fixed;
	background: url(../images/top/top_bg.jpg) no-repeat top center;
	background-size: cover;
	z-index: -1;
}
.p-top-cont01{
	position: relative;
	width: 100%;
}
.p-top-cont01_ttl{
	width: 100%;
	margin: 9% auto 4% auto;
}
.p-top-cont01_lead{
	font-size:15px;
	text-align: center;
	line-height: 1.8;
	z-index: 10;
}
.p-top-yt{
	position: relative;
	width: 92.2666666%; /* 692 / 750 * 100 */
	margin: 7% auto 8% auto;
}
.p-top-yt_bg{
	display: block;
	position: relative;
	pointer-events: none;
}
.p-top-cont01_star_l{
	position: absolute;
	width: 20.9333333%; /* 157 / 750 * 100 */
	top: -4%;
	left: 2%;
}
.p-top-cont01_star_r{
	position: absolute;
	width: 13.3333333%; /* 100 / 750 * 100 */
	top: 15%;
	right: 2%;
}
.p-top-cont01_chara{
	width: 100%;
}
.p-top-cont01_chara_l{
	float: left;
	width: 50%;
}
.p-top-cont01_chara_r{
	float: right;
	width: 50%;
}
.p-top-cont01_chara_r.is-animation{
	-webkit-animation-delay: 300ms;
	animation-delay: 300ms;
}
/*mov*/
.mov{
	position: absolute;
	width: 93%;
	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{
	position: relative;
	width: 100%;
	margin-bottom: 32%;
}
.p-top-cont02_lead{
	position: relative;
	width: 100%;
}
.p-top-cont02_lead_bg{
	position: relative;
}
.p-top-cont02_h{
	position: absolute;
	width: 76.6666666%; /* 575 / 750 * 100 */
	top: 26.0%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.p-top-cont02_chara_wrap{
	position: absolute;
	width: 100%;
	top:74.5%;
	left:0;
}

/* ========================================
	cont03
======================================== */
.p-top-cont03{
	position: relative;
	width: 100%;
	margin-bottom: 30%;
}
.p-top-cont03_lead{
	position: relative;
	width: 100%;
}
.p-top-lead_bg{
	position: relative;
	display: block;
}
.p-top-cont03_h{
	position: absolute;
	width: 64.4%; /* 483 / 750 * 100 */
	top: 26.0%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}
.p-top-lead_p{
	position: absolute;
	font-size:15px;
	text-align: center;
	line-height: 1.8;
	width: 100%;
	top: 52.0%;
	left:0;
	z-index: 10;
}
.p-top-cont03_chara01{
	position: absolute;
	width: 38.6666666%; /* 290 / 750 * 100 */
	top: -12%;
	left: 0;
	z-index: 5;
}
.p-top-cont03_chara02{
	position: absolute;
	width: 51.7333333%; /* 388 / 750 * 100 */
	top: 75.0%;
	right:0;
	z-index: 5;
}
.p-top-cont03_chara01.is-animation{
	transition-duration: 100ms, 300ms, 300ms;
}
.p-top-cont03_btn{
	position: absolute;
	width: 44.8%; /* 336 / 750 * 100 */
	top: 76.0%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}
.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%);	}
}

h2.p-top-cont04_lead{
	width: 100%;
	margin: 0 auto 6% auto;
}
.p-top-spec{
	position: relative;
	width: 100%;
	margin: 0 auto 10% auto;
}
.p-top-spec_bg{
	position: relative;
	display: block;
}
.p-top-spec_in{
	position: absolute;
	width: 90%;
	top: 14%;
	left: 7.5%;
}
.p-top-spec_in dl{
	width: 100%;
	display: table;
	font-size: 11px;
	line-height: 1.7;
	margin-bottom: 1%;
}
.p-top-spec_in dt,
.p-top-spec_in dd{
	display: table-cell;
	white-space: nowrap;
}
.p-top-spec_in dt{
	width: 22%;
}
.p-top-spec_in dd{
	width: 78%;
}
.p-top-spec .ico_amiibo{
	position: absolute;
	display: block;
	width: 7.7333333%; /* 58 / 750 * 100 */
	top: 0.3%;
	right: 15%;
}
.p-top-spec .ico_cero{
	position: absolute;
	display: block;
	width: 7.7333333%; /* 58 / 750 * 100 */
	top: 2.8%;
	right: 6.2%;
}
.p-top-spec_btn{
	position: absolute;
	width: 54.1333333%; /* 406 / 750 * 100 */
	top: 58%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.p-top-link{
	width: 88%; /* 660 / 750 * 100 */
	margin: 0 auto 28% auto;
}
.p-top-link li{
	margin-bottom: 4%;
}
/*footer*/
.l-footer_info {
	background:#faebd2 url(../images/top/footer_bg_b_top.png) no-repeat top center;
	background-size: 100% auto;
	padding: 5% 0 4% 0;
}
.l-footer_info ul {
	width: 100%;
	font-size: 11px;
}
.l-footer_info li {
	display: inline-block;
}
.l-footer_info li:not(:last-child) {
	margin-right: 15px;
	padding-right: 15px;
	border-right: 1px solid #69420d;
}
.l-footer_info li a{
	color: #69420d;
	text-decoration: none;
}
.l-footer_info ul.l-footer_sns{
	width: 44.8%; /* 336 / 750 * 100 */
	margin: 0 auto 6% auto;
	overflow: hidden;
}
.l-footer_info ul.l-footer_sns li:not(:last-child) {
	border: 0;
	padding: 0;
	margin: 0;
}
.l-footer_twitter{
	width: 49.1%; /* 165 / 336 * 100 */
	float: left;
}
.l-footer_facebook{
	width: 39.88%; /* 134 / 336 * 100 */
	float: right;
}
.l-footer_official{
	margin-bottom: 5%;
}
.l-footer_copy{
	line-height: 1.7;
	font-size:10px;
}
.l-footer_top{
	position: relative;
}
.l-footer_logo{
	top: -26%;
}
.l-footer_pagetop {
	top: -39%;
}
