/* --------------------
 Policy
-------------------- */
.policy {
    padding: 80px 0 32.0855614973vw;
}

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

.policy-container {
    margin: 0 auto;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

.policy__title {
    margin: 0 0 18.7165775401vw;
}

@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.3903743316vw;
    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.3689839572vw;
}

@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: 500;
    letter-spacing: 0.2em;
    line-height: 2.2;
    margin: 0 0 2.6737967914vw;
}

@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: 8.0213903743vw 0 0;
}

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

.policy__main__item__sub__item {
    margin: 0 0 8.0213903743vw;
}

@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: 500;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin: 0 0 2.6737967914vw;
}

@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: 500;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin: 8.0213903743vw 0 1.3368983957vw;
}

@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: var(--color-black);
    border-radius: 50%;
    content: "";
    display: block;
    height: 0.8021390374vw;
    left: 0.8021390374vw;
    position: absolute;
    top: 3.4759358289vw;
    width: 0.8021390374vw;
}

@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 8.0213903743vw;
}

@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;
}