/*
 * パソコン用のグローバルナビ（class-mn-gnav.php）。
 * apple.com の上のバーのように、細いすりガラスのバーを上に固定する。スマホ幅では出さない。
 */
.mn-gnav {
	display: none;
}

@media screen and (min-width: 769px) {
	/* テーマのヘッダー（町のイラストの帯・ロゴ画像・画像のメニュー）と右上の menu ボタンを隠す */
	.wrap.img-wrap > header,
	.pc_header_koukoku,
	.drawer-hamburger {
		display: none !important;
	}
	body {
		padding-top: 52px;
	}

	.mn-gnav {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 9990;
		display: block;
		font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
		-webkit-font-smoothing: antialiased;
	}
	.mn-gnav *,
	.mn-gnav *::before,
	.mn-gnav *::after {
		box-sizing: border-box;
	}
	.mn-gnav ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.mn-gnav li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.mn-gnav li::before {
		content: none;
	}
	.mn-gnav p {
		margin: 0;
	}
	.mn-gnav a {
		text-decoration: none;
	}

	.mn-gnav__bar {
		position: relative;
		z-index: 3;
		display: flex;
		align-items: center;
		gap: 8px;
		height: 52px;
		padding: 0 max(24px, calc((100% - 1180px) / 2));
		border-bottom: 1px solid rgba(0, 0, 0, .08);
		background: rgba(255, 255, 255, .78);
		-webkit-backdrop-filter: saturate(180%) blur(20px);
		backdrop-filter: saturate(180%) blur(20px);
	}
	.mn-gnav__logo {
		flex: 0 0 auto;
		margin-right: 18px;
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
		font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
		font-size: 25px;
		font-weight: 800;
		letter-spacing: .02em;
		line-height: 1;
		white-space: nowrap;
	}
	.mn-gnav__menu {
		display: flex;
		flex: 1;
		align-items: center;
		justify-content: center;
		gap: 2px;
		height: 100%;
	}
	.mn-gnav__item {
		display: flex;
		align-items: center;
		height: 100%;
	}
	.mn-gnav__link {
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0 14px;
		color: rgba(29, 29, 31, .82);
		font-size: 14px;
		font-weight: 500;
		letter-spacing: .02em;
		white-space: nowrap;
		transition: color .2s ease;
	}
	.mn-gnav__link:link,
	.mn-gnav__link:visited {
		color: rgba(29, 29, 31, .82);
	}
	.mn-gnav__link:hover,
	.mn-gnav__item.is-open .mn-gnav__link,
	.mn-gnav__link.is-current {
		color: #1d1d1f;
	}
	.mn-gnav__link.is-current {
		font-weight: 700;
	}
	.mn-gnav__tools {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 4px;
	}
	.mn-gnav__icon {
		display: grid;
		place-items: center;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: rgba(29, 29, 31, .82);
		cursor: pointer;
		transition: background-color .2s ease, color .2s ease;
	}
	.mn-gnav__icon:hover,
	.mn-gnav__icon[aria-expanded="true"] {
		background: rgba(0, 0, 0, .05);
		color: #1d1d1f;
	}
	.mn-gnav__icon svg {
		width: 19px;
		height: 19px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
	.mn-gnav__cta,
	.mn-gnav__cta:link,
	.mn-gnav__cta:visited {
		margin-left: 6px;
		padding: 7px 15px;
		border-radius: 999px;
		background: #0071e3;
		color: #fff;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.2;
		white-space: nowrap;
		transition: background-color .2s ease;
	}
	.mn-gnav__cta:hover {
		background: #0077ed;
		color: #fff;
	}

	/* ジャンルのパネル（バーの下に、バーと同じすりガラスで開く） */
	.mn-gnav__panel,
	.mn-gnav__search {
		position: absolute;
		top: 52px;
		right: 0;
		left: 0;
		z-index: 2;
		border-bottom: 1px solid rgba(0, 0, 0, .08);
		background: rgba(255, 255, 255, .92);
		-webkit-backdrop-filter: saturate(180%) blur(20px);
		backdrop-filter: saturate(180%) blur(20px);
	}
	.mn-gnav__panel {
		visibility: hidden;
		opacity: 0;
		transform: translateY(-6px);
		transition: opacity .25s ease, transform .3s cubic-bezier(.32, .72, 0, 1), visibility 0s linear .3s;
		pointer-events: none;
	}
	.mn-gnav__item.is-open .mn-gnav__panel {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .25s ease, transform .3s cubic-bezier(.32, .72, 0, 1);
		pointer-events: auto;
	}
	.mn-gnav__inner {
		display: flex;
		gap: 56px;
		max-width: 1180px;
		margin: 0 auto;
		padding: 30px 24px 38px;
	}
	.mn-gnav__col {
		min-width: 150px;
	}
	.mn-gnav__col--main {
		min-width: 240px;
	}
	.mn-gnav__head {
		margin-bottom: 12px;
		color: #6e6e73;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .04em;
	}
	.mn-gnav__col ul {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(5, auto);
		gap: 9px 36px;
	}
	.mn-gnav__col li a,
	.mn-gnav__col li a:link,
	.mn-gnav__col li a:visited {
		color: #1d1d1f;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
	}
	.mn-gnav__col li a:hover {
		color: #0071e3;
	}
	.mn-gnav__big,
	.mn-gnav__big:link,
	.mn-gnav__big:visited {
		display: block;
		color: #1d1d1f;
		font-size: 24px;
		font-weight: 800;
		line-height: 1.35;
	}
	.mn-gnav__big:hover {
		color: #0071e3;
	}
	.mn-gnav__big span {
		display: block;
		margin-top: 4px;
		color: #6e6e73;
		font-size: 13px;
		font-weight: 600;
	}

	/* 検索シート */
	.mn-gnav__search form {
		align-items: center;
		gap: 12px;
		padding-top: 22px;
		padding-bottom: 26px;
	}
	.mn-gnav__search svg {
		flex: 0 0 22px;
		width: 22px;
		height: 22px;
		fill: none;
		stroke: #6e6e73;
		stroke-width: 1.8;
		stroke-linecap: round;
	}
	.mn-gnav__search input {
		flex: 1;
		height: 48px;
		margin: 0;
		padding: 0 4px;
		border: 0;
		background: transparent;
		color: #1d1d1f;
		font: inherit;
		font-size: 22px;
		font-weight: 600;
		outline: none;
	}
	.mn-gnav__search input::placeholder {
		color: #a1a1a6;
		font-weight: 500;
	}
	.mn-gnav__search button {
		padding: 10px 22px;
		border: 0;
		border-radius: 999px;
		background: #0071e3;
		color: #fff;
		font: inherit;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
	}
	.mn-gnav__search[hidden] {
		display: none;
	}

	/* パネルを開いているあいだ、ページを少し暗くぼかす */
	.mn-gnav__veil {
		position: fixed;
		inset: 52px 0 0;
		z-index: 1;
		background: rgba(0, 0, 0, .18);
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
		animation: mn-gnav-veil .3s ease;
	}
	.mn-gnav__veil[hidden] {
		display: none;
	}
	@keyframes mn-gnav-veil {
		from { opacity: 0; }
	}

	/* 店舗ページは、テーマのヘッダーがあったぶんの余白が無くなるので足す */
	#contents.mn-shop {
		padding-top: 28px;
	}

	/* 固定バーの下に隠れないよう、ページ内リンクの止まる位置をずらす */
	html {
		scroll-padding-top: 64px;
	}
}

/* 幅が狭いパソコン：ロゴ以外の余白を詰める */
@media screen and (min-width: 769px) and (max-width: 1080px) {
	.mn-gnav__link {
		padding: 0 9px;
		font-size: 13px;
	}
	.mn-gnav__logo {
		margin-right: 6px;
		font-size: 22px;
	}
}

/* ログイン中は WordPress の管理バー（上に固定、32px。783px 未満は 46px）の下に出す */
@media screen and (min-width: 769px) {
	.mn-gnav.has-adminbar {
		top: 32px;
	}
	.mn-gnav.has-adminbar .mn-gnav__veil {
		inset: 84px 0 0;
	}
}
@media screen and (min-width: 769px) and (max-width: 782px) {
	.mn-gnav.has-adminbar {
		top: 46px;
	}
	.mn-gnav.has-adminbar .mn-gnav__veil {
		inset: 98px 0 0;
	}
}
