@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: 0px 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: 0px !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;
  }
}


/* =========================================================
   TAKARAZUKA SECOND LAYER FOOTER CENTER FINAL
   固定ページ用：宝塚フッター中央寄せ最終調整
   2026-07-05
========================================================= */

/* 固定ページのLightningフッター外枠をリセット */
html body.ilchi-second-layer-page .siteFooter,
html body.ilchi-second-layer-page footer.siteFooter,
html body.ilchi-second-layer-page .siteFooter .container,
html body.ilchi-second-layer-page .siteFooter .container-fluid,
html body.ilchi-second-layer-page .siteFooter .site-footer-content,
html body.ilchi-second-layer-page .siteFooter .site-footer-content .container,
html body.ilchi-second-layer-page .siteFooter .site-footer-content .row,
html body.ilchi-second-layer-page .siteFooter .widget,
html body.ilchi-second-layer-page .siteFooter .widget_custom_html,
html body.ilchi-second-layer-page .siteFooter .textwidget {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* 固定ページのFooter Widgetカラム解除 */
html body.ilchi-second-layer-page .siteFooter [class*="col-"],
html body.ilchi-second-layer-page footer.site-footer [class*="col-"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 宝塚フッター本体を固定ページでも中央へ */
html body.ilchi-second-layer-page footer.iby-studio-footer.is-c1.is-takarazuka,
html body.ilchi-second-layer-page .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka,
html body.ilchi-second-layer-page .widget_custom_html footer.iby-studio-footer.is-c1.is-takarazuka,
html body.ilchi-second-layer-page .textwidget footer.iby-studio-footer.is-c1.is-takarazuka {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;

  display: block !important;

  width: min(1120px, calc(100vw - 40px)) !important;
  max-width: min(1120px, calc(100vw - 40px)) !important;
  min-width: 0 !important;

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

  padding: 64px 56px 32px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;

  background: #2F4635 !important;
}

/* /studio/ だけ過去の上方向移動を解除 */
html body.ilchi-second-layer-studio footer.iby-studio-footer.is-c1.is-takarazuka,
html body.ilchi-second-layer-studio .iby-studio-footer.is-c1.is-takarazuka {
  top: auto !important;
  margin-bottom: 0 !important;
}

/* 内側カラム */
html body.ilchi-second-layer-page footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-inner,
html body.ilchi-second-layer-page footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-bottom {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  html body.ilchi-second-layer-page footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.ilchi-second-layer-page .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-top: 40px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 42px 24px 50px !important;
  }

  html body.ilchi-second-layer-page footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    text-align: center !important;
  }
}
/* =========================================================
   TAKARAZUKA TOP FOOTER CENTER FINAL
   TOPページのみ：宝塚フッター中央寄せ
   2026-07-05
========================================================= */

@media screen and (min-width: 768px) {

  /* TOPページのLightningフッター外枠を全幅化 */
  html body.home .siteFooter,
  html body.front-page .siteFooter,
  html body.home footer.siteFooter,
  html body.front-page footer.siteFooter,
  html body.home .siteFooter .container,
  html body.front-page .siteFooter .container,
  html body.home .siteFooter .container-fluid,
  html body.front-page .siteFooter .container-fluid,
  html body.home .siteFooter .site-footer-content,
  html body.front-page .siteFooter .site-footer-content,
  html body.home .siteFooter .site-footer-content .container,
  html body.front-page .siteFooter .site-footer-content .container,
  html body.home .siteFooter .site-footer-content .row,
  html body.front-page .siteFooter .site-footer-content .row,
  html body.home .siteFooter .widget,
  html body.front-page .siteFooter .widget,
  html body.home .siteFooter .widget_custom_html,
  html body.front-page .siteFooter .widget_custom_html,
  html body.home .siteFooter .textwidget,
  html body.front-page .siteFooter .textwidget {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* TOPページのフッターウィジェットカラム解除 */
  html body.home .siteFooter [class*="col-"],
  html body.front-page .siteFooter [class*="col-"],
  html body.home footer.site-footer [class*="col-"],
  html body.front-page footer.site-footer [class*="col-"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 宝塚TOPフッター本体を中央寄せ */
  html body.home footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.home .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.home .widget_custom_html footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page .widget_custom_html footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.home .textwidget footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page .textwidget footer.iby-studio-footer.is-c1.is-takarazuka {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    display: block !important;

    width: min(1120px, calc(100vw - 40px)) !important;
    max-width: min(1120px, calc(100vw - 40px)) !important;
    min-width: 0 !important;

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

    padding: 64px 56px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #2F4635 !important;
  }

  /* TOPページの内側カラム */
  html body.home footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-inner,
  html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-inner,
  html body.home footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-bottom,
  html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-bottom {
    width: 100% !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 767px) {
  html body.home footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.home .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 42px 24px 50px !important;
  }
}
/* =========================================================
   TAKARAZUKA TOP FOOTER GAP REMOVE
   TOPページ：最終CTA下〜フッター上の余白を削除
   2026-07-05
========================================================= */

/* TOPページの最終CTA下余白を詰める */
html body.home .iby-page.iby-design-c1 .iby-c1-final-cta,
html body.front-page .iby-page.iby-design-c1 .iby-c1-final-cta {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 最終CTA内側の下余白も詰める */
html body.home .iby-page.iby-design-c1 .iby-c1-final-cta__inner,
html body.front-page .iby-page.iby-design-c1 .iby-c1-final-cta__inner {
  margin-bottom: 0 !important;
}

/* TOPページのフッター上余白を削除 */
html body.home footer.iby-studio-footer.is-c1.is-takarazuka,
html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka,
html body.home .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka,
html body.front-page .siteFooter footer.iby-studio-footer.is-c1.is-takarazuka {
  margin-top: 0 !important;
}

/* フッターウィジェット側に残る上余白も削除 */
html body.home .siteFooter,
html body.front-page .siteFooter,
html body.home .siteFooter .widget,
html body.front-page .siteFooter .widget,
html body.home .siteFooter .widget_custom_html,
html body.front-page .siteFooter .widget_custom_html,
html body.home .siteFooter .textwidget,
html body.front-page .siteFooter .textwidget {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* =========================================================
   TAKARAZUKA TOP FOOTER GAP PULL UP FINAL
   TOPページ：最終CTA下〜フッター上の白余白を引き上げて解消
   2026-07-05
========================================================= */

/* TOPページ・C1ページ内の最後の余白を削除 */
html body.home .entry-content,
html body.front-page .entry-content,
html body:has(.iby-page.iby-design-c1) .entry-content,
html body.home .post-contents,
html body.front-page .post-contents,
html body:has(.iby-page.iby-design-c1) .post-contents,
html body.home .siteContent,
html body.front-page .siteContent,
html body:has(.iby-page.iby-design-c1) .siteContent {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* TOPページの最後のブロック下余白を削除 */
html body.home .entry-content > *:last-child,
html body.front-page .entry-content > *:last-child,
html body:has(.iby-page.iby-design-c1) .entry-content > *:last-child,
html body.home .post-contents > *:last-child,
html body.front-page .post-contents > *:last-child,
html body:has(.iby-page.iby-design-c1) .post-contents > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* フッターを包むブロック側の余白を削除 */
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) footer.siteFooter,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter .container,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter .container-fluid,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter .widget,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter .widget_custom_html,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .siteFooter .textwidget,
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .wp-block-html:has(footer.iby-studio-footer.is-c1.is-takarazuka),
html body:has(footer.iby-studio-footer.is-c1.is-takarazuka) .wp-block-group:has(footer.iby-studio-footer.is-c1.is-takarazuka) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 宝塚フッターだけを上へ引き上げる */
html body.home footer.iby-studio-footer.is-c1.is-takarazuka,
html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka,
html body:has(.iby-page.iby-design-c1) footer.iby-studio-footer.is-c1.is-takarazuka {
  margin-top: -50px !important;
}

/* スマホは引き上げすぎない */
@media screen and (max-width: 767px) {
  html body.home footer.iby-studio-footer.is-c1.is-takarazuka,
  html body.front-page footer.iby-studio-footer.is-c1.is-takarazuka,
  html body:has(.iby-page.iby-design-c1) footer.iby-studio-footer.is-c1.is-takarazuka {
    margin-top: -36px !important;
  }
}
/* =========================================================
   TAKARAZUKA FOOTER NAV GAP ADJUST
   宝塚フッター：中央メニューの行間調整
   2026-07-05
========================================================= */

html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-nav {
  gap: 18px !important;
}

html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-nav a {
  line-height: 1.65 !important;
}
/* =========================================================
   TAKARAZUKA FOOTER MOBILE CONTACT CENTER
   宝塚フッター：スマホ時のお問い合わせリンク中央寄せ
   2026-07-05
========================================================= */

@media screen and (max-width: 767px) {

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-contact-link {
    width: 100% !important;
    margin-top: 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-contact,
  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-contact:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-actions {
    align-items: center !important;
    text-align: center !important;
  }
}

/* =========================================================
   TAKARAZUKA FOOTER SCOPE CONSOLIDATION
   宝塚：フッター最終スコープ整理
   2026-07-06
   ※ footer.iby-studio-footer.is-c1.is-takarazuka のみに限定
========================================================= */

html body footer.iby-studio-footer.is-c1.is-takarazuka {
  --iby-footer-bg: #2F4635;
  --iby-footer-accent: #C8D6AA;
  --iby-footer-cta-text: #2F4635;

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

  display: block !important;
  width: min(1120px, calc(100vw - 40px)) !important;
  max-width: min(1120px, calc(100vw - 40px)) !important;
  min-width: 0 !important;

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

  padding: 64px 56px 32px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;

  background: var(--iby-footer-bg) !important;
  color: var(--iby-footer-text) !important;
}

html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-inner,
html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-bottom {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-sns {
  justify-content: flex-start !important;
}

html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-actions {
  justify-items: start !important;
}

@media screen and (max-width: 767px) {
  html body footer.iby-studio-footer.is-c1.is-takarazuka {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 42px 24px 50px !important;
  }

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

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-brand,
  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-info,
  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-nav {
    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-lead {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-sns,
  html body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-actions {
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
  }
}

/* ==================================================
   宝塚 C1 Footer：上部の青線リセット
   追加場所：09-footer.css の一番下
   ================================================== */

body .iby-page.iby-design-c1 footer.iby-studio-footer.is-c1.is-takarazuka,
body footer.iby-studio-footer.is-c1.is-takarazuka {
  border-top: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* フッター直前のテーマ由来ライン対策 */
body .iby-page.iby-design-c1 footer.iby-studio-footer.is-c1.is-takarazuka::before,
body footer.iby-studio-footer.is-c1.is-takarazuka::before {
  display: none !important;
  content: none !important;
}

/* Lightning / ブロックテーマ側の青線が出る場合の保険 */
body .iby-page.iby-design-c1 + footer,
body .iby-page.iby-design-c1 footer,
body .site-footer,
body .footerSection {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}
/* ==================================================
   宝塚 C1 Footer：SNSリンクをボタン表示に戻す
   追加場所：09-footer.css の一番下
   ================================================== */

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

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

  min-width: 92px !important;
  min-height: 34px !important;
  padding: 7px 14px !important;

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

  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em !important;

  box-sizing: border-box !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-sns a:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* スマホ：中央寄せ・詰まり防止 */
@media (max-width: 640px) {
  body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-sns {
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 24px !important;
  }

  body footer.iby-studio-footer.is-c1.is-takarazuka .iby-footer-sns a {
    min-width: 86px !important;
    min-height: 32px !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
  }
}
/* =========================================================
   奈良フッター：SNSリンクをボタン化
========================================================= */

.iby-studio-footer.is-nara .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

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

  min-width: 120px !important;
  min-height: 40px !important;
  padding: 9px 18px !important;

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

  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  box-sizing: border-box !important;
}

.iby-studio-footer.is-nara .iby-footer-sns a:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* スマホ：横幅が狭い時も崩れないように */
@media screen and (max-width: 767px) {
  .iby-studio-footer.is-nara .iby-footer-sns {
    gap: 10px !important;
  }

  .iby-studio-footer.is-nara .iby-footer-sns a {
    min-width: 96px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}
/* =========================================================
   奈良 C1 TOP：最終CTA下背景を残してフッターへ接続
========================================================= */

html body .iby-page.iby-design-c1.is-nara-top .iby-c1-final-cta,
html body .iby-page.iby-design-c1.is-nara-top .iby-c1-final-cta--nara-leaf {
  margin-bottom: 0 !important;
  padding-bottom: 72px !important;
  background:
    radial-gradient(circle at 15% 35%, rgba(122, 144, 108, 0.08), transparent 28%),
    radial-gradient(circle at 85% 70%, rgba(181, 170, 130, 0.08), transparent 26%),
    linear-gradient(180deg, #f7f4ee 0%, #f5f1e8 100%) !important;
}

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

html body:has(.iby-page.iby-design-c1.is-nara-top) .site-body,
html body:has(.iby-page.iby-design-c1.is-nara-top) .siteContent,
html body:has(.iby-page.iby-design-c1.is-nara-top) .mainSection,
html body:has(.iby-page.iby-design-c1.is-nara-top) .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html body .iby-studio-footer.is-nara,
html body footer.iby-studio-footer.is-nara {
  margin-top: 0 !important;
}

@media screen and (max-width: 767px) {
  html body .iby-page.iby-design-c1.is-nara-top .iby-c1-final-cta,
  html body .iby-page.iby-design-c1.is-nara-top .iby-c1-final-cta--nara-leaf {
    padding-bottom: 54px !important;
  }
}
/* =========================================================
   奈良フッター：Lightning footer container の上余白を削除
========================================================= */

/* Lightning側 footer 全体 */
html body:has(.iby-studio-footer.is-nara) footer.site-footer,
html body:has(.iby-studio-footer.is-nara) .site-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 今回原因になっている container site-footer-content */
html body:has(.iby-studio-footer.is-nara) .site-footer-content,
html body:has(.iby-studio-footer.is-nara) .container.site-footer-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* フッター内のウィジェット余白も念のため削除 */
html body:has(.iby-studio-footer.is-nara) .site-footer-content .widget,
html body:has(.iby-studio-footer.is-nara) .site-footer-content .widget_text,
html body:has(.iby-studio-footer.is-nara) .site-footer-content .textwidget,
html body:has(.iby-studio-footer.is-nara) .site-footer-content .custom-html-widget {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 奈良フッター本体 */
html body:has(.iby-studio-footer.is-nara) .iby-studio-footer.is-nara {
  margin-top: 0 !important;
}
/* =========================================================
   奈良フッター：親ウィジェット幅に負けずTOP幅へ広げる
========================================================= */

/* Lightning footer の余白は消す */
html body:has(.iby-studio-footer.is-nara) footer.site-footer,
html body:has(.iby-studio-footer.is-nara) .site-footer,
html body:has(.iby-studio-footer.is-nara) .container.site-footer-content,
html body:has(.iby-studio-footer.is-nara) .site-footer-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 奈良フッター本体を親カラム幅ではなく固定幅で広げる */
html body:has(.iby-studio-footer.is-nara) .iby-studio-footer.is-nara {
  width: 1120px !important;
  max-width: calc(100vw - 140px) !important;
  min-width: 0 !important;

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

  padding-left: 48px !important;
  padding-right: 48px !important;

  box-sizing: border-box !important;
}

/* 中身は3カラムに戻す */
html body:has(.iby-studio-footer.is-nara) .iby-studio-footer.is-nara .iby-footer-inner {
  display: grid !important;
  grid-template-columns: 1.35fr 0.8fr 1fr !important;
  gap: 56px !important;
  align-items: start !important;
}

/* スマホは通常幅 */
@media screen and (max-width: 767px) {
  html body:has(.iby-studio-footer.is-nara) .iby-studio-footer.is-nara {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html body:has(.iby-studio-footer.is-nara) .iby-studio-footer.is-nara .iby-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}
/* =========================================================
   奈良 投稿ページ：タイトル帯を2階層目固定ページカラーへ統一
   2026-07-07
========================================================= */

/* 投稿詳細・投稿一覧・カテゴリー・タグ・アーカイブ */
html body.single-post .page-header,
html body.blog .page-header,
html body.archive .page-header,
html body.category .page-header,
html body.tag .page-header,
html body.search .page-header,
html body.author .page-header,
html body.date .page-header,
html body.single-post .pageHeader,
html body.blog .pageHeader,
html body.archive .pageHeader,
html body.category .pageHeader,
html body.tag .pageHeader,
html body.search .pageHeader,
html body.author .pageHeader,
html body.date .pageHeader,
html body.single-post .vk_pageHeader,
html body.blog .vk_pageHeader,
html body.archive .vk_pageHeader,
html body.category .vk_pageHeader,
html body.tag .vk_pageHeader,
html body.search .vk_pageHeader,
html body.author .vk_pageHeader,
html body.date .vk_pageHeader,
html body.single-post .vk-page-header,
html body.blog .vk-page-header,
html body.archive .vk-page-header,
html body.category .vk-page-header,
html body.tag .vk-page-header,
html body.search .vk-page-header,
html body.author .vk-page-header,
html body.date .vk-page-header {
  background: #7D9A6E !important;
  background-color: #7D9A6E !important;
  min-height: 118px !important;
  padding: 34px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-bottom: none !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}

/* 帯内タイトル文字 */
html body.single-post .page-header h1,
html body.blog .page-header h1,
html body.archive .page-header h1,
html body.category .page-header h1,
html body.tag .page-header h1,
html body.search .page-header h1,
html body.author .page-header h1,
html body.date .page-header h1,
html body.single-post .pageHeader h1,
html body.blog .pageHeader h1,
html body.archive .pageHeader h1,
html body.category .pageHeader h1,
html body.tag .pageHeader h1,
html body.search .pageHeader h1,
html body.author .pageHeader h1,
html body.date .pageHeader h1,
html body.single-post .vk_pageHeader h1,
html body.blog .vk_pageHeader h1,
html body.archive .vk_pageHeader h1,
html body.category .vk_pageHeader h1,
html body.tag .vk_pageHeader h1,
html body.search .vk_pageHeader h1,
html body.author .vk_pageHeader h1,
html body.date .vk_pageHeader h1,
html body.single-post .vk-page-header h1,
html body.blog .vk-page-header h1,
html body.archive .vk-page-header h1,
html body.category .vk-page-header h1,
html body.tag .vk-page-header h1,
html body.search .vk-page-header h1,
html body.author .vk-page-header h1,
html body.date .vk-page-header h1,
html body.single-post .page-header_pageTitle,
html body.blog .page-header_pageTitle,
html body.archive .page-header_pageTitle,
html body.category .page-header_pageTitle,
html body.tag .page-header_pageTitle,
html body.search .page-header_pageTitle,
html body.author .page-header_pageTitle,
html body.date .page-header_pageTitle {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Lightningの青線・装飾対策 */
html body.single-post .page-header h1::before,
html body.single-post .page-header h1::after,
html body.blog .page-header h1::before,
html body.blog .page-header h1::after,
html body.archive .page-header h1::before,
html body.archive .page-header h1::after,
html body.category .page-header h1::before,
html body.category .page-header h1::after,
html body.tag .page-header h1::before,
html body.tag .page-header h1::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  html body.single-post .page-header,
  html body.blog .page-header,
  html body.archive .page-header,
  html body.category .page-header,
  html body.tag .page-header,
  html body.search .page-header,
  html body.author .page-header,
  html body.date .page-header,
  html body.single-post .pageHeader,
  html body.blog .pageHeader,
  html body.archive .pageHeader,
  html body.category .pageHeader,
  html body.tag .pageHeader,
  html body.search .pageHeader,
  html body.author .pageHeader,
  html body.date .pageHeader {
    min-height: 92px !important;
    padding: 26px 16px !important;
  }

  html body.single-post .page-header h1,
  html body.blog .page-header h1,
  html body.archive .page-header h1,
  html body.category .page-header h1,
  html body.tag .page-header h1,
  html body.search .page-header h1,
  html body.author .page-header h1,
  html body.date .page-header h1,
  html body.single-post .page-header_pageTitle,
  html body.blog .page-header_pageTitle,
  html body.archive .page-header_pageTitle,
  html body.category .page-header_pageTitle,
  html body.tag .page-header_pageTitle {
    font-size: 22px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.04em !important;
  }
}
/* =========================================================
   FUSHIMI FOOTER SNS BUTTON FIX
   伏見スタジオ：フッターSNSリンクをボタン表示に戻す
   2026-07-09
========================================================= */

html body footer.iby-studio-footer.is-fushimi .iby-footer-sns,
html body .siteFooter footer.iby-studio-footer.is-fushimi .iby-footer-sns,
html body .widget_custom_html footer.iby-studio-footer.is-fushimi .iby-footer-sns,
html body .textwidget footer.iby-studio-footer.is-fushimi .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

html body footer.iby-studio-footer.is-fushimi .iby-footer-sns a,
html body .siteFooter footer.iby-studio-footer.is-fushimi .iby-footer-sns a,
html body .widget_custom_html footer.iby-studio-footer.is-fushimi .iby-footer-sns a,
html body .textwidget footer.iby-studio-footer.is-fushimi .iby-footer-sns a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 96px !important;
  min-height: 38px !important;
  padding: 8px 14px !important;

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

  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-decoration: none !important;

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

html body footer.iby-studio-footer.is-fushimi .iby-footer-sns a:hover,
html body .siteFooter footer.iby-studio-footer.is-fushimi .iby-footer-sns a:hover,
html body .widget_custom_html footer.iby-studio-footer.is-fushimi .iby-footer-sns a:hover,
html body .textwidget footer.iby-studio-footer.is-fushimi .iby-footer-sns a:hover {
  border-color: rgba(255, 255, 255, 0.85) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* スマホ：3つ並びでも詰まりすぎないように調整 */
@media screen and (max-width: 767px) {
  html body footer.iby-studio-footer.is-fushimi .iby-footer-sns,
  html body .siteFooter footer.iby-studio-footer.is-fushimi .iby-footer-sns {
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 24px !important;
  }

  html body footer.iby-studio-footer.is-fushimi .iby-footer-sns a,
  html body .siteFooter footer.iby-studio-footer.is-fushimi .iby-footer-sns a {
    min-width: 86px !important;
    min-height: 36px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}
/* =========================================================
   KYOBASHI FOOTER
   SNS白枠ボタン・お問い合わせリンク表示
========================================================= */

html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-sns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

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

  min-width: 92px !important;
  min-height: 36px !important;
  padding: 7px 14px !important;

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

  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* お問い合わせフォームを予約ボタンの下へ表示 */
html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-contact,
html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-contact:visited {
  display: block !important;
  margin: 16px auto 0 !important;

  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;

  opacity: 1 !important;
  visibility: visible !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-sns a {
    flex: 0 1 auto !important;
    min-width: 88px !important;
    padding: 7px 11px !important;
  }

  html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-actions {
    display: block !important;
    width: 100% !important;
  }

  html body footer.iby-studio-footer.is-c1.is-kyobashi .iby-footer-btn {
    display: flex !important;
    width: 100% !important;
  }
}
/* =========================================================
   KYOBASHI C1 FOOTER WIDTH FINAL
   左端を維持して右方向へ展開
========================================================= */

/* フッターを囲むLightningウィジェットの切り抜きを解除 */
html body.page-id-1808 .siteFooter,
html body.page-id-1808 .siteFooter .container,
html body.page-id-1808 .siteFooter .container-fluid,
html body.page-id-1808 .siteFooter .row,
html body.page-id-1808 .siteFooter [class*="col-"],
html body.page-id-1808 .siteFooter .widget,
html body.page-id-1808 .siteFooter .widget_custom_html,
html body.page-id-1808 .siteFooter .textwidget {
  overflow: visible !important;
}

/* PC：現在の左端から1110pxまで広げる */
@media screen and (min-width: 768px) {

  html body.page-id-1808
  footer.iby-studio-footer.is-c1.is-kyobashi {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    width: 1110px !important;
    max-width: 1110px !important;
    min-width: 1110px !important;

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

    padding: 64px 48px 32px !important;
    box-sizing: border-box !important;
  }
}

/* フッター上の余白を削除 */
html body.page-id-1808 .siteFooter,
html body.page-id-1808 footer.siteFooter,
html body.page-id-1808
footer.iby-studio-footer.is-c1.is-kyobashi {
  margin-top: 0 !important;
}

/* スマホは画面幅に戻す */
@media screen and (max-width: 767px) {

  html body.page-id-1808
  footer.iby-studio-footer.is-c1.is-kyobashi {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 44px 24px 54px !important;
  }
}
/* =========================================================
   KYOBASHI C1 FOOTER FINAL
   C1専用：右側のオーバー修正・上余白削除
========================================================= */

/* C1ページだけ、Lightning側のフッター上余白を削除 */
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) footer.siteFooter {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* フッターウィジェット周辺の余白を削除 */
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .container,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .container-fluid,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .row,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .widget,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .widget_custom_html,
html body:has(.iby-page.iby-design-c1.is-kyobashi-top) .siteFooter .textwidget {
  margin-top: 0 !important;
  padding-top: 0 !important;
  overflow: visible !important;
}

/* PC：左端は維持し、上のC1セクションと同じ1110px幅にする */
@media screen and (min-width: 768px) {

  html body:has(.iby-page.iby-design-c1.is-kyobashi-top)
  footer.iby-studio-footer.is-c1.is-kyobashi {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    width: 1110px !important;
    max-width: 1110px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 64px 48px 32px !important;

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

/* スマホは画面幅に合わせる */
@media screen and (max-width: 767px) {

  html body:has(.iby-page.iby-design-c1.is-kyobashi-top)
  footer.iby-studio-footer.is-c1.is-kyobashi {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 44px 24px 54px !important;
  }
}
/* =========================================================
   KYOBASHI C1 FOOTER GAP FINAL
   最終CTAとフッターの白い余白を詰める
========================================================= */

@media screen and (min-width: 768px) {
  html body:has(.iby-page.iby-design-c1.is-kyobashi-top)
  footer.iby-studio-footer.is-c1.is-kyobashi {
    margin-top: -48px !important;
  }
}

/* スマホでは上へ移動しない */
@media screen and (max-width: 767px) {
  html body:has(.iby-page.iby-design-c1.is-kyobashi-top)
  footer.iby-studio-footer.is-c1.is-kyobashi {
    margin-top: 0 !important;
  }
}
/* =========================================================
   KYOBASHI HEADER COMPACT STICKY
   PC：スクロール後はタイトルを消してメニューのみ追従
========================================================= */

@media screen and (min-width: 992px) {

  /* ヘッダー全体を追従 */
  html body .siteHeader {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: #ffffff !important;
    transition:
      box-shadow 0.2s ease,
      min-height 0.2s ease !important;
  }

  /* WordPressログイン中の管理バー対策 */
  html body.admin-bar .siteHeader {
    top: 32px !important;
  }

  /* スクロール後の影 */
  html body.is-iby-header-compact .siteHeader {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10) !important;
  }

  /* スクロール後はサイトタイトルを非表示 */
  html body.is-iby-header-compact .siteHeader_logo,
  html body.is-iby-header-compact .siteHeader_logo_title,
  html body.is-iby-header-compact .siteHeader_logo_text,
  html body.is-iby-header-compact .site-branding,
  html body.is-iby-header-compact .site-title {
    display: none !important;
  }

  /* メニューを中央へ */
  html body.is-iby-header-compact .siteHeader .container,
  html body.is-iby-header-compact .siteHeader .siteHeader_container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 62px !important;
  }

  html body.is-iby-header-compact .global-nav {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* メニュー間隔を1～2文字分詰める */
  html body .global-nav-list > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .global-nav-list > li > a {
    padding-left: 9px !important;
    padding-right: 9px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  /* 最後の予約ボタンは横幅を維持 */
  html body .global-nav-list > li:last-child > a {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
/* =========================================================
   KYOBASHI PC HEADER STICKY FINAL
   スクロール後：タイトルを消してメニューだけ追従
========================================================= */

#iby-site-header-spacer {
  display: block;
  width: 100%;
  height: 0;
}

/* PCのみ */
@media screen and (min-width: 992px) {

  /* 通常時を含めてメニュー間隔を縮小 */
  html body #site-header .global-nav-list > li > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  /* 最後の体験予約ボタンは少し余白を残す */
  html body #site-header .global-nav-list > li:last-child > a {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* スクロール後のヘッダー */
  html body.is-iby-header-compact #site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    width: auto !important;
    max-width: none !important;
    margin: 0 !important;

    z-index: 99999 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12) !important;
  }

  /* WordPress管理バー表示中 */
  html body.admin-bar.is-iby-header-compact #site-header {
    top: 32px !important;
  }

  /* スクロール後はサイトタイトルを非表示 */
  html body.is-iby-header-compact #site-header .site-header-logo {
    display: none !important;
  }

  /* コンテナをメニューだけの高さへ */
  html body.is-iby-header-compact #site-header-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 1180px !important;
    min-height: 58px !important;

    margin: 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* メニュー中央配置 */
  html body.is-iby-header-compact #site-header .global-nav {
    display: block !important;
    width: auto !important;
    margin: 0 auto !important;
  }

  html body.is-iby-header-compact #site-header .global-nav-list {
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
  }
}

/* スマホは追従処理の対象外 */
@media screen and (max-width: 991px) {
  #iby-site-header-spacer {
    height: 0 !important;
  }
}
/* =========================================================
   SAKAIHIGASHI / FOOTER SNS BUTTON FIX
   SNSリンクを丸型ボタンとして表示
========================================================= */

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

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

  min-width: 108px !important;
  min-height: 38px !important;
  padding: 0 18px !important;

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

  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
}

html body .iby-studio-footer.is-sakaihigashi .iby-footer-sns a:hover {
  border-color: #c8d6aa !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #c8d6aa !important;
  text-decoration: none !important;
}

/* スマートフォン */
@media screen and (max-width: 767px) {
  html body .iby-studio-footer.is-sakaihigashi .iby-footer-sns {
    justify-content: center !important;
  }

  html body .iby-studio-footer.is-sakaihigashi .iby-footer-sns a {
    min-width: 92px !important;
    padding: 0 14px !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 TOP / FOOTER ALIGN FINAL
   C1本文とフッターの幅・上余白を揃える
========================================================= */

/* フッター上の白い余白を削除 */
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter,
html body:has(.iby-page.is-sakaihigashi-top) footer.siteFooter,
html body:has(.iby-page.is-sakaihigashi-top) .site-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Lightning側のフッターウィジェット外枠を解除 */
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .container,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .container-fluid,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .row,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .widget,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .widget_block,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .widget_custom_html,
html body:has(.iby-page.is-sakaihigashi-top) .siteFooter .textwidget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* C1本文と同じ横幅にする */
html body:has(.iby-page.is-sakaihigashi-top)
footer.iby-studio-footer.is-sakaihigashi {
  width: min(1120px, 100%) !important;
  max-width: min(1120px, 100%) !important;

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

  box-sizing: border-box !important;
}

/* スマホは横幅いっぱい */
@media screen and (max-width: 767px) {
  html body:has(.iby-page.is-sakaihigashi-top)
  footer.iby-studio-footer.is-sakaihigashi {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 TOP / FOOTER WIDTH RECOVERY FINAL
   フッターウィジェット1の3分割幅を解除
========================================================= */

/* Lightningのフッター3カラムを、堺東C1では1カラム全幅にする */
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter [class*="col-"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 親要素の幅をCTAと同じ領域へ戻す */
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .container,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .container-fluid,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .row,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .widget,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .widget_block,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .widget_custom_html,
html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
.siteFooter .textwidget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* PC：上のC1本文と同じ1110px幅 */
@media screen and (min-width: 768px) {
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  footer.iby-studio-footer.is-c1.is-sakaihigashi {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    display: block !important;
    width: 1110px !important;
    max-width: 1110px !important;
    min-width: 0 !important;

    margin-top: -48px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;

    padding: 64px 48px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  footer.iby-studio-footer.is-c1.is-sakaihigashi {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 44px 24px 54px !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 TOP / MOBILE FOOTER GAP FIX
   スマホのみ：最終CTAとフッター間の白い余白を削除
========================================================= */

@media screen and (max-width: 767px) {

  /* C1本文末尾の余白を解除 */
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .iby-page.is-sakaihigashi-top,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .iby-c1-final-cta {
    margin-bottom: 0 !important;
  }

  /* Lightningフッター外枠の上余白を解除 */
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  footer.siteFooter,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .site-footer,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .site-footer-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* フッターウィジェット外側の空白を解除 */
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .container,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .container-fluid,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .row,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter [class*="col-"],
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .widget,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .widget_block,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .widget_custom_html,
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  .siteFooter .textwidget {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* フッター本体は横幅を維持して直結 */
  html body:has(.iby-page.iby-design-c1.is-sakaihigashi-top)
  footer.iby-studio-footer.is-c1.is-sakaihigashi {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 44px 24px 54px !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 / MOBILE FOOTER CONTENT GAP FINAL
   スマホ：site-footer-content上部の白い余白だけを削除
========================================================= */
@media screen and (max-width: 767px) {

  body.post-name-c-1
  footer.site-footer
  > .container.site-footer-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.post-name-c-1
  footer.site-footer
  > .container.site-footer-content
  > .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.post-name-c-1
  footer.site-footer
  .iby-studio-footer.is-sakaihigashi {
    margin-top: 0 !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 / MOBILE FOOTER GAP FINE TUNING
   スマホ：最終CTAとフッター間を24px詰める
========================================================= */
@media screen and (max-width: 767px) {
  body.post-name-c-1
  footer.iby-studio-footer.is-c1.is-sakaihigashi {
    margin-top: -140px !important;
  }
}
/* =========================================================
   SAKAIHIGASHI C1 / MOBILE MAIN SECTION GAP FINAL
   スマホ：main-section下部の余白を削除
========================================================= */
@media screen and (max-width: 767px) {

  html body.page-id-6470.post-name-c-1
  #main.main-section {
    height: auto !important;
    min-height: 0 !important;

    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body.page-id-6470.post-name-c-1
  #main.main-section::after {
    content: none !important;
    display: none !important;
    clear: none !important;
  }

  html body.page-id-6470.post-name-c-1
  .site-body-container {
    height: auto !important;
    min-height: 0 !important;

    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body.page-id-6470.post-name-c-1
  footer.site-footer,
  html body.page-id-6470.post-name-c-1
  footer.iby-studio-footer.is-sakaihigashi {
    margin-top: 0 !important;
  }
}