:root{
  --ink:#0A2540;
  --navy:#1E3A8A;
  --sky:#60A5FA;
  --paper:#FFFFFF;
  --fog:#DDE3EB;
}
/* Generic spacing helpers */
.section{padding:56px 0;}
.section.narrow{padding:32px 0;}
.hero h1{font-weight:700;}
.btn-primary{display:inline-block;padding:12px 24px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;}
.btn-outline{display:inline-block;padding:10px 22px;border-radius:999px;border:1px solid var(--navy);color:var(--navy);text-decoration:none;background:#fff;}
.card{background:#fff;border:1px solid var(--fog);border-radius:16px;padding:16px;}
.grid{display:grid;gap:16px;}
@media(min-width:768px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
/* Elementor containers fallback */
.elementor .hero{min-height:70vh;display:flex;align-items:center;background:linear-gradient(0deg,rgba(221,227,235,.6),rgba(221,227,235,.6));}
.elementor .hero .inner{max-width:1200px;margin:0 auto;padding:40px 20px;}
.elementor .ink{color:var(--ink)}
.elementor .fog-bg{background:var(--fog)}
/* ===== LP header-like nav ===== */
.lp-nav {
  position: sticky; top: 0; z-index: 9999;
  background: #FFFFFFE6; backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--fog);
}
.lp-nav .wrap { max-width: 1200px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 16px; }
.lp-logo { max-width: 160px; height: auto; }
.lp-nav .spacer { flex: 1; }
.lp-nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14px; padding: 8px 10px; border-radius: 8px; }
.lp-nav a:hover, .lp-nav a.is-active { background: var(--fog); }
@media (max-width: 767px) { .lp-logo { max-width: 120px; } .lp-nav .wrap { gap: 6px; } .lp-nav a { font-size: 13px; padding: 8px; } }

/* 固定ナビ分のオフセット */
:target { scroll-margin-top: 72px; }

/* ===== LP footer-like ===== */
.lp-footer { border-top: 1px solid var(--fog); background: #fafbfd; }
.lp-footer .wrap { max-width: 1200px; margin: 0 auto; padding: 28px 16px; display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.lp-footer .links a { color: var(--ink); text-decoration: none; margin-left: 16px; font-size: 14px; }
.lp-footer .links a:hover { text-decoration: underline; }

.section { padding: 56px 0; }
.section.narrow { padding: 32px 0; }
/* LPヘッダー */
.lp-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #eee;
  z-index: 9999;
}

.lp-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lp-logo img {
  height: 40px;  /* ロゴの高さを調整 */
  width: auto;
}

.lp-nav a {
  margin-left: 20px;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: color 0.3s;
}

.lp-nav a:hover,
.lp-nav a.is-active {
  color: #e60012; /* アクティブ色 */
}
