@charset "utf-8";

html {
  overflow-y:scroll;
	scroll-behavior: smooth;
}

body{
	background-color:#000;
	min-width: 960px;
	min-height: 1080px;
}


a:link { color: #fff; }
a:visited { color: #fff; }
a:hover { color: #E62110; }
a:active { color: #fff; }

a {
    outline: none;
	text-decoration: none;
}

.spmenu{ display:none;}


@media screen and (max-width:960px){

.pcmenu{display:none;}
.spmenu{display:inherit;}

}

.menu-btn {
    position: fixed;
    top: 15px;
    right: 15px;
    display: flex;
    height: 150px;/*60-100px*/
    width: 150px;/*60-100px*/
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #ffffff;/*3584bb*/
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 8px;/*3px[5]*/
    width: 75px;/*25px[50]*/
    border-radius: 5px;/*3px[5]]*/
    background-color: #3584bb;/*ffffff*/
    position: absolute;
}
.menu-btn span:before {
    bottom: 30px;/*8px-20*/
}
.menu-btn span:after {
    top: 30px;/*8px-20*/
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}


#menu-btn-check {
    display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #3584bb;
}
.menu-content ul {
    padding: 190px 10px 0;/*top140*/
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 280%;/*15px*/
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 10px;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 20px;/*7px*/
    height: 20px;/*7px*/
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 40px;/*30*/
}

.menu-content {
    width: 100%;
    height: auto;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    /*background-color: #3584bb;*/
	background: rgba(0, 0, 0, 0.7);
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}





#cate{
	background: linear-gradient(rgba(0, 0, 0, 0.8) 20%, rgba(0, 0, 0, 0.3) 80%, rgba(0, 0, 0, 0));
	width:100%;
/*	padding-top:2px;
	padding-bottom:2px;*/
    position: fixed;
    top: 0;
    right:0;
	/*margin-bottom:30px;*/
	padding-top: 5px;
	padding-bottom: 5px;
	z-index: 10;
}

.cate_space{
	margin-left: 5px;
}

#navi {
　　position:absolute;
　　height:60px;
　　z-index:1;
　　width: 100%;
　　background-color: #222;
	text-align:center;
	color:#fff;
	margin:0.5em;
	font-size:160%;
	vertical-align:middle;
}

#navi a{
	margin-left: 5px;
}


.topimg{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: -10px;
}

.pltf{
	padding-bottom: 150px;
}

.day{
	padding-top: 100px;
}

.title_logo{
	position: absolute;
	top:8%;
	left:30%;
	z-index: 1;
}

.gallery_main a:hover img{
opacity:0.95;
filter:alpha(opacity=90);
-ms-filter: "alpha( opacity=90 )";
}

.gallery_main{
	padding-top: 120px;
}

.gallery_left{
/*	background-color: rgba(255,255,255,0.3);

	padding: 0px 0 0;
*/	
}

.topsp{
	margin-top: 50px;
	padding-top: 50px;
	color: #FFF;
	font-size: 250%;
	font-weight: bold;
	position: relative;
}

.clearText {
	margin-bottom:-1.5em;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}




/*コピーライト*/


/*#footerbg{
	background-color: #EEE;
	width: 100%;
}*/


#footer{
	width: 700px;
	text-align:center;
	/*margin-top:10px;*/
	padding-top:50px;
	padding-bottom:50px;
	margin-right: auto;
	margin-left: auto;
}

/*#inc_logo{
	text-align:center;
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	padding-bottom:30px;
}
*/
#inc_logo{
	width: 700px;
	height: 70px;
    display:table-cell;
    text-align:center;
    vertical-align:middle;
    layout-grid-line:200px;
	padding-bottom: 20px;
	padding-top: 0px;
}

#inc_logo img{
    vertical-align:middle;
}

.logo_space{
	margin-left: 50px;
}


#copy{
	margin-right: auto;
	margin-left: auto;
	margin-top: 0px;
	margin-bottom: 10px;
	color:#FFF;
	font-size:90%;
	text-align: center;
}

.topbg{
	background: rgba(0, 0, 70, .2) radial-gradient(rgba(0, 0, 70, .3) 70%, transparent 70%);
	background-size: 5px 5px;

}

#ssbk{
	background: rgba(0, 0, 130, .2) radial-gradient(rgba(0, 0, 130, .3) 70%, transparent 70%);
	background-size: 5px 5px;

	padding: 0px 0 300px;
	text-align: center;
}

#ssbk2{
	background: rgba(0, 0, 130, .2) radial-gradient(rgba(0, 0, 130, .3) 70%, transparent 70%);
	background-size: 5px 5px;

	padding: 0px 0 0px;
	text-align: center;
}


#footerdot{
	background: rgba(0, 0, 70, .2) radial-gradient(rgba(0, 0, 70, .3) 70%, transparent 70%);
	background-size: 5px 5px;

	padding: 0px 0 0;
	text-align: center;
}


.wrctext{
	font-size: 220%;
	width: 820px;
	color: #FFF;
	margin: 0 auto;
	text-align: left;
	margin-bottom: 100px;
	/*text-shadow: 3px 3px 0px rgba(0, 0, 0, 1);*/
}

.wrcmds{
	color: #000;
	background-color: #FFF;
	padding: 10px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	margin-top: 50px;
}

.wrccnt{
	text-align: center;
}

.mode{
	width: 650px;
	margin: 0 auto 10px;
}

section {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
 
#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
 
/*#video {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url('../images/bg-header.jpg') no-repeat;
  background-size: cover;
  z-index: -1;
}*/

.bg-white {
  background: rgba(255, 255, 255, .75);
  position: absolute;
  top: 30px;
  left: 30px;
  padding: 20px;
}

.fitImg{
    position: absolute;
}


.gamebg{
	float: right;
	width: 95%;
	margin-bottom: 80px;
	background-color: rgba(255,255,255,0.2);
}

.gameline{
 	padding-left: 20px;
	margin-left: 30px;
}

.gamemain{
	color: #FFF;
	padding: 30px 0 ;
}

.gbox1{
	float: left;
	width: 45%;
}

.gbox2{
	float: right;
	width: 50%;
}

.gamemds{
	font-weight: bold;
	font-size: 250%;
	margin-bottom: 10px;
	margin-top: 10px;
	text-align: left;
}

.gametxt{
	font-size: 160%;
	text-align: left;
}


.game2bg{
	float: left;
	width: 95%;
	margin-bottom: 80px;
	background-color: rgba(0,0,0,0.5);
}

.game2line{
 	padding-right: 20px;
	margin-right: 30px;
}

.game2main{
	color: #FFF;
	padding: 30px 0 ;
}

.g2box1{
	float: right;
	width: 45%;
}

.g2box2{
	float: left;
	width: 50%;
}

.game3bg{
	float: left;
	width: 95%;
	margin-bottom: 100px;
	background-color: rgba(0,0,0,0.5);
}


#specbk{
	background-color: rgba(0,0,0,0.5);
	margin-top: 80px;
}

#sk{
	position: relative;
	width: 960px;
	padding: 50px 0 50px;
	margin: 0 auto;

}



.spec1main{
	color: #FFF;
	width: 920px;
	margin: 0 auto;
	padding: 50px 0 20px;
	text-align: left;
}

.speccntttl{
	color: #FFF;
	font-size: 150%;
	font-weight: bold;
	margin-top: 20px;
	height: 60px;
}

.specttl{
	background: #B41E23;
	color: #FFF;
	font-size: 180%;
	margin-bottom: 5px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
}

.specttl2{
	background: #3A7FA8;
	color: #FFF;
	font-size: 180%;
	margin-bottom: 5px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
}

.specbkg{
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	padding: 0px 0 0;

}

.spectext{
	font-size: 160%;
	margin-bottom: 15px;
	border-bottom: #FFF solid 1px;
	padding-bottom: 10px;
}

.spectextbgx{
	font-size: 160%;

}

/*.spectext b{
	font-weight: bold;
}*/

.spectext b{
	background: #FFF;
	color: #000;
	font-weight: bold;
	padding: 3px;
}

.spectext8em{
	
}

.spectext_a b{
	background: #FFF;
	color: #000;
	font-weight: bold;
	padding: 3px;

}

.spectext_b b{
	background: #FFF;
	color: #000;
	font-weight: bold;
	padding: 3px;
}

dl {
list-style:none;
	font-size: 150%;
	margin-bottom: 15px;
}

.dl_bd{
	border-bottom: #FFF solid 1px;
}

ul {
list-style:none;
	font-size: 160%;
	margin-bottom: 15px;
}

li{
	border-bottom: #FFF solid 1px;

}

.li_bd{
	border-top: #FFF solid 1px;
	padding-top: 10px;
}

.li_bd2{
	border-top: #FFF solid 1px;
	padding-top: 10px;
	border-bottom: #FFF solid 1px; 
}


.specbd{
	margin-top: 10px;

}

span.dan {
	float:left;
	width: 9em;
	background: #FFF;
	margin: 0 0 10px;
	color: #000;
	font-weight: bold;
	text-align: center;
	
}

span.dan2 {
	display: block;
	margin-left: 110px;
	margin: 0 0 10px;
}

span.dan3{
	float:left;
	width: 9em;
	height: 3em;
	display: flex;
  justify-content: center;
  align-items: center;
	background: #FFF;
	margin: 0 0 10px;
	color: #000;
	font-weight: bold;
	text-align: center;
	
}



.swr{
	color: red;
	font-size: 90%;
}

.psb{
	color: blue;
	font-size: 90%;
}

#shop{
	text-align: center;
	margin: 50px 0 0px;
}

#shop a{
	margin-bottom: 10px;
}

.ps5upg{
	margin-top: 10px;
	font-size: 85%;
}

.dxed{
	width: 600px;
	margin: -20px 0 10px 150px;
	margin-left: 50px;
}

.nswcomm{
	font-size: 90%;
	padding-top: 10px;
}

.bg01{
	/*padding: 100px 0;*/
	height: 681px;
	background: url("../images/bg01.png") center center / cover no-repeat;
	margin-top: 40px;
}

.bg01 img{
	padding-top: 70px;
}

.bg02{
	/*padding: 100px 0;*/
	height: 686px;
	background: url("../images/bg03.png") center center / cover no-repeat;
}



.charamain{
	width: 950px;
	margin: 0 auto;
}

.chara_data{
	position: relative;
	width: 900px;
	margin: 0 auto;
}

.castcomment{
	position: absolute;
	top: 270px;
	left: 50px;
	color: #000;
	font-size: 130%;
	width: 470px;
	height: 6em;
	text-align: left;
}

.castcomment2{
	position: absolute;
	top: 270px;
	left: 50px;
	color: #000;
	font-size: 130%;
	width: 520px;
	height: 7em;
	text-align: left;
}


.chara_left{
	float: left;
	position: relative;
	width: 460px;
	margin-top: 30px;
}

.chara_right{
	float: right;
	position: relative;
	width: 460px;
	margin-top: 30px;
}

.sampleimg{
	position: absolute;
	top: 450px;
	right: 55px;
}

.subimg{
	text-align: center;
	margin-top: 40px;
}

/*#btn01{
	float: left;
	position: relative;
}

#btn02{
	float: right;
	position: relative;
}

#btn03{
	float: left;
	margin-top: 50px;
}

#btn04{
	float: right;
	margin-top: 50px;
}

.sampleimg{
	position: absolute;
	top: 160px;
	right: 20px;
}*/

.ssarea{
	margin-top: 0px;
}

.center{
	padding-top: 30px;
	text-align: center;
}

.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
	color: #FFF;
}

.charatopbk{
	background-color: #050606;
}

.charatopimg{
	text-align: center;
}

.charalist{
	text-align: center;
	padding: 70px 0;
}

.charaspc{
	margin-top: 15px;
}


/*マウスオーバー処理*/
/*.image_mouseover_3 {
overflow: hidden;
width: 100%;
height: 100%;
}*/
.image_mouseover img {
transform: scale(1);
transition-duration: 0.5s;
}
.image_mouseover img:hover {
transform: scale(0.95);
transition-duration: 0.5s;
}
/*マウスオーバー処理*/


.listlink{
	width: 900px;
	height: 120px;
    text-align:center;
    layout-grid-line:200px;
	margin: 30px auto 0;
}

.listlink img{
    vertical-align:middle;
}

.listspc{
	margin-left: 50px;
}



.open {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up {
	display: none; /* label でコントロールするので input は非表示に */
}

.overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}

.window {
	/*background-color: #000;*/
	background: linear-gradient(#1f3766, #0e1a32);
	border-radius: 6px;
	border: 3px solid #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text {
	font-size: 18px;
	margin: 0;
}
.close {
	cursor:pointer;
	position: absolute;
	top: -60px;
	right: 5px;
	font-size: 120px;
	color: #FFF;
}

#pop-up2 {
	display: none; /* label でコントロールするので input は非表示に */
}

#pop-up2:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}


#pop-up3 {
	display: none; /* label でコントロールするので input は非表示に */
}


#pop-up3:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}

#pop-up4 {
	display: none; /* label でコントロールするので input は非表示に */
}


#pop-up4:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}

#pop-up5 {
	display: none; /* label でコントロールするので input は非表示に */
}


#pop-up5:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}


.open img:hover {
transform: scale(0.95);
transition-duration: 0.5s;
}


.testtest{
	width: 950px;
	height: auto;
}

.charaimg{
	float: left;
	padding-top: 50px;
	margin-bottom: -5px;
}

.texttest{
	float: right;
	color: #FFF;
	padding: 0px 50px 0 5px;
	
}

.cha_name{
	font-family:'MyFont Script';
	font-size: 6em;
	font-weight: bold;
	text-align: left;
	text-shadow: 2px 2px 15px #5a96b2 ,
	-2px 2px 15px #5bbab2 ,
	2px -2px 15px #5bbab2 ,
	-2px -2px 15px #5bbab2;
}

.cha_age{
	font-size: 1.8em;
	font-weight: bold;
	text-align: right;
	margin-top: -25px;
	margin-bottom: 0px;
}

.cha_voice{
	font-size: 1.8em;
	font-weight: bold;
	text-align: right;
	margin-bottom: 20px;
}

.cha_text{
	width: 390px;
	font-size: 1.5em;
	text-align: left;
	margin-bottom: 20px;
}

.cha_spc{
	margin-left: 10px;
}

.system_txt{
	width: 900px;
	font-size: 1.5em;
	color: #FFF;
	margin: 0 auto 30px auto;
	text-align: left;
}

.systembox{
	/*width: 940px;*/
	/*height: 249px;*/
	margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;	
	
	
}

.systemleft{
	float: left;
	width: 442px;
	margin-right: 50px;
}

.systemright{
	float: right;
	width: 444px;
}

.systemleft2{
	float: left;
	width: 444px;
	margin-right: 50px;
}

.systemright2{
	float: right;
	width: 442px;
}


@font-face {
  font-family: 'MyFont Script';
  font-style: normal;
  font-weight: 400;
  src: url("../font/A-OTF-ReimPr6-Medium.otf") format('woff');
}

