@charset "UTF-8";
/* =========================================================
   Studio Common Footer
   File: 09-footer.css
   Purpose:
   - Common footer for studio renewal LPs
   - Supports .iby-studio-footer and legacy .iby-shared-lp-footer
   - Color is controlled by design class / is-* class variables
   ========================================================= */

/* =========================================================
   0. Design color variables
   ========================================================= */

/* Default / A1 */
.iby-studio-footer,
.iby-shared-lp-footer {
  --iby-footer-bg: #5A3F43;
  --iby-footer-text: rgba(255, 255, 255, 0.94);
  --iby-footer-subtext: rgba(255, 255, 255, 0.78);
  --iby-footer-link: rgba(255, 255, 255, 0.94);
  --iby-footer-accent: #F3B3C7;
  --iby-footer-border: rgba(255, 255, 255, 0.17);
  --iby-footer-chip-bg: rgba(255, 255, 255, 0.07);
  --iby-footer-chip-border: rgba(255, 255, 255, 0.22);
  --iby-footer-cta-bg: #ffffff;
  --iby-footer-cta-text: #5A3F43;
}

/* A1：初心者・安心感タイプ */
.iby-studio-footer.is-a1,
.iby-page.iby-design-a1 .iby-studio-footer,
.iby-page.iby-design-a1 .iby-shared-lp-footer {
  --iby-footer-bg: #5A3F43;
  --iby-footer-accent: #F3B3C7;
  --iby-footer-cta-text: #5A3F43;
}

/* A2：インストラクター・地域密着タイプ */
.iby-studio-footer.is-a2,
.iby-page.iby-design-a2 .iby-studio-footer,
.iby-page.iby-design-a2 .iby-shared-lp-footer {
  --iby-footer-bg: #2E3A46;
  --iby-footer-accent: #E8C98C;
  --iby-footer-cta-text: #2E3A46;
}

/* B1：はじめて体験・安心導線タイプ */
.iby-studio-footer.is-b1,
.iby-page.iby-design-b1 .iby-studio-footer,
.iby-page.iby-design-b1 .iby-shared-lp-footer {
  --iby-footer-bg: #51423D;
  --iby-footer-accent: #F2B6A0;
  --iby-footer-cta-text: #51423D;
}

/* B2：健康改善・アクティブタイプ */
.iby-studio-footer.is-b2,
.iby-page.iby-design-b2 .iby-studio-footer,
.iby-page.iby-design-b2 .iby-shared-lp-footer {
  --iby-footer-bg: #5B3424;
  --iby-footer-accent: #F4B36A;
  --iby-footer-cta-text: #5B3424;
}

/* C1：呼吸・瞑想・内面ケアタイプ */
.iby-studio-footer.is-c1,
.iby-page.iby-design-c1 .iby-studio-footer,
.iby-page.iby-design-c1 .iby-shared-lp-footer {
  --iby-footer-bg: #2F4635;
  --iby-footer-accent: #C8D6AA;
  --iby-footer-cta-text: #2F4635;
}

/* C2：お客様の声・変化実感タイプ */
.iby-studio-footer.is-c2,
.iby-page.iby-design-c2 .iby-studio-footer,
.iby-page.iby-design-c2 .iby-shared-lp-footer {
  --iby-footer-bg: #3F4B38;
  --iby-footer-accent: #D8C88B;
  --iby-footer-cta-text: #3F4B38;
}

/* Optional: use only when a light footer is intentionally needed */
.iby-studio-footer.is-light,
.iby-shared-lp-footer.is-light {
  --iby-footer-bg: #fff7f4;
  --iby-footer-text: #4a363a;
  --iby-footer-subtext: #5f4a4e;
  --iby-footer-link: #4a363a;
  --iby-footer-accent: #f2557f;
  --iby-footer-border: rgba(242, 85, 127, 0.22);
  --iby-footer-chip-bg: #ffffff;
  --iby-footer-chip-border: rgba(242, 85, 127, 0.28);
  --iby-footer-cta-bg: #f2557f;
  --iby-footer-cta-text: #ffffff;
}

/* =========================================================
   1. New footer: .iby-studio-footer
   ========================================================= */

.iby-studio-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 64px calc(50% - 50vw) 0 !important;
  padding: 64px 32px 32px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: var(--iby-footer-bg) !important;
  color: var(--iby-footer-text) !important;
}

.iby-studio-footer,
.iby-studio-footer * {
  box-sizing: border-box !important;
}

.iby-footer-inner {
  display: grid !important;
  grid-template-columns: minmax(320px, 1.2fr) minmax(180px, 0.6fr) minmax(260px, 0.9fr) !important;
  gap: 42px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  align-items: start !important;
}

.iby-footer-brand,
.iby-footer-info,
.iby-footer-nav {
  min-width: 0 !important;
}

.iby-footer-name {
  margin: 0 0 18px !important;
  color: var(--iby-footer-text) !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-size: 1.28rem !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.04em !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.iby-footer-name::before,
.iby-footer-name::after {
  content: none !important;
  display: none !important;
}

.iby-footer-lead {
  max-width: 460px !important;
  margin: 0 !important;
  color: var(--iby-footer-subtext) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 2 !important;
  letter-spacing: 0.02em !important;
}

.iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.iby-footer-sns a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  border: 1px solid var(--iby-footer-chip-border) !important;
  border-radius: 999px !important;
  background: var(--iby-footer-chip-bg) !important;
  color: var(--iby-footer-link) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.iby-footer-sns a:hover {
  border-color: var(--iby-footer-accent) !important;
  background: rgba(255, 255, 255, 0.11) !important;
  color: var(--iby-footer-accent) !important;
}

.iby-footer-nav {
  display: grid !important;
  gap: 14px !important;
}

.iby-footer-nav a,
.iby-studio-footer a {
  color: var(--iby-footer-link) !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.iby-footer-nav a:hover,
.iby-studio-footer a:hover {
  color: var(--iby-footer-accent) !important;
}

.iby-footer-info {
  color: var(--iby-footer-subtext) !important;
  font-size: 0.95rem !important;
  line-height: 1.9 !important;
}

.iby-footer-address,
.iby-footer-address span,
.iby-studio-footer address,
.iby-studio-footer address span,
.iby-footer-address-readable,
.iby-footer-address-readable span {
  color: var(--iby-footer-subtext) !important;
  opacity: 1 !important;
  filter: none !important;
}

.iby-footer-address {
  margin: 0 0 18px !important;
  font-style: normal !important;
}

.iby-footer-address span {
  display: block !important;
}

.iby-footer-tel {
  margin: 20px 0 24px !important;
}

.iby-footer-tel span {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--iby-footer-subtext) !important;
  font-size: 0.85rem !important;
}

.iby-footer-tel a {
  color: var(--iby-footer-link) !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.iby-footer-actions {
  display: grid !important;
  gap: 12px !important;
  max-width: 280px !important;
}

.iby-footer-btn,
.iby-footer-btn:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: var(--iby-footer-cta-bg) !important;
  color: var(--iby-footer-cta-text) !important;
  font-size: 0.92rem !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.iby-footer-btn:hover {
  color: var(--iby-footer-cta-text) !important;
  opacity: 0.88 !important;
}

.iby-footer-contact,
.iby-footer-contact:visited {
  display: inline-block !important;
  margin-top: 2px !important;
  color: var(--iby-footer-link) !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.iby-footer-contact:hover {
  color: var(--iby-footer-accent) !important;
}

.iby-footer-bottom {
  max-width: 1120px !important;
  margin: 42px auto 0 !important;
  padding-top: 22px !important;
  border-top: 1px solid var(--iby-footer-border) !important;
}

.iby-footer-copy {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 0.78rem !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* Light footer copy color */
.iby-studio-footer.is-light .iby-footer-copy,
.iby-shared-lp-footer.is-light .iby-shared-lp-footer__copy {
  color: rgba(74, 54, 58, 0.62) !important;
}

/* =========================================================
   2. Legacy footer compatibility: .iby-shared-lp-footer
   ========================================================= */

.iby-shared-lp-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 64px calc(50% - 50vw) 0 !important;
  padding: 64px 32px 32px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: var(--iby-footer-bg) !important;
  color: var(--iby-footer-text) !important;
}

.iby-shared-lp-footer,
.iby-shared-lp-footer * {
  box-sizing: border-box !important;
}

.iby-shared-lp-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(180px, 0.55fr) minmax(240px, 0.75fr) !important;
  gap: 48px !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.iby-shared-lp-footer__name {
  margin: 0 !important;
  color: var(--iby-footer-text) !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.iby-shared-lp-footer__name::before,
.iby-shared-lp-footer__name::after {
  content: none !important;
  display: none !important;
}

.iby-shared-lp-footer__text,
.iby-shared-lp-footer__contact p {
  margin: 12px 0 0 !important;
  color: var(--iby-footer-subtext) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: 0.02em !important;
}

.iby-shared-lp-footer__links {
  display: grid !important;
  gap: 10px !important;
}

.iby-shared-lp-footer a {
  color: var(--iby-footer-link) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.iby-shared-lp-footer a:hover {
  color: var(--iby-footer-accent) !important;
}

.iby-shared-lp-footer__sns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.iby-shared-lp-footer__sns a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 8px 15px !important;
  border: 1px solid var(--iby-footer-chip-border) !important;
  border-radius: 999px !important;
  background: var(--iby-footer-chip-bg) !important;
  color: var(--iby-footer-link) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.iby-shared-lp-footer__sns a:hover {
  border-color: var(--iby-footer-accent) !important;
  background: rgba(255, 255, 255, 0.11) !important;
  color: var(--iby-footer-accent) !important;
}

.iby-shared-lp-footer__contact .wp-block-button__link,
.iby-shared-lp-footer__contact .iby-footer-btn,
.iby-shared-lp-footer__contact .iby-shared-lp-footer__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  min-width: 220px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--iby-footer-cta-bg) !important;
  color: var(--iby-footer-cta-text) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.iby-shared-lp-footer__copy {
  max-width: 1040px !important;
  margin: 42px auto 0 !important;
  padding: 20px 24px 0 !important;
  border-top: 1px solid var(--iby-footer-border) !important;
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* =========================================================
   3. Tablet
   ========================================================= */

@media screen and (max-width: 991px) {
  .iby-footer-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
  }

  .iby-footer-info {
    grid-column: 1 / -1 !important;
  }

  .iby-shared-lp-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    text-align: center !important;
  }

  .iby-shared-lp-footer__links {
    justify-items: center !important;
  }

  .iby-shared-lp-footer__sns {
    justify-content: center !important;
  }
}

/* =========================================================
   4. Smartphone
   ========================================================= */

@media screen and (max-width: 767px) {
  .iby-studio-footer,
  .iby-shared-lp-footer {
    margin-top: 48px !important;
    padding: 44px 24px 54px !important;
  }

  .iby-footer-inner,
  .iby-shared-lp-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  .iby-footer-brand,
  .iby-footer-info,
  .iby-footer-nav {
    width: 100% !important;
    max-width: 100% !important;
  }

  .iby-footer-name,
  .iby-shared-lp-footer__name {
    font-size: 1.12rem !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
  }

  .iby-footer-lead,
  .iby-shared-lp-footer__text,
  .iby-shared-lp-footer__contact p {
    max-width: 100% !important;
    font-size: 0.9rem !important;
    line-height: 1.9 !important;
    text-align: center !important;
  }

  .iby-footer-sns,
  .iby-shared-lp-footer__sns {
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 26px !important;
    margin-bottom: 4px !important;
  }

  .iby-footer-sns a,
  .iby-shared-lp-footer__sns a {
    min-width: 92px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 0.78rem !important;
  }

  .iby-footer-nav,
  .iby-shared-lp-footer__links {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 18px !important;
    justify-items: center !important;
  }

  .iby-footer-nav a,
  .iby-shared-lp-footer__links a {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  .iby-footer-info {
    font-size: 0.9rem !important;
    line-height: 1.9 !important;
    margin-top: 2px !important;
    text-align: center !important;
  }

  .iby-footer-tel {
    margin-top: 24px !important;
    margin-bottom: 20px !important;
  }

  .iby-footer-actions {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
  }

  .iby-footer-btn,
  .iby-shared-lp-footer__contact .wp-block-button__link,
  .iby-shared-lp-footer__contact .iby-footer-btn,
  .iby-shared-lp-footer__contact .iby-shared-lp-footer__btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    white-space: normal !important;
  }

  .iby-footer-contact {
    display: block !important;
    margin-top: 12px !important;
    text-align: center !important;
  }

  .iby-footer-bottom,
  .iby-shared-lp-footer__copy {
    margin-top: 44px !important;
    padding-top: 26px !important;
  }

  .iby-footer-copy,
  .iby-shared-lp-footer__copy {
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 0.72rem !important;
    line-height: 1.9 !important;
  }
}

/* =========================================================
   5. Hide Lightning default footer parts only on pages
      that actually contain a custom footer
   ========================================================= */

body:has(.iby-studio-footer) .siteFooter,
body:has(.iby-shared-lp-footer) .siteFooter {
  border-top: none !important;
}

body:has(.iby-studio-footer) .siteFooter::before,
body:has(.iby-studio-footer) .siteFooter::after,
body:has(.iby-shared-lp-footer) .siteFooter::before,
body:has(.iby-shared-lp-footer) .siteFooter::after {
  content: none !important;
  display: none !important;
}

body:has(.iby-studio-footer) .siteFooter-copyright,
body:has(.iby-studio-footer) .siteFooter .siteFooter-copyright,
body:has(.iby-studio-footer) .site-footer-copyright,
body:has(.iby-studio-footer) .footer-copyright,
body:has(.iby-studio-footer) .copySection,
body:has(.iby-studio-footer) .siteFooter .copySection,
body:has(.iby-studio-footer) .siteFooter .copySection p,
body:has(.iby-studio-footer) .siteFooter .copySection a,
body:has(.iby-shared-lp-footer) .siteFooter-copyright,
body:has(.iby-shared-lp-footer) .siteFooter .siteFooter-copyright,
body:has(.iby-shared-lp-footer) .site-footer-copyright,
body:has(.iby-shared-lp-footer) .footer-copyright,
body:has(.iby-shared-lp-footer) .copySection,
body:has(.iby-shared-lp-footer) .siteFooter .copySection,
body:has(.iby-shared-lp-footer) .siteFooter .copySection p,
body:has(.iby-shared-lp-footer) .siteFooter .copySection a {
  display: none !important;
}

/* =========================================================
   Footer PC Button Text Visibility Fix
   2026-06-26
   ========================================================= */

/* フッター内のWPボタンは、共通リンク指定より後ろで再上書きする */
.iby-studio-footer .wp-block-button__link,
.iby-studio-footer .wp-block-button__link:visited,
.iby-studio-footer .iby-footer-btn,
.iby-studio-footer .iby-footer-btn:visited,
.iby-shared-lp-footer .wp-block-button__link,
.iby-shared-lp-footer .wp-block-button__link:visited,
.iby-shared-lp-footer .iby-footer-btn,
.iby-shared-lp-footer .iby-footer-btn:visited,
.iby-shared-lp-footer .iby-shared-lp-footer__btn,
.iby-shared-lp-footer .iby-shared-lp-footer__btn:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  min-width: 220px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--iby-footer-cta-bg) !important;
  color: var(--iby-footer-cta-text) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ボタン内に span / strong が入っていても文字色を維持 */
.iby-studio-footer .wp-block-button__link *,
.iby-studio-footer .iby-footer-btn *,
.iby-shared-lp-footer .wp-block-button__link *,
.iby-shared-lp-footer .iby-footer-btn *,
.iby-shared-lp-footer .iby-shared-lp-footer__btn * {
  color: var(--iby-footer-cta-text) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.iby-studio-footer .wp-block-button__link:hover,
.iby-studio-footer .iby-footer-btn:hover,
.iby-shared-lp-footer .wp-block-button__link:hover,
.iby-shared-lp-footer .iby-footer-btn:hover,
.iby-shared-lp-footer .iby-shared-lp-footer__btn:hover {
  color: var(--iby-footer-cta-text) !important;
  opacity: 0.9 !important;
}

/* PCのみ：右カラムのボタンとテキストリンクの間隔を安定 */
@media (min-width: 768px) {
  .iby-studio-footer .iby-footer-actions,
  .iby-shared-lp-footer .iby-footer-actions,
  .iby-shared-lp-footer__contact {
    display: grid !important;
    gap: 12px !important;
    align-items: start !important;
    justify-items: start !important;
  }
}


/* =========================================================
   C1 Footer Stable Width Fix
   2026-06-26
   ※ C1フッターの横切れ防止。全幅化指定は解除して中央ボックスで安定表示。
   ========================================================= */

body:has(.iby-page.iby-design-c1) .iby-studio-footer,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
.iby-page.iby-design-c1 .iby-studio-footer,
.iby-page.iby-design-c1 .iby-shared-lp-footer {
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   C1 Footer Full Width Safe Fix
   2026-06-26
   C1のみ：フッター背景を画面幅いっぱいに戻し、
   中身は中央の安全幅に収めて左切れを防止。
   ========================================================= */

body:has(.iby-page.iby-design-c1) .iby-studio-footer,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
.iby-page.iby-design-c1 .iby-studio-footer,
.iby-page.iby-design-c1 .iby-shared-lp-footer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* C1フッター内のテキストが左端に寄りすぎないよう安全余白を確保 */
body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-name,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__name,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-name,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__name {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 767px) {
  body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  .iby-page.iby-design-c1 .iby-studio-footer,
  .iby-page.iby-design-c1 .iby-shared-lp-footer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
  body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
  .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
  .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom,
  .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}


/* =========================================================
   C1 Footer No Top Gap + Left Safe Adjustment
   2026-06-26
   C1のみ：フッター上の余白をなくし、左端の文字切れを防止。
   ========================================================= */

body:has(.iby-page.iby-design-c1) .iby-studio-footer,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
.iby-page.iby-design-c1 .iby-studio-footer,
.iby-page.iby-design-c1 .iby-shared-lp-footer {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  box-sizing: border-box !important;
}

/* C1では、親要素でクリップされても中身が左端で切れないよう、
   フッター内側の安全余白を少し広めに確保 */
body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
.iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 56px !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}

body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
.iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 56px !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}

/* 直前セクション側に残る外側余白も最小化 */
.iby-page.iby-design-c1 .iby-c1-final-cta,
.iby-page.iby-design-c1 .iby-c1-final-cta__inner {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  .iby-page.iby-design-c1 .iby-studio-footer,
  .iby-page.iby-design-c1 .iby-shared-lp-footer {
    margin-top: 0 !important;
  }

  body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
  body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
  .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
  .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom,
  .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* =========================================================
   C1 Footer Gap + Left Cut Final Fix
   2026-06-26
   C1のみ：フッター上余白を詰め、左カラムの文字切れを防止。
   ========================================================= */

/* 直前CTAの下余白を詰める */
html body .iby-page.iby-design-c1 .iby-c1-final-cta {
  margin-bottom: 0 !important;
  padding-bottom: 24px !important;
}

html body .iby-page.iby-design-c1 .iby-c1-final-cta__inner {
  margin-bottom: 0 !important;
}

/* フッター自体の上余白を完全に消す */
html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
html body .iby-page.iby-design-c1 .iby-studio-footer,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;

  /* 左端で文字が切れないよう、フッター本体側に安全余白を持たせる */
  padding-left: clamp(72px, 6vw, 104px) !important;
  padding-right: clamp(72px, 6vw, 104px) !important;
}

/* C1フッター内部：幅計算を安定化 */
html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer > .wp-block-group__inner-container,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
}

/* 左カラムの文字切れを個別に防止 */
html body:has(.iby-page.iby-design-c1) .iby-footer-brand,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__brand,
html body .iby-page.iby-design-c1 .iby-footer-brand,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer__brand {
  min-width: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  overflow: visible !important;
}

html body:has(.iby-page.iby-design-c1) .iby-footer-name,
html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__name,
html body .iby-page.iby-design-c1 .iby-footer-name,
html body .iby-page.iby-design-c1 .iby-shared-lp-footer__name {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
  overflow: visible !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

@media (max-width: 991px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

@media (max-width: 767px) {
  html body .iby-page.iby-design-c1 .iby-c1-final-cta {
    padding-bottom: 18px !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}


/* =========================================================
   C1 Footer - Contained Width Final
   2026-06-26
   C1のみ：フッター背景も全幅ではなく上のコンテンツ幅に合わせる
   ========================================================= */

@media (min-width: 768px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 64px 50px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
  html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
  html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer > .wp-block-group__inner-container,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-footer-name,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__name,
  html body .iby-page.iby-design-c1 .iby-footer-name,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer__name {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
  }
}

@media (min-width: 768px) and (max-width: 1160px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    max-width: calc(100vw - 64px) !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

@media (max-width: 767px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}


/* =========================================================
   C1 Footer - Contained Width Absolute Final
   2026-06-26
   フッター：全幅にせず、上コンテンツ幅に合わせる。
   ========================================================= */
@media (min-width: 768px) {
  /* フッター本体 */
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(1180px, calc(100vw - 64px)) !important;
    max-width: min(1180px, calc(100vw - 64px)) !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 64px 50px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* フッターがHTML/グループブロック内に入っている場合の親ブロックも幅を合わせる */
  html body:has(.iby-page.iby-design-c1) .wp-block-html:has(> .iby-studio-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-html:has(> .iby-shared-lp-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-group:has(> .iby-studio-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-group:has(> .iby-shared-lp-footer),
  html body .iby-page.iby-design-c1 .wp-block-html:has(> .iby-studio-footer),
  html body .iby-page.iby-design-c1 .wp-block-html:has(> .iby-shared-lp-footer),
  html body .iby-page.iby-design-c1 .wp-block-group:has(> .iby-studio-footer),
  html body .iby-page.iby-design-c1 .wp-block-group:has(> .iby-shared-lp-footer) {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* 内側カラム */
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-inner,
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer .iby-footer-bottom,
  html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-inner,
  html body .iby-page.iby-design-c1 .iby-studio-footer .iby-footer-bottom,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer .iby-shared-lp-footer__copy,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer .iby-shared-lp-footer__copy {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* 左端の文字切れ防止 */
  html body:has(.iby-page.iby-design-c1) .iby-footer-brand,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__brand,
  html body .iby-page.iby-design-c1 .iby-footer-brand,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer__brand,
  html body:has(.iby-page.iby-design-c1) .iby-footer-name,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__name,
  html body .iby-page.iby-design-c1 .iby-footer-name,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer__name {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
  }
}

@media (max-width: 767px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* =========================================================
   C1 Footer Contained Width - Strong Override
   2026-06-26
   フッター背景を全幅にせず、上のC1コンテンツ幅へ揃える
   ========================================================= */
@media (min-width: 768px) {
  html body .iby-studio-footer.iby-studio-footer.iby-studio-footer,
  html body .iby-shared-lp-footer.iby-shared-lp-footer.iby-shared-lp-footer,
  html body footer.iby-studio-footer.iby-studio-footer,
  html body div.iby-studio-footer.iby-studio-footer,
  html body section.iby-studio-footer.iby-studio-footer,
  html body footer.iby-shared-lp-footer.iby-shared-lp-footer,
  html body div.iby-shared-lp-footer.iby-shared-lp-footer,
  html body section.iby-shared-lp-footer.iby-shared-lp-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(1180px, calc(100vw - 64px)) !important;
    max-width: min(1180px, calc(100vw - 64px)) !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 64px 48px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* フッターを包むブロックに全幅背景が残る場合の解除 */
  html body .wp-block-html:has(.iby-studio-footer),
  html body .wp-block-html:has(.iby-shared-lp-footer),
  html body .wp-block-group:has(.iby-studio-footer),
  html body .wp-block-group:has(.iby-shared-lp-footer),
  html body .alignfull:has(.iby-studio-footer),
  html body .alignfull:has(.iby-shared-lp-footer) {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html body .iby-studio-footer .iby-footer-inner,
  html body .iby-studio-footer .iby-footer-bottom,
  html body .iby-shared-lp-footer .iby-shared-lp-footer__inner,
  html body .iby-shared-lp-footer .iby-shared-lp-footer__copy {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body .iby-studio-footer .iby-footer-name,
  html body .iby-shared-lp-footer .iby-shared-lp-footer__name {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

@media (max-width: 767px) {
  html body .iby-studio-footer.iby-studio-footer,
  html body .iby-shared-lp-footer.iby-shared-lp-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   C1 Footer Contained Width - Final Override in C1 CSS
   2026-06-26
   09-footer.cssより後にC1デザインCSSが読み込まれる場合でも、
   フッターを上のコンテンツ幅に揃えるための最終上書き。
   ========================================================= */
@media (min-width: 768px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body:has(.iby-page.iby-design-c1) .iby-c1-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-c1-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(1180px, calc(100vw - 64px)) !important;
    max-width: min(1180px, calc(100vw - 64px)) !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-c1-footer,
  html body .iby-page.iby-design-c1 .iby-c1-footer {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  html body:has(.iby-page.iby-design-c1) .wp-block-html:has(.iby-studio-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-html:has(.iby-shared-lp-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-html:has(.iby-c1-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-group:has(.iby-studio-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-group:has(.iby-shared-lp-footer),
  html body:has(.iby-page.iby-design-c1) .wp-block-group:has(.iby-c1-footer),
  html body:has(.iby-page.iby-design-c1) .alignfull:has(.iby-studio-footer),
  html body:has(.iby-page.iby-design-c1) .alignfull:has(.iby-shared-lp-footer),
  html body:has(.iby-page.iby-design-c1) .alignfull:has(.iby-c1-footer),
  html body .iby-page.iby-design-c1 .wp-block-html:has(.iby-studio-footer),
  html body .iby-page.iby-design-c1 .wp-block-html:has(.iby-shared-lp-footer),
  html body .iby-page.iby-design-c1 .wp-block-html:has(.iby-c1-footer),
  html body .iby-page.iby-design-c1 .wp-block-group:has(.iby-studio-footer),
  html body .iby-page.iby-design-c1 .wp-block-group:has(.iby-shared-lp-footer),
  html body .iby-page.iby-design-c1 .wp-block-group:has(.iby-c1-footer),
  html body .iby-page.iby-design-c1 .alignfull:has(.iby-studio-footer),
  html body .iby-page.iby-design-c1 .alignfull:has(.iby-shared-lp-footer),
  html body .iby-page.iby-design-c1 .alignfull:has(.iby-c1-footer) {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html body:has(.iby-page.iby-design-c1) .iby-footer-inner,
  html body:has(.iby-page.iby-design-c1) .iby-footer-bottom,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__inner,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer__copy,
  html body:has(.iby-page.iby-design-c1) .iby-c1-footer__inner,
  html body .iby-page.iby-design-c1 .iby-footer-inner,
  html body .iby-page.iby-design-c1 .iby-footer-bottom,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer__inner,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer__copy,
  html body .iby-page.iby-design-c1 .iby-c1-footer__inner {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  html body:has(.iby-page.iby-design-c1) .iby-studio-footer,
  html body:has(.iby-page.iby-design-c1) .iby-shared-lp-footer,
  html body:has(.iby-page.iby-design-c1) .iby-c1-footer,
  html body .iby-page.iby-design-c1 .iby-studio-footer,
  html body .iby-page.iby-design-c1 .iby-shared-lp-footer,
  html body .iby-page.iby-design-c1 .iby-c1-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }
}
/* =========================================================
   C2 FOOTER FINAL
   濃い緑 + 上余白なし + C2本体幅に合わせる
   2026-06-27
========================================================= */

/* フッターを包むブロックの幅・余白を整理 */
@media (min-width: 768px) {
  html body .wp-block-html:has(footer.iby-studio-footer.is-c2),
  html body .wp-block-group:has(footer.iby-studio-footer.is-c2),
  html body .alignfull:has(footer.iby-studio-footer.is-c2),
  html body .widget_custom_html:has(footer.iby-studio-footer.is-c2),
  html body .textwidget:has(footer.iby-studio-footer.is-c2) {
    width: 100% !important;
    max-width: 1060px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
}

/* フッター本体 */
html body footer.iby-studio-footer.is-c2 {
  background: #3F4B38 !important;
  color: #ffffff !important;

  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;

  width: 100% !important;
  max-width: 1060px !important;
  min-width: 0 !important;

  margin: 0 auto !important;
  padding: 56px 48px 30px !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
  border: none !important;
}

/* C2末尾CTAとフッターの間に余白を戻す */
html body .iby-page.iby-design-c2 .iby-c2-final-cta {
  margin-bottom: 0 !important;
  padding-bottom: 56px !important;
}

html body .iby-page.iby-design-c2 .iby-c2-final-cta__inner {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* entry-content側に残る最後の余白対策 */
html body .iby-page.iby-design-c2 .entry-content > *:last-child,
html body .iby-page.iby-design-c2 .post-contents > *:last-child {
  margin-bottom: 0 !important;
}

/* 中身3カラム */
html body footer.iby-studio-footer.is-c2 .iby-footer-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(280px, 1.15fr) minmax(180px, 0.65fr) minmax(260px, 0.9fr) !important;
  gap: 44px !important;
  align-items: start !important;

  box-sizing: border-box !important;
}

/* 左・中央・右カラム */
html body footer.iby-studio-footer.is-c2 .iby-footer-brand,
html body footer.iby-studio-footer.is-c2 .iby-footer-nav,
html body footer.iby-studio-footer.is-c2 .iby-footer-info {
  min-width: 0 !important;
}

/* 下段 */
html body footer.iby-studio-footer.is-c2 .iby-footer-bottom {
  width: 100% !important;
  max-width: 100% !important;
  margin: 42px auto 0 !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-sizing: border-box !important;
}

/* 基本文字色 */
html body footer.iby-studio-footer.is-c2,
html body footer.iby-studio-footer.is-c2 p,
html body footer.iby-studio-footer.is-c2 span,
html body footer.iby-studio-footer.is-c2 address,
html body footer.iby-studio-footer.is-c2 .iby-footer-lead,
html body footer.iby-studio-footer.is-c2 .iby-footer-info,
html body footer.iby-studio-footer.is-c2 .iby-footer-address,
html body footer.iby-studio-footer.is-c2 .iby-footer-address span {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* 見出し・メニュー */
html body footer.iby-studio-footer.is-c2 .iby-footer-name,
html body footer.iby-studio-footer.is-c2 .iby-footer-nav a {
  color: #ffffff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* メニュー */
html body footer.iby-studio-footer.is-c2 .iby-footer-nav {
  display: grid !important;
  gap: 14px !important;
}

/* SNS */
html body footer.iby-studio-footer.is-c2 .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-sns a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 36px !important;
  padding: 0 16px !important;

  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.08) !important;

  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-sns a:hover {
  border-color: #D8C88B !important;
  background: rgba(216, 200, 139, 0.16) !important;
  color: #D8C88B !important;
}

/* 電話番号 */
html body footer.iby-studio-footer.is-c2 .iby-footer-tel {
  margin: 20px 0 24px !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-tel span {
  color: rgba(255, 255, 255, 0.82) !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-tel a {
  color: #ffffff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* 右カラムCTA */
html body footer.iby-studio-footer.is-c2 .iby-footer-actions {
  display: grid !important;
  gap: 12px !important;
  max-width: 280px !important;
}

/* 体験予約ボタン */
html body footer.iby-studio-footer.is-c2 .iby-footer-btn,
html body footer.iby-studio-footer.is-c2 .iby-footer-btn:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 280px !important;
  min-height: 46px !important;
  padding: 0 20px !important;

  border-radius: 999px !important;
  border: 1px solid #ffffff !important;
  background: #ffffff !important;
  color: #3F4B38 !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-sizing: border-box !important;
  box-shadow: none !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-btn *,
html body footer.iby-studio-footer.is-c2 .iby-footer-btn:hover {
  color: #3F4B38 !important;
}

/* お問い合わせリンク */
html body footer.iby-studio-footer.is-c2 .iby-footer-contact,
html body footer.iby-studio-footer.is-c2 .iby-footer-contact:visited {
  display: inline-block !important;
  margin-top: 12px !important;

  color: #ffffff !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

html body footer.iby-studio-footer.is-c2 .iby-footer-contact:hover {
  color: #D8C88B !important;
}

/* コピーライト */
html body footer.iby-studio-footer.is-c2 .iby-footer-copy {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  text-align: center !important;
}

/* スマホ */
@media (max-width: 767px) {
  html body .wp-block-html:has(footer.iby-studio-footer.is-c2),
  html body .wp-block-group:has(footer.iby-studio-footer.is-c2),
  html body .alignfull:has(footer.iby-studio-footer.is-c2),
  html body .widget_custom_html:has(footer.iby-studio-footer.is-c2),
  html body .textwidget:has(footer.iby-studio-footer.is-c2) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  html body footer.iby-studio-footer.is-c2 {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 auto 24px !important;
    padding: 42px 24px 50px !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-sns {
    justify-content: center !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 18px !important;
    justify-items: center !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-info {
    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-actions {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body footer.iby-studio-footer.is-c2 .iby-footer-btn {
    width: 100% !important;
    max-width: none !important;
  }
}
/* =========================================================
   C2 FOOTER WIDTH FORCE FINAL
   既存の強いフッター幅指定をC2だけ上書き
========================================================= */

@media (min-width: 768px) {
  html body footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2,
  html body .iby-page.iby-design-c2 footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2 {
width: 1110px !important;
max-width: 1110px !important;
    min-width: 0 !important;

    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;

    padding: 56px 48px 30px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #3F4B38 !important;
  }

  html body .wp-block-html:has(footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2),
  html body .wp-block-group:has(footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2),
  html body .alignfull:has(footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2),
  html body .widget_custom_html:has(footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2),
  html body .textwidget:has(footer.iby-studio-footer.iby-studio-footer.iby-studio-footer.is-c2) {
width: 1110px !important;
max-width: 1110px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    overflow: visible !important;
  }
}
/* =========================================================
   09-footer.css
   イルチブレインヨガ スタジオ共通フッター
   吉野教室対応
========================================================= */

/* フッター周辺の余白 */
body .siteFooter,
body footer {
  margin-top: 56px;
}

/* Lightning側の余計な上線・背景を弱める */
body .siteFooter {
  border-top: none !important;
  background: #f8f7f5 !important;
}

/* カスタムHTMLフッター本体 */
.ilchi-site-footer,
.ilchi-renewal-footer,
.ilchi-footer,
.iby-lp-footer {
  width: calc(100% - 40px);
  max-width: 1080px;
  margin: 64px auto 0;
  padding: 44px 48px 24px;
  background: #5a3f43;
  color: #fff;
  box-sizing: border-box;
}

/* 中身の3カラム */
.ilchi-site-footer__inner,
.ilchi-footer__inner,
.iby-lp-footer__inner {
  display: grid;
  grid-template-columns: 1.4fr 0.9fr 1fr;
  gap: 48px;
  align-items: start;
}

/* 見出し */
.ilchi-site-footer h2,
.ilchi-site-footer h3,
.ilchi-site-footer h4,
.ilchi-renewal-footer h2,
.ilchi-renewal-footer h3,
.ilchi-renewal-footer h4,
.ilchi-footer h2,
.ilchi-footer h3,
.ilchi-footer h4,
.iby-lp-footer h2,
.iby-lp-footer h3,
.iby-lp-footer h4 {
  margin: 0 0 14px;
  padding: 0;
  border: none !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  box-shadow: none !important;
}

/* 本文 */
.ilchi-site-footer p,
.ilchi-renewal-footer p,
.ilchi-footer p,
.iby-lp-footer p {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  line-height: 1.9;
}

/* リンク */
.ilchi-site-footer a,
.ilchi-renewal-footer a,
.ilchi-footer a,
.iby-lp-footer a {
  color: #fff !important;
  text-decoration: none;
}

.ilchi-site-footer a:hover,
.ilchi-renewal-footer a:hover,
.ilchi-footer a:hover,
.iby-lp-footer a:hover {
  color: #ffe5d6 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* メニューリスト */
.ilchi-site-footer ul,
.ilchi-renewal-footer ul,
.ilchi-footer ul,
.iby-lp-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ilchi-site-footer li,
.ilchi-renewal-footer li,
.ilchi-footer li,
.iby-lp-footer li {
  margin: 0 0 8px;
  padding: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  line-height: 1.7;
}

/* 連絡先 */
.ilchi-site-footer .ilchi-footer-tel,
.ilchi-renewal-footer .ilchi-footer-tel,
.ilchi-footer .ilchi-footer-tel,
.iby-lp-footer .ilchi-footer-tel {
  margin: 10px 0 14px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

/* フッター内ボタン */
.ilchi-site-footer .ilchi-footer-button,
.ilchi-renewal-footer .ilchi-footer-button,
.ilchi-footer .ilchi-footer-button,
.iby-lp-footer .ilchi-footer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 36px;
  margin-top: 8px;
  padding: 8px 18px;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 999px;
  color: #5a3f43 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}

.ilchi-site-footer .ilchi-footer-button:hover,
.ilchi-renewal-footer .ilchi-footer-button:hover,
.ilchi-footer .ilchi-footer-button:hover,
.iby-lp-footer .ilchi-footer-button:hover {
  background: #fff3ec;
  color: #d95f24 !important;
  text-decoration: none !important;
}

/* SNS・小リンク */
.ilchi-site-footer .ilchi-footer-sns,
.ilchi-renewal-footer .ilchi-footer-sns,
.ilchi-footer .ilchi-footer-sns,
.iby-lp-footer .ilchi-footer-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.ilchi-site-footer .ilchi-footer-sns a,
.ilchi-renewal-footer .ilchi-footer-sns a,
.ilchi-footer .ilchi-footer-sns a,
.iby-lp-footer .ilchi-footer-sns a {
  font-size: 12px;
  font-weight: 700;
}

/* 下部コピーライト */
.ilchi-site-footer__copy,
.ilchi-footer__copy,
.iby-lp-footer__copy {
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
}

/* 画像・QRがある場合 */
.ilchi-site-footer img,
.ilchi-renewal-footer img,
.ilchi-footer img,
.iby-lp-footer img {
  max-width: 100%;
  height: auto;
}

/* Lightningウィジェット内に入れた場合の余白調整 */
.siteFooter .widget {
  margin-bottom: 0;
}

.siteFooter .widget_custom_html {
  margin-bottom: 0;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body .siteFooter,
  body footer {
    margin-top: 42px;
  }

  .ilchi-site-footer,
  .ilchi-renewal-footer,
  .ilchi-footer,
  .iby-lp-footer {
    width: calc(100% - 32px);
    margin: 44px auto 0;
    padding: 34px 24px 22px;
  }

  .ilchi-site-footer__inner,
  .ilchi-footer__inner,
  .iby-lp-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ilchi-site-footer h2,
  .ilchi-site-footer h3,
  .ilchi-site-footer h4,
  .ilchi-renewal-footer h2,
  .ilchi-renewal-footer h3,
  .ilchi-renewal-footer h4,
  .ilchi-footer h2,
  .ilchi-footer h3,
  .ilchi-footer h4,
  .iby-lp-footer h2,
  .iby-lp-footer h3,
  .iby-lp-footer h4 {
    font-size: 15px;
  }

  .ilchi-site-footer p,
  .ilchi-renewal-footer p,
  .ilchi-footer p,
  .iby-lp-footer p,
  .ilchi-site-footer li,
  .ilchi-renewal-footer li,
  .ilchi-footer li,
  .iby-lp-footer li {
    font-size: 13px;
  }

  .ilchi-site-footer .ilchi-footer-button,
  .ilchi-renewal-footer .ilchi-footer-button,
  .ilchi-footer .ilchi-footer-button,
  .iby-lp-footer .ilchi-footer-button {
    width: 100%;
    min-width: 0;
  }

  .ilchi-site-footer__copy,
  .ilchi-footer__copy,
  .iby-lp-footer__copy {
    margin-top: 28px;
    text-align: left;
  }
}
/* =========================================================
   フッター上の青いライン削除
   Lightning / ExUnit 対応
========================================================= */

body .siteFooter,
body .siteFooter *,
body footer,
body footer * {
  border-top-color: transparent;
}

/* フッターエリアの上線を確実に消す */
body .siteFooter,
body .siteFooter .container,
body .siteFooter .sectionBox,
body .siteFooter .widget,
body .siteFooter .widget_custom_html,
body .siteFooter .footerWidget,
body .siteFooter .footerMenu,
body footer,
body footer .container,
body footer .sectionBox,
body footer .widget,
body footer .widget_custom_html,
body footer .footerWidget,
body footer .footerMenu {
  border-top: none !important;
  box-shadow: none !important;
}

/* Lightningのコピーライト上部線対策 */
body .siteFooter .copySection,
body .siteFooter .copySection .container,
body .copySection,
body .copySection .container {
  border-top: none !important;
  box-shadow: none !important;
}

/* 念のため、背景画像や疑似要素の線も消す */
body .siteFooter::before,
body .siteFooter::after,
body footer::before,
body footer::after,
body .copySection::before,
body .copySection::after {
  content: none !important;
  display: none !important;
  border: none !important;
  background: none !important;
}
/* =========================================================
   吉野フッター：段差・二重背景の解消
========================================================= */

/* Lightning側のフッター余白をリセット */
body .siteFooter {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .siteFooter .container,
body .siteFooter .container-fluid,
body .siteFooter .sectionBox,
body .siteFooter .widget,
body .siteFooter .widget_custom_html {
  border-top: none !important;
  box-shadow: none !important;
}

/* 外側のフッター本体だけを茶色の箱にする */
body .siteFooter .ilchi-site-footer {
  display: block !important;
  width: calc(100% - 40px) !important;
  max-width: 1080px !important;
  margin: 56px auto 0 !important;
  padding: 44px 48px 24px !important;
  background: #5a3f43 !important;
  color: #fff !important;
  box-sizing: border-box !important;
}

/* 内側に ilchi-footer / iby-lp-footer 等が入っている場合は背景・余白を消す */
body .siteFooter .ilchi-site-footer .ilchi-renewal-footer,
body .siteFooter .ilchi-site-footer .ilchi-footer,
body .siteFooter .ilchi-site-footer .iby-lp-footer {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 内側のカラム */
body .siteFooter .ilchi-site-footer__inner,
body .siteFooter .ilchi-footer__inner,
body .siteFooter .iby-lp-footer__inner {
  display: grid !important;
  grid-template-columns: 1.4fr 0.9fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* コピーライト線 */
body .siteFooter .ilchi-site-footer__copy,
body .siteFooter .ilchi-footer__copy,
body .siteFooter .iby-lp-footer__copy {
  margin-top: 34px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body .siteFooter .ilchi-site-footer {
    width: calc(100% - 32px) !important;
    margin: 42px auto 0 !important;
    padding: 34px 24px 22px !important;
  }

  body .siteFooter .ilchi-site-footer__inner,
  body .siteFooter .ilchi-footer__inner,
  body .siteFooter .iby-lp-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body .siteFooter .ilchi-site-footer__copy,
  body .siteFooter .ilchi-footer__copy,
  body .siteFooter .iby-lp-footer__copy {
    text-align: left !important;
  }
}
/* =========================================================
   吉野フッター最終調整
   iby-studio-footer 用
========================================================= */

/* Lightning側フッター背景・線をリセット */
body .siteFooter,
body footer.siteFooter,
body .siteFooter .container,
body .siteFooter .widget,
body .siteFooter .widget_custom_html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 古い外側ラッパーが残っていても無効化 */
body .siteFooter .ilchi-site-footer {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* フッター本体 */
body .siteFooter .iby-studio-footer,
body footer.iby-studio-footer {
  display: block !important;
  width: calc(100% - 40px) !important;
  max-width: 1080px !important;
  margin: 56px auto 0 !important;
  padding: 48px 56px 28px !important;
  background: #5a3f43 !important;
  color: #fff !important;
  box-sizing: border-box !important;
  border: none !important;
  box-shadow: none !important;
}

/* 内側3カラム */
body .iby-studio-footer .iby-footer-inner {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr 1fr !important;
  gap: 56px !important;
  align-items: start !important;
}

/* テキスト共通 */
body .iby-studio-footer p,
body .iby-studio-footer address,
body .iby-studio-footer a {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

/* スタジオ名 */
body .iby-studio-footer .iby-footer-name {
  margin: 0 0 20px !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

/* 説明文 */
body .iby-studio-footer .iby-footer-lead {
  margin: 0 0 28px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 14px !important;
  line-height: 2 !important;
}

/* SNS */
body .iby-studio-footer .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 28px !important;
  margin-top: 22px !important;
}

body .iby-studio-footer .iby-footer-sns a {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body .iby-studio-footer .iby-footer-sns a:hover {
  color: #ffe5d6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* 中央メニュー */
body .iby-studio-footer .iby-footer-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
}

body .iby-studio-footer .iby-footer-nav a {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

body .iby-studio-footer .iby-footer-nav a:hover {
  color: #ffe5d6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* 住所 */
body .iby-studio-footer .iby-footer-address {
  margin: 0 0 28px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

body .iby-studio-footer .iby-footer-address span {
  display: block !important;
}

/* 電話 */
body .iby-studio-footer .iby-footer-tel {
  margin: 0 0 24px !important;
}

body .iby-studio-footer .iby-footer-tel span {
  display: block !important;
  margin-bottom: 6px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 13px !important;
}

body .iby-studio-footer .iby-footer-tel a {
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

/* CTA */
body .iby-studio-footer .iby-footer-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  align-items: flex-start !important;
}

body .iby-studio-footer .iby-footer-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 230px !important;
  min-height: 44px !important;
  padding: 10px 24px !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 999px !important;
  color: #5a3f43 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body .iby-studio-footer .iby-footer-btn:hover {
  background: #fff3ec !important;
  color: #d95f24 !important;
  text-decoration: none !important;
}

body .iby-studio-footer .iby-footer-contact {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body .iby-studio-footer .iby-footer-contact:hover {
  color: #ffe5d6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* 下部コピーライト */
body .iby-studio-footer .iby-footer-bottom {
  margin-top: 52px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  text-align: center !important;
}

body .iby-studio-footer .iby-footer-copy {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body .siteFooter .iby-studio-footer,
  body footer.iby-studio-footer {
    width: calc(100% - 32px) !important;
    margin: 42px auto 0 !important;
    padding: 36px 24px 24px !important;
  }

  body .iby-studio-footer .iby-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body .iby-studio-footer .iby-footer-name {
    font-size: 18px !important;
  }

  body .iby-studio-footer .iby-footer-lead,
  body .iby-studio-footer .iby-footer-nav a,
  body .iby-studio-footer .iby-footer-address,
  body .iby-studio-footer .iby-footer-contact {
    font-size: 13px !important;
  }

  body .iby-studio-footer .iby-footer-tel a {
    font-size: 20px !important;
  }

  body .iby-studio-footer .iby-footer-sns {
    gap: 20px !important;
  }

  body .iby-studio-footer .iby-footer-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .iby-studio-footer .iby-footer-bottom {
    margin-top: 36px !important;
    text-align: left !important;
  }
}
/* =========================================================
   吉野フッター上の青線を完全削除
   Lightning / ExUnit / footer widget 対応
========================================================= */

/* フッター直前・フッター本体の上線を削除 */
body .siteFooter,
body .site-footer,
body #site-footer,
body #footer,
body footer,
body .footerSection,
body .footerWidget,
body .footerMenu,
body .copySection {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* フッター内のコンテナに出る線も削除 */
body .siteFooter .container,
body .siteFooter .container-fluid,
body .siteFooter .sectionBox,
body .siteFooter .widget,
body .siteFooter .widget_custom_html,
body .footerSection .container,
body .footerWidget .container,
body .copySection .container {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* 疑似要素で出る線対策 */
body .siteFooter::before,
body .siteFooter::after,
body .site-footer::before,
body .site-footer::after,
body footer::before,
body footer::after,
body .footerSection::before,
body .footerSection::after,
body .footerWidget::before,
body .footerWidget::after,
body .copySection::before,
body .copySection::after {
  content: none !important;
  display: none !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* 本文エリアの下線として出ている場合の保険 */
body .siteContent,
body .siteContent .container,
body .siteContent .container-fluid,
body .mainSection,
body .entry-body,
body .entry-content,
body main,
body #main {
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
/* =========================================================
   吉野フッター：リンクがクリックできない問題の修正
========================================================= */

/* フッター全体をクリック可能に戻す */
body .iby-studio-footer,
body .iby-studio-footer * {
  pointer-events: auto !important;
}

/* フッター内リンクを前面に出す */
body .iby-studio-footer a,
body .iby-studio-footer .iby-footer-nav a,
body .iby-studio-footer .iby-footer-sns a,
body .iby-studio-footer .iby-footer-btn,
body .iby-studio-footer .iby-footer-contact,
body .iby-studio-footer .iby-footer-tel a {
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* フッター内のカラムも前面に */
body .iby-studio-footer .iby-footer-inner,
body .iby-studio-footer .iby-footer-brand,
body .iby-studio-footer .iby-footer-nav,
body .iby-studio-footer .iby-footer-info,
body .iby-studio-footer .iby-footer-actions {
  position: relative !important;
  z-index: 20 !important;
}

/* 透明な疑似要素がかぶっている場合の対策 */
body .iby-studio-footer::before,
body .iby-studio-footer::after,
body .iby-studio-footer .iby-footer-inner::before,
body .iby-studio-footer .iby-footer-inner::after,
body .iby-studio-footer .iby-footer-nav::before,
body .iby-studio-footer .iby-footer-nav::after {
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}
```css id="i8wn9w"
/* =========================================================
   FOOTER SNS LINK BORDER
   フッターSNSリンクをボタン風に調整
========================================================= */

.iby-studio-footer .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.iby-studio-footer .iby-footer-sns a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  padding: 8px 14px !important;

  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;

  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 999px !important;
}

.iby-studio-footer .iby-footer-sns a:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}
```
