@charset "utf-8";

/* ========================================================================
mv
========================================================================= */
#mv{
    max-width: 100vw;
    position: relative;
}
#mv .ttl_hidden{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
}
#mv img{
    display: block;
}
#mv .mv_slider{
    overflow: hidden;
}
#mv .mv_slider img{
    object-fit: cover;
    width: 100%;
}
#mv .mv_slider .logo img{
    object-fit: contain;
    background-color: #f8f7f1;
}
#mv .slick_pause{
    position: absolute;
}
#mv .mv_info{
    background: #fff;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
}
#mv .info_list{
    max-width: 1164px;
    margin: auto;
}
#mv .info_item{
    display: flex;
    justify-content: flex-start;
    align-items:flex-start;
    gap: 12px;
    font-size: 1rem;
}
#mv .info_item .ttl{
    font-weight: bold;
    white-space: nowrap;
}
#mv .mv_info .dtl{
    line-height: 1.5;
}
#mv .mv_info .dtl p + p{
    margin-top: 4px;
}
#mv .mv_btn{
    position: absolute;
}
@media screen and (max-width: 767px) {
    #mv .mv_slider,
    #mv .mv_slider img{
        height: 460px;
    }
    #mv .slick_pause{
        right: 16px;
        bottom: 96px;
    }
    #mv .mv_info{
        padding: 8px 4%;
    }
    #mv .mv_btn{
        background:rgba(0, 0, 0, 0.7);
        padding: 12px;
        left: 0;
        right: 0;
        bottom: 0;
    }
    #mv .mv_btn a{
        width: 240px;
        margin: auto;
        pad: 16px 35px 16px 15px;
    }
}
@media print, screen and (min-width:768px) {
    #mv{
        min-width: 960px;
    }
    #mv .mv_slider,
    #mv .mv_slider img{
        height: 560px;
    }
    #mv .mv_slider .pos_right{
        object-position: right center;
    }
    #mv .slick_pause{
        bottom: 32px;
        right: 32px;
    }
    #mv .mv_info{
        min-width: 960px;
        padding: 14px 0;
    }
    #mv .mv_btn{
        width: 360px;
        margin-left: -180px;
        bottom: 60px;
        left: 50%;
    }
    #mv .mv_btn .btn_solid_wh{
        padding: 15px;
    }
    #mv .info_item{
        gap: 24px;
    }
}@media screen and (min-width:768px) and (max-width:1164px) {
    #mv .mv_info{
        padding: 14px 10px;
    }
}
/* ========================================================================
today
========================================================================= */
#today{
    background: #F0F0ED;
}
#today .ttl_bold{
    opacity: 0;
}
#today .performance_list .item{
    background: #fff;
    position: relative;
    border: 1px solid #959595;
}
#today .performance_list .place{
    display: inline-block;
    border-radius: 14px;
    padding: 0 8px;
    font-weight: bold;
    font-size: 1rem;
    line-height: 25px;
    padding: 0 12px;
}
#today .performance_list .main_hall{
    background: #FFD1D1;
}
#today .performance_list .blue_rose{
    background: #DBEBFF;
}
#today .performance_list .link{
    margin-top: 10px;
}
#today .performance_list .no_link{
    margin-top: 10px;
    font-weight: bold;
}
#today .performance_list .link .link_arw_round{
    display: block;
    position: relative;
    padding: 6px 35px 6px 4px;
    line-height: 1.4;
}
#today .performance_list .link_arw_round::after{
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -10px;
}
#today .performance_list .item .time{
    margin-top: 9px;
}
#today .no_performance{
    font-size: 0.875rem;
}
#today .ttl_bold {
    margin-bottom: 0;
}
#today.close_day .ttl_bold {
    background: #fff;
    padding: 20px 24px;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.5;
}
#today.close_day .ttl_bold .date{
    font-size: 1rem;
    display: block;
    padding-top: 4px;
    font-family: Georgia, serif;
}
#today .link_list{
    display: flex;
}

@media screen and (max-width: 767px) {
    #today{
        padding-top: 15px;
    }
    #today .link_list.pc_link{
        display: none;
    }
    #today .acc_btn{
        text-align: left;
        color: #fff;
        font-size: clamp(16px, 0.875rem, 16px);
        font-weight: normal;
        padding: 14px 46px 13px 25px;
        font-family: Georgia, serif;
    }
    #today .acc_btn .date{
        display: block;
        font-size: clamp(14px, 1.375rem, 24px);
        font-family: Georgia, serif;
        font-weight: bold;
        margin-bottom: 2px;
    }
    #today .acc_content{
        display: none;
    }
    #today .link_list{
        font-size: 1rem;
        justify-content: center;
        gap: 30px;
        padding: 20px 15px 0;
        font-weight: bold;
    }
    #today .performance_list .item{
        padding: 20px 24px;
        margin-top: 12px;
    }
    #today .performance_list .item .time{
        font-size: 1rem;
    }
    #today .performance_list .link,
    #today .performance_list .no_link{
        font-size: 1.25rem;
    }
}
@media print, screen and (min-width:768px) {
    #today{
        padding:0 0 64px;
        min-width: 960px;
    }
    #today .link_list.sp_link{
        display: none;
    }
    #today .link_list .link_arw_round{
        font-size: clamp(14px, 1.125rem, 24px);
    }
    #today .acc_wrap{
        min-height: 200px;
    }
    #today .acc_btn{
        display: none!important;
    }
    #today .acc_content{
        display: block!important;
    }
    #today .section_inner{
        padding-top: 55px;
        position: relative;
    }
    #today .ttl_bold .date{
        font-weight: bold;
        font-family: Georgia, serif;
        font-size: clamp(18px, 1.875rem, 34px);
    }
    #today.close_day .ttl_bold{
        padding: 32px;
        font-size: 1.75rem;
        text-align: center;
    }
    #today.close_day .ttl_bold .date{
        font-size: 1.375rem;
        padding: 8px 0 0;
    }
    #today .link_list{
        position: absolute;
        top: 66px;
        right: 0;
        gap: 0 60px;
    }
    #today .performance_list{
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        margin-top: 40px;
        min-height: 128px;
    }
    #today .performance_list .item{
        width: calc(50% - 12px);
        padding: 24px 24px 24px 32px;
    }
    #today .performance_list .place{
        line-height: 30px;
        font-size: 1.125rem;
        padding: 0 14px;
    }
    #today .performance_list .link,
    #today .performance_list .no_link{
        margin-top: 12px;
        font-size: 1.25rem;
    }
    #today .performance_list .link .link_arw_round{
        padding: 6px 35px 4px 0;
        font-size: 1.25rem;
        line-height: 1.3;
    }
    #today .performance_list .link_arw_round::after{
        position: absolute;
        right: 6px;
        margin: 0;
        top: 50%;
        margin-top: -14px;
    }
    #today .performance_list .item .time{
        font-size: 1.125rem;
    }
    #today .no_performance{
        font-size: 1rem;
        margin-top: 32px;
    }
    #today .close_day_announcement{
        font-size: 1.5rem;
        padding: 32px;
    }

}
/* ========================================================================
pickup
========================================================================= */

#pickup{
    position: relative;
    overflow: hidden;
    max-width: 100vw;
    background-color: #fff;
}
#pickup .pickup_slider{
    position: relative;
}
#pickup .pickup_slider::before,
#pickup .pickup_slider::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
}
#pickup .pickup_slider::before{
    background: linear-gradient(to left, rgba(255, 255, 255, 0),rgba(255, 255, 255, 0.6));
}
#pickup .pickup_slider::after{
    background: linear-gradient(to right, rgba(255, 255, 255, 0),rgba(255, 255, 255, 0.6));
}
#pickup .pickup_slider .item,
#pickup .pickup_slider .item .img,
#pickup .pickup_slider .item img{
    display: block;
}
#pickup .pickup_slider .item .img{
    border: 1px solid #959595;
}
#pickup .pickup_slider .item img{
    width: 100%;
    height: auto;
    object-fit: cover;
}
#pickup .pickup_slider.slick-initialized{
	display: block;
}
#pickup .pickup_slider .swiper-button-next,
#pickup .pickup_slider .swiper-button-prev{
    display: block;
    width: 32px;
    z-index: 2;
}
#pickup .pickup_slider .swiper-button-next.swiper-button-disabled,
#pickup .pickup_slider .swiper-button-prev.swiper-button-disabled{
    display: none;
}
#pickup .pickup_slider .swiper-button-next::after,
#pickup .pickup_slider .swiper-button-prev::after{
    content:"";
    display: block;
    background-size: contain;
    background-image:url(/culture-sports/suntoryhall/assets/img/arrow_round_line.svg);
    background-repeat: no-repeat;
}
#pickup .pickup_slider .swiper-button-prev::after{
    transform: rotate(180deg);
}
#pickup .swiper-pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    margin: 26px 4% 0;
    pointer-events: none;
}
#pickup .swiper-pagination .swiper-pagination-bullet{
    display: block;
    width: 52px;
    height: 2px;
    border-radius: 0;
    background-color: #666464;
    font-size: 0;
    pointer-events: none;
}
#pickup .swiper-pagination .swiper-pagination-bullet-active{
    background-color: #7D001D;
    height: 4px;
}
#pickup .swiper-notification{
    display: none;
}
#pickup .swiper-scrollbar{
    margin: 22px auto 0;
    position: static;
    height: 1px;
    background-color: #B5B5B6;
    width: 84%;
}
.swiper-scrollbar-drag{
    height: 3px;
    background-color: #7D001D;
    top: -1px;
}
#pickup.noSlider .swiper-button-next,
#pickup.noSlider .swiper-button-prev,
#pickup.noSlider .swiper-scrollbar{
    display: none;
}
#pickup.noSlider .swiper-wrapper{
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    #pickup{
        padding: 62px 0 64px;
    }
    #pickup .pickup_slider .swiper-button-prev,
    #pickup .pickup_slider .swiper-button-next{
        width: 32px;
        height: 32px;
        top: 26vw;
    }
    #pickup .pickup_slider .swiper-button-next::after,
    #pickup .pickup_slider .swiper-button-prev::after{
        width: 32px;
        height: 32px;
    }
    #pickup .pickup_slider .swiper-button-prev{
        left: -10px;
    }
    #pickup .pickup_slider .swiper-button-next{
        right: -10px;
    }
    #pickup .pickup_slider::before,
    #pickup .pickup_slider::after{
        width: 10%;
    }
    #pickup .pickup_slider::before{
        left: -4.5%;
    }
    #pickup .pickup_slider::after{
        right: -4.5%;
    }
}
@media print, screen and (min-width:768px) {
    #pickup{
        padding: 78px 0 80px;
        font-size: 1.125rem;
        min-width: 960px;
    }
    #pickup .pickup_slider .swiper-slide{
        width: 760px;
    }
    #pickup .pickup_slider .item .img{
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    #pickup .pickup_slider .item:hover{
        opacity: 1;
    }
    #pickup .pickup_slider .swiper-button-next,
    #pickup .pickup_slider .swiper-button-prev{
        width: 40px;
        height: 40px;
        top: calc(50% - 20px);
    }
    #pickup .pickup_slider .swiper-button-next:not(.swiper-button-disabled-disabled):hover::after,
    #pickup .pickup_slider .swiper-button-prev:not(.swiper-button-disabled-disabled):hover::after{
        background-image:url(/culture-sports/suntoryhall/assets/img/arrow_round_org.svg);
    }
    #pickup .pickup_slider .item img{
        transition:0.5s all;
    }
    #pickup .pickup_slider .item:hover img{
        transform:scale(1.1);
        transition:0.5s all;
    }
    #pickup .pickup_slider::before,
    #pickup .pickup_slider::after{
        width: calc(50vw - 582px);
        top: 0;
    }
    #pickup .pickup_slider::before{
        right: 100%;
    }
    #pickup .pickup_slider::after{
        left: 100%;
    }
    #pickup .pickup_slider .swiper-button-next::after,
    #pickup .pickup_slider .swiper-button-prev::after{
        width: 40px;
        height: 40px;
        background-size: contain;
    }
    #pickup .pickup_slider .swiper-button-prev{
        left: -20px;
        right: auto;
    }
    #pickup .pickup_slider .swiper-button-next{
        right:-20px;
        left: auto;
    }
    #pickup .swiper-scrollbar{
        margin: 64px auto 0;
        position: static;
        height: 1px;
        background-color: #666464;
        width: 60%;
    }
}
@media screen and (min-width:1348px) {
    #pickup .pickup_slider .swiper-button-prev{
        left: -80px;
    }
    #pickup .pickup_slider .swiper-button-next{
        right: -80px;
    }
}
@media screen and (min-width:768px) and (max-width:1164px) {
    #pickup .pickup_slider .swiper-button-prev{
        left: 0;
    }
    #pickup .pickup_slider .swiper-button-next{
        right: 0;
    }
}
/* ========================================================================
news
========================================================================= */
#news{
    background: #F8F8F7;
}
#news .news_list .item{
    background: #F8F8F7;
    border-bottom: 1px solid #D8D8D8;
}
#news .news_list .item:first-child{
    border-top: 1px solid #D8D8D8;
}
#news .news_list .item .new{
    color: #d40000;
    font-size: clamp(10px, 0.875rem, 16px);
    font-weight: bold;
}
#news .news_list .item a{
    display: flex;
    gap: 0 16px;
    justify-content: space-between;
    align-items: center;
    padding: 16px 10px;
    color: #222;
}
#news .news_list .item .img_wrap img{
    width: 100%;
    height: auto;
    object-fit: cover;
}
#news .news_list .item .ttl{
    font-size: clamp(12px, 1rem, 16px);
    font-weight: bold;
    padding-top: 4px;
}
#news .news_list .item .date{
    display: none;
}
#news .news_list .item [target="_blank"] .ttl::after{
    content: "";
    width: 12px;
    height: 12px;
    background: url(/culture-sports/suntoryhall/assets/img/icon_blank_red.svg) no-repeat;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    margin: -2px 0 0 10px;
}
#news .news_list .item .pin,
#news .news_list .item .new{
    display: inline-block;
    vertical-align: middle;
}
#news .news_list .item .pin +  .new{
    padding-left: 10px;
}
@media screen and (max-width: 767px) {
    #news{
        padding: 58px 0 12px;
    }
    #news .news_list .item a{
        align-items: flex-start;
    }
    #news .news_list .item .img_wrap{
        width: 100px;
        min-width: 100px;
    }
    #news .news_list .item .dtl_wrap{
        width: calc(100% - 116px);
        position: relative;
    }
    #news .more_link.pc_link{
        display: none;
    }
    #news .more_link{
        text-align: center;
        margin-top: 32px;
    }
    #news .news_list .item .pin{
        width: 16px;
        height: 17px;
    }
    #news .news_list .item .new{
        line-height: 17px;
    }
}
@media print, screen and (min-width:768px) {
    #news{
        padding: 66px 0 64px;
        min-width: 960px;
    }
    #news .section_inner{
        position: relative;
    }
    #news .news_list .item a{
        padding: 20px 10px;
        align-items: center;
    }
    #news .news_list .item a:hover .ttl{
        color: #A20026;
    }
    #news .news_list .item .pin + .ttl,
    #news .news_list .item .new + .ttl{
        padding-top: 14px;
    }
    #news .news_list .item .img_wrap{
        width: 180px;
        min-width: 180px;
        height: 109px;
        border: 1px solid #F0F0ED;
        overflow: hidden;
    }
    #news .news_list .item .dtl_wrap{
        align-items: center;
        width: calc(100% - 212px);
    }
    #news .news_list .item .pin{
        width: 20px;
        height: 22px;
    }
    #news .news_list .item .new{
        font-size: 1.25rem;
    }
    #news .news_list .item .ttl{
        font-size: 1.5rem;
        line-height: 1.3;
    }
    #news .news_list .item [target="_blank"] .ttl::after{
        width: 14px;
        height: 14px;
    }
    #news .more_link.sp_link{
        display: none;
    }
    #news .more_link.pc_link{
        position: absolute;
        top: 30px;
        right: 0;
    }
}
#suntory_contents{
    background: #F8F8F7;
}