/*
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%; min-width:360px; background: url(images/bg.webp); background-size: cover;}
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:20px; font-weight:400; color:var(--black); line-height:1.2; 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;}
button{background: none !important; border: none;}
.blind{display: block; overflow: hidden; position: absolute; left: -9999px; width: 1px; height: 1px; font-size: 0; line-height: 0; text-indent: -9999px;}
:root{--black:#000000;}
:root{--color:#0073c4;}

/* Common */
header{position: fixed; top: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 780px; height: 100px; background-color: #FFF; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); z-index: 10;}
header .header-container{display: flex; justify-content: space-between; align-items: center; height: 100%; padding: 0 30px;}
header .logo a{display: flex; height: 100%; align-items: center; gap: 40px;}
header .top-btn a{display: flex; gap: 10px; align-items: center; justify-content: center; height: 42px; padding: 0 20px 0 8px; background: #0f3f61; background: -webkit-linear-gradient(45deg, #2b6995, #041a40); background: linear-gradient(45deg, #2b6995, #041a40); border-radius: 42px;}
header .top-btn a img{width: 28px;}
header .top-btn a p{font-size: 18px; font-weight: 700; color: #FFF;}
footer{width: 100%; max-width: 780px; margin: auto; padding: 35px 30px 20px; background-color: #213250; text-align: center;}
footer .logo{font-size: 34px; font-weight: 700; color: #FFF;}
footer .footer-info{margin-top: 35px; padding-top: 35px; border-top: 1px solid #4d5b73;}
footer .footer-info .wrap{display: flex; justify-content: center; gap: 35px; margin-bottom: 10px;}
footer .footer-info .wrap span{position: relative; font-size: 18px; color: #FFF; opacity: 0.6;}
footer .footer-info .wrap span::after{content: ''; position: absolute; top: 5px; right: -18px; display: block; width: 1px; height: 12px; background-color: #FFF; opacity: 0.4;}
footer .footer-info .wrap span:last-child::after{display: none;}
footer .copyright{margin-top: 20px; font-size: 18px; color: #FFF; opacity: 0.6;}
.left-bn{position: fixed; left: 50%; top: 50%; transform: translate(-705px, -50%); display: flex; flex-direction: column; gap: 40px; z-index: 9;}
.left-bn h2{font-size: 30px; font-weight: 300; color: #FFF;}
.left-bn h2 em{display: block; margin-top: 5px; font-size: 50px; font-weight: 700;}
.floating-bn{position: fixed; right: 50%; bottom: 40px; transform: translateX(512px); display: flex; flex-direction: column; gap: 20px; z-index: 9; text-align: center;}
.floating-bn a img{width: 80px;}
.floating-bn a p{margin-top: 10px; font-size: 18px; font-weight: 500; color: #FFF;}

/* Main */
.con-wrap{max-width: 780px; margin: auto; background-color: #FFF; overflow: hidden;}
section{padding: 120px 30px; box-sizing: border-box; overflow: hidden;}
.title{margin-bottom: 60px; font-size: 50px; text-align: center;}
.title em{display: block; font-size: 70px; font-weight: 700;}
.desc{margin-top: 60px; font-size: 32px; text-align: center; line-height: 1.4;}
.desc em{font-weight: 700;}
.tag{display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 40px auto 60px;}
.tag span{display: inline-block; padding: 0 15px; border-radius: 5px; border: 1px solid var(--color); box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1); line-height: 40px; color: #FFF;}
.latest-news{position: absolute; padding: 0; z-index: -9999;}
.site-main .post{padding: 100px 30px; text-align: center;}
.site-main .post .entry-title{font-size: 30px;}
.site-main .post .entry-content{margin-top: 20px;}
.site-main .post .entry-content .post-thumbnail{margin-bottom: 15px;}
.site-main .post .entry-content .post-thumbnail img{height: 100%;}

.agency-con{padding: 180px 0 0; background: #304c7d; background: -webkit-linear-gradient(-135deg, #304c7d, #1d2a43); background: linear-gradient(-135deg, #304c7d, #1d2a43);}
.agency-con .title{margin-bottom: 40px; color: #FFF;}
.agency-con .desc{margin-top: 0; color: #FFF;}
.agency-con .tag{width: 80%;}
.agency-con .tag span{background-color: rgba(4,26,64,0.5);}
.media-con{padding: 100px 0; background: url(images/media_bg.webp) no-repeat top #dfe5ec;}
.media-con .title-wrap{text-align: center}
.media-con .title-wrap .title{margin-top: 40px;}
.media-con .title-wrap .title .color{color: var(--color);}
.media-con .video-wrap{position: relative; width: calc(100% - 60px); margin: 40px auto;}
.media-con .video-wrap video{position: absolute; top: 25px; left: 25px; width: 670px;}
.swiper-wrapper{height: auto !important;}
.media-con .media-slide .swiper-slide{width: 460px; margin-bottom: 20px; border-radius: 10px; overflow: hidden; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);}
.media-con .desc{margin-top: 40px;}
.slide-con .swiper-slide{position: relative; display: flex;}
.slide-con .swiper-slide .img{position: relative; z-index: 1;}
.slide-con .swiper-slide .logo{transform: translateX(-50px);}
.slide-con .swiper-slide .info{position: absolute; bottom: 0; right: 0; width: 80%; padding: 40px 0 40px 260px; background-color: #ebefff; border-radius: 20px;}
.slide-con .swiper-slide .info h3{font-size: 32px; font-weight: 700;}
.slide-con .swiper-slide .info h3 span{font-size: 28px; font-weight: 500; color: var(--color);}
.slide-con .swiper-slide .info ul{display: flex; flex-direction: column; gap: 5px; margin-top: 25px;}
.slide-con .swiper-slide .info ul li{padding-left: 25px; background: url(images/bullet_icon.webp) no-repeat left; background-size: 15px;}
.swiper-button-next, .swiper-button-prev{top: 74px !important; width: 50px !important; height: 50px !important; border: 1px solid #ddd; background-color: #FFF; color: var(--black) !important;}
.swiper-button-next:after, .swiper-button-prev:after{font-size: 24px !important;}
.lawyer-con{background-color: #ebefff;}
.lawyer-con .slide-con .swiper-slide .info{background-color: #FFF;}
.promise-con{background: #304c7d; background: -webkit-linear-gradient(-135deg, #304c7d, #1d2a43); background: linear-gradient(-135deg, #304c7d, #1d2a43);}
.promise-con .title{color: #FFF;}
.promise-con .desc{color: #FFF;}
.promise-con .promise-list{position: relative; display: grid; grid-template-columns: repeat(2,1fr); background-color: rgba(68,104,166,0.5); border: 3px solid var(--color); border-radius: 20px;}
.promise-con .promise-list::before{content: ''; position: absolute; top: 0; left: 50%; display: block; width: 1px; height: 100%; background-color: #5bc2fe; opacity: 0.5;}
.promise-con .promise-list::after{content: ''; position: absolute; top: 50%; left: 0; display: block; width: 100%; height: 1px; background-color: #5bc2fe; opacity: 0.5;}
.promise-con .promise-list .list-item{padding: 30px 50px;}
.promise-con .promise-list .list-item .icon{width: 100px; height: 100px; border-radius: 50%; background-color: #FFF; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);}
.promise-con .promise-list .list-item .txt{margin-top: 30px;}
.promise-con .promise-list .list-item .txt h3{font-size: 24px; font-weight: 700; color: #FFF;}
.promise-con .promise-list .list-item .txt p{margin-top: 10px; line-height: 1.4; color: #FFF;}
.solution-con .solution-list{display: grid; grid-template-columns: repeat(2,1fr); column-gap: 20px; row-gap: 40px;}
.solution-con .solution-list .list-item .img{border-radius: 20px; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1); overflow: hidden;}
.solution-con .solution-list .list-item .txt{margin-top: 20px; padding-left: 20px;}
.solution-con .solution-list .list-item .txt h3{font-size: 24px; font-weight: 700;}
.solution-con .solution-list .list-item .txt p{margin-top: 10px; line-height: 1.4;}
.process-con{background: #304c7d; background: -webkit-linear-gradient(-135deg, #304c7d, #1d2a43); background: linear-gradient(-135deg, #304c7d, #1d2a43);}
.process-con .title{margin-top: 80px; color: #FFF;}
.process-con .desc{color: #FFF;}
.process-con .process-list{display: grid; grid-template-columns: repeat(2,1fr); gap: 40px;}
.process-con .process-list .list-item{position: relative; padding: 45px 0 30px; background-color: rgba(68,104,166,0.5); border: 3px solid var(--color); border-radius: 20px;}
.process-con .process-list .list-item:nth-child(odd)::after{content: ''; position: absolute; top: 50%; right: -34px; transform: translateY(-50%); display: block; width: 20px; height: 27px; background: url(images/step_arrow.webp) no-repeat; background-size: 100% auto;}
.process-con .process-list .list-item .badge{position: absolute; left: 50%; top: -22px; transform: translateX(-50%); display: inline-block; padding: 0 18px; border-radius: 30px; line-height: 40px; color: #FFF; background: #5bc2fe; background: -webkit-linear-gradient(180deg, #5bc2fe, #0475c5); background: linear-gradient(180deg, #5bc2fe, #0475c5); font-size: 22px; font-weight: 900;}
.process-con .process-list .list-item .txt{text-align: center;}
.process-con .process-list .list-item .txt h3{font-size: 24px; font-weight: 700; color: #FFF;}
.process-con .process-list .list-item .txt p{margin-top: 10px; line-height: 1.4; color: #FFF;}
.process-con .process-list .list-item.sucess{position: relative; border: 3px solid #FFF; background: #5bc2fe; background: -webkit-linear-gradient(180deg, #5bc2fe, #0475c5); background: linear-gradient(180deg, #5bc2fe, #0475c5);}
.process-con .process-list .list-item.sucess::after{content: ''; position: absolute; display: block; bottom: 0; right: 0; width: 125px; height: 112px; border-radius: 0 0 20px 0; background: url(images/sucess_bg_img.webp) no-repeat right bottom; overflow: hidden;}
.process-con .process-list .list-item.sucess .badge{background: #FFF; color: var(--color);}
.process-con .process-list .list-item.sucess .txt p{position: relative; z-index: 1; margin-top: 0; font-size: 30px; font-weight: 800;}
.process-con .desc{color: #FFF;}
.review-con{background-color: #ebefff;}
.review-con .review-list{display: flex; flex-direction: column; gap: 30px;}
.review-con .review-list .list-item{padding: 40px; background-color: #FFF; border-radius: 20px; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);}
.review-con .review-list .list-item .profile{display: flex; align-items: center; gap: 20px;}
.review-con .review-list .list-item .profile img{width: 50px;}
.review-con .review-list .list-item .profile p{font-size: 22px; font-weight: 600;}
.review-con .review-list .list-item .txt{margin: 30px 0 20px; color: #656565; line-height: 1.4;}
.review-con .review-list .list-item .txt em{font-weight: 600; color: var(--color);}
.assistant-con{position: relative; padding: 0;}
.assistant-con h2{position: absolute; top: 100px; width: 100%; font-size: 50px; color: #FFF; text-align: center;}
.assistant-con h2::before{content: ''; display: block; width: 30px; height: 3px; background-color: #FFF; margin: 0 auto 20px;}
.assistant-con h2 em{display: block; font-weight: 700;}
.office-con .tag span{background-color: #5686d9;}
.office-con .map{background-color: #ebefff; padding: 40px; margin-top: 40px; border-radius: 20px;}
.office-con .office-list{display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; margin-top: 60px;}
.office-con .office-list .list-item{border: 1px solid #ddd; border-radius: 15px; padding: 25px 35px;}
.office-con .office-list .list-item .info h3{font-size: 22px; font-weight: 700;}
.office-con .office-list .list-item .info p{margin-top: 10px;}
.office-con .office-list .list-item .btn-list{display: flex; gap: 10px; margin-top: 20px;}
.office-con .office-list .list-item .btn-list a{display: flex; align-items: center; gap: 8px; padding: 0 15px; background-color: var(--color); border-radius: 5px;}
.office-con .office-list .list-item .btn-list a p{line-height: 35px; font-size: 16px; font-weight: 700; color: #FFF;}
.office-con .office-list .list-item .btn-list a:last-child{background-color: #fbe300;}
.office-con .office-list .list-item .btn-list a:last-child p{color: #3b1e1e;}
.office-con .office-list .list-item .btn-list a img{width: 12px;}
.office-con .office-list .list-item .btn-list a:last-child img{width: 14px;}
.office-con .office-list .list-item.last{display: flex; align-items: center; background: url(images/tiger_bg_img.webp) no-repeat bottom right #ebefff;}
.office-con .office-list .list-item.last p{font-size: 40px; font-weight: 800; opacity: 0.4;}

@media screen and (max-width: 1039px){
footer{padding-bottom: 100px; background-color: #23392d;}
.left-bn{display: none;}
.floating-bn{max-width: 780px; right: auto; bottom: 0; flex-direction: row; justify-content: center; width: 100%; background-color: #FFF; left: 50%; transform: translateX(-50%); box-shadow: 0px -10px 10px rgba(0,0,0,0.1); gap: 0;}
.floating-bn a{width: 33.3333%;}
.floating-bn a .pc,
.floating-bn a p{display: none;}
.floating-bn a .mo{display: block;}
}