header {
    position: sticky;
    top: 0;
    width: 100%;
    padding: 1.5rem 1.5rem;
    background: #fff;
    z-index: 8888;
    display: flex;
    align-items: center;
}
header a {
    width: 12rem;
}
header a img {
    width: 100%;
}
.page_desc {
    padding: 2.5rem 0;
}
.page_desc p {
    font-size: 1.4rem;
    color: #555;
    margin-bottom: 1rem;
}
.page_desc h4 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
}
.page_desc h4 b {
    font: inherit;
    color: #32A4D5;
}
main .bnr {
    padding: 3rem 1.5rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    background-color: #87caff;
    background-image: url(../img/icon-1.png);
    background-size: 10rem;
    background-position: right 2rem center;
    background-repeat: no-repeat;
}
main .bnr h2 {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.4;
    color: #fff;
}
main .bnr h2.kakao_h2 {
    color: #746f6b;
}
main .bnr h2 em {
    font-size: 2.8rem;
    font-weight: 900;
    color: #034b88;
}
main .bnr p {
    font-size: 1.4rem;
    color: #746f6b;
    font-weight: 600;
}
main .bnr p.kakao_p {
    line-height: 1.3;
}
main .bnr p b{
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
}
main #dbFrm {
}
main #dbFrm .input {
    margin-bottom: 3rem;
}
main #dbFrm .input h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}
main #dbFrm .input .flex {
    display: flex;
    gap: 1rem;
}
main #dbFrm .input .flex > input {
    width: 60%;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
}
main #dbFrm .input .flex .gender {
    display: flex;
    gap: 1rem;
    width: 40%;
}
main #dbFrm .input .flex .gender label {
    position: relative;
    width: 50%;
}
main #dbFrm .input .flex .gender label input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
main #dbFrm .input .flex .gender label span {
    font-size: 1.4rem;
    font-weight: 600;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #a7a7a7;
    border: 1px solid #d9d9d9;
}
main #dbFrm .input .flex .gender label input:checked + span {
    color: #36A6D6;
    background: #EBFAFF;
    border: 1px solid #36A6D6;
}
main #dbFrm .input > input,
main #dbFrm .input > select {
    font-size: 1.4rem;
    font-weight: 600;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
    width: 100%;
}
main #dbFrm .input > select { background: url(../img/arrow-2.png) no-repeat center right 1.5rem / 1.5rem; outline: none; color: #999;}
main #dbFrm .input > select option { font-size: 1.4rem;}
main #dbFrm .input > select.selected { color: #333;}
main #dbFrm .input > select.selected option { color: #333;}
main #dbFrm .input .tel {
    display: flex;
    gap: 1rem;
}
main #dbFrm .input .tel:nth-of-type(1) {
    margin-bottom: 1rem;
}
main #dbFrm .input .tel input {
    font-size: 1.4rem;
    font-weight: 600;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
    width: 80%;
}
main #dbFrm .input .tel button {
    width: 40%;
    border-radius: 1rem;
    font-size: 1.4rem;
    color: #fff;
    font-weight: 500;
    background: #36A6D6;
}
main #dbFrm > button {
    font-size: 2rem;
    font-weight: 600;
    color: #fff;
    background: #dbdbdb;
    padding: 2rem 0;
    border-radius: 1rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}
main #dbFrm > button.on {
    background: #229cff;
}
main #dbFrm > button img {
    width: 1.5rem;
}
main #dbFrm .agreeWrap {
    padding-bottom: 3rem;
    width: 100%;
}
main #dbFrm .agreeWrap h3 {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}
main #dbFrm .agreeWrap h3 img {
    width: 1.5rem;
}
main #dbFrm .agreeWrap .toggleAgree {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
main #dbFrm .agreeWrap .toggleAgree button {
    display: block;
    width: 6.5rem;
    white-space: nowrap;
    text-align: center;
    font-size: 1.4rem;
    color: #7a7a7a;
    font-weight: 500;
}

main #dbFrm .agreeWrap .toggleAgree label {
    font-size: 1.6rem;
    font-weight: 700;
    display: flex;
    gap: 1rem;
    align-items: center;
}
main #dbFrm .agreeWrap .toggleAgree label input {
    width: 2rem;
    height: 2rem;
    background-image: url(../img/check-off.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 0.5rem;
}
main #dbFrm .agreeWrap .toggleAgree label input:checked {
    background-image: url(../img/check-on.png);
    border: none;
}
main #dbFrm .agreeWrap .mustAgreeWrap {
    display: none;
    flex-flow: column nowrap;
    gap: 1.5rem;
    padding: 0rem 2rem;
    padding-left: 3rem;
    margin-top: 1.5rem;
}
main #dbFrm .agreeWrap .mustAgreeWrap.active {
    display: flex;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label {
    font-size: 1.4rem;
    font-weight: 500;
    display: flex;
    gap: 0.8rem;
    align-items: center;
    position: relative;
    width: 100%;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label input {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../img/check-off.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 0.5rem;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label input:checked {
    background-image: url(../img/check-on.png);
    border: none;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label a {
    font-size: 1.4rem;
    color: #7a7a7a;
    position: absolute;
    right: 0;
}
#privacyBtn {
    font-size: 1.4rem;
    font-weight: 900;
    padding: 1.5rem;
    background: #dbdbdb;
    width: 100%;
    text-align: left;
}

#privacyModal {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem;
}
#privacyModal .privacy {
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    width: 100%;
    display: none;
}
#privacyModal .privacy .title {
    padding: 2.5rem 2rem;
    position: relative;
}
#privacyModal .privacy .title h3 {
    font-size: 1.4rem;
    font-weight: 600;
}
#privacyModal .privacy .title button {
    width: 1.5rem;
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
}
#privacyModal .privacy .title button img {
    width: 100%;
}
#privacyModal .privacy pre {
    font-size: 1.2rem;
    line-height: 1.4;
    padding: 1rem 2rem 4rem 2rem;
    height: 20rem;
    overflow-y: auto;
}

.warning_modal {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem;
}
.warning_modal .warning {
    border-radius: 1rem;
    padding: 3rem 2rem;
    background: #fff;
    text-align: center;
}
.warning_modal .warning h4 {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 1.5rem;
}
.warning_modal .warning p {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 700;
    color: #555;
}
.warning_modal .warning button {
    width: 100%;
    font-size: 1.4rem;
    color: #fff;
    padding: 1.5rem 0;
    border-radius: 1rem;
    background: #229cff;
    margin-top: 2rem;
}

.warning_modal .warning .btn_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
}
.warning_modal .warning .btn_wrap .skip {
    background: #ccc;
}
.warning_modal .warning .btn_wrap button {
    font-size: 1.4rem;
}

#loading {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    text-align: center;
    display: none;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
#loading p {
    font-size: 3rem;
    font-weight: 900;
    line-height: 2;
}
#loading p em {
    font-size: 3rem;
    font-weight: 900;
    color: #36A6D6;
}
#loading .icon {
    width: 30rem;
}
#loading .icon img {
    width: 100%;
}

main > .title {
    padding: 3rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
main > .title.kakao {
    padding: 3rem 1.5rem 0 1.5rem;
}
main > .title .icon {
    width: 10rem;
}
main > .title .icon img {
    width: 100%;
}
main > .title h2 {
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.4;
}
main > .title h2 em {
    font-size: 2.6rem;
    font-weight: 900;
    color: #005087;
}
main .contentWrap {
    display: flex;
    flex-flow: column nowrap;
    gap: 4rem;
    padding-top: 3rem;
}
main .contentWrap .content p{
    font-size: 1.4rem;
    line-height: 1.4;
    color: #555;
    margin-bottom: 0.5rem;
}
main .contentWrap .content h3 {
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
}
main .contentWrap .content table {
    width: 100%;
    text-align: left;
    border-top: 1px solid #ddd;
    border-collapse: collapse;
}
main .contentWrap .content table tr {}
main .contentWrap .content table tr th {
    padding: 2rem 1.5rem;
    width: 30%;
    font-size: 1.4rem;
    font-weight: 600;
    background: #f6f6f6;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
main .contentWrap .content table tr td {
    border-bottom: 1px solid #ddd;
    width: 70%;
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
    font-weight: 800;
}

main .contentWrap .content .result {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
main .contentWrap .content .result .result-banner {
    border-radius: 1rem;
    padding: 2rem 1.5rem;
    text-align: center;
}
main .contentWrap .content .result .result-banner p {
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: -.1rem;
    line-height: 1.4;
    margin: 0;
}
main .contentWrap .content .result .yes-banner {
    background: linear-gradient(to right, #87CEEB, #4A90E2);
    color: #fff;
}
main .contentWrap .content .result .yes-banner p {
    color: #fff;
}
main .contentWrap .content .result .no-banner {
    background: #E5E5E5;
    color: #666;
}
main .contentWrap .content .result .no-banner p {
    color: #b1b1b1;
}
main .contentWrap .content .result .target-info {
    text-align: center;
    font-size: 1.4rem;
    color: #666;
    line-height: 1.4;
    margin: 0;
}

main .contentWrap .content .result a {
    display: block;
    background: #229cff url("../img/arrow-1.png") no-repeat calc(100% - 1.2rem) 50% / 1.5rem;
    font-size: 1.7rem;
    color: #fff;
    padding: 1.5rem 1.2rem;
    letter-spacing: -.1rem;
    border-radius: .7rem;
    margin-top: 2rem;
}


main .contentWrap .content .target {
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    text-align: center;
    margin-bottom: 2rem;
}
main .contentWrap .content .target .top {
    display: flex;
    gap: 1rem;
}
main .contentWrap .content .target .top h4 {
    width: 50%;
    border-radius: 0.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: #555;
    background: #F4F4F4;
    padding: 1.5rem 0;
}
main .contentWrap .content .target .bottom {
    display: flex;
    gap: 1rem;
}
main .contentWrap .content .target .bottom .left {
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    width: 50%;
}
main .contentWrap .content .target .bottom .left p {
    font-size: 1.6rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 0;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    height: 25%;
    width: 100%;
    margin-bottom: 0;
}
main .contentWrap .content .target .bottom .right {
    width: 50%;
    border-radius: 0.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: #2d9df9;
    background: #EBFAFF;
    border: 1px solid #2d9df9;
    display: flex;
    align-items: center;
    justify-content: center;
}
main .contentWrap .content pre {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    color: #555;
}

.bannerImg {
    width: 100%;
    position: sticky;
    top: 5rem;
}
.bannerImg a {
    width: 100%;
}
.bannerImg a img {
    width: 100%;
}

.index_page {
    width: 100%;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.index_page img {
    width: 32rem;
}
.index_page p {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 2rem;
}

/* home_page 스타일 */
.page {
    padding: 2rem 0 5rem 0;
}
.inner {
    padding: 0 1.5rem;
}
.home_page .inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
/* 상단 배너 카드 */
.home_page .home_banner a {
    background: #53637C;
    border-radius: 1rem;
    padding: 2.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.home_page .banner_content {
    flex: 1;
    z-index: 1;
}

.home_page .banner_subtitle {
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 0.5rem;
}

.home_page .banner_title {
    font-size: 2.2rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.home_page .banner_btn {
    background: #ffffff2d;
    color: #fff;
    font-size: 1.4rem;
    padding: 1rem 1.8rem;
    border-radius: 0.8rem;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
}

.home_page .banner_icon {
    width: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.home_page .icon_placeholder {
    font-size: 4rem;
    opacity: 0.8;
}

/* 중간 섹션 - 두 개의 카드 */
.home_page .home_cards {
    display: flex;
    gap: 1.5rem;
}

.home_page .home_card {
    flex: 1;
    border-radius: 1rem;
    overflow: hidden;
}
.home_page .home_card a {
    position: relative;
    height: 20rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 2rem 1.5rem;
}
.home_page .card_inquiry {
    background: #E4E9FF;
}

.home_page .card_info {
    background: #F2E3F6;
}

.home_page .card_label {
    font-size: 1.4rem;
}

.home_page .card_inquiry .card_label {
    color: #587BF9;
}
.home_page .card_info .card_label {
    color: #CD5CF2;
}
.home_page .card_title {
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0.5rem 0;
    flex: 1;
}

.home_page .card_icon {
    display: block;
    margin-left: auto;
    margin-bottom: 2rem;
    width: 6rem;
}

.home_page .home_card a p {
    font-size: 1.3rem;
    font-weight: 700;
    text-align: right;
    color: #8d8d8d;
    margin-top: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 1.5rem ;
    background: #ffffff2d;
}

/* 하단 확인사항 섹션 */
.home_page .home_checklist {
    margin-top: 1rem;
}

.home_page .checklist_title {
    font-size: 2rem;
    font-weight: 800;
    color: #2d3748;
    margin-bottom: 1.5rem;
}

.home_page .checklist_items {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.home_page .checklist_item {
    overflow: hidden;
    border-radius: 1rem;
}
.home_page .checklist_item a {
    background: #F4F4F4;
    padding: 2rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.home_page .item_content {
    flex: 1;
    z-index: 1;
}

.home_page .item_subtitle {
    font-size: 1.3rem;
    color: #718096;
    font-weight: 600;
    margin-bottom: 0.8rem;
}

.home_page .item_title {
    font-size: 1.8rem;
    font-weight: 800;
    color: #2d3748;
    line-height: 1.3;
}

.home_page .item_icon {
    width: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.page_title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5.5rem;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    border-radius: 1rem;
    background: linear-gradient(to left, #3AA8D7, #87CAE5);
}
.cont_box strong{
    display: block;
    font-weight: 700;
    font-size: 1.8rem;
    margin: 3rem 0 2rem 0;
}
.cont_box h5 {
    font-weight: 700;
    font-size: 1.6rem;
    margin: 0.5rem 0;
}
.cont_box p {
    padding: 2rem 0 3rem 0;
    line-height: 1.6;
    color: #555;
    font-size: 1.4rem;
}
.cont_box p.padding_0 {
    padding: 0;
}
.cont_box h4 {
    font-weight: 700;
    color: #36A6D6;
    font-size: 1.8rem;
}
.img_box {
    width: 100%;
    overflow-x: auto;
    margin: 2rem 0 4rem 0;
}
.img_box .chart-1 {
    max-width: 60rem;
}
.img_box .chart-2 {
    max-width: 45rem;
}
.page_bottom_banner {
    border-radius: 1rem;
    overflow: hidden;
}
.page_bottom_banner a {
    background: #F4F4F4;
    padding: 2rem 1.5rem;
    height: 9.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.page_bottom_banner a .banner_text p {
    font-size: 1.4rem;
    font-weight: 500;
    color: #555;
}
.page_bottom_banner a .banner_text h4 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 0.5rem;
}
.page_bottom_banner a img {
    height: 100%;
}
.info4_wrap .cont_box {
    margin-top: 3rem;
}
.check_main {
    
}