body.lp-body {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #f3e4dc;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
}

.lp {
  container-type: inline-size;
  max-width: 430px;
  margin: 0 auto;
  overflow-x: clip;
  background: #fff6f1;
  line-break: strict;
  text-spacing-trim: space-all;
}
:where(.lp) img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
:where(.lp) :where(h1, h2, h3, p, dl, dd, ol, ul) {
  margin: 0;
  padding: 0;
}
:where(.lp) :is(h1, h2, h3, p, dl, dt, dd, ol, ul, li, div, span, a) {
  font-weight: inherit;
}
:where(.lp) :where(ol, ul) {
  list-style: none;
}
:where(.lp) a {
  color: inherit;
  text-decoration: none;
}

.lp-nowrap {
  white-space: nowrap;
}

.lp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.lp-contents {
  display: flex;
  flex-direction: column;
  gap: 72px;
}

@container (max-width: 389px) {
  .lp-hero-cta,
  .lp-contents,
  .lp-footer {
    text-wrap: pretty;
  }
}
.lp-grad-text {
  background: radial-gradient(112.66% 214.6% at 0 0, #ffcb5e 0%, #ff0f57 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.lp-heading {
  display: flex;
  flex-direction: column;
}
.lp-heading__en {
  padding: 0 16px;
  color: #ff4a76;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 3.5px;
}
.lp-heading__en::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  margin: 7px 0;
  background: radial-gradient(112.66% 214.6% at 0 0, #ffcb5e 0%, #ff0f57 100%);
}
.lp-heading__title {
  padding: 0 16px;
  font-size: 24px;
  font-size: min(24px, 6.16cqw);
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 1.2px;
}
.lp-heading__lead {
  margin-top: 16px;
  padding: 0 16px;
  font-size: 16px;
  line-height: 1.7;
}

.lp-steps,
.lp-menu,
.lp-price,
.lp-reasons,
.lp-voice,
.lp-faq {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.lp-chip {
  display: inline-block;
  padding: 0 8px;
  border-radius: 40px;
  background: #323d6a;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}

.lp-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  padding: 16px;
  border-radius: 50px;
  background: #ff4a76;
  filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.25));
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.lp-button:hover {
  opacity: 0.85;
}

.lp-badges {
  display: flex;
  justify-content: center;
  gap: 15px;
}
.lp-badges--spread {
  justify-content: space-between;
}
.lp-badges__link {
  flex: 0 1 auto;
  min-width: 0;
  transition: opacity 0.2s;
}
.lp-badges__link:hover {
  opacity: 0.8;
}
.lp .lp-badges img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.lp-download {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
}
.lp-download__title {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

.lp-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border: 1px solid #e9d5d5;
  border-radius: 15px;
  background: #fff;
}
.lp-card__title {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}
.lp-card__title img {
  flex-shrink: 0;
  width: 30px;
}
.lp-card__text {
  font-size: 16px;
  line-height: 1.7;
}

.lp-pickup {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 88px 0 32px;
  overflow: hidden;
  background: #ffd977;
}
.lp-pickup__watermark {
  position: absolute;
  top: -39.5px;
  left: 50%;
  margin-left: -204px;
  color: #fff6f1;
  font-size: 87px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 16.53px;
  white-space: nowrap;
}
.lp-pickup__head {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 16px;
}
.lp-pickup__title {
  font-size: 24px;
  font-size: min(24px, 6.16cqw);
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 1.2px;
}
.lp-pickup__lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}
.lp-pickup__list {
  display: flex;
  gap: 8px;
  padding: 0 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding: 0 16px;
  scrollbar-width: none;
}
.lp-pickup__list::-webkit-scrollbar {
  display: none;
}
.lp-pickup__list::after {
  content: "";
  flex: 0 0 8px;
}
.lp-pickup__list > * {
  scroll-snap-align: start;
}
.lp-pickup__list:focus-visible {
  outline: 2px solid #323d6a;
  outline-offset: -2px;
}
.lp-pickup__item {
  display: flex;
  flex: 0 0 144px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 0;
  text-align: center;
}
.lp .lp-pickup__photo {
  width: 129px;
  height: 128px;
  border-radius: 50%;
  object-fit: cover;
}
.lp-pickup__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
  min-width: 0;
  line-height: 1.5;
}
.lp-pickup__name {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  max-width: 100%;
  height: 18px;
  padding-top: 4px;
  border-bottom: 7px solid #fff6f1;
  white-space: nowrap;
}
.lp-pickup__name-main {
  min-width: 0;
  overflow: hidden;
  font-size: 16px;
  font-weight: 700;
  text-overflow: ellipsis;
}
.lp-pickup__name-suffix {
  font-size: 12px;
}
.lp-pickup__menu {
  display: -webkit-box;
  width: 144px;
  overflow: hidden;
  font-size: 14px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.lp-phone {
  position: relative;
  width: 241px;
  aspect-ratio: 241/494;
  filter: drop-shadow(0 4px 7.5px rgba(0, 0, 0, 0.2));
}
.lp .lp-phone__frame {
  position: absolute;
  top: 0;
  left: -0.48%;
  width: 101.44%;
  max-width: none;
  height: 100%;
}
.lp .lp-phone__buttons {
  position: absolute;
  top: 20.54%;
  left: -0.48%;
  width: 101.44%;
  max-width: none;
  height: 24.3%;
  mix-blend-mode: overlay;
}
.lp-phone__screen {
  position: absolute;
  inset: 2.35% 4.82%;
  overflow: hidden;
  background: linear-gradient(199deg, #fff 1%, #b5ada8 132%);
  -webkit-mask: var(--mask) center/100% 100% no-repeat;
  mask: var(--mask) center/100% 100% no-repeat;
}
.lp .lp-phone__shot {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-phone__status {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 5.17%;
  padding: 1px 4.11% 0 7.69%;
}
.lp-phone__time {
  color: #1a1a1a;
  font-family: Inter, sans-serif;
  font-size: 8px;
  font-weight: 500;
  line-height: 1;
}
.lp-phone__icons {
  display: flex;
  align-items: center;
  gap: 3px;
}
.lp .lp-phone__icons img:nth-child(1) {
  width: 10px;
}
.lp .lp-phone__icons img:nth-child(2) {
  width: 8.5px;
}
.lp .lp-phone__icons img:nth-child(3) {
  width: 15px;
}

.lp-faq {
  padding: 48px 0;
}
.lp-faq__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 16px;
  border-bottom: 1px solid #e9d5d5;
}
.lp-faq__q {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 18px;
  font-size: min(18px, (100cqw - 62px) / 17.5);
  font-weight: 500;
  line-height: 23.4px;
}
.lp-faq__mark {
  flex-shrink: 0;
  color: #3bcdb9;
  font-family: "Lexend Exa", "Noto Sans JP", sans-serif;
  font-size: 20px;
}
.lp-faq__a {
  font-size: 16px;
  line-height: 1.7;
}

.lp-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 48px 16px 16px;
  background: #3f3f3f;
  color: #fff;
  line-height: 1.7;
}
.lp-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 27px;
}
.lp-footer__menu a:hover {
  text-decoration: underline;
}
.lp-footer__copyright {
  font-family: "Lexend Exa", "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-weight: 500;
}

.lp-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 114px));
  column-gap: 8px;
  justify-content: space-between;
  padding: 0 16px;
}

.lp-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 4px;
  border-radius: 15px;
  background: #fff;
  filter: drop-shadow(0 0 3px #ff8c72);
  text-align: center;
}
.lp-stat__label {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.lp-stat__value {
  align-self: stretch;
  font-size: 42px;
  font-size: min(42px, 10.77cqw);
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.5;
}
.lp-stat__comma {
  font-size: 24px;
  letter-spacing: -1.2px;
}
.lp-stat__unit {
  position: relative;
  display: flex;
  justify-content: center;
  width: 106px;
  height: 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.lp .lp-stat__unit img {
  position: absolute;
  top: -4px;
  height: 42px;
}
.lp .lp-stat__unit img:first-child {
  left: 0;
}
.lp .lp-stat__unit img:last-child {
  top: -5px;
  right: 0;
  height: 44px;
}

.lp-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 48px 16px;
  border-radius: 15px;
  background: #fff;
}
.lp-cta__title {
  width: 100%;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.66px;
}
.lp-cta__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.lp-cta__note {
  font-size: 16px;
  font-size: min(16px, (100cqw - 32px) / 22);
  line-height: 1.5;
}

.lp-reasons__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 16px;
}

.lp-hero {
  position: relative;
  aspect-ratio: 390/493;
  overflow: hidden;
  background: #fff;
}
.lp-hero::after {
  content: "";
  position: absolute;
  top: 65.92%;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 34.08%;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff);
}
.lp .lp-hero__bg {
  position: absolute;
  top: -10.55%;
  left: -21.79%;
  width: 124.62%;
  max-width: none;
  height: 175.25%;
  object-fit: cover;
}
.lp-hero__copy {
  position: absolute;
  top: 6.9%;
  left: 4.87%;
  z-index: 2;
  font-size: 24px;
  font-size: min(24px, 6.16cqw);
  font-weight: 700;
  line-height: 1.34;
  text-shadow: 0 2px 20px #fff;
}
.lp .lp-hero__logo {
  position: absolute;
  top: 22.57%;
  left: 6.11%;
  z-index: 2;
  width: 61.28%;
}
.lp .lp-hero__phone {
  position: absolute;
  z-index: 3;
  max-width: none;
}
.lp .lp-hero__phone--search {
  top: 35.09%;
  left: -3.33%;
  width: 46.67%;
}
.lp .lp-hero__phone--list {
  top: 40.2%;
  left: -5.56%;
  width: 85.52%;
  transform: rotate(7.2deg);
}

.lp-hero-cta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 16px;
  text-align: center;
}
.lp-hero-cta__sub {
  font-size: 16px;
  line-height: 1.5;
}
.lp-hero-cta__title {
  width: fit-content;
  margin: -12px auto 0;
  font-size: 24px;
  font-size: min(24px, 6.4cqw);
  font-weight: 500;
  line-height: 1.5;
}

.lp-join {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
}
.lp-join__note {
  font-size: 16px;
  line-height: 1.5;
}

.lp-intro {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.lp-intro__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 16px;
}
.lp-intro__sub {
  color: #808080;
  font-size: 16px;
  line-height: 1.5;
}
.lp-intro__title {
  color: #ff4a76;
  font-size: 23px;
  font-size: min(23px, (100cqw - 32px) / 15.5);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.lp-intro__points {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 16px;
}
.lp-intro__point {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #323d6a;
  line-height: 1.5;
}
.lp-intro__point img {
  flex-shrink: 0;
}
.lp-intro__point-sub {
  display: block;
  font-size: 16px;
}
.lp-intro__point-main {
  display: block;
  font-size: 20px;
  font-size: min(20px, (100cqw - 74px) / 15.2);
  font-weight: 500;
}
.lp-intro__ribbons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.lp-ribbon {
  padding: 2px 32px;
  background: #ffd977;
  font-size: 16px;
  font-size: min(16px, (100cqw - 64px) / 19.1);
  line-height: 1.5;
  letter-spacing: 0.12em;
  clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
}

.lp-steps__list {
  display: flex;
  gap: 40px;
  padding: 0 32px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding: 0 32px;
  scrollbar-width: none;
}
.lp-steps__list::-webkit-scrollbar {
  display: none;
}
.lp-steps__list::after {
  content: "";
  flex: 0 0 1px;
}
.lp-steps__list > * {
  scroll-snap-align: start;
}
.lp-steps__list:focus-visible {
  outline: 2px solid #323d6a;
  outline-offset: -2px;
}
.lp-steps__list {
  padding-bottom: 20px;
  margin-bottom: -20px;
}
.lp-steps__item {
  display: flex;
  flex: 0 0 241px;
  flex-direction: column;
  align-items: center;
}
.lp-steps__caption {
  margin: 4px 0 15px;
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
}

.lp-menu__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 0 16px;
}
.lp-menu__item {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e9d5d5;
  border-radius: 15px;
}
.lp-menu__image {
  position: relative;
  height: 138px;
  overflow: hidden;
}
.lp .lp-menu__image img {
  position: absolute;
  max-width: none;
}
.lp-menu__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  background: #fff;
}
.lp-menu__name {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}
.lp-menu__text {
  font-size: 16px;
  line-height: 1.7;
}
.lp-menu__price {
  color: #808080;
  font-size: 16px;
  line-height: 1.5;
}
.lp-menu__price span {
  display: inline-block;
}

.lp-price__card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 0 16px;
  padding: 24px 0;
  border: 1px solid #e9d5d5;
  border-radius: 15px;
  background: #fff;
}
.lp-price__chart {
  display: flex;
  justify-content: center;
  gap: 6px;
}
.lp-price__axis {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 111px;
  color: #808080;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
.lp .lp-price__axis img {
  width: 16px;
  margin: -8px 0;
}
.lp-price__steps {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 70px;
  width: 108px;
  margin-top: 35.5px;
}
.lp-price__step {
  position: relative;
}
.lp .lp-price__connector {
  position: absolute;
  top: 50%;
  left: -67.67px;
  width: 70.92px;
  max-width: none;
  transform: translateY(-50%);
}
.lp-price__note {
  padding: 0 24px;
  font-size: 16px;
  line-height: 1.7;
}

.lp-voice__list {
  display: flex;
  gap: 24px;
  padding: 0 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding: 0 16px;
  scrollbar-width: none;
}
.lp-voice__list::-webkit-scrollbar {
  display: none;
}
.lp-voice__list::after {
  content: "";
  flex: 0 0 1px;
}
.lp-voice__list > * {
  scroll-snap-align: start;
}
.lp-voice__list:focus-visible {
  outline: 2px solid #323d6a;
  outline-offset: -2px;
}
.lp-voice__item {
  display: flex;
  flex: 0 0 293px;
  flex-direction: column;
  gap: 8px;
  min-height: 246px;
  padding: 16px;
  border: 1px solid #e9d5d5;
  border-radius: 15px;
  background: #fff;
}
.lp-voice__stars {
  display: flex;
}
.lp .lp-voice__stars img {
  width: 28px;
  margin-right: -4px;
}
.lp-voice__text {
  min-height: 100px;
  font-size: 16px;
  line-height: 1.7;
}
.lp-voice__user {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
}
.lp-voice__user img {
  flex-shrink: 0;
}
.lp-voice__name {
  display: block;
  font-size: 16px;
  font-weight: 500;
}
.lp-voice__course {
  display: block;
  color: #808080;
  font-size: 14px;
}

.lp-founder {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 150px 16px 64px;
  overflow: hidden;
  background: var(--bg) 37.5% 0/427.84% 100% no-repeat;
}
.lp-founder::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(233, 213, 213, 0.8);
  -webkit-backdrop-filter: blur(6.75px);
  backdrop-filter: blur(6.75px);
}
.lp-founder > * {
  position: relative;
}
.lp .lp-founder__watermark {
  position: absolute;
  top: -17.5px;
  left: calc(50% - 196px);
  color: #fff6f1;
  font-size: 68px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 6.12px;
  white-space: nowrap;
}
.lp-founder__lines {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
}
.lp-founder__lines span {
  padding: 0 2px 4px;
  border-bottom: 2px solid #fff;
  font-size: 22px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.66px;
}
.lp .lp-founder__photo {
  width: 192px;
  height: 255px;
  border-radius: 15px;
  object-fit: cover;
}

.lp-support {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 0 16px 32px;
}
.lp-support > :not(.lp-support__icon, .lp-support__photo) {
  position: relative;
  z-index: 1;
}
.lp .lp-support__icon {
  position: absolute;
  top: -30.4px;
  right: 0;
  width: 116px;
}
.lp-support__title {
  width: 100%;
  font-size: 22px;
  font-size: min(22px, 5.64cqw);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.66px;
}
.lp-support__text {
  font-size: 16px;
  line-height: 1.7;
}
.lp-support__em {
  margin-top: 1.7em;
  font-size: 18px;
  font-weight: 500;
}
.lp-support__photo {
  position: absolute;
  right: 0;
  bottom: -103.6px;
  width: 220px;
  height: 144px;
  overflow: hidden;
  border-radius: 15px;
}
.lp .lp-support__photo img {
  position: absolute;
  top: -15.1px;
  left: -37px;
  width: 278.83px;
  max-width: none;
  height: 186.03px;
  object-fit: cover;
}

body.lp-body--therapist {
  background: #ecebdc;
}

.lp--therapist {
  background: #fffff3;
}
.lp--therapist .lp-grad-text {
  background-image: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%);
}
.lp--therapist .lp-heading__en {
  color: #3bcdb9;
}
.lp--therapist .lp-heading__en::after {
  background: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%);
}
.lp--therapist .lp-chip {
  background: #ff885b;
}
.lp--therapist .lp-card {
  border-color: #d9d6c2;
}
.lp--therapist .lp-stat {
  filter: drop-shadow(0 0 3px #ebb215);
}
.lp--therapist .lp-stat__label {
  color: #000;
}
.lp--therapist .lp-stat__unit {
  color: #000;
  font-weight: 700;
}
.lp--therapist .lp-faq {
  background: #fff;
}
.lp--therapist .lp-faq__item {
  border-bottom-color: #d9d6c2;
}
.lp--therapist .lp-faq__mark {
  color: #ff885b;
}

.lp-pickup--therapist {
  isolation: isolate;
  padding-bottom: 48px;
  background: #323d6a;
  color: #fffff3;
}
.lp .lp-pickup--therapist .lp-pickup__bg {
  position: absolute;
  top: -5.12%;
  left: -5.31%;
  z-index: -2;
  width: 168.08%;
  max-width: none;
  height: 109.84%;
  object-fit: fill;
  transform: rotate(180deg);
}
.lp-pickup--therapist::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(rgba(50, 61, 106, 0.65) -3.6%, rgba(20, 26, 51, 0.85) 102.5%);
  -webkit-backdrop-filter: blur(3.25px);
  backdrop-filter: blur(3.25px);
}
.lp-pickup--therapist .lp-pickup__watermark {
  color: #fffff3;
}
.lp-pickup--therapist .lp-pickup__name {
  border-bottom-color: transparent;
}

.join-hero {
  position: relative;
  aspect-ratio: 390/412;
  overflow: hidden;
  background: #fff;
}
.lp .join-hero__bg {
  position: absolute;
  top: -43.0769230769cqw;
  left: -22.5641025641cqw;
  width: 146.9230769231cqw;
  max-width: none;
  height: 183.3333333333cqw;
  object-fit: cover;
}
.lp .join-hero__phone {
  position: absolute;
  max-width: none;
}
.lp .join-hero__phone--calendar {
  top: 28.4615384615cqw;
  left: -15.641025641cqw;
  width: 60.5128205128cqw;
}
.lp .join-hero__phone--profile {
  top: 35.5897435897cqw;
  left: 14.5692307692cqw;
  width: 58.2051282051cqw;
  transform: rotate(5.45deg);
}
.join-hero__badge {
  position: absolute;
  top: 70.5128205128cqw;
  left: 3.8461538462cqw;
  width: 30.7692307692cqw;
  height: 30.7692307692cqw;
  border-radius: 50%;
  background: #3bcdb9;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  color: #fff;
  font-weight: 700;
  line-height: 1.34;
  white-space: nowrap;
}
.join-hero__badge span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.join-hero__badge span:first-child {
  top: 5.641025641cqw;
  font-size: 5.1282051282cqw;
}
.join-hero__badge span:last-child {
  top: 12.0512820513cqw;
  margin-left: 0.1282051282cqw;
  font-size: 9.2307692308cqw;
}
.lp .join-hero__logo {
  position: absolute;
  top: 15.1102564103cqw;
  left: 5.9128205128cqw;
  width: 51.5384615385cqw;
}
.join-hero__copy {
  position: absolute;
  top: 6.1538461538cqw;
  left: 4.8717948718cqw;
  color: #000;
  font-size: 3.5897435897cqw;
  font-weight: 700;
  line-height: 1.34;
  white-space: nowrap;
}

.join-band {
  position: relative;
  aspect-ratio: 390/237;
  overflow: hidden;
  background: #ffd631;
  color: #000;
  font-weight: 700;
  line-height: 1.34;
  white-space: nowrap;
}
.lp .join-band__stripe {
  position: absolute;
  max-width: none;
  opacity: 0.6;
}
.lp .join-band__stripe--top {
  top: -7.9487179487cqw;
  left: 42.5641025641cqw;
  width: 28.9743589744cqw;
}
.lp .join-band__stripe--bottom {
  top: 21.2820512821cqw;
  left: -9.4871794872cqw;
  width: 46.1538461538cqw;
}
.join-band__sub, .join-band__rate, .join-band__no1 {
  position: absolute;
}
.join-band__sub {
  top: 9.7435897436cqw;
  left: 6.6666666667cqw;
  font-size: 3.5897435897cqw;
}
.join-band__rate {
  top: 18.7179487179cqw;
  left: 17.6923076923cqw;
  font-size: 8.2051282051cqw;
}
.join-band__no1 {
  top: 28.9743589744cqw;
  left: 11.2820512821cqw;
  font-size: 16.4102564103cqw;
}
.join-band__box {
  position: absolute;
  left: 58.9743589744cqw;
  width: 35.8974358974cqw;
  height: 23.0769230769cqw;
  overflow: hidden;
  border-radius: 1.2820512821cqw;
  background: #fff;
  text-align: center;
}
.join-band__box > span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.join-band__box--sales {
  top: 5.1282051282cqw;
}
.join-band__box--fee {
  top: 32.5641025641cqw;
}
.join-band__mark {
  background: #ffe2a8;
}
.join-band__box--sales .join-band__mark {
  top: 15.8974358974cqw;
  width: 25.3846153846cqw;
  height: 3.8461538462cqw;
  margin-left: -0.1282051282cqw;
}
.join-band__box--fee .join-band__mark {
  top: 15.641025641cqw;
  width: 12.3076923077cqw;
  height: 4.1025641026cqw;
}
.join-band__text {
  top: 3.3333333333cqw;
  font-size: 6.1538461538cqw;
}
.join-band__fee-label {
  top: 3.3333333333cqw;
  font-size: 5.1282051282cqw;
}
.join-band__fee-value {
  top: 9.2307692308cqw;
  margin-left: 0.1282051282cqw;
  font-size: 9.2307692308cqw;
}

.join-hero-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 16px 63px;
  text-align: center;
}
.join-hero-cta__sub {
  font-size: 16px;
  line-height: 1.5;
}
.join-hero-cta__title {
  margin: 4px 0 17px;
  font-size: 24px;
  font-size: min(24px, 6.4cqw);
  font-weight: 500;
  line-height: 1.5;
}

.join-free {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.join-free__head {
  padding: 0 16px;
}
.join-free__sub {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 1.44px;
}
.join-free__title {
  color: #3bcdb9;
  font-size: 47px;
  font-weight: 700;
  line-height: 56px;
  letter-spacing: 21.15px;
}
.join-free__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 16px;
}
.join-free__item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #323d6a;
  font-size: 20px;
  font-size: min(20px, (100cqw - 74px) / 12.8);
  line-height: 1.5;
}
.join-free__item img {
  flex-shrink: 0;
}
.join-free__item strong {
  font-weight: 700;
}

.join-pickup-founder {
  display: flex;
  flex-direction: column;
}

.join-founder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 40px 16px 32px;
  background: #fff;
}
.join-founder__label {
  align-self: stretch;
  color: #3bcdb9;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 3.5px;
}
.join-founder__lines {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
}
.join-founder__lines span {
  padding: 0 2px;
  border-bottom: 0;
  padding-bottom: calc(4px + 2px);
  background: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%) left bottom/100% 2px no-repeat;
  font-size: 22px;
  font-size: min(22px, (100cqw - 36px) / 14.8);
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.66px;
}
.lp .join-founder__photo {
  width: 192px;
  height: 255px;
  border-radius: 15px;
  object-fit: cover;
}

.join-voice {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.join-voice__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 16px;
}
.join-voice__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
  overflow: hidden;
  border: 1px solid #e9d5d5;
  border-radius: 15px;
  background: #fff;
}
.join-voice__profile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  line-height: 1.5;
}
.join-voice__profile img {
  flex-shrink: 0;
}
.join-voice__profile > p {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.join-voice__name {
  display: flex;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
}
.join-voice__role {
  color: #808080;
  font-size: 14px;
}
.join-voice__text {
  padding: 0 16px;
  font-size: 16px;
  line-height: 1.7;
}
.join-voice__data {
  display: flex;
  border-top: 1px solid #e9d5d5;
  line-height: 1.5;
  text-align: center;
}
.join-voice__data > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
}
.join-voice__data > div:nth-child(2) {
  border-right: 1px solid #e9d5d5;
  border-left: 1px solid #e9d5d5;
}
.join-voice__data dt {
  color: #808080;
  font-size: 14px;
}
.join-voice__data dd {
  color: #27325e;
  font-size: 16px;
  font-weight: 700;
}
.join-voice__data small {
  font-size: 14px;
}
.join-voice__note {
  padding: 0 16px;
  font-size: 14px;
  line-height: 1.7;
}

.join-compare {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.join-compare__table {
  display: flex;
  align-items: center;
  padding: 0 16px;
  line-height: 1.3;
}
.join-compare__col {
  display: flex;
  flex-direction: column;
}
.join-compare__cell, .join-compare__head {
  display: flex;
  align-items: center;
  height: 61px;
  padding: 13.5px 12px;
}
.join-compare__col--label {
  flex-shrink: 0;
  width: 108px;
  margin-right: -1px;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 500;
}
.join-compare__col--label .join-compare__cell {
  border: 1px solid #ccc;
  background: #fff;
  white-space: nowrap;
}
.join-compare__col--label .join-compare__cell--blank {
  border: 0;
  background: none;
}
.join-compare__col--label .join-compare__cell + .join-compare__cell:not(:nth-child(2)) {
  border-top-width: 0;
}
.join-compare__col--label .join-compare__cell:nth-child(2) {
  border-top-left-radius: 15px;
}
.join-compare__col--label .join-compare__cell:last-child {
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
}
.join-compare__col--mome {
  position: relative;
  flex: 1;
  min-width: 0;
  margin-right: -1px;
  overflow: hidden;
  border-radius: 15px;
}
.join-compare__col--mome::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 3px;
  border-radius: 15px;
  background: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%);
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.join-compare__col--mome .join-compare__head {
  justify-content: center;
  padding: 13.5px;
  background: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}
.join-compare__col--mome .join-compare__cell {
  justify-content: center;
  border: 1px solid #ccc;
  background: #fff6f1;
  color: #ff4a76;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}
.join-compare__col--mome .join-compare__cell + .join-compare__cell {
  border-top-width: 0;
}
.join-compare__col--mome .join-compare__cell--strong {
  border-width: 0 0 1px;
  font-weight: 900;
}
.join-compare__col--other {
  position: relative;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  border-radius: 15px;
}
.join-compare__col--other::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: 15px;
  background: #ccc;
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.join-compare__col--other {
  color: #555;
  text-align: center;
  white-space: nowrap;
}
.join-compare__col--other .join-compare__head {
  justify-content: center;
  padding: 13.5px 2px;
  border: 1px solid #ccc;
  background: #ccc;
  font-size: 14px;
  font-size: min(14px, ((100cqw - 138px) / 2 - 6px) / 7.6);
  font-weight: 700;
}
.join-compare__col--other .join-compare__cell {
  justify-content: center;
  border: 1px solid #ccc;
  border-top-width: 0;
  background: #f7f7f7;
  font-size: 16px;
}

.join-owner {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 15px;
}
.join-owner__block {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 32px;
  background: #fff;
}
.join-owner__block--business {
  padding: 0 16px 32px;
}
.join-owner__image {
  position: relative;
  height: 234px;
  overflow: hidden;
}
.lp .join-owner__image img {
  position: absolute;
  left: 0;
  width: 100%;
  max-width: none;
  object-fit: cover;
}
.lp .join-owner__image--top img {
  top: -8px;
  height: 260px;
}
.lp .join-owner__image--bottom img {
  top: -27px;
  height: 261px;
}
.join-owner__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 0 16px;
}
.join-owner__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.join-owner__head--business {
  gap: 10px;
  padding-top: 32px;
  border-top: 1px solid #d9d6c2;
}
.join-owner__label {
  padding: 0 2px;
  border-bottom: 0;
  padding-bottom: calc(4px + 2px);
  background: linear-gradient(90deg, #80ffc6 10.926%, #3bcdb9 47.837%, #2ec5d3 100.19%) left bottom/100% 2px no-repeat;
  padding-bottom: 2px;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.42px;
}
.join-owner__title {
  width: 310px;
  max-width: 100%;
  font-size: 24px;
  line-height: 1.75;
  letter-spacing: 0.72px;
}
.join-owner__title strong {
  color: #ff885b;
  font-weight: 700;
}
.join-owner__title--business {
  width: 100%;
  font-size: 22px;
  letter-spacing: 0;
}
.join-owner__text {
  font-size: 16px;
  line-height: 1.7;
}
.join-owner__em {
  font-weight: 500;
}
.join-owner__ribbon {
  display: flex;
  align-items: center;
  width: 149px;
  height: 29px;
  padding: 2px 32px;
  background: #ffd977;
  clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
}
.join-owner__ribbon span {
  display: inline-block;
  color: #323d6a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transform: skewX(-22deg) scaleY(0.93);
}

.join-steps {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.join-steps__list {
  display: flex;
  gap: 40px;
  padding: 0 32px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding: 0 32px;
  scrollbar-width: none;
}
.join-steps__list::-webkit-scrollbar {
  display: none;
}
.join-steps__list::after {
  content: "";
  flex: 0 0 1px;
}
.join-steps__list > * {
  scroll-snap-align: start;
}
.join-steps__list:focus-visible {
  outline: 2px solid #323d6a;
  outline-offset: -2px;
}
.join-steps__item {
  display: flex;
  flex: 0 0 250px;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.join-steps__title {
  margin-top: 4px;
  color: #808080;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}
.join-steps__text {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
}
.join-steps__phone {
  position: relative;
  width: 250px;
  height: 327px;
  margin-top: 15px;
  overflow: hidden;
}
.lp .join-steps__phone img {
  position: absolute;
  top: 0;
  left: calc(50% - 0.5px);
  width: 250.2px;
  max-width: none;
  transform: translateX(-50%);
}

.join-sns {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.join-sns__list {
  padding: 0 16px;
}
.join-sns__list li + li {
  margin-top: -1px;
}
.join-sns__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid #d9d6c2;
  border-bottom: 1px solid #d9d6c2;
}
.join-sns__item img {
  flex-shrink: 0;
  width: 48px;
}
.join-sns__item > p {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 500;
  white-space: nowrap;
}
.join-sns__label {
  color: #808080;
  font-size: 16px;
  line-height: 1.7;
}
.join-sns__text {
  font-size: 14px;
  line-height: 1.3;
}

.join-pay {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 0 16px;
}
.lp .join-pay__icon {
  position: absolute;
  top: -10.4px;
  right: 20px;
  width: 116px;
}
.join-pay > :not(.join-pay__icon) {
  position: relative;
  z-index: 1;
}
.join-pay__card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 32px 24px;
  border: 1px solid #d9d6c2;
  border-radius: 15px;
  background: #fff;
}
.join-pay__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.66px;
}
.join-pay__flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.join-pay__party {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  color: #808080;
  font-size: 16px;
  line-height: 1.7;
  white-space: nowrap;
}
.lp .join-pay__line {
  flex-shrink: 0;
  width: 37.43px;
}
.lp .join-pay__arrow {
  flex-shrink: 0;
  width: 39.43px;
  margin: 0 -1px;
}
.join-pay__money {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #ffd977;
  color: #323d6a;
  font-size: 14px;
  line-height: 16px;
}
.join-pay__text {
  font-size: 16px;
  line-height: 1.7;
}
.join-pay__text p + p {
  margin-top: 1.7em;
}
.join-pay__em {
  color: #323d6a;
  font-weight: 700;
}
