/* 青波シティバス スタイル（路線図版・準備中対応） */
:root {
  --bg:#ffffff;
  --fg:#1b1b1b;
  --brand:#2c63c7;
  --brand-2:#d05c2c;
  --muted:#f5f7fb;
  --border:#e1e5ee;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic UI',sans-serif;line-height:1.6}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem}
.brand-logo{font-size:1.4rem}
.site-nav a{margin:0 6px;padding:6px 10px;border-radius:8px}
.site-nav a[aria-current="page"]{background:var(--muted);}
.hero{padding:40px 16px;text-align:center;background:linear-gradient(180deg,#f7fbff,#fff);border-bottom:1px solid var(--border)}
.cards {display: grid;grid-template-columns: repeat(auto-fit, 320px);grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 16px;padding: 16px;}
.card {background: #fff;border: 1px solid var(--border);border-radius: 12px;padding: 16px;height: 400px;box-sizing: border-box;}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;background:var(--brand);color:#fff}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.site-footer{padding:20px 16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.foot-nav a{margin-right:12px}
.map{max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;margin:8px 0 24px}
.brand-logo {
  max-width: 160px;  /* 最大幅を固定（PCでも大きくなりすぎない） */
  width: 100%;       /* 親要素に合わせて縮む */
  height: auto;      /* 縦横比を保持 */
}


body {
  font-family: 'BIZ UDP Gothic', 'ヒラギノ角ゴ ProN', 'Yu Gothic UI', sans-serif;
}

#notice {
  background: #fffae6;
  border-bottom: 2px solid #ffcc00;
  color: #333;
  text-align: center;
  padding: 10px 40px;
  font-weight: bold;
  position: relative;
  font-family: 'BIZ UDP Gothic', 'ヒラギノ角ゴ ProN', 'Yu Gothic UI', sans-serif;
}

#notice button {
  position: absolute;
  right: 10px;
  top: 5px;
  border: none;
  background: transparent;
  font-size: 1.2em;
  cursor: pointer;
  color: #333;
}

#notice button:hover {
  color: red;
}
#notice {
  background: #f0f0f0; /* ★ライトグレー */
  border-bottom: 2px solid #ccc;
  color: #333;
  text-align: center;
  padding: 10px 40px;
  font-weight: bold;
  position: relative;
  font-family: 'BIZ UDP Gothic', 'ヒラギノ角ゴ ProN', 'Yu Gothic UI', sans-serif;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: 1000;
}

#notice.hide {
  transform: translateY(-100%); /* ★上にスライドして消える */
  opacity: 0;
}

#notice button {
  position: absolute;
  right: 10px;
  top: 5px;
  border: none;
  background: transparent;
  font-size: 1.2em;
  cursor: pointer;
  color: #333;
  transition: color 2s;
}

#notice button:hover {
  color: red;
}
