@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Hi+Melody&display=swap');
/* reset
--------------------------------------------------- */
*, *::before, *::after {
	box-sizing: border-box;
}
ul, ol {
	padding: 0;
}
body, h1, h2, h3, h4, p, ul, ol, li, figure, figcaption, blockquote, dl, dd {
	margin: 0;
}
html {
	font-size: 62.5%;
}
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
}
ul, ol {
	list-style: none;
}
a:not([class]) {
	text-decoration-skip-ink: auto;
}
img {
	max-width: 100%;
	display: block;
}
input, button, textarea, select {
	font: inherit;
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
html {
	font-size: 62.5%;
}
body {
	position: relative;
	background: white;
}
/* ----- clearfix ----- */
.clearfix::after {
	display: block;
	clear: both;
	content: "";
}
/* common
--------------------------------------------------- */
.contents a {
	color: #EA93BA;
	text-decoration: none;
}
.contents a:visited {
	color: #EA93BA;
}
.contents a:hover {
	text-decoration: underline;
}
.contents .no-pc {
	display: none;
}
.contents .no-sp {
	display: block;
}
.contents .xs {
	font-size: 1.2rem;
}
.contents .tax {
	padding: 0 0 0 .25em;
	font-size: 1.2rem;
	font-weight: normal;
}
.sub-txt {
	font-size: 75%;
}
.contents em {
	color: #D3BF8F;
	font-style: normal;
	font-size: 120%;
	font-weight: bold;
}
.contents strong {
	font-style: normal;
	font-weight: bold;
}
.contents .strikethrough {
	color: #666;
	text-decoration: line-through;
}
.contents .caution {
	color: #555;
	padding: 0 0 0 1em;
	font-size: 1.2rem;
	line-height: 1.2;
	text-indent: -1em;
}
.contents .caution::before {
	content: "※";
	color: #555;
}
.contents .advance, .contents .public, .contents .soldout {
	display: inline-block;
	margin: 0 10px 3px 0;
	padding: .5em;
	border-radius: 4px;
	color: #FFF;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
}
.contents .advance {
	background: #F60;
}
.contents .public {
	background: #666;
}
.contents .soldout {
	background: #999;
}
@media screen and (max-width: 767px) {
	.contents .no-pc {
		display: block;
	}
	.contents .no-sp {
		display: none;
	}
}
@media screen and (max-width: 480px) {
	.contents .advance, .contents .public, .contents .soldout {
		display: block;
		margin: 0 0 5px 0;
		font-size: 1.0rem;
	}
	.contents .caution, .contents .xs, .contents .tax {
		font-size: 1.0rem;
		line-height: 1.2;
	}
}
/* LAYOUT
--------------------------------------------------- */
.contents {
	width: 100%;
	min-width: 320px;
	color: #666;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.6;
	background: #fff;
}
.contents.vh {
	height: 100vh;
}
.contents-area {
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}
.contents-inner {
	margin: 1000px 0;
	text-align: center;
}
.contents-inner-vh {
	margin: 0 0;
	text-align: center;
	height: 100vh;
}
@media screen and (max-width: 767px) {
	.contents {
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.contents-inner {
		margin: 600px 0;
	}
}
@media screen and (max-width: 480px) {
	.contents {
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.contents-inner {
		margin: 400px 0;
	}
}
/* HEADDING
--------------------------------------------------- */
.contents h1, .contents h2, .contents h3, .contents h4, .contents h5 {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif !important;
}
/*.contents h1 {
	display: block;
	width: 100%;
	max-width: 500px;
	margin: 500px auto 0;
}
.fadein {
	opacity: 0;
	transform: translate(0, 0);
	transition: all 1.5s;
}
.fadein-up {
	opacity: 1 !important;
	transform: translate(0, -100px);
}
.scrollin {
	opacity: 1 !important;
	transform: translate(0, 0) !important;
}*/
.logobox {
	animation: fdIn 3s ease;
	width: 500px;
	position: absolute;
	left: 5%;
	top: 45%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@keyframes fdIn {
  0% {
		opacity: 0;
	}
  100% {
		opacity: 1;
	}
}
@media screen and (max-width: 768px) {
	.logobox {
		animation: fdIn 3s ease;
		width: 70%;
		max-width: 500px;
		position: absolute;
		left: 50%;
		top: auto;
		bottom: 10%;
		-webkit-transform: translateY(0%) translateX(-50%);
		transform: translateY(0%) translateX(-50%);
	}

}
.contents h1 {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 20px;
}
.contents h2 {
	display: block;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}
.contents h3 {
	display: block;
	width: 100%;
	max-width: 500px;
	margin: 0 auto 50px;
}
.contents h4 {
	font-size: 2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.contents h1 {
		font-size: 2.8rem;
	}
	.contents h2 {
		font-size: 2.4rem;
	}
	.contents h3 {
		font-size: 3rem;
	}
	.contents h4 {
		font-size: 1.6rem;
	}
}
/* header
--------------------------------------------------- */
#mainnavi {
	background: #ed1e79;
	width: 100%;
	padding: 10px 20px;
	z-index: 10;
}
#mainnavi.m_fixed {
	left: 0;
	position: fixed;
	top: 0;
}
.navilogo {
	display: block;
	width: 100%;
	max-width: 100px;
	padding: 10px;
}
.navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}
.menu-toggle {
	display: none;
	cursor: pointer;
	font-size: 3rem;
}
.nav-menu {
	display: flex;
	list-style: none;
}
.nav-menu li {
	position: relative;
}
.nav-menu a {
	color: #fff;
	text-decoration: none;
	padding: 1rem;
	display: block;
	transition: background-color 0.3s;
	font-family: "Arial Black", Gadget, "sans-serif";
}
.nav-menu a:hover {
	background-color: #555;
	text-decoration: none;
}
.nav-menu a:visited {
	color: #fff;
}
@media screen and (max-width: 768px) {
	.menu-toggle {
		display: block;
	}
	.nav-menu {
		position: fixed;
		left: -100%;
		top: 4rem;
		flex-direction: column;
		background-color: #333;
		width: 100%;
		text-align: center;
		transition: 0.3s;
		box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
		z-index: 10;
	}
	.nav-menu.active {
		left: 0;
	}
	.nav-menu li {
		margin: 2.5px 0;
	}
}
/* HERO
--------------------------------------------------- */
.hero {
	background: #fff;
}
.hero-inner {}
.movie_blk {
	width: 100%;
	height: 100vh;
	position: relative;
}
.movie_blk video {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: 0 -600px;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 1024px) {
	.movie_blk video {
		object-position: 0 -250px;
	}
}
@media screen and (max-width: 768px) {
	.movie_blk video {
		object-position: 0 0px;
	}
}
@media screen and (max-width: 480px) {
	.movie_blk video {
		object-position: 0 0;
	}
}
.movie_blk div.mvtop {
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 1;
	background: url("../images/dot.png") repeat center center;
	background-size: 100px;
	opacity: .5;
}
.movie_blk div.mvtopbt {
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 1;
	background: url("../images/gra.png") repeat-x bottom center;
	background-size: 25px;
}
/* join
--------------------------------------------------- */
.joinbox {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
		transform: translateY(-50%) translateX(-50%);
}
/* btn
--------------------------------------------------- */
a.linkBtn {
	display: block;
	width: 100%;
	max-width: 200px;
	text-align: center;
	margin: 20px auto;
	background: #FFF;
	color: #ed1e79;
	border: solid 1px #ed1e79;
	padding: 10px 20px;
	border-radius: 50px;
}
a.linkBtn:hover {
	background: #ed1e79;
	color: #FFF;
	text-decoration: none;
}
/* NOTES
--------------------------------------------------- */
.notes {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.notes li {
	padding: 0 0 0 1em;
	text-indent: -1em;
	text-align: left;
}
.notes li::before {
	content: "※";
}
.notes.dot li::before {
	content: "・";
}
.notes.sq li::before {
	content: "■";
}
.notes li + li {
	margin: .5em 0 0;
}
@media screen and (max-width: 767px) {
	.notes {}
	.notes li {}
}
@media screen and (max-width: 480px) {
	.notes li + li {
		margin: .5em 0 0;
	}
}
/* sns
--------------------------------------------------- */
.icon01 {
	line-height: 1;
	padding: 10px 0;
}
.icon01::before {
	content: '';
	background: url("../images/icon01.png") center center no-repeat;
	background-size:20px;
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
}
.icon02::before {
	content: '';
	background: url("../images/icon02.png") center center no-repeat;
	background-size: 20px;
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
}
/* see you
--------------------------------------------------- */
.seeyou {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}
/* footer
--------------------------------------------------- */
footer {
	padding: 20px;
}
.credit li {
	font-size: 1rem;
}