.required_text {color: #E65E64; font-style: normal;}
.img_box img {width: 100%;}
.block {display: block;}
.m_color {color: #0C82FE;}
button {cursor: pointer; border: 0; outline: none; padding: 0;}

/* #content */
.cost_top {background: #EAF2FF; margin-bottom: 110px;}
.cost_top .inner {padding: 110px 0; box-sizing: border-box;}
.cost_top .inner h3 {font-size: 70px; font-weight: 700; line-height: 1em; letter-spacing: -1px; text-align: center;}


.top_info .inner {padding: 0 16%;}
.top_info ul {background: #F0F7FF; border-radius: 20px; padding: 60px 5% 60px 16%;}
.top_info ul li {font-weight: 350; font-size: 24px; color:#575757; padding-bottom: 16px; text-indent: -.8em; position: relative;}
.top_info ul li:last-child {padding-bottom: 0;}
.top_info ul li::before {content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #23A1FF; margin-right: .4em; vertical-align: middle;}
.top_info .important {font-weight: 500; color:#E65E64;}
.top_info .important::before {content: '*'; font-size: 1em; width: 0; height: 0; color:#E65E64; background: none; vertical-align: sub; margin-right: 0; margin-left: 0.8em;}


.form_box .inner {padding: 0 25% 120px;}
.form_box .inner p.notice {font-weight: 350; font-size: 16px; color: #575757; margin-bottom: 14px; text-align: right;}
.form_box .inner form .table {border-top: 1px solid #23A1FF;}
.form_box .inner form .table > li {border-bottom: 1px solid #D5D5D5; display: flex; align-items: center}
.form_box .inner form .table .table_title {width: 22%; font-weight: 500; font-size: 24px; color:#0C82FE; text-align: left;}
.form_box .inner form .table .table_con {width: 78%; padding: 25px 5%; border-left: 1px solid #D5D5D5; box-sizing: border-box;}
.form_box .inner form input[type='text'],
.form_box .inner form input[type='tel'] {width: 100%; padding: 14px 3%; box-sizing: border-box;
    font-family: 'Noto Sans KR', sans-serif; font-size: 22px; line-height: normal; color: #1C1C1C; border-radius: 6px; border: 1px solid #D5D5D5; outline: none;}
.form_box .inner form input[type='text']:focus, 
.form_box .inner form input[type='tel']:focus {border-color: #23A1FF;}
.form_box .inner form input[type='text']::placeholder, 
.form_box .inner form input[type='tel']::placeholder {color: #D5D5D5;}
.form_box .inner form label {cursor: pointer;}

/* 셀렉트박스 스타일 START  KJS*/
.form_box .inner form select {padding: 14px 3%; box-sizing: border-box; appearance: none; outline: none;
    font-family: 'Noto Sans KR', sans-serif; font-size: 22px; line-height: normal; color: #1C1C1C; border-radius: 6px; border: 1px solid #D5D5D5;
    background: url(../images/arrow_down.png) no-repeat right 3% center; background-size: 18px 10px; width: 100%;}
.form_box .inner form select:focus {border-color: #23A1FF;}
.form_box .inner form select option:disabled {background:#f3f3f3}
/* 셀렉트박스 스타일 END */


.form_box .inner form .medical_subject {position: relative; font-size: 22px; line-height: normal; color: #1C1C1C;}
.form_box .inner form .medical_subject .sub_label {display: block; padding: 14px 3%; box-sizing: border-box; border-radius: 6px; border: 1px solid #D5D5D5; 
    background-image: url(../images/arrow_down.png); background-repeat: no-repeat; background-position: right 3% center; background-size: 18px 10px;}
.form_box .inner form .medical_subject .sub_label.on {border-color: #23A1FF; background-image: url(../images/arrow_up.png);}
.form_box .inner form .medical_subject .sub_optionlist {width: 100%; border-radius: 6px; border: 1px solid #D5D5D5; box-sizing: border-box;
    position: absolute; top: 62px; left: 0; z-index: 1; display: none;}
.form_box .inner form .medical_subject .sub_optionlist li a {display: block; padding: 14px 3%; background: #fff; border-bottom: 1px solid #D5D5D5;}
.form_box .inner form .medical_subject .sub_optionlist li:first-child a {border-radius: 6px 6px 0 0;}
.form_box .inner form .medical_subject .sub_optionlist li:last-child a {border-bottom: none; border-radius: 0 0 6px 6px;}
@media (hover:hover) {
    .form_box .inner form .medical_subject .sub_optionlist li a:hover {background: #23A1FF; color: #fff;}
}

.form_box .inner form .agree_box {margin-top: 20px;}
.form_box .inner form .agree_box ul li {margin-bottom: 14px;}
.form_box .inner form .agree_box ul li:last-child {margin-bottom: 0;}
.form_box .inner form .agree_box ul li > div {position: relative;}
.form_box .inner form .agree_box input[type="checkbox"] {appearance: none; position: absolute; top: 50%; left: 0; transform: translateY(-50%); margin: 0;}
.form_box .inner form .agree_box input[name="allcheck"] + label {font-size: 20px; font-weight: 500; letter-spacing: -1px;}
.form_box .inner form .agree_box label {display: inline-block; width: auto; height: 100%; vertical-align: middle; margin-left: 35px;}
.form_box .inner form .agree_box input[class="agree"]::after {content:''; display: inline-block; width: 26px; height: 26px; 
    border-radius: 4px; border: 1px solid #A6A6A6; box-sizing: border-box; background-color: #fff; vertical-align: middle;
    background-image: url(../images/icon_chk.png); background-repeat: no-repeat; background-position: center; background-size: 14px 11px;}
.form_box .inner form .agree_box input[class="agree"]:checked::after {border-color: #0C82FE; background-color: #0C82FE;}
.form_box .inner form .agree_box label .btn_agree {display: inline-block; font-size: 20px; line-height: 26px; color: #161718;}
.form_box .inner form .agree_box label .btn_agree i {font-style: normal; display: inline-block; font-size: 16px; font-weight: 400; letter-spacing: -1px;
    border-radius: 50px; border: 1px solid #AAADB0; background: #FFF; padding: 0 12px; height: 34px; line-height: 34px; margin-left: 6px;}
.form_box .inner form .agree_box .privacy {display: inline-block; background: #fff; border: 1.5px solid #A6A6A6; box-shadow: 0px 2px 1px 0px rgba(44, 39, 56, 0.04); border-radius: 50px; 
    padding: 7px 20px; color: #272727; font-size: 17px; text-align: center; margin-left: 16px; vertical-align: middle;}
.form_box .inner form .terms {height: 360px; overflow-y: scroll; border-radius: 10px; padding: 25px 3% 0; margin: 14px 0;
    font-weight: 300; font-size: 15px; line-height: normal; color: #454545; background: #F9F9F9; border: 1px solid #D5D5D5; display: none;}
.form_box .inner form .terms.on {display: block;}


.form_box .inner form .table_btn {background: #0C82FE; border-radius: 180px; width: 450px; height: 70px;
    font-family: 'Noto Sans KR', sans-serif; font-weight: 700; font-size: 30px; line-height: 43px; text-align: center; color: #fff; 
    margin: 80px 0 160px; position: relative; left: 50%; transform: translateX(-50%);}
.form_box .inner form .table_btn:hover {background: #0150A2;}
/* .form_box .inner form .table_btn::after {content: ''; display: block; width: 59px; height: 82px; background: url(../images/icon_pointer.png) center no-repeat;
    background-size: contain; position: absolute; right: 10%; top: 40%;} */

/* 스크롤바 커스텀 [s] */
.form_box .inner form .terms::-webkit-scrollbar,
.form_box .inner form textarea::-webkit-scrollbar {width: 20px; /* 스크롤바 너비 */}
.form_box .inner form .terms::-webkit-scrollbar-thumb,
.form_box .inner form textarea::-webkit-scrollbar-thumb {background: #D9D9D9; /* 스크롤바 색상 */ border-radius: 15px; /* 스크롤바 둥근 테두리 */ border: 7px solid; /* 스크롤바 여백 */}
.form_box .inner form .terms::-webkit-scrollbar-thumb {border-color: #F9F9F9; /* 스크롤바 여백 컬러 */}
.form_box .inner form textarea::-webkit-scrollbar-thumb {border-color: #fff; /* 스크롤바 여백 컬러 */}
.form_box .inner form .terms::-webkit-scrollbar-track,
.form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 15px;}
.form_box .inner form .terms::-webkit-scrollbar-track {background: #F9F9F9; /*스크롤바 뒷 배경 색상*/ }
.form_box .inner form textarea::-webkit-scrollbar-track {background: #fff; /*스크롤바 뒷 배경 색상*/ }
/* 스크롤바 커스텀 [e] */



/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {
    .top_info .inner {padding: 0 12%;}
    .top_info ul {padding: 60px 5% 60px 12%;}

    .form_box .inner {padding: 0 20% 120px;}
}
/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {
    .top_info .inner {padding: 0 8%;}
    .top_info ul {padding: 60px 5% 60px 8%;}

    .form_box .inner {padding: 0 10% 120px;}
}
/* PC (해상도 1024px ~ 1058px) */
@media screen and (max-width:1058px) {
    .top_info .inner {padding: 0 6%;}

    .form_box .inner {padding: 0 5% 120px;}
}


/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {
    /* content */
    .cost_top {margin-bottom: 80px;}
    .cost_top .inner {padding: 80px 0;}
    .cost_top .inner h3 {font-size: 42px;}

    .top_info .inner {padding: 0 5%;}
    .top_info ul {border-radius: 10px; padding: 45px 5% 45px 6%;}
    .top_info ul li {font-size: 20px;}

    .form_box .inner {padding: 0 5% 60px;}
    .form_box .inner p.notice {font-size: 13px; line-height: 23px; letter-spacing: -1px; margin-bottom: 6px;}
    .form_box .inner form .table .table_title {padding: 34px 0; width: 22%; font-size: 20px;}
    .form_box .inner form .table .table_con {padding: 23px 5%;}
    .form_box .inner form input[type='text'],
    .form_box .inner form input[type='tel'] {padding: 10px 3%; font-size: 18px;}
    .form_box .inner form input[type='radio'] {margin-left: 13px; width: 24px; height: 24px;}
    .form_box .inner form input[type='radio'] + label {font-size: 18px;}
    
    .form_box .inner form .medical_subject {font-size: 18px;}
    .form_box .inner form .medical_subject .sub_label {padding: 10px 3%; background-size: 14px 8px;}
    .form_box .inner form .medical_subject .sub_optionlist {top: 49px;}
    .form_box .inner form .medical_subject .sub_optionlist li a {padding: 10px 3%;}
    
    .form_box .inner form .agree_box ul li {margin-bottom: 12px;}
    .form_box .inner form .agree_box input[class="agree"]::after {width: 24px; height: 24px;}
    .form_box .inner form .agree_box label .btn_agree {font-size: 16px;}
    .form_box .inner form .agree_box label .btn_agree i {font-size: 14px; height: 28px; line-height: 28px;}
    .form_box .inner form .terms {height: 210px; border-radius: 6px; padding: 22px 3% 0; margin: 12px 0; font-size: 14px;}
        
    
    .form_box .inner form .table_btn {border-radius: 180px; width: 360px; height: 52px; font-size: 26px; line-height: 52px; margin: 40px 0 80px;}
    /* .form_box .inner form .table_btn::after {width: 51px; height: 72px; right: 10%; top: 40%;} */
    
    /* 스크롤바 커스텀 [s] */
    .form_box .inner form .terms::-webkit-scrollbar-track {border-radius: 8px;}
    .form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 15px;}
    /* 스크롤바 커스텀 [e] */
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:768px) {
    .wrap { min-width: 375px; }
    /* content */
    .cost_top {margin-bottom: 50px;}
    .cost_top .inner {padding: 50px 0;}
    .cost_top .inner h3 {font-size: 36px;}

    .top_info ul {padding: 30px 5% 30px 10%;}
    .top_info ul li {font-size: 16px;}
    .top_info ul li::before {width: 4px; height: 4px;}
    .top_info ul li .block {display: inline;}
    .top_info ul li i {display: block;}
    
    
    .form_box .inner {padding: 0 5% 50px;}
    .form_box .inner p.notice {font-size: 13px; margin-bottom: 10px;}
    .form_box .inner form .table > li {flex-direction: column; border-bottom: none;}
    .form_box .inner form .table > li.pc_ver {display: none;}
    .form_box .inner form .table .table_title {padding: 20px 0 10px; width: 100%; font-size: 22px;}
    .form_box .inner form .table .table_con {padding: 0; width: 100%; border-left: none;}
    .form_box .inner form input[type='text'],
    .form_box .inner form input[type='tel'] {width: 100%; padding: 8px 5%; font-size: 20px; border-radius: 8px;}
    
    .form_box .inner form .medical_subject {font-size: 20px;}
    .form_box .inner form .medical_subject .sub_label {padding: 8px 5%; background-size: 14px 8px;}
    .form_box .inner form .medical_subject .sub_optionlist {top: 49px;}
    .form_box .inner form .medical_subject .sub_optionlist li a {padding: 8px 5%;}
    
    .form_box .inner form .agree_box input[type="checkbox"] {top: 3px; transform: translateY(0);}
    .form_box .inner form .agree_box label {margin-left: 32px;}
    .form_box .inner form .agree_box label .btn_agree {font-size: 17px; letter-spacing: -1px;}
    .form_box .inner form .agree_box label .btn_agree .required_text {font-size: 15px;}
    .form_box .inner form .agree_box .privacy {padding: 5px 18px; font-size: 14px; letter-spacing: -1px; margin-left: 14px;}
    .form_box .inner form .terms {border-radius: 8px; padding: 20px 3% 0; font-size: 14px;}
    
    .form_box .inner form textarea {height: 180px; padding: 14px 3%; border-radius: 8px; font-size: 20px;}
    
    .form_box .inner form .table_btn {width: 100%; height: 48px; box-sizing: border-box; font-size: 20px; line-height: 48px; margin: 30px 0 80px;}
    /* .form_box .inner form .table_btn::after {width: 34px; height: 48px; right: 10%; top: 40%;} */
    
    /* 스크롤바 커스텀 [s] */
    .form_box .inner form .terms::-webkit-scrollbar-thumb {border-radius: 10px;}
    .form_box .inner form textarea::-webkit-scrollbar-thumb {border-radius: 10px;}
    .form_box .inner form .terms::-webkit-scrollbar-track {border-radius: 10px;}
    .form_box .inner form textarea::-webkit-scrollbar-track {border-radius: 10px;}
    /* 스크롤바 커스텀 [e] */
}
