/* -----------------------
css reset
----------------------- */
@layer reset {

	/* box sizing */
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	/* remove default margin */
	* {
		margin: 0;
	}

	/* html / body */
	html, body {
		overflow-x: hidden;
	}
	html {
		-webkit-text-size-adjust: 100%;
		scroll-behavior: smooth;
	}

	body {
		min-height: 100vh;
		line-height: 1.5;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
	}

	/* media */
	img,
	picture,
	video,
	canvas,
	svg {
		display: block;
		max-width: 100%;
	}

	/* form */
	input,
	button,
	textarea,
	select {
		font: inherit;
	}

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

	/* link */
	a {
		text-decoration: none;
		color: inherit;
	}

	/* list */
	ul,
	ol {
		list-style: none;
		padding: 0;
	}

	/* table */
	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	/* heading */
	h1, h2, h3, h4, h5, h6 {
		font-weight: inherit;
		font-size: inherit;
	}

	/* accessibility */
	:focus-visible {
		outline: 2px solid #000;
		outline-offset: 2px;
	}
}
