@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap&subset=japanese');
/*---------------------------------------*/
@-ms-viewport
{
	width: auto;
	initial-scale: 1;
}
@viewport
{
	width: device-width;
}
/*---------------------------------------*/
html {
	font-size:15px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
}

html, body {
	min-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	height: 100%;
}
body {
	font-family: 'Noto Sans Japanese', sans-serif;
	background: rgba(0,0,0,1.0);
	color: rgba(255,255,255,1.0);
}
* {
	box-sizing: border-box;
}
*:before,
*:after {
	box-sizing: border-box;
}
a:active,
a:focus {
	text-decoration: none;
}
/*-----------------------------------------
** loading
-----------------------------------------*/
.__loadingWrap{
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,1.0);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	overflow: hidden;
	/*display: none;*/
	/*background: rgb(60,93,110);
	background: -moz-linear-gradient(-45deg, rgba(60,93,110,1) 0%, rgba(16,16,24,1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(60,93,110,1) 0%,rgba(16,16,24,1) 100%);
	background: linear-gradient(135deg, rgba(60,93,110,1) 0%,rgba(16,16,24,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3c5d6e', endColorstr='#101018',GradientType=1 );*/
}
.__loadingWrap .__flag {
	position: absolute;
	width: 100px;
	height: 100px;
	/*background: url(../img/ic-mugiwara.svg) center center no-repeat;
	background-size: contain;*/
	bottom: 50%;
	right: 50%;
	transform: translate(50%,50%);
	/*margin-top: -2px;*/
}

/*プログレスバー*/
.__progressbar {
	width: 0;
	height: 2px;
	background: rgba(0,0,0,1.0);
	background-size: cover;
	position: fixed;
	top: 60%;
	left: 0;
	transition: all 0.2s linear 0s;
	opacity: 0;
}

.__logo-large {
	width: 400px;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%,50%);
}

/*loading circle*/
.loader,
.loader:after {
	border-radius: 50%;
	width: 500px;
	height: 500px;
}
.loader {
	margin: 75px auto 0 75px;
	font-size: 10px;
	/*position: relative;*/
	text-indent: -9999em;
	border-top: 5px solid rgba(0, 0, 0, 0.2);
	border-right: 5px solid rgba(0, 0, 0, 0.2);
	border-bottom: 5px solid rgba(0, 0, 0, 0.2);
	border-left: 5px solid #000;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
	
	position: absolute;
	bottom: calc(50% - 250px);
	right: calc(50% - 250px);
	transform: translate(50%,50%);
}
@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@media screen and (max-width:768px) {
	.__logo-large {
		width: 180px;
		position: absolute;
		right: 50%;
		bottom: 50%;
		transform: translate(50%,50%);
	}
	/*loading circle*/
	.loader,
	.loader:after {
		border-radius: 50%;
		width: 220px;
		height: 220px;
	}
	.loader {
		margin: 75px auto 0 75px;
		font-size: 10px;
		/*position: relative;*/
		text-indent: -9999em;
		border-top: 5px solid rgba(0, 0, 0, 0.2);
		border-right: 5px solid rgba(0, 0, 0, 0.2);
		border-bottom: 5px solid rgba(0, 0, 0, 0.2);
		border-left: 5px solid #000;
		-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-animation: load8 1.1s infinite linear;
		animation: load8 1.1s infinite linear;

		position: absolute;
		bottom: calc(50% - 110px);
		right: calc(50% - 110px);
		transform: translate(50%,50%);
	}
}



.__op-copy {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,1.0);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
	overflow: hidden;
}
.__op-copy-txt {
	width: 80%;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%,50%) scale(3);
	opacity: 0;
	/*transition: 0.1s easeOutElastic;*/
	transition: all 0.1s cubic-bezier(0.420, 0.015, 0.000, 1.650);
}
.__op-copy-txt.__move {
	width: 80%;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%,50%) scale(1);
	opacity: 1;
}
@media screen and (max-width:768px) {}



#wrapper {
	opacity: 1;
	display: flex;
}
#wrapper.load {
	opacity: 1;
	/*transition: opacity 5.0s;
	-moz-transition: opacity 5.0s;
	-webkit-transition: opacity 5.0s;
	-o-transition: opacity 5.0s;*/
}


/*-----------------------------------------
** section
-----------------------------------------*/
section {
	margin: 0;
	padding: 0;
}

/*-----------------------------------------
** footer
-----------------------------------------*/
footer {
	margin: 0 0 0 0;
	padding: 10px;
	background: rgba(0,0,0,1.0);
	text-align: center;
}
footer p {
	color: rgba(255,255,255,1.0);
	font-size: 0.6rem;
	padding: 0;
	margin: 0;
}
@media screen and (max-width:768px) {}


