/* =========================================
   Cheer Ridge base.css
   shibajimu の日本語タイポグラフィに寄せたベース設定
   ========================================= */

/* 1. フォント・カラーのトークン
   ----------------------------------------- */

:root {
  /* 日本語サンセリフ（ナビ・ボタン用） */
  --font-sans-jp: "Yu Gothic Medium", "Yu Gothic",
                  "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
                  "Noto Sans JP", "Meiryo",
                  system-ui, -apple-system, BlinkMacSystemFont,
                  "Segoe UI", sans-serif;

  /* 日本語セリフ（本文・見出しのベース） */
  --font-serif-jp: "Yu Mincho", "游明朝",
                   "Hiragino Mincho ProN", "Hiragino Mincho Pro",
                   "Noto Serif JP", "BIZ UDMincho",
                   "MS PMincho", serif;

  /* 英文サンセリフ（サブ用・英字メニューなど） */
  --font-en-sans: "Helvetica Neue", Arial,
                  "Yu Gothic Medium", "Yu Gothic",
                  "Hiragino Kaku Gothic ProN",
                  system-ui, -apple-system, BlinkMacSystemFont,
                  "Segoe UI", sans-serif;

  /* ベースカラー（shibajimu に近い落ち着いたトーン） */
  --color-bg: #ffffff;
  --color-text-main: #222222;
  --color-text-muted: #666666;
  --color-heading: #111111;
  --color-accent: #c6a273;
}

/* 2. 全体のベース設定
   ----------------------------------------- */

html {
  font-size: 16px; /* 16px を 1rem の基準に */
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-bg);
  color: var(--color-text-main);
  font-family: var(--font-serif-jp);        /* shibajimu 風に明朝ベース */
  font-size: 1rem;
  line-height: 1.9;                         /* ゆったりめの行間 */
  letter-spacing: 0.04em;                   /* 日本語らしい少しの字間 */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* aタグの基本 */

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: var(--color-accent);
}

/* 3. 見出し（h1〜h6 ＋ Nectarblocks の heading クラス）
   ----------------------------------------- */

h1, h2, h3, h4, h5, h6,
.nectar-font-h1,
.nectar-font-h2,
.nectar-font-h3,
.nectar-font-h4,
.nectar-font-h5,
.nectar-font-h6 {
  margin: 0 0 0.75em;
  font-family: var(--font-serif-jp);
  font-weight: 500;
  color: var(--color-heading);
  letter-spacing: 0.08em;  /* shibajimu のように見出しは少し広め */
}

/* ざっくりスケール（必要に応じて rem 調整してください） */

h1, .nectar-font-h1 {
  font-size: clamp(2.4rem, 2.0rem + 0.8vw, 3.0rem);
  line-height: 1.4;
}

h2, .nectar-font-h2 {
  font-size: clamp(2.0rem, 1.7rem + 0.6vw, 2.4rem);
  line-height: 1.5;
}

h3, .nectar-font-h3 {
  font-size: 1.8rem;
  line-height: 1.6;
}

h4, .nectar-font-h4 {
  font-size: 1.5rem;
  line-height: 1.6;
}

h5, .nectar-font-h5 {
  font-size: 1.3rem;
  line-height: 1.7;
}

h6, .nectar-font-h6 {
  font-size: 1.1rem;
  line-height: 1.7;
}

/* 4. 本文・リスト・細かいテキスト
   ----------------------------------------- */

p {
  margin: 0 0 1.4em;
  font-size: 0.97rem;
  color:  var(--color-text-main);
  font-family: var(--font-serif-jp);
}

ul, ol {
  margin: 0 0 1.4em 1.5em;
  padding: 0;
  font-size: 0.97rem;
}

li + li {
  margin-top: 0.25em;
}

small, .text-small {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

span,strong {
  font-family: var(--font-serif-jp);
}

/* リード文（TOP ヒーローなど） */

.lead,
.nectar-font-lead,
.nectar-blocks-text.nectar-font-h2 + .nectar-blocks-text {
  font-size: 1.05rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.text-lineh3,
span.word {
    line-height: 1.3em;
}
span.nectar-blocks-tabs__nav__link__title {
    font-size: 2em;
}
span.nectar-blocks-button__text {
    font-size: 1.6em;
    line-height: 1.4em;
}
.nectar-blocks-column .nectar-blocks-text {
    line-height: 1.2em;
}
.shadow339 {
    text-shadow: 3px 3px 9px rgba(0, 0, 0, .5), -3px 3px 9px rgba(0, 0, 0, .5), 3px -3px 9px rgba(0, 0, 0, .5), -3px -3px 9px rgba(0, 0, 0, .5);
}
/* Tabsナビの見出しフォントをベースと揃える */
.nectar-blocks-tabs__nav__link,
.nectar-blocks-tabs__nav__link__title {
  font-family: var(--font-serif-jp);
  font-weight: bold;
}
/* Reveal ボタンのアフター装飾を消す */
.nectar-blocks-button--Reveal .nectar-blocks-button__text__inner::after {
    content: none !important;
}
.cr-support-item__desc {
    color: #095c19 !important;
}
strong:hover {
    color: black;
}


/* 5. ナビゲーション・ボタン（サンセリフでキリッと）
   ----------------------------------------- */

.site-header,
.site-header a,
.main-navigation,
.main-navigation a,
.menu a,
.nectar-blocks-button__inner,
.nectar-blocks-button__text,
.nectar-blocks-tabs__nav__link {
  font-family: var(--font-sans-jp);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.12em;  /* shibajimu 的にナビは字間広め */
}

/* ホバー時の色（既存の hover を邪魔しない範囲で） */

.nectar-blocks-button__inner:hover .nectar-blocks-button__text {
  color: #ffffff;
}

/* =========================================
   Cheer Ridge フッターブロック：必要な箇所だけ明朝体
   （about / 他ページのレイアウトに影響しないよう、block ID で限定）
   ========================================= */

#block-V47cLYY9tL,  /* Built with Nectarblocks 見出し */
#block-FkxhbXNSoF,  /* 説明文（チアリッジは〜） */
#block-ftMNeVg0p7 .nectar-blocks-button__text,  /* 資料請求ボタン */

#block-CWrAChVdDi,  /* Menu 見出し */
#block-5pAhbEUsSq .nectar-blocks-button__text,  /* 会社案内 */
#block-KFtISW50S9 .nectar-blocks-button__text,  /* 現状診断〜 */
#block-ZVnNlz6VtW .nectar-blocks-button__text,  /* 研修・啓発〜 */
#block-beCRfj31AM .nectar-blocks-button__text,  /* データ・レポート〜 */
#block-TN11vkOvPy .nectar-blocks-button__text,  /* 社員個別の相談対応 */

#block-OzrUpyA75F,  /* Social 見出し */
#block-IVjhHTJ85x .nectar-blocks-button__text   /* X リンク */
{
  font-family:
    "游明朝", "Yu Mincho",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "MS PMincho",
    "Noto Serif JP",
    serif !important;
}


/* 6. Nectarblocks 固有の調整
   ----------------------------------------- */

/* has-clip-background で文字が薄く見えるのを防ぐ */
.nectar-blocks-text.has-clip-background {
  -webkit-text-fill-color: currentColor;
  background: none;
  -webkit-background-clip: initial;
}

/* HERO 部の大きな見出しが日本語で崩れないように */
.nectar-blocks-text.nectar-font-h1,
.nectar-blocks-text.nectar-font-h2 {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* ================================
   Cheer Ridge 支援メニュー一覧
   ================================ */

.cr-support-block {
  margin-block: 3rem;
}
/* レイアウト：カード型２カラム（スマホは１カラム） */
.cr-support-list {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem 2.4rem;
}
@media (min-width: 768px) {
  .cr-support-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* 各項目のカード */
.cr-support-item {
  list-style: none;
  background-color: #f5f7f6;
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.04);
}
/* タイトル（左側の太字部分） */
.cr-support-item__term {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #214035; /* Cheer Ridge の深いグリーンを想定 */
}
/* 説明文 */
.cr-support-item__desc {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.8;
}
/* 文字間と行間を少し広めに */
.cr-support-item__desc,
.cr-support-item__term {
  letter-spacing: 0.02em;
}


/* 7. レスポンシブ（スマホ時は字間を少しだけ詰める）
   ----------------------------------------- */

@media (max-width: 767px) {
  body {
    font-size: 0.95rem;
    letter-spacing: 0.03em;
  }

  h1, .nectar-font-h1 {
    font-size: 2.1rem;
    line-height: 1.45;
  }

  h2, .nectar-font-h2 {
    font-size: 1.8rem;
  }

  .site-header,
  .site-header a,
  .main-navigation a,
  .nectar-blocks-button__text,
  .nectar-blocks-tabs__nav__link {
    letter-spacing: 0.08em;
  }
}

/* =========================================
   Mobile Off-canvas Menu: 明朝体に統一
   対象: .off-canvas-menu-container.mobile-only
   ========================================= */
@media (max-width: 768px) {

  /* コンテナ配下すべてを明朝系に（特に a に強めの指定） */
  .off-canvas-menu-container.mobile-only,
  .off-canvas-menu-container.mobile-only .menu,
  .off-canvas-menu-container.mobile-only .menu li,
  .off-canvas-menu-container.mobile-only .menu a {
    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "游明朝",
      "YuMincho",
      "Noto Serif JP",
      serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.02em;
    line-height: 1.7;
    font-weight: 400;
    text-transform: none !important; /* もし大文字化されていれば解除 */
  }

  /* リンクの視認性（サイズ/余白）を微調整 */
  .off-canvas-menu-container.mobile-only .menu a {
    display: block;
    font-size: 1.06rem;       /* 例: 約17px */
    padding: 12px 18px;       /* タップ領域の確保 */
  }

  /* セカンダリメニューがあれば同様に継承 */
  .off-canvas-menu-container.mobile-only .secondary-header-items,
  .off-canvas-menu-container.mobile-only .secondary-header-items a {
    font-family: inherit !important;
    line-height: 1.7;
  }
}

/* モバイル判定に依らず、万一 .mobile-only が付かないテーマ差分にも対応 */
@media (max-width: 768px) {
  .off-canvas-menu-container .menu a {
    font-family:
      "Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",
      "游明朝","YuMincho","Noto Serif JP",serif !important;
  }
}


/* =========================================
   #block-NyPDO2eGEf / #block-MYdIQGhNpS
   モバイルは 1 カラムへ強制
   （必要なら 1024px 版も下に記載）
   ========================================= */
@media (max-width: 768px) {

  /* Nectar Blocks の行を 1 列グリッドに */
  #block-NyPDO2eGEf .nectar-blocks-row__inner,
  #block-MYdIQGhNpS .nectar-blocks-row__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Nectar Blocks のカラム幅をリセット */
  #block-NyPDO2eGEf .nectar-blocks-column,
  #block-NyPDO2eGEf [class*="nectar-blocks-column"],
  #block-MYdIQGhNpS .nectar-blocks-column,
  #block-MYdIQGhNpS [class*="nectar-blocks-column"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0 !important;
  }

  /* インライン style に幅が入っている場合の上書き */
  #block-NyPDO2eGEf [style*="width"],
  #block-MYdIQGhNpS [style*="width"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* WP標準 Columns も保険で 1 列化 */
  #block-NyPDO2eGEf .wp-block-columns,
  #block-MYdIQGhNpS .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  #block-NyPDO2eGEf .wp-block-columns > .wp-block-column,
  #block-MYdIQGhNpS .wp-block-columns > .wp-block-column {
    width: 100% !important;
    margin: 0 !important;
    flex-basis: 100% !important;
  }
}

/* （タブレットも 1 列にしたい場合はこちらも有効化）
@media (max-width: 1024px) {
  #block-NyPDO2eGEf .nectar-blocks-row__inner,
  #block-MYdIQGhNpS .nectar-blocks-row__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  #block-NyPDO2eGEf .nectar-blocks-column,
  #block-NyPDO2eGEf [class*="nectar-blocks-column"],
  #block-MYdIQGhNpS .nectar-blocks-column,
  #block-MYdIQGhNpS [class*="nectar-blocks-column"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}
*/

/* 8. ほんの少しだけ英字用スタイル（必要なら）
   ----------------------------------------- */

.en-label,
.en-heading {
  font-family: var(--font-en-sans);
  letter-spacing: 0.16em;
  font-size: 0.8rem;
}

