/*----CSSリセット----*/
#mainBoxArea h1 {
  border-bottom: none;
  margin: 0 auto;
}

#mainBoxArea h3 {
  border-left: none;
  padding: 0;
}

@media screen and (max-width: 479px) {
  header {
    margin-bottom: 0;
  }

  #contentWrap {
    width: 100%;
  }

  #contentWrap #mainContentWrap {
    padding-bottom: 0;
  }
}

/*----全体構造設定----*/
#lp-body {
  font-family: "M PLUS 1p", sans-serif;
  background-color: #efefef;
  width: 100%;
  max-width: 710px;
  color: #5b595a;
  position: relative;
}

#lp-body * {
  text-align: center;
}

#lp-body>section {
  margin: 2em auto;
  padding: 0 2% 1em;
  background-color: #fff;
}

#lp-body>section:first-of-type {
  margin: 0 auto;
  background: none;
  padding: 0;
}

#lp-body p {
  line-height: 1.5em;
}

.back-none {
  background: none !important;
}

/*----細かいパーツへの共通設定----*/
.sl-box {
  margin: auto;
}

#lp-body>section h2 {
  background-color: #c2c2c2;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.1em;
  font-size: 160%;
  padding: 0.4em 0;
  margin: 0 -2% 0.5em;
}

#lp-body .pad-04 {
  padding-left: 4%;
  padding-right: 4%;
}

#lp-body .pad-04 h2 {
  margin-left: -4%;
  margin-right: -4%;
}

#info-area h3,
#ticket-area h3,
#map-area h3,
#content-area h3,
#shop-area h3,
#access-area h3 {
  margin: 1.5em auto 0.2em;
  font-weight: 800;
}

#info-area h3:first-of-type,
#ticket-area h3:first-of-type,
#content-area h3:first-of-type,
#shop-area h3:first-of-type {
  margin-top: 0.5em;
}

.link-btn,
.grad-btn {
  width: 95%;
  display: block;
  text-decoration: none;
  font-size: 120%;
  padding: 0.2em 0px;
  background-color: #fff;
  border: 2px solid;
  transition: 0.4s;
  font-weight: 800;
  margin: 0.7em auto;
  letter-spacing: 0.1em;
}

.link-btn i {
  margin-left: 0.5em;
}

.menu-item,
.link-btn {
  -webkit-box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.3);
}

.link-half {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 95%;
  margin: 0 auto;
  column-gap: 0.7em;
}

.link-half .link-btn {
  width: 100%;
}

.text-note {
  font-size: 90%;
}

.back-pink {
  background-color: #f372b2 !important;
}

.back-blue {
  background-color: #2974c5 !important;
}

.back-yellow {
  background-color: #e69d0c !important;
}

.back-orange {
  background-color: #ef4e3a !important;
}

.back-green {
  background-color: #61920c !important;
}

.back-purple {
  background-color: #7165c9 !important;
}

.back-note {
  background-color: #ffeaba;
}

.pr-sl {
  width: 90%;
  margin: auto;
}

/*アコーディオン*/

.acd-check {
  display: none;
}

.acd-label {
  background-color: #c2c2c2;
  display: block;
  margin: 0.5em auto;
  font-size: 100%;
  font-weight: 500;
  text-align: center;
  color: #fff;
  padding: 0.5em 0;
}

.acd-content {
  height: 0;
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
}

.acd-check:checked+.acd-label+.acd-content {
  height: auto;
  opacity: 1;
  visibility: visible;
  text-align: center;
}

.acd-label::after {
  font-size: 120%;
  content: "+";
  display: inline-block;
}

.acd-check:checked+.acd-label::after {
  content: "-";
}

/*----event-header----*/
#event-header h1 {
  margin: 0 auto;
  text-align: center;
}

#event-header h1 img {
  width: 100%;
}

/*----intro-area----*/

/*----menu-area----*/
#menu-area {
  padding: 2%;
}

.menu {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 8px;
  padding: 5px;
  margin: 0 auto;
  text-align: center;
}

.menu-item {
  height: auto;
  background-color: #c2c2c2;
  font-weight: 600;
}

.menu-item img {
  width: 60%;
  margin: 0;
}

.menu-item a {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-decoration: none;
  color: #fff;
  text-align: center;
}

.menu-item p {
  margin: -5% auto 0 auto;
  font-size: 120%;
}

.menu .menu-cs {
  background-color: #c2c2c2 !important;
  pointer-events: none !important;
}

.menu .menu-item-ticket p::after {
  content: "チケット";
}

.menu .menu-item-rule p::after {
  content: "参加ルール";
}

.menu .menu-item-content p::after {
  content: "コンテンツ";
}

.menu .menu-item-access p::after {
  content: "アクセス";
}

.menu .menu-item-map p::after {
  content: "会場マップ";
}

.menu .menu-item-shop p::after {
  content: "協力店舗";
}

@media screen and (min-width: 480px) {
  .menu {
    grid-gap: 15px;
  }

  .menu-item {
    padding-bottom: 10px;
  }
}

/*----info-area----*/
#info-area h3 {
  font-size: 150%;
}

#info-area p,
#access-area p {
  font-size: 190%;
  font-weight: 800;
  margin: 0 auto;
}

#info-area p em {
  font-size: 160%;
  font-style: normal;
}

#info-area p small,
#access-area p small {
  font-size: 70%;
  display: block;
  line-height: 1.5em;
}

#info-area p .text-s,
#access-area p .text-s {
  font-size: 55%;
  font-weight: normal;
}

#info-area .acd-label,
#ticket-area .acd-label,
.venue-item h4 {
  width: 80%;
  max-width: 400px;
}

#info-area .acd-label,
#ticket-area .acd-label {
  font-size: 120%;
}

.venue-item {
  margin: 1.5em auto;
}

.venue-item h4 {
  font-size: 140%;
  margin: 1em auto 0.2em;
  padding: 0.2em 0;
  border: 1px solid;
  box-sizing: border-box;
}

.venue-item p {
  font-size: 140% !important;
  margin: 0 auto 1em !important;
}

.venue-item p small {
  display: inline-block !important;
  font-weight: normal;
}

.venue-item p .border-text {
  background-color: #e4e4e4;
  font-size: 80%;
  display: inline-block;
  padding: 0 0.2em;
  margin-right: 0.5em;
}

.venue-type01 h4 {
  color: #f372b2;
}

.venue-type02 h4 {
  color: #2974c5;
}

.venue-type03 h4 {
  color: #61920c;
}

/*----ticket-area----*/
#ticket-area h3 {
  font-size: 150%;
}

#ticket-area h3 small {
  font-size: 70%;
  font-weight: normal;
}

#ticket-area h4 {
  font-size: 140%;
  font-weight: 700;
  margin: 0.8em auto 0.3em;
  color: #fff;
  letter-spacing: 0.2em;
}

#ticket-area h4:first-of-type {
  margin-top: 0.5em;
}

#ticket-area h4 small {
  display: block;
  font-size: 70%;
  font-weight: normal;
  letter-spacing: 0;
}

#ticket-area h4,
.tc-price {
  width: 80%;
}

#ticket-area .tc-price {
  margin: 0.5em auto 0;
  font-size: 200%;
  font-weight: 800;
  line-height: 0.8em;
}

.tc-price small {
  font-size: 70%;
}

.tc-price .tc-today {
  font-size: 50%;
  font-weight: normal;
}

.list-note {
  padding: 0em 0.5em 0.5em 2em;
  width: 90%;
  margin: 1em auto 0;
  box-sizing: border-box;
}

.list-note li {
  list-style: disc;
  text-align: left !important;
  font-size: 90%;
}

.list-note b {
  display: block;
  margin-top: 0.7em;
  background-color: antiquewhite;
  padding: 0.5em 0;
  margin: 0em -1em 1em -2.5em;
}

.list-scroll {
  overflow: auto;
  max-height: 20em;
  overflow-x: hidden;
}

.tc-schedule,
.list-note {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.tc-schedule p {
  width: 85%;
  margin: 0.5em auto;
  font-size: 120%;
  font-weight: 800;
}

.tc-schedule p i {
  margin: auto 0.5em;
}

/*----map-area----*/
#map-area h3 {
  font-size: 150%;
}

#map-area img {
  width: 100%;
}

#map-area img {
  margin: 0.5em auto;
}

#map-area p {
  font-size: 120%;
  margin: auto;
}

/*----content-area----*/
#content-area h3,
#shop-area h3 {
  font-size: 150%;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5em;
  background-color: #595758;
  color: #fff;
}

.content-item {
  border-bottom: 2px solid #c2c2c2;
  padding-bottom: 0.5em;
}

.content-item:last-of-type {
  border-bottom: none;
}

.content-item img {
  width: 100%;
  margin: auto;
}

.content-item p {
  margin: 0.5em auto;
  font-size: 110%;
}

.cam-link a {
  display: grid;
  grid-template-columns: 90% 10%;
  justify-items: center;
  align-items: center;
}

.cam-link a span {
  display: block;
  font-size: 70%;
  font-weight: normal;
}

.cam-link a i {
  margin: 0 1em;
}

.cam-link .text-m {
  grid-column-start: 1;
  grid-column-end: 3;
  margin-top: 1em;
}

/*----shop-area----*/
/*入店可能店舗 画像付き表示*/
.shop-area2 img {
  width: 100%;
}

.shop-area2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5px;
  row-gap: 10px;
}

.shop-area2 dt {
  text-align: center;
}

.shop-area2 dt img {
  border: 1px solid rgb(255, 123, 141);
}

.shop-area2 dd {
  text-align: left;
  margin: 0 auto;
  font-size: 80%;
  font-weight: 300;
}

.shop-area2 dt b {
  font-size: 100%;
  font-weight: 600;
}

.grad-wrap {
  position: relative;
  padding-bottom: 40px;
}

.grad-btn {
  z-index: +2;
  position: absolute;
  right: 0;
  bottom: -1em;
  left: 0;
  cursor: pointer;
  transition: 0.2s ease;
  box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}

.grad-btn::before {
  content: "更に店舗を表示 +";
}

.grad-btn i {
  margin-left: 0.5em;
}

.grad-item {
  position: relative;
  overflow: hidden;
  height: 350px;
  /*隠した状態の高さ*/
}

.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  content: "";
}

.grad-trigger {
  display: none;
  /*チェックボックスは常に非表示*/
}

.grad-trigger:checked~.grad-btn::before {
  content: "閉じる -";
  /*チェックされていたら、文言を変更する*/
}

.grad-trigger:checked~.grad-item {
  height: auto;
  /*チェックされていたら、高さを戻す*/
}

.grad-trigger:checked~.grad-item::before {
  display: none;
  /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

@media screen and (min-width: 480px) {
  .shop-area2 {
    width: 90%;
    margin: auto;
    grid-template-columns: repeat(3, 1fr);
  }
}

/*入店可能店舗 ジャンル別リスト表示*/
.shop-area1 label {
  font-weight: 600;
}

.shop-area1 .shops-ok {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 3px;
}

.shop-area1 .shops-ok>div {
  width: 100%;
  margin: 0px auto 0 auto;
}

.shop-area1 .shops-ok h4 {
  text-align: center;
  font-size: 90%;
  font-weight: normal;
  margin: 0.2em auto;
}

.shop-area1 .shops-ok p {
  font-size: 80%;
}

.shop-area1 span {
  font-size: 80%;
  font-weight: normal;
  display: inline-block;
}

.shop-area1 span i {
  font-size: 130%;
  padding-left: 5px;
}

.shop-area1 .shop-box-pre {
  text-align: left;
  font-size: 80%;
  padding: 0 5px;
}

.shop-area1 .shop-box-pre i {
  font-size: 150%;
  margin-right: 5px;
  color: #ee4c8f;
}

.shop-area1 .shop-blue>div {
  border: 1px solid #2974c5;
}

.shop-area1 .shop-orange>div {
  border: 1px solid #ef4e3a;
}

.shop-area1 .shop-green>div {
  border: 1px solid #61920c;
}

@media screen and (min-width: 480px) {
  .shop-area1 label {
    font-size: 1.2rem;
  }

  .shop-area1 {
    width: 90%;
    margin: auto;
  }

  .shop-area1 .acd-content {
    margin: auto;
  }

  .shop-area1 .shops-ok {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .shop-area1 .shops-ok h4 {
    font-size: 100%;
  }

  .shop-area1 .shops-ok p {
    font-size: 100%;
  }
}

/*----hacopr-area----*/
#hacopr-area h2 {
  color: #5b595a !important;
  background: none !important;
  letter-spacing: 0 !important;
}

/*----sanka-area----*/
#sanka-area {}

#sanka-area img {
  width: 100%;
  margin: 1em auto 0;
}

/*----access-area----*/
#access-area iframe {
  width: 100%;
  height: 400px;
  border: none;
}

/*----sns-area----*/
.twitter-timeline {
  margin: auto;
}

/*----support-area----*/
#support-area dt {
  margin: 1em auto 0;
  font-weight: 600;
  letter-spacing: 0.2em;
}

#support-area dt:first-of-type {
  margin-top: 0;
}

#support-area dd {
  margin: 0 auto;
}

/*共通文字設定*/
.text-m {
  font-size: 130%;
  font-weight: 600;
}

/*PRバナー*/
.pr-bn {
  width: 90%;
  margin: auto;
}

.pr-bn img {
  width: 100%;
}

/*----PC用設定----*/
@media screen and (min-width: 480px) {
  #lp-body>section {
    max-width: 650px;
  }

  #menu-area {
    width: 600px;
  }

  .link-btn,
  .link-half {
    max-width: 450px;
  }

  .pr-bn {
    max-width: 550px;
  }

  #lp-body>section:first-of-type {
    max-width: none;
  }

  .br-sp {
    display: none;
  }
}

/*----地域ごとの設定----*/
/*関東*/
.kanto h2,
.kanto .menu-item {
  background-color: #f0007f !important;
}

.kanto .link-btn,
.kanto .grad-btn {
  color: #f0007f;
}

.kanto #info-area .acd-label,
.kanto #ticket-area .acd-label {
  background-color: #ff7fc3;
}

/*東北*/
.tohoku h2,
.tohoku .menu-item {
  background-color: #e3a71c !important;
}

.tohoku .link-btn,
.tohoku .grad-btn {
  color: #e3a71c;
}

.tohoku #info-area .acd-label,
.tohoku #ticket-area .acd-label {
  background-color: #e3a71c;
}

/*関西*/
.kinki h2,
.kinki .menu-item {
  background-color: #019ee1 !important;
}

.kinki .link-btn,
.kinki .grad-btn {
  color: #019ee1;
}

.kinki #info-area .acd-label,
.kinki #ticket-area .acd-label {
  background-color: #5dc0ea;
}

/*中部*/
.chubu h2,
.chubu .menu-item {
  background-color: #72a50b !important;
}

.chubu .link-btn,
.chubu .grad-btn {
  color: #72a50b;
}

.chubu #info-area .acd-label,
.chubu #ticket-area .acd-label {
  background-color: #9ec352;
}

/*中国*/
.chugoku h2,
.chugoku .menu-item {
  background-color: #eb6666 !important;
}

.chugoku .link-btn,
.chugoku .grad-btn {
  color: #eb6666;
}

.chugoku #info-area .acd-label,
.chugoku #ticket-area .acd-label {
  background-color: #f87c7c;
}

/*九州*/
.kyushu h2,
.kyushu .menu-item {
  background-color: #8b58d7 !important;
}

.kyushu .link-btn,
.kyushu .grad-btn {
  color: #8b58d7;
}

.kyushu #info-area .acd-label,
.kyushu #ticket-area .acd-label {
  background-color: #a17cd7;
}

/*台湾*/
.world h2,
.world .menu-item {
  background-color: #4ba17a !important;
}

.world .link-btn,
.world .grad-btn {
  color: #4ba17a;
}

.world #info-area .acd-label,
.world #ticket-area .acd-label {
  background-color: #5eb38d;
}

/*北海道*/
.hokkaido h2,
.hokkaido .menu-item {
  background-color: #3f6cb1 !important;
}

.hokkaido .link-btn,
.hokkaido .grad-btn {
  color: #3f6cb1;
}

.hokkaido #info-area .acd-label,
.hokkaido #ticket-area .acd-label {
  background-color: #3f6cb1;
}

.heading-date {
  display: none;
}

.is-active {
  display: block;
}

#lp-body .event-info {
  background-color: unset !important;
  max-width: unset;
  padding: 0;
}

.selected-item .insert-page>section {
  margin: 2em auto;
  padding: 0 2% 1em;
  background-color: #fff;
}

@media screen and (min-width: 480px) {
  .selected-item .insert-page>section {
    max-width: 650px;
  }
}

#lp-body .heading-date {
  max-width: 710px;
  padding: 0;
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #595758;
  z-index: 999;
}

.heading-date .hd-wrap a {
  display: flex;
  color: #fff;
  padding: 10px;
  justify-content: space-between;
  align-items: center;
}

#lp-body .hd-events h5 {
  font-size: 16px;
  font-weight: 900;
  text-align: left;
}

#lp-body .hd-events p {
  font-size: 32px;
  font-weight: 900;
  text-align: left;
  margin-bottom: 0;
}

#lp-body .hd-events span {
  font-size: 16px;
}

.hd-call {
  display: block;
}

.hd-call span {
  display: block;
}

#lp-body.chubu .heading-date {
  background-color: #9ec352;
}

.day-select_item {
  background-color: #595758;
  /*
  border-bottom: 1px solid #fff;*/
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.3);
  margin-bottom: 10px;
}

.day-select_item:last-child {
  border-bottom: none;
}

.day-select_item a {
  font-size: 40px;
  font-weight: 900;
  color: #fff;
  display: block;
  width: 100%;
}

.day-select_item span {
  font-size: 20px;
}

.chubu .day-select_item {
  background-color: #72a50b;
}

.kinki .day-select_item {
  background-color: #019ee1;
}

#lp-body.kinki .heading-date {
  background-color: #019ee1;
}

#lp-body.hokkaido .heading-date {
  background-color: #3f6cb1;
}

#lp-body.kanto .heading-date {
  background-color: #f372b2;
}

.kanto .day-select_item {
  background-color: #f0007f;
}