@charset "utf-8";
/*서브디자인 영역*/

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body,
html {
  overflow-x: hidden;
  font-size: 10px;
}

/*서브비주얼*/

.sub_top {
  position: relative;
}

.subVisual {
  position: relative;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 440px;
  min-height: 440px;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
  background: url(../image/sub/sub_visual_01.jpg) center center no-repeat;
  background-size: cover;
  text-align: center;
}

.subVisual .tit_wrap {
  position: absolute;
  top: 50%;
  width: 100%;
  color: #ffffff;
  transform: translateY(0);
  text-align: center;
}

.subVisual .tit_wrap h2.tit {
  font-size: 6rem;
  font-weight: 700;
  color: #ffffff;
}

/*LNB*/

.nv-menu {
  position: absolute;
  z-index: 10;
  bottom: -3.5rem;
  left: 50%;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1340px;
  border-radius: 1.2rem;
  background: #020a14;
  transform: translateX(-50%);
  height: auto;
  min-height: 70px;
}

.nv-menu div {
  position: relative;
}

.nv-menu div::after {
  position: absolute;
  top: 2rem;
  right: 0;
  width: 1px;
  height: 30px;
  background: #666;
  content: "";
}

.nv-menu .home {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 70px;
}

.nv-menu .subMenu {
  position: relative;
  width: 100%;
  max-width: 340px;
}

.nv-menu .subMenu ul {
  display: none;
  position: absolute;
  width: 100%;
  height: 321px;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  z-index: 1;
}

.nv-menu .subMenu button {
  position: relative;
  display: block;
  width: 100%;
  min-height: 70px;
  padding: 0 2rem;
  color: #fff;
  text-align: left;
  font-size: 1.9rem;
  font-weight: normal;
  white-space: normal;
  word-break: keep-all;
  line-height: 1.3;
  padding: 1rem 2rem;
}

.nv-menu .subMenu button::after {
  content: "";
  position: absolute;
  top: 2.8rem;
  right: 2rem;
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url(../image/sub/nv_arrow.svg) no-repeat;
  background-size: cover;
  transition: transform 0.3s ease;
}

.nv-menu .subMenu button.on::after {
  transform: rotate(180deg);
}

.nv-menu .subMenu ul li:hover a,
.nv-menu .subMenu ul li.on a {
  background: #ddd;
  font-weight: 600;
}

.nv-menu .subMenu ul li a {
  display: block;
  background-color: rgba(255, 255, 255, 0);
  line-height: 7rem;
  font-size: 1.9rem;
  font-weight: 600;
  color: #333333;
  background: #F9F9F9;
  padding: 0 2rem;
}

nav.sub_dep3 {
  max-width: 1340px;
  margin: 0 0 6rem 0;
}

nav.sub_dep3 ul.dep3 {
  align-items: stretch;
}

nav.sub_dep3 ul {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

nav.sub_dep3 ul.dep3 li {
  width: 25%;
  text-align: center;
  display: flex;
  align-items: stretch;
}

nav.sub_dep3 li.on a {
  color: #0075c2;
  border-bottom: 2px solid #0075c2;
}

nav.sub_dep3 li a {
  display: flex;
  flex: 1;
  font-size: 2rem;
  line-height: 2.6rem;
  padding: 1rem 2rem 1rem 2rem;
  font-weight: 600;
  text-align: left;
  position: relative;
  color: #666666;
  border-bottom: 2px solid #ccc;
}

nav.sub_dep3 li.on a:before {
  background: url(../image/sub/dep3_i_on.svg) 0 0 no-repeat;
}

nav.sub_dep3 li a:before {
  content: "";
  background: url(../image/sub/dep3_i_off.svg) 0 0 no-repeat;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}

.util_list {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.util_list ul {
  display: flex;
  gap: 3rem;
  padding: 0 3rem;
}

.util_list::after {
  content: "";
  position: absolute;
  display: none;
}

.util_list ul li {
  position: relative;
  display: inline-block;
  vertical-align: top;
  overflow: visible;
}

.util_list .share_box .sns_btn {
  width: 100%;
  height: 100%;
  color: #fff;
}

.share_box_on {
  position: absolute;
  width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  z-index: 9999;
  display: none;
}

.share_box_on::after {
  content: "";
  display: none;
}

.share_box_on.active {
  display: block;
}

.share_box_on .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  border: none;
}

.share_box_on .header h3 {
  font-size: 1.7rem;
  font-weight: 600;
  margin: 0;
  color: #333;
}

.share_box_on .close_btn {
  display: block;
  width: 40px;
  height: 40px;
  background: url(../image/common/ico-sub-share.svg) -280px 0 no-repeat;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
}

.share_box_on .send::after {
  content: "";
  display: none;
}


.share_box_on .send ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-items: center;
}

.share_box_on .send li {
  margin: 0;
}

.share_box_on .send li button {
  width: 40px;
  height: 40px;
  background: url(../image/common/ico-sub-share.svg) no-repeat;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
}

.share_box_on .send li .fb {
  background-position: 0 0;
}

.share_box_on .send li .tw {
  background-position: -40px 0;
}

.share_box_on .send li .na {
  background-position: -160px 0;
}

.share_box_on .send li .ur {
  background-position: -240px 0;
}

.util_list button i,
.util_list i {
  font-size: 18px;
  -webkit-transition: .2s;
  transition: .2s;
  color: #fff;
}

.ri-share-line::before {
  content: "\f0fe";
}

.ri-printer-line::before {
  content: "\f029";
}

.content_sub .content {
  width: 100%;
  max-width: 1340px;
  margin: 9.4rem auto 6rem;
}

/*s0101 행사소개*/

.s0101 .event_wrap {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
}

.s0101 .event_thumb_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 438px;
  flex-shrink: 0;
}

.s0101 .event_txt_box {
  flex: 1;
  min-width: 0;
  width: 100%;
}

.s0101 .download-section {
  display: flex;
  align-items: center;
  justify-content: center;
}

.s0101 .download-section a {
  width: 100%;
  padding: 2rem 0;
  background: #111111;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.7rem;
  font-weight: 400;
  transition: all 0.3s ease;
  text-align: center;
}

.s0101 .download-section a:hover {
  background: linear-gradient(to right, #0075c2, #111111);
  color: #ffffff;
}

.s0101 .event_detail {
  display: flex;
  gap: 1rem;
  border-top: 2px solid #111111;
  border-bottom: 2px solid #111111;
}

.s0101 .event_detail_item {
  flex: 1;
  min-width: 0;
  padding: 3rem 2rem;
  box-sizing: border-box;
  border-right: 1px solid #cccccc;
}

.s0101 .event_detail_item:last-child {
  border-right: none;
}

.s0101 .event_detail_item p.tit {
  font-size: 2rem;
  font-weight: 600;
  color: #333333;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 0;
}

.s0101 .event_detail_item p.tit::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 1rem;
  flex-shrink: 0;
}

.s0101 .event_detail_item:nth-child(1) p.tit::before {
  background-image: url(../image/sub/s0101_calendar_ic.svg);
  width: 12px;
  height: 16px;
}

.s0101 .event_detail_item:nth-child(2) p.tit::before {
  background-image: url(../image/sub/s0101_location_ic.svg);
  width: 18px;
  height: 16px;
}

.s0101 .event_detail_item:nth-child(3) p.tit::before {
  background-image: url(../image/sub/s0101_subject_ic.svg);
  width: 16px;
  height: 16px;
}

.s0101 .event_detail_item span.text {
  font-size: 1.7rem;
  color: #333333;
  line-height: 150%;
}

.s0101 .sub_inner .event_txt_box_top {}

.s0101 .sub_inner .event_txt_box_top h2 {
  flex: 1;
  min-width: 0;
  line-height: 150%;
  color: #111111;
  font-size: 6rem;
  font-weight: 700;
  margin-top: 6rem;
  margin-bottom: 3rem;
}

.s0101 .sub_inner .event_txt_box_top h2 span.tit_color {
  color: #0075c2;
  font-size: 4rem;
  font-weight: 700;
  line-height: 0;
}

.s0101 .organizer_item {
  padding-top: 3rem;
}

.s0101 .organizer_item_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 3rem;
}

.s0101 .organizer_item_wrap .organizer_item:nth-child(1) {
  width: 75%;
}

.s0101 .organizer_item_wrap .organizer_item:nth-child(2) {
  width: 25%;
}

.s0101 .organizer_item p.tit {
  font-size: 2rem;
  font-weight: 600;
  color: #333333;
  padding-bottom: 2rem;
}

.s0101 .organizer_item_wrap .organizer_item .img_box ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.s0101 .organizer_item_wrap .organizer_item .img_box ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-radius: 0.6rem;
  overflow: hidden;
  height: 66px;
  box-sizing: border-box;
  text-align: center;
  padding: 0;
}

.s0101 .organizer_item_wrap .organizer_item:nth-child(1) .img_box ul {
  display: flex;
  gap: 2rem;
}

.s0101 .organizer_item_wrap .organizer_item:nth-child(1) .img_box ul li {
  flex: 1 1 0;
}

.s0101 .organizer_item_wrap .organizer_item:nth-child(2) .img_box ul li {
  width: 100%;
}

.s0101 .organizer_item span.text {
  display: block;
  position: relative;
  padding-left: 1rem;
  text-indent: -1rem;
  font-size: 1.7rem;
  color: #333333;
  line-height: 150%;
}

.s0101 .organizer_item span.text::before {
  content: "·";
  font-size: 2rem;
  margin-right: 0.5rem;
}



/*s0102 나주시장*/

.s010201 .sub_inner .title {
  position: relative;
  display: flex;
  overflow: visible;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  padding-top: 6rem;
  margin-bottom: 6rem;
  gap: 4rem;
}

.s010201 .sub_inner .title::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: 1920px;
  height: 514px;
  background: url(../image/sub/s0102_title_bg.png) 0 0 no-repeat;
  background-size: 100% auto;
  transform: translateX(-50%);
}

.s010201 .sub_inner .title::after {
  position: absolute;
  z-index: -1;
  right: 0;
  top: var(--after-top, 31.6rem);
  width: 1920px;
  height: 500px;
  background: #ffffff;
  content: "";
}

.s0102 .sub_inner .txt_wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  flex: 1;
  min-width: 0;
}

.s0102 .sub_inner h2 {
  flex: 1;
  min-width: 0;
  line-height: 150%;
  color: #111111;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 0;
}

.s0102 .sub_inner h2 span.tit_color {
  color: #0075c2;
  font-size: 6rem;
  font-weight: 700;
}

.s010201 .sub_inner .title .Mayor_box {
  flex-shrink: 0;
  position: static;
  width: 100%;
  max-width: 490px;
}

.s010201 .sub_inner .title .Mayor_box p.sign {
  display: flex;
  align-items: center;
  justify-content: end;
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 600;
  color: #333333;
}

.s010201 .sub_inner .title .Mayor_box p.sign img {
  margin-left: 1rem;
}

.s0102 .sub_inner .txt_box {
  position: relative;
  z-index: 1;
}

.s0102 .sub_inner .txt_box p.exp {
  line-height: 180%;
  color: #333333;
  font-size: 1.9rem;
}

html[lang="en"] p.exp br {
  display: none;
}
html[lang="en"] p.exp::after {
  content: "\A"; /* 줄바꿈 */
  white-space: pre;
}

/*s010202 추진위원장*/

.s0102 .con_box {
  display: flex;
  position: relative;
  position: relative;
  align-items: flex-start;
}

.s0102 .con_box .img_wrap {
  width: 490px;
  padding-top: 0;
  position: relative;
  height: var(--img-wrap-before-height, 782px);
}

.s0102 .con_box .img_wrap::before {
  content: "";
  width: 100%;
  min-width: 720px;
  height: var(--before-height, 782px);
  background: #f0f0f0;
  position: absolute;
  right: 6rem;
  top: 0;
  border-radius: 0 6rem 0 0;
  box-sizing: border-box;
}

.s0102 .sub_inner .chairman_box {
  position: relative;
  top: 6rem;
  left: 0;
  width: 490px;
  z-index: 2;
}

.s0102 .sub_inner .chairman_box img.chairman_img {
  width: 100%;
  height: auto;
  display: block;
}

.s0102 .sub_inner .chairman_box p.sign {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 600;
  color: #333333;
}

.s0102 .sub_inner .chairman_box p.sign img {
  margin-left: 10px;
}

.s0102 .con_box .txt_box_wrap {
  width: calc(100% - 490px);
  padding-left: 6rem;
  padding-top: 6rem;
}

.s0102 .con_box .txt_box {
  padding-top: 60px;
}

/*s0103 오시는길*/

.s0103 .sub_inner .map_top {
  display: flex;
  align-items: center;
}

.s0103 .sub_inner .map_top .info_l {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.s0103 .sub_inner .map_top .info_l .info_l__name {
  font-size: 3.2rem;
  font-weight: 700;
  color: #111111;
}

.s0103 .sub_inner .map_top .info_l .info_l__address {
  font-size: 1.9rem;
  margin: 2rem 0 0 0;
  color: #333333;
}

.s0103 .sub_inner .map_top .info_m {
  position: relative;
  margin-left: 6rem;
  padding-left: 3rem;
}

.s0103 .sub_inner .map_top .info_m li.interval {
  padding-top: 2rem;
}

.s0103 .sub_inner .map_top .info_m li span.tit {
  display: inline-block;
  position: relative;
  min-width: 60px;
  font-weight: 600;
  font-size: 1.7rem;
  margin-right: 2rem;
  line-height: 170%;
}

.s0103 .sub_inner .map_top .info_m li span.text {
  font-weight: 400;
  font-size: 1.7rem;
}

.s0103 .sub_inner .map_top .info_m li span.tit1::before {
  content: "";
  position: absolute;
  background: url(../image/sub/tel_ic.svg) 0 0 no-repeat;
  width: 18px;
  height: 18px;
  top: 50%;
  left: -2.8rem;
  transform: translate(0, -50%);
}

.s0103 .sub_inner .map_top .info_m li span.tit2::before {
  content: "";
  position: absolute;
  background: url(../image/sub/mail_ic.svg) 0 0 no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: -3rem;
  transform: translate(0, -50%);
}

.s0103 .sub_inner .map_top .info_r {
  display: flex;
  margin-left: auto;
  align-items: center;
  gap: 2rem;
}

.s0103 .sub_inner .map_top .info_r a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 152px;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  min-height: 80px;
  padding: 1rem 2rem;
  font-size: 1.7rem;
  border-radius: 1.2rem;
  background: #f0f0f0;
  overflow: hidden;
  line-height: 1em;
  word-break: break-word;
  overflow-wrap: break-word;
}

.s0103 .sub_inner .map_top .info_r a .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

html[lang="en"] font {
  all: unset;
  display: contents;/* 내부 텍스트만 남기고 font 자체는 없는 것처럼 처리 */
}

.s0103 .sub_inner .map_top .info_r a img {
  margin-right: 1.2rem;
  flex-shrink: 0;
}

.root_daum_roughmap .cont {
  display: none;
}

.s0103 .sub_inner .txt_box_wrap {
  margin-top: 6rem;
}

h2.tit {
  position: relative;
  margin-bottom: 3rem;
  font-size: 2.8rem;
  font-weight: 700;
  color: #111111;
}

h3.tit {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 3rem;
  font-size: 2.4rem;
  font-weight: 600;
  color: #333333;
}

h3.tit::before {
  content: '';
  position: absolute;
  background: url(../image/sub/h3_tit_ic.svg) 0 0 no-repeat;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.s0103 .sub_inner .txt_box_wrap .item_l {
  border-top: 1px solid #cccccc;
  display: flex;
  flex-wrap: wrap;
  padding: 2rem 0 6rem 0;
}

.s0103 .sub_inner .txt_box_wrap .item_l .tit_box {
  width: 200px;
  padding-right: 2rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r {
  width: calc(100% - 200px);
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_tit {
  font-size: 2rem;
  font-weight: 600;
  color: #172c64;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_tit:nth-of-type(2) {
  border-top: 1px solid #ccc;
  padding-top: 3rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_tit span.route_arrow {
  position: relative;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_tit span.route_arrow::before {
  content: url("../image/sub/s0103_route_arrow_ic.svg");
  display: inline-block;
  vertical-align: middle;
  margin: 0 1rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item {
  padding-top: 3rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item:nth-child(4) {
  padding-bottom: 3rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_label {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  font-size: 1.9rem;
  font-weight: 600;
  color: #333333;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_label::before {
  content: url("../image/sub/s0103_bus_ic.svg");
  display: inline-block;
  vertical-align: middle;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_label span.route_num {
  background: #111111;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  text-align: center;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 2.4rem;
  color: #ffffff;
  flex-shrink: 0;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_details ol.route_steps {
  padding-top: 2rem;
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_details ol.route_steps li {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  line-height: 180%;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_details ol.route_steps li::after {
  content: url(../image/sub/s0103_route_arrow_b_ic.svg);
  display: inline-block;
  vertical-align: middle;
  margin: 0 1rem;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_details ol.route_steps li:last-child::after {
  content: none;
}

.s0103 .sub_inner .txt_box_wrap .item_l .item_r .route_item .route_details ol.route_steps li span.badge {
  background: #f8f8f8;
  border: 1px solid #cccccc;
  padding: 0.4rem 0.8rem;
  border-radius: 0.4rem;
  font-size: 1.7rem;
  color: #333333;
  margin-right: 1rem;
}

.s0103 .sub_inner .txt_box_wrap .Other_info {
  position: relative;
  background: #f4f4f8;
  border-radius: 1.2rem;
}

.s0103 .sub_inner .txt_box_wrap .Other_info .info_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem 3rem;
  gap: 3rem;
}


.s0103 .sub_inner .txt_box_wrap .Other_info .txt_wrap {
  position: relative;
  overflow: hidden;
}

/*.s0103 .sub_inner .txt_box_wrap .Other_info .txt_wrap::before {
  content: "";
  position: absolute;
  background: url(../image/sub/s0103_bus_img.png) 0 0 no-repeat;
  bottom: -5.3rem;
  right: -5.1rem;
  width: 347px;
  height: 301px;
}*/

h3.exp {
  position: relative;
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 600;
  color: #333333;
}

.s0103 .sub_inner .txt_box_wrap .Other_info .txt_wrap p.detail {
  display: inline-block;
  font-size: 1.7rem;
  color: #333333;
  vertical-align: top;
  line-height: 180%;
}

.s0103 .sub_inner .qr_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}

.s0103 .sub_inner .qr_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #ffffff;
  border-radius: 1.2rem;
  width: 100%;
  max-width: 200px;
  padding: 2rem 0;
}

.s0103 .sub_inner .qr_box .qr_tit {
  font-size: 1.7rem;
  font-weight: 600;
  color: #333333;
  padding: 0 2rem 2rem 2rem;
  text-align: center;
}

.s0103 .sub_inner .qr_box img {
  width: 50%;
}



  /*s0104 파트너*/

.s0104 .sub_inner .con_wrap .partner_list {
  display: flex;
  align-items: center;
  width: 100%;
  padding-bottom: 3rem;
}

.s0104 .sub_inner .con_wrap .partner_list:last-child {
  padding-bottom: 0;
}

.s0104 .sub_inner .con_wrap .partner_list ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 3.2rem;
}

.s0104 .sub_inner .con_wrap .partner_list ul li {
  width: calc((100% - 32px * 2) / 3);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 66px;
  padding: 1rem;
  box-sizing: border-box;
  text-align: center;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-radius: 1.2rem;
  overflow: hidden;
}

.s0104 .sub_inner .con_wrap .partner_list ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  display: block;
}

/*s0201 2025 주제*/

.s02 .sub_inner .con_wrap .txt_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.s02 .sub_inner .con_wrap .txt_wrap p.tit {
  font-size: 17px;
  color: #333333;
  text-align: center;
  margin-bottom: 2rem;
}

.s02 .sub_inner .con_wrap .txt_wrap p.tit::before {
  content: url(../image/sub/info_ic.svg);
  display: inline-block;
  vertical-align: middle;
  padding-right: 1rem;
}

.sub_inner .con_wrap .under_line {
  display: block;
  width: 100%;
  height: 2px;
  background: #111111;
}

.s0201 .sub_inner .con_wrap .event_txt_box_top {
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}

.s0201 .sub_inner .con_wrap .event_txt_box_top .mid_line {
  width: 3px;
  height: 40px;
  background: #111111;

}

.s0201 .sub_inner .con_wrap h2 {
  position: relative;
  display: inline-block;
  flex: 1;
  min-width: 0;
  line-height: 150%;
  color: #111111;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 0;
  padding: 0 6rem;
  margin-top: 3rem;
}

.s0201 .sub_inner .con_wrap h2 span.tit_color {
  color: #0075c2;
  font-size: 6rem;
  font-weight: 700;
}

.s0201 .sub_inner .con_wrap h2::before,
.s0201 .sub_inner .con_wrap h2::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 18px;
  height: 62px;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}

.s0201 .sub_inner .con_wrap h2::before {
  left: 0;
  background: url('../image/sub/s0201_item_ic.svg') center center no-repeat;

}

.s0201 .sub_inner .con_wrap h2::after {
  right: 0;
  background: url('../image/sub/s0201_item_ic.svg') center center no-repeat;
  transform: translateY(-50%) scaleX(-1);
}

.sub_inner .con_wrap .page-veiw-opt2 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 2rem 0;
}

.sub_inner .con_wrap .under_line2 {
  display: block;
  width: 100%;
  height: 1px;
  background: #cccccc;
}

.sub_inner .con_wrap .page-veiw-opt2 .form-select2 {
  padding-right: 3rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  width: 32%;
  max-width: 100%;
}

.s0201 .con_box .txt_box {
  padding-top: 60px;
}

.s0201 .sub_inner .con_wrap .txt_box p {
  line-height: 180%;
  color: #333333;
  font-size: 1.9rem;
}

.s0201 .sub_inner .con_wrap .txt_box p:first-of-type {
  margin-top: 12rem;
}

.s0201 .sub_inner .con_wrap .event_detail_box {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: auto;
  z-index: 1;
}

.s0201 .sub_inner .con_wrap .event_detail_box .event_bg {
  position: absolute;
  top: 190px;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 220px;
  background: url('../image/sub/s0201_event_bg.jpg') 0 0 no-repeat;
  z-index: -1;
}

.s0201 .sub_inner .con_wrap .img_box {
  position: relative;
  width: 1340px;
  margin: 0 auto;
  text-align: center;
}


.s0201 .sub_inner .con_wrap .img_box img {
  position: relative;
  margin: 3rem auto 0;
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/*s0202 세션*/

.tab_wrap {}

.tab_wrap .tab_inner {
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-radius: 1.2rem;
}

.tab_wrap .tab_inner .tab_btn {}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-radius: 1.2rem;
  background: #ffffff;
  box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.05);
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li {
  flex-grow: 1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #f0f0f0;
  width: calc(100% / 4);
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li a.on {
  background: #0075c2;
  color: #fff;
  padding: 0;
  line-height: 150%;
  border-radius: 1.2rem 1.2rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 1.2rem;
  box-sizing: border-box;
  transition: all 0.5s;
  font-size: 20px;
  color: #333;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: 1rem 2rem 1rem 2rem;
  line-height: 150%;
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li span {
  font-size: 17px;
  color: #666666;
  font-weight: 600;
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li a.on span {
  color: #cccccc;
}

.tab_wrap .tab_inner .tab_btn .tab_con_box {
  position: relative;
}

.tab_wrap .tab_inner .tab_btn .tab_con {
  position: relative;
}

.tab_wrap .tab_inner .tab_btn .tab_con .session_list_wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tab_wrap .tab_inner .tab_btn ul.tab_2025 li:last-child {
  border-radius: 0 1.2rem 0 0;
}

.session_content_box:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% - 6rem);
  transform: translateX(-50%);
  height: 1px;
  background-color: #efefef;
}

.s0202 .session_content_box:hover {
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.s0202 .session_content_box {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
  background-color: #ffffff;
  padding: 3rem;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  border-radius: 0 0 1.2rem 1.2rem;
  position: relative;
}

.s0202 .check-item-wrap.check-item-wrap2 {
  display: flex;
  align-items: center;
  width: fit-content;
}

.s0202 .custom-checkbox2 {
  background: none;
  height: auto;
  flex-shrink: 0;
  padding-right: 0;
}

.s0202 .custom-checkbox2 input {
  min-height: auto;
}

.s0202 .checkmark {
  margin: 0;
}

.s0202 .board-info-list {
  width:100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  gap: 0;
}

.s0202 .board-info-list .session_day {
  width: 15%;
}

.s0202 .board-info-list .session_time {
  width: 15%;
}

.s0202 .board-info-list .session_tit {
  width: 35%;
}

.s0202 .board-info-list .session_location {
  width: 35%;
}

.s0202 .board-info-list li {
  position: relative;
  width: 100%;
  padding-right: 2rem;
  margin-right: 2rem;
}

.s0202 .board-info-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 20px;
  background-color: #ccc;
}

.s0202 .board-info-list .session_time .session_time_color {
  font-size: 1.9rem;
  color: #0075c2;
  font-weight: 400;
  padding-left: 26px;
}

.board-info-list .session_time::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(../image/common/date_ic.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.s0202 .board-info-list li span {
  color: #333333;
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 150%;
}

.s0202 .session_content_box_wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.btn-modal {
  width: 50px;
  height: 50px;
  background: #f8f8f8 url(../image/common/btn_next.svg) center center no-repeat;
  border: none;
  cursor: pointer;
  padding: 0;
  border-radius: 50px;
  transform: rotate(90deg);
  aspect-ratio: 1 / 1;
}

.btn-modal:hover {
  background: #666666 url(../image/common/btn_next_w.svg) center center no-repeat;
}

.s0202 .session_detail {
  display: none;
  transition: opacity 0.3s ease;
  background-color: #f8f8f8;
  width: 100%;
  font-size: 1.7rem;
  color: #666666;
  line-height: 150%;
  border-radius: 0.6rem;
  padding: 1rem;
}

.s0202 .session_detail.active {
  display: block;
}

.s0202 .speaker_link_btn {
    width: fit-content;
    max-width: 100%;
    display: block;
    border-radius: 5rem;
    background: #e0e0e0;
    border: 1px solid #cccccc;
    cursor: pointer;
    padding: 0.8rem 1.6rem;
    margin-top: 1rem;
    white-space: nowrap;
    word-break: keep-all;
}

.s0202 .speaker_link_btn:hover {
  background: #ffffff;
  border: 1px solid #0075c2;
}

/*s0301 연사소개*/

.searchForm {
  margin-bottom: 2rem;
}

.board-search-wrap {
  display: flex;
  justify-content: center;
}

.board-search {
  width: 100%;
  max-width: 440px;
  border-bottom: 1px solid #111111;
  overflow: hidden;
  margin-bottom: 3rem;
  padding: 0 2rem 0 2rem;
}

.board-search .board_inner {
  display: flex;
  align-items: center;
  width: 100%;
  height: 63px;
  gap: 1rem;
}

.board-search select {
  flex-shrink: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  background-color: transparent;
  border: none;
  font-size: 1.7rem;
  color: #333333;
  background-image: url('../image/common/ico_select.svg');
  background-size: 10px auto;
  background-repeat: no-repeat;
  background-position: right 5px center;
  text-align: left;
}

.board-search select option {
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
}

.board-search input {
  width: 100%;
  padding: 0 1.5rem;
  background-color: transparent;
  border: none;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 400;
  flex: 1;
  min-width: 0;
}

.board-search select,
.board-search input[type="search"] {
  width: 78px;
  max-width: 100%;
  height: 63px;
  box-sizing: border-box;
  /*padding: 0 1.5rem;*/
  font-size: 1.7rem;
  background-color: transparent;
  color: #333333;
}

.board-search .search {
  width: 60px;
  flex-shrink: 0;
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}

.board-top-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.pageinfo {
  height: 36px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pageinfo dl {
  display: flex;
  align-items: center;
  font-size: 1.7rem;
  font-weight: 400;
}

.pageinfo dl::before {
  font-family: "Remixicon";
  font-style: normal;
  content: "\eced";
  margin-top: 0.2rem;
  margin-right: 0.6rem;
}

.pageinfo dl dt {
  position: relative;
}

.pageinfo dl dd {
  position: relative;
}

.pageinfo dl dd b {
  margin: 0.3rem 0.5rem;
  color: #fe3c01;
}

.page-veiw-opt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 36px;
}

.page-veiw-opt .form-select,
.page-veiw-opt .btn-opt-view {
  height: 36px;
  padding: 0 1.2rem;
  box-sizing: border-box;
  font-size: 1.7rem;
  line-height: 1.2;
}

.page-veiw-opt .form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url(../image/common/ico_select.svg)0 0 no-repeat;
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 12px;
  padding-right: 3rem;
  color: #333333;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.btn-opt-view {
  background: #111;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  padding: 0 2rem;
  height: 100%;
  border-radius: 0.6rem;
}

.s0301 .sub_inner .con_wrap .speaker_list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3.1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.s0301 .sub_inner .con_wrap .speaker_list ul li {
  width: calc((100% - 31px * 3) / 4);
  font-size: 2.4rem;
  font-weight: 700;
  color: #111111;
}

.s0301 .sub_inner .con_wrap .speaker_list ul li a {
  display: block;
}

.s0301 .sub_inner .con_wrap .speaker_list .speaker_box {
  position: relative;
}

.s0301 .sub_inner .con_wrap .speaker_list .speaker_box::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 85px;
  height: 85px;
  background: url(../image/sub/Thumbnail_round.svg) 0 0 no-repeat;
}

.s0301 .sub_inner .con_wrap .speaker_list .speaker_box .speaker_img {
  overflow: hidden;
  height: 414px;
  border-radius: 1.2rem;
}

.s0301 .sub_inner .con_wrap .speaker_list .speaker_box .speaker_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: .2s;
}

.s0301 .sub_inner .con_wrap .speaker_list ul li a:hover .speaker_img img {
  transform: scale(1.1);
}


.s0301 .sub_inner .con_wrap .speaker_list a:hover .speaker_box::after {
  transform: scale(1.1);
}

.s0301 .sub_inner .con_wrap .speaker_list .speaker_box::after {
  content: '';
  position: absolute;
  right: 0px;
  bottom: 0;
  z-index: 1;
  border-radius: 100%;
  width: 50px;
  height: 50px;
  background: #111111 url(../image/sub/nv_arrow.svg) center center no-repeat;
  background-size: 16px auto;
  transition-duration: .2s;
}

.s0301 .sub_inner .con_wrap .speaker_list .name {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 150%;
  padding: 3rem 3rem;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
  font-size: 2.4rem;
  font-weight: 600;
  border-radius: 1.2rem;
}

.s0301 .sub_inner .con_wrap .speaker_list .name p.Add_info {
  line-height: 150%;
  font-size: 1.7rem;
  font-weight: 400;
}

.paging_wrap {
  position: relative;
  margin: 5rem 0 0;
}

.pagination {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  -ms-align-items: center;
  -ms-justify-content: center;
  gap: 1rem;
  font-weight: 500;
  flex-wrap: wrap;
}

.pagination li {
  display: inline-block;
}

.pagination li.previous a,
.pagination li.first a {
  background: url(../image/common/btn_first.svg) no-repeat center center;
}

.pagination li.left a,
.pagination li.prev a {
  background: url(../image/common/btn_prev.svg) no-repeat center center;
}

.pagination li.right a,
.pagination li.next a {
  background: url(../image/common/btn_next.svg) no-repeat center center;
}

.pagination li.next a,
.pagination li.last a {
  background: url(../image/common/btn_end.svg) no-repeat center center;
}

.pagination li.paginate_box_button a span {
  text-indent: -1000em;
  display: block;
}

.pagination li.active a,
.pagination li a.active {
  background: #111111;
  color: #fff;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
}

.pagination li a {
  transition: all .25s;
  display: flex;
  align-items: center;
  justify-content: center;
  -ms-align-items: center;
  -ms-justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  text-align: center;
  background: #f0f0f0;
  color: #111111;
  font-size: 1.7rem;
  line-height: 4rem;
}

/*s0301 연사소개_모달팝업*/

.s0301 .modal_speaker {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  z-index: 100;
  background: rgba(0, 0, 0, 0.5);
  padding-top: 3rem;
}

.s0301 .modal_speaker.on {
  display: flex;
}

.s0301 .modal_speaker .detail_wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1100px;
}


.s0301 .modal_speaker .detail_inner {
  width: 100%;
  max-height: 728px;
  background: #fff;
  border-radius: 1.2rem;
  padding: 3rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.s0301 .modal_speaker .detail_inner .info_box_wrap {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 1rem;
}

.s0301 .modal_speaker .detail_inner .info_box_wrap::-webkit-scrollbar {
  width: 8px;
}

.s0301 .modal_speaker .detail_inner .info_box_wrap::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0.4rem;
}

.s0301 .modal_speaker .detail_inner .info_box {
  position: relative;
  min-height: 336px;
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
  background: #e4e4e4 url(../image/sub/speaker_box_bg.jpg) right bottom no-repeat;
  gap: 6rem;
  background-size: cover;
  border-radius: 1.2rem;
  overflow: hidden;
}

.s0301 .modal_speaker .detail_inner .info_box .info_pic {
  width: 40%;
  height: 336px;
  position: relative;
  flex-shrink: 0;
  overflow: visible;
  z-index: 10;
}

.s0301 .modal_speaker .detail_inner .info_box .info_pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 40%);
  mask-image: linear-gradient(to left, transparent 0%, black 40%);
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt {
  width: 60%;
  z-index: 2;
  padding: 3rem 3rem 3rem 0;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .info_name {
  position: relative;
  font-size: 3.2rem;
  font-weight: 600;
  color: #111111;
  line-height: 150%;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .info_name::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: #111111;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .info_name p.info_add {
  line-height: 150%;
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
}

.s0301 .modal_speaker .detail_inner .top_close_btn {
  position: absolute;
  top: -90px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #ffffff url(../image/sub/top_close_btn.svg) center center no-repeat;
  text-indent: -99999px;
  border: none;
  cursor: pointer;
  z-index: 200;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .ul_list {
  display: block;
  text-align: left;
  line-height: 150%;
  color: #333333;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .ul_list li {
  width: auto;
  min-width: 0;
  display: block;
  box-sizing: border-box;
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
}

.s0301 .modal_speaker .detail_inner .info_box .info_txt .ul_list li:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 6px;
  height: 6px;
  background: #666666;
  border-radius: 50%;
}

.s0301 .modal_speaker .detail_inner .info_detail_txt p {
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
  line-height: 180%;
}

.s0301 .modal_speaker .bottom-btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
}

.s0301 .modal_speaker .bottom-btn-wrap .bottom_close_btn {
  width: 136px;
  height: 60px;
  background-color: #111;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 3px 7px rgba(17, 17, 17, 0.35);
}

.s0301 .modal_speaker .bottom-btn-wrap .bottom_close_btn a.btn-text {
  font-size: 1.7rem;
  color: #fff;
  text-decoration: none;
}

/*s0501 유튜브*/
.board-media-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.board-media-list ul li {
  width: calc((100% - 31px * 2) / 3);
  font-size: 2.4rem;
  font-weight: 700;
  color: #111111;
}

.board-media-list ul li a {
  display: block;
}

.board-media-list .media_thumb_box {
  position: relative;
  margin-bottom: 2rem;
}

.board-media-list .media_thumb_box::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 85px;
  height: 85px;
  background: url(../image/sub/Thumbnail_round.svg) 0 0 no-repeat;
}

.board-media-list .media_thumb_box .media_thumb_img {
  overflow: hidden;
  height: 240px;
  border-radius: 1.2rem;
}

.board-media-list .media_thumb_box .media_thumb_img .img-wrap {
  height: 100%;
}

.board-media-list .media_thumb_box .media_thumb_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: .2s;
}

.board-media-list ul li a:hover .media_thumb_img img {
  transform: scale(1.1);
}


.board-media-list a:hover .media_thumb_box::after {
  transform: scale(1.1);
}

.board-media-list .media_thumb_box::after {
  content: '';
  position: absolute;
  right: 0px;
  bottom: 0;
  z-index: 1;
  border-radius: 100%;
  width: 50px;
  height: 50px;
  background: #111111 url(../image/sub/nv_arrow.svg) center center no-repeat;
  background-size: 16px auto;
  transition-duration: .2s;
}

.icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 35px;
  background: url('../image/common/video_ic.svg') no-repeat center center;
  background-size: contain;
  pointer-events: none;
}

.board-media-list .txt-wrap {
  line-height: 150%;
  padding-right: 2rem;
}

.board-media-list .tit-wrap {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.board-media-list .txt-wrap p.tit {
  display: inline-block;
  position: relative;
  /*flex: 1;*/
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 2.4rem;
  font-weight: 600;
  color: #333333;
  margin: 0;
}

.board-media-list .txt-wrap p.tit:hover {
  text-decoration: none;
  border-bottom: 2px solid #333;
  padding-bottom: 1px;
  cursor: pointer;
}

.board-media-list .txt-wrap span.date {
  display: block;
  padding-top: 1rem;
  line-height: 150%;
  font-size: 1.7rem;
  font-weight: 400;
  color: #666666;
}

.board-media-list .txt-wrap span.date::before {
  content: url(../image/common/date_ic.svg);
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;
}

.label-new {
  flex-shrink: 0;
  margin-left: 1rem;
  font-size: 1.7rem;
  color: #fe3c01;
  font-weight: 600;
}

/*s0501 뷰페이지*/
.board-view-box .view-top {
  position: relative;
  padding-bottom: 3rem;
  text-align: center;
  border-bottom: 2px solid #111;
}

.view-title h3 {
  font-size: 2.4rem;
  font-weight: 600;
}

.view-info {
  margin-top: 3rem;
}

.board-info-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.board-info-list li span {
  color: #666;
  font-size: 1.7rem;
  font-weight: 400;
}

.icon--writer::before {
  content: url(../image/common/writer_ic.svg);
  display: inline-block;
}

.icon--date::before {
  content: url(../image/common/date_ic.svg);
  display: inline-block;
}

.icon--views::before {
  content: url(../image/common/views_ic.svg);
  display: inline-block;
}

.view-content {
  text-align: center;
  font-size: 1.7rem;
  color: #333;
  line-height: 150%;
  min-height: 300px;
  padding: 3rem;
  overflow-x: auto;
}

.view-stroy  p {
  text-align: center;
}

.view-stroy p img {
  display: block;
  margin: 0 auto;
  padding-bottom: 3rem;
}

.view-content-editor p {
  text-align: center;
}

.view-content-editor p img {
  display: block;
  margin: 0 auto;
  padding-bottom: 3rem;
}


.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 700px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 3rem;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 1.2rem;
}

.view-content-file {
  margin-top: 3rem;
  background: #f8f8f8;
  padding: 2rem 3rem;
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.download-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.download-txt {
  text-align: left;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.7rem;
  line-height: 150%;
}

.download-txt span.txt {
  color: #666666;
}

.download-txt img {
  vertical-align: middle;
}

button.download-btn-txt {
  background: #fff;
  padding: 0 1.2rem;
  height: 40px;
  display: flex;
  border-radius: 0.6rem;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 150%;
  color: #333;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  gap: 0.4rem;
}

button.download-btn-txt::before {
  content: url(../image/common/download_ic.svg);
  display: inline-block;
  vertical-align: middle;
}

.view-button {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #1C1C1C;
}

.view-button .view-button-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.view-button .view-button-box .btn-next-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  padding-right: 8rem;
  position: relative;
}

.view-button .view-button-box .btn-prev-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding-left: 8rem;
  position: relative;
}

.view-button .view-button-box .btn-item .btn-label,
.view-button .view-button-box .btn-item-wrap p {
  width: 100%;
  display: block;
  color: #666666;
}

.view-button .view-button-box .btn-prev-wrap::before {
  left: 0;
  background-image: url(../image/common/btn_prev.svg);
}


.view-button .view-button-box .btn-next-wrap::before {
  right: 0;
  background-image: url(../image/common/btn_next.svg);
}

.view-button .view-button-box .btn-item-wrap {
  position: relative;
  flex: 1;
  width: calc(100% / 2);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.view-button .view-button-box .btn-cm-wrap::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 60px;
  height: 60px;
  background-color: #f8f8f8;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px 16px;
  border-radius: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.view-button .view-button-box .btn-label {
  font-size: 1.7rem;
  font-weight: 600;
  color: #333333;
}

.view-button .view-button-box .btn-prev-wrap .btn-label {
  justify-content: flex-start;
}

.view-button .view-button-box .btn-next-wrap .btn-label {
  justify-content: flex-end;
}

.view-button .view-button-box .btn-post-title {
  margin-top: 1rem;
  font-size: 1.7rem;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.view-button .view-button-box .btn-cm-wrap p {
  margin-top: 1rem;
  font-size: 1.7rem;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.btn-list-box {
  width: 136px;
  height: 60px;
  background-color: #111;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 3px 7px rgba(17, 17, 17, 0.35);
  margin: 0 auto;
}

.view-button .view-button-box .btn-list {
  all: unset;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 400;
  cursor: pointer;
  width: 100%;
  height: 100%;
  text-align: center;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.view-button .view-button-box span {
  color: #ffffff;
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*s0601 관련뉴스*/

[class^="board-media-list"].board-media-list1 .media-item {
  width: 100%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 3rem;
  border: 1px solid #cccccc;
  border-radius: 1.2rem;
}

[class^="board-media-list"].board-media-list1 .media-item:hover {
  border: 2px solid #111111;
  box-sizing: border-box;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

[class^="board-media-list"].board-media-list1 .media_thumb_box {
  margin-bottom: 0;
}

[class^="board-media-list"].board-media-list1 .board-info-list {
  gap: 2rem;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}

[class^="board-media-list"].board-media-list1 .board-info-list li {
  width: auto;
  flex: 0 0 auto;
  line-height: 0;
}

[class^="board-media-list"].board-media-list1 .txt-wrap .board-info-detail {
  font-size: 1.7rem;
  color: #666666;
  font-weight: 400;
  line-height: 150%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

[class^="board-media-list"].board-media-list1 ul {
  gap: 3rem;
}

[class^="board-media-list"].board-media-list1 ul li {
  display: block;
  width: 100%;
}

[class^="board-media-list"].board-media-list1 ul li .media-link {
  display: flex;
  align-items: center;
  gap: 3rem;
}

[class^="board-media-list"].board-media-list1 ul li .media_thumb_box {
  flex-shrink: 0;
  max-width: 100%;
  height: auto;
}

[class^="board-media-list"].board-media-list1 ul li .txt-wrap {
  flex: 1;
  padding-right: 0;
}

.board-media-list1 .media_thumb_box::before {
  display: none;
  content: none;
}

.board-media-list1 .media_thumb_box::after {
  display: none;
  content: none;
}

[class^="board-media-list"].board-media-list1 .media-link .txt-wrap,
[class^="board-media-list"].board-media-list1 .media-link .tit-wrap {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

[class^="board-media-list"].board-media-list1 li .txt-wrap .tit {
  display: inline-block;
  position: relative;
  /* flex: 1; */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 2.4rem;
  font-weight: 600;
  color: #333333;
  margin: 0;
  padding-left: 3.4rem;
  max-width: 100%;
}

[class^="board-media-list"].board-media-list1 li .txt-wrap .tit::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 24px;
  height: 24px;
  background-color: #ffede8;
  background-image: url(../image/sub/notice_ic.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
  border-radius: 5rem;
}

.meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}

.no-number {
  font-size: 1.7rem;
  font-weight: 400;
  display: flex;
  color: #666666;
  align-items: center;
  line-height: 1.7rem;
}

.meta-row p.file {
  background: url(../image/common/file_ic.svg) center no-repeat;
  width: 15px;
  height: 16px;
  text-indent: -9999px;
}

.bbs-top-category {
  max-width: 1340px;
  margin: 0 auto;
  background: #f0f0f0;
  border-radius: 1.2rem;
}

.bbs-top-category ul.type3 {
  display: flex;
  justify-content: space-between;
  gap: 0;
  padding: 0;
  margin: 0 0 6rem 0;
}

.bbs-top-category ul.type3 li {
  flex: 0 0 25%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #666666;
  border-radius: 1.2rem;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
  padding: 0;
  margin: 0;
}

.bbs-top-category ul.type3 li.current {
  background: #0075c2;
  color: #ffffff;
}

input[type="search"]:focus {
  box-shadow: none;
}

/*s0401 참가신청*/

.s0401 .visitor .grp-add_btn_wrap {
  width: 100%;
  display: flex;
  justify-content: end;
}

.s0401 .visitor .grp-add_btn {
  background-color: #111;
  padding: 0 1.2rem;
  display: flex;
  border-radius: 0.6rem;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 150%;
  color: #fff;
  align-items: center;
  gap: 0.4rem;
  min-height: 60px;
}

.s0401 .visitor .grp-add_btn::before {
  content: url(../image/sub/add_btn_ic.svg);
  display: inline-block;
  vertical-align: middle;
}

h2.tit.text_align {
  text-align: center;
}

.agree_con {
  padding: 3rem;
  border-radius: 1.2rem;
  background: #ffffff;
  border: 3px solid #efefef;
  margin-bottom: 3rem;

}

.agree_con p {
  font-size: 1.9rem;
  line-height: 150%;
  color: #333;
}

.agree_con .term_wrap {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  margin-top: 3rem;
}

.agree_con .term_wrap .term {
  width: calc((100% - 30px * 2) / 3);
  height: auto;
  min-height: 143px;
  border: 3px solid #e8f1ff;
  border-radius: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.s0401 .program-list {
  width:100%;
}

.agree_con .term_wrap .term h5 {
  font-size: 1.9rem;
  font-weight: 600;
  color: #0075c2;
  margin-bottom: 2rem;
  text-align: center;
}

.agree_con .term_wrap .term_con {
  font-size: 1.7rem;
  line-height: 1.6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.agree_con .term_wrap .term_con small {
  color: #666;
}

.selection_wrap {
  background-color: #f8f8f8;
  border-radius: 1.2rem;
  margin: 3rem 0 0 0;
  padding: 3rem;
  text-align: center;
}

.selection_wrap h5 {
  font-size: 1.9rem;
  font-weight: 600;
  color: #333;
  text-align: center;
  margin-bottom: 2rem;
}

.underline {
  display: inline-block;
  border-bottom: 1px solid #333;
  padding-bottom: 0.2rem;
  text-align: center;
  margin: 0 auto;
}

.selection_wrap .radio_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.selection_wrap .radio_wrap .radio-item-wrap {
  display: flex;
  gap: 2rem;
}

.selection_wrap .radio_wrap .radio-item-wrap .custom-radio {
  font-size: 1.7rem;
}


.visitorType {
  width: 100%;
}

.visitorType ul .title {
  font-size: 2.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 2rem;
}

.required-kr::after {
  content: " (필수)";
  font-size: 1.7rem;
  color: #fe3c01;
  font-weight: 400;
}

/*** 라디오 스타일 ***/
.custom-radio {
  position: relative;
  padding-left: 3.4rem;
  cursor: pointer;
  user-select: none;
}

.custom-radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* 라디오(미선택) 시 스타일*/
.custom-radio .radioMark {
  position: absolute;
  left: 0;
  height: 24px;
  width: 24px;
  background: #ccc;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translate(0, -50%);
}

/* 라디오(선택) 시 스타일 */
.custom-radio input[type="radio"]:checked+.radioMark {
  background-color: #0075c2;
}

/* 라디오마크 */
.custom-radio .radioMark::after {
  content: "";
  position: absolute;
  display: none;
}

/*라디오 스타일 변경*/
.custom-radio input[type="radio"]:checked+.radioMark::after {
  content: url(../image/common/check_ic.svg);
  display: inline-block;
  vertical-align: middle;
  top: 50%;
  left: auto;
  transform: translate(0, -50%);
}


/*** 라디오 ***/
.inputBox .radio-group1 {
  display: flex;
  gap: 2rem;
  font-size: 1.7rem;
}

/** 라디오 버튼 스타일 **/
.radio-group1 .custom-radio {
  position: relative;
  cursor: pointer;
  display: inline-block;
  user-select: none;
  padding-left: 3rem;
}

/* 진짜 라디오 버튼 숨김 처리 */
.radio-group1 .custom-radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* 라디오 버튼(미선택) 시 스타일 */
.radio-mark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  height: 24px;
  width: 24px;
  background-color: #fff;
  border-radius: 50%;
  border: 6px solid #ccc;
  transition: background-color 0.2s ease;
}

/* 라디오 버튼(선택) 시 스타일 */
.custom-radio input:checked~.radio-mark {
  background-color: #fff;
  border: 6px solid #0075c2;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}

.visitor {
  width: 100%;
  padding: 3rem 0;
  border-bottom: 1px solid #ccc;
}

.visitor .title {
  font-size: 2.4rem;
  font-weight: 600;
  color: #333;
}

.visitor .bx-wrap {
  width: 100%;
  padding-bottom: 2rem;
  display: flex;
  gap: 3rem;
}

.visitor .bx-wrap .bx-lt {
  width: 50%;
}

.visitor ul .sub {
  font-size: 1.9rem;
  font-weight: 500;
  color: #333;
  margin: 2rem 0;
}

.visitor .bx-wrap .bx-rt {
  width: 50%;
}

.visitor .bx-wrap .bx-rt ul .sub {
  font-size: 1.9rem;
  font-weight: 500;
  color: #333;
  margin: 2rem 0;
}

/*인풋 스타일*/
input {
  width: 100%;
  background-color: #f8f8f8;
  border: none;
  border-radius: 0.6rem;
  min-height: 60px;
  font-size: 17px;
  color: #333333;
  font-weight: 400;
}

small {
  font-size: 1.7rem;
  color: #666;
}

.session {
  width: 100%;
  padding: 3rem 0 0 0;
}

.session ul {
  width: 100%;
}

.session ul .small {
  font-size: 1.9rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 2rem;
}

/* 체크박스 그룹 래퍼 */
.check-wrap {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

/* 개별 체크박스 아이템 래퍼 */
.check-item-wrap {
  width: calc((100% - 30px * 3) / 4);
  display: flex;
  align-items: center;
}

/* 커스텀 체크박스 스타일 */
.custom-checkbox {
  position: relative;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  font-size: 1.7rem;
  background-color: #f8f8f8;
  border-radius: 0.6rem;
  width: 100%;
  height: 60px;
  padding-left: 0;
  padding-right: 1.5rem;
}

/* 실제 체크박스 숨김 */
.custom-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* 커스텀 체크박스 마크 */
.checkmark {
  position: relative;
  flex-shrink: 0;
  margin-right: 1rem;
  height: 24px;
  width: 24px;
  background-color: #ccc;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  margin-left: 2rem;
}

/* 체크박스 선택 시 스타일 */
.custom-checkbox input:checked~.checkmark {
  background-color: #0075c2;
}

.custom-checkbox input:checked~.checkmark:after {
  display: block;
}

.custom-checkbox .checkmark:after {
  content: "";
  display: none;
  width: 15px;
  height: 16px;
  background: url(../image/common/check_ic.svg) no-repeat center center;
  background-size: contain;
}

.password {
  width: 100%;
  margin-bottom: 3rem;
}

.password ul .small {
  font-size: 1.9rem;
  font-weight: 500;
  color: #333;
  margin: 2rem 0;
}

.password ul .inputBox {
  width: 100%;
  height: 60px;
  background-color: #f8f8f8;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
}

.password ul .inputBox input {
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: none;
  border-radius: 0.6rem;
  padding: 0 2rem;
  font-size: 1.7rem;
  line-height: 1;
  box-sizing: border-box;
}

input[type="text"]:focus {
  outline: none;
  border: 2px solid #111111;
  box-shadow: none;
}

.inputBox:has(#emailId) {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.inputBox:has(#emailId) #emailId,
.inputBox:has(#emailId) span,
.inputBox:has(#emailId) #emailAddr2 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.inputBox:has(#emailId) #emailId {
  flex: 1 1 40%;
  min-width: 120px;
}

.inputBox:has(#emailId) span {
  flex: 0 0 auto;
  padding: 0 0.5rem;
  font-size: 1.7rem;
}

.inputBox:has(#emailId) #emailAddr2 {
  flex: 1 1 40%;
  min-width: 120px;
}

.inputBox:has(#emailId) select#emailAddr {
  /*flex-basis: 100%;*/
  height: 100%;
  min-height: 60px;
  min-width: 300px;
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
  margin-left: 1rem;
}

.btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-wrap .nxtBtn {
  width: 136px;
  height: 60px;
  background-color: #111;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 3px 7px rgba(17, 17, 17, 0.35);
}

.btn-wrap .nxtBtn a {
  font-size: 1.7rem;
  color: #fff;
  text-decoration: none;
}

.btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

#prgrmReqstPasswd-error {
  font-size: 1.4rem;
  color: #666666;
  white-space: nowrap;
  padding-right: 2rem;
  margin-top: 0;
}

#prgrmReqstPasswdConfirm-error {
  font-size: 1.4rem;
  color: #666666;
  white-space: nowrap;
  padding-right: 2rem;
  margin-top: 0;
}

label.error {
  font-size: 1.4rem;
  color: #666666;
  white-space: nowrap;
  margin-top: 1rem;
  display: block;
}

/*s04 참가신청완료*/

.registration-complete {
  width: 100%;
  padding: 3rem;
  border-radius: 1.2rem;
  background: #ffffff;
  border: 3px solid #efefef;
}

.visitor.visitor1 {
  border-bottom: none;
  padding: 0 0 3rem 0;
}

.btn-wrap button {
  width: 136px;
  height: 60px;
  background-color: #111;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 3px 7px rgba(17, 17, 17, 0.35);
  font-size: 1.7rem;
  color: #fff;
  text-decoration: none;
}

.confirm {
  background-color: #0075c2 !important;
}

/*s04 참가신청확인*/
.s0401 .sub_inner .con_wrap .page-veiw-opt2 {
  margin: 2rem 0;
  height: auto;
}

.swal-button {
  background-color: #111111;
}

.swal-button:not([disabled]):hover {
  background-color: #0075c2;
}

.swal-footer {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.swal-button--cancel {
  color: #666666;
  background-color: #f0f0f0;
}

.swal-button--cancel:hover {
  color: #ffffff;
  background-color: #0075c2;
}

/*s0503 지난포럼*/

.s0503 .sub_inner .con_wrap .con_box {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.leaflet_wrap {
  padding: 0 3rem 0 0;
}

.leaflet_wrap .txt_box h2 {
  flex: 1;
  min-width: 0;
  line-height: 150%;
  color: #111111;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 3rem;
}

.leaflet_wrap .txt_box h2 span.tit_color {
  color: #0075c2;
  font-size: 4rem;
  font-weight: 700;
  line-height: 0;
}


.leaflet_wrap {
  overflow: hidden;
  display: flex;
  border: 0;
  background: url(../image/sub/s0102_title_bg.png) 0 0 no-repeat;
  background-size: cover;
  border-radius: 1.2rem;
  align-items: center;
}

.leaflet_wrap2 {
  background: none;
  justify-content: center;
}

.leaflet_thumb_img img {
  width: 380px;
  border-radius: 1.2rem;
}

.leaflet_wrap .txt_box {
  padding: 0 0 0 6rem;
  flex: 1;
}

.leaflet_wrap .txt_box .add_exp {
  font-size: 1.9rem;
  color: #333;
  font-weight: 400;
  line-height: 180%;
}

.leaflet_wrap .download-section {
  display: flex;
  margin: 3rem 0 0 0;
  gap: 3rem;
}

.leaflet_wrap .download-section2 {
  width: auto;
  min-width: 160px;
}

.leaflet_wrap .download-section a {
  width: 100%;
  padding: 2rem 0;
  color: #333333;
  text-decoration: none;
  font-size: 1.7rem;
  font-weight: 400;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  text-align: center;
  border-radius: 0.6rem;
}

.leaflet_wrap .download-section a.btn1 {
  background-color: #111111;
  color: #ffffff;
}

.leaflet_wrap .download-section a.btn::after {
  content: "";
  display: inline-block;
  background-image: url(../image/sub/external_link_ic.svg);
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 1rem;
  flex-shrink: 0;
}

.leaflet_wrap .download-section a.btn2 {
  background-color: #0075c2;
  color: #ffffff;
}

.leaflet_wrap .download-section a.btn3 {
  background-color: #102153;
  color: #ffffff;
}

.leaflet_thumb_bg {
  background-color: #ffffffa6;
  width: 440px;
  max-width: 100%;
  height: 100%;
  min-height: 596px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  border-radius: 1.2rem 0 0 1.2rem;
}

/*서브디자인 영역 마침*/

/*서브디자인 반응형*/
@media (max-width: 1440px) {

  .sub_inner {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  /*s010201 나주시장*/
  .s010201 .sub_inner .title {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 3rem;
    margin-bottom: 1rem;
  }

  .s010201 .sub_inner .title::after {
    right: auto;
  }

  .s010201 .sub_inner .title .Mayor_box {
    position: relative;
    /* absolute → relative */
    right: auto;
    margin: 0 auto;
    width: 30%;
  }

  .s0102 .sub_inner .txt_wrap {
    width: 70%;
  }

  .Mayor_box img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  /*페이지 내비게이션*/
  .nv-menu {
    position: relative;
    bottom: 0;
    border-radius: 0;
    max-width: 100%;
  }

  /*s0201 2025 주제*/
  .s0201 .sub_inner .con_wrap .img_box {
    width: 100%;
    padding: 0 3rem;
    box-sizing: border-box;
  }

  .s0201 .sub_inner .con_wrap .event_detail_box .event_bg {
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-size: contain;
  }

  /*s0202 세션구성*/

  .tab_wrap .tab_inner .tab_btn .tab_con .session_list_wrap {
    min-height: 500px;
    overflow-y: auto;
  }

  .s0202 .board-info-list .session_day {
    width: 100%;
  }

  .s0202 .board-info-list .session_time {
    width: 100%;
  }

  .s0202 .board-info-list .session_tit {
    width: 100%;
  }

  .s0202 .board-info-list .session_location {
    width: 100%;
  }

  /*s0401 참가신청*/
  .agree_con .term_wrap {
    flex-wrap: wrap;
  }

  .agree_con .term_wrap .term {
    justify-content: flex-start;
    height: 100%;
    padding: 2rem;
  }

  .agree_con .term_wrap {
    align-items: stretch;
  }

  /*주요연사소개*/
  .s0301 .sub_inner .con_wrap .speaker_list ul li {
    width: calc((100% - 31px * 2) / 3);
  }

}

@media (max-width: 1280px) {

  /*s010202 추진위원장*/

  .s0102 .con_box {
    align-items: stretch;
  }
}

@media (max-width: 1200px) {

  /*s0503 지난포럼*/
  .leaflet_wrap {
    flex-direction: column;
    padding: 3rem;
  }

  .leaflet_wrap .txt_box {
    padding: 0;
    width: 100%;
  }

  .leaflet_thumb_bg {
    margin-bottom: 3rem;
  }

  .leaflet_wrap .txt_box h2 {
    text-align: center;
  }

  .leaflet_wrap .txt_box .add_exp {
    text-align: center;
  }
}

@media (max-width: 1160px) {

  /*s0101 행사소개*/

  .s0101 .sub_inner .event_txt_box_top h2 {
    font-size: 4rem;
  }

  .s0101 .sub_inner .event_txt_box_top h2 span.tit_color {
    font-size: 3rem;
  }

  /*s0601 관련뉴스*/
  [class^="board-media-list"].board-media-list1 .board-info-list {
    flex-wrap: wrap;
  }


}

@media (max-width: 1130px) {

  /*s0101 행사소개*/

  .s0101 .organizer_item_wrap {
    flex-direction: column;
  }

  .s0101 .organizer_item_wrap .organizer_item:nth-child(1) {
    width: 100%;
  }

  .s0101 .organizer_item_wrap .organizer_item:nth-child(2) {
    width: 100%;
  }

}

@media (max-width: 1060px) {

  /*s0103 행사장안내*/

  .s0103 .sub_inner .map_top {
    flex-wrap: wrap;
    gap: 3rem;
  }

  .s0103 .sub_inner .map_top .info_l {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .s0103 .sub_inner .map_top .info_m {
    margin-left: 0;
  }

  .s0103 .sub_inner .map_top .info_m,
  .s0103 .sub_inner .map_top .info_r {
    max-width: 50%;
    box-sizing: border-box;
  }

  /*s0503 지난포럼*/
  .leaflet_wrap .txt_box .add_exp {
    line-height: 150%;
  }

}

@media (max-width: 1024px) {

  /*s0101 행사소개*/

  .s0101 .event_wrap {
    flex-direction: column;
    align-items: center;
  }

  .s0101 .sub_inner .event_txt_box_top h2 {
    margin-top: 0;
  }

  /*s0301 연사소개*/

  .s0301 .sub_inner .con_wrap .speaker_list ul li {
    width: calc((100% - 31px) / 2);
  }

  /*s0501 유튜브*/
  .board-media-list ul li {
    width: calc((100% - 31px) / 2);
  }
}

@media (max-width: 1020px) {

  /*s010202 추진위원장*/

  .s0102 .con_box {
    flex-direction: column;
    align-items: center;
    gap: 6rem;
  }

  .s0102 .con_box .img_wrap::before {
    content: "";
    width: 1920px;
    min-width: 0;
    background: #f0f0f0;
    position: absolute;
    left: 50%;
    right: 0;
    top: 0;
    box-sizing: border-box;
    transform: translateX(-50%);
    border-radius: 0;
  }

  .s0102 .con_box .txt_box_wrap2 {
    width: 100%;
    padding-left: 0;
  }

  .s0102 .con_box .img_wrap {
    width: 100%;
    height: 100%;
    position: relative;
  }

  .s0102 .sub_inner .chairman_box {
    width: 100%;
  }

  .s0102 .sub_inner .chairman_box img.chairman_img {
    width: 50%;
    height: auto;
    margin: 0 auto;
  }

  .s0102 .sub_inner .chairman_box p.sign {
    justify-content: center;
  }

  .s0102 .con_box .txt_box_wrap2 h2 {
    text-align: center;
    width: 100%;
  }

  /*s0103 행사장안내*/
  .s0103 .sub_inner .txt_box_wrap .Other_info .txt_wrap::before {
    background: none;
  }

  /*s0401 참가신청*/
  .agree_con .term_wrap .term h5 {
    line-height: 150%;
  }

  /*s0301 주요연사*/

  .s0301 .modal_speaker .detail_inner .info_box {
    gap: 3rem;
    align-items: flex-start;
  }

  .s0301 .modal_speaker .detail_inner .info_box .info_pic {
    margin: 3rem 0 3rem 3rem;
  }

  .s0301 .modal_speaker .detail_inner .info_box .info_pic img {
    mask-image: none;
    border-radius: 1.2rem;
  }

  /*s0501 유튜브*/
  .view-button .view-button-box .btn-prev-wrap {
    align-items: flex-start;
    text-align: left;
    padding-left: 7rem;
    padding-right: 3rem;
  }

  .view-button .view-button-box .btn-next-wrap {
    align-items: flex-end;
    text-align: right;
    padding-left: 3rem;
    padding-right: 7rem;
  }

  /*관련뉴스*/

  [class^="board-media-list"].board-media-list1 ul li .media-link {
    flex-direction: column;
  }
}

@media (max-width: 1000px) {

  /*s0103 행사장안내*/
  .s0103 .sub_inner .txt_box_wrap .Other_info .info_inner {
    flex-direction: column;
    align-items: flex-start;
  }

  /*s0202 세션*/
  .s0202 .session_content_box {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }

  .s0202 .board-info-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }

  .s0202 .board-info-list li:not(:last-child)::after {
    content: "";
    position: static;
  }

  .tab_wrap .tab_inner .tab_btn ul.tab_2025 li {
    width: calc(100% / 2);
  }

  .tab_wrap .tab_inner .tab_btn ul.tab_2025 li:nth-child(2) {
    border-radius: 0 1.2rem 0 0;
  }


  .tab_wrap .tab_inner .tab_btn ul.tab_2025 li:last-child {
    border-radius: 0 0 0 0;
  }

}

@media (max-width: 900px) {

  /*s0102 나주시장*/

  .s0102 .sub_inner h2 {
    font-size: 3rem;
  }

  .s0102 .sub_inner h2 span.tit_color {
    font-size: 4rem;
  }

  /*페이지 내비게이션*/

  .nv-menu>.home {
    display: none;
  }

  .nv-menu {
    flex-wrap: wrap;
  }

  .nv-menu>.subMenu {
    width: 50%;
    max-width: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .nv-menu>.util_list {
    width: auto;
    margin-left: auto;
    align-items: center;
    height: 70px;
  }

  .util_list ul {
    padding: 0 2rem 0 2rem;
  }

  /*s0401 참가신청*/
  .check-item-wrap {
    width: calc((100% - 30px) / 2);
  }

  .inputBox:has(#emailId) {
    flex-direction: column;
    align-items: stretch;
  }

  .inputBox:has(#emailId) select#emailAddr {
    margin-left: 0;
  }

  .inputBox:has(#emailId) #emailId,
  .inputBox:has(#emailId) span,
  .inputBox:has(#emailId) #emailAddr2,
  .inputBox:has(#emailId) select#emailAddr {
    flex: none;
    width: 100%;
    min-width: auto;
    margin-bottom: 10px;
  }

  .inputBox:has(#emailId) span {
    text-align: center;
    padding: 0;
  }

  /*s0501 유튜브*/
  .board-media-list .tit-wrap {
    position: relative;
    display: block;
  }

  .board-media-list .txt-wrap p.tit {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    padding-right: 4.5rem;
    line-height: 1.4em;
    max-height: calc(1.4em * 2);
  }

  .board-media-list .label-new {
    position: absolute;
    top: 0;
    right: 0;
    background-color: white;
    padding-left: 4px;
    font-size: 1.7rem;
    font-weight: 600;
    color: #fe3c01;
    white-space: nowrap;
  }

  /*s0501 유튜브 뷰페이지*/
  button.download-btn-txt {
    font-size: 0;
  }

  .download-txt {
    flex-wrap: wrap;
  }

  .view-content-file {
    gap: 3rem;
  }

  .view-button .view-button-box {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .view-button .view-button-box .btn-list-box {
    width: 100%;
    order: 1;
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
  }

  .view-button .view-button-box .btn-item-wrap {
    width: 50%;
    order: 2;
  }

  .view-button .view-button-box .btn-prev-wrap {
    align-items: flex-start;
    text-align: left;
    padding-left: 7rem;
    padding-right: 2rem;
  }

  .view-button .view-button-box .btn-next-wrap {
    align-items: flex-end;
    text-align: right;
    padding-left: 2rem;
    padding-right: 7rem;
  }

  /*s0503 지난포럼*/
  .leaflet_wrap .download-section {
    flex-direction: column;
  }

}

@media (max-width: 800px) {

  /*s0201 2025 주제*/
  .s0201 .sub_inner .con_wrap h2 {
    font-size: 2rem;
    line-height: 180%;
  }

  .s0201 .sub_inner .con_wrap h2 span.tit_color {
    font-size: 4rem;
  }

  .s0201 .sub_inner .con_wrap .txt_box p.exp {
    line-height: 180%;
    color: #333333;
    font-size: 1.9rem;
    margin-top: 3rem;
  }
}


@media (max-width: 768px) {

  /*s010201 나주시장*/
  .s010201 .sub_inner .title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    margin-bottom: 1rem;
    flex-direction: column;
  }

  .s010201 .sub_inner .title::after {
    right: auto;
  }

  .s0102 .sub_inner .txt_wrap {
    width: 100%;
    order: 2;
  }

  .s010201 .sub_inner .title .Mayor_box {
    position: relative;
    /* absolute → relative */
    right: auto;
    margin: 0 auto;
    width: 60%;
  }

  .Mayor_box img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  .s010201 .sub_inner .title .Mayor_box p.sign {
    justify-content: center;
  }

  .s0102 .sub_inner h2 {
    text-align: center;
    width: 100%;
  }

  /*s0103 행사장안내*/

  .s0103 .sub_inner .map_top .info_m,
  .s0103 .sub_inner .map_top .info_r {
    max-width: 100%;
  }

  .s0103 .sub_inner .map_top .info_r {
    width: 100%;
    justify-content: center;
  }

  .s0103 .sub_inner .map_top .info_r a {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .s0103 .sub_inner .txt_box_wrap .item_l {
    flex-direction: column;
  }

  .s0103 .sub_inner .txt_box_wrap .item_l .item_r {
    width: 100%;
  }

  /*s0104 파트너*/
  .s0104 .sub_inner .con_wrap .partner_list ul li {
    width: calc((100% - 32px) / 2);
  }



  /*3뎁스 메뉴*/
  nav.sub_dep3 ul {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  nav.sub_dep3 ul.dep3 li {
    width: 50%;
  }

  .nv-menu>.subMenu {
    width: 100%;
  }

  /*s0301 주요연사*/
  .board-top-info {
    flex-direction: column;
    gap: 2rem;
  }

  /*s0501 유튜브*/
  .view-title h3 {
    line-height: 150%;
  }

  /*게시판 카테고리 메뉴*/
  .bbs-top-category {
    margin-left: 3rem;
    margin-right: 3rem;
  }

  .bbs-top-category ul.type3 li {
    flex: 0 50%;
  }
}

@media (max-width: 600px) {

  /*s0101 행사소개*/
  .s0101 .organizer_item_wrap .organizer_item:nth-child(1) .img_box ul {
    flex-direction: column;
  }

  .s0101 .organizer_item_wrap .organizer_item:nth-child(1) .img_box ul li {
    flex: 0 0 auto;
  }

  .s0101 .event_detail {
    flex-direction: column;
  }

  .s0101 .event_detail_item {
    border-right: none;
    border-bottom: 1px solid #cccccc;
  }

  /*s0301 주요연사*/

  .s0301 .sub_inner .con_wrap .speaker_list ul li {
    width: 100%;
  }

  .s0301 .sub_inner .con_wrap .speaker_list .speaker_box {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: stretch;
  }

  .s0301 .sub_inner .con_wrap .speaker_list .speaker_box .speaker_img {
    width: 40%;
    height: auto;
  }

  .s0301 .sub_inner .con_wrap .speaker_list .speaker_box .speaker_img img {
    object-fit: cover;
  }

  .s0301 .sub_inner .con_wrap .speaker_list .name {
    position: relative;
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem 6rem 3rem 3rem;
  }

  .s0301 .modal_speaker .detail_inner .info_box .info_pic {
    margin: 3rem auto;
    width: 80%;
  }

  .s0301 .modal_speaker .detail_inner .info_box {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .s0301 .modal_speaker .detail_inner .info_box .info_txt {
    width: 100%;
    padding: 0 3rem 3rem 3rem;
  }

  /*s0401 참가신청*/

  h2.tit.text_align {
    line-height: 150%;
  }

  .agree_con h3.tit {
    line-height: 150%;
  }

  .selection_wrap h5 {
    line-height: 150%;
  }

  .selection_wrap .radio_wrap .radio-item-wrap {
    flex-wrap: wrap;
  }

  small {
    line-height: 150%;
  }

  .agree_con .term_wrap {
    flex-direction: column;
    gap: 2rem;
  }

  .agree_con .term_wrap .term {
    width: 100%;
    flex: none;
  }
}

@media (max-width: 500px) {

  /*s0104 행사장안내*/
  .s0104 .sub_inner .con_wrap .partner_list ul li {
    width: 100%;
    max-width: 100%;
  }

  .s0103 .sub_inner .qr_wrap {
    flex-direction: column;
  }

  .s0103 .sub_inner .qr_box {
    max-width: 100%;
  }

    /*3뎁스 메뉴*/

  nav.sub_dep3 ul {
    flex-direction: column;
  }

  nav.sub_dep3 ul.dep3 li {
    width: 100%;
  }

  /*s0201 2025 주제*/
  .s0201 .sub_inner .con_wrap .event_txt_box_top .mid_line {
    display: none;
  }

  /*s0401 참가신청*/
  .check-item-wrap {
    width: 100%;
  }

  .s0401 .program-list ul {
    display: flex;
    flex-direction: column;
  }



  /*게시판 카테고리 메뉴*/

    .bbs-top-category ul.type3 {
      flex-direction: column;
    }

    .bbs-top-category ul.type3 li {
      width: 100%;
    }
}

@media (max-width: 400px) {

  /*s0103 행사장안내*/
  .s0103 .sub_inner .map_top .info_r {
    display: flex;
    flex-direction: column;
  }

  /*s0301 주요연사*/
  .page-veiw-opt {
    flex-wrap: wrap;
    height: auto;
  }

  .page-veiw-opt select.form-select {
    flex: 1 1 auto;
    min-width: 120px;
    max-width: 200px;
  }

  .page-veiw-opt button.btn-opt-view {
    flex-basis: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .pageinfo dl {
    align-items: normal;
    line-height: 150%;
  }

  /*s0401 참가신청*/
  .selection_wrap .radio_wrap .radio-item-wrap .custom-radio {
    text-align: left;
    line-height: 150%;
  }

  .inputBox .radio-group1 {
    flex-direction: column;
  }
}

@media (max-width: 368px) {

  /*s0301 주요연사*/
  .board-search .board_inner {
    flex-wrap: wrap;
  }

  select#condition {
    width: 100%;
  }
}
/* 참가신청 ul 추가 */
.program-list ul {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
  gap: 12px;
}

.program-btn {
  width:100%;
  display:flex; align-items:center; gap:12px;
  border:1px solid #e5e7eb; background:#fff;
  border-radius:12px;
  padding:16px 20px;
  min-height:56px;
  font-size:16px; line-height:1.4;
  cursor:pointer; text-align:left;
  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.program-btn:hover {
  background: #f9fafb;
  border-color:#d1d5db;
}

.program-btn.is-selected{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.18);
  background:#f5f8ff;
  font-weight:600;
}

.selected-program-wrap{
  display:flex; align-items:center; gap:10px;
  margin: 8px 0 16px;
}
.selected-program-label{ font-size:15px; color:#333; }
.selected-program-name{
  padding:8px 12px; border-radius:10px;
  background:#eef4ff; border:1px solid rgba(37,99,235,.25);
  font-weight:600;
}

.program-note {
  margin: 8px 0 16px;
  font-size: 15px;
  font-weight: 700;
  color: #1d4ed8;
}