main{
	background:#fff;
}
.my-slider-section{
	max-width:1920px;
	min-width:1200px;
	width:100%;
	height:100%;
	margin:0px auto;
}
.slider {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.slide-item {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.slider .slide_img {
  /* 기존 .slide-item + .slide_img 역할 모두 포함 */
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.slide_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.slide-text-bg{
	width:70%;
	position:relative;
	height:300px;
	top:50%;
	left:50%;
	margin:-150px 0 0 -35%;
}
.slide_img h3 {
  transform: translate(-50%, -50%);
  font-size: 45px;
  left: 0;
  color: #fff;
  -webkit-text-stroke: 0.3px black; /* 외곽선 두께와 색상 */
  text-align: center;
  width: 100%;
  max-width: 100%;
  padding: 0;
  z-index: 2;
  text-shadow: 3px 3px 2px rgba(0,0,0, 0.9); /* 흰색 그림자 */
}

.slide_img p {
  transform: translate(-50%, -50%);
  font-size: 30px;
  position: absolute;
  left: 0;
  color: #cea43a;
  text-align: center;
  -webkit-text-stroke: 0.3px black; /* 외곽선 두께와 색상 */
  width: 100%;
  max-width: 100%;
  padding: 0;
  font-weight:700;
  z-index: 2;
  word-break: keep-all;
  text-shadow: 3px 3px 2px rgba(0,0,0, 0.9); /* 흰색 그림자 */
}

@keyframes slideFadeDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideFadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideFadeLeft {
  0% {
    opacity: 0;
    transform: translateX(30px); /* 우측에서 시작 */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* 제자리로 */
  }
}


.slick-dotted.slick-slider{
	margin-bottom:0;
}

/* 공통 초기 상태 */
.slide-text {
  opacity: 0;
  visibility: hidden;
  animation: none;
}

/* h3는 위에서 아래로 */
h3.slide-text.animate {
  visibility: visible;
  animation: slideFadeDown 1s ease forwards;
  animation-delay: 0.2s;
}

/* p는 아래에서 위로 */
p.slide-text.animate {
  visibility: visible;
  animation: slideFadeUp 1s ease forwards;
  animation-delay: 0.6s;
}
.slide-button {
  top: 180px;
  transform: translate(-50%, -50%);
  position: absolute;
  width: 140px;
  height: 50px;
  border-radius: 10px;
  background: linear-gradient(135deg, #00c9ff 0%, #0056b3 40%, #0056b3 60%, #00c9ff 100%);
  color: #fff;
  border: none;
  left: 50%;
  margin-left: -70px;
  text-align: center;
  line-height: 50px;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  font-weight: bold;
  transition: background 0.3s, color 0.3s;
}

.slide-button:hover{
	background:#fff;
	color:#000;
}
.slide-button.slide-text.animate {
  visibility: visible;
  animation: slideFadeLeft 1s ease forwards;
  animation-delay: 1s;
}

.slick-prev:before, .slick-next:before {
	font-size:50px;
}
.slick-next {
  right: 50px;
  z-index: 3;
}
.slick-prev {
  left: 50px;
  z-index: 3;
}
.slick-prev, .slick-next{
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-dots {
    position: absolute;
    bottom: 30px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li button {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: transparent;
  border:6px solid #fcf9ba;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
  transition: background 0.3s;
}

/* 활성화된 dot */
.slick-dots li.slick-active button {
  background: #fcf9ba; /* 활성화 색상 */
  width: 22px;
  height: 22px;
  border:none;
}

/* 센터 현장 리스트 섹션 */

.position-section{
	max-width:1920px;
	min-width:1200px;
	width:100%;
	margin:0px auto;
	padding: 100px 0;
	background: linear-gradient(to bottom, #9aede2, #000000); /* 위는 검정, 아래는 빨강 */
	overflow:hidden;
}
.position-section h2{
	text-align:center;
	font-size:2.3rem;
	margin-bottom:50px;
}
.position-section h2 span{
	border-bottom:5px solid #f00;
	padding-bottom:10px;
}
.map-section h2 img,
.position-section h2 img{
	height:30px;
}
.position-section .item{
	width:1200px;
	margin:0 auto;
}
.position-section .item .cover {
  display: flex;
  flex-direction: row;
  gap: 75px;
}

.position-section .item .cover .site-card{
	display:flex;
	flex-direction:column;
	cursor:pointer;
	position:relative;
	border-radius:15px;
	border: 1px solid rgba(0, 0, 0, 0.05);     /* 아주 희미한 외곽선 */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* 살짝 퍼지는 그림자 */
	padding: 0px;                              /* 안쪽 여백 */
	background-color: #fff;  
	overflow:hidden;
}
.position-section .item .cover .site-card:last-child {
   gap:0; /* gap 만큼 마진을 음수로 줘서 gap 무효화 */
}
.position-section .item .cover .site-card .overlay{
	display:none;
	transition: opacity 0.3s ease;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding:20px;
	z-index:2;
	background:rgba(0,0,0,0.7);
	color:#fff;
	text-align:center;
	box-sizing:border-box;
}

.position-section .item .cover .site-card:hover .overlay {
  display:block;
}
.position-section .item .cover .site-card .overlay .overlay-text{
	height:300px;
	margin:50px 0;
}
.position-section .item .cover .site-card .overlay .overlay-text .overlay-title{
	font-size:24px;
	font-weight:bold;
	margin-bottom:30px;
}
.overlay-desc{
	font-size:14px;
	font-weight:normal;
	word-break: keep-all;   /* 단어 중간 끊김 방지 */
	white-space: normal;    /* 자동 줄바꿈 허용 */
}
.position-section .item .cover .site-card .overlay a button {
    padding: 10px 20px;
    border: none;
    background: #fff;
    color: #000;
    cursor: pointer;
    margin-top: 50px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}

.position-section .item .cover .site-card .overlay a button:hover {
    background: #f00;
    color: #fff;
    box-shadow: 0 6px 12px rgba(0,0,0,0.2);
    transform: translateY(-2px);
}

.position-section .item .cover .site-card .site-img-box {
    width: 350px; /* 부모 요소의 너비 */
    height: 200px; /* 고정 높이 */
    overflow: hidden; /* 넘치는 이미지 잘라냄 */
    position: relative;
}

.position-section .item .cover .site-card .site-img-box img {
    height: auto;      /* 세로 고정 */
    width: 400px;        /* 가로는 비율 유지 */
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); /* 가운데 정렬 */
}
.position-section .item .cover .site-card .site-info{
	height:200px;
	padding:20px;
	box-sizing:border-box;
}
.position-section .item .cover .site-card .site-info p{
	line-height:25px;
}
.site-title{
	font-size:20px;
	margin-bottom:15px;
	font-weight:700;
}
.site-location,
.site-area{
	font-size:14px;
}
.site-location span,
.site-area span{
	color:#999;
	display:inline-block;
	width:100px;
	text-align:left;
	padding:5px 10px;
}
.map-section{
	position:relative;  
	background: linear-gradient(to bottom, #000000, #0c4679); /* 위는 검정, 아래는 빨강 */
	padding:0px 0px 50px;
	margin: 0 auto;
	width:100%;
	max-width:1920px;
	min-width:1200px;
}
.map-section h2{
	text-align:center;
	font-size:2.3rem;
	padding:50px 0;
	color:#fff;
}
.map-section h2 span{
	border-bottom:5px solid #fff;
	padding-bottom:10px;
}
#mapHelp {
    position: absolute;
    bottom: 0px;
    left: 0;
	text-align:center;
	width:100%;
    background: rgba(0,86,179,0.9);
    padding: 10px 12px;
	color:#fff;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
    z-index: 1000;
}
#map {
  width: 90%;
  margin:0 auto;
  height: 600px;
  background: #f0f0f0;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
  border:1px solid #fff;
}
.custom-overlay {
  width: 120px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  overflow: hidden;
  font-size: 12px;
}
.custom-overlay .overlay-header {
  background: #0056b3;
  color: #fff;
  text-align: center;
  padding: 6px 0;
  font-weight: normal;
}
.custom-overlay .overlay-body {
  padding: 5px;
  text-align: center;
}
.custom-overlay .overlay-body img {
  width: 100%;
  border-radius: 0 0 8px 8px;
}
.pc-hide{
	display:none;
}
/*온라인문의 스타일*/
.property-contact {
    margin: 50px auto;
    max-width: 1080px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
	box-sizing:border-box;
}

.property-contact h2 {
    text-align: center;
    font-size: 1.8em;
    color: #333;
    margin-bottom: 20px;
}

.property-contact .form-group {
    margin-bottom: 15px;
}

.property-contact label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 1rem;
    color: #333;
}

.property-contact input,
.property-contact textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.property-contact input:focus,
.property-contact textarea:focus {
    border-color: #4CAF50;
    outline: none;
}

.property-contact .submit-btn {
    display: inline-block;
	width:100%;
    background-color: #08213f;
    color: #fff;
    padding: 10px 15px;
    font-size: 1.2rem;
    font-weight: bold;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.property-contact .submit-btn:hover {
    background-color: #388E3C;
}
.infomation-consent {
    display: flex;
    gap: 20px; /* 항목 간 간격 */
    margin-top: 20px;
}

.consent-item {
    flex: 1;
    border: 1px solid #ddd; /* 테두리 추가 */
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* 그림자 효과 */
}

.consent-item h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #333;
}

.consent-content {
    height: 100px; /* 높이 제한 */
    overflow-y: auto; /* 스크롤 가능 */
    border: 1px solid #ccc; /* 내용 영역 테두리 */
    padding: 10px;
    margin-bottom: 10px;
    background-color: #f9f9f9;
    border-radius: 5px;
}
.consent-button{
	width:20%; margin:30px auto;
}

.consent-content ul {
    list-style: none;
    padding-left: 20px;
}

.consent-content ul li{
	margin-bottom:10px;
	font-size:14px;
	font-weight: bold;
}

.consent-content ol {
    margin-left: 20px;
    list-style: decimal;
}

.consent-content ol li{
	font-size:13px;
	font-weight: normal;
}

.consent-item input[type="checkbox"] {
	width:10%;
    margin-right: 10px;
	margin-top:5px;
	float:left;
}

.consent-item label {
    font-size: 1.2em;
    color: #555;
	float:left;
}
.hidden-row {
    display: none;
}
.show-more-button{
	text-align:center;
}
.show-more {
    cursor: pointer;
    color: blue;
    text-decoration: underline;
    display: inline-block;
    margin-top: 10px;
	font-size:16px;
	text-decoration:none;
	padding:10px 20px;
	background:#eee;
	color:#000;
	border-radius:30px;
}
.show-more:hover{
	background:#053c7e;
	color:#fff;
}
.bot {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
}
.g-recaptcha {
	transform-origin: center;

}
.listing-title {
    text-align: center;
    margin-bottom: 30px;
}

.listing-title label {
    display: block;
    font-size: 1.1em;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
}

.listing-title .listing-name {
    font-size: 1.4em;
    font-weight: bold;
    color: #08213f;
    background-color: #f3f3f3;
    padding: 10px 20px;
    border-radius: 10px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.property-contact select {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    appearance: none; /* 기본 브라우저 UI 제거 */
    background-color: #fff;
    background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
}

.property-contact select:focus {
    border-color: #4CAF50;
    outline: none;
}
/*온라인문의 스타일 끝*/
@media (max-width: 767px) {
	.my-slider-section {
		min-width: 100%;
      height: calc(var(--vh, 1vh) * 100);  /* 진짜 화면 높이에 맞춤 */
		padding:0;
		margin:0px auto;
	}
	.slider,
	.slider .slide_img,
	.slide-item {
      height: calc(var(--vh, 1vh) * 100);  /* 진짜 화면 높이에 맞춤 */
	}
	.slide_img img {
		min-width: 100%;
		min-height: 100%;
		width:100%;
		object-fit: cover;
	}
	.slide-text-bg{
		width:70%;
		position:relative;
		height:160px;
		top:50%;
		left:50%;
		margin:-80px 0 0 -35%;
	}
	.slide_img h3 {
	  transform: translate(-50%, -50%);
	  font-size: 7vw;
	  position: relative;
	  color: #fff;
	  -webkit-text-stroke: 0.3px black; /* 외곽선 두께와 색상 */
	  text-align: center;
	  width: 100%;
	  max-width: 100%;
	  padding: 0;
	  z-index: 2;
	  text-shadow: 3px 3px 2px rgba(0,0,0, 0.9); /* 흰색 그림자 */
	}

	.slide_img p {
	  transform: translate(-50%, -50%);
	  font-size: 6vw;
	  position: relative;
	  color: #cea43a;
	  text-align: center;
	  -webkit-text-stroke: 0.3px black; /* 외곽선 두께와 색상 */
	  width: 100%;
	  max-width: 100%;
	  padding: 0;
	  font-weight:700;
	  z-index: 2;
	  word-break: keep-all;
	  text-shadow: 3px 3px 2px rgba(0,0,0, 0.9); /* 흰색 그림자 */
	}

	.slide-button {
		top:50px;
	  transform: translate(-50%, -50%);
	  position: relative;
	  width: 140px;
	  height: 50px;
	  border-radius: 10px;
	  background: linear-gradient(135deg, #00c9ff 0%, #0056b3 40%, #0056b3 60%, #00c9ff 100%);
	  color: #fff;
	  border: none;
	  margin-left: -70px;
	  text-align: center;
	  line-height: 50px;
	  text-decoration: none;
	  display: inline-block;
	  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
	  font-weight: bold;
	  transition: background 0.3s, color 0.3s;
	}

	.slick-prev,
	.slick-next {
		width: 30px;
		height: 30px;
	}

	.slick-prev:before,
	.slick-next:before {
		font-size: 30px;
	}
	.slick-next {
		right: 10px;
		z-index: 3;
	}

	.slick-prev {
		left: 10px;
		z-index: 3;
	}

	.slick-dots {
		bottom: 20px;
	}

	.slick-dots li button {
	width: 12px;
	height: 12px;
	border: 3px solid #fcf9ba;
	}

	.slick-dots li.slick-active button {
		width: 14px;
		height: 14px;
	}
	/* 센터 현장 리스트 섹션 */

	.position-section{
		width:100%;
		max-width:100%;
		min-width:100%;
		margin:0px auto;
		padding:50px 10px;
	}
	.position-section h2{
		text-align:center;
		font-size:1.8rem;
		margin-bottom:50px;
	}
	.position-section h2 span{
		border-bottom:5px solid #f00;
		padding-bottom:10px;
	}
	.position-section .item{
		overflow:hidden;
		width:100%;
		overflow-x:scroll;
		box-sizing:border-box;
	}
	.position-section .item .cover {
	  display: flex;
	  flex-direction: row;
	  gap: 20px;
	}

	.position-section .item .cover .site-card{
		display:flex;
		flex-direction:column;
		cursor:pointer;
		position:relative;
		border-radius:15px;
		border: 1px solid rgba(0, 0, 0, 0.05);     /* 아주 희미한 외곽선 */
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* 살짝 퍼지는 그림자 */
		padding: 0px;                              /* 안쪽 여백 */
		background-color: #fff;  
		overflow:hidden;
		min-width:260px;
	}
	.position-section .item .cover .site-card:last-child {
	   gap:0; /* gap 만큼 마진을 음수로 줘서 gap 무효화 */
	}
	.position-section .item .cover .site-card .overlay{
		display:none;
		transition: opacity 0.3s ease;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding:20px;
		z-index:2;
		background:rgba(0,0,0,0.7);
		color:#fff;
		text-align:center;
		box-sizing:border-box;
	}

	.position-section .item .cover .site-card:hover .overlay {
	  display:block;
	}
	.position-section .item .cover .site-card .overlay .overlay-text{
		height:300px;
		margin:50px 0;
	}
	.position-section .item .cover .site-card .overlay .overlay-text .overlay-title{
		font-size:24px;
		font-weight:bold;
		margin-bottom:30px;
	}
	.overlay-desc{
		font-size:13px;
	}
	.position-section .item .cover .site-card .overlay a button {
		padding: 10px 20px;
		border: none;
		background: #fff;
		color: #000;
		cursor: pointer;
		margin-top: 50px;
		border-radius: 6px;
		font-size: 16px;
		font-weight: 500;
		transition: all 0.3s ease;
		box-shadow: 0 3px 6px rgba(0,0,0,0.1);
	}

	.position-section .item .cover .site-card .overlay a button:hover {
		background: #f00;
		color: #fff;
		box-shadow: 0 6px 12px rgba(0,0,0,0.2);
		transform: translateY(-2px);
	}

	.position-section .item .cover .site-card .site-img-box {
		width: 350px; /* 부모 요소의 너비 */
		height: 200px; /* 고정 높이 */
		overflow: hidden; /* 넘치는 이미지 잘라냄 */
		position: relative;
	}

	.position-section .item .cover .site-card .site-img-box img {
		height: auto;      /* 세로 고정 */
		width: 400px;        /* 가로는 비율 유지 */
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%); /* 가운데 정렬 */
	}
	.position-section .item .cover .site-card .site-info{
		height:230px;
		padding:10px;
		box-sizing:border-box;
	}
	.position-section .item .cover .site-card .site-info p{
		line-height:25px;
	}
	.site-title{
		font-size:20px;
		margin-bottom:15px;
		font-weight:700;
	}
	.site-location,
	.site-area{
		white-space:nowrap;
		font-size:13px;
		padding: 0 -5px;
		text-align:left;
	}
	.site-location span,
	.site-area span{
		color:#999;
		display:inline;
		width:100%;
		text-align:left;
		padding:5px;
		padding-left:0;	
	}
	.site-descript{
		
	}
	.mobile-hide {
		display: none;
	}
	
	.map-section{
		position:relative;   
		margin:0px auto;
		padding:40px 0;
		max-width:100%;
		min-width:100%;
		width:100%;
	}
	.map-section h2{
		text-align:center;
		font-size:1.8rem;
		padding:40px 0 50px;
	}
	.pc-hide{
		display:block;
	}
	.descript-line{
		margin-top:10px;
		height:10px;
		border-top: 1px solid #ccc;
	}
	.site-descript{
		word-break: keep-all;   /* 단어 중간 끊김 방지 */
		white-space: normal;    /* 자동 줄바꿈 허용 */
		line-height:1.2;
		font-size:14px;
		padding:5px 15px;
	}
	#mapHelp {
		display: none;
	}
	
	#map{
		height:400px; 
	}
	
	.custom-overlay {
		background: transparent;
		width: 120px;
		border-radius: 8px;
		box-shadow: none;
		overflow: hidden;
		font-size: 12px;
	}
	.custom-overlay .overlay-body {
		display: none;
	}
	.custom-overlay .overlay-body img {
		display: none;
	}
	.custom-overlay .overlay-header {
		margin-bottom: 20px;
	}
	.property-contact{
		margin-top:0;
		border:none;
		border-radius:0;
	}
	.infomation-consent {
		display: flex;
		flex-direction:column;
		gap: 20px;
		margin-top: 20px;
	}
	.consent-item label {
		font-size: 0.9em;
		color: #555;
		float: left;
	}
	.consent-button {
		width: 100%;
		margin: 30px auto;
	}
	.property-contact {
		margin: 50px auto;
		max-width: 1080px;
		padding: 20px;
		background-color: #fff;
		border: none;
		border-radius: 8px;
		box-shadow: 0px 2px 5px rgba(0, 0, 0, 0);
		box-sizing: border-box;
	}
	.property-contact .submit-btn {
		display: inline-block;
		width: 100%;
		background-color: #08213f;
		color: #fff;
		padding: 10px 15px;
		font-size: 1.2rem;
		font-weight: bold;
		border: none;
		border-radius: 5px;
		cursor: pointer;
		transition: background-color 0.3s ease;
	}
}