/* ============================================================
   own. v2：トップ以外のページを新しい見た目にそろえる（2026-10-15）
   旧テンプレートのまま、theme.css の部品を上書きする。
   ページごとに作り直したら、そのページの分はここから外していく
   ============================================================ */

/* 色：旧の変数を新しい色に置き換える（これだけで大半がそろう） */
body.o-v2 {
  --ink: #1f2a24; --accent: #3DD68C; --accent-dark: #1a8f58; --accent-light: #f2faf6;
  --surface: #f3f5f4; --muted: #5f6b64; --border: #dfe5e1;
}
body.o-v2 .reveal { opacity: 1 !important; transform: none !important; }

/* 段の左右：トップと同じ1280pxの枠に */
body.o-v2 main:not(.o-main) > section, body.o-v2 main:not(.o-main) > div:not(.o-wrap) {
  padding-left: max(var(--o-side), calc((100vw - var(--o-max)) / 2));
  padding-right: max(var(--o-side), calc((100vw - var(--o-max)) / 2));
}

/* 見出し：英語の小見出しは隠し、日本語の見出しを太く大きく・詰めて組む */
body.o-v2 .section-en, body.o-v2 .page-hero__en, body.o-v2 .cta-banner__eyebrow { display: none; }
body.o-v2 .section-ja {
  font-size: clamp(26px, 3vw, 40px); font-weight: 800; line-height: 1.4; letter-spacing: .01em;
  font-feature-settings: "palt" 1; color: var(--o-ink); text-align: left;
}
body.o-v2 .section-ja::before { content: ""; display: block; width: 32px; height: 3px; background: var(--o-g); margin-bottom: 18px; }
body.o-v2 h2, body.o-v2 h3 { font-feature-settings: "palt" 1; }

/* ページの頭：白地＋薄い格子、黒い面はやめる */
body.o-v2 .page-hero, body.o-v2 .sv-fv, body.o-v2 .shindan-hero {
  background-color: #fff; color: var(--o-ink);
  background-image: linear-gradient(#eef1ef 1px, transparent 1px), linear-gradient(90deg, #eef1ef 1px, transparent 1px);
  background-size: calc(100% / 12) 96px; background-position: 0 -1px;
  padding-top: 88px; padding-bottom: 88px; border-bottom: 1px solid var(--o-line);
}
body.o-v2 .sv-fv::before { color: rgba(31,42,36,.05); }
body.o-v2 .page-hero__breadcrumb, body.o-v2 .sv-fv__breadcrumb, body.o-v2 .page-hero__breadcrumb a, body.o-v2 .sv-fv__breadcrumb a {
  font-family: var(--o-ja); text-transform: none; letter-spacing: .04em; color: var(--o-sub); font-size: 12.5px;
}
body.o-v2 .page-hero__ja, body.o-v2 .sv-fv__title {
  font-size: clamp(30px, 4vw, 56px); font-weight: 800; line-height: 1.3; letter-spacing: .01em;
  font-feature-settings: "palt" 1; color: var(--o-ink); margin-top: 8px;
}
body.o-v2 .sv-fv__eyebrow { display: flex; align-items: center; gap: 12px; color: var(--o-ink); font-family: var(--o-ja); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: none; }
body.o-v2 .sv-fv__eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--o-g); }
body.o-v2 .page-hero__lead, body.o-v2 .sv-fv__sub { color: #3f4a44; font-size: 16.5px; line-height: 1.9; }

/* ボタン：角を立てる。主は緑＋濃い文字 */
body.o-v2 .btn, body.o-v2 .btn-primary, body.o-v2 .btn--primary { border-radius: 2px; }
body.o-v2 .btn--primary, body.o-v2 .btn-primary { background: var(--o-g); color: var(--o-ink); border-color: var(--o-g); }
body.o-v2 .btn--primary:hover, body.o-v2 .btn-primary:hover { background: #2fc47b; color: var(--o-ink); }
body.o-v2 .btn-line { border-radius: 2px; background: #06C755; color: #fff; }

/* カード類：角を立てて、細い線で区切る */
body.o-v2 .price-card, body.o-v2 .service-card, body.o-v2 .sv-related-card, body.o-v2 .trouble-item,
body.o-v2 .reason-item, body.o-v2 .faq-item, body.o-v2 .work-card, body.o-v2 .blog-card, body.o-v2 .post-card,
body.o-v2 .activity-card, body.o-v2 .service-detail-card, body.o-v2 .guide-box, body.o-v2 .process-step,
body.o-v2 .contact-info, body.o-v2 .author-box, body.o-v2 .outcome-row {
  border-radius: 0 !important; box-shadow: none !important;
}
body.o-v2 .price-card { border: 1px solid var(--o-line); }
body.o-v2 .reason-num, body.o-v2 .trouble-num, body.o-v2 .step-num, body.o-v2 .service-num-label {
  font-family: var(--o-num); font-weight: 300; color: var(--o-gd); letter-spacing: 0;
}
body.o-v2 .reason-title, body.o-v2 .step-title, body.o-v2 .service-name { font-weight: 800; font-feature-settings: "palt" 1; }

/* 最後の相談の帯：トップと同じ黒い帯（薄い格子） */
body.o-v2 .cta-banner {
  background-color: var(--o-dark);
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: calc(100% / 12) 25%; padding-top: 120px; padding-bottom: 120px;
}
body.o-v2 .cta-banner::before, body.o-v2 .cta-banner::after { display: none !important; }
body.o-v2 .cta-banner__title {
  font-family: var(--o-ja) !important; font-weight: 800; font-size: clamp(28px, 3.8vw, 52px) !important;
  letter-spacing: .02em; line-height: 1.4; font-feature-settings: "palt" 1; color: #fff; text-transform: none;
}
body.o-v2 .cta-banner__text { color: rgba(255,255,255,.75); }

/* FAQ（旧） */
body.o-v2 .faq-item { border-bottom: 1px solid var(--o-line); background: #fff; }
body.o-v2 .faq-q__text { font-weight: 700; }

/* 旧の英字の飾り（Syne の大きな見出し） */
body.o-v2 .about-concept__title, body.o-v2 .hero-logo-big { font-family: var(--o-ja); }

@media (max-width: 860px) {
  body.o-v2 main:not(.o-main) > section, body.o-v2 main:not(.o-main) > div:not(.o-wrap) { padding-left: 20px; padding-right: 20px; }
  body.o-v2 .page-hero, body.o-v2 .sv-fv, body.o-v2 .shindan-hero { padding-top: 48px; padding-bottom: 48px; background-size: calc(100% / 6) 64px; }
  body.o-v2 .cta-banner { padding-top: 72px; padding-bottom: 72px; }
}
html:has(body.o-v2) { background: #fff; }
body.o-v2 .about-concept { background: var(--o-dark); }
body.o-v2 .about-concept__title { font-family: var(--o-ja); font-weight: 800; font-size: clamp(34px, 4.4vw, 64px); line-height: 1.25; letter-spacing: .01em; font-feature-settings: "palt" 1; }
body.o-v2 .about-concept__title span { color: var(--o-g); }
body.o-v2 .about-concept__en { margin-top: 18px; font-family: 'Syne', var(--o-ja); font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.4); }
body.o-v2 .about-profile__tag, body.o-v2 .contact-info__label, body.o-v2 .activity-card__tag { font-family: var(--o-ja); text-transform: none; letter-spacing: .08em; }

/* サービスページの頭は薄い緑（2026-10-15 黒→薄い緑）：薄い緑＋薄い格子＋黒い文字 */
body.o-v2 .sv-fv {
  background-color: #f2faf6;
  background-image: linear-gradient(rgba(26,143,88,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(26,143,88,.08) 1px, transparent 1px);
}
