@charset "Shift_JIS";

html {
    overflow-y: scroll;
}

body,html {
    width: 100%;
    height: 100%;
    min-width: 960px;
    min-height: 1053px;
}
#container {
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-width: 960px;
    min-height: 1098px;
    margin-top: -45px;
}
#wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 960px;
    min-height: 1098px;
}
.bg_purple {
    position: absolute;
    top: 45px;
    left: 0;
    width: 50%;
    height: 90%;
    background: url(../img/top/bg_purple.png) top left repeat-x;
    z-index: 0;
}
.bg_orange {
    position: absolute;
    top: 45px;
    right: 0;
    width: 50%;
    height: 90%;
    background: url(../img/top/bg_orange.png) top left repeat-x;
    z-index: 0;
}
.bg_cloud {
    position: absolute;
    bottom: 84px;
    right: 0;
    width: 100%;
    height: 312px;
    background: url(../img/common/bg_cloud.png) bottom center repeat-x;
    z-index: 10;
}
.bg_cloud .white {
    width: 100%;
    height: 950px;
    background: #fff;
    margin-top: 312px;
}


/*============================================
    header
============================================*/
#headerwrap {
    position: relative;
    z-index: 1000;
    width: 100%;
    height: 45px;
    background-color: #FFFFFF;
}
#header {
    position: relative;
    z-index: 1000;
    width: 100%;
    min-width: 960px;
    max-width: 1600px;
    height: 45px;
    margin: 0 auto;
    background-color: #FFFFFF;
}
#header p {
    position: absolute;
    top: 59px;
}
#header .logo_nintendo {
    left: 21px;
}
#header .logo_3ds {
    right: 19px;
}


/*============================================
    footerwrap
============================================*/
#footerwrap {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 84px;
    min-width: 960px;
    background: url(../img/common/bg_fnav.png) top center repeat-x;
}
#footerwrap #footer {
    position: relative;
    width: 960px;
    height: 34px;
    margin: 0 auto;
}
#footerwrap #footer p {
    position: absolute;
    top: 10px;
}
#footerwrap #footer .copyright {
    left: 0;
}
#footerwrap #footer .fnav_nintendo {
    right: 180px;
}
#footerwrap #footer .fnav_3ds {
    right: -2px;
}

#footerwrap #fnav {
    position: relative;
    width: 960px;
    height: 50px;
    margin: 0 auto;
}
#footerwrap #fnav p {
    position: absolute;
    top: 22px;
}
#footerwrap #fnav p.fnav_00 {
	left: 82px;
}
#footerwrap #fnav p.fnav_01 {
	left: 136px;
}
#footerwrap #fnav p.fnav_02 {
	left: 331px;
}
#footerwrap #fnav p.fnav_03 {
	left: 462px;
}
#footerwrap #fnav p.fnav_04 {
	left: 687px;
}
#footerwrap #fnav p.fnav_05 {
	left: 817px;
}


/*============================================
    gnav
============================================*/
#gnav {
    position: absolute;
    left: 50%;
    bottom: 233px;
    z-index: 100;
    width: 960px;
    height: 205px;
    margin-left: -480px;
}
#gnav .btnbody,
#gnav .btnbody .base,
#gnav .btnbody .over,
#gnav .icon,
#gnav .hitarea,
#gnav .icon_new {
    position: absolute;
    top: 0;
}
#gnav .btnbody .over {
    display: none;
    background: url(../img/top/gnav_ov.png) 0 0 no-repeat;
}

#gnav li.gnav1 .btnbody {
    left: 32px;
}
#gnav li.gnav1 .icon {
    top: -67px;
    left: 134px;
}
#gnav li.gnav1 .hitarea {
    left: 37px;
}
#gnav li.gnav1 .icon_new {
    top: 86px;
    left: 136px;
}
#gnav li.gnav2 .btnbody {
    left: 338px;
}
#gnav li.gnav2 .icon {
    top: -70px;
    left: 438px;
}
#gnav li.gnav2 .hitarea {
    left: 343px;
}
#gnav li.gnav2 .icon_new {
    top: 86px;
    left: 446px;
}
#gnav li.gnav3 .btnbody {
    left: 644px;
}
#gnav li.gnav3 .icon {
    top: -71px;
    left: 738px;
}
#gnav li.gnav3 .hitarea {
    left: 649px;
}
#gnav li.gnav3 .icon_new {
    top: 86px;
    left: 751px;
}


/*============================================
    infoarea
============================================*/
#infoarea {
    position: absolute;
    bottom: 50px;
    left: 50%;
    z-index: 100;
    width: 960px;
    height: 261px;
    margin-left: -480px;
}
#infoarea p {
    position: absolute;
}
#infoarea .bg_green {
    top: 0;
    left: -18px;
}
#infoarea .bg_blue {
    top: 61px;
    left: 683px;
}
#infoarea .img_package {
    top: 29px;
    left: 59px;
}
#infoarea .img_softicon {
    top: 33px;
    left: 193px;
}
#infoarea .img_cero {
    top: 90px;
    left: 195px;
}
#infoarea .info_date {
    top: 32px;
    left: 246px;
}
#infoarea .info_price {
    top: 73px;
    left: 247px;
}
#infoarea .info_packagedownload {
    top: 119px;
    left: 254px;
}
#infoarea .btn_detail_link {
    top: 7px;
    left: 521px;
}
#infoarea .btn_guidebook {
    top: 130px;
    left: 520px;
}
#infoarea .btn_movie {
    top: -4px;
    left: 682px;
}
#infoarea .icon_new {
    top: 165px;
    left: 775px;
}
#infoarea .soft_title{
    top: 71px;
    left: 744px;
}
#infoarea .soft_sub_01_bg{
    top: 90px;
    left: 692px;
}
#infoarea .soft_logo_01 {
    top: 100px;
    left: 706px;
}
#infoarea .soft_logo_02 {
    top: 95px;
    left: 820px;
}



/*============================================
    main
============================================*/
#main {
    position: absolute;
    top: 32.5%;
    left: 50%;
    width: 960px;
    height: 596px;
    margin:  -298px 0 0 -480px;
}
#main h1,#main p,#main div {
    position: absolute;
    z-index: 100;
}
#main div p {
    position: static;
}
#main .main_logo {
    top: 308px;
    left: 269px;
}
#main .main_kirby {
    top: 7px;
    left: 286px;
    z-index: 0;
}
#main .main_wad {
    top: 94px;
    left: -15px;
}
#main .main_pront1 {
    top: -41px;
    left: 660px;
}
#main .main_pront2 {
    top: 127px;
    left: 687px;
    z-index: 0;
}
#main .main_pront3 {
    top: 202px;
    left: 656px;
    z-index: 0;
}
#main .main_screw1 {
    top: -349px;
    left: 50%;
    z-index: 10;
    margin-left: -800px;
}
#main .main_screw2 {
    top: -346px;
    left: 50%;
    z-index: 10;
    margin-left: -800px;
}
#main .btn_about {
    top: 417px;
    left: 705px;
}

#main .btn_about {
    width: 112px;
    height: 113px;
}

#main .btn_about .btnbody,
#main .btn_about .base {
    position: absolute;
    top: 0;
    left: 0;
}
#main .btn_about .over {
    display: none;
    position: absolute;
    top: -1px;
    left: 0;
    width: 112px;
    height: 113px;
    background: url(../img/common/btn4_ov.png) 0 0 no-repeat;
}
#main .btn_about .hitarea {
    position: absolute;
    top: 1px;
    left: 4px;
    z-index: 200;
}



/*============================================
    enemyarea
============================================*/
#enemyarea {
    position: absolute;
    bottom: 730px;
    left: 50%;
    width: 960px;
    margin-left: -480px;
}
#enemyarea p {
    position: absolute;
    z-index: 100;
}
#enemyarea .main_ball {
    top: 27px;
    left: -34px;
}
#enemyarea .main_ballshadow {
    top: 111px;
    left: -20px;
}
#enemyarea .main_cannon {
    top: 0;
    left: 213px;
    z-index: 0;
}
#enemyarea .main_enemy1 {
    top: -23px;
    left: 711px;
}
#enemyarea .main_enemy2 {
    top: -113px;
    left: 881px;
    z-index: 0;
}
#enemyarea .main_enemy3 {
    top: -167px;
    left: 187px;
    z-index: 0;
}
#enemyarea .main_cutter1 {
    top: 186px;
    left: 715px;
}
#enemyarea .main_cutter2 {
    top: 74px;
    left: 730px;
    z-index: 0;
}


/*============================================
    bgarea
============================================*/
#bgarea p {
    position: absolute;
    left: 50%;
    margin-left: -800px;
    z-index: 0;
}
#bgarea .bg_sky {
    top: 45px;
    width: 1600px;
}
#bgarea .bg_geography4 {
    bottom: 655px;
    width: 1600px;
}
#bgarea .bg_geography3 {
    bottom: 551px;
    width: 1600px;
}
#bgarea .bg_geography2 {
    bottom: 320px;
    width: 1600px;
}
#bgarea .bg_geography1 {
    bottom: 286px;
    width: 1600px;
}
#bgarea .bg_sky img,
#bgarea .bg_geography4 img,
#bgarea .bg_geography3 img,
#bgarea .bg_geography2 img,
#bgarea .bg_geography1 img {
    float: left;
}
#bgarea .bg_star {
    position: absolute;
    top: 40px;
    left: 50%;
    width: 1600px;
    margin-left: -800px;
    z-index: 90;
}
#bgarea .bg_star p {
    margin-left: 0;
    z-index: 90;
}
#bgarea .bg_star1 {
    top: 54px;
    left: 51px;
}
#bgarea .bg_star2 {
    top: 230px;
    left: 110px;
}
#bgarea .bg_star3 {
    top: 400px;
    left: 15px;
}
#bgarea .bg_star4 {
    top: 184px;
    left: 234px;
}
#bgarea .bg_star5 {
    top: 484px;
    left: 162px;
}
#bgarea .bg_star6 {
    top: 0;
    left: 315px;
}
#bgarea .bg_star7 {
    top: 0;
    left: 454px;
}
#bgarea .bg_star8 {
    top: 274px;
    left: 320px;
}
#bgarea .bg_star9 {
    top: 595px;
    left: 374px;
}
#bgarea .bg_star10 {
    top: 573px;
    left: 463px;
}
#bgarea .bg_star11 {
    top: 385px;
    left: 461px;
}
#bgarea .bg_star12 {
    top: 313px;
    left: 508px;
}
#bgarea .bg_star13 {
    top: 241px;
    left: 575px;
}
#bgarea .bg_star14 {
    top: 4px;
    left: 710px;
}
#bgarea .bg_star15 {
    top: 749px;
    left: 846px;
}
#bgarea .bg_star16 {
    top: 455px;
    left: 1066px;
}
#bgarea .bg_star17 {
    top: 345px;
    left: 1128px;
}
#bgarea .bg_star18 {
    top: 572px;
    left: 1094px;
}
#bgarea .bg_star19 {
    top: 730px;
    left: 1150px;
}
#bgarea .bg_star20 {
    top: 475px;
    left: 1342px;
}
#bgarea .bg_star21 {
    top: 530px;
    left: 1300px;
}
#bgarea .bg_star22 {
    top: 291px;
    left: 1364px;
}
#bgarea .bg_star23 {
    top: 94px;
    left: 1442px;
}
#bgarea .bg_star24 {
    top: 460px;
    left: 1442px;
}
#bgarea .bg_star25 {
    top: 625px;
    left: 1534px;
}
#bgarea .bg_star26 {
    top: 777px;
    left: 449px;
}


.ds #wrapper {
    width: 1024px;
    margin: 0 auto;
    background-image: url(../img/top/bg_3ds_tl.jpg),url(../img/top/bg_3ds_tr.jpg),url(../img/top/bg_3ds_bl.jpg),url(../img/top/bg_3ds_br.jpg);
    background-position: 0 45px,512px 45px,0 416px,512px 416px;
    background-repeat: no-repeat;
}
.ds #gnav li .icon,
.ds .bg_purple,
.ds .bg_orange,
.ds #bgarea,
.ds #enemyarea,
.ds #main .main_screw1,
.ds #main .main_screw2,
.ds #main .main_wad,
.ds #main .main_pront3,
.ds #main .main_pront2,
.ds #main .main_pront1,
.ds #main .main_kirby,
.ds #main .main_logo {
    display: none;
}


/*============================================
    loading
============================================*/
#loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 100;
}
#loading .img_loading1,
#loading .img_loading2,
#loading .img_loading3 {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 240px;
    height: 300px;
    margin: -150px 0 0 -120px;
}

.no-js #loading {
    display: none;
}


.floating {
    animation: floatingFrame 4s linear 0s infinite;
    -moz-animation: floatingFrame 4s linear 0s infinite;
    -webkit-animation: floatingFrame 4s linear 0s infinite;
}

@keyframes floatingFrame {
    0% { transform: translate3d(0, 0px, 0); }
    25% { transform: translate3d(0, -10px, 0); }
    75% { transform: translate3d(0, 10px, 0); }
    100% { transform: translate3d(0, 0px, 0); }
}

@-moz-keyframes floatingFrame {
    0% { -moz-transform: translate3d(0, 0px, 0); }
    25% { -moz-transform: translate3d(0, -10px, 0); }
    75% { -moz-transform: translate3d(0, 10px, 0); }
    100% { -moz-transform: translate3d(0, 0px, 0); }
}

@-webkit-keyframes floatingFrame {
    0% { -webkit-transform: translate3d(0, 0px, 0); }
    25% { -webkit-transform: translate3d(0, -10px, 0); }
    75% { -webkit-transform: translate3d(0, 10px, 0); }
    100% { -webkit-transform: translate3d(0, 0px, 0); }
}

.floating2 {
    animation: floatingFrame2 4s linear 0s infinite;
    -moz-animation: floatingFrame2 4s linear 0s infinite;
    -webkit-animation: floatingFrame2 4s linear 0s infinite;
}

@keyframes floatingFrame2 {
    0% { transform: translate3d(0, 0px, 0); }
    25% { transform: translate3d(0, -5px, 0); }
    75% { transform: translate3d(0, 5px, 0); }
    100% { transform: translate3d(0, 0px, 0); }
}

@-moz-keyframes floatingFrame2 {
    0% { -moz-transform: translate3d(0, 0px, 0); }
    25% { -moz-transform: translate3d(0, -5px, 0); }
    75% { -moz-transform: translate3d(0, 5px, 0); }
    100% { -moz-transform: translate3d(0, 0px, 0); }
}

@-webkit-keyframes floatingFrame2 {
    0% { -webkit-transform: translate3d(0, 0px, 0); }
    25% { -webkit-transform: translate3d(0, -5px, 0); }
    75% { -webkit-transform: translate3d(0, 5px, 0); }
    100% { -webkit-transform: translate3d(0, 0px, 0); }
}

.standing {
    animation: standingFrame 100ms linear 0s 12;
    -moz-animation: standingFrame 100ms linear 0s 12;
    -webkit-animation: standingFrame 100ms linear 0s 12;
}

@keyframes standingFrame {
    0% { transform: translate3d(0px, 0, 0); }
    25% { transform: translate3d(-3px, 0, 0); }
    75% { transform: translate3d(3px, 0, 0); }
    100% { transform: translate3d(0px, 0, 0); }
}

@-moz-keyframes standingFrame {
    0% { -moz-transform: translate3d(0px, 0, 0); }
    25% { -moz-transform: translate3d(-3px, 0, 0); }
    75% { -moz-transform: translate3d(3px, 0, 0); }
    100% { -moz-transform: translate3d(0px, 0, 0); }
}

@-webkit-keyframes standingFrame {
    0% { -webkit-transform: translate3d(0px, 0, 0); }
    25% { -webkit-transform: translate3d(-3px, 0, 0); }
    75% { -webkit-transform: translate3d(3px, 0, 0); }
    100% { -webkit-transform: translate3d(0px, 0, 0); }
}

/* ----------------------------
   eshop バナー
---------------------------- */
.bnr-eshop-sale{
 width: 100%;
 background: url(../img/top/bnr_eshop_bg.png);
 position: relative;
 top: 45px;
 z-index: 1001;
}
.bnr-eshop-sale::before{
 content: "";
 display: block;
 width: 100%;
 height: 2px;
 background: #FFF;
 left: 0;
 bottom: 0;
 position: absolute;
}
.bnr-eshop-sale a{
 display: block;
 max-width: 960px;
 margin: 0 auto;
}
.bnr-eshop-sale a img{
 max-width: 960px;
 width: 100%;
 height: auto;
}
.no-touchevents .bnr-eshop-sale a{
 -webkit-transition: opacity 0.15s linear;
 transition: opacity 0.15s linear;
}
.no-touchevents .bnr-eshop-sale a:hover{
 opacity: 0.85;
}

#container{
padding-bottom: 90px;
}
