@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&family=Barlow+Condensed:wght@100;200;300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url(https://db.onlinewebfonts.com/c/b461b7ace66f0d83a3146b642ad9baff?family=LeJeuneDeck-Regular);


@font-face {
	font-family: Okamura Sans;
	font-weight: 400;
	src: url(//www.okamura.co.jp/brand/assets/fonts/OkamuraSans-400-Regular.woff2) format("woff2")
}

@font-face {
	font-family: Okamura Sans;
	font-weight: 700;
	src: url(//www.okamura.co.jp/brand/assets/fonts/OkamuraSans-700-Bold.woff2) format("woff2")
}




.albert-sans-medium {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* 変数 */
:root {
	/* カラースキーム */
	--okm-red: #e60039; 

	--color-coral-900: #9a5d87;
	--color-coral-700: #df80c3;
	--color-coral-500: #ff9ee5;
	--color-coral-300: #fccced;
	--color-coral-100: #e8d2e3;
	--color-green-900: #758c5a;
	--color-green-700: #a1b880;
	--color-green-500: #bcdc8f;
	--color-green-300: #d6e2c5;
	--color-green-100: #d3d9cc;
	--color-blue-900: #67899b;
	--color-blue-700: #87b7d0;
	--color-blue-500: #91d9ff;
	--color-blue-300: #ceecff;
	--color-blue-100: #d8e4ee;
	--color-purple-900: #726e8f;
	--color-purple-700: #9b95c7;
	--color-purple-500: #c2b9fa;
	--color-purple-300: #d7d1fd;
	--color-purple-100: #d6d6ed;

	--nav-link-color: #fff; 

	--icon-size: 24px;

	/* フォント */
	--okm-shin-go-l: "UD Shin Go Light" , "UDShinGoPro-Light", sans-serif;
	--okm-shin-go-r: "UD Shin Go Regular" ,  "UDShinGoPro-Regular", sans-serif;
	--okm-shin-go-m: "UD Shin Go Medium" , "UDShinGoPro-Medium" , sans-serif;
	--okm-shin-go-db: "UD Shin Go DemiBold" , "UDShinGoPro-DeBold", sans-serif;
	--okm-shin-go-b: "UD Shin Go Bold" , "UDShinGoPro-Bold", sans-serif;
	--okm-shin-go-h: "UD Shin Go Heavy" , "UDShinGoPro-Heavy" , sans-serif;

	/* テキストサイズ */
	--text-default: clamp(12px, calc(100vw * 16 / 1024) , 16px); 

	/* HERO以外のセクション共通フレーム */
	--lux-frame-reference-width: 1512px;
	--lux-frame-reference-width: 1366px;
	--lux-frame-reference-width: 1280px;

	--decorative-text-color: #d8e4ee; 

}




html {
	scroll-snap-type: none;
	scroll-padding-top: 0;
}

body {

}

.mhs--lux--article {

}


a.back--slide::after {
	content: ""; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	height: 100%; 
	width: 100%; 
	background: var(--okm-red); 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;
	z-index: 1; 
}

a.back--slide:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}


#wrapper {
	overflow: visible;
	overflow-x: clip;
}

/* ナビゲーション */
.mhs--lux--local-nav {
	position: sticky; 
	z-index: 10; 
	top: 66px; 
	background: #000; 
	display: flex;
	justify-content: space-between;
	gap: 20px; 
	padding-left: 0; 
	padding: 0; 
	gap: 0px; 
	backdrop-filter: blur(10px); 
}

.mhs--lux--local-nav__nav {
	/* overflow-x: scroll;  */
}

.mhs--lux--local-nav__list,
.mhs--lux--local-nav__cta  {
	display: flex;
	flex-wrap: nowrap;
	align-items: center; 
	height: 50px; 
	gap: 0; 
}

.mhs--lux--local-nav__list {
	display: none; 
}

.mhs--lux--local-nav__cta {
	gap: 0; 
	width: 100%; 
}

a.mhs--lux--local-nav__link,
a.mhs--lux--local-nav__cta-link {
	font-size:clamp(12px, calc(100vw * 13 / 1024) , 13px);
	color: #fff; 
	transition: color .5s ease;
	flex: 1; 
}

a.mhs--lux--local-nav__link {
	display: flex;
	align-items: center; 
	gap: 10px; 
	height: 60px; 
	padding: 10px; 
	background: #000; 
	transition: background .5s ease;
	position: relative
}

a.mhs--lux--local-nav__link::after {
	content: ""; 
	position: absolute; 
	width: 100%; 
	height: 2px; 
	left: 0px; 
	bottom: 0px; 
	background: var(--okm-red); 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .2s ease;
}

.is-current a.mhs--lux--local-nav__link, 
a.mhs--lux--local-nav__link:hover {
	background: #333; 
}

.is-current a.mhs--lux--local-nav__link::after,
a.mhs--lux--local-nav__link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}


a.mhs--lux--local-nav__link::before {
	content: ""; 
	display: block; 
	width: 4px; 
	height: 4px; 
	border-right: 1px solid #fff; 
	border-bottom: 1px solid #fff; 
	transform: rotate(45deg) translateY(-2px); 
}

a.mhs--lux--local-nav__cta-link {
	display: flex;
	justify-content: center;
	align-items: center; 
	gap: 5px; 
	height: 50px; 
	padding: 0 15px; 
	position: relative; 
	overflow: hidden; 
	color: #fff; 
	background-color: #444; 
}

a.mhs--lux--local-nav__cta-link:after {
	content: ""; 
	position: absolute; 
	top: -5%; 
	left: -5%; 
	width: 110%; 
	height: 110%; 
	background: #f3f3f5; 
	z-index: 1; 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;
	z-index: 1; 
}

a.mhs--lux--local-nav__cta-link:hover {
	color: var(--okm-red); 
}

a.mhs--lux--local-nav__cta-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.mhs--lux--local-nav__cta-link-icon-dl,
.mhs--lux--local-nav__cta-link-icon-entry {
	width: var(--icon-size); 
	height: var(--icon-size); 
	border: 1px solid #fff; 
	background-color: #fff; 

	mask-image: url('../images/icon_dl_form_mail.svg'); 
	mask-repeat: no-repeat;

	mask-size: calc(var(--icon-size)*3) var(--icon-size);

	-webkit-mask-image: url('../images/icon_dl_form_mail.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: calc(var(--icon-size)*-1) 0;
	-webkit-mask-size: calc(var(--icon-size)*3) var(--icon-size);
	transition: background-color .5s ease;

	z-index: 2; 

}

.mhs--lux--local-nav__cta-link-icon-dl {
	mask-position: 0 0;
	-webkit-mask-position: 0 0;
}

.mhs--lux--local-nav__cta-link-icon-entry {
	mask-position: calc(var(--icon-size)*-1) 0;
	-webkit-mask-position: calc(var(--icon-size)*-1) 0;
}

.mhs--lux--local-nav__cta-link:hover .mhs--lux--local-nav__cta-link-icon-dl,
.mhs--lux--local-nav__cta-link:hover .mhs--lux--local-nav__cta-link-icon-entry {
	background-color: var(--okm-red); 
}

.mhs--lux--local-nav__label,
.mhs--lux--local-nav__cta-label {
	display: block; 
	line-height: 1.4; 
	word-break: keep-all; 
	text-align: center; 
	z-index: 3; 
}

.mhs--lux--local-nav__label {

}


/* リンク色 */


/* モバイル：各セクションは通常のドキュメントフローで表示 */
.mhs--lux--content {
	position: relative;
	width: 100%;
	height: auto;
	overflow: visible;
}

/* 
.mhs--lux--section {
	position: relative;
	width: 100%;
	height: auto;
	min-height: 0;
	background: #fff;
	scroll-snap-align: none;
	scroll-snap-stop: normal;
}
 */

/* 共通セクション */
.mhs--lux--section {
	scroll-margin-top: 105px;
}

.mhs--lux--section__decorative-text {
	position: fixed; 
	display: block; 
	height: 1em; 
	line-height: 1; 
	bottom: 0px; 
	right: 0px; 
	top: auto; 
	left: auto; 

	font-family: "LeJeuneDeck-Regular";
	font-size:clamp(20px, calc(100vw * 120 / 1024) , 120px); 
	text-transform:capitalize;
	transform: translate(0, 0.18em);
	color: var(--decorative-text-color); 
	filter: blur(2px);
	transition: color .7s ease;
	display: none; 
}

/* コンテンツInner */


.mhs--lux--section__inner {
	position: relative;
	inset: auto;
	box-sizing: border-box;
	padding: 40px 20px;
}


.mhs--lux--hero .mhs--lux--section__inner {
	padding: 0;
	height: 100%;
}

.mhs--lux--section:not(.mhs--lux--hero) .mhs--lux--section__inner {
	box-sizing: border-box;
	width: min(calc(100% - 20px), var(--lux-frame-reference-width)); 
	margin: 0 auto;
	padding: 80px 0;
	display: grid;
	grid-template-rows: 40px auto;
	row-gap: 40px;
}

/* コンテンツフレーム領域 */


.mhs--lux--section__frame-area {
	width: 100%;
}


/* コンテンツフレーム */


.mhs--lux--section__frame {
	width: min(calc(100vw - 20px), 1200px); 
	height: auto;
}


.mhs--lux--hero .mhs--lux--section__frame {
	width: 100%; 
	height: 100%;
}


/* タイトル */
.mhs--lux--section__title {
	font-size:clamp(18px, calc(100vw * 24 / 1024) , 24px); 
	font-weight: 900; 
	display: block; 
	text-align: center; 
	position: relative; 
	line-height: 1.6; 
	height: 40px; 
}

.mhs--lux--hero {
	/* ヘッダー・フッターを除いた高さ */
	height: calc(100vh - (65px + 66px)); 
	height: calc(100dvh - (65px + 66px)); 
}

.mhs--lux--hero__layout {
	width: 100%;
	height: 100%;
	position: relative; 
	isolation: isolate;

	display: grid;
	place-items: center;
}

.mhs--lux--hero__content {
	position: relative; 
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch; 
	flex-direction: column; 
	row-gap: 30px; 
	width: min(calc(100% - 40px), 1280px); 
}

.mhs--lux--hero__copy {
	text-shadow: 0 0 15px rgba(0,0,0,5); 
}

.mhs--lux--hero__eyebrow {
	font-size:clamp(12px, calc(100vw * 28 / 1024) , 28px); 
	font-family: var(--okm-shin-go-b);
	color: #fff; 
	margin-bottom: 1em;
}

.mhs--lux--hero__title {
	display: flex;
	align-items: flex-end; 
	gap: 10px; 
	color: #fff; 
	margin-bottom: 20px;
}

.mhs--lux--hero__title-name {
	font-size:clamp(32px, calc(100vw * 80 / 1024) , 80px); 
	font-family: var(--okm-shin-go-b);
	line-height: 1; 
}

.mhs--lux--hero__title-reading {
	font-size:clamp(16px, calc(100vw * 18 / 1024) , 18px); 
	font-family: var(--okm-shin-go-b);
	line-height: 1.8; 
}

.mhs--lux--hero__subtitle {
	background: rgba(0,0,0,0.7); 
	color: #fff; 
	width: fit-content; 
	padding: 0.25em 0.5em; 
	font-family: var(--okm-shin-go-m);
	font-size:clamp(14px, calc(100vw * 20 / 1024) , 20px); 
	margin-bottom:clamp(5px, calc(100vw * 20 / 1024) , 20px); 

}

.mhs--lux--hero__lead {
	font-size:clamp(12px, calc(100vw * 18 / 1024) , 18px); 
	font-family: var(--okm-shin-go-b);
	letter-spacing: 0.1em; 
	line-height: 2; 
	color: #fff; 
}

.mhs--lux--hero__lead p {
	text-align: left;
    text-justify: none;
	word-break: keep-all; 
}

.mhs--lux--hero__visit {
	position: relative; 
	padding: clamp(20px, calc(100vw * 40 / 1024) , 40px) clamp(20px, calc(100vw * 60 / 1024) , 60px); 
	border-radius: 10px;
	color: #fff; 
	width: fit-content; 

	align-self: flex-end;
	align-self: flex-start;
}

.mhs--lux--hero__visit::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--color-blue-900);
	border-radius: inherit;
	mix-blend-mode: multiply;
	backdrop-filter: blur(4px); 
	z-index: 0;
}

.mhs--lux--hero__visit-inner,
.mhs--lux--hero__visit-action {
	position: relative;
	z-index: 1;
}

.mhs--lux--hero__visit-inner {
	display: flex;
	justify-content: space-between;
	align-items: center; 
	gap: 20px; 
}

.mhs--lux--hero__visit-inner:before {
	content: ""; 
	height: clamp(40px, calc(100vw * 80 / 1024) , 80px); 
	width: clamp(40px, calc(100vw * 80 / 1024) , 80px); 
	background: #fff; 
	border-radius: 50%;

	background-image: url('../images/icon_calendar.svg'); 
	background-repeat: no-repeat; 
	background-position: 50%; 

	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;

	background-size: 60%;
}

.mhs--lux--hero__visit-heading {
	font-size:clamp(12px, calc(100vw * 14 / 1024) , 14px); 
	font-family: var(--okm-shin-go-m);
}

.mhs--lux--hero__visit-date {
	display: flex;
	align-items: flex-end; 
	gap: 10px; 
}

.mhs--lux--hero__visit-date-value {
	font-size:clamp(20px, calc(100vw * 48 / 1024) , 48px); 
	font-family: var(--okm-shin-go-b);
	line-height: 1; 
}

.mhs--lux--hero__visit-weekday {
	font-size:clamp(14px, calc(100vw * 20 / 1024) , 20px); 
	line-height: 1.4; 
}

.mhs--lux--hero__visit-action {

}

.mhs--lux--hero__visit-action:before {
	content: ""; 
	display: block; 
	width: 100%; 
	height: 1px; 
	border-top: 1px solid #fff; 
	margin: clamp(10px, calc(100vw * 20 / 1024) , 20px) 0;
}

.mhs--lux--hero__visit-link {
	display: block; 
	width: 100%; 
	background: var(--okm-red); 
	text-align: center; 
	position: relative; 
}

.mhs--lux--hero__visit-link::after {
	content: ""; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	height: 100%; 
	width: 100%; 
	background: #fff; 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;
	z-index: 1; 
}

.mhs--lux--hero__visit-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.mhs--lux--hero__visit-link-label {
	display: block; 
	font-family: var(--okm-shin-go-r);
	font-size:clamp(14px, calc(100vw * 18 / 1024) , 18px); 
	letter-spacing: 0.1em; 
	padding:clamp(5px, calc(100vw * 16 / 1024) , 16px); 
	color: #fff; 
	position: relative; 
	z-index: 2; 
	transition: color .5s ease;

	display: flex;
	justify-content: center;
	align-items: center; 
	gap: 5px; 
}

.mhs--lux--hero__visit-link-icon {
	display: block; 
	width: var(--icon-size); 
	height: var(--icon-size); 

	background-color: #fff; 

	mask-image: url('../images/icon_dl_form_mail.svg'); 
	mask-repeat: no-repeat;
	mask-position: calc(var(--icon-size) * -1) 0;
	mask-size: calc(var(--icon-size) * 3) var(--icon-size);

	-webkit-mask-image: url('../images/icon_dl_form_mail.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: calc(var(--icon-size) * -1) 0;
	-webkit-mask-size: calc(var(--icon-size) * 3) var(--icon-size);
	transition: background-color .5s ease;


}

.mhs--lux--hero__visit-link:hover .mhs--lux--hero__visit-link-icon {
	background-color: var(--okm-red); 
}

.mhs--lux--hero__visit-link:hover .mhs--lux--hero__visit-link-label {
	color: var(--okm-red); 
}

/* 
.mhs--lux--hero__visit-link::before {
	content: ""; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	height: 100%; 
	width: 100%; 
	outline: 1px solid var(--okm-red); 
	outline-offset: -1px; 
	z-index: 2; 
	transition: outline-offset .5s ease;
}

.mhs--lux--hero__visit-link:hover::before {
	outline-offset: -5px; 
}
 */

/* Hero slider / Ken Burns */
.mhs--lux--hero__slider {
	position: relative; 
	overflow: hidden; 
	width: 100%;
	height: 100%;
}

.mhs--lux--hero__slider::after {
	content: ""; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	height: 100%; 
	width: 50%; 
	background: linear-gradient(to right,  rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); 
	z-index: 10; 
}

.mhs--lux--hero__slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	pointer-events: none;
	width: 100%;
	height: 100%;
}

.mhs--lux--hero__slide:first-child {
	position: relative;
	z-index: 2;
	opacity: 1;
	visibility: visible;
}

.mhs--lux--hero__slide img,
.mhs--lux--hero__slide video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	backface-visibility: hidden;
	will-change: transform;
}

/* スライダー */
.mhs--lux--hero__slider {
	width: 100%;
	height: 100%;
	position: absolute; 
	top: 0px; 
	left: 0px; 
	z-index: -1; 
}

/* スクロールフラグ */
.mhs--lux--hero__scroll-cue {
	position: absolute; 
	width: 100%; 
	bottom: 30px; 
	z-index: 3; 
	text-align: center; 
	transition: opacity .5s ease;
	display: none; 
}

.mhs--lux--hero__scroll-cue-indicator {
	margin: auto;
	background: #fff; 
	width: fit-content; 
	font-size: 12px; 
	padding: 5px 20px; 
}


/* LUXについて */
.mhs--lux--about {

}

.mhs--lux--section__lead {
	text-align: center; 
}

.mhs--lux--section__lead p {
	text-align : initial;
	text-justify : initial;
	display: block; 
	text-align: center; 
}

.mhs--lux--section__lead em,
.mhs--lux--section__lead span {
	display: block; 
	word-break: keep-all; 
}

.mhs--lux--section__lead em {
	font-size:clamp(16px, calc(100vw * 18 / 1366) , 20px); 
	font-family: var(--okm-shin-go-db);
	margin-bottom: 0.5em;
}


.mhs--lux--about__highlights {
	display: grid; 
	grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); 
	gap:0; 
	margin: 40px 0;
	border-top: 1px solid #eee; 
}

.mhs--lux--about__highlight {
	display: grid; 
	gap: 10px 40px; 
	grid-template-columns: 80px minmax(0, 1fr);
	padding: 20px; 
	border-bottom: 1px solid #eee; 
}

.mhs--lux--about__highlight-icon {
	aspect-ratio: 1;
	object-fit: cover; 
	width: 80px; 
	border-radius: 50%;
	background: #e9edf1; 
	grid-column: 1 / 2; 
	grid-row: 1 / 3; 
	background-image: url('../images/icon_about.svg'); 
	background-repeat: no-repeat; 
	background-size: 240px 80px;
}

.mhs--lux--about__highlight-icon--observe {
	background-position: 0 0; 
}

.mhs--lux--about__highlight-icon--understand {
	background-position: -80px 0; 
}

.mhs--lux--about__highlight-icon--envision {
	background-position: -160px 0; 
}

.mhs--lux--about__highlight-title {
	grid-column: 2 / 3; 
	grid-row: 1 / 2; 
	font-family: var(--okm-shin-go-b);
	font-size:clamp(16px, calc(100vw * 20 / 1024) , 20px); 
	color: #333; 
}

.mhs--lux--about__highlight-description {
	grid-column: 2 / 3; 
	grid-row: 2 / 3; 
	font-size: var(--text-default); 
	line-height: 1.8; 
	font-family: var(--okm-shin-go-m);
	align-self: center; 
}


.mhs--lux--about__overview {
	display: grid; 
	grid-template-columns: 1fr;
	.mhs--lux--about__overview: 60px; 
	row-gap: 20px;
}

.mhs--lux--about__overview-lead {

}

.mhs--lux--about__overview-lead p {
	display: block; 
	font-size:clamp(14px, calc(100vw * 16 / 1024) , 16px); 
	margin-bottom: 1em;
}

a.mhs--lux--about__overview-movie-link {
	display: flex;
	align-items: center; 
	gap: 10px; 
	position: relative; 
	width: fit-content; 
	padding-bottom: 5px; 
	background: var(--okm-red); 
	border: 1px solid var(--okm-red); 
	padding: 5px 30px; 
	color: #fff; 
	overflow: hidden; 
	border-radius: 50px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}

a.mhs--lux--about__overview-movie-link::after {
	content: ""; 
	position: absolute; 
	bottom: 0px; 
	left: 0px; 
	width: 100%; 
	height: 100%; 
	background: #fff; 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;
}

a.mhs--lux--about__overview-movie-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.mhs--lux--about__overview-movie-label {
	position: relative; 
	transition: color .5s ease;
	z-index: 2; 
	font-family: var(--okm-shin-go-m);
	font-size:clamp(12px, calc(100vw * 14 / 1024) , 14px); 
}

a.mhs--lux--about__overview-movie-link:hover .mhs--lux--about__overview-movie-label {
	color: var(--okm-red); 
}

.mhs--lux--about__overview-movie-icon {
	display: block;
	position: relative;
	aspect-ratio: 1;
	border: 1px solid #fff; 
	width: 20px;
	height: 20px;
	border-radius: 50%;
	z-index: 3; 
	transition: border .5s ease;
}

a.mhs--lux--about__overview-movie-link:hover .mhs--lux--about__overview-movie-icon {
	border: 1px solid var(--okm-red); 
}

.mhs--lux--about__overview-movie-icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #fff;
	transform: translate(-30%, -50%);
	transition: border .5s ease;
}

a.mhs--lux--about__overview-movie-link:hover .mhs--lux--about__overview-movie-icon::before {
	border-left: 6px solid var(--okm-red);
}

.mhs--lux--about__gallery {
	display: grid; 
	grid-template-columns: repeat(3, 1fr); 
	gap: 10px; 
}

.mhs--lux--about__gallery-item {

}

.mhs--lux--about__gallery-image {
	aspect-ratio: 3 / 2;
	width: 100%; 
	height: auto; 
	object-fit: cover; 
	border: 1px solid #eee; 
}

.mhs--lux--about__gallery-caption {
	font-size:clamp(12px, calc(100vw * 14 / 1024) , 14px); 
	margin-top: 0.5em;
	font-family: var(--okm-shin-go-m);
}

/* 展示製品 */
.mhs--lux--products {
	background: #222;
	background: linear-gradient(0deg, rgba(34, 34, 34, 1) 0%, rgba(56, 56, 56, 1) 100%);
	color: #fff; 
}


.mhs--lux--products-grid {
	display: grid; 
	grid-template-columns: repeat(auto-fit, minmax(335px, 1fr)); 
	gap:clamp(15px, calc(100vw * 30 / 1024) , 30px); 
}


.mhs--lux--products-grid__item {
	padding:clamp(5px, 100vw * 40 / 1200 , 40px); 
	background: rgba(0,0,0,0.2); 

	border-width: 1px; 
	border-style: solid; 
	border-color: rgba(255,255,255,0.1) rgba(0,0,0,0.2) rgba(0,0,0,0.2) rgba(255,255,255,0.1) ; 

	display: grid; 
	grid-template-rows: subgrid; 
	grid-row: span 4; 
	gap: 0; 
	transition: transform .4s ease, box-shadow .4s ease;
}

.mhs--lux--product {
	display: grid; 
	grid-template-rows: subgrid; 
	grid-row: span 4; 
	gap: 0; 

}

.mhs--lux--product__header {
	margin-bottom: 30px;
}

.mhs--lux--product__media {
	aspect-ratio: 16 / 9;
	position: relative; 
	width: 100%; 
	margin-bottom: 30px;
}

.mhs--lux--product__image {
	aspect-ratio: 16 / 9;
	width: 100%; 
	height: auto; 
	object-fit: cover; 
}

.mhs--lux--product__movie {
	position: absolute;
	inset: 0;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: #000;
	overflow: hidden;
	cursor: pointer;
}

.mhs--lux--product__movie-poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: transform .4s ease, opacity .4s ease;
}

.mhs--lux--product__movie-poster.is-loaded {
	opacity: 1;
}

.mhs--lux--product__movie::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .18);
	transition: background .4s ease;
}

.mhs--lux--product__movie-play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: grid;
	place-items: center;
	width: clamp(52px, 6vw, 76px);
	height: clamp(52px, 6vw, 76px);
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 50%;
	background: rgba(0, 0, 0, .35);
	backdrop-filter: blur(4px);
	transform: translate(-50%, -50%);
	transition: transform .4s ease, background .4s ease;
}

.mhs--lux--product__movie-play::before {
	content: "";
	width: 0;
	height: 0;
	margin-left: 4px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 13px solid #fff;
}

.mhs--lux--product__movie:hover .mhs--lux--product__movie-poster {
	transform: scale(1.04);
}

.mhs--lux--product__movie:hover::after {
	background: rgba(0, 0, 0, .08);
}

.mhs--lux--product__movie:hover .mhs--lux--product__movie-play {
	background: rgba(0, 0, 0, .55);
	transform: translate(-50%, -50%) scale(1.08);
}

.mhs--lux--product__movie:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.mhs--lux--product__description {
	margin-bottom: 30px;
	font-size: var(--text-default); 
	line-height: 1.8; 
}

.mhs--lux--product__footer {
	display: flex;
	justify-content: space-between;
	align-items: center; 
	gap: 0; 
}

.mhs--lux--product__tags {
	display: flex;
	align-items: center; 
	gap: 10px; 
}

.mhs--lux--product__tag {

}

.mhs--lux--product__tag-label {
	font-size: 12px;
	display: block; 
	padding: 0 1em;
	border: 1px solid #666;
	border-radius: 50px;
	color: #fff; 
	background: #000; 
}

.mhs--lux--product__details-link {
	display: block; 
	position: relative; 
	background: #fff; 
	display: none; 
}

.mhs--lux--product__details-link-label {
	padding: 2px 10px; 
	position: relative; 
	z-index: 2; 
	color: #333; 
	font-size: 14px; 
	transition: all .5s ease;

	display: flex;
	align-items: center; 
	gap: 5px; 

}

a:hover .mhs--lux--product__details-link-label {
	color: #fff; 
}

.mhs--lux--product__details-link-label::after {
	content: ""; 
	display: block; 
	width: 6px; 
	height: 6px; 
	border-top: 1px solid #000; 
	border-right: 1px solid #000; 
	transform: rotate(45deg); 
	transform-origin: center; 
	transition: border-color .5s ease;
}

a:hover .mhs--lux--product__details-link-label::after {
	border-color: #fff; 
}

.mhs--lux--products__note {
	margin-top: 0.5em;
	display: block; 
	text-align: right; 
}

.mhs--lux--products__note p {
	text-align : initial;
	text-justify : initial;
	display: block; 
	text-align: right; 
	font-size:clamp(12px, calc(100vw * 14 / 1366) , 14px); 
}


/* 商品詳細モーダル */
html.is-lux-product-modal-open,
html.is-lux-product-modal-open body {
	overflow: hidden !important;
	overscroll-behavior: none;
}

.mhs--lux--product-modal {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .35s ease, visibility 0s linear .35s;
}

.mhs--lux--product-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .35s ease;
}

.mhs--lux--product-modal__dialog {
	position: absolute;
	inset: 0;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #fff;
	color: #222;
	overflow: hidden;
}

.mhs--lux--product-modal__content {
	box-sizing: border-box;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: clamp(30px, 5vw, 80px);
}

.mhs--lux--product-modal__title {
	margin: 0 0 1em;
	font-family: var(--okm-shin-go-b);
	font-size: clamp(24px, calc(100vw * 44 / 1024), 44px);
	line-height: 1.3;
}

.mhs--lux--product-modal__close {
	position: absolute;
	top: clamp(12px, 2vw, 24px);
	right: clamp(12px, 2vw, 24px);
	z-index: 2;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.mhs--lux--product-modal__close::before,
.mhs--lux--product-modal__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 1px;
	background: #222;
	transform-origin: center;
}

.mhs--lux--product-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.mhs--lux--product-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.mhs--lux--product-modal__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.mhs--lux--product-modal,
	.mhs--lux--product-modal__dialog {
		transition-duration: .01ms;
	}
}


/* YouTube動画モーダル */
html.is-lux-video-modal-open,
html.is-lux-video-modal-open body {
	overflow: hidden !important;
	overscroll-behavior: none;
}

.mhs--lux--video-modal {
	position: fixed;
	inset: 0;
	z-index: 1000001;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .35s ease, visibility 0s linear .35s;
}

.mhs--lux--video-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .35s ease;
}

.mhs--lux--video-modal__dialog {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	padding: clamp(20px, 5vw, 80px);
	background: #000;
}

.mhs--lux--video-modal__player {
	position: relative;
	width: min(100%, 1440px);
	aspect-ratio: 16 / 9;
	background: #000;
}

.mhs--lux--video-modal__player iframe,
.mhs--lux--video-modal__player video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.mhs--lux--video-modal__player video {
	object-fit: contain;
	background: #000;
}

.mhs--lux--video-modal__close {
	position: absolute;
	top: clamp(12px, 2vw, 24px);
	right: clamp(12px, 2vw, 24px);
	z-index: 2;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .45);
	cursor: pointer;
}

.mhs--lux--video-modal__close::before,
.mhs--lux--video-modal__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 1px;
	background: #fff;
	transform-origin: center;
}

.mhs--lux--video-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.mhs--lux--video-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.mhs--lux--video-modal__close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.mhs--lux--product__movie-poster,
	.mhs--lux--product__movie-play,
	.mhs--lux--video-modal {
		transition-duration: .01ms;
	}
}


/* モデルツアー */
.mhs--lux--model-tour {
	background: #f7f7f5
}


.mhs--lux--model-tour__flow-container {
	max-width: 1200px;
	margin: auto;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 20px; 

	scrollbar-width: thin; 
	scrollbar-color: #ddd transparent; 
	scrollbar-gutter: stable both-edges; 
}


.mhs--lux--model-tour__flow {
	width: auto; 
}


.mhs--lux--model-tour__flow-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	gap: 40px;
	min-width: calc((160px * 4) + (40px * 3));
}

.mhs--lux--model-tour__step {
	display: grid; 
	grid-template-rows: subgrid; 
	grid-row: span 4; 
	scroll-snap-align: start;
	position: relative; 
}

.mhs--lux--model-tour__step::after {
	content: ""; 
	position: absolute; 
	right: 0px; 
	top: 50%; 
	width: 40px; 
	height: 80px; 
	transform: translate(100%, -50%) ;
	clip-path: polygon(15% 0%, 45% 0%, 90% 50%, 45% 100%, 15% 100%, 60% 50%);
	background-size: 200% 100%;
	background-image: linear-gradient(to right,  #d8e4ee 0%,#f5f5f5 50%,#d8e4ee 100%); 
	background-position: 0 0;
	animation: 2s infinite arrow;

}


@keyframes arrow {
    0% {
		background-position: 200% 0%;
    }
    100% {
		background-position: 0 0%;
    }
}


.mhs--lux--model-tour__step:last-child::after {
	display: none; 
}

.mhs--lux--model-tour__step-grid {
	display: grid; 
	grid-template-rows: subgrid; 
	grid-row: span 4; 
	gap: 20px; 
	align-items: center;

}

.mhs--lux--model-tour__step-icon {
	width: 80px; 
	height: 80px; 
	margin: auto;
	background: #fff; 
	border-radius: 50%;
	box-shadow: 0 3px 3px rgba(0,0,0,0.2) inset;

	background-image: url('../images/icon_tour.svg'); 
	background-repeat: no-repeat; 
	background-size: 400px 80px;
}

.mhs--lux--model-tour__step-icon--orientation {
	background-position: 0 0; 
}

.mhs--lux--model-tour__step-icon--overview {
	background-position: -80px 0; 
}

.mhs--lux--model-tour__step-icon--demo {
	background-position: -160px 0; 
}

.mhs--lux--model-tour__step-icon--consultation {
	background-position: -240px 0; 
}

.mhs--lux--model-tour__step-icon--closing {
	background-position: -320px 0; 
}

.mhs--lux--model-tour__step-heading {
	text-align: center; 
	font-family: var(--okm-shin-go-b);
	font-size:clamp(14px, calc(100vw * 16 / 1024) , 16px); 
	line-height: 1.4; 
}

.mhs--lux--model-tour__step-description {
	text-align: center; 
	font-size:clamp(12px, calc(100vw * 14 / 1024) , 14px); 
	line-height: 1.6; 
}

.mhs--lux--model-tour__step-description-text {
	word-break: keep-all; 
}

.mhs--lux--model-tour__step-description-text em {
	font-size:clamp(11px, calc(100vw * 12 / 1024) , 12px); 
	font-family: var(--okm-shin-go-db);
}

.mhs--lux--model-tour__step-duration {
	text-align: center; 
}

.mhs--lux--model-tour__step-duration-label {
	display: inline-block; 
	padding: 2px 20px; 
	background: var(--okm-red); 
	color: #fff; 
	font-family: var(--okm-shin-go-b);
	font-size:clamp(10px, calc(100vw * 12 / 1024) , 12px); 
}

/* 定例見学会の概要 */
.mhs--lux--overview {

}


.mhs--lux--overview__details {
	max-width: 960px; 
	margin: auto;
	border-top: 1px solid #ddd; 
	font-size: var(--text-default); 
	line-height: 1.8; 
}


.mhs--lux--overview__detail {
	display: flex;
	align-items: flex-start; 
	flex-direction: column; 
	gap: 5px; 
	padding: 10px 0; 
	border-bottom: 1px solid #ddd; 
}

.mhs--lux--overview__detail-term {
	font-family: var(--okm-shin-go-db);
	display: flex;
	align-items: center; 
	gap: 10px; 
}

.mhs--lux--overview__detail-icon {

	--icon-num: 7; 

	display: inline-block; 
	border: 1px solid #000; 
	width: var(--icon-size); 
	height: var(--icon-size); 
	background-color: var(--okm-red); 
	border-radius: 50%;

	mask-image: url('../images/icon_overview.svg'); 
	mask-repeat: no-repeat;
	mask-size: calc(var(--icon-size) * var(--icon-num)) var(--icon-size);

	-webkit-mask-image: url('../images/icon_overview.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: calc(var(--icon-size) * var(--icon-num)) var(--icon-size);
}

.mhs--lux--overview__detail-icon--date {
	mask-position: 0 -1px;
	-webkit-mask-position: 0 -1px;
}

.mhs--lux--overview__detail-icon--time {
	mask-position: calc(var(--icon-size) * -1) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -1) -1px;
}

.mhs--lux--overview__detail-icon--duration {
	mask-position: calc(var(--icon-size) * -2) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -2) -1px;
}

.mhs--lux--overview__detail-icon--capacity {
	mask-position: calc(var(--icon-size) * -3) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -3) -1px;
}

.mhs--lux--overview__detail-icon--format {
	mask-position: calc(var(--icon-size) * -4) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -4) -1px;
}

.mhs--lux--overview__detail-icon--deadline {
	mask-position: calc(var(--icon-size) * -5) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -5) -1px;
}

.mhs--lux--overview__detail-icon--eligibility {
	mask-position: calc(var(--icon-size) * -6) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -6) -1px;
}

.mhs--lux--overview__detail-label {
	display: inline-flex;
	justify-content: space-between;
	align-items: center; 
	/* width: 4em;  */
}

.mhs--lux--overview__detail-description {
	margin-left: 34px;
}

/* お申し込み方法 */
.mhs--lux--application {
	background: #F0F5F9; 
}

.mhs--lux--application__content {
	max-width: 1280px; 
	margin: auto;
}


.mhs--lux--application__options {
	background: #fff; 
	padding: 20px; 
	border-radius: 15px;

	display: flex;
	flex-wrap: wrap;
	flex-direction: column; 
	gap: 20px; 

}

.mhs--lux--application__item {
	display: flex;
	flex-direction: column; 
	gap: 20px; 
}

.mhs--lux--application__title {
	font-size:clamp(18px, calc(100vw * 20 / 1024) , 24px); 
	font-family: var(--okm-shin-go-b);
	margin-bottom: 10px;
	color: #469; 
}



.mhs--lux--application__item--new {
	border-bottom: 1px dotted #469; 
	padding-bottom: 20px; 
}

.mhs--lux--application__link {
	display: flex;
	align-items: center; 
	gap: 15px; 
	position: relative; 
	overflow: hidden; 
	transition: color .5s ease;
	box-shadow: 0 5px 5px rgba(0,0,0,0.1);

}


a.mhs--lux--application__link--new {
	background: #469; 
	border: 1px solid #469; 
	padding: 25px 60px; 
	padding: 20px 30px; 
	color: #fff; 
	border-radius: 50px;
	font-family: var(--okm-shin-go-m);
	font-size:clamp(16px, calc(100vw * 18 / 1024) , 18px); 
}

a.mhs--lux--application__link--existing {
	background: #fff; 
	border: 1px solid #469; 
	padding: 5px 30px; 
	color: #469; 
	border-radius: 30px;
	font-family: var(--okm-shin-go-db);
	font-size:clamp(14px, calc(100vw * 16 / 1024) , 16px); 
}

.mhs--lux--application__link::after {
	content: ""; 
	position: absolute; 
	width: 100%; 
	height: 100%; 
	top: 0px; 
	left: 0px; 
	z-index: 1; 
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease;
}

a.mhs--lux--application__link--new::after {
	background: #fff; 
}

a.mhs--lux--application__link--existing::after {
	background: #469; 
}

.mhs--lux--application__link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

a.mhs--lux--application__link--new:hover {
	color: #469; 
}

a.mhs--lux--application__link--existing:hover {
	color: #fff; 
}

.mhs--lux--application__item--existing .mhs--lux--application__description {
	font-family: var(--okm-shin-go-db);
}

.mhs--lux--application__link-icon {
	width: var(--icon-size); 
	height: var(--icon-size); 

	mask-image: url('../images/icon_dl_form_mail.svg'); 
	mask-repeat: no-repeat;
	mask-size: calc(var(--icon-size)*3) var(--icon-size);

	-webkit-mask-image: url('../images/icon_dl_form_mail.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: calc(var(--icon-size)*3) var(--icon-size);
	z-index: 2; 

	transition: background-color .5s ease;
}

.mhs--lux--application__link-icon--form {
	background-color: #fff; 
	mask-position: calc(var(--icon-size)*-1) 0;
	-webkit-mask-position: calc(var(--icon-size)*-1) 0;
}

a.mhs--lux--application__link--new:hover .mhs--lux--application__link-icon--form {
	background-color: #469; 
}

.mhs--lux--application__link-icon--mail {
	background-color: #469; 
	mask-position: calc(var(--icon-size)*-2) 0;
	-webkit-mask-position: calc(var(--icon-size)*-2) 0;
}

a.mhs--lux--application__link--existing:hover .mhs--lux--application__link-icon--mail {
	background-color: #fff; 
}

.mhs--lux--application__link-label {
	position: relative; 
	z-index: 3; 
}

/* アクセス */

.mhs--lux--access {

}

.mhs--lux--access__content {
	display: grid; 
	column-gap:clamp(20px, calc(100vw * 60 / 1024) , 60px); 
	row-gap: 20px; 
	grid-template-columns: 1fr; 

}

.mhs--lux--access__info {
	order: 1; 
}

.mhs--lux--access__facility {
	display: flex;
	align-items: flex-end; 
	gap: 5px; 
}

.mhs--lux--access__facility-name {
	font-size:clamp(14px, calc(100vw * 20 / 1024) , 20px); 
	font-family: var(--okm-shin-go-b);
	line-height: 1.4; 
}

.mhs--lux--access__facility-note {
	font-size:clamp(10px, calc(100vw * 12 / 1024) , 12px); 
	line-height: 1.8; 

}

.mhs--lux--access__map-link {
	font-size:clamp(9px, calc(100vw * 9 / 1024) , 9px); 
	background: #e9e7e6; 
	line-height: 1.8; 
	padding: 4px 8px; 
	width: fit-content; 
}

.mhs--lux--access__address {
	font-size: var(--text-default); 
	margin: 5px 0 10px;
}

.mhs--lux--access__map-link a {
	display: flex;
	align-items: center; 
	gap: 4px; 
}

.mhs--lux--access__map-link a::before {
	content: ""; 
	display: inline-block; 
	width: 15px; 
	height: 15px; 
	background-image: url('../images/map_pin.svg'); 
	background-repeat: no-repeat; 
	background-size: 15px 15px;
}

.mhs--lux--access__map {
	order: 2; 
	width: 100%;
	aspect-ratio: 1;
}

.mhs--lux--access__map iframe {
	display: block;
	width: 100%; 
	height: 100%; 
}

.mhs--lux--access__directions {
	order: 3; 
	font-size: var(--text-default); 
	line-height: 1.8; 
}

.mhs--lux--access__details {
	border-top: 1px solid #ddd; 

}

.mhs--lux--access__detail {

	--icon-num: 4; 

	display: flex;
	align-items: start; 
	gap: 5px 20px; 

	flex-direction: column; 
	padding: 10px 0; 
	border-bottom: 1px solid #ddd; 
}



.mhs--lux--access__detail-term {
	display: flex;
	align-items: center; 
	gap: 5px; 

	width: calc(4em + var(--icon-size) + 5px); 

}

.mhs--lux--access__detail-icon {
	display: block; 
	width: var(--icon-size); 
	height: var(--icon-size); 
	background: #FF8C00; 

	mask-image: url('../images/icon_access.svg'); 
	mask-repeat: no-repeat;
	mask-size: calc(var(--icon-size) * var(--icon-num)) var(--icon-size);

	-webkit-mask-image: url('../images/icon_access.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: calc(var(--icon-size) * var(--icon-num)) var(--icon-size);

}

.mhs--lux--access__detail-icon--car {
	mask-position: 0 -1px;
	-webkit-mask-position: 0 -1px;
}

.mhs--lux--access__detail-icon--parking {
	mask-position: calc(var(--icon-size) * -1) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -1) -1px;
}

.mhs--lux--access__detail-icon--navigation {
	mask-position: calc(var(--icon-size) * -2) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -2) -1px;
}

.mhs--lux--access__detail-icon--transit {
	mask-position: calc(var(--icon-size) * -3) -1px;
	-webkit-mask-position: calc(var(--icon-size) * -3) -1px;
}

.mhs--lux--access__detail-label {
	font-family: var(--okm-shin-go-db);
	/* width: 6em;  */
	display: flex;
	justify-content: space-between;
	gap: 0; 
}

.mhs--lux--access__detail-value {
	margin-left: calc(var(--icon-size) + 5px);
}

.mhs--lux--access__detail-list {
	list-style-type:  disc; 
	padding-left: 1em; 
}

.mhs--lux--access__detail-list li {

}

.mhs--lux--access__detail-value em {
	display: inline-block; 
	margin-right: 0.5em;
	font-weight: normal; 
	font-family: var(--okm-shin-go-m);
}

/* よくあるご質問 */
.mhs--lux--faq {
	background: #fafafa; 
}

.mhs--lux--faq__content {
	height: auto; 
	overflow-y: scroll; 
	margin: auto;
}

.mhs--lux--faq__list {
	border-top: 1px solid #ddd; 
	max-width: 960px; 
	margin: auto;
}

.mhs--lux--faq__list:last-child {
	border-bottom: 1px solid #ddd; 
}

.mhs--lux--faq__question,
.mhs--lux--faq__answer {
	display: flex;
	width: 100%; 
	align-items: flex-start; 
	gap: 20px; 
}

.mhs--lux--faq__question {
	cursor: pointer;
	transition: font-weight .5s ease, background-color 0.5s ease;
	padding:clamp(10px, calc(100vw * 20 / 1024) , 20px); 
	align-items: center; 
}

.mhs--lux--faq__question:hover {
	background-color: #F5F5F3; 
}

.is-open .mhs--lux--faq__question {
	font-weight: bold; 
	background-color: #F5F5F3; 
}

.mhs--lux--faq__answer {
	display: none;
	padding: 
		clamp(10px, calc(100vw * 20 / 1024) , 20px)  
		clamp(10px, calc(100vw * 20 / 1024) , 20px)  
		clamp(20px, calc(100vw * 40 / 1024) , 40px);  
}

.mhs--lux--faq__question::before,
.mhs--lux--faq__answer::before {
	content: ""; 
	display: block; 
	width: var(--icon-size); 
	height: var(--icon-size); 

	background-image: url('../images/icon_faq.svg'); 
	background-repeat: no-repeat; 

	width: var(--icon-size); 
	height: var(--icon-size); 

	background-size: calc(var(--icon-size)*2) var(--icon-size); 
}

.mhs--lux--faq__question::before {
	background-position: 0 0; 
}

.mhs--lux--faq__answer::before {
	background-position: calc(var(--icon-size)*-1) 0; 
}

.mhs--lux--faq__question-text,
.mhs--lux--faq__answer-text {
	width: calc(100% - (2em + 20px)); 
	font-size: var(--text-default); 
	line-height: 1.8; 
}

.mhs--lux--faq__answer-text {
	width: calc(100% - (1em + 20px + 17px + 20px)); 
}

.mhs--lux--faq__icon {
	width: 17px; 
	height: 1.8em; 
	display: block; 
	margin-left: auto;
	position: relative; 
}

.mhs--lux--faq__icon::before,
.mhs--lux--faq__icon::after {
	content: ""; 
	position: absolute; 
	display: block; 
	background: #333; 
	transition: transform .4s ease;
}

.mhs--lux--faq__icon::before {
	width: 17px;
	height: 1px; 
	left: 0px; 
	top: 0.9em; 
}

.mhs--lux--faq__icon::after  {
	height: 17px; 
	width: 1px; 
	left: 8px; 
	top: 0px; 

	top: calc(0.9em - 8px)
}

.is-open .mhs--lux--faq__icon::before {
	transform: rotate(0); 
}

.is-open .mhs--lux--faq__icon::after {
	transform: rotate(90deg); 
}

/* cta */
.mhs--lux--cta {
	padding: clamp(30px, calc(100vw * 100 / 1024) , 100px)  0; 
	background: #f4f5f7; 
	position: relative; 

  background-image: url('../images/mhs--lux--cta.jpg'); 
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center;
  background-size:cover; 
}

.mhs--lux--cta:after {
	content: ""; 
	position: absolute; 
	width: 100%; 
	height: 100%; 
	top: 0px; 
	left: 0px; 
	right: 0px; 
	bottom: 0px; 
	background: rgba(0,0,0,0.5); 
	z-index: 1; 
	backdrop-filter: blur(0) brightness(70%);
}

.mhs--lux--cta__contents {
	width: min(calc(100% - 40px), 1200px); 
	margin: auto;
	position: relative; 
	z-index: 2; 
}

.mhs--lux--cta__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.mhs--lux--cta__text,
.mhs--lux--cta__action {
	text-align: center; 
}

.mhs--lux--cta__title {
	font-size:clamp(18px, calc(100vw * 32 / 1024) , 36px); 
	line-height: 1.4; 
	font-family: var(--okm-shin-go-b);
	word-break: keep-all; 
	margin-bottom: 15px;
	color: #fff; 
	text-shadow: 0 0 5px rgba(0,0,0,0.5); 
}

.mhs--lux--cta__info {
	font-size:clamp(12px, calc(100vw * 14 / 1024) , 16px); 
	width: fit-content; 
	background: #000; 
	color: #fff; 
	padding: 10px 10px; 
}

.mhs--lux--cta__link {
	position: relative; 
	display: flex;
	align-items: center; 
	gap: 10px; 
	width: fit-content; 

	padding: clamp(10px, calc(100vw * 30 / 1024) , 30px)  clamp(40px, calc(100vw * 40 / 1024) , 100px) ; 

	background: var(--okm-red); 
	border-radius: 50px;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
	overflow: hidden; 
	margin: auto;
	border: 1px solid var(--okm-red); 
}

.mhs--lux--cta__link:after {
	content: ""; 
	display: block; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	width: 100%; 
	height: 100%; 
	background: #fff; 
	z-index: 1; 

	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;

}

.mhs--lux--cta__link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.mhs--lux--cta__link-label {
	display: block; 
	font-size:clamp(16px, calc(100vw * 20 / 1024) , 20px); 
	color: #fff; 
	position: relative; 
	z-index: 2; 
	transition: color .5s ease;
}

.mhs--lux--cta__link:hover .mhs--lux--cta__link-label {
	color: var(--okm-red); 
}


.mhs--lux--cta__link-icon {
	position: relative; 
	z-index: 3; 
	width: var(--icon-size); 
	height: var(--icon-size); 
	display: block; 
	aspect-ratio: 1;
	background-color: #fff; 

	mask-image: url('../images/icon_dl_form_mail.svg'); 
	mask-repeat: no-repeat;
	mask-position: calc(var(--icon-size) * -1) 0;
	mask-size: calc(var(--icon-size) * 3)  var(--icon-size);

	-webkit-mask-image: url('../images/icon_dl_form_mail.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: calc(var(--icon-size) * -1) 0;
	-webkit-mask-size: calc(var(--icon-size) * 3)  var(--icon-size);
	transition: background-color .5s ease;
}


.mhs--lux--cta__link:hover .mhs--lux--cta__link-icon {
	background-color: var(--okm-red); 
}

/* 関連情報 */
.mhs--lux--related__title {
	font-size:clamp(14px, calc(100vw * 20 / 1024) , 20px); 
	margin-bottom: 20px;
}

.mhs--lux--related__products {
	width: min(calc(100% - 20px), 1280px); 
	margin: 0 auto 60px;
}

.mhs--lux--related__product-list {
	display: grid; 
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); 
	gap: 20px 5%; 
}

.mhs--lux--related__product-item {

}

.mhs--lux--related__product-link {
	border: 1px solid #eee; 
	padding: 15px; 
	background: #fff; 
	transition: box-shadow .5s;
}

.mhs--lux--related__product-link:hover {
	box-shadow: 0 0 15px 0px rgba(0,0,0,0.2);
}

.mhs--lux--related__product-image {
	aspect-ratio: 3 / 2;
	width: 100%; 
	height: auto; 
	object-fit: cover; 
}

.mhs--lux--related__product-name {
	display: block; 
	margin-top: 10px;
	font-size:clamp(12px, calc(100vw * 16 / 1024) , 16px); 
}


.mhs--lux--related {
	padding: 100px 0; 
	background: #fff; 
	position: relative; 
}

.mhs--lux--related__download {
	width: min(calc(100% - 20px), 1280px); 
	margin: auto;
}


/* 資料ダウンロード */
.mhs--lux--related__download-item {
	width: 100%; 
	background: #f5f5f3; 
	border-radius: 5px;
	padding:clamp(20px, calc(100vw * 50 / 1024) , 50px); 
}

.mhs--lux--related__download-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center; 
	flex-direction: column; 
	row-gap: 10px; 
}

.mhs--lux--related__download-text {
	display: block; 
	font-size:clamp(16px, calc(100vw * 20 / 1024) , 20px); 
	font-family: var(--okm-shin-go-m);
	color: #222; 
}

.mhs--lux--related__download-link {
	padding:clamp(10px, calc(100vw * 15 / 1024) , 15px) clamp(30px, calc(100vw * 60 / 1024) , 60px);  
	background: #688A9D; 
	border-radius: 100px;
	display: flex;
	align-items: center; 
	gap: 20px; 

	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
	overflow: hidden; 
	position: relative; 
	border: 1px solid #fff; 
}

.mhs--lux--related__download-link::after {
	content: ""; 
	display: block; 
	position: absolute; 
	top: 0px; 
	left: 0px; 
	width: 100%; 
	height: 100%; 
	background: #fff; 
	z-index: 1; 

	transform-origin: right;
	transform: scaleX(0);
	transition: transform .5s ease, opacity .5s ease;
}

.mhs--lux--related__download-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}


.mhs--lux--related__download-icon {
	position: relative; 
	z-index: 3; 
	width: var(--icon-size); 
	height: var(--icon-size); 
	background-color: #fff; 

	mask-image: url('../images/icon_dl_form_mail.svg'); 
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: calc(var(--icon-size) * 3) var(--icon-size);

	-webkit-mask-image: url('../images/icon_dl_form_mail.svg'); 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: calc(var(--icon-size) * 3) var(--icon-size);
	transition: background-color .5s ease;
}

.mhs--lux--related__download-link-label {
	position: relative; 
	z-index: 2; 
	font-family: var(--okm-shin-go-db);
	color: #fff; 
	transition: color .5s ease;

}

.mhs--lux--related__download-link:hover .mhs--lux--related__download-icon {
	background-color: #688A9D; 
}

.mhs--lux--related__download-link:hover .mhs--lux--related__download-link-label {
	color: #688A9D; 
}

/* ==================================================
= Media Queries
================================================== */

/* 480px未満 */
@media only screen and (max-width: 479px) {


}

/* 480px以上 */
/* スマホ */
@media only screen and (min-width: 480px) {


}

/* 568px以上 */
/* タブレット */
@media only screen and (min-width: 568px) {


}

/* 667px以上 */
/* タブレット */
@media only screen and (min-width: 667px) {


}

/* 768px以上 */
/* タブレット */
@media only screen and (min-width: 768px) {


}

/* 1024px以上 */
/* PC */
@media only screen and (min-width: 1024px) {

:root {
		--icon-size: 32px;
}

	html {
		scroll-snap-type: none;
		scroll-padding-top: 0;
	}

	body {
		padding-top: 101px; 
	}

	.okm--h--wrapper--header {
		// position: relative; 
	}


	.mhs--lux--article {
		position: relative;
		isolation: isolate; 
	}




	/* ナビゲーション */
	.mhs--lux--local-nav {
		top: 101px; 
		transition: top .4s ease;
	}

	.hiddenHeader .mhs--lux--local-nav {
		top: 0px; 
	}


	.mhs--lux--local-nav__list,
	.mhs--lux--local-nav__cta  {
		height: 60px; 
		width: auto; 
	}

	.mhs--lux--local-nav__list {
		display: flex; 
	}

	a.mhs--lux--local-nav__cta-link {
		height: 60px; 
		flex: 1 1 auto; 
		background-color: var(--okm-red); 
	}

	.mhs--lux--local-nav__cta-link-icon-dl,
	.mhs--lux--local-nav__cta-link-icon-entry {

	}

	/* 共通セクション */
	.mhs--lux--section {
		scroll-margin-top: 60px;
	}

	/* 通常スクロール用PCレイアウト */
	.mhs--lux--section:not(.mhs--lux--hero) .mhs--lux--section__inner {
		row-gap: 60px;
	}

	/* タイトル */
	.mhs--lux--hero {
		height: calc(100dvh - (101px + 60px)); 
	}

	/* HERO以外：frame-area 内で 1512 × 780 を維持したまま最大化 */
	.mhs--lux--section:not(.mhs--lux--hero) .mhs--lux--section__frame {
		width: 100%;
		height: auto;
		margin: 0;
		container-type: inline-size;
		font-size:clamp(14px, calc(100vw * 16 / 1024) , 16px); 
	}





	.mhs--lux--hero__layout {
		width: 100%;
		height: 100%;
	}

	.mhs--lux--hero__content {
		align-items: center; 
		flex-direction: row; 
	}



	/* LUXについて */
	.mhs--lux--about__highlights {
		gap: 0; 
		margin-bottom: 80px;
		border: none; 
		border-left: 1px solid #eee; 
	}

	.mhs--lux--about__highlight {
		gap: 20px; 
		justify-items: center;
		padding: 30px; 
		grid-template-columns: 1fr;
		grid-template-rows: subgrid; 
		grid-row: span 3; 
		align-items: center;
		border: none; 
		border-right: 1px solid #eee; 
	}

	.mhs--lux--about__highlight-icon {
		grid-column: 1 / 2; 
		grid-row: 1 / 2; 
	}

	.mhs--lux--about__highlight-title {
		grid-column: 1 / 2; 
		grid-row: 2 / 3; 
	}

	.mhs--lux--about__highlight-description {
		grid-column: 1 / 2; 
		grid-row: 3 / 4; 
	}

	.mhs--lux--about__highlight-description p {
		text-align: center; 
	}

	.mhs--lux--about__overview {
		grid-template-columns: calc((100% - 120px) / 3)  calc((100% - 120px) / 3*2 + 60px); 
		gap: 60px; 
		align-items: start;
	}


	.mhs--lux--about__gallery {
		gap: 30px; 
	}

	/* 展示製品 */


	/* モデルツアー */


	/* 定例見学会の概要 */



	.mhs--lux--overview__detail {
		flex-direction: row; 
		gap: 20px; 
		padding: 20px 10px; 
	}

	.mhs--lux--overview__detail-term {
		width: 130px; 
		border-right: 1px solid #ddd; 
	}


	.mhs--lux--overview__detail-icon {

	}

	.mhs--lux--overview__detail-label {
		width: 4em; 
	}


	.mhs--lux--overview__detail-description {
		width: calc(100% - 160px); 
		margin: 0;
	}


	/* お申し込み方法 */

	.mhs--lux--application__options {
		padding: clamp(20px, calc(100vw * 40 / 1024) , 40px) clamp(20px, calc(100vw * 50 / 1024) , 50px); 
	}

	.mhs--lux--application__item {

		justify-content: space-between;
		flex-direction: row; 
		align-items: center; 
	}

	a.mhs--lux--application__link--new {
		padding: 25px 60px; 
	}

	/* アクセス */

	.mhs--lux--access__content {
		grid-template-columns: 1fr 1fr; 
		grid-template-columns: repeat(2, 1fr); 
		row-gap: clamp(20px, calc(100vw * 60 / 1024) , 60px); 
	}

	.mhs--lux--access__info {
		order: initial; 
		grid-column: 2 / 3; 
		grid-row: 1 / 2; 
	}

	.mhs--lux--access__map {
		order: initial; 
		grid-column: 1 / 2; 
		grid-row: 1 / 3; 
		width: 100%;
		height: 100%;
	}

	.mhs--lux--access__directions {
		order: initial; 
		grid-column: 2 / 3; 
		grid-row: 2 / 3; 
		align-self: end;
	}

	.mhs--lux--access__details {

	}

	.mhs--lux--access__detail {
		padding: 1em 0; 
		flex-direction: row; 
	}


	.mhs--lux--access__detail-label {
		width: 4em; 
	}


	.mhs--lux--access__detail-value {
		margin-left: 0;
	}


	/* よくあるご質問 */
	.mhs--lux--faq__list {
		--icon-size: 48px;
	}

	.mhs--lux--faq {

	}

	.mhs--lux--faq .mhs--lux--section .mhs--lux--section__inner {
		width: min(calc(100% - 20px), 840px); 
	}



	/* cta */
	.mhs--lux--cta__layout {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.mhs--lux--cta__text{
		text-align: left; 
	}

	.mhs--lux--cta__action {
		white-space: nowrap;
		text-align: right; 
	}




	.mhs--lux--cta__link {
		padding: 30px 100px; 
	}

	/* 資料ダウンロード */

	.mhs--lux--related__download-content {
		justify-content: space-between;
		flex-direction: row; 


	}



}

@media only screen and (min-width: 1536px) {

	/* 展示製品 */
	.mhs--lux--products-grid {
		grid-template-columns: repeat(3, 1fr); 
	}

}


/* 1200px以上 */
/* PC */
@media only screen and (min-width: 1200px) {

	a.mhs--lux--local-nav__cta-link {
		padding: 0 20px; 
	}

}