@charset "utf-8";
/* CSS Document */

/* 全体設定 */
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,table,th,td {
	margin:0;
	padding:0;
	font-size: 100%;
	font-weight: normal;
	list-style-type: none;
	-webkit-text-size-adjust: 100%;
	outline: none;
}



img,a img { border: none;
	vertical-align: text-bottom;
	-ms-interpolation-mode: bicubic;
	max-width:100%;
	outline: none;
}

a{
	text-decoration: none;
	outline: none;
}


/*--------------------body設定 */
body{
	background: #FFF;
	font-family: ‘Noto Sans Japanese’, sans-serif;
}

/*--------------------ヘッダー設定 */
header{background: #FFF;}


.main_img,.story_con,.chara_con,.sys_con,.ft{
	text-align: center;
	max-width: 1300px;
	margin: 0px auto 0;
	padding: 25px 0;
}

/*--------------------詳細ボタン*/
.btn_act{
	display: block;
	margin: 0 auto;
}

.btn_act:hover{
	opacity: 0.7;
}






/* メインイメージ DLボタンがない場合*/
.main{
	background: #FFF;
	
	overflow: hidden;
}
.main_img{
	position: relative;
	max-width: 1300px;
	height: 700px;
	background: url(../img/back_00.jpg) no-repeat center;
	background-size: cover;
	padding: 0px;
}

.g-title{
	position: absolute;
	left: 50px;
	top:20px;
	z-index: 10;
}

.tw{
	margin: 10px 0 20px;
}
.tw:hover,.kokuti:hover{opacity: 0.5}


.kokuti{
	position: absolute;
	left: 50px;
	top:500px;
	z-index: 15;
	width:350px;
}

.yoyaku{
	position: absolute;
	left: 50px;
	top:480px;
	z-index: 15;
}

.yoyaku1{
	position: absolute;
	right: 100px;
	top:30px;
	z-index: 15;
}

.yoyaku2{
	position: absolute;
	right: 100px;
	top:350px;
	z-index: 15;
}

.yoyaku2:hover,.yoyaku:hover{
	opacity: 0.5
}

.pv{
	position: absolute;
	right: 100px;
	top:500px;
	z-index: 12;
}

.pvbn{
	text-align: center;
	background: #FFF url(../img/back_04.jpg);
	padding: 15px 0;
}
.pv:hover{opacity: 0.9;}

.sptop{display: none;}


@media(max-width: 979px) {
	.main_img{display: none;}
	.sptop{
		display: block;
		position:relative;
		overflow: hidden;
	}
	.sp_dl,.sp_dl2{
		z-index:50;
		position: absolute;
		bottom:2%;
		left:3.5%;
	}
	.sp_dl li{ float:left; width:50%; }
	.sp_dl2 li{ float:left; width:30%; }

}


.smp_img{display: none;}
@media(max-width: 979px) {
	.smp_img{display: block; margin: 0 auto;}
	.pc_img{display: none;}
	.main{height: auto;}
}





/*上部ダウンロードメニュー*/
.promo_dl{
	position: absolute;
	top:450px;
	left:50px;
	margin: px 0 0 200px;}
.promo_dl img{transition: 1.0s;}
.promo_dl img:hover{
	opacity: 0.6;
	transition: 1.0s; 
}
.promo_dl li{float: left; margin-right: 5px;}

.dlbn {margin: 184px 0 0 0;}
@media(max-width: 979px) {

	.promo_dl{display: none;}
	.promo_dl li{float: left;}
	.dlbn {margin: 10px 0 20px 0;}
}



/*sp用ヘッダーメインメニュー*/
.menu-h{
	margin: 0;
	overflow: hidden;
	position: absolute;
	top:50px;
	right: 0px;
	z-index: 80;
}
.menu-h img{max-width: 60%;}
.menu-h li{
	text-align: right;
	width: 240px;
	margin: 10px 0px;
	overflow: hidden;
	transition-duration:0.3s;
}
.menu-h li:hover{
	opacity: .5;
	overflow: hidden;
}


/*--------------------naviボタン*/
#navToggle {display: none;}
@media(max-width: 979px) {
#navToggle {
    display:block; /*通常時は非表示にしておきます*/
    position:absolute; /*bodyに対しての絶対位置指定です*/
    right:0;
    top:13px;
    width:30px;
    height:20px;
    cursor:pointer;
	}
#navToggle div {position:relative;}
#navToggle span{
	display:block;
    position:absolute; /*#navToggle div に対して*/
    width:100%;
	transition: all 0.3s;
    transform: rotate(0deg);
	border-bottom:solid 3px #999;
}
  .one {top:0;}
  .two{top:8px;}
  .three {top:16px;}


.openNav #navToggle .one {
    top: 8px;
    -webkit-transform:rotate(-45deg);
    -moz-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
.openNav #navToggle .two {
    border-bottom:solid 3px rgba(255,255,255,0); }
.openNav #navToggle .three {
    top: 8px;
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
    transform:rotate(45deg);}

}

nav{
	display: none;
	opacity: 0;
}

.openNav nav{
	display: block;
	opacity: 100;
}


/*メインメニュー*/
.menu{
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/menu_back.png) repeat-x;
	height: 80px;
}
.menu ul{}
.menu li{float:left; margin: 0 ;}
.menu li:hover{opacity: .5;}

@media(max-width: 979px) {
	.menu{
		display: none;
	}
	.menu li{width: 33.33%;}
}






/* ストーリー */
.story{
	background: url(../img/back_01.jpg) center top;
	background-size: cover;
	font-family: 'Noto Sans JP', sans-serif;
}

.story_mcon{
	text-align: left;
	max-width:620px;
	background: #fef0cd;
	margin: 20px auto;
	padding: 5px;
	border:5px #462505 solid;
	border-radius:20px;
}
.story_mcon img{display: block; margin: 5px auto;}

@media(max-width: 979px) {

}


/* システム */
.system{
	background: url(../img/back_02.jpg) center top;
	background-size: cover;
	overflow: hidden;
}
.sys{text-align: center;}

.sys_ctn{margin-top: 25px;}
.sys_ctn li{
	margin: 0 auto 25px;
	
}

.btl_con{
	position: relative;
	max-width:600px;
	margin: 0 auto;
}

.cap{
	position: absolute;
	top: 18.5%;
	left:4.34%;
	max-width:550px;
	z-index:2;
}

.single-item{
	max-width: 620px;
	margin: 0 auto;
}

.item img{display: block; margin: 0 auto;}

@media(max-width: 979px) {
	.sys_ctn li{
	margin: 0 3% 25px;
	}
	.btl_con{margin: 0 25% 0;}
	.cap{left:0%; margin: 5%;}
}


/* キャラクター */
.chara{
	background: url(../img/back_03.jpg) center top;
	background-size: cover;
	overflow: hidden;
}
.chara_con ul{
	max-width:800px;
	margin: 0 auto;
	overflow: hidden;
}

.chara_con li{float:left; margin: 20px 5px;}



@media(max-width: 768px) {
	.chara_con ul{max-width:600px;}
.chara_con li{max-width:30%; margin: 10px 5px;}
}




/* フッター設定 */
footer{
	background: #000066;
	padding: 10px;
	overflow:hidden;
	text-align: center;
	color:#FFF;
	font-size:20px;
	font-weight: bold;
}

/*下部ダウンロードリンクバナー1つの場合*/
.dllink_ud{
	max-width: 440px;
	margin: 10px auto 20px;
	overflow: hidden;
}
.dllink_ud li{
	float:left;
	margin-left: 25px;
	transition: 1.0s;
}
.dllink_ud li:hover{
	opacity: 0.5;
	transition: 1.0s;
}
@media(max-width: 979px) {
	
	.dllink_ud li{
		float:none;
		margin: 10px 0;
	}
}

/*下部ダウンロードリンクバナー三つの場合*/
.dllink_ud2{
	max-width: 640px;
	margin: 10px auto 20px;
	overflow: hidden;
}
.dllink_ud2 li{
	float:left;
	margin-left: 25px;
	transition: 1.0s;
}
.dllink_ud2 li:hover{
	opacity: 0.5;
	transition: 1.0s;
}
@media(max-width: 979px) {
	
	.dllink_ud2 li{
		float:none;
		margin: 10px 0;
	}
}


/*購入ムービー*/
.buy_mov ul{text-align:center;}
	.buy_mov li{display:inline-block; 
		font-size:12px;
		margin-right:30px;}
		.buy_mov a:hover{opacity:0.5; }


/*フリー・プレミアム用ポップアップリンク*/
.dl_wd{
	width: 350px;
	height: 250px;
	overflow: hidden;
}
.dl_wd li:hover{opacity: .7;}
.android{background: url(../img/dl_gplink.png) center no-repeat ;}
.android ul{margin: 50px 0 0 170px;}

@media(max-width: 979px) {
	.dl_wd{
		width:240px;
	}
	.ios{background: url(../img/dl_aslink_sp.png) center no-repeat ;}
	.android{background: url(../img/dl_gplink_sp.png) center no-repeat ;}
	.android ul{margin: 40px 0 0 50px;}
}

/*アプリ詳細情報*/
.terminal{
	max-width: 550px;
	margin: 0 auto 20px;
	overflow: hidden;
}
.terminal li{float: left;}
.kadomaru img{border-radius: 10px;}
@media(max-width: 979px) {
	.terminal li{
		float:none;
		margin: 10px 0;
	}


	.tml_smp img{margin-bottom: 80px;}
}

/*SNSボタン*/
#sns_btn{
  padding: 0;
  height: 80px;
  text-align:center;
  width:100%;
  overflow:hidden;}
  
#sns_btn ul{
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  width:280px;
}

#sns_btn li{
  float:left;
  width: 50px;
  margin: 0px 10px;
  padding: 0;
}

#sns_btn a{
  display: block;
  width: 100%;
  height: 50px;
}
#sns_btn a:hover{ opacity:0.5;}

@media(max-width: 720px) {
	#sns_btn{
		margin-bottom: 80px;
	}
}

/*コピーライト*/
.copy{
	color: #FFF;
	font-size: 10px;
}


/* 上に戻るボタン */
.upbtn {
	display: block;
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
.upbtn a {
    background: url(../img/up_btn.png) center no-repeat;
    text-decoration: none;
    color: #fff;
    width: 100px;
	height: 120px;
    text-align: center;
    display: block;
    border-radius: 5px;
	opacity: .5;
}
.upbtn a:hover {
	opacity: 1;
}


/*info用*/
.info_back{
	background:#b77c59 url(../img/back_news.png);
	height: 100vh;
}
.i_back{
	background:#b77c59 url(../img/back_news.png);
	height: auto;
	overflow: hidden;
}

h4{
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color:#FF9F02;
	letter-spacing: 0.4em;
	background: #582100;
}


.left{
	max-width:600px;
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
	margin: 25px auto;
	background: #ebd2a7;
}
.left dt{
	margin: 0;
	list-style: none;
}
.left dl{
	display: table-cell;
	padding: 15px 10px;
	background: #FFF;
	color:#000;
	width: 100%;
	border-bottom: #5B5B5B 1px solid;
	float: left;
}
.left dl:hover{
	color:#F00;
	font-weight: bold;
}

.n_con{
	max-width:600px;
	margin: 0 auto;
	background: #FFF;
	overflow:hidden;
	border-radius: 10px;
	padding-bottom: 15px;
}

h2{
	text-align: center;
	max-width:600px;
	font-weight: bold;
	font-size:25px;
	background: #FFF;
	border-radius: 10px;
	margin: 60px auto 10px;
}
.n_con p{
	margin-top: 10px;
	margin-left: 10px;
	margin-bottom: 5px;
	font-weight: bold;
}
.news_con{
	margin: 10px 10px 0px 15px;
}

.news_con li{
	margin-bottom: 10px;
	border-bottom: dotted 1px #000;
}

.backbtn{
	display: block;
	border-radius: 10px;
	color:#FFF;
	font-weight: bold;
	max-width:300px;
	overflow: hidden;
	background: #411900;
	margin: 30px auto;
	padding: 20px 0;
	text-align: center;
}

.backbtn a{color:#FFF;}


