@charset "UTF-8";
/* ===========================================
 * 多摩ニュータウン コンフォール諏訪 floorplan
 * ======================================== */
/* ---------------------------------------------
*   section / layout
--------------------------------------------- */
/* floorplanblock */
.cfs_container .floorplanblock {
	position: relative;
	margin-top: 12.267vw;
	padding: 0 5.333vw;
}
.cfs_container .floorplanblock::before {
	content: "";
	position: absolute;
	top: 126.4vw;
	right: 0;
	z-index: -1;
	display: inline-block;
	width: 100%;
	height: 134.4vw;
	background-image: url("../img/common/bg_dot_right.png");
	background-repeat: repeat-x;
	background-size: 100vw 134.4vw;
	background-position: center;
}
.cfs_container .floorplanblock::after {
	content: "";
	position: absolute;
	bottom: 142.933vw;
	left: 0;
	z-index: -1;
	display: inline-block;
	width: 100%;
	height: 134.4vw;
	background-image: url("../img/common/bg_dot_left.png");
	background-repeat: repeat-x;
	background-size: 100vw 134.4vw;
	background-position: center;
}
.cfs_container .floorplanblock .floorplanblock_intro > li {
	margin-top: 8vw;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplanblock .floorplanblock_intro > li.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}
.cfs_container .floorplanblock .floorplanblock_item {
	padding: 6.667vw 9.333vw 8vw;
	background-color: #fff;
	border-radius: 4.267vw;
	-webkit-box-shadow: 0px 0.8vw 1.6vw 0px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 0.8vw 1.6vw 0px rgba(0, 0, 0, 0.16);
}
.cfs_container .floorplanblock .floorplanblock_title {
	color: #1d7d39;
	font-size: 6.933vw;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.cfs_container .floorplanblock .floorplanblock_obj {
	margin-top: 4.267vw;
}
.cfs_container .floorplanblock .floorplanblock_obj > img {
	width: 100%;
}
.cfs_container .floorplanblock .floorplanblock_caption {
	font-size: 4.267vw;
	text-align: center;
}
.cfs_container .floorplanblock .floorplanblock_btn {
	margin-top: 2.667vw;
}
.cfs_container .floorplanblock .floorplanblock_footer {
	margin-top: 30px;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplanblock .floorplanblock_footer.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}
.cfs_container .floorplanblock .floorplanblock_note {
	padding-left: 1em;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.4;
	text-indent: -1em;
}
.cfs_container .floorplanblock .floorplanblock_notelist > li {
	padding-left: 1em;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.4;
	text-indent: -1em;
}

/* floorplan_container */
.cfs_container .floorplan_container {
	position: relative;
	margin-top: 10.267vw;
	padding: 0 5.333vw;
}
.cfs_container .floorplan_container::after {
	content: "";
	position: absolute;
	bottom: 34.667vw;
	right: 0;
	z-index: -1;
	display: inline-block;
	width: 100%;
	height: 134.4vw;
	background-image: url("../img/common/bg_dot_right.png");
	background-repeat: repeat-x;
	background-size: 100vw 134.4vw;
	background-position: center;
}
.cfs_container .floorplan_container .floorplan_container_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplan_container .floorplan_container_header.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}
.cfs_container .floorplan_container .floorplan_container_note {
	padding-left: 1em;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.4;
	text-indent: -1em;
}
.cfs_container .floorplan_container .floorplan_container_notelist > li {
	padding-left: 1em;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.4;
	text-indent: -1em;
}
.cfs_container .floorplan_container .floorplan_container_body {
	margin-top: 10.267vw;
}
.cfs_container .floorplan_container .floorplan_container_body:first-child {
	margin-top: 0;
}
.cfs_container .floorplan_container .floorplan_container_anchor {
	text-align: right;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplan_container .floorplan_container_anchor.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}
.cfs_container .floorplan_container .floorplan_container_anchorbtn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 4.267vw;
	padding: 0;
	background-color: transparent;
	border: none;
	color: #1d7d39;
	font-size: 4.267vw;
	font-weight: bold;
	cursor: pointer;
}
.cfs_container .floorplan_container .floorplan_container_anchorbtn::after {
	content: "";
	display: inline-block;
	width: 2.133vw;
	height: 3.733vw;
	background-image: url("../img/common/icon_arrow_green.png");
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
}
.cfs_container .floorplan_container .floorplan_container_list {
	margin-top: 4.8vw;
}
.cfs_container .floorplan_container .floorplan_container_list > li {
	margin-top: 16vw;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplan_container .floorplan_container_list > li:first-child {
	margin-top: 0;
}
.cfs_container .floorplan_container .floorplan_container_list > li.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}
.cfs_container .floorplan_container .floorplan_container_footer {
	margin-top: 14.933vw;
	opacity: 0;
	-webkit-transform: translate(-20%, 0);
	        transform: translate(-20%, 0);
}
.cfs_container .floorplan_container .floorplan_container_footer.is-show {
	-webkit-animation: fadein_left 1s 0.5s ease forwards;
	        animation: fadein_left 1s 0.5s ease forwards;
}

/* ---------------------------------------------
*   module
--------------------------------------------- */
/* cassette_floorplan */
.cfs_container .cassette_floorplan {
	border-radius: 4.267vw;
	overflow: hidden;
	-webkit-box-shadow: 0px 0.8vw 1.6vw 0px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 0.8vw 1.6vw 0px rgba(0, 0, 0, 0.16);
}
.cfs_container .cassette_floorplan .cassette_floorplan_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0 5.333vw;
	padding: 6.133vw 2.667vw;
	background-color: #e1f4e4;
	border-radius: 4.267vw 4.267vw 0 0;
}
.cfs_container .cassette_floorplan .cassette_floorplan_label {
	padding: 1.6vw 2.667vw 1.067vw;
	background-color: #1d7d39;
	color: #fff;
	font-size: 8vw;
	font-weight: bold;
	line-height: 1;
}
.cfs_container .cassette_floorplan .cassette_floorplan_headertext {
	color: #1d7d39;
	font-size: 8vw;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.cfs_container .cassette_floorplan .cassette_floorplan_body {
	padding: 8vw 0;
	background-color: #fff;
}
.cfs_container .cassette_floorplan .cassette_floorplan_item {
	margin-top: 8vw;
}
.cfs_container .cassette_floorplan .cassette_floorplan_item:first-child {
	margin-top: 0;
}
.cfs_container .cassette_floorplan .cassette_floorplan_contents {
	margin-top: 8vw;
	padding: 0 4.267vw;
}
.cfs_container .cassette_floorplan .cassette_floorplan_vr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0 2.133vw;
}
.cfs_container .cassette_floorplan .cassette_floorplan_vr > img {
	width: 14.267vw;
	height: 8.267vw;
}
.cfs_container .cassette_floorplan .cassette_floorplan_vrtitle {
	color: #464646;
	font-size: 5.333vw;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.cfs_container .cassette_floorplan .cassette_floorplan_iframe {
	position: relative;
	width: 100%;
	aspect-ratio: 305/331;
}
.cfs_container .cassette_floorplan .cassette_floorplan_iframe > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.cfs_container .cassette_floorplan .cassette_floorplan_note {
	margin-top: 8vw;
}
.cfs_container .cassette_floorplan .cassette_floorplan_note:first-child {
	margin-top: 0;
}
.cfs_container .cassette_floorplan .cassette_floorplan_note > li {
	padding-left: 1em;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.4;
	text-indent: -1em;
}

/* slider */
.cfs_container .slider .slider_list {
	height: 48vw;
}
.cfs_container .slider .slider_list > li {
	height: 100%;
}
.cfs_container .slider .slider_link {
	position: relative;
	display: block;
	height: 100%;
	background-color: #fff;
	border: 0.267vw solid #999;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}
.cfs_container .slider .slider_link > img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}
.cfs_container .slider .slider_icon {
	position: absolute;
	bottom: 1.333vw;
	right: 1.333vw;
	display: inline-block;
	width: 5.333vw;
	height: 5.333vw;
	background-image: url("../img/floorplan/icon_zoom.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.cfs_container .slider .slider_icon > span {
	width: 0;
	height: 0;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
	display: inline-block;
}
.cfs_container .slider .slider_num {
	position: absolute;
	bottom: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 12.93vw;
	height: 6.4vw;
	background-color: rgba(100, 100, 100, 0.8);
	color: #fff;
	font-size: 3.2vw;
	letter-spacing: 0.075rem;
}
.cfs_container .slider .slider_tablewrapper {
	margin-top: 6.933vw;
	padding: 0 4.267vw;
}
.cfs_container .slider .slider_table {
	width: 100%;
	border: #999 0.267vw solid;
}
.cfs_container .slider .slider_table th {
	width: 42.667vw;
	padding: 5.333vw 4.267vw;
	background: #585858;
	border-bottom: 0.267vw solid #999;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	font-size: 3.733vw;
	font-weight: bold;
}
.cfs_container .slider .slider_table td {
	padding: 5.333vw 4.267vw;
	border-bottom: 0.267vw solid #999;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #000;
	font-size: 3.733vw;
	line-height: 1.5;
}

/* typeblock */
.cfs_container .typeblock .typeblock_header {
	font-size: 6.4vw;
	font-weight: bold;
	text-align: center;
}
.cfs_container .typeblock .typeblock_body {
	margin-top: 6.933vw;
}
.cfs_container .typeblock .typeblock_list > li {
	margin-top: 5.333vw;
}
.cfs_container .typeblock .typeblock_list > li:first-child {
	margin-top: 0;
}
.cfs_container .typeblock .typeblock_footer {
	margin-top: 5.333vw;
	text-align: center;
}

/* ---------------------------------------------
*   botton
--------------------------------------------- */
/* btn_floorplan */
.cfs_container .btn_floorplan {
	display: block;
	position: relative;
	width: 100%;
	padding: 5.333vw 6.133vw 5.333vw 2.667vw;
	background-color: #fff;
	border-radius: 8.267vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
	outline: 0.267vw solid #1d7d39;
	overflow: hidden;
}
.cfs_container .btn_floorplan::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #1d7d39;
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: right;
	        transform-origin: right;
	-webkit-transition: -webkit-transform 0.5s ease;
	transition: -webkit-transform 0.5s ease;
	transition: transform 0.5s ease;
	transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
.cfs_container .btn_floorplan::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4vw;
	display: inline-block;
	width: 2.133vw;
	height: 3.733vw;
	background-image: url("../img/common/icon_arrow_green.png");
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.cfs_container .btn_floorplan > span {
	position: relative;
	color: #1d7d39;
	font-size: 4.267vw;
	font-weight: bold;
	line-height: 1;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.cfs_container .btn_floorplan.is-hover {
	text-decoration: none;
}
.cfs_container .btn_floorplan.is-hover::before {
	-webkit-transform: scaleX(1);
	        transform: scaleX(1);
	-webkit-transform-origin: left;
	        transform-origin: left;
}
.cfs_container .btn_floorplan.is-hover::after {
	background-image: url("../img/common/icon_arrow_white.png");
}
.cfs_container .btn_floorplan.is-hover > span {
	color: #fff;
}
.cfs_container .btn_floorplan:focus-visible {
	outline: 0.667vw solid #1d7d39;
}
.cfs_container .btn_floorplan.is-current {
	background-color: #0b5821;
	outline: 0.267vw solid #0b5821;
}
.cfs_container .btn_floorplan.is-current::before {
	background: #fff;
}
.cfs_container .btn_floorplan.is-current::after {
	background-image: url("../img/common/icon_arrow_white.png");
}
.cfs_container .btn_floorplan.is-current > span {
	color: #fff;
}
.cfs_container .btn_floorplan.is-current.is-hover::after {
	background-image: url("../img/common/icon_arrow_green.png");
}
.cfs_container .btn_floorplan.is-current.is-hover > span {
	color: #0b5821;
}
.cfs_container .btn_floorplan.is-inactive {
	background-color: #767676;
	outline: 0.267vw solid #767676;
}
.cfs_container .btn_floorplan.is-inactive::before {
	content: none;
}
.cfs_container .btn_floorplan.is-inactive::after {
	content: none;
}
.cfs_container .btn_floorplan.is-inactive > span {
	color: #fff;
}

/* btn_back */
.cfs_container .btn_back {
	display: inline-block;
	position: relative;
	width: 100%;
	padding: 5.333vw 6.133vw 5.333vw 2.667vw;
	background-color: #1d7d39;
	border-radius: 8.267vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
	outline: 0.267vw solid #1d7d39;
	overflow: hidden;
}
.cfs_container .btn_back::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: right;
	        transform-origin: right;
	-webkit-transition: -webkit-transform 0.5s ease;
	transition: -webkit-transform 0.5s ease;
	transition: transform 0.5s ease;
	transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
.cfs_container .btn_back::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4vw;
	display: inline-block;
	width: 2.133vw;
	height: 3.733vw;
	background-image: url("../img/common/icon_arrow_white.png");
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.cfs_container .btn_back > span {
	position: relative;
	color: #fff;
	font-size: 4.267vw;
	font-weight: bold;
	line-height: 1;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.cfs_container .btn_back.is-hover {
	text-decoration: none;
}
.cfs_container .btn_back.is-hover::before {
	-webkit-transform: scaleX(1);
	        transform: scaleX(1);
	-webkit-transform-origin: left;
	        transform-origin: left;
}
.cfs_container .btn_back.is-hover::after {
	background-image: url("../img/common/icon_arrow_green.png");
}
.cfs_container .btn_back.is-hover > span {
	color: #1d7d39;
}
.cfs_container .btn_back:focus-visible {
	outline: 0.667vw solid #1d7d39;
}

/* ---------------------------------------------
*   modal
--------------------------------------------- */
/* modal_floorplan */
#cboxOverlay.modal_floorplan {
	background: rgba(0, 0, 0, 0.6);
}

#cboxTopCenter, #cboxMiddleRight, #cboxMiddleLeft, #cboxBottomCenter, #cboxTopLeft, #cboxTopRight, #cboxBottomRight, #cboxBottomLeft {
	width: 0;
	height: 0;
}

.modal_floorplan #cboxClose {
	display: none;
}

.modal_floorplan #cboxContent {
	background-color: transparent;
}

.modal_floorplan #cboxLoadingGraphic,
.modal_floorplan #cboxLoadingOverlay {
	background: none;
}

.modal_floorplan_next {
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-block;
	width: 10.667vw;
	height: 10.667vw;
	background-color: transparent;
	background-image: url("../img/floorplan/icon_next_modal.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10000;
}

.modal_floorplan_next > span {
	width: 0;
	height: 0;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
	display: inline-block;
}

.modal_floorplan_prev {
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	width: 10.667vw;
	height: 10.667vw;
	background-color: transparent;
	background-image: url("../img/floorplan/icon_prev_modal.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10000;
}

.modal_floorplan_prev > span {
	width: 0;
	height: 0;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
	display: inline-block;
}