/* CSS 초기화 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strong, sub, sup, var,
b, i, u,
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,
menu, nav, output, section, summary,
time, mark, audio, video {
    border:0;
    font:inherit;
    vertical-align:baseline;
}

* {
    margin:0;
    padding:0;
    box-sizing: border-box;
}

html, body {
    position:relative;
}

body{
    font-family: 'Pretendard';
    font-weight: 500;
    line-height: 1.2;
    font-size:14px;
    color:#050505;
}

.ja {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight:400;
}

.ja input, .ja button, .ja textarea {
    font-family: 'Noto Sans JP', sans-serif;
}

.zh {
    font-family: 'Noto Sans SC', sans-serif;
    font-weight:500;
}

.zh input, .zh button, .zh textarea {
    font-family: 'Noto Sans SC', sans-serif;
}

input,button {
    font-family: 'Pretendard';
    font-size: 14px;
    font-weight: 400;
    outline:none;
    box-sizing: border-box;
}

table {
    border-collapse: collapse;
    border-collapse: separate; /* 셀 테두리 분리 */
    border-spacing: 0; /* 셀 간 간격 없앰 */
}

ul, ol{
    list-style:none;
}

img {
    width:100%;
    vertical-align: top;
    user-select: none;
}

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

button {
    border: none;
    background: none;
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
}

textarea {
    resize:none;
    font-family: 'Pretendard';
}

select::-ms-expand{
    display:none;
}

select {
    cursor: pointer;
}


.width-1400 {
    position:relative;
    width:1400px;
    max-width:100%;
    box-sizing:border-box;
    margin:0 auto;
}

.width-1300 {
    position:relative;
    width:1300px;
    max-width:100%;
    box-sizing:border-box;
    margin:0 auto;
}

.mt-05 {
    margin-top:.5rem;
}

.mt-10 {
    margin-top:1rem;
}

.mt-20 {
    margin-top:20px;
}

.mt-35 {
    margin-top:3.5rem;
}

.mb-05 {
    margin-bottom:.5rem;
}

.mb-10 {
    margin-bottom:1rem;
}

.mb-15 {
    margin-bottom:1.5rem;
}

.mb-20 {
    margin-bottom:2rem;
}

.mb-30 {
    margin-bottom:3rem;
}

.mb-40 {
    margin-bottom:4rem;
}

.mr-05 {
    margin-right:.5rem;
}

.mr-10 {
    margin-right:1rem;
}

.mr-20 {
    margin-right:2rem;
}

.d-flex {
    display:flex;
}

.text-center {
    text-align: center;
}

.overflow-hidden {
    overflow:hidden;
}

.justify-betweewn {
    justify-content: space-between;
}

.hidden {
    display:none;
}

.vc_wrap {
    position:relative;
}

/* header */
.header {
    position:absolute;
    top:20px;
    z-index:5;
    width:100%;
}

.header.sub-header {
    position:relative;
    top:0;
    padding:1rem 0;
    background-color:#fff;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}

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

.header_logo {
    width:220px;
    height:55px;
    background-image: url('/images/main/renew/logo-w.png');
    background-repeat: no-repeat;
    background-position: 0 20%;
    background-size:100%;
    cursor: pointer;
}

.sub-header .header_logo {
    background-image: url('/images/main/renew/logo-b.png');
}

.sub-header .mobile-head .header_logo {
    background-image: url('/images/main/renew/logo-w.png');
}

.gnb {
    display:flex;
}

.gnb a {
    display: inline-block;
    color:#fff;
    font-size:18px;
    padding:1rem 2.5rem;
}

.gnb a:hover {
    color:#77ffea;
}

.sub-header .gnb a {
    color:#020202;
}

.sub-header .gnb a:hover,
.sub-header .gnb a.on {
    color:#5a58db;
}

@media (min-width: 901px) {
    .head-wrap {
        position: relative;
    }

    .gnb.pc-head {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        white-space: nowrap;
    }

    .header_logo,
    .head-bt-area {
        position: relative;
        z-index: 3;
    }
}

.head-bt-area a {
    display: inline-block;
    border:1px solid rgba(255,255,255,0.5);
    border-radius: 5px;
    padding:.6rem 1.4rem;
    color:#fff;
    font-weight: 400;
    font-size:14px;
    margin-left:.2rem;
}

.sub-header .head-bt-area a {
    color:#020202;
    border-color:#c1c1c1;
}

.sub-header .head-bt-area a:hover {
    color:#5b58db;
}

.sub-header .head-bt-area a.gradation {
    color:#fff;
}

.gradation {
    background: linear-gradient(to right, #1f3fce 0%, #df85f8 100%);
}

.gradation:hover {
    background: linear-gradient(to right, #df85f8 0%, #1f3fce 100%);
}

.head-bt-area a.h-eng {
    display: flex;
    justify-content: center;   /* 수평 중앙 정렬 */
    align-items: center;       /* 수직 중앙 정렬 */
    width: 80px;
    padding-left:0;
    padding-right:0;
    gap: 5px;
}

.sub-header .head-bt-area .lang-icon {
    border:1px solid #dcdcdc;
}

.lang-group {
    position:relative;
}

.lang-group .open-globe {
    display:none;
    position:absolute;
    top:40px;
    left:0;
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,0.5);
    border-radius: 5px;
    padding:.2rem;
    background-color:#4e59e2;
}

.sub-header .lang-group .open-globe {
    background-color:#fff;
    border:1px solid #cdcdcd;
}

.open-globe a {
    display:flex;
    border:0;
    padding:0 1rem 0 .8rem;
    font-size:.8rem;
    line-height:2;
    font-weight: 300;
    margin:0;
    align-items: center;
    gap: 5px;
}

.lang-icon {
    width:16px;
    height:16px;
    border-radius: 50px;
}

.open-globe a:hover {
    color:#c3c6ed;
}

.lang-group.open .open-globe {
    display:block;
    z-index:1;
}

.floating {
    position: fixed;
    bottom: 2%;
    right: 2%;
    z-index: 2;
}


.floating ul li {
    margin-bottom:.5rem;
    text-align: center;
}

.floating ul li a {
    position:relative;
    display:inline-block;
    border-radius: 100%;
    width:75px;
    height:75px;
    font-size:0;
    text-indent: -9999;
}

.floating ul li a.video-link {
    background-image: url('/images/main/renew/right-icon01.png');
    background-repeat: no-repeat;
    background-position: center 50%;
    background-size:40%;
    background-color: #df597e;
    box-shadow: 3px 3px 10px rgba(150, 31, 65, 0.2)  ;
	-webkit-box-shadow: 3px 3px 10px rgba(150, 31, 65, 0.2)  ;
	-moz-box-shadow: 3px 3px 10px rgba(150, 31, 65, 0.2)  ;
}

.floating ul li a.video-link:hover::after {
    content: var(--tooltip-text, '홍보영상');
    position:absolute;
    top:75%;
    left:50%;
    transform: translateX(-50%);
    font-size:12px;
    font-weight: 500;
    color:#df597e;
    padding:.2rem .3rem;
    border-radius: 50px;
    background-color:#fff;
    border:1px solid #df597e;
    white-space: nowrap;
}

.floating ul li a.contact-link {
    background-image: url('/images/main/renew/right-icon02.png');
    background-repeat: no-repeat;
    background-position: center 50%;
    background-size:40%;
    background-color: #5a4ce6;
    box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
	-webkit-box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
	-moz-box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
}

.floating ul li a.contact-link:hover::after {
    content: var(--tooltip-text, '문의하기');
    position:absolute;
    top:75%;
    left:50%;
    transform: translateX(-50%);
    font-size:12px;
    font-weight: 500;
    color:#5a4ce6;
    padding:.2rem .3rem;
    border-radius: 50px;
    background-color:#fff;
    border:1px solid #5a4ce6;
    white-space: nowrap;
}

.floating ul li a.gotop {
    position:relative;
    font-size:13px;
    color:#1b1b1b;
    font-weight:500;
    width:55px;
    height:55px;
    padding-top:1.7rem;
    background-color:#fff;
    box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
	-webkit-box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
	-moz-box-shadow: 3px 3px 10px rgba(115, 99, 235, 0.4)  ;
}

.floating ul li a.gotop::before {
    content: '';
    position:absolute;
    top:30%;
    left:41%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 6px solid black; /* 삼각형 색상 */
}

/* footer */
.footer-wrap {
    border-top:1px solid #e5e5e5;
    padding-top:2rem;
}

.footer_logo {
    width:196px;
    margin-right:3.5rem;
}

.footer-cont {
    padding-top:.7rem;
}

.footer-mn li {
    position: relative;
}

.footer-mn li::after {
    content: '';
    position:absolute;
    top:10px;
    right:13px;
    width:4px;
    height:4px;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50px;
}

.footer-mn li:last-child::after {
    background-color: #fff;
}

.footer-mn li a {
    display:inline-block;
    color:#353535;
    font-size:15px;
    padding-right:2rem;
    padding-top:4px;
}

.sns li {
    margin-right:.4rem;
}

.sns li img {
    height:25px;
}

.f-cont {
    padding:1rem 0 3rem 0;
    color:#757575;
    font-size:14px;
    line-height:1.5;
    font-weight:400;
}

.copyright {
    color:#9f9f9f;
    font-size:12px;
    padding-top:1rem;
}

.f-cont .br {
    display:block;
}


.main-container {
    position:relative;
    overflow-x: clip;
}

/* main */
.main-wrap {
    position:relative;
    background-image:
        linear-gradient(to bottom, #4455e0 0%, #8e6df1 100%);
    background-repeat:repeat-x;
    background-position: 0 0;
    background-size: contain;
    opacity: 0.9; /* 원하는 투명도로 조절 */
    min-height:53rem;
}

.main-wrap.en {
    min-height:57rem;
}

/* Keep consistent typography when English locale styles are active */
.main-wrap.en,
.main-wrap.en input,
.main-wrap.en button,
.main-wrap.en textarea,
.main-wrap.en .slogan,
.main-wrap.en .main-h3,
.main-wrap.en .mer-txt .big-t,
.main-wrap.en .func-h3,
.main-wrap.en .service-slogan,
.main-wrap.en .faq-title {
    font-family: 'Pretendard', sans-serif;
}

.main-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 842px;
    background-image: url('/images/main/renew/main-bg02.png');
    background-repeat: no-repeat;
    background-position: -15% 0;
    z-index: -1;
  }

.slogan-area {
    padding:11rem 0 3.5rem 0;
    text-align: center;
}

.slogan {
    color:#fff;
    font-family: 'GmarketSans';
    font-weight: 300;
    font-size:38px;
    margin-bottom:1.5rem;
    line-height:1.3;
}

.slogan-area.ja .slogan {
    font-family: 'Noto Sans JP', sans-serif;
}

.slogan-area.en {
    padding-top:10rem;
}

.slogan-area.en .slogan {
    font-size:46px;
    font-weight:400;
}

.slogan-area.en .s-sub {
    padding-top:.8rem;
    font-size:23px;
    font-weight: 400;
}

.slogan-bt a {
    display: inline-block;
    border:1px solid rgba(255,255,255,0.5);
    border-radius: 10px;
    width:230px;
    padding:1rem 0;
    color:#fff;
    font-size:18px;
    background-color:rgba(0,0,0,0.1);
}

/*
.head-bt-area a:hover,
.slogan-bt a:hover {
    background-color:#fff;
    color:#5a4ce6;
    font-weight:500;
}
*/

.slogan-bt a.gradation {
    margin-left:.5rem;
}

.head-bt-area a.gradation:hover,
.slogan-bt a.gradation:hover {
    color:#fff;
}

.monitor {
    position: absolute;
    left: 16%;
    background-color: #fff;
    width: 930px;
    border-radius: 50px;
    box-shadow: 11px 11px 30px rgba(0, 0, 0, 0.1);
    padding: 1rem;
}

.in-monitor {
    width: 100%; /* 부모 컨테이너 너비 유지 */
    height: 533px; /* 고정 높이 */
    overflow: hidden; /* 넘치는 부분 감추기 */
    background-color: #fff;
    border-radius: 35px;
    border: 1px solid #d7d7d7;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
    position: relative;
}

.slider-wrapper {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

/* 개별 슬라이드 */
.slider-wrapper span {
    flex: 0 0 100%; /* 하나의 이미지가 전체 너비를 차지 */
    width: 100%;
    height: 100%;
    overflow: hidden; /* 슬라이드 내부에서도 넘치는 부분 감추기 */
    display: flex;
    align-items: flex-start; /* 이미지 위쪽 정렬 */
    justify-content: center;
}

/* 이미지 스타일 */
.slider-wrapper img {
    width: 100%; /* `.in-monitor`에 맞춰 가로 100% */
    height: auto; /* 원본 비율 유지하면서 조정 */
    max-height: 100%; /* `.in-monitor` 높이를 넘지 않도록 제한 */
    object-fit: cover; /* 가로 100% 유지, 세로가 길면 넘치는 부분 잘림 */
    display: block;
}

/* 메인 이벤트 */
.main-event {
    position:absolute;
    top:130px;
    left: 0;
    z-index:10;
}

.event-wrap {
    position:relative;
}

.main-event img {
    width:100%;
}

.main-event .event-close {
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:40px;
    background-color:rgba(0, 0, 0, 0.3);
    border-radius: 100%;
    padding:12px;
    cursor: pointer;
    z-index:2;
    border:0;
}

.main-event .event {
    position: relative;
    width: 70vw;           /* 화면 너비의 60% */
    max-width: 255px;      /* 너무 커지지 않도록 제한 */
    aspect-ratio: 1 / 1;   /* 정사각형 유지 */
    margin: 0 auto;
    overflow: hidden;
}

.main-event .event a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    z-index: 0;
}

.main-event .event a img {
    object-fit: cover;
    display: block;
}

.main-event .event a.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.event-dot {
    width:100%;
    text-align: center;
    padding-top:.4rem;
}

.event-dot > span,
.event-dot > button {
    display:inline-block;
    width:8px;
    height:8px;
    background-color:#fff;
    border-radius: 100%;
    margin-left:6px;
    cursor: pointer;
    border:0;
    padding:0;
}

.event-dot > span:first-child,
.event-dot > button:first-child {
    margin-left: 0;
}

.event-dot > span.on,
.event-dot > button.on {
    background-color:#5cfce3;
}

.black-bg {
    display:none;
    border:0;
}

.tday {
    width:100%;
    text-align: center;
    color:#fff;
    padding-top:.4rem;
    font-weight:400;

}

.tday label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.tday input {
    display:inline-block;
    border:1px solid #fff;
    transform: scale(1.3);
    vertical-align: middle;
    margin-left: 5px;
}

.main-login {
    position:absolute;
    top:165px;
    right:0;
    display:flex;
    overflow: hidden;
    align-items: flex-start;
    transition: transform 0.3s ease-in-out;
    z-index:9;
}

.main-login .h2-left {
    cursor: pointer;
    background-color:#fff;
    border-radius: 25px 0 0 25px;
    writing-mode: vertical-rl;
    display:flex;
    flex-direction:row;
    align-items:center;
    padding:1.4rem 1.2rem;
    color:#5a4ce6;
    font-size:18px;
    font-weight: 500;
    letter-spacing: -4px;
}

.main-login .h2-left.en {
    letter-spacing: 0;
    padding-bottom:1.1rem;
}

.zh .main-login .h2-left.en {
    letter-spacing: 2px;
}

.main-login .h2-left img {
    width:20px;
    order:2;
    margin-top:7px;
}

.main-login .h2-left.en img {
    margin-top:0;
}

.login-wrap {
    width:350px;
    background-color: #fff;
    padding:1.5rem;
    border-radius: 0 0 0 25px;
    box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.2);
    transform: translateX(0); /* 기본 위치 */
    opacity: 1;
}

/* 로그인 폼이 오른쪽으로 밀려날 때 */
.main-login.hidden .login-wrap {
    transform: translateX(100%); /* 오른쪽으로 이동 */
    opacity: 0; /* 사라짐 */
}

/* 로그인 버튼이 함께 이동하여 로그인 폼이 사라졌을 때도 딱 붙도록 조정 */
.main-login.hidden .h2-left {
    transform: translateX(0); /* 로그인 폼 너비만큼 이동 */
    transition: transform 0.3s ease-in-out;
}

/* 🔥 전체 영역도 줄여서 숨겨진 폼이 클릭되지 않도록 함 */
.main-login.hidden {
    width: 59px; /* h2-left 버튼 크기만 남기고 줄이기 */
}

.h2-top {
    font-size:23px;
    color:#0f0f0f;
    text-align: center;
    font-weight:500;
    padding:.5rem 0 1.3rem 0;
}

.main-login input {
    width:100%;
    background-color:#eeecf5;
    text-align: center;
    border:0;
    padding:1.2rem 0;
    border-radius: 20px;
    margin-bottom:.7rem;
    font-size:16px;
}

.main-login .form_button {
    width:100%;
    background-color:#5a4ce6;
    color:#fff;
    padding:1.2rem 0;
    border-radius: 20px;
    font-size:18px;
    margin-bottom:1rem;
}

.main-login .form_find {
    text-align: center;
    color:#5b5b5b;
    font-size:14px;
    margin-bottom:1rem;
}

.main-login .form_join {
    text-align: center;
}

.main-login .form_join a {
    display:inline-block;
    border:1px solid #5a4ce6;
    padding:.5rem 1.7rem;
    font-size:18px;
    color:#5a4ce6;
    border-radius: 50px;
    margin-bottom:.5rem;
}


/* 버추얼클래스 장점 */
.merit-wrap {
    position:relative;
    padding-top:13rem;
}

.merit-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/main/renew/main-bg02.png');
    background-repeat: no-repeat;
    background-position: 120% 0;
    opacity: 0.5;
    z-index: -1;
}

.main-h3 {
    font-size:40px;
    font-weight:500;
    line-height:1.3;
}

.main-h3.en {
    font-size:35px;
}

.main-h3.en .br {
    display:block;
}

.main-h3 .b-br {
    display:block;
}

.merit-slide {
    display:grid;
    grid-template-columns: 23% 77%;
}

.merit-mn {
    margin-top:3rem;
}

.merit-mn li {
    cursor: pointer;
    position:relative;
    color:#9a9a9a;
    font-size:16px;
    line-height: 2.3;
    font-weight:500;
    padding-left:1rem;
}

.merit-wrap.ja .merit-mn li {
    font-size:15px;
}

.merit-mn li::before {
    content:'';
    position:absolute;
    top:16px;
    left:0;
    width:5px;
    height:4px;
    background-color:#9a9a9a;
    border-radius: 50px;
}

.merit-mn li.on {
    color:#5a4ce6;
}

.merit-mn li.on::before {
    background-color: #5a4ce6;
}

.merit-obj {
    position: relative;
    display: grid;
    height: auto;
    margin-top:3rem;
    margin-bottom:2rem;
}

/* 기본적으로 아이템 숨김 */
.merit-obj .item {
    grid-area: 1 / 1;
    width: 100%;
    opacity: 0;
    transition: opacity 0.6s ease-out;
    display: flex;
    justify-content: space-between;
}

/* .mer-img만 아래에서 위로 이동 */
.merit-obj .item .mer-img {
    transform: translateY(20px);
    transition: transform 0.6s ease-out;
}

/* 활성화된 아이템 */
.merit-obj .item.active {
    opacity: 1;
}

/* 활성화된 아이템 내에서 .mer-img만 위로 올라오게 */
.merit-obj .item.active .mer-img {
    transform: translateY(0);
}

.mer-img {
    width:30%;
    margin:8.7% 0 3.3rem 5rem;
}

.mer-txt {
    text-align: right;
}

.merit-wrap.ja .mer-txt .big-t {
    font-size:45px;
}

.mer-txt .big-t {
    position:relative;
    font-size:60px;
    font-weight:500;
    margin-bottom:.7rem;
}

.mer-txt.en {
    margin-top:2rem;
}

.mer-txt.en .big-t {
    font-size:50px;
}

.merit-wrap.ja .mer-txt .big-t .br,
.merit-wrap.zh .mer-txt .big-t .br,
.mer-txt.en .big-t .br {
    display:block;
}

.mer-txt .bullet {
    position:relative;
    display:inline-block;
    width:20px;
    height:50px;
}

.mer-txt .bullet::before {
    content: '';
    position:absolute;
    top:-23px;
    left:-5px;
    width:20px;
    height:20px;
    background-color:#5a4ce6;
    border-radius: 50px;

}

.mer-txt .small-t {
    line-height: 1.4;
    font-size:18px;
}

/* 추천 */
.recom-wrap {
    background-color:rgba(85,96,227,0.1);
    padding:5rem 0;
}

.re-cont {
    justify-content: space-between;
}

.main-h3-s {
    margin-top:1rem;
    font-size:20px;
    line-height:1.4;
    font-weight: 500;
}

.main-h3.en .main-h3-s .br {
    display:block;
}

.rec-list {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rec-item {
    display: grid;
    grid-template-columns: 15% 81%;
    column-gap: 4%;
    align-items: center;
    width: 390px;
    padding: 1.7rem 2rem;
    border-radius: 80px;
    font-size: 19px;
    font-weight: 600;
    color: white;
    position: relative;
    box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.1)  ;
	-webkit-box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.1)  ;
	-moz-box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.1)  ;
    cursor: pointer;
    transition: transform 0.2s ease-out;
    will-change: transform;
}

.rec-item:hover {
    transform: scale(1.05);
}

/* 첫 번째 아이템 (가운데 배치) */
.rec-item01 {
    align-self: center;
    background-color: #5a4ce6;
    margin-bottom:2rem;
}

/* 두 번째 줄 (왼쪽 - 오른쪽) */
.rec-item02 {
    background-color: #afb1d4;
    align-self: flex-start;
}

.rec-item03 {
    background-color: #676b9a;
    align-self: flex-end;
    margin:1.5rem 1.5rem 0 2.2rem;
}

/* 세 번째 줄 (왼쪽 - 오른쪽) */
.rec-item04 {
    background-color:#fff;
    color:#676b9a;
    align-self: flex-start;
    margin-top:1rem;
}

.rec-item05 {
    background-color: #afb1d4;
    align-self: flex-end;
    margin-left:2.2rem;
    margin-top:3rem;
}

/* 이미지 스타일 */
.rec-txt {
    font-size: 18px;
    font-weight: 500;
    text-align: left;
}

.recom-wrap.ja .rec-txt {
    font-size:16px;
}

/* 주요기능 */
.func-wrap {
    background-color:#474a7e;
    padding:6rem 0 8.5rem 0;
    overflow: hidden;
}

.func-h3 {
    color:#fff;
    font-size:35px;
    font-weight:500;
    margin-bottom:5rem;
}

.func-list {
    display:flex;
    padding:0 1.5rem;
    overflow:hidden;
    justify-content: center;
}

.func-li {
    width:100%;
    display: flex;
    gap: 2.5rem; /* 슬라이드 간격 */
    transition: transform 0.5s ease-in-out;
    will-change: transform; /* 부드러운 애니메이션 */
}

.func-box {
    position:relative;
    flex: 0 0 calc((100% - 4 * 2.5rem) / 5); /* 5개씩 정렬 (100%에서 gap 4개 빼고 나누기 5) */
    cursor: pointer;
    min-width:380px;
    background-color:#fff;
    background-repeat: no-repeat;
    background-position: 93% 83%;
    background-size:28%;
    padding:2rem 2.5rem 2.5rem 2.3rem;
    border-radius: 20px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
}

.func-box:hover .func-h4 {
    color:#5a4ce6;
}

.func-box:hover .detail-bt {
    background-color:#5a4ce6;
}

.func-box .detail-bt {
    position:relative;
    display:inline-block;
    background-color:#4e5182;
    color:#fff;
    font-size:15px;
    font-weight:400;
    padding:.5rem 2rem .5rem 1rem;
    border-radius: 50px;
}

.func-box .detail-bt::before {
    content: "";
    position: absolute;
    right:7px;
    top:17px;
    width: 15px;
    height: 1px;
    background-color: white; /* 선 색상 */
    border-radius: 4px;
    transform: translateX(-4px); /* 약간 왼쪽으로 이동 */
}

.func-box .detail-bt::after {
    content: "";
    position: absolute;
    top:8px;
    right:2px;
    width: 6px;
    height: 5px;
    border-right: 1px solid white; /* 대각선 부분 */
    transform: rotate(135deg) translate(6px, 3px); /* 화살표 각도 조절 */
}

.fb01 {
    background-image: url('/images/main/renew/main-icon03-1.png');
}

.fb02 {
    background-image: url('/images/main/renew/main-icon03-2.png');
}

.fb03 {
    background-image: url('/images/main/renew/main-icon03-3.png');
}

.fb04 {
    background-image: url('/images/main/renew/main-icon03-4.png');
}

.fb05 {
    background-image: url('/images/main/renew/main-icon03-5.png');
}

.fb06 {
    background-image: url('/images/main/renew/main-icon03-6.png');
}

.func-h4 {
    color:#3d4070;
    font-size:21px;
    font-weight:600;
    margin-bottom:.6rem;
}

.func-wrap.ja .func-h4 {
    font-size:19px;
}

.func-txt {
    color:#787878;
    font-size:17px;
    line-height: 1.3;
    margin-bottom:3.5rem;
}

.func-wrap.ja .func-txt {
    font-size:16px;
}

.func-box .func-txt .br,
.func-box.en .func-h4 .brr,
.func-box.en .func-txt .br {
    display:block;
}

/* 고객사례 */
.case-wrap {
    padding:5rem 0;
}

.case-tab {
    padding:2.5rem 0;
    color:#9a9a9a;
    font-size:20px;
    font-weight:600;
}

.case-tab li {
    cursor: pointer;
    padding:0 1rem;
}

.case-tab li:first-child {
    padding-left:0;
}

.case-tab li > span {
    display:block;
    padding:.5rem;
    font-weight: 500;
}

.d-none{
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .case-tab li:hover > span {
        color:#5a4ce6;
        border-bottom:4px solid #5a4ce6;
    }
}

.case-tab li.on > span {
    color:#5a4ce6;
    border-bottom:4px solid #5a4ce6;
}

.case-tab-cont {
    display:grid;
    grid-template-columns: 35% 62%;
    column-gap: 3%;
    line-height:1.3;
    align-items: start; /* 🔥 텍스트 길이가 달라도 이미지 영향을 안 받음 */
    opacity: 0;
    transform: translate3d(0, 0, 0);
    will-change: opacity, transform;
    pointer-events: none;
    visibility: hidden;
    grid-area: 1 / 1;
}

.case-cont-wrap {
    display: grid;
    overflow: hidden;
}

.case-tab-cont.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.case-tab-cont.active.enter-from-right {
    animation: caseSlideInFromRight 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.case-tab-cont.active.enter-from-left {
    animation: caseSlideInFromLeft 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.case-tab-cont.prev {
    visibility: visible;
    opacity: 1;
    z-index: 1;
    pointer-events: none;
}

.case-tab-cont.prev.exit-to-left {
    animation: caseSlideOutToLeft 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.case-tab-cont.prev.exit-to-right {
    animation: caseSlideOutToRight 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes caseSlideInFromRight {
    from { opacity: 0; transform: translate3d(36px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes caseSlideInFromLeft {
    from { opacity: 0; transform: translate3d(-36px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes caseSlideOutToLeft {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(-36px, 0, 0); }
}

@keyframes caseSlideOutToRight {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(36px, 0, 0); }
}

.tab-img {
    height:320px;
    overflow: hidden;
    border-radius: 10px;
}

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

.tab-txt {
    padding-top:1.5rem;
}

.tab-txt .t01 {
    font-size:24px;
    font-weight: 500;
    padding-bottom: 1rem;
}

.tab-txt .t02 {
    color:#7a7a7a;
    font-size:18px;
    margin-bottom:3rem;
    font-weight: 400;
}

.tab-txt .t03 {
    font-size:16px;
}

.tab-txt .br {
    display:block;
}

.cus-logo {
    margin:2rem 0 5rem 0;
    overflow: hidden;
}

.logo-track {
    overflow: hidden;
}

.logo-slide {
    display: flex;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    animation: logoMarquee 55s linear infinite;
}

.logo-item {
    margin-right:4rem;
    flex: 0 0 auto;
}

.logo-item img {
    width:auto;
    height:60px;
    display: block;
    transform: translateZ(0);
    backface-visibility: hidden;
}

@keyframes logoMarquee {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}


/* 서비스 소개 */
.service-visual {
    background-image: url('/images/main/renew/service-bg01.png');
    background-repeat: repeat-x;
    background-position: 0 0;
}

.service-img {
    background-image: url('/images/main/renew/service-bg02.png');
    background-repeat: no-repeat;
    background-position: center 0;
    padding:9rem 0;
}

.service-slogan {
    font-size:19px;
    color:#302f55;
}

.service-slogan .slogan-b {
    font-family: 'GmarketSans';
    font-weight: 300;
    font-size:40px;
    color:#30309a;
    margin-bottom:1.4rem;
}

.service-slogan.ja .slogan-b {
    font-family: 'Noto Sans JP', sans-serif;
}


.service-slogan.en {
    font-size:17px;
}

.service-slogan.en .slogan-b {
    font-weight: 400;
    font-size:35px;
}

.cont-bg-g {
    background-color:#f6f5f9;
}

.service-cont {
    padding:3rem 0;
    line-height:1.4;
}

.service-cont .s-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53%;
    flex-shrink: 0;
}

.service-cont .s-img img {
    width: 100%;
    height: auto;
}

.service-cont .s-cont {
    padding-top:3.5rem;
    margin-right:3rem;
}

.service-cont .service-h3 {
    color:#5a58db;
    font-size:19px;
    font-weight: 600;
    margin-bottom:1rem;
}

.service-cont .stxt01 {
    font-size:33px;
    font-weight:500;
    margin-bottom:1rem;
}

.service-cont .stxt02 {
    font-size:22px;
    font-weight:500;
    margin-bottom:1.5rem;
}

.service-cont .stxt03 {
    font-size:18px;
    color:#7d7d7d;
    font-weight:300;
}

.service-cont.ja .stxt01 {
    font-size:28px;
}

.service-cont.ja .stxt02 {
    font-size:20px;
}

.service-cont.ja .stxt03 {
    font-size:16px;
}


.s-cont-right {
    margin-left:4.5rem;
}

.service-cont.en .s-cont-right {
    margin-left:2.5rem;
}

.service-cont .eng,
.service-cont .ja,
.service-cont .zh,
.service-cont.en .kor,
.service-cont.en .ja,
.service-cont.en .zh,
.service-cont.ja .kor,
.service-cont.ja .eng,
.service-cont.ja .zh,
.service-cont.zh .kor,
.service-cont.zh .en,
.service-cont.zh .ja {
    display:none;
}

.service-cont.en .eng,
.service-cont.ja .ja,
.service-cont.zh .zh {
    display:flex;
}

.ser-06 {
    justify-content: space-between;
    align-items: center;
    margin:.5rem 0 2rem 0;
}

.ser-06 li {
    width:30%;
}

.ser-06 li img {
    border-radius: 10px;
    border:1px solid #e6e6e8;
}

.ser-06 li .tt {
    display:flex;
    align-items: center;
    padding-top:1rem;
    padding-left:1rem;
    font-size:15px;
    font-weight:500;
}

.ser-06 li .tt .step {
    color:#020202;
    margin-right:.5rem;
}


/* 요금제 안내 */
.product-wrap {
    padding:4rem 0;
}

.service-slogan .slogan-b .br02,
.service-slogan.en .slogan-b .br02 {
    display:block;
}

.tab-container {
    display: flex;
    justify-content: center;
}

.tab {
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
    padding:1rem;
    border:1px solid #5b58db;
    color:#5b58db;
    font-size:20px;
    font-weight:500;
    min-width:220px;
    margin-bottom:3rem;
}

.tab01 {
    border-radius: 10px 0 0 10px;
}

.tab02 {
    border-radius: 0 10px 10px 0;
}

.tab.active {
    background-color:#5b58db;
    color:#fff;
}

/* 탭 내용 스타일 */
.tab-content {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.1s ease, transform 0.5s ease;
    display: block;
    height: 0;
    overflow: hidden;
}

.tab-content.active {
    opacity: 1;
    transform: translateY(0);
    height: auto;
    overflow: visible;
}

.add-bt {
    text-align: right;
    margin:1.5rem 0 .7rem 0;
}

.add-bt > span {
    cursor: pointer;
    display:inline-block;
    padding:1rem 1.2rem 1rem 3rem;
    border:2px solid #5b58db;
    border-radius: 50px;
    color:#5b58db;
    font-size:18px;
    font-weight: 500;
    background-image: url('/images/main/renew/icon-add.png');
    background-repeat: no-repeat;
    background-position: 10% 50%;
    background-size:20px;
}

.add-form_bt {
    width:130px;
    display:inline-block;
    padding:.8rem 0 .8rem 2rem;
    border:2px solid #5b58db;
    border-radius: 5px;
    color:#5b58db;
    font-size:18px;
    font-weight: 500;
    background-image: url('/images/main/renew/icon-add.png');
    background-repeat: no-repeat;
    background-position: 15% 50%;
    background-size:20px;
}

.add-wrap {
    overflow:hidden;
    position:relative;
    display:grid;
    grid-template-columns: 60% 40%;
    border:2px solid #5b58db;
    background-color:#fff;
    border-radius: 20px;
    margin-bottom:3.5rem;
}

.add-cont::before {
    content: '';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-image: url('/images/main/renew/main-bg02.png');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 40%;
    opacity: 0.15;
    pointer-events: none; /* ✅ 클릭 방해 안 함 */
}

.add-cont {
    padding:2rem 2.5rem 1.3rem 2.5rem;
}

.form-in {
    font-size:18px;
    margin-bottom:1rem;
    align-items:flex-start;
}

.add-wrap.en .form-in {
    font-size:16px;
}

.form-in .form-tt {
    display:inline-block;
    width:90px;
    flex:0 0 90px;
    padding-top:.5rem;
    white-space:nowrap;
}

.add-wrap.en .form-in .form-tt {
    width:150px;
    flex-basis:150px;
}

.form-in .form-ss {
    color:#656565;
    font-size:16px;
    min-width:0;
}

/* 라디오 버튼 숨기기 */
input[type="radio"] {
    display: none;
}

/* 버튼 스타일 */
.select-group {
    display:grid;
    grid-template-columns: 24% 24% 24% 24%;
    column-gap: 2%;
    width:80%;
    min-width:0;
    grid-auto-rows: minmax(40px, auto); /* 최소 높이 지정 */
}

.add-wrap.en .select-group {
    width:auto;
    flex:1 1 auto;
}

.f-sel-bt {
    font-size:18px;
    font-weight: 500;
    border-radius: 5px;
    padding:.6rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #fff;
}

.add-wrap.en .f-sel-bt {
    font-size:17px;
    padding:.7rem 0;
}

/* 선택된 버튼 스타일 */
input[type="radio"]:checked + label {
    color: #fff;
}

input[type="radio"]:checked#standard + label {
    background: #577BEB; /* 스탠다드 */
}

input[type="radio"]:checked#computing + label {
    background: #4F4CEB; /* 컴퓨팅 */
}

input[type="radio"]:checked#hpc + label {
    background: #0024B4; /* 고성능 */
}

input[type="radio"]:checked#gpu + label {
    background: #9433E8; /* 그래픽 */
}

.add-input {
    width:130px;
    border:1px solid #b9b9b9;
    border-radius: 5px;
    padding:.6rem;
    text-align: center;
    font-size:18px;
    margin-right:.5rem;
}

.add-wrap.en .add-input,
.add-wrap.en .add-form_bt {
    width:133px;
}

.add-result {
    position:relative;
    background-color:#5b58db;
    padding:0 1rem;
}

.add-close {
    position:absolute;
    top:12px;
    right:20px;
}

.add-close img {
    width:15px;
}

.add-close {
    cursor: pointer;
    color:#fff;
    font-size:14px;
    display:flex;
    align-items:center;
    gap:5px;
}

.result-icon {
    position:absolute;
    top:37%;
    left:-6%;
    width:65px;
    height:65px;
    background-color:#fff;
    border:2px solid #5b58db;
    border-radius: 50px;
    text-align: center;
}

.result-icon > span {
    position:relative;
    display:inline-block;
    width:28px;
    height:6px;
    background-color:#5b58db;
    border-radius: 50px;
    margin-top:2.1rem;
}

.result-icon > span::before {
    content:'';
    position: absolute;
    top:-10px;
    left:0;
    width:28px;
    height:6px;
    background-color:#5b58db;
    border-radius: 50px;
}

.result-txt {
    color:#fff;
    font-size:19px;
    font-weight: 500;
    padding:6rem 0 4.5rem 0;
    line-height: 1.5;
}

.result-txt > div {
    font-size:33px;
}

.result-txt > div .rt-ss {
    font-size:24px;
}

.result-txt > div .en {
    display:none;
}

.add-wrap.en .result-txt {
    font-weight:400;
}

.add-wrap.en .result-txt > div {
    font-weight:500;
}

.add-wrap.en .result-txt > div .rt-ss {
    font-size:18px;
}

.add-wrap.en .result-txt > div .en {
    display:inline-block;
}

.add-wrap.en .result-txt > div .ko {
    display:none;
}


.tip-txt {
    color:#fff;
    font-size:15px;
    font-weight: 400;
}

.subscrip.payper {
    margin-top:0;
}

.subscrip {
    margin-top:3.5rem;
}

.subs-b-more {
    padding:1rem 0;
    font-size:17px;
    font-weight:400;
    line-height: 2;
}

.subs-b-more > a {
    display:inline-block;
    background-color: #5b58db;
    color:#fff;
    padding:.2rem .6rem;
    border-radius: 5px;
    margin-left:.5rem;
}

/* 자주하는 질문 */
.faq-wrap {
    position: relative;
}

.faq-visual {
    position:relative;
    background-image:linear-gradient(to bottom, #4455e0 0%, #8e6df1 100%);
    background-repeat:repeat-x;
    background-position: center;
    background-size: contain;
    opacity: 0.9; /* 원하는 투명도로 조절 */
    margin-bottom:4rem;
    min-height:290px;
}

.faq-visual::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/main/renew/main-bg02.png');
    background-repeat: no-repeat;
    background-position: -15% 28%;
    background-size:43%;
    z-index: -1;
}

.faq-board {
    margin-bottom:6rem;
}

.faq-h2 {
    padding-top:100px;
    color:#fff;
    margin-bottom:2.5rem;
}

.faq-en {
    font-size:17px;
    margin-bottom:.4rem;
}

.faq-kr {
    font-size:40px;
    font-family: 'Gmarketsans';
    font-weight: 300;
}

.menual-down {
    display:flex;
    justify-content: center;
}

.menual-down > a {
    position:relative;
    display:block;
    color:#fff;
    padding:1.3rem 6.2rem 1.3rem 1.7rem;
    font-size:20px;
    font-weight: 400;
    line-height:1.3;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1)  ;
	-webkit-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1)  ;
	-moz-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1)  ;
}

.menual-down > a > span {
    font-size:18px;
}

.menual-down > a::after {
    content: '';
    position:absolute;
    right:8%;
    top:35%;
    width:30px;
    height:30px;
    background-image: url('/images/renew/ban-download.png');
    background-position:0 0;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.8;
}

.menual-01 {
    background-color:rgba(48,0,147, 0.4);
}

.menual-02 {
    background-color:rgba(20,12,151, 0.4);
    margin-left:.5rem;
}

.faqli-top {
    position:relative;
    margin-bottom:.7rem;
}

.faq-se {
    overflow:hidden;
}

.faq-search {
    border-bottom:2px solid #222;
    width:300px;
}

.faq-search input {
    float:left;
    padding:.8rem .5rem;
    border:0;
    margin-right:.2rem;
    font-size:16px;
    min-width: 250px;
}

.faq-search button {
    font-size:16px;
    width:30px;
    padding-top:.3rem;
}

.faq-tabmn {
    margin:0;
    overflow:hidden;
}

.faq-tabmn li {
    cursor: pointer;
    border:1px solid #c3c3c3;
    font-size:17px;
    color:#5a5a5a;
    padding:.7rem 2rem;
    margin-right:.2rem;
}

.faq-tabmn li.on {
    border-color:#5b58db;
    background-color:#5b58db;
    color:#fff;
}

.faq-item.centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    padding: 2rem;
    border-bottom:1px solid #ccc;
    color:#a0a0a0;
}

.faq-item.centered > img {
    width: 80px;
    margin-bottom:.5rem;
}

.faq-container {
    border-top:1px solid #232323;
}

.faq-question {
    position:relative;
    cursor: pointer;
    margin: 0;
    padding: 1.5rem 1rem;
    font-size:17px;
    border-bottom:1px solid #cccccc;
    align-items: center;
}

.qu-tit {
    float:left;
    display:inline-block;
    margin-right:.6rem;
    font-size:24px;
}

.fq-line {
    align-items: center;
    padding-right:.8rem;
}

.arrow {
    display: flex;
    width: 13px; /* 전체 화살표 크기 */
    height: 13px;
    margin-right:.5rem;
    margin-top:.5rem;
    position: relative;
}

.arrow::before,
.arrow::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 2px;
    background-color: black;
    transition: transform 0.3s ease-in-out;
}

.arrow::before {
    top: 3px;
    left: 0;
    transform: rotate(45deg);
}

.arrow::after {
    top: 3px;
    left: 6px;
    transform: rotate(-45deg);
}

.active .arrow::before {
    transform: rotate(-45deg);
}

.active .arrow::after {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background-color: #f4f5fa;
    padding:0; /* padding 초기화 */
}

.faq-answer img {
    width:100% !important;
    height:auto !important;
}

.faq-answer.open {
    max-height: 100%; /* 애니메이션을 위한 최대 높이 설정 */
}

.f-answer {
    padding:1.3rem;
}

/* paging css */
.faq-pageing {
    margin-top:3rem;
    text-align: center;
}

.faq-pageing img {
    width:8px;
    height:14px;
    margin-top:0;
    vertical-align:middle;
}

.faq-pageing > span {
    padding:0 .4em;
}

.faq-pageing a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight: 500;
    margin:0 .3rem;
    min-width:1.8rem;
    padding:.3rem .5rem;
}

.faq-pageing .pagination_link.disabled {
    cursor: default;
    pointer-events: none;
}

.faq-pageing .num {
    font-size:14px;
}

.faq-pageing .num .on {
    background-color: #6165D7;
    color:#fff;
    border-radius:5px;
    padding:.3rem .7rem;
}


/* 문의하기 */
.inq-pop {
    position:absolute;
    z-index:2;
    right:1rem;
    top:1rem;
    width:209px;
}

.inquiry-wrap {
    padding:2.5rem 0;
}

.inquiry-visual {
    position:relative;
    background-image:url('/images/main/renew/main-bg01.png') ;
    background-repeat:repeat-x;
    background-position: center;
    background-size: contain;
    opacity: 0.9; /* 원하는 투명도로 조절 */
    border-radius:40px;
    margin-bottom:2.5rem;
    overflow: hidden;
    color:#fff;
    padding:2rem;
}

.inquiry-visual::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/main/renew/main-bg02.png');
    background-repeat: no-repeat;
    background-position: -15% 28%;
    background-size:43%;
    z-index: -1;
}

.inq-h2 {
    font-family: 'Gmarketsans';
    font-size:40px;
    font-weight: 300;
    margin-bottom:.3rem;
}

.inq-stxt {
    font-size:16px;
    font-weight:400;
}

.inquiry-table {
    border-top:1px solid #232323;
}

.inq-form {
    border-bottom:1px solid #dcdcdc;
    padding:1.5rem 1rem;
    align-items: center;
}

.inq-tit {
    font-size:20px;
    font-weight: 400;
    color:#1b1b1b;
    min-width:15%;
}

.inq-tit > span {
    font-size:18px;
    color:#da1b1b;
}

.inquiry-table.en .inq-tit {
    font-size:18px;
    min-width:18%;
}

.inquiry-table.en > span {
    font-size:16px;
}

.inq-form select,
.inq-form textarea,
.inq-form .basic-in {
    border:1px solid #ddd;
    padding:1rem;
    font-size:18px;
}

.inq-form select {
    min-width:350px;
}

.inq-form textarea {
    background-color: #f7f9fc;
    width:100%;
    min-height:170px;
}

.inq-form .basic-in {
    background-color: #f7f9fc;
    min-width:350px;
}

.inq-form .basic-in::placeholder,
.inq-form textarea::placeholder {
    color:#9e9e9e;
    font-size:17px;
}

.form_checkbox {
    flex-wrap: wrap;
    font-size:18px;
    color:#1b1b1b;
    align-items: center;
}

.inquiry-table.en .form_checkbox {
    flex-wrap: nowrap;
    align-items:flex-start;
}

.inquiry-table.en .form_checkbox input {
    margin-top:.2rem;
}

.checkbox-item {
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
}

.agree-box input,
.form_checkbox input {
    width:16px;
    height:16px;
    min-width:16px;
    min-height:16px;
    border:1px solid #9f9f9f;
    margin-right:.5rem;
}

.agree-box {
    width:100%;
    border:1px solid #ddd;
    border-radius:10px;
    overflow: hidden;
}

.all_check_area {
    border-bottom:1px solid #ddd;
    background-color:#f6f6f6;
    padding:1rem 1.5rem;
}

.check_area {
    padding:1rem 1.5rem;
}

.check-p {
    font-size:16px;
    font-weight: 400;
    color:#616161;
    margin-bottom:.5rem;
    justify-content: space-between;
}

.check-p:last-child {
    margin-bottom:0;
}

.check-p label {
    cursor: pointer;
}

.terms_show a {
    display:inline-block;
    border:1px solid #ddd;
    color:#616161;
    font-size:14px;
    padding:.15rem .6rem;
    border-radius: 5px;
    margin-left:1rem;
}

.g-recaptcha {
    margin:3rem 0;
    background-color:#5655d8;
    color:#fff;
    font-size: 27px;
    padding:1.5rem 7rem;
    border-radius: 15px;
}

/* event */
.event-page {
    padding:3.5rem 0 5rem 0;
}

.event-h2 {
    font-family: 'Gmarketsans';
    font-weight: 300;
    font-size:45px;
    color:#30309a;
}

.event-list,
.event-cont {
    border-top:1px solid #232323;
}

.event-cont {
    padding:3rem;
    border-bottom:1px solid #ddd;
    text-align: center;
}

.event-cont img {
    width:auto;
    height:auto;
    max-width:100%;
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.go-list {
    text-align: right;
    margin-bottom:1rem;
}

.go-list a {
    display:inline-block;
    color:#fff;
    background-color:#5655d8;
    font-size:17px;
    padding:.6rem 1.5rem;
    border-radius: 5px;
}

.event-list {
    margin-top:2rem;
}

.event-li {
    color:inherit;
    cursor: pointer;
    padding:2rem 3rem;
    border-bottom:1px solid #ddd;
    align-items: center;
    text-decoration:none;
}

.e-li-img {
    overflow: hidden;
    border-radius: 30px;
    margin-right:2rem;
    width:40%;
}

.e-li-txt .big-t {
    font-size:27px;
    margin-bottom:.7rem;
}

.e-li-txt .small-t {
    font-size:18px;
    color:#757575;
}

.commnet-write {
    background-color:#f3f4f6;
    padding:1.5rem 2rem;
}

.comment-num {
    color:#4f4f4f;
    font-size:.9rem;
    margin-bottom:.5rem;
}

.commnet-input {
    display:flex;
    column-gap: 0.5%;
}

.commnet-input input {
    width:100%;
    border:1px solid #a2a2a2;
    border-radius: 5px;
    padding:.8rem 1rem;
    font-size:1rem;
}

.commnet-input button {
    background-color:#4F4CEB;
    color:#fff;
    padding:.8rem 1rem;
    border-radius: 5px;
    font-size:1rem;
    min-width:5rem;
}

.commnet-input input:disabled,
.commnet-input button:disabled {
    cursor:not-allowed;
    opacity:.55;
}

.comment-limit {
    margin-top:.45rem;
    color:#8b8f9b;
    font-size:.8rem;
    text-align:right;
}

.comment-message {
    margin:.8rem 0 0 0;
    color:#d14343;
    font-size:.9rem;
    font-weight:500;
}

.comment-list {
    border-bottom:1px solid #ddd;
    padding:1.5rem 2rem;
}

.cl-line1 {
    margin-bottom:.8rem;
}

.cl-line2 {
    font-size:1rem;
    color:#696969;
    font-weight:400;
}

.comm-name {
    font-size:.9rem;
}

.comm-date {
    display:inline-block;
    font-size:.8rem;
    color:#888888;
    margin-left:.7rem;
}

.comment-list img {
    width:17px;
    margin-right:.3rem;
}




/* 반응형 - 해상도 */
@media (max-width: 1400px) {
    .width-1400 {
        width:100%;
        padding:0 1rem;
    }

    .monitor {
        left: 50%;
        transform: translateX(-50%);
    }

    .floating {
        right:1%;
    }

    .rec-item03,
    .rec-item05 {
        margin-left:1rem;
    }

    .rec-item03 {
        margin-right:0;
    }

    .rec-item {
        width:360px;
        padding-left:1.5rem;
        padding-right:1.5rem;
    }

    .tab-img {
        height:290px;
    }

    .tab-txt {
        padding-top:1rem;
    }


}

@media (max-width: 1300px) {
    .width-1300 {
        width:100%;
        padding:0 1rem;
    }

    .merit-mn {
        margin-top:2rem;
    }

    .merit-wrap::before {
        background-size:60%;
    }

    .merit-mn li {
        font-size:17px;
    }

    .mer-txt .big-t {
        font-size:56px;
    }

    .mer-txt .small-t {
        font-size:14px;
    }

    .merit-slide {
        grid-template-columns: 100%;
    }

    .merit-mn {
        display:grid;
        grid-template-columns: 33.3% 33.3% 33.3%;
    }

    .merit-mn li {
        line-height:1.8;
    }

    .merit-obj {
        margin:2.5rem 1rem 4rem 1rem;
        padding-top:4rem;
        min-height:320px;
    }

    .merit-wrap.en .merit-obj {
        padding-top:2.5rem;
        min-height:350px;
    }

    .merit-obj .item {
        min-height:250px;
    }

    .mer-img {
        position:absolute;
        right:5%;
        bottom:0;
        width:25%;
        margin:0;
    }

    .mer-txt {
        text-align: left;
    }

    .mer-txt .bullet {
        position:absolute;
        top:-10px;
        left:-5px;
    }

    .tab-txt .t01 {
        font-size:22px;
    }

    .tab-txt .t02 {
        margin-bottom:1.5rem;
    }

    .main-h3.en .br {
        display:inline;
    }

    /* 서비스 소개 */
    .s-cont-right {
        margin-left:3rem;
    }

    .service-cont .s-img {
        height: 430px;
    }

    .service-cont.ja .stxt01 {
        font-size:24px;
    }

    .service-cont.ja .stxt02 {
        font-size:18px;
    }

    .service-cont.ja .stxt03 {
        font-size:14px;
    }

    .service-cont.ja .s-img {
        height:380px;
    }
}

@media (max-width: 1200px) {
    .header_logo {
        width:200px;
    }

    .gnb a {
        padding:1rem 1.2rem;
    }

    .head-bt-area a {
        padding:.6rem 1rem;
    }

    .open-globe a {
        padding:0;
    }

    /* footer - en*/
    .footer-cont.en .bar.en {
        display:none;
    }

    .footer-cont.en .br03.en {
        display:block;
    }

    /* footer - ja */
    .footer-wrap.ja .width-1400 {
        display:block;
    }

    .main-h3 {
        font-size:37px;
    }

    .mer-txt .big-t {
        font-size:53px;
    }

    .mer-img {
        width:30%;
    }

    .rec-item {
        width:320px;
    }

    .rec-item01 {
        width:340px;
    }

    .rec-txt {
        font-size:16px;
    }

    .tab-txt {
        padding-top:.5rem;
    }

    .case-tab-cont {
        grid-template-columns: 33% 63%;
    }

    .tab-img {
        height:260px;
    }

    .tab-txt .t02 {
        font-size:16px;
    }

    /* 서비스 소개 */
    .service-cont .s-img {
        height: 410px;
    }

    .add-wrap.zh .f-sel-bt {
        font-size:16px;
    }

    /* 이벤트 페이지 */
    .e-li-img {
        width:50%;
    }

    .event-cont img {
        width:100%;
    }


}

@media (max-width: 1100px) {
    .re-cont {
        display:block;
    }

    .re-cont .main-h3 {
        text-align: center;
        margin-bottom:2.5rem;
    }

    .rec-item {
        width:390px;
        padding-left:2.2rem;
        padding-right:2.2rem;
    }

    .rec-item03,
    .rec-item05 {
        margin-left:2.2rem;
    }

    .rec-item03 {
        margin-right:4.5rem;
    }

    .rec-txt {
        font-size:18px;
    }

    .case-tab-cont {
        grid-template-columns: 30% 66%;
    }

    .tab-img {
        height:260px;
    }

    .main-h3.en .br {
        display:block;
    }

    .main-h3.en .main-h3-s .br {
        display:inline;
    }

    /* 서비스 소개 */
    .service-cont .s-cont {
        padding-top:2rem;
        margin-right:1rem;
    }

    .service-cont .s-img {
        height:380px;
    }

    .service-cont .service-h3 {
        font-size:17px;
    }

    .service-cont .stxt01 {
        font-size:30px;
    }

    .service-cont .stxt02 {
        font-size:20px;
    }

    .service-cont .stxt03 {
        font-size:16px;
    }

    .service-slogan.en .slogan-b {
        font-size: 32px;
    }

    .service-slogan.en .slogan-b .br {
        display: block;
    }

    /* 요금제 안내 */
    .add-wrap {
        grid-template-columns:62% 38%;
    }

    .add-wrap.en .tab {
        font-size: 18px;
    }

    .add-cont {
        padding:2rem 2rem 1.3rem 1.5rem;
    }

    .form-in .form-tt {
        min-width:80px;
    }

    .add-wrap.en .form-in .form-tt {
        width:140px;
        flex-basis:140px;
    }

    .tip-txt {
        font-size:14px;
    }

    .result-icon {
        width:60px;
        height:60px;
        left:-8%;
    }

    .result-icon > span {
        margin-top:1.95rem;
    }

    .add-wrap.en .result-txt > div {
        font-size:28px;
    }

    .add-wrap.en .result-txt {
        font-size:16px;
    }

    /* 자주하는 질문 */
    .faq-board.en .faq-tabmn li {
        font-size: 16px;
        padding:.7rem 1.5rem
    }

    /* 문의하기 */
    .inq-tit {
        min-width:18%;
    }

}

@media (max-width: 1024px) {
    .sub-header {
        padding:1rem 0 .8rem 0;
    }

    .header_logo {
        width:190px;
    }

    .gnb a {
        font-size:17px;
    }

    .head-bt-area a {
        font-size:13px;
        padding:.4rem .6rem;
    }

    .open-globe {
        top:35px;
    }

    .open-globe a {
        padding:0;
        font-size:12px;
    }

    .floating {
        bottom:1%;
    }

    .floating ul li {
        margin-bottom:.2rem;
    }

    .floating ul li a {
        width:60px;
        height:60px;
    }

    .floating ul li a.gotop {
        width:50px;
        height:50px;
    }

    /* footer */
    .footer-wrap .width-1400 {
        display: block;
    }

    .footer-cont {
        padding-top:1.5rem;
        padding-left:.5rem;
    }

    /* footer - ja */
    .footer-wrap.ja .foot-mn {
        display: grid;
        grid-template-columns: 100%;
    }

    .footer-wrap.ja .footer-mn {
        margin-bottom:10px;
    }


    .main-wrap {
        background-size: 120px;
    }

    .main-wrap::before {
        height:760px;
    }

    .monitor {
        width: 90%; /* 화면 너비의 90% */
        max-width: 800px;
    }

    .in-monitor {
        height:460px;
    }

    .main-wrap.en {
        background-size:auto;
    }

    .main-wrap.en::before {
        height:842px;
    }

    .merit-wrap {
        padding-top:8rem;
    }

    .merit-mn {
        margin-top:1.5rem;
    }

    .merit-mn.en {
        grid-template-columns: 50% 50%;
    }

    .rec-item03 {
        margin-right:0;
    }

    .func-box {
        flex: 0 0 calc((100% - 2 * 2.5rem) / 3); /* 3개씩 보이도록 설정 */
    }

    .case-tab-cont {
        grid-template-columns: 28% 68%;
    }

    .tab-img {
        height:270px;
    }

    /* 서비스 소개 */
    .s-cont-right {
        margin-left:1.5rem;
    }

    .service-cont .s-cont {
        padding-top:1.5rem;
    }

    .service-cont .s-img,
    .service-cont.ja .s-img {
        height:320px;
    }

    .service-cont .service-h3 {
        font-size:16px;
    }

    .service-cont .stxt01 {
        font-size:28px;
    }

    .service-cont .stxt02 {
        font-size:18px;
    }

    .service-cont .stxt03 {
        font-size:15px;
    }

    .service-cont.ja .stxt01 {
        font-size:22px;
    }

    .service-cont.ja .stxt02 {
        font-size:16px;
    }

    /* 요금제 안내 */
    .add-wrap {
        grid-template-columns:65% 35%;
    }

    .form-in {
        font-size:17px;
    }

    .f-sel-bt {
        font-size:16px;
    }

    .result-txt {
        font-size:17px;
        padding-bottom:4rem;
    }

    .result-icon {
        width:55px;
        height:55px;
        top:41%;
        left:-9%;
    }

    .result-icon > span {
        margin-top:1.75rem;
    }

    .result-txt > div {
        font-size:30px;
    }

    .add-form_bt {
        font-size:17px;
        padding-left:1.6rem;
    }

    .tip-txt .br {
        display:block;
    }

    .subs-b-more {
        padding:0;
    }

     .add-wrap.zh .f-sel-bt {
        font-size:15px;
    }

    /* 자주하는 질문 */
    .faq-tabmn li {
        font-size:16px;
        padding-left:1.4rem;
        padding-right:1.4rem;
    }

    .faq-board.en .faq-tabmn li {
        padding:.7rem 1rem
    }

    /* 이벤트 페이지 */
    .event-cont,
    .event-li {
        padding:2rem 1rem;
    }

    /* 문의하기 */
    .inq-tit {
        min-width:20%;
    }

    .inq-form .basic-in,
    .inq-form .job {
        width:100%;
        min-width:auto;
    }

    .inq-form .job .basic-in {
        margin-bottom:.5rem;
    }

    .inq-form .job {
        flex-direction: column;
    }

    .form_checkbox {
        width:100%;
    }



}

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

    .sub-header {
        padding:.8rem 0;
    }

    .header_logo {
        width:230px;
    }

    #menu-toggle {
        display:block;
        position:relative;
        top: 0;
        right: 0;
        background: none;
        border: none;
        cursor: pointer;
        padding: 7px;
        z-index:10;
    }

    #menu-toggle.menu-open {
        position:fixed;
        right:1.5rem;
        top:1.2rem;
    }

    .line {
        width: 2.2rem;
        height: 3px;
        background-color: white;
        margin: 7px 0;
        transition: all 0.3s ease;
    }

    .sub-header .line {
        background-color:black;
    }

    .menu-open .line {
        background-color: white;
    }

    /* Position each line initially */
    .line.top {
        transform-origin: 43% 50%;
    }

    .line.middle {
        transform-origin: center;
    }

    .line.bottom {
        transform-origin: 43% 50%;
    }

    /* When the menu is active (hamburger to X) */
    .menu-open .line.top {
        transform:rotate(45deg) translate(7px, 9px);
    }

    .menu-open .line.middle {
        opacity: 0;
    }

    .menu-open .line.bottom {
        transform:rotate(-45deg) translate(3px, -5px);
    }

    /* 메뉴 열릴 때 */
    .mobile-head.active {
        transform: translateX(0);
        opacity: 1;
    }

    .mobile-head {
        position:fixed;
        top:0;
        left:0;
        width:100%;
        height:100vh;
        background-color:#fff;
        z-index:9;
        display: flex;
        flex-direction: column;

        /* 슬라이드 애니메이션 */
        transform: translateX(100%);
        opacity: 0;
        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    }

    .mhead-top {
        position:relative;
        padding:1.3rem;
        background-image: url('/images/main/renew/main-bg01.png');
        background-size: contain;
        background-repeat: repeat-x;
    }

    .mhead-top .lang-group {
        margin-right:4rem;
        margin-top:.6rem;
    }

    .mo-top {
        display:flex;
        justify-content: space-between;
    }

    .mobile-head .h-eng {
        display:inline-block;
        border:1px solid rgba(255,255,255,0.5);
        color:#fff;
        border-radius: 50px;
        font-size:16px;
        font-weight: 300;
        padding:.5rem 1rem;
    }

    .open-globe a {
        font-size:14px;
        color:#fff;
        padding-left:.4rem;
    }

    .open-globe,
    .lang-group.open .open-globe {
        display: block;
    }

    .open-globe a:hover {
        color:#c3c6ed;
    }

    .lang-icon {
        width:20px;
        height:20px;
    }

    .sub-header .lang-group .open-globe {
        background-color:#4e59e2;
    }

    /* footer - en */
    .footer-cont.en .foot-mn {
        flex-direction:column;
    }

    .footer-cont.en .footer-mn {
        margin-bottom:1rem;
    }

    .footer-cont.en .f-cont {
        padding-right:4rem;
    }

    .footer-wrap.ja .f-cont .br02 {
        display:block;
    }

    .m-login {
        margin-top:6rem;
        align-items: center;
    }

    .m-log-bt01 {
        position:relative;
        display:inline-block;
        color:#fff;
        font-size:1.8rem;
    }

    .m-log-bt01::after {
        position:absolute;
        top:11px;
        content: "";
        display: inline-block;
        width: 12px;
        height: 12px;
        border-top: 3px solid white;
        border-right: 3px solid white;
        border-radius: 3px;
        transform: rotate(45deg);
        margin-left: 5px;
    }

    .m-log-bt02 {
        display:inline-block;
        color:#5a4ce6;
        background-color:#fff;
        border-radius: 50px;
        font-size:1.4rem;
        padding:.6rem 1.2rem;
    }

    .m-gnb li a {
        display:block;
        font-size:2rem;
        border-bottom:1px solid #ccc;
        padding:2rem 1.4rem;
    }

    .m-free {
        padding:2rem 1.5rem;
    }

    .m-free a {
        display:inline-block;
        font-size:1.8rem;
        color:#fff;
        padding:1rem 2rem;
        border-radius: 10px;
    }

    /* 메인 이벤트 팝업 */
    .main-event {
        position:fixed;
        left: 37%;
        top: 50%;
        transform: translate(-30%, -50%);
    }

    .main-event .event {
        max-width:100%;
    }

    .event-dot {
        padding-top:.5rem;
    }

    .event-dot > span {
        width:11px;
        height:11px;
        padding-left:9px;
    }

    .tday {
        padding-top:1rem;
        font-size:18px;
    }

    .main-event .event-close {
        background-color: rgba(0, 0, 0, 0.9);
        top:-10px;
        left:-10px;
        width:50px;
        height:50px;
        padding:16px;
    }

    .black-bg {
        display:block;
        position:fixed;
        left:0;
        top:0;
        width:100%;
        height:100vh;
        background-color:rgba(0, 0, 0, 0.6);
        z-index:9;
    }

    /* 플로팅 메뉴 */
    .floating ul li a.video-link:hover::after,
    .floating ul li a.contact-link:hover::after {
        display:none;
    }

    .merit-wrap {
        padding-top:5rem;
    }

    .main-login {
        top:135px;
    }

    .main-wrap.en {
        min-height:61rem;
    }

    .slogan-area {
        padding-top:9rem;
    }

    .slogan {
        font-size:35px;
    }

    .slogan-area.en .slogan .s-sub .br {
        display:block;
    }

    .merit-wrap.en .merit-obj {
        min-height:300px;
    }

    .mer-txt.en .big-t {
        font-size:45px;
    }

    .merit-wrap.ja .mer-txt .big-t {
        font-size:40px;
    }

    .rec-item03,
    .rec-item05 {
        margin-left:1rem;
    }

    .rec-item {
        width:360px;
        padding-left:1.5rem;
        padding-right:1.5rem;
    }

    .case-tab-cont {
        grid-template-columns:22% 74%;
    }

    .tab-img {
        height:290px;
    }

    .mer-txt.en {
        margin-top:0;
    }

    /* 서비스 소개 */
    .service-slogan.ja .slogan-b {
        font-size:33px;
    }

    .service-cont {
        padding:2rem 0;
    }

    .service-cont .width-1300 {
        flex-direction: column; /* 모바일에서는 세로 배치 */
    }

    .service-cont .s-cont {
        margin-bottom:1rem;
        text-align: center;
        margin-right:0;
    }

    .service-cont.en .s-cont {
        text-align: left;
    }

    .service-cont .s-img,
    .service-cont.ja .s-img {
        height: auto;
        width: 100%;
        text-align: center;
    }

    .service-cont .s-img img {
        width: 70%;
        height: auto;
    }

    .cont-bg-g .width-1300 .s-img {
        order:2;
    }

    .cont-bg-g .width-1300 .s-cont {
        order:1;
    }

    .s-cont-right,
    .service-cont.en .s-cont-right {
        margin-left:0;
    }

    .service-cont .service-h3 {
        font-size:18px;
    }

    .service-cont .stxt01 {
        font-size:34px;
    }

    .service-cont .stxt02 {
        font-size:20px;
    }

    .service-cont .stxt03 {
        font-size:17px;
    }

    .service-cont.en .ser-06 li .tt {
        padding-left:0;
    }

    /* 요금제 안내 */
    .tab {
        font-size:18px;
    }

    .add-wrap {
        grid-template-columns:100%;
    }

    .add-cont {
        padding:2rem 2.5rem 1.3rem 2.5rem;
    }

    .add-cont::before {
        background-position: right 0;
    }

    .form-in .form-tt {
        min-width:90px;
        font-size:18px;
    }

    .add-wrap.en .form-in .form-tt {
        font-size:16px;
        width:150px;
        flex-basis:150px;
    }

    .service-slogan.en .slogan-b .br02 {
        display: inline;
    }

    .f-sel-bt {
        font-size:18px;
    }

    .add-form_bt {
        font-size:18px;
        padding-left:2rem;
    }

    .add-result {
        padding:1rem 1rem 1.5rem 1rem ;
    }

    .result-icon {
        top:-10%;
        left:45%;
    }

    .result-txt {
        padding:3rem 0 2rem 0;
        font-size:19px;
    }

    .tip-txt .br {
        display:inline;
    }

    .add-close {
        right:12px;
    }

    /* 자주하는 질문 */
    .faq-tabmn {
        display: none; /* 기본적으로 숨김 */
        flex-direction: column; /* 세로 정렬 */
        position: absolute;
        width:300px;
        background: white;
        border: 1px solid #ddd;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        z-index: 100;
    }

    .faq-tabmn li {

        border-top:0;
        margin-right:0;
        padding:.8rem 1rem;
        font-size:15px;
    }

    .faq-tabmn.show {
        display: flex; /* 열릴 때 보이도록 설정 */
    }

    .faq-toggle {
        display: block;
        width: 100%;
        min-width:300px;
        padding: .7rem 1rem;
        color: #222;
        border: 1px solid #1b1b1b;
        cursor: pointer;
        text-align: left;
        font-size:16px;
    }

    .faq-cate {
        align-items: center;
    }

    /* 이벤트 페이지 */
    .event-cont {
        padding:2rem 1rem;
    }

    .event-li {
        flex-direction: column;
    }

    .e-li-img {
        margin-right:0;
        margin-bottom:1rem;
        width:90%;
    }

    .e-li-txt {
        text-align: center;
    }

    /* 문의하기 */
    .inq-form {
        flex-direction: column;
        align-items: flex-start;
    }

    .inq-form select {
        width:100%;
        min-width:auto;
    }

    .inq-tit {
        min-width:auto;
        margin-bottom:.7rem;
    }


}


@media (max-width: 768px) {
    .foot-mn {
        flex-direction: column;
    }

    .footer-mn {
        margin-bottom:1rem;
    }

    .f-cont .br02 {
        display:block;
    }

    /* footer - ja*/

    .footer-wrap.ja .footer-mn {
        display:grid;
        grid-template-columns: 100%;
    }

    .footer-wrap.ja .footer-mn li::after {
        left:0;
    }

    .footer-wrap.ja  .footer-mn li {
        padding-left:.7rem;
        padding-right:0;
    }

    .footer-mn li:last-child::after {
        background-color:rgba(0, 0, 0, 0.3);
    }

    .main-wrap {
        background-size: 100px;
        min-height:40rem;
    }

    .main-wrap::before {
        height:630px;
    }

    .main-wrap.en {
        min-height:49rem;
        background-size:contain;
    }

    .main-wrap.en::before {
        height:760px;
    }

    .monitor {
        width: 95%; /* 화면 너비의 95% */
        max-width: 600px;
    }

    .in-monitor {
        height:340px;
    }

    .slogan {
        font-size:32px;
        font-weight:400;
    }

    .merit-wrap {
        padding-top:9rem;
    }

    .merit-mn {
        grid-template-columns: 50% 50%;
    }

    .merit-obj {
        margin-bottom:2rem;
    }

    .merit-obj .item {
        min-height:220px;
    }

    .mer-img {
        bottom:15%;
        width:25%;
    }

    .merit-wrap.ja .mer-img {
        right:0;
    }

    .merit-wrap.ja .mer-txt .big-t {
        font-size:35px;
    }

    .mer-txt .big-t,
    .mer-txt.en .big-t {
        font-size:40px;
    }

    .merit-wrap.en .mer-img {
        right:0;
    }

    .merit-wrap.en .merit-obj {
        min-height:240px;
    }

    .merit-wrap.ja {
        margin-top:3rem;
    }

    .merit-wrap.ja .main-h3 {
        font-size:30px;
    }

    .merit-wrap.ja .merit-mn li {
        font-size:15px;
    }

    .rec-left {
        display:block;
        width:100%
    }

    .rec-left .rec-item {
        margin:0 auto 1rem auto;
    }

    .rec-item {
        width:80%;
    }

    .rec-item01 {
        margin-bottom:1rem;
    }

    .func-box {
        flex: 0 0 100%; /* 1개씩 보이도록 설정 */
        background-size:22%;
        min-width:auto;
    }

    .case-tab-cont {
        grid-template-columns:100%;
    }

    .case-tab {
        padding:2rem 0;
    }

    .tab-img {
        height:200px;
        margin-bottom:1.5rem;
    }

    .tab-txt .br {
        display:inline
    }

    .cus-logo {
        margin:0 0 3rem 0;
    }

    /* 서비스 소개 */
    .service-slogan .slogan-b .br {
        display:block;
    }

    .service-slogan .slogan-b {
        font-size:38px;
        font-weight: 400;
    }

    .service-img {
        padding:7rem 0;
    }

    .service-cont .s-img img {
        width:85%;
    }

    /* 서비스 소개 - en */
    .service-cont.en .ser-06 {
        margin-top:0;
        justify-content:center;
    }

    .service-cont.en .ser-06 li {
        position:relative;
        width:auto;
        padding-right:3rem;
    }

    .service-cont.en .ser-06 li::after {
        position:absolute;
        top:35%;
        right:12%;
        content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 3px solid #5a58db;
        border-right: 3px solid #5a58db;
        border-radius: 3px;
        transform: rotate(45deg);
        margin-left: 5px;
    }

    .service-cont.en .ser-06 li:last-child {
        padding-right:0;
    }
    .service-cont.en .ser-06 li:last-child::after {
        display:none;
    }

    .service-cont.en .ser-06 li img {
        display:none;
    }

    .service-cont.en .ser-06 li .tt {
        padding:0;
        flex-direction:column;
        align-items: flex-start;
    }

    .service-cont.en .ser-06 li .tt .step {
        background-color:#5a58db;
        color:#fff;
        border-radius: 50px;
        padding:.2rem .5rem;
        font-size:12px;
        margin-bottom:.2rem;
    }

    /* 자주하는 질문 */
    .faq-visual {
        margin-bottom:3rem;
    }

    .faq-kr {
        font-weight:400;
    }

    .menual-down > a {
        font-size:18px;
    }

    .faqli-top {
        margin-bottom:0;
    }

    .faq-search {
        position:static;
        margin-bottom:.7rem;
    }

    /* 이벤트 페이지 */
    .event-h2 {
        font-weight:400;
    }

    .go-list a {
        font-size:16px;
    }

    /* 문의하기 */
    .inq-h2 {
        font-size:38px;
    }

}


@media (max-width: 650px) {
    .header_logo {
        width:200px;
    }

    .m-gnb li a {
        font-size:1.7rem;
        padding-top:1.6rem;
        padding-bottom:1.6rem;
    }

    .m-log-bt01,
    .m-free a {
        font-size:1.5rem;
    }

    .m-log-bt01::after {
        top:7px;
    }

    .m-log-bt02 {
        font-size:1.2rem;
    }

    .slogan-area.en .slogan {
        font-size:39px;
    }

    .slogan-area.en .slogan .s-sub {
        font-size:24px;
    }

    .footer-mn li a {
        padding-right:1rem;
    }

    .footer-mn li::after {
        right:5px;
    }

    .main-login {
        display:none;
    }

    .slogan-area {
        padding-top:8rem;
    }

    .slogan .br {
        display:block;
    }

    .slogan-bt a {
        font-size:17px;
        width:200px;
    }

    .merit-wrap {
        padding-top:10rem;
    }

    .merit-wrap.en {
        padding-top:7rem;
    }

    .merit-mn.en {
        grid-template-columns: 100%;
    }

    .main-h3 {
        font-size:34px;
    }

    .main-h3.en {
        font-size:32px;
    }

    .merit-wrap.ja .main-h3 {
        font-size:30px;
    }

    .func-wrap {
        padding:5rem 0 6.5rem 0;
    }

    .func-h3 {
        margin-bottom:3rem;
    }

    /* 서비스 소개 */
    .ser-06 li {
        width:32%;
    }

    .service-cont .stxt01 {
        font-size:30px;
    }

    .service-cont .stxt02 {
        font-size:19px;
    }

    .service-cont .stxt03 {
        font-size:16px;
    }

    .service-slogan.en .slogan-b {
        font-size:28px;
    }

    /* 요금제 안내 */
    .add-bt {
        margin-top:2.5rem;
    }

    .add-bt > span {
        font-size:17px;
    }

    .select-group {
        grid-template-columns:48% 48%;
    }

    .f-sel-bt {
        margin-bottom:.5rem;
    }

    .f-sel-bt.subs-t03,
    .f-sel-bt.subs-t04 {
        margin-bottom:0;
    }

    .add-input,
    .add-form_bt {
        width:180px;
    }

    /* 자주하는 질문 */
    .faqli-top {
        flex-direction: column;
        margin-bottom:.7rem;
    }

    .faq-se {
        order: 2; /* 아래로 이동 */
    }

    .faq-search {
        order: 1; /* 위로 이동 */
        margin-bottom:1rem;
        width:100%;
    }

    .faq-search input {
        width:90%;
    }

    .faq-tabmn {
        width:100%;
    }

    /* 문의하기 */
    .inquiry-table.en .checkbox-item {
        font-size:16px;
    }

}

@media (max-width: 600px) {
    /* footer */
    .footer-mn {
        display:grid;
        grid-template-columns: 50% 50%;
    }

    .footer-mn li {
        padding-left:.7rem;
        padding-right:0;
    }

    .footer-mn li::after {
        left:0;
    }

    .footer-wrap.ja .f-cont .br03 {
        display:block;
    }

    .footer-wrap.ja .f-cont .bar {
        display: none;
    }

    .footer-mn li:last-child::after {
        background-color:rgba(0, 0, 0, 0.3);
    }

    .mer-txt .big-t, .mer-txt.en .big-t {
        font-size:35px;
    }

    /* 서비스 소개 */
    .service-slogan.en .slogan-b .br {
        display:inline;
    }

}

@media (max-width: 550px) {

    .floating ul li a {
        width:55px;
        height:55px;
    }

    .floating ul li a.video-link,
    .floating ul li a.contact-link {
        background-size:45%;
    }

    .floating ul li a.contact-link {
        background-position: center 46%;
    }

    .floating ul li a.gotop {
        width:45px;
        height:45px;
        font-size:11px;
        padding-top:1.4rem;
    }

    /* footer */
    .f-cont {
        padding-right:2.5rem;
    }

    .slogan {
        font-size:30px;
    }

    .monitor {
        width: 90%; /* 화면 너비의 98% */
        max-width: 100%;
        border-radius: 30px; /* 작은 화면에서는 둥근 정도 줄이기 */
        padding:.6rem;
    }

    .in-monitor {
        height:280px;
        border-radius: 20px;
    }

    .main-wrap.en {
        min-height:43rem;
    }

    .main-wrap.en::before {
        height:630px;
    }

    .slogan-area.en .slogan {
        font-size:34px;
    }

    .slogan-area.en .slogan .s-sub {
        font-size:22px;
    }

    .merit-mn {
        grid-template-columns: 50% 50%;
    }

    .main-h3,
    .func-h3 {
        font-size:30px;
    }

    .merit-wrap {
        padding-top:6rem;
    }

    .mer-img {
        bottom:10%;
    }

    .rec-item {
        width:95%;
        padding-top:1.5rem;
        padding-bottom:1.5rem;
    }

    .case-tab {
        font-size:18px;
        overflow: auto;
    }

    .case-tab li {
        padding:0 .5rem;
        white-space: nowrap;
    }

    /* 서비스 소개 */
    .service-slogan .slogan-b {
        font-size:37px;
    }

    .service-slogan.ja .slogan-b {
        font-size:30px;
    }

    .service-slogan .br {
        display:block;
    }

    .ser-06 {
        margin-top:0;
        justify-content:center;
    }

    .ser-06 li {
        position:relative;
        width:auto;
        padding-right:1.3rem;
    }

    .ser-06 li::after {
        position:absolute;
        top:5px;
        right:7px;
        content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 3px solid #5a58db;
        border-right: 3px solid #5a58db;
        border-radius: 3px;
        transform: rotate(45deg);
        margin-left: 5px;
    }

    .ser-06 li:last-child {
        padding-right:0;
    }
    .ser-06 li:last-child::after {
        display:none;
    }

    .ser-06 li img {
        display:none;
    }

    .ser-06 li .tt {
        padding:0;
    }

    .ser-06 li .tt .step {
        background-color:#5a58db;
        color:#fff;
        border-radius: 50px;
        padding:.2rem .5rem;
        font-size:12px;
    }

    .service-cont .stxt01 {
        font-size:28px;
    }

    .service-cont .stxt02 {
        font-size:18px;
    }

    /* 서비스 소개 - en */
    .service-cont.en .ser-06 li {
        padding-right:1.8rem;
    }

    .service-cont.en .ser-06 li::after {
        right:6%;
    }

    /* 요금제 안내 */
    .tab {
        width:50%;
        min-width:auto;
    }

    .add-input,
    .add-form_bt {
        width:150px;
    }

    .subs-b-more {
        font-size: 15px;
    }

    /* 자주하는 질문 */
    .menual-down {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .menual-down > a {
        width:80%;
        box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2)  ;
        -webkit-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2)  ;
        -moz-box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2)  ;
    }

    .menual-01 {
        background-color:rgba(48,0,147, 0.4);
        margin-bottom:.4rem;
    }

    .menual-02 {
        margin:0;
        background-color:rgba(20,12,151, 0.7);
    }

    /* 이벤트 페이지 */
    .event-cont {
        padding:1rem;
    }

    .event-li {
        padding:1.5rem 1rem;
    }

    .e-li-img {
        width:100%;
    }

    .e-li-txt .big-t {
        font-size:24px;
        margin-bottom:.4rem;
    }

    .e-li-txt .small-t {
        font-size:16px;
    }

    /* 문의하기 */
    .inquiry-visual {
        border-radius: 25px;
    }

}

@media (max-width: 500px) {
    .main-h3,
    .func-h3 {
        font-size:28px;
    }

    .func-h3.en {
        font-size:30px;
    }

    .slogan-bt.ja {
        text-align: center;
    }
    .slogan-bt.ja a {
        display: inline-block;
        width:90%;
    }

    .slogan-bt.ja a.gradation {
        margin-left:0;
        margin-top:.5rem;
    }

    .merit-wrap.ja {
        margin-top:5rem;
    }

    .merit-wrap.ja .main-h3 {
        font-size:26px;
    }

}

@media (max-width: 480px) {
    .mobile-head .h-eng a {
        font-size:16px;
    }

    .tday {
        font-size:16px;
    }

    .footer_logo {
        width:170px;
    }

    .f-cont .br03 {
        display:block;
    }

    .f-cont .bar {
        display:none;
    }

    .footer-cont {
        padding-top:1rem;
    }

    .main-event .event-close {
        width:45px;
        height:45px;
        padding:14px;
    }

    .main-wrap {
        background-size: 90px;
        min-height:36rem;
    }

    .main-wrap::before {
        height:600px;
    }

    .slogan {
        font-size:27px;
    }

    .slogan-area.en {
        padding-top:9rem;
    }

    .slogan-area.en .slogan {
        font-size:30px;
    }

    .slogan-area.en .slogan .s-sub {
        font-size:20px;
    }

    .slogan-bt a {
        font-size:16px;
        width:170px;
    }

    .slogan-bt a.gradation {
        margin-left:.2rem;
    }

    .slogan-area.en .slogan-bt a {
        width:80%;
    }

    .slogan-area.en .slogan-bt a.gradation {
        margin-top:.5rem;
        margin-left:0;
    }

    .in-monitor {
        height:240px;
    }

    .main-h3 .s-br {
        display:block;
    }

    .main-h3.en {
        font-size:28px;
    }

    .merit-obj {
        margin:1rem .5rem;
    }

    .mer-txt .big-t {
        font-size:35px;
    }

    .merit-wrap.ja .mer-txt .big-t {
        font-size:23px;
    }

    .merit-wrap.ja .mer-img {
        bottom:0;
    }

    .rec-txt {
        font-size:16px;
    }

    .recom-wrap.ja .rec-txt {
        font-size:15px;
    }

    .merit-mn li {
        font-size:15px;
    }

    .merit-wrap.en .mer-img {
        right:0;
        width:25%;
    }

    .merit-wrap.en .merit-obj {
        padding-top:3rem;
    }

    .mer-txt .big-t, .mer-txt.en .big-t {
        font-size:32px;
    }

    .func-h3.en .br {
        display:block;
    }

    /* 서비스 소개 */
    .ser-06 li {
        margin-right:1.2rem;
    }

    .ser-06 li:last-child {
        margin-right:0;
    }

    .ser-06 li .tt {
        flex-direction: column; /* 수직 방향(세로) 정렬 */
        align-items: flex-start; /* 왼쪽 정렬 (필요시 center로 변경 가능) */
    }

    .ser-06 li .tt .step {
        margin-bottom:.2rem;
    }

    .ser-06 li::after {
        right:3px;
    }

    .service-cont .s-cont {
        text-align: left;
    }

    .service-cont .stxt01 .br {
        display:block;
    }

    .s-cont .br {
        display:inline;
    }

    /* 서비스 소개 - en */
    .service-cont.en .ser-06 li::after {
        right:0;
    }

    .service-cont.en .ser-06 li .tt {
        align-items: center;
        text-align: center;
    }

    .add-wrap.en .result-txt {
        font-size:14px;
    }

    /* 요금제 안내 */
    .add-wrap {
        margin-bottom:2.5rem;
    }

    .add-cont {
        padding:1.5rem 2rem 1.3rem 1.5rem;
    }

    .form-in .form-tt {
        font-size:16px;
        min-width:70px;
    }

    .f-sel-bt,
    .result-txt {
        font-size:16px;
    }

    .add-input,
    .add-form_bt {
        width:140px;
    }

    .add-form_bt {
        font-size:17px;
    }

    .add-bt > span {
        font-size:16px;
        padding:.8rem 1.2rem .8rem 3rem;
    }

    .result-icon {
        width:50px;
        height:50px;
    }

    .result-icon > span {
        margin-top:1.65rem;
    }

    .result-icon > span,
    .result-icon > span::before {
        width:25px;
        height:5px;
    }

    /* 이벤트 페이지 */
    .event-h2 {
        font-size:40px;
    }

    .e-li-txt .big-t {
        font-size:20px;
    }

    .e-li-txt .small-t {
        font-size:14px;
    }

    /* 문의하기 */
    .inq-stxt .br {
        display:block;
    }

    .all_check_area,
    .check_area {
        padding:1rem;
    }

    .terms_show a {
        margin-left:.2rem;
    }

    .g-recaptcha {
        font-size:25px;
    }

}

@media (max-width: 430px) {

    #menu-toggle.menu-open {
        right:.2rem;
        top:1rem;
    }

    .mhead-top .lang-group {
        margin-right:2rem;
        margin-top:.4rem;
    }

    .mobile-head .h-eng {
        font-size:14px;
        padding:.5rem .7rem;
        width:75px;
    }

    .lang-icon {
        width:18px;
        height:18px;
    }

    .m-login {
        margin-top:3rem;
    }

    .m-log-bt01 {
        font-size:1.3rem;
    }

    .m-log-bt01::after {
        width:10px;
        height:10px;
        top:5px;
    }

    .m-log-bt02 {
        font-size:1rem;
    }

    .m-gnb li a {
        font-size:1.5rem;
    }

    .m-free a {
        font-size:1.3rem;
    }


    .main-h3 {
        font-size:25px;
    }

    .main-h3-s {
        font-size:16px;
    }

    .merit-mn {
        grid-template-columns: 100%;
    }

    .merit-mn li {
        font-size:15px;
    }

    .mer-txt .big-t {
        font-size:33px;
    }

    .recom-wrap {
        padding:4rem 0;
    }

    .logo-item img {
        height:50px;
    }

    .slogan-area.en .slogan {
        font-size:27px;
    }

    .slogan-area.en .slogan .s-sub {
        font-size:18px;
    }

    .func-wrap.ja .func-box {
        padding-left:2rem;
        padding-right:2rem;
    }

    .func-wrap.ja .func-txt {
        font-size:15px;
    }

    /* 서비스 소개 */
    .service-slogan .slogan-b {
        font-size:34px;
    }

    /* 요금제 안내 */
    .add-input,
    .add-form_bt {
        width:120px;
    }

    /* 문의하기 */
    .inq-h2 {
        font-size:35px;
        margin-bottom:.5rem;
    }

    .inq-stxt {
        font-size:14px;
    }

    .check-p {
        flex-direction: column;
        align-items: flex-start;
    }

    .terms_show {
        margin-top:.5rem;
        margin-left:1.3rem;
    }
}

@media (max-width: 420px) {

    .main-wrap {
        background-size: 83px;
        min-height:33rem;
    }

    .main-wrap::before {
        height:525px;
    }

    .main-wrap.en {
        min-height:40rem;
    }

    .header_logo {
        width:180px;
    }

    .slogan {
        font-size:24px;
    }

    .slogan-bt a {
        width:150px;
    }

    .in-monitor {
        height:220px;
    }

    .main-h3.en {
        font-size:24px;
    }

    .main-h3.en .main-h3-s {
        font-size:14px;
    }

    .merit-obj {
        padding-top:3rem;
    }

    .mer-txt .big-t, .mer-txt.en .big-t {
        font-size:30px;
    }

    .rec-item {
        width:100%;
    }

    .tab-img {
        height:180px;
        margin-bottom:1rem;
    }

    .tab-txt .t01 {
        font-size:20px;
    }

    .case-tab li {
        padding:0 .3rem;
    }

    /* 요금제 안내 */
    .tip-txt .br {
        display:block;
    }

    .add-wrap.en .select-group {
        width:100%;
        grid-template-columns: 100%;
    }

    .add-wrap.en .f-sel-bt.subs-t03 {
        margin-bottom:.5rem;
    }

    .add-wrap.en .form-in .form-tt {
        font-size:14px;
        width:110px;
        flex-basis:110px;
    }

    .add-wrap.en .form-in .form-tt {
        min-width:100px;
    }

    .add-wrap.en .form-in .form-ss {
        font-size:14px;
    }

    .add-wrap.en .add-input {
        width:100px;
    }

}

@media (max-width: 400px) {
    /* footer */
    .footer-mn {
        grid-template-columns: 100%;
    }


    .service-slogan .slogan-b {
        font-size:31px;
    }

    .service-slogan {
        font-size:17px;
    }

    .func-box.en .func-txt .br {
        display:inline;
    }

    .func-box.en .detail-bt {
        position:absolute;
        left:9%;
        bottom:12%;
    }

    /* 서비스 소개 */
    .service-slogan.en .slogan-b {
        font-size:25px;
    }

    .service-cont .s-img img {
        width:95%;
    }

    .service-cont .stxt01 {
        font-size:25px;
    }

    .service-cont .stxt02 {
        font-size:17px;
    }

    /* 자주하는 질문 */
    .faq-search input {
        width:88%;
    }

    /* 이벤트 페이지 */
    .e-li-txt .big-t {
        font-size:18px;
    }

    .e-li-txt .small-t {
        font-size:13px;
    }

    /* 문의하기 */
    .g-recaptcha {
        font-size:20px;
    }
}

@media (max-width: 360px) {

    .main-wrap {
        background-size: 80px;
    }

    .main-wrap::before {
        height:506px;
    }

    .slogan {
        font-size:22px;
    }

    .slogan-bt a {
        width:140px;
    }

    .monitor {
        border-radius: 30px;
    }

    .in-monitor {
        height:200px;
        border-radius: 20px;
    }

    .main-h3 {
        font-size:24px;
    }

    /* 서비스 소개 */
    .service-slogan.en .slogan-b {
        font-size:23px;
    }

     .add-wrap.zh .f-sel-bt {
        font-size:14px;
    }

    /* 문의하기 */
    .inq-h2 {
        font-size:32px;
    }

    .inq-stxt {
        font-size:13px;
    }

}
