.privacy_policy_page_ja .privacy_policy_page {
    word-break: normal;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
}

.privacy_policy_page_ja .privacy_policy_visual h2 {
    word-break: keep-all;
    text-wrap: balance;
}

.privacy_policy_page_ja .privacy_policy_section_body h3 {
    text-wrap: balance;
}

.privacy_policy_page_ja .footer_info p {
    word-break: normal;
    overflow-wrap: break-word;
    line-break: strict;
}

.privacy_policy_page_ja .footer_nav a {
    word-break: keep-all;
}

@media screen and (min-width: 600px) and (max-width: 767px) {
    .privacy_policy_page_ja .privacy_policy_index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .privacy_policy_page_ja .privacy_policy_table_row,
    .privacy_policy_page_ja .privacy_policy_table_row:first-child {
        display: block;
        padding: 15px 18px;
        border-top: 1px solid var(--color-line, #dfe5dc);
    }

    .privacy_policy_page_ja .privacy_policy_table_row > * {
        display: block;
        padding: 0;
        font-size: 14px;
    }

    .privacy_policy_page_ja .privacy_policy_table_row > * + * {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--color-line, #dfe5dc);
        border-left: 0;
    }

    .privacy_policy_page_ja .privacy_policy_table_row > span::before {
        display: block;
        margin-bottom: 4px;
        color: var(--color-text-muted, #777);
        font-size: 12px;
    }

    .privacy_policy_page_ja .privacy_policy_contact,
    .privacy_policy_page_ja .privacy_policy_links {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .privacy_policy_page_ja .privacy_policy_contact > div:nth-child(odd),
    .privacy_policy_page_ja .privacy_policy_contact > div:nth-child(even) {
        padding: 17px 0;
    }
}

@media screen and (max-width: 767px) {
    .privacy_policy_page_ja .privacy_policy_table_row.privacy_policy_table_head {
        display: none;
    }

    .privacy_policy_page_ja .privacy_policy_table:not(.privacy_policy_table_outsource) .privacy_policy_table_row > span:nth-child(2)::before {
        content: "必須項目";
    }

    .privacy_policy_page_ja .privacy_policy_table:not(.privacy_policy_table_outsource) .privacy_policy_table_row > span:nth-child(3)::before {
        content: "任意項目";
    }

    .privacy_policy_page_ja .privacy_policy_table_outsource .privacy_policy_table_row > span:nth-child(2)::before {
        content: "委託業務";
    }

    .privacy_policy_page_ja .privacy_policy_table_outsource .privacy_policy_table_row > span:nth-child(3)::before {
        content: "保存・利用期間";
    }
}

@media screen and (max-width: 359px) {
    .privacy_policy_page_ja .footer_nav a {
        white-space: normal;
    }
}
