.b1_top{width:100%;height:90vh;}
.b1_top .swiper-wrapper{height:100%;}
.b1_top .swiper-slide{height:90vh;cursor: auto;}
.b1_top .swiper-slide h2 {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; z-index: 1; font-size: 60px; opacity: 0.8;font-family:"Noto Serif KR",serif; font-weight: 800;}
.b1_top .swiper-slide img{width:100%;height:100%;object-fit:cover; filter: brightness(0.7);}
.swiper-pagination {}
.b1_top .swiper-pagination-bullet{background: #fff; width: 25px; opacity: .6; border-radius: 0px; height: 5px;}
.b1_top .swiper-pagination-bullet-active{opacity:1;}
.swiper-horizontal>.swiper-pagination-bullets {bottom: 20px !important;}



.b1_con {}

.b1_banner{text-align:center;width:100%;padding:50px 0 100px 0;}
.b1_banner h1{position:relative;display:inline-block;font-size:30px;line-height:1.3;color:#eee;font-weight:600;overflow:hidden;white-space:nowrap;font-family:"Noto Serif KR",serif;}
.b1_banner h1 span{position:absolute;left:0;top:0;width:0;white-space:nowrap;overflow:hidden;color:#5c4106;font-weight:600;display:block;}
.b1_banner.is-animate h1 span{animation:highlight 2s forwards;}
.b1_banner.is-animate div:nth-child(2) h1 span{animation-delay:2.2s;}

@keyframes highlight{
  0%{width:0;}
  100%{width:100%;}
}


.b1_wrap1{max-width:1240px;padding:60px 0; display:flex;gap:60px;}
.b1_wrap1 .b1_left{width:25%;}
.b1_wrap1 .b1_left h2{font-size:28px;font-weight:700;color:#222;font-family: "Noto Serif KR", serif;}
.b1_wrap1 .b1_right{width:75%;}
.b1_wrap1 .b1_img{width:100%;border-radius:16px;margin-bottom:25px;}
.b1_wrap1 .b1_right p{font-size:18px;color:#333;line-height:1.7;word-break:keep-all;}
.b1_wrap2{max-width:1240px;padding:60px 0; display:flex;gap:60px;}
.b1_wrap2 .b1_left{width:25%;}
.b1_wrap2 .b1_left h2{font-size:28px;font-weight:700;color:#222;font-family: "Noto Serif KR", serif;}
.b1_wrap2 .b1_right{width:75%;}
.b1_wrap2 .b1_img{width:100%;border-radius:16px;margin-bottom:25px;}
.b1_wrap2 .b1_right p{font-size:18px;color:#333;line-height:1.7;word-break:keep-all;}

.b1_wrap3{max-width:1200px;width:100%;padding:80px 0px;margin:0 auto;text-align:center;}
.b1_sec_title{font-size:28px;font-weight:700;margin-bottom:40px;font-family: "Noto Serif KR", serif;}
.b1_service{display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px;}
.b1_service li{background:#f9f9f9;padding:30px 10px;border-radius:12px;text-align:center;transition:.3s;}
.b1_service li img {width: 100%; max-width: 60px; margin-bottom: 30px;}
.b1_service li p{font-size:15px;color:#333;line-height:1.4;}
.b1_service li:hover{background:#333;color:#fff;}
.b1_service li:hover img{color:#fff; filter: brightness(0) invert(1);}
.b1_service li:hover p{color:#fff;}


.b1_bt {text-align: center;}
.b1_bt a {color: #fff; padding: 7px 25px; border-radius: 30px; background: #000; font-size: 16px; display: inline-flex; align-items: center;}
.b1_bt a img {width: 100%; max-width: 13px; margin-left: 15px; transition: all 0.5s;}
.b1_bt a:hover img {transform: rotate(45deg);}


.contact_popup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:none;z-index:9999;}
.contact_popup.is-open{display:block;}
.contact_popup_inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1100px;height:600px;background:#fff;display:flex;position:relative;border-radius:20px;overflow:hidden;align-items: center;}
.contact_popup_left{width:40%;padding:40px;box-sizing:border-box;}
.contact_popup_left h3 {font-size: 24px; margin-bottom: 20px;}
.contact_popup_left p {font-size: 14px; margin-top: 10px; word-break: keep-all;}


.contact_sns{display:flex;margin-top:50px;}
.contact_sns li:first-child {margin-right: 10px;}
.contact_sns li a{position:relative;overflow:hidden;display:inline-flex;width:40px;height:40px;border-radius:50%;border:1px solid #ccc;align-items:center;justify-content:center;transition:.3s;}
.contact_sns li a::before{content:"";position:absolute;width:20px;height:20px;background:#ff0000;border-radius:50%;top:var(--y);left:var(--x);transform:translate(-50%,-50%) scale(0);transition:transform .55s ease-out,opacity .55s ease-out;opacity:.9;z-index:0;}
.contact_sns li a:hover::before{transform:translate(-50%,-50%) scale(9);opacity:1;}
.contact_sns li:nth-child(2) a::before{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.contact_sns li a img{position:relative;z-index:1;filter:brightness(1);transition:.3s; scale: 0.6;}
.contact_sns li a:hover img{filter:brightness(0) invert(1);}



.contact_popup_right{width:60%;height:100%;}
.contact_popup_close{position:absolute;top:16px;right:16px;font-size:34px;line-height:1;background:none;border:0;cursor:pointer;z-index:10; color: #000;}

.contact_map{width:100%;height:100%;}
.contact_map iframe{width:100%;height:100%;border:0;display:block;}



@media screen and (max-width:960px) {
	.b1_banner h1 {font-size: 22px;}
	.b1_wrap1 {flex-direction: column; gap: 30px;}
	.b1_wrap1 .b1_left {width: 100%;}
	.b1_wrap1 .b1_left h2 {font-size: 24px;}
	.b1_wrap1 .b1_right {width: 100%;}

	.b1_wrap2 {flex-direction: column; gap: 30px;}
	.b1_wrap2 .b1_left {width: 100%;}
	.b1_wrap2 .b1_left h2 {font-size: 24px;}
	.b1_wrap2 .b1_right {width: 100%;}

	.b1_sec_title {font-size: 24px; margin-bottom: 30px;}
	.b1_service {grid-template-columns: repeat(3, 1fr);}
}






@media(max-width:640px){
	.b1_top .swiper-slide h2 {font-size: 35px;}
	
	.b1_banner {padding: 20px 0 50px 0;}
	.b1_banner h1 {font-size: 18px;}
	.b1_wrap1 {gap: 20px; padding: 40px 0;}
	.b1_wrap1 .b1_left h2 {font-size: 18px;}
	.b1_wrap1 .b1_right p {font-size: 14px;}

	.b1_wrap2 {gap: 20px; padding: 40px 0;}
	.b1_wrap2 .b1_left h2 {font-size: 18px;}
	.b1_wrap2 .b1_right p {font-size: 14px;}

	.b1_wrap3 {padding: 40px 0;}
	.b1_sec_title {font-size: 18px; margin-bottom: 40px;}
	.b1_service {grid-template-columns: repeat(2, 1fr); gap: 10px;}

	.b1_bt a {font-size: 14px;}
	.b1_bt a img {max-width: 10px;}


	.contact_popup_inner{flex-direction:column;height:auto;max-height:90vh;}
	.contact_popup_left{width:100%;padding:25px;}
	.contact_popup_left h3 {font-size: 20px; margin-bottom: 10px;}
	.contact_popup_left p {margin-top: 5px;}
	.contact_sns {margin-top: 25px;}
	.contact_popup_right{width:100%;height:250px;}
}
