/* Gmarket Sans */
@font-face {font-family: 'GmarketSansLight'; font-weight: normal; font-style: normal; src: url('/font/GmarketSansLight.woff') format('woff');}
@font-face {font-family: 'GmarketSansMedium'; font-weight: normal; font-style: normal; src: url('/font/GmarketSansMedium.woff') format('woff');}
@font-face {font-family: 'GmarketSansBold'; font-weight: normal; font-style: normal; src: url('/font/GmarketSansBold.woff') format('woff');}

/* common */
html{overflow-y: auto;}
html,body {overflow-x: hidden;}
.flex{display: flex;}
.flex-jc{display: flex; align-items: center; justify-content: center;}
.flex-jb{display: flex; align-items: center; justify-content: space-between;}
.member{height: 940px; background: url(/img/sub/member_bg.png) no-repeat center / cover; color: #FFF; position: relative; overflow: hidden; z-index: 1;}
.member *{font-family: 'Pretendard';}
.member + .member{margin-top: 30px;}
.member .inner{max-width: 1160px; margin: 0 auto; height: 100%; display: flex; flex-direction: column; justify-content: center;}
.point{color: #ca9f68;}

/* start */
.member .start{height: 100%;}
.member .start h2{font-size: 50px; letter-spacing: -0.02em;}
.member .start p{font-size: 22px; letter-spacing: -0.02em; margin-top: 40px;}
.member .start .start_btn{font-size: 22px; letter-spacing: -0.02em; color: #083059; font-weight: 600; background: #ca9f68; width: 235px; height: 70px; text-align: center; display: inline-block; border: none; border-radius: 50px; margin-top: 75px;}
#scene {position: absolute; width: 50%; height: 100%; top: 0; right: 0; overflow: hidden;}
#scene .card {position: absolute; padding: 25px 56px; background: #FFF; border-radius: 999px; transform-origin: center; will-change: transform; transform: translate(-9999px, -9999px); font-size: 25px; color: #333; letter-spacing: -0.02em; width: fit-content;}
#scene .card span{font-family: 'GmarketSansBold' !important;}
#scene .card.bg01{background: #d5dfea;}
#scene .card.bg02{background: #a8b4cc;}
#scene .card.bg03{opacity: 0.5;}
#scene .card.circle{width: 110px; height: 110px; padding: 0; background: none;}
#scene .card img {width: 100%;}

/* test */
.member .test{align-items: center; text-align: center;}
.member .test .top{position: relative;}
.member .test .top .num{position: absolute; right: 0; top: 0; font-size: 18px; letter-spacing: 0.02em; color: #6c7890;}
.member .test .top .num span{color: #FFF;}
.member .test .top .logo img{width: 150px;}
.member .test .top .bar{margin: 12px auto 0; width: 484px; height: 5px; background: #6c7890; border-radius: 10px; position: relative; overflow: hidden;}
.member .test .top .bar .active{width: calc(var(--progress) * 1%); height: 100%; background: #FFF; position: absolute; left: 0; top: 0;}
.member .test .bottom{margin-top: 75px; width: 100%;}
.member .test .bottom .tit{font-size: 38px; letter-spacing: -0.02em; margin-bottom: 30px; font-weight: 500; line-height: 1.3;}
.member .test .bottom .tit .point{font-weight: 600;}

/* 이미지 선택형 */
.member .test .bottom .img_sel{gap: 7px;}
.member .test .bottom .img_sel .item{width: 189px; height: 200px; position: relative; cursor: pointer;}
.member .test .bottom .img_sel .item .img{width: 100%; height: 100%; object-fit: cover;}
.member .test .bottom .img_sel .item .hover{position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 25px; z-index: 1; opacity: 0; transition: all 0.3s;}
.member .test .bottom .img_sel .item:hover .hover{opacity: 1;}
.member .test .bottom .img_sel .item .hover p{font-size: 22px; letter-spacing: -0.02em;}
.member .test .bottom .img_sel.style .item .hover{gap: 8px;}
.member .test .bottom .img_sel.style .item .hover span{font-size: 22px; letter-spacing: -0.02em; color: #1c3463; font-weight: 600; display: inline-block; padding: 8px 12px; background: #a8b4cb; border-radius: 50px;}
.member .test .bottom .img_sel.style .item .hover p{font-size: 20px; font-weight: 500; min-height: 48px; line-height: 1.3;}

/* 텍스트 선택형 */
.member .test .bottom .txt_sel{display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px 25px; max-width: 440px; margin: 0 auto; width: 100%;}
.member .test .bottom .txt_sel button{font-size: 22px; letter-spacing: -0.02em; color: #000;  height: 49px; background: #FFF; border-radius: 10px; border: none; transition: all 0.3s;}
.member .test .bottom .txt_sel button:hover{background: #a8b4cc; font-weight: 500;}

/* 결과보기 */
.mt_0{margin-top: 0 !important;}
.member .test.complete .bottom .tit{margin-bottom: 75px;}
.member .test.complete .bottom .txt_sel{max-width: 635px;}
.member .test.complete .bottom .txt_sel button{gap: 11px; display: inline-flex; align-items: center; justify-content: center;}

/* 정보입력 */
.member .test .form_wrap{text-align: left; width: 890px; padding: 60px 70px; background: #FFF; border-radius: 10px; margin: 0 auto;}
.member .test .form{display: flex; flex-wrap: wrap; gap: 32px 65px;}
.member .test .form dl{display: flex; align-items: center; width: 100%;}
.member .test .form dl.half{width: calc(50% - (65px / 2));}
.member .test .form dl dt{width: 95px; color: #000; font-size: 22px; letter-spacing: -0.02em; font-weight: 500;}
.member .test .form dl dd{width: calc(100% - 95px);}
.member .test .form dl dd input,
.member .test .form dl dd select{width: 100%; height: 48px; padding: 0 16px; border-radius: 10px; border: 1px solid #e3e3e3; outline: none !important; color: #000; font-size: 18px; letter-spacing: -0.02em;}
.member .test .form dl.half dd{position: relative;}
.member .test .form dl dd .btn{position: absolute; right: 5px; top: 50%; transform: translateY(-50%); font-size: 15px; color: #FFF; background: #1d2748; padding: 0 12px; display: inline-block; border: none; border-radius: 8px; height: 38px; font-weight: 400;}
.member .test .form_wrap .agree{display: flex; align-items: center; margin-top: 15px; gap: 16px;}
.member .test .form_wrap .agree input{width: 20px; height: 20px; border-radius: 2px; appearance: none; border: 1px solid #ccc;}
.member .test .form_wrap .agree input:checked{background: url(/img/sub/mem_chk_ic.png) no-repeat center / cover; border: none;}
.member .test .form_wrap .agree label{color: #000; font-size: 18px; letter-spacing: -0.02em;}
.member .test.info .txt_sel{justify-content: center; display: flex; margin-top: 30px;}
.member .test.info .txt_sel button{width: 200px;}

/* 결과 */
.member .result{text-align: center;}
.member .result .title{font-weight: 500; margin-bottom: 50px;}
.member .result .title span{font-weight: 600;}
.member .result .title p{font-size: 22px; letter-spacing: -0.02em;}
.member .result .title .tit{margin-top: 50px; font-size: 38px; letter-spacing: -0.02em; font-weight: 500; line-height: 1.3;}
.member .result .img_wrap{gap: 10px;}
.member .result .img_wrap .img{width: 427px;}
.member .result .img_wrap img{width: 100%;}
.member .result .img_wrap .card{width: 280px; position: relative;}
.member .result .img_wrap .card p{font-size: 22px; letter-spacing: -0.02em; font-weight: 500; position: absolute; left: 50%; transform: translateX(-50%); bottom: 20px; width: 100%; line-height: 1.3; z-index: 2;}
.member .result .img_wrap .graph{width: 489px;}
.member .result .desc{margin-top: 40px; font-size: 18px; letter-spacing: -0.02em;}
.member .result .job{width: 908px; height: 240px; background: #FFF; border-radius: 10px; display: flex; position: relative; padding: 35px 0; letter-spacing: -0.02em; margin: 0 auto;}
.member .result .job .item{width: 33.33%; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.member .result .job .item + .item{border-left: 1px solid #999999;}
.member .result .job .item dl dt{font-size: 30px; font-weight: 600; color: #000;}
.member .result .job .item dl dd{margin-top: 12px; font-size: 20px; color: #999999;}
.member .result .job .item .num{margin-top: 22px; font-size: 36px; font-weight: 600; color: #000;}
.member .result .job .box{position: absolute; left: 50%; transform: translateX(-50%); bottom: -116px; background: #ca9f68; border-radius: 10px; border: 1px solid #FFF; display: flex; align-items: center; justify-content: center; flex-direction: column; color: #FFF; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; width: 440px; height: 133px;}
.member .result .job .box span{font-size: 36px;}
.member[data-result="경제력"] .inner{max-width: 100%;}