/* safety 固有CSS (共通style.cssに無い分。元HTML <style>より自動抽出)
       本文を安全への取り組み用に全面再構成。 */
  .toc{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;
    padding:22px 22px 24px;box-shadow:0 4px 16px rgba(7,31,61,.05)}
  .toc-ttl{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--navy);margin-bottom:14px}
  .toc-ttl .ico{width:18px;height:18px;color:var(--blue)}
  .toc-list{display:grid;gap:10px;grid-template-columns:1fr}
  @media(min-width:620px){.toc-list{grid-template-columns:1fr 1fr}}
  @media(min-width:960px){.toc-list{grid-template-columns:1fr 1fr 1fr}}
  .toc-list a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);
    border-radius:12px;font-size:14px;font-weight:700;color:var(--ink);background:var(--sky-2);transition:.15s}
  .toc-list a:hover{border-color:var(--blue);background:var(--sky);color:var(--blue);transform:translateY(-1px)}
  .toc-list a .ti{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
    background:#fff;color:var(--blue);border:1px solid var(--line)}
  .toc-list a .ti .ico{width:18px;height:18px}
  .safety-sec{scroll-margin-top:78px}
  .safety-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
    box-shadow:0 4px 16px rgba(7,31,61,.05);margin-bottom:22px}
  .safety-card .sc-head{display:flex;align-items:center;gap:14px;padding:22px 24px;
    background:linear-gradient(135deg,var(--navy) 0%,#0a2547 100%);color:#fff}
  .safety-card .sc-ic{flex:none;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
  .safety-card .sc-ic .ico{width:26px;height:26px;color:#fff}
  .safety-card .sc-head h3{font-size:18px;font-weight:900;line-height:1.4;letter-spacing:.01em}
  @media(min-width:880px){.safety-card .sc-head h3{font-size:21px}}
  .safety-card .sc-head .sc-en{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;
    text-transform:uppercase;color:var(--accent);margin-bottom:2px}
  .safety-card .sc-body{padding:24px}
  @media(min-width:880px){.safety-card .sc-body{padding:28px 30px}}
  .safety-card .sc-body > p{font-size:14.5px;color:var(--ink-sub);line-height:1.95}
  .safety-card .sc-body > p + p{margin-top:12px}
  .sc-split{display:grid;gap:22px;grid-template-columns:1fr;align-items:start}
  @media(min-width:760px){.sc-split{grid-template-columns:1fr 1fr;gap:30px}}
  .sc-split.media-left{grid-template-columns:1fr}
  @media(min-width:760px){.sc-split.media-left{grid-template-columns:.9fr 1.1fr}}
  .cert-frame{border:2px dashed var(--line);border-radius:14px;background:var(--sky-2);
    aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:10px;text-align:center;padding:20px;color:var(--ink-sub)}
  .cert-frame .ico-lg{width:40px;height:40px;color:var(--blue-light)}
  .cert-frame b{font-size:14px;font-weight:800;color:var(--navy)}
  .cert-frame span{font-size:12px;line-height:1.6}
  .cert-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
  .cert-grid .cert-frame{aspect-ratio:3/4}
  .cert-grid-1{grid-template-columns:1fr;max-width:420px}
  /* CMS登録された実物の証明書写真 */
  .cert-photo{margin:0;display:flex;flex-direction:column;gap:8px}
  .cert-photo img{display:block;width:100%;height:auto;object-fit:contain;
    border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(7,31,61,.10)}
  .cert-photo figcaption{font-size:12px;line-height:1.5;color:var(--ink-sub);text-align:center;font-weight:700}
  .sc-list{margin-top:6px;display:flex;flex-direction:column;gap:12px}
  .sc-li{display:flex;gap:12px;align-items:flex-start}
  .sc-li .li-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
    background:var(--sky);color:var(--blue);margin-top:1px}
  .sc-li .li-ic .ico-sm{width:17px;height:17px}
  .sc-li b{display:block;font-size:14.5px;color:var(--navy);font-weight:800}
  .sc-li span{display:block;margin-top:3px;font-size:13.5px;color:var(--ink-sub);line-height:1.75}
  .qual-list{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
  .qual{display:inline-flex;align-items:center;gap:8px;background:var(--sky);border:1px solid var(--line);
    border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:700;color:var(--navy)}
  .qual .ico-sm{color:var(--blue);width:16px;height:16px}
  .note-box{background:var(--sky-2);border:1px solid var(--line);border-left:4px solid var(--accent);
    border-radius:0 12px 12px 0;padding:20px 22px}
  .note-box h4{font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}
  .note-box h4 .ico{width:18px;height:18px;color:var(--accent)}
  .note-box ul{padding-left:2px;list-style:none}
  .note-box li{position:relative;padding-left:20px;font-size:13.5px;color:var(--ink-sub);line-height:1.8;margin-bottom:6px}
  .note-box li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
  .note-box > p{margin-top:12px;font-size:13px;color:var(--ink-sub);line-height:1.8}
  .anim-ready .toc,
  .anim-ready .safety-card,
  .anim-ready .note-box{opacity:0}
  @media (prefers-reduced-motion: reduce){ .anim-ready *{opacity:1!important;transform:none!important} }
