/* /about/policy/ 配下だけ用の上書き */

.policy-layout .entry-content,
.policy-layout .policy-scope{
  -webkit-columns: auto !important;
  columns: auto !important;
  -webkit-column-count: 1 !important;
  column-count: 1 !important;
  -webkit-column-gap: normal !important;
  column-gap: normal !important;
  display: block !important;
  float: none !important;
  width: auto !important;
}

.policy-layout .entry-content > *{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

/* 必要に応じてこの中に /policy 用の調整を足していく */

/* ===== policy-only layout ===== */
/* 既存を上書き：常に1カラムにする */
.policy .policy-layout{
    display:grid;
    grid-template-columns: minmax(0,1fr) !important;
    gap:24px;
  }
  @media (min-width:960px){
    .policy .policy-layout{ grid-template-columns: minmax(0,1fr) !important; gap:32px; }
  }
  
.policy .policy-nav ul{list-style:none;margin:0;padding:0}
.policy .policy-nav li{margin:0 0 .5rem}
.policy .policy-nav a{display:block;padding:.5rem .75rem;border-radius:8px;text-decoration:none}
.policy .policy-nav .current_page_item > a{font-weight:700;outline:2px solid var(--policy-accent,#2f6fab)}

/* ===== block-friendly in scope ===== */
.policy-scope{--flow:1rem; --bd:#e3e7ee}
.policy-scope > *{margin-block:var(--flow)}
/* 見出し（テーマのリセット対策）：policy本文内だけでサイズ・余白を再指定 */
.policy-scope :is(h1,h2,h3,h4,h5,h6){
  font-weight:700;
  line-height:1.4;
  margin:1.2em 0 .6em;
}
.policy-scope h1{ font-size:clamp(2rem, 1.4rem + 1.5vw, 2.6rem) !important; }
.policy-scope h2{ font-size:clamp(1.7rem, 1.2rem + 1vw, 2.2rem) !important; }
.policy-scope h3{ font-size:clamp(1.4rem, 1.05rem + .6vw, 1.7rem) !important; }
.policy-scope h4{ font-size:clamp(1.2rem, .98rem + .4vw, 1.35rem) !important; }
.policy-scope ul{list-style:disc;padding-left:1.4em}
.policy-scope ol{list-style:decimal;padding-left:1.4em}
.policy-scope table{width:100%;border-collapse:collapse}
.policy-scope table th,
.policy-scope table td{border:1px solid var(--bd);padding:.6rem .8rem;vertical-align:top}
.policy-scope figure{margin:var(--flow) 0}
.policy-scope figcaption{font-size:.9em;opacity:.8}

/* ===== 囲み枠（PDFのボーダー再現） ===== */
.policy-box,
.wp-block-group.is-style-policy-callout{
  border:2px solid var(--bd);
  border-radius:8px;
  padding:1rem 1.25rem;
  background:#fff;
}
.policy-box .policy-box__title{font-weight:700;margin:0 0 .5rem}

/* メディアははみ出さない */
.policy-scope img,
.policy-scope svg,
.policy-scope video{ max-width:100%; height:auto }

/* リンク色はアクセント変数に寄せる（必要なら） */
.policy-scope a{ color: var(--policy-accent, #2f6fab); text-decoration: underline }

/* 表の横スクロール（スマホ） */
.policy-scope .wp-block-table{ display:block; overflow-x:auto }
.policy-scope .wp-block-table table{ width:100%; border-collapse:collapse }

/* 引用などの最低限 */
.policy-scope blockquote{ border-left:4px solid var(--bd); padding:.5rem 1rem; margin: var(--flow) 0 }