.to-map-btn_box {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.to-map-btn_box a {
    display: inline-block;
    width: 16vw;
    height: 6.5vw;
    margin-left: 1.2vw;
    margin-right: 1.2vw;
    background: linear-gradient(270deg, #00a592 0%, #29abe2 50%, #00a592 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    transition: all 0.3s ease-out;
    color: white;
    text-align: center;
    padding-top: 2.2vw;
    font-size: min(1.5625vw, 30px);
    border-radius: 300px;
    position: relative;
    border:1px solid white;
}

.to-map-btn_box a:hover {
    background-position: 99% 50%;
}

.to-map-btn_box a:before {
    content: '';
    width: 18px;
    height: 18px;
    border: 0;
    border-bottom: solid 2px white;
    border-right: solid 2px white;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    bottom: 1.1vw;
    left: 0;
    margin: auto;
    transition: all 0.3s ease-out;
}

.to-map-btn_box a:hover::before {
    bottom: 0.8vw;
}

@media screen and (max-width:768px) {
    .to-map-btn_box {
        flex-direction: column;
        align-items: center;
        padding-top: 20vw;
    }

    .to-map-btn_box a {
        width: 300px;
        height: 90px;
        padding-top: 20px;
        margin: 30px 0 0 0;
        font-size: max(1.5625vw, 30px);
    }

    .to-map-btn_box a:before {
        bottom: 4vw;
    }

    .to-map-btn_box a:hover::before {
        bottom: 3.7vw;
    }
}

.office-map {
    padding-bottom: 4.5vw;
}

.main-office_map_sec,
.tokyo-office_map_sec {
    margin: 4.5vw auto;
    width: 71.875vw;
    max-width: 1380px;
    padding: 4.6875vw;
    background-color: white;
    border-radius: 2.6vw;
}

.main-office_map_sec .main-office_map_ttl p,
.tokyo-office_map_sec .tokyo-office_map_ttl p {
    display: block;
    text-align: center;
    font-size: min(3.125vw, 60px);
    color: #00a592;
    padding-bottom: 1.875vw;
    border-bottom: 2px solid #00a592;
    margin-bottom: 1.875vw;
}

.main-office_map_inn,
.tokyo-office_map_inn {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.gmap_iframe {
    aspect-ratio: 16 / 9;
    max-width: 750px;
    width: 39vw;
    ;
    height: auto;
}

.office_add {
    line-height: 1.5;
    margin-left: 3vw;
}

.office_add div {
    padding-bottom: 2vw;
    font-size: min(1vw, 17px)
}
.office_root{
    margin-top:2.6vw;
    padding-top:2.6vw;
    padding-left:2.86vw;
    border-top:1px solid #4d4d4d;
}
.office_root_ttl{
    color:#00a592;
    font-size: min(1vw, 20px);
}
.office_root .office_root_box{
    margin-top:2vw;
}
.office_root_box li{
    display:flex;
    flex-direction:row;
    align-items:center;
}
.office_root_box li p{
    font-size: min(0.9vw, 17px);
    color:#4d4d4d;
}
.office_root_box li p span{
    color:#00a592;
}
.office_root_box li a{
    width:1.5vw;
    margin-left:1.5vw;
}
.office_root_box li a img{
    width:100%;
}

@media screen and (max-width:768px) {

    .main-office_map_sec,
    .tokyo-office_map_sec {
        width: 90vw;
    }

    .main-office_map_sec .main-office_map_ttl p,
    .tokyo-office_map_sec .tokyo-office_map_ttl p {
        font-size: max(8vw, 30px);
    }

    .main-office_map_inn,
    .tokyo-office_map_inn {
        flex-direction: column;
    }

    .gmap_iframe {
        width: 80vw;
    }

    .office_add {
        margin: 20px 0;
    }

    .office_add div {
        padding-bottom: 2vw;
        font-size: max(1vw, 17px)
    }

    .office_root_ttl{
        font-size: max(1vw, 20px);
    }
    .office_root_box li p{
        font-size: max(0.7vw, 14px)
    }
    .office_root_box li a{
        width:5vw;
        margin-left:1.5vw;
    }
}