@charset "utf-8";
/* #78564a */
body{
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
/*
    color: #fff;
    background: var(--textColor);
*/
--mainColor: #0cacc6;
--textColor: #0cacc6;
--subColor: #F5F5F5;
  color:  var(--textColor);
}
#wrapper{
	position: relative;
	z-index: 1;
}
img{
	width: 100%;
	height: auto;
}
a{
	font-family: 'Hind', sans-serif;
	font-weight: 500;
	text-decoration: none;
	color: var(--mainColor);
}
.spbr, .spbr2{
	display: none;
}

#main{

}
#contents{
	padding: 50px 0 100px;
/* 	background-color: rgba(225, 225, 225, 0.8); */
}
#contents section{
	padding: 50px 0;
}
#contents .inner{
	max-width: 950px;
    margin: 0 auto;
    padding: 0 50px;
    position: relative;
}
#contents .mainSec h2{
	font-family: 'Hind', sans-serif;
	font-weight: 600;
    font-size: 50px;
    line-height: 1em;
    padding: 50px 0;
    text-align: center;
    letter-spacing: 1px;
    color: var(--mainColor);
    letter-spacing: 5px;
}
.btn a{
    text-align: center;
    border: solid 1px var(--mainColor);
    display: block;
    padding: 15px 0;
    margin: 0 auto;
    transition: .3s;
    -webkit-transition: .3s;
    letter-spacing: 5px;
    text-indent: 5px;
    margin-top: 20px;
    margin-top: 10px;
}
.btn a:hover{
	color: #FFF;
    border: solid 1px var(--mainColor);
    background: var(--mainColor);
}
.btn a.disable:hover{
  border: solid 1px var(--mainColor);
  background: transparent;
  color: var(--mainColor);
}

.movie-wrapper{
	position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    z-index: 1;
}
.movie-wrapper img, 
.movie-wrapper iframe{
	position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}


/***** gimmick *****/
.fadeIn{
	opacity: 0;
    transform: translate(0,5%);
    -webkit-transform: translate(0,5%);
    transition: .3s ease-out;
    -webkit-transition: .3s ease-out;
}
.fadeIn.scrollIn{
	opacity: 1;
    transform: translate(0,0);
    -webkit-transform: translate(0,0);
    transition: .8s ease-out;
    -webkit-transition: .8s ease-out;
}
/***** gimmick *****/


/***** loading *****/
#loading{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	background: #fff;
}
.loading #loading{
	display: block;
}
#loading .load-title{
	
}
#loading .load-text{
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
  width: 50%;
  margin: 0 auto;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	text-align: center;
}
#loading .load-text .logo{
	margin: 0 auto;
	width: 70%;
	position: relative;
}
#loading .load-text .logo canvas {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #FFF;
}
#loading .load-text .title{
	width: 40%;
	margin: 0 auto;
	padding-top: 50px;
}
#loading .enter{
	position: relative;
  margin: 0 auto;
  display: block;
	cursor: pointer;
	font-size: 13px;
	text-align: center;
	border: solid 1px var(--textColor);
	padding: 20px 30px;
	opacity: 0;
	color: var(--textColor);
	letter-spacing: 5px;
  border-radius: 30px;
  text-indent: 0.3em;
  display: inline-block;
}
#loading .enter:hover{
	color: #fff;
	background: var(--textColor);
	border: solid 1px var(--textColor);
	transition: .5s;
	-webkit-transition: .5s;
}

#loading .load-title .load-text .logo,
#loading .load-title .load-text .title{
	opacity: 0;
}
#loading .load-title.anim1 .load-text .logo,
#loading .load-title.anim1.anim2 .load-text .title,
#loading .load-title.anim1.anim2.anim3 .enter{
	opacity: 1;
	animation: fade 3s;
	-webkit-animation: fade 3s;
}
@keyframes fade{
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/***** header *****/
header{
/* 	background: var(--textColor); */
	overflow: hidden;
	z-index: 100;
}
header .mainvisual{
	line-height: 0;
	padding-top: 115px;
/*
	height: 100vh;
	display: flex;
	align-items: center;
*/
	transition: .6s;
  opacity: 1;
}
.loading header .mainvisual{
	opacity: 0;
}
header .mainvisual img{
	width: 106%;
	margin-left: -50px;
}
header .scroll{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	font-family: 'Hind', sans-serif;
	color: var(--mainColor);
	font-size: 16px;
	letter-spacing: 5px;
}
header .scroll:before{
	content: "";
	position: absolute;
	width: 1px;
	height: 80px;
	left: 50%;
	background: var(--mainColor);
	bottom: 0;
	animation: scroll-anime 2s ease-out 0s infinite normal;
    -webkit-animation: scroll-anime 2s ease-out 0s infinite normal;
}
header .scroll p{
	padding-bottom: 95px;
	text-indent: 5px;
}
@keyframes scroll-anime{
	0% {
		transform: scaleY(0);
		-webkit-transform: scaleY(0);
		transform-origin: top;
		-webkit-transform-origin: top;
	}
	30% {
		transform: scaleY(1);
		-webkit-transform: scaleY(1);
		transform-origin: top;
		-webkit-transform-origin: top;
	}
	50% {
		transform: scaleY(1);
		-webkit-transform: scaleY(1);
		transform-origin: bottom;
		-webkit-transform-origin: bottom;
	}
	80% {
		transform: scaleY(0);
		-webkit-transform: scaleY(0);
		transform-origin: bottom;
		-webkit-transform-origin: bottom;
	}
	100% {
		transform: scaleY(0);
		-webkit-transform: scaleY(0);
		transform-origin: bottom;
		-webkit-transform-origin: bottom;
	}
}
header .scroll.--is_show{
	opacity: 0;
}


/***** navigation *****/
#navigation{
	position: fixed;
	left: 10px;
/* 	top: 20px; */
	padding: 20px 0;
	z-index: 999;
}
#navigation .logo{
	width: 15%;
	padding-left: 10px;
	padding-bottom: 15px;
}


/***** release *****/
#release .release-info{
	overflow: hidden;
	padding-bottom: 50px;
}
#release .release-info .release-title{
  text-align: center;
  font-size: 165%;
  font-family: 'Hind', sans-serif;
  line-height: 1.6em;
  margin-bottom: 1em;
}
#release .release-info .release-title span,
#release .release-info .release-title strong{
  display: block;
  font-weight: 500;
}
#release .release-info .release-title strong{
  font-size: 215%;
  display: block;
  line-height: 1;
  width: 5em;
  margin: 0.6em auto;
}
#release .release-info .text{
	line-height: 1.8em;
}
#release .release-info .text .flex-row{ 
  display: flex;
  gap: 50px;
}
#release .release-info .text .flex-row li{
  flex-grow: 0;
  margin-bottom: 1.8em;
}
#release .release-info .jkt{
	box-sizing: border-box;
}
#release .release-info .tracklist{
  margin-bottom: 1em;
}
#release .release-info .tracklist li span{
  font-size: 90%;
  display: inline-block;
}
#release .release-info .text p.date{
	font-size: 20px;
	padding-bottom: 20px;
}
#release .release-info .text h3{
	padding-bottom: 20px;
}
#release .release-info .text h4{
	padding-top: 20px;
}

/* digital */
#digital .release-info,
#event h5{
	padding-top: 65px;
}
#digital .release-info .jkt, 
#digital .release-info .btn{
	float: none;
	width: 50%;
	margin: 0 auto;
}
#digital .release-info .text{
	text-align: center;
	margin-left: 0;
	padding-left: 0;
}
#digital .release-info .text h3{
	padding: 20px 0 10px;
	font-size: 20px;
	font-weight: normal;
	line-height: 1.8em;
	letter-spacing: 3px;
}
#digital .release-info .text h3 span{
	font-size: 25px;
	font-weight: 600;
}

/* event */
#event{
	text-align: center;
}
#event h5{
	font-size: 18px;
	line-height: 2em;
	font-weight: bold;
}
#event h5 span{
	font-size: 27px;
}
#event .info h6{
	font-size: 23px;
	margin: 18px 0;
}
#event .info h6 span{
	padding: 5px;
	background: linear-gradient(transparent 70%, var(--mainColor)82 70%);
}
#event .info{
	line-height: 1.5em;
}
#event .info p{
	font-weight: bold;
	margin-bottom: 10px;
}
#event .info ul li{
	margin: 10px 0;
}
#event .info ul.note{
	display: inline-block;
	text-align: left;
	font-size: 13px;
}
#event .info ul.note li{
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
}
#event .info .btn{
	padding-top: 20px;
}

#contents .sub-section{
  background: #F5F5F5;
  background: var(--subColor);
  padding: 50px;
	margin: 50px auto;
}

#contents .sub-section h4{
	font-size: 25px;
  text-align: center;
  color: var(--mainColor);
  line-height: 1.6em;
  margin-bottom: 2em;
}
#contents .sub-section h4 span{
	padding: 5px;
/*   background: linear-gradient(transparent 70%, var(--mainColor) 70%); */
  background: #FFF;
  display: inline-block;
  line-height: 1em;
}
#contents .sub-section p{
  line-height: 1.8em;
}
#contents .sub-section .tokuten_info{
   display: flex;
}
#contents .sub-section .tokuten_image{
  width: 40%;
  padding-right: 50px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.lead{
	text-align: center;
    line-height: 1.8em;
    margin-bottom: 30px;
}
#shoplink .shop-list{
	margin: 0 -20px;
	margin-top: 25px;
	max-width: 950px;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
/*     align-items: flex-end; */
}
#shoplink .shop-list .shop-item{
	box-sizing: border-box;
	padding: 10px 20px 30px;
  flex-basis: 50%;
}
#shoplink .shop-list .shop-item:nth-child(7){
	margin: 0 auto;
}
#shoplink .shop-list .shop-info{
	text-align: center;
	padding-bottom: 20px;
	display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-end;
    height: 80px;
}
#shoplink .shop-list .shop-info p{
	line-height: 1.5em;
	width: 100%;
}
#shoplink .shop-list .size{
	font-size: 12px;
}
#shoplink .shop-list .small{
	display: inline-block;
	font-size: 12px;
}
#shoplink .shop-list .shop-note ul.small li{
	text-align: left;
}
#shoplink .shop-list .shop-info p.shop{
	padding-bottom: 10px;
	font-weight: bold;
}
#shoplink .shop-list .links .btn{
	display: flex;
	margin: 0 -5px;
}
#shoplink .shop-list .links .btn a{
    line-height: 1em;
	width: 50%;
    margin-left: 5px;
    margin-right: 5px;
}
#shoplink .link{
	text-align: center;
	padding-top: 80px;
}
#shoplink .link p{
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 20px;
}
#shoplink .link .btn a{
	width: 40%;
}
#shoplink .note{
	font-size: 11px;
	line-height: 1.5em;
	display: inline-block;
	padding-top: 10px;
}
#shoplink .note li{
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}

/***** live *****/
#live{
  background: var(--subColor);
}
#contents #live.mainSec h2{
}
#live .tourinfo{
	text-align: center;
/* 	margin-top: -18px; */
}
#live .tourinfo h3{
	font-size: 23px;
	margin: 18px 0;
	font-family: 'Hind', sans-serif;
}
#live .tourinfo h3 span{
	padding: 0 5px;
	display: inline-block;
  background: linear-gradient(transparent 55%, #FFD8A4 55%);

}
#live .tourinfo .live-image{
	width: 70%;
	margin: 0 auto;
	padding-bottom: 13px;
}
#live .tourinfo .fes-logo{
	width: 50%;
}
#live .tourinfo p.title{
	font-size: 18px;
	line-height: 1.8em;
	font-weight: bold;
}
#live .tourinfo .schedule{
	line-height: 1.5em;
}
#live .tourinfo .schedule li{
	margin: 10px 0;
	font-size: 115%;
}
#live .tourinfo h4{
	font-size: 20px;
	margin: 2em 0 1em;
	font-family: 'Hind', sans-serif;
}
#live .tourinfo h4 span{
	padding: 0 5px;
	display: inline-block;
  background: linear-gradient(transparent 55%, #FFD8A4 55%);
}
#live .tourinfo .ticketlik{
  margin: 30px auto;
}
#event .info .btn,
#live .tourinfo .btn{
	width: 30%;
	margin: 0 auto;
}
#live .fesinfo{
	margin-top: 100px;
}
#live .fesinfo ul.ticket{
	display: inline-block;
	text-align: left;
	line-height: 1.5em;
}
#live ul.ticket li a{
	transition: 3s;
	-webkit-transition: 3s;
}
#live ul.ticket li a:hover{
	text-decoration: underline;
}
#live .fesinfo{
  padding-bottom: 30px;
}
#live .fesinfo p{
  margin: 1em 0;
  line-height: 1.6em;
}

/***** tie up *****/
#tieup h3{
  font-size: 20px;
  margin: 1em 0;
  text-align: center;
}
#tieup p{
  line-height: 1.8em;
  margin: 1em 0;
  text-align: center;
}
#tieup figure{
  margin: 1em auto;
  max-width: 640px;
}
#tieup figure figcaption{
  text-align: left;
  margin: 0.5em;
  font-size: 90%:
}

#tieup  .movie-wrap{
  margin: 30px auto;
  max-width: 640px;
}

/***** footer *****/
#siteFooter{
	font-size: 12px;
	padding: 40px 0;
	background: var(--mainColor);
	text-align: center;
}
#siteFooter .copyright{
	line-height: 20px;
    text-align: center;
    font-family: 'Hind', sans-serif;
    padding-top: 30px;
    color: #FFF;
}
#siteFooter .sns ul li{
	display: inline-block;
	padding: 0 10px;
}
#siteFooter .sns ul li a{
	display: block;
	width: 25px;
    height: 25px;
	text-indent: -999px;
	overflow: hidden;
}
#siteFooter .sns ul li.x a{
	background: url(../img/icon_x.png) no-repeat center center;
	background-size: 100%;
}
#siteFooter .sns ul li.yt a{
	background: url(../img/icon_youtube.png) no-repeat center center;
	background-size: 100%;
}
#siteFooter .sns ul li.ig a{
	background: url(../img/icon_ig.png) no-repeat center center;
	background-size: 100%;
}
#siteFooter .sns ul li.tiktok a{
	background: url(../img/icon_tiktok.png) no-repeat center center;
	background-size: 100%;
}

@media (max-width: 980px){
  #loading .load-text{
    width: 60%;
  }
	header .mainvisual img{
		width: 126%;
		margin-left: -140px;
	}
	#contents .sub-section .tokuten_image{
  	padding-right: 30px;
  }

}
@media (max-width: 768px){
  #loading .load-text{
    width: 80%;
  }
  #loading .load-text .logo{
    width: 100%;
  }
	header .mainvisual img{
		width: 160%;
		margin-left: -190px;
	}
	#loading .enter{
		width: 20%;
	}
	#digital .release-info,
	#event h5{
		padding-top: 30px;
	}
	#release .release-info .text .flex-row{
    gap: 20px;
	}

	#digital .release-info .btn{
		width: 70%;
	}
	#shoplink .inner{
		padding: 0;
	}
	#shoplink .shop-list{
		margin: -20px -10px;
	}

	#shoplink .shop-list .shop-item{
		padding: 0px 10px;
		margin-bottom: 20px;
	}
	#shoplink .shop-item .shop-info{
		font-size: 12px;
		height: 64px;
	}
	#shoplink .link .btn a{
		width: 50%;
	}
	#shoplink .note{
		padding-top: 50px;
	}
	#live .tourinfo .live-image{
		width: 100%;
	}
	#live .tourinfo .fes-logo{
		width: 70%;
	}
	#event .info .btn,
	#live .tourinfo .btn{
		width: 40%;
	}
}
@media (max-width: 640px){
	.spbr{
		display: block;
	}
	header .mainvisual{
		display: flex;
		align-items: center;
	}
	header .mainvisual img{
		width: 130%;
		margin-left: -130px;
	}
	header .scroll{
		font-size: 16px;
	}
	header .scroll:before{
		height: 60px;
	}
	header .scroll p{
		padding-bottom: 75px;
	}
	#navigation{
		padding: 27px 0;
/* 		top: 30px; */
		left: 0;
	}

	#navigation .logo{
		width: 25%;
		margin: 0 auto;
		padding: 0;
	}
	#navigation.small{
  	padding: 10px 0px;
  }
	#release .release-info .jkt{
		width: 80%;
		float: none;
		margin: 0 auto;
	}
	#release .release-info .text{

		margin: 0 auto;
		padding-left: 0;
	}
	#contents .inner{
  	padding: 0 30px;
	}
	#contents .sub-section{
  	padding: 20px;
  	margin: 30px auto;
	}
	#contents .sub-section h4{
    margin-bottom: 0.8em;
	}
	#contents .sub-section .tokuten_info{
  	display: block;
	}
	#contents .sub-section .tokuten_image{
  	width: auto;
  	max-width: 300px; 
    padding: 0;
  	margin: 0em auto 1em;
  }
	
	#digital .release-info .text{
		padding-top: 0;
	} 
	#digital .release-info .btn{
		width: 80%;
	}
	#event .inner{
		padding: 0;
	}
	#event h5{
		font-size: 16px;
	}
	#event h5 span{
		font-size: 24px;
	}
	#shoplink .inner{
		margin: 0;
	}
	#shoplink .shop-list{
		margin: -20px -8px;
	}
	#shoplink .link{
		padding-top: 50px;
	}
	#shopcp p{
		font-size: 12px;
		line-height: 1.8em;
	}
	#shopcp ul{
		font-size: 12px;
	}
	#live .tourinfo p.title{
		font-size: 16px;
	}
	#event .info .btn,
	#live .tourinfo .btn{
		width: 50%;
	}
}
@media (max-width: 480px){
  body{
    font-size: 13px;
  }
	.spbr2{
		display: block;
	}
  .btn a{
    font-size: 110%;
    padding-bottom: 13px;
  }
	#loading .enter{
		width: 40%;
		padding: 15px 0;
	}
	header .mainvisual{
  	padding-top: 155px;
	}
	header .mainvisual img{
		width: 150%;
		margin-left: -8%;
	}
	header .scroll{
		font-size: 13px;
	}
	#navigation{
		padding: 37px 0;
/* 		top: 35px; */
	}
	#navigation .logo{
		width: 40%;
		transition: .5s;
	}
	#navigation.small .logo{
    width: 25%;
  }
	#navigation .sns ul li{
		padding: 0 7px;
	}
	#contents{
		padding: 0px 0 60px;
	}
	#contents section{
		padding: 30px 0;
	}
	#contents .mainSec h2{
		font-size: 35px;
		padding: 30px 0;
	}
	#contents .inner{
		padding: 0 30px;
	}
	#release .release-info{
  	margin-bottom: 30px;
	}
	#release .release-info .jkt,
	#release .release-info .text,
	#digital .release-info .btn,
	#event .info .btn{
		width: 100%;
	}
	#release .release-info .release-title{
  	font-size: 150%;
	}
  #release .release-info .release-title strong{
    font-size: 200%;
    margin: 0.5em auto;

  }
	#digital .release-info .text h3{
		font-size: 15px;
	}
	#digital .release-info .text h3 span{
		font-size: 20px;
	}
	#event h5{
		font-size: 14px;
	}
	#event h5 span{
		font-size: 20px;
	}
	#event .info h6{
		font-size: 20px;
	}
	#shoplink .inner,
	#event .inner{
		padding: 0;
	}
  #contents .sub-section h4{
		font-size: 20px;
    margin-bottom: 0.7em;
	}
	  #contents .sub-section .inner{
  	  padding: 0;
	  }
  #release .release-info .text .flex-row{
    display: block;
  }
  #release .release-info .text .flex-row li{
    line-height: 1.5em;
    margin: 1em 0;
  }
	#shoplink .shop-list{
		margin-top: 0;
	}
	#shoplink .shop-list .small{
		font-size: 10px;
	}
	#shoplink .note{
		padding-top: 35px;
	}
	#shoplink .shop-list .links .btn{
		display: block;
	}
	#shoplink .shop-list .links .btn a{
		width: auto;
	}
	#shoplink .shop-list .links .btn a:nth-child(2){
		margin-top: 10px;
	}
	#shoplink .link{
		padding-top: 30px;
	}
	#shoplink .link p{
		font-size: 14px;
	}
	#shoplink .link .btn a{
		width: auto;
	}
	#shoplink .shop-item .shop-info{
		height: 61px;
		padding-bottom: 10px;
	}
	#shoplink .shop-list .shop-info p.shop{
  	padding-bottom: 5px;
	}
	#live .tourinfo h3{
		font-size: 23px;
	}
	#live .tourinfo p.title{
		font-size: 16px;
		line-height: 1.5em;
	}
	#live .tourinfo .btn{
		width: auto;
	}
}


























