/* Modern Reset & Typography Defaults */

/* 1. 全要素のサイズ計算を直感的にする */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* 2. 基本の文字設定（リセットしすぎない） */
html {
	-webkit-text-size-adjust: 100%;
	font-size: 100%; /* 16px基準 */
}

body {
	line-height: 1.75; /* 読みやすい行間 */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/* 日本語のカーニング（詰め）を有効化 */
	font-feature-settings: "palt";
	/* 長い英単語などのハミ出し防止 */
	overflow-wrap: break-word;
	word-break: break-word;
}

/* 3. 画像のレスポンシブ対応 */
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
}

/* 4. フォーム要素のフォント継承 */
input, button, textarea, select {
	font: inherit;
}

button {
	cursor: pointer;
	background: transparent;
	border: none;
}

/* 5. 意味のある装飾は残す */
ul, ol { list-style: none; }
a { text-decoration: none; color: inherit; }
table { border-collapse: collapse; width: 100%; }
strong, b { font-weight: bold; }
address { font-style: normal; }

/* 見出しのウェイトは保持しつつサイズだけ親に合わせる（後で各所で指定） */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: 700;
	line-height: 1.3;
}