.policy-page {
    width: min(100% - 80px, 760px);
    margin: 0 auto;
    padding: 100px 0 140px;
    box-sizing: border-box;
}

.policy-page h1 {
    text-align: center;
    margin-bottom: 80px;
}

.policy-page section {
    margin-bottom: 48px;
}

.policy-page h2 {
    text-align: left;
    margin-bottom: 18px;
    font-size: 24px;
    line-height: 1.3;
}

.policy-page p {
    text-indent: 0;
    margin-bottom: 18px;
}

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

.policy-page a {
    color: #000000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.policy-note {
    color: rgba(0, 0, 0, 0.55);
    font-size: 18px;
    line-height: 160%;
}

@media (max-width: 1024px) {
    .policy-page {
        width: min(100% - 56px, 760px);
        padding: 80px 0 110px;
    }

    .policy-page h1 {
        margin-bottom: 64px;
    }
}

@media (max-width: 700px) {
    .policy-page {
        width: calc(100% - 40px);
        padding: 60px 0 80px;
    }

    .policy-page h1 {
        font-size: 42px;
        line-height: 1.1;
        margin-bottom: 48px;
    }

    .policy-page section {
        margin-bottom: 38px;
    }

    .policy-page h2 {
        font-size: 21px;
        line-height: 1.35;
    }

    .policy-page p {
        font-size: 18px;
        line-height: 160%;
    }

    .policy-note {
        font-size: 16px;
    }
}

@media (max-width: 420px) {
    .policy-page {
        width: calc(100% - 32px);
        padding: 48px 0 64px;
    }

    .policy-page h1 {
        font-size: 36px;
    }
}
