@charset "utf-8";

html {
	font-size: 62.5%;
}

* {
	box-sizing: border-box;
}
 
body {
	background-color: #120f0a;
	font-size: 1.4rem;
	color: #fff;
	line-height: 1.75;
	font-family: -apple-system, "HelveticaNeue", Helvetica;
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
	height: auto;
}

.mt20 {
	margin-top: 20px;
}

.mt50 {
	margin-top: 50px;
}

.wrapper01 {
	background: url(../common/images/bg01.png) repeat 0 0 / 1000px;
}

/* link 
*****************************************/
a:link,
a:visited {
	color: #333;
	text-decoration: underline;
}

/* header
*****************************************/
#header01 {
	position: relative;
	z-index: 100;
	width: 100%;
}

#header01 > .inner01 {
	position: relative;
	z-index: 1000;
	width: 100%;
	height: 63px;
	background-color: rgba(0, 0, 0, .9);
	overflow: hidden;
}

#header01 > .inner01 > .logo01 {
	position: absolute;
	top: 9px;
	left: 13px;
	width: 130px;
}

.headButton01 {
	display: block;
	position: absolute;
	top: 11px;
	right: 15px;
	width: 40px;
	height: 40px;
	border: #fff solid 1px;
	cursor: pointer;
}

.headButton01 > span {
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -13px;
	width: 26px;
	height: 3px;
	background-color: #fff;
	text-indent: 100%;
	white-space: nowrap;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.headButton01 > .top {
	top: 25px;
	transform: translateY(-17px);
}

.headButton01 > .bottom {
	bottom: 25px;
	transform: translateY(17px);
}

.headButton01 > .middle {
	top: 17px;
	transform: translateX(0px);
}

.active .headButton01 > .middle {
	transform: translateX(100px);
	background: rgba(255, 255, 255, 0);
}

.active .headButton01 > .top {
	top: 18px;
	transform: rotate(-45deg) translateY(0px);
}

.active .headButton01 > .bottom {
	bottom: 17px;
	transform: rotate(45deg) translateY(0px);
}

#globalNav01 {
	position: absolute;
	top: -100vh;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, .9);
	-webkit-transition: all .3s;
	transition: all .3s;
}

#globalNav01.active {
	top: 63px;
	height: 120vh;
	z-index: 100;
}

#globalNav01 > ul {
	padding: 15px 0;
}

#globalNav01 > ul > li {
	position: relative;
	margin: 30px auto 0;
	padding-bottom: 6%;
	width: 67.4%;
	height: 0;
	overflow: hidden;
}

#globalNav01 > ul > li:first-child {
	margin-top: 0;
}

#globalNav01 > ul > li > a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: no-repeat 0 0 / 100%;
}

#globalNav01 > ul > li.navi01 > a {
	background-image: url(../common/images/navi01.png);
}
#globalNav01 > ul > li.navi02 > a {
	background-image: url(../common/images/navi02.png);
}
#globalNav01 > ul > li.navi03 > a {
	background-image: url(../common/images/navi03.png);
}
#globalNav01 > ul > li.navi04 > a {
	background-image: url(../common/images/navi04.png);
}


/* footer01
*****************************************/
#footer01 {
	position: relative;
	padding: 25px 4%;
}

.footList01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.footList01 > li.logo01 {
	width: 14%;
}

.footList01 > li.logo02 {
	margin-left: -1%;
	width: 24.3%;
}

.copyrights01 {
	margin: 25px -4% 0;
}

/* contents
*****************************************/
.btnArea01 {
	position: relative;
	margin-top: 40px;
	padding-bottom: 48%;
	width: 100%;
	height: 0;
	border-top: #5b5b5b solid 1px;
	background: url(../common/images/bg02.jpg) no-repeat center top / 100%;
}

.btnArea01 > .button01 {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -20% 0 0 -20%;
	padding-bottom: 40%;
	width: 40%;
	height: 0;
	overflow: hidden;
}

.btnArea01 > .button01 > a {
	position: relative;
	display: block;
	padding-bottom: 100%;
	width: 100%;
	height: 0;
	background: url(../common/images/bg03.png) no-repeat center top / 100%;
}

.btnArea01 > .button01 > a > .inner01 {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding-bottom: 100%;
	width: 100%;
	height: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: no-repeat 0 0 / 100%;
}

.btnArea01 > .button01.type01 > a > .inner01 {
	background-image: url(../feature/images/bt01.png);
}
.btnArea01 > .button01.type02 > a > .inner01 {
	background-image: url(../gameflow/images/bt01.png);
}
.btnArea01 > .button01.type03 > a > .inner01 {
	background-image: url(../point/images/bt01.png);
}
.btnArea01 > .button01.type04 > a > .inner01 {
	background-image: url(../spec/images/bt01.png);
}

.section01 {
	margin-top: 30px;
}

.section01 > .image01 {
	margin-top: -335.8%;
}

.section01 > .image02 {
	margin-top: -59.3%;
}

.section01 > .image03 {
	margin-top: -59.8%;
}

.section01 > .image04 {
	margin-top: -253.4%;
}

.frameArea01 {
	margin: 0 4%;
	padding-bottom: 4%;
	background: url(../gameflow/images/bg01.png) no-repeat bottom center / 100%;
}

.frameArea01 > .button01 {
	margin: 3.6% auto 0;
	width: 67.8%;
}

.list01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-top: 15px;
}

.list01 > li {
	width: 45.2%;
}

/* Clearfix
*****************************************/
.cf:after {
	content: " ";
	display: block;
	clear: both;
}
