@charset "utf-8";
@media screen and (max-width: 768px) {
/* ========================== 共通 ========================== */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }


/* ========================== lp =========================== */
  .contents-lp .container {
    margin: 0 10px;
  }
  .contents-lp .is-pc {
    display: inline;
  }
  .contents-lp .is-sp {
    display: none;
  }
  .reserve_btn{
    width: min(358.5px, 85%);
  }


/* ========================= main ========================== */
  .contents-lp-main .main-in {
    width: 100%;
  }
  .contents-lp-main .main-in img{
    width: 95%;
  }
  .contents-lp-main .main-in h1 {
    margin: 1rem 0 0 0;
    text-align: right;
  }


/* ========================= point ========================== */
  #point{
    padding: 55px 0 90px;
  }
  #point .point_title h2{
    font-size: 22px;
    padding: 0 15px;
  }
  #point .point_wrapper hr{
    width: 100%;
    margin-top: -20px;
  }
  #point .point_items{
    margin: 50px 0 70px;
    gap: 40px;
    flex-flow: column;
  }
  #point .point_items .point_item{
    width: min(1000px, 90%);
    margin: 0 auto;
    height: 148px;
  }
  #point .point_items .point_number{
    font-size: 32px;
  }
  #point .point_items .point_item .point_inner{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #point .point_items .point_item.point01 .point_inner,
  #point .point_items .point_item.point02 .point_inner{
    padding: 20px 0;
  }
  #point .point_items .point_item .point_inner p{
    font-size: 18px;
  }
  #point .point_items .point_item .point_inner p span{
    font-size: 26px;
  }


/* ===================== price ===================== */
  #price{
    padding: 0 0 95px;
  }
  #price .price_wrapper:nth-child(2){
    margin-top: 85px;
  }
  #price .price_title{
    padding: 25px 0 105px;
  }
  #price .price_title h2{
    font-size: 22px;
  }
  #price .price_container{
    border-radius: 7px;
    padding: 15px;
    margin: -90px auto 0;
  }
  #price .price_container .img_box{
    right: 0;
  }
  #price .price_container .price_contents{
    flex-flow: column;
  }
  #price .price_container .price_contents .price_content{
    padding: 0;
    border-right: unset;
    width: 100%;
  }
  #price .price_container .price_contents .price_content:first-child,
  #price .price_container .price_contents .price_content:last-child{
    padding: 0;
  }
  #price .price_container .price_contents .price_content table tbody tr th{
    font-size: 18px;
    padding-left: 0px;
  }
  #price .price_container .price_contents .price_content table tbody tr th span{
    font-size: 18px;
  }
  #price .price_container .price_contents .price_content table tbody tr:nth-child(2){
    border-top: unset;
  }
  #price .price_container .price_contents .price_content table tbody tr td:nth-child(1){
    padding: 10px 0;
  }
  #price .price_container .price_contents .price_content table tbody tr td span.fs-s{
    font-size: 14px;
  }
  #price .price_container .price_contents .price_content table tbody tr td span.fs-m{
    font-size: 16px;
  }
  #price .price_container .price_contents .price_content table tbody tr td span.fs-l{
    font-size: 24px;
  }
  #price .price_container p{
    margin-top: 30px;
    font-size: 13px;
  }
  #price p.attention{
    text-align: right;
    width: 90%;
    margin: 15px auto 0;
    font-size: 11px;
    font-weight: normal;
  }
  
  


/* ----btn---- */
  #price .reserve_btn{
    margin: 70px auto 0;
  }
  #price .advance_tickets_btn{
    font-size: 16px;
    margin-top: 35px;
  }
}



@media screen and (max-width: 520px) {
  /* price */
  #price .price_set .price_title h2{
    text-align: left;
    width: 85%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 420px) {
  #price .price_container .img_box{
    right: 0;
    width: 25vw;
  }
  /* ボタン_当日WEB券を予約する */
  .reserve_btn{
    width: min(358.5px, 85%);
    margin: 0 20px 0 auto;
  }
  #price .reserve_btn{
    margin: 70px 20px 0 auto;
  }
}

/**//*# sourceMappingURL=style.css.map */