/* ===========================================================
 * E案ヘッダー
 * header.php でPCのときだけ出力されるので、表示切り替えは不要。
 * =========================================================== */

:root {
	--mh-accent: #1f5f78;   /* メインカラー(紺寄りの青) */
	--mh-text:   #1f3f55;
	--mh-sub:    #5a6f7c;
	--mh-hover:  #1a7d8f;
}

.mh-header {
	position: relative;
	z-index: 100;
	background: #fff;
	border-bottom: 3px solid var(--mh-accent);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.mh-header a { text-decoration: none; }

.mh-header__inner {
	max-width: 1440px;
	min-height: 88px;
	margin: 0 auto;
	padding: 8px 40px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}

/* ロゴ */
.mh-brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.mh-brand__mark { width: 52px; height: auto; }
.mh-brand__text { display: flex; flex-direction: column; gap: 2px; }
.mh-brand__en { font-size: 10px; letter-spacing: .2em; color: #4d7f8c; }
.mh-brand__ja { font-size: 22px; font-weight: 700; letter-spacing: .08em; color: var(--mh-accent); }

/* 右側:上段サブ+下段メイン */
.mh-nav { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }

.mh-nav__sub { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 22px; }
.mh-sub-list,
.mh-main-list { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.mh-sub-list { gap: 8px 22px; }
.mh-sub-list a { font-size: 13px; color: var(--mh-sub); }
.mh-sub-list a:hover { color: var(--mh-hover); }

.mh-btn-contact {
	font-size: 13px;
	color: #fff !important;
	background: var(--mh-accent);
	padding: 6px 16px;
	border-radius: 999px;
}
.mh-btn-contact:hover { opacity: .85; }

.mh-icon { display: flex; color: var(--mh-accent); }
.mh-icon:hover { color: var(--mh-hover); }

.mh-main-list { justify-content: flex-end; gap: 8px 40px; }
.mh-main-list a {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--mh-text);
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
}
.mh-main-list a:hover,
.mh-main-list .current-menu-item > a {
	color: var(--mh-hover);
	border-bottom-color: var(--mh-hover);
}

/* 狭いPC幅(ウィンドウを縮めたとき)で詰める */
@media (max-width: 1280px) {
	.mh-header__inner { padding: 16px 24px; }
	.mh-main-list { column-gap: 26px; }
	.mh-main-list a { font-size: 15px; }
	.mh-nav__sub, .mh-sub-list { column-gap: 14px; }
}

/* 検索バー(下層ページ)の位置調整 */
.mh-search { position: relative; }

/* 画面幅が狭いPC(ウィンドウを縮めたときなど)でメニューがはみ出さないように */
.mh-nav { flex:1 1 0; min-width:0; }
.mh-nav__sub, .mh-nav__main { max-width:100%; }
@media (max-width: 1180px) {
	.mh-header__inner { padding: 8px 20px; gap: 8px 20px; }
	.mh-brand__en { display: none; }
	.mh-brand__ja { font-size: 19px; }
	.mh-brand__mark { width: 44px; }
	.mh-main-list { column-gap: 20px; }
	.mh-main-list a { font-size: 14px; }
	.mh-nav__sub, .mh-sub-list { column-gap: 10px; }
	.mh-sub-list a { font-size: 12px; }
}
