@charset "UTF-8";
/* CSS Document */

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-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

div {
	box-sizing: border-box;
}

div, img {
	transition: .3s all ease;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.bold {
	font-weight: bold;
}

.itl {
	font-style: italic;
}




a {
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-ms-transition: all ease .3s;
	transition: all ease .3s;
	
	text-decoration: none;
	color: #fff;
	outline: none;
	cursor: pointer;
}


body {
	font-family: 'ubuntu', arial, helvetica;
	font-weight: 300;
	margin: 0;
	padding: 0;
	background: #ebf1f5;
}

.nomob {
	display: none;
}




.totop {
	background: none;
	margin: 0;
	position: fixed;
	bottom: 10px;
	right: 3%;
	width: 80px;
	z-index: 99;
	display: none;
	text-decoration: none;
	color: #fff;
	transition: all ease .3s;
	cursor: pointer;
}

.totop img {
	width: 80px;
	height: 80px;
}

.totop:hover {
	opacity: 1;
}




/* Message Overlay for Cookies */
.msgoverlay {
	width: 100%;
	height: 100%;
 	position: fixed;
	z-index: 9997;
	display: none;
	bottom: 0;
}

.btn_area {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(#041492,#0e42fc);
	z-index: 9998;
	color: #fff;
	font-size: 1em;
	font-weight: 500;
	padding: 15px 40px;
	text-align: center;
	font-family: 'ubuntu', arial, helvetica;
	box-shadow: 0 0 5px rgba(0,0,0,.5);
	line-height: 1.3em;
}

.btn_area a {
	color: #fff;
	text-decoration: underline;
}

.btn_area a:hover {
	color: #9df8ff;
}

.btn_area button {
	color: #041492;
	display: block;
	margin: 0 auto;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 3px;
	padding: 10px 20px;
	border: 0;
	z-index: 9999;
	background: linear-gradient(#9df8ff,#fff);
	cursor: pointer;
}




@keyframes bounce {
		
	0% {
		transform: translate(0,0px);
	}	
	
	100% {
		   transform: translate(0,-10px)
	}

}




header#globalheader {
	width: 100%;
	height: 50px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}

header #nswtoplogo {
	width: 80px;
	height: 80px;
	margin: 0;
	padding: 0;
	position: relative;
	top: 0;
	left: 0;
	z-index: 999;
}

header #nswtoplogo img {
	width: 100%;
}




#keyvisual-container {
	width: 100%;
	height: 700px;
	background: #ccc;
	overflow: hidden;
	position: relative;
}

#keyvisual-container h1#mainlogo-home {
	width: 320px;
	position: absolute;
	z-index: 120;
	top: 100px;
	left: 50%;
	margin: 0 0 0 -160px;
}

#keyvisual-container h1#mainlogo-home img {
	width: 100%;
	vertical-align: bottom;
}

#keyvisual-container video {
	width: 560px;
	position: relative;
	top: -50px;
	left: 50%;
	margin-left: -280px;
	transition: .3s ease all;
	z-index: 1;
}

.is-dt,
.vid-is-dt {
	display: none;
}

.pattern-overlay1,
.pattern-overlay2,
.pattern-overlay-dark {
	width: 100%;
	height: 100%;
	z-index: 10;
	position: absolute;
	background-image: url(../images/common/pattern1.png);
	background-repeat: repeat;
	background-size: 40px;
	background-position: center;
	opacity: .7;
}

.pattern-overlay2 {
	background-image: url(../images/common/pattern2.png);
	background-size: 4px;
	opacity: .5;
	z-index: 2;
}

.pattern-overlay-dark {
	background-image: none;
	background-color: #000;
	z-index: 9;
	opacity: .4;
}

#keyvisual-container .releasedate,
#keyvisual-container .orderbtn,
#keyvisual-container .trailer-container,
#keyvisual-container .esrb-top {
	position: absolute;
	z-index: 90;
	width: 220px;
	left: 50%;
	margin-left: -110px;
	top: 290px;
}

#keyvisual-container .orderbtn {
	width: 250px;
	margin-left: -125px;
	top: 340px;
	background-image: url(../images/home/orderbtn_ov.png?20210810);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center center;
}

#keyvisual-container .releasedate img,
#keyvisual-container .orderbtn img,
#keyvisual-container .trailer-container img,
#keyvisual-container .esrb-top img {
	width: 100%;
	vertical-align: bottom;
}

#keyvisual-container .orderbtn img:hover {
	opacity: 0;
}

#keyvisual-container .trailer-container,
#keyvisual-container .esrb-top {
	width: 150px;
	top: auto;
	bottom: 125px;
	margin-left: -75px;
}

#keyvisual-container .esrb-top {
	bottom: 30px;
	width: 152px;
}

#keyvisual-container .trailer-container .item {
	width: 150px;
	height: 84px;
	margin: 0;
	text-align: center;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 100%;
	border: 1px solid #fff;
	
	box-sizing: border-box;
	display: table;

	box-shadow:	-2px -2px 5px rgba(68,197,248,.3), -2px 2px 5px rgba(68,197,248,.3),
				2px -2px 5px rgba(68,197,248,.3), 2px 2px 5px rgba(68,197,248,.3);
}

#keyvisual-container .trailer-container .item:hover {
	background-size: 110%;
	transition: background-size ease .3s;
}

#keyvisual-container .trailer-container .black {
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: rgba(39, 20, 11, 0.5);
	transition: background-color .3s ease;
	display: table-cell;
	vertical-align: middle;
}

#keyvisual-container .trailer-container .black:hover {
	background-color: rgba(0, 0, 0, 0);
	transition: background-color .3s ease;
}

#keyvisual-container .trailer-container img.playbtn {
	width: 60px;
	margin: 0 auto;
}




.maintxt-dark {
	color: #000;
	line-height: 1.5em;
	font-weight: 300;
	text-shadow: 0 0 3px rgba(0,0,0,.2);
}

.maintxt-light {
	color: #fff;
	line-height: 1.5em;
	font-weight: 300;
	text-shadow: 0 0 3px rgba(0,0,0,.2);
}




.bluesection {
	width: 100%;
	background-image: url(../images/home/bg1.png);
	background-size: 1600px;
	background-repeat: no-repeat;
	background-position: right 50% bottom 0;
	box-sizing: border-box;
	padding-top: 50px;
}

.bluesection #charas3 {
	width: 70%;
	max-width: 400px;
	margin: 0 auto;
}

.bluesection #charas3 img {
	width: 100%;
}




img.ss {
	padding: 0;
	vertical-align: bottom;

	border: 1px solid #fff;
}

#story img.ss {
	box-shadow:	-3px -3px 5px rgba(0,255,255,.5), -3px 3px 5px rgba(0,255,255,.5),
				3px -3px 5px rgba(0,255,255,.5), 3px 3px 5px rgba(0,255,255,.5);
}

#features img.ss {
	box-shadow:	-3px -3px 2px rgba(0,255,255,.2), -3px 3px 2px rgba(0,255,255,.2),
				3px -3px 2px rgba(0,255,255,.2), 3px 3px 2px rgba(0,255,255,.2);
}




#story {
	background-image: url(../images/home/bg_top.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 3500px;
	overflow: hidden;
}

#features {
	overflow-x: hidden;
	position: relative;
}

#story .section-inner,
#features .section-inner {
	width: 90%;
	margin: 0 auto;
	padding: 10% 0;
	text-align: center;
}

#story h2,
#features h2,
#subpage-container h2.subtitle {
	margin: 0;
	padding: 0;
	font-family: 'industry', arial;
	font-size: 3em;
	color: #fff;
	background-image: url(../images/common/pagetitle-bg-light.png);
	background-repeat: no-repeat;
	background-size: 300px;
	background-position: center bottom;
}

#subpage-container h2.subtitle {
	font-size: 1.8em;
	text-align: center;
	background-size: 100%;
	text-transform: uppercase;
	margin-top: 20px;
}




ul#subtitle-nav {
	width: 80%;
	max-width: 600px;
	margin: 10% auto 0 auto;
	padding: 0;
	text-align: center;
}

ul#subtitle-nav li {
	width: 100%;
	margin: 10px 0 0 0;
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.1em;
	letter-spacing: 0.1em;
	text-shadow:
		rgba(0,0,0,.3) 1px 1px 3px, rgba(0,0,0,.3) -1px 1px 3px,
		rgba(0,0,0,.3) 1px -1px 3px, rgba(0,0,0,.3) -1px -1px 3px;
	transition: all ease .3;
	text-transform: uppercase;
	color: #fff;
}

ul#subtitle-nav li a {
	width: 100%;
	padding: 10px;
	display: block;
	background-color: rgba(84,116,151,.9);
	background-image: url(../images/common/stripes.png);
	background-size: 14px;
	background-repeat: repeat;
	border: 1px solid #fff;
	box-sizing: border-box;
}

ul#subtitle-nav li a:hover {
	background-color: rgba(0,0,0,.7);
	box-shadow:		-2px -2px 8px rgba(68,197,241,.5), -2px 2px 8px rgba(68,197,241,.5),
					2px -2px 8px rgba(68,197,241,.5), 2px 2px 8px rgba(68,197,241,.5);
}

ul#subtitle-nav li.on a {
	background-color: rgba(0,0,0,.7);
	box-shadow:		-2px -2px 8px rgba(68,197,241,.5), -2px 2px 8px rgba(68,197,241,.5),
					2px -2px 8px rgba(68,197,241,.5), 2px 2px 8px rgba(68,197,241,.5);
}

ul#subtitle-nav li span {
	display: none;
}










#story p {
	margin-left: auto;
	margin-right: auto;
	text-shadow:	-3px -3px 3px rgba(0, 65, 126, 0.3), -3px 3px 3px rgba(0, 65, 126, 0.3),
				3px -3px 3px rgba(0, 65, 126, 0.3), 3px 3px 3px rgba(0, 65, 126, 0.3);
}

#features p {
	margin-left: auto;
	margin-right: auto;
	margin-top: 0 !important;
}

#story .ss-container,
#features .ss-container {
	width: 100%;
	height: 150px;
	margin: 20px 0 0 0;
	padding: 0;
	position: relative;
}

#story .story-section1 .ss-container,
#features .features-section1 {
	margin-top: 50px;
}

.ss-container img {
	width: 160px;
	position: absolute;
}

#story .story-section1 .ss-container img.ss1,
#story .story-section3 .ss-container img.ss1,
#features .features-section1 .ss-container img.ss1,
#features .features-section3 .ss-container img.ss1 {
	top: 0;
	left: 50%;
	margin-left: -150px;
}

#story .story-section1 .ss-container img.ss2,
#story .story-section3 .ss-container img.ss2,
#features .features-section1 .ss-container img.ss2,
#features .features-section3 .ss-container img.ss2 {
	top: 40px;
	right: 50%;
	margin-right: -150px;
}

#story .story-section2 .ss-container img.ss1,
#features .features-section2 .ss-container img.ss1,
#features .features-section4 .ss-container img.ss1 {
	top: 0;
	right: 50%;
	margin-right: -150px;
}

#story .story-section2 .ss-container img.ss2,
#features .features-section2 .ss-container img.ss2,
#features .features-section4 .ss-container img.ss2 {
	top: 40px;
	left: 50%;
	margin-left: -150px;
}

.chara3 {
	width: 100%;
	max-width: 500px;
	margin: 10px auto 0 auto;
}

.chara3 img {
	width: 100%;
}

.chara3 .ss-card-container {
	display: none;
}




#features h2 {
	background-image: none;
	background: -webkit-linear-gradient(#2659ae, #44c5f1);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#features .sectiontitle-container {
	background-image: url(../images/common/pagetitle-bg.png);
	background-repeat: no-repeat;
	background-size: 300px;
	background-position: center bottom;
}

#features h3 {
	color: #2659ae;
	text-transform: uppercase;
	font-family: 'industry', arial;
}

.hex {
	display: none;
}




#gameinfo-container {
	width: 100%;
	margin: 0;
	background-color: #fff;
}

#gameinfo-container .gameinfo-inner {
	width: 94%;
	max-width: 700px;
	margin: 0 auto;
	padding: 50px 0;
}

#gameinfo-container .packimg {
	width: 50%;
	margin: 0 auto;
}

#gameinfo-container .packimg img {
	width: 100%;
	box-shadow:0 0 5px rgba(0,0,0, 0.5);
}

#gameinfo-container dl {
	margin-top: 20px;
	text-align: center;
	font-weight: bold;
}

#gameinfo-container dl dt {
	margin-top: 20px;
	color: #0066cc;
	text-transform: uppercase;
	font-size: 0.8em;
}

#gameinfo-container dl dd {
	color: #333;
}

#gameinfo-container .orderbtn {
	display: none;
}



#subpage-container {
	width: 100%;
	min-height: 700px;
	background-image: url(../images/common/bg1.png);
	background-repeat: no-repeat;
	background-size: 300%;
	background-position: left 40% top 0;
	transition: none;
	overflow: hidden;
}

.subpage-inner,
.subpage-inner-othercharacters {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 0 0 0;
}

.subpage-inner-othercharacters {
	max-width: 1400px;
}

#chara-container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 30px auto;
}

#chara-mainimg,
#chara-mainimg-protagonist,
.chara-mainimg-othercharacters {
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

#chara-mainimg img,
#chara-mainimg-protagonist img,
.chara-mainimg-othercharacters img {
	width: 100%;
}

.chara-mainimg-dt {
	display: none;
}

.button-container {
	position: relative;
	width: 100%;
	height: 54px;
}

.buddycard-btn {
	margin-top: 30px;
}

.button-container button,
.buddycard-btn button {
	border: none;
	background: none;
	margin: 0;
	padding: 0;
	width: 140px;
	position: absolute;
	cursor: pointer;
}

.button-container button.protagonist-male-btn,
.button-container button.buddycard-before-btn {
	left: 50%;
	margin-top: -7px;
	margin-left: -133px;
}

.button-container button.protagonist-female-btn,
.button-container button.buddycard-after-btn {
	right: 50%;
	margin-right: -133px;
}




#chara-info,
#chara-info-protagonist,
.chara-info-othercharacters {
	width: 100%;
	margin-top: -10px;
}

#chara-info-protagonist {
	margin-top: 90px;
}

#chara-intro,
#chara-intro-protagonist,
.chara-intro-othercharacters {
	width: 100%;
	background: #fff;
	display: inline-block;
	text-align: center;
	box-sizing: border-box;

	background-color: #fff;
	background:
		linear-gradient(135deg, transparent 15px, #fff 0) top left,
		linear-gradient(-45deg, transparent 15px, #fff 0) bottom right;
	background-size: 100% 50%;
	background-repeat: no-repeat;
}

#chara-intro .inner,
#chara-intro-protagonist .inner,
.chara-intro-othercharacters .inner {
	padding: 0 30px 30px 30px;
	background-image: url(../characters/images/introbox-bg.png);
	background-repeat: no-repeat;
	background-size: 200px;
	background-position: right 23px bottom 0;
}




#chara-intro #charaname,
#chara-intro-protagonist #charaname-protagonist,
.chara-intro-othercharacters .charaname-othercharacters {
	width: 100%;
	margin: -25px auto 20px auto;
}

#chara-intro-protagonist #charaname-protagonist {
	margin: -19px auto 20px auto;
}

.chara-intro-othercharacters .charaname-othercharacters {
	width: 210px;
	margin-top: -36px;
}

#chara-intro #charaname img,
#chara-intro-protagonist #charaname-protagonist img,
.chara-intro-othercharacters .charaname-othercharacters img {
	width: 100%;
}

#chara-intro p,
#chara-intro-protagonist p,
.chara-intro-othercharacters p {
	margin: 20px 0 0 0;
	padding: 0;
	font-size: 1em;
	line-height: 1.5em;
}

#chara-intro .voice,
#chara-intro-protagonist .voice {
	width: 100%;
	margin-top: 24px;
	text-align: center;
	text-transform: uppercase;
	color: #999;
	font-family: 'industry', arial, helvetica;
}

#chara-intro .voice span,
#chara-intro-protagonist .voice span {
	color: #2659ae;
	font-weight: bold;
}

#buddycard {
	width: 100%;
	margin: 50px 0 0 0;
	padding: 0;
}

#buddycard img {
	width: 100%;
}

#buddycard-details {
	width: 100%;
	max-width: 900px;
	margin: 50px auto 0 auto;
	padding: 0;
}

#buddycard-title {
	width: 100%;
	border-bottom: 1px solid #c9d5e2;
	background-image: url(../characters/images/buddycard-namebg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 60px;
}

#buddycard-details h2 {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 3px 0;
	text-align: center;
	font-family: 'industry', arial, helvetica;
}

#buddycard-details h2 img {
	width: 160px;
	vertical-align: bottom;
}

#buddycard-details h3 {
	text-align: center;
	font-family: 'industry', arial, helvetica;
	font-size: 1.4em;
	text-transform: uppercase;
	margin: 5px 0 0 0;
	padding: 20px 0;
}

#buddycard-details dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

#buddycard-details dl.details1 dt,
#buddycard-details dl.details2 dt {
	width: 20%;
	margin: 0;
	padding: 30px 0 0 0;
	font-family: 'industry', arial, helvetica;
	color: #2659ae;
}

#buddycard-details dl.details1 dd,
#buddycard-details dl.details2 dd {
	width: 80%;
	margin: 0;
	padding: 30px 0 0 0;
}

#buddycard-details dl.details2 dt,
#buddycard-details dl.details2 dd {
	width: 100%;
}

#buddycard-details dl.details2 dd {
	padding-top: 5px;
}

#buddycard-details span {
	font-weight: bold;
}




#character-index {
	width: 100%;
	margin-top: 140px;
	background: #587894;
	display: inline-block;
}

#character-index ul {
	width: 90%;
	max-width: 900px;
	margin: -30px auto 0 auto;
	text-align: center;
}

#character-index ul li {
	display: inline-block;
	position: relative;
	margin: 0 24px 45px 24px;
}

#character-index ul li .box,
#character-index ul li.othercharacters .box {
	width: 90px;
	height: 113px;
	background-image: url(../characters/images/indexbg.jpg);
	background-repeat: repeat-x;
	background-size: auto 100%;
	transform: skew(-30deg, 0);
	z-index: 1;
	top: 0;
	left: 0;
}

#character-index ul li:hover .box,
#character-index ul li.othercharacters:hover .box {
	background-image: none;
	background-color: #fff;
}


#character-index ul li.on .box {
	background-image: none;
	background-color: #fff;
	box-shadow:		-4px -4px 5px rgba(157,248,255,.4), -4px 4px 5px rgba(157,248,255,.4),
					4px -4px 5px rgba(157,248,255,.4), 4px 4px 5px rgba(157,248,255,.4);
}

#character-index ul li img,
#character-index ul li.othercharacters img {
	width: 156px;
	left: 50%;
	margin-left: -78px;
	bottom: 0;
	z-index: 5;
	position: absolute;
}

#character-index ul li.othercharacters .box {
	width: 228px;
}

#character-index ul li.othercharacters img {
	width: 292px;
	height: 149px;
	margin-left: -146px;
}

#change-image-dt {
	display: none;
}



#othercharacters-container {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
}

#othercharacters-container ul {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

#othercharacters-container ul li.item {
	width: 100%;
	padding: 0;
	display: inline-block;
	vertical-align: top;
}

.kobayashi { margin-top: 0; }
.makise { margin-top: -5px; }
.takumakibakura { margin-top: 5px }
.mai { margin-top: -1px }
.ai { margin-top: -4px }
.seiyakibakura { margin-top: 12px }
.marceltabeoka { margin-top: 8px }
.miyabizaizenji { margin-top: 3px }
.shirokiriyama { margin-top: 0; }
.zuoonizuka { margin-top: -15px }
.kohebigami { margin-top: -8px }
.vivianjustine { margin-top: 7px }
.vanessajustine { margin-top: 7px }
.shigefumiryugasaki { margin-top: -13px }
.shioriyonazuki { margin-top: -65px }
.leonaurenche { margin-top: 28px; }
.margueritevalois { margin-top: 0; }




#system-container {
	width: 100%;
	margin: 0 auto;
}




#products-container {
	margin-bottom: 10%;
}

#products-container .products-contents {
	width: 100%;
	margin-top: 25%;
	display: inline-block;
	box-sizing: border-box;
	background-color: #fff;
	background:
		linear-gradient(135deg, transparent 15px, #fff 0) top left,
		linear-gradient(-45deg, transparent 15px, #fff 0) bottom right;
	background-size: 100% 50%;
	background-repeat: no-repeat;
}

#products-container .products-contents .inner {
	padding: 30px 30px 60px 30px;
	background-image: url(../characters/images/introbox-bg.png);
	background-repeat: no-repeat;
	background-size: 200px;
	background-position: right 23px bottom 0;
	box-sizing: border-box;
}

#products-container p {
	margin: 40px 0;
}

#products-container a {
	color: #2659ae;
	text-decoration: underline;
}

#products-container a:hover {
	color: #333;
}

#products-container h3 {
	text-align: center;
	margin-top: -47px;
}

#products-container h3 img {
	width: 220px;
}

#products-container .productimg img {
	width: 100%;
	border: 2px solid #9df8ff;
}

#products-container .comingsoon {
	text-align: center;
	padding: 100px 50px;
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.2em;
}

#products-container h4 {
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.3em;
	color: #2659ae;
	text-align: center;
}

#products-container h4 br {
	display: none;
}

#products-container h4.countryname {
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.6em;
	color: #fff;
	margin: 5% 0 0 0;
	padding: 5px 0 0 0;
	vertical-align: base;
	text-align: center;
	background-color: rgba(38,89,174,.5);
	background-image: url(../products/images/countryname-bg.png);
	background-size: 80px;
	background-repeat: no-repeat;
	background-position: bottom right;
	text-transform: uppercase;
	border: 3px solid #2659ae;
	box-sizing: border-box;
}

#products-container h5 {
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.3em;
	color: #000;
	margin-bottom: 0;
}

#products-container #dlc-img-container h6 {
	text-align: center;
	font-family: 'ubuntu', arial;
	font-size: 1.3em;
	color: #000;
	margin: 10px 0;
}

#products-container .retailers {
	margin-top: 40px;
}

#products-container .retailers ul {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
	margin-top: 10px;
}

#products-container .retailers ul li {
	width: 48%;
	margin: 1%;
	display: inline-block;
}

#products-container .retailers ul li img {
	width: 100%;
	box-shadow: 0 0 3px rgba(0,0,0,.3);
}

#products-container .retailers ul li a:hover img {
	width: 100%;
	box-shadow: 0 0 8px rgba(68,197,241,1.0);
}





#bonus {
	text-align: center;
}

ul.bonus-contents {
	margin-top: 10px;
}

ul.bonus-contents li {
	padding: 10px 0;
}

.validuntil,
.validuntil-phy {
	text-align: center;
}

.validuntil p,
.validuntil-phy p {
	border: 2px solid #ff6600;
	color: #ff6600;
	font-weight: bold;
	font-size: 1.3em;
	padding: 10px;
	display: inline-block;
}

.validuntil-phy p {
	margin: 0 !important;
}

#howtoredeem {
	margin-top: 50px;
}

#howtoredeem h6 {
	font-family: 'industry', 'ubuntu', arial;
	color: #2659ae;
	font-size: 1.5em;
	text-transform: uppercase;
}

#howtoredeem-steps {
	text-align: left;
}

#howtoredeem .notes p {
	font-family: 'industry', 'ubuntu', arial;
	color: #2659ae;
	font-size: 1.5em;
	text-transform: uppercase;
	margin-bottom: 0;
}

#howtoredeem .notes ul {
	list-style: disc;
	padding-left: 20px;
}

#howtoredeem .notes ul li {
	padding: 10px 0;
}




#dlc-img-container {
	width: 102%;
	margin: 50px 0 0 -2%;
	padding-top: 50px;
	border-top: 1px solid #ccc;
}

#dlc-img-container h5 {
	text-align: center;
	margin-top: 0;
}

#dlc-img-container div.dlc-img1 {
	margin-bottom: 50px;
}

#dlc-img-container img {
	width: 48%;
	margin: 2% 0 0 2%;
	float: left;
	display: inline;
}





footer {
	background: linear-gradient(#2659ae, #44c5f1);
	color: #fff;
	font-family: 'ubuntu', arial, helvetica;
	text-align: center;
	font-size: 0.9em;
	position: relative;
}

footer .pattern-overlay1 {
	opacity: .5;
}

footer .footer-inner {
	padding: 50px 20px 80px 20px;
	position: relative;
	z-index: 90;
}

footer #footer-logos-container ul {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}

footer #footer-logos-container ul li {
	display: inline-block;
	margin: 0 2%;
}

footer #footer-logos-container ul li img {
	width: 80%;
}

footer #footer-logos-container ul li.cygames {
	width: 46%;
}

footer #footer-logos-container ul li.nsw {
	width: 46%;
}

footer #footer-logos-container ul li.xseed {
	width: 46%;
}

footer #footer-logos-container ul li.marvelous {
	width: 46%;
}

footer #footer-logos-container ul li.marvelous img {
	width: 65%;
}

footer ul#footer-logos-ratings {
	max-width: 1000px;
	margin-top: 40px;
	text-align: center;
}


footer ul#footer-logos-ratings li {
	width: 100%;
	border: 1px solid rgba(255,255,255,1);
	background: rgba(255,255,255,.3);

	margin: 2% 0 0 0;
	display: inline-block;
	box-sizing: border-box;
	padding: 10px 0;
}

footer ul#footer-logos-ratings li p {
	margin: 10px 0;
}

footer ul#footer-logos-ratings li.esrb img {
	width: 90%;
	max-width: 200px;
}

footer ul#footer-logos-ratings li.pegi,
footer ul#footer-logos-ratings li.usk {
	width: 49%;
}

footer ul#footer-logos-ratings li.usk {
	margin-left: 2%;
}

footer ul#footer-logos-ratings li.pegi img {
	width: 107px;
	height: 130px;
	max-width: 100%;
}

footer ul#footer-logos-ratings li.usk img,
footer ul#footer-logos-ratings li.acb_pg img {
	width: 130px;
	height: 130px;
}

footer #copyright {
	position: relative;
	z-index: 99;
	margin-top: 50px;
}

footer #footer-support {
	margin: 0 auto 50px auto;
	text-align: center;
}

footer #footer-support a {
	width: 200px;
	height: 40px;
	line-height: 40px;
	background: #fff;
	display: inline-block;
	color: #041492;
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.3em;
	text-transform: uppercase;
	box-shadow: 0 0 4px rgba(0,0,0,.5);
	box-sizing: border-box;
}

footer #footer-support a:hover {
	background: rgba(255,255,255,.4);
	display: inline-block;
	color: #9df8ff;
	font-family: 'industry', 'ubuntu', arial;
	font-size: 1.3em;
	text-transform: uppercase;
	border: 1px solid #fff;
	box-shadow:		-2px -2px 8px rgba(157,248,255,.5), -2px 2px 8px rgba(157,248,255,.5),
					2px -2px 8px rgba(157,248,255,.5), 2px 2px 8px rgba(157,248,255,.5);
}








@media screen and (max-height: 450px) {

	.msgoverlay { overflow-y: auto; }
	.msgoverlay a { font-size: 20px }
	.msgoverlay .closebtn {
		font-size: 40px;
		top: 15px;
		right: 35px;
	}

}




@media screen and (min-width: 400px) {

	#chara-intro #charaname,
	#chara-intro-protagonist #charaname-protagonist {
		width: 300px;
		margin-top: -31px;
	}
	
	#chara-intro-protagonist #charaname-protagonist {
		margin-top: -23px;
	}




	#subpage-container h2.subtitle {
		background-size: 300px;
	}

}




@media screen and (min-width: 500px) {
	
	#keyvisual-container {
		height: 700px;
	}

	#keyvisual-container video {
		width: 600px;
		margin-left: -300px;
		top: -100px;
	}

	#keyvisual-container h1#mainlogo-home {
		width: 400px;
		margin-left: -200px;
	}

	#keyvisual-container .releasedate {
		width: 240px;
		margin-left: -110px;
		top: 320px;
	}
	
	#keyvisual-container .orderbtn {
		width: 250px;
		margin-left: -125px;
		top: 360px;
	}




	#gameinfo-container .gameinfo-inner {
		padding: 80px 0;
	}

	#gameinfo-container .packimg {
		width: 35%;
		margin: 0;
		float: left;
	}
	
	#gameinfo-container .packimg img {
		width: 100%;
		box-shadow:0 0 5px rgba(0,0,0, 0.5);
	}

	#gameinfo-container .gamedetails {
		width: 60%;
		margin: 0 0 0 5%;
		float: left;
		display: inline;
	}

	#gameinfo-container .gamedetails-inner {
		width: 100%;
		display: table;
		position: relative;
	}

	#gameinfo-container .tb-cell {
		display: table-cell;
		vertical-align: middle;
	}

	#gameinfo-container dl {
		margin-top: 0;
		text-align: center;
		font-weight: bold;
		border-top: 1px solid #ccc;
	}

	#gameinfo-container dl.dllast {
		border-bottom: 1px solid #ccc;
	}
	
	#gameinfo-container dl dt {
		margin-top: 10px;
		color: #0066cc;
		text-transform: uppercase;
		font-size: 0.8em;
		text-align: left;
	}
	
	#gameinfo-container dl dd {
		color: #333;
		text-align: left;
		margin-bottom: 10px;
	}

	.buddycard-btn button {
		width: 200px !important;
	}
	
	.button-container button.buddycard-before-btn {
		left: 50%;
		margin-top: -10px;
		margin-left: -190px;
	}
	
	.button-container button.buddycard-after-btn {
		right: 50%;
		margin-right: -190px;
	}

	#buddycard-title {
		padding-bottom: 5px;
	}

	#buddycard-details {
		margin: 80px auto 0 auto;
	}

	#buddycard-details h2 {
		width: 160px;
		margin: 0;
		padding: 0;
		float: left;
		display: inline;
	}
	
	#buddycard-details h3 {
		height: 30px;
		line-height: 36px;
		float: left;
		display: inline;
		margin: 0;
		padding: 0 0 0 30px;
		vertical-align: bottom;
	}


	
	.chara-intro-othercharacters .charaname-othercharacters {
		width: 260px;
		margin-top: -44px;
	}




	#dlc-img-container img {
		width: 31.3%;
	}




	footer #footer-logos-container ul li.cygames img,
	footer #footer-logos-container ul li.nsw img,
	footer #footer-logos-container ul li.xseed img,
	footer #footer-logos-container ul li.marvelous img {
		width: 90%;
		vertical-align: middle;
	}

	footer #footer-logos-container ul li.cygames {
		width: 27%;
	}
	
	footer #footer-logos-container ul li.nsw {
		width: 22%;
	}
	
	footer #footer-logos-container ul li.xseed {
		width: 20%;
	}
	
	footer #footer-logos-container ul li.marvelous {
		width: 15%;
	}

}




@media screen and (min-width: 600px) {
	
	#keyvisual-container video {
		width: 700px;
		margin-left: -350px;
		top: -100px;
	}



	#story .ss-container,
	#features .ss-container {
		width: 100%;
		height: 210px;
		margin: 50px 0 0 0;
	}

	.ss-container img {
		width: 240px;
	}

	#story .story-section1 .ss-container img.ss1,
	#story .story-section3 .ss-container img.ss1,
	#features .features-section1 .ss-container img.ss1,
	#features .features-section3 .ss-container img.ss1 {
		margin-left: -220px;
	}

	#story .story-section1 .ss-container img.ss2,
	#story .story-section3 .ss-container img.ss2,
	#features .features-section1 .ss-container img.ss2,
	#features .features-section3 .ss-container img.ss2 {
		top: 40px;
		margin-right: -220px;
	 }

	#story .story-section2 .ss-container img.ss1,
	#features .features-section2 .ss-container img.ss1,
	#features .features-section4 .ss-container img.ss1 {
		margin-right: -220px;
	}

	#story .story-section2 .ss-container img.ss2,
	#features .features-section2 .ss-container img.ss2,
	#features .features-section4 .ss-container img.ss2 {
		top: 40px;
		margin-left: -220px;
	}

	.chara3 {
		margin-top: 40px;
	}
	
	#subpage-container {
		background-size: 1500px;
		background-position: left 40% top 0;
	}
	
	#chara-intro #charaname,
	#chara-intro-protagonist #charaname-protagonist {
		width: 400px;
		margin-top: -42px;
	}
	
	#chara-intro-protagonist #charaname-protagonist {
		width: 300px;
		margin-top: -23px;
	}

	#subpage-container h2.subtitle {
		font-size: 3em;
	}




	#products-container .products-contents {
		margin-top: 100px;
	}
	
	#products-container .products-contents .inner {
		padding-bottom: 100px;
		background-size: 280px;
	}
	
	#products-container h3 {
		text-align: center;
		margin-top: -61px;
	}
	
	#products-container h3 img {
		width: 400px;
	}
	
	#products-container .productimg img {
		width: 100%;
		border: 2px solid #9df8ff;
	}
	
	#products-container .comingsoon {
		text-align: center;
		padding: 100px 50px;
		font-family: 'industry', 'ubuntu', arial;
		font-size: 1.2em;
	}

	#products-container .retailers ul li {
		width: 31.3%;
	}



}




@media screen and (min-width: 640px) {

	#subpage-container h2.subtitle {
		margin-top: 5%;
	}

	#products-container h4 br {
		display: inline;
	}
	
	footer ul#footer-logos-ratings li.pegi,
	footer ul#footer-logos-ratings li.usk,
	footer ul#footer-logos-ratings li.acb_pg {
		width: 32%;
		margin-left: 0;
	}

	footer ul#footer-logos-ratings li.usk,
	footer ul#footer-logos-ratings li.acb_pg {
		margin-left: 2% !important;
	}

}




@media screen and (min-width: 700px) {
	
	#keyvisual-container {
		min-height: 700px;
	}

	#keyvisual-container video {
		width: 1300px;
		margin-left: -650px;
		top: 0;
	}

	.vid-is-mobile {
		display: none;
	}

	.vid-is-dt {
		display: block;
	}

	.pattern-overlay1 {
		background-size: 60px;
	}
	
	.pattern-overlay2 {
		background-size: 8px;
	}

	#keyvisual-container h1#mainlogo-home {
		width: 500px;
		margin-left: -250px;
		top: 80px;
	}

	#keyvisual-container .releasedate {
		width: 250px;
		margin-left: -125px;
		top: 350px;
	}
	
	#keyvisual-container .orderbtn {
		width: 300px;
		margin-left: -150px;
		top: 365px;
	}

	#gameinfo-container .packimg {
		width: 30%;
		margin: 0;
		float: left;
	}
	
	#gameinfo-container .packimg img {
		width: 100%;
		box-shadow:0 0 5px rgba(0,0,0, 0.5);
	}

	#gameinfo-container .gamedetails {
		width: 65%;
		margin: 0 0 0 5%;
		float: left;
		display: inline;
	}

	#gameinfo-container dl {
		display: flex;
		flex-wrap: wrap;
	}

	#gameinfo-container dl.dllast {
		border-bottom: 1px solid #ccc;
	}
	
	#gameinfo-container dl dt,
	#gameinfo-container dl dd {
		margin: 15px 0;
		font-size: 0.8em;
	}

	#gameinfo-container dl dt {
		width: 30%;
	}
	
	#gameinfo-container dl dd {
		padding-left: 30px;
	}

	#gameinfo-container .orderbtn {
		display: block;
		width: 200px !important;
		margin-top: 20px;
		float: right;
		background-image: url(../images/home/orderbtn_ov.png);
		background-size: 200px;
		background-repeat: no-repeat;
		background-position: center center;
	}
	
	#gameinfo-container .orderbtn img {
		width: 100%;
		vertical-align: bottom;
	}
	
	#gameinfo-container .orderbtn img:hover {
		opacity: 0;
	}




	ul#subtitle-nav li {
		width: 48%;
		margin: 0 1%;
		display: inline-block;
	}




	#chara-mainimg,
	#chara-mainimg-protagonist {
		width: 40%;
		margin-top: -50px;
		margin-left: 5%;
		float: left;
		display: inline;
	}

	#chara-mainimg-protagonist {
		margin-top: 0;
	}

	.chara-mainimg-mob {
		display: none;
	}

	.chara-mainimg-dt {
		display: inline;
	}
	
	#chara-info,
	#chara-info-protagonist {
		width: 50%;
		margin: 40px 5% 0 0;
		padding: 0;
		float: left;
		display: inline;
	}

	.chara-smpl {
		margin-top: 130px !important;
	}

	#chara-info-protagonist {
		width: 45%;
		margin-left: 5%;
		margin-top: 120px;
	}

	#chara-intro p,
	#chara-intro-protagonist p {
		font-weight: normal;
		line-height: 1.4em;
		text-align: left;
	}
	
	#chara-intro .voice {
		text-align: right;
		margin-top: 24px;
	}
	
	#chara-intro-protagonist .voice {
		text-align: left;
		margin-top: 24px;
	}

	#chara-intro #charaname,
	#chara-intro-protagonist #charaname-protagonist {
		width: 270px;
		margin: -28px 0 0 -45px;
	}

	#chara-intro-protagonist #charaname-protagonist {
		margin-top: -21px;
	}
	
	.chara-intro-othercharacters .charaname-othercharacters {
		width: 190px;
		margin-top: -32px;
	}

	#change-image-dt {
		display: inline;
	}

	#change-image-mob {
		display: none;
	}

	.buddycard-btn button {
		width: 140px !important;
	}

	.button-container button.buddycard-before-btn {
		left: 50%;
		margin-top: -7px;
		margin-left: -133px;
	}

	.button-container button.buddycard-after-btn {
		right: 50%;
		margin-right: -133px;
	}

	#othercharacters-container ul li.item {
		width: 48%;
		margin: 0 1%;
	}

	#bonus {
		width: 90%;
		margin: 5% auto;
	}




	#products-container h4.countryname {
		text-align: left;
		padding-left: 1%;
	}

	#products-container .retailers ul {
		text-align: left;
		margin-top: 20px;
	}

	#products-container .retailers ul li {
		width: 18%;
	}

}




@media screen and (min-width: 780px) {
	
	#keyvisual-container {
		height: 800px;
	}

	#keyvisual-container video {
		width: 1440px;
		margin-left: -720px;
	}

	.bouncing1,
	.bouncing2,
	.bouncing3,
	.bouncing4 {
		animation-name: bounce;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-direction: alternate;
		animation-duration: 6s;
	}
	
	.bouncing2 {
		animation-duration: 3s;
	}
	
	.bouncing3 {
		animation-duration: 2s;
	
	}
	
	.bouncing4 {
		animation-duration: 4s;
	}
	
	#story {
		background-size: 3200px;
	}

	#features h3 {
		text-align: left;
	}




	#story .story-section,
	#features .features-section {
		margin: 0 auto;
	}
	
	#story .story-section3 {
		margin-top: 40px;
	}

	#story .ss-container,
	#features .ss-container {
		width: 40%;
		height: 180px;
		margin: 0;
		display: inline;
	}

	#story .story-section1 .ss-container,
	#story .story-section3 .ss-container,
	#features .features-section1 .ss-container,
	#features .features-section3 .ss-container {
		float: right;
		margin-top: 40px;
	}

	#story .txt-container,
	#features .txt-container {
		width: 55%;
		float: left;
		text-align: left;
		margin-top: 55px;
		margin-right: 5%;
		font-size: 1.2em;
		line-height: 1.5em;
		display: inline;
	}

	#features .txt-container {
		text-shadow:	-2px -2px 2px rgba(235,241,245,.8), -2px 2px 2px rgba(235,241,245,.8),
						2px -2px 2px rgba(235,241,245,.8), 2px 2px 2px rgba(235,241,245,.8);
	}

	#features .features-section2 {
		height: 340px;
	}

	#story .story-section2 .ss-container,
	#features .features-section2 .ss-container,
	#features .features-section4 .ss-container {
		float: left;
		margin-top: 70px;
	}

	#story .story-section1 .ss-container img,
	#story .story-section3 .ss-container img,
	#features .features-section1 .ss-container img,
	#features .features-section3 .ss-container img {
		width: 70%;
	}

	#story .story-section1 .ss-container img.ss1,
	#story .story-section3 .ss-container img.ss1,
	#features .features-section1 .ss-container img.ss1,
	#features .features-section3 .ss-container img.ss1 {
		left: 0;
		margin-left: 0;
	}

	#story .story-section1 .ss-container img.ss2,
	#story .story-section3 .ss-container img.ss2,
	#features .features-section1 .ss-container img.ss2,
	#features .features-section3 .ss-container img.ss2 {
		top: 50%;
		right: 0;
		margin-right: 0;
	}

	#story .story-section2 .ss-container img.ss1,
	#features .features-section2 .ss-container img.ss1,
	#features .features-section4 .ss-container img.ss1 {
		left: auto;
		right: 0;
		margin-left: auto;
		margin-right: 0;
	}

	#story .story-section2 .ss-container img.ss2,
	#features .features-section2 .ss-container img.ss2,
	#features .features-section4 .ss-container img.ss2 {
		top: 110px;
		left: 0;
		right: auto;
		margin-left: 0;
		margin-right: auto;
	}
	
	#story .story-section2 .txt-container,
	#features .features-section2 .txt-container,
	#features .features-section4 .txt-container {
		float: right;
		margin-right: 0;
		margin-left: 5%;
	}

	.chara3 {
		position: relative;
	}

	.chara3 .ss-card-container {
		display: inline;
		position: absolute;
		z-index: 10;
		width: 100%;
	}

	.chara3 .ss-card-container .card,
	.chara3 .ss-card-container .ss {
		width: 120px;
		position: absolute;
		left: 50%;
		margin-left: -80px;
	}

	.chara3 .ss-card-container .card1 {
		top: 10px;
		margin-left: -350px;
	}

	.chara3 .ss-card-container .card2 {
		top: 80px;
		left: auto;
		right: 50%;
		margin-right: -350px;
	}

	.chara3 .ss-card-container .card3 {
		width: 140px;
		top: 300px;
		margin-left: -330px;
	}

	.chara3 .ss-card-container .ss1 {
		width: 110px;
		top: 140px;
		margin-left: -370px;
	}

	.chara3 .ss-card-container .ss2 {
		width: 180px;
		top: 350px;
		left: auto;
		margin-left: auto;
		right: 50%;
		margin-right: -420px;
	}




	#buddycard-details dl.details1 {
		width: 35%;
		float: left;
	}

	#buddycard-details dl.details1 dt {
		width: 70px;
	}

	#buddycard-details dl.details1 dd {
		width: calc(100% - 70px);
	}

	#buddycard-details dl.details2 {
		width: 65%;
		float: left;
	}
	
	#buddycard-details dl.details2 dt {
		width: 150px;
	}

	#buddycard-details dl.details2 dd {
		width: calc(100% - 150px);
		padding-top: 30px;
	}

	.chara-smpl {
		margin-top: 170px !important;
	}
	
	ul#subtitle-nav {
		margin: 8% auto 0 auto;
	}

	#dlc-img-container h5 {
		font-size: 1.6em;
	}



	
	footer .footer-inner {
		padding: 50px 20px;
	}

	footer ul#footer-logos-ratings {
		margin-top: 50px;
	}

	footer ul#footer-logos-ratings li {
		margin: 0;
	}

	footer ul#footer-logos-ratings li.pegi,
	footer ul#footer-logos-ratings li.usk,
	footer ul#footer-logos-ratings li.acb_pg {
		margin-top: 2%;
	}

}




@media screen and (min-width: 850px) {

	.features-section2 .txt-container {
		width: 54% !important;
	}




	ul.bonus-contents li {
		width: calc(50% - 4px);
		margin: 2px;
		display: inline-block;
		padding: 14px 0;
		box-sizing: border-box;
		border: 1px solid #2659ae;
		color: #2659ae;
		font-weight: bold;
	}



	
	#products-container #retailers-container,
	#products-container #retailers-container-digital {
		width: 103%;
		margin: -3% 0 0 -3%;
	}

	#products-container .retailers {
		width: 47%;
		margin: 5% 0 0 3%;
		float: left;
		display: inline;
	}

	#products-container .retailers ul li {
		width: 31.3%;
	}

}




@media screen and (min-width: 900px) {

	.is-dt {
		display: inline;
	}

	.is-mobile {
		display: none;
	}

	#keyvisual-container .orderbtn {
		top: 450px;
	}
	
	#keyvisual-container .trailer-container {
		width: 240px;
		height: 136px;
		margin-left: -120px;
		bottom: 20px;
	}

	#keyvisual-container .trailer-container .item {
		width: 240px;
		height: 136px;
	}
	
	#keyvisual-container .esrb-top {
		width: 191px;
		height: 113px;
		margin-left: auto;
		margin-right: auto;
		left: auto;
		right: 20px;
		bottom: 20px;
	}

	#story .story-section2 {
		margin-top: 70px;
	}
	
	#story .story-section3 {
		margin-top: 40px;
	}



	#buddycard-details dl.details1 {
		width: 30%;
		float: left;
	}

	#buddycard-details dl.details2 {
		width: 70%;
		float: left;
	}




	.chara-intro-othercharacters .charaname-othercharacters {
		width: 210px;
		margin-top: -36px;
	}




	#products-container h4 {
		font-size: 1.5em;
	}




	footer ul#footer-logos-ratings li.esrb {
		width: 28%;
	}

	footer ul#footer-logos-ratings li.pegi,
	footer ul#footer-logos-ratings li.usk,
	footer ul#footer-logos-ratings li.acb_pg {
		margin: 0 0 0 1% !important;
		width: 23%;
	}

	footer ul#footer-logos-ratings li.esrb img {
		width: 203px;
		max-width: 203px;
		height: 120px;
	}

	footer ul#footer-logos-ratings li.pegi img,
	footer ul#footer-logos-ratings li.usk img,
	footer ul#footer-logos-ratings li.acb_pg img {
		height: 120px;
	}

}




@media screen and (min-width: 1000px) {

	#keyvisual-container .orderbtn {
		width: 350px;
		margin-left: -175px;
	}

	#keyvisual-container .trailer-container {
		width: 200px;
		height: 112px;
		left: auto;
		margin-left: auto;
		right: 20px;
		bottom: 21px;
	}

	#keyvisual-container .trailer-container .item {
		width: 200px;
		height: 111px;
	}

	#keyvisual-container .esrb-top {
		right: auto;
		left: 20px;
	}
	
	#keyvisual-container video {
		width: 145%;
		margin-left: -72.5%;
	}

	#keyvisual-container h1#mainlogo-home {
		width: 700px;
		margin-left: -350px;
		top: 100px;
	}

	#keyvisual-container .releasedate {
		top: 480px;
	}
	
	#keyvisual-container .orderbtn {
		top: 550px;
	}




	#story .section-inner {
		padding: 10% 0 0 0;
	}

	#features .section-inner {
		width: 90%;
		margin: 0 auto;
		padding: 10% 0;
		text-align: center;
	}



	
	#features-hex {
		width: 100%;
		z-index: 0;
		position: absolute;
	}

	.hex {
		overflow: hidden;
		opacity: 50%;
		display: block;
		position: absolute;
	}

	.hex1 {
		width: 400px;
		top: 10px;
		right: 50%;
		margin-right: -550px;
	}

	.hex2 {
		width: 500px;
		top: 900px;
		left: 50%;
		margin-left: -730px;
	}

	.hex3 {
		width: 120px;
		top: 260px;
		left: 50%;
		margin-left: -120px;
	}

	.hex4 {
		width: 70px;
		top: 600px;
		right: 50%;
		margin-right: -340px;
	}

	.hex5 {
		width: 120px;
		top: 1400px;
		right: 50%;
		margin-right: -370px;
	}

	.hex::before {
		display: block;
		padding-top: 86.602540378%; /* 2√3 / 4 x 100 */
		padding-top: 115.47%;
		content: '';
	}

	.hex_inner1 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		transform: rotate(60deg);
	}

	.hex_inner2 {
		width: 100%;
		height: 100%;
		overflow: hidden;
		transform: rotate(60deg);
	}

	.hex_inner3 {
		width: 100%;
		height: 100%;
		transform: rotate(-120deg);
	}

	.homehex1,
	.homehex2,
	.homehex3,
	.homehex4,
	.homehex5 {
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.homehex1 {
		background-image: url(../images/home/ss-hex/001.jpg);
	}

	.homehex2 {
		background-image: url(../images/home/ss-hex/006.jpg);
	}

	.homehex3,
	.homehex5 {
		background: none;
		background-color: #0066cc;
		opacity: .2;
	}

	.homehex4 {
		background: none;
		background-color: #fff;
	}

	.homehex5 {
		opacity: .4;
	}




	/* #story .section-inner,
	#features .section-inner {
		padding: 8% 0;
	} */

	#story h2,
	#features h2 {
		font-size: 6em;
		text-align: left;
		max-width: 900px;
		margin: 0 auto;
		background-size: 500px;
		background-position: left 10% bottom 10%;
	}

	#features .sectiontitle-container {
		max-width: 900px;
		margin: 0 auto;
		background-size: 500px;
		background-position: left 10% bottom 10%;
	}

	#story .story-section,
	#features .features-section {
		top: 50px;
		height: auto;
		position: relative;
	}

	#story .story-section1 {
		height: 250px !important;
	}
	
	#features .features-section1 {
		height: 340px !important;
	}

	#story .story-section2 {  
		height: 320px !important;
	}

	#features .features-section2 {
		height: 270px !important;
	}

	#story .story-section3 {
		margin-top: 50px;
		height: 270px !important;
	}

	#features .features-section3 {
		height: 340px !important;
	}

	#features .features-section4 {
		height: 300px !important;
	}

	#story .story-section .ss-container,
	#story .story-section .txt-container,
	#features .features-section .ss-container,
	#features .features-section .txt-container {
		margin: 0;
		float: none;
		top: 0;
		left: auto;
		right: auto;
		position: absolute;
	}

	#story .story-section1 .txt-container,
	#story .story-section3 .txt-container,
	#features .features-section1 .txt-container,
	#features .features-section3 .txt-container {
		width: 500px !important;
		margin: 0 0 0 -400px !important;
		left: 50% !important;
		top: 30px !important;
	}

	#story .story-section2 .txt-container,
	#features .features-section2 .txt-container,
	#features .features-section4 .txt-container {
		width: 500px !important;
		margin: 0 -400px 0 0 !important;
		right: 50% !important;
		top: 0 !important;
	}

	#story .story-section1 .ss-container,
	#story .story-section3 .ss-container,
	#features .features-section1 .ss-container,
	#features .features-section3 .ss-container {
		width: 350px;
		margin: 0 -470px 0 0;
		right: 50%;
		top: -10px;
	}

	#story .story-section2 .ss-container,
	#features .features-section2 .ss-container,
	#features .features-section4 .ss-container {
		width: 310px;
		margin: 0 0 0 -470px;
		left: 50%;
		top: -30px;
	}

	#features .features-section2 .txt-container {
		width: 480px !important;
	}

	.chara3 {
		margin: 100px auto 0 auto;
		position: relative;
	}

	.chara3 .ss-card-container .card,
	.chara3 .ss-card-container .ss {
		width: 160px;
		margin-left: -80px;
	}

	.chara3 .ss-card-container .card1 {
		top: 10px;
		margin-left: -400px;
	}

	.chara3 .ss-card-container .card2 {
		width: 200px;
		top: 80px;
		left: auto;
		right: 50%;
		margin-right: -500px;
	}

	.chara3 .ss-card-container .card3 {
		width: 140px;
		top: 300px;
		margin-left: -370px;
	}

	.chara3 .ss-card-container .ss1 {
		width: 130px;
		top: 240px;
		margin-left: -480px;
	}

	.chara3 .ss-card-container .ss2 {
		width: 180px;
		top: 350px;
		left: auto;
		margin-left: auto;
		right: 50%;
		margin-right: -420px;
	}

	#chara-info {
		margin-top: 90px;
	}

	#chara-intro p,
	#chara-intro-protagonist p {
		font-size: 1.3em;
	}

	#chara-intro #charaname,
	#chara-intro-protagonist #charaname-protagonist {
		width: 400px;
		margin-top: -42px;
		margin-left: -80px;
	}

	#chara-intro-protagonist #charaname-protagonist {
		margin-top: -31px;
	}

	#buddycard-details {
		margin-top: 0;
	}

	#othercharacters-container ul li.item {
		width: 31.3%;
		margin-top: 0;
	}

	.makise { margin-top: 100px !important; }

	#othercharacters-container ul li:nth-child(4),
	#othercharacters-container ul li:nth-child(6),
	#othercharacters-container ul li:nth-child(7),
	#othercharacters-container ul li:nth-child(9),
	#othercharacters-container ul li:nth-child(10),
	#othercharacters-container ul li:nth-child(12),
	#othercharacters-container ul li:nth-child(13),
	#othercharacters-container ul li:nth-child(15),
	#othercharacters-container ul li:nth-child(16),
	#othercharacters-container ul li:nth-child(17) {
		margin-top: -100px !important;
	}

	.leonaurenche { margin-right: 17.7% !important; }
	.margueritevalois { margin-left: 17.7% !important; }




	#products-container h4 {
		font-size: 1.7em;
	}

	#products-container h4.countryname {
		background-color: #fff;
		border: 0;
		border-bottom: solid 3px #2659ae;
		color: #2659ae;
	}
	
	#products-container .retailers {
		width: 30.3%;
	}

	#products-container #retailers-container-digital .retailers {
		width: 47%;
	}

	#products-container .retailers ul li {
		width: 31.3%;
	}

	#dlc-img-container img {
		width: 23%;
	}

	.validuntil-phy p {
		margin: 0 0 50px 0 !important;
	}

}




@media screen and (min-width: 1200px) {

	.btn_area {
		height: 25%;
		font-size: 1.3em;
	}
	
	#keyvisual-container video {
		width: 120%;
		margin-left: -60%;
	}
	



	.chara3 .ss-card-container .card1 {
		margin-left: -500px;
	}

	.chara3 .ss-card-container .card2 {
		margin-right: -500px;
	}

	.chara3 .ss-card-container .card3 {
		margin-left: -370px;
	}

	.chara3 .ss-card-container .ss1 {
		margin-left: -550px;
	}

	.chara3 .ss-card-container .ss2 {
		margin-right: -420px;
	}

}




@media screen and (min-width: 1350px) {

	.hex1 {
		width: 500px;
		margin-right: -750px;
	}

	.hex2 {
		width: 450px;
		top: 800px;
		left: 50%;
		margin-left: -770px;
	}

	.hex3 {
		width: 120px;
		top: 300px;
		left: 50%;
		margin-left: -350px;
	}
	
	#subpage-container {
		max-width: 1700px;
		margin: 0 auto;
		background-size: 1700px;
		background-position: 0 0;
	}

}




@media screen and (min-width: 1600px) {
	
	#keyvisual-container {
		min-height: 800px;
	}

}








.phy-promocode {
	font-size: 1em;
	color: #041492;
	text-shadow:	1px 1px 5px rgba(68, 197, 241, 0.5);
}

@media screen and (min-width: 800px) {
	.phy-promocode {
		font-size: 1.4em;
		text-align: center;
	}
}




