body {
  margin:0;
  font-family: "Source Sans 3", sans-serif;
  overflow-x: hidden;
  cursor: default;
  width: 100%;
  outline: none !important;
  background: #fff;
  color: #2B2A28;
	touch-action: pan-y;
}
html {
  scroll-padding-top: 100px;
}
a{
	text-decoration: none;
}
a:active,
a:focus,
a:hover {
	outline: none !important;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}
*:before,
*:after {
	position: absolute;
	content: "";
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
* {
	scroll-behavior: smooth;
	-webkit-tap-highlight-color: transparent;
	margin: 0;
	padding: 0;
  scrollbar-width: thin;
  scrollbar-color: #040E1C #f2f4fa;
}
/* для Chrome/Edge/Safari */
*::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}
*::-webkit-scrollbar-track {
  background: #040E1C;
}
*::-webkit-scrollbar-thumb {
  background-color: #040E1C;
  border-radius: 5px;
  border: 3px solid #f2f4fa;
}
* {
	-webkit-tap-highlight-color: transparent;
}
button,
input,
textarea,
select {
	outline: none;
	font-family: "Source Sans 3", sans-serif;
}
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: none;
}
ol,ul {
	list-style: none;
	margin:0;
	padding:0;
}
p, li {
	position: relative;
	font-size: 0.83vw;
	font-weight: 400;
	line-height: 1.3;
}
img {
	max-width: 100%;
	display: block;
}
input::-webkit-input-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
input::-moz-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
input:-moz-placeholder{
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
input:-ms-input-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
textarea::-webkit-input-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
textarea::-moz-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
textarea:-moz-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
textarea:-ms-input-placeholder {
	font-family: "Source Sans 3", sans-serif;
	color: rgba(43, 42, 41, 0.45)
}
input[type="text"], input[type="email"], input[type="tel"] {
	font-family: "Source Sans 3", sans-serif;
	position: relative;
	font-size: 1.04vw;
	color: #2B2A28;
	background: #F3F0EC;
	display: block;
	width: 100%;
	height: 4.06vw;
	padding: 0;
	border: 0;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
	border-radius: 8px;
	padding: 0 2.08vw;
}
input[type="text"]:hover, input[type="email"]:hover, input[type="tel"]:hover {
  
}
textarea {
	font-family: "Source Sans 3", sans-serif;
	position: relative;
	font-size: 1.04vw;
	color: #2B2A28;
  background: #F3F0EC;
	display: block;
	width: 100%;
	border: 0;
	border-radius: 8px;
	resize: vertical;
	padding: 1vw 2.08vw;
  -webkit-transition: 0.25s ease-out;
  transition: 0.25s ease-out;
}
textarea:hover {
	
}
input[type="checkbox"], input[type="radio"] {
  display: none;
}
input[type="checkbox"] ~ span:before {
	background: url(../img/check-default.svg) no-repeat center / contain;
	width: 1.30vw;
	height: 1.30vw;
	top: -2px;
  left: 0;
  -webkit-transition: 0.25s ease-out;
  transition: 0.25s ease-out;
}
input[type="checkbox"]:checked ~ span:before {
	background: url(../img/check-active.svg) no-repeat center / contain;
}
label#agreement-error:after {
	display: none;
}
label.error {
	position: absolute;
	font-size: 12px;
	top: 12px;
	right: 12px;
	color: #e21546;
}
.agrement-txt {
	position: relative;
	padding: 0 0 0 2.30vw;
	font-size: 0.63vw;
	color: #F3F0EC;
	display: block;
}
.container {
	position: relative;
	width: 100%;
	padding: 0 30px;
}
.section {
	position: relative;
	padding: 3.65vw 0;
	overflow: hidden;
}

/* panorama */
.panorama, .panorama-view {
	width: 100%;
	height: 150vh;
	overflow: hidden;
}
.panorama,.panorama-container {
	position: relative
}
.panorama-container img{
	height: 100%;
	position: absolute;
	top: 0
}
.panorama .info,.panorama-view .area {
	position: absolute;
	display: block
}
.panorama-view{
	cursor: grab;
}
.panorama-view.grab {
	cursor: grab;
}
.panorama-view img {
	user-select:none;
	-o-user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none
}

/* --------------------------------
	
	modal-box
	
-------------------------------- */
.modal, .modal-box {
	z-index: 9999;
}
.modal-sandbox {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
}
.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
	background: rgba(37, 46, 66, 0.35);
  -webkit-transition: 0.25s ease-out 0.25s;
	transition: 0.25s ease-out 0.25s;
}
.modal.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.modal-box {
  display: block;
  width: 100%;
  height: 100%;
}
.modal-body {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.modal_container {
	margin: 0 auto;
	width: 95%;
	padding: 1.56vw 2.50vw;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #2B2A28;
	will-change: transform;
	transform: translateX(-300%);
	max-width: 31.25vw;
	-webkit-transition: 0.25s ease-out 0s;
	transition: 0.25s ease-out 0s;
	border-radius: 16px;
}
.open .modal_container  {
	transform: translateX(0);
	-webkit-transition: 0.25s ease-out 0.25s;
	transition: 0.25s ease-out 0.25s;
}
.close-modal {
	position: absolute;
	top: 2.08vw;
	right: 1.82vw;
	cursor: pointer;
	width: 14px;
	height: 14px;
	z-index: 9999;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.close-modal:hover {
	opacity: 0.6;
}
.close-modal img {
	position: relative;
	width: 100%;
	display: block;
}
.form-txt {
	font-size: 1vw;
	margin: 0 0 1.56vw 0;
}
.modal_container .form-title {
	margin: 0 0 0.56vw 0;
}
.modal_container .agreement {
	width: 100%;
}
.modal_container .agrement-txt {
	color: #2a2b2c;
}
.modal_container input[type="text"], .modal_container input[type="email"], .modal_container input[type="tel"] {
	border: 1px solid #e3e1de;
}
.modal_container textarea {
	border: 1px solid #e3e1de;
}



/* --------------------------------
	
	header
	
-------------------------------- */
header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
header:before {
  width: 100%;
	height: 100%;
  top: 0;
  left: 0;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
/* header.shrink:before {
	height: 100%;
} */
.flex-header {
	position: relative;
	padding: 1.56vw 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	-webkit-transition: 0.15s ease-out;
	transition: 0.15s ease-out;
}
.shrink .flex-header {
	padding: 0.8vw 0;
}
.logo {
	width: 12.66vw;
	flex: 0 0 auto;
}
.logo img {
	width: 100%;
}
.header-nav {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0 0 0 3.65vw;
}
.nav {
	display: flex;
	align-items: center;
}
.nav a {
	font-size: 0.73vw;
	font-weight: 600;
	text-transform: uppercase;
	margin: 0 2.08vw 0 0;
	color: #2B2A28;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.nav a:hover {
	color: #000;
}
.nav a.active {
	color: #E21546;
}
.header-contact {
	display: flex;
	align-items: center;
}
.tel {
	font-size: 1.25vw;
	font-weight: 700;
	margin: 0 1.67vw 0 0;
	display: flex;
	align-items: center;
	color: #2B2A28;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.tel:hover {
	color: #000;
}
.tel img {
	width: 1.56vw;
	margin: 0 0.83vw 0 0;
}
.btn-callback {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.67vw;
	height: 2.86vw;
	border-radius: 40px;
	border: 1px solid #E21546;
	font-size: 0.63vw;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	letter-spacing: 0.15em;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-callback svg {
	width: 0.83vw;
	margin: 0 0.83vw 0 0;
}
.btn-callback svg path {
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-callback:hover {
	background: #E21546;
	color: #fff;
}
.btn-callback:hover svg path {
	fill: #fff;
}

/* --------------------------------
	
	burger
	
-------------------------------- */
.burger {
	position: relative;
	width: 24px;
	height: 16px;
	cursor: pointer;
	display: none;
	justify-content: center;
	flex-direction: column;
	align-items: flex-end;
	z-index: 999;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.burger::before, .burger span, .burger::after {
	width: 100%;
	height: 1px;
	display: block;
	background: #2B2A28;
}
.burger:before, .burger:after {
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.burger::before {
	top: 0px;
}
.burger span {
	position: relative;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.burger:after {
	top: auto;
	bottom: 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
/* Hover */
.burger:hover span {
	width: 100%;
}
/* .burger:hover:after, .burger:hover:before {
	width: 100%;
} */
.burger:hover::before {
	
}
.burger:hover::after {
	
}
/* Click */
.burger.cross span {
	opacity: 0;
}
.burger.cross:before, .burger.cross:after {
	top: 50%;
	width: 100%;
}
.burger.cross:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.burger.cross:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.burger:focus {
	outline: none;
}

/* --------------------------------
	
	intro
	
-------------------------------- */
#intro {
	position: relative;
	overflow: hidden;
}
#intro .intro-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.intro-slider .slick-slide img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.intro-slider .slick-slide {
	position: relative;
}
.intro-slider .slick-slide:before {
	background: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.intro-flex {
	position: relative;
	height: 100vh;
	display: flex;
	padding: 6vw 0 1.25vw 0;
	justify-content: space-between;
}
.intro-content {
	position: relative;
	width: 70%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.intro-content h1 {
	display: none;
}
.intro-logo {
	width: 70%;
}
.intro-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.83vw 0.83vw;
	grid-auto-flow: row;
	grid-template-areas: 
	"intro-item1 intro-item2 intro-item5"
	"intro-item3 intro-item4 intro-item5"; 
	margin: 1.67vw 0;
}
#intro-item1 { grid-area: intro-item1; }
#intro-item2 { grid-area: intro-item2; }
#intro-item3 { grid-area: intro-item3; }
#intro-item4 { grid-area: intro-item4; }
#intro-item5 { grid-area: intro-item5; }
.intro-item {
	position: relative;
	padding: 0.83vw 1.67vw;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 7.81vw;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
	overflow: hidden;
	background: rgba(243, 240, 236, 0.2);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: #fff;
}
.intro-item-img {
	position: absolute;
	top: 20%;
	right: 0;
	width: 90%;
}
.intro-item span {
	font-size: 0.83vw;
	margin: 0 0 0.83vw 0;
}
.intro-item p {
	font-size: 1.25vw;
	font-weight: 700;
}
.btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.67vw;
	height: 3.65vw;
	border-radius: 40px;
	border: 0;
	font-size: 0.63vw;
	font-weight: 700;
	background: #E21546;
	color: #fff;
	text-transform: uppercase;
	cursor: pointer;
	letter-spacing: 0.15em;
	min-width: 16.93vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-border {
	background: transparent;
	border: 1px solid #E21546;
	color: #2B2A28;
}
.btn img {
	width: 1.04vw;
	margin: 0 0 0 0.83vw;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn:hover {
	background: #2b2a28;
	color: #fff;
}
.b6-item .btn:hover, button.btn:hover {
	outline: 1px solid rgba(255, 255, 255, 0.26) !important;
}
.btn:hover img {
	transform: rotate(45deg);
}
.btn-border:hover {
	border: 1px solid #2b2a28;
}


/* --------------------------------
	
	b1
	
-------------------------------- */
#b1 {
	position: relative;
	overflow: hidden;
}
.title-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 40px 0;
}
.title {
	font-size: 3.33vw;
	line-height: 1.1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.title-group .title {
	margin: 0;
}
.news-group {
	display: flex;
	justify-content: space-between;
}
.news-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 4.17vw -0.63vw 0 -0.63vw;
}
.news-slider {
	margin: 0 -0.63vw;
}
.news-item {
	position: relative;
	width: calc(33.333% - 1.26vw);
	margin: 0.63vw;
	color: #fff;
	overflow: hidden;
	border-radius: 16px;
	display: block;
}
.news-item-bg {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news-item:after {
	background: linear-gradient(180deg, rgba(43,42,41,0) 0%, rgba(43,42,41,0.7035189075630253) 100%);
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
}
.news-item:hover .btn-detail:before {
	transform: scale(1.2);
}
.news-item h3 {
	position: absolute;
	bottom: 2.5vw;
	left: 2.5vw;
	font-size: 2.08vw;
	line-height: 1.1;
	z-index: 1;
}
.last-news {
	position: relative;
	width: calc(50% - 0.63vw);
	overflow: hidden;
	border-radius: 16px;
	min-height: 31.77vw;
	color: #fff;
}
.last-news:after {
	background: linear-gradient(180deg, rgba(43,42,41,0) 0%, rgba(43,42,41,0.7035189075630253) 100%);
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
}
.news-bg {
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}
.last-news h3 {
	position: absolute;
	bottom: 3.96vw;
	left: 2.5vw;
	font-size: 2.08vw;
	line-height: 1.1;
	z-index: 1;
	width: 70%;
}
.btn-detail {
	position: absolute;
	top: 2.5vw;
	right: 2.5vw;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.71vw;
	height: 2.71vw;
	z-index: 1;
}
.btn-detail img {
	position: relative;
	width: 1.04vw;
	height: 1.04vw;
}
.btn-detail:before {
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 50%;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.last-news:hover .btn-detail:before {
	transform: scale(1.2);
}
.news-list {
	position: relative;
	width: calc(50% - 0.63vw);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.news-list-item {
	display: flex;
	align-items: center;
	margin: 0 0 3.13vw 0;
	color: #2B2A28;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.news-list-item:last-child {
	margin: 0;
}
.news-list-preview {
	width: 7.29vw;
	flex: 0 0 auto;
	margin: 0 1.88vw 0 0;
	border-radius: 8px;
}
.news-date {
	display: flex;
	align-items: center;
	margin: 0.63vw 0 0 0;
	font-size: 0.83vw;
	color: #666462;
	font-weight: 600;
}
.news-date img {
	width: 0.83vw;
	margin: 0 12px 0 0;
}
.news-list-item h3 {
	font-size: 1.67vw;
	margin: 0 0 0.83vw 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.news-list-item:hover h3 {
	color: #E21546;
}
.news-list-item p {
	color: #666462;
}

/* --------------------------------
	
	b2
	
-------------------------------- */
#b2 {
	position: relative;
	overflow: hidden;
}
.b2-map-flex {
	display: flex;
	justify-content: space-between;
}
.b2-content {
	position: relative;
	width: calc(28% - 0.63vw);
	background: #2B2A28;
	color: #AFAAA3;
	border-radius: 16px;
	padding: 7.29vw 2.5vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.b2-count{
	font-size: 3.33vw;
	font-weight: 700;
}
.b2-count span {
	font-size: 17.71vw;
	color: #1C1B1A;
	line-height: 0.8;
	display: inline-block;
}
.b2-count-txt {
	font-size: 1.46vw;
}

.map-road {
	position: relative;
	width: calc(72% - 0.63vw);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map-road-img {
	position: relative;
	width: 100%;
  display: block;
  object-fit: cover;
}
.map-road-img.desctop {
  display: block;
}
.map-road-img.mobile {
  display: none;
}
.map-road-start, .map-road-finish {
  position: absolute;
}
.map-road-start {
	width: 2.19vw;
	top: 29%;
	left: 42.5%;
	transform: scale(0);
	animation: start 6s infinite linear alternate;
	-webkit-animation: start 6s infinite linear alternate;
}
@-webkit-keyframes start {
  0 {
    transform: scale(0);
	}
  10% {
    transform: scale(1);
	}
  85% {
    transform: scale(1);
	}
  100% {
    transform: scale(0);
	}
}
@keyframes start {
  0 {
    transform: scale(0);
	}
  10% {
    transform: scale(1);
	}
  85% {
    transform: scale(1);
	}
  100% {
    transform: scale(0);
	}
}
.map-road-finish {
	width: 2.81vw;
	bottom: 31.5%;
	right: 18.5%;
	transform: scale(0);
	animation: finish 6s infinite linear;
	-webkit-animation: finish 6s infinite linear;
}
@-webkit-keyframes finish {
  0 {
    transform: scale(0);
	}
  50% {
    transform: scale(0);
	}
  55% {
    transform: scale(1);
	}
  95% {
    transform: scale(1);
	}
  100% {
    transform: scale(0);
	}
}
@keyframes finish {
  0 {
    transform: scale(0);
	}
  50% {
    transform: scale(0);
	}
  55% {
    transform: scale(1);
	}
  95% {
    transform: scale(1);
	}
  100% {
    transform: scale(0);
	}
}
.road-line {
	position: absolute;
	width: 37.1%;
	top: 28.6%;
	left: 44.5%;
}
.road-line path {
  fill: transparent;
  stroke: rgba(255,255,255,1);
  stroke-width: 5;
  stroke-dasharray: 1000;
  stroke-dashoffset: 2000;
  visibility: hidden;
  animation: road 6s infinite linear;
  -webkit-animation: road 6s infinite linear;
}
@-webkit-keyframes road {
  0 {
    stroke-dashoffset: 2000;
	}
  100% {
    stroke-dashoffset: 0;
	  visibility: visible;
	}
}
@keyframes road {
  0 {
    stroke-dashoffset: 2000;
	}
  100% {
    stroke-dashoffset: 0;
	  visibility: visible;
	}
}


#map {
	width: calc(72% - 0.63vw);
  border-radius: 16px;
  overflow: hidden;
}
.btn-map {
	position: relative;
	cursor: pointer;
	overflow: hidden;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #3F3F3F;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	border-radius: 50%;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.btn-map:hover {
	background: #e21546;
	color: #fff;
}
.zoom-in {
	margin: 0 0 10px 0;
}

/* --------------------------------
	
	b3
	
-------------------------------- */
#b3 {
	position: relative;
	overflow: hidden;
}
.title-header {
	text-align: center;
	margin: 0 0 3.13vw 0;
}
.subtitle {
	font-size: 1.25vw;
	color: #666462;
}
.title-header .title {
	margin: 0 0 0.83vw 0;
}
.b3-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 0 2.71vw 0;
}
.b3-item {
	position: relative;
	width: calc(25% - 1.25vw);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.b3-item-img {
	width: 100%;
	border-radius: 16px;
	height: 100%;
	object-fit: cover;
}
.b3-item-bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}
.b3-item-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 2.5vw;
	color: #fff;
}
.b3-item h3 {
	font-size: 1.25vw;
	line-height: 1.2;
}
.b3-item-title {
	padding: 0.83vw 2.5vw;
}
.flex-center {
	display: flex;
	justify-content: center;
}

/* --------------------------------
	
	b4
	
-------------------------------- */
#b4 {
	position: relative;
	overflow: hidden;
}
.b4-content {
	position: relative;
	background: #2B2A28;
	color: #fff;
	border-radius: 16px;
	padding: 5.21vw 2.5vw;
	overflow: hidden;
}
.b4-bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 35%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}
.b4-header {
	position: relative;
	width: 60%;
	margin: 0 0 2.08vw 0;
}
.b4-header .title {
	margin: 0 0 0.94vw 0;
}
.b4-grid {
	position: relative;
	display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1.25vw;
  grid-auto-flow: row;
  grid-template-areas:
	"b4-item1 b4-item2 b4-item3 ."
	"b4-item4 b4-item5 b4-item6 b4-item7";
}
#b4-item1 { grid-area: b4-item1; }
#b4-item2 { grid-area: b4-item2; }
#b4-item3 { grid-area: b4-item3; }
#b4-item4 { grid-area: b4-item4; }
#b4-item5 { grid-area: b4-item5; }
#b4-item6 { grid-area: b4-item6; }
#b4-item7 { grid-area: b4-item7; }
.b4-item {
	position: relative;
	background: #1C1B1A;
	padding: 1.25vw 1.88vw;
	border-radius: 16px;
}
.b4-num {
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 5vw;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.09);
	line-height: 1;
}
.b4-item h3 {
	font-size: 0.94vw;
	margin: 0 0 0.83vw 0;
}

/* --------------------------------
	
	b5
	
-------------------------------- */
#b5 {
	position: relative;
	overflow: hidden;
}
.b5-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.63vw;
}
.b5-item {
	position: relative;
	width: calc(33.333% - 1.26vw);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	background: #F3F0EC;
	border-radius: 16px;
	margin: 0.63vw;
	padding: 2.5vw;
}
.b5-item:nth-of-type(2n) {
	background: transparent;
	border: 1px solid rgba(102, 100, 98, 0.47);
}
.b5-item:nth-of-type(2) {
	background: transparent;
	border: 0;
	padding: 0 2.5vw;
	justify-content: center;
}
.b5-item-ico{
	width: 3.65vw;
	margin: 0 0 1.25vw 0;
}
.b5-item span {
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1.2;
}
.b5-item h2 {
	font-size: 2.08vw;
	text-transform: uppercase;
	line-height: 1.2;
	margin: 0 0 0.83vw 0;
	width: 70%;
}
.b5-item p {
	color: #666462;
}

/* --------------------------------
	
	b6
	
-------------------------------- */
#b6 {
	position: relative;
	overflow: hidden;
}
.b6-flex {
	position: relative;
	display: flex;
	justify-content: flex-end;
}
.b6-bg {
	width: calc(50% - 0.63vw);
	border-radius: 16px;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	object-fit: cover;
}
.b6-content {
	width: calc(50% - 0.63vw);
	background: #2B2A28;
	color: #fff;
	padding: 5.21vw 2.5vw;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.b6-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.b6-item {
	width: 50%;
	margin: 2.40vw 0 0 0;
	display: flex;
	flex-direction: column;
}
.b6-item:last-child {
	justify-content: flex-end;
}
.b6-content .title {
	margin: 0 0 0.83vw 0;
}
.b6-num {
	font-size: 3.75vw;
	color: rgba(255, 255, 255, 0.46);
	line-height: 1;
	margin: 0 0 1.25vw 0;
	display: block;
	font-weight: 300;
}
.b6-item p {
	width: 75%;
}


/* --------------------------------
	
	b7
	
-------------------------------- */
#b7 {
	position: relative;
	overflow: hidden;
}
.b7-grid {
	display: flex;
	margin:  0 -0.63vw;
}
.b7-item {
	position: relative;
	width: 25%;
	height: 22vw;
	margin: 0 0.63vw;
	overflow: hidden;
	border-radius: 16px;
	background: #F3F0EC;
	display: flex;
	align-items: flex-end;
}
.b7-item:nth-of-type(2n) {
	align-items: flex-start;
}
#b7 .title {
	margin: 0 0 0.83vw 0;
}
#b7 .subtitle {
	margin: 0 0 2.08vw 0;
	width: 45%;
}
.b7-ico {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	will-change: transform;
	transform: translate(16px,-16px);
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.b7-item:nth-of-type(2n) .b7-ico {
	transform: translate(16px,16px);
}
.b7-item:hover .b7-ico {
	transform: translate(0,0);
}
.b7-item p {
	position: relative;
	padding: 2.5vw;
	font-size: 0.94vw;
	font-weight: 600;
}

/* --------------------------------
	
	b8
	
-------------------------------- */
#b8 {
	position: relative;
	overflow: hidden;
}
.catalog-content {
	position: relative;
	background: #F3F0EC;
	border-radius: 16px;
	padding: 4.43vw 2.5vw;
}
.catalog-grid {
	display: flex;
	flex-wrap: wrap;
	margin:  0 -0.63vw;
}
.catalog-item {
	position: relative;
	width: calc(33.333% - 1.26vw);
	margin: 0 0.63vw;
	color: #2B2A28;
}
.catalog-thumb {
	position: relative;
	overflow: hidden;
	height: 25vw;
	border-radius: 16px;
}
.catalog-thumb-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.catalog-thumb-img:last-of-type {
	opacity: 0;
}
.catalog-item:hover .catalog-thumb-img:last-of-type {
	opacity: 1;
}
.catalog-item:hover .btn-detail::before {
	transform: scale(1.2);
}
.catalog-caption {
	padding: 1.04vw 12px;
}
.catalog-caption h3 {
	font-size: 1.67vw;
	line-height: 1.1;
	margin: 0 0 0.83vw 0;
}
.catalog-caption-grid {
	display: flex;
	color: #666462;
}
.catalog-caption-item {
	width: 100%;
	padding: 0 1vw 0 0;
	border-right: 1px solid rgba(102, 100, 98, 0.25);
	margin: 0 1vw 0 0;
}
.catalog-caption-item:last-of-type {
	padding: 0;
	border-right: 0;
	margin: 0;
}
.caption-item-title {
	font-size: 0.73vw;
	display: block;
	line-height: 1.2;
	margin: 0 0 10px 0;
}
.catalog-caption-item p {
	font-size: 0.83vw;
	font-weight: 700;
}
#b8 .flex-center {
	margin: 2.08vw 0 0 0;
}

/* --------------------------------
	
	b9
	
-------------------------------- */
#b9 {
	position: relative;
	overflow: hidden;
}
.b9-content {
	position: relative;
}
.b9-map {
	width: 100%;
	border-radius: 16px;
}
.b9-marker {
	position: absolute;
}
.marker-btn {
	position: absolute;
	cursor: pointer;
	z-index: 1;
	display: flex;
  align-items: center;
  justify-content: center;
}
.marker-btn img {
	width: 2.71vw;
}
.marker-txt {
	position: absolute;
	top: -3vw;
	background: #fff;
	width: 10.42vw;
	text-align: center;
	padding: 8px 12px;
	border-radius: 8px;
	display: block;
	font-size: 0.73vw;
	font-weight: 600;
	will-change: transform;
	opacity: 0;
	transform: scale(0.4) translateY(3vw);
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.open .marker-txt {
	opacity: 1;
	transform: scale(1) translateY(0);
}
.marker-zone {
	position: absolute;
	will-change: transform;
	filter: blur(5px);
	opacity: 0;
	transform: scale(0);
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.open .marker-zone {
	opacity: 0.4;
	transform: scale(1);
}

#marker1 {
	top: 24.5%;
	left: 15%;
	width: 8.8%;
}
#marker1 .marker-zone {
	top: 0;
	left: 0;
	width: 100%;
}
#marker1 .marker-btn {
	top: 26%;
	left: 35%;
}

#marker2 {
	top: 8.6%;
	left: 30.6%;
	width: 45.2%;
}
#marker2 .marker-btn {
	top: 9vw;
	left: 50%;
}
#marker2 .marker-zone {
	top: 0;
	left: 0;
	width: 100%;
}

#marker3 {
	top: 54.5%;
	right: 29%;
	width: 6.2%;
}
#marker3 .marker-btn {
	top: 51%;
	right: 28%;
}
#marker3 .marker-zone {
	top: 0;
	right: 0;
	width: 100%;
}

/* --------------------------------
	
	b10
	
-------------------------------- */
#b10 {
	position: relative;
	overflow: hidden;
}
.b10-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 0 -0.63vw;
}
.b10-content {
	position: relative;
	width: calc(75% - 1.26vw);
	margin: 0 0.63vw;
}
.b10-grid {
	display: flex;
	justify-content: space-between;
	margin: 3.13vw -0.63vw 0 -0.63vw;
}
.b10-item {
	position: relative;
	background: #2B2A28;
	color: #fff;
	padding: 2.5vw;
	border-radius: 16px;
	width: calc(33.333% - 1.26vw);
	margin: 0 0.63vw;
}
.b10-num {
	font-size: 3.33vw;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.46);
	line-height: 1;
	margin: 0 0 0.83vw 0;
	display: block;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.b10-item:hover .b10-num {
	color: #E21546;
}
.b10-bg {
	position: absolute;
	width: calc(25% - 1.26vw);
	margin: 0 0.63vw;
	top: 0;
	right: 0;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}
.b10-content-flex {
	position: relative;
	display: flex;
	justify-content: flex-end;
	margin: 1.26vw 0 0 0;
}
.b10-content-bg {
	width: calc(50% - 0.63vw);
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 16px;
	height: 100%;
	object-fit: cover;
}
.b10-txt {
	position: relative;
	width: calc(50% - 0.63vw);
	background: #F3F0EC;
	border-radius: 16px;
	padding: 4.43vw 2.5vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.b10-txt .title {
	margin: 0 0 2.60vw 0;
	width: 55%;
}
.b10-slider {
	position: relative;
	width: 100%;
	flex-direction: column;
}
.b10-slider-item {
	position: relative;
	background: #fff;
	border-radius: 16px;
	margin: 0 1.25vw 0 0;
	padding: 1.56vw 2.08vw;
}
.b10-logo {
	width: 100%;
	max-width: 85%;
	height: 3.02vw;
	margin: 0 0 1.46vw 0;
	object-fit: contain;
	object-position: left;
}
.b10-post {
	font-size: 0.94vw;
	font-weight: 500;
	color: #2B2A28;
}
.b10-post a {
	color: #E21546;
}
.b10-slider-txt {
	margin: 0 0 0.83vw 0;
}
.b10-slider-txt:last-child {
	margin: 0;
}
.b10-slider-txt span {
	font-size: 0.73vw;
	color: #666462;
	display: block;
	margin: 0 0 0.23vw 0;
}
.b10-slider-txt p  {
	font-size: 1.25vw;
	font-weight: 700;
}

/* --------------------------------
	
	b11
	
-------------------------------- */
#b11 {
	position: relative;
	overflow: hidden;
	padding-bottom: 0;
}
.b11-flex {
	position: relative;
	background: #2B2A28;
	color: #fff;
	border-radius: 16px;
	padding: 4.43vw 2.5vw;
	display: flex;
	justify-content: center;
}
.b11-content {
	width: calc(50% - 0.63vw);
}
.b11-content .title {
	margin: 0 0 1.56vw 0;
}
.b11-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 0 1.88vw 0;
}
.b11-item {
	padding: 0 2.60vw 0 0;
}

.b11-item-title {
	display: block;
	font-size: 0.63vw;
	font-weight: 700;
	color: #666462;
}
.b11-item p, .b11-item a {
	color: #F3F0EC;
	font-size: 0.94vw;
	font-weight: 300;
}
.b11-item a {
	white-space: nowrap;
}
#mapcontact {
	position: relative;
	width: 100%;
	height: 13.44vw;
	border-radius: 16px;
	overflow: hidden;
}
.b11-form {
	width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0;
}
.b11-form .title {
	margin: 0 0 2.5vw 0;
	font-size: 2.5vw;
}
.form-title {
	font-size: 2.08vw;
	text-transform: uppercase;
	margin: 0 0 1.56vw 0;
	line-height: 1.2;
}
.form-item {
	margin: 0px 0px 1.04vw;
	position: relative;
}
.form-row-submit {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.agreement {
	width: 60%;
	margin: 0 0 1.04vw 0;
	display: block;
}

/* --------------------------------
	
	footer
	
-------------------------------- */
footer {
	position: relative;
	overflow: hidden;
	padding: 1.46vw 0;
}
.footer-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.footer-copy {
	display: flex;
	align-items: center;
}
.social {
	display: flex;
	align-items: center;
}
.footer-contact {
	display: flex;
	align-items: center;
}
.copy {
	font-size: 0.63vw;
	margin: 0 2.60vw 0 0;
}
.social a {
	width: 2.08vw;
	margin: 0 0.83vw 0 0;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.social a:hover {
	opacity: 0.8;
}
.doc {
	display: flex;
	align-items: center;
	margin: 0 5.21vw 0 0;
}
.doc a {
	font-size: 0.63vw;
	font-weight: 600;
	margin: 0 0 0 2.08vw;
	color: #2B2A28;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.doc a:hover {
	color: #E21546;
}
.dev {
	font-size:0.63vw;
}
.dev a {
	color: #E21546;
	font-weight: 700;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.dev a:hover {
	color: #2B2A28;
}

/* --------------------------------
	
	catalog-page
	
-------------------------------- */
#catalog-page {
	position: relative;
	overflow: hidden;
}
.section-top {
	padding-top: 6.46vw;
}
.bredcrumb {
	margin: 0 0 2.40vw 0;
	padding: 0 30px;
	font-size: 0.73vw;
	color: #2B2A28;
	display: flex;
	align-items: center;
}
.bredcrumb a {
	color: #666462;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.bredcrumb a:hover {
	color: #2B2A28;
}
.bredcrumb-separator {
	margin: 0 0.31vw;
}
#catalog-page .catalog-grid {
	margin: 2.40vw -0.63vw 0 -0.63vw;
}
#catalog-page .catalog-item {
	margin-bottom: 3.27vw;
}
#catalog-page .catalog-content {
	padding-bottom: 0;
}
.pagination {
	position: relative;
	padding: 2.60vw 0 4.17vw 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pagination-item {
	width: 2.60vw;
	height: 2.60vw;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0.21vw;
	font-size: 0.83vw;
	font-weight: 600;
	background: #F3F0EC;
	color: #2B2A28;
	border-radius: 5px;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.pagination-item svg {
	width: 0.83vw;
	height: 0.83vw;
}
span.pagination-item {
	background: #E21546;
	color: #fff;
}
.pagination-item:hover {
	opacity: 0.8;
}

/* --------------------------------
	
	news-page
	
-------------------------------- */
#news-page {
	position: relative;
	overflow: hidden;
}
.news-header {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 2.40vw 0;
}
.news-header .title {
	margin: 0 2.60vw 0 0;
	padding: 0 2.60vw 0 0;
	border-right: 1px solid #AFAAA3;
}
.news-header h2 {
	font-size: 2.34vw;
	font-weight: 300;
	text-transform: uppercase;
}

/* --------------------------------
	
	catalog-detail
	
-------------------------------- */
#catalog-detail {
	position: relative;
	overflow: hidden;
	padding: 12vh 0 40px 0;
}
#catalog-detail .intro-content {
	padding: 2.5vw;
}
#catalog-detail .bredcrumb {
	margin: 0 0 1.25vw 0;
	padding: 0;
}
#catalog-detail .intro-content h1 {
	display: block;
	margin: 0 0 1vw 0;
}
.cost {
	font-size: 2.50vw;
	font-weight: 500;
	margin: 0 0 0.3vw 0;
}
.area {
	color: #666462;
}
.project-spec {
	margin: 2.08vw 0;
	display: flex;
	align-items: center;
}
.project-spec-item {
	display: flex;
	align-items: center;
	margin: 0 4.27vw 0 0;
}
.project-spec-item img {
	width: 2.71vw;
	margin: 0 0.83vw 0 0;
}
.project-spec-item p {
	font-size: 0.94vw;
	font-weight: 700;
}
.project-description p {
	margin: 0 0 1.25vw 0;
}
.project-description p a {
	color: #E21546;
}
.project-description p:last-child {
	margin: 0;
}
.catalog-detail-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 16px;
	height: 90vh;
	margin: 32px 0 0 0;
}
.detail-slider-nav.slick-slider {
	position: absolute;
	bottom: 0.83vw;
	right: 0;
	width: 100%;
	justify-content: flex-end;
	padding: 0 2.5vw;
}
.detail-slider-nav .slick-list {
	width: 45%;
}
.detail-slider-nav .detail-slider-item {
	margin: 0 0 0 0.83vw;
	cursor: pointer;
}
.detail-slider-nav .detail-slider-item img {
	border-radius: 8px;
	filter: brightness(0.4);
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.detail-slider-nav .detail-slider-item.slick-current img {
	filter: brightness(1);
}
.detail-slider-for.slick-slider {
	position: relative;
	height: 100%;
	width: 100%;
}
.detail-slider-for .detail-slider-item.slick-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --------------------------------
	
	catalog-description
	
-------------------------------- */
#catalog-description {
	position: relative;
	overflow: hidden;
}
.catalog-flex {
	display: flex;
	justify-content: space-between;
}
.project-description {
	margin: 0;
	width: 35%;
}
.project-content {
	width: 44%;
}

/* --------------------------------
	
	catalog-plan
	
-------------------------------- */
#catalog-plan {
	position: relative;
	overflow: hidden;
	padding: 3.65vw 0 0 0;
}
.plan-container {
	background: #2B2A28;
	color: #fff;
	padding: 2.5vw;
	border-radius: 16px;
	display: flex;
	justify-content: space-between;
}
.plan-stage-content {
	width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.plan-stage-nav {
	display: flex;
	margin: 2.08vw 0;
}
.plan-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.65vw;
	font-size: 0.63vw;
	font-weight: 600;
	text-align: center;
	padding: 0 2vw;
	border-radius: 40px;
	color: #fff;
	cursor: pointer;
	border: 1px solid rgba(175, 170, 163, 0.24);
	margin: 0 1.25vw 0 0;
	text-transform: uppercase;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.plan-btn:hover {
	border: 1px solid rgba(175, 170, 163, 0.5);
}
.plan-btn.active {
	border: 1px solid #E21546;
}
.plan-description {
	color: #AFAAA3;
}
.stage-grid-group {
	position: relative;
	margin: 0 0 1.56vw 0;
}
.stage-grid {
	display: none;
	flex-wrap: wrap;
}
.stage-grid.open {
	display: flex;
}
.stage-item {
	width: 25%;
	padding: 0.83vw 1.30vw;
	border-bottom: 1px solid #393939;
	border-right: 1px solid #393939;
	font-size: 0.94vw;
}
.stage-item:first-of-type {
	padding: 0.83vw 1.30vw 0.83vw 0;
}
.stage-item:nth-of-type(4) {
	border-right: 0;
}
.stage-item:nth-of-type(5) {
	border-bottom: 0;
	padding: 0.83vw 1.30vw 0.83vw 0;
}
.stage-item:nth-of-type(6) {
	border-bottom: 0;
}
.stage-item:nth-of-type(7) {
	border-bottom: 0;
}
.stage-item:nth-of-type(8) {
	border: 0;
}
.stage-item span {
	display: block;
	font-size: 0.73vw;
	color: #AFAAA3;
	margin: 0 0 0.52vw 0;
}
.stage-item p {
	font-size: 0.94vw;
	font-weight: 700;
}
.plan-stage-img {
	width: 55%;
}
.plan-stage-img img {
	display: none;
	width: 100%;
}
.plan-stage-img img.open {
	display: block;
}

/* --------------------------------
	
	catalog-complect
	
-------------------------------- */
#catalog-complect {
	position: relative;
	overflow: hidden;
}
#catalog-complect .title {
	margin: 0 0 2.40vw 0;
}
.complect-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.63vw;
}
.complect-item {
	position: relative;
	width: calc(25% - 1.26vw);
	margin: 0.63vw;
	background: #F3F0EC;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 2.5vw;
	min-height: 16.93vw;
}
.complect-item img {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
  will-change: transform;
	transform: translateX(12%);
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.complect-item:hover img  {
	transform: translateX(3%);
}
.complect-item p {
	font-size: 1.25vw;
	font-weight: 700;
}
.complect-num {
	font-size: 5vw;
	font-weight: 500;
	color: rgba(102, 100, 98, 0.25);
	line-height: 0.7;
}

/* --------------------------------
	
	catalog-similar
	
-------------------------------- */
#catalog-similar {
	position: relative;
	overflow: hidden;
}
#catalog-similar .title {
	margin: 0 0 2.40vw 0;
}
.similar-slider {
	position: relative;
	width: 100%;
}

/* --------------------------------
	
	news-detail
	
-------------------------------- */
#news-detail {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.detail-flex {
	display: flex;
	justify-content: space-between;
	padding: 0 0 100px 0;
	height: 90vh;
}
.detail-flex .mCSB_container {
	padding: 0 0 40px 0;
}
.news-info {
	position: relative;
	width: 40%;
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 0 2.08vw 0 0;
}
.news-info .bredcrumb {
	padding: 0;
	margin: 0 0 30px 0;
	flex-wrap: wrap;
}
.news-info .btn {
	margin-top: 2.08vw;
}
.news-detail-img {
	position: relative;
	width: 65%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0 0 0 65px;
}
.news-detail-img img {
	position: relative;
	width: 100%;
	display: block;
	object-fit: cover;
	height: 100%;
	border-radius: 16px;
}
.video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.video iframe, .video object, .video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 16px;
}
.news-detail-title {
	font-size: 2vw;
	line-height: 1.2;
	margin-bottom: 25px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.news-info p {
	position: relative;
	margin: 0 0 15px 0;
}
.news-info h3  {
	margin: 30px 0 15px 0;
	font-size: 1.25vw;
}
.news-info ul  {
	margin: 20px 0 30px 0;
	padding: 0 0 0 25px;
	list-style: disc;
}

/* --------------------------------
	
	news-layer
	
-------------------------------- */
#news-layer {
	position: relative;
	overflow: hidden;
}
.news-gallery {
	position: relative;
	margin: 0 -8px 8px -8px;
	display: flex;
	flex-wrap: wrap;
}
.news-gallery .gallery-item {
	position: relative;
	margin: 8px;
	width: calc(33.333% - 16px);
	overflow: hidden;
	border-radius: 16px;
}
.news-gallery .gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.news-gallery .gallery-item img:hover {
	transform: scale(1.1);
}







/* --------------------------------
	
	#contact-page
	
-------------------------------- */
#contact-page {
	position: relative;
	overflow: hidden;
	height: 100vh;
	padding-bottom: 1.25vw;
}
#map2 {
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
}
.contact-container {
	position: relative;
	height: calc(100vh - 6.46vw);
}
.contact-popup {
	position: absolute;
	top: 1.67vw;
	left: 1.67vw;
	background: #fff;
	padding: 3.65vw 2.86vw;
	border-radius: 16px;
	box-shadow: 4px 4px 12px rgba(0,0,0,0.2);
	color: #2B2A28;
}
.contact-popup .title {
	font-size: 2.50vw;
	margin: 0 0 1.56vw 0;
}
.contact-popup .b11-item {
	padding: 0;
	margin: 0 0 1.82vw 0;
}
.contact-popup .b11-item p, .contact-popup .b11-item a {
	color: #2B2A28;
	font-weight: 400;
}
.contact-popup .btn-callback svg {
	width: 1vw;
	margin: 0 0 0 0.83vw;
}

/* --------------------------------
	
	land-page
	
-------------------------------- */
#land-page {
	position: relative;
	overflow: hidden;
	height: 100vh;
	padding-bottom: 0;
	/* background: url(../img/landbg.jpg) no-repeat center / cover; */
}
#land {
	width: 100%;
	border-radius: 24px 24px 0 0;
	overflow: hidden;
	height: 100%;
}
.land-container {
	position: relative;
	/* height: calc(100vh - 6.46vw); */
	height: 100vh;
	/* width: 32.81vw;
	margin: 0 auto; */
}
.land-map {
	width: 100%;
}
.land-btn-group {
	position: absolute;
	bottom: 32px;
	right: 32px;
	z-index: 1;
}
#zoom-in {
	margin: 0 0 16px 0;
}
.land-btn-group .btn-map {
	width: 3.08vw;
	height: 3.08vw;
	font-size: 1.4vw;
}
.land-modal {
	position: absolute;
	background: #fff;
	border-radius: 16px;
	padding: 2.19vw;
	top: 8vw;
	left: 1.67vw;
	width: 24.22vw;
	will-change: transform;
	transform: translateX(-100%);
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.land-modal.open {
	transform: translateX(0%);
	opacity: 1;
	visibility: visible;
}
.land-modal-close {
	width: 16px;
	position: absolute;
	top: 1.04vw;
	right: 1.04vw;
	opacity: 0.5;
	cursor: pointer;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
	z-index: 1;
}
.land-modal-close:hover {
	opacity: 0.75;
}
.land-modal .name {
	font-size: 1.88vw;
	line-height: 1.1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.83vw 0;
}
.land-status {
	margin: 0 0 16px 0;
}
.land-status span {
	position: relative;
	font-size: 0.83vw;
	font-weight: 700;
	display: flex;
	align-items: center;
}
.land-status span:before {
	position: relative;
	display: block;
	width: 1.25vw;
	height: 1.25vw;
	background: #97EA23;
	border-radius: 50%;
	margin: 0 0.83vw 0 0;
}
.land-status span.booking:before {
	background: #F9E547;
}
.land-status span.sale:before {
	background: #F95847;
}
.land-txt {
	margin: 0 0 1.25vw 0;
}
.land-txt p {
	padding: 0.63vw 0;
	font-size: 1.4vw;
	border-bottom: 1px solid rgba(175, 170, 163, 0.38);
}
.land-txt p:last-child {
	padding: 0.63vw 0 0 0;
	border-bottom: 0;
}
.land-txt p span {
	display: block;
	font-size: 0.83vw;
	font-weight: 700;
	color: #666462;
}


















/* --------------------------------
	
	адаптив
	
-------------------------------- */
@media (max-width: 1600px) {
	
	
	
	
	
}

@media (max-width: 1400px) {
	
	
	
	
	
}

@media (max-width: 1200px) {
	* {
		scrollbar-color: rgba(242, 244, 250, 0.2) transparent;
	}
	/* для Chrome/Edge/Safari */
	*::-webkit-scrollbar {
		height: auto;
		width: auto;
	}
	*::-webkit-scrollbar-track {
		background: transparent;
	}
	*::-webkit-scrollbar-thumb {
		background-color: transparent;
		border-radius: 5px;
		border: 3px solid rgba(242, 244, 250, 0.2);
	}
	* {
		-webkit-tap-highlight-color: transparent;
	}	
	.container {
		padding: 0 32px;
	}
	.logo {
		width: 20%;
	}
	.burger {
		display: flex;
	}
	.header-nav {
		position: fixed;
		display: flex;
		align-items: center;
		top: 0;
		flex-direction: column;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(243, 240, 236, 0.85);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		will-change: transform;
		opacity: 0;
		visibility: hidden;
		-webkit-transition: 0.35s ease-out;
		transition: 0.35s ease-out;
		justify-content: center;
		padding: 32px;
	}
	.header-nav.show {
		opacity: 1;
		visibility: visible;
	}
	.nav {
		flex-direction: column;
		margin: 0 0 24px 0;
	}
	.nav a {
		font-size: 3vw;
		margin: 10px 0;
	}
	.header-contact {
		padding: 24px 0 0 0;
		border-top: 1px solid rgba(157, 157, 157, 0.4);
		width: 100%;
		justify-content: center;
		flex-direction: column;
	}
	.tel {
		font-size: 5vw;
		margin: 0 0 24px 0;
	}
	.tel img {
		width: 5vw;
		margin: 0 24px 0 0;
	}
	.btn-callback {
		padding: 0 32px;
		height: 48px;
		font-size: 12px;
	}
	.btn-callback svg {
		width: 24px;
		margin: 0 12px 0 0;
	}
	.flex-header {
		padding: 0;
		height: 70px;
	}
	.intro-flex {
		min-height: 100vh;
		height: auto;
		padding: 0;
		flex-direction: column;
		justify-content: center;
	}
	.intro-content {
		width: 85%;
		padding: 5vh 0 0 0;
	}
	.intro-grid {
		gap: 16px;
		margin: 32px 0;
		width: 100%;
	}
	.intro-item {
		padding: 20px;
		min-height: 110px;
	}
	.intro-item span {
		font-size: 14px;
		margin: 0 0 16px 0;
	}
	.intro-item p {
		font-size: 18px;
	}
	.intro-item-img {
		top: 15%;
		width: 80%;
	}
	.btn {
		padding: 0 24px;
		height: 48px;
		font-size: 10px;
		min-width: auto;
	}
	.btn img {
		width: 16px;
		margin: 0 0 0 12px;
	}
	.intro-slider {
		width: 100%;
	}
	.title {
		font-size: 36px;
	}
	p, li {
		font-size: 14px;
	}
	.news-list-item h3 {
		font-size: 18px;
		margin: 0 0 10px 0;
	}
	.news-date {
		margin: 10px 0 0 0;
		font-size: 12px;
	}
	.news-list-item {
		margin: 0 0 32px 0;
	}
	.last-news h3 {
		bottom: 32px;
		left: 32px;
		font-size: 24px;
	}
	.subtitle {
		font-size: 18px;
	}
	.b3-grid {
		margin: 0 -8px 30px -8px;
		flex-wrap: wrap;
	}
	.b3-item {
		width: calc(50% - 16px);
		margin: 8px;
	}
	#map {
		width: calc(72% - 8px);
	}
	.b2-content {
		width: calc(28% - 8px);
	}
	.b3-item-caption {
		padding: 32px;
	}
	.b3-item h3 {
		font-size: 18px;
	}
	.b3-item-title {
		padding: 32px;
	}
	.b4-content {
		padding: 48px 32px;
	}
	.b4-content {
		padding: 48px 32px;
		display: flex;
		flex-direction: column;
	}
	.b4-bg {
		position: relative;
		width: 100%;
		height: 50vw;
		order: 3;
	}
	.b4-header {
		width: 100%;
		margin: 0 0 32px 0;
		order: 1;
	}
	.b4-grid {
		position: relative;
		display: flex;
		gap: 0;
		order: 2;
		flex-wrap: wrap;
	}
	.b4-header .title {
		margin: 0 0 16px 0;
	}
	.b4-item {
		padding: 32px;
		width: 100%;
		margin: 0 0 16px 0;
		min-height: 140px;
	}
	.b4-item h3 {
		font-size: 18px;
		margin: 0 0 16px 0;
	}
	.b4-num {
		right: 16px;
		font-size: 100px;
	}
	.b5-grid {
		margin: 0 -8px;
	}
	.b5-item {
		width: calc(50% - 16px);
		margin: 8px;
		padding: 32px;
	}
	.b5-item-ico {
		width: 64px;
		margin: 0 0 16px 0;
	}
	.b5-item span {
		font-size: 18px;
	}
	.b5-item span br {
		display: none;
	}
	.b5-item h2 {
		font-size: 32px;
		margin: 0 0 16px 0;
	}
	.b6-flex {
		flex-direction: column;
	}
	.b6-bg {
		width: 100%;
		position: relative;
		height: 50vw;
		margin: 0 0 70px 0;
	}
	.b6-content {
		width: 100%;
		padding: 48px 32px;
	}
	.b6-content .title {
		margin: 0 0 16px 0;
	}
	.b6-item {
		margin: 32px 0 0 0;
	}
	.b6-num {
		font-size: 70px;
		margin: 0 0 24px 0;
	}
	#b7 .subtitle {
		margin: 0 0 40px 0;
		width: 70%;
	}
	#b7 .title {
		margin: 0 0 16px 0;
	}
	.b7-item p {
		padding: 32px;
		font-size: 18px;
	}
	.b7-grid {
		margin: 0 -8px;
		flex-wrap: wrap;
	}
	.b7-item {
		width: calc(50% - 16px);
		margin: 8px;
	}
	.title-header .title {
		margin: 0 0 16px 0;
	}
	.title-header {
		margin: 0 0 40px 0;
	}
	#b8 .catalog-content {
		overflow: hidden;
		padding: 48px 0;
	}
	#b8 .catalog-content .title-header {
		padding: 0 32px;
	}
	#b8 .catalog-grid {
		position: relative;
		flex-wrap: nowrap;
		margin: 0;
		padding: 0 0 8px 32px;
		overflow: auto;
	}
	#b8 .catalog-content:after {
		background: linear-gradient(90deg,rgba(243, 240, 236, 0) 0%, rgba(243, 240, 236, 1) 100%);
		width: 100px;
		height: 100%;
		top: 0;
		right: 0;
	}
	#b8 .catalog-grid .catalog-item {
		width: 360px;
		margin: 0 16px 0 0;
		flex: 0 0 auto;
	}
	.catalog-caption {
		padding: 16px 10px;
	}
	.catalog-caption h3 {
		font-size: 18px;
		margin: 0 0 16px 0;
	}
	.catalog-caption-item {
		padding: 0 16px 0 0;
		margin: 0 16px 0 0;
	}
	.caption-item-title {
		font-size: 10px;
	}
	.catalog-caption-item p {
		font-size: 14px;
	}
	.b9-map {
		border-radius: 16px;
		height: 75vw;
		object-fit: cover;
	}
	.marker-btn img {
		width: 42px;
	}
	#marker1 {
		top: 24.8%;
		left: -1%;
		width: 12.8%;
	}
	#marker2 {
		top: 9.1%;
		left: 22%;
		width: 65.8%;
	}
	#marker3 {
		top: 54.5%;
		right: 19%;
		width: 9.2%;
	}
	.marker-txt {
		top: -30px;
		width: 120px;
		font-size: 10px;
	}
	.b10-grid {
		margin: 30px -8px 0 -8px;
	}
	.b10-item {
		padding: 32px;
		width: calc(33.333% - 16px);
		margin: 0 8px;
	}
	.b10-bg {
		width: calc(25% - 16px);
		margin: 0 8px;
	}
	.b10-content-flex {
		position: relative;
		display: flex;
		justify-content: flex-end;
		margin: 16px -8px 0 -8px;
	}
	.b10-content-bg, .b10-txt {
		width: calc(50% - 16px);
		margin: 0 8px;
	}
	.b10-txt {
		padding: 48px 32px;
	}
	.b10-post {
		font-size: 14px;
	}
	.b10-slider-txt span {
		font-size: 10px;
		margin: 0 0 5px 0;
	}
	.b10-slider-txt {
		margin: 0 0 16px 0;
	}
	.b10-slider-txt p {
		font-size: 14px;
	}
	.b11-grid {
		margin: 0 0 32px 0;
	}
	.b11-flex {
		padding: 48px 32px;
		flex-direction: column;
	}
	.b11-content {
		width: 100%;
		margin: 0 0 32px 0;
	}
	.b11-content .title {
		margin: 0 0 24px 0;
	}
	.b11-item {
		padding: 0 40px 0 0;
	}
	.b11-item-title {
		font-size: 12px;
	}
	.b11-item p, .b11-item a {
		font-size: 18px;
	}
	#mapcontact {
		height: 40vw;
	}
	.b11-form {
		width: 100%;
		padding: 0;
	}
	.form-title {
		font-size: 32px;
		margin: 0 0 24px 0;
	}
	.form-item {
		margin: 0 0 12px 0;
	}
	input[type="text"], input[type="email"], input[type="tel"] {
		font-size: 14px;
		height: 48px;
		padding: 0 16px;
	}
	.agreement {
		margin: 12px 0;
		width: 50%;
	}
	.agrement-txt {
		padding: 0 0 0 24px;
		font-size: 12px;
	}
	.footer-flex {
		flex-direction: column;
		text-align: center;
	}
	.footer-copy {
		flex-direction: column;
		margin: 0 0 16px 0;
	}
	footer {
		padding: 24px 0;
	}
	.copy {
		font-size: 12px;
		margin: 0 0 10px 0;
	}
	.social a {
		width: 32px;
		margin: 0 8px;
	}
	.footer-contact {
		flex-direction: column;
	}
	.doc {
		margin: 0 0 16px 0;
		flex-direction: column;
	}
	.doc a {
		font-size: 14px;
		margin: 4px 0;
	}
	.dev {
		font-size: 12px;
	}
	.b10-slider-item {
		margin: 0 8px 0 0;
		padding: 24px;
	}
	.news-date img {
		width: 14px;
	}
	.section {
		padding: 40px 0;
	}
	.catalog-thumb {
		height: 34vw;
	}
	.b10-num {
		font-size: 40px;
		margin: 0 0 16px 0;
	}
	.section-top {
		padding-top: 70px;
	}
	.bredcrumb {
		margin: 0 0 32px 0;
		padding: 0 32px;
		font-size: 12px;
	}
	.bredcrumb-separator {
		margin: 0 8px;
	}
	#catalog-page .catalog-grid {
		margin: 32px -8px 0 -8px;
	}
	#catalog-page .catalog-item {
		margin-bottom: 32px;
		width: calc(50% - 16px);
		margin: 0 8px 32px 8px;
	}
	.btn-detail {
		top: 24px;
		right: 24px;
		width: 48px;
		height: 48px;
	}
	.btn-detail img {
		width: 16px;
		height: 16px;
	}
	.pagination-item {
		width: 32px;
		height: 32px;
		margin: 0 4px;
		font-size: 14px;
	}
	.pagination-item svg {
		width: 12px;
		height: 12px;
	}
	.pagination {
		padding: 40px 0;
	}
	#catalog-page .catalog-thumb {
		height: 40vw;
	}
	#catalog-page .catalog-content {
		padding: 48px 32px;
	}
	#catalog-detail .intro-flex {
		flex-direction: column-reverse;
		padding: 70px 0 32px 0;
	}
	#catalog-detail .intro-content {
		padding: 48px 32px;
		width: 100%;
	}
	.catalog-detail-slider {
		width: 100%;
	}
	#catalog-detail .bredcrumb {
		margin: 0 0 32px 0;
	}
	#catalog-detail .intro-content h1 {
		margin: 0 0 8px 0;
	}
	.cost {
		font-size: 32px;
		margin: 0 0 16px 0;
	}
	.project-spec {
		margin: 24px 0;
	}
	.project-spec-item {
		margin: 0 40px 0 0;
	}
	.project-spec-item img {
		width: 40px;
		margin: 0 12px 0 0;
	}
	.project-spec-item p {
		font-size: 14px;
	}
	.detail-slider-nav.slick-slider {
		bottom: 0;
		padding: 24px;
	}
	.detail-slider-nav .slick-list {
		width: 45%;
	}
	.plan-container {
		padding: 48px 32px;
		flex-direction: column;
	}
	.plan-stage-content {
		width: 100%;
		margin: 0 0 40px 0;
	}
	.plan-stage-nav {
		margin: 24px 0;
	}
	.plan-btn {
		height: 48px;
		font-size: 10px;
		padding: 0 32px;
		margin: 0 16px 0 0;
	}
	.stage-item span {
		font-size: 12px;
		margin: 0 0 8px 0;
		line-height: 1.1;
	}
	.stage-item {
		font-size: 18px;
		padding: 12px 16px;
	}
	.stage-grid-group {
		margin: 0 0 24px 0;
	}
	.plan-stage-img {
		width: 100%;
	}
	.plan-stage-img img {
		height: auto;
	}
	#catalog-complect {
		padding: 70px 0;
	}
	#catalog-complect .container {
		padding: 0;
	}
	#catalog-complect .title {
		margin: 0 0 32px 0;
		padding: 0 32px;
	}
	.complect-grid {
		flex-wrap: nowrap;
		margin: 0;
		padding: 0 0 8px 32px;
		overflow: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scroll-padding: 0 0 0 32px;
	}
	.complect-item {
		width: 240px;
		margin: 0 16px 0 0;
		border-radius: 16px;
		padding: 24px;
		min-height: 240px;
		flex: 0 0 auto;
		scroll-snap-align: start;
	}
	.complect-item p {
		font-size: 16px;
	}
	.complect-num {
		font-size: 70px;
	}
	.catalog-content {
		padding: 48px 32px;
	}
	#catalog-similar .title {
		margin: 0 0 32px 0;
	}
	#catalog-similar .catalog-item {
		margin: 0 8px;
	}
	.similar-slider {
		width: auto;
		margin: 0 -8px;
	}
	.stage-item:first-of-type {
		padding: 12px 16px 12px 0;
	}
	.stage-item:nth-of-type(5) {
		padding: 12px 16px 12px 0;
	}
	.contact-popup .title {
		font-size: 28px;
		margin: 0 0 24px 0;
	}
	.contact-popup {
		top: 24px;
		left: 24px;
		padding: 32px;
	}
	.contact-popup .b11-item {
		margin: 0 0 24px 0;
	}
	.contact-popup .btn-callback svg {
		width: 16px;
		margin: 0 0 0 12px;
	}
	.news-grid {
		margin: 42px -8px 0 -8px;
	}
	.news-item {
		width: calc(50% - 16px);
		margin: 8px;
	}
	.news-item-bg {
		height: 40vw;
	}
	.news-header {
		margin: 0 0 40px 0;
	}
	.news-detail-flex {
		padding: 0;
		flex-direction: column;
	}
	.news-detail-content {
		width: 100%;
		padding: 48px 32px;
		margin: 0 0 24px 0;
	}
	.news-detail-content .title {
		margin: 0 0 30px 0;
	}
	.detail-description-txt p {
		margin: 0 0 16px 0;
	}
	.detail-description-txt ul, .detail-description-txt ol {
		margin: 0 0 16px 0;
	}
	.btn-back {
		padding: 0 32px;
		margin: 24px 0 0 0;
		font-size: 12px;
		height: 48px;
	}
	.news-detail-asside {
		width: 100%;
		padding: 48px 32px;
	}
	.btn-map {
		width: 48px;
		height: 48px;
		font-size: 16px;
	}
	.land-modal {
		padding: 24px;
		top: 100px;
		left: 24px;
		width: 35vw;
	}
	.land-modal .name {
		font-size: 28px;
		margin: 0 0 16px 0;
	}
	.land-status span {
		font-size: 14px;
	}
	.land-txt {
		margin: 0 0 24px 0;
	}
	.land-txt p {
		padding: 8px 0;
		font-size: 18px;
		border-bottom: 1px solid rgba(175, 170, 163, 0.38);
	}
	.land-txt p span {
		font-size: 14px;
	}
	.land-modal-close {
		width: 12px;
		top: 32px;
		right: 24px;
	}
	#land-page {
		height: auto;
		padding-bottom: 0;
	}
	.modal_container {
		padding: 48px 32px;
		max-width: 40%;
	}
	.form-txt {
		font-size: 16px;
		margin: 0 0 16px 0;
	}
	input[type="checkbox"] ~ span::before {
		width: 16px;
		height: 16px;
		top: 0;
	}
	.land-status span::before {
		width: 16px;
		height: 16px;
		margin: 0 8px 0 0;
	}
	.b7-item {
		height: 40vw;
	}
	#b8 .container {
		padding: 0;
	}
	#b8 .title-header {
		padding: 0 32px;
	}
	.bredcrumb {
		padding: 0 32px;
	}
	.project-description {
		width: 45%;
	}
	.project-content {
		width: 40%;
	}
	.detail-flex {
		padding: 0 0 70px 0;
		height: auto;
		flex-direction: column;
	}
	.news-info {
		width: 100%;
		height: 100%;
		padding: 0;
	}
	.news-detail-title {
		font-size: 24px;
	}
	.news-info h3 {
		font-size: 18px;
	}
	.news-detail-img {
		width: 100%;
		padding: 0;
	}
	.news-gallery .gallery-item {
		width: calc(50% - 16px);
	}
	.panorama, .panorama-view {
	height: 100vh;
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 991px) {
	.intro-content {
		width: 90%;
	}
	.intro-item-img {
		top: 25%;
		width: 100%;
	}
	.intro-grid {
		gap: 8px;
	}
	.title-group {
		margin: 0 0 30px 0;
	}
	.news-group {
		flex-direction: column;
	}
	.last-news {
		width: 100%;
		min-height: 60vw;
		margin: 0 0 32px 0;
	}
	.news-list {
		width: 100%;
	}
	.news-list-item {
		margin: 0 0 24px 0;
		flex-direction: column;
		align-items: flex-start;
	}
	.news-list-preview {
		width: 30%;
		margin: 0 0 16px 0;
	}
	.b2-map-flex {
		flex-direction: column;
	}
	.b2-content {
		width: 100%;
		padding: 48px 32px;
	}
	.b2-count {
		font-size: 36px;
	}
	.b2-count span {
		font-size: 150px;
	}
	.b2-count-txt {
		font-size: 16px;
		margin: 12px 0 0 0;
	}
	#map {
		width: 100%;
		margin: 24px 0 0 0;
		height: 50vw;
	}
	.btn-detail {
		top: 24px;
		right: 24px;
		width: 48px;
		height: 48px;
	}
	.btn-detail img {
		width: 16px;
		height: 16px;
	}
	.b10-flex {
		margin: 0;
	}
	.b10-bg {
		display: none;
	}
	.b10-content {
		width: 100%;
		margin: 0;
	}
	.b10-content-flex {
		margin: 16px 0 0 0;
		flex-direction: column;
	}
	.b10-content-bg, .b10-txt {
		width: 100%;
		margin: 0;
	}
	.b10-content-bg {
		width: 100%;
		position: relative;
		height: 50vw;
		object-fit: cover;
		margin: 0 0 16px 0;
	}
	.b10-txt .title {
		margin: 0 0 30px 0;
		width: 100%;
	}
	.nav a {
		font-size: 5vw;
	}
	.tel {
		font-size: 7vw;
	}
	.logo {
		width: 30%;
	}
	input[type="checkbox"] ~ span::before {
		width: 16px;
		height: 16px;
		top: 0px;
	}
	.catalog-caption-item:last-of-type {
		display: none;
	}
	.catalog-caption-item:nth-of-type(2) {
		padding: 0;
		border-right: 0;
		margin: 0;
	}
	.similar-slider .catalog-thumb {
		height: 40vw;
	}
	.project-description p {
		margin: 0 0 16px 0;
	}
	.project-description {
		margin: 0 0 32px 0;
	}
	.contact-popup {
		top: 0;
		left: 0;
		padding: 0;
		position: relative;
		width: 100%;
		box-shadow: none;
		margin: 0 0 40px 0;
	}
	#contact-page {
		height: auto;
		padding: 100px 0 0 0;
		min-height: 100vh;
	}
	.contact-container {
		height: auto;
	}
	#map2 {
		height: 80vh;
		position: relative;
	}
	.contact-container {
		height: auto;
		display: flex;
		flex-direction: column-reverse;
	}
	.news-header h2 {
		font-size: 28px;
	}
	.news-detail-description {
		flex-direction: column-reverse;
	}
	.detail-description-img {
		width: 100%;
		margin: 0 0 24px 0;
	}
	.detail-description-txt {
		width: 100%;
		padding: 0;
	}
	.asside-content .form-title, .asside-content h3 {
		font-size: 28px;
	}
	.asside-content h3 {
		margin: 0 0 24px 0;
	}
	.land-modal {
		width: 50vw;
	}
	.modal_container {
		max-width: 100%;
	}
	.modal-form {
		width: 100%;
	}
	.map-road {
		width: 100%;
		margin: 16px 0 0 0;
	}
	#catalog-detail {
		padding: 10vh 0 40px 0;
	}
.panorama, .panorama-view {
	height: 80vh;
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 767px) {
	.container {
		padding: 0 16px;
	}
	.logo {
		width: 50%;
	}
	.flex-header {
		height: 60px;
	}
	.intro-content {
		padding: 64px 0 48px 0;
		width: 100%;
	}
	.intro-grid {
		gap: 0;
		display: flex;
		padding: 0 0 16px 16px;
		overflow: auto;
		margin: 24px 0;
	}
	.intro-item {
		padding: 20px;
		margin: 0 8px 0 0;
		flex: 0 0 auto;
	}
	.intro-logo {
		transform: scale(1);
		padding: 0 16px;
	}
	.intro-content {
		background: transparent;
	}
	#intro .container {
		padding: 0;
	}
	.intro-content .btn {
		margin: 0 0 0 16px;
		width: auto;
	}
	.intro-logo {
		width: 90%;
	}
	.news-list-preview {
		width: 100%;
		border-radius: 8px;
	}
	.last-news {
		border-radius: 8px;
	}
	.last-news h3 {
		bottom: 24px;
		left: 24px;
		font-size: 18px;
	}
	.news-list-item {
		margin: 0 0 32px 0;
	}
	.news-list {
		margin: 0 0 40px 0;
	}
	.btn {
		width: 100%;
	}
	#map {
		height: 80vw;
		border-radius: 8px;
	}
	.b2-content {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.b3-grid {
		flex-wrap: wrap;
	}
	.b3-item {
		width: 100%;
		margin: 0 0 16px 0;
	}
	.b3-item-caption {
		padding: 24px;
	}
	.b3-item-title {
		padding: 24px;
	}
	.b4-content {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.b4-header .title {
		font-size: 28px;
	}
	.b4-item {
		padding: 24px;
		border-radius: 8px;
	}
	.b4-num {
		color: rgba(255, 255, 255, 0.05);
	}
	.b4-bg {
		height: auto;
		border-radius: 8px;
	}
	.b5-grid {
		margin: 0;
		flex-direction: column-reverse;
	}
	.b5-item {
		width: 100%;
		margin: 0 0 16px 0;
		padding: 24px;
		border-radius: 8px;
	}
	.b5-item:nth-child(2) {
		order: 1;
	}
	.b5-item:nth-of-type(2) {
		padding: 0;
		margin: 0 0 32px 0;
	}
	.b5-item:first-child {
		background: transparent;
		border: 1px solid rgba(102, 100, 98, 0.47);
	}
	.b5-item p {
		font-size: 18px;
	}
	.b6-bg {
		height: auto;
		margin: 0 0 16px 0;
	}
	.b6-content {
		padding: 32px 24px;
	}
	.b6-item {
		margin: 0 0 32px 0;
		width: 100%;
	}
	.b6-item:last-child {
		margin: 0;
	}
	.b7-item:last-child {
		margin: 0;
	}
	.b6-grid {
		margin: 32px 0 0 0;
	}
	#b7 .subtitle {
		margin: 0 0 32px 0;
		width: 100%;
	}
	.b7-grid {
		margin: 0;
	}
	.b7-item {
		width: 100%;
		margin: 0 0 16px 0;
	}
	.b7-item p {
		padding: 24px;
		font-size: 18px;
	}
	#b8 .catalog-content {
		padding: 32px 0;
		border-radius: 8px;
	}
	#b8 .catalog-content .title-header {
		padding: 0 24px;
	}
	#b8 .catalog-grid {
		margin: 0;
		padding: 0 0 8px 16px;
	}
	#b8 .catalog-grid .catalog-item {
		width: 260px;
		margin: 0 16px 0 0;
	}
	.catalog-thumb {
		height: 65vw;
	}
	.caption-item-title {
		margin: 0 0 4px 0;
	}
	#b8 .flex-center {
		margin: 32px 0 0 0;
		padding: 0 24px;
	}
	.catalog-content::after {
		width: 50px;
	}
	.b10-grid {
		margin: 30px 0 0 0;
		flex-direction: column;
	}
	.b10-item {
		padding: 24px;
		width: 100%;
		margin: 0 0 16px 0;
	}
	.b10-content-flex {
		margin: 0;
	}
	.b10-content-bg {
		height: auto;
		border-radius: 8px;
	}
	.b10-txt {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.b10-logo {
		height: 42px;
		margin: 0 0 16px 0;
	}
	.b11-flex {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.b11-grid {
		flex-direction: column;
	}
	.b11-item {
		padding: 0 0 24px 0;
	}
	.b11-grid {
		margin: 0 0 16px 0;
	}
	#mapcontact {
		height: 100vw;
		border-radius: 8px;
	}
	.b11-content {
		margin: 0 0 48px 0;
	}
	.agreement {
		width: 100%;
	}
	.b10-slider-item {
		border-radius: 8px;
	}
	.nav a {
		font-size: 7vw;
	}
	.header-nav {
		padding: 16px;
	}
	.tel {
		font-size: 8vw;
	}
	.tel img {
		width: 8vw;
		margin: 0 16px 0 0;
	}
	#catalog-page .catalog-content {
		padding: 32px 24px;
		border-radius: 8px;
	}
	#catalog-page .catalog-grid {
		margin: 32px 0 0 0;
	}
	#catalog-page .catalog-item {
		width: 100%;
		margin: 0 0 32px 0;
	}
	#catalog-page .catalog-thumb {
		height: 80vw;
	}
	.bredcrumb {
		padding: 0 16px 8px 16px;
		overflow: auto;
	}
	.bredcrumb-item, .bredcrumb-separator {
		flex: 0 0 auto;
	}
	#catalog-detail .intro-content {
		padding: 32px 24px;
		background: #F3F0EC;
		border-radius: 8px;
	}
	#catalog-detail .intro-content::before {
		display: none;
	}
	#catalog-detail .intro-content .btn {
		margin: 0;
	}
	.catalog-detail-slider {
		border-radius: 8px;
		height: auto;
	}
	.detail-slider-nav.slick-slider {
		position: relative;
	}
	.detail-slider-for .detail-slider-item.slick-slide img {
		height: 80vw;
		border-radius: 8px;
	}
	.detail-slider-nav .detail-slider-item img {
		height: 70px;
		object-fit: cover;
	}
	.detail-slider-nav .detail-slider-item {
		margin: 0 0 0 8px;
	}
	.detail-slider-for.slick-slider {
		overflow: hidden;
		border-radius: 8px;
	}
	.catalog-flex {
		flex-direction: column;
	}
	.project-description {
		width: 100%;
	}
	.project-content {
		width: 100%;
	}
	#catalog-detail {
		padding: 10vh 0 24px 0;
	}
	#catalog-plan {
		padding: 70px 0 0 0;
	}
	.plan-container {
		padding: 0;
		border-radius: 8px;
	}
	.plan-stage-nav {
		justify-content: space-between;
	}
	.plan-btn {
		margin: 0;
		width: 48%;
		padding: 0 10px;
	}
	.stage-item:first-of-type {
		padding: 8px 8px 8px 0;
	}
	.stage-item:nth-of-type(5) {
		padding: 8px 8px 8px 0;
	}
	.stage-item {
		padding: 8px;
	}
	.plan-stage-content {
		margin: 0;
		padding: 32px 24px;
	}
	.plan-stage-img {
		padding: 0 0 24px 0;
	}
	#catalog-complect .title {
		padding: 0 16px;
	}
	.complect-grid {
		padding: 0 0 16px 16px;
		scroll-padding: 0 0 0 16px;
	}
	.catalog-content {
		padding: 32px 24px;
		border-radius: 8px;
	}
	#catalog-similar .title {
		font-size: 24px;
		width: 50%;
	}
	.similar-slider .catalog-thumb {
		height: 75vw;
	}
	#map2 {
		border-radius: 8px;
	}
	.news-header {
		flex-direction: column;
		align-items: flex-start;
	}
	.news-header .title {
		margin: 0;
		padding: 0;
		border-right: 0;
	}
	.news-header h2 {
		font-size: 24px;
	}
	.last-news {
		min-height: 92vw;
	}
	.news-grid {
		margin: 0;
	}
	.news-item {
		width: 100%;
		margin: 0 0 16px 0;
		border-radius: 8px;
	}
	.news-item h3 {
		bottom: 0;
		left: 0;
		font-size: 16px;
		padding: 24px;
	}
	.news-item-bg {
		height: 92vw;
	}
	.news-detail-content {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.news-detail-content .title {
		margin: 0 0 24px 0;
		font-size: 24px;
	}
	.news-detail-asside {
		padding: 32px 24px;
	}
	.land-modal {
		width: calc(100% - 32px);
		left: 16px;
		top: 80px;
		border-radius: 8px;
	}
	#land {
		border-radius: 16px 16px 0 0;
	}
	.modal_container {
		padding: 32px 24px;
		border-radius: 8px;
	}
	.modal_container .form-title {
		margin: 0 0 10px 0;
	}
	.close-modal {
		top: 16px;
		right: 16px;
		width: 12px;
		height: 12px;
	}
	.news-slider {
		padding: 0 0 50px 0;
	}
	.map-road {
		border-radius: 8px;
	}
	.map-road-img {
		height: 100%;
	}
	.map-road-img.desctop {
		display: none;
	}
	.map-road-img.mobile {
		display: block;
	}
	.map-road-start {
		width: 24px;
		top: 30%;
		left: 11%;
	}
	.map-road-finish {
		width: 40px;
		bottom: 32%;
		right: 8%;
	}
	.road-line {
		width: 74%;
		top: 28.2%;
		left: 17.5%;
	}
	.b3-grid {
		margin: 0 -8px;
	}
	.b6-bg, .b6-content, .b7-item, .b9-map, .catalog-thumb, .b10-item {
		border-radius: 8px;
	}
	.b7-item {
		height: 90vw;
	}
	.b10-slider-txt span {
		font-size: 12px;
	}
	.b10-slider-txt p {
		font-size: 16px;
	}
	.b10-post a {
		display: block;
	}
	.b11-form .title {
		font-size: 28px;
		margin: 0 0 24px 0;
	}
	.b11-form .title br {
		display: none;
	}
	#b11 {
		padding-bottom: 40px;
	}
	.complect-item {
		border-radius: 8px;
	}
	.news-gallery {
		margin: 0;
	}
	.news-gallery .gallery-item {
		margin: 0 0 16px 0;
		width: 100%;
		border-radius: 8px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
