/* ============================================================
   morinaga.site 共通スタイル（site.css）
   全ページ共通のデザイントークン（:root）を集約＝色・フォント・余白スケールの単一正本。
   ここを1回直せば全ページに反映（トークンのドリフト防止）。
   余白は8ptグリッド（--s-* / .25/.5/.75/1/1.25/1.5/2/2.5/3/3.5/4rem）。
   各ページ固有のCSSは従来どおり各HTMLの <style> に残す（カスケード順は不変）。
   ============================================================ */
:root{
  /* ---- 配色の正本（規約名・2026-07-26 追加）--------------------------------
     ここが色の唯一の定義元。以下の旧名（--ink/--accent/--brass ...）は
     互換のためのエイリアスで、値を持たせない（＝二重管理を作らない）。
     規約名にしたのは palette_gate.py / web_exit_gate.sh が primary を検出できず、
     自社サイトだけが配色ゲートの検査対象外になっていたため。色を変える時はここだけ直す。
     ------------------------------------------------------------------------ */
  /* B案（墨緑 × 朱）＝2026-07-26 社長決定。§4.5.0 の導出手順で確定。
     導出根拠＝ホテル業界DXベンチ3件の実測分布（tripla 339°／aipass 212°／手間いらず 197°）
     の空白帯（緑 150°）＋事業実体「ホテル側に立つ伴走者」＋宮崎の照葉樹。
     旧＝濃紺 #0a2540 × 金 #8e6708 は palette_gate P1（禁止例示値）＋P3（dental-aoba と近似）で NG。
     朱 #c2360b は /web/ と同値＝全社アクセントへ昇格（トップと /web/ の不一致を同時解消）。*/
  --color-primary:#1c402e;         /* メイン（墨緑 150°・白文字 11.5:1）*/
  --color-primary-deep:#12291d;
  --color-accent:#c2360b;          /* アクセント（朱 17°）*/
  --color-accent-strong:#c2360b;   /* 白文字を載せてよい面（対白 5.4:1）*/
  --color-bg:#ffffff;              /* 地色（白・playbook 原則1）*/
  --color-text:#1a1a1a;
  --on-accent:#ffffff;             /* アクセント面（朱ボタン等）に載せる文字色 */

  /* ---- 旧名エイリアス（既存ページの var() 参照 約1,000 箇所を維持）--------
     ※ --brass / --cta-gold は旧称。値は金でなく朱。参照は順次 --color-accent へ寄せる。 */
  --bg:var(--color-bg);
  --bg-2:#f4f6f4;            /* second surface（淡い緑みグレー）*/
  --card:#ffffff;
  --card-line:#dfe4e0;       /* 中立の淡罫 */
  --ink:var(--color-primary);
  --ink-2:#35473c;           /* 墨緑の2次（対白 9.9:1）*/
  --muted:#59635c;           /* 補助文字（対白 6.3:1）*/
  --text:var(--color-text);
  --accent:var(--color-primary);
  --accent-deep:var(--color-primary-deep);
  --brass:var(--color-accent);
  --brass-2:var(--color-accent);
  --brass-light:#ff8a63;     /* 濃色面（墨緑）に載せる朱の明色＝対 --color-primary 5.0:1。白地には使わない（2.1:1）*/
  --on-dark-muted:#cfd8d2;   /* 濃色面の補助文字（対 --color-primary 7.9:1）。--muted は白地専用 */
  --brass-soft:#fdece5;      /* 朱の淡ティント */
  --cta-gold:var(--color-accent-strong);  /* CTA 地（朱・白文字）*/
  --cta-gold-hover:#a12c08;               /* CTA hover */
  --good:#2f7a4f;
  /* B案のレイアウト原理＝罫線主体・角丸ゼロ・影なし（2026-07-26）。
     角丸カードの多用と大きな影は「AI が作った顔」の記号（feedback_avoid_default_ai_palette）。
     面の区切りは影でなく罫線（--card-line）で取る。円形（border-radius:50%）は別指定なので影響しない。*/
  --radius:0;
  --radius-sm:0;
  --radius-xs:0;
  --radius-lg:0;
  --radius-pill:0;           /* ボタン・タグも角丸ゼロ */
  --shadow-1:none;
  --shadow-2:none;
  --shadow-3:none;
  --container:1200px;
  --container-narrow:840px;  /* 法務ページ等の読み物幅 */
  --gutter:28px;
  --section-y:clamp(56px,8vw,96px);  /* セクション縦リズム（56/96差を解消）*/
  --font-jp:"Zen Kaku Gothic New",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-en:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --font-display:"Zen Kaku Gothic New",system-ui,sans-serif;
  --font-serif:"Playfair Display","Noto Serif JP","Yu Mincho",serif;
  --font-serif-jp:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  --good-deep:#1f5a3a;
  --danger:#dc2626;
  --danger-deep:#a72020;     /* 濃赤（Before/×印等）*/
  --info:#1d4ed8;
  /* --teal 系は 2026-07-26 撤去。「濃紺＋ティール」は AI 生成の既定配色と一致し、
     制作会社の自社サイトとして没個性・手抜きに見えるため（feedback_avoid_default_ai_palette）。
     再追加しないこと。淡色面は --bg-2、差し色は --brass 系を使う。 */
  --s-1:.25rem;
  --s-2:.5rem;
  --s-3:.75rem;
  --s-4:1rem;
  --s-5:1.25rem;
  --s-6:1.5rem;
  --s-8:2rem;
  --s-10:2.5rem;
  --s-12:3rem;
  --s-14:3.5rem;
  --s-16:4rem;
}

/* ---- 全ページ共通の追補（2026-07-02） ---- */
img{max-width:100%;height:auto}          /* 画像はみ出し防止 */
/* キーボードフォーカスの可視化（A11y・自社規定必須。:focus-visible のみ＝マウス操作では出さない） */
:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:2px}
/* ページ内フルスクリーン お問い合わせフォーム（Tally 埋め込み・画面遷移なし・設計v1 2026-07-03）。
   固定ヘッダー内の×（見出しと非干渉）＋dynamicHeightで全高化したiframe＋親.tally-fs-scrollのネイティブスクロール（iframe内スクロール不使用）。背景クリックでは閉じない。 */
.tally-fs{position:fixed;inset:0;z-index:100000;display:none}
.tally-fs.on{display:block}
.tally-fs-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:color-mix(in oklab,var(--accent-deep) 55%,transparent)}
.tally-fs-card{background:var(--card);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.tally-fs-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--s-3);min-height:56px;padding:env(safe-area-inset-top) calc(var(--s-4) + env(safe-area-inset-right)) 0 calc(var(--s-4) + env(safe-area-inset-left));background:var(--card);border-bottom:1px solid var(--card-line)}
.tally-fs-title{font-family:var(--font-jp);font-weight:700;font-size:16px;color:var(--ink);letter-spacing:.02em}
.tally-fs-close{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-width:44px;height:44px;padding:0 8px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;border-radius:var(--radius-sm)}
.tally-fs-close:hover{background:color-mix(in oklab,var(--ink) 6%,transparent)}
.tally-fs-x{font-size:22px;line-height:1}
.tally-fs-closelabel{font-size:13px;color:var(--muted)}
.tally-fs-body{flex:1 0 auto;padding:0 0 calc(var(--s-8) + env(safe-area-inset-bottom))}
.tally-fs-body iframe{width:100%;border:0;display:block}
.tally-fs-loading{padding:var(--s-16) 0;text-align:center;font-size:14px;color:var(--muted)}
@media (min-width:768px){.tally-fs-card{min-height:0;max-width:640px;margin:var(--s-12) auto;border-radius:var(--radius);overflow:hidden;border:1px solid var(--card-line)}}
/* ハンバーガー内ドロワーCTA＝暗色パネル上でも視認できるよう金ボタンに統一（ghost可視性対策） */
.navdrawer-panel .nd-cta a{background:var(--cta-gold);color:var(--on-accent);border-color:var(--cta-gold)}
.navdrawer-panel .nd-cta a:hover{background:var(--cta-gold-hover);color:var(--on-accent)}
/* オフスクリーンのドロワーパネルがモバイルで横スクロール(グラつき)を起こすのを防ぐ＝固定コンテナ側でクリップ */
/* グリッド/フレックス子要素が min-content 幅で狭幅画面をはみ出す（横揺れ）のを防ぐ＝縮小を許可 */
.dfh-grid>*,.phones>*,.mob-points>*,.dfh-card,.dfh-card .demo,.step,.step>*,.step-body,.step-illus{min-width:0}
/* スマホのタッチ横ドラッグ（オーバースクロール/オフスクリーンドロワーへのパン）を抑止。overflowでなくoverscroll-behaviorなのでfixed/stickyに無影響 */
html,body{overscroll-behavior-x:none}
.navdrawer{overflow-x:hidden}
/* フッター到達時に固定CTAを隠す（フッター下の余分スクロール解消＋CTAとフッターの重なり回避）。site.jsがcta-hiddenを付与 */
.sticky-cta{transition:transform .3s ease}
.sticky-cta.cta-hidden{transform:translateY(120%);pointer-events:none}
/* ── フッター共通（全ページ暗紺・単一正本。各ページ<style>の footer 定義はここへ集約）── */
footer{background:var(--accent-deep);color:color-mix(in oklab,#fff 82%,transparent);padding:48px 0 calc(88px + env(safe-area-inset-bottom));font-size:13px;line-height:1.9}
footer .container{display:flex;flex-direction:column;gap:16px;align-items:flex-start;text-align:left}
footer p{font-size:13px;color:color-mix(in oklab,#fff 82%,transparent)}
footer p a{color:color-mix(in oklab,#fff 90%,transparent);font-weight:600}
footer p a:hover{color:var(--brass-light)}
footer .divider{margin:0 12px;color:color-mix(in oklab,#fff 40%,transparent)}
footer .small{font-size:12px;color:color-mix(in oklab,#fff 68%,transparent);line-height:1.8}
/* フッター最下段の著作権表記のみ中央（他のフッター行は左揃えのまま・社長指定） */
footer .small:last-child{text-align:center;align-self:center}
