@charset "utf-8";
/* ============================================================
   희망이음 재해구호협회 — demo main page
   ============================================================ */

:root{
  --red:#e8340c;
  --red-d:#cc2714;
  --navy:#222a56;
  --beige:#f7eee4;
  --ink:#1b1b1b;
  --gray:#767676;
  --line:#e5e5e5;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color:var(--ink);font-size:16px;line-height:1.5;letter-spacing:-.025em;background:#fff;
  overflow-x:hidden;word-break:keep-all;
}
h1,h2,h3,p,ul,ol,li,dl,dt,dd,figure{margin:0;padding:0;}
ul,ol{list-style:none;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;vertical-align:top;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;letter-spacing:inherit;}
input{font:inherit;letter-spacing:inherit;}
svg{display:block;}
strong,b,em{font-style:normal;}

.blind{position:absolute !important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.contains{width:100%;max-width:1400px;margin:0 auto;padding:0 30px;}
.skip-nav a{position:absolute;left:0;top:-100px;z-index:999;background:var(--red);color:#fff;padding:10px 20px;}
.skip-nav a:focus{top:0;}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.7,.3,1);}
.reveal.on{opacity:1;transform:none;}

/* ---------- 공용 버튼 (원형 확장 모션) ---------- */
.btn_motion{position:relative;display:inline-flex;align-items:center;gap:14px;border:1px solid #d6d1cb;border-radius:40px;
  padding:16px 26px;font-size:17px;font-weight:700;color:var(--ink);background:#fff;overflow:hidden;transition:color .35s,border-color .35s;}
.btn_motion .text{position:relative;z-index:2;white-space:nowrap;}
.btn_motion .circle{position:relative;z-index:2;width:12px;height:12px;border-radius:50%;background:var(--red);flex:0 0 12px;transition:transform .45s cubic-bezier(.4,0,.2,1),background .3s;}
.btn_motion:hover{color:#fff;border-color:var(--red);}
.btn_motion:hover .circle{transform:scale(34);}
.btn_motion.bg_point{background:var(--red);color:#fff;border-color:var(--red);}
.btn_motion.bg_point .circle{background:#fff;}
.btn_motion.bg_point:hover{color:var(--red);}
.btn_motion.sm{padding:11px 18px;font-size:14px;gap:10px;}
.btn_motion.sm .circle{width:9px;height:9px;flex:0 0 9px;}

/* ============================================================
   상단 알림 띠
   ============================================================ */
.top_notice{background:var(--beige);height:77px;display:flex;align-items:center;}
.top_notice.hide{display:none;}
.top_notice .contains{display:flex;align-items:center;justify-content:center;position:relative;}
.notice_link{display:flex;align-items:center;gap:14px;}
.notice_link .siren{display:block;}
.notice_link em{font-size:15px;color:#6b635c;font-weight:600;}
.notice_link .divider{width:1px;height:16px;background:#c9c0b6;}
.notice_link strong{font-size:19px;font-weight:700;color:#3a332d;}
.notice_link strong b{color:var(--red);font-weight:800;}
.notice_close{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:#6b635c;width:34px;height:34px;display:flex;align-items:center;justify-content:center;}
.notice_close:hover{color:var(--red);}

/* ============================================================
   헤더
   ============================================================ */
#header{position:sticky;top:0;z-index:120;background:#fff;}
#header.scrolled{box-shadow:0 2px 14px rgba(0,0,0,.07);}
.head_inner{max-width:1440px;margin:0 auto;height:77px;display:flex;align-items:center;padding-left:30px;}
.logo{flex:0 0 auto;margin-right:56px;}
.logo a{display:block;text-align:center;}
.logo_mark{display:block;width:62px;height:23px;margin:0 auto 2px;}
.logo_mark svg{width:62px;height:23px;}
.logo_txt{display:block;font-size:21px;font-weight:800;color:#1b1b1b;letter-spacing:-.06em;line-height:1;}

#gnb{flex:1 1 auto;}
.gnb_list{display:flex;gap:46px;}
.gnb_link{display:block;font-size:18px;font-weight:700;color:#232323;padding:26px 2px;position:relative;white-space:nowrap;}
.gnb_link::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:3px;background:var(--red);transform:scaleX(0);transition:transform .3s;}
.gnb_item.on .gnb_link::after,.gnb_link:hover::after{transform:scaleX(1);}
.gnb_item.on .gnb_link,.gnb_link:hover{color:var(--red);}

.head_util{display:flex;align-items:center;gap:8px;flex:0 0 auto;height:100%;}
.util_ico{width:42px;height:42px;border-radius:50%;background:#f4f4f4;color:#2b2b2b;display:flex;align-items:center;justify-content:center;transition:.25s;}
.util_ico:hover{background:var(--navy);color:#fff;}
.btn_donate{display:flex;align-items:center;justify-content:center;width:152px;height:77px;margin-left:14px;background:var(--red);color:#fff;font-size:19px;font-weight:800;letter-spacing:-.04em;}
.btn_donate:hover{background:var(--red-d);}
.btn_all{width:74px;height:77px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;}
.btn_all span{display:block;height:2px;background:#1b1b1b;border-radius:2px;transition:.25s;}
.btn_all span:nth-child(1){width:26px;}
.btn_all span:nth-child(2){width:26px;background:var(--red);}
.btn_all span:nth-child(3){width:18px;align-self:flex-end;margin-right:24px;}

/* 메가메뉴 */
.mega{position:absolute;left:0;top:100%;width:100%;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 16px 28px rgba(0,0,0,.07);max-height:0;overflow:hidden;transition:max-height .35s ease;}
.mega.open{max-height:420px;}
.mega_inner{max-width:1440px;margin:0 auto;padding:0 30px;}
.mega_panel{display:none;padding:40px 0 48px;}
.mega_panel.on{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.mega_col strong{display:block;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:14px;}
.mega_col li a{display:block;font-size:15px;color:#555;padding:6px 0;}
.mega_col li a:hover{color:var(--red);font-weight:700;}

/* 모바일 메뉴 */
.mo_menu{position:fixed;top:0;right:0;width:min(340px,86vw);height:100%;background:#fff;z-index:200;
  transform:translateX(105%);visibility:hidden;transition:transform .35s cubic-bezier(.22,.7,.3,1);overflow-y:auto;box-shadow:-6px 0 24px rgba(0,0,0,.14);}
.mo_menu.open{transform:none;visibility:visible;}
.mo_menu_head{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--red);color:#fff;font-size:18px;font-weight:800;}
.mo_menu_body{padding:6px 0 60px;}
.mo_d1{border-bottom:1px solid var(--line);}
.mo_d1 > button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;font-size:17px;font-weight:700;text-align:left;}
.mo_d1 > button i{width:11px;height:11px;border-right:2px solid #999;border-bottom:2px solid #999;transform:rotate(45deg) translate(-3px,-3px);transition:.25s;}
.mo_d1.open > button{color:var(--red);}
.mo_d1.open > button i{transform:rotate(-135deg) translate(-3px,-3px);border-color:var(--red);}
.mo_d2{display:none;padding:6px 0 14px;background:#faf7f4;}
.mo_d1.open .mo_d2{display:block;}
.mo_d2 a{display:block;padding:8px 30px;font-size:15px;color:#555;}
.dim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.3s;z-index:150;}
.dim.on{opacity:1;visibility:visible;}

/* ============================================================
   메인 비주얼
   ============================================================ */
.main_visual{position:relative;height:876px;overflow:hidden;background:var(--beige);}
.mv_track{position:relative;height:100%;}
.mv_slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease;}
.mv_slide.on{opacity:1;visibility:visible;}
.mv_slide[data-theme="paper"]{background:var(--beige);}
.mv_slide[data-theme="navy"]{background:#222a56;}
.mv_bg{position:absolute;right:0;top:0;width:66%;height:100%;overflow:hidden;}
.mv_bg img{width:100%;height:100%;object-fit:cover;}
.mv_bg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:36%;z-index:2;
  background:linear-gradient(90deg,var(--beige) 8%,rgba(247,238,228,.55) 55%,rgba(247,238,228,0) 100%);}
.mv_slide[data-theme="navy"] .mv_bg{width:100%;}
.mv_slide[data-theme="navy"] .mv_bg::before{display:none;}
.mv_illust svg{width:100%;height:100%;}
.main_visual .contains{position:relative;height:100%;display:flex;align-items:center;z-index:5;}
.mv_text{max-width:620px;}
.mv_tit{display:block;font-size:76px;font-weight:800;line-height:1.16;letter-spacing:-.05em;color:#1b1b1b;}
.mv_desc{margin-top:26px;font-size:20px;line-height:1.55;color:#4b4b4b;}
.mv_text .btn_motion{margin-top:56px;}
.mv_slide[data-theme="navy"] .mv_tit,.mv_slide[data-theme="navy"] .mv_desc{color:#fff;}
.mv_slide[data-theme="navy"] .btn_motion{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff;}
.mv_slide[data-theme="navy"] .btn_motion:hover{color:#fff;}

.mv_pager{position:absolute;left:50%;transform:translateX(-50%);bottom:34px;width:100%;max-width:1400px;padding:0 30px;display:flex;gap:10px;z-index:8;}
.mv_pager button{width:26px;height:26px;border-radius:50%;border:1px solid transparent;display:flex;align-items:center;justify-content:center;}
.mv_pager button::before{content:"";width:8px;height:8px;border-radius:50%;background:#cfc7bd;transition:.25s;}
.mv_pager button.on{border-color:var(--red);}
.mv_pager button.on::before{background:var(--red);}
.mv_nav{position:absolute;right:calc((100% - 1400px)/2 + 30px);bottom:26px;display:flex;z-index:8;}
.mv_nav button{width:60px;height:60px;background:#fff;color:var(--red);display:flex;align-items:center;justify-content:center;}
.mv_nav .mv_prev{border-radius:30px 0 0 30px;}
.mv_nav .mv_next{border-radius:0 30px 30px 0;margin-left:-14px;}
.mv_nav button:hover{background:var(--red);color:#fff;}

/* ============================================================
   실시간 주요소식
   ============================================================ */
.main_ticker{border-bottom:1px solid var(--line);background:#fff;}
.main_ticker .contains{display:flex;align-items:center;height:88px;gap:24px;}
.tk_tit{font-size:20px;font-weight:800;color:var(--red);white-space:nowrap;letter-spacing:-.045em;}
.tk_bar{width:1px;height:20px;background:#ddd;}
.tk_view{flex:1 1 auto;height:30px;overflow:hidden;}
.tk_list{transition:transform .5s cubic-bezier(.22,.7,.3,1);}
.tk_list li{height:30px;display:flex;align-items:center;}
.tk_list a{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;}
.tk_list .tx{font-size:17px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tk_list a:hover .tx{color:var(--red);text-decoration:underline;}
.tk_list .date{font-size:16px;color:#8a8a8a;flex:0 0 auto;}
.tk_nav{display:flex;flex-direction:column;gap:2px;color:#9a9a9a;}
.tk_nav button:hover{color:var(--red);}

/* ============================================================
   정직하고 투명한
   ============================================================ */
.main_panel{position:relative;}
.main_report{padding:150px 0 130px;overflow:hidden;}
.arc_deco{position:absolute;right:0;top:40px;width:520px;pointer-events:none;}
.arc_deco svg{width:100%;height:auto;}
.main_title_box{position:relative;z-index:2;}
.main_report .main_title_box{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.main_title_box .left_box p,.main_title_box > p{font-size:60px;font-weight:400;line-height:1.16;letter-spacing:-.05em;color:#1b1b1b;}
.main_title_box .left_box p b,.main_title_box > p b{font-weight:800;}
.main_title_box .btn_box{display:flex;gap:10px;}
.main_desc{margin-top:22px;font-size:20px;color:#5c5c5c;position:relative;z-index:2;}

.report_list{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:100px;text-align:center;position:relative;z-index:2;}
.report_list li{padding:0 6px;}
.rp_ico{display:block;width:70px;height:70px;margin:0 auto 22px;}
.rp_ico svg{width:70px;height:70px;}
.counter{display:block;font-size:52px;font-weight:800;color:var(--red);letter-spacing:-.04em;line-height:1;}
.rp_tit{margin-top:14px;font-size:19px;font-weight:700;color:#1b1b1b;}
.rp_desc{margin-top:6px;font-size:16px;color:#7d7d7d;}

/* ============================================================
   희망의 불을 밝히는
   ============================================================ */
.main_hope{padding:110px 0 130px;background:#fff;}
.banner_wrap{max-width:1400px;margin:60px auto 0;padding:0 30px;}
.hope_viewport{overflow:hidden;}
.hope_list{display:flex;gap:10px;transition:transform .7s cubic-bezier(.22,.7,.3,1);}
.hope_card{flex:0 0 384px;width:384px;transition:flex-basis .6s cubic-bezier(.22,.7,.3,1),width .6s cubic-bezier(.22,.7,.3,1);}
.hope_card.on{flex-basis:592px;width:592px;}
.hope_card a{position:relative;display:block;height:621px;border-radius:14px;overflow:hidden;background:#333;}
.hc_bg{position:absolute;inset:0;}
.hc_bg img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.hope_card a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,25,.15) 0%,rgba(15,15,25,.15) 40%,rgba(15,15,25,.82) 100%);}
.hope_card a:hover .hc_bg img{transform:scale(1.06);}
.hc_text{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 32px 36px;color:#fff;display:block;}
.hc_text .num{display:block;font-size:17px;font-weight:800;color:#ffd0c6;margin-bottom:12px;}
.hc_text .tit{display:block;font-size:28px;font-weight:800;line-height:1.3;letter-spacing:-.045em;}
.hc_text .desc{display:block;margin-top:12px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.86);}
.hc_text .cate{display:inline-block;margin-top:18px;font-size:14px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:20px;padding:6px 14px;}
.hc_text .btn_motion{display:none;margin-top:20px;background:#fff;color:#1b1b1b;border-color:#fff;}
.hope_card.on .hc_text .btn_motion{display:inline-flex;}
.hope_card.on .hc_text .cate{display:none;}

.hope_ctrl{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;}
.hope_pager{display:flex;gap:10px;}
.hope_pager button{width:26px;height:26px;border-radius:50%;border:1px solid transparent;display:flex;align-items:center;justify-content:center;}
.hope_pager button::before{content:"";width:8px;height:8px;border-radius:50%;background:#d6d6d6;transition:.25s;}
.hope_pager button.on{border-color:var(--red);}
.hope_pager button.on::before{background:var(--red);}
.hope_nav,.story_nav{display:flex;}
.hope_nav button,.story_nav button,.news_nav button{width:58px;height:58px;background:#fff;border:1px solid #e3e3e3;color:var(--red);display:flex;align-items:center;justify-content:center;}
.hope_nav button:first-child,.story_nav button:first-child,.news_nav button:first-child{border-radius:29px 0 0 29px;}
.hope_nav button:last-child,.story_nav button:last-child,.news_nav button:last-child{border-radius:0 29px 29px 0;margin-left:-12px;}
.hope_nav button:hover,.story_nav button:hover,.news_nav button:hover{background:var(--red);color:#fff;border-color:var(--red);}

/* ============================================================
   재난에서 희망으로
   ============================================================ */
.intro_world{position:relative;background:var(--navy);color:#fff;padding:150px 0 0;overflow:hidden;}
.world_title_box{text-align:center;}
.world_tit{font-size:76px;font-weight:800;letter-spacing:-.05em;line-height:1.2;}
.world_tit b{color:#ff6a4d;font-weight:800;}
.world_tit .cursor{display:inline-block;color:#ff6a4d;animation:blink 1s steps(1) infinite;font-weight:400;}
@keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.word_desc_wrap{margin-top:34px;}
.world_desc{font-size:21px;line-height:1.65;color:rgba(255,255,255,.82);}
.word_desc_wrap .btn_box{margin-top:36px;}

.marquee_conts{margin-top:70px;overflow:hidden;}
.marquee_track{display:flex;width:max-content;animation:marq 26s linear infinite;}
@keyframes marq{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.marquee_set{display:flex;align-items:center;}
.marquee_set li{font-size:220px;font-weight:800;line-height:1;letter-spacing:.02em;color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.34);padding:0 20px;}
.marquee_set li:nth-child(4n){color:rgba(255,255,255,.1);}

/* ============================================================
   희망스토리
   ============================================================ */
.main_story{padding:140px 0 130px;background:#fff;}
.story_box{position:relative;margin-top:60px;}
.story_list{position:relative;min-height:760px;}
.story_slide{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden;transition:opacity .7s ease;}
.story_slide.on{opacity:1;visibility:visible;position:relative;}
.story_slide a{display:block;}
.st_inner{display:block;padding-bottom:34px;}
.st_num{display:block;font-size:20px;font-weight:800;color:var(--red);margin-bottom:14px;}
.st_tit{display:block;font-size:30px;font-weight:800;letter-spacing:-.045em;line-height:1.4;color:#1b1b1b;}
.st_desc{display:block;margin-top:16px;font-size:18px;color:#6d6d6d;line-height:1.6;}
.main_more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:16px;font-weight:700;color:#1b1b1b;
  border-bottom:2px solid #1b1b1b;padding-bottom:4px;}
.main_more .dot{width:5px;height:5px;border-radius:50%;background:var(--red);}
.story_slide a:hover .main_more{color:var(--red);border-color:var(--red);}
.st_thumb{display:block;width:100%;height:520px;border-radius:16px;overflow:hidden;background:#eee;}
.st_thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.story_slide a:hover .st_thumb img{transform:scale(1.04);}
.st_graphic svg{width:100%;height:100%;}
.story_ctrl{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:44px;}
.story_pager{display:flex;gap:10px;}
.story_pager button{width:26px;height:26px;border-radius:50%;border:1px solid transparent;display:flex;align-items:center;justify-content:center;}
.story_pager button::before{content:"";width:8px;height:8px;border-radius:50%;background:#d6d6d6;transition:.25s;}
.story_pager button.on{border-color:var(--red);}
.story_pager button.on::before{background:var(--red);}

/* ============================================================
   소식
   ============================================================ */
.main_news{padding:0 0 130px;background:#fff;}
.news_head{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.news_tit{font-size:44px;font-weight:800;letter-spacing:-.05em;}
.news_more{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:#4b4b4b;}
.news_more:hover{color:var(--red);}
.news_viewport{overflow:hidden;margin-top:44px;}
.news_list{display:flex;gap:20px;transition:transform .6s cubic-bezier(.22,.7,.3,1);}
.news_card{flex:0 0 calc((100% - 60px)/4);}
.news_card a{display:flex;flex-direction:column;justify-content:space-between;height:237px;border:1px solid #e6e6e6;border-radius:14px;padding:26px 26px 24px;transition:.3s;}
.news_card a:hover{border-color:var(--red);box-shadow:0 10px 26px rgba(232,52,12,.1);transform:translateY(-4px);}
.nc_cate{display:inline-block;align-self:flex-start;font-size:13px;font-weight:700;color:var(--red);background:#fdece7;border-radius:20px;padding:5px 12px;}
.nc_tit{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  margin-top:16px;font-size:18px;font-weight:700;line-height:1.5;color:#1b1b1b;flex:1 1 auto;}
.nc_date{display:block;margin-top:14px;font-size:15px;color:#9a9a9a;}
.news_nav{display:flex;justify-content:flex-end;margin-top:34px;}

/* ============================================================
   뉴스레터
   ============================================================ */
.newsletter{background:var(--red);padding:38px 0;}
.newsletter .contains{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.nl_text strong{display:block;font-size:26px;font-weight:800;color:#fff;letter-spacing:-.045em;}
.nl_text p{margin-top:10px;font-size:15px;color:rgba(255,255,255,.85);}
.nl_form{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.nl_form input{width:240px;height:66px;border:0;border-radius:40px;background:rgba(0,0,0,.14);color:#fff;padding:0 28px;outline:none;}
.nl_form input::placeholder{color:rgba(255,255,255,.72);}
.nl_form input:focus{background:rgba(0,0,0,.24);}
.nl_form button{height:66px;padding:0 42px;border-radius:40px;background:#fff;color:var(--red);font-size:19px;font-weight:800;letter-spacing:-.04em;}
.nl_form button:hover{background:var(--navy);color:#fff;}

/* ============================================================
   푸터
   ============================================================ */
#footer{background:#fff;}
.foot_policy{border-bottom:1px solid var(--line);background:#fafafa;}
.foot_policy ul{display:flex;flex-wrap:wrap;gap:34px;height:62px;align-items:center;}
.foot_policy a{font-size:15px;color:#666;}
.foot_policy a.strong{color:#1b1b1b;font-weight:700;}
.foot_policy a:hover{color:var(--red);text-decoration:underline;}
.foot_bottom{padding:42px 0 56px;}
.foot_bottom .contains{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.foot_info dl{display:flex;gap:16px;margin-bottom:6px;}
.foot_info dt{flex:0 0 106px;font-size:15px;color:#9a9a9a;}
.foot_info dd{font-size:15px;color:#3f3f3f;}
.foot_info .copy{margin-top:18px;font-size:14px;color:#9a9a9a;}
.foot_info .disclaimer{margin-top:5px;font-size:12px;color:#c2c2c2;}
.foot_side{text-align:right;}
.call_tit{font-size:15px;font-weight:700;color:#4b4b4b;}
.call_num{font-size:38px;font-weight:800;letter-spacing:-.04em;line-height:1.2;margin-top:2px;}
.foot_sns{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
.foot_sns a{width:38px;height:38px;border-radius:50%;background:#1b1b1b;color:#fff;display:flex;align-items:center;justify-content:center;}
.foot_sns a:hover{background:var(--red);}
.txt_ico{font-size:11px;font-weight:800;letter-spacing:-.05em;}

.to_top{position:fixed;right:28px;bottom:28px;width:50px;height:50px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;z-index:110;opacity:0;visibility:hidden;transition:.3s;box-shadow:0 6px 16px rgba(0,0,0,.22);}
.to_top.on{opacity:1;visibility:visible;}
.to_top:hover{background:var(--red);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1400px){
  .mv_nav{right:30px;}
}
@media (max-width:1280px){
  .gnb_list{gap:26px;}
  .gnb_link{font-size:17px;}
  .logo{margin-right:30px;}
  .mv_tit{font-size:60px;}
  .world_tit{font-size:58px;}
  .marquee_set li{font-size:160px;}
  .main_title_box .left_box p,.main_title_box > p{font-size:48px;}
  .hope_card{flex:0 0 320px;width:320px;}
  .hope_card.on{flex-basis:480px;width:480px;}
}
@media (max-width:1024px){
  #gnb{display:none;}
  .mega{display:none;}
  .head_inner{justify-content:space-between;}
  .head_util{margin-left:auto;}
  .top_notice{height:62px;}
  .notice_link em{display:none;}
  .notice_link .divider{display:none;}
  .notice_link strong{font-size:16px;}
  .main_visual{height:680px;}
  .mv_bg{width:100%;}
  .mv_bg::before{width:72%;background:linear-gradient(90deg,var(--beige) 26%,rgba(247,238,228,.72) 62%,rgba(247,238,228,.1) 100%);}
  .mv_tit{font-size:48px;}
  .mv_desc{font-size:18px;}
  .main_report{padding:90px 0 80px;}
  .arc_deco{width:320px;opacity:.7;}
  .report_list{grid-template-columns:repeat(3,1fr);gap:40px 20px;margin-top:60px;}
  .main_hope{padding:80px 0 90px;}
  .hope_card{flex:0 0 280px;width:280px;}
  .hope_card.on{flex-basis:380px;width:380px;}
  .hope_card a{height:500px;}
  .intro_world{padding:100px 0 0;}
  .world_tit{font-size:44px;}
  .world_desc{font-size:18px;}
  .marquee_set li{font-size:110px;padding:0 12px;}
  .main_story{padding:90px 0;}
  .story_list{min-height:0;}
  .st_thumb{height:400px;}
  .st_tit{font-size:24px;}
  .news_tit{font-size:34px;}
  .news_card{flex:0 0 calc((100% - 40px)/3);}
  .main_news{padding-bottom:90px;}
  .nl_form input{width:190px;height:58px;}
  .nl_form button{height:58px;padding:0 28px;font-size:17px;}
}
@media (max-width:768px){
  .contains{padding:0 20px;}
  .head_inner{padding-left:20px;height:66px;}
  .logo_mark,.logo_mark svg{width:52px;height:19px;}
  .logo_txt{font-size:18px;}
  .btn_donate{width:110px;height:66px;font-size:16px;margin-left:8px;}
  .btn_all{width:58px;height:66px;}
  .util_ico{width:36px;height:36px;}
  .util_ico:nth-child(1),.util_ico:nth-child(2){display:none;}
  .main_visual{height:640px;}
  .main_visual .contains{align-items:flex-start;padding-top:70px;}
  .mv_bg::before{width:100%;background:linear-gradient(180deg,rgba(247,238,228,.96) 20%,rgba(247,238,228,.72) 48%,rgba(247,238,228,0) 86%);}
  .mv_slide[data-theme="navy"] .mv_bg::before{display:none;}
  .mv_tit{font-size:38px;}
  .mv_desc{font-size:16px;margin-top:18px;}
  .mv_text .btn_motion{margin-top:30px;padding:13px 22px;font-size:15px;}
  .mv_pager{bottom:26px;padding:0 20px;}
  .mv_nav{right:20px;bottom:18px;}
  .mv_nav button{width:48px;height:48px;}
  .main_ticker .contains{height:auto;padding-top:18px;padding-bottom:18px;flex-wrap:wrap;gap:8px 14px;}
  .tk_tit{font-size:17px;flex:1 1 100%;}
  .tk_bar{display:none;}
  .tk_view{flex:1 1 auto;height:52px;order:2;}
  .tk_nav{flex-direction:row;gap:6px;order:3;margin-left:auto;}
  .tk_list li{height:52px;}
  .tk_list a{flex-direction:column;align-items:flex-start;gap:4px;justify-content:center;}
  .tk_list .tx{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:15px;}
  .tk_list .date{font-size:14px;}
  .main_title_box .left_box p,.main_title_box > p{font-size:36px;}
  .main_report .main_title_box{align-items:flex-start;flex-direction:column;}
  .main_desc{font-size:17px;}
  .btn_motion{padding:13px 20px;font-size:15px;}
  .report_list{grid-template-columns:repeat(2,1fr);gap:36px 16px;}
  .rp_ico,.rp_ico svg{width:56px;height:56px;}
  .counter{font-size:40px;}
  .rp_tit{font-size:17px;}
  .rp_desc{font-size:14px;}
  .banner_wrap{padding:0 20px;margin-top:40px;}
  .hope_card{flex:0 0 260px;width:260px;}
  .hope_card.on{flex-basis:300px;width:300px;}
  .hope_card a{height:420px;}
  .hc_text{padding:24px 22px 26px;}
  .hc_text .tit{font-size:22px;}
  .hc_text .desc{font-size:14px;}
  .world_tit{font-size:32px;}
  .marquee_set li{font-size:72px;padding:0 8px;-webkit-text-stroke-width:1.5px;}
  .marquee_conts{margin-top:46px;}
  .story_list{min-height:0;}
  .st_thumb{height:260px;}
  .st_tit{font-size:20px;}
  .st_desc{font-size:16px;}
  .news_tit{font-size:28px;}
  .news_card{flex:0 0 calc((100% - 20px)/2);}
  .newsletter{padding:30px 0;}
  .nl_text strong{font-size:21px;}
  .nl_form{width:100%;}
  .nl_form input{flex:1 1 140px;width:auto;}
  .nl_form button{flex:1 1 100%;}
  .foot_policy ul{gap:14px 20px;height:auto;padding:16px 0;}
  .foot_bottom .contains{flex-direction:column;}
  .foot_side{text-align:left;}
  .foot_sns{justify-content:flex-start;}
  .hope_ctrl,.story_ctrl{margin-top:26px;}
  .hope_nav button,.story_nav button,.news_nav button{width:48px;height:48px;}
}
@media (max-width:480px){
  .mv_tit{font-size:31px;}
  .main_visual{height:600px;}
  .news_card{flex:0 0 100%;}
  .news_card a{height:200px;}
  .report_list{grid-template-columns:repeat(2,1fr);}
  .call_num{font-size:30px;}
  .foot_info dt{flex:0 0 88px;font-size:14px;}
  .foot_info dd{font-size:14px;}
  .to_top{right:14px;bottom:14px;width:42px;height:42px;}
  .st_thumb{height:210px;}
  .world_tit{font-size:27px;}
}
