@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* ✅ 전체 */	
html{scroll-behavior: smooth;}
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Pretendard';
    letter-spacing: -0.8px;
}
ul,li,ol {list-style: none;}
a {text-decoration: none;}
.macbook-wrapper {
    position: relative;
    width: 100vw;
    aspect-ratio: 16 / 10;
}
.macbook-frame {
    top:-15%;
    position: absolute;
    width: 100%;
    object-fit: contain;
    z-index: 2;
    pointer-events: none;
}
.container {
    max-width: 1440px;
    margin: 0 auto;
}
.wrap-box {
    max-width: 1440px;
    margin: 0 auto;
    background-color: #fff;
    display: flex;
    gap: 100px;
    padding: 2rem;
    border-radius: 1.5rem;
    box-shadow: 0px 0px 10px 2px rgba(202,226,255,0.5);
}
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.title {
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}
.title-box {
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 700;
}
.title-box .blue, .title .blue {font-weight: 700;}

.sub-title {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 600;
}
.blue {color: #2495FF;}
button {
	border: none;
    background: transparent;
	cursor: pointer;
}
.mobile-on {display:none;}

/* main */
.main {
    max-width: 100%;
    height: 1024px;
    background: url(../image/main.jpg) no-repeat;
    color: #fff;
    display: flex;
    align-items: center;

}
.main-text {
    text-align: center;
    font-family: 'Pretendard';
    font-size: 4.5rem;
    margin-bottom: 6.25rem;
}
.main-text div {font-weight: 900 !important;}
.point {
    background: linear-gradient(90deg, #12ACDF, #1BCDC0);
    -webkit-background-clip: text; /* 크롬, 사파리 */
    -webkit-text-fill-color: transparent; /* 텍스트 투명처리 */
    background-clip: text; /* 파이어폭스 최신 지원 */
    color: transparent; /* fallback */
	font-weight: 900 !important;
}
.main-sub {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 4rem;
    margin-top: 2.2rem;
}
.counting-box {
    display: flex;
    font-size: 2rem;
    justify-content: space-around;
}
.counting {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.8rem;
}
.counting-number {
    font-size: 3rem;
    font-weight: 700;
}
.button {
    width: fit-content;
    font-size: 2.25rem;
    font-weight: 600;
    text-align: center;
    background: linear-gradient(90deg, #12ACDF, #1BCDC0);
    border-radius: 0.5rem;
    margin: 0 auto;
    margin-top: 4.3rem;
    cursor: pointer;
    animation: glow 2s ease-in-out infinite;
}
.button_move {
	color:inherit; 
	display:block; 
	padding: 20px 15px;
}
@keyframes glow {
    0%, 100% {
        filter: brightness(0.8);
    }
    50% {
        filter: brightness(1); /* 밝아졌다가 다시 돌아감 */
    }
}
.button:hover {
    filter: brightness(1);
    animation: paused;
}

/* fixed-db */
.fixed-db {
    width: 100vw;
    background: linear-gradient(90deg, #12ACDF, #1BCDC0);
    padding: 2.8rem 0;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 100;
}
.fixed-db .container {max-width: 100%;}
.text {
    display: flex;
    gap: 10px;
    align-items: center;
    color: #fff;
    margin-bottom: 1rem;
}
.text li:nth-child(1) {
    font-size: 1.25rem;
    font-weight: 500;
}
.text li:nth-child(2) {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.5rem;
}
.text li:nth-child(3) {
    font-size: 1.6rem;
    font-weight: 700;
     display: inline-block; /* 배경이 텍스트 영역에만 적용되도록 */
    background: white; /* 흰색 배경 */
    padding: 2px 10px; 
    border-radius: 5rem;
}
.text li:nth-child(3) span {
    background: linear-gradient(90deg, #12ACDF, #1BCDC0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.form {
    display: flex;
    gap: 15px;
}
input[type="text"], input[type="tel"] {
    padding: 10px;
    width: 20rem;
    border: none;
    border-radius: 4px;
    font-size: 0.8rem;
    font-family: 'Pretendard';
}
.checkbox-wrap {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #fff;
    font-family: 'Pretendard';
    gap: 5px;
}
.checkbox-wrap input {
    margin-right: 5px;
}
.checkbox-wrap a {
    color: #fff;
    margin-left: 5px;
    font-size: 12px;
    font-family: 'Pretendard';
}
.checkbox-wrap input[type="checkbox"] {
    appearance: none;
    /* 기본 체크박스 제거 */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 14px;
    height: 14px;
    border: 1px solid #fff;
    /* 흰색 테두리 */
    border-radius: 2px;
    background: transparent;
    /* 내부 투명 */
    cursor: pointer;
    position: relative;
}
/* 체크된 상태 */
.checkbox-wrap input[type="checkbox"]:checked {
    background: transparent;
    /* 배경 투명 유지 */
}
/* 체크 표시 (가짜 체크마크) */
.checkbox-wrap input[type="checkbox"]:checked::after {
    content: "✔";
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
}
.form .consulting {
    background: #000;
    color: #fff;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 8px;
    padding: 2px 18px;
    cursor: pointer;
    transition: 0.2s;
}
.form .consulting:hover {
    background: #fff;
    color: #000;
}

/* clients */
.clients {
    background-color: #F4F9FF;
    padding: 120px 0;
}
.clients .title-box div {
    margin-top: 1rem;
    text-align: center;
}
.clients .title-box {margin-bottom: 4.4rem;}
.clients ul .logo {width: 300px;}
.auto-slide {
    overflow: hidden; /* 바깥 영역 가리기 */
    white-space: nowrap;
}
.slide-track {
    display: flex;
    width: calc(300px * 22); /* 로고 11개 * 2 */
    animation: scroll 40s linear infinite; /* 40초 동안 왼쪽으로 무한 이동 */
}
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-300px * 11)); /* 원래 슬라이드 한 세트 길이만큼 이동 */
    }
}

/* portfolio */
.portfolio, .review {background-color: #F4F9FF;}
.portfolio .wrap-box {padding: 2rem 2rem 4rem 2rem;}
.graph {position: relative;}
.graph-wrap , .graph-wrap2 {
    display: flex;
}
.graph-wrap {
    z-index: 2; /* 처음에 보이도록 위쪽 */
    opacity: 1;
    animation: toggle 10s infinite;
    animation-delay: 0s;
}
.graph-wrap2 {
    position: absolute;
    bottom: 0;
    z-index: 1; /* 아래에 깔림 */
    opacity: 0;
    animation: toggle 10s infinite;
    animation-delay: 5s; /* 5초 뒤 나타나도록 */
}
.card-title {
    margin-bottom:1rem;
    background-color: #fff;
}
.card1, .card2, .card3, .card4, .card5, .card6 {text-align: center;}
.card1, .card4 {padding-right: 4rem;}
.card2, .card5 {
    padding-top: 4rem;
    padding-right: 3rem;
}
.card-con {position: relative;}
.card-con img {width: 225px;}
.circle {
    width: 120px;
    height: 120px;
    font-weight: 700;
    font-size: 1.25rem;
    display: flex;
    flex-direction: column;
    background-color: #008CFF;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -45px;
    right: -45px;
    color: #fff;
}
.card2 .circle {background-color: #02BAFF;}
.card3 .circle {background-color: #011087;}
.card4 .circle {background-color: #1B9A91;}
.card5 .circle {background-color: #277F4F;}
.card6 .circle {background-color: #01B995;}
.footer img{width: 100%}

@keyframes toggle {
    0%, 45% { opacity: 1; }      /* 보이는 시간 */
    55%, 90% { opacity: 0; }     /* 안보이는 시간 */
    100% { opacity: 1; }          /* 반복을 위해 마무리 */
}

/* review */
.review {padding: 120px 0;}
.auto-review {
    display: flex;
    gap: 1.5rem;
}
.review-card {
    text-align: center;
    width: 280px;
    background-color: #e6f1ff;
    padding: 2rem 1rem;
    border-radius: 10px;
}
.profile img {padding-bottom: 0.5rem;}
.star {
    display: flex;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.5rem 0 1rem 0;
}
.star img {width: 1rem;}
.content-box {
    text-align: start;
    letter-spacing: 0px !important;
}

/* partner */
.partner .title {
    text-align: center;
    padding: 100px 0 70px 0;
}
.partner-logo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
.top-card {
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 5rem;
    align-items: center;
    margin: 70px 0;
}
.ad-box {
    background-color: #fff;
    padding: 1.25rem 2rem;
    border-radius: 1rem;
    box-shadow: 0px 0px 10px 2px rgba(202,226,255,0.5);
}
.sub li:last-child {
    font-size: 1.25rem;
    font-weight: 600;
    padding-top: 5px;
}
.refusal .title {
    text-align: center;
    padding: 100px 0 70px 0;
}
.refusal-con {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 120px;
}
.refusal-con img {width: 200px;}
.list {
    font-size: 1.25rem;
    line-height: 2.5rem;
}
.list li {font-weight: 600 !important;}
.list li .blue {font-weight: 600 !important;}

/* process */
.process {
    text-align: center;
    background: linear-gradient(180deg, #fff, #F4F9FF);
}
.process .title {padding: 150px 0 10px 0;}
.process-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    padding: 70px 0 120px 0;
}
.process-con img {
    width: 100px;
    padding-bottom: 1rem;
}
.arrow {
    color: #C5DEFF;
    font-size: 1.25rem;
}
.process-con {font-weight: 600;}
.sub-title strong {font-weight:800;}

/* system */
.system {
    padding-bottom: 150px;
    background-color: #F4F9FF;
}
.system-card {
    display: flex;
    gap: 2rem;
}
.system-card li {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.system1, .system2, .system3, .system4 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    width: 450px;
    height: 180px;
    border-radius: 10px;
    box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.1);
}
.system img {width: 120px;}
.system-text {
    font-size: 1.25rem;
    font-weight: 700;
}
.system-text small {
    padding-top: 10px;
    font-weight: 400;
    font-size: 1rem;
}

/* db */
.db {background-color: #F4F9FF;}
.db .container {
    padding: 2rem 0;
    border-radius: 1.5rem;
    box-shadow: 0px 0px 10px 2px rgba(202,226,255,0.5);
    background-color: #fff;
}
.db .container .title {padding-bottom: 70px;}
.db-check-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
}
.db .form-group label {
    font-size: 1.25rem;
    font-weight: 600;
    display: block;
    margin-bottom: 10px;
}
.db input[type="text"], textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #d0d7e2;
    border-radius: 8px;
    font-size: 1rem;
    background: #D9EAFF;
}
.db input[name="company"],
.db input[name="phone"] {width: 60%;}
.db-left, .db-right {
    display: flex;
    flex-direction: column;
    height: 340px;
    justify-content: space-around;
}
.db textarea {min-height: 120px;}
.db .checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    width: 600px;
}
.db .checkbox-group label {
    display: flex;
    width: 180px;
    gap: 5px;
    font-size: 1rem;
    cursor: pointer;
    font-weight: 400;
}
.db .form-group.agree {
    font-size: 1rem !important;
    padding: 1.5rem 0;
}
.db .form-group.agree a {
    font-size: 14px;
    color: #000;
}
.db .btn-submit {
    padding: 1rem 2rem ;
    background: #2b73f8;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.db .btn-submit:hover {background: #1a5ce0;}
.db .agree,
.db .submit-btn {text-align: center;}

/* qna */
.qna {
    padding: 120px 0 150px 0;
    background-color: #F4F9FF;
}
.slide {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex: 1;
    height: 400px;       /* 보이는 영역 높이 */
    overflow: hidden;    /* 넘치는 li 숨김 */
    position: relative;
}
.qnatrack {
    /* 애니메이션 적용 */
    animation: scrollUp 40s linear infinite;
    animation-play-state: running; 
}
.qnatrack:hover {
    animation-play-state: paused; 
}
.qnatrack li {padding: 1rem 0;}
.q {
    font-size: 1.5rem;
    font-weight: 700;
}
.a {
    font-size: 1.15rem;
    margin-left: 1rem;
    margin-top: 10px;
}
@keyframes scrollUp {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%); /* li 전체 높이의 절반 정도 */
    }
}
/* 모달 기본 숨김 */
.modal {
    display: none;
    align-items: center; /* 세로 중앙 */
    justify-content: center; /* 가로 중앙 */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0,0,0,0.5);
}
.modal .title {
    font-size: 1.25rem;
    text-align: start;
}
.modal-div {margin: 1rem 0;}

/* 모달 다이얼로그 (중앙정렬) */
.modal-dialog {
    position: fixed;
    max-width: 600px;
    width: 90%;
	max-height: 90%;
    top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);
}

/* 모달 컨텐츠 */
.modal-content {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    animation: fadeIn 0.3s ease;
	max-height : 90vh;
	}

/* 헤더 */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    margin-bottom: 15px;
}

/* 닫기 버튼 */
.modal-header .close {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
}

모달 애니메이션
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 반응형 1400px */
@media  (max-width:1400px){
    .container {
        max-width: 1024px;
        margin: 0 auto;
    }
    .title {font-size: 2rem;}
    .wrap-box {
        flex-direction: column;
        max-width: 1000px;
        gap: 50px;
    }

    /* main */
    .main-text {
        font-size: 3.5rem;
        margin-bottom: 5rem;
    }
    .main-sub {
        font-size: 2.2rem;
        line-height: normal;
        margin-top: 4rem;
    }
    .counting-box {font-size: 1.5rem;}
    .counting {gap: 1rem;}
    .counting-number {font-size: 2.5rem;}
    .button {font-size: 1.75rem;}

    /* fixed-db */
    .fixed-db {padding: 2rem 0;}
    input[type="text"], input[type="tel"] {width: 16rem;}
    .form button {padding: 2px 16px;}

    /* clients */
    .clients {padding: 100px 0;}
    .clients .title-box {margin-bottom: 3rem;}
    .clients ul .logo {width: 250px;}
    .clients ul .logo img {width: 250px;}
    .slide-track {width: calc(250px * 22); /* 로고 11개 * 2 */}

    /* portfolio */
    .portfolio .wrap-box {padding: 2rem 2rem 4rem 2rem;}
    .graph-wrap , .graph-wrap2 {
		justify-content: center;
		animation: toggle 5s infinite;
	}
    .graph-wrap2 {width: 100%;}
    .card-con img {width: 200px;}
    .circle {
        width: 100px;
        height: 100px;
        font-size: 1.05rem;
    }
    /* review */
    .review {padding: 100px 0;}
    .auto-review {
        gap: 1rem;
        justify-content: center;
    }
    .profile img {padding-bottom: 0.5rem;}
    .star {padding: 0.5rem 0 1rem 0;}

    /* partner */
    .partner-logo {padding: 0 1.5rem;}
    .partner-logo img {height: 25px;}
    .top-card {
        text-align: center;
        display: flex;
        justify-content: center;
        gap: 5rem;
        align-items: center;
        margin: 70px 0;
    }
    .ad-box {padding: 1rem 1.5rem;}
    .ad-box img {width: 120px;}
    .sub {padding-top: 1rem;}
    .refusal-con {gap: 70px;}
    .refusal-con img {width: 160px;}

    /* process */
    .process {
        text-align: center;
        background: linear-gradient(180deg, #fff, #F4F9FF);
    }
    .process .title {padding: 120px 0 10px 0;}
    .process-wrap {
        gap: 2.5rem;
        padding: 70px 0 100px 0;
    }
    .process-con img {width: 80px;}

    /* system */
    .system {padding-bottom: 100px;}
    .system-card {justify-content: center;}
    .system1, .system2, .system3, .system4 {
        gap: 2.5rem;
        width: 400px;
        height: 150px;
    }
    .system img {width: 90px;}
    .system-text {
        font-size: 1.25rem;
        font-weight: 700;
    }
    /* db */
    .db .container {max-width: 1000PX;}
    .db .container .title {padding-bottom: 50px;}
    .db .consulting-form {
        flex-direction: column;
        gap: 25px;
    }
    .db input[name="company"],
    .db input[name="phone"] {width: 100%;}
    .db-left, .db-right {
        display: flex;
        gap: 25px;
        flex-direction: column;
        height: auto;
    }
	.db-check-wrap {
	    flex-direction: column;
		gap:25px;
}
    .db .checkbox-group {justify-content: space-between;}
    .db .form-group label {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    .db .btn-submit {padding: 0.8rem 1.2rem ;}

    /* qna */
    .qna {padding: 100px 0 120px 0;}
    .qna .wrap-box {height: 550px;}
    .slide {height: 550px;}
    .qnatrack li {padding: 1rem;}
    .q {font-size: 1.25rem;}
    .a {
        font-size: 1rem;
        margin-left: 1.25rem;
    }
}

/* 반응형 1025 */
@media (max-width: 1025px) {
    .container {
        max-width: 768px;
        margin: 0 auto;
    }
    .title {font-size: 2rem;}
    .wrap-box {max-width: 768px;}

    /* main */
    .main-text {
        font-size: 3.5rem;
        margin-bottom: 5rem;
    }
    .main-sub {
        font-size: 2.2rem;
        line-height: normal;
        margin-top: 4rem;
    }
    .counting-box {font-size: 1.5rem;}
    .counting {gap: 1rem;}
    .counting-number {font-size: 2.5rem;}
    .button {font-size: 1.75rem;}

    /* fixed-db */
    .fixed-db {padding: 1rem 0;}
    .fixed-db .text {
        flex-direction: column;
        gap: 5px;
        align-items: start;
    }
    .fixed-db .container {
        display: flex;
        gap: 5rem;
    }
    .fixed-db .form {flex-direction: column;}
    .text li:nth-child(1) {font-size: 1rem;}
    .text li:nth-child(2) {font-size: 1.25rem;}
    .text li:nth-child(3) {font-size: 1.25rem;}
    input[type="text"], input[type="tel"] {width: 100%;}
    .form button {
        padding: 0.5rem 0;
    }

    /* clients */
    .clients {padding: 100px 0;}
    .clients .title-box {margin-bottom: 3rem;}
    .clients ul .logo {width: 200px;}
    .clients ul .logo img {width: 200px;}
    .slide-track {width: calc(200px * 22); /* 로고 11개 * 2 */}

    /* portfolio */
    .card-con img {width: 170px;}
    .circle {font-size: 1rem;}

    /* review */
    .review {padding: 100px 0;}

    /* partner */
    .partner-logo {padding: 0;}
    .partner-logo img {height: 18px;}
    .top-card {
        gap: 2.5rem;
        margin: 50px 0;
    }
    .ad-box {padding: 1.5rem;}
    .ad-box img {width: 100px;}
    .sub {padding-top: 1rem;}
    .refusal-con {gap: 70px;}
    .refusal-con img {width: 160px;}

    /* process */
    .process {
        text-align: center;
        background: linear-gradient(180deg, #fff, #F4F9FF);
    }
    .process .title {padding: 120px 0 10px 0;}
    .process-wrap {
        gap: 1.8rem;
        padding: 70px 0 100px 0;
    }
    .process-con img {width: 80px;}

    /* system */
    .system {padding-bottom: 100px;}
    .system-card {justify-content: center;}
    .system1, .system2, .system3, .system4 {
        flex-direction: column;
        gap: 2.5rem;
        text-align: center;
        width: 300px;
        height: 250px;
    }
    .system img {width: 90px;}
    .system-text {
        font-size: 1.25rem;
        font-weight: 700;
    }
    /* db */
    .db .container {max-width: 768px;}
    .db .container .title {padding-bottom: 50px;}
    .db .consulting-form {
        flex-direction: column;
        gap: 25px;
    }
    .db input[name="company"],
    .db input[name="phone"] {width: 100%;}
    .db-left, .db-right {
        display: flex;
        gap: 25px;
        flex-direction: column;
        height: auto;
    }
    .db .checkbox-group {justify-content: space-between;}
    .db .form-group label {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    .db .btn-submit {padding: 0.8rem 1.2rem ;}

    /* qna */
    .qna {padding: 100px 0 120px 0;}
    .qna .wrap-box {height: 550px;}
    .slide {height: 550px;}
    .qnatrack li {padding: 1rem;}
    .q {font-size: 1.25rem;}
    .a {
        font-size: 1rem;
        margin-left: 1.25rem;
    }
	/* 모달 기본 숨김 */
	.modal .title {
		font-size: 1.2rem;
		text-align: start;
	}
	.modal-div {margin: 1rem 0;}

	/* 모달 다이얼로그 (중앙정렬) */
	.modal-dialog {transform: translate(-50%, -45%);}
	.modal .title { padding-bottom: 0.5rem;}
}

/* 반응형 768 */
@media (max-width: 780px) {
    .title{font-size:1.6rem;}
    .container {max-width: 480px;}
    .wrap-box {max-width: 480px;}
    .sub-title {
        font-size: 1rem;
        line-height: 1.25rem;
    }
    .title-box {
        font-size: 1.6rem;
        line-height: 2rem;
        text-align: center;
    }

    /* main */
    .main {height: 850px;}
    .main-text {
        font-size: 2.5rem;
    }
    .main-sub {
        font-size: 2rem;
        margin-top: 2.5rem;
    }
    .counting-box {font-size: 1.25rem;}
	.counting-text {font-size: 1.25rem;}
    .counting {gap: 1rem;}
    .counting-number {font-size: 2rem;}
    .button {
        font-size: 1.25rem;
        padding: 10px 15px;
    }
	.button_move {padding: 10px 15px;}
    /* fixed-db */
    .fixed-db .container {max-width: 100%;}

    /* portfolio */
    .card-con img {width: 170px;}
    .graph-wrap, .graph-wrap2 {
        position: relative;
        height: 250px;
    }
    .graph-wrap {
        z-index: 1; /* 처음에 보이도록 위쪽 */
        opacity: 1;
        animation: none;
    }
    .graph-wrap2 {
        position: absolute;
        bottom: 0;
        z-index: 0; /* 아래에 깔림 */
        opacity: 1;
        animation: none;
    }
    .card1, .card2, .card3, .card4, .card5, .card6 {
        position: absolute;
        bottom: 0;
        padding: 0;
        opacity: 0;
        animation: cardFade 18s infinite;
    }
    .card1 { animation-delay: 0s; }
    .card2 { animation-delay: 5s; }
    .card3 { animation-delay: 10s; }
    .card4 { animation-delay: 15s; }
    .card5 { animation-delay: 20s; }
    .card6 { animation-delay: 25s; }
    .circle {font-size: 1rem;}

    @keyframes cardFade {
        0% { opacity: 0; }
        10% { opacity: 1; }   /* 짧게 나타남 */
        40% { opacity: 1; }  /* 유지 */
        50% { opacity: 0; }  /* 사라짐 */
        100% { opacity: 0; } /* 대기 */
    }

    /* review */
    .review {padding: 100px 0;}
    .auto-review {flex-direction: column;}
    .star {padding: 0.5rem 0;}
    .review-card {
        width: 100%;
        padding: 1rem;
    }

    /* partner */
    .partner .title {padding: 70px 0;}
    .partner-logo {
        padding: 0;
        flex-wrap: wrap;
        gap: 2rem;
        margin-bottom: 50px;
    }
    .partner-logo img {height: 20px;}
    .top-card {
        gap: 1.5rem;
        margin: 25px 0;
    }
    .ad-box {
        padding: 1.2rem;
        height: 180px;
        width: 150px;
    }
    .ad-box img {width: 60px;}
    .sub {
        padding-top: 1rem;
        font-size: 0.8rem;
    }
    .sub li:last-child {font-size: 1rem;}
    .refusal-con {
        flex-direction: column;
        gap: 20px;
    }
    .refusal-con img {width: 120px;}
    .list {
        font-size: 1rem;
        line-height: 2.25rem;
        text-align: center;
    }

    /* process */
    .process .title {padding: 100px 0 10px 0;}
    .process-wrap {
        flex-wrap: wrap;
        gap: 2rem;
        padding: 70px 0;
    }
    .process-con img {width: 60px;}

    /* system */
    .system {padding-bottom: 70px;}
    .system1, .system2, .system3, .system4 {
        gap: 1.5rem;
        width: 200px;
        height: 200px;
    }
    .system img {width: 70px;}
    .system-text {font-size: 1.15rem;}

    /* db */
    .db .container {max-width: 480px;}
    .db .container .title {padding-bottom: 50px;}
    .db .consulting-form {gap: 1rem;}
    .db input[name="company"],
    .db input[name="phone"] {width: 100%;}
    .db-left, .db-right {
        gap: 1rem;
        width: 100%;
        height: auto;
        padding: 0 1.5rem;
    }
    .db .checkbox-group {
        width: 100%;
        gap: 5px;
    }
    .db .form-group label {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    .db .btn-submit {padding: 0.8rem 1.2rem ;}

    /* qna */
    .qna {padding: 80px 0;}
    .qna .wrap-box {height: 550px;}
    .slide {height: 550px;}
    .qnatrack li {padding: 1rem;}
    .q {font-size: 1.25rem;}
    .a {
        font-size: 1rem;
        margin-left: 1.25rem;
    }
    .nav-links {
        position: absolute;
        top: 70px;
        right: 0;
        background: rgba(0,0,0,0.8);
        flex-direction: column;
        width: 100%;
        transform: translateX(100%);
        transition: transform 0.3s;
    }
    .nav-links.open {transform: translateX(0);}
    .menu-toggle {display: block;}
    .nav-links li {margin: 20px;}
    section h1 { font-size: 3rem; }
    section p { font-size: 2rem; }
	.modal .title {
		font-size: 1rem;
		font-weight:600;
	}
	.modal-body {
		font-size:0.9rem;
		margin: 1rem 0;
	}
	/* 모달 다이얼로그 (중앙정렬) */
	.modal-dialog {
		max-width: 450px;
		transform: translate(-50%, -50%);
	}
}

/* 반응형 550 */
@media (max-width: 550px) {
    .mobile-on {display: block;}
    .pc-on {display: none;}
    .container {max-width: 320px;}
    .wrap-box {max-width: 320px;}
    .title {line-height: 2rem; }
    .title-box {
            font-size: 1.25rem;
            line-height: 1.5rem;
    }
    /* main */
    .main {
        height: 720px;
        background-size: cover;
        background-position-x: 13%;
    }
    .main-text {
		font-size: 1.725rem;
        margin-bottom: 3rem;
		padding-top:1rem;
	}
    .main-sub {
        font-size: 1.3rem;
        margin-top: 1rem;
    }
    .counting-box {
		flex-direction:column;
        font-size: 1rem;
        gap: 1rem;
    }
    .counting {gap: 0.5rem;}
	.button {margin-top: 2rem;}
	
    /* fixed-db */
    .fixed-db .container {
        max-width: 100%;
        gap: 2rem;
    }
    .fixed-db .container .text {display: none;}
    
    /* clients */
    .clients {padding: 80px 0;}
    .clients .title-box div {
		margin-top: 0rem;
		padding: 1rem 0.5rem 0 0.5rem;
	}
    .sub-title {
        margin-top: 1rem;
        width: 320px;
        line-height: 1.25rem;
        font-weight: 400;
        margin: 0 auto;
    }
    .clients ul .logo {width: 180px;}
    .clients ul .logo img {width: 180px;}
    .slide-track {width: calc(180px * 22); /* 로고 11개 * 2 */}
	
    /* portfolio */
    .portfolio .wrap-box {padding: 1.5rem 1.5rem 3rem 1.5rem;}

    /* review */
    .review {padding: 80px 0;}

    /* partner */
    .partner .title {
        font-size: 1.25rem;
        line-height: 1.5rem;
        padding: 70px 0;
    }
    .partner-logo {gap: 1.5rem;}
    .partner-logo img {height: 18px;}
    .top-card {
        gap: 1rem;
        margin: 25px 0;
        flex-direction: column;
    }
    .ad-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 2.5rem;
        gap: 1.5rem;
        height: 100px;
        width: 100%;
    }
    .ad-box img {width: 80px;}
    .sub {
        flex: 1;
        padding-top: 1rem;
        font-size: 0.8rem;
    }
    .sub li:last-child {font-size: 1rem;}
    .refusal .title {
        padding: 70px 0;
        font-size: 1.25rem;
        line-height: 1.5rem;
    }
    .refusal-con {
        flex-direction: column;
        gap: 20px;
    }
    .refusal-con img {width: 120px;}
    .list {
        font-size: 1rem;
        text-align: center;
    }
    .list li {
        line-height: 1.5rem;
        padding: 0.5rem 0;
    }
    /* process */
    .process .title {
        padding: 70px 0 10px 0;
        font-size: 1.25rem;
        line-height: 1.5rem;
    }
    .process-wrap {gap: 1.5rem;}
    .process-con img {width: 60px;}

    /* system */
    .system {padding-bottom: 70px;}
    .system-card {flex-direction: column;}
    .system1, .system2, .system3, .system4 {
        gap: 1.5rem;
        width: 100%;
        height: 125px;
        padding: 0 1rem;
        flex-direction: row;
    }
    .system img {width: 70px;}
    .system-text {font-size: 1rem;}
    .system-text small {font-size: 0.9rem;}

    /* db */
    .db .container {max-width: 320px;}
    .db .container .title {
        font-size: 1.25rem;
        line-height: 1.5rem;
        padding-bottom: 30px;
    }
    .db .consulting-form {gap: 1rem;}
    .db input[name="company"],
    .db input[name="phone"] {width: 100%;}
    .db-left, .db-right {
        gap: 1rem;
        width: 100%;
        height: auto;
        padding: 0 1.5rem;
    }
    .db .checkbox-group {
        width: 100%;
        gap: 5px;
    }
    .db .form-group label {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    .db .btn-submit {padding: 0.8rem 1.2rem ;}

    /* qna */
    .qna {padding: 80px 0 100px 0;}
    .qna .wrap-box {height: 550px;}
    .slide {height: 450px;}
    .qnatrack li {padding: 1rem;}
    .q {font-size: 1.15rem;}
    .a {
        font-size: 1rem;
        margin-left: 1.15rem;
    }
		.modal-dialog {
		max-width: 320px;
		transform: translate(-50%, -50%);
	}
	/* 모달 컨텐츠 */
	.modal-content {
        max-height: 70vh;
        overflow-y: scroll;
	}
}


.hide {display:none;}

.team3_kakao {
	background-color:#ffe812;
	position:fixed;
	right: 2rem;
	bottom:5%;
	border-radius: 50%;
	width:100px;
	height:100px;
	padding: 1rem;
	z-index:99999;
	cursor:pointer;
}
.team3_kakao img {width:100%;}


@media (max-width: 1024px) {
	.team3_kakao {
		width: 60px;
		height: 60px;
		padding: 0.8rem;
		right: 0rem;
		bottom:15%;
	}
}