/* =======================================================================================
	サイト固有
======================================================================================= */

/* ========================================================================
	COMMON
======================================================================== */

/* common.css
------------------------------------------------------------------------ */
/*@media screen and (min-width: 769px) {
	.currentPage {
		min-width: calc(1200px + (60px * 2)); // common.cssの初期値は1120px //
	}
}*/


/* BASE
------------------------------------------------------------------------ */
	:where(main) em {
		font-style: normal;
	}

	:where(main) [data-contbox-width] {
		margin-left: auto;
		margin-right: auto;
	}
	:where(main) [data-contbox-width="1200"] {
		width: 100%;
		max-width: 1200px;
	}


/* 見出し
------------------------------------------------------------------------ */
	:where(main) [class*="hStyh"] {
		--M-fluidFontSize-max-fontsize: 38;
		--M-fluidFontSize-min-fontsize: 32;
		--M-fluidFontSize-max-viewport: 1320;	/* 1320px = (1200px + (60px * 2)) ※このページのコンテンツエリアの基準幅 */
		--M-fluidFontSize-min-viewport: 1120;	/* 1120px ※.currentPageのmin-widthの値 */
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		line-height: 1.6;
		text-align: center;
		letter-spacing: .09em;
	}
	:where(main) [class*="hStyh"] .en {
		font-family: var(--site-font_family-en_1);
		font-size: 1.105em;
	}
	:where(main) .hStyh3 {
		--M-fluidFontSize-max-fontsize: 38;
		--M-fluidFontSize-min-fontsize: 32.5;
		line-height: 1.44;
		letter-spacing: .04em;
	}
	:where(main) .hStyh4 {
		--M-fluidFontSize-max-fontsize: 36;
		--M-fluidFontSize-min-fontsize: 30;
		letter-spacing: .09em;
	}
@media (max-width: 768px) {
	:where(main) .hStyh3 {
		font-size: 24px;
	}
	:where(main) .hStyh4 {
		font-size: 20px;
	}
}





/* ========================================================================
	PAGE
======================================================================== */

/* ------------------------------------------------------------------------
	soho-wrap
------------------------------------------------------------------------ */
@media screen and (min-width: 769px) {
	.soho-wrap {
		--M-fluidFontSize-max-fontsize: 16;
		--M-fluidFontSize-min-fontsize: 15;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);
	}
}
@media (max-width: 768px) {
	.soho-wrap {
		font-size: 14px;
	}
}



/* featuresSection
------------------------------------------------------------------------ */
	.featuresSection {
		--featuresSectionElem-marginBottom: 130px;
		--featuresSectionElem-overlapPaddingBottom: 400px;
		--featuresSectionElem-roundedCorners-radius: 140px;
		overflow: hidden;
	}

	.featuresSection__heding {
		padding-bottom: var(--featuresSectionElem-overlapPaddingBottom);
	}
	.featuresSection__heding .heding::after {
		content: "";
		display: block;
		width: 1px;
		height: 70px;
		background: currentColor;
		margin-top: 20px;
		margin-bottom: 50px;
		margin-left: auto;
		margin-right: auto;
	}

	.featuresSection__body {
		position: relative;
		z-index: 0;
		width: 100%;
		margin-top: calc(var(--featuresSectionElem-overlapPaddingBottom) * -1);
		margin-bottom: var(--featuresSectionElem-marginBottom);
		padding-top: 95px;
		padding-bottom: var(--featuresSectionElem-overlapPaddingBottom);
		padding-left: 60px;
		padding-right: 60px;
		/*border-radius: var(--featuresSectionElem-roundedCorners-radius) var(--featuresSectionElem-roundedCorners-radius) 0 0;*/
	}
	.featuresSection__body:last-child { /* 最後の要素では重なりが発生しないので、margin、paddingの値を調整する */
		margin-bottom: 0;
		padding-bottom: calc(var(--featuresSectionElem-marginBottom) + 10px);
	}
	.featuresSection__body::before { /* 上辺角丸の背景色 */
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: #ccc;
		border-radius: var(--featuresSectionElem-roundedCorners-radius) var(--featuresSectionElem-roundedCorners-radius) 0 0;
	}
@media (max-width: 768px) {
	.featuresSection {
		--featuresSectionElem-marginBottom: 90px;
		--featuresSectionElem-overlapPaddingBottom: 200px;
		--featuresSectionElem-roundedCorners-radius: 60px;
	}
	.featuresSection__heding .heding::after {
		height: 40px;
		margin-bottom: 30px;
	}
	.featuresSection__body {
		padding-top: 60px;
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* facilityNameBox
---------------------------------------------------- */
	:where(.featuresSection) .facilityNameBox {
		text-align: center;
	}
	:where(.featuresSection) .facilityNameBox__name {
		--M-fluidFontSize-max-fontsize: 48;
		--M-fluidFontSize-min-fontsize: 43;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		line-height: 1.35;
		font-family: var(--site-font_family-en_1);
		letter-spacing: .075em;
		margin-bottom: .5em;
	}
	:where(.featuresSection) .facilityNameBox__name .color {
		color: #c58895;
	}
	:where(.featuresSection) .facilityNameBox__txt {
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 17.25;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		line-height: 1.6;
		letter-spacing: .13em;
	}
@media (max-width: 768px) {
	:where(.featuresSection) .facilityNameBox__name {
		font-size: 29px;
	}
	:where(.featuresSection) .facilityNameBox__txt {
		font-size: 13px;
	}
}





/* --------------------------------------------------------------
	featuresLoungeWrap | ラウンジ
-------------------------------------------------------------- */
	.featuresLoungeWrap {}
	.featuresLoungeWrap::before {
		background: #fff;
	}
@media screen and (min-width: 769px) {
	.featuresLoungeWrap {
	}
}
@media (max-width: 768px) {
	.featuresLoungeWrap {
	}
}


/* loungeSection01
---------------------------------------------------- */
	.featuresLoungeSection01 {
	}
	.featuresLoungeSection01 .heding {
		letter-spacing: .06em;
		margin-bottom: 1.75em;
	}
@media screen and (min-width: 769px) {
	.featuresLoungeSection01 {
	}
}
@media (max-width: 768px) {
	.featuresLoungeSection01 {
	}
}


/* lounge_list
--------------------------------- */
	.featuresLoungeSection01 .lounge_list {
		display: grid;
		grid-template-columns: 45% 51%;
		justify-content: space-between;
		color: #252b34;
	}
	.featuresLoungeSection01 .lounge_list + .lounge_list {
		margin-top: 40px;
	}
	.featuresLoungeSection01 .lounge_list .picBox .pic {
		display: block;
		color: #fff;
		background: #252b34;
		padding: 20px;
	}
	.featuresLoungeSection01 .lounge_list .picBox .caption {
		display: block;
		text-align: right;
		letter-spacing: .02em;
	}
	.featuresLoungeSection01 .lounge_list .txtBox {
		display: grid;
		align-content: center;
		align-items: center;
		font-family: var(--site-font_family-sans);
	}
	.featuresLoungeSection01 .lounge_list .txtBox .ttl {
		line-height: 1.39;
		font-size: 1.5625em;
		font-weight: bold;
		letter-spacing: .05em;
		margin-bottom: .8em;
	}
	.featuresLoungeSection01 .lounge_list .txtBox .txt {
		line-height: 1.6;
		letter-spacing: .08em;
	}
@media (max-width: 768px) {
	.featuresLoungeSection01 .lounge_list {
		grid-template-columns: 1fr;
		gap: 6px 0;
	}
	.featuresLoungeSection01 .lounge_list + .lounge_list {
		margin-top: 35px;
	}
	.featuresLoungeSection01 .lounge_list .picBox .pic {
		padding: 14px;
	}
	.featuresLoungeSection01 .lounge_list .txtBox .ttl {
		font-size: 1.35em;
		margin-bottom: .5em;
	}
	.featuresLoungeSection01 .lounge_list .txtBox .txt {
		font-size: .9em;
	}
}


/* loungeSection02
---------------------------------------------------- */
	.featuresLoungeSection02 {
		margin-top: 90px;
		padding-top: 90px;
		border-top: 4px solid;
		border-image: repeating-linear-gradient(to right, #ccc 0 1px, transparent 1px 3px) 1;
	}
@media (max-width: 768px) {
	.featuresLoungeSection02 {
		margin-top: 60px;
		padding-top: 60px;
	}
}


/* lounge_title
--------------------------------- */
	.featuresLoungeSection02 .lounge_title {
		display: grid;
		grid-template-columns: 42% 56%;
		justify-content: space-between;
	}
	.featuresLoungeSection02 .facilityNameBox {
		display: grid;
		align-content: center;
		align-items: center;
		text-align: inherit;
	}
	.featuresLoungeSection02 .lounge_title .picBox .pic {
		display: block;
		position: relative;
		overflow: hidden;
	}
@media (max-width: 768px) {
	.featuresLoungeSection02 .lounge_title {
		grid-template-columns: 1fr;
		gap: 40px 0;
	}
	.featuresLoungeSection02 .facilityNameBox {
		text-align: center;
	}
}


/* lounge_space
--------------------------------- */
	.featuresLoungeSection02 .lounge_space {
		margin-top: 110px;
	}
	.featuresLoungeSection02 .lounge_space .heding {
		margin-bottom: 1.75em;
	}
	.featuresLoungeSection02 .lounge_space .picBox .pic {
		display: block;
	}
	.featuresLoungeSection02 .lounge_space .picBox .caption {
		display: flex;
		justify-content: flex-end;
		margin-top: 5px;
	}
@media (max-width: 768px) {
	.featuresLoungeSection02 .lounge_space {
		margin-top: 70px;
	}
}

/* lounge_space__detailList
----------------------- */
	.lounge_space__detailList {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		justify-content: space-between;
		gap: 50px 80px;
		width: 100%;
		max-width: 1040px;
		margin-top: 60px;
		margin-left: auto;
		margin-right: auto;
	}
	.lounge_space__detailList li {
		--M-fluidFontSize-max-fontsize: 15;
		--M-fluidFontSize-min-fontsize: 13.5;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		color: #252b34;
		font-family: var(--site-font_family-sans);
		letter-spacing: .08em;
	}
	.lounge_space__detailList .picBox {
		box-shadow: 0 0 0 1px #929599;
	}
	.lounge_space__detailList .picBox .caption {
		line-height: 1.3;
		letter-spacing: .02em;
		padding: .15em .375em .2em .4em;
	}
	.lounge_space__detailList .ttlBox {
		line-height: 1.45;
		font-size: 1.333333em;
		font-weight: bold;
		letter-spacing: .02em;
		margin-top: .85em;
	}
	.lounge_space__detailList .ttlBox .ttl {
		display: grid;
		grid-template-columns: 1.35em 1fr;
		gap: 0 .15em;
	}
	.lounge_space__detailList .ttlBox .ttl .num {
		display: grid;
		place-content: center;
		width: .99lh;
		height: .99lh;
		line-height: 1.5;
		color: #fff;
		font-weight: bold;
		font-size: .75em;
		letter-spacing: normal;
		background: #252b34;
		margin-top: .2em;
		clip-path: circle(50%);
	}
	.lounge_space__detailList .txt {
		line-height: 1.6;
		margin-top: .7em;
	}
@media (max-width: 768px) {
	.lounge_space__detailList {
		gap: 22px 20px;
		width: 100%;
		margin-top: 25px;
	}
	.lounge_space__detailList li {
		font-size: 12px;
		letter-spacing: .06em;
	}
	.lounge_space__detailList .picBox .caption {
		padding: .1em .25em .1em .3em;
	}
	.lounge_space__detailList .ttlBox {
		font-size: 1.225em;
	}
}


/* lounge_use
--------------------------------- */
	.featuresLoungeSection02 .lounge_use {
		position: relative;
		z-index: 0;
		font-family: var(--site-font_family-sans);
		margin-top: calc(100px + 1em);
		padding: calc(40px + 1em) 30px 50px;
		border: 3px solid #e9e4d4;
		border-radius: 30px;
	}
	.featuresLoungeSection02 .lounge_use__heading {
		position: absolute;
		inset: calc(-1em + 3px) 0 auto;
		z-index: 0;
		line-height: 1.3;
		text-align: center;
		letter-spacing: .06em;
	}
	.featuresLoungeSection02 .lounge_use__heading .heading {
		background: #e9e4d4;
		padding: .25em 2.75em .35em;
		border-radius: 4em;
	}
	.featuresLoungeSection02 .lounge_use__list {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 35px 0;
		width: 100%;
		max-width: 1040px;
		margin-left: auto;
		margin-right: auto;
	}
	.featuresLoungeSection02 .lounge_use__list li {
		--M-fluidFontSize-max-fontsize: 14;
		--M-fluidFontSize-min-fontsize: 12.5;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		line-height: 1.55;
		text-align: center;
		letter-spacing: normal;
		padding: 0 .5em;
	}
	.featuresLoungeSection02 .lounge_use__list img {
		width: min((120 / 208 * 100%), 120px);
	}
	.featuresLoungeSection02 .lounge_use__list .txt {
	}
	.featuresLoungeSection02 .lounge_use__list .txt small {
		display: block;
	}
@media (max-width: 768px) {
	.featuresLoungeSection02 .lounge_use {
		margin-top: calc(70px + 1em);
		padding: calc(25px + 1em) 10px 40px;
		border-radius: 20px;
	}
	.featuresLoungeSection02 .lounge_use__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 0;
	}
}





/* --------------------------------------------------------------
	featuresTerraceWrap | テラス
-------------------------------------------------------------- */
	.featuresTerraceWrap {}
	.featuresTerraceWrap::before {
		background: #f7f7f7;
	}


/* featuresTerraceSection01
---------------------------------------------------- */
	.featuresTerraceSection01 {}


/* terrace_title
--------------------------------- */
	.featuresTerraceSection01 .terrace_title {}


/* terrace_space
--------------------------------- */
	.featuresTerraceSection01 .terrace_space {
		margin-top: 70px;
	}
	/*.featuresTerraceSection01 .terrace_space .heding {
		margin-bottom: 1.75em;
	}*/
	.featuresTerraceSection01 .terrace_space .picBox .pic {
		display: block;
	}
	.featuresTerraceSection01 .terrace_space .picBox .caption {
		display: flex;
		justify-content: flex-end;
		margin-top: 5px;
	}
@media (max-width: 768px) {
	.featuresTerraceSection01 .terrace_space {
		margin-top: 30px;
	}
}


/* terrace_view
--------------------------------- */
	.featuresTerraceSection01 .terrace_view {
		margin-top: 90px;
	}
@media (max-width: 768px) {
	.featuresTerraceSection01 .terrace_view {
		margin-top: 60px;
	}
}

/* **********************************************************************
	featuresTerraceViewContentsArea
-------------------------------------------------------------------------
 *	スカイテラスの眺望コンテンツ
 *	JS連携有（special_setting.js / pause_setting.js）
 *	一部 common.css で定義したカスタムプロパティを参照
 *	眺望スライダーは、ホバー利用可否で動作が異なります。
 -	ホバー利用可能デバイス：「矢印アイコンにマウスをのせると、眺望画像が横方向にスライドします。」
 -	ホバー利用不可デバイス：「眺望画像を横方向にスライドすることができます。」
********************************************************************** */

	.featuresTerraceViewContentsArea {
		position: relative;
		width: max(1120px, 100vw);
		margin-left: calc(50% - max((1120px / 2), 50vw));
		margin-right: calc(50% - max((1120px / 2), 50vw));
	}
@media (max-width: 768px) {
	.featuresTerraceViewContentsArea {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
}

/* ---------------------------------------------------------
	眺望タブボタン
--------------------------------------------------------- */
	.featuresTerraceViewContentsArea__tab {}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
		width: 80%;
		max-width: 460px;
		margin: 35px auto;
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item {
		display: grid;
		place-content: center;
		position: relative;
		padding: 16px .3em;
		background: #c9c9c9;
		transition: color .2s ease-out, background .2s ease-out;
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item .name {
		--M-fluidFontSize-max-fontsize: 21;
		--M-fluidFontSize-min-fontsize: 17;
		--M-fluidFontSize-max-viewport: 1320;
		--M-fluidFontSize-min-viewport: 1120;
		--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * 1px, (var(--M-fluidFontSize-min-fontsize) * 1px) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * 1px );
		font-size: var(--M-fluidFontSize-fontSize, 100%);

		display: block;
		line-height: 1.2;
		font-family: var(--site-font_family-serif);
		letter-spacing: .15em;
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item .name::before {
		content: none;
		opacity: 0;
	}
	/* -- active -- */
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item.is-active {
		color: #fff;
		background: #000;
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item.is-active .name::before {
		content: "";
		position: absolute;
		inset: auto 0 0;
		border-bottom: 3px solid #000;
		opacity: 1;
	}
	/* -- hover -- */
	@media (hover: hover) and (pointer: fine) {
		.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item:not(.is-active):hover {
			color: #fff;
			background: #999;
		}
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item:not(.is-active):focus-visible {
			color: #fff;
			background: #999;
	}
@media (max-width: 768px) {
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn {
		margin-top: 20px;
		margin-bottom: 22px;
	}
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item {
		padding-top: 13px;
		padding-bottom: 13px;
	}	
	.featuresTerraceViewContentsArea__tab .jqTabsNest_btn_item .name {
		font-size: 15px;
	}
}

/* ---------------------------------------------------------
	眺望スライダー
--------------------------------------------------------- */
	/* アクセシビリティメッセージの出し分け */
	:where(.DEVICE_mousehoverEnabled) #view-content-operations-desc .mousehoverEnabledMessage,
	:where(.DEVICE_mousehoverDisabled) #view-content-operations-desc .mousehoverDisabledMessage {
		display: block;
	}
	:where(.DEVICE_mousehoverEnabled) #view-content-operations-desc .mousehoverDisabledMessage,
	:where(.DEVICE_mousehoverDisabled) #view-content-operations-desc .mousehoverEnabledMessage {
		display: none;
	}

/* ====================================================
 * ホバー利用可能デバイス | DEVICE_mousehoverEnabled
==================================================== */

/* jsPictViewBox
--------------------------------- */
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewBox,
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewBox * {
		box-sizing: border-box;
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewBox,
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem {
		position: relative;
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewBox { /* ---------------------------【親要素】---- */
		/*
		 * 親要素幅・画像幅・画像のはみ出し幅を設定する。「pause_setting.js」にも別途値の設定が必要です。
		**/
		--oya-width_value: 1920;	/* [親要素幅] */
		--img-width_value: 2880;	/* [画像幅] */
		--img-overhang_value: calc(var(--img-width_value) - var(--oya-width_value));	/* [画像のはみ出し幅] */
		
		overflow: hidden;
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem { /* -----------------【子要素】---- */
		/*
		 * 画像幅をパーセントにする『width』： [画像幅]/[親要素幅]*100%
		 * --------------------------------------------------------------------------------
		 * width: 150%;		// = calc(2880 / 1920 * 100%)
		 * width: 200%;		// = calc(3840 / 1920 * 100%)
		 * --------------------------------------------------------------------------------
		**/
		width: calc(var(--img-width_value) / var(--oya-width_value) * 100%);
	}
			/*:where(.DEVICE_mousehoverEnabled .viewSection01 .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem {
			}
			:where(.DEVICE_mousehoverEnabled .viewSection02 .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem {
			}*/

	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem img { /* -------------【孫要素】---- */
		/*
		 * 子要素にフィットさせる『width:100%;max-width:none;height:auto;』（base.css初期値のクリア）
		 * 左辺からの距離を設定『margin-left: -○%』
		 *** カスタム(任意)：[画像のはみ出し幅(左)]/[画像幅]* -100%
		 *** 中央揃えにする：[画像のはみ出し幅(片側)]/[画像幅]* -100%
		 *** 右揃えにする  ：[画像のはみ出し幅(両側)]/[画像幅]* -100%
		 * --------------------------------------------------------------------------------
		 * margin-left: -5.208333%;		// = calc(150 / 2880 * -100%) ※カスタム
		 * margin-left: -16.666667%;	// = calc(480 / 2880 * -100%) ※中央揃えにする
		 * margin-left: -33.333333%;	// = calc(960 / 2880 * -100%) ※右揃えにする
		 * --------------------------------------------------------------------------------
		 * margin-left: -25%; // = calc(((3840-1920)/2) / 3840 * -100%) ※中央揃えにする（ [画像のはみ出し幅(片側)]=(([画像幅]-[親要素幅])/2) ）
		 * --------------------------------------------------------------------------------
		**/
		width: 100%;
		max-width: none;
		height: auto;
		margin-left: calc((var(--img-overhang_value)/2) / var(--img-width_value) * -100%); /* 中央揃えにする */
	}
			/*:where(.DEVICE_mousehoverEnabled .viewSection01 .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem img {
			}
			:where(.DEVICE_mousehoverEnabled .viewSection02 .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem img {
			}*/

	/* btn */
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveBtnBox {
		display: block;
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveBtnBox button {
		/* clear */
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		color: inherit;
		font: inherit;
		background: transparent;
		border: none;
		border-radius: 0;
		cursor: pointer;
		/* reset */
		position: absolute;
		top: 0;
		bottom: 0;
		width: clamp(25px, (52 / 1200 * 100vw), 52px);
		height: clamp(25px, (52 / 1200 * 100vw), 52px);
		background: center center / contain no-repeat;
		margin: auto;
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveBtnBox .btnLeft {
		left: 10px;
		background-image: url("../js/pause/img/view_btn_l.png");
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveBtnBox .btnRight {
		right: 10px;
		background-image: url("../js/pause/img/view_btn_r.png");
	}
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveBtnBox button .label {
		/* cliphidden（ラベル文字を隠す） */
		position: absolute; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(0px 0px 99.99% 99.99%); overflow: hidden; width: 1px; height: 1px; white-space: nowrap; padding: 0; border: 0;
	}

/*@media (max-width: 768px) {
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem {
		width: 300%;
	}
}
@media (max-width: 520px) {
	:where(.DEVICE_mousehoverEnabled .featuresTerraceViewContentsArea__inner) .jsPictViewMoveAnimeItem {
		width: 400%;
	}
}*/



/* ====================================================
 * ホバー利用不可デバイス | DEVICE_mousehoverDisabled
==================================================== */

/* jsPictViewBox
--------------------------------- */
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewBox {
		position: relative;
		z-index: 0;
	}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeIcon { /* ※各ページCSS内のタイミングで block にする */
		display: none;
		position: absolute;
		inset: 0;
		z-index: 1;
		width: 60px;
		height: 60px;
		margin: auto;
		background: 50% center / contain no-repeat;
		/*background-image: url("../imgs/ico_swipe_wh.svg");*/
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="140.21" viewBox="0 0 80 140.21"><path d="M73.12,63.76c-.15,0-.31,0-.47,.02-2.49,.17-4.61,1.71-5.68,3.87v-.57c0-3.79-3.09-6.88-6.88-6.88-.15,0-.31,0-.47,.02-2.5,.17-4.61,1.71-5.68,3.87v-.57c0-3.79-3.09-6.88-6.88-6.88-.15,0-.31,0-.47,.02-2.49,.17-4.61,1.71-5.68,3.87v-26.79c0-3.79-3.09-6.88-6.88-6.88-.16,0-.31,0-.47,.02-3.6,.24-6.41,3.33-6.41,7.03v49.05c0,.29-.29,.29-.33,.06l-3.48-10.62c-.49-1.76-1.62-3.22-3.19-4.13-1.05-.6-2.23-.92-3.43-.92-.6,0-1.2,.08-1.79,.24-2.58,.69-4.5,2.78-5.02,5.47-.18,.94-.13,1.94,.16,3.01l3.47,10.6c5.13,24.22,15.48,34.82,17.87,37.01,0,0,.01,.05,.01,.06v14.68c.03,1.02,.86,1.84,1.89,1.84h36.84c.88,0,1.62-.61,1.83-1.43,.03-.11,.05-.23,.05-.35v-14.74s0-.06,.03-.09c1.44-1.53,7.94-9.18,7.94-22.96v-30.01c0-3.79-3.09-6.88-6.88-6.88Z" fill="%23000"/><path d="M77.9,100.65c0,14.18-7.36,21.49-7.43,21.58-.35,.41-.54,.93-.54,1.47v14.39s-.02,.04-.04,.04H33.56s-.04-.02-.04-.04v-14.39c0-.54-.2-1.07-.55-1.48-.12-.14-11.84-9.78-17.4-36.1l-.02-.07-3.48-10.62h0c-.18-.66-.24-1.35-.11-2.01,.38-1.94,1.73-3.36,3.5-3.84,1.23-.33,2.52-.16,3.63,.48,1.11,.64,1.9,1.67,2.23,2.91l3.48,10.62c.34,1.25,1.68,1.99,2.97,1.53,.9-.33,1.48-1.22,1.48-2.19,0-6.04,0-39.8,0-49.05,0-2.54,1.92-4.76,4.45-4.93,2.78-.19,5.11,2.03,5.11,4.77v46.38c0,1.18,.33,2.24,1.51,2.35,1.35,.13,1.96-.93,1.96-2.25v-16.51c0-2.54,1.92-4.77,4.45-4.94,2.78-.19,5.11,2.03,5.11,4.77v16.59c0,1.18,.33,2.24,1.51,2.35,1.35,.13,1.96-.93,1.96-2.25v-12.95c0-2.54,1.92-4.77,4.45-4.94,2.78-.19,5.11,2.03,5.11,4.77v13.02c0,1.18,.33,2.24,1.51,2.35,1.35,.13,1.96-.93,1.96-2.25v-9.39c0-2.54,1.92-4.77,4.45-4.94,2.78-.19,5.11,2.03,5.11,4.77v30.01Z" fill="%23fff"/><path d="M51.98,29.38c-1.2,0-2.34-.51-3.13-1.4-.75-.84-1.13-1.92-1.07-3.04s.56-2.15,1.39-2.9l3.59-3.14H15.3l3.57,3.13c1.75,1.56,1.89,4.23,.35,5.95-.8,.89-1.94,1.4-3.13,1.4-1.04,0-2.03-.38-2.8-1.07L1.4,17.83C.51,17.05,0,15.9,0,14.69c0-1.21,.51-2.36,1.4-3.15L13.29,1.06c.76-.68,1.76-1.06,2.79-1.06,1.2,0,2.34,.51,3.14,1.4,1.55,1.73,1.4,4.39-.33,5.94l-3.59,3.14H52.76l-3.57-3.13c-1.75-1.56-1.89-4.23-.35-5.95,.8-.89,1.94-1.4,3.13-1.4,1.04,0,2.03,.38,2.8,1.07l11.88,10.47c.89,.79,1.4,1.93,1.4,3.15,0,1.21-.51,2.36-1.4,3.14l-11.89,10.48c-.76,.68-1.76,1.06-2.79,1.06Z" fill="%23000"/><path d="M58.35,16.79l-7.78,6.81h0c-.87,.78-.94,2.11-.16,2.97,.78,.87,2.11,.94,2.97,.17l11.89-10.48c.92-.81,.92-2.33,0-3.14L53.38,2.64c-.87-.77-2.2-.7-2.97,.17-.78,.87-.7,2.2,.16,2.97l7.78,6.81H9.71s7.78-6.81,7.78-6.81c.87-.78,.94-2.11,.16-2.97-.78-.87-2.11-.94-2.97-.17L2.79,13.12c-.92,.81-.92,2.33,0,3.14l11.89,10.48c.87,.77,2.2,.7,2.97-.17,.78-.87,.7-2.2-.16-2.97h0s-7.78-6.81-7.78-6.81H58.35Z" fill="%23fff"/></svg>');
		animation: 1.1s ease-in-out .2s infinite alternate both jsPictViewSwipeIcon_motion;
	}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox {
		display: block;
		position: relative;
		width: 100%;
		-webkit-overflow-scrolling: touch;
	}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBoxOverlay { /* ※各ページCSS内のタイミングで block にする */
		display: none;
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, .35);
	}
	/* 固有設定 */
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeIcon,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBoxOverlay { display: block;}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox { overflow-x: scroll;}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox img {max-width: none;}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBoxOverlay,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox img {width: 200%;}
	/*:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .viewSection01 .jsPictViewSwipeInnerBoxOverlay,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .viewSection01 .jsPictViewSwipeInnerBox img {width: 200%;}
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .viewSection02 .jsPictViewSwipeInnerBoxOverlay,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .viewSection02 .jsPictViewSwipeInnerBox img {width: 200%;}*/

@media screen and (max-width: 768px) {
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBoxOverlay,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox img {width: 300%;}
}
@media screen and (max-width: 520px) {
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBoxOverlay,
	:where(.DEVICE_mousehoverDisabled .featuresTerraceViewContentsArea__inner) .jsPictViewSwipeInnerBox img {width: 400%;}
}
/* =================================
	@KEYFRAMES
================================= */
@keyframes jsPictViewSwipeIcon_motion {
	0% {	transform: translateX(-20px);}
	100% {	transform: translateX(20px);}
}





/* ========================================================================
	ANIME
======================================================================== */

/* 見出しの垂直ライン
----------------------- */
@media screen {
	.featuresSection__heding .heding::after {
		background: linear-gradient(to bottom, currentColor 20%, #fff 30%, currentColor 40%) center bottom / 100% 600% no-repeat;
		animation: 2.5s linear 0s infinite both ANIME-featuresSection__heding_afterLine;
	}
}
@keyframes ANIME-featuresSection__heding_afterLine {
	0% {		background-position: center bottom;}
	50%,100% {	background-position: center top;}
}

/* '上辺角丸の背景色'のスライドアップ（リロード直後に下へスクロールすると、画面表示位置が少しズレる現象が確認されたため一旦非表示に）
----------------------- */
/*@media screen {
	[data-js_show_target="featuresSection__body"]::before {
		translate: 0 calc(var(--featuresSectionElem-overlapPaddingBottom) / 4);
	}
	[data-js_show_target-passed="featuresSection__body"]::before {
		animation: 1.65s cubic-bezier(.22, 1, .36, 1) .05s both ANIME-featuresSection__body__before;
	}
}
@keyframes ANIME-featuresSection__body__before {
	0% {	translate: 0 calc(var(--featuresSectionElem-overlapPaddingBottom) / 4);}
	100% {	translate: 0 0;}
}*/

/* ラウンジリストのテキストボックス部分
----------------------- */
	[data-js_show_target="lounge_list__txtBox"] {
		opacity: .5;
		translate: 40px 0;
	}
	[data-js_show_target-passed="lounge_list__txtBox"] {
		animation: .85s ease .15s both ANIME-lounge_list__txtBox;
	}
@keyframes ANIME-lounge_list__txtBox {
	0% {	opacity: .5; translate: 40px 0;}
	50% {	opacity: 1;}
	100% {	opacity: 1; translate: 0 0;}
}

/* ラウンジタイトルの画像部分
----------------------- */
@media screen {
	[data-js_show_target="lounge_title"] .picBox .pic {
		opacity: .3;
	}
	[data-js_show_target-passed="lounge_title"] .picBox .pic {
		animation: .5s ease-out .2s both ANIME-lounge_title__pic;
	}

	[data-js_show_target="lounge_title"] .picBox .pic .foreground,
	[data-js_show_target="lounge_title"] .picBox .pic .foreground::before,
	[data-js_show_target="lounge_title"] .picBox .pic .foreground::after {
		display: block;
		position: absolute;
		inset: -1px;
		z-index: 0;
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		background: left bottom / 100% 100% no-repeat;
		opacity: .7;
	}
	[data-js_show_target="lounge_title"] .picBox .pic .foreground {
		background-image: linear-gradient(to right, #fff 33.1%, transparent 33.1%);
	}
	[data-js_show_target="lounge_title"] .picBox .pic .foreground::before {
		content: "";
		background-image: linear-gradient(to right, transparent 33.2%, #fff 33.2%, #fff 66.8%, transparent 66.8%);
		background-position: left top;
	}
	[data-js_show_target="lounge_title"] .picBox .pic .foreground::after {
		content: "";
		background-image: linear-gradient(to left, #fff 33.1%, transparent 33.1%);
	}
	[data-js_show_target-passed="lounge_title"] .picBox .pic .foreground,
	[data-js_show_target-passed="lounge_title"] .picBox .pic .foreground::before,
	[data-js_show_target-passed="lounge_title"] .picBox .pic .foreground::after {
		animation: .6s ease-out .2s both ANIME-lounge_title__foreground;
	}
}
@keyframes ANIME-lounge_title__pic {
	0% {	opacity: .3;}
	100% {	opacity: 1;}
}
@keyframes ANIME-lounge_title__foreground {
	0% {	background-size: 100% 100%;}
	100% {	background-size: 100% 0;}
}

/* ラウンジの全体図
----------------------- */
	[data-js_show_target="lounge_space_full_pic"] {
		opacity: .5;
		scale: .92;
	}
	[data-js_show_target-passed="lounge_space_full_pic"] {
		animation: .75s cubic-bezier(.4, .2, .1, 1.5) .15s both ANIME-lounge_space_full_pic;
	}
@keyframes ANIME-lounge_space_full_pic {
	0% {	opacity: .5;	scale: .92;}
	100% {	opacity: 1;		scale: 1;}
}

/* ラウンジのアイコンリスト
----------------------- */
	[data-js_show_target="lounge_use__list"] li {
		opacity: .3;
		translate: 0 20px;
	}
	[data-js_show_target-passed="lounge_use__list"] li {
		animation: .85s ease 0s both ANIME-lounge_use__list__li;
	}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(1) {animation-delay:  50ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(2) {animation-delay: 100ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(3) {animation-delay: 150ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(4) {animation-delay: 200ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(5) {animation-delay: 250ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(6) {animation-delay: 300ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(7) {animation-delay: 350ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(8) {animation-delay: 400ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(9) {animation-delay: 450ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(10){animation-delay: 500ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(11){animation-delay: 550ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(12){animation-delay: 600ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(13){animation-delay: 650ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(14){animation-delay: 700ms;}
	[data-js_show_target-passed="lounge_use__list"] li:nth-of-type(15){animation-delay: 750ms;}
@keyframes ANIME-lounge_use__list__li {
	0% {	opacity: .3; translate: 0 20px;}
	50% {	opacity: 1;}
	100% {	opacity: 1; translate: 0 0;}
}

/* テラスの全体図
----------------------- */
	[data-js_show_target="terrace_space_full_pic"] {
		opacity: .5;
		scale: .92;
	}
	[data-js_show_target-passed="terrace_space_full_pic"] {
		animation: .75s cubic-bezier(.4, .2, .1, 1.5) .15s both ANIME-terrace_space_full_pic;
	}
@keyframes ANIME-terrace_space_full_pic {
	0% {	opacity: .5;	scale: .92;}
	100% {	opacity: 1;		scale: 1;}
}

/* テラスからの眺望のタブボタン
----------------------- */
	[data-js_show_target="featuresTerraceViewContentsArea__tab"] {
		translate: 0 -15px;
	}
	[data-js_show_target-passed="featuresTerraceViewContentsArea__tab"] {
		animation: .5s ease-out .2s both ANIME-featuresTerraceViewContentsArea__tab;
	}
@keyframes ANIME-featuresTerraceViewContentsArea__tab {
	0% {	translate: 0 -15px;}
	100% {	translate: 0 0;}
}

/* テラスからの眺望のタブコンテンツ
----------------------- */
	[data-js_show_target="featuresTerraceViewContentsArea__inner"] {
		opacity: .1;
	}
	[data-js_show_target-passed="featuresTerraceViewContentsArea__inner"] {
		animation: .3s ease-out .3s both ANIME-featuresTerraceViewContentsArea__inner;
	}
@keyframes ANIME-featuresTerraceViewContentsArea__inner {
	0% {	opacity: .1;}
	100% {	opacity: 1;}
}




