@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%; 
}
body {
	background-color: #fff;
	line-height: 1.5;
	font-size: 3.2vw;
	color: #000;
}
html, body, h1, h2, h3, h4, h5, h6, p, figure, dl, dt, dd, ul, li, ol {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul, ol {
	list-style: none;
}
em {
	font-style: normal;
}
header, footer, main, nav, article, aside, section, div, p {
	display: block;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
	border: none;
}
a {
	display: block;
	transition: opacity .3s ease;
}
a:hover {
	opacity: .9;
}

.inner {
	max-width: 960px;
	width: 99%;
	margin: auto;
}
header {
	position: relative;
}
.btn-header-register {
	position: absolute;
	top: 3vw;
	right: 1vw;
	width: 14vw;
	height: 14vw;
}
.nav-header {
	position: absolute;
	right: 2vw;
	bottom: 4vw;
	width: 75%;
}
.bobun {
	margin-bottom: 1em;
	padding: 1em;
	border-bottom: dotted .2em #000;
	text-align: right;
}
.flx-footer {
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	padding-bottom: 1em;
}
.item-register {
	width: 21%;
}
.item-nav {
	width: 75%;
}
.flx-nav {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1em;
}
.flx-nav li {
	width: 32%;
}
.item-nav p {
	font-size: 85%;
	font-weight: 500;
}

.flx-price {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 70%;
	margin: 0 auto 1em;
}
.flx-price li {
	width: 30vw;
}
@media (min-width: 768px) {
	body {
		font-size: 16px;
	}
	.btn-header-register {
		top: 46px;
		right: 20px;
		width: 120px;
		height: 120px;
	}
	.nav-header {
		right: 24px;
		bottom: 70px;
		max-width: 650px;
		width: 100%;
		height: 46px;
	}
	.flx-footer {
		align-items: center;
	}
	.item-register {
		width: 22%;
	}
	.item-nav {
		width: 70%;
	}
	.flx-nav {
		max-width: 650px;
		margin-bottom: 2em;
	}
	.flx-nav li {
		width: 31%;
	}
	.item-nav p {
		font-size: 18px;
	}
	.flx-price {
		justify-content: center;
		gap: 3em;
		width: 80%;
		margin: 0 auto 2em;
	}
	.flx-price li {
		width: 40%;
	}
}