@charset "UTF-8";

.pc {display: block !important;}
.sp {display: none !important;}

@media only screen and (max-width: 960px) {
  .pc {display: none !important;}
  .sp {display: block !important;}
}


body {
  font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Verdana,'ＭＳ Ｐゴシック',sans-serif;
  font-style: normal;
  line-height: 1.8;
  background:#5fad3a;
  overflow-y: scroll;
}

img {
  max-width: 100%;
  height: auto;
	vertical-align: bottom;
}
.mainSite {
  width: 100%;
  padding: 0;
  margin: 0;
}
.wrapper {
  position: relative;
  text-align: center;

}
a{
	text-decoration: underline;
    color: #222118;
	transition: .7s;
}
a:hover{
    color: #2a8134;
	transition: .7s;
}





/*-------------------
LOADING
--------------------*/


#splash {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: #5fad3a;
  z-index: 9999999;
  text-align:center;
  color:#fff;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25%;
}

#container{
  opacity: 0;
}
body.appear{
    background:#fffffe;
}
body.appear .splashbg{
    display: block;
    border-radius: 50%; 
  animation-name:PageAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

.splashbg{
    display: none;
  content: "";
  position:fixed;
  transform: scale(100);
  background-color: #5fad3a;
  z-index: 999;
    top:calc(50% - 1rem);
    left:calc(50% - 1rem);
  width: 2rem;
  height: 2rem;
}

@keyframes PageAnime{
  0% {
    transform: scale(100);
  
  }
  100% {
    transform: scale(0);
    display: none;
  }
}

body.appear #container{
  animation-name:PageAnimeAppear;
  animation-duration:1s;
  animation-delay: 0.8s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}



/*-------------------
ANIMATION
--------------------*/

.js-animation {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
.js-poyoanimation {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
.js-popanimation {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.js-poyoanimation.poyoyon2 {
  opacity: 1;
  visibility: visible;
}
.js-popanimation.popup {
  opacity: 1;
  visibility: visible;
}

.poyoyon2 {
  animation: poyoyon2 1s ease-in-out forwards;
}
 
@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

.fadeIn {
	animation-name: fadeInAnime;
	animation-duration:2s;
	animation-iteration-count:none;
	animation-timing-function:ease;
	animation-direction:normal;
	animation-fill-mode: forwards;
}

@keyframes fadeInAnime{
  0% {opacity: 0;}

  100% {opacity: 1;}
}


.popup {
  animation: popup 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
 
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

/*-------------------
共通
--------------------*/

h1.midashi_title{
    width: 100%;
    text-align: center;
    margin: 0 auto 4%;
}
h1.midashi_title img{
   height: 60px;
}
section{
width: 100%;
position: relative;
	z-index: 1;
}

.inner{
    width: 70%;
    margin: 0 auto;
	padding: 5% 0;
	position: relative;
	z-index: 3;
}
.text{
	font-size: 16px;
	color: #fff;
	text-align: justify;
	text-align-last: left;
	font-weight: bold;
	letter-spacing: 0.05rem;
}


/*-------------------
MENU
--------------------*/
header{
opacity: 0;
position: relative;
z-index: 299;
}
nav.header_nav{
	background-color: #4b8abf;
	height: 60px;
	position: fixed;
	top: 0;
	width: 100%;
	
	z-index: 300;
}
.nav_inner{
	display: flex;
    display: -webkit-flex;
    -webkit-justify-content: center;
    justify-content: space-between;
    align-items: center;
	width: 90%;
    height: 60px;
    margin: 0 auto;
	
}
nav.header_nav ul{
	display: flex;
    display: -webkit-flex;
    -webkit-justify-content: left;
	padding: 0;
    width: auto;
    height: 35px;
	line-height: 35px;
	vertical-align: middle;
    box-sizing: border-box;
    z-index: 300;
	align-items: center;
}
nav.header_nav ul li{
	padding: 0 30px;
	height: 35px;
	line-height: 35px;
	vertical-align: middle;
}
nav.header_nav ul li.gray a{
	color: gray;
	pointer-events: none;
}

nav.header_nav ul li:first-child{
	padding: 0 30px 0 0;
}
nav.header_nav ul li:last-child{
	border: none;
}
nav.header_nav ul li img {
    height: 35px;
}
nav.header_nav ul li a{
	display: block;
	transition: 0.8s;
	color: #444b48;
    font-weight: bold;
	
}
nav.header_nav ul li a:hover{
	color: #b6463c;
	transition: 0.8s;
}

/*-------------------
TOP
--------------------*/

.top{
	width: 100%;
	height: calc(100% - 60px);
	aspect-ratio: 16 / 9;
    display: flex;
    align-items: flex-start;
    
}

.top .inner{
	width: 100%;
	height: 100%;
	display: flex;
    align-items: center;
	padding: 0;
}

.top_left{
     width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-image: url("../img/bg_pc.webp");
    background-repeat: no-repeat;
	background-size: cover;
    background-position: center;
	opacity: 0;
}

.copy{
	width: 14.6%;
    margin: 12% 10.8% 0 auto;
	opacity: 0;
}

.billing{
    width: 80%;
    margin: 0 auto 2%;
}

.top_right{
	width: 50%;
}
.top_right_inner{
    width: 80%;
    margin: 0 auto;
}
.titlelogo{
        width: 91%;
    margin: 0 auto 6%;
	opacity: 0;
}
.date{
    width: 90%;
    margin: 0 auto;
    opacity: 0;
}

.pkg_bnr{
    width: 60%;
    margin: 5% auto 0;
	opacity: 0;
}
.pkg_bnr a{
    transition: .7s;
}
.pkg_bnr a:hover{
    transition: .7s;
	opacity: .7;
}


/*-------------------
NEWS
--------------------*/


section.news{
z-index: inherit;
}

li.cmt_list_item{
	margin: 0 auto 4%;
}
li.cmt_list_item h4{
margin: 0 auto 2%;
    font-weight: bold;
    font-size: 1.1vw;
    border-bottom: 1px solid #fff;
    padding: 0 0 1% 0;
}
span.cmt_chara_name{
    font-weight: bold;
    font-size: 1vw;

}

.cmt_img {
    width: 50%;
    margin: 8% 0 0;
}


/*modal---------------------------*/


.md-scroll{
		width: 70%;
	height: 100%;
	margin: 0 auto;
	}
.md-overlay{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
  z-index: 400;
}
 
.md-contents{
  display: none;
  position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 401;
	width: 100%;
    height: 100vh;
}

.md-inner {
	    width: 80%;
    height: 80vh;
    min-height: 500px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    margin: 0 auto;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}
.md-inner-wrap{
    width: 90%;
	height: 100%;
    padding: 5% 0;
    box-sizing: border-box;
	background: rgb(42,129,52);
background: linear-gradient(90deg, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
	    overflow: scroll;
    border-radius: 15px;
	position: relative;
	}

.md-inner-wrap::-webkit-scrollbar{
  display: none;
}
.ci-xmark{
	width: 40px;
	height: 40px;
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	background-color: #fff100;
}
.ci-xmark span {
position: absolute;
	z-index: 3;
	  top: 50%;
    left: 50%;
    width: 60%;
    height: 1px;
   transform-origin: center;
    background-color: #000;
}
.ci-xmark span:nth-of-type(1) {
    transform: translateX(-50%);
}

.ci-xmark span:nth-of-type(2) {
    transform: translateX(-50%) rotate(90deg);
}

.md-xmark{
    position: fixed;
       top: 4%;
    right: 7%;
    width: 50px;
    height: 50px;
    z-index: 99;
    cursor: pointer;
       background-color: #fff;
    border-radius: 40px;
}
.md-xmark span {
position: absolute;
	  top: 50%;
    left: 50%;
    width: 60%;
    height: 2px;
   transform-origin: center;
    background-color: #222118;
}
.md-xmark span:nth-of-type(1) {

    transform: translateX(-50%) rotate(-40deg);
}

.md-xmark span:nth-of-type(2) {

    transform: translateX(-50%) rotate(40deg);
}

li.news_list_item{
    width: 100%;
    margin: 0px auto 5%;
    padding: 0 0 5% 0;
    border-bottom: 5px dotted #2a8134;
}
li.news_list_item:last-child{
    margin: 0px auto;
    padding: 0 0 10% 0;
    border-bottom: 5px dotted transparent;
}

.news_midashi_wrap{
width: 100%;
/*display: flex;
justify-content: center;*/
margin: 0 auto 3%;
    text-shadow: #116c36 0 0 15px, #116c36 0 0 10px;
}

h3.news_midashi{
width: 100%;
margin: 0 auto;
    font-size: 1.2vw;
    color: #fff;
    font-weight: bold;
}
.post_date{
	width: 100%;
	color: #fff;
	font-weight: bold;
	margin: 0 auto 10px;
}
.news .text{
    font-weight: 500;
}
.news_info{
    background-color: #fff;
    padding: 4%;
    margin: 3% auto 0;
    border-radius: 10px;
	}
.news_info .text{
color: #222118;
font-weight: bold;
}
.news_info .text span{
color: #222118;
font-weight: bold;
font-size: 14px;
}
.text_wrap {
margin: 0 auto 3%;
}
.text_wrap a {
    font-size: 18px;
    margin: 1% auto 2%;
    display: block;
}
.text_wrap p{
font-weight: bold;
margin: 0 auto 1%;
}
.text_wrap p span{
 text-indent: -1em;
  padding-left: 1em;
  display: block;
}
.text_wrap h4{
    font-size: 18px;
    color: #2a8134;
    font-weight: bold;
}
ul.caution li{
 text-indent: -1em;
  padding-left: 1em;
  color: #222118;
font-weight: bold;
font-size: 14px;
}
.news_info .text span.ticket{
 display: block;
 color: #B3151A;
 font-weight: bold;
 font-size: 16px;
}

/*-------------------
TRAILER
--------------------*/


section.trailer_s{
	background: rgb(42,129,52);
background: -webkit-linear-gradient(left, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
background: -o-linear-gradient(left, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
background: linear-gradient(to right, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
overflow: hidden;
}


section.trailer_s::before{
	width: 100%;
    line-height: 1;
    height: 100%;
    content: "";
    background: url(../img/dots_pc.png);
   background-repeat: repeat-y;
   background-position: bottom;
  background-size: 100%;
    opacity: 0.2;
    mix-blend-mode: soft-light;
    position: absolute;
    left: 0;
	top: 0;
    z-index: 2;
  }

.trailer_pop_btn{
	    margin: 0 auto;
    width: 70%;
	border: 3px solid #fff;
	box-sizing: border-box;
}
.trailer_pop_btn a{
    display: flex;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 5;
    text-align: center;
}
.trailer_pop_btn a::before{
	    content: "";
    width: 70px;
    height: 70px;
    background-image: url(../img/trailer_btn.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.trailer_pop_btn iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    line-height: 1;
}





/*TRAILER WINDOW-----------------*/

.trailer{
    position: fixed;
	    top: 0;
		left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0;
    display:none;
    transition-duration: 0.6s; 
}
.trailer.on{
    opacity: 1;
	min-height: 500px;
}
.trailer_overlay{
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    opacity: 1;
    z-index: 999999997;
    transition-duration: 1s;   
}
.close_btn{
  position: fixed;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  z-index: 999999999;
  opacity: 0;
  cursor: pointer;
	transition: .7s;
}
.trailer.on .close_btn{
     opacity: 1;
	transition: .7s;
}
.close_btn::before,
.close_btn::after{
	position: absolute;
    top: calc(50% - 1px);
  /*  left: -40%;*/
    content: "";
    display: block;
    width: 40px;
    border-top: 2px solid #ffffff;
}
.close_btn::before {
  transform: rotate(40deg);
}
 
.close_btn::after {
  transform: rotate(-40deg);
}

.close_btn:hover{
    opacity: 0.5 !important;
}

.trailer.on .trailer_overlay{
    opacity: 1;
}

.trailer .trailer_inner{
    position: absolute;
    top: calc(50% - 30px);
    left: 50%;
    transform: translate(-50%,-50%) scale(0.9,0.9);
    width: 70%;
    aspect-ratio: 16 / 9;
    height: 1;
    z-index: 999999998;
    transition-duration: 0.6s;
}

.trailer.on .trailer_inner{
    transform: translate(-50%,-50%) scale(1,1);
}


.trailer_tab{
    position: absolute;
    color: #fff;
    top: 100%;
    display:flex;
    width: 100%;
    justify-content: center;
	margin-top: 20px;
}

.trailer_tab li{
	display: flex;
	justify-content: center;
    width: 100%;
	margin-right: 10px;
	padding: 10px;
    font-size: 1rem;
	font-weight: bold;
    text-align: center;
    background:#2a8123;
    color: #fffff8;
	
}
.trailer_tab li:last-child{
	margin-right: 0;
}

.trailer_tab li.f_act{
    background: #6a665f;
    color: #fff;
	cursor: pointer;
}

.trailer_tab li.f_act:hover{
    background: #6a665f;
}

#youtube1{
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1,1);
    transition-duration: 1s;
    opacity: 1;
	z-index: 2;
}

.trailer.on #youtube1{
    transform: scale(1,1);
    opacity: 1;
}


.youtube_wrapper{
		width: 48%;
	
	}
.youtube_wrapper:first-child{
		margin-right: 4%;
	}
.youtube_inner{
position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
	
}
.youtube_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*-------------------
INTRODUCTION
--------------------*/
section.intro{
background-color: #a0814f;
}

section.intro::before{
width: 100%;
height:100%;
content: "";
background-image: url("../img/rust.jpg");
background-size: cover;
background-repeat: no-repeat;
opacity: 0.4;
mix-blend-mode:soft-light;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}

.intro .text{
font-size: 1vw;
text-indent: 1em;
margin: 0 auto 2%;
}
.intro_bg{
position: relative;
z-index: 3;
}
.intro_read{
    width: 70%;
    margin: -13% auto 0;
	position: relative;
z-index: 4;
}

/*-------------------
STORY
--------------------*/

section.story{
    background: url(../img/story_bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	z-index: -1;
}
section.story .inner{
    width: 35%;
    margin: 0 0 0 15%;
    padding: 5% 0 8%;
}
.story .text{
    font-size: 1vw;
    text-indent: 1em;
}



/*-------------------
CAST
--------------------*/

section.cast{
	background: rgb(76,170,207);
	background: linear-gradient(90deg, rgba(76,170,207,1) 0%, rgba(100,185,210,1) 65%, rgba(113,194,216,1) 100%);
}

section.cast .inner{
    padding: 5% 0 3%;

}

.story_img{
    width: 90%;
    margin: 0 auto;
}


.cast ul{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
    flex-wrap: wrap;
}

.cast ul.cast_list_01{
width: 80%;
margin: 0 auto;
}
.cast ul.cast_list_02{
width: 70%;
margin: 0 auto;
}

li.cast_item{
    width: 25%;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
	margin: 0 auto 2%;
	text-shadow: #116c36 0 0 15px, #116c36 0 0 15px, #116c36 0 0 10px, #116c36 0 0 10px;
}
ul.cast_list_01 li.cast_item{
	width: 25%;
}
.chara_name{
    font-size: 16px;
    font-weight: bold;
}

.cast ul.cast_list_02 .chara_name{
    font-size: 14px;
    font-weight: bold;
}


/*-------------------
THEATER
--------------------*/


section.theater{
	background: rgb(42,129,52);
background: -webkit-linear-gradient(left, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
background: -o-linear-gradient(left, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);
background: linear-gradient(to right, rgba(42,129,52,1) 0%, rgba(67,163,54,1) 50%, rgba(145,190,31,1) 100%);

}

section.theater::before{
width: 100%;
height:100%;
content: "";
background-image: url("../img/dots_pc.png");
background-size: 100%;
background-repeat: repeat;
opacity: 0.2;
mix-blend-mode:soft-light;
position: absolute;
top: 0;
left: 0;
z-index: 2;

}



.theater_wrap{
	background-color: #fff;
	width: 90%;
	height: auto;
	position: relative;
	z-index: 1;
	border-radius: 15px;
	margin: 0 auto;
}
.theater_wrap_inner{
	width: calc(100% - 15px);
    height: calc(100% - 15px);
	position: relative;
	z-index: 5;
	border-radius: 15px;
	padding: 7% 5%;
    box-sizing: border-box;
	margin: 0 auto;
}
.theater_wrap_inner::before{
	width: 100%;
	height:100%;
	content: "";
	background-image: url("../img/rust.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0.1;
	mix-blend-mode:difference;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	border-radius: 15px;
}
.theater_wrap::after{
	width: 100%;
	height:100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	 border: 10px solid transparent;
	 
  background:  url("../img/noise.svg"), linear-gradient(0deg, rgba(62,19,14,1) 0%, rgba(190,154,35,1) 32%, rgba(226,218,102,1) 66%, rgba(227,230,143,1) 100%) border-box border-box;
  
  box-sizing: border-box;
  border-radius: 15px;
  
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
}
.theater_wrap::before{
	width: 100%;
	height:100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	 border: 10px solid transparent;

 
  box-sizing: border-box;
  border-radius: 15px;
  box-shadow: #116c36 0 0 15px, #116c36 0 0 15px, #116c36 0 0 10px, #116c36 0 0 10px, inset #116c36 0 0 15px, #116c36 0 0 15px, #116c36 0 0 10px, #116c36 0 0 10px;
}


.theater ul{
    list-style: none;
    width: 70%;
    margin: 0 auto;
	position: relative;
	z-index: 5;
}
.theater ul li{
color: #222118;
    font-weight: bold;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
	margin: 0 auto 2%;
}

.theater ul.theater_list_01 li{
    margin: 0 auto 5%;
}
h2.event{
    font-weight: bold;
    font-size: 20px;
    margin: 0 auto 2%;
	position: relative;
	z-index: 5;
}
.area{
    display: inline-block;
    background-color: #2a8134;
    padding: 5px 0;
    color: #fff;
    font-weight: bold;
    border-radius: 70px;
    width: 11%;
    margin: 0 3% 0 0;
	font-size: 1vw;
}
.period{
    display: inline-block;
    font-weight: bold;
	width: 36%;
	text-align: right;
}

.theater_list_01 .period{
	width: 55%;
}
.theater_name{
	font-weight: bold;
    width: 50%;
    text-align: left;
	font-size: 1vw;
}
.theater_list_01 .theater_name{
	width: 45%;
	font-size: 1vw;
}

.theater_list_01 .area{
	width: 13%;
}



/*-------------------
FOOTER
--------------------*/

footer{
	background: rgb(76,170,207);
	background: linear-gradient(90deg, rgba(76,170,207,1) 0%, rgba(100,185,210,1) 65%, rgba(113,194,216,1) 100%);
}
.footer_title{
    width: 45%;
    margin: 0 auto 3%;
}
.footer_billing{
    width: 50%;
    margin: 0 auto;
}






@media screen and (max-width: 960px) {
	
/*-------------------
LOADING
--------------------*/

#splash-logo{
width: 55%;
}




/*-------------------
MENU
--------------------*/

/*hamburger-menu*/

.menu_bg{
	width: 100%;
        height: 45px;
        background-color: #4b8abf;
        position: fixed;
        top: 0px;
        right: 0px;
        z-index: 779;
		opacity: 0;
}
.menu {
  height: 15px;
        position: absolute;
        right: 25px;
        top: 50%;
        width: 35px;
        z-index: 779;
        cursor: pointer;
        transform: translateY(-50%);
}

.menu__line {
  background: #222118;
  display: block;
  height: 2px;
  position: absolute;
  transition: transform .3s;
  width: 100%;
}
.menu__line--top {
  top: 0;
}
.menu__line--center {
  top: 50%;
  transform: translateY(-50%);
}
.menu__line--bottom {
  bottom: 0;
}
.menu__line--top.active {
  top: 8px;
  transform: rotate(40deg);
}
.menu__line--center.active {
	
  transform: scaleX(0);
}
.menu__line--bottom.active {
	bottom: 5px;
    transform: rotate(-40deg);
}
/*gnav*/

.gnav {
  background-color: #4b8abf;
	background-repeat: no-repeat;
	background-size: cover;
  display: none;
  height: 100%;
  position: fixed;
	top: 0;
	bottom: 0;
	overflow: auto;
  width: 100%;
  z-index: 778;
}
.gnav__wrap {
  align-items: center;
  display: flex;
  justify-content: center;
	height: 100%;
	min-height: inherit;
}
.gnav__menu__item {
  width: 100%;
  height: 60px;
  vertical-align: middle;
  line-height: 60px;
	text-align: center;
}
.gnav__menu__item:last-child {
  border: none;
}
.gnav__menu__item a {
  color: #fff;
  font-size: 16px;
	font-weight: 700;
  text-decoration: none;
  transition: .5s;
	cursor: default;
    padding: 0 20px;
}
.gnav__menu__item.gray a {
	color: gray;
	pointer-events: none;
	}
	
	
	/*追加*/
	nav ul.gnav__menu{
			width: 80%;
		
		}
		nav ul.gnav__menu li{
			text-align: center;
			
		}
		nav ul.gnav__menu li:first-child{
			border-left: none;
		}
	
	
	nav ul.sns_icon{
			display: flex;
		justify-content: center;
		align-items: center;
		width: 80%;
		    margin: 20% auto 0;
		}
	nav ul.sns_icon li{
			width: auto;
		    margin: 0 12% 0 0;
		}
		nav ul.gnav__menu li img{
			height: 40px;
		}
	ul.sns_icon li:first-child{
		float: left;
	}
	nav ul.sns_icon li:last-child{
		    margin: 0;
		}
	ul.sns_icon{
		margin-top: 30px;
	}
	nav ul.sns_icon li img {
    height: 26px;
}
	
	ul.sns_icon li:nth-child(2) a, ul.sns_icon li:nth-child(3) a {
    display: inline-block;
    width: auto;
}
	
	
/*humberger-menuここまで*/

/*-------------------
共通
--------------------*/

.wrapper{
    /*margin: 45px auto 0;*/
}

h1.midashi_title {
    margin: 0 auto 10%;
	}
h1.midashi_title img {
    height: 50px;
}
.inner {
    width: 80%;
	padding: 15% 0;
}
.text{
    letter-spacing: normal;
}
	
/*-------------------
TOP
--------------------*/

.top{
    height: auto;
	aspect-ratio: auto;
	        margin: 45px auto 0;
}
	.inner {
    flex-direction: column;
	}
	.top_left{
     width: 100%;
	height: 100%;
    background-image: url("../img/bg_sp.webp");
	        background-size: 115%;
        background-position: 32% 5%;
		aspect-ratio: 25 / 39;
	}
	.titlelogo {
    width: 88%;
    margin: 4% auto 25%;
}

.copy {
    width: 16.6%;
        margin: -28% 9% 0 auto;
}

.top_right {
    width: 100%;
}
.top_right_inner{
    width: 90%;
    margin: 8% auto;
}
.billing {
    width: 90%;
    margin: 0 auto 5%;
}
.date{
    width: 100%;
}

.pkg_bnr {
    width: 90%;
	}

/*-------------------
NEWS
--------------------*/

.md-inner {
    width: 100%;
	height: 90vh;
    height: 90svh;
}
.md-inner-wrap {
    padding: 15% 0;
	}
	.md-scroll{
	width: 85%;
	}
	.md-xmark {
    right: 10%;
    width: 40px;
    height: 40px;
	}
	h3.news_midashi {
    width: 100%;
        margin: 0 auto 6%;
        text-align: left;
        font-size: 4.8vw;
        line-height: 1.5;
        letter-spacing: inherit;
	}
	.news_midashi_wrap {
    flex-direction: column-reverse;
	}
.post_date {
    width: 100%;
    text-align: left;
    margin: 0 auto 2%;
	        font-size: 3.5vw;
}

li.news_list_item {
    width: 100%;
    margin: 0px auto 10%;
    padding: 0px 0 10% 0;
    border-bottom: 3px dotted #2a8134;
	}
	
	li.news_list_item:last-child {
    padding: 0 0 20% 0;
	}
	
	
	li.cmt_list_item {
    margin: 0 auto 12%;
}
li.cmt_list_item h4 {
    margin: 0 auto 6%;
	font-size: 17px;
    font-size: 4.3vw;
    padding: 0 0 4% 0;
	  text-indent: -1em;
  padding-left: 1em;
          letter-spacing: inherit;
  text-align: left;
	}
	span.cmt_chara_name{
	font-size: 15px;
   font-size: 3.7vw;
}
	
	
.cmt_img{
width: 100%;
}

.news_info {
    padding: 7%;
    margin: 5% auto 0;
	}
.text_wrap {
    margin: 0 auto 10%;
}
.text_wrap p {
    font-weight: bold;
    margin: 0 auto 3%;
}

.text_wrap h4 {
    text-indent: -0.5em;
}

.news_info .text span.ticket{
  text-indent: -0.5em;
 padding-left: 0;
}

/*-------------------
TRAILER
--------------------*/
section.trailer_s::before {
           background-image: url(../img/dots_sp.png);
		   background-size: 200%;
	}
section.trailer_s .inner{
 width: 80%;
	padding: 10% 0;
}

.trailer_pop_btn {
    width: 100%;
}
.trailer .trailer_inner {
    width: 90%;
	}
	
	.trailer_tab {
    margin-top: 10px;
	}
	.trailer.on .trailer_inner {
    transform: translate(-50%, -50%) scale(1, 1);
}
	
	
	.close_btn::before, .close_btn::after {
    width: 35px;
	}
	

/*-------------------
INTRO
--------------------*/

section.intro{
overflow: hidden;
}

section.intro .inner{
        padding: 10% 0 15%;
}
.intro_bg {
    width: 120%;
    margin: 0 auto;
    transform: translateX(-5%);
	}
	.intro .text {
    font-size: 16px;
    text-indent: 1em;
    margin: 0 auto 5%;
	        letter-spacing: normal;
}
	
.intro_read {
    width: 80%;
    margin: -16% auto 0;
	}
	
/*-------------------
STORY
--------------------*/	
	
	
	section.story {
	display: block;
	        background: linear-gradient(180deg, rgba(108, 200, 228, 1) 0%, rgba(108, 200, 228, 1) 90%, rgba(108, 200, 228, 0) 100%);
		
	}

	section.story .inner {
    width: 80%;
    margin: 0 auto;
    padding: 15% 0 0;
}
.story .text {
    font-size: 16px;
	        letter-spacing: normal;
	}



/*-------------------
CAST
--------------------*/	
	
	section.cast .inner {
    padding: 15% 0 10%;
}
	
	.cast ul.cast_list_01, .cast ul.cast_list_02{
    width: 100%;
	}
	
	ul.cast_list_01 li.cast_item {
    width: 50%;
           font-size: 4.9vw;
    margin: 0 auto 5%;
	}
	ul.cast_list_02 li.cast_item {
    width: 50%;
           font-size: 4.6vw;
            margin: 0 auto 8%;
	}
	ul.cast_list_02 li.cast_item:last-child {
    width: 100%;
	margin: 0 auto;
	}
.chara_name {
        font-size: 3.8vw;
    line-height: 1;
	letter-spacing: normal;
	        margin: 0 auto 5px;
}
.cast ul.cast_list_02 .chara_name {
         font-size: 3.3vw;
        letter-spacing: normal;
}
.cast h1.midashi_title{
    margin: 0 auto 13%;
}

/*-------------------
THEATER
--------------------*/	

section.theater::before {
    background-image: url(../img/dots_sp.png);
	background-size: 200%;
	}

    .theater .inner {
        width: 90%;    
		}
		.theater_wrap_inner {
		padding: 20% 5%;
		}
		
		.theater_wrap {
    padding:0;
	    width: 100%;
	}
.theater_wrap::after {
    border: 6px solid transparent;
/*	border-image: linear-gradient(0deg, rgba(62, 19, 14, 1) 0%, rgba(190, 154, 35, 1) 32%, rgba(226, 218, 102, 1) 66%, rgba(227, 230, 143, 1) 100%) 1;
	}
	
	.theater_wrap::after{

	*/ 
  background:  url("../img/noise.svg"), linear-gradient(0deg, rgba(62,19,14,1) 0%, rgba(190,154,35,1) 32%, rgba(226,218,102,1) 66%, rgba(227,230,143,1) 100%) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
}
	
	
	.theater_wrap::before{
	 border: 6px solid transparent;
  border-image: linear-gradient(0deg, rgba(62,19,14,1) 0%, rgba(190,154,35,1) 32%, rgba(226,218,102,1) 66%, rgba(227,230,143,1) 100%) border-box border-box;
  
  box-sizing: border-box;
  border-radius: 15px;
  box-shadow: #116c36 0 0 15px, #116c36 0 0 15px, #116c36 0 0 10px, #116c36 0 0 10px, inset #116c36 0 0 15px, #116c36 0 0 15px, #116c36 0 0 10px, #116c36 0 0 10px;
}
	
	
	.theater ul {
    width: 100%;
	}
.theater ul li {
    flex-direction: column;
	    margin: 0 auto 10%;
	}
	.theater ul.theater_list_01 li {
    margin: 0 auto 15%;
}
.area {
    margin: 0 auto 5%;
	width: 35%;
	padding: 0;
	    font-size: 4.2vw;
}
.theater_list_01 .area {
    width: 35%;
    padding: 0;
}
.theater_list_01 .theater_name {
    width: 100%;
    text-align: center;
            font-size: 4.5vw;
	}
.theater_list_01 .period {
    width: 100%;
    text-align: center;
            font-size: 4.15vw;
}
h2.event {
            font-size: 5.2vw;
    margin: 0 auto 10%;
	}
.theater_name {
    width: 100%;
    text-align: center;
    font-size: 4.5vw;
	margin: 0 auto 2%;
	}
	.period {
    width: 100%;
    text-align: center;
	font-size: 4.15vw;
}
	
/*-------------------
FOOTER
--------------------*/	

	.footer_title {
    width: 80%;
    margin: 0 auto 8%;
}
	.footer_billing {
    width: 100%;
	}
	
	
	
}


	
	
	
	