@charset "shift_jis";

#contents-inner h2,p,ul,li,dl,dt,dd {
	margin: 0;
	padding: 0;
}
#contents-inner {
	background: url('../img/bg_pattern.png');
	margin-bottom: 5%;
}
#contents-inner img {
	vertical-align: bottom;
}

/* soft-title */
#soft-title {
	background: #000;
}
#soft-title h1 {
    min-width: 298px;
    padding: 8px;
    color: #fff;
    border-left: 6px solid #0096C8;
    font-size: 12px;
}
#soft-title h1 .hard {
    margin-right: 8px;
    color: #0096C8;
}
/* main title */
#main-title {
	background: url('../img/bg_head_sp.png') left top no-repeat;
	background-size: 100%;
	position: relative;
	padding-bottom: 6.5%;
}
#main-title h2 {
	position: relative;
	z-index: 2;
	top: 0;
	left: 0;
	padding-top: 4%;
}
#main-title p.chara {
	position: relative;
	margin-top: -10%;
	z-index: 3;
	width: 52.1875%;
    background: url('../img/bg_mario_sp.png') no-repeat;
    background-size: cover;
}
#main-title p.lead {
	position: relative;
	margin-top: -56.8%;
	z-index: 4;
}
/* sec01 */
#sec01 .sec01inner {
	background: url('../img/sec01_bg_sp.png') no-repeat center top;
	background-size: cover;
	position: relative;
}
#sec01 .sec01inner a.link01 {
    position: absolute;
    top: 6.7%;
    left: 26.2%;
    width: 23.28125%;
}
#sec01 .sec01inner a.link01 img { width: 100%; height: auto; }
/* sec02 */
.sec02-a {
	margin-top: 5%;
	background: url('../img/bg_sec02_sp.png') no-repeat;
	background-size: cover;
	position: relative;
}
.sec02ttl {
	position: relative;
	z-index: 3;
}
#sec02 .sec02-a img.ar1 {
    position: absolute;
    top: 12%;
    left: 2%;
	z-index: 2;
}
#sec02 .sec02-a img.ar2 {
    position: absolute;
    top: 54%;
    left: 13%;
	z-index: 2;
}
#sec02 .sec02-a img.ar3 {
    position: absolute;
    top: 12%;
    right: 2%;
	z-index: 2;
}
#sec02 .sec02-a img.ar4 {
    position: absolute;
    top: 43%;
    right: 9%;
	z-index: 2;
}
#sec02 .sec02-c {
	position: relative;
}
#sec02 .anime1 {
	position: absolute;
    top: 32.5%;
    left: 53.5%;
}
/* sec03 */
#sec03 { position: relative; }
.sec03-a {
	background: url('../img/bg_sec03_sp.png') no-repeat;
	background-size: cover;
	position: relative;
}
.sec03ttl {
	position: relative;
	z-index: 3;
}
#sec03 a.link02 {
    position: absolute;
	bottom: 11.8%;
    left: 8.7%;
    width: 30.3125%;
}
#sec03 a.link02 img { width: 100%; height: auto; }
#sec03 .sec03-a img.ar1 {
    position: absolute;
    top: 10%;
    left: 1%;
	z-index: 2;
}
#sec03 .sec03-a img.ar2 {
    position: absolute;
    top: 63%;
    left: 12%;
	z-index: 2;
}
#sec03 .sec03-a img.ar3 {
    position: absolute;
    top: 10%;
    right: 2%;
	z-index: 2;
}
#sec03 .sec03-a img.ar4 {
    position: absolute;
    top: 58%;
    right: 8%;
	z-index: 2;
}

/* sec04 */
#sec04 {
	padding-bottom: 4%;
}
#sec04 .sec04inner {
	background: url('../img/sec04_bg_sp.png') no-repeat center top;
	background-size: cover;
}
.sec04-b {
    padding-bottom: 3.4%;
}

/* spec */
#spec {
	margin-bottom: 15px;
	padding-top: 20px;
	text-align: center;
}
#spec .back-btn {
	margin: 0 0 15px;
	text-align: center;
}
#spec .spec-border01 {
	padding: 15px 0 0;
	border-top: 1px solid #000;
}
#spec .logo {
	margin-bottom: 20px;
}
#spec .title {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
}
#spec .hardware {
	margin-top: 14px;
	margin: 20px 0;
}
#spec .official {
	position: relative;
	width: 250px;
	margin: 0 auto 20px;
}
#spec .official a {
	display: block;
	border-radius: 8px;
	padding: 18px 0;
	color: #FFF;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: 226px center;
	background-color: #e7340b;
	background-image: url(../img/official_arrow.png);
	background-size: 17px 17px;
	font-size: 15px;
}
#spec .copy {
	display: block;
	padding: 0 10px;
	margin-bottom: 20px;
	color: #FFF;
	text-align: center;
	font-size: 10px;
	line-height: 1.4;
}
/* clearfix */
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}

.mov { transform: scale(0); }
.ar1 { transition: .6s; }
.ar2 { transition: .4s; }
.ar3 { transition: .8s; }
.ar4 { transition: 1.0s; }
.anime1 { transition: 1.8s;transform: scale(0); }
.anime1.on { transform: scale(1);}
.mov.on { transform: scale(1); }
.mario {
    transition: .8s;
    transform: scale(0);
}
.mario.on {
    transform: scale(1);
}

