@charset "utf-8";

/*********************** PC 및 모든 기기 *************************/

/* 기존 사이트의 top 부분(로고와 로그인 등이 있는 레이아웃)을 위한 css */
.root a{color: #303030;}
.root a:hover{color: #303030;}
.root ul{padding-bottom: 0; padding-left: 0; margin-bottom: 0;}
.root p{margin-bottom: 0;}
.cnts_top .util_left img{vertical-align: middle;}
.cnts_top ul.util_left li a{display: block;}
.cnts_top ul.util_right li a{font-size: 12px; font-family: "Pretendard Variable", Pretendard; line-height: 1;}
.cnts_top .CampaignList img{vertical-align: middle;}

/* 공통 레이아웃 */
.cont_1200{max-width: 1200px; margin: 0 auto;}
main{padding-bottom: 150px;}

/* 헤더 상단*/
header{padding-top: 134px; position: relative;}
header .upper{height: 64px; background: #fff; position: absolute; left: 0; right: 0; top: 0px;}
header.fix_top .upper{position: fixed; top: 0;}
header .upper .cont{height: 100%; display: flex; justify-content: center; align-items: center;}
header .upper .cont .hamburger{display: none;}
header .upper .cont h1{margin-bottom: 0;}
header .upper .cont h1 a{font-size: 24px; line-height: 24px; color: #E72410; letter-spacing: -0.75px; font-weight: 600; font-family: SavetheChildrenOTF, 'SavetheChildrenOTF';}

/* PC GNB */
.gnb_pc{height: 70px; border-top: 1px solid #E0E0E0; border-bottom: 1px solid #E0E0E0; background: #fff; position: absolute; left: 0; right: 0; top: 64px;}
header.fix_top .gnb_pc{position: fixed;}

.gnb_pc .cont{display: flex; justify-content: center; height: 100%;}
.gnb_pc .cont .depth_1{width: 360px; height: 100%; display: flex; justify-content: center; align-items: center; position: relative;}
.gnb_pc .cont .depth_1:not(:first-of-type)::before{content: ''; width: 1px; height: 22px; background: rgba(224, 224, 224, 1); position: absolute; left: 0; top: 53%; transform: translateY(-50%);}
.gnb_pc .cont .depth_1 a{font-size: 22px; line-height: 31px; font-weight: 700;}
.gnb_pc .cont .depth_1 a:hover{color: #E72410;}

/* PC LNB */
.lnb_pc{padding: 20px 0; background: #fff; display: none; position: absolute; left: 0; right: 0; top: 134px;}
.lnb_pc.on{display: block;}
header.fix_top .lnb_pc{position: fixed; top: 134px;}
.lnb_pc .cont{display: flex; justify-content: center;}
.lnb_pc .cont ul{position: relative; width: 360px; text-align: center; padding-left: 0; padding-bottom: 0;}
.lnb_pc .cont ul:not(:first-of-type)::before{content: ''; display: block; width: 1px; height: 100%; position: absolute; left: 0; background: rgba(224, 224, 224, 1);}
.lnb_pc .cont ul li{}
.lnb_pc .cont ul li a{font-size: 16px; line-height: 28px; font-weight: 500;}
.lnb_pc .cont ul li a:hover{color: #E72410;}

/* 모바일 GNB */
.gnb_mob{display: none;}
.gnb_mob.on{display: none;}

/* 화면 하단 플로팅 배너 바 */
.bottom_bar{width: 1400px; height: 68px; display: flex; border-radius: 50px; border: 2px solid #909090; background: linear-gradient(90deg, #4C4C4C 0%, #303030 100%); padding: 0 10px; align-items: center; color: #fff; position: fixed; bottom: 0; left: 50%; transform: translate(-50%); z-index: 1;}
.bottom_bar .left{width: 482px; text-align: center;}
.bottom_bar .left p{font-size: 20px; color: #FDEDEB;}
.bottom_bar .center{margin-left: 36px; display: flex; gap: 20px;}
.bottom_bar .center a{width: 321px; height: 45px; background: #E72410; color: #fff; border-radius: 36px; font-size: 20px; font-weight: 800; display: flex; justify-content: center; align-items: center;}
.bottom_bar .center a:nth-of-type(2){background: #fff; border: 5px solid #E72410; color: #E72410;}
.bottom_bar .right{position: absolute; right: 10px; top: 50%; transform: translateY(-50%);}
.bottom_bar .right .top{width: 93px; height: 45px; border: 1px solid #E0E0E0; border-radius: 36px; font-size: 20px; letter-spacing: -0.6px; font-weight: 700; color: #E0E0E0;}

@media screen and (max-width:1400px){
  .bottom_bar{width: calc(100% - 170px); gap: 10px;}
  .bottom_bar .left{display: none;}
  .bottom_bar .center{margin-left: 0; flex-grow: 1; justify-content: center;}
  .bottom_bar .center a{width: 226px; font-size: 14px;}
  .bottom_bar .right{position: static; transform: none;}
  .bottom_bar .right .top{width: 45px; border-radius: 50%; font-size: 16px; letter-spacing: -0.48px;}
}

/* 메인 페이지 */
.main_visual{height: 1965px; background: #fff url(../../images/visual.png) no-repeat 50% 0 / 1920px; padding-bottom: 140px; display: flex; flex-direction: column; justify-content: end; text-align: center; color: #000; align-items: center;}
.main_visual .video_wrap{}
.main_visual .video_wrap .vider_cont{}
.main_tit{font-size: 48px; line-height: 48px; font-weight: 800; letter-spacing: -1.44px; text-align: center;}
.main_visual .video_wrap .vider_cont .video_box{margin-top: 20px;}
.main_visual .video_wrap .vider_cont .video_box iframe{width: 846px; height: 476px; border-radius: 25px;}
.main_visual .video_wrap .vider_cont .txt{margin-top: 20px;}
.main_visual .video_wrap .vider_cont .txt .txt1{font-size: 24px; line-height: 34px; font-weight: 800; letter-spacing: -0.72px;}
.main_visual .video_wrap .vider_cont .txt .txt2{font-size: 20px; line-height: 140%; font-weight: 500; letter-spacing: -0.6px;}

.main_wrap_01{height: 800px; padding: 176px 50px 0; background: var(--1, linear-gradient(180deg, #FFD5D0 48.62%, #FFF7F7 106.56%)); text-align: center; color: #000;}
.main_wrap_01 .gift{margin-top: 50px; display: flex; justify-content: center; gap: 65px;}
.main_wrap_01 .gift article{cursor: pointer; width: 335px; height: 355px; border-radius: 20px; background: #fff url(../../images/gift_bg.svg) no-repeat right 20px top 20px; border: 1px solid #CACACA; padding: 20px 20px 0;}
.main_wrap_01 .gift article.special{width: 400px; border: 2px solid #FFA69D; box-shadow: 0 0 40px 0 rgba(231, 36, 16, 0.30);}
.main_wrap_01 .gift article .img_area{margin-top: 45px;}
.main_wrap_01 .gift article.special .img_area{margin-top: 20px;}
.main_wrap_01 .gift article .img_area img{transition: 0.3s;}
.main_wrap_01 .gift article:hover .img_area img{transform: scale(1.1);}
.main_wrap_01 .gift article .tit{margin-top: 25px; font-size: 20px; line-height: 28px; font-weight: 800;}
.main_wrap_01 .gift article .red_box{width: 300px; height: 40px; line-height: 40px; font-size: 22px; font-weight: 600; background: #E72410; border-radius: 36px; color: #fff; display: inline-block;}
.main_wrap_01 .gift article .txt{margin-top: 16px; font-weight: 600;}
.main_wrap_01 .gift article .txt .txt1{font-size: 16px; line-height: 22px; letter-spacing: -0.48px;}
.main_wrap_01 .gift article .txt .txt2{font-size: 14px; line-height: 120%; letter-spacing: -0.42px; color: #E72410;}

.main_wrap_02{padding-top: 120px;}
.main_wrap_02 .schedule{max-width: 1320px; margin: 50px auto 0; display: flex; flex-wrap: wrap; gap: 30px 15px; justify-content: center; text-align: center; padding: 0 20px;}
.main_wrap_02 .schedule a{border-radius: 20px; background: #FFF; box-shadow: 0 0 15px 0 #E0E0E0; width: 175px; height: 183px; display: flex; flex-direction: column; gap: 10px; justify-content: center; cursor: auto;}
.main_wrap_02 .schedule a span{display: block;}
.main_wrap_02 .schedule a .city{font-size: 20px; line-height: 140%; font-weight: 800;}
.main_wrap_02 .schedule a .place{font-size: 16px; line-height: 140%; font-weight: 600; color: #707070;}
.main_wrap_02 .schedule a .num{font-size: 16px; line-height: 140%; font-weight: 600;}
.main_wrap_02 .schedule a .num .num1{}
.main_wrap_02 .schedule a .num .num2{color: #E72410;}

/* 푸터 */
footer{padding-bottom: 68px;}/*하단 고정 배너바 68*/
footer .upper{background: #F5F5F5; padding: 39px 40px;}
footer .upper_cont{max-width: 1266px; margin: 0 auto;}
footer .upper dl{display: flex; gap: 28px;}
footer .upper dl:not(:first-of-type){margin-top: 28px;}
footer .upper dl dt{width: 64px; flex-shrink: 0; font-size: 16px; line-height: 140%; font-weight: 800; color: #707070; letter-spacing: -0.48px; padding-top: 10px;}
footer .upper dl dd{display: flex; flex-wrap: wrap; gap: 20px 19px;}
footer .upper dl dd a img{width: 128px;}
footer .lower{margin-top: 35px; border-top: 1px solid #E0E0E0;}
footer .lower .lower_cont{display: flex; padding: 33px 0;}
footer .lower .lower_cont article{width: 50%; text-align: center; font-size: 12px; line-height: 16px; font-weight: 500;}
footer .lower .lower_cont .policy{display: flex; justify-content: center; gap: 2px;}
footer .lower .lower_cont .policy span{}
footer .lower .lower_cont .copyright{}
footer .lower .lower_cont .copyright p{}

/* 모달 팝업의 불투명 배경 */
.modal_dim{position: fixed; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background: rgba(0, 0, 0, 0.30); display: none; z-index: 1000;}
.modal_dim.on{display: block;}

/* 모든 팝업 */
.popup{position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; display: none; max-height: calc(100% - 40px); overflow-y: auto; z-index: 1100;}
.popup.on{display: block;}

/* 메인페이지 내 기념품 팝업 */
.gift_pop{width: 660px; height: 660px; border-radius: 20px; border: 3px solid #E72410;}
.gift_pop .btn_cont{position: absolute; top: 40px; right: 30px;}
.gift_pop .img_cont{width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;}
.gift_pop .img_cont img{width: 600px; display: none;}
.gift_pop .img_cont img.on{display: block;}

/* 메인 팝업(참가신청안내) */
.main_pop{width: 608px; height: 636px; border-radius: 20px; border: 10px solid #E72410; text-align: center; background: #fff url(../../images/main_pop_bg.png) no-repeat 50% 0 / 100%; padding-top: 318px;}
.main_pop .txt_cont{font-size: 24px; line-height: 120%; font-weight: 600; color: #000; letter-spacing: -0.72px;}
.main_pop .txt_cont span{color: #E72410;}
.main_pop .btns_cont{margin-top: 46px; display: flex; justify-content: center; gap: 55px;}
.main_pop .btns_cont button{width: 210px; height: 36px; background: #EDEDED; border-radius: 25px; font-size: 20px; font-weight: 800; color: #E72410;}

/* 탭과 탭 컨텐츠 */
.tab_group .tabs{display: flex; max-width: 1200px; margin: 0 auto;}
.tab_group .tabs button{flex-grow: 1; height: 50px; font-size: 16px; font-weight: 400; color: #707070; border-bottom: 1px solid #707070;}
.tab_group .tabs button.on{color: #E72410; font-size: 20px; border-color: #E72410;}
.tab_group .conts{}
.tab_group .conts article{display: none;}
.tab_group .conts article.on{display: block;}
.tab_group .tabs.small button.on{font-size: 16px;}
.tab_group .conts > section{display: none;}
.tab_group .conts > section.on{display: block;}

/* 국제어린이마라톤 */
.intro_wrap{}
.page_upper_wrap{height: 370px; max-width: 1920px; margin: 0 auto; background: url(../../images/intro_wrap_bg.png) no-repeat 50% 0; padding: 0 20px;}
.page_upper_wrap .upper_cont{padding-top: 96px; max-width: 1200px; margin: 0 auto;}
.page_upper_wrap .upper_cont .intro{font-size: 14px; line-height: 17px; font-weight: 600; color: #E72410; letter-spacing: 1px;}
.page_upper_wrap .upper_cont .tit{margin-top: 10px; font-size: 50px; line-height: 56px; font-weight: 600;}
.page_upper_wrap .upper_cont .txt{margin-top: 29px; font-size: 18px; line-height: 22px; font-weight: 600; color: #707070;}
.intro_wrap .txt_wrap{margin-top: 150px; text-align: center;}
.intro_wrap .txt_wrap .tit{font-size: 32px; line-height: 36px; font-weight: 600;}
.intro_wrap .txt_wrap .txt{margin-top: 50px; font-size: 16px; line-height: 20px; font-weight: 600; color: #707070;}
.intro_wrap .tab_group{margin-top: 50px;}

.sponsorship{margin-top: 100px; text-align: center; padding: 0 20px;}
.sponsorship .img_cont{}
.sponsorship .img_cont img{}
.sponsorship .txt_cont{margin-top: 50px; font-size: 16px; line-height: 21px;}
.sponsorship .txt_cont .txt1{color: #000; font-weight: 400;}
.sponsorship .txt_cont .txt2{margin-top: 21px; color: #707070; font-weight: 600;}
 
.project{}
.project section{margin-top: 100px;}
.project section .tit{display: flex; align-items: center;}
.project section .tit::after{content: ''; flex-grow: 1; height: 2px; background: #E72410; margin-left: 21px;}
.project section .tit .num{width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; background: #E72410; font-size: 24px; font-weight: 500; color: #fff;}
.project section .tit .txt{margin-left: 10px; font-size: 32px; line-height: 36px; font-weight: 400; color: #E72410;}
.project section .upper_txt{margin-top: 26px; font-size: 18px; line-height: 22px; font-weight: 600; color: #000; text-align: left;}
.project section .gray_box{margin-top: 56px; border-radius: 20px; background: #F5F5F5; display: flex; width: 100%; gap: 100px; justify-content: center; padding: 62px 20px; flex-wrap: wrap;}
.project section .gray_box dl{display: flex; flex-direction: column; align-items: center;}
.project section .gray_box dl dt{width: 178px; height: 178px; background: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center;}
.project section .gray_box dl dt img{}
.project section .gray_box dl dd{margin-top: 17px; font-size: 20px; line-height: 26px; font-weight: 400; color: #000;}

.change{margin-top: 50px;}
.change .top_wrap{text-align: center;}
.change .top_wrap .upper_txt{font-size: 16px; line-height: 21px; font-weight: 400; color: #707070;}
.change .top_wrap .upper_txt p.txt1{color: #000;}
.change .top_wrap .upper_txt p.txt2{margin-top: 21px; font-weight: 600;}
.change .top_wrap .upper_txt p.txt3{margin-top: 21px;}
.change .top_wrap .img_cont{margin-top: 100px;}
.change .top_wrap .img_cont img{}
.change .top_wrap .lower_txt{margin-top: 58px; font-weight: 400; color: #000;}
.change .top_wrap .lower_txt p.txt1{font-size: 32px; line-height: 42px;}
.change .top_wrap .lower_txt p.txt1 span{color: #E72410;}
.change .top_wrap .lower_txt p.txt2{margin-top: 40px; font-size: 18px; line-height: 22px; font-weight: 600;}

.change_list{max-width: 1200px; margin: 108px auto 0;}
.change_list .list{padding: 80px 0; display: flex; width: 100%; justify-content: space-between; border-top: 1px solid #707070;}
.change_list .list .left{}
.change_list .list .left .flag{}
.change_list .list .left .flag img{}
.change_list .list .left .tit{margin-top: 30px; font-size: 32px; line-height: 42px; font-weight: 400; color: #000;}
.change_list .list .left .tit .tit1{}
.change_list .list .left .tit .tit2{color: #E72410;}
.change_list .list .right{}
.change_list .list .right p{width: 565px; padding: 20px; border-radius: 20px; background: #F5F5F5; font-size: 18px; line-height: 23px; font-weight: 600;}

/* 코스 및 프로그램 */
.guide_wrap .page_upper_wrap{background-image: url(../../images/guide_bg.png);}
.guide_wrap .page_upper_wrap .upper_cont{padding-top: 144px;}
.guide_wrap .tab_group{margin-top: 150px;}
.section_tit{margin-top: 50px; text-align: center; font-size: 32px; line-height: 36px; font-weight: 600; color: #000;}
.course{padding: 0 20px;}
.course .img_wrap{max-width: 1306px; margin: 50px auto 0; text-align: center;}
.course .img_wrap img{width: 100%;}
.program_wrap{margin-top: 50px;}
.program_box{max-width: 1200px; margin: 0 auto; border-radius: 20px; background: #F5F5F5; padding: 74px 50px; font-weight: 600; color: #000;}
.program_box .top{}
.program_box .top .tit{font-size: 32px; line-height: 36px; color: #E72410;}
.program_box .top p{margin-top: 26px; font-size: 18px; line-height: 22px;}
.program_box .list_cont{margin-top: 6px;}
.program_box .list_cont .list{padding: 35px 0; border-top: 1px solid #E0E0E0; display: flex; gap: 50px; align-items: center;}
.program_box .list_cont .list:first-of-type{border-top: 0;}
.program_box .list_cont .list .left{}
.program_box .list_cont .list .left .box{width: 250px; height: 250px; border-radius: 20px; background: #fff; display: flex; justify-content: center; align-items: center;}
.program_box .list_cont .list .left .box img{}
.program_box .list_cont .list .right{line-height: 27px;}
.program_box .list_cont .list .right .txt1{font-size: 24px; color: #E60012;}
.program_box .list_cont .list .right .txt2{margin-top: 40px; font-size: 22px;}
.program_box p.noti{font-size: 18px; line-height: 22px; color: #707070;}

/* 오프라인 마라톤 안내 */
.offline{padding: 0 20px;}
.section_subtitle{margin-top: 15px; font-size: 16px; line-height: 20px; font-weight: 600; color: #707070; text-align: center;}
.table_group{max-width: 1200px; margin: 70px auto 0; color: #404040; font-weight: 600;}
.table_group .tit_wrap{display: flex; justify-content: space-between; align-items: center;}
.table_group .tit_wrap .tit{font-size: 24px; line-height: 30px; font-weight: 800;}
.table_group .tit_wrap .noti{font-size: 14px; line-height: 17px; color: #E72410;}
.table_group table{margin-top: 10px; font-size: 16px; line-height: 20px;}
.table_group table tbody tr th{background: #EDEDED; border: 1px solid #EDEDED; vertical-align: middle; color: #707070; text-align: center;}
.table_group table tbody tr td{padding: 25px 15px 25px 50px; border: 1px solid #E0E0E0; border-left: 0; height: 70px; vertical-align: middle; text-align: left;}
.table_group.small table tbody tr td{padding: 10px; height: 56px;}
.table_group table tbody tr td:last-of-type{border-right: 0;}
.table_group table .gray_font{color: #909090;}
.table_group table .red_font{color: #E72410;}
.red_noti{margin-top: 20px; font-size: 13px; line-height: 24px; color: #E72410; opacity: 0.5;}

.detail_boxes{display: flex; gap: 12px 15px; text-align: center; flex-wrap: wrap; padding: 29px 0;}
.detail_boxes .box{width: 121px; font-size: 14px;}
.detail_boxes .box .city{display: block; width: 100%; height: 44px; line-height: 44px; border-radius: 36px; border: 1px solid #E0E0E0;}
.detail_boxes .box .date{margin-top: 9px; font-size: 13px; line-height: 16px;}
.detail_boxes .box .num{margin-top: 9px; font-size: 14px; line-height: 17px;}

.normal_pop{width: 680px; padding: 40px; border-radius: 20px;}
.normal_pop .pop_top{display: flex; justify-content: space-between; align-items: center;}
.normal_pop .pop_top .title{font-size: 21px; line-height: 23px; font-weight: 600; color: #000;}
.normal_pop .pop_cont{margin-top: 30px; max-height: calc(100vh - 272px); overflow-y: auto;}
.normal_pop .pop_cont .tab_group{margin-top: 0;}
.normal_pop .pop_cont .tab_group .tabs{padding: 0;}
.normal_pop .pop_cont .table_group{color: #707070; margin-top: 30px;}
.small_noti{font-size: 14px; line-height: 18px; font-weight: 600; color: #707070; margin-top: 30px;}
.normal_pop .pop_bottom{margin-top: 40px; text-align: center;}
.red_btn{width: 160px; height: 44px; background: #E72410; color: #fff; font-size: 14px; font-weight: 400; border-radius: 36px;}
.pop_bottom.two_btns .red_btn{width: 182px;}

.course_map{margin-top: 10px;}
.course_map .img_cont{text-align: center;} 
.course_map .img_cont img{width: 100%;} 
.course_map .red_noti{font-size: 14px; line-height: 18px; color: #E72410; opacity: 0.5;}
.course_map .table_group{margin-top: 10px;}
.course_map .small_noti{margin-top: 10px;}

.font_weight_400{font-weight: 400;}

.course_map .red_tit{padding-top: 10px; padding-bottom: 10px; font-size: 16px; line-height: 18px; font-weight: 600; color: #E72410;}

.zone{margin-top: 20px; display: flex; gap: 10px;}
.zone dl{flex-grow: 1;}
.zone dl dt{border-radius: 36px; background: #707070; font-size: 14px; line-height: 23px; height: 23px; color: #fff; font-weight: 800; padding-left: 25px;}
.zone dl:nth-of-type(2) dt{background: #E72410;}
.zone dd{margin-top: 12px;}
.zone dd ul{padding-left: 29px;}
.zone dd ul li{font-size: 12px; line-height: 15px; font-weight: 600; color: #707070; display: flex;}
.zone dd ul li:not(:first-of-type){margin-top: 5px;}

.zone.schedule_list{margin-top: 40px;}
.zone.schedule_list dd{display: flex;}
.zone.schedule_list dd ul{width: 50%;}
.zone.schedule_list dd ul li b{width: 103px; font-weight: 600; flex-shrink: 0;}

/* 온라인 마라톤 안내 */
.online{padding: 0 20px;}

/* 참가 신청 안내 */
.guidance_wrap .page_upper_wrap{background-image: url(../../images/guidance_wrap_bg.png);}
.guidance_wrap .page_upper_wrap .upper_cont{padding-top: 118px;}

.guidance_cont{max-width: 1240px; margin: 0 auto; padding: 0 20px;}
.guidance_cont .project{}
.guidance_cont .project section{}
.guidance_cont .project section:first-of-type{margin-top: 150px;}
.guidance_cont .project section .tit{}
.guidance_cont .project section .gray_box{margin-top: 46px; padding: 50px 63px; display: block;}
.project section .gray_box ul{}
.project section .gray_box ul li{font-size: 18px; line-height: 150%; color: #000; font-weight: 800;}
.project section .gray_box ul li:not(:first-of-type){margin-top: 20px;}
.project section .gray_box ul li.red_font{color: #E72410;}
.project section .gray_box ul li .gray_font{color: #707070; font-weight: 600;}

/* 오프라인 마라톤 신청 */
.apply_offline{margin-top: 150px; text-align: center; font-weight: 600; padding: 0 20px;}
.apply_offline .title{font-size: 32px; line-height: 36px; color: #000;}
.apply_offline .process{margin-top: 50px; display: flex; justify-content: center; gap: 50px;}
.apply_offline .process .box{height: 40px; line-height: 38px; padding: 0 20px; border-radius: 36px; border: 1px solid #E0E0E0; color: #E0E0E0; position: relative;}
.apply_offline .process .box.red{border: 0; background: #E72410; color: #fff;}
.apply_offline .process .box.done{border: 0; background: #FDEDEB; color: #E72410;}
.apply_offline .process .box.red_border{border-color: #E72410; color: #E72410;}
.apply_offline .process .box:not(:first-of-type)::before{content: ''; width: 50px; height: 1px; background: #E0E0E0; position: absolute; left: -50px; top: 50%; transform: translateY(-50%);}
.apply_offline .process .box.done::before,
.apply_offline .process .box.red_border::before,
.apply_offline .process .box.red::before{background: #E72410;}

.apply_offline .noti{margin-top: 50px; font-size: 18px; line-height: 22px; color: #707070;}
.apply_offline .noti b{font-weight: 800; color: #E72410;}
.apply_offline .btn_cont{margin-top: 50px;}
.apply_offline .btn_cont a{width: 475px; height: 84px; line-height: 88px; background: #E72410; color: #fff; border-radius: 50px; font-size: 28px;}
.apply_offline .red_noti{margin-top: 50px; font-size: 18px;line-height: 22px;}

/* 드롭박스(셀렉트박스) */
.basic_dropbox{position: relative; font-size: 17px; color: #707070; text-align: left;}
.basic_dropbox button.top_box{width: 100%; height: 49px; border-radius: 10px; border: 1px solid #CACACA; color: #707070; background: #fff url(../../images/ico_drop_down.svg) no-repeat right 20px top 50%; padding-left: 20px; padding-right: 48px; text-align: left;}
.basic_dropbox.on button.top_box{background-image: url(../../images/ico_drop_up.svg);}
.basic_dropbox ul.drop{max-height: 240px; overflow-y: auto; line-height: 21px; width: 100%; position: absolute; background: #fff; top: 0; left: 0; display: none; border: 1px solid #CACACA; border-radius: 10px; z-index: 1;}
.basic_dropbox.on ul.drop{display: block;}
.basic_dropbox ul.drop li{cursor: pointer; padding: 13px 20px;}
.basic_dropbox ul.drop li:not(:first-of-type){border-top: 2px solid #CACACA;}
.basic_dropbox ul.drop li:hover{background: #EDEDED;}

/* 라디오버튼 */
input[type='radio']{-webkit-appearance: none; -moz-appearance: none; appearance: none; width: 15px; height: 15px; border: 2px solid #D1D1D6; border-radius: 50%; outline: none; cursor: pointer;}
input[type='radio']:checked{width: 12px; height: 12px; margin: 1.5px; background-color: #E72410; border: 3px solid #fff; box-shadow: 0 0 0 2px #E72410;}

/* 체크박스 */
input[type='checkbox']{width: 20px; height: 20px; accent-color: #E72410; cursor: pointer;}

/* textarea */
textarea{resize: none; width: 100%; border-radius: 20px; border: 1px solid #E0E0E0; padding: 15px 20PX;}

/* 신청 입력 폼 */
.form_box{max-width: 1000px; margin: 50px auto 0; padding: 40px 60px; border-radius: 20px; border: 1px solid #E0E0E0; text-align: left; color: #707070; font-weight: 400; font-size: 15px; line-height: 19px;}
.form_box .form_title{text-align: center; font-size: 24px; line-height: 30px; font-weight: 800;}
.form_cont{margin-top: 24px;}
.form_cont .line{padding: 30px 0; display: flex; flex-wrap: wrap;}
.form_cont .line:not(:first-of-type){border-top: 1px solid rgba(202,202,202,0.5);}
.form_cont .line .subline_01{display: flex;}
.form_cont .line .subline_02{display: flex; flex-wrap: wrap;}
.form_cont .line .flex_area{display: flex;}
.form_cont .line .dis_block{display: block;}
.form_cont .line .tit{width: 183px; flex-shrink: 0; padding-top: 15px; font-weight: 800; display: flex; gap: 5px;}
.form_cont .line .subline_02 .tit{width: 100px;}
.form_cont .line .tit span{font-size: 13px; color: #E72410;}
.form_cont .line .subline_01 .cont{width: 330px;}
.form_cont .line .cont .basic_dropbox{width: 230px;}
.form_cont .line .cont input[type="password"],
.form_cont .line .cont input[type="text"]{width: 230px; height: 50px; border: 0; border-radius: 10px; background: #F5F5F5; padding: 0 20px;}
.form_cont .line .cont input[type="radio"]{vertical-align: -2px;}
.form_cont .line .cont label:not(:first-of-type){margin-left: 23px;}
.form_cont .line .cont .mail_input_area{display: flex; align-items: center;}
.form_cont .line .noti_txt{font-size: 12px; line-height: 16px;}
.form_cont .line .mt10{margin-top: 10px;}
.form_cont .line .ml10{margin-left: 10px;}
.form_cont .line .ml183{margin-left: 183px;}
.form_cont .line .red_font{color: #E72410;}
.form_cont .line .w276{width: 276px;}
.form_cont .line .subline_01 .w_auto{width: auto;}
.form_cont .line .subline_01.address{width: 100%;}
.form_cont .line .subline_01.address .cont{width: 100%; display: block;}
.form_cont .line .subline_01.address input.detail_area{width: 100%; margin-top: 10px;}
.form_cont .red_btn{width: 224px; font-size: 16px; font-weight: 800;}
.form_cont .btns_cont{margin-top: 16px; display: flex; justify-content: center; gap: 60px;}
.form_cont .id_num{margin-top: 19px; display: none;}
.form_cont .id_num.on{display: block;}
.form_cont .id_num .tit{}
.form_cont .id_num .num_cont{margin-top: 10px; display: flex; gap: 10px;}
.form_cont .id_num .num_cont .left{display: flex; gap: 10px; align-items: center;}
.form_cont .id_num .num_cont .left input[type="password"],
.form_cont .id_num .num_cont .left input[type="text"]{width: 231px;}
.form_cont .id_num .num_cont .left button{text-decoration: underline;}
.form_cont .id_num .num_cont .right{}
.form_cont .id_num .num_cont .right .red_btn{width: 100px;}

.form_box.policy_box .form_cont .subline_01{width: 100%;}
.form_box.policy_box .form_cont .line .tit{padding-top: 8px;}
.form_box.policy_box .form_cont .cont{width: auto; flex-grow: 1;}
.form_box.policy_box .form_cont .agree_cont .agree_line{height: 40px; display: flex; justify-content: space-between; align-items: center;}
.form_box.policy_box .form_cont .agree_cont .agree_line .left{display: flex; gap: 20px;}
.form_box.policy_box .form_cont .agree_cont .agree_line .left .tit_area{font-size: 16px;}
.form_box.policy_box .form_cont .agree_cont .agree_line .left .tit_area span{color: #E72410; font-size: 13px; margin-left: 5px;}
.form_box.policy_box .form_cont .agree_cont .agree_line .left .detail{font-size: 14px; color: #909090; text-decoration: underline;}
.form_box.policy_box .form_cont .agree_cont .agree_line .right{display: flex; align-items: center;}
.form_box.policy_box .form_cont label{display: inline-flex; gap: 8px; align-items: center;}
.form_box.policy_box .form_cont .agree_cont .agree_line .right label{}
.form_box.policy_box .form_cont .txt_area{font-size: 14px; line-height: 18px;}
.form_box.policy_box .form_cont .chk_area{}
.form_box.policy_box .form_cont .chk_area.mt27{margin-top: 27px;}
.form_box.policy_box .form_cont .year_area{margin-top: 27px; display: flex; gap: 15px 28px; flex-wrap: wrap;}
.form_box.policy_box .form_cont .year_area label{font-size: 12px; line-height: 15px; color: #303030; margin-left: 0;}
.form_box.policy_box .form_cont textarea{height: 120px;}

/* 오프라인 마라톤 신청 페이지 내 참가지역 선택 팝업 */
.region_cont{padding-top: 10px; display: flex; flex-wrap: wrap; gap: 15px;}
.region_cont dl{width: 138px; height: 136px; border: 1px solid #E0E0E0; border-radius: 20px; text-align: center; padding-top: 30px;}
.region_cont dl.possible{cursor: pointer;}
.region_cont dl.possible.on{background: #E72410;}
.region_cont dl.impossible{background: #E0E0E0; border-color: #EDEDED;}
.region_cont dt{font-size: 16px; line-height: 18px; color: #000; font-weight: 600;}
.region_cont dl.possible.on dt{color: #fff;}
.region_cont dd{margin-top: 10px;}
.region_cont dd p{font-size: 12px; line-height: 18px; color: #707070; font-weight: 600;}
.region_cont dd p.date{color: #E72410;}
.region_cont dl.possible.on p{color: #FFF;}

/* 이용약관, 개인정보 수집 및 이용동의 등 약관들 팝업 */
.policy_pop_cont{}
.policy_pop_cont > ul{}
.policy_pop_cont > ul > li{padding: 20px 0; border-top: 1px solid #E0E0E0;}
.policy_pop_cont .tit_area{font-size: 14px; line-height: 17px; font-weight: 800; color: #000;}
.policy_pop_cont .txt_area{margin-top: 5px; font-size: 12px; line-height: 15px; font-weight: 600; color: #707070;}
.policy_pop_cont .noti{text-align: center; padding: 30px 0; font-size: 12px; line-height: 15px; font-weight: 800; color: #707070;}

.policy_pop_cont .list:not(:first-of-type){margin-top: 20px;}
.policy_pop_cont ul.subline{padding-left: 10px; margin-top: 5px; margin-bottom: 10px;}
.policy_pop_cont .link{color: blue; font-weight: 400;}
.policy_pop_cont .link:hover{color: blue;}
.table_group_small{margin-top: 10px; margin-bottom: 10px;}
.table_group_small .title{}
.table_group_small table{width: 100%; border-top: 1px solid #4b4b4b; margin-bottom: 5px;}
.table_group_small table tr{}
.table_group_small table thead th{word-break: break-all; border: 1px solid #dee2e6; border-top: 0; background: #f8f8f8;}
.table_group_small table td{word-break: break-all; border: 1px solid #dee2e6; padding: 5px 10px; vertical-align: middle;}

/* 오프라인 마라톤 신청 페이지 내 취소 환불 안내 팝업 */
.pop_cont .pay_noti{padding: 40px 0; text-align: center; font-size: 20px; line-height: 25px; color: #000; font-weight: 600;}

/* 신청 결과 팝업, 참가신청서 */
.normal_pop.apply_result_pop{width: 680px; padding: 40px 20px;}
.normal_pop.apply_result_pop .pop_top{padding: 0 20px;}
.normal_pop.apply_result_pop .pop_cont{margin-top: 55px;}
.apply_result{text-align: center;}
.apply_result .tit_wrap{font-size: 22px; line-height: 24px; font-weight: 600; color: #000;}
.apply_result .red_font{color: #E72410;}
.apply_result .gray_box{margin-top: 34px; margin-bottom: 21px; border-radius: 20px; background: #F5F5F5; padding: 20px 0; font-size: 14px; line-height: 17px; font-weight: 800;}
.letter{padding-bottom: 100%; background: url(../../images/letter_bg.png) no-repeat 50% 0 / contain; text-align: left; position: relative;}
.letter .info_box{position: absolute; top: 234px; left: 325px; width: 280px; padding: 30px; border-radius: 20px; background: #fff;}
.letter .info_box .name{text-align: center; height: 73px; border-radius: 20px; background: #E72410; font-size: 42px; line-height: 73px; font-weight: 600; color: #fff; letter-spacing: 4.2px;}
.letter .info_box ul{}
.letter .info_box ul li{margin-top: 18px; height: 22px; display: flex; justify-content: space-between; align-items: center; font-weight: 600;}
.letter .info_box ul li .left{font-size: 18px; border-left: 2px solid #E72410; padding-left: 13px;}
.letter .info_box ul li .right{font-size: 14px;}
.letter .info_box .noti{margin-top: 18px; text-align: right; font-size: 12px; line-height: 15px; font-weight: 600; color: #E72410;}
.red_btn.w250{width: 250px;}

/* 결제완료(신청 확인) */
.apply_offline .noti.size24{margin-top: 55px;}
.check_apply .table_group{margin-top: 40px;}
.check_apply .table_group.color_70 td{color: #707070;}
.check_apply .table_group td .color_40{color: #404040;}
.check_apply .btn_cont a{width: 300px;}

/* 신청 확인 - 로그인 */
.check_login_box{padding: 50px; border: 1px solid #E0E0E0; border-radius: 20px; margin-top: 50px;}
.check_login_box .noti{margin-top: 0; font-size: 24px; line-height: 30px;}
.check_login_box .noti .red_font{color: #E72410;}
.check_login_box .btn_cont{}
.check_login_box .btn_cont a{width: 234px;}

/* 신청 확인 - 신청정보 확인 */
.check_info .noti{color: #909090;}
.check_info .table_group{margin-top: 70px;}
.txt_btn_cont{margin-top: 40px;}
.txt_btn{font-size: 20px; line-height: 22px; color: #707070; font-weight: 600;}

/* 신청 확인 - 신청정보 확인 - 동반인 신청확인*/
.accompany .txt_btn_cont{margin-top: 70px;}

/* FAQ */
.faq_wrap .page_upper_wrap{background-image: url(../../images/faq_wrap_bg.png);}
.faq_wrap .tab_group{margin-top: 150px;}
.faq{margin-top: 60px; padding: 0 20px;}
.faq_list{max-width: 1200px; margin: 0 auto; padding: 20px 0; border-top: 1px solid #303030; border-bottom: 1px solid #303030;}
.faq_list dl{color: #303030; font-weight: 600;}
.faq_list dl:not(:first-of-type){border-top: 1px solid rgba(241, 241, 241, 1);}
.faq_list dl dt{display: flex; justify-content: space-between; align-items: center; padding: 34px 25px; font-size: 18px; line-height: 22px;}
.faq_list dl .left{display: flex; gap: 50px; align-items: center; flex-grow: 1;}
.faq_list dl .initial{font-size: 24px; font-weight: 600; color: #E72410;}
.faq_list dl dt .left .txt{flex-grow: 1;}
.faq_list dl dt .left .txt span{cursor: pointer; display: block;}
.faq_list dl dt .right .up_down{width: 30px; height: 30px; background: url(../../images/faq_arr_down.svg) no-repeat 50% 50%;}
.faq_list dl.on dt .right .up_down{background-image: url(../../images/faq_arr_up.svg);}
.faq_list dl dd{padding: 0 25px 30px; font-size: 16px; line-height: 20px; display: none;}
.faq_list dl.on dd{display: block;}
.faq_list dl dd .left .initial{color: #303030;}

.pagination{margin-top: 60px; display: flex; justify-content: center; gap: 19px;}
.pagination button{font-size: 18px; line-height: 22px; color: #303030;}
.pagination button.on{font-weight: 800;}


/*********************** PC만 *************************/
@media screen and (min-width:1024px){
  /* 공통 레이아웃 */
  .hide_pc{display: none;}

}


/*********************** 태블릿과 모바일 *************************/
@media screen and (max-width:1023px){
  /* 헤더 상단*/
  header{font-family: SavetheChildrenOTF, 'SavetheChildrenOTF'; padding-top: 68px;}
  header .upper{height: 68px; top: 0; position: fixed;}
  header .upper .cont{display: flex; justify-content: left; padding: 0 24px;}
  header .upper .cont .hamburger{display: block; margin-left: 16px;}
  header .upper .cont h1{flex-grow: 1; text-align: center; margin-left: 16px;}
  header .upper .cont h1 a{font-size: 16px; line-height: 28px; letter-spacing: -0.75px;}

  /* PC GNB */
  .gnb_pc{display: none;}
  .gnb_pc.on{display: none;}

  /* PC LNB */
  .lnb_pc{display: none;}
  .lnb_pc.on{display: none;}

  /* 모바일 GNB */
  .gnb_mob{display: none;}
  .gnb_mob.on{display: block;}
  .gnb_mob .dim{position: fixed; top: 68px; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.3); z-index: 10;}
  .gnb_mob .menu{position: fixed; top: 68px; left: 0; bottom: 0; overflow-y: auto; width: 360px; padding: 30px 40px; background: #fff; z-index: 10;}
  .gnb_mob .menu .depth_1{}
  .gnb_mob .menu .depth_1 > li{}
  .gnb_mob .menu .depth_1 > li:not(:first-of-type){margin-top: 30px;}
  .gnb_mob .menu .depth_1 > li > a{font-size: 16px; line-height: 28px; color: #000;}
  .gnb_mob .menu .depth_1 > li > .depth_2{}
  .gnb_mob .menu .depth_1 > li > .depth_2 > li{margin-top: 5px;}
  .gnb_mob .menu .depth_1 > li > .depth_2 > li > a{font-size: 14px; line-height: 28px; color: #707070;}

  /* 메인 페이지 */
  .main_visual{height: 1570px; background-image: url(../../images/visual_tab.png); background-size: 1082px; padding-bottom: 100px;}
  .main_tit{font-size: 32px; line-height: 32px; letter-spacing: -1.96px;}
  .main_visual .video_wrap .vider_cont .video_box{margin-top: 20px;}
  .main_visual .video_wrap .vider_cont .video_box iframe{width: 592px; height: 333px;}
  .main_visual .video_wrap .vider_cont .txt{margin-top: 15px;}
  .main_visual .video_wrap .vider_cont .txt .txt1{font-size: 12px; line-height: 140%; font-weight: 500; letter-spacing: -0.36px;}
  .main_visual .video_wrap .vider_cont .txt .txt2{font-size: 12px; letter-spacing: -0.36px;}

  .main_wrap_01{height: 551px; padding-top: 65px;}
  .main_wrap_01 .gift{margin-top: 60px; gap: 20px;}
  .main_wrap_01 .gift article{width: 33%; padding: 20px 10px;}
  .main_wrap_01 .gift article.special{width: 33%; background-image: none;}
  .main_wrap_01 .gift article .img_area{}
  .main_wrap_01 .gift article.special .img_area{margin-top: 10px;}
  .main_wrap_01 .gift article .img_area img{}
  .main_wrap_01 .gift article .tit{font-size: 16px; line-height: 22px;}
  .main_wrap_01 .gift article .red_box{width: calc(100% - 20px); font-size: 18px; letter-spacing: -0.54px;}
  .main_wrap_01 .gift article .txt{word-break: break-all; margin-top: 12px;}
  .main_wrap_01 .gift article .txt .txt1{font-size: 14px; line-height: 20px; letter-spacing: -0.42px;}
  .main_wrap_01 .gift article .txt .txt2{font-size: 12px; line-height: 140%; letter-spacing: -0.36px;}

  .main_wrap_02{padding-top: 100px;}

  /* 푸터 */
  footer .upper{padding: 38px 40px;}
  footer .upper_cont{max-width: 718px;}
  footer .upper dl{gap: 18px;}
  footer .upper dl dt{width: 41px;}
  footer .upper dl dd{gap: 12px 6px;}
  footer .upper dl dd a img{width: 73px;} 
  footer .lower{margin-top: 26px;}

  /* 탭과 탭 컨텐츠 */
  .tab_group .tabs{padding: 0 20px;}
  .tab_group .tabs.small{padding: 0;}

  /* 국제어린이마라톤 */
  .page_upper_wrap{background: url(../../images/intro_wrap_bg_tab.png) no-repeat 50% 0; padding-left: 60px; height: 273px;}
  .page_upper_wrap .upper_cont{padding-top: 60px;}
  .page_upper_wrap .upper_cont .tit{font-size: 42px; line-height: 50px;}
  .page_upper_wrap .upper_cont .txt{font-size: 14px; line-height: 18px;}
  .intro_wrap .txt_wrap{margin-top: 100px;}
  .intro_wrap .txt_wrap .txt{margin-top: 30px;}
  .intro_wrap .tab_group{margin-top: 30px;}

  .sponsorship{margin-top: 30px;}
  .sponsorship .img_cont img{width: 700px;}
  .sponsorship .txt_cont{margin-top: 30px;}

  .project{}
  .project section .tit{}
  .project section .tit::after{margin-left: 8px;}
  .project section .tit .num{width: 20px; height: 20px; font-size: 14px; line-height: 20px;}
  .project section .tit .txt{font-size: 16px; line-height: 18px; margin-left: 14px;}
  .project section .upper_txt{font-size: 14px; line-height: 17px;}
  .project section .gray_box{gap: 104px; justify-content: center; padding: 41px 0;}

  .change{margin-top: 60px; padding: 0 20px;}
  .change .top_wrap{text-align: center;}
  .change .top_wrap .upper_txt{font-size: 14px; line-height: 18px;}
  .change .top_wrap .upper_txt p.txt2{margin-top: 18px;}
  .change .top_wrap .upper_txt p.txt3{margin-top: 18px;}
  .change .top_wrap .img_cont{margin-top: 80px;}
  .change .top_wrap .img_cont img{width: 100%;}
  .change .top_wrap .lower_txt{margin-top: 39px;}
  .change .top_wrap .lower_txt p.txt1{font-size: 20px; line-height: 26px;}
  .change .top_wrap .lower_txt p.txt2{margin-top: 20px; font-size: 14px; line-height: 17px;}

  .change_list{margin-top: 80px;}
  .change_list .list{padding: 25px 0; display: block;}
  .change_list .list .left{display: flex; justify-content: space-between; align-items: center;}
  .change_list .list .left .flag{order: 2;}
  .change_list .list .left .flag img{width: 80px;}
  .change_list .list .left .tit{order: 1; margin-top: 0; font-size: 18px; line-height: 23px;}
  .change_list .list .right{margin-top: 16px;}
  .change_list .list .right p{width: 100%; font-size: 14px; line-height: 18px; letter-spacing: -0.14px;}

  /* 코스 및 프로그램 */
  .guide_wrap .page_upper_wrap{background-image: url(../../images/guide_bg_tab.png);}
  .guide_wrap .page_upper_wrap .upper_cont{padding-top: 50px;}

  .guide_wrap .tab_group{margin-top: 100px;}
  .section_tit{font-size: 24px; line-height: 27px;}
  .course .img_wrap{width: auto;}
  .program_wrap{margin-top: 100px;}
  .program_box{border-radius: 16px; padding: 25px 25px 36px;}
  .program_box .top .tit{font-size: 22px; line-height: 24px;}
  .program_box .top p{font-size: 14px; line-height: 17px;}
  .program_box .list_cont{margin-top: 5px;}
  .program_box .list_cont .list{gap: 15px;}
  .program_box .list_cont .list .left .box{width: 100px; height: 100px; border-radius: 16px;}
  .program_box .list_cont .list .left .box img{width: 84px;}
  .program_box .list_cont .list .right{}
  .program_box .list_cont .list .right .txt1{font-size: 14px; line-height: 16px;}
  .program_box .list_cont .list .right .txt2{margin-top: 20px; font-size: 12px; line-height: 15px;}
  .program_box p.noti{font-size: 10px; line-height: 12px;}

  /* 오프라인 마라톤 안내 */
  .section_subtitle{margin-top: 10px; font-size: 12px; line-height: 15px;}
  .offline .section_subtitle{padding-bottom: 13px;}
  .table_group{margin-top: 35px;}
  .table_group .tit_wrap .tit{font-size: 16px; line-height: 20px;}
  .table_group .tit_wrap .noti{font-size: 10px; line-height: 12px;}
  .table_group table{line-height: 15px;}
  .table_group table colgroup col:first-of-type{width: 110px;}
  .table_group.participate table colgroup col:first-of-type{width: 90px;}
  .table_group table tbody tr th{font-size: 14px;}
  .table_group table tbody tr td{padding: 20px 12px 20px 20px; font-size: 12px;}
  .table_group table .small_font{font-size: 11px; line-height: 130%;}
  .red_noti{font-size: 10px; line-height: 12px;}

  .detail_boxes{gap: 16px; padding: 0;}
  .detail_boxes .box{width: calc(50% - 8px); font-size: 11px;}
  .detail_boxes .box .city{height: 19px; line-height: 19px;}
  .detail_boxes .box .date{margin-top: 6px; font-size: 11px; line-height: 14px;}
  .detail_boxes .box .num{margin-top: 6px; font-size: 11px; line-height: 14px;}

  .normal_pop{width: 512px;}
  .small_noti{font-size: 11px; line-height: 14px;}

  .course_map .red_noti{font-size: 10px; line-height: 13px; margin-top: 10px;}

  /* 온라인 마라톤 안내 */
  .online .table_group table colgroup col:first-of-type{width: 110px;}

  /* 참가 신청 안내 */
  .guidance_wrap .page_upper_wrap{background-image: url(../../images/guidance_wrap_bg_tab.png);}
  .guidance_wrap .page_upper_wrap .upper_cont{padding-top: 50px;}

  .guidance_cont .project section{margin-top: 50px;}
  .guidance_cont .project section:first-of-type{margin-top: 60px;}
  .guidance_cont .project section .tit{}
  .guidance_cont .project section .gray_box{margin-top: 27px; padding: 25px 20px;}
  .project section .gray_box ul{}
  .project section .gray_box ul li{font-size: 14px;}

  /* 오프라인 마라톤 신청 */
  .apply_offline{margin-top: 60px;}
  .apply_offline .title{font-size: 18px; line-height: 20px;}
  .apply_offline .process{gap: 25px;}
  .apply_offline .process .box{height: 35px; line-height: 33px; font-size: 12px; padding: 0 12px;}
  .apply_offline .process .box:not(:first-of-type)::before{width: 25px; left: -26px;}
  .apply_offline .noti{font-size: 12px; line-height: 16px;}
  .apply_offline .btn_cont{margin-top: 40px;}
  .apply_offline .btn_cont a{width: 250px; height: 44px; line-height: 46px; font-size: 14px;}
  .apply_offline .red_noti{margin-top: 40px; font-size: 11px; line-height: 14px;}

  /* 드롭박스(셀렉트박스) */
  .basic_dropbox{font-size: 14px;}
  .basic_dropbox button.top_box{height: 44px;}
  .basic_dropbox ul.drop{line-height: 17px;}

  /* 신청 입력 폼 */
  .form_box{padding: 30px; font-size: 14px; line-height: 17px;}
  .form_box .form_title{font-size: 16px; line-height: 20px;}
  .form_cont{margin-top: 9px;}
  .form_cont .line{padding: 16px 0; display: block;}
  .form_cont .line .subline_02{margin-top: 16px;}
  .form_cont .line .tit{width: 102px; padding-top: 14px;}
  .form_cont .line .subline_02 .tit{width: 102px;}
  .form_cont .line .subline_01 .cont{width: auto;}
  .form_cont .line .cont .basic_dropbox{width: 230px;}
  .form_cont .line .cont input[type="text"]{height: 44px;}
  .form_cont .line .cont label{margin-left: 23px;}
  .form_cont .line .cont .mail_input_area input[type="text"]{width: 140px;}
  .form_cont .line .noti_txt{font-size: 11px; line-height: 14px;}
  .form_cont .line .ml183{margin-left: 0;}
  .form_cont .line .w276{width: auto;}
  .form_cont .red_btn{width: 120px;}
  .form_cont .btns_cont{margin-top: 9px; gap: 20px;}
  .form_cont .id_num{margin-top: 14px;}

  .form_box.policy_box .form_cont .line .subline_01{display: block;}
  .form_box.policy_box .form_cont .line .tit{width: auto;}
  .form_box.policy_box .form_cont .line .cont{margin-top: 17px;}
  .form_box.policy_box .form_cont .agree_cont{margin-top: 12px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line{height: 15px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line:not(:first-of-type){margin-top: 10px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .left{gap: 10px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .left .tit_area{font-size: 11px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .left .detail{font-size: 10px;}
  .form_box.policy_box .form_cont label{gap: 5px; margin-left: 0;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .right label{margin-left: 10px;}
  .form_box.policy_box .form_cont .txt_area{font-size: 12px; line-height: 16px;}
  .form_box.policy_box .form_cont .chk_area.mt27{margin-top: 15px;}
  .form_box.policy_box .form_cont .year_area{margin-top: 15px;}

  .form_box.policy_box.pay .form_cont .line .subline_01{display: flex; gap: 10px;}
  .form_box.policy_box.pay .form_cont .line .subline_01 .tit{padding-top: 0;}
  .form_box.policy_box.pay .form_cont .line .subline_01 .cont{margin-top: 0;}
  .form_box.policy_box.pay .form_cont .red_btn{width: 200px;}

  /* 오프라인 마라톤 신청 페이지 내 참가지역 선택 팝업 */
  .region_cont dl{width: 134px;}

  /* 오프라인 마라톤 신청 페이지 내 취소 환불 안내 팝업 */
  .pop_cont .pay_noti{font-size: 18px; line-height: 22px; letter-spacing: -0.5px;}

  /* 결제완료(신청 확인) */
  .apply_offline .noti.size24{margin-top: 25px;}
  .check_apply .table_group{margin-top: 20px;}
  .check_apply .table_group col:first-of-type{width: 142px;}

  /* 신청 확인 - 로그인 */
  .check_login_box .noti{font-size: 14px; line-height: 17px;}
  .check_login_box .btn_cont{margin-top: 25px;}
  .check_login_box .btn_cont a{width: 200px;}

  /* 신청 확인 - 신청정보 확인 */
  .check_info .table_group col:first-of-type{width: 103px;}
  .txt_btn_cont{margin-top: 60px;}
  .txt_btn{font-size: 16px; line-height: 18px;}
  .check_info .btn_cont{margin-top: 20px;}

  /* 신청 확인 - 신청정보 확인 - 동반인 신청확인*/
  .accompany .txt_btn_cont{margin-top: 60px;}
  .check_info.accompany .btn_cont{margin-top: 20px;}

  /* FAQ */
  .faq_wrap .page_upper_wrap{background-image: url(../../images/faq_wrap_bg_tab.png);}
  .faq_wrap .tab_group{margin-top: 60px;}
  .faq{margin-top: 50px;}
  .faq_list{padding: 10px 0;}
  .faq_list dl dt{padding: 22px 10px; font-size: 12px; line-height: 15px;}
  .faq_list dl .left{gap: 20px;}
  .faq_list dl dd{padding: 15px 10px; font-size: 11px; line-height: 14px;}

  .pagination{margin-top: 50px;}
  .pagination button{font-size: 14px; line-height: 17px;}

}


/*********************** 태블릿만 *************************/
@media screen and (min-width:768px) and (max-width:1023px){
  /* 공통 레이아웃 */
  .hide_tablet{display: none;}
}


/*********************** 모바일만 *************************/
@media screen and (max-width:767px){
  /* 공통 레이아웃 */
  .hide_mob{display: none;}
  main{padding-bottom: 100px;}
  
  /* 모바일 GNB */
  .gnb_mob .menu{width: 260px;}

  /* 화면 하단 플로팅 배너 바 */
  .bottom_bar{width: 100%; gap: 15px; border-radius: 0; height: 65px;}
  .bottom_bar .center{}
  .bottom_bar .center a{width: 120px; font-size: 12px; line-height: 17px; text-align: center; letter-spacing: -0.42px; padding: 0 10px;}
  .bottom_bar .right{position: static; transform: none;}
  .bottom_bar .right .top{width: 45px; border-radius: 50%; font-size: 16px; letter-spacing: -0.48px;}

  /* 메인 페이지 */
  .main_visual{height: 999px; background-image: url(../../images/visual_mob.png); background-size: 767px; padding-bottom: 32px;}
  .main_tit{font-size: 24px; line-height: 24px; letter-spacing: -0.72px;}
  .main_visual .video_wrap .vider_cont .video_box{margin-top: 15px;}
  .main_visual .video_wrap .vider_cont .video_box iframe{width: 305px; height: 172px;}

  .main_wrap_01{height: auto; padding: 60px 62.5px;}
  .main_wrap_01 .gift{margin-top: 40px; display: block;}
  .main_wrap_01 .gift article{width: 250px; height: 250px; margin: 20px auto 0; background: #fff url(../../images/gift_bg.svg) no-repeat right 10px top 10px;}
  .main_wrap_01 .gift article.special{width: 250px; height: 280px; background: #fff url(../../images/gift_bg.svg) no-repeat right 10px top 10px;}
  .main_wrap_01 .gift article .img_area{margin-top: 14px;}
  .main_wrap_01 .gift article.special .img_area{margin-top: 0;}
  .main_wrap_01 .gift article .img_area img{height: 140px;}
  .main_wrap_01 .gift article.special .img_area img{height: 125px;}
  .main_wrap_01 .gift article.special:hover .img_area img{transform: scale(1.05);}
  .main_wrap_01 .gift article .tit{margin-top: 14px;}
  .main_wrap_01 .gift article .red_box{font-size: 14px; letter-spacing: -0.42px;}
  .main_wrap_01 .gift article .txt{margin-top: 0;}
  .main_wrap_01 .gift article .txt .txt1{font-size: 12px; line-height: 140%; letter-spacing: -0.36px;}

  .main_wrap_02{padding-top: 60px;}
  .main_wrap_02 .schedule{max-width: 300px; margin-top: 40px; gap: 15px; padding: 0;}
  .main_wrap_02 .schedule a{width: 140px; height: 146px;}
  .main_wrap_02 .schedule a .place{font-size: 12px; line-height: 17px; letter-spacing: -0.36px;}

  /* 푸터 */
  footer{padding-bottom: 65px;}/*하단 고정 배너바 65*/
  footer .upper{padding: 35px 20px;}
  footer .upper_cont{max-width: 600px;}
  footer .upper dl{gap: 28px;}
  footer .upper dl dt{width: 36px; font-size: 14px;}
  footer .upper dl dd{gap: 11px 6px;}
  footer .lower{margin-top: 0;}  
  footer .lower .lower_cont{display: block; padding: 20px 0;}
  footer .lower .lower_cont article{width: auto;}
  footer .lower .lower_cont article:not(:first-of-type){margin-top: 20px;}

  /* 메인페이지 내 기념품 팝업 */
  .gift_pop{width: 350px; height: 350px; border-width: 2px;}
  .gift_pop .btn_cont{top: 25px; right: 25px;}
  .gift_pop .img_cont img{width: 300px; display: none;}

  /* 메인 팝업(참가신청안내) */
  .main_pop{width: 300px; height: 325px; border-width: 5px; padding-top: 126px; background-image: url(../../images/main_pop_bg_mob.png);}
  .main_pop .txt_cont{font-size: 14px; line-height: 130%; letter-spacing: -0.42px;}
  .main_pop .txt_cont span{color: #E72410;}
  .main_pop .btns_cont{margin-top: 30px; gap: 0;}
  .main_pop .btns_cont button{width: 161px; font-size: 16px; font-weight: 700;}
  .main_pop .btns_cont button:nth-of-type(2){width: 100px;}

  /* 탭과 탭 컨텐츠 */
  .tab_group .tabs button{height: 50px; font-size: 12px;}
  .tab_group .tabs button.on{font-size: 14px;}
  .tab_group .tabs.small button{font-size: 11px;}
  .tab_group .tabs.small button.on{font-size: 11px;}

  /* 국제어린이마라톤 */
  .page_upper_wrap{height: 273px; background: url(../../images/intro_wrap_bg_mob.png) no-repeat 100% 0; padding-left: 25px;}
  .page_upper_wrap .upper_cont{padding-top: 25px;}
  .page_upper_wrap .upper_cont .tit{font-size: 23px; line-height: 36px;}
  .page_upper_wrap .upper_cont .txt{display: none;}
  .intro_wrap .txt_wrap{margin-top: 60px;}
  .intro_wrap .txt_wrap .tit{font-size: 24px; line-height: 27px;}
  .intro_wrap .txt_wrap .txt{margin-top: 30px;}
  .intro_wrap .tab_group{margin-top: 30px;}

  .sponsorship{margin-top: 30px;}
  .sponsorship .img_cont img{width: 100%;}
  .sponsorship .txt_cont{margin-top: 30px; font-size: 14px; line-height: 18px;}
  .sponsorship .txt_cont .txt2{margin-top: 18px;}

  .project{}
  .project section{margin-top: 60px;}
  .project section .tit .num{width: 20px; height: 20px; font-size: 14px; line-height: 20px;}
  .project section .tit .txt{font-size: 14px; line-height: 16px;}
  .project section .upper_txt{margin-top: 27px;}
  .project section .gray_box{margin-top: 25px; gap: 30px 10px; padding: 25px 30px;}
  .project section .gray_box dl dt{width: 100px; height: 100px;}
  .project section .gray_box dl dt img{width: 70px;}
  .project section .gray_box dl dd{margin-top: 14px; font-size: 12px; line-height: 16px; width: 120px;}

  .project section .gray_box.mob_horizontal{flex-direction: column; align-items: center;}
  .project section .gray_box.mob_horizontal dl{flex-direction: row; gap: 20px;}
  .project section .gray_box.mob_horizontal dl dd{margin-top: 0; width: 130px;}

  .change .top_wrap .img_cont{margin-top: 25px;}
  .change .top_wrap .lower_txt{margin-top: 20px;}
  .change .top_wrap .lower_txt p.txt1{font-size: 18px; line-height: 23px;}

  .change_list .list .left{gap: 100px;}
  .change_list .list .right{margin-top: 16px;}

  /* 코스 및 프로그램 */
  .guide_wrap .page_upper_wrap{background-image: url(../../images/guide_bg_mob.png);}
  .guide_wrap .page_upper_wrap .upper_cont{padding-top: 25px;}

  .guide_wrap .tab_group{margin-top: 60px;}
  .section_tit{margin-top: 45px;}
  .course .img_wrap{margin-top: 45px;}
  .program_wrap{margin-top: 60px;}
  .program_box{padding-bottom: 46px;}
  .program_box .list_cont{margin-top: 0;}

  /* 오프라인 마라톤 안내 */
  .table_group .tit_wrap .noti{width: 147px;}

  .normal_pop{width: 300px; padding: 40px 25px;}
  .normal_pop .pop_top .title{font-size: 18px; line-height: 20px;}
  .pop_bottom.two_btns .red_btn{width: 116px;}

  .table_group.small table colgroup col:first-of-type{width: 55px;}
  .table_group.small table tr td{padding-left: 5px; padding-right: 5px;}

  .small_noti{margin-top: 21px;}

  .course_map .table_group.small table colgroup col:first-of-type{width: 115px;}

  .zone{margin-top: 20px; display: block; width: 200px;}
  .zone dl{margin-top: 20px;}
  .zone dd{margin-top: 11px;}
  .zone dd ul{padding-left: 20px;}
  .zone dd ul li{font-size: 10px; line-height: 12px;}

  .zone.schedule_list{margin-top: 20px;}
  .zone.schedule_list dd{display: block;}
  .zone.schedule_list dd ul{width: 100%;}
  .zone.schedule_list dd ul:nth-of-type(2){margin-top: 6px;}
  .zone.schedule_list dd ul li b{width: 80px;}

  /* 참가 신청 안내 */
  .guidance_wrap .page_upper_wrap{background-image: url(../../images/guidance_wrap_bg_mob.png);}
  .guidance_wrap .page_upper_wrap .upper_cont{padding-top: 30px;}
  .guidance_wrap .page_upper_wrap .upper_cont .txt{display: block; margin-top: 6px;}

  .guidance_cont .project section .gray_box{margin-top: 28px; padding: 25px;}

  /* 오프라인 마라톤 신청 */
  .apply_offline .btn_cont a{width: 280px;}

  /* 드롭박스(셀렉트박스) */
  .basic_dropbox{font-size: 14px;}
  .basic_dropbox button.top_box{height: 40px;}
  .basic_dropbox ul.drop{max-height: 180px;}
  .basic_dropbox ul.drop li{padding: 12px 20px;}

  /* 신청 입력 폼 */
  .form_box{padding: 30px 20px;}
  .form_cont{margin-top: 17px;}
  .form_cont .line{padding: 15px 0;}
  .form_cont .line.mail_line .subline_01{display: block;}
  .form_cont .line.mail_line .subline_01 .cont{margin-top: 10px;}
  .form_cont .line .subline_01.address{display: block;}
  .form_cont .line .subline_01.address .cont{margin-top: 10px;}
  .form_cont .line .subline_02{margin-top: 15px; flex-wrap: nowrap;}
  .form_cont .line .tit{padding-top: 12px;}
  .form_cont .line .cont{flex-grow: 1;}
  .form_cont .line .cont .basic_dropbox{width: 100%;}
  .form_cont .line.mail_line .cont .basic_dropbox{width: 75px; flex-shrink: 0; font-size: 9px;}
  .form_cont .line.mail_line .cont .basic_dropbox .top_box{padding: 0 20px 0 4px; background-position: right 8px top 50%; background-size: 12px;}
  .form_cont .line.mail_line .cont .basic_dropbox ul li{padding: 12px 2px;}
  .form_cont .line .cont input[type="password"],
  .form_cont .line .cont input[type="text"]{height: 40px; width: 100%;}
  .form_cont .line .cont label{margin-left: 18px;}
  .form_cont .line .cont .mail_input_area input[type="text"]{width: 90px;}
  .form_cont .line .cont .zip_code input[type="text"]{width: 150px;}
  .form_cont .line .cont .zip_code .red_btn{width: 100px;}
  .form_cont .btns_cont{margin-top: 17px; gap: 15px;}
  .form_cont .id_num{margin-top: 16px;}
  .form_cont .id_num .num_cont{display: block;}
  .form_cont .id_num .num_cont .left{gap: 9px;}
  .form_cont .id_num .num_cont .left input[type="password"],
  .form_cont .id_num .num_cont .left input[type="text"]{width: 96px; font-size: 11px; padding: 0 8px;}
  .form_cont .id_num .num_cont .right{margin-top: 11px;}

  .form_box.policy_box .form_cont .line .tit{padding-top: 0;}
  .form_box.policy_box .form_cont .line .cont{margin-top: 16px;}
  .form_box.policy_box .form_cont .agree_cont{margin-top: 0;}
  .form_box.policy_box .form_cont .agree_cont .agree_line{height: 16px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line:not(:first-of-type){margin-top: 16px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .left{gap: 2px;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .left .tit_area{font-size: 10px;}
  .form_box.policy_box .form_cont label{gap: 8px; margin-left: 0;}
  .form_box.policy_box .form_cont .agree_cont .agree_line .right label{margin-left: 4px; font-size: 10px; gap: 2px;}
  .form_box.policy_box .form_cont .txt_area{font-size: 11px; line-height: 14px;}
  .form_box.policy_box .form_cont .chk_area.mt27{margin-top: 16px;}
  .form_box.policy_box .form_cont .year_area{margin-top: 16px;}

  .form_box.policy_box.pay .form_cont .line .subline_01{gap: 35px;}
  .form_box.policy_box.pay .form_cont .red_btn{width: 120px;}

  /* 오프라인 마라톤 신청 페이지 내 참가지역 선택 팝업 */
  .region_cont{padding-top: 0;}
  .region_cont dl{width: 117px; height: 115px; padding-top: 21px;}
  .region_cont dd p{font-size: 10px; line-height: 15px;}

  /* 오프라인 마라톤 신청 페이지 내 취소 환불 안내 팝업 */
  .pop_cont .pay_noti{padding: 20px 0; font-size: 14px; line-height: 17px;}

  /* 신청 결과 팝업, 참가신청서 */
  .normal_pop.apply_result_pop{width: 300px; padding: 40px 25px;}
  .normal_pop.apply_result_pop .pop_top{padding: 0;}
  .apply_result .tit_wrap{font-size: 16px; line-height: 18px;}
  .apply_result .gray_box{margin-top: 20px; margin-bottom: 20px; font-size: 12px; line-height: 15px;}
  .letter{height: 450px; background-image: url(../../images/letter_bg_mob.png); padding: 120px 10px 0;}
  .letter .info_box{position: static; padding: 20px; width: 100%;}
  .letter .info_box .name{height: 60px; font-size: 35px; line-height: 60px; letter-spacing: 3.6px;}
  .letter .info_box ul li{margin-top: 20px; height: 15px;}
  .letter .info_box ul li .left{font-size: 12px;}
  .letter .info_box ul li .right{font-size: 12px;}
  .letter .info_box .noti{margin-top: 20px; font-size: 10px; line-height: 12px;}

  /* 결제완료(신청 확인) */
  .check_apply .table_group col:first-of-type{width: 103px;}

  /* 신청 확인 - 로그인 */
  .check_login_box .noti{font-size: 12px; line-height: 15px;}
  .check_login_box .btn_cont a{width: 120px;}

  /* 신청 확인 - 신청정보 확인 - 동반인 신청확인*/
  .accompany .txt_btn_cont{margin-top: 50px;}

  /* FAQ */
  .faq_wrap .page_upper_wrap{background-image: url(../../images/faq_wrap_bg_mob.png);}
  .faq_list{padding: 10px 0 20px;}

}