.markdown-body img {
  max-width: 100%;
  height: auto;
  border-radius: .25rem;
}
.markdown-body h1 {
  margin-top: 1.25rem;
  padding-bottom: .25rem;
  border-bottom: 2px solid #0d6efd; /* Bootstrap primary */
}
/* Markdown 本文の簡易スタイル（必要なら） */
.markdown-body h2, .markdown-body h3 {
  margin-top: 1.5rem;
}
.markdown-body p {
  margin-bottom: 0.75rem;
}

/* Carousel 全体に対して上部マージンを少し調整する場合 */
.hero-carousel {
  margin-top: 0;
}

/* スライドごとの最小高さを揃えたい場合 */
.hero-carousel .carousel-item {
  min-height: 420px; /* 好みで調整 */
}

/* 全体 */
.site-body {
  background-color: #f5f5f7;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ナビバー */
.main-nav {
  font-size: 0.9rem;
}

.main-nav .brand-logo {
  height: 64px;
}

.main-menu .nav-link {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  color: #262626;
}

.main-menu .nav-link:hover {
  color: #0067b8;
}

.nav-tools .nav-search input {
  max-width: 220px;
}

.nav-icon-circle {
  display: inline-flex;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #d1d1d1;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}

/* ヒーロー */
.hero-section {
  background: radial-gradient(circle at top left, #f3f2ff 0, #f5f5f7 45%, #f5f5f7 100%);
  padding: 3.5rem 0 3rem;
}

.hero-container {
  max-width: 1200px;
}

.hero-visual-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-visual {
  background: white;
  padding: 1.5rem;
  border-radius: 1.5rem;
}

.hero-badge {
  background: #f3f2ff;
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  font-size: 0.8rem;
  color: #2b2b2b;
}

.hero-badge-logo {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  margin-right: 0.5rem;
  background: linear-gradient(135deg, #ffb900, #d83b01, #107c10, #005a9e);
}

.hero-title {
  font-size: clamp(1.9rem, 2.3vw + 1.4rem, 2.6rem);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.hero-lead {
  font-size: 1rem;
  color: #4c4c4c;
}

.hero-cta-group .btn {
  border-radius: 999px;
}

.hero-primary-btn {
  background-color: #0067b8;
  border-color: #0067b8;
}

.hero-primary-btn:hover {
  background-color: #00539a;
  border-color: #00539a;
}

.hero-secondary-btn {
  border-color: #3f3f3f;
  color: #2b2b2b;
}

.hero-secondary-btn:hover {
  background-color: #e6e6e6;
}

.hero-bullets {
  list-style: none;
  padding-left: 0;
  margin: 0;
  color: #333;
  font-size: 0.95rem;
}

.hero-bullets li::before {
  content: "•";
  color: #0067b8;
  margin-right: 0.5rem;
}

/* スライダー風のドット */
.hero-slider-indicator {
  font-size: 0.9rem;
}

.hero-slider-btn {
  border: none;
  background: transparent;
  color: #333;
  font-size: 1.4rem;
  line-height: 1;
}

.hero-dots {
  display: inline-flex;
  gap: 0.5rem;
}

.hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d1d1d1;
}

.hero-dot.active {
  background: #111;
}

/* =========================================
   Admonition — Base Style
   ========================================= */
.admonition {
    border-left: 6px solid #888;
    padding: 1rem;
    margin: 1.5rem 0;
    border-radius: 4px;
    background: #f8f8f8;
    position: relative;
    overflow: hidden;
}

/* Title */
.admonition .admonition-title {
    font-weight: bold;
    margin-bottom: 0.5rem;
    font-size: 1.05rem;
}

/* =========================================
   Variants
   ========================================= */

/* ⚠ warning */
.admonition.warning {
    border-left-color: #e67e22;
    background: #fff7f0;
}
.admonition.warning .admonition-title {
    color: #d35400;
}

/* ❗ danger */
.admonition.danger {
    border-left-color: #c0392b;
    background: #fff5f5;
}
.admonition.danger .admonition-title {
    color: #a93226;
}

/* 💡 important */
.admonition.important {
    border-left-color: #2980b9;
    background: #f0f7ff;
}
.admonition.important .admonition-title {
    color: #1f618d;
}

/* 💬 note（参考用） */
.admonition.note {
    border-left-color: #16a085;
    background: #f2fffc;
}
.admonition.note .admonition-title {
    color: #0e6655;
}

