@charset "UTF-8";
/* CSS Document */
/***********************************************
***  Common
***********************************************/
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after {
  content: "";
  content: none;
}
q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  padding: 0;
}
button:hover {
  cursor: pointer;
}
button:focus, button:active {
  background: transparent;
  outline: none;
  box-shadow: none;
}
html {
  box-sizing: border-box;
  font-size: 62.5%;
  height: 100%;
  min-height: 100%;
}
*, *:before, *:after {
  box-sizing: inherit;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
body {
  background-color: #fff;
  width: 100%;
  color: #fff;
  font-family: Ryumin Regular KL, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
  line-height: 1;
  font-weight: 500;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
}
.cf {
  *zoom: 1;
}
br.sp {
  display: none;
}
br.pc {
  display: none;
}
#pageTop {
  position: fixed;
  bottom: 30px;
  right: 10px;
  z-index: 100;
  -webkit-transition: bottom 1s, -webkit-transform 1s;
  transition: bottom 1s, transform 1s;
}
#pageTop a {
  display: block;
  z-index: 999;
  width: 60px;
  height: 60px;
}
.inner {
  max-width: 1000px;
  margin: 0 auto;
}
.ib{
    display:inline-block;
}
.heading-default {
  width: 740px;
  display: block;
  margin: 0 auto 10px;
  padding: 50px 50px 40px;
  background: url(../img/common/haeding-default-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
  position: relative;
}
.heading-default:before {
  position: absolute;
  content: "";
  width: 160px;
  height: 130px;
  top: -80px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../img/event/about-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.text-strong {
  color: #4d4d4d;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 2px;
}
.text-default {
  color: #4d4d4d;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 1px;
}
.link-default {
  color: #fff;
  text-decoration: none;
  position: relative;
}
.link-default.black {
  color: #000;
}
.link-default:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #d11042;
  bottom: -4px;
  left: 0;
}
.link-default:link, .link-default:visited {
  color: #fff;
}
.link-default.black:link, .link-default.black:visited {
  color: #000;
}
.link-default:hover {
  opacity: 0.7;
}
.btn-default {
  vertical-align: middle;
  margin: auto;
  padding: 5px 20px;
  font-weight: bold;
  border-radius: 40px;
  font-size: 16px;
  border-bottom: 4px solid #9D072E;
  background-color: #d11042;
  color: #fff;
  position: relative;
  text-align: center;
cursor: pointer;
}
.btn-default.inline {
  display: inline-block;
}
.btn-default.strong {
  display: block;
  margin: auto;
  max-width: 500px;
  text-align: center;
  font-size: 24px;
  padding: 10px 20px;
}
.btn-default.blue {
  display: block;
  margin: auto;
  max-width: 500px;
  text-align: center;
  font-size: 18px;
  padding: 10px 20px;
    border-bottom: 4px solid #69079d;
    background-color: #b965e1;
}
.btn-default.blue.zemi a{
   width: 100%;
    height: 100%;
    display:block;
}
.btn-container{
    padding-bottom:20px;
}
.btn-default.blue:hover {
  margin-top: 3px;
  border-bottom: 1px solid #69079d;
  color: #fff;
}
.btn-default.blue .small{
    font-size: 0.7em;
    padding-top: 1px;
    vertical-align: top;
    display: inline-block;
}

.btn-default.strong:after {
  position: absolute;
  content: "";
  width: 60px;
  height: 60px;
  bottom: -20px;
  right: 0;
  background: url(../img/common/icon-click.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.btn-default:hover {
  margin-top: 3px;
  border-bottom: 1px solid #9D072E;
  color: #fff;
}
.btn-default.strong:hover {
  margin-top: 3px;
  border-bottom: 1px solid #9D072E;
  color: #fff;
}
.btn-default a {
  color: #fff;
  text-decoration: none;
}
.btn-default-container {
  margin: 0 auto 40px;
}
@media only screen and (max-width: 1200px) {
  .inner {
    width: 92%;
  }
}
@media only screen and (max-width: 800px) {
  .inner {
    width: 90%;
  }
  .text-strong {
    font-size: 16px;
  }
}
@media only screen and (max-width: 600px) {
  .heading-default {
    width: 100%;
    padding: 40px 20px 20px;
  }
  .text-strong {
    font-size: 14px;
  }
  .btn-default.blue {
    font-size: 16px;
  }
  .btn-default.strong {
    display: block;
    margin: auto;
    max-width: 100%;
    font-size: 4vw;
    padding: 10px 20px;
  }
  .btn-default.strong:after {
    width: 14%;
    height: 50px;
    bottom: -20px;
    right: -5%;
  }
/*
    .btn-default.yaiba-modal-open{
      font-size: 4vw;
}
*/
}
/***********************************************
***  モーダル
***********************************************/
.entry-modal-open-inline,
.ticket-modal-open-inline,
.stage-ticket-modal-open-inline,
.genkilabo-modal-open-inline{
  display: inline-block;
  text-decoration: underline;
}
.entry-modal-open-requirement-inline,
.ticket-modal-open-requirement-inline,
.stage-ticket-modal-open-requirement-inline,
.genkilabo-modal-open-requirement-inline,
.yaiba-modal-open-requirement-inline{
  display: inline-block;
  font-size: 0.9em;
  padding: 0 4px;
  margin: 0 5px;
  color: #fff;
  background: #000;
  cursor: pointer;
  background-color: #0068b7;
  border-radius: 20px;
  border: 2px solid #fff;
}
.entry-modal-open-btn,
.ticket-modal-open-btn,
.stage-ticket-modal-open-btn,
.genkilabo-modal-open-btn,
.yaiba-modal-open-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.08em;
  width: 240px;
  height: 40px;
  color: #fff;
  background: #000;
  cursor: pointer;
  background-color: #0068b7;
  border-radius: 100px;
  border: 3px solid #fff;
  box-shadow: 0 3px 0 #bbb;
  margin: 10px auto 30px;
  position: relative;
}
.entry-modal-open-btn:hover,
.ticket-modal-open-btn:hover,
.stage-ticket-modal-open-btn:hover,
.genkilabo-modal-open-btn:hover{
  background-color: #035491;
  box-shadow: 0 1px 0 #bbb;
  top: 3px;
}
.entry-modal-container,
.ticket-modal-container,
.stage-ticket-modal-container,
.genkilabo-modal-container,
.yaiba-modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 60%);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: 99999;
}
.entry-modal-container:before,
.ticket-modal-container:before,
.stage-ticket-modal-container:before,
.genkilabo-modal-container:before,
.yaiba-modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.entry-modal-container.active,
.ticket-modal-container.active,
.stage-ticket-modal-container.active,
.genkilabo-modal-container.active,
.yaiba-modal-container.active {
  opacity: 1;
  visibility: visible;
}
.entry-modal-body,
.ticket-modal-body,
.stage-ticket-modal-body,
.genkilabo-modal-body,
.yaiba-modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 1000px;
  width: 90%;
}
.entry-modal-close,
.ticket-modal-close,
.stage-ticket-modal-close,
.genkilabo-modal-close,
.yaiba-modal-close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -40px;
  right: -40px;
  width: 40px;
  height: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
.modal-content{
  background: #fff;
  text-align: left;
  padding: 30px;
    color: #000;
        border-radius: 15px;
}
.modal-content-heading{
        font-size: 15px;
    line-height: 1.5;
    color:#000;
    margin-bottom: 20px;
}
.modal-content .event-program-notice-lists{
    margin-left: 2em;
}
.modal-content .event-program-notice-list{
    color:#000;
}
.modal-content-image{
    width:60%;
    margin: 0 auto 20px;
    text-align: center;
}
.modal-content-text{
    font-size: 15px;
    line-height: 1.5;
    color:#000;
   text-align: center;
}
@media only screen and (max-width: 800px) {
    .modal-content-image{
    width:100%;
}
}
/***********************************************
***  Topmain
***********************************************/
.topmain {
  position: relative;
  z-index: 20;
}
.topmain-image img {
  width: 100%;
  height: auto;
}
.topmain-logo {
  position: absolute;
  bottom: 10%;
  width: 40%;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 600px) {
  .topmain-logo {
    bottom: 2%;
    width: 80%;
  }
}
/***********************************************
***  Header
***********************************************/
.header {
  position: relative;
  box-shadow: 2px 2px 2px #bbb;
  z-index: 30;
}
.global-navigation {
  position: relative;
}
.global-navigation:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background: linear-gradient(#d8eafc, #8fcff8);
  z-index: -1;
}
.global-navigation-sc {
  display: none;
  box-shadow: 2px 2px 2px rgb(0 0 0 / 20%);
}
.global-navigation-lists {
  background: url("../img/common/nav/nav-bg.svg");
  background-repeat: repeat-x;
  background-size: contain;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 10px 10px;
}
.global-navigation-list {
  width: calc(50000% / 3000);
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.global-navigation-list:nth-child(2), .global-navigation-list:nth-child(3) {
  width: calc(41000% / 3000);
}
.global-navigation-list a {
  display: block;
  width: 100%;
}
.global-navigation-list img {
  width: 73%;
  padding-top: 14px;
}
.global-navigation-sc {
  background: url("../img/common/nav/nav-bg.svg"), linear-gradient(#d8eafc, #8fcff8);
  background-repeat: repeat-x;
  background-size: contain;
}
.global-navigation-sc-lists {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 1600px;
  margin: 0 auto;
  padding: 5px 10px 10px;
}
.global-navigation-sc-list {
  width: calc(50000% / 4000);
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.global-navigation-sc-list:nth-child(2), .global-navigation-sc-list:nth-child(3) {
  width: calc(41000% / 4000);
}
.global-navigation-sc-list img {
  width: 100%;
}
.header.fixed {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0;
  margin-top: 0;
  animation: DownAnime 1s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.header.fixed > .global-navigation-sc {
  display: block;
}
.header.fixed > .global-navigation {
  display: none;
}
#global-navigation-mob-btn-check {
  display: none;
}
.global-navigation-mob-unshown {
  display: none;
}
@media only screen and (max-width:1000px) {
  .header {}
}
@media only screen and (max-width: 800px) {
  .header {
    margin-top: 0;
  }
  .global-navigation-mob-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-image: url("../img/common/nav/nav_mob_btn_bg.svg");
    background-size: contain;
  }
  .global-navigation-mob-btn span, .global-navigation-mob-btn span:before, .global-navigation-mob-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
  }
  .global-navigation-mob-btn span:before {
    bottom: 8px;
  }
  .global-navigation-mob-btn span:after {
    top: 8px;
  }
  #global-navigation-mob-btn-check:checked ~ .global-navigation-mob-btn span {
    background-color: rgba(255, 255, 255, 0);
  }
  #global-navigation-mob-btn-check:checked ~ .global-navigation-mob-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
  }
  #global-navigation-mob-btn-check:checked ~ .global-navigation-mob-btn span::after {
    top: 0;
    transform: rotate(-45deg);
  }
  #global-navigation-mob-btn-check:checked ~ #global-navigation-mob-close {
    display: block;
    opacity: .5;
  }
  .global-navigation {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #3584bb;
  }
  .global-navigation-lists {
    padding: 180px 10px 0;
    display: flex;
    flex-wrap: wrap;
    background: transparent;
    position: relative;
  }
  .global-navigation-lists:before {
    position: absolute;
    content: "";
    width: 70%;
    max-width: 320px;
    height: 150px;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-image: url("../img/common/logo.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .global-navigation-list {
    border-bottom: 1px solid #ffffff;
    margin: 10px;
    list-style: none;
    width: calc(50% - 20px);
    text-align: center;
    padding: 0 0 25px;
  }
  .global-navigation-list:nth-child(2), .global-navigation-list:nth-child(3) {
    width: calc(50% - 20px);
    padding: 0 4% 25px;
  }
  .global-navigation-list a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    position: relative;
  }
  .global-navigation {
    width: 100%;
    height: 100%;
    position: fixed;
    top: -100%;
    left: 0;
    z-index: 80;
    background: linear-gradient(#d8eafc, #8fcff8);
    overflow-x: hidden;
    transition: all 0.5s;
  }
  .global-navigation:before {
    overflow-x: hidden;
    position: absolute;
    content: "";
    opacity: 0.03;
    width: 100%;
    height: 100%;
  }
  #global-navigation-mob-btn-check:checked ~ .global-navigation {
    top: 0;
  }
}
@media only screen and (max-width: 800px) {
  .header.fixed > .global-navigation-sc {
    display: none;
  }
}
@media only screen and (max-width: 600px) {
  .global-navigation-mob-btn {
    height: 40px;
    width: 40px;
  }
  .global-navigation-mob-btn span, .global-navigation-mob-btn span:before, .global-navigation-mob-btn span:after {
    height: 2px;
    width: 20px;
    border-radius: 1px;
  }
  .global-navigation-mob-btn span:before {
    bottom: 7px;
  }
  .global-navigation-mob-btn span:after {
    top: 7px;
  }
}
/***********************************************
***  SNS
***********************************************/
.sns-wrapper {
  background: #000;
  overflow-x: hidden;
  position: relative;
}
.sns-wrapper:before {
  overflow-x: hidden;
  position: absolute;
  content: "";
  opacity: 0.03;
  width: 100%;
  height: 100%;
}
.sns-wrapper-inner {
  display: flex;
  justify-content: space-between;
}
.sns-container {
  width: 48%;
  margin-bottom: 0;
}
.sns-wrapper-inner {
  position: relative;
}
/*
.sns-wrapper-inner:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_tw_l.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -200px;
  bottom: 20px;
  width: 40%;
  height: 400px;
  display: block;
  z-index: 0;
}
.sns-wrapper-inner:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_tw_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -300px;
  top: 0;
  width: 40%;
  height: 400px;
  display: block;
  z-index: 0;
}
*/
.sns-container h2 {
  padding-top: 60px;
  padding-bottom: 10px;
  text-align: center;
}
.twitter-iframe-container a{
    width:100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 60px;
}
.twitter-iframe-container {
  /*  background-image: url(../img/sns/bg_video.png);*/
  background-color: #000;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 20px 15px;
  height: 320px;
  z-index: 1;
}
/*
.twitter-iframe-container:before {
  content: "";
  position: absolute;
  background-image: url(../img/sns/tw_frame_top.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  left: 0;
  top: -46px;
  width: 100%;
  height: 50px;
  display: block;
}
.twitter-iframe-container:after {
  content: "";
  position: absolute;
  background-image: url(../img/sns/tw_frame_bottom.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
  left: 0;
  bottom: -46px;
  width: 100%;
  height: 50px;
  display: block;
}
*/
.video-iframe-container {
  /*  background-image: url(../img/sns/bg_video.png);*/
  background-color: #000;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 20px 25px;
  height: 320px;
}
.video-iframe-container-inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 65%;
}
.video-iframe-container-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
.video-iframe-container:before {
  content: "";
  position: absolute;
  background-image: url(../img/sns/video_frame_top.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  left: 0;
  top: -46px;
  width: 100%;
  height: 50px;
  display: block;
}
.video-iframe-container:after {
  content: "";
  position: absolute;
  background-image: url(../img/sns/video_frame_bottom.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
  left: 0;
  bottom: -46px;
  width: 100%;
  height: 50px;
  display: block;
}
*/
@media only screen and (max-width: 800px) {
    .twitter-iframe-container {

  height: inherit;
    }
  .sns-wrapper-inner {
    display: block;
  }
  .sns-container {
    width: 100%;
    max-width: 500px;
    display: block;
    margin: 0 auto 40px;
  }
  .sns-wrapper {
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 800px) {
  .video-iframe-container {
    height: inherit;
  }
}
/***********************************************
***  Animation
***********************************************/
/***********************************************
***  About
***********************************************/
.about-wrapper {
  background: #000;
  padding-bottom: 60px;
  background-position: 90%;
  position: relative;
}
.about-wrapper-inner {
  position: relative;
  z-index: 10;
}
.about-lead-container {
  position: relative;
}
.about-lead-text {
  text-align: center;
  color: #fff;
}
.about-lead-image {
  text-align: center;
  width: 60%;
  margin: 0 auto;
}
/*
.about-outline-list-container {
  background-color: #fff;
    color:#000;
  padding: 40px;
  max-width: 800px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
  z-index: 1;
  border: 4px solid #e8d5c8;
}
.about-outline-list-container:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/nav/nav_bg.svg");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 30px auto;
  top: -30px;
  width: calc(100% + 20px);
  height: 30px;
  left: -10px;
}
.about-outline-list-container:after {
  content: "";
  position: absolute;
  background-image: url("../img/common/nav/nav_bg.svg");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 30px auto;
  bottom: -30px;
  width: calc(100% + 20px);
  height: 30px;
  left: -10px;
}
*/
.about-outline-list {
  color: #000;
}
.about-outline-term {
  width: 100px;
  font-size: 18px;
  margin-top: 4px;
}
.about-outline-definition {
  width: calc(100% - 140px);
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 30px;
}
.about-outline-definition.last {
  margin-bottom: 0;
}
.about-outline-definition-text {
  margin-bottom: 10px;
}
.about-outline-definition-text.mid {
  font-size: 16px;
}
.about-outline-definition-text.small {
  font-size: 13px;
}
.about-outline-item-notice-lists {
  font-size: 13px;
}
.about-outline-item-notice-list {
  position: relative;
  margin-left: 20px;
}
.about-outline-item-notice-list:before {
  position: absolute;
  content: "＊";
  left: -20px;
  top: 0;
  color: #d11042;
}
.about-outline-item {
  border-bottom: 1px solid #c7b299;
  margin-bottom: 30px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
/*
.about-outline-item:before{
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    background-color: #c7b299;
    left:0;
    bottom:-3px;
}
.about-outline-item:after{
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    background-color: #c7b299;
    right:0;
    bottom:-3px;
}
*/
.about-outline-item:last-child {
  border-bottom: none;
  position: inherit;
  margin-bottom: 0;
}
.about-carelabel-link {
  margin: -30px 0 0 calc(50% - 400px);
}
.about-update {
  display: block;
  margin: 40px auto;
  text-align: center;
}
.about-outline-btn-lists {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2%;
  flex-wrap: wrap;
}
.about-outline-btn-lists li {
  width: 48%;
}
@media only screen and (max-width: 1000px) {
  .about-carelabel-link {
    margin: -30px 0 0 30px;
    max-width: 800px;
  }
}
@media only screen and (max-width: 800px) {
  .about-outline-btn-lists {
    flex-direction: column;
  }
  .about-outline-btn-lists li {
    width: 100%;
  }
  .about-outline-btn-lists li:first-child {
    margin-bottom: 10px;
  }
  .about-outline-list-container {
    padding: 40px 20px;
  }
  .about-outline-term {
    width: 80px;
    font-size: 16px;
    margin-top: 4px;
  }
  .about-outline-definition {
    width: calc(100% - 90px);
    font-size: 16px;
  }
  .about-outline-definition-text.mid {
    font-size: 14px;
  }
}
@media only screen and (max-width: 600px) {
  .about-lead-container:before {
    left: -140px;
    top: -290px;
  }
  .about-lead-container:after {
    right: -100px;
    top: -20px;
  }
  .about-wrapper-inner:after {
    right: -100px;
    bottom: -120px;
    width: 260px;
    height: 300px;
  }
  .about-outline-item {
    display: block;
    text-align: center;
  }
  .about-outline-term {
    width: inherit;
    background-color: #313259;
    background-image: url(../img/event/heading_event_frame_middle.svg);
    background-repeat: repeat-x;
    background-size: auto 100%;
    color: #fff;
    padding: 5px 10px;
    display: inline-block;
    margin: 0 auto 20px;
    position: relative;
    height: 26px;
  }
  .about-outline-definition {
    width: 100%;
    text-align: left;
  }
  .about-outline-term:before {
    content: "";
    position: absolute;
    background-image: url(../img/event/heading_event_frame_left.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right top;
    width: 26px;
    height: 26px;
    left: -26px;
    top: 0;
  }
  .about-outline-term:after {
    content: "";
    position: absolute;
    background-image: url(../img/event/heading_event_frame_right.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
    width: 26px;
    height: 26px;
    right: -26px;
    top: 0;
  }
}
/***********************************************
***  Contact
***********************************************/
.contact-container-default {
  background-color: #fff;
  padding: 10px 20px;
  max-width: 420px;
  border-radius: 40px;
  box-shadow: 3px 3px 0 rgba(0 0 0 / 15%);
  margin: 0 auto;
}
.contact-container-default.plaza {
  max-width: 570px;
}
.contact-container-default.other {
  max-width: 450px;
}
.contact-text {
  position: relative;
  color: #4d4d4d;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: left;
  margin-left: 60px;
}
.contact-text:before {
  position: absolute;
  content: "";
  background-image: url(../img/common/icon_tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  left: -50px;
  top: -1px;
  width: 40px;
  height: 40px;
}
/***********************************************
***  Event
***********************************************/
#particles-js {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
}
#wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.event-wrapper {
  background: linear-gradient(#182c59, #126393, #182c59, #1e394d, #182c59, #126393, #182c59, #126393, #182c59);
  padding-bottom: 60px;
  background-position: 90%;
  position: relative;
  overflow: hidden;
}
.event-deco1 {
  position: absolute;
  top: 0;
  background: url(../img/common/bg_moon2.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-attachment: fixed;
  mix-blend-mode: screen;
  width: 100%;
  height: 100%;
}
.event-deco2 {
  position: absolute;
  background: url(../img/common/bg_city.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  height: 100%;
  mix-blend-mode: overlay;
  bottom: 0;
  opacity: 0.7;
}
.event-program-section {
  padding: 60px 0 0;
  box-shadow: 0 0 8px 8px rgb(171 218 255 / 30%);
  position: relative;
  z-index: 1;
}
.program-heading-default {
  width: 740px;
  max-width: 100%;
  display: block;
  margin: 120px auto 10px;
  padding: 50px 50px 40px;
  background: url(../img/common/haeding-default-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
  position: relative;
}
.program-heading-default:before {
  position: absolute;
  content: "";
  width: 160px;
  height: 130px;
  top: -80px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../img/event/tenbou-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.program-heading-default.about:before {
  background: url(../img/about/about-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.program-heading-default.aquarium:before {
  background: url(../img/event/aquarium-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.program-heading-default.restaurant:before {
  background: url(../img/event/restaurant-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.program-heading-default.funsui:before {
  background: url(../img/event/funsui-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.program-heading-default.special:before {
  background: url(../img/event/special-heading-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
.event-program-section-container {
  width: 100%;
  padding: 0 40px 60px;
  margin-top: 0;
  position: relative;
  z-index: 1;
}
.event-program-section-container.first {
  width: 100%;
}
.event-program-section-observatory {
  background: url(../img/common/brick_black.jpg);
  background-size: 300px auto;
}
.event-program-section-aquarium {
  background: url(../img/common/brick_blue.jpg);
  background-size: 300px auto;
}
.event-program-section-restaurant {
  background: url(../img/common/brick_black.jpg);
  background-size: 300px auto;
}
.event-program-section-fountain-sq {
  background: url(../img/common/brick_blue.jpg);
  background-size: 300px auto;
}
.event-program-section-special {
  background: url(../img/common/brick_black.jpg);
  background-size: 300px auto;
}
.event-program-contact-container{
    border:1px solid #fff;
    padding:20px;
        width: calc(100% - 50px);
    margin: 0 auto;
}
.event-program-contact-container .event-program-notice-lists{
    margin-left: 1em;
}
.event-program-contact-container .event-program-detail-text{
    font-size:14px;
}
.program-sub-heading-default {
  background-image: url("../img/event/heading_event_frame_middle.svg");
  background-repeat: repeat-x;
  background-size: auto 100%;
  width: calc(100% - 100px);
  height: 50px;
  display: block;
  margin: 0 auto 30px;
  text-align: center;
  position: relative;
  font-size: 24px;
  letter-spacing: 0.08em;
  font-weight: 800;
  padding: 12px 0 0px;
}
.program-sub-heading-default.break br {
  display: none;
}
.program-sub-heading-default .price {
  display: inline-block;
  font-size: 0.8em;
  color: #D8D8D8;
}
.program-sub-heading-default img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.program-sub-heading-default:before {
  content: "";
  position: absolute;
  background-image: url("../img/event/heading_event_frame_left.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center right;
  width: 50px;
  height: 50px;
  left: -50px;
  top: 0;
}
.program-sub-heading-default:after {
  content: "";
  position: absolute;
  background-image: url("../img/event/heading_event_frame_right.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center left;
  width: 50px;
  height: 50px;
  right: -50px;
  top: 0;
}
.event-program-lead {
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: center;
  margin-bottom: 20px;
}
.event-program-lead-notice {
  text-align: center;
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 2px;
  position: relative;
}
.event-program-lead-notice:before {
  position: absolute;
  content: "＊";
  color: #d11042;
  left: -20px;
  top: -2px;
}
.event-program-detail-container {
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.event-program-detail-container.rally-present:after {
  position: absolute;
  content: "";
  background: url("../img/event/observatory/icon_rally_present.png");
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  width: 260px;
  height: 300px;
  right: -80px;
  top: -20px;
}
.event-program-detail-container.complete:after {
  position: absolute;
  content: "";
  background: url("../img/event/observatory/icon_rally_complete.png");
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  width: 240px;
  height: 300px;
  right: -80px;
  top: -20px;
}
.event-program-detail-container.plaza-info{
    margin-bottom:40px;
}
.event-program-detail-heading {
  background-image: url("../img/common/heading_detail_frame.svg");
  background-size: contain;
  background-repeat: no-repeat;
  font-size: 16px;
  letter-spacing: 2px;
  display: inline-block;
  padding: 7px 24px;
  margin-bottom: 10px;
}
.event-program-detail-heading.wide {
  background-image: url("../img/common/heading_detail_frame_wide.svg");
  padding: 7px 16px;
}
.event-program-detail-heading.wide_mg {
  margin-top: 20px;
  background-image: url("../img/common/heading_detail_frame_wide_mg.svg");
  padding: 6px 15px;
}

.event-program-detail-heading.ex-wide {
  margin-top: 20px;
  background-image: url("../img/common/heading_detail_frame_ex_wide.svg");
  padding: 5px 24px;
}
.event-program-detail-text {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 2px;
  margin-bottom: 20px;
  max-width: calc(100% - 180px);
}

.event-program-detail-text.wide {
  max-width: 100%;
}
.event-program-detail-text .ib{
    display:inline-block;
}
.event-program-detail-lists {
      display: flex;
    flex-wrap: wrap;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 2px;
    text-align: left;
    position: relative;
    padding-bottom: 20px;
}
.event-program-detail-lists.tenbou-rally-present{
        max-width: calc(100% - 180px);
}
@media only screen and (max-width: 800px) {
      .event-program-detail-lists.tenbou-rally-present{
          max-width: calc(100% - 90px);
}
}
@media only screen and (max-width: 600px) {
      .event-program-detail-lists.tenbou-rally-present{
          max-width: 100%;
}
}
.event-program-detail-lists dt {
  width: 140px;
}
.event-program-detail-lists dd {
  position: relative;
  width: calc(100% - 140px);
}
.event-program-detail-lists span.small {
  font-size: 13px;
}
.event-program-detail-lists dd:before {
  position: absolute;
  content: ":";
  left: -20px;
  top: 0;
}
@media only screen and (max-width: 600px) {
    .event-program-detail-lists {
          font-size: 13px;
    }
  .program-heading-default:before {
    width: 25%;
  }
  .event-deco1 {
    position: absolute;
    top: 0;
    background-size: 200% auto;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
  }
  .event-deco2 {
    position: absolute;
    background: url(../img/common/bg_city.png);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    bottom: 0;
  }
  .event-program-detail-lists {
    display: block;
    border-bottom: 2px dotted #fff;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .event-program-detail-lists dt {
    width: inherit;
    display: inline-block;
    position: relative;
  }
  .event-program-detail-lists dt:after {
    position: absolute;
    content: ":";
    right: -10px;
    top: 0;
  }
  .event-program-detail-lists dd {
    width: 100%;
  }
  .event-program-detail-lists dd:before {
    display: none;
  }
}
.event-program-notice-lists.rally {
  margin-left: 20px;
}
.event-program-section-sub-container {
  background-color: #fff;
  padding: 20px 40px;
  max-width: 800px;
  margin: 40px auto 80px;
  display: block;
  position: relative;
  z-index: 1;
  border: 4px solid #D2D2D2;
}
.event-program-section-sub-container.wide {
  width: 90%;
  padding: 40px 40px;
}
.event-program-section-sub-container.wide.fountain_sq {
  margin-bottom: 40px;
}
.event-program-section-sub-container:before {
  content: "";
  position: absolute;
  background-image: url(../img/common/frame-default-top.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  top: -50px;
  width: calc(100% + 100px);
  height: 80px;
  left: -50px;
}
.event-program-section-sub-container:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/frame-default-bottom.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% auto;
  bottom: -50px;
  width: calc(100% + 100px);
  height: 80px;
  left: -50px;
}
.event-program-section-goods-container {
  background-color: #fff;
  padding: 20px;
  max-width: 800px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
  z-index: 1;
  border: 4px solid #BEBEBE;
}
.event-program-section-goods-container:before {
  content: "";
  position: absolute;
  background-image: url(../img/common/frame-default-top.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  top: -27px;
  width: calc(100% + 50px);
  height: 40px;
  left: -25px;
}
.event-program-section-goods-container:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/frame-default-bottom.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% auto;
  bottom: -27px;
  width: calc(100% + 50px);
  height: 40px;
  left: -25px;
}
.event-program-notice-list {
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: left;
  position: relative;
}
.event-program-notice-list:before {
  position: absolute;
  content: "＊";
  color: #d11042;
  left: -20px;
  top: 0;
}
.event-program-complete-heading {
  max-width: 700px;
  margin: 40px auto 0;
}
.event-program-complete-image {
  max-width: 600px;
  margin: 0 auto;
}
.event-program-complete-image.pb20 {
  padding-bottom: 20px;
}
.text-red {
  color: #d10f42;
}
.text-strong {
  font-weight: 800;
}
@media only screen and (max-width: 1000px) {
  .event-program-detail-text {
    max-width: calc(100% - 120px);
  }
  .event-program-detail-container.rally-present:after {
    width: 200px;
  }
  .event-program-detail-container.complete:after {
    width: 200px;
  }
  .event-program-section-sub-container:before {
    top: -40px;
  }
  .event-program-section-sub-container:after {
    bottom: -40px;
  }
}
@media only screen and (max-width: 800px) {
  .event-program-detail-text {
    max-width: calc(100% - 110px);
  }
  .event-program-detail-container.rally-present:after {
    width: 180px;
  }
  .event-program-detail-container.complete:after {
    width: 180px;
  }
}
@media only screen and (max-width: 800px) {
  .program-sub-heading-default {
    width: calc(100% - 60px);
    font-size: 18px;
    padding: 15px 0 0;
  }
  .program-sub-heading-default.break br {
    display: block;
  }
  .program-sub-heading-default.break {
    height: 60px;
    padding: 10px 0 0;
    line-height: 1.1;
  }
  .program-sub-heading-default.break:before {
    width: 60px;
    height: 60px;
    left: -60px;
  }
  .program-sub-heading-default.break:after {
    width: 60px;
    height: 60px;
    right: -60px;
  }
}
@media only screen and (max-width: 600px) {
  .event-program-detail-text {
    font-size: 13px;
  }
  .event-program-detail-container.rally-present:after {
            width: 150px;
        right: -60px;
        top: -34px;
  }
  .event-program-detail-container.complete:after {
    width: 160px;
    right: -60px;
  }
  .event-program-section {
    padding: 40px 25px;
  }
  .event-program-section-container {
    padding: 0 10px 60px;
  }
  .program-heading-default {
    margin: 60px auto 20px;
  }
  .event-program-lead {
    font-size: 14px;
    width: 90%;
    margin: 0 auto 20px;
    text-align: left;
  }
  .event-program-section-sub-container.wide {
    width: 98%;
    padding: 20px;
  }
}
@media only screen and (max-width: 500px) {
  .event-program-section-sub-container:before {
    width: calc(100% + 40px);
    left: -20px;
    top: -30px;
  }
  .event-program-section-sub-container:after {
    width: calc(100% + 40px);
    left: -20px;
    bottom: -30px;
  }
}
@media only screen and (max-width: 450px) {
    .event-program-detail-heading.ex-wide {
     padding: 5px 10px;
    font-size: 3.8vw;
}
  .event-program-section-sub-container:before {
    top: -20px;
  }
  .event-program-section-sub-container:after {
    bottom: -20px;
  }
  .program-heading-default {
    padding: 22px 3% 0;
    width: 100%;
    height: 27vw;
  }
  .program-heading-default:before {
    width: 40%;
    height: 43px;
    top: -17px;
  }
  .program-sub-heading-default.long {
    font-size: 14px;
  }
  .event-program-section {
    margin-top: 20px;
    padding: 30px 25px;
  }
  .event-program-lead.complete {
    margin: 0 auto 60px;
  }
  .event-program-detail-text {
    max-width: 100%;
  }
  .event-program-detail-container.rally-present:after {
    width: 110px;
    height: 120px;
    top: -30px;
    right: -50px;
  }
  .event-program-detail-container.complete:after {
    width: 110px;
    top: -62px;
    right: -50px;
  }
}
/***********************************************
***  イベント装飾
***********************************************/
.event-program-deco1, .event-program-deco2, .event-program-deco3, .event-program-deco4, .event-program-deco5, .event-program-deco6 {
  position: relative;
}
.event-program-deco1:before {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_event_ml.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -300px;
  top: 1020px;
  width: 300px;
  height: 800px;
  display: block;
  z-index: 0;
}
.event-program-deco1:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_event_bl.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -360px;
  top: 2000px;
  width: 400px;
  height: 600px;
  display: block;
  z-index: 0;
}
.event-program-deco2:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_event_tl.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -200px;
  top: -400px;
  width: 360px;
  height: 500px;
  display: block;
  z-index: 0;
}
.event-program-deco2:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_event_mr.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -240px;
  top: 380px;
  width: 300px;
  height: 300px;
  display: block;
  z-index: 0;
}
.event-program-deco3:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_tl.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -300px;
  top: -1200px;
  width: 360px;
  height: 500px;
  display: block;
  z-index: 0;
}
.event-program-deco3:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_about_tr.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -240px;
  top: -400px;
  width: 300px;
  height: 300px;
  display: block;
  z-index: 0;
}
.event-program-deco4:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_mr.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -300px;
  top: -100px;
  width: 360px;
  height: 500px;
  display: block;
  z-index: 0;
}
.event-program-deco4:after {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_br.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -240px;
  top: 500px;
  width: 300px;
  height: 300px;
  display: block;
  z-index: 0;
}
.event-program-deco5:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_mr.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -300px;
  top: -100px;
  width: 360px;
  height: 500px;
  display: block;
  z-index: 0;
}
.event-program-deco5:after {
  content: "";
  position: absolute;
  background-image: url(../img/common/bg_hex_tw_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -400px;
  top: 500px;
  width: 400px;
  height: 600px;
  display: block;
  z-index: 0;
}
.event-program-deco6:before {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_mr.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  left: -300px;
  top: -100px;
  width: 360px;
  height: 500px;
  display: block;
  z-index: 0;
}
.event-program-deco6:after {
  content: "";
  position: absolute;
  background-image: url("../img/common/bg_hex_about_br.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  right: -240px;
  top: 500px;
  width: 300px;
  height: 300px;
  display: block;
  z-index: 0;
}
@media only screen and (max-width: 800px) {
  .event-heading:before {
    left: -220px;
    top: -60px;
    height: 400px;
  }
  .about-lead-container:before {
    left: -180px;
    top: -290px;
  }
  .event-program-deco3:after {
    right: -140px;
  }
  .event-program-deco4:before {
    left: -200px;
    top: -29px;
  }
  .event-program-deco5:after {
    right: -300px;
  }
}
@media only screen and (max-width: 600px) {
  .about-lead-container:before {
    left: -24%;
    top: -402px;
  }
  .event-program-deco6:before {
    left: -180px;
    top: -100px;
    width: 360px;
    height: 500px;
  }
}
/***********************************************
***  展望台
***********************************************/
/*
.event-program-section.event-program-section-observatory {
  margin-top: 170px;
}
*/
.event-observatory-image-lists {
  display: flex;
  margin: 0 auto;
  text-align: center;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
}
.event-observatory-image-list:first-child {
  max-width: 60%;
  margin: 0 20% 30px;
}
.event-observatory-image-list:nth-child(2), .event-observatory-image-list:nth-child(3) {
  width: 48%;
  margin: 0;
}
.event-observatory-btn {
  width: 360px;
  display: block;
  margin: 20px auto 60px;
}
.event-observatory-rally-info-container {
  display: flex;
  text-justify: space-between;
}
.event-observatory-rally-heading {
  margin-bottom: 20px;
}
.event-observatory-rally-story {
  color: #0a192b;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: left;
  width: 60%;
}
.event-observatory-rally-story.wide {
  width: 100%;
}
.event-observatory-rally-image {
  margin-left: 10px;
  width: 40%;
}
.event-observatory-rally-btn {
  margin-bottom: 20px;
}
.event-program-goods-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto 20px;
}
.event-program-goods-list {
  width: 48%;
  text-align: center;
  position: relative;
}
.event-program-goods-list.apr:after {
  position: absolute;
  content: "";
  background: url("../img/common/icon_goods_apr.png");
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  right: -70px;
  top: -40px;
  z-index: 2;
}
.event-program-goods-list.apr2:after {
  position: absolute;
  content: "";
  background: url("../img/common/icon_goods_apr2.png");
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  right: -70px;
  top: -40px;
  z-index: 2;
}
.event-program-goods-list.may:after {
  position: absolute;
  content: "";
  background: url("../img/common/icon_goods_may.png");
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  right: -70px;
  top: -40px;
  z-index: 2;
}
.event-observatory-plaza-image {
  margin: 40px auto 40px;
  display: block;
}
p.event-program-lead.plaza-date {
  text-align: left;
  max-width: 450px;
  margin: 0 auto 20px;
}
.event-program-lead .date {
  display: inline-block;
  width: 300px;
}
@media only screen and (max-width: 1000px) {
  .event-observatory-rally-image {
    width: 80%;
  }
}
@media only screen and (max-width: 800px) {
  .event-observatory-rally-info-container {
    display: block;
  }
  .event-observatory-rally-image {
    margin: 20px auto;
  }
  .event-observatory-rally-story {
    width: 100%;
  }
  .event-program-goods-list.apr:after, .event-program-goods-list.apr2:after, .event-program-goods-list.may:after {
    width: 80px;
    height: 80px;
    right: -60px;
    top: -40px;
  }
}
@media only screen and (max-width: 600px) {
  .event-observatory-rally-story {
    font-size: 13px;
  }
  .event-program-goods-list {
    width: 100%;
  }
  .event-program-lead .date {
    width: inherit;
    display: inline;
    margin-right: 20px;
  }
  .event-program-goods-list.apr:after, .event-program-goods-list.apr2:after, .event-program-goods-list.may:after {
    width: 80px;
    height: 80px;
    right: -40px;
    top: -40px;
  }
}
/***********************************************
***  水族館
***********************************************/
.event-program-notice-lists.observatory-goods {
  margin-left: calc(5% + 20px);
  margin-bottom: 40px;
}
.top-program-list-item-notice-lists.ticket-cp {
  display: block;
}
.aquarium-rally-term{
        color: #fff;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 2px;
    text-align: center;
        margin: 0 auto;
    padding-bottom: 20px;
}

@media only screen and (max-width: 600px) {
   .aquarium-rally-term {
        font-size: 14px;
        width: 90%;
        margin: 0 auto;
        text-align: left;
    }
}
/***********************************************
***  レストラン
***********************************************/
.event-restaurant-present-image {
  margin-bottom: 20px;
}
.event-program-notice-lists.restaurant {
  margin-left: calc(5% + 20px);
}
.event-restaurant-btn {
  width: 260px;
  display: block;
  margin: 20px auto 0;
}
.event-fountain_sq-image {
  display: block;
  margin: 0 auto;
    padding-bottom:40px;
}
.event-fountain_sq-image-copy{
    font-size:10px;
    color: #fff;
    text-align: right;
    padding:5px 5% 0 0;
}
.event-fountain_sq-rally-image {
  margin-bottom: 20px;
  text-align: center;
}
.fountain_sq-rally-present-image {
  max-width: 600px;
  width: 100%;
}
.event-funsui-rally-heading {
  max-width: 500px;
  display: block;
  margin: 0 auto;
}
.funsui-mg-sch-lists{
      font-size: 16px;
    line-height: 1.5;
    color: #000;
    margin: 20px auto 0;
}
.funsui-mg-sch-item {
    margin-bottom: 10px;
}
.funsui-mg-sch-lists dt{
      background-color: #a7d7ff;
    padding: 0 20px;
}
.funsui-mg-sch-lists dt .small{
    font-size:0.8em;
}
.funsui-mg-sch-lists dt br,.funsui-mg-sch-lists dd br{
    display:none;
}
.funsui-mg-sch-lists dd{
        padding: 5px 20px;
    border: 1px solid #a7d7ff;
    color: #fff;
    font-size: 14px;
}
.event-program-notice-lists.funsui {
  margin-left: calc(5% + 20px);
    padding-bottom:40px;
}
.event-fountain_sq-stage-image{
    display:flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 20px;
}

.funsui-modal-btn-lists {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2%;
    flex-wrap: wrap;
    max-width: 600px;
    margin: 0 auto;
}
.funsui-modal-btn-lists li{
    width: 48%;
}
.funsui-modal-btn-lists li a{
    display:block;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 600px) {
    
.event-fountain_sq-image-copy{
    font-size:3vw;
}
.funsui-mg-sch-lists dt br,
.funsui-mg-sch-lists dd br{
    display:block;
}
    .funsui-mg-sch-lists dt{
    padding: 0 10px;
    font-size: 14px;
}

.funsui-mg-sch-lists dd{
        padding: 5px 10px;
}
  .event-program-notice-lists.restaurant {
    margin-left: calc(2% + 15px);
  }
}
/***********************************************
***  特別企画
***********************************************/
.top-special-ticket-cp-container {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 20px;
}
.top-special-ticket-cp1-container {
  width: 48%;
  border: 2px solid #00afec;
  border-radius: 20px;
  background-color: #fff;
  background-image: url(../img/event/aquarium/aquarium-ticket-cp1-bg.svg);
  background-position: center 65%;
  background-repeat: repeat-x;
  background-size: 400px auto;
}
.top-special-ticket-cp-container:after {
  position: absolute;
  content: "";
  width: 10%;
  height: 120px;
  background: url("../img/event/aquarium/aquarium-ticket-cp-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
  top: -10px;
  right: 0;
  left: 0;
  margin: auto;
}
.top-special-ticket-cp2-container {
  width: 48%;
  border: 2px solid #0071bc;
  border-radius: 20px;
  background-color: #fff;
  background-image: url(../img/event/aquarium/aquarium-ticket-cp2-bg.svg);
  background-position: center 65%;
  background-repeat: repeat-x;
  background-size: 400px auto;
}
.top-special-ticket-cp1-heading {
  background-color: #00afec;
  height: 90px;
  border-radius: 15px 15px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-special-ticket-cp2-heading {
  background-color: #0071bc;
  height: 90px;
  border-radius: 15px 15px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-special-ticket-cp1-heading img, .top-special-ticket-cp2-heading img {
  width: 80%;
}
@media only screen and (max-width: 600px) {
  .top-special-ticket-cp-container {
    flex-direction: column;
    margin-bottom: 40px;
  }
  .top-special-ticket-cp1-container {
    width: 100%;
    margin-bottom: 40px;
  }
  .top-special-ticket-cp2-container {
    width: 100%;
  }
  .top-special-ticket-cp-container:after {
    width: 12%;
    height: 120px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    top: calc(50% - 60px);
    padding-left: 0px;
    transform: rotate(90deg);
    right: 0;
    left: 0;
    margin: auto;
  }
}
.event-program-section-special {
  margin-bottom: 60px;
}
.event-special-cp-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.event-special-order {
  width: 35%;
}
.event-special-present {
  width: 65%;
  padding-bottom: 50px;
}
.event-special-btn {
  width: 400px;
  display: block;
  margin: 20px auto 0;
  position: relative;
  padding: 60px 0 100px;
}
.event-special-btn:after {
  content: "";
  position: absolute;
  background-image: url(../img/event/special/special_chara_right.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  right: -300px;
  top: -100px;
  width: 260px;
  height: 500px;
  display: block;
  z-index: 0;
}
@media only screen and (max-width: 1000px) {
  .event-special-btn:after {
    width: 240px;
    height: 400px;
    top: -30px;
    right: -220px;
  }
}
@media only screen and (max-width: 800px) {
  .event-special-btn {
    width: 70%;
  }
  .event-special-btn:after {
    right: -37%;
    top: 30px;
    width: 52%;
    height: 460px;
    display: block;
    z-index: 0;
  }
}
@media only screen and (max-width: 600px) {
  .event-special-cp-list {
    display: block;
  }
  .event-special-order {
    width: 70%;
  }
  .event-special-present {
    width: 100%;
  }
  .event-special-btn {
    padding: 40px 0 80px;
  }
  .event-special-btn:after {
    top: 80px;
  }
}
/***********************************************
***  注釈
***********************************************/
.event-program-notice-lists.event {
  margin-top: 40px;
  margin-left: 2em;
}
/***********************************************
***  Notice
***********************************************/
.notice-wrapper {
  background: url("../img/common/bg_paper.png"), linear-gradient(#edeaff, #d6cdff);
  padding-bottom: 80px;
  background-position: 90%;
}
.notice-lead {
  text-align: center;
  margin-bottom: 40px;
}
.notice-btn {
  text-align: center;
  transition: .3s;
}
.notice-btn:hover {
  transform: translate3d(0, 5px, 0);
}
@media only screen and (max-width: 600px) {
  .notice-lead {
    text-align: left;
  }
}
/***********************************************
***  Footer
***********************************************/
.footer {
  background-color: #0D0630;
  color: #fff;
  text-align: center;
  padding: 40px;
  line-height: 1.5;
}
.footer-banner-lists {
  display: flex;
  justify-content: space-around;
        position: relative;
    z-index: 30;
}
.footer-banner-list {
  width: 48%;
}
.footer-banner-list:nth-child(2) {
  display: none;
}
.footer-banner-lists.sun45th {
  padding: 0;
}
.footer-banner-lists.sun45th .footer-banner-list {
  max-width: 160px;
}
.footer-banner-list img {
  width: 100%;
  max-width: 240px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 600px) {
  .footer-banner-lists {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .footer-banner-list {
    width: 70%;
  }
  .footer-banner-list img {
    margin-bottom: 40px;
  }
}
/***********************************************
***  PAGES共通
***********************************************/
.header-pages {
  left: 0;
  top: 0;
  position: fixed;
  width: 100%;
  z-index: 999;
}
.global-navigation-pages {
  display: none;
}
.global-navigation-sc-pages {
  display: block;
  position: fixed;
  width: 100%;
}
@media only screen and (max-width: 800px) {
  .global-navigation-sc-pages {
    display: none;
  }
  .global-navigation-pages {
    display: inherit;
  }
}
/***********************************************
***  動物取扱業に関する表示
***********************************************/
.carelabel-section {
  padding-top: 80px;
}
.carelabel-wrapper-inner {
  position: relative;
  z-index: 10;
}
.carelabel-outline-list-container {
  background-color: #fff;
  color: #000;
  box-shadow: 3px 3px 3px rgb(0 0 0 / 10%);
  padding: 40px;
  max-width: 800px;
  margin: 0 auto;
  display: block;
  position: relative;
  z-index: 1;
}
.carelabel-sub-heading-default {
  width: 70%;
}
.carelabel-outline-term {
  width: 180px;
  font-size: 18px;
  margin-top: 4px;
}
.carelabel-outline-definition {
  width: calc(100% - 200px);
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 30px;
}
.carelabel-outline-definition.last {
  margin-bottom: 0;
}
.carelabel-outline-definition-text {
  margin-bottom: 10px;
}
.carelabel-outline-item {
  color: #000;
  border-bottom: 1px solid #c7b299;
  margin-bottom: 30px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
/*
.carelabel-outline-item:before{
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    background-color: #c7b299;
    left:0;
    bottom:-3px;
}
.carelabel-outline-item:after{
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    background-color: #c7b299;
    right:0;
    bottom:-3px;
}
*/
.carelabel-outline-item:last-child {
  border-bottom: none;
  position: inherit;
  margin-bottom: 0;
}
@media only screen and (max-width: 800px) {
  .carelabel-outline-list-container {
    padding: 40px 20px;
  }
  .carelabel-outline-term {
    width: 80px;
    font-size: 16px;
    margin-top: 4px;
  }
  .carelabel-outline-definition {
    width: calc(100% - 90px);
    font-size: 16px;
  }
}
@media only screen and (max-width: 600px) {
  .carelabel-outline-item {
    display: block;
    text-align: center;
  }
  .carelabel-outline-term {
    width: inherit;
    background-color: #313259;
    color: #fff;
    padding: 5px 10px;
    display: inline-block;
    margin: 0 auto 20px;
    position: relative;
  }
  .carelabel-outline-definition {
    width: 100%;
    text-align: left;
  }
  .carelabel-outline-term:before {
    content: "";
    position: absolute;
    background-image: url("../img/event/heading_event_frame_left.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    left: -24px;
    top: 2px;
  }
  .carelabel-outline-term:after {
    content: "";
    position: absolute;
    background-image: url("../img/event/heading_event_frame_right.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    right: -24px;
    top: 2px;
  }
}