body {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  color: #000;
  line-height:1.3;
}

::-webkit-scrollbar-track {
  border-radius: 0.125rem;
  background-color: lightgray;
}

::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.125rem;
}

::-webkit-scrollbar-thumb {
  border-radius: 0.125rem;
  background-color: gray;
}

:root {
  --header-main-height : 10rem;
  --header-height : var(--header-main-height)
}

[class*="social-icon-"]{
  aspect-ratio:1 / 1;
  background:no-repeat 50% 50%/contain;
}
.social-icon-blog{
  background-image:url(/resources/images/eng/social-icon-blog.svg);
}
.social-icon-youtube{
  background-image:url(/resources/images/eng/social-icon-youtube.svg);
}
.social-icon-facebook{
  background-image:url(/resources/images/eng/social-icon-facebook.svg);
}

.layout {
  width: 1400px;
  max-width: 100%;
  position: relative;
  margin: 0 auto;
}

.blue {
  color: #0099DB;
}

.deepblue {
  color: #12217D;
}

.red {
  color: #DB0101;
}

.green {
  color: #01A78A;
}

.orange {
  color: #F28427;
}

.gray {
  color: #646464;
}
.gray-sm {
  font-size: 1.6rem;
}

html.active {
  overflow: hidden !important;
}

@media (max-width: 1640px) {
  html {
    font-size: 9px;
  }
}
@media (max-width:1440px) {
  .layout{
    padding:0 2rem;
    max-width:100%;
  }
}
@media (max-width: 1280px) {
  html {
    font-size: 8px;
  }
}
@media (max-width: 768px) {
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 12;
  width: 100%;
  background: #fff;
}
.header-layout {
  display: flex;
  width: 1720px;
  margin: 0 auto;
  height: var(--header-main-height);
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.header::before {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: #C7C7C7;
  position: absolute;
  bottom: 0;
  left: 0;
}
.header::after {
  display: none;
  content: "";
  width: 100%;
  height: calc(100vh - 10rem);
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  top: 10rem;
}
.header.active {
  background: #fff;
}
.header.active::after {
  display: block;
}
.header.type1 {
  background: #fff;
}
.header.type1 .gnb {
  display: none;
}
.header.type1 .util-link, .header.type1 .util-zoom {
  opacity: 0;
  visibility: hidden;
}
.header.type1 .util-info-search > a, .header.type1 .util-info-global > a, .header.type1 .util-info-wide > a {
  opacity: 0;
  visibility: hidden;
}
.header.type2 {
  background: #fff;
}
.header.type2 .gnb {
  /* 241217_display none 해제 */
  /*display: none;*/
}
.header.type2 .util-zoom {
  /*opacity: 0;
  visibility: hidden;*/
}
.header.type2 .util-info-search > a, .header.type2 .util-info-global > a, .header.type2 .util-info-wide > a {
  /*opacity: 0;
  visibility: hidden;*/
}
.header #logo {
  width: 34.7rem;
  z-index: 1;
  flex-shrink: 0;
  margin-right: 4rem;
}
.header #logo a,
.header #logo a img{
  width:100%;
}


.header #gnb {
  margin-left:auto;z-index: 1;
}
.header .gnb {
  display: flex;
}
.header .gnb li#topNaviCom_MENU00381 .depth {
  width:auto;
}
.header .gnb > li > a {
  display: flex;
  align-items: center;
  height: 10rem;
  padding: 0 1.8rem;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}
.header .gnb > li > a::after {
  display: none;
  content: "";
  width: calc(100% - 3.6rem);
  height: 4px;
  background: #1a9c00;
  left: 0;
  right: 0;
  margin: 0 auto;
  position: absolute;
  bottom: -1px;
  z-index: 1;
  border-radius:4px;
}
.header .gnb > li:hover > a::after {
  display: block;
}
.header .gnb > li.active .depth {
  opacity: 1;
  visibility: visible;
}
.header .gnb > li.active .depth-title strong,
.header .gnb > li.active .depth-title span {
  transform: translateY(0);
}
.header .gnb > li.active .depth-title strong {
  opacity: 1;
}
.header .gnb .depth {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  max-width:1400px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  display: flex;
}
.header .gnb .depth::after {
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:50%;
  width:50vw;
  z-index:-1;
}
.header .gnb .depth::before {
  display: block;
  content: "";
  width: 100vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
.header .gnb .depth::before {
  background: #fff;
  height: 100%;
}
.header .gnb .depth::after{
  background-color:#f6f7f9;
  height:100%;
}
.header .gnb .depth-title {
  width:50%;
  display:flex;
  column-gap:4.4rem;
  align-items:flex-end;
  padding:9rem 6rem 6rem 0;
}
.header .gnb .depth-title-desc{
  flex:1;
}
.header .gnb .depth-title-desc strong{
  color:#111;
  font-size:3rem;
  font-weight:700;
  line-height:1.4;
}
.header .gnb .depth-title-desc p{
  margin-top:1.5rem;
  color:#767676;
  font-size:1.8rem;
  font-weight:400;
  line-height:1.5;
}
.header .gnb .depth-title-img {
  overflow:hidden;
  flex:1;
  margin: 0 auto;
  aspect-ratio:322 / 218;
  border-radius:1.6rem;
}
.header .gnb .depth-title-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.header .gnb .depth-list {
  width:50%;
}
.header .gnb .depth-list > ul {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:6rem;
  row-gap:1.5rem;
}

.header .gnb .depth-list > ul > li{
  position:relative;
  padding-left:calc(1rem + 6px);
}

.header .gnb .depth-list > ul > li > a{
  display:block;
  color:#767676;
  font-size:1.9rem;
  line-height:1.4;
}

.header .gnb .depth-list > ul > li:before{
  content:"";
  position:absolute;
  top:1rem;
  left:0;
  width:6px;
  aspect-ratio:1 / 1;
  background-color:#ddd;
  border-radius:50%;
}

.header .gnb .depth-list > ul > li > a:hover{
  color:#111;
  font-weight:700;
  text-decoration:underline;
  text-underline-position:under;
}

.header .gnb .depth-list > ul > li:has(a:hover):before{
  background-color:#1a9c00;
}

.header .gnb .depth-list > ul > li .depth-list2{
  display:none; /* 241217_시안상 비노출로 display:none 처리, 노출 필요 시 삭제 */
  padding-left:calc(1rem + 6px);
}

.header .gnb .depth-list > ul > li > a+.depth-list2{
  margin-top:.4rem;
}
.header .gnb .depth-list > ul > li > a+.depth-list2+.depth-list2{
  margin-top:.4rem;
}

.header .gnb .depth-list > ul > li .depth-list2 > ul > li{
  position:relative;
  padding-left:1.6rem;
  color:#767676;
  font-size:1.8rem;
  line-height:1.3;
}
.header .gnb .depth-list > ul > li .depth-list2 > ul > li:before{
  content:"-";
  position:absolute;
  top:0;
  left:0;
}
.header .gnb .depth-list > ul > li .depth-list2 > ul > li > a:hover{
  color:#111;
  font-weight:500;
}

.header .util {
  display: flex;
  align-items: center;
  margin-left: 2rem;
}
.header .util::before {
  display: none;
  content: "";
  width: 100vw;
  height: calc(100% - 10rem);
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 10rem;
  left: 50%;
  transform: translateX(-50%);
}
.header .util > * {
  z-index: 1;
}
.header .util > * + * {
  margin-left: 2.5rem;
}
.header .util-link {
  display: flex;
  align-items: center;
}
.header .util-link > * + * {
  margin-left: 1rem;
}
.header .util-link-out, .header .util-link-popup {
  padding: 0.7rem 1.4rem;
  border-radius: 0.5rem;
  text-align: center;
  color: #fff;
  display: flex;
  align-items: center;
  position: relative;
}
.header .util-link-out span, .header .util-link-popup span {
  color: inherit;
  font-size: 1.6rem;
  font-weight: 500;
}
.header .util-link-out i, .header .util-link-popup i {
  font-size: 1.8rem;
  margin-left: 0.7rem;
}
.header .util-link-out sup, .header .util-link-popup sup {
  width: 2rem;
  height: 2rem;
  background: #0099DB;
  border-radius: 50%;
  color: #fff;
  font-size: 1.4rem;
  z-index: 1;
  margin-left: 1rem;
}
.header .util-link-out {
  background: #01A78A;
}
.header .util-link-popup {
  display: none;
  background: #12217D;
}
.header .util-zoom {
  display: flex;
  align-items: center;
  margin-right:6.7rem;
}
.header .util-zoom button {
  width: 2.6rem;
}
.header .util-zoom span {
  font-size: 1.4rem;
  margin: 0 0.5rem;
}
.header .util-zoom span strong {
  font-weight: 400;
}
.header .util-info {
  display: flex;
  align-items:center;
}
.header .util-info > * + * {
  margin-left: 2rem;
}
.header .util-info > div > a {
  display: flex;
  align-items: flex-end;
}
.header .util-info > div > a > i {
  font-size: 2.4rem;
  line-height: 1;
}
.header .util-info > div > a + div {
  position: absolute;
  top: 10rem;
  width:100%;
  max-width:1400px;
  left: 50%;
  transform: translateX(-50%);
}
.header .util-info > div > a + div::before {
  display: block;
  content: "";
  width: 100vw;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
.header .util-info > div > a + div.global-list {
  position: absolute;
  top: calc(100% + 2rem);
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #ddd;
  background: #fff;
  display: none;
}
.header .util-info > div > a + div.global-list::before {
  display: none;
}
.header .util-info > div > a + div.global-list a {
  display: flex;
  text-align: center;
  height: 3rem;
  align-items: center;
  justify-content: center;
  color: #030303;
  font-size: 1.6rem;
  font-weight: 500;
}
.header .util-info > div > a + div.global-list a:hover {
  color: #0099DB;
}
.header .util-info-global {
  position: relative;
}
.header .util-info-menu > a {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: 2.2rem;
  height: 100%;
}
.header .util-info-menu > a.active::after {
  display: block;
  font-family: "xeicon";
  content: "\e921";
  font-size: 3rem;
}
.header .util-info-menu > a.active span {
  display: none;
}
.header .util-info-menu span {
  width: 100%;
  height: 2px;
  background: #030303;
  margin-bottom: 0.6rem;
}
.header .util-info-menu span:nth-of-type(2) {
  width: calc(100% - 0.6rem);
}
.header .util-info-menu span:last-of-type {
  margin-bottom: 0;
}
.header .search-area {
  display: none;
  padding: 4rem;
}
.header .search-info {
  width: 89.6rem;
  text-align: center;
  margin: auto;
  max-width: 100%;
}
.header .search-info > * + * {
  margin-top: 2.5rem;
}
.header .search-info-input {
  border-bottom: 2px solid #242424;
  position: relative;
}
.header .search-info-input input[type=text] {
  width: 100%;
  height: 5.5rem;
  letter-spacing: -0.05em;
  font-size: 2.4rem;
  border: none;
  padding: 0 1.7rem;
  padding-right: 6rem;
  outline: none;
  font-weight: 700;
}
.header .search-info-input button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
}
.header .search-info-input button i {
  font-size: 3rem;
}
.header .search-info-keyword {
  display: flex;
  padding: 0 1.4rem;
}
.header .search-info-keyword-title {
  flex-shrink: 0;
  padding-top: 0.7rem;
}
.header .search-info-keyword-list {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -0.7rem;
  padding-left: 3rem;
}
.header .search-info-keyword-list li {
  margin-right: 0.7rem;
  margin-bottom: 0.7rem;
}
.header .search-info-keyword-list li a {
  display: block;
  padding: 0.7rem 2rem;
  background: #F1F3F5;
  border-radius: 2.5rem;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: #7D7D7D;
  line-height: 1.875;
}
.header .search-info-close {
  display: inline-flex;
  width: 12rem;
  height: 4rem;
  align-items: center;
  background: #242424;
  border-radius: 3rem;
  justify-content: space-between;
  color: #D1D1D1;
  font-weight: 500;
  padding: 0 2.3rem;
}
.header .search-info-close span {
  font-size: 1.6rem;
  font-family: "Montserrat";
}
.header .search-info-close i {
  font-size: 2rem;
}
.header .sitemap-area {
  display: none;
  /*height: calc(100vh - 10rem);*/
  padding: 6rem 0;
  letter-spacing: -0.05em;
}
.header .sitemap-list {
  height: 100%;
  /*padding: 0 7.2rem;*/
  overflow: hidden;
}
.header .sitemap-list > ul {
  display: flex;  
}
.header .sitemap-list > ul > li {
  flex:1;
  padding-bottom: 6rem;
  position: relative;
}
.header .sitemap-list > ul > li::before {
  display: block;
  content: "";
  width: 1px;
  height: 100vh;
  background: #dfdfdf;
  position: absolute;
  left:-0;
  top: 0;
}
.header .sitemap-list > ul > li:hover:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:calc(3.6rem * 1.3);
  background-color:#1a9c00;
  border-radius:4px;
}
.header .sitemap-list > ul > li.short {
  height: auto;
}
.header .sitemap-list1 {
  max-height: 100%;
  padding: 0 6rem;
  overflow: auto;
}
.header .sitemap-list1 > a {
  display: block;
  position:relative;
  color: #111;
  font-size: 3.6rem;
  font-weight: 700;
  line-height:1.3;
}
.header .sitemap-list2{
  margin-top:3.6rem;
}
.header .sitemap-list2 a:hover {
  text-decoration: underline;
}
.header .sitemap-list2 a.arrow:hover {
  text-decoration: none;
}
.header .sitemap-list2 > ul > li + li {
  margin-top: 1.2rem;
}
.header .sitemap-list2 > ul > li > a {
  color:#767676;
  font-size:2rem;
  line-height:1.3;
}
.header .sitemap-list2 > ul > li > a:hover{
  color:#111;
  font-weight:700;
  text-decoration:underline;
}
.header .sitemap-list3 {
  margin-top:.8rem;
  padding-left:1.8rem;
}
.header .sitemap-list3 > ul > li {
  position: relative;
  padding-left:1rem;
}
.header .sitemap-list3 > ul > li + li {
  margin-top: 0.5rem;
}
.header .sitemap-list3 > ul > li::before {
  content:"";
  position:absolute;
  top:1.1rem;
  left:0;
  width:3px;
  aspect-ratio:1 / 1;
  background-color:#767676;
  border-radius:50%;
}
.header .sitemap-list3 > ul > li > a {  
  color:#767676;
  font-size:1.8rem;
  line-height:1.3;
}
.header .sitemap-list4 {
  margin-top: 0.5rem;
}
.header .sitemap-list4 > ul > li {
  padding-left: 1.2rem;
  position: relative;
  color:#767676;
  font-size:1.8rem;
  line-height:1.3;
}
.header .sitemap-list4 > ul > li + li{
  margin-top:.4rem;
}
.header .sitemap-list4 > ul > li::before {
  content: "-";
  position: absolute;
  top:0;
  left:0;
}
.header .sitemap-list4 > ul > li > a {
  position: relative;
  display: block;
  color: #767676;
  font-size: 1.8rem;
}
@media(max-width:1760px) {
  .header-layout{
    padding:0 2rem;
    width:100%;
  }
  .header .util-zoom{
    margin-right:0;
  }
}
@media (max-width: 1500px) {
  .header #logo {
    width: 28rem;
  }
  .header .gnb > li > a {
    font-size: 1.9rem;
  }
  .header .sitemap-area {
    padding-bottom: 0;
  }
  .header .sitemap-list {
    overflow: auto;
  }
  .header .sitemap-list > ul {
    flex-direction: row;
    height: auto;
    align-items: stretch;
  }
  .header .sitemap-list > ul > li {
    height: auto;
    width: 33.3333%;
    border-right: 1px solid #dfdfdf;
  }
  .header .sitemap-list > ul > li::before {
    display: none;
  }
  .header .sitemap-list1 {
    overflow: hidden;
  }
}
@media(max-width:1440px) {
  .header .gnb .depth{
    padding:0 2rem;
    max-width:100%;
  }
}
@media (max-width: 1280px) {
  .header-layout {
    padding: 0 20px;
  }
  .header .util-link-popup {
    display: flex;
  }
  .header .gnb li#topNaviCom_MENU00381 .depth {
    width:100%;
  }
}
@media (max-width: 1024px) {
    
  #wrap {
    overflow:hidden;
  }
  
  .header .sitemap-list {
    margin: 0 -1.5rem;
  }
  .header .sitemap-list1 {
    padding: 0 1.5rem;
  }
  .header .util-info-wide {
    display: inline;
  }
  .header #gnb {
    display: none;
  }
  .header .gnb > li > a {
    padding:0 3.5rem;
  }
   .header .sitemap-area {
  width:calc(480px - 207px) !important;
  left:auto !important;
  right:0;
  transform:none !important;
  background:#fff;
  padding:0;
  top:calc(10rem + 1px) !important;
  max-width:calc(100% - 207px) !important; 
  height: calc(100vh - 10rem);
  margin-top:-1px;
  max-width: 100%;
  }
  
  .header .sitemap-area::after {
    display:block;
    content:"";
    width:100vw;
    height:100%;
    background:rgba(0, 0, 0, 0.5);
    position:absolute;
    right:0;
    top:0;
    z-index:-1;
  }
  
  .header .sitemap-area::before {
    display:none !important;
  }
  
  .header .sitemap-list {
    margin:0;
    padding:0;
    position:relative;
    overflow:visible;
  }
    
  .header .sitemap-list.active::before {
    left:-207px;
  }
  
   .header .sitemap-list.active .sitemap-list1 > a {
    left:-207px;
    transition:.25s;
   }
  
  .header .sitemap-list::before {
    display:block;
    content:"";
    width:207px;
    height:100%;
    background:#12217D;
    position:absolute;
    left:0;
    top:0;
    max-width:100%;
    transition:.25s;
  }
  
  .header .sitemap-list > ul {
    flex-wrap:wrap;
    margin:0;
  }
  
  .header .sitemap-list > ul > li {
    flex:unset;
    width:100%;
    border-right:none;
    position:static;
    padding-bottom:0;
  }

  .header .sitemap-list > ul > li::before,
  .header .sitemap-list > ul > li::after{
    display:none;
  }
  
  .header .sitemap-list > ul > li .sitemap-list2 {
    margin-top:0;
  }

  .header .sitemap-list > ul > li.active .sitemap-list2 {
    opacity:1;
    visibility:visible;
    transition:.35s .15s;
    position:relative;
    max-height:calc(100vh - 10rem);
    overflow:auto;
  }
  
   .header .sitemap-list > ul > li.active > div > a {
    color:#fff;
   }
  
  .header .sitemap-list1 {
    padding-right:0;
    padding-left:0;
  }
  
  .header .sitemap-list1 > a {
    width:207px;
    margin-top:30px;
    position:absolute;
    left:0;
  font-size:18px;
  color:#fff;
  margin-bottom:0;
  padding:0 30px;
  color:#B1B1B1;
  }
  
   .header .sitemap-list > ul > li:nth-of-type(1) .sitemap-list1 > a {
    top:0;
   }
   .header .sitemap-list > ul > li:nth-of-type(2) .sitemap-list1 > a {
    top:55px;
   }
   .header .sitemap-list > ul > li:nth-of-type(3) .sitemap-list1 > a {
    top:110px;
   }
   .header .sitemap-list > ul > li:nth-of-type(4) .sitemap-list1 > a {
    top:165px;
   }
   .header .sitemap-list > ul > li:nth-of-type(5) .sitemap-list1 > a {
    top:220px;
   }
   .header .sitemap-list > ul > li:nth-of-type(6) .sitemap-list1 > a {
    top:275px;
   }
  
  .header .sitemap-list2 {
    opacity:0;
    visibility:hidden;
    position:absolute;
    width:100%;
  }
  
  .header .sitemap-list2 > ul {
    padding:0 15px;
  }
  
  .header .sitemap-list2 > ul > li.active .sitemap-list3 {
    display:block;
  }
  
  .header .sitemap-list2 > ul > li + li {
    margin-top:0;
  }
  
  .header .sitemap-list2 > ul > li > a {
    display:flex;
    min-height:auto;
    padding:20px 0; 
    border:none;
    border-bottom:1px solid #DFDFDF;
    font-size:16px;
    line-height:1.25;
    position:relative;
  }
  .header .sitemap-list2 > ul > li > a::after {
    display: block;
    font-family: "remixicon";
    content: "\ea6e";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    font-size: 1.8rem;
    letter-spacing: -0.05em;
  }
  .header .sitemap-list2 > ul > li > a.arrow::after {
    transform: translateY(-50%) rotate(90deg);
  }
   .header .sitemap-list2 > ul > li > a.arrow {
    padding-right:22px;
  }
  
   .header .sitemap-list2 > ul > li > a::after {
    display:none;
   }
  
  .header .sitemap-list2 > ul > li > a.arrow::after {
    content:"\ea4e";
    font-size:19px;
    display:block;
    transform:translateY(-50%) rotate(0);
    right:0;
  }
  
  .header .sitemap-list2 > ul > li.active > a.arrow::after {
    transform:translateY(-50%) rotate(180deg);
  }
  
   .header .sitemap-list3 {
    display:none;
    margin-top:0;
    padding:12px 0;
    border-bottom:1px solid #dfdfdf;
   }
   
   .header .sitemap-list3 > ul > li::before {
    top:8px;
   }
   
   .header .sitemap-list3 > ul > li > a {
    font-size:16px;
   }
   
   .header .sitemap-list4 > ul > li > a {
    font-size:15px;
   }
}
@media (max-width: 768px) {
  .header #logo {
    width: 25rem;
  }
  .header .util-link {
    height: 41px;
  }
  .header .util-link-out, .header .util-link-popup {
    height: 100%;
    padding: 0 20px;
    border-radius: 0;
  }
  .header .util-link-out {
    flex-shrink: 0;
  }
  .header .util-link-popup {
    flex-grow: 1;
    margin-left: 0;
    justify-content: flex-end;
  }
  .header .util-zoom {
    display: none;
  }
  .header .search-info-keyword {
    flex-direction: column;
    padding: 0;
  }
  .header .search-info-keyword-title {
    margin-bottom: 2rem;
    text-align: left;
  }
  .header .search-info-keyword-list {
    padding-left: 0;
  }
}

@media (max-width:420px) {
  .header .sitemap-list > ul > li.active .sitemap-list2 {
    transition:.35s .15s;
  }
    
  .header .sitemap-list::before {
      width:100%;
  }
  
  .header .sitemap-list.active::before {
    width:160px;
    left:-160px;
  }
  .header .sitemap-list.active .sitemap-list1 > a {
    left:-160px;
  }
  
  .header .sitemap-area {
    width:calc(480px - 160px) !important;
    max-width:calc(100% - 160px) !important;
  }
  
  .header .sitemap-list1 > a {
    padding:0 20px;
    font-size:15px;
  }
  
  
  .header .sitemap-list2 > ul > li > a,
  .header .sitemap-list3 > ul > li > a {
    font-size:14px;
  }
  
  .header .sitemap-list4 > ul > li > a {
    font-size:13px;
  }
  
  .header .sitemap-list3 > ul > li::before {
    top:8px;
  }
}
.footer {
  letter-spacing: 0;
}

:has(#sub) .footer{
  border-top:1px solid #ddd;
}

.footer-logo{
  flex-shrink:0;
  width:34.7rem;
  margin-right:2rem;
}
.footer-logo>img{
  width:100%;
}
.footer-link {
  position: relative;
}
.footer-link::before {
  display: block;
  content: "";
  width: 100vw;
  height: 1px;
  background: #4C4E5B;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.footer-link ul {
  display: flex;
  padding: 2rem 0;
  overflow: auto;
}
.footer-link ul li {
  margin-right: 3rem;
}
.footer-link ul li a {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  white-space: nowrap;
}
.footer-link ul li a.import {
  color: #F28427;
}
.footer-info {
  padding: 5rem 0;
  display: flex;
  align-items:flex-start;
}
.footer-copy {
  line-height: 1.6;
}
.footer-copy > * {
  margin-right: 1rem;
  color: #666;
  font-size: 1.5rem;
}
.footer-copy span {
  display: inline-block;  
}
.footer-copy b{color:#111;}
.footer-sns {
  display: flex;
  align-items: flex-start;
  align-items: center;
  align-self:center;
  gap:.8rem;
  margin-left: auto;
  margin-right: 2rem;
}
.footer-sns a {
  display:flex;justify-content:center;align-items:center;width:3.4rem;aspect-ratio:1 / 1;background-color:#aaa;border-radius:50%;
}
.footer-sns a [class*="social-icon"]{
  width:2rem;
}

.footer-sns a:has(.social-icon-blog):hover{
  background-color:#74c82a;
}
.footer-sns a:has(.social-icon-facebook):hover{
  background-color:#de1f1f;
}
.footer-sns a:has(.social-icon-youtube):hover{
  background-color:#001b9c;
}

.footer-family {
  align-self:center;
  width: 19.6rem;
  position: relative;
  margin: auto 0;
}
.footer-family.active .footer-family-controller span::after {
  content:"\f1af";
}
.footer-family.active .footer-family-info {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.footer-family-controller {
  display: flex;
  width: 100%;
  height: 4.8rem;
  align-items: center;
  padding: 0 1.6rem;
  border:1px solid #ddd;
  border-radius: 0.6rem;
  position: relative;
  z-index: 1;
}
.footer-family-controller span {
  position: relative;
  padding-right: 3rem;
  color: #111;
  font-size: 1.5rem;
  font-weight:600;
  width: 100%;
}
.footer-family-controller span::after {
  display: block;
  font-family: "remixicon";
  content: "\ea13";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  color: #111;
  font-size: 1.8rem;
  font-weight: 400;
}
.footer-family-info {
  position: absolute;
  bottom: calc(100% + 0.5rem);
  transform: translateY(50%);
  transition: 0.25s;
  left: 0;
  width: 100%;
  background: #EFEFEF;
  border-radius: 0.5rem;
  padding: 1rem 0;
  opacity: 0;
  visibility: hidden;
}
.footer-family-info ul li + li {
  margin-top: 0.25rem;
}
.footer-family-info ul li a {
  display: block;
  font-size: 1.4rem;
  color: #000;
  padding: 0 1.6rem;
}

@media (max-width: 768px) {
  .footer-logo{
    width:240px;
  }
  .footer-info {
    flex-wrap: wrap;
  }
  .footer-info > * + * {
    margin-top: 3rem;
  }
  .footer-copy {
    width: 100%;
    margin-top: 2.4rem;
  }
  .footer-sns {
    margin-left: 0;
  }
}
@media (max-width: 487px) {
  .footer-sns {
    flex-shrink: 0;
    margin-right: 2rem;
  }
  .footer-family {
    flex-grow: 1;
  }
}
/* quickmenu */
.quickmenu {
  position: fixed;
  right: 0;
  top: 50%;
  right:2rem;
  transform:translatey(-50%);
  z-index:1;
}
.quickmenu-list ul {
  display: flex;
  flex-direction: column;
}
.quickmenu-list ul li {
  display: flex;
  justify-content: center;
}
.quickmenu-list ul li + li {
  margin-top: .8rem;
}
.quickmenu-list ul li a {
  display:flex;
  justify-content:center;
  align-items:center;
  width:5rem;
  aspect-ratio:1 / 1;
  border-radius:50%;
}
.quickmenu-list ul li a [class*="social-icon-"]{
  width:2.4rem;
}
.quickmenu-list--blog a{
  background-color:#74c82a;
}
.quickmenu-list--youtube a{
  background-color:#de1f1f;
}
.quickmenu-list--facebook a{
  background-color:#001b9c;
}
.quickmenu-list ul li a i {
  font-size: 2.6rem;
  color: #fff;
}
.quickmenu-list ul li a img {
  width: 2.3rem;
}
.quickmenu-list ul li a strong {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
}
.quickmenu-list--popup i {
  font-size: 2.2rem !important;
}
.quickmenu-list--popup-count {
  position: absolute;
  display: block;
  width: 1.7rem;
  height: 1.7rem;
  background: #0099DB;
  border-radius: 50%;
  color: #fff;
  font-size: 1.2rem;
  right: 0;
  top: 0;
  transform: translate(-0.5rem, -0.8rem);
  z-index: -1;
}
.quickmenu-top {
  display: flex;
  width: 5rem;
  aspect-ratio:1 / 1;
  background: #fff;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  text-align: center;
  border-radius: 50%;
  margin-top:.8rem;
  box-shadow: 0.5rem 0.5rem 1rem rgba(18, 33, 125, 0.11);
}

@media (max-width: 1280px) {
  .quickmenu {
    display: none;
  }
}
.email_no {
  padding: 6rem 4rem;
  border: 0.5rem solid #EBEBEB;
}
.email_no .icon {
  width: 16rem;
  height: 16rem;
  display: block;
  margin: 0 auto 3rem;
  background: #003580;
  border-radius: 50%;
  position: relative;
}
.email_no .icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5.7rem;
}
.email_no strong {
  display: block;
  text-align: center;
  font-size: 3rem;
  font-weight: 900;
  color: #000;
  margin-bottom: 2.2rem;
}
.email_no p {
  text-align: center;
  font-size: 1.8rem;
}
/* button */
.btn {
  display: inline-flex;
  min-width: 19rem;
  height: 5.6rem;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.4rem 0 3.2rem;
  white-space: nowrap;
  border: 1px solid #C1C1C1;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  background: #fff;
}
.btn > * + * {
  margin-left: 2rem;
}
.btn span {
  font-weight: 500;
}
.btn i {
  font-size: 2rem;
  line-height: 1;
}
.btn:hover {
  background: #0099DB;
  color: #fff;
  border: 1px solid #0099DB;
}
.btn--sm {
  min-width: 16rem;
  height: 4.8rem;
  padding: 0 2rem 0 2.4rem;
}
.btn--sm i {
  font-size: 1.6rem;
}
.btn--blue {
  background: #0099DB;
  color: #fff;
  border: 1px solid #0099DB;
}
.btn--auto {
  min-width:auto;
  padding:0 2.4rem;
}
.btn-wrapper {
  display: flex;
  margin: 5.4rem 0;
  margin-right: -1.6rem;
  margin-bottom: -1.6rem;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-wrapper--sm {
  margin-top:2rem;
  margin-bottom:2rem;
}
.btn-wrapper--end {
  justify-content:flex-end;
}
.btn-wrapper .btn {
  margin-right: 1.6rem;
  margin-bottom: 1.6rem;
}

@media (max-width: 768px) {
  .btn-wrapper {
    margin-top: 3rem;
  }
}
