/* manapick politics sp.css ― max-width:1024px のときだけ読み込まれる（link media で分離） */

body {
  padding-bottom: calc(52px + env(safe-area-inset-bottom) + 14px);
}

.header-inner {
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.global-nav {
  display: none;
}
.menu-button {
  margin-left: auto;
}
.menu-button-label {
  font-size: 0.85rem;
}

.bottom-nav {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding-bottom: env(safe-area-inset-bottom);
}

.container {
  padding: 20px 16px 40px;
}
.article-layout {
  display: block;
}
.article-aside {
  margin-top: 28px;
  border: 1px solid var(--line-plain);
  border-radius: 10px;
  padding: 14px 16px;
}
.article-aside h2 {
  font-size: 1rem;
  border: none;
  padding: 0;
  margin: 0 0 8px;
}
.article-aside ul {
  margin: 0;
  padding-left: 1.1em;
  font-size: 0.85rem;
}
.article h1 {
  font-size: 1.6rem;
}
.page-title {
  font-size: 1.6rem;
}

.hero-inner {
  padding: 32px 16px 36px;
}
.hero-title {
  font-size: 2.15rem;
}
.hero-plate {
  margin-top: 30px;
  aspect-ratio: 16 / 10.5;
}
.hero-search {
  margin-top: 20px;
}

/* 全面帯と根拠の数字の帯（間隔は帯のパディングが担う） */
.band {
  padding: 40px 0 44px;
}
.band-major {
  padding: 52px 0 56px;
}
.band-minor {
  padding: 28px 0 32px;
}
.evidence-inner {
  padding: 24px 16px 28px;
}
.evidence-grid {
  grid-template-columns: 1fr 1fr;
}

.conclusion {
  padding: 18px;
}
.conclusion-body {
  font-size: 1.08rem;
}
.bignum-band {
  padding: 20px;
}
.bignum-band .bignum-value {
  font-size: 2rem;
}

.pillars {
  display: block;
}
.pillars .pillar + .pillar {
  margin-top: 36px;
}
.section-block {
  margin-top: 40px;
}
.section-block.is-major {
  margin-top: 54px;
}
.section-block.is-minor {
  margin-top: 26px;
}

.stat-grid {
  grid-template-columns: 1fr;
}

.bignum-value {
  font-size: 1.8rem;
}

.flow-diagram {
  display: flex;
  flex-direction: column;
}
.flow-arrow {
  padding: 4px 0;
  transform: rotate(90deg);
}
.flow-split {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fig-pc {
  display: none;
}

.band-inner {
  padding: 20px 16px 24px;
}
.band-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.footer-inner {
  padding: 24px 16px 30px;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
