#follow-buttons {
  position: fixed;
  bottom: 20px;
  left: 0;
  width: 100%;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* 表示制御 */
#follow-buttons.show {
  opacity: 1;
  pointer-events: auto;
}

/* ボタンを囲む本体（相対位置にする） */
.follow-buttons-inner {
  position: relative;
  display: flex;
  width: 100%;
  padding: 10px 0; /* ボタン自体の上下padding */
  box-sizing: border-box;
}

/* 背景レイヤー（上下に20pxずつ追加） */
/* .follow-buttons-bg {
  position: absolute;
  top: -20px;
  left: 0;
  width: 100%;
  height: calc(100% + 40px); /* 上下20px追加＝合計40px拡張
  background: rgba(0, 0, 0, 0.6);
  z-index: -1; /* 背景に回す
  pointer-events: none;
} */

/* spacerは 1/15 = 約6.6666% */
.spacer {
  width: 6.6666%;
}

/* 各ボタンは  = 40% */
.follow-buttons-inner a {
  width: 40%;
  display: block;
  text-align: center;
  padding: 12px 0;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  color: #fff;
  border-radius: 80px;
  box-sizing: border-box;
}

/* ▼ スマホ対応（幅768px以下） */
@media screen and (max-width: 768px) {
  .follow-buttons-inner {
    padding: 8px 10px;
    justify-content: center;
  }

  .follow-buttons-inner a {
    width: 48%; /* gapを含めて全体で100%以内におさまるよう縮小 */
    font-size: 15px;
    padding: 12px 0;
    border-radius: 60px;
  }

  .spacer {
    /* display: none; */
    width: 1.3333%;
    display: block; /* 明示的に表示 */
  }
}

a.consult {
  background-color: #f74a4a;
}

a.line-follow-buttons {
  background-color: #62d847;
}

/* 通常時のページトップボタン */
.p-fixBtnWrap {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  transition: bottom 0.3s ease;
}

/* 追従ボタンが表示されているときは、ページトップボタンを上にずらす */
body.follow-buttons-visible .p-fixBtnWrap {
  bottom: 90px !important;
}