/* ================================
  Footer (Z世代向け / まとまり版)
  既存HTMLそのまま・上書きで完成させる
================================ */

/* 全体背景：うっすらグラデで“今っぽい空気感” */
footer{
  padding: 56px 0 90px;
  background:
    radial-gradient(900px 520px at 15% 0%, rgba(124,140,255,.16), transparent 60%),
    radial-gradient(900px 520px at 85% 20%, rgba(70,230,194,.12), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f6f8ff 55%, #ffffff 100%);
  border-top: 1px solid rgba(15,23,42,.08);
}

/* FOLLOW US まとまりカード */
footer .l-footer_service{
  width: min(1100px, 92vw);
  margin: 0 auto 18px;
  padding: 26px 18px 18px;
  border-radius: 28px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 24px 90px rgba(2,6,23,.12);
  backdrop-filter: blur(12px);
}

/* 見出し */
footer .l-footer-sns__heading img{
  max-width: 170px;
  filter: drop-shadow(0 14px 40px rgba(2,6,23,.12));
}

/* インスタカード（横幅を自然に） */
footer .l-footer-sns-ig__item{ width: min(760px, 100%); }
footer .l-footer-sns-ig__link{
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 60px rgba(2,6,23,.10);
}
footer .l-footer-sns-ig__account{ font-size: 15px; }
footer .l-footer-sns-ig__desc{ font-size: 12px; color:#64748b; }

/* SNS丸ボタン：サイズ統一＆かわいく */
footer .l-footer-sns__list{ gap: 10px; }
footer .l-footer-sns__link{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 16px 48px rgba(2,6,23,.10);
}
footer .l-footer-sns__link:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 70px rgba(2,6,23,.14);
}

/* ✅ 謎の白丸（スライダーdots）が出てる場合は消す */
footer .slick-dots,
footer .swiper-pagination,
footer .tns-nav{
  display:none !important;
}

/* ✅ LPではアコーディオンを出すとまとまりが崩れる → 隠す（必要なら後で復活） */
footer .l-footer-nav{
  display:none !important;
}

/* 下部リンクエリア：幅/余白を整える */
footer #footer.l-footer{
  width: min(1100px, 92vw);
  margin: 0 auto;
  padding: 10px 0 0;
}

/* 「イーアックTOP/お問い合わせ/イーアックとは」
   → デカいカードをやめて“ピル導線”へ */
footer .l-footer_link.main{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap: 10px;
}
footer .l-footer_link.main .l-footer_link_item a{
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.80) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 14px 40px rgba(2,6,23,.08) !important;
  min-height: auto !important;
}

/* 下の3リンクも同じトーンに */
footer .l-footer_link.another{
  margin-top: 10px !important;
  gap: 10px !important;
}
footer .l-footer_link.another .l-footer_link_item a{
  border-radius: 999px !important;
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
}

/* コピーライト */
footer .l-footer_copy{
  margin-top: 14px;
  color:#64748b;
  font-size: 12px;
  font-weight: 800;
  text-align:center;
}

/* モバイル */
@media (max-width: 640px){
  footer{ padding: 44px 0 88px; }
  footer .l-footer_service{ padding: 18px 14px 14px; border-radius: 22px; }
}
/* ===== Footer 強制リセット（点・下線・余白崩れ対策）===== */
footer ul, footer ol{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
footer li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
footer a{
  color: inherit !important;
  text-decoration: none !important;
}
footer .l-footer-sns{
  width: min(1100px, 92vw) !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* 下部リンクを中央揃えに戻す */
footer #footer.l-footer{
  width: min(1100px, 92vw) !important;
  margin: 0 auto !important;
}
footer .l-footer_link{
  display:flex !important;
  flex-wrap:wrap !important;/* =========================
   Footer Fix Pack（これを一番下に追記）
========================= */

/* まずデフォルトを無効化（黒点・下線・紫リンク） */
footer ul, footer li{ list-style:none !important; margin:0; padding:0; }
footer a{ color:inherit; text-decoration:none !important; }
footer a:visited{ color:inherit; }

/* フッター全体：余白とまとまり（デカすぎ問題を止める） */
footer{
  padding: 34px 0 34px !important;
  background:
    radial-gradient(900px 520px at 15% 0%, rgba(124,140,255,.14), transparent 60%),
    radial-gradient(900px 520px at 85% 20%, rgba(70,230,194,.12), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f6f8ff 55%, #ffffff 100%) !important;
  border-top: 1px solid rgba(15,23,42,.08) !important;
  color:#0b1220 !important;
}

/* Yoast パンくずがフッター内に出てるなら非表示 */
#breadcrumbs{ display:none !important; }

/* “FOLLOW US” の大きい白い箱を「ちょうど良いカード」に */
.l-footer_service{
  width: min(1080px, 92vw) !important;
  margin: 0 auto 16px !important;
  padding: 18px 16px 14px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  box-shadow: 0 22px 70px rgba(2,6,23,.12) !important;
  backdrop-filter: blur(12px);
}

/* 見出し画像 */
.l-footer-sns{ width: 100% !important; margin:0 auto; text-align:center; }
.l-footer-sns__heading{ margin:0 0 10px !important; }
.l-footer-sns__heading img{ max-width: 190px !important; }

/* Instagramカード：gridで「左＝文字、右＝アイコン」を崩れないように */
.l-footer-sns-ig__list{ display:flex !important; justify-content:center; }
.l-footer-sns-ig__item{ width: min(720px, 100%) !important; }

.l-footer-sns-ig__link{
  display:grid !important;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 2px 12px;
  align-items:center;
  padding: 14px 14px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 14px 40px rgba(2,6,23,.10) !important;
}

.l-footer-sns-ig__account{
  grid-column:1; grid-row:1;
  margin:0 !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  text-align:left !important;
}
.l-footer-sns-ig__desc{
  grid-column:1; grid-row:2;
  margin:0 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  color:#475569 !important;
  text-align:left !important;
}
.l-footer-sns-ig__icon{
  grid-column:2; grid-row:1 / span 2;
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 10px 25px rgba(2,6,23,.12) !important;
}

/* SNS丸アイコン列（Z世代っぽく） */
.l-footer-sns__list{
  margin-top: 12px !important;
  display:flex !important;
  justify-content:center !important;
  gap: 10px !important;
}
.l-footer-sns__link{
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  display:grid !important;
  place-items:center !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 14px 38px rgba(2,6,23,.10) !important;
}

/* 下部リンク：横並びの“ピル”で統一 */
.l-footer{
  width: min(1080px, 92vw) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align:center;
}
.l-footer_link.main,
.l-footer_link.another{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.l-footer_link_item a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 12px 30px rgba(2,6,23,.08) !important;
  font-weight: 900 !important;
  color:#0b1220 !important;
}

/* small links（運営会社/規約/プライバシー） */
.l-footer_link.another .l-footer_link_item a{
  padding: 9px 12px !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,.62) !important;
}

/* コピーライト */
.l-footer_copy{
  margin-top: 12px !important;
  color:#64748b !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

/* もしアコーディオンがLPでは不要なら非表示（崩れの原因になりやすい） */
.l-footer-nav{ display:none !important; }

/* モバイル微調整 */
@media (max-width: 640px){
  footer{ padding: 28px 0 30px !important; }
  .l-footer_service{ padding: 16px 12px 12px !important; border-radius: 20px !important; }
  .l-footer-sns-ig__link{ padding: 12px 12px !important; }
}

  justify-content:center !important;
  gap: 10px !important;
}
footer .l-footer_link.main{
  margin-top: 14px !important;
}
footer .l-footer_link.another{
  margin-top: 10px !important;
}
/* =========================
  LP Footer (mwed風)
========================= */
.lpFooter{
  padding: 60px 16px 28px;
  background: transparent;
}

.lpFooter__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 44px 28px 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 60px rgba(20,30,60,.12);
  backdrop-filter: blur(10px);
}

/* リセット（黒丸/紫リンク対策） */
.lpFooter ul, .lpFooter ol{ list-style:none; margin:0; padding:0; }
.lpFooter a{ color: inherit; text-decoration: none; }
.lpFooter a:visited{ color: inherit; }

.lpFooter__follow{
  text-align:center;
  padding: 6px 0 26px;
}
.lpFooter__followTitle{
  margin: 0 0 18px;
  letter-spacing: .12em;
  font-weight: 700;
  font-size: 28px;
  color: rgba(230,120,140,.75);
}

.lpFooter__igCard{
  margin: 0 auto 16px;
  max-width: 720px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 12px 40px rgba(20,30,60,.10);
}
.lpFooter__igText{ text-align:left; }
.lpFooter__igName{ margin:0; font-weight:700; }
.lpFooter__igDesc{ margin:4px 0 0; font-size: 13px; opacity:.75; }
.lpFooter__igIcon{
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

.lpFooter__sns{
  display:flex;
  justify-content:center;
  gap: 10px;
  margin-top: 8px;
}
.lpFooter__snsBtn{
  width: 44px;
  height: 44px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 28px rgba(20,30,60,.12);
  font-weight: 700;
}
.lpFooter__snsBtn:hover{ transform: translateY(-2px); }

/* サイトマップ */
.lpFooter__sitemap{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
  padding: 22px 0 14px;
  border-top: 1px solid rgba(40,50,80,.08);
  border-bottom: 1px solid rgba(40,50,80,.08);
}

.lpFooter__head{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .06em;
}

.lpFooter__list{
  display:grid;
  gap: 8px;
  font-size: 14px;
  opacity: .9;
}
.lpFooter__list a{
  padding: 6px 10px;
  border-radius: 12px;
}
.lpFooter__list a:hover{
  background: rgba(120,150,255,.12);
}

/* CTA */
.lpFooter__cta{
  display:flex;
  justify-content:center;
  gap: 10px;
  padding: 18px 0 8px;
}
.lpFooter__ctaBtn{
  min-width: 180px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 28px rgba(20,30,60,.12);
  text-align:center;
  font-weight: 800;
}
.lpFooter__ctaBtn.isPrimary{
  background: linear-gradient(135deg, rgba(120,150,255,.95), rgba(180,130,255,.95));
  color: #fff;
}

.lpFooter__copy{
  display:block;
  text-align:center;
  margin-top: 10px;
  opacity: .6;
}

/* レスポンシブ */
@media (max-width: 980px){
  .lpFooter__sitemap{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .lpFooter__inner{ padding: 34px 16px 22px; }
  .lpFooter__sitemap{ grid-template-columns: 1fr; }
  .lpFooter__cta{ flex-direction: column; }
  .lpFooter__ctaBtn{ width: 100%; }
}
