/*
Theme Name: GeneratePress Child
Template: generatepress
*/

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css");

*{margin:0px; padding:0px;}
*, :after, :before{box-sizing:border-box;}
body, html{width:100%; height:100%; min-width:360px; background:#FFF;}
body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select,table,a,p{font-family:Pretendard, '맑은 고딕', MalgunGothic, '돋움', Dotum, sans-serif; font-size:18px; font-weight:400; color:var(--black); line-height:1.4em; letter-spacing:-0.05em; word-break:keep-all; font-variant-numeric: tabular-nums;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
img,fieldset{max-width:100%; border:0px; vertical-align:top;}
ul,ol,dl{list-style-type:none;}
a{text-decoration:none;}
caption, legend{border:0px; display:none;}
em{font-style:normal;}
table{width:100%; border:0; border-collapse:collapse;}
input[type='button'],input[type='submit'],input[type='reset'],input[type='file'] {appearance: button; -webkit-appearance: button;}
:root{--black:#292a2b;}
:root{--color:#187aff;}

/* Common */
header{position: fixed; top: 0; left: 0; width: 100%; height: 100px; background-color: rgba(255, 255, 255, 0.5); backdrop-filter: blur(20px); box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); z-index: 10;}
.header-container{display: flex; justify-content: space-between; align-items: center; height: 100px; padding: 0 50px;}
.header-left, .header-right{display: flex; align-items: center; gap: 40px;}
.header-left .logo-item, .header-right .menu-item{display: flex; align-items: center; gap: 15px;}
.header-left .logo-item strong{font-size: 24px; font-weight: 700;}
.header-left .logo-item span{display: block; font-size: 16px;}
.header-right .menu-item{font-size: 24px; font-weight: 700;}
footer{background-color: #282b30; padding: 50px 0 30px;}
.footer-container{width: 92%; max-width: 1400px; margin: auto;}
footer p, footer li{color: #FFF;}
footer .site-name{font-size: 20px; font-weight: 700;}
footer .call-num{font-size: 42px; font-weight: 800; line-height: 1; margin-top: 10px;}
footer .footer-info{display: flex; justify-content: space-between; margin-top:30px;}
footer .info-list{display: flex; flex-wrap: wrap; column-gap: 30px; width: 700px;}
footer .info-list li{position: relative; display: inline-block; font-size: 16px; font-weight: 200; opacity: 0.7;}
footer .info-list li::after{content: ''; position: absolute; top: 5px; right: -15px; display: block; width: 1px; height: 12px; background-color: #FFF; opacity: 0.4;}
footer .info-list li:last-child::after{display: none;}
footer .copyright{margin-top: 10px; font-size: 16px; font-weight: 200; opacity: 0.7;}
.floating-bn{position: fixed; top: 50%; right: 50px; transform: translateY(-50%); padding: 0 5px 5px; background-color: var(--color); border-radius: 10px; text-align: center; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); z-index: 9;}
.floating-bn .top-info{padding: 20px 0 15px;}
.floating-bn .top-info .icon{position: absolute; top: -22px; left: 50%; display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; background-color: var(--color); border-radius: 50%; transform: translateX(-50%);}
.floating-bn .top-info .icon img{width: 28px;}
.floating-bn .top-info .tt{font-size: 16px; font-weight: 600; color: #FFF;}
.floating-bn .top-info .num{font-size: 16px; font-weight: 500px; color: #00fcff;}
.floating-bn .bn-list{display: flex; flex-direction: column; background-color: #FFF; border-radius: 5px;}
.floating-bn .bn-list .list{width: 90px; height: 90px;}
.floating-bn .bn-list .list .icon{width: 34px;}
.floating-bn .bn-list .list a{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: calc(100% - 20px); height: 100%; margin: auto; border-bottom: 1px solid #d1dae8;}
.floating-bn .bn-list .list:last-child a{border-bottom: none;}
.floating-bn .bn-list .list p{font-size: 14px; font-weight: 500;}

.menu-toggle{display: none;}
section{padding: 140px 0;}
.con-wrap{width: 92%; max-width: 1400px; margin: auto;}
.tit-wrap{text-align: center;}
.tit{font-size: 70px; font-weight: 700; margin-bottom: 30px;}
.tit em{font-weight: 800; color: var(--color);}
.txt{font-size: 40px; font-weight: 600; text-align: center;}
.txt em{font-weight: 700; color: var(--color);}
.txt::before{content: ''; display: block; width: 50px; height: 6px; background-color: var(--black); margin: 0 auto 30px;}
.btn{display: inline-block; height: 60px; padding: 0 35px; border-radius: 30px;}
.btn .wrap{display: flex; justify-content: center; align-items: center; gap: 15px; height: 60px;}
.btn p{font-size: 20px; font-weight: 700; color: #FFF;}

/* Main */
.con01{position: relative; padding: 220px 0 0; overflow: hidden;}
.con01 .tit-wrap{width: 92%; max-width: 1400px; margin: auto;}
.con01 .model-img{position: absolute; bottom: 0; left: 50%; width: 92%; max-width: 1400px; transform: translateX(-50%);}
.con01 .model-info{margin-top: 150px;}
.con01 .model-info .wrap{transform: translateX(50%);}
.con01 .model-info .info-txt .tt{font-size: 60px; font-weight: 700;}
.con01 .model-info .info-txt .tt span{font-size: 32px; font-weight: 600;}
.con01 .model-info .info-txt .desc{font-size: 24px; opacity: 0.8;}
.con01 .model-info .info-txt a{display: block; margin-top: 30px; font-size: 20px; font-weight: 800; color: var(--color);}
.con01 .model-info .info-list{background-color: #213f67; padding: 80px 0; margin-top: 80px;}
.con01 .model-info .info-list .wrap{display: flex; gap: 60px;}
.con01 .model-info .info-list .list{text-align: center;}
.con01 .model-info .info-list .list .icon{display: flex; justify-content: center; align-items: center; width: 100px; height: 100px; margin: auto; background-color: #FFF; border-radius: 50%;}
.con01 .model-info .info-list .list .icon img{width: 54px;}
.con01 .model-info .info-list .list p{margin-top: 15px; font-size: 18px; color: #FFF;}
.con02 .result-list{display: flex; margin-top: 100px; background-color: #f2f4f6; border-radius: 15px; overflow: hidden;}
.con02 .result-list .list{width: 25%; padding: 50px 0; text-align: center; transition: all ease-in-out 0.4s;}
.con02 .result-list .list .tt{font-size: 28px; font-weight: 700; transition: all ease-in-out 0.4s;}
.con02 .result-list .list .tt span{display: block; font-size: 22px; font-weight: 500; color: var(--color); opacity: 0.8;}
.con02 .result-list .list .num{font-size: 60px; font-weight: 800; transition: all ease-in-out 0.4s;}
.con02 .result-list .list .num .sc{font-size: 32px; font-weight: 900;}
@media (hover: hover) {
.con02 .result-list .list:hover{background-color: #213f67; border-radius: 15px;}
.con02 .result-list .list:hover .tt{color: #FFF;}
.con02 .result-list .list:hover .num{opacity: 1; color: #FFF;}
}
.con03{background: url('images/con03_bg.webp') no-repeat center; background-size: cover; overflow: hidden; text-align: center;}
.con03 .logo{display: flex; justify-content: center; align-items: center; gap: 30px; margin-bottom: 40px;}
.con03 .logo img{width: auto; height: 54px;}
.con03 .logo .dot{display: inline-block; width: 8px; height: 8px; background-color: #213f67; border-radius: 50%;}
.con03 .video{margin:100px auto; border-radius: 15px; overflow: hidden;}
.con03 .video video{width: 100%; vertical-align: middle;}
.con03 .btn{background-color: var(--black); margin:60px 0 80px;}
.con03 .btn img{width: 42px;}
.con03 .media-slide{overflow: visible !important;}
.con03 .media-slide .swiper-wrapper{transition-timing-function: linear !important;}
.con03 .media-slide .swiper-slide{width: auto; display: flex; align-items: center; border-radius: 15px; overflow: hidden; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);}
.con03 .media-slide img{height: auto; max-width: 500px; display: block;}
.con04{padding: 140px 0 0; background-color: #f3f5f7;}
.con04 .model-list{display: flex; justify-content: space-between; align-items: flex-end; margin-top: 140px;}
.con04 .model-list .list{position: relative; width: 50%;}
.con04 .model-list .list .model-img{position: absolute; bottom: 0; left: 0;}
.con04 .model-list .list dl{width: 70%; padding: 40px 20px 40px 32%; margin-left: 30%; margin-bottom: 60px; background-color: #FFF; border-radius: 15px;}
.con04 .model-list .list dl dt{position: relative; font-size: 30px; font-weight: 700;}
.con04 .model-list .list dl dt::before{content: ''; display: block; width: 5px; height: 25px; background-color: var(--color); position: absolute; top: 50%; transform: translateY(-50%); left: -20px;}
.con04 .model-list .list dl dt span{font-size: 20px; font-weight: 500;}
.con04 .model-list .list dl dd{margin-top: 15px;}
.con04 .model-list .list dl dd p{margin-bottom: 3px; font-size: 16px; font-weight: 300;}
.con04 .model-list .list dl dd p:last-child{margin-bottom: 0;}
.con05{text-align: center;}
.con05 .case-list{display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 100px;}
.con05 .case-list .list{position: relative; border-radius: 15px; overflow: hidden;}
.con05 .case-list .list dl{position: absolute; top: 0; left: 0; display: flex; flex-direction: column; width: 100%; height: 100%; padding: 30px 20px 0; text-align: center; transition: all ease-in-out 0.4s; box-sizing: border-box;}
.con05 .case-list .list dl dt{font-size: 24px; font-weight: 700; color: #FFF;}
.con05 .case-list .list dl dd{margin-top: 10px; font-size: 18px; color: #FFF; opacity: 0; transition: all ease-in-out 0.4s;}
@media (hover: hover) {
.con05 .case-list .list:hover dl{padding: 50% 20px 0; background-color: rgba(0, 100, 250, 0.5);}
.con05 .case-list .list:hover dl dd{opacity: 1;}
}
.con05 .btn{background-color: var(--color); margin-top: 80px}
.con05 .btn img{width: 20px;}
.con05 .video{margin:100px auto 0; border-radius: 15px; overflow: hidden;}
.con05 .video video{width: 100%; vertical-align: middle;}
.con06{background-color: #f3f5f7;}
.con06 .review-list{display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top:100px;}
.con06 .review-list .list{padding: 40px; background-color: #FFF; border-radius: 20px; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);}
.con06 .review-list .list .user-info{display: flex; gap: 15px; align-items: center;}
.con06 .review-list .list .user-info img{width: 50px; height: auto;}
.con06 .review-list .list .user-info p{font-size: 22px; font-weight: 600;}
.con06 .review-list .list .review-txt{margin:30px 0 20px; font-size: 20px; opacity: 0.8;}
.con06 .review-list .list .star-rating{font-size: 18px;}
.con07 .tit{margin-bottom: 60px;}
.con07 .btn-wrap{display: flex; justify-content: center; gap: 20px; margin:60px 0 120px;}
.con07 .btn-wrap .btn:first-child{background-color: var(--color);}
.con07 .btn-wrap .btn:first-child img{width: 20px;}
.con07 .btn-wrap .btn:last-child{background-color: #fae100;}
.con07 .btn-wrap .btn:last-child img{width: auto; height: 32px;}
.con07 .btn-wrap .btn:last-child p{color: #3d1d1e;}
.con07 .map{max-width: 940px; margin: auto; padding: 60px; background-color: #f3f5f7; border-radius: 30px;}