
:root {
  --theme-green: #0b3a24;
  --theme-primary: #0b3a24;
  --theme-accent: #c05621;
  --theme-result-bg: #f4f9f4;
  --theme-result-border: #d8ebd8;
  --theme-light-bg: #f4f9f4;
}

@charset "UTF-8";

/* ==========================================================================
   オンワードマネジメント 福祉専用カラー テーマ CSS (welfare-theme.css)
   深緑(#0b3a24)・グリーン(#166534)・アンバー(#d97706) パレット定義
   ========================================================================== */

/* 本文テキスト基本色 */
.service-wrap p {
  color: #1e293b;
}

/* 1. ヒーローエリア（白文字を絶滅保護） */
.service-hero {
  background-color: #0b3a24 !important;
  background-image: linear-gradient(to right, #0b3a24 0%, #0b3a24 42%, rgba(11, 58, 36, 0.95) 52%, rgba(11, 58, 36, 0) 70%), url('../images/corporate/welfare.jpg') !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(11, 58, 36, 0.1) !important;
}

.service-hero-tag {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

.service-hero-title {
  color: #ffffff !important;
}

.service-hero-sub,
.service-hero-sub p,
.service-hero p {
  color: #ffffff !important;
}

.service-hero-btn {
  background: #d97706 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
}

.service-hero-btn:hover {
  background: #b45309 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
}

/* トップページ専用2カラムヒーロー */
.top-hero {
  background-color: #f0fdf4 !important;
  border-color: #c8dad0 !important;
}

.top-hero-content .service-hero-title {
  color: #0b3a24 !important;
}

.top-hero-content .service-hero-sub,
.top-hero-content .service-hero-sub p {
  color: #1e293b !important;
}

/* 2. セクションタイトル */
.service-section-title {
  color: #0b3a24 !important;
}

.service-section-title::after { display: none !important; }

.service-section-sub {
  color: #475569 !important;
}

/* 3. お悩みカード（チェックボックス背景白・文字と枠線を深緑に） */
.service-worry-intro {
  color: #1e293b !important;
}

.service-worry-card {
  background: #ffffff !important;
  border-color: #c8dad0 !important;
  border-left-color: #0b3a24 !important;
}

.service-worry-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05) !important;
}

.service-worry-card .check-icon {
  background: #ffffff !important;
  border-color: #0b3a24 !important;
  color: #0b3a24 !important;
}

.service-worry-card p {
  color: #1e293b !important;
}

/* 4. 選ばれる理由 */
.service-strength-item {
  background: #ffffff !important;
  border-color: #c8dad0 !important;
  border-left-color: #0b3a24 !important;
}

.service-strength-item:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
}

.service-strength-num {
  color: #0b3a24 !important;
}

.service-strength-content h4 {
  color: #0b3a24 !important;
}

.service-strength-content p {
  color: #1e293b !important;
}

/* 5. 解決事例 */
.service-case-card {
  background: #ffffff !important;
  border-color: #c8dad0 !important;
}

.service-case-badge {
  background: #0b3a24 !important;
  color: #ffffff !important;
}

.service-case-sub {
  color: #475569 !important;
}

.service-case-title {
  color: #0b3a24 !important;
}

.service-case-problem {
  background: #e6f4ea !important;
  border-color: #c8dad0 !important;
}

.service-case-problem h5 {
  color: #1e293b !important;
  border-bottom-color: #9cbca8 !important;
}

.service-case-problem p {
  color: #1e293b !important;
}

.service-case-result {
  background: #f0fdf4 !important;
  border-color: #c8dad0 !important;
}

.service-case-result h5 {
  color: #166534 !important;
  border-bottom-color: #166534 !important;
}

.service-case-result-highlight {
  color: #0b3a24 !important;
}

.service-case-result li {
  color: #1e293b !important;
}

/* 6. 資料DL・逆引きナビカード */
.service-brochure-section {
  background: #f0fdf4 !important;
  border-color: #c8dad0 !important;
}

.service-brochure-card {
  background: #ffffff !important;
  border-color: #c8dad0 !important;
}

.service-brochure-tag {
  color: #0b3a24 !important;
  background: #f0fdf4 !important;
}

.service-brochure-card h4 {
  color: #0b3a24 !important;
}

.service-brochure-desc {
  color: #475569 !important;
}

.service-pdf-btn {
  background: #0b3a24 !important;
  color: #ffffff !important;
}

.service-pdf-btn:hover {
  background: #166534 !important;
}

/* 比較テーブル */
.service-table th {
  background: #0b3a24 !important;
  color: #ffffff !important;
  border-color: #166534 !important;
}

.service-table td {
  border-color: #c8dad0 !important;
  background: #ffffff !important;
}

/* 7. タイムライン */
.service-timeline-heading {
  color: #0b3a24 !important;
}

.service-timeline-step {
  background: #0b3a24 !important;
  color: #ffffff !important;
}

.service-timeline-card {
  background: #ffffff !important;
  border-color: #c8dad0 !important;
}

.service-timeline-card h4 {
  color: #0b3a24 !important;
}

.service-timeline-card p {
  color: #1e293b !important;
}

/* タイムライン OPTION ステップ */
.service-timeline-item--option .service-timeline-step,
.service-timeline-step.service-timeline-step--option {
  background: #166534 !important;
  color: #ffffff !important;
}

.service-timeline-item--option .service-timeline-card {
  background: #f4f8f5 !important;
  border-color: #c8dad0 !important;
}

.service-timeline-item--option .service-timeline-card h4 {
  color: #166534 !important;
}

/* 8. CTA (コンバージョンブロック) */
.service-cta-block,
.conversion-cta-block,
.content-wrap .service-cta-block,
.content-wrap .conversion-cta-block {
  background: linear-gradient(135deg, #0b3a24 0%, #166534 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.service-cta-block h3,
.conversion-cta-block h3,
.content-wrap .service-cta-block h3,
.content-wrap .conversion-cta-block h3 {
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.service-cta-block h3 span,
.conversion-cta-block h3 span,
.content-wrap .service-cta-block h3 span,
.content-wrap .conversion-cta-block h3 span {
  color: #ffea76 !important;
}

.service-cta-desc,
.service-cta-desc p,
.cta-desc,
.cta-desc p,
.content-wrap .service-cta-block .service-cta-desc p,
.content-wrap .conversion-cta-block .cta-desc p {
  color: #ffffff !important;
}

/* フォームボタン（オレンジ） */
.service-cta-btn-form,
.btn-cta.btn-form,
.service-cta-block .service-cta-btn-form,
.conversion-cta-block .btn-form {
  background: #ec6941 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(236, 105, 65, 0.35) !important;
  padding: 14px 28px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  min-width: 280px !important;
  min-height: 70px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  border: none !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  .service-cta-btn-form,
  .btn-cta.btn-form,
  .service-cta-block .service-cta-btn-form,
  .conversion-cta-block .btn-form {
    width: 100% !important;
    min-width: auto !important;
    min-height: 60px !important;
    padding: 10px 20px !important;
  }
}

.service-cta-btn-form:hover,
.btn-cta.btn-form:hover,
.service-cta-block .service-cta-btn-form:hover,
.conversion-cta-block .btn-form:hover {
  background: #f08260 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(236, 105, 65, 0.5) !important;
}

.service-cta-btn-form::after,
.btn-cta.btn-form::after,
.service-cta-block .service-cta-btn-form::after,
.conversion-cta-block .btn-form::after {
  content: '›' !important;
  font-size: 1.4rem !important;
  margin-left: 8px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* 電話ボタン（白背景・緑文字） */
.service-cta-btn-phone,
.btn-cta.btn-phone,
.service-cta-block .service-cta-btn-phone,
.conversion-cta-block .btn-phone {
  background: #ffffff !important;
  color: #0b3a24 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;
  padding: 10px 30px !important;
  min-width: 280px !important;
  min-height: 70px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  .service-cta-btn-phone,
  .btn-cta.btn-phone,
  .service-cta-block .service-cta-btn-phone,
  .conversion-cta-block .btn-phone {
    width: 100% !important;
    min-width: auto !important;
    min-height: 60px !important;
    padding: 10px 20px !important;
  }
}

.service-cta-btn-phone:hover,
.btn-cta.btn-phone:hover,
.service-cta-block .service-cta-btn-phone:hover,
.conversion-cta-block .btn-phone:hover {
  background: #f2f6fa !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.service-cta-btn-phone .tel-num,
.btn-cta.btn-phone .tel-num,
.service-cta-block .service-cta-btn-phone .tel-num,
.conversion-cta-block .btn-phone .tel-num {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  color: #0b3a24 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.service-cta-btn-phone .tel-num::before,
.btn-cta.btn-phone .tel-num::before,
.service-cta-block .service-cta-btn-phone .tel-num::before,
.conversion-cta-block .btn-phone .tel-num::before {
  content: '📞' !important;
  font-size: 1.15rem !important;
  margin-right: 8px !important;
}

.service-cta-btn-phone .tel-hours,
.btn-cta.btn-phone .tel-hours,
.service-cta-block .service-cta-btn-phone .tel-hours,
.conversion-cta-block .btn-phone .tel-hours {
  font-size: 0.75rem !important;
  color: #666666 !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
}

.service-cta-note,
.cta-note,
.service-cta-block .service-cta-note,
.conversion-cta-block .cta-note,
.service-cta-block p.service-cta-note,
.conversion-cta-block p.cta-note,
.content-wrap .service-cta-block .service-cta-note,
.content-wrap .conversion-cta-block .cta-note {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.82rem !important;
  margin-top: 25px !important;
  text-align: center !important;
}


/* CTAボタンの高さ完全統一（2行テキスト対応） */
.service-cta-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.service-cta-btn-form,
.btn-cta.btn-form,
.service-cta-block .service-cta-btn-form,
.conversion-cta-block .btn-form {
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  text-align: center !important;
  padding: 10px 24px !important;
  min-height: 72px !important;
  height: 72px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.service-cta-btn-phone,
.btn-cta.btn-phone,
.service-cta-block .service-cta-btn-phone,
.conversion-cta-block .btn-phone {
  padding: 8px 24px !important;
  min-height: 72px !important;
  height: 72px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  .service-cta-btn-form,
  .btn-cta.btn-form,
  .service-cta-block .service-cta-btn-form,
  .conversion-cta-block .btn-form,
  .service-cta-btn-phone,
  .btn-cta.btn-phone,
  .service-cta-block .service-cta-btn-phone,
  .conversion-cta-block .btn-phone {
    width: 100% !important;
    min-height: 60px !important;
    height: auto !important;
    padding: 12px 20px !important;
  }
}


/* ==========================================================================
   セクション見出し(H3)の完全クリーンアップ（下線・下部バー一切なし）
   ========================================================================== */
.service-section-title,

.service-section-title-unused {
  text-align: center !important;
  font-size: 2.0rem !important;
  font-family: "Reimin Medium", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  color: var(--theme-primary, #004da0) !important;
  margin: 90px 0 25px !important;
  position: static !important;
  padding-bottom: 0 !important;
  line-height: 1.4 !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.service-section-title::after,
.content-wrap > h3::after,
body main section.contents div.inner div.content-wrap h3::after {
  display: none !important;
  content: none !important;
}

@media screen and (max-width: 767px) {
  .service-section-title,
  
  .service-section-title-unused {
    font-size: 1.4rem !important;
    margin: 60px 0 20px !important;
    padding-bottom: 0 !important;
  }
}


/* ==========================================================================
   ヒーローエリア見出しの完全保護・定義
   ========================================================================== */
/* サービス詳細ページ用ヒーロー（背景画像・暗色グラデーション内） */
.service-hero .service-hero-title,
.service-hero-inner h3,
.service-hero-inner .service-hero-title {
  text-align: left !important;
  font-size: 2.1rem !important;
  line-height: 1.45 !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: "Reimin Medium", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  border: none !important;
  background: transparent !important;
}

.service-hero .service-hero-title::after,
.service-hero-inner h3::after {
  display: none !important;
}

/* トップページ専用2カラムヒーロー (.top-hero) */
.top-hero-content .service-hero-title,
.top-hero-content h3 {
  text-align: left !important;
  font-size: 2.0rem !important;
  line-height: 1.45 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  color: var(--theme-primary, #004da0) !important;
  font-family: "Reimin Medium", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  border: none !important;
  background: transparent !important;
}

.top-hero-content .service-hero-title::after,
.top-hero-content h3::after {
  display: none !important;
}

/* ==========================================================================
   本文セクション見出し (.service-section-title) のみ
   ========================================================================== */
.service-section-title {
  text-align: center !important;
  font-size: 2.0rem !important;
  font-family: "Reimin Medium", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  color: var(--theme-primary, #004da0) !important;
  margin: 90px 0 25px !important;
  position: static !important;
  padding-bottom: 0 !important;
  line-height: 1.4 !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.service-section-title::after {
  display: none !important;
  content: none !important;
}

@media screen and (max-width: 767px) {
  .service-hero .service-hero-title,
  .service-hero-inner h3,
  .service-hero-inner .service-hero-title {
    font-size: 1.5rem !important;
    margin: 0 0 16px 0 !important;
  }

  .top-hero-content .service-hero-title,
  .top-hero-content h3 {
    font-size: 1.45rem !important;
    margin: 0 0 14px 0 !important;
  }

  .service-section-title {
    font-size: 1.4rem !important;
    margin: 60px 0 20px !important;
    padding-bottom: 0 !important;
  }
}
