@font-face {
	font-display: swap;
	font-weight: 400;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-weight: 500;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url('../fonts/NotoSansJP-Medium.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-weight: 700;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url('../fonts/NotoSansJP-Bold.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-weight: 700;
	font-style: normal;
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Bold.ttf') format('truetype');
}

html {
	overflow-x: hidden;
	scroll-behavior: smooth;
	scroll-padding-top: 2.778vw;
}

body {
	width: 100vw;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.111vw;
	font-weight: bold;
	line-height: 1.6;
	background: white;
	color: rgba(34, 34, 34, 1);
	margin: 0 auto 0;
	overflow-x: hidden;
	position: relative;
}

/* common */

img {
	width: 100%;
	height: 100%;
}

.pc {
	display: inline;
}

.sp {
	display: none;
}

.bold {
	font-weight: bold;	
}

.small {
	font-size: 0.972vw;
	line-height: 1.2;
	font-weight: 400;
}

.big {
	font-size: 2.778vw;
}

.mt32 {
	margin-top: 2.222vw;
}

.red {
	color: rgba(185, 28, 28, 1);
}

.text--underline {
	text-decoration: underline;
	text-underline-offset: 0.208vw;
}

.absolute-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* footer */

.footer {
	background: #222;
	padding-top: 0;
	color: white;
	display: flex;
	justify-content: space-between;
	padding: 1.111vw 11.944vw 1.042vw 11.111vw;

}

.footer__row {
	width: 15.486vw;
	margin: 0;
	display: flex;
	justify-content: space-between;
	font-size: 0.833vw;
	font-weight: 400;
}

.footer__row a {
	text-decoration: none;
	color: white;
}

.footer__copyright {
	background: rgba(34, 34, 34, 1);
	color: rgba(214, 214, 214, 1);
	font-size: 0.833vw;
	font-weight: 400;
	line-height: 1.5;
	padding: 0.208vw 0;
	text-align: center;
	margin-top: 0;;
}

.footer__restore-icon {
	background: url('../image/restore-icon-white.png');
	background-size: cover;
	display: inline-block;
	width: 0.764vw;
	height: 0.681vw;
}


@media screen and (max-width: 768px) {

	html {
		overflow-x: hidden;
		scroll-behavior: smooth;
		scroll-padding-top: 10.256vw;
	}
	
	body {
		width: 100vw;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 4.103vw;
		font-weight: bold;
		line-height: 1.6;
		background: white;
		color: rgba(34, 34, 34, 1);
		margin: 0 auto 0;
		overflow-x: hidden;
	}
	
	.pc {
		display: none;
	}

	.sp {
		display: inline;
	}

	.small {
		font-size: 2.564vw;
		line-height: 1.2;
	}
	
	.big {
		font-size: 6.154vw;
	}
	
	
	.mt32 {
		margin-top: 8.205vw;
	}

	/* footer */

	.footer {
		background: rgba(34, 34, 34, 0.1);
		padding: unset;
		padding-top: 12.051vw;
		display: flse;
		flex-direction: column;
		justify-content: unset;
	}
	
	.footer__row {
		width: 57.179vw;
		margin: 0 auto 0;
		display: flex;
		justify-content: space-between;
		font-size: 3.077vw;
		font-weight: 400;
	}
	
	.footer__row a {
		text-decoration: none;
		color: rgba(34, 34, 34, 1);
	}
	
	.footer__copyright {
		background: rgba(34, 34, 34, 1);
		color: rgba(214, 214, 214, 1);
		font-size: 2.564vw;
		font-weight: 400;
		line-height: 1.5;
		padding: 0.769vw 0;
		text-align: center;
		margin-top: 6.154vw;
	}
	
	.footer__restore-icon {
		background: url('../image/restore-icon.png');
		background-size: cover;
		display: inline-block;
		width: 2.821vw;
		height: 2.513vw;
	}
}