* {
	font-family: 'Manrope', sans-serif;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

html,
body {
	color: var(--color-gray-gray-900);
	background-color: var(--color-base-white);
	font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 14) + 14px);
	font-weight: normal;
	min-height: 100dvh;
	padding: 0;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

.--icon .nuxt-icon {
	display: flex;
}

.nuxt-icon svg {
	vertical-align: unset;
	width: unset;
	height: unset;
	margin-bottom: unset;
}

main {
	position: relative;
	flex: 1 0;
}

.swiper {
	margin-left: 0;
	margin-right: 0;
}

@media screen and (max-width: 1023px) {
	main {
		overflow-x: hidden;
	}
}

.js-no-scroll {
	padding-right: var(--scroll-width);
	overflow: hidden;
}

.js-no-scroll .ui-modal {
	padding-right: var(--scroll-width);
}

.--mob-hide {
	display: none;
}

.--mob-show {
	display: flex;
}

@media screen and (max-width: 1890px) {
	html,
	body {
		font-size: 14px;
	}
}

@media screen and (max-width: 1680px) {
	html,
	body {
		font-size: 13px;
	}
}

@media screen and (max-width: 1560px) {
	html,
	body {
		font-size: 12px;
	}
}


@media screen and (max-width: 1440px) {
	html,
	body {
		font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 14) + 11px);
	}
}

@media screen and (max-width: 1366px) {
	html,
	body {
		font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 13) + 10px);
	}
}


@media screen and (max-width: 1280px) {
	html,
	body {
		font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 14) + 8px);
	}
}


@media screen and (max-width: 1024px) {
	html,
	body {
		font-size: 13px;
	}
}

@media screen and (max-width: 1023px) {
	html,
	body {
		font-size: 1.5vw;
	}

	.--mob-hide {
		display: flex;
	}

	.--mob-show {
		display: none;
	}

	.js-no-scroll {
		padding-right: 0;
	}

	.js-no-scroll .ui-modal {
		padding-right: 0;
	}
}

@media screen and (max-width: 768px) {
	html,
	body {
		font-size: 1.8vw;
	}
}

@media screen and (max-width: 640px) {
	html,
	body {
		font-size: 2vw;
	}

	.js-no-scroll {
		padding-right: 0;
	}
}

@media screen and (max-width: 500px) {
	html,
	body {
		font-size: 3vw;
	}
}

@media screen and (max-width: 468px) {
	html,
	body {
		font-size: 4vw;
	}
}
