/* 編集方針・集計方法（policy.php だけが読む。2026-10-29）
   比較ページ・商品ページと同じ見た目の決まり: 背景の帯で区切る・見出しは淡いピンクの帯・影なし・罫線 #d8dee6 */

.ip-pol-page .ip-page{padding-bottom:48px}
.ip-pol{max-width:880px;margin:0 auto}

/* 上部（全幅のグレーの帯） */
.ip-pol-head{margin-top:16px;padding:36px 0 32px;border-image:linear-gradient(#f7f8fa,#f7f8fa) fill 0//0 100vmax}
.ip-pol-head h1{margin:0;font-size:32px;line-height:1.4}
.ip-pol-head__lead{margin:16px 0 0;font-size:17px;line-height:1.9}
.ip-pol-head__meta{margin:12px 0 0;color:#475569;font-size:14px}

.ip-pol-page .ip-pol-head__lead{margin:16px 0 0!important}
.ip-pol-page .ip-pol-head__meta{margin:12px 0 0!important}

/* 要点4つ */
.ip-pol-page .ip-pol-keys{margin-top:24px!important}
.ip-pol-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 0;padding:0;list-style:none}
.ip-pol-keys li{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #d8dee6;border-radius:8px;background:#fff}
.ip-pol-keys .ip-ico{fill:none;stroke:#d81b60;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ip-pol-keys b{font-size:22px;line-height:1.3}
.ip-pol-keys span{color:#475569;font-size:14px;line-height:1.6}

/* 目次 */
.ip-pol-toc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}
.ip-pol-toc a{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:48px;padding:0 14px;border:1px solid #d8dee6;border-radius:6px;background:#fff;color:#1d4ed8;font-size:14px;text-decoration:none}
.ip-pol-toc a:hover{border-color:#1d4ed8}
.ip-pol-toc .ip-ico{flex:none;fill:none;stroke:currentColor;stroke-width:2}

/* セクションの見出し（淡いピンクの帯） */
.ip-pol-page .ip-block{margin-top:48px;scroll-margin-top:80px}
.ip-pol-page .ip-block>h2{margin:0 0 16px!important;padding:14px 20px;border-left:4px solid #d81b60;border-radius:6px;background:#fce7ef;font-size:24px;line-height:1.45}
.ip-pol-page .ip-block>h2::before{display:none}
.ip-pol-page .ip-block p{margin:0 0 14px;font-size:16px;line-height:1.9}

/* 表の形（項目名の列に色） */
.ip-pol-spec{margin:8px 0 16px;overflow:hidden;border:1px solid #d8dee6;border-radius:8px;background:#fff}
.ip-pol-spec div{display:grid;grid-template-columns:10em minmax(0,1fr);border-bottom:1px solid #d8dee6}
.ip-pol-spec div:last-child{border-bottom:0}
.ip-pol-spec dt{margin:0;padding:16px;background:#f7f8fa;color:#475569;font-size:14px;font-weight:700}
.ip-pol-spec dd{margin:0;padding:16px;font-size:16px;line-height:1.8}

.ip-pol-bands span{white-space:nowrap}
.ip-pol-bands span+span::before{content:"／"}

/* ランキングの手順（番号つきの3段） */
.ip-pol-steps{display:grid;gap:12px;margin:8px 0 0;padding:0;list-style:none;counter-reset:pol}
.ip-pol-steps li{display:grid;grid-template-columns:44px 8em minmax(0,1fr);align-items:start;gap:0 16px;padding:20px;border-radius:8px;background:#f7f8fa;counter-increment:pol}
.ip-pol-steps li::before{content:counter(pol);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#d81b60;color:#fff;font-size:20px;font-weight:700}
.ip-pol-steps b{padding-top:9px;font-size:17px}
.ip-pol-steps span{padding-top:8px;font-size:16px;line-height:1.8}

/* 箇条書き */
.ip-pol-page .ip-pol-list{margin:8px 0 0!important;padding:16px 20px 16px 40px!important;border-left:3px solid #d81b60;border-radius:0 8px 8px 0;background:#fdf4f7;list-style:disc!important}
.ip-pol-page .ip-pol-list li{display:list-item;margin:4px 0;font-size:16px;line-height:1.8}

/* 連絡先へのボタン */
.ip-pol-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.ip-pol-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border:1px solid #1f2937;border-radius:6px;background:#fff;color:#1f2937;font-size:16px;text-decoration:none}
.ip-pol-links a:hover{background:#f7f8fa}

/* スマホ */
@media (max-width:639px){
  .ip-pol-head{margin-top:12px;padding:20px 0}
  .ip-pol-head h1{font-size:24px}
  .ip-pol-head__lead{font-size:15px}
  .ip-pol-keys{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
  .ip-pol-keys li{padding:14px}
  .ip-pol-keys b{font-size:18px}
  .ip-pol-keys span{font-size:13px}
  .ip-pol-toc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-pol-toc a{padding:0 10px;font-size:13px}
  .ip-pol-page .ip-block{margin-top:32px}
  .ip-pol-page .ip-block>h2{padding:12px 14px;font-size:20px}
  .ip-pol-page .ip-block p{font-size:15px}
  .ip-pol-spec div{grid-template-columns:minmax(0,1fr)}
  .ip-pol-spec dt{padding:10px 12px}
  .ip-pol-spec dd{padding:12px;font-size:15px}
  .ip-pol-steps li{grid-template-columns:36px minmax(0,1fr);gap:4px 12px;padding:16px}
  .ip-pol-steps li::before{width:36px;height:36px;font-size:17px;grid-row:span 2}
  .ip-pol-steps b{padding-top:6px}
  .ip-pol-steps span{padding-top:0;font-size:15px}
  .ip-pol-page .ip-pol-list{padding:12px 14px 12px 32px!important}
}
