/* ════════════════════════════════════════════════════════════
   _common/css/common.css — 全ページ共通レイアウト
   Sprint 1 / 実装日: 2026-05-09
   ════════════════════════════════════════════════════════════ */

main {
  min-height: 60vh;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.section {
  padding: var(--space-16) 0;
}

.btn {
  display: inline-block;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: var(--fs-base);
  transition: all var(--transition-base);
  border: 1px solid transparent;
  cursor: pointer;
}

.btn-fill {
  background: var(--color-primary);
  color: #fff !important;
}
.btn-fill:hover {
  background: var(--color-primary-h);
}

.btn-outline {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.btn-outline:hover {
  background: var(--color-primary);
  color: #fff !important;
}

/* breadcrumb */
.breadcrumb {
  font-size: var(--fs-sm);
  color: var(--color-text-dim);
  padding: var(--space-3) 0;
}
.breadcrumb a {
  color: var(--color-text-dim);
  text-decoration: underline;
}
.breadcrumb a:hover {
  color: var(--color-primary);
}
.breadcrumb .sep {
  margin: 0 var(--space-2);
  opacity: 0.5;
}

/* visually-hidden */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* news-loader 表示 */
.news-loader .news-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.news-loader .news-item {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-2) 0;
  border-bottom: 1px dotted var(--color-rule);
}
.news-loader .news-item time {
  font-family: var(--font-en);
  font-size: var(--fs-sm);
  color: var(--color-text-dim);
}
.news-loader .news-category {
  font-size: var(--fs-xs);
  background: var(--color-primary-dim);
  color: var(--color-primary);
  padding: 2px var(--space-2);
  border-radius: var(--radius-sm);
  font-weight: 700;
}
