/*＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊*/
/*基本設定（滅多に変更しない）*/
/*＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊*/


@media screen and (min-width:761px){
body {
	background: #fff;
	color:#232320;
	font-family:  'Zen Antique', "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	letter-spacing:1.2px;
	font-size: 16px;
  }

a {
  color: #D5B45D;
  transition: 0.3s;
}
a:hover {
	color: #9B893F;
  transition: 0.3s;
}
::selection {
	background: #FFFFFF;
	color: #232320;
}
ul{
	padding: 0;
}
   
.pcnone{
	display:none;
}
ul li{
	list-style: none;
}
hr{
	margin: 80px;
	border: none;
}
h1{
	color: #D5B45D;
	font-size: 4rem;
	text-align: center;
	margin-bottom: 80px;
}

.box{
	width: 80%;
	padding: 10%;
}

/*フェードインの処理*/
.fadein {
	opacity : 0;
	transform : translate(0, 0px);
	transition :1s;
	-webkit-transform: scale(1);
            transform: scale(1);
}
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1.3;
    transform : translate(0, 0);
	transform: translateY(0);
	  -webkit-transform: scale(1);
            transform: scale(1);
    }


/*メニュー周辺*/
#header {
  width: 100%;
  background: #efefef;
}
#header li a img{
	width: 20px;
}
.g-navi {
	display: flex;
	justify-content: space-evenly;
	background-color: #260001;
	margin: 0;
	padding: 15px 0;
	width: 100%;
	align-items: center;
	text-align: center;
}
.g-navi a {
	font-size: 16px;
	transition: .3s;
}
.g-navi a:hover {
	opacity: 0.5;
}
#globalMenu {
	width: 100%;
	height: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	align-items: baseline;
	justify-content: space-between;
	overflow: hidden;
	transition: .4s;
}
#globalMenu.fixed {
  height: 150px;
  width: 100%;
}


/*TOP周辺*/
#top{
	margin: 0 auto;
	text-align: center;
	position: relative;
	line-height: 0;
	background: #260001;
	background-image: url("../img/top_back.webp");
	background-repeat: no-repeat;
	background-size: contain;
}
#top .grid{
	display: grid;
	grid-template-columns: 55% 40%;
	justify-content: space-between;
}
#top .top-grid-right{
	position: relative;
}	
#top .top-grid-right div{
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 100%;
  color: #D5B45D;
}
#top .top-grid-right div p{
	margin: 50px 0 80px 0;
	font-size: 2.2rem;
	letter-spacing: 2.5px;
	line-height: 25px;
}
#top .top-grid-right div p span{
	font-size: 1.2rem;
	margin-left: 5px;
}
#top .top-grid-right img{
	width: 80%;
}
#top .inview img{
	width: 100%;
	margin:5% 0 0 5%
}
#top .x-box{
	height: 300px;
}
.inview img {
	opacity: 0;
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
  }
  .img-blur {
	-webkit-animation-name: imageBlur;
	animation-name: imageBlur;
	opacity: 1;
	transition: .8s;
  }
  
  @-webkit-keyframes imageBlur {
	from {
	  opacity: 0;
	  -webkit-filter: blur(15px);
	  -moz-filter: blur(15px);
	  -ms-filter: blur(15px);
	  -o-filter: blur(15px);
	  filter: blur(15px);
	}
  
	to {
	  opacity: 1;
	  -webkit-filter: blur(0px);
	  -moz-filter: blur(0px);
	  -ms-filter: blur(0px);
	  -o-filter: blur(0px);
	  filter: blur(0px);
	}
  }
  @keyframes imageBlur {
	from {
	  opacity: 0;
	  -webkit-filter: blur(15px);
	  -moz-filter: blur(15px);
	  -ms-filter: blur(15px);
	  -o-filter: blur(15px);
	  filter: blur(15px);
	}
  
	to {
		opacity: 1;
	  -webkit-filter: blur(0px);
	  -moz-filter: blur(0px);
	  -ms-filter: blur(0px);
	  -o-filter: blur(0px);
	  filter: blur(0px);
	}
  }

/*CAST/STAFF*/
#cast{
	background-size: auto;
	font-size: 16px;
	line-height: 35px;
	position: relative;
	text-align: center;
}
#cast .grid-main{
	grid-template-columns: 30% 30%;
	justify-content: center;
	grid-gap: 5%;
	margin: 0 auto;
	width: 100%;
	display: grid;
	padding: 5% 0;
}
#cast .grid-main img,
#cast .grid img{
	width: 100%;
}
#cast .grid{
	margin: 0 auto;
	padding: 5% 0 5% 0;
	display: flex;
	flex-wrap: wrap;
	gap:50px;
	justify-content: center;
}
#cast .grid .child{
	width: 25%;
}

.chara-name{
	font-size: 15px;
	color: #D5B45D;
	line-height: 25px;
	margin-bottom: 5px;
}
.cast-name{
	font-size: 22px;
	letter-spacing: 2px;
}
.ensemble{
	margin: 0 auto;
	text-align: center;
}
.ensemble img{
	width: 70%;
}


#staff{
	background-image: url("../img/pattern.webp");
	background-repeat: repeat;
	background-color: #EFEFEF;
	text-align: center;
	background-attachment: fixed;
}
#staff p{
	font-size: 1.15rem;
	line-height: 60px;
}

/*SCHEDULE/TICKET*/
#schedule{
	background-color: #EFEFEF;
	background-image: url("../img/schedule_back.webp");
	background-repeat: repeat;
	margin: 0 auto;
	background-attachment: fixed;
	color: #ffffff;
}
#schedule .day{
	font-size: 2rem;
}
#schedule .place{
	font-size: 22px;
}
.sche{
	text-align: center;
}
.sche img{
	width: 65%;
	margin-top: 30px;
}

#ticket{
	text-align: left;
}
#ticket .sub-midashi{
	background: #260001;
	padding: 3px 0;
	color: #ffffff;
	display: inline-block;
	font-size: 16px;
	margin-bottom: 10px;
}
#ticket div+div{
	margin-top: 30px;
}
.ticket-price{
	font-size: 1.4rem;
	line-height:35px;
}
#ticket ul li span{
	color:#D5B45D;
	display: block;
	margin-bottom: 10px;
	font-size: 1.15rem;
}
#ticket ul li+li{
	margin-top: 35px;
}
#ticket hr.tic{
	margin: 30px 0;
	border:1px solid #999;
}

/*GOODS*/
#goods{
	background-image: url("../img/pattern.webp");
	background-repeat: repeat;
	background-color: #EFEFEF;
	text-align: left;
	background-attachment: fixed;
}
#goods .white-box{
	background: #ffffff;
	margin: 0 auto;
	width: 80%;
	background: #fff;
	padding: 5%;
}
#goods img{
	width: 80%;
}
#goods .title{
	font-weight: bold;
	font-size: 18px;
	margin: 10px 0;
}
#goods .white-box div+div{
	border-top:1px solid #c5c5c5;
	margin-top: 30px;
	padding-top: 30px;
}
#goods p span{
	color: #df2727;
}
#goods .goods-grid{
	display: grid;
	grid-template-columns: 30% 30% 30%;
	justify-content: space-between;
}
#goods .goods-grid img{
	width: 100%;
}


/*QA*/
#qa{
	background-image: url("../img/pattern.webp");
	background-repeat: repeat;
	background-color: #EFEFEF;
	text-align: center;
	background-attachment: fixed;
}
dl.accordion {
    margin:0 auto;
    padding:0 40px;
	text-align: left;
  }

dl.accordion dt {
    border-bottom: 2px dotted #999;
    height:40px;
    text-indent:10px;
    line-height:40px;
    cursor:pointer;
}

dl.accordion dd {
    padding:10px 20px 10px 10px;
	margin-left: 20px;
    line-height:1.5;
    display:none;
}

/**/
#sk{
	background-image: url("../img/pattern.webp");
	background-repeat: repeat;
	background-color: #EFEFEF;
	text-align: center;
	font-size: 1.4rem;
	padding: 100px 10%;
}
#sk img{
	width: 100%;
	margin-bottom: 50px;
}
#sk .btn{
	margin: 50px 0;
	font-size: 1.1rem;
}
#sk .btn a{
	background: #D5B45D;
	padding: 20px 100px;
	color: #232320;
	margin: 30px 0;
	position: relative;
}
#sk .btn a:after{
	position: absolute;
	content: "";
	width: 40px;
	height: 1px;
	right: -20px;
	top: 50%;
	background: #232320;
}
#sk .ticket-price{
	margin: 30px 0;
}
#sk .sub-midashi{
	background: #260001;
	padding: 3px 0;
	color: #ffffff;
	display: inline-block;
	font-size: 16px;
	margin-bottom: 10px;
	line-height: 22px;
}
#sk .whitebox{
	background-color: #ffffff;
	padding: 50px;
}

/*PAGE-TOP*/
.scroll-up {
	position: absolute;
	top: -180px;
	right: 0px;
	left: 0;
	margin: 0 auto;
	z-index: 1;
	width: 150px;
  }
.scroll-up .scroll-text {
	width: 100%;
	position: relative;
}
.scroll-up .scroll-icon {
	width: 120px;
	position: absolute;
	top: 50%;
	left: 50%;
	line-height: 1;
	transform: translate(-50%, -50%);
	
}
.scroll-icon img{
	width: 120px;
}
.scroll-up .scroll-icon a img{
	transition: .5s;
}
.scroll-up .scroll-icon a img:hover {
	transform: scale(1.1);
	transition: .5s;
}
.scroll-up .scroll-text img {
	width: 100%;
	animation: rotate-anime 10s linear infinite;
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}

/*footer*/
#footer{
	position: relative;
	text-align: center;
	padding: 15px 0;
	background: #D5B45D;
	color: #260001;
}

/*ローディング画面*/

.loading {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100vh;
	margin: -20px 0 0 0 ;
	padding: 0 0 20px 0;
	background: #faf9f5;
  }
  .loading.hide {
	opacity: 0;
	pointer-events: none;
	transition: opacity 800ms;
  }
  .loading .circle {
	display: block;
	position: relative;
	top: calc( 50% - 150px );
	width: 250px;
	height: 250px;
	margin: 0 auto;
	animation: loading 10s linear infinite;
  }
  .loading .circle img{
	width: 250px;
  }
  @keyframes loading {
	0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
  }

}