/* 補助金.com 収益化部品スタイル（誠実なPR枠）
   ・広告/アフィリは必ず「PR」明示し、中立の制度情報と視覚的に分離する（信頼維持）。
   ・既定では monetize.js が dormant（window.HJ_MONETIZE.enabled が真のときだけ描画）。 */
/* 2026-05-25 RL改修: PR枠の温色化＋CLS抑止（min-height）＋本文との距離感を強化 */
.hj-pr{border:1px dashed #d9d2c3;border-radius:11px;background:#fdfaf3;padding:14px 16px;margin:24px 0}
.hj-pr-lbl{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;color:#7a5410;background:#fbeecb;border:1px solid #e7cf90;border-radius:999px;padding:2px 10px;letter-spacing:.05em;margin:0 0 10px}
.hj-pr-lbl::before{content:"PR";font-weight:800;color:#fff;background:#d8a930;border-radius:4px;padding:0 5px;font-size:.6rem;letter-spacing:0}
.hj-pr-cap{font-size:.78rem;color:#5a5249;margin:0 0 10px;line-height:1.7}
.hj-pr-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.hj-pr-item{display:block;border:1px solid #e8e0d3;border-radius:9px;padding:12px 14px;background:#fff;text-decoration:none;color:#173d70;min-height:56px;transition:transform .15s,box-shadow .15s,border-color .15s}
.hj-pr-item:hover{background:#fdf3e3;border-color:#d68b3c;transform:translateY(-1px);box-shadow:0 2px 6px rgba(40,30,20,.08)}
.hj-pr-t{display:block;font-weight:800;font-size:.92rem;line-height:1.45}
.hj-pr-t::after{content:" ↗";font-size:.8em;color:#9a8a73;font-weight:600}
.hj-pr-n{display:block;font-size:.78rem;color:#5a5249;margin-top:4px;line-height:1.6}
/* AdSense枠は最低高でCLSを抑止（実枠が描画されると上書きされる） */
.hj-pr .hj-pr-adbox{min-height:280px;display:flex;align-items:center;justify-content:center;background:#faf7f1;border-radius:7px;color:#9a8a73;font-size:.74rem}
.hj-pr .hj-pr-adbox:empty::before{content:"広告枠"}
@media (max-width:560px){.hj-pr-list{grid-template-columns:1fr}.hj-pr .hj-pr-adbox{min-height:220px}}
@media print{.hj-pr{display:none!important}}
/* 2026-05-26 画像バナー対応: img があれば画像優先、エラー時はテキストにフォールバック（onerror で非表示） */
.hj-pr-img{display:block;width:100%;max-width:300px;height:auto;margin:0 0 8px;border-radius:6px;border:1px solid #e0e6f0}
@media (max-width:560px){.hj-pr-img{max-width:100%}}

/* 2026-05-26 RL393 サイドレール広告: 本文の左右余白に sticky な縦長バナー枠を配置（≥1400px のPC幅のみ表示） */
.hj-side-rail{display:none}
@media (min-width:1400px){
  .hj-side-rail{display:block;position:fixed;top:120px;width:160px;z-index:30;max-height:calc(100vh - 150px);overflow-y:auto}
  .hj-side-right{right:max(8px, calc((100vw - 1320px)/2 - 168px))}
  .hj-side-left{left:max(8px, calc((100vw - 1320px)/2 - 168px))}
  .hj-side-rail .hj-pr{margin:0 0 12px;padding:8px}
  .hj-side-rail .hj-pr-adbox{min-height:600px}
  .hj-side-rail .hj-pr-lbl{font-size:.7rem}
}
@media (min-width:1700px){
  .hj-side-rail{width:200px}
  .hj-side-right{right:max(16px, calc((100vw - 1320px)/2 - 210px))}
  .hj-side-left{left:max(16px, calc((100vw - 1320px)/2 - 210px))}
}
@media print{.hj-side-rail{display:none!important}}

/* 2026-05-26 RL394 空配信時の枠非表示: AdSense が広告を返さなかった ins.adsbygoogle は
   data-ad-status="unfilled" になる。その親 .hj-pr を視覚的に削除して空枠が目立つのを防ぐ */
.hj-pr:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
/* :has() 未対応ブラウザ向けフォールバック: 空高さは最小化 */
.hj-pr .hj-pr-adbox:empty{min-height:0;padding:0}
.hj-pr .hj-pr-adbox ins.adsbygoogle[data-ad-status="unfilled"]{min-height:0;height:0!important;display:none}
