@keyframes fadein {
  from {
    background-color: transparent;
    box-shadow: none;
  }

  to {
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0rem .8rem 2.4rem;
  }
}

@keyframes fadeout {
  from {
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0rem .8rem 2.4rem;
  }

  to {
    background-color: transparent;
    box-shadow: none;
  }
}

body {
  padding: 0 !important;
  width: 100vw;
  overflow-x: hidden;
  background-color: transparent;
}



header {
  background: transparent;
  border-bottom-color: transparent;
  transition: 0.35s all ease-out;
  box-shadow: none;
}

header .logo-wrap span {
  color: #fff;
}

header .app-logo:not(.white) {
  display: none;
}

header.on {
  background-color: #fff;
  border-bottom-color: #efefef;
  transition: 0.35s all ease-out;
  /* transition: 0.35s 0.35s border-bottom ease-out; */
}

header.on .logo-wrap span {
  color: #222;
  transition: 0.35s all ease-out;
}

header.on .app-logo:not(.white) {
  display: block;
  transition: 0.35s all ease-out;
}

header.on .app-logo.white {
  display: none;
  transition: 0.35s all ease-out;
}

header nav:not(.my-menu) {
  display: none;
}

header .charge-company-wrapper {
  display: none;
}

header nav ul:not(.sub-menu)>li:hover>a,
header nav .sub-menu li:hover>a,
header nav>ul>li,
header nav>ul>li>a {
  color: #fff;
}

header.on nav ul:not(.sub-menu)>li:hover>a,
header.on nav .sub-menu li:hover>a,
header.on nav>ul>li,
header.on nav>ul>li>a {
  color: #222;
  transition: 0.35s all ease-out;
}

header nav>ul>li>a:hover,
header nav>ul>li>a:visited,
header nav>ul>li>a:focus {
  color: inherit;
}


.layout_noframe .layout_frame_inner {
  width: 100%;
  max-width: 100%;
  padding-bottom: 0;
}

.phone-wrap {
  width: 34rem;
  background-size: 100%;
  position: absolute;
  background-image: url(/skin/img/home/phone.png);
  background-repeat: no-repeat;
  background-position: center;
  /* bottom: 8.1rem; */
  bottom: 7%;
}

.phone-wrap::after {
  content: "";
  display: block;
  padding-bottom: 169.9%;
}

.phone-wrap .screen {
  width: 68.9%;
  height: 85.2%;
  position: absolute;
  left: 16.1%;
  top: 7.5%;
  border-radius: 2.1rem;
  overflow: hidden;
  padding-top: 3.5%;
}

.phone-wrap .screen img {
  width: 100%;
}

.phone-wrap .screen-status {
  position: absolute;
  top: 0;
  left: 0;
  /* height: 1.5rem; */
  background-color: #fff;
  z-index: 10;
  width: 100%;
  background: url(/skin/img/home/screen-status.png) no-repeat center / 100%;
}

.phone-wrap .screen-status::after {
  display: block;
  content: "";
  padding-bottom: 5%;
}

.main-section {
  width: 100%;
  height: 100vh;
  position: relative;
  background: #11172c;
}

.main-section .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
  /* background-image: url(/skin/img/home/bg-icon-section1.png); */
  background: url(/skin/img/home/index-banner.png) top 20% left 0 / 100% no-repeat;
  background-repeat: no-repeat;
  /* background-position: center bottom .5rem; */
}



.main-section>.inner {
  display: flex;
  flex-direction: column;
  /* align-items: flex-start; */
  align-items: center;
  justify-content: center;
  padding: 0 6.2rem;
  height: 100%;
  width: 132.8rem;
  position: relative;
  margin: 0 auto;
}

.main-section .phone-wrap {
  width: 44.5rem;
  bottom: 1.8rem;
  right: 7.95rem;
}

.main-section .phone-wrap .screen {
  border-radius: 2.5rem;
}


.main-section .main-title {
  /* margin-bottom: 2.4rem; */
  font-size: 6rem;
  color: #fff;
  font-weight: 300;
  letter-spacing: -0.21rem;
  line-height: 1.33;
}

.main-section .main-title .ani-wrap {
  overflow: visible;
}

.main-section .main-title .ani-txt-wrap {
  display: inline-block;
  vertical-align: top;
  position: relative;
  transition: all .8s ease-out;
  padding-top: 1rem;
  /* width: 24.8rem; */
  width: 39.5rem;
}

.main-section .main-title .ani-wrap p {
  display: inline-block;
  margin-left: -0.6rem;
  vertical-align: bottom;
  /* line-height: 1.01; */
  line-height: 1.85;
}

.main-section .main-title .ani-wrap+p {
  line-height: 1;
  text-align: center;
}

.main-section .main-title .ani-txt {
  position: absolute;
  left: 0;
  top: -4rem;
  opacity: 0;
  transition: all 0.5s ease-out;
  width: 100%;
  white-space: nowrap;
}

.main-section .main-title .ani-txt span {
  font-weight: 500;
  color: #fff;
  font-size: 7.5rem;
}

.main-section .main-title .ani-txt.fadeout {
  top: 4rem;
  opacity: 0;
}

.main-section .main-title .ani-txt.fadein {
  top: 0;
  opacity: 1;
}

.main-section .btn-wrap {
  width: 40rem;
  margin: 4.2rem auto 0 auto;
  justify-content: center;
  display: block;
}

.main-section .btn-wrap * {
  width: 40rem;
  height: 7rem;
  line-height: 7rem;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 1.4rem;
  color: #fff;
  font-size: 1.9rem;
  display: block;
  font-weight: 500;
  letter-spacing: -0.02rem;
  flex: none;
}

.main-section .btn-wrap *+* {
  margin-top: 2.4rem;
}


/* section style */
/* 공통 영역 */
section {
  position: relative;
  padding: 0;
}

section .inner {
  min-height: 100vh;
  width: 132.8rem;
  margin: 0 auto;
}

section.func {
  background: #222;
}

section.pay {
  background: #098ed1;
}

section.report {
  background: #222 url(/skin/img/home/report-bg.png) left 7% top 50% / 199rem no-repeat
}

section.marketing {
  background: #f2f2f2 url(/skin/img/home/marketing-bg.png) left 0 bottom 0 / 100% no-repeat;
}

section.faq {
  background: #03334b;
}

section.start {
  background: #098ed1;
}

section.default .inner {
  display: flex;
  align-items: center;
}

section.default .content {
  flex: none;
  width: 50%;
  color: #fff;
}

section .title {
  font-size: 6rem;
  color: inherit;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 2rem;
}

section .description {
  color: inherit;
  font-size: 2.3rem;
  line-height: 1.55;
  margin-bottom: 8.3rem;
  text-align: center;
  color: #222;
}

section.default .start-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: inherit;
  width: 16rem;
  height: 7.3rem;
  background-color: #000;
  border-radius: 10rem;
  font-weight: 500;
  line-height: 1;
}


section.default .illust {
  flex: none;
  width: 50%;
}


section.column .title {
  text-align: center;
  color: #000;
}

section.column.faq .title {
  color: #fff;
}

section.column .inner {
  padding-top: 12rem;
  overflow: hidden;
}

/* 공통 영역 */


/* 정말 쉽고 간편하게 */
section.column.func .inner {
  padding-bottom: 12rem;
}

section.func .title {
  color: #fff;
}

section.func .description {
  color: #fff;
}

section.func .content {
  display: flex;
  align-items: center;
  justify-content: center;
}

section.func .icon-list {
  height: 50rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

section.func .icon-list li {
  position: relative;
  letter-spacing: -0.05rem;
}

section.func .icon-list .icon-title {
  font-size: 2.2rem;
  color: #fff;
  font-weight: normal;
  margin-bottom: 1rem;
}

section.func .icon-list .icon-desc {
  font-size: 1.8rem;
  color: #b1b1b1;
  line-height: 1.5;
}

section.func .icon-list li i {
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  border: 1px solid #189bd7;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

section.func .icon-list li i.point {
  border-color: #00c7d3;
}

section.func .icon-list li i.calendar {
  background: url(/skin/img/home/ic-calendar.svg) center / 65% no-repeat;
}

section.func .icon-list li i.chart {
  background: url(/skin/img/home/ic-chart.svg) center / 60% no-repeat;
}

section.func .icon-list li i.graph {
  background: url(/skin/img/home/ic-graph.svg) center / 65% no-repeat;
}

section.func .icon-list li i.search {
  background: url(/skin/img/home/ic-search.svg) center / 65% no-repeat;
}

section.func .icon-list li i.room {
  background: url(/skin/img/home/ic-room.svg) center / 65% no-repeat;
}

section.func .icon-list li i.order {
  background: url(/skin/img/home/ic-order.svg) center / 65% no-repeat;
}

section.func .icon-list.left {
  margin-right: 4rem;
  text-align: right;
}

section.func .icon-list.left li {
  padding-right: 13rem;
}

section.func .icon-list.left li i {
  right: 0;
}


section.func .icon-list.right {
  margin-left: 4rem;
}

section.func .icon-list.right li {
  padding-left: 13rem;
}

section.func .icon-list.right li i {
  left: 0;
}

section.func .illust-wrap img {
  width: 37rem;
}

section.func .user-illust-wrap img {
  height: 60rem;
}

/* 원격결제 */
section.pay .description {
  color: #fff;
  text-align: left;
  letter-spacing: -0.05rem;
  font-weight: 300;
  margin-bottom: 0;
}


/* 장부 */
section.report .inner {}

section.report .description {
  color: #fff;
  text-align: left;
  font-weight: 300;
}

/* 마케팅 */
section.marketing .inner {
  min-height: 0;
}

section.marketing .description {
  /* margin-bottom: 15rem; */
}

section.marketing .content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 60rem;
}

section.marketing .user-content {
  justify-content: center;
}

section.marketing .content .illust-wrap img {
  display: block;
  width: 120rem;
  margin: 0 auto;
}

section.marketing .content .user-illust-wrap img {
  display: block;
  width: 70rem;
  margin: 0 auto;
}

/* section.report .illust {
  flex: 1;
  margin-right: 4rem;
}

section.report .content {
  width: 40%;
} */

/* 자주 묻는 질문 */
section.faq .inner {
  padding-top: 12rem;
  padding-bottom: 7rem;
}

section.faq .faq-list {
  width: 80%;
  margin: 5.8rem auto 0 auto;
}

section.faq .faq-list li {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: -0.05rem;
  padding: 0 5rem;
  height: 8rem;
  border-radius: 4.2rem;
  background-color: rgba(255, 255, 255, 0.2);
  cursor: pointer;
}

section.faq .faq-list li h2 {
  font-size: inherit;
  font-weight: inherit;
  line-height: 8rem;
  position: relative;
  font-size: 1.6rem;
}

section.faq .faq-list li p {
  display: none;
  font-size: 1.7rem;
  padding-bottom: 3rem;
  padding-right: 5rem;
  line-height: 1.75;
}

section.faq .faq-list li.on {
  height: auto;
}

section.faq .faq-list li.on p {
  display: block;
}

section.faq .faq-list li h2::after {
  content: "";
  display: block;
  width: 3rem;
  height: 4rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/skin/img/home/ic-arrow-down-w.svg) center / contain no-repeat;
}

section.faq .faq-list li.on h2::after {
  transform: translateY(-50%) rotate(180deg);
}

section.faq .faq-list li:not(:first-child) {
  margin-top: 3rem;
}

/* 지금 바로 시작하세요 */
section.start .inner {
  position: relative;
  z-index: 2;
}

section.start .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/skin/img/home/icon-background.png) center / 33% repeat;
  z-index: 1;
}

section.start .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

section.start .title {
  color: #fff;
  margin-bottom: 4rem;
  text-align: center;
}

section.start .content {
  display: flex;
  align-items: center;
  justify-content: center;
}

section.start .content .input-wrap {
  background-color: #fff;
  width: 35rem;
  border-radius: 1.4rem;
  height: 7rem;
  padding: 0 2rem;
  font-size: 2rem;
  display: flex;
  align-items: center;
}

section.start .content .input-wrap input {
  flex: 1;
  width: auto;
  height: 100%;
  border: none;
  font-size: inherit;
  color: #000;
  min-width: 0;
  padding-left: 0;
}

section.start .content .input-wrap input::placeholder {
  font-size: inherit;
  color: #787878;
}

section.start .content .input-wrap input:focus::placeholder {
  color: transparent;
}

section.start .content .submit-btn {
  width: 50rem;
  height: 7rem;
  border-radius: 1.4rem;
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  line-height: 1;
  font-weight: 500;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* section style end */











.layout-inner {
  width: 100%;
  overflow-x: hidden;
}




.footer {
  background-color: #000;
}

.footer .agree-wrap {
  border-top: none;
  border-bottom-color: #404040;
}

.footer .copyright,
.footer .company-info,
.footer .agree-wrap a {
  color: #b2b2b2;
}

.inner.left {
  padding-left: 64.9rem;
}

.inner.left .phone-wrap {
  left: 13.25rem;
}

.inner.right {
  padding-left: 17.3rem;
}

.inner.right .phone-wrap {
  right: 11.4rem;
}

.scroll-top {
  position: fixed;
  right: 3rem;
  bottom: 5rem;
  z-index: 1000;
  width: 7rem;
  height: 7rem;
  border-radius: 5rem;
  background-color: rgba(255, 255, 255, 0.5);
  background-image: url(/skin/img/ic-arrow-top.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30%;
  display: none;
}

.scroll-top.on {
  display: block;
}

@media (max-width: 760px) {
  .pc {
    display: none !important;
  }

  body {
    min-width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  header {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  header .header-language {
    background: url(/skin/img/m/ic-trans-w.svg) center / 2.7rem no-repeat;
  }

  header.on .header-language {
    background: url(/skin/img/m/ic-trans.svg) center / 2.7rem no-repeat;
  }

  .layout_frame {
    padding: 0 !important;
  }

  #index_gnb {
    background-color: transparent;
  }

  #wrap {
    padding: 0 !important;
  }

  section>.inner {
    width: 100%;
    padding: 12% 6% 6.5rem 6%;
    flex-direction: column;
    position: relative;
    overflow-x: hidden;
  }

  .phone-wrap {
    left: 50% !important;
    transform: translateX(-50%);
    width: 70%;
  }

  .inner.left,
  .inner.right {
    padding-left: 6%;
  }

  .main-section {
    height: 100vh;
  }

  .main-section .bg {
    background: url(/skin/img/home/index-banner-mobile.png) left 15% top 0 / cover no-repeat;
    /* 
    background-size: 265%;
    background-position: top -8.4rem left 36%; */
  }

  .main-section>.inner {
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    /* padding-top: 77px; */
    padding: 74% 5% 5% 5%;
    overflow: visible;
  }

  .main-section .main-title {
    font-size: 3.3rem;
    width: 100%;
    text-align: center;
    letter-spacing: -0.1rem;
    margin: 0;
  }

  .main-section .main-title .ani-txt-wrap {
    width: 23.5rem;
  }

  .main-section .main-title .ani-txt {
    line-height: 1;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .main-section .main-title .ani-txt.fadeout {
    top: 2rem;
  }

  .main-section .main-title .ani-txt span {
    font-size: 4.5rem;
  }

  .main-section .main-title .ani-wrap {
    max-width: 100%;
    width: 100%;
  }

  .main-section .main-title .ani-wrap p {
    margin-left: -0.2rem;
    /* line-height: 1.3; */
    line-height: 1;
    vertical-align: bottom;
  }

  .main-section .btn-wrap {
    width: 100%;
  }

  .main-section .btn-wrap * {
    flex: 1;
    width: 100%;
  }

  .main-section .main-title>p {
    margin-top: 1.6rem;
  }

  .main-section .phone-wrap {
    width: 80%;
    position: relative;
    right: unset;
    top: unset;
    left: unset !important;
    bottom: unset;
    transform: none;
    margin-top: 5%;
  }

  .main-section::after {
    background-image: url(/skin/img/home/bg-icon-section1-mobile.png);
    background-size: 98%;
  }

  .main-section .btn-wrap {
    margin-top: 26%;
    /* display: flex;
    align-items: center;
    justify-content: center; */
  }






  /* 공통 영역 */
  section .title {
    font-size: 3.2rem;
    letter-spacing: -0.05rem;
    margin-bottom: 10%;
  }

  section.default .inner {
    display: block;
  }

  section.default .content {
    width: 100%;
  }

  section.default .illust {
    width: 100%;
    height: auto;
    min-height: 30rem;
  }

  section .description {
    font-size: 2rem;
    letter-spacing: -0.05rem;
    margin-bottom: 4rem;
    line-height: 1.5;
  }

  section.default .start-btn {
    font-size: 0.95em;
    height: 6.1rem;
  }

  section.column .inner {
    padding-top: 10%;
  }



  /* 쉽고 간편하게 */
  section.column.func .inner {
    padding-bottom: 10%;
  }

  section.func .content {
    flex-direction: column;
  }

  section.func .icon-list {
    width: 100%;
    height: auto;
    flex-wrap: wrap;
    flex-direction: row;
  }

  section.func .icon-list li {
    margin-bottom: 3rem;
    flex: none;
    width: 50%;
  }

  section.func .icon-list .icon-title {
    font-size: 2rem;
  }

  section.func .icon-list .icon-desc {
    font-size: 1.6rem;
  }

  section.func .icon-list li i {
    width: 7rem;
    height: 7rem;
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin-bottom: 2.5rem;
  }

  section.func .icon-list.left {
    margin-right: 0;
  }

  section.func .icon-list.left li {
    text-align: left;
    padding: 0 2rem;
  }


  section.func .icon-list.right {
    margin-left: 0;
  }

  section.func .icon-list.right li {
    padding-left: 10rem;
  }

  section.func .illust-wrap {
    width: 100%;
    margin-bottom: 3rem;
  }

  section.func .illust-wrap img {
    display: block;
    width: 80%;
    margin: 6rem auto 0 auto;
  }

  section.func .user-illust-wrap img {
    height: auto;
    display: block;
    width: 80%;
    margin: 6rem auto 3rem auto;
  }

  /* 상담부터 원격진료 */
  section.pay .inner {
    min-height: 0;
  }

  section.pay .illust {
    margin-top: 8rem;
  }

  section.pay .illust img {
    display: block;
    width: 90%;
    margin: 0 auto;
  }

  /* 장부 */
  section.report {
    background-position: left -38rem top 6rem;
  }

  section.report .inner {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
  }

  section.report .illust {
    margin-top: 5rem;
  }

  section.report .illust img {
    display: block;
    width: 116%;
  }

  /* 마케팅 */
  section.marketing .inner {
    padding-bottom: 0;
  }

  section.marketing .content {
    height: 25rem;
  }

  section.marketing .content .illust-wrap img {
    width: 100%;
  }


  section.marketing .user-content {
    height: auto;
  }

  section.marketing .content .user-illust-wrap {
    padding-bottom: 30%;
  }

  section.marketing .content .user-illust-wrap img {
    width: 100%;
    /* display: block;
    width: 70rem;
    margin: 0 auto; */
  }




  /* 자주묻는 질문 */
  section.faq .inner {
    height: auto;
    min-height: 0;
    padding-bottom: 15%;
  }

  section.faq .faq-list {
    width: 100%;
    margin-top: 0;
  }

  section.faq .faq-list li {
    font-size: 0.95em;
    padding: 0 10%;
    height: 7.2rem;
    border-radius: 3.5rem;
  }

  section.faq .faq-list li h2 {
    padding-right: 2rem;
    line-height: 7.2rem;
  }

  section.faq .faq-list li h2::after {
    width: 1.9rem;
  }

  section.faq .faq-list li p {
    font-size: 1.5em;
    padding-right: 2rem;
  }


  /* 지금 바로 시작하세요 */
  section.start .bg {
    background-size: 100%;
  }

  section.start .title {
    margin-bottom: 30%;
  }

  section.start .content {
    display: block;
    width: 100%;
  }

  section.start .content .submit-btn {
    margin-left: 0;
    margin-top: 5%;
    height: 6.1rem;
    width: 100%;
  }

  section.start .content .input-wrap input {
    padding: 0;
  }

  section.start .content .input-wrap {
    /* font-size: 1.25em; */
    width: 100%;
  }


  .scroll-top,
  .scroll-top.on {
    /* display: none !important; */
  }

  .footer .agree-wrap {
    border: none;
  }
}

@media (max-width: 340px) {
  section {
    height: 57.6rem;
  }

}

@media (max-width: 1328px) {
  section .inner {
    width: 100%;
  }
}

@media (max-width: 1600px) {
  .layout_noframe .layout_frame_inner {
    max-width: 100% !important;
  }
}