﻿@charset "UTF-8";

/* layout */
html,
body {
  width: 100%;
  height: 100%;
}

body.fixed {
  overflow-y: hidden;
}

.main {
  width: 100%;
  height: 100%;
  padding-top: 122px;
  /* overflow: hidden; */
}

#wrap {
  width: 100%;
  min-height: 100%;
  position: relative;
  padding-bottom: 420px;
}

.container {
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Header */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 122px;
  z-index: 101;
  background-color: #fff;
  border-bottom: 1px solid #dee2e6;
  transition: 0.35s;
}

.header.open {
  /*height: 522px;*/
  height: 448px;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  max-width: 1480px;
  margin: 0 auto;
}

.header__top {
  width: 100%;
  height: 42px;
  background-color: #17234A;
  font-size: 13px;
  color: #fff;
}

.header_customer {
  position: relative;
}

.header_customer .btn_open_menu span {
  position: relative;
  padding-right: 14px;
}

.header_customer .btn_open_menu span::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow_white.svg) no-repeat center center / contain;
}

.header_customer .customer_menu {
  visibility: hidden;
  height: 0;
  width: 114px;
  padding: 0;
  position: absolute;
  right: 0;
  top: 23px;
  background-color: #fff;
  border-radius: 8px;
  z-index: 10;
  transition: none;
  overflow: hidden;
  box-shadow: 0 0 10px rgb(0, 0, 0, 0.16);
}

.header_customer .customer_menu.open {
  visibility: visible;
  height: auto;
  padding: 8px 0;
  transition: 0.35s;
}

.header_customer .customer_menu li {
  opacity: 0;
  height: 30px;
  line-height: 30px;
  transition: 0.1s 0s;
}

.header_customer .customer_menu li:hover {
  background-color: #E5E5EC;
}

.header_customer .customer_menu.open li {
  opacity: 1;
  transition: 0.3s 0.2s;
}

.header_customer .customer_menu li.link a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #111;
}

.header__bottom {
  width: 100%;
  height: 80px;
}

.header__gnb {
  display: flex;
  align-items: center;
  gap: 56px;
  height: 100%;
}

.logo {
  display: inline-block;
  width: 133px;
  height: 28px;
}

.logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

nav.gnb {
  height: 100%;
}

nav.gnb>ul {
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative;
  height: 100%;
}

nav.gnb li.gnb_li--1depth {
  height: 100%;
}

nav.gnb li.gnb_li--1depth>a {
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  padding-right: 14px;
  font-weight: 500;
}

nav.gnb li.gnb_li--1depth>a::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

nav.gnb .gnb--2depth__box {
  min-width: 762px;
  visibility: hidden;
  position: absolute;
  padding-top: 32px;
  z-index: 11;
  left: 0;
}

nav.gnb .gnb--2depth__box.open {
  visibility: visible;
}

nav.gnb .gnb--2depth__wrap {
  opacity: 0;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  transition: 0.1s 0s;
}

nav.gnb .gnb--2depth__box.open .gnb--2depth__wrap {
  opacity: 1;
  transition: 0.2s 0.2s;
}

nav.gnb ul.gnb--2depth {
  /*width: 200px;*/
  width: auto;
  padding-right: 40px;
  align-self: stretch;
  border-right: 1px solid #E5E5EC;
}

nav.gnb ul.gnb--2depth:last-of-type {
  padding-right: 0px;
  border-right: none;
}

nav.gnb ul.gnb--2depth .gnb_li--tit {
  font-weight: 600;
  color: #111;
  margin-bottom: 20px;
}

nav.gnb ul.gnb--2depth li.gnb_li--2depth {
  color: #333;
  margin-bottom: 20px;
}

nav.gnb ul.gnb--2depth li.gnb_li--2depth a{
  transition: text-shadow 0.2s;
}

nav.gnb ul.gnb--2depth li.gnb_li--2depth a::after{
  content: attr(data-text);
  display: block;
  font-weight: 600;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

nav.gnb ul.gnb--2depth li.gnb_li--2depth a:hover {
  color: var(--color-brand);
  font-weight: 600;
  /*text-shadow: 0 0 1px currentColor, 0 0 1px currentColor;*/
}

.header__account {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.header__account .btn {
  width: 100px;
  font-weight: 600;
}

.header__account .account_info {
  position: relative;
}

.header__account .account_info p.nickname {
  font-size: 16px;
  width: 100%;
  padding: 11px 16px;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #E5E5EC;
  position: relative;
  min-width: 131px;
}

.header__account .account_info p.nickname::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

.header__account .account_info ul.info_menu {
  visibility: hidden;
  height: 0;
  position: absolute;
  top: 48px;
  left: 0;
  width: 100%;
  background-color: #fff;
  border-radius: 8px;
  z-index: 10;
  box-shadow: 0 0 10px rgb(0, 0, 0, 0.16);
  padding: 0;
  transition: none;
  overflow: hidden;
}

.header__account .account_info ul.info_menu.open {
  visibility: visible;
  height: auto;
  padding: 8px 0;
  transition: 0.35s;
}


.header__account .account_info ul.info_menu li {
  opacity: 0;
  transition: 0.1s 0s;
  height: 30px;
  line-height: 30px;
}

.header__account .account_info ul.info_menu.open li {
  opacity: 1;
  transition: 0.3s 0.2s;
}

.header__account .account_info ul.info_menu.open li:hover {
  background-color: #E5E5EC;
}

.header__account .account_info ul.info_menu li a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0 16px;
}

.header .btn_mo_menu {
  display: none;
  width: 28px;
  height: 28px;
  background: url(/_img/icon/icon_mo_menu.svg);
}

.header_bg {
  position: absolute;
  top: 121px;
  left: 0;
  width: 100%;
  height: 0px;
  z-index: 1;
  visibility: hidden;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: 0.35s;
}

.header.open .header_bg {
  /*height: 400px;*/
  visibility: visible;
}

.header__account .header_notice {
  visibility: hidden;
  position: absolute;
  top: 98px;
  right: 0;
  width: 329px;
  z-index: 2;
  transition: visibility 0s;
}

.header.open .header__account .header_notice {
  visibility: visible;
  transition: visibility 0.35s 0.2s;
}

.header_notice .thum {
  width: 100%;
  height: 220px;
  border-radius: 16px;
  overflow: hidden;
  background-color: #dee2e6;
}

.header_notice .desc {
  margin-top: 16px;
}

.header_notice .desc h3 {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 8px;
}

.header_notice .desc p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  line-height: 1.5;
  height: 48px;
}

aside.sidebar {
  visibility: hidden;
  position: fixed;
  width: 100vw;
  height: 100dvh;
  z-index: 1000;
  background-color: rgb(0, 0, 0, 0.4);
}

aside.sidebar.open {
  visibility: visible;
}

.sidebar__inner {
  position: absolute;
  right: -100%;
  transition: 0.35s 0s;
  top: 0;
  width: 320px;
  height: 100%;
  padding-left: 20px;
  padding-right: 8px;
  background-color: #fff;
  overflow-y: auto;
}

.sidebar__inner::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.sidebar__inner::-webkit-scrollbar-thumb {
  height: 30%;
  background: #E5E5EC;
  border-radius: 10px;
}

.sidebar__inner::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 20px;
}

aside.sidebar.open .sidebar__inner {
  right: 0;
  transition: 0.35s 0.2s;
}

.btn_close_sidebar {
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 16px;
  top: 20px;
  right: 20px;
  background: url(/_img/icon/icon_aside_close.svg) no-repeat center center / contain;
}

.sidebar__content {
  margin-top: 60px;
  /* padding-right: 8px;
  height: calc(100dvh - 218px);
  overflow-y: auto; */
}

.sidebar .header_customer .btn_open_menu {
  width: 100%;
  height: 40px;
  text-align: left;
  border-bottom: 1px solid #000;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
}

.sidebar .header_customer .btn_open_menu::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

.sidebar .customer_menu {
  width: 100%;
  top: 45px;
}

/*.sidebar .customer_menu.open {
  height: 105px;
}*/

.sidebar .customer_menu li.link:nth-child(1) {
  display: none;
}

nav.sidebar__gnb {
  margin-top: 24px;
}

nav.sidebar__gnb .gnb_li--1depth>a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 48px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
  position: relative;
}

nav.sidebar__gnb .gnb_li--1depth>a::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

nav.sidebar__gnb .gnb_li--1depth>a.active::after {
  transform: translateY(-50%) scaleY(-1);
}

nav.sidebar__gnb .gnb--2depth__wrap {
  display: none;
}

nav.sidebar__gnb .gnb--2depth__wrap.open {
  display: block;
}

nav.sidebar__gnb .gnb--2depth {
  padding: 4px 0;
  border-bottom: 1px solid #E5E5EC;
}

nav.sidebar__gnb .gnb--2depth ul {
  display: none;
}

nav.sidebar__gnb .gnb--2depth ul.open {
  display: block;
}

nav.sidebar__gnb .gnb--2depth__wrap .gnb_2depth__open,
nav.sidebar__gnb .gnb--2depth__wrap .gnb_li--2depth {
  display: flex;
  align-items: center;
  padding: 0 16px;
  width: 100%;
  height: 40px;
  position: relative;
  font-size: 14px;
  font-weight: 500;
  color: #111;
}

nav.sidebar__gnb .gnb--2depth .gnb_2depth__open::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

nav.sidebar__gnb .gnb--2depth .gnb_2depth__open.active::after {
  transform: translateY(-50%) scaleY(-1);
}

nav.sidebar__gnb .gnb--2depth__wrap .gnb_li--2depth {
  font-weight: 400;
}

nav.sidebar__gnb .gnb--2depth__wrap .gnb_li--2depth>a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #333333;
}

nav.sidebar__gnb .gnb--2depth__wrap .gnb_li--2depth>a:hover,
nav.sidebar__gnb .gnb--2depth__wrap .gnb_li--2depth>a.active {
  color: var(--color-brand);
  font-weight: 600;
}

.sidebar .header__account {
  margin-top: 24px;
}

.sidebar .header__account .btn,
.sidebar .header__account .account_info {
  flex: 1;
}

/* Footer */
.footer {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -420px;
  height: 420px;
  transform: translateY(-100%);
  background-color: #111111;
}

.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 64px 20px 0px;
  max-width: 1480px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.6;
  color: #999;
}

.footer .footer_info {
  margin-top: 20px;
}

.footer .footer_info li {
  margin-bottom: 8px;
}

.footer .footer_privacy {
  margin-top: 20px;
  line-height: 1.6;
}

.footer .footer_privacy a.link {
  color: #fff;
  text-decoration: underline;
}

.footer .footer_contact p {
  margin-top: 8px;
  line-height: 1.6;
}

.footer .footer_contact h3.tel {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}

.footer .footer_contact .flex {
  align-items: center;
  gap: 8px;
}

.footer .footer_contact .flex p {
  margin-top: 0;
}

.layout {
  padding: 0 20px;
  max-width: 1480px;
  margin: 0 auto;
  display: flex;
  /*gap: 40px;
  padding-top: 80px;
  padding-bottom: 120px;*/
  gap:20px;
  padding-top: 40px;
  padding-bottom: 80px;
}

.layout__lnb {
  width: 298px;
  flex-shrink: 0;
}

.layout__lnb ul.breadcrumb {
  display: none;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  max-width: 100%;
  padding-bottom: 8px;
  border-bottom: 2px solid #dee2e6;
  overflow: hidden;
}

.layout__lnb ul.breadcrumb li {
  flex-shrink: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
  font-weight: 600;
  position: relative;
  padding-right: 14px;
  white-space: nowrap;
}

.layout__lnb ul.breadcrumb li:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex-shrink: 1;
}

.layout__lnb ul.breadcrumb li::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 10px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
}

.layout__lnb ul.breadcrumb li:last-child::after {
  content: none;
}

.layout__lnb h2.lnb_title {
  font-size: 24px;
  font-weight: 600;
  color: #111;
}

.layout__lnb nav.lnb {
  margin-top: 16px;
}

nav.lnb ul li.lnb_1depth .open_lnb_2depth {
  display: flex;
  align-items: center;
  width: 100%;
  height: 49px;
  padding: 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: #111;
  position: relative;
  background-color: #fff;
}

/*
nav.lnb ul li.lnb_1depth .open_lnb_2depth::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 8px;
}

nav.lnb ul li.lnb_1depth.open .open_lnb_2depth::after {
  transform: translateY(-50%) scaleY(-1);
}

nav.lnb ul.lnb_2depth {
  max-height: 0;
  visibility: hidden;
}

nav.lnb ul li.lnb_1depth.open ul.lnb_2depth {
  max-height: 100dvh;
  visibility: visible;
}
*/

nav.lnb ul.lnb_2depth {
  max-height: 100dvh;
  visibility: visible;
}

nav.lnb ul.lnb_2depth li a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 49px;
  border-radius: 8px;
  padding: 0 24px;
  font-size: 18px;
  color: #111;
  background-color: #fff;
}

nav.lnb ul.lnb_2depth li.active a {
  background-color: #F5F7FC;
  color: var(--color-brand);
  font-weight: 600;
}

.form_lnb_search {
  margin-top: 16px;
}

.form_lnb_search .search_input {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 49px;
  border: 1px solid #E5E5EC;
  border-radius: 8px;
  padding: 0 16px;
}

.form_lnb_search .search_input input {
  border: none;
  flex: 1;
  height: 100%;
}

.form_lnb_search .search_input .btn_search {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/_img/icon/icon_search--black.svg) no-repeat center / contain;
}

.mo-current__page .current_page {
  display: none;
}

.layout__lnb ul.lnb-link__list {
  margin-top: 16px;
}

.layout__lnb ul.lnb-link__list li {
  width: 100%;
  padding: 12px 8px;
}

.layout__lnb ul.lnb-link__list li.bdb {
  border-bottom: 1px solid #dee2e6;
}

.layout__lnb ul.lnb-link__list li a,
.layout__lnb ul.lnb-link__list li button {
  display: inline-block;
  width: 100%;
  height: 100%;
  font-size: 18px;
}

.layout__lnb ul.lnb-link__list li button {
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  padding: 0;
}

.layout__lnb ul.lnb-link__list li.active a,
.layout__lnb ul.lnb-link__list li.active button {
  font-weight: 600;
}

.layout__contents {
  flex: 1;
  width: calc(100% - 338px);
}

.layout__title {
  padding-bottom: 40px;
  border-bottom: 1px solid #dee2e6;
  position: relative;
}

.layout__title h2 {
  font-size: 34px;
  font-weight: 700;
}

.layout__title .board-type {
  position: absolute;
  right: 0;
  top: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.layout__title .board-type .btn_type {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background-color: #dee2e6;
}

.layout__title .board-type .btn_type.btn--feed {
  background: #dee2e6 url(/_img/icon/icon_feed.svg) no-repeat center center / 22px 20px;
}

.layout__title .board-type .btn_type.btn--feed.active {
  background: #0B3EB3 url(/_img/icon/icon_feed_active.svg) no-repeat center center / 22px 20px;
}

.layout__title .board-type .btn_type.btn--list {
  background: #dee2e6 url(/_img/icon/icon_list.svg) no-repeat center center/ 22px 20px;
}

.layout__title .board-type .btn_type.btn--list.active {
  background: #0B3EB3 url(/_img/icon/icon_list_active.svg) no-repeat center center / 22px 20px;
}

.scroll_top {
  opacity: 0;
  transition: 0.35s;
  position: fixed;
  bottom: 64px;
  right: 64px;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #E5E5EC;
  box-shadow: 0 4px 16px rgb(0, 0, 0, 0.08);
}

.scroll_top span {
  padding-top: 20px;
  font-size: 13px;
  font-weight: 600;
  color: #111;
  position: relative;
}

.scroll_top span:before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: url(/_img/icon/icon_scrolltop.svg) no-repeat center / contain;
}

/* Responsive */
@media screen and (max-width:1200px) {
  .header__account .header_notice {
    display: none;
  }
}

@media screen and (max-width:1000px) {
  nav.gnb {
    display: none;
  }

  .header .header__account {
    display: none;
  }

  .header .btn_mo_menu {
    display: inline-block;
  }

  .header.open {
    height: 122px;
  }

  .header_bg {
    display: none;
  }

  .layout {
    flex-direction: column;
    /*padding-top: 40px;
    padding-bottom: 40px;*/
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .layout__lnb {
    width: 100%;
  }

  .layout__lnb ul.breadcrumb {
    display: flex;
  }

  .layout__lnb h2.lnb_title {
    display: none;
  }

  .layout__lnb nav.lnb {
    display: none;
  }

  .form_lnb_search {
    margin-top: 8px;
  }

  .form_lnb_search .search_input {
    padding: 0 12px;
  }

  .layout__title .board-type {
    gap: 4px;
    top: -4px;
  }

  .layout__title .board-type .btn_type {
    width: 36px;
    height: 36px;
  }

  .layout__title .board-type .btn_type.btn--feed {
    background: #dee2e6 url(/_img/icon/icon_feed.svg) no-repeat center center / 14px 12px;
  }

  .layout__title .board-type .btn_type.btn--feed.active {
    background: #0B3EB3 url(/_img/icon/icon_feed_active.svg) no-repeat center center / 14px 12px;
  }

  .layout__title .board-type .btn_type.btn--list {
    background: #dee2e6 url(/_img/icon/icon_list.svg) no-repeat center center/ 14px 12px;
  }

  .layout__title .board-type .btn_type.btn--list.active {
    background: #0B3EB3 url(/_img/icon/icon_list_active.svg) no-repeat center center / 14px 12px;
  }

  .layout__contents {
    width: 100%;
  }

  .mo-current__page {
    margin-top: 8px;
    position: relative;
  }

  .mo-current__page .current_page {
    display: flex;
    align-items: center;
    width: 100%;
    height: 48px;
    border: 1px solid #E5E5EC;
    border-radius: 8px;
    padding: 0 8px;
    font-size: 14px;
    position: relative;
  }

  .mo-current__page .current_page::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 7px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.35s;
    background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center center / contain;
  }

  .mo-current__page.open .current_page::after {
    transform: translateY(-50%) scaleY(-1);
  }

  .layout__lnb ul.lnb-link__list {
    position: absolute;
    left: 0;
    top: 52px;
    width: 100%;
    margin-top: 0;
    padding: 8px;
    border-radius: 8px;
    background-color: #fff;
    z-index: 100;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease 0.1s;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  }

  .mo-current__page.open ul.lnb-link__list {
    max-height: 800px;
    opacity: 1;
    transition: max-height 0.6s ease, opacity 0.4s ease;
  }

  .layout__lnb ul.lnb-link__list li {
    padding: 0;
    margin-bottom: 12px;
  }

  .layout__lnb ul.lnb-link__list li:last-child {
    margin-bottom: 0;
  }

  .layout__lnb ul.lnb-link__list li a {
    font-size: 14px;
    line-height: 1.4;
  }

  .layout__lnb ul.lnb-link__list li.bdb {
    border-bottom: none;
  }

  .layout__title {
    padding-bottom: 20px;
  }

  .layout__title h2 {
    font-size: 20px;
  }

  .layout__title h2.tac {
    text-align: left;
  }
}

@media screen and (max-width:767px) {
  .main {
    padding-top: 96px;
  }

  #wrap {
    padding-bottom: 483px;
  }

  .header {
    height: 96px;
  }

  .header__top {
    height: 40px;
    font-size: 10px;
  }

  .header .header_customer {
    display: none;
  }

  .header__bottom {
    height: 56px;
  }

  .logo {
    width: 95px;
    height: 20px;
  }

  .footer {
    bottom: -483px;
    height: 483px;
  }

  .footer__inner {
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 8px;
    padding: 40px 14px 0px 20px;
    font-size: 12px;
  }

  .footer .footer_info {
    margin-top: 8px;
  }

  .footer .footer_privacy {
    margin-top: 8px;
  }

  .footer .footer_contact h3.tel {
    font-size: 16px;
  }

  .footer .footer_contact .flex {
    gap: 4px;
  }

  .scroll_top {
    bottom: 30px;
    right: 30px;
  }
}

.error-page {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: calc(100dvh - 122px - 420px);
  max-width: 560px;
  margin: 0 auto;
}

.error-page__inner {
  padding: 0 20px;
  padding-top: 71px;
  width: 100%;
  padding-bottom: 140px;
}

.error_content {
  text-align: center;
}

.error_content .error_img {
  display: inline-block;
  width: 100px;
  height: 100px;
}

.error_content .error_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.error_content p {
  font-size: 24px;
  font-weight: 600;
  color: #111;
  margin-top: 16px;
}

.error_btns {
  width: 100%;
  margin-top: 40px;
}

@media screen and (max-width:767px) {
  .error_content .error_img {
    width: 80px;
    height: 80px;
  }

  .error_content p {
    margin-top: 40px;
    font-size: 18px;
  }

  .error_btns .btn {
    height: 48px;
    line-height: 48px;
    font-size: 16px;
  }
}

/* Title */
h2.title {
  text-align: center;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
}

h3.title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
}

/* Form */
.input--typeA {
  margin-bottom: 20px;
}

.input--typeA .input_label {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.input--typeA .input_label span.label_info {
  display: inline-block;
  margin-left: 8px;
  font-size: 14px;
  color: #999;
}

.input--typeA p.input_info {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
}

span.asterisk {
  font-weight: 600;
  color: #FF0000;
}

.scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.scroll::-webkit-scrollbar-thumb {
  height: 30%;
  background: #E5E5EC;
  border-radius: 10px;
}

.scroll::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 20px;
}

@media screen and (max-width:767px) {
  h2.title {
    font-size: 20px;
  }

  h3.title {
    font-size: 18px;
  }

  .input--typeA p.input_info {
    font-size: 16px;
  }
}

/* #### 매뉴??번호 ?�이�?#### */
span.icon_number {
  display: inline-block;
  height: 24px;
  border-radius: 4px;
  text-align: center;
  color: #fff;
  background-color: #E92929;
  width: 24px;
  line-height: 24px;
  font-size: 16px;
  font-weight: 600;
  margin-right: 8px;
  vertical-align: middle;
}

/* #### 공통 LIST PAGE #### */
.list__inner {
  padding-top: 40px;
}

.list__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px;
}

.form_search_list .search__box {
  display: flex;
  align-items: center;
  gap: 8px;
}

.form_search_list .search__box .select--typeA {
  height: 48px;
  width: auto;
  padding-right: 38px;
}

.form_search_list .search_input {
  width: 100%;
  max-width: 400px;
  height: 48px;
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #E5E5EC;
  padding: 0 16px;
}

.form_search_list .search_input input {
  flex: 1;
  border: none;
  padding: 0;
  width: 100%;
  height: 100%;
}

.form_search_list .search_input .btn_search {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/_img/icon/icon_search--black.svg) no-repeat center / contain;
}

.list__btns {
  display: flex;
  align-items: center;
  gap: 8px;
}

.list__btns .select--typeA {
  height: 48px;
  width: auto;
  padding-right: 38px;
}

.list__btns .btn {
  flex-shrink: 0;
  width: 100px;
  height: 48px;
  line-height: 48px;
}

.list__contents {
  margin-top: 40px;
}

.list-items .item {
  display: block;
  width: 100%;
  padding: 12px 0;
  border-bottom: 1px solid #dee2e6;
}

.list-items .item.disabled {
  pointer-events: none;
}

.list-items .item .deleted-title {
  color: #999999;
}

.list-items .item:first-child {
  padding-top: 0;
}

.board_title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  position: relative;
  max-width: 100%;
}

.board_title.fix {
  padding-left: 24px;
}

.board_title.fix::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_fix.svg) no-repeat center / contain;
}

.board_title h3 {
  font-size: 18px;
  line-height: 1.4;
  color: #111;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  height: 25px;
  max-width: 100%;
}

span.ans_complete {
  display: inline-block;
  padding: 0 16px;
  width: auto;
  height: 36px;
  line-height: 36px;
  background-color: #F5F7FC;
  color: var(--color-brand);
  font-weight: 700;
  border-radius: 50px;
}

.board_content {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 500;
  color: #505050;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  line-height: 1.6;
  height: 52px;
}

.board-tag__list {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  height: 30px;
}

.board-tag__list span.tag {
  display: inline-block;
  padding: 0 16px;
  height: 30px;
  line-height: 30px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 8px;
  background-color: #F1F1F5;
  color: #767676;
}

span.board-category {
  display: inline-block;
  padding: 0 16px;
  height: 36px;
  line-height: 36px;
  background-color: #F1F1F5;
  border-radius: 100px;
  font-weight: 600;
  color: #767676;
}

.item-info__wrap {
  margin-top: 16px;
  min-height: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.board-reg__info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.board-reg__info>* {
  position: relative;
  padding-right: 8px;
  font-size: 16px;
  line-height: 1.5;
  color: #767676;
}

.board-reg__info>*::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 16px;
  background-color: #dee2e6;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.board-reg__info>*:last-child::after {
  content: none;
}

.board-reg__info .regPs_info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.board-reg__info .regPs_info .thum {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
}

.board-reg__info .regPs_info .thum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.board-reg__info .view_cnt {
  position: relative;
  padding-left: 18px;
}

.board-reg__info .view_cnt::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/_img/icon/icon_eye.svg) no-repeat center / contain;
}

.list-items.type--list .board_content {
  display: none;
}

.list-items.type--list .board-tag__list {
  display: none;
}

.pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.pagination .page_btns {
  display: flex;
  align-items: center;
}

.pagination .page_btns>* {
  display: inline-block;
  width: 40px;
  height: 40px;
}

.pagination .page_btns .btn_first {
  background: url(/_img/icon/icon_page_first.svg) no-repeat center / contain;
}

.pagination .page_btns .btn_prev {
  background: url(/_img/icon/icon_page_prev.svg) no-repeat center / contain;
}

.pagination .page_btns .btn_next {
  background: url(/_img/icon/icon_page_next.svg) no-repeat center / contain;
}

.pagination .page_btns .btn_last {
  background: url(/_img/icon/icon_page_last.svg) no-repeat center / contain;
}

.pagination ul {
  display: flex;
  align-items: center;
}

.pagination ul li.page {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.pagination ul li.page a {
  color: #767676;
}

.pagination ul li.page.active a {
  font-weight: 600;
  color: var(--color-brand);
}

.detail__header {
  padding-bottom: 16px;
  border-bottom: 1px solid #dee2e6;
  max-width: 100%;
  overflow: hidden;
}

.detail__header .board_title h3 {
  font-size: 24px;
  display: block;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  height: auto;
  max-width: 100%;
  word-wrap: break-word;
  line-height: 1.4;
}

.detail__header .board_title.fix {
  padding-left: 32px;
}

.detail__header .board_title.fix::before {
  width: 24px;
  height: 24px;
  top: 5px;
  transform: translateY(0px);
}

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

.board-tag__category .board-tag__list {
  margin-top: 0;
}

.move-pages {
  margin-top: 16px;
  border-top: 2px solid #dee2e6;
  border-bottom: 2px solid #dee2e6;
}

.move-pages.no-top-border {
  margin-top: 16px;
}

.move-pages .page {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 16px 0;
  max-width: 100%;
  overflow: hidden;
}

.move-pages .page span {
  position: relative;
  line-height: 1.4;
  color: #111;
  padding-right: 26px;
}

.move-pages .page span:after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.move-pages .page.next span::after {
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center / contain;
}

.move-pages .page.prev span::after {
  transform: translateY(-50%) rotate(-180deg);
  background: url(/_img/icon/icon_gnb_arrow.svg) no-repeat center / contain;
}

.move-page_title {
  flex: 1;
  min-width: 0;
  max-width: 100%;
}

.move-page_title a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  color: #111;
  text-decoration: none;
}

.move-page_title a:hover {
  color: var(--color-brand);
  text-decoration: underline;
}

.detail__inner .btn_area {
  margin-top: 16px;
}

.register__inner {
  padding-top: 40px;
}

.register__inner .register_box {
  margin-bottom: 40px;
}

.register__inner .input--typeA .input_label {
  margin-bottom: 8px;
}

.register__inner .textarea--typeA {
  min-height: 240px;
}

@media screen and (min-width:768px) and (max-width:820px) {
  .form_search_list .search_input {
    max-width: 220px;
  }
}

@media screen and (max-width:767px) {
  .list__inner {
    padding-top: 20px;
  }

  .list__top {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 8px;
  }

  .form_search_list {
    width: 100%;
  }

  .form_search_list .search__box {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .form_search_list .search__box .select--typeA {
    width: 100%;
  }

  .form_search_list .search_input {
    max-width: 100%;
  }

  .list__btns {
    width: 100%;
  }

  .list__btns .btn {
    width: 100%;
  }

  .list__contents {
    margin-top: 20px;
  }

  .board_title.fix::before {
    top: 3px;
    transform: translateY(0);
  }

  .board_title h3 {
    font-size: 16px;
    height: auto;
    max-width: 100%;
  }

  span.ans_complete {
    padding: 0 6px;
    height: 22px;
    line-height: 22px;
    font-size: 13px;
  }

  .board_content {
    font-size: 14px;
    height: 44px;
  }

  .board-tag__list {
    gap: 4px;
    height: 26px;
  }

  .board-tag__list span.tag {
    padding: 0 8px;
    height: 26px;
    line-height: 26px;
    font-size: 13px;
  }

  span.board-category {
    padding: 0 6px;
    height: 22px;
    line-height: 22px;
    font-size: 13px;
    /* 기본적으로 max-width 제한 없음 */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* qna-type2-list 페이지에서만 max-width 제한 적용 */
  .layout__contents .list__contents .list-items .item .item-info__wrap span.board-category {
    max-width: 65px !important;
  }

  .item-info__wrap {
    /* flex-direction: column;
    align-items: flex-start; 
    row-gap: 8px;*/
    margin-top: 8px;
    min-height: auto;
  }

  .board-reg__info {
    gap: 4px;
  }

  .board-reg__info>* {
    padding-right: 4px;
    font-size: 12px;
  }

  .board-reg__info .regPs_info {
    gap: 4px;
  }

  .board-reg__info .regPs_info .thum {
    display: none;
  }

  /*모바일 필명영역 길이제한*/
  .list__contents .board-reg__info .reg_nm {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /*모바일 글번호 숨김*/
  .list__contents .board-reg__info .post_no {
    display: none;
  }
  /*글번호 뒤 구분자 삭제*/
  .list__contents .board-reg__info .view_cnt::after{
    content: none;
  }

  /*모바일 게시물 조회시 필명, 글번호 영역 줄바꿈*/
  .detail__inner .board-reg__info{
    flex-wrap: wrap;
  }
  /*모바일 게시물 조회시 필명 뒤 구분자 삭제*/
  .detail__inner .board-reg__info .regPs_info::after{
    content:none;
  }

  /*모바일 게시물 조회시 필명 영역 줄바꿈*/
  .detail__inner .board-reg__info>*:nth-child(1){
    /*width: 100%;*/
    content: "";
    display: block;
    flex-basis: 100%;
  }

  .detail__inner .board-reg__info .regPs_info{
    display: flex;
    align-items: center;
  }

  .pagination {
    margin-top: 20px;
    gap: 16px;
  }

  .pagination .page_btns>* {
    width: 32px;
    height: 32px;
  }

  .pagination ul li.page {
    width: 32px;
    height: 32px;
    line-height: 32px;
  }

  .pagination ul li.page a {
    font-size: 14px;
  }

  .detail__header {
    padding-bottom: 12px;
  }

  .detail__header .board_title h3 {
    font-size: 16px;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-wrap: break-word;
    word-break: break-word;
    height: auto;
    line-height: 1.4;
    max-width: 100%;
  }

  .detail__header .board_title {
    align-items: flex-start;
    height: auto;
    min-height: auto;
  }

  .detail__header .board_title.fix {
    padding-left: 20px;
  }

  .detail__header .board_title.fix::before {
    width: 16px;
    height: 16px;
    top: 3px;
  }

  .detail__header .board-reg__info .regPs_info .thum {
    display: inline-block;
    width: 20px;
    height: 20px;
  }

  .detail__header span.ans_complete {
    height: 28px;
    line-height: 28px;
  }

  .board-tag__category {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 20px;
  }

  .move-pages .page {
    gap: 20px;
    font-size: 14px;
    padding: 12px 0;
  }

  .move-pages .page span {
    font-size: 14px;
    padding-right: 18px;
  }

  .move-page_title a {
    font-size: 14px;
  }

  .detail__inner .btn_area .btn,
  .register__inner .btn_area .btn {
    flex: 1;
    width: 100%;
    height: 48px;
    line-height: 1;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
  }

  .register__inner {
    padding-top: 20px;
  }

  .register__inner .register_box {
    margin-bottom: 20px;
  }

  .register_box .select--typeA.mw240 {
    max-width: 100%;
  }
}

.contrast {
  position: relative;
  padding-left: 16px;
}

.contrast.up {
  color: #FF0000;
}

.contrast.down {
  color: #FF0000;
}

.contrast::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.contrast.up::before {
  background: url(/_img/icon/icon_arrow_up.svg) no-repeat center / contain;
}

.contrast.down::before {
  background: url(/_img/icon/icon_arrow_down.svg) no-repeat center / contain;
}

/* 추가한 CSS */

/* ===== Attachments: item layout and remove (X) button ===== */
.attach-list .attach-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.attach-list .attach-order {
  min-width: 18px;
  text-align: right;
}

.attach-list .attach-item:last-child {
  margin-bottom: 0;
}

.attach-list .btn_remove_attach {
  display: none;
  /* 기본 숨김: 파일 선택 시에만 노출 */
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.attach-list .attach-item.has-file .btn_remove_attach {
  display: inline-flex;
}

.attach-list .btn_remove_attach img {
  width: 16px;
  height: 16px;
  display: block;
}

/* Attachments: link hover color and size text */
.attach-list a.attach-file:hover {
  color: #FF0000;
}

.attach-list .attach-size {
  margin-left: 6px;
  color: #767676;
  font-size: 14px;
}

/* ===== notice-reg: 첨부파일 입력(input--typeA 유사 박스) ===== */
#wrap .register__inner .input--typeA .attach-list {
  display: grid;
  gap: 8px;
}