@charset "UTF-8";
/* =========================================================
   2026-10-16 追加分（既存の style.css / hero.css は無変更）
   ・ヒーローCTA 2つ並び
   ・ヒーロー直下の概要帯
   ・CTA帯のサブボタン
   ・料金の支払い注記 / 店舗情報のリンク / フッターの運営会社
   ・機器説明の補足（出典・方式）
   ・スマホ追従CTA
========================================================= */

/* ---------- HERO CTA ---------- */
.hero-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 14px;
  margin-top:20px;
}
.hero-cta .hero-btn{ margin-top:0; }
.hero-btn-sub{
  display:inline-block;
  padding:13px 24px;
  background:rgba(255,255,255,.85);
  color:#3f97a3;
  border:1px solid #50b0be;
  border-radius:999px;
  font-size:14px;
  text-decoration:none;
  transition:.35s cubic-bezier(.22,.61,.36,1);
}
.hero-btn-sub:hover{ background:#fff; transform:translateY(-2px); }

/* ---------- SUMMARY BAND ---------- */
.summary-band{
  position:relative;
  z-index:3;
  max-width:1100px;
  margin:-48px auto 0;
  padding:0 20px;
}
.summary-list{
  margin:0;
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(78,166,166,.10);
  padding:24px 32px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:14px 0;
}
.summary-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:0 26px;
  border-left:1px solid #e6e1db;
}
.summary-item:first-child{ border-left:none; }
.summary-item dt{
  font-size:12px;
  letter-spacing:.1em;
  color:#777;
}
.summary-item dd{
  margin:0;
  font-size:18px;
  font-weight:500;
  color:#1f1f1f;
  text-align:center;
  line-height:1.4;
}
.summary-item dd strong{
  font-size:28px;
  font-weight:500;
  color:#50b0be;
}
.summary-item dd span{
  display:block;
  font-size:12px;
  font-weight:400;
  color:#777;
}
@media (max-width:768px){
  .summary-band{ margin-top:20px; padding:0 16px; }
  .summary-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px 10px;
    padding:18px 16px;
  }
  .summary-item{
    align-items:flex-start;
    padding:0;
    border-left:none;
  }
  .summary-item dd{ font-size:16px; text-align:left; }
  .summary-item dd strong{ font-size:24px; }
  .summary-item-wide{
    grid-column:1 / -1;
    border-top:1px solid #eee;
    padding-top:12px;
  }
}

/* ---------- MACHINE 補足 ---------- */
.machine-copy-source{
  display:inline-block;
  margin-top:6px;
  font-size:11px;
  line-height:1.6;
  color:#888;
}
.machine-copy-method{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.8;
  color:#555;
}

/* ---------- CTA帯 ---------- */
.final-cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 16px;
}
.final-cta-sub-btn{
  display:inline-block;
  padding:15px 30px;
  background:#fff;
  color:#3f97a3;
  border:1px solid #50b0be;
  border-radius:999px;
  font-size:14px;
  text-decoration:none;
  transition:.4s cubic-bezier(.22,.61,.36,1);
}
.final-cta-sub-btn:hover{ transform:translateY(-3px); }

/* ---------- 料金・店舗・フッター ---------- */
.price-pay-note{
  margin:10px 0 0 !important;
  font-size:13px !important;
  color:#555 !important;
}
.store-link{
  color:#3f97a3;
  text-decoration:underline;
  text-underline-offset:3px;
}
.footer-company{
  margin:0 0 8px;
  line-height:1.8;
}
.footer-company a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- top page: 詳しく見る ---------- */
.machine-more{
  text-align:center;
  margin:36px 0 0;
}
.machine-more a{
  display:inline-block;
  padding:14px 30px;
  border:1px solid #50b0be;
  border-radius:999px;
  color:#3f97a3;
  background:#fff;
  font-size:14px;
  text-decoration:none;
  transition:.3s ease;
}
.machine-more a:hover{ background:#50b0be; color:#fff; }

/* ---------- SP 追従CTA ---------- */
.sp-sticky-cta{ display:none; }
@media (max-width:768px){
  .sp-sticky-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:90;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    padding:10px 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
    background:rgba(255,255,255,.96);
    border-top:1px solid rgba(81,177,191,.15);
    box-shadow:0 -8px 24px rgba(0,0,0,.06);
    transform:translateY(110%);
    transition:transform .35s ease;
  }
  .sp-sticky-cta.is-visible{ transform:translateY(0); }
  .sp-sticky-cta a{
    display:flex;
    align-items:center;
    justify-content:center;
    height:48px;
    border-radius:999px;
    font-size:14px;
    font-weight:500;
    text-decoration:none;
  }
  .sp-sticky-reserve{ background:#50b0be; color:#fff; }
  .sp-sticky-line{ background:#fff; color:#3f97a3; border:1px solid #50b0be; }
  body{ padding-bottom:76px; }
  body.menu-open .sp-sticky-cta{ display:none; }
}

/* 2026-10-29 追加：料金欄から使い放題プランページへ */
.price-mem-link{
  margin:14px 0 0 !important;
  font-size:14px !important;
}
.price-mem-link a{ color:#3f97a3; text-decoration:underline; text-underline-offset:3px; }
