/* common */
#contents_dom {min-height: calc(100vh - 300px);}

/* header */
#header {position: fixed; width: 100%; z-index: 1000;}
#header .head-in {display: flex; align-items: center; justify-content: space-between; height: 95px; }
#header .head-in .color {display: none;}
#header.color .head-in .color, #header.sub-header .head-in .color {display: block;}
#header.color .head-in .white, #header.sub-header .head-in .white {display: none;}
#header.wz-header .head-in .color {display: none;}
#header.wz-header .head-in .white {display: block;}
#hd_logo {width: 190px;}
#hd_ham {width: 29px;}
#hd_ham button {background: none; border: 0;}
#header.scrolled {background-color: rgba(255, 255, 255, .5); backdrop-filter: blur(5px);}
#header.wz-header.scrolled .head-in .color {display: block;}
#header.wz-header.scrolled .head-in .white {display: none;}

.sitemap-bg {position: fixed; top: 0; left: 0; width: 50%; height: 100vh; background-color: rgba(18, 18, 18, .6); z-index: 100; transition: 0.3s; opacity: 0; visibility: hidden;}
.sitemap {display: flex; align-items: center; position: fixed; top: 0; right: 0; width: 50%; height: 100vh; background-color: #fff; z-index: 40; transition: .3s;  opacity: 0; visibility: hidden;}
.sitemap-ul {display: flex; flex-direction: column; gap: clamp(30px, 10vw, 65px); padding-left: 23%;}
.sitemap-li a {font-size: clamp(32px, 5vw, 72px); font-weight: 700;}
.sitemap-li a p {position: relative; display: inline-block;}
.sitemap-li a p::after {content: ''; position: absolute; left: 0; bottom: 0; width: 0; opacity: 0; transition: .3s; height: 3px; background-color: #181818;}
.sitemap-close {position: absolute; top: 40px; right: 40px; width: 24px; height: 28px; border: 0; background: none;}
.sitemap-close img {width: 100%;}
.sitemap.open, .sitemap-bg.open {opacity: 1; visibility: visible;}

/* footer */
#footer {padding: min(3vw, 30px) 0 min(3vw, 35px); width: 100%; background-color: #222222;}
#footer .foot-top {padding: clamp(15px, 5vw, 40px) 0;}
#footer .foot-logo {display: block; width: clamp(120px, 40vw, 190px);}
#footer .foot-content {padding: clamp(15px, 5vw, 40px) 0; color: #ffffff; border-top: 1px solid #ffffff;}
#footer .foot-info-ul {display: flex; align-items: center; gap: 15px 50px; flex-wrap: wrap; padding-bottom: 15px; opacity: .75;}
#footer .foot-info-li {display: flex; align-items: center; gap: 0 15px;}
#footer .foot-info-key {font-weight: 700;}
#footer .foot-info-val {font-weight: 500;}

.btn-top {display: flex; align-items: center; justify-content: center; position: fixed; right: min(2vw, 52px); bottom: min(4.5vw, 95px); width: clamp(45px, 7vw, 70px); height: clamp(45px, 7vw, 70px); border-radius: 50%; background-color: #00723e; border: 1px solid #ffffff; font-size: clamp(12px, 1.5vw, 16px); font-weight: 400; color: #ffffff;}
.main-btn-top {display: none; position: relative; z-index: 10;}

/* main */
/* > common */
#fp-nav.left {margin: 0; left: 40px;}
#fp-nav ul {display: flex; flex-direction: column; gap: 22px;}
#fp-nav ul li a span, .fp-slidesNav ul li a span, #fp-nav ul li a.active span, .fp-slidesNav ul li a.active span, #fp-nav ul li:hover a.active span, .fp-slidesNav ul li:hover a.active span, #fp-nav ul li:hover a span, .fp-slidesNav ul li:hover a span, #fp-nav ul li, .fp-slidesNav ul li {width: 11px; height: 11px; border-radius: 0; margin: 0;}
#fp-nav ul li a.active span, .fp-slidesNav ul li a.active span, #fp-nav ul li:hover a.active span, .fp-slidesNav ul li:hover a.active span {border-radius: 0;}
#fp-nav ul li a span, .fp-slidesNav ul li a span {display: block; position: static; background-color: rgba(255, 255, 255, .3);}
#fp-nav ul li a.active span {background: none; border: 1px solid #ffffff;}
#fp-nav ul li .fp-tooltip.left {top: -2.5px; left: 25px;}
#fp-nav ul li a.active + .fp-tooltip {opacity: 1; width: auto; font-family: 'Pretendard', sans-serif; letter-spacing: -1px;}
#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active + .fp-tooltip {width: 0; opacity: 0;}

#fp-nav.color ul li .fp-tooltip {color: #181818;}
#fp-nav.color ul li a span, .fp-slidesNav.color ul li a span {background-color: rgba(0, 114, 62, .3);}
#fp-nav.color ul li a.active span {border-color: #00723e; background: none;}

#main {overflow: hidden;}
#main .section {display: flex; flex-direction: column; justify-content: center; align-items: center;}

.tit-wr-circle {position: relative; padding: min(1vw, 10px) clamp(10px, 3vw, 30px) 0;}
.tit-wr-circle::before {content: ''; position: absolute; top: 0; left: 0; width: clamp(15px, 4vw, 40px); height: clamp(15px, 4vw, 40px); border-radius: 50%; background: linear-gradient(to bottom, #00723e 75%, transparent 93%); z-index: -1;}
.tit-wr-circle .tit {line-height: 1;}

.tp-more {display: inline-block;}
.tp-more-btn {display: flex; align-items: center; gap: 15px; position: relative; padding-right: 30px; font-size: 18px; font-weight: 700;}
.tp-more-btn::after {content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 60px; height: 60px; border: 1px solid #00723e; border-radius: 50%; transition: .3s;}
.tp-more-btn img {width: 78px;}

/* > section 1 */
#main .section-1 {background: url('/source/img/mainvisual.jpg') no-repeat center / cover;}
#main .section-1 .wrapper {position: relative; height: 100%;}
#main .section-1 .mainvs-txt-wr {display: flex; align-items: center; padding: 0 min(8vw, 85px); height: inherit;}
#main .section-1 .mainvs-txt {font-size: clamp(24px, 5vw, 72px); font-weight: 700; color: #ffffff; line-height: 1.5;}
#main .section-1 .mainvs-scroll {display: flex; align-items: flex-end; flex-direction: column; gap: 15px; position: absolute; bottom: 90px; right: 3vw; animation: scrollDown infinite 1s linear alternate;}
#main .section-1 .mainvs-scroll span {display: block; font-size: 16px; font-weight: 600; color: #ffffff; writing-mode: vertical-rl; transform: rotate(180deg); line-height: 0.8;}
#main .section-1 .mainvs-scroll img {height: 95px;}

@keyframes scrollDown {
  0% {
    bottom: min(3vw, 80px);
  }
  100% {
    bottom: min(5vw, 100px);
  }
}

/* > section 2 */
#main .section-2 {position: relative; padding-top: min(10vw, 100px); background: #373a40;}
#main .section-2::before {content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 60%; background-color: #373a40;}
#main .section-2 .main2-top {display: flex; align-items: center; justify-content: space-between;}
#main .section-2 .main2-tit-wr {}
#main .section-2 .main2-tit-wr::before {z-index: 0;}
#main .section-2 .main2-tit {position: relative; font-size: clamp(24px, 5vw, 72px); font-weight: 900; color: transparent; -webkit-text-stroke: min(0.4vw, 2px) #ffffff; z-index: 1;}
#main .section-2 .main2-subtit {padding-top: clamp(5px, 1.5vw, 15px); font-size: clamp(14px, 2.5vw, 20px); font-weight: 400; color: #ffffff;}
#main .section-2 .main2-subtit b {font-weight: 600;}
#main .section-2 .webzine-sl-wr {width: 100%;}
#main .section-2 .webzine-slider {padding-top: 80px; margin-left: calc(50vw - 782.5px + 3vw); overflow: hidden;}
#main .section-2 .swiper-wrapper {}
#main .section-2 .webzine-slide {/*width: 340px;*/ transition: .3s;}
#main .section-2 .webzine-sl-link { }
#main .section-2 .webzine-sl-thumb {height: 44vh; max-height: 480px;}
#main .section-2 .webzine-sl-thumb img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
#main .section-2 .webzine-slider.none .swiper-wrapper {transform: translate3d(0px, 0px, 0px) !important;}
#main .section-2 .webzine-slider.none .swiper-wrapper .webzine-slide {flex: 1;}
#main .section-2 .tp-more-btn {color: #ffffff;}

.wzlist-cnt {margin-top: clamp(15px, 4vw, 30px);}
.wzlist-cate {font-size: clamp(14px, 1.8vw, 18px); font-weight: 400; color: #00723e;}
.wzlist-cate::before {content: '# '; display: inline;}
.wzlist-tit {margin: min(1vw, 10px) 0; font-size: clamp(16px, 2.5vw, 22px); font-weight: 700; color: #222222;}
.wzlist-txt {font-size: clamp(14px, 1.8vw, 18px); font-weight: 400; color: #222222;}

#main .wzlist-cate {color: #ffffff;}
#main .wzlist-tit {color: #ffffff;}
#main .wzlist-txt {color: #ffffff;}

/* > section 3 */
.fp-scrollable {width: 100%;}
#main .section-3 {position: relative; background: url('/source/img/secbg3.jpg') no-repeat center / cover;}
#main .section-3 .maingall-wr {display: flex; justify-content: flex-end; padding: clamp(50px, 10vw, 80px) 0 clamp(50px, 10vw, 130px);}
#main .section-3 .maingall-info {position: absolute; top: 50%; left: calc(50vw - 782.5px + 3vw); transform: translateY(-50%);}
#main .section-3 .maingall-scroll {width: min(60vw, 820px);}
#main .section-3 .maingall-tit-wr {padding-bottom: max(20px, 3vw);}
#main .section-3 .maingall-tit {font-size: clamp(24px, 5vw, 72px); font-weight: 900; color: #222222; letter-spacing: -1.5px; line-height: 1.15;}
#main .section-3 .maingall-tit span {color: #00723e;}
#main .section-3 .maingall-subtit {padding-top: clamp(5px, 1.5vw, 15px); font-size: clamp(14px, 2.5vw, 20px); font-weight: 400;}
#main .section-3 .maingall-subtit span {font-weight: 600;}
#main .section-3 .iScrollVerticalScrollbar.iScrollLoneScrollbar {display: none;}
#main .section-3 .maingall-ul {display: flex; flex-wrap: wrap; gap: 70px;}
#main .section-3 .maingall-li {width: calc(50% - 35px); height: 520px; box-shadow: 0 0 25px 5px rgba(0, 0, 0, .1); background-color: #ffffff;}
#main .section-3 .maingall-li:nth-child(even) {transform: translateY(50px);}
#main .section-3 .maingall-link {position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: min(3vw, 39px) min(3vw, 32px); width: 100%; height: 100%; overflow: hidden;}
#main .section-3 .maingall-link::after {content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(to top, #262626 15%, transparent 45%); opacity: 0; height: 0; transition: .3s;}
#main .section-3 .maingall-img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%;}
#main .section-3 .maingall-img img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
#main .section-3 .maingall-txt {position: relative; z-index: 1; font-size: clamp(14px, 4vw, 18px); font-weight: 500; color: #ffffff; opacity: 0; transition: .3s;}
/* 갤러리 섹션 스크롤바 일단 숨김 */
.maingall-scrollwr {position: relative; margin-top: 70px; width: 100%; height: 2px; background-color: #ededed; display: none;}
.maingall-scrollbar {position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: #7f7f7f;}

/* > section 4 */
#main .section-4 {padding-top: max(90px, 10vh); scroll-margin-top: clamp(30px, 8vw, 100px);}
#main .section-4 .contact-wr {width: 100%;}
#main .section-4 .contact-top {text-align: right;}
#main .section-4 .contact-title {padding-top: 10px; font-size: clamp(30px, 8vw, 100px); font-weight: 900; color: #ffffff; -webkit-text-stroke: min(0.4vw, 3px) #00723e; line-height: 0.7;}
#main .section-4 .contact-box {padding: min(3vw, 60px) min(3vw, 130px) 65px; background-color: #00723e;}
#main .section-4 .contact-in {display: flex; gap: min(3vw, 60px);}
#main .section-4 .contact-ul {flex: 1;}
#main .section-4 .contact-label {display: flex; align-items: flex-end; padding-bottom: 10px; height: 50px; font-size: 16px; font-weight: 400; color: #ffffff;}
#main .section-4 .contact-label .req::before {content: '* '; position: inherit; font-size: inherit; font-weight: inherit; color: #ff0000;}
#main .section-4 .contact-input {display: block; width: 100%; height: 60px; border-radius: 0; border: 0;}
#main .section-4 textarea.contact-input {height: 280px;}
#main .section-4 .contact-btn-wr {display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; color: #ffffff;}
#main .section-4 .contact-privacy {display: flex; align-items: center; justify-content: center; gap: 15px; padding: clamp(20px, 5vw, 60px) 0 min(3vw, 25px);}
#main .section-4 .contact-privacy-more {padding: 3px 15px; border-radius: 100px; background-color: #222222; border: 0; font-size: 14px; color: #ffffff;}
#main .section-4 .contact-check input {position: absolute; width: 0; height: 0; opacity: 0; visibility: hidden;}
#main .section-4 .contact-check label {cursor: pointer;}
#main .section-4 .contact-check label::after {content: ''; display: inline-block; margin: 0 0 3px 14px; width: 18px; height: 18px; border: 1px solid #ffffff; vertical-align: middle;}
#main .section-4 .contact-check input:checked + label:after {background: url('/source/img/icon-check.png') no-repeat center / 50%;}
#main .section-4 .contact-submit {width: 240px; height: 50px; line-height: 50px; background-color: #222222; border-radius: 100px; border: 0; font-size: 20px; font-weight: 700; color: #ffffff;}

.privacy-pop {position: absolute; left: 0; bottom: calc(100% - 30px); padding: clamp(15px, 3vw, 40px) clamp(15px, 3vw, 45px); width: 100%; z-index: 100; background-color: #f5f5f5; box-shadow: 0 5px 15px 5px rgba(0, 0, 0, .1); display: none;}
.privacy-pop-close {position: absolute; top: clamp(10px, 3vw, 33px); right: clamp(15px, 3vw, 45px); width: 12px; height: 15px; border: 0; background: none;}
.privacy-pop-top {padding-bottom: 15px; font-size: clamp(16px, 2vw, 23px); font-weight: 700; color: #000000; line-height: 1;}
.privacy-pop-cnt {padding: min(3vw, 55px) min(3vw, 130px); background-color: #ffffff;}
.privacy-table {width: 100%; border: 1px solid #b7b7b7;}
.privacy-table caption {height: 0; opacity: 0;}
.privacy-table th {padding: 10px 15px; font-size: 18px; font-weight: 600; color: #ffffff; background-color: #b7b7b7;}
.privacy-table th:not(:last-child) {border-right: 1px solid #ffffff;}
.privacy-table td {padding: 15px; font-size: 16px; font-weight: 400; color: #000000; background-color: #ffffff; text-align: center;}
.privacy-table td:not(:last-child) {border-right: 1px solid #b7b7b7;}
.privacy-table-txt {padding-top: min(2vw, 20px); font-size: 16px; font-weight: 400; color: #ff0000; text-indent: -12px; margin-left: 12px;}

/* sub */
.sub-content {padding-bottom: clamp(60px, 10vw, 100px);}

/* 목록 */
.list-top {padding: clamp(100px, 30vw, 260px) 0 clamp(15px, 5vw, 45px); margin-bottom: clamp(20px, 7vw, 70px); border-bottom: 4px solid #000000;}
.list-tit-wr.tit-wr-circle {padding: 0;}
.list-tit {padding: min(1vw, 6px) clamp(10px, 2.5vw, 12px); font-size: clamp(38px, 5vw, 72px); font-weight: 700; color: #000000;}
.list-subtit {padding-top: min(3vw, 20px); font-size: clamp(14px, 2.5vw, 20px); font-weight: 400; color: #181818;}
.list-subtit b {font-weight: 600;}

.pg_wrap {margin-top: clamp(30px, 10vw, 90px); float: none; width: 100%;}
.pg_wrap:after {display: none;}
.pg_wrap .pg {display: flex; justify-content: center; align-items: center; gap: 5px;}
.pg_page, .pg_current {padding: 0 1px; width: 38px; min-width: 0; height: 38px; line-height: 38px; font-size: 16px; font-weight: 300; border: 1px solid #e7e7e7; color: #9f9f9f; background-color: #ffffff;}
.pg_current {border-color: #00723e; color: #00723e;}
.pg_start {background: url('/source/img/icon-page_start.png') no-repeat center / 13px;}
.pg_prev {background: url('/source/img/icon-page_prev.png') no-repeat center / 7px;}
.pg_next {background: url('/source/img/icon-page_next.png') no-repeat center / 7px;}
.pg_end {background: url('/source/img/icon-page_end.png') no-repeat center / 13px;}

/* 상세 */
#bo_v_oth{margin-top: 15px; width: 100%;}
#bo_v_oth .bo_v_nb {display: flex; align-items: center; justify-content: space-between; width: 100%;}
#bo_v_oth .bo_v_nb li {float: none;}
#bo_v_oth .bo_v_back_btn{display: block; width: clamp(120px, 24vw, 240px); height: clamp(40px, 6vw, 60px); line-height: clamp(40px, 6vw, 60px); padding: 0 15px; font-size: clamp(14px, 2.5vw, 20px); font-weight: 400; color: #181818; background: #ffffff; letter-spacing: 0; text-align: center; border: 1px solid #888888; transition: .3s;}
#bo_v_oth .bo_v_back_btn:hover {border-color: #00723e; color: #00723e;}
#bo_v_oth .bo_v_nb li{padding: 0 2px;}
#bo_v_oth .bo_v_nb li .bo_v_nb_btn{display: flex; align-items: center; gap: min(2vw, 15px); font-size: clamp(14px, 2.5vw, 20px); font-weight: 400; color: #666666; transition: .3s;}
#bo_v_oth .bo_v_nb li .bo_v_nb_icon {margin-bottom: 3px;}
#bo_v_oth .bo_v_nb li .bo_v_nb_btn:hover {color: #00723e;}
#bo_v_oth .bo_v_nb li i{color: #999}
#bo_v_oth .bo_v_nb li .bo_v_nb_prev i{margin-right: 5px;}
#bo_v_oth .bo_v_nb li .bo_v_nb_next i{margin-left: 5px;}

/* 웹진 목록 */
.wzlist-ul {display: flex; flex-direction: column; gap: clamp(40px, 10vw, 100px); padding-top: min(3vw, 40px);}
.wzlist-link {display: flex; align-items: center; height: clamp(200px, 50vw, 855px);}
.wzlist-li:nth-child(even) .wzlist-link {flex-direction: row-reverse;}
.wzlist-thumb, .wzlist-info {flex: 1; width: 50%;}
.wzlist-thumb {height: 100%; overflow: hidden;}
.wzlist-thumb img {width: 100%; height: 100%; object-fit: cover; object-position: center; transition: .3s;}
.wzlist-li .wzlist-cnt {padding: min(3vw, 50px) clamp(10px, 5vw, 160px);}
.wzlist-li .wzlist-cnt .tp-more {margin-top: min(10vw, 90px);}
.wzlist-li .wzlist-cate {font-size: clamp(14px, 1.5vw, 24px);}
.wzlist-li .wzlist-tit {font-size: clamp(16px, 2.5vw, 35px);}

/* 웹진 상세 */
.wz-top {display: flex; align-items: center; position: relative; height: min(50vw, 915px); background-position: center; background-size: cover; color: #ffffff;}
.wz-top::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .7);}
.wz-top-in {position: relative; z-index: 1; padding: 0 min(3.5vw, 80px);}
.wz-top-subtit {padding-bottom: min(1.5vw, 25px); font-size: clamp(14px, 2vw, 24px); font-weight: 400;}
.wz-top-tit {font-size: clamp(20px, 5vw, 72px); font-weight: 700; line-height: 1.4;}
.wzview {padding: clamp(30px, 10vw, 160px) 0 clamp(30px, 10vw, 80px);}
.wzbtm {padding-top: min(3vw, 30px); border-top: 4px solid #000000;}
.wz-in {display: flex; flex-direction: column; gap: clamp(30px, 5vw, 60px);}
.wz-tit-wr.tit-wr-circle {padding: 0;}
.wz-tit-wr {margin-bottom: clamp(20px, 3vw, 45px);}
.wz-tit {padding: clamp(7px, 1.5vw, 15px) min(1.5vw, 25px); font-size: clamp(20px, 5vw, 50px); font-weight: 700; color: #000000;}
.wz-subtit {padding-top: min(3vw, 25px); font-size: clamp(14px, 2vw, 20px); font-weight: 400; color: #181818; line-height: 1.7;}
.wz-img-wr, .wz-txt-wr {width: calc(1565px + 6vw); padding: 0 3vw; max-width: 100%; margin: 0 auto;}
.wz-txt-subject {padding-bottom: min(3vw, 20px); font-size: clamp(18px, 4.5vw, 50px); font-weight: 700; color: #000000; line-height: 1.3;}
.wz-txt {font-size: clamp(14px, 2vw, 20px); font-weight: 400; color: #181818; line-height: 1.7;}
.wz-img {position: relative; height: 0; box-shadow: 0 5px 15px 3px rgba(0, 0, 0, .1); overflow: hidden;}
.wz-img img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; object-position: center;}
.wz-img-wr.wide .wz-img {padding-bottom: 43.35%;}
.wz-img-wr.double {display: flex; align-items: center; gap: min(3vw, 50px);}
.wz-img-wr.double .wz-img {flex: 1;}
.wz-img-wr.double .wz-img:first-child {padding-bottom: 55.75%;}
.wz-img-wr.double .wz-img:last-child {padding-bottom: 46.55%;}
.wz-img-wr.circle {position: relative; padding: 0; margin: 0; width: 70vw; max-width: 100vw;}
.wz-img-wr.circle::after {content: ''; position: absolute; width: clamp(50px, 8vw, 196px); height: clamp(50px, 8vw, 196px); right: clamp(-90px, -4vw, -20px); bottom: 0; background: url('/source/img/circle-txt.png') no-repeat center / contain; animation: rollingTxt infinite 25s linear alternate;}
.wz-img-wr.circle .wz-img {width: 100%; padding-bottom: 26.6%; border-radius: 0 1000px 1000px 0;}
.wz-img-wr.narrow .wz-img {padding-bottom: 24.75%;}

@keyframes rollingTxt {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(365deg);
  }
}

/* hover */
@media screen and (min-width:1290px) {
.sitemap-li a:hover p::after {width: 100%; opacity: 1;}
.tp-more-btn:hover::after {background-color: rgba(0, 114, 62, .1);}
#main .section-2 .webzine-slide:hover {transform: translateY(-40px);}
#main .section-3 .maingall-link:hover .maingall-txt {opacity: 1;}
#main .section-3 .maingall-link:hover::after {opacity: 1; height: 100%;}
.wzlist-link:hover .tp-more-btn::after {background-color: rgba(0, 114, 62, .1);}
.wzlist-link:hover .wzlist-thumb img {transform: scale(1.05);}
}