/* ===============================
	Reset CSS
================================ */

/* box sizing */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* margin reset */
body,
h1, h2, h3, h4, h5, h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* body base */
body {
	min-height: 100vh;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/* list */
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* link */
a {
	color: inherit;
	text-decoration: none;
}

/* image */
img,
picture {
	max-width: 100%;
	display: block;
	height: auto;
}

/* form */
input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
	border: none;
	background: none;
	outline: none;
}

/* button */
button {
	cursor: pointer;
	padding: 0;
}

/* table */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* heading */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
}

/* iframe */
iframe {
	border: 0;
}

/* svg */
svg {
	display: block;
}

/* focus（アクセシビリティ） */
:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}