@charset "UTF-8";
/* レスポンシブ（ライト版）— 旧ダーク版を置き換え */
@media screen and (max-width: 1023px) {
  :root { --gap: 16px; }
  .isa-grid--3, .isa-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .isa-db { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sh-nav { display: none; }
  .sh-iconbtn--menu { display: inline-flex; }
  .sh-drawer.is-open { display: block; }
  .isa-hero__inner { padding: 46px 20px 42px; }
  .isa-hero__title { font-size: 33px; }
  .sf-top { grid-template-columns: 1fr; gap: 26px; }
  .sf-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 767px) {
  body { font-size: 15.5px; line-height: 1.85; }
  .isa-container { padding: 0 16px; }
  .isa-section { padding: 32px 0; }
  .sh-inner { gap: 10px; padding: 8px 16px; min-height: 60px; }
  .sh-logo img { height: 30px; }
  .sh-logo__main { font-size: 14px; }
  .sh-iconbtn { padding: 8px 12px; font-size: 12px; }
  .sh-iconbtn__txt { display: none; }
  .sh-iconbtn--primary { display: none; }
  .sh-iconbtn--menu { display: inline-flex; }
  .sh-drawer__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .isa-head { align-items: center; margin-bottom: 16px; }
  .isa-head__title { font-size: 20px; padding-left: 26px; }
  .isa-head__title::before { font-size: 16px; }
  .isa-head__title span { font-size: 10px; letter-spacing: .22em; }
  .isa-head__more { font-size: 12px; }
  .isa-hero__inner { padding: 34px 16px 32px; }
  .isa-hero__title { font-size: 26px; }
  .isa-hero__lead { font-size: 14px; }
  .isa-hero__cta .isa-btn { flex: 1 1 100%; }
  .isa-hero__stat { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--border); }
  .isa-hero__stat:last-child { border-bottom: 0; }
  .isa-grid--2, .isa-grid--3, .isa-grid--4 { grid-template-columns: 1fr; }
  .isa-db { grid-template-columns: 1fr; }
  .isa-card { padding: 16px; }
  .isa-card__title { font-size: 16px; }
  .isa-card__icon { width: 38px; height: 38px; margin-bottom: 10px; }
  .isa-panel { padding: 18px 16px; }
  .isa-panel__title { font-size: 18px; }
  .isa-row { padding: 12px 14px; font-size: 13.5px; }
  .isa-row__date { display: none; }
  .isa-post__body { padding: 14px 15px 16px; }
  .isa-post__title { font-size: 15px; }
  .isa-article__title { font-size: 23px; }
  .isa-entry { font-size: 15.5px; }
  .isa-entry h2 { font-size: 19px; }
  .isa-entry h3 { font-size: 17px; }
  .isa-table-wrap { margin: 1.2em -16px; border-radius: 0; border-left: 0; border-right: 0; padding: 0 16px 4px; }
  .isa-entry table, .isa-table-wrap table { min-width: 520px; font-size: 13px; }
  .isa-table-wrap::after { content: "← 横にスクロールできます"; display: block; margin-top: 6px; font-size: 11px; color: var(--text-mute); text-align: right; }
  .isa-mech__part { flex-direction: column; gap: 3px; }
  .isa-mech__part dt { flex: none; }
  .sf-inner { padding: 32px 16px 24px; }
  .sf-cols { grid-template-columns: 1fr; gap: 20px; }
  .isa-posts-nav { flex-direction: column; }
}
