@charset "utf-8";

/* =reset
------------------------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td,header, section, article, footer, article, aside, time ,nav,a{
margin:0;
padding:0;
}

fieldset,img{
  border:0;
}
address,caption,cite,code,dfn,em,th,var{
font-style:normal;
font-weight:normal;
}
ol,ul{
list-style:none;
}
caption,th{
text-align:left;
}
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{
content:'';
}
abbr,acronym{
border:0;
}
p{
text-justify:inter-ideograph;
margin: 0;
}

header, section, article, footer, article, aside, time ,nav { display: block; }

ul{
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 0;
}
figure {
display: block;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}



/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#000;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{border:5px solid #000; background:#fff;}
        #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
        #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
        #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
        
        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
        #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
        #cboxPrevious:hover{background-position:bottom left;}
        #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
        #cboxNext:hover{background-position:bottom right;}
        #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{background-position:bottom center;}



/* =base
------------------------------------------------------------------------------------------*/
* { box-sizing: border-box; }
body { background: #fff; color: #000; counter-reset: number 0; /*font-family: "メイリオ","Meiryo","MS PGothic","Osaka",Arial,sans-serif;*/ font-family: 'Noto Sans JP', 'Noto Sans JP IE', sans-serif; font-feature-settings : "palt"; font-size: 14px; line-height: 1.6em; }
img { vertical-align: bottom; }
a { color: #e97611; text-decoration: none; outline: none; }
a:hover { color: #fc9b46; text-decoration: none; }
a:hover img { opacity: 0.8; filter: alpha(opacity=80); }

/* =header
------------------------------------------------------------------------------------------*/
header { background: #e95098; display: table; position: relative; top: 0; width: 100%; z-index: 1; }
header .header-wrap { display: table; margin: 0 auto; padding: 15px 20px; width: 100%; }
header .left { display: table-cell; line-height: 1em; vertical-align: middle; width: 16%; }
header .right { display: table-cell; margin: .5em 0; vertical-align: middle; width: 84%; }
header h1 { color: #fff; font-size: 10px; line-height: 1em; text-align: right; }
header .logo-eplus { width: 100px; height: 21px;}
header .logo-eplus img { width: 100%; }

/* =foot
-----------------------------------------------------------------------------------------*/
footer { background: #e95098; color: #fff; text-align: center; width: 100%;  margin: 0 auto; padding: 50px 0; }
footer p { font-size: 12px; line-height: 1em;}
footer .footer-logo-eplus a{ width: 41px; height: 37px; margin: 0 auto; display: block;}

/* =SNSボタン
----------------------------------*/
#sns { margin-bottom: 3vw; }
.btn-sns::after { content: ""; clear: both; display: block; }
.btn-sns { line-height: 1em; margin: 0 auto; width: 300px; width: fit-content; }
.btn-sns li { float: left; margin-right: 4px; }
.btn-sns li:last-child { margin-right: 0; }
.btn-sns-sp { display: none; }
.fb_iframe_widget { display: inline-block !important; width: auto !important;}
.fb_iframe_widget > span { vertical-align: baseline !important;}

/* =ページトップ
------------------------------------------------------------------------------------------*/
.page_top { margin: 0; position: fixed; right: 100px; bottom: 50px; text-align: center; z-index: 10; }
.page_top a { background: rgba(255,255,255,.8); border: 1px solid #ccc; border-radius: 40px; color: #000; display: block; font-family: 'Oswald',"メイリオ","Meiryo","MS PGothic","Osaka",Arial,sans-serif; font-size: 11px; height: 80px; line-height: 80px; transition: all .2s; width: 80px; }

/* = sp nav
------------------------------------------------------------------------------------------*/
.sp-nav { display: none; }

/* = mainImage
------------------------------------------------------------------------------------------*/
#main-img { background: /* url(../images/main_background.jpg) center top no-repeat */ #fff; width: 100%; width: 100%;}
#main-img h2 { margin: 0 auto; max-width: 1200px; width: 100%; }
#main-img img { width: 100%; }

/* = wrap
------------------------------------------------------------------------------------------*/
/* main用のwrap */
.main-wrap { background: #fff; display: block; margin: 0 auto ; width: 100%; }

/* セクションごとのwrap */
.section-wrap { margin: 0 auto; /*width: 92%;*/ }
.section-wrap:not(:last-of-type){margin-bottom: 70px;}
.section-wrap img { vertical-align: bottom; }
.section-wrap p:not(:last-of-type) { margin-bottom: 1em; }

/* コンテンツごとのwrap */
.min-content-wrap:not(:last-of-type) { margin-bottom: 35px; }
.content-wrap:not(:last-of-type) { margin-bottom: 70px; }

/* = breadcrumb
------------------------------------------------------------------------------------------*/
.breadcrumb { margin: 0 auto 3vw; max-width: 1000px; width: 92%; }
.breadcrumb li { color: #696969; display: inline; }
.breadcrumb li a { font-size: 14px; line-height: 1.2em; text-decoration: underline; }
.breadcrumb li:not(:last-child)::after { content: " > "; color: #696969; }

/* = parts
------------------------------------------------------------------------------------------*/
.pc-none { display: none; }
.sp-none { display: block; }

/* 横並びbox */
.clearfix::after,
.float-box::after { content: ""; clear: both; display: block; }
.float-box { width: 102%; }
.float-box .box01 { width: 98%; }
.float-box .box02,
.float-box .box03,
.float-box .box04 { float: left; margin: 0 2% 5% 0; }
.float-box .box02 { width: 48%; }
.float-box .box03 { width: 31.3%; }
.float-box .box04 { width: 23%; }
.float-box .box01 img,
.float-box .box02 img,
.float-box .box03 img,
.float-box .box04 img { width: 100%; }
.table-box { display: table; width: 100%; }
.table-box .box02,
.table-box .box03,
.table-box .box04 { display: table-cell; vertical-align: middle; }
.table-box .box02 { width: 50%; }
.table-box .box03 { width: 33.3%; }
.table-box .box04 { width: 25%; }
.table-box .box02 img,
.table-box .box03 img,
.table-box .box04 img { width: 100%; }
.flex-box { display: flex; flex-wrap: wrap; width: 102%; margin-bottom: -5%; }
.flex-box .box01 { width: 98%; margin-bottom: 5%; }
.flex-box .box02, .flex-box .box03, .flex-box .box04 { margin: 0 2% 5% 0; }
.flex-box .box02 { max-width: 48%; flex-basis: 48%; }
.flex-box .box03 { max-width: 31.3%; flex-basis: 31.3%; }
.flex-box .box04 { max-width: 23%; flex-basis: 23%; }
.flex-box .box01 img, .flex-box .box02 img, .flex-box .box03 img, .flex-box .box04 img { width: 100%; }

/* font */
.moreless { font-size: .8em; line-height: 1.4em; }
.less { font-size: .9em; line-height: 1.4em; }
.mid { font-size: 1.1em; line-height: 1em; }
.big { font-size: 1.2em; line-height: 1em; }
.bigger { font-size: 1.3em; line-height: 1em; }
.biggest { font-size: 1.5em; line-height: 1em; }
.font-bold { font-weight: bold; }
.font-normal { font-weight: normal; }
.font-minchou { font-family: "ＭＳ 明朝",serif; font-weight: normal; }
.font-yu-minchou { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; font-weight: normal; }
.font-italic { font-style: italic; }
.copyright { font-size: 12px; }

/* textColor */
.text-red { color: #cc0000; }
.text-white { color: #fff; }
.text-black { color: #000; }
.sat { color: #0b5792; }
.sun { color: #a63646; }

/* textAlign */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* margin */
.mb-05vw { margin-bottom: .5vw !important; }
.mb-1vw { margin-bottom: 1vw !important; }
.mb-2vw { margin-bottom: 2vw !important; }
.mb-3vw { margin-bottom: 3vw !important; }
.mb-4vw { margin-bottom: 4vw !important; }
.mb-5vw { margin-bottom: 5vw !important; }
.mb-6vw { margin-bottom: 6vw !important; }
.mb-7vw { margin-bottom: 7vw !important; }
.mb-8vw { margin-bottom: 8vw !important; }
.mb-9vw { margin-bottom: 9vw !important; }
.mb-10vw { margin-bottom: 10vw !important; }
.mb-01em { margin-bottom: .1em !important; }
.mb-02em { margin-bottom: .2em !important; }
.mb-03em { margin-bottom: .3em !important; }
.mb-04em { margin-bottom: .4em !important; }
.mb-05em { margin-bottom: .5em !important; }
.mb-06em { margin-bottom: .6em !important; }
.mb-07em { margin-bottom: .7em !important; }
.mb-08em { margin-bottom: .8em !important; }
.mb-09em { margin-bottom: .9em !important; }
.mb-1em { margin-bottom: 1em !important; }
.mb-2em { margin-bottom: 2em !important; }

/* linkButtonBased */
.link-button a { border-radius: 50px; box-sizing: border-box; display: block; font-size: 26px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: .9em 0 1em; position: relative; text-align: center; transition: .1s; width: 100%; max-width: 450px;}
.link-button a:hover { text-decoration: none; }
.link-button a:active {  }
.spice-button a { background: #cc0000; box-shadow: 4px 4px 0 rgba(153,0,0,1); font-size: 26px; }
.spice-button a:hover { color: #cc0000; }

/* linkButtonColor */
.link-button a { background: #e95098; color: #fff; }
.link-button a:hover { opacity: .7;}
.link-button a:active { }

/* 16:9 wrap(youteubeとか) */
.video-outer-wrap { margin: 0 auto 3vw; width: 60%; }
.video-wrap { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0px; width: 100%; }
.video-wrap iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.video-wrap img { position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); width: 100%; }

/* playButton */
.play-button::before { content: ""; border: 3px solid rgba(255,255,255,.5); border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate3d(-50%,-50%,0); width: 75px; height: 75px; transition: .15s; z-index: 1; }
.play-button::after { content: ""; border: 23px solid transparent; border-left: 35px solid rgba(255,255,255,.5); position: absolute; top: 50%; left: calc(50% + 17px); transform: translate3d(-50%,-50%,0);transition: .15s;  }
.play-button:hover::before { border: 3px solid rgba(255,255,255,1); }
.play-button:hover::after {  border-left: 35px solid rgba(255,255,255,1); }

/* periodBox */
.period-box { background: #f8f8f8; border: 1px solid #cc0000; box-sizing: border-box; color: #cc0000; font-size: 26px; font-weight: bold; line-height: 1.4em; margin: 0 auto 2vw; padding: 1em 0; text-align: center; width: 80%; }

/* bottomLineBased */
.solid-line { border-bottom: 1px solid #fff; }
.dotted-line { border-bottom: 1px dotted #fff; }
.dashed-line { border-bottom: 1px dashed #fff; }

/* bottomLinePadding */
.solid-line,
.dotted-line,
.dashed-line { padding-bottom: 1em; }

/* textList(div等で囲む) */
p.text-list,
.text-list ul li { padding: 0 0 .2em 1.1em; position: relative; }
p:not(:last-of-child).text-list { margin-bottom: 1em; }
.text-list ul li:not(:last-of-child) { margin-bottom: .4em; }
p.text-list::before,
.text-list ul li::before { content: "※"; position: absolute; left: 0; }
p.text-list-dotted::before,
.text-list-dotted ul li::before { content: "・"; }
p.text-list-circle::before,
.text-list-circle ul li::before { content: "●"; }
p.text-list-square::before,
.text-list-square ul li::before { content: "■"; }
p.text-list-counter,
.text-list-counter ul li { padding-left: 5.1em; }
p.text-list-counter::before,
.text-list-counter ul li::before { counter-increment: number 1; content: "" counter(number) ""; }

/* linkOff */
.link-off a { background: #ccc; border: none; box-shadow: none; pointer-events: none; }
.link-off a::after { display: none !important; }

/* smartphone
------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
  /* =base
  ------------------------------------------------------------------------------------------*/
  body { font-size: 14px; line-height: 1.4em; }

  /* =header
  ------------------------------------------------------------------------------------------*/
  header { border-top: solid 2px #e95098; }
  header .header-wrap { padding: 8px 8px 10px; }
  header .left,
  header .right { display: block; width: 100%; }
  header .left { margin-bottom: 10px; }
  header .right { margin: 0; }
  header h1 { text-align: left; line-height: 1.2em;}
  header .logo-eplus { width: 60px; height: 12px;}

  /* =foot
  -----------------------------------------------------------------------------------------*/
  footer { padding: 30px 0; }

  /* =SNSボタン
  ----------------------------------*/
  .btn-sns { display: none;}
  .btn-sns-sp::after { content: ""; clear: both; display: block; }
  .btn-sns-sp { display: block; margin: 0 auto; width: 72%; width: fit-content; }
  .btn-sns-sp li { float: left; line-height: 1em; margin-right: 10px;}
  .btn-sns-sp li:last-child { margin-right: 0; }
  .btn-sns-sp .tw,
  .btn-sns-sp .gp { margin-top: 44px; }
  .btn-sns-sp .li { margin-top: 3px; }

  /* =pagetop
  ------------------------------------------------------------------------------------------*/
  .page_top{ display: none; }

  /* = sp nav
  ------------------------------------------------------------------------------------------*/
  .sp-nav { display: block; }
  #toggle { background: #e97611; position: fixed; top: 0; right: 0; height: 45px; width: 45px; transition: .2s; z-index: 11; }
  #toggle .button { background: #fff; height: 4px; position: absolute; top: calc(50% - 2px); left: 20%; transition: .3s; width: 60%; }
  #toggle .button::before,
  #toggle .button::after { background: #fff; content: ""; display: block; height: 4px; position: absolute; top: 50%; left: 0; transition: .3s; width: 100%; }
  #toggle .button::before { margin-top: -12px; }
  #toggle .button::after { margin-top: 8px; }
  #toggle .close { background: transparent; top: calc(50% - 4px); }
  #toggle .close::before,
  #toggle .close::after{ margin-top: 0; }
  #toggle .close::before{ transform: rotate(-45deg); }
  #toggle .close::after{ transform: rotate(-135deg); }
  #menu { opacity: 0; transition: .3s; display: none;}
  #menu.open { display: block !important; opacity: 1; transition: .1s; }
  .nav-menu { background: rgba(0,0,0,.8); height: 100%; height: 100vh; position: fixed; top: 0; transition: .3s; width: 100%; width: 100vw; z-index: 10; }
  .nav-menu li:first-child { border-bottom: 1px solid #666; height: 45px; }
  .nav-menu li a { border-bottom: 1px solid #666; color: #fff; display: inherit; font-size: 14px; line-height: 1em; padding: .9em 0; width: 100%; text-align: center; }

  /* = mainImage
  ------------------------------------------------------------------------------------------*/
  #main-img {  }
  #main-img h2{}

  /* = wrap
  ------------------------------------------------------------------------------------------*/
  /* main用のwrap */
  .main-wrap { width: 100%; }

  /* セクションごとのwrap */
  .section-wrap { margin: 0 auto ; /*width: 92%;*/ }
  .section-wrap:not(:last-of-type){margin-bottom: 10vw;}
  /* コンテンツごとのwrap */
  .content-wrap:not(:last-of-type) { margin-bottom: 50px; }
  .min-content-wrap:not(:last-of-type) { margin-bottom: 30px; }

  /* = parts
  ------------------------------------------------------------------------------------------*/
  .pc-none { display: block; }
  .sp-none { display: none; }

  /* box */
  .float-box,
  .float-box .box01,
  .float-box .box02,
  .float-box .box03 { width: 100%; }
  .float-box .box02,
  .float-box .box03 { float: none; margin: 0 0 5% 0; }
  .float-box .box04 { width: 48%; }
  .table-box .box02,
  .table-box .box03 { display: block; width: 100%; }
  .table-box .box04 { width: 50%; }

  /* textAlign */
  .sp-text-left { text-align: left; }
  .sp-text-right { text-align: right; }
  .sp-text-center { text-align: center; }

  /* margin */
  .sp-mb-05vw { margin-bottom: .5vw !important; }
  .sp-mb-1vw { margin-bottom: 1vw !important; }
  .sp-mb-2vw { margin-bottom: 2vw !important; }
  .sp-mb-3vw { margin-bottom: 3vw !important; }
  .sp-mb-4vw { margin-bottom: 4vw !important; }
  .sp-mb-5vw { margin-bottom: 5vw !important; }
  .sp-mb-6vw { margin-bottom: 6vw !important; }
  .sp-mb-7vw { margin-bottom: 7vw !important; }
  .sp-mb-8vw { margin-bottom: 8vw !important; }
  .sp-mb-9vw { margin-bottom: 9vw !important; }
  .sp-mb-10vw { margin-bottom: 10vw !important; }

  /* linkButton */
  .link-button a { font-size: 20px; text-decoration: none; width: 100%; }

  /* 16:9 wrap(youteubeとか) */
  .video-outer-wrap { width: 92%; }

  /* periodBox */
  .period-box { font-size: 18px; line-height: 1.2em; margin-bottom: 4vw; padding: .6em 0; width: 90%; }

  /* textList(div等で囲む) */
  .text-list p,
  .text-list ul li { padding-bottom: .3em; }
}


/* 追加 */
.main-wrap img{width: 100%;}
span.heading-text{display: block; font-size: 22px; line-height: 1.2em; border-left: 8px solid #e97611; padding: 3px 0 0px 10px; margin-bottom: 5px;}
span.block-box{ display: block; margin-bottom: 25px;}
.ticket-bg{width: 100%; padding: 70px 0 90px; background-color: #232323;}
.ticket-bg:not(:last-of-type){ padding: 70px 0 70px;}
.bg-full{width: 100%; padding: 70px 0 90px;}
.bg-full:nth-of-type(odd){background-color: #f0f0f0;}
.bg-full:nth-of-type(even){background-color: #fff;}
.container{max-width: 1000px; width: 92%; margin: 0 auto;}
.orange{color: #e97611;}
.pink{color: #e95098;}
.link-button p{text-align:center; font-size: 30px; line-height: 1.4em; color: #000; font-weight: bold; margin-bottom: 1em;}
p.text-list-counter, .text-list-counter ul li{padding-left: 1.1em; position: relative;}
p.text-list-counter::before, .text-list-counter ul li::before{content: "" counter(number) "．";position: absolute; left: 0;}
p.button-text{text-align:left; font-size: 30px; line-height: 1.4em; color: #000; font-weight: bold; margin-bottom: 1em; color: #fff;}

#top-ticket h2,
#ticket h2,
#timetable h2,
#ticket-list h2,
#special h2,
#outline h2{text-align:center; line-height: 1em; margin-bottom: 60px;}

#top-ticket h2,
#ticket h2{text-align: left;}

#top-ticket h2 span.main-text,
#ticket h2 span.main-text,
#ticket-list h2 span.main-text,
#timetable h2 span.main-text,
#special h2 span.main-text,
#outline h2 span.main-text{letter-spacing: 10px; font-size: 60px; color: #e97611; font-family: 'Oswald', sans-serif; font-weight: bold; line-height: 1em; display: inline-block; margin-bottom: 30px;}

#top-ticket h2 span.main-text,
#ticket h2 span.main-text{}

#top-ticket h2 span.sub-text,
#ticket h2 span.sub-text,
#ticket-list h2 span.sub-text,
#timetable h2 span.sub-text,
#special h2 span.sub-text,
#outline h2 span.sub-text{color: #000; font-weight: bold; font-size: 18px;line-height: 1em;}

#top-ticket h2 span.sub-text,
#ticket h2 span.sub-text{color: #fff;}

#top-ticket .inner-wrap,
#ticket .inner-wrap{width: 92%; margin: 0 auto;}
#top-ticket .float-box .box02,
#ticket .float-box .box02{width: 34%;}
#top-ticket .float-box .box02:last-of-type,
#ticket .float-box .box02:last-of-type{width: 62%;}

#ticket-list a{display: block;}
#ticket-list a.modal-icon{transition: .1s; width: 56%; margin: 0 auto 50px; text-align: center; color: #e97611; border: 1px solid #e97611; font-size: 16px; line-height: 1em; padding: .4em 0 .5em; border-radius: 26px; font-weight: bold; }
#ticket-list a.modal-icon:hover{color: #fff; background-color: #e97611;}
#ticket-list .box02{width: 44%;}
#ticket-list .box02:last-of-type{width: 52%;}
#ticket-list .box02 h3{  margin-bottom: 10px; color: #000; font-size: 22px; line-height: 1em; font-family: 'Montserrat', sans-serif; text-align: center;}
#ticket-list .box02 p{font-size: 16px; line-height: 1.6em;}
#ticket-list .box02 .text-list-circle ul li::before{color: #cacaca;}
#ticket-list .caution{ margin:0 auto; background-color: #f6f6f6; }
#ticket-list .caution .inner-wrap{padding: 15px 20px; }
#ticket-list .caution .inner-wrap h4{position: relative; padding-left: 1.1em; margin-bottom: .5em; font-size: 16px; line-height: 1em;}
#ticket-list .caution .inner-wrap h4::before{content: "■"; position: absolute; left: 0; }

#ticket-list table{width: 100%; border-collapse: collapse; }
/* #ticket-list .table-scroll tbody{width: 100%;}
#ticket-list .table-scroll table{display:block;}
#ticket-list .table-scroll table thead,
#ticket-list .table-scroll table thead tr,
#ticket-list .table-scroll table tbody{float: left;width: 100%;} */
#ticket-list .table-scroll table thead{display: block;}
#ticket-list .table-scroll tbody{height: 600px;overflow-y: scroll;position: relative;display: block;width: 100%;}
/* #ticket-list .table-scroll::-webkit-scrollbar {display: none;} */
#ticket-list .table-scroll tbody::-webkit-scrollbar  {width: 10px;}
#ticket-list .table-scroll tbody::-webkit-scrollbar-thumb  {background: rgba(139, 139, 139, 0.377);border-radius: 50px;padding: 0 2px;}
#ticket-list .table-scroll tbody::-webkit-scrollbar-track  {background: rgb(241, 241, 241);}
#ticket-list table tr{}

/* CG */
#ticket-list table th,
#ticket-list table td{ padding: .4em .2em; font-size: 14px; line-height: 1.5em;}
#ticket-list table td:not(:first-of-type){text-align: center;padding: 10px 5px 10px 5px;}
#ticket-list table td:nth-of-type(3){text-align: center;padding: 10px 5px 10px 5px;}
#ticket-list table th{color: #fff; font-weight: bold; text-align: left;background: #ff607c;border: 1px solid #bebebe; text-align: center;}
#ticket-list table th.seat{border-right:1px solid #fff ;}
#ticket-list table th.price{}
#ticket-list table td{border:1px solid #bebebe;}
#ticket-list table th.area{background: #fff; color: #000; width: 30%;text-align: left;}
#ticket-list table td.type{ width: 50%;}
#ticket-list table td.price{ width: 20%; text-align: center;}
/* OTHER */
/* #ticket-list table th,
#ticket-list table td{ padding: 10px 5px 10px 15px;width: 75%;}
#ticket-list table td:not(:first-of-type){text-align: center;padding: 10px 5px 10px 5px;width: 25%;min-width: 190px;}
#ticket-list table th{color: #fff; font-weight: bold; text-align: center;padding: 6px 10px;}
#ticket-list table th.seat-name{background-color: #1e7902; border-right:1px solid #fff ;width: 74%;}
#ticket-list table th.advance{background-color: #f78282; width: 25%;border-right:1px solid #fff ; }
#ticket-list table th.door{background-color: #0a939c;width: 25%; border-right:1px solid #0a939c;}
#ticket-list table th.door{background-color: #1e7902;min-width:200px; padding-left: 10px; border-right:1px solid #1e7902;}
#ticket-list table td{border:1px solid #bebebe;} */

#special .float-box.flex{display: flex;flex-wrap: wrap;}
#special .float-box.flex h4{width: 100%;}
#special .float-box .seat-box02 img{width: 100%;}
#special .float-box .seat-box02{float: left; margin: 0 2% 5% 0; width: 48%; }
#special .float-box .seat-box02 .table-box .box02:first-of-type{padding-left: 0; width: 36%; max-width: 160px;}
#special .float-box .seat-box02 .table-box .box02.wide:first-of-type{max-width: inherit;}
#special .float-box .seat-box02 .table-box .box02{ margin:0; padding-left: 6%;width: 64%; }
#special .in-h{font-size: 24px; margin-bottom: 1.2em; padding-bottom: .6em; border-bottom:1px solid #000; line-height: 1.4em; font-weight: bold; }
#special .con-h{font-size: 20px; margin-bottom: 1em; border-left:7px solid #dddddd; line-height: 1.4em; font-weight: bold; padding-left: .6em;}
#special .float-box .box02{font-size: 16px; line-height: 1.4em;}
#special .float-box .box02 img{display: block;}
#special .float-box .box02 img:not(:last-of-type){margin-bottom: 2px;}
#special .float-box .box02 .text-list ul li{font-size: 14px;}
#special .wide{width: 52%;}
#special .tight{width: 44%;}
#special h4{text-align:left; line-height: 1.6em; margin-bottom: 30px; font-size: 22px; font-weight: bold;}
#special h4 span.main-text{letter-spacing: 4px; font-size: 32px; color: #e97611; font-family: 'Oswald', sans-serif; font-weight: bold; line-height: 1.2em; display: inline-block; margin-bottom: 20px;}
#special h4 span.sub-text{color: #000; font-weight: bold; font-size: 18px;line-height: 1em;}
#special .venus{width: 80%; margin:0 auto; }
#special .venus img{width: 100%; }

.wrap-750px{max-width: 750px; margin: 0 auto;}
#outline .outline-list{display: flex; flex-wrap: wrap; width: 100%;}
#outline .outline-list:not(:last-of-type){margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px dashed #000;}
#outline .outline-list dt,
#outline .outline-list dd{}
#outline .outline-list dt{font-weight: bold;font-size: 16px;  line-height: 1.4em; width: 20%; margin-right: 2%;}
#outline .outline-list dd{ font-size: 18px;  line-height: 1.4em; width: calc(100% - 22%);}


#timetable .tt{display: table; width: 100%; border-collapse: collapse; box-sizing: border-box;}
#timetable .tt th,
#timetable .tt td{padding: .6em .4em; border: 1px solid #000;}
#timetable .tt th.bg-g,
#timetable .tt td.bg-g{background-color: #ccc;}
#timetable .tt th{ width: 30%;}
#timetable .tt td{width: 70%;}
@media screen and (max-width: 768px){
span.heading-text{font-size: 16px; line-height: 1.4em; border-left: 6px solid #e97611;}
span.block-box{display: block; margin-bottom: 5vw;}
.bg-full,
.ticket-bg{padding: 10vw 0 13vw;}
.ticket-bg:not(:last-of-type){ padding:6vw 0 13vw;}
.link-button p{ font-size: 20px;}
p.button-text{ text-align: left; font-size: 20px;}
p.button-text:not(:last-of-type){margin-bottom: .4em;}


#top-ticket h2,
#ticket h2,
#ticket-list h2,
#timetable h2,
#special h2,
#outline h2{ margin-bottom: 10vw;}

#top-ticket h2 span.main-text,
#ticket h2 span.main-text,
#ticket-list h2 span.main-text,
#timetable h2 span.main-text,
#special h2 span.main-text,
#outline h2 span.main-text {font-size: 34px; margin-bottom: 3vw; letter-spacing: 6px;}

#top-ticket h2 span.sub-text,
#ticket h2 span.sub-text,
#ticket-list h2 span.sub-text,
#timetable h2 span.sub-text,
#special h2 span.sub-text,
#outline h2 span.sub-text{font-size: 16px;}

#top-ticket h2,
#ticket h2{text-align: center;}
#top-ticket .float-box .box02, #ticket .float-box .box02,
#top-ticket .float-box .box02:last-of-type, #ticket .float-box .box02:last-of-type{width: 100%;}

#ticket-list .box02,
#ticket-list .box02:last-of-type{width: 100%; }
#ticket-list .table-scroll tbody{height: 400px;}
#ticket-list .box02 h3{margin-bottom: 3vw;}
#ticket-list .box02 p{font-size: 14px; line-height: 1.4em;}
#ticket-list .box02 .text-list-dotted{}
#ticket-list .box02 .text-list-dotted ul li{display: block; margin-right: 0;}
#ticket-list .caution{width: 100%;}
#ticket-list .caution .inner-wrap{padding: 15px 10px; }
#ticket-list .caution .inner-wrap h4{ font-size: 16px; }
#ticket-list a.modal-icon{display: none;}
#ticket-list a.map-img{pointer-events: none;}


/* CG */
#ticket-list table{margin-bottom: 5vw;}
#ticket-list table tr{}
#ticket-list table th,
#ticket-list table td{ padding: 10px 5px 10px 10px;}
#ticket-list table td:not(:first-of-type){text-align: center;padding: 10px 5px 10px 5px;}
#ticket-list table td:nth-of-type(3){}
#ticket-list table th{padding: 6px 10px;}
#ticket-list table th.area{ width: 30%;}
#ticket-list table td.type{ width: 50%;}
#ticket-list table td.price{ width: 20%;}
/* OTHER */
/* #ticket-list table{margin-bottom: 5vw;}
#ticket-list table tr{}
#ticket-list table th,
#ticket-list table td{ padding: 10px 5px 10px 10px;width: 100%;}
#ticket-list table td:not(:first-of-type){text-align: center;padding: 10px 5px 10px 5px;min-width:90px;}
#ticket-list table th{padding: 6px 10px;}
#ticket-list table th.seat-name{width: 100%;}
#ticket-list table th.advance{}
#ticket-list table th.door{min-width:100px;}
#ticket-list table td{} */

#special .wide{width: 100%;}
#special .tight{width: 100%;}
#special .float-box .seat-box02 .table-box .box02:first-of-type{ width: 100%; max-width: 160px; margin:0 auto; }
#special .float-box .seat-box02 .table-box .box02.wide:first-of-type{ width: 100%;margin: 0 auto 20px;}
#special .float-box .seat-box02 .table-box .box02{ margin:0; padding-left: 0%;width: 100%; }
#special .float-box .seat-box02{float: none; margin: 0 0 13vw 0; width: 100%; }
#special .float-box .seat-box02 h3{font-size: 20px; margin-bottom: 3vw;}
#special .float-box .seat-box02 .table-box .box02 p{font-size: 16px;}
#special .float-box .box02 { margin-bottom: 6vw; width: 100%;}
#special h3{font-size: 16px; margin-bottom: 13px; line-height: 1.4em;}
#special h4{font-size: 18px; margin-bottom: 7vw;}
#special h4 span.main-text{letter-spacing: 2px; font-size: 32px; margin-bottom: 3vw;}
#special h4 span.sub-text{font-size: 16px;}

#outline .outline-list:not(:last-of-type){margin-bottom: 15px; padding-bottom: 15px; }
#outline .outline-list dt{font-size: 14px; width: 100%; margin:0 0 .4em;}
#outline .outline-list dd{ font-size: 16px; width: 100%;}
}

/*add*/
.text-link{color: #e97611; text-decoration: underline;}
.text-link:hover{color: #e97611; text-decoration: none;}
.caution-bg{ padding: 70px 0;}
.red-block{border: 1px solid #c00; background-color: #f2f2f2; padding: 25px 30px; box-sizing: border-box;}
.mid-text{ font-size: 20px; line-height: 1.6em; }
@media screen and (max-width: 768px){
.caution-bg{ padding: 9vw 0;}
.red-block{padding: 20px 15px;}
.mid-text{ font-size: 16px; }
}

/* 2024.10.04 add */
.caution-block { background-color: #ffe8e8; box-sizing: border-box; padding: 25px 10px;}
@media screen and (max-width: 768px) {
  .caution-block { padding: 20px 10px; }
}
#special figure.venus figcaption { padding-top: .5em; }


/* 2026 add */
.wrap-750px{max-width: 750px; margin: 0 auto;}
#special .slide-img{position: relative;/*  background-color: #EEEEEE; padding-bottom: 49%; */ overflow: hidden; display: block; box-sizing: border-box;max-width: 650px; margin: 0 auto; width: 86%;}
/* #special .slide-area .slide-img img{ position: absolute; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; left: 50%; top: 50%; transform: translate(-50%, -50%);} */
@media screen and (max-width: 768px) {
#special .slide-img{ width: 100%;}
}

/* swiper CSS */
.slide-area {position: relative; margin:0 auto; width: 100%;}
/*.swiper-slide{}*/
.swiper-container { margin: 0 auto; }
.swiper-button-disabled { opacity: 0!important; }
.swiper-button { color: #d6b115; display: block; top: 50%; width: 40px; height: 40px; z-index: 2; background-color: rgba(255,255,255,1); position: absolute; transform: translate3d(0, -50%, 0); border-radius: 100px; border: 1px solid #000;}
.swiper-button-prev { left: 0%; }
.swiper-button-next { right: 0%; transform: translate3d(0px, -50%, 0px)rotate(180deg);}
.swiper-button::after { background: url(../images/icon_arrow.svg) center no-repeat; background-size: contain; content: ""; position: absolute; width: 60%; height: 100%; transform: translate3d(35%, 0%, 0px); z-index: 3;}
.swiper-button:hover,
.swiper-button:hover::after { opacity: .5;}
.swiper-button-disabled::after { opacity: 0; }
@media screen and (max-width: 768px) {
.swiper-container {padding-bottom: 40px;}
.swiper-button {  width: 30px; height: 30px; transform:translate3d(-50%, 0%, 0px); bottom: 0; top: initial;}
.swiper-button-prev { left: calc(50% - 30px); }
.swiper-button-next {left: calc(50% - -30px); transform: translate3d(-50%, 0%, 0px)rotate(180deg); }
.swiper-button::after { width: 60%;}
}
