@charset "utf-8";
/* lead wrap
========================================================================= */
#address{
    border: 1px solid #B5B5B6;
    padding: 28px 16px 22px;
    text-align: center;
}
#address .tel_text{
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 1px solid #F0F0ED;
}
@media screen and (max-width: 767px) {
    #suntory_contents .btn_solid_red, #suntory_contents .btn_bdr_red{
        height: 48px;
    }
    #suntory_contents .lead_wrap{
        display: flex;
        flex-direction: column;
    }
    #suntory_contents .lead_wrap .lead_text{
        margin: 24px 0 0;
        order: 3;
    }
    #suntory_contents .anchor_wrap .anchor_list{
        margin-bottom: 45px;
    }
}
@media print, screen and (min-width:768px) {
    #suntory_contents .anchor_wrap {
        flex-direction: row-reverse;
    }
    #address,
    #suntory_contents .anchor_wrap .anchor_list{
        width: 566px;
    }
    #address{
        border: 1px solid #B5B5B6;
        padding: 20px 32px 20px;
        text-align: center;
    }
    #address .normal_text{
        line-height: 1.5;
    }
    #address .ttl_bold_center{
        font-size: 1.5rem;
        margin-bottom: 18px;
    }
    #address .tel_text .tel{
        font-size: 1.625rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1164px) {
    #address,
    #suntory_contents .anchor_wrap .anchor_list {
        width: 49%;
    }
}
/* common
========================================================================= */
#suntory_contents .section_bdr_top .section_wrap{
    margin-top:0;
}
#suntory_contents .bdr_middle{
    padding: 0;
    gap: 0;
}
#suntory_contents .bdr_middle .ttl_icon{
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 12px;
    padding-left: 40px;
    text-indent: -40px;
    line-height: 1.3;
}
#suntory_contents .bdr_middle .ttl_icon .sub{
    font-size: 0.875rem;
}
#suntory_contents .bdr_middle .ttl_icon::before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin: -4px 12px 0 0;
    width: 24px;
    height: 24px;
}
#suntory_contents .bdr_middle .icon_train::before{
    background-image: url(/suntoryhall/access/assets/img/icon_train.svg);
}
#suntory_contents .bdr_middle .icon_bus::before{
    background-image: url(/suntoryhall/access/assets/img/icon_bus.svg);
}
#suntory_contents .bdr_middle .icon_parking::before{
    background-image: url(/suntoryhall/access/assets/img/icon_parking.svg);
}
#suntory_contents .bdr_middle .icon_car::before{
    background-image: url(/suntoryhall/access/assets/img/icon_car.svg);
}
#suntory_contents .bdr_middle .detail_text{
    margin-bottom: 7px;
    text-indent: -11px;
    padding-left: 11px;
}
#suntory_contents .bdr_middle .btn_wrap + .detail_text{
    margin-top: 16px;
}
#suntory_contents .bdr_middle .detail_text::before{
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #222222;
    display: inline-block;
    vertical-align: middle;
    margin: -1px 3px 0 0;
}
#suntory_contents .bdr_middle .btn_bdr_red,
#suntory_contents .section_lead_wrap .btn_bdr_red{
    margin-top: 20px;
}
#suntory_contents .bdr_middle .btn_bdr_red + .btn_bdr_red{
    margin-top: 10px;
}
#suntory_contents .section_bdr_top{
    border-top: 1px solid #B5B5B6;
}
#suntory_contents .btn_middle{
    display: flex;
    justify-content: center;
}
#suntory_contents .btn_middle .btn_bdr_red{
    width: 100%;
}
#suntory_contents .btn_bdr_red .sub{
    font-weight: normal;
}
#suntory_contents .section_lead_wrap .ttl{
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: 4px;
}
#suntory_contents .bdr_middle + .note_text{
    margin-top: 36px;
    text-indent: -1em;
    padding-left: 1em;
}
@media screen and (max-width: 767px) {
    #suntory_contents .bdr_middle .box:nth-child(n+2){
        border: 0;
        padding-top: 0;
        margin-top: 44px;
    }
    #suntory_contents .section_bdr_top{
        margin: 38px -4% 0;
        padding: 38px 4% 0;
    }
    #suntory_contents .btn_bdr_red .sub{
        font-size: 0.75rem;
    }
    #suntory_contents .bdr_middle .detail_text{
        font-size: 0.875rem;
    }
    #suntory_contents .bdr_middle .icon_train::before{
        width: 24px;
        height: 26px;
    }
    #suntory_contents .bdr_middle .icon_bus::before{
        width: 28px;
        height: 21px;
    }
}
@media print, screen and (min-width:768px) {
    #suntory_contents .bdr_middle .box{
        display: flex;
        justify-content: center;
        position: relative;
    }
    #suntory_contents .bdr_middle .box:nth-child(2n)::before{
        top: 0;
        bottom: 0;
        left: 0;
    }
    #suntory_contents .bdr_middle .box:nth-child(n+3){
        margin-top: 40px;
    }
    #suntory_contents .bdr_middle .box_inner{
        width: 408px;
    }
    #suntory_contents .bdr_middle .ttl_icon{
        font-size: 1.25rem;
        margin-bottom: 11px;
        padding-left: 46px;
        text-indent: -46px;
        line-height: 1.3;
    }
    #suntory_contents .bdr_middle .ttl_icon .sub{
        font-size: 1.125rem;
    }
    #suntory_contents .bdr_middle .ttl_icon::before{
        width: 32px;
        height: 32px;
    }
    #suntory_contents .bdr_middle .btn_bdr_red,
    #suntory_contents .section_lead_wrap .btn_bdr_red{
        margin-top: 18px;
    }
    #suntory_contents .btn_bdr_red .sub{
        font-size: clamp(12px, 1rem, 16px)
    }
    #suntory_contents .section_bdr_top{
        padding-top: 64px;
        margin-top: 64px;
    }
    #suntory_contents .bdr_middle .btn_wrap + .detail_text{
        margin-top: 22px;
    }
    #suntory_contents .section_lead_wrap{
        text-align: center;
        margin-bottom: 64px;
    }
    #suntory_contents .section_wrap:not(#bus) .section_lead_wrap .normal_text{
        font-size: 1.125rem;
    }
    #suntory_contents .section_lead_wrap .ttl{
        font-size: 1.25rem;
    }
    #suntory_contents .bdr_middle .btn_bdr_red.arrow_down{
        flex-direction: row;
    }
}
/* slider
========================================================================= */
#suntory_contents .route_slider_wrap{
    overflow: hidden;
    min-height: 228px;
    position: relative;
}
#suntory_contents .route_slider{
    overflow: hidden;
}
#suntory_contents .swiper-wrapper{
    z-index: 0;
}
#suntory_contents .route_slider_wrap:before,
#suntory_contents .route_slider_wrap:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 10%;
}
#suntory_contents .route_slider_wrap:before{
    left: -1px;
    background: linear-gradient(to left, rgba(255, 255, 255, 0),rgba(255, 255, 255, 0.6));
}
#suntory_contents .route_slider_wrap:after{
    right: -1px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0),rgba(255, 255, 255, 0.6));
}
#suntory_contents .route_slider .item .img_wrap,
#suntory_contents .route_slider .item img{
    display: block;
}
#suntory_contents .route_slider .item .normal_text{
    padding-left: 32px;
    text-indent: -32px;
    margin-top: 16px;
}
#suntory_contents .route_slider .item .normal_text .num{
    width: 24px;
    height: 24px;
    color: #fff;
    background: #7D001D;
    line-height: 24px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
    text-align: center;
    margin: 0 8px 0 0;
    text-indent: 0;
    padding: 0;
}
#suntory_contents .route_slider.slick-initialized{
	opacity: 1;
}
#suntory_contents .route_slider.slick-initialized .item{
    display: block;
}
#suntory_contents .route_slider .swiper-button-disabled{
    pointer-events: none;
    opacity: 0;
}
#suntory_contents .route_slider_wrap .slide-prev,
#suntory_contents .route_slider_wrap .slide-next{
    font-size: 0;
    position: absolute;
    background-size: contain;
    width: 32px;
    height: 32px;
    top: 24vw;
    cursor: pointer;
    z-index: 2;
}
#suntory_contents .route_slider_wrap .slide-prev{
    left: 0;
}
#suntory_contents .route_slider_wrap .slide-next{
    right: 0;
}
#suntory_contents .route_slider_wrap .slide-prev::after,
#suntory_contents .route_slider_wrap .slide-next::after{
    content:"";
    display: block;
    background-size: contain;
    height: 32px;
    width: 32px;
    background-image:url(/suntoryhall/assets/img/arrow_round_line.svg);
}
#suntory_contents .route_slider .slick-disabled{
    display: none!important;
}
#suntory_contents .route_slider_wrap .slide-prev:after{
    transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
    #suntory_contents .route_slider_wrap{
        margin: 0 -4%;
        max-width: 100vw;
    }
}
@media print, screen and (min-width:768px) {
    #suntory_contents .route_slider_wrap .slide-prev,
    #suntory_contents .route_slider_wrap .slide-next{
        width: 40px;
        height: 40px;
        top: 110px;
    }
    #suntory_contents .route_slider_wrap .slide-prev::after,
    #suntory_contents .route_slider_wrap .slide-next::after{
        width: 40px;
        height: 40px;
    }
    #suntory_contents .route_slider_wrap .slide-next:not(.slick-disabled):hover::after,
    #suntory_contents .route_slider_wrap .slide-prev:not(.slick-disabled):hover::after{
        background-image:url(/suntoryhall/assets/img/arrow_round_org.svg);
    }
    #suntory_contents .route_slider_wrap .slide-prev{
        left: 26px;
    }
    #suntory_contents .route_slider_wrap .slide-next{
        right: 26px;
    }
    #suntory_contents .swiper-notification{
        display: none;
    }
    #suntory_contents .route_slider .item .normal_text{
        margin-top: 20px;
        padding-left: 48px;
        text-indent: -44px;
    }
    #suntory_contents .route_slider .item .normal_text .num{
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 1rem;
        margin: -8px 12px 0 0;
    }
}
/* train
========================================================================= */
#train_route .ttl_bold_center{
    margin-bottom: 18px;
}
#train_route .ttl_dot{
    font-size: 0.875rem;
    margin-bottom: 2px;
}
#train_route .ttl_dot::before{
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #222222;
    display: inline-block;
    vertical-align: middle;
    margin: -1px 3px 0 0;
}
#train_route .section + .section{
    margin-top: 41px;
}
@media screen and (max-width: 767px) {
    #from_ueno .ttl_dot{
        margin-bottom: 14px;
    }
}

@media print, screen and (min-width:768px) {
    #train .bdr_middle .box{
        padding: 10px 0 30px;
    }
    #train_route .ttl_bold_center{
        margin-bottom: 30px;
    }
    #train_route{
        width: 100%;
        max-width: 984px;
        margin: auto;
    }
    #train_route .section + .section{
        margin-top: 60px;
    }
    #train_route .ttl_dot{
        font-size: 1.25rem;
        margin-bottom: 8px;
    }
    #train_route .ttl_dot::before{
        width: 16px;
        height: 16px;
        margin: -3px 4px 0 0;
    }
}
/* bus
========================================================================= */
#bus .section_lead_wrap{
    border-bottom: 1px solid #B5B5B6;
}
@media screen and (max-width: 767px) {
    #bus .section_lead_wrap{
        margin: 0 -4% 38px;
        padding: 0 4% 36px;
    }
}
@media print, screen and (min-width:768px) {
    #bus .section_lead_wrap{
        text-align: center;
        padding-bottom: 34px;
    }
    #bus .bdr_middle + .note_text{
        text-align: center;
        margin-top: 40px;
    }
    #bus .bdr_middle .box{
        padding-top: 28px;
    }
}
/* car
========================================================================= */
#car .car_map{
    text-align: center;
    max-width: 566px;
    margin: auto;
}
#car .car_map img{
    display: block;
    margin:0 auto 24px;
}
@media screen and (max-width: 767px) {
    #car .car_map{
        margin-top: 32px;
    }
    #dropoff .section_lead_wrap{
        margin-bottom: 20px;
    }
    #parking .section_lead_wrap{
        margin-bottom: 32px;
    }
    #parking .bdr_middle .btn_bdr_red{
        margin-top: 10px;
    }
}
@media print, screen and (min-width:768px) {
    #dropoff .section_lead_wrap{
        margin-bottom: 32px;
    }
    #parking .bdr_middle .box{
        padding: 0;
    }
}

/* barrierfree
========================================================================= */
#barrierfree_route03 .btn_wrap{
    margin-top: 24px;
}
@media screen and (max-width: 767px) {
    #barrierfree_train .normal_text{
        font-size: 0.8125rem;
    }
    #barrierfree .bg_gray_box{
        padding: 13px 4%;
        line-height: 1.6;
    }
    #barrierfree .bg_gray_box .large_text{
        font-size: 0.8125rem;
    }
    #barrierfree .note_text{
        font-size: 0.8125rem;
    }
    #barrierfree .bdr_middle .btn_bdr_red{
        margin-top: 5px;
    }
    #barrierfree_route01 .pc_flex_wrap > div + div{
        margin-top: 4px;
    }
    #barrierfree #barrierfree_route03{
        margin-bottom: 24px;
    }
}
@media print, screen and (min-width:768px) {
    #barrierfree .bg_gray_box{
        padding: 32px 30px;
        line-height: 1.8;
    }
    #barrierfree .large_text{
        font-size: 1.125rem;
    }
    #barrierfree .note_text{
        font-size: 1rem;
        margin-top: 15px;
    }
    #barrierfree .section_wrap{
        margin-bottom: 52px;
    }
    #barrierfree #barrierfree_route03{
        margin-bottom: 32px;
    }
    #barrierfree_route03 .btn_wrap{
        margin-top: 32px;
    }
}