.footer {
    /* width: 128rem; */
    height: 107.6rem;
    /* background-color: #D17379; */
    /* position: sticky; */
    /* top: 0; */
}

.footer_top {
    margin: 0 0 0 auto;
    width: 70rem;
    height: 49.7rem;
    background-color: #FFF;
    border-radius: 0 8rem 0 0;
}

.footer_circle_box {
    margin: 9.3rem 0 0 auto;
}

.footer_circle {
    width: 12.1rem;
    height: 12.1rem;
    border-radius: 50%;
    border: 1px solid #000000;
    display: inline-grid;
    align-content: space-around;
    margin-right: 10.5rem;
    justify-content: center;
    transition: all 0.6s;
    position: relative;
}

.footer_circle::before{
    content: '';
    position: absolute;
    width: 1.1rem;
    height: 2px;
    transform: rotate(-45.5deg);
    top: 50%;
    left: 50%;
    transform-origin: left bottom;
    transition: all 0.6s;
}

.footer_circle .arrow-svg{
    transition: all 0.6s;
}

.footer_circle:hover{
    background-color: #3c3c3c;
}

.footer_circle:hover::before{
    background : #fff;
    width: 3rem;
    /* transform-origin: left bottom; */
}

.footer_circle:hover .arrow-svg{
    stroke: #fff;
    transform: translate(2.3rem, -2.3rem);
    
}

.arrow-svg {
    stroke: #3C3C3C;
    margin: 0 auto;
}

.footer_flex {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: space-around;
}

.footer_top_text_big {
    margin: 11.23rem 0 0 11.7rem;
    font-size: 4rem;
    font-weight: 700;
    font-family: var(--Ubuntu);
    color: var(--black);
}

.footer_top_text_big2 {
    margin: 10.45rem 0 0 11.7rem;
    font-size: 4rem;
    font-weight: 700;
    font-family: var(--Ubuntu);
    color: var(--black);
}

.footer_top_text_small {
    margin: 2.43rem 0 0 11.7rem;
    font-size: 1.6rem;
    font-family: var(--NotoSans);
    font-weight: 700;
    color: var(--black);
}

.footer_bottom {
    margin: 0 0 0 auto;
    width: 70rem;
    height: 63.9rem;
    background-color: #D8D8D8;
}

.footer_bottom_left {
    margin: 8.95rem 0 0 12.05rem;
}

.footer_bottom_flex {
    display: flex;
    align-items: baseline;
}

.logo-svg {
    width: 14.9rem;
    height: 2.299rem;
}

.footer_bottom_tel {
    margin-top: 1.51rem;
    width: 1.606rem;
    height: 1.606rem;
}

.footer_bottom_clock {
    width: 1.709rem;
    height: 1.709rem;
}

.footer_bottom_close {
    width: 2.373rem;
    height: 2.085rem;
}

.footer_bottom_p1 {
    margin-top: 0.81rem;
    font-size: 1.23rem;
    font-weight: 700;
    font-family: var(--NotoSans);
    color: #3C3C3C;
}

.footer_bottom_p2 {
    margin-top: 5.34rem;
    font-size: 1.8rem;
    font-weight: 700;
    font-family: var(--NotoSans);
    color: #3C3C3C;
}

.footer_bottom_p3 {
    margin-top: 9.6rem;
    font-size: 1.8rem;
    font-weight: 700;
    font-family: var(--NotoSans);
    color: #3C3C3C;
}

.footer_bottom_number {
    margin: 1.1rem 0 0 0.74rem;
    font-size: 2.0rem;
    font-weight: 700;
    font-family: var(--Ubuntu);
    color: #3C3C3C;
}

.footer_bottom_address {
    margin: 1.3rem 0 0 0;
    font-size: 1.5rem;
    font-family: var(--NotoSans);
    font-weight: 500;
}

.footer_bottom_google {
    margin: 2rem 0 0 0;
    padding: 0.3rem;
    width: 12.0rem;
    height: 2.5rem;
    background-color: #FCFCFA;
    font-size: 1.4rem;
    font-family: var(--Ubuntu);
    font-weight: 700;
    color: #3C3C3C;
    text-align: center;
}

.footer_bottom_clock {
    margin: 4.88rem 0 0 0;
    object-fit: cover;
}

.footer_bottom_time {
    margin: 4.88rem 0 0 1.19rem;
    font-size: 1.5rem;
    font-weight: 500;
    color: #3C3C3C;
    font-family: var(--Ubuntu);
}

.footer_bottom_close {
    margin: 1.85rem 0 0 0;
    object-fit: cover;
}

.footer_bottom_close2 {
    margin: 1.86rem 0 0 0.53rem;
    font-size: 1.4rem;
    font-family: var(--NotoSans);
    font-weight: 500;
    color: #3C3C3C;
}

.footer_bottom_Copyright {
    margin: 3.67rem 0 0 0;
    font-size: 1.2rem;
    color: #3C3C3C;
    font-family: var(--Ubuntu);
    font-weight: 500;
}

.footer_bottom_right {
    transform: rotate(90deg);
    display: flex;
    align-items: center;
    /* 垂直中心 */
    justify-content: center;
    /* 水平中心 */
}

.footer_bottom_right:before {
    border-top: 0.1rem solid;
    content: "";
    width: 3.988rem;
    /* 線の長さ */
}

.footer_bottom_right:before {
    margin-right: 1.21rem;
    /* 文字の右隣 */
}

.footer_bottom_right {
    margin: 8.95rem 0 0 auto;
    height: 1rem;
    width: 15rem;
    z-index: 40;
    color: var(--black);
}

.footer_bottom_right p {
    font-size: 1.1rem;
    color: #3C3C3C;
    font-family: var(--Ubuntu);
    font-weight: 700;
}

/* front_footer */

.footer_top_main {
    display: flex;
    padding-top: 13.7rem;
    height: 57.4rem;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    align-items: baseline;
    background-color: var(--off-white);
    border-radius: 0 5rem 0 0;
}

.footer_top_text_big02 {
    /* margin: 11.23rem 0 0 11.7rem; */
    font-size: 4rem;
    font-weight: 700;
    font-family: var(--Ubuntu);
    color: var(--black);
}

.footer_top_text_small02 {
    /* margin: 2.43rem 0 0 11.7rem; */
    font-size: 1.6rem;
    font-family: var(--NotoSans);
    font-weight: 700;
    color: var(--black);
    color: var(--black);
}

.footer_flex02 {
    display: flex;
    flex-direction: column;
    margin-left: 16rem;
    width: 43.521rem;
    text-align: center;
}

.footer_top_text_big2_02 {
    /* margin: 10.45rem 0 0 11.7rem; */
    font-size: 4rem;
    font-weight: 700;
    font-family: var(--Ubuntu);
    color: var(--black);
}

.footer_circle_box02 {

    /* margin: 0 auto; */

    /* text-align: center; */

    margin-top: 6.55rem;
}

.footer_circle02 {
    width: 12.1rem;
    height: 12.1rem;
    border-radius: 50%;
    background-color: #D8D8D8;
    display: inline-grid;
    align-content: space-around;
    /* margin-right: 10.5rem; */
    margin: 0;
}

.footer_flex02_02 {
    margin-left: 9rem;
    position: relative;
}

.footer_bottom_right02 {
    /* margin: 8.95rem 0 0 auto; */
    height: 1rem;
    /* width: 15rem; */
    top: -2rem;
    right: -13rem;
    position: absolute;
    transform: rotate(90deg);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}

.footer_bottom_right02:before {
    border-top: 0.1rem solid;
    content: "";
    top: 0.5rem;
    left: -5rem;
    position: absolute;
    width: 3.988rem;
}

.footer_bottom_right .page_top_font {
    font-size: 1.1rem;
    color: #3C3C3C;
    font-family: var(--Ubuntu);
    font-weight: 700;
}

.page_top_font02 {
    font-size: 1.1rem;
    font-weight: bold;
    color: var(--black);
    font-family: var(--Ubuntu);
}

.footer_bottom_top {
    /* margin: 0 0 0 auto; */
    width: 100%;
    height: 77.9rem;
    background-color: #D8D8D8;
}

.footer_bottom_left_top {
    margin: 21.23rem 0 0 17.9rem;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.footer_bottom_left_top_01 {
    /* display: block; */
    width: 23.3rem;
    height: 7.6rem;
}

.footer_bottom_p2_02 {
    /* margin-top: 5.34rem; */
    font-size: 1.8rem;
    font-weight: 700;
    font-family: var(--NotoSans);
    color: #3C3C3C;
}

.top_text_flont02 {
    margin-right: 16rem;
}

.logo-svg_footer {
    width: 100%;
    height: 100%;
}

.footer_bottom_p1_top {
    margin-top: 1.4rem;
    font-size: 1.8rem;
    font-weight: bold;
    font-family: var(--NotoSans);
    color: #3C3C3C;
}

.copyright_footer {
    margin-left: 15.6rem;
}

.time_and_close_top {
    display: flex;
    align-items: flex-end;
    width: 33.6rem;
    justify-content: space-between;
}

@media screen and (max-width: 699.98px) {
    .footer_top {
        margin: 0;
        width: 100%;
        height: 45rem;
        border-radius: 0 5rem 0 0;
        /* padding-bottom: 6.5rem; */
        height: 32.1rem;
    }

    .footer_top_text_big {
        margin: 7.7rem 0 0 2.5rem;
        font-size: 2.6rem;
        font-weight: 700;
        font-family: var(--Ubuntu);
    }

    .footer_top_text_small {
        margin: 0.73rem 0 0 2.5rem;
        font-size: 1.3rem;
    }

    .footer_top_text_big2 {
        font-size: 2.6rem;
        margin: 7.7rem 0 0 2.5rem;
    }

    .footer_circle_box {
        margin: 0;
    }

    .footer_bottom {
        margin: 0;
        width: 100%;
        /* height: auto; */
    }

    .footer {
        width: 100%;
        height: auto;
        /* margin-left: 0; */
    }

    .footer_circle {
        margin: 0;
        width: 8rem;
        height: 8rem;
    }

    .footer_bottom_left {
        /* margin: 0 0 0 2.75rem; */
        width: 100%;
        padding-top: 7rem;
        padding-left: 2.7rem;
        display: revert;
        margin: 0;
        position: relative;
    }

    .footer_bottom_right {
        /* margin: 5.05rem; */
        margin-right: -3rem;
        position: absolute;
        top: 3rem;
        right: -2rem;
        /* bottom: -1rem; */
    }

    .footer_bottom_p2 {

        font-size: 1.7rem;

        letter-spacing: 0.02em;
    }

    .footer_bottom_number {

        margin: 0.5rem 0 0 0.74rem;
    }

    .footer_bottom_tel {
        margin-top: 0.5rem;
    }

    .footer_bottom_address {
        font-size: 1.4rem;
        margin: 0.7rem 0 0 0;
    }

    .footer_bottom_Copyright {
        white-space: nowrap;
        /* margin-left: 2.8rem; */
        margin-left: 0;
    }

    .footer_top_main {
        flex-direction: column;
        padding-top: 7.7rem;
        height: 32.1rem;
    }

    .footer_flex02 {
        margin-left: 0;
        display: flex;
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
        width: 32.5rem;
        margin: 0 auto;
        margin-bottom: 4.1rem;
    }

    .footer_circle02 {
        width: 8rem;
        height: 8rem;
    }

    .footer_top_text_big02 {
        font-size: 2.6rem;
    }

    .footer_top_text_small02 {
        font-size: 1.3rem;
        text-align: left;
    }

    .footer_circle_box02 {
        margin-top: 0;
    }

    .footer_top_text_big2_02 {
        font-size: 2.6rem;
    }

    .footer_bottom_top {

        height: 68rem;

    }

    .footer_flex {
        /* flex-direction: column; */
        /* text-align: center; */
        /* width: 47.9rem; */
        position: relative;
        justify-content: space-between;
        padding-right: 3.8rem;
        /* align-items: end; */
    }

    .footer_bottom_left_top {
        flex-direction: column;
        margin: 0;
        padding-left: 2.5rem;
        padding-top: 7rem;
    }

    .footer_bottom_p1_top {
        margin: 0;
        font-size: 1.1rem;
    }

    .footer_bottom_left_top_01 {
        height: auto;
    }

    .logo-svg_footer {
        width: 13rem;
        height: 2rem;
    }

    .time_and_close_top {
        flex-direction: column;
        margin-left: 0;
        width: auto;
        text-align: left;
        align-items: baseline;
    }

    .top_text_flont02 {
        margin: 0;
        margin-top: 4.59rem;
    }

    .footer_bottom_right02 {
        right: -2rem;
        justify-content: normal;
        bottom: -19rem;
        top: auto;
    }

    .footer_bottom_p2_02 {
        font-size: 1.7rem;
    }

    .footer_bottom_p3 {
        font-size: 1.7rem;
        margin-top: 4.6rem;
    }

    .top_footer_copy {
        margin-left: 2.5rem;
    }

    .footer_circle:hover{
        background-color: #D8D8D8;
    }

    .footer_circle:hover .arrow-svg{
        transform: none;
        stroke: #3c3c3c;
    }

    .footer_circle:hover::before{
        display: none;
    }

    
}