@charset "utf-8";
:root {
    --main-color: #0030DC;
    --main-hover-color: #0400C9;
    --sub-color: #E6EBFC;
    --dark-grey-color: #BABABA;
    --grey-color: #D4D4D4;
    --light-grey-color: #C0C0C0;
    --white-color:#fff;
    --bg-black-op-5: #00000080;
    --shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src: local('Pretendard Black'), url(/common/fonts_pretendard/Pretendard-Black.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Black.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src: local('Pretendard ExtraBold'), url(/common/fonts_pretendard/Pretendard-ExtraBold.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-ExtraBold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src: local('Pretendard Bold'), url(/common/fonts_pretendard/Pretendard-Bold.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Bold.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src: local('Pretendard SemiBold'), url(/common/fonts_pretendard/Pretendard-SemiBold.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-SemiBold.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src: local('Pretendard Medium'), url(/common/fonts_pretendard/Pretendard-Medium.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Medium.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src: local('Pretendard Regular'), url(/common/fonts_pretendard/Pretendard-Regular.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Regular.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src: local('Pretendard Light'), url(/common/fonts_pretendard/Pretendard-Light.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Light.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src: local('Pretendard ExtraLight'), url(/common/fonts_pretendard/Pretendard-ExtraLight.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-ExtraLight.woff) format('woff');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src: local('Pretendard Thin'), url(/common/fonts_pretendard/Pretendard-Thin.woff2) format('woff2'), url(/common/fonts_pretendard/Pretendard-Thin.woff) format('woff');
}

h1,h2,h3,h4,h5,h6,b,strong,footer,div,input,button{font-family: 'Pretendard';}
b{font-weight: 600;}
button{cursor: pointer;}

/* common */
::-webkit-scrollbar{width:0;height:4px;}
html,body {
    font-size: 15px;
    font-family: 'Pretendard';
    font-weight: normal;
    line-height: 1.5;
    letter-spacing: -0.5px;
    -ms-overflow-style: none;
    width: 100%;
    height: 100%;
}
.wrap {
    width: 100%;
    height: 100vh;
    max-width: 820px;
    margin: 0 auto;
    padding: 100px 90px;
}
.wrap_com{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 0 30px;
}
.bg_blue{
    background-color: var(--main-color);
}
/* modal */
.modal_popup {
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: fixed;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    background: var(--bg-black-op-5);
    z-index: 201;
}
.modal_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    padding: 15px 16px 20px 16px;
    background: #fff;
    z-index: 101;
    text-align: center;
    box-shadow: 0px 3px 9px rgba(0, 0, 0, .5);
}
.modal_wrap.m_size {
    width: 460px;
}
.modal_wrap.l_size {
    width: 520px;
}
.modal_btn {
    font-weight: 300;
    padding: 5px 20px;
    font-size: clamp(13px, 2vw, 16px);
    background: var(--main-color);
    color: #fff;
    border-radius: 5px;
}
.modal_btn_x_w{
    width: 100%;
    height: 20px;
    display: flex;
    justify-content: end;
}
.modal_btn_x_w.modal_title{
    width: 100%;
    height: 20px;
    display: flex;
    justify-content:space-between;
}
.modal_btn_x_w.modal_title>div{
    font-size: 23px;
    font-weight: 600;
}
.modal_btn_x_w img{
    width: 16px;
}
.modal_content {
    font-size: clamp(15px, 3vw, 17px);
    padding: 30px 20px;
}
.modal_content.input {
    padding: 50px 30px 20px 30px;
}
.modal_content.input .item{
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}
.modal_content.input .item .title{
    width: 20%;
    text-align: left;
    margin-right: 10px;
}
.modal_content.input .item input, .modal_content.input .item .birthdate_area, .select_machine_W, .select_date.device{
    width: 80%;
}
.modal_content.input .item .birthdate_area, .modal_content.input .item .birthdate_area>div{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.modal_content.input .item input {
    border: 1px solid var(--light-grey-color);
}
.modal_content.input .item input{
    border: 1px solid var(--light-grey-color);
    background: var(--white-color);
}
.btn_main{
    padding: 10px 20px;
    font-size: 16px;
    background-color: var(--main-color);
    color: var(--white-color);
    border-radius: 5px;
}
.btn_login{
    width: 100%;
    padding: 10px 20px;
    font-size: 16px;
    background-color: var(--main-color);
    color: var(--white-color);
}
.btn_main.w_100{
    width: 100%;
}
.btn_m_h{
    background-color: var(--main-hover-color);
}
.btn_g{
    background-color: #A8A8A8;
    color: var(--white-color);
}

/* 404page */
.error_wrap{
    max-width: 1000px;
    margin: 100px auto;
    text-align: center;
}
.error_wrap .title_num{
    font-size: 120px;
    font-weight: bolder;
}
.error_wrap .title_ko{
    font-size: 32px;
    position: relative;
    display: inline;
}
.error_wrap .title_ko::after{
    content: '';
    width: 100%;
    height: 14px;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #DEE4FB;
    z-index: -1;
}
.error_wrap .sub_title_ko{
    margin-top: 10px;
    line-height: 1.5;
}

.error_wrap .btn_home{
    display: inline-block;
    margin-top: 30px;
    cursor: pointer;
    padding: 10px 20px;
    background-color: var(--secondary-color);
    color: var(--white-color);
}

/* login */
.login_wrap{
    width: 100%;
    background-image: url('../images/m_logo_bottom_right.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    color: var(--white-color);
}
.login_form{
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
}
.login_form .logo{
    width: 190px;
    margin: 0 auto;
}
.login_form .form{
    margin: 40px 0 0 0;
}
.login_form .form>div{
    margin: 12px 0 0 0;
}
.style_input{
    width: 100%;
    border: 0;
    padding: 8px 12px;
    font-size: 18px;
}
.form .btn_login{
    margin: 24px 0 0 0;
}
.login_form .find{
    font-size: 13px;
    opacity: 0.7;
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.login_form .find div{
    position: relative;
    padding-left: 22px;
}
.login_form .find div::before{
    content: '';
    position: absolute;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url('../images/m_find.svg');
    background-position: center;
    background-repeat: no-repeat;
    left: 0;top: 50%;transform: translateY(-50%);
}

/* header */
header{
    height: 65px;
    max-width: 820px;
    width: 100%;
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
}
header>div{
    font-size: 0;
}
header>.logo{
    cursor: pointer;
    width: 150px;
}
header>.m_burger{
    cursor: pointer;
}

/* menu */
aside{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    color: var(--white-color);
    font-size: 20px;
    z-index: 100;
}
aside .a_wrap{
    max-width: 820px;
    width: 100%;
    height: 100vh;
    overflow-y: hidden;
    margin: 0 auto;
    position: relative;
}
aside .m_menu{
    padding: 30px;
    width: 300px;
    height: 100vh;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url('../images/m_logo_bottom_right.svg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 200px;
}
aside .btn_close_menu{
    cursor: pointer;
    width: 20px;
    position: absolute;
    top: 24px;
    right: 30px;
}
aside .menu{
    cursor: pointer;
    margin-top: 70px;
}
aside .menu>div{
    margin-top: 20px;
}
.hiddenScroll {
    overflow: hidden;
}

/* index */
.user_info{
    max-width: 820px;
    margin: 0 auto;
    background-color: var(--main-color);
    padding: 50px 0 120px 0;
    color: var(--white-color);
    font-size: 28px;
    font-weight: 600;
}
.user_info span.sm{
    font-size: 15px;
    margin-left: 8px;
    font-weight: normal;
}
.user_info+.wrap_com{
    margin-top: -80px;
}
.shadow_bl {
    box-shadow: 0 0 8px 0 rgba(0, 48,220, 0.25);
}
.box{
    width: 100%;
    min-height: 250px;
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 30px;
    margin:  0 0 40px 0;
}
.box .title_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.box .title_area .tt{
    font-size: 18px;
    font-weight: 600;
    width: 150px;
    height: 34px;
    line-height: 34px;
    color: var(--white-color);
    border-radius: 20px;
    background-color: var(--main-color);
    text-align: center;
}
.box .title_area .time{
    color: #868686;
    position: relative;
    padding-left: 18px;
}
.box .title_area .time::before{
    position: absolute;
    content: '';
    display: inline-block;
    background-image: url('../images/m_clock.svg');
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.box .cont_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
}
.box .cont_area .area_01 .tt{
    font-size: 22px;
    font-weight: bolder;
}
.box .cont_area .area_01 .tt span{
    font-weight: normal;
    font-size: 15px;
    margin-left: 6px;
}
.box .cont_area .area_01 .info{
    font-size: 14px;
}
.box .cont_area .area_02, .mental_num>div>.area_02{
    font-size: 40px;
    position: relative;
    padding-left: 22px;
}
.area_03{
    padding-left: 4px !important;
}
.box .cont_area .area_02.up::before, .mental_num>div>.area_02.up::before{
    content: '';
    position: absolute;
    left: 0;
    top: 45%;
    transform: rotate(135deg);
    border-bottom: 5px solid #ff0000;
    border-top: 5px solid transparent;
    border-left: 5px solid #ff0000;
    border-right: 5px solid transparent;
}
.box .cont_area .area_02.down::before, .mental_num>div>.area_02.down::before{
    content: '';
    position: absolute;
    top: 40%;
    left: 0;
    transform: rotate(-45deg);
    border-bottom: 5px solid var(--main-color);
    border-top: 5px solid transparent;
    border-left: 5px solid var(--main-color);
    border-right: 5px solid transparent;
}
.box .cont_area .area_02.keep::before, .mental_num>div>.area_02.keep::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    border-bottom: 3px solid #000;
}
.box .view_more{
    margin-top: 20px;
    cursor: pointer;
    width: 100%;
    padding: 5px;
    text-align: center;
    background-color: #F7F9FE;
    color: var(--main-color);
    border-radius: 5px;
}
.box .view_more img{
    width: 7px;
    margin-left: 6px;
}
.box.nothing {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}
.box.nothing img{
    max-width: 80px;
    margin-bottom: 20px;
}





/* detail page */
header.header{
    background: var(--white-color);
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
    position: relative;
}
/* header.header::before{
    content: '';
    width: 5px;
    height: 65px;
    background-color: #fff;
    display: block;
    position: absolute;
    top:0;
    left: -5px;
}
header.header::after{
    content: '';
    width: 5px;
    height: 65px;
    background-color: #fff;
    display: block;
    position: absolute;
    top:0;
    right: -4px;
} */
header.header>.title{
    display: flex;
}
header.header>.title>img{
    width: 14px;
    cursor: pointer;
}
header.header>.title>div.tt{
    font-size: 21px;
    margin-left: 20px;
    font-weight: 600;
}

/* mypage */
.mypage{
    background-color: #EFF2FD;
    color: #000;
}
.mypage_box{
    border-radius: 50px;
    padding: 30px 30px 0 30px !important;
}
.mypage_box>.info{
    margin: 0 0 20px 0;
}
.mypage_box>.info .tt{
    font-size: 17px;
    font-weight: 600;
    margin:  0 0 8px 0;
}
.style_input_m::placeholder{
    color: #AFAFAF;
}
.style_input_m{
    width: 100%;
    padding: 9px 10px;
    font-size: 16px;
    border: 1px solid #EFF2FD;
    background-color: #EFF2FD;
    border-radius: 20px;
}
input.style_input_m:disabled{
    background-color: #d0d5e6;
}
.style_input_m+.style_input_m{
    margin: 10px 0 0 0;
}
.mypage_box>.info>.helper{
    font-size: 13px;
    color: #ff0000;
}
.info>.date{
    display: flex;
    align-items: center;
}
.info>.date>.d{
    margin: 0 16px 0 4px;
}
.style_select{
    padding: 8px 26px 8px 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: url('../images/m_arrow_down_bk.svg') calc(100% - 8px) center no-repeat;
    background-size: 10px;
}
.info>.contact{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.btn_check{
    margin-left: 10px;
    white-space: nowrap;
}
.info>.check{
    display: flex;
    align-items: end;
    justify-content: space-between;
}
.info .time_helper{
    color: #ff0000;
}
.button_area{
    text-align: center;
}
.style_select>option {
    font-size: 15px !important;
}
.radio_area {
    display: flex;
    align-items: center;
    margin: 5px 0 0 0;
}
input.style_radio[type=radio]:checked {
    background: radial-gradient(farthest-side, var(--main-color) 94%, #ffffff) 50% / 0 0 no-repeat content-box;
    border-color: var(--main-color);
    background-size: 100% 100%;
}
input.style_radio[type=radio] {
    height: 20px;
    aspect-ratio: 1;
    border: 1px solid #ccc;
    padding: 2px;
    border-radius: 50%;
    outline-offset: calc(18px / 10);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background-color: var(--white-color);
    margin-right: 8px;
}
label+.style_radio{
    margin-left: 30px;
}
.button_area>button+button{
    margin: 0 0 0 20px;
}
.mypage_box button{
    border-radius: 20px;
}

/* mental_detail */
.tab_area{
    margin: 50px 0;
}
.tab{
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 6px;
    border-radius: 20px;
}
.tab>div{
    width: 33%;
    padding: 3px;
    text-align: center;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 600;
    font-size: 18px;
}
.tab>div.active{
    background-color: var(--main-color);
    color: var(--white-color);
}
.select_area{
    display: flex;
    width: 100%;
    margin:  50px 0 0 0;
}
.select_area>img{
    width: 90px;
}
.select_area>div{
    margin-left: 20px;
}
.style_select_custom{
    position: relative;
}
.select_m{
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 23px;
    font-weight: 600;
    margin-top: 2px;
}
.select_m>.arrow{
    width: 28px;
    aspect-ratio: 1/1;
    background-color: #DEE4FB;
    border-radius: 50%;
    position: relative;
    margin-left: 10px;
}
.select_m>.arrow>img{
    width: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.select_w::-webkit-scrollbar{
    width:5px !important;
    background-color: transparent;
}
.select_w::-webkit-scrollbar-thumb {
    background-color: #DEE4FB; 
    border-radius: 10px;
}
.select_s{
    display: none;
    padding: 8px 4px;
    border-radius: 10px;
    position: absolute;
    top: 34px;
    left: 0;
    background-color: var(--white-color);
    }
.select_w{
    width: 100%;
    max-height: 80px;
    overflow-y: scroll;
    padding-right: 2px;
}
.select_s span{
    display: block;
    cursor: pointer;
    width: 100%;
    padding: 3px 10px;
    white-space: nowrap;
}
.select_s span:hover{
    background-color: #DEE4FB;
    transition: all 0.3s;
    border-radius: 5px;
}
.select_area .select_date{
    font-size: 17px;
}
img.icon_cal{
    width: 18px;
    cursor: pointer;
    margin-left: 6px;
}
.border_b{
    max-width: 500px;
    width: 100%;
    border-bottom: 2px solid #ebebeb;
    margin: 50px auto;
}
.mental_num{
    display: flex;
    align-items: center;
    justify-content: space-around;
    text-align: center;
    width: 100%;
}
.mental_num>div{
    max-width: 90px;
    width: 33%;
}
.mental_num .tt{
    font-size: 16px;
    font-weight: 600;
}
.history_title{
    font-size: 21px;
    font-weight: 600;
}
.history_tt{
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin: 40px 0 20px;
    position: relative;
}
.history_tt::after{
    content: '';
    width: 80px;
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    border-bottom: 15px solid #DEE4FB;
}
.wrap_com>.history_chart:last-of-type{
    padding-bottom: 50px;
}
.history_chart canvas{
    min-height: 180px;
}


/* calendar */
.picker_wrap{
    padding: 0;
    text-align: left;
}
.date_header{
    text-align-last: left;
    padding:10px 20px;
    background-color: #DEE4FB;
}
.date_header>.now{font-size: 22px; font-weight: 600;letter-spacing: -1px;}
.calendar{
    width: 100%;
    min-height: 300px;
    padding: 10px 20px;
}
.selected_ym{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 6px;
    font-size: 17px;
    font-weight: 600;
}
.selected_ym img{
    width: 10px;
}
.next{
    transform: rotate(180deg);
}
.weekdays {
    margin: 0;
    padding: 10px 0;
}
.weekdays li {
    display: inline-block;
    width: 13.2%;
    text-align: center;
}
.days {
    margin: 0 0 26px 0;
}
.days li {
    cursor: pointer;
    padding: 7px 0;
    list-style-type: none;
    display: inline-block;
    width: 13.2%;
    text-align: center;
    font-size:14px;
    position: relative;
}
.calendar li.holi{
    color: #ff0000;
}
.days li.active::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 26px;
    height: 26px;
    background: #DEE4FB;
    border-radius: 50%;
    z-index: -1;
}
.calendar .buttons{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0;
}
.calendar .buttons button{
    padding: 3px 10px;
    border-radius: 20px;
    background-color: #DEE4FB;
}
.calendar .buttons>div{
    display: flex;
}
.calendar .buttons button.cancel{
    background-color: #F1F2F3;
    margin-right: 16px;
}
.tab_con{
    display: none;
}
.tab_con.active{
    display: block;
}



















/* 미디어쿼리 */
@media (max-width:600px) {
    
}
@media (max-width:525px) {
    .wrap {
        padding: 100px 30px;
    }
    header{
        padding: 0 30px;
    }
    
}
@media (max-width:490px) {
    .box{
        padding: 20px 16px;
    }
}
@media (max-width:425px) {
   
}
@media (max-width:380px) {
   
}
@media (max-width:360px) {
    header{
        padding: 0 20px;
    }
    aside .btn_close_menu {
        right: 20px;
    }
    .wrap_com{
        padding: 0 20px;
    }
}