@charset 'UTF-8';
/*-------------------------------------------------
ヘッダー/フッター
-------------------------------------------------*/
/* ヘッダーPC */
.ly_header {
    position: relative;
  background: #fff;
  width: 100%;
  padding: 0 13.5vw 0 2vw;
  margin: 0 auto;
}
.ly_header_inner {
  display: flex;
  align-items: center;
  height: 90px;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
  position: relative;
  justify-content: space-between;
}
.bl_header_left {
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.hp_pc .bl_header_left_img {
  width: 9.4rem;
  max-width: 80px;
  height: auto;
    margin-right: 20px;
}
.bl_header_rite {
    flex:1;
    flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
    padding-left: 5vw;
}
.bl_header_nav {
justify-content: flex-end;
}
.bl_header_rite_cont {
  margin: 0 1.8rem 0 0;
}
.bl_header_rite .bl_header_rite_cont:last-of-type {
  margin: 0;
  padding: 1.5rem 0;
}

.bl_header_rite_link {}
.bl_header_rite_link:hover {
  opacity: 0.7;
}
.bl_header_rite_txt {
  display: inline-block;
  font-size: 1.6rem;
    color: #000;
}
.bl_header_time {
  max-width: 200px;
  height: auto;
  display: flex;
  align-items: center; /* ← 縦中央揃え！ */
  gap: 6px; /* ← 各要素の間隔を少し空けると見やすい */
}
.bl_header_time_wrap {
  position: relative;
}
.bl_header_time_img {
    width: 7.83vw;
    max-width: 94px;
  height: auto;
}
.bl_header_time_txt {
  font-size: 1.7rem;
  white-space: nowrap;
    font-weight: 900;
}
#js_daysCounter {
  position: absolute;
  width: 100%;
  font-size: 2.5rem;
  color: #ffffff;
  letter-spacing: 0.25rem;
  top: 24.5%;
  left: -2.22%;
  text-align: center;
    font-weight: 900;
}

.subnav {
    position: absolute;
    width: 12.5vw;
    height: 100%;
    right: 0;
    top:0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.subnav li {
    width: 100%;
    height: 50%;
}
.subnav li a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #fff;
    font-size: 1vw;
}
.subnav li a::after {
    position: absolute;
    content: '>';
    color: #fff;
    right:10px;
    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.subnav .subnav_ticket {
    background: #CC1F00;
}
.subnav .subnav_contact {
    background: #3F63AF;
}
.hover-fuwa {
    transition-property: opacity;
  transition-duration: 0.5s;
}
.hover-fuwa ::hover {
    opacity: 0.5;
}


/* フッターPC */
.ly_footer {
  background: #FF53B7;
}
.footer_fix_nav.subnav {
    width: 12.5vw;
    height: 7.5vw;
    top: calc(100% - 9vw);
    right:2vw;
    border: 1px solid #fff;
    }
@media screen and (min-width: 751px) {
    .footer_fix_nav.subnav {
    max-width: 200px;
    }
  /* ↓　1カラムバージョン　 */
.footer_fix_nav.subnav.column-1 {
  height: 3.5vw;
}
.subnav li {
    width: 100%;
    height: 100%;
}
}
.footer_fix_nav.subnav .subnav_ticket {
    border-bottom:1px solid #fff;
}


.foot_cat {
  background: #FFDD80;
  height: 64rem;
  position: relative;
}
.foot_cat span:nth-of-type(1) {
  display: block;
  content: '';
  background: url(../images2/foot_flag_pc.png);
  background-position: center;
  background-repeat: repeat-x;
  width: 100%;
  height: 6.7rem;
}
.foot_cat span:nth-of-type(2) {
  display: block;
  content: '';
  background: url(../images2/town_pc.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  max-height: 30rem;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.foot_cat img {
  position: absolute;
  top: 10.2rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  width: 53.9rem;
  height: auto;
}
.foot_cat img {}
.bl_footer_cont {
  position: relative;
  padding: 4.5rem 0 0;
}
.bl_footer_logo {
  text-align: center;
  padding: 0 0 4rem;
}
.bl_footer_logo_img {
  width: 38rem;
  height: auto;
}
.bl_footer_linkCont_wrap {}
.bl_footer_linkCont {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 7.25rem;
}

.bl_footer_list:hover {
  opacity: 0.7;
}

.bl_footer_link {
  display: block;
  padding: 0 1.5rem;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: bold;
}
.footer_sns {
  position: absolute;
  top: 4rem;
  right: 0rem;
}
.footer_sns_cont {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.footer_sns_list {
  margin: 0 1.5rem 0 0;
}
.footer_sns_list:nth-last-of-type(1) {
  margin: 0 0 0 0;
}

.footer_sns_link {
  display: inline-block;
}
.footer_sns_img {
  width: 5.2rem;
  height: auto;
}
.el_footer_copyright {
  padding: 0 0 3.75rem;
  text-align: center;
}
.el_footer_copyright_txt {
  font-size: 1.5rem;
  color: #ffffff;
}


/*-------------------------------------------------
共通
-------------------------------------------------*/
.bg_dot {
  background: url(../images/bg_dot.png);
}
.bg_dot__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
/* PC-共通セクション */
.bl_section {
  padding: 3% 0;
}
.block {
  max-width: 1000px;
  margin: 0 auto;
  padding: min(50px, 6vw) min(30px, 4vw);
  box-sizing: border-box;
}
.bl_wrap {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
    padding: 0 2vw;
    box-sizing: border-box;
}
.bl_wrap_inner {
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
}
.el_sectionSpeech {
  text-align: center;
}
.el_sectionSpeech_img {
  width: 26rem;
  height: auto;
}

.normal_tl {
  margin-bottom: min(40px, 5.33vw);
}
.ly_main_gray {
    background: #EFEFEF;
}
.ly_main_gray .bl_section {
    padding-top: 6%;
}
.ly_main_gray .bl_wrap {
    max-width: 1000px;
}
/*-------------------------------------------------
トップページ
-------------------------------------------------*/
/* PC-トップ-メインビジュアル */
.bl_mv {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.bl_mv_venue {
    width: 40%;
    left:9.33%;
    top:57%;
}
.bl_tokuten {
  padding-bottom: 5%;
}
.bl_mv_tokuten-tl {
    width: 96%;
    padding-left: 12%;
    /*max-width: 832px;*/
}
@media screen and (min-width: 751px) {
.bl_mv_tokuten-list {
  position: relative;
    width: 90%;
    margin: -1.5% auto 3% auto;
}
.bl_mv_tokuten-list li {
    width: 32%;
}
}

/* pc-TOP イベントスライダー */
.toppage .bl_event {
  padding-top: 5%;
  padding-bottom: 5%;
}
.toppage .bl_event_tl {
  max-width: 922px;
    margin: 0 auto 5% auto;
}

.bl_event_list {
  margin: 0 0.5rem;
}
.bl_event_list_ttl {
    padding-top: .5rem;
  font-size: 1.6rem;
  line-height: 1.4;
    font-weight: 700;
    text-align: center;
}
.slick-slide img,.bl_event_list_pic img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
    border-radius: 12px;
}
.slick-prev {
  left: -30px !important;
  z-index: 3;
  width: 20px !important;
  height: 20px !important;
  top: 40% !important;
  -webkit-transform: translate(0, -40%) !important;
  -ms-transform: translate(0, -40%) !important;
  transform: translate(0, -40%) !important;
}
.slick-next {
  right: -30px !important;
  z-index: 3;
  width: 20px !important;
  height: 20px !important;
  top: 40% !important;
}
.slick-prev:before {
  background: url(../images/arrow_left.png) no-repeat;
    background-size: contain;
  opacity: 1 !important;
  font-size: 20px !important;
  color: inherit !important;
}
.slick-next:before {
  background: url(../images/arrow_right.png) no-repeat;
    background-size: contain;
  opacity: 1 !important;
  font-size: 20px !important;
  color: inherit !important;
}
/*サムネイル画像　サイズ調整*/
.bl_event_list_pic {
    display: block;
  aspect-ratio: 4 / 3; /* 例えば横4:縦3 */
  overflow: hidden;
}

.bl_event_list_pic img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* はみ出してもいいから埋める */
  display: block;
}


/* PC-セクション-特典 */
.bl_tokuten-icon {
    position: absolute;
    width: 18%;
    max-width: 140px;
    top:10%;
    left:5%;
}

/* PC-セクション-インスタグラム */
.bl_section.bl_insta {
  background: #ffffff;
  /*padding: 48rem 0 0;*/
}
.bl_instagram {
  padding: 0 0 6.6rem;
}
.bl_bl_insta_ttl {
  display: block;
  margin: 0 auto;
  width: 45%;
  max-width: 400px;
}
.bl_instagram_txt {
  font-size: 2.0rem;
  text-align: center;
}
.bl_insta_button {
  text-align: center;
}
.bl_insta_button a {
  display: inline-block;
  font-size: 17px;
  font-weight: bold;
  background-color: #C1272D;
  color: #ffffff;
  padding: 14px 44px;
  border-radius: 8px;
  text-align: center;
}

/* PC-セクション-NEWS */
.bl_section.bl_news {
  margin-bottom: 5%;
  background: #F2F2F2;
}
.bl_section.bl_news .bl_wrap {
  max-width: 860px;
}

.bl_news_ttl {
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 3%;
}

.bl_news_list {
  background: #ffffff;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 1.5rem 1rem;
  margin: 0 0 1%;
  border: 1px solid #e6e6e6;
}
.bl_news_listData {
  display: block;
  width: 20%;
  font-size: 1.5rem;
}
.bl_news_listTxt {
  font-size: 1.5rem;
  width: 80%;
}
.bl_news_listTxt a {
  color: #0066da;
}
.bl_news_button {
  text-align: center;
}
.bl_news_button a {
  display: inline-block;
}
.bl_news_button img {
  max-width: 22.3rem;
  width: 100%;
}




/* PC-セクション出店社 */
.bl_exhibitors {
  background: url("../images/bg_booth.png");
}
.bl_exhibitors_cont {
  text-align: center;
}
/* PC-セクション-アクセス */
.bl_access_ttl {
  width: 64%;
  max-width: 640px;
  margin: 0 auto 4.25rem auto;
}
/* Googlマップ */
.bl_googleMap {
  max-width: 100%;
}
.bl_googleMap_inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}
.bl_googleMap_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bl_address {
  position: relative;
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
}
.bl_address_logo {
  display: block;
  width: 12%;
  max-width: 130px;
  margin-right: 20px;
}
.bl_address_link {
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
  max-width: 180px;
}
.bl_address_ttl {
  font-size: 2.5rem;
  font-weight: 700;
}
.bl_address_txt {
  font-size: 2rem;
  line-height: 1.48;
}
.el_ticketButton {
  text-align: center;
}
.el_ticketButton a {
  display: inline-block;
}
.el_ticketButton img {
  max-width: 50rem;
  width: 100%;
}

/*-------------------------------------------------
PC_イベント一覧ページ・詳細
-------------------------------------------------*/
.ly_event_main {
  background: #FFFADA;
}
.bl_event_tl {
    margin: 0 auto 5% auto;
}
.bl_event_button {
    width: 17.5%;
    margin: 1.5% auto 0 auto;
  text-align: center;
}

.bl_eventArticle {
  gap: 1vw;
}
.bl_eventArticle_list {
    display: flex;
    flex-direction: column;
  width: calc(calc(100% - 6.75rem)/4);
    margin-bottom: 2%;
  background: #fff;
    border-radius: 20px;
    box-shadow: 2px 2px 12px -5px #333; 
}
.bl_eventArticle_list a.bl_eventArticle_link {
    display: flex;
    flex-direction: column;
  padding: 2rem 2rem 2.5rem;
  height: 100%;
  position: relative;
}
.bl_eventArticle_list a.bl_eventArticle_link:after {
    position: absolute;
    bottom:.75rem;
    right:2rem;
    content: '詳しく見る >';
    color: #CC1F00;
    font-size: 1.25rem;
}
.bl_eventArticle_tl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 6rem;
    margin: 4% auto 6% auto;
    padding: 6px 5px;
    color: #fff;
    font-weight: bold;
  text-align: center;
  font-size: 1.5rem;
    line-height: 1.4;
    background: #FF53B7;
    
}

.bl_eventArticle_catch {
    display: block;
    margin: 6% auto 0 auto;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.6;
}


/* pc-イベントタグ */
.bl_event_tag-wrap {
    gap: 4px;
    justify-content: flex-start;
}
.bl_event_tag {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 1.3rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
}
/* タグ-知る */
.bl_event_tag.know {
    background: #93B5E1;
}
/* タグ-買う */
.bl_event_tag.buy {
    background: #CC3B79;
}
/* タグ-体験 */
.bl_event_tag.active {
    background: #ED8B45;
}
/* タグ-見る */
.bl_event_tag.look {
    background: #5C99F8;
}
/* タグ-参加 */
.bl_event_tag.join {
    background: #54AB87;
}
/* タグ-学ぶ */
.bl_event_tag.learn {
    background: #9570D6;
}
/* タグ-食べる */
.bl_event_tag.eat {
    background: #A2765A;
}
/* タグ-ふれあう */
.bl_event_tag.interact {
    background: #E589C6;
}
/* タグ-作る */
.bl_event_tag.make {
    background: #98B647;
}
/* タグ-応援する */
.bl_event_tag.support {
    background: #CC6666;
}


/*-------------------------------------------------
イベント記事ページ
-------------------------------------------------*/
.eventSingle_cont {
  padding: 4rem 5rem 5.5rem;
  margin: 0 0 10rem;
  background: #ffffff;
}

/* pc-イベント記事 タグ */
.eventSingle_cont .bl_event_tag-wrap {
    margin-bottom: 2%;
}
.eventSingle_cont .bl_event_tag {
    display: inline-block;
    padding: 6px 15px;
    border-radius: 30px;
    font-size: 1.4rem;
    line-height: 1;
    color: #fff;
}


.el_ttlData {
  border-bottom: solid 1px #CCCCCC;
  padding: 0 0 1.8rem;
  margin: 0 0 3rem;
}
.el_ttlData span {
  font-size: 3rem;
  font-weight: bold;
}
.el_ttlData span.el_ttlData_days {
    font-size: 2.4rem;
}
.eventSingle_pic {
    gap: 3%;
    margin-bottom: 5%;
}
.eventSingle_pic li {
    width: 48%;
    flex: 1 1 0; /* 均等幅 */
  aspect-ratio: 4 / 3; /* 横4:縦3の比率。好みに変更可能 */
  overflow: hidden;
  position: relative;
}
.eventSingle_pic li img {
    width: 100%;
  height: 100%;
  object-fit: cover; /* トリミング表示 */
  object-position: center; /* 中央を表示 */
  display: block;
}

.eventSingle_catch {
    margin-bottom: 3%;
    font-size: 4.0rem;
    font-weight: bold;
}
.eventSingle_midashi {
    margin-bottom: 3%;
    font-size: 3.0rem;
    line-height: 1.6;
}
.eventSingle_copy {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.eventSingle_copy a,.bl_news_article a {
    color: #CC1F00;
    text-decoration: underline;
}
.eventSingle_second {
    margin: 10% 0 0 0;
    padding-top: 5%;
    border-top: 1px solid #ccc;
}
.eventSingle_midashi-sub {
    margin-bottom: 2%;
    color: #0033CC;
    font-size: 2.0rem;
}


.eventSingle_cont p, ul.wp-block-list li {
  font-size: 2rem;
  line-height: 1.75;
}
.el_pagination {
    margin: 10rem 0 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.el_pagination_previous {
  width: 6.5rem;
  margin: 0 4rem 0 0;
}
.el_pagination_previous span {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  border-left: solid 4.5px #E6E6E6;
  border-bottom: solid 4.5px #E6E6E6;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.el_pagination_previous a {
  font-size: 2rem;
}

.el_pagination > a {
  display: block;
  width: 16.3rem;
  padding: 1.8rem 3rem;
  border-radius: 2.7rem;
  font-size: 2rem;
  text-align: center;
  background: #E38D38;
    color: #fff;
}
.el_pagination_next {
  width: 6.5rem;
  margin: 0 0 0 4rem;
  font-weight: bold;
}
.el_pagination_next span {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  border-right: solid 4.5px #E6E6E6;
  border-bottom: solid 4.5px #E6E6E6;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.el_pagination_next a {
  font-size: 2rem;
}
.underline {
  text-align: right;
  text-decoration: underline;
  -webkit-text-decoration-color: #FF0000;
  text-decoration-color: #FF0000;
  margin: 1.2rem 0 0;
}

/*-------------------------------------------------
NEWS一覧ページ
-------------------------------------------------*/

.bl_newsArchive_ttl {
  font-size: 3rem;
  font-weight: bold;
    margin-bottom: 4rem;
}
.bl_newsArchive_cont {
    min-height: 30vh;
  margin: 0 0 11.2rem;
    padding: 3rem;
    background: #fff;
}
.bl_newsArchive {
    width: 100%;
}
.bl_newsArchive_list {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 0 3.5rem;
}
.bl_newsArchive .bl_newsArchive_list:last-of-type {
  margin: 0;
}
.bl_newsArchive_list span.ymd {
  display: block;
  font-size: 2rem;
  width: 20%;
}
.bl_newsArchive_list a {
  display: block;
  width: 100%;
  font-size: 2rem;
  color: #0066da;
}
.bl_newsArchive_list .news_tl_txt {
  display: block;
  width: 80%;
  font-size: 2rem;
}
/*-------------------------------------------------
NEWS記事ページ
-------------------------------------------------*/
.bl_news_ymd {
    display: block;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}
.bl_news_sigle_tl {
    margin-bottom: 2rem;
    font-size: 3rem;
    line-height: 1.6;
    font-weight: 700;
}
.bl_news_article p {
    font-size: 2rem;
    line-height: 1.8;
}
.bl_news_article h1,.bl_news_article h2 {
    padding-top: 1rem;
    padding-bottom: .5rem;
    font-size: 2.6rem;
    font-weight: 700;
}
.bl_news_article h3,.bl_news_article h4,.bl_news_article h5 {
    padding-top: 1rem;
    padding-bottom: .5rem;
    font-size: 2rem;
}


.bl_news .el_pagination_previous span {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  border-left: solid 4.5px #ccc;
  border-bottom: solid 4.5px #ccc;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


.bl_news .el_pagination > a {
  display: block;
  width: 16.3rem;
  padding: 1.8rem 3rem;
  border-radius: 2.7rem;
  font-size: 2rem;
  text-align: center;
  background: #666;
    color: #fff;
}

.bl_news .el_pagination_next span {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  border-right: solid 4.5px #ccc;
  border-bottom: solid 4.5px #ccc;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.el_pagination_next a {
  font-size: 2rem;
}

/*-------------------------------------------------
Q&Aページ
-------------------------------------------------*/
/* Q&Aページ-PC */
.bl_qa {
  padding: 4rem 7rem 8.4rem;
  margin: 0 0 10.4rem;
  background: #ffffff;
}
.bl_qa_mainTtl {
  font-size: 3rem;
  font-weight: bold;
  border-bottom: solid 1px #CCCCCC;
  padding: 0 0 2.5rem;
  margin: 0 0 4rem;
}
.bl_qa_sectionTtl {
    position: relative;
  margin: 6rem 0 3rem;
    padding-left: 3vw;
    color: #0033CC;
    font-weight: bold;
    font-size: 2.8rem;
}
.bl_qa_sectionTtl:first-of-type {
    margin-top: 0;
}
.bl_qa_sectionTtl:before {
    position: absolute;
    content: '';
    left:0;
    width: 0;
    top:50%;
    transform: translateY(-50%);
  height: 0;
  border-style: solid;
  border-top: 1vw solid transparent;
  border-bottom: 1vw solid transparent;
  border-left: 2vw solid #0033CC;
  border-right: 0;
}
.bl_qa_box {
    margin-bottom: 2.5rem;
    font-size: 1.8rem;
    line-height: 1.8;
}
.bl_qa_box:has(+ .bl_qa_sectionTtl) {
    margin-bottom: 0;
}

.bl_qa_box_txt {
    position: relative;
    padding:1.5vw 8vw;
}
.bl_qa_box_a .bl_qa_box_txt {
    padding-right: 2vw;
}

.bl_qa_box_q,.bl_qa_box_a {
    position: relative;
    margin-bottom: 1%;
  background-color: #fff;
  cursor: pointer;
}
.bl_qa_box_a {
    display: none;
    margin-bottom: 2%;
}
.bl_qa_box_txt::before {
    position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
    font-size: 3.5rem;
    font-weight: bold;
  color: #fff;
  width: 4vw;
  height: 4vw;
    max-width: 50px;
    max-height: 50px;
    left:2vw;
    top:1vw;
  border-radius: 50%;
  margin-right: 1em;
}
.bl_qa_box_q .bl_qa_box_txt::before {
  content: 'Q';
    background: #93B5E1;
}
.bl_qa_box_a .bl_qa_box_txt::before {
    position: absolute;
  content: 'A';
    background: #E393BA;
}
.bl_qa_box_txt a {
    color: #0066da;
	text-decoration: underline;
}

/* 「+」を追加 */
.bl_qa_box_q::before,
.bl_qa_box_q::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2%;
  width: 24px;
  height: 1px;
  margin: auto;
  background-color: #000;
}
.bl_qa_box_q::after {
  transform: rotate(90deg);
  transition: .3s;
}
/* クリックしたときに「+」を「−」に変更 */
.bl_qa_box_q.is-active::after {
  transform: rotate(180deg);
}


.bl_qa_cont_list {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.bl_qa_cont .bl_qa_cont_list:nth-child(odd) {
  margin: 0 0 1.5rem;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.bl_qa_cont .bl_qa_cont_list:nth-child(even) {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.bl_qa_cont_img {
  width: 4rem;
  height: 4rem;
  margin: 0 2rem 0 1rem;
}
.bl_qa_cont .bl_qa_cont_list:nth-child(odd) .bl_qa_cont_txt {
  font-size: 3rem;
  font-weight: bold;
  color: #C1272D;
  letter-spacing: -0.1rem;
}
.bl_qa_cont .bl_qa_cont_list:nth-child(even) .bl_qa_cont_txt {
  font-size: 2.5rem;
  line-height: 1.68;
}
.ly_main_inner__relative .el_town {
  position: absolute;
  bottom: -40.1rem;
  left: 0;
}

/*-------------------------------------------------
チケット詳細ページ
-------------------------------------------------*/
.ly_ticket_main {
  background:#FFF5AC;
}
.bl_ticket_txtBox {}
.bl_ticket_list {
  margin: 0 0 3.8rem;
}
.bl_ticket_list img {
  width: 100%;
  margin: 0 0 1.4rem;
}
.bl_ticket_txtBox .bl_ticket_list:nth-of-type(2) {
  width: 100%;
  position: relative;
}
.bl_ticket_txtBox .bl_ticket_list:last-of-type {
  margin: 0;
}
.bl_ticket_note {
    margin-top: 1.5rem;
}
.bl_ticket_noteList {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: -1px;
  margin: 0 0 0 1.25rem;
}
.bl_ticket_noteList::before {
  content: '※';
  font-size: 1.5rem;
  position: absolute;
  top: 0;
  left: -1.4rem;
}
.txt-red {
    color: #CC1F00;
}
.bl_ticket_noteList.txt-red {
    font-weight: 700;
}

.el_ticketPurchase_button {
  margin: 5.4rem 0 0;
  text-align: center;
}
.el_ticketPurchase_button a {
  display: inline-block;
}
.el_ticketPurchase_button a img {}
.bl_ticketNote {
  background: #ffffff;
  padding: 7rem 7.3rem;
}
.bl_ticketNote_cont {}
.bl_ticketNote_list {
  margin: 0 0 1rem;
  padding: 0 0 0 2.8rem;
  position: relative;
}
.bl_ticketNote_cont .bl_ticketNote_list:last-of-type {
  margin: 0;
}
.bl_ticketNote_list::before {
  content: '';
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: #000000;
  position: absolute;
  top: 1rem;
  left: 0;
}
.bl_ticketNote_list p {
  font-size: 2.5rem;
  line-height: 1.6;
  font-weight: bold;
}
.bl_ticketCont_ttlData {
  margin: 0 0 2.6rem;
}

.bl_ticketCont_ttlData h2 {
  max-width: 32.9rem;
  width: 100%;
	margin-bottom: 2rem;
}

.bl_ticketCont_ttlData h2 img {
  max-width: 32.9rem;
  width: 100%;
}
.bl_ticketCont_ttlData span {
	display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: #FF53B7;
}
.bl_premium {
    margin-top: min(50px, 8vw);
}

/*-------------------------------------------------
早割チケットページ
-------------------------------------------------*/
.bl_early_ticket .bl_block,.bl_rule .bl_block {
    padding: 5% 0;
    background: #ffffff;
}
.bl_early_ticket_flag {
    position: absolute;
    left:0;
    top:0;
    width: 53%;
    max-width: 530px;
}
.bl_early_ticket_tl {
    width: 61%;
    max-width: 609px;
    margin: 0 auto 5% auto;
    padding-top: 8%;
}
.bl_early_rimit_tl {
    width: 56%;
    max-width: 560px;
    margin: 5% auto 6%;
}
.bl_early_normal {
    margin-top: 3%;
}
.bl_early_after {
     margin-top: 4.5%;
}
.bl_early_ticket .bl_ticket_button {
    width: 50%;
    max-width: 500px;
    margin: 5% auto 8%;
}
.bl_ticket_caution {
    margin-top: 2%;
}

.bl_ticket_caution　.bl_ticket_note {
    margin-top: 0;
}
.bl_ticket_caution .bl_ticket_noteList {
  position: relative;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: -1px;
  margin: 0 0 0 1.5rem;
}
.bl_ticket_caution .bl_ticket_noteList::before {
  content: '●';
  font-size: 2rem;
  position: absolute;
  top: 0;
  left: -2.15rem;
}

.bl_ticket_caution_outlet {
  margin-bottom: 4%;
  text-align: center;
  font-size: 2.5rem;
  text-align: center;
}
.bl_ticket_caution_outlet span {
  display: block;
  padding-top: 1rem;
  font-size: 2rem;
}
.bl_ticket_caution.outlet .bl_ticket_noteList::before {
  content: '・';
}


/*-------------------------------------------------
同伴ルール
-------------------------------------------------*/
.bl_section.bl_rule {
    background: url("../images/ticket/rule_bg.webp");
    background-size: 100% auto;
}
.bl_rule_catch {
        width: 58.4%;
        max-width: 584px;
        margin:0 auto 4%;
    }
.bl_rule_copy .txt {
    flex: 1;
    padding-top: 1rem;
}
.bl_rule_copy .ill {
    width: 45%;
    max-width: 330px;
    margin-left: 2%;
}
.bl_rule_subtl {
    display: inline-block;
    margin:4% 0 2% 0;
    padding: 1.5rem 1.75rem;
    background: #FFF5AC;
    color: #997626;
    font-weight: 700;
    font-size: 2.0rem;
}
.bl_rule_txt {
  position: relative;
  letter-spacing: -1px;
  margin: 0 0 .5rem 2rem;
}
.bl_rule_txt::before {
    content: '◉';
  font-size: 2.0rem;
  position: absolute;
  top: 0;
  left: -2.25rem;
}
.bl_rule_caution {
    font-size: 1.5rem;
    margin-left: 2rem;
    line-height: 1.6;
}
.bl_rule_rest {
    margin-top: 6%;
    padding: 3%;
    border-radius: 20px;
    background: #F5F1E9;
}
.bl_rule_rest_tl {
    color: #997626;
    font-size: 3rem;
}
.bl_rule_rest .txt-caution {
    padding-top: .5rem;
    font-size: 1.5rem;
}
.bl_rule_rest_box {
    justify-content: center;
    margin-top: 3%;
}
.bl_rule_rest_box .ill {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    width: 20%;
    margin-right: 4%;
}
.bl_rule_rest_box .ill img {
    width: 50%;
}
.bl_rule_rest_box .txt {
    flex:1;
}
.bl_rule_msg {
    margin-top: 3%;
    text-align: center;
}
.bl_rule_msg_big {
    padding-bottom: .5rem;
    font-size: 2.5rem;
    color: #997626;
}

@media screen and (min-width: 751px) {
    .bl_rule_box {
        position: relative;
        margin-top: 16%;
        padding: 4%;
        border: 1px solid #CCBB93;
    }
    .bl_rule_box_deco {
        position: absolute;
        width: 68%;
        top: -80px;
        left:50%;
        transform: translateX(-50%);
    }
    .bl_rule_maintl {
        width: 70%;
        margin: -60px auto 1% auto;
        padding: 2%;
        background: #fff;
        
    }
}


/*-------------------------------------------------
お問い合わせページ
-------------------------------------------------*/
/* お問い合わせページ-PC */
body:has(.ly_contact_main) {
  background: #ffffff;
}
.bl_contact {
  padding: min(50px, 8vw);
  background: #fff;
}
.bl_contact_ttl {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: min(50px, 8vw);
  padding-bottom: 2rem;
  border-bottom: 1px solid #ccc;
}
.bl_contact_cont {}
.bl_contact_list {
  margin: 0 0 1rem 0;
}
.bl_contact_cont .bl_contact_list:nth-child(5) {
  /*margin: 0;*/
}
.bl_contact_txt {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  font-size: 1.6rem;
  margin: 0 0 1rem;
  font-weight: bold;
}
.bl_contact_required {
  font-size: 1.2rem;
  color: #E73562;
  margin: 0 0 0 1rem;
  font-weight: 700;
}
.wpcf7-form-control-wrap input[type=text], .wpcf7-form-control-wrap input[type=email], .wpcf7-form-control-wrap input[type=tel] {
  display: inline-block;
  border: solid 1px #B3B3B3;
  width: 35rem;
  height: 5.3rem;
  font-size: 1.6rem;
  padding: 0 1rem;
  background: #ffffff;
}
.wpcf7-form-control-wrap textarea {
  border: solid 1px #B3B3B3;
  width: 100%;
  min-height: 22rem;
  font-size: 1.6rem;
  padding: 1rem;
  background: #ffffff;
}
.bl_contact_submit {
  text-align: center;
  margin: 6.3rem 0 0;
}
.bl_contact_submit input[type=submit] {
  background-color: #666;
  color: #ffffff;
  font-size: 1.6rem;
  padding: 1.65rem 2.5rem;
  border-radius: 10px;
  font-weight: bold;
}
.wpcf7-spinner {
  display: none;
}
/* お問い合わせ-完了ページ-PC */
.bl_contact_cont {}
.bl_thanks {
  text-align: center;
}
.bl_thanks_txt {
  font-size: 3rem;
  line-height: 1.8;
}

/*-------------------------------------------------
2025東京開催　追加CSS
-------------------------------------------------*/
/* 共通　*/
p.txt {
    font-size: 2rem;
  line-height: 1.8;
}
.txt-tl {
  font-weight: 700;
}

.toppage .bl_section_inner {
  padding: min(6rem, 60px) 0;
}
.ly_main.toppage {
  background: none;
}
.img-auto {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .img-auto img {
    width: auto;
    max-width: 1200px;
  }
}
/* TOP-前売りチケット */
.bl_section.bl_maeuri {
  padding-top: 0;
  background: #FF53B7;
}
.bl_maeuri .bl_wrap {
  position: relative;
    max-width: 1000px;
    margin-top: 50px;
    padding-top: 250px;
}
.bl_maeuri_tl {
  position: absolute;
  top:-50px;
    max-width: 1000px;
  display: block;
  text-align: center;
}
.bl_maeuri_caution {
    padding-top: 3%;
    font-size: 1.2rem;
    color: #fff;
}
.bl_maeuri_caution li {
    position: relative;
    margin-bottom: .25rem;
    padding-left: 1.25rem; /* インデントの幅（調整可能） */
    line-height: 1.5;
}
.bl_maeuri_caution li::before {
    content: '※';
    position: absolute;
  left: 0;
  top: 0;
}
.bl_maeuri .bl_event_button {
    margin-top: 3%;
}
.bl_maeuri_ticket {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    }
.bl_maeuri_ticket p {
    width: 49%;
}

/* 早割カウントダウン */
.bl_early_countdown{
    display: block;
    width: fit-content;
    margin: 6% auto 0 auto;
    padding: min(20px, 5vw) min(30px, 8vw);
    background: #000;
    color: #fff;
    text-align: center;
    font-weight: 700;
}
.bl_early_countdown_txt {
    display: block;
    padding-bottom: 3%;
    font-size: min(30px, 12vw);
}
#js_fullCountdown {
    font-size: min(48px, 20vw);
}
/*#js_fullCountdown::before {
    content: 'あと';
    font-size: 85%;
}*/
.bl_early_countdown_wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.bl_early_countdown_wrap span {
    padding-right: .5rem;
    font-size: min(36px, 12vw);
    line-height: 1.4;
}


/* TOP-インスタグラム */
.bl_insta_btn {
  display: block;
  max-width: 250px;
  margin: min(40px, 5vw) auto 0 auto;
}

@media screen and (max-width: 750px) {
  .bl_creater .block {
    width: 100%;
    padding: 0;
  }
}
/* TOP-会場マップ */
.bl_map {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 min(30px, 4vw);
}
.bl_map_tl {
  position: relative;
  margin-top: min(80px, 10vw);
  padding: 3.8rem 0;
  background: #C1272D;
  text-align: center;
  color: #fff;
}
.bl_map_cat {
  position: absolute;
  width: 20%;
  max-width: 96px;
  top: -84px;
  right: 3rem;
}
.bl_map .block {
  padding: min(40px, 8vw) 0 min(60px, 10vw);
}

/* event-イベント */
@media screen and (min-width: 751px) {
  .bl_eventMv img {
    width: auto;
    max-width: 550px;
  }
  .bl_event_content {
    width: 94%;
    margin: 0 auto;
  }
}
.bl_eventArticle.hp_flex {
  justify-content: flex-start;
}

.bl_eventArticle .btn_event_detail {
  position: absolute;
  width: 40%;
  max-width: 102px;
  bottom: .5rem;
  left: 50%;
  -webkit-transform: translate(-50%, -1rem);
  -ms-transform: translate(-50%, -1rem);
  transform: translate(-50%, -1rem);
}
.event_coution {
    width: 100%;
  text-align: right;
}
.bl_event .event_coution {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 751px) {
  .event_coution {
    font-size: 1.2rem;
  }
}
.bl_eventArticle_list .ttl_small {
  padding-top: .5rem;
}

/* お問い合わせ */
.ly_main {
  background-image: repeating-linear-gradient(-45deg, #fbd9f1, #fbd9f1 4px, #fbf5fd 4px, #fbf5fd 8px);
}
.bl_contact_list {
  margin-bottom: min(30px, 5vw);
}
.bl_contact_list.contact_flex {
  display: flex;
  justify-content: space-between;
}
.contact_flex_box {
  width: 49%;
}
.bl_contact_privacy {
  padding-top: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.6;
}
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
  padding-top: .5rem;
}
/* 出展お問い合わせ */
.ly_contact_ex .bl_contact {
  padding: 0;
}
.ly_main.ly_contact_ex {
  background: none;
}
h2.bl_contact_ex_ttl {
  margin-bottom: min(50px, 8vw);
}
h3.bl_contact_ex_stl {
  margin-bottom: min(45px, 7vw);
  padding: min(20px, 3vw) 2vw;
  text-align: center;
  background: #a38142;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
}
.ex_contact_txt {
  margin-bottom: 2.5rem;
}
.ex_contact_txt p {
  line-height: 1.8;
  padding-bottom: 1rem;
}
@media screen and (min-width: 751px) {
  .ex_contact_tlwrap {
    display: flex;
  }
  .bl_contact_ex_ttl {
    width: 25%;
    margin-right: 5%;
  }
  .bl_contact_ex_stl {
    display: flex;
    align-items: center;
    flex: 1;
  }
    .ex_contact_txt p {
        font-size: 1.5rem;
    }
}
.contact_cat {
  position: relative;
}
.hp_pc.contact_cat_img {
  position: absolute;
  width: 31.6%;
  max-width: 316px;
  right: 0;
  top: -23rem;
}
.hp_sp.contact_cat_img {
  display: block;
  width: 60%;
  margin: 4vw auto 0;
}
.wpcf7-list-item {
  display: block;
  margin: 0;
  margin-bottom: 1rem;
}
.wpcf7-radio {
  margin-top: 1rem;
}
@media screen and (min-width: 751px) {
  .wpcf7-form-control-wrap input.txt-long {
    width: 60rem;
  }
  .wpcf7-list-item {
    font-size: 1.5rem;
  }
}
/* イベント詳細 */
.el_pagination.hp_flex {
  align-items: center;
}

/* NEWS */
.ly_news_main .block {
  background: #fff;
}
/* カウントSP調整 */
#js_daysCounter_sp {
  font-family: Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  will-change: content;
  transform: translateZ(0);
}
a.txt-link {
  color: #0066da;
  text-decoration: underline;
}
@media screen and (min-width: 751px) {
  .bl_exhibitors_link.rule {
    display: block;
    margin-bottom: 4rem;
  }
}
/* 問い合わせ-年末年始コメント */
.contact_comment {
  display: block;
  margin-top: -3rem;
  margin-bottom: 4rem;
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  .contact_comment {
    margin-bottom: 3rem;
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
/* 出店一覧 */
.bl_map_img {
  padding: min(20px, 1.5vw);
  box-sizing: border-box;
}
/* お詫び対応 */
.apology {
  padding: min(50px, 8vw) 0;
  background: #F2F2F2;
  text-align: center;
}
.apology .inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 2vw;
  box-sizing: border-box;
}
.apology_btn {
  display: block;
  margin: min(40px, 8vw) auto 0;
  max-width: 260px;
}
/* サンクスページ */
body.thanks .ly_header {
  position: fixed;
  z-index: 10;
  background: none;
  /* max-width: 1200px; */
  width: 100%;
  padding: 0 2rem;
  margin: 0 auto;
}
body.thanks .apology {
  background: #fff;
}
body.thanks .apology .inner {
  max-width: 760px;
}
.thanks_next {
  margin-bottom: 15vw;
}
body.thanks .apology_btn {
  width: 35%;
  max-width: 250px;
}
@media screen and (min-width: 751px) {
  body.thanks .apology_btn {
    max-width: 160px;
  }
  .thanks_next {
    margin-bottom: min(190px, 20vw);
  }
  .thanks_insta {
    max-width: 490px;
  }
}
body.thanks .bl_insta_btn {
  display: block;
  max-width: 250px;
  margin: min(40px, 5vw) auto 0 auto;
}
body.thanks .bl_header_left::before {
  display: block;
  content: '';
  width: 9.4rem;
  height: 8.5rem;
  position: absolute;
  top: 0;
  left: 0.5rem;
  background: #231815;
  opacity: 0.25;
  z-index: -1;
  border-radius: 0 0 46px 46px;
}

/* TOP　フォームのお知らせ */
.bl_form_info {
    display: block;
    width: 70%;
    max-width: 700px;
    margin: 0 auto;
    padding: min(30px,5vw);
    box-sizing: border-box;
    background: #f2f2f2;
    border-radius: 100px;
}
.bl_form_info_inner {
    display: flex;
    align-items: center;
    width: 90%;
    margin: 0 auto;
}
.bl_form_info_tl {
    width: 30%;
    font-size: 2rem;
    white-space: nowrap;
}
.bl_form_info_inner p {
    font-size: 1.5rem;
    line-height: 1.7;
}
.bl_form_info_inner p em {
    font-style: normal;
    color: #FF0000;
}


/* リンク　アンダーライン */
a.link_underline {
    text-decoration: underline;
}


/* ローダー */
#loading {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
    transition: opacity .6s ease; /* ← ふわっと切り替え */
  opacity: 1;
  pointer-events: auto;
}
#loading.fade-out {
  opacity: 0;
  pointer-events: none;
}
.loader-warp {
    width: 35%;
    height: 35%;
    background: url("../images/logo.svg") no-repeat center;
    background-size: contain;
    opacity: .6;
    display: flex;
  align-items: center;
  justify-content: center;
}
/* シンプルなローダー（くるくる回る円） */
.loader {
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top: 5px solid #666;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* TOP 早割 */
.bl_early {
    background: #FFF5AC;
    padding-top: 0;
}
.bl_early .bl_wrap {
    max-width: 1000px;
}
.bl_early_catch {
    margin-bottom: 4%;
    background: #3F63AF;
}
.bl_early_catch_tl {
    padding: 2% 0;
    text-align: center;
    color: #fff;
    font-size: 4rem;
    font-weight: 700;
}
.bl_early_maintl {
    width: 50.75%;
    max-width: 609px;
    margin: 0 auto 5% auto;
}
.bl_early_wrap {
    padding: 5%;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
}
.bl_early_cont01 {
    margin-bottom: 2%;
}
.bl_early_cont02 {
    margin-bottom: 4.5%;
}
.bl_early_cont03 {
    width: 85%;
}
.bl_ticket_button {
    width: 59%;
    max-width: 589px;
    margin: 5% auto 0;
}

.bl_ticket_teaser {
  margin: 30px auto 60px auto;
}
.ticket_teaser_bnr {
  padding: 40px 40px;
  text-align: center;
  background-color: #ff53b7;
  border-radius: 200px;
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
}


.bl_top_bnr {
    margin-bottom: 5%;
}

/* 共通　ボタンアニメ */
.btn a {
  position: relative;
  display: block;
}

.btn-flash a {
  overflow: hidden;
}
.btn-flash a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
  transition: .3s;
}

/* ホバー時のスタイル */
.btn-flash a:hover::before {
  top: 0;
  left: 100%;
}

/* ページ準備中 */
p.preparation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 60vh;
  font-size: 2.5rem;
}