@charset "UTF-8";

html, body{
    margin: 0; padding: 0;
    box-sizing: border-box;
    color: #333;
}
li{list-style: none;}
/*all set*/

/* MSIG 팝업 시작 ********/

/*PACE 팝업 시작~~~~~~~~*/
.pacePopup{
    display: none;
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 999;
    width: 80%; min-width: 320px; border-radius: 15px; background-color: #fff;
}
.pacePopup .popup-inner{
    padding: 1.5rem 1rem 0;
}
.pacePopup strong{
    font-size: 1.5rem; font-weight: 600; color: #006934;
    text-align: center; display: block; margin-bottom: 20px;
}
.pacePopup p{
    font-size: .9rem; font-weight: 500; color: #666; margin-bottom: 45px; text-align: center;
}
.pacePopup ul{
    display: flex; flex-direction: column; gap: 15px;
}
.pacePopup dl{
    width: 40%; margin: 0 auto 20px; min-width: 280px;
}
.pacePopup li:not(:last-of-type) dl{
    border-bottom: 1px solid #eee; padding-bottom: 20px; margin-bottom: 20px;
}
.pacePopup dl dt{
    font-weight: 700; font-size: 1.1rem;
}
.pacePopup dl dt:not(.infoTxt){
    color: #333; margin-bottom: 10px;
}
.pacePopup dl dt.infoTxt{
    text-align: center; margin-bottom: 50px;
    color: #059669; position: relative;
}
.pacePopup dl dt.infoTxt:after{
    content: ''; width: 80%; background-color: rgba(5, 150, 105, 0.15); bottom: 0; left: 50%; transform: translateX(-50%);
    height:10px; position: absolute; z-index: -1;
}
.pacePopup dl dd{
    font-size: 1.1rem; font-weight: 400;
}
.pacePopup .btnWrap{
    display: flex; justify-content: center; gap: 20px;
}
.pacePopup .btnWrap button{
    border: 1px solid #006934;
    color : #006934;
    font-weight: 600;
    background-color: transparent;
}
.pacePopup .btnWrap button:hover{
    background-color: #006934;
    color: #fff;
    font-weight: 700;
}
.pacePopup .back{
    font-size: .85rem; font-weight: 400; color: #666; display: block; text-align: center; margin: 30px auto;
}
.pacePopup .back:hover{
    text-decoration: underline;
}
/*PACE 팝업 끝~~~~~~~~*/



/* 사용자 검사 결과 버튼 관련 시작 -----------*/
.wwwwhy ul{display: flex; flex-direction: column; gap: 15px;}
.wwwwhy ul li{display: flex; flex-direction: column; gap: 10px; font-size: 1.1rem; font-weight: 500}
.wwwwhy ul li:first-of-type{border-bottom: 1px solid #eee; padding-bottom: 20px}
.wwwwhy h4{font-size: 1.2rem;}
.wwwwhy li:first-of-type h4{ margin-top: 20px; }


.wwwwhy .btnWrap{
    margin-top: 15px;
    display: flex; gap: 15px;
}
.wwwwhy .btnWrap br{ display: none;}
.wwwwhy p{
    line-height: 1.8rem;
}
.wwwwhy span.bold{
    color: #065F46!important;
    font-size: 1.1rem;
}
.wrapper.wwwwSet{
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2,1fr);
    align-items: start;
}
.boxContain div[class$=Box],
.wwwwhy{
    background-color: #fff; border-radius: 10px;
    padding: 2rem 1rem;
}

.wwwwSet b{
    font-size: 1.3rem;
    font-weight: 700;
    color: #065F46;
    margin-bottom: 10px;
    display: block;
}
.boxContain div[class$=Box]{
    cursor: pointer;
}
.wwwwhy strong.t,
.wwwwSet strong.t{
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
    display: block;
    padding-left: unset!important;
}
.wwwwSet p{
    font-size: 1rem!important;
    line-height: 28px;
}
.pWrap{
    display: flex;flex-direction: column;gap: 10px; margin-top: 15px;
}

.boxContain div[class$=Box] span.bold{
    display: block;
    margin-top: 10px;
}
.boxContain span.bold{font-weight: 800; color: #333}


/* 버튼 관련 끝 -----------------------*/



/* MSIG 팝업 끝  ********/
/* 쿠폰 구매 무통장 입금 팝업 시작 ~~~~~~~~~~~~~~~~~~~~~~~~~*/
#payStatusPopup ,
#reportListPopup,
#couponBuyListPopup{
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 280px;
    width: 90%;
    max-width: 400px;
    transform: translate(-50%, -50%);
    z-index: 1005;
    background-color: #fff;
    border-radius: 10px;
}
#payStatusPopup .popup-inner,
#reportListPopup .popup-inner,
#couponBuyListPopup .popup-inner{
    padding: 2rem 1rem;
}
#payStatusPopup h2,
#reportListPopup h2,
#couponBuyListPopup h2{
    font-size: 1.5rem;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
#payStatusPopup .tit,
#reportListPopup .tit,
#couponBuyListPopup .tit{
    font-size: .9rem;
    font-weight: 500;
    margin-bottom: 30px;
    display: block;
    color: #666;
}
#payStatusPopup .accountNum{
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}
#payStatusPopup .wrapBox{
    margin: 15px 0;
    display: flex;
    gap: 20px;
    align-items: center;
}

#payStatusPopup .total-charge{
    font-weight: 700;
    color: #7a4dff;
    margin-top: 30px;
    font-size: 1.2rem;

}
#payStatusPopup .copyBtn {
    background-color: #eee;
    color: #666;
    font-weight: 600;
    border-radius: 5px;
    padding: 8px 12px;
    border: 1px solid transparent;
}
#payStatusPopup #payStatusCloseBtn ,
#reportListPopup #popupCloseBtn,
#couponBuyListPopup #payStatusCloseBtn{
    background-color: #eee;
    border-radius: 0 0 5px 5px;
    width: 100%;
    height: 40px;
    border: 1px solid transparent;
    color: #666;
    font-weight: 700;
}

#reportListPopup table{
    width: 100%;
    margin-bottom: 30px;
    border-bottom: 1px solid #b7b7b7 !important;
}
#reportListPopup table th{
    border-bottom: 1px solid #b7b7b7;
    border-top: 1px solid #b7b7b7;
    padding: 15px 10px;
    text-align: center;
    color : #666;
    font-size: .95rem;
    font-weight: 600;
}
#reportListPopup table td{
    padding: 15px 10px;
    text-align: center;
    font-size: .9rem;
    font-weight: 400;
}
#reportListPopup table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
#reportListPopup table td button{
    border: 1px solid #b7b7b7;
    font-size: .85rem;
    padding: 5px 8px;
    border-radius: 5px;
    font-weight: 700;
    color: #666;
    background-color: #fafafa;
}

#reportListPopup table td button:hover,
#reportListPopup table td button:active {
    opacity: .7;
}

#reportListPopup .pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}
#reportListPopup .pagination button {
    padding: 8px 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    color: #4b5563;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
#reportListPopup .pagination button:disabled{
    opacity: 0.4;
    cursor: not-allowed;
}
#reportListPopup .pagination .page-info {
    padding: 0 12px;
    font-size: 0.9rem;
    color: #4b5563;
    font-weight: 600;
}
/*쿠폰 재고 현황 팝업 시작 ---------------------------------------*/
#couponBuyListPopup .bot{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#couponBuyListPopup .bot dl{
    display: grid;
    grid-template-columns: repeat(2,1fr);
}
#couponBuyListPopup .bot dt {
    font-weight: 600;
    font-size: .95rem;
    color: #5d688a;
}

#couponBuyListPopup .bot dd {
    font-size: .9rem;

}
/* saas 쿠폰 팝업 끝 ~~~~~~~~~~~~~~~~~~~~*/










/* MSIG 정보입력 시작 ********/
#consultPage.page1{
    width: 100%;
    padding-top: 60px;
    margin: 50px auto;
    max-width: 1200px;
}
#consultPage.page1 .top,
#consultPage.page1 .bottom{
    background-color: #fff;
    width: 100%;
    padding: 1rem;
}
#consultPage.page1 .top{
    line-height: 26px;
    font-size: 18px;
    margin-bottom: 20px;
    border-radius: 10px 10px 0 0;
}
#consultPage.page1 .top strong{
font-size: 18px; font-weight: 600; color: #065F46}

#consultPage.page1 .bottom{
    border-radius: 0 0 10px 10px;
}

#consultPage.page1 .bottom form{
    width: 50%;
    margin: 50px auto;
}
#consultPage.page1 .bottom legend{
    font-size: 18px;
    display: block;
    text-align: center;
    font-weight: 400;
    margin-bottom: 20px;
}

#consultPage.page1 .bottom ul{
    margin-bottom: 40px;
}
#consultPage.page1 .bottom li> label, #consultPage.page1 .bottom li> p.tit{
    font-size: 16px;
    font-weight: 700;
    color: #333;
    display: block;
    margin-bottom: 10px;
}
#consultPage.page1 .bottom input[type=number],
#consultPage.page1 .bottom input[type=email]{
    padding: 10px;
    font-size: 1rem;
    border: 1px solid transparent;
    outline: none;
    background-color: #eee;
    border-radius: 10px;
    height: 45px;
    transition: all .5s ease;
}
#consultPage.page1 .bottom input[type=number]:invalid,
#consultPage.page1 .bottom input[type=email]:invalid{
    border-radius: 0;
    border-bottom: 1px solid #F15F79;
    background-color: #fff;
}
#consultPage.page1 .bottom input[type=number]:not(#money),
#consultPage.page1 .bottom input[type=email]{
    width: 100%;
}
#consultPage.page1 .bottom input#money{
    width: 92%;
}
#consultPage.page1 .bottom .caution{
    font-size: 12px;
    color: #8100c2;
}
#consultPage.page1 .bottom .infobox li{
    margin-bottom: 40px;
}
#consultPage.page1 .bottom .infobox input[type=radio],
#consultPage.page1 #personal-chk input[type=checkbox],
#consultPage.page1.unUser #chk5 input{
    display: none;
}
#consultPage.page1 .bottom .infobox input[type=radio] +label,
#consultPage.page1 #personal-chk input[type=checkbox]+ span,
#consultPage.page1.unUser #chk5 input+label{
    transition: .3s ease-in-out;
    padding-left: 22px;
    position: relative;
    color: #666;
}
#consultPage.page1 .bottom .infobox input[type=radio] +label:first-of-type{
    margin-right: 10px;
}
#consultPage.page1 .bottom .infobox input[type=radio] +label:before,
#consultPage.page1.unUser #chk5 input+label:before{
    content: '';
    display: block;
    position: absolute; top: 50%; left: -2px; transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid #666;
    background-color: #fff;
    width: 15px; height: 15px;
}
#consultPage.page1 .bottom .infobox input[type=radio]:checked +label,
#consultPage.page1.unUser #chk5 input:checked + label{
    font-weight: 700;
    color: #065F46;
}
#consultPage.page1 .bottom .infobox input[type=radio]:checked +label:after,
#consultPage.page1.unUser #chk5 input:checked+label:after{
    content: '';
    display: block;
    position: absolute; top: 50%; left: 3px; transform: translateY(-50%);
    border-radius: 50%;
    background-color: #065F46;
    width: 8px; height: 8px;
}
#consultPage.page1 #personal-chk{
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}
#consultPage.page1 #personal-chk label{
    color: #065F46;
}
#consultPage.page1 #personal-chk input[type=checkbox] +span:before{
    content: '';
    display: block;
    position: absolute; top: 50%; left: -2px; transform: translateY(-50%);
    border: 1px solid transparent;
    background-color: #fff;
    width: 15px; height: 15px;
    padding-left: 2px;
}
#consultPage.page1 #personal-chk input[type=checkbox]:checked ~label{
    font-weight: 800;
}
#consultPage.page1 #personal-chk input[type=checkbox]:checked +span:before{
    content: '✔';
    color: #fff;
    font-size: 12px;
    background-color: #065F46;
    border-color: transparent;
}

#consultPage.page1 .personal-box{
    padding: 10px;
    background-color: rgba(6, 95, 70, 0.2); ;
    border-radius: 10px;
}
#consultPage.page1 .personalBtn{
    border: 2px solid #065F46;
    font-size: 12px;
    cursor: pointer;
    font-weight: 700;
    background-color: #fff;
    padding: 5px 10px;
    border-radius: 8px;
    color: #065F46;
    letter-spacing: 1px;
}
#consultPage.page1 div.btn{
    width: 20%;
    cursor: pointer;
    margin: 0 auto;
    height: 60px;
}
#consultPage.page1 input[type=submit]{
    width: 100%; height: 100%;
    background-color: #065F46;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
}


/* 회원가입 안한 유저 시작 ----------------------*/
#consultPage.page1.unUser .bottom ul{
    display: flex;
    flex-direction: column;
}
#consultPage.page1.unUser input[type=text],
#consultPage.page1.unUser #chk6 select {
    padding: 10px;
    font-size: 1rem;
    border: 1px solid transparent;
    outline: none;
    background-color: #eee;
    width: 100%;
    border-radius: 10px;
    height: 45px;
    transition: all .5s ease;
}
#consultPage.page1.unUser #chk6 select:invalid,
#consultPage.page1.unUser input[type=text]:invalid {
    border-radius: 0;
    border-bottom: 1px solid #F15F79;
    background-color: #fff;
}
#consultPage.page1.unUser #chk9 select {
    padding: 10px;
    font-size: 1rem;
    border: 1px solid transparent;
    outline: none;
    background-color: #eee;
    width: 100%;
    border-radius: 10px;
    height: 45px;
    transition: all .5s ease;
}
#consultPage.page1.unUser #chk9 select:invalid,
#consultPage.page1.unUser input[type=text]:invalid {
    border-radius: 0;
    border-bottom: 1px solid #F15F79;
    background-color: #fff;
}
#consultPage.page1.unUser #chk5 {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
#consultPage.page1.unUser #chk5 .tit {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}
#consultPage.page1.unUser #chk5 input:invalid +label:before,
#consultPage.page1.unUser .type1 input:invalid +label:before,
#consultPage.page1.unUser .type2 input:invalid +label:before{
    background-color: #eee;
    border: 1px solid #F15F79;
}
#consultPage.page1.unUser #chk5 label,#consultPage.page1.unUser #chk5 input{
    margin: unset!important;
}
#consultPage.page1.unUser button.submit{
    margin: 0 auto;
    display: block;
}

#consultPage.page1.unUser #chk7 {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

#consultPage.page1.unUser #chk8 {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

/* MSIG 정보입력 끝 ********/


/* MSIG TEST 시작 ********/
#msigTest{
    font-family: "NEXON Lv2 Gothic";
    width: 100%;
}
#msigTest .test-inner{
    min-height: calc(100vh - 380px);
    width: 100%;
    max-width: 1200px;
    padding-top: 60px;
    margin: 20px auto 100px;
}
#msigTest .top{
    width: 90%;
    margin: 0 auto 80px;
    text-align: center;
    color: #065F46;
    font-size: 18px;
    background-color: rgba(6, 95, 70, 0.2); ;
    padding: 1rem;
    border-radius: 10px;
}
#msigTest .top span{
    font-size: 20px;
}
#msigTest legend{display: none;}


#msigTest dl{
    width: 100%;
}
#msigTest dl dt:not(:first-of-type),#msigTest dl dd:not(:first-of-type),#msigTest .btn{
    display: none;
}
#msigTest dl dd:not(:last-of-type){
    margin-bottom: 100px;
}
#msigTest dt{
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    margin-bottom: 50px;
    font-size: 18px;
}
#msigTest dt span{
    background-color: rgba(129, 0, 194, 0.2);
    color: #8100c2;
    font-weight: 800;
    border-radius: 10px;
    padding: 10px;
    display: inline-block;
    margin-bottom: 15px;
}
#msigTest dd{
    width: 90%;
    margin: 0 auto;
}
#msigTest dd ul {
    position: relative;
    display: flex;
    justify-content: space-between;
}
#msigTest dd ul:before{
    display: block;
    content: '';
    width: 95%;
    height: 2px;
    background-color: #065F46;
    position: absolute;
    top: 20%; left: 50%; transform: translate(-50%, -50%);
}
#msigTest dd ul li{
    text-align: center;
}
#msigTest dd input{
    display: none;
}
#msigTest dd label{
    position: relative;
    color: transparent;
}

#msigTest dd label:before{
    border: 2px solid #065F46;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    display: block;
    content: '';
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 30px; height: 30px;
}


#msigTest dd li:nth-of-type(2) label::before,
#msigTest dd li:nth-of-type(4) label::before {
    width: 20px; height: 20px;
    border-color: rgba(3, 31, 93, 0.7);
}


#msigTest dd li:nth-of-type(3) input:checked + label::before{
    background-color: #b7b7b7;
}

#msigTest dd li:nth-of-type(3) label::before{
    border-color: #b7b7b7;
    width: 20px; height: 20px;
}

#msigTest dd input[type=radio]:checked + label:before{
    background-color: #065F46;
}
#msigTest dd span{
    display: block;
    font-size: 14px;
    margin-top: 15px;
    color: #666;
}

#msigTest .btn{
    margin: 80px auto;
    position: relative;
}
#msigTest .btn:before{
    content: '수고하셨습니다 !';
    display: block;
    color: #065F46;
    font-size: 14px;
    position: absolute;
    top: -20px;
    left: 50%; transform: translateX(-50%);
}
#msigTest .btn input{
    cursor: pointer;
    font-size: 18px;
    display: block;
    margin: 0 auto;
    border: 1px solid transparent;
    width: 30%;
    background-color: #065F46;
    border-radius: 5px;
    color: #fff;
    padding: 1rem;
}

/* MSIG TEST 끝   ********/

/*msig pdf 시작 *******/


div.cunsult3Top {
    margin: 0 auto;
    width: 92%;
    padding: 35px 5px 10px;
}

div.cunsult3Top .name{
    font-family: "Noto Sans KR",sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: #3c3b3b;
    letter-spacing: 1px;
    line-height: 28px;
    margin-bottom: 20px;
    display: block;
}
div.cunsult3Top .name strong{
    font-weight: 700;
}


/** cunsultPage3 **/

div.cunsult3Top {
    margin: 0 auto;
    width: 92%;
    padding: 35px 5px 10px;
}

div.cunsult3Top .name{
    font-family: "Noto Sans KR",sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: #3c3b3b;
    letter-spacing: 1px;
    line-height: 28px;
    margin-bottom: 20px;
    display: block;
}
div.cunsult3Top .name strong{
    font-weight: 700;
}


#cunsultPage.page3 {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto;
}
#cunsultPage.page3 .progressBar{width: 100%;}
#cunsultPage.page3  .titInfo span{
    margin-left: auto;
    font-weight: 700;
    display: block;
    text-align: right;
}
#cunsultPage.page3 #progress{display: none; appearance: none; width: 100%; height: 30px;}
#cunsultPage.page3 #progress::-webkit-progress-bar{
    background-color: #d7d7d7;
    border-radius: 25px;
}
#cunsultPage.page3 #progress::-webkit-progress-value{
    border-radius: 25px;
    background-color: #FFC107;
}

#cunsultPage.page3 .cent{
    margin: 50px auto;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

#cunsultPage.page3 .cent .boxContain{
    justify-content: space-between;
    gap: 25px;
    display: flex;
    flex-wrap: wrap;
}
#cunsultPage.page3 .cent .oneBox{
    width: 50%;
}
#cunsultPage.page3 .cent .oneBox .wrap{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#cunsultPage.page3 .cent .oneBox .wrap >p{
    font-size: 12px;
}
#cunsultPage.page3 .cent .oneBox .wrap >p .point{
    display: block;font-weight: 700;
    color: #065F46; font-size: 16px;
}
#cunsultPage.page3 .cent .oneBox .wrap >p .point:first-of-type{
    margin-bottom: 20px;
}

#cunsultPage.page3 .cent .boxContain .twoBox b{
    color: #065F46;
}


#cunsultPage.page3 .cent .boxContain strong.t-sub{
    font-size: 1.3rem;
    color: #666;
    display: block;
    margin-bottom: 10px;
    font-weight: 700;
}
#cunsultPage.page3 .cent .boxContain div[class$=Box] strong.t,
#cunsultPage.page3 .cent .boxContain strong.t-sub,
#cunsultPage.page3 .cent .textBoxContain h4 em{
    position: relative;
    padding-left: 28px;
}
#cunsultPage.page3 .cent .boxContain div[class$=Box] strong.t:before,
#cunsultPage.page3 .cent .boxContain strong.t-sub:before,
#cunsultPage.page3 .cent .textBoxContain h4 em:before{
    display: block; content: ''; position: absolute; top: -2px; left: 0;
    width: 20px; height: 20px; background-position: center; background-size: 100%;
}

#cunsultPage.page3 .cent .boxContain .oneBox strong.t:before{background-image: url("../images/report/msigIcon1.png")}

#cunsultPage.page3 .cent .boxContain .twoBox strong.t:before{background-image: url("../images/report/msigIcon2.png")}
#cunsultPage.page3 .cent .boxContain .threeBox .t-sub:before {background-image: url("../images/report/msigIcon3.png")}
#cunsultPage.page3 .cent .textBoxContain h4 em:before{background-image: url("../images/report/msigIcon4.png")}

#cunsultPage.page3 .cent .boxContain .oneBox p{
    margin-bottom: 20px;
}
#cunsultPage.page3 .cent .boxContain div[class$=Box] p{
    font-size: 14px;
    line-height: 22px;
}
#cunsultPage.page3 .cent .textBoxContain h4{
    font-weight: 700;
    font-size: 1.1rem;
    position: relative;
}
#cunsultPage.page3 .cent .textBoxContain h4 em{
    display: block;
    margin-top: 10px;
    color: #EE404C;
}
#cunsultPage.page3 .cent .wgsWgs{
    width: 100%;
}
#cunsultPage.page3 .cent .wgsWgs .wgs-inner{
    padding:  1.5rem 1rem;
    border-radius: 10px;
    background-color: #fff;
}
#cunsultPage.page3 .cent .wgsWgs strong{
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    display: block;
    margin-bottom: 20px;
}
#cunsultPage.page3 .cent .wgsWgs ul{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
#cunsultPage.page3 .cent .wgsWgs ul li{
    background-color: #fbfdff;
    position: relative;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 1rem;
    display: flex;
    line-height: 1.8rem;
    height: 100%;
    align-items: center;
    border-radius: 10px;
    text-align: center;
    margin-bottom: unset!important;
}
#cunsultPage.page3 .cent .wgsWgs ul li:not(:last-of-type):after{
    display: block; content: '>';
    font-size: 1.3rem;
    color: #666;
    position: absolute;
    right: -15px;
    top: 50%; transform: translateY(-50%);
}



#cunsultPage.page3 .top {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto 100px;
    border: 1px solid transparent;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
#cunsultPage.page3 .top  .section {
    width: 100%;
}
#cunsultPage.page3 .top .tit {
    width: 100%;
    position: relative;
    text-align: center;
    padding: 25px 10px 20px;
    border-radius: 8px;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}


#cunsultPage.page3 .top .tit .accent{
    color: #065F46;
    font-weight: 700;
    font-size: 30px;
}
#cunsultPage.page3 .actionChange{
    color: #4f0d00 !important;
}

#cunsultPage.page3 .top .tit em{
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-style: normal;
    color: #666;
}

#cunsultPage.page3 .top .tit .more-{
    color: #666;
    font-size: 16px;
}

#cunsultPage.page3 .top .tit .icon {
    display: block;
    margin: 0 0 23px 0;
    width: 62px;
}




#cunsultPage.page3 .top .txt {
    font-size: 14px;
    line-height: 1.3;
    border-radius: 8px;
    padding: 20px 10px;
    text-align: center;
}

#cunsultPage.page3 .top .txt strong{
    font-weight: 700;
    color: #000;
}
#cunsultPage.page3 .top p.com >strong.qu{
    font-weight: 600;
    display: block;
    margin-bottom: 5px;
}
#cunsultPage.page3 .top .txt .save{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#cunsultPage.page3 .top .txt .save> strong{
    font-weight: 700;
    display: block;
}

#cunsultPage.page3 .top .saveMoney{
    padding: 5px;
    background-color: #fff;
    background-image: unset;
    border: 1px solid rgba(242, 143, 26, 0.5);
    position: relative;
    text-align: center;
    border-radius: 8px;
    width: 45%;
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#cunsultPage.page3 .saveMoney p{
    font-size: 16px;
    font-weight: 500;
    line-height: 25px;
    color: #333;
}



#cunsultPage.page3 .saveMoney p b,
#cunsultPage.page3 .top .txt span {
    position: relative;
    color: #f28f1a;
}
#cunsultPage.page3 .saveMoney:before {
    position: absolute;
    top: -20px;
    left: -10px;
    /*content: '';*/
    display: block;
    background: url(../images/consult/ico-moneyE-img.png) no-repeat center;
    background-size: 40px;
    transform: rotate(-30deg);
    width: 40px;
    height: 40px;
}
#cunsultPage.page3 .saveMoney:after{
    /*content: 'TIP!';*/
    position: absolute;
    top: -20px;
    left: 20px;
    color: #C07F00;
    font-weight: 700;
    display: block;
    background-size: 40px;
    width: 40px;
    height: 40px;
}



#cunsultPage.page3 .saveMoney span{
    position: absolute;
    bottom: 10px;
    line-height: 18px;
    font-size: 12px;
    left: 0;
    width: 100%;
    opacity: 1;
    color: #444;
    text-align: center;
    animation: fadeInOut 3s ease-in-out infinite;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 1;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}


#cunsultPage.page3 .top .txt .accent,
#cunsultPage.page3 .top .tit .accent,
#cunsultPage.page3 .saveMoney p b,
#cunsultPage.page3 .top .txt span{
    color: #f28f1a;
    font-weight: 800;
    font-size: 18px;
}
#cunsultPage.page3 .top .txt span.wgsUp{
    display: block;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #4f0d00 !important;
}
#cunsultPage.page3 .top .txt span.wgsUp b{
    display: block;
    font-weight: 800;
    font-size: 16px;
}
#cunsultPage.page3 .top .txt span.wgsUp b:first-of-type{
    margin-bottom: 5px;
}
#cunsultPage.page3 .top .txt span:last-of-type:before{
    color: #343131;
    content: '';
    width: 15%;
    height: 1px;
    display: block;
    margin: 0 auto;
}
#cunsultPage.page3 .bottom{
    position: relative;
}
#cunsultPage.page3 .bottom .background{
    width: 100%;
    position: absolute;
    height: 300px;
    top: 0; right: 0; left: 0; bottom: 0;
    z-index: 80;
    backdrop-filter:blur(5px);
}
#cunsultPage.page3 .bottom .info1 {
    /*padding: 35px 0 80px 0;*/
    /*padding: 35px 0 400px 0;*/
}

#cunsultPage.page3 .bottom .info1 .tit {
    margin: 0 30px;
    position: relative;
}

#cunsultPage.page3 .bottom .info1 .tit span {
    position: absolute;
    left: 0;
    z-index: 500;
    top: 5px;
    padding: 0 0 0 10px;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 500;
    color: #22319f;
}

#cunsultPage.page3 .bottom .info1 .tit span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 5px;
    height: 4px;
    border-radius: 50%;
    background: #22319f;
}

#cunsultPage.page3 .bottom .info1 .graph-list {
    position: relative;
    margin: 45px 0 80px 0;
    padding: 0 20px
}

#cunsultPage.page3 .bottom .info1 .graph-list:after {
    content: '';
    display: table;
    width: 100%;
    clear: both
}

#cunsultPage.page3 .bottom .info1 .graph-list:before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -80px;
    width: 95%;
    height: 80px;
    background: #ffe4a0;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item {
    position: relative;
    float: left;
    width: 25%;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph {
    position: relative;
    margin: -15% 0 0 0;
    padding: 202% 0 0 0;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar {
    position: absolute;
    left: 15%;
    bottom: 4%;
    width: 70%;
    height: 88%
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #5bcaff;
}


#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar1 {
    position: absolute;
    left: 15%;
    bottom: 4%;
    width: 70%;
    height: 88%
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar1 p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #ff524a;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: solid #fff;
    border-width: 0 12px;
    background: url('../images/consult/graph_bg2.png') no-repeat 0 0 / 100% auto;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .txt {
    position: absolute;
    left: 50%;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    transform: translateX(-50%)
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .txt:first-line {
    font-size: 22px
}

#cunsultPage.page3 .bottom .info1 .graph-list .line {
    position: absolute;
    z-index: 10;
    width: 95%;
    left: 50%; transform: translateX(-50%);
    border-bottom: 2px dashed  #22319f;
    overflow: hidden;
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    text-indent: -9999px;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span {
    left: 27%
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span + span {
    left: 53%
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span + span + span {
    left: 80.5%
}


#cunsultPage.page3 .bottom .info2{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 25px 10px;
    position: relative;
    margin: 100px 0;
    align-items: center;
    text-align: center;
    justify-content: center;
    border: 1px solid rgba(242, 143, 26, 0.5);
    border-radius: 8px;
}

#cunsultPage.page3 .bottom .info2 .tit {
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #343131;
    position: relative;
    margin-bottom: 30px;
}
#cunsultPage.page3 .bottom .info2 .tit:after{
    display: block;
    content: '';
    width: 95px;
    height: 3px;
    background: #FFC107;
    border: 1px solid #FFC107;
    padding: 0 0 6px 0;
    border-radius: 10px 0 10px 0;
    position: absolute;
    left: 50%;
    bottom: 2px;
    z-index: 10;
    opacity: 0.5;
    transform: translateX(-50%);
}

#cunsultPage.page3 .bottom .info2 .txt {
    position: relative;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #343131;
    background: #fff;
}

#cunsultPage.page3 .bottom .info2 .txt:after {
    right: -7px
}
#cunsultPage.page3 .circle{

    border-radius: 50%;
}
@keyframes rotateCircle {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#cunsultPage.page3 .progressCircle{
    width: 100%;
    margin-bottom: 30px;;
}
#cunsultPage.page3 .progressCircle .progress-inner{
    width: 78%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    text-align: center;
}
#cunsultPage.page3 .progressTit{
    font-size: 14px;
    font-weight: 400;
    color: #343131;
    margin: 10px 0 20px;
}
#cunsultPage.page3 .circle{
    font-size: 14px;
    width: 140px;
    height: 140px;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #f28f1a;
    position: relative;
    margin: 0 auto;
    transition: 5s ease-in-out;
    background: conic-gradient(#fff0dd 0deg, white 0deg);
}
#cunsultPage.page3 .in-circle{
    width: 85%;
    height: 85%;
    border-radius: inherit;
    background: #fff;
    margin: auto;
    display: flex;
    color: #fff;
    justify-content: center;
}

@keyframes smallBig {
    0% {
        transform: scale(1);
    }
    25% {
        transform: scale(0.9);
    }
    50% {
        transform: scale(1);
    }
    75% {
        transform: scale(0.9);
    }
    100% {
        transform: scale(1);
    }
}

#cunsultPage.page3 .in-circle .perNum {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    animation: smallBig 5s ease-in-out infinite;
    transform-origin: center;
}
#cunsultPage.page3 .in-circle .perNum {
    will-change: transform;
}

#cunsultPage.page3 #couple-box,
#counselPage.pageOnly #couple-box{
    width: 100%;
    margin: 100px 0;
}
#cunsultPage.page3 #couple-box .cb-inner,
#counselPage.pageOnly #couple-box .cb-inner{
    margin: 0 auto;
}
#cunsultPage.page3 .talk-area,
#counselPage.pageOnly .talk-area{
    padding: 40px 0;
    background: #9bbbd4;
}
#cunsultPage.page3 .talk-area .talk-inner,
#counselPage.pageOnly .talk-area .talk-inner{
    width: 85%;
    margin: 0 auto;
}
#cunsultPage.page3 .me-talk,
#counselPage.pageOnly .me-talk{
    background: #fef01b;
}
#cunsultPage.page3 .me-talk:first-of-type,
#counselPage.pageOnly .me-talk:first-of-type{
    width: 58%;
    margin-left: auto;
}
#cunsultPage.page3 .me-talk:last-of-type,
#counselPage.pageOnly .me-talk:last-of-type{
    margin-left: auto;
    width: 89%;
    font-size: 0.95em;
    line-height: 1.7em;
}

#cunsultPage.page3 .u-talk,
#counselPage.pageOnly .u-talk  {
    background: #fff;
    width: 34%;
    margin-right: auto;
}
#cunsultPage.page3 .me-talk .txt,
#counselPage.pageOnly .me-talk .txt{
    background: #fff;
    padding: 12px 15px;
    width: 85%;
    margin: 0 auto;
    border-radius: 8px;
}
#cunsultPage.page3 .me-talk .txt a,
#counselPage.pageOnly .me-talk .txt a{
    display: flex;
    align-items: center;
    justify-content: center;
}
#cunsultPage.page3 .me-talk .txt a:after,
#counselPage.pageOnly .me-talk .txt a:after{
    content:'';
    display: inline-block;
    /*background-image: url("/img/ico-linkShare.png");*/
    background-repeat: no-repeat;
    width: 17px;
    height: 17px;
    background-size: 17px;
    margin-left: 8px;
    background-position: center right;
}

#cunsultPage.page3 .talk-inner>div ,
#counselPage.pageOnly .talk-inner>div {
    margin-bottom: 25px;
    padding: 12px 15px;
    border-radius:  14px;
    font-size: 1.15em;
    font-weight: 500;
    color: #333;
    text-align: center;
    position: relative;
}
#cunsultPage.page3 .talk-inner .hidden,
#counselPage.pageOnly .talk-inner .hidden{
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

#cunsultPage.page3 .talk-inner .visible,
#counselPage.pageOnly .talk-inner .visible{
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
#cunsultPage.page3 .talk-inner>div:after,
#counselPage.pageOnly .talk-inner>div:after{
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top-color: #00aabb;
    border-bottom: 0;
    border-left: 0;
    margin-left: -10px;
    margin-bottom: -20px;

}
#cunsultPage.page3 .me-talk:after,
#counselPage.pageOnly .me-talk:after{
    border-top-color: #fef01b !important;
    right: -10px;
    bottom: 20px;
    transform: rotate(-73deg);
}
#cunsultPage.page3 .u-talk:after,
#counselPage.pageOnly .u-talk:after{
    border-top-color: #fff !important;
    left: 12px;
    bottom: 12px;
    transform: rotate(19deg);
}

/*말풍선 끝*/


#cunsultPage.page3 .coupleTest {
    width: 90%;
    margin: 90px auto;
}

#cunsultPage.page3 .coupleTest .couple-inner{
    width: 90%;
    margin: 0 auto;
}
#cunsultPage.page3 .cou-tit{
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-content: center;
    gap: 0 2px;
    height: 45px;
    justify-content: center;
    margin-bottom: 35px;
    position: relative;
}
#cunsultPage.page3 .cou-tit span{
    padding: 8px 10px;
    position: absolute;
    font-size: 1.1em;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #343131;
    box-shadow: 2px 4px 1px -1px rgba(1,1,1,0.2);
}

#cunsultPage.page3 .cou-tit span:first-of-type{ /*우*/
    transform: rotate(-5deg);
    top: 0;
    left: 0;
}
#cunsultPage.page3 .cou-tit span:nth-of-type(2){ /*리*/
    transform: rotate(5deg);
    bottom: 5px;
    left: 15%;
}
#cunsultPage.page3 .cou-tit span:nth-of-type(3){ /*의*/
    left: 30%;
    top: 50%;
    transform: translateY(-50%);
}
#cunsultPage.page3 .cou-tit span:nth-of-type(4){ /*궁*/
    right: 32%;
    top: 20px;
    transform: translate(-50%,-50%) rotate(5deg);
}
#cunsultPage.page3 .cou-tit span:nth-of-type(5){ /*합*/
    right: 25%;
    top: 10px;
    transform : translateY(-50%) rotate(-5deg);
}
#cunsultPage.page3 .cou-tit span:nth-of-type(6){ /*은*/
    right: 12%;
    bottom: 10px;
    transform:  rotate(0deg);
}

#cunsultPage.page3 .cou-tit span:nth-of-type(7){ /*?*/
    right: 0;
    bottom: 0;
    transform: translateY(-50%) rotate(-10deg);
}

#cunsultPage.page3 .cont-box{
    margin-bottom: 30px;
}
#cunsultPage.page3 .cont-top:not(.coupleBtn){
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
#cunsultPage.page3 label{
    display: flex;
    flex-direction: column;
    width: 45%;
    justify-content: space-between;
}
/*
#cunsultPage.page3 .cont-top:after{
    content: '';
    background-image: url("/img/ico-moneyHeart.png");
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(70%,-50%);
    z-index: 50;
    margin: 0 5px;
    width: 25px; height: 25px;
    background-size: 25px;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
}
 */
#cunsultPage.page3 label span{
    display: block;
    padding: 8px 0;
    font-weight: 500;
    font-size: 1em;
    text-align: center;
}
#cunsultPage.page3 label input{
    border: 1px solid transparent;
    border-bottom: 1px solid #FFC107;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 1em;
    padding: 10px 0;
}

#cunsultPage.page3 label input[type=text]:focus{
    border-radius: 8px;
}
#cunsultPage.page3 label:last-of-type input[type=text]:focus {
    border: 1px solid #C07F00 !important;
    box-shadow: 0 0 5px #ffe2cd;
}

#cunsultPage.page3 .coupleBtn{
    width: 100%;
    margin: 20px auto;
    display: block;
}
#cunsultPage.page3 .coupleBtn input{
    width: 30%;
    margin: 0 auto;
    padding: 8px 12px;
    background: #835f00;
    border-radius: 8px;
    font-size: 1em;
    border: 1px solid transparent;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
}


:root{
    --yellow : #f2d832;
    --blue: #22319f;
    --red: #a81111;
}

#cunsultPage.page3 .cont-bottom{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 500;
}
#cunsultPage.page3 .circle-box{
    cursor: pointer;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    position: relative;
}
#cunsultPage.page3 .pie{
    width: 120px;
    height: 120px;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50% , -50%) rotate(-90deg);
}

#cunsultPage.page3 .first-show{
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
#cunsultPage.page3 .onTag-show{
    opacity: 0;
    visibility: hidden; transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
#cunsultPage.page3 .circle-box.on .first-show{
    opacity: 0;
    display: none;
    visibility: hidden;
}
#cunsultPage.page3 .circle-box.on .onTag-show{
    opacity: 1;
    display: block;
    visibility: visible;
    transition-duration: 0.2s;
}


#cunsultPage.page3 .wrap_txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#cunsultPage.page3 .circle-box svg{
    width: 120px;
    height: 120px;
    overflow: visible;
}
circle{
    fill: #fff;
    stroke: rgb(243,243,243);
    stroke-width: 14;
    margin: 1rem;
}
circle:nth-child(2){
    stroke: #666;
    stroke-dashoffset: 316px;
    stroke-dasharray: 333px;
    stroke-linecap: round;
    transition: stroke-dashoffset 2s;
}
/*
.cont-bottom .circle_1 circle:nth-child(2){
    stroke: var(--yellow);
}
.circle_1.on circle:nth-child(2){
    stroke-dashoffset: calc(332px - 332px * 10 /100);
}
*/

#cunsultPage.page3 .comment{
    margin: 20px 0;
    text-align: center;
    font-size: 1.15em;
    font-weight: 600;
    line-height: 1.45em;
    position: relative;
    transition: 1s ease-in-out;
}

#cunsultPage.page3 .comment>div{
    display: none;
}

@keyframes smallBig2 {
    0%{
        width: 30px;
        background-size: 30px;
    }
    25%{
        width: 45px;
        background-size: 45px;
    }
    50%{
        width: 60px;
        background-size: 60px;
    }
    75%{
        width: 45px;
        background-size: 45px;
    }
    100%{
        width: 30px;
        background-size: 30px;
    }
}
@keyframes bounce {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    30% {
        transform: translateY(-15px) scale(1.1);
    }
    50% {
        transform: translateY(0) scale(1);
    }
    70% {
        transform: translateY(-10px) scale(1.05);
    }
}

#cunsultPage.page3 .comment>div:not(.sixPer):before{
    background-size: 260px;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    height: 120px;
    content: '';
    z-index: 1;
    top: -140px;
    animation: 2s steps(10) infinite;
    transition: 1s ease-in-out;
}
#cunsultPage.page3 .comment>div.sixPer:before{
    width: 60px;
    background-size: 60px;
    height: 60px;
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    bottom: 90px;
    content: '';
    z-index: 1;

    /*animation: bounce 3s ease-in-out infinite;*/
    transition: 1s ease-in-out;
    transform: rotate(-30deg);
}
#cunsultPage.page3 .comment>div.sixPer:after{
    width: 40px;
    background-size: 40px;
    height: 40px;
    position: absolute;
    background-repeat: no-repeat;
    right: 0;
    bottom: 180px;
    content: '';
    z-index: 1;
    /*animation: bounce 1.5s infinite ease-in-out;*/
    transition: 1s ease-in-out;
    transform: rotate(20deg);
}

#cunsultPage.page3 div.sevenPer{
    color: #e1c240;
}
#cunsultPage.page3 div.sixPer{
    color: #a81111;
}
#cunsultPage.page3 div.under{
    color: #22319f;
}
/*
#cunsultPage.page3 div.sevenPer:before{
    background-image: url("/img/testResult-good.gif");
}
#cunsultPage.page3 div.sixPer:before{
    background-image: url("/img/testResult-soSo.gif");
}
#cunsultPage.page3 div.sixPer:after{
    background-image: url("/img/testResult-soSo.gif");
}
#cunsultPage.page3 div.under:before{
    background-image: url("/img/test-rain.gif");
}

 */
#cunsultPage.page3 div.sixPer.show,
#cunsultPage.page3 div.under.show,
#cunsultPage.page3 div.sevenPer.show{
    display: block !important;
    transition: 1s ease-in-out;
}





#cunsultPage.page3 .bottom .info3 {
    overflow: hidden;
    width: 100%;
    margin: 50px auto 65px;
    padding: 50px 10px 10px;
    border: solid 8px rgba(255, 193, 7, 0.2);
}

#cunsultPage.page3 .bottom .info3 .tit {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .graph {
    margin: 30px -110px 40px -110px;
    position: relative;
    padding: 90% 0 0 0
}

#cunsultPage.page3 .bottom .info3 .graph canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

#cunsultPage.page3 .bottom .info3 .share {
    display: flex;
    margin: 0 -30px 0 -30px;
    padding: 50px 45px;
    background: #eee
}

#cunsultPage.page3 .bottom .info3 .share > * {
    display: block;
    padding: 0 5px;
    width: 100%;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info3 .share > * > * {
    display: block;
    width: 100%
}

#cunsultPage.page3 .bottom .info3 .btn {
    position: relative;
    margin: -8% 0 32px 0;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .btn a {
    display: block;
    width: 100%;
    height: 48px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    line-height: 48px;
    background: #024084
}

#cunsultPage.page3 .bottom .info3 .like {
    overflow: hidden;
    display: flex;
    position: relative;
    margin-top: 30px;
    margin-bottom: 50px;
    border: solid #e0dbd2;
    border-width: 1px 0;
    box-sizing: border-box
}
#cunsultPage.page3 .bottom .info3>div.tit:after{
    display: block;
    content: '';
    width: 240px;
    height: 1px;
    background-color: #FFC107;
    border: 1px solid #FFC107;
    padding: 0 0 6px 0;
    border-radius: 10px 0 10px 0;
    position: absolute;
    left: 50%;
    bottom: -2px;
    z-index: 10;
    opacity: 0.5;
    transform: translateX(-50%);
}

#cunsultPage.page3 .bottom .info3 .like button {
    display: block;
    width: 100%;
    height: 48px;
    font-size: 15px;
    color: #b0b0b0;
    text-align: center;
    line-height: 48px;
    background-color: transparent;
    border: none;
    border-bottom: solid 4px #fff;
    outline: none
}

#cunsultPage.page3 .bottom .info3 .like button span {
    display: inline-block;
    padding: 10px 0 10px 28px;
    line-height: 1
}

#cunsultPage.page3 .bottom .info3 .like .good span {
    background: url('../images/consult/up.png') no-repeat 0 40% / 19px auto
}

#cunsultPage.page3 .bottom .info3 .like .bad span {
    background: url('../images/consult/down.png') no-repeat 0 50% / 19px auto
}

#cunsultPage.page3 .bottom .info3 .like .good.on span {
    background-image: url('../images/consult/up_on.png');
    font-weight: 700;
    color: #FFC107;
}

#cunsultPage.page3 .bottom .info3 .like .bad.on span {
    background-image: url('../images/consult/down_on.png');
    font-weight: 700;
    color: #FFC107;
}

#cunsultPage.page3 .bottom .info3 .like .on {
    border-color: #FFC107;
}

#cunsultPage.page3 .bottom .info3 .resultbox {
    display: none;
    padding: 0 0 32px 0;
}

#cunsultPage.page3 .bottom .info3 .resultbox.on {
    display: block;
    padding: 20px 0 40px;
}

#cunsultPage.page3 .bottom .info3 .resultbox .txt {
    margin-top: 25px;
    font-size: 12px;
    color: #666;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button {
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    border: 1px solid transparent;
    width: 20%;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .rank {
    margin: 0 0 10px 0;
    order: 2;
    position: relative;
    top: -50px;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:first-of-type{
    order: 2;
    background: linear-gradient(180deg, rgba(255,214,0,1) 0%, rgba(255,255,184,1) 50%, rgba(255,255,255,1) 100%);
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(2){
    margin-top: 35px;
    order: 1;
    background: linear-gradient(183deg, rgba(134,208,21,1) 0%, rgba(230,255,184,1) 78%, rgba(255,255,255,1) 100%);
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(3){
    background: linear-gradient(183deg, rgba(84,110,214,1) 0%, rgba(197,184,255,1) 78%, rgba(255,255,255,1) 98%);
    margin-top: 60px;
    order: 3;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:first-of-type .rank span{
    color: #ff7c7c;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(2) .rank span{
    color: #1e1cbc;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(3) .rank span{
    color: #815f00;
}


#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .rank span{
    position: relative;
    top: 10px;
    padding: 6px 8px;
    /*background-color: #C07F00;*/
    font-size: 14px;
    border-radius: 50%;
    text-shadow: -1px 0 #fff, 0 1px #fff, 1px 0 #fff, 0 -1px #fff;
    font-weight: 700;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .tit {
    position: relative;
    top: -50px;
    order: 3;
    display: block;
    font-size: 15px;
    color: #222;
    font-weight: 700;
    text-align: center
}

/*#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .tit:after{*/
/*    content: '자세히 보기';*/
/*    background-color: #FFC107;*/
/*    font-size: 12px;*/
/*    font-weight: 800;*/
/*    color: #fff;*/
/*    border-radius: 20px;*/
/*    margin-top: 10px;*/
/*    display: block;*/
/*    padding: 5px 8px;*/
/*}*/



#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .img {
    position: relative;;
    top: -50px;
    order: 1;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .img img {
    display: block;
    width: 100%;
    height: auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 {
    display: none;
    padding: 0 0 32px 0;
    border-bottom: solid 1px #e0dbd2
}

#cunsultPage.page3 .bottom .info3 .resultbox1.on {
    display: block;
    padding: 0 0 32px 0;
    border-bottom: solid 1px #e0dbd2
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .txt {
    margin: 0 0 26px 0;
    font-size: 13px;
    color: #666;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank {
    display: flex
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button {
    display: inline-block;
    width: 100%;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .resultbox1.btn-rank button .rank {
    margin: 0 0 10px 0
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button .rank span {
    display: inline-block;
    padding: 3px;
    font-size: 13px;
    color: #fff;
    background: #0cb9ee
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button .tit {
    display: block;
    padding: 100px 0 0 0;
    font-size: 15px;
    color: #222;
    font-weight: 700;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank1 .tit {
    background: url('../images/consult/result_icon_1.jpg') no-repeat 50% 0 / 75px auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank2 .tit {
    background: url('../images/consult/result_icon_2.jpg') no-repeat 50% 0 / 75px auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank3 .tit {
    background: url('../images/consult/result_icon_3.jpg') no-repeat 50% 0 / 75px auto
}

#cunsultPage.page3 .bottom .info4 {
    margin-top: 45px
}

#cunsultPage.page3 .bottom .info4 > .tit {
    position: relative;
    font-size: 20px;
    font-weight: 700
}

#cunsultPage.page3 .bottom .info4 > .tit span {
    position: absolute;
    right: 0;
    top: 4px;
    padding: 0 0 0 12px;
    font-size: 15px;
    color: #ff7200
}

#cunsultPage.page3 .bottom .info4 > .tit span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 5px;
    height: 4px;
    border-radius: 50%;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info4 .graph-box {
    position: relative;
    width: 100%;
    margin: 50px auto 20px;
    padding: 20px 6px;
    border: solid 1px #e0dbd2;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .info {
    overflow: hidden;
    padding: 0 !important;
}

#cunsultPage.page3 .bottom .info4 .graph-box .info li {
    position: relative;
    padding: 10px 0;
    font-size: 11px;
    color: #222
}

#cunsultPage.page3 .bottom .info4 .graph-box .info li:before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #e0dbd2
}

#cunsultPage.page3 .bottom .info4 .graph-box .list {
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    padding: 36px 6px 35px 18px;
    width: 100%;
    height: 100%;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li {
    position: relative;
    width: 100%;
    /*height: 100%;*/
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .bar {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 35%;
    text-indent: -9999px;
    background: #80e01d;
    transform: translateX(-50%)
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .tit {
    position: absolute;
    left: 0;
    bottom: -16px;
    margin: 0;
    width: 100%;
    font-size: 11px;
    color: #222;
    text-align: center
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .tit.row2 {
    bottom: -28px
}

#cunsultPage.page3 .bottom .info4 .graph-box .list .red .bar {
    background: #ff524a;
}

#cunsultPage.page3 .bottom .info4 .graph-box .list .orange .bar {
    background: #ffc000
}

#cunsultPage.page3 .bottom .info4 .graph-box .line {
    position: absolute;
    left: 50%;
    z-index: 2;
    margin-left: 0;
    width: 90%;
    border-bottom: dashed 1px #f7bc8c;
    transform: translateX(-50%);
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    text-indent: -9999px;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span {
    left: 18%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span {
    left: 37%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span {
    left: 55.8%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span + span {
    left: 74%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span + span + span {
    left: 93%
}
#cunsultPage.page3 .bottom .info4 .explan_area{
    width: 90%;
    background: yellow;
    margin: 0 auto;
}

#cunsultPage.page3 .popresult {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    padding: 114px 0 0 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    box-sizing: border-box
}

#cunsultPage.page3 .popresult.on {
    display: block
}

#cunsultPage.page3 .popresult .btn-close {
    position: absolute;
    right: 10px;
    top: 64px;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    background: url('../images/consult/close.png') no-repeat 50% 50% / 22px auto
}

#cunsultPage.page3 .popresult .inner {
    width: 100%;
    overflow: auto;
    padding: 30px;
    height: 100%;
    background: #fff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}

#cunsultPage.page3 .popresult .inner .tit {
    font-size: 28px;
    font-weight: 700;
    color: #222;
    text-shadow: 0.1rem 0.1rem #FDB827FF;
    margin-bottom: 20px;
}

#cunsultPage.page3 .popresult .inner .tit span {
    font-size: 26px;
    color: #333;
    display: inline-block;
    margin-left: 10px;
}
#cunsultPage.page3 .popresult .inner .tit span:before{
    content: '';
    display: inline-block;
    width: 10px;
    margin-right: 5px;
    height: 1px;
    background-color: #343131;
    transform: translateY(-7px);
}

#cunsultPage.page3 .popresult .inner .name {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    padding: 15px 0;
    border: solid 8px rgba(255, 193, 7, 0.2);
}

#cunsultPage.page3 .popresult .inner .num {
    position: relative;
    margin: 30px 0 30px 0;
    padding: 0 0 20px 0;
    color: #343131;
    font-weight: 600;
    font-size: 36px;
}

#cunsultPage.page3 .popresult .inner .num:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 1px;
    background: #343131;
}

#cunsultPage.page3 .popresult .inner .num strong {
    font-size: 40px
}

#cunsultPage.page3 .popresult .inner .txt {
    font-size: 16px;
    color: #333;
    line-height: 30px;
}


#cunsultPage.page3 .info{
    /*margin-top: 200px;*/
}

#cunsultPage.page3 .text_box{
    padding: 2rem 1rem;
    border-radius: 10px;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 30px;
    background-color: #fff;
}

#cunsultPage.page3 .btnMore{
    width: 90%;
    margin: 0 auto;
}

#cunsultPage.page3 .btn{
    text-align: center;
    width: 70%;
    margin: 0 auto 20px;
    padding: 20px 24px;
    border-radius: 30px;
    background-color: #C07F00;
    animation: bounce 1.5s ease-in-out infinite;
}
@keyframes bounce {
    0% {
        transform: translateY(0);
    }
    30% {
        transform: translateY(-10px);
    }
    50% {
        transform: translateY(5px);
    }
    70% {
        transform: translateY(-5px);
    }
    100% {
        transform: translateY(0);
    }
}

#cunsultPage.page3 .openKakao a,
#counselPage.pageOnly .openKakao a,
#counselPage.pageOnly .pdfBtn a,
#cunsultPage.page3 .btn a,
#cunsultPage.page3 .share a{
    font-size: 15px;
    font-weight: 500;
    color: #333;
    letter-spacing: -1px;
}


#cunsultPage.page3 .openKakao,
#counselPage.pageOnly .openKakao{
    text-align: center;
    width: 70%;
    justify-content: center;
    margin: 0 auto 20px;
    padding: 20px 24px;
    border-radius: 30px;
    background-color: #FFC107;
    display: flex;
    position: relative;
}
#cunsultPage.page3 .openKakao a,
#counselPage.pageOnly .openKakao a{
    width: 85%;
}
#cunsultPage.page3 .openKakao a img{
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
}

#cunsultPage.page3 .share{
    width: 60%;
    margin: 0 auto;
}
#cunsultPage.page3 .share li{
    width: 100%;
}
#cunsultPage.page3 .share span{
    background-color: #e8e8e8;
    width: auto;
    display: flex;
    margin: 0 auto !important;
    justify-content: center;
    align-items: center;
    padding: 20px 30px;
    border-radius: 30px;
}
#cunsultPage.page3 .share span a{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#cunsultPage.page3 .saveBtn{
    width: 120px;
    height: 45px;
    border-radius: 4px;
    border: 1px solid transparent;
    background-color: #f2d832;
    color: #333;
    font-weight: 600;
    display: block;
    margin: 0 auto;
    text-align: center;
}




/* //핀크스 버전 -------------------------------------------
#cunsultPage.page3 {
    margin-bottom: 50px;
}

#cunsultPage.page3 .top {
    width: 90%;
    margin: 20px auto 0;
    border: 1px solid #fff;
    box-shadow: inset 0 0 13px 1px rgba(255, 255, 255, 0.3);
}

#cunsultPage.page3 .top .tit {
    width: 100%;
    position: relative;
    text-align: center;
    padding: 25px 0 20px;
    border-radius: 8px;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}


#cunsultPage.page3 .top .tit .accent{
    color: #C07F00;
    font-weight: 700;
    font-size: 30px;
}
#cunsultPage.page3 .actionChange{
    color: #4f0d00 !important;
}

#cunsultPage.page3 .top .tit em{
    display: block;
    margin-top: 10px;
    font-size: 11px;
    color: #666;
}

#cunsultPage.page3 .top .tit .more-{
    color: #666;
    font-size: 16px;
}

#cunsultPage.page3 .top .tit .icon {
    display: block;
    margin: 0 0 23px 0;
    width: 62px;
}


#cunsultPage.page3 .top .txt, #cunsultPage.page3 .saveMoney{
    background-image: linear-gradient(-45deg, rgb(255, 247, 212), transparent), linear-gradient(45deg, #ffd95a, transparent), linear-gradient(135deg, rgb(255,211,26), transparent), linear-gradient(-135deg, #6e6565, transparent);
    background-size: 150% 150%;
    -webkit-animation: gradientBG 7s ease infinite;
    animation: gradientBG 7s ease infinite;
    box-shadow: inset 0 0 13px 1px rgba(255, 255, 255, 0.6);

    margin: 20px auto 25px;
    font-size: 14px;
    line-height: 1.3;
    padding: 20px 10px;
    text-align: center;
}

#cunsultPage.page3 .saveMoney{
    position: relative;
    padding: 20px 0 40px;
}
#cunsultPage.page3 .saveMoney p{
    font-size: 16px;
    font-weight: 500;
    line-height: 25px;
    color: #333;
}

#cunsultPage.page3 .saveMoney p b,
#cunsultPage.page3 .saveMoney p b{
    font-weight: 800;
    font-size: 18px;
}

#cunsultPage.page3 .saveMoney p b,
#cunsultPage.page3 .top .txt span {
    color: #C07F00;
    position: relative;
}
#cunsultPage.page3 .saveMoney:before {
    position: absolute;
    top: -20px;
    left: -10px;
    content: '';
    display: block;
    background: url(../images/consult/ico-moneyE-img.png) no-repeat center;
    background-size: 40px;
    transform: rotate(-30deg);
    width: 40px;
    height: 40px;
}
#cunsultPage.page3 .saveMoney:after{
    content: 'TIP!';
    position: absolute;
    top: -20px;
    left: 20px;
    color: #C07F00;
    font-weight: 700;
    display: block;
    background-size: 40px;
    width: 40px;
    height: 40px;
}



#cunsultPage.page3 .saveMoney span{
    position: absolute;
    bottom: 10px;
    font-size: 12px;
    left: 0;
    width: 100%;
    opacity: 1;
    color: #444;
    text-align: center;
    animation: fadeInOut 3s ease-in-out infinite;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 1;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
#cunsultPage.page3 .top{
}


#cunsultPage.page3 .top .tit em{
    display: block;
    margin-top: 10px;
    font-size: 11px;
    color: #666;
}
#cunsultPage.page3 .top .txt .accent{
    font-size: 24px;
    font-weight: 700;
}
#cunsultPage.page3 .top .txt span.wgsUp{
    display: block;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #4f0d00 !important;
}
#cunsultPage.page3 .top .txt span.wgsUp b{
    display: block;
    font-weight: 800;
    font-size: 16px;
}
#cunsultPage.page3 .top .txt span.wgsUp b:first-of-type{
    margin-bottom: 5px;
}
#cunsultPage.page3 .top .txt span:last-of-type:before{
    color: #343131;
    content: '';
    width: 15%;
    height: 1px;
    display: block;
    margin: 0 auto;
}
#cunsultPage.page3 .bottom{
    position: relative;
}
#cunsultPage.page3 .bottom .background{
    width: 100%;
    position: absolute;
    height: 300px;
    top: 0; right: 0; left: 0; bottom: 0;
    z-index: 80;
    backdrop-filter:blur(5px);
}
#cunsultPage.page3 .bottom .info1 {
    /*padding: 35px 0 80px 0;*/
    /*padding: 35px 0 400px 0;*/
/*
}
#cunsultPage.page3 .bottom .info1 .tit {
    margin: 0 30px;
    position: relative;
}

#cunsultPage.page3 .bottom .info1 .tit span {
    position: absolute;
    left: 0;
    top: 5px;
    padding: 0 0 0 10px;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 500;
    color: #22319f;
}

#cunsultPage.page3 .bottom .info1 .tit span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 5px;
    height: 4px;
    border-radius: 50%;
    background: #22319f;
}

#cunsultPage.page3 .bottom .info1 .graph-list {
    position: relative;
    margin: 45px 0 80px 0;
    padding: 0 20px
}

#cunsultPage.page3 .bottom .info1 .graph-list:after {
    content: '';
    display: table;
    width: 100%;
    clear: both
}

#cunsultPage.page3 .bottom .info1 .graph-list:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -80px;
    width: 100%;
    height: 80px;
    background: #ffe4a0;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item {
    position: relative;
    float: left;
    width: 25%;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph {
    position: relative;
    margin: -15% 0 0 0;
    padding: 202% 0 0 0;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar {
    position: absolute;
    left: 15%;
    bottom: 4%;
    width: 70%;
    height: 88%
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #5bcaff;
}


#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar1 {
    position: absolute;
    left: 15%;
    bottom: 4%;
    width: 70%;
    height: 88%
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph .bar1 p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #ff524a;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .graph:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: solid #fff;
    border-width: 0 12px;
    background: url('../images/consult/graph_bg2.png') no-repeat 0 0 / 100% auto;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .txt {
    position: absolute;
    left: 50%;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    transform: translateX(-50%);
    background-color: transparent !important;
}

#cunsultPage.page3 .bottom .info1 .graph-list .item .txt:first-line {
    font-size: 22px
}

#cunsultPage.page3 .bottom .info1 .graph-list .line {
    position: absolute;
    z-index: 10;
    width: 90%;
    border-bottom: dashed 1px #22319f;
    overflow: hidden;
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    text-indent: -9999px;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span {
    left: 27%
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span + span {
    left: 53%
}

#cunsultPage.page3 .bottom .info1 .graph-list .line span + span + span + span {
    left: 80.5%
}

#cunsultPage.page3 .bottom .info2 {
    width: 80%;
    margin: 0 auto;
    border: solid 8px rgba(255,193,7,0.2);
    padding: 30px 20px;
    background: #fff;
}

#cunsultPage.page3 .bottom .info2 .tit {
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #343131;
    position: relative;
    margin-bottom: 30px;
}
#cunsultPage.page3 .bottom .info2 .tit:after{
    display: block;
    content: '';
    width: 95px;
    height: 3px;
    background: #FFC107;
    border: 1px solid #FFC107;
    padding: 0 0 6px 0;
    border-radius: 10px 0 10px 0;
    position: absolute;
    left: 50%;
    bottom: -2px;
    z-index: 10;
    opacity: 0.5;
    transform: translateX(-50%);
}

#cunsultPage.page3 .bottom .info2 .txt {
    position: relative;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #343131;
    background: #fff;
}

#cunsultPage.page3 .bottom .info2 .txt:after {
    right: -7px
}
#cunsultPage.page3 .progressCircle{
    width: 100%;
    margin-bottom: 30px;;
}
#cunsultPage.page3 .progressCircle .progress-inner{
    width: 78%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    text-align: center;
}
#cunsultPage.page3 .progressTit{
    font-size: 14px;
    font-weight: 400;
    color: #343131;
    margin: 10px 0 20px;
}
#cunsultPage.page3 .circle{
    font-size: 14px;
    width: 140px;
    height: 140px;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid 065F46;
    position: relative;
    margin: 0 auto;
    transition: 5s ease-in-out;
    background: conic-gradient(#FFC107 0deg, white 0deg);
}
#cunsultPage.page3 .in-circle{
    width: 85%;
    height: 85%;
    border-radius: inherit;
    background: 065F46;
    margin: auto;
    display: flex;
    color: #fff;
    justify-content: center;
}

@keyframes smallBig {
    0% {
        transform: scale(1);
    }
    25% {
        transform: scale(0.9);
    }
    50% {
        transform: scale(1);
    }
    75% {
        transform: scale(0.9);
    }
    100% {
        transform: scale(1);
    }
}

#cunsultPage.page3 .in-circle .perNum {
    display: flex;
    font-size: 20px;
    font-weight: 700;
    align-items: center;
    animation: smallBig 3s ease-in-out infinite;
    transform-origin: center; /* 애니메이션 기준점 설정 */

/*
}
#cunsultPage.page3 .in-circle .perNum {
    will-change: transform;
}

#cunsultPage.page3 #couple-box,
#counselPage.pageOnly #couple-box{
    width: 100%;
    margin: 100px 0;
}
#cunsultPage.page3 #couple-box .cb-inner,
#counselPage.pageOnly #couple-box .cb-inner{
    margin: 0 auto;
}




#cunsultPage.page3 .bottom .info3 {
    overflow: hidden;
    width: 90%;
    margin: 0 auto 65px;
    padding: 50px 10px 10px;
    border: solid 8px rgba(255, 193, 7, 0.2);
}

#cunsultPage.page3 .bottom .info3 .tit {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .graph {
    margin: 30px -110px 40px -110px;
    position: relative;
    padding: 90% 0 0 0
}

#cunsultPage.page3 .bottom .info3 .graph canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

#cunsultPage.page3 .bottom .info3 .share {
    display: flex;
    margin: 0 -30px 0 -30px;
    padding: 50px 45px;
    background: #eee
}

#cunsultPage.page3 .bottom .info3 .share > * {
    display: block;
    padding: 0 5px;
    width: 100%;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info3 .share > * > * {
    display: block;
    width: 100%
}

#cunsultPage.page3 .bottom .info3 .btn {
    position: relative;
    margin: -8% 0 32px 0;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .btn a {
    display: block;
    width: 100%;
    height: 48px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    line-height: 48px;
    background: #024084
}

#cunsultPage.page3 .bottom .info3 .like {
    overflow: hidden;
    display: flex;
    position: relative;
    margin-top: 30px;
    margin-bottom: 50px;
    border: solid #e0dbd2;
    border-width: 1px 0;
    box-sizing: border-box
}
#cunsultPage.page3 .bottom .info3>div.tit:after{
    display: block;
    content: '';
    width: 240px;
    height: 1px;
    background-color: rgba(3, 31, 93, 0.5);
    padding: 0 0 6px 0;
    border-radius: 10px 0 10px 0;
    position: absolute;
    left: 50%;
    bottom: -2px;
    z-index: 10;
    opacity: 0.5;
    transform: translateX(-50%);
}

#cunsultPage.page3 .bottom .info3 .like button {
    display: block;
    margin: 0 28px;
    width: 100%;
    height: 48px;
    font-size: 15px;
    color: #b0b0b0;
    text-align: center;
    line-height: 48px;
    border: none;
    border-bottom: solid 4px #b7b7b7;
    background-color: transparent;
    outline: none
}

#cunsultPage.page3 .bottom .info3 .like button span {
    display: inline-block;
    padding: 10px 0 10px 28px;
    line-height: 1
}

#cunsultPage.page3 .bottom .info3 .like .good span {
    background: url('../images/consult/up.png') no-repeat 0 40% / 19px auto
}

#cunsultPage.page3 .bottom .info3 .like .bad span {
    background: url('../images/consult/down.png') no-repeat 0 50% / 19px auto
}

#cunsultPage.page3 .bottom .info3 .like .good.on span {
    background-image: url('../images/consult/up_on.png');
    font-weight: 700;
    color: #065F46;
}

#cunsultPage.page3 .bottom .info3 .like .bad.on span {
    background-image: url('../images/consult/down_on.png');
    font-weight: 700;
    color: #065F46;
}

#cunsultPage.page3 .bottom .info3 .like .on {
    border-color: #065F46;
}

#cunsultPage.page3 .bottom .info3 .resultbox {
    display: none;
    padding: 0 0 32px 0;
}

#cunsultPage.page3 .bottom .info3 .resultbox.on {
    display: block;
    padding: 20px 0 40px;
}

#cunsultPage.page3 .bottom .info3 .resultbox .txt {
    margin-top: 25px;
    font-size: 12px;
    color: #666;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank {
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: flex-end;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button {
    text-align: center;
    position: relative;
    border: 1px solid transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 300px;
    border-radius: 30px;
    width: 10%;
    background: linear-gradient(180deg, #031F5D, rgba(3, 31, 93, 0.5) , rgba(129, 0, 194, 0.1));
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .rank {
    order: 2;
    position: relative;
    top: -50px;
    border: 1px solid transparent !important;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:first-of-type{


}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(2){
    height: 200px;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(3){
    height: 150px;
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:first-of-type .rank span{
    color: #ff7c7c;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(2) .rank span{
    color: #1e1cbc;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button:nth-of-type(3) .rank span{
    color: #815f00;
}

*/
/*
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .rank span{
    position: relative;
    top: 25px;
    /*background-color: #C07F00;*/
/*
    font-size: 14px;
    border-radius: 50%;
    text-shadow: -1px 0 #fff, 0 1px #fff, 1px 0 #fff, 0 -1px #fff;
    font-weight: 700;
}
#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .tit {
    position: relative;
    top: 10px;
    order: 3;
    display: block;
    font-size: 15px;
    letter-spacing: 1px;
    color: #fff;
    font-weight: 700;
    text-align: center
}


#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .img {
    display: none;
    position: relative;
    top: -50px;
    order: 1;
    margin: 10px 30% 5px 30%
}

#cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .img img {
    display: block;
    width: 100%;
    height: auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 {
    display: none;
    padding: 0 0 32px 0;
    border-bottom: solid 1px #e0dbd2
}

#cunsultPage.page3 .bottom .info3 .resultbox1.on {
    display: block;
    padding: 0 0 32px 0;
    border-bottom: solid 1px #e0dbd2
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .txt {
    margin: 0 0 26px 0;
    font-size: 13px;
    color: #666;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank {
    display: flex
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button {
    display: inline-block;
    width: 100%;
    text-align: center;
}

#cunsultPage.page3 .bottom .info3 .resultbox1.btn-rank button .rank {
    margin: 0 0 10px 0
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button .rank span {
    display: inline-block;
    padding: 3px;
    font-size: 13px;
    color: #fff;
    background: #0cb9ee
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank button .tit {
    display: block;
    padding: 100px 0 0 0;
    font-size: 15px;
    color: #222;
    font-weight: 700;
    text-align: center
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank1 .tit {
    background: url('../images/consult/result_icon_1.jpg') no-repeat 50% 0 / 75px auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank2 .tit {
    background: url('../images/consult/result_icon_2.jpg') no-repeat 50% 0 / 75px auto
}

#cunsultPage.page3 .bottom .info3 .resultbox1 .btn-rank .rank3 .tit {
    background: url('../images/consult/result_icon_3.jpg') no-repeat 50% 0 / 75px auto
}


#cunsultPage.page3 .bottom .info4 {
    margin-top: 45px
}

#cunsultPage.page3 .bottom .info4 > .tit {
    margin: 0 30px;
    position: relative;
    font-size: 21px;
    font-weight: 700
}

#cunsultPage.page3 .bottom .info4 > .tit span {
    position: absolute;
    right: 0;
    top: 4px;
    padding: 0 0 0 12px;
    font-size: 15px;
    color: #ff7200
}

#cunsultPage.page3 .bottom .info4 > .tit span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 5px;
    height: 4px;
    border-radius: 50%;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info4 .graph-box {
    position: relative;
    margin: 50px 25px 20px;
    padding: 20px 6px;
    border: 1px solid transparent !important;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .info {
    overflow: hidden
}

#cunsultPage.page3 .bottom .info4 .graph-box .info li {
    position: relative;
    padding: 10px 0;
    font-size: 11px;
    color: #222
}

#cunsultPage.page3 .bottom .info4 .graph-box .info li:before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #eeeeee;
}

#cunsultPage.page3 .bottom .info4 .graph-box .list {
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    padding: 36px 6px 35px 18px;
    width: 100%;
    height: 100%;
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li {
    position: relative;
    width: 100%;
    /*height: 100%;*/
/*
    box-sizing: border-box
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .bar {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 35%;
    text-indent: -9999px;
     border-radius: 10px;
    transform: translateX(-50%)
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .tit {
    position: absolute;
    left: 0;
    bottom: -16px;
    margin: 0;
    width: 100%;
    font-size: 11px;
    color: #222;
    text-align: center
}

#cunsultPage.page3 .bottom .info4 .graph-box .list li .tit.row2 {
    bottom: -28px
}

#cunsultPage.page3 .bottom .info4 .graph-box .list .red .bar {
    background: #ff524a;
}

#cunsultPage.page3 .bottom .info4 .graph-box .list .orange .bar {
    background: #ffc000
}

#cunsultPage.page3 .bottom .info4 .graph-box .line {
    position: absolute;
    left: 15px;
    z-index: 2;
    margin-left: 8.5%;
    width: calc(91.5% - 30px);
    border-bottom: dashed 1px #f7bc8c
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    text-indent: -9999px;
    background: #ff7200
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span {
    left: 18%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span {
    left: 37%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span {
    left: 55.8%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span + span {
    left: 74%
}

#cunsultPage.page3 .bottom .info4 .graph-box .line span + span + span + span + span + span {
    left: 93%
}



#cunsultPage.page3 .popresult {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    padding: 114px 0 0 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    box-sizing: border-box
}

#cunsultPage.page3 .popresult.on {
    display: block
}

#cunsultPage.page3 .popresult .btn-close {
    position: absolute;
    right: 10px;
    top: 64px;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    background: url('../images/consult/close.png') no-repeat 50% 50% / 22px auto
}

#cunsultPage.page3 .popresult .inner {
    width: 100%;
    overflow: auto;
    padding: 30px;
    height: 100%;
    background: #fff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}

#cunsultPage.page3 .popresult .inner .tit {
    font-size: 28px;
    font-weight: 700;
    color: #222;
    text-shadow: 0.1rem 0.1rem #FDB827FF;
    margin-bottom: 20px;
}

#cunsultPage.page3 .popresult .inner .tit span {
    font-size: 26px;
    color: #333;
    display: inline-block;
    margin-left: 10px;
}
#cunsultPage.page3 .popresult .inner .tit span:before{
    content: '';
    display: inline-block;
    width: 10px;
    margin-right: 5px;
    height: 1px;
    background-color: #343131;
    transform: translateY(-7px);
}

#cunsultPage.page3 .popresult .inner .name {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    padding: 15px 0;
    border: solid 8px rgba(255, 193, 7, 0.2);
}

#cunsultPage.page3 .popresult .inner .num {
    position: relative;
    margin: 30px 0 30px 0;
    padding: 0 0 20px 0;
    color: #343131;
    font-weight: 600;
    font-size: 36px;
}

#cunsultPage.page3 .popresult .inner .num:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 1px;
    background: #343131;
}

#cunsultPage.page3 .popresult .inner .num strong {
    font-size: 40px
}

#cunsultPage.page3 .popresult .inner .txt {
    font-size: 16px;
    color: #333;
    line-height: 30px;
}
 //핀크스 버전용 끝-----------------------------------------*/

#pdfPopup .twenty-thir{
    position: relative;
    width: 90%;
    margin: 20px auto;
}
#pdfPopup .twenty-thir h3{
    font-size: 18pt;
    letter-spacing: 1px;
    font-family: 'Freesentation-9Regular';
    font-weight: 600;
    color: #f18e1a;
    border-bottom: 1px solid #f18e1a;
    padding-bottom: 20px;
    margin-bottom: 30px;
}
#pdfPopup .twenty-thir .speakBox {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
#pdfPopup .twenty-thir strong{
    font-size: 14pt;
    font-weight: 700;
    border: 1px solid #f18e1a;
    padding: 10px;
    border-radius: 4px;
    color: #f18e1a;
    display: inline-block;
    margin-bottom: 20px;
    width: auto;
}
#pdfPopup .twenty-thir strong span{
    display: none;
    font-size: 8pt;
    /*display: inline-block;*/
    margin-left: 10px;
    font-weight: 400;
}

#pdfPopup .twenty-thir ul{
    margin-left: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
#pdfPopup .twenty-thir ul li{
    width: calc(50% - 10px);
    color: #000;;
    line-height: 18pt;
    margin-bottom: 10px;
    list-style-image: url("../images/consult/ico-thumbtack.png");
    font-size: 10pt;
    font-weight: 500;
}


#pdfPopup .twenty-thir .good{
    width: 100%;
    display: block;
}

#pdfPopup .twenty-thir .soso >*,
#pdfPopup .twenty-thir .soso li{
    color: #877235;
}
#pdfPopup .twenty-thir .soso strong{
    border-color: #877235;
}

#pdfPopup .twenty-thir .bad >*,
#pdfPopup .twenty-thir .bad li{
    color: #483e1c;
}
#pdfPopup .twenty-thir .bad strong{
    border-color: #483e1c;
}




/*msig pdf 끝 *******/



/* MSIG 정보입력 시작 ********/
#consultPage.nptiPage{
    li#chk4{
        margin-top: 40px;
    }
    li#chk4 select#job{
        width: 100%;
        padding: 10px;
        font-size: 1rem;
        border: 1px solid transparent;
        outline: none;
        background-color: #eee;
        border-radius: 10px;
        height: 45px;
        transition: all .5s ease;
    }
    li#chk4 select#job:invalid{
        border-radius: 0;
        border-bottom: 1px solid #F15F79;
        background-color: #fff;
    }
}
/* npti 정보입력 끝 **********/













/* dream TRip 미래설계 시작  **********************/
#finPlanningPage3{
    width: 100%;
    max-width: 1200px;
    margin: 50px auto;
}
#finPlanningPage2 .question-box{
    margin: 40px 0;
    background-color: #fff;
}
#finPlanningPage3 .question-box{
    margin: 20px 0;
    background-color: #fff;
    padding: 2rem 10px;
}
#finPlanningPage3 .question-box:first-of-type{
    border-radius: 10px 10px 0 0;
}
#finPlanningPage3 .question-box:nth-child(1) span{
    width: 65px;
    text-align: center;
}
#finPlanningPage3 .question-box.dreamMarry{
    padding: 2rem 10px 0;
}



#finPlanningPage2 .questChildBtn,
#finPlanningPage3 .questChildBtn{
    text-align: center;
    font-size: 14px;
    color: #065F46;
    font-weight: 700;
    position: relative;
    text-decoration: underline;
    margin-bottom: 15px;
}
#finPlanningPage2 .questChildBtn:after,
#finPlanningPage3 .questChildBtn:after{
    position: absolute;
    bottom: 0;
    left: 50%; right: 0; transform: translateX(-50%);
    background-color: rgba(3, 31, 93, 0.1);
    height: 8px;
    content: '';
    width: 110px;
    display: block;
}

#finPlanningPage2 div[class*=child] ,
#finPlanningPage3 div[class*=child],#finPlanningPage3 .question-box:nth-child(1) .qBox.marryAge {
    display: none;
}



#finPlanningPage2 .question-box input:not(input[name=totalRetireMoney]),
#finPlanningPage3 .question-box input:not(input[name=totalRetireMoney]){
    border: 1px solid #eee;
    background: transparent;
    outline: #666;
    text-align: center;
    border-radius: 8px;
    font-size: 12px;
    padding: 10px;
}

#finPlanningPage2 .question-box .questTit,
#finPlanningPage3 .question-box .questTit{
    font-size: 14px;
    border-radius: 8px;
    padding: 10px;
    font-weight: 700;
    display: block;
    margin-bottom: 30px;
    color: #065F46;
}
#finPlanningPage3 .qBox.myAge select,
#finPlanningPage3 .qBox #wishPartJop{
    padding: 8px;
    border: 1px solid #333;
    border-radius: 4px;
    width: 50%;
    outline: none !important;
}

#finPlanningPage3 .qBox.myAge select{
    border-color: #065F46;
    color: #065F46;
}
#finPlanningPage3 .qBox #wishPartJop{
    border-color: #AD1E5E;
    color: #AD1E5E;
}


#finPlanningPage2 .qBox,
#finPlanningPage3 .qBox{
    text-align: center;
    position: relative;
}
/*합계부분*/
#finPlanningPage2 .total,
#finPlanningPage3 .total {
    padding: 10px;
    border-radius: 8px;
}
#finPlanningPage2 .qBox.total span,
#finPlanningPage3 .qBox.total span{
    font-weight: bold;
}
#finPlanningPage2 .qBox.total input,
#finPlanningPage3 .qBox.total input{
    border: 1px solid transparent !important;
    outline: none;
    text-align: center;
    font-weight: bold;
    color: #065F46;
    font-size: 16px;
    background-color: transparent;
}
/*합계부분 끝*/
#finPlanningPage2 .qBox span:not(span[class*=educationCost]),
#finPlanningPage3 .qBox span:not(span[class*=educationCost]){
    display: inline-block;
    /*margin-right: 10px;*/
}
#finPlanningPage2 input[name=myName],#finPlanningPage2 input[name=spouseName],#finPlanningPage2 input[name^=child],
#finPlanningPage3 input[name=myName],#finPlanningPage3 input[name=spouseName],#finPlanningPage3 input[name^=child]{
    /*margin-bottom: 8px;*/
}
#finPlanningPage2 .qBox.me,#finPlanningPage2 .qBox.spouse,#finPlanningPage2 .qBox.child1,#finPlanningPage2 .qBox.child2,
#finPlanningPage3 .qBox.me,#finPlanningPage3 .qBox.spouse,#finPlanningPage3 .qBox.child1,#finPlanningPage3 .qBox.family,
#finPlanningPage3 .qBox.myAge,#finPlanningPage3 .qBox.marry,#finPlanningPage3 .qBox.marryAge,
#finPlanningPage3 .qBox.marryAge, #finPlanningPage3 .qBox.wishMarry{
    margin-bottom: 20px;

}



#finPlanningPage2 input[name=myRetireMoney],
#finPlanningPage2 input[name=spouseRetireMoney],
#finPlanningPage3 input[name=myRetireMoney],
#finPlanningPage3 input[name=spouseRetireMoney]{
    width: 45%;
    overflow: auto;
}

#finPlanningPage2 .question-box div[class*=homeInputBox]:not(.loanBox,.actualNeedBox,.purchaseTimeBox),
#finPlanningPage3 .question-box div[class*=homeInputBox]:not(.loanBox,.actualNeedBox,.purchaseTimeBox){
    display: none;
}
#finPlanningPage2 .question-box div[class*=homeInputBox] input,
#finPlanningPage3 .question-box div[class*=homeInputBox] input{
    width: 130px;
}
#finPlanningPage2 .question-box.homeBuy .qBox,
#finPlanningPage2 .question-box.nowHome .qBox,
#finPlanningPage3 .question-box.homeBuy .qBox,
#finPlanningPage3 .question-box.nowHome .qBox{
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}
#finPlanningPage2 .question-box.nowHome .qBox strong,
#finPlanningPage3 .question-box.nowHome .qBox strong{
    width: 100px;
}


/*자녀 교육 수준*/

#finPlanningPage2 li.childEdu .qBox,
#finPlanningPage2 li.childMarry .qBox,
#finPlanningPage3 li.childEdu .qBox,
#finPlanningPage3 li.childMarry .qBox{
    margin-bottom: 20px;
    position: relative;
}
#finPlanningPage2 li.childEdu .qBox>strong,
#finPlanningPage2 li.childMarry .qBox>strong,
#finPlanningPage3 li.childEdu .qBox>strong,
#finPlanningPage3 li.childMarry .qBox>strong{
    display: block;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    margin-bottom: 15px;
    color: #AD1E5EFF;
}
#finPlanningPage2 li.childEdu .qBox select,
#finPlanningPage2 li.childMarry .qBox select,
#finPlanningPage3 li.childEdu .qBox select,
#finPlanningPage3 li.meMarry .qBox select,
#finPlanningPage3 li.childMarry .qBox select,
#finPlanningPage3 #buildingType,
#finPlanningPage3 #purchaseType,
#finPlanningPage3 #purchase0{
    margin: 0 10px 10px;
    padding: 5px 12px;
    outline: 0 none;
    border-radius: 4px;
}


#finPlanningPage3 li.childEdu .qBox select,
#finPlanningPage3 li.childMarry .qBox select{
    border: 1px solid transparent;
    background-color: rgba(173, 30, 94, 0.2);
    outline: none;
    color: #AD1E5EFF;
}

#finPlanningPage2 li.childEdu .qBox span:not(span[id^=totalCost]),
#finPlanningPage2 li.childMarry .qBox span:not(span[id^=totalMarriageCost]),
#finPlanningPage3 li.childEdu .qBox span:not(span[id^=totalCost]),
#finPlanningPage3 li.childMarry .qBox span:not(span[id^=totalMarriageCost]){
    font-size: 12px;
    color: #666;
}
#finPlanningPage2 li.childEdu .total,
#finPlanningPage2 li.childMarry .total,
#finPlanningPage3 li.childEdu .total,
#finPlanningPage3 li.meMarry .total,
#finPlanningPage3 li.childMarry .total{
    margin-top: 20px;
}




#finPlanningPage2 li.childMarry .qBox label,
#finPlanningPage3 li.childMarry .qBox label{
    font-size: 12px;
}
#finPlanningPage2 .etcMoney .qBox,
#finPlanningPage3 .etcMoney .qBox{
    padding-bottom: 20px;
}
#finPlanningPage2 .etcMoney .qBox strong,
#finPlanningPage3 .etcMoney .qBox strong{
    margin-right: 5px;
}
#finPlanningPage2 .etcMoney .qBox:not(:last-of-type),
#finPlanningPage3 .etcMoney .qBox:not(:last-of-type){
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

#finPlanningPage2 .etcMoney input,
#finPlanningPage3 .etcMoney input{
    margin-bottom: 10px;
    width: 40%;
}





#finPlanningPage2 .etcMoney .deleteBtn,
#finPlanningPage3 .etcMoney .deleteBtn{
    border: 1px solid #b40707;
    background-color: #fff;
    color: #b40707;
    padding: 10px;
    font-size: 12px;
    border-radius: 4px;
    margin-left: 5px;
}
#finPlanningPage2 .etcMoney .deleteBtn:hover,
#finPlanningPage3 .etcMoney .deleteBtn:hover{
    background-color: #b40707;
    color: #fff;
}
#finPlanningPage2 .etcMoney .addBtn,
#finPlanningPage3 .etcMoney .addBtn{
    padding: 10px;
    width: 100%;
    border-radius: 8px;
    font-size: 12px;
    font-weight: bold;
    color: #545c6f;
    background-color: rgba(84, 92, 111, 0.2);
    border: 1px solid #545c6f;
    max-height: 40px;
}

#finPlanningPage2 .calcPage,
#finPlanningPage3 .calcPage{
    overflow-x: auto;
}
#finPlanningPage3 .calcPage{
    background-color: #fff;
    border-radius: 0 0 10px 10px;
}
#finPlanningPage2 .calcPage table,
#finPlanningPage3 .calcPage table{
    width: 190%;
    table-layout: fixed;
    border-collapse: collapse;
}
#finPlanningPage2 .calcPage table thead th,
#finPlanningPage3 .calcPage table thead th{
    font-size: 11px;
    padding: 10px 5px;
    vertical-align: middle;
    text-align: center;
    border-bottom: 1px solid #333;
}
#finPlanningPage2 .calcPage table th.fund,
#finPlanningPage3 .calcPage table th.fund{
    width: 100px !important;
    padding: 20px;
}
#finPlanningPage2 .calcPage table tbody td:first-of-type,
#finPlanningPage3 .calcPage table tbody td:first-of-type{
    padding: 5px;
    font-size: 11px;
    border-right: 1px solid #333;
}
#finPlanningPage2 .calcPage table td,
#finPlanningPage3 .calcPage table td{
    text-align: center;
    border: 1px solid #eee;
    vertical-align: middle;
    font-size: 12px;
}
#finPlanningPage2 .calcPage table td input,
#finPlanningPage3 .calcPage table td input{
    border: 1px solid transparent !important;
    overflow: auto;
    font-size: 11px;
    width: 100%;
    text-align: center;
}



#finPlanningPage2 #pdfPrint,
#finPlanningPage3 #pdfPrint,
#finPlanningPage3 #pdfPrint2{
    width: 40%;
    margin: 50px auto;
    height: 40px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid transparent;
    background-color: #065F46;
    color: #fff;
}




#finPlanningPage3 .question-box .questTit{
    position: relative;
    font-size: 16px;
    border-radius: 0 !important;
    padding: 10px 0 !important;
}

#finPlanningPage3 .question-box .questTit.dreamM{
    text-align: center;
}

#finPlanningPage3 .question-box .questTit:before{
    position: absolute;
    display: block;
    content: '';
    width: 30px; height: 30px;
    background-position: center;
    background-size: 100%;
}
#finPlanningPage3 .question-box .questTit:after{
    position: absolute;
    display: block;
    content: '';
    width: 30px; height: 30px;
    background-position: center;
    background-size: 100%;
}
#finPlanningPage3 .question-box .questTit.first:before{
    background-image: url("../images/dreamTrip/fin-emoji1.png");
    top: -20px;
    left: 30px;
}
#finPlanningPage3 .question-box .questTit.first:after{
    background-image: url("../images/dreamTrip/fin-emoji2.png");
    top: -35px;
    width: 45px; height: 45px;
    left: 150px;
}
#finPlanningPage3 .question-box .questTit.myself:before{
    background-image: url("../images/dreamTrip/fin-emoji3.png");
    top: -25px;
    left: 25px;
}
#finPlanningPage3 .question-box .questTit.myself:before{
    background-image: url("../images/dreamTrip/fin-emoji3.png");
    top: -25px;
    left: 25px;
}
#finPlanningPage3 .question-box .questTit.oldMoney:before{
    background-image: url("../images/dreamTrip/fin-emoji4.png");
    top: -25px;
    left: 25px;
}
#finPlanningPage3 .question-box .questTit.together:before{
    background-image: url("../images/dreamTrip/fin-emoji5.png");
    top: -20px;
    left: 25px;
}
#finPlanningPage3 .question-box .questTit.dreamM:before{
    background-image: url("../images/dreamTrip/fin-emoji6.png");
    top: -20px;
    left: 50%; transform: translateX(-50%);
}
#finPlanningPage3 .question-box .questTit.bucket:before{
    background-image: url("../images/dreamTrip/fin-emoji7.png");
    top: -20px;
    left: 25px;
}


#finPlanningPage3 .question-box.introMyself2 p.comment{
    text-align: center;
    line-height: 26px;
    color: #065F46;
    margin: 0 auto 20px;
}
#finPlanningPage3 .lastComm{
    background-color: #fff;
    padding: 2rem 1rem;
    margin-bottom: 20px;
    line-height: 1.5rem;
}
#finPlanningPage3 .lastComm p{
    font-weight: 800;
}

#finPlanningPage3 .introPart2 b{
    width: 100%;
    display: block;
    padding: 10px;
    color: #065F46;
    background-color: rgba(6, 95, 70, 0.1);
    border-radius: 8px;
}

#finPlanningPage3 .qBox.marry label{

    align-items: center;
    cursor: pointer;
    font-size: 16px;
    width: 85px !important;
    color: #333;
    padding: 5px 10px;
    border: 2px solid transparent;
    border-radius: 5px;
    transition: all 0.3s ease;
}
#finPlanningPage3 .qBox.marry label:hover{
    color: #065F46;
}



#finPlanningPage3 span.family,
#finPlanningPage3 span.RUMarry{
    position: relative;
    z-index: 10;
}
#finPlanningPage3 span.family:after{
    display: block;
    content: '';
    background-repeat: no-repeat;
    background-image: url("../images/dreamTrip/fin-baby.png");
    background-size: 100%;
    width: 50px; height: 60px;
    position: absolute;
    top: -26px;
    right: -50px;
}


#finPlanningPage3 span.family:before{
    width: 90px;
    height: 72px;
    background-image: url(../images/dreamTrip/fin-talk.png);
    background-size: 84px;
    position: absolute;
    top: -34px;
    /*content: '';*/
    display: block;
    left: -6px;
    background-repeat: no-repeat;
}

#finPlanningPage3 span.RUMarry{
    margin-bottom: 15px;
}
#finPlanningPage3 span.RUMarry:after{
    z-index: -1;
    display: block;
    content: '';
    background-repeat: no-repeat;
    background-image: url("../images/dreamTrip/fin-ring.png");
    background-size: 100%;
    width: 40px; height: 40px;
    position: absolute;
    top: -10px;
    right: -40px;

    -webkit-animation: heartbeat 2s ease-in-out 4 both;
    animation: heartbeat 2s ease-in-out 4 both;
}

#finPlanningPage3 div.labelBox{
    display: block;
    margin-top: 5px;
}



#finPlanningPage3 .intro {
    position: absolute;
    background-color: rgba(6, 95, 70, 0.2); ;
    border-radius: 4px;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    animation: fadeIn 1s ease-in-out forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#finPlanningPage3 .intro-inner {
    text-align: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#finPlanningPage3 .intro p {
    font-size: 20px;
    letter-spacing: 1px;
    position: relative;
    color: #065F46;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: 20px;
}

#finPlanningPage3 .intro .line1 {
    font-size: 18px;
    font-family: 'Paperlogy-8ExtraBold';
    position: relative;
    display: inline-block;
    color: transparent;
    overflow: hidden;
    white-space: nowrap;
    animation: typing1 2s steps(20) forwards;
}

#finPlanningPage3 .intro .line2 {
    font-size: 18px;
    font-family: 'Paperlogy-8ExtraBold';
    position: relative;
    display: inline-block;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    animation: typing2 2s steps(20) forwards;
    animation-delay: 2s;
}

#finPlanningPage3 .intro .line3 {
    font-size: 20px;
    font-family: 'Paperlogy-8ExtraBold';
    position: relative;
    display: inline-block;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    animation: typing2 2s steps(20) forwards;
    animation-delay: 4s;
}
#finPlanningPage3 .intro .line4 {
    font-size: 20px;
    font-family: 'Paperlogy-8ExtraBold';
    position: relative;
    display: inline-block;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    animation: typing2 2s steps(20) forwards;
    animation-delay: 5s;
}

/* 첫 번째 타이핑 애니메이션 */
@keyframes typing1 {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
        color: #065F46;
    }
}

/* 두 번째 타이핑 애니메이션 */
@keyframes typing2 {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
        color: #065F46;
    }
}

#finPlanningPage3 .intro p:after {
    content: '';
    position: absolute;
    bottom: 4px;
    right: 0;
    width: 1px;
    height: 20%;
    background-color: #065F46;
    visibility: hidden;
    animation: showCursor 0s 12s forwards, blink 0.98s step-end infinite 11s;
}

/* 커서 등장 */
@keyframes showCursor {
    to {
        visibility: visible;
    }
}

/* 커서 깜박임 */
@keyframes blink {
    50% {
        opacity: 0;
    }
}


#finPlanningPage3 .intro button{
    font-family: 'Paperlogy-8ExtraBold';
    padding: 15px;
    background-color: #fff;
    border: 1px solid transparent;
    color: #065F46;
    font-weight: 800;
    font-size: 16px;
    animation: showStart 1s ease-in-out forwards;
    animation-delay: 7s;
    border-radius: 8px;
    opacity: 0;
}
@keyframes showStart {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}



#finPlanningPage3 div.wishPartner{
    border: 1px solid rgb(255 190 220);
    border-radius: 8px;
    padding: 5px 0 20px;
}
#finPlanningPage3 .qBox.wishMarry {
    gap: 5px;
}
#finPlanningPage3 div.wishPartner div[id*=wishPart]{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-bottom: 10px;
}

#finPlanningPage3 div.wishPartner  .ageRadioBox{
    margin-bottom: 10px;
}
#finPlanningPage3 div.wishPartner  .ageRadioBox label{
    padding-left: 30px;
    position: relative;
}
#finPlanningPage3 div.wishPartner  .ageRadioBox label:first-of-type{
    margin-right: 15px;
}

#finPlanningPage3 div.wishPartner .ageRadioBox label:before{
    border: 1px solid #AD1E5E;
    background-color: #fff;
    width: 18px; height: 18px;
    display: block; content: '';
    position: absolute; top: 50%; left: 0;
    border-radius: 50%;
    transform: translateY(-50%);
}

#finPlanningPage3 div.wishPartner .ageRadioBox input:checked + label:before{
    background-color: #AD1E5E;
}
#finPlanningPage3 div.wishPartner .ageRadioBox input:checked + label:after{
    background-color: #fff;
    width: 10px; height: 10px;
    display: block; content: '';
    position: absolute; top: 50%; left: 5px;
    border-radius: 50%;
    transform: translateY(-50%);
}

#finPlanningPage3 div.wishPartner .twin >strong{
    margin: 15px 0;
    padding-bottom: 15px;
    font-size: 18px;
    color: #AD1E5E;
    border-bottom: 1px solid rgb(255 190 220)
}
#finPlanningPage3 div.wishPartner .twin >strong span{
    font-size: 14px;
    display: block;
    margin: 10px 0 0;
}
#finPlanningPage3 div.wishPartner .twin .qBox span{
    font-weight: 600;
    color: #333;
}
#finPlanningPage3 div.wishPartner .twin .qBox span + textarea{
    margin: 10px 10px 25px !important
}

#finPlanningPage3 .textLengthWrap{
    display: flex;
    position: absolute;
    bottom: 2px;
    right: -10px;
    transform: translateX(-50%);
}

#finPlanningPage3 .textLengthWrap p{
    font-size: 10px;
    color: #666;
}

#finPlanningPage3  .promiseTit{
    display: block;
    text-align: center;
}
#finPlanningPage3 #promisePart,#finPlanningPage3 #promiseMe{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: center;
    align-items: center;
}
#finPlanningPage3 div[id*=promise] textarea{
    width: 80%;
    margin: 20px 10px;
}


#finPlanningPage3 .firstQuest .labelBox{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
#finPlanningPage3 .firstQuest input[type=radio],
#finPlanningPage3 .dreamMarry input[type=radio],
#finPlanningPage3 .meMarry input[type=radio],
#finPlanningPage3 .wishMarryHome input[type=radio],
#finPlanningPage3 .marriageFunds input[type=radio],
#finPlanningPage3 .nowHome input[type=radio],
#finPlanningPage3 .wishMyHome input[type=radio]{
    display: none;
}
#finPlanningPage3 .firstQuest label{
    border: 1px solid #065F46;
    color: #065F46;
}

#finPlanningPage3 .dreamMarry .labelBox{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}


#finPlanningPage3 .questTit.pink{
    color: rgb(255 0 120) !important;
}
#finPlanningPage3 .dreamMarry .labelBox label{
    border: 1px solid #AD1E5EFF;
    color: #AD1E5EFF;
    padding: 10px;
}
#finPlanningPage3 .firstQuest label,
#finPlanningPage3 .dreamMarry .labelBox label,
#finPlanningPage3 .nowHome .label{
    font-size: 14px;
    padding: 15px;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
}
#finPlanningPage3 label[for="purchase0"]{
    color: #AD1E5E;
}

#finPlanningPage3 .meMarry .qBox,
#finPlanningPage3 .wishMarryHome .qBox:first-of-type,
#finPlanningPage3 .marriageFunds .qBox,
#finPlanningPage3 .nowHome .qBox:first-of-type,
#finPlanningPage3 .wishMyHome .qBox:first-of-type{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
#finPlanningPage3 .meMarry label,
#finPlanningPage3 .wishMarryHome label:not(label[for=purchase0]),
#finPlanningPage3 .marriageFunds label,
#finPlanningPage3 .nowHome label{
    border: 1px solid #AD1E5EFF;
    position: relative;
    font-size: 13px;
    padding: 10px 2px;
    border-radius: 8px;
    color: #AD1E5EFF;
    transition: background-color 0.3s ease, color 0.3s ease;
}


#finPlanningPage3  .wishMyHome .qBox:first-of-type label{
    border: 1px solid #065F46;
    position: relative;
    font-size: 13px;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 8px;
    color: #065F46;
    transition: background-color 0.3s ease, color 0.3s ease;
}
#finPlanningPage3  .wishMyHome select{
    border: 1px solid transparent;
    background-color: rgba(30, 73, 173, 0.2);
    color: #065F46;
    margin: 0 10px 10px;
    padding: 5px 12px;
    outline: 0 none;
    border-radius: 4px;
}


#finPlanningPage3 .hitory{
    border-top: 1px solid rgba(173, 30, 94, 0.2);
    padding: 20px 10px;
    margin: 0 -10px;
}

#finPlanningPage3 .hitory>span{
    text-align: center;
    display: block;
    margin-bottom: 20px;
}
#finPlanningPage3 .hitory .ageChose{
    margin: 20px 0;
}
#finPlanningPage3 .hitory .ageChose label {
    position: relative;
    padding-left: 30px;
    color: #AD1E5E;
}
#finPlanningPage3 .hitory .ageChose label:before{
    position: absolute;
    content: '';
    display: block;
    background-color: #fff;
    border: 1px solid #AD1E5E;
    width: 20px; height: 20px;
    border-radius: 50%;
    top: 50%; transform: translateY(-50%);
    left: 5px;
}
#finPlanningPage3 .hitory .ageChose label:after{
    position: absolute;
    content: '';
    display: block;
    background-color: #fff;
    border: 1px solid transparent;
    width: 8px; height: 8px;
    border-radius: 50%;
    top: 50%; transform: translateY(-50%);
    left: 11px;
}
#finPlanningPage3 .hitory .ageChose input[type=radio]:checked +label:after{
    background-color: #AD1E5E;
}
#finPlanningPage3 .hitory .qBox:nth-of-type(2){
    margin-bottom: 15px;
}




#finPlanningPage3 .wishMarryHome .qBox:first-of-type{
    margin-bottom: 15px;
}
#finPlanningPage3 .nowHome .qBox:first-of-type{
    margin-bottom: 20px;
}
#finPlanningPage3 .wishMarryHome label:not(label[for=purchase0]),
#finPlanningPage3 .marriageFunds label,
#finPlanningPage3 .nowHome label{
    padding: 10px 15px;
}

#finPlanningPage3 .meMarry label[for="ceremony0"]:before{
    background-image: url("../images/dreamTrip/fin-hotel.png");
}

#finPlanningPage3 .meMarry label[for="ceremony1"]:before{
    background-image: url("../images/dreamTrip/fin-marry1.png");
}

#finPlanningPage3 .meMarry label[for="ceremony2"]:before{
    background-image: url("../images/dreamTrip/fin-marry2.png");
}
#finPlanningPage3 .meMarry #ceremony4,
#finPlanningPage3 .wishMarryHome #housing4{
    width: 100%;
    border: 1px solid #AD1E5E;
    color: #AD1E5E;
    display: none;
}
/*신혼집? + 혼자사는 집*/

#finPlanningPage3 .wishMarryHome label[for="housing0"]:before,
#finPlanningPage3 .wishMyHome label[for="wishMyHome0"]:before{
    background-image: url("../images/dreamTrip/fin-apart.png");
}
#finPlanningPage3 .wishMarryHome label[for="housing1"]:before,
#finPlanningPage3 .wishMyHome label[for="wishMyHome1"]:before{
    background-image: url("../images/dreamTrip/fin-home.png");
}
#finPlanningPage3 .wishMarryHome label[for="housing2"]:before,
#finPlanningPage3 .wishMyHome label[for="wishMyHome2"]:before{
    background-image: url("../images/dreamTrip/fin-billa.png");
}

/*신혼여행?*/

#finPlanningPage3 .marriageFunds label[for="honeymoon0"]:before{
    background-image: url("../images/dreamTrip/fin-marryHome1.png");
}
#finPlanningPage3 .marriageFunds label[for="honeymoon1"]:before{
    background-image: url("../images/dreamTrip/fin-marryHome2.png");
}
#finPlanningPage3 .marriageFunds label[for="honeymoon2"]:before{
    background-image: url("../images/dreamTrip/fin-marryHome3.png");
}





#finPlanningPage3 .meMarry label:before,
#finPlanningPage3 .wishMarryHome label:before,
#finPlanningPage3 .marriageFunds label:before,
#finPlanningPage3 .wishMyHome label:before{
    background-size: 30px;
    width: 30px;
    height: 30px;
    display: block;
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    transition: bottom 0.5s ease;
    opacity: 0;
}

#finPlanningPage3 .meMarry label.up:before,
#finPlanningPage3 .wishMarryHome label.up:before,
#finPlanningPage3 .marriageFunds label.up:before{
    bottom: 40px;
    opacity: 1;
}
#finPlanningPage3 .wishMyHome label.up:before{
    bottom: 37px;
    opacity: 1;
}







#finPlanningPage3 .wishMarryHome select[name="purchase0"]{
    border: 1px solid transparent;
    background-color: rgba(173, 30, 94, 0.2);
    color: #AD1E5E;
}

#finPlanningPage3 .daughter{
    margin-bottom: 60px;
}
#finPlanningPage3 .planChild h3{
    margin-bottom: 15px;
    font-size: 16px;
    display: block;
    width: 100%;
    position: relative;
}
#finPlanningPage3 .planChild h3:after{
    position: absolute;
    content: '';
    display: block;
    background-size: 100%;
    background-repeat: no-repeat;
    top: 50%;
    transform: translateY(-50%);
    left: 55%;
    width: 100px;
    height: 120px;
}


#finPlanningPage3 .daughter h3:after{
    background-image: url("../images/dreamTrip/fin-daughter.png");
}
#finPlanningPage3 .son h3:after{
    background-image: url("../images/dreamTrip/fin-son.png");
}


#finPlanningPage3 .daughter .qBox,#finPlanningPage3 .son .qBox{
    position: relative;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

#finPlanningPage3 .childName .flex-box{
    display: flex;
    justify-content: center;
    gap: 5px;
    align-items: center;
}
#finPlanningPage3 .childName .flex-box:not(:last-of-type){
    margin-bottom: 20px;
}

@-webkit-keyframes heartbeat {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    10% {
        -webkit-transform: scale(0.91);
        transform: scale(0.91);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    17% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    33% {
        -webkit-transform: scale(0.87);
        transform: scale(0.87);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    45% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
}
@keyframes heartbeat {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    10% {
        -webkit-transform: scale(0.91);
        transform: scale(0.91);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    17% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    33% {
        -webkit-transform: scale(0.87);
        transform: scale(0.87);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    45% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
}

/* dream TRip 미래설계 끝   **********************/



/* dream Trip 미래설계 결과 시작  **********************/
#finPlanningPage3 .dreamTripResult .point{font-size: 1rem; color: #065F46; font-weight: 700;}

#finPlanningPage3 .dreamTripResult .top{
    border-radius: 10px 10px 0 0;
    background-color: #fff;
    padding: 1rem;
    margin-bottom: 20px;
}

#finPlanningPage3 .dreamTripResult .bottom{
    border-radius: 0 0 10px 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#finPlanningPage3 .dreamTripResult .contentBox p{
    font-size: .9rem;
    line-height: 1.8rem;
}
#finPlanningPage3 .dreamTripResult em{
    font-style: normal;
    font-size: .8rem;
    color: #666;
    display: block;
    text-align: center;
}
#finPlanningPage3 .dreamTripResult .contentBox{
    width: 100%;
    margin: 0 0 20px!important;
    background-color: #fff;
    padding: 1rem;
}

#finPlanningPage3 .dreamTripResult .contentBox.flexStyle{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
}
#finPlanningPage3 .dreamTripResult .cutBox{
    width: 100%;
}
#finPlanningPage3 .dreamTripResult .contentBox.tableWrap{
    overflow-y: auto;
}

#finPlanningPage3 .dreamTripResult .contentBox.tableWrap b.keyFrame{
    font-size: 10px;
    font-weight: 300;
    animation: show 2s ease-in-out infinite;
}
@keyframes show {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}
#finPlanningPage3 .dreamTripResult .contentBox.profile .cutBox{
    width: 48%;
}
#finPlanningPage3 .dreamTripResult .contentBox.retreat >p{
    display: block;
    width: 100%;
}
#finPlanningPage3 .dreamTripResult .contentBox.retreat p.comment{
    margin-top: -30px;
}
#finPlanningPage3 .dreamTripResult .contentBox.futureFamily .cutBox{
    margin-top: -20px;
}

#finPlanningPage3 .dreamTripResult .contentBox.dream{
    border: 1px solid rgba(3, 31, 93, 0.4);
}
#finPlanningPage3 .dreamTripResult .contentBox.dream p{
    text-align: center;
    font-weight: 700;
}

#finPlanningPage3 .dreamTripResult .contentBox p.comment{
    border-top: 1px solid #eee;
    margin-top: 10px;
    padding-top: 10px;
}

#finPlanningPage3 .dreamTripResult .contentBox.futureFamily strong{
    margin-bottom: -10px;
}
#finPlanningPage3 .dreamTripResult .contentBox strong{
    position: relative;
    font-size: .9rem;
    padding-left: 25px;
    width: 100%;
    display: block;
    margin-bottom: 10px;
}
#finPlanningPage3 .dreamTripResult .contentBox strong:before{
    content: '';
    background-image: url(../images/icon/ico-target.png);
    background-size: 100%; background-repeat: no-repeat; background-position: center;
    width: 20px; height: 20px;
    position: absolute; top: 50%; left: 0; transform: translateY(-50%);
}

#finPlanningPage3 .dreamTripResult .contentBox.profile strong:before{background-image: url("../images/icon/ico-profile666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.marry strong:before,#finPlanningPage3 .dreamTripResult .contentBox.marry2 strong:before{background-image: url("../images/icon/ico-marry666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.e4 strong:before{background-image: url("../images/icon/ico-e4666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.futureFamily strong:before{background-image: url("../images/icon/ico-futureFamily666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.edu strong:before{background-image: url("../images/icon/ico-edu666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.getAsset strong:before{background-image: url("../images/icon/ico-asset666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.retreat strong:before{background-image: url("../images/icon/ico-retreat666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.getAsset strong:before{background-image: url("../images/icon/ico-asset666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.dream strong:before{background-image: url("../images/icon/ico-dream666.png")}
#finPlanningPage3 .dreamTripResult .contentBox.promise strong:before{background-image: url("../images/icon/ico-promise666.png")}



#finPlanningPage3 .dreamTripResult .calcPage table td{
    padding: 12px 5px;
}

#finPlanningPage3 .dreamTripResult .btnBox{
    margin-top: 30px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 15px;
    padding-bottom: 15vh;
}
#finPlanningPage3 .dreamTripResult button.default{
    background-color: transparent !important;
    border: 1px solid #065F46 !important;
    color: #065F46 !important;
}
#finPlanningPage3 .dreamTripResult button.default:hover{
    background-color: rgba(6, 95, 70, 0.2);  !important;
}

#finPlanningPage3 .dreamTripResult button{
    margin: 0 !important;
    width: 30%;
    height: unset !important;
    max-width: 519px;
    min-width: 519px;
    border-radius: 5px;
    font-size: 1rem !important;
}





    /* dream Trip 미래설계 결과  끝   **********************/





/* dream Trip 프린트 시작 ***************************/

@font-face {
    font-family: 'PFStardust';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/PFStardust.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/*픽셀폰트*/
@font-face {
    font-family: 'yleeMortalHeartImmortalMemory';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2205@1.0/yleeMortalHeartImmortalMemory.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
/*손글씨1*/
@font-face {
    font-family: 'Chilgok_kyb';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2106@1.1/Chilgok_kyb.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/*손글씨2*/
@import url('//fonts.googleapis.com/earlyaccess/nanumpenscript.css');
/*손글씨3*/

@font-face {
    font-family: 'locus_sangsang';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/locus_sangsang.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/*네모네모 고딕*/
@font-face {
    font-family: 'Cafe24Ssurround';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/Cafe24Ssurround.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/*둥글둥글 고딕*/




/*폰트 모음 ---------------------------------------------------------------------------------------------------------*/

.reportContain .reportArea .speech-bubble {
    font-family:  'locus_sangsang'!important;
    background: rgba(255,255,255,0.95);
    color: #2c3e50;
    padding: 20px 25px;
    border-radius: 25px;
    position: relative;
    width: 90%;
    margin: 50px auto;
    font-size: 12pt;
    line-height: 1.6;
    border: 1px solid rgba(255, 0, 171, 0.1);
    box-shadow: 0 10px 25px rgba(255, 0, 171, 0.1);
}
.reportContain .reportArea .speech-bubble strong{
    margin-bottom: 10px; display: block;
    color: #fff;
    font-size: 14pt;
    text-shadow: 0 0 100px #fff, 0 0 100px #fff, 0 0 1px #606060, 0 0 2px #696969, 0 0 2px #696969, 0 0 1px #ff0080, 0 0 1px #ff0080;
}

.reportContain .reportArea .speech-bubble::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 30px;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    box-shadow: 0 10px 25px rgba(255, 0, 171, 0.2);
    border-top: 15px solid rgba(255,255,255,0.9);
}

/*X 말풍선 선택*/





.reportContain .reportArea,
.integrityArea{
    position: relative;
}
.four-two span.point{
    background: rgba(168, 216, 168, 0.4);
    padding: 2px 8px;
    border-radius: 8px;
    font-weight: 600;
    color: #2d5a2d;
    font-size: 16pt;
    position: relative;
    display: inline-block;
    transform: rotate(-0.5deg);
}
.four-two span.point:after{
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border: 1px dashed rgba(168, 216, 168, 0.6);
    border-radius: 10px;
}

.reportContain textarea{
    width: 100%;
    margin: 20px 0;
    font-size: 10pt;
    font-weight: 500;
    overflow: hidden;
    box-sizing: border-box;
    resize: none;;
    background-color: transparent;
    outline: none;
    /*min-height: 130px !important;*/
    /*max-height: 130px !important;*/
    white-space: pre-line;
    /*border: 1px solid #333;*/
}
.reportContain .auto-resize-textarea {
    width: 100%;
    margin: 20px 0 0;
    font-size: 10pt;
    font-weight: 500;
    box-sizing: border-box;
    resize: none;
    outline: none;
    min-height: 50px;
    /*padding: 10px;*/
}


.reportContain .reportArea .allContain{
    width: 90%; margin:  0 auto;
}


.reportContain .reportArea .bigTitleArea {
    font-size: 16pt;
    display: flex; justify-content: space-between; align-items: center;
    text-align: center;
    margin: 30px 0;
    color: #ecf0f1;
}
.reportContain .reportArea .bigTitleArea span{
    font-family: 'Cafe24Ssurround' !important;
}
.reportContain .reportArea .bigTitleArea span:first-of-type{
    font-size: 24pt;
    position: relative;
    text-shadow: 0 0 100px #fff, 0 0 100px #fff, 0 0 1px #606060, 0 0 2px #696969, 0 0 2px #696969, 0 0 1px #ff0080, 0 0 1px #ff0080;
}
.reportContain .reportArea .bigTitleArea span:last-of-type{
    font-size: 10pt;
    color: #e74c3c;
}

.reportContain .reportArea .bigTitleArea span:first-of-type::before,
.reportContain .reportArea .bigTitleArea span:first-of-type::after {
    content: '"';
    font-size: 20pt;
    color: #fff;
    text-shadow: 0 0 100px #fff, 0 0 100px #fff, 0 0 1px #606060, 0 0 2px #696969, 0 0 2px #696969, 0 0 1px #ff0080, 0 0 1px #ff0080;
    position: absolute;
    top: -5px;
}

.reportContain .reportArea .bigTitleArea span:first-of-type::before {
    left: -20px;
}

.reportContain .reportArea .bigTitleArea span:first-of-type::after {
    right: -20px;
}


.reportContain .reportArea .profileCard{
    width: 90%;margin: 0 auto; position: relative; top: 50%; transform: translateY(-50%);
    display: flex; justify-content: space-between; gap: 20px; align-items: center; flex-wrap: wrap;
}


.reportContain .two2{
    background-color: #fffaf0;
}
.reportContain .about{
    background-color: rgba(255,255,255,.8); min-height: 400px; height: auto;
    width: 65%;
    border: 1px solid #eee;
    position: relative;
    box-shadow: rgba(14, 63, 126, 0.04) 0px 0px 0px 1px, rgba(42, 51, 69, 0.04) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.04) 0px 6px 6px -3px, rgba(14, 63, 126, 0.04) 0px 12px 12px -6px, rgba(14, 63, 126, 0.04) 0px 24px 24px -12px;
}
.reportContain .about .about-inner{
    display: flex; height: 100%;
    justify-content: space-between;
}
.reportContain .about .contain:first-of-type{
    width: 60%; padding: 20px 0 20px 20px; height: auto; min-height: 400px;

}
.reportContain .about .contain:first-of-type::after {
    background-image: url("../images/report/dreamTripCardBg.jpg"); background-repeat: no-repeat; background-position: center; background-size: cover;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    z-index: -1;
}
.reportContain .about .logo{
    font-size: 18pt;
    display: block;
    color: rgb(173, 30, 94);
    margin-bottom: 5px;
    font-family: 'PFStardust', Gulim, "Apple SD Gothic Neo";
}
.reportContain .about .logo+p{
    font-family: 'PFStardust', Gulim, "Apple SD Gothic Neo";
    font-weight: 300;
    color: #666;
    font-size: 14pt;
    margin-bottom: 20px;
}
.reportContain .about .info{
    position: relative;
    margin-bottom: 25px;
    display: inline-block;
}
.reportContain .about .info p{
    font-size: 30pt;
    color: #000;
    position: relative;
}
.reportContain .about.me{
    transform: rotate(5deg);
}
.reportContain .about.me .info p{
    font-family: 'yleeMortalHeartImmortalMemory', Gulim, "Apple SD Gothic Neo", Sans-serif;
}
.reportContain .about.part .info p{
    font-family: 'Chilgok_kyb', Gulim, "Apple SD Gothic Neo", Sans-serif;
}

.reportContain .about .info strong{
    font-family: "Cafe24 Ssurround",Guilm,"Apple SD Gothic Neo";
    font-size: 12px;
}
.reportContain .about.me .info strong{
    position: absolute;
    right: -40px;
    bottom: -10px;
    opacity: .8;
    transform: rotate(-25deg);
}
.reportContain .about.part{
    margin-left: auto;
    transform: rotate(-5deg);
}
.reportContain .about dl:not(:last-of-type){
    margin-bottom: 15px;
}
.reportContain .about dt{
    font-size: 12pt;
    font-family: 'PFStardust', Gulim, "Apple SD Gothic Neo";
    margin-bottom: 15px;
}
.reportContain .about.part .info strong{
    position: absolute;
    right: -40px;
    top: 5px;
    opacity: .8;
    transform: rotate(25deg);
}
.reportContain .about.me dt{
    color: rgb(66, 173, 30);
}
.reportContain .about.part dt{
    color: #99BC85;
}
.reportContain .about dd{
    font-size: 16pt;
    line-height: 1.4;
    font-family: 'NanumPen',Gulim;
    font-weight: 500;
}
.reportContain .about dd b{
    font-weight: 500;
    font-family: 'NanumPen',Gulim;
}

.reportContain .about .imgWrap{
    width: 40%; position: relative; background-image: url("../images/report/msigChild-img0.png"); background-repeat: no-repeat; background-position: bottom;
    height: auto!important; margin: 0;  min-height: 410px;
}
.reportContain .about .imgWrap img{
    box-shadow: 0 4px 12px rgba(66, 66, 66, 0.1);
    width: 160px; height: 180px; border: 5px solid #f1f1f1; border-bottom: 30px solid #f1f1f1; object-fit: cover;
     position: absolute; left: 5px; top: 50%; transform: translateY(-50%) rotate(-15deg);
}
.reportContain .reportArea .allContain > ul{

}
.reportContain .reportArea .allContain > ul li:not(:last-of-type){
    margin-bottom: 20px;
}
.reportContain .reportArea .allContain > ul li{
    font-size: 12pt;
    border-radius: 10px;
    position: relative;
}


.reportContain .reportArea strong.smallTit{
    display: block;
    margin-bottom: 10px;
    font-size: 9pt;
    color: #666;
}



.reportArea.three .container {
    width: 80%;
    height: 80%;
    margin: 0 auto;
    position: relative;
    background: #ffffff;
    border-radius: 5px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transform: rotate(-1deg);
    padding: 2rem;
    overflow: hidden;
}
.reportArea.three .container:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
            transparent,
            transparent 30px,
            rgba(200, 200, 200, 0.15) 30px,
            rgba(200, 200, 200, 0.15) 32px
    );
    pointer-events: none;
}
.reportArea.three .allContain{
    position: relative;
    z-index: 10;
    height: 100%;
    padding-left: 60px;
}
.reportArea.three .allContain ul{
    list-style: none;
    height: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
}
.reportArea.three .allContain li{
    position: relative;
    font-size: 1.4rem;
    line-height: 2;
    color: #2d2d2d;
    font-weight: 400;
    transform: rotate(0.5deg);
    margin-bottom: 0.5rem;

}
.reportArea.three .allContain li:nth-child(2n){
    transform: rotate(-0.3deg);
    margin-left: 10px;
}
.reportArea.three .allContain li:nth-child(3n){
    transform: rotate(0.2deg);
    margin-left: -5px;
}
.reportArea.three .allContain .smallTit{
    display: inline-block;
    font-size: 12pt;
    font-weight: 600;
    color: #ff6b9d;
    margin-right: 10px;
    position: relative;
}
.reportArea.three .allContain .smallTit:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255, 107, 157, 0.3);
}
.reportArea.three .allContain .point{
    background: rgba(168, 216, 168, 0.4);
    padding: 2px 8px;
    border-radius: 8px;
    font-weight: 600;
    color: #2d5a2d;
    font-size: 16pt;
    position: relative;
    display: inline-block;
    transform: rotate(-0.5deg);
}
.reportArea.three .allContain .point:after{
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border: 1px dashed rgba(168, 216, 168, 0.6);
    border-radius: 10px;
}
.reportArea.three .marryPlace{
    background: transparent;
    border: none;
    border-bottom: 2px solid #a8d8a8;
    color: #2d5a2d;
    font-weight: 600;
    font-size: 1.5rem;
    margin-left: 5px;
    padding: 2px 5px;
    outline: none;
    font-family: inherit;
    transform: rotate(0.3deg);
}
.reportArea.three .memo-sticker{
    position: absolute;
    width: 80px;
    height: 60px;
    background: #ffeb3b;
    border-radius: 0 0 15px 0;
    top: 10px;
    right: 20px;
    transform: rotate(8deg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}
/*
.reportContain .highlight-marker{
    background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 235, 59, 0.6) 15%,
    rgba(255, 235, 59, 0.4) 85%,
    transparent 100%);
    padding: 0 5px;
}

 */

.reportArea.three .doodle {
    position: absolute;
    font-size: 1.2rem;
    color: rgba(255, 107, 157, 0.4);
    z-index: 5;
}

.reportArea.three .doodle1 {
    top: 15%;
    right: 25%;
    transform: rotate(15deg);
}

.reportArea.three .doodle2 {
    bottom: 20%;
    left: 15%;
    transform: rotate(-10deg);
}

.reportArea.three .doodle3 {
    top: 60%;
    right: 15%;
    transform: rotate(5deg);
}

.reportContain .reportArea.three li{
    font-family: 'NanumPen',Gulim;
    font-size: 20pt!important;
}
.reportContain .reportArea.three li strong{
    font-family: NanumSquare,Guilm;
}
.reportContain .reportArea.three li .point{
    font-family: 'NanumPen',Gulim;
}

.reportContain .reportArea .allContain .marryTextBox{
    margin: 10px 0 0;
    color:#99BC85;
}

.reportContain .reportArea .angryList,
.reportContain .reportArea .angryList2{
    display: none;
    position: absolute;
    left: 50px;
    width: 92%;
    top: 68%;
}
.reportContain .reportArea .angryList> strong,
.reportContain .reportArea .angryList2> strong{
    font-size: 16pt;
    display: block;
    margin-bottom: 10px;
    color: #AD1E5E;
}
.reportContain .reportArea .angryArea {
    background-color: rgba(173, 30, 94, 0.1);
    border-radius: 8px;
    width: 100%;
    padding: 20px;
}

.reportContain .reportArea .angryArea div strong{
    color: #ff87bc;
}
.reportContain .reportArea .angryArea textarea{
    margin: 5px 0 0;
    background-color: transparent;
    font-size: 12pt;
}
.reportContain .reportArea .angryList2 textarea{
    background-color: rgba(173, 30, 94, 0.1);
    border-radius: 8px;
    width: 100%;
    padding: 20px;
}

.reportContain .about li{
    font-weight: 500;
}

.reportContain .myName{
    position: absolute;
    bottom: 57vh;
    left: 75%;
    font-size: 24pt;
    font-weight: 700;
    color: #99BC85;
}
.reportContain .partName{
    position: absolute;
    bottom: 52vh;
    left: 75%;
    font-size: 24pt;
    font-weight: 700;
    color: #99BC85;
}

/*2report fine*/

/*3report fine*/


/* 월별 탭 */
.reportArea .month-tab {
    position: absolute;
    top: 80px;
    right: 0;
    width: 60px;
    height: 120px;
    background: #74b9ff;
    border-radius: 15px 0 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 6;
}
.reportArea.five .month-tab{
    background-color: #2d5a2d;
}
.reportArea.six .month-tab{
    background-color: #73674c;
}

.reportArea .month-text {
    color: #fff;
    font-size: 10pt;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.reportArea.five .allContain,
.reportArea.six .allContain{
    position: relative;
    z-index: 10;
    margin: 50px auto;
    padding: 20px;
}
.reportArea.five .allContain >ul,.reportArea.six .allContain >ul{
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.reportArea.five .allContain >ul >li,.reportArea.six .allContain >ul >li{
    background: #ffffff;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1px solid #f1f2f6;
    position: relative;
    transform: rotate(0.1deg);
    font-family: 'locus_sangsang';
}

.reportArea.five .allContain >ul >li:nth-child(2n),.reportArea.six .allContain >ul >li:nth-child(2n) {
    transform: rotate(-0.1deg);
    background: rgba(168, 216, 168, 0.1);
}
.reportArea.five .allContain ol li,.reportArea.six .allContain ol li {
    font-size: 12pt;
    line-height: 1.7;
    color: #2d3436;
    margin-bottom: 0.8rem;
    padding-left: 25px;
    position: relative;
}
.reportArea.five .allContain ol li::before,.reportArea.six .allContain ol li::before {
    content: "◆";
    position: absolute;
    left: 0;
    color: #fd79a8;
    font-size: 0.8rem;
    top: 2px;
}
.reportArea .allContain ol li:nth-child(2n)::before {
    color: #6c5ce7;
}
.reportArea .allContain ol li:nth-child(3n)::before {
    color: #00b894;
}
.reportArea.six .point ,
.reportArea.five .point {
    background: rgba(168, 216, 168, 0.4);
    padding: 2px 8px;
    border-radius: 8px;
    margin: 0 8px;
    font-weight: 600;
    color: #2d5a2d;
    font-size: 20pt;
    position: relative;
    display: inline-block;
    border: 1px dashed #2d5a2d;
    font-family: 'NanumPen',Gulim
}
.reportArea.six .point {
    border: 1px dashed #73674c;
    background: #E8E2D4;
    color: #73674c;
}
.reportArea.five .auto-resize-textarea {
    width: 100%;
    min-height: 70px;
    border: 1px solid #ddd;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    padding: 1rem;
    font-size: 18pt;
    color: #2d5a2d;
    resize: none;
    outline: none;
    line-height: 1.5;
    margin-top: 0.5rem;
    border-left: 3px solid #2d5a2d;
    font-family: 'NanumPen',Gulim
}
.reportArea.six .auto-resize-textarea {
    width: 100%;
    min-height: 70px;
    border: 1px solid #ddd;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    padding: 1rem;
    font-size: 18pt;
    color: #73674c;
    resize: none;
    outline: none;
    line-height: 1.5;
    margin-top: 0.5rem;
    border-left: 3px solid #6c5ce7;
    font-family: 'NanumPen',Gulim
}

    /* 다이어리 장식 요소들 */
.reportArea .diary-decoration {
    position: absolute;
    font-size: 1.2rem;
    opacity: 0.3;
    z-index: 4;
}

.reportArea .deco1 { top: 200px; left: 15px; transform: rotate(-15deg); }
.reportArea .deco2 { top: 400px; right: 20px; transform: rotate(10deg); }
.reportArea .deco3 { bottom: 150px; left: 25px; transform: rotate(5deg); }



/*5report fine*/


.four-two .bg-decoration {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.four-two .shape {
    position: absolute;
    border-radius: 20px;
    opacity: 0.6;
}

.four-two .shape1 {
    width: 120px;
    height: 80px;
    background-color: #A8D8A8;
    top: 15%;
    left: 10%;
    transform: rotate(-15deg);
}

.four-two .shape2 {
    width: 80px;
    height: 100px;
    background-color: #E8E2D4;
    top: 25%;
    right: 15%;
    transform: rotate(25deg);
}

.four-two .shape3 {
    width: 90px;
    height: 60px;
    background-color: #A8D8A8;
    bottom: 20%;
    left: 8%;
    transform: rotate(10deg);
}

.four-two .shape4 {
    width: 70px;
    height: 90px;
    background-color: #D4D0C8;
    bottom: 15%;
    right: 12%;
    transform: rotate(-20deg);
}

/* 작은 장식 요소들 */
.four-two .small-accent {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #A8D8A8;
}

.four-two .accent1 { top: 20%; left: 25%; }
.four-two .accent2 { top: 30%; right: 30%; }
.four-two .accent3 { bottom: 35%; left: 20%; }
.four-two .accent4 { bottom: 25%; right: 25%; }


.four-two {
    background-color: #F5F3F0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.four-two ul{
    border-radius: 25px;
    padding: 4rem 3rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #E8E2D4;
    position: relative;
}
.four-two ul::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background: linear-gradient(45deg, #A8D8A8, #E8E2D4, #A8D8A8);
    border-radius: 30px;
    z-index: -1;
    opacity: 0.3;
}
.four-two li{
    font-family: 'locus_sangsang';
    font-size: 12pt;
    font-weight: 500;
    line-height: 1.5;
    color: #2D2D2D;
    text-align: center;
}

.four-two .esa{
    background: transparent;
    border: none;
    border-bottom: 2px solid #A8D8A8;
    color: #5A8A5A;
    font-weight: 700;
    font-size: 2.8rem;
    text-align: center;
    margin-left: 10px;
    padding: 5px;
    outline: none;
    font-family: inherit;
}

.reportArea.four .allContain strong{
    font-family: 'locus_sangsang';
    letter-spacing: 1px;
    padding: 1.2rem 1rem; border-radius: 10px;
    font-weight: 400;
    background-color: rgba(115, 103, 76, 0.9);
    font-size: 14pt;
    color: #fff;
    position: relative;
    text-shadow: 0 0 100px #fff, 0 0 100px #fff, 0 0 1px #383838, 0 0 2px #696969, 0 0 2px #000000, 0 0 1px #ff0080, 0 0 1px #ff0080;
    display: inline-block;
    margin-bottom: 15px;
}
.reportArea.four .allContain strong:before{
    content: ''; border: 3px solid #666; border-radius: 10px; width: 100%; height: 100%;
    position: absolute; top: -10px; left: -8px; background-color: transparent;
}
.reportArea.four .allContain dl{
    width: 100%;
    position: relative;
    margin-left: auto;
}
.reportArea.four .allContain dl dt,
.reportArea.four .allContain dl dd{
    color: #000;
}
.reportArea.four .allContain ul dl:not(:last-of-type){
    display: flex; gap: 28px; align-items: center; height: 50px;
    margin-bottom: 30px;
}
.reportArea.four .allContain ul dl:not(:last-of-type):before{
    content: ''; background-image: url("../images/icon/talkLine.png"); background-position: left; background-repeat: no-repeat;
    width: 100%; height: 54px; position: absolute; top: -5px; right: 0; left: 24px;
}
.reportArea.four .allContain ul dl:not(:last-of-type) dd{
     line-height: 1;
}
.reportArea.four .allContain dt,
.reportArea.four .allContain dd,
.reportArea.four .allContain textarea{
    font-family: 'locus_sangsang';
    font-size: 12pt;
}

.reportArea.four .allContain ul strong:last-of-type{
    margin-left: auto; display: block; width: 45%; text-align: center;
}
.reportArea.four .allContain dl:last-of-type{
    padding: .5rem;
}
.reportArea.four .allContain dl:last-of-type dd{
    width: 60%; margin-left: auto;
}
.reportArea.four .allContain dl:last-of-type dt,
.reportArea.four .allContain dl:last-of-type textarea{
    text-align: right;
}
.reportArea.four textarea{
    margin-top: 15px; padding-top: 15px;
    border-top: 1px solid #fff;
}
.reportArea.four .son2,
.reportArea.four .daughter2{
    position: relative;
}
.reportArea.four .daughter2{
    margin-bottom: 30px;
}
.reportArea.four .daughter2:before{
    background-image: url(../images/dreamTrip/fin-daughter.png);
    background-size: 100%;
    width: 150px;
    height: 140px;
    /*content: '';*/
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: -30px;
    left: -130px;
}
.reportArea.four .son2:before{
    background-image: url(../images/dreamTrip/fin-son.png);
    background-size: 100%;
    width: 150px;
    height: 140px;
    /*content: '';*/
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: -30px;
    left: -130px;
}

.reportArea.four .speech-bubble{
    box-shadow: 0 10px 25px rgba(232, 226, 212, 0.2);
    border: 1px solid rgba(115, 103, 76, 0.2);
}

.reportArea.four .speech-bubble::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 30px;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    box-shadow: 0 10px 25px rgba(232, 226, 212, 0.3);
    border-top: 15px solid rgba(255,255,255,0.9);
}



/*4report fine*/

.reportArea.seven  .allContain {
    max-width: 600px;
    margin: 0 auto;
    background: #fdfdfd;
    border-radius: 8px;
    padding: 40px;
    position: relative;
    background-image:
            linear-gradient(to right, #E8E2D4 15px, transparent 15px),
            repeating-linear-gradient(
                    transparent,
                    transparent 19px,
                    #e8e8e8 19px,
                    #e8e8e8 20px
            );
    background-size: 100% 100%, 100% 20px;
    background-position: 0 0, 0 15px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.reportArea.seven .allContain::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #E8E2D4;
}
.reportArea.seven .bigTitleArea{
    margin: 0 10px 30px;
    transform: rotate(-3deg);
}

.reportArea.seven ul {
    list-style: none;
    margin-left: 30px;
}

.reportArea.seven li {
    background: linear-gradient(to bottom, #fff 0%, #fefefe 100%);
    border: none;
    border-radius: 3px;
    padding: 25px 30px;
    margin-bottom: 20px;
    position: relative;
    box-shadow:
            0 1px 3px rgba(0,0,0,0.08),
            0 4px 6px rgba(0,0,0,0.04);
    font-size: 1.1rem;
    color: #444;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.reportArea.seven li:nth-child(1) {
    transform: rotate(-0.8deg);
}

.reportArea.seven li:nth-child(2) {
    transform: rotate(0.5deg);
}

.reportArea.seven li:nth-child(3) {
    transform: rotate(-0.3deg);
}

.reportArea.seven li:nth-child(4) {
    transform: rotate(0.4deg);
}

.reportArea.seven li:nth-child(5) {
    transform: rotate(-0.6deg);
}

.reportArea.seven li:hover {
    transform: rotate(0deg) scale(1.02);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    z-index: 10;
}

.reportArea.seven li::before {
    content: '';
    position: absolute;
    left: 25px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #e8d5d5;
    opacity: 0.5;
}


.reportArea.seven .point {
    color: #2d5a2d;
    font-weight: 600;
    background: rgba(168, 216, 168, 0.4);
    padding: 4px 12px;
    border-radius: 15px;
    margin: 0 3px;
    border: 1px dashed #2d5a2d;
    position: relative;
    display: inline-block;
    transform: rotate(-1deg);
    transition: all 0.2s ease;
    font-size: 20pt;
    font-family: 'NanumPen',Gulim
}

.reportArea.seven .point:hover {
    transform: rotate(0deg) scale(1.05);
}

.reportArea.seven .point::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 15px;
    z-index: -1;
}

/*7 fine*/
.reportArea.eight .container{
    max-width: 450px;
    width: 80%;
    margin: 0 auto;
    background: #fff;
    border: 10px solid #eee;
    border-radius: 25px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.05);
}
.reportArea.eight  .chat-header {
    border-radius: 15px 15px 0 0;
    border-top: 20px solid #fff;
    border-left: 10px solid #fff;
    border-right: 10px solid #fff;
    background: #f1f1f1;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
}
.reportArea.eight .allContain{
    width: 100%;
    border-right: 10px solid #fff;
    border-left: 10px solid #fff;
    padding: 0 20px 20px;
}
.reportArea.eight .chat-header .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(45deg, rgb(168, 216, 168), #7d987d);
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10pt;
    font-weight: 600;
}
.reportArea.eight .chat-header .info h3 {
    font-size: 14pt;
    margin-bottom: 5px;
    font-family: 'locus_sangsang';
    color: #2d5a2d;
}
.reportArea.eight .chat-header .info p {
    color: #888;
    font-size: 10pt;
}

.reportArea.eight ul{
}
.reportArea.eight .old {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.reportArea.eight .old ol {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.reportArea.eight .old ol li {
    position: relative;
    animation: slideIn 0.5s ease-out forwards;
    transform: translateX(20px);
}
.reportArea.eight .message-right {
    background: linear-gradient(135deg, #007AFF, #0056CC);
    color: white;
    padding: 12px 16px;
    border-radius: 18px 18px 6px 18px;
    margin-left: auto;
    margin-right: 30px;
    max-width: 62%;
    font-size: 0.95rem;
    line-height: 1.4;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 122, 255, 0.3);
}
.reportArea.eight .message-right::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -6px;
    width: 0;
    height: 0;
    border-bottom: 6px solid #007AFF;
    border-left: 6px solid transparent;
}
.reportArea.eight .message-left {
    background: #E8E2D4;
    color: #73674c;
    padding: 12px 16px;
    border-radius: 18px 18px 18px 6px;
    margin-right: auto;
    max-width: 62%;
    font-size: 0.95rem;
    line-height: 1.4;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.reportArea.eight .message-left::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -6px;
    width: 0;
    height: 0;
    border-bottom: 6px solid #E8E2D4;
    border-right: 6px solid transparent;
}
.reportArea.eight .timestamp {
    text-align: center;
    color: #666;
    font-size: 0.75rem;
    padding: 5px 12px;
    background: #eee;
    border-radius: 12px;
    display: inline-block;
    width: auto;
    margin: 20px 0 20px 50%;
    transform: translateX(-50%);
}

.reportArea.eight .textInputArea{
    border-top: 3px solid #eee;
    border-right: 10px solid #fff;
    border-left: 10px solid #fff;
    border-bottom: 10px solid #fff;
    border-radius: 0 0 15px 15px;
}
.reportArea.eight .textInputArea textarea{
    font-size: 13pt;
    line-height: 1.5;
}
    /* 5 6 8 fine*/

.reportArea.nine p{
    position: absolute;
    top: 50%;
    left: 50%; transform: translate(-50%, -50%);
    font-size: 18pt;
    width: 90%;
    text-align: center;
    font-weight: 800;
    line-height: 2rem;
}
.reportArea.nine p:before{
    content: '';
    display: block;
    position: absolute;
    top: -130px;
    left: 50%; transform: translateX(-50%);
    background-image: url("../images/dreamTrip/fin-hope.png");
    background-size: 100%;
    width: 100px;
    height: 100px;
}
.reportArea.nine p strong{
    display: block;
    margin: 20px 0;
    color: #99BC85;
    font-size: 24pt;
}

.reportArea .commentArea {
    width: 90%;
    position: absolute;
    top: 130px;
    left: 30px;
    display: flex;
    justify-content: space-between;
}
.reportArea .commentArea div{
    font-size: 10pt;
    width: 45%;
    border: 2px solid #d3e1cc;
    padding: 1rem;
    color: #000;
    border-radius: 8px;
    background-color: #fff;
    position: relative;
    z-index: 5;
}

.reportArea .commentArea div:first-of-type{
    border-color: #065F46;
}
.reportArea .commentArea div:first-of-type:after{
    position: absolute;
    top: 50%;
    right: -70px;
    content: '';
    background-image: url(../images/dreamTrip/report/dream-ico.png);
    display: block;
    width: 80px; height: 80px;
    transform: rotate(12deg) translateY(-50%);
    z-index: 1;
    background-size: 100%;
}

.reportArea .commentArea div:last-of-type{
    border-color: #f5a0a0;
}
.reportArea .commentArea div:not(:last-of-type){
    /*margin-bottom: 20px;*/
}

.reportArea .commentArea div strong{
    display: inline-block;
    padding: 10px 15px;
    margin-bottom: 15px;
    color: #bfddb0;
    font-size: 12pt;
    font-weight: 800;
    border-radius: 8px;
}
.reportArea .commentArea div strong:after{
    display: block;
    content: '';
    clear: both;
}
.reportArea .commentArea div:first-of-type strong{
    background-color: rgba(6, 95, 70, 0.1);
    color: #065F46;
}
.reportArea .commentArea div:last-of-type strong{
    color: #f5a0a0;
    background-color: rgba(245, 160, 160, 0.1);
}
.reportArea .commentArea div p{
    font-size: 11pt;
    padding-left: 1rem;
}

.reportArea .fin-title{
    font-size: 20pt;
    text-align: center;
    display: block;
    margin-bottom: 15px;
    color: #fff;
    text-shadow: 0 0 100px #fff, 0 0 100px #fff, 0 0 1px #606060, 0 0 2px #696969, 0 0 2px #696969, 0 0 1px #ff0080, 0 0 1px #ff0080;
}


/*@@@@@@@@@ finPlanningPage3 프린트 부분 start @@@@@@@@@@@*/


#finPlanningPage3 .title-box{
    width: 80%;
    margin: 20px auto 40px;
    text-align: center;
    border: 2px solid #065F46;
    height: 100px;
    border-radius: 4px;
}
#finPlanningPage3 .title-box .title-inner{
    padding: 10px 10px 0 ;
    vertical-align: middle;
}
#finPlanningPage3 .title-box p{
    border-bottom: 1px solid #065F46;
    margin-bottom: 10px;
    padding-bottom: 5px;
}
#finPlanningPage3 .title-box h2{
    font-size: 18pt;
}
#finPlanningPage3 #finCenterLine{
    position: absolute;
    height: calc( 100% - 170px);
    width: 2px;
    background-color: #065F46;
    bottom: 0;
    left: 50%; transform: translateX(-50%);
}

#finPlanningPage3 .contentBox{
    position: relative;
    /*
    border: 2px solid #065F46;
    border-radius: 4px;
     */
    height: 125px;
    width: 40%;
}
#finPlanningPage3 .contentBox .flexBox{
    height: 100%;
    display: flex;
}
#finPlanningPage3 .contentBox .cont-l{
    width: 40%;
    position: relative;
    height: 125px;
}
#finPlanningPage3 .contentBox .cont-l img{
    width: 100%;
    object-fit: contain;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
}
#finPlanningPage3 .contentBox .cont-r{
    border-radius: 0 8px 8px 0;
    background-color: #F5F3F0;
    padding: 20px;
    width: 60%;
}
#finPlanningPage3 .contentBox .cont-r strong{
    font-size: 12pt;
    color: #2d5a2d;
    background: rgba(168, 216, 168, 0.4);
    border: 1px dashed #2d5a2d;
    padding: 4px 12px;
    border-radius: 15px;
    font-weight: 700;
    margin: 0 auto;
    text-align: center;
    display: block;
}
#finPlanningPage3 .contentBox .cont-r p{
    font-size: 9pt;
    text-align: center;
    margin: 10px 0;
}
#finPlanningPage3 .contentBox .cont-r b{
    font-size: 11pt;
    font-weight: 800;
    color: #065F46;
    display: block;
    text-align: center;
}

#finPlanningPage3 .contentBox .content-inner{
    /*padding: 5px;*/
    padding-top: 5px;
}
#finPlanningPage3 .contentBox.first{
    margin-top: 10px !important;
}
#finPlanningPage3 .contentBox:not(:first-of-type){
    margin-top: -10px;
}

#finPlanningPage3 .contentBox:nth-child(2n){
    margin-left: auto;
}
#finPlanningPage3 .contentBox:nth-child(2n) .cont-l{
    order: 2;
}
#finPlanningPage3 .contentBox:nth-child(2n) .cont-r{
    border-radius: 8px 0 0 8px;
    order: 1;
}
#finPlanningPage3 .contentBox .imgWrap{
    position: absolute;
    top: -10px;
    width: 60px; height: 60px;
    z-index: 2;
}
#finPlanningPage3 .contentBox .imgWrap:before{
    position: absolute;
    background-color: #065F46;
    z-index: -1;
    height: 2px;
    content: '';
    top: 50%;
    display: block;
    border-radius: 30px;
}

/*왼쪽 컨텐츠*/
#finPlanningPage3 .contentBox:nth-child(2n-1) .imgWrap{
    right: -89px;
}

#finPlanningPage3 .contentBox:nth-child(2n-1) .imgWrap:before{
    right: 50%;
    width: 59px;
}

/*오른쪽 컨텐츠*/
#finPlanningPage3 .contentBox:nth-child(2n) .imgWrap{
    left: -89px;
}
#finPlanningPage3 .contentBox:nth-child(2n) .imgWrap:before{
    left: 50%;
    width: 60px;
}
#finPlanningPage3 .contentBox .imgWrap img{
    width: 100%; height: 100%;
}

#finPlanningPage3 .contentBox h3{
    font-size: 12pt;
    /*border-bottom: 2px solid #065F46;*/
    color: #065F46;
    background-color: rgba(6, 95, 70, 0.2); ;
    border-radius: 8px;
    padding: 10px;
    margin: 10px 0;
}
#finPlanningPage3 .contentBox .contentUl li{
    margin-bottom: 10px;
    font-size: 10pt;
}
#finPlanningPage3 .contentBox .contentUl li span{
    font-size: 8pt;
}
#finPlanningPage3 .contentBox .contentUl li b.bold{
    font-size: 12pt;
    font-weight: 800;
    color: #065F46;
}

/* fin plannng3 프린트 끗*/


/* dream Trip 프린트 끝 *************/




/* 경제건전성 테스트 시작 ************/
#intTestWrap{
    width: 90%;
    margin: 0 auto;
    padding: 100px 0;
    max-width: 1200px;
}
#intTestWrap .point{font-weight: 700;}
#intTestWrap .small{color: #666; font-size: 12px;}
#intTestWrap #userJob8{display: none; transition: all .3s ease-in-out;}
#intTestWrap input[type=radio]:invalid +label:after{
    border-color: rgba(151, 50, 50, 0.5);
    background-color: rgba(151, 50, 50, 0.1);
}
#intTestWrap input[type=radio]{display: none;}
#intTestWrap input[type=radio]+label{
    padding-left: 30px;
    font-weight: 400;
    position: relative;
    transition: all .3s ease-in-out;
}
#intTestWrap input[type=radio]+label:after{
    content: ''; position: absolute;
    top: 50%; left: 0; transform: translateY(-50%);
    width: 20px; height: 20px; background-color: #eee; border: 1px solid #666; border-radius: 50%;
    transition: all .3s ease-in-out;
 }
#intTestWrap input[type=radio]+label:before{
    content: ''; position: absolute; z-index: 10;
    top: 50%; left: 5px; transform: translateY(-50%);
    width: 12px; height: 12px; background-color: unset; border-radius: 50%;
    transition: all .3s ease-in-out;
}
#intTestWrap input[type=radio]:checked+label {
    font-weight: 700;
}
#intTestWrap input[type=radio]:checked+label:before{
    background-color: #065F46;
}
#intTestWrap input[type=radio]:checked+label:after{
    background-color: #fff;
}

#intTestWrap input[type=text],#intTestWrap input[type=number],
.integrityArea input[type=number]{
    border: 1px solid #eee;
    text-align: center;
    background-color: transparent;
    border-radius: 5px;
    padding: 12px 10px;
    transition: all .3s ease-in-out;
}
#intTestWrap input[type=text]:invalid,#intTestWrap input[type=number]:invalid{
    border-color:  #973232;
}

#intTestWrap input[type=text]:focus,#intTestWrap input[type=number]:focus{
    border-color: #065F46;
    box-shadow: 0 0 6px 2px rgba(6, 95, 70, 0.2);
}
#intTestWrap form{display: flex; flex-direction: column; gap: 50px;}
#intTestWrap .defaultInput ul{display: flex; flex-direction: column; gap: 40px}
#intTestWrap li,
#intTestWrap .financeInput,
#intTestWrap .incomeInput{
    background-color: #fff;
    padding: 2rem 1rem;
    border-radius: 10px;
}
#intTestWrap li,
#intTestWrap .financeInput,
#intTestWrap .incomeInput{
    display: none;
}
#intTestWrap li.active {
    display: block;
}
#intTestWrap .defaultInput dt{
    font-size: 20px;
    font-weight: 400;
    color: #333;
    margin-bottom: 20px;
}
#intTestWrap .defaultInput dt br{display: none;}
#intTestWrap .defaultInput dd{display: flex; gap: 20px; align-items: center}
#intTestWrap table{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#intTestWrap table th,
.integrityArea table th{
    vertical-align: middle;
    border-bottom: 1px solid #333;
    border-top: 1px solid #333;
    padding: 10px 5px;
    font-weight: 700;
}
#intTestWrap table td{
    vertical-align: middle;
    padding: 10px 5px;
    border-bottom: 1px solid #eee;
}

#intTestWrap .jobHeight{
    height: 42px;
}
#intTestWrap table .money tr:nth-last-of-type(2) td,#intTestWrap table .home tr:nth-last-of-type(2) td,
#intTestWrap table .etc tr:nth-last-of-type(2) td,#intTestWrap table .debt tr:nth-last-of-type(2) td,
#intTestWrap table .add tr:nth-last-of-type(2) td,#intTestWrap table .spend tr:nth-last-of-type(2) td,
#intTestWrap table .save tr:nth-last-of-type(2) td,

.integrityArea table .money tr:nth-last-of-type(2) td,.integrityArea table .home tr:nth-last-of-type(2) td,
.integrityArea table .etc tr:nth-last-of-type(2) td,.integrityArea table .debt tr:nth-last-of-type(2) td,
.integrityArea table .add tr:nth-last-of-type(2) td,.integrityArea table .spend tr:nth-last-of-type(2) td,
.integrityArea table .save tr:nth-last-of-type(2) td{
    border-bottom: unset;
}

#intTestWrap table tr.total td,
.integrityArea table tr.total td{
    background-color: rgba(6, 95, 70, 0.08);
}

#intTestWrap table tr.total td input,
#intTestWrap .totalMoney input,

.integrityArea table tr.total td input,
.integrityArea .totalMoney input{
    border: unset;
    text-align: center;
    background-color: transparent;
    color: #000;
    font-weight: 700;
    font-size: 16px;
}

#intTestWrap table td.point,
.integrityArea table td.point{
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    font-weight: 700;
}

#intTestWrap table tr.total td,
.integrityArea table tr.total td{
    border-top: 1px solid #065F46 !important;
    border-bottom: 1px solid #065F46;
}
#intTestWrap table .totalMoney td,
.integrityArea table .totalMoney td{
    border-right: unset;
}
#intTestWrap .totalMoney td, #intTestWrap .sunMoney td,
.integrityArea .totalMoney td, .integrityArea .sunMoney td{
    border-bottom: 1px solid #065F46;
    background-color: #e1f1ec !important;
}
#intTestWrap .sunMoney td input,
.integrityArea .sunMoney td input{
    background-color: #e1f1ec !important;
}

#intTestWrap button[type=submit]{
    display: none;
    width: 50%;
    max-width: 200px;
    padding: 20px 0;
    background-color: rgba(6, 95, 70, 0.8);
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    border: 1px solid transparent;
    margin: 80px auto 0;
    border-radius: 10px;;
}
#intTestWrap button[type=submit]:hover{
    background-color: #065F46;
}

/* 경제건전성 테스트 끝 ************/

/* 경제건전성 결과 시작 ************/
.intResult{
    width: 90%; margin: 0 auto;
}
.intResult .point{font-size: 1rem; font-weight: 700; color: #669732;}

.intResult .integrityArea.first{
    margin: 80px 0 20px;
    border-radius: 10px 10px 0 0;
}
.intResult .integrityArea .meanBox{gap: 10px;}
.intResult .integrityArea .detailContain{
    padding-top: unset;
}
.intResult .integrityArea,
.intResult .integrityArea:not(.first, .last){
    width: 100%; margin: 0 0 20px;
    padding: 1rem;;
    background-color: #fff;
}

.intResult .btnBox{
    width: 100%;
    display: flex; flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding-bottom: 40px;
}
.intResult .btnBox button{
    width: 30%;
    color: #669732;
    border-color: #669732;
}
.intResult .btnBox button:hover{
    background-color: rgba(102, 151, 50, 0.2);
}
.intResult .btnBox button.submit{
    background-color: #669732;
    color: #fff;
}
/* 경제건전성 결과 끝 ************/

/* 경제건전성 프린트 시작 ************/
.integrityArea span.point{
    font-weight: 800;
}
.integrityArea:not(.first, .last){
    width: 90%; margin: .5cm auto;
}
.integrityArea .userNam{
    position: absolute;
    left: 15%;
    top: 29%;
    border-bottom: 1px solid #669732;
    padding-bottom: 5px;
    font-size: 20px;
    font-weight: 500;
    color: #669732;
}
.intContain .topTit{
    width: 100%; margin: 0 auto 20px;
}
.intContain .topTit h2{
    text-align: center;
    background-color: rgba(102, 151, 50, 0.1);
    border-radius: 10px;
    color: #669732;
    padding: 10px 0;
    font-size: 16px;
}
.intContain .topTit .emoji{
    display: inline-block;
    margin-right: 10px;
}

.intContain .topTit p{
    color: #666;
    font-size: 12px;
    margin-top: 10px;
    text-align: center;
}

.intContain .contentArea{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.intContain .contentArea table td{
    padding: 11px 5px!important;
    line-height: 12px;
}

.intContain .contentArea table th:first-of-type{
    width: 15%;
}
.integrityArea.two table thead th:nth-of-type(2){
    width: 35%;
}
.integrityArea.two table thead th:nth-of-type(3){
    width: 15%;
}
.integrityArea.two table thead th:last-of-type{
    width: 6%;
}
.intContain .contentArea table td.point{
    font-size: 12px;
}

.integrityArea.two table td{
    padding: 13px 5px;
    font-size: 9pt;
}
.integrityArea.two table tbody tr:first-of-type td:nth-of-type(2),
.integrityArea.two table tbody tr:nth-of-type(2) td:nth-of-type(2){
    font-size: 9pt;
}

.intContain table{
    width: 100%;
    border-collapse: collapse;
}
.intContain table .point{
    font-weight: 700;
    vertical-align: middle;
}
.intContain table th{
    vertical-align: middle;
    text-align: center;
    background-color: rgb(225, 241, 236);
    padding: 10px 5px;
    font-size: 12px;
    font-weight: 700;
}

.intContain table td{
    text-align: center;
    padding: 10px 5px;
    line-height: 18px;
    color: #222;
    font-size: 12px;
    vertical-align: middle;
    font-weight: 400;
}
.intContain table tr:nth-of-type(2) td{
    border-bottom: 1px solid #b7b7b7 !important;
}
.intContain table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
.intContain table tr:last-of-type td{
    border-bottom: 1px solid #e1f1ec;
}
.intContain table tr td:not(:last-of-type){
    border-right: 1px solid #eee;
}

.integrityArea .chartBox {
    margin-bottom: 25px;
}

.integrityArea .chartBox p.cc{
    font-size: 8pt;
    font-weight: 500;
    color: #669732;
    text-align: right;
    margin-bottom: 5px;
}

.integrityArea.two p.total{
    font-size: 9pt;
    font-weight: 400;
    letter-spacing: 1px;
    color: #669732;
    display: block;
}
.integrityArea.two p .point{
    color: #669732;
    font-size: 11pt;
    margin-left: 10px;
    letter-spacing: 1px;
}
.integrityArea .detailContain{
    width: 100%;
    padding-top: 10px;
    margin-top: .6cm;
    margin-bottom: 20px;
    padding-bottom: 10px;
}
.integrityArea .littleTit{
    display: inline-block;
    position: relative;
    border: 1px solid #e1f1ec;
    padding: 5px 10px;
    margin-bottom: 15px;
    color: #9caba6;
    border-radius: 5px;
    font-weight: 700;
    font-size: 13px;
    background-color: #fff;
}

.integrityArea .littleTit:after{
    display: block; content: '';
    position: absolute;
    width: 100%;
    min-width: 18.6cm;
    z-index: -1;
    left: 0;
    right: 0;
    top: 50%; transform: translateY(-50%);
    height: 1px;background-color: #e1f1ec;
}
.integrityArea .meanBox{
    margin-left: 5px;
    display: flex; flex-direction: column;
    gap: 8px;
}
.integrityArea .meanBox li{
    font-size: 10pt;
    font-weight: 500;
    color: #000;
    line-height: 20px;
}
.integrityArea .meanBox li span.average-small{
    color: #666;
    font-size: 9pt;
    display: inline-block;
    margin-left: 10px;
    text-decoration: underline;
    font-weight: 400;
}
.integrityArea .meanBox li.bold{
    font-weight: 700;
    color: #666;
    font-size: 12px;
}
.integrityArea .meanBox li.comment{
    margin-top: 10px;
}

.integrityArea .meanBox li.coaching{
    margin-top: 20px;
    color: #000;
    font-size: 14px;
    text-align: center;
}
.integrityArea .coachingT tr td{
    padding: 20px 5px;
}
.integrityArea .coachingT tr td:nth-of-type(3){
    width: 29%;
    text-align: left;
    line-height: 20px;
    padding: 20px 5px 20px 20px;
}
.integrityArea.inputResult{
    /*gap: 50px;*/
    /*display: flex;*/
    /*justify-content: space-between;*/
    margin: 0 auto;
}
.integrityArea table caption> div{
    font-size: 9pt;
    width: 100%;
    color: #065F46;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    margin: 5px 0;
}
.integrityArea table caption b{
    border-radius: 10px;
    background-color: rgba(6, 95, 70, 0.2);
    padding: 5px 10px;
}
.integrityArea table caption span.small{
    font-size: 8pt;
    display: inline-block;
    font-weight: 300;
    margin-left: 10%;
}
.integrityArea.inputResult >div,
.integrityArea table{
    width: 100%;
}
.integrityArea table th{
    font-size: 9pt;
}
.integrityArea table td{
    font-size: 10pt;
    line-height: 1.5;
    vertical-align: middle;
    padding: 5px;
    border-bottom: 1px solid #eee;
}
#intTestWrap table td span.small,
.integrityArea table td span.small{
    font-weight: 300;
    color: #666;
    display: inline-block;
    font-size: 10px;
    margin-left: 10px;
}
.integrityArea table tr.total td:last-of-type{
    font-weight: 700;
    font-size: 16px;
}

.inputResult table tr td:last-of-type:not(.point){
    text-align: center;
}
.integrityArea table td.point,
.integrityArea table .totalMoney td,
.integrityArea table tr.total td{
    text-align: center;
    overflow: hidden;
}
.integrityArea input[type=number]{
    text-align: center;
    border: unset;
    width: 100%;
}
/* 경제건전성 프린트 끝 ************/




/* npti 검사 시작 ************/
#container .npticheck{
    min-height: calc(100vh - 380px);
    padding-top: 60px;
    margin: 20px auto 100px;
    width: 100%;
    max-width: 1200px;
}
#container .npticheck .innerlist{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
#container .npticheck .con .index{
    font-size: 1.3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}
#container .npticheck .con .index .txt{
    background-color: #fff;
    border-radius: 10px;
    font-weight: 500;
    color: #666;
    padding: 1rem;;
}
#container .npticheck .con .index #nowAsnwer{
    font-size: 1.8rem;
    display: inline-block;
    margin: 0 5px;
    font-weight: 700;
    color: #065F46;
}
#container .npticheck .con .progress{
    text-indent: -9999px;
    background-color: #e1e1e1;
    height: 25px;
    border-radius: 50px;
    overflow: hidden;
}
#container .npticheck .con .progress #per{
    background-color: #065F46;
    height: 100%;
    border-radius: 50px;
}

#container .npticheck .question{
    width: 100%;
    background-color: #fff;
    border-radius: 10px 10px 0 0 ;
    padding: 2rem 1rem;
}
#container .npticheck div[id^=queNum] span{
    display: none;
}
#container .npticheck div[id^=queTxt]{
    font-size: 1.15rem;
    line-height: 1.5;
    font-weight: 700;
    display: inline-block;
    padding-bottom: 10px;
    position: relative;
}
#container .npticheck div[id^=queTxt]:before{
    content: ''; position: absolute; bottom: 8px;
    left: 0; width: 102%; background-color: rgba(6, 95, 70, .15);
    height: 8px;
}
#container .npticheck .answer{
    width: 100%;
    background-color: #fff;
    padding: 0 1rem 1rem;
    display: flex;
}
#container .npticheck .answer li{
    width: 100%;
    padding: 1rem 0;
    border: 1px solid #b7b7b7;
    text-align: center;
    height: 50px;
    cursor: pointer;
    position: relative;
}
#container .npticheck .answer li:not(:last-of-type){
    border-right: 1px solid transparent;
}
#container .npticheck .answer li span{
    width: 100%;
    height: 100%;
    display: block;
}
#container .npticheck .answer li:hover{
    background-color: #eee;
}
#container .npticheck .answer li:hover label{
    font-weight: 700;
}
#container .npticheck .answer li label{
    color: #065F46;
}
#container .npticheck .answer input[type=radio]{display: none;}
#container .npticheck .answer input[type=radio] + label{ font-size: 1rem; font-weight: 400; color: #777; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center }
#container .npticheck .answer input[type=radio] + label:before{position: absolute;top: 50%; transform: translateY(-50%); right: 5px; content: ''; color: #8100c2; font-size: 1.5rem}
#container .npticheck .answer input[type=radio]:checked + label:before{ color: #fff; content: '✔';}
#container .npticheck .answer input[type=radio]:checked + label{font-weight: 700; color: #fff;}
#container .npticheck .answer  li.selected{ background-color: #065F46; transition: background-color.2s; color: #fff;}
#container .npticheck .answer  li.a.selected{ background-color: #065F46; transition: background-color.2s; color: #fff;}
#container .npticheck .answer  li.a.selected label{color: #fff;}
#container .npticheck .answer  li.a.selected label:before{ color: #fff; content: '✔';}
#container .npticheck .answer  li.selected label{color: #333;}

#container .npticheck .btns{
    display: grid;
    padding: 1rem 1rem 2rem;
    text-align: center;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
    background-color: #fff;
}
#container .npticheck .btns li{
    width: 100%;
    line-height: 40px;
    background-color: #065F46;
    display: flex;
    border-radius: 30px;
    cursor: pointer;
    justify-content: center; align-items: center;
}
#container .npticheck .btns li:first-of-type{
    background-color: #fff;
    border: 1px solid #065F46;
}
#container .npticheck .btns li:first-of-type:hover{
    background-color: rgba(6, 95, 70, 0.2); ;
}
#container .npticheck .btns li:last-of-type:hover{
    background-color: rgba(6, 95, 70, 0.85);
}
#container .npticheck .btns li a{
    line-height: 40px;
    color: #fff;
    display: block;
    height: 100%;
    font-weight: 700;
}
#container .npticheck .btns li:first-of-type a{
    color: #065F46;
}
#container .npticheck .innerlist .btn_full{
    text-align: center;
    padding: 2rem 1rem ;
    border-radius: 0 0 10px 10px;
    background-color: #fff;;
}
#container .npticheck .innerlist .btn_full a{
    font-size: 1.1rem;
    font-weight: 500;
    color: #666;
    text-decoration: underline;
}
#container .npticheck .innerlist .btn_full a:hover,
#container .npticheck .innerlist .btn_full a:active,
#container .npticheck .innerlist .btn_full a:focus{
    color: #8100c2;
}
#container .npticheck #complete{
    background-color: #fff;
    border-radius: 10px;
    line-height: 1.8rem;
    padding: 2rem 1rem;
    font-size: 1.2rem;
    text-align: center;
}
#container .npticheck #complete .con {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#container .npticheck #complete span {
}
#container .npticheck #complete span a{
    font-size: 1.1rem;
    font-weight: 600;
    color: #065F46;
    border: 1px solid #065F46;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33%;
    margin: 0 auto;
    box-sizing: border-box;
}
#container .npticheck #complete span.btn:first-of-type a{
    background-color: #eee;
    color: #065F46;
    border: none;
}
#container .npticheck #complete span.btn:hover a{
    background-color: rgba(3, 31, 93, 0.1);
}
#container .npticheck #complete span.btn:first-of-type a:hover{
    background-color: #d0d0d0;
}
/* npti 검사 끝 ************/


/* npti 결과 시작 *************/

#nptiResult{
    padding-top: 120px; width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
#nptiResult .boxContain,
.intResult .boxContain{
    margin: 20px 0 ;
}
#nptiResult #calcPage .point{font-weight: 700; color: #065F46; font-size: 1rem;}
#nptiResult #calcPage .top{
    margin-bottom: 20px;
    font-size: 1rem;
    width: 100%;
    border-radius: 10px 10px 0 0;
    background-color: #fff;
    padding: 1rem;
}
#nptiResult #calcPage .bottom{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#nptiResult #calcPage .bottom .contentBox{
    padding: 1rem;
    background-color: #fff;
}
#nptiResult #calcPage .bottom .contentBox:last-child{
    border-radius: 0 0 10px 10px !important;
}

#nptiResult #calcPage .bottom .contentBox strong{
    position: relative;
    font-size: .9rem;
    padding-left: 25px;
    display: block;
    margin-bottom: 10px;
}
#nptiResult #calcPage .bottom .contentBox strong:before{
    content: '';
    background-image: url(../images/icon/ico-goal.png);
    background-size: 100%; background-repeat: no-repeat; background-position: center;
    width: 18px; height: 18px;
    position: absolute; top: 50%; left: 0; transform: translateY(-50%);
}
#nptiResult #calcPage .bottom .contentBox p{
    font-size: .9rem;
    line-height: 1.4rem;
}
#nptiResult #calcPage .bottom .chartParent{
    width: 100%;
    height: 500px;
    margin-bottom: 20px;
}
#nptiResult #calcPage .bottom .chartParent canvas{
    margin: 0 auto;
    height: 100%;
}
#nptiResult #calcPage .bottom .textHere{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}
#nptiResult #calcPage .bottom .textHere ul{
    width: 100%;
}
#nptiResult #calcPage .bottom .textHere ul li{
    font-size: .9rem;
    line-height: 1.5rem;
}
#nptiResult #calcPage .bottom .textHere ul li.bigTxt{
    font-weight: 600;
    border: 1px solid rgba(0, 137, 247, 0.2);
    padding: 5px 10px;
    display: inline-block;
    color: #0089f7;
    margin-bottom: 10px;
}

#nptiResult #calcPage .bottom table{
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
}
#nptiResult #calcPage .bottom table th{
    text-align: center;
    vertical-align: middle;
    font-weight: 600;
    padding: 10px 5px;
    border-bottom: 1px solid #0089f7;
    font-size: 1rem;
}
#nptiResult #calcPage .bottom table td{
    text-align: center;
    vertical-align: middle;
    padding: 15px 5px;
}
#nptiResult #calcPage .bottom table td.th{
    font-weight: 600;
    font-size: 1rem;
    border-right: 1px solid #0089f7;
}
#nptiResult #calcPage .bottom table td{
    border-bottom: 1px solid #eee;
    font-size: .9rem;
}
#nptiResult #calcPage .bottom table tr:last-of-type td{
    border-bottom-color:#333
}
#nptiResult .bottom .brainContain{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 200px;
}
#nptiResult .bottom .brainContain div{
    width: 100%;
    position: relative;
}
#nptiResult .bottom .brainContain>div{
    min-width: 484px;
    max-width: 484px;
}
#nptiResult .bottom .brainContain div.rich p,
#nptiResult .bottom .brainContain div.me p{
    position: absolute;
    bottom: 33px; left: 50%; transform: translateX(-50%);
    font-size: 1.5rem;
    font-weight: 600;
    color: #fff;
}
#nptiResult .bottom .brainContain div.me >div{
    position: absolute;
    max-width: 98px;
    height: 98px;
}
#nptiResult .bottom .brainContain div.me >div img:first-of-type{width: 25px;; height: 25px;}
#nptiResult .bottom .brainContain div.me >div img:nth-of-type(2){width: 40px;; height: 40px;}
#nptiResult .bottom .brainContain div.me >div img:nth-of-type(3){width: 50px;; height: 50px;}
#nptiResult .bottom .brainContain div.me >div img:nth-of-type(4){width: 60px;; height: 60px;}
#nptiResult .bottom .brainContain div.me >div img:nth-of-type(5){width: 70px;; height: 70px;}
#nptiResult .bottom .brainContain div.me >div img:last-of-type{width: 90px;; height: 90px;}

#nptiResult .bottom .brainContain div.me img{
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
}
#nptiResult .bottom .brainContain div.me .plus{
    top: 133px;
    left: 141px;
}
#nptiResult .bottom .brainContain div.me .minus{
    top: 133px;
    right: 122px;
}
#nptiResult .bottom .brainContain div.me .multi{
    top: 238px;
    left: 141px;
}
#nptiResult .bottom .brainContain div.me .div{
    right: 122px;
    top: 238px;
}

#nptiResult #calcPage .resultText{
    font-size: 1.8rem;
    text-align: center;
    margin: 100px 0;
}
#nptiResult #calcPage .resultText h3{
    position: relative;
    font-size: 2rem;
    margin-left: 10px;
    line-height: 2.8rem;
    display: inline-block;
}
#nptiResult #calcPage .resultText h3:after{
    content: '';
    background-color: rgba(0, 137, 247, 0.2);
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    height: 10px;
}
#nptiResult #calcPage .resultText+table td.yes{
    position: relative;
}
#nptiResult #calcPage .resultText+table td.yes:after{
    content: '✔';
    color: #0089f7;
    font-size: 2rem;
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 30px; height: 30px;
}

#nptiResult+div.btnBox{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 15px;
    margin-top: 50px;
    padding-bottom: 15vh;
}
#nptiResult+div.btnBox button{
    width: 30%;
    color: #0089f7;
    border-color: #0089f7;
}
#nptiResult+div.btnBox button.submit{
    color: #fff;
    background-color: #0089f7;
}
/* npti 결과 끝 *************/

/* npti 프린트 시작 *************/
#nptiPrint div[class*=page]:not(.pageCut){
    height: 100%;
    max-width: 100%;
}
#nptiPrint .page1{ position: relative}
#nptiPrint .infoWrap{
    position: absolute; bottom: 80px;
    left: 50%; transform: translateX(-50%);
}
#nptiPrint .infoWrap p.name{
    color: #000; font-weight: 600; position: relative;
}
#nptiPrint .infoWrap p.name:before{
    content: ''; height: 5px; width: 100%; background-color: rgba(0, 137, 247, 0.3); position: absolute; bottom: -8px; left: 0; right: 0;
}
#nptiPrint .top{
    margin-bottom: 10px;
}

#nptiPrint .contentBox{
    width: 90%;
    margin: 0 auto;
}
#nptiPrint .contentBox:not(:last-of-type){
    margin-bottom: 15px;
}
#nptiPrint .contentBox >strong{
    font-size: 10pt;
    color: #0089f7;
    display: block;
    margin-bottom: 10px;
    font-weight: 800;
}
#nptiPrint .contentBox table{
    width: 100%;
    border-collapse: collapse;
}
#nptiPrint .contentBox table th{
    background:#33a1f9;
    color: #fff;
    font-weight: 800;
    padding: 5px;
    vertical-align: middle;
    font-size: 9pt;
}
#nptiPrint .contentBox table th:first-of-type{border-radius: 10px 0 0 0;}
#nptiPrint .contentBox table th:last-of-type{border-radius: 0 10px 0 0 }
#nptiPrint .contentBox table td{
    text-align: center;
    padding: 8px 5px;
    vertical-align: middle;
    border-bottom: 1px solid #eee;
    font-size: 9pt;
}

#nptiPrint .contentBox table td.th{
    width: 12%;
    border-right: 1px solid #eee;
    font-weight: 800;
    font-size: 9pt;
}
#nptiPrint .contentBox table td .bi-check-circle-fill{
    color: #0089f7;
    font-size: 14pt;
}
#nptiPrint .contentBox .chartParent{
    width: 400px;
    height: 400px;
    margin: -12px auto 0;
}
#nptiPrint .contentBox.simLi .chartParent canvas{
    width: 400px; height: 400px;
}
#nptiPrint .contentBox.simLi .chartParent{
    display: grid;
    width: 400px;
    gap: 10px;
    grid-template-columns: repeat(2,1fr);
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}
#nptiPrint .contentBox .chartParent canvas{
    width: 100%;
    height: auto;
}
#nptiPrint .contentBox .chartParent p.position{
    margin-top: 10px;
    font-size: 10pt;
    display: block;
    width: 100%;
    text-align: center;
    line-height: 1.3;
}
#nptiPrint .contentBox .chartParent p.position b{
    color: #0089f7;
    font-weight: 800;
    font-size: 12pt;
}
#nptiPrint .contentBox .textContain{
    margin-top: 20px;
}

/*테라피 mttOS   리포트 ------------------------------------------------------------------------------------------------------*/
#nptiPrint .contentBox .list-inn{
    margin-top: 20px;
}
#nptiPrint .contentBox .list-inn .list-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: grid;
    grid-template-columns: 7fr repeat(8, 1fr);
    gap: 8px;
    align-items: center;
    color: #0089f7 !important;
    padding: 10px;
    border: 1px solid #0089f7;
    background: #f5faff !important;
    font-weight: 600;
    border-radius: 8px 8px 0 0;
    font-size: 8pt;
    white-space: nowrap;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

#nptiPrint .contentBox .list-inn .list-header span {
    text-align: center;
}
#nptiPrint .contentBox .list-inn .item-content {
    display: grid;
    grid-template-columns: 7fr repeat(8, 1fr);
    gap: 8px;
    padding: 10px;
    align-items: center;
}
#nptiPrint .contentBox .list-item{
    border-bottom: 1px solid #eee;
}

#nptiPrint .contentBox .list-inn .item-content span {
    font-size: 8pt;
    line-height: 1.4;
    color: #374151;
    text-align: center;
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}
#nptiPrint .contentBox .list-inn .item-content span input:focus-visible{
    outline: 1px solid #4f46e5;
}
/*테라피 mttOS   리포트 ------------------------------------------------------------------------------------------------------*/


#nptiPrint .contentBox .textHere{
    display: flex; flex-direction: column;
    gap: 30px;
}
#nptiPrint .contentBox .textHere ul{
    font-size: 9pt; font-weight: 700;
    width: 100%; border: 1px solid #eee; border-radius: 8px 8px 0 0;
}
#nptiPrint .contentBox .textHere ul li{
    font-size: 8pt; font-weight: 500;
    line-height: 1.8;
}
#nptiPrint .contentBox .textHere ul li:not(.bigTxt){
    padding: 0 10px;
}
#nptiPrint .contentBox .textHere ul li:not(.bigTxt):not(:nth-of-type(2)){
    margin: 5px 0;
}
#nptiPrint .contentBox .textHere ul li:nth-of-type(3), #nptiPrint .contentBox .textHere ul li:nth-of-type(4){
    line-height: 1.8;
}
#nptiPrint .contentBox .textHere ul li.bigTxt{
    background: #f5faff !important;
    margin-bottom: 10px;
    color: #0089f7 !important;
    font-size: 12pt;
    border: 1px solid #0089f7;
    text-align: center;
    font-weight: 700;
    border-radius: 8px 8px 0 0;
}
#nptiPrint .page10 .contentBox  h3{
    text-align: center;
    font-size: 12pt;
    margin: 10px 0 30px;
    padding: 10px;
    border: 1px solid rgba(0, 137, 247, 0.3);
    border-radius: 5px;
    font-weight: 600;
    color: #000;
}
#nptiPrint .page10 .contentBox  h3 .point{
    color: #0089f7;
    font-weight: 700;
    font-size: 14pt;
}


#nptiPrint .brainContain{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 0;
    width: 90%;
    margin: 0 auto 50px;
}
#nptiPrint .brainContain div{
    width: 100%;
    position: relative;
}
#nptiPrint .brainContain>div{
    min-width: 300px;
    max-width: 300px;
}
#nptiPrint .brainContain div.rich p,
#nptiPrint .brainContain div.me p{
    position: absolute;
    bottom: 20px; left: 50%; transform: translateX(-50%);
    font-size: 12pt;
    font-weight: 600;
    color: #fff;
}
#nptiPrint .brainContain div.me >div{
    position: absolute;
    max-width: 55px;
    height: 55px;
}
#nptiPrint .brainContain div.me >div img:first-of-type{width: 15px;; height: 15px;}
#nptiPrint .brainContain div.me >div img:nth-of-type(2){width: 20px;; height: 20px;}
#nptiPrint .brainContain div.me >div img:nth-of-type(3){width: 25px;; height: 25px;}
#nptiPrint .brainContain div.me >div img:nth-of-type(4){width: 35px;; height: 35px;}
#nptiPrint .brainContain div.me >div img:nth-of-type(5){width: 45px;; height: 45px;}
#nptiPrint .brainContain div.me >div img:last-of-type{width: 55px;; height: 55px;}

#nptiPrint .brainContain div.me img{
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
}
#nptiPrint .brainContain div.me .plus{
    top: 86px;
    left: 91px;
}
#nptiPrint .brainContain div.me .minus{
    top: 86px;
    right: 78px;
}
#nptiPrint .brainContain div.me .multi{
    right: 78px;
    top: 151px;
}
#nptiPrint .brainContain div.me .div{
    top: 151px;
    left: 91px;
}
#nptiPrint .page8 .textHere{
    display: block;
}
#nptiPrint .page9{
    position: relative;
}
#nptiPrint .page9 .bottom{
    margin-top: 160px
}
#nptiPrint .page9 .foot{
    position: absolute;
    bottom: 260px;
    right: 230px;
}
#nptiPrint .page9 .foot li{
    display: flex;
    gap: 20px;

}
#nptiPrint .page9 .foot li:not(:last-of-type){
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#nptiPrint .page9 .foot .title{
    font-size: 12pt;
    font-weight: 800;
    color: #333;
}
#nptiPrint .page9 .foot .txt{
    font-size: 12pt;
    font-weight: 600;
    color: #000;
}
/* npti 프린트  끝 *************/

/* npti 청소년 테스트 시작*************/
#nptiYouthTest{
    max-width: 1200px;
    margin: 50px auto;
    width: 90%;
}
#nptiYouthTest form{
    display: flex;
    flex-direction: column;
    gap: 50px;
}
#nptiYouthTest .progress-container{
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
}

/* 원형 프로그레스 */
#nptiYouthTest .circular-progress {
    position: relative;
    width: 140px;
    height: 140px;
}

#nptiYouthTest .circular-progress svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

#nptiYouthTest .circular-progress circle {
    fill: none;
    stroke-width: 10;
}

#nptiYouthTest .circular-progress .bg-circle {
    stroke: #eee;
}

#nptiYouthTest .circular-progress .progress-circle {
    stroke: #630da1;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.8s cubic-bezier(0.4, 0, 0.2, 1); /* 부드러운 애니메이션 */
    stroke-dasharray: 282.7;
    stroke-dashoffset: 282.7; /* 초기값 명시 */
}

#nptiYouthTest .progress-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

#nptiYouthTest .progress-text .current {
    font-size: 1.5rem;
    font-weight: 700;
    color: #630da1;
    transition: all 0.3s ease; /* 숫자 변경 애니메이션 */
}

#nptiYouthTest .progress-text .total {
    font-size: 1rem;
    color: #666;
}

#nptiYouthTest h2{
    color: #630da1;
    font-size: 1.2rem;
}

#nptiYouthTest .question_tit,
#nptiYouthTest .check_tit{
    display: none;
}

/* 슬라이드 박스 - fade 효과를 위한 스타일 */
#nptiYouthTest .survey_slide_box {
    display: none; /* 기본적으로 숨김 */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

#nptiYouthTest .survey_slide_box.active {
    display: block;
    opacity: 1;
}

#nptiYouthTest .question_box{
    margin-bottom: 30px;
}

#nptiYouthTest .question_txt{
    font-size: 1.1rem;
    font-weight: 500;
    color: #333;
    line-height: 1.8;
    text-align: center;
    padding: 1.5rem 1rem;
    border-radius: 10px;
    box-shadow: rgba(166, 137, 187, .15) 6px 2px 16px 0px, rgba(255, 251, 251, .2) -6px -2px 16px 0px;
}

#nptiYouthTest .check_wrap{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#nptiYouthTest .checks input[type=radio]{
    display: none;
}

#nptiYouthTest label span{
    display: block;
    text-align: center;
    font-size: .95rem;
    font-weight: 500;
    width: 100%;
    border: 1px solid #eee;
    padding: 1.2rem 1rem;
    border-radius: 10px;
    transition: all .2s ease-in-out;
    cursor: pointer;
}

#nptiYouthTest label span:hover{
    background-color: rgba(99, 13, 161, 0.02);
    transform: translateY(-2px);
}

#nptiYouthTest input[type=radio]:checked + span {
    background-color: rgba(99, 13, 161, 0.05);
    border-color: #630da1;
    color: #630da1;
    font-weight: 700;
}

#nptiYouthTest .btnWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0;
    gap: 15px;
}

#nptiYouthTest .btnWrap button{
    font-size: 1rem;
    font-weight: 700;
    display: block;
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    padding: .8rem 1.5rem;
    transition: all .2s ease-in-out;
    color: #fff;
    cursor: pointer;
    border: none;
}

/* 이전 버튼 */
#nptiYouthTest .prevBtn,
#nptiYouthTest .nextBtn{
    background-color: #fff;
    border: 1px solid #630da1 !important;
    color: #630da1 !important;
}

#nptiYouthTest .prevBtn:hover,
#nptiYouthTest .nextBtn:hover{
    background-color: #630da1;
    color: #fff!important;
    transform: translateY(-2px);
}

/* 완료 버튼 */
#nptiYouthTest .last_btn{
    border: 1px solid transparent;
    background-color: #630da1;
    margin-left: auto; /* 오른쪽 정렬 */
}

#nptiYouthTest .last_btn:hover{
    background-color: #4b077c;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(99, 13, 161, 0.3);
}
#nptiYouthTest .survey_slide_box {
    display: none;
}

#nptiYouthTest .survey_slide_box.active {
    display: block;
}



    /* npti 청소년 테스트  끝 *************/





/* sms 머니에너지 검사 시작 *************/
.smsSurvey{
    padding-top: 100px;
    background-color: #f1f4f6;
    height: 100vh;
}
#moneyTestWrap .moneyTest-inner{
    transform: translateY(500px);
    opacity: 0;
    transition: 1.5s ease-in-out;
    position: relative;
    width: 95%;
    margin: 0 auto;
    height: calc(100vh - 100px);
    background-color: #fff;
    padding: 80px 1rem 1rem;
    border-radius: 40px ;
    border: 10px solid #eaeef1;
    box-shadow: 0 0 5px 10px rgba(1,1,1,.04);
    overflow-y: auto;
}
#moneyTestWrap .moneyTest-inner:before{
    content: '';
    background-color: #fff;
    z-index: 10;
    border-radius: 30px;
    width: 60px;
    height: 10px;
    position: absolute;
    top: 10px; left: 50%; transform: translateX(-50%);
}
#moneyTestWrap .moneyTest-inner:after{
    content: '';
    background-color: #e8ecf3;
    width: 100%;
    height: 40px;
    top: 0; left: 0; right: 0;
    position: absolute;
}
#moneyTestWrap .testWrap{
    display: flex;
    flex-direction: column;
    gap: 25px;
}
#moneyTestWrap .gaugeArea p{
    width: 100%;
    text-align: right;
    font-size: 12px;
    font-weight: 400;
    color: #666;
    margin-bottom: 10px;
}
#moneyTestWrap .gaugeArea p .point{
    color: #065F46;
    font-weight: 800;
    font-size: 14px;
}
#moneyTestWrap .gaugeBox{
    width: 100%;
    position: relative;
    background-color: #eee;
    border-radius: 50px;
    height: 5px;
    transition: .4s ease-in-out;
}
#moneyTestWrap .gaugeBox #per{
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 2.08%;
    border-radius: 50px;
    display: inline-block;
    height: 5px;
    background-color: #065F46;
}
#moneyTestWrap .questArea{
    width: 100%; height: 100%;
    /*overflow: hidden;*/
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#moneyTestWrap .questBox{
    transform: translateX(0);
    transition: 1s ease-in-out;
    opacity: 1;
}
#moneyTestWrap .questBox,
.smsSurvey .answerWrap{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#moneyTestWrap .questBox strong{
    background-color: rgba(5, 150, 105, 0.1);
    border-radius: 10px;
    padding: 1rem .5rem;
    display: block;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.5;
}
#moneyTestWrap .questBox strong .txt-q{
    display: block;
    color: #065F46;
    margin-bottom: 10px;
    font-size: 1.1rem;
}


.smsSurvey .answerWrap{
    text-align: center;
}
.smsSurvey .answerWrap input[type=radio]{display: none}
.smsSurvey .answerWrap input[type=radio]+label{
    display: block; position: relative; background-color: #fff; border: 2px solid #eee; border-radius: 10px; padding: 1rem;
    color: #666; font-weight: 500; font-size: 1rem; transition: .4s ease-in-out;
}
/*.smsSurvey .answerWrap input[type=radio]:checked+label{ background-color: #626d81; border: 2px solid transparent; color: #fff; font-weight: 700; }*/

#moneyTestWrap .btnMore{
    margin-top: 20px;
}
#moneyTestWrap .btnMore ol{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
#moneyTestWrap .btnMore ol li{
    width: 100%;
}
#moneyTestWrap .btnMore ol button{
    width: 100%;
    display: block;
    background-color: #fff;
    border: unset;
    color: #065F46;
    font-size: .9rem;
    font-weight: 400;
    padding: 1rem .5rem;
}
#moneyTestWrap .btnMore ol button.prevBtn{
    text-align: left;
    color: #999;
}
#moneyTestWrap .btnMore ol button.nextBtn{
    text-align: right;
    color: #666;
}
#moneyTestWrap .btnMore ol button.saveBtn{
    border: 1px solid rgba(0, 105, 52, 0.3);
}
#moneyTestWrap .btnMore ol button.saveBtn:hover,
#moneyTestWrap .btnMore ol button.saveBtn:active{
    background-color: rgba(0, 105, 52, 0.2); transition: all .4s ease-in-out;
}
/* sms 머니에너지 검사 끝 *************/

/* sms 머니에너지 검사결과 시작 *************/
#moneyPrint{
    display: flex;
    flex-direction: column;
    width: 90%;
    gap: 50px;
    margin: 0 auto;
}
#moneyPrint span.point{
    font-weight: 700;
    color: #031f5d;
}
#moneyPrint> div[class^=paper]{
    position: relative;
    /*overflow: hidden;*/
    width: 100%;
    height: 150vh;
}
#moneyPrint> div[class^=paper]:after{
    content: 'ⓒ NPTI Institute of Economic Psychology. All rights reserved. Reproduction or modification without permission is prohibited.';
    font-size: .75rem; font-weight: 600; color: #ddd; position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); width: 90%; text-align: center;
}
#moneyPrint> div[class^=paper]:not(:first-of-type){
    padding: 20px 0;
}
#moneyPrint .paper1:before{
    position: absolute;
    content: '';
    background-color: #031f5d;
    width: 20px;
    height: 100px;
}
#moneyPrint .paper1:before{
    top: 0;
    left: 0;
}

#moneyPrint .paper1 .title_box{
    position: absolute;
    top: 15%;
    left: 0;
}
#moneyPrint .paper1 .title_box .title_txt{
    font-size: 40pt;
    font-weight: 700;
    color: #031f5d;
    margin-bottom: 20px;
}
#moneyPrint .paper1 .title_box .sub_title{
    color: #666;
    letter-spacing: .15rem;
    font-size: 16pt;
    font-weight: 300;
}
#moneyPrint .paper1 .name_box{
    position: absolute;
    top: 35%;
    right: 5%;
    font-size: 14pt;
}
#moneyPrint .paper1 ul{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#moneyPrint .paper1 ul li{
    display: flex;
    gap: 10px;
}
#moneyPrint .paper1 ul li:first-of-type{
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
#moneyPrint .paper1 li .left{
    color: #666;
}
#moneyPrint .paper1 li .right{
    font-weight: 700;
}
#moneyPrint .paper1 .main_img{
    position: absolute;
    width: 80%;
    left: 0;
    bottom: -20%;
    opacity: .6;
    z-index: -1;
    height: 120vh;
}
#moneyPrint .paper1 .main_img img{
    width: 100%; height: 100%; object-fit: contain;
    transform: scaleX(-1);
}
/*page1 끝 --------------------*/
#moneyPrint >div[class*=paper]:not(:first-of-type) h2{
    font-size: 18pt;
    border-left: 4px solid #031f5d;
    padding-left: 10px;
    font-weight: 700;
    color: #031f5d;
    margin-bottom: 30px;
}
#moneyPrint >div[class*=paper]:not(:first-of-type) h2+.description{
    display: block; font-size: 9pt; font-weight: 500; color: #666; margin-top: -15px; margin-bottom: 15px;
}

#moneyPrint .paper2 .txt_box {
    width: 100%;
}

/* 타이틀 영역 */
#moneyPrint .paper2 .txt_box h3 {
    font-size: 18pt;
    font-weight: 700;
    color: #191f28;
    text-align: center;
    margin-bottom: 20px;
    letter-spacing: -0.8px;
    line-height: 1.4;
}

#moneyPrint .paper2 .sub-title {
    font-size: 14pt;
    color: #6b7684;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 500;
}

/* 핵심 메시지 블록 */
#moneyPrint .paper2 .summary-block {
    background: linear-gradient(135deg, #f0f7ff 0%, #e6f2ff 100%);
    border: 2px solid #d1e7ff;
    border-radius: 16px;
    padding: 40px 50px 30px;
    margin-bottom: 50px;
    position: relative;
}

#moneyPrint .paper2 .summary-block::before {
    content: "💡";
    font-size: 32px;
    position: absolute;
    top: -20px;
    left: 40px;
    background-color: #ffffff;
    padding: 8px 12px;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

#moneyPrint .paper2 .summary-title {
    font-size: 22px;
    font-weight: 700;
    color: #223A70;
    margin-bottom: 16px;
}

#moneyPrint .paper2 .summary-desc {
    font-size: 17px;
    color: #4e5968;
    line-height: 1.8;
}

#moneyPrint .paper2 .summary-desc .point {
    color: #223A70;
    font-weight: 700;
}

/* 주요 내용 영역 */
#moneyPrint .paper2 .content-section {
    margin-bottom: 80px;
}

#moneyPrint .paper2 .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #223A70;
    margin-bottom: 30px;
    padding-bottom: 16px;
    border-bottom: 2px solid #e5e8eb;
}

#moneyPrint .paper2 .purpose-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

#moneyPrint .paper2 .purpose-item {
    background-color: #f8f9fa;
    border-radius: 12px;
    padding: 20px 15px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

#moneyPrint .paper2 .purpose-item:hover {
    border-color: #223A70;
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(34, 58, 112, 0.1);
}

#moneyPrint .paper2 .purpose-item::before {
    content: "✓";
    font-size: 20px;
    color: #ffffff;
    background-color: #223A70;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 700;
}

#moneyPrint .paper2 .purpose-item p {
    font-size: 16px;
    color: #4e5968;
    line-height: 1.7;
    margin: 0;
}

/* 하단 메시지 (결론 강조) */
#moneyPrint .paper2 .conclusion-box {
    background: linear-gradient(135deg, #223A70 0%, #294C9C 100%);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    color: #ffffff;
    margin-bottom: 50px;
}

#moneyPrint .paper2 .conclusion-box .icon {
    font-size: 20pt;
    margin-bottom: 20px;
}

#moneyPrint .paper2 .conclusion-box p {
    font-size: 14pt;
    line-height: 1.8;
    font-weight: 500;
}

#moneyPrint .paper2 .conclusion-box .highlight {
    font-size: 16pt;
    font-weight: 700;
    color: #F7B500;
    display: block;
}

/* 크레딧 영역 */
#moneyPrint .paper2 .nameArea {
    text-align: right;
    padding-top: 40px;
    border-top: 1px solid #e5e8eb;
}

#moneyPrint .paper2 .nameArea .name {
    font-size: 14px;
    color: #8b95a1;
    line-height: 1.8;
    position: relative;
    display: inline-block;
    padding-right: 80px;
}

#moneyPrint .paper2 .nameArea .stamp {
    position: absolute;
    right: 0;
    top: -10px;
}

#moneyPrint .paper2 .nameArea .stamp img {
    width: 50px;
    height: 50px;
    opacity: 0.8;
}



/*page2 끝 --------------------*/

#moneyPrint .paper3 table{
    table-layout: fixed;
    text-align: center;
}
#moneyPrint .paper3 table .result{
    padding: 10px 0;
    background-color: rgba(3, 31, 93, 0.1);
    border-radius: 10px;
    font-size: 10pt;
    font-weight: 700;
    color: #031f5d;
    line-height: 1.5;
}

#moneyPrint .paper3 .contentWrap{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 20px;
}
#moneyPrint .paper3 .graphArea,
#moneyPrint .paper11 .graphArea{
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}
#moneyPrint .paper3 .contentWrap >table{
    text-align: center;
}
#moneyPrint .paper3 .graphArea table,
#moneyPrint .paper11 .graphArea table{
    text-align: center;
    vertical-align: middle;
    margin: 0 auto;
}
#moneyPrint .paper3 .result_box{
    display: flex;
    gap: 10px;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(3, 31, 93, 0.1);
    border-bottom: 1px solid rgba(3, 31, 93, 0.1);
    padding: 15px 0;
}
#moneyPrint .paper3 .result_box >div{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
#moneyPrint .paper3 .result_box .icon{
    width: 24px; height: 24px;
}
#moneyPrint .paper3 .result_box p{
    font-size: 10pt;
    text-align: center;
}
#moneyPrint .paper3 .result_box p span.point{
    display: block;
}
#moneyPrint .paper3 .result_box p:last-of-type{
    display: block;
    width: 100%;
    text-align: center;
}
#moneyPrint .paper3 .result_box2{
    width: 100%;
}
#moneyPrint .paper3 .result_box2 table{
    width: 100%;
    margin-top: 30px;
}
#moneyPrint .paper3 canvas,
#moneyPrint .paper11 canvas{
    margin: 0 auto;
    width: 450px; height: 450px;
}

#moneyPrint .paper3 .result_contain,
#moneyPrint .paper11 .result_contain{
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    padding: 2rem;
    border-radius: 15px;
    max-height: 180px;
}
#moneyPrint .paper3 .result_inner{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    width: 100%;
    margin: 0 auto 20px;
}
#moneyPrint .paper3 .result_contain .comparison-item,
#moneyPrint .paper11 .result_contain .comparison-item{
    position: relative;
    padding-left: 40px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
}
#moneyPrint .paper3 .result_contain .comparison-item:before,
#moneyPrint .paper11 .result_contain .comparison-item:before{
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
}
#moneyPrint .paper3 .result_contain .comparison-item.positive:before,
#moneyPrint .paper11 .result_contain .comparison-item.positive:before{
    background: #4dabf7;
    content: '💎';
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
}
#moneyPrint .paper3 .result_contain .comparison-item.negative:before{
    background: #ffd93d;
    content: '⚡️';
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
#moneyPrint .paper3 .result_contain .comparison-title,
#moneyPrint .paper11 .result_contain .comparison-title{
    font-size: 10pt;
    text-align: left;
    font-weight: 600;
    color: #031f5d;
    margin-bottom: 12px;
}
#moneyPrint .paper3 .result_contain .metric,
#moneyPrint .paper11 .result_contain .metric{
    margin-left: 20px;
}
#moneyPrint .paper3 .result_contain .metric-label,
#moneyPrint .paper11 .result_contain .metric-label{
    font-size: 10pt;
    font-weight: 500;
    color: #666;
    margin-bottom: 10px;
}
#moneyPrint .paper3 .result_contain .metric-value,
#moneyPrint .paper11 .result_contain .metric-value{
    font-size: 24pt;
    position: relative;
    font-weight: 600;
    color: #000;
    display: inline-block;
}
#moneyPrint .paper3 .metric .power{
    display: inline-block;
    margin: 0 0 10px 20px;
    font-size: 14pt;
    font-weight: 700;
    color: #031f5d;
    background-color: rgba(3, 31, 93, 0.1);
    border-radius: 10px;
    padding: .5rem;
}
#moneyPrint .paper3 .result_contain .metric-value:before{
    content: ''; position: absolute; bottom: 1px; left: 0; width: 110%; height: 5px; background-color: rgba(3, 31, 93, 0.2);
}
#moneyPrint .paper3 .result_contain .info-text{
    text-align: center;
    font-size: 9pt;
    font-weight: 400;
    color: #b7b7b7;
}
#moneyPrint .paper3 .result_contain{
    font-size: 12px;
    color: #999;
    margin-top: 20px;
}
#moneyPrint .paper3 .contentBox{
    width: 100%;
    background-color: #f8f9fa;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    margin-top: 20px;
    border-radius: 15px;
    padding: 10px;
}
#moneyPrint .paper3 .contentBox strong{
    text-align: center;
    background-color: #fff;
    padding: 10px;
    border-radius: 5px;
    font-size: 10pt;
    display: block;
    margin-bottom: 5px;
}
#moneyPrint .paper3 .contentBox table{
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    width: 100%;
}
#moneyPrint .paper3 .contentBox table td.th{
    border-left: 3px solid #031f5d;
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e0 100%);
    font-weight: 600;
}
#moneyPrint .paper3 .contentBox table td{
    align-items: center;
    text-align: center;
    line-height: 1.4;
    padding: 15px;
    height: 40px !important;
    font-size: 10pt;
}
#moneyPrint .paper3 .contentBox table tr:first-of-type td.th{
    color: #006934;
}
#moneyPrint .paper3 .contentBox table tr:nth-of-type(2) td.th{
    color: #0089f7;
}
#moneyPrint .paper3 .contentBox table tr:last-of-type td.th{
    color: #e74c3c;
}
#moneyPrint .paper3 .contentBox table td.th+td{
    align-items: center;
    text-align: center;
    background-color: #fff;
    line-height: 1.4;
    height: 40px !important;
    font-size: 10pt;
}
#moneyPrint .paper3 .contentBox caption{
    font-size: 8pt;
    text-align: left;
    width: 100%;
    color: #666;
    font-weight: 600;
    margin: 5px 0;
}

#moneyPrint .paper3 .result_box2 th{
    font-size: 10pt;
    text-align: center;
    color: #031f5d;
}
#moneyPrint .paper3 .result_box2 td{
    font-size: 12pt;
    line-height: 1.5;
    vertical-align: middle;
    padding: 10px;
}
#moneyPrint .paper3 .result_box2 td:first-of-type{
    font-weight: 700;
    width: 12%;
    color: #031f5d;
}

#moneyPrint .paper3 .result_box2 td:nth-of-type(2){
    width: 40%;
    color: #000;
    font-weight: 400;
}
#moneyPrint .paper3 .result_box2 tr:last-of-type td{
    border-top: 1px solid #eee;
}
#moneyPrint .paper3 .result_box2 tr:last-of-type td:first-of-type{
    color: #F15F79;
}
/*page3 끝 --------------------*/

#moneyPrint .paper4 table{
    width: 100%;
}
#moneyPrint .paper4 .page_conts >div{
    margin-bottom: 20px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}
#moneyPrint .paper4 .economic_power_table tbody:first-of-type{
    border-bottom: 1px solid #eee;
}
#moneyPrint .paper4 .economic_power_table tbody:last-of-type{
    border-bottom: 1px solid #666;
}
#moneyPrint .paper4 th,
#moneyPrint .paper5 th,
#moneyPrint .paper6 th,
#moneyPrint .paper7 th{
    padding: 10px 5px;
    font-size: 10pt;
    font-weight: 600;
    vertical-align: middle;
    color: #666;
    border-bottom: 1px solid #b7b7b7;
    background-color: rgba(3, 31, 93, 0.1);
}
#moneyPrint .paper4 td,
#moneyPrint .paper5 td,
#moneyPrint .paper6 td,
#moneyPrint .paper7 td{
    padding: 15px 8px;
    text-align: center;
    vertical-align: middle;
    font-size: 10pt;
    font-weight: 400;
    color: #000;
}
#moneyPrint .paper4 td p.sub{
    font-size: 8pt;
    margin: 5px 0;
    font-weight: 500;
    color: #666;
}
#moneyPrint .paper4 .detail_box{
    margin-top: 30px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    padding: 1.5rem 1rem 1rem;
}
#moneyPrint .paper4 .detail_box .box{
    width: 50%; text-align: left;
}
#moneyPrint .paper4 .detail_box .box .result_txt{
    text-align: left;
    font-size: 10pt; line-height: 1.8;
}
#moneyPrint .paper4 table .percent span.middle,
#moneyPrint .paper4 .detail_box .box .result_txt .middle{ color: #ef9dc1}
#moneyPrint .paper4 table .percent span.caution,
#moneyPrint .paper4 .detail_box .box .result_txt .caution{ color: #ff7b1d}
#moneyPrint .paper4 table .percent span.danger,
#moneyPrint .paper4 .detail_box .box .result_txt .danger{color: #f33939}
#moneyPrint .paper4 table .percent span.warning,
#moneyPrint .paper4 .detail_box .box .result_txt .warning{ color: #af0000}
#moneyPrint .paper4 .detail_box table td:first-of-type{
    width: 50%;
}
#moneyPrint .paper4 .detail_box table td{
    vertical-align: middle;
    line-height: 1.5;
    text-align: center;
}
#moneyPrint .paper4 .detail_box .flexStyle{
    display: flex;
    gap: 15px;
}
#moneyPrint .paper4 .detail_box h3{
    font-weight: 700;
    color: #031f5d;
    font-size: 12pt;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
#moneyPrint .paper4 .detail_box h3:last-of-type{
    margin-top: 20px;
}
#moneyPrint .paper4 .list{
    color: #666;
}
#moneyPrint .paper4 .list.bold{
    color: #065F46;
}
#moneyPrint .paper4 .list.error{
    color: #de860d;
}
#moneyPrint .paper4 .listWarn{
    color: #F15F79;
}
/*page4 끝 --------------------*/
#moneyPrint .paper5 .contentWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}
#moneyPrint .paper5 .summationBox{
    border: 1px solid #031f5d;
    padding: 2rem 1rem;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 15px;
}
#moneyPrint .paper5 .summationBox p{
    font-size: 10pt;
    line-height: 1.5;
}

#moneyPrint .paper5 .icon_box{
    width: 30%;
    background-color: #f7f7f7;
    display: flex;
    justify-content: space-evenly;
    border-radius: 10px;
    padding: 1rem;
}
#moneyPrint .paper5 .icon_list{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
#moneyPrint .paper5 .icon_list li{
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
#moneyPrint .paper5 .icon_list img{
    width: 36px; height: 36px; object-fit: contain;
}
#moneyPrint .paper5 .icon_list p{
    font-size: 9pt;
    color: #666;
    text-align: center;
}
#moneyPrint .paper5 .bottom_table{
    width: 65%;
}
#moneyPrint .paper5 table{
    width: 100%;
}
#moneyPrint .paper5 table tr:last-of-type td{
    border-bottom: 1px solid #b7b7b7;
}

#moneyPrint .paper5 .comment strong{
    display: block; margin-bottom: 5px;
}
#moneyPrint .paper5 .summationBox:first-of-type .comment strong{
    border-top: 1px solid #eee; padding-top: 10px;
}


/*page5 끝 --------------------*/
#moneyPrint .paper6 p.txt{
    font-size: 10pt;
    color: #666;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 20px;
}
#moneyPrint .paper6 span.red_txt{
    color: #F15F79;
    font-weight: 600;
    text-align: right;
    display: block;
}
#moneyPrint .paper6 .economy_table{
    margin-bottom: 20px;
    width: 100%;
}
#moneyPrint .paper6 table{
    width: 100%;
}

#moneyPrint .paper6 table td{
    line-height: 1.5;
}
#moneyPrint .paper6 table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
#moneyPrint .paper6 table tr:last-of-type td{
    border-bottom: 1px solid #b7b7b7;
}
#moneyPrint .paper6 .chartArea{
    position: relative; margin: 0 auto 10px;
    width: 600px; height: 500px!important;
}
#moneyPrint .paper6 .chartArea:before,
#moneyPrint .paper6 .chartArea:after{
    position: absolute; box-sizing: border-box; padding-bottom: 1rem; padding-left: .2rem;
    top: 5px; right: 0; width: 97%; z-index: -1; font-weight: 700;
    display: flex; align-items: flex-end;font-size: 10pt;
}
#moneyPrint .paper6 .chartArea:before{
    height: 48%;content: '경계수준'; color: rgba(119, 112, 33, 0.7);
    display: flex; align-items: flex-end;
    background-color: rgba(255, 251, 202, 0.7);
}
#moneyPrint .paper6 .chartArea:after{
    height: 38%;content: '위험'; color: #ffffff;
    background-color: rgba(241, 95, 121, 0.7);
}
#moneyPrint .paper6 #myHorizontalChart{
    height: 100% !important; width:100% !important; object-fit: contain;
    position: relative;
    z-index: 10;
}
/*page6 끝 --------------------*/
#moneyPrint .paper7 table{
    table-layout: fixed;
}
#moneyPrint .paper7 table .sub_txt{
    font-size: 8pt;
}
#moneyPrint .paper7 table tr:first-of-type td:first-of-type{
    font-weight: 700;
    color: #031f5d;
    border-right: 1px solid #b7b7b7;
    border-bottom: 1px solid #b7b7b7;
}
#moneyPrint .paper7 table tbody:first-of-type{
    border-bottom: 1px solid #b7b7b7;
}
#moneyPrint .paper7 table tr:first-of-type td:nth-of-type(2),
#moneyPrint .paper7 table tr td:first-of-type{
    border-right: 1px solid #eee;
}
#moneyPrint .paper7 table td{
    line-height: 1.5;
}
#moneyPrint .paper7 table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
#moneyPrint .paper7 table tbody:last-of-type{
    border-bottom: 1px solid #b7b7b7;
}
/*page7 끝 --------------------*/
#moneyPrint .paper8 .top_conts_box{
    position: relative;
    width: 100%;
    background-color: #f1f1f1;
    padding: 2rem .5rem 1rem;
}
#moneyPrint .paper8 .contentWrap{
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 100%;
}
#moneyPrint .paper8 .top_conts_box p{
    font-size: 10pt;
    font-weight: 600;
    text-align: center;
    line-height: 2;
}
#moneyPrint .paper8 .top_conts_box >img{
    width: 36px; height: 36px;
    position: absolute;
    top: 5px; left: 10%;
    transform: scaleX(-1);
    opacity: .5;
}
#moneyPrint .paper8 .top_conts_box span.bold{
    font-weight: 800;
    font-size: 12pt;
    margin: 10px 0;
    display: block;
}
#moneyPrint .paper8 .stamp_box{
    margin: 20px 0 0;
    display: flex; gap: 5px;
    align-items: center;
    justify-content: center;
}
#moneyPrint .paper8 .stamp_box img{
    width: 30px; height: 30px;
}
#moneyPrint .paper8 .info_box{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    gap: 20px;
    width: 50%;
    margin: 20px auto;
}
#moneyPrint .paper8 .info_box li{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
#moneyPrint .paper8 .info_box li .left_txt{
    color: #666;
    font-weight: 400;
    font-size: 10pt;
}
#moneyPrint .paper8 .info_box li .right_txt{
    font-weight: 600;
    font-size: 12pt;
}
/*page8 끝 --------------------*/

/*page9 시작 --------------------*/
#moneyPrint .paper9 .contentWrap > ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

#moneyPrint .paper9 .contentWrap > ul > li {
    border-radius: 20px;
    padding: 32px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#moneyPrint .paper9 .contentWrap > ul > li:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* 상단 색상 바 */
#moneyPrint .paper9 .contentWrap > ul > li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #052d88, #031f5d);
}

#moneyPrint .paper9 .contentWrap > ul > li:last-child::before {
    background: linear-gradient(90deg, #ffd93d, #ffc107);
}

/* 제목 */
#moneyPrint .paper9 .contTit {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #212529;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

/* 부제목 */
#moneyPrint .paper9 .desc {
    display: block;
    font-size: 14px;
    color: #868e96;
    font-weight: 500;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f1f3f5;
}

/* 설명 */
#moneyPrint .paper9 .explain {
    font-size: 14px;
    color: #495057;
    line-height: 1.8;
    margin-bottom: 24px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    border-left: 4px solid #031f5d;
}

#moneyPrint .paper9 .contentWrap > ul > li:last-child .explain {
    border-left-color: #ffd93d;
}

/* 테이블 */
#moneyPrint .paper9 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 24px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

#moneyPrint .paper9 table tbody tr:first-child {
    background: linear-gradient(135deg, #052d88 0%, #031f5d 100%);
}

#moneyPrint .paper9 .contentWrap > ul > li:last-child table tbody tr:first-child {
    background: linear-gradient(135deg, #ffd93d 0%, #ffc107 100%);
}

#moneyPrint .paper9 table tbody tr:first-child td.th {
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    padding: 14px 16px;
    text-align: center;
}

#moneyPrint .paper9 table tbody tr:not(:first-child) {
    background: white;
    transition: background 0.2s ease;
}

#moneyPrint .paper9 table tbody tr:not(:first-child):hover {
    background: #f8f9fa;
}

#moneyPrint .paper9 table tbody tr td {
    padding: 12px;
    line-height: 1.5;
    font-size: 10pt;
    border-bottom: 1px solid #e9ecef;
}

#moneyPrint .paper9 table tbody tr:last-child td {
    border-bottom: none;
}

#moneyPrint .paper9 table tbody tr td.th {
    font-weight: 600;
    color: #495057;
    width: 30%;
}

#moneyPrint .paper9 table tbody tr:not(:first-child) td:not(.th) {
    color: #6c757d;
}

/* 결과 */
#moneyPrint .paper9 .result {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #212529;
    padding: 16px 20px;
    background: linear-gradient(135deg, #e7f5ff 0%, #d0ebff 100%);
    border-radius: 12px;
    border-left: 4px solid #4dabf7;
}

#moneyPrint .paper9 .contentWrap > ul > li:last-child .result {
    background: linear-gradient(135deg, #fff9db 0%, #fff3bf 100%);
    border-left-color: #ffc107;
}
/*page9 끝 --------------------*/
/*page10 시작 --------------------*/
#moneyPrint .paper10 .tableArea{
    padding: 10px;
    width: 100%;
    border-radius: 10px;
    background-color: #f8f9fa;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}
#moneyPrint .paper10 table{
    width: 100%; background: #fff; border-radius: 10px;
}
#moneyPrint .paper10 table th,
#moneyPrint .paper10 table td.th{
    font-weight: 700; font-size: 11pt; text-align: center;
}
#moneyPrint .paper10 table th{
    border-bottom: 1px solid #ddd; padding: 12px 5px; background: rgba(3, 31, 93, 0.1); color: #666;
}
#moneyPrint .paper10 table th:first-of-type{
    border-radius: 10px 0 0 0;
}
#moneyPrint .paper10 table th:last-of-type{
    border-radius: 0 10px 0 0;
}
#moneyPrint .paper10 table td{
    padding: 12px 10px; text-align: center; font-size: 10pt; height: 40px; line-height: 1.8; vertical-align: middle;
}
#moneyPrint .paper10 table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
/*page10 끝 --------------------*/
/*page11 시작 --------------------*/
#moneyPrint .positionMind .bigTit{
    font-size: 9pt;
}
#moneyPrint .positionMind .small{
    display: block;
    font-weight: 300;
    color: #666;
    font-size: 8pt;
    line-height: 1.8;
    margin-top: 5px;
}

#moneyPrint .paper11 .result_inner{
    width: 100%;
    margin: 0 auto 20px;
}
/*page11 끝 --------------------*/
/* sms 머니에너지 검사결과 끝 *************/

/* sms 머니에너지 무료 검사결과 시작 *************/
#moneyResult .bold{
    font-weight: 800;
}
#moneyResult .tabBox{
    background-color: #333; height: 50px;
}
#moneyResult .tabBox ul{
    display: flex; width: 90%; margin: 0 auto; justify-content: center; gap: 30px; align-items: center; height: 100%;
}
#moneyResult .tabBox ul li{
    font-size: .9rem; font-weight: 500; color: #666; border-bottom: 3px solid transparent; height: 100%;
    display: flex; justify-content: center; align-items: center;
}
#moneyResult .tabBox ul li.on{
    border-bottom-color: #666;
}
#moneyResult .boxContain{
    width: 90%; margin: 50px auto; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; background-color: #fff; border-radius: 10px;
    padding: 1rem .5rem;
}
#moneyResult .boxContain .wrap .caption{
    font-size: 1.5rem; font-weight: 900; line-height: 1.8;
}
#moneyResult .boxContain .wrap .date{
    display: block; margin: 10px 0; color:#b6b6b6; border-bottom: 1px solid #666; padding-bottom: 15px; font-size: .9rem; font-weight: 500;
}
#moneyResult .boxContain .wrap .smallPic{
    text-align: center; font-size: .85rem; color: #b6b6b6; display: block; font-weight: 600; margin-bottom: 25px;
}
#moneyResult .boxContain .txtWrap{
    font-weight: 700; line-height: 1.5; width: 50%; min-width: 300px;  margin: 0 auto;
}
#moneyResult .boxContain .txtWrap >strong{
    display: block; font-size: 1.1rem; margin-bottom: 10px;
}
#moneyResult .boxContain .txtWrap .bold{
    color: #423f96; font-size: 1.2rem;
}
#moneyResult .boxContain .txtWrap .small{
    font-size: .95rem; color: #666;
}
#moneyResult .boxContain .txtWrap ul{
    display: flex; justify-content: space-between; gap: 10px; align-items: center; margin: 20px auto;
}
#moneyResult .boxContain .txtWrap ul li{
    width: 45%;
}
#moneyResult .boxContain .txtWrap ul dl{
    border: 1px solid #eee; border-radius: 10px;
}
#moneyResult .boxContain .txtWrap ul dl dt{
    border-radius: 10px 10px 0 0; font-size: 1.1rem;
    background-color: #333; color: #fff; text-align: center; padding: .5rem;
}
#moneyResult .boxContain .txtWrap ul dl dd{
    color: #333; padding: 1rem .5rem; line-height: 1.5; font-size: 1rem;
}
#moneyResult .boxContain .txtWrap ul dl dd .bold{
    display: block; color: #666;
}

#moneyResult .boxContain .txtWrap .source,
#moneyResult .boxContain .txtWrap .source .bold{
    color: #b7b7b7; font-size: .8rem; font-weight: 500;
}
#moneyResult .boxContain +ol{
    display: flex; justify-content: center; gap: 20px; margin-bottom: 50px;
}
#moneyResult .boxContain +ol li{
    display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 15px; cursor: pointer;
}
#moneyResult .boxContain +ol li img{
    width: 40px; height: 40px; object-fit: contain;
}
#moneyResult .boxContain +ol li span{
    color: #333; font-weight: 700;
}
#moneyResult .boxContain +ol li span.count{
    color :#666 ; font-weight: 500;
}
#moneyResult .boxContain +ol li span.count.animate {
    animation: countUp 0.3s ease;
}

@keyframes countUp {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.3);
        color: #ff6b6b;
    }
    100% {
        transform: scale(1);
    }
}
#moneyResult .contentBox:nth-of-type(2) {
    border-top: 10px solid #eee; padding: 50px 0;
}
#moneyResult .contentBox:nth-of-type(2) .wrap{
    width: 90%; margin: 0 auto; padding: 0 .5rem;
}
#moneyResult .contentBox:nth-of-type(2) .wrap >strong{
    font-size: 1.2rem; font-weight: 500; color: #666; display: block; margin-bottom: 20px;
}
#moneyResult .contentBox:nth-of-type(2) .wrap ul{
    display: flex; flex-direction: column; gap: 20px;
}
#moneyResult .contentBox:nth-of-type(2) .wrap li{
    display: flex; gap: 5px; border-bottom: 1px solid #eee; padding-bottom: 20px;
}
#moneyResult .contentBox:nth-of-type(2) .wrap li.comment .imgWrap{
    margin-left: 30px;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .imgWrap{
    width: 40px; height: 40px; object-fit: contain;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .imgWrap img{
    width: 100%;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .conR{
    display: flex; flex-direction: column; gap: 5px; width: 100%;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .nickName{
    font-size: .85rem; font-weight: 600; color: #666;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .min{
    font-size: .85rem; font-weight: 400; color: #b7b7b7;
}
#moneyResult .contentBox:nth-of-type(2) .wrap .conR p{
    font-weight: 600; color: #333; line-height: 1.8; font-size: 1.1rem;
}
#moneyResult .contentBox:nth-of-type(3) {
    background-color: #444; border-radius: 50px 50px 0 0; padding: 3rem 0 2rem;
    position: relative;
}
#moneyResult .contentBox:nth-of-type(3):before{
    content: ''; position: absolute; top: 15px; left: 50%; transform: translateX(-50%); width: 100px; height: 10px; border-radius: 10px;
    background-color: #b7b7b7;
}
#moneyResult .contentBox:nth-of-type(3) .wrap,
#moneyResult .contentBox.box8 .wrap{
    width: 90%; margin: 0 auto;
}
#moneyResult .contentBox:nth-of-type(3) h3,
#moneyResult .contentBox.box8 h3{
    font-size: 1.5rem; color: #fff; font-weight: 800; margin-bottom: 30px;
}
#moneyResult .contentBox:nth-of-type(3) .box-inner{
    border-radius: 10px; background-color: #eee; padding: 2rem; display: flex; flex-direction: column; gap: 30px;
}
#moneyResult .contentBox:nth-of-type(3) .talkBox{
    padding: 0.8rem; font-size: 1rem; font-weight: 500; border-radius: 10px; line-height: 1.8;
    width: 50%;
}
#moneyResult .contentBox:nth-of-type(3) .talkBox .bold{ color: #fff;}
#moneyResult .contentBox:nth-of-type(3) .l-talk{
    background-color: #333; color: #fff;
}
#moneyResult .contentBox:nth-of-type(3) .r-talk{
    margin-left: auto; background-color: #2bd509; color: #fff; width: 30%; min-width: 300px;
}
#moneyResult .contentBox:nth-of-type(3) .talkBox button{
    border: 1px solid #fff; color: #fff; display: block; margin-top: 10px; background-color: rgba(255,255,255,.2); transition: all .4s ease-in-out;
}
#moneyResult .contentBox:nth-of-type(3) .talkBox button:hover{
    background-color: #fff; color: #333; font-weight: 700;
}
#moneyResult .contentBox:nth-of-type(3) .talkBox span.small{
    font-size: .8rem; font-weight: 400; display: block; text-align: center ;color: #666;
}
#moneyResult .contentBox.box8{
    background-color: #333; padding: 3rem 0 2rem;
}
#moneyResult .contentBox.box8 .box-inner{
    margin: 1rem 0;
}
#moneyResult .contentBox.box8 .chartWrap{
    border-radius: 10px;
    width: 100%;
    height: 400px;
    padding: .2rem;
    box-shadow: rgba(255, 255, 255, 0.6) 0px 2px 10px 0px, rgba(255, 255, 255, 0.4) 0px 1px 10px 0px;
    background-color: #fff;
    margin-bottom: 50px;
}
#moneyResult .contentBox.box8 .card-container{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#moneyResult .contentBox.box8 .card{
    background: linear-gradient(90deg, #60606c 20%, #4f546c 28%, #60606c 68%, #885656 86%);
    border-radius: 15px;
    padding: 1.5rem 1rem;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid rgba(255, 255, 255, 0.05);
}
#moneyResult .contentBox.box8 .card:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
#moneyResult .contentBox.box8 .card-header{
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
#moneyResult .contentBox.box8 .card .avatar{
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, #cbccd3 0%, #d1c4e3 80%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    margin-right: 1rem;
    font-size: 1.1rem;
}
#moneyResult .contentBox.box8 .card .card-title{
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
}
#moneyResult .contentBox.box8 .card .card-title .small{
    font-size: .9rem;
    font-weight: 500;
}

#moneyResult .contentBox.box8 .card .status-badge{
    margin-left: auto;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}
#moneyResult .contentBox.box8 .card .status-low{
    background: rgba(244, 67, 54, 0.2);
    color: #ff6b6b;
}

#moneyResult .contentBox.box8 .card .status-medium{
    background: rgba(255, 193, 7, 0.2);
    color: #ffd93d;
}
#moneyResult .contentBox.box8 .card .status-high{
    background: rgba(140, 245, 255, 0.2);
    color: #8cf5ff;
}
#moneyResult .contentBox.box8 .card .status-empty{
    background: rgba(158, 158, 158, 0.2);
    color: #9e9e9e;
}
#moneyResult .contentBox.box8 .card .card-content{
    color: #eee;
    line-height: 1.6;
    font-size: 0.95rem;
}
#moneyResult .contentBox.box8 .card .score-info {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
#moneyResult .contentBox.box8 .card .score-item{
    text-align: center;
}
#moneyResult .contentBox.box8 .card .score-label{
    color: #b7b7b7;
    font-size: 0.8rem;
    margin-bottom: 0.3rem;
}

#moneyResult .contentBox.box8 .card .score-value{
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
}

#moneyResult .contentBox.box8 .card .score-low{ color: #ff6b6b;}
#moneyResult .contentBox.box8 .card .score-medium{ color: #ffd93d;}
#moneyResult .contentBox.box8 .card .score-high{ color: #8cf5ff;}
#moneyResult .contentBox.box8 .card .description{
    margin-top: 0.8rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    color: #a0a0b8;
    font-size: 0.9rem;
    line-height: 1.8;
}
/* sms 머니에너지 무료 검사결과 끝 *************/





/* pace 검사결과 시작 *************/
#paceReport{
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 0 10px 8px rgba(1,1,1,.09);
}
#paceReport span.small{
    font-size: 9pt;
    font-weight: 400;
    color: #666;
}
#paceReport span.point{
    font-weight: 800;
    line-height: 1.4;
    color: #006934;
}
#paceReport .titleArea{
    width: 100%;
    margin-bottom: 30px;
}
#paceReport .titleArea h2{
    font-size: 18pt;
    font-weight: 700;
    border-left: 2px solid #006934;
    color: #006934;
    border-top: 2px solid #006934;
    border-radius: 15px 0 0 0;
    padding: 15px;
}
#paceReport .titleArea h2 .num{
    color: #eabe31;
    font-weight: 800;
    display: inline-block;
    margin-right: 10px;
}
#paceReport strong.subTit{
    font-weight: 600;
    color: #666;
    margin-bottom: 15px;
    display: block;
    font-size: 9pt;
}
#paceReport .contentArea{
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 15px;
}
#paceReport table{
    border-collapse: collapse;
}
#paceReport table .th{
    font-weight: 700;
}




#paceReport .paceArea{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 1rem;
}
#paceReport .paceArea:not(.one):before{
    content: ''; position: absolute; top: -60px; right: 220px;
    width: 80px; height: 80px; border-radius: 50%; background-color: #E5EBB2;
    z-index: -1;
}
#paceReport .paceArea:not(.one):after{
    content: ''; position: absolute; top: -80px; right: -60px;
    width: 200px; height: 200px; border-radius: 50%; background-color: #E5EBB2;
    z-index: -1;
}
#paceReport .one{
    height: 180vh;
    width: 100%;
    margin: 0 auto;
}

@media all and (max-width: 768px) {
    #paceReport .one{ height: 80vh;}
}
#paceReport .one >img{
    position: absolute;
    width: 100%;
    top: 0; left: 0; right: 0; bottom: 0;
    height: 100%;
    object-fit:cover;
}
#paceReport .one .textBox{
    position: absolute;
    bottom: 15%; left: 3%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
#paceReport .one .textBox p{
    font-size: 18pt;
    color: #000;
}
#paceReport .one .textBox .name{
    font-weight: 800;
    color: #006934;
}
#paceReport .one .textBox .status{
    display: flex;
    gap: 15px;
    align-items: center;
}
#paceReport .one .textBox img{
    width: 30px; height: 30px;
}
#paceReport .two .mean{
    font-size: 14pt;
    line-height: 1.6;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
#paceReport .two .mean .point b:first-of-type{ color: #BE0000}
#paceReport .two .mean .point b:nth-of-type(2){ color: #E48900}
#paceReport .two .mean .point b:nth-of-type(3){ color: #000}
#paceReport .two ul{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
}
#paceReport .two .goalBox p{
    font-size: 12pt;
    line-height: 1.8;
}
#paceReport .two dl{
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
#paceReport .two dt{
    width: 80px;
    border: 2px solid #006934;
    color: #006934;
    font-size: 16pt;
    border-radius: 50%;
    background-color: rgba(0, 105, 52, 0.2);
    text-align: center;
    height: 80px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    align-items: center;
    font-weight: 800;
}
#paceReport .two li:first-of-type dt{
    border-color: #BE0000;
    color: #BE0000;
    background-color: rgba(190, 0, 0, 0.2);
}

#paceReport .two li:nth-of-type(2) dt{
    border-color: #E48900;
    color: #E48900;
    background-color: rgba(228, 137, 0, 0.2);
}

#paceReport .two li:nth-of-type(3) dt{
    border-color: #F7EA00;
    color: #000;
    background-color: rgba(247, 234, 0, 0.2);
}

#paceReport .two li:nth-of-type(4) dt{
}
#paceReport .two dd{
    font-size: 9pt;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
}
#paceReport .three .result{
    font-size: 14pt;
    font-weight: 700;
    text-align: center;
}
#paceReport .three .result .point{
    font-size: 18pt;
    color: #E48900;
}
#paceReport .three .result.floatText {
    position: relative;
}
#paceReport .three .result.floatText:after{
    content: '부족한 역량을 개선하면 성공확률은 올라갑니다';
    width: 100%;
    color: #F15F79; font-weight: 700;
    font-size: 9pt; position: absolute; top: -58px; left: 50%; transform: translateX(-50%);
    animation: upDown 2s ease-in-out infinite;
}
@keyframes upDown {
    0%{top: -64px;}
    50%{top: -58px;}
    100%{top: -64px}
}
#paceReport .three .div2{
    display: grid;
    border: 1px solid #eee;
    padding: 10px;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
}
#paceReport .three .div2 >div:first-of-type{
    border-right: 1px solid #eee;
    padding-right: 5px;
}
#paceReport .three .div2 p{
    font-size: 10pt;
    line-height: 1.5;
}
#paceReport .three .chartBox,
#paceReport .three2 .chartBox{
    height: auto;
    width: 100%;
    margin-bottom: 30px;
}
#paceReport .three table,
#paceReport .three2 table{
    width:100%;
}

#paceReport .five table th,
#paceReport .four table th,
#paceReport .three table th,
#paceReport .three2 table th{
    padding: 10px 8px;
    font-size: 9pt;
    font-weight: 600;
    border-bottom: 1px solid #006934;
    border-top: 1px solid #006934;
    vertical-align: middle;
}
#paceReport .five table td.th,
#paceReport .three table td.th,
#paceReport .three2 table td.th{
    border-right: 1px solid #006934!important;
}
#paceReport .five table td,
#paceReport .four table td,
#paceReport .three table td,
#paceReport .three2 table td{
    padding: 10px 5px;
    text-align: center;
    font-size: 12pt;
    line-height: 1.6;
    vertical-align: middle;
}
#paceReport .three table td .small{
    display: block;
}
#paceReport .five table tr:not(:last-of-type) td,
#paceReport .four table tr:not(:last-of-type) td,
#paceReport .three table tr:not(:last-of-type) td,
#paceReport .three2 table tr:not(:last-of-type) td{
    border-bottom: 1px solid #eee;
}
#paceReport .five table th:last-of-type td,
#paceReport .three table tr:last-of-type td,
#paceReport .three2 table tr:last-of-type td{
    border-bottom: 1px solid #006934;
}
#paceReport .three2 .chartBox{
    margin-bottom: 15px;
}
#paceReport .three2 td .small{
    display: block;
    font-weight: 700;
    position: relative;
    padding-top: 15px;
}
#paceReport .three2 td .small:before{
    content: ''; position: absolute; top: 5px; left: 50%; transform: translateX(-50%); background-color: #ddd;
    width: 30px; height: 1px;
}
#paceReport .three2 td .small .point{
    display: inline-block; margin-left: 5px;
}
#paceReport .four .contentArea{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 30px;
}
#paceReport .four.paceStyle{
    padding: unset;
    flex-direction: row;
    gap: 15px;
}
#paceReport .four.paceStyle td{
    padding: 10px 5px!important;
}
#paceReport .four table{
    table-layout: fixed;
    width: 100%;
}
#paceReport .four .div1 table{
    border: 1px solid #006934;
}
#paceReport .four .div2 tr td {
    font-weight: 800;
    letter-spacing: 1px;
    font-size: 12pt;
}
#paceReport .four .div2 tr:first-of-type td{
    background-color: rgba(0, 105, 52, 0.1);
}

#paceReport .four .div2 tr:nth-of-type(2) td{
    background-color: rgba(0, 105, 52, 0.3);
}
#paceReport .four .div2 tr:nth-of-type(3) td{
    background-color: rgba(0, 70, 35, 0.4);
}
#paceReport .four .div2 tr:last-of-type td{
    background-color: rgba(0, 33, 15, 0.6);
}

#paceReport .five table{
    width: 100%;
}

#paceReport .five table th{
    padding: 12px 8px;
    font-size: 8pt;
    font-weight: 600;
    border-bottom: 1px solid #006934;
    vertical-align: middle;
    border-top: 1px solid #006934;
}
#paceReport .five table td{
    padding:  10px 5px;
    text-align: center;
    font-size: 12pt;
    line-height: 1.4;
    vertical-align: middle;
}

#paceReport .six ul{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
    flex-wrap: wrap;
}
#paceReport .six ul li{
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #eee;
    padding: 10px;
}
#paceReport .six li strong{
    font-size: 16pt;
    font-weight: 800;
    color: #eabe31;
    padding: 5px 0;
    position: relative;
    display: flex; align-items: center; justify-content: center;
}
#paceReport .six li strong:after{
    content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%);
    width: 30px; height: 2px; background-color: #eee;
}
#paceReport .six li div{
    font-size: 10pt;
    font-weight: 400;
    line-height: 1.5;
}
#paceReport .six li .point{
    display: block;
    font-size: 12pt;
}


/* pace 검사결과 끝 *************/








/* 신한라이프 계산기 시작 *************/

#shinHanCalc.container {
    max-width: 900px;
    margin: 0 auto;
    background: white;
}

#shinHanCalc .notice {
    background-color: #fff5f5;
    border: 1px solid #ffcccc;
    padding: 12px;
    text-align: center;
    color: #d32f2f;
    font-size: 13px;
}

#shinHanCalc .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 2px solid #333;
}

#shinHanCalc .header h1 {
    font-size: 24px;
    color: #333;
}

#shinHanCalc .header .subtitle {
    color: #4caf50;
    font-size: 14px;
}

#shinHanCalc .input-section {
    background-color: #f9f9f9;
    padding: 30px 20px;
}

#shinHanCalc .input-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

#shinHanCalc .input-group {
    flex: 1;
}

#shinHanCalc .input-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    color: #666;
}

#shinHanCalc .input-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    font-size: 14px;
    text-align: right;
}

#shinHanCalc .interest-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
    padding: 15px 0;
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
}

#shinHanCalc .interest-left {
    color: #4caf50;
    font-size: 13px;
}

#shinHanCalc .interest-center {
    display: flex;
    gap: 10px;
    align-items: center;
}

#shinHanCalc .interest-center input {
    width: 80px;
    padding: 8px;
    border: 1px solid #ddd;
    text-align: center;
}

#shinHanCalc .interest-center span {
    color: #4caf50;
    font-weight: bold;
}

#shinHanCalc .interest-right {
    font-weight: bold;
    color: #4caf50;
    font-size: 16px;
}

#shinHanCalc .result-box {
    display: flex;
    justify-content: space-around;
    padding: 30px 20px;
    background: white;
    margin-bottom: 20px;
}

#shinHanCalc .result-item {
    text-align: center;
}

#shinHanCalc .result-label {
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
}

#shinHanCalc .result-value {
    font-size: 22px;
    font-weight: bold;
    color: #4caf50;
}

#shinHanCalc .highlight-box {
    background: #f0f8f0;
    border: 2px solid #4caf50;
    padding: 15px;
    margin: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#shinHanCalc .highlight-left span {
    color: #666;
    font-size: 13px;
}

#shinHanCalc .highlight-left .amount {
    color: #4caf50;
    font-weight: bold;
    font-size: 18px;
    margin-left: 10px;
}

#shinHanCalc .highlight-right span {
    color: #666;
    font-size: 13px;
}

#shinHanCalc .highlight-right .rate {
    color: #d32f2f;
    font-weight: bold;
    font-size: 20px;
    margin-left: 10px;
}

#shinHanCalc .section-title {
    padding: 20px;
    color: #4caf50;
    font-size: 16px;
    font-weight: bold;
    background: white;
}

#shinHanCalc .warning-text {
    text-align: center;
    padding: 10px;
    color: #666;
    font-size: 13px;
}

#shinHanCalc .warning-highlight {
    color: #d32f2f;
    font-weight: bold;
}

#shinHanCalc .info-text {
    text-align: center;
    color: #4caf50;
    font-size: 13px;
    margin-top: 5px;
}

#shinHanCalc .installment-section {
    background-color: #f9f9f9;
    padding: 30px 20px;
    margin-top: 20px;
}

#shinHanCalc .big-result {
    text-align: right;
    padding: 20px;
    background: white;
}

#shinHanCalc .big-result-label {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

#shinHanCalc .big-result-value {
    font-size: 28px;
    font-weight: bold;
    color: #4caf50;
}

#shinHanCalc .final-section {
    background-color: #f9f9f9;
    padding: 30px 20px;
    margin-top: 20px;
}

#shinHanCalc .final-result {
    text-align: right;
    padding: 20px;
    background: white;
    margin-bottom: 20px;
}

#shinHanCalc .final-highlight {
    background: #fff9e6;
    padding: 15px 20px;
    text-align: right;
    border-left: 4px solid #ffc107;
}

#shinHanCalc .final-highlight-label {
    color: #666;
    font-size: 14px;
    margin-bottom: 8px;
}

#shinHanCalc .final-highlight-value {
    color: #ff6f00;
    font-size: 32px;
    font-weight: bold;
}

#shinHanCalc .total-profit {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    padding: 15px 20px;
    background: white;
    margin-top: 10px;
}

#shinHanCalc .total-profit-label {
    font-size: 14px;
    color: #666;
}

#shinHanCalc .total-profit-value {
    font-size: 24px;
    font-weight: bold;
    color: #4caf50;
}

#shinHanCalc .note-text {
    text-align: right;
    color: #4caf50;
    font-size: 12px;
    padding: 10px 20px;
}
/* 신한라이프 계산기 끝 *************/


/* SAAS 시작-------------------------------------------------------------------------*/
/* saas 로그인 시작 *************/
#saasPage{
    min-height: 100vh;
}

.popupBg{
    display: none;
    position: fixed;
    width: 100%; height: 100%;
    background-color: rgba(1,1,1,.4);
    z-index: 1004;
    top: 0; left: 0; bottom: 0; right: 0;
}
#changePwdPopup,
#printInfoPopup,
#finStatusPopup{
    display: none;
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    max-width: 400px; width: 90%;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    z-index: 1005;
}
#changePwdPopup .popup-inner,
#printInfoPopup .popup-inner{
    padding: 2rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#changePwdPopup h3,
#printInfoPopup h3,
#finStatusPopup h3{
    font-size: 1rem;
    color: #333;
    font-weight: 600;
    margin-bottom: 20px;
}
#changePwdPopup span,
#printInfoPopup span{
    color: #666;
    font-size: .95rem;
}

#finStatusPopup .popup-inner{
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#finStatusPopup .top{
    display: flex; justify-content: space-between;
    gap : 10px;
    align-items: flex-start;
}
#finStatusPopup .top .titSub{
    font-size: .85rem;
    display: block;
    margin-top: 10px;
    color: #666;
    font-weight: 500;
}
#finStatusPopup .top button{
    border: unset;
    background-color: transparent;
}
#finStatusPopup .top button i{
    font-size: 22px;
    transition: all .3s ease-in-out;
}
#finStatusPopup .top button:hover i{
    color: #7a4dff;
}
#finStatusPopup ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#finStatusPopup li a{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: .95rem;
    color: #333;
    font-weight: 400;
    transition: all .3s ease-in-out;
    padding: 10px;
    border-radius: 5px;
}
#finStatusPopup li a:hover{
    background-color: #eee;
}
#finStatusPopup li.complete a{
    color: #10b981;
    /*pointer-events: none;*/
    font-weight: 700;
}
#finStatusPopup li.unComplete a{
    color: #ef4444;
    font-weight: 500;
}
#finStatusPopup li span{
    display: flex;
    align-items: center;
}
#finStatusPopup li.unComplete span:last-of-type{
    padding: .3rem .5rem;
    font-weight: 700;
    font-size: .8rem;
    color: #ef4444;
    background-color: rgba(239, 68, 68, 0.2);
    border-radius: 20px;
}
#finStatusPopup li.unComplete a:hover{
    background-color: #eee;
}
#finStatusPopup li.complete a span:first-of-type{
    padding: .3rem 0;
}
#finStatusPopup li.complete a span:last-of-type{
    padding: .3rem .5rem;
    font-weight: 700;
    font-size: .8rem;
    color: #10b981;
    background-color: rgba(16, 185, 129, 0.2);
    border-radius: 20px;
}

.saasLogin,
.saasSignup,
.saasFind{
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fafb;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
}

/* 배경 그라디언트 서클 */
.saasLogin::before,
.saasSignup::before ,
.saasFind:before{
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(122, 77, 255, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    top: -300px;
    right: -200px;
    pointer-events: none;
}

.saasLogin::after,
.saasSignup::after,
.saasFind:after{
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(118, 75, 162, 0.06) 0%, transparent 70%);
    border-radius: 50%;
    bottom: -200px;
    left: -100px;
    pointer-events: none;
}

.saasSignup form,
.saasLogin form,
.saasFind form{
    width: 100%;
    max-width: 440px;
    position: relative;
    z-index: 1;
}

.saasSignup .saas-inner,
.saasLogin .saas-inner ,
.saasFind .saas-inner{
    background: #fff;
    border-radius: 24px;
    padding: 48px 40px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
}

.saasSignup .saas-inner:hover,
.saasLogin .saas-inner:hover ,
.saasFind .saas-inner{
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

.saasSignup .logo,
.saasLogin .logo ,
.saasFind .logo{
    text-align: center;
    margin-bottom: 12px;
}

.saasSignup .logo h1,
.saasLogin .logo h1 ,
.saasFind .logo h1{
    font-size: 2rem;
    font-weight: 800;
    background: linear-gradient(135deg, #7a4dff 0%, #9b6dff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
    letter-spacing: -0.5px;
}

.saasSignup .welcome-text,
.saasLogin .welcome-text {
    text-align: center;
    margin-bottom: 8px;
}

.saasSignup .welcome-text h2,
.saasLogin .welcome-text h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    letter-spacing: -0.3px;
}

.saasSignup .subtitle,
.saasLogin .subtitle {
    text-align: center;
    margin-bottom: 36px;
}

.saasSignup .subtitle p,
.saasLogin .subtitle p {
    font-size: 0.95rem;
    color: #6b7280;
    margin: 0;
    font-weight: 500;
}

.saasSignup .form-group,
.saasLogin .form-group ,
.saasFind .form-group {
    margin-bottom: 24px;
}

.saasSignup .form-group label,
.saasLogin .form-group label ,
.saasFind .form-group label{
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 10px;
    letter-spacing: -0.2px;
}

.saasFind .form-group input,
.saasSignup .form-group input,
.saasLogin .form-group input ,
.saasHome .toolBox select,
.saasHome .toolBox .tab-tit{
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    font-size: 1rem;
    transition: all 0.2s ease;
    box-sizing: border-box;
    background-color: #f9fafb;
    color: #1a1a1a;
}

.saasFind .form-group input:hover,
.saasSignup .form-group input:hover,
.saasLogin .form-group input:hover {
    border-color: #d1d5db;
    background-color: #fff;
}
.saasFind .form-group input:focus,
.saasSignup .form-group input:focus,
.saasLogin .form-group input:focus {
    outline: none;
    border-color: #7a4dff;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(122, 77, 255, 0.08);
}

.saasFind .form-group input:placeholder,
.saasSignup .form-group input::placeholder,
.saasLogin .form-group input::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

.saasLogin .form-group-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 28px;
}
.saasLogin .save-id{
    font-size: 0.875rem;
    display: flex; align-items: center;
    gap: 5px;
    color: #333;
    font-weight: 400;
}
.saasLogin .save-id input[type=checkbox] {display: none;}
.saasLogin .save-id input[type=checkbox]+label{padding-left: 25px; position: relative}
.saasLogin .save-id input[type=checkbox]+label:before{content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); border: 1px solid #333; width: 14px; height: 14px; background-color: #fff; border-radius: 2px; display: inline-block}
.saasLogin .save-id input[type=checkbox]+label:after{content: '✔'; font-size: 12px; color: #fff; font-weight: 600; position: absolute; top: 50%; left: 3px; transform: translateY(-50%);}
.saasLogin .save-id input[type=checkbox]:checked+label{font-weight: 700}
.saasLogin .save-id input[type=checkbox]:checked+label:before { background-color: #7a4dff; border: 1px solid transparent}
.saasLogin .forgot-password {
    text-align: right;
}

.saasLogin .forgot-password a {
    font-size: 0.875rem;
    color: #7a4dff;
    text-decoration: none;
    transition: all 0.2s;
    font-weight: 600;
}

.saasLogin .forgot-password a:hover {
    color: #6239d6;
    text-decoration: underline;
}

.saasFind .btn-find,
.saasLogin .btn-login,
.saasSignup .btn-signup {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #7a4dff 0%, #9b6dff 100%);
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(122, 77, 255, 0.3);
    letter-spacing: -0.2px;
}
.saasFind .btn-find:hover,
.saasLogin .btn-login:hover,
.saasSignup .btn-signup:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(122, 77, 255, 0.4);
    background: linear-gradient(135deg, #6239d6 0%, #8659e8 100%);
}

.saasFind .btn-find:active,
.saasLogin .btn-login:active,
.saasSignup .btn-signup:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(122, 77, 255, 0.3);
}

.saasLogin .signup-text,
.saasSignup .login-text {
    text-align: center;
    margin-top: 28px;
}

.saasLogin .signup-text p,
.saasSignup .login-text p {
    font-size: 0.95rem;
    color: #6b7280;
    margin: 0;
    font-weight: 500;
}

.saasLogin .signup-text a,
.saasSignup .login-text a {
    color: #7a4dff;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    margin-left: 4px;
}

.saasLogin .signup-text a:hover,
.saasSignup .login-text a:hover {
    color: #6239d6;
    text-decoration: underline;
}

/* 회원가입 전용 스타일 */
.saasSignup form {
    max-width: 460px;
}

.saasSignup .form-group {
    margin-bottom: 20px;
}

.saasSignup .gender-group {
    margin-bottom: 20px;
}

.saasSignup .gender-group label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 12px;
    letter-spacing: -0.2px;
}

.saasSignup .gender-options {
    display: flex;
    gap: 16px;
}

.saasSignup .gender-option {
    flex: 1;
    position: relative;
}

.saasSignup .gender-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.saasSignup .gender-option label {
    display: block;
    padding: 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.2s;
    background-color: #f9fafb;
    margin: 0;
}

.saasSignup .gender-option label:hover {
    border-color: #d1d5db;
    background-color: #fff;
}

.saasSignup .gender-option input[type="radio"]:checked + label {
    border-color: #7a4dff;
    background-color: rgba(122, 77, 255, 0.05);
    color: #7a4dff;
    box-shadow: 0 0 0 4px rgba(122, 77, 255, 0.08);
}

.saasSignup .referral-section {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.saasSignup .referral-section .form-group {
    flex: 1;
    margin-bottom: 0;
}

.saasSignup .btn-check {
    padding: 14px 24px;
    background: #f3f4f6;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    color: #374151;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    letter-spacing: -0.2px;
}

.saasSignup .btn-check:hover {
    background: #e5e7eb;
    border-color: #d1d5db;
}

.saasSignup .btn-check:active {
    transform: scale(0.98);
}

/* 반응형 */
@media (max-width: 480px) {
    .saasSignup .saas-inner,
    .saasLogin .saas-inner {
        padding: 36px 28px;
    }

    .saasSignup .logo h1,
    .saasLogin .logo h1 {
        font-size: 1.75rem;
    }

    .saasSignup .referral-section {
        flex-direction: column;
    }

    .saasSignup .btn-check {
        width: 100%;
    }
}

/* 애니메이션 효과 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.saasLogin .saas-inner,
.saasSignup .saas-inner {
    animation: fadeInUp 0.5s ease-out;
}

/* 포커스 시 라벨 색상 변경 */
.saasSignup .form-group:focus-within label,
.saasLogin .form-group:focus-within label {
    color: #7a4dff;
}

/* 정보 찾기 스타일 시작 *******/
.saasFind .find-Tit{
    margin: 20px 0 30px;
    display: grid;
    grid-template-columns: repeat(2,1fr);
}
.saasFind .find-Tit li{
    padding: 15px 5px;
    color: #666;
    font-weight: 500;
    cursor: pointer;
    font-size: .95rem;
    text-align: center;
    border-bottom: 2px solid #ddd;
}
.saasFind .find-Tit li.on{
    background-color: #fff;
    border-bottom: 2px solid #7a4dff;
    color: #7a4dff;
    font-weight: 700;
}
.saasFind .sup{
    font-size: .85rem;
    font-weight: 400;
    text-align: center;
    color: #666;
    margin-bottom: 20px;
}
.saasFind .signup-back{
    margin: 30px 0 0;
    font-size: .85rem;
    color : #666;
    text-align: center;
}
.saasFind .signup-back:hover{
    font-weight: 700;
}
.saasFind .findPwd-cont{
    display: none;
}

.saasFind .findResult .findIdBox,
.saasFind .findResult .findPwdBox.first,
.saasFind .findResult .findPwdBox.fail,
.saasFind .findResult .findPwdBox.second{
    display: none;
}
.saasFind .findResult dl,
.saasFind .findResult .unResult{
    display: flex;
    justify-content: center;
    gap: 10px;
    border: 1px solid #7a4dff;
    border-radius: 10px;
    padding : 1rem;
    margin-bottom: 30px;
    font-size: 1rem;
}
.saasFind .findResult dd {
    font-weight: 600;
}
.saasFind .findIdBox .btnWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.saasFind .findIdBox .btnWrap a{
    display: block;
    padding: .5rem;
    border: 1px solid transparent;
    color: #666;
    border-radius: 10px;
    font-size: .95rem;
    font-weight: 600;
    min-width: 80px;
    text-align: center;
    background-color: #eee;
    transition: all .3s ease-in-out;
}
.saasFind .findIdBox .btnWrap div:last-of-type a{
    background-color: rgba(122, 77, 255, 0.2);
    color: #7a4dff;
}
.saasFind .findIdBox .btnWrap a:hover,
.saasFind .findIdBox .btnWrap a:active{
    transform: translateY(-2px);
}

.saasFind .findPwdBox.first .form-group,
.saasFind .findPwdBox.first .countInfo{
    display: flex; justify-content: space-between; gap: 15px;
}
.saasFind .findPwdBox.first .form-group{
    margin-bottom: 10px;
}
.saasFind .findPwdBox.first .form-group input{
    width: 60%;
}
.saasFind .findPwdBox.first .form-group button{
    color: #666;
    min-width: 100px;
    background-color: #eee;
    border-radius: 10px;
    padding: 5px;
    font-size: .9rem;
    font-weight: 700;
    border : 1px solid #ddd;
}
.saasFind .findPwdBox.first .form-group button:hover{
    background-color: #ddd;
}

.saasFind .findPwdBox.first .countInfo{
    margin-bottom: 30px;
}
.saasFind .findPwdBox.first .countInfo .countTit{
    font-weight: 400;
    color: #b7b7b7;
    font-size: .85rem;
}
.saasFind .findPwdBox.first .countInfo .countTxt{
    font-size: .85rem;
    font-weight:400;
    color: #ff4d4d;
}
.saasFind .findPwdBox.first .btnBox,
.saasFind .findPwdBox.second .btnBox{
    display: flex; flex-direction: column;
    gap: 5px;
    align-items: center;
}
.saasFind .findPwdBox.first .btnBox .noneNumber,
.saasFind .findPwdBox.second .btnBox .noneNumber{
    display: none;
    color: #ff4d4d;
    font-size: .85rem;
    font-weight: 600;
}
.saasFind .findPwdBox.second .pwdWrap{
    position: relative;
}
.saasFind .findPwdBox.second .pwdWrap i{
    font-size: 20px;
    cursor: pointer;
    color: #333;
    position: absolute;
    top: 50%; transform: translateY(-50%); right: 16px;
}
.saasFind .findPwdBox.second .pwdWrap i.bi-eye{
    display: none;
}
.saasFind .findPwdBox.second .pwdWrap input{
    padding: 14px 40px 14px 16px;
}



/* saas 로그인 끝 *************/

/* saas 메뉴 시작 *************/
.saasMenu {
    position: fixed;
    left: 0;
    top: 0;
    width: 280px;
    height: 100vh;
    min-height: 100vh;
    background: #fff;
    border-right: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    z-index: 1000;
    overflow-y: auto;
}

.saasMenu .saasMenu-inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100vh;
    padding: 0;
}
#menuFold{
    width: 50px;
    height: 50px;
    background-color: #fff;
    font-size: 24px;
    border: unset;
    color: #666;
    font-weight: 600;
    display: none;
    position: relative;
}

#menuFold:before{
    width: 100vw;
    position: absolute;
    top: 0; right: 0;
}

/* 로고/헤더 영역 */
.saasMenu .menu-header {
    padding: 20px 20px 16px;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.saasMenu .project-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.saasMenu .project-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #7a4dff 0%, #9b6dff 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.saasMenu .project-name {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
}

.saasMenu .toggle-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background 0.2s;
    color: #6b7280;
}

.saasMenu .toggle-btn:hover {
    background: #f3f4f6;
}

/* 메뉴 리스트 */
.saasMenu .menuList {
    list-style: none;
    padding: 12px 12px;
    margin: 0;
    flex: 1;
}

.saasMenu .menu-section-title {
    padding: 8px 12px 4px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 16px;
}

.saasMenu .menu-section-title:first-child {
    margin-top: 0;
}

.saasMenu .form-section {
    margin-bottom: 2px;
}

.saasMenu .form-row {
    width: 100%;
}

.saasMenu .form-row button {
    width: 100%;
    padding: 10px 12px 10px 15px;
    background: none;
    border: none;
    border-radius: 8px;
    text-align: left;
    font-size: 0.9rem;
    font-weight: 500;
    color: #4b5563;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.saasMenu .form-row button i{
    color: #666;
    font-size: 16px;
}

.saasMenu .form-row button:hover {
    background: #f3f4f6;
    color: #1a1a1a;
}

.saasMenu .form-row button:hover::before {
    opacity: 1;
}

.saasMenu .form-row button.active {
    background: rgba(122, 77, 255, 0.08);
    color: #7a4dff;
    font-weight: 600;
}
.saasMenu .form-row button.active i{
    color: #7a4dff;
}

.saasMenu .form-row button.active::before {
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(4984%) hue-rotate(247deg) brightness(100%) contrast(101%);
}

/* 프로젝트 섹션 */
.saasMenu .project-section {
    padding: 0 12px;
    margin-top: 24px;
}

.saasMenu .project-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px 8px;
    margin-bottom: 4px;
}

.saasMenu .project-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.saasMenu .project-add {
    width: 20px;
    height: 20px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background 0.2s;
    color: #9ca3af;
    font-size: 16px;
}

.saasMenu .project-add:hover {
    background: #f3f4f6;
    color: #6b7280;
}

.saasMenu .project-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.saasMenu .project-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 2px;
}

.saasMenu .project-item:hover {
    background: #f3f4f6;
}

.saasMenu .project-item.active {
    background: rgba(122, 77, 255, 0.08);
}

.saasMenu .project-info-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.saasMenu .project-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.saasMenu .project-dot.green {
    background: #10b981;
}

.saasMenu .project-dot.yellow {
    background: #f59e0b;
}

.saasMenu .project-dot.gray {
    background: #9ca3af;
}

.saasMenu .project-item-name {
    font-size: 0.9rem;
    font-weight: 500;
    color: #4b5563;
}

.saasMenu .project-item.active .project-item-name {
    color: #7a4dff;
    font-weight: 600;
}

.saasMenu .project-more {
    width: 24px;
    height: 24px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background 0.2s;
    color: #9ca3af;
    opacity: 0;
}

.saasMenu .project-item:hover .project-more {
    opacity: 1;
}

.saasMenu .project-more:hover {
    background: #e5e7eb;
}

/* 하단 카드 영역 */
.saasMenu .bottom-card {
    margin: 16px 12px 16px;
    padding: 20px;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-radius: 12px;
    text-align: center;
}

.saasMenu .card-icon {
    font-size: 32px;
    margin-bottom: 12px;
}

.saasMenu .card-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px;
}

.saasMenu .card-description {
    font-size: 0.8rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0 0 16px;
}

.saasMenu .card-button {
    width: 100%;
    padding: 10px;
    background: #fff;
    border: none;
    border-radius: 8px;
    color: #1a1a1a;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.saasMenu .card-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* 스크롤바 스타일 */
.saasMenu::-webkit-scrollbar {
    width: 6px;
}

.saasMenu::-webkit-scrollbar-track {
    background: transparent;
}

.saasMenu::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}

.saasMenu::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}
/* saas 메뉴 끝 *************/

/* saas 정보입력 시작 *************/
.sassUserInput,
.saasCashFlow,
.saasFinalGoals,
.saasLifeCycle,
.saasSimulation,
.saasHome,
.saasReportList,
.saasPayPage{
    margin-left: 280px;
    min-height: 100vh;
    background: #f9fafb;
    /*width: calc(100vw - 280px);*/
    width: auto;
}
.saasFinalGoals .questArea,
.sassUserInput .questArea ,
.saasLifeCycle .questArea,
.saasSimulation .questArea,
.saasHome .questArea,
.saasReportList .questArea,
.saasPayPage .pay-inner{
    background: #fff;
    padding: 2rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 헤더 */
.saasFinalGoals .defaultInput h2,
.sassUserInput .defaultInput h2 ,
.saasLifeCycle .defaultInput h2,
.saasSimulation .defaultInput h2,
.saasHome .questArea h2,
.saasReportList .questArea h2,
.saasPayPage .box strong{
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 40px;
    letter-spacing: -0.5px;
    padding-bottom: 24px;
    border-bottom: 2px solid #f3f4f6;
}

/* 섹션 */
.saasFinalGoals .form-section,
.sassUserInput .form-section ,
.saasLifeCycle .form-section{
    margin-bottom: 48px;
}

.saasFinalGoals .form-section:last-child,
.sassUserInput .form-section:last-child {
    margin-bottom: 0;
}
.sassUserInput .section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.3px;
}

/* 폼 행 */
.saasFinalGoals .form-row,
.sassUserInput .form-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 24px;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
    padding: 16px 0 36px;
}
.saasFinalGoals .form-row:last-child,
.sassUserInput .form-row:last-child {
    border-bottom: none;
}
.saasFinalGoals .form-label,
.sassUserInput .form-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #4b5563;
    letter-spacing: -0.2px;
}
.sassUserInput .form-value {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 입력 필드 */
.saasSimulation input[type=text],
.saasSimulation input[type=number],
.sassUserInput input[type="text"],
.sassUserInput input[type="number"],
.sassUserInput input[type="password"],
.sassUserInput input[type="email"],
.sassUserInput select {
    width: 100%;
    max-width: 400px;
    padding: 12px 16px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: 0.95rem;
    transition: all 0.2s;
    background-color: #f9fafb;
    color: #1a1a1a;
    box-sizing: border-box;
}

.saasSimulation input[type=text]:hover,
.saasSimulation input[type=number]:hover,
.sassUserInput input[type="text"]:hover,
.sassUserInput input[type="password"]:hover,
.sassUserInput input[type="number"]:hover,
.sassUserInput input[type="email"]:hover,
.sassUserInput select:hover {
    border-color: #d1d5db;
    background-color: #fff;
}

.saasSimulation input[type=text]:focus,
.saasSimulation input[type=number]:focus,
.sassUserInput input[type="text"]:focus,
.sassUserInput input[type="password"]:focus,
.sassUserInput input[type="number"]:focus,
.sassUserInput input[type="email"]:focus,
.sassUserInput select:focus {
    outline: none;
    border-color: #7a4dff;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(122, 77, 255, 0.08);
}

.saasSimulation input[type=text]::placeholder,
.saasSimulation input[type=number]::placeholder,
.saasFinalGoals input[type="text"]::placeholder,
.saasFinalGoals input[type="number"]::placeholder,
.sassUserInput input[type="text"]::placeholder,
.sassUserInput input[type="password"]::placeholder,
.sassUserInput input[type="email"]::placeholder,
.sassUserInput input[type="number"]::placeholder {
    color: #9ca3af;
}
.sassUserInput input[type="text"]:read-only,
.sassUserInput input[type="number"]:read-only {
    background-color: #f3f4f6;
    color: #6b7280;
    cursor: not-allowed;
}

.sassUserInput select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px;
    padding-right: 40px;
    appearance: none;
}

/* 금액 입력 */
.saasFinalGoals .amount-input,
.sassUserInput .amount-input {
    position: relative;
    max-width: 400px;
}
.sassUserInput .amount-input input {
    padding-right: 60px;
}

.sassUserInput .amount-input::after {
    content: '만원';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.9rem;
    font-weight: 600;
    color: #6b7280;
    pointer-events: none;
}

/* 나이 입력 */
.sassUserInput .age-input {
    position: relative;
    max-width: 400px;
}

.sassUserInput .age-input input {
    padding-right: 50px;
}

.sassUserInput .age-input::after {
    content: '세';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.9rem;
    font-weight: 600;
    color: #6b7280;
    pointer-events: none;
}

/* 라디오 그룹 */
.sassUserInput .radio-group,
.sassUserInput .checkbox-group{
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.sassUserInput .radio-group label ,
.sassUserInput .checkbox-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    background-color: #f9fafb;
    font-size: 0.9rem;
    font-weight: 500;
    color: #4b5563;
}
.sassUserInput .checkbox-group label:hover,
.sassUserInput .radio-group label:hover {
    border-color: #d1d5db;
    background-color: #fff;
}
.sassUserInput .checkbox-group input[type=checkbox],
.sassUserInput .radio-group input[type="radio"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #7a4dff;
    margin: 0;
}
.sassUserInput .checkbox-group input[type=checkbox] + *,
.sassUserInput .radio-group input[type="radio"]:checked + * {
    font-weight: 600;
}
.sassUserInput .checkbox-group label:has(input[type=checkbox]:checked),
.sassUserInput .radio-group label:has(input[type="radio"]:checked) {
    border-color: #7a4dff;
    background-color: rgba(122, 77, 255, 0.05);
    color: #7a4dff;
    box-shadow: 0 0 0 4px rgba(122, 77, 255, 0.08);
}
/* 사진 수정 */
.sassUserInput .defaultBox .img{
    width: 50%;
    min-width: 250px;
    max-width: 400px;
    font-size: 0.95rem;
    transition: all 0.2s;
    color: #1a1a1a;
    box-sizing: border-box;
    margin-bottom: 15px;
}
.sassUserInput .defaultBox .img img{
    padding : 12px 16px;
    border: 1.5px solid #e5e7eb;
    background-color: #f9fafb;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    min-height: 350px;
    max-height: 350px;
    object-fit: contain;
    margin-bottom: 10px;
    /*border-radius: 8px;*/
}
.sassUserInput .defaultBox .img + .infoImg p {
    font-size: .85rem;
    font-weight: 400;
    color: #666;
    line-height: 1.6;
}
.sassUserInput .defaultBox .img input[type="file"] {
    display: none;
}


.sassUserInput .defaultBox .img .custom-upload-btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #7a4dff;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s ease;
}

.sassUserInput .defaultBox .img .custom-upload-btn:hover {
    background-color: #6740da;
}
/* 주소 찾기 버튼 */
.sassUserInput .addr_btn {
    display: inline-flex;
    align-items: center;
    max-width: 100px;
    justify-content: center;
    padding: 10px 20px;
    background: #7a4dff;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.sassUserInput .addr_btn:hover {
    background: #6239d6;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(122, 77, 255, 0.3);
}

/* 자녀 섹션 */
.sassUserInput .childBox .section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-start;
}

.sassUserInput .add-button,
.sassUserInput .minus-button,
.saasFinalGoals .defaultInput button{
    padding: 8px 16px;
    background: #3982d6;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.sassUserInput .add-button:hover,
.saasFinalGoals .defaultInput button:first-of-type:hover{
    background: #3973d6;
    transform: translateY(-1px);
}

.sassUserInput .minus-button,
.saasFinalGoals .defaultInput button:last-of-type{
    background: #ef4444;
}

.sassUserInput .minus-button:hover,
.saasFinalGoals .defaultInput button:last-of-type:hover{
    background: #dc2626;
    transform: translateY(-1px);
}

.sassUserInput .child-count-info {
    font-size: 0.9rem;
    font-weight: 600;
    color: #7a4dff;
    background: rgba(122, 77, 255, 0.08);
    padding: 6px 14px;
    border-radius: 20px;
}

.sassUserInput .hidden {
    display: none;
}

.sassUserInput .hidden-row {
    display: none;
}

.sassUserInput .child_field {
    margin-top: 16px;
}
.sassUserInput .child-flex{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 저장 버튼 */
#saasPage #submit{
    width: 100%;
    max-width: 200px;
    padding: 16px;
    background: linear-gradient(135deg, #7a4dff 0%, #9b6dff 100%);
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 4px 12px rgba(122, 77, 255, 0.3);
    display: block;
    margin: 3rem auto;
    letter-spacing: -0.2px;
}

#saasPage #submit:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(122, 77, 255, 0.4);
    background: linear-gradient(135deg, #6239d6 0%, #8659e8 100%);
}

#saasPage #submit:active{
    transform: translateY(0);
}
/* saas 정보입력 끝 *************/

/* saas 현금흐름분석 시작 *************/


.saasCashFlow .questArea {
    background: #fff;
    padding: 2rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 헤더 */
.saasCashFlow .defaultInput h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 40px;
    letter-spacing: -0.5px;
    padding-bottom: 24px;
    border-bottom: 2px solid #f3f4f6;
}

/* 섹션 */
.saasCashFlow .form-section {
    margin-bottom: 48px;
}

.saasCashFlow .form-section:last-child {
    margin-bottom: 0;
}
.saasFinalGoals .section-title,
.saasCashFlow .section-title,
.saasLifeCycle .chartWrap strong{
    font-size: 1.15rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 24px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(122, 77, 255, 0.08) 0%, rgba(155, 109, 255, 0.05) 100%);
    border-left: 4px solid #7a4dff;
    border-radius: 8px;
    letter-spacing: -0.3px;
}

/* 테이블 스타일 */
.saasFinalGoals .income-table,
.saasCashFlow .income-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    border-radius: 12px;
    overflow: hidden;
}
.saasFinalGoals .income-table thead,
.saasCashFlow .income-table thead {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
}
.saasFinalGoals .income-table thead tr.bigTit th,
.saasCashFlow .income-table thead tr.bigTit th {
    padding: 16px 12px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #374151;
    text-align: center;
    border-bottom: 2px solid #d1d5db;
    letter-spacing: -0.2px;
}

.saasCashFlow .income-table tbody tr {
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.2s;
}

.saasCashFlow .income-table tbody tr:hover {
    background: #f9fafb;
}

.saasFinalGoals .income-table  tr.total,
.saasCashFlow .income-table tbody tr:last-child{
    border-bottom: 2px solid #d1d5db;
    background: rgba(122, 77, 255, 0.03);
}

.saasCashFlow .income-table td {
    padding: 12px;
    text-align: center;
}

/* 폼 행 (테이블 외부) */
.saasCashFlow .form-row {
    display: grid;
    grid-template-columns: 180px repeat(5, 1fr);
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    transition: background 0.2s;
}

.saasCashFlow .form-row:hover {
    background: #f9fafb;
}


.saasCashFlow .form-row.expensesTit .form-label {
    font-weight: 700;
    color: #7a4dff;
    font-size: 1rem;
}

.saasFinalGoals .form-label,
.saasCashFlow .form-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #4b5563;
    letter-spacing: -0.2px;
    text-align: left;
}

.saasCashFlow .income-table .form-label {
    text-align: left;
    padding-left: 16px;
}


/* 입력 필드 */
.saasFinalGoals input[type="text"],
.saasFinalGoals input[type="number"],
.saasCashFlow input[type="text"],
.saasCashFlow input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: 0.9rem;
    transition: all 0.2s;
    background-color: #f9fafb;
    color: #1a1a1a;
    box-sizing: border-box;
    text-align: right;
}

.saasFinalGoals input[type="text"]:hover.
.saasFinalGoals input[type="number"]:hover,
.saasCashFlow input[type="text"]:hover,
.saasCashFlow input[type="number"]:hover {
    border-color: #d1d5db;
    background-color: #fff;
}

.saasFinalGoals input[type="text"]:focus,
.saasFinalGoals input[type="number"]:focus,
.saasCashFlow input[type="text"]:focus,
.saasCashFlow input[type="number"]:focus {
    outline: none;
    border-color: #7a4dff;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(122, 77, 255, 0.08);
}

.saasCashFlow input[type="text"]::placeholder,
.saasCashFlow input[type="number"]::placeholder {
    color: #9ca3af;
}

.saasCashFlow input[type="text"]:read-only,
.saasCashFlow input[type="number"]:read-only {
    background-color: #f3f4f6;
    color: #6b7280;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

.saasCashFlow .hiddenInput {
    opacity: 0;
    pointer-events: none;
}

/* 금액 입력 */
.saasCashFlow .amount-input {
    position: relative;
    width: 100%;
}

.saasCashFlow .amount-input input {
    padding-right: 12px;
}

/* 적정비율 표시 */
.saasCashFlow .ratio {
    font-size: 0.85rem;
    font-weight: 600;
    color: #7a4dff;
    background: rgba(122, 77, 255, 0.08);
    padding: 8px 12px;
    border-radius: 6px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 평가 필드 */
.saasCashFlow .evaluation {
    font-weight: 700;
    text-align: center;
    padding: 8px 12px;
    border-radius: 6px;
}

.saasCashFlow input.evaluation {
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    text-align: center;
    color: #374151;
    font-weight: 700;
}

.saasCashFlow input.evaluation:focus {
    box-shadow: none;
}


/* saas 현금흐름분석 끝 *************/

/* saas 재무목표 설정값 시작 *************/
.saasFinalGoals .defaultInput{
    margin-bottom: 30px;
}
.saasFinalGoals .form-value{
    padding: 10px 5px;
}
.saasFinalGoals .amount-input input{
    text-align: left;
    font-size: .85rem;
}
.saasFinalGoals .total td{
    padding: 12px;
    text-align: center;
}
.saasFinalGoals .total #totalAmount{
    color: #7a4dff;
    font-weight: 700;
}
/* saas 재무목표 설정값 끝 *************/

/* saas 머니사이클 시작 *************/
.saasLifeCycle .content:not(:last-of-type) {
    margin-bottom: 100px;
}
.saasLifeCycle .chartWrap{
    height: 500px;
    position: relative;
    width: 100%;
}
.saasLifeCycle .cycleArea{
    margin-top: 40px;
    height: 400px;
    width: 100%;
}
.saasLifeCycle .cycleArea canvas{
    width: 100%;
    height: 100%;
}
.saasLifeCycle .labelBox{
    display: flex;;
    gap: 15px;
    align-items: center;
    justify-content: center;
    border: 1px solid #7a4dff;
    background-color: #fff;
    position: absolute;
    border-radius: 10px;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    flex-wrap: wrap;
    max-width: 350px;
    padding: .5rem;
}
.saasLifeCycle .labelBox li{
    font-size: .8rem;
    color: #666;
    position: relative;
    font-weight: 600;
    padding-left: 20px;
}
.saasLifeCycle .labelBox li:before{
    content: '';
    position: absolute;
    top: 50%; left: 0; transform: translateY(-50%);
    width: 5px;
    height: 10px;
    border-radius: 2px;
}
.saasLifeCycle .labelBox li.incomeUnUse:before {
    background-color: #ef4444;
}
.saasLifeCycle .labelBox li.incomeUse:before{
    background-color: #9b6dff;
}
.saasLifeCycle .labelBox li.needTotal:before{
    background-color: #4da9ff;
}
.saasLifeCycle .labelBox li.simulation:before{
    background-color: #ff4dd5;
}
/* saas 머니사이클 끝 *************/

/* saas 시뮬레이션 시작 *************/
.saasSimulation .income-gauge{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    flex-wrap: wrap;
}
.saasSimulation .inputWrap{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.saasSimulation .inputWrap label{
    font-size: .9rem;
    font-weight: 500;
    color :#666 ;
}
.saasSimulation .inputBox{
    display: flex;
    gap: 10px;
    align-items: center;
}
.saasSimulation .inputBox sup{
    font-size: .8rem;
    color: #b7b7b7;
    font-weight: 700;
    display: block;
    min-width: 50px;
}
/* saas 시뮬레이션 끝 *************/

/* saas 홈 시작 *************/
.saasHome .toolBox{
    display: flex;
    flex-wrap: wrap;
    min-height: 30vh;
    gap: 30px;
}
.saasHome .toolBox strong{
    font-size: .9rem;
    font-weight: 700;
    color: #666;
    margin-bottom: 10px;
    display: block;
}
.saasHome .toolBox .wrap{
    display: flex;
    align-items: center;
    gap: 10px;
}
.saasHome .toolBox .wrap button{
    min-width: 50px;
    height: 100%;
    display: inline-flex;
    align-items: center;
    max-width: 100px;
    justify-content: center;
    padding: .5rem;
    background: #7a4dff;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}
.saasHome .toolBox .wrap button:hover{
    transform: translateY(-2px);
}
.saasHome .toolBox .tabStyleArea{
    position: relative;
}
.saasHome .toolBox .tab-tit{
    display: block;
    cursor: pointer;
    min-width: 160px;
    position: relative;
}
.saasHome .toolBox .tab-tit:after{
    content: '>'; transform: rotate(90deg) translateY(-50%); position: absolute; right: 20px;
}
.saasHome .toolBox .tab-tit.on{
    border-radius: 12px 12px 0 0;
}
.saasHome .toolBox .tab-tit.on:after{
    transform: rotate(-90deg) translateY(-50%); right: 0;
}
.saasHome .toolBox .tab-con{
    height: 0;
    transition: all .4s ease-in-out;
    background-color: #f9fafb;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1.5px solid #e5e7eb;
    border-radius: 0 0 12px 12px;
    opacity: 0;
    visibility: hidden;
}
.saasHome .toolBox .tab-con.on{
    opacity: 1;
    visibility: visible;
    height: 100px;
    padding: 14px 16px;
}
.saasHome .toolBox .tab-con li a{
    font-size: .9rem;
    font-weight: 500;
    color: #333;
    display: block;
}
.saasHome .toolBox .tab-con li a:hover{
    font-weight: 700;
}
/* saas 홈 끝 *************/

/* saas 리포트 리스트 시작 *************/

.saasReportList .header-actions {
    display: flex;
    gap: 15px;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
}

/* 검색 영역 */
.saasReportList .search-box {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.saasReportList .search-box input {
    width: 100%;
    padding: 10px 16px 10px 40px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: 0.9rem;
    transition: all 0.2s;
    background-color: #fff;
}

.saasReportList .search-box input:focus {
    outline: none;
    border-color: #7a4dff;
    box-shadow: 0 0 0 3px rgba(122, 77, 255, 0.08);
}

.saasReportList .search-box::before {
    content: '🔍';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
}

.saasReportList .search-btn{
    padding: 10px;
    background: linear-gradient(135deg, #ddd 0%, #eee 100%);
    color: #666;
    min-width: 50px;
    border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    box-shadow: 0 6px 16px rgba(140, 140, 140, 0.2);
}
.saasReportList .search-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(140, 140, 140, 0.4);
}
/* 추가 버튼 */
.saasReportList .add-btn {
    padding: 10px 20px;
    background: linear-gradient(135deg, #7a4dff 0%, #9b6dff 100%);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(122, 77, 255, 0.3);
}

.saasReportList .add-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(122, 77, 255, 0.4);
}

.saasReportList .add-btn::before {
    content: '+';
    font-size: 18px;
    font-weight: 700;
}

/* 테이블 컨테이너 */
.saasReportList p.tableInfo {
    font-size: .9rem;
    font-weight: 400;
    color: #7a4dff;
    margin-bottom: 15px;
}
.saasReportList p.tableInfo .tit{
    font-weight: 700;
    color: #666;
}
.saasReportList .table-container {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    overflow: hidden;
}

/* 테이블 */
.saasReportList table {
    width: 100%;
    border-collapse: collapse;
}

.saasReportList thead {
    background: #f9fafb;
    border-bottom: 2px solid #e5e7eb;
}

.saasReportList thead th {
    padding: 12px 10px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.2;
    vertical-align: middle;
}

.saasReportList thead tr:first-of-type th:first-child {
    width: 5%;
    text-align: center;
}

.saasReportList thead tr:nth-of-type(1) th:nth-child(2) {
    width: 8%;
}

.saasReportList thead tr:nth-of-type(1) th:nth-child(3) {
    width: 15%
}

.saasReportList thead tr:nth-of-type(1) th:nth-child(4) {
    width: 15% !important;
}

.saasReportList thead tr:nth-of-type(1) th:nth-child(5) {
    width: 15% !important;
}
.saasReportList thead tr:nth-of-type(1) th:nth-child(6){
    width: 15% !important;
}
.saasReportList thead tr:nth-of-type(2) th{
    width: auto !important;
}

/* 테이블 본문 */
.saasReportList tbody tr {
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.2s;
}

.saasReportList tbody tr:hover {
    background: #f9fafb;
}

.saasReportList tbody td {
    padding: 20px;
    font-size: .9rem;
    text-align: center;
    vertical-align: middle;
}

.saasReportList tbody td:first-child {
    text-align: center;
}

/* 체크박스 */
.saasReportList input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #7a4dff;
    border-radius: 4px;
    border: 1px solid #ddd;
}

/* 사용자 정보 */
.saasReportList .user-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.saasReportList .user-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: -0.2px;
}

.saasReportList .user-phone {
    font-size: 0.85rem;
    color: #6b7280;
}

/* 사용자 상세 */
.saasReportList .user-detail {
    font-size: 0.9rem;
    color: #4b5563;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.saasReportList .user-detail span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.saasReportList .user-detail span::before {
    content: '';
    width: 3px;
    height: 3px;
    background: #d1d5db;
    border-radius: 50%;
}

.saasReportList .user-detail span:first-child::before {
    display: none;
}

/* 완성도 표시 */
.saasReportList .completion-status {
    text-align: center;
    cursor: pointer;
}
.saasReportList .completion-status:hover{
    background-color: #f2f5f6;
}

.saasReportList .completion-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.saasReportList .completion-percent {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a1a;
}

.saasReportList .completion-percent.complete {
    color: #10b981;
}

.saasReportList .completion-percent.incomplete {
    color: #f59e0b;
}

.saasReportList .completion-percent.warning {
    color: #ef4444;
}

.saasReportList .progress-bar {
    width: 100%;
    max-width: 120px;
    height: 6px;
    background: #e5e7eb;
    border-radius: 3px;
    overflow: hidden;
}

.saasReportList .progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #7a4dff 0%, #9b6dff 100%);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.saasReportList .progress-fill.complete {
    background: linear-gradient(90deg, #10b981 0%, #34d399 100%);
}

.saasReportList .progress-fill.incomplete {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
}

.saasReportList .progress-fill.warning {
    background: linear-gradient(90deg, #ef4444 0%, #f87171 100%);
}

.saasReportList .completion-detail {
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 4px;
}

/* 관리 버튼 */
.saasReportList .action-buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.saasReportList .btn-print,
.saasReportList .btn-edit ,
.saasReportList .btn-report{
    padding: 8px 16px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
    color: #4b5563;
}

.saasReportList .btn-print i,
.saasReportList .btn-report i{
    font-size: 16px;
    font-weight: 700;
}
.saasReportList .btn-print.active{
    background: #fff;
    border-color: #7a4dff;
}
.saasReportList .btn-print.active i{
    color : #7a4dff;
}

.saasReportList .btn-print.active:hover {
    border-color: #6239d6;
    background: linear-gradient(135deg, #6239d6 0%, #8659e8 100%);
    box-shadow: 0 4px 12px rgba(122, 77, 255, 0.3);
}
.saasReportList .btn-print.active:hover i{
    color: #fff;
}

.saasReportList .btn-print.npti{
    border: 1px solid #0089f7;
}
.saasReportList .btn-print.npti i{
    color: #0089f7;
}

.saasReportList .btn-print.npti:active,
.saasReportList .btn-print.npti:hover{
    background: linear-gradient(135deg, #0089f7 0%, #58b5ff 100%);
    border-color: #0089f7;
    box-shadow: 0 4px 12px rgba(0, 137, 247, 0.3);
}

.saasReportList .btn-print.msig{
    border: 1px solid #f28f1a;
}
.saasReportList .btn-print.msig i{
    color: #f28f1a;
}

.saasReportList .btn-print.msig:active,
.saasReportList .btn-print.msig:hover{
    background: linear-gradient(135deg, #f28f1a 0%, #ffbc6c 100%);
    border-color: #f28f1a;
    box-shadow: 0 4px 12px rgba(242, 143, 26, 0.4);
}

.saasReportList .btn-print.npti:active i,
.saasReportList .btn-print.npti:hover i,
.saasReportList .btn-print.msig:active i,
.saasReportList .btn-print.msig:hover i{
    color: #fff;
}

.saasReportList .btn-print.noResult {
    background: #f3f4f6;
    border-color: #e5e7eb;
    cursor: not-allowed;
    opacity: 0.6;
}
.saasReportList .btn-print.noResult i{
    color: #666;
}

.saasReportList .btn-print.disabled {
    background: #f3f4f6;
    color: #666;
    border-color: #e5e7eb;
    /*cursor: not-allowed;*/
    opacity: 0.6;
}
.saasReportList .btn-print.disabled:before{
    content: '⚠️ ';
    font-size: 14px;
}
.saasReportList .btn-print.noResult:hover{
    background: #f3f4f6;
    border-color: #e5e7eb;
    box-shadow: unset;
    transform: none;
}
.saasReportList .btn-print.noResult:hover i{
    color: #9ca3af;
}
.saasReportList .btn-print.disabled:hover {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #9ca3af;
    transform: none;
}

/* 푸터 */
.saasReportList .table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: #fff;
    border-top: 1px solid #e5e7eb;
}

.saasReportList .table-info {
    font-size: 0.9rem;
    color: #6b7280;
}

.saasReportList .pagination {
    display: flex;
    gap: 8px;
    align-items: center;
}

.saasReportList .pagination button {
    padding: 8px 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    color: #4b5563;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.saasReportList .pagination button:hover:not(:disabled) {
    border-color: #7a4dff;
    color: #7a4dff;
    background: rgba(122, 77, 255, 0.05);
}

.saasReportList .pagination button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.saasReportList .pagination .page-info {
    padding: 0 12px;
    font-size: 0.9rem;
    color: #4b5563;
    font-weight: 600;
}

@media (max-width: 640px) {
    .saasReportList {
        padding: 16px;
    }

    .saasReportList .list-header {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }

    .saasReportList .header-actions {
        width: 100%;
        flex-direction: column;
    }

    .saasReportList .search-box {
        width: 100%;
    }

    .saasReportList .add-btn {
        width: 100%;
        justify-content: center;
    }
}

/* saas 리포트 리스트 끝 *************/

/* saas 프린트 시작 *************/
/*고정 부분~~~~~~*/

.saasPrintResult{
    width: 90%;
    margin: 0 auto;
    max-width: 210mm;
}

div[class^=paper]{
    /*min-height: 297mm;*/
}
.saasPrintResult div[class^=paper]:not(.paper0):not(.last) .paper-inner{
    width: 90%;
    margin : .5mm auto;
}
.saasPrintResult .header{
    position: relative;
    padding-top: 20px;
    margin-bottom: 25px;
}
.saasPrintResult .header p + span {
    font-size: 9pt; line-height: 1.5; color: #666; display: block; margin-top: 10px;
}
.saasPrintResult .header p + span b{
    font-weight: 800;
}
.saasPrintResult .header:before{
    position: absolute; top: -.5mm; left: 10%;
    width: 100mm; height: 10px;
    background-color: #7a4dff; content: '';
}
.saasPrintResult .header strong{
    color: #7a4dff;
    font-weight: 800;
    font-size: 18pt;
    display: inline-block;
    margin-right: 10px;
    font-family: 'NanumSquare Neo variable' ,'Apple SD Gothic Neo', 'Gulim', sans-serif !important;
}
.saasPrintResult .header p{
    display: inline-block;
    font-size: 14pt;
    font-weight: 700;
    color: #000;
}
.saasPrintResult table{
    width: 100%;
}
.saasPrintResult .small{
    font-size: 8pt;
}
.saasPrintResult td.th{
    font-weight: 700;
}
/*고정 부분~~~~~~*/

.saasPrintResult .paper0{
    position: relative;
}
.saasPrintResult .paper0 img,
.saasPrintResult .last img{
    width: 100%;
    height: 100%;
}
.saasPrintResult .customerInfo{
    position: absolute;
    left: 40px;
    top: 35%;
}
.saasPrintResult .paper0 dl{
    font-size: 12pt;
    display: flex;
    gap: 15px;
    color: #7a4dff;
}
.saasPrintResult .paper0 dl:not(:last-of-type){
    margin-bottom: 20px;
}
.saasPrintResult .paper0 dt{
    font-weight: 600;
    min-width: 50px;
}
.saasPrintResult .paper0 dd{
    font-weight: 500;
}

/*표지 끝 ~~~~~~*/
.saasPrintResult .paper1 table{
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 5px;
}
.saasPrintResult .paper1 table:not(:last-of-type) {
    margin-bottom: 30px;
}
.saasPrintResult .paper1 table caption{
    text-align: left;
    margin-bottom: 10px;
    font-size: 9pt;
    color: #666;
    font-weight: 800;
}
.saasPrintResult .paper1 table th{
    padding: 8px;
    font-size: 10pt;
    background-color: rgba(122, 77, 255, 0.05);
    font-weight: 700;
}
.saasPrintResult .paper1 table td{
    background-color: #fff;
    font-size: 9pt;
    font-weight: 400;
    text-align: center;
    padding: 8px;
}
.saasPrintResult .paper1 table td.th{
    background-color: rgba(122, 77, 255, 0.05);
    font-weight: 700;
}
/* 정보요약 끝 ~~~~~~*/

.saasPrintResult .paper10 th,
.saasPrintResult .paper10 td,
.saasPrintResult .paper9 th,
.saasPrintResult .paper9 td,
.saasPrintResult .paper4 th,
.saasPrintResult .paper4 td,
.saasPrintResult .paper3 th,
.saasPrintResult .paper3 td,
.saasPrintResult .paper2 th,
.saasPrintResult .paper2 td {
    border: 1px solid #d1d5db;
    padding: 7px 12px;
    font-size: 9pt;
    text-align: center;
    vertical-align: middle;
}
.saasPrintResult .paper2 td{
    padding: 5px 10px !important;
}

.saasPrintResult .paper10 th,
.saasPrintResult .paper9 th,
.saasPrintResult .paper4 th,
.saasPrintResult .paper3 th,
.saasPrintResult .paper2 th {
    background: #f3f4f6;
    font-weight: 700;
    color: #374151;
}
.saasPrintResult .paper4 table .sub-header,
.saasPrintResult .paper3 table .sub-header,
.saasPrintResult .paper2 table .sub-header{
    background-color: #f3f4f6;
    text-align: left;
    font-weight: 800;
}
.saasPrintResult .paper4 .indent-1,
.saasPrintResult .paper3 .indent-1,
.saasPrintResult .paper2 .indent-1{
    font-weight: 700;
}
.saasPrintResult .paper4 .indent-2,
.saasPrintResult .paper3 .indent-2,
.saasPrintResult .paper2 .indent-2 {
    text-align: left;
}
.saasPrintResult .paper4 .highlight-yellow,
.saasPrintResult .paper3 .highlight-yellow,
.saasPrintResult .paper2 .highlight-yellow {
    background: rgba(122, 77, 255, 0.05);
    font-weight: 700;
}
.saasPrintResult .paper4 .total-row,
.saasPrintResult .paper3 .total-row,
.saasPrintResult .paper2 .total-row {
    background: #fef3c7;
    font-weight: 700;
}
.saasPrintResult .paper4 .note,
.saasPrintResult .paper3 .note,
.saasPrintResult .paper2 .note {
    color: #6b7280;
    font-size: 9pt;
    font-weight: 600;
    text-align: center;
}
.saasPrintResult .paper4 .number,
.saasPrintResult .paper3 .number,
.saasPrintResult .paper2 .number {
    text-align: right;
    font-family: 'Arial', sans-serif;
}


.saasPrintResult .paper3 th,
.saasPrintResult .paper3 td{
    padding: 5px 10px;
}
/*3 4 페이지 끝 ~~~~~~~*/
.saasPrintResult .paper5 .content,
.saasPrintResult .paper6 .content{
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.saasPrintResult .chartWrap,
.saasPrintResult .chartBox{
    height: 300px;
    position: relative;
    width: 100%;
}
.saasPrintResult .cycleArea{
    margin-top: 30px;
    height: 300px;
    width: 100%;
}
.saasPrintResult .chartWrap strong{
    font-size: 10pt;
    text-align: center;
    font-weight: 700;
    color: #666;
}
.saasPrintResult .chartWrap canvas,
.saasPrintResult .chartBox canvas{
    width: 100%;
    height: 100%;
}

.saasPrintResult .paper6 .chartWrap:last-of-type .labelBox{
    bottom: -90px;
}
.saasPrintResult .labelBox{
    display: flex;;
    gap: 15px;
    align-items: center;
    justify-content: center;
    border: 1px solid #7a4dff;
    background-color: #fff;
    position: absolute;
    border-radius: 10px;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    flex-wrap: wrap;
    max-width: 350px;
    padding: .5rem;
}
.saasPrintResult .labelBox li{
    font-size: .8rem;
    color: #666;
    position: relative;
    font-weight: 600;
    padding-left: 20px;
}
.saasPrintResult .labelBox li:before{
    content: '';
    position: absolute;
    top: 50%; left: 0; transform: translateY(-50%);
    width: 5px;
    height: 10px;
    border-radius: 2px;
}
.saasPrintResult .labelBox li.incomeUnUse:before {
    background-color: #ef4444;
}
.saasPrintResult .labelBox li.incomeUse:before{
    background-color: #9b6dff;
}
.saasPrintResult .labelBox li.needTotal:before{
    background-color: #4da9ff;
}
.saasPrintResult .labelBox li.simulation:before{
    background-color: #ff4dd5;
}
/* 8 페이지 끝 ~~~~~~~*/
.saasPrintResult .paper8 h3{
    font-size: 10pt;
    font-weight: 800;
    color: #666;
    margin-bottom: 15px;
}
.saasPrintResult .paper8 .content{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.saasPrintResult .paper8 .contain1{
    display: flex;
    align-items: center;
    gap: 10px;
}
.saasPrintResult .paper8 .contain1 .left{
    width: 75%;
}
.saasPrintResult .paper8 .contain1 .left ul:first-of-type{
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

.saasPrintResult .paper8 .contain1 .right{
    width: 22%;
}
.saasPrintResult .paper8 .contain2 ul{
    display: grid;
    grid-template-columns: repeat(3,1fr);
}
.saasPrintResult .paper8 ul li{
    padding: 1.5rem 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.saasPrintResult .paper8 .contain2 ul li:not(:nth-of-type(3n)){
    border-right: 1px solid #eee;
}
.saasPrintResult .paper8 .contain1 .left ul li:nth-child(-n+2){
    border-bottom: 1px solid #eee;
}
.saasPrintResult .paper8 .contain1 .left ul li:nth-child(2n){
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
}
.saasPrintResult .paper8 li strong{
    font-size: 10pt;
    font-weight: 700;
    color: #666;
    position: relative;
    padding-bottom: 10px;
}
.saasPrintResult .paper8 .content strong:before{
    content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 10px; height: 1px ;background-color: #666;
}
.saasPrintResult .paper8 .moneyBox{
    display: flex;
    gap: 5px;
    align-items: flex-end;
    justify-content: center;
}

.saasPrintResult .paper8 .moneyBox .manWon{
    font-size: 9pt;
    font-weight: 500;
    color: #666;
}
.saasPrintResult .paper8 h5{
    font-size: 18pt;
    color: #000;
    font-weight: 800;
}
.saasPrintResult .paper8 .percent span{
    color: #7a4dff;
    font-size: 10pt;
    font-weight: 700;
}
.saasPrintResult .paper8 .level{
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 8pt;
    background-color: rgba(122, 77, 255, 0.2);
    color: #7a4dff;
    display: inline-block;
    max-width: 150px;
    margin: 0 auto;
    font-weight: 600;
}
.saasPrintResult .paper8 .contain2 li{
    position: relative;
}
.saasPrintResult .paper8 .contain2 li:before{
    width: 12px; height: 12px; border-radius: 50%; font-size: 34px;
    position: absolute; top: 50%; right: -22px; transform: translateY(-50%);
    color: #fff; font-weight: 800; background-color: #7a4dff; padding: 15px;
    display: flex; justify-content: center; align-items: center;
}
.saasPrintResult .paper8 .contain2 li:first-of-type:before{
    content: '-';
}
.saasPrintResult .paper8 .contain2 li:nth-of-type(2):before{
    content: '='; font-size: 26px;
}
/* paper 9 시작~~~~~~*/
.saasPrintResult .paper9 p.cc{
    font-size: 9pt;
    text-align: center;
    margin-bottom: 10px;
    font-weight: 800;
    color: #666;
}
.saasPrintResult .paper9 table{
    margin: 50px 0 30px;
}
.saasPrintResult .paper9 table td:nth-last-of-type(2) {
    background-color: rgba(122, 77, 255, 0.05);
}
.saasPrintResult .paper9 p.total{
    font-size: 9pt;
    font-weight: 500;
    color: #000;
}
.saasPrintResult .paper9 p.total .point{
    font-weight: 800;
    font-size: 10pt;
    color: #7a4dff;
}
/* saas 프린트 끝 *************/


/* saas 쿠폰 구매 시작 *************/
.saasPayPage .sub{
    font-size: .895rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #666;
}
.saasPayPage .payWrap {
    display: flex;
    gap: 20px;
    align-items: center;
}
.saasPayPage .payWrap:first-of-type{
    margin-bottom: 30px;
}
.saasPayPage .payBox {
    display: flex;
    align-items: center;
}
.saasPayPage input[type=radio] {
    width: 20px; height: 20px; margin: 0 5px 0 0;

}
.saasPayPage input[type=radio]:checked {
    accent-color: #5d688a;
}
.saasPayPage input[type=radio] +label{
    padding-top: 2px;
}
.saasPayPage li {
    font-size: 1rem;
    color: #666;
    font-weight: 500;
    line-height: 1.8;
}
.saasPayPage li .small{
    font-size: .9rem;
    font-weight: 400;
}
.saasPayPage .box:first-of-type{
    margin-bottom: 50px;
}
.saasPayPage #payCountBox{
    border: 2px solid rgba(93, 104, 138, 0.3);
    color: #333;
    border-radius: 5px;
    padding: .5rem 1rem;
    font-size: .95rem;
    font-weight: 500;
}
.saasPayPage .box:last-of-type .tit{
    font-size: 1.05rem;
    font-weight: 700;
    min-width: 100px;
    margin-right: 10px;
    display: inline-block;
    margin-bottom: 5px;
}
.saasPayPage .box:last-of-type label{
    color: #333;
}
.saasPayPage .box:last-of-type li:first-of-type {
    margin-bottom: 15px;
}
.saasPayPage .submitPay{
    max-width: 120px;
    padding: .8rem 1.5rem;
    border: 1px solid transparent;
    background-color: #f1f1f1;
    font-weight: 600;
    color: #666;
    border-radius: 5px;
    margin: 30px 0;
    font-size: .95rem;
}
.saasPayPage .box:last-of-type button:hover,
.saasPayPage .box:last-of-type button:active{
    opacity: .7;
}
/* saas 쿠폰 구매 끝 *************/












/* 태블릿 시작-------------------------------------------------------------------------*/
@media all and (max-width: 1023px){
    /*msig -**************************/
    #consultPage.page1,
    #msigTest .test-inner{
        width: 90%;
        max-width: unset;
        padding-top: 100px;
    }
    #consultPage.page1 .bottom form{
        width: 70%
    }
    #msigTest dd{
        width: 100%;
    }
    #msigTest .top{
        width: 100%;
        margin: 0 auto 40px;
    }

/*     npti-----------------------------------*/
    #nptiResult #calcPage .bottom table td.th,
    #nptiResult #calcPage .bottom table th{
        font-size: .9rem;
    }
    #nptiResult{
        width: 90%;
        max-width: unset;
    }
    #nptiResult #calcPage .bottom .chartParent{
        width: 600px;
        height: 600px;
        margin: 0 auto 10px;
        padding-bottom: 10px;
    }
    #nptiResult .bottom .brainContain{
        grid-template-columns: unset!important;
        grid-template-rows: repeat(2,1fr);
        gap: unset;
        justify-content: center;
    }
    #nptiResult #calcPage .bottom .textHere{
        grid-template-columns: repeat(1,1fr);
    }
    #nptiResult #calcPage .bottom .textHere ul li{
        font-size: .88rem;
    }
/*    머니유형 사용자 -----------------------*/
    #moneyResult .contentBox.box8 .chartWrap canvas{
        width: 100%;
    }


/*    assa 시작 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    .sassUserInput, .saasCashFlow, .saasFinalGoals, .saasLifeCycle, .saasSimulation, .saasHome, .saasReportList{
        margin-left: 0;
    }
    .saasCashFlow .questArea,.saasFinalGoals .questArea, .sassUserInput .questArea, .saasLifeCycle .questArea, .saasSimulation .questArea, .saasHome .questArea, .saasReportList .questArea{
        padding: 5rem 3%;
    }

    .saasMenu{
        width: 30%;
        transition: all .3s ease-in-out;
        transform: translateX(-100%);
        visibility: hidden;
        opacity: 0;
    }
    .saasMenu.on{
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    }
    .saasMenu .menu-header{
        padding: 20px 12px;
    }
    .saasMenu .saasMenu-inner{
        width: 100%;
    }
    .saasMenu.on +#menuFold{
        left: 30%;
    }
    .saasMenu +#menuFold i.bi-chevron-left,
    .saasMenu.on +#menuFold i.bi-list{
        display: none;
    }
    .saasMenu.on +#menuFold i.bi-chevron-left{
        display: block;
    }
    #menuFold{
        display: block;
    }
    .saasMenu .form-row button{
        font-size: 0.8rem;
    }
    .saasReportList tbody td{
        padding: 10px;
    }

}
/* 태블릿 끝 --------------------------------------------------------------------------*/








/* 모바일 시작-------------------------------------------------------------------------*/
@media all and (max-width: 768px) {

    #intTestWrap {
        padding: 50px 0;
    }

    #intTestWrap .defaultInput dt {
        font-size: 18px;
        line-height: 28px;
    }

    #intTestWrap .defaultInput dd {
        flex-direction: column;
        align-items: flex-start;
    }

    #intTestWrap .jobHeight {
        height: auto;
    }

    #intTestWrap table th,
    #intTestWrap table td {
        font-size: 12px;
    }

    #intTestWrap table th:first-of-type {
        width: 17%;
    }

    #intTestWrap table th:last-of-type {
        width: 40%;
    }
    #intTestWrap table tr:not(:first-of-type) td:first-of-type:not(.point){
        width: 30%;
    }
    #intTestWrap .financeInput input[type=number],
    #intTestWrap .incomeInput input[type=number] {
        width: 100%;
        font-size: 14px;
    }

    #intTestWrap .caution{
        background: rgba(241, 95, 121, 0.2);
        padding: 1rem;
        border-radius: 10px;
        margin-bottom: 20px;
        font-size: 14px;
    }
    #intTestWrap .caution >strong{
        font-weight: 400;
    }
    #intTestWrap .caution p{
        line-height: 1.8;
    }
    #intTestWrap .caution p strong{
        font-weight: 800;
    }
    /*msig------------------------------------------------------*/
    #consultPage.page1 {
        width: 90%;
        margin: 0 auto;
        padding-top: 20px;
    }

    #consultPage.page1 .bottom form {
        width: 100%;
        margin: 20px auto;
    }

    #consultPage.page1 .bottom input#money {
        width: 60%;
    }

    .personal-box li input+label {
        font-size: 14px;
    }

    #consultPage.page1 div.btn {
        width: 40%;
    }

    #msigTest .test-inner {
        width: 90%;
        max-width: unset;
        margin: 0 auto 100px;
    }

    #msigTest .top {
        font-size: 16px;
        width: 100%;
    }

    #msigTest dd {
        width: 100%;
    }


    #cunsultPage.page3 {
        width: 90%;
        margin: 0 auto;
    }


    #cunsultPage.page3 .top {
        margin: 0 0 40px !important;
    }

    #cunsultPage.page3 .top,
    #cunsultPage.page3 .bottom {
        flex-direction: column;
    }

    #cunsultPage.page3 .bottom {
        gap: 50px;
        display: flex;

    }

    #cunsultPage.page3 .top .tit {
        font-size: 14px;
    }

    #cunsultPage.page3 .top .txt span.wgsUp b:first-of-type {
        margin-top: 10px;
    }

    #cunsultPage.page3 .top .saveMoney {
        padding: 20px 10px !important;
    }

    #cunsultPage.page3 .top .txt,
    #cunsultPage.page3 .top .saveMoney {
        margin-top: 0 !important;
        width: 100% !important;
    }

    #cunsultPage.page3 .bottom .info2,
    #cunsultPage.page3 .bottom .info3,
    #cunsultPage.page3 .bottom .info4 {
        margin: 0;
    }

    #cunsultPage.page3 .bottom .info1 {
        position: relative
    }

    #cunsultPage.page3 .bottom .info1 .graph-list {
        padding: unset;
    }

    #cunsultPage.page3 .bottom .info1 .tit {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 100;
        margin: 0;
    }

    #cunsultPage.page3 .bottom .info1 .tit span {
        position: unset;
    }

    #cunsultPage.page3 .saveBtn {
        margin: 50px auto;
    }

    #cunsultPage.page3 .bottom .info3 button span {
        font-size: 12px;
    }

    #cunsultPage.page3 .bottom .info3 button span b {
        font-size: 10px;
    }

    #cunsultPage.page3 .bottom .info4 .graph-box {
        margin: 15px auto 30px;
    }

    #cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button {
        width: 25%;
        margin: 0;
    }

    #cunsultPage.page3 .bottom .info3 .resultbox .btn-rank button .img {
        width: 100%;
    }

    /* dreamTripResult---------------------------------*/
    #finPlanningPage3 .dreamTripResult button {
        min-width: unset;
        max-width: unset;
    }

    #finPlanningPage3 .dreamTripResult .contentBox.flexStyle:first-of-type,
    #finPlanningPage3 .dreamTripResult .contentBox.promise {
        justify-content: space-between;
    }

    /* dreamTripResult---------------------------------*/
    /*재무설계------------------------------------------------*/
    #finPlanningResult + div.btnBox button,
    #finPlanning2Result + div.btnBox button,
    .intResult .btnBox button,
    #finPlanningPage3 .dreamTripResult .btnBox > * {
        width: 250px !important;
    }

    /*재무 건전성------------------------------------------------*/
    .intResult .integrityArea.first {
        margin-top: 20px;
    }
    .inputResult table tr td:last-of-type:not(.point),
    .integrityArea table tr.total td input,
    .integrityArea .totalMoney input{
        font-size: 12px;
    }
    #moneyPrint> div[class^=paper]:not(:first-of-type), #moneyPrint .paper8 .contentWrap{
        /*margin-top: 450px!important;*/
    }
    /*    npti-----------------------------------------------------*/
    #nptiResult #calcPage .bottom .chartParent {
        width: 280px;
        height: 280px;
        margin: 0 auto;
    }

    #nptiResult .bottom .brainContain > div {
        min-width: 270px;
        max-width: 270px;
    }

    #nptiResult .bottom .brainContain div.rich p, #nptiResult .bottom .brainContain div.me p {
        font-size: .9rem;
        bottom: 13px;
    }

    #nptiResult .bottom .brainContain div.me > div {
        height: 50px;
        width: 50px;
    }


    #nptiResult .bottom .brainContain div.me > div img:first-of-type {
        width: 10px;;
        height: 10px;
    }

    #nptiResult .bottom .brainContain div.me > div img:nth-of-type(2) {
        width: 15px;;
        height: 15px;
    }

    #nptiResult .bottom .brainContain div.me > div img:nth-of-type(3) {
        width: 20px;;
        height: 20px;
    }

    #nptiResult .bottom .brainContain div.me > div img:nth-of-type(4) {
        width: 30px;;
        height: 30px;
    }

    #nptiResult .bottom .brainContain div.me > div img:nth-of-type(5) {
        width: 40px;;
        height: 40px;
    }

    #nptiResult .bottom .brainContain div.me > div img:last-of-type {
        width: 50px;;
        height: 50px;
    }

    #nptiResult .bottom .brainContain div.me .plus {
        top: 78px;
        left: 81px;
    }

    #nptiResult .bottom .brainContain div.me .minus {
        top: 78px;
        left: 150px;
    }

    #nptiResult .bottom .brainContain div.me .multi {
        top: 137px;
        left: 81px;
    }

    #nptiResult .bottom .brainContain div.me .div {
        left: 150px;
        top: 137px;
    }

    #nptiResult + div.btnBox button {
        width: 80%;
    }

    .blind{display: none}
    #container .npticheck .checklist{
        width: 90%; margin: 0 auto;
    }
    #container .npticheck .answer{
        flex-direction: column; gap: 20px;
    }
    #container .npticheck .answer li:not(:last-of-type){
        border-color: #b7b7b7;
    }
    #container .npticheck div[id^=queTxt]{
        text-align: center;
    }
    #container .npticheck div[id^=queTxt]:before{
        bottom: 0;
    }


    /*    사용자 결과 리포트 방법 어쩌고 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~₩*/
    .wrapper.wwwwSet {
        grid-template-columns: repeat(1, 1fr);
    }

    .wwwwhy strong.t {
        font-size: 1rem;
        font-weight: 800;
    }

    .wwwwhy h4, .wwwwhy p {
        font-size: 1rem;
    }

    .wwwwhy .btnWrap {
        justify-content: center !important;
    }

    .wwwwhy .btnWrap br {
        display: block;
    }

    .boxContain div[class$=Box] strong.t {
        font-size: 1rem;
        font-weight: 800;
    }

    #moneyResult .contentBox.box8 .chartWrap{
        overflow-x: auto; width: 100%; height: 500px;
        padding-bottom: 20px;
    }
    #moneyResult .contentBox.box8 .chartWrap canvas{
        min-height: 350px;
        /*height: auto!important;*/
    }
/*    머니유형  -----------------------------------------------------*/
    .smsSurvey{
        padding-top: 80px;
    }


/*    finx  form -------------------------------------------------*/
    #consultPage.page1.unUser #chk5{
        gap: 15px;
    }
    #consultPage.page1 #personal-chk {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

/*    saas 시작 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    .sassUserInput, .saasCashFlow, .saasFinalGoals, .saasLifeCycle, .saasSimulation, .saasHome, .saasReportList{
        margin-left: 0;
    }
    .saasMenu{
        width: 78%;
    }
    .saasMenu.on{
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    }
    .saasMenu.on +#menuFold {
        left: 78%;
        border-left: 1px solid transparent;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    }
    .saasCashFlow .questArea, .saasFinalGoals .questArea, .sassUserInput .questArea, .saasLifeCycle .questArea, .saasSimulation .questArea, .saasHome .questArea, .saasReportList .questArea{
        padding: 5rem 5%;
    }
    .saasFinalGoals .form-row, .sassUserInput .form-row{
        grid-template-columns: 100px 1fr;
    }
    .saasSimulation input[type=text], .saasSimulation input[type=number], .sassUserInput input[type="text"], .sassUserInput input[type="number"], .sassUserInput select{
        padding: 10px;
    }
    .sassUserInput .addr_btn{
        max-width: 120px;
        padding: 10px 12px;
        font-size: .8rem;
    }
    .saasLifeCycle .cycleArea{
        overflow-x: auto;
    }
    .saasLifeCycle .cycleArea canvas{
        width: 800px !important;
        display: block;
        max-width: 100%;
        height: auto !important;
    }
    .saasFinalGoals .form-section,
    .saasCashFlow .form-section,
    .saasReportList .table-container{
        width: 100%;
        overflow-x: auto;
        position: relative;
    }
    .saasFinalGoals .form-section table,
    .saasCashFlow .form-section table,
    .saasReportList table{
        width: 800px;
    }
    .saasReportList .table-footer{
        position: sticky;
        bottom: 0; left: 0;
    }
    .saasCashFlow .form-section:first-of-type:before,
    .saasCashFlow .form-section:nth-of-type(2):before,
    .saasFinalGoals .form-section:before{
        bottom: unset;
        top: 60px;
    }
    .saasFinalGoals input[type="text"], .saasFinalGoals input[type="number"], .saasCashFlow input[type="text"], .saasCashFlow input[type="number"]{
        min-width: 80px;
    }
    .saasFinalGoals .form-section:before,
    .saasCashFlow .form-section:before,
    .saasReportList .table-container:before{
        content: '좌우로 밀어보세요';
        font-size: .9rem;
        font-weight: 700;
        color: #ddd;
        position: absolute;
        bottom: 78px;
        left: 5px;
        z-index: 50;
        animation: fadeStyle 1.5s ease-in-out infinite;
    }
    @keyframes fadeStyle {
        0% { opacity: 1;}
        50% {opacity: .5;}
        100% {opacity: 1;}
    }

    .saasPrintResult{
        width: 100%;
    }
    .saasPrintResult .header:before{
        width: 40%;
    }
    .saasPrintResult .header p{
        margin-top: 5px;
    }
    .saasPrintResult .paper8 .contain1{
        flex-wrap: wrap;
    }
    .saasPrintResult .paper8 .contain1> * {
        width: 100% !important;
    }
    .saasPrintResult .paper8 .contain2 ul li:not(:nth-of-type(3n)),
    .saasPrintResult .paper8 .contain1 .left ul li:nth-child(2n){
        border-right: 1px solid transparent;
    }
    .saasPrintResult .paper8 .contain2 ul,
    #content .btnWrap{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .saasPrintResult .paper8 .contain2 li:before{
        bottom: -25px;
        top: unset;
        right: unset;
        left: 50%;
        transform: translateX(-50%);
    }
    .saasPrintResult .table-container {
        overflow-x: auto;
        width: 100%;
    }
    .saasPrintResult .table-container table{
        width: 800px;
    }

    #nptiYouthTest .btnWrap{
        flex-wrap: wrap;
    }
    #nptiYouthTest .prevBtn, #nptiYouthTest .nextBtn{
        width: 45% !important;
        max-width: unset;
    }
    #nptiYouthTest .last_btn{
        margin: 0 auto!important;
    }


}
