/* ===========================================================
   Utilities — 極小単機能ユーティリティ
   =========================================================== */

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-hide-pc { display: none; }
.u-sp-br { display: none; }
@media (max-width: 780px) {
  .u-hide-pc { display: revert; }
  .u-hide-sp { display: none !important; }
  .u-sp-br { display: revert; }
}

.u-text-center { text-align: center; }
.u-text-right  { text-align: right; }

.u-mt-0 { margin-top: 0 !important; }

/* セクション直接隣接時の余白圧縮（同テーマ） */
.l-section--theme-cream + .l-section--theme-cream,
.l-section--theme-cream-alt + .l-section--theme-cream-alt {
  padding-top: calc(var(--section-py) * .5);
}
.l-section--theme-cream:has(+ .l-section--theme-cream),
.l-section--theme-cream-alt:has(+ .l-section--theme-cream-alt) {
  padding-bottom: calc(var(--section-py) * .5);
}
