@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.6/dist/web/variable/pretendardvariable-dynamic-subset.css");
:root {
  --primary: #FF7272;
  --lightGrey1: #F6F7F8;
  --lightGrey2: #E9EBED;
  --red: #FF0808;
  --yellow: #FFB21E;
  --green: #1ABC17;
  --gra: linear-gradient(180deg, #FF6B63 0%, #FF50A4 100%);
}

body {
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  line-height: 1.4;
  letter-spacing: -0.015em;
  background: #F6F7F8;
}

h1 {
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 13px;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
}

.btn-round {
  border: 1px solid #FF7272;
  border-radius: 60px;
  color: #FF7272;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
}

.btn-primary {
  background-color: var(--primary);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 58px;
  width: 100%;
  border-radius: 8px;
  position: relative;
}

.flexBx {
  display: flex;
  gap: 10px;
}

.graph-progress .item {
  margin-bottom: 14px;
}
.graph-progress .item:last-child {
  margin-bottom: 0;
}
.graph-progress .item .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.graph-progress .item .text .per {
  font-weight: 700;
}
.graph-progress .item .text .per em {
  color: #717171;
  font-weight: 400;
}
.graph-progress .item .progress {
  margin-top: 8px;
  height: 5px;
  background-color: var(--lightGrey2);
  width: 100%;
}
.graph-progress .item .progress .value {
  height: 100%;
  background-color: var(--primary);
}

.detailBlank,
.detailView {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
}
.detailBlank::after,
.detailView::after {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  background: url(../img/detail_arr_pink.svg) center no-repeat;
}
.detailBlank.center,
.detailView.center {
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.detailBlank {
  font-size: 14px;
}
.detailBlank::after {
  margin-left: 7px;
  width: 12px;
  height: 12px;
  background-image: url(../img/ic_blank.svg);
}

.slick-dots li {
  margin: 0;
}

.slick-dots li button:before {
  content: "";
  width: 6px;
  height: 6px;
  opacity: 1;
  background-color: #D9D9D9;
  border-radius: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: var(--primary);
}

.serviceWrap {
  width: 100vw;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  box-sizing: border-box;
}
.serviceWrap:has(.frame_topNavSub) {
  padding-top: 60px;
}
.serviceWrap:has(.frame_topNav) {
  padding-top: 67px;
}
.serviceWrap:has(.frame_bottomNav) {
  padding-bottom: 60px;
}
.serviceWrap:has(.frame_bottomBtn) {
  padding-bottom: 90px;
}
.serviceWrap.whiteBg {
  background-color: #fff;
}
.serviceWrap:has(.fixed .frame_mainBtn) {
  padding-bottom: 146px;
}

.conWrap {
  background-color: #fff;
  margin: 8px 0;
  padding: 26px 16px;
}
.conWrap.conWrap-transparent {
  background-color: transparent;
  padding: 16px;
}
.conWrap.foodTop {
  margin-top: 0;
}
.conWrap.foodTop .frame_rowAnchor {
  margin-top: 16px;
}
.conWrap.foodTop .detailView.center {
  margin-top: 35px;
  margin-bottom: 10px;
}
.conWrap.fixed {
  max-width: 600px;
  margin: 0 auto;
  position: fixed;
  bottom: 44px;
  right: 0;
  left: 0;
  background: rgba(237, 237, 237, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-sizing: border-box;
}
.conWrap.checkList {
  border-radius: 8px;
  gap: 10px;
  display: flex;
  flex-direction: column;
}
.conWrap.checkList li {
  margin: 4px 0;
}

.frame_topNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 22px 15px 26px;
  height: 36px;
  background-color: #fff;
  position: fixed;
  max-width: 600px;
  margin: 0 auto;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
}
.frame_topNav .name {
  font-size: 14px;
  font-weight: 700;
  color: #6E7074;
}

.frame_topNav ul {
    /* margin: 0 auto; */
    max-width: 600px;
    background: #fff;
    height: 36px;
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  .frame_topNav .menu .btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #B5B5B5;
  }
  .frame_topNav .menu.active .btn {
    color: #000;
  }
  .frame_topNav li {
    margin-left: -20px;
    padding: 0px 18px 0px 18px;
  }

  .frame_topNav ul li .active {
    border-bottom: 10px solid #000;
  }

  .frame_topNav li .icon {
    width: 28px;
    height: 28px;
    background: center/cover no-repeat;
  }
  .frame_topNav li:nth-child(1) .icon {
    background-image: url(../img/nav_bottom_home.svg);
  }
  .frame_topNav li:nth-child(1).active .icon {
    background-image: url(../img/nav_bottom_home_ac.svg);
  }
  .frame_topNav li:nth-child(2) .icon {
    background-image: url(../img/nav_bottom_health.svg);
  }
  .frame_topNav li:nth-child(2).active .icon {
    background-image: url(../img/nav_bottom_health_ac.svg);
  }
  .frame_topNav li:nth-child(3) .icon {
    background-image: url(../img/nav_bottom_food.svg);
  }
  .frame_topNav li:nth-child(3).active .icon {
    background-image: url(../img/nav_bottom_food_ac.svg);
  }
  .frame_topNav li:nth-child(4) .icon {
    background-image: url(../img/nav_bottom_my.svg);
  }
  .frame_topNav li:nth-child(4).active .icon {
    background-image: url(../img/nav_bottom_my_ac.svg);
  }
  .frame_topNav .active .menu {
    color: #000;
    padding-top: 0px;
    padding-bottom: 0px;
    font-weight: bold;
  }
  

  #gnb {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 45px;
    background-color: #fff;
  }
  
  #gnb .gnb-inner {
    white-space: nowrap;
    font-size: 0;
    overflow-x: auto;
    text-align: left;
    -webkit-overflow-scrolling: touch;
  }
  
  #gnb .gnb-inner li {
    display: inline-block;
    vertical-align: top;
  }
  
  #gnb .gnb-inner li a {
    position: relative;
    display: block;
    padding: 2px 17px 0;
    font-size: 16px;
    line-height: 41px;
    color: #555;
    border-bottom: 2px solid transparent;
  }
  
  #gnb .gnb-inner li a.active {
    font-weight: bold;
    color: #000;
    border-color: #000;
  }
  
  #gnb .gnb-inner li a .ico-new {
    width: 15px;
    height: 15px;
    background-image: url("../images/ico-new.png");
  }
  
  #gnb .gnb-inner li a .ico-new {
    position: absolute;
    right: 0;
    top: 7px;
  }
  
  #gnb .gnb-inner li a .ico-free {
    position: absolute;
    right: -14px;
    top: 7px;
    border-radius: 15px;
  }




.banner {
  position: relative;
}
.banner.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.banner .bannerItem {
  box-sizing: border-box;
  width: 100%;
  height: 263px;
  background: center/cover no-repeat;
  padding: 25px 29px;
  position: relative;
  color: #fff;
}
.banner .mainTit {
  font-size: 23px;
  color: #fff;
  text-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  margin-bottom: 20px;
}
.banner .subTit {
  font-size: 15px;
  text-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
  font-weight: 500;
}
.banner .bannerBtn {
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 29px;
  background-color: var(--primary);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 40px;
  text-decoration: none;
  position: absolute;
  bottom: 25px;
  left: 26px;
}
.banner .bannerBtn::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../img/arr_16_w.svg) center/cover no-repeat;
}
.banner .slick-dots {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: auto;
}
.banner .slick-dots li {
  display: none;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 40px;
  padding: 6px 14px;
  min-width: 53px;
  width: auto;
  height: 29px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}
.banner .slick-dots li.slick-active {
  display: flex;
}
.banner .slick-dots li::after {
  content: "/ 3";
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  display: inline;
  font-family: "Pretendard";
  margin-left: 2px;
}
.banner .slick-dots li button {
  display: inline;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  padding: 0;
  font-family: "Pretendard";
  width: auto;
  height: auto;
}
.banner .slick-dots li button::before {
  display: none;
}
.banner.bannerType2 .bannerItem {
  aspect-ratio: 1/1;
  height: auto;
  max-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-bottom: 36px;
}
.banner.bannerType2 .bannerBtn {
  position: static;
}
.banner.bannerType2 .slick-dots li::after {
  content: "/ 1";
}
.banner.bannerType2 .slick-dots {
  right: 16px;
  bottom: 45px;
}

.frame_imgText {
  position: relative;
  padding: 16px 20px;
  background-color: var(--lightGrey1);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  text-align: left;
  border: 0;
  width: 100%;
  gap: 20px;
  border-radius: 8px;
  overflow: hidden;
}
.frame_imgText + .frame_imgText {
  margin-top: 10px;
}
.frame_imgText .badge {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background-color: var(--primary);
  border-radius: 0 8px 0 8px;
  padding: 3px 11.5px;
}
.frame_imgText .tit {
  font-size: 15px;
  font-weight: 700;
}
.frame_imgText .desc {
  font-size: 13px;
}

.slideWrap {
  display: flex;
  gap: 9px;
  overflow: auto;
  flex-wrap: nowrap;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 10px;
}

.frame_useGuide {
  flex: 1 0 auto;
  display: flex!important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 8px;
  border: 1px solid #efefef;
  height: 273px;
  width: 307px;
  border-radius: 8px;
  background: #FFF;
  box-shadow: 0px 0px 25px 0px rgba(96, 16, 16, 0.05) inset;
}
.frame_useGuide + .frame_useGuide {
  margin-left: 8px;
}
.frame_useGuide .badge {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 8px 0px;
  background: #E0E6EE;
  color: #8F959D;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 8px;
}
.frame_useGuide .tit {
  font-size: 18px;
  font-weight: 700;
}
.frame_useGuide .desc {
  color: #9B9B9B;
  text-align: center;
  font-size: 14px;
  margin-top: 8px;
  margin-bottom: 20px;
}
.frame_useGuide .btn-round {
  display: inline-block;
  margin-top: 13px;
}

.frame_proposeBanner {
  display: block;
  padding: 16px;
  padding-bottom: 27px;
  height: 162px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
.frame_proposeBanner .badge {
  color: #FF4E4E;
  font-size: 14px;
  font-weight: 700;
}
.frame_proposeBanner .subTit {
  font-size: 14px;
  color: #fff;
  opacity: 0.6;
  margin-bottom: 6px;
}
.frame_proposeBanner .tit {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.frame_proposeBanner .arr {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  background: url(../img/banner_sub_arr.svg) center/cover no-repeat;
}

.btn-sub {
  padding: 10px;
  min-width: 64px;
  color: var(--primary);
  background-color: rgba(255, 144, 144, 0.2);
  font-size: 12px;
  font-weight: 700;
  border-radius: 4px;
  text-align: center;
}

.btn-subArr,
.btn-mainArr {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  position: relative;
  border-radius: 8px;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 58px;
}
.btn-subArr::after,
.btn-mainArr::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url(../img/arr_24_w.svg) center/cover no-repeat;
}

.btn-subArr {
  margin-top: 30px;
  background-color: #333;
  height: 47px;
  font-size: 14px;
}
.btn-subArr::after {
  width: 14px;
  height: 14px;
  background: url(../img/arr_16_w.svg) center no-repeat;
}

.frame_mainBtn {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.frame_mainBtn .desc {
  text-align: center;
  color: #5B5B5B;
  font-size: 14px;
}
.frame_mainBtn a.desc {
  color: #fff;
  text-decoration: underline;
  font-size: 16px;
  margin-top: 7px;
}
.frame_mainBtn button.btn-mainArr::after {
  display: none;
}
.frame_mainBtn.blackBtn .btn-mainArr {
  border-radius: 8px;
  background: #1F1F1F;
  color: #fff;
  color: #FFF;
  font-size: 17px;
  font-weight: 700;
  line-height: 140%; /* 23.8px */
}
.frame_mainBtn.greyBtn .btn-mainArr {
  background: #EAEEF1;
  color: #CBCDD4;
}
.frame_mainBtn.disabled .btn-mainArr {
  background-color: transparent !important;
  color: #CBCDD4 !important;
}

.frame_footer {
  padding: 40px 16px;
  background-color: var(--lightGrey1);
  font-size: 12px;
}
.frame_footer ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
}
.frame_footer li::before {
  content: "|";
  color: #D9D9D9;
  font-size: 10px;
  font-weight: 700;
  margin: 0 10px;
}
.frame_footer li:first-child::before {
  display: none;
}
.frame_footer p {
  color: #A7A7A7;
  margin: 30px 0;
}
.frame_footer a {
  color: #7A7A7A;
}

.frame_bottomNav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.frame_bottomNav ul {
  margin: 0 auto;
  max-width: 600px;
  background: #fff;
  height: 60px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.frame_bottomNav .menu .btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 13px;
  font-weight: 500;
  color: #B5B5B5;
}
.frame_bottomNav .menu.active .btn {
  color: #000;
}
.frame_bottomNav li .icon {
  width: 28px;
  height: 28px;
  background: center/cover no-repeat;
}
.frame_bottomNav li:nth-child(1) .icon {
  background-image: url(../img/nav_bottom_home.svg);
}
.frame_bottomNav li:nth-child(1).active .icon {
  background-image: url(../img/nav_bottom_home_ac.svg);
}
.frame_bottomNav li:nth-child(2) .icon {
  background-image: url(../img/nav_bottom_health.svg);
}
.frame_bottomNav li:nth-child(2).active .icon {
  background-image: url(../img/nav_bottom_health_ac.svg);
}
.frame_bottomNav li:nth-child(3) .icon {
  background-image: url(../img/nav_bottom_food.svg);
}
.frame_bottomNav li:nth-child(3).active .icon {
  background-image: url(../img/nav_bottom_food_ac.svg);
}
.frame_bottomNav li:nth-child(4) .icon {
  background-image: url(../img/nav_bottom_my.svg);
}
.frame_bottomNav li:nth-child(4).active .icon {
  background-image: url(../img/nav_bottom_my_ac.svg);
}
.frame_bottomNav .active .menu {
  color: #000;
}

.frame_guidePop .ev-modal,
.frame_form2 .ev-modal,
.frame_form .ev-modal,
.frame_confirm .ev-modal,
.frame_alert .ev-modal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  display: none;
  padding: 25px;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.frame_guidePop .ev-modal.ac,
.frame_form2 .ev-modal.ac,
.frame_form .ev-modal.ac,
.frame_confirm .ev-modal.ac,
.frame_alert .ev-modal.ac {
  display: flex;
}
.frame_guidePop .ev-modal .dim,
.frame_form2 .ev-modal .dim,
.frame_form .ev-modal .dim,
.frame_confirm .ev-modal .dim,
.frame_alert .ev-modal .dim {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.frame_guidePop .ev-modal .card,
.frame_form2 .ev-modal .card,
.frame_form .ev-modal .card,
.frame_confirm .ev-modal .card,
.frame_alert .ev-modal .card {
  background-color: #fff;
  padding: 15px;
  padding-top: 20px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  max-width: 540px;
  overflow-y: auto;
  box-sizing: border-box;
}
.frame_guidePop .ev-modal .card .tit,
.frame_form2 .ev-modal .card .tit,
.frame_form .ev-modal .card .tit,
.frame_confirm .ev-modal .card .tit,
.frame_alert .ev-modal .card .tit {
  font-size: 18px;
  font-weight: 700;
}
.frame_guidePop .ev-modal .card .desc,
.frame_form2 .ev-modal .card .desc,
.frame_form .ev-modal .card .desc,
.frame_confirm .ev-modal .card .desc,
.frame_alert .ev-modal .card .desc {
  font-size: 14px;
  margin-top: 17px;
}
.frame_guidePop .ev-modal .card .btnWrap,
.frame_form2 .ev-modal .card .btnWrap,
.frame_form .ev-modal .card .btnWrap,
.frame_confirm .ev-modal .card .btnWrap,
.frame_alert .ev-modal .card .btnWrap {
  display: flex;
  gap: 10px;
}
.frame_guidePop .ev-modal .card .btnWrap .btn,
.frame_form2 .ev-modal .card .btnWrap .btn,
.frame_form .ev-modal .card .btnWrap .btn,
.frame_confirm .ev-modal .card .btnWrap .btn,
.frame_alert .ev-modal .card .btnWrap .btn {
  cursor: pointer;
  height: 52px;
  border: 0;
  flex: 1 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
}
.frame_guidePop .ev-modal .card .btnWrap .btn.btn-true,
.frame_form2 .ev-modal .card .btnWrap .btn.btn-true,
.frame_form .ev-modal .card .btnWrap .btn.btn-true,
.frame_confirm .ev-modal .card .btnWrap .btn.btn-true,
.frame_alert .ev-modal .card .btnWrap .btn.btn-true {
  color: #fff;
  background-color: var(--primary);
}
.frame_guidePop .ev-modal .card .btnWrap .btn.btn-false,
.frame_form2 .ev-modal .card .btnWrap .btn.btn-false,
.frame_form .ev-modal .card .btnWrap .btn.btn-false,
.frame_confirm .ev-modal .card .btnWrap .btn.btn-false,
.frame_alert .ev-modal .card .btnWrap .btn.btn-false {
  color: #000;
  background-color: #e6e6e6;
}

.frame_form2 .date,
.frame_form .date {
  font-size: 14px;
  color: var(--primary);
  margin-bottom: 4px;
}
.frame_form2 .formWrap,
.frame_form .formWrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.frame_form2 .inputBx,
.frame_form .inputBx {
  width: 100%;
  height: 52px;
  position: relative;
}
.frame_form2 .inputBx .label,
.frame_form .inputBx .label {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  color: #aaa;
  font-size: 14px;
  font-weight: 500;
}
.frame_form2 .inputBx select,
.frame_form2 .inputBx input,
.frame_form .inputBx select,
.frame_form .inputBx input {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  padding: 10px;
  padding-left: 50%;
  box-sizing: border-box;
  border: 1px solid #ddd;
  text-align: right;
}
.frame_form2 .inputBx select::placeholder,
.frame_form2 .inputBx input::placeholder,
.frame_form .inputBx select::placeholder,
.frame_form .inputBx input::placeholder {
  color: #aaa;
  font-weight: 400;
}
.frame_form2 .inputBx select:focus,
.frame_form2 .inputBx input:focus,
.frame_form .inputBx select:focus,
.frame_form .inputBx input:focus {
  outline: 1px solid var(--primary);
}
.frame_form2 .inputBx select,
.frame_form .inputBx select {
  padding-right: 42px;
  background: url(../img/select_arr.svg) right 10px center no-repeat;
  /* 네이티브 외형 감추기 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.frame_form2 .inputBx:has(.calWrap),
.frame_form .inputBx:has(.calWrap) {
  height: auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}
.frame_form2 .inputBx:has(.calWrap):focus-within,
.frame_form .inputBx:has(.calWrap):focus-within {
  outline: 1px solid var(--primary);
}
.frame_form2 .inputBx:has(.calWrap) .label,
.frame_form .inputBx:has(.calWrap) .label {
  top: 16px;
  transform: none;
}
.frame_form2 .inputBx:has(.calWrap) input,
.frame_form .inputBx:has(.calWrap) input {
  border-bottom: 0;
  height: 52px;
  border: 0;
  outline: none;
}
.frame_form2 .inputBx:has(.calWrap) .calWrap,
.frame_form .inputBx:has(.calWrap) .calWrap {
  display: flex;
  justify-content: space-between;
  margin-top: -1px;
}
.frame_form2 .inputBx:has(.calWrap) .calWrap .cal,
.frame_form .inputBx:has(.calWrap) .calWrap .cal {
  flex: 1 0 0;
  height: 48px;
  border: 0;
  background-color: #F3F4F4;
  font-size: 16px;
  color: #000;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.frame_form2 .inputBx:has(.calWrap) .calWrap .cal:last-child,
.frame_form .inputBx:has(.calWrap) .calWrap .cal:last-child {
  border-radius: 0;
  border-right: 0;
}

.frame_form2 .ev-modal {
  padding: 0;
  align-items: flex-end;
}
.frame_form2 .ev-modal .card {
  height: 90vh;
  padding: 20px 15px 72px;
  max-width: 600px;
}
.frame_form2 .ev-modal .card .sub-tit {
  font-size: 14px;
  color: var(--primary);
}
.frame_form2 .ev-modal .card .btnWrap {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 10px 16px;
  box-sizing: border-box;
  background-color: #fff;
  max-width: 600px;
  margin: 0 auto;
}

.frame_guidePop .ev-modal {
  align-items: flex-end;
  padding: 0;
}
.frame_guidePop .ev-modal .card {
  padding: 20px 15px;
  max-width: 600px;
  height: 90vh;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 0;
}
.frame_guidePop .ev-modal .card .textWrap {
  flex: 1 0 0;
  height: 0;
  overflow: auto;
  padding-bottom: 40px;
}
.frame_guidePop .ev-modal .card .btnWrap {
  flex: 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.frame_guidePop .ev-modal .card .btnWrap .btn-grey {
  font-weight: 700;
  height: 52px;
  width: 100%;
  background-color: #E6E6E6;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.frame_topNavSub {
  height: 60px;
  width: 100%;
  max-width: 600px;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 42px;
  box-sizing: border-box;
  z-index: 1;
}
.frame_topNavSub .tit {
  font-size: 18px;
  font-weight: 700;
}
.frame_topNavSub .back,
.frame_topNavSub .close {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../img/nav_top_close.svg) center/cover no-repeat;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.frame_topNavSub .back {
  background-image: url(../img/nav_top_back.svg);
}

.privacy h5 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
}
.privacy p {
  font-size: 16px;
}

.frame_bottomBtn {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 600px;
  box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  padding: 16px;
  margin: 0 auto;
}
.frame_bottomBtn.transparent {
  background-color: transparent;
}
.frame_bottomBtn button::after {
  display: none;
}

.landingWrap {
  background-color: #222;
}
.landingWrap .conWrap {
  background-color: transparent;
}
.landingWrap .visual {
  position: relative;
  display: block;
}
.landingWrap .visual img {
  width: 100%;
  height: 391px;
  object-fit: cover;
}
.landingWrap .visual .tit {
  position: absolute;
  bottom: 17px;
  left: 26px;
  color: #fff;
}
.landingWrap .visual .tit h1 {
  font-size: 28px;
  font-weight: 700;
}
.landingWrap .visual .tit .badge {
  padding: 2px 3px;
  background-color: #000;
}
.landingWrap .visual .tit .badge b {
  color: var(--primary);
}
.landingWrap .text {
  color: #fff;
  display: flex;
}
.landingWrap .text .group {
  flex: 1 0 0;
  font-size: 14px;
}
.landingWrap .text .group h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 9px;
}
.landingWrap .text .group li + li {
  margin-top: 4px;
}

.frame_inputCheck input {
  display: none;
}
.frame_inputCheck .inputStyle {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
}
.frame_inputCheck .checkboxImg {
  width: 24px;
  height: 24px;
  margin: 0;
  margin-right: 8px;
  border-radius: 4px;
  border: 1px solid #DCDCDC;
  box-sizing: border-box;
}
.frame_inputCheck .req {
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: var(--primary);
  margin-top: -16px;
  margin-left: 2px;
  display: none;
}
.frame_inputCheck input:checked + .inputStyle .checkboxImg {
  background: var(--primary) url(../img/checkbox_on.svg) center/cover no-repeat;
  border: 0;
}
.frame_inputCheck input:required + .inputStyle .req {
  display: block;
}

.loginWrap h1 {
  font-size: 23px;
  margin-bottom: 34px;
  margin-top: 20px;
  padding: 0 16px;
}
.loginWrap .checkList {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 13px 0;
  background-color: #F6F6F6;
  margin-top: 20px;
}
.loginWrap .checkList li {
  position: relative;
}
.loginWrap .checkList li .arr {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: rotate(180deg) translateY(50%);
  display: block;
  width: 36px;
  height: 36px;
  background: url(../img/nav_top_back.svg) center no-repeat;
}
.loginWrap .inputStyle {
  padding: 0 13px;
}
.frame_foodPlan {
  padding: 24px 20px;
  border: 1px solid var(--lightGrey2);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.frame_foodPlan.slick-slide {
  display: flex;
}
.frame_foodPlan .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.frame_foodPlan .time {
  color: #696969;
  font-size: 16px;
  font-weight: 700;
}
.frame_foodPlan .kcal {
  font-size: 16px;
  font-weight: 700;
}
.frame_foodPlan .todayMenu {
  color: #808080;
  font-size: 15px;
}
.frame_foodPlan .graph-progress .item {
  margin-bottom: 14px;
}
.frame_foodPlan .graph-progress .item:last-child {
  margin-bottom: 0;
}
.frame_foodPlan .graph-progress .item .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.frame_foodPlan .graph-progress .item .text .per {
  font-weight: 700;
}
.frame_foodPlan .graph-progress .item .text .per em {
  color: #717171;
  font-weight: 400;
}
.frame_foodPlan .graph-progress .item .progress {
  margin-top: 8px;
  height: 5px;
  background-color: var(--lightGrey2);
  width: 100%;
}
.frame_foodPlan .graph-progress .item .progress .value {
  height: 100%;
  background-color: var(--primary);
}

.frame_kcalThumb {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
}
.frame_kcalThumb strong {
  font-size: 31px;
  font-weight: 700;
}
.frame_kcalThumb em {
  font-size: 16px;
  color: #828282;
  margin-left: 4px;
}
.frame_kcalThumb li {
  display: none;
  align-items: flex-end;
  gap: 4px;
}
.frame_kcalThumb li.ac {
  display: flex;
}
.frame_kcalThumb li .message {
  font-size: 21px;
  font-weight: 700;
}
.frame_kcalThumb li .message.good {
  color: var(--green);
}
.frame_kcalThumb li .message.normal {
  color: var(--yellow);
}
.frame_kcalThumb li .message.bad {
  color: var(--red);
}
.frame_kcalThumb li img {
  width: 68px;
  height: 68px;
}

.healthStatus {
  padding: 16px 20px;
  border-radius: 8px;
  background-color: var(--lightGrey1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
}
.healthStatus .text {
  font-size: 14px;
  color: #464646;
}
.healthStatus .text .type {
  font-size: 18px;
  font-weight: 700;
  color: #363636;
}
.healthStatus .text span {
  margin-right: 4px;
}
.healthStatus .status .item {
  min-width: 90px;
  height: 36px;
  display: none;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  border-radius: 8px;
}
.healthStatus .status .item.ac {
  display: flex;
}
.healthStatus .status .item.green {
  color: #1B722E;
  background-color: #CEF6D7;
}
.healthStatus .status .item.yellow {
  color: #755F12;
  background-color: #FEE99F;
}
.healthStatus .status .item.red {
  color: #601B0C;
  background-color: #FFB19F;
}

.frame_quickCard {
  border-radius: 8px;
  background-color: #F6F6F6;
  padding: 12px 14px;
  position: relative;
  color: #333;
  display: block;
  width: 164px;
  height: 169px;
  box-sizing: border-box;
}
.frame_quickCard .time {
  font-size: 13px;
  margin-bottom: 15px;
}
.frame_quickCard .tit {
  font-size: 16px;
  font-weight: 700;
  word-break: keep-all;
}
.frame_quickCard .icon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 58px;
  height: 58px;
}
.frame_quickCard .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quickCardWrap {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 10px;
  padding-left: 16px;
  padding-right: 16px;
  margin-left: -16px;
  margin-right: -16px;
}

.reportWrap:has(.noData:only-child) .count {
  display: none;
}
.reportWrap:has(.noData:only-child) .read {
  opacity: 0.5;
}
.reportWrap .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.reportWrap h1 {
  display: inline;
  float: left;
  margin: 0;
}
.reportWrap .count {
  float: left;
  margin-top: 3px;
  margin-left: 7px;
  border-radius: 20px;
  width: 24px;
  height: 24px;
  background-color: var(--primary);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.reportWrap .read {
  background-color: rgba(255, 114, 114, 0.15);
  padding: 7.5px 10px;
  border-radius: 20px;
  border: 0;
  color: #EB3C3C;
}
.reportWrap .reportList {
  margin-top: 24px;
  min-height: 120px;
  text-align: center;
  color: #81868B;
  margin-bottom: 17px;
}
.reportWrap .reportList .noData {
  display: none;
  padding-top: 37px;
}
.reportWrap .reportList .noData:only-child {
  display: block;
}
.reportWrap .reportList .report {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 13px 17px 20px;
  width: 100%;
  border-radius: 8px;
  background-color: var(--lightGrey1);
  height: 56px;
  font-size: 18px;
  box-sizing: border-box;
  margin-bottom: 8px;
  color: #000;
}
.reportWrap .reportList .report::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/arr_24_g.svg) center/cover no-repeat;
}
.reportWrap .reportList .report:last-child {
  margin-bottom: 0;
}

.storeItemWrap {
  overflow: hidden;
}

.storeItem {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.storeItem .imgWrap {
  width: 107px;
  height: 107px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  margin-right: 18px;
  flex: 0 0 auto;
}
.storeItem .imgWrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.03;
  position: absolute;
  top: 0;
  left: 0;
}
.storeItem .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.storeItem .textWrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.storeItem .brand {
  font-size: 14px;
  color: #59636A;
  margin: 7px 0;
}
.storeItem .name {
  font-size: 15px;
  font-weight: 700;
  height: 43px;
  margin-bottom: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.newsList {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 6px;
}

.frame_newsItem {
  flex: 1 0 33.3%;
  max-width: 33.3%;
  width: 33.3%;
  padding: 0 7px;
  box-sizing: border-box;
  margin-bottom: 12px;
  list-style: none;
}
.frame_newsItem .imgWrap {
  width: 107px;
  height: 107px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  margin-right: 18px;
  flex: 0 0 auto;
}
.frame_newsItem .imgWrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.03;
  position: absolute;
  top: 0;
  left: 0;
}
.frame_newsItem .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.frame_newsItem .imgWrap {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 8px;
}
.frame_newsItem .imgWrap img {
  width: 100%;
  transition: 0.3s ease-in-out;
}
.frame_newsItem .imgWrap::before {
  display: none;
}
.frame_newsItem .text {
  font-size: 13px;
  margin: 8px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
.frame_newsItem .date {
  font-size: 13px;
  color: #717171;
}
.frame_newsItem:hover .imgWrap img {
  transform: scale(1.03);
}
.frame_newsItem:hover .text {
  text-decoration: underline;
}

.frame_paging {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 24px 0;
}
.frame_paging .arr-r,
.frame_paging .arr-l {
  width: 36px;
  height: 36px;
  background: transparent url(../img/arr_paging.svg) center/cover no-repeat;
  border: 0;
  cursor: pointer;
  margin: 0 20px;
}
.frame_paging .arr-r {
  transform: rotate(180deg);
}
.frame_paging .allPage {
  font-size: 12px;
  color: #717171;
}
.frame_paging .currentPage {
  font-size: 18px;
  font-weight: 700;
  margin-right: 7px;
}

.newsContents img {
  width: 100%;
  display: block;
}

.anotherNews .top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding: 0 16px;
  padding-top: 33px;
  box-sizing: border-box;
}
.anotherNews .top .goToList {
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 63px;
  height: 34px;
  margin-bottom: 13px;
}
.anotherNews .top .goToList::before {
  content: "";
  width: 9px;
  height: 9px;
  background: url(../img/ic_list.svg) no-repeat;
}
.anotherNews .listWrap {
  margin: 22px 0;
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.anotherNews .listWrap .item .anchorWrap {
  border-radius: 8px;
  background-color: #fff;
  padding: 18px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #717171;
}
.anotherNews .listWrap .item .anchorWrap .tit {
  flex: 1 0 auto;
}
.anotherNews .listWrap .item .anchorWrap .date {
  flex: 0 0 auto;
}
.anotherNews .frame_bottomBtn {
  background-color: transparent;
}
.anotherNews .frame_bottomBtn .btn-mainArr::after {
  display: none;
}

.frame_tipBanner a {
  background: center/cover no-repeat;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 17px 26px;
  position: relative;
  width: 100%;
  height: auto;
  min-height: 120px;
  box-sizing: border-box;
  display: block;
  border-radius: 8px;
}
.frame_tipBanner .subTit {
  font-size: 14px;
  margin-bottom: 9px;
}
.frame_tipBanner .tit {
  font-size: 18px;
}
.frame_tipBanner .badge {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 20px;
  background-color: rgba(12, 12, 12, 0.5);
}

.rowAnchorLabel {
  font-size: 14px;
  color: #7A7A7A;
  padding: 0 16px;
  margin-bottom: 8px;
  margin-top: 20px;
}

.frame_rowAnchor {
  margin-top: 10px;
}
.frame_rowAnchor a {
  border-radius: 8px;
  background-color: #f6f6f6;
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 11px 16px;
}
.frame_rowAnchor a img {
  width: 38px;
  aspect-ratio: 1/1;
  display: block;
}
.frame_rowAnchor a strong {
  font-weight: 700;
}
.frame_rowAnchor a::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/arr_24_g.svg) center/cover no-repeat;
  width: 24px;
  height: 24px;
}
.frame_rowAnchor.whiteVer {
  margin: 0;
}
.frame_rowAnchor.whiteVer a {
  border-radius: 0;
  background-color: #fff;
  padding: 16px;
  font-size: 14px;
}

.twoCard .guide {
  line-height: 1.7;
  margin-bottom: 13px;
}
.twoCard .flex {
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.twoCard .flex .frame_quickCard {
  flex: 1 0 auto;
}
.twoCard .leftBx {
  flex: 1 0 auto;
  width: 164px;
}
.twoCard .leftBx .date {
  font-size: 12px;
  margin-bottom: 5px;
}
.twoCard .leftBx h1 {
  color: var(--primary);
}

.conWrap:has(.healthSummary) {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
}

.healthSummary {
  margin-left: -16px;
  margin-right: -16px;
  background-color: #0C0D1B;
  padding: 24px 0;
  color: #fff;
}
.healthSummary h1 {
  margin-bottom: 38px;
  padding: 0 25px;
}
.healthSummary .status {
  position: relative;
  z-index: 0;
}
.healthSummary .status::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 9px;
  background-color: #3940A0;
  z-index: -1;
}
.healthSummary .infoAlert {
  display: inline-block;
  border: 0;
  width: 32px;
  height: 32px;
  background: url(../img/ic_32_info.svg) center no-repeat;
  vertical-align: bottom;
  margin-left: 8px;
}
.healthSummary .cardWrap {
  display: flex;
  justify-content: space-between;
  gap: 5px;
}
.healthSummary .healthCard {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  flex: 1 0 0;
  border-radius: 15px;
  padding: 10px;
  padding-bottom: 20px;
  gap: 10px;
}
.healthSummary .healthCard .circle {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #E5E5E5;
  display: flex;
  justify-content: center;
  align-items: center;
}
.healthSummary .healthCard .circle img {
  width: 24px;
  height: 24px;
}
.healthSummary .healthCard .name {
  font-size: 21px;
  font-weight: 700;
  color: #242424;
}
.healthSummary .healthCard .barWrap {
  border-radius: 20px;
  height: 5px;
  background-color: #FF584E;
  width: 100%;
  position: relative;
}
.healthSummary .healthCard .barWrap .bar-yellow {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: #FFD850;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.healthSummary .healthCard .barWrap .bar-green {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: #5FCE8C;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.healthSummary .healthCard .barWrap .value-arr {
  border-top: 5px solid #000;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 0;
  position: absolute;
  top: -8px;
  transform: translateX(-5px);
}
.healthSummary .healthCard .value {
  font-size: 14px;
  color: #777;
  margin-top: -6px;
}
.healthSummary .healthCard .result {
  font-size: 14px;
  font-weight: 700;
}
.healthSummary .healthCard .result .green,
.healthSummary .healthCard .result .yellow,
.healthSummary .healthCard .result .red {
  display: flex;
  align-items: center;
  gap: 8px;
}
.healthSummary .healthCard .red {
  color: var(--red);
}
.healthSummary .healthCard .yellow {
  color: var(--yellow);
}
.healthSummary .healthCard .green {
  color: var(--green);
}
.healthSummary .anchorDown {
  margin: 0 26px;
  margin-top: 38px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.07);
}
.healthSummary .anchorDown::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/arr_18_w.svg) center no-repeat;
  transform: rotate(90deg);
}

.greyCard {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 19px;
  border-radius: 8px;
  border: 1px solid #EFEFEF;
  background: #FFF;
  box-shadow: 0px 0px 25px 0px rgba(96, 16, 16, 0.05) inset;
  color: #777;
  font-size: 14px;
  flex: 1 0 auto;
  height: 127px;
}
.greyCard .value {
  color: #000;
  font-size: 21px;
  font-weight: 700;
}

.tab {
  background-color: #fff;
  display: flex;
  margin-left: -16px;
  margin-right: -16px;
  padding-top: 59px;
}
.tab .anchor {
  height: 55px;
  border-bottom: 1px solid var(--lightGrey2);
  border-top: 8px solid #F6F7F8 !important;
  color: 777;
  flex: 1 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tab .anchor.ac {
  border-color: #000;
  color: #000;
}

.tabCon .tit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
  margin-bottom: 7px;
}
.tabCon .tit .name {
  font-weight: 700;
}
.tabCon .tit .legend {
  font-size: 14px;
  color: #777;
}
.tabCon .result {
  text-align: center;
}
.tabCon .result .number {
  font-size: 42px;
  font-weight: 700;
}
.tabCon .result .progressType {
  font-size: 14px;
  color: #777;
}
.tabCon .result .progress {
  margin: 0 auto;
  width: 66%;
  height: 5px;
  margin-bottom: 10px;
  background-color: var(--lightGrey2);
  border-radius: 8px;
  overflow: hidden;
}
.tabCon .result .progress .value {
  height: 100%;
  background-color: black;
}
.tabCon .result .smile {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  float: left;
}
.tabCon .result .text {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  float: left;
  margin-left: 10px;
}
.tabCon .result .textWrap {
  display: inline-block;
  margin: 0 auto;
}
.tabCon .result .textWrap::after {
  content: "";
  clear: both;
  display: block;
}
.tabCon .result.result-green .value {
  background-color: var(--green);
}
.tabCon .result.result-green .smile {
  background-image: url(../img/smile_green.svg);
}
.tabCon .result.result-green .text {
  color: var(--green);
}
.tabCon .result.result-yellow .value {
  background-color: var(--yellow);
}
.tabCon .result.result-yellow .smile {
  background-image: url(../img/smile_yellow.svg);
}
.tabCon .result.result-yellow .text {
  color: var(--yellow);
}
.tabCon .result.result-red .value {
  background-color: var(--red);
}
.tabCon .result.result-red .smile {
  background-image: url(../img/smile_red.svg);
}
.tabCon .result.result-red .text {
  color: var(--red);
}

.chartWrap {
  padding-top: 17px;
}

.chartTop {
  text-align: center;
}

.chartName {
  font-size: 14px;
  font-weight: 700;
  padding: 3px 14px;
  border-radius: 14px;
  background-color: var(--lightGrey2);
  display: inline-block;
  margin-bottom: 14px;
}

.chart-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--lightGrey2);
}
.chart-bar .item:last-child .bar {
  background-color: var(--primary);
}
.chart-bar.result-green .item:last-child .bar {
  background-color: var(--green);
}
.chart-bar.result-yellow .item:last-child .bar {
  background-color: var(--yellow);
}
.chart-bar.result-red .item:last-child .bar {
  background-color: var(--red);
}
.chart-bar .item {
  width: 0;
  height: 84px;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-top: 40px;
}
.chart-bar .item .value {
  font-size: 14px;
  font-weight: 700;
}
.chart-bar .item .date {
  font-size: 14px;
  color: #777;
}
.chart-bar .item .bar {
  width: 30px;
  border-radius: 8px 8px 0 0;
  min-height: 6px;
  background-color: var(--lightGrey2);
  flex: 0 0 auto;
}
.chart-bar .dualBar {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  flex: 1 0 auto;
}
.chart-bar .dualBar .bar {
  width: 20px;
}
.chart-bar .dualBar > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.reportMsg {
  margin-top: 30px;
}
.reportMsg .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  margin-bottom: 10px;
}
.reportMsg .msgBx {
  font-size: 14px;
  padding: 10px;
  border-radius: 8px;
  background-color: var(--lightGrey1);
}
.reportMsg .detailView {
  font-size: 13px;
}
.reportMsg .detailView::after {
  width: 12px;
  height: 12px;
  background-size: contain;
  margin-left: 9px;
}

.druckerBanner {
  background: url(../img/banner_sub_03.jpg) center/cover no-repeat;
  margin-left: -16px;
  margin-right: -16px;
  padding: 20px 16px;
  height: 208px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.druckerBanner p {
  font-size: 15px;
  color: #fff;
  font-weight: 400;
}
.druckerBanner strong {
  font-size: 15px;
  color: #fff;
  font-weight: 700;
}
.druckerBanner .from {
  font-size: 12px;
  color: #C3D4CB;
}

.foodSummary {
  margin-left: -16px;
  margin-right: -16px;
  font-size: 14px;
  overflow: hidden;
  margin-bottom: 16px;
}
.foodSummary .status {
  padding: 20px;
  color: var(--primary);
  text-align: center;
}
.foodSummary .bg {
  background-image: var(--gra);
  color: #fff;
  margin-bottom: 16px;
  height: 93px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.foodSummary .nextMeal {
  font-size: 16px;
  font-weight: 700;
}
.foodSummary .control {
  display: flex;
  justify-content: space-between;
}
.foodSummary .control a {
  flex: 1 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 51px;
  border: 1px solid var(--lightGrey2);
}
.foodSummary .control a:first-child {
  border-left: 0;
  border-right: 0;
}
.foodSummary .control a:last-child {
  border-right: 0;
}

.meal {
  padding: 24px 20px;
  border-radius: 8px;
  border: 1px solid var(--lightGrey2);
  display: flex !important;
  flex-direction: column;
  gap: 16px;
}
.meal .flexBx {
  justify-content: space-between;
}
.meal .time {
  color: #696969;
  font-weight: 700;
}
.meal .kcal {
  font-weight: 700;
}
.meal .mealMenu {
  color: #808080;
}
.meal .graph-progress .item {
  margin-bottom: 14px;
}
.meal .graph-progress .item:last-child {
  margin-bottom: 0;
}
.meal .graph-progress .item .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.meal .graph-progress .item .text .per {
  font-weight: 700;
}
.meal .graph-progress .item .text .per em {
  color: #717171;
  font-weight: 400;
}
.meal .graph-progress .item .progress {
  margin-top: 8px;
  height: 5px;
  background-color: var(--lightGrey2);
  width: 100%;
}
.meal .graph-progress .item .progress .value {
  height: 100%;
  background-color: var(--primary);
}

.conWrapDonut .graph-progress .item {
  margin-bottom: 14px;
}
.conWrapDonut .graph-progress .item:last-child {
  margin-bottom: 0;
}
.conWrapDonut .graph-progress .item .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.conWrapDonut .graph-progress .item .text .per {
  font-weight: 700;
}
.conWrapDonut .graph-progress .item .text .per em {
  color: #717171;
  font-weight: 400;
}
.conWrapDonut .graph-progress .item .progress {
  margin-top: 8px;
  height: 5px;
  background-color: var(--lightGrey2);
  width: 100%;
}
.conWrapDonut .graph-progress .item .progress .value {
  height: 100%;
  background-color: var(--primary);
}

.graph-donut {
  width: 180px;
  height: 180px;
  background-image: conic-gradient(var(--primary) 0% 0%, var(--lightGrey1) 0 100%);
  margin: 30px auto;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.graph-donut .whiteHole {
  width: 84px;
  height: 84px;
  border-radius: 100%;
  background-color: #fff;
  color: #777;
  font-size: 13px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 5px;
}
.graph-donut .whiteHole .value {
  font-size: 21px;
  font-weight: 700;
  color: #000;
}
.graph-donut .whiteHole .value:after {
  content: " %";
  font-size: 14px;
}

.refType {
  margin-top: 60px;
  text-align: center;
}
.refType .graph-progress .item {
  margin-bottom: 14px;
}
.refType .graph-progress .item:last-child {
  margin-bottom: 0;
}
.refType .graph-progress .item .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.refType .graph-progress .item .text .per {
  font-weight: 700;
}
.refType .graph-progress .item .text .per em {
  color: #717171;
  font-weight: 400;
}
.refType .graph-progress .item .progress {
  margin-top: 8px;
  height: 5px;
  background-color: var(--lightGrey2);
  width: 100%;
}
.refType .graph-progress .item .progress .value {
  height: 100%;
  background-color: var(--primary);
}
.refType .graph-progress .item .progress {
  margin-top: 14px;
  margin-bottom: 80px;
}
.refType .date {
  color: #777;
  font-size: 13px;
  text-align: center;
}
.refType .standard {
  display: inline-block;
  padding: 10px;
  background-color: #7E7E7E;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  position: relative;
  margin-top: 16px;
}
.refType .standard::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  width: 1px;
  height: 16px;
  background-color: #7e7e7e;
  margin: 0 auto;
}
.refType .value {
  position: relative;
}
.refType .value .line {
  position: absolute;
  right: 0;
  bottom: 5px;
  width: 1px;
  height: 40px;
  background-color: #7e7e7e;
}
.refType .accumulateWrap {
  padding: 0 20px;
}
.refType .accumulateWrap .accumulateRail {
  position: relative;
}
.refType .accumulateWrap .accumulateRail .accumulate {
  white-space: nowrap;
  position: absolute;
  right: 0;
  bottom: 40px;
  transform: translateX(50%);
  display: inline-block;
  padding: 10px;
  background-color: #7E7E7E;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
}

.tabBody {
  display: none;
  padding-top: 28px;
}
.tabBody.ac {
  display: block;
}
.tabBody .flexBx {
  justify-content: space-between;
  align-items: center;
}
.tabBody h1 {
  margin-bottom: 0;
}
.tabBody .legend {
  font-size: 13px;
  color: #777;
}
.tabBody .currentValue {
  font-size: 21px;
  font-weight: 700;
  color: var(--primary);
  margin-top: 4px;
  margin-bottom: 28px;
}
.tabBody .detailView {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.inputBarHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  margin-top: 20px;
}
.inputBarHead h1 {
  font-size: 18px;
  margin: 0;
}
.inputBarHead .detailView {
  font-size: 14px;
  font-weight: 500;
}
.inputBarHead .detailView::after {
  display: none;
}

.inputBar {
  width: 100%;
  padding: 17px 16px;
  background-color: #fff;
  border: 0;
  border-top: 1px solid #E2E8EE;
  font-size: 16px;
  color: #000;
}
.inputBar .record {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.inputBar .record .key {
  font-size: 16px;
}
.inputBar .record .value {
  font-weight: 700;
}
.inputBar .record .legend {
  color: #7A7A7A;
  margin-left: 4px;
}
.inputBar .record .status {
  margin-left: 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  width: 42px;
  height: 23px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.inputBar .record .status.abnormal {
  background: rgba(255, 8, 8, 0.2);
  color: var(--red);
}
.inputBar .record .status.normal {
  background: rgba(26, 188, 23, 0.2);
  color: var(--green);
}
.inputBar .record .insertData {
  color: #AEAEAE;
  font-size: 14px;
  line-height: 23px;
}
.inputBar .record .recordData {
  display: flex;
  align-items: center;
}
.inputBar .update {
  margin-top: 8px;
  text-align: right;
  color: #A9A9A9;
  font-size: 12px;
}
.inputBar.multi .record {
  flex-direction: column;
  align-items: flex-start;
}
.inputBar.multi .key {
  margin-bottom: 14px;
}
.inputBar.multi .list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 6px 0;
}
.inputBar.multi .list h3 {
  font-size: 16px;
  color: #888888;
}

.myHealthHistory .noItem {
  display: none;
  font-size: 16px;
  color: #a9a9a9;
  text-align: center;
  width: 100%;
  height: 100%;
  height: calc(100vh - 164px);
}
.myHealthHistory .noItem:only-child {
  display: flex;
  justify-content: center;
  align-items: center;
}
.myHealthHistory .item {
  padding: 16px 12px 0;
}
.myHealthHistory .item .date {
  font-size: 16px;
  color: #717171;
  margin-bottom: 6px;
  margin-left: 8px;
}
.myHealthHistory .item .card {
  padding: 20px 16px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #E2E8EE;
}
.myHealthHistory .item .card .list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.myHealthHistory .item .card .list + .list {
  margin-top: 12px;
}
.myHealthHistory .item .card .label {
  color: #888;
}
.myHealthHistory .item .card .recordData {
  display: flex;
  align-items: center;
  gap: 4px;
}
.myHealthHistory .item .card .value {
  color: #000;
  font-weight: 700;
}
.myHealthHistory .item .card .legend {
  color: #7a7a7a;
}

.reportSummary {
  margin-bottom: 40px;
}
.reportSummary .top {
  padding: 10px 16px 21px;
  font-size: 16px;
}
.reportSummary .twoCard {
  display: flex;
  gap: 10px;
}
.reportSummary .twoCard .card {
  flex: 1 0 auto;
  height: 127px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  border-radius: 8px;
  border: 1px solid #EFEFEF;
  background: #FFF;
  box-shadow: 0px 0px 25px 0px rgba(96, 16, 16, 0.05) inset;
}
.reportSummary .twoCard .card img {
  background-color: #F1F4F8;
  border-radius: 50%;
}
.reportSummary .twoCard .card .type {
  font-size: 14px;
  color: #777;
}
.reportSummary .twoCard .card .count {
  font-size: 21px;
  font-weight: 700;
}
.reportSummary .score {
  display: flex;
  align-items: flex-end;
  margin-bottom: 8px;
}
.reportSummary .score .month {
  margin-bottom: 10px;
}
.reportSummary .score .month,
.reportSummary .score .total {
  font-size: 32px;
  font-weight: 700;
  margin-right: 8px;
}
.reportSummary .score .percent {
  font-size: 13px;
  color: #fff;
  background-color: var(--primary);
  padding: 3px 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 20px;
  margin-left: 12px;
}
.reportSummary .score .percent::before {
  content: "";
  display: block;
}
.reportSummary .score .percent.up::before {
  width: 7px;
  border: 5px solid transparent;
  border-top: 0;
  border-bottom: 5.5px solid #fff;
  box-sizing: border-box;
}
.reportSummary .score .percent.down::before {
  width: 7px;
  border: 5px solid transparent;
  border-bottom: 0;
  border-top: 5.5px solid #fff;
  box-sizing: border-box;
}
.reportSummary .target {
  opacity: 0.5;
  font-size: 14px;
}
.reportSummary .reportTable {
  background-color: #fff;
}
.reportSummary .reportTable table {
  table-layout: fixed;
  width: 100%;
  font-size: 14px;
}
.reportSummary .reportTable th, .reportSummary .reportTable td {
  box-sizing: border-box;
  height: 42px;
  vertical-align: middle;
  padding: 16px 4px;
  text-align: center;
  box-sizing: border-box;
}
.reportSummary .reportTable th {
  color: #717171;
  border-bottom: 1px solid #F6F7F8;
}
.reportSummary .reportTable td:nth-child(1) {
  text-align: left;
  padding-left: 16px;
}

.perTarget {
  padding: 20px 16px;
  background-color: #fff;
  text-align: center;
  position: relative;
  margin-top: -8px;
}
.perTarget h3 {
  font-size: 16px;
  color: #777;
  margin-bottom: 8px;
}
.perTarget .legend {
  font-size: 14px;
  color: #777;
  position: absolute;
  right: 16px;
  top: 20px;
}
.perTarget .flexBx {
  justify-content: center;
  align-items: flex-end;
}
.perTarget .performance {
  font-size: 24px;
  color: #000;
  font-weight: 700;
}
.perTarget .target {
  font-size: 16px;
  color: var(--primary);
  margin-bottom: 5px;
}
.perTarget .percent {
  font-size: 13px;
  color: #fff;
  background-color: var(--primary);
  padding: 3px 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 20px;
  margin-left: 12px;
}
.perTarget .percent::before {
  content: "";
  display: block;
}
.perTarget .percent.up::before {
  width: 7px;
  border: 5px solid transparent;
  border-top: 0;
  border-bottom: 5.5px solid #fff;
  box-sizing: border-box;
}
.perTarget .percent.down::before {
  width: 7px;
  border: 5px solid transparent;
  border-bottom: 0;
  border-top: 5.5px solid #fff;
  box-sizing: border-box;
}
.perTarget .percent {
  margin: 0;
  margin-top: 7px;
  display: inline-flex;
}

.rowValue {
  background-color: #fff;
  margin-top: 1px;
  padding: 10px 26px;
}
.rowValue .label {
  font-size: 14px;
  color: #777;
  margin-bottom: 9px;
}
.rowValue .flexBx {
  justify-content: space-between;
  align-items: center;
}
.rowValue .value {
  font-size: 16px;
}
.rowValue .status {
  margin-left: 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  width: 42px;
  height: 23px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.rowValue .status.abnormal {
  background: rgba(255, 8, 8, 0.2);
  color: var(--red);
}
.rowValue .status.normal {
  background: rgba(26, 188, 23, 0.2);
  color: var(--green);
}

.targetGraph {
  text-align: center;
  position: relative;
  background-color: #fff;
  padding: 20px;
  margin-top: 1px;
}
.targetGraph .legend {
  display: flex;
  align-items: center;
  gap: 10px;
  position: absolute;
  top: 20px;
  right: 20px;
}
.targetGraph .legend img {
  width: 16px;
}
.targetGraph .chart-bar {
  border-bottom: 0;
  margin-top: 20px;
  padding-left: 20%;
  padding-right: 20%;
}
.targetGraph .chart-bar.targetType .item {
  position: relative;
  height: 120px;
}
.targetGraph .chart-bar.targetType .item .targetLine {
  position: absolute;
  width: 66%;
  left: 0;
  right: 0;
  margin: 0 auto;
  border-bottom: 1px dashed #4e4e4e;
}
.targetGraph .roundName {
  display: inline-block;
  padding: 9px 20px;
  border-radius: 30px;
  background-color: #EBECED;
  font-size: 14px;
  color: #777;
}

.programFood {
  margin-top: 5px;
  margin-bottom: 35px;
  text-align: center;
  background: linear-gradient(180deg, #8DEA8B 0%, #AFEA8B 100%);
  display: flex;
  padding: 30px 16px;
  flex-direction: column;
  align-items: center;
}
.programFood .imgWrap {
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 8px;
}
.programFood h1 {
  color: #133F08;
  margin: 0;
}
.programFood .btn-subArr {
  margin-bottom: 10px;
}
.programFood p {
  color: #3E8330;
  font-size: 14px;
  text-align: center;
}

.emojiTit {
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  margin-top: 24px;
}
.emojiTit img {
  width: 24px;
}

.rankWrap {
  padding: 25px;
  display: flex;
  gap: 25px;
}
.rankWrap .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
}
.rankWrap .item .circle {
  width: 70%;
  min-width: 80px;
  aspect-ratio: 1/1;
  border-radius: 120px;
  background-color: #F1F4F8;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4px;
}
.rankWrap .item .circle .rank {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 14px;
  border-radius: 4px;
  background-color: #000;
}
.rankWrap .item .count {
  font-weight: 700;
  color: #717171;
  font-size: 14px;
}

.chart-rail {
  padding: 20px 24px;
  position: relative;
}
.chart-rail .legend {
  position: absolute;
  right: 24px;
  top: 20px;
  color: #717171;
  font-size: 14px;
}
.chart-rail .value {
  font-size: 21px;
  font-weight: 700;
  margin-top: 9px;
}
.chart-rail .rail {
  margin-top: 80px;
  margin-bottom: 52px;
  width: 100%;
  height: 10px;
  background: linear-gradient(90deg, rgba(136, 161, 249, 0.6) 0%, rgba(255, 166, 147, 0.6) 100%);
  position: relative;
}
.chart-rail .rail .bar {
  width: 25%;
  height: 100%;
  position: absolute;
  top: 0;
}
.chart-rail .rail .badge {
  white-space: nowrap;
  padding: 10px;
  border-radius: 4px;
  background-color: #7e7e7e;
  color: #fff;
  font-size: 12px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.chart-rail .rail .badge::after {
  content: "";
  width: 1px;
  height: 16px;
  position: absolute;
  background-color: #7e7e7e;
  left: 50%;
  transform: translateX(-50%);
}
.chart-rail .rail .standard {
  top: -52px;
}
.chart-rail .rail .standard::after {
  bottom: -16px;
}
.chart-rail .rail .performance {
  bottom: -52px;
}
.chart-rail .rail .performance::after {
  top: -16px;
}
.chart-rail .rail.plus .bar {
  left: 50%;
  background: #FF3535;
}
.chart-rail .rail.plus .performance {
  left: 75%;
}
.chart-rail .rail.minus .bar {
  left: 25%;
  background: #1F4AF5;
}
.chart-rail .rail.minus .performance {
  left: 25%;
}

.rowBetween {
  display: flex;
  justify-content: space-between;
  padding: 20px 26px;
  background-color: #fff;
}
.rowBetween .value {
  color: var(--primary);
}

.programVisual {
  background: var(--gra, linear-gradient(180deg, #FF6B63 0%, #FF50A4 100%));
  padding: 30px 16px 26px;
  margin-bottom: 20px;
}
.programVisual h1 {
  color: #fff;
  margin-bottom: 14px;
}
.programVisual .itemWrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow: auto;
  width: calc(100% + 32px);
  margin-left: -16px;
  margin-right: -16px;
  padding: 0 16px;
  box-sizing: border-box;
}
.programVisual .itemWrap .item {
  flex: 0 0 auto;
  width: 160px;
  height: 215px;
  padding: 17px 12px 20px;
  background-color: #fff;
  border-radius: 8px;
  position: relative;
  box-sizing: border-box;
}
.programVisual .itemWrap .item .type {
  display: inline-block;
  width: auto;
  color: #434B55;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  background-color: #F1F4F8;
  border-radius: 40px;
  margin-left: -4px;
  margin-bottom: 8px;
}
.programVisual .itemWrap .item .name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  word-break: keep-all;
}
.programVisual .itemWrap .item img {
  width: 44px;
  position: absolute;
  left: 16px;
  bottom: 52px;
}
.programVisual .itemWrap .item .detailView {
  position: absolute;
  left: 12px;
  bottom: 20px;
}
.programVisual .feature {
  display: flex;
  justify-content: space-around;
}
.programVisual .feature .item {
  flex: 1 0 auto;
  text-align: center;
  color: #fff;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.programVisual .feature .item .circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background-color: #F1F4F8;
  font-size: 16px;
  color: #000;
  margin-bottom: 10px;
}
.programVisual.detail {
  text-align: center;
  padding-bottom: 53px;
}
.programVisual.detail h1 {
  margin-bottom: 44px;
}
.programVisual.detail .guideIcon {
  border: 0;
  background-color: transparent;
  padding: 13px;
}

.inner {
  padding: 0 16px;
  box-sizing: border-box;
  width: 100%;
}

.h1 {
  font-size: 18px;
  padding: 10px 16px;
  margin-bottom: 0;
}

.h2 {
  padding: 10px 26px;
}

.frame_rowAnchor3,
.frame_rowAnchor2 {
  display: block;
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  padding: 20px 16px;
  box-sizing: border-box;
}
.frame_rowAnchor3 + .frame_rowAnchor3,
.frame_rowAnchor3 + .frame_rowAnchor2,
.frame_rowAnchor2 + .frame_rowAnchor3,
.frame_rowAnchor2 + .frame_rowAnchor2 {
  margin-top: 10px;
}
.frame_rowAnchor3::after,
.frame_rowAnchor2::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/arr_24_g.svg) center/cover no-repeat;
  width: 24px;
  height: 24px;
}
.frame_rowAnchor3 .type,
.frame_rowAnchor2 .type {
  color: #717171;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
.frame_rowAnchor3 .name,
.frame_rowAnchor2 .name {
  font-weight: 700;
}

.frame_rowAnchor3::after {
  display: none;
}
.frame_rowAnchor3 .detailView {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.mealPlan .item {
  display: flex;
  font-size: 16px;
  padding: 16px 20px;
  background-color: #fff;
}
.mealPlan .item + .item {
  margin-top: 5px;
}
.mealPlan .item .day {
  font-weight: 700;
  flex: 0 0 80px;
}
.mealPlan .item .kcal {
  color: var(--primary);
  font-weight: 700;
  margin-bottom: 5px;
}
.mealPlan .item .menu {
  font-size: 14px;
  color: #717171;
  line-height: 1.62;
}
.mealPlan.tabContents {
  display: none;
}
.mealPlan.tabContents.ac {
  display: block;
}

.mealPlanTab {
  width: 100%;
  overflow: hidden;
}
.mealPlanTab .scrollWrap {
  white-space: nowrap;
  overflow: auto;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap;
  border-bottom: 1px solid #ddd;
}
.mealPlanTab .item {
  cursor: pointer;
  flex: 0 0 auto;
  margin: 0;
  width: 93px;
  height: 51px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #717171;
  border-bottom: 1px solid transparent;
}
.mealPlanTab .item.ac {
  color: #000;
  border-bottom: 1px solid #000;
}
.mealPlanTab.fullTab .scrollWrap {
  overflow: hidden;
}
.mealPlanTab.fullTab .item {
  flex: 1 0 0;
}

.pageTit {
  margin-top: 40px;
  margin-bottom: 30px;
  padding: 0 16px;
}

.blackCard {
  border-radius: 8px;
  background-color: #333;
  padding: 20px;
  margin-top: 10px;
}
.blackCard .flexBx {
  justify-content: space-between;
  align-items: center;
}
.blackCard .flexBx + .flexBx {
  margin-top: 13px;
}
.blackCard .label {
  font-size: 14px;
  color: #fff;
}
.blackCard .value {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.blackCard .value.red {
  color: var(--red);
}

.whiteList {
  background-color: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.whiteList .item {
  padding: 12px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.whiteList .item .label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.whiteList .item .label .tit {
  font-weight: 700;
}
.whiteList .item .label .desc {
  font-size: 14px;
  color: var(--primary);
}
.editMeal {
  padding-bottom: 0;
  margin: 10px 0;
}
.editMeal .flexBx {
  justify-content: space-between;
  align-items: center;
}
.editMeal .top .time {
  font-size: 18px;
  font-weight: 700;
  margin-right: 10px;
}
.editMeal .top .kcal {
  color: var(--primary);
}
.editMeal .top button {
  font-size: 12px;
  padding: 10px;
  border: 0;
  background-color: #F1F4F8;
  border-radius: 4px;
  margin-left: 8px;
}
.editMeal .body {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 21px 0 23px;
  word-break: break-all;
}
.editMeal .body li {
  position: relative;
  font-size: 14px;
  color: #717171;
  padding-left: 90px;
  min-height: 24px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.editMeal .body li .type {
  position: absolute;
  top: 0;
  left: 0;
  width: 90px;
  font-weight: 700;
  padding: 3px 0;
}
.editMeal .body li .item {
  position: relative;
  width: 100%;
}
.editMeal .body li .value {
  padding: 3px 30px 0;
}
.editMeal .body li .checkboxImg {
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
}
.editMeal .bottom {
  display: flex;
  align-items: center;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  margin-left: -16px;
  margin-right: -16px;
}
.editMeal .bottom button {
  height: 42px;
  flex: 1 0 0;
  border: 0;
  text-indent: -9999px;
  overflow: hidden;
}
.editMeal .bottom button.up {
  background: #fff url(../img/edit_arr.svg) center no-repeat;
}
.editMeal .bottom button.down {
  background: #fff url(../img/edit_arr.svg) center no-repeat;
  transform: rotate(180deg);
}
.editMeal .bottom button.delete {
  background: #fff url(../img/edit_delete.svg) center no-repeat;
}

/* 식단 계획 diet_record_00 */
.diet_record_wrap {
  margin-bottom: 10px;
}
.diet_record_wrap .default_meal {
  padding: 1.375em;
}
.diet_record_wrap .default_meal div.tit {
  font-size: 0.875em;
  font-weight: bold;
}
.diet_record_wrap .default_meal ul {
  margin-top: 0.9375em;
}
.diet_record_wrap .default_meal li {
  position: relative;
  height: 79px;
  border-radius: 0.875em;
  overflow: hidden;
}
.diet_record_wrap .default_meal li + li {
  margin-top: 1.0625em;
}
.diet_record_wrap .default_meal li input {
  opacity: 0;
}
.diet_record_wrap .default_meal li label {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}
.diet_record_wrap .default_meal li input + label {
  display: flex;
  align-items: center;
  padding: 0 21px;
  background-color: #fff;
}
.diet_record_wrap .default_meal li input + label span.checkmark {
  display: inline-block;
  position: relative;
  width: 39px;
  height: 39px;
  background-color: #e8e8e8;
  border-radius: 100%;
}
.diet_record_wrap .default_meal li input + label span.checkmark::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 40%;
  height: 25%;
  border-width: 0 0 3px 3px;
  border-style: solid;
  border-color: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.diet_record_wrap .default_meal li input + label span.txt {
  margin-left: 0.4em;
  color: #838383;
  font-size: 1.3125em;
  font-weight: bold;
}
.diet_record_wrap .default_meal li input:checked + label {
  background-color: #3180ed;
}
.diet_record_wrap .default_meal li input:checked + label span.checkmark {
  background-color: #fff;
}
.diet_record_wrap .default_meal li input:checked + label span.checkmark::before {
  border-color: #3180ed;
}
.diet_record_wrap .default_meal li input:checked + label span.txt {
  color: #fff;
}

/* 달 선택 */
.calender_header {
  position: relative;
  padding-top: 20px;
  padding-bottom: 6px;
  background-color: #fff;
  text-align: center;
}
.calender_header > div {
  display: flex;
  justify-content: center;
  align-items: center;
}
.calender_header > div h2 {
  width: 120px;
  font-size: 20px;
  line-height: 19px;
  white-space: nowrap;
}
.calender_header > div button {
  position: relative;
  width: 36px;
  height: 36px;
  background: url(../img/cal_month_arr.svg) center no-repeat;
  border: 0;
  border-radius: 100%;
  overflow: hidden;
  cursor: pointer;
  color: transparent;
}
.calender_header > div button.next {
  transform: rotate(180deg);
}
.calender_header button.btnToday {
  position: absolute;
  top: 28px;
  right: 22px;
  color: var(--primary);
  font-size: 16px;
  font-weight: 700;
  border: 0;
  background-color: transparent;
}

/* 식단 기록 달력 */
.calender_month {
  padding: 0 1.125em;
  background-color: #fff;
}

.calender_week {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.calender_week span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 14.2857142857%;
  height: 48px;
  text-align: center;
  color: #444;
  font-size: 15px;
  padding-bottom: 6px;
}

.canelder_day {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  row-gap: 6px;
  padding: 6px 0 20px;
  border-top: 1px solid #d9d9d9;
  /* 기록된 */
}
.canelder_day div {
  position: relative;
  width: 14.2857142857%;
  text-align: center;
}
.canelder_day div span.day {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 42px;
  margin: 0 auto;
  color: #000;
  font-size: 15px;
  cursor: pointer;
}
.canelder_day div.today span.txt {
  position: absolute;
  top: 0;
  left: 50%;
  color: #A7A7A7;
  font-size: 11px;
  line-height: 15px;
  font-weight: bold;
  transform: translateX(-50%) translateY(-15px);
  white-space: nowrap;
}
.canelder_day div.today span.day {
  background-color: rgba(255, 114, 114, 0.2);
  background-color: #f6f7f8;
}
.canelder_day div.active span.day {
  background-color: var(--primary) !important;
  color: #fff;
  font-size: 12px;
}
.canelder_day div.dim span.day {
  color: #ddd;
}
.canelder_day div.recorded span.day {
  background-color: #ededed;
}

/* 선택한날 */
.selected_day {
  padding: 1.125em 1.125em 1em;
  background-color: #fff;
  border-width: 1px 0;
  border-style: solid;
  border-color: #49758b;
}

.selected_day p {
  font-size: 1.75em;
  line-height: 1.17857em;
  font-weight: bold;
}

.selected_day span {
  display: block;
  font-size: 1.125em;
  line-height: 1.21428em;
  opacity: 0.7;
}

.todayMeal {
  background-color: #fff;
}
.todayMeal .inner {
  padding: 0 16px;
}
.todayMeal .fullTab {
  margin-top: 30px;
}
.todayMeal .top {
  text-align: center;
  margin-bottom: 20px;
}
.todayMeal .top .subTit {
  color: #717171;
  font-size: 13px;
  margin-bottom: 5px;
}
.todayMeal .top .value {
  font-size: 32px;
  font-weight: 700;
  margin-right: 8px;
}
.todayMeal .mealMenu {
  padding: 20px;
  border-radius: 4px;
  background-color: #F6F7F8;
  font-size: 13px;
  margin-bottom: 20px;
}
.todayMeal .mealMenu ul {
  margin-bottom: 16px;
}
.todayMeal .mealMenu ul li + li {
  margin-top: 5px;
}
.todayMeal .mealMenu .btn-pass {
  background-color: #E7E9EC;
  color: #666A6F;
  font-size: 13px;
  font-weight: 700;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0;
  width: 100%;
  border-radius: 4px;
}
.todayMeal h3 {
  font-weight: 700;
}
.todayMeal .tabContents {
  display: none;
}
.todayMeal .tabContents.ac {
  display: block;
}

.errorMsg {
  text-align: center;
  margin: 0 auto;
  margin-top: 50vh;
  transform: translateY(-50%);
}
.errorMsg p {
  margin-top: 26px;
  margin-bottom: 26px;
  font-weight: 700;
}
.errorMsg a {
  color: var(--primary);
  font-weight: 700;
}

.newChart {
  text-align: center;
  margin: 20px 0;
}
.newChart .item {
  height: 194px;
}
.newChart .flexBx {
  justify-content: space-between;
  align-items: center;
}
.newChart h1 {
  margin: 0;
}
.newChart .legend {
  font-size: 13px;
  color: #777;
}
.newChart .chart-bar {
  margin-left: -16px;
  margin-right: -16px;
  margin-top: 30px;
  position: relative;
  border-bottom: 0;
  margin-bottom: 30px;
  padding-bottom: 0;
}
.newChart .chart-bar .limitLine {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  width: 100%;
}
.newChart .chart-bar .limitLine.grey {
  border-bottom: 1px dashed #4e4e4e;
}
.newChart .chart-bar .limitLine.green {
  border-bottom: 1px dashed #1ABC17;
}
.newChart .chart-bar .limitLine.yellow {
  border-bottom: 1px dashed #FFB21E;
}
.newChart .chart-bar .date {
  margin-top: 10px;
}
.newChart .limitFlex {
  margin-bottom: 20px;
}
.newChart .limit {
  color: #717171;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 13px;
}
.newChart .limit img {
  width: 16px;
  height: 16px;
}
.newChart h2 {
  font-size: 18px;
  margin-bottom: 17px;
}
.newChart h2 span {
  font-weight: 700;
}
.newChart h2 .result-green {
  color: var(--green);
}
.newChart h2 .result-red {
  color: var(--red);
}
.newChart h2 .result-yellow {
  color: var(--yellow);
}
.newChart .dataInfo {
  padding: 20px;
  font-size: 14px;
  color: #777;
  background-color: #F6F7F8;
  border-radius: 8px;
  text-align: left;
}
.newChart .dataInfo h3 {
  font-weight: 700;
  margin-bottom: 10px;
}
.newChart.fullColor {
  z-index: -1;
}
.newChart.fullColor .item {
  z-index: 0;
}
.newChart.fullColor .item.green .bar {
  background-color: var(--green);
}
.newChart.fullColor .item.yellow .bar {
  background-color: var(--yellow);
}
.newChart.fullColor .item.red .bar {
  background-color: var(--red);
}
.newChart.fullColor .item.blue .bar {
  background-color: #86D3FF;
}
.newChart.fullColor .limitBg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 0;
}
.newChart.fullColor .limitBg > div {
  width: 100%;
  opacity: 0.1;
}
.newChart.fullColor .limitBg .red {
  background-color: var(--red);
}
.newChart.fullColor .limitBg .yellow {
  background-color: var(--yellow);
}
.newChart.fullColor .limitBg .green {
  background-color: var(--green);
}
.newChart.fullColor .rect {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}
.newChart.fullColor .rect.red {
  background-color: var(--red);
}
.newChart.fullColor .rect.yellow {
  background-color: var(--yellow);
}
.newChart.fullColor .rect.green {
  background-color: var(--green);
}
.newChart.fullColor .rect.blue {
  background-color: #86D3FF;
}

/* coupon */
.frame_select Select {
  font-family: inherit; /* 폰트 상속 */
  background: url(../img/ic_selArr.svg) no-repeat 92% 50%;
  /* 네이티브 화살표를 커스텀 화살표로 대체 */
  -webkit-appearance: none;
  /* 네이티브 외형 감추기 */
  -moz-appearance: none;
  appearance: none;
  border-radius: 4px;
  border: 1px solid var(#9296A4);
  padding: 10px;
  padding-right: 20px;
  height: 39px;
}
.frame_select Select::-ms-expand {
  display: none; /* 화살표 없애기 for IE10, 11*/
}

.couponWrap {
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.moreBtn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 15px 50px;
  border-radius: 40px;
  border: 1px solid var(--newGrey3, #9296A4);
  width: auto;
  margin: 0 auto;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  color: #000;
}

.frame_coupon {
  display: block;
  box-sizing: border-box;
  border-radius: 8px;
  padding: 20px 20px 24px;
  position: relative;
}
.frame_coupon .tit {
  font-size: 18px;
  line-height: 120%;
  font-weight: 500;
  letter-spacing: -0.18px;
}
.frame_coupon .tit strong {
  font-weight: 800;
}
.frame_coupon .expiration {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.13px;
}
.frame_coupon .badge {
  position: absolute;
  top: 20px;
  right: 15px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.14px;
  color: #fff;
}
.frame_coupon.disabled {
  opacity: 0.3;
}
.frame_coupon.health {
  background: var(--gra, linear-gradient(180deg, #FF6B63 -7.99%, #FF50A4 117.83%));
  color: #fff;
  width: 100%;
  height: auto;
}
.frame_coupon.coffee {
  background: #F2F3F4;
}
.frame_coupon.coffee .tit {
  color: #000;
}
.frame_coupon.coffee .expiration {
  color: #AAA;
}
.frame_coupon.coffee .coupImg {
  position: absolute;
  top: 14px;
  right: 20px;
}
.frame_coupon.coffee .coupImg .state {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  color: #fff;
  padding: 4px 6px;
  background: #000;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.12px;
}
.frame_coupon.coffee.disabled .coupImg .state {
  display: block;
}

.couponCard {
  position: relative;
  padding: 24px;
  margin-bottom: 11px;
  text-align: center;
}
.couponCard.health {
  background: var(--gra, linear-gradient(180deg, #FF6B63 -7.99%, #FF50A4 117.83%));
  color: #fff;
}
.couponCard.coffee {
  background: #E0E6EC;
  padding-left: 40px;
  padding-right: 40px;
  text-align: left;
  margin-bottom: 34px;
}
.couponCard.coffee .desc {
  color: #000;
  text-align: left;
}
.couponCard.coffee .coffeeImg {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}
.couponCard .tit {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.16px;
}
.couponCard .desc {
  margin-top: 4px;
  color: #FFF;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.24px;
}
.couponCard::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  top: 50%;
  left: -8px;
  transform: translateY(-50%);
}
.couponCard::before {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
}

.couponID {
  border-radius: 8px;
  background: var(--newGrey, #EAEEF1);
  padding: 10px;
  width: 100%;
  color: #9296A4;
  font-size: 21px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 8px;
  box-sizing: border-box;
}

em {
  display: block;
  text-align: center;
  color: var(--newGrey3, #9296A4);
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.14px;
  margin-bottom: 34px;
}

.date {
  color: var(--newDarkGrey, #3F4148);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.14px;
  margin-bottom: 5px;
}

.guide {
  margin-top: 24px;
}
.guide .tit {
  color: var(--newGrey3, #9296A4);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.14px;
  margin-bottom: 23px;
}
.guide ul li {
  position: relative;
  color: var(--newGrey3, #9296A4);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.14px;
  padding-left: 21px;
  margin-bottom: 16px;
}
.guide ul li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: var(--newGrey3, #9296A4);
}

.mainBtn {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  height: 58px;
  padding: 0px 18px;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
  border-radius: 8px;
  background: #1F1F1F;
}

/*# sourceMappingURL=main.css.map */
