@charset "utf-8";
/* CSS Document */

.tss_body img{
  width:100%;
  height:auto;
}

.tss_comprehensiveHead{
  position: relative;
  z-index: 2;
}

.tss_body{
  background-color:#F6EBF8;
  position:relative;
}

.imo_phbg{
  position:fixed;
  left:0;
  right:0;
  top:4vw;
  width:100%;
  max-width:1920px;
  margin:auto;
  height:100%;
  z-index:1;
  opacity:0.2;
  animation: fadeIn 0.6s ease forwards;
}

.imo_mainheader{
  width:100%;
  max-width:1920px;
  margin: 0 auto;
}

.imo_comwrap{
  position: relative;
  z-index: 2;
}

.imo_mainheader h1{
  width:56.5vw;
  max-width:960px;
  margin:auto;
  padding-top:4vw;
}

.imo_mainheader h1 img{
  width:100%;
}

.imo_ticketbnr{
  width:80%;
  max-width:598px;
  margin:24px auto 0;
}

.imo_txtticket{
  padding-top:1em;
  font-size:2em;
  margin-bottom: 40px;
  text-align:center;
  font-weight:bold;
  background-image: linear-gradient(
  70deg,
  rgb(0, 0, 0, 1)  45%, 
  #fff 50%,
  rgb(0, 0, 0, 1) 55% 
  );
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 5s infinite;
}

.imo_txtticket span{
  font-size:0.75em;
}

@keyframes shine{
	0% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


/*20240213add*/
.imo_ticketremaining{
  margin-top:2em;
  margin-bottom: 8px;
  text-align: center;
  font-size: clamp(1rem, 0.447rem + 2.11vw, 1.5rem);/*16-24 420-800*/
  font-weight: bold;
}
.imo_remainingtable{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: auto;
}
.imo_remainingtable div{
  min-width: 336px;
  width: 30%;
  padding: 16px;
  background-color: #FFFFFF;
}
.imo_remainingtable div h3{
  margin-bottom: 8px;
  text-align: center;
  font-size: clamp(0.875rem, 0.461rem + 1.58vw, 1.25rem);/*14-20 420-800*/
  font-weight: bold;
  color: #85304B;
}
.imo_remainingtable div table{width: 100%;}
.imo_remainingtable div table th,
.imo_remainingtable div table td{
  padding: 8px 0;
  border: 1px solid #86314C;
}
.imo_remainingtable div table th{font-size: 0.875rem;}
.imo_remainingtable div table th:first-of-type{width: 60%;}
.imo_remainingtable div table th:nth-of-type(2){width: 40%;}
.imo_remainingtable div table td{
  padding: 8px;
  font-size: 0.875em;
  text-align: center;
}



.imo_maintext{
  width:100%;
  max-width:872px;
  margin:46px auto;
}

.imo_maintext h2{
  font-size:2.125em;
  color:#E44E44;
  line-height:1.5;
  font-weight:bold;
  text-align:center;
}

.imo_maintext h2 span{
  display:block;
}

.imo_maintext p{
  color:#86314C;
  text-align: center;
  font-weight:bold;
  line-height:1.75;
  font-size:1.25em;
  padding-top:24px;
}

.imo_maintext p span{
  display:block;
}

.imo_contentsblr{
  width:100%;
}

.imo_contentsbox h3,
.imo_infobox h3,
.imo_infobtmflexbox h3,
.imo_qabox h3,
.imo_itembox h3{
  color:#86314C;
  position:relative;
  font-size:2em;
  font-weight:bold;
  display:flex;
  align-items: center;
  justify-content: center;
  gap:0 8px;
}
.imo_contentsbox h3::before,
.imo_infobox h3::before,
.imo_infobtmflexbox h3::before,
.imo_qabox h3::before,
.imo_itembox h3::before{
  content:"";
  background-image:url("../img/ico_l.png");
  width:132px;
  height:88px;
  display:inline-block;
}
.imo_contentsbox h3::after,
.imo_infobox h3::after,
.imo_infobtmflexbox h3::after,
.imo_qabox h3::after,
.imo_itembox h3::after{
  content:"";
  background-image:url("../img/ico_r.png");
  width:132px;
  height:88px;
  display:inline-block;
}

.imo_contentsbox{
  padding-top:40px;
}

.imo_contentsbox > div{
  text-align: center;
  color:#86304B;
  font-size:1rem;
}

.imo_contentsbox > p{
  text-align:right;
  font-size:0.75em;
  width:100%;
  max-width:1500px;
  margin:0 auto;
}

.imo_eventmap{
  max-width:1200px;
  margin:auto;
}

.imo_contentsbox > ul{
  width:100%;
  max-width:1500px;
  margin:24px auto 48px auto;
  display:flex;
  flex-wrap:wrap;
  gap:40px 20px;
  justify-content: center;
}

.imo_contentsbox > ul li{
  width:22.8%;
  background-color:#FFF;
  border-radius:8px;
  padding-bottom:16px;
  position:relative;
}

.imo_boothnum{
  color: #FFF;
  font-weight: bold;
  font-size: 1.375em;
  background-image: url(../img/ico_bg.png);
  background-size: auto;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: -20px;
  text-align: center;
  min-width: 3.25em;
  height: 3.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.imo_storeimg{
  padding:16px 16px 4px;
  aspect-ratio:16/9;
}

.imo_slider{
  display:none;
  aspect-ratio:16/9;
  width:100%;
}

.imo_slider.slick-initialized{
  display: block;
}

.imo_storeimg img{
  width:100%;
}
.imo_pref{
  font-weight:bold;
  display:flex;
  gap:4px;
  flex-direction: column-reverse;
}
.imo_pref span{
  color:#FFF;
  padding:0.375em 0;
  border-radius:0 8px 8px 0;
  display:flex;
  justify-content:center;
  align-items:center;
}
.imo_pref span:first-of-type{
  background-color:#86304B;
  width:6.5em;
}
.imo_pref span:nth-of-type(2){
  background-color:#E44E44;
  font-size:0.75em;
  border-radius:8px;
  padding: 0.5em 0.75em;
  width: fit-content;
}

.imo_storename{
  font-size:1.25em;
  color:#C19213;
  font-weight:bold;
  padding:0.5em;
  line-height:1.25;
}

.imo_storecaption{
  color:#86304B;
  font-weight:bold;
  padding: 0.25em 0.5em;
  line-height:1.5;
}

.imo_videoarea{
  width:100%;
  max-width:800px;
  margin:40px auto;
  aspect-ratio: 16 / 9;
}

.imo_videoarea iframe {
  width: 100%;
  height: 100%;
}

.imo_infobox{
  width:98%;
  max-width:1200px;
  margin:auto;
  padding:40px 0;
}

.imo_infoboxtop{
  background-color:#FFF;
  border-radius:8px;
  padding:40px 0;
  display:flex;
}

.imo_flex_left,
.imo_flex_right{
 width:50%;
 padding-left:40px;
}

.imo_infoboxtop .imo_flex_left{
  display:flex;
  align-items: flex-start;
  border-right:solid 1px #C19213;
  padding-right:40px;
}

.imo_flex_left div p{
  color:#86304B;
}

.imo_flex_left div p:first-of-type{
  font-size:1.375em;
  line-height:1.375;
  font-weight:bold;
}

.imo_flex_left div p:last-of-type{
  font-size:0.875em;
  line-height:1.5;
}

.imo_flex_left div p:last-of-type span{
  display:inline;
}

.imo_flex_left span{
  display:block;
}

.imo_flex_left ul{
  color:#86304B;
  line-height:1.5;
  font-size:1.125em;
  margin-bottom:0.5em;
}

.imo_infottl{
  min-width:5em;
  color:#C19213;
  font-size:1.375em;
  font-weight:bold;
  line-height:1.375;
}

.imo_ktvlink a{
  color:#86304B;
  text-decoration: none;
  word-break: break-all;
}

.imo_ktvlink a:hover{
  text-decoration: underline;
}


.imo_flex_right p{
  line-height:1.5;
  padding-bottom:0.5em;
}

.imo_flex_right p:not([class]){
  font-size:1.375em;
  font-weight:bold;
  color:#86304B;
}

.imo_flex_right p:not([class]) span{
  font-weight:normal;
}

.imo_flex_right div{
  display:flex;
}

.imo_flex_right div:last-of-type span{
  font-size:0.65em;
}

.imo_infobtmflexbox{
  display:flex;
  justify-content: space-between;
  padding-bottom:40px;
  width:98%;
  max-width:1200px;
  margin:auto;
}

.imo_infobtmflexbox > div{
  width:48.75%;
}

.imo_ticketbox > div,
.imo_announcebox > div{
  background-color:#FFF;
  padding:32px;
}

.imo_pricebox{
  line-height:1.75;
  padding-bottom:0.5em;
}

.imo_onsale{
  color:#e44e44;
  font-weight:bold;
  font-size:1.25em;
}

.imo_pricebox p:not([class]){
  font-weight:bold;
}

.imo_pricebox p:not([class]) span{
  font-weight:normal;
  font-size:0.75em;
}

.imo_playguidebox > p:not([class]){
  font-weight:bold;
}

.imo_playguidebox ul li{
  font-size:0.875em;
  padding:0.25em 0;
  line-height:1.5;
}

.imo_playguidebox ul li a{
  color:#85304B;
  text-decoration: none;
}
.imo_playguidebox ul li a:hover{
  text-decoration: underline;
}
.imo_announcebox{
  display:flex;
  flex-direction: column;
}

.imo_announcebox > div{
  height:100%;
}

.imo_announcebox ul li{
  color:#86304B;
  list-style-type: disc;
  padding-bottom:0.5em;
  line-height:1.375;
  font-size:0.875em;
}

.imo_ticketbox{
  color:#85304B;
}

.imo_borderbox{
  border:solid 1px #85304B;
  border-radius: 8px;
}

/*--202401追加--*/
.imo_qabox{
  width:98%;
  max-width:1200px;
  margin:auto;
  padding-bottom:80px;
}
.imo_qabox .imo_borderbox{
  background-color:#FFF;
  padding:56px;
}
.imo_qabox ul{
  column-count: 2;
  column-gap: 2em;
  margin-bottom:2em;
}
.imo_qabox ul li{
  width:98%;
  line-height:1.375;
  margin-bottom:24px;
  padding-left:1em;
  text-indent:-1em;
  color:#86304B;
  page-break-inside: avoid;
  break-inside: avoid;
}

.imo_qabox ul li >p:first-of-type{
  color:#E44E44;
  font-weight:bold;
  font-size:1.125em;
  margin-bottom:0.25em;
}

.imo_qabox > div{
  color:#86304B;
  line-height:1.375;
}

.imo_qabox > div p span{
  font-weight:bold;
  font-size:1.125em;
  display: block;
}

.imo_qabox > div p a{
  color:#86304B;
  text-decoration: none;
}

.imo_qabox > div p a:hover{
  text-decoration:underline;
}

.imo_ticketbnr a img:hover{
  opacity:0.5;
}

/*-- 20240216追加 --*/
.imo_mapil{
  max-width:1170px;
  margin:auto;
  width:100%;
}

.imo_mapil p{
  color:#000;
  line-height:1.5;
  text-align:right;
  font-size:0.875em;
}

/*-- 20240221追加 --*/
.imo_tickettxt{
  padding-top:0.5em;
  line-height:1.375;
  font-weight:bold;
  font-size:1.375em;
  text-align:center;
}

.imo_itembtn{
  width:80%;
  max-width:480px;
  margin:auto;
  padding-bottom:24px;
}

.imo_itembtn a img:hover,
.imo_remainingtable a img:hover{
  opacity:0.5;
}

.imo_itembox{
  max-width:1200px;
  margin:auto;
  padding-bottom:80px;
}
.imo_itembox .imo_borderbox{
  background-color:#FFF;
  padding:56px;
}

.imo_itembox > p{
  text-align:right;
  line-height:1.5;
}

.imo_itemlistwp{
  display:flex;
  flex-wrap:wrap;
  align-items: flex-start;
}

.imo_itemlistwp li{
  width:50%;
}

@media screen and (max-width: 800px){
  .imo_comwrap{padding-bottom:120px;}
  .imo_tickettxt{font-size:0.875em;}
  .imo_phbg{
    display:none;
  }
  .imo_mainheader h1{
    width: 100vw;
  }
  .imo_txtticket{font-size:1.25em;line-height:1.25;}
  .imo_maintext{margin-top:24px;}
  .imo_maintext h2{
    font-size: 1.125em;
  }
  .imo_maintext p{font-size:1em;}
  .imo_contentsbox h3,
  .imo_infobox h3,
  .imo_infobtmflexbox h3,
  .imo_qabox h3,
  .imo_itembox h3{font-size:1.25em;}
  .imo_contentsbox h3::before,
  .imo_contentsbox h3::after,
  .imo_infobox h3::before,
  .imo_infobox h3::after,
  .imo_infobtmflexbox h3::before,
  .imo_infobtmflexbox h3::after,
  .imo_qabox h3::before,
  .imo_qabox h3::after,
  .imo_itembox h3::before,
  .imo_itembox h3::after{
    width: 20%;
    height: 16vw;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  .imo_contentsbox{
    padding-top:0;
  }

  .imo_contentsbox > ul{
    padding:0 1%;
    gap:16px 2.5%;
  }
  .imo_contentsbox > ul li{
    width:48.5%;
  }
  .imo_storeimg{padding:8px;}
  .imo_storename{font-size:1em;}
  .imo_storecaption{font-size:0.75em;}
  .imo_videoarea{width:96%;}
  .imo_infobox{padding-top:0;width:96%;}
  .imo_infoboxtop{display:block;padding-top: 24px;}
  .imo_flex_left, .imo_flex_right{
    width:100%;
    padding-left:24px;
  }
  .imo_infoboxtop .imo_flex_left{
    padding-right:24px;
    border-right:none;
    margin-bottom:0.5em;
    display:block;
  }
  .imo_infottl{font-size:1.125em;}
  .imo_flex_right p{padding-bottom:0;}
  .imo_flex_left div p:first-of-type{font-size:1em;}
  .imo_flex_left ul{font-size:0.875em;}
  .imo_flex_left div p:last-of-type span{display:block;}
  .imo_flex_left div p:last-of-type br{display:none;}
  .imo_flex_right p:not([class]){font-size:1em;}
  .imo_flex_right > div{
    margin-bottom:0.5em;
    display:block;
  }
  .imo_flex_right div:last-of-type span{font-size:0.875em;}
  .imo_infobtmflexbox{display:block;width:96%;margin:auto;}
  .imo_infobtmflexbox > div{width:100%;}
  .imo_announcebox{margin-top:40px;}
  .imo_comwrap a{color:#85304B;}
  
  /*-- 202401 add --*/
  .imo_qabox{
    width:96%;
  }
  .imo_qabox .imo_borderbox{padding:32px 24px;}
  .imo_qabox ul{column-count: 1;margin-bottom:0;}
  .imo_qabox ul li{
    width:100%;
    font-size:0.875em;
  }
  .imo_qabox ul li >p:first-of-type{font-size:1em;}
  .imo_qabox > div p span{font-size:1em;}
  .imo_qabox .imo_borderbox > div{
    font-size:0.875em;
  }
  .imo_itembox{
    width:96%;
  }
  .imo_itembox > p{
    font-size:0.875em;
  }
  .imo_itembox .imo_borderbox{padding:32px 24px;}
  
  .imo_itemlistwp li{
    width:100%;
  }
  
  .imo_remainingtable a{
    width:80%;
    display:block;
    margin:24px auto 0;
    max-width:480px;
  }
  .imo_pref{
    flex-direction:column-reverse;
  }
  .imo_pref span:nth-of-type(2){
    padding:0.375em;
    font-size:0.75em;
    margin-bottom:4px;
  }
  
}

/*-- animation --*/
.oimo_fadeout{
  animation-name: opacity-anim;
  animation-duration: 0.6s;
  animation-timing-function: ease;
  animation-fill-mode:forwards;
}

@keyframes opacity-anim {
  0%   {opacity: 1.0;}
  100% {opacity: 0.2;}
}

@keyframes fadeIn {
  0% {
    opacity: 0.2;
  }
  100% {
    opacity: 1.0;
  }
}



/*-- --*/
#adminBox, .acms-admin-box{
  z-index:2;
  position: relative;
}

.tss_footer{
  background-color:#86314C;
}
