html {
	font-size: clamp(18px * 0.8, 18 * 100vw / 1500, 18px);
}
body {
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	max-width: 1920px;
	margin: 0 auto;
	color: #333;
	line-height: 1;
}
h1, h2, h3, h4, h5, h6 {
	font: inherit;
}
h1, h2, h3, h4, h5, h6, ul, ol, li, p, section {
	margin: 0;
	padding: 0;
}
option {
	padding: 0;
}
input:not(:where([type="checkbox"], [type="radio"])), select, button {
	font: inherit;
}
button {
	background-color: transparent;
	border: 0;
	padding: 0;
}
a, button, select {
	cursor: pointer;
}
select {
	border: 0;
	font: inherit;
}
ul, ol {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}
.sr {
	display: block;
	width: 0;
	height: 0;
	overflow: hidden;
}
@media (min-width: 769px) {
	.w1280 {
		width: clamp(0px, 1280 * 100vw / 1500, 1280px);
		margin-inline: auto;
	}
	.sp {
		display: none;
	}
}
@media (max-width: 768px) {
	html {
		font-size: calc(36 * 100vw / 750);
	}
	.pc {
		display: none;
	}
	.sp-inner {
		display: block;
		margin-inline: 1rem;
	}
	.sp-padding {
		padding-inline: 1rem;
	}
}

/* 旧スタイルで新ヘッダーフッターが正しく表示されるよう修正 */
.header, .footer {
	font-size: 16px;
	.w1280 {
		max-inline-size: 1280px;
		width: auto;
	}
	@media (width >= 768px) {
		@media (width < 1024px) {
			zoom: 0.8;
		}
		@media (1024px <= width < 1280px) {
			zoom: 0.9;
		}
	}
}
.logo-text {
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	color: #000;
	text-align: center;
}
.logo-text-color {
	color: #2C82C9;
}
.logo-text-small {
	display: block;
	font-size: 40%;
	margin-block-start: 0.5em;
}

/* 旧MV */
.mv {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #E1EDF4;
	background-size: cover;
	background-position: center;
	height: calc(400 * 100vw / 1500);
	color: #FFFFFF;
	text-align: center;
	line-height: 1.6;
}
.mv-title {
	font-size: calc(36 * 100vw / 1500);
	font-weight: bold;
	letter-spacing: 0.15em;
}
.mv-sub-text {
	margin-top: 1.3em;
	font-size: calc(20 * 100vw / 1500);
	letter-spacing: 0.15em;
	&::before, &::after {
		content: "ー";
		user-select: none;
	}
}

@media (max-width: 768px) {
	.mv {
		height: calc(400 * 100vw / 750);
	}
	.mv-title {
		font-size: calc(72 * 100vw / 750);
		line-height: calc(115 / 72);
		letter-spacing: 0.05em;
	}
	.mv-sub-text {
		margin-top: 0;
		font-size: calc(40 * 100vw / 750);
		letter-spacing: 0.15em;
	}
}