@layer page {
  /* Consolidated page styles for PTA運営適正化ガイドブック_第4版_改訂本文.html */
  /* Page-specific styles for PTA運営適正化ガイドブック_第4版_改訂本文.html */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family:
      "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: 14px;
    line-height: 1.95;
    color: #222;
    background: #fff;
    max-width: 820px;
    margin: 0 auto;
    padding: 40px 50px;
  }
  a {
    color: #1a4a8a;
    text-decoration: underline;
    word-break: break-all;
  }
  a:hover {
    color: #c0392b;
  }

  .cover {
    text-align: center;
    border: 3px double #1a4a8a;
    padding: 50px 30px 44px;
    margin-bottom: 50px;
    position: relative;
  }
  .cover-kamon {
    font-size: 40px;
    color: #1a4a8a;
    margin-bottom: 18px;
  }
  .cover-label {
    font-size: 11px;
    color: #555;
    letter-spacing: 0.3em;
    margin-bottom: 6px;
  }
  .cover-org {
    font-size: 13px;
    color: #1a4a8a;
    font-weight: 700;
    letter-spacing: 0.15em;
    margin-bottom: 28px;
  }
  .cover-title {
    font-family: "Noto Serif JP", "Yu Mincho", serif;
    font-size: 26px;
    color: #1a4a8a;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.55;
    margin-bottom: 12px;
  }
  .cover-subtitle {
    font-size: 13px;
    color: #555;
    letter-spacing: 0.08em;
    margin-bottom: 28px;
  }
  .cover-tag {
    display: inline-block;
    border: 1px solid #1a4a8a;
    color: #1a4a8a;
    font-size: 11px;
    padding: 3px 12px;
    letter-spacing: 0.15em;
    margin: 0 4px;
  }
  .cover-edition {
    position: absolute;
    bottom: 14px;
    right: 20px;
    font-size: 11px;
    color: #666;
  }

  .section-break {
    border-top: 2px solid #1a4a8a;
    margin: 52px 0 36px;
    padding-top: 36px;
  }
  .section-title {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.4em;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid #1a4a8a;
    color: #1a4a8a;
  }
  h2 {
    font-size: 17px;
    font-weight: 700;
    color: #1a4a8a;
    margin: 40px 0 14px;
    padding: 9px 14px;
    border-left: 5px solid #1a4a8a;
    background: #f0f4ff;
    line-height: 1.55;
  }
  h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 28px 0 10px;
    padding-left: 12px;
    border-left: 3px solid #5b7ec9;
    color: #1a3060;
  }
  p {
    margin-bottom: 12px;
    text-align: justify;
  }
  p.lead {
    font-size: 15px;
    line-height: 2.05;
    margin-bottom: 18px;
  }
  a {
    color: #1a4a8a;
  }

  .toc-item {
    display: flex;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 1px dotted #ccc;
  }
  .toc-num {
    font-weight: 700;
    min-width: 36px;
    color: #1a4a8a;
    font-size: 13px;
  }
  .toc-text {
    flex: 1;
    font-size: 13px;
  }
  .toc-sub {
    display: flex;
    align-items: baseline;
    padding: 4px 0 4px 36px;
    border-bottom: 1px dotted #eee;
    font-size: 12px;
    color: #444;
  }
  .toc-kana {
    min-width: 28px;
    color: #666;
    font-size: 11px;
  }

  .law-cite {
    background: #f8f5e8;
    border-left: 4px solid #c8a800;
    padding: 12px 16px;
    margin: 16px 0;
    font-size: 12.5px;
    color: #333;
    line-height: 1.85;
  }
  .law-cite-title {
    font-weight: 700;
    color: #7a6200;
    margin-bottom: 5px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }
  .law-cite-link {
    font-size: 11px;
    color: #1a4a8a;
    margin-top: 6px;
    display: block;
  }

  .principle-box {
    border: 3px solid #1a4a8a;
    border-radius: 4px;
    padding: 20px 26px;
    margin: 22px 0;
    background: #e8efff;
    text-align: center;
  }
  .principle-box p {
    font-size: 15px;
    font-weight: 700;
    color: #1a3060;
    line-height: 1.85;
    text-align: center;
    margin-bottom: 0;
  }

  .risk-box {
    border: 3px solid #c0392b;
    border-radius: 4px;
    padding: 18px 22px;
    margin: 22px 0;
    background: #fff0f0;
  }
  .risk-box-title {
    font-weight: 700;
    font-size: 13px;
    background: #c0392b;
    color: #fff;
    display: inline-block;
    padding: 4px 14px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }
  .risk-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 9px;
    font-size: 13px;
    line-height: 1.8;
  }
  .risk-item::before {
    content: "⚠";
    margin-right: 8px;
    color: #c0392b;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .case-box {
    border: 2px solid #8b5e00;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #fffbf0;
  }
  .case-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #8b5e00;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }
  .case-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    font-size: 13px;
    line-height: 1.8;
  }
  .case-item::before {
    content: "▶";
    margin-right: 8px;
    color: #8b5e00;
    flex-shrink: 0;
    font-size: 10px;
    margin-top: 4px;
  }

  .social-box {
    border: 2px solid #6a1a6a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #fbf0fb;
  }
  .social-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #6a1a6a;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }

  .mext-box {
    border: 2px solid #1a6a1a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #f0fbf0;
  }
  .mext-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #1a6a1a;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }

  .judgment-box {
    border: 2px solid #5a3a00;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #fdf6ee;
  }
  .judgment-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #5a3a00;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }

  .paradox-box {
    border: 2px solid #1a4a8a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #f0f4ff;
  }
  .paradox-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #1a4a8a;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }

  .ppc-box {
    border: 2px solid #1a5a6a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #f0fafb;
  }
  .ppc-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #1a5a6a;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }

  .check-box {
    border: 1.5px solid #1a4a8a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #f5f8ff;
  }
  .check-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #1a4a8a;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }
  .check-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 7px;
    font-size: 13px;
    line-height: 1.75;
  }
  .check-item::before {
    content: "□";
    margin-right: 10px;
    color: #1a4a8a;
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .notice-box {
    border: 2px solid #c0392b;
    border-radius: 4px;
    padding: 14px 18px;
    margin: 18px 0;
    background: #fff8f8;
  }
  .notice-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #c0392b;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 10px;
    letter-spacing: 0.1em;
  }

  .info-box {
    border: 1.5px solid #2980b9;
    border-radius: 4px;
    padding: 14px 18px;
    margin: 18px 0;
    background: #f0f7ff;
  }
  .info-box-title {
    font-weight: 700;
    font-size: 12px;
    background: #2980b9;
    color: #fff;
    display: inline-block;
    padding: 3px 12px;
    margin-bottom: 10px;
    letter-spacing: 0.1em;
  }

  .division-box {
    display: flex;
    gap: 0;
    margin: 18px 0;
    border: 1.5px solid #999;
    border-radius: 4px;
    overflow: hidden;
  }
  .division-col {
    flex: 1;
    padding: 14px 16px;
    font-size: 13px;
  }
  .division-col:first-child {
    background: #f5f8ff;
    border-right: 1px solid #ccc;
  }
  .division-col:last-child {
    background: #fff8f8;
  }
  .division-col-title {
    font-weight: 700;
    font-size: 12px;
    display: block;
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
  }
  .div-ok {
    color: #1a6a1a;
  }
  .div-ng {
    color: #c0392b;
  }

  .flow-box {
    border: 1.5px solid #1a4a8a;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 18px 0;
    background: #f0f5ff;
  }
  .flow-box-title {
    font-weight: 700;
    font-size: 12px;
    color: #1a4a8a;
    margin-bottom: 14px;
  }
  .flow-step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    font-size: 13px;
  }
  .flow-num {
    font-weight: 700;
    color: #fff;
    background: #1a4a8a;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    margin-right: 10px;
    flex-shrink: 0;
    margin-top: 2px;
  }
  .flow-arrow {
    text-align: center;
    color: #1a4a8a;
    font-size: 16px;
    margin: 4px 0 4px 34px;
  }

  .qa-item {
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 16px;
  }
  .qa-q {
    font-weight: 700;
    color: #1a4a8a;
    margin-bottom: 6px;
    display: flex;
    gap: 8px;
    font-size: 14px;
  }
  .qa-q-label {
    background: #1a4a8a;
    color: #fff;
    font-size: 11px;
    padding: 2px 8px;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 2px;
  }
  .qa-a {
    padding-left: 16px;
    border-left: 3px solid #ccd8f0;
    font-size: 13px;
    line-height: 1.85;
  }
  .qa-a-label {
    font-weight: 700;
    color: #c0392b;
    margin-right: 6px;
  }

  ul.list {
    margin: 8px 0 14px 1.5em;
    list-style: none;
  }
  ul.list li {
    margin-bottom: 6px;
    font-size: 13px;
    padding-left: 1em;
    position: relative;
  }
  ul.list li::before {
    content: "・";
    position: absolute;
    left: -0.2em;
    color: #1a4a8a;
  }

  .form-example {
    border: 1px solid #999;
    padding: 18px 20px;
    margin: 18px 0;
    font-size: 13px;
  }
  .form-example-title {
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ccc;
  }
  .form-row {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
    gap: 10px;
  }
  .form-label {
    min-width: 120px;
    color: #555;
    font-size: 12px;
    flex-shrink: 0;
  }
  .form-line {
    flex: 1;
    border-bottom: 1px solid #999;
    min-height: 20px;
  }
  .form-note {
    font-size: 11px;
    color: #555;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dotted #ccc;
  }

  .rule-box {
    border: 1px solid #aaa;
    padding: 16px 20px;
    margin: 14px 0;
    font-size: 13px;
    background: #fafafa;
  }
  .rule-box-title {
    font-weight: 700;
    font-size: 12px;
    color: #555;
    margin-bottom: 10px;
  }
  .rule-article {
    margin-bottom: 10px;
  }
  .rule-article-num {
    font-weight: 700;
    color: #1a4a8a;
  }

  .ref-box {
    border: 1px solid #bbb;
    background: #f9f9f9;
    padding: 14px 18px;
    margin: 18px 0;
    font-size: 12px;
  }
  .ref-box-title {
    font-weight: 700;
    font-size: 12px;
    color: #444;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px dotted #ccc;
  }
  .ref-item {
    margin-bottom: 7px;
    padding-left: 1em;
    position: relative;
    line-height: 1.75;
  }
  .ref-item::before {
    content: "▷";
    position: absolute;
    left: 0;
    color: #999;
    font-size: 10px;
    top: 3px;
  }

  strong {
    font-weight: 700;
  }
  em.warn {
    font-style: normal;
    font-weight: 700;
    color: #c0392b;
  }
  em.blue {
    font-style: normal;
    font-weight: 700;
    color: #1a4a8a;
  }
  em.green {
    font-style: normal;
    font-weight: 700;
    color: #1a6a1a;
  }

  @media print {
    body {
      padding: 20px 30px;
    }
    .section-break {
      page-break-before: always;
      border-top: none;
    }
    h2 {
      page-break-after: avoid;
    }
    .check-box,
    .notice-box,
    .case-box,
    .risk-box {
      page-break-inside: avoid;
    }
  }
  @media (max-width: 600px) {
    body {
      padding: 20px 18px;
    }
    .division-box {
      flex-direction: column;
    }
    .division-col:first-child {
      border-right: none;
      border-bottom: 1px solid #ccc;
    }
  }

  /* Page-specific styles for PTA運営適正化ガイドブック_第4版_改訂本文.html */
  .guidebook-editorial .cover-tag {
    display: none;
  }
  .guidebook-editorial .principle-box,
  .guidebook-editorial .risk-box,
  .guidebook-editorial .case-box,
  .guidebook-editorial .social-box,
  .guidebook-editorial .mext-box,
  .guidebook-editorial .judgment-box,
  .guidebook-editorial .paradox-box,
  .guidebook-editorial .ppc-box,
  .guidebook-editorial .check-box,
  .guidebook-editorial .notice-box,
  .guidebook-editorial .info-box,
  .guidebook-editorial .flow-box {
    background: #fff;
    border: 0;
    border-left: 3px solid #1a4a8a;
    border-radius: 0;
    padding: 16px 0 16px 20px;
  }
  .guidebook-editorial .risk-box-title,
  .guidebook-editorial .case-box-title,
  .guidebook-editorial .social-box-title,
  .guidebook-editorial .mext-box-title,
  .guidebook-editorial .judgment-box-title,
  .guidebook-editorial .paradox-box-title,
  .guidebook-editorial .ppc-box-title,
  .guidebook-editorial .check-box-title,
  .guidebook-editorial .notice-box-title,
  .guidebook-editorial .info-box-title {
    display: block;
    padding: 0 0 7px;
    background: transparent;
    color: #1a3060;
    letter-spacing: 0.04em;
  }
  .guidebook-editorial .risk-item::before,
  .guidebook-editorial .case-item::before {
    content: "—";
    color: #64748b;
  }
  .guidebook-editorial .flow-num {
    border-radius: 2px;
  }
}
