/* ============================================================
   前田商店 - ドキュメントページ専用スタイル（プライバシーポリシー・利用規約）
   doc.css
   ============================================================ */

    .hero-doc {
      background: var(--kon); padding-top: 128px; padding-right: 28px; padding-bottom: 56px; padding-left: 28px;
      position: relative; overflow: hidden;
    }
    .hero-doc::before {
      content: ''; position: absolute; inset: 0;
      background-image:
        linear-gradient(45deg, rgba(212,168,67,.04) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(212,168,67,.04) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(212,168,67,.04) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(212,168,67,.04) 75%);
      background-size: 24px 24px;
      background-position: 0 0, 0 12px, 12px -12px, -12px 0;
      pointer-events: none;
    }
    .hero-doc__inner { max-width: 860px; margin: 0 auto; position: relative; z-index: 1; }
    .hero-doc__eyebrow {
      font-family: var(--roman); font-size: 12px; letter-spacing: .28em; color: var(--kin);
      display: flex; align-items: center; gap: 12px; margin-bottom: 20px;
    }
    .hero-doc__eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--kin); opacity: .6; }
    .hero-doc__title {
      font-family: var(--mincho); font-size: clamp(22px,3.5vw,32px); font-weight: 700;
      color: var(--shiro); letter-spacing: .06em; margin-bottom: 12px;
    }
    .hero-doc__date { font-size: 13px; color: rgba(253,251,247,.45); font-family: var(--mincho); letter-spacing: .08em; }

    .doc-body { max-width: 860px; margin: 0 auto; padding: 64px 28px 96px; }

    .doc-section { margin-bottom: 56px; }
    .doc-section:last-child { margin-bottom: 0; }

    .doc-section__num {
      font-family: var(--roman); font-size: 13px; letter-spacing: .2em;
      color: var(--kincha); margin-bottom: 6px;
      display: flex; align-items: center; gap: 10px;
    }
    .doc-section__num::after { content: ''; flex: 1; height: 1px; background: rgba(212,168,67,.25); }

    h2.doc-h2 {
      font-family: var(--mincho); font-size: clamp(17px,2.5vw,21px); font-weight: 700;
      color: var(--sumi); margin-bottom: 20px; letter-spacing: .06em;
      padding-bottom: 12px; border-bottom: 1px solid rgba(26,22,18,.08);
    }
    h3.doc-h3 {
      font-family: var(--mincho); font-size: 16px; font-weight: 700;
      color: var(--sumi); margin: 28px 0 10px; letter-spacing: .04em;
    }
    p.doc-p { font-size: 15px; color: var(--sumi); line-height: 1.95; margin-bottom: 14px; }
    p.doc-p:last-child { margin-bottom: 0; }

    ul.doc-ul, ol.doc-ol {
      padding-left: 0; list-style: none;
      display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px;
    }
    ul.doc-ul li, ol.doc-ol li {
      font-size: 15px; color: var(--sumi); line-height: 1.85;
      display: flex; align-items: flex-start; gap: 12px;
    }
    ul.doc-ul li::before {
      content: '›'; color: var(--kincha); font-size: 18px; font-weight: 700;
      line-height: 1.5; flex-shrink: 0;
    }
    ol.doc-ol { counter-reset: doc-counter; }
    ol.doc-ol li { counter-increment: doc-counter; }
    ol.doc-ol li::before {
      content: counter(doc-counter); flex-shrink: 0;
      width: 22px; height: 22px; background: var(--sumi); color: var(--kin);
      font-family: var(--roman); font-size: 13px; font-weight: 600;
      display: flex; align-items: center; justify-content: center; margin-top: 2px;
    }

    .doc-box {
      background: var(--washi); border-left: 3px solid var(--kincha);
      padding: 20px 24px; margin: 20px 0; font-size: 14px;
      color: var(--usuzumi); line-height: 1.9;
    }
    .doc-box strong { color: var(--sumi); font-weight: 700; }

    .doc-contact {
      background: var(--kon); color: var(--shiro);
      padding: 32px 36px; margin-top: 48px;
      border: 1px solid rgba(212,168,67,.2);
    }
    .doc-contact h3 { font-family: var(--mincho); font-size: 16px; font-weight: 700; color: var(--shiro); margin-bottom: 14px; letter-spacing: .06em; }
    .doc-contact p { font-size: 14px; color: rgba(253,251,247,.7); line-height: 1.9; }
    .doc-contact a { color: var(--kin); }

    /* レスポンシブ */
    @media (max-width: 768px) {
      .hero-doc__title { font-size: 24px; }
      .doc-body { padding: 48px 20px 72px; }
    }
