/* ===== Terms and Conditions Css ====== */
html,
body {
    overflow: visible;
    height: 100vh;
    margin: 0;
}

body {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.4em;
    letter-spacing: 0;
}

html[lang="ja"] body {
    font-family: "M PLUS 1p", sans-serif;
}

html:not([lang="ja"]) body {
    font-family: "Yantramanav", sans-serif;
}

body.scroll-locked {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#terms-page-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    height: var(--viewport-height, 100vh);
    padding: 2rem 3.2rem 2rem 3.2rem;
}

#terms-page-wrapper .container-fluid {
    position: relative;
    flex: 1;
    padding: 0;
    overflow: hidden;
}

@supports (-webkit-touch-callout: none) {
    body.scroll-locked #terms-page-wrapper {
        height: var(--viewport-height, -webkit-fill-available);
    }
}

h5.page-title {
    font-size: inherit;
    line-height: inherit;
}

a:hover {
    color: inherit;
    text-decoration: none;
}

.container-fluid {
    width: 100%;
}

.row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.row .column-1 {
    display: none;
}

.row .column-3 {
    text-align: right;
}

.content-inner .column-3 {
    width: 100%;
}

.col-12,
.column-12 {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
}

.m-hidden {
    display: none;
}

.folded {
    max-height: 0;
    overflow: hidden;
    transition: all 0s ease-in-out;
}

.folded.visible {
    max-height: 50rem;
}

.divider {
    min-height: 2rem;
    margin-top: 10rem;
    margin-bottom: 5rem;
}

.translation,
.back-to-form {
    display: flex;
    flex-direction: column;
    align-items: end;
}

/* Row 01 Style starts here*/

.about-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.about-content p {
    text-align: justify;
}

.about-heading p,
.terms-heading p,
.contact-heading p {
    min-width: 17%;
}

.about-heading p:is(:last-child),
.terms-heading p:is(:last-child),
.contact-heading p:is(:last-child) {
    text-align: right;
}

.m-row-2 .col-12,
.m-row-3 .col-12 {
    display: flex;
    justify-content: space-between;
}

/* Row 02 Style starts here*/

h4.terms-heading {
    font-size: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.col-12 .terms-heading {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4rem;
}

.terms-introduction .fw-bold {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.terms-introduction ul.terms-checklist {
    margin: 0;
    padding: 0;
    list-style-type: none;
    position: relative;
}

.terms-introduction ul.terms-checklist::after {
    content: " - ";
    position: absolute;
    bottom: -15px;
    left: 0;
}

ul.terms-checklist .nav-link {
    margin: 0;
    padding: 0;
}

ul.terms-checklist .nav-link.highlight {
    color: #000;
    font-weight: 400;
}

ul.terms-checklist .nav-link.highlight.first-heading {
    font-weight: 300;
}

.terms-heading .left,
.table-content .list-item .left {
    width: 63.45%;
    display: flex;
    justify-content: space-between;
}

.hidden {
    display: none;
}

.contact-heading {
    display: flex;
    justify-content: space-between;
}

.footer-inner .row .column-2,
.footer-inner .row .column-3 {
    width: 50%;
}

.content-top {
    min-height: 7rem;
    margin-bottom: 5rem;
}

.row.content {
    width: 100%;
    margin-left: 0;
    margin-bottom: 5rem;
    flex-grow: 1;
}

.content-inner {
    display: block;
}

.terms-heading p.terms {
    margin-left: 8% !important;
}

.col-12 .terms-content {
    max-height: 60vh;
    overflow: hidden;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-grow: 1;
    padding-bottom: 5rem;
}

body.scroll-locked .row .col-12 .terms-content {
    overflow: auto;
}

.col-12 .terms-content::-webkit-scrollbar {
    display: none;
}

#terms-footer {
    min-height: 3rem;
    margin-top: auto;
    display: flex;
    align-items: end;
}

#terms-footer .footer-content {
    width: 100%;
    position: static;
    bottom: 0;
}

#terms-footer .back-to-form {
    display: flex;
    justify-content: end;
}

/* Footer Style starts here*/

@media (min-width: 768px) {
    body {
        font-size: 1.35rem;
        line-height: normal;
    }

    #terms-page-wrapper {
        position: inherit;
        padding: 3% 7% 1.5% 7%;
    }

    #terms-page-wrapper .container {
        display: flex;
        flex-direction: column;
    }

    .row.content {
        margin-bottom: 5rem;
        flex-grow: 1;
    }

    .about-heading p,
    .terms-heading p,
    .contact-heading p {
        min-width: auto;
    }

    .row .column-3 {
        text-align: left;
    }

    .content-inner {
        display: flex;
        gap: 2rem;
    }

    .content-inner .column-3 {
        width: 25%;
    }

    .content-inner .column-3 .top {
        margin-bottom: 1rem;
    }
    h4.terms-heading {
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .row .content-bottom {
        display: flex;
        align-items: center;
        margin-top: 4rem;
    }

    .w-25 .page-links {
        margin-bottom: 0;
        margin-right: 2rem;
        text-align: right;
    }

    .page-links span.current {
        position: relative;
    }

    .page-links span.current::after {
        content: '_';
        position: absolute;
        bottom: -5px;
        left: 0;
    }

    footer#site-footer {
        display: none;
    }

    #page-scroller-1,
    #page-scroller-2 {
        display: none;
    }

}

@media (min-width: 1200px) {
    body {
        font-size: 1.4rem;
        line-height: 1.3;
    }
}

@media (min-width: 1366px) {
    .column-3 {
        width: 30%;
    }

    .content-inner {
        gap: 3rem;
    }
}

@media (min-width: 1512px) {
    .content-inner {
        gap: 4rem;
    }
}

@media (min-width: 1920px) {
    body {
        font-size: 1.8rem;
    }

    .content-top {
        min-height: 15%;
    }

    .content-inner {
        gap: 5rem;
    }

    h4.terms-heading {
        font-size: 1.8rem;
        line-height: 1.3em;
        margin-bottom: 4rem;
    }

    .terms-content {
        font-size: 1.8rem;
        line-height: 1.3em;
    }


}