@charset "UTF-8";
/* ==========================================================
   飛騨ほおのき平スキー場 — enjoy.css（楽しみ方ページ固有）
   2026-09-03 D-1 グループA ラウンド2：反証検証（デザイン／事実）の指摘を反映。

   土台は css/components.css（.cx-）。このファイルは「まだ .cx- に無い型」と
   「.cx- の配置差分」だけを持つ。接頭辞は .ej-。

   ラウンド5（D-1 crit3 グループA の指摘を反映）:
   A03 ウォッシュ地の注記が 3.24:1（mid） → .ej-pagenote を #484e52 へ（実測 4.67〜8.44:1）
   A04 FOR FAMILY 全幅ベタ帯（mid）       → カンプ「キッズ・家族向け情報」と同型の .ej-family へ
   A08 .cx-btn--white が SP 43.8px（low） → .ej-actgrid / .ej-family__actions で 44px を上書き
   （A01 語中改行・A06 ヒーロー写真は HTML 側で対応）

   ラウンド4（再検証で残っていた実測ズレだけを追補）:
   A12 SP の対ボタンが 154/152 に割れる → .ej-sch__actions を等幅グリッドへ（実測 153/153）
   ・SP の .ej-index__text 13px → 14px（メイン判断5「SP 本文の下限 14px」）

   ラウンド3で直した点（指摘 → 対応）:
   A1  ウォッシュの継ぎ目（high） → ページ側の個別配置を撤去し .cx-wash（縦リピート）へ統一
   A2  空の箇条書き（high）       → 難易度3カードは「原稿待ち1行」に畳む・min-height 撤去
   A3  ゼロ埋めの偽数値（high）   → アクティビティ4枚のメタ・料金組みを撤去し原稿待ち1行に
   A4  青ブロック右下の空き（low）→ A3 でメタ／ピル列ごと無くなり解消
   A5  帯テキストの可読性（low）  → object-position 18% ＋ 文字帯を #165ce2 相当まで沈める
   A6  写真の断りが無い（low）    → CTA 直前に .cx-note を1本（ページ内1回）
   A9  帯が中央寄せ・空箱（mid）  → 見出しを左端 x=84 へ・padding を内容なりに詰める
   A12 ボタン3段6個（mid）        → 各カード内に等幅2本（205.5px）／中段の申込ペアを撤去

   ラウンド2で直した点（指摘 → 対応）:
   1. 背景が真っ白（high）      → 空写真タイルを敷く（ラウンド3で .cx-wash に統一）
   2. SCHOOL が .cx-panel（high）→ カンプ hour_pc 実在の SCHOOL カードを再現（.ej-sch）
   3. 料金の白カード（high）    → 廃止。カンプどおり青ベタに .cx-pill 直置き＋Bebas 35 の値
   4. lvcard が痩せている（mid）→ カンプ slop_pc COURSE GUIDE と同じ 見出し＋説明2行＋中黒4行、
                                  ブロック高さ 305.6px を下限に
   5. 3段階の青の意味が反転（mid）→ 初級／中級／上級 の難易度スケールに戻し、
                                  ファミリーは全幅の青帯（.cx-band）へ移設
   6. 12.6px の Bebas 灰アイブロウ（mid）→ 全廃。INDEX の 01〜04 は Bebas 34.42 青
   7. SP の語中改行・段の高さ不揃い（mid）→ keep-all ＋ <wbr> ＋ grid-auto-rows:1fr
   8. SP で写真カードの融合が消える（mid）→ SP は「写真→青」の順に統一（.cx-actcard と同じ積み方）
   9. SP が同型ユニット7連発（mid）→ 5. の青帯を SKI&SNOWBOARD と SNOW ACTIVITY の間に挟む

   ==== components.css へ昇格候補（他ページでも要る型） ====
   1. .ej-index … 1px青枠 r6 ＋ Bebas 青番号 のページ内インデックス（access / facility でも要る）
   2. .ej-sch   … カンプ hour_pc の SCHOOL カード（中央揃え・白＋1px青枠・青ベタボタン1個）
   3. （保留）青ベタの上の「メタ2行組 ＋ ピル＋Bebas値」… ラウンド3で原稿待ちのため撤去。
        料金・時間の原稿が来たら school-saj の PRICE と共通の型として起こす
   ========================================================== */

/* ==========================================================
   0. ページ背景の淡青ウォッシュ
   ラウンド3（メイン判断 2026-09-03）: 不透明タイルを2枚重ねると上層の白い下端が
   下層のインクを切って全幅の継ぎ目が出る（実測 y=3183/3184 で Δ20）。
   ページ側の個別配置は撤去し、components.css の .cx-wash（ヒーロー直下から縦リピート・
   タイル上下端は白なので継ぎ目なし）を <main class="subpage cx-wash"> で使う。
   ========================================================== */
/* 淡グレー帯（#FAFAFA）はカンプに1つも無い＝ページ背景を透かす */
.subpage .sec--tint { background: transparent; margin-top: 0; padding-bottom: 0; }

/* 確定コピーの語中改行を止める（D-1 A01）。keep-all で和文を1語扱いにし、
   折り返しは本文に置いた <wbr>（文節境界）だけで起こす。PC/SP 共通。 */
.ej-keep { word-break: keep-all; line-break: strict; overflow-wrap: break-word; }

/* ウォッシュ地に載る注記の文字色（AA灰 #6e7375 は白地専用＝ウォッシュ上では 3.24:1） */
:root { --ej-note-onwash: #484e52; }

/* ---- イントロ（ヒーロー直下・中央） ---- */
.ej-intro {
  padding-top: 88px;
  text-align: center;
}
.ej-intro .cx-lead { margin-top: 26px; }

/* ==========================================================
   1. INDEX（ページ内メニュー4項目）
   カンプの語彙: 白 ＋ #165ce2 1px ＋ 角丸6（.cx-panel と同じ境界）
   番号は Bebas 34.42 / -0.015em / #165ce2（カンプ INFORMATION・PAYMENT・KIDS と同スケール）。
   ※ 12.6px の Bebas 灰ラベルはカンプのタイプスケール外なので使わない。
   ========================================================== */
.ej-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.ej-index__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 118px;
  padding: 22px 52px 22px 26px;
  background: #fff;
  border: 1px solid var(--cx-blue);
  border-radius: 6px;
  transition: background 0.35s var(--cx-ease);
}
.ej-index__num {
  display: block;
  font-family: var(--cx-font-en);
  font-feature-settings: normal;
  font-size: 34.42px;
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cx-blue);
}
.ej-index__text {
  display: block;
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: 0.07em;
  color: var(--cx-ink);
  /* 和文の語中改行を止め、<wbr> を入れた位置だけで折り返す */
  word-break: keep-all;
  overflow-wrap: break-word;
}
.ej-index__arrow {
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: var(--cx-blue);
}
.ej-index__arrow svg { width: 18px; height: 18px; }
@media (hover: hover) {
  .ej-index__item:hover { background: #f0f6ff; }
}

/* ==========================================================
   2. SKI & SNOWBOARD
   ========================================================== */
.ej-feature { margin-top: 0; }
.ej-lv { margin-top: 44px; }
/* 原稿が入るまでは内容なりの高さにする（min-height 305.6px は 46px の死に余白になっていた）。
   3枚は grid の stretch で同高に揃う。原稿到着後に spec の 400×305.6 を下限として戻す。 */
/* 原稿待ちの1行（青ベタの上なので灰 .cx-tbd は使わない。白 86% で AA を満たす） */
.ej-tbd { color: rgba(255, 255, 255, 0.86); margin-bottom: 0; }

/* ==========================================================
   3. ファミリー（写真ブリードの青カード）
   ラウンド5（D-1 A04）: 全幅ベタ帯 → カンプ slop_pc「キッズ・家族向け情報」と同型へ。
   カンプの家族情報は 1200px 角丸カード・左が青ベタ・右が写真（青→透明グラデ）で、
   全幅帯（GELANDE OVERVIEW）は素の写真＋白ピルカードという別の型。中身が原稿待ち1行の
   うちは前者に落とす。写真の位置・グラデは apply の .ap-summary と同じ寸法。
   ========================================================== */
.ej-family { min-height: 380px; }
.ej-family .cx-photocard__photo { left: 49%; }
.ej-family .cx-photocard__body { width: 46%; }
/* 白の EN 見出しは components の .cx-bluesec と同じ扱い（青の面の上は白） */
.ej-family__head { margin-bottom: 22px; }
.ej-family .cx-photocard__text { margin-top: 0; }
/* .ej-tbd の白86%（#deebfb）は .cx-lvcard の濃い青（#165ce2 系）向けの濃度。
   photocard の面は --cx-blue-face #1673e2 で明るく、86% だと 3.79:1 ＝ AA を割るため
   このカードだけ純白（4.58:1）に戻す（contrast-check.js --pair 実測）。 */
.ej-family .ej-tbd { color: #fff; }
.ej-family__actions { margin-top: 26px; }
/* 「施設案内を見る」は .cx-btn--white 既定幅 165.3px では折り返す＝この面だけ幅を持たせる */
.ej-family__actions .cx-btn { width: auto; min-width: 210px; margin: 0; padding: 0 48px 0 22px; }

/* ==========================================================
   4. SNOW ACTIVITY（2列）
   .cx-actcard は3列（400px幅）前提。1枚の情報量が多いので2列（615px幅）で組む。
   料金はカンプ hour_pc ACTIVITY と同じ「青ベタに水色ピル直置き ＋ 右に Bebas 35 の値」。
   白カードで包まない（指摘 high：白カードは中身が無い箱に見える）。
   ========================================================== */
.ej-actgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 42px;
  row-gap: 37px;
}
.ej-actgrid .cx-actcard__body {
  /* 原稿待ちで中身が短くなった＝行の高さに合わせて青ベタを伸ばす（下に白地を出さない） */
  flex: 1;
  min-height: 0;
  padding: 26px 28px 96px;
}
.ej-actgrid .cx-actcard { height: 100%; }
.ej-act__catch {
  margin-top: 12px;
  font-size: 17px;
  line-height: 27px;
  letter-spacing: 0.07em;
  color: #fff;
}
.ej-act__desc {
  margin-top: 8px;
  font-size: 15px;
  line-height: 25px;
  letter-spacing: 0.07em;
  color: #fff;
}
/* 料金・所要時間・対象年齢・営業時間は全件原稿待ち。ゼロ埋め（0,000／00:00〜00:00／0歳〜）は
   文法上成立する主張に見えるため出さない（メイン判断 3）。原稿到着後にカンプ hour_pc の
   「●所要時間⏎30分 ＋ 水色ピル＋Bebas35」の組みへ戻す。 */
.ej-act__tbd {
  margin-top: 18px;
  font-size: 15px;
  line-height: 25px;
  letter-spacing: 0.07em;
  color: rgba(255, 255, 255, 0.86);
}
/* 「申込フォーム」は .cx-btn--white の既定幅 165.3px では折り返す＝この面だけ幅を持たせる */
.ej-actgrid .cx-actcard__more { width: 200px; }
/* 原稿・写真の断りはページ内1回だけ（CTA 直前）
   ラウンド5（D-1 A03）: --cx-gray-aa(#6e7375) は「白地で 4.80:1」の色。淡青ウォッシュ地では
   3.24:1 まで落ちる（実測: 背景 #a8dbfa）。ウォッシュ地に載る注記だけ1段濃い #484e52 にする
   （wash_pc/sp タイルの下位0.1%輝度でも 4.67:1・白地 8.44:1／dev/tools/contrast-check.js --pair で実測）。 */
.ej-pagenote { margin-bottom: 34px; color: var(--ej-note-onwash); text-align: center; }

/* ==========================================================
   5. SCHOOL
   カンプ hour_pc に実在するカードの再現（spec 実値）:
     カード 615.4×205.4 / 白 ＋ #165ce2 1px、x=84 と x=740.6（間 41.2px）
     見出し 25.87 / 0.11em / 中央、サブ 15 / 0.07em / #2d2d2d（ピルにしない）
     ボタン 205.5×50 #165ce2 中央、文字「詳しく見る」17 / 0.11em / 白
   青丸アイコンと EN 小ラベルはカンプに無い＝置かない。
   ========================================================== */
.ej-school__lead { margin-bottom: 40px; }
.ej-schgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 41.2px;
}
.ej-sch {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 205.4px;
  padding: 39px 24px 34.7px;
  background: #fff;
  border: 1px solid var(--cx-blue);
  border-radius: 10px;
  text-align: center;
}
.ej-sch__title {
  font-size: 25.87px;
  line-height: 31.5px;
  letter-spacing: 0.11em;
  font-weight: 400;
  color: var(--cx-ink);
}
.ej-sch__sub {
  margin-top: 8.1px;
  font-size: 15px;
  line-height: 18.2px;
  letter-spacing: 0.07em;
  color: var(--cx-ink);
  word-break: keep-all;
  overflow-wrap: break-word;
}
/* 導線はカード内に等幅2本（詳しく見る／申し込む）。カード外に段を積み上げない。
   カンプの小ボタン実値 205.5×50 を2本とも固定＝文字数で幅が変わらない */
.ej-sch__actions { display: flex; justify-content: center; gap: 16px; margin-top: 23.8px; }
.ej-sch__actions .cx-btn { width: 205.5px; margin: 0; }
/* タッチターゲット 44px（メイン判断6）。components の SP 値 43.5px は 0.5px 足りない */
.ej-sch__actions .cx-btn--sm { min-height: 50px; }

/* ==========================================================
   6. SP（〜768px）
   ・写真カードは「写真 → 青」の順に統一（.cx-actcard と同じ積み方）。
     components.css の SP は青→写真の縦積み＋見出し中央なので、ここで打ち消す。
   ・INDEX は2列を保ち、語中改行を止める。
   ========================================================== */
@media (max-width: 768px) {
  .ej-intro { padding-top: 48px; }
  .ej-intro .cx-lead { margin-top: 18px; }

  .ej-index { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; }
  .ej-index__item { min-height: 88px; padding: 14px 34px 14px 16px; }
  .ej-index__num { font-size: 23px; }
  /* SP 本文の下限は 14px（メイン判断5）。INDEX の和文ラベルは項目の本文なので 13→14px */
  .ej-index__text { margin-top: 8px; font-size: 14px; line-height: 1.35; }
  .ej-index__arrow { right: 12px; }
  .ej-index__arrow, .ej-index__arrow svg { width: 15px; height: 15px; }

  .ej-lv { margin-top: 28px; }

  /* 写真ブリードの青カード：SP は写真を上・青を下に積む（融合が効かない縦積みで
     「青と写真が接着された2ブロック」に見えるのを避ける）。見出しも本文と同じ左揃え。 */
  .ej-feature { padding: 0 0 26px; }
  .ej-feature .cx-photocard__photo { order: 0; margin-top: 0; margin-bottom: 20px; }
  .ej-feature .cx-photocard__body { order: 1; }
  .ej-feature .cx-photocard__title { text-align: left; }

  /* ファミリーカード：SP は写真を上・青を下に積む（.ej-feature と同じ扱い） */
  .ej-family { min-height: 0; padding: 0 0 26px; }
  .ej-family .cx-photocard__photo { left: auto; order: 0; margin-top: 0; margin-bottom: 20px; }
  .ej-family .cx-photocard__body { width: auto; order: 1; }
  .ej-family__head { margin-bottom: 16px; }
  .ej-family .cx-photocard__text { font-size: 14px; line-height: 21.75px; }
  .ej-family__actions { margin-top: 20px; }

  .ej-actgrid { grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 20px; }
  .ej-actgrid .cx-actcard__body { padding: 18px 18px 78px; }
  .ej-act__catch { margin-top: 10px; font-size: 15px; line-height: 23.62px; }
  .ej-act__desc { margin-top: 6px; font-size: 14px; line-height: 21.75px; }
  /* SP 本文の下限は 14px（メイン判断 5） */
  .ej-act__tbd { margin-top: 14px; font-size: 14px; line-height: 21.75px; }
  .ej-actgrid .cx-actcard__more { width: 176px; max-width: 176px; }
  /* タッチターゲット 44px（メイン判断6）。components の SP 値 43.8px は 0.2px 足りない（D-1 A08） */
  .ej-actgrid .cx-btn--white,
  .ej-family__actions .cx-btn--white { min-height: 44px; }
  .ej-pagenote { margin-bottom: 24px; }

  .ej-school__lead { margin-bottom: 24px; }
  .ej-schgrid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .ej-sch { min-height: 0; padding: 22px 16px 24px; border-radius: 10px; }
  .ej-sch__title { font-size: 19.25px; line-height: 23.62px; }
  .ej-sch__sub { margin-top: 8px; font-size: 14px; line-height: 21.75px; }
  /* 205.5px 2本は 394px 幅に入らない＝カード内で等分する。
     flex:1 1 0 だと枠ボタン（左右 1px の枠）だけ 2px 太くなり 154/152 に割れるので
     （A12「対のボタンは等幅」）、グリッドの等幅トラックで揃える。 */
  .ej-sch__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 10px; margin-top: 18px; }
  .ej-sch__actions .cx-btn--sm { width: 100%; min-width: 0; max-width: none; min-height: 44px; padding: 0 38px 0 12px; }
}

/* ==========================================================
   【2026-09-04 D-1 担当3】写真ブリード青カード（.cx-photocard）のグラデーション
   カンプ実測に合わせて components.css の ::after を各ページで上書き（components.css は編集不可）。
   ・PC: spec 図形 y3676.4 x120 740.7x340 GRAD LINEAR ang=180 0%:#1673e2@0 -> 36.4%:#1673e2@100
     ＝不透明終端 x591.1／完全透明 x860.7。写真要素の左端は x588 なので、そこからの相対で
     α=1 が 3.1px・α=0 が 272.7px（フェード区間 269.6px）。
     旧値の 45% は要素幅依存で、写真幅 732px のカード＝329px、612px のカード＝275px とページ間でバラついていた。
   ・カーブは直線。spec のストップは 2 点（mid=50）＝線形で、カンプ画像の画素実測（列ごとの
     y方向 std を α=0 帯で正規化した 1-α プロファイル）も x600/620/…/840 で 0.033/0.102/…/0.925 と
     線形式 0.033/0.107/…/0.923 に一致した。よって多段の sin イージングは使わない
     （sin イージングは中間で最大 Δα=0.076 ずれ、雪面では R で約 13 階調の差になる）。
   ・SP: components.css は display:none でハードエッジ。カンプ spec SP は y3813.5 x7 380x91.9 の GRAD 36.4%
     ＝33.4px の縦フェード（画素実測でも純青が y3868 で終わり y3906 で写真100%）。写真上端から 0→33.4px の直線で再現する。
   ※ components.css へ昇格候補。apply.css（apply-*.html 6ページ）と school-saj.css は編集対象外のため未反映。
   ========================================================== */
.cx-photocard__photo::after {
  background: linear-gradient(90deg, rgba(22, 115, 226, 1.000) 3.1px, rgba(22, 115, 226, 0.985) 26.9px, rgba(22, 115, 226, 0.941) 50.6px, rgba(22, 115, 226, 0.861) 77.3px, rgba(22, 115, 226, 0.760) 104.0px, rgba(22, 115, 226, 0.640) 130.8px, rgba(22, 115, 226, 0.530) 151.5px, rgba(22, 115, 226, 0.404) 175.3px, rgba(22, 115, 226, 0.278) 202.0px, rgba(22, 115, 226, 0.166) 228.7px, rgba(22, 115, 226, 0.078) 255.5px, rgba(22, 115, 226, 0.022) 279.2px, rgba(22, 115, 226, 0.000) 300.0px);
}
.cx-photocard--rev .cx-photocard__photo::after {
  background: linear-gradient(270deg, rgba(22, 115, 226, 1.000) 3.1px, rgba(22, 115, 226, 0.985) 26.9px, rgba(22, 115, 226, 0.941) 50.6px, rgba(22, 115, 226, 0.861) 77.3px, rgba(22, 115, 226, 0.760) 104.0px, rgba(22, 115, 226, 0.640) 130.8px, rgba(22, 115, 226, 0.530) 151.5px, rgba(22, 115, 226, 0.404) 175.3px, rgba(22, 115, 226, 0.278) 202.0px, rgba(22, 115, 226, 0.166) 228.7px, rgba(22, 115, 226, 0.078) 255.5px, rgba(22, 115, 226, 0.022) 279.2px, rgba(22, 115, 226, 0.000) 300.0px);
}
@media (max-width: 768px) {
  .cx-photocard__photo::after,
  .cx-photocard--rev .cx-photocard__photo::after {
    display: block;
    background: linear-gradient(180deg, rgba(22, 115, 226, 1.000) 0.0px, rgba(22, 115, 226, 0.985) 3.5px, rgba(22, 115, 226, 0.941) 7.0px, rgba(22, 115, 226, 0.861) 11.0px, rgba(22, 115, 226, 0.760) 15.0px, rgba(22, 115, 226, 0.640) 18.9px, rgba(22, 115, 226, 0.530) 22.0px, rgba(22, 115, 226, 0.404) 25.5px, rgba(22, 115, 226, 0.278) 29.5px, rgba(22, 115, 226, 0.166) 33.4px, rgba(22, 115, 226, 0.078) 37.4px, rgba(22, 115, 226, 0.022) 40.9px, rgba(22, 115, 226, 0.000) 44.0px);
  }
}

/* ==========================================================
   【2026-09-16 打ち合わせ反映】
   ・初級/中級/上級: 文章＋コース一覧（.cx-lvcard__list は共通部品）
   ・ファミリー: ボタン削除・文章のみ
   ・アクティビティ: 現行サイト activity の料金・時間・条件を箇条書きで（.ej-act__meta）
   ========================================================== */
.ej-act__meta {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.05em;
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: break-word;
}
.ej-act__meta li { position: relative; padding-left: 1em; text-indent: 0; }
.ej-act__meta li::before { content: "・"; position: absolute; left: 0; }
.ej-act__meta li + li { margin-top: 4px; }
.ej-actgrid .cx-actcard__body { padding-bottom: 92px; }
.ej-lv .cx-lvcard__list { margin-top: 2px; }
@media (max-width: 768px) {
  .ej-act__meta { font-size: 13px; line-height: 20px; }
  .ej-actgrid .cx-actcard__body { padding-bottom: 84px; }
}

/* 【2026-09-17 修正】スクールカードの見出し「JSBA公認 スノーボードスクー／ル」の語中改行を止める（空白位置でだけ折り返す） */
.ej-sch__title { word-break: keep-all; overflow-wrap: anywhere; }
/* 【2026-09-17 修正】アクティビティの「所要時間」「対象年齢」を先頭に大きく（トップの体験カードと同じ2項目）。詳細の箇条書きは1段大きく */
.ej-act__keys { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 36px; margin: 18px 0 0; padding: 0; }
.ej-act__keys li { display: flex; flex-direction: column; gap: 4px; }
.ej-act__keys span { font-size: 13px; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.85); }
.ej-act__keys span::before { content: "●"; margin-right: 4px; }
.ej-act__keys b { font-weight: 400; font-size: 19px; line-height: 1.3; letter-spacing: 0.05em; color: #fff; }
.ej-act__meta { font-size: 15px; line-height: 24px; }
@media (max-width: 768px) {
  .ej-act__keys { gap: 8px 24px; margin-top: 14px; }
  .ej-act__keys b { font-size: 17px; }
  .ej-act__meta { font-size: 14px; line-height: 22px; }
}

/* 【2026-09-17 深夜3】青帯＋白地化に伴う本文色・余白 */
.ej-actgrid .cx-actcard__body { padding: 0 0 96px; }
.ej-actgrid .cx-actcard__body > :not(.cx-actcard__title):not(.cx-actcard__more) { margin-left: 28px; margin-right: 28px; }
.ej-act__catch, .ej-act__desc, .ej-act__meta { color: var(--cx-ink); }
.ej-act__keys span { color: #5f6761; }
.ej-act__keys b { color: var(--cx-ink); }
@media (max-width: 768px) {
  .ej-actgrid .cx-actcard__body { padding: 0 0 84px; }
  .ej-actgrid .cx-actcard__body > :not(.cx-actcard__title):not(.cx-actcard__more) { margin-left: 18px; margin-right: 18px; }
}
/* 【2026-09-17 深夜3】SCHOOL カードのボタン文言（BRIOサイトへ）を1行に */
.ej-sch__actions .cx-btn { white-space: nowrap; }

/* 【2026-09-18】市岡さん指示: 情報量の多い詳細は「見出しセル＋罫線」の表組みに。所要時間・対象年齢は淡い青のタイルに */
.ej-act__catch { font-size: 18px; letter-spacing: 0.06em; }
.ej-act__keys { gap: 10px; }
.ej-act__keys li { flex: 1 1 210px; gap: 2px; padding: 10px 16px 12px; border-radius: 8px; background: rgba(22, 92, 226, 0.07); }
.ej-act__keys span { color: var(--cx-blue); }
.ej-act__keys b { font-size: 18px; }
.ej-act__spec { margin-top: 18px; margin-bottom: 0; border-top: 1px solid rgba(22, 92, 226, 0.22); }
.ej-act__specrow { display: grid; grid-template-columns: 124px minmax(0, 1fr); border-bottom: 1px solid rgba(22, 92, 226, 0.22); }
.ej-act__specrow dt { display: flex; align-items: center; padding: 10px 12px; background: rgba(22, 92, 226, 0.07); color: var(--cx-blue); font-size: 14px; line-height: 1.5; letter-spacing: 0.06em; }
.ej-act__specrow dd { margin: 0; padding: 10px 14px; font-size: 15px; line-height: 1.75; letter-spacing: 0.04em; color: var(--cx-ink); }
.ej-act__specrow dd a { color: var(--cx-blue); text-decoration: underline; text-underline-offset: 3px; }
html[lang="en"] .ej-act__specrow { grid-template-columns: 138px minmax(0, 1fr); }
@media (max-width: 768px) {
  .ej-act__catch { font-size: 16px; }
  .ej-act__keys li { flex-basis: 100%; padding: 8px 12px 10px; }
  .ej-act__specrow, html[lang="en"] .ej-act__specrow { grid-template-columns: 88px minmax(0, 1fr); }
  .ej-act__specrow dt { padding: 8px 8px; font-size: 12.5px; letter-spacing: 0.02em; }
  .ej-act__specrow dd { padding: 8px 10px; font-size: 14px; line-height: 1.7; }
}

/* 【2026-09-18 打ち合わせ反映】SAJ・JSBA の正式名称の注記（楽しみ方のスクール欄） */
.sc-orgnote { margin-top: 20px; font-size: 13px; line-height: 1.7; letter-spacing: 0.04em; color: var(--color-text); }
@media (max-width: 768px) { .sc-orgnote { margin-top: 16px; font-size: 12px; } }
