#container {
    background: url(../img/top/header-bg1.png) 0 0 repeat;
}

#loading {
    width: 100%;
    height: 100%;
    background: url(../img/top/header-bg1.png) 0 0 repeat;
    position: fixed;
}
#loading #loadingInner {
    width: 100%;
    height: 100%;
    position: relative;
}
#loading #loadingInner div:first-child {
    margin: -214px 0 0 -48px;
    position: absolute;
    top: 50%;
    left: 50%;
}
#loading #loadingInner div:first-child + * {
    margin: -30px 0 0 -64px;
    position: absolute;
    top: 50%;
    left: 50%;
}
#loading #loadingInner div:first-child + * + * {
    width: 100%;
    background: url(../img/top/loading4.png) 0 0 repeat-x;
    position: absolute;
    top: 50%;
    left: 0;
}
#loading #loadingInner div:first-child + * + * + * {
    margin: 0 0 0 -170px;
    position: absolute;
    top: 50%;
    left: 50%;
}

#header {
    background: url(../img/top/header-bg2.png) center 0 repeat-y;
    overflow: hidden;
}
#mainvisual {
    width: 960px;
	height: 772px;
    margin: 0 auto;
    position: relative;
}
#mainvisual h1 {
    position: absolute;
    top: 158px;
    left: 50%;
    z-index: 10;
}
#mainvisual h1 img {
    width: 100%;
}
#mainvisual h1 + p {
    position: absolute;
    top: 39px;
    left: 4px;
    z-index: 9;
}
#mainvisual .movieframe {
    position: absolute;
    bottom: 0;
    left: 217px;
    z-index: 20;
}
#mainvisual .movieframe p {
    position: relative;
}
#mainvisual .movieframe p span {
    display: block;
    width: 350px;
    height: 210px;
    position: absolute;
    top: 44px;
    left: 88px;
}
#mainvisual .charawrap {
    width: 1200px;
    height: 800px;
    margin-left: -600px;
    position: absolute;
    top: 154px;
    left: 50%;
    z-index: 15;
}
#mainvisual .chara {
    position: absolute;
    top: 800px;
}
#mainvisual .chara span {
    display: block;
}
#mainvisual .mainimgnoscript {
    width: 960px;
    height: 480px;
    position: absolute;
    bottom: 0;
    left: 0;
}
#gnav {
    height: 105px;
    background: url(../img/top/gnav-bg.png) 0 0 repeat-x;
}
#gnav #gnavInner {
    width: 960px;
    margin: 0 auto;
    position: relative;
}
#gnav #gnavInner ul {
    padding-top: 12px;
    text-align: center;
}
#gnav #gnavInner ul li {
    display: inline-block;
    padding: 0 6px;
}
#gnav #gnavInner ul + p {
    position: absolute;
    top: -272px;
    right: 0;
    z-index: 20;
}
#gnav #gnavInner ul + p a {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}
#gnav #gnavInner ul + p a + img {
    position: absolute;
    top: -102px;
    right: 8px;
    z-index: 9;
}
#gnav #gnavInner ul + p + p {
    position: absolute;
    top: -206px;
    left: 0;
    z-index: 20;
}

#main {
    padding-top: 36px;
    background: url(../img/top/main-bg.png) 0 0 repeat;
}

#softInfo {
    width: 960px;
    height: 220px;
    margin: 0 auto 42px;
    background: url(../img/top/softinfo-bg.png) 0 0 no-repeat;
    position: relative;
}
#softInfo > p {
    position: absolute;
}
#softInfo > p:first-child {
    top: 36px;
    left: 36px;
}
#softInfo > p:first-child + p {
    top: 36px;
    left: 208px;
}
#softInfo > p:first-child + p + p {
    top: 133px;
    left: 208px;
}
#softInfo > p:first-child + p + p + p {
    top: 134px;
    left: 252px;
}
#softInfo > p:first-child + p + p + p + p {
    top: 49px;
    left: 312px;
}
#softInfo > p:first-child + p + p + p + p + p {
    top: 99px;
    left: 312px;
}
#softInfo > p:first-child + p + p + p + p + p + p {
    top: 139px;
    left: 312px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p {
    top: 137px;
    left: 312px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p + p {
    top: 184px;
    left: 36px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p + p a {
    color: #9b1e23;
}
#softInfo > p:first-child + p + p + p + p + p + p + p + p a:hover {
    text-decoration: none;
}
#softInfo > p:first-child + p + p + p + p + p + p + p {
    top: 0;
    left: 670px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p + p {
    top: 108px;
    left: 670px;
}

#outlineArea {
    width: 960px;
    margin: 0 auto 90px;
    position: relative;
}
#outlineArea h2:first-child {
    margin-bottom: 45px;
    padding-left: 170px;
    overflow: hidden;
    position: relative;
}
#outlineArea h2:first-child span {
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 10px;
}
#outlineArea h2:first-child + p {
    width: 466px;
    margin-bottom: 70px;
    overflow: hidden;
}
#outlineArea h2:first-child + p + p {
    position: absolute;
    top: 338px;
    right: 0;
}
#outlineArea h2:first-child + p + p + h2 {
    margin-bottom: 24px;
    position: relative;
}
#outlineArea h2:first-child + p + p + h2 span {
    position: absolute;
    top: -30px;
    left: 40px;
}
#outlineArea h2:first-child + p + p + h2 + p {
    margin-bottom: 32px;
}
#outlineArea h2:first-child + p + p + h2 + p + p {
    margin-bottom: 14px;
}
#outlineArea h2:first-child + p + p + h2 + p + p + ul {
}
#outlineArea h2:first-child + p + p + h2 + p  + ul li {
    display: inline-block;
    margin: 0 10px 16px 0;
}

#remixstage {
    width: 960px;
    margin: 0 auto;
}
#remixstage h2 {
    margin-bottom: 32px;
    position: relative;
}
#remixstage h2 span {
    position: absolute;
    top: -102px;
    right: 16px;
}
#remixstage h2 + p {
    margin-bottom: 32px;
}
#remixstage h2 + p + ul {
    display: table;
    margin-bottom: 80px;
}
#remixstage h2 + p + ul li {
    display: table-cell;
    width: 313px;
    text-align: center;
    vertical-align: top;
}
#remixstage h2 + p + ul li:first-child + li {
    padding: 0 10px;
}
#remixstage h2 + p + ul li a {
    display: block;
    margin-bottom: 6px;
}

#famicomstage {
    width: 960px;
    margin: 0 auto 40px;
}
#famicomstage h2 {
    margin-bottom: 32px;
    position: relative;
}
#famicomstage h2 span {
    position: absolute;
    top: -55px;
    right: 16px;
}
#famicomstage h2 + p {
    margin-bottom: 32px;
}
#famicomstage h2 + p + ul {
    display: table;
    margin-bottom: 80px;
}
#famicomstage h2 + p + ul li {
    display: table-cell;
    width: 313px;
    text-align: center;
    vertical-align: top;
}
#famicomstage h2 + p + ul li:first-child + li {
    padding: 0 10px;
}
#famicomstage h2 + p + ul li a {
    display: block;
    margin-bottom: 6px;
}

#rankingArea {
    width: 978px;
    margin: 0 auto;
    padding: 244px 0 62px;
    background: url(../img/top/ranking-bg.png) 0 0 no-repeat;
}
#rankingArea #timeatack,
#rankingArea #ranking {
    width: 817px;
    margin: 0 auto;
    position: relative;
}
#rankingArea #timeatack {
    margin-bottom: 94px;
}
#rankingArea #timeatack h2 {
    margin-bottom: 22px;
    position: relative;
}
#rankingArea #timeatack h2 span {
    position: absolute;
    top: -132px;
    right: 10px;
}
#rankingArea #timeatack h2:first-child + p {
    margin-bottom: 300px;
}
#rankingArea #timeatack h2:first-child + p + p {
    position: absolute;
    top: 114px;
    left: 0;
}
#rankingArea #timeatack h2:first-child + p + p + p {
    position: absolute;
    top: 120px;
    right: 24px;
}
#rankingArea #timeatack h2:first-child + p + p + p + p {
    position: absolute;
    top: 304px;
    left: 364px;
}
#rankingArea #timeatack #nesremix {
    width: 815px;
    height: 308px;
    margin: 0 auto;
    background: url(../img/top/nesremix-bg.png) 0 8px no-repeat;
    position: relative;
}
#rankingArea #timeatack #nesremix p:first-child {
    text-align: center;
}
#rankingArea #timeatack #nesremix p:first-child + p {
    position: absolute;
    top: 113px;
    left: 48px;
}
#rankingArea #timeatack #nesremix p:first-child + p + p {
    position: absolute;
    top: 102px;
    right: 14px;
}
#rankingArea #ranking h2 {
    margin-bottom: 22px;
    position: relative;
}
#rankingArea #ranking h2 span {
    position: absolute;
    top: -55px;
    right: 45px;
}
#rankingArea #ranking h2:first-child + p {
    margin-bottom: 40px;
}
#rankingArea #ranking h2:first-child + p + p {
    margin-bottom: 60px;
    text-align: center;
}
#rankingArea #ranking h2:first-child + p + p + p {
    position: absolute;
    top: 175px;
    right: 0;
}
#rankingArea #ranking h2:first-child + p + p + p + p {
    position: absolute;
    top: 186px;
    left: 0;
}
#rankingArea #ranking h2:first-child + p + p + p + p + p + p {
    position: absolute;
    bottom: -8px;
    right: 3px;
}

#pageTop {
    width: 960px;
    height: 110px;
    margin: 0 auto;
    position: relative;
}
#pageTop p:first-child {
    position: absolute;
    top: 36px;
    right: 0;
}
#pageTop p:first-child + p {
    position: absolute;
    top: -28px;
    left: 0;
    z-index: 15;
}
#pageTop p:first-child + p + p {
    position: absolute;
    top: -52px;
    left: 56px;
    z-index: 10;
}
#charBg img {
    position: absolute;
    top: 0;
}
#charBg img:first-child {
    left: -470px;
}
#charBg img:first-child + img {
    right: -470px;
}
