/* ===== 大洋電化 フッター（before_footer に [taiyo_footer] を出力）=====
   モック準拠：PCは 店舗情報＋サービス/メニュー を横並び（3カラムグリッドで整列）。
   モバイルは 住所=全幅／サービス・メニュー=2カラム。
   SWELLの©バー（.l-footer）も同色に統一して2段フッターに。
   フォント/色は全ページ共通で効くようリテラル指定（base.cssのトークンに依存しない）。 */

/* before_footer 内のラッパ（.l-container=最大1200px やウィジェット囲み）を全幅化。
   これでネイビー背景が両端まで届く（.tf-wrapが中身を中央寄せ） */
.w-beforeFooter{ margin:0 !important; padding:0 !important; }
.w-beforeFooter > .l-container{ max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
.w-beforeFooter .c-widget,
.w-beforeFooter .widget_custom_html,
.w-beforeFooter .textwidget,
.w-beforeFooter .custom-html-widget{ margin:0 !important; padding:0 !important; }

.taiyo-footer{
  background:#13456e; color:#eaf1f8;
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
  line-height:1.8; padding:52px 24px 44px;
}

/* PC：3カラムグリッド（店舗情報 / サービス / メニュー）を上端・幅そろえて整列。
   .tf-cols を display:contents にして、中の2列も tf-wrap のグリッドに直接乗せる。 */
.taiyo-footer .tf-wrap{
  max-width:1080px; margin:0 auto;
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr;
  column-gap:56px; row-gap:28px;
  align-items:start;
}
.taiyo-footer .tf-cols{ display:contents; }

/* 店舗情報 */
.taiyo-footer .tf-info{ min-width:0; }
.taiyo-footer .tf-brand{ font-size:22px; font-weight:900; color:#fff; margin-bottom:12px; line-height:1.4; display:flex; align-items:center; flex-wrap:wrap; }
/* 7Dマーク（ヘッダーと同ベース：マスク＋currentColor＝白文字と同色） */
.taiyo-footer .tf-brand::before{
  content:""; flex:none;
  height:18px; width:27px;               /* 漢字の視覚天地(font22で約20px)にほぼ合わせる＝ヘッダーと同じ「マーク≒文字高」バランス */
  background:currentColor;
  -webkit-mask:url("../assets/img/logo_mark_trim.png") no-repeat center/contain;
  mask:url("../assets/img/logo_mark_trim.png") no-repeat center/contain;
  margin-right:9px; position:relative; top:1px;   /* ヘッダー(gap12px/文字26px)と同じ見た目比率に（文字22pxに合わせ縮小） */
}
.taiyo-footer .tf-brand span{ font-size:12px; font-weight:700; letter-spacing:.12em; color:#a9c6e2; margin-left:10px; white-space:nowrap; position:relative; top:3px; } /* 天地中央でなく大洋電化のベースラインに揃える（下へ寄せる） */
.taiyo-footer .tf-addr{ font-size:15px; }
.taiyo-footer .tf-line{ font-size:15px; }
.taiyo-footer .tf-line a{ color:#eaf1f8; text-decoration:none; }
.taiyo-footer .tf-note{ font-size:14px; color:#a9c6e2; margin-top:8px; }

/* リンク列 */
.taiyo-footer .tf-col{ min-width:0; }
.taiyo-footer .tf-h{
  font-size:13px; font-weight:800; color:#f6a85e; letter-spacing:.08em;
  padding-bottom:10px; margin-bottom:6px; border-bottom:1px solid rgba(255,255,255,.18);
}
.taiyo-footer .tf-col ul{ list-style:none; margin:0; padding:0; }
.taiyo-footer .tf-col li{ margin:0; }
.taiyo-footer .tf-col a{
  display:block; padding:7px 0; color:#eaf1f8; text-decoration:none; font-size:14.5px;
  transition:color .15s;
}
.taiyo-footer .tf-col a:hover{ color:#f6a85e; }
.taiyo-footer .tf-soon{ display:block; padding:7px 0; font-size:14.5px; color:#8faec9; }
.taiyo-footer .tf-soon em{ font-style:normal; font-size:11px; margin-left:6px; color:#7c98b2; }

/* SWELL の著作権バーも同系色に統一（2段フッター化） */
.l-footer{ background:#0f3a5e; }
.l-footer .copyright,
.l-footer .l-footer__foot,
.l-footer a{ color:#cfe0f0; }

/* --- モバイル（自作BPは820pxに統一）：住所=全幅／サービス・メニュー=2カラム --- */
@media screen and (max-width:820px){
  .taiyo-footer{ padding:40px 20px 32px; }
  .taiyo-footer .tf-wrap{ display:block; max-width:100%; }
  .taiyo-footer .tf-info{ margin-bottom:26px; }
  .taiyo-footer .tf-cols{ display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }
  /* リンク名が2カラムで折れにくいように（指示書#9-C） */
  .taiyo-footer .tf-col a{ font-size:14px; line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
}

/* 特に狭い画面（〜380px）ではフッターのリンクを1カラムに */
@media screen and (max-width:380px){
  .taiyo-footer .tf-cols{ grid-template-columns:1fr; }
}

/* ===== モバイル下部固定CTAバー（電話・LINE）＝全ページ共通・シニア導線 =====
   色/フォントはリテラル指定（base.cssのトークンに依存しない）。デスクトップ非表示。 */
.taiyo-fixcta{ display:none; }
.taiyo-fixcta a{
  display:flex; align-items:center; justify-content:center; gap:6px;
  min-height:58px; box-sizing:border-box;
  padding:12px 4px; text-decoration:none; color:#fff; font-weight:900; font-size:16px; line-height:1.2;
  white-space:nowrap; /* 幅が狭い2分割でも折り返さない */
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
}
.taiyo-fixcta a svg{ width:22px; height:22px; fill:#fff; flex:none; }
.taiyo-fixcta .fc-tel{ background:#c15a16; }
.taiyo-fixcta .fc-line{ background:#06c755; }
.taiyo-fixcta .fc-tel small{ display:none; } /* 番号併記は幅が窮屈なので非表示。「電話する」のみ表示 */

@media screen and (max-width:820px){
  .taiyo-fixcta{
    display:grid; grid-template-columns:1fr 1fr;
    position:fixed; left:0; right:0; bottom:0; z-index:80; /* SWELLドロワー(z100)より下：メニュー展開時に被らない */
    box-shadow:0 -3px 12px rgba(19,69,110,.22);
    padding-bottom:env(safe-area-inset-bottom); /* iPhoneホームバー回避 */
  }
  /* 固定バーの高さぶん、最下部コンテンツ（フッター）が隠れないよう body に余白を確保 */
  body{ padding-bottom:calc(58px + env(safe-area-inset-bottom)); }
  /* SWELLのページトップボタン(.p-fixBtnWrap > .c-fixBtn)を固定CTAバーの上へ持ち上げる */
  .p-fixBtnWrap{ bottom:calc(70px + env(safe-area-inset-bottom)) !important; z-index:90 !important; } /* 固定CTA(58px)＋余白／z-index:80より前面 */
}
