/* HolyTech toC LP 追加CSS（2026-10-26）: (B2) FVのLINE CTA常設＋下部追従バー／(B3) Google流入向けブロック
   style.css は画像パス(webp化)以外は変更しない。 */

/* ---- (B2) 下部追従バー: LINE主ボタン＋無料相談（副） ---- */
.ht-fixbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: 6px; height: 60px; padding: 6px 8px; box-sizing: border-box; background: rgba(255, 255, 255, 0.97); box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.14); }
.ht-fixbar a { display: flex; align-items: center; justify-content: center; border-radius: 8px; font-weight: bold; text-decoration: none; line-height: 1.2; text-align: center; }
.ht-fixbar .ht-fixbar-line { flex: 1 1 66%; background: #06c755; color: #fff; font-size: 1.55rem; }
.ht-fixbar .ht-fixbar-line::before { content: ""; width: 2.2rem; height: 2.2rem; background: url(../images/icon_line.png) center center/contain no-repeat; margin-right: 0.6rem; flex: 0 0 auto; }
.ht-fixbar .ht-fixbar-sub { flex: 0 0 31%; background: #fff; border: 2px solid #e1724d; color: #e1724d; font-size: 1.35rem; }
#popup { bottom: 72px !important; }
#footer { padding-bottom: 70px !important; }
@media (min-width: 768px) {
  .ht-fixbar { left: 50%; right: auto; transform: translateX(-50%); width: 600px; bottom: 14px; height: 64px; border-radius: 12px; }
  .ht-fixbar .ht-fixbar-line { font-size: 1.8rem; }
  .ht-fixbar .ht-fixbar-sub { font-size: 1.5rem; }
  #popup { bottom: 92px !important; }
}

/* ---- (B2) FVのLINE CTA（#mvlower 先頭・常設） ---- */
#mvlower .btns li.ht-gift-cta .btn_reg.line .main { color: #fff; }
#mvlower .btns li.ht-gift-cta .btn_reg.line .sub { width: auto; min-width: 11rem; padding: 0 1.4rem; white-space: nowrap; }

/* ---- (B3) Google流入向けブロック（JSが #mvlower 直前に挿入） ---- */
.ht-gblock { background: #fff7f0; border-top: 4px solid #138b67; padding: 3rem 1.6rem; }
.ht-gblock .ht-gblock-inner { max-width: 900px; margin: 0 auto; }
.ht-gblock .ht-gblock-ttl { font-size: 2.4rem; font-weight: bold; color: #138b67; text-align: center; margin: 0 0 1.6rem; line-height: 1.3; }
.ht-gblock .ht-gblock-card { background: #fff; border-radius: 1rem; padding: 1.8rem 2rem; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06); }
.ht-gblock .ht-gblock-card h3 { font-size: 1.6rem; font-weight: bold; color: #fff; background: #138b67; display: inline-block; padding: 0.3rem 1.2rem; border-radius: 2rem; margin: 0 0 1.2rem; }
.ht-gblock .ht-gblock-card ul { list-style: none; margin: 0; padding: 0; }
.ht-gblock .ht-gblock-card li { font-size: 1.5rem; line-height: 1.5; padding: 0.7rem 0; border-bottom: 1px dashed #e8ddd4; color: #222; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; }
.ht-gblock .ht-gblock-card li:last-child { border-bottom: 0; }
.ht-gblock .ht-gblock-label { display: inline-block; min-width: 10em; font-weight: bold; color: #138b67; }
.ht-gblock .ht-gblock-price strong { font-size: 2.2rem; color: #d90034; font-weight: bold; }
.ht-gblock .ht-gblock-small { font-size: 1.15rem; color: #666; font-weight: normal; }
.ht-gblock .ht-gblock-ctas { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.2rem; margin-top: 1.8rem; }
.ht-gblock .ht-gblock-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 6.4rem; border-radius: 0.8rem; font-size: 1.7rem; font-weight: bold; text-decoration: none; text-align: center; line-height: 1.25; padding: 0.8rem 1rem; transition: opacity 0.2s; box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25); }
.ht-gblock .ht-gblock-btn:hover { opacity: 0.85; }
.ht-gblock .ht-gblock-btn .ht-gblock-small { display: block; margin-top: 0.3rem; }
.ht-gblock .ht-gblock-main { background: #d90034; color: #fff; }
.ht-gblock .ht-gblock-consult { background: #e1724d; color: #fff; }
.ht-gblock .ht-gblock-consult .ht-gblock-small { color: rgba(255, 255, 255, 0.9); }
.ht-gblock .ht-gblock-line { background: #06c755; color: #fff; }
.ht-gblock .ht-gblock-tel { grid-column: 1 / -1; text-align: center; font-size: 1.4rem; color: #138b67; font-weight: bold; text-decoration: underline; padding: 0.4rem 0; }
@media (max-width: 767px) {
  .ht-gblock { padding: 2.4rem 1.4rem; }
  .ht-gblock .ht-gblock-ttl { font-size: 2rem; }
  .ht-gblock .ht-gblock-card { padding: 1.4rem 1.4rem; }
  .ht-gblock .ht-gblock-card li { font-size: 1.35rem; }
  .ht-gblock .ht-gblock-label { flex-basis: 100%; min-width: 0; }
  .ht-gblock .ht-gblock-price strong { font-size: 2rem; }
  .ht-gblock .ht-gblock-ctas { grid-template-columns: 1fr; gap: 1rem; }
  .ht-gblock .ht-gblock-btn { min-height: 5.6rem; font-size: 1.6rem; }
}
