@charset "utf-8";
@import url("/jutaku/common/css/rn03/fonts2.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');


/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
#container {
	margin-top: 0;
	padding-bottom: 100px;
	font-weight: 400;

	--base-color-black: #3E4A5C;
	--base-color-black02: #4A4A3E;
	--base-color-black03: #2C2E27;
	--base-color-gold: #B29E75;
}

/* ==

　01. モジュール

=============================================================================== */
/* MV
------------------------------------------------------------------------------- */
.hmMV {
	height: 810px;
	position: relative;
	overflow: hidden;
}
.hmMV > figure {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.hmMV > figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
	-webkit-filter: brightness(1.15) blur(24px);
	filter: brightness(1.15) blur(24px);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	-webkit-mask-size: 400% 100%;
	mask-size: 400% 100%;
	-webkit-mask-position: 100% 50%;
	mask-position: 100% 50%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	animation: hmMVImgReveal 1.8s cubic-bezier(0.8, 0, 0.5, 1) 0.2s forwards;
	will-change: filter, mask-position;
}
@keyframes hmMVImgReveal {
	to {
		-webkit-filter: brightness(1) blur(0);
		filter: brightness(1) blur(0);
		-webkit-mask-position: 50% 50%;
		mask-position: 50% 50%;
	}
}
.hmMV > figure img.devSmp {
	display: none;
}
.hmMV .hmMV_in {
	padding-top: clamp(80px, 2.449px + 8.163vw, 120px);
	text-align: center;
	position: relative;
	z-index: 2;
}
.hmMV .hmMV_logo img {
	width: clamp(260px, 182.449px + 8.163vw, 300px);
	height: auto;
}
.hmMV .hmMV_tit {
	margin-top: 20px;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 20px;
}
.hmMV .hmMV_tit .hmMV_tit_txt01 {
	padding: 12px 16px;
	border-radius: 5px;
	font-size: clamp(28px, 12.490px + 1.633vw, 36px);
	line-height: 1.3;
	font-family: "Playfair Display", serif;
	font-weight: 600;
	text-align: left;
	display: block;
	position: relative;
}
.hmMV .hmMV_tit .hmMV_tit_txt01::before {
	content: "";
	border: 1px solid #FFF;
	border-radius: 5px;
	position: absolute;
	inset: 0;
	clip-path: inset(50%);
	transition: clip-path 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmMV .hmMV_tit .hmMV_tit_txt01.is-line-active::before {
	clip-path: inset(0);
}
.hmMV .hmMV_tit .hmMV_tit_txt02 {
	display: block;
}
.hmMV .hmMV_tit .hmMV_tit_txt02 img{
	width: clamp(80px, 60.612px + 2.041vw, 90px);
	clip-path: inset(0 0 100% 0);
	transition: clip-path 1.2s cubic-bezier(0.25, 1, 0.5, 1) 3.8s;
}
.hmMV .hmMV_tit .hmMV_tit_txt02 img.is-inview {
	clip-path: inset(0 0 0% 0);
}



/* Concept
------------------------------------------------------------------------------- */
.hmConcept {
	background-color: #EDEEF0;
	position: relative;
}
.hmConcept::before {
	content: "";
	width: 41.6%;
	height: 100%;
	background: url(../images/bg01.png);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	animation: anime-hmConceptBG 100s infinite linear;
}
@keyframes anime-hmConceptBG {
	from {
		background-position: -602px 0;
	}
	to {
		background-position: 0 0;
	}
}
.hmConcept_in {
	max-width: 1128px;
	margin: 0 auto;
	padding: 60px 0;
	font-family: "Noto Serif JP", serif;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.hmConcept .hmConcept_tit {
	padding-right: clamp(46px, -70.327px + 12.245vw, 106px);
	display: flex;
	flex-direction: row-reverse;
}
.hmConcept .hmConcept_tit_catch {
	margin-top: 10px;
	font-size: clamp(32px, 16.490px + 1.633vw, 40px);
	color: var(--base-color-black);
	writing-mode: vertical-rl;
	white-space: nowrap;
}
.hmConcept .hmConcept_tit_catch > span.hmConcept_tit_catch_line {
	color: var(--base-color-gold);
	display: inline-block;
	position: relative;
}
.hmConcept .hmConcept_tit_catch > span.hmConcept_tit_catch_line::before {
	content: "";
	width: 1px;
	height: 100%;
	background: var(--base-color-gold);
	display: block;
	transform: scaleY(0);
	transform-origin: top;
	opacity: 0;
	transition: transform .6s cubic-bezier(0.25, 1, 0.5, 1), opacity .6s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmConcept .hmSplitText.is-line-active span.hmConcept_tit_catch_line::before {
	transform: scaleY(1);
	opacity: 1;
}
.hmConcept .hmConcept_tit_catch01 > span.hmConcept_tit_catch_line {
	margin-bottom: 0.4em;
}
.hmConcept .hmConcept_tit_catch02 {
	margin-top: 1.5em;
}
.hmConcept .hmConcept_tit_catch02 > span.hmConcept_tit_catch_line {
	margin-top: 0.4em;
}
.hmConcept .hmConcept_tit_catch02 > span.hmConcept_tit_catch_line::before {
	height: calc(100% - 0.5em);
}

.hmConcept .hmConcept_docs {
	width: 61%;
	margin: 0 0 120px;
	padding: 30px;
	background-color: #EDEEF0;
}
.hmConcept .hmConcept_docs p {
	font-size: clamp(18px, 14.122px + 0.408vw, 20px);
	line-height: 2.3;
	color: var(--base-color-black02);
	font-weight: 500;
}
.hmConcept .hmConcept_docs dl {
	margin-top: 30px;
	padding-top: 23px;
	border-top: 1px solid var(--base-color-black);
	font-size: 100%;
}
.hmConcept .hmConcept_docs dt {
	margin-bottom: 10px;
	font-size: 150%;
	color: var(--base-color-black);
	font-weight: 600;
}
.hmConcept .hmConcept_docs dd {
	font-size: 117%;
	font-family: "Noto Sans JP", sans-serif;
}



/* Design
------------------------------------------------------------------------------- */
.hmDesign {
	background-color: #637790;
	color: #FFF;
	position: relative;
}
.hmDesign::before {
	content: "";
	width: 34.72%;
	height: 100%;
	background: url(../images/bg02.png);
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	animation: anime-hmDesignBG 100s infinite linear;
}
@keyframes anime-hmDesignBG {
	from {
		background-position: -420px 0;
	}
	to {
		background-position: 0 0;
	}
}
.hmDesign_in {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 0 40px;
}
.hmDesign .hmDesign_docs {
	padding: clamp(150px, -5.102px + 16.327vw, 230px) 0 100px clamp(20px, -135.102px + 16.327vw, 100px);
	position: relative;
}
.hmDesign .hmDesign_tit {
	margin-bottom: 40px;
	display: flex;
	align-items: center;
	gap: 0 10px;
	white-space: nowrap;
}
.hmDesign .hmDesign_tit > span {
	padding: 8px 10px;
	border: 1px solid #FFF;
	border-radius: 4px;
	font-size: 134%;
	line-height: 1.3;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	text-align: left;
	display: block;
}
.hmDesign .hmDesign_tit h2 {
	margin-top: -0.1em;
	font-size: clamp(80px, 60.612px + 2.041vw, 90px);
	line-height: 1.0;
	font-family: "Playfair Display", serif;
	font-weight: 400;
}
.hmDesign .hmDesign_docs p {
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 2.3;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
}
.hmDesign .hmDesign_docs .hmDesign_btn{
	max-width: 280px;
	height: 48px;
	margin-top: 30px;
	background-color: #000;
	border-radius: 7px;
	font-size: clamp(14px, 10.122px + 0.408vw, 16px);
	color: #FFF;
	font-family: "Noto Sans JP", sans-serif;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
}
.hmDesign .hmDesign_docs .hmDesign_btn::after {
	content: "";
	width: 20px;
	height: 20px;
	background: url(../images/ico_plus.svg) left top no-repeat;
	background-size: 100% auto;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
.hmDesign .hmDesign_docs .hmDesign_btn a{
	padding: 0 40px 0 15px;
	color: #FFF;
	text-decoration: none;
	display: block;
}

.hmDesign .hmDesign_img01 {
	max-width: 1440px;
	margin: 0 auto;
	position: relative;	
}
.hmDesign .hmDesign_img01 > div {
	width: clamp(200px, -90.816px + 30.612vw, 350px);
	position: absolute;
	top: clamp(-180px, 25.714px + -14.286vw, -110px);
	left: clamp(108px, -202.204px + 32.653vw, 268px);
}
.hmDesign .hmDesign_img01 img {
	border-radius: 5px;
	box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.1);
}

.hmDesign_imgs {
	position: relative;
}
.hmDesign_imgs .hmDesign_img02 {
	max-width: 775px;
	width: clamp(540px, 84.388px + 47.959vw, 775px);
	margin: -40px 0 0 auto;
	position: relative;
	z-index: 2;
}
.hmDesign_imgs .hmDesign_img03 {
	margin-top: clamp(-100px, calc(135.102px - 16.327vw), -20px);
	margin-left: clamp(-75px, 233.571px + -21.429vw, 30px);
}
.hmDesign_imgs .hmDesign_img03 img {
	width: clamp(140px, -170.204px + 32.653vw, 300px);
}
.hmDesign_imgs > div img {
	border-radius: 5px;
	box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.1);
}

/* モーダル */
.hmDesign_meister {
	max-width: 680px;
	padding: 20px;
	background-color: #FFF;
	color: #2B3542;
	border-radius: 5px;
	box-sizing: border-box;
	position: relative;
	display: none;
}
.mfp-content .hmDesign_meister {
	display: block;
}
.hmDesign_meister::before,
.hmDesign_meister::after {
	content: "";
	width: 30px;
	height: 30px;
	background-color: #B29E75;
	border-radius: 5px 0 5px 0;
	display: block;
	position: absolute;
}
.hmDesign_meister::before {
	left: 0;
	top: 0;
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}
.hmDesign_meister::after {
	right: 0;
	bottom: 0;
	clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
}
.hmDesign_meister h3 {
	margin-bottom: 30px;
	font-size: 167%;
	color: #3E4A5C;
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}
.hmDesign_meister > div:not(.popup-modal-close){
	display: flex;
	gap: 0 30px;
}
.hmDesign_meister > div figure {
	max-width: 320px;
}
.hmDesign_meister > div p{
	margin-top: -0.75em;
	width: 43.75%;
	font-size: 117%;
	line-height: 2.0;
	color: #2B3542;
}

.mfp-inline-holder .mfp-content {
	width: auto;
	margin-top: 0;
	padding-top: 0;
}
.popup-modal-close {
	position: absolute;
	top: -30px;
	right: 0;
}
.popup-modal-close span{
	width: 20px;
	height: 20px;
	background: url(../images/ico_close.svg) left top no-repeat;
	display: block;
}



/* 平屋Life
------------------------------------------------------------------------------- */
.hmLife {
	padding: 20px 20px 40px;
	position: relative;
}
.hmLife::before {
	content: "";
	width: 602px;
	height: 555px;
	background: url(../images/life_bg.png);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	animation: anime-hmDesignBG 100s infinite linear;
}
@keyframes anime-hmLifeBG {
	from {
		background-position: -602px 0;
	}
	to {
		background-position: 0 0;
	}
}
.hmLife h2 {
	flex-shrink: 0;
	font-size: clamp(46px, 36.306px + 1.02vw, 51px);
	line-height: 1.0;
	color: var(--base-color-black03);
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
}
.hmLife h2 > span {
	margin-left: 5px;
	font-size: clamp(50px, 38.367px + 1.224vw, 56px);
	font-family: "Playfair Display", serif;
	display: inline-block;
}
.hmLifeGallery {
	position: relative;
	margin: 0;
	padding: 0;
}
.hmLifeGallery_stage {
	position: relative;
}
.hmLifeGallery_loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin: -50px 0 0 -50px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
}
.hmLifeGallery_in {
	overflow: hidden;
	opacity: 0;
}
.hmLifeGallery_in-show {
	opacity: 1;
}
.hmLifeGallery_list {
	font-size: 100%;
}
.hmLifeGallery_item figure {
	position: relative;
}
.hmLifeGallery_item figure img {
	width: 100%;
	height: auto;
	border-radius: 5px;
}
.hmLifeGallery_foot {
	margin: 0;
	padding: 28px clamp(20px, 0.612px + 2.041vw, 30px) 0 clamp(24px, 12.367px + 1.224vw, 30px);
	background-color: #FFF;
	display: flex;
	align-items: center;
	gap: 0 40px;
}
.hmLifeGallery_caption {
	flex: 1;
	min-height: 1.8em;
	position: relative;
	overflow: hidden;
	transition: height .4s ease;
}
.hmLifeGallery_caption p {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	font-size: clamp(14px, 10.122px + 0.408vw, 16px);
	line-height: 1.8;
	color: #333;
	opacity: 0;
	visibility: hidden;
	filter: blur(6px);
	transform: translateY(6px);
	transition: opacity .8s ease, filter .8s ease, transform .8s ease, visibility 0s linear .8s;
}
.hmLifeGallery_caption p.is-current {
	opacity: 1;
	visibility: visible;
	filter: blur(0);
	transform: translateY(0);
	transition: opacity .8s ease, filter .8s ease, transform .8s ease, visibility 0s linear 0s;
}

.hmLifeGallery_nav {
	flex-shrink: 0;
	margin: 0;
	line-height: 1;
	text-align: center;
	display: flex;
	align-items: center;
	gap: 0 16px;
}
.hmLifeGallery_nav .hmLifeGallery_btn {
	position: static;
	cursor: pointer;
}
.hmLifeGallery_nav .hmLifeGallery_btn span {
	width: 36px;
	height: 36px;
	background-color: var(--base-color-black03);
	border-radius: 45px;
	position: relative;
	display: block;
}
.hmLifeGallery_nav .hmLifeGallery_btn-prev span::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-left: 3px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: translateY(-50%) translateX(-50%) rotate(225deg);
}
.hmLifeGallery_nav .hmLifeGallery_btn-next span::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-left: -3px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
.hmLifeGallery_pager {
	font-size: clamp(22px, 15.755px + 1.224vw, 28px);
	color: var(--base-color-black03);
	font-family: "Noto Serif JP", serif;
	letter-spacing: -0.1em;
	display: block;
}


/* Plan
------------------------------------------------------------------------------- */
.hmPlan {
	margin-bottom: 70px;
	padding: 70px 60px 90px;
	background-color: #edeef0;
	font-family: "Noto Serif JP", serif;
}
.hmPlan_item {
	max-width: 1440px;
	margin: 0 auto 80px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 0 clamp(40px, 20.612px + 2.041vw, 50px);
}
.hmPlan_item:last-child {
	margin-bottom: 100px;
}
.hmPlan_docs{
	width: 45%;
	padding: 30px 0 140px;
	position: relative;
}
.hmPlan .hmPlan_tit {
	margin-bottom: clamp(40px, 20.612px + 2.041vw, 50px);
	display: flex;
	align-items: flex-start;
	gap: 0 20px;
}
.hmPlan .hmPlan_tit > span {
	padding: 6px 8px 8px;
	border: 1px solid var(--base-color-black03);
	border-radius: 4px;
	font-size: 134%;
	line-height: 1.3;
	color: var(--base-color-black03);
	font-weight: 600;
	font-family: "Playfair Display", serif;
	text-align: left;
	display: block;
}
.hmPlan .hmPlan_tit > div {
	margin-top: -3em;
}
.hmPlan .hmPlan_tit h2 {
	font-size: clamp(76px, 56.612px + 2.041vw, 86px);
	line-height: 1.0;
	color: var(--base-color-black03);
	font-family: "Playfair Display", serif;
	font-weight: 400;
}
.hmPlan .hmPlan_tit h2 > span.hmPlan_tit_num {
	font-size: clamp(103px, 83.612px + 2.041vw, 113px);
}
.hmPlan .hmPlan_tit_area{
	margin-top: 15px;
	color: #4A4A3E;
}
.hmPlan .hmPlan_tit_area span {
	padding-bottom: 5px;
	border-bottom: 1px solid #4A4A3E;
	display: inline-block;
}
.hmPlan h3 {
	margin-bottom: clamp(30px, 10.612px + 2.041vw, 40px);
	font-size: clamp(34px, 18.490px + 1.633vw, 42px);
	line-height: 1.6;
	color: var(--base-color-black03);
}
.hmPlan p.hmPlan_txt {
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 2.3;
	color: #4A4A3E;
}
.hmPlan .hmPlan_note {
	font-size: 108%;
	font-family: "Noto Sans JP", sans-serif;
	position: absolute;
	left: 0;
	bottom: 0;
}
.hmPlan_item > figure {
	width: calc(55% - clamp(40px, 20.612px + 2.041vw, 50px));
}
.hmPlan_item > figure img {
	border-radius: 5px;
}

.hmPlan_end .hmPlan_end_hdTxt {
	margin-bottom: 20px;
	font-size: clamp(36px, 24.367px + 1.224vw, 42px);
	line-height: 1.6;
	color: var(--base-color-black03);
	display: flex;
	align-items: center;
	gap: 0 14px;
}
.hmPlan_end .hmPlan_end_hdTxt::before,
.hmPlan_end .hmPlan_end_hdTxt::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: rgba(102, 102, 102, 0.5);
}
.hmPlan .hmPlan_end_txt {
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 2.3;
	color: #4A4A3E;
	text-align: center;
}

/* Quality
------------------------------------------------------------------------------- */
.hmQuality {
	padding: 0 20px 95px;
	color: #FFF;
	font-family: "Noto Serif JP", serif;
}
.hmQuality_in {
	max-width: 1400px;
	margin: 0 auto;
}
.hmQuality h2 {
	margin-bottom: 30px;
	font-size: clamp(76px, 48.857px + 2.857vw, 90px);
	line-height: 1.0;
	color: #b8a789;
	font-family: "Playfair Display", serif;
	text-align: center;
}
.hmQuality_pin {
	height: calc(var(--pin-steps, 4) * var(--pin-vh, 1vh) * 100);
	/*
	margin-bottom: clamp(70px, 11.837px + 6.122vw, 100px);
	*/
	margin-bottom: 20px;
	position: relative;
}
.hmQuality_list {
	width: 100%;
	margin-left: 0;
	padding: 50px 0;
	background-color: rgba(0, 0, 0, 0.7);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	position: sticky;
	top: 0;
	height: calc(var(--pin-vh, 1vh) * 100);
	overflow: hidden;
	transition: width .6s cubic-bezier(0.25, 1, 0.5, 1), margin-left .6s cubic-bezier(0.25, 1, 0.5, 1), border-radius .6s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmQuality_list.is-pinned {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	border-radius: 0;
}
.hmQuality_list-comfort {
	background-image: url(../images/quality_bg_comfort.jpg);
}
.hmQuality_list-safety {
	background-image: url(../images/quality_bg_safety.jpg);
}
.hmQuality_list_in {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	transition: padding .6s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmQuality_list_in > div.hmQuality_list-docs {
	width: 50%;
	text-align: center;
	box-sizing: border-box;
}
.hmQuality_list_in > div.hmQuality_list-docs h3 {
	margin: 0 0 clamp(32px, 16.490px + 1.633vw, 40px);
	padding: 0 0 clamp(32px, 16.490px + 1.633vw, 40px);
	font-size: clamp(32px, 16.490px + 1.633vw, 40px);
	line-height: 1.5;
	position: relative;
}
.hmQuality_list_in > div.hmQuality_list-docs h3::after {
	content: "";
	width: 100px;
	height: 1px;
	background-color: #FFF;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.hmQuality_list_in > div.hmQuality_list-docs ul {
	font-size: 100%;
}
.hmQuality_list .hmQuality_item {
	margin-bottom: clamp(22px, 6.490px + 1.633vw, 30px);
	opacity: .5;
	cursor: pointer;
	transition: opacity .4s ease, transform .4s ease;
}
.hmQuality_list .hmQuality_item:last-child {
	margin-bottom: 0;
}
.hmQuality_list .hmQuality_item.is-current {
	opacity: 1;
}
.hmQuality_list .hmQuality_item p.hmQuality_item_txt01 {
	font-size: clamp(13px, 9.122px + 0.408vw, 15px);
	line-height: 1.2;
	font-family: "Noto Sans JP", sans-serif;
}
.hmQuality_list .hmQuality_item p.hmQuality_item_txt02 {
	font-size: clamp(20px, 12.245px + 0.816vw, 24px);
	font-weight: 500;
}
.hmQuality_list .hmQuality_item p.hmQuality_item_note {
	font-size: 108%;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}
.hmQuality_list-imgs {
	width: 50%;
	padding: 0 50px 0 0;
	display: flex;
	align-items: center;
	gap: 0 20px;
	box-sizing: border-box;
}
.hmQuality_list-imgs > div {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	border-radius: 5px;
	overflow: hidden;
}
.hmQuality_list-imgs .hmQuality_img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(100%);
	transform-origin: center;
	z-index: 0;
}
.hmQuality_list-imgs .hmQuality_img img {
	width: 100%;
	height: 100%;
	border-radius: 5px;
	object-fit: cover;
	display: block;
}
.hmQuality_list-imgs .hmQuality_img.is-current {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	z-index: 1;
	transition: opacity .6s cubic-bezier(0.4, 0, 0.2, 1) .12s, transform .6s cubic-bezier(0.25, 1, 0.5, 1) .12s;
}
.hmQuality_list-imgs .hmQuality_img.is-leaving {
	opacity: 0;
	visibility: visible;
	transform: scale(.6);
	z-index: 2;
	transition: opacity .7s cubic-bezier(0.4, 0, 0.2, 1), transform .7s cubic-bezier(0.4, 0, 0.2, 1);
}
.hmQuality_list-imgs .hmQuality_img span {
	padding: 5px 10px;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 0 0 5px 0;
	font-size: 14px;
	color: #FFF;
	font-family: "Noto Sans JP", sans-serif;
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
}


.hmQuality_pager {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 16px 0;
}
.hmQuality_pager_item button {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	background-color: rgba(255, 255, 255, 0.5);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	transition: background-color .3s ease, transform .3s ease;
}
.hmQuality_pager_item button span {
	overflow: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(0, 0, 0, 0);
}
.hmQuality_pager_item.is-current button {
	background-color: #FFF;
	transform: scale(1.3);
}

.hmQuality_colorselect {
	margin-top: 80px;
}
.hmQuality_cs_tit {
	margin-bottom: 10px;
	padding-left: 30px;
	display: flex;
	align-items: center;
	gap: 0 clamp(30px, 10.612px + 2.041vw, 40px);
}
.hmQuality_cs_tit h3 {
	margin-bottom: 10px;
	font-size: clamp(38px, 18.612px + 2.041vw, 48px);
	color: var(--base-color-black03);
	white-space: nowrap;
}
.hmQuality_cs_txt {
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 2.0;
	color: #666;
	font-family: "Noto Sans JP", sans-serif;
}
.hmQuality_cs_wrap{
	display: flex;
	align-items: flex-start;
	gap: 0 10px;
}
.hmQuality_cs_imgs {
	width: 81.42857%;
	position: relative;
	flex: 1;
	min-width: 0;
	display: grid;
	overflow: hidden;
}
.hmQuality_cs_img {
	grid-area: 1 / 1;
	visibility: hidden;
	transition: visibility 0s linear 1.2s;
}
.hmQuality_cs_img.is-current {
	visibility: visible;
	transition: visibility 0s linear 0s;
}
.hmQuality_cs_img figure,
.hmQuality_cs_img img {
	width: 100%;
}
.hmQuality_cs_img figure > span {
	width: 100%;
	aspect-ratio: 1140 / 640;
	border-radius: 5px;
	display: block;
	overflow: hidden;
}
.hmQuality_cs_img figure img {
	height: auto;
	aspect-ratio: 1140 / 640;
	border-radius: 5px;
	object-fit: cover;
	display: block;
	opacity: 0;
	transform: scale(1.05);
	filter: blur(12px);
	transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.4, 0, 0.2, 1), filter 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.hmQuality_cs_img.is-current figure img {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}


.hmQuality_cs_img figcaption {
	margin-top: 20px;
	font-size: 150%;
	line-height: 1.0;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	opacity: 0;
	transition: opacity 0s;
}
.hmQuality_cs_img.is-current figcaption {
	opacity: 1;
	transition: opacity .4s ease .8s;
}
.hmQuality_cs_thumbs {
	width: 17.85714%;
	max-width: 250px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 10px;
}
.hmQuality_cs_thumbs .hmQuality_cs_thumb {
	width: calc((100% - 10px) / 2);
	background-color: #FFF;
	border-radius: 4px;
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.hmQuality_cs_thumbs .hmQuality_cs_thumb span {
	width: 100%;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
}

.hmQuality_cs_thumbs .hmQuality_cs_thumb:has(img) {
	cursor: pointer;
}
.hmQuality_cs_thumbs .hmQuality_cs_thumb img {
	width: 100%;
	height: 100%;
	border-radius: 4px;
	object-fit: cover;
	display: block;
	transition: opacity .3s ease;
	aspect-ratio: 1 / 1;
}
.hmQuality_cs_thumbs .hmQuality_cs_thumb:has(img):not(.is-current):hover img {
	opacity: .7;
}
.hmQuality_cs_thumbs .hmQuality_cs_thumb.is-current span img {
	width: calc(100% - 8px);
	height: calc(100% - 8px);
}

@media only screen and (max-width: 1100px) {
	.hmQuality_cs_wrap{
		display: block;
	}
	.hmQuality_cs_imgs {
		width: auto;
	}
	.hmQuality_cs_thumbs {
		width: auto;
		max-width: none;
		margin-top: 30px;
	}
	.hmQuality_cs_thumbs .hmQuality_cs_thumb {
		width: calc((100% - 10px * 9) / 10);
		height: auto;
	}
}


/* 暮らしを支える上質な標準設備
------------------------------------------------------------------------------- */
.hmEquipment {
	padding: 100px 20px 60px;
	background-color: #647791;
	color: #FFF;
	overflow: hidden;
	position: relative;
}
.hmEquipment::after {
	content: "HOUSING MEISTER PLAN";
	font-size: 122px;
	line-height: 1.0;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	opacity: 0.1;
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
}
.hmEquipment_in {
	max-width: 1120px;
	margin: 0 auto;
}

.hmEquipment h2 {
	margin-bottom: 30px;
	font-size: clamp(34px, 18.490px + 1.633vw, 42px);
	line-height: 1.6;
	color: #FFF;
	font-family: "Noto Serif JP", serif;
	display: flex;
	align-items: center;
	gap: 0 14px;
}
.hmEquipment h2::before,
.hmEquipment h2::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: rgba(255, 255, 255, 0.5);
	opacity: 0.6;
}
.hmEquipment_txt01 {
	margin-bottom: 40px;
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 1.5;
	font-weight: 400;
	text-align: center;
}
.hmEquipment .hmEquipment_list {
	margin-bottom: 80px;
	display: flex;
	gap: 0 30px;
}
.hmEquipment .hmEquipment_list li {
	width: calc((100% - 30px * 2) / 3);
}
.hmEquipment .hmEquipment_list li > img {
	border-radius: 4px;
}
.hmEquipment .hmEquipment_option {
	margin-bottom: 40px;
}
.hmEquipment .hmEquipment_option h3 {
	margin-bottom: 20px;
	font-size: clamp(24px, 16.245px + 0.816vw, 28px);
	line-height: 1.5;
	color: #FFF;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.hmEquipment .hmEquipment_opt_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 40px;
}
.hmEquipment .hmEquipment_opt_item {
	width: calc((100% - 40px * 3) / 4);
}
.hmEquipment .hmEquipment_opt_item figure {
	margin-bottom: 15px
}
.hmEquipment .hmEquipment_opt_item figure img {
	border-radius: 4px;
}
.hmEquipment .hmEquipment_opt_item h4 {
	margin-bottom: 5px;
	font-size: 134%;
	line-height: 1.5;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
}
.hmEquipment .hmEquipment_opt_item p {
	font-size: 108%;
	line-height: 1.5;
	font-weight: 400;
}
.hmEquipment .hmEquipment_opt_item-otonojiyuuku {
	position: relative;
}
.hmEquipment .hmEquipment_opt_item-otonojiyuuku figure {
	position: relative;
	z-index: 2;
}
.hmEquipment .hmEquipment_opt_item-otonojiyuuku dl {
	min-width: clamp(480px, 324.898px + 16.327vw, 560px);
	padding: 30px 20px 30px clamp(65px, 6.837px + 6.122vw, 95px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 4px;
	font-size: 100%;
	box-sizing: border-box;
	position: absolute;
	top: clamp(70px, 50.612px + 2.041vw, 80px);
	left: clamp(154px, 95.837px + 6.122vw, 184px);
	z-index: 1;
}
.hmEquipment .hmEquipment_opt_item-otonojiyuuku dt {
	margin-bottom: 10px;
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	line-height: 2.0;
	font-family: "Noto Serif JP", serif;
}
.hmEquipment .hmEquipment_opt_item-otonojiyuuku dd {
	font-size: clamp(13px, 9.122px + 0.408vw, 15px);
	line-height: 2.0;
}


.hmEquipment_message {
	margin-bottom: clamp(30px, 10.612px + 2.041vw, 40px);
	padding-top: clamp(110px, 71.224px + 4.082vw, 130px);
	text-align: center;
	position: relative;
}
.hmEquipment_message::before {
	content: "";
	width: 1px;
	height: clamp(90px, 70.612px + 2.041vw, 100px);
	background-color: rgba(255, 255, 255, 0.5);
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.hmEquipment_message .hmEquipment_message_txt01 {
	font-size: clamp(23px, 13.306px + 1.02vw, 28px);
	line-height: 1.8;
	color: #FFF;
	font-family: "Noto Serif JP", serif;
}

.hmEquipment_semiordermade {
	max-width: 715px;
	margin: 0 auto;
	padding: 25px 20px 30px;
	background-color: rgba(0, 0, 0, 0.3);
	border-radius: 5px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	box-sizing: border-box;
}
.hmEquipment_semiordermade_txt01 {
	font-size: clamp(36px, 16.612px + 2.041vw, 46px);
	line-height: 1.1;
	color: #B8A888;
	font-family: "Playfair Display", serif;
	font-weight: 400;
}
.hmEquipment_semiordermade_txt02 {
	margin-bottom: 10px;
	font-size: clamp(20px, 12.245px + 0.816vw, 24px);
	font-weight: 500;
}
.hmEquipment_semiordermade_txt03 {
	margin-bottom: 20px;
	font-size: clamp(14px, 10.122px + 0.408vw, 16px);
}
.hmEquipment_semiordermade_note {
	font-size: clamp(12px, 8.122px + 0.408vw, 14px);
	font-family: "Noto Sans JP", sans-serif;
}


.hmMessage {
	padding: clamp(300px, 86.735px + 22.449vw, 410px) 20px clamp(500px, 267.347px + 24.49vw, 620px);
	position: relative;
	overflow: hidden;
}
.hmMessage_bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.hmMessage_bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}
.hmMessage_bg img.hmImgReveal {
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	-webkit-mask-size: 100% 400%;
	mask-size: 100% 400%;
	-webkit-mask-position: 50% 100%;
	mask-position: 50% 100%;
}
.hmMessage_bg img.hmImgReveal.is-inview {
	-webkit-mask-position: 50% 50%;
	mask-position: 50% 50%;
}
.hmMessage_in {
	color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
}
.hmMessage p {
	font-family: "Noto Serif JP", serif;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	text-align: center;
}
.hmMessage p.hmMessage_txt01 {
	font-size: clamp(18px, 10.245px + 0.816vw, 22px);
	font-weight: 600;
}
.hmMessage p.hmMessage_txt02 {
	font-size: clamp(40px, 20.612px + 2.041vw, 50px);
	font-weight: 500;
	letter-spacing: -0.1em;
}
.hmMessage p.hmMessage_txt02::after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #FFF;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
	display: block;
	transform-origin: left;
	transform: scaleX(0);
	opacity: 0;
	transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmMessage p.hmMessage_txt02.is-line-active::after {
	transform: scaleX(1);
	opacity: 1;
}
.hmMessage p.hmMessage_note {
	padding: 5px 10px;
	background-color: rgba(0, 0, 0, 0.5);
	font-size: 14px;
	color: #FFF;
	font-family: "Noto Sans JP", sans-serif;
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
}


.hmNotes {
	padding: 20px;
}
.hmNotes p {
	font-size: 108%;
	line-height: 1.6;
	color: #666;
}


/* よくある質問
------------------------------------------------------------------------------- */
.hmFaq {
	padding: 0 20px;
	background-color: #EDEEF0;
}
.hmFaq_in{
	max-width: 960px;
	margin: 0 auto;
	padding: 100px 0 30px;
}
.hmFaq h2 {
	margin-bottom: clamp(40px, 20.612px + 2.041vw, 50px);
	font-size: clamp(26px, 12.429px + 1.429vw, 33px);
	line-height: 1.0;
	color: #333;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}
.hmFaq ul {
	font-size: 100%;
}
.hmFaq li {
	margin-bottom: 60px;
}
.hmFaq h3 {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #CCC;
	font-size: clamp(18px, 14.122px + 0.408vw, 20px);
	font-weight: 700;
	color: #333;
	letter-spacing: 0.1em;
	font-family: "Noto Serif JP", serif;
}
.hmFaq li p{
	font-size: clamp(14px, 10.122px + 0.408vw, 16px);
	line-height: 1.8;
	color: #333;
	font-weight: 400;
	letter-spacing: 0.1em;
}
#container .hmFaq .fBtn01.fBtn01_shohin a{
	margin: 0 auto;
}


/* コンバージョン
------------------------------------------------------------------------------- */
.hmCTA a {
	text-decoration: none;
	display: block;
}
.hmCTA .hmCTA_btn {
	width: clamp(340px, 223.673px + 12.245vw, 400px);
	height: clamp(54px, 42.367px + 1.224vw, 60px);
	margin: 0 auto;
	background-color: #000;
	border-radius: 5px;
	font-size: clamp(16px, 12.122px + 0.408vw, 18px);
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.hmCTA.hmCTA01 .hmCTA_btn {
	margin: 0 auto 0 0;
}
.hmCTA .hmCTA_btn a {
	color: #FFF;
	display: block;
}
.hmCTA .hmCTA_btn::after {
	content: "";
	width: 25px;
	height: 25px;
	margin-top: -12.5px;
	background: url(../images/ico_arrow01.svg) left top no-repeat;
	background-size: 25px auto;
	display: block;
	position: absolute;
	top: 50%;
	right: 23px;
	transition: all 0.2s;
}
.d_hover .hmCTA .hmCTA_btn:hover::after{
	right: 15px;
}

.hmCTA01 {
	margin-bottom: 80px;
	padding: 20px;
	background: #8699B2;
	background: linear-gradient(235deg, rgba(134, 153, 178, 1) 0%, rgba(59, 77, 100, 1) 100%);
}
.hmCTA01 .hmCTA_in {
	padding: clamp(50px, 30.612px + 2.041vw, 60px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 clamp(50px, 30.612px + 2.041vw, 60px);
}
.hmCTA01 h2 {
	margin-bottom: 10px;
	font-size: clamp(36px, 16.612px + 2.041vw, 46px);
	font-family: "Noto Serif JP", serif;
}
.hmCTA01 .hmCTA01_imgs {
	min-width: 430px;
	position: relative;
}
.hmCTA01 .hmCTA01_imgs img {
	box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.3);
}
.hmCTA01 .hmCTA01_imgs.hmReveal-group .hmReveal {
	transition-duration: 5s;
}
.hmCTA01 .hmCTA01_img01 {
	max-width: 177px;
	margin-bottom: 20px;
	margin-left: 104px;
}
.hmCTA01 .hmCTA01_img02 {
	max-width: 281px;
}
.hmCTA01 .hmCTA01_img03 {
	max-width: 130px;
	position: absolute;
	top: 110px;
	right: 0;
}
.hmCTA01 .hmCTA01_img04 {
	max-width: 100px;
	margin: -43px 70px 0 auto;
}
.hmCTA01 .hmCTA_txt01 {
	margin-bottom: 40px;
	font-size: clamp(22px, 14.245px + 0.816vw, 26px);
	line-height: 1.8;
	font-family: "Noto Serif JP", serif;
}
.hmCTA01 p.hmCTA_txt02 {
	margin-bottom: 30px;
	font-size: clamp(14px, 10.122px + 0.408vw, 16px);
	line-height: 2.0;
}


.hmCTA02 {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	gap: 0 40px;
}
.hmCTA02.hmReveal-group > .hmReveal {
	transition-delay: calc(var(--reveal-index, 0) * 0.25s);
}
.hmCTA02_item {
	width: calc(50% - 20px);
	position: relative;
}
.hmCTA02_item a {
	padding: 30px;
	background-color: #b8a887;
	color: #FFF;
	text-align: center;
}
.hmCTA02_item figure {
	margin: -30px -30px 15px;
}
.hmCTA02_item-catalog figure.hmCTA02_img01 {
	margin-bottom: 64px;
}
.hmCTA02_item-catalog figure.hmCTA02_img02 {
	width: 100%;
	margin: 0;
	text-align: center;
	position: absolute;
	top: 93px;
	left: 0;
}
.hmCTA02_item-catalog figure.hmCTA02_img02 img {
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.2);
}
.hmCTA02 .hmCTA_txt01 {
	margin-bottom: 15px;
	font-size: clamp(18px, 10.245px + 0.816vw, 22px);
	line-height: 1.5;
	font-family: "Noto Serif JP", serif;
}

/* TOPへ戻る
------------------------------------------------------------------------------- */
.hBack01 {
	line-height: 1.1;
	margin: 70px 0 0;
	font-size: 150%;
	font-weight: 400;
	text-align: center;
}
.hBack01 a {
	display: inline-block;
	position: relative;
	padding: 0 0 0 48px;
	color: #604C3F;
}
.hBack01 a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 30px;
	margin: -15px 0 0;
	border: 1px solid #89776B;
	border-radius: 100%;
	box-sizing: border-box;
}
.hBack01 a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 12px;
	width: 10px;
	height: 10px;
	margin: -5px 0 0;
	border-left: 1px solid #422B1C;
	border-bottom: 1px solid #422B1C;
	transform: rotate(45deg);
}



/* Scroll Animation
------------------------------------------------------------------------------- */
.hmReveal {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), filter 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.hmReveal[data-reveal="up"] {
	transform: translateY(50px);
}
.hmReveal[data-reveal="left"] {
	transform: translateX(-50px);
}
.hmReveal[data-reveal="right"] {
	transform: translateX(50px);
}
.hmReveal[data-reveal="blur"] {
	filter: blur(16px);
	transform: translateY(20px);
}
.hmReveal.is-inview {
	opacity: 1;
	filter: blur(0);
	transform: translate(0, 0);
}

/* 段落内のスタガー表示（親要素の直下の子に順番に遅延をつける） */
.hmReveal-group > * {
	transition-delay: calc(var(--reveal-index, 0) * 0.12s);
}

/* MV：.hmMV_tit が画面内に入ったタイミングを起点にフェードアップ */
.hmMV_logo {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1s;
}
.hmMV_logo.is-inview {
	opacity: 1;
	transform: translateY(0);
}

/* スクロールで入るタイミングに合わせたMV同様の画像リビール（ブラー解除＋マスクワイプ） */
.hmImgReveal {
	-webkit-filter: brightness(1.15) blur(24px);
	filter: brightness(1.15) blur(24px);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 25%, #000 33%, #000 66%, rgba(0, 0, 0, 0) 75%);
	-webkit-mask-size: 400% 100%;
	mask-size: 400% 100%;
	-webkit-mask-position: 100% 50%;
	mask-position: 100% 50%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: filter 1.8s cubic-bezier(0.8, 0, 0.5, 1), -webkit-mask-position 1.8s cubic-bezier(0.8, 0, 0.5, 1), mask-position 1.8s cubic-bezier(0.8, 0, 0.5, 1);
	will-change: filter, mask-position;
}
.hmImgReveal.is-inview {
	-webkit-filter: brightness(1) blur(0);
	filter: brightness(1) blur(0);
	-webkit-mask-position: 50% 50%;
	mask-position: 50% 50%;
}

/* 見出し：1文字ずつフェード＆ブラーで出現 */
.hmSplitText .char {
	display: inline-block;
	opacity: 0;
	filter: blur(20px);
	transform: translateY(50%);
	transition: opacity 1s, filter 1s, transform 1s;
}
.hmSplitText.is-active .char {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.hmReveal,
	.hmMV_logo,
	.hmMV_tit,
	.hmSplitText .char,
	.hmConcept_tit_catch_line::before,
	.hmMessage p.hmMessage_txt02::after,
	.hmMV > figure img,
	.hmImgReveal {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		-webkit-mask-position: 50% 50% !important;
		mask-position: 50% 50% !important;
	}
	.hmMV_tit_txt01::before {
		transition: none !important;
		clip-path: inset(0) !important;
	}
	.hmMV_tit_txt02 img {
		animation: none !important;
		clip-path: inset(0 0 0% 0) !important;
	}
}