#header {
    background: url(../img/top/header-bg.png) center 0 no-repeat;
    overflow: hidden;
}
#mainvisual {
    width: 640px;
	height: 809px;
    margin: 0 auto;
    position: relative;
}
#mainvisual h1 {
    position: absolute;
    top: 140px;
    left: 50%;
    z-index: 10;
}
#mainvisual h1 img {
    width: 100%;
}
#mainvisual h1 + p {
    position: absolute;
    top: 26px;
    left: 42px;
    z-index: 9;
}
#mainvisual .movieframe {
    position: absolute;
    bottom: 180px;
    left: 135px;
    z-index: 20;
}
#mainvisual .movieframe p {
    position: relative;
}
#mainvisual .movieframe p span {
    display: block;
    width: 244px;
    height: 146px;
    position: absolute;
    top: 31px;
    left: 62px;
}
#mainvisual .charawrap {
    width: 100%;
    height: 700px;
    text-align: center;
    position: absolute;
    top: 120px;
    left: 0;
    z-index: 15;
}

#mainvisual .chara {
    position: absolute;
    top: 700px;
}
#mainvisual .chara span {
    display: block;
}

#gnav {
    width: 640px;
    height: 317px;
    margin: 0 auto;
    background: url(../img/top/gnav-bg.png) 0 bottom repeat-x #a50c11;
}
#gnav #gnavInner {
    width: 640px;
    margin: 0 auto;
    position: relative;
}
#gnav #gnavInner ul {
    padding-top: 24px;
    text-align: center;
}
#gnav #gnavInner ul li {
    display: inline-block;
    padding: 0 12px 26px;
}
#gnav #gnavInner ul + p {
    width: 264px;
    height: 165px;
    position: absolute;
    top: -182px;
    right: 56px;
    z-index: 20;
}
#gnav #gnavInner ul + p a {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}
#gnav #gnavInner ul + p a img:first-child + img {
    position: absolute;
    top: -16px;
    left: -20px;
    z-index: 11;
}
#gnav #gnavInner ul + p + p {
    position: absolute;
    top: -180px;
    left: 58px;
    z-index: 20;
}

#main {
    width: 640px;
    margin: 0 auto;
    padding-top: 26px;
    background: url(../img/top/main-bg.png) 0 0 repeat;
}

#softInfo {
    width: 640px;
    height: 320px;
    margin: 0 auto 28px;
    background: url(../img/top/softinfo-bg.png) center 0 no-repeat;
    position: relative;
}
#softInfo > p {
    position: absolute;
}
#softInfo > p:first-child {
    top: 20px;
    left: 64px;
}
#softInfo > p:first-child + p {
    top: 20px;
    left: 216px;
}
#softInfo > p:first-child + p + p {
    top: 105px;
    left: 216px;
}
#softInfo > p:first-child + p + p + p {
    top: 105px;
    left: 255px;
}
#softInfo > p:first-child + p + p + p + p {
    top: 20px;
    left: 309px;
}
#softInfo > p:first-child + p + p + p + p + p {
    top: 64px;
    left: 309px;
}
#softInfo > p:first-child + p + p + p + p + p + p {
    top: 98px;
    left: 309px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p {
    top: 130px;
    left: 309px;
}
#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: 214px;
    left: 40px;
}
#softInfo > p:first-child + p + p + p + p + p + p + p + p {
    top: 214px;
    right: 40px;
}

#outlineArea {
    width: 560px;
    margin: 0 auto 90px;
    position: relative;
}
#outlineArea h2:first-child {
    margin-bottom: 20px;
}
#outlineArea h2:first-child span {
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 10px;
}
#outlineArea h2:first-child + p {
    width: 466px;
    margin-bottom: 20px;
    overflow: hidden;
}
#outlineArea h2:first-child + p + p {
    width: 134px;
    height: 176px;
    overflow: hidden;
    position: absolute;
    top: 274px;
    right: 50px;
}
#outlineArea h2:first-child + p + p + p {
    margin-bottom: 60px;
    text-align: center;
}
#outlineArea h2:first-child + p + p + p + h2 {
    margin-bottom: 24px;
    position: relative;
}
#outlineArea h2:first-child + p + p + p + h2 span {
    position: absolute;
    top: -30px;
    left: 26px;
}
#outlineArea h2:first-child + p + p + p + h2 + p {
    margin-bottom: 20px;
}
#outlineArea h2:first-child + p + p + p + h2 + p + p {
    margin-bottom: 14px;
    text-align: center;
}
#outlineArea h2:first-child + p + p + p + h2 + p + p + ul {
    text-align: center;
}
#outlineArea h2:first-child + p + p + p + h2 + p + ul li {
    display: inline-block;
    margin: 0 8px 16px;
}
#outlineArea h2:first-child + p + p + p + h2 + p + p + ul + p {
    text-align: center;
}

#remixstage {
    width: 560px;
    margin: 0 auto;
}
#remixstage h2 {
    margin-bottom: 20px;
    position: relative;
}
#remixstage h2 span {
    position: absolute;
    top: -50px;
    right: 7px;
}
#remixstage h2 + p {
    margin-bottom: 20px;
}
#remixstage h2 + p + ul {
    margin-bottom: 40px;
    text-align: center;
}
#remixstage h2 + p + ul li {
    display: inline-block;
    width: 260px;
    margin-bottom: 16px;
    padding: 0 4px;
    text-align: center;
    vertical-align: top;
}

#famicomstage {
    width: 560px;
    margin: 0 auto;
}
#famicomstage h2 {
    margin-bottom: 20px;
    position: relative;
}
#famicomstage h2 span {
    position: absolute;
    top: -18px;
    right: 5px;
}
#famicomstage h2 + p {
    margin-bottom: 20px;
}
#famicomstage h2 + p + ul {
    text-align: center;
}
#famicomstage h2 + p + ul li {
    display: inline-block;
    width: 260px;
    margin-bottom: 16px;
    padding: 0 4px;
    text-align: center;
    vertical-align: top;
}

#rankingArea {
    width: 580px;
    margin: 0 auto;
    padding: 142px 0 62px;
    background: url(../img/top/ranking-bg.png) 0 0 no-repeat;
}
#rankingArea #timeatack,
#rankingArea #ranking {
    width: 480px;
    margin: 0 auto;
    position: relative;
}
#rankingArea #timeatack {
    margin-bottom: 24px;
}
#rankingArea #timeatack h2 {
    margin-bottom: 14px;
    position: relative;
}
#rankingArea #timeatack h2 span {
    position: absolute;
    top: -80px;
    right: 3px;
}
#rankingArea #timeatack h2:first-child + p {
    margin-bottom: 196px;
}
#rankingArea #timeatack h2:first-child + p + p {
    position: absolute;
    top: 106px;
    left: 0;
}
#rankingArea #timeatack h2:first-child + p + p + p {
    position: absolute;
    top: 60px;
    right: 24px;
}
#rankingArea #timeatack h2:first-child + p + p + p + p {
    position: absolute;
    top: 234px;
    left: 216px;
}
#rankingArea #timeatack #nesremix {
    height: 225px;
    margin: 0 auto;
    background: url(../img/top/timeatack-bg.png) 0 0 no-repeat;
    position: relative;
}
#rankingArea #timeatack #nesremix p:first-child {
    text-align: center;
}
#rankingArea #timeatack #nesremix p:first-child + p {
    position: absolute;
    top: 60px;
    left: 20px;
}
#rankingArea #timeatack #nesremix p:first-child + p + p {
    position: absolute;
    top: 68px;
    right: 16px;
}
#rankingArea #ranking h2 {
    margin-bottom: 14px;
    position: relative;
}
#rankingArea #ranking h2 span {
    position: absolute;
    top: 0;
    right: -10px;
}
#rankingArea #ranking h2:first-child + p {
    margin-bottom: 20px;
}
#rankingArea #ranking h2:first-child + p + p {
    margin-bottom: 664px;
    text-align: center;
}
#rankingArea #ranking h2:first-child + p + p + p {
    position: absolute;
    top: 260px;
    right: 0;
}
#rankingArea #ranking h2:first-child + p + p + p + p {
    position: absolute;
    top: 374px;
    left: 0;
}
#rankingArea #ranking h2:first-child + p + p + p + p + p {
    position: absolute;
    bottom: 128px;
    left: 0;
}
#rankingArea #ranking h2:first-child + p + p + p + p + p + p {
    text-align: center;
}

#pageTop {
    width: 560px;
    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: 10px;
    left: 32px;
    z-index: 10;
}
#charBg img {
    position: absolute;
    top: 0;
}
#charBg img:first-child {
    left: -470px;
}
#charBg img:first-child + img {
    right: -470px;
}
