:root{
  --ink:#1F2C32;
  --brand:#D6A1A1;
  --brand-dark:#C0506B;
  --muted:#AFB0B5;
  --cta-bg:#fff;
  --cta-line:#C0506B;
  --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:#F9F2F2}
.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:#F9F2F2;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: #F9F2F2;            /* やわらかいピンク */
  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; }
}
.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: #F9F2F2;            /* やわらかいピンク */
  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; }
}
