/*=============================================================
 tools
=============================================================*/
#ticket {
  box-sizing: border-box;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #ticket {
    margin-bottom: 18.75vw;
  }
}
#ticket .bg-deco {
  position: absolute;
  top: 85px;
  left: 0;
}
@media only screen and (max-width: 1250px) {
  #ticket .bg-deco {
    top: 6.8vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .bg-deco {
    top: 19.21875vw;
  }
}
#ticket .spot.left span {
  background-color: #9F998C;
}
#ticket .spot.right .blur-wrap:nth-child(1) span {
  background-color: #FFBD29;
}
#ticket .ttl-box h1 {
  width: 401px;
}
@media only screen and (max-width: 1250px) {
  #ticket .ttl-box h1 {
    width: 32.08vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .ttl-box h1 {
    width: 45.9375vw;
  }
}
#ticket .ttl-box h1::before {
  background-image: url("../img/ticket/ttl_deco.png");
}
#ticket .ttl-box h1 .ttl {
  width: 349px;
  top: 62px;
  left: 26px;
}
@media only screen and (max-width: 1250px) {
  #ticket .ttl-box h1 .ttl {
    width: 27.92vw;
    top: 4.96vw;
    left: 2.08vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .ttl-box h1 .ttl {
    width: 40vw;
    top: 6.875vw;
    left: 3.125vw;
  }
}
#ticket .ttl-box h1 .shine {
  width: 86px;
  top: 24px;
  left: 80px;
}
@media only screen and (max-width: 1250px) {
  #ticket .ttl-box h1 .shine {
    width: 6.88vw;
    top: 1.92vw;
    left: 6.4vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .ttl-box h1 .shine {
    width: 9.6875vw;
    top: 2.8125vw;
    left: 9.375vw;
  }
}
#ticket .ttl-box .jp {
  text-shadow: 0 0 12px #FFBD29;
}
@media only screen and (max-width: 768px) {
  #ticket .ttl-box .jp {
    text-shadow: 0 0 1.875vw #FFBD29;
  }
}
#ticket .image {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1250px) {
  #ticket .image {
    margin-bottom: 2.4vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .image {
    margin-bottom: 4.6875vw;
  }
}
#ticket .h-box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 160px;
  margin-bottom: 32px;
}
@media only screen and (max-width: 1250px) {
  #ticket .h-box {
    height: 12.8vw;
    margin-bottom: 2.56vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .h-box {
    height: 28.125vw;
    margin-bottom: 5vw;
  }
}
#ticket .h-box .frame {
  position: absolute;
  top: 0;
  left: 0;
}
#ticket .h-box h2 {
  position: relative;
  font-size: 38px;
  line-height: 1.3;
  color: #fff;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-shadow: 0 0 12px #FFBD29;
}
@media only screen and (max-width: 1250px) {
  #ticket .h-box h2 {
    font-size: 3.84vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .h-box h2 {
    width: 100%;
    font-size: 6.5625vw;
  }
}
#ticket .h-box h2 span {
  display: block;
  font-size: 16px;
  font-weight: 100;
}
@media only screen and (max-width: 1250px) {
  #ticket .h-box h2 span {
    font-size: 1.6vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .h-box h2 span {
    font-size: 3.125vw;
  }
}
#ticket .detail-block {
  margin-bottom: 100px;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block {
    margin-bottom: 8vw;
  }
}
#ticket .detail-block h3 {
  background-image: linear-gradient(90deg, #ff4a29, #ffbd29);
}
#ticket .detail-block h4 {
  border-color: #FFBD29;
}
#ticket .detail-block h4::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17.05" height="16.02" viewBox="0 0 17.05 16.02"><path d="M0,0v16.02l17.05-16.02Z" fill="%2332191c"/><line x1="0" y1="16.02" x2="17.05" y2="0" stroke="%23FFBD29" stroke-width="1"/></svg>');
}
#ticket .detail-block h4::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17.05" height="16.02" viewBox="0 0 17.05 16.02"><g transform="scale(-1,-1) translate(-17.05,-16.02)"><path d="M0,0v16.02l17.05-16.02Z" fill="%2332191c"/><line x1="0" y1="16.02" x2="17.05" y2="0" stroke="%23FFBD29" stroke-width="1"/></g></svg>');
}
#ticket .detail-block .price-list li {
  padding: 15px 25px;
  background-image: linear-gradient(90deg, #ff4a29, #ffbd29);
  margin-bottom: 32px;
  text-align: center;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .price-list li {
    padding: 1.2vw 2vw;
    margin-bottom: 2.56vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .price-list li {
    padding: 2.34375vw 3.90625vw;
    margin-bottom: 4.6875vw;
  }
}
#ticket .detail-block .price-list li p {
  font-size: 34px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 0;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .price-list li p {
    font-size: 2.72vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .price-list li p {
    font-size: 5.3125vw;
  }
}
#ticket .detail-block .price-list li p span {
  font-size: 24px;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .price-list li p span {
    font-size: 1.92vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .price-list li p span {
    font-size: 3.75vw;
  }
}
#ticket .detail-block .playguide-list {
  margin-bottom: 44px;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list {
    margin-bottom: 3.52vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list {
    margin-bottom: 7.5vw;
  }
}
#ticket .detail-block .playguide-list li {
  padding: 22px 0;
  padding-left: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #FFBD29;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list li {
    padding: 1.76vw 0;
    padding-left: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list li {
    display: block;
    padding: 6.25vw 0 7.5vw;
    text-align: center;
  }
}
#ticket .detail-block .playguide-list li:first-child {
  border-top: 1px solid #FFBD29;
}
#ticket .detail-block .playguide-list li > p {
  font-size: 34px;
  color: #fff;
  line-height: 1.1;
  font-weight: bold;
  margin-bottom: 0;
  text-shadow: 0 0 12px #FFBD29;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list li > p {
    font-size: 2.72vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list li > p {
    font-size: 5.3125vw;
    margin-bottom: 3.125vw;
  }
}
#ticket .detail-block .playguide-list li > p span {
  font-size: 24px;
  font-weight: normal;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list li > p span {
    font-size: 1.92vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list li > p span {
    font-size: 3.75vw;
    margin-left: 0.5em;
  }
}
#ticket .detail-block .playguide-list li .btn {
  width: 430px;
  margin: 0;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list li .btn {
    width: 40vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list li .btn {
    width: 100%;
    min-height: unset;
  }
}
#ticket .detail-block .playguide-list li .btn a {
  font-size: 24px;
  padding: 15px 0;
}
@media only screen and (max-width: 1250px) {
  #ticket .detail-block .playguide-list li .btn a {
    font-size: 1.92vw;
  }
}
@media only screen and (max-width: 768px) {
  #ticket .detail-block .playguide-list li .btn a {
    font-size: 3.75vw;
    margin: 0;
  }
}