/* --------------------
 Policy
-------------------- */
html {
    font-size: 4.2666666667vw;
}

@media (min-width: 768px) {
    html {
        font-size: min(var(--fs16), 1.8229166667vw);
    }
}

.policy {
    padding: 80px 0 32vw;
}

@media (min-width: 768px) {
    .policy {
        padding: 120px 0 200px;
    }
}

.policy-container {
    margin: 0 auto;
    max-width: 1104px;
    padding: 0 8vw;
    width: 100%;
}

@media (min-width: 768px) {
    .policy-container {
        padding: 0 30px;
    }
}

.policy__title {
    margin: 0 0 18.6666666667vw;
}

@media (min-width: 768px) {
    .policy__title {
        margin: 0 0 70px;
    }
}

.policy__title__en {
    font-family: var(--ff-gpp-r);
    font-size: var(--fs38);
    letter-spacing: 0.105em;
    line-height: 1.2;
    margin: 0 0 21.3333333333vw;
    text-align: center;
}

@media (min-width: 768px) {
    .policy__title__en {
        margin: 0 0 80px;
    }
}

.policy__title__ja {
    font-family: var(--ff-fot-tbom-pr6-b);
    font-size: var(--fs14);
    font-weight: 400;
    letter-spacing: 0.3em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

.policy__main__item {
    margin: 0 0 13.3333333333vw;
}

@media (min-width: 768px) {
    .policy__main__item {
        margin: 0 0 70px;
    }
}

.policy__main__item:last-child {
    margin-bottom: 0;
}

.policy__main__item__title {
    font-size: var(--fs16);
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 2.2;
    margin: 0 0 2.6666666667vw;
}

@media (min-width: 768px) {
    .policy__main__item__title {
        font-size: var(--fs18);
        margin: 0 0 10px;
    }
}

.policy__main__item__content p {
    font-size: var(--fs14);
    letter-spacing: 0.1em;
    line-height: 2;
    margin: 0 0 1.5em;
}

.policy__main__item__content p:last-child {
    margin-bottom: 0;
}

.policy__main__item__sub {
    margin: 8vw 0 0;
}

@media (min-width: 768px) {
    .policy__main__item__sub {
        margin: 40px 0 0;
    }
}

.policy__main__item__sub__item {
    margin: 0 0 8vw;
}

@media (min-width: 768px) {
    .policy__main__item__sub__item {
        margin: 0 0 40px;
    }
}

.policy__main__item__sub__item:last-child {
    margin-bottom: 0;
}

.policy__main__item__sub__item__title {
    font-size: var(--fs14);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin: 0 0 2.6666666667vw;
}

@media (min-width: 768px) {
    .policy__main__item__sub__item__title {
        font-size: var(--fs16);
        margin: 0 0 10px;
    }
}

.policy__main__item__sub__item__content h4 {
    font-size: var(--fs14);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin: 8vw 0 1.3333333333vw;
}

@media (min-width: 768px) {
    .policy__main__item__sub__item__content h4 {
        margin: 30px 0 5px;
    }
}

.policy__main__item__sub__item__content h4:first-child {
    margin-top: 0;
}

.policy__main__item__sub__item__content p {
    font-size: var(--fs14);
    letter-spacing: 0.1em;
    line-height: 2;
    margin: 0 0 1.5em;
}

.policy__main__item__sub__item__content p:last-child {
    margin-bottom: 0;
}

.policy__main__item__sub__item__content ul {
    list-style: none;
    margin: 0 0 1.5em;
    padding: 0;
}

.policy__main__item__sub__item__content ul:last-child {
    margin-bottom: 0;
}

.policy__main__item__sub__item__content ul > li {
    font-size: var(--fs14);
    letter-spacing: 0.1em;
    line-height: 2;
    margin: 0;
    padding: 0;
}

.policy__main__item__sub__item__content ul.-bracket > li {
    padding: 0 0 0 2.75em;
    position: relative;
    text-indent: -2.75em;
}

.policy__main__item__sub__item__content ul.-dot > li {
    padding: 0 0 0 1em;
    position: relative;
}

.policy__main__item__sub__item__content ul.-dot > li:before {
    background-color: #000;
    border-radius: 50%;
    content: "";
    display: block;
    height: 0.8vw;
    left: 0.8vw;
    position: absolute;
    top: 3.4666666667vw;
    width: 0.8vw;
}

@media (min-width: 768px) {
    .policy__main__item__sub__item__content ul.-dot > li:before {
        height: 3px;
        left: 3px;
        top: 12px;
        width: 3px;
    }
}

.policy__main__item__sub__item__content__section {
    margin: 0 0 8vw;
}

@media (min-width: 768px) {
    .policy__main__item__sub__item__content__section {
        margin: 0 0 30px;
    }
}

.policy__main__item__sub__item__content__section:last-child {
    margin-bottom: 0;
}