@font-face {
    font-family: 'JalnanGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_231029@1.1/JalnanGothic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NanumSquareNeo-Variable';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.0/NanumSquareNeo-Variable.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

:root {--main-color: #2E7D32; --text-color: #333; }
* {box-sizing: border-box;}
html, body { margin: 0; padding: 0; font-family: 'NanumSquareNeo-Variable'; color: var(--text-color); background-color: var(--bg-color); scroll-behavior: smooth; height: 100%; overflow: hidden;}
body {display: flex; flex-direction: column;}


header {position: fixed; top: 0; left: 0; right: 0; z-index: 999; display: flex; justify-content: space-between; align-items: center; padding: 1rem 1rem; background: white;}
header .logo {font-size: 1.5rem; color: var(--main-color);}
header .logo a{display:flex; flex-wrap:wrap; width:200px;/*display:flex; justify-content:flex-start; align-items:center;*/}
header .logo a img{width:200px; height:66px; object-fit:cover;}
header .logo a p{font-size:12px; color:#000; letter-spacing:-1px;}
.view_1280{display:none;}

.menu-toggle { display: none; flex-direction: column; cursor: pointer;}
.menu-toggle div{width:30px; height:4px; background-color:var(--text-color); margin:3px 0;}

nav{display:flex; justify-content:space-evenly; width:calc(100% - 380px); transition: max-height 0.4s ease, opacity 0.4s ease;}
nav a{margin:0 auto; text-decoration: none; color: var(--text-color); font-weight:500; font-size:18px;}
nav a:hover{color:var(--main-color);}

.tel_num{padding:5px 5px; width:150px; font-size:16px; text-align:center; vertical-align:baseline; line-height:16px; font-weight:bold; color:#fff; background:#2E7D32; box-sizing:border-box; border-radius:5px;}

main {margin-top: 74px; flex: 1; overflow-y: auto; scroll-snap-type: y mandatory; -webkit-overflow-scrolling: touch;}

section {display: flex;flex-direction: column; padding: 100px 0; align-items: center; scroll-snap-align: start; text-align: center; position: relative; }

.con_b{display:flex; justify-content:space-between; margin:0 auto; width:100%;}
.con_b .c_left {width:40%;}
.con_b .c_left .sc_img{display:flex; justify-content:center; align-items:center; height:400px; overflow:hidden; border-bottom-right-radius:20px; border-top-right-radius:20px;}
.con_b .c_left .sc_img img{width:100%; height:100%; object-fit:cover; border-bottom-right-radius:20px; border-top-right-radius:20px;}
.con_b .c_right {width:57%; text-align: left;}

.sub_tit{color:#1c6d20; font-weight:700;}

.hero {background:url('/inc/img/main_img01.jpg') no-repeat; background-size: cover; color:#fff; height: 100vh;} 
.hero h1{font-size:2.5rem; margin:12% 0 20px; color:#fff;}
.hero button {background: white; color: var(--main-color); padding: 0.75rem 1.5rem; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; margin-top:3%;}
.hero p {line-height: 30px;}

.about, .services, .portfolio, .contact, .product {background-color: var(--bg-color);}

.portfolio ul{display:flex; justify-content:space-evenly; margin:30px 0 0; width:100%;}
.portfolio ul li{position:relative; margin:0.5% 1%; padding:2%; width:23%; height:230px; text-align: center; background:#fff; border:10px solid #9DB006; border-radius: 30px; box-shadow:0 0 0 rgba(157, 176, 6, 0); transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s ease;}
/*.portfolio ul li p {font-size:13px; line-height: 20px; padding:64px 0 10px; word-break: keep-all; white-space:normal;}*/
.portfolio ul li p strong{font-size:18px; margin-bottom: 10px; width:100%; display: inline-block;}
.portfolio ul li p.caption{position:absolute; top:-25px; left:50%; padding:5px; width:100px; height:40px; color:#fff; font-size:20x; line-height:30px; font-weight:600; background:#9db006; border-radius:20px; transform:translateX(-50%);}
.portfolio ul li p.porttxt{font-size:18px; line-height:25px; padding:100px 0 10px;}
.portfolio ul li p .txtstrong{margin-bottom:10px; width:100%; font-size:40px; font-weight:700; color:#2E7D32; line-height:40px;}
.portfolio ul li.icon01 {background: url('/inc/img/icon01.png') center 20px no-repeat #f3f6de;}
.portfolio ul li.icon02 {background: url('/inc/img/icon02.png') center 20px no-repeat #f3f6de;}
.portfolio ul li.icon03 {background: url('/inc/img/icon03.png') center 20px no-repeat #f3f6de;}
.portfolio ul li.icon04 {background: url('/inc/img/icon04.png') center 20px no-repeat #f3f6de;}
.portfolio ul li:hover{transform:translateY(-12px); background-color:#fff; box-shadow: 0 15px 30px rgba(157, 176, 6, 0.5);}

.services{background:#f7f7f7;}
.services ul{display:flex; justify-content:space-evenly; margin:40px auto; width:100%;}
.services ul li{position:relative; margin:0 5%; width:40%; box-sizing:border-box;}
.services ul li .pd_img{margin-right:0; width:500px; background:#fff; border:1px solid #efefef;}
.services ul li .pd_img:hover{background:#dff3e9; border:1px solid #7ec9a5; border-radius:30px;}
.services ul li .pd_img img{width:500px; object-fit:cover;} 
.services ul li .pd_txt{padding:5%; text-align:left; font-size:14px; color:#fff; line-height:26px; width:400px; position: absolute; bottom:-40px; right:0; background: #2E7D32; opacity: 0.8; box-sizing:border-box;}
.services ul li .pd_txt strong{font-size:16px; font-weight:700;}


.scroll-wrapper {position: relative; width: 100%; overflow: hidden; white-space: nowrap;box-sizing: border-box; height: auto; padding-bottom:20px;}
.scroll-track {display: inline-block;  white-space: nowrap; animation: scroll-left 15s linear infinite;}
.scroll-item {display: inline-block; margin: 0 0.5%; width:14%; border-radius: 20px; overflow: hidden;}
.scroll-wrapper .scroll-track li:nth-child(2n) {position: relative; top:20px;}
.scroll-wrapper .scroll-track li img {width:100%; max-width:100%;}

.contact {padding:100px 0 0;}
.con01 {width:100%; display: inline-block;}
.con01 .box_02 {width:50%; float:left; padding:2% 2%; height:100vh;}
.con01 .box_01 {width:50%; float:left; padding:2% 2%; height:50vh;}
.con01 .bg01 {background:url('/inc/img/con01_img04.png') no-repeat; background-size:cover;}
.con01 .bg02 {background:url('/inc/img/con01_img05.png') no-repeat; background-size:cover;}
.con01 .bg03 {background:url('/inc/img/con01_img06.png') no-repeat; background-size: cover;}
.con01 .bg04 {background:url('/inc/img/con01_img04.png') no-repeat; background-size: cover;}
.box_01_tit {margin:30px 0; font-size:36px; font-weight: bold; color:#fff; text-align: left;}
.box_01_txt {font-size:16px; line-height: 26px; white-space:normal; word-break: keep-all; color: #fff; text-align: left;}

.product ul{display:flex; flex-wrap:wrap; justify-content:center; width:100%;}
.product ul li{margin:0.5%; width:24%; overflow: hidden;}
.product ul li img {border:1px solid #efefef; width: 100%; max-width: 100%; transition: all 0.2s linear;}
.product ul li:hover img {transform: scale(1.1);}

.dates{padding:100px 0; background:linear-gradient(180deg, #fff 0%, #f0fdf7 100%);}
.dates_con{position:relative; display:flex; justify-content:space-evenly; align-items:center; margin:40px auto; width:100%;}
.dates_con .dates_left {width:40%; float:left; text-align: left; display: inline-block;}
.dates_con .dates_right{float:left; width:55%; padding-left:5%; display: inline-block;}
.dates_con .dates_right .date_bb tr {border-bottom:1px solid #ddd;}
.dates_con .dates_right .date_bb {width:100%; border-collapse: collapse; border-top:1px solid #000; text-align: center;}
.dates_con .dates_right .date_bb th:first-child {border-left:none;}
.dates_con .dates_right .date_bb th {padding:10px; font-size:14px; text-align: center; color:#000; background: #f7f7f7; border-left:1px solid #ddd;}
.dates_con .dates_right .date_bb td:first-child {border-left:none;} 
.dates_con .dates_right .date_bb td {padding:10px; font-size:12px; border-left:1px solid #ddd; text-align: center;}
.dates_con .dates_right .date_bb td.point {background:#2E7D32; color:#fff; font-weight: 300;}
.dates_con .dates_right .tb_t20 {margin-top:20px;}

.compare{position:relative; padding:30px; width:35%; height:100%; text-align:left; background:#f7f8f9; border:2px solid #d2d2d2; border-radius:18px; 
box-shadow:0 8px 20px rgba(0,0,0,.05); z-index:1; transition:transform 0.3s ease, box-shadow 0.3s ease;}
.compare:hover{transform:translateY(-20px); box-shadow:0 15px 25px rgba(0,0,0,.2);}
.compare_tit{display:flex; justify-content:flex-start; padding-bottom:12px; border-bottom:1px solid #eee;}
.comparetit_icon{display:flex; justify-content:center; align-items:center; margin-right:10px; width:54px; height:54px; color:#ca7a8d; background:#ffe4e6; border-radius:12px;}
.comparetit_icon svg{width:28px; height:28px;}
.comparetit h4{font-weight:700;}
.comparetit p{font-size:13px; color:#ca7a8d;}

.compare_list{display:flex; justify-content:flex-start; padding:5px;}
.comparelist_icon{display:flex; justify-content:center; align-items:center; margin-right:10px; width:46px; height:46px; border-radius:13px; color:#ca7a8d; background:#fff1f2;}
.comparelist_icon svg{width:23px; height:23px;}
.comparelist_txt{font-size:14px;}

.compare_vs{display:none;}

.compare_bg{position:absolute; top:50%; left:50%; width:260px; height:100%; transform:translate(-50%, -50%); z-index:0;}

.compare_new{padding:60px 30px; width:38%; background:#fff; border:8px solid #00d492; border-radius:20px;}
.comparetit_green{color:#fff; background:linear-gradient(135deg, #00d492, #00bba7);}
.comparelist_green{color:#00bba7; background:rgba(0, 212, 146, 0.1);}
.comparetit p.green{color:#00bba7;}

.marketing {background:#28272c; overflow: hidden; height:100vh;}
.marketing .flex {
  display: flex;
  align-items: flex-start;
  gap: 440px;
  padding: 100px 8.8541666667%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}
.marketing .flex .swiper {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  height: 100%;
  gap: 36px;
}
.marketing .flex .swiper .swiper-wrapper {
  height: auto;
  display: flex;
  gap: 36px;
  flex-direction: column;
  animation: up 20s linear infinite;
}
.marketing .flex .swiper .swiper-slide {
  flex: 0 0 auto;
  height: auto;
}
.marketing .flex .swiper.left .swiper-wrapper {
  animation: up 20s linear infinite reverse;
}
.marketing .flex .swiper:hover .swiper-wrapper {
  animation-play-state: paused;
}
@keyframes up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
.marketing .card {
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  display: block;
}
.marketing .card::after {
  content: "";
  display: block;
  padding-bottom: 56.2602515036%;
}
.marketing .card img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.marketing .card .circle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(25, 25, 25, 0.85);
  width: 102%;
  height: 102%;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
  transition: -webkit-clip-path 0.6s;
  transition: clip-path 0.6s;
  transition: clip-path 0.6s, -webkit-clip-path 0.6s;
  /* &::after {
      content: '';
      display: block;
      padding-bottom: 100%;
  } */
}
.marketing .card .circle dl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-family: "Pretendard";
  font-weight: 600;
  color: #f2f2f4;
}
.marketing .card .circle dl dt {
  font-size: 32px;
  letter-spacing: -0.025em;
  line-height: 1.21875;
  white-space: nowrap;
}
.marketing .card .circle dl dd {
  font-size: 14px;
  letter-spacing: -0.025em;
  padding-top: 1em;
  margin-top: 1.5714285714em;
  position: relative;
  color: rgba(242, 242, 244, 0.66);
}
.marketing .card .circle dl dd::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 2em;
  height: 1px;
  transform: translateX(-50%);
  background: #f2f2f4;
}
.marketing .card:hover .circle {
  -webkit-clip-path: circle(100% at 50% 50%);
          clip-path: circle(100% at 50% 50%);
}

@keyframes scroll-left {
    0% {
    transform: translateX(0%);
    }
    100% {
    transform: translateX(-50%);
    }
}

.title {font-size:50px; font-weight: bold; padding:20px 0 40px;  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #f2f2f4;}
.title.show { display: inline-block; opacity: 1; transform: translateY(0);}

h2 {font-size:50px; font-weight: bold; padding:20px 0 40px; }


.txt01 {font-size:22px; font-weight: bold; line-height: 30px; color: #000;}
.txt02 {font-size:16px; line-height: 28px; white-space:normal; word-wrap: break-all; padding-bottom:20px; }
.txt03 {margin-top:10px; padding:0 20px; font-size:14px; line-height: 20px; white-space:normal; word-wrap: break-all;}

.tit01 {font-size:40px; line-height:40px; font-weight: bold; margin:20px 0 40px; color:#1c6d20;}
.tit01 .blacktxt{color:var(--text-color);}
.tit02 {font-size:40px; line-height:50px; font-weight: bold; margin:20px 0 40px; color:#000;}

ul {list-style: none; padding: 0;}
ul li {margin: 0.5rem 0;}

.footer {text-align:center; padding:1rem; background:#333; font-size:0.6rem; color:#f9f9f9;}
.footer section{padding:20px 0;}
.footer .add {font-size:11px; line-height:20px;}


@media screen and (max-width: 1280px) {
	header .logo a{width:150px;}
	header .logo a img{width:150px; height:49px;}
	.view_1280{display:block;}

	nav{width:calc(100% - 300px);}
	nav a{font-size:15px;}

	.tel_num{width:130px;}
	.tel_num img{display:none;}

	.services ul li .pd_img{width:350px;}
	.services ul li .pd_img img{width:100%;}
	.services ul li .pd_txt{bottom:-20px; width:300px; font-size:12px; line-height:20px;}

	.compare{width:40%;}
	.compare_bg{display:none;}
	.compare_new{width:45%;}

  .marketing {
    /* .grid .card .circle dl dt {
        font-size: 28px;
    } */
  }
  .marketing .flex {
    gap: 340px;
    padding: 100px 5%;
  }
  .marketing .card .circle dl dt {
    font-size: 28px;
  }
}

@media screen and (max-width: 1024px) {
	.tit01{font-size:30px; line-height:30px;}
	.txt02{font-size:14px; line-height:20px; padding-bottom:10px;}

	.portfolio ul{flex-wrap:wrap;}
	.portfolio ul li{margin:30px 1%; width:45%;}

	  .marketing {
		/* .grid {
			.card {
				border-radius: 15px;
				.circle dl dt {
					font-size: 24px;
				}
			}
			div {
				border-radius: 20px;
			}
		} */
	  }

	.compare{width:45%; padding:20px;}
	.compare_bg{display:none;}
	.compare_new{width:48%; padding:40px 20px;}

	  .marketing .flex {
		gap: 240px;
		padding: 100px 2.5%;
	  }
	  .marketing .tbx h1 {
		font-size: 32px;
	  }
	  .marketing .tbx a {
		font-size: 16px;
	  }
	  .marketing .card {
		border-radius: 15px;
	  }
	  .marketing .card .circle dl dt {
		font-size: 24px;
	  }
}
@media screen and (max-width: 820px) {
	section{padding:50px 0;}

	h2{padding:10px 0 20px; font-size:30px;}

	.con_b{flex-wrap:wrap; justify-content:center;}
	.con_b .c_left{padding-bottom:10px; width:100%;}
	.con_b .c_left .sc_img{height:300px;}
	.con_b .c_left .sc_img img{border-bottom-right-radius:0; border-top-right-radius:0;}
	.con_b .c_right{padding:.5rem; width:100%; box-sizing:border-box;}
	.txt01{padding:0 20px; font-size:18px; line-height:22px;}
	.tit01{padding:0 20px; font-size:20px; line-height:25px;}

	.services ul{flex-wrap:wrap;}
	.services ul li{margin:20px auto; width:90%;}
	.services ul li .pd_img{width:500px;}
	.services ul li .pd_txt{width:400px; max-width:100%;}

	.dates{padding:50px 0;}
	.dates_con{flex-wrap:wrap; justify-content:center;}
	.compare{margin:40px auto; width:90%; padding:30px;}
	.compare:hover{transform:translateY(-10px);}
	.compare_vs{position:absolute; display:block; top:50%; left:50%; width:90%; height:20px; color:#c9d1d8; font-weight:700; font-size:16px; letter-spacing:2px; transform:translate(-50%, -50%);}
	.compare_vs::after{content:""; position:absolute; display:block; top:50%; left:50%; width:90%; height:1px; background:linear-gradient(to right, #ffffff 0%, #aaaaaa 15%, #ffffff 40%, #ffffff 60%, #aaaaaa 85%, #ffffff 100%); transform:translate(-50%, -50%); z-index:-1;}
	.compare_new{width:90%; padding:30px 30px;}

	.marketing {
		padding: 50px 0;
		/* .grid {
			flex: 0 0 auto;
			display: flex;
			width: 100%;

			// &.right {
			//     justify-content: flex-end;
			// }

			.card {
				flex: 0 0 250px;
				.circle dl dt {
					font-size: 20px;
				}
			}
		} */
	}
	.marketing .flex {
		padding: 0;
		gap: 0;
		align-items: normal;
		flex-direction: column;
		width: 100%;
		height: 100%;
		justify-content: center;
		gap: 200px;
		box-sizing: border-box;
	  }
	.marketing .title{font-size:20px;}
	.marketing .flex .swiper {
		height: auto;
		flex: 0 0 auto;
		width: 100%;
		flex-direction: row;
	  }
	.marketing .flex .swiper .swiper-wrapper {
		flex-direction: row;
		flex: 0 0 auto;
		width: auto;
		animation: left 20s linear infinite;
	  }
	.marketing .flex .swiper .swiper-slide {
		width: 250px;
	  }
	.marketing .flex .swiper.left .swiper-wrapper {
		animation: left 20s linear infinite reverse;
	  }
	.marketing .flex .swiper:hover .swiper-wrapper {
		animation-play-state: paused;
	  }
	@keyframes left {
		0% {
		  transform: translateX(0);
		}
		100% {
		  transform: translateX(-100%);
		}
	  }
	.marketing .card .circle dl dt {
		font-size: 20px;
	  }
}

@media (max-width: 768px) {
	header .logo a{flex-wrap:nowrap; align-items:center; width:300px;}
	header .logo a p{padding-left:5px;}

    .menu-toggle{display:flex;}
    nav{display:flex; flex-direction:column; align-items: flex-start; position: absolute; top:70px; left: 0; width: 100%; background-color: white; padding: 1rem 2rem; box-shadow: 0 2px 4px rgba(0,0,0,0.1); max-height: 0; overflow: hidden; opacity: 0;}
    nav.active {max-height: 300px; opacity: 1;}
    nav a { margin: 0.5rem 0;}
    .tel_num {display:none;}

	.hero h1{font-size:1.5rem; margin:12% 0 20px;}
	.hero p{padding:0 20px; font-size:15px;}

	.txt02{font-size:12px; line-height:17px; letter-spacing:-1px;}

	.con_b .c_left .sc_img{height:250px;}

	.services ul li .pd_img{max-width:100%;}

	.portfolio ul li{padding:1.5%; width:90%; height:190px;}
	.portfolio ul li.icon01{background:url('/inc/img/icon01.png') center 25px no-repeat; background-size:60px 60px;}
	.portfolio ul li.icon02{background:url('/inc/img/icon02.png') center 25px no-repeat; background-size:60px 60px;}
	.portfolio ul li.icon03{background:url('/inc/img/icon03.png') center 25px no-repeat; background-size:60px 60px;}
	.portfolio ul li.icon04{background:url('/inc/img/icon04.png') center 25px no-repeat; background-size:60px 60px;}
	.portfolio ul li p.porttxt{padding:80px 0 10px;}

	.compare{padding:20px;}
	.comparetit h4{font-size:16px;}
	.comparelist_txt{font-size:12px;}
	.compare_new{padding:20px 20px;}

	.product ul li{width:48%;}
}

@media (max-width: 375px) {
	header .logo a{width:250px;}
	header .logo a img{width:100px; height:33px;}

	.hero h1{font-size:1.2rem; margin:12% 0 20px;}
	.hero p{font-size:10px;}

	.con_b .c_left .sc_img{height:200px;}

	.services ul li .pd_txt{letter-spacing:-1px;}

	.compare{padding:10px;}
	.comparelist_icon{width:36px; height:36px;}
	.comparelist_icon svg{width:18px; height:18px;}
	.comparelist_txt{letter-spacing:1px;}
	.compare_vs{top:47%;}
	.compare_new{padding:10px 10px;}
}