/* 既存ページ（船橋市・八千代市・施工事例・プライバシー・404）用のヘッダーとフッター。
   見た目はトップ（style.css）と同じ。既存ページのCSSとぶつからないよう、名前はすべて sc- で始める。
   2026-11-08 作成 */
.sc-topbar,.sc-header,.sc-footer{
  --sc-green:#1f4129;--sc-cream:#f6f1e6;--sc-line:#d9ddcf;--sc-muted:#62685d;--sc-ink:#333;
  --sc-serif:'Noto Serif JP',serif;--sc-sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  box-sizing:border-box;font-family:var(--sc-sans);line-height:1.9;-webkit-font-smoothing:antialiased;text-align:left
}
:where(.sc-topbar,.sc-header,.sc-footer) *{box-sizing:border-box}
/* 既存ページの a{...} を打ち消すだけの弱い指定（:where で強さ0。下の sc- の指定が必ず勝つ） */
:where(.sc-topbar,.sc-header,.sc-footer) a{color:inherit;font-weight:inherit;text-decoration:none;border:0;background:none;word-break:normal;display:revert}
:where(.sc-header,.sc-footer) img{max-width:none}

/* 上の帯 */
.sc-topbar{background:var(--sc-green);color:var(--sc-cream);padding:8px 4%;font-size:12px;display:flex;justify-content:space-between;letter-spacing:.08em;line-height:1.6}

/* ヘッダー */
.sc-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 3.5%;background:var(--sc-cream);border-bottom:1px solid var(--sc-line);position:sticky;top:0;z-index:45;color:var(--sc-ink)}
.sc-brand{display:flex;align-items:center;gap:13px;font-family:var(--sc-serif);font-weight:600;font-size:23px;line-height:1.3;white-space:nowrap;color:var(--sc-green)!important}
.sc-brand small{display:block;margin:0;font:500 10px/2 var(--sc-sans);letter-spacing:.2em;color:var(--sc-green)}
.sc-logo{position:relative;display:grid;place-items:center;width:47px;height:47px;border-radius:50%;overflow:hidden;flex-shrink:0}
.sc-logo img{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:0;box-shadow:none;background:none;aspect-ratio:auto}
.sc-menu{display:none;font:inherit;cursor:pointer}
.sc-nav{display:flex;align-items:center;gap:clamp(12px,1.3vw,22px);margin-left:auto;font-size:13px;font-weight:500}
.sc-nav a{white-space:nowrap;color:var(--sc-ink)}
.sc-nav a:hover{color:#7c5a13}
.sc-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;padding:14px 20px;background:#06c755;color:#fff!important;border-radius:999px;box-shadow:0 4px 0 #1f412933;font-size:13px;font-weight:700!important;line-height:1.5;white-space:nowrap}
.sc-line:hover{background:#05b34c}
.sc-badge{display:inline-block;flex-shrink:0;background:#fff;color:#06a947;border-radius:6px;padding:2px 7px;font-size:13px;font-weight:700;line-height:1.5}
.sc-header a:focus-visible,.sc-header button:focus-visible,.sc-footer a:focus-visible{outline:3px solid #d6a23b;outline-offset:5px}

@media (min-width:1101px) and (max-width:1350px){
  .sc-header{gap:12px;padding-inline:2%}
  .sc-nav{gap:9px;font-size:11px}
  .sc-line{padding:12px 14px;font-size:11px;gap:6px}
}
@media (max-width:1150px){.sc-brand{font-size:20px}}
@media (max-width:1100px){
  .sc-header{flex-wrap:wrap}
  .sc-menu{display:block;order:2;background:transparent;border:1px solid #a9b39c;border-radius:2px;color:var(--sc-green);font-size:12px;padding:9px 12px;line-height:1.6}
  .sc-menu span{margin-left:8px}
  .sc-line{order:1;margin-left:auto}
  .sc-nav{order:3;display:none;width:100%;margin-left:0;flex-direction:column;align-items:stretch;gap:0;font-size:14px;max-height:calc(100dvh - 180px);overflow-y:auto}
  .sc-nav.open{display:flex}
  .sc-nav a{padding:13px;border-bottom:1px solid var(--sc-line)}
}
@media (max-width:900px){.sc-header{padding:16px 5%}}
@media (max-width:620px){
  .sc-topbar{justify-content:center;font-size:10px;padding:6px}
  .sc-topbar span{display:none}
  .sc-header{gap:12px;padding:13px 5%}
  .sc-brand{font-size:19px;gap:9px}
  .sc-brand small{font-size:9px}
  .sc-logo{width:36px;height:36px}
  .sc-menu{order:1;margin-left:auto}
  .sc-line{order:2;width:100%;margin:0;padding:11px 16px;font-size:14px}
  .sc-nav{max-height:calc(100dvh - 240px)}
}

/* フッター */
.sc-footer{display:block;padding:48px 6% 20px;background:var(--sc-cream);color:var(--sc-ink);font-size:14px;text-align:left;margin:0}
.sc-fmain{display:flex;justify-content:space-between;gap:40px;max-width:none}
.sc-fbrand{font:600 26px/1.5 var(--sc-serif);color:var(--sc-green);opacity:1}
.sc-fbrand small{display:block;margin:0;font:500 10px/2 var(--sc-sans);letter-spacing:.2em;color:var(--sc-green)}
.sc-fbrand p{font:400 12px/1.9 var(--sc-sans);margin:20px 0 0;color:var(--sc-muted)}
.sc-flinks{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;font-size:12px;align-content:start}
.sc-flinks a{display:block;margin:0;padding:0;color:var(--sc-ink);font-size:12px}
.sc-flinks a:hover{color:#7c5a13}
.sc-fbottom{border-top:1px solid var(--sc-line);padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;font-size:11px;color:var(--sc-muted)}
.sc-fbottom small{display:inline;margin:0;font-size:inherit;color:inherit}
/* スマホ下の固定ボタン（トップの .mobile-contact と同じ見た目・620px以下だけ表示） */
.sc-mobile{display:none}
@media (max-width:620px){
  .sc-mobile{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#f6f1e6;padding:8px 10px max(8px,env(safe-area-inset-bottom));box-shadow:0 -2px 15px #00000014;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;box-sizing:border-box}
  .sc-mobile a{box-sizing:border-box;margin:0;border:0;border-radius:999px;text-align:center;text-decoration:none;font-size:13px;line-height:1.5;word-break:normal}
  .sc-mobile .sc-mtel{display:block;background:#1f4129;color:#fff;padding:9px 4px;font-weight:500}
  .sc-mobile .sc-mtel span{display:block;font-size:10px;font-weight:400}
  .sc-mobile .sc-mline{display:flex;align-items:center;justify-content:center;gap:5px;background:#06c755;color:#fff;padding:10px 7px;font-weight:700;box-shadow:0 4px 0 #1f412933}
  .sc-mobile .sc-mline:hover{background:#05b34c}
  .sc-mobile .sc-mline .sc-badge{font-size:10px;padding:2px 5px}
  .sc-mobile .sc-mline .sc-mlabel{font-size:11px;font-weight:700;min-width:0}
}
@media (max-width:620px){
  .sc-footer{padding:35px 6% 105px}
  .sc-fmain{flex-direction:column;gap:30px}
  .sc-flinks{gap:15px;font-size:11px}
  .sc-flinks a{font-size:11px}
  .sc-fbottom{flex-direction:column;gap:8px;font-size:10px}
}
