@charset "utf-8";
/*
	==================================================
	チケット購入ボタン　追加0610
	===================================*/
.cta.active {
  opacity: 1;
  visibility: visible;
  opacity: 1;
  visibility: visible;
  position: fixed;
  right: 0;
  bottom: 0px;
  cursor: pointer;
  transition: .3s;
  /* opacity: 0; */
  /* visibility: hidden; */
  width: 120px;
  z-index: 62;
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.fixBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: -1;
  opacity: 0.8;
  background-color: #524b7d;
}
.fixBg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mainImg {
  position: relative;
}
.mainImg img {
  width: 100%;
}
.mainImg .ico {
  position: absolute;
  bottom: 0.5%;
  right: 2.2%;
  width: 26.28%;
  z-index: 1;
}
.mainVisual {
  margin: -0.5rem 0 0rem;
  padding: 0.1rem 0 1.2rem;
  position: relative;
  text-align: center;
}
.mainVisual::after {
  position: absolute;
  left: 0;
  top: -9.8rem;
  width: 100%;
  height: 31.8rem;
  background: url(../img/main_visual_bg02.png) no-repeat top center;
  background-size: 100% 100%;
  content: "";
}
.mainVisual::before {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0rem;
  width: 110rem;
  background-color: #524b7d;
  content: "";
  mix-blend-mode: multiply;
  transform: translateX(-50%);
  padding-bottom: 5rem;
}
.mainVisual .info {
  position: relative;
  z-index: 1;
}
.mainVisual h1 {
  margin: -28.6rem 1rem 2.6rem 0;
  text-align: center;
}
.mainVisual h1 img {
  width: 100%;
}
.mainVisual .ttl {
  width: 70.6rem;
  margin: 0 auto;
}

#main {
  width: 110rem;
  margin: 0 auto;
  color: #fff;
}
#main .sec01 {
  position: relative;
}
#main .sec01 img {
  width: 100%;
}
#main .sec01 .link {
  position: absolute;
}
#main .sec01 .link a:hover {
  opacity: 0.8;
}
#main .sec01 .link01 {
  width: 15.75%;
  left: 63.5%;
  top: 7.56%;
}
#main .sec01 .link02 {
  width: 18.375%;
  left: 74.6%;
  top: 22.35%;
}
#main .sec01 .link03 {
  width: 16.375%;
  left: 60.2%;
  top: 29.7%;
}
#main .sec01 .link04 {
  width: 15.75%;
  left: 42.1%;
  top: 40.6%;
}
#main .sec01 .link05 {
  width: 18.375%;
  left: 31.8%;
  top: 61.2%;
}
#main .sec01 .link06 {
  width: 18.375%;
  left: 2.6%;
  top: 70%;
}
#main .sec01 .link07 {
  width: 16.375%;
  left: 42.2%;
  top: 74%;
}
#main .sec01 .link08 {
  width: 15.75%;
  left: 11%;
  top: 81.8%;
}
#main .sec02 {
  padding: 8rem 5.0rem 5.2rem;
  background-color: rgba(230, 90, 0, 0.75);
  backdrop-filter: blur(10px); /* 10pxのぼかし */
  -webkit-backdrop-filter: blur(10px);
}
#main .sec02 h2 {
  width: 100.6rem;
  margin: 2rem auto 2rem;
}
#main .sec02 .info01 {
  margin-bottom: 8.2rem;
}
#main .sec02 .info01 .comPhoList {
  margin-bottom: 2.2rem;
}
#main .sec02 .info03 {
  margin-bottom: 6.2rem;
}
#main .sec02 .phoUl > li:not(:last-child) {
  margin-bottom: 2.9rem;
}
#main .sec02 .phoUl .comDl {
  margin-bottom: 0;
}
#main .sec02 .comDl dt {
    clear: both;
    width: 10%;
    float: left;
    margin: 1rem;
}
#main .sec02 .comDl dd {
  float: left;
  width: 75%;
  margin: 1rem;
}
#main .sec02 .comDl2 {
  margin-bottom: 1rem;
}
#main .sec02 .comDl2 dt {
  width: 20%;
  margin: 0.5rem auto 0;
}
#main .sec02 .comDl2 dd {
  margin-left: 1rem;
  padding-left: 0;
  width: 75%;
}
#main .sec02 .comDl3 {
  margin-bottom: 1rem;
}
#main .sec02 .comDl3 dt {
  clear: both;
  width: 20%;
  float: left;
  margin: 1rem 0;
}
#main .sec02 .comDl3 dd {
  float: left;
  width: 75%;
  margin: 1rem 0;
}
#main .sec021 {
  padding: 3rem 5.0rem 5.2rem;
  background-color: rgba(35, 5, 75, 0.75);
  backdrop-filter: blur(10px); /* 10pxのぼかし */
  -webkit-backdrop-filter: blur(10px);
}
#main .sec021 h2 {
  width: 100.6rem;
  margin: 4rem auto 2rem;
}
#main .sec021 .info01 {
  margin-bottom: 8.2rem;
}
#main .sec021 .info01 .comPhoList {
  margin-bottom: 2.2rem;
}
#main .sec021 .info03 {
  margin-bottom: 6.2rem;
}
#main .sec021 .phoUl > li:not(:last-child) {
  margin-bottom: 2.9rem;
}
#main .sec021 .phoUl .comDl {
  margin-bottom: 0;
}
#main .sec021 .phoUl .comDl dd {
  padding-left: 5em;
}
#main .sec12 {
  padding: 4rem 0 10.3rem;
  background: url(../img/sec09_bg.png) repeat top center;
  background-size: 2.7rem auto;
}
#main .sec12 h2 {
  width: 50.3rem;
  margin: 0 auto 1.8rem;
}
#main .sec12 .bgBox {
  width: 68.6rem;
  margin: 0 auto;
  padding-top: 9.4rem;
  height: 43.5rem;
  box-sizing: border-box;
  background: url(../img/sec09_bg02.png) no-repeat center center;
  background-size: 100% 100%;
}
#main .sec12 .bgBox p {
  margin-bottom: 2.5rem;
  text-align: center;
  color: #872FA2;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
}
#main .sec12 .comLink a {
  padding-right: 1.2rem;
  min-height: 5.4rem;
  color: #fff;
  border-color: #D837AD;
  background-color: #D837AD;
  background-image: url(../img/icon04_on.png);
  background-position: right 12rem center;
  width: 85%;
  margin: 0 auto;
}
.contbox {
  width: 100.0%;
  margin: 0 auto;
     box-sizing: border-box;
  background-color:#FFF; 
    color: darkblue;
    padding: 3% 0 1% 2%; 
}

.contbox::before {
  width: 100.0%;
  margin: 0 auto;
     box-sizing: border-box;
  background: url(../img/sec09_bg02.png) no-repeat center center;
  background-size: auto;
    color: darkblue;
    padding: 3% 0 1% 2%; 
}

@media all and (min-width: 897px) {
  #main .sec02 .phoList li {
    width: calc(50% - 3.0rem);
  }
  #main .sec02 .phoList .more a:hover {
    border-color: transparent;
  }
  #main .sec02 .info03 .headLine02 {
    margin: 3rem;
  }
  #main .sec02 .phoUl .comPho {
    margin-bottom: 1.4rem;
  }
  #main .sec02 .info04 .headLine02 {
    margin-bottom: 3.5rem;
  }
  #main .sec021 .info03 .headLine02 {
    margin-bottom: 3.5rem;
  }
  #main .sec021 .phoUl .comPho {
    margin-bottom: 1.4rem;
  }
  #main .sec021 .info04 .headLine02 {
    margin-bottom: 3.5rem;
  }
  #main .sec021 .phoList .more a:hover {
    border-color: transparent;
  }
  #main .sec021 .info03 .headLine02 {
    margin-bottom: 3.5rem;
  }
  #main .sec021 .phoUl .comPho {
    margin-bottom: 1.4rem;
  }
  #main .sec021 .info04 .headLine02 {
    margin-bottom: 3.5rem;
  }
  #main .sec12 .comLink a:hover {
    color: #D837AD;
    background-color: #fff;
    background-image: url(../img/icon08.png);
  }
  #main .sec021 .comDl dt {
    clear: both;
    width: 10%;
    float: left;
    margin: 1rem;
  }
  #main .sec021 .comDl dd {
    float: left;
    width: 75%;
    margin: 1rem ; 
  }
}

@media all and (max-width: 896px) {
    
    .index {
  margin-bottom: 5rem;
}
.index .linkList {
  margin: 1rem;
}
.index .linkList li {
  margin: 0.5% 2% 0 0;
  width: 48%;
}
.index .linkList li:nth-child(3n) {
  margin-right: 0;
}
.index .linkList a {
    padding: 1.5rem 0.5rem 1.3rem;
    height: 100%;
    display: block;
    text-align: center;
    color: #FFF;
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: 0.05em;
    border-radius: 1rem;
    background-color: #472D8E;
    border: 0.2rem solid #F58C38;
}
.index .linkList .li01 a {
  background-position: right 3rem center;
}
.index .linkList .li02 a {
  background-position: right 2.5rem center;
}
.index .linkList .spec a {
  padding-right: 2rem;
}
.index .linkList .spec01 a {
  background-position: right 1.5rem center;
}
    
  #main .sec021 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec021 .phoList {
    width: 100%;
    margin: 1rem auto;
  }
  #main .sec021 .phoList li {
    width: calc(90% - 3.0rem);
  }
  #main .sec021 .phoList .pho {
    margin-bottom: 1.7rem;
    overflow: hidden;
    border-radius: 1rem;
    width: 100%;
    margin: 1rem auto;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.7);
  }
  #main .sec021 .phoList img {
    width: 100%;
  }
  #main .sec021 .phoList .name {
    margin-bottom: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  #main .sec021 .phoList .name span {
    margin-left: 0.2rem;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
  #main .sec021 .phoList .more {
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  #main .sec021 .phoList .more a {
    padding-bottom: 0.5rem;
    display: inline-block;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  #main .sec021 .phoList .txt {
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.02em;
  }
  #main .sec02 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec02 .phoList {
    width: 100%;
    margin: 1rem auto;
  }
  #main .sec02 .phoList li {
    width: calc(90% - 3.0rem);
  }
  #main .sec02 .phoList .pho {
    margin-bottom: 1.7rem;
    overflow: hidden;
    border-radius: 1rem;
    width: 100%;
    margin: 1rem auto;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.7);
  }
  #main .sec02 .phoList img {
    width: 100%;
  }
  #main .sec02 .phoList .name {
    margin-bottom: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  #main .sec02 .phoList .name span {
    margin-left: 0.2rem;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
  #main .sec02 .phoList .more {
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  #main .sec02 .phoList .more a {
    padding-bottom: 0.5rem;
    display: inline-block;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  #main .sec02 .phoList .txt {
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.02em;
  }
  .mainVisual::before {
    left: 0;
    width: 100%;
    transform: none;
  }
  .mainVisual .info {
    padding: 0 0rem;
  }
  .mainVisual h1 {
    margin: -10rem 0 0;
  }
  .mainVisual h1 img {
    width: auto;
  }
  .mainVisual .time {
    width: auto;
  }
  .mainVisual .ttl {
    width: auto;
  }
 
  #main {
    width: auto;
  }
  #main .sec01 {}
  #main .sec02 {
    padding: 0.1rem 0 3rem;
  }
  #main .sec02 h2 {
    width: auto;
    margin: 2.5rem auto 2rem;
  }
  #main .sec02 h3 {
    width: auto;
    margin: 5rem 0 2rem;
  }
  #main .sec02 .info01 {
    margin-bottom: 4rem;
  }
  .comDl {
    margin-left: 1.0rem;
    margin-bottom: 3rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7;
  }
  #main .sec02 .comDl dt {
    clear: both;
    width: 18%;
    float: left;
    margin: 1rem 0;
  }
  #main .sec02 .comDl dd {
    float: left;
    width: 75%;
    margin: 1rem 0;
  }
  #main .sec021 .comDl dt {
    clear: both;
    width: 18%;
    float: left;
    margin: 1rem;
  }
  #main .sec021 .comDl dd {
    float: left;
    width: 75%;
    margin: 1rem 0;
  }
  #main .sec02 .comDl3 {
    margin-bottom: 1rem;
  }
  #main .sec02 .comDl3 dt {
    width: 18%;
    margin: 1rem auto 0;
    float: left;
  }
  #main .sec02 .comDl3 dd {
    width: 75%;
    margin-left: 0rem;
    padding-left: 0rem;
    text-indent: 0rem;
    float: left;
  }
  #main .sec02 .info01 .comPhoList {
    margin-bottom: 2rem;
  }
  #main .sec02 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec02 .phoList li {
    width: calc(90% - 3.0rem);
    margin: 0 auto;
  }
  #main .sec02 .info02 .phoList li {
    width: calc(50% - 3.0rem);
    margin: 0 auto;
  }
  #main .sec02 .phoList .pho {
    margin-bottom: 1rem;
  }
  #main .sec02 .phoList .name {
    margin-bottom: 0.8rem;
  }
  #main .sec02 .phoList .name span {
    margin-left: 0;
    font-size: 1.6rem;
  }
  #main .sec02 .phoList .more {
    margin: 1.4rem 0 0;
    font-size: 1.4rem;
    padding-bottom: 3rem;
  }
  #main .sec02 .phoList .more a {
    padding-bottom: 0.3rem;
  }
  #main .sec02 .info03 {
    margin-bottom: 3rem;
  }
  #main .sec02 .phoUl > li:not(:last-child) {
    margin-bottom: 2rem;
  }
  #main .sec021 {
    padding: 0.1rem 0 3rem;
  }
  #main .sec021 h2 {
    width: auto;
    margin: 2.5rem auto 2rem;
  }
  #main .sec021 h3 {
    width: auto;
    margin: 5rem;
  }
  #main .sec021 .info01 {
    margin-bottom: 4rem;
  }
  #main .sec021 .info01 .comPhoList {
    margin-bottom: 2rem;
  }
  #main .sec021 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec021 .phoList li {
    width: calc(50% - 2rem);
  }
  #main .sec021 .phoList .pho {
    margin-bottom: 1rem;
  }
  #main .sec021 .phoList .name {
    margin-bottom: 0.8rem;
  }
  #main .sec021 .phoList .name span {
    margin-left: 0;
    font-size: 1.6rem;
  }
  #main .sec021 .phoList .more {
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
  }
  #main .sec021 .phoList .more a {
    padding-bottom: 0.3rem;
  }
  #main .sec021 .info03 {
    margin-bottom: 3rem;
  }
  #main .sec021 .phoUl > li:not(:last-child) {
    margin-bottom: 2rem;
  }
  #main .sec12 {
    padding: 2rem 0 5rem;
  }
  #main .sec12 h2 {
    width: 30rem;
    margin: 0 auto 1rem;
  }
  #main .sec12 .bgBox {
    width: 38rem;
    padding-top: 4.5rem;
    height: 28rem;
  }
  #main .sec12 .bgBox p {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    text-align: center;
  }
  #main .sec12 .comLink a {
    background-position: right 10rem center;
  }
}

.box_t {
  padding-bottom: 1.8rem;
  text-align: center;
}
.t_ticket {
  margin-top: 45px;
}

@media all and (min-width: 897px) {
    
    .index {
  margin-bottom: 5rem;
}
.index .linkList {
  margin: 1rem;
}
.index .linkList li {
  margin: 0.5% 3% 0 0;
  width: 22%;
}
    /*
.index .linkList li:nth-child(3n) {
  margin-right: 0;
}*/
.index .linkList a {
    padding: 1.5rem 0.5rem 1.3rem;
    height: 100%;
    display: block;
    text-align: center;
    color: #FFF;
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: 0.05em;
    border-radius: 1rem;
    background-color: #472D8E;
    border: 0.2rem solid #F58C38;
}
.index .linkList .li01 a {
  background-position: right 3rem center;
}
.index .linkList .li02 a {
  background-position: right 2.5rem center;
}
.index .linkList .spec a {
  padding-right: 2rem;
}
.index .linkList .spec01 a {
  background-position: right 1.5rem center;
}
    
  #main .sec021 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec021 .phoList {
    width: 80%;
    margin: 1rem auto;
  }
  #main .sec021 .phoList li {
    width: calc(50% - 3.0rem);
  }
  #main .sec021 .phoList .pho {
    margin-bottom: 1.7rem;
    overflow: hidden;
    border-radius: 1rem;
    width: 100%;
    margin: 1rem auto;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.7);
  }
  #main .sec021 .phoList img {
    width: 100%;
  }
  #main .sec021 .phoList .name {
    margin-bottom: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  #main .sec021 .phoList .name span {
    margin-left: 0.2rem;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
  #main .sec021 .phoList .more {
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  #main .sec021 .phoList .more a {
    padding-bottom: 0.5rem;
    display: inline-block;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  #main .sec021 .phoList .txt {
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.02em;
  }
  #main .sec02 .info02 {
    margin-bottom: 3.6rem;
  }
  #main .sec02 .phoList {
    width: 80%;
    margin: 1rem auto;
  }
  #main .sec02 .phoList li {
    width: calc(50% - 3.0rem);
  }
  #main .sec02 .phoList .pho {
    margin-bottom: 1.7rem;
    overflow: hidden;
    border-radius: 1rem;
    width: 100%;
    margin: 1rem auto;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.7);
  }
  #main .sec02 .phoList img {
    width: 100%;
  }
  #main .sec02 .phoList .name {
    margin-bottom: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  #main .sec02 .phoList .name span {
    margin-left: 0.2rem;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
  #main .sec02 .phoList .more {
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  #main .sec02 .phoList .more a {
    padding-bottom: 0.5rem;
    display: inline-block;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  #main .sec02 .phoList .txt {
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.02em;
  }
  .comDl {
    margin-left: 10rem;
    margin-bottom: 3rem;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.7;
  }
  .comDl2 {
    margin-left: 3.0rem;
    margin-bottom: 3rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7;
  }
  .comDl3 {
    margin-left: 0;
    margin-bottom: 3rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.7;
  }
}

.bgBox {
    text-align: center;
}

.mik{
    font-size: 1rem;
}
