@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.font_gloock {
  font-family: "Gloock", serif;
  color: #fff; }

html {
  font-size: calc(1vw * 100 / 1440); }

@keyframes flash-inv {
  0% {
    opacity: 1; }
  10% {
    opacity: 0; }
  20% {
    opacity: 1; }
  30% {
    opacity: 0; }
  40% {
    opacity: 1; }
  50% {
    opacity: 0; }
  60% {
    opacity: 1; }
  70% {
    opacity: 0; }
  80% {
    opacity: 1; }
  90% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* PC */
@media screen and (min-width: 769px) {
  .sponly {
    display: none !important; }

  aside {
    width: 180rem;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, #7D16EC 0%, #8424C4 50%, #2E0659 100%);
    z-index: 10; }
    aside .side_nav {
      padding: 78rem 0 0; }
      aside .side_nav ul {
        text-align: center;
        margin-bottom: 24rem; }
        aside .side_nav ul li {
          font-size: 17rem;
          line-height: 1.18em;
          margin-bottom: 24rem; }
          aside .side_nav ul li a {
            display: inline-block;
            color: #fff; }
      aside .side_nav .x_btn {
        width: 97rem;
        margin: 0 auto; }
        aside .side_nav .x_btn a {
          display: block;
          width: 100%;
          line-height: 0; }

  article {
    width: 1260rem;
    margin-left: auto;
    background: #000; }

  #loading {
    position: fixed;
    inset: 0;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 1.5s ease; }
    #loading.fade-out {
      opacity: 0;
      pointer-events: none; }
    #loading #loading-count {
      font-size: 100rem;
      font-weight: bold;
      background: linear-gradient(to bottom, #7D16EC 0%, #8424C4 50%, #2E0659 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }

  .follow_bg {
    width: 1260rem;
    height: 975rem;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    /*&::after {
    	content: "";
    	position: absolute;
    	inset: 0;
    	background: linear-gradient( 170deg, rgba(126,25,229,0.45) 0%, rgba(94,19,171,0.5) 13%, rgba(0,0,0,0.8) 61%);
    	pointer-events: none;
    	z-index: 2;
    	
    }*/ }
    .follow_bg video {
      position: absolute;
      inset: 0;
      width: 100%;
      z-index: 1; }

  #mv {
    width: 100%;
    line-height: 0;
    position: relative;
    z-index: 2; }

  h2.sec_ttl {
    font-size: 75rem;
    line-height: 1.2em;
    text-align: center;
    position: relative;
    opacity: 0;
    transform: translateY(20rem);
    transition: .6s; }
    h2.sec_ttl::before {
      position: absolute;
      content: "";
      width: 2rem;
      height: 30rem;
      bottom: -45rem;
      left: 50%;
      transform: translateX(-50%);
      background: #fff; }
    h2.sec_ttl.-inview {
      opacity: 1;
      transform: translateY(0);
      animation: flash-inv 0.3s 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

  #concept {
    position: relative;
    z-index: 2;
    margin-top: -1rem; }
    #concept .inner {
      padding: 130rem 0 130rem;
      text-align: center;
      color: #fff;
      position: relative;
      z-index: 2; }
      #concept .inner h2 {
        margin-bottom: 70rem; }
      #concept .inner h3 {
        font-size: 34rem;
        line-height: 1;
        font-family: "Shippori Mincho", serif;
        font-weight: 800;
        margin-bottom: 35rem; }
      #concept .inner .concept_txt {
        font-size: 20rem;
        line-height: 2.59em;
        font-family: "Shippori Mincho", serif;
        font-weight: bold; }
        #concept .inner .concept_txt .rubi {
          display: inline-block;
          position: relative; }
        #concept .inner .concept_txt .small {
          display: inline-block;
          width: 100%;
          font-size: 11rem;
          letter-spacing: 0.2em;
          line-height: 1;
          position: absolute;
          left: 50%;
          top: 0;
          transform: translateX(-50%); }
    #concept .movie {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      #concept .movie::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background: rgba(0, 0, 0, 0.5); }
      #concept .movie video {
        width: 100%; }

  #overview {
    position: relative; }
    #overview .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0 0;
      position: relative;
      z-index: 2; }
      #overview .inner h2 {
        margin-bottom: 125rem; }
      #overview .inner table {
        width: 100%;
        color: #fff; }
        #overview .inner table tr th {
          width: 330rem;
          font-size: 20rem;
          line-height: 1.35em;
          font-weight: bold;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
        #overview .inner table tr td {
          width: 610rem;
          font-size: 18rem;
          line-height: 1.5em;
          font-weight: 500;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
          #overview .inner table tr td a {
            color: #fff;
            text-decoration: underline; }
        #overview .inner table tr:first-child th {
          padding-top: 0; }
        #overview .inner table tr:first-child td {
          padding-top: 0; }

  #access {
    position: relative; }
    #access .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0 20rem;
      position: relative;
      z-index: 2;
      color: #fff; }
      #access .inner h2 {
        margin-bottom: 105rem; }
      #access .inner .access_box {
        display: flex;
        justify-content: space-between;
        margin-bottom: 56rem; }
        #access .inner .access_box .access_box_img {
          width: 549rem; }
        #access .inner .access_box .access_box_right {
          width: 370rem; }
          #access .inner .access_box .access_box_right .access_box_map {
            width: 100%;
            padding-top: 371rem;
            position: relative;
            overflow: hidden; }
            #access .inner .access_box .access_box_right .access_box_map iframe {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0; }
      #access .inner table {
        width: 100%; }
        #access .inner table tr th {
          width: 330rem;
          font-size: 22rem;
          line-height: 1.36em;
          font-weight: bold;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
        #access .inner table tr td {
          width: 610rem;
          font-size: 18rem;
          line-height: 1.66em;
          font-weight: 500;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
          #access .inner table tr td span {
            display: inline;
            padding-left: 1em; }
        #access .inner table tr:first-child th {
          padding-top: 0; }
        #access .inner table tr:first-child td {
          padding-top: 0; }

  #ticket {
    position: relative; }
    #ticket .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0;
      position: relative;
      z-index: 2;
      color: #fff; }
      #ticket .inner h2 {
        margin-bottom: 105rem; }
      #ticket .inner .ticket_img {
        margin-bottom: 60rem; }
        #ticket .inner .ticket_img img:last-child {
          margin-top: 20rem; }
      #ticket .inner table {
        width: 100%;
        margin-bottom: 60rem; }
        #ticket .inner table tr th {
          width: 240rem;
          font-size: 20rem;
          line-height: 1.35em;
          font-weight: bold;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
        #ticket .inner table tr td {
          width: 700rem;
          font-size: 16rem;
          line-height: 1.6875em;
          font-weight: 500;
          padding: 27rem 0;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
          #ticket .inner table tr td span {
            display: inline-block;
            font-size: 12rem;
            line-height: 1.5em;
            margin-top: 10rem; }
          #ticket .inner table tr td a {
            color: #fff;
            text-decoration: underline; }
        #ticket .inner table tr:first-child th {
          border-top: solid 1rem #fff; }
        #ticket .inner table tr:first-child td {
          border-top: solid 1rem #fff; }
      #ticket .inner .ticket_btn {
        width: 680rem;
        margin: 60rem auto 0;
        display: flex;
        justify-content: space-between; }
        #ticket .inner .ticket_btn .btn {
          width: 300rem;
          line-height: 0; }
          #ticket .inner .ticket_btn .btn a {
            display: block;
            width: 100%;
            line-height: 0;
            transition: 0.3s; }
            #ticket .inner .ticket_btn .btn a:hover {
              filter: brightness(1.2); }

  #stage {
    position: relative; }
    #stage .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0;
      position: relative;
      z-index: 2; }
      #stage .inner h2 {
        margin-bottom: 105rem; }
      #stage .inner .stage_img img:last-child {
        margin-top: 60rem; }

  #schedule {
    position: relative; }
    #schedule .inner {
      width: 953rem;
      margin: 0 auto;
      padding: 80rem 0;
      position: relative;
      z-index: 2; }
      #schedule .inner h2 {
        margin-bottom: 105rem; }
      #schedule .inner .causion {
        font-size: 14rem;
        line-height: 1.5em;
        font-weight: 500;
        color: #fff;
        text-align: center;
        margin-bottom: 40rem; }
      #schedule .inner .schedule_img {
        width: 100%;
        line-height: 0; }

  #contents {
    position: relative; }
    #contents .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0;
      position: relative;
      z-index: 2; }
      #contents .inner h2 {
        margin-bottom: 105rem; }
      #contents .inner .contents_img {
        width: 100%;
        line-height: 0; }

  #goods {
    position: relative; }
    #goods .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0 95rem;
      color: #fff;
      position: relative;
      z-index: 2; }
      #goods .inner h2 {
        margin-bottom: 105rem; }
      #goods .inner .goods_img {
        width: 100%;
        line-height: 0;
        margin-bottom: 60rem; }
      #goods .inner .goods_btn {
        display: flex;
        justify-content: space-between;
        margin-bottom: 60rem; }
        #goods .inner .goods_btn .btn {
          width: 300rem; }
          #goods .inner .goods_btn .btn a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            #goods .inner .goods_btn .btn a:hover {
              filter: brightness(1.2); }
      #goods .inner .causion {
        font-size: 14rem;
        line-height: 1.5em;
        font-weight: 500; }

  #broadcast {
    position: relative; }
    #broadcast .inner {
      width: 770rem;
      margin: 0 auto;
      padding: 80rem 0 70rem;
      color: #fff;
      position: relative;
      z-index: 2; }
      #broadcast .inner h2 {
        margin-bottom: 105rem; }
      #broadcast .inner .broadcast_cont {
        width: 100%; }
        #broadcast .inner .broadcast_cont .broadcast_btn {
          padding-bottom: 44rem;
          border-bottom: solid 2rem #fff;
          display: flex;
          justify-content: space-between;
          margin-bottom: 45rem; }
          #broadcast .inner .broadcast_cont .broadcast_btn .btn {
            width: 380rem;
            line-height: 0; }
            #broadcast .inner .broadcast_cont .broadcast_btn .btn a {
              display: block;
              width: 100%;
              line-height: 0;
              transition: 0.3s; }
              #broadcast .inner .broadcast_cont .broadcast_btn .btn a:hover {
                opacity: 0.85; }
        #broadcast .inner .broadcast_cont .cs_txt {
          font-size: 24rem;
          line-height: 1.8em;
          font-weight: bold;
          text-align: center; }

  #sponsor {
    position: relative; }
    #sponsor .inner {
      width: 940rem;
      margin: 0 auto;
      padding: 80rem 0 130rem;
      position: relative;
      z-index: 2; }
      #sponsor .inner h2 {
        margin-bottom: 135rem; }
      #sponsor .inner .sponsor_cont {
        box-sizing: border-box;
        border: solid 1rem #fff;
        background: #000;
        padding: 164rem 0 130rem; }
        #sponsor .inner .sponsor_cont .sponsor_logo {
          margin: 0 auto; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(n+2) {
            margin-top: 55rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(1) {
            width: 291rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(2) {
            width: 291rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(3) {
            width: 244rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(4) {
            width: 291rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(5) {
            width: 245rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(6) {
            width: 150rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            #sponsor .inner .sponsor_cont .sponsor_logo a:hover {
              opacity: 0.8; }

  footer {
    background: #19173E;
    position: relative;
    z-index: 2; }
    footer .inner {
      padding: 45rem 0;
      color: #fff;
      text-align: center; }
      footer .inner .footer_logo {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 26rem; }
        footer .inner .footer_logo .logo01 {
          width: 181rem; }
        footer .inner .footer_logo .logo02 {
          width: 228rem;
          margin: 0 85rem; }
        footer .inner .footer_logo .logo03 {
          width: 151rem; }
      footer .inner .privacy {
        font-size: 12rem;
        line-height: 1.5em;
        font-weight: 500; }
        footer .inner .privacy a {
          color: #fff;
          text-decoration: underline; }
      footer .inner .copyright {
        font-size: 12rem;
        line-height: 1.5em;
        font-weight: 500; }

  #guide {
    background: url("../img/guide_bg.png") no-repeat;
    background-size: cover; }
    #guide .inner {
      padding: 80rem 0; }
      #guide .inner h2 {
        font-size: 4.166vw;
        line-height: 0.733em;
        text-align: center;
        margin-bottom: 2.08vw; }
      #guide .inner h3 {
        font-size: 26rem;
        line-height: 1;
        font-weight: 800;
        text-align: center;
        margin-bottom: 5.55vw; }
      #guide .inner .guide_cont {
        width: 940rem;
        margin: 0 auto;
        padding: 45rem 0;
        background: #fff; }
        #guide .inner .guide_cont dl {
          width: 870rem;
          margin: 0 auto;
          margin-bottom: 40rem; }
          #guide .inner .guide_cont dl dt {
            font-size: 16rem;
            line-height: 1.5em;
            font-weight: bold;
            box-sizing: border-box;
            padding-left: 16rem;
            border-left: solid 4rem #000;
            margin-bottom: 15rem; }
          #guide .inner .guide_cont dl dd {
            font-size: 16rem;
            line-height: 1.5em;
            font-weight: 500; }
            #guide .inner .guide_cont dl dd a {
              color: #000;
              text-decoration: underline; } }
/* SP */
@media screen and (max-width: 768px) {
  html {
    font-size: calc(1vw * 100 / 390); }

  .pconly {
    display: none !important; }

  header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #111111;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1;
    padding-bottom: 60rem;
    box-sizing: border-box; }
    nav.hum .inner {
      padding: 70rem 0 60rem; }
      nav.hum .inner .hum_btn {
        width: 300rem;
        margin: 0 auto 26rem; }
        nav.hum .inner .hum_btn a {
          display: block;
          width: 100%; }
      nav.hum .inner ul {
        width: 330rem;
        margin: 0 auto 36rem; }
        nav.hum .inner ul li {
          font-size: 23rem;
          line-height: 1.22em;
          color: #fff;
          text-align: center;
          border-bottom: solid 1rem #4D4D4D; }
          nav.hum .inner ul li:last-child {
            margin-bottom: 0; }
          nav.hum .inner ul li a {
            display: block;
            color: #fff;
            padding: 16rem 0; }
      nav.hum .inner .sns_btn {
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0.5;
        margin-bottom: 41rem; }
        nav.hum .inner .sns_btn a {
          display: block;
          margin: 0 17rem; }
          nav.hum .inner .sns_btn a:first-child {
            width: 56rem; }
          nav.hum .inner .sns_btn a:last-child {
            width: 61rem; }
      nav.hum .inner .hum_btm_logo {
        display: flex;
        justify-content: center;
        align-items: center; }
        nav.hum .inner .hum_btm_logo .logo01 {
          width: 98rem; }
        nav.hum .inner .hum_btm_logo .logo02 {
          width: 118rem;
          margin: 0 20rem; }
        nav.hum .inner .hum_btm_logo .logo03 {
          width: 66rem; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 46rem;
    height: 46rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23;
    background: #6537DA; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 11rem;
    width: 23rem;
    height: 2rem;
    border-radius: 100vw;
    background-color: #fff;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 16rem; }

  .toggle_btn span:nth-of-type(2) {
    top: 23rem; }

  .toggle_btn span:nth-of-type(3) {
    top: 30rem; }

  .open .toggle_btn span {
    background: #fff; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(7rem) rotate(-315deg);
    transform: translateY(7rem) rotate(-315deg); }

  .open .toggle_btn span:nth-of-type(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-of-type(3) {
    -webkit-transform: translateY(-7rem) rotate(315deg);
    transform: translateY(-7rem) rotate(315deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  article {
    width: 100%;
    background: #000; }

  #loading {
    position: fixed;
    inset: 0;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 1.5s ease; }
    #loading.fade-out {
      opacity: 0;
      pointer-events: none; }
    #loading #loading-count {
      font-size: 60rem;
      font-weight: bold;
      background: linear-gradient(to bottom, #7D16EC 0%, #8424C4 50%, #2E0659 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }

  .follow_bg {
    width: 100%;
    height: 50vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    /*&::after {
    	content: "";
    	position: absolute;
    	inset: 0;
    	background: linear-gradient( 170deg, rgba(126,25,229,0.45) 0%, rgba(94,19,171,0.5) 13%, rgba(0,0,0,0.8) 80%);
    	pointer-events: none;
    	z-index: 2;
    	
    }*/ }
    .follow_bg video {
      position: absolute;
      inset: 0;
      width: 100%;
      			/*height: 100%;
          		object-fit: cover;*/
      z-index: 1; }

  #mv {
    width: 100%;
    line-height: 0;
    position: relative;
    z-index: 2; }

  h2.sec_ttl {
    font-size: 32rem;
    line-height: 1.1875em;
    text-align: center;
    position: relative;
    opacity: 0;
    transform: translateY(20rem);
    transition: .6s; }
    h2.sec_ttl::before {
      position: absolute;
      content: "";
      width: 1rem;
      height: 20rem;
      bottom: -28rem;
      left: 50%;
      transform: translateX(-50%);
      background: #fff; }
    h2.sec_ttl.-inview {
      opacity: 1;
      transform: translateY(0);
      animation: flash-inv 0.3s 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

  #concept {
    position: relative;
    z-index: 2;
    margin-top: -1rem;
    background: #000; }
    #concept .inner {
      padding: 42rem 0 20rem;
      text-align: center;
      color: #fff;
      position: relative;
      z-index: 3; }
      #concept .inner h2 {
        margin-bottom: 60rem; }
      #concept .inner h3 {
        font-size: 23.45rem;
        line-height: 1;
        font-weight: 800;
        font-family: "Shippori Mincho", serif;
        margin-bottom: 15rem; }
      #concept .inner .concept_txt {
        font-size: 14rem;
        line-height: 2.2em;
        font-family: "Shippori Mincho", serif;
        font-weight: bold; }
        #concept .inner .concept_txt .rubi {
          display: inline-block;
          position: relative; }
        #concept .inner .concept_txt .small {
          display: inline-block;
          width: 100%;
          font-size: 9rem;
          letter-spacing: 0.2em;
          line-height: 1;
          position: absolute;
          left: 50%;
          top: -3rem;
          transform: translateX(-50%); }
    #concept .movie {
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0; }
      #concept .movie::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background: rgba(0, 0, 0, 0.5); }
      #concept .movie video {
        width: 100%;
        height: 100%; }

  #overview {
    position: relative; }
    #overview .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2; }
      #overview .inner h2 {
        margin-bottom: 68rem; }
      #overview .inner table {
        width: 100%;
        color: #fff; }
        #overview .inner table tr th {
          display: block;
          width: 100%;
          font-size: 16rem;
          line-height: 1.6875em;
          font-weight: bold;
          text-align: left;
          padding-top: 20rem; }
        #overview .inner table tr td {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1.5em;
          font-weight: 500;
          padding-bottom: 20rem;
          border-bottom: solid 1rem #fff; }
          #overview .inner table tr td a {
            color: #fff;
            text-decoration: underline; }
        #overview .inner table tr:first-child th {
          padding-top: 0; }
        #overview .inner table tr:first-child td {
          padding-top: 0; }

  #access {
    position: relative; }
    #access .inner {
      width: 326rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2;
      color: #fff; }
      #access .inner h2 {
        margin-bottom: 68rem; }
      #access .inner .access_box {
        margin-bottom: 20rem; }
        #access .inner .access_box .access_box_img {
          width: 100%; }
      #access .inner .access_box_map {
        width: 100%;
        padding-top: 327rem;
        position: relative;
        overflow: hidden; }
        #access .inner .access_box_map iframe {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0; }
      #access .inner table {
        width: 100%;
        margin-bottom: 20rem; }
        #access .inner table tr th {
          display: block;
          width: 100%;
          font-size: 16rem;
          line-height: 1.6875em;
          font-weight: bold;
          padding-top: 20rem;
          text-align: left; }
        #access .inner table tr td {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1.5em;
          font-weight: 500;
          padding-bottom: 20rem;
          text-align: left;
          border-bottom: solid 1rem #fff;
          vertical-align: middle; }
          #access .inner table tr td span {
            display: inline;
            padding-left: 1em; }
        #access .inner table tr:first-child th {
          padding-top: 0; }

  #ticket {
    position: relative; }
    #ticket .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2;
      color: #fff; }
      #ticket .inner h2 {
        margin-bottom: 68rem; }
      #ticket .inner .ticket_img {
        margin-bottom: 20rem; }
        #ticket .inner .ticket_img img:last-child {
          margin-top: 20rem; }
      #ticket .inner table {
        width: 100%;
        margin-bottom: 20rem; }
        #ticket .inner table tr th {
          display: block;
          width: 100%;
          font-size: 16rem;
          line-height: 1.6875em;
          font-weight: bold;
          padding-top: 20rem;
          text-align: left; }
        #ticket .inner table tr td {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1.928em;
          font-weight: 500;
          padding: 10rem 0 20rem;
          border-bottom: solid 1rem #fff; }
          #ticket .inner table tr td span {
            display: inline-block;
            font-size: 12rem;
            line-height: 1.5em;
            margin-top: 10rem; }
          #ticket .inner table tr td a {
            color: #fff;
            text-decoration: underline; }
        #ticket .inner table tr:first-child th {
          border-top: solid 1rem #fff; }
      #ticket .inner .ticket_btn {
        width: 300rem;
        margin: 20rem auto 0; }
        #ticket .inner .ticket_btn .btn {
          width: 300rem;
          line-height: 0; }
          #ticket .inner .ticket_btn .btn:last-child {
            margin-top: 30rem; }
          #ticket .inner .ticket_btn .btn a {
            display: block;
            width: 100%;
            line-height: 0;
            transition: 0.3s; }
            #ticket .inner .ticket_btn .btn a:hover {
              filter: brightness(1.2); }

  #stage {
    position: relative; }
    #stage .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2; }
      #stage .inner h2 {
        margin-bottom: 50rem; }
      #stage .inner .stage_img img:last-child {
        margin-top: 20rem; }

  #schedule {
    position: relative; }
    #schedule .inner {
      width: 345rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2; }
      #schedule .inner h2 {
        margin-bottom: 40rem; }
      #schedule .inner .causion {
        font-size: 12rem;
        line-height: 1.5em;
        font-weight: 500;
        color: #fff;
        text-align: center;
        margin-bottom: 30rem; }
      #schedule .inner .schedule_img {
        width: 100%;
        line-height: 0; }

  #contents {
    position: relative; }
    #contents .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      position: relative;
      z-index: 2; }
      #contents .inner h2 {
        margin-bottom: 50rem; }
      #contents .inner .contents_img {
        width: 100%;
        line-height: 0; }

  #goods {
    position: relative; }
    #goods .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      color: #fff;
      position: relative;
      z-index: 2; }
      #goods .inner h2 {
        margin-bottom: 50rem; }
      #goods .inner .goods_img {
        width: 100%;
        line-height: 0;
        margin-bottom: 50rem; }
      #goods .inner .goods_btn {
        width: 300rem;
        margin: 0 auto 50rem; }
        #goods .inner .goods_btn .btn {
          width: 100%; }
          #goods .inner .goods_btn .btn:nth-child(n+2) {
            margin-top: 20rem; }
          #goods .inner .goods_btn .btn a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            #goods .inner .goods_btn .btn a:hover {
              filter: brightness(1.2); }
      #goods .inner .causion {
        font-size: 14rem;
        line-height: 1.5em;
        font-weight: 500; }

  #broadcast {
    position: relative; }
    #broadcast .inner {
      width: 385rem;
      margin: 0 auto;
      padding: 70rem 0 0;
      color: #fff;
      position: relative;
      z-index: 2; }
      #broadcast .inner h2 {
        margin-bottom: 70rem; }
      #broadcast .inner .broadcast_cont {
        width: 100%; }
        #broadcast .inner .broadcast_cont .broadcast_btn {
          width: 300rem;
          margin: 0 auto 25rem;
          padding-bottom: 38rem;
          border-bottom: solid 1rem #fff; }
          #broadcast .inner .broadcast_cont .broadcast_btn .btn {
            width: 300rem;
            line-height: 0; }
            #broadcast .inner .broadcast_cont .broadcast_btn .btn:last-child {
              margin-top: 39rem; }
            #broadcast .inner .broadcast_cont .broadcast_btn .btn a {
              display: block;
              width: 100%;
              line-height: 0;
              transition: 0.3s; }
              #broadcast .inner .broadcast_cont .broadcast_btn .btn a:hover {
                opacity: 0.85; }
        #broadcast .inner .broadcast_cont .cs_txt {
          font-size: 15rem;
          line-height: 1.8em;
          font-weight: bold;
          text-align: center; }

  #sponsor {
    position: relative; }
    #sponsor .inner {
      width: 284rem;
      margin: 0 auto;
      padding: 70rem 0;
      position: relative;
      z-index: 2; }
      #sponsor .inner h2 {
        margin-bottom: 70rem; }
      #sponsor .inner .sponsor_cont {
        box-sizing: border-box;
        border: solid 1rem #fff;
        background: #000;
        padding: 60rem 0; }
        #sponsor .inner .sponsor_cont .sponsor_logo {
          margin: 0 auto; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(n+2) {
            margin-top: 38rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(1) {
            width: 204rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(2) {
            width: 204rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(3) {
            width: 172rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(4) {
            width: 204rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(5) {
            width: 172rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo:nth-child(6) {
            width: 106rem; }
          #sponsor .inner .sponsor_cont .sponsor_logo a {
            display: block;
            width: 100%; }

  footer {
    background: #19173E;
    position: relative;
    z-index: 2; }
    footer .inner {
      padding: 30rem 0 15rem;
      color: #fff;
      text-align: center; }
      footer .inner .footer_logo {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 25rem; }
        footer .inner .footer_logo .logo01 {
          width: 98rem; }
        footer .inner .footer_logo .logo02 {
          width: 118rem;
          margin: 0 20rem; }
        footer .inner .footer_logo .logo03 {
          width: 66rem; }
        footer .inner .footer_logo a {
          display: block;
          width: 100%; }
      footer .inner .privacy {
        font-size: 9.36rem;
        line-height: 1.5em;
        font-weight: 500; }
        footer .inner .privacy a {
          color: #fff;
          text-decoration: underline; }
      footer .inner .copyright {
        font-size: 12rem;
        line-height: 1.5em;
        font-weight: 500; }

  #guide .inner {
    padding: 70rem 0 80rem; }
    #guide .inner h2 {
      font-size: 4.166vw;
      line-height: 0.733em;
      text-align: center;
      margin-bottom: 2.08vw; }
    #guide .inner h3 {
      font-size: 26rem;
      line-height: 1;
      font-weight: 800;
      text-align: center;
      margin-bottom: 30rem; }
    #guide .inner .guide_cont {
      width: 330rem;
      margin: 0 auto;
      padding: 40rem 0;
      background: #fff; }
      #guide .inner .guide_cont dl {
        width: 285rem;
        margin: 0 auto;
        margin-bottom: 35rem; }
        #guide .inner .guide_cont dl dt {
          font-size: 16rem;
          line-height: 1.5em;
          font-weight: bold;
          box-sizing: border-box;
          padding-left: 14rem;
          border-left: solid 4rem #000;
          margin-bottom: 15rem; }
        #guide .inner .guide_cont dl dd {
          font-size: 14rem;
          line-height: 1.5em;
          font-weight: 500; }
          #guide .inner .guide_cont dl dd a {
            color: #000;
            text-decoration: underline; } }

/*# sourceMappingURL=style.css.map */
