

/* frame */
.frame{position: fixed;width: 100%;height: 100dvh;top: 0;left: 0;z-index: 9996;pointer-events: none;
    .edge-top{display: block;position: absolute;top: 0;left: 0;width: 100%;height: 10px;background: linear-gradient(to right, #1AA2A5 50%, #F4CD20 50%);z-index: 1;}
    .edge-bottom{display: block;position: absolute;bottom: 0;left: 0;width: 100%;height: 10px;background: linear-gradient(to right, #F4CD20 50%, #1AA2A5 50%);z-index: 1;}
    .edge-left{display: block;position: absolute;top: 0;left: 0;height: 100%;width: 10px;background: linear-gradient(to bottom, #F4CD20 50%, #1AA2A5 50%);z-index: 2;}
    .edge-right{display: block;position: absolute;top: 0;right: 0;height: 100%;width: 10px;background: linear-gradient(to bottom, #1AA2A5 50%, #F4CD20 50%);z-index: 2;}
    .border-left{display: block;position: absolute;left: min(14px,1.5vh);top: 50%;transform: translateY(-50%);
        &:after{position: absolute;content: "";background-image: url(../images/bg/frame_side_ornament02_blu.svg);background-position: center;background-repeat: no-repeat;background-size: contain;width: 40px;height: 60vh;left: 0;top: 50%;transform: translateY(-50%);}
    }
    .border-right{display: block;position: absolute;right: min(14px,1.5vh);top: 50%;transform: translateY(-50%);
        &:after{position: absolute;content: "";background-image: url(../images/bg/frame_side_ornament02_yel.svg);background-position: center;background-repeat: no-repeat;background-size: contain;width: 40px;height: 60vh;right: 0;top: 50%;transform: translateY(-50%);}
    }
}


@media only screen and (max-width: 768px){
    .frame{
        .border-left{height: calc(100% - 62vw);left: 1.5vw;
            &:after{height: 33vw;}
            .b_deco{
                &:before,
                &:after{width: 2vw;height: 10vw;left: -1vw;}
                &:before{top: 0;}
                &:after{bottom: 0;}
            }
        }
        .border-right{height: calc(100% - 62vw);right: 1.5vw;
            &:after{height: 33vw;}
            .b_deco{
                &:before,
                &:after{width: 2vw;height: 10vw;right: -1vw;}
                &:before{top: 0;}
                &:after{bottom: 0;}
            }
        }
    }
}
  

/*----------------------------------------
    btn
------------------------------------------*/

/* .cmn_btn_outer{
    .cmn_link_btn{border: 2px solid #2AB0B9; border-radius: 999px; font-size: min(38px, 3.8vw); line-height: 1.5em; font-weight: 700; padding: 0.3em; color: #2AB0B9; background-color: #ffffff;width: 50%; margin: 0 auto; text-align: center; display: flex; align-items: center; justify-content: center; gap: 0.3em; min-width: 380px; position: relative;
        &::after{content: ""; background-image: url(../images/parts/btn_arrow.svg); aspect-ratio: 1/1;position: absolute;transform: translateY(-50%);top: 50%; width:min(38px, 6.5vw); right: 3%;background-position: center; background-repeat: no-repeat; background-size: contain;}
    }
}
@media only screen and (max-width: 768px){
    .cmn_btn_outer{
        .cmn_link_btn{font-size: min(30px, 5.8vw); line-height: 1.5em; padding: 0.3em; width: 100%; gap: 0.3em; min-width: 0px;
            .btn_arrow{width: 1.5em;}
        }
    }
} */

.cmn_btn_outer {
    .cmn_link_btn {
        border: 2px solid #2AB0B9; 
        border-radius: 999px; 
        font-size: min(38px, 3.8vw); 
        line-height: 1.5em; 
        font-weight: 700; 
        padding: 0.3em; 
        color: #2AB0B9; 
        background-color: #ffffff;
        width: 50%; 
        margin: 0 auto; 
        text-align: center; 
        display: flex; 
        align-items: center; 
        justify-content: center; 
        gap: 0.3em; 
        min-width: 380px; 
        position: relative;
        text-decoration: none; /* aタグの場合の線消し */

        /* --- 追加: なめらかに変化させるトリガー --- */
        transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;

        &::after {
            content: ""; 
            background-image: url(../images/parts/btn_arrow.svg); 
            aspect-ratio: 1/1;
            position: absolute;
            transform: translateY(-50%) rotate(0deg); /* 初期角度を指定 */
            top: 50%; 
            width: min(38px, 6.5vw); 
            right: 3%;
            background-position: center; 
            background-repeat: no-repeat; 
            background-size: contain;

            /* --- 追加: 矢印アニメーションのトリガー --- */
            transition: transform 0.5s ease; 
        }

        /* --- 追加: ホバー時のスタイルと回転アニメーション --- */
        &:hover {
            background-color: #2AB0B9; /* 背景を青緑に */
            color: #ffffff;            /* 文字色を白に反転 */

            &::after {
                /* 50%上下中央を維持したまま360度回転 */
                transform: translateY(-50%) rotate(180deg); 
                filter: brightness(0) invert(1);
            }
        }
    }
}

@media only screen and (max-width: 768px) {
    .cmn_btn_outer {
        .cmn_link_btn {
            font-size: min(30px, 5.8vw); 
            line-height: 1.5em; 
            padding: 0.3em; 
            width: 100%; 
            gap: 0.3em; 
            min-width: 0px;

            .btn_arrow {
                width: 1.5em;
            }
        }
    }
}


/*----------------------------------------
    anime
------------------------------------------*/
.top_page{
    &:before{opacity: 0; visibility: hidden; filter: blur(10px); transform: scale(1.4);}
    .frame{opacity: 0; visibility: hidden; filter: blur(10px); transform: scale(1.2);}
    .lily_bg{opacity: 0; visibility: hidden; filter: blur(10px); transform: scale(1.2);}
    .fv{opacity: 0; visibility: hidden; filter: blur(10px); transform: scale(1.4);}

    &.load_open{
        &:before{opacity: 1; visibility: visible; filter: blur(0); transform: scale(1); transition: 1.4s var(--easeOutCubic); transition-delay: 0.4s;}
        .frame{opacity: 1; visibility: visible; filter: blur(0); transform: scale(1); transition: 1.4s var(--easeOutCubic); transition-delay: 0.8s;}
        .lily_bg{opacity: 1; visibility: visible; filter: blur(0); transform: scale(1); transition: 1.4s var(--easeOutCubic); transition-delay: 1.2s;}
        .fv{opacity: 1; visibility: visible; filter: blur(0); transform: scale(1); transition: 1.8s var(--easeOutCubic); transition-delay: 0.8s;}
    }
}
.in_page{
    &:before{opacity: 1;}
    .frame{opacity: 1;}
    .lily_bg{opacity: 1; }
}

.anime{opacity: 0; visibility: hidden; transform: translateY(min(40px,4vw)); transition: 1.2s var(--easeOutCubic); transition-delay: 0.05s;
    &.scroll_in{opacity: 1; visibility: visible; transform: translateY(0);}
}


/*----------------------------------------
    top page
------------------------------------------*/

.tit_wrap{position: relative; padding:min(120px , 20vw) 0 calc(var(--base_distance) * 0.5);
    &.second{padding: calc(var(--base_distance) * 0.5) 0 calc(var(--base_distance) * 0.5);}
    &.sns{padding:0 0 calc(var(--base_distance) * 0.15);}
.top_tit{font-size: min(130px,12vw);font-weight: 900;line-height: 1.5em;position: relative; background: linear-gradient(to bottom, #A9BF86, #1FADBE);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent;color: transparent;
    span{position: relative;
        &:after{position: absolute;content: "";background-image: url(../images/parts/tit_deco.svg);background-position: center;background-repeat: no-repeat;background-size: contain;width: min(320px);height: min(30px);bottom: -16px;left: 50%;transform: translateX(-50%);}
    }
}
}
.top_tit.sns{font-size: min(56px,5vw);font-weight: 700;line-height: 1.5em;position: relative;
    span{
        &:after{content: none;}
    }
}
.comment{display: block;width: min(100%,300px);color: #e6decd;border: 1px solid #e6decd;background-color: #15102da6;margin: 12px auto 0;font-size: 0.9em;padding: 0.5em;}

.c_01{color: #8A0000 !important;}

@media only screen and (max-width: 768px){
    .tit_wrap {
        .top_tit {font-size: min(100px,16vw);
            background: linear-gradient(to bottom, #A9BF86, #1FADBE);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;

            &.long {
                font-size: min(100px, 10vw);
            }

            span {
                position: relative;
        background: linear-gradient(to bottom, #A9BF86, #1FADBE);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
                &:after {
                    width: 50vw;
                    height: 5vw;
                }
            }
        }
    }
    .top_tit.sns{font-size: min(40px,8vw);font-weight: 700;line-height: 1.5em; width: 90%; padding: 0.2em 1em;margin: 0 auto;}
}

.section_wrap{padding-bottom: min(150px, 20vw);
/* &.cmn_btn_outer{padding-bottom: min(150px, 15vw);} */
}

/* fv */
.fv{
   .fv_flexwrap{display: flex; justify-content: center;width: calc(90% - 40px); margin: 0 auto; padding: min(100px, 14.6vw) 0; gap:3%;align-items: flex-start;
    .inner{width: 46%;position: sticky;flex: 1;top: 6vw;
        .main_tit{width: 80%;margin: 0 auto min(60px, 6vw);
            img{width: 100%; height: auto;}
            }
        .date{width: 100%;margin: 0 auto min(60px, 8vw);
        }
        .top_credit{width: 57%; margin: 0 auto;
            img{width: 100%;}
        }
    }
    .kv{width: 51%;flex: 1;
        img{width: 100%;}
    }
    }
}
@media only screen and (max-width: 768px){
    .fv{
        .fv_flexwrap{flex-direction: column-reverse;width: calc(98% - 30px);
        .inner{width: 100%;
            .main_tit{width: min(100%,500px);margin: 0 auto min(60px, 8vw);}
            .top_credit{width:90%;}
        }
        }
        .kv{width: 100%!important;margin-bottom: 1em;}
    }
}

/* top about */
#introduction{
    padding-top: calc(var(--base_distance) * 0.3) ;
    .about_tit{margin: 0 auto 40px;width: 40%;
        img{width: 100%; height: auto;}
    }
    .about_ems{font-weight: bold;font-size: 1.2em; color: #26AEBB;}
    .plot{margin: 0 auto min(40px, 4vw); font-size: clamp(20px, 2.5vw, 26px);font-weight: 600;}
    .about_block{margin-bottom:calc(var(--base_gap)*5);word-break: auto-phrase;
        p{font-size: clamp(14px, 2vw, 18px);font-weight: 600;line-height: 2.2em;margin-bottom: 1.5em;
        &:last-child{margin-bottom: 0;}}
        &:last-child{margin-bottom: 0;}
    }
    .bg{position: absolute;width: 100%;height: 100%;top: 0;left: 0;pointer-events: none;
        span{position: absolute;display: block;width: 100%;height: 1px;background-color: #172A88;
            &.top{top: 0;left: 0;}
            &.bottom{bottom: 0;left: 0;}
            &:before,
            &:after{position: absolute;content: "";background-image: url(../images/parts/ornament-divider.svg);width: 14px;height: 15px;}
            &:before{left: -10px;top: -7px;transform: scale(-1,1);}
            &:after{right: -10px;top: -7px;}
        }
    }
}
@media only screen and (max-width: 768px){
    #introduction{
        .about_tit{width: 75%;}
    }
}

/* top about */
.top_news{
    .news_wrap{text-align: left;
        /* .news{padding: 3% 4%; border: 3px solid #F5CD1E; background: #fff; margin-bottom: min(30px, 4vw); border-radius: 10px; filter: drop-shadow(5px 5px 0px #F5CD1E);
            &:last-of-type{margin-bottom: 80px;}
            .news_link{
                    .top_block{border-bottom: 1px solid var(--c_font_color); padding: 0 0 1vw; display: flex; justify-content: space-between; align-items: center; text-align: center;
                        .date{font-size: clamp(16px, 2vw, 25px); color: #26AEBB; line-height: 1em; font-weight: 700;}
                        .detail{width: min(40px, 3vw);}
                    }
                 &.disactive{pointer-events: none;
                    .detail{display: none;}
            }
                }
                .news_title{font-size: clamp(16px, 1.5vw, 20px); padding: 1vw 0 0; color: var(--c_font_color);line-height: 1.2em;font-weight: bold;}

        } */
         .news { margin-bottom: min(30px, 4vw);
    &:last-of-type { margin-bottom: 80px; }
    .news_link { display: block; padding: 3% 4%; border: 3px solid #F5CD1E; background: #fff; border-radius: 10px; filter: drop-shadow(5px 5px 0px #F5CD1E); text-decoration: none; transition: transform 0.2s ease, filter 0.2s ease;
        &:hover {
            transform: translateY(3px) translateX(3px);
        } .top_block { border-bottom: 1px solid var(--c_font_color); padding: 0 0 1vw; display: flex; justify-content: space-between; align-items: center; text-align: center;
            .date { font-size: clamp(16px, 2vw, 25px); color: #26AEBB; line-height: 1em; font-weight: 700; }
            .detail { width: min(40px, 3vw); transition: transform 0.2s ease;}
        }

        .news_title { font-size: clamp(16px, 1.5vw, 20px); padding: 1vw 0 0; color: var(--c_font_color); line-height: 1.2em; font-weight: bold; }
        &.disactive { pointer-events: none;
            .detail { display: none; }
        }
        &:hover .detail { transform: translateX(3px); }
    }
}
    }

}
@media only screen and (max-width: 768px){
    .top_news{
    .news_wrap{
        .news{           
             &:last-of-type{margin-bottom: 30px;}
            .news_link{
                    .top_block{padding: 0 0 3vw;
                        .detail{text-align: right; width: min(40px, 9.4vw);
                            img{width: min(25px, 6vw); height: 100%;}
                        }
                    }
                }
         .news_title{ padding: 3vw 0 0;}
        }
    }

}
}

/* btn sec */
.btn_sec{margin: 0 auto calc(var(--base_distance)*1); text-align: center;
    a{display: block; width: 60%; margin: 0 auto; transition: 0.2s;
        &:hover{transform: translateY(-3px); filter: brightness(1.1);}
        img{width: 100%; height: auto;}
    }
}
@media only screen and (max-width: 768px){
    .btn_sec{
        a{width: 80%;}
    }
}


/* ===============================================
# news
=============================================== */
#news{
    .title_block{flex-direction: column; display: flex; border-bottom: 1px solid var(--c_font_color); font-size: clamp(16px, 2vw, 20px); line-height: 1.7em;gap: .2em; padding: 0 0 .6em;  margin-bottom: 1em; text-align: left;
        .date{color: #26AEBB; line-height: 1.4em; font-weight: 700;}
        .news_title{font-weight: 600; font-size: 1.2em;}
    }
}



/* ===============================================
# CAST
=============================================== */
#cast{position: relative;
    .h_outer{z-index: 2;position: relative;}
    .sec_inner{position: relative;z-index: 3;}
    .cast_wrap{text-align: center;font-weight: 600;
    .stit{margin-bottom: min(60px, 6vw);font-size:clamp(20px,4vw,30px); font-weight: bold;
    &.ALKALOID{color: #32c0d2;}
                &.Crazy{color: #f3b814;}}

    ul{display: flex;gap:3vw;justify-content: center;flex-wrap: wrap;
        &:not(:last-of-type){margin-bottom: 100px;}
            .cast{width: calc((100% - 3vw) / 2);
        .cast_img{margin-bottom: min(20px, 3vw);
            img{width: 100%;}
        }
        .name_block{
            .part{font-size: min(20px, 4.5vw);line-height: 1.2em;margin-bottom: 0.2em;}
            .name{font-size: min(30px, 6vw);line-height: 1.3em;font-weight: bold;}
        }
    }
        &.last{margin-bottom: min(150px, 10vw);}
        
        &.ALKALOID{
            .part{color: #32c0d2;}
        }
        &.Crazy{
            .part{color: #f3b814;}
        }
    }
    .list_blank{padding: 60px;
    @media screen and (max-width: 768px){padding: 24px;}}
}
.ensemble{
    ul{display: flex;justify-content: center;gap:40px;
        li{font-size: min(30px, 6vw);line-height: 1.4em;}
    }
}
}
#staff{
    .list_blank{padding: 15px;}
    .staff_list{margin-bottom: calc(var(--base_gap) * 5);
        dl{display: flex;font-size: 20px;line-height: 1.4em; text-align: center; justify-content: center;font-weight: 600;
            &:not(:last-of-type){margin-bottom: .8em;}
            dt{color: #000; }
            dd{
            span{font-size: 16px;}}
            &.logo{align-items: center;
            img{max-height: 50px;}}
        }
    }
}
@media screen and (max-width: 768px) {
    #cast{padding: 0px 0;overflow:hidden;margin-bottom: 100px;

    .cast_wrap{
        .tit{font-size: 18px;line-height: 1.4em;}
        ul{flex-direction: column;gap:30px;align-items: center;
            &:not(:last-of-type){margin-bottom: 60px;}
            li{
            &.cast{width: 90%;
            }
        }
        }
    }
    .ensemble{
        .tit{font-size: 18px;line-height: 1.4em;margin-bottom: 20px;}
        ul{flex-direction: column;align-items: center;gap:20px;
            li{font-size: 20px;line-height: 1.3em;}
        }
    }
    }
    #staff{
        .list_blank{padding: 10px;}
        .staff_list{
            dl{font-size: 16px;line-height: 1.4em;
                dt{text-align: right;}
                dd{span{font-size: 13px; text-align: left;}}
                &.logo{
                    img{max-height: 40px;}}
            }
        }
    }
}

/* ===============================================
# schedule
=============================================== */
.ticket_btn { position: relative; background-color: #f5ce21; border: 2px solid #f5ce21; border-radius: 8px; font-size: min(27px, 4.2vw); color: #fff; display: block; line-height: 1.8em; padding: .4em 0; font-weight: 700; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease;
    &::before { content: ""; position: absolute; top: 50%; right: 4%; width: 1em; height: 1em; aspect-ratio: 22 / 38; transform: translateY(-50%); background-color: #fff; -webkit-mask: url(../images/parts/triangle.svg) no-repeat center / contain; mask: url(../images/parts/triangle.svg) no-repeat center / contain; transition: transform 0.2s ease, background-color 0.2s ease; }
    &:not(:last-of-type) { margin-bottom: .5em; }
    &:hover { background-color: #fff; color: #f5ce21;
        &::before { transform: translateY(-50%) translateX(5px); background-color: #f5ce21; }
    }
}
#schedule{
    .schedule_wrap{ text-align: left;
        &:not(:last-of-type){margin-bottom: min(120px, 11vw);}
        .date{display: block; margin-bottom: min(60px, 10vw); padding: 0 min(90px, 8vw) 0;
            img{width: 100%;}
            @media screen and (max-width: 768px){padding: 0;}
        }
        .hoshi_img{margin-bottom: 1em;
            img{width: 100%;}
        }
    }
}

#tickets{
    .price_wrap{ margin-bottom: min(120px, 15vw);
        .price_table{display: flex;font-size: clamp(20px, 4vw, 40px); justify-content: space-between; border-top: 1px solid var(--c_font_color); border-bottom: 1px solid var(--c_font_color); padding: min(50px, 7vw) 0; font-weight: 600; line-height:1.4em;
            &:not(:first-of-type){border-top:none; }
            &:last-of-type{margin-bottom: min(40px, 4vw);}
        .seats{text-align: left; line-height: 1.4em;
    span{font-size: 0.4em; display: block;line-height: 1.4em;
    @media screen and (max-width: 768px){font-size: 13px; padding-left: 10px; display: inline-block;}}}
    .price{
        span{font-size: clamp(15px, 2vw, 20px);}
    }
    @media screen and (max-width: 768px){
        flex-direction: column;text-align: left; padding-left: 1.5vw; gap: 1.5vw;
    }
}
    }
    .tickets_wrap{
        .tickets_tit{font-size: clamp(30px, 5vw, 50px) ; line-height: 1.5em;  margin-bottom: min(60px, 8vw); color: #1aa2a5;font-weight: 700;}
        .ticket_list{ background-color: #fff; border:3px solid #f5ce21; padding: min(50px, 5vw) min(50px, 4vw); margin-bottom: 1.5em;border-radius: 10px; filter: drop-shadow(5px 5px 0px #F5CD1E);
            .tickets_name{color: #1aa2a5;font-size: clamp(20px, 3vw, 30px);font-weight: 700;line-height: 1.5em;margin-bottom: .3em;}
            .tickets_date{font-size:clamp(17px, 3vw, 21px);font-weight: 600; margin-bottom:min(30px, 3.5vw);}
            &:last-of-type{margin-bottom: min(150px, 20vw);}
        }
    }
    .cmn_list_kome{text-align: left;
    li{margin-bottom: 0.4em;}}
    .cmn_link_btn_outer{ margin-bottom: min(30px, 3vw);
        &:last-child{margin-bottom: 0;}
     p{font-size: clamp(13px, 1.5vw, 20px);margin-bottom: 1em;}}
}

#guide{
    h2 + h3 {
    margin-top: 0 !important;}

h3 + h4 {
    margin-top: 0 !important;}

h4 + h5 {
    margin-top: 0 !important;}
    .tit{font-size: clamp(24px, 5vw, 38px);font-weight: 800;text-align: center;color: var(--c_gold);margin: 0 auto 1em;line-height: 1.5em;}

    p{
        &:last-child{margin-bottom:0;}
    }
    .cmn_list_kome, .cmn_list_circle{
        &:last-child{margin-bottom:0;}
    }
}

#goods{
    .goods_info{padding: 30px 30px;background: #ffffff99;border: 1px solid var(--c_gold);margin-bottom: 4em;text-align: left;
            .text_block{
            .tit{border-bottom: 1px dashed var(--c_gold);font-size: clamp(20px,2vw,26px);line-height: 1.4em;padding-bottom: 0.3em;margin-bottom: 0.4em; font-weight: bold;}
            .text{width: 100%;}
        }
    }
    .goods{margin-bottom: 2em;padding: 14px;background: #ffffff99;border: 1px solid var(--c_gold);text-align: left;
            .goods_img{margin-bottom: 12px; position: relative;width: 100%;
                img{width: 100%;aspect-ratio: 1/1;object-fit: contain;height: 100%;}
                }
        .text_block{width: 100%;
            .tit_box{margin-bottom: 0.4em;border-bottom: 1px dashed var(--c_gold);padding-bottom: .3em;display: flex;justify-content: space-between;align-items: center;}
            .tit{font-size: clamp(18px,2vw,22px);line-height: 1.4em;font-weight: bold;}
            .price{font-size: clamp(16px,1.6vw,20px);line-height: 1.4em; font-weight: bold; text-align: right;
                span{font-size: 0.7em;line-height: 1.1em;}}
            .text{width: 100%;}
        }
    }
}
    .swiper_controller .swiper-pagination-bullet{
        background-color: var(--c_gold);
    }
    .swiper_controller .swiper-pagination-bullet-active {
    opacity: 1 !important;
}

.goods_modal{ 
    .modal_inner{max-height: 88svh;width: 92%;max-width: 1000px;overflow-y: scroll;}
    .cmn_write_box{
        .main_tit{text-align: center;font-weight: bold;margin-bottom: 1em;font-size: clamp(20px,2vw,28px);line-height: 1.3em;
        }
    }
}

@media screen and (max-width: 768px) {
    /* .goods_modal{
        .cmn_write_box{padding: 20px 14px;}
    } */
    #goods{
        .goods_info{padding: 20px 16px;
        .reverse{  flex-direction: column-reverse;}}
    }
}


.price_time {
    margin-bottom: 0.3em;
    table {table-layout: fixed;border-collapse: collapse;width: 100%;border: 1px solid #000000;margin-bottom: 20px;
      &:last-of-type { margin-bottom: 0;}
      th {border-bottom: 1px solid #000000;text-align: center;vertical-align: middle;font-size: 14px;line-height: 1.4em;padding: 4px;
         &:not(:last-of-type) {
          border-right: 1px solid #000000;
        }
        span {font-size: 0.8em;font-weight: normal;
        }
        &.small {font-size: 12px;
        }
      }

      td {font-size: 14px;line-height: 1.4em;padding: 4px;border-bottom: 1px solid #000000;text-align: center;vertical-align: middle;border-right: 1px solid #000;
        &:not(:last-of-type) {border-right: 1px solid #000;
        }
        span {font-size: 0.8em;
        }
      }
    }

    &.table02 {
      table {
        th {padding: 6px;}
        td {  padding: 14px;  font-size: 16px;  line-height: 1.2em;}
      }
    }
  }

@media screen and (max-width: 768px) {
  .price_time > div {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 6px;
  }
  .price_time > div::-webkit-scrollbar { display: none; }
  .price_time table {
    table-layout: auto;
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: none;
  }
  .price_time table th,
  .price_time table td {
    font-size: 12px;
    line-height: 1.2em;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    border-left: none;
    border-top: none;
  }
  .price_time table th.small { width: 114px; }
  .price_time .pt-border-left { border-left: 1px solid #000 !important; }
  .price_time .pt-border-top { border-top: 1px solid #000 !important; }
  .price_time .pt-sticky { position: sticky; background: #ffffff; z-index: 2; }
  .price_time .pt-sticky-0 { left: 0; }
}

.price_time_scrollbar_track {
  height: 6px;
  background: #ddd;
  border-radius: 3px;
  position: relative;
  cursor: pointer;
}
.price_time_scrollbar_thumb {
  height: 100%;
  background: #888;
  border-radius: 3px;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 30px;
}

.stremimg_h2{margin-top: 2em !important;}


#blu-ray{
    p{margin-bottom: 0;}
    .h2_tit{border-bottom: 1px solid var(--c_red); margin-bottom: 1em;
    h2{margin-top: 2em; font-size: clamp(20px , 2.5vw , 28px);font-weight: 700;margin-bottom: 0.1em; color: #fff; background-color: var(--c_red); padding: .5em;}
    }
    .ticket_btn{text-decoration: none; color: #fff;margin-top: .5em;}
       .h2_tit + h3 {
    margin-top: 0 !important;}

h3 + h4 {
    margin-top: 0 !important;}

h4 + h5 {
    margin-top: 0 !important;}
    h3{margin-top: 2em;}
}