/* --- 1. フォント定義 (太字問題を解決) --- */

/* 標準体 (400) */
@font-face {
	font-family: 'CustomAdjFont';
	src: local('Helvetica Neue'), local('HelveticaNeue'), local('Arial');
	size-adjust: 110%;
	font-weight: 400;
	font-style: normal;
}

/* 太字 (600〜900を一括カバー) */
/* h1-h3 の font-weight: 800 をこの定義に食いつかせる */
@font-face {
	font-family: 'CustomAdjFont';
	/* ローカルのBold系名称を網羅 */
	src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold'), local('Helvetica Neue WebBold'), local('Arial Bold'), local('Arial-BoldMT');
	size-adjust: 110%;
	font-weight: 600 900;
	font-style: normal;
}

/* --- 2. 既存スタイルへの適用 --- */

:root {
	font-size: clamp(0.750rem, 0.664rem + 0.366vw, 1.250rem);
}

body {
	padding: 0;
	display: grid;
	grid-template-rows: max-content 1fr;
	max-width: 1600px;
	align-items: center;
	height: 100dvh;
	font-size: 1rem;
	/* !importantを付けて確実に優先させる */
	font-family: 'CustomAdjFont', "Hiragino Sans", "Meiryo", sans-serif !important;

	/* 太字が消える最大の原因：font-synthesis: none は削除するか auto にする */
	font-synthesis: weight;

	>header {
		padding: 1rem 1rem 0;
		margin-bottom: 1rem;
		display: grid;
		grid-template-columns: 1fr max-content;

		a {
			text-decoration: none;
		}

		.header-title {
			color: var(--text-heading);
			font-weight: 700;
		}
	}

	main {
		padding: 0 1rem;
		height: 100%;
	}

	>footer {
		padding: 0 1rem 1rem;
	}
}

/* クラスレスCSSが各要素に直接 weight を指定しているため、CustomAdjFontを継承させる */
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
textarea {
	font-family: inherit !important;
}