body { font-size: 1.3rem; }

.section-header, .section-body {
    width: 90vw;
    max-width: none;
}

#header { padding:0;}
#header .header_logo {
    width: 18vw;
    padding:2vw;
    position:relative;
    z-index:30;
}
#header-sns { width: 30%;}
.hamburger-menus-poster img {display:none;}
.hamburger-menus-bg { width:90%; right:-50%;}
.hamburger-menus {width:80%;}
.hamburger-menus ul {padding: 10vw 20vw 3vw;}
.hamburger-menus ul li {font-size:5vw; white-space:nowrap;}
#hamburger-menus-sns ul {padding: 0vw 24vw 0;}
#hamburger-menus-sns ul li a {width: 5vw;}

.mv-img {padding-top:17vw; background:#222;}

#shortcut_menu { width: 75%; margin: 0 5vw; flex-wrap:wrap; gap:2vw; justify-content:space-between;}
#shortcut_menu .button { flex-basis:48.5%; padding:0 2vw;}
#shortcut_menu .headline { flex-basis:100%; }

.parallax-container {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.parallax-container img {
  position: absolute;
/*  transform: translate(-50%, -50%); */
}

/* 各レイヤーの配置指定 */
.layer1 {
  position: absolute;
  top: 45%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  transform: translate(-50%,-50%);
}
.layer1 img {
  position: absolute;
  top: 50%;
  left: 50%;
  height:100%; width:auto;max-width: none;  transform: translate(-50%,-50%);
  }

.layer2 {
  position: absolute;
  top: 20%;
  left: 50%;
  width: 50%;
  z-index: 2;
  transform: translate(-50%,-50%);
}

.layer3 {
  position: absolute;
  top: 47.5%;
  left: 25%;
  width: auto;
  height: 30vh;
  z-index: 3;
  transform: translate(-50%,-50%);
  -webkit-filter: drop-shadow(0 0 2px rgba(0, 5, 15, 1)) drop-shadow(0 0 4px rgba(0, 28, 56, 1)) drop-shadow(0 0 10px rgba(0, 46, 87, .8));
  filter: drop-shadow(0 0 2px rgba(0, 5, 15, 1)) drop-shadow(0 0 4px rgba(0, 28, 56, 1)) drop-shadow(0 0 10px rgba(0, 46, 87, .8));
}

.layer4 {
  position: absolute;
  bottom: -10%;
  left: 50%;
  width: 100%;
  z-index: 4;
  transform: translate(-50%,0%);
}

.scrolldown {
    top: auto !important;
    left: auto !important;
    bottom: 5% !important;
    right: 10% !important;
    transform: translate(0%, -20%) !important;
}

#gallery {
  position: relative;
  height: 100vh;
  overflow: hidden;
  background-color: #000;
  background-image:url(../img/bg-gallery.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.wrapper.text {
  font-size: 10vw;
  font-weight: bold;
  white-space: nowrap;
  color: rgba(255,255,255,0.5);
  will-change: transform;
}

.wrapper.image {
  display:flex;
  height:40vh;
  gap:0 5vw;
  padding-bottom:3vw;
}
.wrapper.image img {
  width:auto;
}


/* ============= 最新情報　#whatsnew ============= */
#whatsnew { padding: 5em 0;}
#whatsnew .section-header { width: 90%;}
#whatsnew ul a { display:block;}
#whatsnew .img {margin-bottom:10px;}
#whatsnew .date {display: inline-block; float:left;}
#whatsnew .category {display: inline-block; padding: 0 .75em; float:right;}
#whatsnew .title {clear:both;margin-top:7px; margin-bottom:10px; min-height:4em; display:grid; place-content: center;}
#whatsnew .text {margin-top:7px; width:100%;}
.swiper-wrapper {transition-timing-function: linear !important; }
.swiper .swiper-slide { height: auto !important; }
.swiper .swiper-slide a { height: 100% !important; overflow: hidden !important; }
#whatsnew .swiper-button-prev {
    top: 10% !important;
    width: 3vw !important;
}
#whatsnew .swiper-button-next {
    right: 20px !important;
    top: 10% !important;
    width: 3vw !important;
}

#toppage #feature {
    min-height: 80vh;
}

#toppage #feature-bg {
    background-size: auto 65%;
}
#toppage #feature .section-header h2 {
    font-size: 6vw;
    white-space: nowrap;
}
#toppage #feature .section-body {
    width: 86%;
    margin-top:3vw;
}
#toppage #feature p {
    font-size: 110%;
    line-height: 2;
}


#about .section-body {width:80%;margin-top:5vw;}
#about .flex {
flex-wrap:wrap;
align-items: center;
}
#about .flex-item:nth-of-type(1) {
    flex-basis: 100%;
}#about .flex-item:nth-of-type(2) {
    flex-basis: 100%;
    padding: 5vw;
}

#footer{padding-bottom:50vw;}
#footer:after { background-color: transparent; background-position: center 70%;}
#footer-menu-wrapper {
	display: block;
    width: 100%;
    padding: 8vw 0;
    border:none;
    background: #222;
}
#footer-logo {display: block; width:60%; margin:0 auto; padding:0; border-right: none;}
#footer-logo p.title {width:100%;}
#footer-menu { flex-wrap:wrap; justify-content: center; margin: 5vw auto; gap:5px 0; padding:0; border-bottom: none;}
#footer-menu li {display: block; flex-basis:calc(100% / 3); text-align: center;}
#footer-menu a {font-size: 100%;display: block;padding: 0;}
ul#footer-sns {padding:0; border:none;}
#copyright {padding:0; margin-top:5vw;}


/* ============= 開催会場　#venue ============= */
#venue .section-header {margin-bottom:5vw;}
#venue .venue-list h3 { font-size: 150%; padding: 0 6vw;}
#venue .venue-wrapper { padding: 1em 5vw 2em; font-size: 125%;}
#venue .venue-list p img {padding: 0;}
.gradient-button-wrapper {max-width: 88vw;}
.price .button-text {font-size: 175%;}

#tokyo.venue-single {
    padding-top: 3em;
    background: #e0b755;
    background: linear-gradient(145deg, rgba(224, 183, 85, 1) 0%, rgba(255, 247, 201, 1) 1.5%, rgba(255, 209, 92, 1) 3%, rgba(186, 148, 24, 0) 8%, rgba(0, 0, 0, 1) 94%, rgba(255, 202, 97, 1) 100%);
}

.venue-single .section-header{margin-bottom: 2em;}
.venue-single .section-header,.venue-single .section-body {
 width: 94vw;
 padding:0;
}
.dateplace {
padding:2em !important;
background: linear-gradient(0deg, rgba(224, 183, 85, 1) 1%, rgba(0, 0, 0, 1) 100%);
}
.dateplace .button-text { font-size: 175%; }
.price {
 padding: 3em 2em 2em !important;
}
.price h3 { padding: .25em .65em;}
.price h3 span.nowrap { font-size:100% !important; }
.price table {
    border-collapse: collapse;
    width: 100%;
    font-size: 125%;
    font-weight: normal;
    margin-bottom: 0.5em;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-image: initial;
}
.price table th {white-space:nowrap;}


.gradient-button-wrapper {
    max-width: 100%;
}
#calendar li {
height:auto;
    font-size: 1rem;
    letter-spacing: 0px;
    padding-bottom:.5em;
}
#calendar ol.week {
    height: 1em;
}
#calendar ol.week li{
    padding-top:0;
}
#calendar li span.holiday {font-size: 1.5vw;transform: scale(0.8, 1);transform-origin: top left; width: 125%;}
