// 古物営業法 検定 — 第5章 罰則（雑則含む）解説ページ
function KenteiChapter5({ onNavigate }) {
  const { Button, Card, SectionHeading, Badge } = window.DesignSystem_36acde;
  const [quizOpen, setQuizOpen] = React.useState(-1);

  // e-Gov 古物営業法 原文へのリンク
  const EGOV_URL = 'https://laws.e-gov.go.jp/law/323AC0000000108';

  // 主な罰則の解説（要点は箇条書き。条文原文は転載せず e-Gov を参照）
  const penalties = [
    {
      level: '最も重い',
      title: '無許可営業・不正な許可取得など（3年以下の懲役または100万円以下の罰金）',
      desc: '古物営業の根幹にかかわる違反は、最も重く扱われます。次のような行為が対象です。',
      points: [
        '許可を受けずに古物商・古物市場主として営業すること（無許可営業）',
        '偽りその他不正の手段によって許可を受けること',
        '他人に自分の名義で古物営業を行わせること（名義貸し）',
        '営業の停止を命じられたにもかかわらず、その期間中に営業を続けること',
      ],
    },
    {
      level: 'やや重い',
      title: '競り売りに関する規定違反など（1年以下の懲役または50万円以下の罰金）',
      desc: '競り売り（第14条第1項関係）に関する一定の規定に違反した場合などの罰則です。無許可営業ほどではありませんが、取引の公正さを損なう行為として相応に重く扱われます。',
      points: [
        '競り売りに関する所定の規定に違反すること',
      ],
    },
    {
      level: '中程度',
      title: '帳簿の不記載・虚偽記載・不保存など（6か月以下の懲役または30万円以下の罰金）',
      desc: '取引の記録に関する義務を守らない場合の罰則です。盗品の流通を防ぐ仕組みを支える部分のため、軽視できません。',
      points: [
        '帳簿等を備えないこと',
        '取引内容を帳簿等に記載しない、または事実と異なる記載をすること',
        '帳簿等を定められた期間（取引から一定年数）保存しないこと',
        'そのほか、所定の届出義務などに違反すること',
      ],
    },
    {
      level: '軽い',
      title: '申請書の虚偽記載など（20万円以下の罰金）',
      desc: '許可の申請書などに虚偽の記載をした場合など、一定の違反に対する罰則です。',
      points: [
        '許可申請書に虚偽の記載をすること',
        'そのほか、所定の義務に違反すること',
      ],
    },
    {
      level: '軽い',
      title: '届出義務違反・立入検査の拒否など（10万円以下の罰金）',
      desc: '営業の届出や標識の掲示、立入検査への協力といった、手続き面の義務を怠った場合の罰則です。',
      points: [
        '変更の届出や廃業の届出など、必要な届出を怠ること',
        '営業所などへの立入り・帳簿等の検査を拒み、妨げ、または忌避すること',
        'そのほか、所定の義務に違反すること',
      ],
    },
    {
      level: '最も軽い',
      title: '差止め等の義務への過失違反・許可証の返納違反（拘留・科料／過料）',
      desc: 'もっとも軽い違反には、刑罰のうち軽い拘留・科料や、刑罰ではない過料（行政上の制裁金）が定められています。',
      points: [
        '差止め等に関する一定の義務（第19条関係）に過失で違反すること … 拘留または科料',
        '許可証の返納など一定の手続義務（第8条第3項関係）に違反すること … 5万円以下の過料',
      ],
    },
  ];

  // 雑則・両罰規定など、罰則とあわせて押さえる点
  const extras = [
    {
      title: '両罰規定 — 会社も処罰の対象に',
      body: '従業員などが業務に関して違反行為をした場合、その行為者本人が罰せられるだけでなく、雇い主である法人や個人事業主にも罰金刑が科されます。「従業員が勝手にやった」では済まないため、社内の教育や管理体制づくりが重要になります。',
    },
    {
      title: '過料 — 軽い行政上の制裁',
      body: '一部の義務違反については、刑罰（懲役・罰金）ではなく過料という行政上の金銭的な負担が科されることがあります。前科にはなりませんが、義務を軽視してよいという意味ではありません。',
    },
    {
      title: '雑則 — 細かい運用は規則にゆだねられる',
      body: 'この法律を実際に運用するための手続きや細かなルールは、国家公安委員会規則などで定められます。盗品等に関する情報提供の取り扱いなど、警察との連携に関わる規定もこの部分に置かれています。',
    },
  ];

  // 練習問題（解答は条文に忠実に新規作成）
  const quizzes = [
    {
      q: 'Q1. 古物営業法で最も重い罰則（3年以下の懲役または100万円以下の罰金）が科されるのはどれですか。',
      choices: [
        'A. 営業所に標識を掲示しなかった',
        'B. 許可を受けずに古物商として営業した（無許可営業）',
        'C. 変更の届出を期限までに行わなかった',
      ],
      answer: '正解：B',
      explain:
        '無許可営業は、許可制度そのものを無視する行為であり、最も重い「3年以下の懲役または100万円以下の罰金」の対象です。他人に名義を貸して営業させる名義貸しや、偽りの手段で許可を受ける行為も同じ重さで扱われます。Aの標識の不掲示やCの届出義務違反は、これより軽い罰則（10万円以下の罰金など）にとどまります。罰則の重さは「違反が制度の根幹をどれだけ揺るがすか」に応じて段階づけられている、と理解しておくと整理しやすいです。',
    },
    {
      q: 'Q2. 従業員が業務に関して帳簿の不記載などの違反をした場合、雇い主である法人や事業主が処罰されることはありますか。',
      choices: [
        'A. 行為者本人だけが罰せられ、会社が罰せられることはない',
        'B. 両罰規定により、行為者だけでなく会社（法人・事業主）にも罰金が科されうる',
        'C. 会社だけが罰せられ、行為者本人は罰せられない',
      ],
      answer: '正解：B',
      explain:
        '古物営業法には両罰規定が置かれており、従業員などが業務に関して違反行為をした場合、その行為者を罰するほか、雇い主である法人や個人事業主に対しても罰金刑が科されます。つまり「現場の担当者が勝手にやったこと」として会社が責任を免れることはできません。だからこそ、帳簿の記載・保存や届出などのルールを社内で周知し、管理者を中心に守らせる体制が必要になります。',
    },
  ];

  return (
    <main style={{ background: 'var(--color-bg)' }}>
      <div style={{ maxWidth: 'var(--container-text)', margin: '0 auto', padding: '40px 24px 96px' }}>
      {/* 戻る */}
      <Button variant="ghost" iconLeft="←" onClick={() => onNavigate('kentei')}>
        検定トップへ戻る
      </Button>

      {/* タイトル */}
      <div style={{ marginTop: 24 }}>
        <Badge variant="brand">第5章</Badge>
        <h1 style={{
          margin: '14px 0 0', fontFamily: 'var(--font-display)', fontWeight: 900,
          fontSize: 40, lineHeight: 1.28, letterSpacing: '-0.02em',
          color: 'var(--text-primary)', textWrap: 'balance',
        }}>
          古物営業法 第5章 罰則
        </h1>
        <p style={{ margin: '18px 0 0', fontSize: 18, lineHeight: 1.85, color: 'var(--text-secondary)' }}>
          古物営業法の最後に置かれているのが、ルールを守らなかったときの「罰則」と、運用上の細かな取り決めである「雑則」です。
          盗品の流通を防ぐという法律の目的を実効性のあるものにするため、違反の重さに応じて罰則が段階的に定められています。
          ここでは、どんな行為がどのくらい重く扱われるのかを、要点にしぼって平易に解説します。
        </p>
      </div>

      {/* 主な罰則 */}
      <section style={{ marginTop: 48 }}>
        <SectionHeading eyebrow="罰則の全体像" title="違反の重さで段階的に分かれる" />
        <div style={{ marginTop: 28, display: 'flex', flexDirection: 'column', gap: 20 }}>
          {penalties.map((p, i) => (
            <Card key={i} variant="elevated" padding="lg">
              <Badge variant="accent">{p.level}</Badge>
              <h3 style={{
                margin: '12px 0 8px', fontFamily: 'var(--font-display)', fontWeight: 700,
                fontSize: 19, lineHeight: 1.5, color: 'var(--text-primary)',
              }}>
                {p.title}
              </h3>
              <p style={{ margin: '0 0 14px', fontSize: 15, lineHeight: 1.85, color: 'var(--text-secondary)' }}>
                {p.desc}
              </p>
              <ul style={{ margin: 0, paddingLeft: 22, display: 'flex', flexDirection: 'column', gap: 8 }}>
                {p.points.map((pt, j) => (
                  <li key={j} style={{ fontSize: 15, lineHeight: 1.7, color: 'var(--text-secondary)' }}>{pt}</li>
                ))}
              </ul>
            </Card>
          ))}
        </div>
      </section>

      {/* 雑則・両罰規定 */}
      <section style={{ marginTop: 56 }}>
        <SectionHeading eyebrow="あわせて押さえる" title="両罰規定・過料・雑則" />
        <div style={{ marginTop: 28, display: 'flex', flexDirection: 'column', gap: 16 }}>
          {extras.map((e, i) => (
            <Card key={i} variant="outlined" padding="lg">
              <h3 style={{
                margin: '0 0 8px', fontFamily: 'var(--font-display)', fontWeight: 700,
                fontSize: 17, color: 'var(--green-700)',
              }}>
                {e.title}
              </h3>
              <p style={{ margin: 0, fontSize: 15, lineHeight: 1.85, color: 'var(--text-secondary)' }}>{e.body}</p>
            </Card>
          ))}
        </div>
      </section>

      {/* e-Gov 原文リンク */}
      <section style={{ marginTop: 48 }}>
        <Card variant="outlined" padding="lg" style={{ background: 'var(--green-50)' }}>
          <h3 style={{
            margin: '0 0 8px', fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 16, color: 'var(--text-primary)',
          }}>
            条文の正確な文言を確認したい方へ
          </h3>
          <p style={{ margin: '0 0 14px', fontSize: 15, lineHeight: 1.85, color: 'var(--text-secondary)' }}>
            このページは罰則の要点をわかりやすく整理したものです。懲役・罰金の上限や対象となる行為の正確な定めは、必ず一次情報である e-Gov 法令検索の原文でご確認ください。
          </p>
          <a href={EGOV_URL} target="_blank" rel="noopener noreferrer"
            style={{
              display: 'inline-flex', alignItems: 'center', gap: 6,
              fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 15,
              color: 'var(--green-700)', textDecoration: 'none',
            }}>
            e-Gov 法令検索で古物営業法の原文を見る ↗
          </a>
        </Card>
      </section>

      {/* 練習問題（アコーディオン） */}
      <section style={{ marginTop: 56 }}>
        <SectionHeading eyebrow="練習問題" title="理解度をチェック" />
        <div style={{ marginTop: 28, display: 'flex', flexDirection: 'column', gap: 12 }}>
          {quizzes.map((qz, i) => {
            const open = quizOpen === i;
            return (
              <Card key={i} variant="outlined" padding="none">
                <button onClick={() => setQuizOpen(open ? -1 : i)}
                  style={{
                    width: '100%', display: 'flex', alignItems: 'flex-start',
                    justifyContent: 'space-between', gap: 16, padding: '18px 22px',
                    background: 'transparent', border: 'none', cursor: 'pointer', textAlign: 'left',
                  }}>
                  <span style={{ fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 16, lineHeight: 1.6, color: 'var(--text-primary)' }}>
                    {qz.q}
                  </span>
                  <span style={{
                    flexShrink: 0, width: 28, height: 28, borderRadius: '50%',
                    background: 'var(--green-100)', color: 'var(--green-700)',
                    display: 'flex', alignItems: 'center', justifyContent: 'center',
                    fontWeight: 700, transform: open ? 'rotate(45deg)' : 'none', transition: 'transform 200ms',
                  }}>＋</span>
                </button>
                {open && (
                  <div style={{ padding: '0 22px 22px' }}>
                    <ul style={{ margin: '0 0 16px', paddingLeft: 22, display: 'flex', flexDirection: 'column', gap: 6 }}>
                      {qz.choices.map((c, j) => (
                        <li key={j} style={{ fontSize: 15, lineHeight: 1.7, color: 'var(--text-secondary)' }}>{c}</li>
                      ))}
                    </ul>
                    <p style={{ margin: '0 0 8px', fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 16, color: 'var(--green-700)' }}>
                      {qz.answer}
                    </p>
                    <p style={{ margin: 0, fontSize: 15, lineHeight: 1.85, color: 'var(--text-secondary)' }}>{qz.explain}</p>
                  </div>
                )}
              </Card>
            );
          })}
        </div>
      </section>
      </div>
    </main>
  );
}
window.KenteiChapter5 = KenteiChapter5;
