:root {
 --color-orange:#FAA74B;
 --color-mint:#00B3AB;
 --color-brown:#594A41;
 --color-pink:#F3ACCB;
 --color-white:#FFFFFF;
 --color-black:#000000;
 --font-pretendard:"Pretendard", sans-serif;
}
.fp-viewing-0 .top-button { opacity:0; }
main .section:not(.visual) .w1400 { height:auto; }
/* main .section:not(.visual) .box { padding-top:60px; } */

main .title { margin:0 0 60px; }
main .title * { color:var(--color-white); }
main .title p { font-size:2rem; font-weight:300; line-height:1.55; margin:20px 0 0; }

main .video-box { width:100%; padding:28.125% 0; position:relative; overflow:hidden; }
main .video-box::before,
main .video-box video,
main .video-box .play-button { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); }
main .video-box::before,
main .video-box .play-button { z-index:1; }
main .video-box::before { content:""; display:block; width:100%; height:100%; background:rgba(0, 0, 0, 0.6); transition:all 0.4s; }
main .video-box video {	width:100%;	height:100%; }
main .video-box .play-button { width:69px; height:69px; border:1px solid var(--color-white); border-radius:50%; opacity:0.5; transition:all 0.4s; display:flex; flex-direction:row; row-gap:0; column-gap:0; align-items:center; justify-content:center; }
main .video-box .play-button:hover, main .video-box .play-button.on { opacity:1; }
main .video-box.off::before { opacity:0; pointer-events:none; }
main .slide-wrap { position:relative; }

main .button-box { width:113.5714%; display:flex; flex-direction:row; row-gap:0; column-gap:0; align-items:center; justify-content:space-between; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); }
main .button-box * { transition:all 0.4s; }
main .button-box button { width:50px; height:50px; border:1px solid #d9d9d9; border-radius:50%; display:flex; align-items:center; justify-content:center; }
main .button-box button .angle-cls { stroke:#aaa; }
main .button-box button:hover { border-color:var(--color-mint); }
main .button-box button:hover .angle-cls { stroke:var(--color-mint); }

main .visual { width:100%; height:calc(var(--vh, 1vh) * 100); overflow:hidden }
main .visual .box,
main .visual .slide-box,
main .visual .contents { width:100%; height:100%; }
main .visual .box { position:relative; }
main .visual .slide-box { z-index:-1; position:absolute; top:0; left:0; right:0; }
main .visual .bg { width:100%; height:100%; background-size:cover; background-repeat:no-repeat; background-position:center center; }
main .visual .bg.bg1 { background-image:url("/img/main/visual_img01.jpg"); }
main .visual .bg.bg2 { background-image:url("/img/main/visual_img02.jpg"); }
main .visual .bg.bg3 { background-image:url("/img/main/visual_img03.jpg"); }
main .visual .contents { display:flex; flex-direction:column; row-gap:0; column-gap:0; align-items:center; justify-content:center; }
main .visual .video-box video { width:100%; height:100%; }
main .visual h2 { color:var(--color-white); text-align:center; opacity:0; }
main .visual h2 span { display:inline-block; opacity:0; transition:all 0.6s; }
main .visual h2 em { font-weight:200; }
main .visual h2 em span { transform:translateX(20px); }
main .visual h2 b { font-weight:700; }
main .visual h2 b span { transform:scale(1.12) translateY(-30px); }
main .visual h2.on { opacity:1; }
main .visual h2.on span { opacity:1; }
main .visual h2.on span.span0 { transition-delay:0s; }
main .visual h2.on span.span1 { transition-delay:0.16s; }
main .visual h2.on span.span2 { transition-delay:0.32s; }
main .visual h2.on span.span3 { transition-delay:0.48s; }
main .visual h2.on span.span4 { transition-delay:0.64s; }
main .visual h2.on span.span5 { transition-delay:0.8s; }
main .visual h2.on span.span6 { transition-delay:0.96s; }
main .visual h2.on span.span7 { transition-delay:1.12s; }
main .visual h2.on span.span8 { transition-delay:1.28s; }
main .visual h2.on span.span9 { transition-delay:1.44s; }
main .visual h2.on span.span10 { transition-delay:1.6s; }
main .visual h2.on span.span11 { transition-delay:1.76s; }
main .visual h2.on span.span12 { transition-delay:1.92s; }
main .visual h2.on span.span13 { transition-delay:2.08s; }
main .visual h2.on span.span14 { transition-delay:2.24s; }
main .visual h2.on span.span15 { transition-delay:2.4s; }
main .visual h2.on span.span16 { transition-delay:2.56s; }
main .visual h2.on span.span17 { transition-delay:2.72s; }
main .visual h2.on span.span18 { transition-delay:2.88s; }
main .visual h2.on span.span19 { transition-delay:3.04s; }
main .visual h2.on span.span20 { transition-delay:3.2s; }
main .visual h2.on em span { transform:translateX(0); }
main .visual h2.on b span { transform:scale(1) translateY(0); }
main .visual .grid-box,
main .visual .grid-box > div { width:100%; }
main .visual .grid-box { display:grid; grid-template-columns:repeat(2, 1fr); column-gap:30px; align-items:center; justify-content:center; margin:75px 0 0; }
main .visual .grid-box > div { overflow:hidden; }
main .visual .item-box { height:100%; position:relative; backdrop-filter:blur(10px); display:grid; grid-template-rows:repeat(2, 1fr); grid-template-columns:repeat(2, 1fr); gap:15px; }
main .visual .item { background:var(--color-white); transition:all 0.4s; }
main .visual .item a { padding:35px 40px; width:100%; height:100%; display:flex; flex-direction:column; row-gap:0; column-gap:0; align-items:flex-start; justify-content:space-between; }
main .visual .item h6,
main .visual .item img { transition:all 0.4s; }
main .visual .item img { filter:inherit; }
main .visual .item h6 { color:var(--color-mint); font-size:1.9rem; font-weight:500; display:flex; flex-direction:row; row-gap:0; column-gap:15px; align-items:center; justify-content:flex-start; }
main .visual .item .icon { margin-left:auto; transition:all 0.4s; }
main .visual .item:hover { background:rgba(0, 179, 171, 0.55); border-color:transparent; }
main .visual .item:hover h6 { color:#fff; }
main .visual .item:hover h6 img { transform:translateX(5px); }
main .visual .item:hover img { filter:brightness(0) invert(1); }
main .visual .item:hover .icon { opacity:1; }

main .recovery { overflow:hidden }
main .recovery .box { position:relative; }
main .recovery .title { margin:0; position:absolute; top:-10px; }
main .recovery .title * { color:#222; }
main .recovery .box { padding-top:120px; }
main .recovery .slide-wrap { display:flex; }
main .recovery .swiper-pagination { display:flex; margin:0 0 60px; }
main .recovery .swiper-pagination li { position:relative; }
main .recovery .swiper-pagination li:not(:last-child) { margin-right:40px; }
main .recovery .swiper-pagination li:not(:last-child)::after { content:""; display:inline-block; width:3px; height:3px; background:#bbb; border-radius:50%; position:absolute; right:-20px; top:50%; transform:translateY(-50%); }
main .recovery .swiper-pagination li button { color:#999; font-size:1.6rem; line-height:1.3; font-weight:500; position:relative; }
main .recovery .swiper-pagination li button::after { content:""; display:block; width:0; height:2px; background:var(--color-mint); transition:all 0.4s; position:absolute; top:calc(100% + 10px); left:0; }
main .recovery .swiper-pagination li.swiper-pagination-bullet-active button { color:#333; }
main .recovery .swiper-pagination li.swiper-pagination-bullet-active button::after { width:100%; }
main .recovery .img-box { width:44.5%; position:relative; }
main .recovery .img-box .point-bg { position:absolute; }
main .recovery .img-box .img { max-width:100%; position:relative; opacity:1; transition:all 0.6s; }
main .recovery .img-box .img img { max-width:100%; }
main .recovery .text-box { width:calc(100% - 44.5%); padding-left:7%; }
main .recovery .text-box h2,
main .recovery .text-box .p-box,
main .recovery .text-box .more,
main .recovery .text-box .description { opacity:0; }
main .recovery .text-box h2,
main .recovery .text-box .p-box { transform:translateX(60px); }
main .recovery .text-box h2,
main .recovery .text-box p span { color:#111; }
main .recovery .text-box h2 { letter-spacing:-0.03em; }
main .recovery .text-box .p-box { margin:45px 0 60px; display:flex; flex-direction:column; row-gap:15px; column-gap:0; align-items:flex-start; justify-content:flex-start; }
main .recovery .text-box p { display:flex; flex-direction:row; row-gap:0; column-gap:20px; align-items:center; justify-content:flex-start; }
main .recovery .text-box p img { width:20px; height:20px; }
main .recovery .text-box p span { font-size:1.9rem; font-weight:300; }
main .recovery .text-box .description { font-size:1.9rem; color:#777; margin-top:25px; line-height:1.7;  transform:translateX(70px); }
main .recovery .text-box .navtxt { display:none; }
main .recovery .text-box .more { background:#151515; padding:0; justify-content:center; gap:10px; }
main .recovery .text-box .more img { width:14px; filter:brightness(0) invert(1); }
main .recovery .text-box .more:hover { padding:0; }
main .recovery .text-box .swiper-slide-active h2,
main .recovery .text-box .swiper-slide-active .p-box,
main .recovery .text-box .swiper-slide-active .more,
main .recovery .text-box .swiper-slide-active .description { opacity:1; transition:all 0.6s; }
main .recovery .text-box .swiper-slide-active h2,
main .recovery .text-box .swiper-slide-active .p-box,
main .recovery .text-box .swiper-slide-active .description { transform:translateX(0); }
main .recovery .text-box .swiper-slide-active .p-box { transition-delay:0.2s; }
main .recovery .text-box .swiper-slide-active .more { transition-delay:0.4s; }

main .recovery-new .box { padding-top:0; }
main .recovery-new .swiper-pagination { position:absolute; z-index:2; }
main .recovery-new .swiper-pagination li:not(:last-child) { margin-right:60px; }
main .recovery-new .swiper-pagination li:not(:last-child)::after { right:-30px; }
main .recovery-new .recovery-box { position:relative; display:flex; align-items:center; justify-content:center; }
main .recovery-new .recovery-box::before { content:""; display:block; padding-top:44.6%; }
main .recovery-new .recovery-box .slide-wrap { position:absolute; left:0; top:0; width:100%; height:100%; }
main .recovery-new .img-box { width:38%; top:100px; }
main .recovery-new .img-box .swiper-slide { position:relative; }
main .recovery-new .img-box .img { position:relative; width:100%; opacity:1; transition:all 0.6s; }
main .recovery-new .img-box .img img { width:100%; height:100%; object-fit:cover; -o-object-fit:cover; }
main .recovery-new .text-box { position:relative; width:calc(100% - 38%); }
main .recovery-new .text-box .more { position:absolute; bottom:0; left:0; }
main .recovery-new .text-box .text { padding-top:100px; }
main .recovery-new .text-box .p-box { margin:45px 0 0; }

main .participation { background:url("/img/main/bg_participation.jpg") no-repeat center/cover; overflow:hidden }
main .participation .box { padding-top:60px; }
main .participation .title { margin:0; }
main .participation .title * { color:#222; }
main .participation .boxCont { padding-top:50px; display:flex; }
main .participation .event-box { width:calc(100% - 465px); padding-right:45px; }
main .participation .schedule-box { width:465px; background:#fff; padding:30px 40px; }
main .participation .tit-box { display:flex; justify-content:space-between; }
main .participation .tit-box h4 { color:#444; font-size:2.4rem; font-weight:600; line-height:1.3; }
main .participation .tit-box .btn-box { display:flex; gap:0 36px; position:relative; padding-top:2px; }
main .participation .tit-box .btn-box::before { content:""; display:block; position:absolute; left:50%; top:50%; transform:translate(0, -50%); background:#cecece; width:1px; height:15px; }
main .participation .slide-box { position:relative; width:100%; overflow:hidden; margin-top:30px; padding-bottom:35px; }
main .participation .swiper-slide { background:#fff; }
main .participation .swiper-slide .img { position:relative; overflow:hidden }
main .participation .swiper-slide .img::before { content:""; display:block; padding-bottom:54.5%; }
main .participation .swiper-slide .img img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; -o-object-fit:cover; }
main .participation .swiper-slide .text { padding:40px; }
main .participation .swiper-slide .text dt { color:var(--color-mint); font-size:1.9rem; font-weight:600; line-height:1.3; }
main .participation .swiper-slide .text dd { margin:15px 0 20px; color:#333; font-size:1.8rem; font-weight:500; line-height:1.6; min-height:58px; -webkit-line-clamp:2; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; }
main .participation .swiper-slide .text .date { color:#ccc; font-size:1.7rem; font-weight:500; line-height:1.3; }
main .participation .swiper-pagination { position:absolute; bottom:0; left:0; background:rgba(255, 255, 255, 0.2); height:5px; width:100%; border-radius:5px; overflow:hidden }
main .participation .swiper-pagination .swiper-pagination-progressbar-fill { position:absolute; top:0; left:0; background:var(--color-mint); transform-origin:left top; width:100%; height:100%; border-radius:5px; }
main .participation .info { display:flex; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid #efefef; }
main .participation .info h4 { color:#333; font-size:2.6rem; font-weight:700; line-height:1.3; }
main .participation .info a { transition:all 0.4s; position:relative; display:inline-block; color:#bbb; font-size:1.7rem; font-weight:500; line-height:1.3; padding-right:25px; }
main .participation .info a::before { transition:all 0.4s; content:""; display:block; position:absolute; right:0; top:50%; transform:translate(0, -50%); background:#bbb; width:13px; height:2px; }
main .participation .info a::after { transition:all 0.4s; content:""; display:block; position:absolute; right:5.5px; top:50%; transform:translate(0, -50%); background:#bbb; width:2px; height:13px; }
main .participation .info a:hover { color:var(--color-orange); }
main .participation .info a:hover::before,
main .participation .info a:hover::after { background:var(--color-orange); transform:translate(0, -50%) rotate(180deg); }
main .participation .calendar .top { margin-top:30px; display:flex; align-items:center; justify-content:center; gap:0 25px; }
main .participation .calendar .top strong { color:#333; font-size:2.1rem; font-weight:600; line-height:1.3; }
main .participation .calendar .top strong span { color:var(--color-mint); }
main .participation .calendar .calendar-body { margin-top:29px; }
main .participation .calendar .calendar-body { text-align:center; }
main .participation .calendar .calendar-body th { color:#333; font-size:1.6rem; font-weight:600; line-height:1.3; height:40px; }
main .participation .calendar .calendar-body tr:first-child th:first-child { color:#e92d2d; }
main .participation .calendar .calendar-body td { color:#333; font-size:1.6rem; font-weight:300; line-height:1.3; height:40px; }
main .participation .calendar .calendar-body td span { display:flex; align-items:center; justify-content:center; height:100%; width:100%; font-weight:300; }
main .participation .calendar .calendar-body td span.grey { color:#ccc; }
main .participation .calendar .calendar-body td span.today { border-radius:40px; width:40px; height:40px; margin:0 auto; background:var(--color-mint); color:#fff; font-weight:400; }
main .participation .today-schedule { margin-top:20px; font-size:1.7rem; line-height:1.3; background:#f9f9f9; } 
main .participation .today-schedule dl { display:flex; align-items:center; gap:0 20px; padding:14px 20px; }
main .participation .today-schedule dt { position:relative; width:68px; display:flex; align-items:center; gap:0 10px; color:#333; font-weight:500; }
main .participation .today-schedule dt::before { content:""; display:block; position:absolute; right:-10px; top:50%; transform:translate(0, -50%); background:#ccc; width:1px; height:10px; }
main .participation .today-schedule dd { width:calc(100% - 68px - 20px); }
main .participation .today-schedule dd span { color:#888; font-weight:300; }
main .participation .today-schedule dd ul { display:flex; gap:6px 10px; padding-top:4px; }
main .participation .today-schedule dd ul li { position:relative; }
main .participation .today-schedule dd ul li span.sbox { cursor:pointer; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:30px; color:#fff; font-size:1.4rem; font-weight:500; line-height:1.1; }
main .participation .today-schedule dd ul li span.orange { background:var(--color-orange); }
main .participation .today-schedule dd ul li span.mint,
main .participation .today-schedule dd ul li span.mint img { width:34px; height:34px; }
main .participation .today-schedule dd ul li span.grey { background:#bababa; }
main .participation .today-schedule dd ul li .p-box { position:absolute; left:0; top:44px; white-space:nowrap; display:flex; align-items:center; gap:0 20px; padding:14px 18px; border:1px solid rgba(0, 179, 171, 0.30); font-size:16px; color:#888; font-weight:300; background:#fff; display:none }
main .participation .today-schedule dd ul li .p-box::before { content:""; display:block; position:absolute; top:-11px; left:8px; width:16px; height:11px; background:url("/img/main/schedule_arr.png") no-repeat center/cover; }
main .participation .today-schedule dd ul li .p-box strong { position:relative; color:#333; font-weight:500; display:inline-block; margin-right:15px; }
main .participation .today-schedule dd ul li .p-box strong::before { content:""; display:block; position:absolute; right:-10px; top:50%; transform:translate(0, -50%); background:#ccc; width:1px; height:10px; }


main .participation .board-wrap { width:calc(100% - 465px); padding-right:45px; display:flex; gap:25px; }
main .participation .board-wrap > div { width:calc((100% - 25px) / 2); display:flex; flex-direction: column; justify-content: flex-start; }
main .participation .event .e-box,
main .participation .youth .y-box { margin-top:30px; padding:0; height:calc(100% - 62px); display:flex; flex-direction: column; justify-content: flex-start; }
main .participation .btn-more { margin-top:5px; }
main .participation .btn-more a { display:flex; align-items:center; gap:10px; color:#999; font-size:1.8rem; font-weight:600; line-height:1.3; }
main .participation .event .e-box { background:#fff; }
main .participation .event .e-box .img { position:relative; overflow:hidden }
main .participation .event .e-box .img::before { content:""; display:block; padding-bottom:59.6%; }
main .participation .event .e-box .img img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; -o-object-fit:cover; }
main .participation .event .e-box .text { padding:40px; }
main .participation .event .e-box .text dt { color:var(--color-mint); font-size:1.9rem; font-weight:600; line-height:1.3; }
main .participation .event .e-box .text dd { margin:15px 0 20px; color:#333; font-size:1.8rem; font-weight:500; line-height:1.6; min-height:58px; -webkit-line-clamp:2; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; }
main .participation .event .e-box .text .date { color:#ccc; font-size:1.7rem; font-weight:500; line-height:1.3; }
main .participation .youth { overflow:hidden; }
main .participation .youth .y-box { position:relative; }
main .participation .youth .y-box a { position:absolute; top:0; left:0; display:block; width:100%; height:100%; }
main .participation .youth .y-box figure { position:relative; overflow:hidden; width:100%; height:100%;}
main .participation .youth .y-box figure img {  width:100%; height:100%; object-fit:cover; -o-object-fit:cover; }