/* ===== Hero ptn_b — 数字・実績訴求型（画像あり） ===== */

#lp-hero.lp-hero--ptn-b{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(160deg, #F7FAF8 0%, #EDF5F0 35%, #FAFAF7 100%);
}
#lp-hero.lp-hero--ptn-b::before{
  content:'';position:absolute;top:-150px;right:-100px;
  width:450px;height:450px;border-radius:50%;
  background:radial-gradient(circle, rgba(45,107,79,0.05), transparent 70%);
  pointer-events:none;
}

/* Grid */
#lp-hero .hero-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:48px;align-items:center;
  max-width:var(--max-w);margin:0 auto;
  padding:140px 24px 80px;width:100%;
}

/* Eyecatch */
#lp-hero .hero-eyecatch{
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:11px;font-weight:700;
  letter-spacing:.25em;
  color:var(--color-primary);opacity:.4;
  margin-bottom:24px;text-transform:uppercase;
}

/* Big numbers */
#lp-hero .hero-numbers{
  display:flex;align-items:baseline;gap:24px;
  margin-bottom:28px;
}
#lp-hero .hero-number-item{
  display:flex;align-items:baseline;gap:2px;
}
#lp-hero .hero-number{
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:clamp(2.4rem, 6vw, 3.6rem);
  font-weight:800;
  color:var(--color-primary);
  line-height:1;
}
#lp-hero .hero-number-unit{
  font-size:15px;
  font-weight:600;
  color:var(--color-text-light);
}
#lp-hero .hero-number-divider{
  width:1px;height:40px;
  background:var(--color-border);
  flex-shrink:0;
  align-self:center;
}

/* Title */
#lp-hero .hero-title{
  font-family:'Noto Serif JP', serif;
  font-size:clamp(1.2rem, 3vw, 1.55rem);
  font-weight:600;
  line-height:1.6;
  color:var(--color-text);
  margin-bottom:16px;
  letter-spacing:.02em;
}
#lp-hero .hero-title-accent{
  font-weight:700;
  color:var(--color-primary);
}

/* Desc */
#lp-hero .hero-desc{
  font-size:15px;
  color:var(--color-text-light);
  line-height:1.8;
  margin-bottom:36px;
}

/* CTA */
#lp-hero .hero-cta-group{
  display:flex;align-items:center;gap:24px;
}
#lp-hero .hero-cta-btn{
  display:flex;flex-direction:column;align-items:center;
  background:var(--color-primary);color:#fff;
  padding:18px 44px;border-radius:100px;
  transition:all .3s ease;
  box-shadow:0 4px 24px rgba(45,107,79,0.25);
}
#lp-hero .hero-cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(45,107,79,0.35);
  background:var(--color-primary-dark);
}
#lp-hero .hero-cta-main{font-size:18px;font-weight:700;letter-spacing:.05em}
#lp-hero .hero-cta-sub{font-size:11px;opacity:.8;margin-top:3px}
#lp-hero .hero-cta-link{
  font-size:14px;font-weight:500;
  color:var(--color-text-muted);transition:color .3s;white-space:nowrap;
}
#lp-hero .hero-cta-link:hover{color:var(--color-primary)}

/* Image */
#lp-hero .hero-visual img{
  width:100%;height:auto;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card);
}

@media(max-width:900px){
  #lp-hero.lp-hero--ptn-b{min-height:auto}
  #lp-hero .hero-inner{
    grid-template-columns:1fr;padding:110px 24px 60px;text-align:center;
  }
  #lp-hero .hero-numbers{justify-content:center}
  #lp-hero .hero-visual{max-width:400px;margin:0 auto;order:-1}
  #lp-hero .hero-cta-group{flex-direction:column;gap:14px}
  #lp-hero .hero-cta-btn{width:100%}
}
@media(max-width:600px){
  #lp-hero .hero-number{font-size:37px}
  #lp-hero .hero-title{font-size:19px}
}
