/* main.css */

/* 메인비주얼얼 */
.visual {
  position: relative;
  width: 100%;
  height: 920px;
  max-height: 920px;
  overflow: hidden;
}

.visual__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.visual__slider__list {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  transition: transform 0.5s ease;
}

.visual__slider__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1s ease;
}

.visual__slider__item.active {
  opacity: 1;
  z-index: 1;
}

.visual__pagination {
  position: absolute;
  bottom: 150px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
}

.visual__pagination__dot {
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  background: transparent;
  padding: 0;
}

.visual__pagination__dot--active {
  width: 36px;
  height: 11px;
  border-radius: 4px;
  background: var(--primary-300);
}

.visual__pagination__dot--inactive {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #d9d9d9;
}

.visual__pagination__dot:hover {
  opacity: 0.7;
}

.visual .desc {
  position: absolute;
  left: 50%;
  top: 30%;
  transform: translate(-50%, 0);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-weight: var(--font-weight-light);
  text-align: center;
  color: var(--color-white);
}

.visual .desc strong {
	font-family: 'GMarketSans';
  font-size: var(--font-size-4xl);
}

.visual .desc h1 {
  font-family: 'GMarketSans';
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-8xl);
}

.visual__plane {
  position: absolute;
  left: 50%;
  top: 26px;
  transform: translateX(-50%);
  max-width: 890px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  flex-wrap: wrap;
  padding-right: 10px;
  background: rgba(233, 244, 255, 0.6);
  border-radius: 999px;
}

.visual__plane h4 {
  flex-shrink: 0;
  order: 1;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-white);
  padding: 15px 20px;
  border-radius: 999px 0 0 999px;
  background: #15428d;
}

.visual__plane .btn-more {
  flex-shrink: 0;
  order: 3;
}

.plane__info {
  display: flex;
  gap: 5px 30px;
  flex-wrap: nowrap;
  flex: 1;
  min-width: 0;
  order: 2;
  justify-content: center;
}

.plane__info__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
}

.plane__info__item:nth-child(2):before {
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 30px;
  border-left: 1px solid #25477f;
  opacity: 0.2;
  content: '';
}

.plane__info__item .arrival,
.plane__info__item .departure {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-s);
  color: var(--color-white);
  padding: 4px 10px;
  border-radius: 999px;
}

.plane__info__item .arrival { background: var(--primary-300); }
.plane__info__item .departure { background: var(--error-red); }

.visual__plane .btn-more,
.visual__volumn .btn-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: var(--font-size-s);
  padding: 6px 10px 6px 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.visual__plane .btn-more i,
.visual__volumn .btn-more i {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
  background: var(--color-white);
}

.visual__plane .btn-more i:after,
.visual__volumn .btn-more i:after {
  position: absolute;
  left: 40%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-top: 1px solid #797979;
  border-right: 1px solid #797979;
  transform: translate(-50%, -50%) rotate(45deg);
  content: '';
}

.visual__inquiry {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 290px;
  width: 100%;
  margin: 0 auto;
  /* padding: 20px 2vw; */
  box-sizing: border-box;
  z-index: 1;
}

.visual__inquiry a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px 7px 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
  box-sizing: border-box;
}

.visual__inquiry a i {
  position: relative;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.visual__inquiry a i:after {
  position: absolute;
  left: 45%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  content: '';
}

.visual__inquiry a .arrow__blue {background: var(--primary-300);}
.visual__inquiry a .arrow__red {background: var(--error-red);}

.visual__quick {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 750px;
  width: 100%;
  padding: 20px  25px 35px 30px;
  border-radius: var(--border-radius-3xl);
  background: rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}

.visual__quick h4,
.visual__volumn .volumn__title h4 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
}

.visual__quick__item {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  column-gap: 12px;
}

.visual__quick__item label {
  width: 70px;
  font-weight: var(--font-weight-medium);
  flex-shrink: 0;
}

.visual__quick__item .item__form {
  flex-grow: 1;
  display: grid;
  grid-template-columns: 110px 70px 70px 1fr 92px; 
  gap: 12px;
}

.visual__quick__item .item__form > * {
  min-width: 0;
}

.visual__quick .item__form select,
.visual__quick .item__form input {
  height: 44px;
  padding: 10px 16px;
  border-radius: var(--border-radius-sm);
  box-sizing: border-box;
}

.visual__quick .item__form .btn__sm {
  height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.visual__quick__item .item__form .col-span-2 {
  grid-column: span 2;
}

.visual__quick__item .item__form {
  position: relative;
}

.visual__quick__item .item__form #txtDate {
  background: url('../../../../images/react/icon/ico_calendar.svg') no-repeat right 10px center #fff;
  cursor: text;
  padding-right: 40px;
  position: relative;
}


.visual__volumn {
  position: relative;
  max-width: 455px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 15px 15px 10px;
  border-radius: var(--border-radius-3xl);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
}

.visual__volumn .volumn__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.visual__volumn > p {
  position: absolute;
  bottom: -25px;
  right: 0;
  font-size: var(--font-size-xxs);
  font-weight: var(--font-weight-light);
  color: var(--color-white);
}

.visual__volumn table {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.visual__volumn thead {
  border-radius: var(--border-radius-sm);
  background: rgba(255, 255, 255, 0.5);
}

.visual__volumn tbody {
  border-radius: var(--border-radius-md);
  background: rgba(255, 255, 255, 0.3);
}

.visual__volumn th {
  text-align: center;
  padding: 8px 0;
}

.visual__volumn tr {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.visual__volumn td {
  font-size: 15px;
  font-weight: var(--font-weight-semibold);
  text-align: center;
  padding: 14px 0;
}

.visual__content {
  position: absolute;
  bottom: 180px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1560px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 20px;
  padding: 0 2vw;
  box-sizing: border-box;
  z-index: 1;
  transition: bottom 0.3s ease;
}

.visual-curve {
  position: absolute;
  left: 0;
  bottom: -70px;
  width: 100%;
  height: 399.12px;
  min-height: 399.12px;
  pointer-events: none;
}


main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 80px;
  max-width: 1680px;
  width: 100%;
  margin: 0 auto;
  margin-top: -50px;
  padding: 0 2vw;
  box-sizing: border-box;
}

.main__service {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.service__title {
  display: flex;
  flex-direction: column;
  gap: 25px;
  flex-shrink: 0;
  /* max-width: 167px; */
  max-width: 100px;
  width: 100%;
}

.service__title h4 {
  font-family: 'GMarketSans';
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
}

.service__title p {
  font-family: 'GMarketSans';
  font-size: var(--font-size-s);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-base);
  color: #717171;
  word-break: keep-all;
}

.service__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

.service__pagination__dot {
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  background: transparent;
  padding: 0;
}

.service__pagination__dot--active {
  width: 36px;
  height: 11px;
  border-radius: 4px;
  background: var(--primary-300);
}

.service__pagination__dot--inactive {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #d9d9d9;
}

.service__pagination__dot:hover {
  opacity: 0.7;
}

.service__slider {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
  min-width: 0;
  /* max-width: calc(180px * 6 + 0px * 5 + 80px); */
  max-width: calc(190px * 6 + 100px);
  margin-left: 50px;
}

.service__slider__container {
  overflow: hidden;
  flex: 1;
  min-width: 0;
  /* max-width: calc(180px * 6 + 14px * 5 + 4px); */
  max-width: calc(180px * 6 + 0px * 5 + 20px);
  box-sizing: border-box;
  padding-right: 2px; /* 우측 라운드가 보이도록 패딩 추가 */
}

.service__list {
  display: flex;
  /* gap: 14px; */
  gap: 15px;
  transition: transform 0.3s ease;
  will-change: transform;
  padding-bottom: 10px;
}

.service__item {
  flex: 0 0 180px;
  border-radius: 18px;
  text-align: center;
  box-shadow: 0 5px 5px rgba(0,0,0,0.03);
  background: var(--color-white);
  flex-shrink: 0;
}

.service__slider__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 40px;
  cursor: pointer;
}

.service__slider__btn:disabled {
  opacity: 0.3;
  filter: grayscale(100%);
  cursor: not-allowed;
}

.service__slider__btn:disabled:hover {
  background: var(--color-white);
  border-color: #316dd1;
}

.service__slider__btn i {
  position: relative;
  display: block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: transparent;
  transition: all 0.3s ease;
}

.service__slider__btn i:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 12px;
  height: 12px;
  border-top: 1px solid #316dd1;
  border-right: 1px solid #316dd1;
  content: '';
  transition: all 0.3s ease;
}

.service__slider__btn:hover i:after {
  border-color: #316dd1;
}

.service__slider__btn--prev i:after {
  transform: translate(-30%, -50%) rotate(-135deg);
}

.service__slider__btn--next i:after {
  transform: translate(-70%, -50%) rotate(45deg);
}

.service__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: var(--line-height-base);
  padding: 20px 20px 25px;
}

.service__item p {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-light);
  color: #8e8e8e;
}

.service__airport a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 178px;
  height: 178px;
  text-align: center;
  color: var(--primary-300);
  line-height: var(--line-height-xs);
  border-radius: var(--border-radius-3xl);
  border: 2px solid #b2d3ff;
  background: var(--color-white);
  box-shadow: 0 19px 18px 0 rgba(0, 0, 0, 0.03);
}

.main__news__customer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 50px;
}

.main__news__customer > * {
  flex-grow: 1;
}

.news__container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  max-width: 915px;
  width: 100%;
}

.news__title  {
  display: flex;
  flex-direction: column;
  gap: 25px;
  max-width: 150px;
  width: 100%;
  word-break: keep-all;
}

.news__title h4 {
  font-family: 'GMarketSans';
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-light);
  width: 100%;
}

.news__title h4 strong {
  font-weight: var(--font-weight-bold);
}

.news__title p {
  font-family: 'GMarketSans';
  font-size: var(--font-size-s);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-base);
  color: #717171;
  word-break: keep-all;
}

.news__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  flex: 1;
}

.news__tab {
  display: flex;
  gap: 30px;
}

.tab__btn {
  position: relative;
  font-size: var(--font-size-xl);
  color: #4b4b4b;
  padding-bottom: 16px;
  margin-bottom: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.tab__btn:after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: var(--primary-300);
  transition: all 0.5s;
  content: '';
}

.tab__btn:hover {
  border-color: var(--primary-300);
  color: var(--primary-300);
}

.tab__btn.active {
  color: var(--primary-300);
  border-color: var(--primary-300);
}

.tab__btn.active:after {
  width: 100%;
}

.notice__content,
.news__content {
  display: none;
  margin-top: 0;
}

.notice__content.active,
.news__content.active {
  display: block;
}

.notice__content ul,
.news__content ul {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.notice__content li,
.news__content li {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.notice__content li .date,
.news__content li .date {
  font-size: var(--font-size-s);
  font-weight: var(--font-weight-light);
  color: #8f8f8f;
}

.help__container {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.help__contact {
  display: flex;
  gap: 10px;
}

.help__contact__left {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* 
  max-width: 430px;
  width: 100%; 
  */
  flex-grow: 1;
}

.help__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 20px 25px 25px;
  background: var(--color-white);
  border-radius: var(--border-radius-md);
  transition: all 0.3s ease;
  overflow: hidden;
}

.help__card--blue {
  box-shadow: inset 4px 0px 0px 0px #2c66c6;
}

.help__card--pink {
  box-shadow: inset 4px 0px 0px 0px #cf5d5d;
}

.help__card__text {
  flex: 1;
  font-size: var(--font-size-lg);
}

.help__card i {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.help__card i:after {
  position: absolute;
  left: 40%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  content: '';
}

.help__card--blue i {
  background: var(--primary-300);
}

.help__card--pink i {
  background: var(--error-red);
}

.help__contact__right {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
  flex-shrink: 0;
  padding: 25px;
  border-radius: var(--border-radius-md);
  background: var(--color-white);
  overflow: hidden;
}

.help__contact__right:before {
  position: absolute;
  right: -28px;
  bottom: -22px;
  width: 140px;
  height: 130px;
  background: url('../../../../images/react/img_phone.png') center no-repeat;
  background-size: cover;
  opacity: 0.7;
  content: '';
}

.help__contact__right h5 {
  display: flex;
  flex-direction: column;
  gap: 15px;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-medium);
}

.help__contact__right h5 span {
  font-family: 'GMarketSans';
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  color: #727272;
}

.help__contact__right p {
  font-family: 'GMarketSans';
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-light);
}

.help__guide {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 100px 35px 0;
  border-radius: var(--border-radius-md);
  background: #fbf5e5;
}

.help__guide img {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  /* top: -16px;
  width: 84px;
  height: 105px; */
  object-fit: contain;
}

.help__guide h4 {
  font-family: 'GMarketSans';
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-medium);
}

.help__guide p {
  font-size: var(--font-size-s);
  font-weight: var(--font-weight-light);
}

.help__guide p br {
  display: none;
}






@media (min-width: 1680px) {
  .visual {
    height: 920px;
    min-height: 920px;
  }

  .visual-curve {
    bottom: -70px;
    height: 399.12px;
    min-height: 399.12px;
  }

  main {
    margin-top: -50px;
  }

  .main__service {
    /* flex-wrap: nowrap; */
  }

  .service__slider__container {
    /* max-width: calc(190px * 6 + 14px * 5); */
    max-width: 1165px;
  }
}

@media (max-width: 1679px) {
  .visual {
    height: 815px;
  }

  .visual-curve {
    display: none;
  }

  .visual__pagination {
    bottom: 25px;
  }

  .visual__content {
    bottom: 70px;
  }

  main {
    margin-top: 50px;
  }

  .service__title {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    max-width: 100%;
    width: 100%;
  }

  .service__title p br {
    display: none;
  }

  .service__pagination {
    margin: 0 0 0 auto;
  }

  .service__slider__container {
    max-width: calc(200px * 6 + 15px * 5);
  }

  .service__item {
    flex: 0 0 200px;
    box-shadow: none;
  }
}

@media (max-width: 1200px) {
  main {
    max-width: calc( 100% - 4vw);
    padding: 0;
  }

  .main__service {
    flex-wrap: wrap;
  }

  .service__title {
    flex-direction: row;
    width: 100%;
  }

  .service__title p br {
    display: none;
  }

  .service__pagination {
    margin-top: 0;
    margin-left: auto;
  }

  .plane__info {
    flex-wrap: wrap;
    gap: 5px 15px;
  }

  .service__slider {
    flex: 1;
    width: 100%;
    overflow: hidden;
    margin-left: 0;
  }

  .service__slider__container {
    max-width: calc(100% - 10px);
    overflow: hidden;
    margin-right: 10px;
  }

  .service__item {
    flex: 0 0 185px;
  }

  .service__item a {
    gap: 8px;
  }
  
  .service__airport {
    flex-shrink: 0;
    width: 178px;
    margin-left: 20px;
  }

  .service__list {
    flex-wrap: nowrap;
  }

  .service__item {
    flex-shrink: 0;
  }

  .service__airport {
    flex-shrink: 0;
    width: 178px;
  }

  .news__title {
    max-width: 100%;
  }

  .main__news__customer{
    flex-direction: column;
  }

  .news__container {
    max-width: 100%;
  }

  .help__container {
    flex-direction: row;
    align-items: flex-end;
    gap: 10px;
    max-width: 100%;
    width: 100%;
  }

  .help__contact {
    flex-grow: 2;
  }

  .help__guide {
    flex-grow: 1;
  }

  .help__contact__left {
    flex-grow: 2;
  }

  .help__contact__right {
    flex-grow: 1;
  }
}

@media (max-width: 1024px) {
  main {
    max-width: calc( 100% - 10vw);
    gap: 60px;
    margin-top: 100px;
    transition: margin-top 0.3s ease;
  }

  .visual {
    /* height: 60vh; */
    height: 500px;
    overflow: visible;
  }

  .visual .desc {
    left: 5vw;
    top: 20%;
    transform: translate(0, 0);
    text-align: left;
    align-items: flex-start;
  }

  .visual .desc strong {
    font-size: var(--font-size-lg);
  }

  .visual .desc h1 {
    font-size: calc(var(--font-size-6xl) + 3px);
  }

  .visual__content {
    /* bottom: -113px; */
    bottom: 20px;
    max-width: calc( 100% - 10vw);
    flex-direction: column;
    gap: 0;
  }

  .visual .desc p {
    display: none;
  }
  
  .visual__plane {
    top: 0;
    gap: 0;
    max-width: 100%;
    /* width: calc( 100% - 20px); */
    padding: 8px 10px;
    border-radius: 0;
  }

  .visual__plane h4 {
    width: 40px;
    height: 40px;
    font-size: 0;
    padding: 0;
    background: url(../../../images/react/icon/ico_airplane.svg) center no-repeat;
  }

  .plane__info {
    flex-wrap: wrap;
  }

  .plane__info__item {
    gap: 8px;
  }

  .plane__info__item:nth-child(2):before {
    display: none;
  }

  .visual__plane .btn-more {
    font-size: 0;
    padding: 0;
    background: none;
  }

  .visual__plane .btn-more i {
   width: 25px;
   height: 25px;
  }

  .visual__plane .btn-more i:after {
    border-width: 2px;
  }

  .visual__content {
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: var(--border-radius-3xl);
  }

  .visual__quick {
    max-width: 100%;
    padding: 0;
    border-radius: 20px 20px 0 0;
    background: rgba(255, 255, 255, 0.6);
  }

  .visual__quick.active {
    padding: 0 0 15px;
  }

  .visual__quick h4 {
    order: 1;
    padding: 19px 20px;
    box-sizing: border-box;
  }

  .visual__quick__item {
    order: 2;
  }

  .visual__quick__item:last-of-type {
    order: 3;
  }

  .visual__inquiry {
    position: absolute;
    bottom: -60px;
    flex-direction: row;
    gap: 5px;
    max-width: 100%;
    padding: 0 5vw;
    box-sizing: border-box;
    margin-top: 10px;
  }

  .visual__inquiry a {
    max-width: 100%;
    flex-grow: 1;
    font-size: var(--font-size-xs);
    background: var(--color-white);
  }

  .visual__quick h4,
  .visual__volumn .volumn__title h4 {
    position: relative;
    width: 100%;
    cursor: pointer;
    font-size: var(--font-size-s);
    padding-right: 30px;
    user-select: none;
    padding: 19px 20px;
  }

  .visual__quick h4::after,
  .visual__volumn .volumn__title h4::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: var(--font-weight-light);
    line-height: 1;
    transition: transform 0.3s ease;
  }

  .visual__quick.active h4::after,
  .visual__volumn.active .volumn__title h4::after {
    content: '−';
    font-size: 24px;
    right: 20px;
  }

  .visual__quick .visual__quick__item {
    max-height: 1000px;
    width: 100%;
    column-gap: 5px;
    grid-template-columns: 40px 1fr;
    overflow: visible;
    opacity: 1;
    padding: 0 20px;
    box-sizing: border-box;
  }
  
  .visual__quick__item .item__form {
    gap: 5px;
    grid-template-columns: minmax(80px, 120px) minmax(0, 80px) minmax(0, 80px) minmax(0, 1fr) auto;
    grid-template-rows: auto;
    width: 100%;
    max-width: 100%;
  }
  
  .visual__quick__item .item__form .btn__sm {
    grid-column: -1;
    grid-row: 1;
    justify-self: end;
  }

  .visual__quick__item .item__form .col-span-2 {
    grid-column: 3 / 5;
    width: 100%;
  }
  
  /* 추적 섹션의 input 배치 */
  .visual__quick__item .item__form:not(:has(#txtDate)) input:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }
  
  .visual__quick__item .item__form:not(:has(#txtDate)) input:nth-child(3) {
    grid-column: 3 / 5;
    grid-row: 1;
  }

  /* 스케줄 섹션의 요소 배치 */
  .visual__quick__item .item__form:has(#txtDate) select:nth-child(1),
  .visual__quick__item .item__form:has(#txtDate) input:nth-child(2),
  .visual__quick__item .item__form:has(#txtDate) input:nth-child(3) {
    grid-row: 1;
  }

  .visual__quick__item .item__form:has(#txtDate) select:nth-child(1) {
    grid-column: 1;
  }

  .visual__quick__item .item__form:has(#txtDate) input:nth-child(2) {
    grid-column: 2;
  }

  .visual__quick__item .item__form:has(#txtDate) input:nth-child(3) {
    grid-column: 3;
  }

  .visual__quick__item .item__form:has(#txtDate) #txtDate {
    grid-column: 4;
    grid-row: 1;
  }

  .visual__quick__item label {
    font-size: var(--font-size-xs);
    text-align: right;
    width: 40px;
  }

  .visual__quick .item__form select {
    height: 34px;
    padding: 5px 20px 5px 10px;
    min-width: 80px;
    max-width: 120px;
    width: 100%;
    box-sizing: border-box;
  }

  .visual__quick .item__form input {
    height: 34px;
    padding: 5px 10px;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
  }

  .visual__quick .item__form .btn__sm {
    height: 34px;
    /* padding: 0 20px; */
    padding: 0;
    /* min-width: 80px; */
    min-width: 60px;
    white-space: nowrap;
  }

  .visual__volumn {
    max-width: 100%;
    /* padding: 0 20px 0; */
    padding: 0;
    border-radius: 0 0 20px 20px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: none;
  }

  .visual__volumn.active {
    padding: 0 0 20px;
  }

  /* 
  .visual__volumn .volumn__title {
    padding: 19px 0;
  } 
  */

  .visual__volumn > p {
    position: relative;
    bottom: auto;
    text-align: right;
    color: #000;
    padding: 0 20px;
  }

  .visual__volumn .btn-more {
    display: none;
  }

  .visual__volumn table {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    opacity: 0;
  }

  .visual__quick:not(.active) .visual__quick__item {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
  }

  .visual__quick:not(.active) h4::after {
    right: 20px;
    content: '+';
  }

  .visual__volumn.active table {
    max-height: 1000px;
    padding: 0 20px 0;
    opacity: 1;
  }

  .visual__volumn.active table th {
    font-size: var(--font-size-s);
  }

  .main__service,
  .service__title {
    flex-direction: column;
  }

  .service__title,
  .news__title {
    gap: 8px;
  }

  .visual__pagination {
    display: none;
  }

  .service__slider__btn {
    display: none;
  }

  .service__slider__container {
    overflow: visible;
    max-width: 100%;
    margin-right: 0;
  }

  .service__slider {
    overflow: visible;
  }

  .service__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    transform: none !important;
    width: 100%;
    padding-bottom: 0;
    border-radius: var(--border-radius-3xl);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }


  .service__item a {
    position: relative;
    font-size: var(--font-size-xs);
    flex-direction: row;
    padding: 14px 17px 14px 40px;
  }

  .service__item img {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    flex-shrink: 0;
  }

  .service__item p {
    display: none;
  }

  .service__item {
    flex: 1 1 40%;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .service__pagination {
    display: none;
  }

  .service__airport {
    width: 100%;
    margin-left: auto;
    border-radius: 40px 15px 40px 15px;
    background: linear-gradient(180deg,rgba(237, 244, 255, 1) 0%, rgba(210, 227, 255, 1) 100%);
  }

  .service__airport a {
    position: relative;
    width: 100%;
    height: auto;
    padding: 17px 0;
    border: 0;
    background: url(../../../images/react/bg_service_airport.png) center no-repeat;
    background-size: cover;
  }

  .service__airport img,
  .service__airport p br {
    display: none;
  }

  .news__container {
    flex-direction: column;
    gap: 30px;
  }

  .notice__content ul,
  .news__content ul {
    gap: 25px;
  }

  .news__title p br {
    display: none;
  }

  .news__tab {
    align-items: center;
    justify-content: center;
  }

  .tab__btn {
    font-size: var(--font-size-lg);
    padding-bottom: 10px;
  }

  .news__list {
    width: 100%;
  }

  .notice__content li a,
  .news__content li a {
    font-size: var(--font-size-md);
    max-width: 65vw;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

  .help__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    gap: 15px;
    align-items: stretch;
  }

  .help__contact {
    display: contents;
  }

  .help__contact__left {
    max-width: 100%;
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .help__contact__right {
    width: 100%;
    grid-column: 1;
    grid-row: 2;
    padding: 17px 20px;
    box-sizing: border-box;
    box-shadow: 0 0 8px 3px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
  }

  .help__guide {
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    grid-column: 2;
    grid-row: 2;
    gap: 10px;
    padding: 17px 20px;
    box-sizing: border-box;
    box-shadow: 0 0 8px 3px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
  }

  .help__guide p br {
    display: inline-block;
  }
  
  .help__card {
    padding: 15px 12px 15px 30px;
  }

  .help__card__text {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
  }

  .help__contact__right h5 {
    gap: 7px;
    font-size: var(--font-size-base);
  }

  .help__contact__right h5 span {
    font-size: var(--font-size-xs);
  }

  .help__contact__right p {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
  }

  .help__guide h4 {
    font-size: var(--font-size-base);
  }

  .help__guide p {
    font-size: var(--font-size-xxs);
  }

  /* .help__guide img {
    top: auto;
    bottom: -30px;
    right: 10px;
    width: 65px;
    height: 76px;;
  } */
}

@media (max-width: 765px) {
  .visual__quick__item .item__form {
    grid-template-columns: minmax(80px, 120px) minmax(0, 1fr) minmax(0, 1fr) auto;
  }

  .visual__quick__item .item__form:has(#txtDate) {
    grid-template-rows: auto auto;
  }

  .visual__quick__item .item__form:has(#txtDate) select:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .visual__quick__item .item__form:has(#txtDate) input:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .visual__quick__item .item__form:has(#txtDate) input:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
  }

  .visual__quick__item .item__form:has(#txtDate) #txtDate {
    grid-column: 1 / 4;
    grid-row: 2;
  }

  .visual__quick__item .item__form:has(#txtDate) .btn__sm {
    grid-column: 4;
    grid-row: 1 / 3;
    align-self: stretch;
    height: 100%;
  }

  .visual__quick__item .item__form:not(:has(#txtDate)) input:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .visual__quick__item .item__form:not(:has(#txtDate)) input:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
  }

  .visual__quick__item .item__form:not(:has(#txtDate)) .btn__sm {
    grid-column: 4;
    grid-row: 1;
  }
}

@media (max-width: 450px) {
  .visual__quick__item .item__form {
    grid-template-columns: minmax(40px, 80px) minmax(0, 1fr) minmax(0, 1fr) auto;
  }

  .visual__quick .item__form select {
    /* min-width: 60px; */
    min-width: 75px;
    max-width: 80px;
  }

  .help__guide img {
    right: 13px;
    transform: none;
    top: auto;
    bottom: 20px;
  }
}

@media (max-width: 360px) {
  .visual__quick .item__form .btn__sm {
    padding: 0 12px;
    min-width: 60px;
    font-size: var(--font-size-s);
  }
}