@charset "UTF-8";

/* 서브 공통 */
.sub_contents {
}
.conts_wrap {
}
.conts_flexBox {
  display: flex;
  justify-content: space-between;
}
.conts_title01 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--main-Cl01);
  line-height: 1.4;
  margin-bottom: 1.25rem;
}
.conts_title01 span {
  display: block;
  font-size: 1.25rem;
  color: var(--main-Cl02);
  line-height: 1.4;
  padding-top: 10px;
}
.conts_title01 em {
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--gray19);
  margin-top: 10px;
}
.conts_title02 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 34px;
  margin-bottom: 20px;
}

.conts_minititle01 {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 34px;
  margin-bottom: 2px;
}
.conts_minicontents01 {
  font-size: 0.9rem;
  font-weight: 500;
}
.conts_minicontents02 {
  font-size: 0.8rem;
  font-weight: 500;
  padding-left: 140px;
}

.conts_desc {
  width: 100%;
}
.conts_desc p {
  line-height: 1.6;
}

strong {
  font-weight: 700;
}
.strong01 {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--main-Cl02);
  span {
    font-weight: 500;
    font-size: 2rem;
  }
}
.strong02 {
  padding-left: 10px;
  text-indent: -10px;
  color: var(--main-Cl01);
}
.strong02::before {
  content: "*";
  padding: 3px 3px 0 0;
  font-weight: 900;
}
.strong03 {
  color: var(--main-Cl02);
}
.strong04 {
  color: var(--main-Cl01);
}
.bold {
  font-weight: 700;
}
.comment {
  padding-left: 10px;
  text-indent: -10px;
  color: var(--main-Cl02);
  span {
    border-bottom: 1px solid var(--main-Cl02);
    padding-bottom: 2px;
  }
}
.comment::before {
  content: "*";
  padding: 3px 3px 0 0;
  font-weight: 900;
}

.alignl {
  text-align: left !important;
}
.alignr {
  text-align: right !important;
}
.alignc {
  text-align: center !important;
}

.flex {
  display: flex;
}
.flex_center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.border01 {
  border: 1px solid var(--graydb);
}

.basic_box01,
.basic_box02 {
  margin-bottom: 4.375rem;
  padding: 3.125rem;
  width: 100%;
  p {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.basic_box01 {
  background-color: rgba(0, 0, 0, 0.03);
}
.basic_box02 {
  background: rgba(31, 201, 211, 0.1);
}

/* 서브 버튼 공통 */
.btn_wrap {
}
.btn_type1 {
  min-width: 200px;
  display: inline-flex;
  padding: 0 35px;
  height: 56px;
  border-radius: 56px;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  border: 1px solid var(--main-Cl02);
  transition: all 0.3s ease;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
}
.btn_type1:hover {
  color: var(--white);
  border-color: var(--main-Cl02);
  background-color: var(--main-Cl02) !important;
}
.btn_type2 {
  min-width: 200px;
  display: inline-flex;
  padding: 0 35px;
  height: 56px;
  border-radius: 56px;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  color: var(--white);
  border: 1px solid var(--main-Cl02);
  transition: all 0.3s ease;
  box-sizing: border-box;
  background: rgba(0, 185, 255, 1);
}
.btn_type2:hover {
  color: var(--white);
  border-color: var(--main-Cl01);
  background-color: var(--main-Cl01) !important;
}

/* 서브 탭 공통 */
.sub_contents .tab_group {
  width: 100%;
}
.tab {
  width: 100%;
  padding: 0.625rem;
  margin-bottom: 4.375rem;
  /* &.mgb70 {
    margin-bottom: 4.375rem;
  } */
  &.bgblue {
    background: var(--main-Cl01);
  }
  .subConts {
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
    gap: 0.375rem;
    flex-wrap: nowrap;
    li {
      /* height: -webkit-fill-available; */
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1;
      border: 2px solid rgba(255, 255, 255, 0.45);
      background-color: var(--main-Cl01);
      transition: all 0.3s;
      a {
        width: 100%;
      }
      &.on,
      &:hover {
        background-color: var(--white);
        button {
          color: var(--main-Cl01);
          font-weight: 700;
        }
      }
      button {
        color: var(--white);
        font-size: 1.125rem;
        /* font-weight: 700; */
        background-color: transparent;
        width: 100%;
        padding-block: 0.5rem;
      }
    }
  }
}

/* ndff */
.intro_box,
.symbol,
.poster,
.theater,
.award,
.areabox,
.village,
.container,
.namdo_project,
.ticket,
.shuttle_bus,
.view,
.cinemarule,
.artcargo {
  margin-bottom: 4.375rem;
}

/* ndff >  ndff 소개 */
.intro_box {
  padding: 3.125rem;
  background-color: rgba(0, 0, 0, 0.03);
}
.intro_logo {
  margin-right: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.intro_logo img {
  width: 18.125rem;
  padding-bottom: 3.125rem;
}
.intro_logo p {
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--main-Cl01);
  /* margin-bottom: 10px; */
}
.intro_desc {
  line-height: 1.6;
}
.theater_box {
}
.theater_boxP {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--main-Cl01);
  margin-block: 1rem 0.625rem;
}
.theater_ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.theater_ul li {
  padding: 0 2.5rem 0 0.9375rem;
  height: 2.5rem;
  border-radius: 1.25rem;
  background-color: var(--main-Cl02);
  transition: 0.3s;
}
.theater_ul li a {
  display: block;
  color: var(--white);
  font-weight: 500;
  line-height: 2.5rem;
  position: relative;
  transition: 0.3s;
}
.theater_ul li:hover {
  background: rgb(0, 185, 255);
  background: linear-gradient(
    127deg,
    rgba(0, 125, 250, 1) 0%,
    rgba(0, 185, 255, 1) 94%
  );
}
.theater_ul li a:hover {
  color: var(--white);
}
.theater_ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 5px;
  width: 16px;
  height: 19px;
  background: url(../images/sub/intro_mapIcon.svg) no-repeat;
}
.theater_box img {
  max-width: 100%;
}

/* ndff >  영화제 아이덴티티 */
.symbol {
  img {
    max-width: 100%;
  }
}
.logo_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo_box {
  width: calc(50% - 1.25rem);
  height: -webkit-fill-available;
  .logo {
    height: 20rem;
    padding-inline: 1.25rem;
    padding-block: 1.25rem;
    margin-bottom: 1.75rem;
    align-content: center;
    text-align: center;
    background: url(../images/sub/symbol_bg.png);
  }
}
.logo_box img {
  width: 65%;
}

.logo_other {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.logo_other li {
  flex: 1;
}
.logo_other figure {
  margin-bottom: 15px;
  width: 100%;
  height: 100%;
  border: 1px solid var(--graydb);
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo_other figure img {
  width: 60%;
}
.logo_other p {
  font-family: "Lato";
  font-weight: 700;
  text-align: center;
}

.poster_ul {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-top: 25px;
}
.poster_ul li {
  width: calc(50% - 20px);
  border: 1px solid var(--graydb);
}
.poster_ul li img {
  width: 100%;
}

.poster_video {
  width: 100%;
  height: 100%;
  margin-top: 1.25rem;
  overflow: hidden;
  video {
    width: calc(100% + 1px);
    height: 100%;
  }
}
/* .poster_video {
  position: relative;
  width: 100%;
  height: 52vw;
  overflow: hidden;
  video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
  }
} */ /* 반응형 */

/* ndff >  조직구성 */
.organ {
}
.organ img {
  max-width: 100%;
}

/* ndff > 시상 및 심사위원 */
.jury {
  margin-bottom: 4.375rem;
}
.jury:last-child {
  margin-bottom: 0;
}

.evenBox {
}
.evenBox .evenBoxIn {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  margin-top: 3.125rem;
}
.evenBox .evenBoxIn:first-child {
  margin-top: 0;
}
.evenBox .evenBoxIn .evenBox_desc h2 {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.evenBox .evenBoxIn:nth-child(even) {
  flex-direction: row-reverse;
}
/* .evenBox .evenBoxIn > div:first-child{ padding-right:40px; } */
/* .evenBox .evenBoxIn:nth-child(even) > div:first-child{ padding-right:0; padding-left:40px; } */
.evenBox .evenBoxIn .evenBox_img {
  width: 18.75rem;
}
.evenBox .evenBoxIn .evenBox_img img {
  width: 18.75rem; /* width : 300px; max-width: 100%; */
  max-width: 100%;
  height: auto;
}
.evenBox .evenBoxIn .evenBox_desc {
  width: calc(100% - 21.25rem);
}

/* ndff > 스폰서 & 파트너사 */
.partner {
  width: 100%;
  margin-bottom: 4.375rem;
}
.partner:last-child {
  margin-bottom: 0;
}

.partner_h2 {
  font-family: "LINESeedSansKR";
  font-size: 1.625rem;
  color: var(--main-Cl01);
  line-height: 1.4;
  margin-bottom: 30px;
  position: relative;
}
/* .partner_h2::before { content: ''; width: auto; height: 1px; position: absolute; background-color: var(--graybc);} */

.partner_img {
  padding: 3rem;
  background-color: rgba(0, 0, 0, 0.03);
  img {
    max-width: 100%;
    width: 100%;
  }
}

.partner_ul {
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(100%, 15.875rem), 1fr)
  ); /* 254px */
  gap: 2.5rem;
  padding: 3rem;
  background-color: rgba(0, 0, 0, 0.03);
}
.partner_ul li {
  /* width: calc(50% - 20px); */
  img {
    width: auto;
    max-width: 100%;
    max-height: 65px;
  }
}
.partner_logo {
  display: flex;
  gap: 40px;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-end;
}
.partner_logo p {
  flex: 1;
}
.partner_logo .w50 {
  width: 50%;
}
.partner_logo .w70 {
  width: 70%;
}
.partner_logo .w80 {
  width: 80%;
}
.partner_banner {
  text-align: center;
}
.partner_banner img {
  max-width: 90%;
  margin: 0 auto;
}

/* 역대영화제 */
.archive_flexBox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
  div,
  ul {
    width: 100%;
  }
  ul {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: nowrap;
    img {
      max-width: 100%;
    }
  }
}

.swiper {
  &.archiveSwiper {
    width: 100%;
    /* height: 300px; */
    aspect-ratio: 32/21;
  }
}
.autoplay-progress {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: var(--swiper-theme-color);
}

.autoplay-progress svg {
  --progress: 0;
  position: absolute;
  left: 0;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  stroke-width: 4px;
  stroke: var(--swiper-theme-color);
  fill: none;
  stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}
.swiper-button-next,
.swiper-button-prev {
  color: rgba(255, 255, 255, 0.8) !important;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: none !important;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: none !important;
}
.swiper-pagination-bullet {
  background: var(--white) !important;
}
.swiper-pagination-bullet-active {
  background: var(--main-Cl01) !important;
}

/* 행사 프로그램 > 페스티벌 스케줄 */
.table_Type02.schedule td:first-child,
.table_Type02.schedule td.time {
  text-align: center;
}
.table_Type02.schedule td.date {
  background-color: var(--grayf7);
  color: #191919;
}
.table_Type02.schedule td:last-child {
  border-right: none;
}
.table_Type02.schedule td {
  text-align: left;
}
.table_Type02.schedule td.strong {
  color: var(--main-Cl01);
  font-weight: 600;
}

.table_Type02.container td:last-child {
  border-right: none;
}

/* 행사 프로그램 > 개폐막식 */
.table_schedule {
  margin-bottom: 50px;
}
.fest_opening img {
  border: 1px solid var(--grayed);
  max-width: 100%;
}
.fest_opening {
  margin-bottom: 50px;
}
.fest_openingUl {
  display: flex;
  justify-content: space-between;
  margin: 0 -0.625rem 4.375rem;
}
.fest_opening li {
  flex: 1;
  margin: 0 0.625rem;
}
.fest_openingTitle {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-Cl02);
  margin-bottom: 1rem;
}
.fest_openingTitle span {
  font-size: 1rem;
}
.fest_openingSubTitle {
  margin-top: 1.25rem;
  font-size: 1.125rem;
}
.fest_openingDesc {
  margin-top: 0.5rem;
  font-size: 1rem;
}

/* 행사 프로그램 > 특별기획 */
.mujin {
  margin-bottom: 50px;
}
.mujin_movie {
  display: flex;
}
.mujin_movie > figure {
  width: 400px;
}
.mujin_movie > figure img {
  width: 100%;
}
.mujin_movieInfo {
  padding-left: 40px;
  width: calc(100% - 440px);
}
.btn_movie {
  min-width: 200px;
  display: inline-flex;
  padding: 0 35px;
  height: 56px;
  border-radius: 56px;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  border: 1px solid var(--gray76);
  transition: all 0.3s ease;
  box-sizing: border-box;
  text-align: center;
}
.btn_movie::after {
  content: "";
  width: 20px;
  height: 20px;
  margin-left: 7px;
  background: url(../images/sub/icon_play.svg) no-repeat center;
}
.btn_movie:hover {
  color: #fff;
  border-color: var(--main-Cl02);
  background: var(--main-Cl02);
}
.btn_movie:hover::after {
  content: "";
  width: 20px;
  height: 20px;
  margin-left: 7px;
  background: url(../images/sub/icon_playOn.svg) no-repeat center;
}

.mujin_movieDesc {
  font-size: 1.0625rem;
}
.mujin_movieUl,
.mujin_movieUl02 {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.mujin_movieUl li {
  flex: 1;
}
.mujin_movieUl02 li {
  width: calc(25% - 15px);
}
.mujin_movieUl img,
.mujin_movieUl02 img {
  width: 100%;
}

.mujin_creditInfo {
  width: 100%;
  padding: 10px;
  line-height: 1.6;
  background-color: var(--grayf7);
}
.mujin_creditInfo li {
  padding-left: 10px;
  text-indent: -10px;
}
.mujin_creditInfo li:before {
  content: "-";
  padding-right: 7px;
}
.mujin_creditInfo li > p {
  padding-left: 43px;
  text-indent: 0;
}

/* 행사 프로그램 > 영화의거리 */
.moviestreet {
  margin-bottom: 4.375rem;
}

/* 행사 프로그램 > 굿즈 */
.goods {
  margin-bottom: 50px;
}
.goods_list {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 35px;
}
.goods_list li {
  width: calc(33.3333333333% - 13.3333333333px);
  margin-bottom: 10px;
}
.goods_list li img {
  width: 100%;
}
.goods_list figcaption {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  width: fit-content;
  margin: 15px auto 0; /*  padding: 7px 30px; border: 1px solid var(--graydb); border-radius: 30px; */
}

/* 컨테이너 특별관 */

.village_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 4.375rem;
}
.village_titleWrap {
  margin-bottom: 20px;
  .village_title {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--main-Cl02);
  }
  .village_titleEng {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--main-Cl02);
  }
}

.village_comment {
  padding-left: 2.375rem;
  text-indent: -2.375rem;
  color: var(--main-Cl02);
}
.list_num {
  counter-reset: num;
  margin: 0 0 0.3125rem 0.3125rem;
  li {
    position: relative;
    padding-left: 1.25rem;
    font-size: 1rem;
    counter-increment: num;
    &:before {
      content: counter(num);
      position: absolute;
      left: 0;
      top: 0.375rem;
      width: 0.8125rem;
      height: 0.8125rem;
      font-size: 0.75rem;
      line-height: 0.8125rem;
      text-align: center;
      border: 1px solid var(--black);
      border-radius: 16px;
    }
  }
}

/* 행사프로그램 */

.category {
  display: inline-block;
  padding: 0 13px;
  margin-bottom: 5px;
  min-width: 24px;
  height: 22px;
  line-height: 22px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--white);
  text-align: center;
  background-color: var(--main-Cl01);
  border-radius: 12px;
  border: 1px solid var(--main-Cl01);
  position: relative;
  &::after {
    content: "";
    height: 0px;
    border-top: 6px solid var(--main-Cl01);
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    position: absolute;
    left: 10px;
    bottom: -7px;
  }
  &.talk {
    color: var(--white);
    background-color: var(--main-Cl02);
    border: 1px solid var(--main-Cl02);
    &::after {
      border-top: 6px solid var(--main-Cl02);
    }
  }
  &.music {
    color: var(--main-Cl01);
    background-color: var(--green);
    border: 1px solid var(--green);
    &::after {
      border-top: 6px solid var(--green);
    }
  }
  &.gv {
    color: var(--white);
    background-color: #9363f2;
    border: 1px solid #9363f2;
    &::after {
      border-top: 6px solid #9363f2;
    }
  }
}

.container_ticket {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4.375rem;
  .ticket_area {
    width: calc(100% - 134px);
  }
  p {
    padding-left: 10px;
    text-indent: -10px;
    font-size: 1.25rem;

    &::before {
      content: "*";
      padding: 3px 3px 0 0;
      font-weight: 700;
    }
  }
  a {
    /* width: 134px; */
    margin-left: 1.25rem;
  }
}

/* 남도플러스 */
.fest_gardenUl,
.ndproject_Ul {
  li {
    margin-bottom: 3.125rem;
    display: flex;
    justify-content: flex-start;
    &:last-child {
      margin-bottom: 4.375rem;
    }
  }
}
.fest_gardenUl {
  li {
    figure {
      width: 18.75rem;
      img {
        max-width: 100%;
      }
    }
    .fest_gardenInfo {
      width: calc(100% - 18.75rem);
      padding-left: 2.5rem;
    }
  }
}

.ndproject_Ul {
  li {
    figure {
      width: 40%;
      img {
        max-width: 100%;
      }
    }
    .ndproject_movie {
      padding-left: 2.5rem;
      width: 60%;
    }
    &:nth-of-type(even) {
      flex-direction: row-reverse;
      .ndproject_movie {
        padding-left: 0;
        padding-right: 2.5rem;
      }
      figure {
        padding-left: 0;
      }
    }
  }
}

.fest_gardenDate {
  color: var(--gray50);
  margin-top: 5px;
  padding-left: 10px;
  text-indent: -10px;
  position: relative;
}
.fest_gardenDate::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: var(--gray50);
  vertical-align: middle;
}

.fest_gardenTxt {
  line-height: 1.6;
  padding: 30px 20px;
  background: var(--grayf7);
}

.trip_img img {
  width: 400px;
}

/* 남도플러스 > n개의 남도영화제 */
.namdofest,
.namdofest02 {
  margin-bottom: 4.375rem;
}
.namdofest03 {
  margin-bottom: 1.375rem;
}
.namdofest:last-child,
.namdofest02:last-child {
  margin-bottom: 0;
}
.namdofest {
  padding: 50px;
  border-radius: 0 0 60px 0;
  background: var(--grayf7) url(../images/sub/ndff_logo05.png) no-repeat right
    bottom;
  background-size: 210px;
}
.namdofest_projectTitle {
  margin-bottom: 1.875rem;
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--main-Cl01);
  line-height: 1.6;
}
.namdofest_projectTitle strong {
  font-size: 1.75rem;
}
.namdofest_projectDesc {
  /* width: 80%; */
  line-height: 1.6;
  span {
    color: var(--main-Cl02);
    border-bottom: 1px solid var(--main-Cl02);
    padding-bottom: 2px;
  }
}

.namdofest_theater {
  /* margin-top: 70px; */
}
.namdofest_theaterImg {
  margin: 15px 0 20px;
}
.namdofest_theaterImg img {
  width: 100%;
}

.namdofest_theaterH2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--main-Cl02);
  margin-bottom: 1.25rem;
}
.namdofest_theaterH3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.namdofest_theater p {
  line-height: 1.6;
}
.namdofest_theaterUl {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.namdofest_theaterUl li {
  width: calc(50% - 10px);
}

/* 남도플러스 > 남도 프로젝트 */

.plus_Title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--main-Cl02);
  margin-bottom: 0.9375rem;
}
.plus_Director {
  margin-top: 0.3125rem;
  padding-left: 0.625rem;
  text-indent: -0.625rem;
  position: relative;
  font-size: 1.125rem;
  &::before {
    content: "";
    display: inline-block;
    margin-right: 0.3125rem;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--gray50);
    vertical-align: middle;
  }
}
.plus_Info {
  font-size: 1.125rem;
  padding-left: 0.625rem;
}
.plus_Desc {
  /* font-size: 17px; */
  color: var(--gray50);
  padding-left: 0.625rem;
  margin-top: 20px;
}

.namdofest_trailer {
  width: 100%;
  margin-top: 3.125rem;
  border-top: 1px dotted var(--graydb);
}
.youtube_Wrap {
  /*  display: flex; justify-content: space-between; gap: 20px; */
}
.youtube_Box {
  /* flex: 1; */
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  margin: 2.5rem 0px 0.625rem;
}
.youtube {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.table_bgColor01 {
  background-color: rgba(31, 0, 190, 0.1) !important;
}
.table_bgColor02 {
  background-color: rgba(31, 201, 211, 0.1) !important;
}
.table_bgColor03 {
  background-color: rgba(255, 107, 67, 0.1) !important;
}

/* 남도플러스 > 남도 로컬프로그래머 */
.table_Type02.localpg {
  /* width: 1280px; */
}

/* 남도플러스 > 남도영화제 컨퍼런스 */
.namdoconfer_desc {
  width: 100%;
  line-height: 1.6;
}
.namdoconfer img {
  width: 100%;
}

.popup {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 100;
  width: auto;
  max-height: fit-content;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  background: #fff;
}
.popup img {
  width: 100%;
  height: auto;
}
.popup .close {
  position: absolute;
  right: 30px;
  top: 30px; /* transform: translate(-50%, -50%); */
  width: 70px;
  height: 70px;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.1) url(../images/common/btn_close.svg) no-repeat
    center;
  color: transparent;
}
.popup .con {
  padding: 40px 48px;
}

.dim {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

/* 남도플러스 > 남도프로젝트 */

.namdo_project {
  /* padding: 3.125rem;
  background: rgba(0, 0, 0, 0.03); */
}
.namdo_projectTitle {
  margin-bottom: 1.875rem;
  font-size: 1.25rem;
  color: var(--main-Cl01);
}
.namdo_projectTitle strong {
  font-size: 1.75rem;
}
.namdo_projectDesc {
  line-height: 1.6;
  padding-left: 0.625rem;
  text-indent: -0.625rem;
}

/* 영화제가이드 */

.guide_wrap {
  width: 100%;
  img {
    max-width: 100%;
    width: 100%;
  }
}

/* 영화제가이드 > 티켓안내 */

.ticket:last-child,
.view:last-child {
  margin-bottom: 0;
}

.view_h2 {
  margin-bottom: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--gray19);
}
.view_theater {
  margin-bottom: 10px;
  padding: 10px;
  background: var(--grayf7);
  color: var(--main-Cl01);
  min-height: 40px;
  border-radius: 40px;
}

.view_ul {
  width: 100%;
}
.view_ul > li {
  margin-bottom: 4.375rem;
  padding: 50px;
  width: 100%;
  border-radius: 0 0 60px 0;
  background: rgba(31, 201, 211, 0.1);
}

/* 영화제가이드 > 관람 유의 사항 */

.cinemarule_flex {
  display: flex;
  align-items: flex-start;
  gap: 4.375rem;
}

/* 영화제가이드 > 셔틀버스 안내 */
.table_Type01.bus th,
.table_Type01.bus td {
  text-align: center;
  span {
    color: var(--main-Cl02);
  }
}
.table_Type01.bus .bg_blue {
  background-color: rgba(0, 125, 250, 0.1);
}
.table_Type01.bus .bg_skyblue {
  background-color: rgba(0, 185, 255, 0.1);
}
.table_Type01.bus .bg_purple {
  background-color: rgba(132, 46, 179, 0.1);
}

.bus_icon01 {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #007dfa url(../images/sub/guide_bus_icon01.svg) center / 50%
    no-repeat;
  display: inline-block;
  vertical-align: middle;
  margin-inline: 10px;
}
.bus_platformimg {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  /* gap: 2.5rem; */
}
.bus_platformimg li:first-child {
  width: 40%;
  img {
    max-width: 100%;
  }
}
.bus_platformimg li:last-child {
  width: 60%;
  padding-left: 2.5rem;
}

.map_kakaomap {
  position: relative;
  margin: 0 auto;
  max-width: 120rem !important;
  width: 100%;

  /* border-bottom: 1px solid #dbdbdb; */
  .root_daum_roughmap {
    width: 100%;
    padding-bottom: 56.25%;
  }

  .root_daum_roughmap .wrap_map {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .root_daum_roughmap_landing {
    margin: -1px 0 0 -1px !important;
  }
}

/* 개인정보처리방침 */
.protection_wrap {
  line-height: 1.8;
}
.protection_ul01 {
  margin-top: 10px;
}
.protection_ul01 li {
  color: #505050;
  position: relative;
  padding-left: 15px;
  text-indent: -10px;
}
.protection_ul01 li:before {
  content: "·";
  font-weight: 500;
  margin-right: 5px;
}
.protection_liIn {
  padding-left: 10px;
}
.protection_liIn p {
  color: #505050;
  padding-left: 20px;
  text-indent: -15px;
}

/* 저작권보호정책 */
.protection_tableWrap {
  position: relative;
  margin: 1.25rem;
  border-top: 2px solid var(--gray33);
}

/* 이메일 무단 수집거부 안내 */
.protection_dl {
  margin-top: 10px;
}
.protection_dl dt {
  font-size: 1.125rem;
  font-weight: 500;
}
.protection_dl dd {
  color: #505050;
  position: relative;
  padding-left: 20px;
  text-indent: -15px;
}
.protection_dl dd:before {
  content: "‥";
  margin-right: 5px;
}

/* coming soon */
.comingsoon_wrap {
  width: 100%;
  text-align: center;
  img {
    max-width: 52.5rem;
    width: 100%;
  }
}
