@charset "UTF-8";
:root {
  --color-primary: #111827;
  --color-secondary: #58616A;
  --color-tertiary: #8A949E;
  --color-disabled: #d1d5db;
  --color-brand-primary: #2DA34F;
  --container-width: 1410px;
  --container-padding: 20px;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --transition-fast: 150ms ease-in-out;
  --transition-base: 250ms ease-in-out;
  --transition-slow: 350ms ease-in-out;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/* .search-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
.search-header .search-count {
  color: #000000;
  font-weight: 700;
  font-size: 25px;
}
.search-header .search-count b {
  color: #2da34f;
} */

.board-search-filter {
  background-color: #f2f2f2;
  border-radius: 10px;
  padding: 30px 35px;
  margin-bottom: 50px;
}
.board-search-filter.mt-0 {
  margin-top: 0 !important;
}
@media (max-width: 1024px) {
  .board-search-filter {
    padding: 17px;
    margin-bottom: 30px;
  }
}
.board-search-filter > div {
  position: relative;
}
.board-search-filter strong {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  color: #1d1d1d;
  white-space: nowrap;
  font-weight: 400;
  padding-left: 10px;
  flex-basis: 140px;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .board-search-filter strong {
    flex-basis: auto;
  }
}
.board-search-filter strong::after {
  content: "";
  width: 2px;
  height: 2px;
  background: #000;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  margin-top: -1px;
  left: 0;
}
.board-search-filter .rows {
  display: flex;
  align-items: center;
  padding-right: 160px;
}
.board-search-filter .rows + .rows {
  margin-top: 10px;
}
@media (max-width: 1024px) {
  .board-search-filter .rows {
    padding-right: 0;
    flex-direction: column;
    align-items: baseline;
    gap: 7px 0;
  }
}
.board-search-filter .search-input {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  flex-grow: 1;
  gap: 0 10px;
}
.board-search-filter .search-input select.cs-input {
  width: 100%;
}
.board-search-filter .search-input .input-keyword {
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .board-search-filter .search-input .input-keyword {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .board-search-filter .search-input {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    width: 100%;
    gap: 5px 0;
  }
  .board-search-filter .search-input select.cs-input {
    width: 100%;
  }
}
.board-search-filter .cs-datepicker-set:not(.autos) {
  flex-grow: 1;
  width: auto;
}
@media (max-width: 768px) {
  .board-search-filter .cs-datepicker-set {
    width: 100%;
    flex-basis: auto;
  }
}
.board-search-filter .cs-input-date {
  flex-basis: 170px;
  flex-grow: 0;
}
@media (max-width: 1024px) {
  .board-search-filter .cs-input-date {
    flex-grow: 1;
  }
}
.board-search-filter .serach-buttons {
  position: absolute;
  right: 0;
  bottom: 0;
}
.board-search-filter .serach-buttons .btn-search-reset {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background-color: #fff;
  background-image: url(/dfip/static/front/common/images/bss/reset.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #555555;
  font-size: 0;
}
@media (max-width: 1024px) {
  .board-search-filter .serach-buttons .btn-search-reset {
    background-size: 14px auto;
  }
}
@media (max-width: 1024px) {
  .board-search-filter .serach-buttons {
    position: static;
    display: flex;
    align-items: center;
    padding-top: 10px;
    justify-content: center;
    gap: 0 10px;
  }
}

.board-utils-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
}
.board-utils-group .strong {
  font-weight: 700;
  color: #000;
}
.board-utils-group .strong b {
  color: var(--brand-color);
}
@media (max-width: 1024px) {
  .board-utils-group {
    flex-direction: column-reverse;
    align-items: baseline;
    gap: 7px 0;
  }
}

.board-search-group {
  display: flex;
  gap: 0 10px;
}
.board-search-group input.cs-input {
  width: 310px;
}
.board-search-group select.cs-input {
  min-width: 145px;
}
@media (max-width: 1024px) {
  .board-search-group {
    flex-direction: column;
    gap: 5px 0;
    width: 100%;
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 12px;
  }
  .board-search-group > form {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
  }
  .board-search-group input.cs-input {
    width: 100%;
  }
  .board-search-group select.cs-input {
    width: 100%;
  }
}

.board-link-group {
  display: flex;
  align-items: center;
  gap: 0 5px;
}

.CommTab-Slider + .search-header {
  margin-top: 30px;
  margin-bottom: 10px;
}

/* 게시판 */
.board-stat::after {
  background-color: var(--brand-color);
}

.board-stat b {
  color: var(--brand-color);
}

.tab-nav .active button, .tab-nav .active a {
  border-color: var(--brand-color);
  color: var(--brand-color);
}

.board-viwer .board-viwer_header > strong span, .board-viwer .board-viwer_header > h3 span {
  color: var(--brand-color);
}

/* 파일첨부 커스텀 */
.com-files-list {
  flex-direction: column;
}
.com-files-list > li,
.com-files-list .file_item {
  width: 100%;
  flex: auto;
}
.com-files-list > li > a,
.com-files-list > li > strong,
.com-files-list .file_item > a,
.com-files-list .file_item > strong {
  align-items: flex-start;
  border-color: #bebebe;
  background: #ececec;
  font-size: 15px;
}
.com-files-list > li > a::before,
.com-files-list > li > strong::before,
.com-files-list .file_item > a::before,
.com-files-list .file_item > strong::before {
  display: inline-flex;
  vertical-align: middle;
  transform: translateY(3px);
  background: url(/dfip/static/front/common/images/bss/icon-files.png) no-repeat;
  width: 12px;
  height: 14px;
}
.com-files-list > li button,
.com-files-list .file_item button {
  border-color: #bebebe;
  background: #ececec;
}

.files-info {
  color: #888;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.34;
}

.com-files-list li > a, .com-files-list li > strong {
  background-color: #f3f4f5;
  color: #868383;
  border-color: #f0f0f0;
}

.btn:has(.icon-send) {
  gap: 0 8px;
}

.input-combie {
  display: flex;
  gap: 0 8px;
}
.input-combie .btn {
  white-space: nowrap;
}

/* modal custom */
.popup-wrap .popup-header {
  background-color: #000;
  padding: 0 30px;
}
.popup-wrap .popup-header .popup-header-text {
  font-size: 21px;
  font-weight: 400;
}
@media (max-width: 1024px) {
  .popup-wrap .popup-header .popup-header-text {
    font-size: 17px;
  }
}
.popup-wrap .popup-content {
  padding: 50px 30px 90px;
}
@media (max-width: 1024px) {
  .popup-wrap .popup-content {
    padding: 15px;
  }
}
.popup-wrap .popup-content .popup-content-wrap {
  margin-left: -30px;
  margin-right: -30px;
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 1024px) {
  .popup-wrap .popup-content .popup-content-wrap {
    margin-left: -15px;
    margin-right: -15px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

#popup_imagePopup .popup-content {
  padding: 10px;
}

.search-comm {
  background-color: #f2f2f2;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  padding: 30px 20px;
  line-height: 1;
  gap: 0 20px;
}
@media (max-width: 1425px) {
  .search-comm {
    flex-direction: column;
    gap: 10px 0;
  }
}
@media (max-width: 1024px) {
  .search-comm {
    padding: 20px 12px;
  }
}
@media (max-width: 1425px) {
  .search-comm .search-comm-submit {
    flex: 1 1 100%; /* grow, shrink, basis */
    display: flex;
    justify-content: center;
  }
}
.search-comm .cs-datepicker-set {
  width: auto;
}
.search-comm .frm {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
@media (max-width: 1425px) {
  .search-comm .frm {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .search-comm .frm {
    gap: 0 10px;
  }
}
.search-comm .frm > div {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
@media (max-width: 1425px) {
  .search-comm .frm > div {
    width: 50%;
  }
}
@media (max-width: 1024px) {
  .search-comm .frm > div {
    gap: 0 10px;
  }
}
.search-comm .frm .frm-full {
  width: 100%;
}
.search-comm .frm .frm-full .cs-datepicker-set {
  flex-grow: 1;
}
.search-comm .frm strong {
  color: #1d1d1d;
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-grow: 0;
  flex-basis: 74px;
  white-space: nowrap;
  font-size: 17px;
  padding-left: 10px;
}
.search-comm .frm strong::before {
  content: "";
  display: inline-block;
  margin-right: 4px;
  width: 2px;
  height: 2px;
  background-color: #373737;
}
@media (max-width: 1024px) {
  .search-comm .frm strong {
    font-size: 12px;
    padding-left: 5px;
    flex-basis: 50px;
    justify-content: flex-end;
  }
}
.search-comm .frm .cs-input {
  flex-grow: 1;
}
.cs-table {
  border-top: 2px solid #000;
}
.cs-table.table-bordered th,
.cs-table.table-bordered td {
  border-left: 1px solid #c6c6c6;
  border-bottom: 1px solid #c6c6c6;
}
.cs-table.table-bordered th:first-child,
.cs-table.table-bordered td:first-child {
  border-left: 0;
}
.cs-table.table-bordered tbody {
  font-size: 17px;
}
.cs-table.table-bordered tbody th.border-left,
.cs-table.table-bordered tbody td.border-left {
  border-left: 1px solid #c6c6c6;
}

.icon-toggle {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/icon/icon-collapse.png) 50% 50% no-repeat;
  background-size: 100% auto;
  height: 14px;
  width: 24px;
  transform: rotate(0deg);
  transition: all 0.15s;
}
.is-active .icon-toggle {
  transform: rotate(180deg);
}
@media (max-width: 1024px) {
  .icon-toggle {
    width: 14px;
  }
}

.icon-ask {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/icon/icon-ask.png);
  background-size: 100% auto;
  width: 20px;
  height: 20px;
}

.icon-options {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/icon/icon-dot.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 20px;
  height: 4px;
}
@media (max-width: 1024px) {
  .icon-options {
    width: 14px;
  }
}

.icon-close-white {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/icon/icon-close-white.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 20px;
  height: 20px;
}

.icon-del2 {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/icon/icon-del-12x12.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 12px;
  height: 12px;
}

.icon-all {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-all.png");
}

.active .icon-all {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-all-on.png");
}

.icon-eating {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-eating.png");
}

.active .icon-eating {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-eating-on.png");
}

.icon-supermarket {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-supermarket.png");
}

.active .icon-supermarket {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-supermarket-on.png");
}

.icon-store {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-store.png");
}

.active .icon-store {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-store-on.png");
}

.icon-research {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-research.png");
}

.active .icon-research {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-research-on.png");
}

.icon-cluster {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-cluster.png");
}

.active .icon-cluster {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-cluster-on.png");
}

.icon-university {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-university.png");
}

.active .icon-university {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-university-on.png");
}

.icon-company {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-company.png");
}

.active .icon-company {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-company-on.png");
}

.icon-food {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-food.png");
}

.active .icon-food {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-food-on.png");
}

.icon-food2 {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-food2.png");
}

.active .icon-food2 {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-food2-on.png");
}

.icon-market {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-market.png");
}

.active .icon-market {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-market-on.png");
}

.icon-product {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-product.png");
}

.active .icon-product {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-product-on.png");
}

.icon-sales {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 22px;
  height: 22px;
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-sales.png");
}

.active .icon-sales {
  background-image: url("/dfip/static/front/common/images/bss/fusion/icon-sales-on.png");
}


.icon-help {
  display: inline-block;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("/dfip/static/images/portal/icon-help.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("/dfip/static/images/portal/icon-help.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #6D7882;
}

.icon-back {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("/dfip/static/images/portal/icon-back.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("/dfip/static/images/portal/icon-back.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #131416;
}

.icon-arrow-right {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("/dfip/static/images/portal/icon-arrow-right.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("/dfip/static/images/portal/icon-arrow-right.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}

.icon-arrow-right-bold {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("/dfip/static/images/portal/icon-arrow-right-bold.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("/dfip/static/images/portal/icon-arrow-right-bold.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}
.icon-send {
  vertical-align: top;
  line-height: 1;
  width: 20px;
  height: 20px;
  background: url(/dfip/static/front/common/images/bss/send.png) no-repeat 0 0;
}

.icon-file {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 18px;
  height: 18px;
  background: url(/dfip/static/front/common/images/bss/file.png) no-repeat 50% 50%;
}

.text-brand-400 {
  color: var(--brand-color) !important;
}

.text-blue-400 {
  color: var(--primary-color) !important;
}

.text-gray-400 {
  color: var(--gray-color) !important;
}

.text-danger-400 {
  /* color: var(--danger-color) !important; */
  color: #e60000;
}

.text-green-400 {
  color: var(--success-color) !important;
}

.text-orange-700 {
  /* color: var(--orange-color) !important; */
  color: #b84d00;
}

.text-warning-700 {
  color: var(--warning-color) !important;
}

.text-underline {
  text-decoration: underline;
}

.text-sm {
  font-size: 15px;
}
@media (max-width: 768px) {
  .text-sm {
    font-size: 12px;
  }
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 84px;
  font-size: var(--button-fontsize-default);
  height: var(--button-height-default);
  border-radius: 7px;
  font-weight: 400;
  vertical-align: top;
}
.badge-xs {
  height: var(--button-height-xs);
  font-size: var(--button-fontsize-xs);
  padding: 0 16px;
}
.badge-sm {
  height: var(--button-height-sm);
  font-size: var(--button-fontsize-sm);
  padding: 0 16px;
}
.badge-lg {
  height: var(--button-height-lg);
  font-size: var(--button-fontsize-lg);
  padding: 0 24px;
}
@media (max-width: 1024px) {
  .badge-lg {
    padding: 0 20px;
  }
}
.badge-xl {
  height: var(--button-height-xl);
  font-size: var(--button-fontsize-xl);
  padding: 0 30px;
  font-size: 19px;
}
@media (max-width: 1024px) {
  .badge-xl {
    padding: 0 24px;
    height: 48px;
  }
}
@media (max-width: 1024px) {
  .badge {
    font-size: 13px;
    height: 30px;
  }
}
.badge-free {
  padding: 0 20px;
  width: auto;
}
.badge-white {
  color: #555;
  background-color: #fff;
}
.badge-gray {
  color: #6c6c6c;
  background-color: #f0f0f0;
}
.badge-secondary {
  color: #555555;
  background-color: #f6f6f6;
}
.badge-success {
  color: #22793b;
  background-color: #e1f0e9;
}
.badge-warning {
  color: #8b5b08;
  background-color: #faf0de;
}
.badge-outline-white {
  border-radius: 100px;
  background-color: #fff;
  color: #555;
  border: 1px solid #c6c6c6;
}
.badge-outline-secondary {
  border-radius: 100px;
  background-color: #f6f6f6;
  color: #555;
  border: 1px solid #c6c6c6;
}
.badge-outline-danger {
  border-radius: 100px;
  background-color: #d22c2c;
  color: #fff;
  border: 1px solid #d22c2c;
}

[class*=badge-].round {
  border-radius: 30px;
}

/* 기본 버튼 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  transition: all 0.3s ease;
  cursor: pointer;
  font-size: var(--button-fontsize-default);
  height: var(--button-height-default);
  vertical-align: top;
}
.btn-xs {
  height: var(--button-height-xs);
  font-size: var(--button-fontsize-xs);
  padding: 0 16px;
}
.btn-sm {
  height: var(--button-height-sm);
  font-size: var(--button-fontsize-sm);
  padding: 0 16px;
}
.btn-lg {
  height: var(--button-height-lg);
  font-size: var(--button-fontsize-lg);
  padding: 0 24px;
}
@media (max-width: 1024px) {
  .btn-lg {
    padding: 0 20px;
  }
}
.btn-xl {
  height: var(--button-height-xl);
  font-size: var(--button-fontsize-xl);
  padding: 0 30px;
  font-size: 19px;
}
@media (max-width: 1024px) {
  .btn-xl {
    padding: 0 24px;
    height: 48px;
  }
}

/* 면버튼 */
.btn-primary {
  background-color: #21823d;
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #21823d;
}

.btn-dark {
  background-color: #333333;
  color: #fff;
  opacity: 1;
}
.btn-dark:hover, .btn-dark:focus {
  opacity: 0.8;
}

/* 선버튼 */
[class*=btn-].round {
  border-radius: 30px;
}

.btn-outline-primary {
  border: 1px solid #2da34f;
  border-radius: 8px;
  color: #135834;
  background-color: #fff;
}
.btn-outline-primary.current, .btn-outline-primary:hover, .btn-outline-primary:focus {
  color: #fff;
  background-color: #2da34f;
}

.btn-outline-black {
  border: 1px solid #555555;
  border-radius: 8px;
  color: #555555;
  background-color: #fff;
}
.btn-outline-black.current, .btn-outline-black:hover, .btn-outline-black:focus {
  color: #fff;
  background-color: #555555;
}

.btn-outline-gray {
  border: 1px solid #dedede;
  border-radius: 8px;
  color: #555555;
  background-color: #fff;
}
.btn-outline-gray.current, .btn-outline-gray:hover, .btn-outline-gray:focus {
  color: #fff;
  background-color: #333333;
  border-color: #333333;
}

.btn-outline-danger {
  border: 1px solid #d22c2c;
  border-radius: 8px;
  color: #d22c2c;
  background-color: #fff;
}
.btn-outline-danger.current, .btn-outline-danger:hover, .btn-outline-danger:focus {
  background-color: #d22c2c;
  color: #fff;
}

.btn-outline-warning {
  border: 1px solid #ed7031;
  border-radius: 8px;
  color: #ed7031;
  background-color: #fff;
}
.btn-outline-warning.current, .btn-outline-warning:hover, .btn-outline-warning:focus {
  background-color: #ed7031;
  color: #fff;
}

/* 탭버튼 */
.btn-tab-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: transparent;
  border: 0;
  color: #555;
  font-size: 19px;
  height: 56px;
  min-width: 158px;
}
.btn-tab-white::after {
  content: "";
  background: #c6c6c6;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -12px;
  width: 1px;
  height: 24px;
}
.btn-tab-white.selected {
  font-weight: 700;
  color: #fff;
  background-color: #333333;
  border-radius: 8px;
}
.btn-tab-white.selected::after {
  opacity: 0;
}
@media (max-width: 1024px) {
  .btn-tab-white {
    font-size: 14px;
    height: 45px;
  }
}
@media (max-width: 768px) {
  .btn-tab-white {
    font-size: 13px;
    height: 40px;
    min-width: 140px;
  }
}

/* 버튼 구조화 */
.function-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 40px;
}
.function-buttons.left {
  justify-content: flex-start;
  gap: 0 12px;
}
.function-buttons.right {
  justify-content: flex-end;
  gap: 0 12px;
}
.function-buttons.center {
  justify-content: center;
  gap: 0 12px;
}
.function-buttons > div {
  display: flex;
  gap: 0 12px;
}
@media (max-width: 1024px) {
  .function-buttons.mobile\:w-auto {
    justify-content: flex-start;
    gap: 0 7px;
  }
  .function-buttons.mobile\:w-auto > div {
    width: 100%;
    gap: 0 5px;
  }
  .function-buttons.mobile\:w-auto > div .btn {
    width: 100%;
  }
  .function-buttons.mobile\:w-full {
    flex-direction: column;
    gap: 7px 0;
  }
  .function-buttons.mobile\:w-full > div {
    width: 100%;
    flex-direction: column;
    gap: 5px 0;
  }
  .function-buttons.mobile\:w-full > div .btn {
    width: 100%;
  }
}

/* 아이콘 버튼 */
.btn-del {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  background-color: #ffffff;
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  width: 36px;
  height: 36px;
  transition: all 0.25s;
}
.btn-del::before {
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  background: url(/dfip/static/front/common/images/bss/icon-del.png) no-repeat center/100% 100%;
}
.btn-del:hover, .btn-del:focus {
  background-color: #f3f4f5;
}

.upload-ui {
  position: relative;
  display: flex;
  gap: 0 8px;
}
.upload-ui .hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0.1;
  overflow: hidden;
}
.upload-ui .file-name {
  background-color: #fff;
  border: 1px solid #c6c6c6;
  display: flex;
  align-items: center;
  color: #8e8e8e;
  padding: 0 20px;
  font-size: 17px;
  border-radius: 5px;
  height: 48px;
  flex: 1;
  flex-wrap: wrap;
  overflow: hidden;
  gap: 0 5px;
}
@media (max-width: 1024px) {
  .upload-ui .file-name {
    height: 34px;
    font-size: 12px;
    padding: 0 10px;
  }
}
.upload-ui .file-name-item {
  display: inline-block;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.upload-ui .file-volume {
  position: absolute;
  right: 20px;
  top: -20px;
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #8e8e8e;
}
.upload-ui .file-volume b {
  font-weight: 400;
  color: #555;
}
@media (max-width: 1024px) {
  .upload-ui .file-volume {
    font-size: 11px;
    right: 10px;
    top: -17px;
  }
}
.upload-ui .ico-delete {
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #c6c6c6;
  width: 25px;
  height: 25px;
  background: url(/dfip/static/front/common/images/bss/icon-del.png) no-repeat 50% 50%;
}
@media (max-width: 1024px) {
  .upload-ui .ico-delete {
    width: 20px;
    height: 20px;
    background-size: 10px auto;
  }
}
.upload-ui label {
  display: flex;
  align-items: center;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #555555;
  padding: 0 24px;
  font-size: 17px;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .upload-ui label {
    height: 34px;
    font-size: 12px;
    padding: 0 12px;
  }
}

/* 탭 */
.ui-btn-track {
  overflow-x: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ui-btn-track:has(.btn-tab1) {
  background-color: #eeeeee;
  border-radius: 7px;
}
@media (max-width: 1425px) {
  .ui-btn-track {
    justify-content: flex-start;
  }
}
.ui-btn-track.full {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  overflow: visible;
  margin-bottom: 40px;
}
.ui-btn-track.full .btn-tab1 {
  width: auto;
}

.ng-tab {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 30px;
}
.ng-tab .ng-tab-item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #eeeeee;
  color: #555555;
  height: 56px;
  font-size: 19px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.25s;
}
.ng-tab .ng-tab-item.selected {
  background-color: #333333;
  color: #fff;
  border-radius: 5px;
}
.ng-tab .ng-tab-item.selected::after {
  opacity: 0;
}
.ng-tab .ng-tab-item + .ng-tab-item {
  position: relative;
}
.ng-tab .ng-tab-item + .ng-tab-item::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 24px;
  background-color: #c6c6c6;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .ng-tab {
    width: auto;
    height: 45px;
    font-size: 15px;
    padding: 0 15px;
  }
}
.ng-tab-panel {
  display: none;
}
.ng-tab-panel.show {
  display: block;
}

.ng-tab2 {
  display: flex;
  margin-bottom: 30px;
  gap: 0 8px;
}
.ng-tab2.mb-none {
  margin-bottom: 0;
}
.ng-tab2 .ng-tab-item {
  height: 48px;
  color: #717171;
  border-radius: 7px;
  border: 1px solid #d8d8d8;
  transition: all 0.25s;
  padding: 0 20px;
}
.ng-tab2 .ng-tab-item.selected {
  font-weight: 500;
  color: #2da34f;
  border-color: #2da34f;
}

.btn-tab1 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #eeeeee;
  color: #555555;
  border-radius: 7px;
  width: 156px;
  height: 56px;
  font-size: 19px;
  white-space: nowrap;
  flex-shrink: 0;
}
.btn-tab1.current {
  font-weight: 700;
  color: #fff;
  background-color: #333333;
}
.btn-tab1 + .btn-tab1 {
  position: relative;
}
.btn-tab1 + .btn-tab1::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 24px;
  background-color: #c6c6c6;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .btn-tab1 {
    width: auto;
    height: 45px;
    font-size: 15px;
    padding: 0 15px;
  }
}

.ui-btn-track:has(.btn-tab2) {
  gap: 0 8px;
}

.btn-tab2 {
  color: #717171;
  border-radius: 5px;
  border: 1px solid #d9d9d9;
  background-color: #fff;
  white-space: nowrap;
  font-size: 17px;
  height: 48px;
  padding: 0 24px;
}
.btn-tab2.current {
  color: #24843f;
  border-color: var(--brand-color);
}
@media (max-width: 1024px) {
  .btn-tab2 {
    font-size: 13px;
    height: 40px;
    padding: 0 17px;
  }
}

/*
    제목 기능 탭
*/
.CommTab-function {
  display: grid;
  background-color: #eee;
  border-radius: 7px;
  margin-bottom: 40px;
}
.CommTab-function.length-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.CommTab-function.length-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.CommTab-function.length-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.CommTab-function .btn-tab-white:first-child::after {
  display: none;
}

/*
    슬라이드 탭
*/
.CommTab-Slider {
  background-color: #eeeeee;
  border-radius: 7px;
  position: relative;
}
.CommTab-Slider .splide__arrow {
  border: 1px solid #e4e4e4;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  height: 40px;
  width: 40px;
  opacity: 1;
}
.CommTab-Slider .splide__arrow svg {
  display: none;
}
.CommTab-Slider .splide__arrow:disabled {
  opacity: 0;
}
.CommTab-Slider .splide__arrow--prev {
  background-image: url(/dfip/static/front/common/images/bss/top-prev.png);
  transform: translate(-50%, -50%);
  left: 0;
}
.CommTab-Slider .splide__arrow--next {
  background-image: url(/dfip/static/front/common/images/bss/top-next.png);
  transform: translate(50%, -50%);
  right: 0;
}
.CommTab-Slider .btn-tab-white {
  width: 100%;
}
.CommTab-Slider .fir .btn-tab-white::after {
  display: none;
}

/* input과 같은 box형태 */
.input-container {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: var(--input-border-radius);
  padding: 8px 20px;
  min-height: var(--input-height);
  border: 1px solid var(--input-border-color);
  background-color: #fff;
  flex-wrap: wrap;
}
.input-container.disabled {
  background-color: #f3f4f5;
  border-color: #f0f0f0;
}
/* 폼그룹 */
.input-group {
  display: flex;
}
.input-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.input-group-head .counting {
  color: #666;
  font-size: 13px;
}
.input-group-head .counting b {
  color: #555;
}
.input-group-head .under-download {
  text-decoration: underline;
  color: #000;
  font-weight: 400;
  font-size: 15px;
}

* .req {
  padding-right: 10px;
  position: relative;
  display: inline-flex;
}
* .req::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 50%;
  background-color: #ed7031;
  width: 4px;
  height: 4px;
}

.input-group.col {
  flex-direction: column;
  gap: 8px 0;
}
.input-group.col .label,
.input-group.col > strong {
  color: #1d1d1d;
  position: relative;
  display: inline-block;
  align-self: flex-start;
  font-weight: 400;
  font-size: 17px;
}
.input-group.col .label em,
.input-group.col > strong em {
  font-style: normal;
  color: #555555;
  font-size: 13px;
  font-weight: 400;
  padding-left: 5px;
}
@media (max-width: 768px) {
  .input-group.col .label,
  .input-group.col > strong {
    font-size: 14px;
  }
}

.radio-line-group {
  display: flex;
  align-items: center;
  border: 1px solid #c6c6c6;
  border-radius: var(--input-border-radius);
  padding: 4px 20px;
  min-height: var(--input-height);
}
.radio-line-group strong {
  position: relative;
  display: inline-block;
  vertical-align: top;
  line-height: 1;
  padding-right: 35px;
  margin-right: 35px;
}
.radio-line-group strong::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  top: 3px;
  height: 12px;
  width: 1px;
  background-color: #dedede;
  border-right: 1px solid #c6c6c6;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-top: 40px;
}
@media (max-width: 1024px) {
  .pagination {
    gap: 0 4px;
  }
}

.pagination a:not(.page-move),
.pagination span:not(.page-move) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  color: #717171;
  border-radius: 4px;
}
@media (max-width: 1024px) {
  .pagination a:not(.page-move),
  .pagination span:not(.page-move) {
    width: 30px;
    height: 30px;
  }
}
.pagination a.page-move,
.pagination span.page-move {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #555555;
}

.pagination a:hover:not(.page-move) {
  background-color: #f1f1f1;
}

.pagination .active {
  background-color: #333;
  color: #fff !important;
  pointer-events: none;
}

.pagination .prev,
.pagination .next {
  background-repeat: no-repeat;
  height: 40px;
}
@media (max-width: 1024px) {
  .pagination .prev,
  .pagination .next {
    font-size: 0;
    background-size: 6px auto;
  }
}

.pagination .prev {
  background-image: url(/dfip/static/front/common/images/bss/component/paging-prev.png);
  background-position: 0 50%;
  padding-left: 18px;
  width: auto;
  margin-right: 10px;
}

.pagination .next {
  background-image: url(/dfip/static/front/common/images/bss/component/paging-next.png);
  background-position: 100% 50%;
  padding-right: 18px;
  width: auto;
  padding-left: 10px;
}

.list-round > li {
  position: relative;
  color: #555555;
  line-height: 1;
  font-size: 17px;
  padding-left: 11px;
  line-height: 1.34;
}
.list-round > li + li {
  margin-top: 7px;
}
.list-round > li::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  background-color: #646464;
  width: 2px;
  height: 2px;
}
@media (max-width: 1024px) {
  .list-round > li {
    font-size: 13px;
  }
}

.list-round.grids > li {
  display: flex;
  align-items: baseline;
}
.list-round.grids > li.row-full {
  display: block;
}
.list-round.grids > li.row-full > span {
  margin-bottom: 5px;
}
.list-round.grids > li > span {
  display: inline-flex;
  gap: 0 5px;
  position: relative;
  font-weight: 500;
  color: #333;
  width: 120px;
  flex-shrink: 0;
}
.list-round.grids > li > span::after {
  content: ":";
}
@media (max-width: 768px) {
  .list-round.grids > li > span {
    width: 80px;
  }
}

.list-round-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px;
}
@media (max-width: 1024px) {
  .list-round-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.list-num {
  list-style: decimal !important;
  padding-left: 20px;
}
.list-num li {
  color: #555555;
  font-size: var(--font-size-content);
  line-height: 1.45;
}
.list-num li a {
  text-decoration: underline;
}

.in-list {
  line-height: 1;
}
.in-list dl {
  display: flex;
  gap: 0 10px;
}
.in-list dl:not(:first-child) {
  margin-top: 8px;
}
.in-list dl dt {
  font-weight: 400;
  color: #333;
  width: 110px;
  display: flex;
  align-items: center;
}
.in-list dl dd {
  color: #555555;
  flex-grow: 1;
}
.in-list dl dd strong {
  font-weight: 400;
  color: #333;
}
.in-list .not-flex {
  display: block;
}
.in-list .not-flex dt {
  padding-bottom: 10px;
}
@media (max-width: 1024px) {
  .in-list .not-flex dt {
    padding-bottom: 5px;
  }
}

/* 목록 스타일 */
.list-inside {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
.list-inside li {
  position: relative;
  line-height: 1.3;
  padding-left: 21px;
}
.list-inside li::after {
  content: "";
  border-radius: 50%;
  width: 9px;
  aspect-ratio: 1;
  background-color: #555;
  position: absolute;
  left: 0;
  top: 4px;
}

.user-info-container {
  border-radius: 10px;
  background-color: #f9f9fa;
  border: 1px solid #f0f0f0;
  padding: 23px;
}
@media (max-width: 1024px) {
  .user-info-container {
    padding: 14px;
  }
}
.user-info-container strong {
  background: url(/dfip/static/front/common/images/bss/support/!.png) 0 50% no-repeat;
  color: #555555;
  font-weight: 700;
  font-size: 15px;
  padding-left: 27px;
}
@media (max-width: 1024px) {
  .user-info-container strong {
    padding-left: 20px;
    font-size: 13px;
    background-size: auto 14px;
  }
}
.user-info-container p {
  color: #717171;
  margin-top: 10px;
  line-height: 1.4;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .user-info-container p {
    font-size: 11px;
  }
}
.user-info-container > div div {
  display: flex;
  align-items: baseline;
  font-size: 14px;
  color: #717171;
}
.user-info-container > div div + div {
  margin-top: 4px;
}
.user-info-container > div div span {
  display: inline-block;
  flex-shrink: 1;
  white-space: nowrap;
  color: #555555;
}

.boxing-cont {
  border-top: 2px solid #000;
  background-color: #f6f6f6;
  padding: 25px;
}
@media (max-width: 1024px) {
  .boxing-cont {
    padding: 20px 15px;
  }
}
.boxing-cont .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
  padding-bottom: 10px;
}
.boxing-cont .title .text {
  color: #000;
}

.boxing-alert {
  border-radius: 10px;
  padding: 30px;
  position: relative;
  min-height: 200px;
}
@media (max-width: 1024px) {
  .boxing-alert {
    padding: 15px;
  }
}
.boxing-alert-title {
  text-align: left;
  border-bottom: 1px solid #ddd;
  padding: 0 45px 15px;
  font-size: 20px;
  font-weight: 500;
  margin: 0 -30px;
}
@media (max-width: 1024px) {
  .boxing-alert-title {
    font-size: 14px;
    padding: 12px 25px;
    margin: 0 -15px;
  }
}
.boxing-alert-content .btn-grids {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 15px;
}
.boxing-alert.warning {
  border: 1px solid #ed7031;
  background-color: #fef8f4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.boxing-alert.info {
  color: #004085;
  background-color: #cce5ff;
  border: 1px solid #b8daff;
}
.boxing-alert.success {
  border: 1px solid #2da34f;
  background-color: #edfaf1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.boxing-alert .btn-Appeal {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.alert {
  background-color: #f9f9fa;
  border-radius: 10px;
  padding: 23px;
  border: 1px solid #f0f0f0;
  font-size: 14px;
  color: #717171;
}

.alert-icon {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  margin-bottom: 15px;
  height: 44px;
}
.alert-info .alert-icon {
  background-image: url("/dfip/static/front/common/images/bss/alert-info.png");
}
.alert-error .alert-icon {
  background-image: url("/dfip/static/front/common/images/bss/alert-error.png");
}
.alert-danger .alert-icon {
  background-image: url("/dfip/static/front/common/images/bss/alert-danger.png");
}
.alert-warning .alert-icon {
  background-image: url("/dfip/static/front/common/images/bss/alert-warning.png");
}
.alert-success .alert-icon {
  background-image: url("/dfip/static/front/common/images/bss/alert-success.png");
}
.alert-text {
  text-align: center;
  color: #000;
  font-size: 14px;
}

.edit-template {
  border-top: 2px solid #000;
  background-color: #f6f6f6;
  padding: 25px;
}
.edit-template .input-group + .input-group {
  margin-top: 24px;
}

/*
    툴팁기능
*/
.tooltip {
  position: absolute;
  background: #fff;
  border: 1px solid #2da34f;
  border-radius: 8px;
  z-index: 10;
}
.tooltip-container {
  position: relative;
}
.tooltip-header {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e4e4e4;
  padding: 0 30px;
  height: 70px;
}
.tooltip-header h4 {
  color: #000;
  font-weight: 700;
  font-size: 21px;
}
.tooltip #tooltip-body {
  padding: 30px;
}
.tooltip-content {
  overflow-y: auto;
}

#close-tooltip {
  position: absolute;
  right: 30px;
  top: 25px;
  width: 20px;
  height: 20px;
}
#close-tooltip i {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
#close-tooltip i::before, #close-tooltip i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  background: #000;
  transform-origin: center;
  border-radius: 4px;
}
#close-tooltip i::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#close-tooltip i::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.ask-layer {
  position: absolute;
  border: 1px solid #333333;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 10px;
  display: none;
  max-width: 500px;
  margin-left: 10px;
  margin-top: -20px;
}
.ask-layer.active {
  display: block;
}

.ask-cont {
  position: relative;
  padding: 25px;
  padding-right: 70px;
  color: #fff;
  font-size: 17px;
}
.ask-cont .txt + ul {
  margin-top: 25px;
}
@media (max-width: 1024px) {
  .ask-cont .txt + ul {
    margin-top: 10px;
  }
}
.ask-cont ul li {
  line-height: 1.4;
  display: flex;
  gap: 0 4px;
  width: 100%;
}
.ask-cont ul li::before {
  content: "-";
  flex-shrink: 1;
}
.ask-cont .btn-close-ask {
  position: absolute;
  right: 25px;
  top: 25px;
}

.option-layer {
  position: absolute;
  border: 1px solid #333;
  background-color: #fff;
  border-radius: 10px;
  padding: 15px;
  display: none;
  max-width: 110px;
}
.option-layer.active {
  display: block;
}
.option-layer ul li {
  display: flex;
  align-items: center;
  gap: 0 5px;
  line-height: 1;
  white-space: nowrap;
}
.option-layer ul li + li {
  padding-top: 10px;
}
.option-layer ul li::before {
  content: "";
  width: 2px;
  height: 2px;
  background-color: #333;
  flex-grow: 0;
}
.option-layer ul li a,
.option-layer ul li button {
  color: #333333;
  font-size: 15px;
}

.topfix-notice {
  background-color: #e5ecf9;
  padding: 0 15px;
}

.topfix-container {
  margin: 0 auto;
  max-width: var(--max-width);
  height: 80px;
}
.topfix-container .splide {
  display: flex;
}
.topfix-container .splide__slider {
  flex-grow: 1;
  min-width: 0;
  padding-right: 50px;
}
.topfix-container .splide__slide .slide__cont {
  height: 80px;
  align-items: center;
  display: flex;
  gap: 0 10px;
  width: 100%;
}
.topfix-container .splide__slide .txt {
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.topfix-container .splide__slide .link-view {
  border-radius: 20px;
  font-size: 14px;
  color: #000;
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 7px 12px;
  margin-left: 10px;
  white-space: nowrap;
}
.topfix-container .splide__ind {
  display: flex;
  gap: 0 10px;
  height: 80px;
  align-items: center;
  flex-shrink: 0;
}
.topfix-container .splide__arrows {
  display: inline-flex;
  align-items: center;
  gap: 0 5px;
}
.topfix-container .splide__arrow {
  position: static;
  transform: translate(0);
  height: 40px;
  width: 40px;
  border: 1px solid #e4e4e4;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  font-size: 0;
  opacity: 1;
}
.topfix-container .splide__arrow--prev {
  background-image: url(/dfip/static/front/common/images/bss/top-prev.png);
}
.topfix-container .splide__arrow--next {
  background-image: url(/dfip/static/front/common/images/bss/top-next.png);
}
.topfix-container .splide__toggle {
  font-size: 0;
  border-radius: 50%;
  height: 40px;
  width: 40px;
  border: 1px solid #e4e4e4;
  background: #fff url(/dfip/static/front/common/images/bss/top-pause.png) no-repeat 50% 50%;
}
.topfix-container .splide-fraction {
  border: 1px solid #e4e4e4;
  border-radius: 20px;
  background-color: #fff;
  padding: 0 22px;
  height: 40px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0 5px;
}
.topfix-container .splide-fraction b {
  color: var(--brand-color);
}
.topfix-container .ribbon-today {
  white-space: nowrap;
}
.topfix-container #topfixClose {
  width: 40px;
  height: 40px;
  background: url(/dfip/static/front/common/images/bss/top-close.png) no-repeat 50% 50%;
  margin-left: 10px;
}

#wrap {
  padding-top: 0;
}

.dg-header {
  background-color: #fff;
  position: relative;
  z-index: 1500;
}
@media (max-width: 1024px) {
  .dg-header {
    display: none;
  }
}

.header-brand-wrap {
  display: flex;
  align-items: center;
  gap: 0 2rem;
}

.header-brand-wrap .subsidiary {
  display: flex;
  align-items: center;
  gap: 0 15px;
}
.header-brand-wrap .subsidiary a.link1 {
  font-size: 0;
  background: url(/dfip/static/images/portal/mi.svg) no-repeat 0 50%;
  width: 108px;
  height: 20px;
}
.header-brand-wrap .subsidiary .line {
  background: #dbdee1;
  width: 2px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
}
.header-brand-wrap .link1 {
  color: #674b4e;
}
.header-brand-wrap .link2 {
  color: #135834;
}

.header-top {
  background-color: #F4F5F6;
  /* border-bottom: 1px solid #e4e4e4; */
}
.header-top .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
}
.header-top .user-util {
  display: flex;
  align-items: center;
}



.header-top .user-util a {
  color: #fff;
  display: inline-block;
  color: #1d1d1d;
  margin-right: 25px;
  font-size: 15px;
}
.header-top .user-util .bar {
  display: inline-flex;
  vertical-align: middle;
  width: 2px;
  height: 12px;
  background: #dbdee1;
  margin-right: 25px;
}
.header-top .user-util .user-name {
  display: inline-block;
  background: url(/dfip/static/front/common/images/bss/icon-utils-usr.png) no-repeat 0 50%;
  padding-left: 17px;
}
.header-top .screen-zoom {
  display: flex;
  align-items: center;
  gap: 0 5px;
}
.header-top .screen-zoom button {
  border-radius: 3px;
  border: 1px solid #b9b9b9;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.header-top .screen-zoom button.zoomout {
  background-image: url(/dfip/static/front/common/images/bss/zoomout.png);
}
.header-top .screen-zoom button.zoomin {
  background-image: url(/dfip/static/front/common/images/bss/zoomin.png);
}
.header-top .screen-zoom .status-screen {
  color: #1d1d1d;
  font-size: 14px;
}

.header-nav {
  position: relative;
  height: 56px;
  background-color: #fff;
  border-bottom: 1px solid #f6f6f6;
  transition: border 0.15s ease-in;
}
.header-nav:has(#ngnb li:hover) {
  border-color: var(--brand-color);
}
@media (max-width: 1425px) {
  .header-nav {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nav-wrap {
  position: relative;
  z-index: 3;
  margin: 0 auto;
  max-width: 1410px;
  height: 100%;
  display: flex;
  justify-content: space-between;
}
.nav-wrap .brand {
  height: 100%;
  display: flex;
  align-items: center;
}
.nav-wrap .brand a {
  display: block;
  background: url(/dfip/static/images/portal/d-logo.svg) no-repeat 50% 50% / contain;
  width: 186px;
  height: 20px;
}
.nav-wrap .general-utils {
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  gap:0 16px;
}

.general-utils-btn {
  display: inline-block;
  vertical-align: top;
  width: 32px;
  height: 32px;
  background-color: #F4F5F6;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  /* transition: all 0.25s; */
  font-size: 0;
}

#mypage-button{
  background-image: url(/dfip/static/images/portal/ico-mypage-2.png);
  /*background-image: url(/dfip/static/images/portal/ico-mypage.svg);*/
}

#mypage-button.is-open{
  background-image: url(/dfip/static/images/portal/ico-mypage-current.svg);
}

#search-button{
  background-image: url(/dfip/static/images/portal/ico-search.svg);
}
#sitemap-button{
  background-color: rgb(45, 163, 79);
  background-image: url(/dfip/static/images/portal/ico-sitemap.svg);
}


.mypage-wrapper {
  position: relative;
}
.mypage-popup {
  position: absolute;
  top: calc(100% + 12px);
  left: -561px;
  width: 674px;
  border-radius: 12px;
  border-radius: 20px 40px 20px 40px;
  border: 1px solid var(--24-24_p-40, #299347);
  background: #fff;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05), 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
}



.mypage-popup__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 0 23px 23px;
}
@media (max-width: 1024px) {
  .mypage-popup__content {
    flex-direction: column;
    padding: 0;
  }
}

.mypage-popup__content-left {
  display: flex;
  padding: 8px 12px;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  border-radius: 8px 20px;
  background: var(--g-05, #F4F5F6);
  width: 306px;
}
@media (max-width: 1024px) {
  .mypage-popup__content-left {
    width: 100%;
  }
}

.mypage-popup__content-left-title{
  color: #131416;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap:0 4px;
  padding-bottom: 9px;
}
.mypage-popup__bookmark-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  overflow-y: auto;
  height: 134px;
  float: 1;
}

.mypage-popup__bookmark-item {
  padding: 8px 12px;
  border-radius: 6px;
  background: #fff;
  display: flex;
  height: 40px;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.mypage-popup__bookmark-item button {
  width: 12px;
  height: 12px;
  background: url(/dfip/static/images/portal/icon-bookmark-del.svg) no-repeat center center;
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
  font-size: 0;
}
.mypage-popup__bookmark-item a{
  color: #131416;
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 30px;
  background: url(/dfip/static/images/portal/icon-link-view.svg) no-repeat right 10px center;
}
.mypage-popup__bookmark-more {
  text-align: right;
  margin-top: 10px;
  width: 100%;
}
.mypage-popup__bookmark-more a{
  color: #58616A;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap:0 4px;
  vertical-align: top;
}


.mypage-popup::before {
  content: "";
  position: absolute;
  top: -12px;
  right: 84px;
  width: 22px;
  height: 12px;
  background: url(/dfip/static/images/portal/mypage-arrow.svg) no-repeat center center;
}
.mypage-popup.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mypage-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  padding-bottom: 8px;
}
@media (max-width: 1024px) {
  .mypage-popup__header {
    padding-left: 0;
    padding-right: 0;
  }
}
.mypage-popup__welcome {
  font-size: 17px;
  font-weight: 400;
  color: #131416;
  line-height: 1.4;
}
.mypage-popup__welcome b {
  font-weight: 900;
  font-size: 1em;
}
.mypage-popup__logout {
  display: flex;
  height: 32px;
  min-width: 78px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  color: #464c53;
  font-size: 14px;
  border-radius: 100px;
  border: 1px solid var(--g-10, #e6e8ea);
  background: var(--g-00, #fff);
}
.mypage-popup__logout i {
  background: url(/dfip/static/images/portal/icon-logout.svg) no-repeat center center;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
}

.mypage-popup__content-right{
  width: 306px;
}

@media (max-width: 1024px) {
  .mypage-popup__content-right {
    width: 100%;
  }
}
.mypage-popup__notifications {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.mypage-popup__notification-card {
  padding: 8px 12px;
  flex: 1 0 0;
  border-radius: 8px;
  background: var(--g-05, #f4f5f6);
}
.mypage-popup__notification-card .notification-label {
  font-size: 15px;
  color: #131416;
  line-height: 1.4;
  background-repeat: no-repeat;
  background-position: 0 0;
  padding-left: 20px;
}
.mypage-popup__notification-card .notification-label.message {
  background-image: url(/dfip/static/images/portal/icon-msg.svg);
}
.mypage-popup__notification-card .notification-label.note {
  background-image: url(/dfip/static/images/portal/icon-note.svg);
}
.mypage-popup__notification-card .notification-count {
  font-size: 15px;
  font-weight: 400;
  color: #131416;
  line-height: 1.2;
  text-align: right;
}
.mypage-popup__notification-card .notification-count b {
  font-weight: 700;
  font-size: 25px;
}
.mypage-popup__info {
  display: flex;
  width: 306px;
  padding: 16px 24px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 8px 8px 8px 20px;
  background: #E5F4E9;
  font-size: 15px;
  color: #33363D;
  line-height: 1.234;
  text-align: center;
}
@media (max-width: 1024px) {
  .mypage-popup__info {
    width: 100%;
  }
}

.mypage-popup__info div i {
  width: 6px;
  height: 10px;
  background: url(/dfip/static/images/portal/icon-black-arrow.svg) no-repeat center center;
  display: inline-block;
  vertical-align: middle;
  transform: translateY(-2px);
}
.mypage-popup__info div a {
  color: #222;
  text-decoration: underline;
}
.mypage-popup__info div a:hover {
  color: #299347;
}
.mypage-popup .mypage-popup__link {
  display: flex;
  height: 40px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  align-self: stretch;
  border-radius: 100px;
  background: var(--24-24_p-60, #299347);
  font-size: 15px;
  font-weight: 900;
  color: #fff;
}
.mypage-popup .mypage-popup__link span {
  font-weight: 600;
  font-size: 1em;
  padding-right: 2px;
}
.mypage-popup .mypage-popup__link i {
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background: url(/dfip/static/images/portal/mypage-popup-link.png) no-repeat center center;
}

.mypage-popup__close{
  position: absolute;
  bottom: 1vw;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 56px;
  background: url(/dfip/static/images/portal/icon-mobile-close.svg) no-repeat 50% 50%;
}

#mypage-popup-mobile{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  border-radius: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mypage-popup-mobile.is-open {

}

.mypage-popup-mobile-inner{
  border-radius: 20px 40px;
  border: 1px solid var(--p-40, #42AC61);
  background: #FFF;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05), 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  width: 328px;
  padding: 0 24px 24px 24px;
}



#ngnb {
  left: 0;
  top: 0;
  display: flex;
  overflow: hidden;
  line-height: 1;
  height: 85px;
}
#ngnb > li {
  padding: 0 20px;
  position: relative;
  transition: all 0.35s;
}


#ngnb > li:hover .depth:not(.one) {
  /* background: linear-gradient(to bottom, #2ca151, #1b6086); */
  background-color: #FFF;
}
/* #ngnb > li:hover .depth a {
  color: #fff;
} */
#ngnb > li > a {
  display: flex;
  align-items: center;
  color: var(--color-primary);
  font-weight: 600;
  font-size: 19px;
  height: 56px;
  transition: all 0.35s;
}

@media (max-width: 1240px) {
  #ngnb > li > a {
    font-size: 16px;
  }
}

#ngnb > li.blank_menu > a{
  position: relative;
  padding-right: 22px;
}

#ngnb > li.blank_menu > a::after{
  content: '';
  display: inline-block;
  vertical-align: top;
  width: 20px;
  height: 20px;
  background: url(/dfip/static/images/portal/gnb-arrow-icon.png) no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.depth.one{text-align: center;padding-top: 30px;}



@media (min-width: 1340px) {
  #ngnb:hover > li{
    text-align: center;
    padding: 0 40px;
  }
}


#ngnb > li:hover > a,
#ngnb > li > a:hover,
#ngnb > li > a:focus {
  background: linear-gradient(90deg, #2DA34F 0%, #1B5D88 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
}

#ngnb:hover .depth{
  opacity: 1;
  visibility: visible;
}

#ngnb > li:hover .depth-wrap::before,
#ngnb > li:has(>a:hover) .depth-wrap::before,
#ngnb > li:has(>a:focus) .depth-wrap::before{
  opacity: 1;
  visibility: visible;
}


#ngnb > li .depth {
  position: absolute;
  left: 0;
  top: 55px;
  width: 100%;
  height: 340px;
  transition: all 0.35s;
  opacity: 0;
  visibility: hidden;
}
#ngnb > li .depth-wrap{
  padding-top: 30px;
  position: relative;
  background: url(/dfip/static/images/portal/line.png) no-repeat 0 center;
  height: 100%;
}
#ngnb > li .depth-wrap::before{
  content: '';
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(to right, #2DA34F, #1B5D88);
  opacity: 0;
}
#ngnb > li .depth-wrap li {
  text-align: center;
}
#ngnb > li .depth-wrap li a {
  display: inline-block;
  vertical-align: top;
  color: #555555;
  font-size: 15px;
  padding: 10px 0;
  transition: all 0.25s;
}
#ngnb > li .depth-wrap li a:hover,
#ngnb > li .depth-wrap li a:focus{
  color: #24823F;
}
#ngnb > li .depth-wrap li a:hover, #ngnb > li .depth-wrap li a:focus {
  text-decoration: underline;
}

.nav-bg {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 55px;
  background-color: rgb(233, 249, 238);
}

/* 키보드 포커스 시 메뉴 보임 처리 */
#ngnb.gnb-active .depth {
  opacity: 1;
  visibility: visible;
}
/* 키보드 포커스 시 라인 보임 처리 */
#ngnb.gnb-active .depth-wrap::before {
  opacity: 1;
  visibility: visible; 
}


.mobile-header {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #c6c6c6;
  z-index: 10;
}
@media (max-width: 1024px) {
  .mobile-header {
    display: block;
  }
}
.mobile-header-top {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
}
.mobile-header .brand a {
  display: block;
  background: url(/dfip/static/front/common/images/bss/mi.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 125px;
  height: 13px;
}
.mobile-header .easy-hgroup {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 8px;
  height: 100%;
}
.mobile-header .easy-hgroup .home {
  display: inline-block;
  width: 14px;
  height: 32px;
  background: url(/dfip/static/front/common/images/bss/home.png) no-repeat 50% 50%;
  background-size: 100% auto;
}
.mobile-header .easy-hgroup .home.is-main-home {
  background: url(/dfip/static/front/common/images/bss/mi.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 186px;
}
.mobile-header .easy-hgroup .toggle {
  position: relative;
  padding-right: 20px;
  height: 32px;
}
.mobile-header .easy-hgroup .toggle::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  background: url(/dfip/static/front/common/images/bss/m-easy-arw.png) no-repeat 0 0/cover;
  width: 10px;
  height: 6px;
  transform: translateY(-50%) rotate(0deg);
  transition: all 0.25s;
}
.mobile-header .easy-hgroup .toggle.active::after {
  transform: translateY(-50%) rotate(180deg);
}
.mobile-header .easy-hgroup .toggle.active + .dropmenu {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  transform: translateY(0);
}
.mobile-header .easy-hgroup .dropmenu {
  opacity: 0;
  visibility: hidden;
  z-index: -2;
  position: absolute;
  top: 40px;
  left: 0;
  max-width: 320px;
  width: 50vw;
  background-color: #fff;
  border: 1px solid #111;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 5px 5px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.4s;
  transform: translateY(-30px);
}
.mobile-header .easy-hgroup .dropmenu li a {
  display: block;
  padding: 5px 0;
}
.mobile-header .utils {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.mobile-header .bookmark-actions {
  width: 17px;
  height: 17px;
  background: url(/dfip/static/front/common/images/bss/btn-bookmark.png) no-repeat 50% 50%;
  background-size: 100% auto;
}

.bookmark-actions {
  width: 17px;
  height: 17px;
  background: url(/dfip/static/front/common/images/bss/btn-bookmark.png) no-repeat 50% 50%;
  background-size: 100% auto;
}

.mobile-header .bookmark-actions.isActive {
  background-image: url(/dfip/static/front/common/images/bss/btn-bookmark-current.png);
}

.bookmark-actions.isActive {
  background-image: url(/dfip/static/front/common/images/bss/btn-bookmark-current.png);
}

.mobile-header .open-search {
  width: 32px;
  height: 32px;
  background: url(/dfip/static/images/portal/icon-mobile-search.svg) no-repeat 50% 50%;
  background-size: 100% auto;
}

.mobile-header #mypage-button-mobile {
  width: 32px;
  height: 32px;
  background: url(/dfip/static/images/portal/icon-mobile-mypage.svg) no-repeat 50% 50%;
  background-size: 100% auto;
}

.mobile-header .open-menu {
  width: 32px;
  height: 32px;
  background: url(/dfip/static/images/portal/icon-mobile-menu.svg) no-repeat 50% 50%;
  background-size: 100% auto;
}
.mobile-header nav {
  position: absolute;
  background-color: #fff;
  left: 0;
  top: 0;
  transform: translateY(-100%);
  visibility: hidden;
  opacity: 0;
  width: 100%;
  height: 100dvh;
  padding: 0 16px;
  transition: all 0.7s;
}
.mobile-header .mobile-nav-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  border-bottom: 1px solid #000;
}
.mobile-header .mobile-nav-top .user-prompt {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #1d1d1d;
}
.mobile-header .mobile-nav-top .user-prompt::after {
  content: "";
  display: inline-block;
  background: url(/dfip/static/front/common/images/bss/m-prompt-arw.png) no-repeat 0 50%/13px auto;
  width: 13px;
  height: 8px;
  margin-left: 10px;
}
.mobile-header .mobile-nav-top .login-prompt {
  position: relative;
  background: url(/dfip/static/front/common/images/bss/icon-m-login.png) no-repeat 0 50%/16px auto;
  padding-left: 22px;
}
.mobile-header .mobile-nav-top .login-prompt a {
  font-weight: 700;
  color: #1d1d1d;
}
.mobile-header .multi-group {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.mobile-header .multi-group .links {
  color: #555555;
  font-size: 11px;
}
.mobile-header .multi-group .close {
  position: relative;
  width: 20px;
  height: 20px;
}
.mobile-header .multi-group .close::after, .mobile-header .multi-group .close::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: black; /* 선의 색상 */
  transform-origin: center;
  border-radius: 5px;
  transform: translateY(-50%);
}
.mobile-header .multi-group .close::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.mobile-header .multi-group .close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.mobile-header.menu-open nav {
  transform: translateY(0%);
  opacity: 1;
  visibility: visible;
}

#mgnb {
  height: calc(100% - 80px);
  overflow-y: auto;
}
#mgnb > li {
  border-bottom: 1px solid #dddddd;
  transition: all 0.5s linear;
}
#mgnb > li > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 700;
  color: #000;
  font-size: 16px;
  height: 50px;
  transition: all 0.25s;
}
#mgnb > li > a::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  background: url(/dfip/static/front/common/images/bss/m-nav-arw.png) no-repeat 0 50%/12px auto;
  width: 12px;
  height: 7px;
  transition: all 0.25s;
}
#mgnb > li.active > a {
  color: var(--brand-color);
}
#mgnb > li.active > a::after {
  background-image: url(/dfip/static/front/common/images/bss/m-nav-arw-active.png);
  transform: translateY(-50%) rotate(180deg);
}
#mgnb > li .depth {
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  border-top: 1px solid #ddd;
  height: 0;
}
#mgnb > li .depth ul {
  padding: 12px 0;
}
#mgnb > li .depth li a {
  display: block;
  color: #2d2d2d;
  font-weight: 300;
  font-size: 12px;
  padding: 8px 0;
}

.float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 8px 0;
}
@media (max-width: 1024px) {
  .float {
    left: 50%;
    right: inherit;
    bottom: 15px;
    transform: translateX(-50%);
    flex-direction: row;
    background-color: #fff;
    justify-content: center;
    gap: 0 20px;
    padding: 10px 25px;
    border-radius: 100px;
    box-shadow: 0 0px 10px 5px rgba(0, 0, 0, 0.15);
  }
}
.float > a,
.float > button,
.float .chatbot_btn {
  display: flex;
  border-radius: 50%;
  width: 68px;
  height: 68px;
  box-shadow: 0 0px 10px 0px rgba(0, 0, 0, 0.15);
  position: relative;
  background: #fff;
  border: 1px solid #c6eddc;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
@media (max-width: 1024px) {
  .float > a,
  .float > button,
  .float .chatbot_btn {
    width: 45px;
    height: 45px;
  }
}
.float .alarm {
  background-image: url(/dfip/static/front/common/images/bss/float-alarm.png);
  position: relative;
}
.float .alarm em {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  border-radius: 50%;
  right: -5px;
  top: -5px;
  height: 28px;
  width: 28px;
  border: 1px solid #fff;
  background-color: #ed7031;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
}
.float .search {
  background-image: url(/dfip/static/front/common/images/bss/float-search.png);
}
.float .chatbot_container {
  position: relative;
}
.float .chatbot_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to bottom, #3ABF46, #226F9C);
}
.float .chatbot_btn::after {
  content: "";
  display: inline-block;
  width: 44px;
  height: 44px;
  background: url(/dfip/static/front/common/images/bss/float-chatbot.png) no-repeat 0 0;
}
.float .btnTop {
  background-color: #000;
  background-image: url(/dfip/static/front/common/images/bss/top.png);
  border: 0;
}
.float .alarm .hover-text,
.float .search .hover-text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  background: linear-gradient(to bottom, #2ca251, #1a6086);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  opacity: 0;
  transition: all 0.25s ease-out;
}
.float .alarm:hover .hover-text, .float .alarm:focus .hover-text,
.float .search:hover .hover-text,
.float .search:focus .hover-text {
  opacity: 1;
}

#ViewModeMobile {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #2da34f;
  border-radius: 20px 0 0 20px;
  background-color: #2da34f;
  color: #fff;
  padding: 50px 20px;
  font-size: 50px;
  writing-mode: vertical-lr;
  z-index: 10000;
}

.dg-footer {
  background-color: #f4f5f6;
  position: relative;
  border-top: 1px solid #cdd1d5;
  z-index: 9;
}
@media (max-width: 1024px) {
  .dg-footer {
    padding-bottom: 70px;
  }
}
@media (max-width: 1024px) {
  .dg-footer .row {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.dg-footer .content-container {
  padding: 40px 0;
}
.dg-footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.dg-footer-top .logs {
  display: flex;
  align-items: center;
  gap: 0 40px;
}
@media (max-width: 1024px) {
  .dg-footer-top .logs {
    gap: 0 20px;
  }
}
.dg-footer-top .logs a {
  display: block;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.dg-footer-top .logs .logo1 {
  background-image: url(/dfip/static/front/common/images/bss/mi.png);
  width: 233px;
  height: 25px;
}
@media (max-width: 1024px) {
  .dg-footer-top .logs .logo1 {
    width: 125px;
    background-size: 100% auto;
  }
}
.dg-footer-top .logs .logo2 {
  background-image: url(/dfip/static/front/common/images/bss/mi-food.png);
  width: 109px;
  height: 20px;
}
.dg-footer-top .logs .logo3 {
  background-image: url(/dfip/static/front/common/images/bss/mi-food2.png);
  width: 45px;
  height: 20px;
}
.dg-footer-infos {
  display: flex;
  gap: 0 20px;
  align-items: center;
  padding: 40px 0 20px;
}
.dg-footer-infos dl {
  display: flex;
  align-content: center;
  color: #1d1d1d;
  font-size: 16px;
  gap: 0 10px;
}
.dg-footer-infos dl dt {
  font-weight: 700;
}
@media (max-width: 1024px) {
  .dg-footer-infos {
    flex-wrap: wrap;
    padding: 20px 0 10px;
    gap: 7px;
  }
  .dg-footer-infos dl {
    font-size: 13px;
    gap: 0 5px;
  }
}
.dg-footer-support {
  background-color: #fff;
  border-radius: 15px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
  width: 440px;
  padding: 15px 20px;
}
@media (max-width: 768px) {
  .dg-footer-support {
    width: 100%;
    max-width: 440px;
    padding: 12px;
  }
}
.dg-footer-support .support-title {
  color: #1d1d1d;
  background: url(/dfip/static/front/common/images/bss/support-icon.png) no-repeat 0 50%;
  line-height: 1;
  font-weight: 700;
  font-size: 19px;
  padding-left: 30px;
  line-height: 23px;
  margin-bottom: 15px;
}
@media (max-width: 768px) {
  .dg-footer-support .support-title {
    font-size: 15px;
    padding-left: 20px;
    margin-bottom: 10px;
    background-size: 14px auto;
  }
}
.dg-footer-support .support-phone-main dl {
  display: flex;
  align-items: center;
  gap: 0 10px;
  font-size: 16px;
}
.dg-footer-support .support-phone-main dl + dl {
  margin-top: 10px;
}
.dg-footer-support .support-phone-main dl dt {
  font-weight: 700;
  color: #1d1d1d;
}
.dg-footer-support .support-phone-main dl dd {
  color: #555555;
}
.dg-footer-support .support-phone-main dl dd span {
  padding: 0 6px;
}
.dg-footer-support .support-phone-main dl dd a {
  color: #1f7237;
}
@media (max-width: 768px) {
  .dg-footer-support .support-phone-main dl {
    font-size: 13px;
  }
  .dg-footer-support .support-phone-main dl dd span {
    padding: 0 3px;
  }
}
.dg-footer .link-container {
  border-top: 1px solid #cdd1d5;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .dg-footer .link-container {
    flex-direction: column;
    justify-content: flex-start;
    align-items: baseline;
    gap: 10px 0;
  }
}
.dg-footer .copy {
  color: #555555;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .dg-footer .copy {
    font-size: 12px;
  }
}
.dg-footer .link-list {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
  gap: 0 27px;
}
@media (max-width: 1024px) {
  .dg-footer .link-list {
    gap: 10px;
  }
}
.dg-footer .link-list li a {
  font-size: 16px;
  color: #1d1d1d;
  transition: all 0.15s;
}
.dg-footer .link-list li a strong {
  color: #1f7237;
}
@media (max-width: 1024px) {
  .dg-footer .link-list li a {
    font-size: 13px;
  }
}
.dg-footer .link-list li a:hover {
  color: #2da34f;
}
.dg-footer .link-list li:not(:first-child) {
  position: relative;
  padding-left: 27px;
}
@media (max-width: 1024px) {
  .dg-footer .link-list li:not(:first-child) {
    padding-left: 10px;
  }
}
.dg-footer .link-list li:not(:first-child)::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  position: absolute;
  left: 0;
  top: 3px;
  width: 1px;
  height: 14px;
  background-color: #d9dcdf;
}
@media (max-width: 1024px) {
  .dg-footer .link-list li:not(:first-child)::after {
    height: 10px;
    top: 2px;
  }
}
@media (max-width: 768px) {
  .dg-footer .link-list li:nth-child(4) {
    padding-left: 0;
    margin-left: 0;
  }
  .dg-footer .link-list li:nth-child(4)::after {
    display: none;
  }
}
.dg-footer .related-sites {
  position: relative;
  width: 230px;
}
@media (max-width: 1024px) {
  .dg-footer .related-sites {
    display: none;
  }
}
.dg-footer .related-sites:has(button.active) button::after {
  transform: rotate(0deg) translateY(-50%);
}
.dg-footer .related-sites:has(button.active) ul {
  display: block;
}
.dg-footer .related-sites button {
  position: relative;
  border-radius: 20px;
  width: 100%;
  height: 40px;
  background-color: #464646;
  color: #fff;
  font-size: 15px;
  display: block;
  padding-left: 24px;
  text-align: left;
}
.dg-footer .related-sites button::after {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background: url(/dfip/static/front/common/images/bss/icon-related-arw.png) no-repeat;
  transition: all 0.25s;
  transform: rotate(180deg) translateY(50%);
  position: absolute;
  right: 24px;
  top: 50%;
}
.dg-footer .related-sites ul {
  display: none;
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #2da34f;
  padding: 20px;
  border-radius: 20px;
}
.dg-footer .related-sites ul li:not(:first-child) {
  border-top: 1px solid #ddd;
}
.dg-footer .related-sites ul li a {
  display: inline-flex;
  align-items: center;
  height: 40px;
  font-size: 14px;
  color: #808080;
}
.dg-footer .related-sites ul li a:hover, .dg-footer .related-sites ul li a:focus {
  color: #000;
}

body:has(.dg-header) #lay-container {
  padding-top: 60px;
}
.subtop {
  background: url(/dfip/static/images/portal/subtop.svg) no-repeat 50% 50%;
  background-size: cover;
}
.subtop .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 120px;
}
.subtop .breadcrumb {
  display: flex;
  align-items: center;
}
.subtop .breadcrumb li {
  color: #33363D;
  line-height: 1;
  font-size: 15px;
}
.subtop .breadcrumb li:not(:first-child) {
  margin-left: 10px;
  padding-left: 13px;
  background: url(/dfip/static/front/common/images/bss/breadcrumb-arw.png) no-repeat 0 50%;
}
.subtop .breadcrumb li:first-child {
  font-size: 0;
}
.subtop .breadcrumb li:first-child a {
  display: inline-block;
  vertical-align: top;
  background: url(/dfip/static/images/portal/ico-home.svg) 50% 50% no-repeat;
  width: 14px;
  height: 16px;
}
.subtop .breadcrumb li:last-child {
  color: #111;
  font-weight: 700;
}
.subtop h2 {
  color: #000;
  font-size: 40px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.subtop .subtop-utils {
  display: flex;
  gap: 0 32px;
  align-items: center;
}

.subtop .subtop-utils .divider{
  width: 1px;
  height: 12px;
  background-color: #8A949E;
}

.subtop .subtop-utils {}
.subtop .subtop-utils .subtop-utils-btn{
  color: #33363D;
  font-size: 13px;
  display: inline-flex;
  vertical-align: top;
  align-items: center;
  gap:0 4px;
  height: 20px;
}
.subtop .subtop-utils .subtop-utils-btn i{
  display: inline-block;
  vertical-align: top;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.subtop .subtop-utils #copyUrlButton i{
  background-image: url(/dfip/static/images/portal/ico-share.svg);
  width: 14px;
  height: 16px;
}
.subtop .subtop-utils #printButton i{
  background-image: url(/dfip/static/images/portal/ico-print.svg);
  width: 16px;
  height: 14px;
}
@media (max-width: 1024px) {
  .subtop {
    display: none;
  }
}

.main-content {
  padding: 60px 0;
  min-height: calc(100dvh - 558px);
}
@media (max-width: 1024px) {
  .main-content {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

#overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;
}
#overlay.active {
  display: block;
  z-index: 104;
}

.gn-dialog {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1501;
  transition: all 0.6s;
  transform: translateY(-50px);
}
.gn-dialog.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.gn-dialog h2 {
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 400;
  height: 125px;
  font-size: 36px;
}
.gn-dialog .close-popup-btn {
  position: absolute;
  right: 80px;
  top: 50px;
  width: 22px;
  height: 22px;
}
.gn-dialog .close-popup-btn span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.gn-dialog .close-popup-btn span::after, .gn-dialog .close-popup-btn span::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  position: absolute;
  background-color: #fff;
}
.gn-dialog .close-popup-btn span::after {
  transform: rotate(45deg) translateY(11px);
}
.gn-dialog .close-popup-btn span::before {
  transform: rotate(-45deg) translateX(-11px);
}
@media (max-width: 1024px) {
  .gn-dialog .close-popup-btn {
    right: 16px;
    top: 13px;
  }
  .gn-dialog .close-popup-btn span::after, .gn-dialog .close-popup-btn span::before {
    background-color: #000;
  }
}

@media (max-width: 1024px) {
  #unifiedSerach {
    background-color: #fff;
    height: 100vh;
  }
  #unifiedSerach h2 {
    background: #fff;
    border-bottom: 1px solid #ddd;
    color: #000;
    height: 50px;
    font-size: 13px;
  }
}
#unifiedSerach .search-wrapper {
  display: flex;
  justify-content: center;
  background: #fff url(/dfip/static/front/common/images/bss/search-bg.png) no-repeat 50% 50%;
  height: 415px;
}
@media (max-width: 1024px) {
  #unifiedSerach .search-wrapper {
    height: auto;
    padding: 20px;
    margin: 20px;
    background: #f6f6f6;
    border-radius: 20px;
  }
}
#unifiedSerach .search-container {
  margin-top: 60px;
  width: 640px;
}
@media (max-width: 1024px) {
  #unifiedSerach .search-container {
    width: auto;
    max-width: 640px;
    margin: 0 auto;
  }
}
#unifiedSerach .search-window {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border: 3px solid #2da34f;
  height: 80px;
  border-radius: 40px;
  transition: all 0.25s;
  padding-right: 30px;
}
@media (max-width: 1024px) {
  #unifiedSerach .search-window {
    height: 40px;
    border-width: 2px;
    padding-right: 15px;
  }
}
#unifiedSerach .search-window:has(input:focus) {
  border-color: #000;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.15);
}
#unifiedSerach .search-window input {
  display: block;
  height: 100%;
  flex-grow: 1;
  padding-left: 40px;
  font-size: 18px;
  color: #000;
  background: transparent;
  border: 0;
  padding-right: 10px;
}
#unifiedSerach .search-window input::-moz-placeholder {
  color: #555;
}
#unifiedSerach .search-window input::placeholder {
  color: #555;
}
#unifiedSerach .search-window input:focus {
  outline: none;
  box-shadow: none;
}
@media (max-width: 1024px) {
  #unifiedSerach .search-window input {
    font-size: 14px;
    padding-left: 20px;
  }
}
#unifiedSerach .search-window button {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: url(/dfip/static/front/common/images/bss/icon-u-search.png) no-repeat 50% 50%;
}
@media (max-width: 1024px) {
  #unifiedSerach .search-window button {
    height: 20px;
    width: 20px;
    background-size: 100% auto;
  }
}
#unifiedSerach .hot-keyword {
  margin-top: 40px;
}
@media (max-width: 1024px) {
  #unifiedSerach .hot-keyword {
    margin-top: 25px;
  }
}
#unifiedSerach .hot-keyword h3 {
  color: #000;
  font-size: 17px;
}
@media (max-width: 1024px) {
  #unifiedSerach .hot-keyword h3 {
    display: none;
  }
}
#unifiedSerach .hot-keyword .list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 18px;
}
@media (max-width: 1024px) {
  #unifiedSerach .hot-keyword .list {
    padding-top: 0;
  }
}
#unifiedSerach .hot-keyword .list a {
  display: inline-flex;
  align-items: center;
  background-color: #e1f1ea;
  font-weight: 400;
  border-radius: 16px;
  height: 32px;
  padding: 0 16px;
  font-size: 15px;
  transition: all 0.15s;
}
#unifiedSerach .hot-keyword .list a:hover, #unifiedSerach .hot-keyword .list a:focus {
  box-shadow: 0 5px 5px rgba(225, 241, 234, 0.5);
}
@media (max-width: 1024px) {
  #unifiedSerach .hot-keyword .list a {
    color: #555555;
    border: 1px solid #e4e4e4;
    background-color: #fff;
    font-size: 12px;
  }
}

.sitemap-wrap {
  background: #f9f9f9 url(/dfip/static/front/common/images/bss/sitemap-bg.png) no-repeat 50% 50%;
  padding: 60px 0;
}

.sitemap-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.sitemap-links > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  color: #1d1d1d;
  transition: all 0.15s;
  height: 54px;
  font-size: 18px;
}
.sitemap-links > li > a:hover, .sitemap-links > li > a:focus {
  color: var(--brand-color);
  font-weight: 700;
}
.sitemap-links > li:hover > a, .sitemap-links > li:has(a:hover) > a, .sitemap-links > li:has(a:focus) > a {
  color: var(--brand-color);
  font-weight: 700;
}
.sitemap-links > li::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: -1px;
  top: -1px;
  right: -1px;
  height: 56px;
  border: 1px solid #9e9e9e;
  border-radius: 10px 6px 6px 6px;
  background-color: #fff;
}
.sitemap-links > li .depth {
  margin-top: 40px;
  background-color: #fff;
  height: 435px;
  padding: 24px 0;
  line-height: 1;
  position: relative;
}
.sitemap-links > li .depth::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border: 1px solid var(--brand-color);
  background-color: #f7faf8;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s;
  z-index: 2;
}
.sitemap-links > li .depth:has(a:hover)::before, .sitemap-links > li .depth:has(a:focus)::before, .sitemap-links > li .depth:hover::before {
  opacity: 1;
  visibility: visible;
}
.sitemap-links > li .depth.nn::after {
  display: none;
}
.sitemap-links > li .depth::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  bottom: 15px;
  width: 1px;
  background-color: #e1e1e1;
  z-index: 1;
}
.sitemap-links > li .depth li a {
  display: block;
  font-size: 16px;
  padding: 16px 0 16px 32px;
  position: relative;
  z-index: 3;
  transition: all 0.15s;
}
.sitemap-links > li .depth li a:hover, .sitemap-links > li .depth li a:focus {
  color: var(--brand-color);
  text-decoration: underline;
}

.search-grid {
  display: flex;
  align-items: flex-start;
  gap: 0 30px;
}
.search-side {
  background-color: #f6f6f6;
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  width: 330px;
  padding: 30px;
}
.search-main {
  width: calc(100% - 360px);
}
.search-header .board-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.search-header-count{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
@media (max-width: 1425px) {
  .search-grid {
    flex-direction: column-reverse;
    gap: 20px 0;
  }
  .search-side {
    width: 100%;
  }
  .search-main {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .search-grid {
    gap: 45px 0;
  }
  .search-side {
    padding: 22px;
  }
}

.align-top .cs-input {
  vertical-align: top;
}

/* 사업공고 목록 */
.post-wrap + .cs-paging {
  margin-top: 60px;
}
@media (max-width: 1024px) {
  .post-wrap + .cs-paging {
    margin-top: 30px;
  }
}
.post-list {
  display: flex;
  gap: 25px 0;
  flex-wrap: wrap;
  flex-direction: column;
}
.post-link {
  display: block;
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  padding: 30px;
  transition: var(--transition-easy);
}
.post-link:hover, .post-link:focus {
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1);
  border-color: var(--border-color-active);
}
@media (max-width: 1024px) {
  .post-link {
    padding: 22px;
  }
}
.post-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1024px) {
  .post-head {
    flex-direction: column;
    justify-content: flex-start;
    align-items: baseline;
  }
}
.post-status {
  display: flex;
  gap: 0 20px;
  align-items: center;
  font-size: 15px;
}
.post-status dl {
  display: flex;
  gap: 0 10px;
}
.post-status dl dd {
  color: #717171;
}
@media (max-width: 1024px) {
  .post-status {
    flex-direction: column;
    align-items: baseline;
    gap: 4px 0;
    margin-top: 10px;
  }
}
.post-subject {
  font-weight: 400;
  margin: 14px 0 20px;
  line-height: 1.34;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .post-subject {
    font-size: 15px;
  }
}
.post-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  gap: 0 40px;
}
.post-meta dl {
  display: flex;
}
.post-meta dl dt {
  color: #555555;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 1;
}
.post-meta dl dd {
  display: inline-flex;
  color: #717171;
}
.post-meta dl dd::before {
  content: ":";
  display: inline-block;
  margin: 0 2px;
  flex-shrink: 1;
}

.search-condition-title {
  border-bottom: 1px solid #e4e4e4;
  line-height: 1;
  padding-bottom: 14px;
}
.search-condition-title h3 {
  color: #000;
  font-size: 19px;
}

.search-unit {
  display: block;
  padding: 35px 0;
}
.search-unit + .search-unit {
  border-top: 1px solid #e4e4e4;
}
.search-unit strong {
  line-height: 1;
  display: block;
  margin-bottom: 20px;
  font-weight: 400;
  font-size: 17px;
}
.search-unit-btn {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.search-unit-btn .btn {
  padding: 7px 17px;
  line-height: 1;
  height: auto;
}
@media (max-width: 1024px) {
  .search-unit {
    padding: 15px 0;
  }
  .search-unit strong {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .search-unit-btn .btn {
    padding: 4px 12px;
    font-size: 12px;
  }
}

/* 사업 공고 상세 */
.bsn-view-top .hgroup {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
@media (max-width: 1024px) {
  .bsn-view-top .hgroup {
    margin-bottom: 20px;
    padding-bottom: 15px;
  }
}
.bsn-view-top .subject {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}
.bsn-view-top .subject h3 {
  font-weight: 400;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .bsn-view-top .subject {
    gap: 10px 0;
  }
  .bsn-view-top .subject h3 {
    font-size: 17px;
  }
}
.bsn-view-top .status {
  display: flex;
  align-items: center;
  gap: 0 25px;
}
.bsn-view-top .status .date {
  color: #ff0000;
}
@media (max-width: 1024px) {
  .bsn-view-top .status {
    width: 100%;
    justify-content: space-between;
    margin-top: 10px;
  }
}
.bsn-view-top .details {
  gap: 0 80px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .bsn-view-top .details {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 10px 0;
  }
}
.bsn-view-top .details .col-list {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
.bsn-view-top .details .col-list dt {
  flex-shrink: 0;
}
.bsn-view-top .details .col-list.gap-sm {
  gap: 11px 0;
}
.bsn-view-top .details .col-list:not(:first-child) {
  position: relative;
}
.bsn-view-top .details .col-list:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #ddd;
}
.bsn-view-top .details .col-list dl {
  display: flex;
  align-items: baseline;
  gap: 0 15px;
  font-size: 17px;
  line-height: 1;
}
.bsn-view-top .details .col-list dl dd {
  color: #555555;
  line-height: 1.2;
}
.bsn-view-details .subject {
  display: inline-block;
  line-height: 1;
  color: #000;
  font-weight: 400;
  font-size: 19px;
  margin-bottom: 30px;
}
@media (max-width: 1024px) {
  .bsn-view-details .subject {
    font-size: 15px;
    line-height: 1.45;
  }
}
.bsn-view .border-rows + .border-rows {
  margin-top: 30px;
}
.bsn-view-title {
  color: #000;
  font-weight: 700;
  display: block;
  font-size: 15px;
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .bsn-view-title {
    font-size: 13px;
    margin-bottom: 10px;
  }
}

.border-rows {
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  transition: all 0.25s;
  padding: 30px 38px;
}
.border-rows.bold {
  border-width: 2px;
  border-color: #2da34f;
  box-shadow: 0 4px 0px rgba(142, 142, 142, 0.1);
}
@media (max-width: 1024px) {
  .border-rows {
    padding: 15px 18px;
  }
}
.border-rows-hgroup {
  position: relative;
  border-bottom: 1px solid #dedede;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 25px;
  padding-right: 60px;
}
.border-rows-hgroup.bdb0 {
  border: 0;
  padding-bottom: 0;
}
.border-rows-hgroup:not(:has(.collapse-toggle)) {
  padding-right: 0;
}
.border-rows-hgroup:has(.btn) {
  padding-right: 0;
}
.border-rows-hgroup h3 {
  font-size: 25px;
  color: #000;
  display: inline-flex;
  align-items: center;
  gap: 0 20px;
}
.border-rows-hgroup h3 em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f0f0;
  background-color: #f7faf8;
  border-radius: 17px;
  font-style: normal;
  color: #8e8e8e;
  font-weight: 400;
  font-size: 15px;
  padding: 7px 15px;
}
@media (max-width: 1024px) {
  .border-rows-hgroup h3 {
    font-size: 18px;
  }
}
.border-rows-hgroup .collapse-toggle {
  position: absolute;
  right: 0;
  top: 10px;
  width: 24px;
  height: 14px;
  background: url("/dfip/static/front/common/images/bss/icon-collapse.png") no-repeat 50% 50%;
  transform: rotate(0deg);
}
.border-rows-hgroup .collapse-toggle.is-active {
  transform: rotate(180deg);
}
@media (max-width: 1024px) {
  .border-rows-hgroup .collapse-toggle {
    top: 5px;
    background-size: 20px auto;
  }
}
.border-rows-hgroup:has(h4) {
  border-bottom: 0;
  padding-bottom: 0;
}
.border-rows-hgroup:has(h4) h4 {
  color: #000;
  font-size: 21px;
  display: inline-flex;
  align-items: center;
  gap: 0 10px;
}
.border-rows-hgroup:has(h4) h4 button {
  line-height: 1;
}
.border-rows-hgroup:has(h4) h4 button i {
  vertical-align: top;
}
.border-rows-hgroup:has(h4) h4 em {
  color: var(--gray-color);
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
}
@media (max-width: 1024px) {
  .border-rows-hgroup:has(h4) h4 {
    font-size: 16px;
  }
}
.border-rows-hgroup:has(h4) .collapse-toggle {
  top: 6px;
}
.border-rows-content {
  margin-top: 32px;
}
@media (max-width: 1024px) {
  .border-rows-content {
    margin-top: 20px;
  }
}
@media (max-width: 1024px) {
  .border-rows {
    padding: 15px;
  }
}

/* 사업신청 */
.bsn-request .border-rows + .border-rows {
  margin-top: 20px;
}
.bsn-request .bs-request-2 > .grid + .grid {
  margin-top: 24px;
}

.form-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0 12px;
  margin-bottom: 60px;
}
.form-steps.column-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .form-steps {
    margin-bottom: 30px;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .form-steps {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.form-steps > div {
  display: flex;
  position: relative;
  gap: 0 10px;
  align-items: center;
  padding-bottom: 16px;
}
.form-steps > div::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 5px;
  background-color: #eeeeee;
}
.form-steps > div.active .num {
  background-color: var(--brand-color);
  color: #fff;
}
.form-steps > div.active .text {
  color: var(--brand-color);
}
.form-steps > div.active::after {
  background-color: var(--brand-color);
}
.form-steps > div.clear .num {
  background-color: var(--brand-color-300);
  border: 1px solid var(--brand-color);
  font-size: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("/dfip/static/front/common/images/bss/icon-step-check.png");
}
.form-steps > div.clear::after {
  background-color: var(--brand-color-300);
}
.form-steps .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 100%;
  color: #fff;
  background-color: #eee;
  font-size: 18px;
  width: 24px;
  height: 24px;
}
@media (max-width: 1024px) {
  .form-steps .num {
    font-size: 14px;
  }
}
.form-steps .text {
  color: #8e8e8e;
  font-size: 19px;
}
@media (max-width: 1024px) {
  .form-steps .text {
    font-size: 15px;
  }
}

/* 참여 */
.bsn-date-set {
  display: flex;
  gap: 0 10px;
}
.bsn-date-set > * {
  flex-basis: auto;
  flex-grow: 1;
}

.bsn-amount {
  color: var(--brand-color);
  font-size: 17px;
}

.bsn-amount-group {
  display: flex;
  align-items: center;
  gap: 0 13px;
  font-size: 17px;
}

.item-container.item-grid-container .item-row,
.item-container.item-grid-container .item-head {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0px, 1fr));
  grid-gap: 0 20px;
}
.item-container.item-grid-container .item-row div:not(.item-08),
.item-container.item-grid-container .item-head div:not(.item-08) {
  width: auto;
}
.item-container .item-head {
  display: flex;
  gap: 0 20px;
  margin-bottom: 10px;
}
.item-container .item-head div {
  font-size: 17px;
}
.item-container .item-row {
  display: flex;
  gap: 0 20px;
}
.item-container .item-row + .item-row {
  margin-top: 5px;
}
.item-container .item-01 {
  width: 170px;
}
.item-container .item-02 {
  width: 210px;
}
.item-container .item-03 {
  width: 170px;
}
.item-container .item-04 {
  width: 130px;
}
.item-container .item-05 {
  width: 130px;
}
.item-container .item-06 {
  width: 170px;
}
.item-container .item-07 {
  width: 210px;
}
.item-container .item-08 {
  width: 50px;
}

/* 첨부파일 */
.input-grid-full {
  grid-column: 1/-1;
  margin-top: -25px;
  line-height: 1.8;
}

.bsn-files-content {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #dedede;
}

.additionnal-document {
  display: flex;
  gap: 0 20px;
  align-items: center;
  margin-bottom: 20px;
}
.additionnal-document .upload-document-name {
  width: 535px;
}
.additionnal-document .upload-group {
  flex-grow: 1;
}

.tfoot tr {
  background-color: #fafafa;
}
.tfoot tr th,
.tfoot tr td {
  font-size: 17px;
  color: #000;
}

.enter-hgroup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 15px;
}
.enter-hgroup h4 {
  font-size: 17px;
  color: #000;
}

.btn-add-row {
  border: 1px solid #333333;
  color: #333;
  transition: all 0.15s;
  border-radius: 16px;
  padding: 5px 30px;
  font-size: 15px;
  margin-left: 5px;
}
.btn-add-row.r0 {
  right: 0 !important;
}
.btn-add-row:hover, .btn-add-row:focus {
  color: #fff;
  background-color: #333;
}

.text-secon {
  color: #8e8e8e;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
}

.bsn-finance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 40px;
}
.bsn-finance strong {
  font-size: 17px;
  font-weight: 400;
  color: #000;
}
.bsn-finance-inbox {
  height: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(50% - 20px);
  border-bottom: 1px solid #c6c6c6;
}
.bsn-finance-inbox .price {
  font-size: 21px;
  font-weight: 400;
}
.bsn-finance-inbox .price b {
  font-weight: 700;
}
.bsn-finance-inbox:has(.in) {
  gap: 0 40px;
}
.bsn-finance-inbox .in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
}
.bsn-finance-inbox .in.text-25 {
  font-size: 25px;
}
.bsn-finance + .bsn-finance {
  margin-top: 30px;
}

.mypage-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 0 30px;
}
@media (max-width: 1024px) {
  .mypage-wrap {
    flex-direction: column;
  }
}
.mypage-content {
  width: calc(100% - 360px);
}
@media (max-width: 1024px) {
  .mypage-content {
    width: 100%;
  }
}

.startup-intro-block {
  margin: 50px 0;
  height: 1px;
  background-color: #ddd;
}

.bsn-support .border-rows + .border-rows {
  margin-top: 20px;
}
.bsn-support .border-rows-hgroup {
  padding-right: 0;
  flex-wrap: wrap;
  border-bottom: 0;
}
@media (max-width: 1024px) {
  .bsn-support .border-rows-hgroup {
    flex-direction: column;
    align-items: baseline;
    padding-bottom: 10px;
    gap: 7px 0;
  }
}
.bsn-support .border-rows-hgroup .cate {
  color: #555555;
  font-weight: 400;
  font-size: 19px;
}
@media (max-width: 1024px) {
  .bsn-support .border-rows-hgroup .cate {
    font-size: 13px;
  }
}
.bsn-support .border-rows-hgroup .assi-subject {
  width: 100%;
  margin-top: 5px;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.bsn-support .border-rows-hgroup .assi-subject strong {
  color: #000;
  font-weight: 400;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .bsn-support .border-rows-hgroup .assi-subject {
    flex-direction: column;
    align-items: baseline;
    gap: 7px 0;
  }
  .bsn-support .border-rows-hgroup .assi-subject strong {
    font-size: 17px;
  }
}

.log-entrty ul {
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 8px 0;
  overflow: hidden;
}
.log-entrty ul.hidden {
  max-height: 230px;
}
@media (max-width: 1024px) {
  .log-entrty ul.hidden {
    max-height: 160px;
  }
}
.log-entrty ul.hidden2 {
  max-height: 550px;
}
@media (max-width: 1024px) {
  .log-entrty ul.hidden2 {
    max-height: 385px;
  }
}
.log-entrty-item {
  position: relative;
  border: 1px solid #999999;
  border-radius: 10px;
  background-color: #f7faf8;
  display: flex;
  align-items: center;
  padding: 20px;
}
.log-entrty-item:hover .ico-bell::after, .log-entrty-item:focus .ico-bell::after {
  opacity: 1;
}
.log-entrty-item::after {
  content: "";
  display: block;
  position: absolute;
  left: 39px;
  top: calc(50% + 20px);
  height: 100px;
  border: 1px dashed #e4e4e4;
}
.log-entrty-item .ico-bell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border-radius: 50%;
  border: 1px dashed #dbdad9;
  width: 40px;
  height: 40px;
  margin-right: 20px;
  flex-shrink: 0;
}
.log-entrty-item .ico-bell::after {
  content: "";
  width: 16px;
  height: 17px;
  background: url(/dfip/static/front/common/images/bss/icon-bell.png);
  vertical-align: top;
  display: inline-block;
  opacity: 0.4;
}
.log-entrty-item .cont {
  flex-grow: 1;
  min-width: 0;
  padding-right: 10px;
}
.log-entrty-item .cont .datetime {
  color: #707070;
  font-size: 15px;
}
.log-entrty-item .cont .deliver-message {
  color: #8e8e8e;
  line-height: 1.45;
  font-size: 17px;
}
.log-entrty-item .cont .com-files-list {
  margin-top: 5px;
}
.log-entrty-item .detail-view {
  flex-shrink: 0;
  display: inline-flex;
  padding: 0 15px;
  height: 32px;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 15px;
}
.log-entrty-item .detail-view + .detail-view {
  margin-left: 5px;
}
@media (max-width: 1024px) {
  .log-entrty-item {
    padding: 14px;
    flex-direction: column;
    gap: 10px 0;
  }
  .log-entrty-item::after {
    display: none;
  }
  .log-entrty-item .ico-bell {
    display: none;
  }
  .log-entrty-item .cont .datetime {
    font-size: 12px;
  }
  .log-entrty-item .cont .deliver-message {
    font-size: 13px;
  }
  .log-entrty-item .detail-view {
    height: 28px;
    font-size: 12px;
  }
}
.log-entrty-item.status-warning {
  border-color: #f6a523;
  background-color: #fff7ea;
}
.log-entrty-item.status-warning .detail-view {
  color: #f15b00;
  border-color: #f19400;
}
.log-entrty-item.status-danger {
  border-color: #ed7031;
  background-color: #fef8f4;
}
.log-entrty-item.status-danger .detail-view {
  color: #ed7031;
  border-color: #ed7031;
}
.log-entrty-item.status-success {
  border-color: #2da34f;
  background-color: #edfaf1;
}

.log-entrty-item.status-success .detail-view {
  color: #2da34f;
  border-color: #2da34f;
}

.log-entrty-control {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  gap: 0 10px;
}
.log-entrty-control .cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-color);
  font-size: var(--badge-font-size);
  border-radius: var(--border-radius-sm);
  padding: 10px 23px;
  line-height: 1;
  background-color: #fbfbfb;
  color: #555;
  border: 1px solid #c6c6c6;
}
.log-entrty-control .more {
  background: url(/dfip/static/front/common/images/bss/icon-more.png) no-repeat 0 50%;
  line-height: 1;
  padding-left: 23px;
}
.log-entrty-control .more span {
  color: #555555;
  font-size: 15px;
  border-bottom: 2px solid #b6b6b6;
}
@media (max-width: 1024px) {
  .log-entrty-control .more {
    background-size: auto 13px;
    padding-left: 17px;
  }
  .log-entrty-control .more span {
    font-size: 13px;
  }
}

.log-step-view {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 45px;
  position: relative;
  margin-top: 30px;
  height: 92px;
}
.log-step-view::after, .log-step-view::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  margin-top: -1px;
}
@media (max-width: 1024px) {
  .log-step-view {
    margin: 25px 13px 0;
  }
}
.log-step-view::before {
  background-color: #e4e4e4;
  width: 100%;
}
.log-step-view::after {
  background-color: #2da34f;
}
.log-step-view.current-1::after {
  width: 0;
}
.log-step-view.current-2::after {
  width: 20%;
}
.log-step-view.current-3::after {
  width: 40%;
}
.log-step-view.current-4::after {
  width: 60%;
}
.log-step-view.current-5::after {
  width: 80%;
}
.log-step-view.current-6::after {
  width: 100%;
}
.log-step-view .step-item {
  position: absolute;
  top: 0;
  z-index: 2;
}
.log-step-view .step-item:nth-child(1) {
  left: 0;
  transform: translateX(-50%);
}
.log-step-view .step-item:nth-child(2) {
  left: 20%;
  transform: translateX(-50%);
}
.log-step-view .step-item:nth-child(3) {
  left: 40%;
  transform: translateX(-50%);
}
.log-step-view .step-item:nth-child(4) {
  left: 60%;
  transform: translateX(-50%);
}
.log-step-view .step-item:nth-child(5) {
  left: 80%;
  transform: translateX(-50%);
}
.log-step-view .step-item:nth-child(6) {
  right: 0;
  transform: translateX(50%);
}
.log-step-view .step-item.current .words {
  color: #1d1d1d;
}
.log-step-view .step-item.current h3 {
  font-weight: 700;
  color: #2da34f;
}
.log-step-view .step-item.current h3::after {
  background: url(/dfip/static/front/common/images/bss/icon-step-current.png);
  width: 30px;
  height: 30px;
  margin-top: -15px;
}
.log-step-view .step-item:has(~ .step-item.current) h3::after {
  background-color: #2da34f;
}
.log-step-view .step-item .words {
  font-weight: 400;
  font-size: 13px;
  white-space: nowrap;
  color: #8e8e8e;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 30px;
}
@media (max-width: 1024px) {
  .log-step-view .step-item .words {
    font-size: 9px;
  }
}
.log-step-view .step-item h3 {
  text-align: center;
  color: #555555;
  position: relative;
  font-weight: 400;
  font-size: 17px;
  padding-top: 47px;
}
.log-step-view .step-item h3::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  border-radius: 50%;
  background-color: #e4e4e4;
  width: 16px;
  height: 16px;
  transform: translateX(-50%) translateY(50%);
}
@media (max-width: 1024px) {
  .log-step-view .step-item h3 {
    font-size: 12px;
    padding-top: 30px;
  }
}

/* 목록 */
.gall-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 20px 30px;
}
@media (max-width: 1024px) {
  .gall-list {
    grid-gap: 15px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 400px) {
  .gall-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.gall-list li > a {
  display: block;
  border: 1px solid #ddd;
  border-radius: 15px;
  padding: 7px 7px 15px 7px;
}
.gall-list li > a .thumb {
  position: relative;
  background-color: #f8f8f8;
  overflow: hidden;
  height: 122px;
  border-radius: 10px 10px 0 0;
  mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
}
.gall-list li > a .thumb img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.gall-list li > a .badge {
  background-color: #fff;
  border: 0;
  border-radius: 20px;
  color: #555;
  font-size: 15px;
  position: absolute;
  left: 25px;
  top: 25px;
}
@media (max-width: 1024px) {
  .gall-list li > a .badge {
    left: 15px;
    top: 15px;
    font-size: 12px;
  }
}
.gall-list li > a .group {
  padding: 5px 20px 0;
}
@media (max-width: 1024px) {
  .gall-list li > a .group {
    padding: 5px 10px 0;
  }
}
.gall-list li > a .subject {
  color: #000;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .gall-list li > a .subject {
    font-size: 16px;
  }
}
.gall-list li > a .desc {
  color: #717171;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 15px;
  height: 56px;
  margin: 10px 0 20px;
}
@media (max-width: 1024px) {
  .gall-list li > a .desc {
    font-size: 12px;
    height: 46px;
    margin: 5px 0 10px;
  }
}
.gall-list li > a .tag-group {
  color: #8e8e8e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .gall-list li > a .tag-group {
    font-size: 12px;
  }
}

/* 나중에 컴포넌트로 옮길 예정 */
.is-close {
  display: none;
}

.u {
  display: none;
  position: absolute;
  background-color: #fff;
  top: 0;
  z-index: 10001;
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
.u.active {
  display: block;
  right: 100%;
}
.u-hgroup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  padding: 0 15px;
  border-bottom: 1px solid #e4e4e4;
}
.u-hgroup strong {
  color: #000;
  font-size: 21px;
}
.u-hgroup .close {
  background: url(/dfip/static/front/common/images/bss/u-close.png) no-repeat 50% 50%;
  width: 20px;
  height: 20px;
}
.u-body {
  padding: 15px;
}

.m-list {
  border-top: 1px solid #000;
  max-height: 390px;
  overflow-y: auto;
  border-bottom: 1px solid #c6c6c6;
}
.m-list > li {
  white-space: nowrap;
  display: flex;
  gap: 0 40px;
  padding: 30px 20px;
  font-size: 17px;
  color: #555555;
}
.m-list > li div {
  white-space: initial;
}
.m-list > li:not(:first-child) {
  border-top: 1px solid #c6c6c6;
}
.m-list > li b {
  color: #1d1d1d;
  font-size: 19px;
}
.m-list > li:nth-child(odd) {
  background-color: #f8f8f8;
}
.m-list > li.empty {
  width: 100%;
  text-align: center;
}

.list-empty {
  padding: 25px 15px;
  border-radius: 10px;
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  font-size: 15px;
  width: 100%;
  text-align: center;
  color: #888;
}
@media (max-width: 1024px) {
  .list-empty {
    font-size: 12px;
  }
}

/* 이제 그만 추가해줘.. */
.content-hgroup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid var(--brand-color);
  border-radius: 10px;
  padding: 30px 40px;
  margin-bottom: 20px;
  box-shadow: 0 4px 0px rgba(142, 142, 142, 0.1);
}
.content-hgroup .subject {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
.content-hgroup .subject em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f0f0;
  background-color: #f7faf8;
  border-radius: 17px;
  font-style: normal;
  color: #8e8e8e;
  font-weight: 400;
  font-size: 15px;
  padding: 7px 15px;
}
.content-hgroup strong {
  color: var(--brand-color);
  font-weight: 700;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .content-hgroup {
    padding: 20px;
    margin-bottom: 15px;
  }
  .content-hgroup strong {
    font-size: 17px;
  }
}
@media (max-width: 768px) {
  .content-hgroup {
    flex-direction: column;
    gap: 5px 0;
  }
  .content-hgroup strong {
    font-size: 15px;
  }
}

.in-charge {
  display: flex;
  align-items: center;
  gap: 0 15px;
}
@media (max-width: 768px) {
  .in-charge {
    flex-direction: column;
    gap: 5px 0;
    align-items: center;
    justify-content: center;
  }
}
.in-charge .team-name {
  border: 1px solid #f0f0f0;
  background-color: #f7faf8;
  padding: 7px 15px;
  border-radius: 20px;
  color: #555555;
  font-size: 15px;
}
.in-charge .team-name em {
  font-style: normal;
  color: #135834;
}
@media (max-width: 1024px) {
  .in-charge .team-name {
    padding: 4px 10px;
    font-size: 12px;
  }
}
.in-charge .team-info {
  color: #555;
  font-size: 15px;
}
.in-charge .team-info em {
  font-style: normal;
}
@media (max-width: 1024px) {
  .in-charge .team-info {
    font-size: 12px;
  }
}

.avacheck {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #c6c6c6;
  background-color: #f7faf8;
  border-radius: 10px;
  padding: 60px 0;
  font-size: 19px;
  gap: 0 15px;
}
.avacheck b {
  font-weight: 700;
}
.avacheck .btn {
  background-color: var(--brand-color);
  color: #fff;
  border-radius: 25px;
}
@media (max-width: 1024px) {
  .avacheck .btn {
    font-size: 11px;
    padding: 2px 15px;
  }
}
@media (max-width: 1024px) {
  .avacheck {
    font-size: 12px;
    padding: 30px;
  }
}

.bsn-info {
  display: flex;
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  padding: 50px 40px;
  gap: 0 70px;
}
@media (max-width: 1425px) {
  .bsn-info {
    flex-direction: column;
    padding: 25px;
  }
}
.bsn-info .subject {
  color: #1d1d1d;
  line-height: 1;
  font-weight: 700;
  font-size: 21px;
}
@media (max-width: 1024px) {
  .bsn-info .subject {
    font-size: 14px;
  }
}
.bsn-info .simple-explan {
  width: 300px;
}
.bsn-info .simple-explan .subject {
  border-bottom: 1px solid #ddd;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
@media (max-width: 1425px) {
  .bsn-info .simple-explan .subject {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 10px;
  }
}
.bsn-info .simple-explan .desc {
  color: #1d1d1d;
  font-size: 17px;
}
@media (max-width: 1024px) {
  .bsn-info .simple-explan .desc {
    font-size: 12px;
  }
}
@media (max-width: 1425px) {
  .bsn-info .simple-explan {
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;
  }
}
.bsn-info .detail-explan {
  flex: 1;
}
.bsn-info .detail-explan .group + .group {
  margin-top: 45px;
}
.bsn-info .detail-explan .desc {
  color: #555;
  font-size: 17px;
  margin-top: 10px;
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .desc {
    margin-top: 5px;
    font-size: 12px;
  }
}
.bsn-info .detail-explan .link-jump {
  display: inline-block;
  color: #24843f;
  border: 1px solid var(--brand-color);
  border-radius: 20px;
  font-size: 15px;
  padding: 7px 15px;
  line-height: 1;
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .link-jump {
    font-size: 12px;
  }
}
.bsn-info .detail-explan .desc-step {
  display: grid;
  align-items: center;
  margin-top: 15px;
  grid-gap: 0 28px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .desc-step {
    grid-gap: 14px;
  }
}
@media (max-width: 768px) {
  .bsn-info .detail-explan .desc-step {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 400px) {
  .bsn-info .detail-explan .desc-step {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.bsn-info .detail-explan .desc-step > div {
  border: 4px solid var(--brand-color);
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
.bsn-info .detail-explan .desc-step > div:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0%;
  top: 50%;
  transform: translateY(-50%) translateX(300%);
  display: inline-block;
  width: 6px;
  height: 10px;
  background: url(/dfip/static/front/common/images/bss/breadcrumb-arw.png) no-repeat 0 0;
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .desc-step > div:not(:last-child)::after {
    transform: translateY(-50%) translateX(220%);
  }
}
.bsn-info .detail-explan .desc-step > div strong {
  color: #24843f !important;
  font-size: 19px;
  display: block;
  margin-bottom: 5px;
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .desc-step > div strong {
    font-size: 13px;
  }
}
.bsn-info .detail-explan .desc-step > div div {
  text-align: center;
  color: #555;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .bsn-info .detail-explan .desc-step > div div {
    font-size: 11px;
  }
}

.icon-warning {
  margin: 0 auto;
  width: 40px;
  height: 40px;
  background: url(/dfip/static/front/common/images/bss/!.png) no-repeat 0 0;
}

.alert-warning .text {
  margin-top: 20px;
  background-color: #f7faf8;
  border: 1px solid #f0f0f0;
  text-align: center;
  padding: 20px;
}

body:has(.conver-guide) .lay-container-header {
  display: none;
}

.conver-guide-top {
  background: #bddeff url(/dfip/static/front/common/images/bss/conver/bg.png) no-repeat 50% 50%;
  height: 720px;
}
@media (max-width: 1024px) {
  .conver-guide-top {
    height: 400px;
    background-size: cover;
  }
}
.conver-guide-top .date {
  max-width: 1200px;
  margin: 0 auto;
  text-align: right;
  padding-top: 40px;
}
.conver-guide-top .date span {
  font-weight: 900;
  font-size: 19px;
  color: #ed691b;
}
@media (max-width: 1024px) {
  .conver-guide-top .date {
    padding-top: 20px;
  }
  .conver-guide-top .date span {
    font-size: 14px;
  }
}
.conver-guide-top .title {
  margin: 0;
  text-align: center;
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .conver-guide-top .title {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.conver-guide-content {
  padding-top: 40px;
}
.conver-guide-content section {
  background-color: #e7eef2;
  border-radius: 10px;
  padding: 45px 80px;
}
@media (max-width: 1024px) {
  .conver-guide-content section {
    padding: 25px;
  }
}
.conver-guide-content section + section {
  margin-top: 40px;
}
.conver-guide-content section h3 {
  margin: 0;
  background: url(/dfip/static/front/common/images/bss/conver/dot.png) no-repeat 0 50%;
  color: var(--brand-color);
  font-size: 21px;
  padding-left: 22px;
}
@media (max-width: 1024px) {
  .conver-guide-content section h3 {
    font-size: 15px;
    padding-left: 15px;
    background-size: 8px auto;
  }
}
.conver-guide-content section .image {
  padding: 40px 0;
}
@media (max-width: 1024px) {
  .conver-guide-content section .image {
    padding: 25px 0;
  }
}
.conver-guide-content section .link {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 202px;
  height: 56px;
  color: #fff;
  border-radius: 5px;
  font-size: 19px;
  background-color: var(--brand-color);
}
@media (max-width: 1024px) {
  .conver-guide-content section .link {
    font-size: 14px;
    height: 48px;
  }
}
.conver-guide .hgroup {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.conver-guide .hgroup h2 {
  color: #000;
  font-size: 32px;
  padding-bottom: 10px;
}
@media (max-width: 1024px) {
  .conver-guide .hgroup h2 {
    font-size: 22px;
  }
}
.conver-guide .hgroup a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-color);
  border: 1px solid var(--brand-color);
  border-radius: 20px;
  height: 40px;
  padding: 0 65px;
}
@media (max-width: 1024px) {
  .conver-guide .hgroup a {
    font-size: 13px;
    padding: 0 30px;
    height: 35px;
  }
}
.conver-guide .hgroup p {
  color: #717171;
  line-height: 1.4;
  text-align: center;
  font-size: 17px;
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .conver-guide .hgroup p {
    font-size: 12px;
  }
}

.manager-container {
  position: relative;
}

.input-subject-group {
  display: flex;
  align-items: center;
  gap: 0 10px;
  padding-bottom: 10px;
}
.input-subject-group strong {
  color: #000;
  font-size: var(--font-size-body);
}

.view-sample {
  display: inline-flex;
  align-items: center;
  border-radius: 20px;
  background: var(--brand-color);
  color: #fff;
  padding: 3px 17px;
  font-size: var(--font-size-body);
}

#bizIntro {
  margin-top: 40px;
}

body:has(.office-share) .main-content {
  padding-top: 0;
}

.rlist {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
.rlist li {
  position: relative;
  font-size: var(--font-size-body);
  padding-left: 15px;
  color: #555555;
  display: flex;
  align-items: center;
  line-height: 1;
}
.rlist li::after {
  content: "";
  border-radius: 50%;
  width: 2px;
  height: 2px;
  background-color: #555555;
  position: absolute;
  left: 0;
  top: 7px;
}

.office-share-top {
  background: url(/dfip/static/front/common/images/bss/support/bg.png) no-repeat 50% 50%/cover;
  padding: 60px 0 40px;
}
.office-share-top h3 {
  text-align: center;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  padding-bottom: 35px;
}

.office-zone-radio {
  display: flex;
  gap: 0 20px;
  padding-top: 30px;
  justify-content: space-between;
  align-items: end;
}
.office-zone-radio > div.line {
  width: 1px;
  height: 100%;
  background-color: #e4e4e4;
}
.office-zone-radio > div label input {
  width: 1px;
  height: 1px;
  opacity: 0.1;
  overflow: hidden;
  position: absolute;
}
.office-zone-radio > div label:has(input:checked) .img {
  background-color: #f4faf6;
}
.office-zone-radio > div label:has(input:checked) .img::after {
  opacity: 1;
  visibility: visible;
}
.office-zone-radio > div label:has(input:checked) .zone-name {
  color: var(--brand-color);
}
.office-zone-radio > div .img {
  padding: 10px;
  background-color: #f7f7f7;
  position: relative;
}
.office-zone-radio > div .img::after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: url(/dfip/static/front/common/images/bss/support/radio-check.png);
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s;
}
.office-zone-radio > div .zone-name {
  text-align: center;
  font-size: var(--font-size-body);
  font-weight: 700;
  padding-top: 8px;
}

.office-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px 0;
}
@media (max-width: 1024px) {
  .office-card {
    gap: 10px 0;
  }
}
.office-card .subject {
  background-color: var(--brand-color);
  border-radius: 30px;
  color: #fff;
  font-weight: 700;
  font-size: 25px;
  padding: 9px 68px 9px 48px;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.office-card .subject i {
  display: inline-block;
  width: 14px;
  height: 11px;
  background: url(/dfip/static/front/common/images/bss/support/check-white.png);
}
@media (max-width: 1425px) {
  .office-card .subject {
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .office-card .subject {
    font-size: 16px;
  }
}
.office-card .addr {
  font-size: var(--font-size-body);
}
.office-card .open-addr {
  display: inline-flex;
  align-items: center;
  gap: 0 5px;
  color: var(--brand-color);
}
.office-card .open-addr i {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 22px;
  background: url(/dfip/static/front/common/images/bss/support/loca.png);
}
@media (max-width: 1024px) {
  .office-card .open-addr {
    font-size: 12px;
  }
  .office-card .open-addr i {
    width: 12px;
    height: 16px;
    background-size: 100% auto;
  }
}

.detail-card {
  border: 1px solid #d8d8d8;
  background-color: #fff;
  position: relative;
  border-radius: 15px;
  padding: 25px 30px;
}
.detail-card.nodata {
  background-color: #fbfbfb;
  border-style: dashed;
  border-width: 2px;
  background-image: url(/dfip/static/front/common/images/bss/support/nodata.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
@media (max-width: 768px) {
  .detail-card.nodata {
    padding: 60px 0;
  }
}
.detail-card .price-type {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #8e8e8e;
  font-size: 11px;
}
.detail-card .hgroup {
  display: flex;
  justify-content: center;
  position: relative;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 15px;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
  .detail-card .hgroup {
    margin-bottom: 20px;
  }
}
.detail-card .hgroup strong {
  text-align: center;
  display: block;
  margin-bottom: 4px;
  color: #000;
  font-size: 19px;
}
@media (max-width: 768px) {
  .detail-card .hgroup strong {
    font-size: 15px;
  }
}
.detail-card .hgroup .badge {
  background-color: #333;
  font-weight: 400;
  border: 0;
  font-size: 13px;
  border-radius: 20px;
  height: 24px;
  padding: 0 12px;
  position: absolute;
  right: 0;
  top: 0;
}
.detail-card .btn {
  margin-top: 35px;
  width: 100%;
}
@media (max-width: 768px) {
  .detail-card .btn {
    margin-top: 20px;
  }
}

.office-share-app {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  margin-bottom: 30px;
}
@media (max-width: 1024px) {
  .office-share-app {
    flex-direction: column;
    gap: 20px 0;
  }
}
.office-share-app .child {
  display: flex;
  flex-direction: column;
  gap: 25px 0;
  width: calc(50% - 15px);
}
@media (max-width: 1024px) {
  .office-share-app .child {
    width: 100%;
  }
}
.office-share-app .child .reserve {
  display: flex;
  flex-direction: column;
  gap: 25px 0;
}
.office-share-app .border-box {
  border: 1px solid #d8d8d8;
  border-radius: 15px;
  padding: 30px 35px;
}
.office-share-app .border-box:has(.hope-calendar) {
  background-color: #f8faf9;
}
@media (max-width: 1024px) {
  .office-share-app .border-box {
    padding: 16px;
  }
}
.office-share-app .border-box-title {
  line-height: 1;
  font-weight: 700;
  font-size: 21px;
  margin-bottom: 20px;
}
.office-share-app .border-box-title.req::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ed7031;
  margin-left: 10px;
}
@media (max-width: 1024px) {
  .office-share-app .border-box-title {
    margin-bottom: 10px;
    font-size: 15px;
  }
}

.office-info {
  border-color: #2da34f !important;
}
.office-info .hgroup {
  display: flex;
  align-items: center;
  gap: 0 15px;
}
.office-info .hgroup h3 {
  color: #000;
  background: url(/dfip/static/front/common/images/bss/support/check.png) no-repeat 0 50%;
  padding-left: 28px;
  font-size: 21px;
}
@media (max-width: 1024px) {
  .office-info .hgroup h3 {
    background-size: 10px auto;
    padding-left: 15px;
    font-size: 15px;
  }
}
.office-info .hgroup .link-blank {
  color: #555;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-size: var(--font-size-body);
  padding: 8px 15px;
  line-height: 1;
}
@media (max-width: 1024px) {
  .office-info .hgroup .link-blank {
    padding: 5px 12px;
    font-size: 12px;
  }
}
.office-info .photo-slide {
  position: relative;
  margin-top: 15px;
}
.office-info .photo-slide img {
  width: 100%;
}
.office-info .photo-slide .splide__slide {
  overflow: hidden;
  border-radius: 10px;
}
.office-info .photo-slide .splide__arrows {
  position: absolute;
  bottom: 15px;
  right: 15px;
  display: flex;
  align-items: center;
  z-index: 2;
  gap: 0 8px;
}
.office-info .photo-slide .splide__arrows .splide__arrow {
  position: static;
  border-radius: 50%;
  background-color: #fff;
  height: 40px;
  width: 40px;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  transform: translateY(0);
}
.office-info .photo-slide .splide__arrows .splide__arrow.splide__arrow--next {
  transform: translateY(0) rotate(180deg);
}
.office-info .photo-slide .splide__arrows .splide__arrow::after {
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/support/arw.png) no-repeat 50% 50%;
}
@media (max-width: 1024px) {
  .office-info .photo-slide .splide__arrows .splide__arrow {
    width: 30px;
    height: 30px;
  }
  .office-info .photo-slide .splide__arrows .splide__arrow::after {
    background-size: 6px auto;
    width: 6px;
  }
}
.office-info .photo-slide .play-pause {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #fff url(/dfip/static/front/common/images/bss/support/pause.png) no-repeat 50% 50%;
  font-size: 0;
}
@media (max-width: 1024px) {
  .office-info .photo-slide .play-pause {
    width: 30px;
    height: 30px;
    background-size: 8px auto;
  }
}
.office-info .photo-slide .slide__indicator {
  display: flex;
  align-items: center;
  gap: 0 4px;
  background-color: #fff;
  border-radius: 20px;
  padding: 0 20px;
  height: 40px;
}
.office-info .photo-slide .slide__indicator #current-slide {
  color: #135834;
}
@media (max-width: 1024px) {
  .office-info .photo-slide .slide__indicator {
    height: 30px;
    padding: 0 10px;
  }
}

.office-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 15px;
  margin-top: 40px;
}
.office-detail dl {
  display: flex;
  font-size: 17px;
}
.office-detail dl.full {
  grid-column: span 2;
}
.office-detail dl dt {
  position: relative;
  flex: 0 0 85px;
  padding-left: 15px;
}
.office-detail dl dt::after {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 8px;
}
@media (max-width: 1024px) {
  .office-detail dl dt {
    flex: 0 0 65px;
    padding-left: 10px;
  }
}
.office-detail dl dd {
  color: #555555;
  flex-grow: 1;
  position: relative;
  padding-left: 14px;
}
.office-detail dl dd::before {
  content: ":";
  position: absolute;
  left: 0;
  top: 0;
}

.btn-load-view {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 22px;
  background: url(/dfip/static/front/common/images/bss/support/loca.png);
  font-size: 0;
}
@media (max-width: 1024px) {
  .btn-load-view {
    width: 12px;
    height: 16px;
    background-size: 100% auto;
  }
}

.office-usefile {
  border-radius: 10px;
  background-color: #f9f9fa;
  border: 1px solid #f0f0f0;
  padding: 23px;
  margin-top: 10px;
}
@media (max-width: 1024px) {
  .office-usefile {
    padding: 14px;
  }
}
.office-usefile a {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  color: #555;
  font-size: 15px;
  gap: 0 10px;
}
.office-usefile a:hover, .office-usefile a:focus {
  text-decoration: underline;
}
.office-usefile a i {
  display: inline-block;
  width: 12px;
  height: 14px;
  background: url(/dfip/static/front/common/images/bss/support/file.png) no-repeat 50% 50%;
}

.office-usetip {
  border-radius: 10px;
  background-color: #f9f9fa;
  border: 1px solid #f0f0f0;
  padding: 23px;
  margin-top: 40px;
}
@media (max-width: 1024px) {
  .office-usetip {
    padding: 14px;
  }
}
.office-usetip strong {
  background: url(/dfip/static/front/common/images/bss/support/!.png) 0 50% no-repeat;
  color: #555555;
  font-weight: 700;
  font-size: 15px;
  padding-left: 27px;
}
@media (max-width: 1024px) {
  .office-usetip strong {
    padding-left: 20px;
    font-size: 13px;
    background-size: auto 14px;
  }
}
.office-usetip p {
  color: #717171;
  margin-top: 10px;
  line-height: 1.4;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .office-usetip p {
    font-size: 11px;
  }
}
.office-usetip > div div {
  display: flex;
  align-items: baseline;
  font-size: 14px;
  color: #717171;
}
.office-usetip > div div + div {
  margin-top: 4px;
}
.office-usetip > div div span {
  display: inline-block;
  flex-shrink: 1;
  white-space: nowrap;
  color: #555555;
}

.time-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  flex-wrap: wrap;
}
.time-list button {
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  font-size: 15px;
  height: 30px;
}
.time-list button:disabled {
  border-color: #c6c6c6;
  background-color: #e4e4e4;
  color: #8e8e8e;
}
.time-list button.selected {
  border-color: var(--brand-color);
  color: var(--brand-color);
}
@media (max-width: 1024px) {
  .time-list button {
    font-size: 11px;
  }
}

.hope-calendar #calendar {
  margin-top: 0;
}
.hope-calendar #calendar .fc-toolbar .fc-toolbar-chunk {
  position: static;
}
.hope-calendar #calendar .fc-today-button {
  display: none;
}
.hope-calendar #calendar .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
  min-height: 0;
}
.hope-calendar #calendar .fc-toolbar {
  border-top: 0;
  position: static;
  border: 0;
}

.office-tab-auto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  grid-gap: 10px;
}
@media (max-width: 1024px) {
  .office-tab-auto {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .office-tab-auto {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.office-tab-auto button {
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  font-size: var(--font-size-body);
  height: 40px;
}
.office-tab-auto button.selected {
  border-color: var(--brand-color);
  color: var(--brand-color);
}

/* office lsit */
.office-list-container {
  background-color: #f8faf9;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  display: flex;
  align-items: flex-start;
  padding: 40px;
  gap: 0 40px;
}
@media (max-width: 1024px) {
  .office-list-container {
    flex-direction: column;
    gap: 15px;
    padding: 18px;
  }
}
.office-list-container .main-item {
  flex-shrink: 0;
  flex-basis: 320px;
}
@media (max-width: 1024px) {
  .office-list-container .main-item {
    flex-basis: 100%;
    width: 100%;
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 15px;
    padding: 16px;
  }
}
.office-list-container .main-item h3 {
  color: #000;
  font-size: 21px;
  background: url(/dfip/static/front/common/images/bss/support/check-black.png) no-repeat 0 50%;
  padding-left: 23px;
  margin-bottom: 15px;
}
.office-list-container .main-item .img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  border-radius: 15px;
  background: #ddd;
  position: relative;
}
.office-list-container .main-item .img img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.office-list-container .main-item p {
  font-size: var(--font-size-body);
  color: #555;
  margin-top: 15px;
}
@media (max-width: 1024px) {
  .office-list-container .main-item p {
    margin-top: 10px;
    text-align: center;
  }
}
.office-list-container .sub-item {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.office-list-container .sub-item h3{
	margin-bottom:10px;
}
@media (max-width: 1024px) {
  .office-list-container .sub-item {
    width: 100%;
  }
}
@media (max-width: 1425px) {
  .office-list-container .sub-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .office-list-container .sub-item {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.office-list-container .paging-area {
  grid-column: -1/1;
  display: flex;
  justify-content: center;
  padding-top: 20px;
}
.office-list-container .office-list-item.no-data {
  background: #fff url(/dfip/static/front/common/images/bss/support/nodata.png) no-repeat 50% 50%;
  border: 1px dashed #c6c6c6;
  border-radius: 15px;
}
.office-list-container .office-list-item > a {
  display: block;
  border: 1px solid #d8d8d8;
  background-color: #fff;
  transition: all 0.25s ease-in-out;
  border-radius: 15px;
  padding: 7px;
}
.office-list-container .office-list-item > a .office-list-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  border-radius: 15px;
  background: #ddd;
  position: relative;
}
.office-list-container .office-list-item > a .office-list-img img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  width: 100%;
  height: 100%;
  transition: all 5s ease-in-out;
}
.office-list-container .office-list-item > a .office-list-info {
  padding: 20px 10px;
}
.office-list-container .office-list-item > a .office-list-info h3 {
  font-weight: 400;
  color: #000;
  font-size: 19px;
  margin-bottom: 20px;
}
.office-list-container .office-list-item > a:hover, .office-list-container .office-list-item > a:focus {
  border-color: var(--brand-color);
  box-shadow: 0 0 11px rgba(33, 33, 33, 0.2);
  outline: none;
}
.office-list-container .office-list-item > a:hover .office-list-img img, .office-list-container .office-list-item > a:focus .office-list-img img {
  transform: translate(-50%, -50%) scale(1.2);
}

.text-check {
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  font-size: var(--font-size-body);
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  transition: all 0.25s ease-in-out;
}
.text-check input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.text-check:has(input:checked) {
  border-color: var(--brand-color);
  background-color: var(--brand-color);
  color: #fff;
}
.text-check:has(input:disabled) {
  pointer-events: none;
  background-color: #f9f9fa;
  color: #888;
}

.time-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .time-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .time-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.selected-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
}
.selected-day-head b {
  color: #000;
}
.selected-day-head > div {
  display: flex;
  gap: 0 5px;
  align-items: center;
}
.selected-day-head .btn-del {
  border: 0;
  background-color: var(--brand-color);
  width: 20px;
  height: 20px;
  margin-left: 5px;
}
.selected-day-head .btn-del::before {
  background-image: url(/dfip/static/front/common/images/bss/icon-del-white.png);
}

.office-share-app .border-areement .areement-select {
  display: block;
  margin-top: 15px;
}
.office-share-app .border-areement .areement-select p {
  margin-bottom: 10px;
}

.office-usetip > strong {
  display: inline-block;
  margin-bottom: 10px;
}

.office-usetip span {
  word-wrap: break-word;
  display: inline-block !important;
  width: 100%;
  white-space: normal !important;
}

/* office 2025.04.01 추가 */
.office-usetip.mt-0 {
  margin-top: 0 !important;
}

.office-image {
  border-radius: 15px;
  border: 1px solid #d8d8d8;
  padding: 40px;
}
@media (max-width: 1024px) {
  .office-image {
    padding: 16px;
  }
}
.office-image .img {
  overflow: hidden;
  border-radius: 8px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  padding-bottom: 56.25%;
}
.office-image p {
  text-align: center;
  color: #1d1d1d;
  font-size: 17px;
  padding-top: 20px;
}
@media (max-width: 768px) {
  .office-image p {
    font-size: 12px;
    padding-top: 10px;
  }
}

.office-share-app .border-box.color-1 {
  background-color: #f7faf8;
}
.office-share-app .border-box.color-2 {
  background-color: #fef8f4;
  border-color: #ed7031;
}

.office-rev-dates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.office-rev-dates span {
  display: inline-flex;
  vertical-align: top;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  color: #2da34f;
  font-size: 15px;
  height: 32px;
}
.office-rev-dates span:has(.del) {
  justify-content: space-between;
  padding: 0 10px;
}
.office-rev-dates span .del {
  width: 12px;
  height: 12px;
  background: url(/dfip/static/front/common/images/bss/support/del.png) no-repeat 50% 50%;
}
@media (max-width: 768px) {
  .office-rev-dates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .office-rev-dates span {
    font-size: 13px;
    height: 30px;
  }
}

.office-box-info {
  display: flex;
  background-color: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  padding: 30px 40px;
}
@media (max-width: 768px) {
  .office-box-info {
    padding: 15px;
    flex-direction: column;
  }
}
.office-box-info span {
  color: #000;
  font-size: 19px;
  display: inline-block;
}
@media (max-width: 768px) {
  .office-box-info span {
    font-size: 14px;
    padding-left: 10px;
    position: relative;
  }
  .office-box-info span::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 7px !important;
    transform: rotate(0deg) !important;
    width: 3px !important;
    height: 3px !important;
    background-color: #8e8e8e;
    border-radius: 50%;
  }
}
.office-box-info span em {
  font-style: normal;
  color: #555;
  font-size: 1em;
}
.office-box-info span + span {
  position: relative;
  margin-left: 15px;
  padding-left: 15px;
}
.office-box-info span + span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  transform: rotate(25deg);
  width: 2px;
  height: 15px;
  background-color: #8e8e8e;
}
@media (max-width: 768px) {
  .office-box-info span + span {
    margin-left: 0;
    padding-left: 10px;
  }
}

.office-state {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  border: 1px solid #2da34f;
  overflow: hidden;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .office-state {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.office-state .item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 80px;
  font-size: 19px;
}
.office-state .item .date {
  color: #fff;
  font-size: 11px;
}
@media (max-width: 768px) {
  .office-state .item {
    height: 50px;
    font-size: 14px;
  }
}
.office-state .item + .item {
  border-left: 1px solid #2da34f;
}
@media (max-width: 768px) {
  .office-state .item + .item {
    border-left: 0;
    border-top: 1px solid #2da34f;
  }
}
.office-state .item:has(.date) {
  color: #fff;
  position: relative;
}
.office-state .item:has(.date)::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 8px;
  top: 8px;
  width: 17px;
  height: 17px;
  background: url(/dfip/static/front/common/images/bss/support/check-sm.png) no-repeat;
}
.office-state .item:nth-child(1):has(.date) {
  background-color: #81c895;
}
.office-state .item:nth-child(2):has(.date) {
  background-color: #6cbf84;
}
.office-state .item:nth-child(3):has(.date) {
  background-color: #57b572;
}
.office-state .item:nth-child(4):has(.date) {
  background-color: #42ac61;
}
.office-state .item:nth-child(5):has(.date) {
  background-color: #2da34f;
}

.content-hgroup .sub-strong {
  font-size: 25px;
  color: #000;
}
@media (max-width: 1024px) {
  .content-hgroup .sub-strong {
    font-size: 17px;
  }
}
@media (max-width: 768px) {
  .content-hgroup .sub-strong {
    font-size: 15px;
  }
}

.text-view.mt-0 {
  margin-top: 0 !important;
}

.office-rev-inputs {
  display: flex;
  flex-wrap: wrap;
  font-size: 17px;
}
.office-rev-inputs .cs-input {
  width: 300px;
}
.office-rev-inputs span {
  color: #555555;
  font-size: 1em;
  padding-left: 10px;
}
.office-rev-inputs em {
  font-style: normal;
  color: #8e8e8e;
  font-size: 1em;
}
@media (max-width: 768px) {
  .office-rev-inputs {
    font-size: 13px;
    gap: 5px 0;
  }
  .office-rev-inputs .cs-input {
    width: 100%;
  }
  .office-rev-inputs span {
    padding-left: 0;
  }
  .office-rev-inputs em {
    padding-left: 5px;
  }
}

.mentoring {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
.mentoring .grid + .grid {
  margin-top: 24px;
}

.border-rows:has(.border-areement) .border-rows-content {
  margin: 0;
}

.mentoring .border-areement .text-view {
  background-color: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 20px;
}

.border-areement .text-view {
  margin-top: 15px;
  font-size: var(--font-size-body);
  max-height: 200px;
  overflow-y: auto;
  font-size: 14px;
}

.areement-select {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.areement-select p {
  color: #555;
  font-size: var(--font-size-body);
  margin-right: 30px;
}
.areement-select .cs-checkbox + .cs-checkbox {
  margin-left: 20px;
}
@media (max-width: 1024px) {
  .areement-select {
    display: block;
  }
  .areement-select p {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .areement-select .cs-checkbox + .cs-checkbox {
    margin-left: 10px;
  }
}

#lay-container:has(.startup-main) {
  padding-top: 0 !important;
}
#lay-container:has(.startup-main) .row,
#lay-container:has(.startup-main) .container {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.startup-main {
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .startup-main {
    margin-top: 50px;
    padding-bottom: 60px;
  }
}
.startup-main-full {
  background: url(/dfip/static/front/common/images/bss/support/startup-bg.png) no-repeat 50% 50%;
  background-size: cover;
  padding: 60px 20px 40px;
}
@media (max-width: 1024px) {
  .startup-main-full {
    padding-top: 40px;
  }
}
.startup-main-full h2 {
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 25px;
  padding-bottom: 40px;
}
.startup-main-full h2 br {
  display: none;
}
@media (max-width: 768px) {
  .startup-main-full h2 {
    font-size: 17px;
    padding-bottom: 20px;
  }
  .startup-main-full h2 br {
    display: block;
  }
}
.startup-main .startup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: var(--max-width);
  gap: 0 30px;
}
@media (max-width: 1024px) {
  .startup-main .startup-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 20px;
  }
}
.startup-main .startup-grid-item {
  border: 1px solid #d0d1d1;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .startup-main .startup-grid-item {
    padding: 20px;
  }
}
.startup-main .startup-grid-item .boxing {
  background-color: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 10px;
  padding: 32px 40px 50px;
}
@media (max-width: 1024px) {
  .startup-main .startup-grid-item .boxing {
    padding: 20px 20px 30px;
  }
}
.startup-main .startup-grid-item-hgroup {
  position: relative;
}
.startup-main .startup-grid-item-hgroup i {
  position: absolute;
  bottom: 1px;
  right: 20px;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.startup-main .startup-grid-item-hgroup i.v1 {
  background-image: url(/dfip/static/front/common/images/bss/support/icon-main-1.png);
  width: 76px;
  height: 78px;
}
.startup-main .startup-grid-item-hgroup i.v2 {
  background-image: url(/dfip/static/front/common/images/bss/support/icon-main-2.png);
  width: 71px;
  height: 71px;
}
.startup-main .startup-grid-item-hgroup strong {
  border-bottom: 1px solid #e4e4e4;
  display: flex;
  align-items: center;
  line-height: 1;
  height: 80px;
  font-weight: 700;
  color: #000;
  background: url(/dfip/static/front/common/images/bss/support/check.png) no-repeat 0 50%;
  font-size: 21px;
  padding-left: 20px;
}
@media (max-width: 1024px) {
  .startup-main .startup-grid-item-hgroup strong {
    font-size: 17px;
    height: 70px;
  }
}
.startup-main .startup-grid-item-text {
  color: #1d1d1d;
  line-height: 1.4;
  margin: 40px 0;
  font-size: 17px;
}
@media (max-width: 1024px) {
  .startup-main .startup-grid-item-text {
    font-size: 13px;
    margin: 20px 0 30px;
  }
  .startup-main .startup-grid-item-text br {
    display: none;
  }
}

.startup-sub-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 30px;
  margin: 0 auto;
  max-width: var(--max-width);
  padding-top: 40px;
}
@media (max-width: 1425px) {
  .startup-sub-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1024px) {
  .startup-sub-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 20px;
  }
}

.startup-sub-item {
  border: 1px solid #d8d8d8;
  background-color: #f7faf8;
  border-radius: 8px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .startup-sub-item {
    padding: 20px;
  }
}
.startup-sub-item-hgroup {
  line-height: 1;
  border-bottom: 1px solid #e4e4e4;
  color: #000;
  font-weight: 700;
  font-size: 21px;
  padding-bottom: 30px;
}
@media (max-width: 1024px) {
  .startup-sub-item-hgroup {
    font-size: 17px;
    padding-bottom: 20px;
  }
}
.startup-sub-item-text {
  color: #1d1d1d;
  line-height: 1.4;
  margin: 40px 0;
  font-size: 17px;
}
@media (max-width: 1024px) {
  .startup-sub-item-text {
    margin: 20px 0 30px;
    font-size: 14px;
  }
}

.card-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 30px;
}
@media (max-width: 1024px) {
  .card-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
  }
}
@media (max-width: 768px) {
  .card-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.card-list .card {
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  padding: 30px;
}
@media (max-width: 1024px) {
  .card-list .card {
    padding: 17px;
  }
}
.card-list .card .subject {
  margin: 28px 0 20px;
  height: 52px;
  font-size: 25px;
  line-height: 1.1;
}
@media (max-width: 1024px) {
  .card-list .card .subject {
    font-size: 16px;
    margin: 14px 0 10px;
    height: 34px;
  }
}
.card-list .card .desc-list dl {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.card-list .card .desc-list dl:not(:first-child) {
  margin-top: 5px;
}
.card-list .card .desc-list dl dt {
  flex-shrink: 0;
}
.card-list .card .desc-list dl dt .badge {
  width: 60px;
  padding: 0;
  font-size: 13px;
  height: 24px;
}
.card-list .card .desc-list dl dd {
  flex-grow: 1;
  font-size: var(--font-size-body);
  color: #717171;
}
.card-list .card .desc-list dl dd .badge-sm {
  font-size: 13px;
}

/* 상세 등록 */
.service-view .gate-info {
  display: flex;
  align-items: flex-start;
  gap: 0 2.8%;
  border-radius: var(--border-radius);
  border: 2px solid var(--brand-color);
  padding: 30px;
  margin-bottom: 20px;
}
@media (max-width: 1425px) {
  .service-view .gate-info {
    flex-direction: column;
  }
}
@media (max-width: 1024px) {
  .service-view .gate-info {
    padding: 17px;
  }
}
.service-view .gate-info .thumb {
  aspect-ratio: 1/1;
  flex-shrink: 0;
  flex-basis: 307px;
  background: #f8f8f8;
  overflow: hidden;
  border-radius: 10px;
}
.service-view .gate-info .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1425px) {
  .service-view .gate-info .thumb {
    flex-basis: 310px;
    margin: 0 auto;
  }
}
.service-view .gate-info .desc {
  position: relative;
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .service-view .gate-info .desc {
    width: 100%;
  }
}
.service-view .gate-info .desc .btn {
  position: absolute;
  right: 0;
  bottom: 0;
}
.service-view .gate-info .desc .subject {
  line-height: 1;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 20px;
  padding-top: 20px;
  margin-bottom: 30px;
}
.service-view .gate-info .desc .subject strong {
  font-weight: 400;
  color: #1d1d1d;
  line-height: 1.24;
  font-size: 25px;
}
@media (max-width: 1024px) {
  .service-view .gate-info .desc .subject {
    margin-bottom: 20px;
    padding: 18px 0;
  }
  .service-view .gate-info .desc .subject strong {
    font-size: 15px;
  }
}
.service-view .gate-info .desc .desc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 15px;
}
@media (max-width: 1024px) {
  .service-view .gate-info .desc .desc-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
  }
}
.service-view .gate-info .desc .desc-list dl {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.service-view .gate-info .desc .desc-list dl.g-full {
  grid-column: span 2;
}
@media (max-width: 1024px) {
  .service-view .gate-info .desc .desc-list dl.g-full {
    flex-direction: column;
    gap: 5px 0;
  }
}
.service-view .gate-info .desc .desc-list dl dt {
  flex-shrink: 0;
  align-self: baseline;
}
.service-view .gate-info .desc .desc-list dl dt .badge {
  width: 60px;
  padding: 0;
  height: 24px;
  font-size: 13px;
}
.service-view .gate-info .desc .desc-list dl dd {
  flex-grow: 1.3;
  color: #717171;
}
.service-view .border-rows-content .grid + .grid {
  margin-top: 35px;
}
@media (max-width: 1024px) {
  .service-view .border-rows-content .grid + .grid {
    margin-top: 20px;
  }
}

.service-list-calendar {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 0 30px;
}
.service-list-calendar .list {
  width: 60%;
}
.service-list-calendar .list .card-list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-gap: 15px 0;
}
.service-list-calendar .hope-calendar {
  width: calc(40% - 30px);
}
@media (max-width: 1024px) {
  .service-list-calendar {
    gap: 30px 0;
    flex-direction: column-reverse;
  }
  .service-list-calendar .list {
    width: 100%;
  }
  .service-list-calendar .hope-calendar {
    width: 100%;
  }
}

/* 달력 한계임 */
.hope-calendar {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
  position: relative;
}
.hope-calendar #calendar {
  display: flex;
  flex-direction: row;
  align-items: start;
}
.hope-calendar .fc .fc-toolbar {
  width: 180px;
  flex-shrink: 0;
  display: block;
}
.hope-calendar .fc .fc-toolbar-title {
  white-space: nowrap;
  font-size: 21px;
}
.hope-calendar .fc-button-group {
  margin-left: 0;
}
.hope-calendar .fc .fc-button-primary {
  background: none;
  border: 0;
  color: #000;
}
.hope-calendar .fc .fc-button-primary:hover {
  background: none;
  border: 0;
  color: #000;
}
.hope-calendar .fc td, .hope-calendar .fc th {
  padding: 1px;
}
.hope-calendar .unavailable {
  background-color: #999;
  color: white;
}
.hope-calendar .fc-daygrid-day.selected-date .fc-daygrid-day-number {
  background-color: #fff;
  color: #24843f;
  border: 1px solid var(--brand-color);
  border-radius: 50%;
}
.hope-calendar .fc-daygrid-day.selected-date .fc-daygrid-day-bg {
  display: none;
}
.hope-calendar .fc-theme-standard td, .hope-calendar .fc-theme-standard th {
  border: 0;
}
.hope-calendar .abled-date .fc-daygrid-day-number {
  border-radius: 50%;
  color: #fff;
  background-color: var(--brand-color);
}
.hope-calendar .fc .fc-day-disabled {
  background-color: #fff;
}
.hope-calendar .fc-theme-standard .fc-scrollgrid {
  border: 0;
}
.hope-calendar .fc-daygrid-event-harness {
  display: none;
}
.hope-calendar .fc-daygrid-day-events {
  display: none;
}
.hope-calendar .fc .fc-daygrid-day-top {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 0;
}
.hope-calendar .fc .fc-daygrid-day.fc-day-today {
  background: none;
}
.hope-calendar .fc .fc-daygrid-day-number {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.hope-calendar .fc .fc-day.custom-selected .fc-daygrid-day-number {
  color: #fff;
}
.hope-calendar .fc-day-sun .fc-daygrid-day-number,
.hope-calendar .fc-day-sat .fc-daygrid-day-number {
  color: #666;
}
.fc .fc-day-other .fc-daygrid-day-top{
  opacity: 1 !important;
}
.hope-calendar .fc .disabled-date .fc-daygrid-day-number {
  color: #666;
}
.hope-calendar .fc-button-group {
  margin-left: 0 !important;
}
.hope-calendar .legend {
  position: absolute;
  left: 30px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 14px 0;
}
@media (max-width: 1024px) {
  .hope-calendar .legend {
    gap: 7px 0;
    left: 15px;
    bottom: 15px;
  }
}
.hope-calendar .legend span {
  display: inline-flex;
  gap: 0 4px;
  align-items: center;
  font-size: var(--font-size-body);
  color: #555;
}
.hope-calendar .legend span::before {
  content: "";
  border-radius: 50%;
  width: 10px;
  height: 10px;
}
.hope-calendar .legend span:nth-child(1)::before {
  border: 1px solid var(--brand-color);
}
.hope-calendar .legend span:nth-child(2)::before {
  background: var(--brand-color);
}
.hope-calendar .legend span:nth-child(3)::before {
  background-color: #c6c6c6;
}
@media (max-width: 1024px) {
  .hope-calendar {
    padding: 15px;
  }
  .hope-calendar .fc .fc-toolbar {
    width: 100px;
  }
  .hope-calendar .fc .fc-toolbar-title {
    font-size: 16px;
    text-align: center;
  }
}

/* 고객지원 */
.lay-container:has(.igd-desk) {
  padding-top: 0 !important;
}
.lay-container:has(.igd-desk) > .container {
  max-width: 100% !important;
}

.igd-desk-top {
  background: url(/dfip/static/front/common/images/bss/customer/bg.png) no-repeat 50% 50%;
  background-size: cover;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 60px 0 40px;
}
.igd-desk-top h3 {
  text-align: center;
  color: #fff;
  font-size: 25px;
  padding-bottom: 40px;
}
.igd-desk-top h3 br {
  display: none;
}
@media (max-width: 768px) {
  .igd-desk-top h3 br {
    display: block;
  }
}
@media (max-width: 1024px) {
  .igd-desk {
    padding: 30px 0 20px;
  }
  .igd-desk h3 {
    font-size: 18px;
    padding-bottom: 20px;
  }
}
@media (max-width: 768px) {
  .igd-desk h3 {
    font-size: 16px;
  }
}

.igd-statics {
  display: flex;
  gap: 0 30px;
}
@media (max-width: 1024px) {
  .igd-statics {
    gap: 15px 0;
    flex-direction: column;
  }
}
.igd-statics .child-1,
.igd-statics .child-2 {
  background: rgba(247, 250, 248, 0.9);
  border: 1px solid rgba(216, 216, 216, 0.9);
  padding: 30px 20px;
  border-radius: 17px;
}

@media (max-width: 1024px) {
  .igd-statics .child-1,
  .igd-statics .child-2 {
    padding: 20px;
  }
}
.igd-statics .child-1 {
  width: 348px;
}
@media (max-width: 1024px) {
  .igd-statics .child-1 {
    width: 100%;
  }
}
.igd-statics .child-2 {
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .igd-statics .child-2 {
    width: 100%;
  }
}
.igd-statics .subject {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 20px;
  gap: 0 8px;
}
@media (max-width: 1024px) {
  .igd-statics .subject {
    padding-bottom: 10px;
  }
}
.igd-statics .subject strong {
  color: #000;
  font-size: 21px;
}
@media (max-width: 1024px) {
  .igd-statics .subject strong {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .igd-statics .subject strong {
    font-size: 14px;
  }
}
.igd-statics .subject i {
  display: inline-block;
  width: 14px;
  height: 11px;
  background: url(/dfip/static/front/common/images/bss/support/check.png);
}
.igd-statics .group {
  background-color: #fff;
  padding: 25px;
  border: 1px solid #d8d8d8;
  border-radius: 10px;
}
@media (max-width: 1024px) {
  .igd-statics .group {
    padding: 13px;
  }
}
.igd-statics .group .chart-zone {
  height: 280px;
  margin-bottom: 25px;
}
.igd-statics .complaint-content .icon {
  background-color: #f3f3f3;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .igd-statics .complaint-content .icon {
    width: 70px;
    height: 70px;
    background-color: #fff;
  }
}
.igd-statics .complaint-content .txt1 {
  font-family: var(--font-size-conetnt);
  color: #555555;
  text-align: center;
  margin-top: 18px;
}
@media (max-width: 768px) {
  .igd-statics .complaint-content .txt1 {
    margin-top: 5px;
    font-size: 14px;
  }
}
.igd-statics .complaint-content .txt2 {
  text-align: center;
  font-weight: 700;
  font-size: 21px;
  padding-top: 8px;
  line-height: 1.1;
}
@media (max-width: 768px) {
  .igd-statics .complaint-content .txt2 {
    font-size: 17px;
  }
}
@media (max-width: 400px) {
  .igd-statics .complaint-content .txt2 {
    font-size: 15px;
  }
}
.igd-statics .complaint-content .txt-box {
  text-align: center;
  margin-top: 20px;
  background-color: #f6f6f6;
  color: #1d1d1d;
  border-radius: 5px;
  font-size: var(--font-size-body);
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.igd-statics .complaint-content .txt-box dl {
  display: flex;
  flex-direction: column;
}
.igd-statics .complaint-content .txt-box dl dt {
  flex-shrink: 0;
  font-weight: 500;
  color: #555;
}
.igd-statics .complaint-content .txt-box dl dd {
  flex-grow: 1;
}
@media (max-width: 768px) {
  .igd-statics .complaint-content .txt-box {
    padding: 14px;
    font-size: 14px;
  }
  .igd-statics .complaint-content .txt-box dl {
    flex-direction: column;
  }
  .igd-statics .complaint-content .txt-box dl + dl {
    margin-top: 7px;
  }
}
.igd-statics .complaint-content.t1 .txt2 {
  color: #b48822;
}
.igd-statics .complaint-content.t1 .icon {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon1.png);
}
.igd-statics .complaint-content.t2 .txt2 {
  color: #5b67c8;
}
.igd-statics .complaint-content.t2 dl dt{color: #5b67c8;}

.igd-statics .complaint-content.t2 .icon {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon2.png);
}
.igd-statics .complaint-content.t3 .txt2 {
  color: #30767e;
}
.igd-statics .complaint-content.t3 dl dt{color: #30767e;}
.igd-statics .complaint-content.t3 .icon {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon3.png);
}
.igd-statics .complaint-content.t4 .icon {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon4.png);
}
.igd-statics .complaint-content.t4 .txt2{
  color: #e36954;
}

.igd-statics .link-zone {
  margin: 40px 45px 0;
}
@media (max-width: 768px) {
  .igd-statics .link-zone {
    margin: 20px 25px 0;
  }
}
.igd-statics .link-view {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-body);
  color: #000;
  border-radius: 35px;
  border: 1px solid #000;
  height: 40px;
  transition: all 0.3s;
}
.igd-statics .link-view:hover, .igd-statics .link-view:focus {
  background-color: #000;
  color: #fff;
}
.igd-statics .link-view:focus {
  outline: none;
  box-shadow: 0 0 5px #9ed4ff;
}
@media (max-width: 768px) {
  .igd-statics .link-view {
    font-size: 13px;
    height: 37px;
  }
}
.igd-statics .grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0 30px;
}
@media (max-width: 768px) {
  .igd-statics .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 15px 0;
    flex-direction: column;
  }
}

.idg-step-info {
  border-radius: 10px;
  background: #f2f2f2;
  padding: 40px;
  margin-top: 40px;
}
@media (max-width: 1024px) {
  .idg-step-info {
    padding: 20px;
    margin-top: 20px;
  }
}
.idg-step-info .column {
  display: flex;
}
@media (max-width: 1024px) {
  .idg-step-info .column {
    flex-direction: column;
    gap: 15px;
  }
}
.idg-step-info .column + .column {
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .idg-step-info .column + .column {
    margin-top: 15px;
  }
}
.idg-step-info .column strong {
  display: inline-flex;
  align-items: center;
  color: #000;
  gap: 0 8px;
  font-size: 21px;
  width: 166px;
}
@media (max-width: 1024px) {
  .idg-step-info .column strong {
    font-size: 16px;
    width: auto;
  }
}
@media (max-width: 768px) {
  .idg-step-info .column strong {
    font-size: 14px;
  }
}
.idg-step-info .column .item-group {
  border: 1px solid #ffffff;
  border-radius: 6px;
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 10px;
}
@media (max-width: 1024px) {
  .idg-step-info .column .item-group {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    flex-direction: column;
  }
}
.idg-step-info .column .item-group span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  color: #fff;
}
.idg-step-info .column .item-group span:nth-child(1) {
  z-index: 5;
}
.idg-step-info .column .item-group span:nth-child(2) {
  z-index: 4;
}
.idg-step-info .column .item-group span:nth-child(3) {
  z-index: 3;
}
.idg-step-info .column .item-group span:nth-child(4) {
  z-index: 2;
}
.idg-step-info .column .item-group span:nth-child(5) {
  z-index: 1;
}
.idg-step-info .column .item-group span:nth-child(1), .idg-step-info .column .item-group span:nth-child(2) {
  color: #000;
}
.idg-step-info .column .item-group span:not(:last-child) {
  position: relative;
}
.idg-step-info .column .item-group span:not(:last-child)::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  width: 0;
  height: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(100%);
}
.idg-step-info .column .g1 span:nth-child(1) {
  background-color: #d8d8d8;
}
.idg-step-info .column .g1 span:nth-child(2) {
  background-color: #c6c6c6;
}
.idg-step-info .column .g1 span:nth-child(3) {
  background-color: #8e8e8e;
}
.idg-step-info .column .g1 span:nth-child(4) {
  background-color: #717171;
}
.idg-step-info .column .g1 span:nth-child(5) {
  background-color: #555555;
}
.idg-step-info .column .g2 span:nth-child(1) {
  background-color: #97c5e4;
}
.idg-step-info .column .g2 span:nth-child(2) {
  background-color: #7db6dd;
}
.idg-step-info .column .g2 span:nth-child(3) {
  background-color: #5794bc;
}
.idg-step-info .column .g2 span:nth-child(4) {
  background-color: #338dc9;
}
.idg-step-info .column .g2 span:nth-child(5) {
  background-color: #0071bb;
}
.idg-step-info .column .g3 span:nth-child(1) {
  background-color: #81c895;
}
.idg-step-info .column .g3 span:nth-child(2) {
  background-color: #6cbf84;
}
.idg-step-info .column .g3 span:nth-child(3) {
  background-color: #4f9663;
}
.idg-step-info .column .g3 span:nth-child(4) {
  background-color: #4fa166;
}
.idg-step-info .column .g3 span:nth-child(5) {
  background-color: #2da34f;
}

/* 고충접수 */
.grievances-wrap .border-rows {
  margin-top: 20px;
}
.grievances-wrap .border-rows:first-child {
  margin-top: 0;
}
.grievances-wrap .border-rows-content {
  margin-top: 30px;
}
.grievances-wrap .border-rows-content .grid + .grid {
  margin-top: 20px;
}
.grievances-wrap .input-grid-full {
  margin-top: 0;
}
.grievances-wrap .input-container.h-auto {
  padding-top: 10px;
  padding-bottom: 10px;
}

.info-card-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 25px;
}
@media (max-width: 1024px) {
  .info-card-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 15px 0;
  }
}
.info-card-container .info-card {
  border-radius: 10px;
  border: 1px solid #81c895;
  background-color: #f0f8f2;
  padding: 25px 30px 0;
  height: 100px;
  line-height: 1;
  position: relative;
}
@media (max-width: 1024px) {
  .info-card-container .info-card {
    height: auto;
    padding: 25px 30px;
  }
}
.info-card-container .info-card-title {
  position: relative;
  color: #135834;
  padding-left: 10px;
  font-size: 17px;
  padding-bottom: 10px;
}
.info-card-container .info-card-title::after {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 2px;
  height: 2px;
  background: #2da34f;
}
@media (max-width: 1024px) {
  .info-card-container .info-card-title {
    font-size: 13px;
  }
}
.info-card-container .info-card-content {
  color: #717171;
  padding-left: 10px;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .info-card-container .info-card-content {
    font-size: 12px;
  }
}
.info-card-container .info-card .icon {
  position: absolute;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #fff;
  border-radius: 50%;
  right: 30px;
  top: 18px;
  width: 60px;
  height: 60px;
}
.info-card-container .info-card .icon.type1 {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon-eq-1.png);
}
.info-card-container .info-card .icon.type2 {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon-eq-2.png);
}
.info-card-container .info-card .icon.type3 {
  background-image: url(/dfip/static/front/common/images/bss/customer/icon-eq-3.png);
}
@media (max-width: 768px) {
  .info-card-container .info-card .icon {
    display: none;
  }
}

.application-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #333;
}
.application-steps {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.application-steps .step-card {
  flex: 1;
  min-width: 300px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
}
.application-steps .step-header {
  display: flex;
  align-items: center;
  margin: 0 30px;
  padding: 30px 0 10px;
  border-bottom: 1px solid #f0f0f0;
}
.application-steps .step-check {
  color: #135834;
  margin-right: 15px;
}
.application-steps .step-number {
  font-size: 0.9rem;
  font-weight: 500;
  margin-right: 15px;
  color: #555;
}
.application-steps .step-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #135834;
}
.application-steps .step-content {
  padding: 30px;
}
.application-steps .step-item {
  background-color: #f7faf8;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  text-align: center;
  color: #2d2d2d;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.application-steps .step-item:last-child {
  margin-top: 10px;
}
.application-steps .step-item.h-all {
  height: 100px;
  margin-top: 0;
}
.application-steps .step-item.h-all p {
  color: #717171;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .application-steps .step-item.h-all p {
    font-size: 12px;
  }
}

.text-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 40px;
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .text-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 20px;
  }
}
.text-grid .text-group-header {
  position: relative;
  margin-bottom: 10px;
}
.text-grid .text-group-header .btn-primary-outline {
  position: absolute;
  right: 0;
  top: -8px;
}
.text-grid .text-group-header strong {
  color: #000;
  font-weight: 400;
  font-size: 17px;
  display: block;
  line-height: 1;
}
@media (max-width: 1024px) {
  .text-grid .text-group-header strong {
    font-size: 14px;
  }
}
.text-grid .text-group .text-area {
  border: 1px solid #f0f0f0;
  background-color: #f3f4f5;
  color: #555;
  border-radius: 5px;
  padding: 12px 20px;
}
@media (max-width: 1024px) {
  .text-grid .text-group .text-area {
    padding: 8px 11px;
    font-size: 13px;
  }
}
.text-grid .text-group.full {
  grid-column: 1/-1;
}

.space-block {
  margin: 40px 0;
  text-align: right;
}
@media (max-width: 1024px) {
  .space-block {
    margin: 30px 0;
  }
}

.btn-primary-outline {
  display: inline-block;
  color: #23853f;
  background: transparent;
  transition: all 0.25s;
  border: 1px solid var(--brand-color);
  border-radius: 20px;
  font-size: 15px;
  padding: 5px 22px;
}
@media (max-width: 1024px) {
  .btn-primary-outline {
    font-size: 12px;
    padding: 3px 15px;
  }
}
.btn-primary-outline:hover, .btn-primary-outline:focus {
  color: #fff;
  background: var(--brand-color);
  border: 1px solid var(--brand-color);
}

.btn-primary-round {
  display: inline-block;
  color: #fff;
  border-radius: 5px;
  background: #23853f;
  transition: all 0.25s;
  border: 1px solid var(--brand-color);
  font-size: 19px;
  padding: 15px 30px;
}
@media (max-width: 1024px) {
  .btn-primary-round {
    font-size: 14px;
    padding: 12px 15px;
  }
}
.btn-primary-round:hover, .btn-primary-round:focus {
  background-color: #28a745; /* 기존 색상 유지 */
  opacity: 0.9; /* 투명도 약간 감소 */
}

.fusion-data-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 2px solid #2da34f;
  border-radius: 15px;
  padding: 30px 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.fusion-data-top h3 {
  color: var(--brand-color);
  font-size: 25px;
}
.fusion-data-top .btn-like {
  background-color: #333333;
  color: #fff;
  border-radius: 25px;
  font-size: 15px;
  line-height: 1;
  padding: 7px 23px;
  display: flex;
  align-items: center;
  gap: 0 12px;
}
.fusion-data-top .btn-like i {
  display: block;
  width: 20px;
  height: 20px;
  background: url(/dfip/static/front/common/images/bss/fusion/icon-like.png) no-repeat 0 0;
}
@media (max-width: 1024px) {
  .fusion-data-top {
    display: none;
  }
}

.fusion-data-tab {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  margin: 40px 0 30px;
  background-color: #eee;
  border-radius: 10px;
}
.fusion-data-tab button {
  background-color: #eee;
  color: #555;
  position: relative;
  font-size: 19px;
  height: 56px;
  border-radius: 10px;
}
.fusion-data-tab button:not(:first-child)::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -12px;
  height: 24px;
  width: 1px;
  background-color: #c6c6c6;
}
.fusion-data-tab button i {
  line-height: 1;
  margin-right: 14px;
}
.fusion-data-tab button.active {
  background-color: #333333;
  color: #fff;
}
@media (max-width: 1024px) {
  .fusion-data-tab {
    margin: 0 0 20px 0;
  }
  .fusion-data-tab button {
    font-size: 10px;
    height: 40px;
  }
}

.fusion-text-view {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f2f2f2;
  color: #555555;
  border-radius: 10px;
  padding: 30px 20px;
  font-size: 17px;
}
@media (max-width: 1425px) {
  .fusion-text-view {
    font-size: 15px;
    padding: 20px 15px;
  }
}
@media (max-width: 1024px) {
  .fusion-text-view {
    font-size: 13px;
    padding: 20px 12px;
    flex-direction: column;
    gap: 12px 0;
  }
  .fusion-text-view div {
    text-align: center;
  }
}
.fusion-text-view span {
  color: var(--brand-color);
}
.fusion-text-view .btn-st-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-color);
  border: 1px solid var(--brand-color);
  border-radius: 20px;
  background-color: #fff;
  padding: 9px 20px;
  gap: 0 10px;
  margin-left: 20px;
}
.fusion-text-view .btn-st-reset i {
  display: inline-block;
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/fusion/icon-reset.png) no-repeat 0 0;
  width: 20px;
  height: 20px;
}
@media (max-width: 1024px) {
  .fusion-text-view .btn-st-reset {
    padding: 4px 12px;
    gap: 0 5px;
    margin-left: 0;
    font-size: 13px;
  }
  .fusion-text-view .btn-st-reset i {
    width: 12px;
    height: 12px;
    background-size: 100% auto;
    background-position: 50% 50%;
  }
}

.fusion-lv1-btn {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin-top: 35px;
}
.fusion-lv1-btn button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8d8d8;
  color: #717171;
  border-radius: 8px;
  font-size: 17px;
  height: 48px;
  padding: 0 25px;
}
.fusion-lv1-btn button.active {
  color: #2da34f;
  border-color: #2da34f;
}
@media (max-width: 1024px) {
  .fusion-lv1-btn {
    justify-content: center;
    margin: 20px 0;
  }
  .fusion-lv1-btn button {
    height: 38px;
    padding: 0 15px;
    font-size: 13px;
  }
}

.fusion-lv2-group {
  position: relative;
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .fusion-lv2-group {
    padding-top: 0;
  }
}

.fusion-lv2-btn {
  display: flex;
  align-items: center;
  gap: 0 17px;
  padding-left: 15px;
}
.fusion-lv2-btn .line {
  width: 2px;
  height: 10px;
  background-color: #d6d6d6;
}
.fusion-lv2-btn button {
  color: #555;
  font-size: 16px;
}
.fusion-lv2-btn button.active {
  color: var(--brand-color);
}
.fusion-lv2-btn button.active span {
  text-decoration: underline;
}
@media (max-width: 1024px) {
  .fusion-lv2-btn {
    gap: 0 10px;
    padding-left: 10px;
  }
  .fusion-lv2-btn .line {
    width: 1px;
  }
  .fusion-lv2-btn button {
    font-size: 12px;
  }
}

.fusion-lv2-filter {
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(-100%);
  display: flex;
  align-items: center;
  gap: 0 15px;
}
@media (max-width: 1024px) {
  .fusion-lv2-filter {
    display: none;
  }
}

.other-filter {
  display: flex;
  align-items: center;
  gap: 0 20px;
  background-color: #f7faf8;
  border: 1px solid #f0f0f0;
  border-radius: 25px;
  height: 40px;
  padding: 0 20px;
}
.other-filter strong {
  font-weight: 400;
  color: var(--brand-color);
  font-size: 15px;
}
.other-filter .other-menu {
  display: flex;
}
.other-filter .other-menu .check-open::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 2px;
  height: 10px;
  background-color: #d4d5d4;
  margin-left: 15px;
}
.other-filter .other-menu button {
  color: #555;
  margin-left: 15px;
  font-size: 15px;
}

.fusion-half-point {
  margin: 30px 0;
  height: 1px;
  background-color: #000;
}
@media (max-width: 1024px) {
  .fusion-half-point {
    background-color: #fff;
    margin: 0;
    padding: 15px 0;
  }
}

.fusion-container + .fusion-container {
  margin-top: 30px;
}
.fusion-container .hgroup {
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .fusion-container .hgroup {
    margin-bottom: 15px;
  }
}
.fusion-container .hgroup h3 {
  text-align: center;
  color: #000000;
  line-height: 1;
  font-size: 25px;
}
.fusion-container .hgroup h3 small {
  color: #555555;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .fusion-container .hgroup h3 {
    font-size: 19px;
  }
}
@media (max-width: 768px) {
  .fusion-container .hgroup h3 {
    font-size: 14px;
  }
  .fusion-container .hgroup h3 small {
    font-size: 12px;
  }
}
.fusion-container .hgroup .collapse-toggle {
  position: absolute;
  right: 0;
  top: 0;
}
.fusion-container .hgroup .collapse-toggle.is-active .icon-toggle {
  transform: rotate(180deg);
}

.chart-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 10px 30px;
}
@media (max-width: 1425px) {
  .chart-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 15px;
  }
}
@media (max-width: 1024px) {
  .chart-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.chart-container-2 {
  display: flex;
  gap: 0 30px;
}
@media (max-width: 1024px) {
  .chart-container-2 {
    flex-direction: column;
    gap: 10px 0;
  }
}
.chart-container-2 .chart-set {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-gap: 10px 0;
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .chart-container-2 .chart-set {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
}

.chart-map {
  width: 66%;
}
@media (max-width: 1024px) {
  .chart-map {
    width: 100%;
  }
}
.chart-map .chart-item {
  height: 100%;
}

.chart-item {
  border-radius: 10px;
  border: 1px solid #c6c6c6;
  padding: 0 30px 20px;
}
@media (max-width: 1024px) {
  .chart-item {
    padding: 0 20px 20px;
  }
}

.chart-item-hgroup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e4e4e4;
  line-height: 1;
  margin-bottom: 20px;
}
.chart-item-hgroup strong {
  font-weight: 400;
  font-size: 19px;
  padding: 18px 0;
}
.chart-item-hgroup small {
  color: #555555;
  font-size: 13px;
}
@media (max-width: 1024px) {
  .chart-item-hgroup {
    margin-bottom: 15px;
  }
  .chart-item-hgroup strong {
    font-size: 14px;
    padding: 13px 0;
  }
  .chart-item-hgroup small {
    font-size: 11px;
  }
}
.rank-list {
  counter-reset: section;
}
.rank-list li {
  display: flex;
  align-items: center;
  padding: 5px 0;
  line-height: 1;
  font-size: 17px;
  color: #555555;
}
@media (max-width: 1024px) {
  .rank-list li {
    font-size: 13px;
  }
}
.rank-list li::before {
  content: counter(section);
  counter-increment: section;
  width: 24px;
}
@media (max-width: 1024px) {
  .rank-list li::before {
    width: 18px;
  }
}
.rank-list li .sbj {
  font-weight: 700;
  flex-grow: 1;
}
.rank-list li .price {
  color: #717171;
  font-size: 15px;
  width: 80px;
  text-align: right;
}
@media (max-width: 1024px) {
  .rank-list li .price {
    font-size: 12px;
  }
}
.rank-list li .percente {
  font-size: 15px;
  width: 65px;
  margin: 0 30px;
  text-align: center;
}
@media (max-width: 1024px) {
  .rank-list li .percente {
    font-size: 12px;
    margin: 0 15px;
    width: 50px;
  }
}
.rank-list li .arw {
  width: 10px;
  height: 5px;
}
.rank-list li.up .percente {
  color: #d22c2c;
}
.rank-list li.up .arw {
  background-color: #d22c2c;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}
.rank-list li.down .percente {
  color: #0086d9;
}
.rank-list li.down .arw {
  background-color: #0086d9;
  clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}

.map-zone {
  position: relative;
}
.map-zone .legend-layer {
  position: absolute;
  left: 10px;
  top: 20px;
  border: 1px solid #000;
  border-radius: 10px;
  background-color: #fff;
  z-index: 10;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.15);
}
.map-zone .legend-layer .legend-check,
.map-zone .legend-layer .hitmap,
.map-zone .legend-layer .step-class {
  padding: 15px;
  border-bottom: 1px solid #ddd;
}
@media (max-width: 1024px) {
  .map-zone .legend-layer .legend-check,
  .map-zone .legend-layer .hitmap,
  .map-zone .legend-layer .step-class {
    padding: 10px;
  }
}
.map-zone .legend-layer .legend-check strong,
.map-zone .legend-layer .hitmap strong,
.map-zone .legend-layer .step-class strong {
  display: block;
  font-weight: 400;
  font-size: 15px;
  margin-bottom: 8px;
}
@media (max-width: 1024px) {
  .map-zone .legend-layer .legend-check strong,
  .map-zone .legend-layer .hitmap strong,
  .map-zone .legend-layer .step-class strong {
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.map-zone .legend-layer .legend-check .label + .label {
  margin-top: 2px;
}
.map-zone .legend-layer .legend-check .label span {
  display: inline-flex;
  gap: 0 3px;
  align-items: center;
}
@media (max-width: 1024px) {
  .map-zone .legend-layer .legend-check .label span {
    font-size: 12px;
  }
}
.map-zone .legend-layer .legend-check .label span::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
}
@media (max-width: 1024px) {
  .map-zone .legend-layer .legend-check .label span::before {
    width: 10px;
    height: 8px;
  }
}
.map-zone .legend-layer .legend-check .label span.c1::before {
  background-color: #5589f2;
}
.map-zone .legend-layer .legend-check .label span.c2::before {
  background-color: #8ed0b1;
}
.map-zone .legend-layer .step-class {
  border-bottom: 0;
}

.stage-view {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.stage-view > span {
  display: flex;
  justify-content: center;
  background-color: #e6e6e6;
  padding: 17px 0;
  gap: 0 12px;
  font-size: 19px;
}
.stage-view > span:not(:first-child) {
  border-left: 1px solid #fff;
}
.stage-view > span i {
  display: none;
  width: 20px;
  height: 20px;
  background: url(/dfip/static/front/common/images/bss/stage-check.png);
}
.stage-view > span.active {
  background-color: #6cbf84;
  color: #fff;
}
.stage-view > span.active i {
  display: inline-block;
}

.mydata-stage-grid {
  display: flex;
  gap: 0 30px;
}
.mydata-stage-grid .box {
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  padding: 30px;
}
.mydata-stage-grid .box strong {
  display: block;
  font-weight: 400;
  font-size: 19px;
  margin-bottom: 10px;
}
.mydata-stage-grid .box strong small {
  color: #555555;
  font-size: 13px;
}
.mydata-stage-grid .box-1 {
  background-color: #f9f9fa;
  width: 24%;
}
.mydata-stage-grid .box-2 {
  width: 76%;
}
.mydata-stage-grid .inbox {
  display: flex;
  gap: 0 24px;
}
.mydata-stage-grid .inbox .-chart {
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  width: 76%;
}
.mydata-stage-grid .inbox .-table {
  width: 24%;
}

.mydata-list {
  overflow-y: auto;
  height: calc(100% - 60px - 40px);
  margin-bottom: 10px;
}
.mydata-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  line-height: 1;
  border: 1px solid #c6c6c6;
  border-radius: 6px;
  color: #555555;
  width: 100%;
  font-size: 15px;
  padding: 10px 17px;
}
.mydata-list li span {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mydata-list li:not(:first-child) {
  margin-top: 4px;
}

.mydata-chart-select li:not(:first-child) {
  margin-top: 4px;
}
.mydata-chart-select li button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  line-height: 1;
  border: 1px solid #c6c6c6;
  border-radius: 6px;
  color: #555555;
  width: 100%;
  font-size: 15px;
  padding: 10px 17px;
}
.mydata-chart-select li button.active {
  color: var(--brand-color);
  border-color: var(--brand-color);
  background: #fff url(/dfip/static/front/common/images/bss/fusion/check.png) no-repeat right 20px center;
}

.mydata-add-button button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border: 1px solid #555555;
  border-radius: 6px;
  color: #555555;
  font-size: 17px;
  height: 48px;
}

.mydata-stage-grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  padding: 25px 30px;
  grid-gap: 0 32px;
}
.mydata-stage-grid2 .box {
  display: flex;
  gap: 32px 0;
  flex-direction: column;
}
.mydata-stage-grid2 .lbl_group {
  border-radius: 5px;
  border: 1px solid #c6c6c6;
  padding: 0 20px;
  height: 36px;
}
.mydata-stage-grid2 .form-divider {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0 32px;
}
.mydata-stage-grid2 textarea.cs-input {
  height: 235px;
}

.mydata-add-field {
  background-color: #f6f6f6;
  padding: 20px;
  padding-top: 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #ddd;
}
.mydata-add-field strong {
  margin-bottom: 0;
}
.mydata-add-field .input-group {
  margin-top: 20px;
}

.realtive {
  position: relative;
}

.fusion-mng {
  background-color: #f7faf8;
  border: 1px solid #f0f0f0;
  padding: 15px 25px;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 35px;
}
@media (max-width: 1425px) {
  .fusion-mng {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px 0;
  }
}
@media (max-width: 1024px) {
  .fusion-mng {
    padding: 15px;
  }
}
.fusion-mng .fir {
  display: flex;
  gap: 0 20px;
  align-items: center;
}
.fusion-mng .fir strong {
  font-weight: 400;
  font-size: 17px;
}
.fusion-mng .fir .cs-input {
  width: 310px;
  height: 40px;
}
@media (max-width: 1024px) {
  .fusion-mng .fir {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 10px 0;
  }
  .fusion-mng .fir .cs-input {
    width: 100%;
  }
  .fusion-mng .fir strong {
    font-size: 13px;
  }
}
.fusion-mng .text {
  color: #8e8e8e;
  font-size: 13px;
}
@media (max-width: 1024px) {
  .fusion-mng .text {
    font-size: 11px;
  }
  .fusion-mng .text br {
    display: none;
  }
}
.fusion-mng .end {
  display: flex;
  gap: 0 10px;
}
.fusion-mng .end .cs-input {
  width: 250px;
  height: 40px;
}
.fusion-mng .end .btn {
  border: 1px solid #2da34f;
  background-color: #fff;
  height: 40px;
  border-radius: 4px;
  color: #2da34f;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .fusion-mng .end {
    width: 100%;
  }
  .fusion-mng .end .cs-input {
    flex-grow: 1;
  }
  .fusion-mng .end .btn {
    flex: 0 0 100px;
    font-size: 12px;
    padding: 0;
  }
}

.research-container {
  width: 100%;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
  overflow: hidden;
}
.research-container header {
  background: #48b3e6;
  color: #fff;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
}
.research-container .list {
  padding: 10px;
}
.research-container .item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px;
  margin: 5px 0;
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
}
.research-container .item span {
  font-weight: bold;
}
.research-container .small {
  background: #5566ff;
}
.research-container .medium {
  background: #3366cc;
}
.research-container .venture {
  background: #33cccc;
}
.research-container .mid-large {
  background: #00aa99;
}
.research-container .large {
  background: #66aa33;
}
.research-container footer {
  font-size: 12px;
  color: var(--danger-color);
  padding: 10px;
  border-top: 1px solid #eee;
}

.fusion-intro .step .border-rows {
  display: flex;
}
@media (max-width: 1425px) {
  .fusion-intro .step .border-rows {
    flex-direction: column;
    gap: 30px 0;
  }
}
.fusion-intro .step .arrow {
  background: url(/dfip/static/front/common/images/bss/fusion/shadow-arw.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 65px;
  height: 310px;
  align-self: center;
}
.fusion-intro .step .arrow.v2 {
  transform: translateX(-8px);
}
@media (max-width: 1425px) {
  .fusion-intro .step .arrow {
    background: url(/dfip/static/front/common/images/bss/fusion/shadow-arw-mobile.png) 50% 50% no-repeat;
    background-size: auto;
    width: 100%;
    height: 50px;
  }
}
.fusion-intro .step .child1 {
  background-color: #f7faf8;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 23px;
  width: 290px;
}
@media (max-width: 1425px) {
  .fusion-intro .step .child1 {
    width: 100%;
  }
}
.fusion-intro .step .child1 .black {
  color: #fff;
  background-color: #333333;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  font-weight: 700;
  font-size: 21px;
  height: 40px;
  margin-bottom: 20px;
}
.fusion-intro .step .child1 .list-round li strong {
  display: block;
  margin-bottom: 10px;
}
.fusion-intro .step .child1 .list-round li p {
  color: #717171;
  line-height: 1.2;
  font-size: 15px;
}
.fusion-intro .step .child1 .list-round li + li {
  margin-top: 20px;
}
.fusion-intro .step .child2 {
  align-self: center;
}
.fusion-intro .step .child3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 25px 0;
  width: 270px;
}
@media (max-width: 1024px) {
  .fusion-intro .step .child3 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 15px;
  }
}
.fusion-intro .step .child3 div {
  background-color: #f7faf8;
  border: 1px solid var(--brand-color);
  height: 100%;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fusion-intro .step .child3 div span {
  color: var(--brand-color);
  font-weight: 700;
  font-size: 19px;
}
@media (max-width: 1425px) {
  .fusion-intro .step .child3 div span {
    font-size: 15px;
  }
}
@media (max-width: 1024px) {
  .fusion-intro .step .child3 div {
    height: 100px;
  }
  .fusion-intro .step .child3 div span {
    font-size: 13px;
  }
}

/*
 버튼 구성
*/
.example {
  display: flex;
  flex-wrap: wrap;
  gap: 0 10px;
}

.btn-fn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  gap: 0 10px;
  border: 1px solid #000;
  border-radius: 5px;
  color: #000;
  height: 40px;
  font-size: 15px;
  padding: 0 18px;
}

.btn-comp-add {
  border-color: #2da34f;
  color: #2da34f;
}
.btn-comp-add i {
  display: inline-block;
  vertical-align: top;
  width: 16px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/fusion/btn-icon-1-active.png) no-repeat 50% 50%;
}

.btn-ex-view i {
  display: inline-block;
  vertical-align: top;
  width: 16px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/fusion/btn-icon-6.png) no-repeat 50% 50%;
}

.btn-temp-view i {
  display: inline-block;
  vertical-align: top;
  width: 16px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/fusion/btn-icon-7.png) no-repeat 50% 50%;
}

.btn-edit-end i {
  display: inline-block;
  vertical-align: top;
  width: 16px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/fusion/btn-icon-8.png) no-repeat 50% 50%;
}

.btn-edit-start {
  border: 1px solid #fff;
  background-color: #2da34f;
  color: #fff;
}
.btn-edit-start i {
  display: inline-block;
  vertical-align: top;
  width: 16px;
  height: 16px;
  background: url(/dfip/static/front/common/images/bss/fusion/btn-icon-9.png) no-repeat 50% 50%;
}

.btn-fn-sm {
  height: 32px;
}

.btn-ic-add,
.btn-ic-up,
.btn-ic-down,
.btn-ic-del,
.btn-ic-set {
  height: 32px;
  padding: 0;
  width: 32px;
}
.btn-ic-add i,
.btn-ic-up i,
.btn-ic-down i,
.btn-ic-del i,
.btn-ic-set i {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100% auto;
  width: 16px;
  height: 16px;
}

.btn-ic-add i {
  background-image: url(/dfip/static/front/common/images/bss/fusion/btn-icon-1.png);
}

.btn-ic-set i {
  background-image: url(/dfip/static/front/common/images/bss/fusion/btn-icon-2.png);
}

.btn-ic-up i {
  background-image: url(/dfip/static/front/common/images/bss/fusion/btn-icon-3.png);
}

.btn-ic-down i {
  background-image: url(/dfip/static/front/common/images/bss/fusion/btn-icon-4.png);
}

.btn-ic-del i {
  background-image: url(/dfip/static/front/common/images/bss/fusion/btn-icon-5.png);
}

/* 트렌드자료 */
.lib-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
@media (max-width: 1024px) {
  .lib-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 20px;
  }
}

.lib-item {
  border: 1px solid #c6c6c6;
  border-radius: 18px;
  display: flex;
  gap: 30px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .lib-item {
    gap: 20px;
    padding: 20px;
  }
}
@media (max-width: 768px) {
  .lib-item {
    flex-direction: column;
  }
}
.lib-item .thumb {
  text-align: center;
  flex-shrink: 0;
  width: 220px;
  height: 290px;
}
.lib-item .thumb .image {
  border-radius: 20px;
  overflow: hidden;
  background-color: #f8f8f8;
  height: calc(100% - 50px);
  position: relative;
  border: 1px solid #eee;
}
.lib-item .thumb img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .lib-item .thumb {
    width: 100%;
    height: auto;
  }
  .lib-item .thumb .image {
    height: auto;
    padding-bottom: 65.25%;
  }
}
.lib-item .image {
  border-radius: 20px;
  overflow: hidden;
  background-color: #f8f8f8;
}
.lib-item .lib-view-btn {
  margin-top: 15px;
}
@media (max-width: 768px) {
  .lib-item .lib-view-btn {
    width: 100%;
  }
}
.lib-item .title {
  color: #1d1d1d;
  border-bottom: 1px solid #e4e4e4;
  font-weight: 700;
  font-size: 21px;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .lib-item .title {
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 16px;
  }
}
.lib-item .desc li {
  font-size: var(--font-size-body);
  color: #555;
  position: relative;
  padding-left: 12px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .lib-item .desc li {
    font-size: 13px;
    padding-left: 10px;
  }
}
.lib-item .desc li + li {
  margin-top: 11px;
}
.lib-item .desc li::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 3px;
  height: 3px;
  background-color: #000;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .lib-item .desc li::after {
    width: 2px;
    height: 2px;
    top: 6px;
  }
}
.lib-item .desc li span {
  color: #000;
  display: inline-block;
  position: relative;
  width: 65px;
  margin-right: 5px;
}
.lib-item .desc li span::after {
  content: ":";
  position: absolute;
  right: 0;
  top: 0;
}
@media (max-width: 768px) {
  .lib-item .desc li span {
    display: block;
  }
  .lib-item .desc li span::after {
    display: none;
    width: auto;
  }
}

.use-guide {
  margin-top: 40px;
}
.use-guide-content-1 {
  border: 1px solid #2da34f;
  background-color: #f7faf8;
  text-align: center;
  border-radius: 12px;
  color: #000;
  font-weight: 700;
  font-size: 25px;
  padding: 40px;
}
.use-guide-content-1 .m-block {
  display: none;
}
.use-guide-content-1 b {
  color: var(--brand-color);
  font-size: 1em;
}
@media (max-width: 1024px) {
  .use-guide-content-1 {
    padding: 25px;
    font-size: 17px;
  }
}
@media (max-width: 768px) {
  .use-guide-content-1 {
    padding: 17px;
    font-size: 13px;
  }
  .use-guide-content-1 .m-block {
    display: block;
  }
}
.use-guide-content-2, .use-guide-content-3 {
  border: 1px solid #f0f0f0;
  background-color: #f9f9fa;
  border-radius: 12px;
  margin-top: 20px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .use-guide-content-2, .use-guide-content-3 {
    padding: 25px;
  }
}
@media (max-width: 768px) {
  .use-guide-content-2, .use-guide-content-3 {
    padding: 17px;
  }
}
.use-guide-content-2 strong {
  display: block;
  color: #000;
  font-size: 21px;
}
.use-guide-content-2 .desc {
  color: #555555;
  font-size: 17px;
  padding-top: 10px;
}
@media (max-width: 1024px) {
  .use-guide-content-2 strong {
    font-size: 17px;
  }
  .use-guide-content-2 .desc {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .use-guide-content-2 strong {
    font-size: 13px;
  }
  .use-guide-content-2 .desc {
    font-size: 11px;
  }
}
.use-guide-content-3 {
  display: flex;
  align-items: center;
  gap: 0 7.5%;
}
@media (max-width: 1425px) {
  .use-guide-content-3 {
    display: block;
    text-align: center;
  }
}
.use-guide-content-3 .title {
  color: #000;
  white-space: nowrap;
  font-size: 21px;
}
@media (max-width: 1425px) {
  .use-guide-content-3 .title {
    text-align: center;
    padding-bottom: 20px;
  }
}
@media (max-width: 1024px) {
  .use-guide-content-3 .title {
    font-size: 17px;
  }
}
@media (max-width: 768px) {
  .use-guide-content-3 .title {
    font-size: 13px;
  }
}
.use-guide-content-3 .steps-container {
  flex-grow: 1;
}
.use-guide-content-3 .step-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1024px) {
  .use-guide-content-3 .step-grid {
    flex-wrap: wrap;
    gap: 15px 0;
  }
}
.use-guide-content-3 .step-grid .arw {
  background: url(/dfip/static/front/common/images/bss/fusion/step-arw.png) no-repeat center/cover;
  width: 38px;
  height: 121px;
}
@media (max-width: 768px) {
  .use-guide-content-3 .step-grid .arw {
    width: 19px;
    height: 60px;
  }
  .use-guide-content-3 .step-grid .arw.md-none {
    display: none;
  }
}
.use-guide-content-3 .step-grid .item {
  border-radius: 50%;
  background-color: #2da34f;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
}
@media (max-width: 768px) {
  .use-guide-content-3 .step-grid .item {
    width: 110px;
    height: 110px;
  }
}
.use-guide-content-3 .step-grid .item span {
  color: #fff;
  position: relative;
  z-index: 2;
  font-weight: 700;
  font-size: 19px;
  text-align: center;
  display: block;
}
.use-guide-content-3 .step-grid .item span em {
  font-weight: 400;
  font-style: normal;
  font-size: 1em;
}
@media (max-width: 768px) {
  .use-guide-content-3 .step-grid .item span {
    font-size: 13px;
  }
}
.use-guide-content-3 .step-grid .item:not(.last)::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  width: 150px;
  height: 150px;
  top: 5px;
  left: 9px;
}
@media (max-width: 768px) {
  .use-guide-content-3 .step-grid .item:not(.last)::after {
    width: 100px;
    height: 100px;
  }
}
.use-guide-content-3 .step-grid .item.nth-1::after {
  background-color: #6cbf84;
}
.use-guide-content-3 .step-grid .item.nth-2::after {
  background-color: #57b572;
}
.use-guide-content-3 .step-grid .item.nth-3::after {
  background-color: #42ac61;
}
.use-guide-content-3 .step-grid .item.last {
  background: linear-gradient(to bottom, #2b9f54, #1a6385);
}
.use-guide .notic {
  color: #555555;
  font-size: 17px;
  padding-top: 40px;
  text-align: left;
}
.use-guide .notic em {
  font-style: normal;
  color: var(--brand-color);
  font-size: 1em;
}
@media (max-width: 768px) {
  .use-guide .notic {
    font-size: 11px;
  }
}

.board-search + .mypage-title {
  margin-top: 50px;
}

.help-txt {
  color: #666;
  font-size: 14px;
}

.create-buttons {
  display: flex;
  gap: 0 10px;
  justify-content: flex-end;
  margin-top: 30px;
}

.mypage-lnb {
  flex-basis: 310px;
  border: 1px solid #c6c6c6;
  border-radius: 10px;
  padding: 20px 30px;
}
@media (max-width: 1024px) {
  .mypage-lnb {
    display: none;
  }
}

.lnb {
  line-height: 1;
}
.lnb-submenu, .lnb-subsubmenu {
  display: none;
}
.lnb-item:has(.current) .lnb-link::after {
  transform: rotate(0deg) translateY(-50%);
}
.lnb-item:has(.current) ul:has(.current) {
  display: block;
}
.lnb-link {
  position: relative;
  display: block;
  background: url(/dfip/static/front/common/images/bss/mypage/lnb.png) no-repeat right 10px center;
  font-weight: 700;
  color: #000;
  font-size: 19px;
  padding: 10px 24px;
}
.lnb-link::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: rotate(-90deg) translateX(25%);
  width: 12px;
  height: 6px;
  background: url(/dfip/static/front/common/images/bss/mypage/down@12x6.png);
  transition: all 0.15s;
}
.lnb-submenu {
  padding: 10px 0;
}
.lnb-subitem {
  background-color: #f6f6f6;
  border-radius: 5px;
  border: 1px solid #f6f6f6;
}
.lnb-subitem:not(:first-child) {
  margin-top: 4px;
}
.lnb-subitem:has(.current) {
  border-color: #2da34f;
}
.lnb-subitem:has(.current) ul:has(.current) {
  display: block;
}
.lnb-subitem:has(ul.open) {
  border-color: #2da34f;
}
.lnb-sublink {
  display: flex;
  align-items: center;
  position: relative;
  height: 40px;
  padding-left: 48px;
  color: #555555;
  font-size: 17px;
}
.lnb-sublink::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 27px;
  top: 50%;
  transform: rotate(0) translateY(-50%);
  width: 12px;
  height: 6px;
  background: url(/dfip/static/front/common/images/bss/mypage/down@12x6.png);
}
.lnb-subsubmenu {
  padding-left: 55px;
  padding-bottom: 15px;
}
.lnb-subsubitem:not(:first-child) {
  margin-top: 10px;
}
.lnb-subsublink {
  display: flex;
  align-items: center;
  color: #555;
  font-size: 15px;
  gap: 0 4px;
}
.lnb-subsublink.current, .lnb-subsublink:hover, .lnb-subsublink:focus {
  color: var(--brand-color);
}
.lnb-subsublink::before {
  content: "-";
}
.lnb .open {
  display: block;
}

.table-wrapper {
  margin-top: 30px;
}

.table-hgroup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-size-body);
  gap: 0 10px;
  padding-bottom: 10px;
}
.table-hgroup strong {
  color: #000;
}
.table-hgroup em {
  font-size: 0.95em;
  color: #555;
  font-style: normal;
}
.table-hgroup .btn-add-row {
  position: static;
  margin-left: 0;
}

/* 마이페이지 */
.board-section + .board-section {
  margin-top: 50px;
}

/* mypage */
.mypage-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
  padding-bottom: 20px;
  font-size: 25px;
}
.mypage-title h2 {
  color: #000;
}
.mypage-title small {
  font-weight: 400;
  font-size: 21px;
}
.mypage-title small b {
  color: var(--brand-color);
}
@media (max-width: 1024px) {
  .mypage-title {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .mypage-title small {
    font-size: 11px;
  }
}

/* 마이페이지 main */
.main-content.mypage-main {
  padding-top: 0;
}

.mypage-main-text {
  font-size: 25px;
  color: #555555;
}
.mypage-main-text .ico-folder {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: url(/dfip/static/front/common/images/bss/mypage/folder@20x18.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 20px;
  height: 18px;
}
@media (max-width: 400px) {
  .mypage-main-text .ico-folder {
    display: none;
  }
}
.mypage-main-text b {
  font-weight: 700;
  color: #2b9d4c;
}
@media (max-width: 1024px) {
  .mypage-main-text {
    font-size: 14px;
    margin-bottom: 10px;
  }
}

.mypage-user-mng-felx {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}
@media (max-width: 1425px) {
  .mypage-user-mng-felx {
    flex-direction: column;
    gap: 15px;
    margin-bottom: 15px;
  }
}

.mypage-user-mng {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  background: #fff;
  border-radius: 10px;
  padding: 20px 40px;
}
@media (max-width: 1024px) {
  .mypage-user-mng {
    padding: 10px 20px;
  }
}
@media (max-width: 400px) {
  .mypage-user-mng {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}
.mypage-user-mng .title {
  font-size: 19px;
  color: #1d1d1d;
}
.mypage-user-mng .title b {
  color: #2da34f;
  font-weight: bold;
}
.mypage-user-mng .title span {
  font-size: 14px;
  color: #555555;
  font-weight: normal;
}
@media (max-width: 768px) {
  .mypage-user-mng .title span {
    display: block;
    font-size: 11px;
  }
}
@media (max-width: 1024px) {
  .mypage-user-mng .title {
    font-size: 14px;
  }
}
.mypage-user-mng .showing {
  display: flex;
  align-items: center;
}
.mypage-user-mng .showing .badge {
  height: 40px;
  background: #f7faf8;
  border: 1px solid #f1f1f1;
}
@media (max-width: 1024px) {
  .mypage-user-mng .showing .badge {
    height: auto;
  }
}
.mypage-user-mng.left .showing > div {
  position: relative;
  padding: 0 20px;
  display: flex;
  align-items: center;
}
@media (max-width: 1024px) {
  .mypage-user-mng.left .showing > div {
    padding: 0 10px;
  }
}
.mypage-user-mng.left .showing > div .badge {
  margin-right: 20px;
}
@media (max-width: 1024px) {
  .mypage-user-mng.left .showing > div .badge {
    margin-right: 10px;
  }
}
.mypage-user-mng.left .showing > div .count {
  font-size: 40px;
  font-weight: bold;
}
@media (max-width: 1024px) {
  .mypage-user-mng.left .showing > div .count {
    font-size: 19px;
  }
}
.mypage-user-mng.left .showing > div + div:after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 1px;
  height: 24px;
  background: #e4e4e4;
}
.mypage-user-mng.right .showing .badge {
  margin-left: 10px;
}
.mypage-user-mng.right .showing .badge:first-child {
  margin-left: 0;
}
.mypage-user-mng.right .showing .badge i {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: url(/dfip/static/front/common/images/bss/mypage/mypage-user-ico01.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 16px;
  height: 18px;
}
@media (max-width: 400px) {
  .mypage-user-mng.right .showing .badge i {
    display: none;
  }
}
.mypage-user-mng.right .showing .badge + .badge i {
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/mypage/mypage-user-ico02.png) 50% 50% no-repeat;
  width: 16px;
  height: 19px;
}
.mypage-user-mng.right .showing .badge + .badge + .badge i {
  vertical-align: middle;
  background: url(/dfip/static/front/common/images/bss/mypage/mypage-user-ico03.png) 50% 50% no-repeat;
  width: 19px;
  height: 19px;
}

.mypage-user-state {
  padding: 30px 40px;
  background: #fff;
  border-radius: 10px;
}
@media (max-width: 1024px) {
  .mypage-user-state {
    padding: 15px 20px;
  }
}
.mypage-user-state > h3 {
  position: relative;
  font-size: 19px;
  padding: 0 12px 15px 35px;
  margin-bottom: 15px;
  border-bottom: 1px solid #e4e4e4;
}
@media (max-width: 768px) {
  .mypage-user-state > h3 {
    font-size: 14px;
    margin-bottom: 8px;
    padding: 0 8px 11px 20px;
  }
}
.mypage-user-state > h3:after {
  position: absolute;
  left: 13px;
  top: 8px;
  display: block;
  background-image: url(/dfip/static/front/common/images/bss/mypage/check@14x11.png);
  content: "";
  width: 14px;
  height: 11px;
}
@media (max-width: 768px) {
  .mypage-user-state > h3:after {
    left: 2px;
    top: 4px;
  }
}
.mypage-user-state-body {
  text-align: center;
}
.mypage-user-state-body p {
  color: #1d1d1d;
  font-size: 19px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .mypage-user-state-body p {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
.mypage-user-state-body .badge-green {
  border: 1px solid #2da34f;
  color: #2da34f;
}
.mypage-user-state.green-box {
  background: #f7faf8;
  color: #2da34f;
}
.mypage-user-state.green-box p {
  color: #2da34f;
}

.main-grid {
  display: flex;
  gap: 30px;
}
@media (max-width: 1425px) {
  .main-grid {
    flex-direction: column;
  }
}
@media (max-width: 1024px) {
  .main-grid {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .main-grid {
    gap: 10px;
  }
}
.main-grid .left {
  width: 450px;
}
@media (max-width: 1425px) {
  .main-grid .left {
    width: 100%;
  }
}
.main-grid .left .mypage-user-state {
  border: 2px solid #2da34f;
  height: 100%;
}
.main-grid .left .mypage-user-state > h4 {
  font-size: 25px;
  margin-bottom: 35px;
}
@media (max-width: 1024px) {
  .main-grid .left .mypage-user-state > h4 {
    font-size: 15px;
    margin-bottom: 15px;
  }
}
.main-grid .left .mypage-user-state .log-step-view-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 200px;
  padding: 0 20px;
  background: #f7faf8;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
}
.main-grid .left .mypage-user-state .log-step-view {
  margin: 0;
}
.main-grid .left .mypage-user-state .log-step-view.current-2:after {
  width: 50%;
}
.main-grid .left .mypage-user-state .log-step-view .step-item:nth-child(1) {
  left: 10%;
}
.main-grid .left .mypage-user-state .log-step-view .step-item:nth-child(2) {
  left: 50%;
}
.main-grid .left .mypage-user-state .log-step-view .step-item:nth-child(3) {
  left: 90%;
}
.main-grid .right {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 2fr));
  grid-gap: 30px;
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .main-grid .right {
    grid-gap: 20px;
  }
}
@media (max-width: 768px) {
  .main-grid .right {
    grid-template-columns: repeat(2, minmax(0, 3fr));
    grid-gap: 10px;
  }
}

.mypage-main-s1 {
  border-top: 1px solid #2da34f;
  background-color: #f2f2f2;
  padding: 60px var(--gutter-width);
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-image: url(/dfip/static/front/common/images/bss/mypage/main-bg.png);
  background-position: center 20px;
}

.mypage-main-s2 {
  line-height: 1;
}
.mypage-main-s2 .lv1 {
  border: 1px solid #000;
  border-radius: 10px;
  padding: 40px;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv1 {
    display: grid;
    padding: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 20px;
    margin-top: 20px;
  }
}
@media (max-width: 768px) {
  .mypage-main-s2 .lv1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 30px 10px;
  }
}
.mypage-main-s2 .lv1 > li + li {
  position: relative;
  padding-left: 35px;
}
.mypage-main-s2 .lv1 > li + li::after {
  content: "";
  display: block;
  position: absolute;
  top: 45px;
  left: 0;
  bottom: 0;
  width: 1px;
  background: #e4e4e4;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv1 > li + li {
    padding-left: 0;
  }
  .mypage-main-s2 .lv1 > li + li::after {
    display: none;
  }
}
.mypage-main-s2 .lv1 > li > a {
  font-weight: 700;
  color: #1d1d1d;
  font-size: 21px;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv1 > li > a {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .mypage-main-s2 .lv1 > li > a {
    font-size: 15px;
  }
}
.mypage-main-s2 .lv2 {
  padding: 10px 0;
  margin-top: 25px;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv2 {
    margin-top: 10px;
  }
}
.mypage-main-s2 .lv2 > li {
  padding: 10px 0;
}
.mypage-main-s2 .lv2 > li:first-child {
  padding-top: 0;
}
.mypage-main-s2 .lv2 > li:last-child {
  padding-bottom: 0;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv2 > li {
    padding: 5px 0;
  }
}
.mypage-main-s2 .lv2 > li > a {
  font-size: 17px;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv2 > li > a {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .mypage-main-s2 .lv2 > li > a {
    font-size: 13px;
  }
}
.mypage-main-s2 .lv3 {
  padding: 8px 0 0 10px;
}
.mypage-main-s2 .lv3 > li {
  padding: 5px 0;
}
.mypage-main-s2 .lv3 > li > a {
  color: #717171;
  font-size: 15px;
}
@media (max-width: 1024px) {
  .mypage-main-s2 .lv3 > li > a {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .mypage-main-s2 .lv3 > li > a {
    font-size: 12px;
  }
}

.mypage-bookmark-left {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
@media (max-width: 1024px) {
  .mypage-bookmark-left {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 15px;
  }
}
.mypage-bookmark .mypage-user-state {
  border: 1px solid #2da34f;
}
.mypage-bookmark .mypage-user-state:last-child {
  margin-bottom: 0;
}
.mypage-bookmark .mypage-user-state .mypage-bookmark-body li {
  display: block;
  border: 1px solid #f0f0f0;
  padding: 15px 20px;
  background: #f7faf8;
  border-radius: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .mypage-bookmark .mypage-user-state .mypage-bookmark-body li {
    padding: 8px 12px;
  }
}
.mypage-bookmark .mypage-user-state .mypage-bookmark-body li:first-child {
  margin-top: 0;
}
.mypage-bookmark .mypage-user-state .mypage-bookmark-body li a {
  font-size: 17px;
}
@media (max-width: 768px) {
  .mypage-bookmark .mypage-user-state .mypage-bookmark-body li a {
    font-size: 14px;
  }
}
.mypage-bookmark .mypage-user-state .mypage-bookmark-body li .del {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: url(/dfip/static/front/common/images/bss/mypage/close@13x13.png) 50% 50% no-repeat;
  background-size: 100% auto;
  width: 13px;
  height: 13px;
}
@media (max-width: 768px) {
  .mypage-bookmark .mypage-user-state .mypage-bookmark-body li .del {
    width: 8px;
    height: 8px;
  }
}

.certifi-li .certifi-li-item {
  display: flex;
  border: 1px solid #c6c6c6;
  padding: 25px 30px;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item {
    padding: 12px 15px;
  }
}
.certifi-li .certifi-li-item:hover {
  border: 1px solid #2da34f;
}
.certifi-li .certifi-li-item + div {
  margin-top: 10px;
}
.certifi-li .certifi-li-item .certifi-li-left {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item .certifi-li-left {
    gap: 10px;
  }
}
.certifi-li .certifi-li-item .certifi-li-left i {
  display: block;
  width: 48px;
  height: 48px;
  border: 1px solid #c6c6c6;
  background: url(/dfip/static/front/common/images/bss/mypage/lock@21x24.png);
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item .certifi-li-left i {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
}
.certifi-li .certifi-li-item .certifi-li-left h3 {
  font-size: 25px;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item .certifi-li-left h3 {
    font-size: 15px;
  }
}
.certifi-li .certifi-li-item .certifi-li-right {
  display: flex;
}
.certifi-li .certifi-li-item .certifi-li-right dt {
  font-weight: bold;
  color: #555555;
  font-size: 15px;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item .certifi-li-right dt {
    font-size: 12px;
  }
}
.certifi-li .certifi-li-item .certifi-li-right dd {
  color: #717171;
  font-size: 15px;
}
@media (max-width: 768px) {
  .certifi-li .certifi-li-item .certifi-li-right dd {
    font-size: 12px;
  }
}

.certificate-pop {
  margin: auto;
  padding: 60px 40px;
  border: 1px solid #c6c6c6;
  max-width: 820px;
}
.certificate-pop .certificate-pop-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-top {
    margin-bottom: 40px;
  }
}
.certificate-pop .certificate-pop-top .bi {
  background: url(/dfip/static/front/common/images/bss/mypage/certificate-logo.png);
  width: 222px;
  height: 41px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-top .bi {
    width: 111px;
    height: 20.5px;
    background-size: contain;
  }
}
.certificate-pop .certificate-pop-ti {
  margin-bottom: 60px;
  text-align: center;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-ti {
    margin-bottom: 30px;
  }
}
.certificate-pop .certificate-pop-ti h2 {
  font-size: 40px;
  margin-bottom: 20px;
  color: #000;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-ti h2 {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.certificate-pop .certificate-pop-ti p {
  letter-spacing: 2px;
  font-size: 17px;
  color: #8e8e8e;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-ti p {
    font-size: 14px;
  }
}
.certificate-pop .certificate-pop-tbl {
  margin-bottom: 115px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-tbl {
    margin-bottom: 50px;
  }
}
.certificate-pop .certificate-pop-tbl .cs-table {
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-tbl .cs-table {
    margin-bottom: 30px;
  }
}
.certificate-pop .certificate-pop-tbl .cs-table + p {
  text-align: center;
  font-size: 17px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-tbl .cs-table + p {
    font-size: 14px;
  }
}
.certificate-pop .certificate-pop-bottom {
  text-align: right;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-bottom {
    gap: 10px;
  }
}
.certificate-pop .certificate-pop-bottom dl dt {
  font-size: 17px;
  color: #555555;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-bottom dl dt {
    font-size: 14px;
  }
}
.certificate-pop .certificate-pop-bottom dl dd {
  color: #1d1d1d;
  font-size: 21px;
}
@media (max-width: 768px) {
  .certificate-pop .certificate-pop-bottom dl dd {
    font-size: 13px;
  }
}

.convention-list {
  padding-bottom: 30px;
}
.convention-list .item {
  border-radius: 10px;
  padding: 30px;
  border: 2px solid var(--brand-color);
}
.convention-list .item .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.convention-list .item .info .cate {
  color: #1d1d1d;
  font-weight: 500;
}
.convention-list .item .info .date {
  font-size: 14px;
}
.convention-list .item .subject {
  font-weight: 500;
  color: #1d1d1d;
  font-size: 21px;
  padding-top: 10px;
  display: flex;
  align-items: baseline;
  gap: 0 10px;
}

.evaluation-agree-pop .border-rows + .border-rows {
  margin-top: 20px;
}

@media (max-width: 1024px) {
  .evaluation-agree-li-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .evaluation-agree-li + ul {
    margin-top: 10px;
  }
}
.evaluation-agree-li li {
  position: relative;
  padding-left: 15px;
}
.evaluation-agree-li li + li {
  margin-top: 10px;
}
.evaluation-agree-li li:after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 3px;
  height: 4px;
  background: #000;
  border-radius: 50%;
}

.evaluation-agree-li02 {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #e4e4e4;
}
@media (max-width: 768px) {
  .evaluation-agree-li02 {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}
.evaluation-agree-li02 li {
  font-size: 18px;
  font-weight: bold;
  color: #1d1d1d;
}
@media (max-width: 768px) {
  .evaluation-agree-li02 li {
    font-size: 12px;
  }
}
.evaluation-agree-li02 li + li {
  margin-top: 10px;
}

.evaluation-agree-foot {
  display: flex;
  gap: 40px;
  justify-content: center;
}
@media (max-width: 768px) {
  .evaluation-agree-foot {
    gap: 20px;
  }
}
.evaluation-agree-foot p {
  font-size: 15px;
  color: #717171;
}
@media (max-width: 768px) {
  .evaluation-agree-foot p {
    font-size: 12px;
  }
}

.evaluation-agree-pop .evaluation-group .grid:not(:first-child) {
  margin-top: 30px;
}
.evaluation-agree-pop .evaluation-group .input-group > label {
  font-size: 17px;
  color: #1d1d1d;
}
.evaluation-agree-pop .evaluation-group .input-group > label .small {
  font-size: 13px;
  color: #555555;
}
.evaluation-agree-pop .evaluation-group.orange-box {
  border: 1px solid #ed7031;
}
.evaluation-agree-pop .evaluation-group.orange-box h4 span {
  font-weight: normal;
}
.evaluation-agree-pop .evaluation-group.bg-green-300 {
  border: 1px solid #2da34f;
}
.evaluation-agree-pop .evaluation-group.bg-green-300 .evaluation-score {
  justify-content: center;
  align-items: center;
}
.evaluation-agree-pop .evaluation-group.bg-green-300 .evaluation-score h4 {
  font-size: 25px;
  color: #1d1d1d;
}
@media (max-width: 768px) {
  .evaluation-agree-pop .evaluation-group.bg-green-300 .evaluation-score h4 {
    font-size: 18px;
  }
}
.evaluation-agree-pop .evaluation-group.bg-green-300 .evaluation-score h4 strong {
  font-size: 32px;
  color: #ed1c24;
}
@media (max-width: 768px) {
  .evaluation-agree-pop .evaluation-group.bg-green-300 .evaluation-score h4 strong {
    font-size: 24px;
  }
}
.evaluation-agree-pop .evaluation-group.bg-green-300 .input-group + .input-group {
  margin-top: 0;
}

.sign-pop p {
  font-size: 15px;
  margin-bottom: 15px;
}
@media (max-width: 768px) {
  .sign-pop p {
    font-size: 12px;
  }
}
.sign-pop .sing-box {
  height: 260px;
  border: 1px solid #c6c6c6;
}

.main-Tab .border-rows {
  background: #fff;
  border: none;
  border-radius: 0 0 10px 10px;
}
.main-Tab .border-rows.tab-splid {
  position: relative;
  padding-bottom: 90px;
}
@media (max-width: 768px) {
  .main-Tab .border-rows.tab-splid {
    padding-bottom: 45px;
  }
}
.main-Tab .border-rows.tab-splid .entrty-list li:last-child:after {
  display: none;
}
.main-Tab .border-rows + .border-rows {
  border-radius: 10px;
  margin-top: 26px;
}
.main-Tab .border-rows + .border-rows + .border-rows {
  margin-top: 12px;
}
.main-Tab .border-rows-hgroup {
  padding-right: 0;
  flex-wrap: wrap;
  border-bottom: 0;
}
.main-Tab .border-rows-hgroup .cate {
  font-weight: 400;
  color: #555;
}
.main-Tab .border-rows-hgroup .assi-subject {
  width: 100%;
  margin-top: 5px;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.main-Tab .log-entrty ul {
  overflow-y: auto;
}
.main-Tab .main-Tab-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main-Tab .main-Tab-head .main-Tab-head-button {
  display: flex;
  gap: 12px;
}
@media (max-width: 768px) {
  .main-Tab .main-Tab-head .main-Tab-head-button {
    gap: 4px;
  }
}
.main-Tab .main-Tab-head .main-Tab-head-button button {
  /*position: relative;*/
  /*width: 222px;*/
  /*height: 64px;*/
  /*color: #fff;*/
  /*font-size: 19px;*/
  /*border-radius: 10px 10px 0 0;*/
  /*background: #81c895;*/
  position: relative;
  width: 222px;
  height: 64px;
  font-size: 19px;
  border-radius: 10px 10px 0 0;
  background: #f1f3f5;
  color: #495057;
  border: 1px solid #ced4da;
  border-bottom: none;
}
@media (max-width: 1024px) {
  .main-Tab .main-Tab-head .main-Tab-head-button button {
    width: 160px;
    height: 50px;
    font-size: 15px;
  }
}
@media (max-width: 1024px) {
  .main-Tab .main-Tab-head .main-Tab-head-button button {
    width: 80px;
    height: 38px;
    font-size: 12px;
  }
}
.main-Tab .main-Tab-head .main-Tab-head-button button + button {
  background: #f1f3f5;
}
.main-Tab .main-Tab-head .main-Tab-head-button button + button + button {
  background: #f1f3f5;
}
.main-Tab .main-Tab-head .main-Tab-head-button button.active {
  position: relative;
  width: 222px;
  height: 64px;
  font-size: 19px;
  border-radius: 10px 10px 0 0;
  background: #2da34f;
  color: #fff;
  font-weight: 700;
  border: none;
}
.main-Tab .main-Tab-head .main-Tab-head-button button.active:after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 3px;
  height: 32px;
  background: #2da34f;
  border-radius: 0 1.5px 1.5px 0;
}
@media (max-width: 1024px) {
  .main-Tab .main-Tab-head .main-Tab-head-button button.active:after {
    height: 20px;
  }
}
@media (max-width: 768px) {
  .main-Tab .main-Tab-head .main-Tab-head-button button.active:after {
    height: 12px;
  }
}
@media (max-width: 1024px) {
  .main-Tab .main-Tab-head {
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}
.main-Tab .splide {
  width: 100%;
  margin: 0 auto;
}
.main-Tab .splide__arrows {
  position: absolute;
  right: 20px;
  bottom: 45px;
  width: 120px;
}
@media (max-width: 768px) {
  .main-Tab .splide__arrows {
    width: 80px;
    right: 5px;
    bottom: 25px;
  }
}
.main-Tab .splide__track {
  overflow: hidden;
}
.main-Tab .splide__slide img {
  overflow: hidden;
  width: 100%;
  height: auto;
}
.main-Tab .splide__pagination {
  border: 1px solid #e4e4e4;
  left: 50% !important;
  right: auto !important;
  height: 40px;
  border-radius: 20px;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .main-Tab .splide__pagination {
    height: 20px;
    border-radius: 10px;
    padding: 0 0.5em !important;
  }
}
.main-Tab .splide__pagination .is-active {
  width: 20px;
  background: #2da34f !important;
  border-radius: 5px;
  height: 8px;
  transform: scale(1) !important;
}
.main-Tab .splide__pagination .splide__pagination__page {
  background: #8e8e8e;
}

.suport-items li {
  padding: 30px;
  border-radius: 10px;
  border: 1px solid #f0f0f0;
  background: #f9f9fa;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .suport-items li {
    flex-direction: column;
    padding: 15px;
  }
}
.suport-items li + li {
  margin-top: 20px;
}
.suport-items li .suport-item-left {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 300px;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-left {
    width: 100%;
  }
}
.suport-items li .suport-item-left .suport-item-left-type {
  display: flex;
  align-items: center;
}
.suport-items li .suport-item-left .ico-bell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border-radius: 50%;
  border: 1px dashed #dbdad9;
  width: 40px;
  height: 40px;
  margin-right: 20px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-left .ico-bell {
    display: none;
  }
}
.suport-items li .suport-item-left .ico-bell::after {
  content: "";
  width: 16px;
  height: 17px;
  background: url(/dfip/static/front/common/images/bss/icon-bell.png);
  vertical-align: top;
  display: inline-block;
}
.suport-items li .suport-item-left .suport-ca {
  font-size: 17px;
  color: #1d1d1d;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-left .suport-ca {
    font-size: 12px;
  }
}
.suport-items li .suport-item-left .suport-date {
  font-size: 17px;
  color: #8e8e8e;
  margin-right: 15px;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-left .suport-date {
    font-size: 12px;
  }
}
.suport-items li .suport-item-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  gap: 10px;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-center {
    padding: 15px 0;
  }
}
.suport-items li .suport-item-center .suport-ti {
  display: flex;
  align-items: center;
}
.suport-items li .suport-item-center .suport-ti p {
  position: relative;
  font-size: 17px;
  padding: 0 15px;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-center .suport-ti p {
    font-size: 12px;
  }
  .suport-items li .suport-item-center .suport-ti p:first-child:after {
    display: none;
  }
}
.suport-items li .suport-item-center .suport-ti p + p {
  flex: 1;
}
.suport-items li .suport-item-center .suport-ti p::after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 18px;
  background: #e4e4e4;
}
.suport-items li .suport-item-right .badge {
  margin-left: 15px;
  border-radius: 16px;
  background: #fff;
  line-height: 32px;
}
@media (max-width: 768px) {
  .suport-items li .suport-item-right .badge {
    height: 28px;
    font-size: 12px;
  }
}
.suport-items li .suport-item-right .badge.sucess {
  border-color: #2da34f;
  color: #2da34f;
}
.suport-items li .suport-item-right .badge.orange {
  border-color: #ed7031;
  color: #ed7031;
}

/* 공유시설 */
.euqment-pop .border-box {
  border: 1px solid #d8d8d8;
  border-radius: 15px;
  padding: 15px;
}
.euqment-pop .border-box + .border-box {
  margin-top: 25px;
}
.euqment-pop .border-box .border-box-title {
  margin-bottom: 10px;
}
.euqment-pop .border-box .areement-select {
  flex-wrap: wrap;
}
.euqment-pop .border-box .areement-select p {
  width: 100%;
  flex-basis: 100%;
}

.compact-subject {
  color: #000;
  font-weight: 500;
  font-size: 1.1em;
  padding-bottom: 1rem;
}

.grid + .compact-subject {
  margin-top: 35px;
  padding-top: 35px;
  border-top: 1px solid #ddd;
}

.tr-bg-gray {
  background-color: #e9e9e9;
}

.estimate-template-header {
  display: flex;
  gap: 0 20px;
}
.estimate-template-header .requester-info {
  width: 30%;
  background-color: #f6f6f6;
  font-weight: 700;
  align-items: center;
  display: flex;
  justify-content: center;
  border: 1px solid #ddd;
}
.estimate-template-header .issuer-info {
  width: 70%;
}
.estimate-template-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 20px;
  padding-top: 30px;
}
.estimate-template-footer dl {
  text-align: right;
}

/* list-document */
.list-document .tooltip-content {
  width: 300px;
  max-height: 280px;
}

/*
    전문가 활동 관리
*/
.expert-manger .list-round + .list-round {
  margin-top: 15px;
}

/* 쪽지 작성 */
.to-list-wrap {
  display: flex;
  gap: 0 10px;
}

.to-list-wrap #searchUser {
  flex-shrink: 0;
}

.to-list {
  border: 1px solid #ddd;
  padding: 8px;
  border-radius: 5px;
  background-color: #fff;
  max-height: 370px;
  min-height: 40px;
  overflow-y: auto;
  flex-grow: 1;
}

.to-list li {
  display: flex;
  align-items: center;
  font-size: 0.75rem;
}

.to-list li + li {
  margin-top: 5px;
}

.to-list li em {
  font-style: normal;
  display: inline-block;
  margin: 0 3px;
  font-size: 0.75rem;
}

.to-list li button {
  display: block;
  width: 17px;
  height: 17px;
  background: #ddd url(/dfip/static/front/common/images/bss/icon_x.png) no-repeat 50% 50%;
  font-size: 0;
  border-radius: 50%;
}

#lay-container:has(.platform-main) {
  padding-top: 0 !important;
}
#lay-container:has(.platform-main) .row,
#lay-container:has(.platform-main) .container {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

@media (max-width: 1024px) {
  .platform-main {
    padding-top: 50px;
  }
}
.platform-main-intro {
  height: 450px;
  background: url(/dfip/static/front/common/images/bss/platform/bg.png) no-repeat 50% 50%;
  background-size: cover;
}
.platform-main-intro .text-group {
  text-align: center;
  padding: 75px 0 0;
}
.platform-main-intro h2 {
  color: #fff;
  font-size: 32px;
  letter-spacing: 20px;
  padding-bottom: 27px;
}
.platform-main-intro .text {
  color: #fff;
  line-height: 1.5;
  font-size: 19px;
}
.platform-main-intro .text .mo-block {
  display: none;
}
@media (max-width: 1024px) {
  .platform-main-intro {
    height: auto;
  }
  .platform-main-intro .text-group {
    padding: 40px 0 95px;
  }
  .platform-main-intro h2 {
    font-size: 18px;
    padding-bottom: 13px;
  }
  .platform-main-intro .text {
    font-size: 14px;
  }
  .platform-main-intro .text .mo-block {
    display: block;
  }
  .platform-main-intro .text .mo-hidden {
    display: none;
  }
}
@media (max-width: 768px) {
  .platform-main-intro h2 {
    letter-spacing: 6px;
    font-size: 14px;
  }
  .platform-main-intro .text {
    font-size: 10px;
  }
}
.platform-main-title {
  padding-bottom: 40px;
  text-align: center;
}
.platform-main-title strong {
  font-weight: 700;
  color: #000;
  line-height: 1;
  font-size: 32px;
}
.platform-main-title .desc {
  padding-top: 10px;
  line-height: 1.34;
  font-size: 17px;
  color: #555;
}
@media (max-width: 1024px) {
  .platform-main-title {
    padding-bottom: 20px;
  }
  .platform-main-title strong {
    font-size: 17px;
  }
  .platform-main-title .desc {
    font-size: 13px;
  }
}
.platform-main-user {
  padding: 80px 0 65px;
}
@media (max-width: 1024px) {
  .platform-main-user {
    padding: 30px 0;
  }
}
.platform-main-user-card {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0 30px;
  margin: 0 auto;
  max-width: var(--max-width);
}
@media (max-width: 1425px) {
  .platform-main-user-card {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 1024px) {
  .platform-main-user-card {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 10px 0;
  }
}
.platform-main-user-card .user-card {
  border: 2px solid #2da34f;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .platform-main-user-card .user-card {
    padding: 20px;
  }
}
.platform-main-user-card .icon {
  text-align: center;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 12px;
  margin-bottom: 13px;
}
.platform-main-user-card .text {
  text-align: center;
  color: #24823f;
  font-size: 21px;
}
@media (max-width: 1024px) {
  .platform-main-user-card .text {
    font-weight: 700;
    font-size: 15px;
  }
}
.platform-main-service {
  background-color: #f3f3f3;
  padding: 40px 0;
}
.platform-main-service-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 30px;
  margin: 0 auto;
  max-width: var(--max-width);
}
@media (max-width: 1425px) {
  .platform-main-service-card {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 1024px) {
  .platform-main-service-card {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 12px 0;
  }
}
.platform-main-service-card .service-card {
  display: flex;
  gap: 0 40px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #d8d8d8;
  padding: 40px;
}
@media (max-width: 1024px) {
  .platform-main-service-card .service-card {
    padding: 20px;
    gap: 0 20px;
  }
}
.platform-main-service-card .service-card .text strong {
  display: block;
  font-size: 21px;
  padding-bottom: 13px;
}
@media (max-width: 1024px) {
  .platform-main-service-card .service-card .text strong {
    padding-bottom: 10px;
    font-size: 15px;
  }
}
.platform-main-service-card .service-card .text p {
  color: #717171;
  font-size: 17px;
}
@media (max-width: 1024px) {
  .platform-main-service-card .service-card .text p {
    font-size: 12px;
  }
}
.platform-main-service-card .service-card .icon {
  background-color: #f9f9f9;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  width: 90px;
  height: 90px;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .platform-main-service-card .service-card .icon {
    width: 55px;
    height: 55px;
  }
}
.platform-main-dev {
  padding-top: 65px;
  margin: 0 auto;
  max-width: var(--max-width);
}
@media (max-width: 1425px) {
  .platform-main-dev {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 1024px) {
  .platform-main-dev {
    padding-top: 30px;
  }
}
.platform-main-dev-card {
  display: flex;
  position: relative;
  gap: 0 30px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card {
    flex-direction: column;
    gap: 30px 0;
  }
}
.platform-main-dev-card .line-1 {
  background: url(/dfip/static/front/common/images/bss/platform/line.png) no-repeat 0 0;
  width: 40px;
  height: 9px;
  position: absolute;
  left: 50%;
  top: 120px;
  transform: translateX(-50%);
}
@media (max-width: 1024px) {
  .platform-main-dev-card .line-1 {
    display: none;
  }
}
.platform-main-dev-card > div {
  width: 50%;
}
@media (max-width: 1024px) {
  .platform-main-dev-card > div {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .platform-main-dev-card .block-1 {
    position: relative;
  }
  .platform-main-dev-card .block-1::after {
    content: "";
    display: block;
    background: url(/dfip/static/front/common/images/bss/platform/line.png) no-repeat 0 0;
    width: 40px;
    height: 9px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 200%) rotate(90deg);
  }
}
.platform-main-dev-card .block-1 ul {
  padding-top: 30px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card .block-1 ul {
    padding-top: 15px;
  }
}
.platform-main-dev-card .block-1 ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background-color: #f7faf8;
  height: 56px;
  font-size: 17px;
}
.platform-main-dev-card .block-1 ul li + li {
  margin-top: 8px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card .block-1 ul li {
    height: 35px;
    font-size: 13px;
  }
  .platform-main-dev-card .block-1 ul li + li {
    margin-top: 5px;
  }
}
.platform-main-dev-card .block-2 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px 0;
}
.platform-main-dev-card .block-2 .line-2 {
  background: url(/dfip/static/front/common/images/bss/platform/line.png) no-repeat 0 0;
  width: 40px;
  height: 9px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}
.platform-main-dev-card .block-2 .desc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 30px;
  gap: 0 8px;
}
.platform-main-dev-card .block-2 .desc-grid > div {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background-color: #f7faf8;
  text-align: center;
  height: 110px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card .block-2 .desc-grid {
    padding-top: 17px;
  }
  .platform-main-dev-card .block-2 .desc-grid > div {
    height: 70px;
  }
}
@media (max-width: 768px) {
  .platform-main-dev-card .block-2 .desc-grid > div {
    font-size: 11px;
  }
}
.platform-main-dev-card .details {
  border: 1px solid #2da34f;
  border-radius: 8px;
  padding: 27px 40px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card .details {
    padding: 14px 20px;
  }
}
.platform-main-dev-card .subject {
  text-align: center;
  color: var(--brand-color);
  border-bottom: 1px solid #e4e4e4;
  font-weight: 700;
  font-size: 21px;
  padding-bottom: 10px;
}
@media (max-width: 1024px) {
  .platform-main-dev-card .subject {
    font-size: 16px;
    padding-bottom: 7px;
  }
}
.platform-main-dev-card .subject i {
  display: inline-block;
}

.usage-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
@media (max-width: 1024px) {
  .usage-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}
@media (max-width: 768px) {
  .usage-guide {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 15px;
  }
}
.usage-guide-card a {
  display: block;
  border: 1px solid #ddd;
  border-radius: 15px;
  padding: 30px;
  transition: all 0.2s ease;
}
.usage-guide-card a:hover, .usage-guide-card a:focus {
  border-color: var(--brand-color);
}
.usage-guide-card a:hover div, .usage-guide-card a:focus div {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .usage-guide-card a {
    padding: 17px;
  }
}
.usage-guide-card-title {
  border-bottom: 1px solid #ddd;
  color: #000;
  font-size: 21px;
  height: 77px;
}
@media (max-width: 768px) {
  .usage-guide-card-title {
    font-size: 17px;
    height: 45px;
  }
}
.usage-guide-card-title span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.usage-guide-card-desc {
  font-size: var(--font-size-body);
  color: #555;
  line-height: 1.3;
  padding: 20px 0;
  height: 80px;
}
@media (max-width: 768px) {
  .usage-guide-card-desc {
    padding: 14px 0;
    height: 57px;
  }
}
.usage-guide-card-desc span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.usage-guide-card-info {
  display: flex;
  align-items: center;
  gap: 0 12px;
  font-size: var(--font-size-body);
}
.usage-guide-card-info span {
  color: #717171;
}
.usage-guide-card-info .line {
  display: inline-block;
  width: 2px;
  height: 10px;
  background-color: #e8e8e8;
}

#wrap:has(.bloack-message) {
  background-color: #f5f5f5;
}

.bloack-message {
  padding: 80px 0;
  text-align: center;
}
.bloack-message h3 {
  background: url(/dfip/static/front/common/images/bss/mobile.png) no-repeat 50% 0;
  background-size: auto 60px;
  padding-top: 70px;
  font-size: 18px;
  color: #000;
}
.bloack-message p {
  color: #717171;
  font-size: 13px;
  margin: 8px 0 30px;
}
.bloack-message .btn-xl {
  width: 360px;
  max-width: 80vw;
}


/*
  251205 사이트맵
*/

.sitemap-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  width: 100%;
}

.sitemap-column {
  display: flex;
  flex-direction: column;
}
.sitemap-column__title {
  border-radius: 12px;
  border: 1px solid #6CBF84;
  background: rgba(220, 246, 227, 0.20);
  display: flex;
  height: 56px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  color: #1B622F;
  text-align: center;
  font-family: "Pretendard GOV";
  font-size: 21px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.sitemap-column__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
.sitemap-column__list > li {
  border-bottom: 1px solid #E6E8EA;
  position: relative;
}
.sitemap-column__list > li > a {
  display: flex;
  height: 48px;
  padding: 10px 10px 10px 20px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  transition: color 0.4s ease;
  font-size: 17px;
  color: #131416;
}
.sitemap-column__list > li > a:hover, .sitemap-column__list > li > a:focus {
  color: #2F0B4B;
  font-weight: 500;
}
.sitemap-column__sublist {
  display: flex;
  padding: 16px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-top: 1px solid #E6E8EA;
  background: #F4F5F6;
}
.sitemap-column__sublist li {
  position: relative;
  padding-left: 12px;
}
.sitemap-column__sublist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  background: url(/dfip/static/images/portal/sitemap-dot.svg) no-repeat center center;
  line-height: 1;
  width: 4px;
  height: 4px;
}
.sitemap-column__sublist li a {
  display: block;
  font-size: 17px;
  color: #464C53;
  text-decoration: none;
  transition: color 0.2s ease;
}
.sitemap-column__sublist li a:hover, .sitemap-column__sublist li a:focus {
  color: #6719A6;
}

@media (max-width: 1024px) {
  .sitemap-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .sitemap-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* 모바일에서만 보이기 */
@media (min-width: 761px) {
  .mobile-only {
    display: none !important;
  }
}
@media (max-width: 760px) {
  .mobile-only {
    display: block;
  }
}


.office-list-container .sub-item {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.office-list-container .sub-item h3{
   margin-bottom:10px;
}


/*
  modal
*/

.search-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.search-modal.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/dfip/static/images/portal/search-modal-overlay.svg") center center no-repeat;
  background-size: cover;
}
.search-modal__container {
  position: relative;
  z-index: 10000;
}
.search-modal__header {
  text-align: center;
  margin-bottom: 30px;
}
.search-modal__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  font-family: var(--font-family-secondary);
  font-size: 52px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-modal__title i {
  display: inline-block;
  margin-left: 10px;
  font-size: 0;
  width: 60px;
  height: 60px;
  background: url("/dfip/static/images/portal/icon-search-title.svg") center no-repeat;
}

.search-modal__search-bar .search-input-section .search-input-wrapper input {
  width: 540px;
}
.search-input-section .search-input-wrapper input:focus {
  box-shadow: none;
}
@media screen and (max-width: 1024px) {
  .search-modal__title{font-size: 24px;}
  .search-modal__search-bar .search-input-section .search-input-wrapper input {
    width: 100%;
  }
}
.search-modal__content {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 30px;
}
.search-modal__section {
  padding: 32px;
  border-radius: 12px;
  background: #DBF5E2;
  box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.2);
  margin-top: 24px;
}
.search-modal__section-title {
  color: var(--primary, #2DA34F);
  font-family: var(--font-family-secondary);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 15px;
}
.search-modal__list, .search-modal__ranking-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-modal__list-item,
.search-modal .ranking-list .ranking-item {
  display: flex;
  height: 32px;
  padding: 0 12px;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  border-radius: 8px;
  background: var(--g-00, #FFF);
}
.search-modal__list-item button {
  display: flex;
  align-items: center;
  gap: 0 4px;
  color: #131416;
  font-size: 15px;
}
.search-modal__list-item .hash {
  color: #81C895;
}
.search-modal .ranking-list .ranking-item .num {
  background-color: #F4F5F6;
  color: #131416;
  font-family: var(--font-family-secondary);
  font-size: 15px;
  font-weight: 900;
}
.search-modal .ranking-list .ranking-item .word {
  color: var(--color-primary);
}
.search-modal__close-btn {
  display: block;
  margin: 10vh auto 0;
  font-size: 15px;
  transition: transform 0.2s;
  width: 56px;
  height: 56px;
  gap: 10px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1) url("/dfip/static/images/portal/search-modal-close.svg") center no-repeat;
}
.search-modal__close-btn:hover {
  transform: rotate(90deg);
}

.search-section {
  position: relative;
  z-index: 2;
}

.search-section:has(.is-active) .search-input-section {
  border-radius: 28px 28px 0 0;
  background: #fff;
}
.search-section:has(.is-active) .search-input-section .search-input-wrapper {
  border-radius: 28px 28px 0 0;
}

.search .search-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 1024px) {
  .search .search-header {
    flex-wrap: wrap;
  }
  .search .search-header .ranking {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

.search .search-research {
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .search .search-research {
    display: none;
  }
}

.search-input-section {
  position: relative;
  background: white;
  border-radius: 50px;
  padding: 3px;
  background: linear-gradient(to right, #2d7a5e, #4a9d7e);
}
.search-input-section .search-input-wrapper {
  background-color: #fff;
  border-radius: 48px;
  padding: 3px;
  display: flex;
  align-items: center;
  padding-right: 16px;
  gap: 8px;
}
.search-input-section .search-input-wrapper input {
  padding-left: 32px;
  width: 350px;
  height: 50px;
  outline: none;
  background: none;
}
@media screen and (max-width: 1024px) {
  .search-input-section .search-input-wrapper input {
    width: 100%;
    font-size: 15px;
    padding-left: 15px;
  }
}

.search-dropdown {
  overflow: hidden;
  display: none;
  position: absolute;
  top: 56px;
  left: 0;
  width: 100%;
  background-color: #fff;
  padding: 0 32px 0px 32px;
  border-radius: 0 0 28px 28px;
  border: 1px solid var(--g-10, #e6e8ea);
  background: #fff;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1024px) {
  .search-dropdown {
    padding-left: 17px;
    padding-right: 17px;
  }
}
.search-dropdown.is-active {
  display: block;
}

.search-suggestions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0 16px 0;
}
.search-suggestions .suggestion-item {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 0 4px;
}
.search-suggestions .suggestion-item:hover {
  text-decoration: underline;
}
.search-suggestions .suggestion-item .suggestion-text {
  font-size: 15px;
  color: #333;
}
.search-suggestions .suggestion-item .highlight {
  font-weight: 700;
}
.switch {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 16px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch input:checked + .switch-slider {
  background-color: var(--color-brand-primary);
}
.switch input:checked + .switch-slider::before {
  transform: translateX(12px);
  background: #fff url("/dfip/static/images/portal/slider-chk.png") no-repeat center center;
}
.switch input:disabled + .switch-slider {
  cursor: not-allowed;
}
/* .switch input:focus + .switch-slider {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
} */
.icon-search {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  background-image: url("/dfip/static/images/portal/icon-search.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.switch-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  border-radius: 100px;
  transition: all 0.2s;
  background: #E6E8EA;
  
}
.switch-slider::before {
  content: "";
  position: absolute;
  height: 12px;
  width: 12px;
  left: 2px;
  bottom: 2px;
  background: #8A949E url("/dfip/static/images/portal/slider-off.png") no-repeat center center;
  border-radius: 50%;
  transition: transform var(--transition-fast);
  
}
.search-settings {
  
}
.search-settings .setting-item {
  display: flex;
  align-items: center;
  gap: 0 8px;
  justify-content: space-between;
}
.search-settings .setting-item .setting-label {
  color: #000;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.search-settings .setting-item .switch {
  margin-left: 0;
}
.search-settings .setting-item .close-btn {
  font-size: 15px;
  color: #33363d;
}

.search-history {
  padding: 8px 32px 0;
  margin: 0 -32px;
  display: flex;
  flex-direction: column;
  gap: 8px 0;
}
.search-history .setting-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  
}

.setting-item{
  padding: 8px 32px;
  margin: 0 -32px;
  background-color: #F4F5F6;
}

.setting-item:has(.searchSetting){
  border-bottom: 1px solid #E6E8EA;
  padding-top: 8px;
  padding-bottom: 8px;
}

.search-settings .clear-btn {
  color: #6d7882;
  font-size: 15px;
  text-decoration: underline;
}
.search-settings .setting-label {
  color: #000;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.search-settings .history-item {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.search-settings .history-item .history-text {
  font-size: 14px;
  color: #333;
  flex: 1;
}
.search-detail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 56px;
  padding: 0 24px;
  border-radius: 100px;
  border: 1px solid rgba(19, 20, 22, 0.2);
  background: var(--color-brand-primary);
  border: 1px solid rgba(19, 20, 22, 0.2);
}
.search-detail-btn .text {
  color: #fff;
  font-size: 17px;
}
@media screen and (max-width: 1024px) {
  .search-settings .setting-item .setting-label {
    gap: 0 6px;
    font-size: 14px;
  }
  .search-settings .setting-item .close-btn {
    font-size: 13px;
  }
  .search-history {
    padding: 6px 16px 0;
    margin: 0 -16px;
    gap: 6px 0;
  }
  .search-history .setting-item {
    padding-bottom: 12px;
  }
  .setting-item {
    padding: 6px 16px;
    margin: 0 -16px;
  }
  .setting-item:has(.searchSetting) {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .search-settings .clear-btn {
    font-size: 13px;
  }
  .search-settings .setting-label {
    font-size: 14px;
    gap: 0 6px;
  }
  .search-settings .history-item {
    gap: 0 3px;
  }
  .search-settings .history-item .history-text {
    font-size: 13px;
  }
  .search-detail-btn {
    height: 48px;
    padding: 0 20px;
    gap: 2px;
  }
  .search-detail-btn .text {
    font-size: 15px;
  }
}

.history-list .konan-recent li {
  display: flex;
  align-items: center;
  gap: 0 4px;
}

.history-list .konan-recent li a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  background: url("/dfip/static/images/portal/icon-time.png") no-repeat left center;
}

.history-list .konan-recent li a {
  font-size: 14px;
  color: #333;
  flex: 1;
}
.history-list .konan-recent li .ui-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url(/dfip/static/images/portal/icon-delete.svg);
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url(/dfip/static/images/portal/icon-delete.svg);
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #6D7882;
}

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

.ranking-wrapper {
  overflow: hidden;
  height: 24px;
  position: relative;
}

.ranking-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  will-change: transform;
}

.ranking-list .ranking-item button {
  display: flex;
  align-items: center;
}
.ranking-list .ranking-item .num {
  display: flex;
  width: 24px;
  height: 24px;
  padding: 2px 4px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  font-weight: 900;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.3);
}
.ranking-list .ranking-item .word {
  font-size: 15px;
  color: #fff;
  display: flex;
  vertical-align: top;
  line-height: 24px;
}
.ranking-list .ranking-item .word::before {
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  font-size: 0;
}
.ranking-list .ranking-item .word.up::before {
  content: "상승";
  background-image: url("/dfip/static/images/portal/up.svg");
}
.ranking-list .ranking-item .word.down::before {
  content: "하락";
  background-image: url("/dfip/static/images/portal/down.svg");
}
.ranking-list .ranking-item .word.same::before {
  content: "동일";
  background-image: url("/dfip/static/images/portal/same.svg");
}

.ranking-container {
  position: relative;
}

.ranking-wrapper-clone {
  z-index: 2;
  position: absolute;
  top: -10px;
  left: 0;
  display: none;
  width: 200px;
  min-width: 200px;
  padding: 16px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  border-radius: 12px;
  border: 2px solid #2F0B4B;
  background: #FFF;
}
@media screen and (min-width: 1024px) {
  .ranking-wrapper-clone.is-open {
    display: flex;
  }
}

.ranking-wrapper-clone-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.ranking-wrapper-clone-header strong {
  color: #000;
  font-size: 15px;
  font-weight: 700;
}
.ranking-wrapper-clone-header span {
  color: #58616A;
  font-size: 13px;
  font-weight: 400;
}
.ranking-wrapper-clone-header button {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  background: url("/dfip/static/images/portal/ui-close-icon.svg") center no-repeat;
  font-size: 0;
}

#rankingListClone {
  width: 100%;
}
#rankingListClone .ranking-item {
  width: 100%;
  border-bottom: 1px solid var(--g-20, #CDD1D5);
}
#rankingListClone .num {
  background-color: #F4F5F6;
  color: #811FD0;
}
#rankingListClone .word {
  color: #131416;
}

.search .search-info .search-info-inner {
  color: #fff;
}
.search .filter-select,
.search .filter-group {
  color: #fff;
}
.search .sort-label,
.search .sort-buttons .sort-btn {
  color: #fff;
}
.search .sort-buttons .sort-btn.active {
  color: #000;
}
.search .filter-select {
  background-image: url("/dfip/static/images/portal/ui-select-arrow.svg");
}
.search .subtop-title {
  color: #fff;
  font-size: 40px;
}
@media screen and (max-width: 1024px) {
  .search .subtop-title{
    font-size: 24px;
  }
}
.search .breadcrumb li + li {
  background-image: url("/dfip/static/images/portal/breadcrumb-arrow-right-white.svg");
}
.search .breadcrumb li a {
  color: #fff;
}
.search .breadcrumb li span {
  color: #fff;
}
.search .breadcrumb li:first-child a {
  background-image: url("/dfip/static/images/portal/breadcrumb-home-icon-white.svg");
}

.search-category {
  margin-top: 32px;
}

.tabSwiper {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .tabSwiper {
    background-color: rgb(217, 217, 217);
    padding: 0 30px;
  }
}
.tabSwiper .swiper-button-prev::after,
.tabSwiper .swiper-button-next::after {
  color: #333;
  font-size: 15px;
}
.tabSwiper .swiper-button-prev {
  left: 0;
}
.tabSwiper .swiper-button-next {
  right: 0;
}
.tabSwiper .swiper-slide {
  background-color: rgb(217, 217, 217);
}
@media screen and (max-width: 1024px) {
  .tabSwiper .swiper-slide {
    width: auto;
  }
}
.tabSwiper .swiper-slide button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  width: 100%;
  font-size: 19px;
  white-space: nowrap;
}
.tabSwiper .swiper-slide button[aria-pressed=true] {
  border-radius: 12px;
  background-color: var(--color-brand-primary);
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .tabSwiper .swiper-slide button {
    padding: 0 15px;
    font-size: 15px;
    height: 48px;
  }
}

.search-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
}
@media screen and (max-width: 1024px) {
  .search-info {
    flex-direction: column;
    align-items: center;
    gap: 16px 0;
  }
}
.search-info .search-info-inner {
  color: #131416;
  font-size: 19px;
}
.search-info .search-info-inner span {
  font-weight: 700;
  font-size: 25px;
}
@media screen and (max-width: 1024px) {
  .search-info .search-info-inner {
    font-size: 13px;
  }
  .search-info .search-info-inner span {
    font-size: 17px;
  }
}
.accordion-container {
  border-radius: 20px;
  border: 1px solid #2DA34F;
  background: linear-gradient(90deg, rgba(45, 163, 79, 0.12) 0%, rgba(27, 93, 136, 0.12) 100%), #FFF;
  border-radius: 16px;
  padding: 33px 52px;
}
@media screen and (max-width: 1024px) {
  .accordion-container {
    padding: 16px 20px;
  }
}
.accordion-container .accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.accordion-container .accordion-title {
  background: var(--gr-1, linear-gradient(90deg, #2DA34F 0%, #1B5D88 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--font-family-secondary);
  font-size: 25px;
  font-weight: 900;
}
@media screen and (max-width: 1024px) {
  .accordion-container .accordion-title {
    font-size: 17px;
  }
}
.accordion-container .accordion-icon {
  transition: transform 0.3s ease;
}

@media screen and (max-width: 1024px) {
  .accordion-container .accordion-icon{
    width: 20px;
    height: 20px;
  }
}

.accordion-container .accordion-icon.open {
  transform: rotate(180deg);
}
.accordion-container .accordion-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .accordion-container .accordion-content {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.accordion-container .accordion-content.open {
  max-height: 1000px;
  margin-top: 16px;
}

.search-result-list {
  display: flex;
  flex-direction: column;
  margin-top: 36px;
  gap: 32px;
}
.search-result-list .section {
  border-radius: 12px;
  border: 1px solid #e6e8ea;
  background: #fff;
}
.search-result-list .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 52px;
}
@media screen and (max-width: 1024px) {
  .search-result-list .section-header {
    padding: 16px 20px;
  }
}
.search-result-list .section-title {
  font-size: 32px;
  line-height: 1;
}
.search-result-list .section-count {
  color: #58616a;
  font-size: 19px;
}
.search-result-list .section-count .number {
  color: #2da34f;
  font-size: 25px;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .search-result-list .section-title{
    font-size: 17px;
  }
  .search-result-list .section-count{
    font-size: 13px;
  }
  .search-result-list .section-count .number{
    font-size: 11px;
  }
}

.card-grid {
  padding: 0 52px 32px 52px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .card-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding: 0 20px 16px 20px;
  }
}
.card-grid.full-width {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.card {
  background: #fff;
  border: 1px solid #cdd1d5;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card:has(.card-thumbnail) {
  flex-direction: row;
  gap: 24px;
}
.card:has(.card-thumbnail) .card-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card .card-thumbnail {
  width: 200px;
  height: 150px;
}
.card .card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card .card-badge {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 8px;
}
.card .card-title {
  color: var(--g-95, #131416);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.card .card-subtitle {
  line-height: 1.34;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card .card-subtext {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  padding-top: 12px;
}
.card .card-subtext .item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.card .card-subtext .item b {
  font-weight: 400;
  color: var(--color-tertiary);
  font-size: 15px;
}
.card .card-subtext .item em {
  color: var(--color-secondary);
  font-style: normal;
}
.card .card-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid #e6e8ea;
}

.more-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  border-top: 1px solid #e6e8ea;
}
@media screen and (max-width: 1024px) {
  .card{
    padding: 16px;
  }
  .card .card-title {
    font-size: 16px;
  }
  .card .card-subtext .item b {
    font-size: 13px;
  }
  .card .card-subtext {
    padding-top: 8px;
    gap: 3px 0;
  }
  .card .card-footer {
    padding-top: 12px;
  }
  .more-link {
    padding: 16px 0;
  }
}
.more-link-text {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 19px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .more-link-text{
    font-size: 13px;
  }
  .more-link-text i{
    width: 18px;
    height: 18px;
  }
}
.more-link-text i {
  transition: all 0.3s ease;
  transform: translateX(0);
}
.more-link:hover, .more-link:focus {
  text-decoration: underline;
}
.more-link:hover .icon-arrow-right, .more-link:focus .icon-arrow-right {
  transform: translateX(4px);
}

.search-detail-filter {
  width: 812px;
}
@media screen and (max-width: 1200px) {
  .search-detail-filter {
    width: 100%;
  }
}

.filter-content {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
}
.filter-content .divider {
  background-color: #e6e8ea;
  height: 1px;
}
.filter-content .filter-row {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .filter-content .filter-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px 0;
  }
}
.filter-content .filter-row .filter-title {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 160px;
  padding: 7px 0;
  flex-shrink: 0;
  font-weight: 600;
  background: #f4f5f6;
  border-radius: 8px;
  font-size: 17px;
}
@media screen and (max-width: 1200px) {
  .filter-content .filter-row .filter-title {
    width: 100%;
    text-align: center;
    padding: 7px 0;
    font-size: 14px;
  }
}
.filter-content .filter-row .filter-column {
  position: relative;
  padding-left: 32px;
  display: flex;
  flex: 1;
}
.filter-content .filter-row .filter-column::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #e6e8ea;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .filter-content .filter-row .filter-column {
    padding-left: 0;
    width: 100%;
  }
  .filter-content .filter-row .filter-column::before {
    display: none;
  }
}

.filter-footer {
  padding-top: 40px;
  border-top: 1px solid #e6e8ea;
}

.form-checkbox-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 1;
  gap: 8px 0;
}
.form-checkbox-group.length-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media screen and (max-width: 1200px) {
  .form-checkbox-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .form-checkbox-group.length-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



.search-badge{
  border-radius: 20px;
  border: 1px solid #81C895;
  background: #FFF;
  display: flex;
  height: 40px;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  color: #299347;
}
.search-badge-sm{
  display: flex;
  height: 24px;
  padding: 2px 4px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #DBF5E2;
  color: #299347;
  font-size: 15px;
  font-weight: 400;
}
.card-subtext-item{
  padding-top: 12px;
}
.card-subtext-item dl{
  display: flex;
  
  gap: 0 4px;
}
.card-subtext-item dl+dl{margin-top: 6px;}
.card-subtext-item dl dt{
  font-weight: 400;
  font-size: 15px;
  color: #666;
  flex-shrink: 0;
}
.card-subtext-item dl dd{
  font-weight: 400;
  font-size: 15px;
  color: #58616A;
}
@media screen and (max-width: 1024px) {
  .search-badge {
    height: 32px;
    padding: 0 16px;
    font-size: 14px;
    border-radius: 16px;
  }
  .search-badge-sm {
    height: 20px;
    padding: 2px 6px;
    font-size: 13px;
  }
  .card-subtext-item {
    padding-top: 8px;
  }
  .card-subtext-item dl dt {
    font-size: 13px;
  }
  .card-subtext-item dl dd {
    font-size: 13px;
  }
}



/*
  footer
*/

.related-sites-container{
  position: relative;
}

.related-sites {
  border: 1px solid #E4E4E4;
  border-left: 0;
  border-right: 0;
}
.related-sites .container {
  display: flex;
  border-left: 1px solid #E4E4E4;
}
.related-sites .related-sites-button {
  padding: 15px 24px;
  border-right: 1px solid #E4E4E4;
  display: flex;
  gap: 0 8px;
  align-items: center;
}
.related-sites .related-sites-button span {
  width: 166px;
  text-align: left;
}

.footer {
  background-color: #F4F5F6;
}

.footer-logos {
  padding: 40px 0;
}
.footer-logos .mi-group {
  gap: 0 40px;
}

.footer-logos .mi-24 {
  background: url("/dfip/static/images/portal/d-logo.svg") no-repeat center center;
  width: 186px;
  height: 20px;
  font-size: 0;
}

.footer-info{
  position: relative;
}
.footer-support{
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  gap: 0 16px;
}

.footer-support .support-item{
  border-radius: 20px 52px 20px 20px;
  background: #FFF;
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.footer-support .support-item strong{
  display: block;
  color: #33363D;
  background-repeat: no-repeat;
  background-position: 0 50%;
  padding-left: 24px;
}
.footer-support .support-item strong.support-phone1{
  background-image: url("/dfip/static/images/portal/icon-phone1.svg");
}
.footer-support .support-item strong.support-phone2{
  background-image: url("/dfip/static/images/portal/icon-phone2.svg");
}

.footer-support .support-item .support-phone{
  display: block;
  color: #131416;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}

.footer-support .support-item .support-phone em{
  font-size: 17px;
  color: #33363D;
  font-weight: 400;
  font-style: normal;
}

.footer-info .info-row {
  display: flex;
  align-items: center;
  gap: 0 16px;
  color: #131416;
  margin-bottom: 12px;
}
.footer-info .info-row:last-child {
  margin-bottom: 0;
}
.footer-info .info-label {
  font-weight: 700;
  color: #33363D;
}
.footer-info .divider {
  width: 1px;
  height: 12px;
  background: #6D7882;
}

.footer-last {
  position: relative;
  border-top: 1px solid #E4E4E4;
  margin-top: 24px;
  padding: 16px 0;
}

.footer-last .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 0 24px;
}
.footer-links a {
  color: #1E2124;
  font-weight: 700;
}
.footer-links a.bold {
  color: #1f7237;
}
.footer-links .divider {
  width: 1px;
  height: 12px;
  background: #6D7882;
}

.footer-copyright p {
  color: #464C53;
  font-size: 15px;
}

@media screen and (max-width: 1024px) {
  .footer-support {
    position: static;
    flex-direction: column;
    gap: 16px 0;
    margin-top: 24px;
  }

  .footer-support .support-item {
    padding: 24px;
    width: 100%;
  }

  .footer-support .support-item .support-phone {
    font-size: 20px;
  }

  .footer-support .support-item .support-phone em {
    font-size: 14px;
  }

  .footer-info {
    position: relative;
  }

  .footer-info .info-row {
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 14px;
  }

  .footer-info .info-label {
    font-size: 14px;
  }

  .footer-last .container {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .footer-links {
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 14px;
  }

  .footer-links a {
    font-size: 14px;
  }

  .footer-copyright {
    width: 100%;
  }

  .footer-copyright p {
    font-size: 13px;
  }
}


#detailSearchModal{
  display: none;
}

.related-sites {
  border: 1px solid #E4E4E4;
  border-left: 0;
  border-right: 0;
  position: relative;
}
.related-sites .container {
  display: flex;
  border-left: 1px solid #E4E4E4;
  position: relative;
}
.related-sites .related-sites-button {
  padding: 15px 24px;
  border-right: 1px solid #E4E4E4;
  display: flex;
  gap: 0 8px;
  align-items: center;
  background: transparent;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  cursor: pointer;
  font-size: 15px;
  color: #131416;
  transition: background-color 0.3s ease;
}
.related-sites .related-sites-button:hover {
  background-color: #F4F5F6;
}
.related-sites .related-sites-button .icon-plus {
  transition: transform 0.3s ease;
  width: 18px;
  height: 18px;
  background: url("/dfip/static/images/portal/icon-plus.png") no-repeat center center;
}
.related-sites .related-sites-button.active .icon-plus {

}
.related-sites .related-sites-list {
  position: absolute;
  bottom: 100%;
  left: -1px;
  right: -1px;
  background: #fff;
  border: 1px solid #ddd;
  z-index: 100;
  padding: 16px 0;
  margin: 0;
  list-style: none;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.related-sites .related-sites-list li {
  padding: 0;
  margin: 0;
}
.related-sites .related-sites-list li a {
  display: block;
  padding: 12px 24px;
  color: #131416;
  text-decoration: none;
  font-size: 15px;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.related-sites .related-sites-list li a:hover {
  background-color: #F4F5F6;
  color: #2DA34F;
}


.alert-message{
  margin-bottom: 24px;
  display: flex;
  width: 100%;
  padding: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  border-radius: 8px;
  border: 1px solid #E6E8EA;
  background: #F4F5F6;
}
.alert-message-title{
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  color: #1E2124;
  background: url(/dfip/static/images/portal/system-info.png) no-repeat left center;
  padding-left: 32px;
  display: block;
  height: 24px;
  line-height: 24px;
}
.alert-message-content{
  padding-left: 32px;
}
.alert-message-content p{
  font-size: 15px;
  line-height: 150%;
  color: #1E2124;
  position: relative;
  padding-left: 10px;
  margin-left: 10px;
}
.alert-message-content p::after{
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #1E2124;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}


.board-viewer_caption{
  border: 1px solid #f5f5f5;
  background: #fff;
  overflow-y: auto;
  padding: 12px 30px;
  color: #666666;
  font-weight: 300;
  line-height: 1.5;
  display: none;
}

.footer-wa{
  display: flex;
  align-items: center;
  gap: 0 16px;
}
.footer-wa .apmg img{
  width: 140px;
}
.footer-wa .wa img{
  width: 110px;
}
@media screen and (max-width: 1024px) {
  .footer-wa{
    display: none;
  }
  
}