* {
    --header-height-1 : 5.5rem;
    --header-height-2 : 5rem;
    --header-height-3 : 4.5rem;
    --footer-height-1 : 5rem;
    /* --footer-height-1 : 10rem; */
    --common-width : 720px; 
}
#wrap {
    width: 100%;
    min-height: 100vh;
    max-width: var(--common-width);
    padding-top: var(--header-height-1);
    padding-bottom: 12rem;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
}
.index {display: flex; flex-direction: column;justify-content: center;align-items: center;background-color: #fff !important;}
.index .indexlogo {width: 60%;max-width: 400px;}
.index .loading {width: 40%;max-width: 300px;margin-top: 15rem;}

.bannerImg {
    width: 100%;
    padding: 1.5rem 0;
}
.bannerImg a {
    width: 100%;
}
.bannerImg a img {
    width: 100%;
}

#logoutModal {
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 0 1.5rem;
    z-index: 8888;
    top: 0;
}
#logoutModal .box {
    background: #fff;
    width: 100%;
    text-align: center;
    padding-top: 4rem;
    border-radius: 1rem;
    overflow: hidden;
}
#logoutModal .box > h2 {
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
    color: #2f4a66;
}
#logoutModal .box > p {
    font-size: 1.6rem;
    margin-bottom: 4rem;
    font-weight: 600;
    color: #2f4a66;
}
#logoutModal .box .buttonWrap {
    display: flex;
}
#logoutModal .box .buttonWrap form {
    width: 50%;
}
#logoutModal .box .buttonWrap form button {
    width: 100%;
    font-size: 1.8rem;
    font-weight: 600;
    color: #848585;
    background: #f5f5f5;
    padding: 2rem 0;
}
#logoutModal .box .buttonWrap > button {
    width: 60%;
    font-size: 1.8rem;
    font-weight: 800;
    padding: 2rem 0;
    color: #fff;
    background: #2c69c1;
}
#logoutModal .box > button {
    font-size: 1.4rem;
    font-weight: 600;
    border-bottom: 1px solid #333;
}
#logoutModal .withdraw {
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#logoutModal .withdraw p {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #acacac;
}
#logoutModal .withdraw p img {
    width: 1rem;
}
#logoutModal .withdraw button {
    font-size: 1.4rem;
    font-weight: 600;
    color: #7c7d7d;
}

#withdrawModal {
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 0 1.5rem;
    z-index: 8888;
    top: 0;
}
#withdrawModal .box {
    background: #fff;
    width: 100%;
    text-align: center;
    padding-top: 4rem;
    border-radius: 1rem;
    overflow: hidden;
}
#withdrawModal .box > h2 {
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
    color: #2f4a66;
}
#withdrawModal .box > p {
    font-size: 1.6rem;
    margin-bottom: 4rem;
    font-weight: 600;
    color: #2f4a66;
}
#withdrawModal .box .buttonWrap {
    display: flex;
}
#withdrawModal .box .buttonWrap form {
    width: 40%;
}
#withdrawModal .box .buttonWrap form button {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 600;
    color: #848585;
    background: #f5f5f5;
    padding: 2rem 0;
}
#withdrawModal .box .buttonWrap > button {
    width: 60%;
    font-size: 1.6rem;
    font-weight: 800;
    padding: 2rem 0;
    color: #fff;
    background: #2c69c1;
}

/* header */
header {
    width: 100%;
    z-index: 100;
    position: fixed;
    left: 50%;top: 0;
    padding: 0 1.5rem;
    height: var(--header-height-1);
    max-width: var(--common-width);
    background-color: #f9f9f9;
    transform: translateX(-50%);
    display: flex;justify-content: space-between;align-items: center;
}
header .logo img {height: calc(var(--header-height-1) / 2);display: block;}
header .open img {height: calc(var(--header-height-1) / 3);display: block;object-fit: contain;}
/* 240109추가 */
.footer{
    width: 100%;
    z-index: 100;
    position: fixed;
    left: 50%;bottom: 0;
    transform: translateX(-50%);
    max-width: var(--common-width);
}
.ads_wrap.ads_sub_sm {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5rem;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}
footer {
    position: absolute;
    left: 50%;bottom: 5rem;
    width: 100%;
    height: var(--footer-height-1);
    max-width: var(--common-width);
    background-color: #fff;
    transform: translateX(-50%);
    display: flex;justify-content: space-between;align-items: center;
}
footer a {
    display: flex;justify-content: center;align-items: center;
    font-size: 1.6rem;
    color: #bfbfbf;
    background-color: #eaeaea;
    height: 100%; width: 100%;
}
footer a.color {
    background-color: #3b434f;
    color: #fff;
}



/* 햄버거 기능 */
nav .inner {
    transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1);
    overflow-y: scroll;
    position:fixed;
    top:0;
    right:-100%;
    width:70%;
    height:100%;
    padding:2rem;
    z-index: 1000;
    background-color: #dae7f2;
}
nav .outer {
    background-color:rgba(0, 0, 0, .5);
    min-height: 100vh;
    position:fixed;
    width:100%;
    left:0;top:0;
    z-index: 999;
    display: none;
}
nav.on .inner {display: block;right: 0;}
nav.on .outer {display: block;}
.nav_header .close {height: calc(var(--header-height-1) / 2.5);width: calc(var(--header-height-1) / 2.5);display: block;object-fit: contain;}
nav ul {margin-top: 5rem;}
nav ul li a {
    color: #565656;
    font-size: 1.8rem;
    font-weight: 900;
    padding: 1.5rem 0;display: block;
    border-bottom: 1px solid #bed1da;
}
nav .inner > button {
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    gap: 0.5rem;
}
nav .inner > button img {
    width: 1.5rem;
}



/* 배경색이 다른 페이지 */
.gopremedi {display: block;background-color: #fff;}
.gopremedi:nth-of-type(1) {padding: 1.5rem;margin: 2rem 0 3rem;}
.gopremedi:nth-of-type(2) {padding: 3rem 1.5rem;margin: 1.5rem 1.5rem 4rem;border-radius: 1rem;border: 1px solid #f1f1f1;box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .1);}
.gopremedi h2 {
    font-size: 2.2rem;
    font-weight: bold;
    color: #2f4a66;
    padding: 1.5rem 0;
    border-bottom: 1px solid #e7e7e7;
}
.gopremedi pre {
    font-size: 1.5rem;
    color: #74777d;
    line-height: 1.4;
    padding: 1rem 0;
}
.gopremedi div {
    display: flex;justify-content: space-between;
}
.gopremedi span {
    padding: 1rem 2rem;
    background-image: linear-gradient(100deg, #ea3030 30%, #c7003b 80%);
    width: fit-content;
    height: fit-content;
    border-radius: 10rem;
    color: #fff;
    line-height: 1.4;
    font-size: 1.5rem;
    display: block;
    margin-top: 1rem;
}
.gopremedi:nth-of-type(2) span {width: 100%;text-align: center;}
.gopremedi .deco {width: 10rem;}
.gopremedi .banner {width: 100%;margin-bottom: 4rem;}
.trick {width: 100%;padding: 4rem 1.5rem 0;}
.banners {
    background-color: #fff;
    padding: 3rem 1.5rem;
    display: flex;flex-wrap: wrap;gap: 1rem;
}
.banners a {
    width: calc(50% - .5rem);
}
.banners a img {
    width: 100%;
}
.step {
    box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .1);
    background-color: #fff;
    border-radius: 1rem;
    padding: 0 1.5rem 1.5rem;
    margin: 1.5rem;
}
.step p {
    background-color: #768491;
    color: #fff;
    width: fit-content;
    font-size: 1.4rem;
    font-weight: bold;
    border-radius: .5rem;
    padding: .5rem 1.5rem;
}
.step h3 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #2f4a66;
    padding: 1.5rem 0;
    border-bottom: 1px solid #e7e7e7;
}
.step pre {
    font-size: 1.4rem;
    color: #74777d;
    line-height: 1.4;
    padding: 1rem 0;
}

/* content */
.content {padding: 2rem 0;}
.content h2 {
    font-size: 2rem;
    font-weight: bold;
    color: #144fa5;
    margin-bottom: 2rem;
    padding: 0 1.5rem;
}
.content > a {
    display: block;
    padding: 1.3rem 1.5rem;
    margin: 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d3d3d3;
    background-color: #f2f2f2;
}
.content a p {
    line-height: 1.4;
    font-size: 1.4rem;
    color: #7f7577;
    margin-bottom: .3rem;
}
.content a p b {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}
.content a span {
    display: flex;justify-content: right;
}
.content a span p {
    color: #fff;
    width: fit-content;
    border-radius: .5rem;
    padding: .5rem 1.3rem;
    background-color: #768491;
}

/* qna토글 */
.content .box {
    border-top: 1px solid #aaa;
    background-color: #fff;
}
.content .box .ques {
    padding: 1.5rem 4rem 1.5rem 1.5rem;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #1a2541;
    font-weight: 900;
    background: url(../img/qna-open.png) no-repeat calc(100% - 1.5rem) center /1.5rem;
}
.content .box .ans {
    display: none;
    color: #7f7577;
    line-height: 1.4;
    font-size: 1.4rem;
    padding: 1.5rem 1.5rem 3rem;
    border-top: 1px solid #a5b0bc;
}
.content .box.open {
    background-color: #f2f2f2;
}
.content .box.open .ques {
    background: url(../img/qna-close.png) no-repeat calc(100% - 1.5rem) center /1.5rem;
}
.content .box.open .ans {
    display: block;
}

/* plan_wrap */
.plan_wrap .birth_box {  padding: 1.6rem 1.5rem; border-radius: 1rem; border: 1px solid #d3d3d3; background-color: #f2f2f2; margin-bottom: 3rem; display: flex; align-items: center; position: relative;}
.plan_wrap .birth_box input{ background-color: transparent; flex: 1; min-width: 0; font-size: 1.6rem; outline: none; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.plan_wrap .birth_box p { font-size: 1.6rem; flex: 1; min-width: 0; padding-right: 1rem; font-weight: 500;}
.plan_wrap .birth_box p.placeholder { color: #999;}
.plan_wrap .birth_box .calendar_icon { flex-shrink: 0; width: 2.2rem;}
.plan_wrap .birth_box .calendar_icon img { width: 100%;}
.plan_wrap .disease_list { display: flex; flex-direction: column; gap: 1rem; }
.plan_wrap .disease_item { display: flex; align-items: center;  padding: 1.6rem 1.5rem; border-radius: 1rem; border: 1px solid #d3d3d3; background-color: #f2f2f2;}
.plan_wrap .disease_item .disease_name { font-size: 1.7rem; font-weight: 700; flex: 1; min-width: 0; text-align: left; line-height: 1.4; padding-right: 1rem; word-break: keep-all;}
.plan_wrap .disease_item .detail_button { color: #fff; font-size: 1.4rem; width: fit-content; border-radius: .5rem; padding: .5rem 1.3rem .6rem; background-color: #768491; flex-shrink: 0;}
.plan_wrap .empty_text { text-align: center; font-size: 1.6rem; margin-top: 5rem; color: #666;}

/* planSub_wrap_ */
.planSub_wrap .content { flex: 1; min-height: 0; display: flex; flex-direction: column;}
.planSub_wrap .container { flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: space-between;}
.planSub_wrap .text_box + .text_box { margin-top: 4rem;}
.planSub_wrap .text_box h4 { font-size: 1.8rem; margin-bottom: 1.2rem; font-weight: 600; line-height: 1.3;}
.planSub_wrap .text_box p { font-size: 1.6rem; line-height: 1.5; color: #666;}
.planSub_wrap .banner { margin-top: 4rem; display: block;}
.planSub_wrap .banner img { width: 100%;}

/* report_wrap */
.report_wrap .text_box h4 { font-size: 1.8rem; margin-bottom: 1.2rem; font-weight: 600; line-height: 1.3;}
.report_wrap .text_box p { font-size: 1.6rem; line-height: 1.5; color: #666;}
.report_wrap .text_box p + p { margin-top: 2rem;}
.report_wrap .search_area { margin-top: 3rem;}
.report_wrap .search_area form {  padding: 1.6rem 1.5rem; border-radius: 1rem; border: 1px solid #d3d3d3; background-color: #f2f2f2; margin-bottom: 3rem; display: flex; align-items: center;}
.report_wrap .search_area input{ background-color: transparent; flex: 1; min-width: 0; font-size: 1.6rem; outline: none; padding-right: 1rem;}
.report_wrap .search_area button { width: 2rem;}
.report_wrap .search_area button img { width: 100%;}
.report_wrap .search_area .text_box + .text_box { margin-top: 3rem;}

.report_wrap .go_btn { width: fit-content; margin: 0 auto; color: #fff; background-color: #768491; border-radius: 0.5rem; padding: 1.2rem 2rem 1.4rem; font-size: 1.6rem; display: block; margin-top: 4rem;}

/*  */
.container { padding: 0 1.5rem;}