@charset "UTF-8";

body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #505050;
	margin-top: 80px;
}

:root {
	font-size: 16px;
	line-height: normal;
}


/* ヘッダー */
.header {
	height: 80px;
	width: 100%;
	padding: 1vw 4vw;
	background: linear-gradient(to bottom right, rgba(198, 198, 198, 0.9), rgb(167, 167, 167, 0.9));
	position: fixed;
	top: 0;
	z-index: 100;
}

.header-inner {
	width: 100%;
	height: 100%;
	position: relative;
}

.header__logo {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.header__logo-text {
	font-size: 1.6em;
	font-weight: bold;
}

.header__nav {
	display: flex;
	gap: 2vw;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-weight: bold;
}

.header__nav li a {
	padding: 1vw;
	font-size: 1.1em;
	transition: color 0.3s ease;
}

.header__nav li a:hover{
	color: #1d1d1d;
}


/* ハンバーガーメニュー */
.header_hum-menu {
	display: none;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
}

.header_hum-menu-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.header_hum-menu-inner * {
	width: 37px;
	height: 3px;
	background-color: #505050;
	transition: transform 0.3s ease;
}

.header_hum-menu--01.active {
	transform: rotate(-45deg) translate(-10%, 100%);
	width: 37px;
}

.header_hum-menu--02.active {
	display: none;
}

.header_hum-menu--03.active {
	transform: rotate(45deg) translate(-10%, -100%);
	width: 37px;
}

.hum-nav {
	width: 100%;
	height: calc(100vh - 70px);
	position: fixed;
	top: 70px;
	right: 0;
	z-index: 100;
	background-color: rgb(229, 229, 229);
	padding-top: 5vh;
	transition: transform 0.3s ease;
}

.hum-nav-inner {
	width: 100%;
}

.hum-nav-inner li {
	position: relative;
	text-align: center;
	height: clamp(60px, 10vw, 80px);
	font-size: 1.3em;
	font-weight: bold;
}

.hum-nav-inner li:hover {
	background-color: #7d7d7d;
	color: #FCFCFC;
}

.hum-nav-inner li a {
	display: block;
	width: 100%;
	height: 100%;
}

.hum-nav-inner li a p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hum-nav.show {
	transform: translateX(100%);
}

/* フッター */
.footer {
	padding: 0 3vw;
	background: linear-gradient(to bottom right, rgba(198, 198, 198), rgb(167, 167, 167));
}

.footer-inner {
	position: relative;
	height: 100px;
}

.footer__copy-right {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 1.1em;
}

.footer__sns-icons {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	gap: 1.5vw;
}

.footer__sns-icons a {
	width: 30px;
	height: 30px;
}

.footer__icon {
	width: 100%;
	height: auto;
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.footer__icon:hover {
	opacity: 1;
}


@media(max-width: 770px) {
	:root {
		font-size: 14px;
	}

	body {
		margin-top: 70px;
	}

	.header {
		height: 70px;
	}

	.header__nav {
		display: none;
	}

	.header_hum-menu {
		display: block;
	}

	.footer__copy-right {
		width: 100%;
		left: 50%;
		top: 100%;
		transform: translate(-50%, -110%);
		text-align: center;
		font-size: 0.8em;
	}

	.footer__sns-icons {
		justify-content: center;
		gap: 3vw;
		top: 30%;
		left: 50%;
		transform: translateX(-50%);
	}
}