/*
 * 新フッター(.c-footer / header-footer-renewal2026.min.css)を導入したページ専用の打ち消しスタイル。
 * pc_common.css / top.css / sp_common.css / common_layout.css など、旧デザインのページ側CSSが
 * #footerセレクタに直接指定している背景色・高さ・余白・文字寄せを無効化する。
 *
 * 旧フッターをまだ使用しているページ(移行未対応ページ)には絶対に読み込まないこと。
 */
#footer {
  background-color: transparent;
  height: auto;
  min-width: 0;
  padding-bottom: 0;
  text-align: left;
}

/*
 * .c-footer自身はfont-family/font-size/colorを指定していないため、
 * 各ページのbodyに設定された値(旧デザインのページ固有CSSが上書きしたもの)を
 * そのまま継承してしまう。ページによってbodyのfont-family/font-sizeが
 * バラバラ(例: 明朝体16px, ゴシック24px等)なため、footerの見た目が
 * ページごとに変わってしまう問題を防ぐため、本来の共通デザイン値
 * (scss/abstract/_base.scssのbody指定と同じ値)をここで明示的に固定する。
 */
.c-footer {
  font-family: var(--font-root, 'Noto Sans JP', sans-serif);
  font-size: 1.3rem;
  color: var(--color-root, #2C2C2C);
}

/*
 * sp_cp_module_v2.css / pc_cp_module_v2.css / sp_common.css などが
 * "p, li { font-size: ...; color: ...; }" のような要素セレクタで
 * 汎用的に文字サイズ等を指定しているページ(キャンペーン系ページ等)向け。
 * :where()で.c-footer側の詳細度を0にすることで、footer本体のクラス指定
 * (.c-footer-nav__title など)は一切上書きせず、無装飾のタグにのみ効く
 * 旧CSSの要素セレクタとだけ詳細度で拮抗させ、読み込み順で確実に打ち消す。
 */
:where(.c-footer) p,
:where(.c-footer) li,
:where(.c-footer) a,
:where(.c-footer) h1,
:where(.c-footer) h2,
:where(.c-footer) h3,
:where(.c-footer) h4,
:where(.c-footer) h5,
:where(.c-footer) h6 {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* ------------------------------------------------------------
 * 旧ページのビューポート幅を打ち消すフッター補正
 *
 * special/**系の移行ページ(basemake / cleanse / bodycare 等)は
 * SP時に固定幅の <meta name="viewport" content="width=720px"> 等を
 * 出力するため、フッターも約720/750pxのキャンバスでレイアウトされ、
 * 約390px前提のSPデザイン(c-footer-contact-box 350x130 等)が
 * 横いっぱいに間延びする(680px前後になる)。
 *
 * js/renewal2026/header/script.js の detectViewport() が
 * <body> に .viewport-720 / -750 / -980 / -default を付与済み
 * (footer.load より前に実行される)なので、それを利用して
 * フッターを本来の390pxキャンバスで描画し、実キャンバス幅まで
 * 拡大して戻す。
 *
 * header-footer-renewal2026.min.css に同種の補正があるが、
 * セレクタが #footer-renewal2026 のため、footer.load("/inc/footer.html .c-footer-main")
 * 方式のページにはマッチしない。この方式には2パターンあるので両方を補う:
 *   1. special/**系 …… <footer id="footer" class="c-footer">  → #footer 自身を縮小
 *   2. time/**系      …… <div id="footer">(c-footerクラス無し) → 中に挿入される
 *                        直下の .c-footer-main を縮小
 * #footer:not(.c-footer) > .c-footer-main で1と2を排他にし、二重zoomを防ぐ。
 *
 * transform: scale ではなく zoom を使うのは footer-legacy-embed.css と同じ理由:
 *  - zoom はレイアウトサイズに寄与するのでページ末尾に拡大分の余白/切れが出ない
 *  - zoom は position:fixed の含みブロックを作らないので #page-top が
 *    ビューポート基準のまま維持される
 * ------------------------------------------------------------ */
@media only screen and (max-width: 1023px) {
  .viewport-720 #footer.c-footer,
  .viewport-750 #footer.c-footer,
  .viewport-980 #footer.c-footer,
  .viewport-default #footer.c-footer,
  .viewport-720 #footer:not(.c-footer) > .c-footer-main,
  .viewport-750 #footer:not(.c-footer) > .c-footer-main,
  .viewport-980 #footer:not(.c-footer) > .c-footer-main,
  .viewport-default #footer:not(.c-footer) > .c-footer-main {
    width: 390px;
  }

  /* zoom倍率 = 実キャンバス幅 / 390 */
  .viewport-720 #footer.c-footer,
  .viewport-720 #footer:not(.c-footer) > .c-footer-main {
    zoom: 1.8462;
  }

  .viewport-750 #footer.c-footer,
  .viewport-750 #footer:not(.c-footer) > .c-footer-main {
    zoom: 1.9231;
  }

  .viewport-980 #footer.c-footer,
  .viewport-980 #footer:not(.c-footer) > .c-footer-main {
    zoom: 2.5128;
  }

  .viewport-default #footer.c-footer,
  .viewport-default #footer:not(.c-footer) > .c-footer-main {
    zoom: 2.5128;
  }
}
