@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;
}

/* =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-family: 'Noto Sans JP', "メイリオ", sans-serif;/* font-feature-settings : "palt";*/ font-size: 16px; line-height: 1.6em; }
img { vertical-align: bottom; }
a { color: #fff; text-decoration: underline; outline: none; }
a:hover { color: #fff; text-decoration: none; }
a:hover img { opacity: 0.8; filter: alpha(opacity=80); }

/* =header
------------------------------------------------------------------------------------------*/
header { background: #000; display: table; position: relative; top: 0; width: 100%; z-index: 1; }
header .header-wrap { display: table; margin: 0 auto; padding: 1em 1em .8em; 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; }
header .logo-eplus 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 p img { max-width: 41px;} 
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_breadcrumb { width: 100%; /*padding: 50px 0; background:#4a3c2a;*/ }

/* =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*/
#main-img { text-align: center; width: 100%; box-sizing: border-box; padding: 0;}
#main-img h2{ margin: 0 auto; text-align: center; }
#main-img h2 img { width: 100%; }


/* = wrap
------------------------------------------------------------------------------------------*/
/* main用のwrap */
.main-wrap { /*background: #000;*/ display: block; margin: 0 auto 3vw; padding:0;/* max-width: 1000px;*/ width: 100%; }

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

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

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

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

.sp-none_ex { display: inline; }

/* 横並び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%; }*/

.table-box { display: table; width: 100%; }
.table-box .box02,
.table-box .box04 { display: table-cell; vertical-align: middle; width: 49.5%; }
.table-box .box03 { display: table-cell; vertical-align: top; width: 31.3%; }
/*#all-wrap .table-box .box02:not(:nth-child(even)) { padding-right: 1%; }*/
.table-box .box04 { width: 23%; padding-right: 2%; }


/* font */
.exmoreless { font-size: .4em; line-height: 1.4em; }
.exless { font-size: .6em; line-height: 1.4em; }
.moreless { font-size: .8em; line-height: 1.4em; }
.less { font-size: .9em; line-height: 1.4em; }
.mid { font-size: 1.1em; line-height: 1.4em; }
.big { font-size: 1.2em; line-height: 1.4em; }
.bigger { font-size: 1.3em; line-height: 1.4em; }
.biggest { font-size: 1.5em; line-height: 1.4em; }
.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; }
.mb-3em { margin-bottom: 3em !important; }
.mb-4em { margin-bottom: 4em !important; }
.mb-5em { margin-bottom: 5em !important; }

/* linkButtonBased */
.link-button a { box-sizing: border-box; display: block; border-radius: 50px; font-size: 32px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: .8em 0 .7em; position: relative; text-align: center; transition: .3s; width: 82%; }
.link-button a:hover { text-decoration: none; /*opacity: .7;*/ }
.link-button a:active { box-shadow: none; /*transform: translate3d(4px, 4px, 0);*/ }
.spice-button a { background: #cc0000; box-shadow: 4px 4px 0 #333; font-size: 26px; }
.spice-button a:hover { color: #cc0000; }

/* linkButtonColor */
.link-button a { /*background: #7b4093;*/ /*box-shadow: 0px 0px 10px 2px #aaaaaa;*/ color: #fff; }
.link-button a:hover { /*color: #59256e;*/ /*text-shadow: 0 0 2px #fff, 0 0 2px #fce6f0, 0 0 2px #f9d5e6;*/ }
.link-button a:active { /*color: #fff;*/ /*box-shadow: 0px 0px 0px 0px #fff;*/ }

/* 16:9 wrap(youteubeとか) */
.video-outer-wrap { margin: 0 auto 3vw; width: 60%; max-width: 580px;  }
.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) ""; }


/* 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: .4em .6em .4em; }
  header .left,
  header .right { display: block; width: 100%; }
  header .left { margin-bottom: .5em; }
  header .right { margin: 0; }
  header h1 { text-align: left;}
  header .logo-eplus { width: 60px; }

  /* =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: #fff; position: fixed; top: 0; right: 0; height: 45px; width: 45px; transition: .2s; z-index: 11; border: solid 1px #ef8c1c; }
  #toggle .button { background: #ef8c1c; height: 4px; position: absolute; top: calc(50% - 2px); left: 20%; transition: .3s; width: 60%; }
  #toggle .button::before,
  #toggle .button::after { background: #ef8c1c; 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-bg { background: #fff; width: 100%; }

/*  #main-img {  width: 100%;}
  #main-img h2 { }*/


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

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

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

  /* = parts
  ------------------------------------------------------------------------------------------*/
  .pc-none { display: block; }
  .sp-none { display: none; }
  .sp-none_ex { 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%; }*/
  .table-box,
  .table-box .box02 { display: block; }
  .table-box .box02 { width: 100%; }
  .table-box .box02:not(:nth-child(even)) { padding-right: 0; }
  .table-box .box03 { display: block; }
  .table-box .box03 { width: 100%; }
  .table-box .box04 { width: 49%; }


  /* 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: 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; }
}
/* 追加 */
.content-wrap{}
.content-wrap:not(:last-of-type){margin-bottom: 60px;}
.bg-full {background-color: #59c5dc;}
/*.bg-full:nth-child(odd){background-color: #fff;}
.bg-full:nth-child(even){background-color: #f7f7f4;}*/
.normal-btn a{background-color:#e75398 ;}
.normal-btn a:hover{background-color:#ff6db1 ;}
.vr-btn a{background-color:#ef7000 ;}
.vr-btn a:hover{background-color:#ff9131;}
.ride-btn a{background-color:#3c829f ;}
.ride-btn a:hover{background-color:#4596b7 ;}
.normal-btn a,
.vr-btn a,
.ride-btn a{font-size: 18px; line-height: 1.2em;}
.indent-txt{padding-left: 2em;}

.font-minchou { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; }

/*ticket*/
.first_ticket { background: url(../images/btn_bg.jpg) center top no-repeat; background-size: cover; padding: 70px 0;}
.ticket-area { text-align: center; box-sizing: border-box; width: 80%; margin: 0 auto; }
.ticket-area a.btn-ticket img { width: 100%; max-width: 614px; }

section.section-wrap{/*border-bottom:1px solid #676767;*//* padding-bottom: 100px;*/}
p:not:last-of-type{margin-bottom: 1em;}
/*img{width: 100%;}*/
.disc-heading,
.square-heading{position: relative; padding-left: 1.1em; }
.disc-heading::before,
.square-heading::before{position: absolute; left: 0; /*color: #707070;*/}
.disc-heading{}
.square-heading{}
.disc-heading::before{content: "●";}
.square-heading::before{content: "◆";}
#guide h2,
#info h2,
#price h2,
#ticket h2{  margin: 0 auto 50px; /*color: #deaf60;font-family: 'Noto Serif JP', serif; */ text-align: center; font-size: 76px; /*line-height: 1em;*/ font-weight: bold;}
.main-bg{background-color: #fff;}
#all-wrap p.text-link{}
p.text-link a{color: #c69800; text-decoration: underline;}
p.text-link a::hover{text-decoration: none;}

/* linkButtonBased */
#all-wrap .link-button a { box-sizing: border-box; display: block; border-radius: 100px; font-weight: bold; line-height: 1.4em; font-size: 24px; padding: 1.2em 0 1.3em; position: relative; text-align: center; transition: .1s; max-width: 700px; width: 100%; margin: 0 auto; text-decoration: none;} 
#all-wrap .link-button a:after{content: ""; position: absolute; border: .4em solid transparent; border-left: .5em solid #fff; top: 50%; right: 5%; transform: translate3d(0,-50%,0);}
#all-wrap .link-button a:hover { /*text-decoration: none;*/ transform: scale(1.02); opacity: 0.9;}
#all-wrap .link-button a:active { /*box-shadow: none; transform: translate3d(4px, 4px, 0);*/ }
#all-wrap .spice-button a { background: #cc0000; box-shadow: 4px 4px 0 rgba(153,0,0,1); font-size: 26px; }
#all-wrap .spice-button a:hover { color: #cc0000; }

/* linkButtonColor */
#all-wrap .link-button a { background: #1d98d8; color: #fff; }
#all-wrap .link-button a:hover { /*color: #59256e; text-shadow: 0 0 2px #fff, 0 0 4px #fce6f0, 0 0 6px #f9d5e6;*/ }
#all-wrap .link-button a:active { /*color: #fff; */}

/* linkButton for info */
#all-wrap #nowinfo a { background: #ef8c1c; color: #fff; font-size: 16px; max-width: 450px; }

/* linkButtonBased for201018 */
#all-wrap .link-button02 a { box-sizing: border-box; display: block; border-radius: 50px; font-weight: bold; line-height: 1em; font-size: 24px; padding: 1.2em 0 1.3em; position: relative; text-align: center; transition: .1s; max-width: 700px; width: 100%; margin: 0 auto; text-decoration: none;} 
#all-wrap .link-button02 a:after{content: ""; position: absolute; border: .4em solid transparent; border-left: .5em solid #fff; top: 50%; right: 5%; transform: translate3d(0,-50%,0);}
#all-wrap .link-button02 a:hover { /*text-decoration: none;*/ transform: scale(1.02); opacity: 0.9;}
#all-wrap .link-button02 a:active { /*box-shadow: none; transform: translate3d(4px, 4px, 0);*/ }

/* linkButtonColor for201018*/
#all-wrap .link-button02 a { background: #1d98d8; color: #fff; }
#all-wrap .link-button02 a:hover { /*color: #59256e; text-shadow: 0 0 2px #fff, 0 0 4px #fce6f0, 0 0 6px #f9d5e6;*/ }
#all-wrap .link-button02 a:active { /*color: #fff; */}

.yu-minchou { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; font-weight: normal; }


@media screen and (max-width: 768px){
.content-wrap{}
.content-wrap:not(:last-of-type){margin-bottom: 7vw;}
.normal-btn a,
.vr-btn a,
.ride-btn a{font-size: 18px; line-height: 1.2em;}
.official-btn a{ font-size: 18px; width: 96%; padding: .6em 0 .7em; line-height: 1.2em;min-width: auto;}
.indent-txt{padding-left: 1em;}
/* セクションごとのwrap */
.section-wrap { margin: 0 auto 6vw; width: 92%; }

section.section-wrap{ padding-bottom: 6vw;}
img{}
.disc-heading,
.square-heading{position: relative; padding-left: 1.1em; }
.disc-heading::before,
.square-heading::before{position: absolute; left: 0; color: #707070;}
.disc-heading{}
.square-heading{}
.disc-heading::before{}
.square-heading::before{}
#info h2,
#guide h2,
#price h2,
#ticket h2{  margin: 0 auto 7vw; font-size: 26px; }
.main-bg{}
p.text-link{}
p.text-link a{}
}



/* add */
#all-wrap{box-sizing: border-box; font-size: 16px; font-weight: bold; line-height: 1.6em; letter-spacing: .025em; color: #161616;}
.bg-orange{background-color: #ef8c1c; color: #fff;}
.section-wrap{max-width:1000px; width: 90%; margin: 0 auto ; padding: 70px 0;}
.section-wrap-700{max-width:700px; width: 90%; margin: 0 auto ; padding: 70px 0;}
img{width: 100%;}
.ticket-btn p{font-size: 20px; line-height: 1.6em; color: #1d98d8; margin-bottom: 1em; text-align: center;}

.section-wrap-800{max-width:860px; width: 90%; margin: 0 auto ; padding: 70px 0;}

    
#main-img{background-color: #f8d3a7;}
#main-img h2{max-width: 1200px; width: 100%; margin: 0 auto;}
#main-img img{width: 100%; box-sizing: border-box;}
    
#about{text-align: center;}
/*#about .title{max-width: 700px; width: 100%; padding: 0 50px; margin: 0 auto 50px; box-sizing: border-box;}*/
#about .title{max-width: 1000px; width: 100%; padding: 0 50px; margin: 0 auto 50px; box-sizing: border-box;}
#about .ticket-btn{margin-bottom: 50px;}
#about .pointinfo{padding: 30px 0; border-top: dashed 1px #ef8c1c; box-sizing: border-box; border-bottom: dashed 1px #ef8c1c; margin-bottom: 50px;}

#about .copy p{font-size: 20px; line-height: 1.6em;}
    
#schedule h2,
#t-sche h2,
#course h2,
#caution h2{font-size: 40px; line-height: 1.4em; font-weight: bold; text-align: center; margin-bottom: 50px;}
h2 span{font-size: 26px; line-height: 1em;}
.section-wrap h2,
.section-wrap-700 h2{color: #ef8c1c;}
.bg-orange .section-wrap h2,
.bg-orange .section-wrap-700 h2{color: #fff;}

.section-wrap-800 h2{color: #ef8c1c;}
.bg-orange .section-wrap-800 h2{color: #fff;}

    
#schedule{}
#schedule .sche-box{background-color: #fff; color: #161616; padding: 30px; border-radius: 10px; margin-bottom: 30px;}
#schedule .sche-box .date{font-size: 20px; line-height: 1em; margin-bottom: .5em;}
#schedule .sche-box .date li{display: inline-block; padding:0 1em .3em 0; position: relative;}
#schedule .sche-box .date li:not(:last-of-type):after{position: absolute; content: '、'; right: 0;}
#schedule .sche-box .time{}
#schedule .sche-box .time li{display: inline-block; padding: 0 1em .3em 0; position: relative;}
#schedule .sche-box .time li:not(:last-of-type):after{position: absolute; content: '/'; right: .1em; font-weight: normal;}

#t-sche{}
#t-sche .sche-box{padding: 30px 0; border-top: dashed 1px #ef8c1c; border-bottom: dashed 1px #ef8c1c; margin-bottom: 50px;}
#t-sche .sche-box .heading{font-size: 24px; line-height: 1.6em; color:#ef8c1c; text-align: center; margin-bottom: 20px;}
#t-sche .sche-box .text-list{padding-left: 8%;}

#pointbox .point{ width: 100%; max-width: 1000px;margin:0 auto 90px auto; border: solid 1px #ef8c1c; border-radius:10px; padding: 30px; box-sizing: border-box; /* border-bottom: dashed 1px #ef8c1c;*/ }
 
#course{}
#course .flex-box{display: flex; justify-content: center; align-content: center; margin-bottom: 50px;}
#course .flex-box .course-box{flex-basis: 48%; max-width: 48%;  border-radius: 10px; padding: 30px 20px; background-color: #fff; color: #161616; text-align: center;}
#course .flex-box .course-box:first-child{margin-right: 4%;}
#course .flex-box .course-box:not(:last-of-type){margin-right: 2%;}
#course .flex-box .course-box h3{font-size: 24px; line-height: 1.6em; font-weight: bold; color: #ef8c1c; margin-bottom: .5em;}
#course .flex-box .course-box .price{font-size: 20px; line-height: 1.6em;}
#course .flex-box .course-box .price .txt-big{font-size: 1.5em; line-height: 1.6em;}

#course .flex-box .cb_ex{flex-basis: 98%; max-width: 98%; margin-right: 0;}
#course .flex-box .cb_ex .sp_t{font-size: 24px; line-height: 1.6em; font-weight: bold; color: #ef8c1c; margin-bottom: .5em;}

#course .about{padding: 30px 15%; border: solid 2px #fff; border-radius: 10px; margin-bottom: 50px;}
#course .about h3{font-size: 24px; line-height: 1.6em; font-weight: bold; margin-bottom: .5em; text-align: center;}
#course .menu{}
#course .menu h3{font-size: 22px; line-height: 1.6em; font-weight: bold; margin-bottom: 1em; text-align: center;}
#course .menu .menu-list{font-size: 18px; line-height: 1.6em; padding-top: 20px; border-top: dashed 1px #fff; margin-bottom: 50px;}
#course li.list-flex{display: flex; flex-direction: row; justify-content: flex-start; align-items: flex-start; width: 100%; }
#course li.list-flex:not(:last-of-type){padding-bottom: 20px; margin-bottom: 20px;border-bottom: dashed 1px #fff; }
#course li.list-flex .head{flex-basis: 11em; max-width: 11em;}
#course li.list-flex .head02{flex-basis: 5em; max-width: 5em;}

#course li.list-flex .detail{flex-basis: calc(100% - 5em); max-width: calc(100% - 5em);}
#course .menu span.tokusei{padding-left: 1em; position: relative; display: block;}
#course .menu span.tokusei:before{position: absolute; content: '・'; top: 0; left: 0;}
#course .menu .detail-list{font-size: 16px; line-height: 1.6em; padding-left: 1.1em;}
#course .menu .detail-list span{display: block; font-size: 14px; line-height: 1.6em; padding-left: 2.6em;}
#course .menu .tokuten{padding: 30px 5%; border: solid 1px #fff; border-radius: 10px; margin-bottom: 30px;}
#course .menu .tokuten li.list-flex:not(:last-of-type){padding-bottom: 0; margin-bottom: 20px; border-bottom: none;}
#course .menu .tokuten .head{font-size: 18px; line-height: 1em;}
#course .menu .tokuten .detail .text-list{padding-top: .5em;}
#course .menu .tokuten .c2 { padding-left: 5em; }
    
#caution{border-top: dashed 1px #ef8c1c;}
#caution .text-list{margin-bottom: 30px;}
#caution .text-list li:not(:last-of-type){margin-bottom: .3em;}
#caution .copylight{font-size: 12px; line-height: 1.6em;}
    

/* add sp */
@media screen and (max-width: 768px) {
  #all-wrap{font-size: 14px;}
  #all-wrap .section-wrap,
  #all-wrap .section-wrap-700{ max-width: 550px; width: 92%; padding-top: 12vw; padding-bottom: 12vw;}
  #all-wrap .section-wrap-800{ max-width: 550px; width: 92%; padding-top: 12vw; padding-bottom: 12vw;}

.ticket-btn p{font-size: 14px;}

#about{text-align: left;}
#about .title{padding: 0 2%;}
#about .ticket-btn{margin-bottom: 30px;}
#about .point{padding: 20px; margin-bottom: 30px;}
#about .copy p{font-size: 14px; line-height: 1.6em;}

#schedule h2,
#t-sche h2,
#course h2,
#caution h2{margin: 0 auto 7vw; font-size: 20px; width: 92%;}

h2 span{font-size: 20px;}
    
#t-sche .sche-box .heading{font-size: 16px;}
#t-sche .sche-box .text-list{padding-left: 0;}
    
#course .flex-box{flex-direction: column;}
#course .flex-box .course-box{flex-basis: 100%; max-width: 100%;padding: 30px 5%px;}
#course .flex-box .course-box:first-child{margin-right: 0; margin-bottom: 20px;}
#course .flex-box .course-box:not(:last-of-type){margin-right: 0; margin-bottom: 20px;}
#course .flex-box .course-box h3{font-size: 20px;}

#course .about{padding: 30px 5%;}
#course li.list-flex{flex-direction: column;}
#course li.list-flex .head{flex-basis: 100%; max-width: 100%; margin-bottom: .7em;}
#course li.list-flex .head02{flex-basis: 100%; max-width: 100%; margin-bottom: .7em;}

#course li.list-flex .detail{flex-basis: 100%; max-width: 100%; font-size: 16px;}

#pointbox .point{max-width: 550px; width: 92%; }

#course .menu .tokuten .c2 { padding-left: 0; margin-top: 0.7em; }


#all-wrap .link-button a { font-size: 16px; line-height: 1.4;}
/* linkButton for info */
#all-wrap #nowinfo a { font-size: 14px; max-width: 90%; }

#all-wrap .link-button02 a { font-size: 16px; line-height: 1.4;}

}
