/* =========================================================
   フッター＋モバイル固定CTAバー（全ページ共通・正本）
   =========================================================
   ヘッダー（_header.css）・ボタン（_buttons.css）と同じ理由で切り出したファイル。
   フッターとCTAバーの定義も style.css と各自己完結CSS の計9ファイルに
   コピペされていた（2026-08-01）。

   実際にあったズレ：
     .footer-nav / .footer-copy      style.css にのみ存在
     body{padding-bottom:66px}       固定CTAバーを持たないページでも余白が入る書き方だった。
                                     バーのある/なしで出し分ける contact.css の
                                     body:has(.m-ctabar) 版を正本に採用した。

   さらにマークアップ自体も2種類あり、トップは .footer-nav ＋ .footer-copy の2段、
   他9テンプレートは .footer-inner を2つ並べる形を直書きしていた。
   トップを正としてマークアップも template-parts/site-footer.php に一本化したため、
   .footer-inner はどこからも使われなくなり削除した。

   変更するときはこのファイルと template-parts/site-footer.php だけを直すこと。

   前提：--container / --content-pad は読み込み側のCSSが :root で定義している。
   ========================================================= */

.footer { background: #06172E; color: #93AAC9; font-size: 12.5px }
.footer a { color: #C6D2E0 }
.footer a:hover { color: #fff }

/* フッターは「フリーダイヤル＋リンク列＋コピーライト」の3段構成
   （template-parts/site-footer.php）。電話は Amazon Connect のフリーダイヤル。 */
.footer-tel {
  text-align: center;
  padding: 34px var(--content-pad) 26px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ft-label { font-size: 12px; letter-spacing: .08em; color: #93AAC9 }
.footer .ft-num {
  display: inline-block;
  margin-top: 7px;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .02em;
  color: #fff;
  font-feature-settings: "tnum";
}
.footer .ft-num:hover { color: #fff; opacity: .78 }
.ft-hours { margin-top: 7px; font-size: 12px; color: #93AAC9 }

/* LINE導線。ロゴは商標なので使わず、ブランドカラーのボタンだけで示す。
   緑はLINE公式色のまま、文字を紺にしてコントラストを確保（白文字だと2.3:1で基準未満） */
.footer .ft-line {
  display: inline-flex;
  align-items: center;
  margin-top: 16px;
  padding: 10px 22px;
  border-radius: 8px;
  background: #06C755;
  color: #06172E;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  transition: background .2s;
}
.footer .ft-line:hover { background: #05A648; color: #06172E }
.ft-line-note { margin-top: 7px; font-size: 12px; color: #93AAC9 }

.footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  flex-wrap: wrap;
  padding: 34px var(--content-pad) 6px;
}
/* 上にフリーダイヤル段が入るぶん、リンク列の上余白は詰める */
.footer-tel + .footer-nav { padding-top: 26px }
.footer-nav a { font-size: 13px; color: #C6D2E0 }
.footer-nav a:hover { color: #fff }
.footer-copy {
  text-align: center;
  padding: 20px var(--content-pad) 30px;
  font-size: 12px;
  letter-spacing: .04em;
  color: #7F95B3;
}

/* ===== モバイル固定CTAバー ===== */
.m-ctabar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 120;
  display: none;
  gap: 10px;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(10,36,68,.96);
  backdrop-filter: blur(8px);
}
.m-ctabar a { flex: 1; text-align: center; font-size: 13.5px; padding: 12px 8px }

@media (max-width: 640px) {
  .footer-tel { padding-top: 28px; padding-bottom: 22px }
  .footer .ft-num { font-size: 26px }
  .footer-nav { gap: 18px 22px }
}

@media (max-width: 960px) {
  .m-ctabar { display: flex }
  /* 無料相談ページのようにバーを置かないページには余白を入れない */
  body:has(.m-ctabar) { padding-bottom: 66px }
}

/* スマホではフッターのリンクが高さ21pxでタップしにくかったため、44px確保する */
@media (max-width: 960px) {
  .footer-nav { gap: 0 22px }
  .footer-nav a { display: inline-flex; align-items: center; min-height: 44px }
}

/* ヒーローの相談ボタンが見えている間は隠す（assets/js/m-ctabar.js） */
.m-ctabar { transition: transform .3s cubic-bezier(.2,.8,.2,1) }
.m-ctabar.is-hidden { transform: translateY(110%) }
@media (prefers-reduced-motion: reduce) { .m-ctabar { transition: none } }
/* スマホのメニューを開いている間も隠す（メニューの下端に重なるため） */
body:has(.header.is-open) .m-ctabar { transform: translateY(110%) }
