@charset "UTF-8";

body {
	color: #000;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
}
/* for IF6 */
* html body {
	font-family: "ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

/* ========================================
	common
======================================== */
#wrapper {
	background: url(../stage/images/main_bg.gif) center 0 repeat;
}
.inner {
	margin: 0 auto;
	width: 960px;
	position: relative;
}

.mt12 {
	margin-top: 12px;
}

/* ========================================
	#header-logo
======================================== */
#header {
	background: url(../stage/images/header_bg01.png) center top repeat-x;
}

#header-logo {
	background: url(../stage/images/header_bg02.png) center top no-repeat;
}

#header-inner {
	position: relative;
	margin: 0 auto;
	min-width: 960px;
	width: 100%;
	height: 73px;
	top: 0;
	z-index: 51;
}

#header-logo .nintendo {
	position: absolute;
	top: 5px;
	left: 10px;
}

#header-logo .hard {
	position: absolute;
	top: 5px;
	right: 8px;
}

/* ========================================
	#contents
======================================== */
#contents {
	position: relative;
	width: 100%;
	/*margin: -73px 0 0 0;*/
	margin: 0;
	font-size: 20px;
	line-height: 1.5;
	/*overflow: hidden;*/
}

#bg1 {
	background: url(../stage/images/bg01.png)  center 0 no-repeat;
}
#ttl-area {
	position: relative;
	height: 195px;
	z-index: 50;
}
#ttl-area #ttl {
	text-align: center;
	margin-top: -9px;
}
#ttl-area #chara {
	position: absolute;
	top: -65px;
	right: 0;
	z-index: -1;
}
/* #totop */
#totop {
	text-align: center;
}

/* ------------------------------
	section
------------------------------ */
.section {
	width: 960px;
	margin-bottom: 50px;
	padding-bottom: 30px;
	background: url(../stage/images/stage_bg.png) left top no-repeat;
}

.note {
	font-size: 14px;
	color: #FFF;
}

#stage-wrap .note {
	width: 440px;
	margin: -80px auto 17px auto;
}

/* h2 */
.section .ttl {
	float: left;
	margin: -20px 13px 0 0;
}
.section h2 .stage-ttl {
	margin: -65px 0 20px 113px;
	vertical-align: middle;
	display: block;
}
.section h2.ttl:before {
	content:url(../stage/images/mark.png);
}

.time {
	float: left;
	margin-top: 20px;
	padding: 0 40px;
	color: #FFF;
	text-align: center;
	line-height: 2;
    border-radius: 23px;
    -webkit-border-radius: 23px;
    -moz-border-radius: 23px;
	background-color: rgba(255,255,255,0.2);
}

/* stage */
.fes-stage,
.stage {
	width: 840px;
	margin: 0 auto;
}
.fes-stage-list,
.stage-list {
	float: left;
	width: 380px;
	min-height: 250px;
	margin: 0 20px;
	padding: 20px 0 0 0;
	text-align: center;
	background: url(../stage/images/bg_stage.png) left top no-repeat;
}
.fes-stage-name,
.stage-name {
	width: 300px;
	margin: 0 auto;
}
.fes-stage-name span,
.stage-name span {
	display: table-cell;
	width: 300px;
	height: 71px;
	line-height: 1.4;
	vertical-align: middle;
}

/* ranking */
.ranking {
	max-width: 840px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.4;
}

.rank-ttl {
	margin-left: 40px;
}
#current-stage .rank-ttl {
	float: left;
	margin-right: 7px;
}
#current-stage .rank-lead {
	display:block;
	color: #FFF;
	margin-top: 15px;
	font-size: 16px;
	font-weight: normal;
}

.rank-list {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.rank-list .first,
.rank-list .second,
.rank-list .third {
	min-height: 101px;
	padding: 10px 30px;
	box-sizing: border-box;
}
.rank-list .first,
.rank-list .third {
	background: url(../stage/images/rank_bg01.png) left top no-repeat;
}
.rank-list .second {
	background: url(../stage/images/rank_bg02.png) left top no-repeat;
}

.rank-date {
	float: left;
	width: 310px;
	margin: 5px 50px 0 0;
}
.rank-icon {
	float: left;
}
.rank-name {
	display: block;	
	padding: 8px 0 2px 0;
}

.rank-item {
	float: left;
	min-width: 399px;
	background: url(../stage/images/weapon_bg.png) left top no-repeat;
}
.rank-item li {
	float: left;
	margin: 0 5px;
}
.rank-item li:first-child {
	margin: 0 31px 0 0;
}
.rank-item li img {
	padding: 5px;
}

.low-rank {
	width: 690px;
	margin: 0 auto;
	line-height: 2;
}
.low-rank li {
	background-color: #c2e310;
	margin-bottom: 2px;
}
.low-rank li:nth-child(even) {
	background-color: #82ce0a;
}

.rank-number {
	width: 30px;
	height: 40px;
	margin: 0 14px;
	display: inline-block;
	background: url(../stage/images/rank_number.png) no-repeat;
	vertical-align: middle;
}
.rank4 {
	background-position: 0 0;
}
.rank5 {
	background-position: 0 -42px;
}
.rank6 {
	background-position: 0 -84px;
}
.rank7 {
	background-position: 0 -126px;
}
.rank8 {
	background-position: 0 -168px;
}
.rank9 {
	background-position: 0 -210px;
}
.rank10 {
	background-position: 0 -252px;
}

/* ========================================
	#maintenance
======================================== */
#maintenance {
	display: none;
	margin: 10% auto;
	color: #FFF;
	font-size: 21px;
	text-align: center;
}

/* ========================================
	#festival
======================================== */
body#fes {
	background: url(../stage/images/fes_bg01.png) center 0 repeat;
}

#fes #wrapper {
	background: url(../stage/images/fes_bg02.jpg) center 60px no-repeat;
}

#festival.section {
	padding-bottom: 0;
}

#fes-bg1 {
	background: url(../stage/images/fes_bg04.png) left top no-repeat;
}

#fes-bg2 {
	background: url(../stage/images/fes_bg03.png) left bottom no-repeat;
}
#fes-ttl {
	padding: 13px 0 0 191px;
}

#festival .note {
	width: 460px;
	margin: -60px auto 17px auto;
}
#festival .fes-time {
	width: 40%;
	margin: 0 auto 20px auto;
	color: #FFF;
	text-align: center;
	line-height: 2;
    border-radius: 23px;
    -webkit-border-radius: 23px;
    -moz-border-radius: 23px;
	background-color: rgba(255,255,255,0.2);
}

#festival .fes-team {
	margin-bottom: 15px;
	color: #FFF;
	font-size: 40px;
	text-align: center;
}
#festival .team1 {
	color: #aadc00;
}
#festival .team2 {
	color: #c800dc;
}

#festival .last {
	margin: 35px 232px;
}
/* ========================================
	#footer
======================================== */
#footer {
	width: 100%;
	background: url(../common/foot_bg.png) center top no-repeat;
	color: #FFF;
	text-align: center;
}

/*#footer .footer-navi {
	z-index: 50;
}*/
#footer .footer-navi li {
	display: inline;
	color: #FFF;
	font-size: 12px;
	line-height: 5;
}

.footer-pagetop a {
	position: absolute;
	top: -106px;
	right: 0;
}


/* ========================================
	sp
======================================== */
@media screen and (max-width: 768px) {
	
	#wrapper {
		  background-size: 50% auto;
		  overflow: hidden;
	}
	
	#contents {
		margin: 0 auto;
		font-size: 16px;
		line-height: 1.3;
	}

	/* ========================================
		#header-logo
	======================================== */
	#header-logo {
		background: url(../stage/images/header_bg03.png) left 35px no-repeat;
		background-size: 30% auto;
	}

	#header-inner {
		min-width: 100%;
		width: 100%;
	}

	#header-logo img {
		width: 80%;
	}

	#header-logo .nintendo {
		top: 8px;
	}
	#header-logo .hard {
		top: 8px;
		text-align: right;
		z-index:1000;
	}
	
	/* ========================================
		#contents
	======================================== */
	#bg1 {
		  background-size: 150% auto;
		  background-position: center 0;
	}
	.inner {
		width: 100%;
	}
	
	/* --- #ttl-area --- */
	#ttl-area {
		width: 96%;
		height: auto;
		margin: 0 auto;
	}
	#ttl-area #chara {
		display: none;
	}
	#contents #ttl {
		margin: -8% 0 4% 0;
	}
	#ttl-area img {
		width: 100%;
		height: auto;
	}
	
	/* --- #totop --- */
	#totop img {
		width: 80%;
		height: auto;
		margin-bottom: 5%;
	}

	/* ------------------------------
		section
	------------------------------ */
	.section {
		width: 100%;
		margin-bottom: 10%;
		padding-bottom: 8%;
		background-image: none;
		background-color: rgba(26,26,26,0.8);
	}
	
	.note {
		font-size: 12px;
		line-height: 1.5;
	}

	#stage-wrap .note {
		width: 96%;
		margin: 1% 2% 4% 2%;
	}
	#before_last_stage.section {
		margin-bottom: 5%;
	}
	.section img {
		width: 100%;
		height: auto;
	}
	.section .ttl {
		float: none;
		width: 80%;
		margin: -2% auto 0 auto;
	}
	.section h2.ttl .stage-ttl {
		width: 75%;
		margin: -47px 0 0 23%;
	}
	.section h2.ttl:before {
		content:url(../stage/images/mark_sp.png);
	}
	
	.time {
		float: none;
		margin-top: 3%;
		padding: 0;
		color: #FFF;
		text-align: center;
		background-color: transparent;
	}

	/* stage */
	.fes-stage,
	.stage {
		width: 71.875%;
		margin: 0 auto 7% auto;
		color: #FFF;
	}
	.fes-stage-list,
	.stage-list {
		width: 100%;
		min-height: inherit;
		height: auto !important;
		margin: 0;
		padding: 3% 0;
		background: none;
	}
	.fes-stage-list > div,
	.stage-list > div {
		margin: 0 0 3% 0;
		border: #FFF 5px solid;
		border-radius: 2px;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
	}
	.fes-stage-name,
	.stage-name {
		width: auto;
		text-align: center;
	}
	.fes-stage-name span,
	.stage-name span {
		display: inline-block;
		width: auto;
		height: auto;
		vertical-align: middle;
	}

	/* ranking */
	.ranking {
		width: 90.625%;
		margin: 0 auto;
	}
	
	.rank-ttl {
		width: 100%;
		margin-left: 0;
	}
	.rank-ttl img {
		width: 55%;
	}
	#current-stage .rank-lead {
		margin: 2% 0;
		font-size: 12px;
	}
	
	.rank-list {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}
	
	.rank-list .first,
	.rank-list .second,
	.rank-list .third {
		min-height: inherit;
		height: auto !important;
		padding: 3%;
		margin-bottom: 5%;
		box-sizing: border-box;
		border-radius: 10px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		font-size: 14px;
	}
	.rank-list .first,
	.rank-list .third {
		background: #82ce0a url(../stage/images/rank_bg01_sp.png) left bottom no-repeat;
		background-size: 100% auto;
	}
	.rank-list .second {
		background: #c2e310 url(../stage/images/rank_bg02_sp.png) left bottom no-repeat;
		background-size: 100% auto;
	}
	
	.rank-date {
		box-sizing: border-box;
		width: 100%;
		margin: 0 0 3% 0;
		padding-left: 21%;
		min-height: 43px;
	}
	.first .rank-date {
		background: url(../stage/images/rank_1st_sp.png) left top no-repeat;
	}
	.second .rank-date {
		background: url(../stage/images/rank_2nd_sp.png) left top no-repeat;
	}
	.third .rank-date {
		background: url(../stage/images/rank_3rd_sp.png) left top no-repeat;
	}
	.rank-icon {
		display: none;
	}
	.rank-name {
		width: 80%;
		padding: 0;
	}
	.rank-item {
		min-width: inherit;
		width: 100%;
		background-position: left bottom;
		background-size: contain;
	}
	.rank-item li {
		float: left;
		margin: 0 2%;
		width: 20%;
	}
	.rank-item li:first-child {
		margin: 0 7.5% 0 0;
	}

	.low-rank {
		width: 100%;
		font-size: 12px;
	}
	
	.rank-number {
		width: 25px;
		height: 30px;
		margin: 0 1%;
		background-size: 100% auto;
	}
	.rank4 {
		background-position: 0 0;
	}
	.rank5 {
		background-position: 0 -37px;
	}
	.rank6 {
		background-position: 0 -72px;
	}
	.rank7 {
		background-position: 0 -108px;
	}
	.rank8 {
		background-position: 0 -143px;
	}
	.rank9 {
		background-position: 0 -178px;
	}
	.rank10 {
		background-position: 0 -212px;
	}
	
	/* ========================================
		#maintenance
	======================================== */
	#maintenance {
		width: 80%;
		font-size: 16px;
		line-height: 1.6;
	}
	
	/* ========================================
		#fes
	======================================== */
	#fes-bg1 {
		background-size: contain;
		height: auto;
	}
	#fes-bg2 {
		background: none;
	}
	#fes-ttl {
		width: 70%;
		margin: 0 auto;
		padding: 7% 0 0 0;
	}
	#festival .note {
		width: 96%;
		margin: 1% 2% 4% 2%;
	}
	#festival .fes-time {
		width: 100%;
		margin: 2% 0;
		padding: 0;
		color: #FFF;
		line-height: 1.6;
		text-align: center;
		background-color: transparent;
	}
	#festival .fes-team {
		width: 100%;
		margin: 0 auto 3% auto;
		font-size: 18px;
	}
	#festival .last {
		margin: 0;
	}

	/* ========================================
		#footer
	======================================== */
	.footer-navi {
		margin-left: -1%;
	}
	.footer-pagetop {
		text-align: right;
	}
	.footer-pagetop a {
		top: -115%;
		right: 0;
	}
	.footer-pagetop img {
		width: 66%;
		height: auto;
	}
	
}



