@charset 'utf-8';

*, *::before, *::after {
    word-break: break-all;
}

.tos,
.tos li,
.tos li a {
    display: block;
    position: relative;
    width: 100%;
}

.tos li .scroll_icon {
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 2rem;
    height: 2rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.tos li .scroll_icon svg {
    width: 100%;
}

.tos li a {
    padding-right: 4rem;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--color-text);
}

.terms .title-secondary {
    margin: 5.5rem 0 1.5rem;
    font-size: 2rem;
}

.terms .title-teriary {
    margin: 3.55rem 0 1.55rem;
    font-size: 1.8rem;
}

.terms .title-quaternary {
    margin: 1.65rem 0 0.65rem;
    font-size: 1.4rem;
}

.terms .title-quaternary:first-child {
    margin-top: 0;
}

.terms .terms_card ol + ol,
.terms .terms_card li + li {
    margin-top: 0.7rem;
}

.terms .terms_card p {
    display: block;
    margin-top: 0.7rem;
    font-size: inherit;
    text-indent: 0;
}

.terms .terms_card a {
    display: inline;
    font-size: inherit;
    text-decoration: underline;
}

.lvl1-num {
    counter-reset: lvl1-num;
}

.lvl2-num {
    margin-top: 0.7rem;
    counter-reset: lvl2-num;
}

.lvl1-num > li,
.lvl2-num > li {
    display: block;
    position: relative;
    padding-left: 2em;
    text-indent: -2em;
    font-feature-settings: "palt";
}

.lvl1-num > li::before,
.lvl2-num > li::before {
    display: inline-block;
    position: relative;
    width: 2em;
    margin: 0;
    text-indent: 0;
    color: inherit;
}

.lvl1-num > li::before {
    content: counter(lvl1-num) ".";
    counter-increment: lvl1-num;
}

.lvl2-num > li::before {
    content: counter(lvl2-num) ".";
    counter-increment: lvl2-num;
}

.lvl3-kana {
    margin-top: 0.7rem;
}

.lvl3-kana > li {
    display: block;
    position: relative;
    padding-left: 2em;
    text-indent: -2em;
}

.lvl3-kana > li > span {
    display: inline-block;
    width: 1em;
    margin-right: 1em;
    text-align: center;
    text-indent: 0;
}

.lvl2-num-paren {
    counter-reset: chapter;
}

.lvl2-num-paren > li{
    padding-left: 2em;
    text-indent: -2em;
    font-feature-settings: "palt";
    counter-increment: chapter;
}

.lvl2-num-paren > li::before {
    content: "("counter(chapter)")";
    display: inline-block;
    position: relative;
    width: 2em;
    margin: 0;
    text-indent: 0;
    color: inherit;
}

.bottom_content {
    margin-top: 1.65rem;
    text-align: right;
}

@media only screen and (min-width: 751px) {
    .terms p,
    .terms span,
    .terms a {
        font-size: 1.6rem;
    }

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

    .tos li {
        width: 23.5rem;
    }

    .tos li .scroll_icon {
        position: absolute;
        top: 50%;
        right: 2rem;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .tos li a {
        margin: 0;
        padding-right: 4rem;
        font-size: 1.6rem;
        font-weight: bold;
        color: var(--color-text);
    }

    .terms .title-primary {
        margin: 6.8rem 0 2.8rem;
        font-size: 4.8rem;
    }

    .terms .title-secondary {
        margin: 5.4rem 0 1.4rem;
        font-size: 2.4rem;
    }

    .terms .title-teriary {
        margin: 3.55rem 0 1.55rem;
        font-size: 1.8rem;
    }

    .terms .title-quaternary {
        margin: 1.6rem 0 0.6rem;
        font-size: 1.6rem;
    }

    .terms .title-quaternary:first-child {
        margin-top: 0;
    }

    .terms .terms_card {
        padding: 3.6rem 4rem;
    }

    .terms .terms_card ol + ol,
    .terms .terms_card li + li {
        margin-top: 0.7rem;
    }

    .terms .terms_card li {
        font-size: 1.6rem;
    }

    .terms .terms_card p {
        display: block;
        margin-top: 0.7rem;
        font-size: inherit;
        text-indent: 0;
    }

    .terms .card a {
        display: inline;
        text-decoration: underline;
    }

    .lvl1-num {
        counter-reset: lvl1-num;
    }

    .lvl2-num {
        margin-top: 0.7rem;
        counter-reset: lvl2-num;
    }

    .lvl1-num > li,
    .lvl2-num > li {
        display: block;
        position: relative;
    }

    .lvl1-num > li::before,
    .lvl2-num > li::before {
        display: inline-block;
        position: relative;
        margin: 0;
        text-indent: 0;
        color: inherit;
    }

    .lvl1-num > li::before {
        content: counter(lvl1-num) ".";
        counter-increment: lvl1-num;
    }

    .lvl2-num > li::before {
        content: counter(lvl2-num) ".";
        counter-increment: lvl2-num;
    }

    .lvl3-kana {
        margin-top: 0.7rem;
    }

    .lvl3-kana > li {
        display: block;
        position: relative;
        padding-left: 2em;
        text-indent: -2em;
    }

    .lvl3-kana > li > span {
        display: inline-block;
        width: 1em;
        margin-right: 1em;
        text-align: center;
        text-indent: 0;
    }

    .bottom_content {
        margin-top: 3.6rem;
        text-align: right;
    }
    .terms .btn_wrap {
        margin-top: 8rem;
    }
}
