@import url("slick.css");
@import url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy.css");


:root{
    --padding:20px;
    --header_h:100px;
    --width:1480px;
    --point-color-1:#508830;
    --point-color-2:#60a23a;
    --font2:"Paperlogy","Pretendard",sans-serif;
}

#wrap{position:relative; overflow:hidden; word-break:keep-all;}
.cont{max-width:var(--width); margin:0 auto; padding:0 var(--padding);}

[data-delay] {position: relative; transition: all 1s ease; opacity:0;}
[data-direction="left"]{left:-40px;}
[data-direction="right"]{right:-40px;}
[data-direction="top"]{top:-40px;}
[data-direction="bottom"]{bottom:-40px;}
.section_on [data-delay]{opacity:1;}
.section_on [data-direction="left"]{left:0;}
.section_on [data-direction="right"]{right:0;}
.section_on [data-direction="top"]{top:0;}
.section_on [data-direction="bottom"]{bottom:0;}


/* header */
.header{position:fixed; left:0; top:0; z-index:100; display:flex; justify-content:space-between; align-items:center; width:100%; padding:25px 80px; background:#fff;}
.header .logo a{display:flex; align-items:center; gap:18px;}
.header .logo_txt,
.footer .logo_txt{display:flex; flex-direction:column; gap:4px; font-family:var(--font2);}
.header .logo_txt strong,
.footer .logo_txt strong{font-size:1.75rem; font-weight:800; line-height:1.07; color:#2d2d2d;}
.header .logo_txt em,
.footer .logo_txt em{font-size:0.875rem; font-weight:400; line-height:1.14; color:#2d2d2d;}
.header .gnb{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.header .gnb ul{display:flex; gap:80px;}
.header .gnb > ul > li{position:relative;}
.header .gnb a{display:block; padding:36px 0; font-family:var(--font2); font-size:1.5rem; font-weight:600; line-height:1.18; color:#2d2d2d;}
.header .gnb .depth2{display:flex; visibility:hidden; position:absolute; left:-33px; top:90px; flex-direction:column; gap:5px; width:180px; padding:15px 10px; border-radius:10px; background:#fff; box-shadow:0 0 15px rgba(33,33,33,0.1); opacity:0; transform:translateY(-10px); transition:opacity .3s ease, transform .3s ease, visibility .3s;}
.header .gnb > ul > li:hover .depth2{visibility:visible; opacity:1; transform:translateY(0);}
.header .gnb .depth2 a{padding:5px 15px; border-radius:10px; font-size:1.0625rem; font-weight:700; line-height:1.53; letter-spacing:-0.02em; text-align:center; transition:background .3s, color .3s;}
.header .gnb .depth2 a:hover{background:#f1f9ec; color:#33561f;}
.header .icon_menu{display:block; width:50px; aspect-ratio:1; background:url("../img/ic_menu.svg") no-repeat center;}
.header.menu_open .icon_menu{background-image:url("../img/ic_close.svg");}
.header::after{content:""; visibility:hidden; position:fixed; left:0; right:0; top:var(--header_h); bottom:0; z-index:1; background:rgba(0,0,0,0.4); opacity:0; transition:opacity .3s ease, visibility .3s;}
.header.menu_open::after{visibility:visible; opacity:1;}
.header .total_menu{visibility:hidden; position:absolute; left:0; top:100%; z-index:2; width:100%; padding:50px 80px 60px; border-top:1px solid #ececec; background:#fff; opacity:0; transform:translateY(-10px); transition:opacity .3s ease, transform .3s ease, visibility .3s;}
.header.menu_open .total_menu{visibility:visible; opacity:1; transform:translateY(0);}
.header .total_menu > ul{display:flex; justify-content:center; gap:120px;}
.header .total_menu > ul > li{min-width:220px;}
.header .total_menu > ul > li > a{display:block; padding-bottom:16px; border-bottom:2px solid #508830; font-family:var(--font2); font-size:1.5rem; font-weight:700; line-height:1.2; color:#2d2d2d;}
.header .total_menu li ul{display:flex; flex-direction:column; gap:5px; margin-top:16px;}
.header .total_menu li li a{display:block; padding:8px 15px; border-radius:10px; font-family:var(--font2); font-size:1.0625rem; font-weight:500; line-height:1.53; letter-spacing:-0.02em; color:#555; transition:background .3s, color .3s;}
.header .total_menu li li a:hover{background:#f1f9ec; color:#33561f;}

@media screen and (max-width: 1200px){
.header{padding:25px 40px;}
.header .gnb ul{gap:50px;}
}

@media screen and (max-width: 1024px){
.header .gnb{display:none;}
.header .total_menu{padding:30px 40px 40px;}
.header .total_menu > ul{flex-direction:column; gap:30px;}
.header .total_menu > ul > li{min-width:0;}
.header .total_menu > ul > li > a{font-size:1.25rem;}
}

@media screen and (max-width: 768px){
:root{--header_h:70px;}
.header{padding:10px 20px;}
.header .logo a{gap:10px;}
.header .logo_txt strong{font-size:20px;}
.header .logo_txt em{font-size:11px;}
.header .total_menu{padding:20px 20px 30px;}
.header .total_menu > ul{gap:24px;}
.header .total_menu > ul > li > a{padding-bottom:12px; font-size:18px;}
.header .total_menu li ul{margin-top:10px;}
.header .total_menu li li a{padding:8px 12px; font-size:15px;}
.header .icon_menu{width:40px;}
}


/* main visual */
.main_visual{position:relative; margin-top:var(--header_h); padding:0 60px 20px;}
.main_visual::before{content:""; position:absolute; left:-61px; top:169px; z-index:2; width:759px; aspect-ratio:759/585; background:url("../img/mv_deco_left.png") no-repeat; opacity:var(--deco_o,1); translate:0 var(--deco_l,0px); pointer-events:none;}
.main_visual::after{content:""; position:absolute; right:-53px; top:185px; z-index:2; width:486px; aspect-ratio:486/546; background:url("../img/mv_deco_right.png") no-repeat; opacity:var(--deco_o,1); translate:0 var(--deco_r,0px); pointer-events:none;}
.main_visual .slick-list{border-bottom-left-radius:30px; border-bottom-right-radius:30px;}
.main_visual .slider img{display:block; width:100%; border-bottom-left-radius:30px; border-bottom-right-radius:30px;}
.main_visual .slick-dots{display:flex; justify-content:center; gap:15px; margin-top:30px;}
.main_visual .slick-dots button{display:block; width:12px; aspect-ratio:1; border-radius:20px; background:#d8d8d8; font-size:0; transition:width .3s;}
.main_visual .slick-dots .slick-active button{width:35px; aspect-ratio:35/12; background:#406d27;}
.main_visual .txt{position:absolute; left:0; top:0; bottom:62px; z-index:3; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; width:100%; padding-bottom:70px; font-family:var(--font2); color:#fff; text-align:center; pointer-events:none;}
.main_visual .txt > span{font-size:3rem; font-weight:700; line-height:1.4; letter-spacing:-0.01em; text-shadow:0 0 20px rgba(0,0,0,0.4);}
.main_visual h2{display:flex; justify-content:center; gap:4px; font-family:var(--font2); font-size:4.5rem; font-weight:700; line-height:1.4; letter-spacing:-0.01em; color:#fff;}
.main_visual h2 strong{padding:0 10px; font-weight:800; background:#33561f;}
.main_visual h2 span{padding:0 10px;}

/* main intro */
.main_intro{position:relative; padding:120px 0;}
.main_intro::before{content:""; position:absolute; left:50%; top:71px; margin-left:-759px; width:1587px; aspect-ratio:1587/1049; background:url("../img/intro_deco.png") no-repeat; translate:0 var(--py,0px); pointer-events:none;}
.main_intro .tit,
.main_passport .tit,
.main_stamp .tit{display:flex; justify-content:center; gap:10px; width:100%; font-family:var(--font2); font-size:3rem; font-weight:700; line-height:1.25; letter-spacing:-0.03em; color:#2d2d2d;}
.main_intro .tit strong,
.main_passport .tit strong,
.main_stamp .tit strong{font-weight:700; color:#60a23a;}
.main_intro .info{display:flex; flex-direction:column; gap:30px; margin-top:70px; font-family:var(--font2); font-size:1.375rem; font-weight:600; line-height:1.36; letter-spacing:-0.02em; color:#2d2d2d;}
.main_intro .info > div{display:flex; align-items:flex-start; gap:40px;}
.main_intro .info > div:last-child{gap:24px;}
.main_intro .info dt{flex:none; width:23.75%; padding:18px 20px; border-radius:50px; background:#508830; font-size:1.75rem; font-weight:700; line-height:1; color:#fff; text-align:center;}
.main_intro .info dd{display:flex; flex:1; flex-direction:column; gap:10px; padding-top:17px;}
.main_intro .info dd:has(> .note){padding-top:20px;}
.main_intro .info dd:has(> .step){padding-top:0;}
.main_intro .info dd > span em{font-weight:700; color:#508830;}
.main_intro .info .note{font-size:1.25rem; line-height:1.4; color:#f58948;}
.main_intro .step{display:flex; gap:84px; padding:0 20px; border-radius:30px;}
.main_intro .step li{display:flex; flex:1; flex-direction:column; min-width:0; align-items:center; text-align:center;}
.main_intro .step img{margin-bottom:24px;}
.main_intro .step em{display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; width:40px; aspect-ratio:1; border-radius:300px; background:#508830; font-size:1.5rem; font-weight:700; line-height:2.5; letter-spacing:-0.03em; color:#fff;}
.main_intro .step p{margin-top:18px; white-space:nowrap;}
.main_intro .step .note{margin-top:10px;}

/* main passport */
.main_passport{position:relative; padding:120px 0;}
.main_passport::before{content:""; position:absolute; left:50%; top:3px; transform:translateX(-50%); width:1920px; aspect-ratio:1920/1072; background:url("../img/passport_bg2.svg") no-repeat;}
.main_passport::after{content:""; position:absolute; left:50%; top:-38px; margin-left:-1080px; width:2300px; aspect-ratio:2300/986; background:url("../img/passport_deco2.png") no-repeat; translate:0 var(--py,0px); pointer-events:none;}
.main_passport .cont{position:relative; z-index:1;}
.main_passport .table_box{max-width:1400px; margin:60px auto 0; padding:40px 30px; border-radius:20px; background:#fff;}
.main_passport table{width:100%; border-collapse:collapse; border-top:1px solid #33561f; border-bottom:1px solid #33561f; font-size:1rem; font-weight:500; line-height:1.5; letter-spacing:-0.01em; color:#2d2d2d; text-align:center;}
.main_passport caption{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
.main_passport col.area,
.main_passport col.name{width:22.39%;}
.main_passport col.time{width:23.88%;}
.main_passport th,
.main_passport td{height:56px; padding:0 30px; border-top:1px solid #d8d8d8; border-left:1px solid #d8d8d8;}
.main_passport thead th{height:50px; padding:10px 30px; border-top:0; background:#f1f9ec; font-weight:600; line-height:1.375;}
.main_passport thead th:first-child,
.main_passport tbody th{border-left:0;}
.main_passport tbody th{font-weight:500;}
.main_passport td.addr{text-align:left;}

/* main stamp */
.main_stamp{position:relative; padding:120px 0 110px;}
.main_stamp::before{content:""; position:absolute; left:50%; top:349px; margin-left:-1030px; width:2215px; aspect-ratio:2215/788; background:url("../img/stamp_road.png") no-repeat;}
.main_stamp::after{content:""; position:absolute; left:50%; top:150px; margin-left:-643px; z-index:2; width:1537px; aspect-ratio:1537/1007; background:url("../img/stamp_deco.png") no-repeat; translate:0 var(--py,0px); pointer-events:none;}
.main_stamp .cont{position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:60px 0;}
.main_stamp .map{position:relative; width:45.49%;}
.main_stamp .map img{display:block; width:100%;}
.main_stamp .visit li{position:absolute; display:flex; align-items:center; gap:8px; padding:4px 12px 4px 4px; border-radius:200px; background:#fff; box-shadow:0 3px 0 rgba(0,0,0,0.25); font-size:1rem; font-weight:600; line-height:1; letter-spacing:-0.01em; color:#343434; white-space:nowrap;}
.main_stamp .visit li:nth-child(5) span{color:#2d2d2d;}
.main_stamp .visit em,
.main_stamp .spot em{display:flex; flex-direction:column; justify-content:center; align-items:center; width:24px; aspect-ratio:1; border-radius:200px; background:#f36f20; font-weight:600; color:#fff;}
.main_stamp .exp li{position:absolute; display:flex; align-items:center; gap:8px; font-size:1rem; font-weight:600; line-height:1; letter-spacing:-0.01em; color:#343434; white-space:nowrap;}
.main_stamp .exp em{display:flex; flex-direction:column; justify-content:center; align-items:center; width:24px; aspect-ratio:1; border-radius:200px; background:#004e6c; font-weight:600; color:#fff;}
.main_stamp .exp span{display:none;}
.main_stamp .visit li:nth-child(1){left:3.05%; top:5.09%;}
.main_stamp .visit li:nth-child(2){left:12.52%; top:9.28%;}
.main_stamp .visit li:nth-child(3){left:23.36%; top:13.46%;}
.main_stamp .visit li:nth-child(4){left:27.79%; top:17.53%;}
.main_stamp .visit li:nth-child(5){left:17.1%; top:21.72%;}
.main_stamp .visit li:nth-child(6){left:68.85%; top:9.5%;}
.main_stamp .visit li:nth-child(7){left:60.46%; top:13.91%;}
.main_stamp .visit li:nth-child(8){left:52.82%; top:17.87%;}
.main_stamp .visit li:nth-child(9){left:42.44%; top:23.64%;}
.main_stamp .visit li:nth-child(10){left:66.72%; top:22.62%;}
.main_stamp .visit li:nth-child(11){left:32.21%; top:38.12%;}
.main_stamp .visit li:nth-child(12){left:59.08%; top:41.97%;}
.main_stamp .visit li:nth-child(13){left:35.73%; top:57.47%;}
.main_stamp .visit li:nth-child(14){left:60.92%; top:57.47%;}
.main_stamp .visit li:nth-child(15){left:48.09%; top:62.1%;}
.main_stamp .visit li:nth-child(16){left:60.15%; top:66.52%;}
.main_stamp .visit li:nth-child(17){left:67.02%; top:73.19%;}
.main_stamp .exp li:nth-child(1){left:20.46%; top:17.99%;}
.main_stamp .exp li:nth-child(2){left:70.69%; top:27.94%;}
.main_stamp .exp li:nth-child(3){left:43.05%; top:62.56%;}
.main_stamp .exp li:nth-child(4){left:51.15%; top:54.07%;}
.main_stamp .exp li:nth-child(5){left:59.39%; top:52.15%;}
.main_stamp .exp li:nth-child(6){left:62.44%; top:49.43%;}
.main_stamp .exp li:nth-child(7){left:67.02%; top:53.05%;}
.main_stamp .exp li:nth-child(8){left:74.66%; top:52.26%;}
.main_stamp .exp li:nth-child(9){left:74.81%; top:63.24%;}
.main_stamp .exp li:nth-child(10){left:53.59%; top:75%;}
.main_stamp .map.exp_on .visit li{padding:0; background:none; box-shadow:none;}
.main_stamp .map.exp_on .visit span{display:none;}
.main_stamp .map.exp_on .exp li{padding:4px 12px 4px 4px; border-radius:200px; background:#fff; box-shadow:0 3px 0 rgba(0,0,0,0.25);}
.main_stamp .map.exp_on .exp span{display:block;}
.main_stamp .map .visit li.active{z-index:2; border-radius:200px; background:#f36f20; animation:map_bounce .8s ease-in-out infinite;}
.main_stamp .map.exp_on .exp li.active{z-index:2; border-radius:200px; background:#004e6c; animation:map_bounce .8s ease-in-out infinite;}
.main_stamp .map .visit li.active span,
.main_stamp .map.exp_on .exp li.active span{color:#fff;}
.main_stamp .map .visit li.active em{background:#fff; color:#f36f20;}
.main_stamp .map.exp_on .exp li.active em{background:#fff; color:#004e6c;}
@keyframes map_bounce{0%, 100%{transform:translateY(0);} 50%{transform:translateY(-6px);}}
.main_stamp .map.exp_on .visit li:nth-child(1){left:7.48%; top:8.56%;}
.main_stamp .map.exp_on .visit li:nth-child(2){left:19.24%; top:9.91%;}
.main_stamp .map.exp_on .visit li:nth-child(3){left:30.84%; top:15.34%;}
.main_stamp .map.exp_on .visit li:nth-child(4){left:31.76%; top:19.3%;}
.main_stamp .map.exp_on .visit li:nth-child(5){left:25.5%; top:22.58%;}
.main_stamp .map.exp_on .visit li:nth-child(6){left:69.47%; top:9.95%;}
.main_stamp .map.exp_on .visit li:nth-child(7){left:62.44%; top:13.99%;}
.main_stamp .map.exp_on .visit li:nth-child(8){left:53.44%; top:18.33%;}
.main_stamp .map.exp_on .visit li:nth-child(9){left:49.77%; top:22.24%;}
.main_stamp .map.exp_on .visit li:nth-child(10){left:67.33%; top:23.08%;}
.main_stamp .map.exp_on .visit li:nth-child(11){left:43.97%; top:33.1%;}
.main_stamp .map.exp_on .visit li:nth-child(12){left:61.07%; top:39.1%;}
.main_stamp .map.exp_on .visit li:nth-child(13){left:54.05%; top:59.23%;}
.main_stamp .map.exp_on .visit li:nth-child(14){left:61.53%; top:57.92%;}
.main_stamp .map.exp_on .visit li:nth-child(15){left:48.7%; top:62.56%;}
.main_stamp .map.exp_on .visit li:nth-child(16){left:61.68%; top:65.91%;}
.main_stamp .map.exp_on .visit li:nth-child(17){left:67.63%; top:73.64%;}
.main_stamp .map.exp_on .exp li:nth-child(1){left:1.83%; top:18.06%;}
.main_stamp .map.exp_on .exp li:nth-child(2){left:70.99%; top:27.56%;}
.main_stamp .map.exp_on .exp li:nth-child(3){left:27.18%; top:57.88%;}
.main_stamp .map.exp_on .exp li:nth-child(4){left:58.47%; top:60.93%;}
.main_stamp .map.exp_on .exp li:nth-child(5){left:47.02%; top:53.47%;}
.main_stamp .map.exp_on .exp li:nth-child(6){left:54.81%; top:46.79%;}
.main_stamp .map.exp_on .exp li:nth-child(7){left:66.41%; top:52.33%;}
.main_stamp .map.exp_on .exp li:nth-child(8){left:71.3%; top:56.29%;}
.main_stamp .map.exp_on .exp li:nth-child(9){left:65.8%; top:68.62%;}
.main_stamp .map.exp_on .exp li:nth-child(10){left:40.31%; top:73.15%;}
.main_stamp .spot{display:flex; flex-direction:column; align-self:center; width:47.22%; margin-bottom:10px;}
.main_stamp .spot dt:nth-of-type(2){margin-top:20px;}
.main_stamp .spot button{display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; padding:34px 40px; border-radius:10px; background:#004e6c; font-family:var(--font2); font-size:2rem; font-weight:600; line-height:1; letter-spacing:-0.03em; color:#fff; text-align:left;}
.main_stamp .spot button::after{content:""; flex:none; width:28px; aspect-ratio:28/16; background:url("../img/ic_toggle.svg") no-repeat; transition:transform .3s;}
.main_stamp .spot dt:nth-of-type(2) button{background:#f36f20;}
.main_stamp .spot dt.on:nth-of-type(1) button{border-top-left-radius:10px; border-top-right-radius:10px; border-bottom-right-radius:0; border-bottom-left-radius:0;}
.main_stamp .spot dt.on:nth-of-type(2) button{gap:10px; padding:34px 40px; border-top-left-radius:10px; border-top-right-radius:10px; border-bottom-right-radius:0; border-bottom-left-radius:0; background:#f36f20;}
.main_stamp .spot .on button::after{transform:rotate(180deg);}
.main_stamp .spot dd{display:none;}
.main_stamp .spot .on + dd{display:block;}
.main_stamp .spot dd:nth-of-type(1) .list{border-color:#004e6c;}
.main_stamp .spot dd:nth-of-type(1) em{background:#004e6c;}
.main_stamp .spot .list{display:flex; flex-wrap:wrap; gap:10px; padding:30px 52px; border:3px solid #f36f20; border-top-left-radius:0; border-top-right-radius:0; border-bottom-right-radius:10px; border-bottom-left-radius:10px; background:#fff;}
.main_stamp .spot .list li{display:flex; flex:1 1 40%; align-items:center; gap:8px; font-size:1rem; font-weight:600; line-height:1; letter-spacing:-0.01em; color:#2d2d2d; cursor:pointer;}

/* main notice */
.main_notice{position:relative; padding:240px 0 160px;}
.main_notice::before{content:""; position:absolute; left:50%; top:-171px; bottom:0; transform:translateX(-50%); width:100%; background:url("../img/notice_bg.png") no-repeat center top;}
.main_notice::after{content:""; position:absolute; left:0; right:0; top:760px; bottom:0; background:#94c756;}
.main_notice .cont{position:relative; z-index:1;}
.main_notice .tit{display:flex; justify-content:center; gap:10px; font-family:var(--font2); font-size:3rem; font-weight:700; line-height:1.25; letter-spacing:-0.03em; color:#fff;}
.main_notice .tit strong{font-weight:700;}
.main_notice .list{display:flex; justify-content:center; gap:30px; margin-top:60px;}
.main_notice .list li{flex:1; min-width:0; max-width:25%;}
.main_notice .list a{display:flex; flex-direction:column; gap:10px; padding:30px; border-radius:20px; background:#fff; box-shadow:0 0 20px rgba(0,0,0,0.1);}
.main_notice .list strong{overflow:hidden; font-family:var(--font2); font-size:1.25rem; font-weight:600; line-height:1.4; letter-spacing:-0.01em; color:#1d1d1d; white-space:nowrap; text-overflow:ellipsis;}
.main_notice .list p{display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; font-size:1rem; font-weight:500; line-height:1.63; letter-spacing:-0.01em; color:#727272; word-break:break-all;}
.main_notice .list .date{margin-top:32px; font-size:1rem; font-weight:500; line-height:1.38; letter-spacing:-0.01em; color:#8e8e8e; text-align:right;}
.main_notice .list .empty{max-width:none; padding:60px 20px; border-radius:20px; background:#fff; box-shadow:0 0 20px rgba(0,0,0,0.1); font-size:1.125rem; font-weight:500; line-height:1.4; color:#727272; text-align:center;}

@media screen and (width > 1920px){
.main_passport::before{bottom:-25px; width:100%; aspect-ratio:auto; background-size:100% 100%;}
.main_notice::before{background-size:100%;}
}

@media screen and (max-width: 1200px){
.main_visual{padding:0 40px 20px;}
.main_visual::before,
.main_visual::after{display:none;}
.main_visual .txt{padding-bottom:40px;}
.main_visual .txt > span{font-size:2.5rem;}
.main_visual h2{font-size:3.5rem;}
.main_intro .info dt{width:26%; font-size:1.5rem;}
.main_intro .step{gap:30px; padding:0;}
.main_intro .step p{white-space:normal;}
.main_passport .table_box{padding:30px 20px;}
.main_passport th,
.main_passport td{padding:0 16px;}
.main_stamp .visit li,
.main_stamp .exp li{font-size:0.875rem;}
.main_notice .list{gap:20px;}
}

@media screen and (max-width: 1024px){
.main_visual{padding:0 20px 20px;}
.main_intro::before,
.main_passport::after,
.main_stamp::after{display:none;}
.main_visual .txt{padding-bottom:20px;}
.main_visual .txt > span{font-size:2rem;}
.main_visual h2{font-size:2.75rem;}
.main_intro{padding:100px 0;}
.main_passport{padding:100px 0;}
.main_passport .table_box{margin-top:40px;}
.main_passport th,
.main_passport td{padding:0 10px; font-size:15px;}
.main_stamp{padding:100px 0;}
.main_stamp .cont{justify-content:center;}
.main_stamp .map{width:100%; max-width:655px;}
.main_stamp .spot{width:100%; margin-bottom:0;}
.main_notice{padding:200px 0 100px;}
.main_notice .list{flex-wrap:wrap;}
.main_notice .list li{flex:1 1 40%; max-width:50%;}
}

@media screen and (max-width: 768px){
.main_visual{padding:0 10px 10px;}
.main_visual .slick-list,
.main_visual .slider img{border-bottom-left-radius:20px; border-bottom-right-radius:20px;}
.main_visual .slick-dots{gap:10px; margin-top:15px;}
.main_visual .txt{bottom:37px; gap:6px; padding-bottom:10px;}
.main_visual .txt > span{font-size:18px;}
.main_visual h2{flex-wrap:wrap; font-size:26px;}
.main_visual h2 strong,
.main_visual h2 span{padding:0 5px;}
.main_intro{padding:60px 0;}
.main_intro .tit,
.main_passport .tit,
.main_stamp .tit,
.main_notice .tit{gap:6px; font-size:28px;}
.main_intro .info{margin-top:35px; font-size:16px;}
.main_intro .info > div,
.main_intro .info > div:last-child{flex-direction:column; gap:12px;}
.main_intro .info dt{align-self:flex-start; width:auto; padding:10px 24px; font-size:18px;}
.main_intro .info dd,
.main_intro .info dd:has(> .note){padding-top:0;}
.main_intro .info dd{width:100%;}
.main_intro .info .note{font-size:14px;}
.main_intro .step{flex-direction:column; gap:30px;}
.main_intro .step img{margin-bottom:12px;}
.main_intro .step em{width:32px; font-size:18px;}
.main_intro .step p{margin-top:10px;}
.main_intro .step .note{margin-top:5px;}
.main_passport{padding:70px 0;}
.main_passport::before{top:0; bottom:0; left:0; transform:none; width:100%; aspect-ratio:auto; background:#f1f9ec;}
.main_passport .table_box{margin-top:30px; padding:0; border-radius:0; background:none;}
.main_passport table,
.main_passport tbody,
.main_passport tr,
.main_passport th,
.main_passport td{display:block;}
.main_passport table{border:0; text-align:left;}
.main_passport thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
.main_passport tbody{overflow:hidden; border-radius:10px; background:#fff;}
.main_passport tbody + tbody{margin-top:12px;}
.main_passport tr{padding:12px 16px;}
.main_passport tr + tr{border-top:1px solid #d8d8d8;}
.main_passport th,
.main_passport td{height:auto; padding:0; border:0; font-size:14px;}
.main_passport tbody th{margin:-12px -16px 12px; padding:10px 16px; background:#508830; font-size:15px; font-weight:600; color:#fff;}
.main_passport td.name{font-size:15px; font-weight:600;}
.main_passport td.addr{margin-top:4px; color:#555;}
.main_passport td.time{display:flex; gap:6px; margin-top:4px; color:#555;}
.main_passport td.time::before{content:"운영시간"; flex:none; font-weight:600; color:#508830;}
.main_stamp{padding:60px 0;}
.main_stamp .cont{gap:30px 0;}
.main_stamp .visit li{gap:3px; padding:2px 6px 2px 2px; font-size:9px;}
.main_stamp .visit em,
.main_stamp .exp em{width:14px; font-size:9px;}
.main_stamp .exp li{gap:3px; font-size:9px;}
.main_stamp .map.exp_on .exp li{padding:2px 6px 2px 2px;}
.main_stamp .spot dt:nth-of-type(2){margin-top:10px;}
.main_stamp .spot button,
.main_stamp .spot dt.on:nth-of-type(2) button{padding:18px 20px;}
.main_stamp .spot button{font-size:20px;}
.main_stamp .spot .list{padding:20px;}
.main_stamp .spot .list li{font-size:14px;}
.main_stamp .spot .list em{width:22px; font-size:12px;}
.main_notice{padding:120px 0 60px;}
.main_notice::before{top:-220px; pointer-events:none;}
.main_notice .list{flex-direction:column; flex-wrap:nowrap; margin-top:30px; gap:12px;}
.main_notice .list li{max-width:none;}
.main_notice .list a{padding:20px; border-radius:10px;}
.main_notice .list strong{font-size:17px;}
.main_notice .list p{font-size:14px;}
.main_notice .list .date{margin-top:10px; font-size:14px;}
.main_notice .list .empty{padding:40px 20px; border-radius:10px; font-size:15px;}
}


/* sub board, sub guide, formlow apply */
.sub_board, .guide_info{margin-top:var(--header_h); padding:100px 0 160px;}
.fr-program_board{margin-top:var(--header_h); padding:100px 0 160px;}
.sub_board > .cont > .tit, .guide_info .tit{display:flex; justify-content:center; gap:10px; margin-bottom:60px; font-family:var(--font2); font-size:3rem; font-weight:700; line-height:1.25; letter-spacing:-0.03em; color:#2d2d2d;}
.sub_board > .cont > .tit strong, .guide_info .tit strong{font-weight:700; color:#60a23a;}

.guide_info .item{display:flex; align-items:flex-start; gap:40px;}
.guide_info .item + .item{margin-top:70px;}
.guide_info h3{display:flex; flex:none; align-items:center; gap:12px; width:318px; font-family:var(--font2); font-size:1.5625rem; font-weight:700; line-height:1.3; letter-spacing:-0.02em; color:#2d2d2d;}
.guide_info h3::before{content:""; flex:none; width:4px; height:22px; background:#60a23a;}
.guide_info .desc{display:flex; flex:1; flex-direction:column; gap:20px; min-width:0; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.02em; color:#2d2d2d;}
.guide_info .num_list{display:flex; flex-direction:column; gap:14px; counter-reset:num;}
.guide_info .num_list > li{position:relative; padding-left:44px; counter-increment:num;}
.guide_info .num_list > li::before{content:counter(num); position:absolute; left:0; top:0; display:flex; justify-content:center; align-items:center; width:30px; aspect-ratio:1; border-radius:50%; background:#60a23a; font-size:1rem; font-weight:700; line-height:1; color:#fff;}
.guide_info .num_list > li:has(strong){color:#555;}
.guide_info .num_list strong{display:block; margin-bottom:4px; font-weight:700; color:#2d2d2d;}
.guide_info .dot_list{display:flex; flex-direction:column; gap:4px; margin-top:10px;}
.guide_info .dot_list li{position:relative; padding-left:14px; font-size:1.125rem; color:#555;}
.guide_info .dot_list li::before{content:""; position:absolute; left:0; top:0.65em; width:5px; aspect-ratio:1; border-radius:50%; background:#60a23a;}
.guide_info .txt{font-size:1.375rem; font-weight:600;}
.guide_info .txt em{font-weight:700; color:#508830;}
.guide_info .note{font-size:1.125rem; font-weight:500; line-height:1.6; color:#f58948;}
.guide_info .process{flex-direction:column;}
.guide_info .step{display:flex; gap:40px; width:100%;}
.guide_info .step li{position:relative; display:flex; flex:1; flex-direction:column; align-items:center; gap:20px; min-width:0; text-align:center;}
.guide_info .step li + li::before{content:""; position:absolute; left:-26px; top:74px; width:12px; aspect-ratio:1; border-top:3px solid #60a23a; border-right:3px solid #60a23a; transform:rotate(45deg);}
.guide_info .step em{display:flex; justify-content:center; align-items:center; width:160px; aspect-ratio:1; border-radius:50%; background:#f1f9ec; font-family:var(--font2); font-size:2.5rem; font-weight:800; line-height:1; color:#508830;}
.guide_info .step span{font-size:1.25rem; font-weight:600; line-height:1.4; letter-spacing:-0.02em; color:#2d2d2d;}

@media screen and (max-width: 1200px){
.guide_info .step{flex-wrap:wrap; justify-content:center; row-gap:50px;}
.guide_info .step li{flex:0 0 26%;}
.guide_info .step li:nth-child(4)::before{display:none;}
}

@media screen and (max-width: 1024px){
.sub_board, .guide_info{padding:80px 0 120px;}
.fr-program_board{padding:80px 0 120px;}
.guide_info .item{flex-direction:column; gap:24px;}
.guide_info .item + .item{margin-top:60px;}
.guide_info h3{width:auto;}
}

@media screen and (max-width: 768px){
.sub_board, .guide_info{padding:50px 0 80px;}
.fr-program_board{padding:50px 0 80px;}
.sub_board > .cont > .tit, .guide_info .tit{gap:6px; margin-bottom:30px; font-size:28px;}
.guide_info .item{gap:16px;}
.guide_info .item + .item{margin-top:44px;}
.guide_info h3{gap:10px; font-size:20px;}
.guide_info h3::before{height:18px;}
.guide_info .desc{gap:14px; font-size:16px;}
.guide_info .num_list{gap:10px;}
.guide_info .num_list > li{padding-left:34px;}
.guide_info .num_list > li::before{width:24px; font-size:13px;}
.guide_info .dot_list{margin-top:6px;}
.guide_info .dot_list li{font-size:15px;}
.guide_info .txt{font-size:17px;}
.guide_info .note{font-size:14px;}
.guide_info .step{flex-direction:column; gap:28px;}
.guide_info .step li{flex:none; flex-direction:row; gap:16px; width:100%; text-align:left;}
.guide_info .step li + li::before, .guide_info .step li:nth-child(4)::before{display:block; left:22px; top:-20px; width:10px; border-width:2px; transform:rotate(135deg);}
.guide_info .step em{flex:none; width:56px; font-size:18px;}
.guide_info .step span{font-size:16px;}
}


/* footer */
.footer{background:#f8f8f8;}
.footer .policy{display:flex; align-items:center; gap:16px; padding:22px 0;}
.footer .policy li{display:flex; align-items:center; gap:16px;}
.footer .policy li + li::before{content:""; width:1px; aspect-ratio:1/12; background:#2d2d2d;}
.footer .policy a{font-size:1rem; font-weight:500; line-height:1.63; letter-spacing:-0.02em; color:#2d2d2d;}
.footer .policy li:nth-child(2) a{font-weight:600;}
.footer .info{display:flex; align-items:flex-start; gap:40px; padding:75px 0;}
.footer .logo{display:flex; flex:none; align-items:center; gap:18px; opacity:0.7; mix-blend-mode:luminosity;}
.footer address{display:flex; flex-direction:column; gap:10px;}
.footer .contact{display:flex; flex-wrap:wrap; gap:10px 20px;}
.footer .contact div{display:flex; align-items:center; gap:13px; font-size:1rem; font-weight:400; line-height:1.19; letter-spacing:-0.02em; color:#555;}
.footer .contact div{width:100%;}
.footer .contact dt{flex:none; font-size:1.0625rem; font-weight:600; line-height:1.18;}
.footer .copyright{font-size:1rem; font-weight:400; line-height:1.38; letter-spacing:-0.02em; color:#555;}
.footer .family{position:relative; margin-left:auto;}
.footer .family button{display:flex; justify-content:space-between; align-items:center; min-width:210px; padding:12px 19px 12px 29px; border:1px solid #60a23a; border-radius:2em; background:#fff; font-family:var(--font2); font-size:0.9375rem; font-weight:600; line-height:1.18; letter-spacing:-0.01em; color:#343434;}
.footer .family .arrow{display:flex; justify-content:center; align-items:center; gap:10px; width:24px; aspect-ratio:1; border-radius:100px; background:url("../img/ic_select.svg") no-repeat center; transition:transform .3s;}
.footer .family.on .arrow{transform:rotate(180deg);}
.footer .family ul{display:none; position:absolute; left:0; right:0; bottom:100%; z-index:5; margin-bottom:8px; padding:10px 0; border:1px solid #60a23a; border-radius:20px; background:#fff;}
.footer .family.on ul{display:block;}
.footer .family li a{display:block; padding:8px 29px; font-size:0.9375rem; font-weight:500; line-height:1.3; letter-spacing:-0.01em; color:#343434;}
.footer .family li a:hover, .footer .family li a:focus{color:#508830;}

@media screen and (max-width: 1024px){
.footer .info{flex-wrap:wrap; gap:30px;}
.footer .family{margin-left:0;}
}

@media screen and (max-width: 768px){
.footer .policy{padding:15px 0;}
.footer .policy a{font-size:14px;}
.footer .info{flex-direction:column; gap:20px; padding:30px 0 40px;}
.footer .logo_txt strong{font-size:20px;}
.footer .logo_txt em{font-size:11px;}
.footer .contact{gap:6px 12px;}
.footer .contact div{gap:8px; font-size:13px;}
.footer .contact dt{font-size:14px;}
.footer .copyright{font-size:13px;}
.footer .family button{padding:8px 14px 8px 20px; font-size:14px;}
.footer .family li a{padding:7px 20px; font-size:14px;}
}
