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

html {
	font-size: 62.5%;
}

@media (min-width: 769px) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: var(--color-text);
	background: var(--color-white);
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	text-decoration: none;
	color: inherit;
}

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

.inner {
	max-width: var(--content-width);
	margin: 0 auto;
	padding: 0 20px;
}

.u-sp-only {
	display: none;
}

.js-reveal {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.js-reveal.is-inview {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 768px) {
	.js-reveal {
		transform: translateY(24px);
		transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	}
}

@media (max-width: 768px) {
	.u-sp-only {
		display: inline;
	}

	.u-pc-only {
		display: none;
	}
}
