/* ==========================================================
   base.css — 共通リセット・ユーティリティ（A〜D案共通）
   ========================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure {
  margin: 0;
}
ul, ol {
  padding: 0;
  list-style: none;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
/* 2026-09-15: スマホ幅で単語が行分断されるのを防ぐ（例:「こちら」が「こ」/「ちら」に割れる） */
.u-nowrap {
  white-space: nowrap;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
address {
  font-style: normal;
}

/* キーボードフォーカス */
:focus-visible {
  outline: 2px solid #1030c0;
  outline-offset: 3px;
}

.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;
}

/* 仮画像バッジ（生成画像の隅に重ねる。素材差し替え後に削除） */
.tmp-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  padding: 3px 9px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #fff;
  background: rgba(16, 48, 192, 0.85);
  border-radius: 100px;
  pointer-events: none;
}

/* 仮データバッジ（お知らせのサンプル3件など、WordPress化後に差し替わる箇所の右上に重ねる） */
.tmp-data {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  padding: 3px 9px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #fff;
  background: rgba(16, 48, 192, 0.85);
  border-radius: 100px;
  pointer-events: none;
}

/* A〜F案 比較用の切替ピル（決定後に削除する）
   6項目でも 375px 幅で折り返さないよう、文字 15px・余白 7px 8px に詰めてある */
.compare-bar {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 3px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: #111;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #111;
  border-radius: 100px;
}
.compare-bar a {
  display: inline-block;
  padding: 7px 8px;
  border-radius: 100px;
  transition: background 0.3s ease-out, color 0.3s ease-out;
}
.compare-bar a:hover {
  background: #e8f1f8;
}
.compare-bar a[aria-current="page"] {
  color: #fff;
  background: #111;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
