@charset "utf-8";

.foodinfo_section{position: relative; padding-bottom: 48px; border-bottom: 1px solid #E6E6EB;}
.foodinfo_section .food_link{display: flex; align-items: center; position: absolute; top: 45px; right: 0; height: 32px; line-height: 32px; padding: 0 16px; background-color: #7a45e5; border-radius: 25px; color: #fff; font-size: 16px; font-weight: 700;}
.foodinfo_section .food_link::after{content: ''; display: inline-block; margin-left: 6px; width: 16px; height: 16px; background: url(../img/food_link.png) 0 0 / 100% 100% no-repeat;}
.foodinfo_section button{border: none; background: transparent; padding: 0; margin: 0; font-family: inherit;}

.booth_select{position: absolute; z-index: 50; width: 100%; background-color: #fff; border: 1px solid #000; border-radius: 10px; padding: 0 28px; margin-top: 16px;}
.booth_select .sel_btn{color: #000; width: 100%; height: 56px; line-height: 56px; padding-right: 25px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; text-align: left; font-weight: 800; font-size: 18px; line-height: 1; position: relative;}
.booth_select .sel_btn::after{content: ''; display: inline-block; width: 18px; height: 12px; background: url(../img/food_open.png) 0 0 / 100% 100% no-repeat; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
.booth_select .sel_btn.active{border-bottom: 1px solid #E6E6EB;}
.booth_select .sel_btn.active::after{transform: rotate(180deg) translateY(-50%); transform-origin: top;}
.booth_select ul{display: none; margin: 15px 0; min-height: 220px; max-height: 220px; overflow-y: auto;}
.booth_select ul::-webkit-scrollbar{width: 5px;}
.booth_select ul::-webkit-scrollbar-thumb{background-color: #E6E6EB; border-radius: 5px;}
.booth_select ul li{padding: 13px 0;}
.booth_select ul li a{font-size: 18px; color: #666670; line-height: 1; display: block; width: 100%;}
.booth_select ul li a:focus, .booth_select ul li a:hover{font-weight: 800; color: #000;}
.booth_img.cursor-pointer {
  cursor: pointer; /* 마우스 포인터를 변경 */
}

.booth_menu{margin-top: 75px;}
.booth_menu ul{padding: 16px 8px; display: flex; flex-wrap: wrap; gap: 24px; position: relative; height: 168px; overflow: hidden;}
.booth_menu ul::after{content: ''; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 100px; background-image: linear-gradient(transparent 0%, #fff 80%);}
.booth_menu ul.view{height: auto; overflow: visible;}
.booth_menu ul.view::after{display: none;}
.booth_menu ul li{display: flex; flex: 0 0 calc((100% - 48px) / 3); }
.booth_menu ul li > img{border-radius: 50%; width: 56px; height: 56px; overflow: hidden; object-fit: cover;}
.booth_menu ul li div{flex: 1; margin-left: 8px; padding: 0 8px;}
.booth_menu ul li div strong{display: block; font-size: 18px; line-height: 24px; margin-bottom: 6px; color: #1A1A24;}
.booth_menu ul li div span{color: #666670; font-size: 16px; line-height: 18px;}

.foodinfo_section .btn_moremenu{color: #7A45E5; font-weight: 600; float: right; font-size: 16px; margin-top: 10px !important;}
.foodinfo_section .notice{margin-top: 60px;}
.foodinfo_section .notice p{font-size: 14px; color: #666670;}
.foodinfo_section .message {background: #F4F3FF; padding: 20px 28px; margin: 48px 0 0 0;}
.foodinfo_section .message p {color: #33333D; font-weight: 400; font-size: 16px; line-height: 20px; word-break: keep-all;}
.foodinfo_section .message strong {font-weight: 700; color: #7A45E5;}
.foodinfo_section .message .tel {color: #7A45E5; margin: 20px 0;}
.btn-popfood{cursor: pointer;}


#foodPop .mo{display: none;}
#foodPop .logo-food{position: absolute; top: 20px; left: 40px; z-index: 100;}
#foodPop .btn-layer-close{z-index: 100;}
#foodPop .logo-food img{width: 168px;}
#foodPop .layer-popup-contents{height: 700px; background: #fff; top: 50%; transform: translateY(-50%);}
#foodPop .inner_popup{padding: 0 40px 30px; margin-top: 80px; max-height: 600px; overflow-y: auto;}
#foodPop .pop-title{display: block; text-align: center; font-weight: 700; font-size: 30px;}
#foodPop p{text-align: center;}
#foodPop p.notice{font-size: 14px; color: #666670; margin: 5px 0 15px;}

.list-foodwrap{display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.list-foodwrap ul{padding-top: 30px; display: flex; width: 100%;}
.list-foodwrap ul li{width: 280px; padding: 0 15px; box-sizing: border-box; margin-bottom: 25px;}
.foodname{display: block; font-size: 20px; font-weight: 700; margin-bottom: 10px;}
.price{display: block; color: #666670; font-size: 16px; font-weight: 500;}
.list-delegatefood{justify-content: center;}
.list-delegatefood .img{display: block; border-radius: 8px; width: 100%; height: 180px; overflow: hidden; margin-bottom: 15px;}
.list-delegatefood .img img{width: 100%; height: 100%; object-fit: cover;}
.list-etcfood{flex-wrap: wrap;}
.list-etcfood li{flex: 0 0 33%;}

#foodPop .infomore{font-size: 16px; color: #7a45e5; margin: 30px 0 15px;}
#foodPop .btn-foodinfo{display: flex; align-items: center; justify-content: center; margin: 0 auto; width: 300px; height: 60px; background-color: #7a45e5; border-radius: 30px; color: #fff; font-weight: 700; font-size: 20px;}

/* faq */
.faq button{border: none; padding: 0; margin: 0; background: transparent; font-family: inherit;}
.faq_sort{display: flex; align-items: center; gap: 10px;}
.faq_sort a{text-align: center; border: 1px solid #7a45e5; border-radius: 25px; color: #7a45e5; line-height: 46px; width: 220px; height: 46px; box-sizing: border-box;}
.faq_sort a.on{background: #7a45e5; color: #fff;}

.faq_tab{margin-top: 16px;}
.faq_tab .sel_btn{display: none;}
.faq_tab .tab{display: flex; justify-content: space-between;}
.faq_tab .tab a{flex: 0 0 20%; height: 56px; line-height: 56px; text-align: center; color: #666670; font-size: 18px; border-bottom: 2px solid #CCCCD1; box-sizing: border-box;}
.faq_tab .tab a.on{color: #4D4D57; border-bottom: 3px solid #4D4D57; font-weight: 700; }

.tabcont_wrap{margin-top: 24px;}
.faq_list{display: none; margin-top: 16px;}
.faq_list.active{display: block;}
.faq_list > ul > li{padding-top: 26px; border-bottom: 1px solid #E6E6EB;}
.faq_list ul li .accordion_q{display: block; position: relative; width: 100%; margin-bottom: 26px; padding: 0 30px; text-align: left; font-size: 18px; line-height: 1.4; font-weight: 600; color: #4D4D57;}
.faq_list ul li .accordion_q em{position: absolute; left: 0; top: 0; font-size: 20px; line-height: 1.2; font-weight: 700; color: #7a45e5; padding-right: 5px;}
.faq_list ul li .accordion_q::after{content: ''; position: absolute; top: 10px; right: 2px; display: inline-block; width: 12px; height: 7px; background: url(../img/faq/faq_q_arrow.png) 0 0 / 100% 100% no-repeat;}
.faq_list ul li.on .accordion_q::after{transform: rotate(180deg);}
.faq_list ul li .accordion_a{display: none; padding: 20px 30px; background-color: #F2F2F7; color: #666670; line-height: 1.4;}
.faq_list ul li .accordion_a a{word-break: break-all;}
.faq_list ul li .accordion_a a:hover{text-decoration: underline;}
.accordion_a .customerEmail{font-size: 16px; color: #666670;}
.accordion_a .touraz + .touraz{margin-top: 20px;}
.accordion_a .touraz ul li, .accordion_a .touraz ol li{margin-top: 0;}
.accordion_a .touraz .noti{ display: block; margin-top: 10px;}
.accordion_a ul li, .accordion_a ol li{margin-top: 15px;}
.accordion_a ol li ol li{margin-top: 0;}
.accordion_a em{font-weight: 700;}
.accordion_a .bold{font-weight: 700;}
.accordion_a .underline{text-decoration: underline; text-underline-offset: 3px;}
.accordion_a .downlad{margin-top: 15px;}
.accordion_a .downlad span{display: block; margin-bottom: 5px; font-weight: 600; }
.accordion_a .downlad li{position: relative; margin-bottom: 5px; padding-left: 10px;}
.accordion_a .downlad li::before{content: ''; display: inline-block; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 50%; background-color: #666670;}
.accordion_a .downlad .btn_download{display: inline-block; margin-left: 8px; width: 65px; height: 26px; line-height: 26px; color: #fff; font-size: 14px; font-weight: 500; background-color: #666670; border-radius: 20px;}

.faq_notice{background-color: #FAFAFA; color: #666670; padding: 20px 30px; margin: 48px 0 98px; font-size: 14px; line-height: 1.4;}
.faq_notice button{font-weight: 700; color: #666670; font-size: 14px; text-decoration: underline; text-underline-offset: 3px;}

/* map */
.btn_mapdown{position: absolute; top: 4px; right: 0; font-family: inherit; border: none; height: 40px; padding: 0 16px; background-color: #7a45e5; color: #fff; border-radius: 30px; font-size: 16px; font-weight: 700;}
.btn_mapdown::after{content: ''; display: inline-block; margin-left: 4px; width: 14px; height: 14px; background: url(../img/map/btn_download.png) 0 0 / 100% 100% no-repeat;}
.festival_map{display: flex; align-items: center; margin-bottom: 48px; height: 650px; background: url(../img/map/bg_map.jpg) 0 0 / 100% 100% no-repeat;}
.festival_map .map_city{position: relative; width: 330px; height: 550px; margin: 0 19px 0 40px; background: url(../img/map/city01.png) 0 0 / 100% 100% no-repeat;}
.map_city .sel_btn{display: none;}
.map_city.city02{background-image: url(../img/map/city02.png);}
.map_city.city03{background-image: url(../img/map/city03.png);}
.map_city.city04{background-image: url(../img/map/city04.png);}
.map_city.city05{background-image: url(../img/map/city05.png);}
.map_city a{position: absolute; display: inline-block; text-indent: -9999px; width: 116px; height: 32px; top: 118px; left: 11px;}
.map_city .city02{width: 106px; height: 32px; top: 91px; left: 155px;}
.map_city .city03{width: 116px; height: 32px; top: 201px; left: 12px;}
.map_city .city04{width: 145px; height: 32px; top: 274px; left: 168px;}
.map_city .city05{width: 87px; height: 32px; top: 317px; left: 18px;}
.festival_map .detailmap_wrap{width: 524px; height: 620px;}
.detailmap_wrap img{width: 100%;}
.detailmap_wrap .detail_map{display: none;}
.detailmap_wrap .detail_map.active{display: block;}

/* 테마 리스트 */
.theme_title{background-color: #F8F9FF; height: 200px; margin-top: 30px;}
.theme_title .inner{display: flex; align-items: center;}
.theme_title span{color: #1A1A24; font-size: 32px; margin-top: -27px; line-height: 1.25;}
.theme_title span em{font-weight: 700;}
.theme_title img{width: 360px; margin: 27px 0 0 180px;}
.other_list.type2 .theme_title + .inner .other_festival{padding-top: 33px;}

.other_list .inner .theme_list .other_festival_ul li{height: 320px;}
.theme_list .other_festival_content{position: relative;}
.other_list .inner .theme_list .other_festival_ul li a .other_festival_content .date{padding: 8px 0 0 0;}
.theme_list .view{position: absolute; bottom: 0; right: 8px; font-weight: 500; font-size: 14px; color: #80808a;}
.theme_list .view::after{content: ''; display: inline-block; margin-left: 4px; vertical-align: -2px; width: 19px; height: 13px; background: url(../img/ico_view.png) 0 0 / 100% 100% no-repeat;}

/* 테마 템플릿 */
.event_visual .inner,
.event_list .inner {max-width: 928px; margin: 0 auto;}
.event_visual .bg {background: #FFF9D4; margin-top: 47px;}
.event_visual .bg .inner {display: flex;}
.event_visual .bg .tit {padding-top: 100px; max-width: 328px; word-break: keep-all;}
.event_visual .bg span {display: block; color: #736300; font-weight: 400; font-size: 24px; line-height: 28px; letter-spacing: -1px;}
.event_visual .bg strong {display: block; color: #00000A; font-weight: 700; font-size: 44px; line-height: 54px; letter-spacing: -1px; padding-top: 20px;}
.event_visual .bg figure {margin: 40px 0 0 40px; overflow: hidden;}
.event_visual .bg figure img { display: block; width: 560px; height: 410px;object-fit: cover; border-radius: 400px 400px 0px 0px;}

.event_list + .event_list {padding-top: 60px;}
.event_list img {display: block; object-fit: cover; width: 100%; height: 100%;}
.event_list ul{display: grid;}
.event_list .main_tit {box-sizing: border-box; margin: 0 auto 20px; width: 500px; padding: 16px 10px; border-radius: 50px; display: flex; justify-content: center; align-items: center; font-weight: 700; font-size: 24px; line-height: 26px; color: #fff; text-align: center; word-break: keep-all;}
.event_list .sub_tit{font-weight: 700; font-size: 20px; line-height: 24px; color: #1A1A24; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.event_list .date{font-weight: 400; font-size: 16px; line-height: 16px; color: #1A1A24; padding: 12px 0 10px 0;}
.event_list .location{font-weight: 400; font-size: 16px; line-height: 16px; color: #666670;}

.event_list.list01 .main_tit{background: #FF89AE;}
.event_list.list01 ul {grid-template-columns: repeat(2, 1fr); gap:20px 32px;}
.event_list.list01 figure {width: 448px; height: 310px;}
.event_list.list01 .sub_tit {max-width: 448px;}

.event_list.list02 .main_tit{background: #FFA143;}
.event_list.list02 ul {grid-template-columns: repeat(3, 1fr); gap:32px;}
.event_list.list02 figure {width: 288px; height: 288px;}
.event_list.list02 figure img { border-radius: 50%;}
.event_list.list02 .sub_tit {max-width: 288px;}

.event_list.list03 .main_tit{background: #6BB8FF;}
.event_list.list03 ul {grid-template-columns: repeat(2, 1fr); gap:32px;}
.event_list.list03 a { display: flex; align-items: center;}
.event_list.list03 figure {min-width: 216px;  width: 216px; height: 200px;}
.event_list.list03 .txt_bx {padding-left: 20px;}

.event_list.list01 ul,
.event_list.list02 ul {text-align: center;}
.event_list.list01 .txt_bx,
.event_list.list02 .txt_bx {padding-top: 14px;}
.event_list.list01 figure img,
.event_list.list03 figure img {border-radius: 8px;}

.event_list .swiper-container {overflow: hidden;}
.event_list .swiper-pagination {display: none;}
.event_list a {width: 100%; height: 100%; display: block;}
.event_list a:focus {position: relative;}
.event_list a:focus::after {content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); outline: 2px solid red; width: 99.57%; height: 99.091%; }
.event_list a:focus-visible {outline: 0;}


.template-groups > section:first-child {padding-top: 106px;}
.template-groups > section:last-child {padding-bottom: 123px;}

/* editor */
.template_editor {max-width: 928px; margin: 0 auto; text-align: center; padding: 100px 0 0 0; word-break: keep-all;}
.template_editor img {max-width: 928px;}

/* 404 error */
.error_page {height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #1A1A24;}
.error_page .pc {display: block;}
.error_page .mo {display: none;}
.error_page img {width: 100%;}
.error_page .error_box {display: flex ; flex-direction: column; justify-content: center; align-items: center; padding: 0 0 80px 0; max-width: 319px;}
.error_page .error_box strong {font-weight: 700; font-size: 20px; line-height: 27px; display: block; padding: 20px 0 0 0; text-align: center;}
.error_page .link_wrap {display: flex; gap: 60px; font-size: 18px;}
.error_page .link_wrap p {font-weight: 400; line-height: 24px; text-align: center;}
.error_page .link_wrap strong {font-weight: 700;}
.error_page .link_wrap a {font-weight: 500; line-height: 48px; color: #fff; border-radius: 50px; width: 190px; height: 45px; margin: 16px auto 0; display: flex; justify-content: center; align-items: center;}
.error_page .link_wrap .left a {background: #7A45E5;}
.error_page .link_wrap .right a {background: #3D3D82;}

/* 축제 상세 > 축제 찜하기 버튼 */
.poster_slide .inner .like_share_cnt_box li {position: relative;}
.pick_btn {background: url(../img/icon_pick_off.png) no-repeat center / 24px 24px; width: 24px; height: 24px; border: 0; padding: 0;}
.pick_btn.on {background: url(../img/icon_pick_on.png) no-repeat center / 24px 24px;}
.pick_bubble {display: none; border: 1px solid #000; background: #FFF; border-radius: 8px; position: absolute; left: -18px; top: 38px; width: 164px; padding: 26px 26px 16px 25px;}
.pick_bubble::after {content: ""; background: url(../img/icon_polygon.png) no-repeat center / contain; width: 15px; height: 13px; position: absolute; left: 22px; top: -12.5px;}
.pick_bubble p {text-align: center; font-weight: 400; font-size: 14px; line-height: 18px; color: #1A1A24; padding: 0 0 8px 0;}
.pick_bubble p strong {font-weight: 700;}
.pick_bubble a {font-weight: 700; font-size: 12px; line-height: 18px; color: #fff; width: 113px; height: 28px; background: #7A45E5; border-radius: 50px; display: flex; justify-content: center; align-items: center;}
.pick_close { position: absolute; top: 9px; right: 9px; background: url(../img/pick_close.png) no-repeat center / 16px 16px; width: 16px; height: 16px; border: 0;}

/* 찜한 축제 목록 */
.festival_picks .pc {display: block;}
.festival_picks .mo {display: none;}
.festival_picks .inner {width: 100%;}
.festival_picks figure img {margin: 0 auto;}
.pick_visual {background: #F8F9FF; margin: 30px 0 0 0; }
.pick_visual .bg {display: flex; justify-content: space-between; height: 264px;}
.pick_visual .text {display: flex; flex-direction: column; justify-content: center;}
.pick_visual .text strong { font-weight: 700; font-size: 32px; line-height: 40px; color: #1A1A24;}
.pick_visual .text strong > span {color: #7A45E5;}
.pick_visual .text p {font-weight: 400; font-size: 20px; line-height: 24px; letter-spacing: -1px; color: #00000A; padding: 16px 0 0 0;}
.pick_visual .text p  > span {font-weight: 700;}
.pick_visual figure {display: flex; align-items: flex-end;}

.pick_header_wrap .pick_header {margin: 60px 0 0 0; padding: 0 0 40px 0; border-bottom: 1px solid #E6E6EB; display: flex; align-items: center; position: relative;}
.pick_header_wrap .pick_header strong {font-weight: 700; font-size: 32px; line-height: 48px; color: #1A1A24; display: block;}
.pick_header_wrap .festival_expln_btn {position: relative; z-index: 2;}
.pick_header_wrap .tooltip {display: flex ; align-items: center; position: relative;}
.pick_header_wrap .pick_header .festival_expln_box {padding: 26px 49px 24px 24px; width: 515px; top: 55px; left: 0;}
.pick_header_wrap .pick_header .festival_expln_box p {font-weight: 400; font-size: 16px; line-height: 24px;}
.pick_header_wrap .pick_header .festival_expln_box p:nth-of-type(3) {font-weight: 700; text-decoration: underline; text-decoration-color: #1A1A24; text-underline-offset: 3px;}
.pick_header_wrap .pick_header .festival_expln_box::after {left: var(--arrow-left, 50%); right: auto;}
.pick_selected .pick_body {padding: 60px 0 0 0;}
.pick_unselected {display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 130px 0 108px 0;}
.pick_unselected .text {text-align: center; padding: 30px 0 0 0;}
.pick_unselected .text strong {font-weight: 500; font-size: 24px; color: #1A1A24;}
.pick_unselected .text p {font-weight: 500; font-size: 18px; line-height: 23px; color: #9999A3; padding: 16px 0 0 0;}
.pick_unselected .link_festival {margin: 30px auto 0; font-weight: 500; font-size: 18px; line-height: 20px; color: #fff; width: 180px; height: 53px; border-radius: 50px; background: #7A45E5; display: flex; justify-content: center; align-items: center;}
.festival_picks .other_list {padding:60px 0 0 0;}
.festival_picks .other_list.type2 .tab_cont_area {padding: 0;}
.festival_picks .other_list .inner .other_festival_ul {margin: 0;}
.festival_picks .tab_cont_area .list_more_btn {margin: 64px auto 100px;}


@media all and (max-width:1008px){
  
  .foodinfo_section .food_link{top: 48px; font-size: 14px;}
  .foodinfo_section .message {padding: 12px 20px;}
  .foodinfo_section .message b {display: block; margin: 10px 0 0 0;}

  .booth_select{padding: 0 16px; border-radius: 8px; margin-top: 25px;}
  .booth_select .sel_btn{height: 48px; line-height: 48px; font-size: 16px;}
  .booth_select ul{margin: 10px 0;}
  .booth_select ul li a{font-size: 16px;}

  .booth_menu ul{padding: 16px 0; gap: 10px; height: 200px;}
  .booth_menu ul::after{height: 70px;}
  .booth_menu ul li{flex: 0 0 100%;}
  .booth_menu ul li div strong{font-size: 16px; line-height: 20px; margin-bottom: 4px;}
  .booth_menu ul li div span{font-size: 14px; line-height: 20px;}

  #foodPop .mo{display: block;}
  #foodPop .logo-food{top: 20px; left: 20px;}
  #foodPop p.notice{margin: 10px 0 0 0;}
  #foodPop .btn-layer-close{right: 20px;}
  #foodPop .logo-food img{width: 125px;}
  #foodPop .layer-popup-contents{height: 95vh; width: 90%; top: 51.5%; left: 50%; transform: translate(-50%, -50%);}
  #foodPop .inner_popup{padding: 0 0 25px !important; margin-top: 70px; height: auto; overflow-y: auto; overflow-x: hidden; max-height: calc(90vh - 50px);}

  .list-foodwrap ul{flex-direction: column; padding-top: 25px;}
  .list-foodwrap ul li{padding: 0; width: 100%;}
  .list-delegatefood .img{width: 100%; height: 56.67vw;}
  
  .btnwrap-foodinfo{width: 100%; position: static; transform: translateX(0);}
  #foodPop .infomore{margin: 10px 0;}
  #foodPop .btn-foodinfo{width: 100%; margin: 0; font-size: 20px;}
  #foodPop .popup_div{top: 0; right: 0; margin-right: 0;}

  /* faq */
  .faq_sort{gap: 8px;}
  .faq_sort a{width: auto; flex: 1; height: 40px; line-height: 40px;}
  .faq_tab{position: relative;}
  .faq_tab .faq_selwrap{border: 1px solid #000; border-radius: 10px; width: 100%; position: absolute; z-index: 20; background-color: #fff;}
  .faq_tab .sel_btn{position: relative; display: block; width: calc(100% - 40px); height: 48px; margin: 0 auto; color: #000; font-size: 16px; font-weight: 500; text-align: left;}
  .faq_tab .sel_btn.active{border-bottom: 1px solid #E6E6EB; border-top: 1px solid transparent;}
  .faq_tab .sel_btn::after{content: ''; display: inline-block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 24px; height: 24px; background: url(../img/faq/mo_select_arrow.png) 0 0 / 100% 100% no-repeat;}
  .faq_tab .sel_btn.active::after{transform: rotate(180deg) translateY(-50%); transform-origin: 50% 0;}
  .faq_tab .tab{padding: 12px 20px; display: none;}
  .faq_tab .tab a{border: none; display: block; width: 100%; font-size: 16px; text-align: left; height: 44px; line-height: 44px;}
  .faq_tab .tab a.on{border: none; font-weight: 400; color: #666670;}
  .tabcont_wrap{margin-top: 80px;}

  .faq_list > ul > li{padding-top: 32px;}
  .faq_list ul li .accordion_q{font-size: 16px; margin-bottom: 32px;}
  .faq_list ul li .accordion_q::after{top: 5px;}
  .faq_list ul li .accordion_q em{top: -2px;}
  .faq_list ul li .accordion_a{padding: 20px; font-size: 14px;}
  .accordion_a .downlad li{padding-left: 8px;}
  .accordion_a .downlad li::before{width: 3px; height: 3px; top: 7px;}
  .accordion_a .downlad .btn_download{font-size: 12px; height: 20px; width: 54px; line-height: 20px;}

  .faq_notice{margin: 40px 0; padding: 20px; line-height: 1.6;}

  .btn_mapdown{bottom: 0; top: auto; left: 50%; transform: translateX(-50%); right: auto; width: calc(100% - 40px); height: 48px; font-size: 18px; padding: 0; text-align: center;}
  .btn_mapdown::after{margin-left: 10px;}
  .festival_map{flex-direction: column; height: auto; background: none; margin-bottom: 40px; padding-bottom: 64px;}
  .festival_map .position{position: relative; width: 100%;}
  .festival_map .map_city{position: absolute; z-index: 50; width: 100%; height: auto; border-radius: 8px; background: #fff !important; margin: 0;border: 1px solid #000;}
  .map_city .sel_btn{position: relative; display: block; border: none; padding: 0; margin: 0 auto; background: transparent; font-family: inherit; width: calc(100% - 40px); height: 48px; color: #000; font-size: 16px; font-weight: 500; text-align: left;}
  .map_city .sel_btn.active{border-bottom: 1px solid #E6E6EB; border-top: 1px solid transparent;}
  .map_city .sel_btn::after{content: ''; display: inline-block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 24px; height: 24px; background: url(../img/faq/mo_select_arrow.png) 0 0 / 100% 100% no-repeat;}
  .map_city .sel_btn.active::after{transform: rotate(180deg) translateY(-50%); transform-origin: 50% 0;}
  .map_city .map_btn{padding: 12px 20px; display: none;}
  .map_city a{border: none; display: block; color: #666670; font-size: 16px; text-align: left; height: 44px; line-height: 44px; position: static; width: 100% !important; height: auto !important; text-indent: 0;}

  .festival_map .detailmap_wrap{width: 100%; height: auto; margin-top: 66px;}

  /* 테마 리스트 */
  .theme_title{height: auto; padding: 20px 0;}
  .theme_title .inner{flex-direction: column-reverse; align-items: baseline;}
  .theme_title span{font-size: 22px; margin-top: 0;}
  .theme_title img{margin: 0 0 4px auto; width: 74%;}
  .other_list.type2 .theme_title + .inner .other_festival{padding-top: 17px;}
  .other_list .inner .theme_list .other_festival_ul li{height: auto; margin-bottom: 32px;}
  .other_list .inner .theme_list .other_festival_ul li a .other_festival_content .date{padding: 4px 0 0;}

  /* 테마 템플릿 */
  .event_visual .bg .inner {flex-direction: column;}
  .event_visual .bg .tit {padding-top: 47px; max-width: none;}
  .event_visual .bg span {font-size: 18px; line-height: 20px;}
  .event_visual .bg strong {padding-top: 10px; font-size: 24px; line-height: 28px; color: #000;}
  .event_visual .bg figure {margin: 30px 0 0 0;}
  .event_visual .bg figure img { width: 100%; height: 100%; border-radius: 63.73vw 63.73vw 0px 0px;}

  .event_list .inner {max-width: none;}
  .event_list ul{display: flex;}
  .event_list .tit_inner {margin: 0 20px;}
  .event_list .main_tit {width: 100%; font-size: 20px; line-height: 22px; padding: 12px 20px; margin: 0 auto 16px;}
  .event_list .sub_tit{ font-size: 16px; line-height: 20px;}
  .event_list .date{font-size: 14px; line-height: 16px; padding: 8px 0 6px 0; word-break: break-word;}
  .event_list .location{font-size: 14px; line-height: 16px;}

  .event_list.list01 ul {flex-wrap: nowrap; gap: 0;}
  .event_list.list01 ul li {width: 288px;}
  .event_list.list01 figure {width: auto; height: 200px;}
  .event_list.list01 .sub_tit {max-width: 288px;}

  .event_list.list02 ul {gap: 0;}
  .event_list.list02 ul li {width: 288px;}

  .event_list.list03 a {display: grid; grid-template-columns: 160px 1fr;}
  .event_list.list03 ul {gap: 14px; flex-direction: column;}
  .event_list.list03 figure {min-width: 160px; width: 160px; height: 154px;}
  .event_list.list03 .txt_bx {padding-left: 12px;}
  .event_list.list03 .date{padding: 9px 0 7.5px 0;}

  .event_list.list01 .txt_bx,
  .event_list.list02 .txt_bx {padding-top: 10px;}
  .event_list.list01 .inner,
  .event_list.list02 .inner {padding: 0;}

  .event_list .swiper-pagination {display: block; position: static; display: flex; justify-content: center; align-items: center; padding-top: 20px;}
  .event_list .swiper-pagination-bullet-active {background: #000 !important; border-radius: 8px !important;}

  .template-groups > section:first-child {padding-top: 40px;}
  .template-groups > section:last-child {padding-bottom: 69px;}

  /* editor */
  .template_editor {max-width: none; padding: 40px 20px 0 20px;}
  .template_editor img {width: 100%; max-width: none;}

  /* 404 error */
  .error_page {height: calc(90vh - 50px);}
  .error_page .pc {display: none;}
  .error_page .mo {display: block;}
  .error_page .error_box {padding: 0 0 60px 0; max-width: none;}
  .error_page .error_box figure {max-width: 248px; margin: 0 auto;}
  .error_page .error_box strong {font-size: 16px; line-height: 22px;}
  .error_page .link_wrap {flex-direction: column; gap: 30px; font-size: 14px;}
  .error_page .link_wrap p {line-height: 18px;}
  .error_page .link_wrap a {line-height: 18px; width: 140px; height: 38px; margin: 10px auto 0;}

  /* 찜한 축제 목록 */
  .festival_picks .pc {display: none;}
  .festival_picks .mo {display: block;}
  .festival_picks .other_list .inner .other_festival_ul {margin-top: 24px;}
  .pick_visual .bg {flex-direction: column; justify-content: flex-start; align-items: center; height: auto; padding: 32px 0 48px 0;}
  .pick_header_wrap .pick_header {margin: 30px 0 0 0; padding: 0 0 16px 0;}
  .pick_header_wrap .pick_header strong {font-size: 20px; line-height: 24px;}
  .pick_header_wrap .pick_header .festival_expln_box { width: 90%; max-width: 417px; top: 48px; padding: 31px 14px 25px 16px;}
  .pick_header_wrap .pick_header .festival_expln_box p {font-size: 14px; line-height: 20px;}
  .pick_visual .text {text-align: center; order: 2;}
  .pick_visual .text strong {font-size: 24px; line-height: 32px;}
  .pick_visual .text p {font-size: 18px; line-height: 24px; padding: 4px 0 0 0;}
  .pick_visual figure {order: 1; padding: 0 0 18px 0; justify-content: center; width: 335px;}
  .pick_visual figure img {width: 100%;}
  .pick_unselected {padding: 72px 0 100px 0;}
  .pick_unselected figure {width: 335px; margin: 0 auto;}
  .pick_unselected figure img{width: 100%;}
  .pick_unselected .text {padding: 20px 0 0 0;}
  .pick_unselected .text strong {font-size: 18px; line-height: normal;}
  .pick_unselected .text p {font-size: 14px; line-height: normal; padding: 12px 0 0 0;}
  .pick_unselected .link_festival {width: 141px; height: 42px; font-size: 14px; line-height: 16px; margin: 20px auto 0;}
  .festival_picks .other_list {padding: 0;}
  .festival_picks .tab_cont_area .list_more_btn {margin: 40px auto 92px;}

}