@charset "utf-8";
:root { --ink:#202326; --muted:#61676d; --accent:#f4ce3e; --line:#dce0e3; --soft:#f5f6f7; --paper:#fff; --link:#28516d; --offset:6rem; }
    *, *::before, *::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:var(--offset); }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-size:1rem; line-height:1.95; overflow-wrap:anywhere; }
    a { color:var(--link); text-decoration-thickness:1px; text-underline-offset:.22em; }
    a:hover { text-decoration-thickness:2px; }
    a:focus-visible, button:focus-visible { outline:3px solid #28516d; outline-offset:5px; }
    button { font:inherit; }
    .skip-link { position:fixed; left:1rem; top:-8rem; padding:.6rem 1rem; background:var(--ink); color:#fff; z-index:5; }
    .skip-link:focus { top:.6rem; }
    .site-header { border-top:5px solid var(--accent); border-bottom:1px solid var(--line); background:var(--paper); }
    .header-inner { max-width:1200px; margin:auto; min-height:83px; padding:1.1rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
    .company { font-size:1.08rem; font-weight:700; letter-spacing:.035em; }
    .header-label { font-size:.875rem; color:var(--muted); white-space:nowrap; }
    .page-head { max-width:1200px; margin:auto; padding:3.5rem 2.5rem 2.7rem; border-bottom:1px solid var(--line); }
    .eyebrow { margin:0 0 .9rem; font-size:.875rem; color:var(--muted); letter-spacing:.08em; }
    h1 { margin:0; max-width:950px; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:700; line-height:1.6; letter-spacing:.025em; }
    .head-rule { width:56px; height:4px; background:var(--accent); margin:1.6rem 0 0; }
    .page-body { max-width:1200px; margin:auto; padding:0 2.5rem; display:grid; grid-template-columns:224px minmax(0,1fr); gap:4rem; align-items:start; }
    .toc { position:sticky; top:2rem; margin:2.75rem 0; }
    .toc-title { margin:0 0 1rem; font-size:.875rem; font-weight:700; color:var(--muted); }
    .toc ol { padding:0; margin:0; list-style:none; }
    .toc li { border-top:1px solid var(--line); }
    .toc li:last-child { border-bottom:1px solid var(--line); }
    .toc a { display:flex; gap:.75rem; padding:.95rem .2rem; font-size:.875rem; line-height:1.7; color:var(--ink); text-decoration:none; }
    .toc a:hover { background:var(--soft); }
    .toc .number { color:var(--muted); font-size:.875rem; font-variant-numeric:tabular-nums; flex:0 0 1.4rem; }
    .print-button { margin-top:1.5rem; display:inline-flex; align-items:center; justify-content:center; padding:.5rem .9rem; min-height:44px; background:var(--paper); color:var(--ink); border:1px solid #b7bec4; border-radius:3px; font-size:.875rem; cursor:pointer; }
    .print-button:hover { background:var(--soft); }
    .print-button[hidden] { display:none; }
    .policy { min-width:0; padding:0 0 3.5rem; }
    .policy-section { padding:2.1rem 0 1.8rem; border-bottom:1px solid var(--line); scroll-margin-top:1.5rem; }
    .section-heading { display:flex; gap:1rem; align-items:baseline; margin:0 0 1.5rem; font-size:1.4rem; font-weight:700; line-height:1.7; }
    .section-number { flex:0 0 1.8rem; font-size:.95rem; font-weight:500; color:var(--muted); font-variant-numeric:tabular-nums; }
    p { margin:0 0 1.1rem; }
    .policy-section > p:last-child { margin-bottom:0; }
    .lead { font-size:1.18rem; line-height:1.9; font-weight:700; margin-bottom:1.35rem; }
    .definition { margin:0 0 1.5rem; padding:1.35rem 1.55rem; border-left:4px solid var(--accent); background:var(--soft); font-size:1.05rem; font-weight:600; }
    .definition p { margin:0; }
    .scope { font-size:1rem; color:#454c52; }
    .respect { margin-top:1.6rem; padding:1.2rem 1.45rem; border:1px solid var(--line); border-top:3px solid var(--accent); }
    .respect h3 { margin:0 0 .6rem; font-size:1rem; line-height:1.8; }
    .respect p { margin:0; font-size:1rem; }
    .section-note { font-size:1rem; color:#454c52; }
    .examples { margin:1.6rem 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; }
    .example { padding:1.2rem 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1.5rem minmax(0,1fr); gap:.8rem; align-content:start; }
    .example-number { color:var(--muted); font-size:.875rem; line-height:1.9; font-variant-numeric:tabular-nums; }
    .example h3 { margin:0 0 .45rem; font-size:1rem; line-height:1.75; }
    .example p { margin:0; font-size:1rem; line-height:1.9; color:#454c52; }
    .response-list { list-style:none; padding:0; margin:1.5rem 0; }
    .response-list li { padding:.95rem 0 .95rem 1.3rem; border-left:2px solid var(--line); }
    .response-list li+li { margin-top:.65rem; }
    .response-list h3 { font-size:1rem; margin:0 0 .35rem; }
    .response-list p { font-size:1rem; margin:0; color:#454c52; }
    .safety { margin:1.4rem 0 0; font-size:1rem; font-weight:600; }
    .initiatives { list-style:none; padding:0; margin:1.6rem 0 0; }
    .initiatives li { padding:1.05rem 0; border-top:1px solid var(--line); }
    .initiatives h3 { font-size:1rem; margin:0 0 .35rem; }
    .initiatives p { margin:0; font-size:1rem; color:#454c52; }
    .closing { margin:2rem 0 0; }
    .policy-signature { margin:1.5rem 0 0; font-weight:600; text-align:right; }
    .policy-signature span { display:block; }
    .summary-list { margin:.9rem 0 0; padding-left:1.35rem; }
    .summary-list li { margin:.35rem 0; }
    .back-top { display:inline-block; margin-top:1.75rem; font-size:.875rem; }
    .site-footer { background:var(--ink); color:#fff; }
    .footer-inner { max-width:1200px; margin:auto; padding:1.7rem 2.5rem; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; }
    .footer-name { font-size:.9375rem; font-weight:600; }
    .footer-note { font-size:.875rem; color:#d5d8dc; }
    @media(min-width:1000px) { .desktop-break { display:block; } }
    @media(max-width:900px) {
      .page-body { grid-template-columns:180px minmax(0,1fr); gap:2rem; }
      .examples { grid-template-columns:1fr; }
      .section-heading { font-size:1.25rem; gap:.7rem; }
    }
    @media(max-width:680px) {
      .header-inner { padding:1.1rem 1.3rem; min-height:auto; align-items:flex-start; flex-direction:column; gap:.25rem; }
      .company { font-size:1rem; }
      .header-label { font-size:.875rem; }
      .page-head { padding:2.3rem 1.3rem 1.9rem; }
      h1 { font-size:1.8rem; line-height:1.65; letter-spacing:.015em; }
      .page-body { display:block; padding:0 1.3rem; }
      .toc { position:static; margin:1.75rem 0 .3rem; }
      .toc-title { margin-bottom:.5rem; }
      .toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.2rem; }
      .toc a { padding:.7rem 0; gap:.45rem; }
      .toc li:last-child { border-bottom:0; }
      .print-button { margin-top:1rem; }
      .policy-section { padding:2rem 0; }
      .section-heading { font-size:1.25rem; margin-bottom:1.2rem; }
      .lead { font-size:1.08rem; }
      .definition { padding:1.15rem 1.1rem; }
      .respect { padding:1rem 1.1rem; }
      .footer-inner { padding:1.5rem 1.3rem; flex-direction:column; align-items:flex-start; gap:.4rem; }
      .policy { padding-bottom:2.5rem; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
    @media print {
      @page { size:A4; margin:18mm; }
      html { scroll-behavior:auto; }
      body { font-size:10pt; line-height:1.75; color:#000; }
      .skip-link,.toc,.site-footer,.back-top { display:none; }
      .header-inner { min-height:auto; padding:0 0 8mm; }
      .header-label { display:none; }
      .site-header { border-top:0; }
      .page-head { padding:8mm 0 6mm; }
      h1 { font-size:20pt; }
      .head-rule { display:none; }
      .page-body { display:block; padding:0; }
      .policy { padding:0; }
      .policy-section { padding:6mm 0; }
      .section-heading { font-size:14pt; margin-bottom:3mm; break-after:avoid; }
      .lead { font-size:11pt; }
      .definition { font-size:10pt; padding:4mm; }
      .examples { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:6mm; }
      .example,.initiatives li,.respect,.response-list li { break-inside:avoid; }
      .scope,.section-note,.example p,.respect p,.response-list p,.initiatives p,.safety { font-size:9.5pt; }
      .example h3,.respect h3,.response-list h3,.initiatives h3 { font-size:10pt; }
      a { color:inherit; }
    }
    .pane-topic-path {font-size: 14px; }