/* phonesafe_local takoong */
@charset "utf-8";

:root {
  --main-color: #009ddf;
  --main-disibled-color: #859296;
  --main-bg-color: #ecf0f1;
  --em-color: #ff5571;
  --required-color: #ff6060;
  --border-color: #aeaeae;
  --line-color: #aeaeae;
  --btn-color: #212121;
  --btn-dim-color: #d4d4d4;

  --color-safe: #1ea82c;
  --color-care: #fcaa33;
  --color-caution: #fcaa33;
  --color-warring: #ed1e19;
  --color-danger: #ed1e19;
  --color-check: #000;
}

/* 가로 스크롤 형식 공통 */
.scroll-wrapper {
  overflow-y: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.scroll-wrapper::-webkit-scrollbar {
  display: none !important;
}
.scroll-wrapper .scroll {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: inline-flex;
}
.scroll-wrapper .scroll .item {
  white-space: nowrap;
} /* 구분 칸 */
/* 가로 스크롤 형식 공통 */

body {
  background-color: #f5f5f5;
}

.wrap {
  margin: 0 auto;
  max-width: 720px;
}
.wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  min-width: 280px;
}
.header_wrap {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 720px;
  background-color: #fff;
  z-index: 1;
}
.container {
  height: 100vh;
}
.container_wrap {
  flex: 1;
}
.footer_wrap {
}

.content_wrap {
  width: 100%;
}

.content_wrap.divide {
  /* width: 90%;
  background: #fff;
  margin: 0 auto;
  border-radius: 12px; */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.content_wrap .content_center {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
/* header */
.header_wrap {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  max-width: 720px;
  margin: 0 auto;
}
.header_wrap div.temp {
  display: flex;
  justify-content: center;
  align-items: center; /* position:fixed; top:0; left:0; right:0; */
  width: 100%;
  max-width: 720px;
  height: 52px;
  margin: 0 auto;
  padding: 0 18px;
  background-color: #fff;
  border-radius: 0 0 24px 24px;
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  text-align: center;
  z-index: 10;
}
.header_wrap div.temp div.util {
  position: absolute;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
}
.header_wrap div.temp div.tools {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}
.header_wrap div.temp button {
  width: 36px;
  height: 36px;
}
.header_wrap div.temp h1 {
  padding: 12px 0 16px;
  line-height: 1;
}
.header_wrap div.temp h1 strong {
  display: block;
  font-size: 16px;
  line-height: 24px;
}
/* // header */

/* footer */
.footer_wrap {
  background-color: #f5f5f5;
}
.footer_wrap .footer_bbs {
}
.footer_wrap .footer_bbs ul {
  display: flex;
  padding: 8px 18px;
}
.footer_wrap .footer_bbs ul li {
  position: relative;
}
.footer_wrap .footer_bbs ul li ~ li {
  margin-left: 8px;
  padding-left: 9px;
}
.footer_wrap .footer_bbs ul li ~ li::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 10px;
  background-color: #ccc;
  transform: translateY(-50%);
}
.footer_wrap .footer_bbs ul li a {
}
.footer_wrap .footer_bbs ul li a span {
  display: block;
  color: #9f9f9f;
  font-size: 10px;
  line-height: 15px;
}
.footer_wrap .footer_info {
  padding: 18px;
  border-top: 0.5px solid #ccc;
}
.footer_wrap .footer_info p {
  color: #9f9f9f;
  font-size: 10px;
  line-height: 18px;
}
/* // footer */

/* 공지사항, 자주 묻는 질문 */
.board_container {
  height: auto !important;
}
.notice_arcodian_wrap {
  padding: 20px 18px 18px;
  background-color: #f5f5f5;
}
.notice_arcodian_wrap div.notice_filter div.select {
  padding-bottom: 18px;
  text-align: right;
}
.notice_arcodian_wrap div.notice_filter div.select select {
  width: auto;
  height: 37px;
  padding-right: 18px;
  padding-left: 8px;
  border: 0;
  border-bottom: 1px solid #000;
  background: url('/images/app/btn_arrow_list_d.png') no-repeat right center / 18px 18px;
  color: #000;
}
.notice_arcodian_wrap .list {
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
}
.notice_arcodian_wrap .list .item {
}
.notice_arcodian_wrap .list .item + .item {
  border-top: 1px solid #f8f8f8;
}
.notice_arcodian_wrap .list .item div.tit_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 64px;
  padding: 13px 50px 12px 18px;
}
.notice_arcodian_wrap .list .item div.tit_wrap {
  background: url('/images/app/ico_arrow_list_big_down.png') no-repeat right 18px center / 24px 24px;
}
.notice_arcodian_wrap .list .item div.tit_wrap div {
  display: flex;
  width: 100%;
  font-size: 14px;
}
.notice_arcodian_wrap .list .item div.tit_wrap div span {
  width: 20px;
  min-width: 20px;
}
.notice_arcodian_wrap .list .item div.tit_wrap p {
  flex: 1;
}
.notice_arcodian_wrap .list .item div.tit_wrap span.date {
  display: block;
  height: 18px;
  color: #999;
  font-size: 12px;
  line-height: 18px;
}
.notice_arcodian_wrap .list .item div.detail_wrap {
  display: none;
  font-size: 14px;
  color: #999;
  padding: 13px 18px 12px 18px;
  border-top: 1px solid #f8f8f8;
}
.notice_arcodian_wrap .list .item div.detail_wrap span {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
}
.notice_arcodian_wrap .list .item div.detail_wrap .inner {
  flex: 1;
}
.notice_arcodian_wrap .list .item.active div.tit_wrap {
  background-image: url('/images/app/ico_arrow_list_big_up.png');
}
.notice_arcodian_wrap .list .item.active div.detail_wrap {
  display: flex;
}
.select_filter + .notice_arcodian_wrap {
  padding-top: 0;
}
/* // 공지사항, 자주 묻는 질문 */

/* 이용안내 내용 */
.guide_wrap {
  overflow: hidden;
  width: 100%;
}
.guide_wrap .guide_info_wrap {
}
.guide_wrap .guide_info_wrap p.txt {
  text-align: center;
}

.guide_wrap_slick {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.guide_wrap_slick .guide_slick {
  text-align: center;
}
.guide_wrap_slick .guide_item {
  text-align: center;
}
.guide_wrap_slick .guide_item .tit {
}
.guide_wrap_slick .guide_item .img {
  margin-top: 40px;
  width: 280px;
  height: 280px;
  margin: 40px auto 0;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
}
.guide_wrap_slick .guide_item .txt_wrap p.small {
  margin-top: 12px;
  font-size: 10px;
  line-height: 1.4em;
  letter-spacing: 0;
}

/* .guide_wrap_slick .guide_item .img img {display:inline-block; width:256px; height:256px; border-radius:12px; line-height:1; overflow:hidden; vertical-align:top;} */
.guide_wrap_slick .guide_item .txt_wrap {
  margin-top: 40px;
  font-size: 16px;
  line-height: 24px;
}
.guide_wrap_slick .guide_item .txt_wrap p {
  margin-top: 4px;
  color: #9f9f9f;
  font-size: 14px;
  line-height: 20px;
}
.guide_wrap_slick .guide_item .txt_wrap p.guide_desc,
.guide_wrap .guide_info_wrap p.guide_desc {
  white-space: pre-line;
}
.guide_wrap_slick * {
  vertical-align: top;
}

/* more slick dot */
.guide_slide_dot {
  display: inline-flex;
  margin-top: 40px;
  font-size: 0;
}
.guide_slide_dot li {
  vertical-align: top;
}
.guide_slide_dot li + li {
  margin-left: 10px;
}
.guide_slide_dot li button {
  width: 12px;
  height: 12px;
  font-size: 0;
  background-color: #ddd;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.guide_slide_dot li.slick-active button {
  width: 30px;
  background-color: #27aaff;
}
/* // more slick dot */
/* // 이용안내 내용 */

/* 조회 결과 없음 */
.nodata {
  padding: 20px 18px;
  text-align: center;
}
.nodata div.img {
  display: none;
  width: 60px;
  height: 60px;
  vertical-align: top;
}
.nodata div.tit {
  margin-top: 20px;
  font-size: 18px;
  line-height: 27px;
  font-weight: bold;
}
.nodata p.txt {
  margin-top: 8px;
  color: #9f9f9f;
  font-size: 16px;
  line-height: 22px;
}
.nodata button.refresh {
  width: 93px;
  height: 30px;
  margin-top: 20px;
  line-height: 30px;
}
.nodata button.refresh span {
  font-size: 12px;
}
/* // 조회 결과 없음 */

/* 네트워크 오류 등 */
.error {
  padding: 20px 18px;
  text-align: center;
}
.error div.img {
  display: inline-block;
  width: 60px;
  height: 60px;
  vertical-align: top;
}
.error div.tit {
  margin-top: 24px;
  font-size: 18px;
  line-height: 27px;
  font-weight: 500;
}
.error p.txt {
  margin-top: 10px;
  color: #9f9f9f;
  font-size: 14px;
  line-height: 20px;
}
.error div.txt {
  margin-top: 16px;
  padding: 1em 1.25em;
  border: 1.5px solid #ddd;
  background-color: #fff;
  border-radius: 8px;
  color: #999;
  font-size: 16px;
  line-height: 22px;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.16);
  text-align: left;
}
.error button.refresh {
  display: inline-block;
  width: auto;
  min-width: 116px;
  max-width: none;
  height: 48px;
  margin-top: 41px;
  border-radius: 100px;
  background: #fff url('/images/app/ico_btn_refresh.png') no-repeat 18px center / 24px 24px;
  line-height: 30px;
}
.error button.refresh span {
  display: block;
  padding: 0 12px 0 46px;
  color: #9f9f9f;
  font-size: 16px;
  line-height: 1em;
}
.error button.set_alram {
  display: inline-block;
  width: auto;
  max-width: none;
  height: 30px;
  margin-top: 20px;
  border-radius: 15px;
  background: #ededed;
  line-height: 30px;
}
.error button.set_alram span {
  display: block;
  padding: 0 12px;
  font-size: 12px;
  line-height: 1em;
  color: #000;
}
.error button.btn_test {
  width: 100%;
  height: 48px;
  margin-top: 60px;
  background-color: #333;
  border-radius: 6px;
}
.error button.btn_test span {
  color: #fff;
}

.error button.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto;
  gap: 4px;
  min-width: 116px;
  height: 48px;
  margin-top: 41px;
  padding: 0 12px;
  background-color: #fff;
  border-radius: 36px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
}
.error button.btn span.ico {
  width: 24px;
  height: 24px;
  min-width: 24px;
}
.error button.btn span.ico img {
  width: 24px;
  height: 24px;
}
.error button.btn span.txt {
  color: #9f9f9f;
  font-size: 16px;
  line-height: 1em;
  font-weight: 500;
}

/* 흰색 박스형 */
.error_box {
  width: 100%;
  height: 100%;
  padding: 0 18px 24px;
}
.error_box .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
}
/* // 흰색 박스형 */
/* // 네트워크 오류 등 */

/* toTop */
.toTop {
  position: fixed;
  right: 17px;
  bottom: -30px;
  width: 36px;
  height: 48px;
  background-color: #fff;
  border-radius: 10px;
  opacity: 0;
  transition: 0.15s all ease-in-out;
  z-index: 1000;
  text-indent: -1000em;
  overflow: hidden;
}
.toTop::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-width: 2px 2px 0 0;
  border-style: solid;
  border-color: #000;
  transform: translate(-50%, -35%) rotate(-45deg);
}
.toTop.active {
  bottom: 2em;
  opacity: 1;
  box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.16);
}
/* // toTop */

/* 목록 필터 */
div.list_filter {
  padding: 24px 18px 16px;
}
div.list_filter::after {
  content: '';
  display: block;
  height: 0;
  clear: both;
}
.list_select_wrap {
  width: calc(50% - 3px);
  height: 40px;
  position: relative;
  z-index: 1;
}
.list_select_wrap.left {
  float: left;
}
.list_select_wrap.right {
  float: right;
}
.list_select_wrap div.inner {
  display: inline-block;
  width: 100%;
  min-width: 110px;
  max-height: 160px;
  padding: 0 12px;
  background-color: #fff;
  border-radius: 12px;
  border-color: transparent;
  color: #000;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
  overflow-y: auto;
}
.list_select_wrap div.inner div.triger {
  position: sticky;
  top: 0;
  left: 0;
  height: 40px;
}
.list_select_wrap div.inner div.triger button.btn_triger {
  height: 40px;
  padding-right: 26px;
  text-align: left;
  background: #fff url('/images/app/ico_arrow_down.png') no-repeat right center / 20px 20px;
}
.list_select_wrap div.inner div.triger button.btn_triger span {
  display: block;
  max-width: 110px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.list_select_wrap div.inner div.triger button.active {
  background-image: url('/images/app/ico_arrow_up.png');
}
.list_select_wrap div.inner ul {
  display: none;
}
.list_select_wrap div.inner ul.active {
  display: block;
}
.list_select_wrap div.inner ul li {
  display: flex;
  align-items: center;
  max-width: 110px;
  height: 40px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  cursor: pointer;
}
.list_select_wrap div.inner ul li span {
  display: block;
  max-width: 110px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.chat_guard_wrap div.list_filter {
  padding: 0 18px 12px;
}
/* // 목록 필터 */

/* 기본 탭 */
.page_tab {
  display: flex;
  justify-content: space-between;
  padding: 24px 0 12px;
}
.page_tab button {
  width: 100%;
  height: 42px;
  padding-bottom: 1px;
  border-bottom: 2px solid #ccc;
}
.page_tab button span {
  display: block;
  color: #ccc;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}
.page_tab button.active {
  border-color: #3b3b3b;
}
.page_tab button.active span {
  color: #3b3b3b;
}

/* 채팅 카드 (리스트) */
div.chat_guard_wrap {
}
/* div.chat_guard_wrap div.chat_guard_header {display:flex; justify-content:space-between; align-items:center; height:40px; padding:0 18px;}
div.chat_guard_wrap div.chat_guard_header div.tit {color:#000; font-size:16px; line-height:30px; font-weight:500;} */
/* div.chat_guard_wrap div.chat_guard_header select {width:110px; height:40px; padding:0 12px; border-radius:12px; border-color:transparent; color:#000; font-size:14px; line-height:20px; font-weight:500; overflow:hidden; box-shadow:0 1px 6px rgba(0, 0, 0, 0.16); background:#fff url('/images/common/ico_arrow_down.png') no-repeat right 12px center / 20px 20px;} */
div.chat_guard_wrap div.list_wrap {
  padding: 0 18px 18px;
}
div.chat_guard_wrap div.list_wrap div.list {
  padding: 6px 0;
  background-color: #fff;
  border-radius: 12px;
}
div.chat_guard_wrap div.list_wrap div.list div.item {
  padding: 17px 12px;
}
div.chat_guard_wrap div.list_wrap div.list div.item + div.item {
  border-top: 1px solid #ccc;
}
div.chat_guard_wrap div.list_wrap div.list div.item div.tit {
  color: #000;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
}
div.chat_guard_wrap div.list_wrap div.list div.item div.info {
}
div.chat_guard_wrap div.list_wrap div.list div.item div.info span {
  display: inline-block;
  color: #9f9f9f;
  font-size: 12px;
  line-height: 18px;
}
div.chat_guard_wrap div.list_wrap div.list div.item div.info span ~ span {
  position: relative;
  margin-left: 8px;
  padding-left: 9px;
}
div.chat_guard_wrap div.list_wrap div.list div.item div.info span ~ span::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 9px;
  background-color: #9f9f9f;
  transform: translateY(-50%);
}
div.chat_guard_wrap .btn_more {
}
div.chat_guard_wrap .btn_more span {
  color: #3b3b3b;
  font-size: 14px;
  line-height: 20px;
}

div.chat_guard_wrap .list_count {
  padding: 0 18px 12px;
  color: #9f9f9f;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  text-align: right;
}

.chat_guard_error {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 368px;
  background-color: #fff;
  margin: 0 18px 16px;
  border-radius: 12px;
}
/* // 채팅 카드 (리스트) */

/* 긴급 호출 */
/* Circle Graph */
.signal_zero-progress-circle {
  position: relative; /* top:30px; left:50%; */
  width: 150px;
  margin: 0 auto;
  height: 150px;
  border-radius: 100%;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16); /* margin-left:-150px; */
}
.signal_zero-progress-circle svg {
  position: absolute;
  width: 150px;
  height: 150px;
}
.signal_zero-progress-circle svg circle {
  fill: transparent;
}
.signal_zero-progress-circle svg .signal_zero-background-circle {
  fill: transparent;
  stroke-width: 10px;
  stroke: transparent;
  stroke-dasharray: 377;
}
.signal_zero-progress-circle svg .signal_zero-animated-circle {
  fill: transparent;
  stroke-width: 10px;
  stroke: #ff0f6b;
  stroke-dasharray: 377;
  stroke-dashoffset: 377 - 20;
}
.signal_zero-progress-circle .signal_zero-progress-circle-count {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #ff0f6b;
  font-size: 44px;
  line-height: 50px;
  font-weight: bold;
  transform: translate(-50%, -50%);
}
.signal_zero-progress-circle .signal_zero-progress-circle-chk {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130px;
  height: 130px;
  border-radius: 100%;
  border: 10px solid #ff0f6b;
  transform: translate(-50%, -50%);
}
.signal_zero-progress-circle .signal_zero-progress-circle-chk img {
  display: inline-block;
  width: 50px;
  height: 50px;
}
.signal_zero div.alert_img {
  display: inline-block;
  position: relative;
  width: 150px;
  height: 150px;
}
.signal_zero div.alert_img::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  animation: alert_img_ani 1s infinite linear;
}
@keyframes alert_img_ani {
  0% {
    box-shadow: 0 0 0 rgba(255, 15, 107, 0);
    transform: rotate(0);
  }
  50% {
    box-shadow: 0 0 20px rgba(255, 15, 107, 0.3);
    transform: rotate(540deg);
  }
  100% {
    box-shadow: 0 0 0px rgba(255, 15, 107, 0);
    transform: rotate(1080deg);
  }
}
.signal_zero p.txt {
  margin-top: 36px;
  color: #000;
  font-size: 20px;
  line-height: 29px;
  font-weight: bold;
  text-align: center;
}
/* // 긴급 호출 */

/* 회원가입/로그인 안내 */
.login_temp {
  display: flex;
  flex-direction: column;
  gap: 35px;
  padding: 24px 18px;
}
.login_temp .txt_wrap {
  text-align: center;
}
.login_temp .txt_wrap strong.tit {
  display: block;
  color: #27aaff;
  font-size: 16px;
  line-height: 24px;
  font-weight: bold;
}
.login_temp .txt_wrap p.txt {
  margin-top: 13px;
  color: #9f9f9f;
  font-size: 12px;
  line-height: 16px;
}
.login_temp .btn_group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.login_temp .btn_group button {
  height: 50px;
  border-radius: 12px;
}
.login_temp .btn_group button span {
  font-size: 16px;
  line-height: 1em;
  font-weight: 500;
}
.login_temp .btn_group button.btn_login {
  background-color: #3b3b3b;
}
.login_temp .btn_group button.btn_login span {
  color: #fff;
}
.login_temp .btn_group button.btn_join {
  background-color: #dedede;
  border-radius: 11px;
}
.login_temp .btn_group button.btn_join span {
  color: #000;
}

/* // 회원가입/로그인 안내 */

/* 페이지 하단 고정 버튼 */
.content_btm {
}
.content_btm div.btm_btn {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0 18px 24px;
}
.content_btm div.btm_btn div {
  width: 100%;
}
/* 구독 등 플랜 버튼 여러 개 세로 나열 시 간격 */
.content_btm div.btm_btn .btn_group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.content_btm div.btm_btn button {
  box-sizing: content-box;
  width: 100%;
  height: 48px;
  background-color: #333;
  border-radius: 12px;
}
.content_btm div.btm_btn button span {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}
.content_btm div.btm_btn button.btn_cancel {
  background-color: #dedede;
}
.content_btm div.btm_btn button.btn_cancel span {
  color: #000;
}
.content_btm div.btm_btn button.btn_next {
  background-color: #333;
}
.content_btm div.btm_btn button.btn_next {
  color: #fff;
}
.content_btm div.btm_btn button.btn_next strong,
.content_btm div.btm_btn button.btn_next span {color:#fff; line-height:1.5em;}

.content_btm div.btm_btn button.iOS {
  padding-bottom: 17px;
}
.content_btm div.btm_btn button.AOS {
}

.content_btm div.btm_btn button.btn_subscribe {height:70px !important; background-color:#3B3B3B; border-radius:12px;}
.content_btm div.btm_btn button.btn_subscribe strong,
.content_btm div.btm_btn button.btn_subscribe span {display:block; color:#fff; line-height:1.5em;}
.content_btm div.btm_btn button.btn_subscribe strong {font-size:16px; font-weight:500;}
.content_btm div.btm_btn button.btn_subscribe span {font-size:12px; font-weight:400;}

/* Restore Purchase */
.content_btm div.btm_btn button.btn_restore {background-color:transparent;}
.content_btm div.btm_btn button.btn_restore span {display:inline-block; color:#000; font-size:16px; line-height:24px; font-weight:400; border-bottom:1px solid #000; letter-spacing:-0.04em;}
/* // Restore Purchase */

/* 알림 리스트 */
.alert_list_wrap {
}
.alert_list_wrap .list {
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.alert_list_wrap .list .item {
  padding: 0 18px;
}
.alert_list_wrap .list .item .info {
  display: flex;
  justify-content: space-between;
  align-content: center;
  padding: 6px 0;
}
.alert_list_wrap .list .item .info div.type {
  display: flex;
  align-items: center;
  gap: 4px;
}
.alert_list_wrap .list .item .info div.type span.ico {
  display: inline-block;
  width: 24px;
  height: 24px;
}
.alert_list_wrap .list .item .info div.type span.ico img {
  display: inline-block;
  width: 24px;
  height: 24px;
}
.alert_list_wrap .list .item .info div.type p {
  color: #000;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}
.alert_list_wrap .list .item .info div.date {
}
.alert_list_wrap .list .item .info div.date span {
  display: inline-block;
  color: #9f9f9f;
  font-size: 12px;
  line-height: 16px;
}
.alert_list_wrap .list .item .alert_content {
  padding: 18px 12px;
  background-color: #fff;
  border-radius: 12px;
  border: 1px solid #f5f5f5;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
}
.alert_list_wrap .list .item .alert_content strong.tit {
  display: block;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
}
.alert_list_wrap .list .item .alert_content p.txt {
  margin-top: 2px;
  color: #9f9f9f;
  font-size: 12px;
  line-height: 18px;
}
/* // 알림 리스트 */

.home_fam_layer {
  width: 100%;
  max-width: 720px;
  height: auto;
  margin: 0 auto;
  transition: all 0.4s ease-in-out;
}

.home_fam_layer .layer_triger {
  display: flex;
  justify-content: center;
  align-items: center;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 22px;
  border-radius: 24px 24px 0 0;
  text-align: center;
  background-color: #fff;
  z-index: 1;
}
.home_fam_layer .layer_triger button.btn_triger {
  width: 50px;
  height: 6px;
  background-color: #efefef;
  border-radius: 3px;
  font-size: 0;
  line-height: 0;
}
.home_fam_layer .layer_triger button.btn_triger span {
}

/* home 가족 목록 선택 영역 */
.home_fam_list {
  padding: 16px 18px;
  border-bottom: 1px solid #ebebeb;
  background-color: #fff;
  text-align: left;
}
.home_fam_list ul {
  display: flex;
  gap: 16px;
}
.home_fam_list div.home_fam_sel span.img {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  border: 1px solid #e2e2e2;
  border-radius: 100%;
  background-color: white;
  overflow: hidden;
}
.home_fam_list div.home_fam_sel span.txt {
  display: block;
  width: 60px;
  margin-top: 4px;
  padding-top: 1px;
  color: #9f9f9f;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.home_fam_list div.home_fam_sel.active span.img::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 4px solid #ffd446;
  border-radius: 100%;
}

/* // home 가족 목록 선택 영역 */

/* home 가족 목록 */
.home_fam_loc_list {
  padding: 16px 18px;
  border-bottom: 1px solid #ebebeb;
  background-color: #fff;
}
.parent_home_fam_loc_list {
  display: none;
}
.child_home_fam_loc_list {
  display: block;
}
.home_fam_loc_list .list {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
}
.home_fam_loc_list li.item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.home_fam_loc_list li.item div.thum {
  min-width: 60px;
}
.home_fam_loc_list li.item div.thum span.img {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  border: 1px solid #e2e2e2;
  overflow: hidden;
}
.home_fam_loc_list li.item div.txt_wrap {
  flex: 1;
  text-align: left;
  padding-right: 36px;
}
.home_fam_loc_list li.item div.parent_txt_wrap {
  background: url('/images/app/ico_arrow_right.png') no-repeat right center / 24px 24px;
}
.home_fam_loc_list li.item div.txt_wrap strong.name {
  display: block;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}
.home_fam_loc_list li.item div.txt_wrap p.location {
  color: #9f9f9f;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
}
.home_fam_loc_list li.item div.txt_wrap p.location strong {
  color: #27aaff;
  font-weight: bold;
}

/* // home 가족 목록 */

/* home util */
/* .home_fam_util ul li {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 80px;
  padding: 10px 0 9px;
  text-align: center;
} */
/* .home_fam_util ul li ~ li::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: -5px;
  width: 1px;
  height: 60px;
  background-color: #efefef;
  transform: translateY(-50%);
}
.home_fam_util ul li span.ico {
  display: inline-block;
}
.home_fam_util ul li span.ico img {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #efefef;
  border-radius: 100%;
} */

/* home util */
.home_fam_util {
  /* border-top:1px solid #EBEBEB; */
  background-color: #fff;
}
.home_fam_util ul {
  display: flex;
  justify-content: center;
  gap: 9px;
  padding: 12px 0;
}
.home_fam_util ul li {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 80px;
  padding: 10px 0 9px;
  text-align: center;
}
.home_fam_util ul li ~ li::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: -5px;
  width: 1px;
  height: 60px;
  background-color: #efefef;
  transform: translateY(-50%);
}
.home_fam_util ul li span.ico {
  display: inline-block;
}
.home_fam_util ul li span.ico img {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #efefef;
  border-radius: 100%;
}
.home_fam_util ul li p.txt {
  color: #000;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
}
/* // home util */

/* home 배너 */
.home_fam_bnr {
  background-color: #fff;
  padding: 0 18px 12px 18px;
  position: relative;
  /* margin-bottom: 12px; */
  font-size: 0;
}
.bnr_slick {
  border-radius: 12px;
  overflow: hidden;
}

/* more slick dot */
.bnr_slide_dot {
  display: inline-flex;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  font-size: 0;
  transform: translateX(-50%);
}
.bnr_slide_dot li {
  vertical-align: top;
}
.bnr_slide_dot li + li {
  margin-left: 4px;
}
.bnr_slide_dot li button {
  width: 8px;
  height: 4px;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.2);
  font-size: 0;
  overflow: hidden;
  transition: all 0.2s ease;
}
.bnr_slide_dot li.slick-active button {
  background-color: rgba(0, 0, 0, 1);
}

/* home notice */
.home_notice {
  padding-bottom: 12px;
  background-color: #fff;
  display: none;
}
.home_notice ul {
  display: flex;
  justify-content: center;
}
.home_notice ul li {
  position: relative;
}
.home_notice ul li span {
  display: block;
  padding: 0 24px;
  color: #9f9f9f;
  font-size: 14px;
  line-height: 20px;
}
.home_notice ul li + li::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5px;
  height: 10px;
  background-color: #ccc;
  transform: translateY(-50%);
}

/* home footer */
.home_footer {
  background-color: #f5f5f5;
  color: #9f9f9f;
  font-size: 10px;
  text-align: left;
  letter-spacing: -0.025em;
}

.home_footer .footer_service_provider {
  padding: 8px 18px;
  border-bottom: 1px solid #ccc;
}

.home_footer .footer_service_provider span {
  font-weight: 500;
}

.home_footer .footer_service_provider span + span {
  margin-left: 6px;
  padding-left: 6px;
}

.home_footer .footer_service_provider span + span:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 10px;
  background-color: #ccc;
  transform: translateY(-50%);
}

.home_footer .home_footer_info_wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 16px 18px;
}

.home_footer .home_footer_info_wrap .footer_customer {
  color: #9f9f9f;
  font-size: 10px;
  line-height: 16px;
}

.home_footer .home_footer_info_wrap .footer_customer span {
  display: block;
  line-height: 16px;
}

.home_footer .home_footer_info_wrap .footer_privacy span {
  display: inline-block;
  position: relative;
  font-weight: 500;
}

.home_footer .home_footer_info_wrap .footer_privacy span + span {
  margin-left: 6px;
  padding-left: 6px;
}

.home_footer .home_footer_info_wrap .footer_privacy span + span:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 10px;
  background-color: #ccc;
  transform: translateY(-50%);
}

.home_footer .home_footer_info_wrap .footer_guide ul li p {
  position: relative;
  padding-left: 0.75em;
  color: #9f9f9f;
  font-size: 10px;
  line-height: 16px;
  font-weight: 400;
}

.home_footer .home_footer_info_wrap .footer_guide ul li p:before {
  content: '·';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
}
/* // home footer */

/* home_child_util 자녀용 */
.home_child_util {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 18px 24px;
}
.home_child_util button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 100px;
  border-radius: 12px;
}
.home_child_util button span.ico {
  display: inline-block;
  width: 40px;
  height: 40px;
}
.home_child_util button span.txt {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.home_child_util button.btn_sos {
  background-color: #ff0f6b;
  box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25);
}
.home_child_util button.btn_call {
  background-color: #27aaff;
  box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25);
}

/* 회원 탈퇴 */
.sign_out_container_wrap {
  background: #f5f5f5;
}

.sign_out_wrap {
  margin-top: 80px;
  padding: 0 20px;
}

.sign_out_wrap p.txt {
  color: #000;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}
.sign_out_wrap ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 38px;
  padding: 12px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.sign_out_wrap ul li {
  position: relative;
  padding-left: 0.75em;
  font-size: 14px;
  line-height: 20px;
}
.sign_out_wrap ul li::before {
  content: '·';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: bold;
}
.sign_out_wrap ul li.em {
  color: #ff0f68;
}
/* // 회원 탈퇴 */

/* 레이어팝업(정리 필요) */
.layer {
  text-align: center;
  font-family: 'Noto Sans KR';
}

layer div.dim {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10;
}

.layer.alert .layer_inner {
  min-width: 280px;
  max-width: 320px;
  width: 80%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  border-radius: 24px;
  color: inherit;
  z-index: 1000;
  overflow-y: auto;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.layer.alert .layer_inner .layer_content {
  padding: 36px 18px;
}

.layer.alert .layer_content span.icon {
  display: inline-block;
  width: 54px;
  height: 54px;
  margin-bottom: 24px;
}
.layer.alert .layer_content div.tit {
  font-size: 18px;
  line-height: 27px;
  font-weight: 500;
  word-break: keep-all;
}
/* .layer.alert .layer_content div.tit span {}
.layer.alert .layer_content div.tit span.safe {}
.layer.alert .layer_content div.tit span.care {color:var(--color-care);}
.layer.alert .layer_content div.tit span.warring {color:var(--color-warring);} */
.layer.alert .layer_content div.tit + p.txt {
  margin-top: 10px;
}
.layer.alert .layer_content p.txt {
  color: #9f9f9f;
  font-size: 14px;
  line-height: 20px;
  word-break: keep-all;
}
.layer.alert .layer_content p.txt + p.small_txt {
  margin-top: 12px;
  color: #999;
  font-size: 16px;
  line-height: 24px;
  word-break: keep-all;
}

/* 얼랏 형 닫기 */
.layer.alert .layer_inner div.close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 20px;
  height: 20px;
}
.layer.alert .layer_inner div.close button {
  position: relative;
  width: 20px;
  height: 20px;
  color: transparent;
  overflow: hidden;
}
.layer.alert .layer_inner div.close button::before,
.layer.alert .layer_inner div.close button::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: #000;
}
.layer.alert .layer_inner div.close button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.layer.alert .layer_inner div.close button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 레이어 팝업 하단 버튼 공통 */
.layer .btn_group {
  display: flex;
  justify-content: space-between;
  border-top: 0.5px solid #e7e7e7;
}
.layer .btn_group div {
  width: 100%;
}
.layer .btn_group div button {
  height: 3.75em;
}
.layer .btn_group div button.next {
  color: var(--main-color);
  font-weight: bold;
}
.layer .btn_group div button.prev,
.layer .btn_group div button.back,
.layer .btn_group div button.cancel,
.layer .btn_group div button.close {
  color: #000;
}
.layer .btn_group div button span {
  display: block;
  font-size: 1em;
}
/* // 레이어팝업(정리 필요) */

/* 회원가입 관련 서비스 정보 */
.join_service_info_wrap .logo {margin-top:36px; text-align:center;}
.join_service_info_wrap .logo span {display:inline-flex; justify-content:center; align-items:center; width:160px; height:auto;}
.join_service_info_wrap .service_info div.txt_wrap {display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:24px; padding:0 18px; text-align:center;}
.join_service_info_wrap .service_info strong.tit {display:inline-block; color:#27AAFF; font-size:16px; line-height:24px; font-weight:700;}
.join_service_info_wrap .service_info p.txt {color:#9F9F9F; font-size:12px; line-height:16px; font-weight:400;}

.join_service_info_wrap .service_guide {margin-top:12px; text-align:center;}
.join_service_info_wrap .service_guide div {display:inline-block; padding:0 40px; text-align:left;}
.join_service_info_wrap .service_guide ul li {position:relative; padding-left:1.3em; color:#000; font-size:12px; line-height:17px; font-weight:400;}
.join_service_info_wrap .service_guide ul li::before {content:"·"; display:block; position:absolute; top:0; left:0; width:12px; color:inherit; font-size:inherit; line-height:inherit; font-weight:bold; text-align:center;}
.join_service_info_wrap .service_guide em {display:block; margin-top:6px; color:#27AAFF; font-size:12px; line-height:17px; font-weight:400; text-align:right;}
/* // 회원가입 관련 서비스 정보 */

/* 회원가입 해외 전화번호 입력 */
.phone_number_ipt {
  display: flex;
  width: 100%;
}
.phone_number_ipt > div:first-of-type {
  width: 100%;
  position: relative !important;
}
.phone_number_ipt input#phone {
  width: 100%;
  height: 50px;
  border: 1px solid #ddd;
  border-radius: 12px;
  outline: none;
}
.phone_number_ipt input#phone::placeholder {
  color: #c9c9c9;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.privacy_wrap {
  padding: 20px;
  line-height: 1.4em;
  white-space: pre-line;
}
