.top_image {
    width: 100%;
    height: 20.4375rem;
    background-size: cover;
    background-position: top;
    padding-top: 5.5rem;
    display: flex;
    align-items: center;
}
@media screen and (max-width:63.9375rem) {
    .top_image {
        height: 7.5rem;
        padding-top: 0;
    }
}

.top_image .headline {
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: bold;
    width: 120rem;
    margin: 0 auto;
    padding-left: 1.75rem;
}
@media screen and (max-width:119.9375rem) {
    .top_image .headline {
        width: 100%;
        margin-left: 0.75rem;
        padding-left: 0;
    }
}
@media screen and (max-width:63.9375rem) {
    .top_image .headline {
        width: 120rem;
        margin: 0 auto;
        padding-left: 0.75rem;
    }
}

.top_image .text_main {
    font-size: 3.75rem;
}
@media screen and (max-width:63.9375rem) {
    .top_image .text_main {
        font-size: 1.375rem;
    }
}

@media screen and (min-width:64rem) {
    .colored_container {
        background-color: #F5F5F5;
    }
}

.main_container {
    width: 73.75rem;
}
@media screen and (max-width:119.9375rem) {
    .main_container {
        width: 49.625rem;
        margin: 0 auto;
    }
}
@media screen and (max-width:63.9375rem) {
    .main_container {
        width: 100%;
    }
}
@media screen and (min-width:64rem) {
    .main_container {
        margin: 0 auto;
    }
}

.main_message {
    margin: 3.125rem 1.25rem 6.25rem;
    text-align: left;
}
@media screen and (max-width:63.9375rem) {
    .main_message {
        margin: 2rem 0.75rem;
    }
}

.main_message .headline {
    font-size: 2.5rem;
    font-weight: bold;
    color: #2B7AB9;
}
@media screen and (max-width:63.9375rem) {
    .main_message .headline {
        font-size: 1.125rem;
    }
}

.main_message .body {
    font-size: 1.125rem;
    margin-top: 3.125rem;
}
@media screen and (max-width:63.9375rem) {
    .main_message .body {
        font-size: 0.875rem;
        margin-top: 1.875rem;
    }
}

.service {
    margin: 6.25rem 0rem;
}
@media screen and (max-width:63.9375rem) {
    .service {
        margin: 1.875rem 0.5rem;
    }
}

.service .headline {
    color: #2B7AB9;
    text-align: center;
    font-weight: bold;
    margin-bottom: 3.125rem;
    text-align: left;
}
@media screen and (max-width:63.9375rem) {
    .service .headline {
        margin-bottom: 1.875rem;
    }
}

.service .headline.center {
    text-align: center;
}

.service .headline .text_main {
    font-size: 1.875rem;
}
@media screen and (max-width:63.9375rem) {
    .service .headline .text_main {
        font-size: 1.125rem;
        text-align: left;
    }
}

.service .message {
    text-align: left;
    margin: 5.5rem 3rem;
}

.service .message .title {
    font-size: 1.25rem;
    font-weight: bold;
}

.service .message .body {
    font-size: 1.125rem;
    margin-top: 2.5rem;
}
@media screen and (max-width:63.9375rem) {
    .service .message .body {
        font-size: 0.875rem;
    }
}

.service .body {
    text-align: left;
}

.service img {
    margin: 1.25rem auto;
}
@media screen and (max-width:63.9375rem) {
    .service img {
        margin: 0.625rem 0;
        max-width: 32rem;
        width: 100%;
    }
    .service img.fixed {
        margin: 0.625rem auto;
        max-width: 16rem;
    }
}

.service .link {
    margin-top: 3.125rem;
}
@media screen and (max-width:63.9375rem) {
    .service .link {
        margin-top: 1.875rem;
    }
}

.bg_image {
    width: 100%;
    height: auto;
    background-image: url(/static/img/service/jpnews02.jpg);
    background-size: cover;
    background-position: top;
    text-align: center;
    vertical-align: middle;
    padding: 4.625rem 0;
}
@media screen and (max-width:63.9375rem) {
    .bg_image {
        padding: 1.875rem 0;
    }
}

.bg_image > .service {
    width: 73.75rem;
    margin: 0 auto;
}
@media screen and (max-width:119.9375rem) {
    .bg_image > .service {
        width: 49.625rem;
    }
}
@media screen and (max-width:63.9375rem) {
    .bg_image > .service {
        width: calc(100% - 1em);
        margin: 0 0.5rem;
    }
}

.bg_colored {
    background-color: #F5F5F5;
    margin-left: 0;
    margin-right: 0;
    padding: 6.25rem 0;
}
@media screen and (max-width:63.9375rem) {
    .bg_colored {
        padding: 1.875rem 0;
    }
}

.bg_colored .service {
    width: 73.75rem;
    margin: 0 auto;
}
@media screen and (max-width:119.9375rem) {
    .bg_colored .service {
        width: 49.625rem;
    }
}
@media screen and (max-width:63.9375rem) {
    .bg_colored .service {
        width: calc(100% - 1em);
        margin: 0 0.5rem;
    }
}

.service .side_by_side {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side {
        display: block;
    }
}
@media screen and (min-width:120rem) {
    .service .side_by_side {
        align-items: center;
        justify-content: space-evenly;
    }
}
@supports (-ms-ime-align:auto) {
    @media screen and (min-width:120rem) {
        .service .side_by_side {
            justify-content: space-around;
        }
    }
}

.service .side_by_side > .headline {
    display: none;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side > .headline {
        display: block;
    }
}

.service .side_by_side .text {
    margin-top: 3rem;
}
@media screen and (max-width:119.9375rem) {
    .service .side_by_side .text {
        margin-top: 2.25rem;
    }
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side .text {
        width: 100%;
        margin-top: 0;
    }
}

.service .side_by_side.jp_report .text {
    width: 28.125rem;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.jp_report .text {
        width: 100%;
    }
}

.service .side_by_side.ch_report .text {
    width: 31.5rem;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.ch_report .text {
        width: 100%;
    }
}
@media screen and (min-width:120rem) {
    .service .side_by_side.ch_report .text {
        width: 45.75rem;
    }
}

.service .side_by_side.ch_nikihou .text {
    width: 29.5rem;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.ch_nikihou .text {
        width: 100%;
    }
}
@media screen and (min-width:120rem) {
    .service .side_by_side.ch_nikihou .text {
        width: 40.375rem;
    }
}

.service .side_by_side.calendar_mail img {
    width: 48%;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.calendar_mail img {
        width: 100%;
        max-width: 32rem;
        margin-bottom: 0.625rem;
    }
    .service .side_by_side.calendar_mail img.fixed {
        max-width: 16rem;
        margin-bottom: 0.625rem;
    }
}

.service .side_by_side.calendar_mail .text {
    width: 48%;
    margin: 0;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.calendar_mail .text {
        width: 100%;
    }
}
@media screen and (min-width:120rem) {
    .service .side_by_side.calendar_mail .text {
        width: 40.375rem;
    }
}

@media screen and (max-width:63.9375rem) {
    .service .side_by_side.fx_report img {
        width: calc(100% - 3.75rem);
        max-width: 50%;
    }
}

.service .side_by_side.fx_report .text {
    width: 27rem;
    margin: 0;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side.fx_report .text {
        width: 100%;
    }
}
@media screen and (min-width:120rem) {
    .service .side_by_side.fx_report .text {
        width: 40.375rem;
    }
}

.service .side_by_side .message {
    margin: 0;
}

.service .side_by_side img {
    margin: 0;
}
@media screen and (max-width:63.9375rem) {
    .service .side_by_side img {
        max-width: 32rem;
        width: 100%;
        margin-bottom: 0.625rem;
    }
    .service .side_by_side img.fixed {
        max-width: 16rem;
        margin-bottom: 0.625rem;
    }
}

.service_list {
    background-color: #F5F5F5;
    color: #2B7AB9;
    font-size: 1.125rem;
    padding: 1.875rem 0 4.375rem;
}
@media screen and (max-width:63.9375rem) {
    .service_list {
        padding: 1.5rem 0 2rem;
    }
}

.service_list .text_main {
    font-size: 1.25rem;
    font-weight: bold;
    color: #000000;
    margin-bottom: 4rem;
}
@media screen and (max-width:63.9375rem) {
    .service_list .text_main {
        color: #2B7AB9;
        margin-bottom: 0;
    }
}

.service_list .icon_container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 73.75rem;
    margin: 0 auto;
}
@media screen and (min-width:64rem) and (max-width:119.9375rem) {
    .service_list .icon_container {
        width: 60rem;
        justify-content: space-evenly;
    }
}
@supports (-ms-ime-align:auto) {
    @media screen and (max-width:119.9375rem) {
            .service_list .icon_container {
            justify-content: space-around;
        }
    }
}
@media screen and (max-width:63.9375rem) {
    .service_list .icon_container {
        width: 100%;
        display: grid;
        display: -ms-grid;
        grid-template-columns: 1fr 1fr;
        -ms-grid-columns: 1fr 1fr;
        grid-template-rows: 8rem 8rem;
        -ms-grid-rows: 8rem 8rem;
        align-items: end;
    }
}

.service_icon:hover {
    cursor: pointer;
    text-decoration: underline;
}

@media screen and (max-width:63.9375rem) {
    .service_icon.grid1 {
        grid-row: 1 / 2;
        grid-column: 1 / 2;
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .service_icon.grid2 {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }
    .service_icon.grid3 {
        grid-row: 2 / 3;
        grid-column: 1 / 2;
        -ms-grid-row: 2;
        -ms-grid-column: 1;
    }
    .service_icon.grid4 {
        grid-row: 2 / 3;
        grid-column: 2 / 3;
        -ms-grid-row: 2;
        -ms-grid-column: 2;
    }
    .service_icon {
        -ms-grid-row-span: 1;
        -ms-grid-column-span: 1;
    }
}

.service_icon .text {
    margin-top: 1.625rem;
}
@media screen and (max-width:63.9375rem) {
    .service_icon .text {
        font-size: 0.875rem;
        margin-top: 0.625rem;
    }
}

.service_icon img {
    width: 4.375rem;
    max-height: 3.75rem;
}
@media all and (-ms-high-contrast: none) {
    .service_icon img {
        width: auto;
        height: auto;
    }
}

.triangle {
    top: 0rem;
}

.triangle2 {
    top: -6.25rem;
}

.other_service {
    width: 73.75rem;
}
@media screen and (max-width:119.9375rem) {
    .other_service {
        width: 49.625rem;
    }
}
@media screen and (max-width:63.9375rem) {
    .other_service {
        width: 100%;
    }
}
@media screen and (min-width:64rem) {
    .other_service {
        padding: 6.25rem 0 3.75rem;
    }
}

@media screen and (max-width:63.9375rem) {
    .btn-gradient-radius2 {
        padding: 0.875rem 3rem;
        font-size: 0.875rem;
    }
    .btn-gradient-radius2.wide {
        width: 100%;
        padding: 0.875rem 0rem;
    }
}

.service_1 {
    width: 73.75rem;
    margin:0 auto;
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width:119.9375rem) {
    .service_1 {
        width: 49.625rem;
    }
}
@media screen and (max-width:63.9375rem) {
    .service_1 {
        width: 100%;
        justify-content:space-around;
        margin-top: 1.875rem;
    }
}

.service_1.col2 {
    justify-content: space-evenly;
}
@media all and (-ms-high-contrast: none) {
    .service_1.col2 {
        justify-content: space-around;
    }
}
@supports (-ms-ime-align:auto) {
    .service_1.col2 {
        justify-content: space-around;
    }
}
@media screen and (max-width:119.9375rem) {
    .service_1.col2 {
        justify-content: space-around;
    }
}

.service_1.col3 {
    justify-content: space-between;
}
@media screen and (max-width:119.9375rem) {
    .service_1.col3 {
        justify-content: space-between;
    }
}
@media screen and (max-width:63.9375rem) {
    .service_1.col3 {
        justify-content: space-around;
    }
}

.simg1, .simg2, .simg3, .simg4, .simg5, .simg6 {
    position: relative;
}
@media screen and (max-width:63.9375rem) {
    .simg1, .simg2, .simg3, .simg4, .simg5, .simg6 {
        margin-bottom: 1.875rem;
    }
}
@media screen and (min-width:64rem) {
    .simg1, .simg2, .simg3, .simg4, .simg5, .simg6 {
        width: 12.5rem;
        height: 12.5rem;
    }
}

@media screen and (min-width:31.25rem) and (max-width:63.9375rem){
    .service_1::after {
        content: '';
        width: 100%;
    }

    .simg4 {
        order: 1;
    }
    .simg5 {
        order: 1;
    }
    .simg6 {
        order: 1;
    }
}

.service_1 img {
    width: 9.375rem;
}
@media screen and (max-width:63.9375rem) {
    .simg1 img,
    .simg2 img,
    .simg3 img,
    .simg4 img,
    .simg5 img,
    .simg6 img
    {
        width: 7.5rem;
        height: 7.5rem;
    }
}

.simg1 div.text {
    position: absolute; 
    left: 4.25rem;
    top: 3.4375rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg1 div.text {
        left: 1.562rem;
        top: 2.437rem;
    }
}

.simg2 div.text {
    position: absolute; 
    left: 4.25rem;
    top: 3.4375rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg2 div.text {
        left: 1.562rem;
        top: 2.437rem;
    }
}

.simg3 div.text {
    position: absolute; 
    left: 2.25rem;
    top: 3.4375rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg3 div.text {
        width: 4.375rem;
        left: 1.75rem;
        top: 1.75rem;
    }
}

.simg4 div.text {
    position: absolute; 
    left: 3.75rem;
    top: 4rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg4 div.text {
        left: 0.875rem;
        top: 3.062rem;
    }
}

.simg5 div.text {
    position: absolute; 
    left: 4.25rem;
    top: 3.4375rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg5 div.text {
        left: 1.562rem;
        top: 2.437rem;
    }
}

.simg6 div.text {
    position: absolute; 
    left: 3.25rem;
    top: 4rem; 
    font-size: 0.875rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
}
@media screen and (max-width:63.9375rem) {
    .simg6 div.text {
        left: 0.687rem;
        top: 3.062rem;
    }
}

#floating_contact_button {
    display: block;
    position: fixed;
    right: -18rem;
    bottom: 2rem;
    text-align: center;
    z-index: 5;
}
@media screen and (max-width:63.9375rem) {
    #floating_contact_button {
        display: none;
    }
}

#floating_contact_button a:hover {
    text-decoration: none;
}
#floating_contact_button .contact_button {
    background-color: #2B7AB9;
    color: #fff;
    padding: 1.25rem 1rem 1.25rem 1.875rem;
    border: 3px solid #fff;
    border-radius: 0.625rem;
    text-align: left;
    filter: drop-shadow(-0rem 0rem 1rem rgba(0,0,0,0.3));
    -ms-filter: drop-shadow(-0rem 0rem 1rem rgba(0,0,0,0.3));
    z-index: 3;
}
#floating_contact_button .contact_button:hover {
    background-color: #0A487A;
    transition: .3s;
}
#floating_contact_button .contact_button .text_main {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}
#floating_contact_button .contact_button .text_sub {
    font-size: 0.875rem;
}
#floating_contact_button .close {
    background-color: #DCDCDC;
    font-size: 1.125rem;
    font-weight: bold;
    width: 2.5rem;
    height: 2.5rem;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -0.75rem;
    right: -0.75rem;
    cursor: pointer;
    z-index: 4;
}
