@charset "UTF-8";

@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 400;
    font-style: normal;
    src: url('https://cdn.jsdelivr.net/gh/spoqa/spoqa-han-sans@latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.woff2') format('woff2'),
    url('https://cdn.jsdelivr.net/gh/spoqa/spoqa-han-sans@latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Spoqa Han Sans Neo';
    font-weight: 700;
    font-style: normal;
    src: url('https://cdn.jsdelivr.net/gh/spoqa/spoqa-han-sans@latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.woff2') format('woff2'),
    url('https://cdn.jsdelivr.net/gh/spoqa/spoqa-han-sans@latest/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.woff') format('woff');
}

*{margin:0;padding:0;font:inherit;color:inherit;font-family: "Spoqa Han Sans Neo", "Montserrat", 'Sans-serif';}
*, :after, :before {box-sizing:border-box;}
:root {-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;cursor:default;line-height:1.5;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4}
html, body {font-size: 16px;margin: 0;padding: 0;height:100%;}
html {overflow: auto;}
img, picture, video, canvas, svg {display: block;max-width:100%;}
button {background:none;border:0;cursor:pointer;}
a {text-decoration:none;color:inherit;}
table {border-collapse:collapse;border-spacing:0}
body {margin: 0;}
li {list-style: none;}
label, h1, h2, h3, h4, h5, h6, p, li, span, dl, dd, dt, ol, ul {margin:0 0; padding: 0 0;}
a:hover {color: inherit;text-decoration:none;}

/*스크롤바*/
html::-webkit-scrollbar {width: 7px;}
html::-webkit-scrollbar-thumb {height: 30%;background: #00DEA4;border-radius: 10px;}
html::-webkit-scrollbar-track {background: #00dea41c;}

.b-agent-demo_result {overflow-y: auto;}
.b-agent-demo_result::-webkit-scrollbar {width: 5px;}
.b-agent-demo_result::-webkit-scrollbar-thumb {background-color: #003153;}

/*common*/
.txt-white {color:#fff !important;}
.txt-black {color:#000 !important;}

/*챗봇*/
.b-agent-demo .b-agent-demo_header {background-color: #003153 !important;border-top-left-radius: 20px !important;border-top-right-radius: 20px !important;}
.b-agent-demo .user-request, .b-agent-demo .server-response {padding: 12px 22px !important;border-radius: 25px !important;border: 0 !important;}
.b-agent-demo .b-agent-demo_powered_by {display:none}
.b-agent-demo .server-response {background-color: #0031536b !important;}
.b-agent-demo .b-agent-demo_result {top: 170px !important;bottom: 155px !important;right: 50% !important;transform: translateX(50%) !important;padding: 20px 10px !important;}
.b-agent-demo .b-agent-demo_input {right: 50% !important;transform: translateX(50%) !important;bottom: 100px !important;overflow: hidden !important;border-bottom-left-radius: 20px !important;border-bottom-right-radius: 20px !important;}
.b-agent-demo .b-agent-demo_header {top: 90px !important;right: 50% !important;transform: translateX(50%) !important;}
.b-agent-demo .b-agent-demo_header-agent-name {margin-top: 10px !important;font-weight: bold !important;}
.close-btn {border: 0 !important;font-weight: 200 !important;font-size: 25px !important;right: 25px !important;top: 30px !important;}
.server-response .btn {border: 0;width:100%;margin-bottom: 10px;color: #313131;}
.server-response .btn > i {display:none;}

/*header*/
header {border-bottom: 1px solid #D9D9D9;background: #000;position: fixed;top: 0;left: 0;right: 0;z-index: 50;}
.header-wrap {max-width: 1440px;margin: 0 auto;padding: 0 65px;height: 140px;display: flex;justify-content: space-between;align-items: center;}
header .logo {}
.gbpl-logo {color: #AAACAB;font-family: "Montserrat";font-size: 2rem;font-weight: 700;}
.gbpl-logo:hover {color: #AAACAB;}
.menu {}
.menu ul {display: flex;gap: 70px;}
.menu ul li {text-align: center;font-size: 1.5rem;}
.menu ul li a {color: #FFF;font-weight: 700;text-decoration: none;word-break: keep-all;}
.menu ul li:hover a,
.menu ul li:last-child a {color: #00DEA4;}

/*container*/
#contents {}
#contents section {overflow: hidden;position: relative;}
#contents section.visual {padding: 145px 65px;background: #000;}
#contents section.visual.main {height: 92vh; padding: 0 0;}
#contents section.visual.main .wrap {padding: 15% 70px;}
/*#contents section.visual.main {background: url('../../../pages/img/visual_main.jpg') no-repeat;}*/
#contents .wrap {max-width: 1440px;margin: 0 auto;padding: 130px 0;position: relative;}
/*#contents section.visual .wrap {height: 885px;}*/
.visual .subtit {color: #AAACAB;font-size: 2rem;font-weight: 700;}
.visual .tit {color: #FFF;font-size: 3.5rem;font-weight: 700;line-height: 150%;letter-spacing: -0.5px;margin-top: 50px;}

.main .section-2 {background: #333A40;}
.main .section-2 .wrap {padding: 140px 0;}
.main .section-3 {background: #F1F3F5;}
.main .section-3 .wrap {padding: 140px 65px;text-align: center;}
.main .section-4 {background: #fff;}
.main .section-4 .wrap {padding: 142px 0 0;}
.main .section-5 {background: #21252A;}
.main .section-5 .wrap {padding: 140px 0;text-align: center;}

.point-text-wrap {display: flex;flex-direction: column;gap: 50px;text-align: center;}
.point-text-wrap p {color: #AAACAB;font-size: 1.8rem;font-weight: 400;line-height: 150%;letter-spacing: -0.5px;}
.point-text-wrap p > span {display: inline-flex;padding: 10px 50px;justify-content: center;align-items: center;gap: 10px;margin-left: 30px;border-radius: 999px;border: 1px solid #DADADA;color: #00DEA4;font-size: 1.8rem;font-weight: 700;line-height: 150%;letter-spacing: -0.5px;}
.point-text-wrap + h2 {margin-top: 90px;}

.wrap h1 {color: #000;font-size: 2.5rem;font-weight: 700;text-align: center;line-height: 150%;letter-spacing: -1px;}
.wrap h2 {color: #AAACAB;font-size: 2rem;font-weight: 600;line-height: 150%;letter-spacing: -0.5px;text-align: center;word-break: keep-all;}
.wrap h3 {color: #000;font-size: 2.25rem;font-weight: 700;line-height: 150%;letter-spacing: -0.5px;}

.card-list {display: flex;flex-direction: column;align-items: center;gap: 60px;margin: 80px 0;}
.card-list li {list-style: none;display: flex;width: 100%;padding: 50px 45px;align-items: center;gap: 60px;border-radius: 35px;background: #FFF;box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.25);}
.card-list li .circle-icon {width: 100px;height: 100px;flex-shrink: 0;background: #00DEA4;border-radius: 50%;display: flex;align-items: center;justify-content: center;}
.card-list li .circle-icon img {}
.card-list li .cont {text-align: left;}
.card-list li .cont .tit {color: #000;font-size: 1.7rem;font-weight: 700;line-height: 150%;letter-spacing: -0.5px;word-break: keep-all;}
.card-list li .cont .desc {margin-top: 20px;color: #000;font-size: 1.35rem;font-weight: 300;line-height: 170%;letter-spacing: -0.5px;}
.btn.default {display: inline-flex;padding: 20px 20px;justify-content: center;align-items: center;gap: 10px;border-radius: 999px;background: #333A40;color: #00DEA4;text-align: center;font-size: 2.75rem;font-weight: 700;line-height: 150%; /* 66px */letter-spacing: -0.5px;}

.main .section-4 img {margin: 100px auto;}
.main .section-5 .card-list li .cont .tit {font-size: 1.625rem;}
.main .section-5 .card-list li .cont .desc {color: #aaacab;font-size: 1.25rem;margin-top: 40px;}

.review-wrap {display: flex;gap: 70px;justify-content: center;}
.review-wrap li {display: flex;flex-direction: column;gap: 11px;}
.review-wrap li p {color: #FFF;font-size: 1.5rem;font-weight: 500;letter-spacing: -0.5px;text-align:left;}
.review-wrap li .star-num {color: #FFF;font-size: 1.625rem;font-weight: 700;display: flex;gap: 24px;align-items: center;}
.review-wrap li .txt {color: #FFF;font-size: 1.125rem;font-weight: 300;}

footer {padding: 120px 120px;background: #000;color: #AAACAB;overflow: hidden;}
footer .logo {font-size: 2rem;font-weight: 700;}
footer .logo-subtitle {font-size: 1.5rem;font-weight: 400;margin-top: 12px;}
footer .menu {display: flex;gap: 70px;margin: 67px 0 54px;}
footer .menu li {color: #FFF;font-size: 1.5rem;font-weight: 700;}
footer .menu li a {word-break: keep-all;}
footer .menu li:last-child {color: #00DEA4;}
footer .info {font-size: 1.375rem;font-weight: 400;display: flex;flex-direction: column;gap: 14px;}
footer .info li {}
footer .copyright {color: #FFF;font-size: 1.125rem;font-weight: 400;margin-top: 85px;text-align: center;}

/*home*/
#contents .home .visual.main {background: url('../../../pages/img/visual_main.jpg') no-repeat;background-size: cover;padding: 0 0;}
.home .section-2 {background: #333A40;}
/*#contents .home .section-2 .wrap {padding: 160px 0;}*/
.home .section-3 {background: #F1F3F5;}
.home .section-4 img {margin: 100px auto 0;}
.home .section-5 {background: #21252A;}

/*aboutUs*/
.sub.about {}
.about-wrap {display: flex;gap: 110px;max-width: 1140px;padding-bottom: 87px;justify-content: center;align-items: center;border-bottom: 1px solid #aaacab;margin: 90px auto 0;}
.about-wrap img {}
.about-wrap .txt-wrap {}
.txt-purple {color: #9457EB;font-size: 2rem;font-weight: bold;letter-spacing: -0.5px;}
.txt-line {position: relative;font-size: 1.45rem;letter-spacing: -0.5px;margin-top: 45px;padding-left: 30px;margin-left: 20px;}
.txt-line:after {content:'';position:absolute;left: 0; top: 0; bottom: 0; width: 8px; background: #AAACAB;}
.wrap h4 {font-size: 2.5rem;font-weight: bold;letter-spacing: -0.5px;line-height: 150%;}
.core-value-list {margin-top: 70px;display: flex;flex-wrap: wrap;gap: 50px;justify-content: center;}
.core-value-list li {border-radius: 20px;overflow: hidden;box-sizing: border-box;border: 3px solid #333a40;width: 48%;}
.core-value-list li .header-txt {color: #00DEA4;font-size: 1.5rem;font-weight: bold;letter-spacing: -0.5px;height: 60px;background: #333a40;text-align: center;line-height: 7px;padding: 25px 10px;}
.core-value-list li dl {padding: 40px 65px;}
.core-value-list li dt {font-size: 1.7rem;letter-spacing: -0.5px;font-weight: bold;text-align: center;}
.core-value-list li dd {font-size: 1.3rem;letter-spacing: -0.5px;margin-top: 20px;word-break: keep-all;}
.sub.about .section-4 {background: #F1F3F5;}
.sub.about h1 {text-align: left;}
.team-info-list {margin-top: 90px;}
.team-info-list li {width: 70%;float:left;}
.team-info-list l0i + li {margin-top: 40px;}
.team-info-list li .tit {background: #4B4B4B;border-radius: 10px;display: inline-block;padding: 11px 35px;font-size: 1.5rem;font-weight: bold;color: #fff;z-index: 1;position: relative;}
.team-info-list li .cont {padding: 60px 60px;background: #D9D9D9;border-radius: 35px;display: flex;gap: 24px;flex-direction: column;left: 40px;position: relative;top: -40px;}
.team-info-list li .txt-purple {font-size: 1.3rem;}
.team-info-list li .txt {font-size: 1.25rem;letter-spacing: -0.5px;}
.team-info-list li .txt:last-child {font-weight: 300;}
.team-info-list li:nth-child(2n) {display: flex;flex-direction: column;align-items: flex-end;position: relative;float:right;}
.team-info-list li:nth-child(2n) .cont {left: -40px;}

.sub.about .section-5 {background: #333A40;color:#fff;}

.history-list {margin-top: 70px;}
.history-list > li {padding: 30px 0;}
.history-list > li + li {border-top: 1px solid #aaacab;}
.history-list .year {color: #00DEA4;font-size: 1.9rem;letter-spacing: -0.5px;font-family: "montserrat";}
.history-list .txt {margin-top: 20px;display: flex;}
.history-list .txt > ul {width: 50%; padding-left: 50px;}
.history-list ul {}
.history-list ul li {font-size: 1.35rem;letter-spacing: -0.5px;list-style-type:disc;font-weight: 300;}

.sub-txt {padding-bottom: 80px;position:relative;margin-top: 120px;}
.sub-txt:after {content:'';width:100%;height:1px;background:#aaacab;bottom: 0;left:0;right:0;display: block;position: absolute;}
.sub-txt p {font-size: 1.7rem;}
.sub-txt p + p {margin-top: 60px;font-size: 2rem;}
.bezel-img-wrap {position: absolute;display: flex;top: 120px;right: 18%;}
.bezel-img-wrap img + img {margin-left: -30px; z-index: 1;}

.txt-box {margin-top: 80px;font-size: 1.5rem;}
.txt-box .txt-purple {font-size: 1.35rem;}
.txt-box p {font-size: 1.25rem;}
.txt-box p > span {font-weight:500;}
.txt-box h4 + p {margin-top: 30px;}
.txt-box h4 + ul {margin-top:20px;}
.txt-list {padding-left:40px;}
.txt-list li {list-style-type:disc;font-size: 1.25rem;line-height: 2.1rem;}
.txt-list.other li + li {margin-top:30px;}

.txt-underline {text-decoration:underline;}

.sub.about .section-6 {background: #F1F3F5;}

.bet-wrap {display: flex;align-items: center;gap: 100px;margin-top: 90px;}
.location-info {display: flex;flex-direction: column;gap: 40px;}
.location-info p {position: relative;font-size: 1.45rem;font-weight: 500;padding-left: 50px;}
.location-info .address:after {content:'';position: absolute;left: 0;top: 0;width: 35px;height: 34px;background: url('../../../pages/img/icon/icon_address.png') no-repeat;background-size: contain;}
.location-info .phone-num:after {content:'';position: absolute;left: 0;top: 0;width: 35px;height: 34px;background: url('../../../pages/img/icon/icon_phone.png') no-repeat;background-size: contain;}
.location-info .email:after {content:'';position: absolute;left: 0;top: 0;width: 35px;height: 34px;background: url('../../../pages/img/icon/icon_email.png') no-repeat;background-size: contain;}

#contents .sub.about .section-3 .wrap {padding: 0 0 140px;}
#contents .sub.about section.visual {background: #9457EB;}

#contents .sub.services section.visual {background: #003153;}
#contents .sub.services .wrap {}
#contents .sub.services .section-2 .wrap {margin-bottom: 60px;}
#contents .sub.services .wrap h1 {text-align: left;}


.step-list {margin-top: 90px;}
.step-list ul {}
.step-list ul li {position: relative;}
.step-list > ul > li {padding-left: 125px;padding-top: 25px;}
.step-list > ul > li + li {margin-top: 85px;}
.step-list > ul > li:before {content:'';position: absolute;left: 42px;top: 0;width: 1px;height: 155%;border: 2px dashed #003153;}
.step-list > ul > li:last-child:before {content: none;}
.step-list > ul > li:nth-child(1):after {content:''; position: absolute;left: 0;top: 0;width: 90px;height: 120px;background: url('../../../pages/img/step_1.png') no-repeat;background-size: contain;}
.step-list > ul > li:nth-child(2):after {content:''; position: absolute;left: 0;top: 0;width: 90px;height: 120px;background: url('../../../pages/img/step_2.png') no-repeat;background-size: contain;}
.step-list > ul > li:nth-child(3):after {content:''; position: absolute;left: 0;top: 0;width: 90px;height: 120px;background: url('../../../pages/img/step_3.png') no-repeat;background-size: contain;}
.step-list > ul > li:nth-child(4):after {content:''; position: absolute;left: 0;top: 0;width: 90px;height: 120px;background: url('../../../pages/img/step_4.png') no-repeat;background-size: contain;}
.step-list > ul > li:nth-child(5):after {content:''; position: absolute;left: 0;top: 0;width: 90px;height: 120px;background: url('../../../pages/img/step_5.png') no-repeat;background-size: contain;}
.step-list .sub-tit {color: #00DEA4;font-size: 1.9rem;font-weight: bold;}
.step-list .txt-list {font-size: 1.8rem;margin-top: 20px;}
.step-list .txt-list li {}
.step-list > ul > li .txt-list li {}


.btn.default {font-size: 1.8rem !important;height: 80px;margin: 100px auto 0;display:flex;width:100%;}

#contents .sub.services .section-2 {background: #F2F8FE;}

.service-slide-wrap {margin-top: 60px;}
.service-slide-wrap li {font-size: 1.35rem;padding: 160px 30px 30px;border: 3px solid #003153;background: #fff;border-radius: 15px;width:430px;min-height:345px;height:auto;position:relative;line-height: 32px;}
.service-slide-wrap li .slide-tit {color: #003153;font-size: 1.7rem;font-weight:bold;margin-bottom:20px;display:block;text-align:center;}
.service-slide-wrap li:after {content:'';position:absolute;top: 30px; left: 50%;border-radius:50%;background:#d9d9d9;width:100px;height:100px;margin-left: -50px;}
.service-slide-wrap li.list-type-1:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_1.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-2:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_2.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-3:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_3.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-4:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_4.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-5:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_5.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-6:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_6.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-7:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_7.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap li.list-type-8:after {background:#d9d9d9 url('../../../pages/img/icon/icon_list_2_8.png') no-repeat;background-size:56px 56px;background-position: center;}
.service-slide-wrap .slick-list {margin:0 -30px;}
.service-slide-wrap .slick-slide {margin:0 30px;}
.service-slide-wrap .slick-arrow {width: 50px; height: 50px; border-radius: 50%; position:absolute;}
.service-slide-wrap .slick-prev {background:#003153 url('../../../pages/img/icon/icon_arrow_left.png') no-repeat;background-size:23px 21px;background-position: center;bottom: -110px;left: calc( 50% - 60px);}
.service-slide-wrap .slick-next {background:#003153 url('../../../pages/img/icon/icon_arrow_right.png') no-repeat;background-size:23px 21px;background-position: center;bottom: -110px;right: calc( 50% - 60px);}



.portfolio-list {margin-top: 65px;}
.portfolio-list > li + li {border-top: 10px solid #4B4B4B;padding-top:60px;}
.portfolio-list li + li {}
.portfolio-list li img {}
.portfolio-list .pf-info-wrap {display:flex;padding: 60px 60px;}
.portfolio-list .pf-info-wrap .pf-info {width: 50%;padding-right: 30px;}
.portfolio-list .pf-info-wrap .pf-info li + li {margin-top: 28px;}
.portfolio-list .pf-info-wrap .pf-info .tit {font-size: 1.45rem;color: #0070FF;font-weight:500;}
.portfolio-list .pf-info-wrap .pf-info .txt {margin-top: 8px;font-size: 1.4rem;height:auto;}
.portfolio-list .pf-info-wrap .pf-info + .pf-info {border-left: 1px solid #00DEA4;padding-left: 65px;}

#contents .sub.portfolio section.visual {background: #0070FF;}
#contents .sub.portfolio h1 {text-align: left;}

#contents .sub.consulting section.visual {background: #00DEA4;}

#contents .sub.consulting .section-2 {background: #F2F8FE;}
#contents .sub.consulting .section-3 {background: #F1F3F5;}
#contents .sub.consulting .section-3 .wrap {display:flex;gap: 80px;}

.sub.consulting .area-1,
.sub.consulting .area-2 {word-break:keep-all;}
.sub.consulting .area-1 {font-size: 2.8rem;font-weight: bold;}
.sub.consulting .area-2 {margin-top: 95px;font-size: 1.9rem;}
.sub.consulting .area-3 {margin-top: 150px;}
.sub.consulting .area-3 p {font-size: 1.9rem;font-weight: bold;}
.sub.consulting .area-3 ul {margin-top: 15px;padding-left: 50px;}
.sub.consulting .area-3 ul li {font-size: 1.8rem;list-style-type:disc;line-height: 160%;}

.sub.consulting form {padding: 90px 50px;background: #fff;border-radius: 85px;/* margin: 0 auto; */width: 100%;max-width: 670px;box-shadow:20px 20px 20px #dadada8a;}
.sub.consulting form .line {width:100%;}
.sub.consulting form .line + .line {margin-top: 35px;}
.sub.consulting form .line input {height: 70px;width: 100%;padding: 20px 30px;border: 1px solid #aaacab;border-radius: 25px;font-size: 1.3rem;color: #00dea4;}
.sub.consulting form .line textarea {height: 300px;width: 100%;padding: 20px 30px;border: 1px solid #aaacab;border-radius: 25px;font-size: 1.3rem;color: #00dea4;resize:none;}
.sub.consulting form .line input::placeholder,
.sub.consulting form .line textarea::placeholder { font-size: 1.4rem;color: #00dea4;}

.consulting-info {margin-top: 100px;font-size: 1.5rem;/* max-width: 780px; */margin: 80px auto 0;}
.consulting-info p {margin-top: 20px;word-break: keep-all;}
.consulting-info .line {margin-top: 60px;}
.consulting-info .line label {font-weight: bold;}

.warning-box {margin-top: 50px;border-radius: 40px;background: #fef6f6;padding: 25px 70px 25px 110px;position: relative;color: #ff4200;font-size: 1.4rem;font-weight: 400;display: inline-block;}
.warning-box:after {content:'';position: absolute;left: 50px;top: 30px;width: 35px;height: 35px;background: url('../../../pages/img/icon/icon_warning.png') no-repeat;background-size: contain;}

input.check-btn{display:none;}
input.check-btn + label{cursor:pointer;}
input.check-btn + label > span{vertical-align: middle;padding-left: 5px;}
input.check-btn + label:before{content:"";display:inline-block;width: 30px;height: 30px;border-radius: 50%;vertical-align:middle;background-color:#605E5E;background-image: url('../../../pages/img/icon/icon_check_off.png');background-repeat: no-repeat;background-position: center;margin-right: 15px;background-size: 73%;}
input.check-btn:checked + label:before{content:"";background-image: url('../../../pages/img/icon/icon_check.png');background-repeat: no-repeat;background-position: center;}


.sub.chat {margin: 190px 0;padding: 0 20px;}
.chat-wrap {max-width: 840px;width: 100%;box-shadow: 10px 15px 35px #dadadaa3;border-radius: 80px;overflow: hidden;margin: 0 auto;}
.chat-header {background: #003153;color: #fff;padding: 40px 60px;}
.chat-header p {font-size: 30px;margin-top: 40px;font-weight: 300;}
.chat-logo {display: flex;align-items: center;gap: 30px;height: 100px;}
.chat-logo img {width: 103px;height: 100px;object-fit: contain;}
.chat-logo span {font-size: 45px;font-weight: bold;}
.chat-logo img.chat-back {width:22px;height:36px;margin-right: 20px;cursor:pointer;}
.chat-cont {padding: 55px 45px;position: relative;min-height: 1200px;}
.chat-card {box-shadow: 1px 1px 15px #aaacbaa6;padding: 35px 25px;border-radius: 30px;text-align: center;}
.chat-card .card-top {display: flex;align-items: center;gap: 20px;font-weight: bold;font-size: 24px;}
.chat-card .card-top img {width: 80px;height: 70px;}
.chat-card .card-top .txt {text-align: left;}
.chat-card .card-top .txt p {}
.chat-card .btn-chat {height: 100px;text-align: center;width: 100%;border-radius: 50px;background: #333a40;color: #00dea4;font-size: 44px;font-weight: bold;margin-top: 45px;}
.chat-info {text-align: center;position: relative;font-size: 20px;letter-spacing: -0.5px;color: #605e5e;margin-top: 40px;font-weight: 300;display: inline-block;padding-left: 20px;}
.chat-info:after {content: '';position: absolute;left: 0;top: 50%;margin-top: -7px;width: 10px;height: 10px;background: #00dea4;border-radius: 50%;}

.icon-ft-chat {filter: invert(100%);}

.chat-detail {text-align: center;}
.chat-detail > img {width: 206px;height: 200px;margin: 0 auto;}
.chat-detail .tit {text-align: center;font-size: 46px;font-weight: 600;margin-top: 75px;margin-bottom: 25px;}
.chat-detail .chat-info {margin: 0 auto;}
.chat-area {min-height: 300px;}
.chat .chat-time {width: 100%;text-align: center;color: #605e5e;font-size: 24px;font-weight: 400;margin: 60px 0 25px;}
.chat-area .talk-area {display: flex;gap: 35px;}
.chat-area .talk-area + .talk-area {margin-top: 20px;}
.chat-area .talk-area img {width: 60px;height: 58px;margin-top: 50px;}
.chat-area .talk-area .chat-line {text-align: left;}
.chat-area .talk-area .chat-line .chat-name {font-size: 24px;font-weight: 300;color: #605e5e;}
.chat-area .talk-area .chat-line .chat-txt {background: #f4f4f5;border-radius: 45px;padding: 30px 40px;font-size: 32px;margin-top: 8px;}
.chat-input {position: absolute;overflow: hidden;margin-top: 30px;bottom: 40px;left: 40px;right: 40px;}
.chat-input input {border: 0;border-radius: 45px;background: #f4f4f5;width: 100%;height: 145px;font-size: 32px;padding: 50px 170px 50px 35px;}
.chat-input .btn-wrap {position: absolute;right: 30px;top: 50%;margin-top: -20px;display: flex;gap: 30px;}
.chat-input .btn-wrap button {width: 45px;height: 45px;}
.chat-input .btn-wrap .btn-emoji {background: url('../../../pages/img/icon/icon_emoji.png') no-repeat;background-size: contain;}
.chat-input .btn-wrap .btn-file {background: url('../../../pages/img/icon/icon_file.png') no-repeat;background-size: contain;}



#hamburger-menu {cursor: pointer;width: 50%;display: flex;justify-content: flex-end;}
#hamburger-menu span {width: 28px;height: 2px;background-color: #fff;position: absolute;transition: .4s ease-in-out;}

#hamburger-menu span:nth-child(1) {top: 25px;}
#hamburger-menu span:nth-child(2) {top: 35px;}
#hamburger-menu span:nth-child(3) {top: 45px;}

#hamburger-menu.open span:nth-child(1) {top: 35px;transform: rotate(135deg);}
#hamburger-menu.open span:nth-child(2) {opacity: 0;}
#hamburger-menu.open span:nth-child(3) {top: 35px;transform: rotate(-135deg);}

#menu-container{padding-top: 70px;}
#menu-container .menu-list {position: fixed;width: 100%;z-index: 9999;display: flex;flex-direction: column;height: 100vh;background:#000;}
.accordion-toggle {display: flex;font-size: 16px;line-height: 1.5;color: white;border-top: 1px solid #dbdbdb59;flex-direction: column;width: 100%;font-weight: 500;}
.accordion-toggle a{color: white;position: relative;padding: 20px 30px;}
.menu-submenu{background-color: #f5f5f5;padding: 40px 36px;}
.menu-submenu li{font-size: 30px;font-weight: normal;line-height: 1.6;color: #767676;}
.menu-submenu li a {display: block;padding: 12px 0;}

header .menu {display: block;}
header #hamburger-menu {display: none;}

.only-pc {display:block;}
.only-mo {display:none;}

.solution-list-wrap {display:flex;gap:30px;justify-content: center;margin: 50px 20px 0;}
.solution-list-wrap li {text-align: center;display: flex;align-items: center;justify-content: center;border-radius: 30px;font-size: 1.45rem;font-weight: bold;color:#787878;transition:all 0.8s;box-sizing: border-box;background: #f7f7f7;width:250px; }
.solution-list-wrap li a {padding: 40px;}
.solution-list-wrap li:hover {}
/*.solution-list-wrap li:hover a {color: #00DEA4;}*/

.navbar-nav {align-items: flex-end;}
.navbar-nav li {padding: 0 0;}
.dropdown-menu {transform: none !important;top: 35px !important;min-width: auto !important;left: 2px !important;width: 55px;text-align: center;padding: 0 0 !important;border-radius: 3px;background: #fffffff2;}
.dropdown-menu label {display: block;font-size: 14px;cursor:pointer;padding: 5px 10px;}

.portfolio-list .pf-info-wrap .pf-info .txt {display: flex;gap: 20px;flex-wrap: wrap;}
.logo-wrap {display: flex;flex-direction: column;text-align: center;}
.logo-wrap img {width: 50px; height: 50px;border-radius: 8px;}
.logo-wrap span {margin-top: 6px; font-size: 12px;width: 52px;line-height: 14px;}

.custom-modal {display: none;position: fixed;z-index: 50;left: 0;top: 0;width: 100%;height: 100%;overflow: auto;background-color: rgba(0, 0, 0, 0.4);}
.custom-modal iframe {height: 100%;}
.custom-modal .modal-content {background-color: #fefefe;padding: 20px;border: 1px solid #888;margin: auto;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);width: 90%;height: 85%;}
.custom-modal .close {color: #aaa;float: right;font-size: 28px;font-weight: bold;text-align: right; margin-bottom: 20px;}
.custom-modal .close:hover,
.custom-modal .close:focus {color: black;text-decoration: none;cursor: pointer;}

/* 기술력 */
#contents .sub.technical .visual.main {
    background: #DE00C8;
}
#contents .sub.technical .bg-other {
    background: #F2F8FE;
    padding: 8.875rem 4.063rem;
    display: flex;
    flex-direction: column;
    gap: 6.063rem;
}
#contents .sub.technical .tab-content {
    display: none;
}

#contents .sub.technical .tab-content.active {
    display: block;
}

#contents .sub.technical .tab-buttons {
    padding: 0 4.063rem;
    display: flex;
    border-bottom: 0.625rem solid #d1d1d1;
    justify-content: space-between;
}

#contents .sub.technical .tab-button {
    padding: 2.875rem 0;
    position: relative;
    font-size: 2.5rem;
    line-height: 150%;
    color: #d1d1d1;
    letter-spacing: -0.031rem;
}

#contents .sub.technical .tab-button.active {
    color: #333a40;
}

#contents .sub.technical .tab-button:focus {
    outline: none;
}

#contents .sub.technical .tab-button.active:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 0.875rem;
    background: #333a40;
    bottom: -0.625rem;
    left: 0;
    right: 0;
}

#contents .sub.technical .bg-other h1 {
    font-size: 3.375rem;
    line-height: 150%;
    font-weight: bold;
}

#contents .sub.technical .bg-other p {
    font-size: 2.25rem;
    line-height: 150%;
    font-weight: 500;
}

#contents .sub.technical .bg-other p span {
    display: block;
    font-weight: 700;
}

#contents .sub.technical .div-wrap {
    padding: 8.875rem 4.063rem;
}

#contents .sub.technical h3 {
    font-size: 3.375rem;
    font-weight: bold;
    line-height: 150%;
    margin-bottom: 6.063rem;
}
.tech-list {
    padding: 8.875rem 0;
}

.tech-list + .tech-list {
    padding: 0 0 8.875rem;
}

.tech-list ul {
    display: flex;
    flex-direction: column;
}

.tech-list ul li {
    display: flex;
    align-items: center;
    gap: 2.25rem;
}

.tech-list h3 {
    padding: 0 4.063rem;
}

.tech-list > ul li {
    padding: 2.875rem 4.063rem;
}

.tech-list > ul > li + li {
    border-top: 0.375rem solid #d9d9d9;
}

.tech-list ul li div:first-child {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    flex-shrink: 0;
}

.tech-list ul li div:first-child p {
    font-size: 2.25rem;
    font-weight: 500;
}

.tech-list ul li div:last-child {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.tech-list ul li div:last-child p {
    font-size: 2.125rem;
    font-weight: bold;
}

.tech-list ul li div:last-child li {
    padding: 0 0 0 1.25rem;
    font-size: 1.875rem;
    position: relative;
}

.tech-list ul li div:last-child li:after {
    content: '';
    width: 0.375rem;
    height: 0.375rem;
    position: absolute;
    left: 0;
    top: 1.125rem;
    background: #000000;
    border-radius: 50%;
}

.tech-table {
    padding: 0 4.063rem 12.5rem;
}

.tech-table table {
    width: 100%;
    table-layout: fixed;
    border: 0.063rem solid #828282;
}

.tech-table table thead {
    background: #e5e5e5;
    border: 0.063rem solid #828282;
}

.tech-table table thead tr th {
    border: 0.063rem solid #828282;
    text-align: center;
    font-size: 1.625rem;
    font-family: "Spoqa Han Sans Neo";
    font-weight: bold;
    color: #000000;
    padding: 0.313rem;
}

.tech-table table th:nth-child(1),
.tech-table table td:nth-child(1) {
    width: 18.75rem;
}

.tech-table table th:nth-child(4),
.tech-table table td:nth-child(4) {
    width: 12.5rem;
}

.tech-table table tbody tr td:nth-child(3) {
    text-align: left;
}

.tech-table table tbody tr td {
    font-family: "Spoqa Han Sans Neo", "Montserrat";
    text-align: center;
    border: 0.063rem solid #828282;
    padding: 2.188rem 1.25rem;
    font-size: 1.125rem;
    color: #000000;
}

.w3c-list {
    display: flex;
    flex-direction: column;
    gap: 3.125rem;
    align-items: flex-start;
    margin-left: 1.875rem;
}

.w3c-list li {
    display: flex;
    gap: 3.75rem;
    align-items: center;
}

.w3c-list li .round {
    width: 15rem;
    height: 15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1.25rem;
    border-radius: 50%;
    background: #333a40;
    color: #ffffff;
    flex-shrink: 0;
}

.w3c-list li .round span {
    font-size: 1.5rem;
    font-weight: bold;
}

.w3c-list li .cont {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.w3c-list li .cont p {
    font-size: 2.25rem;
    color: #00dea4;
    font-weight: bold;
    margin-left: 1.25rem;
}

.w3c-list li .cont ul {
    font-size: 1.5rem;
}

.w3c-list li .cont ul li {
    display: block;
}

.seo_img {
    margin: 0 auto;
}

.web-card-wrap {
    display: flex;
    gap: 5rem;
    justify-content: center;
}

.web-card-wrap .web-card {
    width: 36.25rem;
    padding: 1.25rem 1.25rem;
}

.web-card-wrap .web-card.left {
    background: #00dea4;
}

.web-card-wrap .web-card.right {
    background: #333A40;
}

.web-card-wrap .web-card div {
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3.75rem 0;
    text-align: center;
}

.web-card-wrap .web-card div span {
    font-size: 2.25rem;
    font-weight: bold;
}

.web-card-wrap .web-card div p {
    margin-top: 0.5rem;
    margin-bottom: 3.125rem;
    font-size: 1.25rem;
    font-weight: 400;
}

.web-card-wrap .web-card ul {
    padding: 3.125rem 0.313rem 1.25rem;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.web-card-wrap .web-card li {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.web-card-wrap .web-card li span {
    white-space: nowrap;
    font-size: 1.75rem;
    font-weight: bold;
}

.web-card-wrap .web-card li p {
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -0.031rem;
}

.three-round-list {
    display: flex;
    gap: 5rem;
    justify-content: center;
    align-items: center;
}

.three-round-list .round-side {
    position: relative;
    width: 21.25rem;
    height: 21.25rem;
    background: #333a40;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.three-round-list .round-side.left:after,
.three-round-list .round-side.right:after {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -0.938rem;
    background: url('../../../pages/img/icon/icon_round.png') no-repeat;
    background-size: contain;
    width: 1.875rem;
    height: 1.875rem;
}

.three-round-list .round-side.left:after {
    right: -0.938rem;
}

.three-round-list .round-side.right:after {
    left: -0.938rem;
}

.three-round-list .round-side.left:before,
.three-round-list .round-side.right:before {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -2.5rem;
    background: url('../../../pages/img/icon/icon_round_arrow.png') no-repeat;
    background-size: contain;
    width: 5rem;
    height: 5rem;
}

.three-round-list .round-side.left:before {
    right: -5rem;
}

.three-round-list .round-side.right:before {
    left: -5rem;
    transform: rotate(180deg);
}

.three-round-list .round-side span {
    font-size: 2.875rem;
    color: #00dea4;
    letter-spacing: -0.031rem;
}

.three-round-list .round-side p {
    font-size: 1.5rem;
    color: #ffffff;
    font-weight: 400;
    letter-spacing: -0.031rem;
}

.three-round-list .round-center {
    width: 25rem;
    height: 25rem;
    border-radius: 50%;
    border: 1.5rem solid #00dea4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.three-round-list .round-center span {
    font-size: 3.375rem;
    font-weight: bold;
    color: #00dea4;
    letter-spacing: -0.031rem;
}

.three-round-list .round-center p {
    color: #333a40;
    font-size: 1.75rem;
    letter-spacing: -0.031rem;
    font-weight: 400;
}

@media (max-width: 1440px) {
    html, body {font-size:90%;}
    #contents .sub.about .section-3 .wrap,
    #contents .wrap {padding: 60px 20px;}
    #contents section.visual {padding: 200px 65px 100px;}
    /*#contents section.visual .wrap {height: 60vh;}*/
    .service-slide-wrap .slick-prev,
    .service-slide-wrap .slick-next {bottom: -80px;}

    .about-wrap {gap: 0;flex-direction: column;margin: 30px auto 0;}
    .about-wrap img {scale: 75%;}
    .team-info-list,.history-list {margin-top: 60px;}
    .bezel-img-wrap {scale: 44%;top: 90px;right: auto; left: 540px;}
    .core-value-list li {width: 100%;}
    #contents .sub.consulting .section-3 .wrap {flex-direction: column;gap: 0;}
    .sub.consulting form{margin: 0 auto;}
}

@media (max-width: 1300px) {
    #contents .sub.technical .tab-buttons {
        overflow-x: auto;
        overflow-y: hidden;
        justify-content: flex-start;
        padding-bottom: 0.625rem;
        -webkit-overflow-scrolling: touch;
        gap: 30px;
    }

    #contents .sub.technical .bg-other {
        padding: 4.875rem 3.063rem;
    }

    #contents .sub.technical .tab-button {
        flex: 0 0 auto;
        white-space: nowrap;
        margin-right: 1.5rem;
    }

    #contents .sub.technical .tab-button:last-child {
        margin-right: 0;
    }

    #contents .sub.technical .tab-buttons::-webkit-scrollbar {
        height: 0.375rem;
    }

    #contents .sub.technical .tab-buttons::-webkit-scrollbar-thumb {
        background-color: #d1d1d1;
        border-radius: 0.188rem;
    }

    #contents .sub.technical .tab-buttons::-webkit-scrollbar-track {
        background-color: #f1f1f1;
    }
}
@media (max-width: 1024px) {
    .bet-wrap {flex-direction: column; gap: 60px;}
    #contents section.visual.main {height: 65vh;}
    .three-round-list {flex-direction:column;gap: 3rem;}
    .three-round-list .round-side.left:after,
    .three-round-list .round-side.right:after,
    .three-round-list .round-side.left:before,
    .three-round-list .round-side.right:before {content: none;}
    .web-card-wrap {flex-direction: column;}
    .web-card-wrap .web-card {width: 100%;}
}

@media (min-width: 801px) and (max-width: 1024px){
    .menu ul {gap: 30px;}
    .menu ul li {font-size: 1.3rem;}
    footer {padding: 100px 60px;}
}

@media (max-width: 800px) {
    html, body {font-size: 70%;}

    .only-pc {display:none;}
    .only-mo {display:block;}

    header .menu {display: none;}
    header #hamburger-menu {display: flex;}

    #contents section.visual {padding: 0 0;}
    #contents section.visual .wrap {padding: 180px 20px 80px;}
    #contents section.visual.main .wrap {padding: 20% 20px 80px;}
    .visual .tit {margin-top: 20px;}

    .menu ul {gap: 20px;}
    .header-wrap {height: 70px;padding: 0 30px;gap: 40px;}

    .portfolio-list > li + li {padding-top:30px;}
    .portfolio-list .pf-info-wrap .pf-info .txt {gap: 10px;}
    .logo-wrap img {width: 30px; height: 30px;}
    .logo-wrap span {width: 32px;}

    .warning-box {padding: 60px 30px 20px 30px;}
    .warning-box:after {left: 33px;top: 20px;width: 30px;height: 30px;}

    .service-slide-wrap .slick-arrow {width: 40px; height: 40px;}

    .point-text-wrap {gap: 40px;}
    .point-text-wrap p {display: flex;flex-direction: column;align-items: center;}
    .point-text-wrap p > span {padding: 15px 30px;margin-top: 10px;margin-left: 0;}
    .card-list {gap: 50px;margin: 50px 0;}
    .card-list li {padding: 40px 25px;flex-direction: column;gap: 25px;}
    .card-list li img {scale: 70%;}
    .card-list li .circle-icon {width: 60px;height: 60px;}
    .card-list li .circle-icon img {scale: 70%;}
    .btn.default {padding: 10px 20px;height: 50px;margin: 70px auto 0;font-size: 1.5rem !important;}
    .review-wrap {flex-direction: column;align-items: center;gap:50px;}
    .review-wrap li {align-items: center;}
    .review-wrap li .star-num img {scale: 70%;width:65%;}
    footer {padding: 70px 20px;}
    footer .menu {gap: 20px;margin: 37px 0 34px;width: 100%;}
    footer .info {gap: 5px;}

    .portfolio-list {margin-top: 40px;}
    .portfolio-list .pf-info-wrap {padding: 30px 0;flex-direction: column;}
    .portfolio-list .pf-info-wrap .pf-info {width: 100%;padding-right: 0;}
    .portfolio-list .pf-info-wrap .pf-info + .pf-info {padding-left: 0;border-top: 1px solid #00dea4;border-left: none;padding-top: 20px;margin-top: 10px;border-top: 0;}
    .portfolio-list .pf-info-wrap .pf-info .txt {max-height: auto;height: 100%;}
    /*.portfolio-list .pf-info-wrap .pf-info li + li {margin-top: 5px;}*/

    .sub.consulting .area-2 {margin-top: 40px;}
    .sub.consulting .area-3 {margin-top: 100px;}
    .sub.consulting form {padding: 40px 30px;border-radius: 40px;}
    .sub.consulting form .line input {padding: 20px 20px;height: 50px;border-radius: 10px;}
    .sub.consulting form .line textarea {padding: 20px 20px;height: 250px;border-radius: 10px;}
    .sub.consulting form .line + .line {margin-top: 25px;}
    .consulting-info {margin: 40px auto 0;}

    .bet-wrap {gap: 50px;flex-direction: column;}

    .history-list .txt {flex-direction: column;}
    .history-list .txt > ul {width: 100%;}

    .team-info-list li {width: 90%;}
    .team-info-list li + li {margin-top: 20px;}
    .team-info-list li .tit {padding: 10px 30px;}
    .team-info-list li .cont {padding: 55px 30px;left:20px;}
    .team-info-list li:nth-child(2n) .cont {left: -20px;}

    .core-value-list li dl {padding: 30px 35px;}

    .sub-txt, .bet-wrap {margin-top: 60px;}

    .core-value-list{gap:30px;}

    .bezel-img-wrap {display: none;}

    .step-list {margin-top: 50px;}
    .step-list > ul > li {padding-left: 50px;padding-top:10px;}
    .step-list > ul > li:before {border: 1px dashed #003153;left: 18px;}
    .step-list > ul > li:nth-child(1):after,
    .step-list > ul > li:nth-child(2):after,
    .step-list > ul > li:nth-child(3):after,
    .step-list > ul > li:nth-child(4):after,
    .step-list > ul > li:nth-child(5):after {width: 40px;height: 50px;}
    .txt-list {padding-left: 30px;}

    .home .section-4 img {margin: 60px auto 0;}

    .sub.chat {margin: 100px 0;}

    .chat-wrap {border-radius: 50px;}
    .chat-header {padding: 20px 30px;}
    .chat-header p {font-size: 19px;margin-top: 20px;}
    .chat-logo {gap: 20px; height: 40px;}
    .chat-logo span {font-size: 28px;}
    .chat-logo img {width: 37px;height: 50px;}
    .chat-logo img.chat-back {width: 15px;height: 26px;}
    .chat-cont {padding: 30px 15px;min-height:640px;}
    .chat-detail > img {width: 66px; height: 60px;}
    .chat-detail .tit {font-size: 24px;margin-top: 25px;margin-bottom: 20px;}
    .chat .chat-time {margin: 30px 0 15px;font-size: 15px;}
    .chat-area .talk-area {gap: 28px;}
    /*.chat-area .talk-area img {width: 50px;height: 48px;}*/
    .chat-area .talk-area img {display:none;}
    .chat-area .talk-area .chat-line .chat-txt {padding: 17px 25px;font-size: 18px;border-radius: 25px;}
    .chat-area .talk-area .chat-line .chat-name {font-size: 18px;}
    .chat-input input {height: 40px;font-size: 17px;padding: 35px 100px 35px 20px;border-radius: 30px;}
    .chat-input .btn-wrap {margin-top: -15px;gap: 12px;}
    .chat-input .btn-wrap button {width: 25px;height: 25px;}
    .chat-card .card-top img {width: 35px;height: 35px;}
    .chat-card .btn-chat {height: 50px;margin-top: 25px;font-size: 20px;}
    .chat-info {font-size: 14px;margin-top: 30px;}
    .chat-card .card-top {font-size: 16px;line-height: 22px;gap: 15px;}
    .chat-card .card-top .txt p + p {font-weight: 500;}
    .chat-input {margin-top: 20px;bottom: 20px;left: 20px;right: 20px;}
    #gpt-floating-btn-div #gpt-floating-btn {max-width: 50px !important;}

    .b-agent-demo .b-agent-demo_result {
        top: 110px !important;
        bottom: 95px !important;
        width: 90% !important;}

    .b-agent-demo .b-agent-demo_header {
        top: 30px !important;
        width: 90% !important;}

    .b-agent-demo .b-agent-demo_input {
        bottom: 40px !important;
        width: 90% !important;}

    .solution-list-wrap {gap: 20px;flex-direction: column;}
    .solution-list-wrap li {width: 100%;}
    .solution-list-wrap li a {padding: 20px;}

    #contents .sub.technical .div-wrap {
        padding: 5.875rem 3.063rem;
    }
    .tech-list > ul li,
    .w3c-list li {
        flex-direction: column;
        margin-left: 0;
    }
    .w3c-list {
        margin-left: 0;
    }
    .tech-table table th:nth-child(1), .tech-table table td:nth-child(1) {width:auto;}
    .tech-table table th:nth-child(4), .tech-table table td:nth-child(4) {width:auto;}
    #contents .sub.technical .tab-button {
        padding: 20px 0;
        font-size: 2rem;
    }
    #contents .sub.technical .tab-buttons {
        padding: 0 2rem;
        gap: 15px;
    }
}

@media (max-width: 400px) {
    html, body {font-size: 60%;}

    .visual .subtit {font-size: 1.7rem;}
    .visual .tit {font-size: 2.85rem;}

    .team-info-list, .history-list {margin-top: 30px;}

    .service-slide-wrap li {width: 320px;line-height: 18px;min-height: 250px;padding: 130px 20px 20px;}
    .service-slide-wrap li:after {width: 60px;height: 60px;margin-left: -30px;}
    .service-slide-wrap {margin-top: 40px;}

    .txt-list {padding-left: 15px;}
    .step-list > ul > li + li {margin-top: 45px;}
    .step-list > ul > li:before {height: 140%;}

    .step-list .txt-list {margin-top: 10px;}
    .service-slide-wrap li.list-type-1:after,
    .service-slide-wrap li.list-type-2:after,
    .service-slide-wrap li.list-type-3:after,
    .service-slide-wrap li.list-type-4:after,
    .service-slide-wrap li.list-type-5:after,
    .service-slide-wrap li.list-type-6:after,
    .service-slide-wrap li.list-type-7:after,
    .service-slide-wrap li.list-type-8:after {background-size: 30px 30px;}

    .about-wrap {padding-bottom: 55px;}

    #contents .sub.about .section-3 .wrap {padding: 0 20px 60px;}
    .core-value-list {margin-top: 40px;}
    .core-value-list li dl {padding: 25px 25px;}
    .core-value-list li .header-txt {height: auto;padding: 15px 10px;}
    .sub.consulting .area-3 ul {padding-left: 30px;}
    .sub.consulting form .line + .line {margin-top: 20px;}
    .sub.consulting form .line input {padding: 15px 15px;height: 40px;}
    .sub.consulting form .line textarea {padding: 15px 15px;height: 200px;}
    .sub.consulting form {padding: 35px 20px;border-radius: 10px;}
    .warning-box {padding: 50px 25px 20px 25px; border-radius: 20px;width:100%;}
    .warning-box:after {left: 28px;width: 20px; height: 20px;}

    .location-info p {padding-left: 40px;}
    .location-info .address:after,
    .location-info .phone-num:after,
    .location-info .email:after {width: 25px; height:24px;}
    /*.team-info-list li .cont {padding: 60px 40px;}*/

    footer .menu {flex-wrap: wrap;}
}

.down-btn-wrap {
    overflow: hidden;
    margin-top: 15px;
}
.btn-down {
    font-size: 15px;
    border: 1px solid #aaacab;
    border-radius: 10px;
    padding: 6px 12px;
    color: #aaacab;
    background: transparent;
    cursor: pointer;
    transition: all 0.65s ease-in;
    position: relative;
    display: inline-block;
    z-index: 1;
    overflow: hidden;
}
.btn-down button {
    color: #aaacab;
    letter-spacing: -0.6px;
}
.btn-down button:focus {
    border: 0;
    outline: 0;
}
.btn-down:after {
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    right: 0;
    z-index: -1;
    background: #aaacab50;
    border-radius: 5px;
    transition: all 0.65s ease-in;
}
.btn-down:hover:after {
    left: 0;
    width: 100%;
}
