#mainimgWrap {
	position: relative;
	margin: 0;
	padding: 53.85% 0 0 0;
	width: 100%;
	background: url(../img/mainimg_game_pc.webp) 50% 50% no-repeat;
	background-size: cover;
	@include z-index(mainimg);
	@media screen and (max-width: 767px) {
		margin: 0;
		height: auto;
		padding: 141.54% 0 0 0;
		background: url(../img/mainimg_game_sp.webp) 50% 50% no-repeat;
		background-size: cover;
	}
	#endingPage & {
		padding: 52.5% 0 0 0;
		background: url(../img/clear.webp) 50% 50% no-repeat !important;
		background-size: cover !important;
		@media screen and (max-width: 767px) {
		}
	}
	h1 {
		text-indent: -9999px;
		position: absolute;
		top: 0;
		left: 0;
	}
}

#readyWrap {
	padding: 70px 0;
	background: url(../img/bg01.png) 50% 50% repeat;
	@media screen and (max-width: 767px) {
		padding: 50px 0;
	}
	.readyWrap__inner {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 34px;
		color: $white;
		background: $black;
		border-radius: 9px;
		@media screen and (max-width: 767px) {
			width: 100%;
			padding: 30px 20px;
		}
		&::after {
			content: "";
			position: absolute;
			top: 3px;
			left: 3px;
			width: calc(100% - 10px);
			height: calc(100% - 10px);
			border: 2px solid $white;
			border-radius: 8px;
		}
	}
	.readyWrap__h2 {
		position: relative;
		margin: 0 0 20px;
		padding: 0;
		font-size: 3.4rem;
		font-weight: 700;
		line-height: 140%;
		text-align: center;
		@media screen and (max-width: 767px) {
			font-size: 2.4rem;
		}
	}
	.readyWrap__listcol {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		@media screen and (max-width: 767px) {
			width: 100%;
		}
		&__col {
			width: 48%;
			margin: 0 1%;
			text-align: center;
			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 0 20px;
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
				&:last-child {
					margin: 0 auto;
				}
			}
			&__img {
				width: 36%;
				margin: 0 auto 12px;
				padding: 36% 0 0 0;
				border-radius: 100%;
				background-size: cover !important;
				@media screen and (max-width: 767px) {
					width: 30%;
					margin: 0 4% 0 0;
					padding: 30% 0 0 0;
				}
			}
			&__txt {
				font-size: 1.6rem;
				@media screen and (max-width: 767px) {
					width: 66%;
					font-size: 1.3rem;
					text-align: left;
				}
			}
		}
	}
}

#aboutWrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 70px 0;
	box-sizing: border-box;
	@media screen and (max-width: 767px) {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 50px 0;
	}
	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/bg02.webp) 50% 50% no-repeat;
		background-size: cover;
		@include z-index(mainbg);
	}
	.title__h3 {
		position: relative;
		margin: 0 0 30px;
		padding: 0;
		width: 100%;
		height: 54px;
		text-align: center;
		text-indent: -9999px !important;
		display: block;
		background: url(../img/title_about.png) 50% 50% no-repeat;
		background-size: auto 54px;
		@media screen and (max-width: 767px) {
			margin: 0 0 20px;
			padding: 0;
			height: 44px;
			background-size: auto 44px;
		}
		&::before,
		&::after {
			display: none;
		}
	}
	.aboutWrap__listcol {
		position: relative;
		margin: 0 auto 50px;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		@media screen and (max-width: 767px) {
			margin: 0 auto 34px;
			padding: 0;
		}
		&__col {
			width: 30.33%;
			margin: 0 1.5%;
			padding: 34px 20px;
			background: url(../img/bg03.webp) 50% 50% no-repeat;
			background-size: cover;
			border-radius: 6px;
			border: 4px solid $white;
			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 auto 10px;
				padding: 10px;
				display: flex;
				flex-wrap: wrap;
				&:last-child {
					margin: 0 auto;
				}
			}
			&__img {
				width: 60%;
				margin: 0 auto 14px;
				padding: 0;
				box-sizing: border-box;
				@media screen and (max-width: 767px) {
					width: 24%;
					margin: 0 5% 0 0;
				}
				&__photo {
					width: 100%;
					margin: 0;
					padding: 100% 0 0 0;
					box-sizing: border-box;
					border-radius: 100%;
					background-position: 50% 50% !important;
					background-size: cover !important;
					@media screen and (max-width: 767px) {
					}
				}
			}
			&__txt {
				font-size: 1.6em;
				font-weight: 600;
				color: $black;
				text-align: center;
				@media screen and (max-width: 767px) {
					width: 71%;
					font-size: 1.4em;
					text-align: left;
				}
				strong {
					margin: 0 auto 8px;
					font-size: 1.2em;
					font-family: $font-jp;
					color: $yellow;
					text-align: center;
					display: block;
					@media screen and (max-width: 767px) {
						margin: 0 auto 6px;
						text-align: left;
					}
				}
				small {
					line-height: 130%;
					display: block;
				}
			}
		}
	}
	.aboutWrap__checkcol {
		margin: 0 0 50px;
		padding: 40px;
		border: 2px solid $primary;
		background: $black;
		border-radius: 9px;
		@media screen and (max-width: 767px) {
			margin: 0 0 34px;
			padding: 30px 10px;
		}
		&__h4 {
			margin: 0 0 34px;
			padding: 0;
			font-size: 2.2rem;
			font-weight: 700;
			color: $primary;
			text-align: center;
			@media screen and (max-width: 767px) {
				margin: 0 0 24px;
				font-size: 1.8rem;
			}
		}
		ul {
			margin: 0 0 50px 0;
			padding: 0 0 0 30px;
			@media screen and (max-width: 767px) {
				margin: 0 0 30px 0;
			}
			li {
				margin: 0 0 8px 0;
				padding: 0;
				font-size: 1.6rem;
				line-height: 150%;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
				}
			}
		}
		table {
			width: 100%;
			table-layout: fixed;
			border-collapse: collapse;
			tr,
			td {
				padding: 10px 14px;
				font-size: 1.6rem;
				line-height: 150%;
				border: 1px solid $white;
				@media screen and (max-width: 767px) {
					padding: 4px;
					font-size: 1.3rem;
				}
			}
		}
	}
}

#noteWrap {
	.noteWrap__col {
		margin: 0 0 16px 0;
		background: $black;
		border: 2px solid $white;
		border-radius: 6px;
		&:last-child {
			margin: 0;
		}
		&__tt {
			position: relative;
			padding: 14px;
			font-size: 1.8rem;
			font-weight: 700;
			text-align: center;
			cursor: pointer;
			@include fadeinout;
			@media screen and (max-width: 767px) {
				padding: 14px 8px;
				font-size: 1.6rem;
			}
			&:hover {
				color: $primary;
			}
			span {
				position: relative;
				&::before {
					position: relative;
					content: "";
					top: 2px;
					margin: 0 14px 0 0;
					width: 18px;
					height: 18px;
					background: url(../img/ico_arrow01.svg) 50% 50% no-repeat;
					background-size: cover;
					display: inline-block;
					@media screen and (max-width: 767px) {
						top: 1px;
						width: 14px;
						height: 14px;
						margin: 0 8px 0 0;
					}
				}
				&::after {
					position: relative;
					content: "";
					top: 2px;
					margin: 0 0 0 14px;
					width: 18px;
					height: 18px;
					background: url(../img/ico_arrow01.svg) 50% 50% no-repeat;
					background-size: cover;
					display: inline-block;
					@media screen and (max-width: 767px) {
						top: 1px;
						width: 14px;
						height: 14px;
						margin: 0 0 0 8px;
					}
				}
			}
			&.active {
				span {
					position: relative;
					&::before {
						transform: rotate(180deg);
					}
					&::after {
						transform: rotate(180deg);
					}
				}
			}
		}
		&__txt {
			position: relative;
			padding: 24px;
			font-size: 1.6rem;
			border-top: 2px solid $white;
			display: none;
			@media screen and (max-width: 767px) {
				padding: 18px;
				font-size: 1.4rem;
			}
			ul {
				margin: 0;
				padding: 0 0 0 30px;
				li {
					margin: 0 0 8px;
				}
			}
		}
	}
}

.confirmWrap {
	padding: 70px 0;
	background: url(../img/bg01.png) 50% 50% repeat;
	@media screen and (max-width: 767px) {
		padding: 50px 0;
	}
	&--confirm2 {
		background: url(../img/bg02.webp) 50% 50% no-repeat !important;
		background-size: cover;
	}
	.confirmWrap__inner {
		position: relative;
		width: 100%;
		margin: 0 auto 34px;
		padding: 34px;
		color: $white;
		background: $black;
		border-radius: 9px;
		text-align: center;
		&::after {
			content: "";
			position: absolute;
			top: 3px;
			left: 3px;
			width: calc(100% - 10px);
			height: calc(100% - 10px);
			border: 2px solid $white;
			border-radius: 8px;
			@include z-index(article);
		}
		@media screen and (max-width: 767px) {
			width: 100%;
			margin: 0 auto 24px;
			padding: 34px 10px;
		}
	}
	.confirmWrap__form1 {
		position: relative;
		font-size: 1.6rem;
		@media screen and (max-width: 767px) {
			padding: 0;
		}
		@include z-index(article2);
		#chkAgreement {
			margin: 0 6px 0 0;
		}
		&__listcol {
			margin: 14px 0 0 0;
			padding: 0;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			@media screen and (max-width: 767px) {
			}
			button {
				margin: 0 1%;
				width: 290px;
				height: 50px;
				font-weight: 700;
				display: flex;
				justify-content: center;
				align-items: center;
				background: $white;
				border: 2px solid $primary;
				border-radius: 6px;
				cursor: pointer;
				@include fadeinout;
				@media screen and (max-width: 767px) {
					margin: 0 2%;
					width: 46%;
					height: 50px;
					&:last-child {
						margin: 0;
					}
				}
				&:disabled {
					opacity: 0.4;
					pointer-events: none;
				}
				&.btnstart {
					color: $white;
					background: $secondary;
				}
				&:hover {
					opacity: 0.6;
				}
			}
		}
	}
	.confirmWrap__col {
		position: relative;
		margin: 0;
		font-size: 1.6rem;
		@include z-index(article2);
		@media screen and (max-width: 767px) {
			padding: 0;
		}
		.survey {
			margin: 20px auto 0;
			width: 260px;
			height: 54px;
			color: $blue2;
			font-weight: 700;
			text-decoration: none;
			text-align: center;
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 100px;
			background: $white;
			box-shadow: 5px 5px 0 rgba(255, 255, 255, 0.6);
			@include fadeinout;
			&:hover {
				color: $white;
				background: $blue2;
			}
		}
	}
	.confirmWrap__txt {
		margin: 0 0 30px;
		font-size: 1.8rem;
		font-weight: 700;
		text-align: center;
		@media screen and (max-width: 767px) {
			font-size: 1.5rem;
		}
		&:last-child {
			margin: 0;
		}
		&__logo {
			width: 300px;
			margin: 0 auto 20px;
			display: block;
			@media screen and (max-width: 767px) {
				width: 60%;
			}
			img {
				width: 100%;
				height: auto;
			}
		}
		&__banner {
			width: 600px;
			margin: 0 auto 14px;
			display: block;
			@media screen and (max-width: 767px) {
				width: 100%;
			}
			img {
				width: 100%;
				height: auto;
			}
		}
		&__fc {
			width: 400px;
			margin: 0 auto 14px;
			display: block;
			@media screen and (max-width: 767px) {
				width: 90%;
			}
			img {
				width: 100%;
				height: auto;
			}
		}
	}
	.nextstage {
		position: relative;
		width: 600px;
		height: 64px;
		margin: 20px auto 0;
		padding: 4px;
		font-size: 1.7rem;
		font-weight: 700;
		color: $white;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 6px;
		border: 6px solid $black;
		box-sizing: border-box;
		@include z-index(topbtn);
		@include fadeinout;
		background: linear-gradient($yellow2, $brown);
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
		@media screen and (max-width: 767px) {
			bottom: -7px;
			padding: 3px;
			font-size: 1.5rem;
			line-height: 130%;
			width: 100%;
			height: 54px;
		}
		&::before {
			content: "";
			position: absolute;
			top: -6px;
			left: -6px;
			width: calc(100% + 8px);
			height: calc(100% + 8px);
			border: 2px solid $primary;
			border-radius: 6px;
		}
		&:hover {
			opacity: 0.7;
			color: $white;
			@media screen and (max-width: 767px) {
				opacity: 1;
				color: $white;
			}
		}
		span {
			position: relative;
			&::after {
				content: "";
				position: relative;
				top: 1px;
				width: 15px;
				height: 15px;
				margin: 0 0 0 6px;
				background: url(../img/ico_arrow02.svg) 50% 50% no-repeat;
				display: inline-block;
			}
		}
	}
	.comwrap {
		margin: 0 0 20px;
		text-align: center;
		&__h3 {
			margin: 0 0 20px;
			padding: 0;
			font-size: 2rem;
			font-weight: 700;
			line-height: 140%;
		}
		&__listcol {
			margin: 0;
			padding: 0;
			display: flex;
			flex-wrap: wrap;
			&--list2 {
				&__col {
					width: 100%;
					margin: 0 0 30px 0;
					@media screen and (max-width: 767px) {
						width: 48%;
						margin: 0 4% 12px 0;
					}
				}
			}
			&__col {
				width: 48.5%;
				margin: 0 3% 30px 0;
				@media screen and (max-width: 767px) {
					width: 48%;
					margin: 0 4% 12px 0;
				}
				&:nth-child(2n) {
					margin: 0 0 30px;
					@media screen and (max-width: 767px) {
						margin: 0 0 12px 0;
					}
				}
				&__button {
					width: 100%;
					height: 120px;
					color: $dark;
					font-size: 2.8rem;
					font-weight: 700;
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					background: $white;
					border: 3px solid $black;
					border-radius: 10px;
					box-shadow: 5px 5px 0 rgba(255, 255, 255, 0.5);
					@include fadeinout;
					@media screen and (max-width: 1000px) {
						font-size: 2.6vw;
					}
					@media screen and (max-width: 767px) {
						height: 80px;
						font-size: 1.6rem;
						line-height: 120%;
						box-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5);
					}
					&:hover {
						color: $white;
						background: $blue2;
					}
				}
			}
		}
	}
}

#endingPage {
	background: url(../img/bg01.png) 50% 50% repeat;
}

#noticeWrap {
	padding: 70px 0;
	@media screen and (max-width: 767px) {
		padding: 30px 0;
	}
	.noticeWrap__h2 {
		margin: 0 0 30px 0;
		padding: 0;
		font-size: 2.4rem;
		line-height: 150%;
		text-align: center;
		@media screen and (max-width: 767px) {
			font-size: 1.8rem;
			margin: 0 0 20px 0;
		}
	}
	.noticeWrap__listcol {
		display: flex;
		flex-wrap: wrap;
		&__col {
			width: 48.5%;
			margin: 0 3% 34px 0;
			background: $white;
			border-radius: 10px;
			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 0 14px 0;
			}
			&:nth-child(2n) {
				margin: 0 0 34px;
				@media screen and (max-width: 767px) {
					margin: 0 0 14px 0;
				}
			}
			&__link {
				text-decoration: none;
				&:hover {
					opacity: 0.6;
				}
			}
			&__img {
				width: 100%;
				padding: 52.58% 0 0 0;
				background-size: cover !important;
				border-radius: 10px 10px 0 0;
			}
			&__movie {
				position: relative;
				width: 100%;
				padding: 52.58% 0 0 0;
				background-size: cover !important;
				border-radius: 10px 10px 0 0;
				iframe {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
				}
			}
			&__txt {
				padding: 14px;
				font-size: 1.4rem;
				color: $black;
				text-align: center;
				strong {
					font-size: 1.7rem;
				}
			}
			&__button {
				margin: 10px auto 0;
				width: 200px;
				height: 50px;
				color: $white;
				font-size: 1.6rem;
				font-weight: 500;
				background: $secondary;
				border-radius: 6px;
				display: flex;
				align-items: center;
				justify-content: center;
			}
		}
	}
}

#dlWrap {
	padding: 70px 0;
	background: $black;
	@media screen and (max-width: 767px) {
		padding: 50px 0;
	}
	.dlWrap__inner {
		width: 640px;
		margin: 0 auto;
		@media screen and (max-width: 767px) {
			width: 90%;
		}
		&__h2 {
			margin: 0 0 30px;
			padding: 0;
			font-size: 3rem;
			font-weight: 700;
			text-align: center;
			@media screen and (max-width: 767px) {
				font-size: 2.4rem;
			}
		}
	}
	&__img {
		width: 100%;
		margin: 0 0 20px;
		background-size: cover !important;
		border-radius: 8px;
		border: 3px solid $white;
	}
	&__dl {
		margin: 0 auto;
		width: 160px;
		height: 36px;
		font-size: 1.4rem;
		font-weight: 700;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		color: $white;
		text-shadow: 1px 1px 0 $black, -1px -1px 0 $black, -1px 1px 0 $black, 1px -1px 0 $black, 0px 1px 0 $black,
			0-1px 0 $black, -1px 0 0 $black, 1px 0 0 $black;
		border: 1px solid $primary;
		background: $secondary;
		border-radius: 6px;
		@include fadeinout;
		&:hover {
			opacity: 0.6;
		}
	}
}

#game {
	position: relative;
	background: none !important;
	&::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/bg04.webp) 50% 50% no-repeat;
		background-size: cover;
		@include z-index(mainbg);
	}
	#btnBack {
		position: fixed;
		top: 14px;
		left: 0;
		padding: 0 8px 0 0;
		width: 70px;
		height: 70px;
		font-size: 3.4rem;
		font-weight: 700;
		color: $white;
		background: $black;
		border-radius: 0 100px 100px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 999;
		@include z-index(article3);
		border: none;
		cursor: pointer;
		@include fadeinout;
		@media screen and (max-width: 767px) {
			width: 54px;
			height: 54px;
			padding: 0 4px 0 0;
			font-size: 2.8rem;
		}
		&:hover {
			background: $blue;
		}
	}
	main {
		position: relative;
	}
	.gameWrap {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		display: flex;
		justify-content: center;
		align-items: center;
		&__gameWrap2 {
			position: relative !important;
			margin: 60px 0;
			height: auto;
			@media screen and (max-width: 767px) {
				position: fixed !important;
				margin: 0;
				height: 100vh;
			}
		}
		&__gameWrap3 {
			@media screen and (max-width: 767px) {
				position: relative !important;
				margin: 60px 0;
				height: auto;
			}
		}
		&__inner {
			position: relative;
			width: 100%;
			margin: 0 auto;
			padding: 34px;
			color: $white;
			background: $black;
			border-radius: 9px;
			text-align: center;
			&::after {
				content: "";
				position: absolute;
				top: 3px;
				left: 3px;
				width: calc(100% - 10px);
				height: calc(100% - 10px);
				border: 2px solid $white;
				border-radius: 8px;
				@include z-index(article);
				box-sizing: content-box !important;
			}
			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 auto 24px;
				padding: 34px 10px;
			}
		}
		&__area {
			position: relative;
			width: 100%;
			@include z-index(article2);
			&__movie {
				position: relative;
				width: 64%;
				margin: 0 auto 20px;
				padding: 36% 0 0 0;
				@media screen and (max-width: 767px) {
					width: 100%;
					padding: 62% 0 0 0;
				}
				iframe {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
				}
			}
			&__txt {
				width: 100%;
				margin: 0;
				font-size: 1.6rem;
				line-height: 150%;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
				}
				&__index {
					margin: 0 0 30px;
					font-size: 3.4rem;
					line-height: 140%;
					font-weight: 700;
					@media screen and (max-width: 767px) {
						margin: 0 0 20px;
						font-size: 1.9rem;
					}
				}
				&__index2 {
					margin: 20px 0 10px;
					font-size: 2.4rem;
					line-height: 140%;
					font-weight: 700;
					@media screen and (max-width: 767px) {
						font-size: 1.8rem;
					}
				}
				#roomId {
					margin: 0 auto 10px;
					padding: 8px;
					font-size: 1.8rem;
					color: $white;
					text-align: center;
					border: 1px solid rgba(255, 255, 255, 0.5);
				}
			}
			#joinPlayForm #roomId {
				margin: 0 auto 10px;
				padding: 8px;
				font-size: 1.8rem;
				color: $white;
				text-align: center;
				border: 1px solid rgba(255, 255, 255, 0.5) !important;
				display: block;
			}
			&__btnbox {
				margin: 34px auto 0;
				padding: 0;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: center;
				@media screen and (max-width: 767px) {
					margin: 24px auto 0;
					width: 90%;
				}
				&__btnbox2 {
					display: block;
					.gameWrap__area__btnbox__button {
						width: 70% !important;
						max-width: 400px !important;
						margin: 0 auto 14px !important;
						@media screen and (max-width: 767px) {
							width: 100% !important;
							max-width: 100% !important;
						}
					}
					.gameWrap__area__btnbox__button2 {
						margin: 0 auto 14px;
						height: auto;
						font-size: 1.8rem;
						color: $primary;
						background: none;
						border: none;
						text-decoration: underline;
						@media screen and (max-width: 767px) {
							font-size: 1.6rem;
						}
						&:hover {
							color: $white;
							background: none;
						}
						&:disabled {
							color: $gray;
							pointer-events: none;
						}
					}
				}
				&__button {
					width: 40%;
					max-width: 290px;
					height: 60px;
					margin: 0 1%;
					font-size: 2rem;
					font-weight: 700;
					color: $black;
					display: flex;
					flex-wrap: wrap;
					align-items: center;
					justify-content: center;
					border: 2px solid $primary;
					border-radius: 6px;
					cursor: pointer;
					@include fadeinout;
					@media screen and (max-width: 767px) {
						width: 100%;
						max-width: 100%;
						margin: 6px 0;
						height: 50px;
						font-size: 1.6rem;
					}
					&:hover {
						color: $white;
						background: $secondary;
					}
					&:disabled {
						pointer-events: none;
					}
				}
			}
		}
	}
	#playerSelector {
		font-size: 1.6rem;
	}
}
