/* ============================================
   privacy-policy.css
   プライバシーポリシーページ固有スタイル
   ============================================ */

/* ============================================
   0. FV イントロアニメーション
   ============================================ */

@keyframes fv-intro-fade-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header__inner {
    animation: fv-intro-fade-up 0.8s ease 1s both;
}

.lower-fv__content {
    animation: fv-intro-fade-up 0.8s ease 1.12s both;
}

@media (prefers-reduced-motion: reduce) {
    .header__inner,
    .lower-fv__content {
        animation: none;
    }
}

/* ============================================
   1. レイアウト
   ============================================ */

.privacy-page > .container {
    padding-block: 74px 90px;
}

.privacy {
    margin-inline: auto;
    max-width: 880px;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .privacy-page > .container {
        padding-block: 40px 80px;
    }
}

@media screen and (max-width: 768px) {
    .privacy-page > .container {
        padding-block: 24px 60px;
    }
}

/* ============================================
   2. リード（基本方針）
   ============================================ */

.privacy__intro {
    border-bottom: solid 1px var(--color-gray-3);
    margin-bottom: 48px;
    padding-bottom: 40px;
}

.privacy__lead-title {
    color: var(--color-navy-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-20);
    font-weight: var(--font-weight-700);
    line-height: 1.6;
    margin-bottom: 24px;
}

.privacy__lead {
    color: var(--color-black-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-500);
    line-height: var(--line-height-30);
}

.privacy__lead + .privacy__lead {
    margin-top: 20px;
}

/* ============================================
   3. 各条項ブロック
   ============================================ */

.privacy__block + .privacy__block {
    margin-top: 44px;
}

.privacy__heading {
    border-left: solid 4px var(--color-gold-1);
    color: var(--color-navy-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-18);
    font-weight: var(--font-weight-700);
    line-height: 1.6;
    padding-left: 14px;
}

.privacy__text {
    color: var(--color-black-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-500);
    line-height: var(--line-height-30);
    margin-top: 18px;
}

/* ============================================
   4. 定義リスト（安全管理措置）
   ============================================ */

.privacy__def {
    margin-top: 18px;
}

.privacy__def-row {
    border-top: solid 1px var(--color-gray-3);
    display: grid;
    column-gap: 28px;
    grid-template-columns: 220px minmax(0, 1fr);
    padding: 18px 0;
}

.privacy__def-row:last-child {
    border-bottom: solid 1px var(--color-gray-3);
}

.privacy__def-term {
    color: var(--color-navy-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-15);
    font-weight: var(--font-weight-700);
    line-height: var(--line-height-28);
}

.privacy__def-desc {
    color: var(--color-black-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-15);
    font-weight: var(--font-weight-500);
    line-height: var(--line-height-28);
}

@media screen and (max-width: 768px) {
    .privacy__def-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 8px;
    }
}

/* ============================================
   5. 番号付きリスト（第三者提供）
   ============================================ */

.privacy__list {
    margin-top: 18px;
}

.privacy__list--num {
    counter-reset: privacy-num;
}

.privacy__list--num > li {
    color: var(--color-black-2);
    counter-increment: privacy-num;
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-500);
    line-height: var(--line-height-30);
    padding-left: 2em;
    position: relative;
}

.privacy__list--num > li + li {
    margin-top: 10px;
}

.privacy__list--num > li::before {
    content: counter(privacy-num) ".";
    color: var(--color-gold-1);
    font-weight: var(--font-weight-700);
    left: 0;
    position: absolute;
}

/* ============================================
   6. お問い合わせ窓口
   ============================================ */

.privacy__contact {
    background-color: #F5F5F5;
    border-radius: var(--radius-10);
    padding: 32px 36px;
}

.privacy__contact-title {
    color: var(--color-navy-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-700);
    line-height: 1.6;
    margin-bottom: 16px;
}

.privacy__contact-row {
    display: grid;
    column-gap: 24px;
    grid-template-columns: 110px minmax(0, 1fr);
    padding: 8px 0;
}

.privacy__contact-term {
    color: var(--color-black-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-15);
    font-weight: var(--font-weight-700);
    line-height: var(--line-height-28);
}

.privacy__contact-desc {
    color: var(--color-black-2);
    font-family: var(--font-family-noto-sans-jp);
    font-size: var(--font-size-15);
    font-weight: var(--font-weight-500);
    line-height: var(--line-height-28);
}

@media screen and (max-width: 768px) {
    .privacy__contact {
        padding: 24px;
    }

    .privacy__contact-row {
        column-gap: 12px;
        grid-template-columns: 88px minmax(0, 1fr);
    }
}
