/* =========================================================
   CampS プライバシーポリシー - 追加スタイル（add_home.css の上に重ねる）
   ========================================================= */
.hero.compact { padding: 48px 0 44px; }
.hero.compact .hero-inner { grid-template-columns: 1fr; }
.policy-meta { margin-top: 14px; font-size: 13px; opacity: .9; }

.policy { padding: 40px 0 24px; }
.policy-toc {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 18px 22px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 32px;
}
.policy-toc p { font-weight: 700; margin-bottom: 6px; }
.policy-toc ol { padding-left: 1.4em; font-size: 14px; columns: 2; column-gap: 28px; }
.policy-toc a { text-decoration: none; }
.policy-toc a:hover { text-decoration: underline; }

.policy-sec {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 24px 26px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
    scroll-margin-top: 84px;
}
.policy-sec h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 10px;
    padding-left: 12px;
    border-left: 4px solid var(--camps);
}
.policy-sec h3 { font-size: 15px; font-weight: 700; margin: 16px 0 4px; }
.policy-sec p, .policy-sec li { font-size: 14.5px; color: var(--ink-2); }
.policy-sec p + p { margin-top: 8px; }
.policy-sec ul, .policy-sec ol { padding-left: 1.4em; margin-top: 6px; }
.policy-sec li + li { margin-top: 4px; }
.policy-sec strong { color: var(--ink); }

.policy-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 14px; }
.policy-table th, .policy-table td {
    border-bottom: 1px solid var(--line);
    padding: 10px 8px;
    text-align: left;
    vertical-align: top;
}
.policy-table th { width: 30%; color: var(--ink); font-weight: 700; background: var(--camps-tint); }
.policy-table td { color: var(--ink-2); }

.ph {
    background: #FFF1B8;
    color: #7A5A00;
    border: 1px dashed #E0B400;
    border-radius: 6px;
    padding: 0 6px;
    font-weight: 700;
}

@media (max-width: 720px) {
    .policy-toc ol { columns: 1; }
    .policy-sec { padding: 18px 16px; }
    .policy-table th, .policy-table td { display: block; width: 100%; }
    .policy-table th { border-bottom: 0; padding-bottom: 4px; }
}
