/* header */
header {background-color: #fff;}
header .header-top .container {display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-forTemplate);}
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;}
header .header-top-search .insert-group {display: flex; align-items: center; height: 100%;}
header .header-top-search .insert-group select {height: 100%; background: url('/static/builder/Templates/T01_B1/image/select_background.png') right center no-repeat; padding-left: 0.8rem; padding-right: 1.2rem; font-size: 0.75rem; color: #000; appearance: none;}
header .header-top-search .insert-group select::-ms-expand {display: none;}
header .header-top-search .insert-group input {height: 100%; padding: 0 0.6rem; font-size: 0.75rem; color: var(--color-border-grayDark);}
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 #eeeff1; border-bottom: 1px solid #f6f6f6; background-color: #fff;}
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-forTemplate); font-size: 1rem; font-weight: 700; 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 - type-01 */
header .header-bottom-menu.type-01 .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.type-01 .depth-03 {display: none; border-bottom: 1px solid #ccc; background-color: #f2f2f2;}
header .header-bottom-menu.type-01 .depth-03 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.75rem;}
header .header-bottom-menu.type-01 .depth-03 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
header .header-bottom-menu.type-01 .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 - type-01 : pseudo */
header .header-bottom-menu.type-01 .depth-02 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header .header-bottom-menu.type-01 .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
header .header-bottom-menu.type-01 .depth-02 > li > a.dep::after {content: "\e942";}
header .header-bottom-menu.type-01 .depth-02 > li.expanded > a.dep::after {content: "\e945";}
header .header-bottom-menu.type-01 .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - type-01 : active */
header .header-bottom-menu.type-01 .depth-02 > li > a:hover,
header .header-bottom-menu.type-01 .depth-02 > li > a:focus-visible,
header .header-bottom-menu.type-01 .depth-02 > li.expanded > a {color: #111; font-weight: 700;}
header .header-bottom-menu.type-01 .depth-03 > li > a:hover,
header .header-bottom-menu.type-01 .depth-03 > li > a:focus-visible {color: #111; font-weight: 600;}



/* 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: 100%; z-index: 1000;}
header .header-bottom-menu.oneDown .depth-02-wrap::before {content: ""; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 7px solid #fff; position: absolute; left: 50%; top: 0; transform: translate(-50%, -100%); z-index: 1001;}
header .header-bottom-menu.oneDown .depth-02 {border-radius: 0 0 0.6rem 0.6rem; background-color: #fff; color: #333; overflow: hidden;}
/* header - oneDown : active */
header .header-bottom-menu.oneDown .depth-02-wrap.active {opacity: 1; visibility: visible;}



/* header - fullDown */
header .header-bottom-menu.fullDown {height: var(--header-bottom-height-forTemplate); 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; position: absolute; left: calc(50% - 50vw); bottom: -1px; z-index: -1;}
header .header-bottom-menu.fullDown .depth-01 > li {position: relative;}
header .header-bottom-menu.fullDown .depth-01 > li::before,
header .header-bottom-menu.fullDown .depth-01 > li::after {content: ""; width: 1px; height: 0; position: absolute; left: 0; bottom: -1px; z-index: 1;}
header .header-bottom-menu.fullDown .depth-01 > li::before {background-color: #e0e2e6;}
header .header-bottom-menu.fullDown .depth-01 > li::after {background-color: #111; transform: scaleY(0); transform-origin: bottom; transition: transform 0.6s;}
header .header-bottom-menu.fullDown .depth-02-wrap {display: none; width: 100%; opacity: 1; visibility: visible;}
/* header - fullDown : active */
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-01::before,
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-01 > li::before,
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-01 > li::after {height: calc(100% - var(--header-bottom-height-forTemplate) + 1px);}
header .header-bottom-menu.fullDown:has(.depth-02-wrap.active) .depth-02-wrap {display: block;}
header .header-bottom-menu.fullDown .depth-01 > li.active::after {transform: scaleY(1); transform-origin: top;}



/* 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: calc(var(--container-width) + (var(--container-gap) * 2)); max-width: calc(100vw - (var(--container-gap) * 2)); position: absolute; left: 50%; top: calc(100% + 1.6rem); transform: translateX(-50%);}
header .header-bottom-menu.oneFullDown .depth-02-wrap::before {content: ""; width: 100vw; height: 10rem; background-color: #fff; position: absolute; left: calc(50% - 50vw); top: -1.6rem; z-index: -2;}
header .header-bottom-menu.oneFullDown .depth-02-wrap::after {content: ""; width: 100%; height: 100%; border-radius: 2.4rem; background-color: #fff; box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16); position: absolute; left: 0; top: 0; z-index: -1;}
header .header-bottom-menu.oneFullDown .depth-02-title {width: 15rem; padding: 3.75rem 1rem 6rem; font-size: 0.9rem; color: #111; text-align: center; position: relative; z-index: 0;}
header .header-bottom-menu.oneFullDown .depth-02-title::before {content: ""; width: 100%; height: 100%; border-radius: 2.4rem 2rem 6rem 2.4rem; background-color: var(--colorUtilBackground); opacity: 0.3; position: absolute; left: 0; top: 0; z-index: -1;}
header .header-bottom-menu.oneFullDown .depth-02-title .title {font-size: 1.67em; font-weight: 700;}
header .header-bottom-menu.oneFullDown .depth-02-title .description {margin-top: 0.75rem;}
header .header-bottom-menu.oneFullDown .depth-02 {flex: 1; display: flex; flex-wrap: wrap; gap: 0.8rem var(--depth-02-item-gap-hor); padding: 2rem;}
header .header-bottom-menu.oneFullDown .depth-02 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 3)) / 4); position: relative;}
header .header-bottom-menu.oneFullDown .depth-02 > li:nth-child(4n + 1)::before {content: ""; width: calc(400% + (var(--depth-02-item-gap-hor) * 3)); border-top: 1px dashed #ccc; position: absolute; left: 0; top: 0;}
header .header-bottom-menu.oneFullDown .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ccc; padding: 0.625em 0.6rem; font-size: 0.8rem; color: #333;}
header .header-bottom-menu.oneFullDown .depth-03 {display: block !important; height: auto !important; padding: 0.4rem 0.6rem 0; overflow: visible !important;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem;}
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: #333; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* 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[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,
header .header-bottom-menu.oneFullDown .depth-02 > li > a:has(+ .depth-03 > li > a:hover),
header .header-bottom-menu.oneFullDown .depth-02 > li > a:has(+ .depth-03 > li > a:focus-visible) {border-bottom-color: #111; color: #111; font-weight: 700;}
header .header-bottom-menu.oneFullDown .depth-03 > li > a:hover,
header .header-bottom-menu.oneFullDown .depth-03 > li > a:focus-visible {color: #111; font-weight: 600;}



/* fullMenu */
#fullMenu {

  /* size */
  --title-height: 2rem;
  --depth-02-item-gap-hor: 1.2rem;
}
#fullMenu .fullMenu-title {height: var(--title-height); text-align: center; line-height: 1; position: relative;}
#fullMenu .fullMenu-title h2 {display: flex; justify-content: center; align-items: center; height: 100%; font-size: 1.6rem; color: #111; font-weight: 700;}
#fullMenu .fullMenu-title .btn-fullMenu-close {display: flex; justify-content: center; align-items: center; gap: 0.4rem; height: 100%; border-radius: calc(var(--title-height) / 2); border: 2px solid #111; background-color: #fff; box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.1); padding: 0 0.6rem; font-size: 0.8rem; color: #111; font-weight: 500; position: absolute; right: 0; top: 0; transition: 0.3s;}
#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 {display: flex; border-radius: 2.4rem 2.4rem 2.4rem 10rem; background-color: #fff; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.08); margin-top: 2.8rem;}
#fullMenu .fullMenu-content .depth-01 > li > a {flex-shrink: 0; display: flex; justify-content: center; align-items: center; width: 15rem; height: 9.6rem; border-radius: 2rem; background-color: var(--colorUtilBackground); font-size: 1.3rem; color: var(--colorUtilText); font-weight: 700;}
#fullMenu .fullMenu-content .depth-02-wrap {flex: 1;}
#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); padding: 2rem;}
#fullMenu .fullMenu-content .depth-02 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 3)) / 4); position: relative;}
#fullMenu .fullMenu-content .depth-02 > li:nth-child(4n + 1)::before {content: ""; width: calc(400% + (var(--depth-02-item-gap-hor) * 3)); border-top: 1px dashed #ccc; position: absolute; left: 0; top: 0;}
#fullMenu .fullMenu-content .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ccc; padding: 0.625em 0.6rem; font-size: 0.8rem; color: #333;}
#fullMenu .fullMenu-content .depth-03 {padding: 0.4rem 0.6rem 0;}
#fullMenu .fullMenu-content .depth-03 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem;}
#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: #333; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* 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-title .btn-fullMenu-close:hover,
#fullMenu .fullMenu-title .btn-fullMenu-close:focus-visible {background-color: #111; color: #fff;}
#fullMenu .fullMenu-content .depth-02 > li > a:hover,
#fullMenu .fullMenu-content .depth-02 > li > a:focus-visible,
#fullMenu .fullMenu-content .depth-02 > li > a:has(+ .depth-03 > li > a:hover),
#fullMenu .fullMenu-content .depth-02 > li > a:has(+ .depth-03 > li > a:focus-visible) {border-bottom-color: #111; color: #111; font-weight: 700;}
#fullMenu .fullMenu-content .depth-03 > li > a:hover,
#fullMenu .fullMenu-content .depth-03 > li > a:focus-visible {color: #111; font-weight: 600;}



/* overlayed-black : active */
#overlayed-black.active {opacity: 1; visibility: visible;}



/* 우리반 바로가기 */
.w_quickClass {width: 10.5rem; height: 5rem; border-radius: 0.5rem; border-left: 1px solid #ccc; background-color: #fff; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); position: absolute; right: 1.75rem; top: calc(var(--header-top-height) + var(--header-top-height-forTemplate) + var(--header-bottom-height-forTemplate) + 1.75rem); overflow: hidden;}
.w_quickClass h2 {display: flex; justify-content: center; align-items: center; height: 2rem; background-color: #9fa8da; font-size: 0.8rem; color: #fff; font-weight: 600; text-align: center; letter-spacing: 0;}
.w_quickClass ul {padding: 10px; font-family: '돋움', Dotum; font-size: 12px; line-height: 41px;}
.w_quickClass ul li {float: left; color: #555; line-height: 18px; letter-spacing: -1px; word-break: keep-all; margin-right: 10px;}
.w_quickClass ul li span {display: block; width: 50px;}
.w_quickClass ul li select {width: 72px; border-radius: 2px; border: 1px solid #787878;}
.w_quickClass .btn_classGo {font-size: 0; line-height: 0; position: absolute; right: 15px; bottom: 12px;}
.w_quickClass .btn_classGo img {width: 20px; height: 20px;}



/* 퀵메뉴 */
.w_quick {width: 10.5rem; border-radius: 0.5rem; border-left: 1px solid #ccc; background-color: #fff; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); position: absolute; right: 1.75rem; top: calc(var(--header-top-height) + var(--header-top-height-forTemplate) + var(--header-bottom-height-forTemplate) + 7.75rem); overflow: hidden;}
.w_quickSub {right: calc(50% - 50vw + 1.75rem) !important; top: 0 !important;}
.w_quick h2 {display: flex; justify-content: center; align-items: center; height: 2rem; background-color: #90a4ae; font-size: 0.8rem; color: #fff; font-weight: 600; text-align: center; letter-spacing: 0;}
.w_quick ul {font-family: '돋움', Dotum; font-size: 12px; line-height: 41px;}
.w_quick ul li {border-top: 1px solid #ccc; padding: 10px 10px; line-height: 18px; word-break: keep-all;}
.w_quick ul li a {display: block; color: #555; letter-spacing: -1px;}



/* footer */
footer {border-top: 1px solid #ddd;}
footer .footer-link {background-color: #f1f1f1;}
footer .footer-link .container {display: flex; justify-content: space-between; align-items: center; height: 2.5rem;}
footer .footer-link-group {display: flex;}
footer .footer-link-group li + li {padding-left: 1.8rem; position: relative;}
footer .footer-link-group li + li::before {content: ""; display: block; width: 1px; height: 0.65rem; background-color: #ccc; position: absolute; left: 0.9rem; top: calc(50% - 0.325rem);}
footer .footer-link-group li a {color: #555; font-weight: 500;}
footer .footer-link-group li a strong {color: #1246ae;}
footer .footer-link-report {display: flex; justify-content: space-between; align-items: center; width: 12rem; height: 100%; background-color: #dfdfdf; padding: 0 1rem; color: #111; font-weight: 500;}
footer .footer-link-report i {display: flex; justify-content: center; align-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background-color: #fff; color: #464d5d;}
footer .footer-info {padding: 1.75rem 0 2.25rem; font-size: 0.75rem; color: #666;}
footer .footer-info .container {position: relative;}
footer .footer-info-address {font-size: 0.8rem; color: #000; font-weight: 500;}
footer .footer-info-group {display: flex; margin-top: 0.25rem;}
footer .footer-info-group li:has( + li)::after {content: "\002F"; margin: 0.5rem;}
footer .footer-info-copyright {margin-top: 0.75rem;}
footer .footer-info-top {position: absolute; right: var(--container-gap); bottom: calc(50% - 1.875rem);}
/* LJM 웹빌더 적용 후 이미지 선택 배너, 배너내용 넘치는 현상으로 별도 스타일 추가 */
footer.forTemplate .bannerContentWrap {position: relative;}
footer.forTemplate .bannerContentWrap .bannerContent {width: 85%; max-height: 60%; border-radius: 6px; padding: 10px 0; text-align: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); overflow-y: auto;}



@media (max-width: 1479px) {

  /* 우리반 바로가기 */
  .w_quickClass {display: none;}

  /* 퀵메뉴 */
  .w_quick,
  .w_quickSub {display: none;}
}



@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: 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 #eeeff1; 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; padding: 0.8rem 0.75rem;}
  #mobileMenu .mobileMenu-util ul {display: flex; flex-wrap: wrap; justify-content: center; gap: 0.2rem 0; border-radius: 0.9rem; background-color: #f2f2f2; padding: 0.572em 0; 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.6rem; background-color: #c8c8c8; position: absolute; right: 0; top: calc(50% - 0.3rem);}
  #mobileMenu .mobileMenu-util ul li a {display: inline-block; padding: 0 0.875rem; color: #222;}
  #mobileMenu .mobileMenu-content {position: relative; overflow-y: auto;}
  #mobileMenu .mobileMenu-content::before {content: ""; display: block; width: calc(42.5% - 0.75rem); height: 100%; border-top-right-radius: 0.8rem; background-color: var(--colorUtilBackground); position: absolute; left: 0; top: 0; z-index: -1;}
  #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 {width: 42.5%; height: 100%; padding: 0.8rem 0; padding-right: 0.75rem; overflow-y: auto;}
  #mobileMenu .mobileMenu-content .depth-01::-webkit-scrollbar {display: none;}
  #mobileMenu .mobileMenu-content .depth-01 > li + li {border-top: 1px solid rgba(255, 255, 255, 0.2);}
  #mobileMenu .mobileMenu-content .depth-01 > li > a {display: block; padding: 0.717em 0; padding-left: 0.75rem; padding-right: 1.5rem; font-size: 0.75rem; color: var(--colorUtilText); font-weight: 500; position: relative; transition: 0.3s;}
  #mobileMenu .mobileMenu-content .depth-01 > li > a::after {content: "\e93f"; display: inline-flex; justify-content: center; align-items: center; width: 1.4em; height: 1.4em; border-radius: 50%; background-color: #fff; box-shadow: 0 0.2em 0.2em rgba(0, 0, 0, 0.16); font-size: 1.33em; font-weight: 400; position: absolute; right: -0.45rem; top: calc(50% - 0.7em); transform: translateX(-0.5rem) scale(0); opacity: 0; transition: 0.3s;}
  #mobileMenu .mobileMenu-content .depth-02-wrap {width: 57.5%; height: 100%; position: absolute; right: 0; top: 0; overflow-y: auto; opacity: 0; visibility: hidden; transition: 0.3s;}
  #mobileMenu .mobileMenu-content .depth-02-wrap::-webkit-scrollbar {display: none;}
  #mobileMenu .mobileMenu-content .depth-02-title {display: none;}
  #mobileMenu .mobileMenu-content .depth-02 {padding: 0.4rem 0.75rem; padding-left: 0;}
  #mobileMenu .mobileMenu-content .depth-02 > li > a {display: flex; justify-content: space-between; align-items: center; border-bottom: 1px dashed #ccc; padding: 0.625em 0.6rem; font-size: 0.75rem; color: #333;}
  #mobileMenu .mobileMenu-content .depth-03 {display: none; border-bottom: 1px solid #ccc; background-color: #f2f2f2;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.7rem;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #333; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
  #mobileMenu .mobileMenu-content .depth-03 {display: none;}
  /* mobileMenu : pseudo */
  #mobileMenu .mobileMenu-content .depth-02 > li > a::after {font-size: 1.33em; margin-left: 0.5rem;}
  #mobileMenu .mobileMenu-content .depth-02 > li > a[target="_blank"]::after {content: "\e980";}
  #mobileMenu .mobileMenu-content .depth-02 > li > a.dep::after {content: "\e942";}
  #mobileMenu .mobileMenu-content .depth-02 > li.expanded > a.dep::after {content: "\e945";}
  #mobileMenu .mobileMenu-content .depth-03 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.14em; margin-left: 0.25em; position: relative; top: 0.15em;}
  /* mobileMenu : active */
  #mobileMenu.active {transform: translateX(0); visibility: visible;}
  #mobileMenu .mobileMenu-content .depth-01 > li.active > a {font-weight: 700;}
  #mobileMenu .mobileMenu-content .depth-01 > li.active > a::after {transform: translateX(0) scale(1); opacity: 1;}
  #mobileMenu .mobileMenu-content .active .depth-02-wrap {opacity: 1; visibility: visible;}
  #mobileMenu .mobileMenu-content .depth-02 > li > a:hover,
  #mobileMenu .mobileMenu-content .depth-02 > li > a:focus-visible,
  #mobileMenu .mobileMenu-content .depth-02 > li.expanded > a {color: #111; font-weight: 700;}
  #mobileMenu .mobileMenu-content .depth-03 > li > a:hover,
  #mobileMenu .mobileMenu-content .depth-03 > li > a:focus-visible {color: #111; font-weight: 600;}

  /* mobileSearch */
  #mobileSearch {width: 100%; background-color: #f2f2f2; padding: 2.1rem 0; position: absolute;}
  #mobileSearch .input-wrap {max-width: 17.5rem; margin: 0 auto; position: relative;}
  #mobileSearch .input-wrap input {width: 100%; height: 2.8rem; border-radius: 1.4rem; border: 2px solid #ccc; background-color: #fff; padding-left: 1.2rem; padding-right: 3.7rem; font-size: 0.75rem;}
  #mobileSearch .input-wrap button {display: flex; justify-content: center; align-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background-color: var(--colorUtilBackground); font-size: 1.4rem; color: var(--colorUtilText); position: absolute; right: 0; top: calc(50% - 1.6rem);}
  #mobileSearch .btn-close {display: flex; justify-content: center; align-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background-color: #111; font-size: 1.2rem; color: #fff; position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%);}

  /* footer */
  footer .footer-info-top {right: calc(var(--container-gap) / 3 * 2);}
}



@media (max-width: 1024px) {

  /* footer */
  footer .footer-link .container {display: block; height: auto; padding: 0;}
  footer .footer-link-group {flex-wrap: wrap; gap: calc(var(--container-gap) * 0.25) calc(var(--container-gap) * 1.25); padding: calc(var(--container-gap) * 0.5) calc(var(--container-gap) / 3 * 2);}
  footer .footer-link-group li + li {padding-left: 0; position: static;}
  footer .footer-link-group li + li::before {display: none;}
  footer .footer-link-report {width: 100%; padding: 0.5rem calc(var(--container-gap) / 3 * 2);}
  footer .footer-info {padding: 1.375rem 0 3.25rem; position: relative;}
  footer .footer-info .container {position: static;}
  footer .footer-info-group {flex-wrap: wrap;}
  footer .footer-info-top {bottom: calc(var(--container-gap) / 3 * 2);}
}



@media (max-width: 768px) {

  /* footer */
  footer .footer-link-group {padding: calc(var(--container-gap) / 2);}
}



@media (max-width: 580px) {}



@media (max-width: 480px) {

  /* footer */
  footer .footer-info {padding-top: 1.125rem; font-size: inherit;}
  footer .footer-info-address {font-size: inherit;}
}



@media (max-width: 380px) {}