@charset "UTF-8";

#l-gNav li#l-gNav3 a:before {
    left: 0;
    right: 0;
}

.l-content {
    width: 840px;
    float: left;
    margin-left: 140px;
}

.m-contact {
    border: 1px solid #eaeaea;
    padding: 38px 0 39px;
}

.p-block01 {
    margin-bottom: 100px;
}

.p-block-mh {
    margin: 70px 0 55px;
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 500;
}

.p-gmap-text {
    text-align: right;
    margin-bottom: 23px;
}

.p-gmap-text a {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1;
    padding: 0 22px 6px 0;
    border-bottom: 1px solid #d21919;
    background: url("../../images/common/bg_outlink.png") no-repeat right center;
}

.p-gmap-text a:hover {
    border-bottom: 1px solid #fff;
}

.p-tabnav {
    width: 100%;
    display: flex;
    margin-bottom: 1px;
}

.p-tabnav01,
.p-tabnav02,
.p-tabnav03 {
    width: 33.3%;
    background-color: #fbf2f2;
    font-size: 1.8rem;
    line-height: 62px;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 700;
    border: 3px solid #fff;
    cursor: pointer;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.p-tabnav01,
.p-tabnav02 {
    border-right-width: 0;
}

.p-tabnav01:hover,
.p-tabnav02:hover,
.p-tabnav03:hover,
.p-tabnav01.is-active,
.p-tabnav02.is-active,
.p-tabnav03.is-active {
    background-color: #f6d1d1;
    color: #db4646;
}

.p-tabitem01,
.p-tabitem02,
.p-tabitem03 {
    display: none;
    margin-left: 3px;
}

.p-tabitem01.is-show,
.p-tabitem02.is-show,
.p-tabitem03.is-show {
    display: block;
}

.p-tabitem-map {
    margin-bottom: 23px;
}

.p-tabitem-block {
    display: flex;
}

.p-tabitem-img {
    width: 219px;
    height: 132px;
}

.p-tabitem-train {
    width: 345px;
    height: 132px;
}

.p-tabitem-train dl {
    margin: 27px 0 0 52px;
    padding-left: 55px;
    background: url("../../images/company/access_bg_train.png") no-repeat left center;
}
.p-bus{
    background: url("../../images/company/access_bg_bus.png") no-repeat left center !important;
}

.p-tabitem-train dl dt:before {
    content: "";
    display: block;
    width: 6px;
    height: 10px;
    border-radius: 3px;
    background-color: #db4646;
    float: left;
    margin-right: 10px;
}

.p-tabitem-train dl dt {
    margin-left: 16px;
    margin-bottom: 25px;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
}

.p-tabitem-train dl dd:before {
    content: "";
    display: block;
    width: 6px;
    height: 64px;
    border-radius: 3px;
    background-color: #e5e5e5;
    float: left;
    margin: -18px 10px 0 0;
}

.p-tabitem02 .p-tabitem-train dl dd:before {
    height: 45px;
}

.p-tabitem-train dl dd {
    clear: both;
    margin: -10px 0 0 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

.p-tabitem-car {
    width: 272px;
    height: 132px;
    background: url("../../images/company/access_bg_vdot.png") repeat-y left top;
}

.p-tabitem-car dl {
    margin: 27px 0 0 31px;
    padding-left: 55px;
    background: url("../../images/company/access_bg_car.png") no-repeat left center;
}

.p-tabitem-car dl dt:before {
    content: "";
    display: block;
    width: 6px;
    height: 10px;
    border-radius: 3px;
    background-color: #db4646;
    float: left;
    margin-right: 10px;
}

.p-tabitem-car dl dt {
    margin-left: 16px;
    margin-bottom: 25px;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
}

.p-tabitem-car dl dd:before {
    content: "";
    display: block;
    width: 6px;
    height: 45px;
    border-radius: 3px;
    background-color: #e5e5e5;
    float: left;
    margin: -18px 10px 0 0;
}

.p-tabitem-car dl dd {
    clear: both;
    margin: -10px 0 0 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}



/* Smartphone Styles
============================================================================ */
@media screen and (max-width: 768px) {

    .l-content {
        width: 100%;
        float: none;
        margin-left: 0;
    }

    .m-contact {
        border: 1px solid #eaeaea;
        padding: 8vw 0;
        margin: 0 6vw 16vw;
    }

    .m-contact-btn {
        width: 80vw;
    }

    .m-contact-btn a {
        width: 80vw;
        padding-left: 23.47vw;
    }

    .p-block01 {
        padding: 0 6vw;
        margin-bottom: 12vw;
    }

    .p-block-mh {
        margin: 0 0 7.33vw;
        font-size: 2.0rem;
        letter-spacing: 0.05em;
    }

    .p-gmap-text {
        margin-bottom: 4vw;
    }

    .p-gmap-text a {
        padding: 0 5.47vw 0.93vw 0;
        background-size: 3.33vw auto;
    }

    .p-tabnav {
        margin-bottom: 0;
    }

    .p-tabnav01,
    .p-tabnav02,
    .p-tabnav03 {
        font-size: 1.6rem;
        line-height: 10vw;
    }

    .p-tabitem-map {
        border-bottom-left-radius: 15px;
        border-bottom-right-radius: 15px;
        overflow: hidden;
        margin-bottom: 8vw;
        margin-right: 3px;
    }

    .p-tabitem-map iframe {
        width: 100%;
        height: 61.87vw;
    }

    .p-tabitem-block {
        display: block;
    }

    .p-tabitem-img {
        width: 58.4vw;
        height: auto;
        margin: 0 auto 7.33vw;
    }

    .p-tabitem-train {
        width: 100%;
        height: auto;
        background: url("../../images/company/access_bg_spdot.png") no-repeat left bottom;
        background-size: 100%;
        padding-bottom: 7.47vw;
        margin-bottom: 6.27vw;
    }

    .p-tabitem-train dl {
        margin: 0;
        padding-left: 12vw;
        background-position: left 3.6vw center;
        background-size: 8vw auto;
    }

    .p-tabitem-car {
        width: 100%;
        height: auto;
        background: none;
    }

    .p-tabitem-car dl {
        margin: 0;
        padding-left: 12vw;
        background-position: left 3.6vw center;
        background-size: 8vw auto;
    }
    .p-bus{
        background-position: left 3.6vw center !important;
        background-size: 7.5vw auto !important;
}


}