/* CSS Document */






.l-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-image: url( '../img/common/bg/bg_design_02_pc.svg' );
    background-position: top left;
    background-repeat: repeat-y;
    background-size: 100% auto;
    opacity: 1;
}
@media screen and ( max-width: 768px ){
    .l-content::before {
        background-image: url( '../img/common/bg/bg_design_02_sp.svg' );
    }
}










.map_content {
    padding-bottom: min( calc( 150 * 100vw / var( --dw ) ), 150px );
}
@media screen and ( max-width: 768px ){
    .map_content {
        padding-bottom: calc( 75 * 100vw / var( --dw ) );
    }
}



.map_content-inner {
    position: relative;
    width: 100%;
    max-width: var( --dw-px );
    margin: 0 auto;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .map_content-inner {
        max-width: none;
    }
}



.c-title--contents {
    margin-top: clamp(59.2px, 5.331vw, 88.8px);
    margin-bottom: min( calc( 50 * 100vw / var( --dw ) ), 50px );
    padding-top: min( calc( 100 * 100vw / var( --dw ) ), 100px );
    padding-bottom: min( calc( 10 * 100vw / var( --dw ) ), 10px );
    border-top: none;
    border-bottom: 1px solid #999;
}
@media screen and ( max-width: 768px ){
    .c-title--contents {
        margin-top: clamp(36px, 12vw, 54px);
        margin-bottom: calc( 25 * 100vw / var( --dw ) );
        padding-top: calc( 50 * 100vw / var( --dw ) );
        padding-bottom: calc( 10 * 100vw / var( --dw ) );
    }
}



.c-box--swipe::before {
}
@media screen and ( max-width: 768px ){
    .c-box--swipe::before {
        z-index: 10;
    }
}



.t-access__guide__map__image {
    width: 100%;
}
@media screen and ( max-width: 768px ){
    .t-access__guide__map__image {
        width: calc( 500 * 100vw / var( --dw ) );
    }
}



.map-inner-content {
    position: relative;
    width: min( calc( 800 * 100vw / var( --dw ) ), 800px );
    margin: 0 auto min( calc( 35 * 100vw / var( --dw ) ), 35px );
    padding: 0;
}
.map-inner-content__image {
    position: relative;
    width: min( calc( 800 * 100vw / var( --dw ) ), 800px );
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .map-inner-content {
        position: relative;
        width: calc( 335 * 100vw / var( --dw ) );
        margin: 0 auto calc( 35 * 100vw / var( --dw ) );
        padding: 0;
    }
    .map-inner-content__image {
        position: relative;
        width: calc( 335 * 100vw / var( --dw ) );
        margin: 0;
        padding: 0;
    }
}



.leaflet-left {
    right: 40px;
}
.map-inner-content__legend {
    position: absolute;
    bottom: 40px;
    left: 40px;
    width: 150px;
    margin: 0;
    padding: 0;
    z-index: 1000;
}
.map-inner-content__compass {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 55px;
    margin: 0;
    padding: 0;
    z-index: 1000;
}
@media screen and ( max-width: 768px ){
    .leaflet-left {
        bottom: 20px;
        right: 20px;
    }
    .map-inner-content__legend {
        position: absolute;
        bottom: 20px;
        left: 20px;
        width: 150px;
        margin: 0;
        padding: 0;
        z-index: 1000;
    }
    .map-inner-content__compass {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 27.5px;
        margin: 0;
        padding: 0;
        z-index: 1000;
    }
}



.t-access__guide__map .c-button--large {
    width: min( calc( 202 * 100vw / var( --dw ) ), 202px );
    height: 48px;
    min-width: none;
}
.t-access__guide__map .c-button {
    /*
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    */
    font-size: var( --fs-s );
}
.t-access__guide__map p {
    /*
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    */
    font-size: var( --fs-xs );
}
@media screen and ( max-width: 768px ){
}









