/*
---------------------------------------
base
---------------------------------------
*/
.l_mv {
    position: relative;
}
.l_link {
    position: absolute;
    display: block;
    height: 23px;
    transition: background .4s;
    background-color: rgba(255, 255, 255, 0);
}
.l_link:hover {
    background-color: rgba(255, 255, 255, .35);
}
.l_link.suzuka {
    width: 106px;
    top: 289px;
    left: 641px;
}
.l_link.suzukainter {
    width: 94px;
    top: 200px;
    left: 506px;
}
.l_link.owase {
    width: 52px;
    height: 24px;
    top: 225px;
    left: 330px;
}
.l_link.kumano {
    width: 54px;
    height: 25px;
    top: 303px;
    left: 352px;
}
.l_link.inabe {
    width: 55px;
    top: 138px;
    left: 545px;
}
.l_link.matsuzaka {
    width: 53px;
    top: 474px;
    left: 630px;
}
.l_link.tsu {
    width: 89px;
    top: 412px;
    left: 614px;
}
.l_link.ise {
    width: 52px;
    top: 503px;
    left: 718px;
}
.l_link.kuwana {
    width: 117px;
    top: 183px;
    left: 723px;
}
.l_link.nabari {
    width: 52px;
    top: 452px;
    left: 362px;
}
.l_link.hatsu {
    width: 47px;
    top: 214px;
    left: 674px;
}
.l_link.ikuwa {
    width: 103px;
    top: 173px;
    left: 521px;
}
.l_link.yokkaichi {
    width: 138px;
    top: 248px;
    left: 657px;
}

.l_mv--bnr-area {
    position: absolute;
    top: 25px;
    right: 25px;
}
.l_mv--bnr {
    position: relative;
    display: table;
    width: 240px;
    height: 80px;
    background-color: #feff00;
    font-size: 18px;
    font-weight: 800;
    text-align: left;
    letter-spacing: 0;
    color: #d00016;
    transition: opacity .4s;
    border: 5px solid #d00016;
    border-radius: 15px;
    padding-left: 20px;
}
.l_mv--bnr::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 3px solid #d00016;
    border-right: 3px solid #d00016;
    top: 50%;
    right: 20px;
    transform: translate3d(0, -50%, 0) rotate(45deg);
    background: transparent;

}
.l_mv--bnr:hover {
    opacity: .75;
}

.l_mv--bnr > * {
    display: table-cell;
    vertical-align: middle;
}
.l_mv--bnr:nth-child(1) {
    margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
    .l_wrapper {
        padding-top: 25.3%;
    }
    .l_mv--bnr-area {
        position: static;
        width: 94%;
        margin: 0 auto;
        padding: 5% 0;
    }
    .l_mv--bnr-area.single > * {
        width: 100%;
        text-align: center;
    }
    .l_mv--bnr-area.flex > * {
        width: 49%;
        text-align: left;
    }
    .l_mv--bnr {
        height: auto;
        padding: 3% 0 3% 5%;
        font-size: 3.5vw;
        border: 4px solid #d00016;
    }
    .l_mv--bnr::after {
        width: 6px;
        height: 6px;
        border-top: 2px solid #d00016;
        border-right: 2px solid #d00016;
        right: 5%;
    }
    .l_mv--bnr:nth-child(1) {
        margin-bottom: 0;
    }
}
