/* 既存のPageBase部品を使い、追加内容だけを整える。 */
.hero h1 { max-width:760px; margin-top:4.5vw; font-size:clamp(48px,5.8vw,88px); line-height:1.08; }
.hero-bottom { display:block; max-width:650px; margin-top:3.2vw; }
.hero-copy { max-width:570px; }
.hero-copy > p:last-child { margin:12px 0 0; }
.hero-promise { border:0; padding:0; font-size:15px !important; font-weight:500; line-height:1.8 !important; letter-spacing:-.03em; }
.hero-price-timeline { display:flex; align-items:center; gap:10px; max-width:650px; margin-top:28px; }
.hero-price-card { flex:1; min-width:0; padding:17px 18px 15px; text-align:center; }
.hero-price-card--first { background:var(--cream); }
.hero-price-card--renewal { background:#eaf4ff; }
.hero-price-card__label { display:inline-block; margin:0 0 12px; padding:3px 15px; border-radius:999px; background:var(--blue); color:white; font-size:11px; font-weight:700; line-height:1.3; }
.hero-price-card--first .hero-price-card__label { background:var(--ink); color:var(--paper); }
.hero-card-rate { display:flex; align-items:baseline; justify-content:center; gap:4px; margin:0; color:var(--ink); }
.hero-card-rate small { font-size:12px; font-weight:700; }
.hero-card-rate strong { color:var(--blue); font-size:clamp(40px,4.8vw,64px); font-weight:800; line-height:.95; letter-spacing:-.09em; }
.hero-price-card--first .hero-card-rate strong { color:var(--ink); }
.hero-card-rate span { font-size:14px; font-weight:700; }
.hero-price-card__note { margin:8px 0 0; font-size:10px; line-height:1.55; }
.hero-price-arrow { flex:0 0 auto; color:var(--blue); font-size:32px; font-weight:800; line-height:1; }
.hero-actions { margin-top:16px; }
.hero-actions .button { min-width:196px; justify-content:space-between; }
.button--outline { background:transparent; border:1px solid var(--blue); color:var(--blue); }

.our-story { background:var(--paper); }
.our-story .statement-grid { align-items:start; }
.our-story h2 { margin:0; }
.our-story .statement-grid > div:last-child p { color:var(--ink); font-size:15px; line-height:2; margin:0 0 25px; }
.our-story-credit { margin:42px 0 0; font:500 11px "DM Mono",monospace; letter-spacing:.04em; color:var(--blue); }

.business-use { background:var(--blue); color:var(--paper); }
.business-use .section-number { color:#c2d6ff; }
.business-use__heading { display:grid; grid-template-columns:1.25fr .55fr; gap:9vw; align-items:end; margin-top:65px; }
.business-use__heading h2 { margin:0; font-size:clamp(35px,4.5vw,68px); line-height:1.25; letter-spacing:-.065em; }
.business-use__heading h2 em { color:#d4e2ff; }
.business-use__heading > p { margin:0; color:#dce7ff; font-size:14px; line-height:1.95; }
.business-use__list { display:grid; grid-template-columns:repeat(4,1fr); margin-top:72px; border-top:1px solid rgba(255,255,255,.36); }
.business-use__list article { padding:23px 24px 4px 0; margin-right:24px; border-right:1px solid rgba(255,255,255,.36); }
.business-use__list article:last-child { border:0; }
.business-use__list span { color:#c2d6ff; font:500 11px "DM Mono",monospace; }
.business-use__list h3 { margin:50px 0 18px; font-size:22px; letter-spacing:-.05em; }
.business-use__list p { margin:0; color:#dce7ff; font-size:13px; line-height:1.8; }

.pricing-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pricing-cards .price-card { min-height:100%; }
.price-card--first { background:var(--ink); }
.price-card--first .button { background:white; color:var(--blue); }
.price-card--renewal { background:var(--blue); color:var(--paper); }
.price-card--renewal .button { background:white; color:var(--blue); }
.price-card--renewal .campaign { color:#dce7ff; }
.price-card--renewal .tax-note { color:#c1c1bc; }
.faq details p + p { margin-top:12px; }
.pricing-flow { grid-column:1 / -1; display:flex; align-items:center; gap:14px; margin:0 0 5px; font:500 11px "DM Mono",monospace; color:var(--ink); }
.pricing-flow__label { margin:0 8px 0 0; color:var(--blue); }
.pricing-flow span { white-space:nowrap; }
.pricing-flow i { display:block; height:1px; flex:1; background:var(--line); position:relative; }
.pricing-flow i::after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-top:1px solid var(--ink); border-right:1px solid var(--ink); transform:rotate(45deg); }
.pricing-terms-note { grid-column:1 / -1; margin:2px 0 8px; font-size:11px; line-height:1.75; color:#5d5c57; }
.mail-option { padding:28px; border:1px solid var(--line); background:var(--paper); }
.pricing-cards .mail-option { grid-column:1 / -1; }
.mail-option .campaign { margin:0; }
.mail-option__lead { margin:28px 0 0; font-size:12px; color:var(--blue); }
.mail-option h3 { margin:10px 0 20px; font-size:22px; letter-spacing:-.05em; }
.mail-option__price { font-size:19px; font-weight:700; letter-spacing:-.04em; }
.mail-option > p:last-child { margin:20px 0 0; font-size:13px; line-height:1.9; }
.mail-option__note { margin:16px 0 0 !important; font-size:11px !important; line-height:1.7 !important; color:#5d5c57; }

.motion-option { margin-top:96px; }
.motion-option__status { display:inline-block; margin:22px 0 -20px; padding:9px 12px; border:1px solid var(--blue); color:var(--blue); font-size:12px; font-weight:700; line-height:1.6; }
.motion-option > h2 { font-size:clamp(35px,4.5vw,68px); line-height:1.25; letter-spacing:-.065em; margin:55px 0 0; }
.motion-option__lead { font-size:14px; line-height:1.8; margin:25px 0 42px; }
.motion-option__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.motion-option__grid article { padding:28px; border:1px solid var(--line); background:var(--paper); }
.motion-option__grid h3 { margin:34px 0 22px; font-size:20px; letter-spacing:-.05em; }
.motion-option__grid article > p:not(.scope-kicker) { font-size:13px; line-height:1.8; margin:0 0 12px; }
.motion-option__grid article > p:last-child { color:#5d5c57; }
.motion-option__featured { border-color:var(--blue) !important; }
.motion-option__note { margin:18px 0 0; font-size:11px; color:#5d5c57; }
.showroom-callout { margin-top:32px; padding:32px; background:var(--ink); color:var(--paper); }
.showroom-callout h3 { margin:0; font-size:23px; letter-spacing:-.05em; }
.showroom-callout p { margin:16px 0 25px; font-size:14px; line-height:1.8; color:#d6d5d0; }

@media (max-width:700px) {
  .hero h1 { margin-top:10vw; font-size:clamp(43px,12vw,64px); }
  .hero-bottom { margin-top:42vw; max-width:none; }
  .hero-copy { max-width:none; }
  .hero-promise { font-size:14px !important; }
  .hero-price-timeline { margin-top:24px; gap:0; }
  .hero-price-card { padding:14px 8px 12px; }
  .hero-price-card__label { margin-bottom:10px; padding:3px 9px; font-size:10px; }
  .hero-card-rate { gap:2px; }
  .hero-card-rate strong { font-size:clamp(34px,10vw,46px); }
  .hero-card-rate small,.hero-card-rate span { font-size:10px; }
  .hero-price-card__note { font-size:8px; }
  .hero-price-arrow { margin:0 2px; font-size:23px; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
  .hero-actions .button { min-width:0; padding:13px 11px; font-size:12px; }
  .our-story .statement-grid > div:last-child { margin-top:42px; }
  .business-use__heading { display:block; margin-top:42px; }
  .business-use__heading > p { margin-top:26px; }
  .business-use__list { grid-template-columns:1fr 1fr; margin-top:45px; }
  .business-use__list article { margin-right:15px; padding-right:15px; }
  .business-use__list article:nth-child(2) { border-right:0; }
  .business-use__list h3 { margin-top:34px; }
  .pricing-cards,.motion-option__grid { display:block; }
  .pricing-flow { display:flex; margin:0 0 24px; }
  .pricing-cards .mail-option { margin-top:12px; }
  .pricing-terms-note { margin:18px 0 22px; }
  .mail-option,.motion-option__grid article { margin-top:12px; }
  .motion-option { margin-top:72px; }
  .motion-option__status { margin-top:18px; }
  .showroom-callout { padding:26px; }
}
