/* header */
header {background-color: #fff;}
header .header-top .container {display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-forGoverment); position: relative;}
header .header-top-logo {font-size: 0; line-height: 0;}
header .header-top-logo img {max-width: 100%;}
header .header-top-search {display: flex; align-items: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
header .header-top-search fieldset {width: 100%; height: 100%; display: flex; justify-content: space-between; align-items: center;}
header .header-top-search select,
header .header-top-search input {height: 100%;}
/* header .header-top-search .insert-group {display: flex; align-items: center; height: 100%;} */
header .header-top-search button {display: flex; justify-content: center; align-items: center;}
header .header-top-util {display: flex; align-items: center;}
header .header-top-util ul {display: flex; align-items: center;}
header .header-top-util ul li + li {padding-left: 1.25rem; position: relative;}
header .header-top-util ul li + li::before {content: ""; width: 0.25rem; height: 0.25rem; border-radius: 50%; background-color: var(--color-light-gray-20); position: absolute; left: 0.5rem; top: calc(50% - 0.125rem);}
header .header-top-util ul li a {color: var(--color-light-gray-90);}
header .header-top-util button {line-height: 1.5rem; border-radius: 0.75rem; background-color: #000; padding: 0 0.6rem; font-size: 0.75rem; color: #fff; font-weight: 700; margin-left: 0.5rem;}
header .header-bottom {border-top: 1px solid #cfdae7; border-bottom: 1px solid #cfdae7; background-color: #fff;}
header .header-bottom .container {display: flex;}
header .header-bottom-menu {flex: 1;}
header .header-bottom-menu .depth-01 {display: flex;}
header .header-bottom-menu .depth-01 > li {flex: 1;}
header .header-bottom-menu .depth-01 > li > a {display: flex; justify-content: center; align-items: center; width: 100%; height: var(--header-bottom-height-forGoverment); font-size: 1rem; font-weight: 600; text-align: center;}
header .header-bottom-menu .depth-02-wrap {opacity: 0; visibility: hidden; transition: 0.3s;}
header .header-bottom-menu .depth-02 a {transition: 0.3s;}
header .header-bottom-menu .depth-02 a::after,
header .header-bottom-menu .depth-02 span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
header .btn-fullMenu-open {display: flex; justify-content: center; align-items: center; gap: 0.5rem; width: var(--header-bottom-fullMenu-width-forGoverment); background-color: #000; font-size: 1rem; color: #fff;}
header .btn-fullMenu-open i {font-size: 1.2em;}
header .btn-fullMenu-open span {font-weight: 700;}



/* header - oneDown */
header .header-bottom-menu.oneDown .depth-01 > li {position: relative;}
header .header-bottom-menu.oneDown .depth-02-wrap {width: 100%; position: absolute; left: 0; top: calc(100% - 0.35rem); z-index: 1000;}
header .header-bottom-menu.oneDown .depth-02 {border: 1px solid var(--colorUtilBackground); background-color: #fff; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); color: #333; overflow: hidden;}
header .header-bottom-menu.oneDown .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; padding: 0.625em 0.6rem; font-size: 0.8rem; color: #333;}
header .header-bottom-menu.oneDown .depth-03 {display: none; border-bottom: 1px solid #ccc; background-color: #f2f2f2;}
header .header-bottom-menu.oneDown .depth-03 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.75rem;}
header .header-bottom-menu.oneDown .depth-03 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
header .header-bottom-menu.oneDown .depth-03 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #111; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* header - oneDown : pseudo */
header .header-bottom-menu.oneDown .depth-02 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header .header-bottom-menu.oneDown .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
header .header-bottom-menu.oneDown .depth-02 > li > a.dep::after {content: "\e942";}
header .header-bottom-menu.oneDown .depth-02 > li.expanded > a.dep::after {content: "\e945";}
header .header-bottom-menu.oneDown .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - oneDown : active */
header .header-bottom-menu.oneDown .depth-02-wrap.active {opacity: 1; visibility: visible;}
header .header-bottom-menu.oneDown .depth-02 > li > a:hover,
header .header-bottom-menu.oneDown .depth-02 > li > a:focus-visible,
header .header-bottom-menu.oneDown .depth-02 > li.expanded > a {color: var(--colorUtilBackground); font-weight: 700;}
header .header-bottom-menu.oneDown .depth-03 > li > a:hover,
header .header-bottom-menu.oneDown .depth-03 > li > a:focus-visible {color: #111; font-weight: 600;}



/* header - fullDown */
header .header-bottom-menu.fullDown {height: var(--header-bottom-height-forGoverment); position: relative; z-index: 0;}
header .header-bottom-menu.fullDown .depth-01 {position: relative; z-index: 0;}
header .header-bottom-menu.fullDown .depth-01::before {content: ""; width: 100vw; height: 0; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); position: absolute; left: calc((100% + var(--header-bottom-fullMenu-width-forGoverment) - 100vw) / 2); bottom: -1px; z-index: -1;}
header .header-bottom-menu.fullDown .depth-01 > li {position: relative;}
header .header-bottom-menu.fullDown .depth-01 > li::before {content: ""; display: block; width: 100%; height: calc(100% - var(--header-bottom-height-forGoverment)); background-color: var(--colorUtilBackground); position: absolute; left: 0; bottom: 0; z-index: -1; opacity: 0; transition: 0.3s;}
header .header-bottom-menu.fullDown .depth-02-wrap {display: none; width: 100%; opacity: 1; visibility: visible;}
header .header-bottom-menu.fullDown .depth-02 {padding: 0 0.6rem; color: #333; transition: padding 0.3s;}
header .header-bottom-menu.fullDown .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; padding: 0.625em 0.6rem; font-size: 0.8rem;}
header .header-bottom-menu.fullDown .depth-02 > li + li {border-top: 1px solid rgba(0, 0, 0, 0.1);}
header .header-bottom-menu.fullDown .depth-03 {display: none; background-color: rgba(255, 255, 255, 0.2);}
header .header-bottom-menu.fullDown .depth-03 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.75rem;}
header .header-bottom-menu.fullDown .depth-03 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
header .header-bottom-menu.fullDown .depth-03 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #333; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* header - fullDown : pseudo */
header .header-bottom-menu.fullDown .depth-02 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header .header-bottom-menu.fullDown .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
header .header-bottom-menu.fullDown .depth-02 > li > a.dep::after {content: "\e942";}
header .header-bottom-menu.fullDown .depth-02 > li.expanded > a.dep::after {content: "\e945";}
header .header-bottom-menu.fullDown .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - fullDown : expanded */
header .header-bottom-menu.fullDown .depth-01 > li.active::before,
header .header-bottom-menu.fullDown .depth-01 > li:has(.depth-02 > li.expanded)::before {opacity: 1;}
header .header-bottom-menu.fullDown .depth-01 > li.active .depth-02,
header .header-bottom-menu.fullDown .depth-02:has( > li.expanded) {padding: 0; color: var(--colorUtilText);}
header .header-bottom-menu.fullDown .depth-01 > li.active .depth-02 > li + li,
header .header-bottom-menu.fullDown .depth-02:has( > li.expanded) > li + li {border-top-color: rgba(255, 255, 255, 0.5);}
header .header-bottom-menu.fullDown .depth-01 > li.active .depth-03 > li > a span::before,
header .header-bottom-menu.fullDown .depth-02:has( > li.expanded) .depth-03 > li > a span::before {background-color: var(--colorUtilText);}
/* header - fullDown : active */
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-01::before {height: calc(100% - var(--header-bottom-height-forGoverment));}
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-02-wrap {display: block;}
header .header-bottom-menu.fullDown .depth-02 > li > a:hover,
header .header-bottom-menu.fullDown .depth-02 > li > a:focus-visible {font-weight: 700;}
header .header-bottom-menu.fullDown .depth-02 > li.expanded > a {font-weight: 700;}
header .header-bottom-menu.fullDown .depth-03 > li > a:hover,
header .header-bottom-menu.fullDown .depth-03 > li > a:focus-visible {font-weight: 600;}



/* header - oneFullDown */
header .header-bottom-menu.oneFullDown {

  /* size */
  --depth-02-item-gap-hor: 1.2rem;
}
header .header-bottom-menu.oneFullDown .depth-02-wrap {display: flex; width: var(--container-width); max-width: calc(100vw - (var(--container-gap) * 2)); position: absolute; left: 50%; top: 100%; transform: translateX(-50%);}
header .header-bottom-menu.oneFullDown .depth-02-title {display: none;}
header .header-bottom-menu.oneFullDown .depth-02 {flex: 1; display: flex; flex-wrap: wrap; gap: 0.8rem var(--depth-02-item-gap-hor); padding: 1.6rem 0; position: relative;}
header .header-bottom-menu.oneFullDown .depth-02::before {content: ""; display: block; width: 100vw; height: 100%; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); position: absolute; left: calc(50% - 50vw); top: 0; z-index: -1;}
header .header-bottom-menu.oneFullDown .depth-02 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 4)) / 5); position: relative;}
header .header-bottom-menu.oneFullDown .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; border: 1px solid #ccc; padding: 0.563em 0.6rem; font-size: 0.8rem; color: #000; transition: 0.3s;}
header .header-bottom-menu.oneFullDown .depth-03 {display: none; padding: 0.4rem 0.6rem 0;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem; color: #555; transition: 0.3s;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a span {display: block; padding-left: 11px; position: relative;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #555; position: absolute; left: 0; top: calc(0.8em - 1.5px); transition: 0.3s;}
/* header - oneFullDown : pseudo */
header .header-bottom-menu.oneFullDown .depth-02 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header .header-bottom-menu.oneFullDown .depth-02 > li > a:has(+ .depth-03)::after {content: "\e942";}
header .header-bottom-menu.oneFullDown .depth-02 > li.expanded > a:has(+ .depth-03)::after {content: "\e945";}
header .header-bottom-menu.oneFullDown .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
header .header-bottom-menu.oneFullDown .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - oneFullDown : active */
header .header-bottom-menu.oneFullDown .depth-02-wrap.active {opacity: 1; visibility: visible;}
header .header-bottom-menu.oneFullDown .depth-02 > li > a:hover,
header .header-bottom-menu.oneFullDown .depth-02 > li > a:focus-visible {font-weight: 700;}
header .header-bottom-menu.oneFullDown .depth-02 > li.expanded > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a:hover,
header .header-bottom-menu.oneFullDown .depth-03 > li > a:focus-visible {font-weight: 600;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a:hover span::before,
header .header-bottom-menu.oneFullDown .depth-03 > li > a:focus-visible span::before {background-color: #111;}



/* fullMenu */
#fullMenu {

  /* size */
  --depth-02-item-gap-hor: 1.2rem;
}
#fullMenu .fullMenu-title {display: flex; justify-content: space-between; align-items: center; align-items: center; line-height: 1;}
#fullMenu .fullMenu-title h2 {font-size: 1.6rem; color: #111; font-weight: 700;}
#fullMenu .fullMenu-title .btn-fullMenu-close {display: flex; align-items: center; gap: 0.4rem; height: 2.4rem; background-color: var(--colorUtilBackground); padding: 0 0.6rem; font-size: 0.8rem; color: var(--colorUtilText); font-weight: 500; margin-left: 1rem;}
#fullMenu .fullMenu-content a::after,
#fullMenu .fullMenu-content span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
#fullMenu .fullMenu-content .depth-01 > li {border-top: 2px solid var(--colorUtilBackground); margin-top: 1.6rem;}
#fullMenu .fullMenu-content .depth-01 > li > a {display: block; padding: 0.8335em 0; font-size: 1.2rem; color: #000; font-weight: 700;}
#fullMenu .fullMenu-content .depth-02-title {display: none;}
#fullMenu .fullMenu-content .depth-02 {flex: 1; display: flex; flex-wrap: wrap; gap: 0.8rem var(--depth-02-item-gap-hor);}
#fullMenu .fullMenu-content .depth-02 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 4)) / 5); position: relative;}
#fullMenu .fullMenu-content .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; border: 1px solid #ccc; padding: 0.563em 0.6rem; font-size: 0.8rem; color: #000; transition: 0.3s;}
#fullMenu .fullMenu-content .depth-03 {display: block !important; height: auto !important; padding: 0.4rem 0.6rem 0; overflow: visible !important;}
#fullMenu .fullMenu-content .depth-03 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem; color: #555; transition: 0.3s;}
#fullMenu .fullMenu-content .depth-03 > li > a span {display: block; padding-left: 11px; position: relative;}
#fullMenu .fullMenu-content .depth-03 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #555; position: absolute; left: 0; top: calc(0.8em - 1.5px); transition: 0.3s;}
/* fullMenu : pseudo */
#fullMenu .fullMenu-content .depth-02 > li > a::after {font-size: 1.25em; margin-left: 0.5rem;}
#fullMenu .fullMenu-content .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
#fullMenu .fullMenu-content .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* fullMenu : active */
#fullMenu .fullMenu-content .depth-02 > li > a:hover,
#fullMenu .fullMenu-content .depth-02 > li > a:focus-visible,
#fullMenu .fullMenu-content .depth-02 > li:has(.depth-03 > li > a:hover) > a,
#fullMenu .fullMenu-content .depth-02 > li:has(.depth-03 > li > a:focus-visible) > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}
#fullMenu .fullMenu-content .depth-03 > li > a:hover,
#fullMenu .fullMenu-content .depth-03 > li > a:focus-visible {font-weight: 600;}
#fullMenu .fullMenu-content .depth-03 > li > a:hover span::before,
#fullMenu .fullMenu-content .depth-03 > li > a:focus-visible span::before {background-color: #111;}



/* footer */
footer {border-top: 1px solid #ddd;

  /* size */
  --family-group-btw-dl: 0.8rem;
  --family-group-radius: 0.5rem;
  --link-gap: 0.9rem;
  --info-gap: 0.55rem;
}
footer .footer-bottom {background-color: #f5f6fa; padding: 0.8rem 0 2.8rem; font-size: 0.8rem;}
footer .footer-family-group {display: flex; gap: calc(var(--family-group-btw-dl) * 0.5) var(--family-group-btw-dl);}
footer .footer-family-group dl {flex: 1; position: relative;}
footer .footer-family-group dt {height: 100%;}
footer .footer-family-group dt button {display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%; border-radius: var(--family-group-radius); border: 1px solid #e8ebf5; background-color: #fff; padding: 0.9rem 1.2rem; color: #505166; font-weight: 500; text-align: left; word-break: break-all; transition: 0.3s;}
footer .footer-family-group dt button i {width: 1em; height: 1em; font-size: 1.2rem; margin-left: 1rem;}
footer .footer-family-group dd {width: 100%; max-height: 17rem; border-radius: var(--family-group-radius) var(--family-group-radius) 0 0; border: 1px solid #01143f; border-bottom: 0; background-color: #fff; padding: 0.9rem 1.2rem; font-size: 0.9375em; position: absolute; left: 0; bottom: 100%; z-index: 1; overflow-y: auto; opacity: 0; visibility: hidden; transition: 0.3s;}
footer .footer-family-group dd a {display: block; padding-left: 0.8em; color: #505166; font-weight: 500; position: relative; transition: 0.3s;}
footer .footer-family-group dd a::before {content: ""; display: block; width: 0.27em; height: 0.27em; background-color: #505166; position: absolute; left: 0; top: 0.65em;}
footer .footer-family-group dd .depth-01 > li + li {padding-top: 0.93em; border-top: 1px solid #d8d9e2; margin-top: 0.93em;}
footer .footer-family-group dd .depth-01 > li:has(.depth-02) > a {padding-left: 0; font-size: 1.07em; color: #333; font-weight: 700;}
footer .footer-family-group dd .depth-01 > li:has(.depth-02) > a::before {display: none;}
footer .footer-family-group dd .depth-02 > li {margin-top: 0.53em;}
footer .footer-link {color: #555; font-weight: 500; margin-top: 1.75rem; overflow: hidden;}
footer .footer-link ul {display: flex; flex-wrap: wrap; row-gap: 0.5em; margin: 0 calc(var(--link-gap) * -1);}
footer .footer-link ul li {padding: 0 var(--link-gap); position: relative;}
footer .footer-link ul li::before {content: ""; display: block; width: 1px; height: 0.8125em; background-color: #ccc; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
footer .footer-link ul li a strong {color: #272eb9; font-weight: 600;}
footer .footer-info {display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-top: 1.5rem; position: relative;}
footer .footer-info-address {color: #000; font-weight: 500;}
footer .footer-info-group {font-size: 0.9375em; color: #666; margin-top: 0.125em; overflow: hidden;}
footer .footer-info-group ul {display: flex; flex-wrap: wrap; row-gap: 0.125em; margin: 0 calc(var(--info-gap) * -1);}
footer .footer-info-group ul li {padding: 0 var(--info-gap); position: relative;}
footer .footer-info-group ul li::before {content: "\002f"; position: absolute; left: 0; top: 50%; transform: translate(-50%, -50%);}
footer .footer-info-copyright {font-size: 0.9375em; color: #666; margin-top: 0.75em;}
footer .footer-qr {display: flex; align-items: center; gap: 0.75rem; width: 10.9rem; height: 5rem; border-radius: 0.5rem; border: 1px solid rgba(70, 77, 93, 0.2); background-color: #fff; padding: 0.75rem; position: absolute; right: 5rem; bottom: 0;}
footer .footer-qr > img {flex-shrink: 0; width: 3.5rem; height: 3.5rem;}
footer .footer-qr .text-wrap {flex: 1;}
footer .footer-qr .text-wrap .title {font-size: 0.9rem; color: #464d5d; font-weight: 600;}
footer .footer-qr .text-wrap .link {display: inline-flex; justify-content: space-between; align-items: center; width: 4.5rem; height: 1.5rem; border-radius: 0.75rem; border: 2px solid #d6dcf2; background-color: #f5f6fa; padding: 0 0.5rem; font-size: 0.7rem; color: #464d5d; font-weight: 600; line-height: 1; margin-top: 0.375rem;}
/* footer : active */
footer .footer-family-group .actv dt button {border-radius: 0 0 var(--family-group-radius) var(--family-group-radius); border-color: #01143f; background-color: #01143f; color: #fff;}
footer .footer-family-group .actv dt button i::before {content: "\ea4e";}
footer .footer-family-group .actv dd {opacity: 1; visibility: visible;}
footer .footer-family-group dd a:hover,
footer .footer-family-group dd a:focus-visible {color: #252977 !important; text-decoration: underline;}


@media (max-width: 1280px) {

  /* mobileMenu */
  #mobileMenu {display: flex; flex-direction: column; width: 100%; max-width: 380px; height: 100vh; background-color: #fff; position: fixed; right: 0; top: 0; transform: translateX(100%); visibility: hidden; transition: box-shadow 0.3s, transform 0.3s, visibility 0.3s;}
  #mobileMenu .mobileMenu-title {flex-shrink: 0; display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-responsive); border-bottom: 1px solid var(--colorUtilBackground); padding-left: calc(var(--container-gap) / 3 * 2);}
  #mobileMenu .mobileMenu-title .header-logo {flex: 1; height: 100%; font-size: 0; line-height: 0;}
  #mobileMenu .mobileMenu-title .header-logo a {display: flex; align-items: center; height: 100%;}
  #mobileMenu .mobileMenu-title .header-logo a img {max-width: calc(100% - (var(--header-top-height-responsive) * 0.25)); max-height: 90%;}
  #mobileMenu .mobileMenu-title .btn-menu-close {display: flex; justify-content: center; align-items: center; width: var(--header-top-height-responsive); height: 100%; background-color: var(--colorUtilBackground); font-size: 1.5rem; color: var(--colorUtilText); margin-left: calc(var(--container-gap) / 3 * 2);}
  #mobileMenu .mobileMenu-util {flex-shrink: 0; border-bottom: 1px solid var(--colorUtilBackground); padding: 0.275rem 0;}
  #mobileMenu .mobileMenu-util ul {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100%; font-size: 0.7rem;}
  #mobileMenu .mobileMenu-util ul li {position: relative;}
  #mobileMenu .mobileMenu-util ul li:not(:last-child)::before {content: ""; display: block; width: 1px; height: 0.86em; background-color: #d3d3d3; position: absolute; right: 0; top: calc(50% - 0.43em);}
  #mobileMenu .mobileMenu-util ul li a {display: inline-block; padding: 0.1rem 0.875rem; color: #222;}
  #mobileMenu .mobileMenu-content {position: relative; overflow-y: auto;}
  #mobileMenu .mobileMenu-content::-webkit-scrollbar {display: none;}
  #mobileMenu .mobileMenu-content span {word-break: break-all;}
  #mobileMenu .mobileMenu-content a::after,
  #mobileMenu .mobileMenu-content span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
  #mobileMenu .mobileMenu-content .depth-01 > li {border-bottom: 1px solid #ccc;}
  #mobileMenu .mobileMenu-content .depth-01 > li > a {display: flex; justify-content: space-between; align-items: flex-start; padding: 0.7em 1.25rem; font-size: 0.85rem; color: #555; font-weight: 500; transition: 0.3s;}
  #mobileMenu .mobileMenu-content .depth-02-title {display: none;}
  #mobileMenu .mobileMenu-content .depth-02 {display: none; padding: 0 0.75rem 1.2rem;}
  #mobileMenu .mobileMenu-content .depth-02 > li + li {margin-top: 0.4rem;}
  #mobileMenu .mobileMenu-content .depth-02 > li > a {display: flex; justify-content: space-between; align-items: flex-start; border: 1px solid #ccc; padding: 0.485em 1.07em; font-size: 0.75rem; color: #333; font-weight: 500;}
  #mobileMenu .mobileMenu-content .depth-03 {display: none; padding: 0.6rem 0.8rem;}
  #mobileMenu .mobileMenu-content .depth-03 > li + li {margin-top: 0.4rem;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a {font-size: 0.7rem; color: #555;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a span {padding-left: 12px; position: relative;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a span::before {content: ""; display: block; width: 4px; height: 4px; border-radius: 50%; background-color: #999; position: absolute; left: 0; top: calc(0.6em - 2px);}
  /* mobileMenu : pseudo */
  #mobileMenu .mobileMenu-content .depth-01 > li > a::after {display: flex; justify-content: center; align-items: center; width: 1.4em; height: 1.4em; border-radius: 50%; font-size: 1.18em; margin-left: 1em; position: relative; top: -0.1em;}
  #mobileMenu .mobileMenu-content .depth-01 > li > a.dep::after {content: "\e945";}
  #mobileMenu .mobileMenu-content .depth-01 > li.active > a.dep::after {content: "\e942"; background-color: #e8e8e8;}
  #mobileMenu .mobileMenu-content .depth-01 > li > a[target="_blank"]::after {content: "\e980";}
  #mobileMenu .mobileMenu-content .depth-02 > li > a::after {display: flex; justify-content: center; align-items: center; width: 1em; height: 1em; font-size: 1.07em; margin-left: 1em; position: relative; top: 0.2em;}
  #mobileMenu .mobileMenu-content .depth-02 > li > a.dep::after {content: "\e913";}
  #mobileMenu .mobileMenu-content .depth-02 > li.expanded > a.dep::after {content: "\e91a";}
  #mobileMenu .mobileMenu-content .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
  #mobileMenu .mobileMenu-content .depth-03 > li > a[target="_blank"]::after {content: "\e980"; font-size: 1.14em; margin-left: 0.5em; position: relative; top: 0.15em;}
  /* mobileMenu : active */
  #mobileMenu.active {box-shadow: -1rem 0 1rem rgba(0, 0, 0, 0.25); transform: translateX(0); visibility: visible;}
  #mobileMenu .mobileMenu-content .depth-01 > li.active {border-bottom-color: var(--colorUtilBackground)}
  #mobileMenu .mobileMenu-content .depth-01 > li.active > a {color: #111; font-weight: 700;}
  #mobileMenu .mobileMenu-content .active .depth-02 {display: block;}
  #mobileMenu .mobileMenu-content .depth-02 > li.expanded > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}

  /* mobileSearch */
  #mobileSearch {width: 100%; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.25); padding: 1.2rem 0; position: absolute;}
  #mobileSearch .input-wrap {display: flex; flex-wrap: wrap; align-items: center; max-width: 17.5rem; height: 5rem; border-bottom: 2px solid #464c5d; margin: 0 auto; position: relative;}
  #mobileSearch .input-wrap fieldset {width: 100%; height: 100%; display: flex; justify-content: space-between; align-items: center;}
  #mobileSearch .input-wrap select {width: 100%; height: 50%; border-radius: 0.5rem; border: 1px dashed #aaa; padding-left: 0.2rem; width:4.25rem;}
  #mobileSearch .input-wrap input {/*flex: 1;*/ height: 50%; padding-left: 0.4rem; font-size: 0.75rem; width: 100%;}
  #mobileSearch .input-wrap button {display: flex; justify-content: center; align-items: center; width: 1em; height: 50%; font-size: 1.4rem; line-height: 1; margin-left: 0.8rem;}
  #mobileSearch .btn-close {display: flex; justify-content: center; align-items: center; width: var(--header-top-height-responsive); height: calc(var(--header-top-height-responsive) + 1px); background-color: #fff; font-size: 1.2rem; color: #464c5d; position: absolute; right: var(--header-top-height-responsive); bottom: calc(100% + 2px);}

  /* footer */
  footer {

    /* size */
    --info-gap: 0.45rem;
  }
  footer .footer-bottom {padding: 0.6rem 0 1.8rem; font-size: 0.7rem;}
  footer .footer-family-group dt button {padding: 0.65rem 0.8rem;}
  footer .footer-family-group dd {padding: 0.65rem 0.8rem;}
  footer .footer-link {margin-top: 1.25rem;}
  footer .footer-info {margin-top: 1rem;}
  footer .footer-info-copyright {margin-top: 2.5em;}
  footer .footer-qr {width: 10.4rem; position: static; margin-top: 1.75rem;}
  footer .footer-qr .text-wrap .title {font-size: 0.8rem;}

  /* PC || Mobile 버전 */
  .switch-btn {margin-top: 1.75rem;}
}



@media (max-width: 1024px) {

  /* footer */
  footer .footer-family-group {flex-wrap: wrap;}
  footer .footer-family-group dl {flex: unset; width: calc((100% - (var(--family-group-btw-dl) * 2)) / 3);}
}



@media (max-width: 768px) {

  /* footer */
  footer {

    /* size */
    --family-group-btw-dl: 0.4rem;
    --link-gap: 0.8rem;
  }
  footer .footer-bottom {padding: 0.5rem 0;}
  footer .footer-family-group {gap: var(--family-group-btw-dl);}
  footer .footer-link ul {row-gap: 0.375em;}
  footer .footer-info {flex-direction: column; align-items: flex-end; gap: 0.5rem;}
  footer .footer-info-left-group {width: 100%;}
  footer .footer-info-group {margin-top: 0.5em;}
  footer .footer-info-copyright {margin-top: 1em;}
  footer .footer-qr {width: 10.4rem; position: static; margin-top: 0.75rem;}

  /* PC || Mobile 버전 */
  .switch-btn {margin-top: 0.875rem;}
}



@media (max-width: 580px) {


  /* footer */
  footer .footer-family-group dl {width: calc((100% - (var(--family-group-btw-dl) * 1)) / 2);}
}



@media (max-width: 480px) {

  /* footer */
  footer .footer-family-group dl {width: 100%;}
}



@media (max-width: 380px) {}