.contact-section div.inner-1040.unique-area h2 {
    font-size: 1.5rem;
    font-weight: 700;
    padding-bottom: 20px;
    border-bottom: solid 1px;
    border-image: linear-gradient(to right, #397BDF 10%, #D3DCEA 10%) 1;
    margin-bottom: 24px;
}

.contact-section div.inner-1040.unique-area ul.office-list li {
    margin-bottom: 24px;
}

.contact-section div.inner-1040.unique-area ul.office-list li a {
    position: relative;
    display: block;
    border: soid 1px #397BDF;
    border-radius: 12px;
}

.contact-section div.inner-1040.unique-area ul.office-list li a::after {
    content: "";
    position: absolute;
    z-index: 2;
    right: 24px;
    top: calc(50% - 16px);
    margin: auto;
    border-radius: 50%;
    box-sizing: border-box;
    border: solid 1px #397BDF;
    width: 32px;
    height: 32px;   
    transition: background 0.2s ease;
    background: no-repeat center / 12px url(../images/common/arrow-blue.svg), no-repeat left 0 top 0 / 32px url(../images/common/circle-white.svg), no-repeat center / 12px url(../images/common/arrow-white-right.svg), no-repeat left 0 top 0 / 32px url(../images/common/circle-blue.svg);
}

.contact-section div.inner-1040.unique-area ul.office-list li a:hover:after {
    background: no-repeat center / 0px url(../images/common/arrow-blue.svg), no-repeat left 16px top 16px / 0px url(../images/common/circle-white.svg), no-repeat center / 12px url(../images/common/arrow-white-right.svg), no-repeat left 0 top 0 / 32px url(../images/common/circle-blue.svg);
}

.contact-section div.inner-1040.unique-area ul.office-list li a p.title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #397BDF;
}

.contact-section div.inner-1040.unique-area ul.office-list li a {
    display: block;
    border: solid 1px #397BDF;
    border-radius: 12px;
    background: no-repeat right center;
    padding: 28px 88px 28px 28px;
    text-decoration: none;
    color: #000;
}