@charset "UTF-8";

:root {
  --color-main: #ff7129;
  --color-bg: #fbf8f1;
  --color-black: #000000;
  --color-white: #ffffff;
  --font-base: "Noto Sans", sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-family: var(--font-base);
  color: var(--color-black);
  background: var(--color-bg);
  min-width: 1440px;
}

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

img {
  display: block;
  max-width: 100%;
}

.inner {
  width: 1200px;
  margin: 0 auto;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 0 10px 0 24px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.btn__arrow {
  width: 16px;
  height: auto;
}

.btn--black {
  background: var(--color-black);
  color: var(--color-white);
}

.btn--white {
  background: var(--color-white);
  color: var(--color-black);
  border: 2px solid var(--color-black);
}

.header {
  background: var(--color-main);
  height: 90px;
}

.header__inner {
  max-width: 1440px;
  height: 100%;
  margin: 0 auto;
  padding: 0 120px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__logo img {
  width: 139px;
}

.header__nav {
  display: flex;
  align-items: center;
  gap: 20px;
}

.is-orange {
  color: var(--color-main);
}

.hero {
  position: relative;
  overflow: hidden;
  background: #fbf8ee;
}

.hero__bg {
  position: absolute;
  inset: 0;
}

.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__inner {
  position: relative;
  max-width: 1145px;
  margin: 0 auto;
  padding: 54px 0 73px 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 17px;
}

.hero__text {
  width: 592px;
  flex-shrink: 0;
}

.hero__badge {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.hero__badge-logo {
  width: 141px;
  flex-shrink: 0;
}

.hero__badge span {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

.hero__title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 24px;
}

.hero__desc {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

.hero__pc {
  position: relative;
  width: 536px;
  flex-shrink: 0;
}

.hero__pc-shot {
  width: 100%;
  border-radius: 8px;
}

.hero-cta {
  background: var(--color-main);
  padding: 50px 0 60px;
  text-align: center;
}

.hero-cta__title {
  color: var(--color-white);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 40px;
}

.hero-cta__title-br {
  display: none;
}

.hero-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 60px;
}

.hero-cta .btn--black.btn--lg,
.hero-cta .btn--white.btn--lg {
  position: relative;
  padding: 0 10px;
  justify-content: center;
}

.hero-cta .btn--black .btn__arrow,
.hero-cta .btn--white .btn__arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}

.cta-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta-item__bubble {
  position: relative;
  width: 340px;
  height: 57px;
  margin-bottom: -10px;
  z-index: 1;
}

.cta-item__bubble-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cta-item__bubble-bg--sp {
  display: none;
}

.cta-item__bubble-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 42px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.cta-item__bubble--sm {
  width: 210px;
  height: 65px;
}

.cta-item__bubble--sm .cta-item__bubble-text {
  height: 50px;
  font-size: 18px;
}

.cta-item__bubble--md {
  width: 282px;
  height: 65px;
}

.cta-item__bubble--md .cta-item__bubble-text {
  height: 50px;
  font-size: 18px;
}

.cta-item__callout-lg {
  font-size: 25px;
  letter-spacing: 0.1em;
}

.btn--lg {
  height: 60px;
  padding: 0 10px 0 56px;
  font-size: 26px;
  width: 423px;
}

.btn--lg .btn__arrow {
  width: 22px;
}

.steps .section-title {
  font-size: 46px;
}

.section-title {
  text-align: center;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 60px;
}

.dekiru__big {
  font-size: 42px;
}

.dekiru__adx {
  font-size: 46px;
}

.dekiru {
  position: relative;
  padding: 80px 0;
  background: var(--color-white);
}

.dekiru .inner {
  position: relative;
}

.dekiru__person {
  position: absolute;
  left: 0;
  top: -40px;
  width: 127px;
}

.dekiru__list {
  display: flex;
  justify-content: center;
  gap: 28px;
  list-style: none;
}

.dekiru-card {
  position: relative;
  padding-top: 15px;
}

.dekiru-card__case {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-white);
  border: 1px solid var(--color-main);
  border-radius: 999px;
  color: var(--color-main);
  font-weight: 700;
  font-size: 18px;
  padding: 4px 20px;
  z-index: 1;
  white-space: nowrap;
}

.dekiru-card__box {
  width: 280px;
  height: 345px;
  border: 2px solid var(--color-main);
  border-radius: 8px;
  background: var(--color-white);
  text-align: center;
  padding-top: 53px;
}

.dekiru-card__icon {
  width: 160px;
  height: 135px;
  object-fit: contain;
  margin: 0 auto 8px;
}

.dekiru-card__label {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}

.dekiru-card__desc {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #333;
}

.cost {
  position: relative;
  padding: 80px 0;
}

.cost .inner {
  position: relative;
}

.cost__person {
  position: absolute;
  right: 0;
  top: -30px;
  width: 167px;
}

.cost__lead {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.cost__title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 60px;
}

.cost__title-cost {
  font-size: 46px;
}

.cost__title-mieru {
  font-size: 42px;
}

.cost-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--color-white);
  border-radius: 12px;
  padding: 60px 60px 60px 50px;
  margin-bottom: 40px;
}

.cost-card:last-child {
  margin-bottom: 0;
}

.cost-card__badge {
  position: absolute;
  top: 40px;
  left: 50px;
  background: var(--color-main);
  color: var(--color-white);
  font-size: 18px;
  font-weight: 700;
  padding: 2px 24px;
  border-radius: 999px;
  max-width: 250px;
  width: 100%;
  text-align: center;
}

.cost-card__text {
  width: 470px;
  padding-top: 30px;
}

.cost-card__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}

.cost-card__title .is-orange {
  font-size: 40px;
}

.cost-card__desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  color: #333;
}

.cost-card__img {
  width: 100%;
  max-width: 580px;
  border-radius: 8px;
  flex-shrink: 0;
}

.is-yellow {
  color: #ffd900;
}

.miryoku {
  background: var(--color-white);
  padding: 100px 0 0;
}

.miryoku .inner {
  position: relative;
}

.miryoku__mascot {
  position: absolute;
  right: 30px;
  top: 83px;
  width: 167px;
}

.miryoku__badge {
  background: var(--color-black);
  color: var(--color-white);
  max-width: 900px;
  margin: 0 auto 5px;
  padding: 13px 35px;
  border-radius: 999px;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
}

.miryoku__badge-br {
  display: none;
}

.miryoku__heading {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 16px;
  margin-bottom: 0;
}

.miryoku__logo {
  width: 100%;
  max-width: 232px;
}

.miryoku__title {
  font-size: 46px;
  font-weight: 700;
}

.miryoku__title-num {
  font-size: 76px;
}

.miryoku__title-sub {
  font-size: 32px;
}

.feature {
  display: flex;
  align-items: center;
  gap: 70px;
  padding: 60px 0 40px;
}

.feature.feature--attraction02 {
  padding: 40px 0 40px;
}

.feature.feature--attraction03 {
  padding: 40px 0 40px;
}

.feature.feature--attraction04 {
  padding: 40px 0 40px;
}

.feature--reverse {
  flex-direction: row-reverse;
}

.feature__media {
  position: relative;
  max-width: 580px;
  width: 100%;
  flex-shrink: 0;
  border-radius: 20px;
  padding: 33px 0 0;
  text-align: center;
}

.feature--orange .feature__media {
  background: #fbf8f1;
  padding: 24px 20px;
}

.feature--attraction03 .feature__media {
  padding-top: 40px;
  padding-bottom: 50px;
}

.feature--green .feature__media {
  background: #f0f7dd;
}

.feature--green .feature__media--cream {
  background: #fbf8f1;
}

.feature__media.feature__media--illust {
  background: #fbf8f1;
}

.feature--attraction04 .feature__media {
  padding: 60px 20px;
}

.feature__pc {
  position: relative;
  margin-bottom: 24px;
}

.feature__pc-shot {
  margin: 0 auto;
  width: 100%;
  max-width: 450px;
  border-radius: 8px;
}

.feature__illust {
  width: 100%;
  max-width: 411px;
  margin: 0 auto 30px;
  display: block;
}

.feature--attraction04 .feature__illust {
  max-width: 393px;
}

.feature__steps {
  display: flex;
  justify-content: center;
  gap: 12px;
  list-style: none;
}

.feature__steps li {
  width: 147px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

.feature__steps img {
  width: 147px;
  height: 147px;
  border-radius: 50%;
  border: 2px solid var(--color-main);
  padding: 8px;
  margin-bottom: 6px;
  background: var(--color-white);
}

.feature--green .feature__steps img {
  border-color: #95c51b;
}

.feature__steps--4 li {
  width: 100%;
  max-width: 126px;
  font-size: 16px;
}

.feature__steps--4 img {
  width: 100%;
  height: 100%;
  max-width: 126px;
  max-height: 126px;
  border: none;
  border-radius: 0;
  padding: 0;
  background: none;
}

.feature__steps-img {
  width: 100%;
  max-width: 490px;
  margin: 0 auto;
  display: block;
}

.feature__callout {
  position: relative;
  margin-top: 40px;
  width: 100%;
  max-width: 565px;
  aspect-ratio: 565 / 174;
}

.feature__callout-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.feature__callout-text {
  position: relative;
  z-index: 1;
  width: 97%;
  padding: 30px 30px 0;
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.feature__callout-lg {
  font-size: 28px;
}

.feature__patent-box {
  margin-top: 48px;
  background: #ececec;
  padding: 20px;
  position: relative;
}

.feature__flow {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 15px 10px;
  border-radius: 10px;
}

.feature__flow-item {
  width: 220px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
}

.feature__flow-item img {
  width: 100%;
  max-width: 120px;
  margin: 0 auto 8px;
}

.feature__flow-arrow {
  width: 22px;
  height: auto;
  flex-shrink: 0;
}

.feature__patent {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  background: #95c51b;
  color: var(--color-white);
  border-radius: 999px;
  border: 2px #fff solid;
  padding: 10px 20px;
  font-weight: 700;
  font-size: 24px;
  display: block;
  width: 90%;
  text-align: center;
  max-width: 480px;
}

.feature__patent-mark {
  display: inline-block;
  vertical-align: -0.15em;
  font-size: 16px;
}

.feature__body {
  flex: 1;
  max-width: 565px;
  width: 100%;
}

.feature__tag {
  display: inline-block;
  background: var(--color-main);
  color: var(--color-white);
  font-weight: 700;
  font-size: 18px;
  padding: 5px 24px;
  border-radius: 999px;
  margin-bottom: 30px;
  width: 100%;
  max-width: 250px;
  text-align: center;
}

.feature--green .feature__tag {
  background: #95c51b;
}

.feature__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 30px;
}

.feature__title-sm {
  font-size: 30px;
}

.feature__desc {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.9;
  color: #333;
}

.feature--orange .feature__desc strong {
  color: var(--color-main);
}

.feature--green .feature__desc strong {
  color: #95c51b;
}

.feature__note {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  margin-top: 8px;
}

.feature__panel + .feature__note {
  margin-top: 40px;
  text-align: left;
}

.feature__panel {
  margin-top: 40px;
  background: #f0f7dd;
  border: 2px solid #95c51b;
  border-radius: 12px;
  padding: 40px;
}

.feature__panel.feature__panel--callout {
  position: relative;
  background: #eef4d9;
  border-radius: 24px;
  padding: 30px 30px 40px;
}

.feature__panel--callout::before,
.feature__panel--callout::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
}

.feature__panel--callout::before {
  left: -22px;
  transform: translateY(-50%);
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-right: 22px solid #95c51b;
}

.feature__panel--callout::after {
  left: -18px;
  transform: translateY(-50%);
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-right: 18px solid #eef4d9;
}

.feature--attraction04 .feature__panel {
  position: relative;
  border-radius: 20px;
  padding: 30px 20px;
}

.feature--attraction04 .feature__panel::before,
.feature--attraction04 .feature__panel::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
}

.feature--attraction04 .feature__panel::before {
  left: -18px;
  transform: translateY(-50%);
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-right: 18px solid #95c51b;
}

.feature--attraction04 .feature__panel::after {
  left: -14px;
  transform: translateY(-50%);
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-right: 14px solid #f0f7dd;
}

.feature__panel-title {
  text-align: center;
  font-weight: 700;
  font-size: 19px;
  color: #333;
}

.feature__panel--callout .feature__panel-title {
  font-size: 22px;
  margin-bottom: 20px;
}

.feature__panel-title-lg {
  font-size: 32px;
}

.feature__panel-title-accent {
  font-size: 32px;
  font-weight: 600;
}

.feature__tags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.feature__tags span {
  display: block;
  text-align: center;
  background: var(--color-white);
  border: 2px solid #95c51b;
  border-radius: 10px;
  color: #95c51b;
  font-weight: 700;
  font-size: 18px;
  padding: 12px 8px;
}

.cv {
  padding: 80px 0;
  background: var(--color-white);
}

.cv__box {
  background: #95c51b;
  border-radius: 16px;
  padding: 100px 60px 90px;
  text-align: center;
}

.cv__tag {
  display: inline-block;
  background: var(--color-black);
  color: var(--color-white);
  font-weight: 700;
  font-size: 32px;
  padding: 8px 24px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.cv__lead {
  color: var(--color-black);
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 8px;
}

.cv__title {
  color: #ffd900;
  font-size: 60px;
  font-weight: 700;
  margin-bottom: 36px;
}

.cv__formula-img {
  width: 100%;
  max-width: 1001px;
  height: auto;
  margin: 0 auto;
  display: block;
}

.mid-cta {
  background: var(--color-main);
  padding: 50px 0 60px;
  text-align: center;
}

.mid-cta .btn--black.btn--lg {
  position: relative;
  font-size: 28px;
  width: 100%;
  max-width: 500px;
  padding: 0 10px;
  justify-content: center;
}

.mid-cta .btn--black .btn__arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}

.mid-cta .btn--white.btn--lg {
  position: relative;
  font-size: 22px;
  width: 100%;
  max-width: 500px;
  padding: 0 10px;
  justify-content: center;
}

.mid-cta .btn--white .btn__arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}

.mid-cta .cta-item {
  max-width: 500px;
  width: 100%;
}

.mid-cta .btn--lg {
  width: 100%;
  max-width: 423px;
}

.steps {
  padding: 80px 0 100px;
  background: var(--color-white);
}

.steps__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.step-card--arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);
  width: 18px;
  height: 22px;
  background: url("../images/img_adx17.png") no-repeat center / contain;
  z-index: 1;
}

.step-card {
  position: relative;
  border: 2px solid #95c51b;
  border-radius: 8px;
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
}

.step-card__num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  background: #95c51b;
  color: var(--color-white);
  font-weight: 700;
  font-size: 18px;
  padding: 4px 22px;
  border-radius: 999px;
  margin-bottom: 0;
  max-width: 180px;
  width: 100%;
}

.step-card__icon {
  width: 160px;
  height: 160px;
  margin: 0 auto 15px;
}

.step-card__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}

.step-card__title-sub {
  font-size: 18px;
}

.step-card__desc {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  padding: 0 20px;
}

.step-card--tall {
  padding-bottom: 140px;
}

.step-card__foot {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #95c51b;
  color: var(--color-white);
  font-size: 18px;
  line-height: 1.6;
  padding: 28px 30px;
}

.step-card__foot strong {
  font-weight: 700;
}

.faq {
  position: relative;
  padding: 80px 0 100px;
}

.faq .inner {
  position: relative;
}

.faq__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 50px;
}

.faq-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 20px;
  background: #95c51b;
  color: var(--color-white);
  font-weight: 700;
  font-size: 18px;
  font-family: inherit;
  padding: 20px 30px;
  border: none;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
}

.is-open .faq-item__q {
  border-radius: 8px 8px 0 0;
}

.faq-item__q-text {
  flex: 1;
}

.faq-item__q-mark,
.faq-item__a-mark {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-white);
  color: #95c51b;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq-item__toggle {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  position: relative;
}

.faq-item__toggle::before {
  content: "";
  position: absolute;
  top: 35%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 3px solid var(--color-white);
  border-bottom: 3px solid var(--color-white);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.2s ease;
}

.is-open .faq-item__toggle::before {
  top: 65%;
  transform: translate(-50%, -50%) rotate(225deg);
}

.faq-item__a {
  display: grid;
  grid-template-rows: 0fr;
  background: #f0f7dd;
  border: 1px solid #95c51b;
  border-top: none;
  border-radius: 0 0 8px 8px;
  font-size: 16px;
  line-height: 1.7;
  opacity: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.3s ease;
}

.is-open .faq-item__a {
  grid-template-rows: 1fr;
  opacity: 1;
}

.faq-item__a-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 30px;
  min-height: 0;
  overflow: hidden;
  transition: padding 0.3s ease;
}

.is-open .faq-item__a-inner {
  padding: 20px 30px;
}

.faq-item__a-mark {
  background: #95c51b;
  color: var(--color-white);
  margin-top: 2px;
}

.faq-item__a-text {
  flex: 1;
  min-width: 0;
}

.faq-item__a a {
  color: #000000;
  text-decoration: underline;
  margin-left: 4px;
}

.footer {
  background: var(--color-black);
  color: var(--color-white);
  padding: 50px 0 40px;
}

.footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer__logo {
  width: 139px;
}

.footer__nav {
  display: flex;
  gap: 40px;
}

.footer__nav a {
  color: var(--color-white);
  font-size: 14px;
}

.footer__divider {
  max-width: 1200px;
  margin: 30px auto;
  border: none;
  border-top: 1px solid #444;
}

.footer__copy {
  text-align: center;
  font-size: 13px;
  line-height: 1.8;
  color: #ccc;
}

@media (max-width: 1024px) {
  .header__nav .btn {
    font-size: clamp(12px, calc(8.533px + 0.924vw), 18px);
    padding: 0 clamp(10px, calc(26.000px + -1.562vw), 14px) 0 clamp(18px, calc(0.000px + 2.344vw), 24px);
    height: 38px;
    gap: 6px;
  }

  .hero__title {
    font-size: clamp(23px, calc(12.022px + 2.928vw), 42px);
  }

  .hero__desc {
    font-size: clamp(14px, calc(10.533px + 0.924vw), 20px);
  }

  .hero__badge span {
    font-size: clamp(13px, calc(6.644px + 1.695vw), 24px);
  }

  .hero-cta__title {
    font-size: clamp(19px, calc(11.488px + 2.003vw), 32px);
  }

  .cta-item__bubble {
    width: clamp(210px, calc(134.884px + 20.031vw), 340px);
    height: clamp(36px, calc(23.866px + 3.236vw), 57px);
  }

  .cta-item__bubble-text {
    height: clamp(30px, calc(23.066px + 1.849vw), 42px);
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
  }

  .cta-item__callout-lg {
    font-size: clamp(16px, calc(10.800px + 1.387vw), 25px);
  }

  .cta-item__bubble--sm {
    width: clamp(165px, calc(138.998px + 6.934vw), 210px);
    height: clamp(50px, calc(41.333px + 2.311vw), 65px);
  }

  .cta-item__bubble--sm .cta-item__bubble-text {
    height: clamp(38px, calc(31.066px + 1.849vw), 50px);
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
  }

  .cta-item__bubble--md {
    width: clamp(190px, calc(136.841px + 14.176vw), 282px);
    height: clamp(50px, calc(41.333px + 2.311vw), 65px);
  }

  .cta-item__bubble--md .cta-item__bubble-text {
    height: clamp(38px, calc(31.066px + 1.849vw), 50px);
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
  }

  .hero-cta .cta-item__bubble-bg,
  .hero-cta .cta-item__bubble-bg--sp {
    display: none;
  }

  .hero-cta .cta-item__bubble {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: clamp(36px, calc(30.220px + 1.541vw), 46px);
    padding: 0 clamp(16px, calc(9.499px + 1.849vw), 28px);
    margin-bottom: 2px;
    background: var(--color-white);
    border: 2px solid var(--color-black);
    border-radius: 999px;
  }

  .hero-cta .cta-item__bubble .cta-item__bubble-text {
    position: static;
    width: auto;
    height: auto;
    white-space: nowrap;
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
  }

  .hero-cta .cta-item__bubble::before,
  .hero-cta .cta-item__bubble::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
  }

  .hero-cta .cta-item__bubble::before {
    bottom: -15px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 15px solid var(--color-black);
  }

  .hero-cta .cta-item__bubble::after {
    bottom: -10px;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 11px solid var(--color-white);
  }

  .hero-cta .btn--black.btn--lg,
  .hero-cta .btn--white.btn--lg {
    height: clamp(46px, calc(37.911px + 2.157vw), 60px);
    font-size: clamp(16px, calc(10.222px + 1.541vw), 26px);
  }

  .mid-cta .btn--black.btn--lg {
    height: clamp(46px, calc(37.911px + 2.157vw), 60px);
    font-size: clamp(16px, calc(9.066px + 1.849vw), 28px);
  }

  .mid-cta .btn--white.btn--lg {
    height: clamp(46px, calc(37.911px + 2.157vw), 60px);
    font-size: clamp(16px, calc(12.533px + 0.924vw), 22px);
  }

  .mid-cta .cta-item {
    width: 100%;
  }

  .section-title {
    font-size: clamp(23px, calc(12.022px + 2.928vw), 42px);
    margin-bottom: 36px;
  }

  .steps .section-title {
    font-size: clamp(25px, calc(12.866px + 3.236vw), 46px);
  }

  .dekiru__big {
    font-size: clamp(23px, calc(12.022px + 2.928vw), 42px);
  }

  .dekiru__adx {
    font-size: clamp(23px, calc(9.710px + 3.544vw), 46px);
  }

  .cost__lead {
    font-size: clamp(19px, calc(11.488px + 2.003vw), 32px);
  }

  .cost__title {
    font-size: clamp(19px, calc(11.488px + 2.003vw), 32px);
    margin-bottom: 40px;
  }

  .cost__title-cost {
    font-size: clamp(25px, calc(12.866px + 3.236vw), 46px);
  }

  .cost__title-mieru {
    font-size: clamp(23px, calc(12.022px + 2.928vw), 42px);
  }

  .cost-card__title {
    font-size: clamp(20px, calc(13.066px + 1.849vw), 32px);
  }

  .cost-card__title .is-orange {
    font-size: clamp(22px, calc(11.599px + 2.773vw), 40px);
  }

  .cost-card__desc {
    font-size: clamp(14px, calc(11.689px + 0.616vw), 18px);
    text-align: left;
  }

  .miryoku__badge {
    font-size: clamp(15px, calc(5.177px + 2.619vw), 32px);
    padding: clamp(12px, calc(9.000px + 0.391vw), 13px) clamp(20px, calc(-25.000px + 5.859vw), 35px);
    max-width: 100%;
  }

  .miryoku__title {
    font-size: clamp(23px, calc(9.710px + 3.544vw), 46px);
  }

  .miryoku__title-num {
    font-size: clamp(34px, calc(9.732px + 6.471vw), 76px);
  }

  .miryoku__title-sub {
    font-size: clamp(15px, calc(5.177px + 2.619vw), 32px);
  }

  .feature__title {
    font-size: clamp(21px, calc(10.022px + 2.928vw), 40px);
  }

  .feature__title-sm {
    font-size: clamp(15px, calc(6.333px + 2.311vw), 30px);
  }

  .feature__desc {
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
    text-align: left;
  }

  .feature__tag {
    font-size: clamp(13px, calc(10.111px + 0.770vw), 18px);
    margin-left: auto;
    margin-right: auto;
  }

  .feature__callout-text {
    font-size: clamp(13px, calc(7.800px + 1.387vw), 22px);
    line-height: 1.6;
    padding: clamp(20px, calc(-10.000px + 3.906vw), 30px) clamp(20px, calc(-10.000px + 3.906vw), 30px) 0;
  }

  .feature__callout-lg {
    font-size: clamp(15px, calc(7.488px + 2.003vw), 28px);
  }

  .feature__panel-title {
    font-size: clamp(14px, calc(11.111px + 0.770vw), 19px);
  }

  .feature__panel--callout .feature__panel-title {
    font-size: clamp(16px, calc(12.533px + 0.924vw), 22px);
  }

  .feature__panel-title-lg,
  .feature__panel-title-accent {
    font-size: clamp(17px, calc(8.333px + 2.311vw), 32px);
  }

  .feature__tags span {
    font-size: clamp(12px, calc(8.533px + 0.924vw), 18px);
  }

  .feature.feature--attraction02 .feature__media {
    order: 2;
  }

  .feature.feature--attraction02 .feature__body {
    order: 1;
  }

  .feature.feature--attraction04 .feature__media {
    order: 2;
  }

  .feature.feature--attraction04 .feature__body {
    order: 1;
  }

  .cv__tag {
    font-size: clamp(15px, calc(5.177px + 2.619vw), 32px);
  }

  .cv__lead {
    font-size: clamp(17px, calc(3.710px + 3.544vw), 40px);
  }

  .cv__title {
    font-size: clamp(25px, calc(4.777px + 5.393vw), 60px);
    margin-bottom: 24px;
  }

  .step-card__title {
    font-size: clamp(19px, calc(16.111px + 0.770vw), 24px);
  }

  .step-card__desc {
    font-size: clamp(14px, calc(12.844px + 0.308vw), 16px);
  }

  .step-card__foot {
    font-size: clamp(15px, calc(13.267px + 0.462vw), 18px);
  }

  .faq-item__q {
    font-size: clamp(14px, calc(11.689px + 0.616vw), 18px);
    padding: clamp(16px, calc(4.000px + 1.562vw), 20px) clamp(20px, calc(-10.000px + 3.906vw), 30px);
    gap: 14px;
  }

  .faq-item__a {
    font-size: clamp(13px, calc(11.267px + 0.462vw), 16px);
  }

  .footer__copy {
    font-size: clamp(11px, calc(9.844px + 0.308vw), 13px);
  }

  .dekiru {
    padding: clamp(40px, calc(16.888px + 6.163vw), 80px) 0;
  }

  .cost {
    padding: clamp(40px, calc(16.888px + 6.163vw), 80px) 0;
  }

  .cv {
    padding: clamp(40px, calc(16.888px + 6.163vw), 80px) 0;
  }

  .miryoku {
    padding: clamp(40px, calc(5.331px + 9.245vw), 100px) 0 0;
  }

  .steps {
    padding-top: clamp(40px, calc(16.888px + 6.163vw), 80px);
    padding-bottom: clamp(50px, calc(21.109px + 7.704vw), 100px);
  }

  .faq {
    padding-top: clamp(40px, calc(16.888px + 6.163vw), 80px);
    padding-bottom: clamp(50px, calc(21.109px + 7.704vw), 100px);
  }

  .hero-cta {
    padding-top: clamp(32px, calc(21.599px + 2.773vw), 50px);
    padding-bottom: clamp(40px, calc(28.444px + 3.082vw), 60px);
  }

  .hero__inner {
    padding-top: clamp(32px, calc(19.288px + 3.390vw), 54px);
    padding-bottom: clamp(40px, calc(20.932px + 5.085vw), 73px);
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
    padding: 30px 20px;
  }

  body {
    min-width: 0;
    overflow-x: hidden;
  }

  .inner {
    width: 100%;
    padding: 30px clamp(0px, calc(160.000px + -15.625vw), 40px);
  }

  .header {
    height: auto;
    padding: 16px 0;
  }

  .header__inner {
    padding: 0 clamp(0px, calc(160.000px + -15.625vw), 40px);
  }

  .header__logo img {
    width: clamp(110px, calc(23.000px + 11.328vw), 139px);
  }

  .header__nav {
    gap: 12px;
  }

  .header__nav .btn__arrow {
    width: clamp(12px, calc(0.000px + 1.562vw), 16px);
  }

  .hero__text {
    width: 100%;
    max-width: 560px;
  }

  .hero__badge {
    justify-content: center;
  }

  .hero__pc {
    width: 100%;
    max-width: 460px;
  }

  .hero-cta__title-br {
    display: inline;
  }

  .hero-cta__buttons {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .dekiru__person {
    display: none;
  }

  .dekiru__list {
    flex-wrap: wrap;
    row-gap: 24px;
  }

  .cost__person {
    display: none;
  }

  .cost-card {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 70px 30px 30px;
  }

  .cost-card__text {
    width: 100%;
    padding-top: 0;
    margin-bottom: 24px;
  }

  .cost-card__img {
    max-width: 100%;
    margin: 0 auto;
  }

  .miryoku__mascot {
    display: none;
  }

  .miryoku__logo {
    max-width: clamp(150px, calc(-96.000px + 32.031vw), 232px);
  }

  .feature,
  .feature--reverse {
    flex-direction: column;
    text-align: center;
    gap: 32px;
  }

  .feature--reverse .feature__media {
    order: 2;
  }

  .feature--reverse .feature__body {
    order: 1;
  }

  .feature__media {
    max-width: 100%;
  }

  .feature__body {
    max-width: 100%;
    text-align: center;
  }

  .feature__callout,
  .feature__patent-box,
  .feature__panel {
    margin-left: auto;
    margin-right: auto;
  }

  .feature__panel--callout::before,
  .feature__panel--callout::after {
    top: auto;
    left: 50%;
  }

  .feature__panel--callout::before {
    bottom: -22px;
    transform: translateX(-50%);
    border-top: 22px solid #95c51b;
    border-bottom: none;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
  }

  .feature__panel--callout::after {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #eef4d9;
    border-bottom: none;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
  }

  .feature--attraction04 .feature__panel::before,
  .feature--attraction04 .feature__panel::after {
    top: auto;
    left: 50%;
  }

  .feature--attraction04 .feature__panel::before {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #95c51b;
    border-bottom: none;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
  }

  .feature--attraction04 .feature__panel::after {
    bottom: -14px;
    transform: translateX(-50%);
    border-top: 14px solid #f0f7dd;
    border-bottom: none;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
  }

  .feature__callout-bg {
    display: none;
  }

  .feature__callout {
    background: #fff6e5;
    border: 2px solid var(--color-main);
    border-radius: 16px;
  }

  .feature__callout::before,
  .feature__callout::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
  }

  .feature__callout::before {
    bottom: -22px;
    transform: translateX(-50%);
    border-top: 22px solid var(--color-main);
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
  }

  .feature__callout::after {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #fff6e5;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
  }

  .cost-card__badge {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 auto 20px;
  }

  .cv__box {
    padding: clamp(50px, calc(-100.000px + 19.531vw), 100px) clamp(30px, calc(-60.000px + 11.719vw), 60px) clamp(40px, calc(-110.000px + 19.531vw), 90px);
  }

  .steps__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .step-card--arrow::after {
    display: none;
  }

  .step-card--tall {
    padding-bottom: clamp(140px, calc(260.000px + -11.719vw), 170px);
  }

  .faq-item__a-inner {
    padding: 0 clamp(20px, calc(-10.000px + 3.906vw), 30px);
    gap: 14px;
  }

  .is-open .faq-item__a-inner {
    padding: clamp(16px, calc(4.000px + 1.562vw), 20px) clamp(20px, calc(-10.000px + 3.906vw), 30px);
  }

  .footer__nav {
    gap: 20px;
  }
}

@media (max-width: 767px) {
  body {
    min-width: 0;
    overflow-x: hidden;
  }

  .inner {
    width: 100%;
    padding: 0 clamp(20px, calc(0.867px + 5.102vw), 40px);
  }

  .header {
    height: auto;
    padding: 16px 0;
  }

  .header__inner {
    padding: 0 clamp(16px, calc(-6.959px + 6.122vw), 40px);
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .header__logo img {
    width: clamp(90px, calc(70.867px + 5.102vw), 110px);
  }

  .header__nav .btn {
    padding: 0 clamp(10px, calc(6.173px + 1.020vw), 14px) 0 clamp(14px, calc(10.173px + 1.020vw), 18px);
    height: 32px;
    font-size: clamp(12px, calc(6.260px + 1.531vw), 18px);
  }

  .header__nav .btn__arrow {
    width: clamp(10px, calc(8.087px + 0.510vw), 12px);
  }

  .hero__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
    padding: 30px 20px;
  }

  .hero__text {
    width: 100%;
    max-width: 560px;
  }

  .hero__badge {
    justify-content: center;
  }

  .hero__badge span {
    font-size: clamp(13px, calc(2.477px + 2.806vw), 24px);
  }

  .hero__pc {
    width: 100%;
    max-width: 460px;
  }

  .hero__badge-logo {
    width: clamp(90px, calc(41.212px + 13.010vw), 141px);
  }

  .hero__title {
    margin-bottom: 16px;
    font-size: clamp(23px, calc(4.824px + 4.847vw), 42px);
  }

  .hero__desc {
    font-size: clamp(14px, calc(8.260px + 1.531vw), 20px);
  }

  .hero-cta__title {
    margin-bottom: 24px;
    font-size: clamp(19px, calc(6.564px + 3.316vw), 32px);
  }

  .hero-cta__buttons {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .hero-cta .btn--black.btn--lg,
  .hero-cta .btn--white.btn--lg {
    width: 100%;
    font-size: clamp(16px, calc(6.434px + 2.551vw), 26px);
  }

  .hero-cta .hero-cta__buttons {
    padding: 0 20px;
  }

  .cta-item {
    width: 100%;
  }

  .mid-cta {
    padding: 30px 0;
  }

  .mid-cta .btn--black.btn--lg {
    width: 100%;
    font-size: clamp(16px, calc(4.520px + 3.061vw), 28px);
  }

  .mid-cta .btn--white.btn--lg {
    width: 100%;
    font-size: clamp(16px, calc(10.260px + 1.531vw), 22px);
  }

  .cta-item__bubble-text,
  .cta-item__bubble--sm .cta-item__bubble-text,
  .cta-item__bubble--md .cta-item__bubble-text {
    font-size: clamp(13px, calc(8.217px + 1.276vw), 18px);
  }

  .cta-item__callout-lg {
    font-size: clamp(16px, calc(7.390px + 2.296vw), 25px);
  }

  .mid-cta .cta-item {
    width: 100%;
  }

  .cost-card__badge {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 auto 20px;
  }

  .section-title {
    font-size: clamp(23px, calc(4.824px + 4.847vw), 42px);
  }

  .steps .section-title {
    font-size: clamp(25px, calc(4.911px + 5.357vw), 46px);
  }

  .dekiru__big {
    font-size: clamp(23px, calc(4.824px + 4.847vw), 42px);
  }

  .dekiru__adx {
    font-size: clamp(23px, calc(0.997px + 5.867vw), 46px);
  }

  .dekiru__person {
    display: none;
  }

  .dekiru__list {
    flex-wrap: wrap;
    row-gap: 24px;
  }

  .cost__person {
    display: none;
  }

  .cost__lead {
    font-size: clamp(19px, calc(6.564px + 3.316vw), 32px);
  }

  .cost__title {
    font-size: clamp(19px, calc(6.564px + 3.316vw), 32px);
  }

  .cost__title-cost {
    font-size: clamp(25px, calc(4.911px + 5.357vw), 46px);
  }

  .cost__title-mieru {
    font-size: clamp(23px, calc(4.824px + 4.847vw), 42px);
  }

  .cost-card {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: clamp(24px, calc(-20.005px + 11.735vw), 70px) clamp(20px, calc(10.434px + 2.551vw), 30px) clamp(24px, calc(18.260px + 1.531vw), 30px);
  }

  .cost-card__title {
    font-size: clamp(20px, calc(8.520px + 3.061vw), 32px);
  }

  .cost-card__title .is-orange {
    font-size: clamp(22px, calc(4.781px + 4.592vw), 40px);
  }

  .cost-card__text {
    width: 100%;
    padding-top: 0;
    margin-bottom: 24px;
  }

  .cost-card__desc {
    text-align: left;
    font-size: clamp(14px, calc(10.173px + 1.020vw), 18px);
  }

  .cost-card__img {
    max-width: 100%;
    margin: 0 auto;
  }

  .miryoku__badge {
    padding: clamp(10px, calc(8.087px + 0.510vw), 12px) clamp(16px, calc(12.173px + 1.020vw), 20px);
    font-size: clamp(15px, calc(-1.263px + 4.337vw), 32px);
  }

  .miryoku__title {
    font-size: clamp(23px, calc(0.997px + 5.867vw), 46px);
  }

  .miryoku__title-num {
    font-size: clamp(34px, calc(-6.179px + 10.714vw), 76px);
  }

  .miryoku__title-sub {
    font-size: clamp(15px, calc(-1.263px + 4.337vw), 32px);
  }

  .miryoku__badge-br {
    display: inline;
  }

  .miryoku__mascot {
    display: none;
  }

  .feature,
  .feature--reverse {
    flex-direction: column;
    text-align: center;
    gap: 24px;
    padding: clamp(30px, calc(1.301px + 7.653vw), 60px) 0 clamp(20px, calc(0.867px + 5.102vw), 40px);
  }

  .feature--reverse .feature__media {
    order: 2;
  }

  .feature--reverse .feature__body {
    order: 1;
  }

  .feature__media {
    max-width: 100%;
  }

  .feature__body {
    max-width: 100%;
    text-align: center;
  }

  .feature__title {
    font-size: clamp(21px, calc(2.824px + 4.847vw), 40px);
  }

  .feature__title-sm {
    font-size: clamp(15px, calc(0.651px + 3.827vw), 30px);
  }

  .feature__tag {
    margin-left: auto;
    margin-right: auto;
    padding: clamp(4px, calc(3.043px + 0.255vw), 5px) clamp(16px, calc(8.347px + 2.041vw), 24px);
    font-size: clamp(13px, calc(8.217px + 1.276vw), 18px);
  }

  .feature__desc {
    text-align: left;
    font-size: clamp(13px, calc(8.217px + 1.276vw), 18px);
  }

  .feature__callout,
  .feature__patent-box,
  .feature__panel {
    margin-left: auto;
    margin-right: auto;
  }

  .feature__callout-text {
    width: 100%;
    font-size: clamp(13px, calc(4.390px + 2.296vw), 22px);
    line-height: 1.5;
    padding: clamp(16px, calc(12.173px + 1.020vw), 20px) clamp(16px, calc(12.173px + 1.020vw), 20px) 0;
  }

  .feature__callout-lg {
    font-size: clamp(15px, calc(2.564px + 3.316vw), 28px);
  }

  .feature__panel--callout::before,
  .feature__panel--callout::after {
    top: auto;
    left: 50%;
  }

  .feature__panel--callout::before {
    bottom: -22px;
    transform: translateX(-50%);
    border-top: 22px solid #95c51b;
    border-bottom: none;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
  }

  .feature__panel--callout::after {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #eef4d9;
    border-bottom: none;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
  }

  .feature--attraction04 .feature__panel::before,
  .feature--attraction04 .feature__panel::after {
    top: auto;
    left: 50%;
  }

  .feature--attraction04 .feature__panel::before {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #95c51b;
    border-bottom: none;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
  }

  .feature--attraction04 .feature__panel::after {
    bottom: -14px;
    transform: translateX(-50%);
    border-top: 14px solid #f0f7dd;
    border-bottom: none;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
  }

  .feature__callout-bg {
    display: none;
  }

  .feature__callout {
    background: #fff6e5;
    border: 2px solid var(--color-main);
    border-radius: 16px;
  }

  .feature__callout::before,
  .feature__callout::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
  }

  .feature__callout::before {
    bottom: -22px;
    transform: translateX(-50%);
    border-top: 22px solid var(--color-main);
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
  }

  .feature__callout::after {
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 18px solid #fff6e5;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
  }

  .feature__panel.feature__panel--callout {
    padding: clamp(20px, calc(10.434px + 2.551vw), 30px) clamp(20px, calc(10.434px + 2.551vw), 30px) clamp(20px, calc(0.867px + 5.102vw), 40px);
  }

  .feature__panel-title {
    font-size: clamp(14px, calc(9.217px + 1.276vw), 19px);
  }

  .feature__panel--callout .feature__panel-title {
    font-size: clamp(16px, calc(10.260px + 1.531vw), 22px);
  }

  .feature__panel-title-lg,
  .feature__panel-title-accent {
    font-size: clamp(17px, calc(2.651px + 3.827vw), 32px);
  }

  .feature__steps {
    flex-wrap: wrap;
  }

  .feature__steps li {
    max-width: clamp(100px, calc(55.038px + 11.990vw), 147px);
  }

  .feature__steps img {
    width: 100%;
    max-width: clamp(90px, calc(35.472px + 14.541vw), 147px);
    height: 100%;
    max-height: clamp(90px, calc(35.472px + 14.541vw), 147px);
    margin: 0 auto 10px;
  }

  .feature__steps--4 {
    flex-wrap: wrap;
    row-gap: 16px;
  }

  .feature__steps--4 li {
    max-width: clamp(114px, calc(102.520px + 3.061vw), 126px);
    font-size: clamp(14px, calc(12.087px + 0.510vw), 16px);
  }

  .feature__flow {
    flex-direction: column;
    gap: 12px;
  }

  .feature__flow-arrow {
    transform: rotate(90deg);
  }

  .feature__flow-item {
    width: 100%;
    font-size: clamp(14px, calc(11.130px + 0.765vw), 17px);
  }

  .feature__flow-item img {
    max-width: clamp(90px, calc(61.301px + 7.653vw), 120px);
  }

  .feature__patent {
    padding: clamp(8px, calc(6.087px + 0.510vw), 10px) clamp(14px, calc(8.260px + 1.531vw), 20px);
    font-size: clamp(16px, calc(8.347px + 2.041vw), 24px);
  }

  .feature__tags span {
    padding: clamp(8px, calc(4.173px + 1.020vw), 12px) clamp(4px, calc(0.173px + 1.020vw), 8px);
    font-size: clamp(12px, calc(6.260px + 1.531vw), 18px);
  }

  .feature.feature--attraction02 {
    padding: clamp(20px, calc(0.867px + 5.102vw), 40px) 0 clamp(20px, calc(0.867px + 5.102vw), 40px);
  }

  .feature.feature--attraction02 .feature__media {
    order: 1;
    padding: clamp(20px, calc(16.173px + 1.020vw), 24px);
    order: 2;
  }

  .feature--attraction04 .feature__media {
    padding: clamp(30px, calc(1.301px + 7.653vw), 60px) 20px;
  }

  .feature.feature--attraction04 .feature__media {
    order: 2;
  }

  .feature.feature--attraction04 .feature__body {
    order: 1;
  }

  .cv__box {
    padding: clamp(40px, calc(30.434px + 2.551vw), 50px) clamp(20px, calc(10.434px + 2.551vw), 30px) clamp(30px, calc(20.434px + 2.551vw), 40px);
  }

  .cv__tag {
    padding: clamp(6px, calc(4.087px + 0.510vw), 8px) clamp(16px, calc(8.347px + 2.041vw), 24px);
    font-size: clamp(15px, calc(-1.263px + 4.337vw), 32px);
  }

  .cv__lead {
    font-size: clamp(17px, calc(-5.003px + 5.867vw), 40px);
  }

  .cv__title {
    font-size: clamp(25px, calc(-8.482px + 8.929vw), 60px);
  }

  .steps__list {
    grid-template-columns: 1fr;
  }

  .step-card--arrow::after {
    display: none;
  }

  .step-card__icon {
    width: clamp(120px, calc(81.735px + 10.204vw), 160px);
    height: clamp(120px, calc(81.735px + 10.204vw), 160px);
  }

  .step-card__title {
    font-size: clamp(19px, calc(14.217px + 1.276vw), 24px);
  }

  .step-card__desc {
    font-size: clamp(14px, calc(12.087px + 0.510vw), 16px);
  }

  .step-card__foot {
    padding: clamp(20px, calc(12.347px + 2.041vw), 28px) clamp(20px, calc(10.434px + 2.551vw), 30px);
    font-size: clamp(15px, calc(12.130px + 0.765vw), 18px);
  }

  .step-card--tall {
    padding-bottom: clamp(150px, calc(130.867px + 5.102vw), 170px);
  }

  .faq-item__q {
    padding: clamp(14px, calc(12.087px + 0.510vw), 16px) clamp(16px, calc(12.173px + 1.020vw), 20px);
    gap: 10px;
    font-size: clamp(14px, calc(10.173px + 1.020vw), 18px);
  }

  .faq-item__q-mark,
  .faq-item__a-mark {
    width: clamp(30px, calc(20.434px + 2.551vw), 40px);
    height: clamp(30px, calc(20.434px + 2.551vw), 40px);
    font-size: clamp(13px, calc(10.130px + 0.765vw), 16px);
  }

  .faq-item__toggle {
    width: clamp(13px, calc(9.043px + 1.020vw), 16px);
    height: clamp(13px, calc(9.043px + 1.020vw), 16px);
  }

  .faq-item__a {
    font-size: clamp(13px, calc(10.130px + 0.765vw), 16px);
  }

  .faq-item__a-inner {
    padding: 0 clamp(16px, calc(12.173px + 1.020vw), 20px);
    gap: 10px;
  }

  .is-open .faq-item__a-inner {
    padding: clamp(14px, calc(12.087px + 0.510vw), 16px) clamp(16px, calc(12.173px + 1.020vw), 20px);
  }

  .footer {
    padding: clamp(40px, calc(30.434px + 2.551vw), 50px) 0 clamp(30px, calc(20.434px + 2.551vw), 40px);
  }

  .footer__top {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .footer__nav {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }

  .footer__logo {
    width: clamp(100px, calc(62.691px + 9.949vw), 139px);
  }

  .footer__copy {
    font-size: clamp(11px, calc(9.087px + 0.510vw), 13px);
  }
}
