/* ================================================
   メンテナンス＆ペイントワークス 独自レイアウト CSS v3
   ================================================ */

/* ----- トップバー ----- */
#topbar {
  background: #1a2d5a;
  color: #fff;
  font-size: 12px;
  padding: 6px 0;
}
.topbar-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topbar-right { display: flex; align-items: center; gap: 16px; }
.assoc-badge {
  background: #c8a84b;
  color: #1a2d5a;
  font-size: 11px;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 3px;
}
#topbar a { color: #fff; text-decoration: none; font-weight: bold; }

/* ----- ヘッダー ----- */
#site-header {
  background: #fff;
  border-bottom: 2px solid #c8a84b;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.logo-hex {
  width: 36px; height: 36px;
  background: #1a2d5a;
  clip-path: polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.logo-hex span { color: #c8a84b; font-size: 13px; font-weight: bold; }
.logo-text { display: flex; flex-direction: column; }
.logo-main { font-size: 15px; font-weight: bold; color: #1a2d5a; line-height: 1.2; }
.logo-sub  { font-size: 10px; color: #666; }
#main-nav { margin-left: auto; }
.header-line-btn {
  background: #06c755;
  color: #fff !important;
  padding: 7px 14px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ----- ヒーロー テキスト白色化 ----- */
.navi-header-image h1,
.navi-header-image h2,
.navi-header-image h3,
.navi-header-image p,
.navi-header-image li,
.navi-header-image span {
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.8) !important;
}
.navi-header-image .j-btn,
.navi-header-image a.j-btn {
  color: #1a2d5a !important;
  text-shadow: none !important;
}

/* ----- コンテンツ余白（overflowは設定しない） ----- */
#site-content {
  padding-bottom: 0;
  margin-bottom: 0;
}

/* ----- フッター ----- */
#site-footer {
  background: #1a2d5a;
  color: #ccc;
  margin-top: 0;
}
.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px 20px;
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.footer-col { flex: 1; min-width: 200px; }
.footer-desc { font-size: 13px; line-height: 1.7; margin-bottom: 12px; }
.footer-line-link {
  display: inline-block;
  background: #06c755;
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
}
.footer-col-title {
  color: #c8a84b;
  font-size: 13px;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  border-bottom: 1px solid #2d4a7a;
  padding-bottom: 6px;
}
.footer-contact p { font-size: 13px; margin: 4px 0; }
.footer-contact a { color: #ccc; text-decoration: none; }
.footer-bottom {
  background: #0f1d3a;
  padding: 12px 20px;
  font-size: 11px;
  color: #888;
  text-align: center;
}

/* ----- フローティングLINEボタン ----- */
#floating-line {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
}
#floating-line a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px; height: 56px;
  background: #06c755;
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
/* 黒いLINEロゴ画像を非表示 */
.cc-m-image img[src*="line"],
.cc-m-image img[src*="LINE"],
.cc-m-imagewrapper img[width="500"],
.cc-m-image a[href*="lin.ee"] img {
  display: none !important;
}
.cc-m-image a[href*="lin.ee"] {
  display: none !important;
}
/* 画像ブロック全体を非表示（画像がLINEロゴの場合）*/
.cc-m-imagewrapper:has(a[href*="lin.ee"]) {
  display: none !important;
}
/* LINEカード文字色修正 */
.hd2-card,
.hd2-card h2,
.hd2-card p,
.hd2-card span,
.hd2-card div,
.hd2-card strong {
  color: #ffffff !important;
}
.hd2-card-en {
  color: #c9a84c !important;
}
.hd2-btn {
  color: #ffffff !important;
  background: #06c755 !important;
}
.hd2-tel {
  color: rgba(255,255,255,0.5) !important;
}
.hd2-tel a {
  color: #c9a84c !important;
}
.hd2-checks {
  color: rgba(255,255,255,0.5) !important;
}
/* LINEカード文字白色化 */
.hd2-card * { color: #ffffff !important; }
.hd2-btn { background: #06c755 !important; }