.font_df {
    font-family: 'Montserrat', 'Noto Sans Korean', "Nanum Gothic", '나눔고딕', Malgun Gothic, "맑은 고딕", AppleGothic, Dotum, "돋움", sans-serif;
}

body.body-sub {
    background-color: #f4f4f4;
}

#footer_wrap{
    padding-top:50px;
}


/* step1 index Start */

.survery_step1_index_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 1200px;
    background: #f4f4f4;
    margin:50px auto 0; /* 50px 추가요청 */
}

.step1_left,
.step1_right {
    flex-grow: 1;
}

.step1_left {
    background-image: url('https://aghealth1.cafe24.com/images/23/step1_02.png');
    background-repeat: no-repeat;
    background-position: -30px 75%
}

.step1_right {
    background-image: url('https://aghealth1.cafe24.com/images/23/step1_03.png');
    background-repeat: no-repeat;
    background-position: 20% 90%;
}

.step1_center {
    flex-grow: 2;
    width: 640px;
    max-width: 640px;
    position: relative;
    background-image: url('https://aghealth1.cafe24.com/images/23/step1_01.png');
    background-repeat: no-repeat;
    background-position: 100% 0;
}

.step1_sloga_box{
    height:390px;
}

.slogan_wrap {
    position: absolute;
    top: 170px;
    left:20px;
    width: 100%;
}

.slogan_wrap .slogan_title {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 19px;
    color:#000;
}

.slogan_wrap .slogan_content {
    font-size: 19px;
    line-height: 30px;
    color: #000;
}


.step1_btn_wrap {
    padding: 1rem;
}

.btn_type1 {
    display: block;
    border: 2px solid #b5b5b5;
    border-radius: 45px;
    margin: 1rem auto;
    text-align: center;
    font-size: 22px;
    line-height: 95px;
    height: 95px;
    background-color: #fff;
    text-decoration: none;
    color: #000;
    /* box-shadow: 0 0 0 rgb(255 255 255 / 0%); */
    box-shadow: 0 3px 6px 1px rgba(0, 0, 0, .1);
    transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;
}

.btn_type1:hover {
    border: 2px solid #037158;
    color:#037158
}
.btn_type1:focus,
.btn_type1:active {
    background-color: #037158;
    color: #fff;
}

/* step1 End */





/* step2 카카오 인증 Start */
.survery_block.wsm_wrap {
    max-width: 570px;
    margin: 3rem auto 0;
    padding: 35px;
    background: #fff;
}

.kakao_btn_wrap {
    width: 640px;
    margin: 0 auto;
}

.d-none {
    display: none !important
}
.userhealth_title_wrap {
    margin: 1rem 0 0;
}

.userhealth_title {
    font-family: 'Noto Sans KR', "Nanum Gothic", '나눔고딕', 'Apple SD Gothic Neo', sans-serif;
    font-size: 30px;
    line-height: 1.4;
    color: #333;
    margin: 0;
}

.userhealth_title .d-block:nth-child(2) {
    font-weight: normal;
    font-size: 30px
}

.userhealth_title_wrap .userhealth_kakao_msg {
    display: block;
    font-size: 17px;
    color: #818181;
    margin: .5rem 0;
}


.userhealth_title_wrap .health_list_is {
    display: block;
    padding: 15px;
    color: #fff;
    background-color: #99cfc3;
    border-color: #99cfc3;
    border-radius: 11px;
    -webkit-border-radius: 11px;
    -moz-border-radius: 11px;
    -ms-border-radius: 11px;
    -o-border-radius: 11px;
    text-align: center;
}


.userhealth_title_wrap .health_list_is>strong {
    display: block;
    font-size: 19px;
    text-align: center;
    margin-bottom: 5px
}

.user_health_select_wrap {
    display: inline-block;
}

.userhealth_title_wrap #user-health-lists {
    /* select box */
    display: block;
    width: 100%;
    border: 1px solid #C4C4C4;
    box-sizing: border-box;
    border-radius: 10px;
    padding: .5rem 1.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.6;
    background: #fff url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23717171%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 96% 50%;
    /* background-size: .6rem;
    background-position: calc(100% - 1.3rem) center; */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.userhealth_title_wrap select#user-health-lists::-ms-expand{
    display:none;
}



.userhealth_title_wrap .user_health_listr {
    /* link */
    font-size: .85rem;
}



.agree_chk_list button {
    display: inline-block;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

li.inp_chk .agree_btn {
    background: #6f6f6f !important;
    color: #fff !important;
    padding: 0.2rem 0.5rem !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    border-radius: 3px !important;
    -webkit-border-radius: 3px !important;
    -moz-border-radius: 3px !important;
    -ms-border-radius: 3px !important;
    -o-border-radius: 3px !important;
    position: absolute;
    right: 3px;
    top: 0;
}


.fi_btn {
    display: inline-block;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.fi-btn-block {
    display: block;
    width: 100%;
    text-align: center;
}

.kakao_btn {
    background-color: #FEE500;
    display: block;
    width: 100%;
    text-align: center;
    border: transparent;
    padding: .7rem 0;
    font-size: 1.2rem;
    font-weight: bold;
}

.kakao_symbol {
    /* display: inline-block;
    width: 30px;
    height: 30px;
    background: url('https://shopagtr5422.cdn-nhncommerce.com/data/skin/mobile/renewal_2208/img/etc/login_kakao.png') no-repeat 50% 50%;
    background-size: 25px 25px;
    vertical-align: inherit; */
}


.auth_success_btn,
.auth_cancel_btn {
    cursor: pointer;
    border: 0;
}

.auth_cancel_btn {
    background-color: #b9b9b9;
    color: #2b2b2b;
    border-right: 1px solid #fff;
}

.auth_success_btn {
    background-color: #037158;
    color: #fff;
    border-left: 1px solid #fff;
}


.kakao_result_body {
    padding: 0 !important;
}

.kakao_result_body>* {
    font-size: 1rem;
}

.kakao_result_content {
    width: 90%;
    margin: 0 auto;
}

.kakao_result_header {
    font-size: 30px;
    display: block;
    color: #000;
    margin: 40px 0 1rem 0;
}

.kakao_result_header_con {
    font-size: 17px;
    color: #818181;
}

.csTxt {
    font-size: 17px;
    color: #353535;
}

.csTxt>dt {
    font-weight: bold;
    margin-bottom: .45rem;
}

.csTxt>dd {
    font-size: 16px;
    text-indent: 1rem;
    margin: 0;
}


/*STEP KAKAO*/
#KakaoResultModal .stepArea {
    margin: 2em 0;
}

#KakaoResultModal .kakao_step {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#KakaoResultModal .kakao_step>li {
    display: block;
    padding: 0 .5em 0 160px;
    height: 140px;
    line-height: 1.4;
    border-bottom: 1px solid #c5c5c5
}

#KakaoResultModal .kakao_step>li:nth-child(1) {
    background-image: url(https://aghealth1.cafe24.com/images/23/kakao_step_01.png);
    background-repeat: no-repeat;
    background-position: 30px 50%;
    background-size: 90px 90px;
}

#KakaoResultModal .kakao_step>li:nth-child(2) {
    background-image: url(https://aghealth1.cafe24.com/images/23/kakao_step_02.png);
    background-repeat: no-repeat;
    background-position: 30px 50%;
    background-size: 90px 90px;
}

#KakaoResultModal .kakao_step>li:nth-child(3) {
    background-image: url(https://aghealth1.cafe24.com/images/23/kakao_step_03.png);
    background-repeat: no-repeat;
    background-position: 30px 50%;
    background-size: 90px 90px;
    border: 0;
}

/* #KakaoResultModal .kakao_step>li:not(#KakaoResultModal .kakao_step>li:first-child)::before {
    display: block;
    text-align: center;
    content:"";
    margin:1rem;
} */

#KakaoResultModal .kakao_step>li>span {
    display: inline-block;
    margin-top: 30px;
}

#KakaoResultModal .kakao_step>li>.step_num {
    padding: 5px 12px;
    border: 1px solid #a8a8a8;
    background: #a8a8a8;
    font-weight: bold;
    text-align: center;
    border-radius: 15px;
    color: #fff;
}

#KakaoResultModal .kakao_step>li>p {
    font-size: 20px;
    color: #353535;
    font-weight: bold;
    margin-top: 10px;
}

#KakaoResultModal .btnArea {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    margin: 2rem 0 0;
}

#KakaoResultModal .btnArea>button {
    flex-grow: 1;
    padding: 1rem 0;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    font-size: 20px;
    font-weight: bold;
    width:50%;
}

.a_blank {
    color: blue;
}
/* 카카오 인증 End */







/* FORM */
.white_penal_wrap .form-control-outbox {
    margin: 0;
    padding: 10px 0;
}

.form-control-outbox {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #8c8c8c;
    transition: 0.5s;
    align-items: center;
}

.form-control-outbox .label_df {
    flex-shrink: 0;
    width: 260px;
    margin: 3px;
    padding: 2px;
    font-weight: bold;
    transition: 0.4s;
    font-size: 20px;
    color: #414141;
}

.form-control-outbox .input-outbox {
    flex-grow: 1;
    margin: 3px;
    padding: 2px;
    border: 0;
    font-weight: bold;
    transition: 0.4s;
}

.input-outbox>input[type=text] {
    display: block;
    width: 98%;
    border: 0;
    text-align: left;
    padding: .75rem 0;
    outline: none;
    font-size: 18px;
    ;
    color: #979797;
}

.input-outbox>input[type=text]:focus {
    border: 0;
    outline: none;
}

.button-radio {
    display: inline-block;
    background: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

.button-radio input[type="radio"] {
    width: 0;
    height: 0;
    position: absolute !important;
    left: -9999em;
}

.button-radio input[type="radio"]+label {
    margin: 0;
    font-size: 18px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    border: solid 1px #ccc;
    background-color: #FFF;
    line-height: 140%;
    font-weight: normal;
    text-align: center;
    box-shadow: 0 0 0 rgb(255 255 255 / 0%);
    transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;
    width: 100%;
    cursor: pointer;
    padding: 0.45rem 1.7rem;
    border-radius: 2rem;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -ms-border-radius: 2rem;
    -o-border-radius: 2rem;
}

.button-radio input[type="radio"]:checked+label {
    background-color: #037158;
    color: #fff;
    font-weight: bold;
    z-index: 1;
}


.form-control-btnbox {
    display: flex;
    width: 100%;
    line-height: 1.4;
    align-items: baseline;
    flex-wrap: wrap;
    margin: 1rem 0;
}

.form-control-btnbox .btn-prev {
    width: 50%;
}

.form-control-btnbox .btn-next {
    width: 50%;
}

.form-control-btnbox .btn-pull {
    width: 100%;
}

.btn-base-color {
    background-color: #037158;
    color: #fff;
}

.btn-base-style {
    padding: 1rem;
    border: 0;
    font-size: 1.2rem;
}

.text-bold {
    font-weight: bold !important;
}



/* placeholder 우측정렬 Style */
.placeholder_input::placeholder {
    color: #919191;
    text-align:right;
    padding-right:1rem;
    opacity: 1; /* 파이어폭스에서 뿌옇게 나오는 현상을 방지하기 위한 css */
}
.placeholder_input::-webkit-input-placeholder {
    color: #919191;
    text-align:right;
    padding-right: 1rem;
}
/* IE */
.placeholder_input:-ms-input-placeholder {
    color: #919191;
    text-align:right;
    padding-right: 1rem;
}
/* Firefox */
.placeholder_input:-mos-input-placeholder {
    color: #919191;
    text-align:right;
    padding-right: 1rem;
}


/* agree */
.agree_area {
    margin-top: 25px;
    border: 1px solid #c3c3c3;
    padding: 0;
}

.agree_chk_list {
    margin: 0;
    padding: 0 13px 7px;
}

.inp_chk {
    margin: 10px 0 8px;
    display: inline-block;
}

.inp_chk input {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -3px;
    vertical-align: middle;
}

.inp_chk input {
    background-position: -60px -81px;
}

.inp_chk label {
    margin-left: 3px;
    font-size: 17px;
    color: #414141;
}

.agree_chk_list li.inp_chk {
    display: block !important;
    position: relative;
    padding: 0.2rem 0;
}

.agree_btn_modal_acitve {
    display: block;
    width: 100%;
    color: #fff;
    background-color: #047259;
    border-color: #035a47;
    padding: .5rem;
    text-align: center;
    font-size: 1rem;
}

.agree_all_wrap {
    background: #5c5c5c;
    color: #fff;

}

.agree_all_wrap input[type=checkbox] {
    width: 0;
    height: 0;
    position: absolute;
    left: -9999px;
}

.agree_all_wrap input[type=checkbox]+label {
    margin: 0;
    display: block;
    font-weight: bold;
    text-align: left;
    background: url(https://aghealth1.cafe24.com/images/23/checked_02.png) 15px 50% no-repeat;
    background-size: 30px 30px;
    font-size: 19px;
    text-indent: 35px;
    padding: 18px;
    cursor: pointer;
}

.agree_all_wrap input:checked+label {
    background-image: url(https://aghealth1.cafe24.com/images/23/checked_01.png);
}


/* loading */


.load_def,
#submit_loade {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9989;
    left: 0;
    top: 0;
    background: #f4f4f4;
}

#survey_result_wrap #submit_loade{
    top:200px;
}

/* 요청사항 */
#load_pull_wrap  #submit_loade{
    top:120px;
}

.loading_img {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -125px 0 0 -75px;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #047259;
    border-bottom: 16px solid #047259;
    width: 100px;
    height: 100px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

.loading_text {
    position: absolute;
    left: 50%;
    top: 50%;
    text-align: center;
    margin: 60px 0 0 -320px;
    width: 640px;
    color: #000;
    font-size: 30px;
}

 .loading_text span{
    margin-top:1.5rem;
    display: inline-block;
    border:1px solid #3c3c3c;
    padding: 14px 15px;
    background-color: #fff;
    font-size: 22px;
    font-weight:bold;
    color:#047259;
}
.loading_text span>img{
    width:25px;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.d-block{
    display: block !important;
}

.btn-wrap2 {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}

.btn-wrap2 .btn-wrap2-groab:first-child {
    flex-grow: 1;
    margin-right: 1rem;
}

.btn-wrap2 .btn-wrap2-groab+.btn-wrap2-groab {
    flex-grow: 2;
}

.btn-default-link {
    display: inline-block;
    text-align: center;
    background: #ccc;
    line-height: normal;
    text-transform: none;
    box-sizing: border-box;
    text-decoration: none;
}
