@charset "utf-8";

/*----------------------------------------------------------------------> ▼ .general <--*/

#header {	
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
}

.header {
	position: relative;
	width: 100%;
	height: 100px;
	padding-right: 100px;	
	border-bottom: 0px solid #ddd;
}

@media (1024px <= width) {
	.header {

	}
}

@media (width <= 1023px) {
	body {
	}
	
	.header {
		height: 80px;
		padding-right: 0;
	}
}

@media (width <= 767px) {
	.header {
	}
}

/*----------------------------------------------------------------------> ▼ .header_logo <--*/

.header_logo {
	position: absolute;
	top: 25px;
	left: 50px;
	z-index: 1000;
}

.header_logo div {
	margin-top: 10px;
	font-family: NotoSerif-B;
	font-size: 14px;
	letter-spacing: 1px;
	color: ;
	text-align: center;
}

@media (1024px <= width) {
	.header_logo {
		
	}
	
	.header_logo img {
		height: 30px;
	}	
}

@media (width <= 1023px) {
	.header_logo {
		top: 17px;
		left: 30px;
	}

	.header_logo img {
		height: 25px;
	}
	
	.header_logo div {
		margin-top: 8px;
		font-size: 13px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.header_logo:hover {
		opacity: 0.75;
	}
}

/*----------------------------------------------------------------------> ▼ .header_menu <--*/

.header_menu {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	border-right: 1px solid #eee;
}

.header_menu a {
	position: relative;
	min-width: 180px;
	height: 100px;
	padding: 70px 0 0;
	border-left: 1px solid #eee;
	font-family: NotoSans-B;
	font-size: 13px;
	letter-spacing: 1px;
	color: #666;
	text-align: center !important;
}

.header_menu a:before {
	content: '';
	display: block;
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--hover);	
	transition: 0.2s;
}

.header_menu span {
	letter-spacing: -0.5px;
}

.header_menu a.menu_home {
	background: url(/asset/image/general/header_menu/home.png) no-repeat center 22px / auto 30px;
}

.header_menu a.menu_plan {
	background: url(/asset/image/general/header_menu/plan.png) no-repeat center 24px / auto 30px;
}

.header_menu a.menu_company {
	background: url(/asset/image/general/header_menu/company.png) no-repeat center 22px / auto 30px;
}

.header_menu a.menu_news {
	background: url(/asset/image/general/header_menu/news.png) no-repeat center 22px / auto 30px;
}

.header_menu a.menu_contact {
	background: url(/asset/image/general/header_menu/contact.png) no-repeat center 23px / auto 30px;
}

.header_menu a.menu_jp {
	background: url(/asset/image/general/header_menu/jp.png) no-repeat center 22px / auto 30px;
}

.header_menu a.menu_en {
	background: url(/asset/image/general/header_menu/en.png) no-repeat center 22px / auto 30px;
}


@media (1024px <= width) {

}

@media (width <= 1280px) {
	.header_menu a {
		position: relative;
		min-width: 140px;
		height: 100px;
	}
}

@media (width <= 1023px) {
	.header_menu {
		display: none;
	}
}

@media (hover: hover) and (pointer: fine) {
}
	
@media (hover: hover) and (pointer: fine) {

}

/*----------------------------------------------------------------------> ▼ .smart_menu_button <--*/

.smart_menu_button {
	position: fixed;
	top: 0;
	right: 0;
	width: 100px;
	height: 100px;
	background: rgba(255, 255, 255, 1);
	cursor: pointer;
	z-index: 1000;
}

.smart_menu_button div,
.smart_menu_button div::before,
.smart_menu_button div::after {
	position: absolute;
	width: 50px;
	height: 4px;
	border-radius: 50px;
	background: #ddd;
	transition: var(--transition);
}

.smart_menu_button div::before,
.smart_menu_button div::after {
	content: '';
}
	
.smart_menu_button div::before {
	top: -10px;
}

.smart_menu_button div {
	top: calc(50% - (4px / 2));
	left: 25px;
}

.smart_menu_button div::after {
	top: 10px;
}

.smart_menu_button_active div::before,
.smart_menu_button_active div::after {
	top: -1px;
	height: 5px;
	background: #15b2d1;
}

.smart_menu_button_active div::before {
	transform: rotate(45deg);
}

.smart_menu_button_active div {
	background: #fff;
}

.smart_menu_button_active div::after {
	transform: rotate(-45deg);
}

@media (width <= 1023px) {
	.smart_menu_button {
		width: 80px;
		height: 80px;
	}
	
	.smart_menu_button div,
	.smart_menu_button div::before,
	.smart_menu_button div::after {
		width: 40px;
		height: 4px;
	}
	
	.smart_menu_button div {
		left: 20px;
	}
}

@media (width <= 500px) {
	.smart_menu_button {

	}
}

@media (hover: hover) and (pointer: fine) {
	/*
	.smart_menu_button:hover div,
	.smart_menu_button:hover div::before,
	.smart_menu_button:hover div::after {
		background: var(--hover);
	}
	*/
}