/* ---------------------------------------------------
  :root カスタムプロパティ
--------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
	--gothic: "Noto Sans JP", sans-serif;
	--mincho: "Noto Serif JP", serif;

	--blk: 0, 0, 0;
	--wht: 255, 255, 255;
	--red: 82, 28, 29;
	--gra: 244, 244, 238;
	--gld: 153, 133, 66;

	--pageTop-right: 1rem;
	--pageTop-bottom: 1rem;
}

/* ---------------------------------------------------
  HTML / BODY 基本
--------------------------------------------------- */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: min(7.8rem, 6.094vw);
}

body {
	background-color: rgb(var(--wht));
	color: rgb(var(--blk));
	font-family: var(--gothic);
	line-height: 1.8;
	font-feature-settings: "palt"1;
	letter-spacing: 0.05em;
	font-weight: 400;
	position: relative;
}

body::before {
	background-image: url(../img/section-bg.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	content: "";
}

@media screen and (max-width: 768px) {
	html {
		scroll-padding-top: 21.333vw;
	}

	body::before {
		background-image: url(../img/section-bg_sp.webp);
	}
}

:where(input, select, textarea, button, label) {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

:where(a) {
	color: inherit;
	text-decoration: underline;
	transition: all 0.5s ease 0s;
}

:where(a:hover) {
	text-decoration: none;
	opacity: 0.6;
}