/*絵文字用に優先して使うフォントを指定する*/
@font-face {
	font-family: emoji;
	src:
		local("Segoe UI Emoji"),
		local("Segoe UI Symbol"),
		local("Apple Color Emoji"),
		local("Noto Color Emoji"),
		local("Android Emoji"),
		local("Noto Emoji");
		unicode-range:
		U+20E3-21ff, U+2300-2B55, U+1F000-1F9FF;
}
@font-face {
	font-family: emoji;
	font-weight: bold;
	src:
		local("Segoe UI Emoji"),
		local("Segoe UI Symbol"),
		local("Apple Color Emoji"),
		local("Noto Color Emoji"),
		local("Android Emoji"),
		local("Noto Emoji");
		unicode-range:
		U+20E3-21ff, U+2300-2B55, U+1F000-1F9FF;
}

html{
	font-size:16px;
}

body{
	-webkit-text-size-adjust:none;
	font-family: emoji,  "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;

	font-size:16px;
	letter-spacing:0.0625em;
	line-height:1.5;
	margin:0;
	padding:0;
	color:#fff;
	word-break: break-all;
	position: relative;
}

button,textarea,select,input{
	font-family: emoji,  "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size:1rem;
	line-height:1.5;
}





textarea,
select,
input{

	box-sizing:border-box;
	background : #fff;
	color:#121212;

	border-style : solid;
	border-width : 0;
	border-color : #aaa;
	border-radius : 5px;
	font-size:1rem;

	margin:5px 0;
}
textarea{
	padding : 8px 5px 8px 10px;
	line-height:1.2;
	min-height:40px;
}
select,
input{
	height:40px;
}
input{
	padding : 0 10px;
}

textarea{
	height:160px;

}

.btn{
	position:relative;
	display:inline-block;
	background : #f00;
	border-style : solid;
	border-width : 0px;
	border-radius : 5px;
	padding : 0px 15px;
	height:40px;
	font-weight : bold;
	font-size:1rem;
	box-shadow: 1px 2px 2px -1px rgba(0,0,0,0.4);
	cursor:pointer;
	vertical-align: top;
	margin:5px 0;
	color:#fff;
}
a.btn,div.btn{
	display:inline-block;
	box-sizing:border-box;
	padding : 8px 15px;
	vertical-align: top;
	text-align:center;
}

a.btn:hover,div.btn{
	text-decoration:none;
}

.btn:hover{
	background-color : #f44;
}
.btn:active{
	transform:translate(0,2px);
	box-shadow: 0px 1px 2px -1px rgba(0,0,0,0.4);
}

.btn:disabled{
	opacity:0.5;
	cursor:auto;
}

a.btn:hover{
	color:#555555;
}

[data-scroll]{
	cursor:pointer;
}


a{
	color:#fff;
}

img{
	max-width:100%;
}


/*隠し要素関係*/
.openhide {
	box-sizing:border-box;
	position:relative;
	border: solid 2px white;
	border-radius : 5px;
	height:40px;
	font-size:1rem;
	line-height:1;
	cursor:pointer;
	vertical-align: top;
	text-align:center;
	padding-top:10px;
	user-select: none;
}
.openhide:hover{
}

.hidden{
	display:none;
}




/*オーバーレイポップアップ領域*/
div.overlay{
	position:absolute;
	width:100%;
	height:100%;
	min-height:100%;
	right:0;
	bottom:0;
	top:0;
	background:rgba(0,0,0,0.7);
	z-index:11000;
	display:none;
}

div.overlay>div{
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:auto;
	max-width:95%;
	overflow:hidden;
}


div.overlay>div>div{
	padding:0 1.7rem
}

div.overlay.show{
	display:block;
}






/*くるくるするやつ*/
div.spin{
	display:block;
	margin:auto;
	width:240px;
	height:320px;
	position:relative;
}


div.spin>div{
	position:absolute;
	left:49%;
	top:30%;
	width:4%;
	height:10%;
	background:#fff;
	border-radius:10%;
	transform-origin:50% 200%;
	box-shadow: 0px 0px 3px 0px #bbb;

}
div.spin>div:nth-child(1) {
	transform:rotate(0deg);
	animation:waitspin 1.2s linear -1.2s infinite normal;
}
div.spin>div:nth-child(2) {
	transform:rotate(30deg);
	animation:waitspin 1.2s linear -1.1s infinite normal;
}
div.spin>div:nth-child(3) {
	transform:rotate(60deg);
	animation:waitspin 1.2s linear -1.0s infinite normal;
}
div.spin>div:nth-child(4) {
	transform:rotate(90deg);
	animation:waitspin 1.2s linear -0.9s infinite normal;
}
div.spin>div:nth-child(5) {
	transform:rotate(120deg);
	animation:waitspin 1.2s linear -0.8s infinite normal;
}
div.spin>div:nth-child(6) {
	transform:rotate(150deg);
	animation:waitspin 1.2s linear -0.7s infinite normal;
}
div.spin>div:nth-child(7) {
	transform:rotate(180deg);
	animation:waitspin 1.2s linear -0.6s infinite normal;
}
div.spin>div:nth-child(8) {
	transform:rotate(210deg);
	animation:waitspin 1.2s linear -0.5s infinite normal;
}
div.spin>div:nth-child(9) {
	transform:rotate(240deg);
	animation:waitspin 1.2s linear -0.4s infinite normal;
}
div.spin>div:nth-child(10) {
	transform:rotate(270deg);
	animation:waitspin 1.2s linear -0.3s infinite normal;
}
div.spin>div:nth-child(11) {
	transform:rotate(300deg);
	animation:waitspin 1.2s linear -0.2s infinite normal;
}
div.spin>div:nth-child(12) {
	transform:rotate(330deg);
	animation:waitspin 1.2s linear -0.1s infinite normal;
}

@keyframes waitspin {
	0% {background:#fff;}
	10% {background:#fff;}
	80% {background:#333;}
	100% {background:#333;}
}


















header>div{
	position:fixed;
	width:100%;
	text-align:center;
	z-index:1;
	padding: 0;
	margin: 0;
	laft:0;
	top:0;
}

header>div>div{
//	display:inline-block;

	margin:0 auto;

	width:700px;
	max-width:95%;
	font-size:0;
	letter-spacing:0;
	text-align:center;

	display:flex;
justify-content:space-between
}

header>div>div>div{
	display:inline-block;
	padding:1rem 0;
	cursor:pointer;
	font-size:1rem;
}

footer{
	height:100px;
}

footer div.fix.right{
	right:1%;
	bottom:15px;
	position:fixed;
	z-index:9998;
}
footer div.fix img{
	width:40px;
	height:40px;
	margin:0 3px;
}

footer div.fix.left{
	left:1%;
	bottom:15px;
	position:fixed;
	z-index:9998;
}
footer div.fix img{
	width:40px;
	height:40px;
	margin:0 3px;
}






.bg{
	box-sizing:border-box;
	position:fixed;
	width:100%;
	height:200%;
	z-index:-1;
	background:#000;

	transition:background 0.2s;

}


.block .bgimg{
	width:100%;
	height:100vh;
	background-color:transparent;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	position:sticky;
	top:0;
	opacity:0.3;
	z-index:-1;
}

.block.b01 .bgimg{
	position:absolute;
}
.block:not(.b01) .bgimg+*{
	margin-top: -100vh;
	position: relative;
	z-index: 1;
	padding-top:80px;
}


.block{
	box-sizing:border-box;
	width:100%;
	min-height:calc(100vh - 100px);
	font-size:0;
	letter-spacing:0;
	line-height:1;
	margin:0;
	padding:0;
}
.block.b01{
	height:100vh;
	text-align:center;
}
.block.b01 img.logo{
	width:300px;
	max-width:70%;
	border:2px solid white;
	margin: 20% 0 0;
}

.block.b01 div.txt{
	display:inline-block;
	width:700px;
	max-width:90%;
	text-align:left;
	margin: 5% 0 0;
	font-size:16px;
	letter-spacing:0.0625em;
	line-height:1.5;
}

.block.b01 div.txt ul{
	padding:0 0 0 1.2rem;
}

.block h2{
	font-size:50px;
	font-weight:normal;
	text-align:center;
	letter-spacing:0.0625em;
	padding:0;
	margin:80px 0;
}

.block.b02{
}
.block.b03{
}
.block.b04{

}

.block.b04 .openhide {

}

.block.b05{
}


.block div.games,
.block div.recruit{
	width:1200px;
	max-width:100%;
	margin:0 auto;
}
.block div.company,
.block div.support{
	width:700px;
	max-width:95%;
	margin:0 auto;
}

.block div.games,
.block div.recruit,
.block div.company,
.block div.support{
	padding-bottom:200px;
}



.block div.company div.content,
.block div.support div.content{
	width:100%;
	margin:20px 0;
}

.block div.company .openhide,
.block div.support .openhide {
	margin:20px 0;
}

.block div.content{
	box-sizing:border-box;
	display:inline-block;
	width:calc(50% - 40px);
	margin:20px;
	vertical-align:top;

	font-size:1rem;
	letter-spacing:0.0625em;
	line-height:1.5;
}

.block div.openhide {
	margin:20px;
}


@media screen and (max-width: 800px) {
	.block div.games,
	.block div.recruit{
		width:700px;
		max-width:95%;
		margin:0 auto;
	}
	.block div.games div.content,
	.block div.recruit div.content{
		width:100%;
		margin:20px 0;
	}

	.block div.games div.openhide,
	.block div.recruit div.openhide{
		margin:20px 0;
	}

}


.block div.games img,
.block div.recruit img{
	width:100%;
}

.block div.content>h3{
	margin:2rem 0 2rem;
	padding:0;
	font-size:1.2rem;
	letter-spacing:0.0625em;
	line-height:1.3;
}

h3:after{
	content:"";
	width:0px;
	height:0px;
	display:block;
	clear:both;
}

.block div.content h3 div.stat{
	float:right;
	font-weight:normal;
	font-size:1rem;
}

.block div.content div.txt{
}

.block div.content table{
	width:100%;
}
.block div.content table th{
	width:10%;
	min-width:80px;
}

.block div.content table th,
.block div.content table td{
	font-weight:normal;
	text-align:left;
}


.block div.content input{
	width:100%;
}
.block div.content textarea{
	width:100%;
}
.block div.content button{
	width:100%;
}


.block div.content.pub h4{
	margin:2rem 0 0.5rem;
	padding:0;
}

.block div.content.pub h4:first-of-type{
	margin-top:0.5rem;
}


.block div.content.pub img{
	display:inline-block;
	vertical-align:top;
	width:calc(48% - 6px);
	margin:1%;

}

.block div.content.pub .shownext{
	box-sizing:border-box;
	position:relative;
	border: solid 2px black;
	border-radius : 5px;
	height:40px;
	font-size:1rem;
	line-height:1;
	cursor:pointer;
	vertical-align: top;
	text-align:center;
	padding-top:10px;
	user-select: none;
}
