@charset "utf-8";

/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

/*common*/
body, ul {
	margin: 0 auto;
	padding: 0;
}
.ichu-logo {
	font-family: georgia, serif;
	letter-spacing: 0.025em;
}
.f-acumin {
	font-family: acumin-pro, sans-serif;
	font-weight: 400;
}
.f-acumin.bold {
	font-weight: 700;
}
.f-acumin.black {
	font-weight: 800;
}
.f-chiaro {
	font-family: fot-chiaro-std, sans-serif;
	font-weight: 700;
}

.ic-img {
	width: 100%;
	height: auto;
	display: block;
}
a {
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	word-break: break-all;
}
li {
	list-style: none;
}

/* header -------------------------- */
/*nav*/
.panel-btn {
	display: block;      
	width: 40px;      
	height: 40px;      
	position: relative;      
	z-index: 3;
	border:none; 
	cursor: pointer;  
	float: right; 
}
.panel-btn::after {
    content: "";
    display: block;
    clear: both;
}   
.bar {      
	width: 40px;      
	height: 5px;        
	display: block;      
	position: absolute;      
	left: 50%;      
	transform: translateX(-50%);      
	background-color:rgb(219,195,223);
}    
.bar_top {   
	top: 10px;
}
.bar_mid {    
	top: 50%;
	transform: translate(-50%,-50%);
}
.bar_bottom {
	bottom: 10px;
}
.panel-btn.close .bar_top {      
	transform: translate(-50%,10px) rotate(45deg);      
	transition: transform .3s;    
}
.panel-btn.close .bar {
	background-color: #fff;
	box-shadow: 0px 0px 1px darkgrey;
}
.panel-btn.close .bar_mid {      
	opacity: 0;       
	transition: opacity .3s;    
}    
.panel-btn.close .bar_bottom {      
	transform: translate(-50%,-5px) rotate(-45deg);      
	transition: transform .3s;    
}
header .panel {      
	transform: translateX(100%);      
	transition: .3s;      
	width: 100vw;      
	height: 100vh;      
	position: fixed;      
	top: 0;      
	left: 0;      
	z-index: 2;
}
.panel.slide-in {      
	transform: translateX(0);
	transition: .3s;     
}    
.panel-inner {        
	width: 100%;        
	height: 100%;        
	background-color:rgb(219,195,223);
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;    
}
.panel-inner .gnav-inner {
	margin-top: 30px;
}   
header .gnav {        
	display: block;        
	position: absolute;        
	top: 50%;        
	left: 50%;        
	transform: translate(-50%,-50%);        
	text-align: center;
	width: 90%;
}      
.gnav-li {
	margin-right: 0;
	margin-bottom: 30px;
	font-family: acumin-pro, sans-serif;
	font-weight: 800;
	font-size: 6.8vw;
}
.panel-inner .gnav-li {
	margin-bottom: 20px;
}
.header-inner {
	margin: 0 0.25em;
}
.panel-inner a {
	transition: 0.3s;
	border-bottom: 2px rgba(255,255,255,0.2) solid;
	white-space: nowrap;
	text-shadow: 0px 0px 10px darkgrey;
	display: block;
	position: relative;
}
.panel-inner a::after {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f338";
	position: absolute;
	right: 0;
	bottom: 10px;
	font-size: 60%;
}
.panel-inner .othewindow a::after {
	font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f105";
}
.panel-inner a:hover {
	border-bottom-color: #fff;
}
.panel-inner .visit a {
	color: #000;
	border-bottom-color: #000;
}

/* Parallax base styles
--------------------------------------------- */
.parallax {
	height: 500px; /* fallback for older browsers */
	height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-perspective: 300px;
	perspective: 300px;
	position: relative;
}
.parallax__group {
	position: relative;
	/*height: 500px;  fallback for older browsers */
	/*height: 100vh;*/
	height: calc(100vw * 2.165); /* 100vh ratio of elements is 1:2.165 */
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.parallax__layer {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
/* 1 + (translateZ * -1) / perspective = scale  */
.parallax__layer--fore {
	-webkit-transform: translateZ(60px) scale(.8);
	transform: translateZ(60px) scale(.8);
	z-index: 1;
}
.parallax__layer--base {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	z-index: 4;
}
.parallax__layer--back {
	-webkit-transform: translateZ(-300px) scale(2);
	transform: translateZ(-300px) scale(2);
	z-index: 3;
}
.parallax__layer--deep {
	-webkit-transform: translateZ(-600px) scale(3);
	transform: translateZ(-600px) scale(3);
	z-index: 2;
}

/* Debugger styles - used to show the effect
--------------------------------------------- */
.debug {
	display: none;
	position: fixed;
	top: 0;
	left: .5em;
	z-index: 999;
	background: rgba(0,0,0,.85);
	color: #fff;
	padding: .5em;
	border-radius: 0 0 5px 5px;
}
.debug-on .parallax__group {
	-webkit-transform: translate3d(800px, 0, -800px) rotateY(30deg);
	transform: translate3d(700px, 0, -800px) rotateY(30deg);
}
.debug-on .parallax__layer {
	box-shadow: 0 0 0 2px #000;
	opacity: 0.9;
}
.parallax__group {
	-webkit-transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
}


/* demo styles
--------------------------------------------- */
body.home {
	/*overflow: hidden;*/
}
body {
	font: 100% / 1.5 Arial;
	position: relative;
}
* {
	margin:0;
	padding:0;
}
.parallax {
	font-size: 200%;
}
 /* centre the content in the parallax layers */
.title {
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/* style the groups
--------------------------------------------- */
/* group1 */
#top {
	z-index: 2; /* slide over group 2 */
}
/* group2*/
#gamesoft-link {
	z-index: 3; /* news & gamesoft. slide under groups 1 and 3 */
}
/* group3 */
#ichu-switch {
	z-index: 2; /* slide over group 2 */
}
/* group4 */
#story {
	z-index: 1; /* slide over group 3 and 5 */
}
/* group5 */
#cast {
	z-index: 2; /* slide over group 5 */
}
/* group6 */
#system {
	z-index: 3; /* slide under group 5 and 7 */
}
/* group7 */
#character {
	z-index: 3; /* slide over group 6 */
}

/* index.html
--------------------------------------------- */
#top .kvc {
	width: 100%;
	position: relative;
	background: url(images/kvc.webp) 0 0 no-repeat;
	background-size: 100% auto;
}
.no-webp #top .kvc {
	background: url(images/kvc.png) 0 0 no-repeat;
	background-size: 100% auto;
}
#top .kvc::after {
	content: "";
	display: block;
	width: 100%;
	padding-top: 216.533%;
}

#gamesoft-link {
	height: calc(100vw * 4.56);
}
#ichu-switch {
	height: calc(100vw * 2.4);
}
#story {
	height: calc(100vw * 2.02);
}
#story .parallax__layer--base {
	background: url(images/story-bg.png) 0 0 no-repeat;
	background-size: contain;	
}
.no-webp #story .parallax__layer--base {
	background: url(images/story-bg.png) 0 0 no-repeat;
	background-size: contain;	
}
#story .parallax__layer--deep {
	background: url(images/deep-bg2-sp.webp) 50% 50% no-repeat;
	background-size: cover;
}
.no-webp #story .parallax__layer--deep {
	background: url(images/deep-bg2-sp.png) 50% 50% no-repeat;
	background-size: cover;
}
#cast {
	height: calc(100vw * 1.306);
}
#cast .parallax__layer--base {
	background: url(images/cast-bg.png) 0 0 no-repeat;
	background-size: contain;	
}
#system {
	height: calc(100vw * 3.9);
}
#character {
	background-color: #fff;
	height: calc(100vw * 2.4);
}
#movie {
	height: calc(100vw * 2.1);
}
#special {
	height: calc(100vw * 1.8);
}
#sns {
	height: calc(100vw * 1.88);
}
#gamesoft-info {
	height: calc(100vw * 3.2);
	background: rgb(240,196,240);
	background: linear-gradient(0deg, rgba(240,196,240,1) 0%, rgba(219,216,240,1) 50%, rgba(194,224,245,1) 100%);
}
#footer {
	height: calc(100vw * 1.3);
	background-color: rgba(255,255,255,0.7);
}

/* misc
--------------------------------------------- */
.fixedbottom {
	position: absolute;
	z-index:100;
	bottom: 1vh;
	top: auto;
	font-size:80%;
	text-align:center;
	width: 100%;
}

/*particle-js*/
/* ---- reset ---- */ body{ margin:0; font:normal 75% Arial, Helvetica, sans-serif; } canvas{ display: block; vertical-align: bottom; } /* ---- particles.js container ---- */ .p-inner{ position:absolute; width: 100%; height: 100%; background-color: transparent; background-image: url(""); background-repeat: no-repeat; background-size: 20%; background-position: 50% 50%; } /* ---- stats.js ---- */ .count-particles{ background: #000022; position: absolute; top: 48px; left: 0; width: 80px; color: #13E8E9; font-size: .8em; text-align: left; text-indent: 4px; line-height: 14px; padding-bottom: 2px; font-family: Helvetica, Arial, sans-serif; font-weight: bold; } .js-count-particles{ font-size: 1.1em; } #stats, .count-particles{ -webkit-user-select: none; margin-top: 5px; margin-left: 5px; } #stats{ border-radius: 3px 3px 0 0; overflow: hidden; } .count-particles{ border-radius: 0 0 3px 3px; }
.p-wrap {
	width: 100%;
	height: 100%;
	position: relative;
}

/*original*/
.home {
	background: url(images/deep-bg-sp.webp?2) 0 0 no-repeat;
	background-size: cover;
}
.no-webp .home {
	background: url(images/deep-bg-sp.jpg?2) 0 0 no-repeat;
	background-size: cover;
}

.gamesoft {
	background: url(images/g2-bg-deep.png) 0 0 no-repeat;
	background-size: cover;
}
.back-btn {
	display: block;
	width: 100%;
	height: 60px;
	background: url(images/back-btn.png) right 0 no-repeat;
	background-size: auto 60px;
	border: none;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
}
.ic-logo .ic-img {
	width: 180px;
}
.copy {
	color: #fff;
}
/*btn*/
.btn-ic {
	margin: 0 auto;
	display: block;
	text-align: center;
	background-color: #6158ab;
	border-radius: 30px;
	color: #fff;
	font-size: 5.4vw;
	letter-spacing: 0.05em;
	width: 92%;
	height: 60px;
	line-height: 60px;
	transition: 0.4s;
}
.btn-ic:hover {
	opacity: 0.6;
}
.btn-ic.coming {
	background-color: rgb(204 189 227);
}
.btn-ic.coming:hover {
	opacity: 1;
}

/*text*/
.ttl {
	font-family: acumin-pro, sans-serif;
	font-weight: 800;
	font-size: 5.4vw;
	text-align: center;
	width: 94%;
	margin: 0 auto;
	padding: 30px 0;
}
.onpu-ttl {
	background: url(images/onpu.png) 0 0 no-repeat;
	background-size: 100% auto;
}
.onpu-ttl-b {
	background: url(images/onpu-b.png) 0 0 no-repeat;
	background-size: 100% auto;
}
.chi-ttl {
	font-family: fot-chiaro-std, sans-serif;
	font-weight: 700;
	font-size: 10.8vw;
	line-height: 1.25em;
	text-align: left;
	width: 94%;
	margin: 30px auto;	
}
.h3-ttl {
	color: #222;
	font-size: 4vw;
	font-weight: normal;
	height: 3em;
	line-height: 3em;
	text-align: center;
	border-top: 1px #666 solid;
	border-bottom: 1px #666 solid;
	position: relative;
	width: 10em;
	margin: 0 auto 1.8em;
}
.tokuten2 .h3-ttl {
	width: 14em;
}
.h3-ttl::before {
	position: absolute;
	content: "";
	width: 100%;
	height: calc(100% + 10px);
	top: -5px;
	left: 0;
	border-top: 2px #444 solid;
	border-bottom: 2px #444 solid;
}
.txt-ic {
	font-size: 4vw;
	line-height: 1.8em;
	text-align: left;
	width: 94%;
	margin: 0 auto 1em;
}
.cast-ic {
	font-size: 4vw;
	line-height: 2em;
	text-align: left;
	width: 94%;
	margin: 0 auto;
}
.cast-ic span {
	display: inline-block;
}
.cap-ic {
	font-size: 3.2vw;
	line-height: 1.8em;
	text-align: center;
	width: 94%;
	margin: 0 auto 1em;
}
.coming-big {
	color: rgb(255, 255, 255);
	font-family: acumin-pro, sans-serif;
	font-weight: 800;
	font-size: 26.2vw;
	line-height: 0.6em;
	text-align: center;
}

/*animation*/
.fadein {
	opacity : 0;
	transform : translate(50px, 0);
	transition:all 0.5s;
}
.fadeup {
	opacity : 0;
	transform : translate(0, 50px);
	transition:all 0.5s;
}
.fadedown {
	opacity : 0;
	transform : translate(0, -50px);
	transition:all 0.5s;
}
.fadedown.scrollin,
.fadeup.scrollin,
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

/*mask
.mask {
	height: calc(100vw * 0.444);
	background-color: #fff;
}
.mask-ttl {
	font-family: acumin-pro, sans-serif;
	font-weight: 800;
	font-size: 67vw;
	text-align: center;
	width: 100%;
	margin: 30px auto;
	background: url(images/deep-bg2-sp.png) 50% 50% no-repeat;
	background-size: cover;
  background-position:center;
  -webkit-background-clip: text;
}*/

/*content*/
.grd {
	background: rgb(242,145,242);
	background: linear-gradient(0deg, rgba(242,145,242,1) 0%, rgba(191,165,242,1) 50%, rgba(149,196,229,1) 100%);
}
.grd.onpu-ttl {
	background: url(images/onpu.png) 0 0 no-repeat, linear-gradient(0deg, rgba(242,145,242,1) 0%, rgba(191,165,242,1) 50%, rgba(149,196,229,1) 100%);
	background-size: 100% auto, 100% auto;
}
.box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 0 30px;
	color: #fff;
}
.cnt {
	width: 100%;
	/*height: 100vh;*/
	position: relative;
}
.cnt-bottom {
	width: 100%;
	position: absolute;
	bottom: 0;
}
.inner {
	width: 100%;
}
.g1,
.g3 {
	height: 100%;
}
.g1 .wrap,
.g3 .wrap,
.g6-4 .wrap {
	position: absolute;
}
/* #gamesoft-link and news */
.g2 {
	height: 240vw;
}
.g2 .news {
	width: 90%;
	margin: 0 auto;
	padding: 0.5em;
	background-color: rgba(97,88,171,0.2);
	overflow-y: auto;
}
.g2 .news .news-date {
	margin: 0;
	background-color: #fff;
	color: #93a9ff;
	width: 6em;
	text-align: center;
	font-size: 3.8vw;
	line-height: 1.4em;
	white-space: nowrap;
}
.g2 .news a {
	border-bottom: 1px #fff dashed;
	transition: 0.3s;
}
.g2 .news a:hover {
	color: rgb(97, 88, 171);
}

.g2 .btn-wrap {
	display: block;
	width: 100%;
	position: relative;
}
.g2 .btn-wrap .btn-inner {
	width: 80%;
	margin: 180px auto 0px;
	padding: 0 10px 10px;
	background-color: rgb(255, 255, 255);
	border-radius: 5px;
	border: 5px rgb(249 210 255) solid;
	box-shadow: 0 0 10px 5px rgba(0,0,0,0.1);
}
.g2 .btn-wrap .ic-logo .ic-img {
	margin: 0 auto 10px;
}
.g2 .btn-wrap .btn-ic {
	margin: auto;
}
.g2 .btn-wrap .kumakocho {
	position: absolute;
	top: 0;
}
.g2-3 {
	height: calc(100vw * 0.752);
}
.g2-3 .txt-ic {
	text-align: center;
}
.g2-0 {
	padding-top: 2em;
}
.g2-0 .txt-ic {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 100%;
}
.g2-0 .txt-ic a {
    border-bottom: 1px #fff dashed;
    transition: 0.3s;
}
.g2-0 .txt-ic a:hover {
	color: rgb(97, 88, 171);
}
.g2-0 .txt-ic .fa-solid {
	color: cornflowerblue;
}
.g2-0 .txt-ic .date {
	font-weight: normal;
}

/* #story, #cast */
.g4,
.g5 {
	margin-top: calc(100vw * 0.444);
	background-color: #fff;
	padding-bottom: 30px;
}
.g5 {
	margin-top: calc(100vw * 0.324);
}
/* #system */
.g6 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100vw * 0.32);
	background: url(images/g6-ttl-bg.jpg) 0 0 no-repeat;
}
.g6 .ttl {
	background-color: #fff;
	width: 50%;
	height: 50px;
	line-height: 50px;
	padding: 0;
}
.g6-2 {
	background-color: #fff;
	padding-bottom: 2em;
}
.g6-2 .txt-ic,
.g7-2 .txt-ic {
	padding: 1em 1em 0;
}
.g6-2 .txt-ic strong,
.g7-2 .txt-ic strong {
	font-weight: bold;
	display: block;
	text-align: center;
}
.g6-3 {
	background: url(images/g6-3-bg.jpg) 0 0 no-repeat;
	padding: 1em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.s-wrap {
	width: 40%;
	margin: 2.5% 5%;
	padding: 5px;
	border: 5px #fff solid;
	border-radius: 10px;
	box-sizing: contet-box;
}
.s-wrap:first-of-type {
	width: 50%;
}
.s-wrap .ic-img {
	border: 1px #fff solid;
	box-sizing: content-box;
}
.g6-4 {
	height: calc(100vw * 1.45);
}
.g6-4 .chi-ttl {
	font-size: 8.5vw;
	line-height: 1.2em;
}
.g6-4 .chi-ttl span {
	letter-spacing: -0.1em;
}
.g6-4 .chi-ttl span span {
	letter-spacing: -0.5em;
}
/* #character */
.g7-3 .inner,
.g7-4 {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.u-wrap {
	display: block;
	width: 27.2%;
	margin: 2.5%;
}
.g7-3 .btn-wrap {
	display: block;
	width: 100%;
	padding: calc(100vw * 0.27) 0 calc(100vw * 0.1);
	background-color: #c6c6f7;
	position: relative;
}
.g7-3 .btn-wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-top: 17vw solid #fff;
  border-right: 50vw solid transparent;
  border-bottom: 50vw solid transparent;
  border-left: 50vw solid transparent;
}
.g7-4 {
	background-color: #fff;
}
.g7-4 .u-wrap {
	width: 40%;
}
/* #movie */
.g8 {
	height: 100%;
}
.g8 .ttl {
	position: absolute;
	top: 20vw;
	width: 100%;
}
.g8 .coming-big {
	position: absolute;
	bottom: 25vw;
}
.g8 .youtube-wrap {
	width: 80%;
	padding-top: 40%;
	margin: auto;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 10%;
}
.youtube.has-caption {
	margin-bottom: 0;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.youtube-h {
	font-size: 5vw;
	text-align: center;
	color: #222;
}
.youtube-caption {
	font-size: 3.5vw;
	margin-bottom: 10%;
	background-color: rgba(255,255,255,0.7);
	padding: 0.5em;
}
.youtube-caption small {
	font-size: 3vw;
}
.youtube-caption dl {
	display: flex;
	justify-content: start;
	align-items: top;
	flex-wrap: wrap;
	flex-direction: column;
}
.youtube-caption dt {
	margin-right: 0;
	width: 4em;
}
.youtube-caption dd {
	margin-left: 0;
	/*width: calc(100% - 4em);*/
}

/* #special */
.g9 {
	height: 100%;
	padding-bottom: 0;
}
.g9 .special-contents,
.news .news-contents {
	width: 98%;
	margin: 0 auto 0.25em;
	padding: 0.4em;
	background-color: rgba(40, 90, 200, 0.4);
	border-radius: 2px;
}
.g9 .special-ttl,
.news .news-ttl {
	font-family: fot-chiaro-std, sans-serif;
	font-weight: 700;
	font-size: 4.8vw;
	line-height: 1.6em;
	border: 4px dotted rgba(255, 255, 255,0.5);
	padding: 0.6em;
	margin-bottom: 0.6em;
}
.g9 .special-body a {
	border-bottom: 1px #fff dashed;
	transition: 0.3s;
}
.g9 .special-body a:hover {
	color: rgb(97, 88, 171);
}
.g9 .special-body .txt-ic {
	width: 100%;
}
.g9 .special-body .txt-ic:last-of-type {
	margin-bottom: 0;
}
/* #sns */
.g10 {
	width: 90%;
	border: 1px #fff solid;
	border-radius: 10px;
	background-color: #e3d7e0;
	margin: 30px auto;
	overflow: hidden;
}
.twitter {
	margin: 1em;
	height: calc(65vw);
	overflow: scroll;
}
.g10 .inner {
	background-color: #fff;
}
.g10 .btn-wrap {
	display: block;
	padding: 1em 0;
}
.g10 .btn-wrap .ic-img {
	width: 120px;
	height: 120px;
	border-radius: 60px;
	margin: 0 auto 20px;
}
/* #gamesoft-info */
.g11 {
	padding: 50px 0 20px;
}
.g11 .ic-img {
	width: 50%;
	margin: 0 auto;
}
.download-switch {
	margin: 40px;
	padding: 10px 0 20px;
	border-top: 1px solid rgb(102, 102, 102);
    border-bottom: 1px solid rgb(102, 102, 102);
    position: relative;
}
.download-switch::after {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% + 10px);
    top: -5px;
    left: 0px;
    border-top: 2px solid rgb(68, 68, 68);
    border-bottom: 2px solid rgb(68, 68, 68);
    z-index: -1;
}
.download-switch .h3-ttl {
	width: 90%;
	border: none;
	margin-bottom: 0;
}
.download-switch .h3-ttl::before {
	border: none;
}
.download-switch .btn-ic {
	background-color: rgba(164,82,88,1);
	border: 2px solid #f1e1e9;
	box-sizing: content-box;
}
.download-switch .btn-ic:hover {
	opacity: 1;
	background-color: rgba(230,1,15,1);
	border-color: #fff;
	color: #fff;
}

.g11-2 {
	display: flex;
	align-items: center;
	justify-content: center;
}
.g11-3 .btn-ic {
	font-size: 5vw;
}
.g11-3 .contact-btn {
	font-size: 3vw;
	width: 70%;
	margin-top: 1em;
}
.cover-wrap {
	width: 46vw;
	margin: 0 2vw;
}
.spec {
	font-size: 3.6vw;
	color: #222;
	margin: 30px auto;
	width: 90vw;
}
.spec li {
	padding-left:5em;
	text-indent:-5em;
}
/* #footer */
.g12 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 30px 0;
}
.banner {
	display: block;
	width: 240px;
	margin: 2.5vw;
}
.banner:nth-of-type(2) {
	margin: 40px 10vw 20px;
}
.banner:nth-of-type(2),
.banner:nth-of-type(3),
.banner:nth-of-type(4) {
	width: 45vw;
}
.g12-2 {
	padding-bottom: 30px;
}

/* subpages 
gamesoft.html, contact.html, thanks.html, zoom
--------------------------------------------- */

.subpage #footer {
	width:100%;
	height:140px;
	padding:2em 0 0;
	text-align:center;
	line-height:1.4em;
	font-size:70%;
	background: none;
}
.subpage .fixedbottom {
	position: fixed;
	bottom: 2vh;
}

@media (min-width: 768px) {
	.subpage #footer {
		padding:2em 0;
		margin:auto;
	}
	.subpage .copy {
		font-size: 120%;
	}
}

/* gamesoft.html
--------------------------------------------- */
body.subpage {
	background-color: rgb(219, 216, 240);
	background: linear-gradient(0deg, rgb(240, 196, 240) 0%, rgb(219, 216, 240) 50%, rgb(194, 224, 245) 100%);
}
.gamesoft #wrapper {

}
.gamesoft #wrapper #particles-js {
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
}
.gamesoft .fixedbottom {
	position: fixed;
}
.gamesoft #gamesoft-info {
	background: none;
	height: auto;
	padding-bottom: 20px;
}
.gamesoft .g11 {
	padding: 0 0 20px;;
}
.gamesoft .p-inner {
	z-index: -1;
}
.gamesoft-info-cnt {
	background-color: rgba(255,255,255,0.5);
}
.tokuten1,
.tokuten2 {
	padding: 20px 0 60px;
}
.tokuten-wrap .ic-img {
	width: 100%;
	margin: auto;
}
.tokuten-wrap .zoom-btn {
	width: 80%;
	margin: auto;
}
.tokuten-wrap .zoom-btn .ic-img {
	border: none;
}
.tokuten {
	width: 80%;
	margin: 1em auto;
	padding: 1em 0;
	border-top: 1px #ecc8f0 dashed;
	border-bottom: 1px #ecc8f0 dashed;
}
.tokuten-head,
.tokuten-list {
	font-size: 4vw;
}
.tokuten-head {
	font-weight: bold;
}
.tokuten-list {
	margin-left: 1.5em;
}
.tokuten-list li {
	list-style: disc;
}
.tokuten .txt-ic {
	width: 100%;
	padding-left:1em;
	text-indent:-1em;
}
.tokuten .txt-ic {
	margin-bottom: 0;
}
.tenpotokuten {
	width: 90%;
	padding: 1em;
	box-sizing: border-box;
	margin: 2em auto;
	background-color: #fff;
	border: 2px #a7b6ec solid;
	border-radius: 1.5em;
}
.tenpotokuten h4 {
	font-size: 5vw;
	color: #8476b5;
}
.tenpotokuten h5 {
	font-size: 4vw;
	color: #8476b5;
	margin: 0.25em 0;
}
.tenpotokuten .txt-ic {
	font-size: 3.6vw;
	color: #222;
}
.tenpotokuten .txt-ic .hb {
	font-weight: bold;
	color: #8476b5;
}
.tenpotokuten .txt-ic .s {
	display: inline-block;
	font-size: 3.3vw;
	padding-left:1em;
	text-indent:-1em;
}
.tenpotokuten .txt-ic .s.s2 {
	font-size: 3vw;
	line-height: 1.4em;
}

.tenpotokuten-img:not(:first-of-type) {
	margin-top: 5em;
}
.tenpotokuten-img.nomargin:not(:first-of-type) {
	margin-top: 0.5em;
}
.tenpotokuten-img {
	background-color: rgb(222 227 255);
	z-index: -1;
	background-image:
    repeating-linear-gradient(to bottom,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,  transparent 51px, 
      rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,  transparent 77px, 
      rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,  transparent 103px, 
      rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,  transparent 129px, 
      rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px),
 
    repeating-linear-gradient(to right,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,  transparent 51px, 
      rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,  transparent 77px, 
      rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,  transparent 103px, 
      rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,  transparent 129px, 
      rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px);
}
.tenpotokuten-img .ic-img {
	width: 50%;
	margin: 0.5em auto;
}
.tenpotokuten-img .ic-img.long {
	width: 35%;
}
.tenpotokuten-img .ic-img.wide {
	width: 65%;
}
.tenpotokuten-img.np .ic-img {
	width: 100%;
}
.tenpotokuten-wrap .cap-ic {
	text-align: left;
	font-size: 3.4vw;
	padding-left:1em;
	text-indent:-1em;
	margin: 0.25em auto;
}
.tenpotokuten-btn {
	margin-top: 2em;
}
.tenpotokuten-btn .btn-ic {
	width: 80%;
	margin-bottom: 0.5em;
}
.amazon .tenpotokuten-txt:not(:first-of-type) {
	margin-top: 2em;
}
.tenpotokuten-btn.yet .btn-ic {
	background-color: #ccc;
}
.tenpotokuten-btn.yet .btn-ic:hover {
    opacity: 1;
}
.tenpotokuten .tenpotokuten-btn .txt-ic .s {
	font-size: 3vw;
	line-height: 1.4em;
}

/* zoom
--------------------------------------------- */
.zoom .ic-logo a,
.zoom .ic-logo .ic-img {
	width: 90px;
	display: block;
	margin-top: 0;
}
.fixedtop {
	position: fixed;
	z-index:100;
	top: 1vh;
	right: 0;
	font-size:80%;
	text-align:center;
	width: 80px;
}
.zoom-btn {
	position: relative;
	display: block;
}
.zoom-btn .ic-img {
	border: 1px dashed #fff;
}
.zoom-btn:after {
	content: "+";
	width: 30px;
	height: 30px;
	font-size: 30px;
	line-height: 30px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 15px;
	position: absolute;
	right: 5px;
	bottom: 5px;
	transition: 0.3s;
}
.zoom-btn:hover:after {
	opacity: 0.5;
}
.colse-btn {
	display: block;
	width: 80px;
	height: 44px;
	background-color: rgb(219, 195, 223);
	border-radius: 22px 0 0 22px;
	transition: 0.3s;
}
.colse-btn:hover {
	opacity: 0.5;
}
.colse-btn .panel-btn {
	float: none;
	margin: auto;
}
.zoom-img:not(.tenpotokuten-img) {
	background: #000;
	padding: 0.25em 0;
	color: #fff;	
}
.zoom-img .ic-img {
	margin: auto;
	width: auto;
}
.zoom-img .txt-ic {
	margin-bottom: 0;
	width: 100%;
	background-color: #333;
	color: #fff;
	padding: 0 0.25em;
	box-sizing: border-box;
}

/* news-contents
--------------------------------------------- */
.news .zoom-img {
	background-color: #637ad4;
}
.news .news-contents {
	color: #fff;
}
.news .news-ttl {
	border: none;
	border-bottom: 4px dotted rgba(255, 255, 255,0.5);
}
.news .zoom-img .news-body {
	background-color: #fff;
	padding: 1em 0.5em 0.5em;
	border-radius: 0.5em;
}
.news .zoom-img .txt-ic {
	color: #111;
	margin-bottom: 1em;
	background-color: transparent;
}
.news .zoom-img .news-h {
	color: #000;
	font-size: 4vw;
	font-weight: bold;
	margin-bottom: 1em;
}
.news .zoom-img .news-h .h-date {
	display: inline-block;
	font-weight: normal;
}
.news .zoom-img hr.dots {
	height: 0;
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
	border-top: 1px #888 dotted;
}
.news .zoom-img .txt-ic.date { color: #888; }
.news .zoom-img .txt-ic.v {
	border-top: 1px #888 dotted;
	padding: 0.5em 0;
	border-bottom: 1px #888 dotted;
}
.news .zoom-img .txt-ic.h {
	color: #6158ab;
	font-weight: bold;
}
.news .zoom-img ul.txt-ic.circle li {
	list-style: disc;
	margin: 0 0 0.5em 1.5em;
}
.news .zoom-img ul.txt-ic.kome li {
	padding-left:1em;
	text-indent:-1em;
	margin-bottom: 0.5em;
}

/*hide*/
.sp {
	display: block;
}
.pc {
	display: none;
}


@media (min-width: 768px) {
	/*common*/
	.ic-img {
		width: auto;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
		color: #000;
	}

	/*header*/
	header {
		width: calc(100% - 50px);
		min-width: 768px;
		right: 0;
		margin: auto;
		height: 60px;
	}
	header .gnav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		top: 0;
		transform: translate(-50%, 0);
		max-width: 1200px;
		min-width: 768px;
	}
	header .panel {
		transform: translateX(0px) translateY(-50px);
		width: calc(100% - 50px);
		height: 50px;
	}
	.panel.slide-in {
		transform: translateX(0px) translateY(0px);
	}
	.panel-inner {
		background-color: transparent;
	}
	.panel-inner .gnav-li {
		margin-bottom: 0;
		width: calc(100% / 9);
		overflow: hidden;
	}
	.panel-btn {
		width: 50px;
		height: 50px;
	}
	.panel-btn.close .bar_top {
		transform: translate(-50%,10px) rotate(45deg);
	}
	.panel-btn.close .bar_bottom {
		transform: translate(-50%,-15px) rotate(-45deg);
	}
	.gnav-li {
		font-size: 18px;
	}
	.panel-inner a {
		height: 2em;
		line-height: 2em;
		text-shadow: 0px 0px 10px #6158ab;
		z-index: 1;
	}
	.panel-inner a::after {
		display: none;
	}
	.panel-inner a:hover::after {
		display: inline-block;
		right: 5px;
		bottom: auto;
	}
	.panel-inner .othewindow a::after {
		display: inline-block;
		right: 1px;
		bottom: auto;
		font-size: 100%;
	}
	.panel-inner a::before {
		background: rgba(255, 255, 255, 0.9);
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
		z-index: -1;
	}
	.panel-inner a:hover {
		color: #6158ab;
		text-shadow: none;
	}
	.panel-inner a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.bar {
		width: 30px;
	}
	.ic-logo .ic-img {
		width: 360px;
		margin-top: 50px;
	}

	/* Parallax base styles
	--------------------------------------------- */
	.parallax__group {
		height: calc(100vw * 0.563); /* 100vh ratio of elements is 1:0.563(16:9) */
	}

	/* home
	--------------------------------------------- */
	#top .kvc {
		background: url(images/kvc-pc.webp) 0 100px no-repeat;
		background-size: 100% auto;
	}
	.no-webp #top .kvc {
		background: url(images/kvc-pc.png) 0 100px no-repeat;
		background-size: 100% auto;
	}
	#top .kvc::after {
		padding-top: 100%;
	}


	#top {
		height: 100vw;
	}
	#gamesoft-link {
		height: 1720px;
	}
	#ichu-switch {
		height: 720px;
	}
	#story {
		height: 780px;
	}
	#story .parallax__layer--base {
		background: url(images/story-bg-pc.png) 50% 0 no-repeat;
		background-size: 2200px auto;
	}
	.no-webp #story .parallax__layer--base {
		background: url(images/story-bg-pc.png) 50% 0 no-repeat;
		background-size: 2200px auto;
	}
	#story .parallax__layer--deep {
		background: url(images/deep-bg2-pc.webp) 50% 0 no-repeat;
		background-size: cover;
		transform: translateZ(-600px) scale(3.05);
	}
	.no-webp #story .parallax__layer--deep {
		background: url(images/deep-bg2-pc.jpg) 50% 50% no-repeat;
		background-size: 2200px auto;
	}
	#cast {
		height: 500px;
	}
	#cast .parallax__layer--base {
		background: url(images/cast-bg-pc.png) 50% 0 no-repeat;
		background-size: 2200px auto;	
	}
	#system {
		height: 1080px;
	}
	#character {
		height: 720px;
	}
	#movie {
		height: 1300px;
		/*height: 460px; youtubeなし*/
	}
	#special {
		height: 600px;
	}
	#sns {
		height: 400px;
	}
	#gamesoft-info {
		height: 540px;
	}
	#footer {
		height: 500px;
	}

	/*original*/
	.home {
		background: url(images/deep-bg-pc.webp?2) 0 0 no-repeat;
		background-size: cover;
	}
	.no-webp .home {
		background: url(images/deep-bg-pc.jpg?2) 0 0 no-repeat;
		background-size: cover;
	}
	.gamesoft {
		background: url(images/g2-bg-deep.png) 0 0 no-repeat;
		background-size: cover;
	}
	.back-btn {
		display: block;
		width: 120px;
		float: right;
	}

	/*btn*/
	.btn-ic {
		border-radius: 40px;
		font-size: 30px;
		letter-spacing: 0.05em;
		width: 420px;
		height: 80px;
		line-height: 80px;
	}

	/*text*/
	.ttl {
		font-size: 40px;
	}
	.chi-ttl {
		font-size: 70px;
	}
	.h3-ttl {
		font-size: 16px;
	}
	.txt-ic {
		font-size: 16px;
	}
	.cast-ic {
		font-size: 16px;
	}
	.cap-ic {
		font-size: 14px;
	}
	.coming-big {
		font-size: 100px;
	}
	.onpu-ttl {
		background: url(images/onpu.png) 0 0 no-repeat;
		background-size: 750px auto;
	}
	.onpu-ttl-b {
		background: url(images/onpu-b.png) 0 0 no-repeat;
		background-size: 750px auto;
	}
	.grd.onpu-ttl {
		background: url(images/onpu.png) 0 0 no-repeat, linear-gradient(0deg, rgba(242,145,242,1) 0%, rgba(191,165,242,1) 50%, rgba(149,196,229,1) 100%);
		background-size: 750px auto, 100% auto;
	}

	.cnt {
		box-sizing: border-box;
	}
	.box {
		padding: 0;
	}

	/* #gamesoft-link */
	.g2 {
		height: 1000px;
		justify-content: flex-start;
	}
	.g2 .news {
		width: 600px;
		height: 260px;
		margin-bottom: 40px;
	}
	.g2 .news .news-list li {
		margin: 0 auto 1em; 
	}
	.g2 .news .news-date {
		font-size: 16px;
		margin-right: 1em;
	}
	.g2 .news .news-list .txt-ic {
		width: 100%;
		font-size: 18px;
	}
	.g2 .btn-wrap {
	}
	.g2 .btn-wrap .btn-inner {
		width: 480px;
		margin-top: 0;
	}
	.g2 .btn-wrap .btn-ic {
		width: 420px;
	}
	.g2 .btn-wrap .ic-img {
		left: 50%;
		margin-left: -450px;
		bottom: -70px;
	}
	.cnt-wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	.g2-2 {
		order: 1;
	}
	.g2-3 {
		order: 3;
		width: 100%;
		height: 270px;
		flex-direction: row;
	}
	.g2-3 .inner {
		width: 640px;
	}
	.g2-3 .inner .ic-img {
		min-width: 640px;
		flex-shrink: 0;
	}
	.g2-4 {
		order: 2;
	}
	.g2-2,
	.g2-4 {
		width: 50%;
		height: 450px;
		overflow: hidden;		
	}
	.g2-2 .ic-img,
	.g2-4 .ic-img {
		min-width: 640px;
	}
	.g2-0 .txt-ic {
		font-size: 18px;
	}

	/* #ichu-switch */
	.g3 .inner-box {
		position: relative;
		display: flex;
		width: 1280px;
		justify-content: center;
		align-items: flex-start;
	}
	.g3 .inner-box .g3-1 .chi-ttl {
		margin-top: 0;
	}
	.g3 .inner-box .g3-2 .ic-img {
		margin: auto;
	}
	.g3 .inner-box .g3-2 .cap-ic {
		text-align: right;
	}
	.g3 .inner-box .g3-3 {
		position: absolute;
		bottom: -30px;
		left: 0;
		width: 640px;
	}

	/* #story, #cast */
	.g4, .g5 {
    margin-top: 0;
    padding-bottom: 0;
  }
  .g4 {
  	margin-top: 260px;
  }
  .g4 .txt-ic {
  	text-align: center;
  }
  .g5 {
 		margin-left: 50vw;
 		width: 360px;
 		height: 500px;
 		display: flex;
 		align-items: center;
  }

  /* #system */
  #system .parallax__layer--base {
		background: linear-gradient(0deg, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 100%), url(images/deep-bg-pc.webp?2);
		background-size: cover, cover;
	}
	#system .cnt-wrap {
		height: 720px;
		flex-wrap: nowrap;
	}
	#system .cnt-wrap .inner {
		width: 520px;
	}
	.g6 {
		justify-content: flex-start;
	}
	.g6-3 {
		width: 760px;
	}
	.g6,
	.g6-3 {
		background: none;
		height: auto;
	}
	.g6 .ttl {
		width: 375px;
		height: 100px;
		line-height: 100px;
		margin: 0 0 30px 0;
	}
	.g6-2 .ic-img {
		margin: auto;
	}
	.s-wrap {
		margin: 1.5% 4%;
	}
	.s-wrap:first-of-type {
		width: 354px;
	}
	.g6-3 .cap-ic {
		text-align: right;
	}
	.g6-4 {
		height: 360px;
	}
	.g6-4 .wrap {
		display: flex;
		position: relative;
		align-items: center;
		width: 1220px;
	}
	.g6-4 picture {
		width: 414px;
		flex-shrink: 0;
	}
	.g6-4 .chi-ttl {
		font-size: 50px;
		width: 12em;
		flex-shrink: 0;
	}
	.g6-4 .txt-ic {
		margin: 0;
	}

	/* #character */
	.g7 .ttl {
		margin-bottom: 0;
	}
	.g7-2 .txt-ic {
		padding: 0;
		text-align: center;
	}
	.g7-3 {
		width: 1280px;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.g7-3 .inner {
		width: 600px;
		flex-shrink: 0;
		justify-content: space-around;
	}
	.u-wrap {
		width: 142px;
		margin: 0 2.5%;
	}
	.g7-3 .btn-wrap {
		width: 300px;
		height: 300px;
		padding: 0;
		flex-shrink: 0;
	}
	.g7-3 .btn-wrap::before {
		border-width: 150px 0 150px 60px;
		border-style: solid;
		border-color: transparent rgb(255, 255, 255);
	}
	.g7-3 .btn-ic {
		border-radius: 30px;
		font-size: 16px;
		width: 200px;
		height: 60px;
		line-height: 60px;
		position: absolute;
		top: 0;
		left: auto;
		right: 20px;
		bottom: 0;
		margin: auto;
	}

	/* #movie */
	.g8 .ttl {
		top: 10px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.g8 .youtube-wrap {
		width: 760px;
		padding-top: 120px;
	}
	.g8 .coming-big {
		bottom: 60px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.youtube {
		margin-bottom: 60px;
	}
	.youtube-h {
		font-size: 20px;
	}
	.youtube-caption {
		font-size: 16px;
		margin-bottom: 60px;
	}
	.youtube-caption dl {
		flex-direction: row;
	}
	.youtube-caption small {
		font-size: 14px;
	}
	.youtube-caption dd {
		width: calc(100% - 4em);
	}

	/* #special */
	.g9 .special-contents,
	.news .news-contents {
		width: 760px;
		padding: 1em;
		margin-bottom: 1em;
	}
	.g9 .special-ttl,
	.news .news-ttl {
		font-size: 20px;
	}
	.g9 .special-body .txt-ic,
	.news .news-body .txt-ic {
		letter-spacing: 0.05em;
	}

	/* #sns */
	.g10 {
		width: 900px;
		display: flex;
	}
	.twitter {
		margin: 1em auto;
		width: 48%;
		height: 240px;
		box-sizing: content-box;
		overflow-x: hidden;
		overflow-y: scroll;
	}
	.g10 .inner {
		width: 50%;
	}
	.g10 .ttl {
		margin: 10px auto 0;
	}
	.g10 .btn-wrap {
		padding-top: 0;
	}
	.g10 .btn-wrap .ic-img {
		width: 130px;
		height: 130px;
		border-radius: 65px;
  }
  .g10 .btn-ic {
		border-radius: 25px;
		font-size: 18px;
		letter-spacing: 0.1em;
		width: 240px;
		height: 50px;
		line-height: 50px;
  }

  /* #gamesoft-info */
  #gamesoft-info .cnt-wrap {
  	flex-wrap: nowrap;
  	width: 1240px;
  	height: 540px;
		margin: auto;
  }
  .g11 {
		order: 2;
		height: 100%;
		padding: 0;
  }
  .g11-2 {
  	order: 1;
  	width: 560px;
  }
  .g11-3 {
  	order: 3;
  }
  .g11 .ic-img {
		width: 252px;
		margin: 0 auto;
	}
	.g11 .btn-ic {
		border-radius: 30px;
		font-size: 15px;
		width: 280px;
		height: 60px;
		line-height: 60px;
	}
	.download-switch {
		margin: 20px 20px 40px;
	}
	.download-switch .h3-ttl {
		margin-bottom: 1em;
	}
	.download-switch .btn-ic {
		font-size: 24px;
		height: 50px;
		line-height: 50px;
	}
	.g11 .contact-btn {
		font-size: 12px;
		width: 260px;
		margin-top: 20px;
	}
  .cover-wrap {
		width: 240px;
		margin: 0px 10px;
	}
  .spec {
		font-size: 16px;
		width: 420px;
		padding-left: 20px;
		margin: 120px auto 0;
		border-left: 1px #fff solid;
	}

	/* #footer */
	.g12 {
		width: 580px;
		margin: auto;
	}
	.banner {
		display: block;
		width: 320px;
		margin: 20px;
	}
	.banner:nth-of-type(2),
	.banner:nth-of-type(3),
	.banner:nth-of-type(4) {
		width: 240px;
	}
	.banner:nth-of-type(2) {
		margin: 40px 10% 20px;
	}

	/* gamesoft.html
	--------------------------------------------- */
	.gamesoft #gamesoft-info {
		padding-bottom: 0;
	}
	.gamesoft #wrapper {
	}
	.gamesoft #wrapper::before {
		background-image:url(images/g2-bg-pc.png);
	}
	.gamesoft .g11 .ic-img {
		/*margin: 160px auto 0;*/
		margin: 20px auto 140px;
	}
	.tokuten-wrap {
		display: flex;
		align-items: center;
		width: 960px;
		margin: auto;
	}
	.tokuten-wrap .ic-img {
		width: 450px;
	}
	.tokuten-wrap .zoom-btn {
		margin-right: 20px;
	}
	.tokuten-head, .tokuten-list {
		font-size: 16px;
	}
	.tokuten1, .tokuten2 {
		padding: 20px 0px 80px;
	}
	.tokuten-list li {
		margin: 1em 0;
	}
	.tenpotokuten-wrap {
		display: flex;
		flex-wrap: wrap;
		width: 1000px;
		margin: auto;
	}
	.tenpotokuten {
		width: 46%;
		padding: 2em;
	}
	.tenpotokuten h4 {
		font-size: 24px;
	}
	.tenpotokuten h5 {
		font-size: 18px;
	}
	.tenpotokuten .txt-ic {
		font-size: 17px;
	}
	.tenpotokuten .txt-ic .s {
		font-size: 16px;
	}
	.tenpotokuten .txt-ic .s.s2 {
		font-size: 15px;
	}
	.tenpotokuten-wrap .cap-ic {
		font-size: 16px;
	}
	.tenpotokuten-btn {
		margin-top: 5em;
	}
	.tenpotokuten-btn .btn-ic {
		font-size: 24px;
		height: 50px;
		line-height: 50px;
	}
	.tenpotokuten .tenpotokuten-btn .txt-ic .s {
		font-size: 15px;
	}

	/* zoom
	--------------------------------------------- */
	.zoom .ic-logo a,
	.zoom .ic-logo .ic-img {
		width: 150px;
		display: block;
	}
	.zoom-img {
		padding: 1em 0 0.25em;
	}
	.zoom-img .txt-ic {
		text-align: center;
		padding: 0.25em;
	}

	/* news-contents
	--------------------------------------------- */
	.news .zoom-img {
		padding: 3em 0;
	}
	.news .zoom-img .news-body {
		padding: 3em;
	}
	.news .zoom-img .txt-ic {
		text-align: left;
	}
	.news .zoom-img .news-h {
		font-size: 18px;
	}

	/*hide*/
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}

}

