@charset "UTF-8";
/*-------------------------------------------------
title       : 믹스인
Author      : ㅈㅁㅈ
Create date : 2024-05-23
-------------------------------------------------*/
@media (max-width: 1400px) {
  #gnb .depth1 > li:nth-child(1) {
    width: 23rem;
  }
  #gnb .depth1 > li:nth-child(2), #gnb .depth1 > li:nth-child(4) {
    width: 27rem;
  }
  #gnb .depth1 > li:nth-child(3), #gnb .depth1 > li:nth-child(5) {
    width: 29rem;
  }
  #visual {
    padding-bottom: 12rem;
    padding-left: 3rem;
    padding-right: 3rem;
  }
  #visual::before {
    bottom: 5%;
    width: 110rem;
    max-width: calc(100% - 20rem);
  }
  #visual .title::before {
    left: 5rem;
  }
  #visual .title::after {
    left: 15rem;
  }
  #visual .title p::before {
    right: 5rem;
  }
  #visual .title p::after {
    right: 20rem;
  }
  #visual .group1 .tag1 {
    left: 0;
  }
  #visual .group1 .tag1::after {
    left: calc(100% - 5rem);
  }
  #visual .group2 .label {
    left: -3rem;
  }
  #visual .group3 .label {
    left: 3rem;
  }
  #visual .group3 .tag2 {
    top: 1rem;
  }
  #visual .group4 .tag1 {
    right: auto;
    left: 5rem;
  }
  #visual .group4 .tag1::after {
    right: auto;
    left: 0;
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  #visual .group4 .tag2 {
    right: 0;
    top: -3rem;
  }
  #visual .group4 .tag2::after {
    right: calc(100% - 2rem);
  }
  #visual .group4 .label a::before {
    right: 0;
    bottom: 70%;
  }
  #visual .group4 .tag3 {
    right: 0;
    bottom: -5rem;
  }
  #visual .group4 .tag3::after {
    right: 100%;
    top: auto;
    bottom: 50%;
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  #visual .layerpopup .item {
    top: 10rem;
  }
  #contents article {
    padding: 5rem;
  }
  #contents a {
    display: block;
    width: 32rem;
    max-width: 100%;
    margin-top: 1px;
  }
  #contents .group1 p {
    height: 5.7rem;
  }
  #contents .group1::after {
    top: auto;
    bottom: 10rem;
  }
  #visual .visual_guide{left:3rem}
  #visual .visual_guide .img{width:12rem}
}
@media (max-width: 1024px) {
  :root {
    --fs: 1.6rem;
  }
  #gnb::before {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 7;
    width: calc(100% - 9rem);
    height: 10.1rem;
    background-color: #253951;
    content: "";
    -webkit-transform: translateX(calc(100% + 9rem));
            transform: translateX(calc(100% + 9rem));
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #gnb .open {
    top: 3rem;
  }
  #gnb .depth1 {
    overflow: hidden;
    overflow-y: auto;
    top: 10rem;
    height: calc(100% - 10rem);
    padding: 0.1rem 12rem 5rem 3rem;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 3rem;
    grid-template-areas: "gnb1 gnb2" "gnb1 gnb3" "gnb1 gnb4" "gnb1 gnb5";
  }
  #gnb .depth1 > li {
    min-width: 29rem;
    margin: 0 !important;
    border: 0 none;
  }
  #gnb .depth1 > li:nth-child(1) {
    min-width: 0;
  }
  #gnb .depth1 > li:nth-child(n+2) .depth2 > li > a {
    margin-top: 1.5rem;
  }
  #gnb .depth1 > li:nth-child(n+3) {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }
  #header.active #gnb::before {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  #intro1 .section3 i, #intro2 h1 i {
    height: 4rem;
    margin: 2rem 0;
  }
  .related {
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    margin-top: 3rem;
  }
  #intro1 .section1 p {
    width: 74.8rem;
    max-width: calc(100% - 10rem);
    padding-bottom: 12rem;
    -webkit-animation: none;
            animation: none;
  }
  #intro1 .section1 p::before {
    display: none;
  }
  #intro1 .section1 .txt4 {
    right: auto !important;
    left: 0 !important;
  }
  #intro1 .section2 .group {
    width: 40rem;
    height: 40rem;
    padding: 11rem 3rem;
  }
  #intro1 .section2 .group strong img {
    height: 3.5rem;
  }
  #intro1 .section2 .group1 {
    -webkit-animation-name: group1_2;
            animation-name: group1_2;
  }
  #intro1 .section2 .group2 {
    -webkit-animation-name: group2_2;
            animation-name: group2_2;
  }
  #intro2 h1 .txt1 {
    background: -webkit-gradient(linear, left top, right top, color-stop(88%, #236EC3), color-stop(88%, #2F4966));
    background: linear-gradient(to right, #236EC3 88%, #2F4966 88%);
  }
  #intro2 .group .item {
    display: block;
    width: calc(400% + 3rem);
    padding: 0 2rem;
  }
  #intro2 .group .item p {
    width: 100%;
    max-width: inherit;
    margin-bottom: 2rem;
  }
  #intro2 .group .item span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 1rem);
  }
  #intro2 .group .item a {
    margin: 0 1rem 0 0 !important;
    font-size: 1.5rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
  }
  #intro2 .group li {
    max-width: calc(25% - 0.75rem);
  }
  #intro2 .group li button {
    height: 30rem;
  }
  #intro2 .group li button i {
    height: 8rem;
    margin-bottom: 2rem;
    line-height: 8rem;
  }
  #intro2 .group li + li {
    margin-left: 1rem;
  }
  #intro2 .group li:nth-child(2) .item {
    margin-left: calc(-100% - 1rem);
  }
  #intro2 .group li:nth-child(3) .item {
    margin-left: calc(-200% - 2rem);
  }
  #intro2 .group li.active .item {
    height: auto;
    width: calc(400% + 3rem);
    padding: 2rem;
  }
  #visual {
    display: block;
    width: 90rem;
    padding-top: 18rem;
    padding-bottom: 18rem;
  }
  #visual::before {
    top: 43%;
    bottom: auto;
    width: 65rem;
    max-width: inherit;
    height: 0;
    padding-top: 50rem;
    background-position: 0 center;
    background-size: 100% 100%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
  #visual .title {
    top: 10rem;
  }
  #visual .title h1 img {
    height: 3rem;
  }
  #visual .title p::before {
    top: 0;
  }
  #visual .title p::after {
    top: 0;
    right: 12rem;
  }
  #visual .group {
    float: right;
    width: 50%;
    max-width: inherit;
    margin-top: 3rem;
    padding-top: 0 !important;
  }
  #visual .group .label {
    width: 30rem;
  }
  #visual .group1 .label::before {
    bottom: 50%;
    left: auto;
    right: calc(100% + 2rem);
  }
  #visual .group1 .tag1 {
    top: 1rem;
    left: -8rem;
  }
  #visual .group2 {
    clear: both;
    float: left;
  }
  #visual .group2 .label {
    left: 0;
    -webkit-transform: translate(20%, -55%);
            transform: translate(20%, -55%);
  }
  #visual .group2 .label::after {
    bottom: calc(100% + 3rem);
  }
  #visual .group2 .label a::before {
    right: 0;
    bottom: 75%;
  }
  #visual .group2 .tag1 {
    top: 0;
  }
  #visual .group2 .tag2 {
    right: auto;
    left: -5rem;
    bottom: 0;
  }
  #visual .group2 .tag2::after {
    right: auto;
    left: 100%;
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  #visual .group3 .label {
    left: 0;
  }
  #visual .group3 .label::after {
    bottom: -2rem;
  }
  /* #visual .group3 .label a::before {
    bottom: calc(100% + 3rem);
    left: 90%;
  } */
  #visual .group3 .tag3 {
    right: -2rem;
  }
  #visual .group3 .tag4 {
    right: 0;
  }
  #visual .group4 {
    clear: both;
    float: none;
    width: 100%;
  }
  #visual .group4 .label {
    -webkit-transform: translate(-4%, -10%);
            transform: translate(-4%, -10%);
  }
  #visual .group4 .label::before {
    top: 0;
  }
  #visual .group4 .label::after {
    left: 10%;
    bottom: -3rem;
  }
  #visual .group4 .label a::before {
    /* top: auto; */
    bottom: calc(100% + 8rem);
    left: 50%;
  }
  #visual .group4 .tag2 {
    left: auto;
    right: 90%;
    top: 3rem;
  }
  #visual .group4 .tag2::after {
    right: auto;
    left: 100%;
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  #visual .group4 .tag1 {
    top: -5rem;
  }
  #visual .group4 .tag3 {
    bottom: 0;
    right: -8rem;
  }
  #contents {
    display: block;
    padding: 10rem 0 3rem;
  }
  #contents h2 img {
    height: 3rem;
  }
  #contents p {
    height: auto;
    margin-top: 2rem;
  }
  #contents a {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  #contents .group1::after {
    bottom: 14rem;
  }
  #contents .group2 {
    margin: 1rem 0 0;
  }
  #contents .group2::after {
    width: 28rem;
  }
  #visual .visual_guide{top:23rem}
  #visual .visual_guide .img,
  #visual .visual_guide .desc:before{display:none}
  #visual .visual_guide .desc{top:0}
}
@-webkit-keyframes group1_2 {
  0% {
    margin-top: -39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  45% {
    margin-top: -39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  50% {
    margin-top: -18rem;
    opacity: 1;
  }
  52% {
    margin-top: -18rem;
    background-color: rgba(0, 0, 0, 0.15);
  }
  75% {
    margin-top: -18rem;
    background-color: rgba(0, 0, 0, 0.15);
    opacity: 1;
  }
  80% {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0.5;
  }
  82% {
    opacity: 0;
  }
}
@keyframes group1_2 {
  0% {
    margin-top: -39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  45% {
    margin-top: -39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  50% {
    margin-top: -18rem;
    opacity: 1;
  }
  52% {
    margin-top: -18rem;
    background-color: rgba(0, 0, 0, 0.15);
  }
  75% {
    margin-top: -18rem;
    background-color: rgba(0, 0, 0, 0.15);
    opacity: 1;
  }
  80% {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0.5;
  }
  82% {
    opacity: 0;
  }
}
@-webkit-keyframes group2_2 {
  0% {
    margin-top: 39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  45% {
    margin-top: 39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  50% {
    margin-top: 18rem;
    opacity: 1;
  }
  52% {
    margin-top: 18rem;
    background-color: rgba(0, 0, 0, 0.15);
  }
  75% {
    margin-top: 18rem;
    background-color: rgba(0, 0, 0, 0.15);
    opacity: 1;
  }
  80% {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0.5;
  }
  82% {
    opacity: 0;
  }
}
@keyframes group2_2 {
  0% {
    margin-top: 39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  45% {
    margin-top: 39rem;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
  }
  50% {
    margin-top: 18rem;
    opacity: 1;
  }
  52% {
    margin-top: 18rem;
    background-color: rgba(0, 0, 0, 0.15);
  }
  75% {
    margin-top: 18rem;
    background-color: rgba(0, 0, 0, 0.15);
    opacity: 1;
  }
  80% {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0.5;
  }
  82% {
    opacity: 0;
  }
}
@media (max-width: 640px) {
	#visual .title p{display:none}
  	#visual .visual_guide,
  	#main.active #visual .visual_guide{top: 15rem;left: 50%;transform: translateX(-50%);}
}
@media (max-width: 570px) {
  #header #logo a{left:3rem}
  #gnb .depth1 {
    display: block;
  }
  #gnb .depth1 > li {
    min-width: 100%;
  }
  #gnb .depth1 > li:nth-child(n+2) {
    margin-top: 3rem !important;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }
  #intro1 > a {
    right: 5rem;
    bottom: 5rem;
  }
  #intro1 .section1 p::before {
    bottom: 14rem;
  }
  #intro1 .section1 i {
    width: 35rem;
    height: 5rem;
  }
  #intro1 .section1 i:nth-child(3){
    width: 55rem;
    height: 5rem;
  }
  #intro1 .section3 i, #intro2 h1 i {
    height: 3rem;
    max-height: 3rem;
  }
  .layerpopup .item {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
  }
  .related button {
    height: 5rem;
    font-size: inherit;
    line-height: 4.8rem;
  }
  #fnb {
    font-size: inherit;
  }
  #intro2 .group .item {
    max-width: calc(200% + 1rem);
    font-size: inherit;
  }
  #intro2 .group .item::before {
    left: calc(25% - 1rem);
  }
  #intro2 .group .item span {
    display: block;
    width: 100%;
  }
  #intro2 .group .item a {
    width: 100%;
    height: 4rem;
    margin: 1rem 0 0 !important;
  }
  #intro2 .group .item a::after {
    display: inline-block;
    overflow: hidden;
    width: 3rem;
    height: 3rem;
    text-align: center;
    line-height: 3rem;
    vertical-align: middle;
  }
  #intro2 .group li {
    min-width: calc(50% - 1rem);
    max-width: inherit;
    margin: 0;
  }
  #intro2 .group li:nth-child(2n) {
    margin-left: 1rem;
  }
  #intro2 .group li:nth-child(2n) .item::before {
    left: auto;
    right: calc(25% - 3rem);
  }
  #intro2 .group li:nth-child(2n+1) .item::before {
    left: calc(25% - 1rem);
  }
  #intro2 .group li:nth-child(n+3) {
    margin-top: 1rem;
  }
  #intro2 .group li:nth-child(3) {
    margin-left: 0;
  }
  #intro2 .group li:nth-child(3) .item {
    margin-left: 0;
  }
  #intro2 .group li.active .item {
    margin-top: 2rem;
  }
  #intro2 .group li.active .item::before {
    top: -1rem;
  }
  #intro2 .group li button {
    height: 22rem;
    padding-bottom: 3rem;
    font-size: inherit;
  }
  #intro2 .group li button::after {
    display: inline-block;
    overflow: hidden;
    width: 3rem;
    height: 3rem;
    text-align: center;
    line-height: 3rem;
    vertical-align: middle;
    bottom: 2rem;
  }
  #intro2 .group li button i {
    height: 5rem;
    line-height: 5rem;
  }
  #intro2 .group li button span {
    height: 4rem;
  }
  #intro2 ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #visual {
    padding-top: 21rem;
  }
  #visual::before {
    top: 45%;
    width: 50rem;
    padding-top: 35rem;
  }
  #visual .title::before, #visual .title::after, #visual .title p::before, #visual .title p::after {
    display: none;
  }
  #visual .list {
    width: 40rem;
    height: 8rem;
    padding: 0 2rem 2rem;
  }
  #visual .list i {
    display: inline-block;
    overflow: hidden;
    width: 5rem;
    height: 5rem;
    text-align: center;
    line-height: 5rem;
    vertical-align: middle;
    display: block;
  }
  #visual .list .active button span {
    padding-left: 2.3rem;
  }
  #visual .list span {
    font-size: 1.4rem;
    white-space: nowrap;
  }
  #visual .list span::before {
    font-size: 2rem;
  }
  #visual .group .label {
    width: 20rem;
  }
 /*  #visual .group .label::before, #visual .group .label::after, #visual .group .label a::before {
    display: none;
  } */
  #visual .group .tag {
    height: 3rem;
    padding: 0 1rem;
    border-radius: 1rem;
    font-size: 1.4rem;
    line-height: 3rem;
  }
  /* 모바일에서 말풍선 강조효과 감추기 */
  /* #visual .group .tag:before{display:none} */
  #visual .group .tag:after {
    z-index:-1;
  }
  #visual .group2 .tag::after {
    left: 10% !important;
  }
  #visual .group2 .tag1 {
    top: -3rem;
  }
  #visual .group2 .tag2 {
    bottom: -2rem;
  }
  #visual .group3 {
    margin: 6rem 0 3rem;
  }
  #visual .group3 .tag1::after {
    left: 50%;
  }
  #visual .group4 .label {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  #visual .group4 .tag2 {
    top: 0;
  }
  #visual .layerpopup .item {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
  }
  #contents {
    font-size: inherit;
  }
  #contents article {
    padding: 3rem;
  }
  #contents h2 img {
    height: 2.5rem;
  }
  #contents a {
    display: block;
    width: 30rem;
    max-width: 100%;
    padding: 0 2rem;
    font-size: inherit;
  }
  #contents .group1::after {
    bottom: 8rem;
  }
  #contents .group1 a {
    background-color: rgba(64, 75, 134, 0.8);
  }
  .down_arrow{bottom:10rem}
}
@media (max-width: 450px) {
  #intro1 .section1 p{max-width:calc(100% - 7rem);}
  #intro1 .section1 i{width:25rem;height:4rem}
  #intro1 .section1 i:nth-child(3){height:4rem}

  #visual .layerpopup .item {padding-right: 2rem; padding-left: 2rem; padding-bottom: 2ren;}
  #visual .layerpopup .tabs [class*=tab] > button {font-size: 1.5rem; letter-spacing: -0.1rem;}
}