html {
  scroll-behavior: smooth;
  font-family: sans-serif;

  max-width:100vw;
}

body {
margin: 0 !important;
overflow-x:hidden!important;
max-width:100vw;
}

#container {
max-width:100vw;
overflow-x:hidden;
}



/*SP版制御*/
@media screen and (max-width: 699px) {
  .section_header{
      text-align:center;
      margin:auto;
   }
  .section_header img{
    height:12vw;
   }

#fv {
  width: 100vw;
  aspect-ratio: 9/16;
  position: relative;
  background-image: url(/img/fv_sp.jpg);
  background-color: #333333;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#fv_logo {
  position: absolute;
  width:66.133333vw;
  top:16.954692653%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:2;
}

#fv_logo img {
  width:100%;
  height:auto;
}

#fv_info {
  position: absolute;
  width:88.4368vw;
  top:42.310944527%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:2;
}

#fv_info img {
  width:100%;
  height:auto;
}

#lineup {
  padding-top:50px;
  padding-bottom:300px;
  background:#550A6F;
}

.date_header {
  width:6em;
  text-align:center;
  margin:auto;
  margin-top:100px;
}

.date_header img{
  width:6em;
}

.lineup_grid {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  max-width:1000px;
  margin:auto;
  margin-top:35px;
  gap:5vw;
  padding-left:5vw;
  padding-right:5vw;
}

.lineup_photo {
  width:calc(50% - 2.5vw);
  height:calc(50% - 2.5vw);
  border-radius:10px;
}

#access {
  background:#fff;
  width:150vw;
  margin-top:-100px;
  margin-left:-25vw;
  padding-top:150px;
  padding-bottom:150px;
  transform:rotate(-5deg);
}

.rotate_wrapper {
  transform:rotate(5deg);  
}

.gmap {
  margin-top:50px;
  text-align:center;
  padding-left:5vw;
  padding-right:5vw;
}

.gmap iframe {
  width: 90vw;
  max-width:1000px;
  aspect-ratio: 1/1;
  margin:auto;
  border:none!important;
}

.hallname {
  text-align:center;
  margin:auto;
  margin-top:50px;
}

.hallname img {
  height:7vw;
}

.hallname p{
  text-align:center;
  font-weight:bold;
  color:#550A6F;
  margin-top:50px;
  font-size:8px!important;
}

#ticket_upper {
  width:150vw;
  margin-left:-25vw;
  transform:rotate(-5deg);
  position:relative;
  background: #333;
  overflow:hidden;
  z-index:1;
}

#ticket_upper .rotate_wrapper{
  margin-top:-150px;
  margin-bottom:-150px;
  padding-top:300px;
  padding-bottom:350px;
  background:url(/img/sp_visual_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform:rotate(5deg);
  overflow:hidden;
}

.price_list {
  display:flex;
  max-width:90vw;
  margin:auto;
  justify-content:space-between;
  align-items:center;
}

.price_list:not(:first-of-type) {
  margin-top:50px;
}

.text_premiumseat {
  height:calc(4vw + 15px);
    }

.text_reserved {
  height:calc(2vw + 7px);
}

.price {
  height:17vw;
}

#ticket_upper p {
  margin:auto;
  text-align:center;
color:#fff;
margin-top:30px;
font-size:2vw;
}

.preorder {
  font-weight:bold;
}

p.preorder{
  font-size:2.5vw!important;
}

.preorder img{
  height:7vw;
  margin-right:0.5em;
  margin-top:1em;
  vertical-align: center;
}

.normalorder {
  font-size:2.5vw!important;
  font-weight:bold;
  /*background:#550A6F;*/
  padding:10px;
  border-radius: 10px;
}

.reserve_button_wrapper {
  width:90vw;
  max-width:600px;
  display:flex;
  flex-wrap:wrap;
  gap:2.5vw;
  justify-content:space-between;
  margin:auto;
  margin-top:50px;
  position:relative;
  z-index:2;
}

.reserve_button {
width:calc(50% - 1.25vw);
}

.reserve_button img{
  width:100%;
    }

.unavailable {
  opacity:0.5;
}

.ticket_shadow {
  position:absolute;
  bottom:10%;
  z-index:1;
  width:150vw;
  height:25vh;
  background:linear-gradient(180deg, rgba(255, 255, 255,0), rgba(255,255,255,1.0));
  transform:rotate(-5deg);
}

#ticket_lower {
  width:150vw;
  margin-top:-2px;
  margin-left:-25vw;
  padding-bottom:150px;
  transform:rotate(-5deg);
  position:relative;
  background: #fff;
  z-index:2;
}


#ticket_lower .rotate_wrapper{
  text-align: center;
  width:90vw;
  margin:auto;
  margin-left:31.25vw;
}

#contact_button {
  display:inline-block;
  margin: auto;
  width: 90vw;
  max-width: 800px;
  margin-top: 50px;
  transition:all 0.3s;
}

#contact_button a{
  display:inline-block;
  margin: auto;
  width: 90vw;
  max-width: 800px;
  margin-top: 50px;
  transition:all 0.3s;
}

#contact_button img{
  margin:auto;
  width:90vw;
  transition:all 0.3s;
}

#contact_button:hover {
  transform:scale(1.05,1.05);
}

#guideline_button {
  display:inline-block;
  text-align: center;
  margin:auto;
  max-width:800px;
  width:90vw;
  transition:all 0.3s;
  margin-top:50px;
}

#guideline_button a{
  display:inline-block;
  text-align: center;
  margin:auto;
  max-width:800px;
  width:90vw;
  transition:all 0.3s;
  margin-top:150px;
}

#guideline_button img{
  margin:auto;
  max-width:100%;
  transition:all 0.3s;
}

#guideline_button:hover {
  transform:scale(1.05,1.05);
}

#movie {
  width:150vw;
  margin-left:-25vw;
  padding-top:150px;
  padding-bottom:150px;
  transform:rotate(-5deg);
  position:relative;
  background: #BC4795;
  overflow:hidden;
  z-index:1;
}

.movie_wrapper {
  margin:auto;
  width:90vw;
  max-width:800px;
  margin-top:50px;

}

.movie_wrapper img {
width:100%;
}

#menu {
  padding-top:150px;
  padding-bottom:150px;
}

#lower_menu {
  display:flex;
  flex-direction:column;
  list-style-type: none;
  margin:auto;
  padding:0;
}

#lower_menu ul{
  padding:0;
  padding-inline-start:0!important;
}

#lower_menu li{
  display:inline-block;
  margin:auto;
  height:12vw;
}

#lower_menu li:not(:first-of-type){
  margin-top:25px;
}

#lower_menu li a img{
  height:100%;
}

#footer {
  background:#1F1F1F;
  padding:50px;
  padding-bottom:25px;
}

#footer_credits {
  display:flex;
  flex-direction:column;
  margin:auto;
  justify-content:center;
  gap:25px;
}

.credits_item {
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
}

.credits_item:not(:first-of-type) {
  margin-top:50px;
}

.credits_item span {
  text-align:center;
  color:#fff;
}



.credits_logo {
display:flex;
  margin-top:25px;
  max-width:100px;
  align-items:center;
  justify-content: center;
}



.credits_logo img {
  max-height:100%;
max-width:100%;
}

#footer_logo {
  margin:auto;
  display:block;
  margin-top:200px;
  max-width:100px;
}

#copyright {
  display:block;
  margin-top:25px;
  color:#fff;
  text-align:center;
  font-size:10px;
}



}



#fv_shadow {
position:absolute;
bottom:0;
z-index:1;
width:100vw;
height:25vh;
background:linear-gradient(180deg, rgba(255, 255, 255,0), #550A6F);
}



/*PC版制御*/
@media screen and (min-width: 700px) {
.section_header{
    text-align:center;
    margin:auto;
 }
.section_header img{
    height:4em;
 }

#fv {
width: 100vw;
aspect-ratio: 16/9;
position: relative;
background-image: url(/img/fv_pc.jpg);
background-color: #333333;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

#fv_logo {
position: absolute;
width:27vw;
top:7.45%;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
z-index:2;
}

#fv_logo img {
width:100%;
height:auto;
}

#fv_info {
position: absolute;
width:48.45vw;
min-width:600px;
top:40.942519%;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
z-index:2;
}

#fv_info img {
width:100%;
height:auto;
}

#lineup {
padding-top:100px;
padding-bottom:300px;
background:#550A6F;
}

.date_header {
height:3em;
text-align:center;
margin:auto;
margin-top:100px;
}

.date_header img{
height:3em;
}

.lineup_grid {
display:flex;
flex-wrap:wrap;
max-width:1000px;
margin:auto;
margin-top:35px;
gap:30px;
}

.lineup_photo {
width:calc(33.3% - 25px);
height:calc(33.3% - 25px);
border-radius:10px;
}

#access {
background:#fff;
width:150vw;

margin-top:-100px;
margin-left:-25vw;
padding-top:150px;
padding-bottom:150px;
transform:rotate(-5deg);
}

.rotate_wrapper {
transform:rotate(5deg);  
}

.gmap {
margin-top:50px;
text-align:center;
}

.gmap iframe {
width: 100%;
max-width:1000px;
aspect-ratio: 16/9;
margin:auto;
border:none!important;
}

.hallname {
text-align:center;
margin:auto;
margin-top:50px;
}

.hallname img {
height:2.5em;
}

.hallname p{
text-align:center;
font-weight:bold;
color:#550A6F;
margin-top:50px;
font-size:12px!important;
}

#ticket_upper {
width:150vw;
margin-left:-25vw;
transform:rotate(-5deg);
position:relative;
background: #333;
overflow:hidden;
z-index:1;
}

#ticket_upper .rotate_wrapper{
margin-top:-150px;
margin-bottom:-150px;
padding-top:300px;
padding-bottom:350px;
background:url(/img/pc_visual_bg.jpg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
transform:rotate(5deg);
overflow:hidden;
}

.price_list {
display:flex;
max-width:1000px;
margin:auto;
justify-content:space-between;
align-items:center;
}

.price_list:not(:first-of-type) {
margin-top:50px;
}

.text_premiumseat {
height:calc(4em + 15px);
  }

.text_reserved {
height:calc(2em + 7px);
}

.price {
height:8em;
}

#ticket_upper p {
margin:auto;
text-align:center;
color:#fff;
margin-top:30px;
}

.preorder {
font-size:2em;
font-weight:bold;
}

.preorder img{
height:1.5em;
margin-right:0.5em;
margin-top:1em;
vertical-align: center;
}

.normalorder {
font-size:1.5em;
font-weight:bold;
/*background:#550A6F;*/
padding:10px;
border-radius: 10px;
}

.reserve_button_wrapper {
max-width:600px;
display:flex;
flex-wrap:wrap;
gap:30px;
justify-content:space-between;
margin:auto;
margin-top:50px;
position:relative;
z-index:2;
}

.reserve_button {
width:calc(50% - 15px);
}

.reserve_button img{
width:100%;
  }

.unavailable {
opacity:0.5;
}

.ticket_shadow {
position:absolute;
bottom:10%;
z-index:1;
width:150vw;
height:25vh;
background:linear-gradient(180deg, rgba(255, 255, 255,0), rgba(255,255,255,1.0));
transform:rotate(-5deg);
}

#ticket_lower {
width:150vw;
margin-top:-2px;
margin-left:-25vw;
padding-bottom:200px;
transform:rotate(-5deg);
position:relative;
background: #fff;
z-index:2;
}

#contact_button {
display: block;
margin:auto;
max-width:800px;
transition:all 0.3s;
}

#contact_button img{
margin:auto;
max-width:100%;
transition:all 0.3s;
}

#contact_button:hover {
transform:scale(1.05,1.05);
}

#guideline_button {
display: block;
margin:auto;
max-width:800px;
transition:all 0.3s;
margin-top:100px;
}

#guideline_button img{
margin:auto;
max-width:100%;
transition:all 0.3s;
}

#guideline_button:hover {
transform:scale(1.05,1.05);
}

#movie {
width:150vw;
margin-left:-25vw;
padding-top:200px;
padding-bottom:200px;
transform:rotate(-5deg);
position:relative;
background: #BC4795;
overflow:hidden;
z-index:1;
}

.movie_wrapper {
margin:auto;
max-width:800px;
margin-top:50px;

}

.movie_wrapper img {
width:100%;
}

#menu {
padding-top:150px;
padding-bottom:150px;
}

#lower_menu {
display:flex;
flex-direction:column;
list-style-type: none;
margin:auto;
padding:0;
}

#lower_menu ul{
padding:0;
padding-inline-start:0!important;
}

#lower_menu li{
display:inline-block;
margin:auto;
height:4em;
}

#lower_menu li:not(:first-of-type){
margin-top:25px;
}

#lower_menu li a img{
height:100%;
}

#footer {
background:#1F1F1F;
padding:100px;
padding-bottom:25px;
}

#footer_credits {
display:flex;
margin:auto;
justify-content:center;
gap:100px;
}

.credits_item {
display:flex;
flex-direction:column;
}

.credits_item span {
text-align:center;
color:#fff;
}

.credits_logo {
display:flex;
margin-top:25px;
height:100px;
max-width:200px;
align-items:center;
justify-content: center;
}

.credits_logo img {
max-height:100%;
max-width:100%;
}

#footer_logo {
margin:auto;
display:block;
margin-top:200px;
max-width:200px;
}

#copyright {
display:block;
margin-top:25px;
color:#fff;
text-align:center;
}



}