.menu-btn {
    position: absolute;
    top:0;
    right:0;
    cursor: pointer;
    z-index:10;
transition: .3s;
}
.menu-btn.btnfix {position:fixed;}
.menu-btn span {display:block;
   line-height:70px;
   color: #fff; width:70px; height:70px;
    font-size:140%;
    text-align: center;
background: rgba(17,17,17,0.5);
}
.menu-btn span:after {
    content: attr(data-txt-menu);
}
/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu-btn span:after {
    content: attr(data-txt-close);
}

.btn_tkt{display:block; position:fixed;right:0;top:50vh; width:100px; height:100px; z-index:100;
background-image:url(../img/ticket.png),linear-gradient(60deg, rgba(126,29,63,0.8) 31%, rgba(186,126,82,0.8) 93%);
background-repeat:no-repeat,repeat;
background-position:center center,center center;
}

@media all and (max-width: 767px) {
.menu {
    position: fixed;
    display:table;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(17,17,17,0.5);
background-image: linear-gradient(140deg, rgba(99,35,72,0.8) 10%, rgba(7,0,86,0.8) 100%);
    visibility: hidden;
    opacity: 0;
z-index:9;
}
.menu ul {display:table-cell; vertical-align:top; width:100%; display:block; margin:10% 0 0;}
.menu li {width:100%; height:55px; line-height:55px; margin:0 auto 3%; text-align: center;}
.menu li a {width:65%; display: block; font-size:140%; color: #fff; transition:.5s; border:1px solid rgba(255,255,255,0.6); margin:0 0 0 5%;}
.menu li a:hover {background-color:rgba(17,17,17,0.4);}

.logo_s{/*position:static; left:5%; top:5%;*/margin:10% 0 0 5%; display:block; }
.logo_s img{width:45%;}

.btn_tkt{position: absolute; width:70px; height:70px; top:75px; background-size:contain,auto;}
.btn_tkt.btnfix {position:fixed;}
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {display:table;
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
}

@media all and (min-width:768px) {
.menu-btn,.logo_s{display:none;}
#top header{width:100％ !important; height:calc(100vh - 182px); margin:0 auto; position:relative;
background-image:url(../img/top/main2.jpg),url(../img/top/mainbg2.png);
background-position:center bottom,center bottom;
background-attachment:fixed,fixed;
background-size:contain,contain;
background-repeat:no-repeat,repeat-x;}
#top .menu{width:100%; text-align:center; padding:1.6% 0;
background-image: linear-gradient(90deg, rgba(215,79,3,0.8) 10%, rgba(102,38,84,0.8) 100%);}
.menu ul li{display:inline-block; margin:0 1.5%;}
.menu ul li a{color:#fff; display:block; font-size:140%; padding:.2em;}

header.hd2{width:100%;
position: fixed;
  top:182px;
  left: 0;
  z-index: 2;
  height:170px;
  transition: .3s;
}
header.hd2 .inner{position: relative; margin:2.5% auto 0; height:auto;}
header .logo{width:207px;height:119px; background:url(../img/logo.png) no-repeat 0 0; position:absolute; left:0; top:0; background-size:cover; transition: .3s;}
header .logo a{display:block; width:100%; height:100%;}
header .lang{font-size:1.8vw; color:#757677; padding:2% 0; display:inline-block;}
header ul#menu2{text-align:right; padding:9% 0 0;}
header ul#menu2 li{display:inline-block; margin:0 0 0 1.5%; padding:.2em;}
header ul#menu2 li a{display:block; font-size:140%; color:#595c5f; padding:0 2px 8px; position: relative;}
header ul#menu2 li a:before,
header ul#menu2 li a:after {
  border-bottom: solid 1px #595c5f;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
header ul#menu2 li a::before {
  left: 50%;
}
header ul#menu2 li a::after {
  right: 50%;
}
header ul#menu2 li a:hover::before,
header ul#menu2 li a:hover::after {
  width:30%;
}
.is-animation {
top:0 !important;
background-color:rgba(255,255,255,0.9) !important;
height: 100px !important;
box-shadow:8px 15px 20px rgba(9,2,4,0.1) !important;
}
.is-animation .logo{width:139px;height:80px;}
.is-animation .inner{margin:.5% auto 0 !important;}
.is-animation ul#menu2{padding:4% 0 0 !important;}

.pre-show{position:absolute;left:0;bottom:0;}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index:2;
}
}


@media all and (max-width: 767px) {
#top header{width:100%; position:relative;
height:0;
padding:125% 0 0;
background: url(../img/top/main1.jpg) no-repeat center top;
background-size: cover;
}
#top header h1{width:60%; height:0; padding:36.4532% 0 0; position:absolute; bottom:5%; left:0; right:0;}
header .logo{display:none;}
header.hd2{position:relative;}
}