@charset "utf-8";

html { width: 100%; height: 100%; margin: 0; padding: 0; }
body { color: #222; background-color: #ffffff; height: 100%; padding: 0; margin: 0; }
body,div,span,button,a,td,th,select,textarea,input { font-family: 'Pretendard-Regular'; font-size: 14px;}
h1,h2,h3,h4 { margin: 0; padding: 0; }
h1,h2,h3,h4,.ttl { font-family: 'Pretendard-Regular'; }
.num { font-family: 'Pretendard-Regular'; }
@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
a { text-decoration: none; color: #2a2829; box-sizing: border-box; }
a:hover { text-decoration: none; }
button {border: 0; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }
dl, dt, dd { margin: 0; padding: 0; }
img { border: 0; }
.wrapper main h2 {text-indent: -9999px; height: 0;}
.wrapper h3 {font-weight: normal;}

/* header */
.header {width: 100%;}
.header .logo {padding: 15px 20px; box-sizing: border-box; width: 100%;}
.snc .header .logo {padding: 10px 0; box-sizing: border-box;}
.header .logo a {margin: 0 auto; max-width: 600px;}
.header .logo h1 { display: inline-block; font-size:30px; margin: 0 auto;}
.header .logo h1 img {width: 120px;}

@media screen and (min-width: 800px){
    .header .logo {padding: 15px 20px; box-sizing: border-box;}
    .header {max-width: 1200px; margin: 0 auto;}
    .header .logo h1 img {width: 140px;}
}

/* 소개 */
.topBox {background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.7)) ,url(../images/carbit/main_bg.jpg) no-repeat center/cover; padding: 0 20px; box-sizing: border-box; width: 100%;}
.topBox .frame { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; position: relative; max-width: 1200px; margin: 0 auto;}
.topBox .frame .introBox {margin-bottom: 20px; text-align: left;}
.topBox .frame .introBox h3 {color: #fff; margin-top: 30px; margin-bottom: 30px; font-size: 25px; line-height: 1.3; letter-spacing: 1px;}
.topBox .frame .introBox .title { text-align: left;}
.topBox .frame .introBox .title span  { display: block; color: rgba(255, 255, 255, 0.8); line-height: 1.7; font-size: 15px;}

/* 로그인 */
.topBox .loginBox { max-width: 500px; padding: 10px 20px; box-sizing: border-box; padding-top: 0; background: rgba(0,0,0,0.5);  border-radius: 20px; margin-bottom: 20px;}
.topBox .loginBox { color: #fff; } 
.topBox .loginBox div { padding-top: 15px; font-size: 16px; text-align: left; }
.topBox .loginBox div.ttl{ text-align: center;}
.topBox .loginBox div.phone { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;}
.topBox .loginBox div.buttonBox{ text-align: center;}
.topBox .loginBox div.buttonBox button { padding: 10px 40px; box-sizing: border-box; background: #6353b3; color: #fff; font-size: 18px; font-weight: normal; border-radius: 5px;}
.topBox .loginBox div.buttonBox button:hover {background: #3e317d; transition: color 0.5s;}
.topBox .loginBox select { width: 30%; padding-left: 10px; font-weight: bold; font-size: 17px; border-radius: 5px; border: none; }
.topBox .loginBox input:focus,
.topBox .loginBox select:focus
 { outline: none;}
.topBox .loginBox input[type='text'] { width: 28%; height: 35px;  text-align: center; font-weight: 500; font-size: 16px; border-radius: 5px; border: 0px; }
.topBox .loginBox input[type='password'] { width: 100%; height: 35px; font-size: 16px; padding-left: 10px; box-sizing: border-box; border-radius: 5px;  border: 0px;}

@media screen and (min-width: 600px){
   .topBox {padding: 50px 0; box-sizing: border-box; }
   .topBox .frame {align-items: center; flex-direction: row; justify-content: space-between; flex-wrap: wrap; padding: 0 20px; box-sizing: border-box;}
    .topBox .loginBox {padding: 5px 10px; box-sizing: border-box; width: 50%; margin-bottom: 0;}
    .topBox .frame .introBox {width: 50%;}
    .topBox .frame .introBox h3 { font-size: 28px;}
   .topBox .introBox .title p{font-size: 16px; line-height: 1; letter-spacing: 1px;} 
}

@media screen and (min-width: 800px){
   .topBox { padding: 50px 0; box-sizing: border-box;}
   .topBox .frame .introBox {animation: slideIn 1s forwards;}
   .topBox .frame .introBox h3 { margin-bottom: 50px; font-size: 35px; text-align: left; letter-spacing: 1.5px;}
    .topBox .frame .introBox .title span {font-size: 17px;}
    .topBox .loginBox div {padding: 0; justify-content: center; align-items: center;}
    .topBox .loginBox { display: flex; align-items: center; justify-content: center; align-items: center; height: 20vh; padding: 0 20px; box-sizing: border-box;}
    .topBox .loginBox .loginArea {display: flex;}
    .topBox .loginBox input[type='password'] { margin-top: 10px;}
    .topBox .loginBox  div.buttonBox button{ padding: 35px 30px; box-sizing: border-box; margin-left: 10px; height: 100%; white-space:nowrap;}
    @keyframes slideIn {
        from {
            transform: translateX(-100%);
        }
        to {
            transform: translateX(0);
        }
    }
    
}

@media screen and (min-width: 1000px){
    .topBox {padding: 100px 0; box-sizing: border-box;}
    .topBox .loginBox select{height: 42px;}
    .topBox .loginBox input[type='text'],
    .topBox .loginBox input[type='password'] {height: 40px; }
    .topBox .loginBox {height: 20vh; padding: 0 35px; box-sizing: border-box;}
}


/* 서비스박스 */
.serviceImg {width: 100%;}
.serviceImg ul {display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%;}
.serviceImg ul li { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; flex-direction: column; position: relative; border: 1px solid rgba(255, 255, 255, 0.2); background-color: rgba(255, 255, 255, 0.1); margin-bottom: 10px; border-radius: 20px; width: 48%; height: 200px;}
.serviceImg ul li span { display: block; text-align: center; font-size: 20px; color: #fff; margin-bottom: 20px;}
.serviceImg ul li span::before { position: absolute; content: ''; bottom: 78px; left: 50%; margin-left: -22%; width: 45%; padding-top: 45%;}
.serviceImg ul li.newcar span::before {background: url(../images/carbit/service_01.png) 50% 50% no-repeat; background-size: cover;}
.serviceImg ul li.finance span::before {background: url(../images/carbit/service_02.png) 50% 50% no-repeat; background-size: cover;}
.serviceImg ul li.insure span::before {background: url(../images/carbit/service_03.png) 50% 50% no-repeat; background-size: cover;}
.serviceImg ul li.package span::before {background: url(../images/carbit/service_04.png) 50% 50% no-repeat;background-size: cover;}
.serviceImg ul li.customer span::before {background: url(../images/carbit/service_05.png) 50% 50% no-repeat;background-size: cover;}
.serviceImg > h3 { color: #fff; text-align: center; font-size: 20px; margin-top: 10px; margin-bottom: 20px; letter-spacing: 3px;}

@media screen and (min-width: 600px){
    .serviceImg {width: 100%}
    .serviceImg h3 {margin-top: 30px; margin-bottom: 0;}
    .serviceImg ul { flex-wrap: nowrap;}
    .serviceImg ul li {transform: translateY(15px); animation: fadeInUp 0.5s ease forwards; height: 180px; margin-right: 10px; opacity: 0;}
    .serviceImg ul li span {font-size: 18px;}
    .serviceImg ul li.newcar {animation-delay: 0.3s;}
    .serviceImg ul li.finance {animation-delay: 0.6s;}
    .serviceImg ul li.insure {animation-delay: 0.9s;}
    .serviceImg ul li.package {animation-delay: 1.2s;}
    .serviceImg ul li.customer {animation-delay: 1.5s; margin-right: 0;}
    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media screen and (min-width: 800px){
    .serviceImg {margin-top: 30px;}
    .serviceImg h3 { margin-top: 30px; font-size: 30px; letter-spacing: 5px;}

}
@media screen and (min-width: 1000px){
    .serviceImg ul li {height: 200px;}
    .serviceImg ul li span::before {bottom: 60px;}
}

/* footer */
.footer {padding: 10px 20px; background: #fff; box-sizing: border-box;}
.footer .frame { max-width: 1000px; margin: 0 auto;} 
.footer .copyright { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; }
.footer .copyright > div {display: flex; flex-direction: column; flex-wrap: nowrap; align-items: flex-start;}
.footer .copyright span { margin-bottom: 10px; }
.footer .copyright .company { font-weight: bold; color: #555; }
.footer .copyright .ceo { color: rgba(0, 0, 0, 0.6); }
.footer .copyright .companyNum { color: rgba(0, 0, 0, 0.6); } 
.footer .copyright .add { color: rgba(0, 0, 0, 0.6); }
.footer .copyright .counsel { color: rgba(0, 0, 0, 0.6); }
.footer .copyright .notice {display: none;}

@media screen and (min-width: 800px){
    .footer .frame,
    .footer .copyright {max-width: 1200px; margin: 0 auto;}
    .footer .copyright span {margin-right: 25px;}
}
@media screen and (min-width: 1000px){
    .footer .copyright {padding: 10px 20px; box-sizing: border-box;}
    .footer .copyright .company {display: block;} 
    .footer .copyright span {margin-right: 20px;}
    .footer .copyright .notice {display: block; margin-top: 10px;}
    .footer .copyright > div {flex-direction: row;}
    .footer .copyright .notice .text {display: block; font-size: 12px; color: rgba(0, 0, 0, 0.5);} 
}
