@charset "UTF-8";
.sp-only {
  display: none;
}

.reveal {
  opacity: 0;
  transform: translateY(2rem);
  transition: transform 0.7s ease-out, opacity 0.7s ease-out;
}

.reveal-750 {
  transition: transform 0.75s ease-out, opacity 0.75s ease-out;
}

.reveal-1000 {
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.reveal-left {
  transform: translateX(-1.5rem);
}

.reveal-right {
  transform: translateX(1.5rem);
}

.reveal.show {
  opacity: 1;
  transform: translate(0, 0);
}

.reveal.show.delay-100 {
  transition-delay: 100ms;
}

.reveal.show.delay-200 {
  transition-delay: 200ms;
}

.reveal.show.delay-300 {
  transition-delay: 300ms;
}

.reveal.show.delay-400 {
  transition-delay: 400ms;
}

.reveal.show.delay-500 {
  transition-delay: 500ms;
}

.reveal.show.delay-600 {
  transition-delay: 600ms;
}

.reveal.show.delay-700 {
  transition-delay: 700ms;
}

.reveal.show.delay-800 {
  transition-delay: 800ms;
}

.reveal.show.delay-900 {
  transition-delay: 900ms;
}

.reveal.show.delay-1000 {
  transition-delay: 1000ms;
}

@keyframes pulse {
  0% {
    transform: scale(0.95);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(0.95);
  }
}
.pulse {
  animation: pulse 2s infinite;
}

#container {
  padding-bottom: 140px;
}

body {
  font-family: "Noto Sans JP", "-apple-system", BlinkMacSystemFont, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  margin: 0;
  font-size: 18px;
}

p,
h1,
h2,
h3,
h4,
figure {
  margin: 0;
}

figure img {
  width: 100%;
}

.num--anton {
  font-family: "Anton", sans-serif;
  line-height: 1;
  margin: 0 0.1em;
  letter-spacing: 0.04em;
}

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

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.l-container {
  overflow: hidden;
}

.width--limit,
.l-container {
  max-width: 1200px;
  margin: 0 auto;
}

section:not(#pricing, #voice, #proof),
.pricing__inner {
  padding-bottom: 5.5rem;
  padding-right: 3rem;
  padding-left: 3rem;
}

.bg--gradation {
  background-color: hsl(160, 66%, 37%);
  background-image: radial-gradient(circle at 107% -16%, hsl(53, 80%, 46%) 3.09852336%, transparent 30%), radial-gradient(circle at 67.236098908% 47.056402808%, hsl(160, 66%, 37%) 0%, transparent 61.6934931766%);
  background-blend-mode: normal, normal;
  color: #ffffff;
}

.bg--white {
  background-color: #ffffff;
  color: #222222;
}

.bg--grey {
  background-color: #f2f2f2;
}

.bg--yellow {
  background-color: #fff15c;
}

.bg--seamless-green {
  background: url("../img/bg_seamless-green.png") repeat center/auto;
}
.bg--seamless-graph {
  background: url("../img/bg_seamless-graph.png") repeat center/auto;
}
.bg--seamless-noise {
  background: url("../img/bg_seamless-noise.png") repeat center/auto;
}

.bg--pantagon {
  filter: drop-shadow(0 4px 0 rgba(0, 0, 0, 0.8));
  --h: 88%; /* height of pentagon */
  box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.8);
  background: #191919;
  clip-path: polygon(0 0, 100% 0, 100% var(--h), 50% 100%, 0 var(--h));
  color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: -3.8rem;
  font-weight: 900;
  padding: 2rem 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.bg--rock {
  background: url("../img/bg_deco-rocks.png") no-repeat top left, url("../img/bg_deco-rocks-flipped.png") no-repeat top right, #303a36;
}

.border--golden {
  border: 4px solid transparent;
  border-image-slice: 1;
  border-image-source: linear-gradient(103.61deg, #ad822d -0.18%, #b28833 1.82%, #c09944 4.83%, #d8b661 7.84%, #f4d884 10.86%, #f4da89 11.86%, #f5dd90 15.87%, #f6de92 24.91%, #f6e099 26.91%, #f9e8ae 30.93%, #fcf4d1 34.94%, #fffce8 36.95%, #fbf2d2 38.96%, #f3dba0 45.99%, #edca79 52.01%, #e8bd5d 58.03%, #e5b54c 63.05%, #e5b346 67.06%, #e6b64b 72.08%, #e9be5a 78.1%, #efcc73 84.13%, #f6de92 90.15%, #f6e199 92.16%, #f8e9ae 95.17%, #fbf6d1 98.18%, #fdffe6 100.18%);
}

.text-m {
  font-size: 1.6rem;
}
.text-l {
  font-size: 2.4rem;
}
.text-xl {
  font-size: 3.2rem;
}
.text-xxl {
  font-size: 4.8rem;
}
.text-xxxl {
  font-size: 5.6rem;
}
.text-18 {
  font-size: 18px;
}
.text-40 {
  font-size: 4rem;
}
.text-exclamation {
  font-size: 5.2rem;
  transform: rotate(-15.49deg);
}
.text-lead {
  position: relative;
  margin-right: 12px;
}
.text-lead .text-endnote {
  position: absolute;
  right: -12px;
  bottom: 7px;
}
.text-endnote {
  font-weight: 350;
  text-align: right;
  font-size: 16px;
  margin-top: 9px;
}
.text--yellow {
  color: #ffea01 !important;
}
.text--red {
  color: #ef4b4b !important;
}

h1 {
  font-size: 4rem;
}

h2,
.section--title {
  font-size: 4.8rem;
  font-weight: 900;
  padding-top: 9.5rem;
  margin-bottom: 4rem;
  margin-top: 0;
  text-align: center;
}

.c-btn {
  position: relative;
  box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
  width: 368px;
  height: 60px;
  max-width: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #ffffff;
  font-weight: 600;
  border-radius: 32px;
  line-height: 1;
  box-sizing: border-box;
  cursor: pointer;
  padding-left: 12px;
  transition: scale 0.3s ease, filter 0.3s ease;
}
.c-btn::before {
  content: "";
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.c-btn::after {
  content: "";
  --r: 2px; /* border radius */
  height: 16px;
  aspect-ratio: 0.8660254038;
  --_g: calc(tan(60deg) * var(--r)) left var(--r), #000 98%, #0000 101%;
  -webkit-mask: conic-gradient(from 60deg at calc(3 * var(--r) / 2 - 100%), #000 60deg, rgba(0, 0, 0, 0) 0) 0 0/calc(100% - 3 * var(--r) / 2) 100% no-repeat, radial-gradient(var(--r) at calc(100% - 2 * var(--r)) 50%, #000 98%, rgba(0, 0, 0, 0) 101%), radial-gradient(var(--r) at top var(--_g)), radial-gradient(var(--r) at bottom var(--_g));
  clip-path: polygon(100% 50%, 0 100%, 0 0);
  background-color: #ffffff;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
.c-btn--primary {
  background: #3595e3;
}
.c-btn--primary::before {
  background: url("../img/icon_download.svg") no-repeat center/contain;
}
.c-btn--accent {
  background: #ef4b4b;
}
.c-btn--accent::before {
  background: url("../img/icon_message.svg") no-repeat center/contain;
}
.c-btn:hover {
  scale: 1.02;
  filter: brightness(1.1);
}

.icon--play {
  color: #0a8452;
  font-size: 3.2rem;
  font-weight: 700;
  display: flex;
  gap: 5px;
  align-items: center;
  margin-bottom: 2rem;
}
.icon--play::before {
  content: "";
  width: 4rem;
  height: 4rem;
  display: inline-block;
  background: url("../img/icon_play-green.svg") no-repeat center/contain;
  flex-shrink: 0;
  align-self: baseline;
}

.icon--checkbox {
  display: grid;
  grid-template-columns: 4rem auto;
  gap: 8px;
}
.icon--checkbox::before {
  content: "";
  display: inline-block;
  width: 4rem;
  height: 4rem;
  background: url("../img/icon_checkbox.svg") no-repeat center/contain;
}

.icon--wheat {
  -webkit-mask: url("../img/icon_wheat-left.svg") no-repeat center/contain;
          mask: url("../img/icon_wheat-left.svg") no-repeat center/contain;
  -webkit-mask-size: 3.6rem;
          mask-size: 3.6rem;
  width: 3.6rem;
  height: 12rem;
}

.icon--play-red::before {
  display: none;
}
.icon--play-red::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  display: block;
  background: url("../img/icon_play-red.png") no-repeat center/contain;
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  clip-path: none;
  -webkit-mask: unset;
}

.num--0 {
  background: url("../img/num_0.svg") no-repeat center/contain;
  width: 8.8rem;
  height: 14rem;
  display: inline-block;
}

.num--0-v2 {
  background: url("../img/num_0-v2.svg") no-repeat center/contain;
  width: 5.9rem;
  height: 8rem;
  display: inline-block;
}

/* -------------------------------- PC -------------------------------- */
html {
  font-size: 10px;
}

.header {
  height: 80px;
  background: #ffffff;
  box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 3rem;
  height: 100%;
  box-sizing: border-box;
}
.header__inner .logo {
  height: 100%;
}
.header__inner .logo img {
  height: 100%;
}
.header-cta__actions {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
.header-cta__actions.sp-only {
  display: none;
}

.hero {
  padding-top: 8rem;
  padding-bottom: 2.4rem;
}
.hero__content {
  max-width: 1300px;
  margin: 5.3rem auto 3.9rem auto;
  padding: 0 3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-areas: "text media" "features features" "endnote endnote";
  align-items: center;
}
.hero__text {
  grid-area: text;
}
.hero__text-endnote {
  grid-area: endnote;
  max-width: 1079px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.hero__text-price {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.hero__media {
  grid-area: media;
}
.hero__media img {
  width: 100%;
}
.hero__features {
  grid-area: features;
  display: flex;
  justify-content: space-between;
}
.hero__features-item {
  color: #ffffff;
  margin: auto 0;
}
.hero__eyebrow {
  margin-top: -12px;
  margin-bottom: 8px;
  color: #ffffff;
  text-align: center;
  text-wrap: nowrap;
}
.hero__title {
  padding: 2.4rem 4.8rem;
  margin-left: 0.9rem;
  margin-right: 2.6rem;
}
.hero__title-main {
  font-size: 4rem;
  line-height: 5.2rem;
  text-align: center;
  margin-bottom: 7px;
}
.hero__title-sub {
  width: 100%;
  background: #209f76;
  color: #ffffff;
  text-align: center;
  padding: 7px 0;
  border-radius: 8px;
  font-weight: 900;
  margin-bottom: 1.2rem;
}
.hero__features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6rem;
  margin-top: 2rem;
  max-width: 1079px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.hero__features-item {
  text-align: center;
  position: relative;
}
.hero__features-item:before {
  content: "";
  aspect-ratio: 16/52;
  height: 100%;
  display: block;
  background: url("../img/icon_wheat-left.svg") no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.hero__features-item:after {
  content: "";
  aspect-ratio: 16/52;
  height: 100%;
  display: block;
  background: url("../img/icon_wheat-right.svg") no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.hero__cta {
  background-color: #ffea01;
  width: 100%;
  transition: all 0.3s ease;
}
.hero__cta-inner {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 2.9rem;
  width: 100%;
  height: 11.7rem;
  padding: 8px 0;
  box-sizing: border-box;
}
.hero__cta .cta_annotation {
  font-size: 12px;
  font-weight: 400;
  text-align: right;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  translate: 0 -6px;
}
.hero__cta-highlight {
  height: 100%;
}
.hero__cta-highlight img {
  height: 100%;
}
.hero__cta-note {
  color: #0a8452;
  font-weight: 900;
  display: flex;
  align-items: flex-end;
}
.hero__cta-note-fragment--lead {
  font-size: 3.7rem;
  line-height: 1.23;
  margin-right: 10px;
}
.hero__cta-note-fragment--duration {
  font-size: 8.6rem;
}
.hero__cta-note-fragment--unit {
  font-size: 4.3rem;
}
.hero__cta-note-fragment--price {
  color: #ef4b4b;
  font-size: 6.6rem;
  display: flex;
  align-items: flex-end;
  translate: 0 8px;
}
.hero__cta-link {
  background: #0a8452;
  color: #ffffff;
  padding: 6px 4.6rem 6px 2.6rem;
  clip-path: polygon(0 0, 81% 0, 100% 50%, 81% 100%, 0 100%);
  position: relative;
  font-size: 2.6rem;
  align-self: center;
  transition: all 0.2s ease;
}
.hero__cta-link::after {
  display: inline-block;
  position: static;
  transform: translate(3px, 4px);
}
.hero__cta-link:hover {
  filter: brightness(1.1);
  animation: none;
  scale: 1.05;
}

/* animation */
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes slide_alternate {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
.proof-slider {
  overflow: hidden;
}
.proof-slider .proof-slider__inner {
  width: 100%;
  position: relative;
}
.proof-slider .proof-slider__inner .proof-slider__track {
  display: flex;
  width: 200%;
  animation: slide var(--duration, 10s) linear infinite;
}
.proof-slider .proof-slider__inner .proof-slider__track.alternate {
  animation: slide_alternate var(--duration, 10s) linear infinite;
}
.proof-slider .proof-slider__inner .proof-slider__track .slide_wrap {
  flex-basis: 50%;
  display: flex;
  align-items: center;
}
.proof-slider .proof-slider__inner .proof-slider__track .slide_wrap .slide {
  display: block;
  flex-basis: var(--logo-width, 16.67%);
  font-size: 0;
  padding: 0;
  transition: transform 0.3s;
}
.proof-slider .proof-slider__inner .proof-slider__track .slide_wrap .slide img {
  width: 100%;
  min-width: 180px;
  aspect-ratio: 16/9;
}

.concerns__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.2rem 1.8rem;
}
.concerns__item {
  padding: 1.6rem 2.4rem 1.6rem 1.6rem;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.concerns__risk {
  margin-top: 4rem;
}
.concerns__risk .risk__title {
  position: relative;
  z-index: 5;
  filter: drop-shadow(0 4px 0 rgba(0, 0, 0, 0.8));
}
.concerns__risk .risk__title::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 34px;
  background: url("../img/icon_warning.svg") no-repeat center/contain;
  flex-shrink: 0;
}
.concerns__risk .risk__points {
  color: #ffffff;
  padding: 8rem 16.1% 5.8rem 16.1%;
  display: grid;
  gap: 2.4rem;
}
.strip {
  background: #fff15c;
}
.strip::after {
  content: "";
  width: 100%;
  height: 16px;
  display: block;
  background: url("../img/bg_strip.png") repeat-x center/auto 16px;
}
.strip__text {
  font-weight: 900;
  color: #ef4b4b;
  padding: 4.3rem 3rem 2.3rem 3rem;
  text-align: center;
  display: grid;
  justify-items: center;
}
.strip__text::after {
  content: "";
  display: block;
  width: 24rem;
  height: 3.2rem;
  margin-top: 2rem;
  background: url("../img/icon_3triangles.svg") no-repeat center/contain;
}

.about__summary {
  display: grid;
  grid-template-columns: 5.9fr 3.6fr;
  grid-template-areas: "lead lead" "media figure";
  row-gap: 2.2rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  margin-bottom: 3.2rem;
  align-self: start;
  lign-items: center;
}
.about__lead {
  grid-area: lead;
}
.about__media {
  grid-area: media;
  margin-top: 1.1rem;
  justify-items: center;
  padding: 2.2rem 3.4%;
  height: -moz-fit-content;
  height: fit-content;
}
.about__media .media__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin-bottom: 1.5rem;
}
.about__media .media__tag {
  border-radius: 20px;
  padding: 0.5rem 0;
  width: 132px;
  text-align: center;
  color: #ffffff;
  background: #222222;
}
.about__media .media__text {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1.4rem;
}
.about__media .media__text::before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background: url("../img/icon_slashes-left.svg") no-repeat center/contain;
}
.about__media .media__text::after {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background: url("../img/icon_slashes-right.svg") no-repeat center/contain;
}
.about__media .media__image {
  width: 100%;
}
.about__figure {
  grid-area: figure;
}
.about__benefits {
  display: grid;
  gap: 3.2rem;
  margin-bottom: 2.3rem;
}
.about__benefits .benefits__card {
  display: grid;
  grid-template-columns: 23.5rem auto;
  grid-template-rows: auto auto;
  grid-template-areas: "title title" "media list";
  border-radius: 32px;
  -moz-column-gap: 2.3rem;
       column-gap: 2.3rem;
  padding: 3.6rem 3.3%;
}
.about__benefits .benefits__title {
  grid-area: title;
}
.about__benefits .benefits__media {
  grid-area: media;
  width: 20rem;
  justify-self: center;
  align-self: center;
}
.about__benefits .benefits__list {
  grid-area: list;
  display: grid;
  gap: 9px;
  align-self: center;
}
.about__benefits .icon--checkbox::before {
  border: 2px solid #555555;
  border-radius: 4px;
  box-sizing: border-box;
  width: 3.4rem;
  height: 3.4rem;
}
.about-cta {
  position: relative;
}
.about-cta__title {
  text-wrap: nowrap;
}
.about-cta__title::before, .about-cta__title::after {
  content: "";
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  background: url("../img/icon_star.svg") no-repeat center/contain;
  flex-shrink: 0;
}
.about-cta__text {
  color: #222222;
  font-weight: 700;
  text-align: center;
  padding: 6.5rem 0;
  line-height: 1.6;
  background: url("../img/icon_level-up.svg") no-repeat 95% 100%/contain, v;
}

.pricing-banner__panel {
  border: 5px solid #ffffff;
  border-radius: 3.2rem;
  overflow: hidden;
  color: #222222;
}
.pricing-banner__ribbon {
  width: 100%;
  background: #0a8452;
  text-align: center;
  color: #ffffff;
  padding: 6px 0 8px 0;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.pricing-banner__content {
  display: grid;
  padding: 4.1rem 2.8%;
  grid-template-columns: 1fr 1fr 346px;
  gap: 10px;
  grid-template-areas: "annual monthly aside" "tip tip aside";
}
.pricing-banner__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-weight: 900;
  line-height: 2;
  text-wrap: nowrap;
}
.pricing-banner__price--annual {
  grid-area: annual;
}
.pricing-banner__price--monthly {
  grid-area: monthly;
  position: relative;
  padding-bottom: 1em;
}
.pricing-banner__price--monthly::after {
  display: block;
  content: "※年額一括払い（165,000円）を月額換算した金額です";
  font-weight: 400;
  font-size: 12px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.pricing-banner__label {
  font-size: 4rem;
}
.pricing-banner__amount {
  display: flex;
  align-items: baseline;
}
.pricing-banner__value {
  font-size: 8rem;
  line-height: 1.2;
}
.pricing-banner__unit {
  font-size: 4rem;
  position: relative;
}
.pricing-banner__tax {
  position: absolute;
  top: -0.5rem;
  font-size: 1.7rem;
  text-wrap: nowrap;
  text-align: center;
  font-weight: 350;
}
.pricing-banner__tip {
  grid-area: tip;
  display: flex;
  gap: 2.4rem;
  justify-content: flex-start;
  align-items: center;
  padding: 0 5.7%;
}
.pricing-banner__icons {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  justify-content: start;
  align-items: start;
  gap: 14px 6px;
}
.pricing-banner__icon {
  background: #222222;
  -webkit-mask-size: 34px;
          mask-size: 34px;
  width: 34px;
  height: 32px;
  -webkit-mask-image: url("../img/icon_figure.svg");
          mask-image: url("../img/icon_figure.svg");
  -webkit-mask: url("../img/icon_figure.svg") no-repeat center/contain;
          mask: url("../img/icon_figure.svg") no-repeat center/contain;
}
.pricing-banner__icon--accent {
  background: #0a8452;
}
.pricing-banner__text {
  color: #ffffff;
  background: #0a8452;
  padding: 10px 2.4rem;
  position: relative;
  border-radius: 8px;
  translate: 2.4rem 0;
  line-height: 1.2;
}
.pricing-banner__text::before {
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background: #0a8452;
  width: 3.2rem;
  height: 2.4rem;
  left: -3.15rem;
  top: 50%;
  translate: 0 -50%;
}
.pricing-banner__badge {
  grid-area: aside;
}
.pricing-banner__badge img {
  width: 100%;
  max-width: 346px;
}
.pricing-card__cta {
  background: url("../img/bg_cta.webp") no-repeat center/cover;
  padding: 3.4rem 0 4.8rem 0;
}
.pricing-card__flag {
  color: #222222;
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}
.pricing-card__flag img {
  width: 100%;
  max-width: 536px;
}
.pricing-card__flag .flag__text {
  position: relative;
  z-index: 5;
  background: #ffffff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-image-slice: 1;
  border-image-source: linear-gradient(103.61deg, #ad822d -0.18%, #b28833 1.82%, #c09944 4.83%, #d8b661 7.84%, #f4d884 10.86%, #f4da89 11.86%, #f5dd90 15.87%, #f6de92 24.91%, #f6e099 26.91%, #f9e8ae 30.93%, #fcf4d1 34.94%, #fffce8 36.95%, #fbf2d2 38.96%, #f3dba0 45.99%, #edca79 52.01%, #e8bd5d 58.03%, #e5b54c 63.05%, #e5b346 67.06%, #e6b64b 72.08%, #e9be5a 78.1%, #efcc73 84.13%, #f6de92 90.15%, #f6e199 92.16%, #f8e9ae 95.17%, #fbf6d1 98.18%, #fdffe6 100.18%);
  height: 6rem;
  display: inline-block;
  font-size: 2.2rem;
  box-sizing: border-box;
  padding: 0 3.9rem;
}
.pricing-card__flag .flag__text .num--anton {
  font-size: 4.2rem;
}
.pricing-card__flag .flag__text .text-exclamation {
  font-size: 4rem;
  font-weight: 900;
}
.pricing-card__flag .flag__text .text-xl {
  font-weight: 900;
}
.pricing-card__flag .flag__deco {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  width: 5.2rem;
  height: 6rem;
  background: #ffffff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-image-slice: 1;
  border-image-source: linear-gradient(103.61deg, #ad822d -0.18%, #b28833 1.82%, #c09944 4.83%, #d8b661 7.84%, #f4d884 10.86%, #f4da89 11.86%, #f5dd90 15.87%, #f6de92 24.91%, #f6e099 26.91%, #f9e8ae 30.93%, #fcf4d1 34.94%, #fffce8 36.95%, #fbf2d2 38.96%, #f3dba0 45.99%, #edca79 52.01%, #e8bd5d 58.03%, #e5b54c 63.05%, #e5b346 67.06%, #e6b64b 72.08%, #e9be5a 78.1%, #efcc73 84.13%, #f6de92 90.15%, #f6e199 92.16%, #f8e9ae 95.17%, #fbf6d1 98.18%, #fdffe6 100.18%);
}
.pricing-card__flag .flag__deco-left {
  translate: 8px 1rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 25% 50%);
}
.pricing-card__flag .flag__deco-left::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 8px;
  height: 6rem;
  background: rgba(0, 0, 0, 0.2);
}
.pricing-card__flag .flag__deco-right {
  translate: -0.8rem 1rem;
  clip-path: polygon(0 0, 100% 0, 75% 50%, 100% 100%, 0 100%);
}
.pricing-card__flag .flag__deco-right::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 8px;
  height: 6rem;
  background: rgba(0, 0, 0, 0.2);
}
.pricing-card__link {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2%;
}
.pricing-card__link .c-btn {
  width: 32rem;
  padding-left: 6rem;
  justify-content: flex-start;
}
.pricing-card__link .c-btn::after {
  width: 44px;
  height: 44px;
  display: block;
  background: url(../img/icon_play-red.png) no-repeat center/contain;
  position: absolute;
  right: 9px;
}
.pricing-card__note {
  display: flex;
  align-items: flex-end;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.2;
}
.pricing-card__note .num--anton {
  font-size: 6.4rem;
}
.pricing-card__note .text--yellow {
  font-size: 4.8rem;
  display: flex;
  align-items: flex-end;
}

.tiers {
  max-width: 1080px;
  margin: 0 auto;
}
.tiers__title {
  background-color: #ffffff;
  color: #0a8452;
  margin: 0 auto;
  padding: 0 2rem 1.4rem 2rem;
  font-size: 4rem;
  --h: 73%;
  margin-bottom: 1.1rem;
}
.tiers__title-sub {
  line-height: 1.25;
}
.tiers__lead {
  padding-top: 5.7rem;
}
.tiers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.tiers .plan-card {
  border-radius: 24px;
  border: 6px solid #ffffff;
  overflow: hidden;
  position: relative;
}
.tiers .plan-card::after {
  content: "";
  position: absolute;
  width: 90%;
  height: 0;
  border-top: 2px dotted #0a8452;
  display: block;
  bottom: 11rem;
  left: 50%;
  translate: -50% 0;
}
.tiers .plan-card__ribbon {
  background: #0a8452;
  color: #ffffff;
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.7;
}
.tiers .plan-card__body {
  display: grid;
  grid-template-rows: 9rem 5.1rem 12rem auto;
  justify-content: center;
  align-items: center;
}
.tiers .plan-card__price {
  text-align: center;
  display: grid;
  align-self: end;
}
.tiers .plan-card__price-was {
  text-decoration: line-through;
  text-decoration-color: #ff0000;
}
.tiers .plan-card__price-label {
  font-size: 2.8rem;
  display: flex;
  align-items: baseline;
  margin-top: 5px;
  font-weight: 700;
}
.tiers .plan-card__price-number {
  font-size: 4.8rem;
}
.tiers .plan-card__saving {
  align-self: end;
}
.tiers .plan-card__saving-text {
  font-size: 20px;
  font-weight: 700;
  width: 95%;
  margin: 0 auto;
  text-align: center;
  padding: 3px 0;
  background: #ef4b4b;
  color: #ffffff;
  position: relative;
}
.tiers .plan-card__saving-text span {
  font-size: 24px;
  font-weight: 900;
  margin: 0 -3px;
}
.tiers .plan-card__saving-text::after {
  content: "";
  display: block;
  position: absolute;
  bottom: revert-layer;
  left: 50%;
  translate: -50% 0;
  width: 2rem;
  height: 4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #ef4b4b;
}
.tiers .plan-card__saving-text-3y::after {
  height: 1.3rem;
}
.tiers .plan-card__rows {
  display: grid;
}
.tiers .plan-card__row {
  display: flex;
  align-items: center;
}
.tiers .plan-card__row-label {
  text-wrap: nowrap;
  margin-right: 1rem;
}
.tiers .plan-card__row-bar {
  height: 0;
  border-bottom: 2px dotted #acacac;
  position: relative;
  width: 70%;
}
.tiers .plan-card__row-bar--fill {
  position: relative;
  z-index: 5;
}
.tiers .plan-card__row-bar--fill::before {
  content: "";
  display: block;
  position: absolute;
  bottom: revert-layer;
  left: 14%;
  width: 59%;
  height: 26px;
  background: #b9e9d5;
}
.tiers .plan-card__row-bar--fill-2y::after {
  content: "";
  display: block;
  position: absolute;
  bottom: revert-layer;
  left: 14%;
  width: 59%;
  height: 0.5rem;
  background: #ef4b4b;
  z-index: 10;
}
.tiers .plan-card__row-bar--fill-3y::after {
  content: "";
  display: block;
  position: absolute;
  bottom: revert-layer;
  left: 14%;
  width: 59%;
  height: 1.8rem;
  background: #ef4b4b;
  z-index: 10;
}
.tiers .plan-card__monthly {
  text-align: center;
  font-weight: 700;
  align-self: baseline;
  margin-top: 1.7rem;
  margin-bottom: 1.5rem;
}
.tiers .plan-card__monthly-label {
  font-size: 2.4rem;
  display: flex;
  align-items: baseline;
}
.tiers .plan-card__monthly-number {
  font-size: 4rem;
}
.tiers .plan-card__monthly-sub {
  font-size: 2.4rem;
}
.tiers .plan-card .pricing-banner__unit {
  font-size: 2.4rem;
}
.tiers .plan-card .pricing-banner__tax {
  top: -1.5rem;
  font-size: 14px;
  left: 50%;
  translate: -50% 0;
}

.features__list {
  list-style: none;
  display: grid;
  gap: 3.2rem;
}
.features .feature-card {
  display: grid;
  grid-template-columns: auto 40rem;
  gap: 2.4rem;
  border: 4px solid #0a8452;
  border-radius: 32px;
  overflow: hidden;
  padding: 3.4rem 3%;
}
.features .feature-card__title {
  line-height: 1.3;
}
.features .feature-card__text {
  line-height: 1.8;
}

@keyframes diagonal-move {
  0% {
    transform: translate(-40%, -8%);
  }
  100% {
    transform: translate(-8%, -40%);
  }
}
.related-card {
  display: grid;
  grid-template-columns: auto 48rem;
  gap: 2%;
}
.related-card__title {
  display: flex;
}
.related-card__media {
  background: #b9e9d5;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 25.6rem;
}
.related-card__media img {
  width: 120%;
}
.related-card__text {
  line-height: 1.8;
}

.voice {
  background: #b9e9d5;
  padding-bottom: 5.5rem;
}

.slick-slide {
  opacity: 0.6;
  transition: opacity 0.5s ease;
}
.slick-current {
  opacity: 1;
}
.slick-next {
  right: calc(50% - 50rem);
  z-index: 10;
}
.slick-prev {
  left: calc(50% - 50rem);
  z-index: 10;
}
.slick-next, .slick-prev {
  transition: filter 0.3s ease;
}
.slick-next:hover, .slick-prev:hover {
  filter: brightness(1.1);
}
.slick-dots {
  bottom: -4rem;
}
.slick-dots li {
  margin: 0 6px;
}
.slick-dots li button::before {
  font-size: 2.3rem;
  color: #0a8452;
}

.case {
  display: grid;
  grid-template-rows: 36px 104px 170px;
  padding: 2rem;
  border: 4px solid #0a8452;
  border-radius: 24px;
  width: 680px;
  height: 755px;
  margin: 0 5rem;
  position: relative;
  box-sizing: border-box;
}
.case__label {
  font-family: "Josh", sans-serif;
  font-size: 24px;
  font-weight: 600;
}
.case__title {
  font-size: 32px;
  font-weight: 700;
}
.case__figure {
  display: grid;
  grid-template-columns: 256px auto;
  gap: 2%;
}
.case__image {
  width: 100%;
}
.case__clinic {
  background: #0a8452;
  color: #ffffff;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 20px;
}
.case__doctor {
  font-size: 20px;
  font-weight: 400;
}
.case__content {
  line-height: 1.35;
}
.case__endnote {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  max-width: 90%;
  font-size: 11px;
  color: #696969;
}

.faq__inner {
  max-width: 1080px;
}
.faq__list {
  display: grid;
  gap: 3.2rem;
}
.faq__items {
  border-radius: 8px;
  overflow: hidden;
  pointer-events: none;
}
.faq-item {
  display: flex;
  align-items: flex-start;
  padding: 0 16px;
  gap: 8px;
}
.faq-item__q {
  color: #ffffff;
  background: #0a8452;
  align-items: center;
}
.faq-item__q .faq-item__text {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 46px;
}
.faq-item__a {
  background: #b9e9d5;
  padding-top: 10px;
  padding-bottom: 12px;
}
.faq-item__a .faq-item__label {
  color: #0a8452;
}
.faq-item__label {
  font-family: "Jost", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
}
.faq-item__body {
  display: grid;
  gap: 13px;
  padding: 7px 0;
  line-height: 1.5;
}

.bottom-cta {
  color: #ffffff;
  background: url("../img/bg_cta.webp") no-repeat center/cover;
  padding: 2rem 0 3.6rem 0;
}
.bottom-cta__text {
  text-align: center;
  font-size: 4rem;
  font-weight: 900;
  margin-bottom: 2rem;
}
.bottom-cta__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 950px;
  gap: 5%;
  margin: 0 auto;
}
.bottom-cta__action {
  display: grid;
  justify-items: center;
  gap: 1.5rem;
}
.bottom-cta__action .c-btn {
  width: 100%;
  height: 72px;
  border-radius: 37px;
  font-size: 3.2rem;
}
.bottom-cta__action .c-btn::before {
  width: 5.6rem;
  height: 5.6rem;
}
.bottom-cta__action .c-btn::after {
  height: 24px;
}
.bottom-cta__action span {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  position: relative;
}
.bottom-cta__action span::before, .bottom-cta__action span::after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 100%;
  background: #ffffff;
  border-radius: 4px;
  translate: 0 -50%;
  top: 50%;
  position: absolute;
}
.bottom-cta__action span::before {
  transform: rotate(-35deg);
  left: -2rem;
}
.bottom-cta__action span::after {
  transform: rotate(35deg);
  right: -2rem;
}

.footer__inner {
  padding: 9px 0;
}
.footer__copyright {
  text-align: center;
  font-size: 11px;
  color: #333333;
}

.back-to-top {
  position: fixed;
  right: 5%;
  bottom: calc(134px + 1%);
  border-radius: 100%;
  width: 9.6rem;
  height: 9.6rem;
  cursor: pointer;
  border: 0;
  padding: 0;
  background: transparent;
  transition: filter 0.3s ease;
}
.back-to-top img {
  width: 100%;
}
.back-to-top:hover {
  filter: brightness(1.1);
}

#fixedBanner {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1000;
  opacity: 0;
  transform: translateY(120%);
  pointer-events: none;
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
}
#fixedBanner.is-fixed {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* -------------------------------- SP -------------------------------- */
@media screen and (max-width: 1300px) {
  html {
    font-size: 9px;
  }
}
@media screen and (max-width: 1150px) {
  html {
    font-size: 8px;
  }
}
@media screen and (max-width: 1061px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: inline-block;
  }
  html {
    font-size: 6px;
  }
  body {
    font-size: 16px;
    font-weight: 400;
  }
  .hero__inner {
    padding: 0 5%;
  }
  section:not(#pricing, #voice, #proof),
  .pricing__inner {
    padding-right: 5%;
    padding-left: 5%;
    padding-bottom: 30px;
  }
  .l-container {
    max-width: 650px;
  }
  .bg--pantagon {
    box-sizing: border-box;
    padding: 6px 25px 12px 25px;
    width: 82%;
    margin-bottom: 16px;
    --h: 77%;
  }
  .bg--rock {
    background: url("../img/bg_deco-rocks-flipped.png") no-repeat top right/282px 198px, #303a36;
  }
  .text-l {
    font-size: 17px;
    font-weight: 500;
  }
  .text-xl {
    font-size: 18px;
  }
  .text-endnote {
    text-align: left;
    line-height: 1.2;
    margin-top: 11px;
  }
  .text-18 {
    font-size: 16px;
  }
  .icon--play {
    font-size: 20px;
    margin-bottom: 18px;
  }
  .icon--play::before {
    width: 28px;
    height: 28px;
  }
  .pricing-card__link .c-btn::after {
    width: 40px;
    height: 40px;
    background: url("../img/icon_play-red_sp.png") no-repeat center/contain;
  }
  h2,
  .section--title {
    font-size: 26px;
    font-weight: 700;
    padding-top: 53px;
    margin-bottom: 23px;
    line-height: 1.4;
  }
  .header {
    height: 50px;
  }
  .header .header-cta__actions {
    display: none;
  }
  #fixedBannerSp {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 56px 48px;
    grid-template-areas: "banner banner" "btn1 btn2";
    gap: 0;
  }
  #fixedBannerSp .header-cta__img {
    height: 100%;
    grid-area: banner;
    width: 100%;
    opacity: 0;
    transform: translateY(120%);
    background-color: #ffea01;
    text-align: center;
    transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
  }
  #fixedBannerSp .header-cta__img img {
    width: auto;
    height: 100%;
  }
  #fixedBannerSp .c-btn {
    border-radius: 0;
    width: 100%;
    height: 100%;
    font-size: 17px;
    padding-left: 7%;
    max-width: none;
  }
  #fixedBannerSp .c-btn::before {
    width: 32px;
    height: 32px;
  }
  #fixedBannerSp .c-btn--primary {
    grid-area: btn1;
  }
  #fixedBannerSp .c-btn--accent {
    grid-area: btn2;
  }
  #fixedBannerSp.is-fixed .header-cta__img {
    opacity: 1;
    transform: translateY(0);
    padding-bottom: 2em;
  }
  #fixedBannerSp.is-fixed .header-cta__img::after {
    content: "※お試しは初回申込時限定となります。\a※期間終了後の自動更新は行われません。";
    display: block;
    font-size: 10px;
  }
  .header-cta__img {
    line-height: 1;
    display: block;
    height: 100%;
  }
  .header-cta__img img {
    height: 100%;
  }
  .hero {
    padding-top: 48px;
    padding-bottom: 19px;
  }
  .hero__text {
    width: 100%;
    margin-bottom: 15px;
  }
  .hero__text-price {
    translate: 0 4px;
    font-weight: 700;
  }
  .hero__text-price .text-l {
    font-size: 14px;
  }
  .hero__eyebrow {
    margin-top: -2px;
    margin-bottom: 7px;
    font-size: 24px;
    font-weight: 700;
  }
  .hero__title {
    padding: 16px 21px;
    margin: 0 auto;
    border-radius: 8px;
    max-width: 650px;
  }
  .hero__title-main {
    margin-bottom: 6px;
  }
  .hero__title-sub {
    font-size: 20px;
    font-weight: 900;
    padding: 3.5px 0;
    border-radius: 4px;
    margin-bottom: 1px;
  }
  .hero__content {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .hero__media {
    max-width: 650px;
  }
  .hero__features {
    display: flex;
    flex-direction: column;
    padding: 0 8%;
    box-sizing: border-box;
    gap: 14px;
    max-width: 650px;
  }
  .hero__cta {
    height: 100px;
    margin-top: 30px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
  }
  .concerns__list {
    display: flex;
    flex-direction: column;
  }
  .concerns__item {
    padding: 12px 11px;
    gap: 2.5%;
  }
  .concerns__item img {
    width: 56px;
  }
  .concerns__risk {
    margin-top: 15px;
  }
  .concerns__risk .risk__points {
    padding: 24px 3.2%;
    gap: 16px;
  }
  .strip__text {
    padding: 18px 5%;
  }
  .strip__text::after {
    margin-top: 7px;
    margin-bottom: -10px;
  }
  .about__summary {
    display: flex;
    flex-direction: column;
    gap: 17px;
    margin-bottom: 13px;
  }
  .about__media {
    margin-top: 0;
    padding: 15px 7.5%;
  }
  .about__media .media__text {
    font-size: 18px;
    margin-bottom: 5px;
  }
  .about__media .media__text::before, .about__media .media__text::after {
    width: 24px;
    height: 24px;
  }
  .about__media .media__tags {
    gap: 8px;
  }
  .about__media .media__tag {
    width: 126px;
  }
  .about__figure {
    max-width: 650px;
    margin: 0 auto;
  }
  .about__benefits {
    margin-bottom: 24px;
  }
  .about__benefits .benefits__card {
    display: flex;
    flex-direction: column;
    padding: 32px 3.3%;
  }
  .about__benefits .benefits__media {
    margin-bottom: 19px;
  }
  .about__benefits .benefits__list {
    gap: 16px;
    align-self: flex-start;
  }
  .about__benefits .icon--checkbox::before {
    width: 24px;
    height: 24px;
  }
  .about-cta__text {
    padding: 21px 3%;
    line-height: 1.4;
  }
  .about-cta__text::after {
    right: 4%;
  }
  .features .feature-card {
    display: flex;
    flex-direction: column;
    padding: 27px 3%;
  }
  .features .feature-card__text {
    line-height: 1.7;
  }
  .feature-card__media.sp-only {
    display: block;
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
  }
  .pricing-banner__content {
    display: flex;
    flex-direction: column;
    padding: 16px 2.8%;
    gap: 0;
  }
  .pricing-banner__price--monthly::after {
    right: auto;
    left: auto;
  }
  .pricing-banner__ribbon {
    line-height: 1.3;
    padding: 8px 0;
  }
  .pricing-banner__tip {
    flex-direction: column-reverse;
    gap: 25px;
    padding: 0;
    margin-bottom: 17px;
  }
  .pricing-banner__badge img {
    margin: 0 auto;
  }
  .pricing-card__link {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
  }
  .pricing-card__cta {
    background: url(../img/bg_cta01_sp.png) no-repeat center/cover;
    padding: 32px 5%;
  }
  .pricing-card__flag {
    margin-bottom: 4px;
  }
  .pricing-card__flag .flag__text .num--anton {
    font-size: 30px;
  }
  .pricing-card__flag .flag__text {
    font-size: 20px;
  }
  .pricing-card__flag .flag__text .text-xl {
    font-size: 26px;
  }
  .pricing-card__flag .flag__text .text-exclamation {
    font-size: 32px;
  }
  .pricing-card__flag img {
    width: 100%;
  }
  .pricing-card__link .c-btn {
    padding-right: 8px;
    justify-content: center;
    padding-left: 0;
  }
  .pricing-card__link .c-btn {
    width: 100%;
    font-size: 22px;
    height: 56px;
  }
  .pricing-card__note {
    font-size: 22px;
    line-height: 1.1;
  }
  .pricing-card__note .num--anton {
    font-size: 56px;
    line-height: 48px;
  }
  .pricing-card__note .text-xxl {
    font-size: 26px;
    line-height: 1;
  }
  .num--0-v2 {
    width: 46px;
    height: 60px;
    translate: 0 3px;
  }
  .pricing-card__note .text--yellow {
    font-size: 26px;
    line-height: 1;
  }
  .pricing-banner__panel {
    max-width: 420px;
    margin: 0 auto;
  }
  .pricing-banner__icon--accent.sp-only,
  .pricing-banner__image.sp-only {
    display: block;
  }
  .pricing-banner__price {
    align-items: baseline;
  }
  .pricing-banner__label {
    font-size: 22px;
    width: 50px;
  }
  .pricing-banner__unit {
    font-size: 22px;
    line-height: 1.8;
  }
  .pricing-banner__tax {
    top: -9px;
    left: 50%;
    translate: -50% 0;
    font-size: 12px;
  }
  .pricing-banner__amount {
    width: 175px;
    justify-content: center;
  }
  .pricing-banner__text {
    width: 100%;
    box-sizing: border-box;
    margin-top: 5px;
    padding: 11px 6%;
    translate: unset;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
  .pricing-banner__text::before {
    width: 25px;
    height: 17px;
    left: 50%;
    bottom: -16px;
    translate: -50% 0;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    top: auto;
  }
  .tiers__lead {
    padding-top: 32px;
    margin-bottom: 33px;
  }
  .tiers__title {
    padding: 10px 24px;
    font-size: 18px;
    --h: 73%;
    margin-bottom: 1.1rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .tiers__grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 420px;
    margin: 0 auto;
  }
  .tiers .plan-card::after {
    bottom: 73px;
    width: 94%;
  }
  .tiers .plan-card__ribbon {
    font-size: 20px;
    line-height: 1.9;
  }
  .tiers .plan-card__body {
    grid-template-rows: auto;
    padding: 20px 3%;
  }
  .tiers .plan-card__price {
    margin-bottom: 7px;
  }
  .tiers .plan-card__price-was {
    font-size: 20px;
  }
  .tiers .plan-card__price-label {
    font-size: 22px;
    align-items: baseline;
    font-weight: 700;
  }
  .tiers .plan-card__rows {
    gap: 6px;
  }
  .tiers .plan-card__row-label {
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;
  }
  .tiers .plan-card__price-number {
    font-size: 46px;
    line-height: 40px;
  }
  .tiers .plan-card__row-bar--fill::before {
    height: 28px;
    width: 73%;
  }
  .tiers .plan-card__monthly {
    margin-top: 32px;
    margin-bottom: -12px;
  }
  .tiers .plan-card__monthly-label {
    font-size: 22px;
  }
  .tiers .plan-card__monthly-number {
    font-size: 46px;
  }
  .tiers .plan-card .pricing-banner__tax {
    font-size: 12px;
  }
  .tiers .plan-card__saving-text {
    margin-bottom: 9px;
  }
  .tiers .plan-card__saving-text-2y::after {
    height: 43px;
    width: 22px;
  }
  .tiers .plan-card__row-bar--fill-2y::after,
  .tiers .plan-card__row-bar--fill-3y::after {
    width: 73%;
  }
  .tiers .plan-card__monthly-sub {
    font-size: 20px;
    translate: 0 -4px;
  }
  .tiers .plan-card--2y::after,
  .tiers .plan-card--3y::after {
    bottom: 102px;
  }
  .related-card {
    display: flex;
    flex-direction: column-reverse;
    gap: 18px;
  }
  .related-card__media {
    aspect-ratio: 335/178;
    height: auto;
  }
  .related-card__title {
    margin-bottom: 7px;
  }
  .case {
    display: flex;
    flex-direction: column;
    width: 355px;
    height: 946px;
    padding: 24px 16px 16px 16px;
    margin: 0 15px;
  }
  .case__label {
    font-size: 20px;
  }
  .case__title {
    font-size: 22px;
    line-height: 1.3;
  }
  .case__clinic {
    font-size: 18px;
    padding: 4px 9px;
    margin: 0 6px;
    line-height: 1.3;
    margin-bottom: 5px;
  }
  .case__doctor {
    font-size: 18px;
    margin-left: 5px;
  }
  .case__figure {
    display: flex;
    flex-direction: column;
    margin-bottom: 32px;
    gap: 16px;
    margin-top: 19px;
  }
  .case__image {
    width: 100%;
    max-width: 256px;
    margin: 0 auto;
  }
  .slick-prev {
    left: calc(50% - 178px);
    width: 72px;
    top: 214px;
  }
  .slick-prev img {
    width: 100%;
  }
  .slick-next {
    right: calc(50% - 178px);
    width: 72px;
    top: 214px;
  }
  .slick-next img {
    width: 100%;
  }
  .slick-dots {
    bottom: -40px;
  }
  .media__image {
    width: 100%;
  }
  .faq-item__label {
    font-size: 24px;
  }
  .faq-item__q .faq-item__text {
    font-weight: 500;
    line-height: 24px;
    font-size: 17px;
  }
  .faq-item__q {
    padding: 10px 16px;
  }
  .faq-item__body {
    line-height: 1.7;
    padding: 4px 0;
  }
  .bottom-cta {
    padding-top: 30px;
    padding-bottom: 70px;
    background: url("../img/bg_cta02_sp.png") no-repeat center/cover;
  }
  .bottom-cta__text {
    margin-bottom: 24px;
    line-height: 1.4;
  }
  .bottom-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .bottom-cta__action .c-btn {
    height: 56px;
  }
  .bottom-cta__action span {
    font-size: 20px;
  }
  .bottom-cta__action span::before,
  .bottom-cta__action span::after {
    width: 2px;
  }
  .bottom-cta__action span::after {
    right: -25px;
    height: 120%;
  }
  .bottom-cta__action span::before {
    left: -25px;
    height: 120%;
  }
  .bottom-cta__action .c-btn {
    font-size: 22px;
    font-weight: 900;
  }
  .footer__inner {
    padding: 12px 0;
  }
  .footer__copyright {
    font-size: 10px;
  }
  .back-to-top {
    width: 74px;
    height: 74px;
    bottom: calc(120px + 1%);
  }
}/*# sourceMappingURL=style.css.map */