/* main visual */
.visual-inner .imgbox {
  height: 100vh;
}
.visual-inner .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual-inner .txtbox {
  position: absolute;
  top: calc(50% - 17rem);
  left: 0;
  right: 0;
  color: #fff;
  max-width: var(--contents-size);
  margin: 0 auto;
  padding: 0 30rem 0 0;
  line-height: var(--line-height-sub);
}
.visual-inner .txtbox strong {
  font-size: 10rem;
}
.visual-inner .txtbox p {
  font-size: 5.2rem;
  line-height: var(--line-height-sub);
}
.quickbox {
  position: absolute;
  bottom: 50%;
  left: 50%;
  width: 100%;
  max-width: var(--contents-size);
  transform: translate(-50%, -50%);
  z-index: 9;
}
.quickbox ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  place-items: center;
  gap: 0 1.2rem;
  position: absolute;
  top: calc(50% + 4rem);
  right: 0;
  transform: translateY(-50%);
}
.quickbox ul li {
  margin-bottom: 1.2rem;
}
.quickbox ul li a {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 15rem;
  height: 15rem;
  border-radius: 2rem;
  font-size: 2rem;
  background: rgba(30, 33, 36, .6);
  color: #fff;
  text-align: center;
}
.quickbox li a:before {
  content: "";
  display: block;
  margin: 0 auto 1rem;
  width: 4.8rem;
  height: 4.8rem;
}
.quickbox li a span {
  line-height: 1.3;
}
.quickbox ul li:first-child {
  width: 100%;
  grid-column: 1 / 3;
}
.quickbox ul li:first-child a {
  width: 100%;
  height: 15rem;
  font-size: 2.4rem;
}
.quickbox li:first-child a:before {
  background: url('/assets/images/icon/quick01.png') no-repeat;
  background-size: contain;
  width: 6.4rem;
  height: 6.4rem;
}
.quickbox li:nth-child(2) a:before {
  background: url('/assets/images/icon/quick02.png') no-repeat;
  background-size: contain;
}
.quickbox li:nth-child(3) a:before {
  background: url('/assets/images/icon/quick03.png') no-repeat;
  background-size: contain;
}
.quickbox li:nth-child(4) a:before {
  background: url('/assets/images/icon/quick04.png') no-repeat;
  background-size: contain;
}
.quickbox li:nth-child(5) a:before {
  background: url('/assets/images/icon/quick05.png') no-repeat;
  background-size: contain;
}
.quickbox ul li a:hover {
  background: rgba(39, 159, 211, 1);
}
.swiper-container {
  position: relative;
  z-index: 0;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  position: absolute;
  bottom: calc(50% - 17rem);
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  max-width: var(--contents-size);
}
.swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  width: 1.2rem;
  height: 1.2rem;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:first-child,
.swiper-pagination-horizontal.swiper-pagination-bullet:first-child {
  margin-left: 0;
}
.swiper-pagination-bullet-active {
  background: var(--main-color, var(--main-color));
  width: 4rem;
  border-radius: .8rem;
}

/* 섹션 공통 */
.section {
  max-width: var(--contents-size);
  margin: 0 auto;
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.6rem;
}
.section-header h3 {
  margin: 0;
  font-size: 2.8rem;
  color: var(--txt-black);
}
.section-header .btn-more {
  display: block;
  font-size: 1.6rem;
  color: var(--txt-black);
  padding-right: 1rem;
  display: flex;
  align-items: center;
}
.section-header .btn-more:after {
  content: "";
  background: url('/assets/images/icon/arrow_black.png') no-repeat;
  background-size: cover;
  display: block;
  width: 2rem;
  height: 2rem;
}

/* Notice + 대표번호 */
.notice-inner {
  display: grid;
  grid-template-columns: 2.1fr 1fr;
  gap: 2.4rem;
  padding: 8rem 0 6rem;
}
.notice-list {
  border: 1px solid #b1b8be;
  border-radius: 1.2rem;
  padding: 4.4rem 3.2rem;
  height: 33.4rem;
}
.notice-item + .notice-item {
  margin-top: 2.8rem;
}
.notice-list .notice-item > a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.notice-list .row {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notice-list li .badge {
  display: inline-block;
  font-size: 1.4rem;
  text-align: center;
  color: var(--main-color);
  background-color: #e3f3fa;
  padding: 0 .8rem;
  height: 2.4rem;
  line-height: 2.4rem;
  border-radius: .5rem;
  margin-right: 1.6rem;
}
.notice-list li .title {
  display: inline-block;
  max-width: 52rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.8rem;
  color: var(--txt-black);
}
.notice-list li .date {
  margin: 0 0 0 auto;
  width: 10rem;
  font-size: 1.6rem;
  color: var(--txt-sub);
  letter-spacing: -.01rem;
  text-align: right;
}

.call-box {width: 100%;}
.call-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-radius: 1.2rem;
  padding: 2.4rem;
  background-color: #ededed;
  margin-bottom: .8rem;
  color: var(--txt-black);
}
.call-list li span {
  font-weight: var(--fw-bold);
}
.call-list li .label {
  font-size: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
}
.call-list li .label:before {
  content: "";
  width: .4rem;
  height: .4rem;
  position: absolute;
  top: 1.2rem;
  left: 0;
  border-radius: 50%;
  background-color: var(--txt-black);
}
.call-list li:last-child {
  background-color: #e1f2ff;
  margin-bottom: 0;
}
.call-list li .phone {
  margin: 0 0 0 auto;
  font-size: 2rem;
}

/* 주요업무안내 */
.shortcut-inner {
  padding-bottom: 9.8rem;
}
.shortcut-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
.shortcut-item {
  background: #f5f8fa;
  border-radius: 1.2rem;
  padding: 2.4rem;
  height: 22.2rem;
}
.shortcut-item a {
  text-decoration: none;
  color: inherit;
  display: block;
  position: relative;
  height: 100%;
}
.shortcut-item a:after {
  content: "";
  width: 10rem;
  height: 10rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
.shortcut-item:nth-child(1) a:after {
  background: url('/assets/images/icon/shortcut01.png') no-repeat bottom/contain;
}
.shortcut-item:nth-child(2) a:after {
  background: url('/assets/images/icon/shortcut02.png') no-repeat bottom/contain;
}
.shortcut-item:nth-child(3) a:after {
  background: url('/assets/images/icon/shortcut03.png') no-repeat bottom/contain;
}
.shortcut-item:nth-child(4) a:after {
  background: url('/assets/images/icon/shortcut04.png') no-repeat bottom/contain;
}
.shortcut-item:nth-child(5) a:after {
  background: url('/assets/images/icon/shortcut05.png') no-repeat bottom/contain;
}
.shortcut-item .title {
  font-size: 2rem;
  color: #1566a6;
  margin: 0 0 .4rem;
}
.shortcut-item .desc {
  font-size: 1.4rem;
  color: var(--txt-black);
  margin-top: .8rem;
  padding-right: 1rem;
  display: flex;
  align-items: center;
}
.shortcut-item .desc:after {
  content: "";
  background: url('/assets/images/icon/arrow_black.png') no-repeat right/contain;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
}

/* 하단 배너 */
.partner-section {
  border-top: .1rem solid #Cdd1d5;
}
.partner-inner {
  max-width: var(--contents-size);
  margin: 0 auto;
  position: relative;
  padding: 2rem 5rem;
}
.partner-swiper {
  width: 100%;
  overflow: hidden;
}
.partner-list {
  align-items: center;
}
.partner-list .swiper-slide {
  width: fit-content;
}
.partner-list .swiper-slide img {
  object-fit: contain;
  width: 100%;
}
.partner-nav {
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.partner-btn-prev {
  background: url('/assets/images/icon/partner_btn_prev.png') no-repeat;
  background-size: contain;
  left: 0;
}
.partner-btn-next {
  background: url('/assets/images/icon/partner_btn_next.png') no-repeat;
  background-size: contain;
  right: 0;
}

/*------------- 반응형 ----------------*/
@media screen and (max-width: 1200px) {
  .section{
    padding: 0 1.6rem;
  }
}

@media screen and (max-width: 1024px) {
  .visual-inner .txtbox {
    padding: 0 1.6rem;
  }
  .visual-inner .txtbox strong {
    font-size: 8rem;
  }
  .visual-inner .txtbox p {
    font-size: 3.8rem;
  }
  .swiper-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: calc(50% - 11rem);
    padding: 0 1.6rem;
  }

  .quickbox ul {
    right: 1.6rem;
  }

  .notice-inner {
    display: block;
  }
  .notice-box {
    margin-bottom: 6rem;
  }
  .notice-list {
    height: auto;
  }
  .notice-list .notice-item > a {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .visual-inner .txtbox{
    top: calc(50% - 22rem);
  }
  .quickbox {
    top: auto;
    bottom: 35%;
  }
  .quickbox ul {
    top: calc(50% + 10rem);
    left: 0;
    right: 0;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    padding: 0 1.6rem;
    width: 100%;
  }
  .quickbox ul li:first-child {
    width: auto;
    grid-column: auto;
  }
  .quickbox ul li:first-child a,
  .quickbox ul li a {
    width: 11rem;
    height: 11rem;
    font-size: 1.6rem;
  }
  .quickbox ul li a:before,
  .quickbox li:first-child a:before {
    width: 3.2rem;
    height: 3.2rem;
  }
  .swiper-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: calc(50% - 5rem);
  }
}

@media screen and (max-width: 480px) {
  .visual-inner .txtbox strong {
    font-size: 4.8rem;
  }
  .visual-inner .txtbox p {
    font-size: 2.4rem;
  }
  .swiper-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: calc(50% + 4rem);
  }
  .shortcut-item {
    padding: 2rem;
    height: 20rem;
  }
  .shortcut-item a:after {
    bottom: -1rem;
    right: -1rem;
  }
  .partner-inner {
    padding: 2rem 1rem;
  }
  .partner-nav {
    display: none;
  }
  .notice-list {
    padding: 2.4rem;
  }
}
