/* =========================================================
   BIGO 共通CSS
   ヘッダー / フッター / 基本余白 / 共通アクセシビリティ
   このファイルを全6ページで共通使用
========================================================= */

:root{
  --bigo-bg:#fffdfa;
  --bigo-text:#3b413d;
  --bigo-muted:#626a64;
  --bigo-green:#9eb39e;
  --bigo-green-dark:#748d75;
  --bigo-pink:#b85f72;
  --bigo-footer:#eef4ec;
  --bigo-section-space:70px;
  --bigo-section-space-sp:54px;
  --bigo-header-height:84px;
  --bigo-header-height-sp:72px;
}

/* ---------- 基本 ---------- */
html{
  scroll-behavior:smooth;
}
body{
  -webkit-font-smoothing:antialiased;
}
img{
  max-width:100%;
  height:auto;
}
.section,
.contact{
  padding-top:var(--bigo-section-space);
  padding-bottom:var(--bigo-section-space);
}

/* 小さすぎる文字を避ける */
.brand span,
.brand-text span,
.hero-label,
.section-label,
.eyebrow,
.kicker,
.small-note,
.required,
.form-caution,
.form-spam-note,
.mini-note,
.spot-time,
.room-detail-body p,
.room-flow-step,
.room-flow-arrow,
.room-note,
.room-video-copy p,
.footer-contact small,
.footer-bottom{
  font-size:max(13px,.8125rem);
}

/* アクセント文字のコントラスト */
.nav a.active{
  color:#a84f63!important;
}
.small-note,
.form-caution,
.footer-contact small,
.footer-bottom{
  color:var(--bigo-muted)!important;
}

/* キーボード操作 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(184,95,114,.35);
  outline-offset:3px;
}

/* =========================================================
   HEADER
========================================================= */
body .site-header{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:9999!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transition:.25s ease!important;
}
body .site-header.scrolled{
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 6px 30px rgba(0,0,0,.06)!important;
  backdrop-filter:blur(14px)!important;
}
body .header-inner{
  width:min(1240px,calc(100% - 34px))!important;
  min-height:var(--bigo-header-height)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}
body .header-brand-area{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body .header-brand-area .brand{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
body .header-brand-area .brand-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:300px!important;
  max-height:62px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
body .header-instagram{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(116,141,117,.24)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--bigo-green-dark)!important;
}
body .header-instagram svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
body .nav{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  font-size:13px!important;
  font-weight:600!important;
}
body .nav-cta{
  padding:12px 19px!important;
  border-radius:999px!important;
  background:var(--bigo-green-dark)!important;
  color:#fff!important;
}
body .menu-btn{
  display:none!important;
  width:44px!important;
  height:44px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
}

/* =========================================================
   FOOTER
   施設紹介ページで採用した中央ロゴ配置を全ページ共通化
========================================================= */
body .site-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  padding:56px 0 24px!important;
  background:var(--bigo-footer)!important;
  color:#566058!important;
}
body .site-footer .container.footer-grid{
  width:min(1180px,calc(100% - 34px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.2fr 1fr .8fr!important;
  gap:48px!important;
  align-items:start!important;
}
body .site-footer .footer-brand{
  text-align:center!important;
}
body .site-footer .footer-brand .logo-image-wrap{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
}
body .site-footer .footer-brand .footer-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:220px!important;
  max-height:220px!important;
  margin:0 auto 12px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
body .site-footer .footer-brand .logo-text-wrap{
  display:none!important;
}
body .site-footer .footer-brand p{
  margin:8px 0 0!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.8!important;
}
body .site-footer .footer-nav{
  display:grid!important;
  gap:10px!important;
  font-size:14px!important;
}
body .site-footer .footer-nav a{
  width:fit-content!important;
}
body .site-footer .footer-contact p{
  margin:0 0 8px!important;
  font-size:13px!important;
}
body .site-footer .footer-contact > a{
  display:inline-block!important;
  font-size:18px!important;
  font-weight:700!important;
  color:var(--bigo-green-dark)!important;
}
body .site-footer .footer-social{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
  margin-top:10px!important;
}
body .site-footer .footer-social a{
  font-size:13px!important;
}
body .site-footer .footer-contact small{
  display:block!important;
  margin-top:10px!important;
  font-size:13px!important;
  line-height:1.7!important;
  color:var(--bigo-muted)!important;
}
body .site-footer .footer-bottom{
  width:min(1180px,calc(100% - 34px))!important;
  margin:38px auto 0!important;
  padding-top:18px!important;
  border-top:1px solid rgba(116,141,117,.2)!important;
  text-align:center!important;
  font-size:13px!important;
  color:var(--bigo-muted)!important;
}

/* =========================================================
   TABLET / MOBILE
========================================================= */
@media(max-width:980px){
  body .header-inner{
    gap:10px!important;
  }
  body .header-brand-area{
    flex:1 1 auto!important;
  }
  body .header-brand-area .brand-logo{
    max-width:230px!important;
    max-height:54px!important;
  }
  body .nav{
    position:fixed!important;
    top:76px!important;
    right:16px!important;
    width:min(320px,calc(100% - 32px))!important;
    padding:18px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 16px 42px rgba(72,84,73,.08)!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
  }
  body .nav.open{
    display:flex!important;
  }
  body .nav a{
    padding:10px 8px!important;
  }
  body .menu-btn{
    display:grid!important;
    place-items:center!important;
  }
}

@media(max-width:640px){
  .section,
  .contact{
    padding-top:var(--bigo-section-space-sp);
    padding-bottom:var(--bigo-section-space-sp);
  }

  body .header-inner{
    width:calc(100% - 22px)!important;
    min-height:var(--bigo-header-height-sp)!important;
  }
  body .header-brand-area{
    gap:6px!important;
  }
  body .header-brand-area .brand-logo{
    max-width:185px!important;
    max-height:46px!important;
  }
  body .header-instagram{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
  }

  body .site-footer{
    padding:42px 0 22px!important;
  }
  body .site-footer .container.footer-grid{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    text-align:center!important;
  }
  body .site-footer .footer-brand .footer-logo{
    max-width:190px!important;
    max-height:190px!important;
  }
  body .site-footer .footer-nav{
    justify-items:center!important;
    gap:8px!important;
  }
  body .site-footer .footer-nav a{
    width:auto!important;
  }
  body .site-footer .footer-contact{
    text-align:center!important;
  }
  body .site-footer .footer-social{
    justify-content:center!important;
  }
  body .site-footer .footer-bottom{
    width:calc(100% - 24px)!important;
    margin-top:28px!important;
  }
}

@media(max-width:380px){
  body .header-brand-area .brand-logo{
    max-width:158px!important;
  }
}


/* =========================================================
   公開前共通調整 v1
========================================================= */
[id]{scroll-margin-top:calc(var(--bigo-header-height) + 12px)}
p{word-break:auto-phrase;text-wrap:pretty;overflow-wrap:break-word}
body .site-footer .footer-call-list{display:grid!important;gap:4px!important;justify-items:start!important}
body .site-footer .footer-call-list a{display:inline-block!important;font-size:17px!important;font-weight:700!important;color:var(--bigo-green-dark)!important}
body .site-footer .footer-contact .footer-mail{display:inline-block!important;margin-top:8px!important;font-size:14px!important;font-weight:600!important;line-height:1.6!important;color:var(--bigo-green-dark)!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body .header-instagram{position:relative!important}
body .header-instagram::after{content:"";position:absolute;inset:-5px}
.contact-btn-stack{display:grid;gap:10px}.contact-btn-stack .contact-btn{width:100%}.secondary-tel{background:#eef4ec!important;color:var(--bigo-green-dark)!important}
.privacy-agree{margin:18px 0 0;padding:16px 18px;border-radius:18px;background:#f7f2ec;font-size:14px;line-height:1.8}.privacy-agree label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.privacy-agree input{margin-top:.45em;flex:0 0 auto}.privacy-agree a{color:var(--bigo-green-dark);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){[id]{scroll-margin-top:calc(var(--bigo-header-height-sp) + 12px)}.pc-br{display:none!important}body .site-footer .footer-call-list{justify-items:center!important}}
