/* =========================================
   Base / 基本設定
========================================= */

html{
	scroll-behavior:smooth;
	overflow-x:hidden;
	/* html側だけでoverflow-xを制御する。
	   CSSの仕様上、overflow-xだけを指定するとoverflow-yは
	   自動的にautoへ変換される（html自身がスクロールの
	   起点になるので、これは想定通り・問題なし）。 */
}

body{
	font-family:var(--font-base);
	font-size:var(--font-base-size);
	font-weight:300;
	line-height:var(--line-height);
	color:var(--color-text);
	background:var(--color-white);
	/* 以前はここにもoverflow-x:hiddenを指定していたが、
	   html側と合わせて指定すると、上記と同じ仕様により
	   body側のoverflow-yも自動的にautoへ変換されてしまい、
	   html・bodyの両方が別々のスクロールコンテナに
	   分裂してしまっていた。
	   その結果、grm-cf-page（お問い合わせページ等の
	   左右2カラムレイアウト）で左カラムに使っている
	   position:stickyの基準がずれてしまい、スクロールしても
	   左カラムが追従せず、途中で見えなくなる不具合の原因に
	   なっていた。横スクロール防止はhtml側の指定だけで
	   十分効くため、body側のoverflow-x:hiddenは削除。 */
}

a{
	color:inherit;
	text-decoration:none;
	transition:.3s;
}

img{
	max-width:100%;
	height:auto;
	vertical-align:middle;
}

table{
	width:100%;
}

h1,
h2,
h3,
h4,
h5,
h6{
	line-height:1.4;
	font-weight:300;
	letter-spacing:.04em;
}

h1{
	font-size:var(--font-xl);
}

h2{
	font-size:24px;
}

h3{
	font-size:20px;
}