  /* ══ PAGE HERO ══ */
  .ph{min-height:40svh;display:flex;align-items:center;background:#1e2e40;position:relative;overflow:hidden;padding:110px 0 60px;}
  .ph::before{content:'';position:absolute;inset:0;background:
    radial-gradient(ellipse at 70% 20%,rgba(47,111,165,.18) 0%,transparent 55%),
    radial-gradient(ellipse at 15% 80%,rgba(142,197,234,.07) 0%,transparent 45%);
    pointer-events:none;}
  .ph::after{content:'';position:absolute;inset:0;
    background-image:linear-gradient(rgba(142,197,234,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(142,197,234,.04) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse at 70% 50%,black 10%,transparent 60%);
    pointer-events:none;}
  .ph-wave{position:absolute;inset:0;width:200%;height:100%;
    background:
      repeating-linear-gradient(-12deg,transparent 0,transparent 60px,rgba(142,197,234,.04) 72px,rgba(47,111,165,.07) 86px,rgba(142,197,234,.04) 100px,transparent 112px,transparent 190px),
      repeating-linear-gradient(12deg,transparent 0,transparent 90px,rgba(47,111,165,.03) 102px,rgba(142,197,234,.06) 116px,rgba(47,111,165,.03) 130px,transparent 142px,transparent 230px);
    animation:waveRTL 14s linear infinite;pointer-events:none;z-index:0;}
  @keyframes waveRTL{to{transform:translateX(-50%);}}
  .ph-in{position:relative;z-index:2;max-width:680px;}
  .ph-lbl{font-family:'Noto Sans JP',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:rgba(142,197,234,.7);display:flex;align-items:center;gap:14px;margin-bottom:26px;opacity:0;transform:translateX(-16px);transition:opacity .6s ease,transform .6s ease;}
  .ph-lbl.in{opacity:1;transform:none;}
  .ph-lbl::before{content:'';display:block;width:24px;height:1px;background:rgba(142,197,234,.5);}
  .ph-h1{font-family:'Shippori Mincho',serif;font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:400;line-height:1.5;letter-spacing:.05em;color:#fff;margin-bottom:14px;}
  .ph-date{font-size:.74rem;color:rgba(255,255,255,.35);letter-spacing:.06em;}

  /* ══ BREADCRUMB ══ */
  .bc{background:var(--bg1);border-bottom:1px solid var(--br);padding:12px 0;}
  .bc-in{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--tx3);}
  .bc-in a{color:var(--tx3);transition:color var(--t);}
  .bc-in a:hover{color:var(--acc);}
  .bc-sep{opacity:.5;}

  /* ══ POLICY BODY ══ */
  .policy-wrap{max-width:780px;margin:0 auto;}
  .policy-lead{font-size:.88rem;color:var(--tx2);line-height:2.2;margin-bottom:56px;padding-bottom:36px;border-bottom:1px solid var(--br);}

  .policy-section{margin-bottom:52px;}
  .policy-section:last-child{margin-bottom:0;}
  .policy-h{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;}
  .policy-num{font-family:'Shippori Mincho',serif;font-size:.72rem;color:var(--acc);letter-spacing:.12em;flex-shrink:0;padding-top:2px;}
  .policy-h h2{font-family:'Shippori Mincho',serif;font-size:1.02rem;color:var(--tx1);font-weight:400;letter-spacing:.06em;line-height:1.4;}
  .policy-body{font-size:.86rem;color:var(--tx2);line-height:2.2;}
  .policy-body p{margin-bottom:14px;}
  .policy-body p:last-child{margin-bottom:0;}
  .policy-list{list-style:none;display:flex;flex-direction:column;gap:9px;margin:14px 0;}
  .policy-list li{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;color:var(--tx2);line-height:1.75;}
  .policy-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:rgba(47,111,165,.6);flex-shrink:0;margin-top:8px;}
  .policy-box{background:var(--bg2);border:1px solid var(--br);border-radius:var(--r);padding:22px 24px;margin-top:16px;}
  .policy-box-t{font-size:.76rem;font-weight:600;color:var(--tx1);letter-spacing:.06em;margin-bottom:12px;}

  .policy-divider{width:100%;height:1px;background:var(--br);margin:52px 0;}

  .policy-company{background:var(--bg2);border:1px solid var(--br);border-radius:var(--r);padding:28px 32px;}
  .policy-company-t{font-family:'Shippori Mincho',serif;font-size:.9rem;color:var(--tx1);letter-spacing:.08em;margin-bottom:16px;}
  .policy-company dl{display:grid;grid-template-columns:5em 1fr;gap:8px 16px;font-size:.82rem;}
  .policy-company dt{color:var(--tx3);}
  .policy-company dd{color:var(--tx2);margin:0;}
  .policy-company dd a{color:var(--acc);text-decoration:none;}
  .policy-company dd a:hover{text-decoration:underline;}
