/*--------------------------------
THEATER 
--------------------------------*/
.theater__revivalContents{
    padding-top: 0;
}

/* theater tabs: event__tab と同じ斜めタブ */
.theaterT {
  margin-top: min(6.6666666667vw, 100px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .theaterT {
    margin-top: max(12.8vw, 64px);
  }
}

.theater__tabList {
  display: flex;
  position: relative;
  z-index: 99;
  margin-left: min(-2.6666666667vw, -40px);
  margin-right: min(-2.6666666667vw, -40px);
  border-top: 1px solid #000;
  background: #FFF;
}
/*
.theater__tabList::before {
  content: "";
  display: inline-block;
  height: 1px;
  width: calc(100% - min(1.5833333333vw, 23.75px));
  background-color: #000;
  position: absolute;
  bottom: 0;
}
*/

.theater__tabItem {
  width: 33.333%;
  position: relative;
  padding: 0 12px;
}

.theater__tabItem:first-child {
  padding: 0 12px 0 40px;
}

.theater__tabItem:last-child {
  width: calc(33.333% - min(0.9166666667vw, 13.75px));
  margin: 0 auto;
  padding: 0 40px 0 12px;
}

.theater__tabItem::before {
  content: "";
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  -webkit-transform: skew(-25deg);
  transform: skew(-25deg);
  z-index: -1;
  -webkit-transition: all 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: all 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

.theater__tabLink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: min(calc(120 / 1200 * 100vw), 120px);
  margin: 0 auto;
  padding: min(calc(20 / var(--vw-min) * 100vw), 20px)  0;
  text-decoration: none;
  height: 100%;
}

.theater__tabLink img {
  display: block;
  height: min(calc(80 / 1200 * 100vw), 80px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 2px #fff);
}

.theater__tabLogos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.theater__tabLogos img {
  height: min(calc(72 / 1200 * 100vw), 72px);
  width: auto;
  max-width: calc(50% - 4px);
}

.theater__tabItem.is-active {
  pointer-events: none;
}

.theater__tabItem.is-active::before {
  background: #FFF;
}

@media screen and (max-width: 768px) {
  .theater__tabList {
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
  }

  .theater__tabList::before {
    display: none;
  }

  .theater__tabItem,
  .theater__tabItem:first-child,
  .theater__tabItem:last-child {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: calc(160 / 750 * 100vw);
    min-height: 88px;
    margin: 0;
    padding: 0 3.6vw;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
  }

  .theater__tabLink {
    height: 100%;
    min-height: 0;
    padding: max(3.2vw, 16px) 0;
    box-sizing: border-box;
  }

  .theater__tabLink img,
  .theater__tabLogos img {
    height: auto;
    max-height: 100%;
    width: auto;
    max-width: 100%;
  }

  .theater__tabLogos {
    height: 100%;
  }

  .theater__tabLogos img {
    max-width: calc(50% - 4px);
  }
}

/* theaterLists__embed */
.theaterLists__embed{
    width: 100%;
    max-width: min(calc(1020 / var(--vw-min) * 100vw), 1020px);
    margin: 0 auto;
    height: 100vh;
    border: none;
}
.theaterLists__embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}


.theaterCont{
    margin-top: calc(68 / var(--vw-min) * 100vw);
}
.theaterCont__inner {
    width: calc(100% - min(3.3333333333vw, 50px));
    padding-left: min(6.6666666667vw, 100px);
    padding-top: calc(60 / var(--vw-min) * 100vw);
    padding-bottom: calc(60 / var(--vw-min) * 100vw);
    display: flex;
    justify-content: center;
  }
  
  @media screen and (max-width: 768px) {

    .theaterCont{
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
    .theaterCont__inner {
      width: 100%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: max(6.4vw, 32px) max(6.6666666667vw, 33.3333333333px) 0;
    }
  }
  .sub__inanchors{
    margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
  }
  @media screen and (max-width: 768px) {
    .sub__inanchors{
      margin-top:calc(40 / var(--vw-min) * 100vw);
    }
  }

/* itemLists: 1枚表示 + ページャー / ページネーション */
#present .theaterCont__contents{
  width: 100%;
  min-width: 0;
  max-width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
  margin: 0 auto;
}
.itemListsWrap{
  width: 100%;
}
.itemLists.swiper{
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.itemLists .swiper-wrapper{
  list-style: none;
  margin: 0;
  padding: 0;
}
.itemLists__item{
  height: auto;
  box-sizing: border-box;
  pointer-events: none;
}
.itemLists__item.swiper-slide-active{
  pointer-events: auto;
}
.itemLists .theater__revivalCont--present{
  padding-top: 0;
  height: 100%;
}
#goods .theaterCont__contents{
  width: 100%;
  max-width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
  margin: 0 auto;
  min-width: 0;
}
#goods .p-products-list{
  margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
#goods .p-products-list__item-text-price{
  font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
  line-height: 1.8;
  color: var(--color-freedom);
}
@media screen and (max-width: 768px) {
  #goods .p-products-list__item-text-price{
    font-size: calc(12 / var(--vw-min) * 100vw);
  }
}
.goodsDetail{
  display: flex;
  align-items: flex-start;
  gap: min(calc(40 / var(--vw-min) * 100vw), 40px);
  max-width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
  background: #FFF;
  padding: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.goodsDetail__img{
  flex: 0 0 42%;
  max-width: 420px;
}
.goodsDetail__img img{
  display: block;
  width: 100%;
  height: auto;
}
.goodsDetail__body{
  flex: 1;
  min-width: 0;
  padding-top: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
.goodsDetail__title{
  font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
  font-weight: 700;
  line-height: 1.6;
}
.goodsDetail__list{
  margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.goodsDetail__item{
  display: flex;
  gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
  padding: min(calc(12 / var(--vw-min) * 100vw), 12px) 0;
  border-top: 1px solid #CCC;
  font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
  line-height: 1.8;
}
.goodsDetail__item:last-child{
  border-bottom: 1px solid #CCC;
}
.goodsDetail__item dt{
  flex: 0 0 4em;
  font-weight: 700;
}
.goodsDetail__item dd{
  flex: 1;
}
.goodsDetail__notes{
  margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.goodsDetail__notes li{
  font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .goodsDetail{
    flex-direction: column;
    gap: calc(20 / var(--vw-min) * 100vw);
    padding: calc(16 / var(--vw-min) * 100vw);
  }
  .goodsDetail__img{
    flex: none;
    width: 100%;
    max-width: none;
  }
  .goodsDetail__title{
    font-size: calc(16 / var(--vw-min) * 100vw);
  }
  .goodsDetail__item,
  .goodsDetail__notes li{
    font-size: calc(12 / var(--vw-min) * 100vw);
  }
}

.itemLists .oneTokuten__img > img{
  width: 100%;
  max-width: 100%;
  height: auto;
}

.itemLists__controls{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(calc(12 / var(--vw-min) * 100vw), 12px);
  margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.itemLists__prev,
.itemLists__next{
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: min(calc(95 / var(--vw-min) * 100vw), 95px);
  height: min(calc(32 / var(--vw-min) * 100vw), 32px);
  padding: 0 min(calc(16 / var(--vw-min) * 100vw), 16px);
  border: 0;
  background: #000;
  color: #FFF;
  font-family: var(--font-futura);
  font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
.itemLists__prev span,
.itemLists__next span{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  font-family: var(--font-futura);
}
.itemLists__prev span{
  justify-content: flex-end;
  padding-left: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.itemLists__next span{
  justify-content: flex-start;
  padding-right: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.itemLists__prev span::before,
.itemLists__next span::before{
  content: "";
  position: absolute;
  bottom: 0;
  width: min(calc(16 / var(--vw-min) * 100vw), 16px);
  height: min(calc(6 / var(--vw-min) * 100vw), 6px);
  background-color: #FFF;
  mask: url(../img/common/icon/icon_arrow2.svg) no-repeat center center / contain;
  transition: left 0.3s ease, right 0.3s ease;
}
.itemLists__prev span::before{
  left: 0;
  transform: translateY(-50%) scaleX(-1);
}
.itemLists__next span::before{
  right: 0;
  transform: translateY(-50%);
}
.itemLists__prev.swiper-button-disabled,
.itemLists__next.swiper-button-disabled{
  opacity: 0.3;
  pointer-events: none;
}
.itemLists__pagination{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(4 / var(--vw-min) * 100vw), 4px);
}
.itemLists__pagination .swiper-pagination-bullet{
  width: calc(6 / var(--vw-min) * 100vw);
  height: calc(6 / var(--vw-min) * 100vw);
  margin: 0;
  border-radius: 50%;
  background: #000;
  opacity: 1;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.itemLists__pagination .swiper-pagination-bullet-active{
  background: var(--color-freedom);
}
@media screen and (hover: hover) {
  .itemLists__prev:not(.swiper-button-disabled):hover,
  .itemLists__next:not(.swiper-button-disabled):hover,
  .itemLists__pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover{
    background: var(--color-freedom);
  }
  .itemLists__prev:not(.swiper-button-disabled):hover span::before{
    left: min(calc(-4 / var(--vw-min) * 100vw), -4px);
  }
  .itemLists__next:not(.swiper-button-disabled):hover span::before{
    right: min(calc(-4 / var(--vw-min) * 100vw), -4px);
  }
}
@media screen and (max-width: 768px) {
  .itemLists__controls{
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: calc(12 / var(--vw-min) * 100vw);
    padding-bottom: calc(56 / var(--vw-min) * 100vw);
  }
  .itemLists__prev,
  .itemLists__next{
    position: absolute;
    bottom: 0;
    width: calc(100 / var(--vw-min) * 100vw);
    height: calc(40 / var(--vw-min) * 100vw);
    font-size: calc(16 / var(--vw-min) * 100vw);
  }
  .itemLists__prev{
    left: 0;
  }
  .itemLists__next{
    right: 0;
  }
}

#ticket .theaterCont__contents,
#ticket .theater__box,
#ticket .theater__boxIn{
  width: 100%;
}
#ticket .theater__box{
  padding-top: 0;
}
#ticket .theater__boxIn{
  padding: 0;
}
.ticketItemBox{
  max-width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
  margin: 0 auto;
  background: #FFF;
  padding: min(calc(40 / var(--vw-min) * 100vw), 40px);
  border: 1px solid #CCC;
}
.ticketItemBox__inner{
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width: 768px) {
  .ticketItemBox__inner{
    flex-direction: column;
    gap: 0;
  }
}
.ticketItemBox:not(:first-child){
  margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.ticketItemBox__img{
  flex: 0 0 42%;
  max-width: 420px;
  align-self: stretch;
}
.ticketItemBox__img .oneTokuten{
  position: sticky;
  top: min(calc(120 / var(--vw-min) * 100vw), 120px);
  flex-direction: column;
  align-items: stretch;
  align-self: flex-start;
  gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
  margin: 0 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.ticketItemBox__img .oneTokuten:last-child{
  margin-bottom: 0;
}
.ticketItemBox__img .oneTokuten__img{
  height: 100%;
  margin-bottom: 8px;
}
.ticketItemBox__img .oneTokuten__img > img{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
}
.ticketItemBox__body{
  flex: 1;
  min-width: 0;
  padding-top: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
@media screen and (max-width: 768px) {
  .ticketItemBox__body{
    width: 100%;
  }
}
.ticketItemBox__release{
  margin-bottom: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.ticketItemBox__release span{
  display: inline-block;
  padding:0 min(calc(12 / var(--vw-min) * 100vw), 12px);
  background:var(--color-freedom);
  color: #FFF;
  font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
  font-weight: 700;
  line-height: 1.4;
}
.ticketItemBox__ttl{
  display: flex;
  align-items: flex-start;
  gap: min(calc(24 / var(--vw-min) * 100vw), 24px);
  width: 100%;
  margin-bottom: 0;
  color: #000;
  line-height: 1.2;
  font-size: min(calc(28 / var(--vw-min) * 100vw), 28px);
  margin-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
  font-weight: 700;
}

.ticketItemBox__ttl__name{
  padding-left: min(calc(24 / var(--vw-min) * 100vw), 24px);
  background: url(../../../assets/img/common/deco/deco_line.svg) no-repeat left top 2px / 5px auto;
}
.ticketItemBox__body .theater__ticket--list{
  margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
  margin-bottom:  min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.ticketItemBox__body .theater__ticket--item{
  gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
  margin-bottom: 0;
  padding: min(calc(12 / var(--vw-min) * 100vw), 12px) 0;
  border-top: 1px solid #CCC;
}
.ticketItemBox__body .theater__ticket--item:last-child{
  border-bottom: 1px solid #CCC;
}
.ticketItemBox__body .theater__ticket--item dt{
  flex: 0 0 4em;
  width: 4em;
  color: #000;
  font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
  font-weight: 700;
  text-align: left;
}
.ticketItemBox__body .theater__ticket--item dd{
  flex: 1;
  width: auto;
  padding-left: 0;
  font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
  line-height: 1.8;
}
.ticketItemBox__body .theater__ticket--item dd::before{
  display: none;
}
.ticketItemBox__body .theater__ticket--caution{
  margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
  margin-bottom: 0;
}
.ticketItemBox__body .theater__ticket--text.text-caution{
  font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
  line-height: 1.8;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .ticketItemBox{
    flex-direction: column;
    gap: calc(20 / var(--vw-min) * 100vw);
    padding: calc(16 / var(--vw-min) * 100vw);
  }
  .ticketItemBox__img{
    flex: none;
    width: 100%;
    max-width: none;
    align-self: auto;
  }
  .ticketItemBox__img .oneTokuten{
    position: static;
    top: auto;
  }
  .ticketItemBox__ttl{
    gap: calc(12 / var(--vw-min) * 100vw);
    font-size: calc(14 / var(--vw-min) * 100vw);
  }
  .ticketItemBox__ttl__num{
    font-size: calc(14 / var(--vw-min) * 100vw);
    width: calc(65 / var(--vw-min) * 100vw);
  }
  .ticketItemBox__ttl__name{
    padding-left: calc(12 / var(--vw-min) * 100vw);
    font-size: calc(14 / var(--vw-min) * 100vw);
    background: url(../../../assets/img/common/deco/deco_line.svg) no-repeat left top calc(2 / var(--vw-min) * 100vw) / calc(3 / var(--vw-min) * 100vw) auto;
  }
  .ticketItemBox__release span{
    font-size: calc(12 / var(--vw-min) * 100vw);
  }
  .ticketItemBox__body .theater__ticket--item dt,
  .ticketItemBox__body .theater__ticket--item dd,
  .ticketItemBox__body .theater__ticket--text.text-caution{
    font-size: calc(12 / var(--vw-min) * 100vw);
  }
}

.teater__hr{
  margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
  margin-bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
  border: 0;
  border-top: 1px solid #CCC;
}
@media screen and (max-width: 768px) {
  .teater__hr{
    margin-top: calc(40 / var(--vw-min) * 100vw);
    margin-bottom: calc(40 / var(--vw-min) * 100vw);
  }
}
.theater .oneTokuten__text--name{
  color: unset;
  font-weight: unset;
  font-size: unset;
}
.theater .oneTokuten__img > img{
  margin: unset;
}
.theater .event__subheading{
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .theater .goods__boxIn {
      padding: 0 0;
  }
}
@media screen and (max-width: 768px) {
  #js-normalModal{
    padding: calc(20 / var(--vw-min) * 100vw);
  }
}
.txt_box{
  display: inline-block;
  padding: 0 min(calc(6 / var(--vw-min) * 100vw), 6px);
  border: 1px solid #000;
  line-height: 1.1;
}
.text-caution a{
  color:var(--color-freedom);
  text-decoration: underline;
  word-break: break-all;
}
.text-caution a:hover{
  text-decoration: none;
}