html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline
}
html {
	line-height: 1
}
ol, ul {
	list-style: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle
}
q, blockquote {
	quotes: none
}
q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none
}
a img {
	border: none
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block
}
.queryloader__overlay {
	background: #222 !important
}
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto
}
a:hover img {
	opacity: 0.8
}
strong {
	font-weight: bold
}
small, .small {
	font-size: 80%
}
audio {
	width: 180px
}
i {
	font-style: italic;
}
.fadeOut {
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	opacity: 0
}
.fadeIn {
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	opacity: 0
}
html {
	font-size: 62.5%
}
body {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans Japanese Regular", "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
	font-size: 1.4em;
	line-height: 1.6;
	max-width: 100vw;
	overflow-x: hidden;
	background-color: #FCF6F7;
	-webkit-text-size-adjust: none
}
body a:link, body a:visited {
	color: #222
}
body a:hover {
	color: #c00
}
body a:active {
	color: #c00
}
.wrapper {
	position: relative;
	overflow: hidden;
	min-height: 720px
}
.wrapper>header {
	position: fixed;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #222;
	background-image: url(../img/common/headerBack.png);
	-moz-box-shadow: 0 0 5px #000;
	-webkit-box-shadow: 0 0 5px #000;
	box-shadow: 0 0 5px #000;
	z-index: 1000
}
.wrapper>header>.inner {
	margin: 0 auto;
	max-width: 1160px;
	width: 100%
}
.wrapper>header #GlobalNav {
	float: left
}
.wrapper>header #GlobalNav .new {
	margin-right: 10px;
	color: #FF0
}
.wrapper>header .misc {
	float: right;
	overflow: hidden;
*zoom:1
}
.wrapper>header .misc>* {
	float: left
}
.wrapper>header #hAudio {
	margin: 10px 10px 0 0;
	padding: 4px;
	cursor: pointer;
	border: 1px solid rgba(255,255,255,0.5);
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px
}
.wrapper>header #hAudio:hover {
	background-color: rgba(255,255,255,0.1)
}
.wrapper>header #hAudio img {
	height: 20px;
	width: 115px
}
.wrapper>header .twitter {
	padding-top: 15px
}
.wrapper>header iframe.twitter-share-button {
	width: 105px !important
}
.wrapper>footer {
	font-size: 1rem;
	width: 100%;
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZjZjZmNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmY2Y2ZjciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
	background-size: 100%;
	background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(252,246,247,0)), color-stop(100%, #fcf6f7));
	background-image: -moz-linear-gradient(top, rgba(252,246,247,0), #fcf6f7);
	background-image: -webkit-linear-gradient(top, rgba(252,246,247,0), #fcf6f7);
	background-image: linear-gradient(to bottom, rgba(252,246,247,0), #fcf6f7);
*zoom:1;
filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#00FCF6F7', endColorstr='#FFFCF6F7')
}
.wrapper>footer>.inner {
	padding-top: 20px;
	padding-bottom: 20px;
	margin: 0 auto;
	max-width: 1160px;
	width: 100%;
	overflow: hidden;
*zoom:1
}
.wrapper>footer .banner {
	text-align: center
}
.wrapper>footer .banner a {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px
}
.wrapper>footer .banner a:last-child {
	margin-right: 0
}
.wrapper>footer .banner img {
	max-height: 40px
}
.wrapper>footer p {
	margin-bottom: 10px
}
.wrapper>footer p:last-child {
	margin-bottom: 0
}
main {
	display: block
}
main>.inner {
	padding-top: 50px;
	margin: 0 auto;
	max-width: 1160px;
	width: 100%;
	position: relative
}
main:not(#Index) section {
	margin-top: 20px
}
main:not(#Index) .box {
	margin-top: 20px;
	padding-top: 0;
	background-color: rgba(252,246,247,0.8);
	-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	box-shadow: 0 0 5px rgba(0,0,0,0.5)
}
main:not(#Index) .box .imgH2 {
	margin: -15px 0 5px -30px
}
main:not(#Index) .box>.inner {
	padding: 20px
}
main:not(#Index) .imgH2 {
	margin: -5px 0 5px -5px
}
main .localNav {
	padding-top: 3px;
	background: #311 url(../img/common/goldLine.png) left top repeat-x;
	-moz-box-shadow: 0 0 5px #000;
	-webkit-box-shadow: 0 0 5px #000;
	box-shadow: 0 0 5px #000
}
main .localNav a:link, main .localNav a:visited {
	color: #FFF
}
main .localNav a:hover {
	color: #ff0
}
main .localNav a:active {
	color: #ff0
}
main .localNav ul {
	padding-bottom: 3px;
	width: 100%;
	background: url(../img/common/goldLine.png) left bottom repeat-x;
	letter-spacing: -.40em
}
main .localNav ul li {
	font-weight: bold;
	letter-spacing: normal
}
main .localNav ul li:last-child {
	margin-right: 0
}
main .localNav ul li a {
	display: block;
	padding: 15px;
	line-height: 1;
	text-decoration: none
}
main .localNav ul li a:hover {
	background: rgba(255,255,255,0.1)
}
main .localNav ul li a .new {
	margin-right: 10px;
	color: #FF0
}
.gotoTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 2000
}
#Index .mainVisual {
	position: absolute;
	top: 0;
	right: 0;
	width: 60vw;
	max-width: 720px;
	z-index: -100
}
#Index .mainVisual>.flow-wrapper {
	width: inherit !important
}
#Index .mainVisual #Stage {
	min-width: 500px !important
}
#Index .mobileVisual {
	text-align: center
}
#Index .box {
	padding: 20px;
	background-color: rgba(252,246,247,0.8);
	-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	box-shadow: 0 0 5px rgba(0,0,0,0.5)
}
#Index .box .imgH2 {
	margin: -15px 0 5px -30px
}
#Index #PV {
	background: #FFF;
	-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	box-shadow: 0 0 5px rgba(0,0,0,0.5)
}
#Index #Topics dt {
	font-weight: bold;
	font-size: 1rem
}
#Index #Topics dd {
	margin-bottom: 10px;
	font-size: 1.2rem
}
#Index #Topics dd:last-child {
	margin-bottom: 0
}
#Index #Spec dt {
	padding: 0.1rem -0px 0.1rem;
	float: left;
	font-weight: bold;
	font-size: 1rem
}
#Index #Spec dd {
	margin-bottom: 5px;
	padding-bottom: 3px;
	padding-left: 6rem;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	font-size: 1.2rem
}
#Index #Spec dd:last-child {
	margin-bottom: 0
}
.bgVideo {
	position: fixed;
	right: 0;
	top: 0;
	text-align: center;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1000
}
.bgVideo video {
	width: 1600px
}
#About section {
	margin-left: auto;
	margin-right: auto;
	max-width: 784px
}
#About p {
	margin-bottom: 10px;
	text-align: center
}
#About p:last-child {
	margin-bottom: 0
}
.thumb {
	padding-right: 10px;
	text-align: center;
	letter-spacing: -.40em
}
.thumb a {
	margin: 0 0 10px;
	display: inline-block;
	width: 50%;
	letter-spacing: normal
}
.thumb a:nth-child(odd) {
	margin-right: 10px
}
.thumb a:nth-child(even) {
	margin-right: -10px
}
#System section {
	margin-left: auto;
	margin-right: auto;
	max-width: 784px
}
#System p {
	margin-bottom: 10px;
	text-align: left;
}
#System p:last-child {
	margin-bottom: 0
}
#System img.right {
	float: right;
	padding: 10px;
}
#System img.left {
	float: left;
	padding: 10px;
	width: 70px;
	height: auto;
}
#System hr {
	clear: both;
}
#System p b {
	font-weight: 600;
	font-size:20px;
}
#System ul li b {
	font-weight: 600;
	font-size:16px;
}
#System h3 {
	font-size: 24px;
	font-weight: 600;
}
#Story section {
	margin: 0 auto;
	max-width: 880px
}
#Story section div {


	text-align: center;
	width: 100%;
	/*height: 0;*/
	background: url(../img/story/storyBack.png) center top no-repeat;
	background-size: cover;

}
#Story section div p {
	position: relative;
	font-size: 18px;
	line-height: 35px;
	padding: 30px 30px 130px 30px;
	top: 0;
	left: 0;
	width: auto;
	height: 100%;
	color: #fff;
    font-weight: 600;
    text-align: left;
    text-shadow: 0px 0px 10px #000,0px 0px 10px #000,0px 0px 10px #000,0px 0px 10px #000,0px 0px 10px #000;
}
#Gallery #ScreenShot, #Gallery #PromotionVideo {
	overflow: hidden;
*zoom:1
}
#Gallery #ScreenShot ul, #Gallery #PromotionVideo ul {
	text-align: center;
	letter-spacing: -.40em
}
#Gallery #ScreenShot li, #Gallery #PromotionVideo li {
	margin: 0 2px 4px 2px;
	letter-spacing: normal;
	display: inline-block;
	background: #FFF;
	border: 1px solid #222
}
#Gallery #ScreenShot li:hover, #Gallery #PromotionVideo li:hover {
	border-color: #C00
}
#Gallery #ScreenShot li a, #Gallery #PromotionVideo li a {
	display: block
}
#Gallery #PromotionVideo div {
	margin-right:10px;
	float:left;
	display: block;
}
a.btn-preorder {
	border: 3px solid #ff0000; 
	padding: 5px; 
	color: #ff0000 !important; 
	text-decoration: none; 
	font-weight: 600;
	transition: all .3s ease;
	-o-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
a.btn-preorder:hover {
	color: #b90000 !important;
	border: 3px solid #b90000;
	transition: all .3s ease;
	-o-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
#ProductDetail {
	line-height: 1.8
}
#ProductDetail dt {
	float: left;
	font-weight: bold
}
#ProductDetail dd {
	margin-bottom: 5px;
	padding-left: 12rem;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(0,0,0,0.2)
}
#ProductDetail dd:last-child {
	margin-bottom: 0
}
#ProductDetail .inner {
    height: initial !important;
}
#VoiceCast .inner {
	height: initial !important;
}
#Product #Special {
	margin-top: 60px
}
#Product #VoiceCast ul {
	letter-spacing: -.40em;
	text-align: center
}
#Product #VoiceCast li {
	margin-bottom: 5px;
	margin-right: 10px;
	padding: 0 10px 5px;
	display: inline-block;
	text-align: left;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: normal;
	border-bottom: 1px solid rgba(0,0,0,0.2)
}
#Product #Banner>.banner {
	display: inlune-block
}
#Product #Banner>.banner img {
	-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	box-shadow: 0 0 5px rgba(0,0,0,0.5)
}
#Char #mainChar {
	width: 100%;
	min-height: 400px
}
#Char .CharDesc {
	position: relative;
	top: -200px;
}
#Char .SubCharDesc {
	position: relative;
	top: -100px;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
#Char #reimu .CharDesc {
	top: -230px !important;
}
#Char h2, #Char p {
	font-weight: 600;
	text-align: center;

	color: #000;
	z-index: 100;
	padding: 0 15px;
	position: relative;
}
#Char h2::selection, #Char p::selection {
	color: #000;
	background: rgba(0,0,0,.5);
}
#Char h2::-moz-selection, #Char p::-moz-selection {
	color: #000;
	background: rgba(0,0,0,.5);
}
#Char h2 {
	/*text-shadow: 0 0 10px #fff,0 0 10px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;*/
	  text-shadow:
   -2px -2px 15px #fff,  
    2px -2px 15px #fff,
    -2px 2px 15px #fff,
     2px 2px 15px #fff,
    -2px -2px 10px #fff,  
    2px -2px 10px #fff,
    -2px 2px 10px #fff,
     2px 2px 10px #fff,
    -2px -2px 5px #fff,  
    2px -2px 5px #fff,
    -2px 2px 5px #fff,
     2px 2px 5px #fff;
	font-size: 35px;
	line-height: 40px;
}
#Char p {
	  text-shadow:
   -2px -2px 15px #fff,  
    2px -2px 15px #fff,
    -2px 2px 15px #fff,
     2px 2px 15px #fff,
    -2px -2px 10px #fff,  
    2px -2px 10px #fff,
    -2px 2px 10px #fff,
     2px 2px 10px #fff,
    -2px -2px 5px #fff,  
    2px -2px 5px #fff,
    -2px 2px 5px #fff,
     2px 2px 5px #fff;
     margin-bottom: -150px;
     font-size: 14px;
}
#Char #reimu {
	left: 0;
	top: 0
}
#Char #futo {
	left: 0;
	top: 0;
}
#Char #futo h2 {
	position: relative;
}
#Char #futo p {
	position: relative;
}
#Char #kasen {
	left: inherit;
	top: 0;
}
#DLC .box {
	margin-left: auto;
	margin-right: auto;
	max-width: 768px
}
#DLC .box section {
	padding-top: 10px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(0,0,0,0.2)
}
#DLC .box section:last-child {
	padding-bottom: 0;
	border-bottom: none
}
#DLC #WhatIs p {
	text-align: center;
	margin-bottom: 10px
}
#DLC #SpecialEdition .visual {
	margin-bottom: 10px
}
#DLC #SpecialEdition p {
	margin-bottom: 10px
}
#DLC #SpecialEdition ul {
	margin-bottom: 20px
}
#DLC #ShopList>ul {
	margin-bottom: 0;
	text-align: center;
	letter-spacing: -.40em
}
#DLC #ShopList>ul>li {
	margin: 0 10px 20px;
	display: inline-block;
	letter-spacing: normal;
	max-width: 367px;
	vertical-align: top
}
#DLC #ShopList>ul>li .banner, #DLC #ShopList>ul>li .thumb {
	margin-bottom: 10px
}
#DLC #ShopList>ul>li p {
	margin-bottom: 0
}
#DLC #ShopList>ul>li .banner {
	margin-bottom: 0
}
#DLC #ShopList>ul>li .banner img {
	height: 40px
}
#DLC #ShopList>ul>li>ul>li {
	font-weight: bold
}

@media (min-width: 1200px) {
.wrapper>footer {
	position: relative;
	left: 0;
	/*top: 885px;*/
}
.wrapper>footer .banner {
	width: 100%;
	float: left
}
.wrapper>footer .copyright {
	/*padding-left: 596px*/
	width: 58%;
	float: left;
	padding-left:21%;
	padding-right:21%;
	text-align: center;
	font-size: 10px;
}
.wrapper>footer .copyright2 {
    display: inline-block;
    padding-left: 13%;
    padding-right: 13%;
    width: 80%;
}
.wrapper>footer .copyright2 img {
	float: left;

}
.wrapper>footer .copyright p, .wrapper>footer .copyright2 p {
	opacity: .7;
}
.wrapper>footer .copyright2 p {
	margin-left: 15px;
	display: inline-block;
	font-size: 10px;
}
#GlobalNav {
	overflow: hidden;
*zoom:1
}
#GlobalNav #menuBtn {
	display: none
}
#GlobalNav ul {
	float: left;
	overflow: hidden;
	border-left: 1px solid #000
}
#GlobalNav li {
	display: table-cell;
	font-size: 1.4rem;
	line-height: 50px;
	overflow: hidden
}
#GlobalNav li a:link, #GlobalNav li a:visited {
	color: #FFF
}
#GlobalNav li a:hover {
	color: #ff0
}
#GlobalNav li a:active {
	color: #ff0
}
#GlobalNav li a {
	padding: 0 20px;
	display: inline-block;
	text-decoration: none;
	font-weight: bold;
	height: 50px;
	vertical-align: middle;
	border-right: 1px solid #000
}
#GlobalNav li a:hover {
	background-color: rgba(255,255,255,0.1)
}
#GlobalNav li span.disable {
	padding: 0 20px;
	display: inline-block;
	color: #666;
	text-decoration: none;
	font-weight: bold;
	height: 50px;
	vertical-align: middle;
	border-right: 1px solid #000
}
#GlobalNav li span.disable:after {
	margin-top: -36px;
	width: 100%;
	text-align: center;
	display: block;
	content: "ComingSoon";
	font-size: 1rem;
	color: #C00
}
.mainVisual {
	display: block
}
.mobileVisual {
	display: none
}
main {
	padding-left: 20px;
	padding-right: 20px
}
main:not(#Index) {
	padding-bottom: 138px
}
#Index>.inner {
	min-height: 870px;
}
#Index #Title {
	position: absolute;
	max-width: 500px;
	top: 70px;
	left: 0
}
#Index #Title #Plogo {
	margin-bottom: 20px
}
#Index #PV {
	position: absolute;
	width: 320px;
	height: 180px;
	top: 372px;
	left: 0
}
#Index #Topics {
	position: absolute;
	bottom: 28px;
	left: 345px;
	width: 270px;
}
#Index #Topics dl {
	height: 120px;
	overflow-y: auto
}
#Index #Spec {
	position: absolute;
	top: 560px;
	height: 292px;
	left: 0;
	width: 280px
}
#Index #Theme {
	position: absolute;
	bottom: 118px;
	left: 680px;
	width: 230px
}
#Index .promobanner {
	position: absolute;
	bottom: 28px;
	left: 683px;
	width: 270px
}
#Index #Special {
	position: absolute;
	bottom: 28px;
	left: 683px;
	width: 230px
}

#Index #ESRB {
	position: absolute;
	bottom: 28px;
	left: 980px;
	width: 180px
}

#Index #PVbr {
	position: absolute;
	bottom: 118px;
	left: 803px;
	width: 355px
}
#Gallery #ScreenShot li {
	width: 284px
}
#Product #VoiceCast li {
	min-width: 150px
}
#Product #VoiceCast li:nth-child(3n) {
	margin-right: 0
}
#Char #mainChar {
	position: relative;
	min-height: 780px
}
#Char #reimu, #Char #futo, #Char #kasen {
	position: absolute
}
#Char #reimu {
	left: 380px;
	top: -70px
}
#Char #futo {
	left: 0;
	top: -30px;
	width: 353px;
}
#Char #kasen {
	right: 0;
	top: 60px;
	text-align: right;
	width: 276px;
}
#Char .CharDesc {
	width: 276px;
	margin-left: auto;
	margin-right: auto;
}
#Char #subChar {
	text-align: center
}
}

@media (max-width: 1199px) {
.wrapper {
	position: static;
	top: 0;
	left: 0
}
#GlobalNav #menuBtn {
	display: block;
	color: #FFF
}
#GlobalNav ul {
	display: none
}
.mean-nav .disable {
	display: block;
	float: left;
	width: 90%;
	padding: 1em 5%;
	margin: 0;
	text-align: left;
	color: #666;
	border-top: 1px solid #383838;
	border-top: 1px solid rgba(255,255,255,0.2);
	text-decoration: none;
	text-transform: uppercase
}
#Char #mainChar {
	text-align: center
}
}

@media (min-width: 840px) and (max-width: 1199px) {
.wrapper>footer {
	margin-top: -178px
}
.wrapper>footer .banner {
	margin-bottom: 10px
}
.wrapper>footer .copyright {
	margin-left: 20px;
	margin-right: 20px;
	font-size: 10px;
}
.wrapper>footer .copyright2 {
	text-align: center;
}
.wrapper>footer .copyright2 p {
	opacity: .7;
	margin-top: 10px;
	font-size:10px;
}
.mainVisual {
	display: block
}
.mobileVisual {
	display: none
}
main {
	padding-left: 20px;
	padding-right: 20px
}
main:not(#Index) {
	padding-bottom: 198px
}
#Index>.inner {
	min-height: 959px;
	padding-bottom: 178px
}
#Index #Title {
	margin: 20px 0;
	max-width: 50vw
}
#Index #Title #Plogo {
	margin-bottom: 20px
}
#Index #PV {
	margin-bottom: 10px;
	width: 320px;
	height: 180px
}
#Index #Topics {
	margin-bottom: 10px;
	width: 280px
}
#Index #Topics dl {
	height: 120px;
	overflow-y: auto
}
#Index #Spec {
	width: 280px
}
#Index #Theme {
	position: absolute;
	bottom: 178px;
	left: 330px;
	width: 230px
}
#Index .promobanner {
	position: absolute;
	bottom: 159px;
	left: 355px;
	width: 245px

}
#Index #Special {
	position: absolute;
	bottom: 178px;
	left: 355px;
	width: 205px

}
#Index #ESRB {
	position: absolute;
	bottom: 178px;
	left: 620px;
	width: 180px
}
#Index #PVbr {
	position: absolute;
	bottom: 178px;
	    left: 424px;
    width: 375px;
}
#Char #mainChar {
	position: relative;
	overflow: hidden;
*zoom:1;
	width: 100%;
	min-height: 780px
}
#Char #reimu, #Char #futo, #Char #kasen {
	text-align: center
}
#Char #reimu img, #Char #futo img, #Char #kasen img {
	max-width: 100%
}
#Char #reimu {
	width: 100%
}
#Char .CharDesc {
	width: 276px;
	margin-left: auto;
	margin-right: auto;
}
#Char #futo {
	margin-top: -90px;
	float: left;
	width: 50%
}
#Char #kasen {
	float: right;
	width: 50%
}

#Char #subChar {
	text-align: center
}
#Gallery #ScreenShot li {
	width: 24%
}
#Product #VoiceCast {
	display: inline-block;
	margin-right: -20px;
	letter-spacing: normal;
	width: 50%
}
#Product #VoiceCast li {
	min-width: 140px
}
}

footer .inner .banner img.esrb {
	height: 75px !important;
	max-height: 75px !important;
	margin-bottom: 20px;
}

@media (min-width: 840px) {
#pageTitle {
	padding: 30px 0;
	min-height: 77px;
	position: relative
}
#pageTitle>* {
	position: absolute
}
#pageTitle .pLogo {
	right: 0;
	top: 30px;
	height: 48px
}
#pageTitle .pLogo img {
	height: 100%
}
#pageTitle h1 {
	left: -20px;
	top: 30px
}
.localNav li {
	display: inline-block
}
.localNav li a {
	border-right: 1px solid #000
}
#Index #Theme {
	height: 175px
}
#Index .promobanner {
	height: 206px
}
#Index #Special {
	height: 130px
}
#Product .col {
	padding: 0 20px 0 0;
	letter-spacing: -.40em;
	vertical-align: middle
}
#Product #ProductDetail {
	display: inline-block;
	margin-right: 20px;
	letter-spacing: normal;
	width: 50%;
	vertical-align: middle
}
#Product #VoiceCast {
	display: inline-block;
	margin-right: -20px;
	letter-spacing: normal;
	width: 50%;
	vertical-align: middle
}
#Product #Banner {
	clear: both
}
}
#Special #SpecialEdition p {
	margin-bottom: 20px;
	text-align: center
}
#Special #SpecialEdition p img {
	max-width: 100%
}
#Special #ShopList>ul {
	text-align: center;
	letter-spacing: -.40em
}
#Special #ShopList>ul>li {
	margin: 0 10px 20px;
	padding-top: 20px;
	display: inline-block;
	letter-spacing: normal;
	max-width: 367px;
	vertical-align: top;
	border-top: 3px solid #CC5B77
}
#Special #ShopList>ul>li .banner, #Special #ShopList>ul>li .thumb {
	margin-bottom: 10px
}
#Special #ShopList>ul>li .banner img {
	height: 40px
}
#Special #ShopList>ul>li>ul>li {
	font-weight: bold
}

@media (max-width: 839px) {
.wrapper>footer {
	margin-top: 20px;
	border-top: 1px solid rgba(0,0,0,0.2)
}
.wrapper>footer .banner {
	margin-bottom: 10px
}
.wrapper>footer .copyright {
	margin-left: 20px;
	margin-right: 20px
	font-size: 10px;
}
.wrapper>footer .copyright2 {
	text-align: center;
}
.wrapper>footer .copyright2 p {
	opacity: .7;
	margin-top: 10px;
	font-size: 10px;
}
.mainVisual {
	display: none
}
.mobileVisual {
	display: block;
	margin-top: -50px
}
#pageTitle {
	padding: 30px 0;
	min-height: 77px
}
#pageTitle .pLogo {
	height: 48px;
	margin-bottom: 10px
}
#pageTitle .pLogo img {
	height: 100%
}
.localNav li a {
	border-bottom: 1px solid #000
}
.localNav li:last-child a {
	border-bottom: none
}
#Index #Title {
	text-align: center;
	margin-left: 20px;
	margin-right: 20px;
	margin-top: -80px;
	margin-bottom: 20px
}
#Index #Title #VitaLogo {
	max-width: 50vw
}
#Index #Title #Plogo {
	margin-bottom: 10px
}
#Index #PV {
	margin: 0 auto 20px;
	width: 320px;
	height: 180px
}
#Index #Topics {
	margin-bottom: 20px
}
#Index #Spec {
	margin-bottom: 20px
}
#Index #Theme {
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	margin-bottom: 20px
}
#Index .promobanner a {
	width: 270px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
#Index #Special {
	padding-left: 20px;
	padding-right: 20px;
	text-align: left
}

#Index #ESRB {
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	margin-top: 15px;

}

#Index #ESRB img {
	max-height: 100px;
}

#Index #PVbr {
	padding-left: 20px;
	padding-right: 20px;
	text-align: center
}
#About p {
	text-align: left
}
#Story section div p {
/*	font-size: 2vw;
	line-height: 4vw;*/
	padding: 10px 10px 100px 10px;
}
#Gallery #ScreenShot li {
	width: 48%;
	max-width: 290px
}
#Product #VoiceCast li {
	min-width: 140px
}
#Product #Banner {
	max-width: 100%
}
}
@media (max-width:1199px) {
	section#subChar {
		margin-bottom: 200px;
	}
}
@media (max-width:700px) {
	#Char .SubCharDesc {
		margin-top: 50px;
	}
}