@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

@media (min-width: 1431px) {
    body {
        font-family: 'Noto Sans JP', 'Arial', sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.6;
        background-color: #000;
        color: #333;
    }

    .wrapper {
        max-width: 1920px;
        margin: 0 auto;
    }
    
    section {
        padding: 40px 0;
    }
    
    section h2 {
        color: #4432ff;
    }

    #top {
        height: auto;
        background-image: url("../img/top_bg.jpg");
        background-size: 100%, 100%;
        background-repeat: no-repeat, no-repeat;
        background-position: left top, right top;
    }

    .top_message {
        padding-top: 60%;
        margin: 0 80px;
    }

    .top_message p {
        color: #fff;
        text-align: center;
        font-size: 24px;
    }

    .top_message_2 {
        font-style: italic;
      }

    .top_message-img {
        margin: 80px 0;
    }

    .top_message-img img {
        display: block;
        width: 50%;
        margin: 0 auto;
    }
    
    #entry1, #entry2, #entry3 {
        position: relative;
        width: 100%;
        background-color: #4432ff;
        background-image: url(../img/entry_bg.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        top: 100%;
        left: 0;
    }
    #entry1::before, #entry2::before, #entry3::before {
        content: '';
        background-image: url(../img/entry_ttl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 66px;
        position: absolute;
        top: -33px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); 
        display: block;
    }

    .entry_p {
        color: #fff;
        font-size: 28px;
        font-weight: bold;
        text-align: center;
        margin: 36px auto;
    }

    .entry_a a {
        width: 480px;
        display: block;
        margin: 24px auto;
        background-color: #fff;
        padding: 24px 0;
        font-size: 28px;
        font-weight: bold;
        text-decoration: none;
        color: #050039;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 3px 10px #050039;
    }
    .entry_a a:hover {
        background-color: #050039;
        color: #fff;
    }

    #rules {
        margin: 40px auto;
    }

    #rules h2, #schedule h2, #qa h2 {
        position: relative;
        background-color: #4432ff;
        width: auto;
        height: 66px;
        margin-right: 160px;
        padding-left: 160px;
        z-index: 2;
        top: 72px;
    }

    #rules h2 img, #schedule h2 img, #qa h2 img {
        height: 66px;
    }

    #rules div, #schedule div {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 80px;
    }

    #rules ul, #schedule ul {
        margin: 40px 80px 0;
    }

    #rules ul li, #schedule ul li {
        color: #050039;
        font-size: 24px;
        margin-bottom: 20px;
        line-height: 1.2;
    }

    #rules div span {
        font-size: 18px;
    }
    .rules_div, .schedule_div {
        position: absolute;
        padding-top: 60px;
        z-index: 1;
    }

    #schedule div.schedule_div-2 {
        background-color: #000;
        margin: 0;
        padding: 0;
    }

    #rules div p, #schedule div p {
        margin: 60px 80px;
    }

    #schedule div.schedule_div-2 p {
        margin: 0 0 60px;
    }

    #rules div img, #schedule div img {
        width: 100%;
        display: block;
    }

    #ticket div {
        position: relative;
        background-color: #000;
        padding: 40px 0;
        margin: 40px 160px;
        border: 2px solid #4432ff;
    }

    #ticket h2 {
        display: block;
        margin-top: 40px;
    }

    #ticket h2 img {
        display: block;
        height: 66px;
        margin: 0 auto;
    }

    #ticket ul {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        margin: 80px 80px 40px;
    }

    #ticket ul li {
        width: 48%;
    }

    #ticket ul li img {
        width: 100%;
    }

    #access {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 0 160px;
    }

    #access div {
        padding: 0;
        margin: 40px 160px;
    }

    #access div h2 {
        font-size: 80px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto;
    }

    #access div p {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
    }

    #access div span {
        display: inline-block;
        text-align: center;
        font-size: 20px;
        font-weight: normal;
    }

    .map {
        display: block;
    }

    .map iframe {
        width: 100%;
        display: block;
        margin: 0 auto;
    }

    #qa {
        margin: 40px auto 160px;
    }

    #qa div {
        position: relative;
        background-color: #fff;
        padding: 10px 0;
        margin: 40px 80px;
    }

    #qa div:first-of-type {
        padding: 30px 0 20px;
        margin: 60px 80px 20px;
    }

    .qa_dl {
        z-index: 1;
        margin: 40px 80px;
        color: #050039;
        font-size: 24px;
    }

    .qa_q::before,
    .qa_a::before {
      margin-right: .4em;
    }

    .qa_q::before {
      content: 'Q.';
    }

    .qa_q {
      margin-bottom: 1em;
      color: #4432ff;
      font-weight: 600;
    }

    .qa_a {
      padding: 1em 1em;
      background-color: #f2f2f2;
      color: #050039;
      margin-left: 0;
    }

    .qa_a::before {
      content: 'A.';
    }
    
    footer {
        background: #050039;
        color: #fff;
        text-align: center;
        padding: 20px;
    }

    footer img {
        width: 125px;
        margin-top: 20px;;
    }
}

@media (min-width: 1281px) and (max-width: 1430px) {
    body {
        font-family: 'Noto Sans JP', 'Arial', sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.6;
        background-color: #000;
        color: #333;
      }
    
      .wrapper {
        max-width: 1920px;
        margin: 0 auto;
      }
      
      section {
        padding: 40px 0;
      }
      
      section h2 {
        color: #4432ff;
      }
    
      #top {
        height: auto;
        background-image: url("../img/top_bg.jpg");
        background-size: 100%, 100%;
        background-repeat: no-repeat, no-repeat;
        background-position: left top, right top;
      }
    
      .top_message {
        padding-top: 60%;
        margin: 0 80px;
      }
    
      .top_message p {
        color: #fff;
        text-align: center;
        font-size: 20px;
      }

      .top_message_2 {
        font-style: italic;
      }
    
      .top_message-img {
        margin: 80px 0;
      }
    
      .top_message-img img {
        display: block;
        width: 50%;
        margin: 0 auto;
      }
      
      #entry1, #entry2, #entry3 {
        position: relative;
        width: 100%;
        background-color: #4432ff;
        background-image: url(../img/entry_bg.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        top: 100%;
        left: 0;
      }
      #entry1::before, #entry2::before, #entry3::before {
        content: '';
        background-image: url(../img/entry_ttl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 66px;
        position: absolute;
        top: -33px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); 
        display: block;
      }
    
      .entry_p {
        color: #fff;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        margin: 36px auto;
      }
    
      .entry_a a {
        width: 480px;
        display: block;
        margin: 24px auto;
        background-color: #fff;
        padding: 24px 0;
        font-size: 28px;
        font-weight: bold;
        text-decoration: none;
        color: #050039;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 3px 10px #050039;
      }
      .entry_a a:hover {
        background-color: #050039;
        color: #fff;
      }
    
      #rules {
        margin: 40px auto 0;
      }
    
      #rules h2, #schedule h2, #qa h2 {
        position: relative;
        background-color: #4432ff;
        width: auto;
        height: 66px;
        margin-right: 120px;
        padding-left: 80px;
        z-index: 2;
        top: 72px;
      }
    
      #rules h2 img, #schedule h2 img, #qa h2 img {
        height: 66px;
      }
    
      #rules div, #schedule div {
        position: relative;
        background-color: #fff;
        padding: 20px 0;
        margin: 40px;
      }
    
      #rules ul, #schedule ul {
        margin: 40px 40px 0;
      }
    
      #rules ul li, #schedule ul li {
        color: #050039;
        font-size: 24px;
        margin-bottom: 20px;
        line-height: 1.2;
      }
    
      #rules div span {
        font-size: 18px;
      }
    
      .rules_div, .schedule_div {
        position: absolute;
        padding-top: 60px;
        z-index: 1;
      }
    
      #schedule div.schedule_div-2 {
        background-color: #000;
        margin: 0;
        padding: 0;
      }
    
      #rules div p, #schedule div p {
        margin: 60px 40px;
      }
    
      #schedule div.schedule_div-2 p {
        margin: 0 0 60px;
      }
    
      #rules div img, #schedule div img {
        width: 100%;
        display: block;
      }
    
      #ticket div {
        position: relative;
        background-color: #000;
        padding: 40px 0;
        margin: 40px;
        border: 2px solid #4432ff;
      }
    
      #ticket h2 {
        display: block;
        margin-top: 40px;
      }
    
      #ticket h2 img {
        display: block;
        height: 66px;
        margin: 0 auto;
      }
    
      #ticket ul {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        margin: 80px 40px 40px;
      }
    
      #ticket ul li {
        width: 48%;
      }
    
      #ticket ul li img {
        width: 100%;
      }
    
      #access {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 0 160px;
      }
    
      #access div {
        padding: 0;
        margin: 40px;
      }
    
      #access div h2 {
        font-size: 80px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto;
      }
    
      #access div p {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
      }
    
      #access div span {
        display: inline-block;
        text-align: center;
        font-size: 20px;
        font-weight: normal;
      }
    
      .map {
        display: block;
      }
    
      .map iframe {
        width: 100%;
        display: block;
        margin: 0 auto;
      }

      #qa {
        margin: 40px auto 160px;
      }

      #qa div {
          position: relative;
          background-color: #fff;
          padding: 10px 0;
          margin: 40px 80px;
      }

      #qa div:first-of-type {
          padding: 30px 0 20px;
          margin: 60px 80px 20px;
      }

      .qa_dl {
          z-index: 1;
          margin: 40px 80px;
          color: #050039;
          font-size: 24px;
      }

      .qa_q::before,
      .qa_a::before {
        margin-right: .4em;
      }

      .qa_q::before {
        content: 'Q.';
      }

      .qa_q {
        margin-bottom: 1em;
        color: #4432ff;
        font-weight: 600;
      }

      .qa_a {
        padding: 1em 1em;
        background-color: #f2f2f2;
        color: #050039;
        margin-left: 0;
      }

      .qa_a::before {
        content: 'A.';
      }
      
      footer {
        background: #050039;
        color: #fff;
        text-align: center;
        padding: 20px;
      }

      footer img {
        width: 125px;
        margin-top: 20px;;
    }
}

@media (min-width: 961px) and (max-width: 1280px) {
    body {
        font-family: 'Noto Sans JP', 'Arial', sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.6;
        background-color: #000;
        color: #333;
      }
    
      .wrapper {
        max-width: 1920px;
        margin: 0 auto;
      }
      
      section {
        padding: 20px 0;
      }
      
      section h2 {
        color: #4432ff;
      }
    
      #top {
        height: auto;
        background-image: url("../img/top_bg.jpg");
        background-size: 100%, 100%;
        background-repeat: no-repeat, no-repeat;
        background-position: left top, right top;
      }
    
      .top_message {
        padding-top: 60%;
        margin: 0 80px;
      }
    
      .top_message p {
        color: #fff;
        text-align: center;
        font-size: 20px;
      }

      .top_message_2 {
        font-style: italic;
      }
    
      .top_message-img {
        margin: 80px 0;
      }
    
      .top_message-img img {
        display: block;
        width: 50%;
        margin: 0 auto;
      }
      
      #entry1, #entry2, #entry3 {
        position: relative;
        width: 100%;
        background-color: #4432ff;
        background-image: url(../img/entry_bg.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        top: 100%;
        left: 0;
      }
      #entry1::before, #entry2::before, #entry3::before {
        content: '';
        background-image: url(../img/entry_ttl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 66px;
        position: absolute;
        top: -33px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); 
        display: block;
      }
    
      .entry_p {
        color: #fff;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        margin: 36px auto;
      }
    
      .entry_a a {
        width: 480px;
        display: block;
        margin: 24px auto;
        background-color: #fff;
        padding: 24px 0;
        font-size: 28px;
        font-weight: bold;
        text-decoration: none;
        color: #050039;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 3px 10px #050039;
      }
      .entry_a a:hover {
        background-color: #050039;
        color: #fff;
      }
    
      #rules {
        margin: 40px auto 0;
      }
    
      #rules h2, #schedule h2, #qa h2 {
        position: relative;
        background-color: #4432ff;
        width: auto;
        height: 44px;
        margin-right: 120px;
        padding-left: 80px;
        z-index: 2;
        top: 60px;
      }
    
      #rules h2 img, #schedule h2 img, #qa h2 img {
        height: 44px;
      }
    
      #rules div, #schedule div {
        position: relative;
        background-color: #fff;
        padding: 20px 0;
        margin: 40px;
      }
    
      #rules ul, #schedule ul {
        margin: 40px 40px 0;
      }
    
      #rules ul li, #schedule ul li {
        color: #050039;
        font-size: 20px;
        margin-bottom: 20px;
        line-height: 1.2;
      }
    
      #rules div span {
        font-size: 18px;
      }
    
      .rules_div, .schedule_div {
        position: absolute;
        padding-top: 60px;
        z-index: 1;
      }
    
      #schedule div.schedule_div-2 {
        background-color: #000;
        margin: 0;
        padding: 0;
      }
    
      #rules div p, #schedule div p {
        margin: 60px 40px;
      }
    
      #schedule div.schedule_div-2 p {
        margin: 0 0 60px;
      }
    
      #rules div img, #schedule div img {
        width: 100%;
        display: block;
      }
    
      #ticket div {
        position: relative;
        background-color: #000;
        padding: 40px 0;
        margin: 40px;
        border: 2px solid #4432ff;
      }
    
      #ticket h2 {
        display: block;
        margin-top: 40px;
      }
    
      #ticket h2 img {
        display: block;
        height: 66px;
        margin: 0 auto;
      }
    
      #ticket ul {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        margin: 80px 40px 40px;
      }
    
      #ticket ul li {
        width: 48%;
      }
    
      #ticket ul li img {
        width: 100%;
      }
    
      #access {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 0 160px;
      }
    
      #access div {
        padding: 0;
        margin: 40px;
      }
    
      #access div h2 {
        font-size: 60px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto;
      }
    
      #access div p {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
      }
    
      #access div span {
        display: inline-block;
        text-align: center;
        font-size: 20px;
        font-weight: normal;
      }
    
      .map {
        display: block;
      }
    
      .map iframe {
        width: 100%;
        display: block;
        margin: 0 auto;
      }

      #qa {
        margin: 40px auto 160px;
      }

      #qa div {
          position: relative;
          background-color: #fff;
          padding: 10px 0;
          margin: 40px 80px;
      }

      #qa div:first-of-type {
          padding: 30px 0 20px;
          margin: 40px 80px 20px;
      }

      .qa_dl {
          z-index: 1;
          margin: 40px 80px;
          color: #050039;
          font-size: 24px;
      }

      .qa_q::before,
      .qa_a::before {
        margin-right: .4em;
      }

      .qa_q::before {
        content: 'Q.';
      }

      .qa_q {
        margin-bottom: 1em;
        color: #4432ff;
        font-weight: 600;
      }

      .qa_a {
        padding: 1em 1em;
        background-color: #f2f2f2;
        color: #050039;
        margin-left: 0;
      }

      .qa_a::before {
        content: 'A.';
      }
      
      footer {
        background: #050039;
        color: #fff;
        text-align: center;
        padding: 20px;
      }

      footer img {
        width: 125px;
        margin-top: 20px;;
    }
}

@media (min-width: 721px) and (max-width: 960px) {
    body {
        font-family: 'Noto Sans JP', 'Arial', sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.6;
        background-color: #000;
        color: #333;
      }
    
      .wrapper {
        max-width: 1920px;
        margin: 0 auto;
      }
      
      section {
        padding: 20px 0;
      }
      
      section h2 {
        color: #4432ff;
      }
    
      #top {
        height: auto;
        background-image: url("../img/top_bg.jpg");
        background-size: 100%, 100%;
        background-repeat: no-repeat, no-repeat;
        background-position: left top, right top;
      }
    
      .top_message {
        padding-top: 60%;
        margin: 0 80px;
      }
    
      .top_message p {
        color: #fff;
        text-align: center;
        font-size: 16px;
      }

      .top_message_2 {
        font-style: italic;
      }
    
      .top_message-img {
        margin: 80px 0;
      }
    
      .top_message-img img {
        display: block;
        width: 50%;
        margin: 0 auto;
      }
      
      #entry1, #entry2, #entry3 {
        position: relative;
        width: 100%;
        background-color: #4432ff;
        background-image: url(../img/entry_bg.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        top: 100%;
        left: 0;
      }
      #entry1::before, #entry2::before, #entry3::before {
        content: '';
        background-image: url(../img/entry_ttl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 44px;
        position: absolute;
        top: -17px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); 
        display: block;
      }
    
      .entry_p {
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        margin: 36px auto;
      }
    
      .entry_a a {
        width: 480px;
        display: block;
        margin: 24px auto;
        background-color: #fff;
        padding: 20px 0;
        font-size: 20px;
        font-weight: bold;
        text-decoration: none;
        color: #050039;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 3px 10px #050039;
      }
      .entry_a a:hover {
        background-color: #050039;
        color: #fff;
      }
    
      #rules {
        margin: 40px auto 0;
      }
    
      #rules h2, #schedule h2, #qa h2 {
        position: relative;
        background-color: #4432ff;
        width: auto;
        height: 33px;
        margin-right: 80px;
        padding-left: 80px;
        z-index: 2;
        top: 54px;
      }
    
      #rules h2 img, #schedule h2 img, #qa h2 img {
        height: 33px;
      }
    
      #rules div, #schedule div {
        position: relative;
        background-color: #fff;
        padding: 20px 0;
        margin: 40px;
      }
    
      #rules ul, #schedule ul {
        margin: 40px 40px 0;
        padding: 0 0 0 20px;
      }
    
      #rules ul li, #schedule ul li {
        color: #050039;
        font-size: 16px;
        margin-bottom: 20px;
        line-height: 1.2;
      }
    
      #rules div span {
        font-size: 18px;
      }
    
      .rules_div, .schedule_div {
        position: absolute;
        padding-top: 60px;
        z-index: 1;
      }
    
      #schedule div.schedule_div-2 {
        background-color: #000;
        margin: 0;
        padding: 0;
      }
    
      #rules div p, #schedule div p {
        margin: 60px 40px;
      }
    
      #schedule div.schedule_div-2 p {
        margin: 0 0 60px;
      }
    
      #rules div img, #schedule div img {
        width: 100%;
        display: block;
      }
    
      #ticket div {
        position: relative;
        background-color: #000;
        padding: 40px 0;
        margin: 40px;
        border: 2px solid #4432ff;
      }
    
      #ticket h2 {
        display: block;
        margin-top: 40px;
      }
    
      #ticket h2 img {
        display: block;
        height: 44px;
        margin: 0 auto;
      }
    
      #ticket ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        margin: 40px 0 0;
      }
    
      #ticket ul li {
        width: 75%;
        margin: 20px 0;
      }
    
      #ticket ul li img {
        width: 100%;
      }
    
      #access {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 0 160px;
      }
    
      #access div {
        padding: 0;
        margin: 40px;
      }
    
      #access div h2 {
        font-size: 60px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto;
      }
    
      #access div p {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
      }
    
      #access div span {
        display: inline-block;
        text-align: center;
        font-size: 20px;
        font-weight: normal;
      }
    
      .map {
        display: block;
      }
    
      .map iframe {
        width: 100%;
        display: block;
        margin: 0 auto;
      }

      #qa {
        margin: 40px auto 160px;
      }

      #qa div {
          position: relative;
          background-color: #fff;
          padding: 10px 0;
          margin: 40px;
      }

      #qa div:first-of-type {
          padding: 30px 0 20px;
          margin: 40px 40px 20px;
      }

      .qa_dl {
          z-index: 1;
          margin: 40px;
          color: #050039;
          font-size: 24px;
      }

      .qa_q::before,
      .qa_a::before {
        margin-right: .4em;
      }

      .qa_q::before {
        content: 'Q.';
      }

      .qa_q {
        margin-bottom: 1em;
        color: #4432ff;
        font-weight: 600;
      }

      .qa_a {
        padding: 1em 1em;
        background-color: #f2f2f2;
        color: #050039;
        margin-left: 0;
      }

      .qa_a::before {
        content: 'A.';
      }
      
      footer {
        background: #050039;
        color: #fff;
        text-align: center;
        padding: 20px;
      }

      footer img {
        width: 125px;
        margin-top: 20px;;
    }
}

@media (max-width: 720px) {
    body {
        font-family: 'Noto Sans JP', 'Arial', sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.6;
        background-color: #000;
        color: #333;
      }
    
      .wrapper {
        max-width: 1920px;
        margin: 0 auto;
      }
      
      section {
        padding: 12px 0;
      }
      
      section h2 {
        color: #4432ff;
      }
    
      #top {
        height: auto;
        background-image: url("../img/top_bg.jpg");
        background-size: 100%, 100%;
        background-repeat: no-repeat, no-repeat;
        background-position: left top, right top;
      }
    
      .top_message {
        padding-top: 60%;
        margin: 0 32px;
      }
    
      .top_message p {
        color: #fff;
        text-align: center;
        font-size: 13px;
      }

      .top_message p span {
        display: block;
      }

      .top_message_2 {
        font-style: italic;
      }
    
      .top_message-img {
        margin: 80px 0;
      }
    
      .top_message-img img {
        display: block;
        width: 75%;
        margin: 0 auto;
      }
      
      #entry1, #entry2, #entry3 {
        position: relative;
        width: 100%;
        background-color: #4432ff;
        background-image: url(../img/entry_bg.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        top: 100%;
        left: 0;
      }
      #entry1::before, #entry2::before, #entry3::before {
        content: '';
        background-image: url(../img/entry_ttl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 33px;
        position: absolute;
        top: -16px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); 
        display: block;
      }
    
      .entry_p {
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        margin: 36px 20px;
      }
      .entry_p span {
        display: block;
      }
    
      .entry_a a {
        /* width: 480px; */
        display: block;
        margin: 24px 20px;
        background-color: #fff;
        padding: 20px 0;
        font-size: 20px;
        font-weight: bold;
        text-decoration: none;
        color: #050039;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 3px 10px #050039;
      }
      .entry_a a:hover {
        background-color: #050039;
        color: #fff;
      }
    
      #rules {
        margin: 40px auto 0;
      }
    
      #rules h2, #schedule h2, #qa h2 {
        position: relative;
        background-color: #4432ff;
        width: auto;
        height: 22px;
        margin-right: 20px;
        padding-left: 20px;
        z-index: 2;
        top: 30px;
      }
    
      #rules h2 img, #schedule h2 img, #qa h2 img {
        height: 22px;
        margin-bottom: 10px;
      }
    
      #rules div, #schedule div {
        position: relative;
        background-color: #fff;
        padding: 20px 0;
        margin: 20px 20px;
      }
    
      #rules ul, #schedule ul {
        margin: 20px 20px 0;
        padding: 0 0 0 20px;
      }
    
      #rules ul li, #schedule ul li {
        color: #050039;
        font-size: 16px;
        margin-bottom: 20px;
        line-height: 1.2;
      }
    
      #rules div span {
        font-size: 12px;
      }
    
      .rules_div, .schedule_div {
        position: absolute;
        padding-top: 60px;
        z-index: 1;
      }
    
      #schedule div.schedule_div-2 {
        background-color: #000;
        margin: 0;
        padding: 0;
      }
    
      #rules div p, #schedule div p {
        margin: 40px 20px;
      }
    
      #schedule div.schedule_div-2 p {
        margin: 0 0 60px;
      }
    
      #rules div img, #schedule div img {
        width: 100%;
        display: block;
      }
    
      #ticket div {
        position: relative;
        background-color: #000;
        padding: 40px 0;
        margin: 40px 20px;
        border: 2px solid #4432ff;
      }
    
      #ticket h2 {
        display: block;
        margin-top: 40px;
      }
    
      #ticket h2 img {
        display: block;
        height: 33px;
        margin: 0 auto;
      }
    
      #ticket ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        margin: 40px 0 0;
      }
    
      #ticket ul li {
        width: 86%;
        margin: 20px 0;
      }
    
      #ticket ul li img {
        width: 100%;
      }
    
      #access {
        position: relative;
        background-color: #fff;
        padding: 40px 0;
        margin: 40px 0 160px;
      }
    
      #access div {
        padding: 0;
        margin: 20px 20px;
      }
    
      #access div h2 {
        font-size: 36px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto;
      }
    
      #access div p {
        text-align: center;
        font-size: 20px;
        font-weight: bold;
      }
    
      #access div span {
        display: inline-block;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
      }
    
      .map {
        display: block;
      }
    
      .map iframe {
        width: 100%;
        display: block;
        margin: 0 auto;
      }

      #qa {
        margin: 40px auto 160px;
      }

      #qa div {
          position: relative;
          background-color: #fff;
          padding: 10px 0;
          margin: 40px 20px;
      }

      #qa div:first-of-type {
          padding: 30px 0 20px;
          margin: 20px;
      }

      .qa_dl {
          z-index: 1;
          margin: 40px;
          color: #050039;
          font-size: 24px;
      }

      .qa_q::before,
      .qa_a::before {
        margin-right: .4em;
      }

      .qa_q::before {
        content: 'Q.';
      }

      .qa_q {
        margin-bottom: 1em;
        color: #4432ff;
        font-weight: 600;
      }

      .qa_a {
        padding: 1em 1em;
        background-color: #f2f2f2;
        color: #050039;
        margin-left: 0;
      }

      .qa_a::before {
        content: 'A.';
      }
      
      footer {
        background: #050039;
        color: #fff;
        text-align: center;
        padding: 20px;
      }

      footer img {
        width: 125px;
        margin-top: 20px;;
    }
}