@charset "UTF-8";

/*------------------------
  共通項目
------------------------*/
.image-guard img {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  touch-callout: none;
  user-select: none;
}

@media screen and (min-width: 1025px) {
  .pc-none {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .sp-none {
    display: none;
  }
}
ul {
  padding: 0px;
  margin: 0;
  list-style: none;
}
ul.indent li {
  text-indent: -1em;
  padding-left: 1em;
}
#wrap {
	width: 100%;
  animation: fadein 2s forwards;
  /*padding: 1000px 0px;*/
}
a {
  text-decoration: none;
  word-wrap: break-word;
  word-break: break-all;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
  color: none;
	/*cursor: url("../images/cursor.svg"), pointer;*/
}
a:hover {
  text-decoration: none;
}
a:focus {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
a:visited {
  color: #000;
}
a.btn {
  width: 400px;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

@media screen and (max-width: 599px) {
  a.btn {
    width: 100%;
  }
}

.header .gnav li:not(:last-child):after {
  z-index: 0 !important;
}

img{
	width: 100%;
	height: auto;
}


/*------------------------
  コンテンツ
------------------------*/
.all{
	font-family: "Zen Maru Gothic", serif;
}

.main-visual{
	width: 100%;
	background-image: url(../images/main-bg.jpg);
	background-size: cover;
	height: auto;
	padding-top: 56.25%;
	position: relative;
	text-align: center;
}

.logo-area{
	width: 35%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
}
.logo-area h1{
	width: 100%;
	text-align: center;
}

.all-contents{
	width: 100%;
	background-image: linear-gradient(90deg, rgb(68 229 195) 0%, rgb(60 230 189) 25%, rgb(15 239 155) 46%, rgb(2 245 139) 68%, rgb(0 245 136) 100%);
}

.in-contents{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0px;
}
.repeat-block{
	padding-bottom: 100px;
}
.repeat-block h2{
	text-align: center;
	font-weight: bold;
	font-size: 3em;
	color: #fff;
	padding-bottom: 1em;
	text-shadow: 2px 2px #42e5c2;
	letter-spacing: -2px;
}

.lead-txt{
	width: 100%;
	background: #fff;
	border-radius: 30px;
	box-shadow: 10px 10px 0px rgba(0,0,0,0.2);
	padding: 50px;
	font-size: 1.2em;
	line-height: 2;
	text-align: center;
	font-weight: bold;
}

.block-contents{
	width: 100%;
	background: #fff;
	border-radius: 30px;
	box-shadow: 10px 10px 0px rgba(0,0,0,0.2);
	font-size: 1.2em;
}

.cp-about{
	width: 100%;
	background: #fff;
	border-radius: 30px;
	box-shadow: 10px 10px 0px rgba(0,0,0,0.2);
	padding: 50px;
	font-size: 1.2em;
}

.cp-visual img{
	border-radius: 30px 30px 0px 0px;
}

.cp-contents{
	padding: 50px 30px;
}
.cp-contents h3{
	padding: 10px;
	color: #fff;
	font-weight: bold;
	font-size: 2em;
	text-align: center;
	border-radius: 10px;
	margin-bottom: 30px;
	background-image: linear-gradient(270deg, rgb(68 229 195) 0%, rgb(60 230 189) 25%, rgb(15 239 155) 46%, rgb(2 245 139) 68%, rgb(0 245 136) 100%);
	text-shadow: 2px 2px #42e5c2;
}
.cp-lead{
	font-weight: bold;
	text-align: center;
	padding-bottom: 50px;
}

.cp-lead span{
	font-size: 1.2em;
	background: linear-gradient(transparent 60%, #54ff74 40%);
	padding: 0px 5px 0px 10px;
}

.cp-mov{
	width: 100%;
	padding-bottom: 50px;
}

.cp-mov ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 20px;
}
.cp-mov ul li{
	width: 100%;
}
.cp-mov ul li iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.about-area{
	padding-bottom: 50px;
}

.about-area dl{
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}

.about-area dt{
	width: 23%;
	font-size: 1.2em;
	font-weight: bold;
}
.about-area dt span::before{
  content: '●';
  color: #54ff74;
  margin-right: 8px;
}

.about-area dd{
	width: 77%;
}

.fan-darts{
	padding: 10px;
	color: #fff;
	font-weight: bold;
	font-size: 2em;
	text-align: center;
	border-radius: 10px;
	margin-bottom: 30px;
	background-image: linear-gradient(270deg, rgb(68 229 195) 0%, rgb(60 230 189) 25%, rgb(15 239 155) 46%, rgb(2 245 139) 68%, rgb(0 245 136) 100%);
	text-shadow: 2px 2px #42e5c2;
}

.cp-contents p{
	text-align: center;
	font-weight: bold;
}


@media screen and (max-width: 799px) {
	.in-contents{
		padding: 50px 0px;
	}
	.repeat-block h2{
		font-size: 1.5em;
		letter-spacing: normal;
	}
	.lead-txt{
		padding: 30px;
		text-align: left;
		line-height: normal;
		font-size: 1em;
		box-shadow: 5px 5px 0px rgba(0,0,0,0.2);
	}
	.block-contents{
		font-size: 1em;
		box-shadow: 5px 5px 0px rgba(0,0,0,0.2);
	}
	.cp-about{
		padding: 25px;
		font-size: 1em;
		box-shadow: 5px 5px 0px rgba(0,0,0,0.2);
	}
	.cp-contents{
		padding: 25px;
		text-align: left;
	}
	.fan-darts,
	.cp-contents h3{
		font-size: 1.2em;
	}
	.cp-lead{
		text-align: left;
	}
	.cp-mov ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
	.about-area dl{
		display: block;
	}
	.about-area dt,
	.about-area dd{
		width: 100%;
	}
}


.zoomInTrigger{
	opacity: 0;
}

.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
	0%{
		width: 0%;
		opacity: 0;
	}
	50%{
		width: 42%;
		opacity: 1;
	}
	66%{
		width: 35%;
		opacity: 1;
	}
	88%{
		width: 36%;
		opacity: 1;
	}
	100%{
		width: 35%;
		opacity: 1;
	}
}


.blur {
  animation-name: blurAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
.blurTrigger {
  opacity: 0;
}
.movieModal{
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.movieModal > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modaal-content-container{
	padding: 0px !important;
}