:root{
--ink: #1F2C32;
  --brand: #039faa;
  --brand-dark: #047383;
  --muted: #AFB0B5;
  --cta-bg: #fff;
  --cta-line: #039faa;
  --shadow: 0 0 34px rgba(0, 0, 0, .07);
  --w-article: 790px;
}
html,body{background:#fff;color:var(--ink);font-family:"游ゴシック体",YuGothic,Arial,sans-serif}
img{max-width:100%;height:auto}

.container{max-width:1120px;margin:0 auto}
.instagram-blog-container{max-width:var(--w-article);margin:24px auto 12px}
.instagram-intro-p{line-height:1.8;text-align:justify;margin:0 0 1em}

.instagram-menu{border:1px solid #E7E8EA;border-radius:8px;padding:16px 18px;margin:28px 0 8px;background:#efefef;}
.instagram-menu h2{margin:0 0 .5rem;font-size:1.1rem}
.instagram-menu ol{margin:0;padding-left:1.2rem}
.instagram-menu a{text-decoration:none;color:var(--ink)}
.instagram-menu a:hover{text-decoration:underline}

.instagram-blog-content{max-width:var(--w-article);margin:40px auto}
.instagram-blog-h2-p{background:#e5f5f6;border-left:6px solid var(--brand);border-bottom:1px dashed var(--brand);padding:10px 12px;font-weight:600;font-size:22px;margin:18px 0 26px}
.instagram-blog-h3-wrapper{margin:16px 0 14px}
.instagram-blog-h3-p{font-weight:600;font-size:20px;padding-bottom:12px;margin:0;position:relative}
.instagram-blog-h3-p::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background-image:linear-gradient(-45deg,transparent 25%,var(--brand) 25%,var(--brand) 50%,transparent 50%,transparent 75%,var(--brand) 75%,var(--brand));background-size:6px 6px}
.instagram-blog-p{line-height:1.8;text-align:justify}
.instagram-blog-highlight-box{background:#FFF6DD;border:1px solid #F1E4B6;border-radius:8px;padding:18px;box-shadow:var(--shadow)}
.instagram-blog-attention-item{margin:.4rem 0}
.instagram-blog-highlight-title-p{font-weight:700;margin:0 0 .5rem}

/* CTA（column.cssテイストの忠実再現） */
.ig-cta-box{background:var(--cta-bg);border:1px solid var(--cta-line);border-radius:8px;padding:2rem 1.5rem;margin:56px auto;text-align:center;max-width:var(--w-article)}
.ig-cta-title{font-size:1.4rem;font-weight:700;margin:0 0 1rem;color:var(--brand-dark)}
.ig-p{margin:.4rem auto 0;max-width:50ch;line-height:1.6}
.ig-strong .ig-bg-yellow{background:linear-gradient(transparent 60%,#fff2a8 60%)}

.ig-btn{display:block;max-width:380px;margin:2rem auto 0;text-align:center;border-radius:.5rem;font-size:1rem;font-weight:600;box-shadow:0 6.273105621337891px 0 0 #a33650;padding:2rem .5rem;background-color:#C0506B;color:#fff;text-decoration:none}
@media (min-width:768px){.ig-btn{letter-spacing:.2em}}
.ig-btn .btn_text{position:relative;padding-right:2rem}
.ig-btn .btn_text::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);background-color:#fff;width:7px;height:11px;clip-path:polygon(0 0,0% 100%,100% 50%)}

.muted{color:var(--muted)}


/* ============================
   RTOC 仕上げ（スクショ準拠）
   ============================ */

/* 全体ボックス */
#rtoc-mokuji-wrapper {
  background: #e5f5f6;            /* やわらかいピンク */
  border: none;
  border-radius: 8px;
  padding: 40px 64px 32px;
}
@media (max-width: 1023px){
  #rtoc-mokuji-wrapper { padding: 28px 20px 20px; }
}

/* タイトル行：左に“CONTENTS”、右にトグル */
#rtoc-mokuji-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 !important;
  margin-bottom: 20px;
}
#rtoc-mokuji-title span{
  font-family: 'brandon-grotesque', Arial, sans-serif !important;
  font-size: 22px;
  letter-spacing: .08em;
  color:#049fa9;                   /* 見出しピンク */
}
#rtoc-mokuji-title .rtoc_open_close{
  font-family: 'brandon-grotesque', Arial, sans-serif !important;
  font-size: 12px;
  letter-spacing: .02em;
  color:#D6A1A1;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}
#rtoc-mokuji-title .rtoc_open_close::before{ content:"["; }
#rtoc-mokuji-title .rtoc_open_close::after{ content:"]"; }

/* リスト（スクショでは番号無し＆縦ラインの装飾） */
#rtoc-mokuji-wrapper .rtoc-mokuji{ list-style:none; padding:0; margin:0; }
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li{
  position: relative;
  padding-left: 28px;          /* 縦ラインの余白 */
  margin: 18px 0 26px;         /* 行間をゆったり */
}
/* 前に出した番号装飾を無効化 */
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li::after{ content:none !important; }

/* 左の細いピンクライン */
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li::before{
  content:"";
  position:absolute;
  left: 10px;
  top: .25em;
  width: 2px;
  height: 1.2em;
  background:#D6A1A1;
  opacity:.9;
  border-radius: 1px;
}

/* アンカーリンクの文字組み */
#rtoc-mokuji-wrapper .rtoc-mokuji li a{
  display:inline-block;
  color:#1F2C32;
  text-decoration:none;
  font-size: clamp(15px, 1.6vw, 20px);
  letter-spacing:.06em;
  line-height:1.7;
}
#rtoc-mokuji-wrapper .rtoc-mokuji li a:hover{
  opacity:.75;
  text-decoration:none;
}

/* レベル2（開閉対象）。色味・サイズを少し抑える */
#rtoc-mokuji-wrapper .mokuji_ul.level-2{
  display:none;               /* 初期は畳む（JSで開閉） */
  margin: 8px 0 6px 0;
  padding-left: 28px;         /* level-1のテキストと揃える */
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 > li{
  position: relative;
  padding-left: 14px;
  margin: 10px 0 12px;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 > li::before{
  content:"";
  position:absolute;
  left:0;
  top: .9em;
  width:6px; height:6px;
  background:#1F2C32;
  border-radius:50%;
  opacity:.8;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 a{
  font-size: clamp(14px, 1.4vw, 18px);
  color:#1F2C32;
}

/* スクロール補正（固定ヘッダーがある場合） */
h2[id], h3[id], h4[id]{ scroll-margin-top: 80px; }

@media (max-width: 767px){
  #rtoc-mokuji-title span{ font-size:18px; }
  #rtoc-mokuji-wrapper .decimal_ol.level-1 > li{ margin:14px 0 20px; }
}
.instagram-blog-highdivght-box {
    margin: 20px 0;
    padding: 20px;
    background-color: #e0e0e0;
}

p.instagram-blog-highdivght-title-p {
    font-weight: 700;
}

.instagram-blog-table-container {
    margin: 20px auto;
}

tr.table-head-row {
    background-color: aliceblue;
}
.instagram-blog-attention-item {
    font-size: 1.4rem;
}

/* ============================
   RTOC 仕上げ（スクショ準拠）
   ============================ */

/* 全体ボックス */
#rtoc-mokuji-wrapper {
  background: #e5f5f6;            /* やわらかいピンク */
  border: none;
  border-radius: 8px;
  padding: 40px 64px 32px;
}
@media (max-width: 1023px){
  #rtoc-mokuji-wrapper { padding: 28px 20px 20px; }
}

/* タイトル行：左に“CONTENTS”、右にトグル */
#rtoc-mokuji-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 !important;
  margin-bottom: 20px;
}
#rtoc-mokuji-title span{
  font-family: 'brandon-grotesque', Arial, sans-serif !important;
  font-size: 22px;
  letter-spacing: .08em;
  color:#D6A1A1;                   /* 見出しピンク */
}
#rtoc-mokuji-title .rtoc_open_close{
  font-family: 'brandon-grotesque', Arial, sans-serif !important;
  font-size: 12px;
  letter-spacing: .02em;
  color:#D6A1A1;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}
#rtoc-mokuji-title .rtoc_open_close::before{ content:"["; }
#rtoc-mokuji-title .rtoc_open_close::after{ content:"]"; }

/* リスト（スクショでは番号無し＆縦ラインの装飾） */
#rtoc-mokuji-wrapper .rtoc-mokuji{ list-style:none; padding:0; margin:0; }
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li{
  position: relative;
  padding-left: 28px;          /* 縦ラインの余白 */
  margin: 18px 0 26px;         /* 行間をゆったり */
}
/* 前に出した番号装飾を無効化 */
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li::after{ content:none !important; }

/* 左の細いピンクライン */
#rtoc-mokuji-wrapper .decimal_ol.level-1 > li::before{
  content:"";
  position:absolute;
  left: 10px;
  top: .25em;
  width: 2px;
  height: 1.2em;
  background:#D6A1A1;
  opacity:.9;
  border-radius: 1px;
}

/* アンカーリンクの文字組み */
#rtoc-mokuji-wrapper .rtoc-mokuji li a{
  display:inline-block;
  color:#1F2C32;
  text-decoration:none;
  font-size: clamp(15px, 1.6vw, 20px);
  letter-spacing:.06em;
  line-height:1.7;
}
#rtoc-mokuji-wrapper .rtoc-mokuji li a:hover{
  opacity:.75;
  text-decoration:none;
}

/* レベル2（開閉対象）。色味・サイズを少し抑える */
#rtoc-mokuji-wrapper .mokuji_ul.level-2{
  display:none;               /* 初期は畳む（JSで開閉） */
  margin: 8px 0 6px 0;
  padding-left: 28px;         /* level-1のテキストと揃える */
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 > li{
  position: relative;
  padding-left: 14px;
  margin: 10px 0 12px;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 > li::before{
  content:"";
  position:absolute;
  left:0;
  top: .9em;
  width:6px; height:6px;
  background:#1F2C32;
  border-radius:50%;
  opacity:.8;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 a{
  font-size: clamp(14px, 1.4vw, 18px);
  color:#1F2C32;
}

/* スクロール補正（固定ヘッダーがある場合） */
h2[id], h3[id], h4[id]{ scroll-margin-top: 80px; }

@media (max-width: 767px){
  #rtoc-mokuji-title span{ font-size:18px; }
  #rtoc-mokuji-wrapper .decimal_ol.level-1 > li{ margin:14px 0 20px; }
}

/* =========================================================
   TOKENS / BASE
========================================================= */
:root{
  --ink:#1F2C32;
  --brand:#039faa;
  --brand-dark:#047383;
  --muted:#AFB0B5;
  --cta-bg:#fff;
  --cta-line:#039faa;
  --shadow:0 0 34px rgba(0,0,0,.07);
  --w-article:790px;

  --h2-size:22px;
  --h3-size:20px;
}
html,body{background:#fff;color:var(--ink);font-family:"游ゴシック体",YuGothic,Arial,sans-serif}
img{max-width:100%;height:auto}
.muted{color:var(--muted)}

/* =========================================================
   LAYOUT / COMMON
========================================================= */
.container{max-width:1120px;margin:0 auto}
.instagram-blog-container{max-width:var(--w-article);margin:24px auto 12px}
.instagram-intro-p{line-height:1.8;text-align:justify;margin:0 0 1em}
.instagram-blog-content{max-width:var(--w-article);margin:40px auto}

/* 目次ボックス（RTOC） */
.instagram-menu{border:1px solid #E7E8EA;border-radius:8px;padding:16px 18px;margin:28px 0 8px;background:#efefef;}
.instagram-menu h2{margin:0 0 .5rem;font-size:1.1rem}
.instagram-menu ol{margin:0;padding-left:1.2rem}
.instagram-menu a{text-decoration:none;color:var(--ink)}
.instagram-menu a:hover{text-decoration:underline}

/* =========================================================
   HEADINGS (Gutenberg)  ←ここが本題
   - 記事側は h2/h3 を普通に書くだけでOK
   - SWELLの装飾をリセットし、デザインを再定義
   - 旧クラス（.instagram-blog-h2-p / .instagram-blog-h3-p）も後方互換で対応
========================================================= */

/* リセット＆共通 */
.post_content h2.wp-block-heading,
.post_content h3.wp-block-heading,
.post_content h4.wp-block-heading,
.instagram-blog-h2-p, /* 旧クラス互換 */
.instagram-blog-h3-p{ /* 旧クラス互換 */
  background:none;
  padding:0;
  border:none;
  box-shadow:none;
  color:var(--ink);
  position:relative;
  line-height:1.4;
  font-weight:700;
  margin:0;
}

/* H2：帯＋左ボーダー＋下点線（旧 .instagram-blog-h2-p 相当） */
.post_content h2.wp-block-heading,
.instagram-blog-h2-p{
  font-size:var(--h2-size);
  background:#e5f5f6;
  border-left:6px solid var(--brand);
  border-bottom:1px dashed var(--brand);
  padding:10px 12px;
  margin:18px 0 26px;
  z-index:1;
}

/* H3：下線のストライプ（旧 .instagram-blog-h3-p 相当） */
.post_content h3.wp-block-heading,
.instagram-blog-h3-p{
  font-size:var(--h3-size);
  padding-bottom:12px;
  margin:16px 0 14px;
}
.post_content h3.wp-block-heading::before,
.instagram-blog-h3-p::before{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:100%; height:3px;
  background-image:linear-gradient(-45deg,
    transparent 25%, var(--brand) 25%, var(--brand) 50%,
    transparent 50%, transparent 75%, var(--brand) 75%, var(--brand));
  background-size:6px 6px;
}

/* H4（必要なら軽めに） */
.post_content h4.wp-block-heading{
  font-size:18px;
  margin:14px 0 10px;
  padding-bottom:6px;
  border-bottom:1px solid #e5f5f6;
}

/* 固定ヘッダー分のスクロール補正（RTOCのアンカー用） */
h2[id], h3[id], h4[id]{ scroll-margin-top:80px; }

/* =========================================================
   PARAGRAPH / BOXES
========================================================= */
.instagram-blog-p{padding: 1rem 0px;font-weight: 700;line-height:1.8;text-align:justify}

/* ハイライトボックス（スペルミス互換も吸収） */
.instagram-blog-highlight-box,
.instagram-blog-highdivght-box{
  margin:20px 0;
  padding:18px 20px;
  background:#FFF6DD;
  border:1px solid #F1E4B6;
  border-radius:8px;
  box-shadow:var(--shadow);
}
.instagram-blog-highlight-title-p,
p.instagram-blog-highdivght-title-p{font-weight:700;margin:0 0 .5rem}

.instagram-blog-attention-item{margin:.4rem 0;font-size:1.4rem}

/* 表 */
.instagram-blog-table-container{margin:20px auto}
tr.table-head-row{background-color:aliceblue}

/* =========================================================
   CTA（column.cssテイスト）
========================================================= */
.ig-cta-box{
  background:var(--cta-bg);
  border:1px solid var(--cta-line);
  border-radius:8px;
  padding:2rem 1.5rem;
  margin:56px auto;
  text-align:center;
  max-width:var(--w-article);
}
.ig-cta-title{font-size:1.4rem;font-weight:700;margin:0 0 1rem;color:var(--brand-dark)}
.ig-p{margin:.4rem auto 0;max-width:50ch;line-height:1.6}
.ig-strong .ig-bg-yellow{background:linear-gradient(transparent 60%,#fff2a8 60%)}
.ig-btn{
  display:block;max-width:380px;margin:2rem auto 0;text-align:center;
  border-radius:.5rem;font-size:1rem;font-weight:600;
  box-shadow:0 6.273105621337891px 0 0 #a33650;
  padding:2rem .5rem;background-color:#C0506B;color:#fff;text-decoration:none;
}
@media (min-width:768px){.ig-btn{letter-spacing:.2em}}
.ig-btn .btn_text{position:relative;padding-right:2rem}
.ig-btn .btn_text::after{
  content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
  background-color:#fff;width:7px;height:11px;clip-path:polygon(0 0,0% 100%,100% 50%);
}

/* =========================================================
   RTOC 仕上げ（重複削除済）
========================================================= */
/* 全体ボックス */
#rtoc-mokuji-wrapper{
  background:#e5f5f6;
  border:none;border-radius:8px;
  padding:40px 64px 32px;
}
@media (max-width:1023px){
  #rtoc-mokuji-wrapper{padding:28px 20px 20px}
}

/* タイトル行：左“CONTENTS”、右トグル */
#rtoc-mokuji-title{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 !important;margin-bottom:20px;
}
#rtoc-mokuji-title span{
  font-family:'brandon-grotesque',Arial,sans-serif !important;
  font-size:22px;letter-spacing:.08em;color:#D6A1A1;
}
#rtoc-mokuji-title .rtoc_open_close{
  font-family:'brandon-grotesque',Arial,sans-serif !important;
  font-size:12px;letter-spacing:.02em;color:#D6A1A1;
  background:transparent;border:0;cursor:pointer;padding:0;
}
#rtoc-mokuji-title .rtoc_open_close::before{content:"["}
#rtoc-mokuji-title .rtoc_open_close::after{content:"]"}

/* リスト（番号非表示＋縦ライン） */
#rtoc-mokuji-wrapper .rtoc-mokuji{list-style:none;padding:0;margin:0}
#rtoc-mokuji-wrapper .decimal_ol.level-1>li{
  position:relative;padding-left:28px;margin:18px 0 26px;
}
/* 既定の番号装飾を無効化 */
#rtoc-mokuji-wrapper .decimal_ol.level-1>li::after{content:none !important}
/* 左の細いピンクライン */
#rtoc-mokuji-wrapper .decimal_ol.level-1>li::before{
  content:"";position:absolute;left:10px;top:.25em;width:2px;height:1.2em;
  background:#049fa9;opacity:.9;border-radius:1px;
}

/* アンカーリンクの文字組み */
#rtoc-mokuji-wrapper .rtoc-mokuji li a{
  display:inline-block;color:#1F2C32;text-decoration:none;
  font-size:clamp(15px,1.6vw,20px);letter-spacing:.06em;line-height:1.7;
}
#rtoc-mokuji-wrapper .rtoc-mokuji li a:hover{opacity:.75;text-decoration:none}

/* レベル2（開閉対象） */
#rtoc-mokuji-wrapper .mokuji_ul.level-2{
  display:none;margin:8px 0 6px 0;padding-left:28px;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2>li{
  position:relative;padding-left:14px;margin:10px 0 12px;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2>li::before{
  content:"";position:absolute;left:0;top:.9em;width:6px;height:6px;
  background:#1F2C32;border-radius:50%;opacity:.8;
}
#rtoc-mokuji-wrapper .mokuji_ul.level-2 a{
  font-size:clamp(14px,1.4vw,18px);color:#1F2C32;
}

@media (max-width:767px){
  #rtoc-mokuji-title span{font-size:18px}
  #rtoc-mokuji-wrapper .decimal_ol.level-1>li{margin:14px 0 20px}
}
