/*
 * お話会LP（/ohanashi/）の見た目 — 2026-10-03
 * 🔵 中身はプロラインのお話会LP v5（services/timewaver/ohanashi-kai/ohanashikai_lp_v5.html）の <style> を
 *    `.oh-lp` の中だけに効くよう囲ったもの（渡邊さん「LPは基本そのままでよい」）。値は変えていない。
 * 🔴 HP の規則（緑・赤を使わない等）はこのページには当てていない＝プロラインLPの声のまま置く決定（要件書）。
 * 末尾の「HP に置くための足し算」だけが新しく書いた部分。
 */
.oh-lp *:not(.proline-embed-calendar, .proline-embed-calendar *) { box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; }
  .oh-lp {
    font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans JP', sans-serif !important;
    background: #ffffff !important; color: #1a1a1a !important; font-size: 17px !important; line-height: 1.85 !important;
  }
  .oh-lp .lp-wrap { max-width: 640px !important; margin: 0 auto !important; }

  /* セクション */
  .oh-lp .section { padding: 48px 24px !important; background: #ffffff !important; }
  .oh-lp .section-alt { padding: 48px 24px !important; background: #f4f9fc !important; }
  .oh-lp .section-blue { padding: 48px 24px !important; background: #e8f3f8 !important; }
  .oh-lp .section-cta { padding: 40px 24px !important; background: #e8f3f8 !important; text-align: center !important; }
  .oh-lp .divider { border: none !important; border-top: 1px solid #cde3ef !important; margin: 0 !important; }

  /* タイポグラフィ */
  .oh-lp h2 { font-size: 22px !important; font-weight: bold !important; line-height: 1.55 !important; margin-bottom: 20px !important; letter-spacing: 0.03em !important; }
  .oh-lp h3 { font-size: 17px !important; font-weight: bold !important; margin-bottom: 14px !important; }
  .oh-lp p { margin-bottom: 16px !important; font-size: 17px !important; }
  .oh-lp p:last-child { margin-bottom: 0 !important; }
  .oh-lp .lead { font-size: 18px !important; line-height: 1.9 !important; }
  .oh-lp .small { font-size: 14px !important; color: #888 !important; }
  .oh-lp .center { text-align: center !important; }
  .oh-lp .bold { font-weight: bold !important; }
  .oh-lp .accent { color: #5b9ab5 !important; }

  /* ヒーロー */
  .oh-lp .hero { background: #ffffff !important; padding: 52px 24px 44px !important; text-align: center !important; border-bottom: 1px solid #cde3ef !important; }
  .oh-lp .hero-tag {
    display: inline-block !important; border: 1px solid #5b9ab5 !important; color: #5b9ab5 !important;
    font-size: 12px !important; padding: 4px 16px !important; border-radius: 2px !important; letter-spacing: 0.1em !important; margin-bottom: 22px !important;
  }
  .oh-lp .hero h1 {
    font-size: 22px !important; font-weight: bold !important; line-height: 1.75 !important; margin-bottom: 16px !important; letter-spacing: 0.03em !important;
  }
  .oh-lp .hero .hero-sub {
    font-size: 16px !important; color: #555 !important; line-height: 1.85 !important; margin-bottom: 28px !important;
  }
  .oh-lp .hero-info {
    background: #f4f9fc !important; border-radius: 6px !important; padding: 18px 22px !important; margin-bottom: 26px !important;
    text-align: left !important; font-size: 15px !important; line-height: 1.8 !important;
  }
  .oh-lp .hero-info-accent { color: #5b9ab5 !important; font-weight: bold !important; }

  /* 希少性バッジ */
  .oh-lp .scarcity-badge {
    display: inline-block !important; background: #e85050 !important; color: #fff !important; font-size: 14px !important; font-weight: bold !important;
    padding: 8px 18px !important; border-radius: 4px !important; margin-bottom: 18px !important; letter-spacing: 0.05em !important;
  }

  /* CTAボタン */
  .oh-lp .cta-btn {
    display: block !important; background: #06c755 !important; color: #fff !important; font-size: 18px !important; font-weight: bold !important;
    text-align: center !important; padding: 20px 24px !important; border-radius: 6px !important; text-decoration: none !important;
    margin: 0 auto 12px !important; max-width: 380px !important; letter-spacing: 0.04em !important;
    box-shadow: 0 2px 10px rgba(6,199,85,0.25) !important;
  }
  .oh-lp .cta-note { font-size: 13px !important; color: #888 !important; text-align: center !important; }

  /* 成果カード */
  .oh-lp .result-card {
    background: #ffffff !important; border: 1px solid #cde3ef !important; border-left: 4px solid #5b9ab5 !important;
    border-radius: 8px !important; padding: 22px !important; margin-bottom: 16px !important;
  }
  .oh-lp .result-num { font-size: 24px !important; font-weight: bold !important; color: #5b9ab5 !important; margin-bottom: 6px !important; }
  .oh-lp .result-text { font-size: 16px !important; line-height: 1.7 !important; color: #333 !important; }
  .oh-lp .result-sub { font-size: 13px !important; color: #888 !important; margin-top: 8px !important; }

  /* 特典カード */
  .oh-lp .gift-card {
    background: #ffffff !important; border: 1px solid #cde3ef !important; border-radius: 8px !important;
    padding: 20px !important; margin-bottom: 14px !important;
    display: flex !important; align-items: flex-start !important; gap: 14px !important;
  }
  .oh-lp .gift-num {
    flex-shrink: 0 !important; width: 38px !important; height: 38px !important; background: #5b9ab5 !important; color: #fff !important;
    border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 15px !important; font-weight: bold !important; margin-top: 2px !important;
  }
  .oh-lp .gift-body { flex: 1 !important; }
  .oh-lp .gift-title { font-size: 16px !important; font-weight: bold !important; margin-bottom: 6px !important; color: #1a1a1a !important; line-height: 1.5 !important; }
  .oh-lp .gift-desc { font-size: 14px !important; color: #888 !important; line-height: 1.6 !important; }
  .oh-lp .gift-when {
    display: inline-block !important; font-size: 11px !important; font-weight: bold !important;
    color: #5b9ab5 !important; background: #e8f3f8 !important; border-radius: 2px !important;
    padding: 2px 8px !important; margin-bottom: 6px !important; letter-spacing: 0.05em !important;
  }
  .oh-lp .gift-group-label {
    display: inline-block !important; font-size: 12px !important; font-weight: bold !important;
    color: #5b9ab5 !important; border: 1px solid #5b9ab5 !important; border-radius: 2px !important;
    padding: 4px 12px !important; letter-spacing: 0.08em !important; margin: 22px 0 12px !important;
  }

  /* 共感チェックリスト */
  .oh-lp .empathy-card {
    background: #ffffff !important; border: 1px solid #cde3ef !important; border-left: 3px solid #5b9ab5 !important;
    padding: 16px 20px !important; margin-bottom: 12px !important; font-size: 16px !important; line-height: 1.7 !important; color: #1a1a1a !important;
  }

  /* メリットリスト */
  .oh-lp .merit-item {
    padding: 18px 0 18px 0 !important; border-bottom: 1px solid #d8eef7 !important;
  }
  .oh-lp .merit-item:last-child { border-bottom: none !important; }
  .oh-lp .merit-num { color: #5b9ab5 !important; font-size: 20px !important; font-weight: bold !important; margin-right: 8px !important; }
  .oh-lp .merit-main { font-size: 17px !important; font-weight: bold !important; }
  .oh-lp .merit-sub { font-size: 14px !important; color: #888 !important; margin-top: 4px !important; display: block !important; }

  /* 概要テーブル */
  .oh-lp .info-table { width: 100% !important; border-collapse: collapse !important; }
  .oh-lp .info-table td {
    padding: 14px 0 !important; border-bottom: 1px solid #d8eef7 !important; font-size: 15px !important; vertical-align: top !important;
  }
  .oh-lp .info-label { width: 90px !important; color: #5b9ab5 !important; font-weight: bold !important; font-size: 14px !important; }

  /* 参加者の声 */
  .oh-lp .voice-card {
    background: #ffffff !important; border: 1px solid #cde3ef !important; border-radius: 6px !important;
    padding: 22px !important; margin-bottom: 18px !important;
  }
  .oh-lp .voice-body { font-size: 15px !important; line-height: 1.85 !important; color: #333 !important; margin-bottom: 12px !important; }
  .oh-lp .voice-label { font-size: 13px !important; color: #5b9ab5 !important; font-weight: bold !important; }
  .oh-lp .voice-name { font-size: 13px !important; color: #888 !important; text-align: right !important; }

  /* 講師紹介 */
  .oh-lp .profile-box { text-align: center !important; margin-bottom: 22px !important; }
  .oh-lp .profile-name { font-size: 20px !important; font-weight: bold !important; margin-bottom: 6px !important; }
  .oh-lp .profile-title { font-size: 14px !important; color: #5b9ab5 !important; margin-bottom: 18px !important; }
  .oh-lp .profile-story { font-size: 15px !important; line-height: 1.9 !important; color: #333 !important; }

  /* おすすめリスト */
  .oh-lp .rec-item { padding: 12px 0 !important; font-size: 16px !important; line-height: 1.7 !important; }
  .oh-lp .rec-yes { color: #5b9ab5 !important; font-weight: bold !important; margin-right: 6px !important; }
  .oh-lp .rec-no { color: #b5764a !important; font-weight: bold !important; margin-right: 6px !important; }

  /* FAQ */
  .oh-lp .faq-item { margin-bottom: 20px !important; }
  .oh-lp .faq-q { font-size: 16px !important; font-weight: bold !important; color: #5b9ab5 !important; margin-bottom: 8px !important; }
  .oh-lp .faq-a { font-size: 15px !important; line-height: 1.8 !important; color: #333 !important; padding-left: 0 !important; }

  /* ハイライトボックス */
  .oh-lp .highlight-box {
    background: #e8f3f8 !important; border-radius: 6px !important; padding: 22px !important; margin: 22px 0 !important;
    font-size: 17px !important; line-height: 1.9 !important; text-align: center !important;
  }

  /* コントラストボックス */
  .oh-lp .contrast-box {
    background: #fff !important; border: 2px solid #5b9ab5 !important; border-radius: 8px !important;
    padding: 22px !important; margin: 22px 0 !important; text-align: center !important;
  }
  /* 打ち消し価格用。v5（2026-08-17）で不使用にした（価格対比をやめたため）。復活させる時のために残す */
  .oh-lp .contrast-original { font-size: 17px !important; color: #888 !important; text-decoration: line-through !important; margin-bottom: 6px !important; }
  /* v5 追加: 打ち消さない導入文（「〜を、2,200円で」と読ませる）。取り消し線を付けないこと */
  .oh-lp .contrast-lead { font-size: 17px !important; color: #888 !important; margin-bottom: 6px !important; line-height: 1.7 !important; }
  .oh-lp .contrast-offer { font-size: 26px !important; font-weight: bold !important; color: #5b9ab5 !important; margin-bottom: 6px !important; }
  .oh-lp .contrast-plus { font-size: 15px !important; color: #333 !important; }

  /* =====================================================
     アニメーション（スマホ視認性向上・JS不使用）
     v4.1 追加: 2026-06-06
     - CTA脈動 / スクロール連動フェードアップ / ヒーローのロード時フェードイン
     - スクロール連動は animation-timeline: view() を使用。未対応ブラウザは通常表示（@supportsでフォールバック）
     - prefers-reduced-motion で自動オフ
     ===================================================== */

  /* CTAボタンの脈動（常時・指の誘導）
     ※ @keyframes 内には !important を付けない（仕様上アニメが無効化されるため） */
  @keyframes ctaPulse {
    0%   { transform: scale(1);    box-shadow: 0 2px 10px rgba(6,199,85,0.25); }
    50%  { transform: scale(1.03); box-shadow: 0 6px 20px rgba(6,199,85,0.45); }
    100% { transform: scale(1);    box-shadow: 0 2px 10px rgba(6,199,85,0.25); }
  }
  .oh-lp .cta-btn { animation: ctaPulse 2.2s ease-in-out infinite !important; box-shadow: 0 2px 10px rgba(6,199,85,0.25); }

  /* ファーストビュー（ヒーロー）のロード時フェードイン */
  @keyframes heroIn {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .oh-lp .hero { animation: heroIn 0.9s ease-out both !important; }

  /* スクロール連動フェードアップ（対応ブラウザのみ・未対応は通常表示） */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @supports (animation-timeline: view()) {
    .oh-lp .section, .oh-lp .section-alt, .oh-lp .section-blue, .oh-lp .section-cta, .oh-lp .result-card, .oh-lp .gift-card, .oh-lp .voice-card, .oh-lp .empathy-card, .oh-lp .merit-item {
      animation: fadeUp 0.7s ease-out both !important;
      animation-timeline: view() !important;
      animation-range: entry 0% cover 22% !important;
    }
  }

  /* アクセシビリティ: 視差軽減設定の人はアニメ無効 */
  @media (prefers-reduced-motion: reduce) {
    .oh-lp .cta-btn, .oh-lp .hero, .oh-lp .section, .oh-lp .section-alt, .oh-lp .section-blue, .oh-lp .section-cta, .oh-lp .result-card, .oh-lp .gift-card, .oh-lp .voice-card, .oh-lp .empathy-card, .oh-lp .merit-item {
      animation: none !important;
    }
  }

/* ===== HP に置くための足し算（2026-10-03） ===== */
/* テンプレート「LP」の main の余白を消す（v5 は自分で余白を持つ） */
.artv-lp { padding: 0 !important; margin: 0 !important; }
.artv-lp > .entry-content, .artv-lp .wp-block-post-content { margin: 0 !important; max-width: none !important; }
.oh-lp { font-size: 17px !important; line-height: 1.85 !important; color: #1a1a1a !important; }
.oh-lp a { text-decoration: none !important; }
.oh-lp img { max-width: 100% !important; }

/* 日程ボタン（ページ内のカレンダーへ）＝ LINE の緑と分ける（押してもLINEは開かない） */
.oh-lp .cta-btn--nittei { background: #5b9ab5 !important; box-shadow: 0 2px 10px rgba(91,154,181,0.3) !important; animation-name: ctaPulseBlue !important; }
@keyframes ctaPulseBlue {
  0%   { transform: scale(1);    box-shadow: 0 2px 10px rgba(91,154,181,0.3); }
  50%  { transform: scale(1.03); box-shadow: 0 6px 20px rgba(91,154,181,0.5); }
  100% { transform: scale(1);    box-shadow: 0 2px 10px rgba(91,154,181,0.3); }
}
/* LINE は最後に1つだけ・控えめに（まだ予約しない人向け） */
.oh-lp .cta-btn--line { animation: none !important; font-size: 16px !important; padding: 14px 20px !important; max-width: 340px !important; margin-top: 22px !important; }

/* 予約カレンダー（プロラインの埋め込み） */
.oh-lp .oh-nittei { margin-top: 28px !important; scroll-margin-top: 90px !important; }
.oh-lp .oh-nittei-title { font-size: 17px !important; font-weight: bold !important; color: #5b9ab5 !important; text-align: center !important; margin-bottom: 14px !important; }
.oh-lp .proline-embed-calendar { min-height: 80px !important; }
.oh-lp .oh-nittei-note { font-size: 13px !important; color: #888 !important; text-align: center !important; margin-top: 12px !important; line-height: 1.7 !important; }
@media (prefers-reduced-motion: reduce) { .oh-lp .cta-btn--nittei { animation: none !important; } }
/* プロラインの日程カードは左に20pxずらす指定（.margin-left-20）を持つ＝スマホで右に寄って見える。中央に戻す */
.oh-lp .proline-embed-calendar .margin-left-20 { margin-left: 0 !important; }
