.fast-toc{
  border:1px solid #ddd;
  margin:1.5em 0;
  font-size:14px;
  position:relative;
}

/* ヘッダーを中央寄せ */
.fast-toc-header{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:1.0em .8em .8em;
  border-bottom:0;
}

/* 見出し文字 */
.fast-toc-title{
  font-weight:700;
  font-size:16px;
}

/* ▼ ここ重要：bodyはheightアニメにする */
.fast-toc-body{
  position:relative;
  overflow:hidden;
  height: 0;                 /* JSで制御（プレビュー高さ or 展開高さ） */
  transition: height .25s ease;
  padding: .7em .8em .9em;   /* 常に付ける（ガタつき防止） */
  background: transparent;
}

/* 閉じてる時だけ “下にフェード” を重ねる */
.fast-toc:not(.is-open) .fast-toc-body::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:70px;
  pointer-events:none;
  background: linear-gradient(to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,1)
  );
}

/* ▼ ボタン：下中央に “もっと見る” を置く */
.fast-toc-toggle{
  appearance:none;
  border:1px solid #cfcfcf;
  background:#fff;
  color:#333;
  border-radius:999px;
  padding:.45em 1.2em;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.08);

  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:10px;
  z-index:2;
}

/* 開いてる時はボタン */
.fast-toc.is-open .fast-toc-toggle{
  bottom:0px;
}
