/* ===== Main Visual Swiper ===== */
.main_visual { width: 100%; }
.main_visual_swiper { width: 100%; height:350px; position: relative; }
.main_visual_swiper .swiper-slide { height: 100%; }
.main_visual_item { position: relative; width: 100%; height: 100%; background-position: center center; background-size: cover; background-repeat: no-repeat; }
.main_visual_item img{width: 100%; height: 100%; object-fit: cover;}

/* ===== Main Visual Controls : icon buttons ===== */
.main_visual_controls{ position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; z-index: 10; padding: 8px 12px; }
.main_visual_fraction{ color: #fff; font-weight: 700; font-size: 14px; letter-spacing: 0.02em; line-height: 1; min-width: 52px; text-align: center;  text-shadow: 0 2px 10px rgba(0,0,0,.35);}
.main_visual_nav,
.main_visual_toggle{ display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; min-width: 36px; min-height: 36px; padding: 6px; background-repeat: no-repeat; box-sizing: border-box; line-height: 0; }
.main_visual_nav:focus-visible,
.main_visual_toggle:focus-visible{ outline: 3px solid rgba(255,255,255,.9); outline-offset: 2px; }

/* prev/next */
.main_visual_prev{ background-image: url("/ibuilder/template/theme_skin/theme129/common/img/main/icon_prev.png"); }
.main_visual_next{ background-image: url("/ibuilder/template/theme_skin/theme129/common/img/main/icon_next.png"); }
.main_visual_toggle[aria-pressed="false"]{ background-image: url("/ibuilder/template/theme_skin/theme129/common/img/main/icon_pause.png"); }
.main_visual_toggle[aria-pressed="true"]{ background-image: url("/ibuilder/template/theme_skin/theme129/common/img/main/icon_play.png"); }

/* ===== Main convey ===== */
.main_convey{ position: relative; padding: 30px 0; overflow: hidden; }
.main_convey::before{ content: ""; position: absolute; left: 60px; top: 100px; width: 375px; height: 376px; background: url("/ibuilder/template/theme_skin/theme129/common/img/main/icon_convey_bg.png") no-repeat; pointer-events: none; z-index: 0; }
.main_convey > *{ position: relative; z-index: 1; }
.main_point_inner{max-width:1200px; margin:0 auto;}
.main_card_box{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.main_card_link{ position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; align-content: start; column-gap: 20px; min-height: 130px; padding:20px; border-radius: 15px; background: #ebf0f7; color: #111; }
.main_card_tit{ grid-column: 1 / 2; font-size: 1.8rem; font-weight: 700; line-height: 1.2; }
.main_card_desc{ grid-column: 1 / 2; margin-top: 8px; font-size: 1.4rem; line-height: 1.45; color: #4b5563; }
.main_card_icon{ grid-column: 2 / 3; grid-row: 2 / 3; align-self: center; justify-self: end; display: inline-flex; }
.main_card_icon img{ display: block; height: auto; max-width: 100%; }
.main_card_link:hover{ box-shadow: 0 10px 24px rgba(0,0,0,.08); transform: translateY(-1px); }
.main_card_link:focus-visible{ outline: 3px solid #215db7; /* 사이트 톤 맞춰 조절 가능 */ outline-offset: 2px; }
/* ===== Mou ===== */
.mou_link{margin-top: 20px;}
.mou_link .mou_tit{font-size: 2rem; font-weight: 700;}
/* ===== Mou List ===== */
.mou_list{ margin-top: 14px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.mou_link_item{ display: flex; align-items: center; justify-content: center; height: 58px; padding: 8px 10px; border: 1px solid #d5d5d5; border-radius: 10px; background: #fff; text-decoration: none; }
.mou_link_item img{ display: block; height: auto; max-width: 100%; }
.mou_link_item:focus-visible{ outline: 3px solid #215db7; outline-offset: 2px; }
.mou_link_item:hover{ box-shadow: 0 8px 18px rgba(0,0,0,.06); transform: translateY(-1px); }
  /* responsive */
  @media (max-width: 1200px) {
    .main_point_inner{padding:0 20px;}
    .mou_list{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
@media (max-width: 1024px) {
    .main_visual_controls { bottom: 14px; }
    .main_convey{ padding: 48px 0; }
    .main_convey::before{ left: -100px; top: 10px; width: 300px; height: 300px; opacity: 0.10; }
    .main_card_desc br{display: none;}
  }
@media (max-width: 640px) {
    .main_visual_swiper { height: 320px; }
    .main_visual_controls { bottom: 12px; padding: 7px 10px; }
    .main_convey{ padding: 36px 0; }
    .main_convey::before{ left: -120px; top: 0; width: 240px; height: 240px; opacity: 0.08; }
    .main_card_box{ grid-template-columns: 1fr; }
    .main_card_link{ min-height: auto; padding: 16px 16px 14px; }
    .main_card_icon img{ width: 46px; height: auto; }
    .mou_list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mou_link_item{ height: 54px; }
}
