/* ===================================================
   誠和企画 アクアマリン版テーマ
   aquamarine #7FFFD4 をベースに据えた配色
   - 主要：ディープティール（読みやすさ確保）
   - アクセント：aquamarine（軽快感）
   - 残し：赤（ロゴ由来）／黒（強調）
   =================================================== */

:root {
  --primary: #047C6F !important;       /* ディープティール（旧 navy 置換） */
  --primary-dark: #023B36 !important;  /* 最暗ティール */
  --accent: #7FFFD4 !important;        /* アクアマリン本体 */
  --bg: #F5FFFB !important;            /* ほぼ白に薄アクア */
  --bg-alt: #E8FFF7 !important;        /* セクション背景：薄アクア */
  --bg-warm: #F0FFF9 !important;
  --bg-section: #E8FFF7 !important;
  --border: #C9F0E1 !important;
  --silver: #B8E0D2 !important;
  --silver-dark: #6FAB9A !important;
  --text: #022E2A !important;
  --text-sub: #033B36 !important;
  --text-muted: #4A6E68 !important;
  --footer-bg: #023B36 !important;
}

/* ==== ヘッダー・帯まわり ==== */
.license-bar {
  background: #022E2A !important;
  border-top: 3px solid #7FFFD4 !important;
  color: #fff;
}
.license-bar-left span,
.license-bar-right {
  color: rgba(255,255,255,0.92) !important;
}
.license-bar-left span:not(:first-child)::before {
  background: #7FFFD4 !important;
}

.header { background: #fff !important; }
.header::after {
  background: linear-gradient(90deg,
    transparent 0%, transparent 30%,
    #C8161D 30%, #C8161D 33%,
    #022E2A 33%, #022E2A 36%,
    #7FFFD4 36%, #7FFFD4 100%
  ) !important;
}

/* ==== HERO ==== */
.hero { background: #023B36 !important; }
.hero-slide::after {
  background: rgba(2,46,42,0.40) !important;
}
.hero-wave svg path { fill: #E8FFF7 !important; }

.hero-quote-panel {
  border-color: #047C6F !important;
}
.qp-badge { background: #7FFFD4 !important; color: #022E2A !important; }
.qp-list li::before { color: #047C6F !important; }
.qp-cta {
  background: #047C6F !important;
}
.qp-cta:hover { background: #023B36 !important; }
.qp-tel { color: #022E2A !important; }

.hero-stat:nth-child(2) .hero-stat-num { color: #7FFFD4 !important; }

/* ==== セクションラベル・タイトル ==== */
.section-label {
  color: #047C6F !important;
}
.section-label::before,
.section-label::after { background: #7FFFD4 !important; }
.section-title::after { background: #7FFFD4 !important; }

/* ==== ボタン ==== */
.btn-primary {
  background: #047C6F !important;
  color: #fff !important;
}
.btn-primary:hover { background: #023B36 !important; }
.btn-ghost {
  border: 2px solid #fff !important;
  color: #022E2A !important;
  background: rgba(127,255,212,0.95) !important;
}
.btn-ghost:hover {
  background: #7FFFD4 !important;
  color: #022E2A !important;
  border-color: #7FFFD4 !important;
}
.header-cta .btn-primary {
  background: #C8161D !important;
  color: #fff !important;
  border-color: #C8161D !important;
}
.header-cta .btn-primary:hover {
  background: #fff !important;
  color: #C8161D !important;
}

/* ==== VALUE / PROPERTY / SERVICE ==== */
.value-card { border-top-color: #7FFFD4 !important; }
.value-card-no { color: #047C6F !important; }
.value-points li::before { color: #7FFFD4 !important; }
.value-data { color: #047C6F !important; }
.value-data { border-top-color: #C9F0E1 !important; }

.pt-card { border-top-color: #7FFFD4 !important; }
.pt-card:hover { border-top-color: #047C6F !important; }
.pt-icon-svg { color: #047C6F; }
.pt-card:hover .pt-icon-svg { color: #7FFFD4; }
.pt-meta { background: #E8FFF7 !important; color: #4A6E68 !important; }
.pt-tags span { color: #047C6F !important; border-color: #B8E0D2 !important; }

.service-stripe { background: #fff !important; }
.service-stripe:hover { background: #F0FFF9 !important; }
.service-stripe-num {
  color: #022E2A !important;
  border-right: 3px solid #7FFFD4 !important;
}
.service-stripe-name { color: #023B36 !important; }
.service-stripe-tag {
  background: #E8FFF7 !important;
  color: #047C6F !important;
}
.service-stripe-points li::before { color: #7FFFD4 !important; }
.service-stripe-link { color: #047C6F !important; }
.service-stripe-link:hover { color: #023B36 !important; }

/* ==== PLAN ==== */
.plan-card { border-top-color: #7FFFD4 !important; }
.plan-card:first-child {
  border-top-color: #C8161D !important;
}
.plan-header {
  background: #023B36 !important;
  background-image: none !important;
}
.plan-card.popular .plan-header { background: #047C6F !important; }
.plan-btn { background: #023B36 !important; }
.plan-card.popular .plan-btn { background: #7FFFD4 !important; color: #022E2A !important; }
.plan-card:first-child .plan-recommend {
  background: #C8161D !important;
}

.plan-table thead th { background: #047C6F !important; }
.plan-table thead th:first-child { background: #023B36 !important; }
.plan-table thead th.popular-col { background: #7FFFD4 !important; color: #022E2A !important; }
.plan-table tbody td.popular-col { background: rgba(127,255,212,0.15) !important; }

/* ==== AREA ==== */
.area-item-name { color: #023B36 !important; }
.area-item { border-color: #C9F0E1 !important; }

/* ==== FLOW ==== */
.flow-card-tile { border-top-color: #7FFFD4 !important; }
.flow-card-tile .fc-step { color: #047C6F !important; }
.flow-card-tile .fc-num { color: #023B36 !important; }
.flow-card-tile::before { background: #7FFFD4 !important; }

.tl-marker { background: #047C6F !important; }
.tl-marker.highlight { background: #7FFFD4 !important; color: #022E2A !important; }

/* ==== COMPANY TRUST ==== */
.section-ocean { background: #E8FFF7 !important; }
.section-ocean::before { background: #E8FFF7 !important; }
.company-card-name { color: #023B36 !important; }
.company-card-label { color: #047C6F !important; }
.company-card-stat-num { color: #047C6F !important; }

/* ==== FAQ ==== */
.section-blue { background: #E8FFF7 !important; }
.faq-q-text { color: #023B36 !important; }
.faq-q-toggle { color: #047C6F !important; }

/* ==== CTA ==== */
.cta-section { background: #023B36 !important; }
.cta-wave svg path { fill: #023B36 !important; }
.cta-tel { color: #fff !important; }

/* ==== Footer ==== */
.footer { background: #023B36 !important; }
.footer::before {
  background: linear-gradient(90deg,
    #C8161D 0%, #C8161D 33%,
    #022E2A 33%, #022E2A 66%,
    #7FFFD4 66%, #7FFFD4 100%
  ) !important;
}

/* ==== BLOG ==== */
.blog-tag { background: #7FFFD4 !important; color: #022E2A !important; }
.blog-title-text { color: #023B36 !important; }

/* ==== Sticky CTA / Mobile ==== */
.refit-sticky-cta { border-top-color: #7FFFD4 !important; }
.fixed-cta-btn.contact { background: #047C6F !important; }
.fixed-cta-btn.reserve { background: #7FFFD4 !important; color: #022E2A !important; }
.fixed-cta-btn.tel { background: #C8161D !important; }

/* ==== モバイルメニュー ==== */
.header-nav.mobile-open::before {
  background: #023B36 url('../img/logo-seiwa.png') no-repeat 18px center / 60px 60px !important;
  border-bottom: 3px solid #7FFFD4 !important;
}
.header-nav.mobile-open .mobile-close-btn { background: #022E2A !important; }
.header-nav.mobile-open .mobile-close-btn:hover { background: #7FFFD4 !important; color: #022E2A !important; }
.header-nav.mobile-open a:hover { background: #F0FFF9 !important; color: #047C6F !important; }

/* ==== ロゴ周辺 ==== */
.header-logo-text { color: #022E2A !important; }
.header-logo-text small { color: #4A6E68 !important; }
.footer-logo-text { color: #fff !important; }
.footer-logo-text small { color: rgba(255,255,255,0.75) !important; }
.footer-logo-icon { background: url('../img/logo-seiwa.png') center/contain no-repeat #fff !important; }

/* ==== チャットボット ==== */
.seiwa-chat-launcher {
  background: #047C6F !important;
  border-color: #7FFFD4 !important;
}
.seiwa-chat-launcher:hover { background: #7FFFD4 !important; color: #022E2A !important; }
.seiwa-chat-header {
  background: #023B36 !important;
  border-bottom-color: #7FFFD4 !important;
}
.seiwa-chat-msg.bot { border-left-color: #7FFFD4 !important; }
.seiwa-chat-msg.user {
  background: #047C6F !important;
  border-right-color: #7FFFD4 !important;
}
.seiwa-chat-option {
  border-color: #C9F0E1 !important;
  color: #047C6F !important;
}
.seiwa-chat-option:hover {
  background: #E8FFF7 !important;
  border-color: #7FFFD4 !important;
}
.seiwa-chat-cta.tel { background: #C8161D !important; border-color: #C8161D !important; }
.seiwa-chat-cta.contact {
  background: #fff !important;
  color: #047C6F !important;
  border-color: #047C6F !important;
}
.seiwa-chat-cta.contact:hover { background: #047C6F !important; color: #fff !important; }

/* === アクア配色 視認性補正（白文字/アイコンが乗る要素は薄いaccent→濃いティールへ） === */
.submit-btn,
.plan-card.popular .plan-btn,
.fixed-cta-btn.contact,
.required,
.route-badge.option { background: var(--primary) !important; color: #fff !important; }
.submit-btn:hover,
.plan-card.popular .plan-btn:hover { background: var(--primary-dark) !important; filter: none !important; }
.plan-card.popular .plan-features li::before { background-color: var(--primary) !important; }

/* === 視認性補正2: accentテキスト→ティール＋ナビ現在ページ下線 === */
.plan-table tbody td.popular-col.has-check,
.plan-table tbody td.popular-col strong,
.option-price,
.plan-detail-info .section-label,
.plan-compare::before,
.faq-a-inner::before { color: var(--primary) !important; }
.plan-card.popular .plan-features li::before { background-color: var(--primary) !important; }
.header-nav a.active { color: var(--primary) !important; font-weight: 700; }
.header-nav a.active::after { width: 100% !important; left: 0 !important; background: var(--primary) !important; }

/* === 固定フッターnav配色 === */
.fixed-cta-btn.fc-nav { background: #047C6F !important; color: #fff !important; }
.fixed-cta-btn.fc-nav:active { background: #023B36 !important; }
.fixed-cta-btn.fc-contact { background: #C8161D !important; color: #fff !important; }

/* === 旧テーマ3色ライン削除（ヘッダー下/フッター上の赤・黒・青帯） === */
.header::after { display: none !important; }
.footer::before { display: none !important; }

/* === 視認性補正3: accent背景バッジ（index No.1 / flow STEP強調）=== */
.plan-table thead th.popular-col::before { background: var(--primary) !important; color:#fff !important; }
.tl-marker.highlight { background: #7FFFD4 !important; color:#022E2A !important; }

/* === 監査対応(Codex) 未定義変数定義/コントラスト/モバイル重なり === */
:root{--primary-50:#E8FFF7!important;--primary-100:#C9F0E1!important;--primary-500:#047C6F!important;--primary-600:#036B60!important;--primary-700:#02574F!important;--primary-800:#023B36!important;--bg-blue:#E8FFF7!important;--text-light:#4A6E68!important;--radius-lg:var(--radius)!important;}
.header-tel-note{color:#4A6E68!important;}
@media(max-width:767px){body{padding-bottom:96px!important;}}

/* === スマホ 日本語改行最適化（長音/小書きの行頭孤立・語分断を抑制）=== */
@media (max-width: 767px) {
  .hero-copy, .page-hero h1, .cta-title, .section-title { line-break: strict; word-break: normal; }
  .page-hero p {
    font-size: clamp(14px, 3.4vw, 15px) !important;
    line-height: 1.8 !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-label, .hero-sub, .section-desc, .section-label, .btn, .fixed-cta-btn,
  .value-title, .service-stripe-name, .plan-name { line-break: strict; }
  .cta-tel, .header-tel-num, .side-tel { white-space: nowrap; }
  .nowrap { white-space: nowrap; }
}
/* 狭幅(〜390px)で固定フッターボタンの文言が2行化しないよう微調整 */
@media (max-width: 390px) {
  .page-hero p { font-size: 12.25px !important; }
  .fixed-cta-btn { font-size: 11px; padding: 12px 4px; letter-spacing: -0.02em; white-space: nowrap; }
}

@media (min-width: 391px) and (max-width: 480px) {
  .page-hero {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (min-width: 391px) and (max-width: 420px) {
  .page-hero p { font-size: 13px !important; }
}

@media (max-width: 767px) {
  .reason-data-box {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 12px !important;
    margin-top: 18px !important;
    background: var(--bg-warm) !important;
  }
  .reason-data-item {
    min-width: 0;
    padding: 10px 6px;
    background: #fff;
    border: 1px solid var(--border);
  }
  .reason-data-item {
    grid-column: 1 / -1 !important;
  }
  .reason-data-num {
    display: flex;
    align-items: baseline;
    justify-content: center;
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 1.2;
    white-space: nowrap;
    letter-spacing: 0;
  }
  .reason-data-num small {
    font-size: .68em;
    margin-left: 1px;
  }
  .reason-data-label {
    margin-top: 4px;
    font-size: 11px !important;
    line-height: 1.45;
    letter-spacing: 0 !important;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

/* ヒーロー右パネル qp-title：「無料査定をお申し込みください」を1行に（「い」孤立解消） */
.hero-quote-panel .qp-title { font-size: 18px !important; white-space: nowrap; }
