* {
  /* 터치 시 번쩍이는 하이라이트 색상을 투명하게 변경 */
  -webkit-tap-highlight-color: transparent;
}

.effective-width {
  width: 870px;
  margin: auto;
}

section {
  width: 100%;
  /* display: flex;
  flex-direction: column;
  justify-content: center; */
  margin: auto;
}

/* fs, fw 시작 */
/* 이번에만 이렇게 쓰자. 아오 */
.fs-display {
  font-size: 80px;
}

.fs-xxl {
  font-size: 65px;
}

.fs-xl {
  font-size: 50px;
}

.fs-l {
  font-size: 45px;
}

.fs-m {
  font-size: 40px;
}

.fs-s {
  font-size: 35px;
}

.fs-xs {
  font-size: 25px;
}

.fw-bold {
  font-weight: 700;
}

.fw-semibold {
  font-weight: 600;
}

.fw-medium {
  font-weight: 500;
  /* 보통(regular)보다 살짝 두꺼운 놈 */
}

.fw-regular {
  font-weight: 400;
}

/* fs, fw 끝 */

/* 소개 시작 */
.intro-section {
  background: linear-gradient(180deg, #E2FFEB 0%, #DDEAFF 100%);
  width: 100%;
  /* min-height: 100vh; */
  padding: 166px 0 41px 0;
}

.intro-title {
  margin-bottom: 120px;
  position: relative;
  z-index: 2;
}

.intro-title-img {
  width: 627px;
  height: auto;
  margin: auto;
}

.intro-title-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.intro-main {
  margin-bottom: 193px;
}

.intro-main-box-group {
  position: relative;
}

.intro-main-box1,
.intro-main-box2 {
  padding: 17px 50px;
  color: #FFFFFF;
  border-radius: 95px;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
}

@keyframes fall {
  0% {
    opacity: 1;
    transform: translateY(-700%) rotate(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0px) rotate(0);
  }
}

@keyframes fall-dig-slop {
  0% {
    transform: translateY(0px) rotate(0);
  }

  100% {
    transform: translateY(20px) rotate(-1deg);
  }
}

@keyframes fall-dig {
  0% {
    transform: translateY(0px) rotate(0);
  }

  100% {
    transform: translateY(20px) rotate(0);
  }
}

@keyframes lean {
  0% {
    transform: translateX(0px) translateY(20px) rotate(-1deg);
  }

  100% {
    transform: translateX(-70px) translateY(30px) rotate(-9deg);
  }
}

@keyframes shake {
  0% {
    transform: translateX(-70px) translateY(30px) rotate(-9deg);
  }

  50% {
    transform: translateX(-70px) translateY(30px) rotate(-8deg);
  }

  100% {
    transform: translateX(-70px) translateY(30px) rotate(-9deg);
  }
}

.intro-main-box1 {
  background: #03C75A;
  z-index: 1;
  transform: rotate(-9deg);
  /* bottom: -1px; */
  left: -90px;
  bottom: -24px;
  /* transform-origin: 43% 100%; */
  /* opacity: 0; */
  /* animation:
    fall 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.5s forwards,
    fall-dig-slop 0.1s ease-in-out 0.8s forwards,
    lean 4s ease-out 0.9s forwards,
    shake 4s ease-in-out 4.9s infinite; */
}


.intro-main-box2 {
  background: linear-gradient(90deg, #2FA2FF 0%, #5762FD 100%);
  z-index: 2;
  /* bottom: -30px; */
  bottom: -20px;
  left: 110px;
  /* animation: fall-dig 0.1s ease-in-out 0.8s forwards; */
}

.intro-main-img {
  position: relative;
  z-index: 3;
  width: 743px;
  height: 589px;
  margin: auto;
}

.intro-main-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.intro-main-text {
  margin-bottom: 62px;
}

.intro-look-into-sign-img {
  width: 150px;
  height: 150px;
  margin: auto;
  margin-top: 100px;
}

.intro-look-into-sign-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 소개 끝 */

/* chat gpt 시작 */
.chatgpt-talk-section {}

.chatgpt-devide-box {
  color: #FFFFFF;
  background-color: #4E5968;
  padding: 30px 0;
}

.chatgpt-talk-container {
  padding: 121px 0 146px 0;
}

.chatgpt-talk-wrapper {
  padding: 0 34px;
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}

.person-talk-box,
.chatgpt-talk-box {
  box-sizing: border-box;
  text-align: left;
  display: flex;
  flex-direction: row;
  max-width: fit-content;
}

.person-talk-box {
  background-color: #F5F5F7;
  /* padding: 24px 40px 24px 72px; */
  padding: 24px 50px 24px 60px;
  border-radius: 92px;
  align-self: flex-end;
  color: #4E5968;
  transform: scale(0);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s;
  transform-origin: right center;
  height: 0;
}

.person-talk-box.active {
  transform: scale(1);
  opacity: 1;
  height: auto;
}

.chatgpt-talk-box {
  align-self: flex-start;
  color: #656565;
}

.chatgpt-talk-img {
  width: 56px;
  /* height: 56px; */
  /* margin: auto; */
  margin-right: 16px;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
  height: 0;
}

.chatgpt-talk-img.active {
  opacity: 1;
  transform: translateY(0);
  height: 56px;
}

.chatgpt-talk-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.person-talk-phrase,
.chatgpt-talk-phrase {
  letter-spacing: -0.04em;
  line-height: 150%;
}

.chatgpt-talk-phrase {
  visibility: hidden;
  height: 0;
}

.chatgpt-talk-phrase.typing {
  visibility: visible;
  height: auto;
}

.chatgpt-talk-phrase strong {
  color: #222222;
}

/* chat gpt 끝 */

/* 플레이스 연동부터 시작 시작 */
.place-link-section {
  background:
    linear-gradient(180deg, rgba(83, 174, 255, 0.20) 0%, rgba(255, 255, 255, 0.00) 15%);
  padding: 200px 0 100px 0;
}

.start-place-link {
  margin-bottom: 160px;
}

.start-place-link h3 {
  line-height: 120%;
}

/* 달려오기 */
@keyframes run-link-span {
  0% {
    opacity: 1;
    transform: translateX(-60vw) rotate(0);
  }

  100% {
    opacity: 1;
    transform: translateX(-13px) rotate(0);
  }
}

/* 튕겨지며 위치잡기 */
@keyframes lean-link-span {
  0% {
    transform: translateX(-13px) rotate(0);
  }

  100% {
    transform: translateX(-13px) translateY(10px) rotate(-2deg);
  }
}

.start-place-link-span {
  display: inline-block;
  position: relative;
  background: #03C75A;
  color: #FFFFFF;
  /* left: -13px; */
  /* bottom: -10px; */
  /* transform: rotate(-2deg); */
  padding: 12px 15px;
  opacity: 0;
  /* animation:
    run-link-span 0.2s ease-in-out 0s forwards,
    lean-link-span 0.2s ease-in-out 0.2s forwards; */
}

.start-place-link.active .start-place-link-span {
  animation:
    run-link-span 0.2s ease-in-out 0s forwards,
    lean-link-span 0.2s ease-in-out 0.2s forwards;
}

.start-place-link-img {
  width: 672px;
  height: 578px;
  margin: auto;
  margin-bottom: 200px;
}

.start-place-link-img img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.changed-by-place-link {
  margin-bottom: 86px;
}

.changed-by-place-link-span {
  color: #03C75A;
}

.changed-by-place-link-cards-box {
  width: 852px;
  margin: auto;
  margin-bottom: 92px;
}

.changed-by-place-link-cards {
  display: grid;
  column-gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}

.changed-by-place-link-card {
  width: 100%;
  height: 332px;
  border-radius: 12px;
  color: #FFFFFF;
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
}

/* cbplc 는 changed-by-place-link-card의 줄임말일뿐. */
.changed-by-place-link-card.cbplc-review-number-card {
  background-color: #2FA1FF;
}

.changed-by-place-link-card.cbplc-influx-card {
  background-color: #42DD73;
}

.changed-by-place-link-card.cbplc-exposure-card {
  background-color: #2FA1FF;
}

.changed-by-place-link-card h2 {
  font-size: 60px;
  margin-left: 25px;
  margin-top: 17px;
  display: inline-block;
}

.changed-by-place-link-card p {
  font-size: 30px;
  margin-top: 40px;
  margin-left: 25px;
  display: inline-block;
}

.changed-by-place-link-card-img {
  position: absolute;
}

.changed-by-place-link-card-img.cbplc-review-number {
  width: 160px;
  height: 128px;
  bottom: 40px;
  right: 17px;
}

.changed-by-place-link-card-img.cbplc-influx {
  width: 206px;
  height: 153px;
  bottom: 52px;
  right: 16px;
}

.changed-by-place-link-card-img.cbplc-exposure {
  width: 209px;
  height: 85px;
  bottom: 48px;
  right: 0px;
}

.changed-by-place-link-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.changed-by-place-link-caption {
  text-align: right;
  margin-top: 33px;
  color: #B4B4B4;
}

.changed-by-place-link-list-box {
  margin-bottom: 112px;
}

.changed-by-place-link-list {
  list-style: none;
  margin: auto;
  width: fit-content;
}

.changed-by-place-link-list li {
  position: relative;
  width: fit-content;
  text-align: center;
  margin: auto;
  margin-bottom: 20px;
}

.changed-by-place-link-list li:last-child {
  margin-bottom: 0;
}

/* 기본: 한 줄일 때 자연스럽게 가운데 */
.changed-by-place-link-list li::before {
  content: "";
  position: absolute;
  left: -1.46em;
  top: 0;
  width: 1.46em;
  height: 1.46em;
  background: url("https://16882298.com/img/products/placeplus/placeplus_place_check_mark.png") no-repeat center/contain;
}

.changed-by-place-link-channel-talk-btn {
  width: 771px;
  margin: auto;
}

.changed-by-place-link-channel-talk-btn .changed-by-place-link-channel-talk-btn-decorate {
  background: linear-gradient(90deg, #1D9AFB 0%, #04C65E 100%);
}

.changed-by-place-link-btn-detail1 {
  position: relative;
  left: 0.375em;
}

.changed-by-place-link-btn-detail2 {
  color: #FFFFFF;
  object-fit: contain;
  height: 0.625em;
  position: relative;
  top: -0.04em;
  /* 48px기준 18px */
  /* left: 0.375em; */
  /* 48px기준 28px */
  left: 0.583em;
}

.changed-by-place-link-btn-detail3 {
  color: #FFFFFF80;
  object-fit: contain;
  height: 0.625em;
  position: relative;
  top: -0.04em;
  /* 48px기준 4px */
  /* left: 0.083em; */
  /* 48px기준 14px */
  left: 0.292em;
}


/* 플레이스 연동부터 시작 끝 */

/* 플레이스와 함께하는 페이앤 포스 소개 시작*/
.paynpos-section {
  width: 100%;
  background-color: transparent;
  /* padding-bottom: 42px; */
  /* padding-bottom: 42px; */
}

/* .paynpos-clip-triangle-section {
  border-style: solid;
  border-top: 2px solid #FFFFFF;
  border-width: clamp(128px, 14.79vw, 284px) clamp(435px, 50vw, 960px) 0px clamp(435px, 50vw, 960px);
  border-color: #ffffff transparent transparent transparent;
  min-width: 870px;
} */
.paynpos-clip-triangle-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: transparent;
  gap: 0;
}

.paynpos-clip-triangle-section div:nth-child(1) {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 284px 0px 0px max(435px, 50vw);
  border-color: transparent transparent transparent #2FA1FF;
}

.paynpos-clip-triangle-section div:nth-child(2) {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0px 284px max(435px, 50vw);
  border-color: transparent transparent #2FA1FF transparent;
}

/* .paynpos-clip-triangle-section {
  width: 100%;
  height: clamp(128px, 14.79vw, 284px);
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin-top: 0px;
} */

.paynpos-title {
  padding-top: 188px;
  padding-bottom: 42px;
  background-color: #2FA1FF;
  color: #FFFFFF;
}

.paynpos-title p {
  margin-bottom: 28px;
}

.paynpos-title h1 {}

.paynpos-img {
  width: 760px;
  height: 432px;
  margin: auto;
  margin-top: 76px;
}

.paynpos-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 플레이스와 함께하는 페이앤 포스 소개 끝*/

/* 페이앤 포스 with 플레이스 플러스 1 시작 */
.paynpos-chapter1-section {
  background-color: #2FA1FF;
}

.paynpos-chapter-numbering {
  background-color: #2E9CF4;
  color: #FFFFFF;
  border-radius: 33px;
  padding: 9px 27px;
  width: fit-content;
  margin: auto;
  margin-bottom: 40px;
}

.paynpos-container {
  background-color: #FFFFFF;
  border-radius: 435px 435px 0 0;
  position: relative;
}

.paynpos-explain-title {
  margin-bottom: 50px;
}

/* .chapter1 .paynpos-chapter-numbering {
  margin-bottom: 38px;
} */


.paynpos-container.chapter1 {
  padding-top: 137px;
  padding-bottom: 77px;
}

.paynpos-explain-card-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 74px;
}

.paynpos-explain-card {
  width: 750px;
  height: 750px;
  border-radius: 31px;
  position: relative;
  padding: 90px 60px 0px 60px;
  margin: auto;
}

.chapter1 .paynpos-explain-card {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0.50) 100%), #E0EDFF;
  color: #2B3648;
  margin: auto;
}

/* pec는 paynpos-explain-card-img의 줄임말일 뿐. */

.paynpos-explain-card.pec-pos-order-link {
  height: 793px;
}

.paynpos-explain-card-text-box {
  text-align: left;
  position: relative;
}

.pec-pos-order-link .paynpos-explain-card-text-box {
  top: 30px;
}

.paynpos-explain-card-title {
  margin-bottom: 22px;
}


/* 플레이스 연동의 팻말표시 시작 */
.sign-wrapper {
  position: absolute;
  display: flex;
  align-items: center;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  top: -25px;
  translate: 0% -100%;
}

.sign-content {
  box-sizing: border-box;
  background-color: #2ea4f0;
  color: #FFFFFF;
  padding: 10px 20px;
  padding-right: 7px;
  font-weight: bold;
  font-size: 30px;
  border-radius: 10px 0 0 10px;
  border-right: 1px #2ea4f0 solid;
  box-sizing: border-box;
}

.sign-content p {
  margin: 0;
}

.sign-arrow {
  width: 0;
  height: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 28px 0px 28px 24px;
  border-color: transparent transparent transparent #2ea4f0;
  /* border-left: 1px solid #2ea4f0; */
  box-sizing: border-box;
}

/* 플레이스 연동의 팻말표시 끝 */

.paynpos-explain-card-sub-img {
  position: absolute;
  width: 135px;
  height: 135px;
  margin: auto;
}

.paynpos-explain-card-sub-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.paynpos-explain-card-sub-img.pec-pos-product-info-sub-img {
  top: 90px;
  right: 60px;
}

.paynpos-explain-card-sub-img.pec-pos-order-link-sub-img {
  top: 100px;
  right: 60px;
}

.paynpos-explain-card-sub-img.pec-pos-reservation-sub-img {
  top: 90px;
  right: 60px;
}

.paynpos-explain-card-main-img {
  position: absolute;
  margin: auto;
}

.paynpos-explain-card-main-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.paynpos-explain-card-main-img.pec-pos-product-info-main-img {
  width: 618px;
  height: 319px;
  bottom: 68px;
  right: 34px;
}

.paynpos-explain-card-main-img.pec-pos-order-link-main-img {
  width: 542px;
  height: 449px;
  bottom: 40px;
  right: 65px;
}

.paynpos-explain-card-main-img.pec-pos-reservation-main-img {
  width: 654px;
  height: 350px;
  bottom: 58px;
  right: 38px;
}

.paynpos-explain-card-caption {
  color: #AEAEAE;
  text-align: center;
  margin-top: 67px;
}

/* 페이앤 포스 with 플레이스 플러스 1 끝 */


/* 네이버지도 '예약 탭' 도입 시작 */

.reservation-tap-introduction-section {
  background-color: #061A2D;
  color: #FAFAFA;
  padding-top: 70px;
  padding-bottom: 100px;
}

.new-badge {
  border-radius: 33px;
  background: linear-gradient(180deg, #037FFE 0%, #03C75A 100%);
  width: fit-content;
  padding: 12px 24px;
  margin: auto;
  margin-bottom: 38px;
}

.reservation-tap-introduction-text-box {
  margin-bottom: 17px;
}

.reservation-tap-introduction-text-box h3 {
  margin-bottom: 49px;
}

.reservation-tap-introduction-img {
  width: 580px;
  height: 694px;
  margin: auto;
  margin-bottom: 77px;
}

.reservation-tap-introduction-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.reservation-phrase {
  vertical-align: middle;
}

.reservation-highlight {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 0;
  opacity: 0;
  /* vertical-align: bottom; */
  vertical-align: 0px;
  translate: 0 25%;
  transition: all 1.3s ease-in-out;
  color: #03C75A;
}

.reservation-highlight.active {
  width: 100px;
  max-width: fit-content;
  opacity: 1;
}


/* 네이버지도 '예약 탭' 도입 끝 */

/* 페이앤 포스 with 플레이스 플러스 2 시작 */

.paynpos-chapter2-section {
  background-color: #D5ECFF;
  padding-top: 100px;
}

.paynpos-container.chapter2 {
  padding-top: 137px;
  padding-bottom: 77px;
}

.chapter2 .paynpos-explain-card {
  background: #F9F9FB;
  color: #2B3648;
}

.chapter2 .paynpos-explain-card-sub-img {
  width: 122px;
  height: 122px;
}

/* pec는 paynpos-explain-card-img의 줄임말일 뿐. */
.paynpos-explain-card-sub-img.pec-search-badge-sub-img {
  top: 90px;
  right: 60px;
}

.paynpos-explain-card-sub-img.pec-search-keyinfo-sub-img {
  top: 90px;
  right: 60px;
}

.paynpos-explain-card-main-img.pec-search-badge-main-img {
  width: 578px;
  height: 497px;
  bottom: 0px;
  right: 0px;
}

.paynpos-explain-card-main-img.pec-search-keyinfo-main-img {
  width: 475px;
  height: 422px;
  bottom: 52px;
  right: 21px;
}


/* 페이앤 포스 with 플레이스 플러스 2 끝 */

/* 페이앤 포스 with 플레이스 플러스 3 시작 */

.paynpos-chapter3-section {
  background-color: #DAF8FF;
  padding-top: 100px;
}

.paynpos-container.chapter3 {
  padding-top: 145px;
  padding-bottom: 94px;
}

.chapter3-caption {
  position: absolute;
  color: #AEAEAE;
  top: 73px;
  left: 50%;
  translate: -50% 0;
}

.chapter3 .paynpos-explain-card {
  background: #F9F9F9;
  color: #2B3648;
}

/* pec는 paynpos-explain-card-img의 줄임말일 뿐. */
.paynpos-explain-card-main-img.pec-review-no-recipt-main-img {
  width: 570px;
  height: 432px;
  bottom: 0px;
  right: 24px;
}

.paynpos-explain-card-main-img.pec-sreview-reply-main-img {
  width: 647px;
  height: 435px;
  bottom: 34px;
  right: 38px;
}

/* 페이앤 포스 with 플레이스 플러스 3 끝 */

/* 옆집 사장님 왈 이거 좋ㅋ음ㅋ 시작*/
.placeplus-review-section {
  background: #F3F4F6;
}

.placeplus-review-container {
  padding-top: 160px;
  padding-bottom: 116px;
}

.review-wrapper {
  margin-top: 90px;
  display: flex;
  flex-direction: column;
  row-gap: 34px;
}

.review-box {
  margin: auto;
  width: 832px;
  /* height: 300px; */
  padding: 35px 0 35px 65px;
  background-color: #FAFAFA;
  display: flex;
  flex-direction: row;
  align-items: center;
  border: 1px solid #C7C7C7;
  border-radius: 26px;
  box-sizing: border-box;
}

.review-img {
  border-radius: 50%;
  width: 176px;
  height: 176px;
  /* margin-right: 40px; */
  margin-right: 32px;
  overflow: hidden;
}

.review-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.review {
  text-align: start;
  display: flex;
  flex-direction: column;
}

.review>p:nth-of-type(1) {
  font-size: 37px;
  line-height: 150%;
  margin-bottom: 12px;
  position: relative;
  letter-spacing: -0.04em;
}

.review>p:nth-of-type(1) span {
  color: #1F88FF;
}

.review>p:nth-of-type(2) {
  font-size: 25px;
  color: #8F8F8F;
  letter-spacing: -0.04em;
}

/* 옆집 사장님 왈 이거 좋ㅋ음ㅋ 끝*/


@media screen and (max-width:768px) {

  .effective-width {
    width: min(100vw, 400px);
  }

  .fs-display {
    /* font-size: 80px; */
    font-size: min(8.75vw, 35px);
  }

  .fs-xxl {
    /* font-size: 65px; */
    font-size: min(7.5vw, 30px);
  }

  .fs-xl {
    /* font-size: 50px; */
    font-size: min(5.75vw, 23px);
  }

  .fs-l {
    /* font-size: 45px; */
    font-size: min(5vw, 20px);
    /* font-size: 21px; */
  }

  .fs-m {
    /* font-size: 40px; */
    /* font-size: 18.5px; */
    font-size: min(4.5vw, 18px);
  }

  .fs-s {
    /* font-size: 35px; */
    font-size: min(4vw, 16px);
  }

  .fs-xs {
    /* font-size: 25px; */
    font-size: min(3vw, 12px);
  }



  /* 소개 시작 */
  .intro-section {
    /* background: linear-gradient(180deg, #E2FFEB 0%, #DDEAFF 100%); */
    /* width: 100%; */
    padding: min(19.25vw, 77px) 0 min(5vw, 20px) 0;
  }

  .intro-title {
    margin-bottom: min(14vw, 56px);
    /* position: relative;
    z-index: 2; */
  }

  .intro-title-img {
    width: min(72.5vw, 290px);
    /* height: auto;
    margin: auto; */
  }

  .intro-title-img img {
    /* width: 100%;
    height: 100%;
    object-fit: contain; */
  }

  .intro-main {
    margin-bottom: min(22.5vw, 90px);
  }

  .intro-main-box-group {
    /* position: relative; */
  }

  .intro-main-box1,
  .intro-main-box2 {
    padding: min(2vw, 8px) min(5.75vw, 23px);
    /* color: #FFFFFF; */
    border-radius: min(11vw, 44px);
    /* position: relative;
    display: inline-block;
    box-sizing: border-box; */
  }

  @keyframes fall {
    0% {
      opacity: 1;
      transform: translateY(-700%) rotate(0);
    }

    100% {
      opacity: 1;
      transform: translateY(0px) rotate(0);
    }
  }

  @keyframes fall-dig-slop {
    0% {
      transform: translateY(0px) rotate(0);
    }

    100% {
      transform: translateY(min(2.5vw, 10px)) rotate(-1deg);
    }
  }

  @keyframes fall-dig {
    0% {
      transform: translateY(0px) rotate(0);
    }

    100% {
      transform: translateY(min(2.5vw, 10px)) rotate(0);
    }
  }

  @keyframes lean {
    0% {
      transform: translateX(0px) translateY(min(2.5vw, 10px)) rotate(-1deg);
    }

    100% {
      transform: translateX(-15%) translateY(min(5vw, 20px)) rotate(-9deg);
    }
  }

  @keyframes shake {
    0% {
      transform: translateX(-15%) translateY(min(5vw, 20px)) rotate(-9deg);
    }

    50% {
      transform: translateX(-15%) translateY(min(5vw, 20px)) rotate(-8deg);
    }

    100% {
      transform: translateX(-15%) translateY(min(5vw, 20px)) rotate(-9deg);
    }
  }

  /* .intro-main-box1 {
    background: #03C75A;
    z-index: 1;
    bottom: 0px;
    transform-origin: 35% 100%;
    opacity: 0;
    animation:
      fall 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.5s forwards,
      fall-dig-slop 0.1s ease-in-out 0.8s forwards,
      lean 4s ease-out 0.9s forwards,
      shake 4s ease-in-out 4.9s infinite;
  }


  .intro-main-box2 {
    background: linear-gradient(90deg, #2FA2FF 0%, #5762FD 100%);
    z-index: 2;
    bottom: 0;
    left: min(10vw, 40px);
    animation: fall-dig 0.1s ease-in-out 0.8s forwards;
  } */

  
.intro-main-box1 {
  background: #03C75A;
  z-index: 1;
  transform: rotate(-9deg);
  left: calc(-1 * min(10vw, 40px));
  /* bottom: calc(-1 * min(2.5vw, 10px)); */
  bottom: calc(-1 * min(3vw, 12px));
}


.intro-main-box2 {
  background: linear-gradient(90deg, #2FA2FF 0%, #5762FD 100%);
  z-index: 2;
  bottom: calc(-1 * min(2.5vw, 10px));
  left: min(10vw, 40px);
}


  .intro-main-img {
    /* position: relative; */
    z-index: 3;
    width: min(85.75vw, 343px);
    height: min(68.25vw, 273px);
    /* margin: auto; */
  }

  /* .intro-main-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  } */

  .intro-main-text {
    margin-bottom: min(6.5vw, 26px);
  }

  .intro-look-into-sign-img {
    width: min(17.5vw, 70px);
    height: min(17.5vw, 70px);
    /* margin: auto; */
    margin-top: min(11.25vw, 45px);
  }

  /* .intro-look-into-sign-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  } */

  /* 소개 끝 */

  /* chat gpt 시작 */
  .chatgpt-talk-section {}

  .chatgpt-devide-box {
    /* color: #FFFFFF;
    background-color: #4E5968; */
    padding: min(4vw, 16px) 0;
  }

  .chatgpt-talk-container {
    padding: min(14vw, 56px) 0 min(17.5vw, 70px) 0;
  }

  .chatgpt-talk-wrapper {
    padding: 0 min(3.75vw, 15px);
    display: flex;
    flex-direction: column;
    row-gap: min(8.5vw, 34px);
  }

  .person-talk-box,
  .chatgpt-talk-box {
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: row;
    max-width: fit-content;
  }

  .person-talk-box {
    /* background-color: #F5F5F7; */
    padding: min(2.75vw, 11px) min(5.75vw, 23px) min(2.75vw, 11px) min(8.25vw, 33px);
    border-radius: min(10.75vw, 43px);
    align-self: flex-end;
    color: #4E5968;
    transform: scale(0);
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s;
    transform-origin: right center;
    height: 0;
  }

  .person-talk-box.active {
    transform: scale(1);
    opacity: 1;
    height: auto;
  }

  .chatgpt-talk-box {
    align-self: flex-start;
    color: #656565;
  }

  .chatgpt-talk-img {
    width: min(6.5vw, 26px);
    margin-right: min(1.75vw, 7px);
    opacity: 0;
    transform: translateY(min(1.25vw, 5px));
    transition: all 0.4s ease;
    height: 0;
  }

  .chatgpt-talk-img.active {
    opacity: 1;
    transform: translateY(0);
    height: min(6.5vw, 26px);
  }

  .chatgpt-talk-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .person-talk-phrase,
  .chatgpt-talk-phrase {
    letter-spacing: -0.04em;
    line-height: 150%;
  }

  .chatgpt-talk-phrase {
    visibility: hidden;
    height: 0;
  }

  .chatgpt-talk-phrase.typing {
    visibility: visible;
    height: auto;
  }

  .chatgpt-talk-phrase strong {
    color: #222222;
  }

  /* chat gpt 끝 */

  /* 플레이스 연동부터 시작 시작 */
  .place-link-section {
    background:
      linear-gradient(180deg, rgba(83, 174, 255, 0.20) 0%, rgba(255, 255, 255, 0.00) 15%);
    padding: min(24.5vw, 98px) 0 min(25vw, 100px) 0;
  }

  .start-place-link {
    margin-bottom: min(14.25vw, 57px);
  }

  .start-place-link h3 {
    line-height: 120%;
  }

  /* 달려오기 */
  @keyframes run-link-span {
    0% {
      opacity: 1;
      transform: translateX(-60vw) rotate(0);
    }

    100% {
      opacity: 1;
      transform: translateX(calc(-1 * min(1vw, 4px))) rotate(0);
    }
  }

  /* 튕겨지며 위치잡기 */
  @keyframes lean-link-span {
    0% {
      transform: translateX(calc(-1 * min(1vw, 4px))) rotate(0);
    }

    100% {
      transform: translateX(calc(-1 * min(1vw, 4px))) translateY(3px) rotate(-2deg);
    }
  }

  .start-place-link-span {
    display: inline-block;
    position: relative;
    background: #03C75A;
    color: #FFFFFF;
    /* left: -13px; */
    /* bottom: -10px; */
    /* transform: rotate(-2deg); */
    padding: min(3vw, 12px) min(3.75vw, 15px);
    opacity: 0;
    /* animation:
    run-link-span 0.2s ease-in-out 0s forwards,
    lean-link-span 0.2s ease-in-out 0.2s forwards; */
  }

  .start-place-link.active .start-place-link-span {
    animation:
      run-link-span 0.2s ease-in-out 0s forwards,
      lean-link-span 0.2s ease-in-out 0.2s forwards;
  }

  .start-place-link-img {
    width: min(77.5vw, 310px);
    height: min(66.75vw, 267px);
    /* margin: auto; */
    margin-bottom: min(13.5vw, 54px);
  }

  .start-place-link-img img {}

  .changed-by-place-link {
    margin-bottom: min(21.5vw, 86px);
  }

  .changed-by-place-link-span {}

  .changed-by-place-link-cards-box {
    width: min(98.5vw, 394px);
    margin-bottom: min(10vw, 40px);
  }

  .changed-by-place-link-cards {
    display: grid;
    column-gap: min(2.25vw, 9px);
  }

  .changed-by-place-link-card {
    width: 100%;
    height: min(38.5vw, 154px);
    border-radius: min(1.5vw, 6px);
  }

  /* cbplc 는 changed-by-place-link-card의 줄임말일뿐. */
  .changed-by-place-link-card.cbplc-review-number-card {
    background-color: #2FA1FF;
  }

  .changed-by-place-link-card.cbplc-influx-card {
    background-color: #42DD73;
  }

  .changed-by-place-link-card.cbplc-exposure-card {
    background-color: #2FA1FF;
  }

  .changed-by-place-link-card h2 {
    font-size: min(7vw, 28px);
    margin-left: min(1.25vw, 5px);
    margin-top: min(1.75vw, 7px);
  }

  .changed-by-place-link-card p {
    font-size: min(3.5vw, 14px);
    margin-top: min(4.75vw, 19px);
    margin-left: min(1.25vw, 5px);
  }

  .changed-by-place-link-card-img {}

  .changed-by-place-link-card-img.cbplc-review-number {
    width: min(18.5vw, 74px);
    height: min(14.75vw, 59px);
    bottom: min(4.75vw, 19px);
    right: min(2vw, 8px);
  }

  .changed-by-place-link-card-img.cbplc-influx {
    width: min(24.5vw, 98px);
    height: min(18.25vw, 73px);
    bottom: min(6vw, 24px);
    right: min(1.75vw, 7px);
  }

  .changed-by-place-link-card-img.cbplc-exposure {
    width: min(24.25vw, 97px);
    height: min(10vw, 40px);
    bottom: min(5.75vw, 23px);
    right: 0px;
  }

  .changed-by-place-link-card-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .changed-by-place-link-caption {
    text-align: right;
    margin-top: min(3.75vw, 15px);
    color: #B4B4B4;
  }

  .changed-by-place-link-list-box {
    margin-bottom: min(13vw, 52px);
  }

  .changed-by-place-link-list {
    list-style: none;
    margin: auto;
    width: fit-content;
  }

  .changed-by-place-link-list li {
    position: relative;
    width: fit-content;
    text-align: center;
    margin: auto;
    margin-bottom: min(2.5vw, 10px);
  }

  .changed-by-place-link-list li:last-child {
    margin-bottom: 0;
  }

  /* 기본: 한 줄일 때 자연스럽게 가운데 */
  .changed-by-place-link-list li::before {
    content: "";
    position: absolute;
    left: -1.46em;
    top: 0;
    width: 1.46em;
    height: 1.46em;
    background: url("https://16882298.com/img/products/placeplus/placeplus_place_check_mark.png") no-repeat center/contain;
  }

  .changed-by-place-link-channel-talk-btn {
    width: min(89.25vw, 357px);
    margin: auto;
  }

  .changed-by-place-link-channel-talk-btn .changed-by-place-link-channel-talk-btn-decorate {
    background: linear-gradient(90deg, #1D9AFB 0%, #04C65E 100%);
  }

  .changed-by-place-link-btn-detail1 {
    position: relative;
    left: 0.375em;
  }

  .changed-by-place-link-btn-detail2 {
    color: #FFFFFF;
    object-fit: contain;
    height: 0.625em;
    position: relative;
    top: -0.04em;
    /* 48px기준 18px */
    /* left: 0.375em; */
    /* 48px기준 28px */
    left: 0.583em;
  }

  .changed-by-place-link-btn-detail3 {
    color: #FFFFFF80;
    object-fit: contain;
    height: 0.625em;
    position: relative;
    top: -0.04em;
    /* 48px기준 4px */
    /* left: 0.083em; */
    /* 48px기준 14px */
    left: 0.292em;
  }


  /* 플레이스 연동부터 시작 끝 */

  /* 플레이스와 함께하는 페이앤 포스 소개 시작*/
  .paynpos-section {
    width: 100%;
    /* padding-bottom: min(5vw, 20px); */
  }

  .paynpos-clip-triangle-section {
  }
  
  .paynpos-clip-triangle-section div:nth-child(1) {
    border-width: min(14.5vw, 58px) 0px 0px 50vw;
  }
  
  .paynpos-clip-triangle-section div:nth-child(2) {
    border-width: 0px 0px min(14.5vw, 58px) 50vw;
  }

  .paynpos-title {
    padding-top: min(20.75vw, 83px);
    padding-bottom: min(5vw, 20px);
  }

  .paynpos-title p {
    margin-bottom: min(3.25vw, 13px);
  }

  .paynpos-title h1 {}

  .paynpos-img {
    width: min(89vw, 356px);
    height: min(47.75vw, 191px);
    margin: auto;
    margin-top: min(8.75vw, 35px);
  }

  .paynpos-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* 플레이스와 함께하는 페이앤 포스 소개 끝*/

  /* 페이앤 포스 with 플레이스 플러스 1 시작 */
  .paynpos-chapter1-section {
    background-color: #2FA1FF;
  }

  .paynpos-chapter-numbering {
    background-color: #2E9CF4;
    color: #FFFFFF;
    border-radius: min(3.75vw, 15px);
    padding: min(1vw, 4px) min(3.5vw, 14px);
    width: fit-content;
    margin: auto;
    margin-bottom: min(5.5vw, 22px);
  }

  .paynpos-container {
    background-color: #FFFFFF;
    border-radius: min(47.5vw, 190px) min(47.5vw, 190px) 0 0;
    position: relative;
  }

  .paynpos-explain-title {
    margin-bottom: min(5.5vw, 22px);
  }

  /* .chapter1 .paynpos-chapter-numbering {
  margin-bottom: 38px;
} */


  .paynpos-container.chapter1 {
    padding-top: min(15.75vw, 63px);
    padding-bottom: min(8.5vw, 34px);
  }

  .paynpos-explain-card-group {
    row-gap: min(8.5vw, 34px);
  }

  .paynpos-explain-card {
    width: min(87vw, 348px);
    height: min(87vw, 348px);
    border-radius: min(7.75vw, 31px);
    position: relative;
    padding: min(9.5vw, 38px) min(7vw, 28px) 0px min(7vw, 28px);
    margin: auto;
  }

  .chapter1 .paynpos-explain-card {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0.50) 100%), #E0EDFF;
    color: #2B3648;
    margin: auto;
  }

  /* pec는 paynpos-explain-card-img의 줄임말일 뿐. */

  .paynpos-explain-card.pec-pos-order-link {
    height: min(91.75vw, 367px);
  }

  .paynpos-explain-card-text-box {
    text-align: left;
    position: relative;
  }

  .pec-pos-order-link .paynpos-explain-card-text-box {
    top: min(7.5vw, 30px);
  }

  .paynpos-explain-card-title {
    margin-bottom: min(2.5vw, 10px);
  }


  /* 플레이스 연동의 팻말표시 시작 */
  .sign-wrapper {
    filter: drop-shadow(0 min(0.25vw, 1px) min(0.5vw, 2px) rgba(0, 0, 0, 0.1));
    top: calc(-1 * min(1.75vw, 7px));
    translate: 0% -100%;
  }

  .sign-content {
    padding: min(1.5vw, 6px) min(2.25vw, 9px);
    padding-right: min(0.75vw, 3px);
    font-size: min(3.5vw, 14px);
    border-radius: min(1vw, 4px) 0 0 min(1vw, 4px);
  }

  .sign-content p {
    margin: 0;
  }

  .sign-arrow {
    border-width: min(3.75vw, 14px) 0px min(3.75vw, 14px) min(3vw, 12px);
  }

  /* 플레이스 연동의 팻말표시 끝 */

  .paynpos-explain-card-sub-img {
    width: min(15.75vw, 63px);
    height: min(15.75vw, 63px);
  }

  .paynpos-explain-card-sub-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .paynpos-explain-card-sub-img.pec-pos-product-info-sub-img {
    top: min(10vw, 40px);
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-sub-img.pec-pos-order-link-sub-img {
    top: 50px;
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-sub-img.pec-pos-reservation-sub-img {
    top: min(10vw, 40px);
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-main-img {
    position: absolute;
    margin: auto;
  }

  .paynpos-explain-card-main-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .paynpos-explain-card-main-img.pec-pos-product-info-main-img {
    width: min(71.5vw, 286px);
    height: min(37vw, 148px);
    bottom: min(7.75vw, 31px);
    right: min(3.75vw, 15px);
  }

  .paynpos-explain-card-main-img.pec-pos-order-link-main-img {
    width: min(62.5vw, 250px);
    height: min(52vw, 208px);
    bottom: min(4.75vw, 19px);
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-main-img.pec-pos-reservation-main-img {
    width: min(76vw, 304px);
    height: min(40.75vw, 163px);
    bottom: min(6.75vw, 27px);
    right: min(4.5vw, 18px);
  }

  .paynpos-explain-card-caption {
    color: #AEAEAE;
    text-align: center;
    margin-top: min(7.5vw, 30px);
  }

  /* 페이앤 포스 with 플레이스 플러스 1 끝 */


  /* 네이버지도 '예약 탭' 도입 시작 */

  .reservation-tap-introduction-section {
    padding-top: min(8.5vw, 34px);
    padding-bottom: min(11.75vw, 47px);
  }

  .new-badge {
    border-radius: min(3.75vw, 15px);
    padding: min(1.5vw, 6px) min(3vw, 12px);
    margin: auto;
    margin-bottom: min(4.5vw, 18px);
  }

  .reservation-tap-introduction-text-box {
    margin-bottom: min(2vw, 8px);
  }

  .reservation-tap-introduction-text-box h3 {
    margin-bottom: min(5.75vw, 23px);
  }

  .reservation-tap-introduction-img {
    width: min(67.25vw, 269px);
    height: min(80.5vw, 322px);
    margin: auto;
    margin-bottom: min(8.75vw, 35px);
  }

  .reservation-tap-introduction-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .reservation-phrase {
    vertical-align: middle;
  }

  .reservation-highlight {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    opacity: 0;
    /* vertical-align: bottom; */
    vertical-align: 0px;
    translate: 0 25%;
    transition: all 1.3s ease-in-out;
    color: #03C75A;
  }

  .reservation-highlight.active {
    width: min(25vw, 100px);
    max-width: fit-content;
    opacity: 1;
  }


  /* 네이버지도 '예약 탭' 도입 끝 */

  /* 페이앤 포스 with 플레이스 플러스 2 시작 */

  .paynpos-chapter2-section {
    background-color: #D5ECFF;
    padding-top: min(11.5vw, 46px);
  }

  .paynpos-container.chapter2 {
    padding-top: min(12.5vw, 50px);
    padding-bottom: min(6.25vw, 25px);
  }

  .chapter2 .paynpos-explain-card {
    background: #F9F9FB;
    color: #2B3648;
  }

  .chapter2 .paynpos-explain-card-sub-img {
    width: min(14.25vw, 57px);
    height: min(14.25vw, 57px);
  }

  /* pec는 paynpos-explain-card-img의 줄임말일 뿐. */
  .paynpos-explain-card-sub-img.pec-search-badge-sub-img {
    top: min(8.5vw, 34px);
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-sub-img.pec-search-keyinfo-sub-img {
    top: min(8.5vw, 34px);
    right: min(7vw, 28px);
  }

  .paynpos-explain-card-main-img.pec-search-badge-main-img {
    width: min(66.75vw, 267px);
    height: min(57.5vw, 230px);
    bottom: 0px;
    right: 0px;
  }

  .paynpos-explain-card-main-img.pec-search-keyinfo-main-img {
    width: min(55vw, 220px);
    height: min(49vw, 196px);
    bottom: min(6vw, 24px);
    right: min(3.75vw, 15px);
  }


  /* 페이앤 포스 with 플레이스 플러스 2 끝 */

  /* 페이앤 포스 with 플레이스 플러스 3 시작 */

  .paynpos-chapter3-section {
    background-color: #DAF8FF;
    padding-top: min(11.5vw, 46px);
  }

  .paynpos-container.chapter3 {
    padding-top: min(17.75vw, 71px);
    padding-bottom: min(11vw, 44px);
  }

  .chapter3-caption {
    position: absolute;
    color: #AEAEAE;
    top: min(8.5vw, 34px);
    left: 50%;
    translate: -50% 0;
  }

  .chapter3 .paynpos-explain-card {
    background: #F9F9F9;
    color: #2B3648;
  }

  /* pec는 paynpos-explain-card-img의 줄임말일 뿐. */
  .paynpos-explain-card-main-img.pec-review-no-recipt-main-img {
    width: min(66vw, 264px);
    height: min(50vw, 200px);
    bottom: 0px;
    right: min(3vw, 12px);
  }

  .paynpos-explain-card-main-img.pec-sreview-reply-main-img {
    width: min(75vw, 300px);
    height: min(50.5vw, 202px);
    bottom: min(4vw, 16px);
    right: min(4vw, 16px);
  }

  /* 페이앤 포스 with 플레이스 플러스 3 끝 */

  /* 옆집 사장님 왈 이거 좋ㅋ음ㅋ 시작*/
  .placeplus-review-section {
    background: #F3F4F6;
  }

  .placeplus-review-container {
    padding-top: min(18.5vw, 74px);
    padding-bottom: min(13.5vw, 54px);
  }

  .review-wrapper {
    margin-top: min(10.5vw, 42px);
    display: flex;
    flex-direction: column;
    row-gap: min(4vw, 16px);
  }

  .review-box {
    margin: auto;
    width: min(96.25vw, 385px);
    padding: min(4vw, 16px) 0 min(4vw, 16px) min(7.5vw, 30px);
    border: min(0.25vw, 1px) solid #C7C7C7;
    border-radius: min(3vw, 12px);
  }

  .review-img {
    border-radius: 50%;
    width: min(20.25vw, 81px);
    height: min(20.25vw, 81px);
    /* margin-right: 40px; */
    margin-right: min(3.75vw, 15px);
    /* overflow: hidden; */
  }

  .review-img img {}

  .review {}

  .review>p:nth-of-type(1) {
    font-size: min(4.25vw, 17px);
    margin-bottom: min(1.5vw, 6px);
  }

  .review>p:nth-of-type(1) span {}

  .review>p:nth-of-type(2) {
    font-size: min(3vw, 12px);
  }

  /* 옆집 사장님 왈 이거 좋ㅋ음ㅋ 끝*/

}