/*
Theme Name: MZ&C
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

/* ==================================================
	MZ&C TOP PAGE
================================================== */

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


/* ==================================================
	FULL WIDTH
================================================== */

.full-width {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	position: relative;
}


/* ==================================================
	BASE
================================================== */

.mz-home {
	--mz-purple: #6258a8;
	--mz-purple-dark: #3f3a72;
	--mz-black: #222222;
	--mz-gray: #777777;
	--mz-light: #f7f7f5;
	--mz-border: #dedede;
	--mz-white: #ffffff;
	color: var(--mz-black);
	background: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.mz-home *,
.mz-home *::before,
.mz-home *::after {
	box-sizing: border-box;
}

.mz-home img {
	display: block;
	width: 100%;
	height: auto;
}

.mz-home a {
	color: inherit;
	text-decoration: none;
}

/* ==================================================
	MZ&C HEADER
================================================== */


/* ==================================================
	HEADER LEFT
================================================== */

.mz-header-left {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: 0;
}


/* ==================================================
	LOGO
================================================== */

#site-header .site-header-logo {
	display: block;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 1;
	white-space: nowrap;
}

#site-header .site-header-logo a {
	display: block;
	color: inherit;
	text-decoration: none;
}

#site-header .site-header-logo span {
	display: block;
}

#site-header .site-header-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 170px;
	max-height: 30px;
	margin: 0;
}


/* ==================================================
	HEADER COPY
================================================== */

.mz-header-copy {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 0 0 auto;
	margin-left: 20px;
	padding-left: 20px;
}


/* 縦線 */
.mz-header-copy::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 38px;
	background: #d7d3ce;
	transform: translateY(-50%);
}


/* ==================================================
	HEADER CATCH
================================================== */

.mz-header-catch {
	margin: 0 0 4px !important;
	padding: 0 !important;
	color: #4d4d4d !important;
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .07em !important;
	white-space: nowrap;
}


/* ==================================================
	COMPANY NAME
================================================== */

.mz-header-company {
	margin: 0 !important;
	padding: 0 !important;
	color: #999999 !important;
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: .08em !important;
	white-space: nowrap;
}


/* ==================================================
	GLOBAL NAV
================================================== */

#global-nav {
	flex: 0 0 auto;
	width: auto;
	margin-left: auto !important;
	margin-right: 0 !important;
}


/* ==================================================
	GLOBAL NAV LIST
================================================== */

#global-nav .global-nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	gap: 30px;
	list-style: none;
	position: relative;
}


/* ==================================================
	NAV ITEM
================================================== */

#global-nav .global-nav-list > li {
	position: relative;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
	line-height: 1;
}


/* ==================================================
	NAV LINK
================================================== */

#global-nav .global-nav-list > li > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	width: auto;
	height: 90px;
	padding: 0;

	color: #222222 !important;
	background: transparent !important;

	text-decoration: none;
	overflow: visible;

	opacity: .82;

	transition:
		color .3s ease,
		opacity .3s ease;
}


/* ==================================================
	NAV NAME
================================================== */

#global-nav .global-nav-list > li > a .global-nav-name {
	position: relative;
	display: block;
	width: auto;

	color: #222222 !important;

	font-family: 'Jost', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .09em;
	text-transform: uppercase;
	white-space: nowrap;

	transition:
		color .3s ease,
		opacity .3s ease;
}


/* ==================================================
	NAV DESCRIPTION
================================================== */

#global-nav .global-nav-description {
	display: none;
}


/* ==================================================
	NAV UNDERLINE
================================================== */

#global-nav .global-nav-list > li > a .global-nav-name::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -9px;

	width: 0;
	height: 1px;

	background: #6258a8;

	transform: translateX(-50%);

	opacity: 0;

	transition:
		width .4s cubic-bezier(.19, 1, .22, 1),
		opacity .3s ease;
}


/* ==================================================
	NAV HOVER
================================================== */

#global-nav .global-nav-list > li > a:hover,
#global-nav .global-nav-list > li > a:focus {
	color: #6258a8 !important;
	background: transparent !important;
	opacity: 1;
}


/* 文字そのものも紫にする */
#global-nav .global-nav-list > li > a:hover .global-nav-name,
#global-nav .global-nav-list > li > a:focus .global-nav-name {
	color: #6258a8 !important;
}


/* 下線表示 */
#global-nav .global-nav-list > li > a:hover .global-nav-name::after,
#global-nav .global-nav-list > li > a:focus .global-nav-name::after {
	width: 100%;
	opacity: 1;
}


/* ==================================================
	CURRENT PAGE
================================================== */

#global-nav .global-nav-list > li.current-menu-item > a,
#global-nav .global-nav-list > li.current_page_item > a,
#global-nav .global-nav-list > li.current-menu-ancestor > a,
#global-nav .global-nav-list > li.current_page_ancestor > a {
	color: #6258a8 !important;
	opacity: 1;
}

#global-nav .global-nav-list > li.current-menu-item > a .global-nav-name,
#global-nav .global-nav-list > li.current_page_item > a .global-nav-name,
#global-nav .global-nav-list > li.current-menu-ancestor > a .global-nav-name,
#global-nav .global-nav-list > li.current_page_ancestor > a .global-nav-name {
	color: #6258a8 !important;
}

#global-nav .global-nav-list > li.current-menu-item > a .global-nav-name::after,
#global-nav .global-nav-list > li.current_page_item > a .global-nav-name::after,
#global-nav .global-nav-list > li.current-menu-ancestor > a .global-nav-name::after,
#global-nav .global-nav-list > li.current_page_ancestor > a .global-nav-name::after {
	width: 100%;
	opacity: 1;
}


/* ==================================================
	LIGHTNING DEFAULT RESET
================================================== */

#global-nav .global-nav-list > li::before,
#global-nav .global-nav-list > li::after,
#global-nav .global-nav-list > li > a::before,
#global-nav .global-nav-list > li > a::after {
	display: none !important;
}


/* ==================================================
	SUB MENU
	MZ&C / BLACK LUXURY DROPDOWN
================================================== */

@media (min-width: 992px) {

	/* ==================================================
		PARENT MENU
	================================================== */

	#global-nav .global-nav-list > li.menu-item-has-children {
		position: relative;
	}

	#global-nav .global-nav-list > li.menu-item-has-children > a .global-nav-name {
		display: inline-flex;
		align-items: center;
		gap: 8px;
	}

	#global-nav .global-nav-list > li.menu-item-has-children > a .global-nav-name::before {
		content: "";
		display: block;
		flex: 0 0 auto;
		width: 5px;
		height: 5px;
		margin-top: -4px;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: rotate(45deg);
		opacity: .5;
		transition:
			transform .35s ease,
			opacity .35s ease;
	}

	#global-nav .global-nav-list > li.menu-item-has-children:hover > a .global-nav-name::before,
	#global-nav .global-nav-list > li.menu-item-has-children:focus-within > a .global-nav-name::before {
		transform: translateY(2px) rotate(225deg);
		opacity: 1;
	}


	/* ==================================================
		SUB MENU PANEL
	================================================== */

	#global-nav .global-nav-list > li > ul.sub-menu {
		position: absolute;
		top: calc(100% - 4px);
		left: 50%;
		z-index: 1500;
		width: 290px;
		min-width: 290px;
		margin: 0;
		padding: 12px 0;
		background:
			linear-gradient(
				180deg,
				rgba(34, 34, 36, .985) 0%,
				rgba(18, 18, 20, .99) 100%
			);
		border: 1px solid rgba(255,255,255,.10);
		border-top: 2px solid #555555;
		box-shadow:
			0 18px 45px rgba(0,0,0,.20),
			0 5px 16px rgba(0,0,0,.14);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		transform: translateX(-50%);
		overflow: hidden;
	}

	#global-nav .global-nav-list > li > ul.sub-menu::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		height: 1px;
		background:
			linear-gradient(
				90deg,
				rgba(255,255,255,0) 0%,
				rgba(255,255,255,.22) 50%,
				rgba(255,255,255,0) 100%
			);
		pointer-events: none;
	}


	/* ==================================================
		SUB MENU ITEM
	================================================== */

	#global-nav .global-nav-list .sub-menu li {
		position: relative;
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: left;
	}

	#global-nav .global-nav-list .sub-menu li + li {
		border-top: 1px solid rgba(255,255,255,.07);
	}


	/* ==================================================
		SUB MENU LINK
	================================================== */

	#global-nav .global-nav-list .sub-menu li a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 48px;
		margin: 0;
		padding: 0 24px 0 27px;
		color: rgba(255,255,255,.82) !important;
		background: transparent !important;
		border: none !important;
		font-family: 'Jost', sans-serif;
		font-size: 11px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: .14em;
		text-decoration: none;
		opacity: 1;
		transition:
			color .3s ease,
			background .3s ease,
			padding-left .35s cubic-bezier(.19, 1, .22, 1);
	}

	#global-nav .global-nav-list .sub-menu li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 15px;
		width: 5px;
		height: 1px;
		background: rgba(255,255,255,.34);
		transform: translateY(-50%);
		transition:
			width .35s cubic-bezier(.19, 1, .22, 1),
			background .3s ease;
	}

	#global-nav .global-nav-list .sub-menu li a::after {
		content: "";
		display: block !important;
		flex: 0 0 auto;
		width: 6px;
		height: 6px;
		margin-left: 15px;
		border-top: 1px solid rgba(255,255,255,.42);
		border-right: 1px solid rgba(255,255,255,.42);
		transform: rotate(45deg);
		transition:
			transform .3s ease,
			border-color .3s ease;
	}


	/* ==================================================
		SUB MENU HOVER / CURRENT
	================================================== */

	#global-nav .global-nav-list .sub-menu li a:hover,
	#global-nav .global-nav-list .sub-menu li a:focus,
	#global-nav .global-nav-list .sub-menu li.current-menu-item > a {
		color: #ffffff !important;
		background:
			linear-gradient(
				90deg,
				rgba(255,255,255,.11) 0%,
				rgba(255,255,255,.055) 58%,
				rgba(255,255,255,0) 100%
			) !important;
		padding-left: 34px;
	}

	#global-nav .global-nav-list .sub-menu li a:hover::before,
	#global-nav .global-nav-list .sub-menu li a:focus::before,
	#global-nav .global-nav-list .sub-menu li.current-menu-item > a::before {
		width: 11px;
		background: #ffffff;
	}

	#global-nav .global-nav-list .sub-menu li a:hover::after,
	#global-nav .global-nav-list .sub-menu li a:focus::after,
	#global-nav .global-nav-list .sub-menu li.current-menu-item > a::after {
		border-color: #ffffff;
		transform: translateX(3px) rotate(45deg);
	}


	/* ==================================================
		LIGHTNING ACC BUTTON
	================================================== */

	#global-nav .global-nav-list > li > .acc-btn {
		display: none !important;
	}

}


/* ==================================================
	SUB MENU / TABLET & SMARTPHONE
================================================== */

@media (max-width: 991.98px) {

	#global-nav .global-nav-list .sub-menu {
		margin: 0 !important;
		padding: 5px 0 8px 18px !important;
		background: #f5f5f5 !important;
		border: none !important;
		box-shadow: none !important;
	}

	#global-nav .global-nav-list .sub-menu li {
		margin: 0;
		padding: 0;
		border-top: 1px solid rgba(0,0,0,.08);
		list-style: none;
	}

	#global-nav .global-nav-list .sub-menu li:first-child {
		border-top: none;
	}

	#global-nav .global-nav-list .sub-menu li a {
		position: relative;
		display: block;
		padding: 11px 14px 11px 19px;
		color: #444444 !important;
		background: transparent !important;
		border: none !important;
		font-family: 'Jost', sans-serif;
		font-size: 11px;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: .10em;
		text-decoration: none;
	}

	#global-nav .global-nav-list .sub-menu li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 5px;
		height: 1px;
		background: #555555;
		transform: translateY(-50%);
	}

	#global-nav .global-nav-list .sub-menu li a::after {
		display: none !important;
	}

	#global-nav .global-nav-list .sub-menu li a:hover,
	#global-nav .global-nav-list .sub-menu li.current-menu-item > a {
		color: #111111 !important;
	}

}


/* ==================================================
	SCROLLED
================================================== */


/* ==================================================
	SCROLLED LOGO
================================================== */

/*
	Lightning標準ではスクロール時に
	.site-header-logo が display:none になるため解除
*/

.header_scrolled #site-header .site-header-logo {
	display: block !important;
}


.header_scrolled #site-header .site-header-logo img {
	width: auto;
	max-width: 145px !important;
	max-height: 25px !important;
}


/* ==================================================
	SCROLLED LEFT
================================================== */

.header_scrolled .mz-header-left {
	display: flex !important;
	align-items: center;
}


/* ==================================================
	SCROLLED COPY
================================================== */

.header_scrolled .mz-header-copy {
	display: flex !important;
	flex-direction: column;
	justify-content: center;

	margin-left: 15px !important;
	padding-left: 15px !important;
}


/* 縦線 */
.header_scrolled .mz-header-copy::before {
	height: 28px !important;
}


/* ==================================================
	SCROLLED CATCH
================================================== */

.header_scrolled .mz-header-copy .mz-header-catch {
	margin: 0 0 2px !important;
	padding: 0 !important;

	font-size: 10px !important;
	font-weight: 400 !important;

	line-height: 1.3 !important;
	letter-spacing: .035em !important;
}


/* ==================================================
	SCROLLED COMPANY
================================================== */

.header_scrolled .mz-header-copy .mz-header-company {
	margin: 0 !important;
	padding: 0 !important;

	font-size: 9px !important;
	font-weight: 400 !important;

	line-height: 1.25 !important;
	letter-spacing: .045em !important;
}


/* ==================================================
	SCROLLED NAV
================================================== */

/*
	ナビ自体は右位置を変更しない
*/

.header_scrolled #global-nav {
	flex: 0 0 auto;

	width: auto;

	margin-left: auto !important;
	margin-right: 0 !important;
}


/* ==================================================
	SCROLLED NAV LIST
================================================== */

.header_scrolled #global-nav .global-nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	width: auto !important;

	margin-left: 0 !important;
	margin-right: 0 !important;

	padding: 0;

	gap: 20px;
}


/* ==================================================
	SCROLLED NAV LINK
================================================== */

.header_scrolled #global-nav .global-nav-list > li > a {
	height: 68px;

	padding: 0;

	color: #222222 !important;
}


/* ==================================================
	SCROLLED NAV TEXT
================================================== */

.header_scrolled #global-nav .global-nav-list > li > a .global-nav-name {
	font-size: 13px;

	line-height: 1;

	letter-spacing: .06em;

	color: #222222 !important;
}


/* ==================================================
	SCROLLED HOVER
================================================== */

.header_scrolled #global-nav .global-nav-list > li > a:hover,
.header_scrolled #global-nav .global-nav-list > li > a:focus {
	color: #6258a8 !important;
}


.header_scrolled #global-nav .global-nav-list > li > a:hover .global-nav-name,
.header_scrolled #global-nav .global-nav-list > li > a:focus .global-nav-name {
	color: #6258a8 !important;
}


/* 下線 */
.header_scrolled #global-nav .global-nav-list > li > a .global-nav-name::after {
	bottom: -6px;
}


/* ==================================================
	SCROLLED CURRENT
================================================== */

.header_scrolled #global-nav .global-nav-list > li.current-menu-item > a,
.header_scrolled #global-nav .global-nav-list > li.current_page_item > a,
.header_scrolled #global-nav .global-nav-list > li.current-menu-ancestor > a,
.header_scrolled #global-nav .global-nav-list > li.current_page_ancestor > a {
	color: #6258a8 !important;
}


.header_scrolled #global-nav .global-nav-list > li.current-menu-item > a .global-nav-name,
.header_scrolled #global-nav .global-nav-list > li.current_page_item > a .global-nav-name,
.header_scrolled #global-nav .global-nav-list > li.current-menu-ancestor > a .global-nav-name,
.header_scrolled #global-nav .global-nav-list > li.current_page_ancestor > a .global-nav-name {
	color: #6258a8 !important;
}


/* ==================================================
	1400px以下
================================================== */

@media (max-width: 1399.98px) {


	/* LOGO */

	#site-header .site-header-logo img {
		max-width: 150px;
	}


	/* COPY */

	.mz-header-copy {
		margin-left: 16px;
		padding-left: 16px;
	}


	.mz-header-catch {
		font-size: 12px !important;
		letter-spacing: .05em !important;
	}


	/* NAV */

	#global-nav .global-nav-list {
		gap: 22px;
	}


	#global-nav .global-nav-list > li > a .global-nav-name {
		font-size: 14px;
		letter-spacing: .07em;
	}


	/* SCROLLED NAV */

	.header_scrolled #global-nav .global-nav-list {
		gap: 17px;
	}


	.header_scrolled #global-nav .global-nav-list > li > a .global-nav-name {
		font-size: 13px;
		letter-spacing: .05em;
	}


	/* SCROLLED COPY */

	.header_scrolled .mz-header-copy .mz-header-catch {
		font-size: 10px !important;
	}


	.header_scrolled .mz-header-copy .mz-header-company {
		font-size: 9px !important;
	}

}


/* ==================================================
	1200px以下
================================================== */

@media (max-width: 1199.98px) {


	/* キャッチは非表示 */

	.mz-header-copy {
		display: none;
	}


	.header_scrolled .mz-header-copy {
		display: none !important;
	}


	/* NAV */

	#global-nav,
	.header_scrolled #global-nav {
		margin-left: auto !important;
		margin-right: 0 !important;
	}


	#global-nav .global-nav-list {
		gap: 18px;
	}


	#global-nav .global-nav-list > li > a .global-nav-name {
		font-size: 13px;
	}


	/* SCROLLED */

	.header_scrolled #global-nav .global-nav-list {
		gap: 15px;
	}


	.header_scrolled #global-nav .global-nav-list > li > a .global-nav-name {
		font-size: 12px;
	}

}


/* ==================================================
	991px以下
================================================== */

@media (max-width: 991.98px) {


	#site-header .site-header-logo img {
		max-width: 140px;
		max-height: 52px;
	}


	/*
		モバイルメニューについては
		Lightning標準構造を優先
	*/

}

/* ==================================================
	CONTACT NAV BUTTON
================================================== */

#global-nav .global-nav-list > li.menu-contact {
	margin-left: 8px;
}


/* ボタン本体 */
#global-nav .global-nav-list > li.menu-contact > a {
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 138px;
	height: 48px;

	padding: 0 24px;

	color: #ffffff !important;
	background: #6258a8 !important;

	border: 1px solid #6258a8;

	opacity: 1;

	transition:
		background .3s ease,
		color .3s ease,
		border-color .3s ease;
}


/* CONTACT文字 */
#global-nav .global-nav-list > li.menu-contact > a .global-nav-name {
	color: #ffffff !important;
	font-size: 13px;
	letter-spacing: .1em;
}


/* 通常ナビの下線はCONTACTには出さない */
#global-nav .global-nav-list > li.menu-contact > a .global-nav-name::after {
	display: none;
}


/* ==================================================
	CONTACT HOVER
================================================== */

#global-nav .global-nav-list > li.menu-contact > a:hover,
#global-nav .global-nav-list > li.menu-contact > a:focus {
	color: #6258a8 !important;
	background: #ffffff !important;
	border-color: #6258a8;
}


#global-nav .global-nav-list > li.menu-contact > a:hover .global-nav-name,
#global-nav .global-nav-list > li.menu-contact > a:focus .global-nav-name {
	color: #6258a8 !important;
}


/* ==================================================
	CONTACT CURRENT
================================================== */

#global-nav .global-nav-list > li.menu-contact.current-menu-item > a,
#global-nav .global-nav-list > li.menu-contact.current_page_item > a {
	color: #ffffff !important;
	background: #6258a8 !important;
}

#global-nav .global-nav-list > li.menu-contact.current-menu-item > a .global-nav-name,
#global-nav .global-nav-list > li.menu-contact.current_page_item > a .global-nav-name {
	color: #ffffff !important;
}


/* ==================================================
	SCROLLED CONTACT
================================================== */

.header_scrolled #global-nav .global-nav-list > li.menu-contact > a {
	min-width: 122px;
	height: 42px;
	padding: 0 20px;
}

.header_scrolled #global-nav .global-nav-list > li.menu-contact > a .global-nav-name {
	font-size: 12px;
}


/* ==================================================
	1400px以下
================================================== */

@media (max-width: 1399.98px) {

	#global-nav .global-nav-list > li.menu-contact > a {
		min-width: 125px;
		padding: 0 20px;
	}

}


/* ==================================================
	1200px以下
================================================== */

@media (max-width: 1199.98px) {

	#global-nav .global-nav-list > li.menu-contact > a {
		min-width: 115px;
		height: 44px;
		padding: 0 18px;
	}

}


/* ==================================================
	CONTAINER
================================================== */

.mz-home .container {
	width: 100%;
	max-width: 1580px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}


/* ==================================================
	SECTION
================================================== */

.mz-section {
	padding-top: 150px;
	padding-bottom: 150px;
}

.mz-about {
	padding-top: 160px;
	padding-bottom: 160px;
}

.mz-products {
	padding-top: 160px;
	padding-bottom: 170px;
}

.mz-philosophy {
	padding-top: 160px;
	padding-bottom: 160px;
}

.mz-proval {
	padding-top: 160px;
	padding-bottom: 160px;
}

.mz-exhibition {
	padding-top: 160px;
	padding-bottom: 160px;
}

.mz-company {
	padding-top: 160px;
	padding-bottom: 160px;
}

.mz-contact {
	padding-top: 170px;
	padding-bottom: 170px;
}


/* ==================================================
	SECTION HEADER
================================================== */

.mz-section-head {
	display: flex;
	align-items: flex-start;
	gap: 25px;
	margin-bottom: 85px;
}


.mz-section-en {
	margin: 0 0 8px;
	font-family: 'Jost', sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-section-jp {
	margin: 0;
	color: #999999;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: .18em;
}


/* ==================================================
	COMMON TITLE
================================================== */

.mz-small-en {
	margin: 0 0 30px;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .2em;
}

.mz-copy-title {
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 2.1vw, 40px);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: .08em;
}

.mz-large-title {
	margin: 0;
	font-family: 'Jost', sans-serif;
	font-size: clamp(32px, 4vw, 42px);
	font-weight: 400;
	line-height: .94;
	letter-spacing: -.025em;
}


/* ==================================================
	LINK
================================================== */

.mz-arrow-link,
.mz-text-link {
	display: inline-flex;
	align-items: center;
	gap: 26px;
	font-family: 'Jost', sans-serif;
	font-size: 13px;
	letter-spacing: .14em;
}

.mz-arrow {
	position: relative;
	display: block;
	width: 60px;
	height: 1px;
	background: currentColor;
	transition: width .4s ease;
}

.mz-arrow::after {
	content: "";
	position: absolute;
	top: -3px;
	right: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
}

.mz-arrow-link:hover .mz-arrow,
.mz-text-link:hover .mz-arrow {
	width: 80px;
}

/* ==================================================
	TOP PAGE FV
	Lightning G3 Standard Slider + MZ&C Overlay
================================================== */

.mz-fv-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #ffffff;
}


/* ==================================================
	LIGHTNING STANDARD SWIPER
================================================== */

.mz-fv-wrap .swiper-container {
	position: relative !important;
	z-index: 1;
	width: 100% !important;
	height: 60vw !important;
	max-height: 920px !important;
	min-height: 700px !important;
	overflow: hidden !important;
}

.mz-fv-wrap .swiper-container .swiper-wrapper {
	width: 100% !important;
	height: 100% !important;
}

.mz-fv-wrap .swiper-container .swiper-slide {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	overflow: hidden !important;
}

.mz-fv-wrap .swiper-container .swiper-slide img {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: translate(-50%, -50%) scale(1) !important;
}


/* ==================================================
	SLIDE ZOOM
================================================== */

.mz-fv-wrap .swiper-container .swiper-slide-active img {
	animation: mz-fv-zoom 18s linear forwards !important;
}

@keyframes mz-fv-zoom {

	0% {
		transform: translate(-50%, -50%) scale(1);
	}

	100% {
		transform: translate(-50%, -50%) scale(1.08);
	}

}


/* ==================================================
	FV OVERLAY GRADATION
================================================== */

.mz-fv-wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, .82) 0%,
			rgba(255, 255, 255, .68) 24%,
			rgba(255, 255, 255, .34) 42%,
			rgba(255, 255, 255, .06) 62%,
			rgba(255, 255, 255, 0) 100%
		);
}


/* ==================================================
	FV CONTENT
================================================== */

.mz-fv-content {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	pointer-events: none;
}

.mz-fv-content > .container {
	width: 100%;
}

.mz-fv-content .row {
	align-items: center;
	min-height: 700px;
}

.mz-fv-copy {
	padding-right: 70px;
	pointer-events: auto;
}

/* ==================================================
	FV COPY LEFT POSITION
	キャッチコピーをブラウザ左端寄りへ
================================================== */

@media (min-width: 1580px) {

	.mz-fv-copy {
		margin-left: calc((100vw - 1580px) / -2);
		padding-left: 24px;
	}

}

@media (min-width: 992px) and (max-width: 1579.98px) {

	.mz-fv-copy {
		margin-left: -24px;
		padding-left: 24px;
	}

}



/* ==================================================
	FV LABEL
================================================== */

.mz-fv-copy .mz-hero-label {
	margin: 0 0 40px;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}


/* ==================================================
	FV TITLE
================================================== */

.mz-fv-copy .mz-hero-title {
	margin: 0;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: clamp(32px, 4.8vw, 42px);
	font-weight: 400;
	line-height: .86;
	letter-spacing: -.035em;
}


/* ==================================================
	FV JAPANESE TITLE
================================================== */

.mz-fv-copy .mz-hero-title-jp {
	margin: 0 0 34px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(34px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .08em;
}


/* ==================================================
	FV DESCRIPTION
================================================== */

.mz-fv-copy .mz-hero-text {
	margin: 0 0 42px;
	color: #555555;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .07em;
}


/* ==================================================
	FV LINK
================================================== */

.mz-fv-copy .mz-arrow-link {
	position: relative;
	z-index: 2;
}


/* ==================================================
	FV SIDE TEXT
	右端フルハイト白帯
================================================== */

.mz-fv-side-text {
	position: absolute;
	z-index: 8;

	top: 0;
	right: 0;
	bottom: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 58px;
	height: 100%;

	margin: 0;
	padding: 28px 0;

	color: #222222;
	background: #ffffff;

	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .2em;

	writing-mode: vertical-rl;
	text-orientation: mixed;

	transform: none;

	white-space: nowrap;
}


/* ==================================================
	FV SCROLL
================================================== */

.mz-fv-scroll {
	position: absolute;
	z-index: 6;
	left: 50%;
	bottom: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: #666666;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .18em;
	transform: translateX(-50%);
}

.mz-fv-scroll i {
	position: relative;
	display: block;
	width: 1px;
	height: 45px;
	background: rgba(120, 120, 120, .32);
	overflow: hidden;
}

.mz-fv-scroll i::after {
	content: "";
	position: absolute;
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--mz-purple);
	animation: mz-fv-scroll-line 2.2s infinite ease-in-out;
}

@keyframes mz-fv-scroll-line {

	0% {
		top: -100%;
	}

	50% {
		top: 0;
	}

	100% {
		top: 100%;
	}

}


/* ==================================================
	LIGHTNING SLIDER UI
================================================== */

.mz-fv-wrap .swiper-pagination {
	z-index: 7;
}

.mz-fv-wrap .swiper-pagination-bullet {
	background: #ffffff;
	opacity: .55;
}

.mz-fv-wrap .swiper-pagination-bullet-active {
	background: var(--mz-purple);
	opacity: 1;
}


/* ==================================================
	FV TABLET
================================================== */

@media (max-width: 1199.98px) {

	.mz-fv-wrap .swiper-container {
		height: 70vw !important;
		max-height: 820px !important;
		min-height: 650px !important;
	}

	.mz-fv-content .row {
		min-height: 650px;
	}

	.mz-fv-copy {
		padding-right: 45px;
	}

	.mz-fv-copy .mz-hero-title {
		font-size: clamp(32px, 5.5vw, 42px);
	}

	.mz-fv-wrap::before {
		background:
			linear-gradient(
				90deg,
				rgba(255, 255, 255, .80) 0%,
				rgba(255, 255, 255, .62) 30%,
				rgba(255, 255, 255, .24) 55%,
				rgba(255, 255, 255, 0) 100%
			);
	}

}


/* ==================================================
	FV TABLET / SP
================================================== */

@media (max-width: 991.98px) {

	.mz-fv-wrap .swiper-container {
		height: 820px !important;
		max-height: none !important;
		min-height: 720px !important;
	}

	.mz-fv-content {
		align-items: flex-start;
		padding-top: 95px;
	}

	.mz-fv-content .row {
		min-height: 0;
	}

	.mz-fv-copy {
		max-width: 680px;
		margin-left: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.mz-fv-wrap::before {
		background:
			linear-gradient(
				180deg,
				rgba(255, 255, 255, .82) 0%,
				rgba(255, 255, 255, .68) 28%,
				rgba(255, 255, 255, .34) 52%,
				rgba(255, 255, 255, .06) 78%,
				rgba(255, 255, 255, 0) 100%
			);
	}

	.mz-fv-side-text {
		display: none;
	}

}


/* ==================================================
	FV SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-fv-wrap .swiper-container {
		height: 760px !important;
		max-height: none !important;
		min-height: 700px !important;
	}

	.mz-fv-content {
		padding-top: 70px;
	}

	.mz-fv-copy .mz-hero-label {
		margin-bottom: 26px;
		font-size: 11px;
	}

	.mz-fv-copy .mz-hero-title {
		font-size: clamp(32px, 13vw, 42px);
		line-height: .94;
	}

	.mz-fv-copy .mz-hero-title-jp {
		margin: 0 0 26px;
		font-size: clamp(28px, 7vw, 38px);
		line-height: 1.55;
	}

	.mz-fv-copy .mz-hero-text {
		margin: 24px 0 34px;
		font-size: 13px;
		line-height: 2;
	}

	.mz-fv-scroll {
		bottom: 22px;
	}

}


/* ==================================================
	FV SMALL SMARTPHONE
================================================== */

@media (max-width: 575.98px) {

	.mz-fv-wrap .swiper-container {
		height: 720px !important;
		min-height: 680px !important;
	}

	.mz-fv-content {
		padding-top: 58px;
	}

	.mz-fv-copy .mz-hero-title {
		font-size: clamp(40px, 12.2vw, 42px);
	}

}


/* ==================================================
	ABOUT
================================================== */

.mz-about {
	background: #ffffff;
}

.mz-about-image {
	height: 560px;
	overflow: hidden;
	background: #f3f3f3;
}

.mz-about-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-about-content {
	padding-left: 55px;
}

.mz-about-text {
	margin: 45px 0 48px;
	color: #707070;
	font-size: 12px;
	line-height: 2.25;
	letter-spacing: .06em;
}

.mz-about-text p {
	margin: 0 0 20px;
}

.mz-about-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	PRODUCTS
================================================== */

.mz-products {
	background: #fafaf8;
}


/* ==================================================
	PRODUCTS LEAD
================================================== */

.mz-products-lead {
	margin-bottom: 90px;
}

.mz-products-description {
	max-width: 430px;
	margin: 0 0 2px auto;
	color: #666666;
	font-size: 15px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .045em;
}


/* ==================================================
	PRODUCTS GRID
================================================== */

.mz-products-grid {
	align-items: flex-start;
}

.mz-products-grid > div {
	display: flex;
	margin-bottom: 34px;
}


/* ==================================================
	PRODUCT CARD
================================================== */

.mz-product-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	color: #222222;
	text-decoration: none;
}

.mz-product-card--middle {
	margin-top: 0;
}


/* ==================================================
	PRODUCT IMAGE
================================================== */

.mz-product-image {
	position: relative;
	width: 100%;
	height: 320px;
	overflow: hidden;
	background: #eeeeee;
}

.mz-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: transform .9s cubic-bezier(.19, 1, .22, 1);
}

.mz-product-card:hover .mz-product-image img {
	transform: scale(1.04);
}


/* ==================================================
	PRODUCT INFO
================================================== */

.mz-product-info {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 40px;
	align-items: start;
	gap: 16px;
	padding-top: 24px;
}

.mz-product-title-wrap {
	min-width: 0;
}


/* ==================================================
	PRODUCT NUMBER
================================================== */

.mz-product-no {
	margin: 2px 0 0;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .04em;
}


/* ==================================================
	PRODUCT TITLE
================================================== */

.mz-product-info h3 {
	margin: 0 0 8px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .08em;
}


/* ==================================================
	PRODUCT SUB
================================================== */

.mz-product-sub {
	margin: 0 0 12px !important;
	color: #8f8f8f !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px !important;
	font-weight: 400;
	line-height: 1.6 !important;
	letter-spacing: .06em;
}


/* ==================================================
	PRODUCT DESCRIPTION
================================================== */

.mz-product-description {
	margin: 0 !important;
	color: #707070 !important;
	font-size: 13px !important;
	font-weight: 300;
	line-height: 1.9 !important;
	letter-spacing: .035em;
}


/* ==================================================
	PRODUCT ARROW
================================================== */

.mz-circle-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-top: 2px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	color: #555555;
	font-size: 14px;
	line-height: 1;
	transition:
		color .35s ease,
		background .35s ease,
		border-color .35s ease,
		transform .35s ease;
}

.mz-product-card:hover .mz-circle-arrow {
	color: #ffffff;
	background: var(--mz-purple);
	border-color: var(--mz-purple);
	transform: translateX(3px);
}


/* ==================================================
	VIEW ALL
================================================== */

.mz-center-link {
	margin-top: 90px;
	text-align: center;
}

.mz-outline-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 310px;
	padding: 21px 25px;
	border: 1px solid #bfbfbf;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .13em;
	transition:
		color .35s ease,
		background .35s ease,
		border-color .35s ease;
}

.mz-outline-button:hover {
	color: #ffffff;
	background: var(--mz-purple);
	border-color: var(--mz-purple);
}


/* ==================================================
	PRODUCTS 1400px
================================================== */

@media (max-width: 1399.98px) {

	.mz-products-description {
		font-size: 14px;
	}

	.mz-product-image {
		height: 300px;
	}

	.mz-product-info {
		grid-template-columns: 40px minmax(0, 1fr) 38px;
		gap: 14px;
	}

	.mz-product-no {
		font-size: 18px;
	}

	.mz-product-info h3 {
		font-size: 21px;
	}

}


/* ==================================================
	PRODUCTS 1200px
================================================== */

@media (max-width: 1199.98px) {

	.mz-product-image {
		height: 290px;
	}

	.mz-product-info {
		grid-template-columns: 38px minmax(0, 1fr) 38px;
		gap: 14px;
	}

	.mz-product-info h3 {
		font-size: 20px;
	}

}


/* ==================================================
	PRODUCTS TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-products-lead {
		margin-bottom: 65px;
	}

	.mz-products-description {
		max-width: none;
		margin: 35px 0 0;
		font-size: 14px;
		line-height: 1.95;
	}

	.mz-products-grid > div {
		margin-bottom: 32px;
	}

	.mz-products-grid > div:last-child {
		margin-bottom: 0;
	}

	.mz-product-card--middle {
		margin-top: 0;
	}

	.mz-product-image {
		height: 340px;
	}

	.mz-product-no {
		font-size: 18px;
	}

}


/* ==================================================
	PRODUCTS SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-products-lead {
		margin-bottom: 50px;
	}

	.mz-products-description {
		margin-top: 24px;
		font-size: 13px;
		line-height: 1.9;
	}

	.mz-products-grid > div {
		margin-bottom: 40px;
	}

	.mz-product-image {
		height: 280px;
	}

	.mz-product-info {
		grid-template-columns: 36px minmax(0, 1fr) 36px;
		gap: 11px;
		padding-top: 20px;
	}

	.mz-product-no {
		font-size: 17px;
	}

	.mz-product-info h3 {
		font-size: 19px;
	}

	.mz-product-sub {
		font-size: 11px !important;
		margin-bottom: 10px !important;
	}

	.mz-product-description {
		font-size: 12px !important;
		line-height: 1.8 !important;
	}

	.mz-center-link {
		margin-top: 55px;
	}

	.mz-outline-button {
		width: 100%;
		max-width: 300px;
	}

}


/* ==================================================
	PHILOSOPHY
================================================== */

.mz-philosophy {
	padding-top: 150px;
	padding-bottom: 150px;
	background: #f7f6f3;
	overflow: hidden;
}

.mz-philosophy-row {
	--bs-gutter-x: 0;
}

.mz-philosophy-image-wrap {
	position: relative;
	margin-left: calc(50% - 50vw);
	padding-right: 70px;
}

.mz-philosophy-image {
	position: relative;
	width: 100%;
	height: 620px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-philosophy-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
}

.mz-philosophy-image:hover img {
	transform: scale(1.025);
}

.mz-philosophy-content {
	max-width: 520px;
	padding-left: 45px;
}

.mz-philosophy-content .mz-small-en {
	margin-bottom: 28px;
}

.mz-philosophy-content .mz-copy-title {
	color: #222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 2.1vw, 40px);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .09em;
}

.mz-philosophy-text {
	margin: 38px 0 42px;
	color: #686868;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: .06em;
}

.mz-philosophy-list {
	border-top: 1px solid #d6d3ce;
}

.mz-philosophy-item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 15px;
	padding: 18px 0;
	border-bottom: 1px solid #d6d3ce;
}

.mz-philosophy-item > span {
	padding-top: 3px;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 22px !important;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .03em;
}

.mz-philosophy-item h3 {
	margin: 0 0 5px;
	color: #222;
	font-family: 'Jost', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .14em;
}

.mz-philosophy-item p {
	margin: 0;
	color: #777;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: .04em;
}

.mz-philosophy-link {
	margin-top: 40px;
}


/* ==================================================
	PROVAL
================================================== */

.mz-proval {
	background: #f7f6f3;
}

.mz-proval-copy {
	padding-right: 60px;
}

.mz-proval-brand {
	margin: 0 0 45px;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: clamp(32px, 4.7vw, 42px);
	font-weight: 400;
	line-height: .9;
	letter-spacing: .03em;
}

.mz-proval-copy h2 {
	margin: 0 0 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(27px, 2.1vw, 38px);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: .08em;
}

.mz-proval-copy > p:not(.mz-proval-brand) {
	margin: 0 0 45px;
	color: #777777;
	font-size: 11px;
	line-height: 2.2;
	letter-spacing: .05em;
}

.mz-proval-image {
	height: 560px;
	overflow: hidden;
}

.mz-proval-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ==================================================
	EXHIBITION
================================================== */

.mz-exhibition {
	background: #f7f6f3;
}


/* ==================================================
	EXHIBITION INTRO
================================================== */

.mz-exhibition-intro {
	max-width: 580px;
	margin-top: -45px;
	margin-bottom: 60px;
}

.mz-exhibition-intro p {
	margin: 0;
	color: #777777;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.1;
	letter-spacing: .05em;
}


/* ==================================================
	EXHIBITION GRID
================================================== */

.mz-exhibition-grid {
	--bs-gutter-y: 30px;
	align-items: stretch;
}

.mz-exhibition-grid > div {
	display: flex;
}


/* ==================================================
	EXHIBITION CARD
================================================== */

.mz-exhibition-card {
	display: grid;
	grid-template-columns: 30% 70%;
	width: 100%;
	min-height: 300px;
	background: #ffffff;
	border: 1px solid #e5e1dc;
	overflow: hidden;
	transition:
		transform .4s cubic-bezier(.19, 1, .22, 1),
		box-shadow .4s ease;
	    margin-bottom: 30px;
}

.mz-exhibition-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 45px rgba(30, 28, 25, .07);
}


/* ==================================================
	EXHIBITION IMAGE
================================================== */

.mz-exhibition-card-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 300px;
	padding: 45px 55px;
	overflow: hidden;
	background: #ffffff;
	border-right: 1px solid #ede9e4;
}

.mz-exhibition-card-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 360px;
	max-height: 190px;
	object-fit: contain;
	object-position: center center;
	transition: transform .7s cubic-bezier(.19, 1, .22, 1);
}

.mz-exhibition-card:hover .mz-exhibition-card-img {
	transform: scale(1.025);
}


/* ==================================================
	EXHIBITION STATUS
================================================== */

.mz-exhibition-status {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	padding: 8px 12px;
	color: #ffffff;
	background: rgba(63, 58, 114, .94);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
}

.mz-exhibition-card.is-ended .mz-exhibition-card-img {
	opacity: .72;
	filter: grayscale(.12);
}


/* ==================================================
	EXHIBITION BODY
================================================== */

.mz-exhibition-card-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	grid-template-rows: auto auto auto 1fr auto;
	column-gap: 45px;
	min-width: 0;
	padding: 34px 40px;
}


/* ==================================================
	EXHIBITION DATE
================================================== */

.mz-exhibition-date {
	grid-column: 1;
	grid-row: 1;
	margin-bottom: 12px;
}

.mz-exhibition-date-value {
	display: block;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .07em;
}

.mz-exhibition-date-line {
	display: inline-block;
	margin: 0 7px;
	color: #aaa6a0;
	font-size: 16px;
}


/* ==================================================
	EXHIBITION TITLE
================================================== */

.mz-exhibition-card-title {
	grid-column: 1;
	grid-row: 2;
	margin: 0 0 14px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .045em;
}

.mz-exhibition-card-title a {
	color: #222222;
}


/* ==================================================
	EXHIBITION ENDED MESSAGE
================================================== */

.mz-exhibition-ended {
	grid-column: 1;
	grid-row: 3;
	margin: 0 0 15px;
	padding: 10px 13px;
	color: #6258a8;
	background: #f4f2fa;
	border-left: 2px solid #6258a8;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: .025em;
}


/* ==================================================
	EXHIBITION DESCRIPTION
================================================== */

.mz-exhibition-description {
	grid-column: 1;
	grid-row: 4;
	align-self: start;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	max-width: 700px;
	margin: 0;
	overflow: hidden;
	color: #777777;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.9;
	letter-spacing: .035em;
}


/* ==================================================
	EXHIBITION INFO
================================================== */

.mz-exhibition-info {
	grid-column: 2;
	grid-row: 1 / 5;
	align-self: center;
	border-top: 1px solid #e3dfda;
}

.mz-exhibition-info-row {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #e3dfda;
}

.mz-exhibition-info-label {
	padding-top: 2px;
	color: #999999;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .12em;
}

.mz-exhibition-info-value {
	color: #555555;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.7;
	letter-spacing: .03em;
}


/* ==================================================
	EXHIBITION FOOTER
================================================== */

.mz-exhibition-card-footer {
	grid-column: 1 / -1;
	grid-row: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 25px;
	padding-top: 20px;
	border-top: 1px solid #ece8e3;
}

.mz-exhibition-card-link {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .13em;
}

.mz-exhibition-card-arrow {
	display: inline-block;
	font-size: 15px;
	transition: transform .3s ease;
}

.mz-exhibition-card-link:hover .mz-exhibition-card-arrow {
	transform: translateX(5px);
}

.mz-exhibition-official {
	color: #8c8c8c;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .1em;
	border-bottom: 1px solid #bbbbbb;
	white-space: nowrap;
}


/* ==================================================
	EXHIBITION TABLET
================================================== */

@media (max-width: 1199.98px) {

	.mz-exhibition-card {
		grid-template-columns: 30% 70%;
	}

	.mz-exhibition-card-image {
		padding: 35px;
	}

	.mz-exhibition-card-body {
		grid-template-columns: minmax(0, 1fr) 240px;
		column-gap: 30px;
		padding: 30px;
	}

}


/* ==================================================
	EXHIBITION TABLET / SP
================================================== */

@media (max-width: 991.98px) {

	.mz-exhibition-intro {
		margin-top: -25px;
		margin-bottom: 45px;
	}

	.mz-exhibition-card {
		grid-template-columns: 34% 66%;
	}

	.mz-exhibition-card-body {
		display: block;
	}

	.mz-exhibition-info {
		margin-top: 22px;
	}

	.mz-exhibition-card-footer {
		margin-top: 22px;
	}

}


/* ==================================================
	EXHIBITION SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-exhibition-intro {
		margin-top: -15px;
		margin-bottom: 38px;
	}

	.mz-exhibition-grid {
		--bs-gutter-y: 25px;
	}

	.mz-exhibition-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.mz-exhibition-card-image {
		height: 190px;
		min-height: 190px;
		padding: 30px 40px;
		border-right: none;
		border-bottom: 1px solid #ede9e4;
	}

	.mz-exhibition-card-img {
		max-width: 280px;
		max-height: 125px;
	}

	.mz-exhibition-card-body {
		padding: 24px 22px;
	}

	.mz-exhibition-date-value {
		font-size: 19px;
	}

	.mz-exhibition-card-title {
		font-size: 19px;
	}

	.mz-exhibition-description {
		-webkit-line-clamp: 4;
	}

	.mz-exhibition-card-footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 13px;
	}

}


/* ==================================================
	COMPANY
================================================== */



.mz-company {
	padding-top: 150px;
	padding-bottom: 150px;
	background: #ffffff;
	overflow: hidden;
}

.mz-company-row {
	--bs-gutter-x: 0;
}

.mz-company-content {
	max-width: 560px;
	padding-right: 60px;
}

.mz-company-content .mz-small-en {
	margin-bottom: 28px;
}

.mz-company-content h2 {
	margin: 0 0 35px;
	color: #222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 2.2vw, 40px);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .09em;
}

.mz-company-text,
.mz-company-content > p:not(.mz-small-en) {
	margin: 0;
	color: #686868;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: .06em;
}

.mz-company-data {
	display: flex;
	align-items: flex-start;
	gap: 65px;
	margin: 42px 0;
	padding: 27px 0;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
}

.mz-company-data div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mz-company-data strong {
	color: #222;
	font-family: 'Jost', sans-serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
}

.mz-company-data span {
	color: #888;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .15em;
}

.mz-company-image-wrap {
	position: relative;
	margin-right: calc(50% - 50vw);
	padding-left: 70px;
}

.mz-company-image {
	position: relative;
	width: 100%;
	height: 620px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-company-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
}

.mz-company-image:hover img {
	transform: scale(1.025);
}


/* ==================================================
	NEWS
================================================== */

.mz-news-wrap {
	margin-top: 0;
}

.news-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 55px;
	row-gap: 38px;
	margin: 0;
	padding: 0;
	list-style: none;
}


/* ==================================================
	NEWS ITEM
================================================== */

.news-item {
	margin: 0;
	padding: 0;
}

.news-link {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	align-items: center;
	gap: 28px;
	min-height: 120px;
	padding: 0 0 28px;
	color: #222;
	text-decoration: none;
	border-bottom: 1px solid #ddd;
}


/* ==================================================
	THUMBNAIL
================================================== */

.news-thumb {
	position: relative;
	width: 120px;
	height: 120px;
	overflow: hidden;
	background: #f2f2f2;
}

.news-thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.19, 1, .22, 1);
}

.news-link:hover .news-thumb-img {
	transform: scale(1.05);
}


/* ==================================================
	NEWS BODY
================================================== */

.news-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	height: 100%;
}


/* ==================================================
	META
================================================== */

.news-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 13px;
	margin-bottom: 12px;
}


/* 日付 */
.news-list .date {
	color: #888;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
	white-space: nowrap;
}


/* カテゴリ */
.news-list .cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	min-height: 21px;
	padding: 2px 9px;
	border: 1px solid #6258a8;
	color: #6258a8;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .08em;
	white-space: nowrap;
}


/* ==================================================
	TITLE
================================================== */

.news-list .title {
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: .035em;
}


/* ==================================================
	READ MORE
================================================== */

.news-more {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 15px;
	color: #888;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .16em;
}

.news-more-arrow {
	display: inline-block;
	font-size: 15px;
	transition: transform .3s ease;
}

.news-link:hover .news-more-arrow {
	transform: translateX(6px);
}


/* ==================================================
	HOVER
================================================== */

.news-link {
	transition: opacity .3s ease;
}

.news-link:hover {
	opacity: .75;
}


/* ==================================================
	CATEGORY COLOR
================================================== */

.news-list .cat.news {
	color: #6258a8;
	border-color: #6258a8;
}

.news-list .cat.exhibition {
	color: #9b8262;
	border-color: #9b8262;
}

.news-list .cat.product {
	color: #666;
	border-color: #999;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	.news-list {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}

	.news-link {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 25px;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.news-list {
		row-gap: 25px;
	}

	.news-link {
		grid-template-columns: 90px minmax(0, 1fr);
		gap: 16px;
		min-height: 90px;
		padding-bottom: 22px;
	}

	.news-thumb {
		width: 90px;
		height: 90px;
	}

	.news-meta {
		gap: 8px;
		margin-bottom: 8px;
	}

	.news-list .date {
		font-size: 11px;
	}

	.news-list .cat {
		min-width: auto;
		min-height: 19px;
		padding: 2px 7px;
		font-size: 11px;
	}

	.news-list .title {
		font-size: 13px;
		line-height: 1.6;
	}

	.news-more {
		margin-top: 10px;
		font-size: 11px;
	}

	.news-more-arrow {
		font-size: 13px;
	}

}

/* ==================================================
	CONTACT
================================================== */

.mz-contact {
	color: #ffffff;
	background: var(--mz-purple-dark);
	text-align: center;
}

.mz-contact-inner {
	max-width: 900px;
	margin: 0 auto;
}

.mz-contact .mz-small-en {
	color: rgba(255, 255, 255, .62);
}

.mz-contact h2 {
	margin: 0;
	font-family: 'Jost', sans-serif;
	font-size: clamp(32px, 5vw, 42px);
	font-weight: 400;
	line-height: .85;
	letter-spacing: -.025em;
}

.mz-contact-jp {
	margin: 52px 0;
	color: rgba(255, 255, 255, .7);
	font-size: 11px;
	line-height: 2.2;
	letter-spacing: .1em;
}

.mz-contact-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 320px;
	margin: 0 auto;
	padding: 22px 27px;
	border: 1px solid rgba(255, 255, 255, .5);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	letter-spacing: .15em;
	transition: all .35s ease;
}

.mz-contact-button:hover {
	color: var(--mz-purple-dark);
	background: #ffffff;
}


/* ==================================================
	PC SMALL
================================================== */

@media (max-width: 1399.98px) {

	.mz-home .container {
		width: 94%;
		max-width: 1320px;
	}

	.mz-hero-title {
		font-size: 80px;
	}

	.mz-hero-copy {
		padding-right: 45px;
	}

	.mz-about-content {
		padding-left: 40px;
	}

	.mz-philosophy-panel,
	.mz-company-content {
		padding-left: 50px;
		padding-right: 50px;
	}

}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 1199.98px) {

	.mz-home .container {
		width: 95%;
		max-width: 1140px;
	}

	.mz-section,
	.mz-about,
	.mz-products,
	.mz-philosophy,
	.mz-proval,
	.mz-exhibition,
	.mz-company {
		padding-top: 125px;
		padding-bottom: 125px;
	}

	.mz-contact {
		padding-top: 140px;
		padding-bottom: 140px;
	}

	.mz-hero {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.mz-hero-row {
		min-height: 620px;
	}

	.mz-hero-image {
		height: 560px;
	}

	.mz-about-image {
		height: 510px;
	}

	.mz-product-image {
		height: 430px;
	}

	.mz-philosophy-image {
		height: 570px;
	}

	.mz-proval-image {
		height: 510px;
	}

	.mz-company-image {
		height: 540px;
	}

}


/* ==================================================
	TABLET / SP
================================================== */

@media (max-width: 991.98px) {

	.mz-section,
	.mz-about,
	.mz-products,
	.mz-philosophy,
	.mz-proval,
	.mz-exhibition,
	.mz-company {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.mz-contact {
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.mz-section-head {
		margin-bottom: 65px;
	}

	.mz-hero-row {
		min-height: 0;
	}

	.mz-hero-copy {
		padding-right: 0;
		margin-bottom: 60px;
	}

	.mz-hero-title {
		font-size: 72px;
	}

	.mz-hero-image {
		height: 540px;
	}

	.mz-about-content {
		padding-left: 0;
		margin-top: 55px;
	}

	.mz-about-image {
		height: 500px;
	}

	.mz-products-lead {
		margin-bottom: 65px;
	}

	.mz-products-description {
		margin-top: 35px;
	}

	.mz-products-grid > div {
		margin-bottom: 55px;
	}

	.mz-products-grid > div:last-child {
		margin-bottom: 0;
	}

	.mz-product-card--middle {
		margin-top: 0;
	}

	.mz-product-image {
		height: 520px;
	}

	.mz-philosophy-image {
		height: 500px;
	}

	.mz-philosophy-panel {
		padding: 65px 50px;
	}

	.mz-proval-copy {
		padding-right: 0;
		margin-bottom: 60px;
	}

	.mz-proval-image {
		height: 500px;
	}

	.mz-news-date {
		margin-bottom: 20px;
	}

	.mz-news-content {
		margin-bottom: 15px;
	}

	.mz-company-image {
		height: 500px;
	}

	.mz-company-content {
		padding: 65px 50px;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.full-width {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: calc(50vw - 50%);
		padding-right: calc(50vw - 50%);
	}

	.mz-home .container {
		width: 100%;
		max-width: none;
		padding-left: 24px;
		padding-right: 24px;
	}

	.mz-section,
	.mz-about,
	.mz-products,
	.mz-philosophy,
	.mz-proval,
	.mz-exhibition,
	.mz-company {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	.mz-contact {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.mz-section-head {
		gap: 16px;
		margin-bottom: 50px;
	}

	.mz-section-en {
		font-size: 24px;
	}

	.mz-copy-title {
		font-size: 31px;
		line-height: 1.7;
	}

	.mz-large-title {
		font-size: 50px;
	}

	.mz-hero {
		padding-top: 80px;
		padding-bottom: 85px;
	}

	.mz-hero-copy {
		margin-bottom: 45px;
	}

	.mz-hero-label {
		margin-bottom: 28px;
		font-size: 11px;
	}

	.mz-hero-title {
		font-size: 55px;
	}

	.mz-hero-title-jp {
		margin-top: 28px;
		font-size: 16px;
	}

	.mz-hero-text {
		margin-top: 25px;
		margin-bottom: 36px;
		font-size: 11px;
	}

	.mz-hero-image {
		height: 440px;
	}

	.mz-hero-side-text,
	.mz-scroll {
		display: none;
	}

	.mz-about-image {
		height: 410px;
	}

	.mz-about-content {
		margin-top: 45px;
	}

	.mz-about-text {
		margin-top: 32px;
		margin-bottom: 38px;
		font-size: 11px;
	}

	.mz-products-lead {
		margin-bottom: 50px;
	}

	.mz-products-description {
		margin-top: 28px;
		font-size: 11px;
	}

	.mz-products-grid > div {
		margin-bottom: 50px;
	}

	.mz-product-image {
		height: 420px;
	}

	.mz-product-info h3 {
		font-size: 21px;
	}

	.mz-center-link {
		margin-top: 55px;
	}

	.mz-outline-button {
		width: 100%;
		max-width: 300px;
	}

	.mz-philosophy-image {
		height: 420px;
	}

	.mz-philosophy-panel {
		padding: 50px 25px;
	}

	.mz-philosophy-text {
		margin-top: 30px;
		margin-bottom: 35px;
	}

	.mz-proval-copy {
		margin-bottom: 45px;
	}

	.mz-proval-brand {
		margin-bottom: 32px;
		font-size: 62px;
	}

	.mz-proval-copy h2 {
		font-size: 30px;
	}

	.mz-proval-image {
		height: 420px;
	}

	.mz-news-item {
		padding: 28px 0;
	}

	.mz-news-item:hover {
		padding-left: 0;
		padding-right: 0;
		background: transparent;
	}

	.mz-news-date strong {
		font-size: 20px;
	}

	.mz-news-content h3 {
		font-size: 15px;
	}

	.mz-company-image {
		height: 420px;
	}

	.mz-company-content {
		padding: 50px 25px;
	}

	.mz-company-content h2 {
		font-size: 31px;
	}

	.mz-company-data {
		gap: 35px;
		margin-top: 35px;
		margin-bottom: 35px;
	}

	.mz-company-data strong {
		font-size: 30px;
	}

	.mz-contact h2 {
		font-size: 56px;
	}

	.mz-contact-jp {
		margin-top: 40px;
		margin-bottom: 40px;
		font-size: 11px;
	}

	.mz-contact-button {
		width: 100%;
		max-width: 310px;
	}

}

/* ==================================================
	TYPOGRAPHY FINAL TUNING
================================================== */

.mz-copy-title,
.mz-proval-copy h2,
.mz-company-content h2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: .09em;
}

.mz-copy-title {
	font-size: clamp(28px, 2.1vw, 40px);
	line-height: 1.8;
}

.mz-proval-copy h2 {
	font-size: clamp(27px, 2.1vw, 38px);
	line-height: 1.8;
}

.mz-company-content h2 {
	font-size: clamp(28px, 2.2vw, 40px);
	line-height: 1.8;
}

.mz-large-title {
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1;
	letter-spacing: -.01em;
}

.mz-hero-title {
	font-size: clamp(32px, 4.8vw, 42px);
	line-height: .9;
	letter-spacing: -.02em;
}

.mz-contact h2 {
	font-size: clamp(32px, 5vw, 42px);
	line-height: .92;
	letter-spacing: -.01em;
}

@media (max-width: 991.98px) {
	.mz-hero-title {
		font-size: 64px;
	}
}

@media (max-width: 767.98px) {
	.mz-copy-title {
		font-size: 28px;
	}

	.mz-large-title {
		font-size: 46px;
	}

	.mz-hero-title {
		font-size: 50px;
	}

	.mz-proval-copy h2,
	.mz-company-content h2 {
		font-size: 28px;
	}

	.mz-contact h2 {
		font-size: 50px;
	}
}


/* ==================================================
	FONT SIZE FINAL ADJUSTMENT
	・11px未満は使用しない
	・文章／説明文は13px未満にしない
================================================== */

/* 小さなラベル・補助情報も最低11px */
.mz-section-jp,
.mz-small-en,
.mz-hero-label,
.mz-hero-side-text,
.mz-scroll,
.mz-product-info p:not(.mz-product-no),
.mz-philosophy-item > span,
.mz-company-data span,
.mz-news-category,
.news-list .date,
.news-list .cat,
.news-more {
	font-size: 11px;
}


/* 本文・説明文は最低13px */
.mz-hero-text,
.mz-about-text,
.mz-products-description,
.mz-philosophy-text,
.mz-philosophy-item p,
.mz-proval-copy > p:not(.mz-proval-brand),
.mz-news-content p,
.mz-company-content > p:not(.mz-small-en),
.mz-contact-jp,
.news-list .title {
	font-size: 13px;
}


/* NEWSのタイトルは本文より少し大きめ */
.news-list .title {
	font-size: 15px;
}


/* 商品カテゴリ補足と説明文 */
.mz-product-sub {
	font-size: 12px !important;
}

.mz-product-description {
	font-size: 13px !important;
}


/* スマートフォンでも本文は13pxを下回らない */
@media (max-width: 767.98px) {

	.mz-hero-label,
	.mz-section-jp,
	.mz-small-en,
	.mz-product-info p:not(.mz-product-no),
	.mz-philosophy-item > span,
	.mz-company-data span,
	.mz-news-category,
	.news-list .date,
	.news-list .cat,
	.news-more {
		font-size: 11px;
	}

	.mz-hero-text,
	.mz-about-text,
	.mz-products-description,
	.mz-philosophy-text,
	.mz-philosophy-item p,
	.mz-proval-copy > p:not(.mz-proval-brand),
	.mz-news-content p,
	.mz-company-content > p:not(.mz-small-en),
	.mz-contact-jp {
		font-size: 13px;
	}

	.news-list .title {
		font-size: 14px;
	}
}


/* ==================================================
	HAL ABOUT STYLE RESPONSIVE OVERRIDES
================================================== */

@media (max-width: 1199.98px) {

	.mz-philosophy,
	.mz-company {
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.mz-philosophy-image-wrap {
		padding-right: 45px;
	}

	.mz-company-image-wrap {
		padding-left: 45px;
	}

	.mz-philosophy-image,
	.mz-company-image {
		height: 560px;
	}

	.mz-philosophy-content {
		padding-left: 25px;
	}

	.mz-company-content {
		padding-right: 35px;
	}

}

@media (max-width: 991.98px) {

	.mz-philosophy,
	.mz-company {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.mz-philosophy-image-wrap {
		margin-left: -24px;
		margin-right: -24px;
		padding-right: 0;
	}

	.mz-philosophy-image {
		height: 500px;
	}

	.mz-philosophy-content {
		max-width: none;
		padding-left: 0;
		padding-top: 60px;
	}

	.mz-company-content {
		max-width: none;
		padding-right: 0;
		padding-bottom: 60px;
	}

	.mz-company-image-wrap {
		margin-left: -24px;
		margin-right: -24px;
		padding-left: 0;
	}

	.mz-company-image {
		height: 500px;
	}

}

@media (max-width: 767.98px) {

	.mz-philosophy,
	.mz-company {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	.mz-philosophy-image {
		height: 390px;
	}

	.mz-philosophy-content {
		padding-top: 50px;
	}

	.mz-philosophy-content .mz-copy-title {
		font-size: 28px;
	}

	.mz-philosophy-text {
		margin-top: 30px;
		margin-bottom: 35px;
		font-size: 13px;
	}

	.mz-company-content {
		padding-bottom: 50px;
	}

	.mz-company-content h2 {
		font-size: 28px;
	}

	.mz-company-image {
		height: 390px;
	}

	.mz-company-data {
		gap: 35px;
		margin-top: 35px;
		margin-bottom: 35px;
	}

	.mz-company-data strong {
		font-size: 30px;
	}

}




/* ==================================================
	SECTION BACKGROUND FINAL
================================================== */

/* 背景色は各セクションで明確に切り替える */
#about {
	background: #ffffff;
}

#products {
	background: #f7f6f3;
}

#philosophy {
	background: #ece9e3;
}

#proval {
	background: #ffffff;
}

#exhibition {
	background: #f7f6f3;
}

#news {
	background: #ffffff;
}

#company {
	background: #f2efea;
}

#contact {
	background: var(--mz-purple-dark);
}


/* ==================================================
	SECTION HEADER
================================================== */

.mz-section-head {
	display: flex;
	align-items: flex-start;
	gap: 25px;
	margin-bottom: 85px;
}


.mz-section-en {
	margin: 0 0 8px;
	color: #222;
	font-family: 'Jost', sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-section-jp {
	margin: 0;
	color: #999999;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .18em;
}


/* ==================================================
	SECTION SPACING
================================================== */

#about,
#products,
#philosophy,
#proval,
#exhibition,
#news,
#company {
	padding-top: 150px;
	padding-bottom: 150px;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 1199.98px) {

	.mz-section-head {
		margin-bottom: 65px;
	}

	#about,
	#products,
	#philosophy,
	#proval,
	#exhibition,
	#news,
	#company {
		padding-top: 110px;
		padding-bottom: 110px;
	}

}

/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-section-head {
		gap: 16px;
		margin-bottom: 50px;
	}

	

	.mz-section-en {
		font-size: 24px;
	}

	.mz-section-jp {
		font-size: 11px;
	}

	#about,
	#products,
	#philosophy,
	#proval,
	#exhibition,
	#news,
	#company {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	#contact {
		padding-top: 100px;
		padding-bottom: 100px;
	}

}


/* ==================================================
	EXHIBITION FONT SIZE FINAL
================================================== */

.mz-exhibition-intro p,
.mz-exhibition-ended,
.mz-exhibition-description,
.mz-exhibition-info-value {
	font-size: 13px;
}

.mz-exhibition-status,
.mz-exhibition-date-label,
.mz-exhibition-info-label,
.mz-exhibition-official {
	font-size: 11px;
}

/* ==================================================
	PRODUCTS FINAL OVERRIDE
	リード文・商品番号の最終調整
================================================== */

.mz-products-description {
	max-width: 430px;
	margin: 0 0 2px auto;
	color: #666666;
	font-size: 15px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .045em;
}

.mz-product-no {
	margin: 2px 0 0;
	color: var(--mz-purple);
	font-family: 'Jost', sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .04em;
}

.mz-product-sub {
	font-size: 12px !important;
}

.mz-product-description {
	font-size: 13px !important;
}

@media (max-width: 1399.98px) {
	.mz-products-description {
		font-size: 14px;
	}

	.mz-product-no {
		font-size: 24px;
	}
}

@media (max-width: 991.98px) {
	.mz-products-description {
		max-width: none;
		margin: 35px 0 0;
		font-size: 14px;
		line-height: 1.95;
	}

	.mz-product-no {
		font-size: 23px;
	}
}

@media (max-width: 767.98px) {
	.mz-products-description {
		margin-top: 24px;
		font-size: 13px;
		line-height: 1.9;
	}

	.mz-product-no {
		font-size: 21px;
	}
}

/* ==================================================
	ABOUT / ORIGINAL BRAND
	同サイズ2枚＋上下ずらし
================================================== */


/* ==================================================
	ABOUT GALLERY
================================================== */

.mz-about-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
	width: 100%;
	padding-right: 38px;
}

.mz-about-photo {
	position: relative;
	height: 560px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-about-photo--main {
	margin-top: 0;
}

.mz-about-photo--sub {
	margin-top: 70px;
}

.mz-about-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.15s cubic-bezier(.19, 1, .22, 1);
}

.mz-about-gallery:hover .mz-about-photo img {
	transform: scale(1.025);
}


/* ==================================================
	ORIGINAL BRAND / PROVAL GALLERY
================================================== */

.mz-proval-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
	width: 100%;
	padding-left: 38px;
}

.mz-proval-photo {
	position: relative;
	height: 560px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-proval-photo--main {
	margin-top: 0;
}

.mz-proval-photo--sub {
	margin-top: 70px;
}

.mz-proval-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.15s cubic-bezier(.19, 1, .22, 1);
}

.mz-proval-gallery:hover .mz-proval-photo img {
	transform: scale(1.025);
}


/* ==================================================
	DECORATION
================================================== */

.mz-about-photo--sub::before,
.mz-proval-photo--sub::before {
	content: "";
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 22px;
	width: 42px;
	height: 1px;
	background: rgba(255,255,255,.85);
	pointer-events: none;
}

.mz-about-photo--sub::after,
.mz-proval-photo--sub::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 22px;
	width: 1px;
	height: 42px;
	background: rgba(255,255,255,.85);
	pointer-events: none;
}


/* ==================================================
	1400px以下
================================================== */

@media (max-width: 1399.98px) {

	.mz-about-gallery {
		gap: 22px;
		padding-right: 28px;
	}

	.mz-proval-gallery {
		gap: 22px;
		padding-left: 28px;
	}

	.mz-about-photo,
	.mz-proval-photo {
		height: 520px;
	}

	.mz-about-photo--sub,
	.mz-proval-photo--sub {
		margin-top: 60px;
	}

}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-about-gallery,
	.mz-proval-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		padding-left: 0;
		padding-right: 0;
	}

	.mz-about-gallery {
		margin-bottom: 55px;
	}

	.mz-proval-gallery {
		margin-top: 55px;
	}

	.mz-about-photo,
	.mz-proval-photo {
		height: 480px;
	}

	.mz-about-photo--sub,
	.mz-proval-photo--sub {
		margin-top: 50px;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-about-gallery,
	.mz-proval-gallery {
		gap: 12px;
	}

	.mz-about-photo,
	.mz-proval-photo {
		height: 360px;
	}

	.mz-about-photo--sub,
	.mz-proval-photo--sub {
		margin-top: 35px;
	}

	.mz-about-photo--sub::before,
	.mz-proval-photo--sub::before {
		top: 15px;
		left: 15px;
		width: 30px;
	}

	.mz-about-photo--sub::after,
	.mz-proval-photo--sub::after {
		top: 15px;
		left: 15px;
		height: 30px;
	}

}


/* ==================================================
	SMALL SMARTPHONE
================================================== */

@media (max-width: 575.98px) {

	.mz-about-photo,
	.mz-proval-photo {
		height: 300px;
	}

	.mz-about-photo--sub,
	.mz-proval-photo--sub {
		margin-top: 28px;
	}

}

/* ==================================================
	CONTACT PAPER PLANE ICON
	既存のCONTACTボタンデザインを維持
================================================== */

#global-nav .global-nav-list > li.menu-contact > a .global-nav-name {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Font Awesome 紙飛行機 */
#global-nav .global-nav-list > li.menu-contact > a .global-nav-name::before {
	content: "\f1d8";
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	flex: 0 0 auto;
	margin-right: 9px;
	font-size: 12px;
	line-height: 1;
}

/* CONTACTには通常ナビの下線を表示しない */
#global-nav .global-nav-list > li.menu-contact > a .global-nav-name::after {
	display: none !important;
}

/* スクロール時 */
.header_scrolled #global-nav .global-nav-list > li.menu-contact > a .global-nav-name::before {
	margin-right: 8px;
	font-size: 11px;
}

/* 1200px以下 */
@media (max-width: 1199.98px) {

	#global-nav .global-nav-list > li.menu-contact > a .global-nav-name::before {
		margin-right: 7px;
		font-size: 11px;
	}

}

/* ==================================================
	MZ&C PAGE HERO
	下層ページ / アイキャッチ対応
================================================== */

.mz-page-hero {
	position: relative;
	width: 100%;
	min-height: 430px;
	overflow: hidden;
	background: #f3f2ef;
}

.mz-page-hero-image {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
}

.mz-page-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

.mz-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,.86) 0%,
		rgba(255,255,255,.70) 28%,
		rgba(255,255,255,.34) 48%,
		rgba(255,255,255,.06) 68%,
		rgba(255,255,255,0) 100%
	);
}

.mz-page-hero--no-image::before {
	background: transparent;
}

.mz-page-hero-inner {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 430px;
}

.mz-page-hero-copy {
	width: min(720px, 48vw);
	max-width: 720px;
	padding: 70px 0;
	text-align: left;
}

/* タイトルをブラウザ左端寄りへ */
@media (min-width: 1580px) {

	.mz-page-hero-copy {
		margin-left: calc((100vw - 1580px) / -2 + 24px);
	}

}

@media (min-width: 992px) and (max-width: 1579.98px) {

	.mz-page-hero-copy {
		margin-left: 0;
	}

}



.mz-page-hero-title {
	margin: 0;
	color: #222;
	font-family: 'Jost', sans-serif;
	font-size: clamp(42px, 4.2vw, 42px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .04em;
}

.mz-page-hero-line {
	display: block;
	width: 72px;
	height: 1px;
	margin-top: 32px;
	background: var(--mz-purple);
}

.mz-page-hero-side {
	position: absolute;
	z-index: 4;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	margin: 0;
	color: #222;
	background: rgba(255,255,255,.96);
	border-left: 1px solid rgba(0,0,0,.06);
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .2em;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	white-space: nowrap;
}

@media (max-width: 991.98px) {
	.mz-page-hero,
	.mz-page-hero-inner {
		min-height: 360px;
	}

	.mz-page-hero-copy {
		width: min(620px, 58vw);
		margin-left: 0;
		padding: 55px 0;
		text-align: left;
	}
}

@media (max-width: 767.98px) {
	.mz-page-hero,
	.mz-page-hero-inner {
		min-height: 300px;
	}

	.mz-page-hero-copy {
		width: calc(100% - 54px);
		margin-left: 0;
		padding: 45px 0;
		text-align: left;
	}


	.mz-page-hero-title {
		font-size: clamp(30px, 9vw, 42px);
		line-height: 1.45;
	}

	.mz-page-hero-line {
		width: 52px;
		margin-top: 24px;
	}

	.mz-page-hero-side {
		width: 38px;
		font-size: 9px;
	}
}

/* ==================================================
	BREADCRUMB
================================================== */

#breadcrumb.breadcrumb {
	margin: 0;
	padding: 0;
	background: #ffffff;
	border-top: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;
}

#breadcrumb .container {
	width: 100%;
	max-width: 1580px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

#breadcrumb .breadcrumb-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 18px 0;
	list-style: none;
}

#breadcrumb .breadcrumb-list__item {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	color: #999999;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .08em;
}

#breadcrumb .breadcrumb-list__item a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #777777;
	text-decoration: none;
	transition:
		color .3s ease,
		opacity .3s ease;
}

#breadcrumb .breadcrumb-list__item a:hover {
	color: var(--mz-purple);
}

#breadcrumb .breadcrumb-list__item:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 1px;
	margin: 0 14px;
	background: #d8d8d8;
}

#breadcrumb .breadcrumb-list__item:last-child {
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: .08em;
}

/* HOME ICON */
#breadcrumb .breadcrumb-list__item--home i {
	color: #999999;
	font-size: 10px;
	transition: color .3s ease;
}

#breadcrumb .breadcrumb-list__item--home a:hover i {
	color: var(--mz-purple);
}

/* HOME TEXT */
#breadcrumb .breadcrumb-list__item--home span {
	font-family: 'Noto Sans JP', sans-serif;
}


/* ==================================================
	BREADCRUMB TABLET
================================================== */

@media (max-width: 991.98px) {

	#breadcrumb .breadcrumb-list {
		padding: 16px 0;
	}

	#breadcrumb .breadcrumb-list__item {
		font-size: 11px;
	}

	#breadcrumb .breadcrumb-list__item:not(:last-child)::after {
		width: 20px;
		margin: 0 12px;
	}

}


/* ==================================================
	BREADCRUMB SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	#breadcrumb .container {
		padding-left: 18px;
		padding-right: 18px;
	}

	#breadcrumb .breadcrumb-list {
		padding: 14px 0;
	}

	#breadcrumb .breadcrumb-list__item {
		font-size: 10px;
		letter-spacing: .05em;
	}

	#breadcrumb .breadcrumb-list__item:not(:last-child)::after {
		width: 16px;
		margin: 0 9px;
	}

}

/* ==================================================
	MZ&C ABOUT PAGE
================================================== */

.mz-about-page {
	--mz-about-purple: #6258a8;
	--mz-about-purple-dark: #3f3a72;
	--mz-about-black: #222222;
	--mz-about-gray: #707070;
	--mz-about-light: #f7f6f3;
	--mz-about-border: #dedbd7;
	--mz-about-white: #ffffff;
	width: 100%;
	color: var(--mz-about-black);
	background: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.mz-about-page *,
.mz-about-page *::before,
.mz-about-page *::after {
	box-sizing: border-box;
}

.mz-about-page img {
	display: block;
	width: 100%;
	height: auto;
}

.mz-about-page a {
	color: inherit;
	text-decoration: none;
}


/* ==================================================
	ABOUT COMMON
================================================== */

.mz-about-page .container {
	width: 100%;
	max-width: 1580px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}


/* ==================================================
	ABOUT HEADING
================================================== */

.mz-about-heading {
	margin: 0 0 45px;
}

.mz-about-heading-en {
	margin: 0 0 10px;
	color: var(--mz-about-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.mz-about-heading-jp {
	margin: 0;
	color: #999999;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: .14em;
}

.mz-about-heading--light .mz-about-heading-en {
	color: #ffffff;
}

.mz-about-heading--light .mz-about-heading-jp {
	color: rgba(255,255,255,.6);
}


/* ==================================================
	ABOUT COMMON TITLE
================================================== */

.mz-about-copy-title {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(32px, 2.7vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .07em;
}


/* ==================================================
	ABOUT COMMON TEXT
================================================== */

.mz-about-text {
	margin-top: 42px;
	color: #686868;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-about-text p {
	margin: 0 0 22px;
}

.mz-about-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	ABOUT INTRO
================================================== */

.mz-about-intro {
	padding-top: 170px;
	padding-bottom: 180px;
	background: #ffffff;
	overflow: hidden;
}

.mz-about-intro-copy {
	padding-right: 65px;
}

.mz-about-kicker {
	margin: 0 0 35px;
	color: var(--mz-about-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .21em;
}

.mz-about-main-title {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(35px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .075em;
}

.mz-about-lead {
	margin-top: 48px;
	color: #666666;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: .055em;
}

.mz-about-lead p {
	margin: 0 0 24px;
}

.mz-about-lead p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	ABOUT INTRO GALLERY
================================================== */

.mz-about-intro-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
	width: 100%;
	padding-left: 25px;
}

.mz-about-intro-photo {
	position: relative;
	height: 570px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-about-intro-photo--02 {
	margin-top: 80px;
}

.mz-about-intro-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
}

.mz-about-intro-gallery:hover .mz-about-intro-photo img {
	transform: scale(1.025);
}


/* ==================================================
	ABOUT ORIGIN
================================================== */

.mz-about-origin {
	padding-top: 170px;
	padding-bottom: 170px;
	background: #f7f6f3;
	overflow: hidden;
}

.mz-about-origin-row {
	--bs-gutter-x: 0;
}

.mz-about-origin-image {
	position: relative;
	margin-left: calc(50% - 50vw);
	padding-right: 75px;
}

.mz-about-origin-image img {
	width: 100%;
	height: 670px;
	object-fit: cover;
}

.mz-about-origin-caption {
	position: absolute;
	left: 28px;
	bottom: 24px;
	margin: 0;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .22em;
	text-shadow: 0 1px 10px rgba(0,0,0,.2);
}

.mz-about-origin-copy {
	max-width: 540px;
	padding-left: 55px;
}


/* ==================================================
	ABOUT PHILOSOPHY
================================================== */

.mz-about-philosophy {
	padding-top: 165px;
	padding-bottom: 165px;
	color: #ffffff;
	background: #222222;
}

.mz-about-philosophy-copy {
	max-width: 760px;
}

.mz-about-philosophy-title {
	margin: 0;
	color: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(34px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .08em;
}

.mz-about-philosophy-text {
	margin-top: 55px;
	color: rgba(255,255,255,.68);
	font-size: 13px;
	font-weight: 300;
	line-height: 2.3;
	letter-spacing: .055em;
}

.mz-about-philosophy-text p {
	margin: 0 0 23px;
}

.mz-about-philosophy-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	ABOUT VALUES
================================================== */

.mz-about-values {
	padding-top: 170px;
	padding-bottom: 190px;
	background: #ffffff;
}

.mz-about-section-head {
	margin-bottom: 90px;
}

.mz-about-section-en {
	margin: 0 0 10px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 31px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
}

.mz-about-section-jp {
	margin: 0;
	color: #999999;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: .14em;
}

.mz-about-values-row {
	align-items: flex-start;
}

.mz-about-value {
	position: relative;
	min-height: 415px;
	padding: 0 45px 0 0;
}

.mz-about-values-row > div:not(:first-child) .mz-about-value {
	padding-left: 45px;
}

.mz-about-values-row > div:not(:last-child) .mz-about-value {
	border-right: 1px solid #ddd9d5;
}

.mz-about-value--middle {
	margin-top: 55px;
}

.mz-about-value-no {
	margin: 0 0 30px;
	color: var(--mz-about-purple);
	font-family: 'Jost', sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-about-value-line {
	width: 44px;
	height: 1px;
	margin-bottom: 38px;
	background: var(--mz-about-purple);
}

.mz-about-value-en {
	margin: 0 0 14px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-about-value h3 {
	margin: 0 0 28px;
	color: #777777;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
}

.mz-about-value-text {
	max-width: 355px;
	margin: 0;
	color: #6e6e6e;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.1;
	letter-spacing: .045em;
}


/* ==================================================
	ABOUT TEAM
================================================== */

.mz-about-team {
	padding-top: 175px;
	padding-bottom: 180px;
	background: #f7f6f3;
}

.mz-about-team-lead {
	margin-bottom: 85px;
}

.mz-about-team-intro {
	color: #676767;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-about-team-intro p {
	margin: 0 0 20px;
}

.mz-about-team-intro p:last-child {
	margin-bottom: 0;
}

.mz-about-team-image {
	height: 600px;
	overflow: hidden;
	background: #eeeeec;
}

.mz-about-team-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.25s cubic-bezier(.19, 1, .22, 1);
}

.mz-about-team-image:hover img {
	transform: scale(1.025);
}

.mz-about-team-grid {
	margin-top: 70px;
}

.mz-about-team-item {
	position: relative;
	padding-right: 55px;
}

.mz-about-team-grid > div:not(:first-child) .mz-about-team-item {
	padding-left: 55px;
}

.mz-about-team-grid > div:not(:last-child) .mz-about-team-item {
	border-right: 1px solid #d8d4cf;
}

.mz-about-team-no {
	margin: 0 0 27px;
	color: var(--mz-about-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .12em;
}

.mz-about-team-item h3 {
	margin: 0 0 10px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-about-team-jp {
	margin: 0 0 25px;
	color: #999999;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .12em;
}

.mz-about-team-text {
	max-width: 340px;
	margin: 0;
	color: #666666;
	font-size: 13px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .045em;
}


/* ==================================================
	ABOUT FUTURE
================================================== */

.mz-about-future {
	position: relative;
	min-height: 760px;
	padding-top: 150px;
	padding-bottom: 150px;
	overflow: hidden;
	background: #222222;
}

.mz-about-future-image {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.mz-about-future-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-about-future-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(
		90deg,
		rgba(20,20,20,.90) 0%,
		rgba(20,20,20,.75) 35%,
		rgba(20,20,20,.25) 65%,
		rgba(20,20,20,.05) 100%
	);
}

.mz-about-future-inner {
	position: relative;
	z-index: 3;
}

.mz-about-future-copy {
	max-width: 620px;
	color: #ffffff;
}

.mz-about-future-en {
	margin: 0 0 38px;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .22em;
}

.mz-about-future-copy h2 {
	margin: 0;
	color: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(36px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .08em;
}

.mz-about-future-text {
	margin-top: 48px;
	color: rgba(255,255,255,.76);
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-about-future-text p {
	margin: 0 0 20px;
}

.mz-about-future-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	ABOUT NEXT LINKS
================================================== */

.mz-about-next {
	padding-top: 120px;
	padding-bottom: 120px;
	background: #ffffff;
}

.mz-about-next-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 190px;
	padding: 48px 55px;
	border-top: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	transition:
		color .4s ease,
		background .4s ease;
}

.mz-about-next .col-lg-6:first-child .mz-about-next-link {
	border-right: 1px solid #d9d9d9;
}

.mz-about-next-link:hover {
	color: #ffffff;
	background: var(--mz-about-purple);
}

.mz-about-next-en {
	margin: 0 0 13px;
	font-family: 'Jost', sans-serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-about-next-jp {
	margin: 0;
	color: #888888;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: .09em;
	transition: color .4s ease;
}

.mz-about-next-link:hover .mz-about-next-jp {
	color: rgba(255,255,255,.72);
}

.mz-about-next-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	font-family: 'Jost', sans-serif;
	font-size: 17px;
	transition:
		color .4s ease,
		border-color .4s ease,
		transform .4s ease;
}

.mz-about-next-link:hover .mz-about-next-arrow {
	color: #ffffff;
	border-color: rgba(255,255,255,.65);
	transform: translateX(5px);
}


/* ==================================================
	ABOUT 1200px
================================================== */

@media (max-width: 1199.98px) {

	.mz-about-intro-copy {
		padding-right: 35px;
	}

	.mz-about-intro-photo {
		height: 500px;
	}

	.mz-about-origin-image {
		padding-right: 45px;
	}

	.mz-about-origin-image img {
		height: 590px;
	}

	.mz-about-origin-copy {
		padding-left: 35px;
	}

	.mz-about-value {
		padding-right: 30px;
	}

	.mz-about-values-row > div:not(:first-child) .mz-about-value {
		padding-left: 30px;
	}

	.mz-about-team-item {
		padding-right: 35px;
	}

	.mz-about-team-grid > div:not(:first-child) .mz-about-team-item {
		padding-left: 35px;
	}

}


/* ==================================================
	ABOUT TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-about-intro,
	.mz-about-origin,
	.mz-about-philosophy,
	.mz-about-values,
	.mz-about-team {
		padding-top: 110px;
		padding-bottom: 110px;
	}

	.mz-about-intro-copy {
		padding-right: 0;
	}

	.mz-about-intro-gallery {
		margin-top: 70px;
		padding-left: 0;
	}

	.mz-about-intro-photo {
		height: 520px;
	}

	.mz-about-origin-image {
		margin-left: 0;
		padding-right: 0;
	}

	.mz-about-origin-image img {
		height: 580px;
	}

	.mz-about-origin-copy {
		max-width: none;
		margin-top: 75px;
		padding-left: 0;
	}

	.mz-about-philosophy-copy {
		margin-top: 60px;
	}

	.mz-about-values-row > div {
		margin-bottom: 65px;
	}

	.mz-about-values-row > div:last-child {
		margin-bottom: 0;
	}

	.mz-about-value,
	.mz-about-values-row > div:not(:first-child) .mz-about-value {
		min-height: 0;
		padding: 0 0 55px;
		border-right: none;
		border-bottom: 1px solid #ddd9d5;
	}

	.mz-about-values-row > div:last-child .mz-about-value {
		padding-bottom: 0;
		border-bottom: none;
	}

	.mz-about-value--middle {
		margin-top: 0;
	}

	.mz-about-value-text {
		max-width: 620px;
	}

	.mz-about-team-lead {
		margin-bottom: 65px;
	}

	.mz-about-team-intro {
		margin-top: 55px;
	}

	.mz-about-team-image {
		height: 540px;
	}

	.mz-about-team-grid > div {
		margin-bottom: 50px;
	}

	.mz-about-team-grid > div:last-child {
		margin-bottom: 0;
	}

	.mz-about-team-item,
	.mz-about-team-grid > div:not(:first-child) .mz-about-team-item {
		padding: 0 0 45px;
		border-right: none;
		border-bottom: 1px solid #d8d4cf;
	}

	.mz-about-team-grid > div:last-child .mz-about-team-item {
		padding-bottom: 0;
		border-bottom: none;
	}

	.mz-about-future {
		min-height: 700px;
	}

	.mz-about-next .col-lg-6:first-child .mz-about-next-link {
		border-right: none;
	}

	.mz-about-next .col-lg-6 + .col-lg-6 .mz-about-next-link {
		border-top: none;
	}

}


/* ==================================================
	ABOUT SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-about-page .container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.mz-about-intro,
	.mz-about-origin,
	.mz-about-philosophy,
	.mz-about-values,
	.mz-about-team {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	.mz-about-kicker {
		margin-bottom: 25px;
		font-size: 11px;
	}

	.mz-about-main-title {
		font-size: clamp(28px, 8vw, 38px);
		line-height: 1.6;
	}

	.mz-about-lead {
		margin-top: 35px;
		font-size: 13px;
		line-height: 2;
	}

	.mz-about-intro-gallery {
		gap: 12px;
		margin-top: 50px;
	}

	.mz-about-intro-photo {
		height: 340px;
	}

	.mz-about-intro-photo--02 {
		margin-top: 45px;
	}

	.mz-about-heading {
		margin-bottom: 30px;
	}

	.mz-about-copy-title {
		font-size: clamp(27px, 7.7vw, 36px);
	}

	.mz-about-text {
		margin-top: 32px;
		line-height: 2;
	}

	.mz-about-origin-image img {
		height: 430px;
	}

	.mz-about-origin-caption {
		left: 16px;
		bottom: 16px;
		font-size: 9px;
	}

	.mz-about-origin-copy {
		margin-top: 55px;
	}

	.mz-about-philosophy-copy {
		margin-top: 45px;
	}

	.mz-about-philosophy-title {
		font-size: clamp(28px, 8vw, 38px);
	}

	.mz-about-philosophy-text {
		margin-top: 38px;
		line-height: 2;
	}

	.mz-about-section-head {
		margin-bottom: 60px;
	}

	.mz-about-section-en {
		font-size: 26px;
	}

	.mz-about-value-en {
		font-size: 21px;
	}

	.mz-about-team-intro {
		margin-top: 40px;
	}

	.mz-about-team-image {
		height: 390px;
	}

	.mz-about-team-grid {
		margin-top: 55px;
	}

	.mz-about-team-item h3 {
		font-size: 22px;
	}

	.mz-about-future {
		min-height: 680px;
		padding-top: 90px;
		padding-bottom: 90px;
	}

	.mz-about-future-overlay {
		background: linear-gradient(
			90deg,
			rgba(20,20,20,.90) 0%,
			rgba(20,20,20,.72) 65%,
			rgba(20,20,20,.35) 100%
		);
	}

	.mz-about-future-copy h2 {
		font-size: clamp(29px, 8vw, 39px);
	}

	.mz-about-future-text {
		margin-top: 38px;
		line-height: 2;
	}

	.mz-about-next {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.mz-about-next-link {
		min-height: 150px;
		padding: 35px 25px;
	}

	.mz-about-next-en {
		font-size: 21px;
	}

	.mz-about-next-arrow {
		width: 42px;
		height: 42px;
	}

}

/* ==================================================
	MZ&C OUR PHILOSOPHY PAGE
================================================== */

.mz-philosophy-page {
	--mz-ph-purple: #6258a8;
	--mz-ph-black: #222222;
	--mz-ph-gray: #6f6f6f;
	--mz-ph-light: #f7f6f3;
	--mz-ph-border: #ddd9d5;
	width: 100%;
	color: var(--mz-ph-black);
	background: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.mz-philosophy-page *,
.mz-philosophy-page *::before,
.mz-philosophy-page *::after {
	box-sizing: border-box;
}

.mz-philosophy-page img {
	display: block;
	width: 100%;
	height: auto;
}

.mz-philosophy-page a {
	color: inherit;
	text-decoration: none;
}

.mz-philosophy-page .container {
	width: 100%;
	max-width: 1580px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}


/* ==================================================
	PHILOSOPHY INTRO
================================================== */

.mz-philosophy-intro {
	padding-top: 170px;
	padding-bottom: 180px;
	background: #ffffff;
	overflow: hidden;
}

.mz-philosophy-intro-copy {
	padding-right: 65px;
}

.mz-philosophy-kicker {
	margin: 0 0 35px;
	color: var(--mz-ph-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}

.mz-philosophy-main-title {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(38px, 3.4vw, 42px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .07em;
}

.mz-philosophy-title-line {
	display: block;
	width: 72px;
	height: 1px;
	margin-top: 38px;
	background: var(--mz-ph-purple);
}

.mz-philosophy-lead {
	margin-top: 48px;
	color: #666666;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: .055em;
}

.mz-philosophy-lead p {
	margin: 0 0 24px;
}

.mz-philosophy-lead p:last-child {
	margin-bottom: 0;
}

.mz-philosophy-intro-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
	width: 100%;
	padding-left: 25px;
}

.mz-philosophy-intro-photo {
	position: relative;
	height: 570px;
	overflow: hidden;
	background: #f2f2f2;
}

.mz-philosophy-intro-photo--02 {
	margin-top: 80px;
}

.mz-philosophy-intro-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
}

.mz-philosophy-intro-gallery:hover .mz-philosophy-intro-photo img {
	transform: scale(1.025);
}


/* ==================================================
	PHILOSOPHY SECTION HEAD
================================================== */

.mz-philosophy-section-head {
	margin-bottom: 88px;
}

.mz-philosophy-section-en {
	margin: 0 0 10px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 31px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .09em;
}

.mz-philosophy-section-jp {
	margin: 0;
	color: #999999;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: .14em;
}

.mz-philosophy-section-head--dark .mz-philosophy-section-en {
	color: #ffffff;
}

.mz-philosophy-section-head--dark .mz-philosophy-section-jp {
	color: rgba(255,255,255,.56);
}


/* ==================================================
	ONE FLOW
================================================== */

.mz-philosophy-flow {
	padding-top: 170px;
	padding-bottom: 185px;
	background: #f7f6f3;
}

.mz-philosophy-flow-row {
	position: relative;
	align-items: stretch;
}

.mz-philosophy-flow-item {
	position: relative;
	height: 100%;
	min-height: 390px;
	padding: 0 42px 0 0;
}

.mz-philosophy-flow-row > div:not(:first-child) .mz-philosophy-flow-item {
	padding-left: 42px;
}

.mz-philosophy-flow-row > div:not(:last-child) .mz-philosophy-flow-item {
	border-right: 1px solid #d9d5d0;
}

.mz-philosophy-flow-no {
	margin: 0 0 52px;
	color: var(--mz-ph-purple);
	font-family: 'Jost', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .12em;
}

.mz-philosophy-flow-en {
	margin: 0 0 15px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .08em;
}

.mz-philosophy-flow-item h3 {
	margin: 0 0 30px;
	color: #888888;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .12em;
}

.mz-philosophy-flow-text {
	max-width: 290px;
	margin: 0;
	color: #686868;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.05;
	letter-spacing: .04em;
}


/* ==================================================
	INTEGRATED APPROACH
================================================== */

.mz-philosophy-integrated {
	padding-top: 175px;
	padding-bottom: 175px;
	background: #ffffff;
	overflow: hidden;
}

.mz-philosophy-integrated-row {
	--bs-gutter-x: 0;
}

.mz-philosophy-integrated-image {
	position: relative;
	margin-left: calc(50% - 50vw);
	padding-right: 75px;
}

.mz-philosophy-integrated-image img {
	width: 100%;
	height: 670px;
	object-fit: cover;
}

.mz-philosophy-integrated-caption {
	position: absolute;
	left: 28px;
	bottom: 24px;
	margin: 0;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .2em;
	text-shadow: 0 1px 10px rgba(0,0,0,.2);
}

.mz-philosophy-integrated-copy {
	max-width: 560px;
	padding-left: 55px;
}

.mz-philosophy-small-en {
	margin: 0 0 36px;
	color: var(--mz-ph-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .2em;
}

.mz-philosophy-integrated-copy h2 {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(33px, 2.8vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .07em;
}

.mz-philosophy-integrated-text {
	margin-top: 45px;
	color: #696969;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-philosophy-integrated-text p {
	margin: 0 0 23px;
}

.mz-philosophy-integrated-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	THREE PRINCIPLES
================================================== */

.mz-philosophy-principles {
	padding-top: 170px;
	padding-bottom: 180px;
	color: #ffffff;
	background: #222222;
}

.mz-philosophy-principle-list {
	border-top: 1px solid rgba(255,255,255,.18);
}

.mz-philosophy-principle {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 28px;
	padding: 40px 0;
	border-bottom: 1px solid rgba(255,255,255,.18);
}

.mz-philosophy-principle-no {
	margin: 5px 0 0;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-philosophy-principle-en {
	margin: 0 0 11px;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-philosophy-principle h3 {
	margin: 0 0 18px;
	color: rgba(255,255,255,.72);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
}

.mz-philosophy-principle > div > p:last-child {
	max-width: 650px;
	margin: 0;
	color: rgba(255,255,255,.64);
	font-size: 13px;
	font-weight: 300;
	line-height: 2.05;
	letter-spacing: .045em;
}


/* ==================================================
	FINAL MESSAGE
================================================== */

.mz-philosophy-message {
	position: relative;
	min-height: 760px;
	padding-top: 150px;
	padding-bottom: 150px;
	overflow: hidden;
	background: #222222;
}

.mz-philosophy-message-image {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.mz-philosophy-message-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-philosophy-message-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,.94) 0%,
		rgba(255,255,255,.80) 34%,
		rgba(255,255,255,.32) 64%,
		rgba(255,255,255,.04) 100%
	);
}

.mz-philosophy-message-inner {
	position: relative;
	z-index: 3;
}

.mz-philosophy-message-copy {
	max-width: 680px;
}

.mz-philosophy-message-en {
	margin: 0 0 38px;
	color: var(--mz-ph-purple);
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}

.mz-philosophy-message-copy h2 {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(36px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .08em;
}

.mz-philosophy-message-text {
	margin-top: 48px;
	color: #5f5f5f;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-philosophy-message-text p {
	margin: 0 0 22px;
}

.mz-philosophy-message-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
	PHILOSOPHY NEXT LINKS
================================================== */

.mz-philosophy-next {
	padding-top: 120px;
	padding-bottom: 120px;
	background: #ffffff;
}

.mz-philosophy-next-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 190px;
	padding: 48px 55px;
	border-top: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	transition:
		color .4s ease,
		background .4s ease;
}

.mz-philosophy-next .col-lg-6:first-child .mz-philosophy-next-link {
	border-right: 1px solid #d9d9d9;
}

.mz-philosophy-next-link:hover {
	color: #ffffff;
	background: var(--mz-ph-purple);
}

.mz-philosophy-next-en {
	margin: 0 0 13px;
	font-family: 'Jost', sans-serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
}

.mz-philosophy-next-jp {
	margin: 0;
	color: #888888;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: .09em;
	transition: color .4s ease;
}

.mz-philosophy-next-link:hover .mz-philosophy-next-jp {
	color: rgba(255,255,255,.72);
}

.mz-philosophy-next-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	font-family: 'Jost', sans-serif;
	font-size: 17px;
	transition:
		color .4s ease,
		border-color .4s ease,
		transform .4s ease;
}

.mz-philosophy-next-link:hover .mz-philosophy-next-arrow {
	color: #ffffff;
	border-color: rgba(255,255,255,.65);
	transform: translateX(5px);
}


/* ==================================================
	PHILOSOPHY 1200px
================================================== */

@media (max-width: 1199.98px) {

	.mz-philosophy-intro-copy {
		padding-right: 35px;
	}

	.mz-philosophy-intro-photo {
		height: 500px;
	}

	.mz-philosophy-flow-item {
		padding-right: 26px;
	}

	.mz-philosophy-flow-row > div:not(:first-child) .mz-philosophy-flow-item {
		padding-left: 26px;
	}

	.mz-philosophy-integrated-image {
		padding-right: 45px;
	}

	.mz-philosophy-integrated-image img {
		height: 590px;
	}

	.mz-philosophy-integrated-copy {
		padding-left: 35px;
	}

}


/* ==================================================
	PHILOSOPHY TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-philosophy-intro,
	.mz-philosophy-flow,
	.mz-philosophy-integrated,
	.mz-philosophy-principles {
		padding-top: 110px;
		padding-bottom: 110px;
	}

	.mz-philosophy-intro-copy {
		padding-right: 0;
	}

	.mz-philosophy-intro-gallery {
		margin-top: 70px;
		padding-left: 0;
	}

	.mz-philosophy-intro-photo {
		height: 520px;
	}

	.mz-philosophy-flow-row > div {
		margin-bottom: 55px;
	}

	.mz-philosophy-flow-row > div:last-child {
		margin-bottom: 0;
	}

	.mz-philosophy-flow-item,
	.mz-philosophy-flow-row > div:not(:first-child) .mz-philosophy-flow-item {
		min-height: 0;
		padding: 0 0 45px;
		border-right: none;
		border-bottom: 1px solid #d9d5d0;
	}

	.mz-philosophy-flow-row > div:last-child .mz-philosophy-flow-item {
		padding-bottom: 0;
		border-bottom: none;
	}

	.mz-philosophy-flow-no {
		margin-bottom: 30px;
	}

	.mz-philosophy-flow-text {
		max-width: 620px;
	}

	.mz-philosophy-integrated-image {
		margin-left: 0;
		padding-right: 0;
	}

	.mz-philosophy-integrated-image img {
		height: 580px;
	}

	.mz-philosophy-integrated-copy {
		max-width: none;
		margin-top: 70px;
		padding-left: 0;
	}

	.mz-philosophy-principle-list {
		margin-top: 55px;
	}

	.mz-philosophy-message {
		min-height: 700px;
	}

	.mz-philosophy-next .col-lg-6:first-child .mz-philosophy-next-link {
		border-right: none;
	}

	.mz-philosophy-next .col-lg-6 + .col-lg-6 .mz-philosophy-next-link {
		border-top: none;
	}

}


/* ==================================================
	PHILOSOPHY SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-philosophy-page .container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.mz-philosophy-intro,
	.mz-philosophy-flow,
	.mz-philosophy-integrated,
	.mz-philosophy-principles {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	.mz-philosophy-kicker {
		margin-bottom: 25px;
		font-size: 11px;
	}

	.mz-philosophy-main-title {
		font-size: clamp(30px, 8.4vw, 40px);
	}

	.mz-philosophy-title-line {
		width: 52px;
		margin-top: 28px;
	}

	.mz-philosophy-lead {
		margin-top: 35px;
		line-height: 2;
	}

	.mz-philosophy-intro-gallery {
		gap: 12px;
		margin-top: 50px;
	}

	.mz-philosophy-intro-photo {
		height: 340px;
	}

	.mz-philosophy-intro-photo--02 {
		margin-top: 45px;
	}

	.mz-philosophy-section-head {
		margin-bottom: 60px;
	}

	.mz-philosophy-section-en {
		font-size: 26px;
	}

	.mz-philosophy-flow-en {
		font-size: 20px;
	}

	.mz-philosophy-integrated-image img {
		height: 430px;
	}

	.mz-philosophy-integrated-caption {
		left: 16px;
		bottom: 16px;
		font-size: 9px;
	}

	.mz-philosophy-integrated-copy {
		margin-top: 55px;
	}

	.mz-philosophy-integrated-copy h2 {
		font-size: clamp(28px, 8vw, 38px);
	}

	.mz-philosophy-integrated-text {
		margin-top: 35px;
		line-height: 2;
	}

	.mz-philosophy-principle {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 15px;
		padding: 32px 0;
	}

	.mz-philosophy-principle-en {
		font-size: 18px;
	}

	.mz-philosophy-message {
		min-height: 680px;
		padding-top: 90px;
		padding-bottom: 90px;
	}

	.mz-philosophy-message-overlay {
		background: linear-gradient(
			90deg,
			rgba(255,255,255,.94) 0%,
			rgba(255,255,255,.78) 62%,
			rgba(255,255,255,.36) 100%
		);
	}

	.mz-philosophy-message-copy h2 {
		font-size: clamp(29px, 8vw, 39px);
	}

	.mz-philosophy-message-text {
		margin-top: 38px;
		line-height: 2;
	}

	.mz-philosophy-next {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.mz-philosophy-next-link {
		min-height: 150px;
		padding: 35px 25px;
	}

	.mz-philosophy-next-en {
		font-size: 21px;
	}

	.mz-philosophy-next-arrow {
		width: 42px;
		height: 42px;
	}

}

/* ==================================================
	MZ&C COMPANY PAGE
================================================== */
.mz-company-page{--mz-company-purple:#6258a8;--mz-company-black:#222;--mz-company-light:#f7f6f3;--mz-company-border:#ddd9d5;width:100%;color:var(--mz-company-black);background:#fff;font-family:'Noto Sans JP',sans-serif;font-weight:300}
.mz-company-page *,.mz-company-page *::before,.mz-company-page *::after{box-sizing:border-box}
.mz-company-page img{display:block;width:100%;height:auto}
.mz-company-page a{color:inherit;text-decoration:none}
.mz-company-page .container{width:100%;max-width:1580px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}

.mz-company-section-head{margin-bottom:55px}
.mz-company-section-en{margin:0 0 10px;color:#222;font-family:'Jost',sans-serif;font-size:31px;font-weight:400;line-height:1;letter-spacing:.09em}
.mz-company-section-jp{margin:0;color:#999;font-size:11px;font-weight:300;line-height:1.6;letter-spacing:.14em}
.mz-company-section-head--light .mz-company-section-en{color:#fff}
.mz-company-section-head--light .mz-company-section-jp{color:rgba(255,255,255,.58)}
.mz-company-copy-title{margin:0;color:#222;font-family:'Noto Sans JP',sans-serif;font-size: clamp(32px, 2.7vw, 42px);font-weight:400;line-height:1.65;letter-spacing:.07em}

/* MESSAGE */
.mz-company-message{padding:170px 0 180px;background:#fff;overflow:hidden}
.mz-company-message-copy{padding-right:70px}
.mz-company-kicker{margin:0 0 35px;color:var(--mz-company-purple);font-family:'Jost',sans-serif;font-size:12px;font-weight:400;line-height:1;letter-spacing:.22em}
.mz-company-main-title{margin:0;color:#222;font-family:'Noto Sans JP',sans-serif;font-size: clamp(35px, 3vw, 42px);font-weight:400;line-height:1.65;letter-spacing:.075em}
.mz-company-title-line{display:block;width:72px;height:1px;margin-top:38px;background:var(--mz-company-purple)}
.mz-company-message-text{margin-top:48px;color:#666;font-size:13px;line-height:2.25;letter-spacing:.055em}
.mz-company-message-text p{margin:0 0 24px}
.mz-company-message-text p:last-child{margin-bottom:0}
.mz-company-message-image{height:660px;overflow:hidden;background:#f2f2f2}
.mz-company-message-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.mz-company-message-image:hover img{transform:scale(1.025)}

/* PROFILE */
.mz-company-profile{padding:165px 0;background:#f7f6f3}
.mz-company-profile-list{margin:0;border-top:1px solid #d8d4cf}
.mz-company-profile-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:35px;padding:27px 0;border-bottom:1px solid #d8d4cf}
.mz-company-profile-row dt{margin:0;color:#777;font-size:12px;font-weight:400;line-height:1.8;letter-spacing:.08em}
.mz-company-profile-row dd{margin:0;color:#222;font-size:13px;line-height:1.8;letter-spacing:.05em}

/* HISTORY */
.mz-company-history{padding:175px 0 180px;background:#fff}
.mz-company-history-list{border-top:1px solid #dedad5}
.mz-company-history-item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:45px;padding:35px 0;border-bottom:1px solid #dedad5}
.mz-company-history-year span{display:block;margin:0 0 7px;color:var(--mz-company-purple);font-family:'Jost',sans-serif;font-size:30px;font-weight:400;line-height:1;letter-spacing:.05em}
.mz-company-history-year small{display:block;color:#999;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.18em}
.mz-company-history-content h3{margin:0 0 12px;color:#222;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:.07em}
.mz-company-history-content p{margin:0;color:#6d6d6d;font-size:13px;line-height:1.9;letter-spacing:.045em}

/* BUSINESS */
.mz-company-business{padding:170px 0 185px;background:#f7f6f3}
.mz-company-business-lead{align-items:end;margin-bottom:90px}
.mz-company-business-description{max-width:500px;margin:0 0 4px auto;color:#666;font-size:13px;line-height:2.15;letter-spacing:.05em}
.mz-company-business-grid{align-items:stretch}
.mz-company-business-grid>div{display:flex}
.mz-company-business-item{width:100%;min-height:355px;padding:0 35px 35px 0}
.mz-company-business-grid>div:not(:first-child) .mz-company-business-item{padding-left:35px}
.mz-company-business-grid>div:not(:last-child) .mz-company-business-item{border-right:1px solid #d8d4cf}
.mz-company-business-no{margin:0 0 45px;color:var(--mz-company-purple);font-family:'Jost',sans-serif;font-size:13px;font-weight:400;letter-spacing:.12em}
.mz-company-business-en{margin:0 0 13px;color:#222;font-family:'Jost',sans-serif;font-size:20px;font-weight:400;line-height:1.15;letter-spacing:.08em}
.mz-company-business-item h3{margin:0 0 25px;color:#888;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.1em}
.mz-company-business-item>p:last-child{margin:0;color:#696969;font-size:13px;line-height:2;letter-spacing:.04em}

/* DIVISIONS */
.mz-company-divisions{padding:175px 0 185px;color:#fff;background:#222}
.mz-company-divisions-intro{align-items:end;margin-bottom:90px}
.mz-company-divisions-title{margin:0;color:#fff;font-size: clamp(34px, 3vw, 42px);font-weight:400;line-height:1.65;letter-spacing:.08em}
.mz-company-divisions-lead{color:rgba(255,255,255,.68);font-size:13px;line-height:2.2;letter-spacing:.05em}
.mz-company-divisions-lead p{margin:0 0 20px}
.mz-company-divisions-lead p:last-child{margin-bottom:0}
.mz-company-divisions-list{border-top:1px solid rgba(255,255,255,.18)}
.mz-company-division{display:grid;grid-template-columns:65px 250px minmax(0,1fr);gap:35px;padding:42px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.mz-company-division-no{margin:6px 0 0;color:rgba(255,255,255,.58);font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.12em}
.mz-company-division-en{margin:0 0 12px;color:#fff;font-family:'Jost',sans-serif;font-size:22px;font-weight:400;letter-spacing:.1em}
.mz-company-division-title h3{margin:0;color:rgba(255,255,255,.68);font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.11em}
.mz-company-division-text{max-width:700px;color:rgba(255,255,255,.66);font-size:13px;line-height:2.05;letter-spacing:.045em}
.mz-company-division-text p{margin:0 0 18px}
.mz-company-division-text p:last-child{margin-bottom:0}

/* MEMBERSHIP */
.mz-company-membership{padding:155px 0;background:#fff}
.mz-company-membership-list{border-top:1px solid #dedad5}
.mz-company-membership-item{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0;border-bottom:1px solid #dedad5;color:#222;font-size:14px;line-height:1.7;letter-spacing:.055em;transition:color .3s ease,padding-left .4s cubic-bezier(.19,1,.22,1)}
.mz-company-membership-item:hover{padding-left:12px;color:var(--mz-company-purple)}

/* ACCESS */
.mz-company-access{padding:165px 0 175px;background:#f7f6f3}
.mz-company-access-info{height:100%;padding:55px 50px;background:#fff}
.mz-company-access-place{margin:0 0 35px;color:var(--mz-company-purple);font-family:'Jost',sans-serif;font-size:12px;font-weight:400;letter-spacing:.2em}
.mz-company-access-info h2{margin:0 0 38px;color:#222;font-size:clamp(28px,2.3vw,40px);font-weight:400;line-height:1.6;letter-spacing:.07em}
.mz-company-access-info address{margin:0 0 35px;color:#666;font-style:normal;font-size:13px;line-height:2;letter-spacing:.05em}
.mz-company-access-info dl{margin:0;padding-top:28px;border-top:1px solid #dedad5}
.mz-company-access-info dl>div{display:grid;grid-template-columns:50px minmax(0,1fr);gap:18px;margin-bottom:10px}
.mz-company-access-info dt{margin:0;color:#999;font-family:'Jost',sans-serif;font-size:11px;font-weight:400;letter-spacing:.12em}
.mz-company-access-info dd{margin:0;color:#333;font-family:'Jost',sans-serif;font-size:13px;font-weight:400;letter-spacing:.05em}
.mz-company-map{width:100%;height:100%;min-height:560px;overflow:hidden;background:#e8e8e8}
.mz-company-map iframe{display:block;width:100%;height:100%;min-height:560px;border:0;filter:grayscale(1) contrast(.92)}

/* NEXT */
.mz-company-next{padding:120px 0;background:#fff}
.mz-company-next-link{display:flex;align-items:center;justify-content:space-between;min-height:190px;padding:48px 55px;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;transition:color .4s ease,background .4s ease}
.mz-company-next .col-lg-6:first-child .mz-company-next-link{border-right:1px solid #d9d9d9}
.mz-company-next-link:hover{color:#fff;background:var(--mz-company-purple)}
.mz-company-next-en{margin:0 0 13px;font-family:'Jost',sans-serif;font-size:25px;font-weight:400;letter-spacing:.1em}
.mz-company-next-jp{margin:0;color:#888;font-size:11px;letter-spacing:.09em}
.mz-company-next-link:hover .mz-company-next-jp{color:rgba(255,255,255,.72)}
.mz-company-next-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #ccc;border-radius:50%;font-family:'Jost',sans-serif;font-size:17px;transition:.4s}
.mz-company-next-link:hover .mz-company-next-arrow{border-color:rgba(255,255,255,.65);transform:translateX(5px)}

@media(max-width:991.98px){
.mz-company-message,.mz-company-profile,.mz-company-history,.mz-company-business,.mz-company-divisions,.mz-company-membership,.mz-company-access{padding-top:110px;padding-bottom:110px}
.mz-company-message-copy{padding-right:0}
.mz-company-message-image{height:560px;margin-top:70px}
.mz-company-history-list{margin-top:65px}
.mz-company-business-description{max-width:none;margin:38px 0 0}
.mz-company-business-grid>div{margin-bottom:55px}
.mz-company-business-item,.mz-company-business-grid>div:not(:first-child) .mz-company-business-item{min-height:0;padding:0 0 45px;border-right:none;border-bottom:1px solid #d8d4cf}
.mz-company-divisions-lead{margin-top:55px}
.mz-company-division{grid-template-columns:55px minmax(0,1fr);gap:22px}
.mz-company-division-title,.mz-company-division-text{grid-column:2}
.mz-company-map{margin-top:30px}
.mz-company-next .col-lg-6:first-child .mz-company-next-link{border-right:none}
.mz-company-next .col-lg-6+.col-lg-6 .mz-company-next-link{border-top:none}
}

@media(max-width:767.98px){
.mz-company-page .container{padding-left:18px;padding-right:18px}
.mz-company-message,.mz-company-profile,.mz-company-history,.mz-company-business,.mz-company-divisions,.mz-company-membership,.mz-company-access{padding-top:85px;padding-bottom:85px}
.mz-company-main-title{font-size:clamp(28px,8vw,38px)}
.mz-company-message-image{height:420px;margin-top:50px}
.mz-company-section-en{font-size:26px}
.mz-company-profile-row{grid-template-columns:1fr;gap:8px;padding:22px 0}
.mz-company-history-item{grid-template-columns:95px minmax(0,1fr);gap:20px;padding:28px 0}
.mz-company-history-year span{font-size:24px}
.mz-company-divisions-title{font-size:clamp(28px,8vw,38px)}
.mz-company-division{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:32px 0}
.mz-company-membership-item{padding:24px 0;font-size:13px}
.mz-company-access-info{padding:40px 28px}
.mz-company-map,.mz-company-map iframe{min-height:390px}
.mz-company-next{padding-top:70px;padding-bottom:70px}
.mz-company-next-link{min-height:150px;padding:35px 25px}
.mz-company-next-en{font-size:21px}
.mz-company-next-arrow{width:42px;height:42px}
}

/* ==================================================
	ARCHIVE POST LIST
	Lightning G3 / MZ&C
================================================== */

.post-list.vk_posts.vk_posts-mainSection {
	width: 100%;
	margin: 0;
	padding: 0;
}


/* ==================================================
	POST ITEM
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(320px, 38%) minmax(0, 1fr);
	gap: clamp(45px, 5vw, 90px);
	align-items: center;
	width: 100%;
	margin: 0 !important;
	padding: 55px 0 !important;
	background: transparent;
	border: none;
	border-top: 1px solid #dedede;
	border-radius: 0;
	box-shadow: none !important;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post:last-child {
	border-bottom: 1px solid #dedede;
}


/* ==================================================
	IMAGE
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter {
	position: relative;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background-color: #f5f5f5;
	background-image: none !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter::before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 64%;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter > a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter_img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}

.post-list.vk_posts.vk_posts-mainSection .vk_post:hover .vk_post_imgOuter_img {
	transform: scale(1.035);
}

.post-list.vk_posts.vk_posts-mainSection .card-img-overlay {
	display: none;
}


/* ==================================================
	POST BODY
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_body {
	display: block;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}


/* ==================================================
	TITLE
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_title {
	margin: 0 0 20px !important;
	padding: 0;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .045em;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_title a {
	color: #222222 !important;
	text-decoration: none !important;
	transition: color .3s ease;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_title a:hover {
	color: #6258a8 !important;
}


/* ==================================================
	DATE
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_dates {
	margin: 0 0 25px;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_date {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #999999;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .08em;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_date i {
	color: #6258a8;
	font-size: 11px;
}


/* ==================================================
	EXCERPT
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_excerpt {
	max-width: 720px;
	margin: 0 !important;
	color: #666666;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.05;
	letter-spacing: .04em;
}


/* ==================================================
	READ MORE
================================================== */

.post-list.vk_posts.vk_posts-mainSection .vk_post_btnOuter {
	margin-top: 30px !important;
	text-align: left !important;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 0 50px 10px 0 !important;
	color: #222222 !important;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .13em;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: color .3s ease;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #222222;
	transition: background .3s ease;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn::after {
	content: "→";
	display: inline-block;
	margin-left: 14px;
	font-family: 'Jost', sans-serif;
	font-size: 15px;
	transition: transform .35s ease;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn:hover {
	color: #6258a8 !important;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn:hover::before {
	background: #6258a8;
}

.post-list.vk_posts.vk_posts-mainSection .vk_post_btn:hover::after {
	transform: translateX(5px);
}


/* ==================================================
	PAGINATION
================================================== */

.navigation.pagination {
	margin-top: 90px;
}

.navigation.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.navigation.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 10px;
	color: #555555;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 0;
	transition:
		color .3s ease,
		background .3s ease,
		border-color .3s ease;
}

.navigation.pagination .page-numbers.current,
.navigation.pagination a.page-numbers:hover {
	color: #ffffff;
	background: #6258a8;
	border-color: #6258a8;
}


/* ==================================================
	PC
================================================== */

@media (min-width: 992px) {

	.post-list.vk_posts.vk_posts-mainSection .vk_post {
		min-height: 350px;
	}

}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	.post-list.vk_posts.vk_posts-mainSection .vk_post {
		grid-template-columns: minmax(240px, 40%) minmax(0, 1fr);
		gap: 35px;
		padding: 42px 0 !important;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_title {
		font-size: 23px;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_excerpt {
		font-size: 12px;
		line-height: 1.9;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.post-list.vk_posts.vk_posts-mainSection .vk_post {
		display: block !important;
		padding: 35px 0 40px !important;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter {
		margin-bottom: 28px !important;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_imgOuter::before {
		padding-top: 68%;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_title {
		margin-bottom: 15px !important;
		font-size: 21px;
		line-height: 1.5;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_dates {
		margin-bottom: 18px;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_excerpt {
		font-size: 12px;
		line-height: 1.9;
	}

	.post-list.vk_posts.vk_posts-mainSection .vk_post_btnOuter {
		margin-top: 22px !important;
	}

	.navigation.pagination {
		margin-top: 60px;
	}

	.navigation.pagination .nav-links {
		gap: 5px;
	}

	.navigation.pagination .page-numbers {
		min-width: 39px;
		height: 39px;
		padding-right: 8px;
		padding-left: 8px;
	}

}

.comments-area {
    display:none;
}

/* ==================================================
	EXHIBITION ARCHIVE
	CPT UI : exhibition
	1 COLUMN
================================================== */

/* Lightningの通常コンテンツ幅を解除 */
.post-type-archive-exhibition .site-body {
	padding-top: 0;
}

.post-type-archive-exhibition .site-body-container {
	width: 100%;
	max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

.post-type-archive-exhibition .main-section {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	padding-right: 0;
	padding-left: 0;
}

/* 専用テンプレートではサイドバーを使用しない */
.post-type-archive-exhibition .sub-section {
	display: none;
}


/* ==================================================
	ARCHIVE SECTION
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive {
	padding-top: 110px;
	padding-bottom: 145px;
	background: #f7f6f3;
}

.post-type-archive-exhibition .mz-exhibition-archive > .container {
	width: 100%;
	max-width: 1580px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 24px;
	padding-left: 24px;
}


/* ==================================================
	ARCHIVE INTRO
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive-head {
	margin-bottom: 65px;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-intro {
	max-width: 620px;
	margin-top: 0;
	margin-bottom: 0;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-intro p {
	margin: 0;
	color: #777777;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.1;
	letter-spacing: .05em;
}


/* ==================================================
	ARCHIVE GRID
	PCも1列
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-grid {
	display: block;
	margin-right: 0;
	margin-left: 0;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-grid > .col-12 {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-bottom: 32px;
	padding-right: 0;
	padding-left: 0;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-grid > .col-12:last-child {
	margin-bottom: 0;
}


/* ==================================================
	ARCHIVE CARD
	トップページの展示会カードデザインをそのまま使用
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card {
	display: grid;
	grid-template-columns: 30% 70%;
	width: 100%;
	min-height: 300px;
	margin-bottom: 0;
	background: #ffffff;
	border: 1px solid #e5e1dc;
	overflow: hidden;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card-image {
	min-height: 300px;
}

.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card-body {
	min-width: 0;
}


/* ==================================================
	ARCHIVE PAGINATION
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive-pagination {
	margin-top: 85px;
}

.post-type-archive-exhibition .mz-exhibition-archive-pagination .navigation.pagination {
	margin-top: 0;
	margin-bottom: 0;
}

.post-type-archive-exhibition .mz-exhibition-archive-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.post-type-archive-exhibition .mz-exhibition-archive-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	color: #555555;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 0;
	transition:
		color .3s ease,
		background .3s ease,
		border-color .3s ease;
}

.post-type-archive-exhibition .mz-exhibition-archive-pagination .page-numbers.current,
.post-type-archive-exhibition .mz-exhibition-archive-pagination a.page-numbers:hover {
	color: #ffffff;
	background: #6258a8;
	border-color: #6258a8;
}

.post-type-archive-exhibition .mz-exhibition-archive-pagination .prev,
.post-type-archive-exhibition .mz-exhibition-archive-pagination .next {
	width: auto;
	padding-right: 20px;
	padding-left: 20px;
}


/* ==================================================
	NO POSTS
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive-empty {
	padding: 90px 30px;
	text-align: center;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.post-type-archive-exhibition .mz-exhibition-archive-empty p {
	margin: 0;
	color: #777777;
	font-size: 13px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .05em;
}


/* ==================================================
	EXHIBITION ARCHIVE TABLET
================================================== */

@media (max-width: 991.98px) {

	.post-type-archive-exhibition .mz-exhibition-archive {
		padding-top: 85px;
		padding-bottom: 105px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-head {
		margin-bottom: 50px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-grid > .col-12 {
		margin-bottom: 28px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card {
		grid-template-columns: 1fr;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card-image {
		min-height: 360px;
		border-right: none;
		border-bottom: 1px solid #ede9e4;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-pagination {
		margin-top: 65px;
	}

}


/* ==================================================
	EXHIBITION ARCHIVE SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.post-type-archive-exhibition .mz-exhibition-archive {
		padding-top: 65px;
		padding-bottom: 80px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive > .container {
		padding-right: 18px;
		padding-left: 18px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-head {
		margin-bottom: 40px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-intro p {
		font-size: 12px;
		line-height: 1.95;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-grid > .col-12 {
		margin-bottom: 22px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive .mz-exhibition-card-image {
		min-height: 280px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-pagination {
		margin-top: 50px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-pagination .nav-links {
		gap: 5px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-pagination .page-numbers {
		min-width: 39px;
		height: 39px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.post-type-archive-exhibition .mz-exhibition-archive-pagination .prev,
	.post-type-archive-exhibition .mz-exhibition-archive-pagination .next {
		padding-right: 12px;
		padding-left: 12px;
	}

}

/* ==================================================
	EXHIBITION ARCHIVE
	WIDTH ADJUSTMENT
================================================== */

.post-type-archive-exhibition .mz-exhibition-archive > .container {
	max-width: 1280px;
}


/* PC */
@media (min-width: 992px) {

	.post-type-archive-exhibition
	.mz-exhibition-archive
	.mz-exhibition-card {
		grid-template-columns: 34% 66%;
		min-height: 340px;
	}

	.post-type-archive-exhibition
	.mz-exhibition-archive
	.mz-exhibition-card-image {
		min-height: 340px;
	}

}

/* ==================================================
	EXHIBITION SINGLE
	CPT UI : exhibition
================================================== */

/* Lightningの通常レイアウト調整 */
.single-exhibition .site-body {
	padding-top: 0;
}

.single-exhibition .site-body-container {
	width: 100%;
	max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

.single-exhibition .main-section {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	padding: 0;
}

.single-exhibition .sub-section {
	display: none;
}


/* ==================================================
	ENTRY
================================================== */

.single-exhibition article.entry {
	width: calc(100% - 48px);
	max-width: 1120px;
	margin: 0 auto;
	padding: 110px 0 120px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	background: #ffffff;
}


/* ==================================================
	ENTRY HEADER
================================================== */

.single-exhibition .entry-header {
	position: relative;
	margin: 0 0 70px;
	padding: 0 0 42px;
	border-bottom: 1px solid #dedede;
}

.single-exhibition .entry-header::before {
	content: "EXHIBITION";
	display: block;
	margin: 0 0 24px;
	color: #6258a8;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}


/* ==================================================
	ENTRY META
================================================== */

.single-exhibition .entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 24px;
	margin: 0 0 28px;
	color: #999999;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .08em;
}

.single-exhibition .entry-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
}

.single-exhibition .entry-meta-item i {
	color: #6258a8;
	font-size: 11px;
}

/* 更新日時と投稿者は今回のデザインでは非表示 */
.single-exhibition .entry-meta-item-updated,
.single-exhibition .entry-meta-item-author {
	display: none !important;
}


/* ==================================================
	ENTRY TITLE
================================================== */

.single-exhibition .entry-title {
	max-width: 900px;
	margin: 0;
	padding: 0;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 4vw, 38px);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: .035em;
	border: none;
}

.single-exhibition .entry-title::before,
.single-exhibition .entry-title::after {
	display: none !important;
}


/* ==================================================
	ENTRY BODY
================================================== */

.single-exhibition .entry-body {
	width: 100%;
	max-width: 860px;
	margin: 0;
	padding: 0;
	color: #555555;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: .055em;
}

.single-exhibition .entry-body > *:first-child {
	margin-top: 0;
}

.single-exhibition .entry-body > *:last-child {
	margin-bottom: 0;
}

.single-exhibition .entry-body p {
	margin: 0 0 28px;
}

.single-exhibition .entry-body h2 {
	margin: 70px 0 28px;
	padding: 0 0 18px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .06em;
	border-bottom: 1px solid #dedede;
}

.single-exhibition .entry-body h3 {
	margin: 50px 0 22px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .06em;
}

.single-exhibition .entry-body a {
	color: #6258a8;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.single-exhibition .entry-body a:hover {
	color: #3f3a72;
}

.single-exhibition .entry-body img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 42px 0;
}


/* ==================================================
	POST NAVIGATION
================================================== */

.single-exhibition .netc-post-navigation {
	width: calc(100% - 48px);
	max-width: 1120px;
	margin: 0 auto 140px;
	padding: 0;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.single-exhibition .netc-post-navigation-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: stretch;
	width: 100%;
	min-height: 92px;
}


/* ==================================================
	NAV ITEM
================================================== */

.single-exhibition .netc-post-nav {
	position: relative;
	display: flex;
	align-items: stretch;
	min-width: 0;
}

.single-exhibition .netc-post-nav + .netc-post-nav {
	border-left: 1px solid #dedede;
}


/* ==================================================
	NAV LINK
================================================== */

.single-exhibition .netc-post-nav-link {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 92px;
	padding: 0 34px;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .12em;
	text-decoration: none;
	background: #ffffff;
	transition:
		color .3s ease,
		background .3s ease;
}

.single-exhibition .netc-post-nav-link:hover {
	color: #6258a8;
	background: #faf9f7;
}


/* ==================================================
	PREV
================================================== */

.single-exhibition .netc-post-nav--prev .netc-post-nav-link {
	justify-content: flex-start;
}


/* ==================================================
	ARCHIVE
================================================== */

.single-exhibition .netc-post-nav--archive .netc-post-nav-link {
	justify-content: center;
	gap: 16px;
}


/* ==================================================
	NEXT
================================================== */

.single-exhibition .netc-post-nav--next .netc-post-nav-link {
	justify-content: flex-end;
}


/* ==================================================
	NAV ICON
================================================== */

.single-exhibition .netc-post-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	color: #6258a8;
	font-size: 12px;
}

.single-exhibition .netc-post-nav--prev .netc-post-nav-icon {
	margin-right: 14px;
}

.single-exhibition .netc-post-nav--next .netc-post-nav-icon {
	margin-left: 14px;
}


/* ==================================================
	ARCHIVE LIST ICON
================================================== */

.single-exhibition .netc-post-nav-list-icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 18px;
	flex: 0 0 18px;
}

.single-exhibition .netc-post-nav-list-icon span {
	display: block;
	width: 18px;
	height: 1px;
	background: #6258a8;
}


/* ==================================================
	DISABLED
================================================== */

.single-exhibition .netc-post-nav-link--disabled {
	color: #c8c8c8;
	cursor: default;
	pointer-events: none;
}

.single-exhibition .netc-post-nav-link--disabled .netc-post-nav-icon {
	color: #cccccc;
}


/* ==================================================
	EXHIBITION SINGLE TABLET
================================================== */

@media (max-width: 991.98px) {

	.single-exhibition article.entry {
		width: calc(100% - 36px);
		padding-top: 85px;
		padding-bottom: 90px;
	}

	.single-exhibition .entry-header {
		margin-bottom: 55px;
		padding-bottom: 34px;
	}

	.single-exhibition .entry-title {
		font-size: clamp(30px, 6vw, 42px);
	}

	.single-exhibition .entry-body {
		max-width: 100%;
	}

	.single-exhibition .netc-post-navigation {
		width: calc(100% - 36px);
		margin-bottom: 100px;
	}

}


/* ==================================================
	EXHIBITION SINGLE SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.single-exhibition article.entry {
		width: calc(100% - 36px);
		padding-top: 65px;
		padding-bottom: 70px;
	}

	.single-exhibition .entry-header {
		margin-bottom: 42px;
		padding-bottom: 28px;
	}

	.single-exhibition .entry-header::before {
		margin-bottom: 18px;
		font-size: 10px;
	}

	.single-exhibition .entry-meta {
		margin-bottom: 20px;
		font-size: 10px;
	}

	.single-exhibition .entry-title {
		font-size: clamp(27px, 8vw, 36px);
		line-height: 1.45;
	}

	.single-exhibition .entry-body {
		font-size: 13px;
		line-height: 2.05;
	}

	.single-exhibition .entry-body p {
		margin-bottom: 24px;
	}

	.single-exhibition .entry-body h2 {
		margin-top: 55px;
		font-size: 23px;
	}

	.single-exhibition .entry-body h3 {
		margin-top: 42px;
		font-size: 18px;
	}

	.single-exhibition .netc-post-navigation {
		width: calc(100% - 36px);
		margin-bottom: 80px;
	}

	.single-exhibition .netc-post-navigation-inner {
		grid-template-columns: 1fr 1fr 1fr;
		min-height: 72px;
	}

	.single-exhibition .netc-post-nav-link {
		min-height: 72px;
		padding: 0 12px;
		font-size: 10px;
		letter-spacing: .06em;
	}

	.single-exhibition .netc-post-nav-icon {
		width: 22px;
		height: 22px;
		flex-basis: 22px;
		font-size: 10px;
	}

	.single-exhibition .netc-post-nav--prev .netc-post-nav-icon {
		margin-right: 7px;
	}

	.single-exhibition .netc-post-nav--next .netc-post-nav-icon {
		margin-left: 7px;
	}

	.single-exhibition .netc-post-nav--archive .netc-post-nav-link {
		gap: 8px;
	}

	.single-exhibition .netc-post-nav-list-icon,
	.single-exhibition .netc-post-nav-list-icon span {
		width: 14px;
	}

}

/* ==================================================
	NORMAL POST SINGLE
	WordPress Post / MZ&C NEWS
	SIDEBAR ENABLED
================================================== */

/* ==================================================
	LAYOUT
================================================== */

.single-post .site-body {
	padding-top: 0;
}

.single-post .site-body-container {
	width: 100%;
}

.single-post .main-section--col--two {
	min-width: 0;
}

.single-post .sub-section {
	display: block;
}


/* ==================================================
	ENTRY
================================================== */

.single-post article.entry {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 90px 0 100px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	background: #ffffff;
}


/* ==================================================
	ENTRY HEADER
================================================== */

.single-post .entry-header {
	position: relative;
	margin: 0 0 60px;
	padding: 0 0 38px;
	border-bottom: 1px solid #dedede;
}

.single-post .entry-header::before {
	content: "NEWS";
	display: block;
	margin: 0 0 22px;
	color: #6258a8;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}


/* ==================================================
	ENTRY META
================================================== */

.single-post .entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 22px;
	margin: 0 0 25px;
	color: #999999;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .08em;
}

.single-post .entry-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
}

.single-post .entry-meta-item i {
	color: #6258a8;
	font-size: 11px;
}

.single-post .entry-meta-item-updated,
.single-post .entry-meta-item-author {
	display: none !important;
}


/* ==================================================
	ENTRY TITLE
================================================== */

.single-post .entry-title {
	margin: 0;
	padding: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .055em;
	border: none;
}

.single-post .entry-title::before,
.single-post .entry-title::after {
	display: none !important;
}


/* ==================================================
	ENTRY BODY
================================================== */

.single-post .entry-body {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #555555;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.single-post .entry-body > *:first-child {
	margin-top: 0;
}

.single-post .entry-body > *:last-child {
	margin-bottom: 0;
}

.single-post .entry-body p {
	margin: 0 0 28px;
}

.single-post .entry-body strong {
	color: #333333;
	font-weight: 500;
}

.single-post .entry-body h2 {
	margin: 70px 0 28px;
	padding: 0 0 18px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(24px, 2vw, 30px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .06em;
	border-bottom: 1px solid #dedede;
}

.single-post .entry-body h3 {
	position: relative;
	margin: 50px 0 22px;
	padding-left: 18px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .06em;
}

.single-post .entry-body h3::before {
	content: "";
	position: absolute;
	top: .25em;
	bottom: .25em;
	left: 0;
	width: 2px;
	background: #6258a8;
}

.single-post .entry-body h4 {
	margin: 42px 0 18px;
	color: #333333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: .05em;
}

.single-post .entry-body a {
	color: #6258a8;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: color .3s ease;
}

.single-post .entry-body a:hover {
	color: #3f3a72;
}

.single-post .entry-body ul,
.single-post .entry-body ol {
	margin: 28px 0;
	padding-left: 1.5em;
}

.single-post .entry-body li {
	margin-bottom: 10px;
	line-height: 1.9;
}

.single-post .entry-body blockquote {
	margin: 42px 0;
	padding: 25px 30px;
	color: #666666;
	background: #f7f6f3;
	border: none;
	border-left: 2px solid #6258a8;
}

.single-post .entry-body img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 42px 0;
}

.single-post .entry-body figure {
	max-width: 100%;
	margin: 42px 0;
}

.single-post .entry-body figure img {
	margin: 0;
}

.single-post .entry-body figcaption {
	margin-top: 10px;
	color: #999999;
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: .04em;
}

.single-post .entry-body table {
	width: 100%;
	margin: 42px 0;
	border-collapse: collapse;
	font-size: 13px;
}

.single-post .entry-body th,
.single-post .entry-body td {
	padding: 16px 18px;
	border: 1px solid #dedede;
	vertical-align: top;
}

.single-post .entry-body th {
	color: #333333;
	font-weight: 500;
	background: #f7f6f3;
}


/* ==================================================
	ENTRY FOOTER
================================================== */

.single-post .entry-footer {
	width: 100%;
	margin: 60px 0 0;
	padding: 28px 0 0;
	border-top: 1px solid #dedede;
}

.single-post .entry-meta-data-list {
	margin: 0;
}

.single-post .entry-meta-data-list dl {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
}

.single-post .entry-meta-data-list dt {
	margin: 0;
	color: #999999;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
}

.single-post .entry-meta-data-list dd {
	margin: 0;
}

.single-post .entry-meta-data-list dd a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 13px;
	color: #6258a8;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .06em;
	text-decoration: none;
	background: #ffffff;
	border: 1px solid #6258a8;
	transition:
		color .3s ease,
		background .3s ease;
}

.single-post .entry-meta-data-list dd a:hover {
	color: #ffffff;
	background: #6258a8;
}


/* ==================================================
	COMMENTS
================================================== */

.single-post .comments-area {
	width: 100%;
	margin: 0 0 100px;
	padding: 65px 0 0;
	border-top: 1px solid #dedede;
}

.single-post .comment-reply-title {
	margin: 0 0 35px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
}

.single-post .comment-reply-title::before,
.single-post .comment-reply-title::after {
	display: none;
}

.single-post .comment-form {
	color: #666666;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	line-height: 1.9;
}

.single-post .comment-form p {
	margin-bottom: 22px;
}

.single-post .comment-form label {
	display: block;
	margin-bottom: 8px;
	color: #444444;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .04em;
}

.single-post .comment-form textarea,
.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"] {
	width: 100%;
	padding: 14px 16px;
	color: #333333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	background: #ffffff;
	border: 1px solid #d8d8d8;
	border-radius: 0;
	outline: none;
	transition: border-color .3s ease;
}

.single-post .comment-form textarea:focus,
.single-post .comment-form input[type="text"]:focus,
.single-post .comment-form input[type="email"]:focus,
.single-post .comment-form input[type="url"]:focus {
	border-color: #6258a8;
}

.single-post .comment-form textarea {
	min-height: 190px;
	resize: vertical;
}

.single-post .comment-form .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 48px;
	padding: 12px 24px;
	color: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .08em;
	background: #6258a8;
	border: 1px solid #6258a8;
	border-radius: 0;
	transition:
		color .3s ease,
		background .3s ease;
}

.single-post .comment-form .submit:hover {
	color: #6258a8;
	background: #ffffff;
}


/* ==================================================
	POST NAVIGATION
================================================== */

.single-post .netc-post-navigation {
	width: 100%;
	margin: 0 0 120px;
	padding: 0;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.single-post .netc-post-navigation-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: stretch;
	width: 100%;
	min-height: 92px;
}

.single-post .netc-post-nav {
	position: relative;
	display: flex;
	align-items: stretch;
	min-width: 0;
}

.single-post .netc-post-nav + .netc-post-nav {
	border-left: 1px solid #dedede;
}

.single-post .netc-post-nav-link {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 92px;
	padding: 0 25px;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
	text-decoration: none;
	background: #ffffff;
	transition:
		color .3s ease,
		background .3s ease;
}

.single-post .netc-post-nav-link:hover {
	color: #6258a8;
	background: #faf9f7;
}

.single-post .netc-post-nav--prev .netc-post-nav-link {
	justify-content: flex-start;
}

.single-post .netc-post-nav--archive .netc-post-nav-link {
	justify-content: center;
	gap: 14px;
}

.single-post .netc-post-nav--next .netc-post-nav-link {
	justify-content: flex-end;
}

.single-post .netc-post-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	color: #6258a8;
	font-size: 11px;
}

.single-post .netc-post-nav--prev .netc-post-nav-icon {
	margin-right: 10px;
}

.single-post .netc-post-nav--next .netc-post-nav-icon {
	margin-left: 10px;
}

.single-post .netc-post-nav-list-icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 17px;
	flex: 0 0 17px;
}

.single-post .netc-post-nav-list-icon span {
	display: block;
	width: 17px;
	height: 1px;
	background: #6258a8;
}

.single-post .netc-post-nav-link--disabled {
	color: #c8c8c8;
	cursor: default;
	pointer-events: none;
}

.single-post .netc-post-nav-link--disabled .netc-post-nav-icon {
	color: #cccccc;
}


/* ==================================================
	SIDEBAR
================================================== */

.single-post .sub-section {
	padding-top: 90px;
	padding-bottom: 100px;
}

.single-post .sub-section .widget {
	margin-bottom: 50px;
	padding-bottom: 40px;
	border-bottom: 1px solid #dedede;
}

.single-post .sub-section .widget:last-child {
	margin-bottom: 0;
}

.single-post .sub-section .widget-title,
.single-post .sub-section .widgettitle {
	margin: 0 0 25px;
	padding: 0 0 15px;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .08em;
	border: none;
	border-bottom: 1px solid #dedede;
}

.single-post .sub-section ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post .sub-section li {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #eeeeee;
	font-size: 12px;
	line-height: 1.8;
}

.single-post .sub-section li:last-child {
	border-bottom: none;
}

.single-post .sub-section a {
	color: #555555;
	text-decoration: none;
	transition: color .3s ease;
}

.single-post .sub-section a:hover {
	color: #6258a8;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	.single-post article.entry {
		padding-top: 75px;
		padding-bottom: 80px;
	}

	.single-post .sub-section {
		padding-top: 0;
		padding-bottom: 80px;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.single-post article.entry {
		padding-top: 60px;
		padding-bottom: 65px;
	}

	.single-post .entry-header {
		margin-bottom: 42px;
		padding-bottom: 28px;
	}

	.single-post .entry-header::before {
		margin-bottom: 18px;
		font-size: 10px;
	}

	.single-post .entry-meta {
		margin-bottom: 20px;
		font-size: 10px;
	}

	.single-post .entry-title {
		font-size: clamp(27px, 8vw, 36px);
	}

	.single-post .entry-body {
		font-size: 13px;
		line-height: 2.05;
	}

	.single-post .netc-post-navigation {
		margin-bottom: 75px;
	}

	.single-post .netc-post-navigation-inner {
		min-height: 70px;
	}

	.single-post .netc-post-nav-link {
		min-height: 70px;
		padding: 0 10px;
		font-size: 10px;
		letter-spacing: .04em;
	}

	.single-post .sub-section {
		padding-bottom: 65px;
	}

}

/* ==================================================
	GLOBAL CONTENT WIDTH
	MZ&C / ALL PAGES
================================================== */

:root {
	--mz-content-width: 1400px;
	--mz-content-padding: 24px;
}


/* ==================================================
	COMMON CONTENT CONTAINER
================================================== */

/*
	トップページ
	固定ページ
	通常投稿
	各種アーカイブ
	下層ページヘッダー
	パンくず
	展示会アーカイブ
	の外側コンテンツ幅を統一
*/

.mz-home .container,
.mz-about-page .container,
.mz-philosophy-page .container,
.mz-company-page .container,
.mz-page-hero .container,
#breadcrumb .container,
.site-body > .site-body-container.container,
.post-type-archive-exhibition .mz-exhibition-archive > .container {
	width: 100%;
	max-width: var(--mz-content-width);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--mz-content-padding);
	padding-left: var(--mz-content-padding);
}


/* ==================================================
	LIGHTNING MAIN CONTENT
================================================== */

.site-body > .site-body-container.container {
	box-sizing: border-box;
}


/* 通常の1カラムページ */
body:not(.single-post):not(.single-exhibition) .main-section:not(.main-section--col--two) {
	min-width: 0;
}


/* ==================================================
	NORMAL POST
	本文 + サイドバー
================================================== */

.single-post .site-body-container.container {
	max-width: var(--mz-content-width);
	padding-right: var(--mz-content-padding);
	padding-left: var(--mz-content-padding);
}

/*
	Lightning標準の2カラム比率はそのまま使用し、
	外側を1400px基準で統一
*/
.single-post .main-section--col--two {
	min-width: 0;
}

.single-post .sub-section {
	display: block;
}


/* ==================================================
	EXHIBITION ARCHIVE
================================================== */

/*
	以前1280pxに絞っていた展示会一覧も
	他ページと同じ1400pxへ統一
*/
.post-type-archive-exhibition .mz-exhibition-archive > .container {
	max-width: var(--mz-content-width);
}


/* ==================================================
	EXHIBITION SINGLE
================================================== */

/*
	個別展示会は外枠を広げつつ、
	文章自体は読みやすい幅を維持
*/
.single-exhibition article.entry {
	width: calc(100% - 48px);
	max-width: var(--mz-content-width);
}

.single-exhibition .entry-header {
	width: 100%;
}

.single-exhibition .entry-title {
	max-width: 1200px;
}

.single-exhibition .entry-body {
	max-width: 1100px;
}

.single-exhibition .netc-post-navigation {
	width: calc(100% - 48px);
	max-width: var(--mz-content-width);
}


/* ==================================================
	ARCHIVE / DEFAULT PAGE
================================================== */

.archive .site-body-container.container,
.blog .site-body-container.container,
.search .site-body-container.container,
.category .site-body-container.container,
.tag .site-body-container.container,
.single .site-body-container.container,
.page .site-body-container.container {
	max-width: var(--mz-content-width);
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	:root {
		--mz-content-padding: 20px;
	}

	.mz-home .container,
	.mz-about-page .container,
	.mz-philosophy-page .container,
	.mz-company-page .container,
	.mz-page-hero .container,
	#breadcrumb .container,
	.site-body > .site-body-container.container,
	.post-type-archive-exhibition .mz-exhibition-archive > .container {
		padding-right: var(--mz-content-padding);
		padding-left: var(--mz-content-padding);
	}

	.single-exhibition article.entry,
	.single-exhibition .netc-post-navigation {
		width: calc(100% - 40px);
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	:root {
		--mz-content-padding: 18px;
	}

	.mz-home .container,
	.mz-about-page .container,
	.mz-philosophy-page .container,
	.mz-company-page .container,
	.mz-page-hero .container,
	#breadcrumb .container,
	.site-body > .site-body-container.container,
	.post-type-archive-exhibition .mz-exhibition-archive > .container {
		padding-right: var(--mz-content-padding);
		padding-left: var(--mz-content-padding);
	}

	.single-exhibition article.entry,
	.single-exhibition .netc-post-navigation {
		width: calc(100% - 36px);
	}

}

/* ==================================================
	MZ&C FOOTER
================================================== */

.site-footer {
	color: #ffffff;
	background: #1d1d22;
}


/* ==================================================
	FOOTER CONTENT
================================================== */

.site-footer .site-footer-content {
	width: 100%;
	max-width: 1400px;
	margin-right: auto;
	margin-left: auto;
	padding: 85px 24px 80px;
}

.site-footer .site-footer-content > .row {
	align-items: flex-start;
	--bs-gutter-x: 90px;
}


/* ==================================================
	FOOTER WIDGET
================================================== */

.site-footer .widget {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.site-footer .widget::before,
.site-footer .widget::after {
	display: none;
}


/* ==================================================
	LEFT COLUMN
================================================== */

.mz-footer-company {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}


/* ==================================================
	LOGO
================================================== */

.mz-footer-logo {
	margin: 0 0 36px;
	padding: 0;
}

.mz-footer-logo a {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1;
	text-decoration: none;
}

.mz-footer-logo img {
	display: block;
	width: auto;
	max-width: 135px;
	height: auto;
	margin: 0;
	padding: 0;
}


/* ==================================================
	COMPANY INFO
================================================== */

.mz-footer-company-info {
	color: rgba(255,255,255,.68);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.9;
	letter-spacing: .055em;
}

.mz-footer-company-info p {
	margin: 0;
	padding: 0;
}


/* ==================================================
	COMPANY NAME
================================================== */

.mz-footer-company-name {
	margin-bottom: 17px !important;
	color: #ffffff;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .07em;
}


/* ==================================================
	ADDRESS
================================================== */

.mz-footer-address {
	margin-bottom: 21px !important;
}


/* ==================================================
	TEL / FAX
================================================== */

.mz-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0;
	padding: 0;
}

.mz-footer-contact-row {
	display: grid;
	grid-template-columns: 38px auto;
	align-items: center;
	column-gap: 10px;
	min-height: 24px;
	margin: 0;
	padding: 0;
}

.mz-footer-contact-label {
	display: block;
	margin: 0;
	padding: 0;
	color: rgba(255,255,255,.42);
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .12em;
}

.mz-footer-contact-row a,
.mz-footer-contact-row > span:last-child {
	display: block;
	margin: 0;
	padding: 0;
	color: rgba(255,255,255,.72);
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .06em;
	text-decoration: none;
}

.mz-footer-contact-row a {
	transition: color .3s ease;
}

.mz-footer-contact-row a:hover {
	color: #ffffff;
}


/* ==================================================
	INSTAGRAM
================================================== */

.mz-footer-sns {
	margin: 27px 0 0;
	padding: 0;
}

.mz-footer-instagram {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	padding: 0;
	color: rgba(255,255,255,.8);
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .13em;
	text-decoration: none;
	transition: color .3s ease;
}

.mz-footer-instagram i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	color: #ffffff;
	font-size: 17px;
	line-height: 1;
	border: 1px solid rgba(255,255,255,.26);
	border-radius: 50%;
	transition:
		color .3s ease,
		background .3s ease,
		border-color .3s ease;
}

.mz-footer-instagram span {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.mz-footer-instagram:hover {
	color: #ffffff;
}

.mz-footer-instagram:hover i {
	color: #ffffff;
	background: #6258a8;
	border-color: #6258a8;
}


/* ==================================================
	RIGHT NAVIGATION
================================================== */

.site-footer .widget_nav_menu {
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-footer .widget_nav_menu .menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 58px;
	row-gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .widget_nav_menu .menu > li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid rgba(255,255,255,.13);
}

.site-footer .widget_nav_menu .menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 55px;
	margin: 0;
	padding: 0 28px 0 0;
	color: rgba(255,255,255,.82) !important;
	font-family: 'Jost', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .1em;
	text-decoration: none;
	background: transparent !important;
	border: none !important;
	transition:
		color .3s ease,
		padding-left .3s ease;
}

.site-footer .widget_nav_menu .menu > li > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2px;
	width: 18px;
	height: 1px;
	background: rgba(255,255,255,.36);
	transform: translateY(-50%);
	transition:
		width .3s ease,
		background .3s ease;
}

.site-footer .widget_nav_menu .menu > li > a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 2px;
	width: 5px;
	height: 5px;
	border-top: 1px solid rgba(255,255,255,.36);
	border-right: 1px solid rgba(255,255,255,.36);
	transform:
		translateY(-50%)
		rotate(45deg);
	transition:
		border-color .3s ease,
		right .3s ease;
}

.site-footer .widget_nav_menu .menu > li > a:hover {
	color: #ffffff !important;
	padding-left: 5px;
}

.site-footer .widget_nav_menu .menu > li > a:hover::after {
	width: 24px;
	background: #8177ca;
}

.site-footer .widget_nav_menu .menu > li > a:hover::before {
	right: -4px;
	border-color: #8177ca;
}

.site-footer .widget_nav_menu .menu > li.current-menu-item > a,
.site-footer .widget_nav_menu .menu > li.current_page_item > a {
	color: #ffffff !important;
}

.site-footer .widget_nav_menu .menu > li.menu-contact > a,
.site-footer .widget_nav_menu .menu > li.menu-contact > a:hover {
	color: rgba(255,255,255,.82) !important;
	background: transparent !important;
	border: none !important;
}

.site-footer .widget_nav_menu .menu > li.menu-contact > a:hover {
	color: #ffffff !important;
}


/* ==================================================
	FOOTER SUB MENU
	PRODUCTS CATEGORY
================================================== */

.site-footer .widget_nav_menu .menu > li.menu-item-has-children {
	align-self: start;
	padding-bottom: 18px;
}

.site-footer .widget_nav_menu .menu > li.menu-item-has-children > a {
	margin-bottom: 9px;
}

.site-footer .widget_nav_menu .menu > li.menu-item-has-children > a::after {
	width: 14px;
}

.site-footer .widget_nav_menu .menu > li.menu-item-has-children > a:hover::after {
	width: 20px;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	z-index: auto !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 18px;
	row-gap: 0;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 2px 0 0 14px !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	list-style: none;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none !important;
	list-style: none;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 30px;
	margin: 0;
	padding: 3px 0 3px 14px;
	color: rgba(255,255,255,.53) !important;
	background: transparent !important;
	border: none !important;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .11em;
	text-decoration: none;
	transition: color .3s ease, padding-left .3s ease;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 5px;
	height: 1px;
	background: rgba(129,119,202,.72);
	transform: translateY(-50%);
	transition: width .3s ease, background .3s ease;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a::after {
	display: none !important;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a:hover,
.site-footer .widget_nav_menu .menu > li > .sub-menu > li.current-menu-item > a,
.site-footer .widget_nav_menu .menu > li > .sub-menu > li.current_page_item > a {
	color: #ffffff !important;
	padding-left: 18px;
}

.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a:hover::before,
.site-footer .widget_nav_menu .menu > li > .sub-menu > li.current-menu-item > a::before,
.site-footer .widget_nav_menu .menu > li > .sub-menu > li.current_page_item > a::before {
	width: 9px;
	background: #8177ca;
}

.site-footer .widget_nav_menu .menu > li.current-menu-ancestor > a,
.site-footer .widget_nav_menu .menu > li.current-menu-parent > a {
	color: #ffffff !important;
}


/* ==================================================
	COPYRIGHT
================================================== */

.site-footer .site-footer-copyright {
	width: 100%;
	max-width: 1400px;
	margin-right: auto;
	margin-left: auto;
	padding: 27px 24px 30px;
	color: rgba(255,255,255,.42);
	border-top: 1px solid rgba(255,255,255,.12);
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 10px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: .06em;
	text-align: left;
}

.site-footer .site-footer-copyright p {
	margin: 0;
	padding: 0;
}

.site-footer .site-footer-copyright p + p {
	display: none;
}

.site-footer .site-footer-copyright a {
	color: rgba(255,255,255,.55);
	text-decoration: none;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	.site-footer .site-footer-content {
		padding-top: 70px;
		padding-bottom: 65px;
	}

	.site-footer .site-footer-content > .row {
		--bs-gutter-x: 40px;
	}

	.site-footer .site-footer-content .col-lg-6,
	.site-footer .site-footer-content .col-md-6 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.mz-footer-company {
		margin-bottom: 55px;
	}

	.site-footer .widget_nav_menu .menu {
		column-gap: 40px;
	}

	.site-footer .widget_nav_menu .menu > li > .sub-menu {
		column-gap: 16px;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.site-footer .site-footer-content {
		padding: 55px 18px 50px;
	}

	.mz-footer-logo {
		margin-bottom: 28px;
	}

	.mz-footer-logo img {
		max-width: 155px;
	}

	.mz-footer-company-name {
		font-size: 12px;
	}

	.mz-footer-company-info {
		font-size: 11px;
		line-height: 1.85;
	}

	.mz-footer-company {
		margin-bottom: 45px;
	}

	.mz-footer-sns {
		margin-top: 24px;
	}

	.mz-footer-instagram i {
		width: 34px;
		height: 34px;
		font-size: 16px;
	}

	.site-footer .widget_nav_menu .menu {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.site-footer .widget_nav_menu .menu > li > a {
		min-height: 50px;
		font-size: 12px;
	}

	.site-footer .widget_nav_menu .menu > li.menu-item-has-children {
		padding-bottom: 16px;
	}

	.site-footer .widget_nav_menu .menu > li > .sub-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 14px;
		padding-left: 12px !important;
	}

	.site-footer .widget_nav_menu .menu > li > .sub-menu > li > a {
		min-height: 29px;
		font-size: 10px;
		letter-spacing: .09em;
	}

	.site-footer .site-footer-copyright {
		padding: 23px 18px 25px;
		font-size: 9px;
	}

}
/* ==================================================
	PAGE TOP BUTTON
================================================== */

#page_top {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 999;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 54px;
	height: 54px;

	color: #ffffff;
	background: #6258a8;

	border: 1px solid #6258a8;

	text-decoration: none;

	box-shadow:
		0 8px 24px rgba(0, 0, 0, .12);

	transition:
		background .3s ease,
		border-color .3s ease,
		transform .3s ease,
		box-shadow .3s ease;
}


/* ==================================================
	TEXT
================================================== */

#page_top span {
	position: relative;

	display: block;

	width: 1px;
	height: 1px;

	overflow: hidden;

	white-space: nowrap;
}


/* ==================================================
	ARROW
================================================== */

#page_top::before {
	content: "";

	position: absolute;
	top: 16px;
	left: 50%;

	width: 10px;
	height: 10px;

	border-top: 1px solid #ffffff;
	border-left: 1px solid #ffffff;

	transform:
		translateX(-50%)
		rotate(45deg);

	transition:
		top .3s ease,
		border-color .3s ease;
}


/* 縦線 */
#page_top::after {
	content: "";

	position: absolute;
	top: 20px;
	left: 50%;

	width: 1px;
	height: 17px;

	background: #ffffff;

	transform: translateX(-50%);

	transition:
		top .3s ease,
		height .3s ease,
		background .3s ease;
}


/* ==================================================
	HOVER
================================================== */

#page_top:hover {
	color: #6258a8;
	background: #ffffff;

	border-color: #6258a8;

	transform: translateY(-3px);

	box-shadow:
		0 12px 28px rgba(0, 0, 0, .14);
}

#page_top:hover::before {
	top: 13px;

	border-color: #6258a8;
}

#page_top:hover::after {
	top: 17px;
	height: 20px;

	background: #6258a8;
}


/* ==================================================
	FOCUS
================================================== */

#page_top:focus-visible {
	outline: 2px solid #6258a8;
	outline-offset: 3px;
}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	#page_top {
		right: 16px;
		bottom: 16px;

		width: 46px;
		height: 46px;
	}

	#page_top::before {
		top: 13px;

		width: 9px;
		height: 9px;
	}

	#page_top::after {
		top: 17px;
		height: 15px;
	}

	#page_top:hover::before {
		top: 11px;
	}

	#page_top:hover::after {
		top: 15px;
		height: 17px;
	}

}

/* ==================================================
	CONTACT CTA
	BRIGHTER / MORE COMPACT
================================================== */

.mz-contact {
	position: relative;
	overflow: hidden;
	padding-top: 70px;
	padding-bottom: 70px;
	color: #ffffff;
	background: #2a2930;
	text-align: left;
}


/* ==================================================
	CONTACT BACKGROUND
================================================== */

.mz-contact-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image:
		linear-gradient(
			90deg,
			rgba(20, 18, 28, .65) 0%,
			rgba(20, 18, 28, .52) 38%,
			rgba(20, 18, 28, .35) 68%,
			rgba(20, 18, 28, .22) 100%
		),
		url("https://mz-c.jp/WP/wp-content/uploads/2026/10/cta_img05.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transform: scale(1.01);
}


/* ==================================================
	CONTACT CONTAINER
================================================== */

.mz-contact .container {
	position: relative;
	z-index: 2;
}


/* ==================================================
	CONTACT INNER
================================================== */

.mz-contact-inner {
	position: relative;
	width: 100%;
	max-width: 620px;
	margin: 0;
	padding: 34px 42px 38px;
	background: rgba(20, 18, 28, .24);
	border: 1px solid rgba(255, 255, 255, .20);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.mz-contact-inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 72px;
	height: 2px;
	background: #8177ca;
}


/* ==================================================
	CONTACT LABEL
================================================== */

.mz-contact .mz-small-en {
	margin: 0 0 14px;
	color: rgba(255, 255, 255, .76);
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
}


/* ==================================================
	CONTACT TITLE
================================================== */

.mz-contact h2 {
	margin: 0;
	color: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 2.4vw, 38px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .08em;
}


/* ==================================================
	CONTACT DESCRIPTION
================================================== */

.mz-contact-jp {
	margin: 18px 0 24px;
	color: rgba(255, 255, 255, .80);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.9;
	letter-spacing: .06em;
}


/* ==================================================
	CONTACT BUTTON
================================================== */

.mz-contact-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 220px;
	min-height: 48px;
	margin: 0;
	padding: 0 20px;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .14em;
	text-decoration: none;
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .58);
	transition:
		color .35s ease,
		background .35s ease,
		border-color .35s ease;
}

.mz-contact-button > span:last-child,
.mz-contact-button-arrow {
	display: inline-block;
	margin-left: 22px;
	font-size: 14px;
	transition: transform .35s ease;
}

.mz-contact-button:hover {
	color: #222222;
	background: #ffffff;
	border-color: #ffffff;
}

.mz-contact-button:hover > span:last-child,
.mz-contact-button:hover .mz-contact-button-arrow {
	transform: translateX(5px);
}


/* ==================================================
	CONTACT CTA TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-contact {
		padding-top: 58px;
		padding-bottom: 58px;
	}

	.mz-contact-inner {
		max-width: 570px;
		padding: 30px 36px 34px;
	}

	.mz-contact-bg {
		background-position: center center;
	}

}


/* ==================================================
	CONTACT CTA SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-contact {
		padding-top: 42px;
		padding-bottom: 42px;
	}

	.mz-contact-bg {
		background-image:
			linear-gradient(
				180deg,
				rgba(20, 18, 28, .60) 0%,
				rgba(20, 18, 28, .48) 100%
			),
			url("https://mz-c.jp/WP/wp-content/uploads/2026/10/cta_img05.png");
		background-position: center center;
		transform: scale(1.005);
	}

	.mz-contact-inner {
		max-width: 100%;
		padding: 28px 22px 30px;
		background: rgba(20, 18, 28, .22);
	}

	.mz-contact .mz-small-en {
		margin-bottom: 12px;
	}

	.mz-contact h2 {
		font-size: clamp(25px, 7vw, 31px);
		line-height: 1.5;
	}

	.mz-contact-jp {
		margin: 16px 0 22px;
		font-size: 12px;
		line-height: 1.85;
	}

	.mz-contact-button {
		width: 100%;
		min-height: 46px;
	}

}


/* ==================================================
	PRODUCTS CPT
================================================== */

.post-type-archive-products .site-body,
.tax-product_category .site-body,
.single-products .site-body {padding-top:0;}

.post-type-archive-products .site-body-container,
.tax-product_category .site-body-container,
.single-products .site-body-container {
	width:100%;max-width:100%;padding-right:0;padding-left:0;
}

.post-type-archive-products .main-section,
.tax-product_category .main-section,
.single-products .main-section {
	width:100%;max-width:100%;flex:0 0 100%;padding-right:0;padding-left:0;
}

.post-type-archive-products .sub-section,
.tax-product_category .sub-section,
.single-products .sub-section {display:none;}


/* ARCHIVE */
.mz-products-archive {
	padding:105px 0 140px;
	background:#fff;
}
.mz-products-archive > .container {
	width:100%;max-width:var(--mz-content-width,1400px);
	margin:0 auto;padding:0 var(--mz-content-padding,24px);
}
.mz-products-archive-intro {margin-bottom:35px;}
.mz-products-archive-label {
	margin:0 0 20px;color:#6258a8;font-family:'Jost',sans-serif;
	font-size:13px;font-weight:400;line-height:1;letter-spacing:.2em;
}
.mz-products-archive-lead {
	margin:0;color:#666;font-family:'Noto Sans JP',sans-serif;
	font-size:13px;font-weight:300;line-height:2.1;letter-spacing:.055em;display:none;
}

/* FILTER */
.mz-products-filter {
	display:flex;align-items:center;flex-wrap:wrap;width:100%;
	margin:0 0 70px;padding:0;border-top:1px solid #dedede;border-bottom:1px solid #dedede;
}
.mz-products-filter-link {
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:1 1 0;
	min-width:150px;
	min-height:58px;
	padding:0 30px;
	color:#777;
	font-family:'Jost',sans-serif;
	font-size:13px;
	font-weight:400;
	line-height:1;
	letter-spacing:.12em;
	text-decoration:none;
	transition:color .3s ease,background .3s ease;
}
.mz-products-filter-link::after {
	content:"";position:absolute;right:20px;bottom:-1px;left:20px;height:1px;
	background:#6258a8;transform:scaleX(0);transform-origin:center;transition:transform .35s ease;
}
.mz-products-filter-link:hover,
.mz-products-filter-link.is-current {color:#6258a8;}
.mz-products-filter-link:hover::after,
.mz-products-filter-link.is-current::after {transform:scaleX(1);}

/* GRID */
.mz-products-archive-grid {
	display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
	gap:62px 28px;width:100%;
}
.mz-products-archive-card {min-width:0;margin:0;}
.mz-products-archive-card-link {display:block;color:#222;text-decoration:none;}
.mz-products-archive-card-image {
	position:relative;display:flex;align-items:center;justify-content:center;
	width:100%;aspect-ratio:4/3;overflow:hidden;background:#f4f3f1;
}
.mz-products-archive-card-img {
	display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center;
	transition:transform .9s cubic-bezier(.19,1,.22,1);
}
.mz-products-archive-card-link:hover .mz-products-archive-card-img {transform:scale(1.035);}
.mz-products-archive-card-noimage {
	color:#b6b2ad;font-family:'Jost',sans-serif;font-size:22px;font-weight:300;letter-spacing:.16em;
}
.mz-products-archive-card-info {
	display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:start;
	gap:18px;padding-top:22px;
}
.mz-products-archive-card-category {
	margin:0 0 9px;color:#6258a8;font-family:'Jost',sans-serif;
	font-size:10px;font-weight:400;line-height:1;letter-spacing:.15em;
}
.mz-products-archive-card-title {
	margin:0;color:#222;font-family:'Noto Sans JP',sans-serif;
	font-size:16px;font-weight:400;line-height:1.65;letter-spacing:.055em;
}
.mz-products-archive-card-arrow {
	display:flex;align-items:center;justify-content:center;width:36px;height:36px;
	color:#555;font-family:'Jost',sans-serif;font-size:13px;border:1px solid #ccc;
	border-radius:50%;transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s ease;
}
.mz-products-archive-card-link:hover .mz-products-archive-card-arrow {
	color:#fff;background:#6258a8;border-color:#6258a8;transform:translateX(3px);
}

/* PAGINATION */
.mz-products-pagination {margin-top:90px;}
.mz-products-pagination .nav-links {
	display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;
}
.mz-products-pagination .page-numbers {
	display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
	padding:0 12px;color:#666;font-family:'Jost',sans-serif;font-size:11px;
	letter-spacing:.08em;text-decoration:none;background:#fff;border:1px solid #dedede;
}
.mz-products-pagination .page-numbers:hover,
.mz-products-pagination .page-numbers.current {color:#fff;background:#6258a8;border-color:#6258a8;}
.mz-products-pagination .prev,
.mz-products-pagination .next {min-width:70px;}
.mz-products-empty {
	padding:75px 0;color:#777;font-size:13px;line-height:2;text-align:center;
	border-top:1px solid #dedede;border-bottom:1px solid #dedede;
}

/* SINGLE */
.mz-product-detail {
	width:calc(100% - 48px);max-width:var(--mz-content-width,1400px);
	margin:0 auto;padding:105px 0 110px;color:#222;font-family:'Noto Sans JP',sans-serif;
}
.mz-product-detail-header {
	margin:0 0 65px;padding:0 0 38px;border-bottom:1px solid #dedede;
}
.mz-product-detail-category {
	display:inline-block;margin:0 0 20px;color:#6258a8;font-family:'Jost',sans-serif;
	font-size:11px;font-weight:400;line-height:1;letter-spacing:.18em;text-decoration:none;
}
.mz-product-detail-title {
	max-width:1000px;margin:0;color:#222;font-family:'Noto Sans JP',sans-serif;
	font-size: clamp(30px, 3.6vw, 42px);font-weight:400;line-height:1.5;letter-spacing:.06em;
}
.mz-product-detail-line {display:block;width:70px;height:1px;margin-top:30px;background:#6258a8;}

/* GALLERY */
.mz-product-detail-gallery {
	display:grid;width:100%;gap:26px;margin:0;padding:0;
}
.mz-product-detail-gallery--1 {grid-template-columns:1fr;}
.mz-product-detail-gallery--2,
.mz-product-detail-gallery--3,
.mz-product-detail-gallery--4 {grid-template-columns:repeat(2,minmax(0,1fr));}
.mz-product-detail-gallery-item {
	width:100%;min-width:0;margin:0;overflow:hidden;background:#f4f3f1;
}
.mz-product-detail-gallery-image {display:block;width:100%;height:auto;margin:0;padding:0;}
.mz-product-detail-gallery--1 .mz-product-detail-gallery-item {
	max-width:760px;
	margin-right:auto;
	margin-left:auto;
}

.mz-product-detail-gallery--1 .mz-product-detail-gallery-image {
	width:100%;
	height:auto;
}
.mz-product-detail-content {
	max-width:880px;margin:75px 0 0;color:#666;font-size:13px;font-weight:300;
	line-height:2.2;letter-spacing:.055em;
}
.mz-product-detail-content p {margin:0 0 25px;}

/* BACK */
.mz-product-detail-back {margin-top:80px;padding-top:32px;border-top:1px solid #dedede;}
.mz-product-detail-back a {
	display:inline-flex;align-items:center;gap:14px;color:#555;font-family:'Jost',sans-serif;
	font-size:11px;font-weight:400;line-height:1;letter-spacing:.11em;text-decoration:none;
}
.mz-product-detail-back a:hover {color:#6258a8;}
.mz-product-detail-back-icon,
.mz-product-detail-nav-list-icon {
	display:flex;flex-direction:column;gap:4px;width:17px;
}
.mz-product-detail-back-icon span,
.mz-product-detail-nav-list-icon span {
	display:block;width:17px;height:1px;background:currentColor;
}

/* NAV */
.mz-product-detail-nav {
	display:grid;grid-template-columns:1fr 1fr 1fr;width:calc(100% - 48px);
	max-width:var(--mz-content-width,1400px);min-height:88px;margin:0 auto 125px;
	border-top:1px solid #dedede;border-bottom:1px solid #dedede;
}
.mz-product-detail-nav-item {display:flex;align-items:stretch;min-width:0;}
.mz-product-detail-nav-item + .mz-product-detail-nav-item {border-left:1px solid #dedede;}
.mz-product-detail-nav-item > a,
.mz-product-detail-nav-item > .is-disabled {
	display:flex;align-items:center;width:100%;min-height:88px;padding:0 28px;gap:14px;
	color:#222;font-family:'Jost',sans-serif;font-size:11px;font-weight:400;
	line-height:1;letter-spacing:.11em;text-decoration:none;background:#fff;
}
.mz-product-detail-nav-item > a:hover {color:#6258a8;background:#faf9f7;}
.mz-product-detail-nav-prev > a,
.mz-product-detail-nav-prev > .is-disabled {justify-content:flex-start;}
.mz-product-detail-nav-list > a {justify-content:center;}
.mz-product-detail-nav-next > a,
.mz-product-detail-nav-next > .is-disabled {justify-content:flex-end;}
.mz-product-detail-nav-item > .is-disabled {color:#c8c8c8;}

/* TABLET */
@media (max-width:991.98px) {
	.mz-product-detail-gallery--1 .mz-product-detail-gallery-item {
		max-width:680px;
	}

	.mz-products-archive {padding:85px 0 105px;}
	.mz-products-filter {margin-bottom:55px;}
	.mz-products-filter-link {
		flex:1 1 calc(25% - 1px);
		min-width:170px;
		min-height:52px;
		padding:0 22px;
	}
	.mz-products-archive-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 22px;}
	.mz-product-detail {width:calc(100% - 40px);padding:85px 0 90px;}
	.mz-product-detail-gallery {gap:20px;}
	.mz-product-detail-nav {width:calc(100% - 40px);margin-bottom:95px;}
}

/* SMARTPHONE */
@media (max-width:767.98px) {
	.mz-product-detail-gallery--1 .mz-product-detail-gallery-item {
		max-width:100%;
	}

	.mz-products-archive {padding:65px 0 80px;}
	.mz-products-archive > .container {padding-right:18px;padding-left:18px;}
	.mz-products-archive-intro {margin-bottom:36px;}
	.mz-products-archive-label {margin-bottom:16px;font-size:10px;}
	.mz-products-archive-lead {font-size:12px;line-height:1.95;}
	.mz-products-filter {
		display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:45px;
	}
	.mz-products-filter-link {
		min-width:0;
		min-height:48px;
		padding:0 10px;
		border-bottom:1px solid #eee;
	}
	.mz-products-filter-link:nth-child(odd) {border-right:1px solid #eee;}
	.mz-products-archive-grid {grid-template-columns:1fr;gap:45px;}
	.mz-products-archive-card-title {font-size:15px;}
	.mz-products-pagination {margin-top:65px;}
	.mz-product-detail {width:calc(100% - 36px);padding:65px 0 70px;}
	.mz-product-detail-header {margin-bottom:42px;padding-bottom:28px;}
	.mz-product-detail-category {margin-bottom:16px;font-size:10px;}
	.mz-product-detail-title {font-size:clamp(27px,8vw,36px);}
	.mz-product-detail-line {width:52px;margin-top:24px;}
	.mz-product-detail-gallery,
	.mz-product-detail-gallery--2,
	.mz-product-detail-gallery--3,
	.mz-product-detail-gallery--4 {
		grid-template-columns:1fr;gap:14px;
	}
	.mz-product-detail-content {margin-top:55px;font-size:12px;line-height:2.05;}
	.mz-product-detail-back {margin-top:55px;}
	.mz-product-detail-nav {
		width:calc(100% - 36px);min-height:70px;margin-bottom:75px;
	}
	.mz-product-detail-nav-item > a,
	.mz-product-detail-nav-item > .is-disabled {
		min-height:70px;padding:0 10px;gap:7px;font-size:9px;letter-spacing:.05em;
	}
}

/* ==================================================
	ORIGINAL BRAND CPT
	MATCH PRODUCTS CPT
================================================== */

/* Lightning layout reset */
.post-type-archive-original_brand .site-body,
.tax-original_brand_category .site-body,
.single-original_brand .site-body {
	padding-top: 0;
}

.post-type-archive-original_brand .site-body-container,
.tax-original_brand_category .site-body-container,
.single-original_brand .site-body-container {
	width: 100%;
	max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

.post-type-archive-original_brand .main-section,
.tax-original_brand_category .main-section,
.single-original_brand .main-section {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	padding-right: 0;
	padding-left: 0;
}

.post-type-archive-original_brand .sub-section,
.tax-original_brand_category .sub-section,
.single-original_brand .sub-section {
	display: none;
}


/* ==================================================
	ORIGINAL BRAND ARCHIVE
	PRODUCTS ARCHIVEと同一トーン
================================================== */

.mz-brand-archive {
	padding: 105px 0 140px;
	background: #ffffff;
}

.mz-brand-archive > .container {
	width: 100%;
	max-width: var(--mz-content-width, 1400px);
	margin: 0 auto;
	padding: 0 var(--mz-content-padding, 24px);
}

.mz-brand-archive-intro {
	margin-bottom: 35px;
}

.mz-brand-archive-label {
	margin: 0 0 20px;
	color: #6258a8;
	font-family: 'Jost', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .2em;
}

.mz-brand-archive-lead {
	display: none;
	margin: 0;
	color: #666666;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.1;
	letter-spacing: .055em;
}


/* FILTER
   PRODUCTSと同じ .mz-products-filter を使用するため
   追加指定は不要 */


/* ==================================================
	ORIGINAL BRAND GRID
	PRODUCTS ARCHIVEと同じ3列
================================================== */

.mz-brand-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 62px 28px;
	width: 100%;
}

.mz-brand-card {
	min-width: 0;
	margin: 0;
}

.mz-brand-card-link {
	display: block;
	color: #222222;
	text-decoration: none;
}


/* ==================================================
	ORIGINAL BRAND IMAGE
================================================== */

.mz-brand-card-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f4f3f1;
}

.mz-brand-card-img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center center;
	transition: transform .9s cubic-bezier(.19, 1, .22, 1);
}

.mz-brand-card-link:hover .mz-brand-card-img {
	transform: scale(1.035);
}

.mz-brand-card-noimage {
	color: #b6b2ad;
	font-family: 'Jost', sans-serif;
	font-size: 22px;
	font-weight: 300;
	letter-spacing: .16em;
}


/* ==================================================
	ORIGINAL BRAND INFO
================================================== */

.mz-brand-card-info {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 38px;
	align-items: start;
	gap: 18px;
	padding-top: 22px;
}

.mz-brand-card-copy {
	min-width: 0;
}

.mz-brand-card-category {
	margin: 0 0 9px;
	color: #6258a8;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .15em;
}

.mz-brand-card-title {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .055em;
}

.mz-brand-card-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #555555;
	font-family: 'Jost', sans-serif;
	font-size: 13px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	transition:
		color .3s ease,
		background .3s ease,
		border-color .3s ease,
		transform .3s ease;
}

.mz-brand-card-link:hover .mz-brand-card-arrow {
	color: #ffffff;
	background: #6258a8;
	border-color: #6258a8;
	transform: translateX(3px);
}


/* ==================================================
	ORIGINAL BRAND SINGLE
	PRODUCT DETAILと同一トーン
================================================== */

.mz-brand-detail {
	width: calc(100% - 48px);
	max-width: var(--mz-content-width, 1400px);
	margin: 0 auto;
	padding: 105px 0 110px;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
}

.mz-brand-detail-header {
	margin: 0 0 65px;
	padding: 0 0 38px;
	border-bottom: 1px solid #dedede;
}

.mz-brand-detail-category {
	display: inline-block;
	margin: 0 0 20px;
	color: #6258a8;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .18em;
	text-decoration: none;
}

.mz-brand-detail-category:hover {
	color: #3f3a72;
}

.mz-brand-detail-title {
	max-width: 1000px;
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(30px, 3.6vw, 42px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
}

.mz-brand-detail-line {
	display: block;
	width: 70px;
	height: 1px;
	margin-top: 30px;
	background: #6258a8;
}


/* ==================================================
	ORIGINAL BRAND GALLERY
================================================== */

.mz-brand-detail-gallery {
	display: grid;
	width: 100%;
	gap: 26px;
	margin: 0;
	padding: 0;
}

.mz-brand-detail-gallery--1 {
	grid-template-columns: 1fr;
}

.mz-brand-detail-gallery--2,
.mz-brand-detail-gallery--3,
.mz-brand-detail-gallery--4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mz-brand-detail-gallery-item {
	width: 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: #f4f3f1;
}

.mz-brand-detail-gallery-image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.mz-brand-detail-gallery--1 .mz-brand-detail-gallery-item {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
}

.mz-brand-detail-gallery--1 .mz-brand-detail-gallery-image {
	width: 100%;
	height: auto;
}


/* ==================================================
	ORIGINAL BRAND CONTENT
================================================== */

.mz-brand-detail-content {
	max-width: 880px;
	margin: 75px 0 0;
	color: #666666;
	font-size: 13px;
	font-weight: 300;
	line-height: 2.2;
	letter-spacing: .055em;
}

.mz-brand-detail-content p {
	margin: 0 0 25px;
}


/* ==================================================
	ORIGINAL BRAND BACK
================================================== */

.mz-brand-detail-back {
	margin-top: 80px;
	padding-top: 32px;
	border-top: 1px solid #dedede;
}

.mz-brand-detail-back a {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #555555;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .11em;
	text-decoration: none;
}

.mz-brand-detail-back a:hover {
	color: #6258a8;
}


/* ==================================================
	ORIGINAL BRAND TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-brand-archive {
		padding: 85px 0 105px;
	}

	.mz-brand-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 52px 22px;
	}

	.mz-brand-detail {
		width: calc(100% - 40px);
		padding: 85px 0 90px;
	}

	.mz-brand-detail-gallery {
		gap: 20px;
	}

	.mz-brand-detail-gallery--1 .mz-brand-detail-gallery-item {
		max-width: 680px;
	}

}


/* ==================================================
	ORIGINAL BRAND SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-brand-archive {
		padding: 65px 0 80px;
	}

	.mz-brand-archive > .container {
		padding-right: 18px;
		padding-left: 18px;
	}

	.mz-brand-archive-intro {
		margin-bottom: 36px;
	}

	.mz-brand-archive-label {
		margin-bottom: 16px;
		font-size: 10px;
	}

	.mz-brand-archive-lead {
		font-size: 12px;
		line-height: 1.95;
	}

	.mz-brand-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.mz-brand-card-title {
		font-size: 15px;
	}

	.mz-brand-detail {
		width: calc(100% - 36px);
		padding: 65px 0 70px;
	}

	.mz-brand-detail-header {
		margin-bottom: 42px;
		padding-bottom: 28px;
	}

	.mz-brand-detail-category {
		margin-bottom: 16px;
		font-size: 10px;
	}

	.mz-brand-detail-title {
		font-size: clamp(27px, 8vw, 36px);
	}

	.mz-brand-detail-line {
		width: 52px;
		margin-top: 24px;
	}

	.mz-brand-detail-gallery,
	.mz-brand-detail-gallery--2,
	.mz-brand-detail-gallery--3,
	.mz-brand-detail-gallery--4 {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.mz-brand-detail-gallery--1 .mz-brand-detail-gallery-item {
		max-width: 100%;
	}

	.mz-brand-detail-content {
		margin-top: 55px;
		font-size: 12px;
		line-height: 2.05;
	}

	.mz-brand-detail-back {
		margin-top: 55px;
	}

}

/* ==================================================
	ORIGINAL BRAND
	ARCHIVE META / SINGLE SPECS
================================================== */

.mz-brand-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 12px 0 0;
	padding: 0;
	color: #888888;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
}

.mz-brand-card-meta-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.mz-brand-card-meta-item + .mz-brand-card-meta-item::before {
	content: "";
	display: block;
	width: 1px;
	height: 10px;
	margin-right: 14px;
	background: #d8d8d8;
}

.mz-brand-card-code { color: #666666; }
.mz-brand-card-material { color: #888888; }

.mz-brand-detail-specs-wrap {
	width: 100%;
	max-width: 880px;
	margin: 58px 0 0;
}

.mz-brand-detail-specs-title {
	margin: 0 0 18px;
	color: #222222;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .18em;
}

.mz-brand-detail-specs {
	width: 100%;
	border-top: 1px solid #dedede;
}

.mz-brand-detail-spec-row {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	width: 100%;
	border-bottom: 1px solid #dedede;
}

.mz-brand-detail-spec-label,
.mz-brand-detail-spec-value {
	margin: 0;
	padding: 18px 20px;
}

.mz-brand-detail-spec-label {
	display: flex;
	align-items: center;
	color: #777777;
	background: #fafaf8;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .06em;
}

.mz-brand-detail-spec-value {
	display: flex;
	align-items: center;
	color: #222222;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: .055em;
}

@media (max-width: 991.98px) {
	.mz-brand-detail-specs-wrap { margin-top: 50px; }
	.mz-brand-detail-spec-row { grid-template-columns: 150px minmax(0, 1fr); }
}

@media (max-width: 767.98px) {
	.mz-brand-card-meta { gap: 5px 10px; margin-top: 10px; font-size: 10px; }
	.mz-brand-card-meta-item + .mz-brand-card-meta-item::before { height: 9px; margin-right: 10px; }
	.mz-brand-detail-specs-wrap { max-width: 100%; margin-top: 42px; }
	.mz-brand-detail-spec-row { grid-template-columns: 112px minmax(0, 1fr); }
	.mz-brand-detail-spec-label,
	.mz-brand-detail-spec-value { padding: 14px; }
	.mz-brand-detail-spec-label { font-size: 11px; }
	.mz-brand-detail-spec-value { font-size: 12px; }
}

/* ==================================================
	ARCHIVE PAGE HERO IMAGE
	PRODUCTS / ORIGINAL BRAND / EXHIBITION
================================================== */

.mz-page-hero--has-image {
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.mz-page-hero--has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(
			90deg,
			rgba(255,255,255,.90) 0%,
			rgba(255,255,255,.78) 28%,
			rgba(255,255,255,.48) 50%,
			rgba(255,255,255,.16) 72%,
			rgba(255,255,255,.04) 100%
		);
	pointer-events: none;
}

.mz-page-hero--has-image .mz-page-hero-inner {
	position: relative;
	z-index: 2;
}

.mz-page-hero--has-image .mz-page-hero-title {
	position: relative;
	z-index: 2;
	color: #222222;
}

.mz-page-hero--has-image .mz-page-hero-line {
	position: relative;
	z-index: 2;
}

.mz-page-hero--has-image .mz-page-hero-side {
	position: absolute;
	z-index: 3;
}

.mz-page-hero--has-image .mz-page-hero-title,
.mz-page-hero--has-image .mz-page-hero-side {
	text-shadow: 0 1px 18px rgba(255,255,255,.38);
}


/* ==================================================
	ARCHIVE HERO IMAGE POSITION
================================================== */

.post-type-archive-products .mz-page-hero--has-image {
	background-position: center center;
}

.post-type-archive-original_brand .mz-page-hero--has-image,
.tax-original_brand_category .mz-page-hero--has-image {
	background-position: center center;
}

.post-type-archive-exhibition .mz-page-hero--has-image {
	background-position: center center;
}


/* ==================================================
	ARCHIVE HERO TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-page-hero--has-image::before {
		background:
			linear-gradient(
				90deg,
				rgba(255,255,255,.92) 0%,
				rgba(255,255,255,.76) 42%,
				rgba(255,255,255,.28) 76%,
				rgba(255,255,255,.08) 100%
			);
	}

}


/* ==================================================
	ARCHIVE HERO SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-page-hero--has-image {
		background-position: center center;
	}

	.mz-page-hero--has-image::before {
		background:
			linear-gradient(
				90deg,
				rgba(255,255,255,.94) 0%,
				rgba(255,255,255,.80) 56%,
				rgba(255,255,255,.36) 100%
			);
	}

}


/* ==================================================
	EXHIBITION ARCHIVE HERO
	背景画像を1枚で表示
================================================== */

.post-type-archive-exhibition .mz-page-hero {
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
}

/* ==================================================
	PAGE HERO HEIGHT ADJUSTMENT
	ページヘッダーの上下幅を少しコンパクトに
================================================== */

.mz-page-hero,
.mz-page-hero-inner {
	min-height: 360px;
}

.mz-page-hero-copy {
	padding-top: 50px;
	padding-bottom: 50px;
}


/* ==================================================
	PAGE HERO TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-page-hero,
	.mz-page-hero-inner {
		min-height: 310px;
	}

	.mz-page-hero-copy {
		padding-top: 42px;
		padding-bottom: 42px;
	}

}


/* ==================================================
	PAGE HERO SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-page-hero,
	.mz-page-hero-inner {
		min-height: 260px;
	}

	.mz-page-hero-copy {
		padding-top: 34px;
		padding-bottom: 34px;
	}

}


/* ==================================================
	NORMAL POST ARCHIVE
	MZ&C NEWS / EVENT / MEDIA
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .site-body {
	padding-top: 92px;
	padding-bottom: 130px;
	background: #ffffff;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .site-body > .site-body-container.container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	column-gap: 78px;
	align-items: start;
	width: 100%;
	max-width: var(--mz-content-width, 1400px);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--mz-content-padding, 24px);
	padding-left: var(--mz-content-padding, 24px);
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .main-section--col--two,
:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section--col--two {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}


/* ==================================================
	NORMAL POST ARCHIVE HEADER
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header {
	margin: 0 0 45px;
	padding: 0 0 28px;
	border-bottom: 1px solid #dedede;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header-title {
	margin: 0;
	color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: .055em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-description {
	margin: -20px 0 45px;
	color: #777777;
	font-size: 12px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .045em;
}


/* ==================================================
	NORMAL POST LIST
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive {
	width: 100%;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 1px solid #dedede;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list > .vk_post {
	position: relative;
	display: grid !important;
	grid-template-columns: 118px minmax(0, 1fr);
	column-gap: 34px;
	align-items: start;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 34px 0 36px !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #dedede !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}


/* ==================================================
	NORMAL POST CATEGORY
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter {
	position: relative !important;
	display: block !important;
	width: 118px !important;
	min-width: 118px !important;
	max-width: 118px !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	overflow: visible !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter > a {
	position: static !important;
	display: block !important;
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	margin: 0;
	padding: 0;
	background: transparent !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .card-img-overlay {
	position: static !important;
	display: block !important;
	width: 100%;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter_singleTermLabel {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	max-width: 118px;
	min-height: 27px;
	margin: 0 !important;
	padding: 6px 12px !important;
	color: #6258a8 !important;
	background: transparent !important;
	border: 1px solid rgba(98, 88, 168, .48);
	border-radius: 0 !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: .08em;
	white-space: normal;
}


/* ==================================================
	NORMAL POST BODY
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_dates {
	order: 1;
	margin: 0 0 10px !important;
	padding: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_date {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: #999999;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .10em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_date i {
	color: #6258a8;
	font-size: 10px;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_title {
	order: 2;
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: .055em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_title a {
	color: #222222 !important;
	text-decoration: none !important;
	transition: color .25s ease;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_title a:hover {
	color: #6258a8 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_title_new {
	display: inline-block;
	margin-left: 10px;
	color: #6258a8;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .06em;
	vertical-align: 2px;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_excerpt {
	order: 3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	max-width: 760px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: #777777;
	font-size: 12px !important;
	font-weight: 300;
	line-height: 1.95 !important;
	letter-spacing: .035em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btnOuter {
	order: 4;
	margin: 19px 0 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	margin: 0;
	padding: 0 31px 0 0 !important;
	color: #6258a8 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 10px !important;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .12em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btn::after {
	content: "→";
	position: absolute;
	top: 50%;
	right: 0;
	font-size: 13px;
	font-weight: 300;
	transform: translateY(-52%);
	transition: transform .25s ease;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btn:hover::after {
	transform: translate(5px, -52%);
}


/* ==================================================
	NORMAL POST PAGINATION
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive > .navigation.pagination {
	margin: 70px 0 0;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 13px;
	color: #666666;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 0;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
	text-decoration: none;
	transition:
		color .25s ease,
		background .25s ease,
		border-color .25s ease;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive .page-numbers.current,
:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-archive a.page-numbers:hover {
	color: #ffffff;
	background: #6258a8;
	border-color: #6258a8;
}


/* ==================================================
	NORMAL POST SIDEBAR
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section {
	display: block !important;
	padding-left: 42px !important;
	border-left: 1px solid #e2e2e2;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget {
	margin: 0 0 58px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget:last-child {
	margin-bottom: 0;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section-title {
	position: relative;
	margin: 0 0 25px !important;
	padding: 0 0 15px 18px !important;
	color: #222222 !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #dedede !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.5;
	letter-spacing: .08em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section-title::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 2px;
	height: 14px;
	background: #6258a8;
}


/* ==================================================
	SIDEBAR RECENT POSTS
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_posts {
	display: block;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 17px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #e7e7e7 !important;
	background: transparent !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post:first-child {
	padding-top: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_imgOuter {
	display: none !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_body {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_title {
	margin: 0 0 7px !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	letter-spacing: .035em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_title a {
	color: #333333 !important;
	text-decoration: none;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_title a:hover {
	color: #6258a8 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_title_new {
	margin-left: 6px;
	color: #6258a8;
	font-size: 8px;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_dates {
	margin: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_date {
	color: #999999;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	letter-spacing: .07em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_media .vk_post_date i {
	margin-right: 6px;
	color: #aaa4cf;
	font-size: 9px;
}


/* ==================================================
	SIDEBAR CATEGORY / ARCHIVE
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #e7e7e7;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list li {
	position: relative;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e7e7e7;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list li::before {
	display: none !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list a {
	position: relative;
	display: block;
	padding: 14px 24px 14px 0;
	color: #666666;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .055em;
	text-decoration: none;
	transition:
		color .25s ease,
		padding-left .25s ease;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list a::after {
	content: "→";
	position: absolute;
	top: 50%;
	right: 2px;
	color: #aaa4cf;
	font-family: 'Jost', sans-serif;
	font-size: 12px;
	transform: translateY(-50%);
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .sub-section .widget_link_list a:hover {
	padding-left: 6px;
	color: #6258a8;
}


/* ==================================================
	NORMAL POST ARCHIVE TABLET
================================================== */

@media (max-width: 991.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .site-body {
		padding-top: 72px;
		padding-bottom: 100px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .site-body > .site-body-container.container {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 80px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .sub-section {
		padding-top: 55px !important;
		padding-left: 0 !important;
		border-top: 1px solid #dedede;
		border-left: 0;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .sub-section .widget {
		max-width: 680px;
	}

}


/* ==================================================
	NORMAL POST ARCHIVE SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .site-body {
		padding-top: 58px;
		padding-bottom: 80px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .archive-header {
		margin-bottom: 34px;
		padding-bottom: 22px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list > .vk_post {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 15px;
		padding-top: 27px !important;
		padding-bottom: 29px !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin-top: 0 !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter_singleTermLabel {
		min-width: 84px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_title {
		font-size: 16px !important;
		line-height: 1.7 !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_excerpt {
		font-size: 11px !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-archive > .navigation.pagination {
		margin-top: 55px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .sub-section {
		padding-top: 45px !important;
	}

}


/* ==================================================
	NORMAL POST ARCHIVE
	LARGER THUMBNAIL / PAGE HEADER MATCH
================================================== */

/* ==================================================
	ARCHIVE HEADER
	他ページのページヘッダーに合わせた見せ方
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 220px;
	margin: 0 0 65px;
	padding: 48px 52px;
	overflow: hidden;
	background: #f3f2ef;
	border: 0;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header::before {
	content: "MZ&C / NEWS";
	display: block;
	margin: 0 0 17px;
	color: #8a8a8a;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .18em;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header::after {
	content: "";
	display: block;
	width: 62px;
	height: 1px;
	margin-top: 24px;
	background: #6258a8;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .archive-header-title {
	margin: 0;
	padding: 0;
	color: #222222;
	font-family: 'Noto Sans JP', 'Jost', sans-serif;
	font-size: clamp(30px, 3.2vw, 42px);
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .055em;
}


/* ==================================================
	LARGE THUMBNAIL
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list > .vk_post {
	grid-template-columns: 280px minmax(0, 1fr);
	column-gap: 42px;
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter {
	position: relative !important;
	display: block !important;
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
	height: 185px !important;
	min-height: 185px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #f4f3f1 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter > a {
	position: relative !important;
	display: block !important;
	width: 100%;
	height: 100% !important;
	min-height: 185px !important;
	overflow: hidden;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter img,
:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter .vk_post_img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center center;
	transition: transform .5s ease;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list > .vk_post:hover .vk_post_imgOuter img,
:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list > .vk_post:hover .vk_post_imgOuter .vk_post_img {
	transform: scale(1.025);
}


/* ==================================================
	CATEGORY LABEL ON THUMBNAIL
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .card-img-overlay {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	display: block !important;
	width: 100%;
	height: 100% !important;
	margin: 0 !important;
	padding: 14px !important;
	pointer-events: none;
	background: transparent !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter_singleTermLabel {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	max-width: calc(100% - 28px);
	min-height: 27px;
	margin: 0 !important;
	padding: 6px 11px !important;
	color: #ffffff !important;
	background: rgba(34,34,34,.78) !important;
	border: 0 !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: .075em;
}


/* ==================================================
	POST BODY ALIGNMENT
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_body {
	justify-content: center;
	min-height: 185px;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_title {
	margin-bottom: 14px !important;
	font-size: 20px !important;
	line-height: 1.6 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_excerpt {
	-webkit-line-clamp: 3;
	max-width: 720px;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .archive-header {
		min-height: 190px;
		margin-bottom: 52px;
		padding: 40px 38px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list > .vk_post {
		grid-template-columns: 240px minmax(0, 1fr);
		column-gap: 32px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter {
		width: 240px !important;
		min-width: 240px !important;
		max-width: 240px !important;
		height: 160px !important;
		min-height: 160px !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter > a,
	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_body {
		min-height: 160px !important;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .archive-header {
		min-height: 160px;
		margin-bottom: 40px;
		padding: 32px 24px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .archive-header::before {
		margin-bottom: 13px;
		font-size: 9px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .archive-header::after {
		width: 50px;
		margin-top: 19px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list > .vk_post {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 22px;
		padding-top: 32px !important;
		padding-bottom: 34px !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 16 / 10;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter > a {
		height: 100% !important;
		min-height: 0 !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_body {
		min-height: 0 !important;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_title {
		font-size: 17px !important;
	}

}


/* ==================================================
	NORMAL POST ARCHIVE
	THUMBNAIL RATIO ADJUSTMENT
	横長でバランスの良い比率に調整
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list > .vk_post {
	grid-template-columns: 300px minmax(0, 1fr);
	column-gap: 42px;
	align-items: center;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter {
	width: 300px !important;
	min-width: 300px !important;
	max-width: 300px !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 16 / 9;
	margin: 0 !important;
	overflow: hidden !important;
	background: #f4f3f1 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter > a {
	display: block !important;
	width: 100%;
	height: 100% !important;
	min-height: 0 !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter img,
:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_imgOuter .vk_post_img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_body {
	min-height: 0 !important;
	justify-content: center;
}


/* ==================================================
	TABLET
================================================== */

@media (max-width: 991.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list > .vk_post {
		grid-template-columns: 250px minmax(0, 1fr);
		column-gap: 30px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter {
		width: 250px !important;
		min-width: 250px !important;
		max-width: 250px !important;
		aspect-ratio: 16 / 9;
	}

}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list > .vk_post {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 20px;
	}

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_imgOuter {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		aspect-ratio: 16 / 9;
	}

}


/* ==================================================
	NORMAL POST ARCHIVE
	READ MORE OVERLAP FIX
================================================== */

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_body {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start;
	justify-content: center;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_excerpt {
	position: static !important;
	order: 3;
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	width: 100%;
	max-width: 720px;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btnOuter {
	position: static !important;
	order: 4;
	display: block !important;
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
	clear: both;
	text-align: left !important;
	overflow: visible !important;
}

:is(
	.blog,
	.post-type-archive-post,
	.category,
	.tag,
	.date,
	.author
) .mz-news-list .vk_post_btn {
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 31px 0 0 !important;
	float: none !important;
}


/* ==================================================
	SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	:is(
		.blog,
		.post-type-archive-post,
		.category,
		.tag,
		.date,
		.author
	) .mz-news-list .vk_post_btnOuter {
		margin-top: 17px !important;
	}

}


/* ==================================================
	MZ&C CONTACT FORM
	MW WP FORM
================================================== */

.mz-contact-wrap {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 90px 24px 130px;
}

.mz-contact-lead {
	max-width: 760px;
	margin: 0 auto 52px;
	color: #6f6f6f;
	font-size: 13px;
	font-weight: 300;
	line-height: 2;
	letter-spacing: .045em;
	text-align: center;
}


/* ==================================================
	CONTACT STEPS
================================================== */

.mz-contact-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 760px;
	margin: 0 auto 68px;
	padding: 0;
	list-style: none;
}

.mz-contact-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	color: #aaa;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	text-align: center;
}

.mz-contact-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 18px;
	left: calc(50% + 24px);
	width: calc(100% - 48px);
	height: 1px;
	background: #ddd;
}

.mz-contact-step-num {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 12px;
	color: #999;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
}

.mz-contact-step-label {
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .12em;
}

.mw_wp_form_input .mz-contact-step:nth-child(1),
.mw_wp_form_confirm .mz-contact-step:nth-child(2),
.mw_wp_form_complete .mz-contact-step:nth-child(3) {
	color: #6258a8;
}

.mw_wp_form_input .mz-contact-step:nth-child(1) .mz-contact-step-num,
.mw_wp_form_confirm .mz-contact-step:nth-child(2) .mz-contact-step-num,
.mw_wp_form_complete .mz-contact-step:nth-child(3) .mz-contact-step-num {
	color: #fff;
	background: #6258a8;
	border-color: #6258a8;
}

.mw_wp_form_confirm .mz-contact-step:nth-child(1) .mz-contact-step-num,
.mw_wp_form_complete .mz-contact-step:nth-child(1) .mz-contact-step-num,
.mw_wp_form_complete .mz-contact-step:nth-child(2) .mz-contact-step-num {
	color: #6258a8;
	background: #fff;
	border-color: #6258a8;
}


/* ==================================================
	CONTACT FORM LAYOUT
================================================== */

.mz-contact-form {
	width: 100%;
	border-top: 1px solid #dcdcdc;
}

.mz-contact-row {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	border-bottom: 1px solid #dedede;
}

.mz-contact-label {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	padding: 29px 28px 29px 0;
	color: #222;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: .055em;
}

.mz-contact-field {
	min-width: 0;
	padding: 24px 0 24px 34px;
}

.mz-required,
.mz-optional {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 20px;
	margin-top: 1px;
	padding: 0 7px;
	font-size: 9px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .06em;
	white-space: nowrap;
}

.mz-required {
	color: #fff;
	background: #6258a8;
}

.mz-optional {
	color: #888;
	background: #eee;
}


/* ==================================================
	INPUT / SELECT / TEXTAREA
================================================== */

.mz-contact-form input[type="text"],
.mz-contact-form input[type="email"],
.mz-contact-form input[type="tel"],
.mz-contact-form textarea,
.mz-contact-form select {
	width: 100%;
	max-width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 13px 15px;
	color: #222;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .035em;
	transition:
		border-color .2s ease,
		box-shadow .2s ease;
}

.mz-contact-form select {
	max-width: 420px;
	padding-right: 44px;
	cursor: pointer;
}

.mz-contact-form textarea {
	min-height: 210px;
	resize: vertical;
}

.mz-contact-form .mz-contact-address {
	min-height: 110px;
}

.mz-contact-form input:focus,
.mz-contact-form textarea:focus,
.mz-contact-form select:focus {
	outline: none;
	border-color: #6258a8;
	box-shadow: 0 0 0 2px rgba(98, 88, 168, .08);
}

.mz-contact-form input::placeholder,
.mz-contact-form textarea::placeholder {
	color: #b3b3b3;
}


/* ==================================================
	ZIP CODE
================================================== */

.mz-contact-zip-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 330px;
}

.mz-contact-zip-mark {
	flex: 0 0 auto;
	color: #555;
	font-size: 14px;
	line-height: 1;
}

.mz-contact-form .mz-contact-zip {
	width: 230px !important;
}

.mz-contact-note {
	margin: 10px 0 0;
	color: #999;
	font-size: 10px;
	line-height: 1.7;
	letter-spacing: .03em;
}


/* ==================================================
	VALIDATION
================================================== */

.mz-contact-form .error {
	display: block;
	margin-top: 8px;
	color: #b24646;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: .025em;
}


/* ==================================================
	ACTIONS
================================================== */

.mz-contact-guide {
	margin: 40px 0 0;
	color: #777;
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: .04em;
	text-align: center;
}

.mz-contact-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 24px;
}

.mz-contact-actions input[type="submit"],
.mz-contact-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 230px;
	min-height: 58px;
	margin: 0;
	padding: 15px 34px;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Jost', 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .11em;
	cursor: pointer;
	transition:
		background .25s ease,
		color .25s ease,
		border-color .25s ease;
}

.mz-contact-submit,
.mz-contact-actions input[type="submit"].mz-contact-submit {
	color: #fff !important;
	background: #6258a8 !important;
	border: 1px solid #6258a8 !important;
}

.mz-contact-submit:hover,
.mz-contact-actions input[type="submit"].mz-contact-submit:hover {
	background: #3f3a72 !important;
	border-color: #3f3a72 !important;
}

.mz-contact-back,
.mz-contact-reset {
	color: #555 !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
}

.mz-contact-back:hover,
.mz-contact-reset:hover {
	color: #6258a8 !important;
	border-color: #6258a8 !important;
}

.mw_wp_form_input .mz-contact-back {
	display: none !important;
}

.mw_wp_form_confirm .mz-contact-reset,
.mw_wp_form_complete .mz-contact-actions {
	display: none !important;
}


/* ==================================================
	CONFIRM
================================================== */

.mw_wp_form_confirm .mz-contact-field {
	color: #333;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: .035em;
}

.mw_wp_form_confirm .mz-contact-note {
	display: none;
}


/* ==================================================
	COMPLETE
================================================== */

.mz-contact-complete {
	max-width: 760px;
	margin: 0 auto;
	padding: 65px 30px;
	text-align: center;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.mz-contact-complete h2 {
	margin: 0 0 24px;
	color: #222;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
}

.mz-contact-complete p {
	margin: 0;
	color: #777;
	font-size: 13px;
	line-height: 2;
	letter-spacing: .04em;
}


/* ==================================================
	CONTACT TABLET
================================================== */

@media (max-width: 991.98px) {

	.mz-contact-wrap {
		padding-top: 75px;
		padding-bottom: 100px;
	}

	.mz-contact-row {
		grid-template-columns: 195px minmax(0, 1fr);
	}

	.mz-contact-label {
		padding-right: 20px;
	}

	.mz-contact-field {
		padding-left: 28px;
	}

}


/* ==================================================
	CONTACT SMARTPHONE
================================================== */

@media (max-width: 767.98px) {

	.mz-contact-wrap {
		padding: 58px 18px 80px;
	}

	.mz-contact-lead {
		margin-bottom: 38px;
		font-size: 12px;
		text-align: left;
	}

	.mz-contact-steps {
		margin-bottom: 48px;
	}

	.mz-contact-step:not(:last-child)::after {
		top: 16px;
		left: calc(50% + 20px);
		width: calc(100% - 40px);
	}

	.mz-contact-step-num {
		width: 32px;
		height: 32px;
		margin-bottom: 9px;
		font-size: 10px;
	}

	.mz-contact-step-label {
		font-size: 9px;
		letter-spacing: .08em;
	}

	.mz-contact-row {
		display: block;
		padding: 22px 0;
	}

	.mz-contact-label {
		justify-content: flex-start;
		padding: 0 0 12px;
	}

	.mz-contact-field {
		padding: 0;
	}

	.mz-contact-form input[type="text"],
	.mz-contact-form input[type="email"],
	.mz-contact-form input[type="tel"],
	.mz-contact-form textarea,
	.mz-contact-form select {
		min-height: 50px;
		font-size: 12px;
	}

	.mz-contact-form select {
		max-width: 100%;
	}

	.mz-contact-form textarea {
		min-height: 180px;
	}

	.mz-contact-form .mz-contact-address {
		min-height: 95px;
	}

	.mz-contact-zip-wrap {
		max-width: 100%;
	}

	.mz-contact-form .mz-contact-zip {
		width: 100% !important;
	}

	.mz-contact-actions {
		flex-direction: column-reverse;
		gap: 10px;
		margin-top: 22px;
	}

	.mz-contact-actions input[type="submit"],
	.mz-contact-actions button {
		width: 100%;
		min-width: 0;
	}

}


/* ==================================================
	MOBILE HEADER / FV CENTERING
	スマホ時：ロゴ中央 + スライド文章中央
================================================== */

@media (max-width: 767.98px) {

	/* ==================================================
		MOBILE HEADER
	================================================== */

	#site-header {
		position: relative;
	}

	#site-header .site-header-container,
	#site-header .container,
	#site-header .container-fluid {
		position: relative;
	}

	#site-header .mz-header-left {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 20;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: auto;
		max-width: calc(100% - 120px);
		margin: 0 !important;
		padding: 0 !important;
		transform: translate(-50%, -50%);
		pointer-events: none;
	}

	#site-header .site-header-logo {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: auto;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center;
		pointer-events: auto;
	}

	#site-header .site-header-logo a,
	#site-header .site-header-logo span {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#site-header .site-header-logo img {
		display: block;
		width: auto !important;
		height: auto !important;
		max-width: 138px !important;
		max-height: 38px !important;
		margin: 0 auto !important;
	}

	.header_scrolled #site-header .mz-header-left {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		display: flex !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
	}

	.header_scrolled #site-header .site-header-logo {
		display: flex !important;
	}

	.header_scrolled #site-header .site-header-logo img {
		width: auto !important;
		height: auto !important;
		max-width: 128px !important;
		max-height: 34px !important;
		margin: 0 auto !important;
	}


	/* ==================================================
		MOBILE FV COPY
	================================================== */

	.mz-fv-content {
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 58px 20px 42px;
	}

	.mz-fv-content > .container {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 100%;
		height: 100%;
		margin: 0 auto;
		padding-right: 0;
		padding-left: 0;
	}

	.mz-fv-content .row {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 0;
		margin-right: 0;
		margin-left: 0;
	}

	.mz-fv-copy {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 560px;
		margin: 0 auto !important;
		padding: 0 10px !important;
		text-align: center;
	}

	.mz-fv-copy .mz-hero-label {
		width: 100%;
		margin: 0 auto 22px;
		text-align: center;
	}

	.mz-fv-copy .mz-hero-title {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		font-size: clamp(30px, 11vw, 42px);
		line-height: 1.02;
		text-align: center;
	}

	.mz-fv-copy .mz-hero-title-jp {
		width: 100%;
		margin: 0 auto 24px;
		font-size: clamp(26px, 6.8vw, 36px);
		line-height: 1.55;
		letter-spacing: .06em;
		text-align: center;
	}

	.mz-fv-copy .mz-hero-text {
		width: 100%;
		max-width: 440px;
		margin: 20px auto 30px;
		font-size: 12px;
		line-height: 2;
		letter-spacing: .045em;
		text-align: center;
	}

	.mz-fv-copy .mz-arrow-link {
		align-self: center;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}

	.mz-fv-wrap::before {
		background:
			linear-gradient(
				180deg,
				rgba(255,255,255,.58) 0%,
				rgba(255,255,255,.70) 25%,
				rgba(255,255,255,.64) 52%,
				rgba(255,255,255,.30) 78%,
				rgba(255,255,255,.06) 100%
			);
	}

}


/* ==================================================
	EXTRA SMALL SMARTPHONE
================================================== */

@media (max-width: 480px) {

	#site-header .mz-header-left {
		max-width: calc(100% - 108px);
	}

	#site-header .site-header-logo img {
		max-width: 122px !important;
		max-height: 34px !important;
	}

	.header_scrolled #site-header .site-header-logo img {
		max-width: 116px !important;
		max-height: 32px !important;
	}

	.mz-fv-content {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mz-fv-copy {
		padding-right: 4px !important;
		padding-left: 4px !important;
	}

	.mz-fv-copy .mz-hero-title-jp {
		font-size: clamp(24px, 7vw, 32px);
	}

	.mz-fv-copy .mz-hero-text {
		font-size: 11px;
		line-height: 1.9;
	}

}


/* ==================================================
	MOBILE HEADER / FV CENTERING
	REVISED
	ヘッダー表示復旧 + ロゴ中央 + FVを少し上へ
================================================== */

@media (max-width: 767.98px) {

	/* ==================================================
		HEADER
		ヘッダー自体はLightning標準の表示を維持
	================================================== */

	#site-header {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		min-height: 72px;
		background: #ffffff;
	}

	#site-header .site-header-container {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		position: relative !important;
		min-height: 72px;
		width: 100%;
	}

	/*
		前回は .mz-header-left 全体を absolute にしたため、
		Lightning側のヘッダー構造によっては高さが失われる可能性がありました。
		今回はロゴだけを中央配置します。
	*/
	#site-header .mz-header-left {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		pointer-events: auto !important;
	}

	#site-header .mz-header-copy {
		display: none !important;
	}

	#site-header .site-header-logo {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		z-index: 30;
		display: block !important;
		width: auto !important;
		max-width: calc(100% - 130px);
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		transform: translate(-50%, -50%) !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#site-header .site-header-logo a,
	#site-header .site-header-logo span {
		display: block !important;
		width: auto !important;
	}

	#site-header .site-header-logo img {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 136px !important;
		max-height: 40px !important;
		margin: 0 auto !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* スクロール時も同じ中央位置を維持 */
	.header_scrolled #site-header {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.header_scrolled #site-header .site-header-container {
		min-height: 66px;
	}

	.header_scrolled #site-header .mz-header-left {
		position: static !important;
		display: flex !important;
		margin: 0 !important;
		transform: none !important;
	}

	.header_scrolled #site-header .site-header-logo {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		display: block !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
	}

	.header_scrolled #site-header .site-header-logo img {
		max-width: 124px !important;
		max-height: 36px !important;
	}


	/* ==================================================
		FV
		中央揃えは維持しつつ、全体を少し上へ
	================================================== */

	.mz-fv-content {
		inset: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		padding: 108px 20px 55px !important;
	}

	.mz-fv-content > .container {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.mz-fv-content .row {
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		width: 100% !important;
		min-height: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.mz-fv-copy {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 520px !important;
		margin: 0 auto !important;
		padding: 0 12px !important;
		text-align: center !important;
	}

	/* 小さな英字ラベル */
	.mz-fv-copy .mz-hero-label {
		position: relative;
		width: auto !important;
		margin: 0 auto 18px !important;
		padding-bottom: 11px;
		color: #6258a8 !important;
		font-size: 10px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		letter-spacing: .24em !important;
		text-align: center !important;
	}

	.mz-fv-copy .mz-hero-label::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 34px;
		height: 1px;
		background: #6258a8;
		transform: translateX(-50%);
	}

	/* 英文タイトルがある場合 */
	.mz-fv-copy .mz-hero-title {
		width: 100% !important;
		margin: 0 auto 12px !important;
		color: #222222 !important;
		font-size: clamp(34px, 11.5vw, 42px) !important;
		font-weight: 500 !important;
		line-height: .98 !important;
		letter-spacing: -.025em !important;
		text-align: center !important;
	}

	/* 日本語メインキャッチ */
	.mz-fv-copy .mz-hero-title-jp {
		width: 100% !important;
		margin: 0 auto 24px !important;
		color: #222222 !important;
		font-size: clamp(29px, 7.7vw, 36px) !important;
		font-weight: 500 !important;
		line-height: 1.48 !important;
		letter-spacing: .075em !important;
		text-align: center !important;
		text-shadow: 0 1px 12px rgba(255,255,255,.65);
	}

	/* 説明文はタイトルとの差を出して少し小さく */
	.mz-fv-copy .mz-hero-text {
		width: 100% !important;
		max-width: 390px !important;
		margin: 0 auto 28px !important;
		color: #555555 !important;
		font-size: 11px !important;
		font-weight: 300 !important;
		line-height: 2 !important;
		letter-spacing: .055em !important;
		text-align: center !important;
	}

	.mz-fv-copy .mz-arrow-link {
		align-self: center !important;
		margin: 0 auto !important;
	}

	/*
		スマホは文字周辺を少し明るく。
		タイトルが写真に埋もれず、PCと同じ上品な雰囲気を維持。
	*/
	.mz-fv-wrap::before {
		background:
			linear-gradient(
				180deg,
				rgba(255,255,255,.80) 0%,
				rgba(255,255,255,.72) 24%,
				rgba(255,255,255,.54) 48%,
				rgba(255,255,255,.20) 72%,
				rgba(255,255,255,.02) 100%
			) !important;
	}

}


/* ==================================================
	EXTRA SMALL SMARTPHONE
================================================== */

@media (max-width: 480px) {

	#site-header {
		min-height: 68px;
	}

	#site-header .site-header-container {
		min-height: 68px;
	}

	#site-header .site-header-logo {
		max-width: calc(100% - 116px);
	}

	#site-header .site-header-logo img {
		max-width: 120px !important;
		max-height: 25px !important;
	}

	.header_scrolled #site-header .site-header-logo img {
		max-width: 116px !important;
		max-height: 33px !important;
	}

	.mz-fv-content {
		padding: 92px 16px 46px !important;
	}

	.mz-fv-copy {
		max-width: 420px !important;
		padding-right: 6px !important;
		padding-left: 6px !important;
	}

	.mz-fv-copy .mz-hero-label {
		margin-bottom: 16px !important;
	}

	.mz-fv-copy .mz-hero-title {
		font-size: clamp(32px, 11vw, 40px) !important;
	}

	.mz-fv-copy .mz-hero-title-jp {
		margin-bottom: 20px !important;
		font-size: clamp(27px, 7.6vw, 33px) !important;
		line-height: 1.5 !important;
	}

	.mz-fv-copy .mz-hero-text {
		max-width: 340px !important;
		margin-bottom: 24px !important;
		font-size: 10.5px !important;
		line-height: 1.95 !important;
	}

}


/* ==================================================
	MZ&C MOBILE NAV
	ハンバーガーボタン + スマホメニュー
================================================== */

@media (max-width: 991.98px) {

	/* ==================================================
		HAMBURGER BUTTON
	================================================== */

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
		--mz-menu-line: #242424;

		position: fixed !important;
		top: 14px !important;
		left: 16px !important;
		z-index: 9999 !important;

		display: block !important;
		overflow: visible !important;

		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;

		border: 1px solid rgba(34, 34, 34, .16) !important;
		border-radius: 50% !important;

		color: var(--mz-menu-line) !important;
		background:
			rgba(255, 255, 255, .88) !important;

		background-image: none !important;
		background-repeat: no-repeat !important;

		box-shadow:
			0 8px 28px rgba(20, 20, 30, .08),
			inset 0 0 0 1px rgba(255,255,255,.55);

		cursor: pointer;
		text-indent: -9999px !important;

		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);

		transition:
			background .35s ease,
			border-color .35s ease,
			box-shadow .35s ease,
			transform .35s cubic-bezier(.2,.8,.2,1);

		transform: translateZ(0);
	}

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn:hover {
		border-color: rgba(98, 88, 168, .34) !important;
		box-shadow:
			0 10px 32px rgba(20, 20, 30, .12),
			0 0 0 5px rgba(98, 88, 168, .045);
		transform: scale(1.04);
	}

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn::before,
	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		width: 19px;
		height: 1.5px;
		margin: 0;
		background: currentColor;
		border-radius: 999px;
		transform-origin: center;
		transition:
			transform .42s cubic-bezier(.2,.85,.2,1),
			box-shadow .3s ease,
			width .3s ease,
			background .3s ease;
	}

	/* 上線 + 中線 */
	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn::before {
		transform: translate(-50%, -6px);
		box-shadow: 0 6px 0 currentColor;
	}

	/* 下線 */
	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn::after {
		transform: translate(-50%, 6px);
	}

	/* OPEN時：円形ボタンを反転 */
	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn.menu-open {
		--mz-menu-line: #ffffff;

		border-color: rgba(255, 255, 255, .18) !important;
		background: rgba(35, 33, 48, .94) !important;
		background-image: none !important;

		box-shadow:
			0 10px 34px rgba(0, 0, 0, .22),
			0 0 0 5px rgba(98, 88, 168, .10);

		transform: rotate(180deg);
	}

	/* OPEN時：Xへ変形 */
	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn.menu-open::before {
		width: 20px;
		box-shadow: none;
		transform: translate(-50%, -50%) rotate(45deg);
	}

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn.menu-open::after {
		width: 20px;
		transform: translate(-50%, -50%) rotate(-45deg);
	}


	/* ==================================================
		MOBILE NAV PANEL
	================================================== */

	.vk-mobile-nav {
		background:
			linear-gradient(
				160deg,
				rgba(255,255,255,.985) 0%,
				rgba(250,249,252,.985) 46%,
				rgba(245,243,250,.99) 100%
			) !important;

		-webkit-backdrop-filter: blur(18px);
		backdrop-filter: blur(18px);

		box-shadow: 18px 0 50px rgba(20, 18, 35, .10);
	}

	.vk-mobile-nav::before {
		content: "MZ&C";
		display: block;
		margin: 0;
		padding: 88px 28px 30px;
		color: #6258a8;
		font-family: 'Jost', sans-serif;
		font-size: 11px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: .24em;
	}

	.vk-mobile-nav::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
		background:
			linear-gradient(
				180deg,
				rgba(98,88,168,0) 0%,
				rgba(98,88,168,.22) 20%,
				rgba(98,88,168,.22) 80%,
				rgba(98,88,168,0) 100%
			);
		pointer-events: none;
	}


	/* ==================================================
		TOP LEVEL MENU
	================================================== */

	.vk-mobile-nav .vk-menu-acc {
		position: relative;
		margin: 0 !important;
		padding: 0 28px 42px !important;
		list-style: none !important;
	}

	.vk-mobile-nav .vk-menu-acc > li {
		position: relative;
		margin: 0 !important;
		padding: 0 !important;
		border-top: 1px solid rgba(34,34,34,.10);
		opacity: 0;
		transform: translateY(14px);
		animation: mzMobileNavFade .55s cubic-bezier(.22,.8,.2,1) forwards;
	}

	.vk-mobile-nav .vk-menu-acc > li:first-child {
		border-top: 0;
	}

	.vk-mobile-nav .vk-menu-acc > li:nth-child(1) { animation-delay: .04s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(2) { animation-delay: .08s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(3) { animation-delay: .12s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(4) { animation-delay: .16s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(5) { animation-delay: .20s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(6) { animation-delay: .24s; }
	.vk-mobile-nav .vk-menu-acc > li:nth-child(7) { animation-delay: .28s; }

	@keyframes mzMobileNavFade {
		0% {
			opacity: 0;
			transform: translateY(14px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.vk-mobile-nav .vk-menu-acc > li > a {
		position: relative;
		display: flex !important;
		align-items: center;
		min-height: 62px;
		padding: 18px 48px 18px 0 !important;

		color: #222222 !important;
		background: transparent !important;

		border: 0 !important;
		box-shadow: none !important;

		font-family: 'Jost', sans-serif;
		font-size: 19px !important;
		font-weight: 400 !important;
		line-height: 1.25 !important;
		letter-spacing: .12em !important;
		text-decoration: none !important;

		transition:
			color .25s ease,
			padding-left .25s ease;
	}

	.vk-mobile-nav .vk-menu-acc > li > a::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 13px;
		width: 0;
		height: 1px;
		background: #6258a8;
		transition: width .3s ease;
	}

	.vk-mobile-nav .vk-menu-acc > li > a:hover,
	.vk-mobile-nav .vk-menu-acc > li.current-menu-item > a,
	.vk-mobile-nav .vk-menu-acc > li.current-menu-ancestor > a {
		color: #6258a8 !important;
		padding-left: 8px !important;
	}

	.vk-mobile-nav .vk-menu-acc > li > a:hover::before,
	.vk-mobile-nav .vk-menu-acc > li.current-menu-item > a::before,
	.vk-mobile-nav .vk-menu-acc > li.current-menu-ancestor > a::before {
		width: 28px;
	}


	/* ==================================================
		ACCORDION BUTTON
	================================================== */

	.vk-mobile-nav .vk-menu-acc .menu-item-has-children {
		position: relative;
	}

	.vk-mobile-nav .vk-menu-acc .acc-btn {
		position: absolute !important;
		top: 11px !important;
		right: 0 !important;
		z-index: 4;

		display: flex !important;
		align-items: center;
		justify-content: center;

		width: 40px !important;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;

		background: transparent !important;
		border: 0 !important;
		border-radius: 50% !important;

		cursor: pointer;

		transition:
			background .25s ease,
			transform .35s cubic-bezier(.2,.8,.2,1);
	}

	.vk-mobile-nav .vk-menu-acc .acc-btn:hover {
		background: rgba(98,88,168,.07) !important;
	}

	.vk-mobile-nav .vk-menu-acc .acc-btn::before,
	.vk-mobile-nav .vk-menu-acc .acc-btn::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 13px;
		height: 1px;
		background: #6258a8;
		transform: translate(-50%, -50%);
		transition: transform .3s ease;
	}

	.vk-mobile-nav .vk-menu-acc .acc-btn::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.vk-mobile-nav .vk-menu-acc .acc-btn.acc-btn-close::after,
	.vk-mobile-nav .vk-menu-acc .acc-btn[aria-expanded="true"]::after {
		transform: translate(-50%, -50%) rotate(0deg);
	}


	/* ==================================================
		SUB MENU
	================================================== */

	.vk-mobile-nav .vk-menu-acc .sub-menu {
		margin: 0 !important;
		padding: 2px 0 18px 18px !important;

		background: transparent !important;
		border: 0 !important;

		list-style: none !important;
	}

	.vk-mobile-nav .vk-menu-acc .sub-menu > li {
		position: relative;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.vk-mobile-nav .vk-menu-acc .sub-menu > li > a {
		position: relative;
		display: block !important;
		padding: 10px 32px 10px 18px !important;

		color: #6d6d74 !important;
		background: transparent !important;

		font-family: 'Jost', sans-serif;
		font-size: 11px !important;
		font-weight: 400 !important;
		line-height: 1.45 !important;
		letter-spacing: .15em !important;
		text-decoration: none !important;

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

	.vk-mobile-nav .vk-menu-acc .sub-menu > li > a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 7px;
		height: 1px;
		background: #aaa4cf;
		transform: translateY(-50%);
	}

	.vk-mobile-nav .vk-menu-acc .sub-menu > li > a::after {
		content: "→";
		position: absolute;
		top: 50%;
		right: 2px;
		color: #aaa4cf;
		font-size: 11px;
		transform: translateY(-52%);
		transition: transform .25s ease;
	}

	.vk-mobile-nav .vk-menu-acc .sub-menu > li > a:hover,
	.vk-mobile-nav .vk-menu-acc .sub-menu > li.current-menu-item > a {
		color: #6258a8 !important;
		transform: translateX(3px);
	}

	.vk-mobile-nav .vk-menu-acc .sub-menu > li > a:hover::after {
		transform: translate(4px, -52%);
	}


	/* ==================================================
		CONTACT
	================================================== */

	.vk-mobile-nav .vk-menu-acc > li.menu-contact {
		margin-top: 24px !important;
		border-top: 0 !important;
	}

	.vk-mobile-nav .vk-menu-acc > li.menu-contact > a {
		justify-content: center;
		min-height: 54px;
		padding: 15px 24px !important;

		color: #ffffff !important;
		background:
			linear-gradient(
				135deg,
				#6258a8 0%,
				#4d4589 100%
			) !important;

		border: 1px solid #6258a8 !important;

		font-size: 12px !important;
		font-weight: 500 !important;
		letter-spacing: .16em !important;

		box-shadow: 0 10px 26px rgba(98,88,168,.17);

		transition:
			transform .25s ease,
			box-shadow .25s ease,
			background .25s ease;
	}

	.vk-mobile-nav .vk-menu-acc > li.menu-contact > a::before {
		display: none !important;
	}

	.vk-mobile-nav .vk-menu-acc > li.menu-contact > a:hover {
		padding-left: 24px !important;
		color: #ffffff !important;
		background:
			linear-gradient(
				135deg,
				#544b96 0%,
				#3f3a72 100%
			) !important;
		transform: translateY(-2px);
		box-shadow: 0 14px 30px rgba(98,88,168,.24);
	}


	/* ==================================================
		MENU BOTTOM DECORATION
	================================================== */

	.vk-mobile-nav .vk-menu-acc::after {
		content: "KOFU, YAMANASHI  /  EST. 1951";
		display: block;
		margin-top: 34px;
		padding-top: 22px;
		color: #9996aa;
		border-top: 1px solid rgba(34,34,34,.08);
		font-family: 'Jost', sans-serif;
		font-size: 9px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: .18em;
	}


	/* ==================================================
		MOBILE HEADERとの位置調整
	================================================== */

	#site-header .site-header-logo {
		z-index: 2200 !important;
	}

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
		z-index: 2300 !important;
	}

}


/* ==================================================
	SMALL SMARTPHONE
================================================== */

@media (max-width: 480px) {

	#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
		top: 12px !important;
		left: 13px !important;
		width: 42px !important;
		height: 42px !important;
	}

	.vk-mobile-nav::before {
		padding: 80px 22px 26px;
	}

	.vk-mobile-nav .vk-menu-acc {
		padding-right: 22px !important;
		padding-left: 22px !important;
	}

	.vk-mobile-nav .vk-menu-acc > li > a {
		min-height: 58px;
		font-size: 17px !important;
	}

}

