@charset "UTF-8";

@font-face {
    font-family: Red Hat Display;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 400;
    font-style: normal;
    src: url("/assets/fonts/RedHatDisplay/RedHatDisplay-Regular-7bb7c0de09bcd838280c156a6c31cda8.eot");
    src:
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Regular-7bb7c0de09bcd838280c156a6c31cda8.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Regular-b1a0f95e068d2a87a092d3f7c0b15e34.woff2") format("woff2"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Regular-e1b3e062136cbcf3b9a50453eccb158f.woff") format("woff"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Regular-f913c823bff6d018e14f320bfb31ffa4.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: Red Hat Display;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 500;
    font-style: normal;
    src: url("/assets/fonts/RedHatDisplay/RedHatDisplay-Medium-adec355c867140197ba66ce83fd984e8.eot");
    src:
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Medium-adec355c867140197ba66ce83fd984e8.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Medium-ba14cd32f96ab30420c2c2a1b4b04d60.woff2") format("woff2"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Medium-956e06a5abc274dfa011bb5cdcdb1c22.woff") format("woff"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Medium-a18908970bf89b4df23e683430abe4eb.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: Red Hat Display;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/RedHatDisplay/RedHatDisplay-Bold.eot");
    src:
        url("../fonts/RedHatDisplay/RedHatDisplay-Bold.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Bold-25a6eb711a9eaa60fd0572b80bfb0a2f.woff2") format("woff2"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Bold-a9b786fa04b628b1d5a385311acae403.woff") format("woff"),
        url("/assets/fonts/RedHatDisplay/RedHatDisplay-Bold-b5cc2bf93bb91fc75dd463daee907d80.ttf") format("truetype");
    font-display: swap;
}

/* 서버폰트 */
/* @font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard.woff') format('woff');
    font-style: normal;
} */
/* 로컬폰트 */
@font-face {
    font-family: "Pretendard";
    font-weight: 400;
    font-style: normal;
    src:
        url("/assets/fonts/pretendard/Pretendard-Regular-d4a954e87a1d19a80f64da85e7450b85.woff2") format("font-woff2"),
        url("/assets/fonts/pretendard/Pretendard-Regular-deaf1f3db93fd0500493ab91db2ae306.woff") format("woff"),
        url("/assets/fonts/pretendard/Pretendard-Regular-ad426f85daf320344fef4fb90d8c87d7.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Pretendard";
    font-weight: 500;
    font-style: normal;
    src:
        url("/assets/fonts/pretendard/Pretendard-Medium-98ce178532d0a51919b5d91f4ce99fe0.woff2") format("font-woff2"),
        url("/assets/fonts/pretendard/Pretendard-Medium-f0da62dd2c9a31202e47adc945a22150.woff") format("woff"),
        url("/assets/fonts/pretendard/Pretendard-Medium-57a61eff81918a74f97ba593d08937eb.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Pretendard";
    font-weight: 600;
    font-style: normal;
    src:
        url("/assets/fonts/pretendard/Pretendard-SemiBold-b50fa0c6afc558302269416ffa7ea9fb.woff2") format("font-woff2"),
        url("/assets/fonts/pretendard/Pretendard-SemiBold-b4a253ffa92c595fec1354c0d30ca6ca.woff") format("woff"),
        url("/assets/fonts/pretendard/Pretendard-SemiBold-e911263ecc4de952c7c9704d522bf7fb.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Pretendard";
    font-weight: 700;
    font-style: normal;
    src:
        url("/assets/fonts/pretendard/Pretendard-Bold-34dd324033cd43d1df5b3a0322269ee3.woff2") format("font-woff2"),
        url("/assets/fonts/pretendard/Pretendard-Bold-03fadccbbd259ba76cf4311011470c5f.woff") format("woff"),
        url("/assets/fonts/pretendard/Pretendard-Bold-0723ee5b938e98ab35833119ed9f973d.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Pretendard";
    font-weight: 800;
    font-style: normal;
    src:
        url("../fonts/pretendard/Pretendard-ExtraBold.woff2") format("font-woff2"),
        url("../fonts/pretendard/Pretendard-ExtraBold.woff") format("woff"),
        url("../fonts/pretendard/Pretendard-ExtraBold.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Pretendard";
    font-weight: 900;
    font-style: normal;
    src:
        url("/assets/fonts/pretendard/Pretendard-Black-172f16b277ee1ffb59ca064df8278760.woff2") format("font-woff2"),
        url("/assets/fonts/pretendard/Pretendard-Black-8e8fe4ae228da986d1981f381a72f065.woff") format("woff"),
        url("/assets/fonts/pretendard/Pretendard-Black-295efec41b5eccc61c6ba8e96cb816ed.ttf") format("truetype");
    font-display: swap;
}

/* only pc */
@media (min-width: 1181px) {
    :root {
        font-size: 62.5%;
        /* 10px */
    }
}

:root {
    /* color */
    /* @ main color */
    --main-color-yellow: #f7c88c;
    --main-color-cyan: #0db5d2;
    --main-color-blue: #4591ff;
    --main-color-purple: #8762db;
    --main-color-navy: #1e45ae;

    /* @ Grayscale color */
    --color-blk-true: #000000;
    --color-blk-rich: #111111;

    --color-gray-900: #222222; /* Near Black */
    --color-gray-800: #333333; /* Dark Gray */
    --color-gray-700: #444444;
    --color-gray-600: #666666; /* Dim Gray */
    --color-gray-500: #888888; /* Mid Gray */
    --color-gray-400: #aaaaaa; /* Silver */
    --color-gray-300: #cccccc; /* Light Gray */
    --color-gray-200: #dddddd;
    --color-gray-100: #eeeeee; /* Near White */

    --color-wht-off: #f7f7f7;
    --color-wht-true: #ffffff;
}

html,
body {
    overflow-x: hidden;
    font-display: swap;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    font-size: 100%;
    font-weight: 400;
    font: inherit;
    vertical-align: baseline;
}

body {
    width: 100%;
    line-height: 1;
    color: #565656;
    font-size: 1.9rem;
    font-family: "Pretendard", AppleGothic, "Malgun Gothic", "맑은 고딕", "Dotum", sans-serif;
}

*::before,
*::after {
    box-sizing: border-box;
}

* {
    outline: 0;
}

.hidden {
    overflow: hidden;
}

ol,
ul,
li {
    list-style: none;
}

table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
}

a {
    color: #111111;
    text-decoration: none;
}

em,
address {
    font-style: normal;
}

strong {
    color: #111111;
    font-weight: 700;
}

img {
    max-width: 100%;
    vertical-align: top;
}

.sr_only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 중앙정렬 */
.container {
    position: relative;
    width: 100%;
    max-width: calc(170rem);
    padding: 0 5rem;
    margin: 0 auto;
}

@media (max-width: 1700px) {
    .container {
        max-width: calc(100% + 10rem);
        padding: 0 4rem;
        margin: 0 auto;
        width: 100%;
    }
}

@media (max-width: 1180px) {
    body {
        font-size: calc(100vw * (20 / 1180));
    }

    .container {
        max-width: calc(100% - calc(100vw * (100 / 1180)));
        padding: 0;
        margin: 0 calc(100vw * (50 / 1180));
    }
}

@media (max-width: 767px) {
    body {
        font-size: calc(100vw * (32 / 767));
    }

    .container {
        max-width: calc(100% - calc(100vw * (80 / 767)));
        margin: 0 calc(100vw * (40 / 767));
    }
}

/* header */
.headerArea {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    background: transparent;
    z-index: 100;
    transition: top 0.2s;
}

.headerArea.up {
    top: -9rem;
}

.headerArea .container {
    position: relative;
    height: 9rem;
    display: flex;
    align-items: center;
}

.headerArea h1 {
    position: relative;
    width: 16.7rem;
    height: 4.3rem;
}

.headerArea h1 a {
    display: block;
}

.headerArea h1 img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.headerArea h1 img:last-child {
    opacity: 0;
}

.headerArea .lang_wrapper {
    padding: 0 calc(100vw * (54 / 1180)) 0 calc(100vw * (153 / 1180));
}

.headerArea .lang_wrapper.pc {
    display: block;
    padding: 0;
    margin-left: 2rem;
}

.headerArea .lang_wrapper.pc a {
    color: #1c1c1c;
    font-size: 1.7rem;
    padding: 2px;
}

.headerArea.sub_color .lang_wrapper.pc a,
.headerArea.color .lang_wrapper.pc a {
    color: #1a1a1a;
}

.headerArea .lang_wrapper.pc a:nth-of-type(2) {
    margin-left: 8px;
}

.headerArea .lang_wrapper.pc a.active {
    border-bottom: 1px solid #1c1c1c;
}

.headerArea.sub_color .lang_wrapper.pc a.active,
.headerArea.color .lang_wrapper.pc a.active {
    border-bottom: 1px solid #1a1a1a;
}

.headerArea .lang_wrapper.mo {
    display: none;
}

.headerArea .lang_wrapper.mo a {
    color: #111;
}

.headerArea .lang_wrapper a {
    opacity: 0.6;
    transition: 0.3s;
}

.headerArea .lang_wrapper a.active {
    opacity: 1;
}

.headerArea .nav {
    height: 100%;
    margin: 0 auto;
}

.headerArea .nav .gnb {
    height: 100%;
}

.headerArea .prdbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4rem;
    height: 100%;
}

.headerArea .prdbar.opacity > li > a {
    opacity: 0.6;
}

.headerArea .prdbar.opacity > li.on > a {
    opacity: 1;
}

.headerArea .prdbar.opacity > li:hover > a {
    opacity: 1;
}

.headerArea .prdbar > li > a {
    display: block;
    height: 100%;
    position: relative;
    text-transform: uppercase;
    line-height: 1;
    padding: 1rem 0;
    font-weight: 500;
    font-size: 1.7rem;
    color: #1c1c1c;
}

.headerArea .prdbar > li {
    position: relative;
    padding-bottom: 4rem;
    margin-bottom: -4rem;
}

.headerArea.up .prdbar .sub_menu {
    display: none;
}

.headerArea .prdbar .sub_menu li {
    margin-bottom: 1.6rem;
}

.headerArea .prdbar .sub_menu li:last-child {
    margin-bottom: 0;
}

.headerArea .prdbar .sub_menu li p {
    display: block;
    color: #111;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: -0.13px;
    padding: 2rem 0;
    margin-bottom: 0;
}

.headerArea .prdbar .sub_menu li:nth-child(1) p {
    padding-top: 0;
}

.headerArea .prdbar > li.has_icon .sub_menu li a {
    display: inline-block;
    position: relative;
}

.headerArea .prdbar > li.has_icon .sub_menu li a::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.8rem;
    padding: 0 0.6rem;
    border-radius: 5rem;
    color: #fff;
    font-family: Red Hat Display;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.headerArea .prdbar > li .sub_menu li.new a {
    padding-right: 4.1rem;
}

.headerArea .prdbar > li .sub_menu li.new a::after {
    content: "new";
    width: 3.3rem;
    background: linear-gradient(98deg, #ed3820 0%, #e4823b 100%);
}

.headerArea .prdbar > li .sub_menu li.update a {
    padding-right: 5.6rem;
}

.headerArea .prdbar > li .sub_menu li.update a::after {
    content: "update";
    width: 4.8rem;
    background: linear-gradient(98deg, #1fd187 0%, #20c8df 100%);
}

.headerArea .prdbar .sub_menu li a {
    color: #666;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: -0.16px;
    white-space: nowrap;
}

.headerArea .util {
    display: flex;
    gap: 2.4rem;
    align-items: center;
    justify-content: flex-end;
    width: 16.7rem;
    height: 100%;
}

.headerArea .util > li {
    display: flex;
    align-items: center;
    height: 100%;
}

.headerArea .util .hamburger a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    z-index: 1000;
}

.headerArea .util .hamburger a span {
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 0.4rem;
    background: #111;
    transition: all 0.2s;
}

.headerArea .util .hamburger a span:nth-child(1) {
    margin-top: 0;
}

.headerArea .hamburger.open a span {
    width: 1.8rem;
    margin: 0;
    transition-delay: 0.2s;
}

.headerArea .hamburger.open a span:nth-child(1) {
    transform: translateY(3px) rotate(135deg);
}

.headerArea .hamburger.open a span:nth-child(2) {
    transform: translateY(-1px) rotate(-135deg);
}

/* head color */
.headerArea.color,
.headerArea.sub_color {
    background: #fff;
}

.headerArea.menu_color {
    background: transparent !important;
}

.headerArea.menu_color.color {
    background: #fff !important;
}

.headerArea.color::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #ededed;
}

.headerArea.color h1 img:first-child,
.headerArea.sub_color h1 img:first-child {
    opacity: 0;
}

.headerArea.color h1 img:last-child,
.headerArea.sub_color h1 img:last-child {
    opacity: 1;
}

.headerArea.color .prdbar > li > a,
.headerArea.sub_color .prdbar > li > a {
    color: #000;
}

.headerArea.color .util .hamburger a span,
.headerArea.sub_color .util .hamburger a span {
    background: #191919;
}

.headerArea.color .util .hamburger.open a span,
.headerArea.sub_color .util .hamburger.open a span {
    background: #fff;
}

.headerArea.color.active h1 img:last-child {
    opacity: 0;
}

.headerArea.sub_color.active h1 img:last-child {
    opacity: 0;
}

.headerArea.color.active h1 img:first-child {
    opacity: 1;
}

.headerArea.sub_color.active h1 img:first-child {
    opacity: 1;
}

.solution_btn {
    display: none;
    width: 16.7rem;
    text-align: right;
}

.solution_btn button {
    position: relative;
    display: block;
    width: 13.8rem;
    height: 2.2rem;
    font-size: 0;
    background-color: transparent;
    cursor: pointer;
}

.solution_btn button::before {
    content: "";
    background: url(/assets/images/btn_solution-ee14c0089a0f141074c9d27b1f169162.svg) no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.color .solution_btn button::before,
.sub_color .solution_btn button::before {
    background: url(/assets/images/btn_solution_color-ee14c0089a0f141074c9d27b1f169162.svg) no-repeat;
    background-size: contain;
}

/* only pc 1181 ~ */
@media (min-width: 1181px) {
    header .headerArea .prdbar .sub_menu {
        display: none;
        position: absolute;
        margin-top: 16px;
        left: 50%;
        transform: translateX(-50%);
        width: fit-content;
        min-width: 120px;
        padding: 26px 32px;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, 0.06);
    }

    .headerArea .prdbar > li > a::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 0%;
        height: 2px;
        transform: translateX(-50%);
        background: #1c1c1c;
        transition: width 0.2s;
        z-index: 10;
    }

    .headerArea.sub_color .prdbar > li > a::after,
    .headerArea.color .prdbar > li > a::after {
        background: #111;
    }

    .headerArea .prdbar > li.on > a::after,
    .headerArea .prdbar > li:hover > a::after {
        width: 100%;
    }

    .headerArea .util .hamburger a:hover span {
        width: 1.8rem;
    }

    .headerArea .prdbar > li:hover .sub_menu {
        display: block !important;
    }

    .headerArea.up .prdbar > li:hover .sub_menu {
        display: none !important;
    }

    /* white */
    .headerArea.color .prdbar > li > a::after {
        background: #191919;
    }

    .headerArea .util {
        display: none;
    }

    .solution_btn {
        display: block;
    }

    .headerArea .prdbar .sub_menu li a {
        display: inline-block;
    }

    .headerArea .prdbar .sub_menu li a span {
        display: inline-block;
        position: relative;
    }

    .headerArea .prdbar .sub_menu li a span::before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #666666;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        transition: width 0.2s;
    }

    .headerArea .prdbar .sub_menu li a:hover span::before {
        width: 100%;
    }

    .headerArea .prdbar .sub_menu li a span.on::before {
        width: 100%;
    }
}

@media (max-width: 1180px) {
    .hamburger_click {
        top: 0 !important;
    }

    .headerArea.hamburger_click h1 img:last-child {
        opacity: 1;
    }

    .headerArea.hamburger_click .util .hamburger a span {
        background: #111;
    }

    .headerArea.active::after {
        display: none;
    }

    .headerArea h1 {
        position: relative;
        width: calc(100vw * (167 / 1180));
        height: calc(100vw * (43 / 1180));
        z-index: 1000;
    }

    .headerArea.up {
        top: calc(100vw * (-120 / 1180));
    }

    .headerArea .container {
        height: calc(100vw * (120 / 1180));
        justify-content: space-between;
    }

    /* menu */
    .headerArea .nav {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        padding-top: calc(100vw * (120 / 1180));
        top: 0;
        left: 100vw;
        width: 100%;
        height: 100%;
        background: #fff;
        overflow-y: scroll;
        -webkit-transition: opacity 0.3s ease;
        -moz-transition: opacity 0.3s ease;
        -o-transition: opacity 0.3s ease;
        -ms-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .headerArea.hamburger_click .nav {
        left: 0;
    }

    .headerArea .lang_wrapper.pc {
        display: none;
    }

    .headerArea .lang_wrapper.mo {
        display: block;
    }

    .headerArea .lang_wrapper a {
        font-size: calc(100vw * (24 / 1180));
        margin-right: calc(100vw * (16 / 1180));
    }

    .headerArea .lang_wrapper a.active {
        font-weight: 600;
        border-bottom: 2px solid #111;
    }

    .headerArea .prdbar {
        display: block;
        padding: 0 calc(100vw * (54 / 1180)) 0 calc(100vw * (153 / 1180));
    }

    .headerArea .prdbar .sub_menu {
        display: none;
        padding: calc(100vw * (60 / 1180));
        border-radius: calc(100vw * (30 / 1180));
        background: #f7f8f9;
    }

    .headerArea .prdbar .sub_menu li {
        margin-bottom: calc(100vw * (26 / 1180));
    }

    .headerArea .prdbar .sub_menu li a {
        font-size: calc(100vw * (18 / 1180));
    }

    .headerArea .prdbar > li > a {
        position: relative;
        padding: calc(100vw * (30 / 1180)) 0;
        font-size: calc(100vw * (22 / 1180));
        color: #111;
    }

    .headerArea .prdbar > li > a span::before {
        content: "";
        width: calc(100vw * (26 / 1180));
        height: 2px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background: #111;
    }

    .headerArea .prdbar > li > a span::after {
        content: "";
        width: calc(100vw * (26 / 1180));
        height: 2px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%) rotate(90deg);
        background: #111;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        -ms-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .headerArea .prdbar > li.has_icon .sub_menu li a::after {
        height: calc(100vw * (18 / 1180));
        padding: 0 calc(100vw * (6 / 1180));
        border-radius: calc(100vw * (50 / 1180));
        font-size: calc(100vw * (10 / 1180));
    }

    .headerArea .prdbar .sub_menu li p {
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.13 / 1180));
        margin-bottom: 0;
        padding: calc(100vw * (20 / 1180)) 0;
    }

    .headerArea .prdbar > li .sub_menu li.new a {
        padding-right: calc(100vw * (41 / 1180));
    }

    .headerArea .prdbar > li .sub_menu li.new a::after {
        width: calc(100vw * (33 / 1180));
    }

    .headerArea .prdbar > li .sub_menu li.update a {
        padding-right: calc(100vw * (56 / 1180));
    }

    .headerArea .prdbar > li .sub_menu li.update a::after {
        width: calc(100vw * (48 / 1180));
    }

    .headerArea.menu_color::before {
        display: none;
    }

    .headerArea.menu_color .nav {
        opacity: 1;
        visibility: visible;
        overflow-y: scroll;
    }

    .headerArea .nav .gnb {
        position: relative;
    }

    .headerArea .nav .gnb::before {
        content: "";
        width: 100%;
        height: calc(100vw * (120 / 1180));
        position: fixed;
        top: 0;
        left: 0;
        background: #fff;
        z-index: 1;
    }

    .headerArea.menu_color .prdbar {
        display: block;
    }

    .headerArea .prdbar > li.active > a::after {
        transform: translateY(-50%) rotate(0);
    }

    .headerArea.color .util .hamburger.open a span,
    .headerArea.sub_color .util .hamburger.open a span {
        background: #111;
    }

    .headerArea .util {
        width: auto;
        gap: calc(100vw * (24 / 1180));
    }

    .headerArea .util .hamburger a {
        width: calc(100vw * (30 / 1180));
        height: calc(100vw * (30 / 1180));
    }

    .headerArea .util .hamburger a span {
        height: 2px;
        margin-top: 8px;
        transition: all 0.3s 0.1s;
    }

    .headerArea .hamburger.open a span {
        width: calc(100vw * (30 / 1180));
        margin: 0;
        transition-delay: 0s;
    }

    .headerArea .hamburger.open a span:nth-child(1) {
        transform: translateY(calc(100vw * (3 / 1180))) rotate(135deg);
    }

    .headerArea .hamburger.open a span:nth-child(2) {
        transform: translateY(calc(100vw * (-1 / 1180))) rotate(-135deg);
    }
}

@media (max-width: 767px) {
    .headerArea h1 {
        width: calc(100vw * (210 / 767));
        height: calc(100vw * (54 / 767));
    }

    .headerArea.up {
        top: calc(100vw * (-160 / 767));
    }

    .headerArea .container {
        height: calc(100vw * (160 / 767));
    }

    .headerArea .lang_wrapper a {
        font-size: calc(100vw * (30 / 767));
    }

    .headerArea .lang_wrapper.mo {
        padding: 0 calc(100vw * (40 / 767)) 0 calc(100vw * (103 / 767));
    }

    /* menu */
    .headerArea .nav {
        padding-top: calc(100vw * (160 / 767));
    }

    .headerArea .prdbar {
        padding: 0 calc(100vw * (40 / 767)) 0 calc(100vw * (103 / 767));
    }

    .headerArea .prdbar > li > a {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: calc(100vw * (46 / 767)) 0;
        font-size: calc(100vw * (38 / 767));
    }

    .headerArea .prdbar > li > a > span {
        display: block;
        width: calc(100vw * (48 / 767));
        height: calc(100vw * (48 / 767));
        position: relative;
    }

    .headerArea .prdbar > li > a > span::before {
        width: calc(100vw * (26 / 767));
        right: auto;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .headerArea .prdbar > li > a > span::after {
        width: calc(100vw * (26 / 767));
        right: auto;
        left: 50%;
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .headerArea .prdbar > li.active > a > span::after {
        transform: translate(-50%, -50%) rotate(0);
    }

    .headerArea .prdbar .sub_menu {
        padding: calc(100vw * (60 / 767));
        border-radius: calc(100vw * (36 / 767));
    }

    .headerArea .prdbar .sub_menu li {
        margin-bottom: calc(100vw * (26 / 767));
    }

    .headerArea .prdbar .sub_menu li a {
        font-size: calc(100vw * (32 / 767));
        line-height: calc(100vw * (42 / 767));
    }

    .headerArea .prdbar > li.has_icon .sub_menu li a::after {
        height: calc(100vw * (42 / 767));
        padding: 0 calc(100vw * (18 / 767));
        border-radius: calc(100vw * (75 / 767));
        font-size: calc(100vw * (22 / 767));
    }

    .headerArea .prdbar > li .sub_menu li.new a {
        padding-right: calc(100vw * (95 / 767));
    }

    .headerArea .prdbar > li .sub_menu li.new a::after {
        width: calc(100vw * (81 / 767));
    }

    .headerArea .prdbar > li .sub_menu li.update a {
        padding-right: calc(100vw * (128 / 767));
    }

    .headerArea .prdbar > li .sub_menu li.update a::after {
        width: calc(100vw * (114 / 767));
    }

    .headerArea .prdbar .sub_menu li p {
        font-size: calc(100vw * (24 / 767));
        margin-bottom: 0;
        padding: calc(100vw * (54 / 767)) 0 calc(100vw * (44 / 767));
    }

    .headerArea .nav .gnb::before {
        height: calc(100vw * (160 / 767));
    }

    .headerArea .util {
        gap: calc(100vw * (24 / 767));
    }

    .headerArea .util .hamburger a {
        width: calc(100vw * (48 / 767));
        height: calc(100vw * (48 / 767));
    }

    .headerArea .util .hamburger a span {
        height: 2px;
        margin-top: calc(100vw * (14 / 767));
        transition: all 0.3s 0.1s;
    }

    .headerArea .hamburger.open a span {
        width: calc(100vw * (36 / 767));
        margin: 0;
        transition-delay: 0s;
    }

    .headerArea .hamburger.open a span:nth-child(1) {
        transform: translateY(calc(100vw * (3 / 767))) rotate(135deg);
    }

    .headerArea .hamburger.open a span:nth-child(2) {
        transform: translateY(calc(100vw * (-1 / 767))) rotate(-135deg);
    }
}

/* footer */
.footer {
    position: relative;
    padding: 4rem 0 4.4rem;
    background: #fff;
    border-top: 1px solid #dbdee8;
}

.footer .container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.footer .footer_logo {
    width: 15.5rem;
    height: 9.6rem;
}

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

.footer .infomation_box {
    padding-left: 10.7rem;
    width: calc(100% - 25.6rem - 15.5rem);
}

.footer .infomation_box ol {
    margin: 4rem 0 8.6rem;
}

.footer .infomation_box ol li a {
    display: inline-block;
    color: #1e1e1e;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -0.016rem;
    cursor: pointer;
}

.footer .infomation_box ol li a.policy {
    color: rgb(0, 128, 255);
    transform: scale(1.2);
    transform-origin: left;
}

.footer .infomation_box .adress p {
    color: #898d9c;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: -0.016rem;
}

.footer .infomation_box .adress p a {
    color: #898d9c;
}

.footer .infomation_box .adress .flex {
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1.2rem;
    margin-top: 0.8rem;
}

.footer .copyright {
    display: block;
    margin-top: 2.8rem;
    color: #898d9c;
    font-family: Red Hat Display;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.015rem;
}

.footer .menu_list {
    position: relative;
    width: 25.6rem;
    height: max-content;
    margin-top: 4rem;
    z-index: 99;
}

.footer .menu_list p {
    position: relative;
    border-radius: 40rem;
    border: 1px solid #898d9c;
    padding: 1.54rem 2.8rem;
    color: #898d9c;
    font-family: Red Hat Display;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -0.017rem;
    cursor: pointer;
}

.footer .menu_list p::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.3rem;
    transform: translateY(-50%);
    width: 1.4rem;
    height: 1.4rem;
    background: url(/assets/images/plus_ic-666cc96da00b6c10ffd818a8fb58ff9c.svg) no-repeat;
    background-size: contain;
}

.footer .menu_list.on p {
    background: #f7f7f7;
    color: #898d9c;
    border-color: #f7f7f7;
}

.footer .menu_list.on p::after {
    background: url(/assets/images/minus_ic-65d3d7c300b998c5341c3b894bc577e0.svg) no-repeat;
    background-size: contain;
}

.footer .menu_list.on div {
    display: block;
}

.footer .menu_list div {
    display: none;
    width: 100%;
    height: auto;
    padding: 2.6rem 2.8rem;
    border-radius: 2.6rem;
    background: var(--color-wht-off);
    white-space: nowrap;
    position: absolute;
    z-index: 10;
    bottom: calc(100% + 0.5rem);
    left: 0;
    overflow: hidden;
}
.footer .menu_list ul {
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
}

.footer .menu_list ul::-webkit-scrollbar {
    width: 1.2rem;
}

.footer .menu_list ul::-webkit-scrollbar-thumb {
    border: 8px solid #e1e1e1;
    background-color: #f7f7f7;
}

.footer .menu_list ul li {
    margin-bottom: 1.1rem;
}

.footer .menu_list ul li:last-child {
    margin-bottom: 0;
}

.footer .menu_list ul li a {
    display: block;
    height: 1.9rem;
    color: #1c1c1c;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: -0.16px;
    opacity: 0.5;
    line-height: normal;
}

.footer .menu_list ul li a:hover {
    opacity: 1;
}

.footer .sns_list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    position: absolute;
    bottom: 0;
    right: 5rem;
    z-index: 9999;
}

.footer .sns_list li a {
    display: block;
    position: relative;
    width: 5.2rem;
    height: 5.2rem;
    font-size: 0;
}

.footer .sns_list li a::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.footer .sns_list li.youtube a::before {
    background: url(/assets/images/youtube-bd943a104cdbc22e397b1f2d41712a43.svg) no-repeat;
    background-size: contain;
}

.footer .sns_list li.blog a::before {
    background: url(/assets/images/blog-0f01e40f08cdf29a904c9c6ad1ade32e.svg) no-repeat;
    background-size: contain;
}

.footer .sns_list li.linkedin a::before {
    background: url(/assets/images/linkedin-41c22af9b272ffba41a2a38e19ac5e31.svg) no-repeat;
    background-size: contain;
}

@media (max-width: 1700px) {
    .footer .sns_list {
        right: 5rem;
    }
}

@media (max-width: 1180px) {
    .footer {
        padding: calc(100vw * (40 / 1180)) 0 calc(100vw * (60 / 1180));
    }

    .footer .footer_logo {
        width: calc(100vw * (155 / 1180));
        height: calc(100vw * (96 / 1180));
    }

    .footer .infomation_box {
        padding-left: calc(100vw * (100 / 1180));
        width: calc(100% - calc(100vw * (155 / 1180)));
    }

    .footer .infomation_box ol {
        margin: calc(100vw * (40 / 1180)) 0 calc(100vw * (86 / 1180));
    }

    .footer .infomation_box ol li a {
        font-size: calc(100vw * (16 / 1180));
    }

    .footer .infomation_box .adress p {
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.16 / 1180));
    }

    .footer .infomation_box .adress .flex {
        gap: calc(100vw * (12 / 1180));
        margin-top: calc(100vw * (8 / 1180));
    }

    .footer .copyright {
        margin-top: calc(100vw * (28 / 1180));
        font-size: calc(100vw * (15 / 1180));
        letter-spacing: calc(100vw * (-0.15 / 1180));
    }

    .footer .menu_list {
        position: absolute;
        top: 0;
        right: 0;
        width: calc(100vw * (256 / 1180));
        margin-top: 0;
        padding-top: calc(100vw * (40 / 1180));
    }

    .footer .menu_list p {
        border-radius: calc(100vw * (400 / 1180));
        padding: calc(100vw * (15 / 1180)) calc(100vw * (28 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }

    .footer .menu_list p::after {
        right: calc(100vw * (23 / 1180));
        width: calc(100vw * (14 / 1180));
        height: calc(100vw * (14 / 1180));
    }

    .footer .menu_list div {
        height: calc(100vw * (162 / 1180));
        padding: calc(100vw * (28 / 1180));
        border-radius: calc(100vw * (26 / 1180));
        top: calc(100vw * (-135 / 1180));
    }

    .footer .menu_list ul li {
        margin-bottom: calc(100vw * (10 / 1180));
    }

    .footer .menu_list ul li a {
        height: calc(100vw * (19 / 1180));
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.6 / 1180));
    }

    .footer .sns_list {
        left: calc(100vw * (240 / 1180));
        bottom: calc(100vw * (100 / 1180));
    }

    .footer .sns_list li a {
        width: calc(100vw * (52 / 1180));
        height: calc(100vw * (52 / 1180));
    }
}

@media (max-width: 767px) {
    .footer {
        padding: calc(100vw * (80 / 767)) 0 calc(100vw * (167 / 767));
    }

    .footer .container {
        display: block;
    }

    .footer .footer_logo {
        width: calc(100vw * (186 / 767));
        height: calc(100vw * (115 / 767));
    }

    .footer .infomation_box {
        padding-left: 0;
        margin-top: calc(100vw * (240 / 767));
        width: 100%;
    }

    .footer .infomation_box ol {
        margin: 0 0 calc(100vw * (224 / 767));
    }

    .footer .infomation_box ol li {
        margin-bottom: calc(100vw * (40 / 767));
    }

    .footer .infomation_box ol li a {
        line-height: 1;
        font-size: calc(100vw * (26 / 767));
    }

    .footer .infomation_box .adress p {
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
        line-height: 1.6;
    }

    .footer .infomation_box .adress .flex {
        display: block;
        margin-top: 0;
    }

    .footer .copyright {
        margin-top: calc(100vw * (60 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .footer .menu_list {
        position: absolute;
        top: calc(100vw * (195 / 767));
        left: 0;
        right: auto;
        width: calc(100vw * (392 / 767));
        padding-top: 0;
    }

    .footer .menu_list p {
        height: calc(100vw * (76 / 767));
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        border-radius: calc(100vw * (400 / 767));
        padding: calc(100vw * (24 / 767)) calc(100vw * (42 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }

    .footer .menu_list p::after {
        right: calc(100vw * (37 / 767));
        width: calc(100vw * (20 / 767));
        height: calc(100vw * (20 / 767));
    }

    .footer .menu_list div {
        height: calc(100vw * (244 / 767));
        padding: calc(100vw * (40 / 767)) calc(100vw * (42 / 767));
        border-radius: calc(100vw * (40 / 767));
        top: calc(100vw * (-260 / 767));
    }

    .footer .menu_list ul li {
        margin-bottom: calc(100vw * (16 / 767));
    }

    .footer .menu_list ul li a {
        height: calc(100vw * (29 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .footer .sns_list {
        right: auto;
        left: calc(100vw * (-22 / 767));
        top: calc(100vw * (620 / 767));
        height: calc(100vw * (104 / 767));
    }

    .footer .sns_list li a {
        width: calc(100vw * (104 / 767));
        height: calc(100vw * (104 / 767));
    }
}

/* 탑버튼 */
.btn_fix {
    position: fixed;
    right: 5.6rem;
    bottom: 5.6rem;
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    overflow: visible;
    visibility: visible;
}

.btn_fix.on {
    pointer-events: auto;
    opacity: 1;
}

.btn_fix * {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.2rem;
    height: 6.2rem;
    border-radius: 50%;
    font-size: 0;
    background: #fff;
    border: 1px solid #eee;
    transition: all 0.1s;
    filter: drop-shadow(0px 10px 12px rgba(0, 0, 0, 0.06));
    cursor: pointer;
    overflow: visible;
    visibility: visible;
    transform: translateZ(0);
    will-change: transform;
}

.btn_fix .btn_top::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6.2rem;
    height: 6.2rem;
    transform: translate(-50%, -50%);
    background: url("/assets/images/top_arrow-e319b8f01cc309b04be1cb00b7118d5a.svg") no-repeat;
    background-size: contain;
}

.btn_fix .btn_contact {
    margin-bottom: 1.2rem;
}

.btn_fix .btn_contact::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6.2rem;
    height: 6.2rem;
    transform: translate(-50%, -50%);
    background: url("/assets/images/top_contact-1e2bae5cfab4cba9857a904b63af5f1a.svg") no-repeat;
    background-size: contain;
}

.btn_fix .btn_contact::after {
    content: "문의하기";
    display: none;
    position: absolute;
    top: 50%;
    left: -8.4rem;
    transform: translateY(-50%);
    width: 7.6rem;
    padding: 0.6rem 1.2rem;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: -0.015rem;
    border-radius: 10rem;
    background: #111;
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, 0.06);
}

.btn_fix.bottom {
    position: absolute;
    right: 5.6rem;
    top: -17.6rem;
    overflow: visible;
    visibility: visible;
}

/* only pc 1181 ~ */
@media (min-width: 1181px) {
    .btn_fix .btn_top:hover,
    .btn_fix .btn_contact:hover {
        background-color: rgba(17, 17, 17, 0.95);
        border-color: #111;
    }

    .btn_fix .btn_top:hover::before,
    .btn_fix .btn_contact:hover::before {
        filter: invert(1);
    }

    .btn_fix .btn_contact:hover::after {
        display: block;
    }
}

@media (max-width: 1700px) {
    .btn_fix {
        right: 5rem;
    }
}

@media (max-width: 1180px) {
    .btn_fix {
        right: calc(100vw * (50 / 1180));
        bottom: calc(100vw * (36 / 1180));
    }

    .btn_fix * {
        width: calc(100vw * (62 / 1180));
        height: calc(100vw * (62 / 1180));
        margin-left: auto;
    }

    .btn_fix .btn_contact {
        margin-bottom: calc(100vw * (12 / 1180));
    }

    .btn_fix .btn_contact::before,
    .btn_fix .btn_top::before {
        width: calc(100vw * (62 / 1180));
        height: calc(100vw * (63 / 1180));
    }

    .btn_fix.bottom {
        width: calc(100vw * (150 / 1180));
        text-align: right;
        right: calc(100vw * (50 / 1180));
        top: calc(100vw * (-176 / 1180));
    }
}

@media (max-width: 767px) {
    .btn_fix {
        right: calc(100vw * (40 / 767));
        bottom: calc(100vw * (60 / 767));
    }

    .btn_fix * {
        width: calc(100vw * (124 / 767));
        height: calc(100vw * (124 / 767));
    }

    .btn_fix .btn_contact {
        margin-bottom: calc(100vw * (24 / 767));
    }

    .btn_fix .btn_contact::before {
        background: url(/assets/images/top_contact_m-dd4a62cf8087e6a96f2f3c9ced79fc84.svg) no-repeat;
        background-size: contain;
    }

    .btn_fix .btn_top::before {
        background: url(/assets/images/top_arrow_m-a60f96f0e0546516b6079083cbc87954.svg) no-repeat;
        background-size: contain;
    }

    .btn_fix .btn_contact::before,
    .btn_fix .btn_top::before {
        width: calc(100vw * (124 / 767));
        height: calc(100vw * (126 / 767));
        /* image-rendering: pixelated; */
        filter: blur(0px);
        -webkit-filter: blur(0);
    }

    .btn_fix.bottom {
        width: calc(100vw * (400 / 1180));
        right: calc(100vw * (40 / 767));
        top: calc(100vw * (-332 / 767));
    }
}

/* 공통스타일 */
.mo {
    display: none;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.date {
    color: #9d9d9d;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.014rem;
}

.sub {
    margin-top: 9rem;
}

.sub section.active {
    display: block;
}

.sub section.inactive {
    display: none;
}

.sub_tab_menu {
    padding: 4rem 0;
}

.sub_tab_menu ol {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.sub_tab_menu ol li {
    opacity: 0.6;
}

.sub_tab_menu ol li a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: 4rem;
    padding: 0 2.2rem;
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: -0.017rem;
}

.sub_tab_menu ol li.on {
    border-radius: 10rem;
    background: #111;
    opacity: 1;
}

.sub_tab_menu ol li.on a {
    color: #fff;
}

.product_pdf_tabmenu li.active {
    opacity: 1;
}

.product_pdf_tabmenu li button {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: 4rem;
    padding: 0 2.2rem;
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: -0.017rem;
    cursor: pointer;
    background-color: transparent;
}

.product_pdf_tabmenu li.active button {
    background: #111;
    opacity: 1;
    color: #fff;
    border-radius: calc(100vw * (20 / 767));
}

.list li {
    position: relative;
    padding-left: 1rem;
}

.list li::before {
    content: "· ";
    position: absolute;
    top: 0;
    left: 0;
}

.container > .flex aside {
    width: 40.5rem;
    padding-right: 2rem;
}

.container > .flex aside h3 {
    padding-top: 1rem;
    color: #111;
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.038rem;
}

.container aside h3 {
    padding-top: 1rem;
    color: #111;
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.038rem;
}

.container > .flex .content {
    width: calc(100% - 40.5rem);
}

.sub section:last-child {
    margin-bottom: 24.2rem;
}

.round_visual {
    position: relative;
    height: 51.8rem;
}

.round_visual .container {
    height: 100%;
}

.round_visual .txt_box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
}

.round_visual h2 {
    color: #fff;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.052rem;
}

.round_visual p {
    margin-top: 2rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.022rem;
    word-break: keep-all;
}

.round_visual .img {
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    overflow: hidden;
}

.round_visual .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img div {
    width: 100%;
    height: 100%;
}

.diagram .content p {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02rem;
    word-break: keep-all;
    color: #000;
}

@media (max-width: 1180px) {
    .diagram .content p {
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .date {
        font-size: calc(100vw * (16 / 1180));
    }

    .sub {
        margin-top: calc(100vw * (120 / 1180));
    }

    .sub_tab_menu {
        padding: calc(100vw * (40 / 1180)) 0;
    }

    .sub_tab_menu ol {
        gap: 0;
    }

    .sub_tab_menu ol li a {
        padding: calc(100vw * (10 / 1180)) calc(100vw * (22 / 1180));
        font-size: calc(100vw * (17 / 1180));
        height: calc(100vw * (40 / 1180));
    }

    .sub_tab_menu ol li.on {
        border-radius: calc(100vw * (100 / 1180));
    }

    .list li {
        padding-left: calc(100vw * (10 / 1180));
    }

    .container > .flex aside {
        width: 100%;
        padding-right: 0;
    }

    .container > .flex aside h3 {
        padding-top: 0;
        font-size: calc(100vw * (38 / 1180));
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .container aside h3 {
        padding-top: 0;
        font-size: calc(100vw * (38 / 1180));
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .container > .flex .content {
        width: 100%;
    }

    .sub section:last-child {
        margin-bottom: calc(100vw * (232 / 1180));
    }

    .round_visual {
        height: calc(100vw * (518 / 1180));
    }

    .round_visual h2 {
        font-size: calc(100vw * (52 / 1180));
    }

    .round_visual p {
        margin-top: calc(100vw * (20 / 1180));
        font-size: calc(100vw * (22 / 1180));
    }

    .round_visual .img {
        border-radius: calc(100vw * (60 / 1180));
    }
}

@media (max-width: 767px) {
    .pc {
        display: none;
    }

    .mo {
        display: block;
    }

    .scroll {
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .scroll::-webkit-scrollbar {
        display: none;
    }

    .date {
        font-size: calc(100vw * (24 / 767));
    }

    .sub {
        margin-top: calc(100vw * (160 / 767));
    }

    .sub_tab_menu {
        padding: calc(100vw * (40 / 767)) 0;
    }

    .sub_tab_menu ol {
        width: 100%;
        display: inline-flex;
        width: fit-content;
        white-space: nowrap;
        padding: 0 calc(100vw * (40 / 767));
        justify-content: flex-start;
    }

    .sub_tab_menu ol li a {
        padding: calc(100vw * (12 / 767)) calc(100vw * (27 / 767));
        font-size: calc(100vw * (27 / 767));
        height: calc(100vw * (56 / 767));
    }

    .sub_tab_menu ol li.on {
        border-radius: calc(100vw * (160 / 767));
    }

    .list li {
        padding-left: calc(100vw * (10 / 767));
    }

    .container > .flex aside h3 {
        font-size: calc(100vw * (44 / 767));
        margin-bottom: calc(100vw * (50 / 767));
    }

    .container aside h3 {
        font-size: calc(100vw * (44 / 767));
        margin-bottom: calc(100vw * (50 / 767));
    }

    .sub section:last-child {
        margin-bottom: calc(100vw * (391 / 767));
    }

    .round_visual {
        height: calc(100vw * (518 / 767));
    }

    .round_visual .txt_box {
        width: 100%;
        padding: 0 calc(100vw * (65 / 767));
    }

    .round_visual h2 {
        font-size: calc(100vw * (52 / 767));
    }

    .round_visual p {
        margin-top: calc(100vw * (20 / 767));
        font-size: calc(100vw * (28 / 767));
    }

    .round_visual .img {
        border-radius: calc(100vw * (60 / 767));
    }

    .diagram .mo {
        width: 100%;
    }

    .diagram .content p {
        font-size: calc(100vw * (32 / 767));
        letter-spacing: calc(100vw * (-0.32 / 767));
        word-break: keep-all;
    }

    .scale_btn {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: calc(100vw * (60 / 767));
        margin-top: calc(100vw * (10 / 767));
    }

    .scale_btn li {
        font-size: calc(100vw * (26 / 767));
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: calc(100vw * (-0.26 / 767));
        color: #111;
    }

    .scale_btn li:last-child {
        width: calc(100vw * (60 / 767));
        height: calc(100vw * (60 / 767));
    }

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

/* 리스트 공통 */
.product_intro {
    margin: 13rem 0;
}

.product_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-right: -2rem;
}

.product_list > li {
    position: relative;
    width: calc(100% / 3 - 2rem);
    padding: 2rem 2.2rem 9rem;
    border-radius: 1.6rem;
    background: var(--color-wht-off);
    text-align: center;
}

.product_list .ic {
    display: block;
    width: 8.6rem;
    height: 8.6rem;
    margin: 0 auto 1.6rem;
}

.product_list .ic img {
    width: 100%;
    height: 100%;
}

.product_list strong {
    display: block;
    margin-bottom: 1rem;
    color: #111;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.026rem;
}

.product_list h3 {
    color: #111;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02rem;
}

.product_list p {
    margin-top: 2.2rem;
    color: #333;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.017rem;
    word-break: keep-all;
}

.product_list .solution_tag {
    margin-top: 2.8rem;
    gap: 0.6rem;
    justify-content: center;
}

.product_list .solution_tag li {
    background: #fff;
}

.product_list .btn_wrap {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    margin-top: 2.8rem;
    position: absolute;
    left: 0;
    bottom: 2.2rem;
    width: 100%;
}

.product_list .btn_wrap a {
    width: 50%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: 4rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.017rem;
}

.product_list .btn_wrap a:nth-child(2) {
    border-left: 1px solid #d4d4d4;
}

.product_list .btn_wrap span {
    display: inline-block;
    position: relative;
}

.product_list .btn_wrap span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.product_list .btn_wrap a.btn_more span {
    padding-right: 1.9rem;
}

.product_list .btn_wrap a.btn_more span::after {
    width: 1.1rem;
    height: 0.8rem;
    background: url(/assets/images/box_list_ic-cb17e5c1ec428cbf9298532294599341.svg) no-repeat;
    background-size: contain;
}

.product_list .btn_wrap a.btn_more span em {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    clip: rect(0 0 0 0);
}

a.btn_down span {
    padding-right: 1.8rem;
}

a.btn_down span::after {
    width: 1.2rem;
    height: 1.3rem;
    background: url(/assets/images/box_down_ic-8185aac0ed419a057860ed98c2442c2f.svg) no-repeat;
    background-size: contain;
}

a.btn_down.black span::after {
    filter: invert(0);
}

.cate_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-right: -2rem;
}

.cate_list > li {
    width: calc(100% / 3 - 2rem);
}

.cate_list a {
    display: block;
    position: relative;
}

.cate_list a .solution_tag {
    position: absolute;
    top: 2rem;
    left: 2rem;
    display: block;
    z-index: 1;
}

.cate_list a .solution_tag li {
    display: block;
    margin-bottom: 0.6rem;
    padding: 0;
    background-color: transparent;
}

.cate_list a .solution_tag li p {
    padding: 0 1.6rem;
    border-radius: 5rem;
    background: #fff;
    color: #666;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -0.014rem;
}

.cate_list a .img_box {
    margin-bottom: 3rem;
    height: 29.2rem;
    border-radius: 1.6rem;
    overflow: hidden;
}

.cate_list a .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cate_list a .cate {
    display: block;
    padding: 0 1rem;
    /*	color: #119DE9;*/
    color: #00559d;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.017rem;
}

.cate_list a strong {
    display: block;
    margin: 1.2rem 0 3rem;
    padding: 0 1rem;
    color: #111;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.022rem;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cate_list a .date {
    display: block;
    height: 2.4rem;
    padding: 0 1rem;
    color: #757575;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.014rem;
}

@media (max-width: 1700px) {
    .product_list .btn_wrap {
        margin-top: calc(100vw * (28 / 1700));
        bottom: calc(100vw * (22 / 1700));
    }

    .product_list .btn_wrap a {
        height: calc(100vw * (40 / 1700));
        font-size: calc(100vw * (17 / 1700));
    }

    .product_list .btn_wrap a.btn_more span {
        padding-right: calc(100vw * (19 / 1700));
    }

    .product_list .btn_wrap a.btn_more span::after {
        width: calc(100vw * (11 / 1700));
        height: calc(100vw * (8 / 1700));
        top: calc(50% - calc(100vw * (1 / 1700)));
    }

    .product_list a.btn_down span::after {
        width: calc(100vw * (12 / 1700));
        height: calc(100vw * (13 / 1700));
        top: calc(50% - calc(100vw * (1 / 1700)));
    }

    /*a.btn_down span { padding-right: calc(100vw * (18 / 1700)); }
    a.btn_down span::after { width: calc(100vw * (10 / 1700)); height: calc(100vw * (12 / 1700)); } */
}

@media (max-width: 1180px) {
    .product_intro {
        margin: calc(100vw * (130 / 1180)) 0;
    }

    .product_intro .flex {
        display: block;
    }

    .product_intro .flex aside h3 {
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .product_intro .container > .flex .content {
        width: 100%;
    }

    .product_list {
        gap: calc(100vw * (20 / 1180));
        margin-right: calc(100vw * (20 / 1180));
    }

    .product_list > li {
        width: calc(100% / 3 - calc(100vw * (20 / 1180)));
        padding: calc(100vw * (24 / 1180)) calc(100vw * (17 / 1180)) calc(100vw * (80 / 1180));
        border-radius: calc(100vw * (14 / 1180));
    }

    .product_list .ic {
        width: calc(100vw * (86 / 1180));
        height: calc(100vw * (86 / 1180));
        margin: 0 auto calc(100vw * (8 / 1180));
    }

    .product_list strong {
        margin-bottom: calc(100vw * (9 / 1180));
        font-size: calc(100vw * (24 / 1180));
    }

    .product_list h3 {
        font-size: calc(100vw * (18 / 1180));
    }

    .product_list p {
        margin-top: calc(100vw * (19 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }

    .product_list .solution_tag {
        margin-top: calc(100vw * (18 / 1180));
        gap: calc(100vw * (6 / 1180));
    }

    .product_list .btn_wrap {
        margin-top: calc(100vw * (18 / 1180));
        bottom: calc(100vw * (25 / 1180));
    }

    .product_list .btn_wrap a {
        height: calc(100vw * (36 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }

    .product_list .btn_wrap a.btn_more span {
        padding-right: calc(100vw * (19 / 1180));
    }

    .product_list .btn_wrap a.btn_more span::after {
        width: calc(100vw * (11 / 1180));
        height: calc(100vw * (8 / 1180));
    }

    a.btn_down span {
        padding-right: calc(100vw * (18 / 1180));
    }

    a.btn_down span::after {
        width: calc(100vw * (10 / 1180));
        height: calc(100vw * (12 / 1180));
    }

    .cate_list {
        gap: calc(100vw * (20 / 1180));
        margin-right: calc(100vw * (20 / 1180));
    }

    .view_content .container > .flex .content {
        width: 100%;
    }

    .view_content .flex aside h3 {
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .cate_list > li {
        width: calc(100% / 3 - calc(100vw * (20 / 1180)));
    }

    .cate_list a .solution_tag {
        top: calc(100vw * (30 / 1180));
        left: calc(100vw * (30 / 1180));
    }

    .cate_list a .solution_tag li {
        margin-bottom: calc(100vw * (6 / 1180));
        line-height: 1;
    }

    .cate_list a .solution_tag li p {
        padding: 0 calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (45 / 1180));
        font-size: calc(100vw * (14 / 1180));
    }

    .cate_list a .img_box {
        margin-bottom: calc(100vw * (28 / 1180));
        height: calc(100vw * (264 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }

    .cate_list a .cate {
        padding: 0 calc(100vw * (10 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }

    .cate_list a strong {
        padding: 0 calc(100vw * (10 / 1180));
        margin: calc(100vw * (10 / 1180)) 0 calc(100vw * (27 / 1180));
        font-size: calc(100vw * (22 / 1180));
    }

    .cate_list a .date {
        padding: 0 calc(100vw * (10 / 1180));
        height: calc(100vw * (24 / 1180));
        font-size: calc(100vw * (14 / 1180));
    }
}

@media (max-width: 767px) {
    .product_intro .container > .flex .content {
        width: 100vw;
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        margin: 0 calc(100vw * (-40 / 767));
        padding: 0 calc(100vw * (40 / 767));
    }

    .product_intro .container > .flex .content::-webkit-scrollbar {
        display: none;
    }

    .product_intro .container > .flex .content > ul {
        flex-wrap: nowrap;
        width: fit-content;
        overflow: hidden;
    }

    .product_intro .container > .flex .content > ul > li {
        float: left;
        width: calc(100vw * (687 / 767));
    }

    .product_intro {
        margin: calc(100vw * (140 / 767)) 0;
    }

    .product_intro .flex aside h3 {
        margin-bottom: calc(100vw * (60 / 767));
    }

    .product_list {
        gap: calc(100vw * (20 / 767));
        margin-right: 0;
    }

    .product_list > li {
        width: 100%;
        padding: calc(100vw * (54 / 767)) calc(100vw * (12 / 767)) calc(100vw * (165 / 767));
        border-radius: calc(100vw * (30 / 767));
    }

    .product_list .ic {
        width: calc(100vw * (130 / 767));
        height: calc(100vw * (130 / 767));
        margin: 0 auto calc(100vw * (30 / 767));
    }

    .product_list strong {
        margin-bottom: calc(100vw * (18 / 767));
        font-size: calc(100vw * (48 / 767));
    }

    .product_list h3 {
        font-size: calc(100vw * (36 / 767));
    }

    .product_list p {
        margin-top: calc(100vw * (40 / 767));
        font-size: calc(100vw * (28 / 767));
    }

    .product_list .solution_tag {
        margin-top: calc(100vw * (40 / 767));
        gap: calc(100vw * (10 / 767));
    }

    .product_list .btn_wrap {
        margin-top: calc(100vw * (40 / 767));
        bottom: calc(100vw * (50 / 767));
    }

    .product_list .btn_wrap a {
        height: calc(100vw * (72 / 767));
        font-size: calc(100vw * (30 / 767));
    }

    .product_list .btn_wrap a.btn_more span {
        padding-right: calc(100vw * (35 / 767));
    }

    .product_list .btn_wrap a.btn_more span::after {
        width: calc(100vw * (21 / 767));
        height: calc(100vw * (14 / 767));
    }

    a.btn_down span {
        padding-right: calc(100vw * (32 / 767));
    }

    a.btn_down span::after {
        width: calc(100vw * (18 / 767));
        height: calc(100vw * (22 / 767));
    }

    .view_content .container > .flex .content {
        width: 100vw;
        margin: 0 calc(100vw * (-40 / 767));
        padding: 0 calc(100vw * (40 / 767));
        overflow-x: scroll;
        -ms-overflow-style: none;
        /* IE and Edge */
        scrollbar-width: none;
        /* Firefox */
    }

    .view_content .container > .flex .content::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari, Opera*/
    }

    .view_content .flex aside h3 {
        margin-bottom: calc(100vw * (60 / 767));
    }

    .cate_list {
        display: block;
        margin-right: 0;
        width: max-content;
        overflow: hidden;
    }

    .cate_list > li {
        float: left;
        width: calc(100vw * (687 / 767));
        margin-right: calc(100vw * (20 / 767));
    }

    .cate_list > li:last-child {
        margin-right: 0;
    }

    .cate_list a .solution_tag {
        top: calc(100vw * (50 / 767));
        left: calc(100vw * (50 / 767));
    }

    .cate_list a .solution_tag li {
        height: auto;
        margin-bottom: calc(100vw * (10 / 767));
    }

    .cate_list a .solution_tag li p {
        padding: 0 calc(100vw * (22 / 767));
        border-radius: calc(100vw * (86 / 767));
        font-size: calc(100vw * (24 / 767));
    }

    .cate_list a .img_box {
        margin-bottom: calc(100vw * (52 / 767));
        height: calc(100vw * (508 / 767));
        border-radius: calc(100vw * (30 / 767));
    }

    .cate_list a .img_box .img {
        height: 100%;
    }

    .cate_list a .img_box img {
        height: 100%;
    }

    .cate_list a .cate {
        padding: 0 calc(100vw * (16 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }

    .cate_list a strong {
        padding: 0 calc(100vw * (16 / 767));
        margin: calc(100vw * (22 / 767)) 0 calc(100vw * (52 / 767));
        font-size: calc(100vw * (36 / 767));
    }

    .cate_list a .date {
        padding: 0 calc(100vw * (16 / 767));
        height: calc(100vw * (42 / 767));
        font-size: calc(100vw * (24 / 767));
    }
}

/* 제품리스트 딱지 */
.product_list > li::after {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    height: 2.8rem;
    padding: 0rem 1.2rem;
    color: #fff;
    font-family: Red Hat Display;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 5rem;
}

.product_list > li.new::after {
    content: "New";
    width: 5.4rem;
    background: linear-gradient(98deg, #ed3820 0%, #e4823b 100%);
}

.product_list > li.update::after {
    content: "Update";
    width: 7.4rem;
    background: linear-gradient(98deg, #1fd187 0%, #20c8df 100%);
}

@media (max-width: 1180px) {
    .product .container > .flex aside {
        margin-bottom: 0;
    }

    .product_list > li::after {
        top: calc(100vw * (13 / 1180));
        right: calc(100vw * (15 / 1180));
        height: calc(100vw * (28 / 1180));
        padding: 0rem calc(100vw * (12 / 1180));
        font-size: calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (50 / 1180));
    }

    .product_list > li.new::after {
        width: calc(100vw * (54 / 1180));
    }

    .product_list > li.update::after {
        width: calc(100vw * (74 / 1180));
    }
}

@media (max-width: 767px) {
    .product_list > li::after {
        top: calc(100vw * (28 / 767));
        right: calc(100vw * (29 / 767));
        height: calc(100vw * (50 / 767));
        padding: 0 calc(100vw * (22 / 767));
        font-size: calc(100vw * (26 / 767));
        border-radius: calc(100vw * (92 / 767));
    }

    .product_list > li.new::after {
        width: calc(100vw * (99 / 767));
    }

    .product_list > li.update::after {
        width: calc(100vw * (136 / 767));
    }
}

/* 버튼 공통 */
.btn.btn_white {
    color: #fff;
    border-color: #fff;
}
.btn.btn_blk {
    color: #252525;
    border-color: #252525;
}

.btn.btn_white span::after {
    filter: invert(0);
}

.btn.btn_blk span::after {
    filter: invert(0);
}

.btn {
    display: flex;
    width: 18rem;
    height: 5rem;
    padding: 1rem;
    justify-content: center;
    align-items: center;
    border-radius: 10rem;
    border: 1px solid #111;
    font-size: 1.7rem;
}

.btn span {
    position: relative;
    display: inline-block;
    padding-right: 2.4rem;
    text-wrap: nowrap;
    font-weight: 500;
}

.btn span::after {
    content: "";
    background: url(/assets/images/btn-d4ec24eee693e118ba968eec47b8313d.svg) no-repeat;
    background-size: contain;
    width: 9px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    filter: invert(1) brightness(0);
}

.btn_black {
    display: flex;
    width: 18rem;
    height: 5rem;
    padding: 1rem;
    justify-content: center;
    align-items: center;
    border-radius: 10rem;
    border: 1px solid #111;
    font-size: 1.7rem;
}

.btn_black span {
    position: relative;
    display: inline-block;
    padding-right: 2.4rem;
    text-wrap: nowrap;
    font-weight: 500;
}

.btn_black span::after {
    content: "";
    background: url(/assets/images/btn_blk-2b2cf1f228bd20aa08b198fbf61d296f.svg) no-repeat;
    background-size: contain;
    width: 9px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    filter: invert(1);
}

.btn_big_arrow {
    position: relative;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    height: 4.6rem;
    padding-right: 7.1rem;
    color: #000;
    font-family: Red Hat Display;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.2;
}

.btn_big_arrow::after {
    content: "";
    width: 4.6rem;
    height: 4.6rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url(/assets/images/btn_big_arrow-d661b28d9b0667862ba1c11a474a8f4f.svg) no-repeat;
    background-size: contain;
}

.btn_link {
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.03rem;
}

.btn_link span {
    position: relative;
    padding-right: 2.3rem;
}

.btn_link span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.1rem;
    background: url(/assets/images/btn_link-0dd36443c072cd74fa5fa3579ffb6fcc.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 1181px) {
    .btn.btn_white.hover {
        transition: all 0.3s ease-in;
    }

    .btn.btn_white.hover:hover {
        background-color: #fff;
        color: #000;
    }

    .btn.btn_white.hover span::after {
        transition: all 0.3s ease-in;
    }

    .btn.btn_white.hover:hover span::after {
        filter: invert(1);
    }

    .btn.hover {
        transition: all 0.3s ease-in;
    }

    .btn.hover:hover {
        border-color: #000;
        background-color: #000;
        color: #fff;
    }

    .btn.hover span::after {
        transition: all 0.3s ease-in;
    }

    .btn.hover:hover span::after {
        filter: invert(1);
    }

    .img_hover a .img {
        width: 100%;
        height: 100%;
        transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
        -webkit-transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
        will-change: transform;
    }

    .img_hover a:hover .img {
        transform: scale(1.1) rotate(0.001deg);
    }
}

@media (max-width: 1180px) {
    .btn {
        width: calc(100vw * (180 / 1180));
        height: calc(100vw * (50 / 1180));
        padding: calc(100vw * (10 / 1180));
        border-radius: calc(100vw * (100 / 1180));
        font-size: calc(100vw * (17 / 1180));
    }

    .btn span {
        padding-right: calc(100vw * (24 / 1180));
    }

    .btn span::after {
        width: calc(100vw * (9 / 1180));
        height: calc(100vw * (14 / 1180));
    }

    .btn_big_arrow {
        height: calc(100vw * (46 / 1180));
        padding-right: calc(100vw * (71 / 1180));
        font-size: calc(100vw * (26 / 1180));
    }

    .btn_big_arrow::after {
        width: calc(100vw * (46 / 1180));
        height: calc(100vw * (46 / 1180));
    }

    .btn_link {
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.03 / 1180));
    }

    .btn_link span {
        padding-right: calc(100vw * (20 / 1180));
    }

    .btn_link span::after {
        width: calc(100vw * (10 / 1180));
        height: calc(100vw * (10 / 1180));
    }
}

@media (max-width: 767px) {
    .btn {
        width: 100%;
        height: calc(100vw * (90 / 767));
        padding: calc(100vw * (27 / 767)) 0;
        border-radius: calc(100vw * (200 / 767));
        font-size: calc(100vw * (28 / 767));
    }

    .btn span {
        padding-right: calc(100vw * (30 / 767));
    }

    .btn span::after {
        width: calc(100vw * (10 / 767));
        height: calc(100vw * (20 / 767));
        background: url(/assets/images/btn_m-e2a64b20d58097758af2380ba1992830.svg) no-repeat;
        background-size: contain;
        filter: contrast(1) brightness(0);
    }
    .btn.btn_white span::after {
        filter: invert(1) brightness(1);
    }

    .btn_big_arrow {
        height: calc(100vw * (46 / 767));
        padding-right: calc(100vw * (52 / 767));
        font-size: calc(100vw * (26 / 767));
    }

    .btn_big_arrow::after {
        width: calc(100vw * (46 / 767));
        height: calc(100vw * (46 / 767));
    }

    .btn_link {
        font-size: calc(100vw * (22 / 767));
        letter-spacing: calc(100vw * (-0.03 / 767));
    }

    .btn_link span {
        padding-right: calc(100vw * (30 / 767));
    }

    .btn_link span::after {
        width: calc(100vw * (14 / 767));
        height: calc(100vw * (14 / 767));
    }
}

/* 상세페이지 공통 */
.solution_tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.solution_tag li {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    padding: 0 1.6rem;
    font-size: 1.4rem;
    height: 3.4rem;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: -0.014rem;
    border-radius: 5rem;
    background: rgba(49, 49, 49 0.07);
}

.product_list .solution_tag li p {
    color: #666;
}

.solution_tag li p {
    margin: 0;
    font-size: 1.4rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.solution_tag li p a {
    display: block;
    color: #fff;
}

.view_visual {
    position: relative;
    width: 100%;
    height: 51.8rem;
    z-index: 1;
    color: #fff;
}

.view_visual::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 67.2rem;
    height: 100%;
    opacity: 0.6;
    background: linear-gradient(98deg, rgba(9, 35, 68, 0.9) 31.02%, rgba(9, 35, 68, 0) 90.81%);
    z-index: -1;
}

.view_visual .btn_box {
    padding: 5.2rem 0 1.1rem;
}

.view_visual .btn_list {
    position: relative;
    display: block;
    padding-left: 2.2rem;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.3;
    color: #333;
}

.view_visual .btn_list::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0.7rem;
    height: 1.4rem;
    background: url(/assets/images/btn_list-cd0b4fced19b75ed8bdd5752e79cf602.svg) no-repeat;
    background-size: contain;
}

.view_visual .type_title {
    margin-top: 7.8rem;
    color: #111;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 130%;
    /* 6.76rem */
    letter-spacing: -0.052rem;
}

.view_visual p {
    margin: 2rem 0 3.6rem;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02rem;
    color: #333;
}
.view_visual .solution_tag li {
    border: 1px solid #ddd;
    background-color: rgba(49, 49, 49, 0.1);
}
.view_visual .solution_tag li p {
    opacity: 0.75;
    color: #313131;
}

.view_visual .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.view_visual .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.view_visual .img video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.play_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2.4rem 0rem;
    background: var(--color-wht-off);
}

.play_btn button {
    position: relative;
    height: 3.2rem;
    cursor: pointer;
    background-color: transparent;
}

.play_btn button span {
    position: relative;
    display: inline-block;
    padding-left: 4.5rem;
    color: #00559d;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.018rem;
}

.play_btn button span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 3.2rem;
    height: 3.2rem;
    background: url(/assets/images/solution/play_ic-2d9f5846a9113ed9c4c90a5fa86ea2ea.svg) no-repeat;
    background-size: contain;
}

/* brain 240128 */
.content_intro {
    margin: 13rem 0;
}

.content_intro .content > ul > li {
    width: calc(100% / 3 - 2rem);
    min-height: 24.2rem;
    padding: 3.8rem;
    border-radius: 1.6rem;
    background: var(--color-wht-off);
}

.content_intro li .ic {
    display: block;
    width: 5rem;
    height: 5rem;
}

.content_intro li .ic img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.content_intro li .sdk {
    display: block;
    width: 100%;
}

.content_intro li .sdk img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.content_intro li strong {
    font-size: 2.6rem;
}

.content_intro li p {
    margin-top: 3rem;
    color: #111;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02rem;
    word-break: keep-all;
}

.content_intro .container > .flex .content > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-right: -2rem;
}

.product_func {
    margin-top: 13rem;
}

.product_func .container aside h3 {
    padding-top: 1rem;
    color: #111;
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.038rem;
    margin-bottom: 3rem;
}

.product_func .container .content > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-right: -2rem;
}

.product_func .content > ul > li {
    width: calc(100% / 5 - 2rem);
    min-height: 20rem;
    padding: 3.2rem;
    border-radius: 1.6rem;
    background: var(--color-wht-off);
}

.product_func li .ic {
    display: block;
    width: auto;
    height: 8rem;
}

.product_func li .ic img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product_func li p {
    margin-top: 3rem;
    color: #111;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02rem;
    word-break: keep-all;
    text-align: center;
}

.product_func_table {
    /*border: 1px solid red;*/
}

.product_func_table thead tr {
    background-color: black;
}

.product_func_table thead tr th {
    color: #fff;
    text-align: left;
    padding: 1rem 2rem;
    border: 1px solid #fff;
    line-height: 2;
}

.product_func_table tbody tr {
    background-color: #eee;
}

.product_func_table tbody tr:nth-child(even) {
    background-color: #ddd;
}

.product_func_table tbody tr td {
    color: #000;
    text-align: left;
    padding: 1rem 2rem;
    border: 1px solid #fff;
    line-height: 1.5;
    display: table-cell;
    vertical-align: middle;
}

.product_example {
    margin-top: 13rem;
}

.product_example .container > .flex .content {
    width: 100%;
}

.product_example .container aside h3 {
    padding-top: 1rem;
    color: #111;
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.038rem;
    margin-bottom: 3rem;
}

.product_example .container .content > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-right: -2rem;
}

.product_example .content > ul > li {
    width: calc(100% / 3 - 2rem);
    min-height: 24.2rem;
    padding: 3.2rem;
    border-radius: 1.6rem;
    background: var(--color-wht-off);
}

.product_example .content > ul.way4 {
    padding-bottom: 4rem;
}

.product_example .content > ul.way4 > li {
    width: calc(100% / 4 - 2rem);
}

.product_example li .ic {
    display: block;
    width: 5rem;
    height: 5rem;
}

.product_example li h4 {
    margin-top: 1rem;
    font-size: 2.4rem;
    font-weight: bold;
    color: #111;
}

.product_example li .ic img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product_example li p {
    margin-top: 1.6rem;
    color: #111;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02rem;
    word-break: keep-all;
}

.view_list_box {
    text-align: center;
}

.view_list {
    display: inline-block;
    position: relative;
    padding-top: 4.1rem;
    color: #111;
    font-family: Red Hat Display;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.48rem;
}

.view_list::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - 3px);
    transform: translateX(-50%);
    width: 2.9rem;
    height: 2.9rem;
    background: url(/assets/images/solution/list_ic-8f625dd89fb42aa6bb3a07b8396dbb9a.svg) no-repeat;
    background-size: contain;
}

.view_contact .txt_box {
    position: relative;
    padding: 8.6rem 13rem;
    height: 30rem;
    border-radius: 2rem;
}

.view_contact .txt_box::after {
    content: "";
    width: 8.1rem;
    height: 6.4rem;
    position: absolute;
    top: 50%;
    right: 13rem;
    transform: translateY(-50%);
    background: url(/assets/images/solution/contact_ic-4e3c58ee65934752f015673cb026f493.svg) no-repeat;
    background-size: contain;
}

.view_contact strong,
.view_contact h1 {
    display: block;
    margin-bottom: 3rem;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.032rem;
}

.view_contact a {
    width: 18.8rem;
    height: 5.2rem;
}

.view_contact a span {
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -0.017rem;
}

.type_title {
    position: relative;
    display: inline-block;
}

.type_title::after {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 2.8rem;
    padding: 0rem 1.2rem;
    color: #fff;
    font-family: Red Hat Display;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 5rem;
}

.new.type_title {
    padding-right: 6.6rem;
}

.new.type_title:after {
    content: "New";
    width: 5.4rem;
    background: linear-gradient(98deg, #ed3820 0%, #e4823b 100%);
}

.update.type_title {
    padding-right: 8.6rem;
}

.update.type_title:after {
    content: "Update";
    width: 7.4rem;
    background: linear-gradient(98deg, #1fd187 0%, #20c8df 100%);
}

@media (max-width: 1180px) {
    .product_example {
        margin-top: 7.5rem;
    }

    .product_example .container > .flex .content {
        width: 100%;
    }

    .product_example .container aside h3 {
        padding-top: 0;
        font-size: calc(100vw * (38 / 1180));
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .product_example .container .content > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-right: -2rem;
    }

    .product_example .content > ul > li {
        width: calc(100% / 3 - 2rem);
        min-height: 0;
        padding: calc(100vw * (60 / 1180));
    }

    .product_example .content > ul.way4 > li {
        width: calc(100% / 2 - 2rem);
    }

    .product_example li .ic {
        height: calc(100vw * (60 / 1180));
        width: calc(100vw * (60 / 1180));
    }

    .product_example li h4 {
        margin-top: calc(100vw * (30 / 1180));
        font-size: calc(100vw * (24 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .product_example li p {
        margin-top: calc(100vw * (24 / 1180));
        font-size: calc(100vw * (21 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .solution_tag {
        gap: calc(100vw * (6 / 1180));
    }

    .solution_tag li {
        height: calc(100vw * (34 / 1180));
        padding: calc(100vw * (4 / 1180)) calc(100vw * (16 / 1180));
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
        border-radius: calc(100vw * (50 / 1180));
    }

    .solution_tag li p {
        font-size: calc(100vw * (14 / 1180));
    }

    .view_visual {
        height: auto;
        padding-bottom: calc(100vw * (152 / 1180));
    }

    .product .view_visual {
        padding-bottom: calc(100vw * (85 / 1180));
    }

    .view_visual::before {
        display: none;
    }

    .view_visual .btn_box {
        padding: calc(100vw * (50 / 1180)) 0 calc(100vw * (11 / 1180));
    }

    .view_visual .btn_list {
        padding-left: calc(100vw * (22 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }

    .view_visual .btn_list::before {
        width: calc(100vw * (8 / 1180));
        height: calc(100vw * (16 / 1180));
    }

    .view_visual .type_title {
        margin-top: calc(100vw * (78 / 1180));
        font-size: calc(100vw * (52 / 1180));
    }

    .view_visual p {
        margin: calc(100vw * (20 / 1180)) 0 calc(100vw * (36 / 1180));
        font-size: calc(100vw * (20 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }

    .play_btn {
        padding: calc(100vw * (24 / 1180)) 0rem;
    }

    .play_btn button {
        height: calc(100vw * (32 / 1180));
    }

    .play_btn button span {
        padding-left: calc(100vw * (45 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .play_btn button span::before {
        width: calc(100vw * (32 / 1180));
        height: calc(100vw * (32 / 1180));
    }

    .content_intro {
        margin: calc(100vw * (140 / 1180)) 0 calc(100vw * (130 / 1180));
    }

    .content_intro .content > ul > li {
        width: calc(100% / 3 - calc(100vw * (20 / 1180)));
        min-height: calc(100vw * (242 / 1180));
        padding: calc(100vw * (38 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }

    .content_intro li .ic {
        width: calc(100vw * (50 / 1180));
        height: calc(100vw * (50 / 1180));
    }

    .content_intro li p {
        margin-top: calc(100vw * (30 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .content_intro li strong {
        font-size: calc(100vw * (24 / 1180));
    }

    .content_intro .container > .flex .content > ul {
        gap: calc(100vw * (20 / 1180));
        margin-right: calc(100vw * (-20 / 1180));
    }

    .product_func {
        margin-top: calc(100vw * (120 / 1180));
    }

    .product_func .container aside h3 {
        padding-top: 0;
        font-size: calc(100vw * (38 / 1180));
        margin-bottom: calc(100vw * (50 / 1180));
    }

    .product_func .container .content > ul {
        gap: calc(100vw * (20 / 1180));
        margin-right: calc(100vw * (-20 / 1180));
    }

    .product_func .content > ul > li {
        width: calc(100% / 5 - calc(100vw * (20 / 1180)));
        min-height: calc(100vw * (180 / 1180));
        padding: calc(100vw * (28 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }

    .product_func li .ic {
        height: calc(100vw * (50 / 1180));
    }

    .product_func li .ic img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .product_func li p {
        margin-top: calc(100vw * (30 / 1180));
        font-size: calc(100vw * (21 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .view_list {
        padding-top: calc(100vw * (41 / 1180));
        font-size: calc(100vw * (12 / 1180));
        letter-spacing: calc(100vw * (4.8 / 1180));
    }

    .view_list::before {
        left: calc(50% - calc(100vw * (3 / 1180)));
        width: calc(100vw * (29 / 1180));
        height: calc(100vw * (29 / 1180));
    }

    .view_contact .txt_box {
        padding: calc(100vw * (86 / 1180)) calc(100vw * (70 / 1180));
        height: calc(100vw * (299 / 1180));
        border-radius: calc(100vw * (60 / 1180));
    }

    .view_contact .txt_box::after {
        width: calc(100vw * (81 / 1180));
        height: calc(100vw * (64 / 1180));
        right: calc(100vw * (70 / 1180));
    }

    .view_contact strong {
        margin-bottom: calc(100vw * (30 / 1180));
        font-size: calc(100vw * (32 / 1180));
        letter-spacing: calc(100vw * (-0.32 / 1180));
    }

    .view_contact a {
        width: calc(100vw * (188 / 1180));
        height: calc(100vw * (52 / 1180));
    }

    .view_contact a span {
        font-size: calc(100vw * (17 / 1180));
    }

    .type_title::after {
        height: calc(100vw * (28 / 1180));
        padding: 0rem calc(100vw * (12 / 1180));
        font-size: calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (50 / 1180));
        letter-spacing: 0;
    }

    .new.type_title {
        padding-right: calc(100vw * (66 / 1180));
    }

    .new.type_title:after {
        width: calc(100vw * (54 / 1180));
    }

    .update.type_title {
        padding-right: calc(100vw * (86 / 1180));
    }

    .update.type_title:after {
        width: calc(100vw * (74 / 1180));
    }
}

@media (max-width: 767px) {
    .product_example {
        margin-top: 4rem;
    }

    .product_example .container > .flex .content {
        width: 100%;
    }

    .product_example .container aside h3 {
        padding-top: 0;
        font-size: calc(100vw * (38 / 767));
        margin-bottom: calc(100vw * (50 / 767));
    }

    .product_example .container .content > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-right: 0;
    }

    .product_example .content > ul > li {
        width: calc(100% / 2 - 0.5rem);
        min-height: 0;
        padding: calc(100vw * (60 / 767));
    }

    .product_example .content > ul.way4 > li {
        width: 100%;
    }

    .product_example li .ic {
        height: calc(100vw * (80 / 767));
        width: calc(100vw * (80 / 767));
    }

    .product_example li h4 {
        margin-top: calc(100vw * (30 / 767));
        font-size: calc(100vw * (32 / 767));
        letter-spacing: calc(100vw * (-0.18 / 767));
    }

    .product_example li p {
        margin-top: calc(100vw * (24 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.18 / 767));
    }

    .product_func {
        margin-top: calc(100vw * (120 / 767));
    }

    .product_func .container aside h3 {
        font-size: calc(100vw * (44 / 767));
        margin-bottom: calc(100vw * (50 / 767));
    }

    .product_func .container .content > ul {
        gap: calc(100vw * (20 / 767));
        margin-right: calc(100vw * (-20 / 767));
    }

    .product_func .content > ul > li {
        width: calc(100% / 2 - calc(100vw * (20 / 767)));
        min-height: calc(100vw * (180 / 767));
        padding: calc(100vw * (28 / 767));
        border-radius: calc(100vw * (16 / 767));
    }

    .product_func li .ic {
        height: calc(100vw * (120 / 767));
    }

    .product_func li .ic img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .product_func li p {
        font-size: calc(100vw * (30 / 767));
        letter-spacing: calc(100vw * (-0.3 / 767));
    }

    .product_func .content.table {
        overflow-x: auto;
    }

    .product_func_table {
        /*border: 1px solid red;*/
        min-width: 500px;
    }

    .product_func_table thead tr {
        background-color: black;
    }

    .product_func_table thead tr th {
        font-size: calc(100vw * (20 / 767));
        letter-spacing: calc(100vw * (-0.32 / 767));
        padding: calc(100vw * (16 / 767));
    }

    .product_func_table tbody tr {
        background-color: #eee;
    }

    .product_func_table tbody tr:nth-child(even) {
        background-color: #ddd;
    }

    .product_func_table tbody tr td {
        padding: calc(100vw * (10 / 767));
        font-size: calc(100vw * (16 / 767));
        letter-spacing: calc(100vw * (-0.32 / 767));
    }

    .solution_tag {
        gap: calc(100vw * (10 / 767));
    }

    .solution_tag li {
        height: calc(100vw * (56 / 767));
        padding: calc(100vw * (12 / 767)) calc(100vw * (22 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
        border-radius: calc(100vw * (86 / 767));
    }

    .solution_tag li p {
        font-size: calc(100vw * (24 / 767));
    }

    .view_visual {
        padding-bottom: calc(100vw * (100 / 767));
        height: calc(100vw * (800 / 767));
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
    }

    .view_visual .btn_box {
        padding: calc(100vw * (49 / 767)) 0 0;
    }

    .view_visual .btn_list {
        padding-left: calc(100vw * (38 / 767));
        font-size: calc(100vw * (24 / 767));
    }

    .view_visual .btn_list::before {
        width: calc(100vw * (10 / 767));
        height: calc(100vw * (20 / 767));
        background: url(/assets/images/btn_list_m-6f4e013303b34f21e89e845e44aa12e0.svg) no-repeat;
        background-size: contain;
    }

    .view_visual .type_title {
        margin-top: calc(100vw * (20 / 767));
        font-size: calc(100vw * (68 / 767));
    }

    .view_visual p {
        margin: calc(100vw * (20 / 767)) 0 calc(100vw * (36 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .play_btn {
        padding: calc(100vw * (55 / 767)) 0;
    }

    .play_btn button {
        height: calc(100vw * (50 / 767));
    }

    .play_btn button span {
        padding-left: calc(100vw * (74 / 767));
        font-size: calc(100vw * (30 / 767));
        letter-spacing: calc(100vw * (-0.3 / 767));
    }

    .play_btn button span::before {
        width: calc(100vw * (50 / 767));
        height: calc(100vw * (50 / 767));
    }

    .content_intro {
        margin: calc(100vw * (130 / 767)) 0;
    }

    .content_intro .content > ul > li {
        width: 100%;
        min-height: calc(100vw * (400 / 767));
        padding: calc(100vw * (70 / 767));
        border-radius: calc(100vw * (30 / 767));
    }

    .content_intro li .ic {
        width: calc(100vw * (80 / 767));
        height: calc(100vw * (80 / 767));
    }

    .content_intro li strong {
        font-size: calc(100vw * (48 / 767));
    }

    .content_intro li p {
        margin-top: calc(100vw * (60 / 767));
        font-size: calc(100vw * (32 / 767));
        letter-spacing: calc(100vw * (-0.32 / 767));
    }

    .content_intro .container > .flex .content > ul {
        gap: calc(100vw * (20 / 767));
        margin-right: 0;
    }

    .view_list {
        padding-top: calc(100vw * (82 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (9.6 / 767));
    }

    .view_list::before {
        left: calc(50% - calc(100vw * (6 / 767)));
        width: calc(100vw * (58 / 767));
        height: calc(100vw * (58 / 767));
    }

    .view_contact .txt_box {
        padding: calc(100vw * (80 / 767)) calc(100vw * (70 / 767));
        height: calc(100vw * (401 / 767));
        border-radius: calc(100vw * (60 / 767));
    }

    .view_contact .txt_box::after {
        display: none;
    }

    .view_contact strong {
        margin-bottom: calc(100vw * (40 / 767));
        font-size: calc(100vw * (38 / 767));
        letter-spacing: calc(100vw * (-0.38 / 767));
    }

    .view_contact a {
        width: 100%;
        height: calc(100vw * (90 / 767));
    }

    .view_contact a span {
        font-size: calc(100vw * (28 / 767));
    }

    .type_title::after {
        height: calc(100vw * (50 / 767));
        padding: 0rem calc(100vw * (22 / 767));
        font-size: calc(100vw * (26 / 767));
        border-radius: calc(100vw * (92 / 767));
    }

    .new.type_title {
        padding-right: calc(100vw * (109 / 767));
    }

    .new.type_title:after {
        width: calc(100vw * (99 / 767));
    }

    .update.type_title {
        padding-right: calc(100vw * (148 / 767));
    }

    .update.type_title:after {
        width: calc(100vw * (138 / 767));
    }
}

/* 공통 게시판 */
.notice_wrap .total {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-transform: uppercase;
    margin: 10rem 0 3.7rem;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
    color: #111;
}

.notice_wrap .total span {
    display: block;
    padding-right: 0.5rem;
    color: #666;
}

.notice_wrap .notice ul {
    padding-bottom: 1.2rem;
}

.notice_wrap .notice ul li {
    margin-bottom: 1rem;
}

.notice_wrap .notice ul li:last-child {
    margin-bottom: 0;
}

.notice_wrap .notice ul li a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding: 2.8rem 0;
    border-radius: 2rem;
    background: #f7f8f9;
    border: 1px solid #f7f8f9;
}

.notice_wrap .notice ul li a:hover {
    border-color: #119de9;
    background: #fff;
}

.notice_wrap .notice ul li em {
    width: 14rem;
    display: block;
    color: #333;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.16px;
}

.notice_wrap .notice ul li em.date {
    width: 20rem;
}

.notice_wrap .notice ul li span {
    display: block;
    width: 14rem;
    color: #119de9;
    padding-left: 2rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.16px;
}

.notice_wrap .notice ul li p {
    display: block;
    width: calc(100% - 48rem);
    color: #111;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: -0.2px;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.notice_wrap .notice ul li p strong {
    max-width: 112rem;
}

/* 게시글이 없을때 */
.no_data {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 59.5rem;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    background: #f7f8f9;
}

.no_data p {
    position: relative;
    padding-top: 9rem;
    color: #111;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.32px;
}

.no_data p::before {
    content: "";
    width: 5.4rem;
    height: 5.4rem;
    background: url(/assets/images/no_data_ic-4a23acc3059502332a7d1ff4a7bcf37e.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 1180px) {
    .notice_wrap .total {
        margin: calc(100vw * (70 / 1180)) 0 calc(100vw * (37 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }

    .notice_wrap .notice ul {
        padding-bottom: calc(100vw * (12 / 1180));
    }

    .notice_wrap .notice ul li {
        margin-bottom: calc(100vw * (10 / 1180));
    }

    .notice_wrap .notice ul li a {
        padding: calc(100vw * (28 / 1180)) 0;
        border-radius: calc(100vw * (20 / 1180));
    }

    .notice_wrap .notice ul li em {
        width: calc(100vw * (100 / 1180));
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.16 / 1180));
    }

    .notice_wrap .notice ul li em.date {
        width: calc(100vw * (160 / 1180));
    }

    .notice_wrap .notice ul li span {
        width: calc(100vw * (100 / 1180));
        padding-left: calc(100vw * (20 / 1180));
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.16 / 1180));
    }

    .notice_wrap .notice ul li p {
        width: calc(100% - calc(100vw * (360 / 1180)));
        font-size: calc(100vw * (20 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }

    .notice_wrap .notice ul li p strong {
        max-width: 100%;
    }

    /* 게시글이 없을때 */
    .no_data {
        height: calc(100vw * (595 / 1180));
    }

    .no_data p {
        padding-top: calc(100vw * (90 / 1180));
        font-size: calc(100vw * (32 / 1180));
        letter-spacing: calc(100vw * (-0.32 / 1180));
    }

    .no_data p::before {
        width: calc(100vw * (54 / 1180));
        height: calc(100vw * (54 / 1180));
    }
}

@media (max-width: 767px) {
    .notice_wrap .total {
        margin: calc(100vw * (100 / 767)) 0 calc(100vw * (40 / 767));
        font-size: calc(100vw * (28 / 767));
    }

    .notice_wrap .notice ul {
        padding-bottom: 0;
    }

    .notice_wrap .notice ul li {
        margin-bottom: calc(100vw * (20 / 767));
    }

    .notice_wrap .notice ul li a {
        display: block;
        padding: calc(100vw * (60 / 767)) calc(100vw * (48 / 767));
        border-radius: calc(100vw * (20 / 767));
    }

    .notice_wrap .notice ul li em.num {
        display: none;
    }

    .notice_wrap .notice ul li em {
        width: 100%;
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
        text-align: left;
    }

    .notice_wrap .notice ul li em.date {
        width: 100%;
    }

    .notice_wrap .notice ul li span {
        padding-left: 0;
        width: 100%;
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
        text-align: left;
    }

    .notice_wrap .notice ul li p {
        width: 100%;
        padding-left: 0;
        margin: calc(100vw * (22 / 767)) 0 calc(100vw * (40 / 767));
        font-size: calc(100vw * (36 / 767));
        letter-spacing: calc(100vw * (-0.36 / 767));
        -webkit-line-clamp: 2;
    }

    .notice_wrap .notice ul li p strong {
        max-width: calc(100vw * (574 / 767));
    }

    /* 게시글이 없을때 */
    .no_data {
        height: calc(100vw * (595 / 767));
    }

    .no_data p {
        padding-top: calc(100vw * (90 / 767));
        font-size: calc(100vw * (40 / 767));
        letter-spacing: calc(100vw * (-0.4 / 767));
    }

    .no_data p::before {
        width: calc(100vw * (54 / 767));
        height: calc(100vw * (54 / 767));
    }
}

/* 게시판 상세 */
.view {
    padding-top: 13rem;
}

.view_btn_box {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}

.view_btn_box .view_list {
    font-size: 0;
    width: 2.9rem;
    height: 2.9rem;
    padding: 0;
}

.view_btn_box .view_btn {
    display: inline-flex;
    gap: 2.8rem;
    flex-wrap: nowrap;
    align-items: center;
}

.view_btn_box .view_btn button.none {
    opacity: 0.25;
}

.view_btn_box .view_btn button {
    display: block;
    width: 4.5rem;
    height: 3.1rem;
    background: url(/assets/images/view_btn-c3aa565f85c6c9ce497b082f7e5e5ff2.svg) no-repeat;
    background-size: contain;
    background-color: transparent;
    font-size: 0;
    cursor: pointer;
}

.view_btn_box .view_btn button.prev {
    transform: rotate(180deg);
}

.view .view_content {
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

.view_content {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 2rem;
    margin: 8rem 0 3.6rem;
}

.view_content aside {
    width: 62.8rem;
}

.view_content aside * {
    display: block;
}

.view_content aside span {
    display: block;
    color: #119de9;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.018rem;
}

.view_content aside strong,
.view_content aside h1 {
    display: block;
    margin: 2.4rem 0 6.4rem;
    color: #111;
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.042rem;
}

.view_content aside em {
    color: #000;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.018rem;
    opacity: 0.7;
}

.view_content .board {
    width: calc(100% - 62.8rem);
    margin-bottom: 12rem;
    color: #111;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.018rem;
}
.view_content .board pre {
    white-space: pre-wrap; /* CSS3 */
    white-space: -moz-pre-wrap; /* Firefox */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* IE 5.5+ */
}
.view_content .board h1 {
    line-height: 1.4;
    margin: 4rem 0;
}

.view_content .board h2 {
    line-height: 1.5;
    margin: 4rem 0;
}

.view_content .board h3 {
    line-height: 1.6;
    margin: 4rem 0;
}

.view_content .board h4 {
    line-height: 1.6;
    margin: 4rem 0;
}

.view_content .board h5 {
    line-height: 1.7;
    margin: 4rem 0;
}

.view_content .board h6 {
    line-height: 1.7;
    margin: 4rem 0;
}

.view_content .board img {
    width: 100%;
    height: auto;
    border-radius: 2rem;
}

.view_content .board li {
    margin: 0 0 0 4px;
    font-size: 1.9rem;
    list-style: disc;
    list-style-position: inside;
    line-height: 1.75;
}

.view_content .board a {
    text-decoration: underline;
}

.view_content .board p {
    margin: 2rem 0;
    font-size: 1.9rem;
    line-height: 1.6;
    font-weight: 400;
    color: #111;
}

.view_content .board p:first-child {
    margin: 0 0 2rem 0;
}

.view_content .board figure {
    margin: 4rem 0;
}

.view_content .board .wp-block-image .aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
}

.view_content .board .video,
.view_content .board .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.view_content .board .video iframe,
.view_content .board .wp-block-embed__wrapper iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.view_content .board .attached_file {
    margin: 5rem 0 0;
}

.view_content .board .attached_file li {
    list-style: none;
    margin-left: 0;
    margin-bottom: 1.6rem;
}

.view_content .board .attached_file li:last-child {
    margin-bottom: 0;
}

.view_content .board .attached_file li a {
    position: relative;
    display: inline-block;
    padding-left: 3.9rem;
    text-decoration: none;
}

.view_content .board .attached_file li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 2.4rem;
    height: 2.4rem;
    background: url(/assets/images/download_ic-2ed75fbce601e2a66c541b31da560bda.svg) no-repeat;
    background-size: contain;
}

@media (max-width: 1700px) {
    .view_content aside {
        width: 40%;
    }

    .view_content .board {
        width: 60%;
    }
}

@media (max-width: 1180px) {
    .view {
        padding-top: calc(100vw * (101 / 1180));
    }

    .view_btn_box .view_list {
        width: calc(100vw * (29 / 1180));
        height: calc(100vw * (29 / 1180));
    }

    .view_btn_box .view_btn {
        gap: calc(100vw * (28 / 1180));
    }

    .view_btn_box .view_btn button {
        width: calc(100vw * (43 / 1180));
        height: calc(100vw * (29 / 1180));
        background-size: contain;
    }

    .view_content {
        display: block;
        margin: calc(100vw * (80 / 1180)) 0 calc(100vw * (36 / 1180));
    }

    .view_content aside {
        width: 100%;
        margin-bottom: calc(100vw * (80 / 1180));
    }

    .view_content aside span {
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .view_content aside strong {
        margin: calc(100vw * (24 / 1180)) 0 calc(100vw * (48 / 1180));
        font-size: calc(100vw * (42 / 1180));
        letter-spacing: calc(100vw * (-0.42 / 1180));
    }

    .view_content aside em {
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .view_content .board {
        width: 100%;
        margin-bottom: calc(100vw * (120 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .view_content .board h1 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board h2 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board h3 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board h4 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board h5 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board h6 {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board img {
        border-radius: calc(100vw * (20 / 1180));
    }

    .view_content .board li {
        margin: 0 0 0 calc(100vw * (4 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }

    .view_content .board p {
        margin: calc(100vw * (40 / 1180)) 0;
        font-size: calc(100vw * (18 / 1180));
    }

    .view_content .board p:first-child {
        margin: 0 0 calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board figure {
        margin: calc(100vw * (40 / 1180)) 0;
    }

    .view_content .board .attached_file {
        margin: calc(100vw * (50 / 1180)) 0 0;
    }

    .view_content .board .attached_file li {
        margin-bottom: calc(100vw * (16 / 1180));
    }

    .view_content .board .attached_file li a {
        padding-left: calc(100vw * (39 / 1180));
    }

    .view_content .board .attached_file li a::before {
        width: calc(100vw * (24 / 1180));
        height: calc(100vw * (24 / 1180));
    }
}

@media (max-width: 767px) {
    .view {
        padding-top: calc(100vw * (40 / 1180));
    }

    .view_btn_box .view_list {
        width: calc(100vw * (29 / 767));
        height: calc(100vw * (29 / 767));
    }

    .view_btn_box .view_list::before {
        left: 0;
        transform: translate(0, 0);
        width: 100%;
        height: 100%;
    }

    .view_btn_box .view_btn {
        gap: calc(100vw * (28 / 767));
    }

    .view_btn_box .view_btn button {
        width: calc(100vw * (43 / 767));
        height: calc(100vw * (29 / 767));
    }

    .view_content {
        margin: calc(100vw * (80 / 767)) 0 calc(100vw * (40 / 767));
    }

    .view_content aside {
        margin-bottom: calc(100vw * (90 / 767));
    }

    .view_content aside span {
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .view_content aside strong {
        margin: calc(100vw * (28 / 767)) 0 calc(100vw * (48 / 767));
        font-size: calc(100vw * (50 / 767));
        letter-spacing: calc(100vw * (-0.5 / 767));
    }

    .view_content aside em {
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .view_content .board {
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .view_content .board h1 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board h2 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board h3 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board h4 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board h5 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board h6 {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board img {
        border-radius: calc(100vw * (20 / 767));
    }

    .view_content .board li {
        margin: 0 0 0 calc(100vw * (4 / 767));
        font-size: calc(100vw * (28 / 767));
    }

    .view_content .board p {
        margin: calc(100vw * (70 / 767)) 0;
        font-size: calc(100vw * (28 / 767));
    }

    .view_content .board p:first-child {
        margin: 0 0 calc(100vw * (70 / 767)) 0;
    }

    .view_content .board figure {
        margin: calc(100vw * (70 / 767)) 0;
    }

    .view_content .board .attached_file {
        margin: calc(100vw * (70 / 767)) 0 calc(100vw * (100 / 767));
    }

    .view_content .board .attached_file li {
        font-size: calc(100vw * (28 / 767));
        margin-bottom: calc(100vw * (28 / 767));
    }

    .view_content .board .attached_file li a {
        padding-left: calc(100vw * (48 / 767));
    }

    .view_content .board .attached_file li a::before {
        width: calc(100vw * (28 / 767));
        height: calc(100vw * (28 / 767));
    }
}

/* 게시판 페이지네이션 */
.pagination .nav-links {
    margin-top: 8rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.pagination .screen-reader-text {
    display: none;
}

.pagination .page-numbers {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    font-size: 1.8rem;
    line-height: 1;
    margin: 0 0.4rem;
    color: #999;
    cursor: pointer;
    font-weight: 500;
    border-radius: 50%;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
    background: url(/assets/images/pagination-562202dfcbb39e05bf6723cb16b47a27.svg) no-repeat center;
    background-size: contain;
}

.pagination .page-numbers.prev {
    margin-right: 26px;
    transform: rotate(180deg);
}

.pagination .page-numbers.next {
    margin-left: 26px;
}

.pagination .page-numbers.prev.disabled,
.pagination .page-numbers.next.disabled {
    opacity: 0.2;
    cursor: auto;
    pointer-events: none;
}

.pagination .page-numbers.current {
    color: #fff;
    background-color: #3a3a3a;
}

@media (max-width: 1180px) {
    .pagination .nav-links {
        margin-top: calc(100vw * (80 / 1180));
    }

    .pagination .page-numbers {
        width: calc(100vw * (36 / 1180));
        height: calc(100vw * (36 / 1180));
        font-size: calc(100vw * (18 / 1180));
        margin: 0 calc(100vw * (4 / 1180));
    }

    .pagination .page-numbers.prev {
        margin-right: calc(100vw * (26 / 1180));
    }

    .pagination .page-numbers.next {
        margin-left: calc(100vw * (26 / 1180));
    }
}

@media (max-width: 767px) {
    .pagination .nav-links {
        margin-top: calc(100vw * (80 / 767));
    }

    .pagination .page-numbers {
        width: calc(100vw * (60 / 767));
        height: calc(100vw * (60 / 767));
        font-size: calc(100vw * (30 / 767));
        margin: 0 calc(100vw * (7 / 767));
    }

    .pagination .page-numbers.prev {
        margin-right: calc(100vw * (25 / 767));
    }

    .pagination .page-numbers.next {
        margin-left: calc(100vw * (25 / 767));
    }
}

/* 공통 form 탭 이미지 */
.tab_img {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.tab_img li {
    width: 50%;
    height: 19.7rem;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.tab_img li.on .img {
    width: 50.2rem;
    height: 17.9rem;
}

.tab_img a {
    position: relative;
    display: block;
    padding-top: 3.7rem;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: -0.024rem;
}

.tab_img a::before {
    content: "";
    background: url(/assets/images/about/check_ic-d7ee3f472d18d5b1fb86c1dd6d5bf606.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2.2rem;
    height: 2.2rem;
}

.tab_img .img {
    border-radius: 2.4rem;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: -1;
}

.tab_img .img span {
    position: relative;
    display: block;
}

.tab_img .img span::before {
    content: "";
    border: 3px solid #f00;
}

.tab_img .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tab_img li.on {
    border-radius: 3rem;
    border: 3px solid #5099ff;
}

.tab_img li.on .img::before {
    content: "";
    background: rgba(80, 153, 255, 0.3);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
}

.tab_img li.on a::before {
    background: url(/assets/images/about/check_on-90f5744518d0f23a387b697f73bc53e4.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 1181px) {
    .tab_img li .img img {
        transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
        -webkit-transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
        will-change: transform;
        position: relative;
        z-index: -1;
    }

    .tab_img li:hover .img img {
        transform: scale(1.1) rotate(0.001deg);
    }
}

@media (max-width: 1180px) {
    .tab_img {
        gap: calc(100vw * (20 / 1180));
    }

    .tab_img li {
        height: calc(100vw * (197 / 1180));
    }

    .tab_img li.on .img {
        width: calc(100vw * (502 / 1180));
        height: calc(100vw * (170 / 1180));
    }

    .tab_img a {
        padding-top: calc(100vw * (36 / 1180));
        font-size: calc(100vw * (24 / 1180));
        letter-spacing: calc(100vw * (-0.24 / 1180));
    }

    .tab_img a::before {
        width: calc(100vw * (22 / 1180));
        height: calc(100vw * (22 / 1180));
    }

    .tab_img .img {
        border-radius: calc(100vw * (16 / 1180));
    }

    .tab_img li.on {
        border-radius: calc(100vw * (25 / 1180));
    }
}

@media (max-width: 767px) {
    .tab_img {
        gap: calc(100vw * (20 / 767));
    }

    .tab_img li {
        height: calc(100vw * (221 / 767));
    }

    .tab_img li.on .img {
        width: calc(100vw * (308 / 767));
        height: calc(100vw * (197 / 767));
    }

    .tab_img a {
        padding-top: calc(100vw * (48 / 767));
        font-size: calc(100vw * (30 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .tab_img a::before {
        width: calc(100vw * (36 / 767));
        height: calc(100vw * (36 / 767));
    }

    .tab_img .img {
        border-radius: calc(100vw * (17 / 767));
    }

    .tab_img li.on {
        border-radius: calc(100vw * (25 / 767));
        border-width: 3px;
    }
}

/* 공통 form */
input:-ms-input-placeholder {
    color: #9d9d9d;
}

input::-webkit-input-placeholder {
    color: #9d9d9d;
}

input::-moz-placeholder {
    color: #9d9d9d;
}

input::-o-placeholder {
    color: #9d9d9d;
}

input::placeholder {
    color: #9d9d9d;
}

textarea::-ms-input-placeholder {
    color: #9d9d9d;
}

textarea::-webkit-input-placeholder {
    color: #9d9d9d;
}

textarea::-moz-input-placeholder {
    color: #9d9d9d;
}

textarea::-o-input-placeholder {
    color: #9d9d9d;
}

textarea::placeholder {
    color: #9d9d9d;
}

input:disabled {
    background: transparent;
    color: #666;
    opacity: 1;
}

.form_error .error_txt {
    display: block;
}

.error_txt {
    display: none;
    margin-top: 1.2rem;
    color: #ff2e00;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.014rem;
}

.form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5.4rem 2rem;
}

.form li {
    position: relative;
    width: calc(50% - 1rem);
}

form .form li.name_box .flex {
    justify-content: space-between;
}

.form .name_box ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.form .name_box ul li {
    position: relative;
    white-space: nowrap;
    width: auto;
    margin: 0;
    padding-left: 1rem;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.16px;
    cursor: pointer;
    opacity: 0.25;
}

.form .name_box ul li::before {
    content: "";
    width: 4px;
    height: 4px;
    background-color: #111111;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.form .name_box ul li.on {
    color: #119de9;
    opacity: 1;
}

.form .name_box ul li.on::before {
    background-color: #119de9;
}

.form li.col-full {
    width: 100%;
    margin-right: 0;
}

.form li.col-full .flex {
    width: 100%;
    margin-bottom: 1.6rem;
    justify-content: flex-start;
    align-items: center;
}

.form li.col-full .flex h3 {
    margin-bottom: 0;
}

.form li .caption {
    color: #9d9d9d;
    padding-left: 0.6rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.014rem;
}

.form li label {
    display: block;
}

.form li label.on h3 {
    color: #119de9;
}

.form li h3 {
    margin-bottom: 1.6rem;
    color: #111;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.016rem;
}

.form li:last-child h3 {
    font-size: 1.8rem;
}

.form li input {
    display: flex;
    width: 100%;
    height: 6rem;
    padding: 2.1rem 0 2.1rem 2rem;
    border-radius: 1.4rem;
    background: #f6f6f6;
    border: 1px solid #f6f6f6;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 100%;
    /* 1.8rem */
    letter-spacing: -0.018rem;
    font-family: Pretendard;
    box-sizing: border-box;
}

.form li.color input:focus {
    border-color: #119de9;
}

.form li.color input:focus-visible {
    border-color: #119de9;
}

.form li textarea:focus {
    border-color: #119de9;
}

.form li textarea:focus-visible {
    border-color: #119de9;
}

.form li label textarea {
    display: flex;
    width: 100% !important;
    max-width: 100%;
    height: 22rem;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    border-radius: 1.4rem;
    background: #f6f6f6;
    font-family: Pretendard;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.18px;
    border: 1px solid #f6f6f6;
    box-sizing: border-box;
}

.form li label textarea::-webkit-scrollbar {
    width: 2rem;
}

.form li label textarea::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    border: 8px solid transparent;
    background-color: black;
}

.form li label textarea::-webkit-scrollbar-track {
    background: transparent;
}

.form .option_btn {
    position: relative;
    display: flex;
    width: 100%;
    height: 6rem;
    padding: 2.1rem 0 2.1rem 2rem;
    border-radius: 1.4rem;
    background: #f6f6f6;
    border: none;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.018rem;
    color: #111;
    font-family: "Pretendard";
    cursor: pointer;
}

.form .option_btn::after {
    content: "";
    background: url(/assets/images/form_drop_ic-da50172347ae7cf927dfb8e1b5467042.svg) no-repeat;
    background-size: contain;
    width: 1.4rem;
    height: 0.9rem;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
}

.form .option_list.on {
    max-height: 29.8rem;
    height: fit-content;
    padding: 2.6rem 2rem;
    border: 1px solid #9d9d9d;
}

.form .option_list {
    position: absolute;
    top: 10rem;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 0;
    padding: 0;
    border: none;
    border-radius: 1.4rem;
    background: #fff;
    box-shadow: 4px 4px 12px 0px rgba(0, 0, 0, 0.08);
    overflow-y: auto;
    -webkit-overflow-scrolling: auto;
}

.form .option_list::-webkit-scrollbar {
    width: 30px;
    -webkit-overflow-scrolling: touch;
    -webkit-appearance: none;
}

.form .option_list::-webkit-scrollbar-thumb {
    background: #9d9d9d;
    border: 10px solid #fff;
    border-radius: 14px;
}

.form .option_list::-webkit-scrollbar-track {
    background: transparent;
    -webkit-background: transparent;
}

.form .option_list li {
    width: 100%;
    border-radius: 1.4rem;
    background: #fff;
    margin: 0;
    border: 0;
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.018rem;
    margin-bottom: 2rem;
    cursor: pointer;
}

.form .option_list li:last-child {
    margin-bottom: 0;
}

.form .file {
    position: relative;
}

.form .file label,
.form .file .delete_btn {
    display: block;
    background-size: contain;
    width: 2.4rem;
    height: 2.4rem;
    font-size: 0;
    position: absolute;
    top: 1.6rem;
    right: 2rem;
    cursor: pointer;
}

.form .file label {
    background: url(/assets/images/upload_ic-1d4a0400671e841f1aebcca8f84cbcd9.svg) no-repeat;
}

.form .file .delete_btn {
    display: none;
    background: url(/assets/images/delete_ic2-07ba9558a56ac519ad76dcc3e37783fb.svg) no-repeat;
}

.form .upload-hidden {
    display: none;
}

.form .delete_box {
    margin-top: 1.8rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.4rem;
}

.form .delete_box p {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem;
    border-radius: 1.2rem;
    border: 1px solid #333;
    background: transparent;
    color: #333;
}

.form .delete_box p span {
    display: block;
}

.form .delete_box button {
    position: relative;
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    font-size: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

.form .delete_box button::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1.6rem;
    height: 1.6rem;
    background: url(/assets/images/delete_ic-de6affd6761e23178048cde3020dd0eb.svg) no-repeat;
    background-size: contain;
}

.form .ck-box .ck-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin: 2.2rem 0 0;
}

.form .ck-caption {
    color: #333;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    display: flex;
    padding: 0.3rem 0.7rem;
    justify-content: center;
    align-items: center;
    border: 1px solid #ccc;
}

.form .ck-input {
    position: relative;
}

.form .ck-input label {
    cursor: pointer;
}

.form .ck-input input {
    display: none;
}

.form .ck-input span {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    word-break: keep-all;
    gap: 1rem;
    color: #333;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
}

.form .ck-input span::before {
    content: "";
    background-image: url(/assets/images/ck_box_off-4b6dffe5a89e7afcdbbc899404d92991.svg);
    top: -1px;
    left: 0;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
    padding-right: 1rem;
}

.form .ck-input input:checked + span {
    color: #191919;
}

.form .ck-input input:checked + span:before {
    background-image: url(/assets/images/ck_box_on-406cf4d6772407ade63f27ffec16c35c.svg);
}

.form .terms {
    border-radius: 1.4rem;
    background: #f6f6f6;
    padding: 2.1rem 2rem;
}

.form .terms h4 {
    margin-bottom: 1rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: -0.014rem;
}

.form .terms * {
    color: #666;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.014rem;
}

.form .terms .num .txt {
    margin-left: 1rem;
}

.form .terms .txt_box {
    margin-bottom: 1rem;
}

.form .terms .txt_box:last-child {
    margin-bottom: 0;
}

.form .terms strong {
    display: block;
    color: #666;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: -0.14px;
}

.form .terms .txt {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.3rem;
}

.btn_submit {
    display: flex;
    height: 5.2rem;
    padding: 1.8rem 3.8rem;
    justify-content: center;
    align-items: center;
    border-radius: 10rem;
    border: 1px solid #111;
    background: #fff;
    color: #111;
    cursor: default;
    opacity: 0.5;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: -0.17px;
}

.btn_submit.on {
    opacity: 1;
    border-color: #119de9;
    background: #119de9;
    color: #fff;
    cursor: pointer;
}

form .center {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    margin-top: 10.2rem;
}

@media (max-width: 1180px) {
    .error_txt {
        margin-top: calc(100vw * (12 / 1180));
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
    }

    .form {
        gap: calc(100vw * (54 / 1180)) 0;
    }

    .form li {
        width: calc(50% - calc(100vw * (10 / 1180)));
    }

    .form .name_box ul {
        gap: calc(100vw * (20 / 1180));
    }

    .form .name_box ul li {
        padding-left: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.16 / 1180));
    }

    .form .name_box ul li::before {
        width: calc(100vw * (4 / 1180));
        height: calc(100vw * (4 / 1180));
    }

    .form li.col-full .flex {
        margin-bottom: calc(100vw * (16 / 1180));
    }

    .form li .caption {
        padding-left: calc(100vw * (6 / 1180));
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
    }

    .form li h3 {
        margin-bottom: calc(100vw * (16 / 1180));
        font-size: calc(100vw * (16 / 1180));
        letter-spacing: calc(100vw * (-0.16 / 1180));
    }

    .form li:last-child h3 {
        font-size: calc(100vw * (18 / 1180));
    }

    .form li input {
        height: calc(100vw * (60 / 1180));
        padding: calc(100vw * (21 / 1180)) 0 calc(100vw * (21 / 1180)) calc(100vw * (20 / 1180));
        border-radius: calc(100vw * (14 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .form li label textarea {
        height: calc(100vw * (220 / 1180));
        padding: calc(100vw * (20 / 1180));
        border-radius: calc(100vw * (14 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .form li label textarea::-webkit-scrollbar {
        width: 2rem;
    }

    .form li label textarea::-webkit-scrollbar-thumb {
        border: 8px solid transparent;
    }

    .form .option_btn {
        height: calc(100vw * (60 / 1180));
        padding: calc(100vw * (21 / 1180)) 0 calc(100vw * (21 / 1180)) calc(100vw * (20 / 1180));
        border-radius: calc(100vw * (14 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
    }

    .form .option_btn::after {
        width: calc(100vw * (12 / 1180));
        height: calc(100vw * (6 / 1180));
        right: calc(100vw * (20 / 1180));
    }

    .form .option_list.on {
        max-height: calc(100vw * (298 / 1180));
        padding: calc(100vw * (26 / 1180)) calc(100vw * (20 / 1180));
    }

    .form .option_list {
        top: calc(100vw * (100 / 1180));
        border-radius: calc(100vw * (14 / 1180));
    }

    .form .option_list li {
        border-radius: calc(100vw * (14 / 1180));
        font-size: calc(100vw * (18 / 1180));
        letter-spacing: calc(100vw * (-0.18 / 1180));
        margin-bottom: calc(100vw * (20 / 1180));
    }

    .form .file label,
    .form .file .delete_btn {
        width: calc(100vw * (24 / 1180));
        height: calc(100vw * (24 / 1180));
        top: calc(100vw * (16 / 1180));
        right: calc(100vw * (20 / 1180));
        background-size: contain;
    }

    .form .delete_box {
        margin-top: calc(100vw * (18 / 1180));
        gap: calc(100vw * (8 / 1180));
        font-size: calc(100vw * (14 / 1180));
    }

    .form .delete_box p {
        padding: calc(100vw * (11 / 1180));
        gap: calc(100vw * (10 / 1180));
        border-radius: calc(100vw * (11 / 1180));
    }

    .form .delete_box button {
        width: calc(100vw * (16 / 1180));
        height: calc(100vw * (16 / 1180));
    }

    .form .delete_box button::after {
        width: calc(100vw * (16 / 1180));
        height: calc(100vw * (16 / 1180));
    }

    .form .ck-box .ck-inner {
        margin: calc(100vw * (22 / 1180)) 0 0;
    }

    .form .ck-caption {
        font-size: calc(100vw * (14 / 1180));
        padding: calc(100vw * (3 / 1180)) calc(100vw * (7 / 1180));
    }

    form .center {
        margin-top: calc(100vw * (102 / 1180));
    }

    .form .ck-input span {
        gap: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }

    .form .ck-input span::before {
        width: calc(100vw * (24 / 1180));
        height: calc(100vw * (24 / 1180));
        padding-right: calc(100vw * (10 / 1180));
    }

    .form .terms {
        border-radius: calc(100vw * (14 / 1180));
        padding: calc(100vw * (20 / 1180));
    }

    .form .terms h4 {
        margin-bottom: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
    }

    .form .terms * {
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
    }

    .form .terms .num .txt {
        margin-left: calc(100vw * (10 / 1180));
    }

    .form .terms .txt_box {
        margin-bottom: calc(100vw * (10 / 1180));
    }

    .form .terms strong {
        font-size: calc(100vw * (14 / 1180));
        letter-spacing: calc(100vw * (-0.14 / 1180));
    }

    .form .terms .txt {
        gap: calc(100vw * (3 / 1180));
    }

    .btn_submit {
        height: calc(100vw * (52 / 1180));
        padding: calc(100vw * (18 / 1180)) calc(100vw * (38 / 1180));
        border-radius: calc(100vw * (100 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }
}

@media (max-width: 767px) {
    .error_txt {
        margin-top: calc(100vw * (24 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .form {
        gap: calc(100vw * (56 / 767));
    }

    .form li {
        width: 100%;
        margin: 0;
    }

    .form .name_box ul {
        gap: calc(100vw * (20 / 767));
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
    }

    .form .name_box ul li {
        padding-left: calc(100vw * (14 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }

    .form .name_box ul li::before {
        width: calc(100vw * (8 / 767));
        height: calc(100vw * (8 / 767));
    }

    .form li.col-full .flex {
        margin-bottom: calc(100vw * (16 / 767));
    }

    .form li .caption {
        display: block;
        padding-left: 0;
        margin-top: calc(100vw * (16 / 767));
        font-size: calc(100vw * (24 / 767));
        line-height: 1.4;
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .form li h3 {
        margin-bottom: calc(100vw * (16 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.16 / 767));
    }

    .form li:last-child h3 {
        font-size: calc(100vw * (30 / 767));
    }

    .form li input {
        height: calc(100vw * (94 / 767));
        padding: calc(100vw * (33 / 767)) 0 calc(100vw * (26 / 767)) calc(100vw * (33 / 767));
        border-radius: calc(100vw * (24 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .form li label textarea {
        height: calc(100vw * (452 / 767));
        padding: calc(100vw * (33 / 767)) calc(100vw * (26 / 767));
        border-radius: calc(100vw * (24 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .form li label textarea::-webkit-scrollbar {
        width: 2rem;
    }

    .form li label textarea::-webkit-scrollbar-thumb {
        border: 8px solid transparent;
    }

    .form .option_btn {
        height: calc(100vw * (94 / 767));
        padding: calc(100vw * (33 / 767)) 0 calc(100vw * (26 / 767)) calc(100vw * (33 / 767));
        border-radius: calc(100vw * (24 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.18 / 767));
    }

    .form .option_btn::after {
        width: calc(100vw * (22 / 767));
        height: calc(100vw * (12 / 767));
        right: calc(100vw * (26 / 767));
    }

    .form .option_list.on {
        max-height: calc(100vw * (468 / 767));
        padding: calc(100vw * (34 / 767)) calc(100vw * (26 / 767));
        top: calc(100vw * (150 / 767));
    }

    .form .option_list {
        top: calc(100vw * (100 / 1180));
        border-radius: calc(100vw * (14 / 767));
    }

    .form .option_list li {
        border-radius: calc(100vw * (14 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
        margin-bottom: calc(100vw * (34 / 767));
    }

    .form .file label,
    .form .file .delete_btn {
        width: calc(100vw * (40 / 767));
        height: calc(100vw * (40 / 767));
        top: calc(100vw * (26 / 767));
        right: calc(100vw * (26 / 767));
        background-size: contain;
    }

    .form .delete_box {
        margin-top: calc(100vw * (24 / 767));
        gap: calc(100vw * (8 / 767));
        font-size: calc(100vw * (24 / 767));
    }

    .form .delete_box p {
        padding: calc(100vw * (16 / 767)) calc(100vw * (16 / 767)) calc(100vw * (14 / 767)) calc(100vw * (18 / 767));
        border-radius: calc(100vw * (20 / 767));
    }

    .form .delete_box button {
        width: calc(100vw * (28 / 767));
        height: calc(100vw * (28 / 767));
    }

    .form .delete_box button::after {
        width: calc(100vw * (28 / 767));
        height: calc(100vw * (28 / 767));
    }

    .form .ck-box .ck-inner {
        margin: calc(100vw * (22 / 767)) 0 0;
    }

    .form .ck-caption {
        font-size: calc(100vw * (24 / 767));
        width: calc(100vw * (56 / 767));
        height: calc(100vw * (40 / 767));
        padding: 0;
    }

    form .center {
        margin-top: calc(100vw * (120 / 767));
    }

    .form .ck-input span {
        align-items: flex-start;
        gap: calc(100vw * (12 / 767));
        font-size: calc(100vw * (28 / 767));
        word-break: break-all;
        line-height: 1.4;
    }

    .form .ck-input span::before {
        width: calc(100vw * (40 / 767));
        height: calc(100vw * (40 / 767));
        padding-right: 0;
    }

    .form .terms {
        border-radius: calc(100vw * (14 / 767));
        padding: calc(100vw * (33 / 767)) calc(100vw * (30 / 767));
    }

    .form .terms h4 {
        margin-bottom: calc(100vw * (10 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .form .terms * {
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .form .terms .num .txt {
        margin-left: calc(100vw * (25 / 767));
    }

    .form .terms .txt_box {
        margin-bottom: calc(100vw * (10 / 767));
    }

    .form .terms strong {
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .form .terms .txt {
        gap: calc(100vw * (3 / 767));
    }

    .btn_submit {
        width: calc(100vw * (520 / 767));
        height: calc(100vw * (96 / 767));
        padding: calc(100vw * (24 / 767)) calc(100vw * (38 / 767));
        border-radius: calc(100vw * (100 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .form .option_list::-webkit-scrollbar {
        width: calc(100vw * (30 / 767));
    }

    .form .option_list::-webkit-scrollbar-thumb {
        border: calc(100vw * (10 / 767)) solid #fff;
        border-radius: calc(100vw * (14 / 767));
    }
}

/* 슬라이드 버튼 공통 */
.default {
    position: relative;
}

.default div {
    width: 2.4rem;
    height: 2.4rem;
    background: url(/assets/images/default_slide_btn-34a9db508711bb2ac4cec015cc74459d.svg) no-repeat;
    background-size: contain;
}

.default .swiper-button-prev {
    transform: rotate(180deg);
}

.round {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.4rem;
}

.round div {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin-top: 0;
    width: 5.6rem;
    height: 5.6rem;
    background: url(/assets/images/round_slide_btn-a7d69008d9ad860a0b14ed7cfa270465.svg) no-repeat;
    background-size: contain;
}

.round .swiper-button-prev {
    transform: rotate(180deg);
}

@media (max-width: 1180px) {
    .default div {
        width: calc(100vw * (24 / 1180));
        height: calc(100vw * (24 / 1180));
    }

    .round {
        gap: calc(100vw * (14 / 1180));
    }

    .round div {
        width: calc(100vw * (56 / 1180));
        height: calc(100vw * (56 / 1180));
    }
}

@media (max-width: 767px) {
    .default div {
        background: url(/assets/images/default_slide_btn_m-97f074c798b6477c80c451412bef219d.svg) no-repeat;
        background-size: contain;
        width: calc(100vw * (40 / 767));
        height: calc(100vw * (40 / 767));
    }

    .round {
        gap: calc(100vw * (14 / 1180));
    }

    .round div {
        width: calc(100vw * (56 / 1180));
        height: calc(100vw * (56 / 1180));
    }
}

/* 스크롤 이벤트 */
.visual_scroll {
    display: block;
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.2rem;
    height: 2.4rem;
    background: rgba(28, 28, 28, 0.3);
    z-index: 10;
}

.visual_scroll .wheel {
    position: absolute;
    left: 50%;
    top: 20%;
    width: 0.2rem;
    height: 1.2rem;
    background: #1c1c1c;
    border-radius: 2px;
    transition: all 0.3s;
    transform: translateX(-50%);
    animation: scrollWheel 1.5s linear infinite;
}

@keyframes scrollWheel {
    0% {
        top: 0;
    }

    50% {
        top: calc(100% - 1.2rem);
    }

    100% {
        top: 0%;
    }
}

@media (max-width: 1180px) {
    .visual_scroll {
        bottom: calc(100vw * (30 / 1180));
        width: 2px;
        height: calc(100vw * (24 / 1180));
    }

    .visual_scroll .wheel {
        width: 2px;
        height: calc(100vw * (12 / 1180));
        border-radius: 0;
    }

    @keyframes scrollWheel {
        0% {
            top: 0;
        }

        50% {
            top: calc(100vw * (12 / 1180));
        }

        100% {
            top: 0%;
        }
    }
}

@media (max-width: 767px) {
    .visual_scroll {
        display: none;
    }
}

/* 404 */
.error {
    position: relative;
    padding-top: 9rem;
    height: calc(100vh - 37rem);
    text-align: center;
}

.error::before {
    content: "";
    background: url(/assets/images/404_bg-b796ca862442ccf56a0d5af636304cfe.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.error .container {
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.error h2 {
    margin-top: -4.6rem;
    color: #111;
    font-family: Red Hat Display;
    font-size: 5.6rem;
    font-weight: 700;
    line-height: 1;
}

.error h2 span {
    margin: 0 auto 2.6rem;
    width: 4.6rem;
    height: 2rem;
    display: block;
    position: relative;
}

.error h2 span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #5099ff;
}

.error h2 span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(45deg);
    width: 1.6rem;
    height: 1.6rem;
    background: #43c7d3;
}

.error .txt {
    margin-top: 3.2rem;
    color: #111;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.017rem;
}

.error .btn_area {
    margin-top: 6.8rem;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
}

.error .btn_area a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20rem;
    height: 6rem;
    border-radius: 10rem;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.017rem;
}

.error .btn_area a.btn_white {
    color: #119de9;
    border: 1px solid #119de9;
}

.error .btn_area a.btn_black {
    border: 1px solid #119de9;
    background: #119de9;
    color: #fff;
}

@media (max-width: 1180px) {
    .error {
        padding-top: calc(100vw * (120 / 1180));
        height: calc(100vh - 385px);
    }

    .error::before {
        background: url(/assets/images/404_bg_tb-cdfb3be78ff709c85ecd6e13e2decd4e.jpg) no-repeat;
        background-size: cover;
    }

    .error h2 {
        margin-top: calc(100vw * (-66 / 1180));
        font-size: calc(100vw * (56 / 1180));
    }

    .error h2 span {
        margin: 0 auto calc(100vw * (26 / 1180));
        width: calc(100vw * (46 / 1180));
        height: calc(100vw * (20 / 1180));
    }

    .error h2 span::before {
        width: calc(100vw * (20 / 1180));
        height: calc(100vw * (20 / 1180));
    }

    .error h2 span::after {
        width: calc(100vw * (16 / 1180));
        height: calc(100vw * (16 / 1180));
    }

    .error .txt {
        margin-top: calc(100vw * (32 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }

    .error .btn_area {
        margin-top: calc(100vw * (68 / 1180));
        gap: calc(100vw * (16 / 1180));
    }

    .error .btn_area a {
        width: calc(100vw * (200 / 1180));
        height: calc(100vw * (60 / 1180));
        border-radius: calc(100vw * (100 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }
}

@media (max-width: 767px) {
    .error {
        padding-top: calc(100vw * (160 / 767));
        height: 100vh;
    }

    .error::before {
        background: url(/assets/images/404_bg_mo-efe55deeef75b92666dc9687dac28ce0.jpg) no-repeat;
        background-size: cover;
    }

    .error h2 {
        margin-top: calc(100vw * (-66 / 767));
        font-size: calc(100vw * (56 / 1180));
    }

    .error h2 span {
        margin: 0 auto calc(100vw * (27 / 767));
        width: calc(100vw * (56 / 767));
        height: calc(100vw * (25 / 767));
    }

    .error h2 span::before {
        width: calc(100vw * (25 / 767));
        height: calc(100vw * (25 / 767));
    }

    .error h2 span::after {
        width: calc(100vw * (19 / 767));
        height: calc(100vw * (19 / 767));
    }

    .error .txt {
        margin-top: calc(100vw * (32 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }

    .error .btn_area {
        margin-top: calc(100vw * (68 / 767));
        display: block;
    }

    .error .btn_area a {
        margin: 0 auto;
        width: calc(100vw * (300 / 767));
        height: calc(100vw * (80 / 767));
        border-radius: calc(100vw * (100 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }

    .error .btn_area a:nth-child(2) {
        margin: calc(100vw * (16 / 767)) auto 0;
    }
}

/* 공통팝업 */
.pop_wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.pop {
    display: none;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    width: 62.4rem;
    margin: 0 auto;
    padding: 6.4rem 7.2rem;
    background: #fff;
}

.pop .close {
    position: absolute;
    top: 1.9rem;
    right: 1.9rem;
    width: 3.4rem;
    height: 3.4rem;
    background: url(/assets/images/ic_x-3e346bdc1e1bcf238ff49ca1c76431ab.svg) no-repeat;
    background-size: contain;
    cursor: pointer;
}

.pop .pop_content {
    text-align: center;
}

.pop .pop_content h2 {
    margin-bottom: 1.6rem;
    color: #111;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.28px;
}

.pop .pop_content p {
    color: #111;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
}

.pop .pop_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    margin-top: 4.8rem;
}

.pop .pop_btn .btn {
    width: 20rem;
    height: 6rem;
}

.pop .pop_btn .btn_color {
    border: 1px solid #119de9;
    background: #119de9;
    color: #fff;
}

.pop .pop_btn .btn_light {
    border: 1px solid #119de9;
    background: #fff;
    color: #119de9;
}

/* 오시는길 팝업 */
.pop_wrap.pop_map .pop {
    width: 119.4rem;
    height: 67.1rem;
    padding: 0;
}

.pop_wrap.pop_map .map_wrap {
    width: 100%;
    height: 67.1rem;
}

.pop_wrap.pop_map .map_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pop_wrap.pop_map .pop .close {
    top: -4.4rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background: url(/assets/images/ic_x_white-ac76ad0cd2d4e73569393901ce351ecd.svg) no-repeat;
    background-size: contain;
}

/* 솔루션 상세 팝업 */
.pop_wrap.pop_youtube .pop {
    padding: 0;
    width: 119.4rem;
    height: 67.1rem;
}

.pop_wrap.pop_youtube .pop .close {
    top: -4.4rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background: url(/assets/images/ic_x_white-ac76ad0cd2d4e73569393901ce351ecd.svg) no-repeat;
    background-size: contain;
}

.pop_wrap.pop_youtube .youtube_wrap {
    width: 100%;
    height: 67.1rem;
}

.pop_wrap.pop_youtube .youtube_wrap iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1180px) {
    .pop {
        width: calc(100vw * (624 / 1180));
        padding: calc(100vw * (64 / 1180)) calc(100vw * (72 / 1180));
    }

    .pop .close {
        top: calc(100vw * (19 / 1180));
        right: calc(100vw * (19 / 1180));
        width: calc(100vw * (34 / 1180));
        height: calc(100vw * (34 / 1180));
    }

    .pop .pop_content h2 {
        margin-bottom: calc(100vw * (16 / 1180));
        font-size: calc(100vw * (28 / 1180));
        letter-spacing: calc(100vw * (-0.28 / 1180));
    }

    .pop .pop_content p {
        font-size: calc(100vw * (18 / 1180));
    }

    .pop .pop_btn {
        gap: calc(100vw * (16 / 1180));
        margin-top: calc(100vw * (48 / 1180));
    }

    .pop .pop_btn .btn {
        width: calc(100vw * (200 / 1180));
        height: calc(100vw * (60 / 1180));
    }

    /* 오시는길 팝업 */
    .pop_wrap.pop_map .pop {
        width: calc(100vw * (1080 / 1180));
        height: calc(100vw * (607 / 1180));
    }

    .pop_wrap.pop_map .map_wrap {
        height: calc(100vw * (607 / 1180));
    }

    .pop_wrap.pop_map .pop .close {
        top: calc(100vw * (-44 / 1180));
    }

    /* 솔루션 상세 팝업 */
    .pop_wrap.pop_youtube .pop {
        width: calc(100vw * (1080 / 1180));
        height: calc(100vw * (607 / 1180));
    }

    .pop_wrap.pop_youtube .pop .close {
        top: calc(100vw * (-44 / 1180));
    }

    .pop_wrap.pop_youtube .youtube_wrap {
        height: calc(100vw * (607 / 1180));
    }
}

@media (max-width: 767px) {
    .pop {
        width: calc(100vw * (624 / 767));
        padding: calc(100vw * (100 / 767)) calc(100vw * (72 / 767));
    }

    .pop .close {
        top: calc(100vw * (24 / 767));
        right: calc(100vw * (24 / 767));
        width: calc(100vw * (48 / 767));
        height: calc(100vw * (48 / 767));
    }

    .pop .pop_content h2 {
        margin-bottom: calc(100vw * (36 / 767));
        font-size: calc(100vw * (42 / 767));
        letter-spacing: calc(100vw * (-0.42 / 767));
    }

    .pop .pop_content p {
        font-size: calc(100vw * (28 / 767));
    }

    .pop .pop_btn {
        margin-top: calc(100vw * (36 / 767));
        display: block;
    }

    .pop .pop_btn .btn {
        margin: 0 auto calc(100vw * (16 / 767));
        width: calc(100vw * (300 / 767));
        height: calc(100vw * (80 / 767));
    }

    .pop .pop_btn .btn:last-child {
        margin-bottom: 0;
    }

    /* 오시는길 팝업 */
    .pop_wrap.pop_map .pop {
        width: calc(100vw * (624 / 767));
        height: calc(100vw * (624 / 767));
    }

    .pop_wrap.pop_map .map_wrap {
        height: calc(100vw * (624 / 767));
    }

    .pop_wrap.pop_map .pop .close {
        top: calc(100vw * (-62 / 767));
    }

    /* 솔루션 상세 팝업 */
    .pop_wrap.pop_youtube .pop {
        width: calc(100vw * (624 / 767));
        height: calc(100vw * (350 / 767));
    }

    .pop_wrap.pop_youtube .pop .close {
        top: calc(100vw * (-62 / 767));
    }

    .pop_wrap.pop_youtube .youtube_wrap {
        height: calc(100vw * (350 / 767));
    }
}

/* 텍스트 모션추가 */
.deco_box .flex {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.deco_box strong {
    display: block;
    color: rgba(0, 0, 0, 0.2);
    font-family: Red Hat Display;
    font-size: 8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
}

.deco_box .aos-animate strong.on {
    animation: deco_type_on 0.5s ease both;
    animation-delay: 1s;
}

.deco_box ol {
    margin: 0 2.4rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.6rem;
}

.deco_box .circle {
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
}

.deco_box .square {
    width: 3.3rem;
    height: 9rem;
}

.deco_box .diamond {
    width: 9rem;
    height: 9rem;
}

.deco_type1 {
    text-align: right;
}

.deco_type1 > a {
    display: inline-block;
    cursor: pointer;
}

.deco_type1 .flex {
    justify-content: flex-end;
}

.deco_type1 .circle {
    background: var(--main-color-cyan);
}

.deco_type1 .square {
    background: var(--main-color-purple);
}

.deco_type1 .search {
    position: relative;
    width: 14.9rem;
    height: 9rem;
    border: 6px solid rgba(0, 0, 0, 0.2);
    border-radius: 5rem;
}

.deco_type1 .search span {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
}

.deco_type1 .search span::before {
    content: "";
    background: url(/assets/images/deco_search_ic-a6877b878e1fdbfae949d0c4cd3e5a65.svg) no-repeat;
    background-size: contain;
    width: 5.2rem;
    height: 5.2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.deco_type1 .aos-animate .search span::before {
    animation: deco_type_search 1.75s infinite linear;
    animation-delay: 1s;
}

.deco_type2 {
    text-align: right;
}

.deco_type2 .flex {
    justify-content: flex-end;
}

.deco_type2 .circle {
    background-color: var(--main-color-blue);
}

.main_deco_txt .deco_type2 .img {
    width: 9rem;
    height: 9rem;
}

.deco_type2 .aos-animate .img {
    animation: deco_type_rotate 4s infinite linear;
    animation-delay: 1s;
}

.deco_type3 .flex {
    align-items: center;
    justify-content: flex-start;
}

.deco_type3 .circle {
    background-color: var(--main-color-cyan);
}

.deco_type3 .square {
    background-color: var(--main-color-blue);
}

.deco_type3 .diamond {
    position: relative;
}
.deco_type3 .diamond::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    background-color: #ccc;
    display: block;
    width: 5rem;
    height: 5rem;
    animation: deco_type_diamond_turn 4s infinite linear;
    background: linear-gradient(135deg, var(--main-color-cyan) 20%, var(--main-color-yellow) 80%);
}
.careers .deco_txt .deco_type3 .img {
    display: block;
    width: 9rem;
    height: 9rem;
    margin-right: 2.4rem;
}

.deco_type3 .aos-animate .img {
    animation: deco_type_rotate 4s infinite linear;
    animation-delay: 1s;
}

.deco_type4 .flex {
    justify-content: flex-start;
    gap: 0 4rem;
}

.deco_type4 strong {
    color: rgba(0, 0, 0, 0);
    font-size: 12rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
    transition: all 0.5s 1s;
}

.deco_type4 strong.kr {
    font-size: 7rem;
    font-weight: 500;
    font-family: pretenadrd;
    white-space: nowrap;
}

.deco_type4.aos-animate strong {
    color: rgba(0, 0, 0, 0.2);
}

.deco_type4.aos-animate strong.ani {
    color: rgba(0, 0, 0, 1) !important;
}

/* .deco_type4 strong.black1 { animation-delay: 2s; }
.deco_type4 strong.black2 { animation-delay: 4s; }
.deco_type4 strong.black3 { animation-delay: 6s; }
.deco_type4 strong.black4 { animation-delay: 8s; }
.deco_type4 strong.black5 { animation-delay: 10s; }
.deco_type4 strong.black6 { animation-delay: 12s; }
.deco_type4 strong.black7 { animation-delay: 14s; } */
.deco_type4 .ic {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.deco_type4 .ic span {
    display: block;
    width: 5rem;
    height: 5rem;
}

.deco_type4 .ic::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12rem;
    height: 12rem;
    border-radius: 5rem;
    z-index: -1;
}

.deco_type4 .ic1 {
    width: 14.8rem;
    height: 14.8rem;
    border-radius: 50%;
}

.deco_type4 .ic1::before {
    border-radius: 50%;
    background-color: var(--main-color-purple);
}

.deco_type4 .ic2 {
    width: 14.8rem;
    height: 14.8rem;
}

.deco_type4 .ic2::before {
    background: linear-gradient(225deg, var(--main-color-blue) 20%, var(--main-color-purple) 80%);
}

.deco_type4 .ic3 {
    width: 15.2rem;
    height: 15.2rem;
    position: relative;
}

.deco_type4 .ic3::before {
    /* background: url(/assets/images/deco_type4_bg-9d8d4134d1f77aa73328eb59500f4c59.svg) no-repeat; */
    background-size: contain;
    background-position: center;
    background: linear-gradient(-45deg, var(--main-color-yellow) 20%, var(--main-color-cyan) 80%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.deco_type4 .square1 {
    width: 5rem;
    height: 14.8rem;
    border-radius: 50rem;
    background: var(--main-color-cyan);
}

.deco_type4 .square2 {
    width: 15.6rem;
    height: 5rem;
    background: var(--main-color-cyan);
}

.deco_type4 .square3 {
    width: 15.6rem;
    height: 5rem;
    border-radius: 50rem;
    background: var(--main-color-purple);
}

.deco_type4.aos-animate .ic::before {
    animation: deco_type_scale 1s ease alternate both;
    animation-delay: 2s;
}

@keyframes deco_type_diamond_turn {
    0% {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(405deg);
    }
}

@keyframes deco_type_on {
    0% {
        color: rgba(0, 0, 0, 0.2);
    }

    100% {
        color: rgba(0, 0, 0, 1);
    }
}

@keyframes deco_type_on1 {
    0% {
        color: rgba(0, 0, 0, 0.2);
    }

    50% {
        color: rgba(0, 0, 0, 1);
    }

    100% {
        color: rgba(0, 0, 0, 2);
    }
}

@keyframes deco_type_search {
    0% {
        left: calc(50%);
    }

    20% {
        left: calc(50% - 3rem);
    }

    50% {
        left: calc(50%);
    }

    80% {
        left: calc(50% + 3rem);
    }

    100% {
        left: calc(50%);
    }
}

@keyframes deco_type_rotate {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes deco_type_scale {
    0% {
        width: 12rem;
        height: 12rem;
    }

    100% {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 1700px) {
    .deco_box strong {
        font-size: calc(100vw * (80 / 1700));
    }

    .deco_box ol {
        margin: 0 calc(100vw * (24 / 1700));
        gap: calc(100vw * (6 / 1700));
    }

    .deco_box .circle {
        width: calc(100vw * (90 / 1700));
        height: calc(100vw * (90 / 1700));
    }

    .deco_box .square {
        width: calc(100vw * (33 / 1700));
        height: calc(100vw * (90 / 1700));
    }

    .deco_box .diamond {
        width: calc(100vw * (90 / 1700));
        height: calc(100vw * (90 / 1700));
    }

    .deco_type1 .search {
        width: calc(100vw * (149 / 1700));
        height: calc(100vw * (90 / 1700));
        border: calc(100vw * (6 / 1700)) solid rgba(0, 0, 0, 0.2);
        border-radius: calc(100vw * (50 / 1700));
    }

    .deco_type1 .search span::before {
        width: calc(100vw * (52 / 1700));
        height: calc(100vw * (52 / 1700));
    }

    .main_deco_txt .deco_type2 .img {
        width: calc(100vw * (90 / 1700));
        height: calc(100vw * (90 / 1700));
    }

    .careers .deco_txt .deco_type3 .img {
        width: calc(100vw * (90 / 1700));
        height: calc(100vw * (90 / 1700));
        margin-right: calc(100vw * (24 / 1700));
    }

    .deco_type4 .flex {
        gap: 0 calc(100vw * (40 / 1700));
    }

    .deco_type4 strong {
        font-size: calc(100vw * (120 / 1700));
    }

    .deco_type4 strong.kr {
        font-size: calc(100vw * (80 / 1700));
    }

    .deco_type4 .ic span {
        width: calc(100vw * (50 / 1700));
        height: calc(100vw * (50 / 1700));
    }

    .deco_type4 .ic::before {
        width: calc(100vw * (120 / 1700));
        height: calc(100vw * (120 / 1700));
        border-radius: calc(100vw * (50 / 1700));
    }

    .deco_type4 .ic1 {
        width: calc(100vw * (148 / 1700));
        height: calc(100vw * (148 / 1700));
    }

    .deco_type4 .ic2 {
        width: calc(100vw * (148 / 1700));
        height: calc(100vw * (148 / 1700));
    }

    .deco_type4 .ic3 {
        width: calc(100vw * (156 / 1700));
        height: calc(100vw * (156 / 1700));
    }

    .deco_type4 .square1 {
        width: calc(100vw * (50 / 1700));
        height: calc(100vw * (148 / 1700));
        border-radius: calc(100vw * (500 / 1700));
    }

    .deco_type4 .square2 {
        width: calc(100vw * (156 / 1700));
        height: calc(100vw * (50 / 1700));
    }

    .deco_type4 .square3 {
        width: calc(100vw * (156 / 1700));
        height: calc(100vw * (50 / 1700));
        border-radius: calc(100vw * (500 / 1700));
    }

    @keyframes deco_type_search {
        0% {
            left: calc(50%);
        }

        20% {
            left: calc(50% - calc(100vw * (30 / 1700)));
        }

        50% {
            left: calc(50%);
        }

        80% {
            left: calc(50% + calc(100vw * (30 / 1700)));
        }

        100% {
            left: calc(50%);
        }
    }

    @keyframes deco_type_scale {
        0% {
            width: calc(100vw * (120 / 1700));
            height: calc(100vw * (120 / 1700));
        }

        100% {
            width: 100%;
            height: 100%;
        }
    }
}

@media (max-width: 1180px) {
    .deco_box strong {
        font-size: calc(100vw * (66 / 1180));
    }

    .deco_box ol {
        margin: 0 calc(100vw * (20 / 1180));
        gap: calc(100vw * (5 / 1180));
    }

    .deco_box .circle {
        width: calc(100vw * (74 / 1180));
        height: calc(100vw * (74 / 1180));
    }

    .deco_box .square {
        width: calc(100vw * (27 / 1180));
        height: calc(100vw * (74 / 1180));
    }

    .deco_box .diamond {
        width: calc(100vw * (74 / 1180));
        height: calc(100vw * (74 / 1180));
    }

    .deco_type1 .search {
        width: calc(100vw * (124 / 1180));
        height: calc(100vw * (74 / 1180));
        border: calc(100vw * (5 / 1180)) solid rgba(0, 0, 0, 0.2);
        border-radius: calc(100vw * (41 / 1180));
    }

    .deco_type1 .search span::before {
        width: calc(100vw * (45 / 1180));
        height: calc(100vw * (45 / 1180));
    }

    .main_deco_txt .deco_type2 .img {
        width: calc(100vw * (74 / 1180));
        height: calc(100vw * (74 / 1180));
    }

    .careers .deco_txt .deco_type3 .img {
        width: calc(100vw * (74 / 1180));
        height: calc(100vw * (74 / 1180));
        margin-right: calc(100vw * (24 / 1180));
    }
    .deco_type3 .diamond::before {
        width: calc(100vw * (46 / 1180));
        height: calc(100vw * (46 / 1180));
    }

    .deco_type4 .flex {
        gap: 0 calc(100vw * (27 / 1180));
    }

    .deco_type4 strong {
        font-size: calc(100vw * (80 / 1180));
    }

    .deco_type4 .ic span {
        width: calc(100vw * (34 / 1180));
        height: calc(100vw * (34 / 1180));
    }

    .deco_type4 .ic::before {
        width: calc(100vw * (80 / 1180));
        height: calc(100vw * (80 / 1180));
        border-radius: calc(100vw * (50 / 1180));
    }

    .deco_type4 .ic1 {
        width: calc(100vw * (100 / 1180));
        height: calc(100vw * (100 / 1180));
    }

    .deco_type4 .ic2 {
        width: calc(100vw * (100 / 1180));
        height: calc(100vw * (100 / 1180));
    }

    .deco_type4 .ic3 {
        width: calc(100vw * (105 / 1180));
        height: calc(100vw * (105 / 1180));
    }

    .deco_type4 .square1 {
        width: calc(100vw * (34 / 1180));
        height: calc(100vw * (100 / 1180));
        border-radius: calc(100vw * (500 / 1180));
    }

    .deco_type4 .square2 {
        width: calc(100vw * (105 / 1180));
        height: calc(100vw * (34 / 1180));
    }

    .deco_type4 .square3 {
        width: calc(100vw * (105 / 1180));
        height: calc(100vw * (34 / 1180));
        border-radius: calc(100vw * (500 / 1180));
    }

    @keyframes deco_type_search {
        0% {
            left: calc(50%);
        }

        20% {
            left: calc(50% - calc(100vw * (20 / 1180)));
        }

        50% {
            left: calc(50%);
        }

        80% {
            left: calc(50% + calc(100vw * (20 / 1180)));
        }

        100% {
            left: calc(50%);
        }
    }

    @keyframes deco_type_scale {
        0% {
            width: calc(100vw * (80 / 1180));
            height: calc(100vw * (80 / 1180));
        }

        100% {
            width: 100%;
            height: 100%;
        }
    }
}

@media (max-width: 767px) {
    [data-aos="fade-up"] {
        transform: translate(0, 0) !important;
        opacity: 1 !important;
    }

    .deco_box .flex {
        flex-wrap: wrap;
    }

    .deco_box strong {
        font-size: calc(100vw * (80 / 767));
    }

    .deco_box ol {
        margin: 0 calc(100vw * (24 / 767));
        gap: calc(100vw * (6 / 767));
    }

    .deco_box .circle {
        width: calc(100vw * (90 / 767));
        height: calc(100vw * (90 / 767));
    }

    .deco_box .square {
        width: calc(100vw * (33 / 767));
        height: calc(100vw * (90 / 767));
    }

    .deco_box .diamond {
        width: calc(100vw * (90 / 767));
        height: calc(100vw * (90 / 767));
    }

    .deco_type1 .search {
        width: calc(100vw * (150 / 767));
        height: calc(100vw * (90 / 767));
        border: calc(100vw * (6 / 767)) solid rgba(0, 0, 0, 0.2);
        border-radius: calc(100vw * (50 / 767));
    }

    .deco_type1 .search span::before {
        width: calc(100vw * (50 / 767));
        height: calc(100vw * (50 / 767));
    }

    .main_deco_txt .deco_type2 .img {
        width: calc(100vw * (90 / 767));
        height: calc(100vw * (90 / 767));
    }

    .deco_type2 ol {
        position: absolute;
        top: 0;
        right: calc(100vw * (244 / 767));
    }

    .deco_txt .deco_type3 .circle {
        width: calc(100vw * (74 / 767));
        height: calc(100vw * (74 / 767));
    }

    .deco_txt .deco_type3 .square {
        width: calc(100vw * (23 / 767));
        height: calc(100vw * (74 / 767));
    }

    .deco_txt .deco_type3 strong {
        font-size: calc(100vw * (70 / 767));
    }

    .careers .deco_txt .deco_type3 .img {
        width: calc(100vw * (74 / 767));
        height: calc(100vw * (74 / 767));
        margin: 0 calc(100vw * (24 / 767));
    }

    .deco_type3 .diamond::before {
        width: calc(100vw * (46 / 767));
        height: calc(100vw * (46 / 767));
    }

    .deco_type4 .flex {
        gap: 0 calc(100vw * (17 / 767));
    }

    .deco_type4 strong {
        font-size: calc(100vw * (51 / 767));
    }

    .deco_type4 strong.kr {
        font-size: calc(100vw * (34 / 767));
    }

    .deco_type4 .ic span {
        width: calc(100vw * (25 / 767));
        height: calc(100vw * (25 / 767));
    }

    .deco_type4 .ic::before {
        width: calc(100vw * (45 / 767));
        height: calc(100vw * (45 / 767));
        background-size: contain;
        border-radius: calc(100vw * (20 / 767));
    }

    .deco_type4 .ic1 {
        width: calc(100vw * (63 / 767));
        height: calc(100vw * (63 / 767));
    }

    .deco_type4 .ic1::before {
        border-radius: 50%;
    }

    .deco_type4 .ic2 {
        width: calc(100vw * (63 / 767));
        height: calc(100vw * (63 / 767));
    }

    .deco_type4 .ic3 {
        width: calc(100vw * (67 / 767));
        height: calc(100vw * (67 / 767));
    }

    .deco_type4 .square1 {
        width: calc(100vw * (21 / 767));
        height: calc(100vw * (63 / 767));
        border-radius: calc(100vw * (212 / 767));
    }

    .deco_type4 .square2 {
        width: calc(100vw * (66 / 767));
        height: calc(100vw * (21 / 767));
    }

    .deco_type4 .square3 {
        width: calc(100vw * (66 / 767));
        height: calc(100vw * (21 / 767));
        border-radius: calc(100vw * (212 / 767));
    }

    @keyframes deco_type_search {
        0% {
            left: calc(50%);
        }

        20% {
            left: calc(50% - calc(100vw * (25 / 767)));
        }

        50% {
            left: calc(50%);
        }

        80% {
            left: calc(50% + calc(100vw * (25 / 767)));
        }

        100% {
            left: calc(50%);
        }
    }

    @keyframes deco_type_scale {
        0% {
            width: calc(100vw * (45 / 767));
            height: calc(100vw * (45 / 767));
        }

        100% {
            width: 100%;
            height: 100%;
        }
    }

    .deco_type1 .aos-animate .search span::before,
    .deco_type2 .aos-animate .img,
    .deco_box .aos-animate strong.on {
        animation-delay: 0.5s;
    }

    .deco_type4 strong {
        transition-delay: 0.5s;
    }

    .deco_type4.aos-animate .ic::before {
        animation-delay: 1s;
    }
}

/* 솔루션 맵 */
.pop_solution .pop {
    width: fit-content;
    height: fit-content;
    padding: 4rem 0 0;
    background: transparent;
}

.pop_solution .pop .pop_content {
    background-color: #d9edf8;
    width: 119.5rem;
    height: 84.5rem;
}

.pop_solution ul {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.pop_solution ul > li {
    position: absolute;
}

.pop_solution ul > li:hover ol {
    visibility: visible;
    display: block;
}

.pop_solution ul > li:nth-child(1) {
    top: 172px;
    left: 177px;
    z-index: 3;
}

.pop_solution ul > li:nth-child(2) {
    top: 208px;
    left: 50%;
    transform: translateX(-50%);
}

.pop_solution ul > li:nth-child(3) {
    top: 114px;
    right: 232px;
}

.pop_solution ul > li:nth-child(4) {
    top: 475px;
    left: 66px;
}

.pop_solution ul > li:nth-child(5) {
    top: 602px;
    left: 387px;
}

.pop_solution ul > li:nth-child(6) {
    top: 431px;
    right: 111px;
}

.pop_solution ul > li > a {
    display: inline-flex;
    padding: 1rem 3rem;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 10rem;
    background: #00294d;
}

.pop_solution ul > li:hover > a {
    background-color: #1b8ef0;
}

.pop_solution ul > li.on ol {
    visibility: visible;
    display: block;
}

.pop_solution ul > li div {
    position: relative;
    margin-top: -1rem;
    padding-top: 1.6rem;
}

.pop_solution ul > li ol {
    visibility: hidden;
    padding: 1.4rem 0px;
    position: absolute;
    top: 1.6rem;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, 0.06);
}

.pop_solution ul > li ol li a {
    display: block;
    padding: 0.6rem 3rem;
}

.pop_solution ul > li ol li a:hover {
    background: #f1f1f1;
}

.pop_solution .pop .pop_content ul > li ol li a p {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: normal;
}

.pop_solution ul > li ol li a span {
    color: #666;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.12px;
}

.pop_solution .bg {
    position: absolute;
    z-index: 1;
    top: 4rem;
    left: 0;
    width: 119.5rem;
    height: 84.5rem;
}

.pop_solution .bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/assets/images/solution_default-201b19c4829ab166edcb7eceb752b28a.jpg) no-repeat;
    background-size: contain;
    z-index: 0;
}

.pop_solution .bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    z-index: 1;
}

.pop_solution .bg.on1::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img1-f250370b6e4afe5074e17e5f454af913.jpg) no-repeat;
    background-size: contain;
}

.pop_solution .bg.on2::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img2-2d439f425dc5defcadd229577bf9ac7d.jpg) no-repeat;
    background-size: contain;
}

.pop_solution .bg.on3::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img3-b0abbfcb2bd24cd9907e08af6a23ca9e.jpg) no-repeat;
    background-size: contain;
}

.pop_solution .bg.on4::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img4-3792b501c5d9f770c5a38d44390f08a1.jpg) no-repeat;
    background-size: contain;
}

.pop_solution .bg.on5::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img5-01232f30b55c7dc7f777b161a3b8fcd2.jpg) no-repeat;
    background-size: contain;
}

.pop_solution .bg.on6::before {
    animation: fadeIn 0.2s linear;
    background: url(/assets/images/solution_img6-74ed05a0b0636532d4f0344fc02605f6.jpg) no-repeat;
    background-size: contain;
}

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

@media (max-width: 1700px) {
    .pop_solution .pop .pop_content {
        background-color: transparent;
        width: calc(100vw * (1195 / 1700));
        height: calc(100vw * (845 / 1700));
    }

    .pop_solution ul > li:nth-child(1) {
        top: calc(100vw * (172 / 1700));
        left: calc(100vw * (177 / 1700));
    }

    .pop_solution ul > li:nth-child(2) {
        top: calc(100vw * (208 / 1700));
    }

    .pop_solution ul > li:nth-child(3) {
        top: calc(100vw * (114 / 1700));
        right: calc(100vw * (232 / 1700));
    }

    .pop_solution ul > li:nth-child(4) {
        top: calc(100vw * (475 / 1700));
        left: calc(100vw * (66 / 1700));
    }

    .pop_solution ul > li:nth-child(5) {
        top: calc(100vw * (602 / 1700));
        left: calc(100vw * (387 / 1700));
    }

    .pop_solution ul > li:nth-child(6) {
        top: calc(100vw * (431 / 1700));
        right: calc(100vw * (111 / 1700));
    }

    .pop_solution ul > li > a {
        padding: calc(100vw * (10 / 1700)) calc(100vw * (30 / 1700));
        font-size: calc(100vw * (16 / 1700));
        border-radius: calc(100vw * (100 / 1700));
    }

    .pop_solution ul > li div {
        margin-top: calc(100vw * (-10 / 1700));
        padding-top: calc(100vw * (16 / 1700));
    }

    .pop_solution ul > li ol {
        padding: calc(100vw * (14 / 1700)) 0px;
        top: calc(100vw * (16 / 1700));
        border-radius: calc(100vw * (20 / 1700));
    }

    .pop_solution ul > li ol li a {
        padding: calc(100vw * (6 / 1700)) calc(100vw * (30 / 1700));
    }

    .pop_solution .pop .pop_content ul > li ol li a p {
        font-size: calc(100vw * (15 / 1700));
    }

    .pop_solution ul > li ol li a span {
        font-size: calc(100vw * (14 / 1700));
    }

    .pop_solution .bg {
        width: calc(100vw * (1195 / 1700));
        height: calc(100vw * (845 / 1700));
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.pop_solution .pop .close {
    position: absolute;
    top: 0;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 3.4rem;
    height: 3.4rem;
    background: url(/assets/images/ic_x_white-ac76ad0cd2d4e73569393901ce351ecd.svg) no-repeat;
    background-size: contain;
    cursor: pointer;
}

@media (max-width: 1180px) {
    .pop_solution {
        display: none !important;
    }
}

/* 240213 추가팝업 */
.add_popup {
    position: fixed;
    /*left: 50%;*/
    right: 5%;
    top: 10%;
    /*transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translate(-50%, -50%);*/
    background: #111;
    width: 96%;
    max-width: max-content;
    height: auto;
    max-height: max-content;
    z-index: 999;
}

.add_popup .popup {
    border: 1px solid #111;
}

.add_popup .add_popup_btn {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    background: #111;
    padding: 2%;
}

.add_popup .add_popup_btn button {
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #fff;
    font-size: 12px;
}

.ql-size-small {
    font-size: 15px;
}

.ql-size-large {
    font-size: 26px;
}

.ql-size-huge {
    font-size: 40px;
}

.ql-align-center {
    text-align: center;
}

.ql-align-right {
    text-align: right;
}

.ql-align-justify {
    text-align: justify;
}
