.policy-wrap {
    max-width: 760px;
    margin: 0 auto;
    padding: 5rem 3rem 8rem;
}
.policy-title {
    font-family: var(--serif);
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 0.75rem;
}
.policy-updated { font-size: 0.72rem; color: var(--accent-ink); letter-spacing: 0.08em; margin-bottom: 4rem; }
.policy-section { margin-bottom: 3.25rem; }
/* 条番号と見出しを分けて、条文の切り替わりを目で追えるようにする */
.policy-section h2 {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 0.85rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 1.1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border);
}
/* 罫の左端だけブランドカラーで重ねる（サービス・会社概要と同じ装飾） */
.policy-section h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 44px;
    height: 2px;
    background: var(--accent);
}
/* 条番号は囲まず、文字だけで見出しと差をつける */
.policy-num {
    flex-shrink: 0;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--light);
    white-space: nowrap;
}
.policy-section p { font-size: 0.9rem; color: var(--mid); line-height: 1.95; margin-bottom: 0.9rem; }
/* 黒丸の代わりに小さな緑の四角を置く */
.policy-section ul { list-style: none; padding-left: 0; margin-bottom: 0.9rem; }
.policy-section li {
    position: relative;
    font-size: 0.9rem;
    color: var(--mid);
    line-height: 1.95;
    margin-bottom: 0.5rem;
    padding-left: 1.35rem;
}
.policy-section li::before {
    content: '';
    position: absolute;
    left: 0.15rem;
    top: 0.78em;
    width: 5px;
    height: 5px;
    background: var(--accent);
}
.policy-section li strong { color: var(--text); font-weight: 600; }
.policy-contact { background: #f0ede8; padding: 2rem; margin-top: 3rem; }
.policy-contact p { font-size: 0.85rem; color: var(--mid); line-height: 1.9; }
.policy-contact a { color: var(--accent-ink); border-bottom: 1px solid var(--accent); transition: color 0.2s, border-color 0.2s; }
.policy-contact a:hover { color: var(--text); border-color: var(--text); }


@media (max-width: 768px) {
    .policy-wrap { padding: 3.5rem 1.25rem 2.5rem; }
}
