body {
  margin: 0;
  min-width: 360px;
}

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

* {
  font-family: Pretendard !important;
  box-sizing: border-box;
}

button {
  border: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

button:hover {
  opacity: 0.5;
}

.isPc {
  display: block;
}

.isMobile {
  display: none;
}


/* header */
header {
  position: fixed;
  top: 0;
  z-index: 999;
  width: 100%;

  display: flex;
  padding: 0px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;

  border-bottom: 1px solid #EBEBEB;
  background: #FFF;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1 0 0;
  width: 100%;
}

.Header-Container {
  display: flex;
  width: 100%;
  max-width: 1200px;
  padding: 14px 0px;
  align-items: center;
}

.Header-Button {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.Header-Button button {
  display: flex;
  height: 48px;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;

  border-radius: 12px;

  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%;
}

.Header-Button button {
  background: #00CDCF;
  color: #FFF;
}

/* Hero-Section */
.Hero-Section {
  margin-top: 77px;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.Hero-Section img:last-child {
  width: 100%;
}

.Hero-Section-Button-Container {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.Hero-Section-Button-Container button {
  display: flex;
  width: 200px;
  height: 64px;
  justify-content: center;
  align-items: center;
  gap: 8px;

  border-radius: 16px;
  border: 2px solid #FFF;

  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

.Hero-Section-Button-Container button:first-child {
  color: #FFF;
  background: border-box;
}

.Hero-Section-Button-Container button:last-child {
  color: #262D33;
  background: #FFF;
}

.Hero-Section-Container {
  position: absolute;
  display: flex;
  width: 100%;
  max-width: 1200px;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.Hero-Section-Text-Container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}

.Hero-Section-Text-Title {
  color: #FFF;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.192px;
}

.Mobile {
  display: none;
}

.Hero-Section-Text-Description {
  color: #FFF;
  font-size: 88px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -0.48px;
}

.Hero-Section-Text-Description-bold {
  color: #7CE5E5;
  font-size: 112px;
  letter-spacing: -0.672px;
}

/* Legal-Advisory-Section */
.Legal-Advisory-Section {
  display: flex;
  padding: 120px 0px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 80px;
  align-self: stretch;

  background: #EDF2F6;
}

.Content-Container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 80px;
}

.Image-Container {
  max-width: 1200px;
  width: 100%;

  display: flex;
  flex-direction: column;
  gap: 24px;

  text-align: center;

  color: #757575;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.36px;
}

.Container-Header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
  align-self: stretch;
}

.FAQ-Item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

.FAQ-Item-title {
  color: #00CDCF;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}

.FAQ-Item-subtitle {
  color: #252320;
  text-align: center;
  font-size: 44px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.Number-Item-Container {
  display: flex;
  width: 480px;
  gap: 40px;
  align-items: center;
}

.Number-Item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1 0 0;

  color: #161820;
  font-style: normal;
  text-align: center;
  line-height: 160%;
}

.Number-Item-Title {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.132px;
}

.Number-Item-Review-Count {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
}

.Number-Item-Review-Count img {
  width: 32px;
  height: 32px;
}

.Number-Item-Review-Count-text {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.192px;
}

.Vertical-Divider {
  width: 2px;
  height: 90px;
  flex-shrink: 0;

  background: #F3F8F7;
}

.Number-Item-right-Container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1 0 0;
}

.Card-Group-Container {
  width: 100vw;
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 120px;
}


.Card-Group {
  display: flex;
  align-items: center;
  gap: 16px;
  will-change: transform;
  animation: card-wrapper 20s infinite linear;
}

.isPc .Card-Group {
  animation: reverse-card-wrapper 20s infinite linear;
  justify-content: flex-end;
}

@keyframes card-wrapper {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2164px);
  }
}

@keyframes reverse-card-wrapper {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(2164px);
  }
}

.Section-Image-Container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Section-Image */
.Section-Image img {
  max-width: 1440px;
  width: 100%;

}

/* Text-Section */
.Text-Section {
  display: flex;
  padding: 120px 0px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 48px;
  align-self: stretch;

  background: #00CDCF;
}

.Text-Section-Heading {
  display: flex;
  max-width: 1200px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 48px;
}

.Text-Section-Heading-Title {
  color: #FFF;
  text-align: center;
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.288px;
}

.Text-Section-Button-Container {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.Text-Section-Button-Container button {
  display: flex;
  width: 261px;
  height: 84px;
  justify-content: center;
  align-items: center;
  gap: 8px;

  border-radius: 24px;
  border: 2px solid #FFF;

  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

.Text-Section-Button-Container button:first-child {
  color: #FFF;
  background: border-box;
}

.Text-Section-Button-Container button:last-child {
  background: #FFF;
  color: #000;
}

/* FAQ-Section */
.FAQ-Section {
  display: flex;
  padding: 120px 0px;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  align-self: stretch;
}

.FAQ-Section-Container {
  display: flex;
  max-width: 1200px;
  width: 100%;
  flex-direction: column;
  gap: 16px;
  padding: 0 20px;
}

.FQA-Section-Item {
  width: 100%;
  display: flex;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  align-self: stretch;

  border-radius: 16px;
  border: 2px solid #EEF3F8;
  background: #FFF;
}

.FAQ-Section-Question-Header {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.FAQ-Section-Question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;

  color: #3A3A3A;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 170%;
}

.FAQ-Section-Answer {
  color: #757575;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
}

.arrow {
  transition: transform 0.2s ease-in-out;
}

.arrow.rotate {
  transform: rotate(180deg);
}

footer {
  display: flex;
  padding: 80px 0px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 28px;

  background: #24292D;
}

.footer-Container {
  display: flex;
  max-width: 1200px;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 28px;
  width: 100%;
  flex-wrap: wrap;

  padding: 0 20px;
}

.footer-Text-Container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
  flex: 1 0 0;

  color: #FFF;
}

.footer-Text-Container-title {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}

.footer-Text-Info-Content-Container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}

.footer-Text-Content-Container {
  display: flex;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.footer-Text-Content {
  display: flex;
  align-items: center;
  gap: 4px;

  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.6px;
}


.footer-Text-Info-Content-Label {
  color: #FFF;
}

.footer-Text-Container-text {
  color: rgba(255, 255, 255, 0.60);
}

.footer-Vertical-Divider {
  width: 1px;
  height: 10px;
  background: #FFF;
}

@media (max-width: 768px) {
  .isPc {
    display: none;
  }

  .isMobile {
    display: block;
  }

  .Header-Container {
    flex-direction: column;
  }

  .Header-Container-Img {
    width: 165px;
    height: 20px;
  }

  .Header-Button button {
    height: 32px;
    border-radius: 8px;
    font-size: 14px;
  }

  .List-Tab {
    display: flex;
    width: 100%;
    padding: 18px 16px;
    align-items: center;
    gap: 10px;

    border-bottom: 1px solid #EBEBEB;
    background: #FFF;

    color: #252320;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
  }

  .Hero-Section {
    margin-top: 60px;
  }

  .Hero-Section-Container {
    align-items: initial;
    padding: 40px 16px;
    height: 100%;
    justify-content: space-between;
  }

  .Hero-Section-Text-Container {
    align-items: center;
    gap: 12px;
    flex-grow: 4;
    justify-content: center;
    flex-direction: column-reverse;
  }

  .Hero-Section-Text-Title {
    font-size: 20px;
    letter-spacing: -0.12px;
    text-align: center;
  }

  .Pc {
    display: none;
  }

  .Mobile {
    display: inline-block;
  }

  .Hero-Section-Text-Description {
    width: 200px;
    text-align: center;
    font-size: 72px;
    line-height: 120%;
    letter-spacing: -0.396px;
  }

  .Hero-Section-Text-Description-bold {
    color: #7CE5E5;
    font-size: 72px;
  }

  .Hero-Section-Button-Container {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .Hero-Section-Button-Container button {
    height: 56px;
    font-size: 16px;
    width: 100%;
  }

  .Legal-Advisory-Section {
    padding: 60px 0px;
  }

  .Content-Container {
    gap: 32px;
    padding: 0 16px;
  }

  .Image-Container {
    gap: 12px;
    font-size: 14px;
  }

  .Container-Header {
    padding: 0 21px;
    gap: 32px;
  }

  .FAQ-Item-subtitle {
    font-size: 25px;
  }

  .Number-Item-Container {
    width: max-content;
    gap: 20px;
  }

  .Card-Group-Container {
    padding: unset;
  }

  .Number-Item-Title {
    font-size: 15px;
    letter-spacing: -0.09px;
  }

  .Number-Item-Review-Count {
    width: max-content;
  }

  .Number-Item-Review-Count img {
    width: 20px;
    height: 20px;
  }

  .Number-Item-Review-Count-text {
    font-size: 20px;
    letter-spacing: -0.12px;
  }

  .Vertical-Divider {
    height: 24px;
  }

  .Card-Group img {
    height: auto;
    width: 284px;
  }

  .Text-Section {
    padding: 60px 16px;
  }

  .Text-Section-Heading {
    gap: 32px;
    width: 100%;
  }

  .Text-Section-Heading-Title {
    font-size: 25px;
    letter-spacing: -0.15px;
  }

  .Text-Section-Button-Container {
    width: 100%;
    flex-direction: column;
    gap: 8px;
  }

  .Text-Section-Button-Container button {
    height: 56px;
    width: 100%;
    border-radius: 16px;
    font-size: 16px;
  }

  .FAQ-Section {
    padding: 60px 16px 40px 16px;
    gap: 32px;
  }

  .FAQ-Section-Container {
    padding: 0;

  }

  .FQA-Section-Item {
    padding: 24px 16px;
  }

  .FAQ-Section-Question {
    font-size: 16px;
  }

  .FAQ-Section-Answer {
    font-size: 14px;
  }

  footer {
    padding: 60px 20px;
  }

  .footer-Container {
    gap: 20px;
    padding: 0;
  }

  .footer-Text-Container {
    gap: 20px;
  }

  .footer-Text-Container img {
    width: 165px;
    height: 20px;
  }

  .footer-Text-Content-Container {
    gap: 4px;
  }

  .footer-Text-Content {
    font-size: 14px;
  }

}