.site-footer {
    display: none
}

.page-title-text-jp {
    text-align: center
}

.admin-bar .visit-page-template {
    height: calc(100vh - 32px)
}

.visit-page-template {
    position: relative;
    width: 100vw;
    height: 100vh
}

.visit-page::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: .15;
    pointer-events: none;
    background-image: url(../images/overlay-layer-origin.jpg);
    background-size: cover;
    background-position: center;
    mix-blend-mode: luminosity
}

.visit-page::after {
    content: '';
    display: block;
    width: 3025px;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    pointer-events: none
}

.visit-page .container {
    position: relative;
    z-index: 3
}

.layer-visit p,
.layer-visit a {
    font-family: var(--font-family);
    text-decoration: none
}

.footer-social a {
    opacity: .7
}

.footer-social a:hover {
    opacity: 1
}

.visit-page .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    width: 100%
}

.visit-page .row .col-lg-6 {
    width: 40%;
    display: inline-block;
    vertical-align: top
}

.visit-page .item .title {
    font-size: calc(var(--font-size-base) + 2px);
    font-weight: 400;
    opacity: .5;
    font-family: var(--font-family)
}

.visit-page .row .col-lg-6>div {
    max-width: 440px;
    width: 100%;
    padding: 40px 0 50px;
}

.visit-page .contact_info_left-mobile .row .col-lg-6>div {
    border-top: 1px solid rgba(255, 255, 255, .2);
}

.layer-visit {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.layer-visit .content p:not(:last-child) {
    margin-bottom: 23px
}

.layer-visit .item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.layer-visit h4 {
    margin-bottom: 33px
}

.layer-visit .footer-social {
    display: block;
    padding-top: 30px
}

.layer-visit .item-social {
    display: inline-block;
    margin-left: 25px
}

.page-title .number {
    font-family: var(--font-family-heading);
    text-align: center
}

.page-template-visit-page .visit-page {
    width: 100vw;
    background-size: cover;
    background-position: center
}


.visit-page-inner {
    width: 100%
}

.footer-menu-wrapper {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0 auto;
    gap: 10px;
    width: 100%
}

.footer-menu-wrapper li {
    list-style: none
}

.footer-menu-wrapper li a {
    color: var(--color-text);
    font-size: calc(var(--font-size-base) - 1px);
    line-height: 1.46666666667;
    opacity: .6
}

.footer-menu-wrapper li a:hover {
    opacity: .75
}

.footer-menu-container {
    position: relative;
    z-index: 3;
    max-width: 391px;
    width: 100%
}

div#button-sticky {
    display: none
}

.button-backtop.button-sticky-wraper a {
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: rgba(255, 255, 255, .3);
    border-color: #fff;
    display: inline-flex;
    z-index: 9999;
    justify-content: center;
    align-items: center
}

.button-backtop.button-sticky-wraper .button.primary::before {
    transform: rotate(-90deg);
    position: static
}

.button-backtop.button-sticky-wraper .button.primary::after {
    display: none
}

.contact_info_left-desktop,
.contact_info_left-desktop .row {
    position: relative;
}

.contact_info_left-desktop:before,
.contact_info_left-desktop .row::before {
    content: '';
    width: 40%;
    height: 1px;
    background: rgba(255, 255, 255, .2);
    position: absolute;
    top: 0;
    left: 0;
    max-width: 440px;
}

.contact_info_left-desktop:after,
.contact_info_left-desktop .row::after {
    content: '';
    width: 40%;
    height: 1px;
    background: rgba(255, 255, 255, .2);
    position: absolute;
    top: 0;
    right: 0;
    max-width: 440px;
}

.contact_info_left-desktop .row::before,
.contact_info_left-desktop .row::after {
    top: auto;
    bottom: 0;
}

@media screen and (min-width: 1700px) {
    .page-template-visit-page .visit-page {
        min-width: 1700px
    }
}

@media (min-width: 1024px) {

    .visit-page .row:nth-child(1) .col-lg-6>div {
        height: 295px;
    }

    .visit-page .row:nth-child(2) .col-lg-6>div {
        height: 228px;
    }
}

@media (min-width: 768px) {
    .button-backtop.button-sticky-wraper a {
        display: none
    }


    .visit-page .visit-page-inner {
        padding-bottom: 50px;
        position: absolute;
        z-index: 3;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
    }


    .visit-page .row:nth-child(1) .col-lg-6>div {
        height: 343px;
    }

    .visit-page .row:nth-child(2) .col-lg-6>div {
        height: 252px;
    }

    .visit-page .contact_info_left-mobile .row:nth-child(2) .col-lg-6>div {
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .visit-page .row .col-lg-6:nth-child(even)>div {
        margin-left: auto;
        text-align: right
    }

    .visit-page .item {
        width: 100%
    }

    .visit-page .row .col-lg-6:nth-child(even)>div .item {
        padding-right: 0
    }

    .page-template-visit-page {
        overflow: hidden
    }

    .visit-page-template::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .05);
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        pointer-events: none
    }

    .visit-page .page-title {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        position: absolute;
        width: 30px;
        color: var(--color-text);
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        z-index: 3
    }

    .visit-page .page-title .page-title-text {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        text-transform: uppercase
    }

    .visit-page .footer-bottom {
        font-size: calc(var(--font-size-base) - 1px);
        line-height: 22px;
        color: rgba(255, 255, 255, .5);
        z-index: 3;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        padding-top: 40px;
    }

    .visit-page .row .col-lg-6:nth-child(even)>div .footer-social {
        justify-content: flex-end
    }

    .page-title-text-jp:before {
        content: '';
        width: 1px;
        height: 12px;
        background: var(--color-text);
        display: inline-block;
        vertical-align: middle;
        opacity: .4;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .visit-page::after {
        width: 100%
    }

    .visit-page-template,
    .admin-bar .visit-page-template {
        height: auto
    }

    .page-title {
        display: block;
        width: 100%;
        text-align: center;
        padding-bottom: 69px;
        position: relative;
        z-index: 3
    }

    .page-title .number:after {
        content: '';
        width: 1px;
        height: 12px;
        background: var(--color-text);
        display: block;
        vertical-align: middle;
        opacity: .4;
        margin: 16px auto 20px;
        text-align: center
    }

    .page-title * {
        color: var(--color-text)
    }

    .visit-page .visit-page-inner {
        padding-top: 104px;
        padding-bottom: 76px
    }

    .page-template-visit-page div#content .visit-page .visit-page-inner {
        padding-top: calc(var(--height_header) + 72px);
        padding-bottom: 76px
    }

    section.visit-page {
        background-size: cover;
        padding-bottom: 60px
    }

    .page-template-visit-page .visit-page .number,
    .page-template-visit-page .page-title-text-jp:before {
        display: none
    }

    .visit-page .page-title .page-title-text {
        text-transform: uppercase
    }

    .visit-page .copyright {
        text-align: center;
        padding: 67px 0 9px 0;
        opacity: .5;
        font-size: calc(var(--font-size-base) - 1px);
        line-height: 1.46666666667;
        order: 1
    }

    .footer-menu-container {
        order: 2
    }

    .visit-page .footer-bottom {
        display: flex;
        justify-content: center;
        flex-wrap: wrap
    }

    .visit-page .row .col-lg-6 {
        width: 100%
    }

    .visit-page .row .col-lg-6:nth-child(2) {
        order: 3
    }

    .visit-page .row .col-lg-6:nth-child(3) {
        order: 2
    }

    .visit-page .row .col-lg-6:nth-child(4) {
        order: 4
    }

    .page-title-text-jp {
        margin-bottom: 8px
    }

    .visit-page .row .col-lg-6>div .item {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .visit-page .row .col-lg-6:nth-child(4) .item {
        padding-bottom: 0;
    }

    .visit-page .row .col-lg-6>div {
        max-width: 100%;
        padding: 0
    }

    .footer-menu-wrapper {
        max-width: 330px
    }

    .layer-visit .item-social {
        margin-left: 0;
        margin-right: 25px;
    }
}

.page-template-visit-page .page-title .number,
.page-template-visit-page .page-title-text-jp:before {
    display: none
}

.contact_info_left-desktop {
    display: block;
}

.contact_info_left-mobile {
    display: none;
}

@media (max-width: 767px) {
    .contact_info_left-desktop {
        display: none;
    }

    .contact_info_left-mobile {
        display: block;
    }
}