@charset "utf-8";

/* ===== 変数：デザインに合わせて、まずここを書き換える ===== */
:root {
	--color-text: #5a4122;
	--color-bg: #fff;
	--color-bg-sub: #eff9f8;
	--color-main: #0d9e2b;        /* 緑（見出し・ボタン枠・フッター帯） */
	--color-main-dark: #1d8e36;   /* 資料請求ボタン */
	--color-blue: #1d4f8e;        /* アクセント（青）：ホバー・固定バー */
	--color-dot: #3eb94e;         /* メニュー区切りの点線 */
	--color-mint: #edfcf9;
	--color-lime: #f0fbe3;
	--color-area: #e7f7d2;
	--color-script: #88cdea;
	--color-border: #ccc;
	--color-accent: #ea2d76;

	--font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--font-serif: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--font-size-base: 17px;
	--line-height-base: 1.8;

	--container: 1410px;
	--gutter: 20px;
	--section-py: clamp(50px, 5.5vw, 105px);
	--header-h: 70px;
	--transition: .3s ease;
	--fixed-h: clamp(58px, 5.8vw, 112px); /* お問い合わせ固定バーの高さ */
	--fs-min: 14px; /* 文字サイズの下限（PC/タブレット）。SPでは下で13pxに */
}

/* PCヘッダー（ハンバーガー切替は 1200px） */
@media (min-width: 1200px) {
	:root { --header-h: clamp(96px, 6.9vw, 133px); }
}

/* ===== リセット ===== */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-h);
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding-top: var(--header-h); /* 固定ヘッダー分 */
	overflow-x: clip;
	color: var(--color-text);
	background: var(--color-bg);
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	letter-spacing: .04em;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, figure, blockquote, address) { margin: 0; }
:where(h1, h2, h3, h4, h5, h6) { font-weight: 500; }
:where(address) { font-style: normal; }
:where(ul, ol) { padding: 0; list-style: none; }
:where(p + p) { margin-top: 1.8em; }

:where(img, video, svg) { max-width: 100%; height: auto; }
:where(img) { display: block; }

:where(a) { color: inherit; text-decoration: none; transition: opacity var(--transition); }
:where(a:hover) { opacity: .7; }

:where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(button) { cursor: pointer; }

[hidden] { display: none !important; }

@media (max-width: 767.98px) {
	:root { --font-size-base: 14px; --fs-min: 13px; }
}
