@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap&subset=japanese');
/*@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap&subset=japanese');*/
/* ---------------------------------
reset
-----------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}
body {
   line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
   display: block;
}
nav ul {
   list-style: none;
}
blockquote, q {
   quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
   content: '';
   content: none;
}
a {
   margin: 0;
   padding: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}
/* change colours to suit your needs */
ins {
   background-color: #ff9;
   color: #000;
   text-decoration: none;
}
/* change colours to suit your needs */
mark {
   background-color: #ff9;
   color: #000;
   font-style: italic;
   font-weight: bold;
}
del {
   text-decoration: line-through;
}
abbr[title], dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
   display: block;
   height: 1px;
   border: 0;
   border-top: 1px solid #cccccc;
   margin: 1em 0;
   padding: 0;
}
input, select {
   vertical-align: middle;
}
li {
   list-style: none;
}
address {
   font-style: normal;
   font-size: 1.6rem;
}
input[type="text"]:focus, sekect:focus {
   outline: 0;
}
:focus {
   outline: none;
}
button {
   background-color: transparent;
   border: none;
   cursor: pointer;
   outline: none;
   padding: 0;
   appearance: none;
}
button, input, select, textarea {
   font-family: inherit;
   font-size: 100%;
}
select::-ms-expand {
   display: none;
}
/* ---------------------------------
common 
-----------------------------------*/
*, *:before, *:after {
   -webkit-box-sizing: border-box;
   box-sizing: border-box
}
html {
   font-size: 62.5%;
   width: 100%;
}
body {
   /*font-family: 'Noto Sans JP', sans-serif;*/
   font-family: 'Noto Sans JP', sans-serif;
   line-height: 1;
   color: #fff;
   font-size: 1.6rem;
   font-weight: 300;
   background: #000;
}
.hira {
   font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
a {
   text-decoration: none;
}
img {
   vertical-align: bottom;
   max-width: 100%;
   height: auto;
}
.txt_l {
   text-align: left;
}
.inner {
   width: 100%;
   max-width: 680px;
   margin: 0 auto;
}
.cont_wrap {
   max-width: 1440px;
   margin: 0 auto;
}
.flex {
   display: flex;
}
a img:hover {
   opacity: 0.7;
}
main {
   display: block;
}
.bg {
   background: #000;
}
.bg_gray {
   background: #333;
}
.txt_c {
   text-align: center;
}
.ttl_icon {
   font-size: 5rem;
   font-weight: 600;
   margin-bottom: 8%;
   display: flex;
   align-items: center;
   justify-content: center;
}
.ttl_icon img {
   margin-right: 15px;
}
/* ---------------------------------
header
-----------------------------------*/
.main_image {
   background: url("../img/bg_main_pc.png") left bottom no-repeat;
   background-size: cover;
   padding: 4% 0 22%;
   text-align: center;
   position: relative;
}
.main_catch {
   margin-bottom: 38px;
   margin: 0 auto 8% auto;
}
.main_logo {
   margin-bottom: 10%;
}
.ttl_main {
   color: #fff;
   font-size: 5rem;
   line-height: 1.5;
   font-weight: 500;
}
.main_arrow {
   position: absolute;
   bottom: 37px;
   left: 50%;
   margin-left: -5px;
}
.inner .main_owari {
      font-size: 2.5rem;
      margin-top: 5%;
      line-height: 1.5;
}
.inner .main_oshirase a {
      font-size: 3rem;
      margin-top: 5%;
      line-height: 1.5;
      color: #000;
}
.m-btn,
.m-btn-l {
  width: 100%;
  height: 44px;
  padding: 10px 25px;
  text-align: center;
  display: table;
  position: relative;
  border: 1px solid #d1d1d1;
  border-radius: 3px;
  box-sizing: border-box;
  background: #fff;
}

/* ---------------------------------
scroll_nav
-----------------------------------*/
.scroll_nav {
   background: #000;
}
.scroll_nav.fixed {
   position: fixed;
   bottom: 0;
   left: 0;
   padding: 0;
   width: 100%;
   z-index: 1000;
}
.scroll_nav .inner {
   max-width: 1000px;
}
.scroll_nav ul {
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 20px 0;
}
.scroll_nav ul li {
   width: 25%;
   text-align: center;
   font-size: 3rem;
}
.scroll_nav ul li a {
   color: #fff;
   cursor: pointer;
}
.scroll_nav ul li a img:hover {
   opacity: 1;
}
.scroll_nav ul li a:hover {
   opacity: 0.7;
}
.scroll_nav ul li img {
   margin-bottom: 10px;
}
.nav_left.open {
   -ms-overflow-style: none;
   scrollbar-width: none;
}
.nav_left.open::-webkit-scrollbar {
   display: none;
}
/* ---------------------------------
date
-----------------------------------*/
.area_date {
   background: #000;
   text-align: center;
   padding: 100px 0;
}
.ttl_date {
   margin-bottom: 76px;
}
.area_date p, .area_place p {
   font-size: 4.3rem;
   line-height: 1.2;
}
.area_date p.small {
   font-size: 3rem;
   margin-top: 3%;
}
/*place*/
.area_place {
   background: url(../img/bg_place_pc.jpg) center top no-repeat;
   background-size: cover;
   text-align: center;
   padding: 10% 0 30% 0;
}
.ttl_place {
   margin-bottom: 40px;
}
.area_place p.small {
   font-size: 3.8rem;
   margin-top: 3%;
}
/* ---------------------------------
place
-----------------------------------*/
.area_enjoy {
   padding: 10% 0;
}
.enjoy_detail {
   font-size: 3.8rem;
   line-height: 1.4;
   margin-top: 5%;
}
.enjoy_detail02 {
   font-size: 3.4rem;
   line-height: 1.4;
   margin-top: 5%;
}
.enjoy_detail02 a {
   color: #fff;
   text-decoration: underline;
   font-weight: 700;
}
.enjoy01 {
   margin-left: -16%;
}
.enjoy05 {
   margin-left: -16%;
}
.enjoy03_02, .enjoy04_02 {
   margin-top: 4%;
}
.enjoy_arrow {
   padding: 8% 0;
}
.enjoy_ticket {
   background: #262626;
   padding: 5% 0;
   margin: 10% 0 20% 0;
   line-height: 1.4;
}
.enjoy_ticket p {
   font-size: 3rem;
   margin-top: 5%;
}
.enjoy_ticket p.note {
   font-size: 2.6rem;
}
.balloon {
   position: relative;
   display: block;
   margin: 0 0 10% 0;
   padding: 5% 3%;
   max-width: 100%;
   color: #fff;
   background: #382f2c;
   border-radius: 15px;
   font-size: 3.6rem;
   line-height: 1.4;
}
.balloon:before {
   content: "";
   position: absolute;
   top: 100%;
   left: 50%;
   margin-left: -30px;
   border: 30px solid transparent;
   border-top: 40px solid #382f2c;
}
.balloon span {
   font-size: 5rem;
}
.workshop {
   background: #382f2c;
   border-radius: 15px;
   padding: 6% 0 4% 0;
   margin: 0 auto 10% auto;
   position: relative;
   width: 680px;
}
.workshop .ico_left {
   position: absolute;
   left: -3vw;
   top: 40%;
}
.workshop .ico_right {
   position: absolute;
   right: -3vw;
   top: 20%;
}
.subttl_workshop {
   font-size: 5.2rem;
   line-height: 1.2;
   margin-bottom: 2%;
   letter-spacing: 0.2rem;
   padding: 0 20px;
}
.subttl_workshop img {
   margin-bottom: 5%;
}
.workshop_txt {
   font-size: 2.5rem;
   line-height: 1.8;
   margin-top: 3%;
   font-weight: 600;
   padding-bottom: 2%;
   display: inline-block;
}
.workshop_txt span {
 border-bottom: 2px solid #fff;
}
.workshop_detail {
   margin: 5% 0 0 1%;
   line-height: 1.4;
}
.workshop_detail dt {
   font-size: 3.8rem;
   margin-bottom: 3%;
}
.workshop_detail dd {
   font-size: 2.5rem;
   margin-bottom: 10px;
}
.subttl_workshop_other {
   font-size: 3.5rem;
   line-height: 1.4;
   margin-bottom: 3%;
}
.workshop_other {
   display: flex;
   justify-content: space-between;
   margin-bottom: 8%;
}
.workshop_other + .enjoy_detail02 {
   margin-bottom: 14%;
}
.workshop_other p {
   font-size: 3rem;
   margin-top: 5%;
}
.workshop_box {
   width: 48%;
}
.stamp {
   font-weight: 600;
   font-size: 4rem;
   margin-bottom: 5%;
}
.souvenir {
   font-weight: 600;
   font-size: 5rem;
   margin-bottom: 5%;
}
.special01 img {
   width: 85%;
}
.special02 img {
   width: 35%;
}
.special03 img {
   width: 85%;
}
/* ---------------------------------
会場
-----------------------------------*/
.area_map {
   padding: 10% 0;
}
/* ---------------------------------
スケジュール
-----------------------------------*/
.area_schedule {
   padding: 10% 0;
}
/* ---------------------------------
チケット
-----------------------------------*/
.area_thicket {
   padding: 10% 0;
}
.thicket {
   margin-bottom: 5%;
}
.thicket + p {
   line-height: 1.4;
   margin-bottom: 4%;
   font-size: 3rem;
}
.thicket_box {
   text-align: center;
   margin: 5% 0;
}
.area_thicket .note {
   font-size: 2.1rem;
   margin-bottom: 12%;
   line-height:1.4;
}
.txt_more {
   margin: 5% 0 10% 0;
   line-height: 1.4;
   font-size: 3rem;
}
.plus img {
   width: 24%;
}
.balloon-top {
   position: relative;
   display: inline-block;
   margin: 6% 0 12% 0;
   padding: 5% 0;
   width: 100%;
   color: #fff;
   font-size: 16px;
   background: #000;
}
.balloon-top:before {
   content: "";
   position: absolute;
   top: -45px;
   left: 50%;
   margin-left: -22px;
   border: 22px solid transparent;
   border-bottom: 42px solid #000;
}
.subttl_thicket {
   font-size: 3rem;
   margin-bottom: 4%;
   font-weight: 400;
   line-height: 1.4;
}
.thicket_wrap {
   padding: 0 10%;
}
.thicket_list {
   display: flex;
   justify-content: space-between;
}
.thicket_list li {
   width: 45%;
}
.thicket_detail {
   font-size: 2.1rem;
   margin: 5% 0;
   line-height: 1.4;
}
.thicket_detail + .ticket_small {
   margin-top: 10%;
}
.thicket_wrap p:last-child {
   margin-bottom: 0;
}
.subttl_member {
   font-size: 4.4rem;
   margin-bottom: 5%;
   text-align: center;
   line-height: 1.4;
}
.member_wrap {
   display: flex;
   justify-content: space-between;
}
.member_box {
   width: 49.4%;
   background: #000;
   text-align: center;
   padding: 5% 1%;
}
.member_box h3 {
   margin-bottom: 5%;
}
.subttl_altair {
   margin-top: 6%;
}
.txt_member {
   text-align: center;
   margin-top: 3%;
   line-height: 1.4;
   font-size: 2.6rem;
}
.area_sponsorship {
   border: 1px solid #fff;
   padding: 8% 3%;
   margin-top: 4%;
}
.area_sponsorship h3 {
   font-size: 2.6rem;
   line-height: 1.4;
   margin-bottom: 2%;
   font-weight: 400;
}
.area_sponsorship h3 span {
   font-size: 3.5rem;
   font-weight: 700;
}
.area_sponsorship .card  {
 margin-bottom: 4%;
}
.area_sponsorship .card img {
 width: 60%;
}
.sponsorship_list dt {
   font-size: 3.7rem;
   font-weight: 700;
   margin-bottom: 4%;
}
.sponsorship_list dd {
   font-size: 2.5rem;
   line-height: 1.6;
   text-align: center;
   letter-spacing: 0.02rem;
}
.sponsorship_list dd + dt {
   margin-top: 8%;
}
.sponsorship_list strong {
   border-bottom: 1px solid #fff;
}
/* ---------------------------------
アクセス
-----------------------------------*/
.area_access {
   padding: 10% 0;
}
.area_access .ttl_icon + p {
   font-size: 3.4rem;
   margin-bottom: 8%;
   line-height: 1.4;
}
.area_access dl {
   font-weight: 600;
   margin-bottom: 5%;
}
.area_access dt {
   font-size: 3.6rem;
   margin-bottom: 2%;
}
.area_access dd {
   font-size: 3rem;
}
.access_map {
   vertical-align: top;
}
.access_map + p {
   font-size: 3.4rem;
   margin-top: 4%;
}
.access_map + p a {
   color: #fff;
   text-decoration: underline;
   font-weight: 700;
}
#overlay {
   display: none;
   position: fixed;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
   z-index: 9;
   background-color: rgba(0, 0, 0, .65);
}
#modal {
   display: none;
   position: fixed;
   left: 50%;
   top: 50%;
   z-index: 99;
   transform: translate(-50%, -50%);
   max-width: 880px;
   height: 90vh;
   box-sizing: border-box;
   padding: 5%;
   border-radius: 8px;
   background-color: #fff;
   background: #000;
   overflow-y: scroll;
   -ms-overflow-style: none;    /* IE, Edge 対応 */
   scrollbar-width: none;       /* Firefox 対応 */
}
#modal::-webkit-scrollbar {
   display: none;
}
.active {
   display: block !important;
}
.direction_wrap {
   width: 580px;
   margin: 0 auto;
   padding-bottom: 30px;
}
.modal_inner {
    position: relative;
}
.direction_wrap .enjoy_arrow {
   padding: 4% 0;
}
.direction_wrap p {
   font-size: 2.7rem;
   line-height: 1.4;
   margin: 0 auto 20px auto;
   padding-left: 2.5rem;
   text-indent: -2.5rem;
   font-weight: 700;
}
.direction_ttl {
   text-align: left;
   margin-left: -20px;
}
.direction_four {
   display: inline-block;
   text-align: left;
}
#close {
   content: "×";
   font-size: 5rem;
   position: absolute;
   top: -4vw;
   right: -30px;
   color: #fff;
}
/* ---------------------------------
当日来場される方へ
-----------------------------------*/
.area_visit {
   padding: 10% 0 3% 0;
}
.area_visit .ttl_icon {
   margin-bottom: 4%;
}
.txt_visit {
   font-size: 3.3rem;
   text-align: center;
   margin-bottom: 5%;
   font-weight: 600;
}
.menu__item {
   background: #5200b7;
   color: #fff;
   cursor: pointer;
   display: block;
   margin-bottom: 1px;
}
.menu__item__link {
   color: #fff;
   display: block;
   line-height: 60px;
   padding: 0 1rem;
   position: relative;
}
.ac_menu {
   margin-bottom: 2%;
}
.ac_menu_ttl, .cancel {
   background: #000;
   color: #fff;
   font-size: 3.6rem;
   font-weight: 600;
   padding: 8% 40px;
   cursor: pointer;
   position: relative;
   display: block;
}
.ac_menu_ttl:hover, .cancel:hover {
   opacity: 0.7;
}
.ac_menu_ttl:after {
   content: "+";
   position: absolute;
   right: 30px;
   top: 28px;
   font-weight: 300;
   display: block;
   font-size: 8rem;
}
.ac_menu_ttl.active:after {
   content: "ー";
   font-weight: 300;
   display: block;
   font-size: 4rem;
   top: 45px;
}
.ac_menu_cont {
   background: #000;
   color: #fff;
   font-size: 2.5rem;
   padding: 5% 6%;
}
.ac_menu_cont a {
   color: #fff;
   text-decoration: underline;
}
.ac_menu_cont h4 {
   font-size: 2.6rem;
   font-weight: 700;
   line-height: 1.4;
   margin-bottom: 5px;
}
.ac_menu_cont li {
   margin-bottom: 5%;
   line-height: 1.4;
}
.ac_menu_cont p {
   line-height: 1.4;
}
.ac_menu_cont p a {
   font-weight: 600;
   text-decoration: underline;
   color: #fff;
}
.ac_menu_cont p + h4 {
   margin-top: 14%;
}
.ac_menu_cont li ol {
   margin-top: 4%;
}
.ac_menu_cont li ol li {
   margin-bottom: 0;
   padding-left: 2.5rem;
   text-indent: -2.5rem;
}
.ac_menu_cont02 {
   border: 1px solid #fff;
   padding: 4% 2%;
   position: relative;
}
.ac_menu_cont02 + .ac_menu_cont02 {
   margin-top: 3%;
}
.ac_menu_cont h4.ac_menu_subttl {
   font-weight: 700;
   padding-left: 1.4em;
   text-indent: -1.4em;
   font-size: 2.6rem;
   display: flex;
   align-items: center;
   height: 50px;
}
.ac_menu_subttl:after {
   content: "+";
   position: absolute;
   right: 10px;
   top: 22px;
   font-weight: 300;
   display: block;
   font-size: 4rem;
}
.ac_menu_subttl.active:after {
   content: "ー";
   font-weight: 300;
   display: block;
   font-size: 3rem;
   top: 25px;
}
.ac_menu_qa01 {
   margin: 4% 0;
}
.ac_menu_subcont {
   margin-top: 8%;
}
.ac_menu_cont li.line {
   text-decoration: underline;
}
/* ---------------------------------
SNS
-----------------------------------*/
.area_sns {
   margin-bottom: 5%;
}
.area_sns.bg_gray {
   padding-bottom: 5%;
}
.sns_wrap {
   padding: 8% 6%;
   text-align: center;
}
.subttl_sns {
   margin-bottom: 8%;
}
.sns_detail {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 8%;
}
.sns_phone {
   width: 30%;
   margin-right: 3%;
}
.hush {
   font-size: 3.2rem;
   font-weight: 600;
   line-height: 1.4;
   margin-bottom: 8%;
}
.sns_wrap ul {
   display: inline-flex;
   justify-content: space-between;
   align-items: center;
   width: 60%;
   margin-top: 8%;
}
.area_sns .note {
   margin-top: 4%;
   font-size: 2.2rem;
   letter-spacing: -0.2rem;
}
.sns_scroll {
   overflow-y: scroll;
   height: 240px;
   -ms-overflow-style: none;
   scrollbar-width: none;
}
.sns_scroll::-webkit-scrollbar {
   display: none;
}
/* ---------------------------------
お問い合わせ
-----------------------------------*/
.area_contact {
   padding: 10% 0;
   text-align: center;
}
.contact_wrap {
   border: 1.8px solid #fff;
   padding: 8% 3%;
   text-align: center;
   margin-bottom: 5%;
}
.subttl_contact {
   font-size: 3.6rem;
   margin-bottom: 5%;
   font-weight: 300;
}
.phone {
   font-size: 5.6rem;
   font-weight: 600;
   letter-spacing: 0.2rem;
}
.phone a {
   color: #fff;
}
.phone img {
   margin-right: 15px;
}
.contact_txt {
   font-size: 3.4rem;
   line-height: 1.4;
   margin-bottom: 14%;
}
.contact_txt a {
   color: #fff;
}
.bnr_wrap {
   margin: 5% 0;
}
.bnr_wrap p {
   font-size: 2.5rem;
   margin-top: 2%;
}
/* ---------------------------------
footer
-----------------------------------*/
footer {
   text-align: center;
   padding-bottom: 20%;
}
.page_top img {
   transform: rotate(0.5turn);
}
.page_top a {
   color: #fff;
   display: inline-block;
}
.page_top a img:hover {
   opacity: 1;
}
.page_top a:hover {
   opacity: 0.7;
}
.page_top a:hover {
   opacity: 0.7;
}
.page_top p {
   font-size: 2.5rem;
   margin-top: 2%;
}
footer small {
   font-size: 2.5rem;
   display: block;
   margin-top: 10%;
}
@media screen and (max-width: 750px) {
   .pc {
      display: none;
   }
   .inner {
      padding: 0 5%;
   }
   .ttl_icon {
      font-size: 6vw;
   }
   .ttl_icon img {
      width: 10%;
   }
   .main_image {
      background: url("../img/bg_main_sp.png") center bottom no-repeat;
      background-size: cover;
      padding: 20% 0 43%;
      text-align: center;
      position: relative;
   }
   .main_catch {
      margin-bottom: 10%;
   }
   .main_catch img {
      width: 70%; 
   }
   .main_logo img {
      width: 60%;
   }
   .ttl_main {
      font-size: 7vw;
   }
   .main_arrow {
      bottom: 2vh;
   }
   .main_arrow img {
      width: 50%;
   }
   .inner .main_owari {
      font-size: 1.5rem;
      margin-top: 5%;
      line-height: 1.5;
   }
   .inner .main_oshirase a {
      font-size: 1.5rem;
      margin-top: 5%;
      line-height: 1.5;
      color: #000;
  }


   /* ---------------------------------
main
-----------------------------------*/
   /*scroll_nav*/
   .scroll_nav .inner {
      padding: 0;
   }
   .scroll_nav ul {
      padding: 10px 0;
   }
   .scroll_nav ul li {
      font-size: 3.6vw;
   }
   .scroll_nav ul li img {
      margin-bottom: 0;
   }
   .scroll_nav ul li.nav_map img {
      width: 19px;
      margin-bottom: 8px;
   }
   .scroll_nav ul li.nav_clander img {
      width: 21px;
      margin: 3px 0 8px 0;
   }
   .scroll_nav ul li.nav_event img {
      width: 17px;
      margin: 6px 0 12px 0;
   }
   .scroll_nav ul li.nav_twitter img {
      width: 25px;
      margin: 5px 0 9px 0;
   }
   /* ---------------------------------
date
-----------------------------------*/
   .area_date {
      padding: 50px 0;
   }
   .ttl_date {
      margin-bottom: 38px;
   }
   .ttl_date img {
      width: 15%;
   }
   .area_date p, .area_place p {
      font-size: 6.3vw;
   }
   .area_date p.small {
      font-size: 4.8vw;
   }
   /* ---------------------------------
place
-----------------------------------*/
   .area_place {
      background: url(../img/bg_place_sp.png) center top no-repeat;
      background-size: cover;
      text-align: center;
      padding: 10% 0 40% 0;
   }
   .enjoy_detail {
      font-size: 4.8vw;
   }
   .enjoy_detail02 {
      font-size: 4.6vw;
   }
   .enjoy01 img {
      max-width: 40%;
   }
   .enjoy02 img {
      max-width: 90%;
   }
   .enjoy03 img {
      max-width: 30%;
   }
   .enjoy03_02 img {
      max-width: 60%;
   }
   .enjoy04 img {
      max-width: 70%;
   }
   .enjoy04_02 img {
      max-width: 30%;
   }
   .enjoy05 img {
      max-width: 70%;
   }
   .enjoy05_ticket img {
      width: 50%;
   }
   .enjoy_arrow img {
      width: 10%;
   }
   .ttl_place {
      margin-bottom: 20px;
   }
   .ttl_place img {
      width: 18%;
   }
   .area_place p.small {
      font-size: 5.6vw;
   }
   .enjoy_ticket {
      padding: 22px 5%;
   }
   .enjoy_ticket p {
      font-size: 4vw;
   }
   .enjoy_ticket p.note {
      font-size: 3.4vw;
   }
   .balloon {
      font-size: 5vw;
      padding: 7% 0;
   }
   .balloon:before {
      margin-left: -15px;
      border: 15px solid transparent;
      border-top: 24px solid #382f2c;
   }
   .marche {
      margin-top: 10%;
   }
   .balloon span {
      font-size: 7vw;
   }
   .workshop {
      padding: 5%;
      margin: 0 5% 10% 5%;
      width: 88%;
   }
   .workshop_txt {
      font-size: 3.5vw;
   }
   .workshop_detail dt {
      font-size: 4.8vw;
   }
   .workshop_detail dd {
      font-size: 3.5vw;
   }
   .workshop .ico_left img {
      width: 50%;
   }
   .workshop .ico_left {
      position: absolute;
      left: -15px;
      top: 30%;
      text-align: left;
   }
   .workshop .ico_right {
      position: absolute;
      right: -15px;
      top: 20%;
      text-align: right;
   }
   .workshop .ico_right img {
      width: 50%;
   }
   .subttl_workshop {
      font-size: 6.4vw;
      padding: 0;
   }
   .subttl_workshop img {
      width: 90%;
   }
   .subttl_workshop_other {
      font-size: 4.5vw;
   }
   .workshop_other p {
      font-size: 4vw;
   }
   .stamp {
      font-size: 5.8vw;
   }
   .souvenir {
      font-size: 5.8vw;
   }
   /* ---------------------------------
チケット
-----------------------------------*/
   .thicket + p {
      font-size: 4vw;
   }
   .txt_more {
      font-size: 4vw;
   }
   .thicket img {
      width: 50%;
   }
   .app img {
      width: 25%;
   }
   .balloon-top {
      margin-top: 10%;
      padding: 8% 0;
   }
   .subttl_thicket {
      font-size: 4.2vw;
      letter-spacing: -0.3vw;
   }
   .thicket_detail {
      font-size: 2.8vw;
      letter-spacing: -0.2vw;
   }
   .thicket_wrap p:last-child {
      margin-bottom: 0;
   }
   .area_thicket .note {
      font-size: 3.1vw;
   }
   .subttl_member {
      font-size: 5.4vw;
   }
   .member_box {
      padding: 5% 0.5%;
   }
   .member_box h3 {
      margin-bottom: 5%;
   }
   .txt_member {
      font-size: 3.6vw;
   }
   .subttl_altair {
      margin-top: 0;
   }
   .subttl_altair img {
      width: 100px;
      margin-top: 10px;
   }
   .subttl_vega img {
      width: 78px;
   }
   .ticket_small img {
      width: 80%;
   }
   .area_sponsorship {
      padding: 8% 4%;
   }
   .area_sponsorship h3 {
      font-size: 3.6vw;
   }
   .area_sponsorship h3 span {
      font-size: 4.6vw;
   }
   .sponsorship_list dt {
      font-size: 4.7vw;
   }
   .sponsorship_list dd {
      font-size: 3.4vw;
      letter-spacing: -0.2vw;
   }
   /* ---------------------------------
アクセス
-----------------------------------*/
   .area_access .ttl_icon + p {
      font-size: 4.2vw;
   }
   .area_access dt {
      font-size: 4.6vw;
   }
   .area_access dd {
      font-size: 4vw;
   }
   .access_map + p {
      font-size: 4.4vw;
   }
   /* ---------------------------------
当日来場される方へ
-----------------------------------*/
   .txt_visit {
      font-size: 4.3vw;
   }
   .ac_menu_ttl, .cancel {
      font-size: 4.6vw;
      padding: 8% 8%;
   }
   .ac_menu_ttl:after {
      font-size: 8vw;
      top: 20px;
      right: 20px;
   }
   .ac_menu_ttl.active:after {
      font-size: 5vw;
      top: 24px;
   }
   .ac_menu_cont {
      font-size: 3vw;
   }
   .ac_menu_cont h4 {
      font-size: 3.6vw;
   }
   .ac_menu_cont h4.ac_menu_subttl {
      font-size: 3.6vw;
      height: 30px;
   }
.ac_menu_cont li ol li {
    padding-left: 3.4vw;
    text-indent: -3.4vw;
 }
   .ac_menu_subttl:after {
      content: "+";
      font-size: 5.8vw;
      right: 0;
      top: 12px;
   }
   .ac_menu_subttl.active:after {
      font-size: 4vw;
      top: 14px;
   }
   #overlay {
      display: none;
      position: fixed;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 9;
      background-color: rgba(0, 0, 0, .65);
   }
   #modal {
      display: none;
      position: fixed;
      left: 50%;
      top: 20%;
      z-index: 99;
      transform: translate(-50%, -20%);
      width: 98%;
      height: 80vh;
      box-sizing: border-box;
      padding: 32px;
      border-radius: 8px;
      background-color: #fff;
      overflow-y: scroll;
      background: #000;
   }
   .active {
      display: block !important;
   }
   .direction_wrap {
      width: 98%;
      margin: 0 auto;
   }
   .direction_wrap p {
      font-size: 4.1vw;
      margin-bottom: 10px;
      padding-left: 4.1vw;
      text-indent: -4.1vw;
   }
   .direction_ttl img {
      width: 70px;
   }
   #close {
      font-size: 3rem;
      top: -25px;
      right: -20px;
   }
 .ac_menu_subcont {
  margin-top: 4%;
 }
   /* ---------------------------------
SNS
-----------------------------------*/
   .sns_wrap {
      padding: 4% 6%;
   }
   .hush {
      font-size: 4.2vw;
   }
   .sns_wrap ul li img {
      width: 60%;
   }
   .area_sns .note {
      font-size: 3vw;
      letter-spacing: -0.3vw;
   }
   /* ---------------------------------
お問い合わせ
-----------------------------------*/
   .subttl_contact {
      font-size: 4.6vw;
   }
   .phone {
      font-size: 7.6vw;
      color: #fff;
   }
   .phone a {
      color: #fff;
   }
   .phone img {
      margin-right: 15px;
      width: 12%;
   }
   .contact_txt {
      font-size: 4.4vw;
   }
   .bnr_wrap p {
      font-size: 3.5vw;
   }
   /* ---------------------------------
footer
-----------------------------------*/
   .page_top p {
      font-size: 3.5vw;
   }
   .page_top img {
      width: 30%;
   }
   footer small {
      font-size: 3.5vw;
   }
}
@media screen and (min-width: 751px) {
   a[href^="tel:"] {
      pointer-events: none;
      color: #fff;
   }
   .sp {
      display: none;
   }
}
.overlay {
   content: "";
   display: block;
   width: 0;
   height: 0;
   background-color: rgba(0, 0, 0, 0.5);
   position: absolute;
   top: 0;
   left: 0;
   z-index: 2;
   opacity: 0;
   transition: opacity .5s;
}
.overlay.open {
   width: 100%;
   height: 100%;
   opacity: 1;
}
.menu-trigger {
   display: inline-block;
   width: 24px;
   height: 20px;
   vertical-align: middle;
   cursor: pointer;
   position: fixed;
   top: 30px;
   left: 30px;
   z-index: 9999;
   transform: translateX(0);
   transition: transform .5s;
}
.menu-trigger span {
   display: inline-block;
   box-sizing: border-box;
   position: absolute;
   left: 0;
   width: 100%;
   height: 1px;
   background-color: #fff;
}
.menu-trigger.active span {
   background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
   top: 0;
}
.menu-trigger.active span:nth-of-type(1) {
   transform: translateY(9px) rotate(-45deg);
}
.menu-trigger span:nth-of-type(2) {
   top: 9px;
}
.menu-trigger.active span:nth-of-type(2) {
   opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
   bottom: 0;
}
.menu-trigger.active span:nth-of-type(3) {
   transform: translateY(-10px) rotate(45deg);
}
.nav_left {
   width: 70%;
   height: 100%;
   padding: 100px 0;
   background: #000;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 10;
   transform: translate(-100%);
   transition: all .5s;
}
.nav_left.open {
   transform: translateZ(0);
   overflow-y: scroll;
   -ms-overflow-style: none; /* これを追加 */
}
.nav_left.open::-webkit-scrollbar {
   display: none;
}
.nav_left li {
   color: #fff;
   text-align: center;
   padding: 10px 0;
   font-size: 3.6vw;
}
.nav_left li a {
   color: #fff;
}
@media screen and (min-width: 751px) {
   .menu-trigger {
      width: 48px;
      height: 40px;
      top: 40px;
      left: 30px;
   }
   .menu-trigger span {
      height: 2px;
   }
   .menu-trigger span:nth-of-type(2) {
      top: 18px;
   }
   .menu-trigger.active span:nth-of-type(1) {
      transform: translateY(18px) rotate(-45deg);
   }
   .menu-trigger.active span:nth-of-type(3) {
      transform: translateY(-18px) rotate(45deg);
   }
   .nav_left {
      width: 50%;
   }
   .nav_left li {
      font-size: 2rem;
      padding: 20px 0;
   }
}
