/* ==================================================
   Privacy Policy
   /privacy-policy/
================================================== */

.privacy-policy-page {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #111;
}

.privacy-policy-page,
.privacy-policy-page *,
.privacy-policy-page *::before,
.privacy-policy-page *::after {
    box-sizing: border-box;
}

.privacy-policy-container {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
}

.privacy-policy-container--content {
    max-width: 960px;
}


/* ==================================================
   Hero
================================================== */

.privacy-policy-hero {
    padding: 180px 0 110px;
}

.privacy-policy-title {
    margin: 0;
    color: inherit;
    font-size: clamp(40px, 5.1vw, 72px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0.01em;
}

.privacy-policy-title-ja {
    margin: 18px 0 0;
    color: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.08em;
}


/* ==================================================
   Content
================================================== */

.privacy-policy-content {
    padding: 0 0 160px;
}

.privacy-policy-lead {
    margin: 0 0 96px;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
}

.privacy-policy-lead p {
    margin: 0;
}


/* ==================================================
   Sections
================================================== */

.privacy-policy-section {
    padding: 52px 0 60px;
    border-top: 1px solid #d9d9d9;
}

.privacy-policy-section--company {
    border-bottom: 1px solid #d9d9d9;
}

.privacy-policy-heading {
    margin: 0 0 30px;
    color: inherit;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: 0.02em;
}

.privacy-policy-body {
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.025em;
}

.privacy-policy-body p {
    margin: 0 0 24px;
}

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

.privacy-policy-body ul,
.privacy-policy-body ol {
    margin: 22px 0 26px;
    padding-left: 1.55em;
}

.privacy-policy-body ul {
    list-style: disc;
}

.privacy-policy-body ol {
    list-style: decimal;
}

.privacy-policy-body li {
    margin: 0 0 9px;
    padding-left: 0.2em;
}

.privacy-policy-body li:last-child {
    margin-bottom: 0;
}


/* ==================================================
   Company information
================================================== */

.privacy-policy-company {
    margin: 0;
}

.privacy-policy-company-row {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    column-gap: 40px;
    padding: 22px 0;
    border-top: 1px solid #e5e5e5;
}

.privacy-policy-company-row:last-child {
    border-bottom: 1px solid #e5e5e5;
}

.privacy-policy-company dt,
.privacy-policy-company dd {
    margin: 0;
}

.privacy-policy-company dt {
    font-weight: 600;
}

.privacy-policy-company dd {
    min-width: 0;
}


/* ==================================================
   Revision / signature
================================================== */

.privacy-policy-revision {
    margin-top: 56px;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.02em;
    text-align: right;
}

.privacy-policy-revision p {
    margin: 0;
}

.privacy-policy-signature {
    margin-top: 18px;
}


/* ==================================================
   Utility
================================================== */

.privacy-policy-pc-only {
    display: inline;
}


/* ==================================================
   Tablet
================================================== */

@media screen and (max-width: 1024px) {

    .privacy-policy-container {
        width: min(1180px, calc(100% - 60px));
    }

    .privacy-policy-hero {
        padding: 150px 0 90px;
    }

    .privacy-policy-content {
        padding-bottom: 130px;
    }

    .privacy-policy-lead {
        margin-bottom: 80px;
    }
}


/* ==================================================
   Mobile
================================================== */

@media screen and (max-width: 767px) {

    .privacy-policy-container {
        width: calc(100% - 40px);
    }

    .privacy-policy-hero {
        padding: 120px 0 66px;
    }

    .privacy-policy-title {
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.08;
    }

    .privacy-policy-title-ja {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.6;
    }

    .privacy-policy-content {
        padding-bottom: 100px;
    }

    .privacy-policy-lead {
        margin-bottom: 62px;
        font-size: 14px;
        line-height: 1.95;
    }

    .privacy-policy-section {
        padding: 38px 0 44px;
    }

    .privacy-policy-heading {
        margin-bottom: 24px;
        font-size: 18px;
        line-height: 1.55;
    }

    .privacy-policy-body {
        font-size: 14px;
        line-height: 1.95;
    }

    .privacy-policy-body p {
        margin-bottom: 20px;
    }

    .privacy-policy-body ul,
    .privacy-policy-body ol {
        margin: 18px 0 22px;
        padding-left: 1.45em;
    }

    .privacy-policy-body li {
        margin-bottom: 8px;
    }

    .privacy-policy-company-row {
        display: block;
        padding: 19px 0;
    }

    .privacy-policy-company dt {
        margin-bottom: 7px;
        font-size: 13px;
    }

    .privacy-policy-company dd {
        font-size: 14px;
    }

    .privacy-policy-revision {
        margin-top: 46px;
        font-size: 12px;
        text-align: left;
    }

    .privacy-policy-pc-only {
        display: none;
    }
}