.elementor-28 .elementor-element.elementor-element-ad51cb9{--display:flex;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-28 .elementor-element.elementor-element-ad51cb9{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-28 .elementor-element.elementor-element-94f9c7e{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-adf8033{width:100%;max-width:100%;}}/* Start custom CSS for html, class: .elementor-element-adf8033 *//* ================= Footer (Complete – 改) ================= */
.footer{
  --border:#e5e7eb;
  --muted:#6b7280;
  font-family:"Hiragino Sans","Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"メイリオ",Meiryo,sans-serif;
  font-size:14px;
}
.footer a{ color:#333333; text-decoration:none; }
.footer a:hover{ color:#666666; text-decoration:none; }

.footer-inner{
  max-width:1140px;
  margin:0 auto;
  padding:28px 16px;
}

/* ── 上段：2カラム ── */
.footer-top{
  display:flex;
  gap:28px;
  align-items:flex-start;
  justify-content:space-between;
  padding-bottom:22px;
  position:relative;
}
/* 上段の区切りは残す（全幅ライン） */
.footer-top::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:100vw; height:1px; background:var(--border);
}

.footer-left{ min-width:220px; }
.footer-logo img{
  display:block; width:auto; max-width:220px; max-height:54px; height:auto;
}
.footer-contact{ margin-top:10px; color:var(--muted); }

/* 右側 */
.footer-right{
  flex:1 1 auto; display:flex; gap:18px; align-items:flex-start; justify-content:space-between;
}

/* ── メニュー ── */
.footer-menu ul{
  margin:0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(3, minmax(140px,1fr));
  gap:8px 18px;
}
.footer-menu a{ display:inline-block; padding:4px 0; }

/* ── YouTubeボタン ── */
.footer-youtube{ flex:0 0 auto; }
.youtube-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:#ff0033; color:#fff !important;
  padding:10px 14px; border-radius:8px; box-shadow:0 6px 18px rgba(255,0,51,.25);
  font-weight:700;
}
.youtube-btn img{ width:22px; height:22px; display:block; }
.youtube-btn:hover{ filter:brightness(1.05); }

/* ── 下段：4つのリンク（バナー） ── */
.footer-banners{
  display:grid; grid-template-columns:repeat(4, minmax(140px,1fr));
  gap:14px; padding:22px 0;
  /* ★ 以前の上下区切り線はカット（付けない） */
}
.banner-box{
  display:block; background:#fff;
  border:1px solid var(--border);      /* 各バナーに個別の枠線 */
  border-radius:8px; padding:6px 10px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.banner-box img{
  width:100%; height:56px; object-fit:contain; display:block;
}

/* ── コピーライト ── */
.footer-copy{
  text-align:center; color:var(--muted);
  padding:16px 0 4px; font-size:12px;
}

/* ============ Responsive ============ */
@media (max-width:1024px){
  .footer-menu ul{ grid-template-columns:repeat(2, minmax(160px,1fr)); }
  .footer-banners{ grid-template-columns:repeat(3, minmax(140px,1fr)); }
}

@media (max-width:760px){
  /* 左右の配置 → 縦積み */
  .footer-top{ flex-direction:column; gap:18px; }
  .footer-right{ flex-direction:column; gap:16px; }

  /* ★ ロゴと社名を中央寄せ */
  .footer-left{ min-width:0; text-align:center; }
  .footer-logo img{ margin:0 auto; }
  .footer-contact{ text-align:center; }

  /* ★ メニュー：1列化＋カラム内100%下線（コンテナ幅に揃う） */
  .footer-menu ul{
    display:block;               /* grid → block */
    width:100%;
    margin:0; padding:0;
    border-top:1px solid var(--border);   /* 最上段の線（コンテナ幅） */
  }
  .footer-menu li{
    display:block; margin:0; padding:0;
  }
  .footer-menu li > a{
    display:block; width:100%;
    padding:14px 0;                      /* 左右0で端まで線 */
    border-bottom:1px solid var(--border);
  }

  .footer-banners{ grid-template-columns:repeat(2, 1fr); }
  .youtube-btn{ width:100%; justify-content:center; }
}

@media (max-width:440px){
  .footer-banners{ grid-template-columns:1fr; }
  .banner-box img{ height:48px; }
}/* End custom CSS */