/*
Theme Name: B-SQUARE
Theme URI:
Author: B-SQUARE
Description: 恵我之荘・藤井寺のドッグサロン＆カフェ B-SQUARE 公式サイト用テーマ。トップページのレイアウトはインラインスタイルで固定し、写真・文言・料金表は管理画面から編集します。
Version: 1.2.5
Requires at least: 6.0
/* BSQ_STYLE 1.2.5 */
/* Safari の縮小表示用ラッパー（main.js が生成）。ページ末尾に余白が残らないようにする */
#bsq-fit{position:relative}
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: bsquare
*/

/* --- ベース（元HTMLの helmet 相当） --- */
body {
  margin: 0;
  background: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-wrap: pretty;
}
html { scroll-behavior: smooth; }
a { color: #007062; }
a:hover { color: #00594e; }
img { display: block; max-width: 100%; }
section[id] { scroll-margin-top: 104px; }

/* 横スクロール（サロン・カフェメニュー写真） */
@keyframes bsq-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ホバー（元 style-hover） */
.bsq-hv1:hover { background: rgba(255,255,255,.14); }
.bsq-hv2:hover { animation-play-state: paused; }

/* 料金表のサイズ絞り込み */
.bsq-row[hidden] { display: none !important; }

/* セクションの出現ディゾルブ */
.bsq-reveal { opacity: 0; transform: translateY(24px); }
.bsq-reveal, .bsq-reveal-in { transition: opacity 1s ease, transform 1s ease; }
.bsq-reveal-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .bsq-reveal { opacity: 1; transform: none; } }

/* 管理バーの分だけアンカー位置を調整 */
body.admin-bar section[id] { scroll-margin-top: 136px; }

/* ===== タブレット以下（〜1199px）===== */
@media (max-width:1199px){
 [style*="width:1920px"],[style*="width: 1920px"]{width:100%!important;background:#fff!important}
 [style*="width:1070px"],[style*="width: 1070px"]{width:100%!important;max-width:1070px;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box}
 [style*="width:800px"],[style*="width: 800px"]{width:auto!important;max-width:800px;margin-left:24px!important;margin-right:24px!important}
 [style*="height:460px"],[style*="height: 460px"]{height:56vw!important;min-height:280px}
 [style*="height:620px"],[style*="height: 620px"]{height:78vw!important;min-height:380px}
 [style*="height:420px"],[style*="height: 420px"]{height:auto!important;min-height:44vw}
 #parking [style*="height:420px"],#parking [style*="height: 420px"]{height:62vw!important;min-height:0!important}
 #parking [style*="height:420px"]>*,#parking [style*="height: 420px"]>*{width:100%!important;height:100%!important;background-size:contain!important}
 img[src*="logo"]{max-width:72vw}
 /* FV */
 #top{height:auto!important}
 #top>div[style*="width:830px"],[style*="width: 830px"]{display:none!important}
 #top>div[style*="left:360px"],[style*="left: 360px"]{position:static!important;width:100%!important;background:rgba(0,112,98,.9);padding:40px 24px 44px!important;box-sizing:border-box;gap:24px!important}
 #top>a[href^="tel"]{display:none!important}
 #top>p{position:static!important;transform:none!important;padding:26px 24px!important;font-size:26px!important;background:rgba(13,58,52,.55)}
 #top>div[style*="bottom:34px"],[style*="bottom: 34px"]{position:static!important;left:auto!important;right:auto!important;padding:16px 0!important;background:#0d3a34}
 #top nav{display:none!important}
 .bsq-spnav{display:block!important}
 /* 横に流れる写真 */
 [style*="width:440px"],[style*="width: 440px"]{width:300px!important;height:206px!important}
 [style*="width:300px"],[style*="width: 300px"][style*="height:220px"],[style*="height: 220px"]{width:230px!important;height:168px!important}
 /* 料金表は横スクロール */
 div:has(>[style*="1fr 132px 132px 132px"]){overflow-x:auto}
 [style*="1fr 132px 132px 132px"]{min-width:600px}
 div:has(>[style*="1fr 1.1fr 130px 130px"]){overflow-x:auto}
 [style*="1fr 1.1fr 130px 130px"]{min-width:640px}
 div:has(>[style*="1fr 1.3fr 120px 120px"]){overflow-x:auto}
 [style*="1fr 1.3fr 120px 120px"]{min-width:640px}
}
/* ===== スマートフォン（〜767px）===== */
@media (max-width:767px){
 body{padding-bottom:76px}
 [style*="width:1070px"],[style*="width: 1070px"]{padding-left:18px!important;padding-right:18px!important}
 section[id]{scroll-margin-top:12px}
 [style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;height:auto!important}
 [style*="grid-template-columns:repeat(3,1fr)"],[style*="grid-template-columns: repeat(3,1fr)"],[style*="grid-template-columns:repeat(3, 1fr)"],[style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:1fr!important}
 [style*="grid-template-columns:repeat(4,1fr)"],[style*="grid-template-columns: repeat(4,1fr)"],[style*="grid-template-columns:repeat(4, 1fr)"],[style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
 [style*="grid-template-columns:210px 6px 1fr"],[style*="grid-template-columns: 210px 6px 1fr"]{grid-template-columns:1fr!important;gap:20px!important}
 [style*="grid-template-columns:190px 1fr"],[style*="grid-template-columns: 190px 1fr"]{grid-template-columns:1fr!important;gap:4px!important}
 [style*="grid-template-columns:1.2fr .6fr .8fr"],[style*="grid-template-columns: 1.2fr .6fr .8fr"],[style*="grid-template-columns:1.2fr 0.6fr 0.8fr"],[style*="grid-template-columns: 1.2fr 0.6fr 0.8fr"]{grid-template-columns:1fr!important;gap:28px!important}
 [style*="padding-top:60px"],[style*="padding-top: 60px"]{padding-top:0!important}
 [style*="height:380px"],[style*="height: 380px"]{height:56vw!important}
 [style*="height:340px"],[style*="height: 340px"]{height:52vw!important}
 [style*="height:330px"],[style*="height: 330px"]{height:52vw!important}
 [style*="height:280px"],[style*="height: 280px"]{height:52vw!important}
 [style*="height:83px"],[style*="height: 83px"]{height:56px!important}
 [style*="height:89px"],[style*="height: 89px"]{height:58px!important}
 /* 余白 */
 section{padding-left:0!important;padding-right:0!important}
 [style*="padding:96px 0 100px"],[style*="padding: 96px 0 100px"],[style*="padding:96px 0px 100px"],[style*="padding: 96px 0px 100px"]{padding:56px 0 60px!important}
 [style*="padding:90px 0 60px"],[style*="padding: 90px 0 60px"],[style*="padding:90px 0px 60px"],[style*="padding: 90px 0px 60px"]{padding:52px 0 40px!important}
 [style*="padding:74px 0 80px"],[style*="padding: 74px 0 80px"],[style*="padding:74px 0px 80px"],[style*="padding: 74px 0px 80px"],[style*="padding:78px 0 86px"],[style*="padding: 78px 0 86px"],[style*="padding:78px 0px 86px"],[style*="padding: 78px 0px 86px"],[style*="padding:70px 0 78px"],[style*="padding: 70px 0 78px"],[style*="padding:70px 0px 78px"],[style*="padding: 70px 0px 78px"],[style*="padding:72px 0 84px"],[style*="padding: 72px 0 84px"],[style*="padding:72px 0px 84px"],[style*="padding: 72px 0px 84px"]{padding:48px 0 54px!important}
 [style*="padding:34px 40px"],[style*="padding: 34px 40px"],[style*="padding:34px 36px 30px"],[style*="padding: 34px 36px 30px"]{padding:22px 18px!important}
 [style*="padding:30px 32px 34px"],[style*="padding: 30px 32px 34px"]{padding:22px 18px!important}
 [style*="padding:30px 48px"],[style*="padding: 30px 48px"]{padding:22px 20px!important}
 [style*="padding:26px 30px"],[style*="padding: 26px 30px"]{padding:18px 16px!important}
 /* 文字サイズ */
 [style*="font:700 62px"],[style*="font: 700 62px"]{font-size:38px!important}
 [style*="font:700 42px"],[style*="font: 700 42px"],[style*="font:700 40px"],[style*="font: 700 40px"]{font-size:26px!important;line-height:1.3!important}
 [style*="font:700 36px"],[style*="font: 700 36px"]{font-size:24px!important}
 [style*="font:700 33px"],[style*="font: 700 33px"]{font-size:21px!important}
 [style*="font:700 30px"],[style*="font: 700 30px"]{font-size:20px!important}
 [style*="font:700 26px"],[style*="font: 700 26px"]{font-size:19px!important}
 [style*="font:700 25px"],[style*="font: 700 25px"],[style*="font:500 25px"],[style*="font: 500 25px"],[style*="font:400 25px"],[style*="font: 400 25px"]{font-size:18px!important;line-height:1.8!important}
 [style*="font:700 24px"],[style*="font: 700 24px"],[style*="font:400 24px"],[style*="font: 400 24px"]{font-size:18px!important}
 [style*="font:700 22px"],[style*="font: 700 22px"],[style*="font:400 22px"],[style*="font: 400 22px"],[style*="font:500 21px"],[style*="font: 500 21px"],[style*="font:700 21px"],[style*="font: 700 21px"],[style*="font:400 21px"],[style*="font: 400 21px"]{font-size:16px!important;line-height:1.8!important}
 [style*="font:500 20px"],[style*="font: 500 20px"],[style*="font:400 20px"],[style*="font: 400 20px"],[style*="font:700 20px"],[style*="font: 700 20px"]{font-size:16px!important}
 [style*="font:400 19px"],[style*="font: 400 19px"],[style*="font:500 19px"],[style*="font: 500 19px"],[style*="font:700 19px"],[style*="font: 700 19px"]{font-size:15px!important}
 [style*="font:400 18px"],[style*="font: 400 18px"],[style*="font:500 18px"],[style*="font: 500 18px"],[style*="font:700 18px"],[style*="font: 700 18px"]{font-size:14px!important}
 /* ボタン */
 [style*="padding:30px 78px"],[style*="padding: 30px 78px"]{padding:20px 34px!important}
 [style*="padding:26px 62px"],[style*="padding: 26px 62px"]{padding:18px 24px!important;font-size:17px!important;text-align:center}
 [style*="padding:19px 40px"],[style*="padding: 19px 40px"]{padding:16px 28px!important}
 .bsq-spbar{display:flex!important}
}


/* ===== スマホ／タブレット：FVを上部ヘッダー型に ===== */
@media (max-width:1199px){
 #top{display:flex!important;flex-direction:column!important;background:#007062!important}
 #top>div[style*="inset: 0"],#top>div[style*="inset:0"]{position:relative!important;order:2;height:64vw!important;min-height:230px}
 #top>div[style*="left: 360px"],#top>div[style*="left:360px"]{order:1;position:sticky!important;top:0;z-index:30;width:100%!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px!important;padding:12px 16px 14px!important;background:#007062!important;box-shadow:0 2px 10px rgba(0,0,0,.18)}
 #top>div[style*="left: 360px"]>span,#top>div[style*="left:360px"]>span{display:none!important}
 #top>div[style*="left: 360px"]>img,#top>div[style*="left:360px"]>img{width:168px!important;max-width:50vw}
 #top>div[style*="left: 360px"]>div:nth-of-type(1),#top>div[style*="left:360px"]>div:nth-of-type(1){order:3;width:100%;flex-direction:row!important;justify-content:center;gap:18px!important;padding:9px 10px!important;font-size:13px!important}
 #top>div[style*="left: 360px"]>div:nth-of-type(2),#top>div[style*="left:360px"]>div:nth-of-type(2){order:4;width:100%;justify-content:center;padding-top:0!important}
 #top .bsq-spnav{order:2;margin-left:auto}
 #top>p{display:none!important}
 #top>div[style*="bottom: 34px"],#top>div[style*="bottom:34px"]{order:5;position:relative!important;padding:14px 0!important;background:#007062!important}
}
/* ===== スマホ表示の追補 ===== */
@media (max-width:1199px){
 #top>div[style*="left: 360px"],#top>div[style*="left:360px"]{z-index:60}
 #top>p{position:relative!important;z-index:2}
 #top>div[style*="bottom: 34px"],#top>div[style*="bottom:34px"]{position:relative!important;z-index:2}
}
@media (max-width:767px){
 #parking [style*="height: 420px"],#parking [style*="height:420px"]{height:74vw!important;min-height:0!important;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
 #parking [style*="height: 420px"]>*{width:100%!important;height:100%!important;background-size:contain!important}
 #cafe [style*="height: 420px"],#cafe [style*="height:420px"]{height:auto!important;min-height:0!important}
 #cafe [style*="height: 420px"]>div,#cafe [style*="height:420px"]>div{height:58vw}
 #news [style*="align-items: flex-end"],#news [style*="align-items:flex-end"]{align-items:flex-start!important}
 #news h2{text-align:left!important}
 #news [style*="background: #2f7f6f"],#news [style*="background:#2f7f6f"]{display:none!important}
 h2[style]{font-size:22px!important;line-height:1.4!important}
 #news h2[style]{font-size:34px!important}
 h2[style] span{white-space:nowrap}
 h3[style]{font-size:19px!important;line-height:1.5!important}
 footer>div[style]:not(.bsq-license){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px 18px!important}
 footer>div[style]>div:nth-child(2),footer>div[style]>div:nth-child(3){min-width:0}
 footer a{overflow-wrap:anywhere}
 footer>div[style]>div:first-child{grid-column:1 / -1}
}

/* ===== スマホ／タブレット：FVヘッダーの確定デザイン ===== */
@media (max-width:1199px){
 /* ヘッダー1段目：ロゴ（左固定）＋MENU（右固定）。開閉で位置が動かない */
 #top>div[style*="left: 360px"],#top>div[style*="left:360px"]{align-items:center!important;justify-content:flex-start!important;row-gap:10px!important;padding:12px 16px 12px!important}
 #top>div[style*="left: 360px"]>img,#top>div[style*="left:360px"]>img{flex:0 0 auto;width:158px!important;margin:0!important}
 #top .bsq-spnav{order:2;margin-left:auto!important;align-self:center;border:0!important;position:static}
 #top .bsq-spnav>summary{width:max-content;margin-left:auto}
 #top .bsq-spnav>summary{border:1px solid rgba(255,255,255,.72);padding:11px 15px!important;font-size:15px!important;letter-spacing:.12em!important}
 #top .bsq-spnav>div{position:absolute;left:0;right:0;top:100%;background:#00594e;padding:4px 16px 14px!important;gap:0!important;box-shadow:0 14px 26px rgba(0,0,0,.26);z-index:40}
 #top .bsq-spnav>div>a{padding:15px 4px!important;border-bottom:1px solid rgba(255,255,255,.16);font-size:15px!important}
 #top .bsq-spnav>div>a:last-child{border-bottom:0}
 /* 営業時間：1行にまとめて中央寄せ */
 #top>div[style*="left: 360px"]>div:nth-of-type(1),#top>div[style*="left:360px"]>div:nth-of-type(1){order:3;width:100%;box-sizing:border-box;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:4px 18px!important;padding:9px 10px!important;font-size:12.5px!important;letter-spacing:.02em!important}
 #top>div[style*="left: 360px"]>div:nth-of-type(1)>span,#top>div[style*="left:360px"]>div:nth-of-type(1)>span{white-space:nowrap}
 /* LINE / Instagram */
 #top>div[style*="left: 360px"]>div:nth-of-type(2),#top>div[style*="left:360px"]>div:nth-of-type(2){order:4;width:100%;gap:10px!important}
 #top>div[style*="left: 360px"]>div:nth-of-type(2)>a,#top>div[style*="left:360px"]>div:nth-of-type(2)>a{flex:1 1 0;justify-content:center;padding:12px 8px!important;font-size:15px!important}
}

/* ===== スマホ：犬種別料金表は「コース選択＋2列」 ===== */
@media (max-width:767px){
 .bsq-course{display:flex!important}
 #trimming div:has(>[style*="1fr 132px 132px 132px"]){overflow-x:visible!important}
 [style*="1fr 132px 132px 132px"]{min-width:0!important;grid-template-columns:1fr 124px!important}
 .bsq-notes{grid-template-columns:1fr!important}
 /* 店舗位置：ラベルの後で改行する */
 .bsq-access-line{display:flex!important;flex-direction:column!important}
 .bsq-access-line>span{display:block}
 .bsq-access-label{padding-right:0!important}
 /* 価格セル（通常＋早割の2段）はスマホでは少し小さく */
 .bsq-price span{font-size:19px!important}
 .bsq-price span span{font-size:12px!important}
 .bsq-price span span+span{font-size:15px!important}
 #trimming[data-course="quick"] [style*="1fr 132px 132px 132px"]>div:nth-child(3),
 #trimming[data-course="quick"] [style*="1fr 132px 132px 132px"]>div:nth-child(4),
 #trimming[data-course="shampoo"] [style*="1fr 132px 132px 132px"]>div:nth-child(2),
 #trimming[data-course="shampoo"] [style*="1fr 132px 132px 132px"]>div:nth-child(4),
 #trimming[data-course="full"] [style*="1fr 132px 132px 132px"]>div:nth-child(2),
 #trimming[data-course="full"] [style*="1fr 132px 132px 132px"]>div:nth-child(3){display:none!important}
 [style*="1fr 132px 132px 132px"]>div{padding-left:12px!important;padding-right:8px!important}
 [style*="1fr 132px 132px 132px"]>div br{display:none}
 /* 見出しは2行になっても中央寄せ（肉球アイコンも文字と一緒に中央へ） */
 #trimming h2[style],#dogmenu h2[style]{text-align:center!important}
 #trimming div:has(>svg+h2),#dogmenu div:has(>svg+h2){display:block!important;text-align:center!important}
 #trimming div:has(>svg+h2)>svg,#dogmenu div:has(>svg+h2)>svg{display:inline-block;vertical-align:middle;margin-right:10px}
 #trimming div:has(>svg+h2)>h2,#dogmenu div:has(>svg+h2)>h2{display:inline}
}

/* ===== スマホ：コースオプションは1カラム ===== */
@media (max-width:767px){
  [style*="1fr 300px"] { grid-template-columns: 1fr !important; gap: 12px !important; padding: 18px 12px !important; }
  [style*="1fr 300px"] [style*="1fr auto"] { max-width: 280px; }
}

/* ===== 個人情報の取扱いについて・News一覧：固定幅を可変にする ===== */
[style*="width:1780px"],[style*="width: 1780px"]{
 width:min(1780px, 100% - 40px)!important;box-sizing:border-box}
[style*="width:1070px"],[style*="width: 1070px"]{
 width:min(1070px, 100% - 40px)!important;box-sizing:border-box}
@media (max-width:1199px){
 [style*="width:1920px"],[style*="width: 1920px"]{width:100%!important}
 [style*="width:1780px"],[style*="width: 1780px"]{max-width:1070px}
}
@media (max-width:767px){
 [style*="font:700 62px"],[style*="font: 700 62px"]{font-size:32px!important}
 [style*="font:700 27px"],[style*="font: 700 27px"]{font-size:20px!important}
 [style*="font:700 24px"],[style*="font: 700 24px"]{font-size:19px!important;line-height:1.5!important}
 [style*="font:400 19px"],[style*="font: 400 19px"],[style*="font:400 20px"],[style*="font: 400 20px"]{font-size:15px!important}
 [style*="height:104px"],[style*="height: 104px"]{height:76px!important}
 [style*="padding:74px 0 110px"],[style*="padding: 74px 0 110px"]{padding:44px 0 64px!important}
 footer>div[style]{flex-direction:column!important;gap:20px!important;align-items:flex-start!important}
}

/* ===== News一覧・詳細（index.php / single.php） ===== */
@media (max-width:1199px){
 [style*="padding:70px 0 90px"],[style*="padding: 70px 0 90px"]{padding-top:48px!important;padding-bottom:64px!important}
}
@media (max-width:767px){
 [style*="font:700 52px"],[style*="font: 700 52px"]{font-size:30px!important}
 [style*="190px 1fr"]{grid-template-columns:1fr!important;gap:6px!important;padding-bottom:18px!important}
 [style*="font:700 25px"],[style*="font: 700 25px"]{font-size:15px!important}
 [style*="font:500 25px"],[style*="font: 500 25px"]{font-size:17px!important}
 [style*="font:500 19px"],[style*="font: 500 19px"]{font-size:15px!important}
 [style*="padding:70px 0 90px"],[style*="padding: 70px 0 90px"]{padding-top:34px!important;padding-bottom:52px!important}
 [style*="padding-top:50px"],[style*="padding-top: 50px"]{padding-top:34px!important}
}

[style*="width:800px"],[style*="width: 800px"]{width:min(800px, 100% - 36px)!important;box-sizing:border-box}
@media (max-width:767px){
 [style*="font:700 38px"],[style*="font: 700 38px"]{font-size:24px!important}
 [style*="font:700 20px"],[style*="font: 700 20px"]{font-size:15px!important}
 [style*="font:400 20px"],[style*="font: 400 20px"]{font-size:16px!important}
}

@media (max-width:767px){
 footer>div[style]:not(.bsq-license){grid-template-columns:1fr!important;gap:26px!important}
 footer>div.bsq-license{gap:1px!important}
 footer>div[style]>div:nth-child(3)>div[style*="gap:14px"]{width:100%;flex-wrap:nowrap}
 footer>div[style]>div:nth-child(3)>div[style*="gap:14px"]>a{flex:1 1 0;justify-content:center;padding:12px 8px!important}
}

/* ===== FAQ（アコーディオン） ===== */
details.bsq-faq > summary { list-style: none; cursor: pointer; }
details.bsq-faq > summary::-webkit-details-marker { display: none; }
details.bsq-faq[open] .bsq-faq-mark { transform: rotate(45deg); }
details.bsq-faq > summary:hover { background: #f5f9f7; }

/* 1920px設計の画面幅フィットは assets/js/main.js が担当（CSSでは倍率を計算できない） */
/* 1.4倍上限を超える超ワイド画面でも両端が白く抜けないように */
body.home { background: #80b8b1; }
/* News・個人情報ページは白背景のまま */
body:not(.home) #bsq-page { background: #fff; }

html, body { overflow-x: hidden; }

/* ===== News一覧：ページ送り ===== */
.pagination .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:52px;box-sizing:border-box;border:1px solid #b9cdc7;color:#12362f;text-decoration:none;font:500 18px/1 'Zen Kaku Gothic New',sans-serif;letter-spacing:.04em;padding:13px 19px;transition:background .2s,color .2s}
.pagination .page-numbers:hover{background:#eef5f3}
.pagination .page-numbers.current{background:#007062;border-color:#007062;color:#fff;font-weight:700}
.pagination .page-numbers.dots{border-color:transparent;padding-left:6px;padding-right:6px;min-width:0}
@media (max-width:1199px){
 .pagination .nav-links{gap:8px}
 .pagination .page-numbers{min-width:44px;font-size:15px;padding:11px 14px}
}


/* ===== 全ページ共通：追従グリーンヘッダー（A案） ===== */
#bsq-bar{position:fixed;left:0;right:0;top:0;z-index:80;background:#007062;box-shadow:0 2px 12px rgba(0,0,0,.2)}
#bsq-bar.bsq-bar-auto{transform:translateY(-102%);transition:transform .28s ease;pointer-events:none}
#bsq-bar.bsq-bar-auto.is-on{transform:none;pointer-events:auto}
#bsq-bar .bsq-bar-in{max-width:1780px;margin:0 auto;padding:14px 34px;display:flex;align-items:center;gap:22px;box-sizing:border-box}
#bsq-bar .bsq-bar-logo{display:block;line-height:0}
#bsq-bar .bsq-bar-logo img{width:200px;height:auto;display:block}
#bsq-bar .bsq-bar-tel{margin-left:auto;display:flex;align-items:baseline;gap:9px;text-decoration:none;color:#fff}
#bsq-bar .bsq-bar-tel span{font:500 15px/1 'Zen Kaku Gothic New',sans-serif;letter-spacing:.1em}
#bsq-bar .bsq-bar-tel strong{font:700 26px/1 Poppins,'Zen Kaku Gothic New',sans-serif}
#bsq-bar .bsq-bar-nav{position:static}
#bsq-bar .bsq-bar-nav>summary{list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.72);padding:12px 18px;display:flex;align-items:center;gap:11px;color:#fff;font:500 16px/1 'Zen Kaku Gothic New',sans-serif;letter-spacing:.12em}
#bsq-bar .bsq-bar-nav>summary::-webkit-details-marker{display:none}
#bsq-bar .bsq-bar-menu{position:absolute;left:0;right:0;top:100%;background:#00594e;padding:4px 34px 16px;display:flex;flex-direction:column;box-shadow:0 14px 26px rgba(0,0,0,.26)}
#bsq-bar .bsq-bar-menu>a{color:#fff;text-decoration:none;font:500 16px/1 'Zen Kaku Gothic New',sans-serif;letter-spacing:.08em;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.16)}
#bsq-bar .bsq-bar-menu>a:last-child{border-bottom:0}
#bsq-bar .bsq-bar-menu>a span{opacity:.7}
/* 下層ページは常時表示（overflow-x:hidden環境でstickyが効かないためfixed＋本文押し下げ） */
body:not(.home) #bsq-bar{position:fixed}
body:not(.home){padding-top:var(--bsq-bar-h,74px)}
@media (max-width:1199px){
 #bsq-bar .bsq-bar-in{padding:11px 16px;gap:12px}
 #bsq-bar .bsq-bar-logo img{width:150px}
 #bsq-bar .bsq-bar-tel{display:none}
 #bsq-bar .bsq-bar-nav{margin-left:auto}
 #bsq-bar .bsq-bar-nav>summary{padding:11px 15px;font-size:15px}
 #bsq-bar .bsq-bar-menu{padding:4px 16px 14px}
 #bsq-bar .bsq-bar-menu>a{font-size:15px;padding:15px 4px}
}
/* トップページのFV内ヘッダーとの二重表示を避ける */
body.home #bsq-bar{position:fixed}
body.home{padding-top:0}
@media (max-width:1199px){body:not(.home){padding-top:var(--bsq-bar-h,60px)}}

/* ===== PC：本文サイズを19px基準に統一（見出しは対象外） ===== */
@media (min-width:1200px){
[style*="font:400 20px"],
[style*="font: 400 20px"],
[style*="font:400 21px"],
[style*="font: 400 21px"],
[style*="font:400 22px"],
[style*="font: 400 22px"],
[style*="font:400 23px"],
[style*="font: 400 23px"],
[style*="font:400 24px"],
[style*="font: 400 24px"],
[style*="font:400 25px"],
[style*="font: 400 25px"],
[style*="font:500 20px"],
[style*="font: 500 20px"],
[style*="font:500 21px"],
[style*="font: 500 21px"],
[style*="font:500 22px"],
[style*="font: 500 22px"],
[style*="font:500 23px"],
[style*="font: 500 23px"],
[style*="font:500 24px"],
[style*="font: 500 24px"],
[style*="font:500 25px"],
[style*="font: 500 25px"],
[style*="font:700 20px"],
[style*="font: 700 20px"],
[style*="font:700 21px"],
[style*="font: 700 21px"],
[style*="font:700 22px"],
[style*="font: 700 22px"]{font-size:19px!important}
}

/* ===== スマホ・タブレット：不自然な改行を防ぐ ===== */
@media (max-width:1199px){
 /* PC向けに入れた強制改行は解除して、幅なりに流す */
 p br,span br,.bsq-early br{display:none}
 /* 日本語の不自然な分断を防ぐ。text-wrap:pretty は日本語で全行が短く詰められるため使わない */
 p,span,li,dd,dt,td,th,a,h1,h3,h4{word-break:normal;line-break:strict}
 /* セクション見出しは「/」の位置で改行（日本語部分を塊のまま送る）。1行に収まる幅では改行しない */
 h2[style]{word-break:keep-all!important;overflow-wrap:break-word;text-wrap:pretty}
 /* 駐車可能台数のラベル後で改行 */
 .bsq-park-label{display:block}
 /* 電話番号や英数字は途中で切らない */
 a[href^="tel"],a[href^="tel"] *{word-break:keep-all;white-space:nowrap}
 /* ボタン・チップ類は必ず1行 */
 button,summary,[role="button"],.bsq-chip{white-space:nowrap!important;word-break:keep-all!important}
 details.bsq-faq>summary{white-space:normal!important;word-break:normal!important}
 button{font-size:15px!important;padding-left:16px!important;padding-right:16px!important}
 /* カフェの説明文：段落ごとに間隔をあけ、左寄せで読みやすく */
 .bsq-cafe-lead{gap:14px!important;align-items:stretch!important;margin-bottom:32px!important}
 .bsq-cafe-lead p{text-align:center!important;line-height:1.9!important}
 .bsq-cafe-lead>div{align-items:center!important}
 /* コース内容：列幅が足りない幅では1列に */
 .bsq-course-list{grid-template-columns:repeat(auto-fit,minmax(10em,1fr))!important}
 /* 早期割引：縦積み */
 .bsq-early{grid-template-columns:1fr!important;padding:26px 20px!important;gap:20px!important;margin-bottom:40px!important}
 .bsq-early-badge{padding-right:0!important;padding-bottom:18px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.3)!important}
 .bsq-early-badge>span:first-child{font-size:22px!important}
 .bsq-early-badge>span:nth-child(2){font-size:54px!important}
 .bsq-early-badge>span:nth-child(2) span{font-size:28px!important}
 .bsq-early-badge>span:last-child{font-size:14px!important}
 .bsq-early p{font-size:18px!important;line-height:1.6!important}
 .bsq-early p+div{font-size:15px!important;line-height:1.8!important;gap:12px!important}
 /* コース名は1行に収める */
 #trimming [style*="font:700 24px"],#trimming [style*="font: 700 24px"]{font-size:15px!important;white-space:nowrap!important}
 #trimming [style*="font:400 17px"],#trimming [style*="font: 400 17px"]{font-size:13px!important}
 .bsq-course-list li{grid-column:auto!important;white-space:nowrap!important}
 /* 動物取扱業の表示：狭い幅では左寄せの縦積み */
 .bsq-license{width:auto!important;margin:20px 16px 0!important;padding-top:14px!important;display:flex!important;justify-content:flex-start!important;flex-direction:column!important;gap:1px!important;font-size:12px!important;line-height:1.45!important;opacity:.78}
 .bsq-license span{white-space:normal!important}
}

/* PC本文19px統一の対象外（登録情報は小さめのまま） */
.bsq-license span{font-size:inherit!important}

/* ===== 最終上書き：1070px枠のレスポンシブ復旧 =====
   上方の [style*="width:1070px"]{width:min(1070px,100% - 40px)!important} が
   @media(max-width:1199px) の width:100%!important より後ろに書かれており後勝ちしていたため、
   入れ子の各階層で40pxずつ縮み、margin:auto の無い枠（マップ・カレンダー）が左に寄っていた。 */
@media (max-width:1199px){
 [style*="width:1070px"],[style*="width: 1070px"]{
  width:100%!important;max-width:1070px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
 [style*="width:1780px"],[style*="width: 1780px"]{
  width:100%!important;max-width:1070px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
 /* 埋め込み枠の高さ：vw は zoom / スクロールバー幅の影響を受けるので比率指定に */
 #access [style*="height:460px"],#access [style*="height: 460px"]{height:auto!important;aspect-ratio:1070/460;min-height:280px}
 #reservation [style*="height:620px"],#reservation [style*="height: 620px"]{height:auto!important;aspect-ratio:1070/620;min-height:380px}
 /* iframeは親枠に完全に従わせる（幅の取りこぼしで左寄りになるのを防ぐ） */
 #access iframe,#reservation iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;display:block;vertical-align:top}
 /* 埋め込み枠には左右paddingをかけない */
 #access [style*="height:460px"],#access [style*="height: 460px"],#reservation [style*="height:620px"],#reservation [style*="height: 620px"]{padding-left:0!important;padding-right:0!important;position:relative!important}
}
@media (max-width:767px){
 /* 駐車場図のフルブリード：100vw を使わず親の padding を打ち消す */
 #parking [style*="height:420px"],#parking [style*="height: 420px"]{
  width:auto!important;max-width:none!important;margin-left:-18px!important;margin-right:-18px!important}
}
/* iOS Safari は html/body の overflow-x:hidden を確実にクリップしないため clip を併用 */
html,body{overflow-x:clip}
/* 1920px設計の横グラデーション背景は、狭い画面では左端の薄グリーンだけが画面全体に出てしまうので無効化 */
@media (max-width:1919px){#bsq-page{background:#fff!important}}


/* ===== 260822 スマホ表示の不具合修正 ===== */
/* 6 メニューは犬用・人間用ともに名称列を広げ、価格は右寄せのまま */
@media (max-width:767px){
 [style*="grid-template-columns:1fr 120px"],[style*="grid-template-columns: 1fr 120px"]{grid-template-columns:1fr 96px!important;gap:12px!important}
}
/* 3 News一覧・下層ページ：追従ヘッダー分を差し引いてフッターを最下部に固定 */
body:not(.home) #bsq-page{min-height:calc(100vh - var(--bsq-bar-h,74px))!important}

/* タブレット（768〜1199px）：フッター3カラムが収まらず右端が見切れるため2カラムに */
@media (min-width:768px) and (max-width:1199px){
 footer>div[style]:not(.bsq-license){grid-template-columns:1fr 1fr!important;gap:28px 32px!important}
 footer>div[style]:not(.bsq-license)>div:first-child{grid-column:1 / -1}
 footer>div[style]:not(.bsq-license)>div{padding-top:0!important;min-width:0}
 footer img[src*="logo"]{width:300px!important}
 footer>div[style]>div:nth-child(3)>div[style*="gap:14px"]{flex-wrap:wrap}
 footer a{overflow-wrap:anywhere}
}

/* ===== 260821 表示調整 ===== */
@media (max-width:1199px){
 /* オプション：金額を右端まで寄せる */
 [style*="1fr 300px"] [style*="1fr auto"]{max-width:none!important;width:100%!important}
 [style*="1fr 300px"] [style*="1fr auto"]>span:last-child{text-align:right!important}
 /* カフェの説明（注記）も中央寄せ */
 .bsq-cafe-lead>div{align-items:center!important;text-align:center!important}
 .bsq-cafe-lead>div span{text-align:center!important}
 /* 早期割引：太字の見出しの後だけ改行を残す */
 .bsq-early span[style*="font-weight:700"]+br,.bsq-early span[style*="font-weight: 700"]+br{display:inline!important}
 /* Googleカレンダーの見出し・説明は中央寄せ */
 #reservation [style*="align-items:flex-start"],#reservation [style*="align-items: flex-start"]{align-items:center!important;text-align:center!important}
}
