@charset "utf-8";

/* =resetForm */
.button--primary { border: none !important; }
.block-irregular { background: none !important; box-shadow: none !important; }
.block-irregular__inner-narrow { padding: 0 !important; max-width: 100% !important; margin: 0 !important; }
.block-irregular .form__row, .block-irregular__color-block .form__row { max-width: 100% !important; }
.form__content { margin: 0 !important; display: block !important; border-spacing: 0 !important; width: 100% !important; }
.form__cell { display: block !important; }
.block-irregular .buttons:not(:first-child), .block-irregular__color-block .buttons:not(:first-child) { margin-top: 0 !important; }
.block-irregular .buttons, .block-irregular__color-block .buttons { max-width: 100% !important; }
.block-irregular, .block-irregular__color-block { padding: 0 !important; margin: 0 !important; }
.section--divider:not(:first-child), .block-irregular__line-dashed:not(:first-child) {margin-top: 0 !important; padding-top: 0 !important; border-top: none !important; }
.form__caution, .form__error { margin-top: 0; margin-bottom: 1em; font-weight: bold; }
.button { border-radius: 0; display: block; padding: 0; line-height: 1; font-size: 14px; width: 100%; vertical-align: middle; text-align: center; white-space: nowrap; font-weight: normal; }

/* =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;
}

/* =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: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-feature-settings : "palt"; font-size: 14px; line-height: 1.6em; }
img { vertical-align: bottom; }
a { color: #f27900; text-decoration: none; outline: none; }
a:hover { color: #ffa449; text-decoration: none; }
a:hover img { opacity: 0.8; filter: alpha(opacity=80); }

/* =header
------------------------------------------------------------------------------------------*/
header {  position: relative; top: 0; width: 100%; z-index: 1; }
header h1 {max-width: 1280px; width: 100%; margin: 0 auto; }
header h1 img{ width: 100%;}

/* =foot
-----------------------------------------------------------------------------------------*/
footer { background: #fff; color: #000; text-align: center; width: 100%; }
footer .section-wrap { margin: 0 auto; padding: 2.5vw 0; }
footer p { font-size: 12px; margin-bottom: .6em; }
footer .miku { width: 157px; }
footer .eplus { width: 41px; }
footer i { display: inline-block; margin-top: -8px; }
footer .table-box .box02:first-child { text-align: right; width: 41%; }
footer .table-box .box02:last-child { padding-left: 1%; text-align: left; width: 59%; }

/* =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; }

/* = 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%; }

/* 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 { box-sizing: border-box; display: block; border-radius: 4px; font-size: 32px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: .8em 0 .7em; position: relative; text-align: center; transition: .1s; width: 54%; }
.link-button a:hover { text-decoration: none; }
.link-button a:active { box-shadow: none; transform: translate3d(4px, 4px, 0); }
.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: #7b4093; box-shadow: 4px 4px 0 rgba(89,37,110,1); color: #fff; }
.link-button a:hover { color: #59256e; text-shadow: 0 0 2px #fff, 0 0 4px #fce6f0, 0 0 6px #f9d5e6; }
.link-button a:active { color: #fff; }*/

/* 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: 100%; }

/* 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-diamond::before,
.text-list-diamond ul li::before { content: "◆"; }
p.text-list-counter,
.text-list-counter ul li { padding-left: 1.2em; }
p.text-list-counter::before,
.text-list-counter ul li::before { counter-increment: number 1; content: "" counter(number) "."; }

/* linkOff */
.link-off a { background: #ccc!important; 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 {}
  header .header-wrap { padding: .4em .6em .4em; }
  header h1 {margin: .5em auto .5em 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: #f27900; 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 { background-image: none; }

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

  /* セクションごとのwrap */
  .section-wrap { margin: 0 auto 16vw; width: 92%; }

  /* コンテンツごとのwrap */
  .content-wrap { margin-bottom: 13vw;}

  /* = 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: 22px; text-decoration: none; width: 90%; }

  /* 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; }
}

/* add */

#first-text{ background: #ffefef; padding: 30px 60px; width: 100%; max-width: 1000px; }
.seat-caution{}
.seat-caution .head{background-color: #fcefef; font-weight: bold; text-align: center; font-size: 18px; line-height: 1.4em; padding: 10px 7px; margin-bottom: 0!important;}
.seat-caution .bottom{ border: 3px solid #fcefef; border-top:none; padding: 15px 20px;}

/* = mainImage */
#main-img { background-color: #ea7611; width: 100%; }
#main-img h1 { margin: 0 auto; max-width: 1000px; width: 100%; }
#main-img img { width: 100%; }

/* = wrap */


/* mainwrap */
.main-wrap { background: #fff; display: block; margin: 0 auto ; padding: 5vw 0 1vw; max-width: 1200px; width: 92%; }

/* section wrap */
.section-wrap { margin: 0 auto 80px; width: 100%; }
.section-wrap img { vertical-align: bottom; }
.section-wrap p:not(:last-of-type) { margin-bottom: 1em; }

/* content wrap */
.content-wrap { margin-bottom: 60px; }

/* linkButtonBased */
.link-button a{text-decoration: none; box-sizing: border-box; display: block; border-radius: 50px; font-size: 26px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: 1em 0 1.1em; position: relative; text-align: center; transition: .1s; width: 50%; }
.link-button a:hover { text-decoration: none; }
.link-button a:active { box-shadow: none;}
.spice-button a { background: #cc0000; box-shadow: 4px 4px 0 rgba(153,0,0,1); font-size: 26px; }
.spice-button a:hover { color: #cc0000; }
.link-button a span.btn-text{position: relative;}
.link-button a span.btn-text::before{position: absolute; content: "";width: 0; height: 0; border-style: solid; border-width: 7.5px 0 7.5px 12px; border-color: transparent transparent transparent #fff; left: -1em; top: 50%; transform: translate3d(0,-50%,0);}

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

.pc-only{}
.sp-only{display: none;}

.color-g{color:#F27900;}
.caution-box{background-color: #f0f0f0; padding: 40px 30px;margin-bottom: 30px;}
.caution-box.red-box{background-color: #ffefef;}
.caution-box p.caution-heading{font-weight: bold; font-size: 20px; line-height: 1em; margin-bottom: 25px; text-align: center;}

#about h2,
#detail h2,
#ticket h2,
#process h2{ font-size: 32px; font-weight: bold; line-height: 1em; margin-bottom: 80px; position: relative; }
#about h2::before,
#detail h2::before,
#ticket h2::before,
#process h2::before,
#about h2::after,
#detail h2::after,
#ticket h2::after,
#process h2::after{ position: absolute; content: ""; bottom: -25px; }
#about h2::before,
#detail h2::before,
#ticket h2::before,
#process h2::before{ border-bottom: 5px solid #f27900; width: 20%; left: 0; }
#about h2::after,
#detail h2::after,
#ticket h2::after,
#process h2::after{ border-bottom: 5px solid #f0f0f0; width: 80%; right: 0; }

/*add*/
.flex-box { display: flex; flex-direction: row; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-start; width: 105%; /*margin-bottom: -5%; */}
.flex-box .box02,
.flex-box .box03 { flex-grow: 1; flex-shrink: 0; margin: 0 5% 5% 0; }
.flex-box .box02 { flex-basis: 45%; max-width: 45%; }
.flex-box .box03 { flex-basis: 28.3%; max-width: 28.3%; }

#bottom-caution{max-width: 1000px; width: 92%; margin:0 auto; }
.common-box { background: #fff; border-radius: 6px; margin-bottom: 5%; padding: 4% 10%; position: relative; }
.common-box.information-box { padding: 0; }
.common-box.box-type02 { padding: 0 0 2%; }
.common-box.box-type02 h3 { background: #9f2429; border-radius: 6px 6px 0 0; color: #fff; font-weight: bold; line-height: 1.2em; margin-bottom: 2%; padding: 1em; text-align: center; }
.common-box.box-type02 h3 + p { padding: 2% 4% 4%; }
.information-box h3 { border-radius: 6px 6px 0 0; color: #fff; font-weight: bold; line-height: 1.2em; padding: 1.2em 1em 1em; text-align: center; }
.information-box#number-one h3 { background: #e97611; }
.information-box#number-two h3 { background: #c9b386; }
.information-box h3 span { font-size: 24px; }
.information-box .inner-box { display: flex; flex-direction: row; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; padding: 1% 0 1%; }
.information-box .inner-box:not(:last-of-type) { position: relative; }
.information-box .inner-box:not(:last-of-type)::after { border-bottom: 1px solid #ccc; content: ""; position: absolute; left: 2.5%; bottom: 0; width: 95%; }
.information-box dl { flex-grow: 1; flex-basis: 33.3%; flex-shrink: 0; max-width: 33.3%; padding: 2% 3%; }
.information-box dl:not(:last-of-type) { border-right: 1px solid #ccc; }
.information-box dl dt,
.information-box dl dd { text-align: center; }
.information-box dl dt { font-size: 14px;  margin-bottom: 1.2em;  line-height: 1.6em;}
.information-box dl dd { font-size: 20px; font-weight: bold; line-height: 1.6em; }
#refund .inner-heading { font-size: 20px; font-weight: bold; line-height: 1.2em; text-align: center; margin-bottom: 1.6em; }
#refund .content-wrap:not(:last-of-type) { border-bottom: 1px solid #9c9c9c; margin-bottom: 30px; padding-bottom: 30px; }
#refund .content-wrap .content-heading { font-size: 18px; font-weight: bold; line-height: 1.2em; margin-bottom: 1em; padding-left: 1.1em; position: relative; }
#refund .content-wrap .content-heading::before { content: "●"; color: #9c9c9c; position: absolute; top: 0; left: 0; }
#refund .content-wrap .period-box { background: #f0f0f0; color: #000; font-size: 18px; font-weight: bold; line-height: 1.4em; padding: 1.2em .8em 1.1em; }
#after-ticketing .inner-wrap { border-bottom: 1px dotted #ddd; margin-bottom: 30px; padding-bottom: 30px;}

#detail .detail-wrap dl { border-bottom: 1px dotted #b5b5b5; display: table; margin-bottom: 1em; padding-bottom: 1em; width: 100%; }
#detail .detail-wrap dl dt,
#detail .detail-wrap dl dd { display: table-cell; font-size: 18px; line-height: 1.4em; vertical-align: top; }
#detail .detail-wrap dl dt { font-weight: bold; width: 18%; min-width: 180px; position: relative; padding-right: 1em;}
#detail .detail-wrap dl dt::after {  content: ""; position: absolute; right: 0; top: 0; }
#detail .detail-wrap dl dd { padding-left: 1em; position: relative; width: 92%; }
/*#detail .detail-wrap dl dd::before { content: "ÂF"; position: absolute; left: 0; top: 0; }*/
#detail .detail-wrap ul li { border-bottom: 1px dotted #b5b5b5; font-size: 18px; line-height: 1.4em; padding-bottom: 1em; width: 100%; }
#detail .detail-wrap ul li:not(:last-of-type) { margin-bottom: 1em; }
#detail .detail-wrap table { width: 100%; border-collapse: collapse; }
#detail .detail-wrap table tr th,
#detail .detail-wrap table tr td { border: 1px solid #d9d9d9; word-break: break-all;}
#detail .detail-wrap table tr th { border-top: none;background-color: #fffcef; color: #000; text-align:left; font-weight: bold; padding: 10px; width: 50%; }
#detail .detail-wrap table tr td{background-color: #fffcef; padding: 15px 7px 15px 7px; width: 50%;}
#detail .detail-wrap .seat-map {max-width: 750px; margin: 0 auto 3vw; }
#detail .detail-wrap .seat-map img { width: 100%; }
#detail .detail-wrap .seat-map h3 {border-bottom: 3px solid #f0f0f0; color: #242424; font-weight: bold; text-align: center; padding-bottom: .6em; font-size: 20px; line-height: 1.6em;}

#ticket .flex-box { width: 102%; }
#ticket .flex-box .box03 { flex-basis: 31.3%; max-width: 31.3%; margin: 0 2% 5% 0; }
#ticket .flex-box a { text-decoration: none; color: #000; }
#ticket .flex-box img { width: 100%; }
#ticket .order-box { border: 3px solid; text-align: center; transition: .15s; }
#ticket .order-box .inner-wrap { padding: 35px 35px 20px; }
#ticket .order-box .inner-wrap .mark { padding-bottom: 20px; }
#ticket .order-box .inner-wrap .period-wrap .inner-heading { margin-bottom: .8em; }
#ticket .order-box .link { color: #fff; font-size: 20px; font-weight: bold; padding: 1em 1em .9em; position: relative; transition: .15s; }
#ticket .order-box .link::before { border: 10px solid; border-color: transparent transparent transparent #fff; content: ""; position: absolute; top: 48.5%; left: 34%; transform: translate3d(-50%,-50%,0); }
#ticket .order-box#grand-slam { border-color: #000; }
#ticket .order-box#grand-slam:hover { border-color: #696969; }
#ticket .order-box#grand-slam .link { background: #000; }
#ticket .order-box#grand-slam:hover .link { background: #696969; }
#ticket .order-box#gold { border-color: #9d8c02; }
#ticket .order-box#gold:hover { border-color: #c7b625; }
#ticket .order-box#gold .link { background: #9d8c02; }
#ticket .order-box#gold:hover .link { background: #c7b625; }

#ticket .order-box#bronze { border-color: #b84420; }
#ticket .order-box#bronze:hover { border-color: #ea663d; }
#ticket .order-box#bronze .link { background: #b84420; }
#ticket .order-box#bronze:hover .link { background: #ea663d; }

#ticket .order-box#silver { border-color: #476f79; }
#ticket .order-box#silver:hover { border-color: #64939e; }
#ticket .order-box#silver .link { background: #476f79; }
#ticket .order-box#silver:hover .link { background: #64939e; }
#ticket .order-box#kids { border-color: #7ab625; }
#ticket .order-box#kids:hover { border-color: #a2d45c; }
#ticket .order-box#kids .link { background: #7ab625; }
#ticket .order-box#kids:hover .link { background: #a2d45c; }
#ticket .order-box#gid { border-color: #ff4901; }
#ticket .order-box#gid:hover { border-color: #ff804e; }
#ticket .order-box#gid .link { background: #ff4901; }
#ticket .order-box#gid:hover .link { background: #ff804e; }

.link-button.g-id-button a{font-size: 18px; width: 30%; padding: .9em 0 .9em; margin: 0 auto 3vw;}

@media screen and (max-width: 768px){

#first-text{ padding: 20px 15px; margin-bottom: 7vw;}
.seat-caution{}
.seat-caution .head{}
.seat-caution .bottom{}

.section-wrap h2 { font-size: 22px; }
.information-box .inner-box { padding: 9% 0; }
.information-box dl { flex-basis: 100%; max-width: 100%; padding: 0; }
.information-box dl dt { margin-bottom: .5em; }
.information-box dl:not(:last-of-type) { padding: 0 4%; margin-bottom: 7%; border-right: none; }
.common-box { padding: 9% 6%; }
#refund .inner-heading { font-size: 5vw; }
#refund .content-wrap .period-box { text-align: left; width: 100%; }
.caution-box p.caution-heading { margin-bottom: 10px; }

.flex-box { width: 100%;}
.flex-box .box02 { flex-basis: 100%; max-width: 100%; margin: 0 0 8% 0; }
.flex-box .box03 { flex-basis: 47.5%; max-width: 47.5%; margin: 0 0 8% 0; }
.flex-box .box03:nth-child(odd) { margin-right: 5%; }

#about h2,
#detail h2,
#ticket h2,
#process h2{ font-size: 20px; line-height: 1.4em; margin-bottom: 40px;}
#about h2::before,
#detail h2::before,
#ticket h2::before,
#process h2::before,
#about h2::after,
#detail h2::after,
#ticket h2::after,
#process h2::after{ bottom: -15px;}
#about h2::before,
#detail h2::before,
#ticket h2::before,
#process h2::before{width: 30%;}
#about h2::after,
#detail h2::after,
#ticket h2::after,
#process h2::after{ width: 70%;}

#detail .detail-wrap dl { display: block; width: 100%; }
#detail .detail-wrap dl dt,
#detail .detail-wrap dl dd { display: block; min-width: unset; width: 100%; padding: 0 0 0 0;}
#detail .detail-wrap dl dt::after { right: auto;}
#detail .detail-wrap ul li { font-size: 16px; }
#detail .detail-wrap ul li:not(:last-of-type) { margin-bottom: 0; }

#ticket .flex-box { width: 104%; }
#ticket .flex-box .box03 { flex-basis: 46%; max-width: 46%; margin: 0 4% 4% 0; }
#ticket .order-box .inner-wrap { padding: 5vw 4vw; }
#ticket .order-box .inner-wrap .mark { padding-bottom: 4vw; }
#ticket .order-box .link { font-size: 18px; }
#ticket .order-box .link::before { border: 8px solid; border-color: transparent transparent transparent #fff; top: 50%; left: 15px; }

.link-button.g-id-button a{font-size: 16px; width: 80%; margin: 0 auto 5vw;}
}





/* アコーディオン
----------------------------------*/
.accordionbox { width: 100%; }
.accordionbox img{max-width: 100%;}
.accordionlist dt{ display:block; background: #f27900; padding: 1em 0 1em 2em;border: 1px solid #e7e1d4; cursor: pointer; border-radius: 5px 5px 0 0; color: #fff; position: relative; transition: .15s;}
.accordionlist dt:hover{opacity: 0.8;}
.accordionlist dt:first-child{ border-top: none !important; }
.accordionlist dt .title{ font-weight: bold; font-size: 20px; line-height: 1.4em;}
.accordionlist dd{ display:none; background: #fff; color: #000; width: 100%; margin: 0 auto;border-bottom: 1px solid #e7e1d4;border-right: 1px solid #e7e1d4;border-left: 1px solid #e7e1d4;padding: 50px 30px; box-sizing: border-box;}
.accordion_icon { max-width: 30px; position: absolute; top: 50%; transform: translate3d(0,-50%,0); right: 20px; transition: all .15s ease-out .35s;}
.accordion_icon.active { transform: translate3d(0,-50%,0) rotate(180deg); }
.accordion_icon img{width: 100%;}

/* タブ切り替え
----------------------------------*/
#detail #table-list-nav01 nav{position: relative;}
#detail #table-list-nav01 button { color: #f27900; font-size: 24px; font-weight: bold; line-height: 1.4em; padding: .9em 0; position: relative; border-top: 2px solid #f27900; border-left: 2px solid #f27900; border-right: 2px solid #f27900; border-radius: 5px 5px 0 0; overflow-y: hidden; transition: .15s;}
#detail #table-list-nav01 button span { position: relative; z-index: 1; }
#detail #table-list-nav01 button::after { background: #f27900; content: ""; position: absolute; top: 0; left: 0; height: 100%; width: 100%; transform: translate3d(0,300px,0); z-index: 0; transition: .15s; }
#detail #table-list-nav01 ul { display:table; width: 96%; margin:0 auto; }
#detail #table-list-nav01 li { display:table-cell; padding-bottom: 0; border-bottom: none;vertical-align: bottom; position: relative;bottom: 0 ;padding-left: 1%; width: 29.5%; transition: .15s; }
#detail #table-list-nav01 .list-tab,
#detail #table-list-nav01 .list-tab{ display: none; }
#detail #table-list-nav01 .list-tab-on,
#detail #table-list-nav01 .list-tab-on{ display: block !important; }
#detail #table-list-nav01 nav li button{width: 100%;}
#detail #table-list-nav01 nav li.nav-on {z-index: 5;width: 43%;}
#detail #table-list-nav01 nav li.nav-on button{color: #fff;background:#f27900; background: -moz-linear-gradient(top, #fcc328, #f27900); background: -webkit-gradient(linear, center top, center bottom, from(#fcc328), to(#f27900)); border: none; box-sizing: border-box;}
#detail #table-list-nav01 nav li:not(.nav-on) button:hover { color: #fff; }
#detail #table-list-nav01 nav li:not(.nav-on) button:hover::after { transform: translate3d(0,0,0);}

@media screen and (max-width: 768px){

/* アコーディオン
----------------------------------*/

.accordionlist dt .title{  font-size: 16px; padding-right: 4em;}
.accordionlist dd{padding: 30px 20px;}


/* タブ切り替え
----------------------------------*/
#detail #table-list-nav01 button{font-size: 16px; border-radius: 0 0 0 0;}
#detail #table-list-nav01 button:hover{opacity: 0.7;}
#detail #table-list-nav01 ul{display:block; width: 100%; }
#detail #table-list-nav01 li{display:block; padding-left: 0%;}
#detail #table-list-nav01 li:first-of-type{width: 100%; margin-bottom: 0%;}
#detail #table-list-nav01 nav li.nav-on {width: 100%;}
#detail #table-list-nav01 li{width: 100%;}
}

/*add02*/
p.common-heading{font-size: 30px; line-height: 1em; text-align:center; position: relative; margin-bottom: 90px; font-weight: bold; letter-spacing: 2px;}
p.common-heading::after{border-bottom: 4px solid #000; position: absolute; height: 0; width: 80px; left: 0; right:0; margin:auto; bottom: -25px; content: "";}
span.indent-text{display: block; padding-left: 1em; text-indent: -1em;}

span.mark-gs,
span.mark-gold,
span.mark-silver,
span.mark-bronze,
span.mark-kids,
span.mark-gid{display: inline-block; max-width: 30px; max-height: 30px; width: 3vw; height: 3vw; border-radius: 100px; margin:0 5px; }
span.mark-gs{background-color: #000;}
span.mark-gold{background-color: #9f8c00;}
span.mark-silver{background-color: #47707b;}
span.mark-bronze{background-color: #b84421;}
span.mark-kids{background-color: #7cb329;}
span.mark-gid{background-color: #ff4901;}
.scroll-table{overflow-y: scroll; max-height: 800px; display: block;}

a.text-link{text-decoration:underline; }
a.text-link:hover{text-decoration:none; }
a.text-link-triangle{position: relative; padding-left: 1.2em; display: inline-block;}
a.text-link-triangle::before{position: absolute; content: "";width: 0; height: 0; border-style: solid; border-width: 7.5px 0 7.5px 12px; border-color: transparent transparent transparent #f27900; left: 0; top: 50%; transform: translate3d(0,-50%,0);}

#detail .table-heading{text-align:center; display: table; width: 100%;}
#detail .table-heading .seki,
#detail .table-heading .kubun,
#detail .table-heading .ryoukin{display: table-cell; background-color: #f27900; color: #fff; font-size:16px; line-height: 1.4em; font-weight: bold;padding:1em 0; }
#detail .table-heading .seki{width:49.2%;}
#detail .table-heading .ryoukin{width:50.8%;}
#detail .table-heading .kubun p,
#detail .table-heading .ryoukin p{border-left: 1px solid #fff;}

#detail .member-kubun-box{display: flex; flex-direction: row; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-start; width: 100%;max-width: 950px; margin: 0 auto 60px;align-items: stretch; border: 4px solid #a8a8a8; border-radius: 5px; position: relative;}
#detail .member-kubun-box::after{position: absolute;content: ""; left: 0; right: 0; margin:auto; bottom: -20px;  width: 0; height: 0; border-style: solid; border-width: 20px 12px 0 12px; border-color: #a8a8a8 transparent transparent transparent;}
#detail .member-kubun-box .left-box,
#detail .member-kubun-box .right-box{ padding: 30px 25px;}
#detail .member-kubun-box .left-box{ flex-basis: 25%; max-width: 25%; background-color: #a8a8a8;}
#detail .member-kubun-box .left-box p{color: #fff; font-weight: bold; line-height: 1em; font-size: 20px;position: relative; top: 50%; transform: translate3d(0px, -50%, 0px); text-align:center; }
#detail .member-kubun-box .right-box{ flex-basis: 75%; max-width: 75%; position: relative;}
#detail .member-kubun-box .right-box::before{height: 100%; left: 0; top: 50%; transform: translate3d(0px, -50%, 0px); content: ""; position: absolute; background-image: url(../images/arrow.png); width: 20px;background-size: cover; background-repeat: no-repeat; background-position: center center;}
#detail .member-kubun-box .kubun-img{max-width:643px ; width: 100%; margin:0 auto; }
#detail .member-kubun-box .kubun-img img{width: 100%;}

#detail .accordionbox .comment-wrap:not(:last-of-type){margin-bottom: 50px;}
#detail .accordionbox .list-wrap:not(:last-of-type){margin-bottom: 25px;}
#detail .accordionbox p.comment-heading{font-size: 16px; line-height: 1.4em; font-weight: bold; margin-bottom: .4em;}
#detail .accordionbox p.list-heading{font-size: 20px; line-height: 1.4em; font-weight: bold; margin-bottom: .4em;}
#detail .accordionbox .uni-img{max-width:500px; ;width: 100%; margin:0 auto 1em; }
#detail .accordionbox .towel-img{max-width: 500px;width: 100%; margin:0 auto 1em;}
#detail .accordionbox .float-box{width: 100%;}
#detail .accordionbox .float-box .box02:not(:last-of-type){margin-right: 4%;}
#detail .accordionbox .float-box .box02{width: 48%; margin-right: 0;}

#detail .accordionbox .float-box .box02.seat-text-box{width: 56%;}
#detail .accordionbox .float-box .box02.seat-img-box{width: 40%;}

#detail .accordionbox .legends-list table{width: 70%; border-collapse: collapse;}
#detail .accordionbox .legends-list table tr{}
#detail .accordionbox .legends-list table th{width: 50%;border: 1px solid #d9d9d9;padding: 10px; background-color: #333; font-weight: bold; color: #fff;}
#detail .accordionbox .legends-list table td{border: 1px solid #d9d9d9;padding: 10px;background-color: #fffcef;}

#ticket .note-box{border: 2px solid #c00; padding:60px 100px; }
#ticket .note-heading{;font-weight: bold;color: #c00; font-size:20px; line-height: 1em; }
#ticket .ticket-box{margin-bottom: 40px;}
#ticket .ticket-wrap:not(:last-of-type){margin-bottom: 20px;}
#ticket .ticket-wrap{display: table; width: 100%; padding: 15px 20px; background-color: #f1f1f1;}
#ticket .ticket-wrap p.big-text{font-weight: bold; font-size:26px; line-height: 1.4em; margin-bottom: .4em; }
#ticket .ticket-wrap .date-box,
#ticket .ticket-wrap .button-box{display: table-cell; vertical-align: middle;}
#ticket .ticket-wrap .date-box{width: 70%; min-width: ; }
#ticket .ticket-wrap .button-box{width: 30%;}
#ticket .ticket-wrap .button-box .link-button a{border-radius: 0; width: 100%;}

#process .table-box{margin-bottom: 30px;}
#process .table-box .box03{ vertical-align: top; width: 32%; position: relative;}
#process .table-box .box03:not(:first-of-type){padding-left: 2%;}
#process .table-box .box03:not(:first-of-type)::before{position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-width: 7.5px 0 7.5px 12px; border-color: transparent transparent transparent #f27900; left: 2%; top: 30px;}
#process .table-box .box03 .box-inner{ padding: 25px 20px; background-color: #fdeede; box-sizing: border-box;}
#process .table-box .box03 p.process-heading{ font-size: 18px; font-weight: bold; padding-left: .6em; border-left: 5px solid #f27900; line-height: 1.4em; margin-bottom: 1em;}
#process .step-img p.sche-heading{ font-size: 20px; font-weight: bold; padding-left: .6em; border-left: 5px solid #f27900; line-height: 1.4em; margin-bottom: .8em;}
#process .caution-wrap{margin-bottom: 50px;}
#process .step-img{max-width: 1200px; width: 100%; margin:0 auto 30px; }
#process .step-img img{width: 100%;}

@media screen and (max-width: 768px){
.content-wrap{margin-bottom: 13vw;}

p.common-heading{font-size: 20px; margin-bottom: 9vw;}
p.common-heading::after{border-bottom: 3px solid #000;  width: 40px; bottom: -4vw;}

.scroll-table{ max-height: 360px;}

span.mark-gs,
span.mark-gold,
span.mark-silver,
span.mark-bronze,
span.mark-kids,
span.mark-gid{width: 3.5vw; height: 3.5vw;margin: 0;}
span.mark-gold,
span.mark-silver,
span.mark-bronze,
span.mark-kids,
span.mark-gid{margin-left: 5px;}

#detail .table-heading .seki,
#detail .table-heading .kubun,
#detail .table-heading .ryoukin{font-size:14px;}

#detail .member-kubun-box{margin-bottom: 9vw;}
#detail .member-kubun-box::after{}
#detail .member-kubun-box .left-box,
#detail .member-kubun-box .right-box{ padding: 15px 15px;}
#detail .member-kubun-box .left-box{ flex-basis: 100%; max-width: 100%;}
#detail .member-kubun-box .left-box p{ font-size: 18px; top: auto; transform: none; }
#detail .member-kubun-box .right-box{ flex-basis: 100%; max-width: 100%;}
#detail .member-kubun-box .right-box::before{content: none;}
#detail .member-kubun-box .kubun-img{max-width:620px ; width: 100%; margin:0 auto; }
#detail .member-kubun-box .kubun-img img{width: 100%;}

#detail .accordionbox .comment-wrap:not(:last-of-type){margin-bottom: 5vw;}
#detail .accordionbox .list-wrap:not(:last-of-type){margin-bottom: 3vw;}
#detail .accordionbox p.comment-heading{}
#detail .accordionbox p.list-heading{font-size: 18px;}
#detail .accordionbox .float-box{width: 100%;}
#detail .accordionbox .float-box .box02:not(:last-of-type){margin-right: 0%; width: 100%; float: none; margin-bottom: 5%;}
#detail .accordionbox .float-box .box02{width: 100%; margin-right: 0; float: none;}
#detail .accordionbox .legends-list table{width: 100%;}

#detail .accordionbox .float-box .box02.seat-text-box,
#detail .accordionbox .float-box .box02.seat-img-box{width: 100%;}

#ticket .note-box{padding: 35px 25px; }
#ticket .note-heading{font-size:16px; line-height: 1.4em;}
#ticket .ticket-box{margin-bottom: 5vw;}
#ticket .ticket-wrap:not(:last-of-type){margin-bottom: 3vw;}
#ticket .ticket-wrap{display: block; width: 100%; padding: 20px 25px; background-color: #f1f1f1;}
#ticket .ticket-wrap p.big-text{font-size:20px;}
#ticket .ticket-wrap .date-box,
#ticket .ticket-wrap .button-box{display: block; }
#ticket .ticket-wrap .date-box{width: 100%; min-width: ; margin-bottom: 3vw;}
#ticket .ticket-wrap .button-box{width: 100%;}
#ticket .ticket-wrap .button-box .link-button a{border-radius: 0; width: 100%;}

#process .table-box{margin-bottom: 5vw;}
#process .table-box .box03{  width: 100%;}
#process .table-box .box03:not(:first-of-type){padding-left: 0%;}
#process .table-box .box03:not(:last-of-type){margin-bottom: 30px;}
#process .table-box .box03:not(:first-of-type)::before{content: none;}
#process .table-box .box03:not(:first-of-type)::after{position: absolute; content: ""; left: 0; right: 0; margin: auto; top: -22px; width: 0; height: 0; border-style: solid; border-width: 15px 12px 0 12px; border-color: #f27900 transparent transparent transparent;}
#process .table-box .box03 .box-inner{ }
#process .table-box .box03 p.process-heading{ font-size: 16px;}
#process .caution-wrap{margin-bottom: 7vw;}
#process .step-img p.sche-heading{ font-size: 16px;}
#process .step-img{ margin:0 auto 5vw; }
.link-button a{font-size:22px; width: 92%; }
}

#process .schedule-flow{background-color: #3a3a3a; color: #fff; text-align: center; font-size: 32px; line-height: 1.4em; font-weight: bold; padding: 0.6em; margin-bottom: 1em;}
#process .schedule-flow-text{font-size: 14px; line-height: 1.6em; margin-bottom: 1em;}

#process .schedule-table-wrap {overflow-x: auto; overflow-y: clip; /* [削除禁止] 縦スクロールバー表示防止のため追記 */}
#process .schedule-table { width: 100%; min-width: 1000px; margin-inline: auto; table-layout: fixed; border-collapse: separate; border-spacing: 0 10px; /* ← trごとの縦の余白。 */ }
#process .schedule-table thead th:not(:first-of-type){border-left: 1px solid #fff;}
#process .schedule-table th,
#process .schedule-table td {text-align: center; padding: 0.8em 0.4em; font-weight: bold;}
#process .schedule-table thead th{font-size: 16px; line-height: 1.2em;}
#process .schedule-table .step-h {background-color: #3a3a3a; color: #fff; font-size: 14px; line-height: 1.4em;}
#process .schedule-table .step-h .num {display: block; font-size: 20px; line-height: 1;}
#process .schedule-table .step-box {background-color: #eee; color: #333; font-size: 14px; line-height: 1.4em;}
#process .schedule-table td {border: 1px solid #cdcdcd;}
#process .schedule-table td:not(:first-of-type) {border-left: none;}
#process .schedule-table .bg-dark {background-color: #3a3a3a; color: #fff;}
#process .schedule-table .bg-gray {background-color: #eee; color: #333;}
#process .schedule-table .bg-red {background-color: #E93656; color: #fff; font-size: 20px; border: none;}
#process .schedule-table .sticky-h,
#process .schedule-table .sticky-h2 {position: sticky; z-index: 1; /* [削除禁止] 横スクロール時、背面のborderとのダブり表示バグの防止 */}
#process .schedule-table .sticky-h {left: 0; /* STEP列（60px）を左端に固定 */}
#process .schedule-table .sticky-h2 {left: 55px; /* ラベル列をSTEP列の幅ぶんずらして固定 */}


@media (max-width: 1086px) {/* [table毎に要調整] スクロールが発生し始める幅に合わせてbreakpointを調整すること */
  #process .schedule-table .shadow::after { position: absolute; content: ""; top: 0; right: -6px; width: 6px; height: 100%; background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0)); pointer-events: none;}
}

@media (max-width: 768px) {
  #process .schedule-flow{font-size: 24px; text-align: left;}
#process .schedule-table .bg-red {font-size: 16px;}
}
