@charset "utf-8";

/*-----------------------------------------------
 * wrapper
-------------------------------------------------*/
.wrapper {
  position: relative;
  font-size: 1.6rem;
  letter-spacing: .1em
}

@media screen and (min-width: 769px) {
  .wrapper {
    max-width: 200rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 4rem auto
  }
}

@media screen and (max-width: 768px) {
  .wrapper {
    width: 100%;
    margin: 10% auto 0
  }
}

.c_title_h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 6.8rem;
  line-height: 1;
  color: #ffa614;
  font-weight: 400;
  letter-spacing: .5rem;
  margin-bottom: 3rem
}

@media screen and (max-width: 768px) {
  .c_title_h2 {
    font-size: 3.4rem;
    font-weight: 600;
    white-space: nowrap;
    margin-bottom: 0rem
  }
}

@media screen and (min-width: 769px) {
  .sub {
    width: 14vw;
    min-width: 26rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 0 0 2vw;
    position: sticky;
    left:0;
    top:20px;
    z-index: 10
  }
}

/*-----------------------------------------------
 * header
-------------------------------------------------*/
.header.fixed {
  position: fixed
}

@media screen and (min-width: 769px) {
  .header {
    width: 26rem;
    border: 3px solid #ffa614;
    -webkit-box-shadow: 5px 3px #ffa614;
    box-shadow: 5px 3px #ffa614;
    background-color: #fff;
    border-radius: 4rem;
    z-index: 10
  }
}

@media screen and (max-width: 768px) {
  .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    width: 100%;
    height: 100vh;
    background-color: #ffa614
  }
}

.header__body {
  padding: 2rem 2.5rem 2rem;
}

@media screen and (max-width: 768px) {
  .header__body {
    padding: 2rem 12% 12rem;
    overflow: auto;
  }
}

.header__item {
  position: relative
}

.header__item.c_icon::before {
  width: 26px;
  height: 26px;
  background-color: #ffa614;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center
}

@media screen and (max-width: 768px) {
  .header__item.c_icon::before {
    background-color: #fff
  }
}

.header__item.c_icon:hover::before {
  -webkit-animation: ani-bounce .3s ease infinite alternate;
  animation: ani-bounce .3s ease infinite alternate
}

.header__item a {
  padding: 0.8rem 0 0 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
  font-family: "Josefin Sans", sans-serif
}

@media screen and (min-width: 769px) {
  .header__item a {
    color: #ffa614
  }
}

@media screen and (max-width: 768px) {
  .header__item a {
    padding-left: 1.6rem;
    font-size: 2.2rem;
    color: #fff
  }
}

@media screen and (min-width: 769px) {
  .header__logo {
    background-color: #ffa614;
    border-radius: 0 0 4rem 4rem;
    border: 3px solid #fff
  }
}

.header__logo img {
  max-width: 16rem;
  display: block;
  margin: 0 auto;
  padding: 2rem 0 2.5rem
}

@media screen and (max-width: 768px) {
  .header__logo img {
    max-width: 14rem;
    padding: 2.2rem 0 2.5rem 2rem
  }
}

/*-----------------------------------------------
 * mv
-------------------------------------------------*/
.mv {
  width: 100%;
  padding-top: 63.667%;
  position: relative;
}

.mv__swipe {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}

.mv__lists {}

.mv__list {}

.mvs {
  width: 100%;
  padding-top: 63.667%;
}

.mv1 {
  background: url(../../assets/img/index/mv_image_pc.jpg) no-repeat center bottom/cover
}

.mv2 {
  background: url(../../assets/img/index/mv_image2_pc.jpg) no-repeat center bottom/cover
}

.mv__nav {
  position: absolute;
  right: 20px;
  top: 20px;
  display: flex;
  z-index: 2;
}

.mv__navlist {
  margin-left: 5px;
  background: #FFF;
  border-radius: 5px;
  filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, 0.6));
}

.mv__nav--link {
  border: 4px solid #CCC;
  width: 148px;
  height: 70px;
  display: block;
  border-radius: 5px;
  padding-left: 20px;
  text-decoration: none;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  overflow: hidden;
  position: relative;

}

.mv__nav--link .mnl--name {
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  bottom: 0;
  display: block;
  color: #FFF;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  line-height: 24px;
  transition: all 0.3s;
}

.mv__nav--link.active {
  border-color: #ffa614;
  background-color: #ffa614;
}

.mv1__thumb {
  background: url(../img/index/mv_image-t_pc.jpg) no-repeat center right / contain;
  background-color: #CCC;
}

.mv2__thumb {
  background: url(../img/index/mv_image2-t_pc.jpg) no-repeat center right / contain;
  background-color: #CCC;
}

@media screen and (max-width: 959px) {
  .mv {
    width: 100%;
    padding-top: 110%;
    margin-bottom: 100px;
  }

  .mv1 {
    background: url(../../assets/img/index/mv_image_sp.jpg) no-repeat center top/cover;
    padding-top: 110%;
  }

  .mv2 {
    background: url(../../assets/img/index/mv_image2_sp.jpg) no-repeat center top/cover;
    padding-top: 110%;
  }

  .mv__nav {
    position: absolute;
    right: 0;
    left: 0;
    top: auto;
    bottom: -80px;
    display: flex;
    z-index: 2;
    justify-content: center;
  }

  .mv__navlist {
    margin-left: 5px;
    margin-right: 5px;
    background: #FFF;
    border-radius: 5px;
    filter: none;
  }

  .mv__nav--link .mnl--name {
    font-size: 10px;
  }
}

@media screen and (min-width: 960px) {}

/*-----------------------------------------------
 * BDDVD bnr
-------------------------------------------------*/
.top_bd img{
  width: 150px;
}

.top_bd{
  position: absolute;
  top:30px;
  left: 30px;
  display: flex;
  z-index: 2;
}

@media screen and (max-width: 959px) {
  .top_bd img{
    width: 80px;
  }
  .top_bd{
    position: absolute;
    top:207px;
    left: 15px;
    display: flex;
  z-index: 2;
  }
}

/*-----------------------------------------------
 * main
-------------------------------------------------*/
.main {
  width: 83vw;
  overflow: hidden
}

@media screen and (min-width: 769px) {
  .main {
    margin: 3rem 0 0 0rem;
    padding: 0 0 0 3rem
  }
}

@media screen and (max-width: 768px) {
  .main {
    width: 100%
  }
}

.mainCaution {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .mainCaution {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.mainCaution__body {
  max-width: 100rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .mainCaution__body {
    max-width: 100%
  }
}

@media screen and (min-width: 768px) {
  .mainCaution__item {
    width: 48%;
    position: relative;
    min-width: 38rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .mainCaution__item {
    width: 48%;
  }
}

.mainCaution__item--txt {
  width: 84%;
}

@media screen and (max-width: 1024px) {
  .mainCaution__item--txt br {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .mainCaution__item--txt {}
}

.mainCaution__item--link {
  position: relative;
  display: block;
  line-height: 1.5;
  font-weight: 600;
  color: #ffa614;
  letter-spacing: .1em
}

@media screen and (min-width: 769px) {
  .mainCaution__item--link {
    max-width: 48rem;
    height: 7rem;
    margin: 2rem auto 0;
    padding: 1rem 0 1rem 1rem;
    border: 4px solid #ffa614;
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left
  }
}

@media screen and (max-width: 768px) {
  .mainCaution__item--link {
    width: 100%;
    height: 12rem;
    border: 2px solid #ffa614;
    font-size: 1.2rem;
    padding: 1rem 0.5rem 4rem 0.5rem;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.mainCaution__item--link .icon_arrow {
  position: absolute;
  top: 1.8rem;
  right: 2rem;
  z-index: 1;
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}

@media screen and (max-width: 768px) {
  .mainCaution__item--link .icon_arrow {
    top: auto;
    bottom: .8rem;
    right: 50%;
    margin-right: -1rem
  }
}

.mainCaution__item--link .icon_arrow::before {
  background-color: #ffa614
}

.mainCaution__item--link:hover .icon_arrow {
  top: 2.3rem
}

.mainCaution__item--link:hover .icon_arrow::before {
  background-color: #fff
}

@media screen and (max-width: 768px) {
  .mainCaution__item--link:hover .icon_arrow {
    top: auto
  }

  .mainCaution__item--link:hover .icon_arrow::before {
    bottom: .8rem;
  }
}

.news {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .news {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.news__card {
  position: relative
}

.news__card::before {
  content: '';
  display: block;
  width: 250%;
  height: 0.1rem;
  background: url(../../assets/img/index/news_line.svg) repeat-x;
  position: absolute;
  left: -50%;
  bottom: 0
}

.news__card:last-child::before {
  background: none
}

.news__card .icon_arrow::before {
  background-color: #ffa614
}

.news__card--date {
  width: 12rem;
  display: block;
  border-radius: 30rem;
  padding: .4rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #ffa614;
  margin-right: 2.4rem
}

@media screen and (max-width: 768px) {
  .news__card--date {
    width: 8rem;
    padding: .1rem 0;
    font-size: 1rem;
    margin-right: 1rem;
  }
}

.news__card--title {
  width: 70rem;
  display: block;
  padding: .4rem 0;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  margin-right: 2.4rem
}

@media screen and (max-width: 768px) {
  .news__card--title {
    width: 65%;
    padding: .1rem 0;
    font-size: 1.2rem;
    margin-right: .5rem;
  }
}

.news__card--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2.2rem 0
}

@media screen and (max-width: 768px) {
  .news__card--link .c_icon::before {
    width: 16px;
    height: 16px
  }
}

.news__card--link:hover {
  color: #ffa614
}

.news__card--link:hover .c_icon::before {
  margin-right: -.5rem
}

.news__card--text {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width: 768px) {
  .news__card--text {
    font-size: 1rem;
  }
}

.btn_newsMore{
  margin-top: 32px;
}
.btn_newsMore .common_btnLink{
    color: #ffa614;
    border-color: #ffa614;
}
.btn_newsMore .ani_borderleft::before{
  background-color: #ffa614;
}
.btn_newsMore .icon_arrow::before{
  background-color: #ffa614;
}

/*-----------------------------------------------
 * intro
-------------------------------------------------*/
.intro {
  margin: 0 3rem 9rem 4rem;
}

@media screen and (max-width: 768px) {
  .intro {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

@media screen and (max-width: 769px) {
  .intro .c_title_h2 {
    font-size: 3rem;
    margin-bottom: 2rem
  }
}

.intro__subTitle {
  font-size: 3.5rem;
  line-height: 1.25;
  margin: 4.5rem 0 3rem 0;
  color: #ffa614;
  font-weight: 600;
  letter-spacing: .12em
}

@media screen and (max-width: 768px) {
  .intro__subTitle {
    margin: 2rem 0 1.5rem 0;
    font-size: 1.75rem
  }
}

.intro__text {
  font-size: 1.6rem;
  line-height: 2.15;
  letter-spacing: .2em
}

@media screen and (min-width: 769px) {
  .intro__text {
    margin-left: .5rem
  }
}

@media screen and (max-width: 768px) {
  .intro__text {
    font-size: 1.2rem
  }
}

/*-----------------------------------------------
 * shedule
-------------------------------------------------*/
.schedule {
  margin: 0 3rem 10rem 4rem
}

@media screen and (max-width: 768px) {
  .schedule {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

@media screen and (min-width: 769px) {
  .schedule .c_title_h2 {
    margin-bottom: 4rem
  }
}

@media screen and (max-width: 768px) {
  .schedule .c_title_h2 {
    margin-bottom: 2.5rem
  }
}

.schedule__linkArea {
  position: relative;
  padding: 0;
  margin-bottom: .5rem
}

@media screen and (max-width: 768px) {
  .schedule__linkArea {
    margin-bottom: 1rem;
    padding: 0
  }
}

.schedule__linkArea a {
  background: linear-gradient(-45deg, #ffb337 25%, #ffa614 25%, #ffa614 50%, #ffb337 50%, #ffb337 75%, #ffa614 75%, #ffa614);
  background-size: 60px 60px;
  padding: 4rem 0;
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  letter-spacing: .1em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.8rem 0;
  font-size: 2.5rem;
  color: #fff;
  letter-spacing: .35rem;
  -webkit-transition: all .3s;
  transition: all .3s
}

.schedule__linkArea a .c_icon::before {
  width: 2.6rem;
  height: 2.6rem
}

@media screen and (max-width: 1024px) {
  .schedule__linkArea a {
    font-size: 1.6rem;
    padding: 2rem 0
  }

  .schedule__linkArea .c_icon {
    top: 2.3rem;
  }
}

@media screen and (max-width: 768px) {
  .schedule__linkArea a {
    font-size: 1.3rem;
    padding: 2rem 0
  }

  .schedule__linkArea a .c_icon::before {
    width: 2rem;
    height: 2rem
  }
}

.schedule__linkArea a:hover {
  opacity: .8
}

.schedule__linkArea a:hover .c_icon {
  right: 2.5rem
}

@media screen and (max-width: 768px) {
  .schedule__linkArea a {
    padding: 1.4rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .2rem
  }
}

.schedule__linkArea .c_icon {
  position: absolute;
  top: 4.2rem;
  right: 3rem;
  -webkit-transition: all .3s;
  transition: all .3s
}

@media screen and (max-width: 768px) {
  .schedule__linkArea .c_icon {
    top: 3.5rem;
    right: 1.5rem;
  }
}

.schedule__linkArea .icon_arrow::before {
  background-color: #fff
}

.schedule__imgArea--img {
  width: 100%;
}

.schedule__imgArea--text {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: .1rem;
  font-weight: 600;
  text-align: left
}

@media screen and (max-width: 768px) {
  .schedule__imgArea--text {
    margin-top: 1rem;
    font-size: 1.2rem
  }
}

.schedule__imgArea--text a {
  color: #ffa614;
  text-decoration: underline
}

.schedule__bnr {}

.schedule__bnr .schedule__bnr--link {
  max-width: 58rem;
}



/*-----------------------------------------------
 * cast
-------------------------------------------------*/
.cast {
  margin: 0 3rem 8rem 4rem;
  margin-right: 0;
  position: relative
}

@media screen and (max-width: 768px) {
  .cast {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.cast__body {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width: 768px) {
  .cast__body {
    margin: 3rem 0 -2rem 0
  }
}

@media screen and (min-width: 769px) {
  .cast__card {
    min-width: 19rem;
    max-width: 24rem;
    margin: 0 2rem 4rem 0
  }
}

@media screen and (max-width: 768px) {
  .cast__card {
    width: 33%;
    margin: 0 0 2rem 0
  }
}

.cast__card a:hover {
  color: #ffa614
}

.cast__card a:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05)
}

.cast__img {
  width: 18rem;
  height: 18rem;
  display: block;
  margin: 0 auto 1.2rem;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%
}

@media screen and (max-width: 768px) {
  .cast__img {
    max-width: 9rem;
    max-height: 9rem;
    margin: 0 auto .5rem
  }
}

.cast__name {
  color: #ffa614;
  font-size: 1.6rem;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .cast__name {
    font-size: 1.2rem
  }

  .cast__name img {
    vertical-align: middle;
    width: 20%;
  }
}

.cast__text {
  text-align: center;
  line-height: 4
}

@media screen and (max-width: 768px) {
  .cast__text {
    font-size: 1.2rem;
    line-height: 2;
    margin-top: 2rem;
  }
}

/*-----------------------------------------------
 * staff
-------------------------------------------------*/
.staff {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .staff {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.staff__list {
  margin: 5rem 0 10rem 0
}

@media screen and (max-width: 768px) {
  .staff__list {
    margin: 3rem 0 7rem 0
  }
}

.staff__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 2.5rem
}

.staff__item--part {
  width: 12rem;
  display: block;
  border-radius: 30rem;
  padding: .4rem 0;
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #ffa614;
  margin-right: 2.4rem
}

@media screen and (max-width: 768px) {
  .staff__item--part {
    max-width: 8rem;
    padding: .2rem 0;
    margin-right: 1.2rem;
    font-size: 1rem
  }
}

.staff__item--name {
  font-size: 1.6rem;
  line-height: 2.1;
  font-weight: 600;
  letter-spacing: .15em
}

@media screen and (max-width: 768px) {
  .staff__item--name {
    font-size: 1.2rem;
    line-height: 2
  }
}

/*-----------------------------------------------
 * ticket
-------------------------------------------------*/
.ticket {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .ticket {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.ticket__price {
  background: linear-gradient(-45deg, #65b8e3 25%, #4aacde 25%, #4aacde 50%, #65b8e3 50%, #65b8e3 75%, #4aacde 75%, #4aacde);
  background-size: 60px 60px;
  padding: 4rem 0;
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  letter-spacing: .1em;
  text-align: center;
  margin: 5rem 0 0 0
}

.ticket__price .c_icon::before {
  width: 2.6rem;
  height: 2.6rem
}

@media screen and (max-width: 768px) {
  .ticket__price {
    font-size: 1.3rem;
    padding: 2rem 0
  }
}

@media screen and (max-width: 768px) {
  .ticket__price {
    margin: 3rem 0 0rem 0
  }
}

.ticket--card {
  list-style: disc;
  margin-bottom: 3rem
}

.ticket__detail {
  margin: 3.5rem 7rem
}

@media screen and (max-width: 768px) {
  .ticket__detail {
    margin: 2.1rem 1.5rem
  }
}

.ticket__detail--text {
  font-size: 1.6rem;
  line-height: 2.1;
  font-weight: 600
}

@media screen and (max-width: 768px) {
  .ticket__detail--text {
    font-size: 1.2rem
  }
}

.ticket__detail--text span {
  color: #ff76a4;
  font-weight: 700;
}

.ticket__detail--text a {
  color: #ffa614;
  text-decoration: underline
}

.common_btnLink {
  position: relative;
  max-width: 48rem;
  margin: 2rem auto;
  padding: 1rem 0;
  display: block;
  border: 4px solid #4aacde;
  font-size: 2rem;
  font-weight: 600;
  color: #4aacde;
  text-align: center;
  letter-spacing: .1em
}

@media screen and (max-width: 768px) {
  .common_btnLink {
    padding: .8rem 0;
    font-size: 1.4rem
  }
}

.icon_arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: all .3s;
  transition: all .3s
}
/* 
.icon_arrow:hover {
  right: 1rem
} */

@media screen and (max-width: 768px) {
  .icon_arrow {
    width: 18px;
    height: 18px;
  }
}

.icon_arrow::before {
  background-color: #4aacde
}

@media screen and (min-width: 769px) {
  .icon_arrow::before {
    width: 2rem;
    height: 2rem
  }
}

@media screen and (max-width: 768px) {
  .icon_arrow::before {
    width: 1.8rem;
    height: 1.8rem
  }
}

.common_btnLink:hover .c_icon.icon_arrow {
  right: 1.5rem
}

.common_btnLink:hover .c_icon.icon_arrow::before {
  background-color: #fff
}

.ticket__caution {
  margin: 8rem
}

@media screen and (max-width: 768px) {
  .ticket__caution {
    margin-top: 5rem;
    margin: 2.1rem 2rem
  }
}

.ticket__caution--h3 {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: .2em;
  margin-bottom: 3rem
}

@media screen and (max-width: 768px) {
  .ticket__caution--h3 {
    font-size: 1.2rem;
    margin-bottom: 1rem
  }
}

.ticket__caution--body {
  margin-bottom: 3rem
}

@media screen and (max-width: 768px) {
  .ticket__caution--body {
    margin: 0 0 3rem 1rem
  }
}

.ticket__caution--card {
  list-style: disc
}

.ticket__caution--card p {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4;
  letter-spacing: .1em
}

@media screen and (max-width: 768px) {
  .ticket__caution--card p {
    font-size: 1.2rem;
    line-height: 2
  }
}

.ticket__caution--endText {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4;
  letter-spacing: .1em;
  text-align: center
}

@media screen and (max-width: 768px) {
  .ticket__caution--endText {
    font-size: 1.2rem;
    line-height: 2;
    text-align: left
  }
}

.ticket__detail--playguideLists {
  margin: 3.5rem 0;
}

.ticket__detail--playguideList {
  margin: 3.5rem 0;
  font-weight: 600;
}

.ticket__detail--playguideList_title {
  font-size: 18px;
  font-weight: 700;
}

.ticket__detail--playguideList .common_btnLink {
  margin: 2rem 0;
}

.ticket__detail--playguideList_caution a {
  text-decoration: underline;
  display: inline-block;
  color: #4aacde;
}

@media screen and (max-width: 768px) {
  .ticket__detail--playguideList_title {
    font-size: 1.3rem;
  }

  .ticket__detail--playguideLists {
    font-size: 1.2rem;
  }
}

.ticket_tit {
  background-color: #4aacde;
  color: #fff !important;
  padding: 10px 20px;
  display: block;
  margin-bottom: 15px;
}

/*-----------------------------------------------
 * inquiry
-------------------------------------------------*/
.inquiry {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .inquiry {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.inquiry__h3.bg-stripe-pink {
  background: linear-gradient(-45deg, #ffabc1 25%, #ff9cb6 25%, #ff9cb6 50%, #ffabc1 50%, #ffabc1 75%, #ff9cb6 75%, #ff9cb6);
  background-size: 60px 60px;
  padding: 4rem 0;
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  letter-spacing: .1em;
  text-align: center
}

.inquiry__h3.bg-stripe-pink .c_icon::before {
  width: 2.6rem;
  height: 2.6rem
}

@media screen and (max-width: 768px) {
  .inquiry__h3.bg-stripe-pink {
    font-size: 1.3rem;
    padding: 2rem 0
  }
}

.inquiry__h3.bg-stripe-orange {
  background: linear-gradient(-45deg, #ffb337 25%, #ffa614 25%, #ffa614 50%, #ffb337 50%, #ffb337 75%, #ffa614 75%, #ffa614);
  background-size: 60px 60px;
  padding: 4rem 0;
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  letter-spacing: .1em;
  text-align: center
}

.inquiry__h3.bg-stripe-orange .c_icon::before {
  width: 2.6rem;
  height: 2.6rem
}

@media screen and (max-width: 768px) {
  .inquiry__h3.bg-stripe-orange {
    font-size: 1.3rem;
    padding: 2rem 0
  }
}

.inquiry__body {
  margin: 4.2rem 6rem 6rem
}

@media screen and (max-width: 768px) {
  .inquiry__body {
    margin: 2rem 2rem 4rem
  }
}

.inquiry__item {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4;
  letter-spacing: .1em;
  margin-bottom: 1em;
}

.inquiry__item:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .inquiry__item {
    font-size: 1.2rem;
    line-height: 2
  }
}

.inquiry__item b {
  display: block
}

.inquiry__item a {
  text-decoration: underline;
  color: #ffa614
}

@media screen and (max-width: 768px) {
  .inquiry__item p {
    margin-top: 2rem;
    font-size: 1rem;
    line-height: 2
  }
}

/*-----------------------------------------------
 * banner
-------------------------------------------------*/
.banner {
  margin: 0 3rem 8rem 4rem
}

@media screen and (max-width: 768px) {
  .banner {
    margin: 0 0 5rem 0;
    padding: 0 4% 0 4%
  }
}

.banner__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width: 768px) {
  .banner__body {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (min-width: 769px) {
  .banner__item {
    max-width: 40rem;
    margin-right: 1.3rem
  }
}

@media screen and (max-width: 768px) {
  .banner__item {
    width: 49%
  }
}

.banner__item img {
  width: 100%;
  height: auto
}

/*-----------------------------------------------
 * footer
-------------------------------------------------*/
.footer {
  width: 100%;
  padding: 6rem 2rem 15rem;
  position: relative;
  background-color: #ffa614
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width: 768px) {
  .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
  }
}

.footer__share {
  width: 20rem
}

.footer__share--body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.footer__share--ttl {
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff
}

.footer__logo {
  width: 28rem
}

@media screen and (max-width: 768px) {
  .footer__logo {
    margin-bottom: 4rem
  }
}

.footer__top .icon_arrow {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  position: relative !important;
}

@media screen and (max-width: 768px) {
  .footer__top .icon_arrow {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    right: 50%;
    transform: rotate(-90deg) translate(50%, 50%);
    z-index: 1;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
}

.footer__top .icon_arrow::before {
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  position: relative;
}

.footer__top:hover {
  -webkit-animation: ani-bounce .3s ease infinite alternate;
  animation: ani-bounce .3s ease infinite alternate
}

@media screen and (max-width: 768px) {
  .footer__top {
    position: absolute;
    bottom: 5rem
  }
}

.footer__copy {
  margin-top: 2rem
}

.footer__copy--text {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: left;
  letter-spacing: .2em
}

@media screen and (max-width: 768px) {
  .footer__copy--text {
    font-size: .8rem;
    text-align: center
  }
}

.footer__copy--text a{
  color: #fff;
  text-decoration: underline;
}

/*-----------------------------------------------
 * modal
-------------------------------------------------*/
.modal {
  display: none;
  background: rgba(255, 255, 255, 0.95);
  height: 100vh;
  width: 100%;
  height: 100%;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.modal__bg {
  position: absolute;
  width: 100%
}

.modal__content {
  width: 60%;
  margin: 0 auto;
  display: block;
  padding: 10rem 4rem;
  display: block;
}

@media screen and (max-width: 768px) {
  .modal__content {
    width: 90%;
    padding: 80px 0px;
    margin: 0 auto;
  }
}

.modal__img {
  width: 42rem;
  margin: 0 auto;
  overflow: hidden;
  margin-bottom: 2rem
}

@media screen and (max-width: 768px) {
  .modal__img {
    width: 100%
  }
}

.modal__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3rem
}

.modal__text {
  color: #ffa614;
  font-size: 1.2em;
  font-weight: bold;
  text-align: left;
  letter-spacing: .1em
}

@media screen and (max-width: 768px) {
  .modal__text {
    font-size: 1.4rem;
    font-weight: normal;
  }
}

.modal__close {
  position: absolute;
  top: 5rem;
  right: 5rem
}

.modal__close:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1)
}

@media screen and (max-width: 768px) {
  .modal__close {
    top: 4%;
    right: 4%
  }
}

.modal__close .c_icon::before {
  width: 60px;
  height: 40px
}

@media screen and (max-width: 768px) {
  .modal__close .c_icon::before {
    width: 50px;
    height: 30px
  }
}

/*-----------------------------------------------
 * fix
-------------------------------------------------*/
body.fixed {
  position: fixed;
  left: 0
}

.fixed {
  position: fixed
}

/*-----------------------------------------------
 * js-hamburgerMenu
-------------------------------------------------*/
.js-hamburgerMenu {
  display: block;
  position: fixed;
  z-index: 3;
  left: 4%;
  top: 2%;
  width: 6rem;
  height: 6rem;
  cursor: pointer;
  text-align: center;
  background-color: #ffa614;
  border-radius: 30rem
}

.js-hamburgerMenu.active {
  background-color: #fff
}

.js-hamburgerMenu.active span {
  background: #ffa614
}

@media screen and (min-width: 769px) {
  .js-hamburgerMenu {
    display: none
  }
}

.js-hamburgerMenu span {
  display: block;
  position: absolute;
  width: 29px;
  height: 3px;
  left: 16px;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.js-hamburgerMenu span:nth-child(1) {
  top: 21px
}

.js-hamburgerMenu span:nth-child(2) {
  top: 29px
}

.js-hamburgerMenu span:nth-child(3) {
  top: 37px
}

.js-hamburgerMenu.active span:nth-child(1) {
  top: 29px;
  left: 16px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.js-hamburgerMenu.active span:nth-child(2) {
  top: 29px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.js-hamburgerMenu.active span:nth-child(3) {
  opacity: 0;
}

/*-----------------------------------------------
 * globalMenuSp
-------------------------------------------------*/
@media screen and (max-width: 768px) {
  .globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: translateY(-100%);
    transform: translateY(-150%);
    width: 100%
  }

  .globalMenuSp.active {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
  }
}

.js-scrollMenu-active.c_icon::before {
  -webkit-animation: ani-bounce .3s ease infinite alternate;
  animation: ani-bounce .3s ease infinite alternate
}

/*-----------------------------------------------
 * js-loading
-------------------------------------------------*/
.js-loading {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: #ffa614;
  text-align: center;
  color: #fff;
  z-index: 3;
}

.js-loading-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.js-loading-logo img {
  width: 30rem;
  fill: #fff;
}

/*-----------------------------------------------
 * animation
-------------------------------------------------*/
.ani_borderleft {
  overflow: hidden
}

.ani_borderleft::before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #4aacde;
  -webkit-transition: all .3s;
  transition: all .3s
}

.ani_borderleft:hover {
  color: #fff
}

.ani_borderleft:hover:before {
  left: 0
}

.ani_bordertop {
  overflow: hidden
}

.ani_bordertop::before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: -100%;
  left: 0%;
  background-color: #ffa614;
  -webkit-transition: all .3s;
  transition: all .3s
}

.ani_bordertop:hover {
  color: #fff
}

.ani_bordertop:hover:before {
  top: 0%
}

.ani-bounce {
  -webkit-animation: ani-bounce .3s ease infinite alternate;
  animation: ani-bounce .3s ease infinite alternate
}

@-webkit-keyframes ani-bounce {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px)
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px)
  }
}

@keyframes ani-bounce {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px)
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px)
  }
}

.ani-fadeUp {
  -webkit-animation-name: ani-fadeUpAnime;
  animation-name: ani-fadeUpAnime;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
  transition: all .3s ease-out;
}

@-webkit-keyframes ani-fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(0%, 30%);
    transform: translate(0%, 30%)
  }

  to {
    opacity: 1;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%)
  }
}

/*
 ** landscape対策
 **/
@media (orientation: landscape) and (max-width: 896px) {
  .main {
    width: 96%;
    margin: 0 auto;
  }

  .sub {
    display: none;
  }

  .mv {
    /* height: 230vh; */
  }

  .main {
    margin: 0;
  }

  .mainCaution__body {
    display: block;
  }

  .mainCaution__item {
    width: 100%;
    min-width: 38rem;
    margin-bottom: 1rem;
  }

  .schedule__linkArea .c_icon {
    display: none;
  }
}

/*
 ** ページリンクの位置調整
 **/
#news,
#introduction,
#schedule,
#cast,
#staff,
#ticket {
  padding-top: 7rem;
  margin-top: -7rem;
}

@media screen and (max-width: 768px) {

  #news,
  #introduction,
  #schedule,
  #cast,
  #staff,
  #ticket {
    padding-top: 8rem;
    margin-top: -8rem;
  }
}
.firstmodal {
  display: none;
  background: rgba(255, 255, 255, 0.95);
  height: 100vh;
  width: 100%;
  height: 100%;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  justify-content: center;
  align-items: center;
}
.firstmodal__content {
  max-width: 1200px;
  width:70%;
}
.firstmodal__content--img {
  max-width: 1200px;
}
.firstmodal__content--img img {
  width:100%;
}
@media screen and (max-width: 768px) {
  .firstmodal__content {
    width:100%;
  }
}
.iframeWrap {
	position: relative;
	/* max-width: 700px; */
	margin: auto;
}
.iframeWrap::before {
	content: "";
	display: block;
	padding-top: 56.25%; /*ここにつける*/
}
.iframeWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}