@charset "UTF-8";
header {
	display: flex;
	justify-content: space-between;
	width: 100vw;
	height: 80px;
	position: sticky;
	z-index: 5;
	transition: 0.5s;
	background: rgba(255,255,255,1.0);
}
#header_logo {
	background: url("img/logo.webp");
	width: 240px;
	height: 55px;
	background-size: cover;
	margin-left: 20px;
	margin-top: 12px;
	cursor: pointer;
}
#header_logo:hover {
	transition: 0.5s;
	opacity: 0.5;
}
#pc_menu {
	font-size: 14px;
}
#pc_menu_layout {
	display: flex;
	align-items: center;
	height: 80px;
}
.pc_menu_content {
	margin-right: 30px;
}
.pc_menu_content a {
	color: rgba(51,51,51,1.0);
}
.pc_menu_content a:hover {
	transition: 0.5s;
	opacity: 0.5;
}
@media screen and (max-width:768px) {
header {
	height: 40px;
}
#header_logo {
	width: 140px;
	height: 32px;
	margin-left: 10px;
	margin-top: 4px;
}
#sp_menu_contact {
	background: rgba(29,32,49,1.0);
	padding-left: 14px;
	padding-right: 14px;
	height: 40px;
	position: absolute;
	right: 54px;
}
#sp_menu_contact:hover {
	transition: 0.5s;
	opacity: 0.5;
}
#sp_menu_contact img {
	width: 20px;
	height: 20px;
	margin-top: 10px;
}
.hamburger {
	position: absolute;
	right: 10px;
	top: 8px;
	z-index: 300;
}
.hamburger__line {
	position: absolute;
	width: 34px;
	height:2px;
	right: 0;
	background-color: rgba(51,51,51,1.00);
	transition: 0.5s;
}
.hamburger__line--1 {
	top: 1px;
}
.hamburger__line--2 {
	top: 10px;
}
.hamburger__line--3 {
	top: 19px;
}
.open .hamburger__line--1 {
	transform: rotate(-45deg);
	top: 12px;
}
.open .hamburger__line--2 {
	opacity: 0;
}
.open .hamburger__line--3 {
	transform: rotate(45deg);
	top: 12px;
}
.sp-nav {
	position: fixed;
	right: -100%;
	top: 0;
	width: 70%;
	height: 100vh;
	background: rgba(240,240,240,1.0);
	transition: all 0.5s;
	z-index: 200;
	overflow-y: auto;
	padding-top: 60px;
	text-align: center;
}
.sp-nav a {
	color: rgba(51,51,51,1.0);
}
.sp_menu span {
	display: block;
	margin-top: 20px;
	border-bottom: solid 1px rgba(200,200,200,1.00);
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
}
.open .sp-nav {
	right: 0;
}
.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 5;
	background: rgba(0,0,0,1.0);
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
	z-index: 100;
}
.open .black-bg {
  opacity: 0.5;
  visibility: visible;
}
}