/* =========================================================
   common.css — 全ページ共通の再利用パーツ（bb- 接頭辞）
   ========================================================= */
:root {
  --bb-navy:   #2c4a6e;
  --bb-yellow: #ffd900;
  --bb-line:   #06C755;
  --bb-red:    #e05c5c;
}
/* --- ハチ柄ストライプ区切り --- */
.bb-stripe {
  height: 14px;
  background: repeating-linear-gradient(135deg, #ffd900 0, #ffd900 12px, #000 12px, #000 24px);
}
/* --- navy帯ヒーロー（記事ヘッダー用） --- */
.bb-hero { background: var(--bb-navy); color: #fff; padding: 28px 16px 32px; }
.bb-hero-inner { max-width: 880px; margin: 0 auto; }
.bb-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.bb-hero-date { font-size: .85rem; color: #cdd8e6; }
.bb-hero-chip { display: inline-block; font-size: .78rem; line-height: 1; padding: 6px 12px; border-radius: 999px; text-decoration: none; }
.bb-hero-chip-area { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.35); }
.bb-hero-chip-type { background: var(--bb-yellow); color: var(--bb-navy); font-weight: 700; }
.bb-hero-chip:hover { opacity: .85; }
.bb-hero-title { font-size: 1.7rem; line-height: 1.4; font-weight: 700; margin: 0; color: #fff; }
@media (max-width: 600px){ .bb-hero-title { font-size: 1.35rem; } }
/* --- 固定CTAバー（スマホのみ・電話+LINE） --- */
.bb-cta-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: none; box-shadow: 0 -4px 16px rgba(0,0,0,.18); }
@media (max-width: 1023px){ .bb-cta-bar { display: flex; } }
.bb-cta-bar a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 8px; text-decoration: none; }
.bb-cta-bar a i { font-size: 27.5px; flex-shrink: 0; }
.bb-cta-bar a span { display: flex; flex-direction: column; line-height: 1.15; }
.bb-cta-bar a b { font-size: 17px; font-weight: 700; }
.bb-cta-bar a small { font-size: 10.5px; opacity: .92; margin-top: 1px; }
.bb-cta-bar-line { background: var(--bb-line); color: #fff; }
.bb-cta-bar-tel  { background: var(--bb-yellow); color: var(--bb-navy); }
@media (max-width: 1023px){ .bb-has-cta-bar { padding-bottom: 64px; } }

/* =========================================================
   共通ヘッダー（TOP以外の全ページ・wp_body_open で出力）
   front-page.css からの移植。TOPは front-page.css を使うため
   ここはTOP以外用（body:not(.home)）。
   ========================================================= */

/* --- ヘッダー本体 --- */
body:not(.home) .bb-top { position: relative; }
body:not(.home) .bb-top header.site-header { background:#2c4a6e; display:flex; align-items:center; justify-content:space-between; gap:10px; padding: 12px max(14px, calc((100% - 880px) / 2)); }
body:not(.home) .bb-top header .logo { height:52px; width:auto; flex-shrink:0; display:block; }
@media (min-width:1024px){ body:not(.home) .bb-top header .logo { height:68px; } }
body:not(.home) .bb-top header .brand { flex:1; min-width:0; }
body:not(.home) .bb-top header .brand-1 { color:#fff; font-size:14.5px; font-weight:500; line-height:1.2; }
body:not(.home) .bb-top header .brand-2 { color:#ffd900; font-size:12.5px; margin-top:3px; line-height:1.2; }
body:not(.home) .bb-top header .phone-cta { background:#ffd900; padding:5px 11px; border-radius:8px; text-align:center; text-decoration:none; border:2px solid #000; flex-shrink:0; }
body:not(.home) .bb-top header .phone-cta .label { color:#e05c5c; font-size:11px; font-weight:500; line-height:1; }
body:not(.home) .bb-top header .phone-cta .num { color:#000; font-size:17px; font-weight:500; line-height:1; margin-top:3px; }

/* --- ハンバーガー（回転リング＋ハチ） --- */
body:not(.home) .bb-top .nav-toggle-cb { display:none; }
body:not(.home) .bb-top .nav-toggle { position:relative; flex-shrink:0; width:46px; height:46px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
body:not(.home) .bb-top .nav-ring { position:absolute; inset:0; width:100%; height:100%; animation: nav-spin 8s linear infinite; }
body:not(.home) .bb-top .nav-ring text { fill:#ffd900; font-size:13px; font-weight:700; letter-spacing:0.5px; }
body:not(.home) .bb-top .nav-bee { position:relative; z-index:1; width:20px; height:auto; }
@keyframes nav-spin { to { transform: rotate(360deg); } }
@media (min-width:1024px){ body:not(.home) .bb-top .nav-toggle { width:58px; height:58px; } body:not(.home) .bb-top .nav-bee { width:26px; } }

/* --- ドロワー --- */
body:not(.home) .bb-top .drawer { position:fixed; top:0; right:0; bottom:0; width:76%; max-width:300px; background:#2c4a6e; z-index:50; transform:translateX(100%); transition:transform .28s ease; display:flex; flex-direction:column; padding:44px 20px 24px; box-shadow:-8px 0 30px rgba(0,0,0,.35); }
body:not(.home) .bb-top .nav-toggle-cb:checked ~ .drawer { transform: translateX(0); }
body:not(.home) .bb-top .drawer a { color:#fff; text-decoration:none; font-size:17px; font-weight:500; padding:13px 6px; border-bottom:1px solid rgba(255,255,255,.12); display:flex; align-items:center; gap:11px; }
body:not(.home) .bb-top .drawer a i { color:#ffd900; font-size:21.5px; }
body:not(.home) .bb-top .drawer .drawer-line { margin-top:auto; background:#06C755; border-radius:10px; border-bottom:none; justify-content:center; font-weight:700; padding:14px; }
body:not(.home) .bb-top .drawer .drawer-line i { color:#fff; }
body:not(.home) .bb-top .drawer-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:49; opacity:0; pointer-events:none; transition:opacity .28s; }
body:not(.home) .bb-top .nav-toggle-cb:checked ~ .drawer-overlay { opacity:1; pointer-events:auto; }
body:not(.home) .bb-top .drawer-close { align-self:flex-end; display:flex; align-items:center; gap:6px; color:#fff; font-size:14px; font-weight:500; line-height:1; padding:4px 2px; cursor:pointer; margin:-4px 0 14px; }
body:not(.home) .bb-top .drawer-close i { font-size:20px; color:#ffd900; }

/* --- ハチ柄ストライプ（共通ヘッダー下端） --- */
body:not(.home) .bb-top .bee-stripe { height:14px; background: repeating-linear-gradient(135deg, #ffd900 0, #ffd900 12px, #000 12px, #000 24px); }

/* スマホ：ヘッダー説明文が折り返して窮屈なので非表示（ロゴ＋電話＋メニューに集約。TOPと同挙動） */
@media (max-width: 767px) {
  body:not(.home) .bb-top header .brand { display: none; }
}

/* --- SWELL標準ヘッダーを非表示（TOP以外） --- */
body:not(.home) #header,
body:not(.home) #fix_header,
body:not(.home) #sp_menu { display:none; }

/* =========================================================
   共通CTA（記事末尾の問い合わせ導線）
   ========================================================= */
.bb-cta { max-width:880px; margin:48px auto 0; padding:0 16px; box-sizing:border-box; }
.bb-cta-inner { background:#2c4a6e; border-radius:16px; padding:28px 20px; text-align:center; }
.bb-cta-lead { color:#fff; font-weight:700; font-size:1.1rem; margin:0 0 4px; }
.bb-cta-sub { color:#cdd8e6; font-size:.85rem; margin:0 0 18px; }
.bb-cta-btns { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.bb-cta-btn { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:1.05rem; text-decoration:none; padding:14px 28px; border-radius:999px; box-shadow:0 4px 0 rgba(0,0,0,.15); }
.bb-cta-btn:hover { filter:brightness(1.05); }
.bb-cta-btn .ti { font-size:1.3rem; }
.bb-cta-line { background:#06C755; color:#fff; }
.bb-cta-tel { background:#ffd900; color:#2c4a6e; }

/* =========================================================
   規約系の固定ページ（プライバシーポリシー）
   SWELL標準の固定ページはサイドバーが出るが、既定ウィジェット
   （最近のコメント等）が並ぶだけで規約の可読性を下げるため1カラムにする。
   このテーマは body_class() を出力しないので、#content の data-postid で対象を限定する。
   ========================================================= */
#content[data-postid="3"] .l-sidebar { display: none; }
#content[data-postid="3"] .l-mainContent { width: 100%; max-width: 100%; }
#content[data-postid="3"] .l-article { max-width: 800px; margin-left: auto; margin-right: auto; }
#content[data-postid="3"] .post_content h2 { margin-top: 2.4em; }
#content[data-postid="3"] .post_content h3 { margin-top: 1.8em; }
#content[data-postid="3"] .post_content ul { margin-bottom: 1.4em; }
#content[data-postid="3"] .post_content li { line-height: 1.9; }
