@charset "UTF-8";

body {
    color: #222;
    font-weight: 400;
    letter-spacing: .04em;
    overflow-x: hidden
}

body .js-scroll-fade {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .7s, transform .7s
}

body .js-scroll-fade.is-add-visible,
body .js-scroll-fade.is-on,
body .js-scroll-fade.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.c-page-header__inner .c-page-header__textarea {
    padding: 0 2.9333333333vw 8.5333333333vw
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__textarea {
        padding: 0 0 .6944444444vw 4.3055555556vw
    }
}

@media (min-width:90em) {
    .c-page-header__inner .c-page-header__textarea {
        padding: 0 0 10px 62px
    }
}

.c-page-header__inner .c-page-header__textarea .c-page-header__titles .c-page-header__subtitle {
    letter-spacing: .01em
}

@media (min-width:52.1875em) {
    .c-page-header__inner .c-page-header__textarea .c-page-header__titles .c-page-header__subtitle {
        letter-spacing: .04em
    }
}

.privacy {
    margin-bottom: 29.3333333333vw
}

@media (min-width:52.1875em) {
    .privacy {
        margin-bottom: 22.5vw
    }
}

@media (min-width:90em) {
    .privacy {
        margin-bottom: 324px
    }
}

.privacy__inner {
    margin: 0 auto;
    max-width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .privacy__inner {
        max-width: 55.5555555556vw
    }
}

@media (min-width:90em) {
    .privacy__inner {
        max-width: 800px
    }
}

.privacy__inner h3 {
    font-size: 5.3333333333vw;
    letter-spacing: .08em;
    line-height: 1.5;
    margin: 10.6666666667vw 0 4.2666666667vw
}

@media (min-width:52.1875em) {
    .privacy__inner h3 {
        font-size: 1.6666666667vw;
        line-height: .8;
        margin: 3.8888888889vw 0 1.6666666667vw
    }
}

@media (min-width:90em) {
    .privacy__inner h3 {
        font-size: 24px;
        margin: 56px 0 24px
    }
}

.privacy__inner p {
    font-size: 3.7333333333vw;
    letter-spacing: .05em;
    line-height: 1.7
}

@media (min-width:52.1875em) {
    .privacy__inner p {
        font-size: .9722222222vw
    }
}

@media (min-width:90em) {
    .privacy__inner p {
        font-size: 14px
    }
}

.privacy__inner a {
    text-decoration: underline
}

@media (min-width:52.1875em) {
    .privacy__inner a:hover {
        text-decoration: none
    }
}

.privacy__inner ol {
    counter-reset: number 0
}

.privacy__inner ol>li {
    font-size: 3.7333333333vw;
    letter-spacing: .05em;
    line-height: 1.7;
    position: relative
}

@media (min-width:52.1875em) {
    .privacy__inner ol>li {
        font-size: .9722222222vw
    }
}

@media (min-width:90em) {
    .privacy__inner ol>li {
        font-size: 14px
    }
}

.privacy__inner ol>li:before {
    content: counter(number) ".";
    counter-increment: number 1;
    left: 0;
    position: absolute;
    top: 0
}

.privacy__inner ul>li {
    font-size: 3.7333333333vw;
    letter-spacing: .05em;
    line-height: 1.7;
    padding-left: 1.5em;
    position: relative
}

@media (min-width:52.1875em) {
    .privacy__inner ul>li {
        font-size: .9722222222vw
    }
}

@media (min-width:90em) {
    .privacy__inner ul>li {
        font-size: 14px
    }
}

.privacy__inner ul>li:before {
    content: "・";
    font-weight: 700;
    left: 0;
    position: absolute;
    top: 0
}

/* --- リスト表示の修正 --- */

.privacy__inner ol {
    counter-reset: none; /* カウンターをリセットしない */
    list-style: none;    /* 標準の番号を非表示 */
    padding: 0;
    margin: 1.5em 0;
}

.privacy__inner ol > li {
    font-size: 3.7333333333vw;
    letter-spacing: .05em;
    line-height: 1.7;
    position: relative;
    margin-bottom: 1.2em; /* 項目間の余白 */
}

/* 重なりを防ぐため、CSSの自動連番機能を完全に停止 */
.privacy__inner ol > li:before {
    content: none !important; /* 番号を生成しない */
}

/* PCサイズ調整 */
@media (min-width: 52.1875em) {
    .privacy__inner ol > li {
        font-size: .9722222222vw;
    }
}

@media (min-width: 90em) {
    .privacy__inner ol > li {
        font-size: 14px;        
    }
}
