@charset "utf-8";

/* =========================
   Base
========================= */

:root{
  --color-bg: #ffffff;
  --color-main: #4c8c7a;
  --color-accent: #e67e22;
  --color-text: #333333;
  --color-subtext: #666666;

  /* ここだけで全体幅を調整 */
  --max-width: 1200px;
}

*,
*::before,
*::after{ box-sizing: border-box; }

body{
  margin: 0;
  font-family: "Noto Sans JP","Yu Gothic",sans-serif;
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.7;
}

img{ max-width: 100%; display: block; }

/* 共通コンテナ：常に中央寄せ + 最大幅 */
.container{
  width: min(92%, var(--max-width));
  margin: 0 auto;
}

html{
  scroll-behavior: smooth;
}

/* ヘッダー固定（sticky等）で飛び先が隠れる場合に効く */
:target{
  scroll-margin-top: 96px; /* ヘッダー高さに合わせて調整 */
}


/* stickyヘッダー分の余白を確保 */
section{
  scroll-margin-top: 90px;
}
