/* =========================================================
   base.css — タイポグラフィ・共通要素
   ========================================================= */

body {
  overflow-x: hidden;
}
body.is-nav-open {
  overflow: hidden;
}

/* 本文リンク */
a {
  color: var(--c-green-dark);
  transition: color .2s var(--ease), opacity .2s var(--ease);
}
a:hover { color: var(--c-green); }

/* フォーカス可視化 */
:focus-visible {
  outline: 3px solid var(--c-orange);
  outline-offset: 2px;
  border-radius: 4px;
}

/* 見出し基本 */
h1, h2, h3, h4 {
  color: var(--c-text);
  letter-spacing: .02em;
}

p { line-height: 1.9; }

strong { font-weight: 700; }

/* 選択色 */
::selection {
  background: var(--c-green-light);
  color: var(--c-text);
}

/* 画像の下余白対策 */
img { vertical-align: middle; }

/* WYSIWYG（投稿本文・固定ページ）共通ベースは pages.css に詳細定義 */

/* 本文の下限サイズ（高齢層配慮） */
@media (max-width: 767px) {
  body { font-size: 1.7rem; } /* SP 17px */
}

/* PCのみ表示（改行など） */
.u-pc { display: none; }
@media (min-width: 1024px) { .u-pc { display: inline; } }
/* SPのみ表示（改行など） */
@media (min-width: 1024px) { .u-sp { display: none; } }
/* デザイン幅（1200px以上）では不要な改行（それ未満では改行してイラストとの重なりを避ける） */
.u-brk { display: inline; }
@media (min-width: 1200px) { .u-brk { display: none; } }
