/******************************************************
 bundle.css — 完全再現版 v7
 ・本文アイキャッチ枠だけ非表示（本文画像は残す）
 ・LCP/CLS と A11y のベース
 ・H2：重なる2円（SVG）＋下線＝文字にかからずピクセル一致
 ・H3〜H6：下線のみ
******************************************************/

/* 1) 本文アイキャッチ枠を非表示 */
.single .post-thumbnail,
.single .entry-eye-catch,
.single .eye-catch,
.single .wp-block-post-featured-image,
.single .amp-wp-article-featured-image{
  display:none !important;
  margin:0 !important; padding:0 !important; height:0 !important; line-height:0 !important;
}
.single .post-thumbnail img.wp-post-image{display:none !important;}

/* 2) 画像の基本（LCP/CLS） */
img{max-width:100%;height:auto;}
img[loading="lazy"]{content-visibility:auto;contain-intrinsic-size:1px 360px;}

/* 3) A11y */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:16px;top:16px;padding:8px 12px;background:#000;color:#fff;z-index:10000;outline:2px solid #fff}
:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}

/* 4) 見出し ───────────────────────── */

/* 可変値（必要なら数値だけ微調整） */
:root{
  --h2-icon-left: 12px;     /* 左マージン */
  --h2-icon-size: 44px;     /* アイコン(2円)の幅・高さ */
  --h2-gap:       8px;      /* アイコン右端と文字の隙間 → 文字開始=64px */
  --h2-uline-left:12px;     /* 下線の開始位置 */
  --h2-uline-gap:  6px;     /* 下線と文字下端の隙間 */
}
@media (max-width:480px){
  :root{ --h2-icon-left:10px; --h2-icon-size:36px; --h2-gap:6px; --h2-uline-left:10px; --h2-uline-gap:5px; }
}

/* --- H2：重なる2円（SVG）＋下線（文字に一切かからない） --- */
.single .entry-content h2,
.page  .entry-content h2{
  position:relative !important; display:block !important;
  margin:2.2em 0 1.2em !important;
  padding:.4em .5em .6em calc(var(--h2-icon-left) + var(--h2-icon-size) + var(--h2-gap)) !important; /* 64px */
  line-height:1.45 !important; font-weight:700 !important;
  background:none !important; border:0 !important; box-shadow:none !important; color:inherit !important; overflow:visible !important;

  /* 下線（左 12px から右端まで） */
  background-image:linear-gradient(90deg,#d36ef2 0%,#a56ef2 45%,#7f8cff 100%) !important;
  background-repeat:no-repeat !important;
  background-size:calc(100% - var(--h2-uline-left)) 3px !important;
  background-position:var(--h2-uline-left) calc(100% - var(--h2-uline-gap)) !important;
}

/* 2つの円を1枚のSVGで描画（はみ出し・クリップなし／ピクセル一致） */
.single .entry-content h2::before,
.page  .entry-content h2::before{
  content:"";
  position:absolute; top:50%; left:var(--h2-icon-left); transform:translateY(-50%);
  width:var(--h2-icon-size); height:var(--h2-icon-size);
  background-repeat:no-repeat; background-size:100% 100%;
  pointer-events:none; z-index:0;

  /* viewBox=44 内に収めた円：ピンク(右上 r=15, cx=28 cy=16)／ラベンダー(左下 r=13, cx=16 cy=28) */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='28' cy='16' r='15' fill='%23ffb6d6' fill-opacity='.90'/%3E%3Ccircle cx='16' cy='28' r='13' fill='%23bbaaff' fill-opacity='.62'/%3E%3C/svg%3E");
}

/* 文字装飾があっても形を維持 */
.single .entry-content h2 em,
.single .entry-content h2 strong{font-style:inherit;font-weight:inherit}

/* --- H3〜H6：下線のみ（始点は左12pxで統一、SPは10px） --- */
.single .entry-content h3,.page .entry-content h3,
.single .entry-content h4,.page .entry-content h4,
.single .entry-content h5,.page .entry-content h5,
.single .entry-content h6,.page .entry-content h6{
  position:relative !important; display:block !important;
  background:none !important; border:0 !important; box-shadow:none !important; color:inherit !important; font-weight:700 !important;
  margin:1.6em 0 .9em !important; padding:.25em 0 .45em 0 !important; line-height:1.5 !important;
}
.single .entry-content h3,.page .entry-content h3{margin:1.8em 0 1em !important; padding:.3em 0 .5em 0 !important}
.single .entry-content h5,.page .entry-content h5{margin:1.4em 0 .8em !important; padding:.2em 0 .4em 0 !important}
.single .entry-content h6,.page .entry-content h6{margin:1.2em 0 .7em !important; padding:.15em 0 .35em 0 !important; line-height:1.4 !important}

.single .entry-content h3,.page .entry-content h3{background:linear-gradient(90deg,#d36ef2 0%,#9aa0ff 100%) no-repeat;background-size:calc(100% - var(--h2-uline-left)) 2px;background-position:var(--h2-uline-left) calc(100% - 5px)}
.single .entry-content h4,.page .entry-content h4{background:linear-gradient(90deg,#c08af2 0%,#9ab0ff 100%) no-repeat;background-size:calc(100% - var(--h2-uline-left)) 2px;background-position:var(--h2-uline-left) calc(100% - 4px)}
.single .entry-content h5,.page .entry-content h5{background:linear-gradient(90deg,#b49cf2 0%,#a8c4ff 100%) no-repeat;background-size:calc(100% - var(--h2-uline-left)) 2px;background-position:var(--h2-uline-left) calc(100% - 3px)}
.single .entry-content h6,.page .entry-content h6{background:linear-gradient(90deg,#aab7f2 0%,#bed6ff 100%) no-repeat;background-size:calc(100% - var(--h2-uline-left)) 1px;background-position:var(--h2-uline-left) calc(100% - 3px)}
