@charset "UTF-8";

.motype {
	display: none;
}

#header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 56px;
	background-color: #177f72;
	z-index: 9999;
}

#header #gnb {
	width: 100%;
	max-width: 1400px;
	height: 100%;
	margin: 0 auto;
	padding: 0 10px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

#header #gnb .logo_area {
	flex: 0 0 auto;
	height: 100%;
	min-width: 0;
}

#header #gnb .logo_area a {
	line-height: 56px;
	text-decoration: none;
	display: inline-block;
}

#header #gnb .logo_area a img {
	width: 150px;
	max-width: 100%;
	vertical-align: middle;
	display: inline-block;
	margin-bottom: 2px;
}

#header #gnb .menu_area {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
}

#header #gnb .menu_area ul {
	display: flex;
	padding: 0 6px;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	margin: 0;
	list-style: none;
}

#header #gnb .menu_area ul li {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.15;
	font-size: 16px;
	color: #fff;
	position: relative;
	text-align: center;
	padding: 0 2px;
}

#header #gnb .menu_area ul li::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.5);
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
}

#header #gnb .menu_area ul li:last-child::before {
	width: 0;
}

#header #gnb .menu_area ul li a {
	color: #fff;
	text-decoration: none;
	display: inline-block;
	line-height: 1.15;
	font-size: 16px;
	white-space: nowrap;
	word-break: keep-all;
}

#header #gnb .menu_area ul li a:hover,
#header #gnb .menu_area ul li a:active {
	color: #fff;
}

#header #gnb .contract_area {
	flex: 0 0 auto;
	line-height: 56px;
	white-space: nowrap;
	padding-left: 6px;
}

#header #gnb .contract_area a {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	text-align: right;
	text-decoration: none;
	display: block;
}

body.column-page .menu6 a {
	font-weight: 700;
}

@media screen and (max-width: 1200px) {
	#header #gnb .logo_area a img {
		width: 120px;
	}

	#header #gnb .contract_area a {
		font-size: 15px;
	}
}

@media screen and (max-width: 1024px) {
	.motype {
		display: block !important;
	}

	#header {
		height: auto;
	}

	#header #gnb {
		flex-wrap: wrap;
		align-content: flex-start;
		width: 100%;
		max-width: none;
		height: auto !important;
		padding: 0;
		box-sizing: border-box;
	}

	#header #gnb .logo_area {
		order: 1;
		flex: 1 1 0;
		min-width: 0;
		max-width: 58%;
		height: 63px;
		padding-left: 2.7vw;
		box-sizing: border-box;
	}

	#header #gnb .logo_area a {
		line-height: 63px;
	}

	#header #gnb .logo_area a img {
		width: auto;
		max-width: 100%;
		max-height: 44px;
		margin-bottom: 0;
	}

	#header #gnb .contract_area {
		order: 2;
		flex: 1 1 0;
		min-width: 0;
		max-width: 42%;
		height: 63px;
		line-height: 63px;
		text-align: right;
		padding-right: 2.7vw;
		padding-left: 0;
		box-sizing: border-box;
		overflow: hidden;
	}

	#header #gnb .contract_area a {
		display: inline-block;
		font-size: clamp(11px, 3.2vw, 15px);
		letter-spacing: -0.03em;
		white-space: nowrap;
	}

	#header #gnb .menu_area {
		order: 3;
		flex: 0 0 100%;
		width: 100%;
		height: auto;
		min-height: 56px;
		background: #fff;
		position: relative;
	}

	#header #gnb .menu_area ul {
		display: flex;
		width: 100%;
		height: auto;
		min-height: 56px;
		padding: 6px 0;
		margin: 0;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
	}

	#header #gnb .menu_area ul li {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.1;
		padding: 0 1px;
		text-align: center;
	}

	#header #gnb .menu_area ul li a {
		color: #177f72;
		font-size: clamp(9px, 2.35vw, 13px);
		font-weight: 700;
		white-space: normal;
		line-height: 1.1;
		word-break: keep-all;
	}

	#header #gnb .menu_area ul li::before {
		width: 1px;
		height: 22px;
		background: #aeaeae;
		top: 50%;
		transform: translateY(-50%);
	}

	body.column-page {
		padding-top: 125px;
	}
}

@media screen and (max-width: 768px) {
	#header #gnb .menu_area ul {
		min-height: 58px;
		padding: 4px 0;
	}

	#header #gnb .menu_area ul li a {
		font-size: clamp(9px, 2.5vw, 12px);
	}
}

@media screen and (max-width: 480px) {
	#header #gnb .logo_area a img {
		max-height: 40px;
	}

	#header #gnb .contract_area a {
		font-size: clamp(10px, 3.2vw, 13px);
		letter-spacing: -0.02em;
	}
}
