@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Zen+Old+Mincho:wght@400;500;600&display=swap');


/* ========================================
   Snow Monkey標準ヘッダーを非表示
======================================== */

.l-header {
	display: none !important;
}


/* ========================================
   共通ヘッダー
======================================== */

.mihashi-site-header {
	position: relative;
	z-index: 1000;

	width: 100%;

	background: rgba(255, 255, 255, 0.97);

	border-bottom: 1px solid #eeeae0;
}


.mihashi-site-header__inner {
	display: grid;

	grid-template-columns:
		180px
		minmax(0, 1fr)
		auto;

	align-items: center;

	gap: 28px;

	width: 100%;
	max-width: 1500px;

	min-height: 86px;

	margin: 0 auto;

	padding: 0 32px;

	box-sizing: border-box;
}


/* ========================================
   ロゴ
======================================== */

.mihashi-site-header__logo a {
	display: inline-flex;
	flex-direction: column;

	color: #285f47;

	text-decoration: none;
}


.mihashi-site-header__logo-small {
	font-family: "Zen Old Mincho", serif;

	font-size: 14px;
	line-height: 1.1;

	letter-spacing: .15em;
}


.mihashi-site-header__logo-main {
	font-family: "Zen Old Mincho", serif;

	font-size: 30px;
	font-weight: 500;
	line-height: 1.15;

	letter-spacing: .08em;
}


/* ========================================
   PCナビ
======================================== */

.mihashi-site-header__nav {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: clamp(18px, 2.1vw, 38px);
}


.mihashi-site-header__nav a {
	position: relative;

	color: #33483d;

	font-family: "Noto Sans JP", sans-serif;

	font-size: 13px;
	font-weight: 500;

	text-decoration: none;

	white-space: nowrap;
}


.mihashi-site-header__nav a::after {
	content: "";

	position: absolute;

	left: 50%;
	bottom: -9px;

	width: 0;
	height: 1px;

	transform: translateX(-50%);

	background: #b89a5b;

	transition: width .2s ease;
}


.mihashi-site-header__nav a:hover::after {
	width: 100%;
}


/* ========================================
   電話・資料請求
======================================== */

.mihashi-site-header__contact {
	display: flex;
	align-items: center;

	gap: 18px;
}


.mihashi-site-header__phone {
	display: flex;
	flex-direction: column;

	color: #285f47;

	text-decoration: none;

	text-align: center;
}


.mihashi-site-header__phone-number {
	font-family: "Zen Old Mincho", serif;

	font-size: 20px;
	line-height: 1.2;

	white-space: nowrap;
}


.mihashi-site-header__phone-hours {
	margin-top: 3px;

	color: #777;

	font-family: "Noto Sans JP", sans-serif;

	font-size: 10px;
}


.mihashi-site-header__request {
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 120px;

	padding: 13px 19px;

	border-radius: 999px;

	background: #285f47;

	color: #fff;

	font-family: "Noto Sans JP", sans-serif;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none;

	transition:
		opacity .2s ease,
		transform .2s ease;
}


.mihashi-site-header__request:hover {
	color: #fff;

	opacity: .88;

	transform: translateY(-1px);
}


/* ========================================
   スマホボタン
======================================== */

.mihashi-site-header__toggle {
	display: none;

	width: 42px;
	height: 42px;

	padding: 8px;

	border: 0;

	background: transparent;

	cursor: pointer;
}


.mihashi-site-header__toggle span {
	display: block;

	width: 100%;
	height: 1px;

	margin: 7px 0;

	background: #3d463f;

	transition:
		transform .25s ease,
		opacity .25s ease;
}


/* ========================================
   スマホメニュー
======================================== */

.mihashi-site-header__mobile-menu {
	display: none;
}


/* ========================================
   タブレット
======================================== */

@media (max-width: 1150px) {

	.mihashi-site-header__inner {
		grid-template-columns:
			170px
			minmax(0, 1fr)
			auto;

		gap: 15px;

		padding:
			0 20px;
	}


	.mihashi-site-header__nav {
		gap: 16px;
	}


	.mihashi-site-header__nav a {
		font-size: 12px;
	}


	.mihashi-site-header__phone-number {
		font-size: 17px;
	}


	.mihashi-site-header__request {
		min-width: 100px;

		padding:
			12px 14px;
	}

}


/* ========================================
   スマホ
======================================== */

@media (max-width: 900px) {

	.mihashi-site-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;

		min-height: 68px;

		padding:
			0 18px;
	}


	.mihashi-site-header__logo-small {
		font-size: 10px;
	}


	.mihashi-site-header__logo-main {
		font-size: 23px;
	}


	.mihashi-site-header__nav,
	.mihashi-site-header__contact {
		display: none;
	}


	.mihashi-site-header__toggle {
		display: block;
	}


	.mihashi-site-header__mobile-menu {
		position: absolute;

		top: 100%;
		left: 0;
		right: 0;

		display: block;

		max-height: 0;

		overflow: hidden;

		background: #faf8f1;

		opacity: 0;

		visibility: hidden;

		transition:
			max-height .35s ease,
			opacity .25s ease,
			visibility .25s ease;

		box-shadow:
			0 12px 20px rgba(40, 50, 42, .08);
	}


	.mihashi-site-header.is-open
	.mihashi-site-header__mobile-menu {
		max-height: 650px;

		opacity: 1;

		visibility: visible;
	}


	.mihashi-site-header__mobile-menu nav {
		padding:
			18px 24px 8px;
	}


	.mihashi-site-header__mobile-menu nav a {
		display: block;

		padding:
			15px 5px;

		border-bottom:
			1px solid #e5dfd2;

		color: #33483d;

		font-family:
			"Noto Sans JP",
			sans-serif;

		font-size: 14px;

		text-decoration: none;
	}


	.mihashi-site-header__mobile-contact {
		display: grid;

		grid-template-columns:
			1fr 1fr;

		gap: 10px;

		padding:
			14px 24px 24px;
	}


	.mihashi-site-header__mobile-contact a {
		display: flex;
		align-items: center;
		justify-content: center;

		min-height: 48px;

		border:
			1px solid #285f47;

		color: #285f47;

		font-family:
			"Noto Sans JP",
			sans-serif;

		font-size: 13px;
		font-weight: 600;

		text-decoration: none;
	}


	.mihashi-site-header__mobile-contact .is-request {
		background: #285f47;

		color: #fff;
	}


	/* 開いたときの× */

	.mihashi-site-header.is-open
	.mihashi-site-header__toggle span:nth-child(1) {
		transform:
			translateY(8px)
			rotate(45deg);
	}


	.mihashi-site-header.is-open
	.mihashi-site-header__toggle span:nth-child(2) {
		opacity: 0;
	}


	.mihashi-site-header.is-open
	.mihashi-site-header__toggle span:nth-child(3) {
		transform:
			translateY(-8px)
			rotate(-45deg);
	}

}

/* ==================================================
   共通ヘッダー 追従
================================================== */

.mihashi-site-header {
	position: sticky;
	top: 0;

	z-index: 2000;

	width: 100%;

	background: rgba(255, 255, 255, 0.97);

	box-shadow:
		0 2px 12px rgba(40, 50, 42, 0.05);
}


/* WordPressログイン中の管理バー対策 */

.admin-bar .mihashi-site-header {
	top: 32px;
}


@media (max-width: 782px) {

	.admin-bar .mihashi-site-header {
		top: 46px;
	}

}