/* トップページ：相談内容と人柄を、最初の画面から伝える。 */
.home-hero { background:#fff; padding-block:64px 72px; border-bottom:1px solid var(--c-line); }
.home-hero .hero-inner { max-width:var(--w-container); display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:64px; }
.home-hero .hero-deco { width:540px; top:80px; right:-160px; opacity:.25; }
.hero-copy { position:relative; }
.hero-location { color:var(--c-navy); font-size:13px; margin-bottom:28px; display:flex; flex-wrap:wrap; gap:8px 16px; }
.hero-location span { border-left:1px solid #9baeb3; padding-left:16px; }
.home-hero .hero-title { font-size:clamp(36px,4.1vw,56px); line-height:1.55; letter-spacing:.01em; }
.home-hero .hero-title .phr { display:block; }
.home-hero .hero-title .phr:last-child { display:inline; background:linear-gradient(transparent 78%,#f7df90 78%,#f7df90 93%,transparent 93%); }
.home-hero .hero-lead { font-size:16px; line-height:2; max-width:33em; }
.home-hero .hero-actions { margin-top:28px; gap:12px; }
.hero-note { font-size:12px; margin-top:14px; }
.hero-profile { position:relative; margin:0; padding-top:12px; }
.hero-profile > img { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; object-position:50% 45%; border-radius:100px 12px 12px 12px; }
.hero-profile-copy { padding:24px 0 0 24px; border-left:2px solid var(--c-sky); margin-top:24px; }
.hero-profile .eyebrow { margin-bottom:0; font-size:11px; }
.hero-profile .rep-band-name { margin-top:2px; font-size:25px; }
.hero-profile .rep-band-name span { font-size:11px; }
.hero-profile .rep-band-text { font-size:14px; margin:10px 0 0; }
.hero-profile .card-link { font-size:13px; }
.section-head--center { text-align:left; margin-inline:0; max-width:760px; }
.section-head--center .h2::after { left:0; transform:none; }
.section-head { margin-bottom:32px; }
.eyebrow { font-size:11px; letter-spacing:.2em; margin-bottom:12px; }
.home-services { padding-block:64px 72px; }
.home-services .section-head { display:flex; align-items:baseline; gap:24px; }
.home-services .h2 { font-size:30px; padding-bottom:0; }
.home-services .h2::after { display:none; }
.service-choices { gap:0; border-block:1px solid var(--c-line); }
.service-choices > .svc-card { flex:1 1 0; border:0; border-radius:0; padding:28px 30px; background:transparent; }
.service-choices > .svc-card + .svc-card { border-left:1px solid var(--c-line); }
.service-index { color:var(--c-teal-deep); font-family:var(--ff-serif); font-size:16px; }
.service-choices .service-situation { flex-grow:0; font-size:14px; font-weight:700; line-height:1.6; color:var(--c-navy-ink); }
.service-choices h3 { font-size:20px; line-height:1.5; }
.service-name-break { display:block; }
.service-choices .card-link { display:flex; justify-content:space-between; margin-top:auto; }
.service-choices .card-link::after { content:'↗'; font-size:22px; }
.service-guidance { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; padding-top:20px; font-size:14px; color:var(--c-muted); }
.service-guidance strong { color:var(--c-navy-ink); }
.service-guidance a { color:var(--c-teal-deep); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.stats-strip { background:var(--c-bg-soft); border:0; }
.stat + .stat { border-left:1px solid #cbdce8; }
.stat-num { font-size:36px; }
.home-price { background:var(--c-bg-soft); }
.home-price > .container { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center; }
.home-price .section-head { margin-bottom:0; }
.home-price .price-plan { border:0; border-left:3px solid var(--c-teal-deep); border-radius:0; padding:32px 40px; }
.home-price .price-plan .btn { align-self:flex-start; margin-inline:0 !important; }
.voices { grid-template-columns:repeat(6,1fr); }
.voice { grid-column:span 2; border-radius:0; }
.home-detail-link { margin-top:24px; }
.home-credentials { margin-top:0; padding-bottom:24px; text-align:right; }
.voice-mark { color:#c6e4e4; }
@media (max-width:999px) {
  .home-hero .hero-inner { gap:32px; grid-template-columns:1.1fr 1fr; }
  .home-hero .hero-title { font-size:39px; }
  .service-choices > .svc-card { padding:24px 18px; }
  .service-choices h3 { font-size:18px; }
}
@media (max-width:699px) {
  .home-hero { padding-block:36px 44px; }
  .home-hero .hero-inner { grid-template-columns:1fr; gap:32px; }
  .hero-location { font-size:11px; gap:8px; margin-bottom:22px; }
  .hero-location span { padding-left:8px; }
  .home-hero .hero-title { font-size:clamp(32px,8.9vw,48px); line-height:1.5; }
  .home-hero .hero-lead { font-size:15px; margin-top:20px; }
  .home-hero .hero-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }
  .home-hero .hero-actions .btn { width:100%; }
  .hero-note { text-align:center; font-size:11px; }
  .hero-profile { display:grid; grid-template-columns:112px 1fr; gap:20px; align-items:start; padding-top:0; }
  .hero-profile > img { aspect-ratio:3/4; border-radius:40px 6px 6px 6px; }
  .hero-profile-copy { padding:0; margin:0; border:0; }
  .hero-profile .rep-band-name { font-size:22px; }
  .hero-profile .rep-band-name span { font-size:10px; }
  .hero-profile .rep-band-text { font-size:13px; grid-column:1/-1; }
  .home-services .section-head { display:block; }
  .home-services .h2 { font-size:27px; }
  .service-choices { display:block; }
  .service-choices > .svc-card { padding:24px 0; }
  .service-choices > .svc-card + .svc-card { border-left:0; border-top:1px solid var(--c-line); }
  .service-choices .svc-card { display:grid; grid-template-columns:30px 1fr; gap:8px 12px; }
  .service-choices .svc-card p, .service-choices .svc-card h3, .service-choices .card-link { grid-column:2; }
  .service-choices h3 { font-size:19px; }
  .stats-grid { gap:28px 12px; }
  .stat:nth-child(3) { border-left:0; }
  .stat-num { font-size:30px; }
  .stat-note { font-size:11px; }
  .home-price > .container { grid-template-columns:1fr; gap:28px; }
  .home-price .price-plan { padding:24px; }
  .voices { grid-template-columns:1fr; }
  .voice { grid-column:auto; }
  .step { text-align:left; padding-left:64px; min-height:60px; }
  .step .step-num { position:absolute; left:0; top:0; margin-top:0; }
  .step h3 { margin-top:0; }
}
