/* generated by ~/.codex/tools/build-page.mjs. Do not edit directly. */

/* source:start assets/css/base.css */
@import url("https://fonts.googleapis.com/css2?family=Gidole&family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@500&display=swap");

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

@media (width < 768px) {
  html {
    font-size: 3.8647342995vw;
  }
}

@media (width >= 768px) and (width <= 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

@media (width > 1680px) {
  html {
    font-size: 0.9523809524vw;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-width: 0;
}

body {
  color: #082b63;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

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

img {
  height: auto;
}

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

button {
  color: inherit;
  font: inherit;
}

.to {
  min-width: 0;
  overflow-x: clip;
}

.to-main {
  min-width: 0;
}

.sp {
  display: none !important;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .pc {
    display: none !important;
    pointer-events: none;
  }

  .sp {
    display: revert !important;
    pointer-events: auto;
  }
}
/* source:end assets/css/base.css */

/* source:start assets/css/common.css */
.to-section-heading {
  position: relative;
}

.to-section-heading__label {
  margin: 0 0 0.75rem;
  font-family: "Gidole", sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.to-section-heading__title {
  margin: 0;
}

/*
  Gidole は単一ウェイト。Figma の DIN Demi / Extra Bold 相当の
  本文・数値・ラベルだけ、不透明 currentColor の stroke で太さを補う。
  （装飾英字・透過テキストは各セクション側で個別対応）
*/
.to-plan-comparison__offer-number,
.to-plan-comparison__trial-price strong,
.to-plan-comparison-step__price strong,
.to-final-cta__price-number,
.to-service-concept-supervisor__subscribers strong,
.to-customize-case__number,
.to-solution-support__number,
.to-data-visibility-point__number,
.to-case-study__side-label {
  font-weight: 700;
  font-synthesis-weight: auto;
  -webkit-text-stroke: 0.04em currentColor;
  paint-order: stroke fill;
}

.to-plan-comparison__offer-number,
.to-final-cta__price-number {
  -webkit-text-stroke-width: 0.035em;
}

.to-data-visibility-point__number,
.to-case-study__side-label,
.to-customize-case__number {
  -webkit-text-stroke-width: 0.055em;
}

.to-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.to-cta-actions--header {
  gap: 0.3354rem;
}

.to-cta-actions--hero {
  gap: 0.5087vw;
}

.to-cta-action {
  display: block;
  flex: 0 1 auto;
  border-radius: 999rem;
}

.to-cta-action__img {
  display: block;
  width: 100%;
  height: auto;
}

.to-conversion-card {
  position: relative;
  border-radius: 1.25rem;
  background: #ffffff;
}

.to-conversion-card__header {
  margin-bottom: 0.75rem;
}

.to-conversion-card__header--final {
  margin-bottom: 0.875rem;
}

.to-conversion-card__title {
  width: 14.625rem;
  padding-bottom: 0.375rem;
  margin: 0;
  border-bottom: 0.125rem solid #ff7300;
  color: #ff7300;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.1rem;
}

.to-conversion-card__title--final {
  width: 14.5rem;
  padding-bottom: 0.25rem;
}

.to-conversion-card__nowrap {
  white-space: nowrap;
}

.to-conversion-card__description {
  margin: 0 0 0.3125rem;
  color: #1a2f5a;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.0563rem;
}

.to-conversion-card__note {
  margin: 0;
  color: #1a2f5a;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0375rem;
}

.to-conversion-card__note--final-primary {
  margin-bottom: 0;
}

.to-conversion-offer {
  display: flex;
  align-items: flex-start;
}

.to-conversion-media {
  position: relative;
  width: 15.6875rem;
}

.to-conversion-report {
  width: 100%;
  height: auto;
}

.to-conversion-glow {
  position: absolute;
  top: -0.75rem;
  left: 8.4648rem;
  width: 4.6286rem;
  height: auto;
  mix-blend-mode: screen;
}

.to-conversion-glow--final {
  top: -0.6563rem;
  left: 8.4649rem;
}

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

@media (width < 768px) {
  .to-cta-actions:not(.to-cta-actions--header):not(.to-cta-actions--hero) {
    flex-direction: column;
    gap: 0.6188rem;
  }

  .to-cta-actions:not(.to-cta-actions--header):not(.to-cta-actions--hero) .to-cta-action__img {
    height: 100%;
    object-fit: fill;
  }

  .to-conversion-card {
    text-align: center;
  }

  .to-conversion-card__header {
    margin-bottom: 0.7919rem;
  }

  .to-conversion-card__title {
    width: 11.6rem;
    padding-bottom: 0.3rem;
    margin-inline: auto;
    border-bottom-width: 0.1rem;
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: 0.08rem;
  }

  .to-conversion-card__description {
    position: relative;
    z-index: 1;
    max-width: 17.625rem;
    margin: 0 auto 10.5938rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: 0.0469rem;
    transform: translateX(0.3125rem);
  }

  .to-conversion-card__note {
    max-width: 15.625rem;
    margin-inline: auto;
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.0375rem;
  }

  .to-conversion-offer {
    flex-direction: column;
    align-items: center;
  }

  .to-conversion-media {
    width: 17.375rem;
  }

  .to-conversion-card__description .to-conversion-card__nowrap {
    white-space: normal;
  }
}
/* source:end assets/css/common.css */

/* source:start assets/css/sections/00-header.css */
/* figma-css:start nodeId=622-2189 */
/* generated-from: Figma metadata/design_context for 622:2189 */
.to-header {
  position: relative;
  z-index: 10;
  padding-top: 0.8125rem;
  padding-bottom: 0.2976rem;
  background-color: #fff;
  box-shadow: 0 0 0.875rem 0 rgb(0 0 0 / 12%);
}

.to-header__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  max-width: none;
  padding-right: 1.5625rem;
  padding-left: 4.1563rem;
  margin-inline: auto;
  gap: 1rem;
}

.to-header__title {
  display: flex;
  align-items: center;
  gap: 1.4697rem;
  min-width: 0;
  margin: 0;
  flex: 1;
  min-width: 0;
}

.to-header__logo-img {
  flex: 0 0 auto;
  width: 10.6875rem;
  height: 3.6399rem;
}

.to-header__tagline {
  /* flex: 0 0 auto; */
  /* padding-top: 1.125rem; */
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.0438rem;
  /* max-width: 29vw; */
  margin-top: -0.3rem;
}

.to-header__actions {
  /* flex: 0 1 auto; */
  width: 25.4999rem;
  min-width: 0;
}

.to-header__visit-btn {
  width: 13.125rem;
}

.to-header__request-btn {
  width: 12.0395rem;
}

.to-header__visit-img {
  width: 13.125rem;
  height: 3.0625rem;
}

.to-header__request-img {
  width: 12.0395rem;
  height: 3.0739rem;
}

@media (width < 768px) {
  .to-header {
    padding-top: 0.4375rem;
    padding-bottom: 0.4375rem;
  }

  .to-header__inner {
    align-items: center;
    padding-right: 0.5625rem;
    padding-left: 0.6343rem;
  }

  .to-header__title {
    flex: 1 1 auto;
    align-self: flex-end;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.053rem;
  }

  .to-header__logo-img {
    width: 5.3125rem;
    height: 1.7523rem;
  }

  .to-header__tagline {
    display: none;
  }

  .to-header__actions {
    flex: 0 0 auto;
    width: 14.875rem;
    gap: 0.375rem;
  }

  .to-header__visit-btn,
  .to-header__visit-img {
    width: 7.75rem;
  }

  .to-header__request-btn,
  .to-header__request-img {
    width: 6.75rem;
  }

  .to-header__visit-img,
  .to-header__request-img {
    height: 2.125rem;
  }
}
/* figma-css:end nodeId=622-2189 */
/* source:end assets/css/sections/00-header.css */

/* source:start assets/css/sections/01-hero.css */
/* figma-css:start nodeId=622:2150 */
/* generated-from: Figma metadata/design_context */
.to-hero {
  position: relative;
  padding-block: 0;
}

.to-hero__artwork {
  width: 100vw;
  max-width: none;
}

.to-hero__inner {
  position: absolute;
  top: 0;
  left: 50%;
  width: 90vw;
  max-width: 74.0477vw;
  margin-inline: auto;
  transform: translateX(-50%);
}

.to-hero__actions {
  position: absolute;
  top: 27.4405vw;
  left: 0;
  width: 31.6667vw;
  justify-content: flex-start;
}

.to-hero__action--visit {
  width: 17.8572vw;
  transform: translateY(0.0595vw);
}

.to-hero__action--request {
  width: 13.3008vw;
}

/*
  PC〜タブレット: FVは最小1000px相当で描画し中央寄せ。
  800px幅では左右がクリップされ、中身が過度に縮小しない。
*/
@media (width >= 768px) {
  .to-hero {
    --to-hero-vw: max(100vw, 1000px);
  }

  .to-hero > picture {
    display: block;
    width: var(--to-hero-vw);
    max-width: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .to-hero__artwork {
    width: 100%;
    max-width: none;
  }

  .to-hero__inner {
    width: calc(var(--to-hero-vw) * 0.9);
    max-width: calc(var(--to-hero-vw) * 0.740477);
  }

  .to-hero__actions {
    top: calc(var(--to-hero-vw) * 0.274405);
    width: calc(var(--to-hero-vw) * 0.316667);
    gap: calc(var(--to-hero-vw) * 0.005087);
  }

  .to-hero__action--visit {
    width: calc(var(--to-hero-vw) * 0.178572);
    min-width: 178.572px;
    transform: translateY(calc(var(--to-hero-vw) * 0.000595));
  }

  .to-hero__action--request {
    width: calc(var(--to-hero-vw) * 0.133008);
    min-width: 133.008px;
  }

  .to-hero__action--visit .to-cta-action__img,
  .to-hero__action--request .to-cta-action__img {
    width: 100%;
    max-width: none;
  }
}

@media (width < 768px) {
  .to-hero__inner {
    max-width: 74.6377vw;
  }

  .to-hero__actions {
    top: 146.3768vw;
    left: 0.1208vw;
    width: 74.6377vw;
    flex-direction: column;
    gap: 2.4155vw;
  }

  .to-hero__action--visit {
    width: 74.6377vw;
    transform: none;
  }

  .to-hero__action--request {
    width: 74.6377vw;
  }
}
/* figma-css:end nodeId=622:2150 */
/* source:end assets/css/sections/01-hero.css */

/* source:start assets/css/sections/02-media-campaign.css */
:root {
  --to-media-campaign-font-ready: 1;
}

/* figma-css:start nodeId=622-2152 */
.to-media-campaign {
  padding-block: 0.1005rem 2.25rem;
  background: #01153f;
}

.to-media-campaign__inner {
  width: 90%;
  max-width: 66rem;
  margin-inline: auto;
}

.to-media-campaign__ranking {
  position: relative;
  width: 40rem;
  margin: 0 auto -0.3606rem;
}

.to-media-campaign__ranking-img {
  width: 100%;
  height: auto;
}

.to-media-campaign__ranking-note {
  position: absolute;
  top: 2.44rem;
  right: 2.35rem;
  color: #5e5e5e;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.to-media-campaign__videos {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.9375rem;
  padding: 0;
  margin: 0 auto 0.5625rem;
  list-style: none;
}

.to-media-campaign-video {
  flex: 0 0 auto;
}

.to-media-campaign-video--1 {
  width: 10rem;
}

.to-media-campaign-video--2 {
  width: 9.9375rem;
}

.to-media-campaign-video--3 {
  width: 9.875rem;
}

.to-media-campaign-video--4 {
  width: 9.625rem;
}

.to-media-campaign-video--5 {
  width: 9.8125rem;
}

.to-media-campaign-video__img {
  width: 100%;
  height: auto;
}

.to-media-campaign__disclaimer {
  margin: 0 0 0.8125rem;
  color: #fff;
  font-size: 0.6188rem;
  font-weight: 300;
  line-height: 2.15;
  letter-spacing: 0.0557rem;
  text-align: center;
}

.to-media-campaign-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  width: min(63rem, 100%);
  padding: 0.225rem;
  margin-inline: auto;
  overflow: hidden;
}

.to-media-campaign-card__person {
  grid-area: 1 / 1;
  justify-self: start;
  align-self: stretch;
  width: 33.8889%;
  max-width: 21.35rem;
}

.to-media-campaign-card__person picture {
  display: block;
  height: 100%;
}

.to-media-campaign-card__person-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.to-media-campaign-card__content {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
  justify-self: center;
  align-self: start;
  width: 45.2381%;
  max-width: 28.5rem;
  padding-block: 1.25rem;
  margin-left: 0;
}

.to-media-campaign-card__header {
  margin-bottom: 1rem;
  text-align: center;
}

.to-media-campaign-card__title {
  margin: 0 0 0.55rem;
  color: #1a2f5a;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.19rem;
}

.to-media-campaign-card__campaign-title {
  display: flex;
  justify-content: center;
  gap: 0.075rem;
  margin: 0 0 0.25rem;
  color: #ff7300;
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.21rem;
}

.to-media-campaign-card__campaign-part {
  white-space: nowrap;
}

.to-media-campaign-card__rule {
  display: block;
  width: 100%;
  height: 0.175rem;
  margin-inline: auto;
  background: #ff7300;
}

.to-media-campaign-card__description {
  margin: 0 0 1.15rem;
  color: #1a2f5a;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.105rem;
  text-align: center;
}

.to-media-campaign-card__actions {
  display: flex;
  justify-content: center;
  padding-right: 0;
}

.to-media-campaign-card__button {
  display: block;
  width: 81.4035%;
  max-width: 23.2rem;
}

.to-media-campaign-card__button-img {
  width: 100%;
  height: auto;
}

.to-media-campaign-card__report {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.to-media-campaign-card__report-img {
  position: absolute;
  top: -0.6001rem;
  right: 0.1669rem;
  width: 25.5611%;
  max-width: 16.1035rem;
  height: auto;
}

@media (width < 768px) {
  .to-media-campaign {
    padding-block: 1.6042rem 2.125rem;
  }

  .to-media-campaign__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 24.125rem;
  }

  .to-media-campaign__ranking {
    width: 23.5006rem;
    margin-inline: 0;
    margin-bottom: 0.5434rem;
    transform: translateX(-0.0625rem);
  }

  .to-media-campaign__videos {
    flex-wrap: wrap;
    justify-content: center;
    width: 20.7046rem;
    margin: 0 0 0.993rem;
    column-gap: 0.6125rem;
    row-gap: 0.5142rem;
  }

  .to-media-campaign-video--1 {
    width: 6.534rem;
  }

  .to-media-campaign-video--2 {
    width: 6.4932rem;
  }

  .to-media-campaign-video--3 {
    width: 6.4523rem;
  }

  .to-media-campaign-video--4 {
    width: 6.289rem;
  }

  .to-media-campaign-video--5 {
    width: 6.4115rem;
  }

  .to-media-campaign-video__img {
    border-radius: 0.2859rem;
  }

  .to-media-campaign__disclaimer {
    width: 100%;
    margin-bottom: 0.95rem;
    font-size: 0.475rem;
    line-height: 2.0667;
    letter-spacing: 0.0188rem;
  }

  .to-media-campaign-card {
    display: grid;
    align-items: start;
    width: 24.125rem;
    padding: 0.125rem;
    margin-inline: 0;
    overflow: visible;
  }

  .to-media-campaign-card__person {
    grid-row: 1;
    grid-column: 1;
    justify-self: start;
    align-self: start;
    width: 8.6875rem;
    max-width: none;
  }

  .to-media-campaign-card__person picture {
    height: auto;
  }

  .to-media-campaign-card__person-img {
    height: auto;
    object-fit: fill;
  }

  .to-media-campaign-card__content {
    grid-row: 1;
    grid-column: 1;
    justify-self: stretch;
    z-index: 1;
    width: auto;
    max-width: none;
    padding-top: 1.3125rem;
    margin-left: 0;
    padding-bottom: 0;
  }

  .to-media-campaign-card__header {
    margin-bottom: 1.6016rem;
  }

  .to-media-campaign-card__title {
    margin-bottom: 0.1469rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    letter-spacing: 0.0406rem;
  }

  .to-media-campaign-card__campaign-title {
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-bottom: 0;
    font-size: 1.625rem;
    line-height: 1.3;
    letter-spacing: 0.0325rem;
  }

  .to-media-campaign-card__campaign-part:first-child {
    width: 12.5125rem;
    border-bottom: 0.1375rem solid #ff7300;
  }

  .to-media-campaign-card__campaign-part:last-child {
    width: 9.4188rem;
  }

  .to-media-campaign-card__rule {
    width: 9.4188rem;
    height: 0.1375rem;
    margin-inline: auto;
  }

  .to-media-campaign-card__description {
    margin-bottom: 1.3438rem;
    font-size: 0.875rem;
    line-height: 1.7857;
    letter-spacing: 0.0313rem;
  }

  .to-media-campaign-card__actions {
    padding-right: 0;
    margin-bottom: 1.4172rem;
  }

  .to-media-campaign-card__button {
    width: 21.2438rem;
    max-width: none;
  }

  .to-media-campaign-card__report-img {
    top: -1.0933rem;
    right: 0.2213rem;
    width: 5.6927rem;
    max-width: none;
  }

  .to-media-campaign-card__glow {
    position: absolute;
    top: -1.9489rem;
    left: 18.5rem;
    width: 3.24rem;
    height: auto;
    mix-blend-mode: screen;
  }
}
/* figma-css:end nodeId=622-2152 */
/* source:end assets/css/sections/02-media-campaign.css */

/* source:start assets/css/sections/03-service-concept.css */
:root {
  --to-service-concept-font-ready: 1;
}

/* figma-css:start nodeId=622-2154 */
.to-service-concept {
  position: relative;
  padding-block: 9.3125rem 5.75rem;
  color: #1a2f5a;
  background: #fff;
}

.to-service-concept__background-label {
  position: absolute;
  top: -2.8125rem;
  left: 50%;
  margin: 0;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 11.5rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.92rem;
  white-space: nowrap;
  background: linear-gradient(90deg, #0080ff 0%, rgba(41, 96, 211, 0.8) 35.577%, rgba(0, 53, 161, 0.4) 100%);
  background-clip: text;
  -webkit-text-stroke: 0.03em #0080ff;
  paint-order: stroke fill;
  opacity: 0.06;
  transform: translateX(-50%);
}

.to-service-concept__inner {
  width: 90%;
  max-width: 61.75rem;
  margin-inline: auto;
}

.to-service-concept__overview {
  display: flex;
  align-items: flex-start;
  /* Figma 71.25rem, but shrink so the right edge never past the viewport */
  width: min(71.25rem, calc(50% + 50vw));
  gap: 4.0625rem;
  margin-bottom: 4.9375rem;
}

.to-service-concept__copy {
  flex: 0 1 31.8125rem;
  min-width: 0;
}

.to-service-concept__header {
  margin-bottom: 2.7601rem;
}

.to-service-concept__eyebrow {
  position: relative;
  width: 13.125rem;
  margin: 0 0 1.9558rem;
  color: #1a2f5a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.09rem;
  white-space: nowrap;
}

.to-service-concept__eyebrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: #1a2f5a;
}

.to-service-concept__title {
  width: 15.087rem;
}

.to-service-concept__logo-img {
  width: 100%;
  height: auto;
}

.to-service-concept__description {
  color: #1a2f5a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03rem;
}

.to-service-concept__paragraph {
  margin: 0;
}

.to-service-concept__paragraph--1 {
  margin-bottom: 1.25rem;
}

.to-service-concept__paragraph--2 {
  margin-bottom: 1.3125rem;
}

.to-service-concept__paragraph em {
  color: #2960d3;
  font-style: normal;
}

.to-service-concept__nowrap {
  white-space: nowrap;
}

.to-service-concept__product {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  max-width: 35.375rem;
  padding-top: 0.625rem;
  margin: 0;
}

.to-service-concept__product-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.to-service-concept-supervisor {
  position: relative;
  width: 61.375rem;
  max-width: 100%;
  margin-inline: 0.0625rem auto;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 0 1.875rem rgba(0, 0, 0, 0.1);
}

.to-service-concept-supervisor__badge {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 14.3125rem;
  height: 2.6875rem;
  padding-left: 2.4116rem;
  background: #344d7d;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}

.to-service-concept-supervisor__badge-img {
  display: block;
  width: 8.6509rem;
  height: auto;
}

.to-service-concept-supervisor__main {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.0625rem;
}

.to-service-concept-supervisor__portrait {
  flex: 0 0 12.934rem;
  width: 12.934rem;
  margin-block-start: -1.5625rem;
  margin-left: 12.441rem;
}

.to-service-concept-supervisor__portrait-img {
  width: 100%;
  height: auto;
}

.to-service-concept-supervisor__profile {
  position: relative;
  z-index: 1;
  flex: 0 0 27.9258rem;
  width: 27.9258rem;
  margin: 0 0 1.2216rem -1.3501rem;
}

.to-service-concept-supervisor__award-img {
  width: 100%;
  height: auto;
  margin-bottom: 0.6656rem;
}

.to-service-concept-supervisor__name-row {
  display: flex;
  align-items: flex-end;
  padding-left: 2.9126rem;
  margin-bottom: 0.5625rem;
}

.to-service-concept-supervisor__name {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.145rem;
}

.to-service-concept-supervisor__company {
  padding-bottom: 0.25rem;
  margin: 0 0 0 0.4375rem;
  color: #1a2f5a;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.0375rem;
}

.to-service-concept-supervisor__credentials {
  margin: 0 0 0 3.1626rem;
  color: #1a2f5a;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7;
}

.to-service-concept-supervisor__signature {
  position: absolute;
  z-index: 1;
  top: 6.5625rem;
  left: 7.5625rem;
  width: 6.9767rem;
  height: auto;
}

.to-service-concept-supervisor__background-label {
  position: absolute;
  right: -0.125rem;
  bottom: -0.1875rem;
  margin: 0;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.32rem;
  white-space: nowrap;
  background: linear-gradient(90deg, #0080ff 0%, rgba(41, 96, 211, 0.8) 35.577%, rgba(0, 53, 161, 0.4) 100%);
  background-clip: text;
  -webkit-text-stroke: 0.03em #0080ff;
  paint-order: stroke fill;
  opacity: 0.07;
}

.to-service-concept-supervisor__media {
  display: flex;
  align-items: flex-start;
  gap: 1.375rem;
  padding: 1.2813rem 6.75rem 1.3769rem 8.1875rem;
  border-radius: 0 0 1.25rem 1.25rem;
  background: #edf6ff;
}

.to-service-concept-supervisor__channel {
  flex: 0 0 14.9375rem;
  width: 14.9375rem;
}

.to-service-concept-supervisor__channel-logo {
  width: 13.5459rem;
  height: auto;
  margin: 0 0 0.0938rem 0.5508rem;
}

.to-service-concept-supervisor__channel-meta {
  display: flex;
  align-items: flex-start;
}

.to-service-concept-supervisor__subscribers {
  display: flex;
  align-items: baseline;
  margin: 0;
  color: #1a2f5a;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0438rem;
  white-space: nowrap;
}

.to-service-concept-supervisor__subscribers strong {
  margin-inline: 0.045rem 0.125rem;
  font-family: "Gidole", sans-serif;
  font-size: 1.2375rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.to-service-concept-supervisor__ranking {
  padding-top: 0.3125rem;
  margin: 0 0 0 0.5752rem;
  color: #1a2f5a;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.0375rem;
  white-space: nowrap;
}

.to-service-concept-supervisor__videos {
  display: flex;
  align-items: flex-start;
  gap: 0.5469rem;
  width: 30.1128rem;
  padding: 0.0986rem 0 0;
  margin: 0;
  list-style: none;
}

.to-service-concept-video {
  flex: 0 0 auto;
}

.to-service-concept-video--1 {
  width: 5.6686rem;
}

.to-service-concept-video--2 {
  width: 5.6323rem;
}

.to-service-concept-video--3 {
  width: 5.5959rem;
}

.to-service-concept-video--4 {
  width: 5.4688rem;
}

.to-service-concept-video--5 {
  width: 5.5596rem;
}

.to-service-concept-video__img {
  width: 100%;
  height: 3.125rem;
}

@media (width < 768px) {
  .to-service-concept {
    padding-block: 3.375rem 3.0625rem;
  }

  .to-service-concept__background-label {
    top: -0.375rem;
    font-size: 2.875rem;
    letter-spacing: 0.23rem;
  }

  .to-service-concept__inner {
    max-width: 23.125rem;
  }

  .to-service-concept__overview {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
    margin-bottom: 3.434rem;
  }

  .to-service-concept__copy {
    flex: none;
    margin-bottom: -5.0285rem;
  }

  .to-service-concept__header {
    margin-bottom: 1.9012rem;
  }

  .to-service-concept__eyebrow {
    width: 10.3125rem;
    margin: 0 auto 0.754rem;
    font-size: 0.875rem;
    line-height: 1.5714;
    letter-spacing: 0.07rem;
  }

  .to-service-concept__title {
    width: 10.5609rem;
    margin-inline: auto;
  }

  .to-service-concept__logo-img {
    height: 1.7823rem;
  }

  .to-service-concept__description {
    font-size: 0.875rem;
    line-height: 1.9286;
    letter-spacing: 0.0263rem;
  }

  .to-service-concept__paragraph--1 {
    margin-bottom: 0.9375rem;
  }

  .to-service-concept__paragraph--2 {
    margin-bottom: 0.875rem;
  }

  .to-service-concept__nowrap {
    white-space: normal;
  }

  .to-service-concept__product {
    flex: none;
    align-self: center;
    width: 24.9724rem;
    padding: 4.7712rem 0 0 4.3162rem;
    margin: 0;
    aspect-ratio: 399.5585 / 338.5117;
    translate: -1.575rem 0;
  }

  .to-service-concept__product-img {
    width: 21.3851rem;
    max-width: none;
    margin-bottom: -0.0867rem;
  }

  .to-service-concept-supervisor {
    width: 23.125rem;
    margin-inline: auto;
  }

  .to-service-concept-supervisor__badge {
    width: 10.5188rem;
    height: 2.1938rem;
    padding-left: 1.7679rem;
  }

  .to-service-concept-supervisor__badge-img {
    width: 6.6134rem;
  }

  .to-service-concept-supervisor__main {
    display: grid;
    grid-template-columns: 0.9219rem 10.3472rem 1fr;
    align-items: stretch;
    padding-bottom: 0;
  }

  .to-service-concept-supervisor__portrait {
    grid-area: 1 / 2;
    width: 100%;
    padding-top: 7.7375rem;
    margin-block-start: 0;
    margin-bottom: -0.325rem;
    margin-left: 0;
  }

  .to-service-concept-supervisor__profile {
    grid-area: 1 / 1 / 2 / -1;
    width: 100%;
    padding-top: 2.7871rem;
    margin: 0;
  }

  .to-service-concept-supervisor__award-img {
    width: 21.3767rem;
    margin: 0 auto 0.8589rem;
  }

  .to-service-concept-supervisor__name-row {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 10.5625rem;
    margin-bottom: 0.8125rem;
  }

  .to-service-concept-supervisor__name {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.1rem;
  }

  .to-service-concept-supervisor__company {
    width: 9.4375rem;
    padding-bottom: 0;
    margin: 0 0 0 0.1875rem;
    font-size: 0.75rem;
    line-height: 1.4167;
  }

  .to-service-concept-supervisor__credentials {
    width: 11.0625rem;
    margin: 0 0 0 10.8125rem;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.0313rem;
  }

  .to-service-concept-supervisor__signature {
    top: 14.7374rem;
    left: 0.7021rem;
    width: 5.5932rem;
  }

  .to-service-concept-supervisor__media {
    position: relative;
    z-index: 2;
    flex-direction: column;
    align-items: center;
    gap: 0.6125rem;
    padding: 1.25rem 1rem 1.4063rem;
  }

  .to-service-concept-supervisor__channel {
    flex: none;
    width: 14.9375rem;
  }

  .to-service-concept-supervisor__channel-logo {
    width: 13.5459rem;
    margin: 0 0 0.0938rem 0.5508rem;
  }

  .to-service-concept-supervisor__channel-meta {
    align-items: flex-start;
  }

  .to-service-concept-supervisor__subscribers {
    font-size: 0.875rem;
  }

  .to-service-concept-supervisor__ranking {
    padding-top: 0.3125rem;
    margin-left: 0.5752rem;
  }

  .to-service-concept-supervisor__videos {
    gap: 0.3828rem;
    width: 21.0787rem;
    padding: 0;
  }

  .to-service-concept-video--1 {
    width: 3.968rem;
  }

  .to-service-concept-video--2 {
    width: 3.9426rem;
  }

  .to-service-concept-video--3 {
    width: 3.9172rem;
  }

  .to-service-concept-video--4 {
    width: 3.8281rem;
  }

  .to-service-concept-video--5 {
    width: 3.8917rem;
  }

  .to-service-concept-video__img {
    height: 2.1875rem;
  }
}
/* figma-css:end nodeId=622-2154 */
/* source:end assets/css/sections/03-service-concept.css */

/* source:start assets/css/sections/04-problems.css */
/* figma-css:start nodeId=622-2156 */
.to-problems {
  position: relative;
  padding-block: 4.25rem 8.8125rem;
}

.to-problems::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 1.4375rem;
  left: 0;
  z-index: 0;
  background: url("../img/04-problems-bg.svg") center / 100% 100% no-repeat;
  pointer-events: none;
}

.to-problems__inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 69rem;
  margin-inline: auto;
}

.to-problems__header {
  margin-bottom: 1.9375rem;
}

.to-problems__heading-img {
  width: 37.7813rem;
  height: auto;
  margin-inline: auto;
  transform: translateX(-0.6406rem);
}

.to-problems__cards {
  display: flex;
  align-items: flex-start;
  gap: 1.875rem;
  padding: 0;
  margin: 0;
  margin-bottom: 4.125rem;
  list-style: none;
}

.to-problems-card {
  flex: 1 1 0;
  min-width: 0;
}

.to-problems-card__voice-img {
  position: relative;
  z-index: 2;
  height: auto;
  margin-inline: auto;
}

.to-problems-card--1 .to-problems-card__voice-img {
  width: 19.4375rem;
  margin-bottom: -3.2813rem;
}

.to-problems-card--2 .to-problems-card__voice-img {
  width: 19.5938rem;
  margin-bottom: -3.8125rem;
}

.to-problems-card--3 .to-problems-card__voice-img {
  width: 19.4375rem;
  margin-bottom: -3.4375rem;
}

.to-problems-card__panel {
  position: relative;
  z-index: 1;
  padding-block: 4rem 1.8125rem;
  border-radius: 0.9375rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.1);
}

.to-problems-card__illustration {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: 10.875rem;
  margin-bottom: 1.25rem;
}

.to-problems-card--1 .to-problems-card__illustration {
  padding-top: 0.1344rem;
}

.to-problems-card--2 .to-problems-card__illustration {
  padding-top: 0.508rem;
}

.to-problems-card--3 .to-problems-card__illustration {
  padding-top: 0.0387rem;
}

.to-problems-card--1 .to-problems-card__illustration-img {
  width: 11.9483rem;
}

.to-problems-card--2 .to-problems-card__illustration-img {
  width: 12.3875rem;
}

.to-problems-card--3 .to-problems-card__illustration-img {
  width: 12.1978rem;
  transform: translateX(0.2766rem);
}

.to-problems-card__caption {
  position: relative;
  text-align: center;
}

.to-problems-card__caption-deco {
  position: absolute;
  top: -0.9375rem;
  left: 50%;
  width: 15.4375rem;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
}

.to-problems-card__caption-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0563rem;
  text-align: center;
}

.to-problems-card__caption-text strong {
  color: #2960d3;
  font-weight: 700;
}

.to-problems__closing {
  text-align: center;
}

.to-problems__closing-lead {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: 0.1rem;
}

.to-problems__closing-lead {
  margin-bottom: 0.625rem;
  color: #1a2f5a;
  font-weight: 500;
}

.to-problems__closing-emphasis {
  margin: 0;
  color: #2960d3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1rem;
}

.to-problems__arrow {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 2;
  width: 9.6rem;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
}

@media (width < 768px) {
  .to-problems {
    padding-block: 2.75rem 5.0375rem;
  }

  .to-problems::before {
    bottom: 0;
    background-image: url("../img/04-problems-bg-sp.svg");
  }

  .to-problems__inner {
    max-width: 21.75rem;
  }

  .to-problems__header {
    margin-bottom: 1.5412rem;
  }

  .to-problems__heading-img {
    position: relative;
    left: 50%;
    width: 24.3524rem;
    max-width: none;
    transform: translateX(-50%);
  }

  .to-problems__cards {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-bottom: 2.1875rem;
  }

  .to-problems-card {
    flex: none;
    width: 100%;
  }

  .to-problems-card--1 {
    margin-bottom: 1.1781rem;
  }

  .to-problems-card--2 {
    margin-bottom: 1.75rem;
  }

  .to-problems-card--1 .to-problems-card__voice-img {
    margin-bottom: -3.7719rem;
  }

  .to-problems-card--3 .to-problems-card__voice-img {
    margin-bottom: -3.8125rem;
  }

  .to-problems__closing {
    position: relative;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
  }

  .to-problems__closing-lead,
  .to-problems__closing-emphasis {
    font-size: 1rem;
    letter-spacing: 0.08rem;
  }

  .to-problems__arrow {
    bottom: -0.775rem;
    width: 7.68rem;
  }
}
/* figma-css:end nodeId=622-2156 */
/* source:end assets/css/sections/04-problems.css */

/* source:start assets/css/sections/05-total-visibility.css */
/* figma-css:start nodeId=622-2158 */
.to-total-visibility {
  position: relative;
  padding-block: 8.5625rem 0.0938rem;
  background: #ffffff;
}

.to-total-visibility__backdrop {
  position: absolute;
  top: 0.8125rem;
  left: 50%;
  margin: 0;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 12.4375rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 0.9;
  letter-spacing: 0.6219rem;
  white-space: nowrap;
  background: linear-gradient(90deg, #0084ff 18.75%, #003ab4 74.038%);
  background-clip: text;
  -webkit-text-stroke: 0.03em #0084ff;
  paint-order: stroke fill;
  opacity: 0.04;
  transform: translateX(-50%) scaleX(1.0707);
  pointer-events: none;
}

.to-total-visibility__inner {
  position: relative;
  width: 90%;
  max-width: 84.125rem;
  margin-inline: auto;
}

.to-total-visibility__header {
  margin-bottom: 4.9375rem;
  text-align: center;
}

.to-total-visibility__logo {
  width: 10.3125rem;
  height: 1.9375rem;
  margin-inline: auto;
  margin-bottom: 1.1875rem;
}

.to-total-visibility__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9625rem;
  margin: 0 0 1.4625rem;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1344rem;
  text-align: center;
}

.to-total-visibility__title span {
  display: block;
}

.to-total-visibility__title > span:nth-child(2) {
  transform: scaleX(0.958);
}

.to-total-visibility__title strong {
  color: transparent;
  font-weight: 700;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
}

.to-total-visibility__lead {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  text-align: center;
}

.to-total-visibility__dashboard {
  margin: 0 0 4.21rem;
}

.to-total-visibility__dashboard-img {
  width: 100%;
  height: auto;
}

.to-total-visibility__benefits {
  display: flex;
  align-items: flex-start;
  gap: min(9.75rem, 9.2857vw);
  width: 100%;
  max-width: 69.5625rem;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  transform: translateX(0.4688rem);
}

.to-total-visibility-benefit {
  position: relative;
  flex: 0 1 auto;
  min-width: 0;
  text-align: center;
}

.to-total-visibility-benefit--1 {
  flex-basis: 15.6875rem;
}

.to-total-visibility-benefit--2 {
  flex-basis: 17.6875rem;
}

.to-total-visibility-benefit--3 {
  flex-basis: 16.6875rem;
}

.to-total-visibility-benefit__number {
  position: absolute;
  top: 9.1947rem;
  left: 50%;
  z-index: 0;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 13.8125rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 0.9;
  background: linear-gradient(90deg, #0084ff 18.75%, #003ab4 74.038%);
  background-clip: text;
  -webkit-text-stroke: 0.03em #0084ff;
  paint-order: stroke fill;
  opacity: 0.05;
  transform: translateX(-50%);
  pointer-events: none;
}

.to-total-visibility-benefit__media {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: 16.6947rem;
}

.to-total-visibility-benefit--1 .to-total-visibility-benefit__media {
  padding-top: 1.3259rem;
}

.to-total-visibility-benefit--2 .to-total-visibility-benefit__media {
  padding-top: 0.0853rem;
}

.to-total-visibility-benefit--1 .to-total-visibility-benefit__img {
  width: 11.1938rem;
  transform: translateX(0.0625rem);
}

.to-total-visibility-benefit--2 .to-total-visibility-benefit__img {
  width: 11.6438rem;
  transform: translateX(-0.3736rem);
}

.to-total-visibility-benefit--3 .to-total-visibility-benefit__img {
  width: 16.3923rem;
  transform: translateX(-0.2852rem);
}

.to-total-visibility-benefit__title {
  position: relative;
  z-index: 1;
  margin: 0 0 1.7431rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.93;
  letter-spacing: 0.0844rem;
  text-align: center;
}

.to-total-visibility-benefit__title::after {
  content: "";
  position: absolute;
  bottom: -0.6875rem;
  left: 50%;
  width: 3.3125rem;
  height: 0.125rem;
  background: #2960d3;
  transform: translateX(-50%);
}

.to-total-visibility-benefit__description {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.0469rem;
  text-align: center;
}

.to-total-visibility-benefit__description strong {
  color: #2960d3;
  font-weight: 500;
}

.to-total-visibility-benefit__nowrap {
  display: inline-block;
  white-space: nowrap;
}

.to-total-visibility-benefit__title .to-total-visibility-benefit__nowrap {
  color: transparent;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.to-total-visibility-benefit--3 .to-total-visibility-benefit__title .to-total-visibility-benefit__nowrap {
  transform: translateX(0.4063rem);
}

@media (width < 768px) {
  .to-total-visibility {
    padding-block: 4.4375rem 3.9273rem;
  }

  .to-total-visibility__backdrop {
    top: 1.0625rem;
    font-size: 3.1169rem;
    line-height: 0.9;
    letter-spacing: 0.1563rem;
  }

  .to-total-visibility__inner {
    width: 90%;
    max-width: 23.823rem;
  }

  .to-total-visibility__header {
    margin-bottom: 1.6875rem;
  }

  .to-total-visibility__logo {
    width: 7.9009rem;
    height: 1.5rem;
    margin-bottom: 1.1431rem;
  }

  .to-total-visibility__title {
    gap: 0.1069rem;
    margin-bottom: 0.8125rem;
    font-size: 1.575rem;
    line-height: 1.5476;
    letter-spacing: 0.0788rem;
  }

  .to-total-visibility__title > span:nth-child(2) {
    transform: none;
  }

  .to-total-visibility__title strong {
    display: block;
  }

  .to-total-visibility__lead {
    position: relative;
    left: 50%;
    width: 24.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.0438rem;
    transform: translateX(-50%);
  }

  .to-total-visibility__dashboard {
    position: relative;
    left: 50%;
    width: 23.8229rem;
    margin-bottom: 1.1238rem;
    transform: translateX(-50%);
  }

  .to-total-visibility__dashboard-img {
    height: auto;
  }

  .to-total-visibility__benefits {
    position: relative;
    left: 50%;
    flex-direction: column;
    gap: 0;
    width: 23.8125rem;
    max-width: none;
    transform: translateX(-50%);
  }

  .to-total-visibility-benefit {
    flex: none;
    width: 100%;
  }

  .to-total-visibility-benefit--1 {
    margin-bottom: 2.0638rem;
  }

  .to-total-visibility-benefit--2 {
    margin-bottom: 2.8714rem;
  }

  .to-total-visibility-benefit__number {
    top: 6rem;
    right: -0.0687rem;
    left: auto;
    font-size: 10.625rem;
    transform: none;
  }

  .to-total-visibility-benefit__media {
    height: 12.3743rem;
  }

  .to-total-visibility-benefit--1 .to-total-visibility-benefit__media,
  .to-total-visibility-benefit--2 .to-total-visibility-benefit__media {
    padding-top: 0;
  }

  .to-total-visibility-benefit--2 .to-total-visibility-benefit__media {
    height: 12.1917rem;
  }

  .to-total-visibility-benefit--3 .to-total-visibility-benefit__media {
    height: 12.4602rem;
  }

  .to-total-visibility-benefit--1 .to-total-visibility-benefit__img {
    width: 9.0669rem;
    transform: translateX(0.6541rem);
  }

  .to-total-visibility-benefit--2 .to-total-visibility-benefit__img {
    width: 9.4314rem;
    transform: translateX(0.122rem);
  }

  .to-total-visibility-benefit--3 .to-total-visibility-benefit__img {
    width: 13.2777rem;
    transform: translateX(-0.2244rem);
  }

  .to-total-visibility-benefit__title {
    margin-bottom: 1.3619rem;
    font-size: 1.3669rem;
    line-height: 1.93;
    letter-spacing: 0.0683rem;
  }

  .to-total-visibility-benefit__title::after {
    bottom: -0.6075rem;
    width: 2.6831rem;
    height: 0.1013rem;
  }

  .to-total-visibility-benefit__description {
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.0438rem;
  }

  .to-total-visibility-benefit--3 .to-total-visibility-benefit__description {
    left: 50%;
    width: 23.9375rem;
    transform: translateX(-50%);
  }

  .to-total-visibility-benefit--3 .to-total-visibility-benefit__title .to-total-visibility-benefit__nowrap {
    transform: none;
  }
}
/* figma-css:end nodeId=622-2158 */
/* source:end assets/css/sections/05-total-visibility.css */

/* source:start assets/css/sections/06-dashboard-slider.css */
/* figma-css:start nodeId=622-2160 */
/* generated-from: Figma MCP metadata/design_context */
.to-dashboard-slider {
  padding-block: 8rem 6rem;
  background-color: #fff;
  background-image: url("../img/06-dashboard-slider-background.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

.to-dashboard-slider__inner {
  width: 90%;
  max-width: 72rem;
  margin-inline: auto;
}

.to-dashboard-slider__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.5rem;
}

.to-dashboard-slider__media {
  width: 100%;
  max-width: 56rem;
}

.to-dashboard-slider__panel {
  padding: 1.6875rem;
  margin-bottom: 2rem;
  border-radius: 1.6875rem;
  background: #ffffff;
  box-shadow: 0 0.625rem 1.0625rem rgb(0 19 61 / 23%);
}

.to-dashboard-slider__slides {
  position: relative;
  aspect-ratio: 720.9 / 502.2;
}

.to-dashboard-slider__slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.9s ease-in-out;
}

.to-dashboard-slider__slide.is-active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}

.to-dashboard-slider__slide-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.to-dashboard-slider__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9375rem;
}

.to-dashboard-slider__dot {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #cccccc;
}

.to-dashboard-slider__dot.is-active {
  background: #2166d1;
}

.to-dashboard-slider__content {
  width: 100%;
  max-width: 56rem;
  padding-top: 0;
}

.to-dashboard-slider__header {
  margin-bottom: 2rem;
  text-align: center;
}

.to-dashboard-slider__eyebrow {
  display: table;
  margin: 0 auto 1.2625rem;
  padding-bottom: 0.125rem;
  border-bottom: 1px solid #1a2f5a;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}

.to-dashboard-slider__title {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1344rem;
}

.to-dashboard-slider__title-line {
  display: block;
}

.to-dashboard-slider__title-line:first-child {
  margin-bottom: 0.8125rem;
}

.to-dashboard-slider__nowrap {
  white-space: nowrap;
}

.to-dashboard-slider__title-line--accent {
  color: transparent;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  padding-right: 0.06em;
}

.to-dashboard-slider__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.to-dashboard-slider-card {
  position: relative;
  min-height: 8.75rem;
  padding: 1.25rem 0.75rem 1rem;
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgb(0 0 0 / 5%);
  text-align: center;
}

.to-dashboard-slider-card__icon {
  position: absolute;
  top: 0.7488rem;
  left: 0.7168rem;
  width: 1.2331rem;
  height: 0.99rem;
}

.to-dashboard-slider-card__title {
  margin: 0 0 0.875rem;
  color: #2960d3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0719rem;
}

.to-dashboard-slider-card__description {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0469rem;
}

@media (width < 1100px) {
  .to-dashboard-slider__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width < 768px) {
  .to-dashboard-slider {
    padding-block: 1.125rem 2.75rem;
    background-position: left 0.3496rem bottom;
    background-size: 26.5628rem 24.8249rem;
  }

  .to-dashboard-slider__inner {
    max-width: 22.75rem;
  }

  .to-dashboard-slider__body {
    gap: 1.5625rem;
  }

  .to-dashboard-slider__media {
    max-width: none;
  }

  .to-dashboard-slider__panel {
    padding: 0.7927rem;
    margin-bottom: 1.9208rem;
    border-radius: 0.8438rem;
    box-shadow: 0 0.3125rem 0.5313rem rgb(0 19 61 / 23%);
  }

  .to-dashboard-slider__content {
    max-width: none;
  }

  .to-dashboard-slider__header {
    margin-bottom: 1.3813rem;
  }

  .to-dashboard-slider__eyebrow {
    margin: 0 auto 0.7688rem;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0.08rem;
  }

  .to-dashboard-slider__title {
    font-size: 1.5rem;
    letter-spacing: 0.075rem;
  }

  .to-dashboard-slider__title-line:first-child {
    margin-bottom: 0.475rem;
  }

  .to-dashboard-slider__cards {
    gap: 0.75rem 0.75rem;
  }

  .to-dashboard-slider-card {
    min-height: 8.25rem;
    padding: 1.125rem 0.4375rem 0.4375rem;
    border-radius: 0.5rem;
    box-shadow: 0 0 0.75rem rgb(0 0 0 / 5%);
  }

  .to-dashboard-slider-card__icon {
    top: 0.599rem;
    left: 0.5732rem;
    width: 0.9865rem;
    height: 0.792rem;
  }

  .to-dashboard-slider-card__title {
    margin: 0 0 0.5rem;
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }

  .to-dashboard-slider-card__title::after {
    display: block;
    width: 1.05rem;
    height: 0.1rem;
    margin: 0.46rem auto 0;
    background: #2960d3;
    content: "";
  }

  .to-dashboard-slider-card__description {
    font-size: 0.875rem;
    letter-spacing: 0.0438rem;
  }
}
/* figma-css:end nodeId=622-2160 */
/* source:end assets/css/sections/06-dashboard-slider.css */

/* source:start assets/css/sections/07-trial-cta-01.css */
/* figma-css:start nodeId=622-2162 */
/* generated-from: Figma metadata/design_context */
.to-trial-cta {
  padding-block: 3.3125rem 3.9375rem;
  background: #01153f;
}

.to-trial-cta__inner {
  width: 90%;
  max-width: 51.25rem;
  margin-inline: auto;
}

.to-trial-cta__header {
  margin-bottom: 1.5625rem;
  text-align: center;
}

.to-trial-cta__title {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.125rem;
}

.to-trial-cta__actions {
  margin-bottom: 2.375rem;
  transform: translateX(-0.6421rem);
}

.to-trial-cta__action--visit {
  width: 20.75rem;
}

.to-trial-cta__action--request {
  width: 15.9658rem;
}

.to-trial-cta-card {
  width: 51.25rem;
  padding: 1.5rem 15.5625rem 1.525rem 2.75rem;
}

.to-trial-cta__media {
  margin: -1.9375rem 1.1563rem 0 -16.8438rem;
  left: 1rem;
}

@media (width < 768px) {
  .to-trial-cta {
    padding-block: 2.5rem 2.625rem;
  }

  .to-trial-cta__inner {
    width: 90%;
    max-width: 23.125rem;
    margin-inline: auto;
  }

  .to-trial-cta__header {
    margin-bottom: 1.1375rem;
  }

  .to-trial-cta__title {
    max-width: 18.5625rem;
    margin-inline: auto;
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 0.0875rem;
  }

  .to-trial-cta__actions {
    margin-bottom: 2.3188rem;
    transform: none;
  }

  .to-trial-cta__action--visit,
  .to-trial-cta__action--request {
    width: 21.2437rem;
    height: 4.8125rem;
  }

  .to-trial-cta-card {
    width: 100%;
    padding: 1.2875rem 0 0.8375rem;
  }

  .to-trial-cta__offer {
    min-height: 22.1875rem;
  }

  .to-trial-cta__media {
    margin: -14.5625rem auto 0 3.0625rem;
  }

  .to-trial-cta__glow {
    top: 0.1875rem;
    left: 9.5rem;
  }
}
/* figma-css:end nodeId=622-2162 */
/* source:end assets/css/sections/07-trial-cta-01.css */

/* source:start assets/css/sections/08-solution-support.css */
/* figma-css:start nodeId=622-2175 */
/* generated-from: Figma metadata/design_context */
.to-solution-support {
  position: relative;
  padding-block: 8rem 10.8408rem;
  overflow: hidden;
  background: #ffffff;
}

.to-solution-support__inner {
  position: relative;
  display: grid;
  grid-template-columns: 36.25rem 42.5rem;
  width: 90%;
  max-width: 78.75rem;
  margin-inline: auto;
  transform: translateX(0.25rem);
}

.to-solution-support__divider {
  position: absolute;
  top: -9rem;
  left: 36.25rem;
  z-index: 1;
  height: 43.5rem;
  border-left: 0.125rem solid #2960d3;
  pointer-events: none;
}

.to-solution-support__divider::after {
  position: absolute;
  top: 43.5rem;
  left: -0.125rem;
  width: 0.125rem;
  height: 7.625rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='122' viewBox='0 0 2 122' fill='none'%3E%3Cpath d='M1 1V121' stroke='%232960D3' stroke-width='2' stroke-linecap='round' stroke-dasharray='2 6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  content: "";
}

.to-solution-support__intro {
  position: relative;
  z-index: 2;
}

.to-solution-support__header {
  margin-bottom: 1.9629rem;
}

.to-solution-support__brand-image {
  width: 10.3125rem;
  padding-bottom: 0.4063rem;
}

.to-solution-support__title {
  display: flex;
  flex-direction: column;
  gap: 0.7129rem;
  color: #1a2f5a;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1344rem;
}

.to-solution-support__title span {
  white-space: nowrap;
}

.to-solution-support__title span:first-child {
  padding-left: 0.125rem;
}

.to-solution-support__title strong {
  display: inline-block;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
  padding-right: 0.06em;
}

.to-solution-support__title span:first-child strong {
  margin-right: 0.1875rem;
}

.to-solution-support__description {
  margin: 0 0 2.8rem;
  color: #1a2f5a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03rem;
  width: 90%;
}

.to-solution-support__artwork {
  width: 23.3125rem;
  margin-left: 7.5625rem;
}

.to-solution-support__process {
  position: relative;
  z-index: 2;
  padding-top: 4.0625rem;
}

.to-solution-support__process::before {
  position: absolute;
  top: -1rem;
  right: -5.0625rem;
  z-index: -1;
  width: 21.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(224.43deg, #b0d3fd 0%, rgb(176 211 253 / 0%) 100%);
  opacity: 0.5;
  content: "";
}

.to-solution-support__steps {
  width: 37.375rem;
  padding: 0;
  margin: 0 0 2.375rem auto;
  list-style: none;
}

.to-solution-support__step {
  position: relative;
}

.to-solution-support__step::before {
  position: absolute;
  top: 4.0313rem;
  left: -5.1338rem;
  width: 6.618rem;
  border-top: 0.125rem solid #2960d3;
  content: "";
}

.to-solution-support__step--1,
.to-solution-support__step--2 {
  margin-bottom: 2.5625rem;
}

.to-solution-support__step--2 {
  margin-bottom: 2.3125rem;
}

.to-solution-support__step--2 .to-solution-support__number {
  top: 2.4938rem;
}

.to-solution-support__step--2::before {
  top: 3.9563rem;
}

.to-solution-support__number {
  position: absolute;
  top: 2.6125rem;
  left: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.97rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #2960d3;
  color: #fff;
  font-family: "Gidole", sans-serif;
  font-size: 1.2938rem;
  font-weight: 700;
  line-height: 1.6;
}

.to-solution-support-card {
  position: relative;
  padding: 1.025rem 3.05rem 1.0581rem 9.7625rem;
  margin-left: 1.5rem;
  border: 0.0625rem solid #2960d3;
  border-radius: 1.125rem;
  background: #ffffff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}

.to-solution-support__step--2 .to-solution-support-card {
  padding-block: 0.9063rem 1.1769rem;
}

.to-solution-support__step--3 .to-solution-support-card {
  padding-block: 1.0375rem 1.0456rem;
}

.to-solution-support-card__header {
  position: relative;
  margin-bottom: 0.2613rem;
}

.to-solution-support-card__icon {
  position: absolute;
  top: 1.525rem;
  left: -5.8375rem;
  width: 3rem;
}

.to-solution-support-card__icon--organize {
  top: 1.2891rem;
  left: -5.6816rem;
  width: 3.5313rem;
}

.to-solution-support-card__icon--transform {
  top: 1.3438rem;
  width: 3.4375rem;
}

.to-solution-support-card__title {
  margin: 0;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  color: transparent;
  font-size: 1.3875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0694rem;
}

.to-solution-support-card__nowrap,
.to-solution-support__support-text {
  white-space: nowrap;
}

.to-solution-support-card__description {
  width: 22.95rem;
  margin: 0;
  color: #1a2f5a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.0438rem;
  text-align: justify;
}

.to-solution-support-card__script {
  position: absolute;
  right: -1.6101rem;
  bottom: 0.9211rem;
  max-width: none;
  width: auto;
  height: 2.3125rem;
}

.to-solution-support-card__script--organize {
  right: -2.7351rem;
  bottom: 0.2576rem;
  width: 6.1563rem;
  height: auto;
}

.to-solution-support-card__script--transform {
  right: -2.7976rem;
  bottom: 0.4266rem;
  width: 6.2188rem;
  height: auto;
}

.to-solution-support__support {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.8575rem;
  width: 26.3125rem;
  padding: 0.625rem 0 0.625rem 2.424rem;
  margin: 0 6.25rem 0 auto;
  border-radius: 1.25rem;
  background: #e7f2fe;
  color: #2960d3;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0625rem;
}

.to-solution-support__support-icon {
  width: 1.6563rem;
}

.to-solution-support__word {
  position: absolute;
  bottom: -1.25rem;
  left: -0.1875rem;
  background: linear-gradient(90deg, #0084ff 18.75%, #003ab4 74.038%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 11.8125rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 0.9;
  letter-spacing: 0.5906rem;
  -webkit-text-stroke: 0.03em #0084ff;
  paint-order: stroke fill;
  opacity: 0.04;
  transform: scaleX(1.0617);
  transform-origin: left center;
  white-space: nowrap;
  pointer-events: none;
}

/* タブレット幅: 2カラムがはみ出すため上下レイアウトへ */
@media (width >= 768px) and (width < 1200px) {
  .to-solution-support {
    padding-block: 5rem 6rem;
  }

  /* 「。」以外の強制改行は外し、文末改行のみ残す */
  .to-solution-support__br--wide {
    display: none;
  }

  .to-solution-support__inner {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    width: 90%;
    max-width: 42.5rem;
    margin-inline: auto;
    transform: none;
    gap: 3rem;
  }

  .to-solution-support__divider {
    display: none;
  }

  .to-solution-support__process {
    padding-top: 0;
  }

  .to-solution-support__process::before {
    content: none;
  }

  .to-solution-support__steps {
    width: 100%;
    margin-right: 0;
  }

  .to-solution-support__step::before {
    content: none;
  }

  .to-solution-support-card {
    margin-left: 0;
  }

  .to-solution-support__word {
    left: 50%;
    transform: translateX(-50%) scaleX(1.0617);
    transform-origin: center;
  }
}

@media (width < 768px) {
  .to-solution-support {
    padding-block: 3.8125rem 4rem;
  }

  .to-solution-support__inner {
    display: block;
    width: 90%;
    max-width: 23.125rem;
    margin-inline: auto;
    transform: none;
  }

  .to-solution-support__divider {
    border-left: 0;
  }

  .to-solution-support__divider::after,
  .to-solution-support__process::before {
    content: none;
  }

  .to-solution-support__intro {
    margin-bottom: 1.625rem;
  }

  .to-solution-support__header {
    margin-bottom: 1.5063rem;
    text-align: center;
  }

  .to-solution-support__brand-image {
    width: 7.9009rem;
    padding-bottom: 0;
    margin-inline: auto;
  }

  .to-solution-support__title {
    align-items: center;
    gap: 0.6375rem;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.075rem;
  }

  .to-solution-support__title span:first-child {
    padding-left: 0;
    transform: scaleX(0.9617);
    transform-origin: center;
  }

  .to-solution-support__title span:last-child {
    transform: scaleX(1.0118);
    transform-origin: center;
  }

  .to-solution-support__title span:first-child strong {
    margin-right: 0.1875rem;
  }

  .to-solution-support__description {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.93;
    letter-spacing: 0.0438rem;
  }

  .to-solution-support__description-primary,
  .to-solution-support__description-secondary,
  .to-solution-support__artwork-wrap {
    display: block;
  }

  .to-solution-support__description-primary {
    margin-bottom: 0.1825rem;
  }

  .to-solution-support__description-followup {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .to-solution-support__description-secondary {
    flex: 0 0 10.6875rem;
    min-width: 0;
  }

  .to-solution-support__artwork-wrap {
    flex: 0 0 auto;
    padding-top: 0.7654rem;
  }

  .to-solution-support__artwork--sp {
    width: 11.6563rem;
    margin-left: 0;
  }

  .to-solution-support__process {
    padding-top: 0;
  }

  .to-solution-support__steps {
    display: flex;
    flex-direction: column;
    gap: 1.625rem;
    width: 100%;
    padding: 0;
    margin: 0rem 0rem 1.6875rem;
  }

  .to-solution-support__step--1,
  .to-solution-support__step--2 {
    margin-bottom: 0;
  }

  .to-solution-support__step::before {
    content: none;
  }

  .to-solution-support__number,
  .to-solution-support__step--2 .to-solution-support__number {
    top: -0.5625rem;
    left: -0.5rem;
  }

  .to-solution-support-card {
    width: 100%;
    padding: 1.4875rem 1.9375rem 1.1063rem 2.0625rem;
    margin-left: 0;
    border-radius: 1.125rem;
  }

  .to-solution-support__step--2 .to-solution-support-card {
    padding-block: 1.375rem 1.1063rem;
  }

  .to-solution-support__step--3 .to-solution-support-card {
    padding-block: 1.4375rem 1.1063rem;
  }

  .to-solution-support-card__header {
    display: flex;
    align-items: center;
    gap: 1.7175rem;
    width: 9rem;
    margin: 0rem auto 0.7925rem;
    transform: translateX(0.1875rem);
  }

  .to-solution-support__step--2 .to-solution-support-card__header {
    gap: 1.3082rem;
    margin-bottom: 0.7388rem;
  }

  .to-solution-support__step--3 .to-solution-support-card__header {
    gap: 1.3991rem;
    margin-bottom: 0.77rem;
  }

  .to-solution-support-card__icon,
  .to-solution-support-card__icon--organize,
  .to-solution-support-card__icon--transform {
    position: static;
    top: auto;
    left: auto;
  }

  .to-solution-support-card__icon {
    width: 2.97rem;
  }

  .to-solution-support-card__icon--organize {
    width: 3.3793rem;
  }

  .to-solution-support-card__icon--transform {
    width: 3.2884rem;
    transform: translateX(0.0625rem);
  }

  .to-solution-support-card__title {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0.075rem;
    transform: scaleX(0.9126);
    transform-origin: left center;
  }

  .to-solution-support-card__description {
    width: auto;
    font-size: 0.875rem;
    line-height: 1.65;
    letter-spacing: 0.0438rem;
  }

  .to-solution-support-card__script {
    right: 1rem;
    bottom: -0.5rem;
    height: 2.3125rem;
  }

  .to-solution-support-card__script--organize {
    right: 0.3125rem;
    bottom: -1.3563rem;
    width: 6.1563rem;
    height: auto;
  }

  .to-solution-support-card__script--transform {
    right: 0.3125rem;
    bottom: -1.3188rem;
    width: 6.2188rem;
    height: auto;
  }

  .to-solution-support__support {
    position: relative;
    left: 50%;
    gap: 0.63rem;
    width: 24rem;
    padding: 1rem 1.9839rem;
    margin: 0;
    border-radius: 2rem;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 0.0563rem;
    transform: translateX(-49.7396%);
  }

  .to-solution-support__support-icon {
    width: 1.3352rem;
  }

  .to-solution-support__word {
    top: -0.4688rem;
    bottom: auto;
    left: -0.125rem;
    font-size: 5.3594rem;
    line-height: 0.9;
    letter-spacing: 0.268rem;
  }
}
/* figma-css:end nodeId=622-2175 */
/* source:end assets/css/sections/08-solution-support.css */

/* source:start assets/css/sections/09-customize.css */
/* figma-css:start nodeId=622-2176 */
.to-customize {
  position: relative;
  padding-block: 6.0714vw 9.7024vw;
  background-color: #ebf4ff;
  background-image: url(../img/09-customize-background.webp);
  background-position: center top;
  background-size: 100vw auto;
  background-repeat: no-repeat;
}

.to-customize__inner {
  width: 90%;
  max-width: 83.2143vw;
  margin-inline: auto;
}

.to-customize__header {
  margin-bottom: 2.3024vw;
  text-align: center;
}

.to-customize__title {
  margin: 0 0 0.8929vw;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5595vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1280vw;
}

.to-customize__title strong {
  color: transparent;
  font-weight: 700;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
}

.to-customize__lead {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9524vw;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.0286vw;
}

.to-customize__cases {
  display: flex;
  align-items: flex-start;
  gap: 1.5476vw;
}

.to-customize-case {
  flex: 0 0 auto;
  flex-basis: 19.6429vw;
  min-width: 0;
  filter: drop-shadow(0 0 0.8929vw rgba(0, 0, 0, 0.1));
}

.to-customize-case__header {
  position: relative;
  padding-block: 1.6071vw 1.6190vw;
  text-align: center;
}

.to-customize-case__header::before,
.to-customize-case__header::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: #457bec;
}

.to-customize-case__header::before {
  top: 0;
  left: 50%;
  width: 10.0827vw;
  height: 10.0827vw;
  border-radius: 50%;
  transform: translateX(-50%);
  clip-path: inset(0 0 calc(100% - 1.6071vw) 0);
}

.to-customize-case__header::after {
  top: 1.6071vw;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 1.0119vw 1.0119vw 0 0;
}

.to-customize-case__number {
  position: relative;
  z-index: 1;
  margin: 0 0 1.1905vw;
  color: #ffffff;
  font-family: "Gidole", sans-serif;
  font-size: 0.5952vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1190vw;
}

.to-customize-case__number::after {
  content: "";
  position: absolute;
  bottom: -0.4762vw;
  left: 50%;
  width: 1.4286vw;
  height: 1px;
  background: #ffffff;
  transform: translateX(-50%);
}

.to-customize-case__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6071vw;
  margin: 0;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1310vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.0565vw;
}

.to-customize-case__person {
  position: absolute;
  z-index: 2;
  top: 3.2202vw;
  right: 0.9583vw;
  width: 1.9524vw;
  max-width: none;
  pointer-events: none;
}

.to-customize-case--2 .to-customize-case__person {
  top: 3.1213vw;
  right: 0.9641vw;
  width: 2vw;
}

.to-customize-case--3 .to-customize-case__person {
  top: 3.2225vw;
  right: 0.9226vw;
  width: 2.1429vw;
}

.to-customize-case--4 .to-customize-case__person {
  top: 3.1810vw;
  right: 0.8692vw;
  width: 2.0952vw;
}

.to-customize-case__body {
  padding-block: 1.5476vw 2.0238vw;
  border-radius: 0 0 1.0119vw 1.0119vw;
  background: #ffffff;
  text-align: center;
}

.to-customize-case__detail--industry {
  margin-bottom: 1.2619vw;
}

.to-customize-case__detail--metrics {
  margin-bottom: 1.5vw;
}

.to-customize-case__detail--effect {
  margin-bottom: 1.3333vw;
}

.to-customize-case__detail-label {
  margin: 0 0 0.1786vw;
  color: #2960d3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.125vw;
}

.to-customize-case__detail--effect .to-customize-case__detail-label {
  margin-bottom: 0.2381vw;
}

.to-customize-case__detail-text {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.7738vw;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.0387vw;
}

.to-customize-case__scene {
  position: relative;
  right: 0.4762vw;
  width: 14.4048vw;
  max-width: none;
  margin-inline: auto;
}

.to-customize-case--2 .to-customize-case__scene {
  width: 14.5238vw;
}

.to-customize-case--4 .to-customize-case__scene {
  width: 14.3452vw;
}

/* 4列が細くなりすぎる前に 2×2 へ */
@media (width < 1200px) {
  .to-customize {
    padding-block: 4rem 5rem;
    background-size: cover;
  }

  .to-customize__inner {
    width: min(90%, 53rem);
    max-width: none;
  }

  .to-customize__header {
    margin-bottom: 1.75rem;
  }

  .to-customize__title {
    margin: 0 0 0.75rem;
    font-size: 1.75rem;
    letter-spacing: 0.0875rem;
  }

  .to-customize__lead {
    font-size: 0.875rem;
    letter-spacing: 0.0263rem;
  }

  .to-customize__cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
  }

  .to-customize-case {
    flex: none;
    flex-basis: auto;
    width: auto;
    filter: drop-shadow(0 0 0.75rem rgba(0, 0, 0, 0.1));
  }

  .to-customize-case__header {
    padding-block: 1.375rem 1.4rem;
  }

  .to-customize-case__header::before {
    width: 8.5rem;
    height: 8.5rem;
    clip-path: inset(0 0 calc(100% - 1.375rem) 0);
  }

  .to-customize-case__header::after {
    top: 1.375rem;
    border-radius: 0.875rem 0.875rem 0 0;
  }

  .to-customize-case__number {
    margin-bottom: 1rem;
    font-size: 0.5625rem;
    letter-spacing: 0.1125rem;
  }

  .to-customize-case__number::after {
    bottom: -0.4rem;
    width: 1.25rem;
  }

  .to-customize-case__title {
    gap: 0.4rem;
    font-size: 1rem;
    letter-spacing: 0.05rem;
  }

  .to-customize-case__person {
    top: 2.75rem;
    right: 0.75rem;
    width: 1.75rem;
  }

  .to-customize-case--2 .to-customize-case__person {
    top: 2.65rem;
    right: 0.75rem;
    width: 1.8rem;
  }

  .to-customize-case--3 .to-customize-case__person {
    top: 2.75rem;
    right: 0.7rem;
    width: 1.9rem;
  }

  .to-customize-case--4 .to-customize-case__person {
    top: 2.7rem;
    right: 0.65rem;
    width: 1.85rem;
  }

  .to-customize-case__body {
    padding-block: 1.25rem 1.5rem;
    border-radius: 0 0 0.875rem 0.875rem;
  }

  .to-customize-case__detail--industry {
    margin-bottom: 1rem;
  }

  .to-customize-case__detail--metrics {
    margin-bottom: 1.125rem;
  }

  .to-customize-case__detail--effect {
    margin-bottom: 1rem;
  }

  .to-customize-case__detail-label {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    letter-spacing: 0.1125rem;
  }

  .to-customize-case__detail--effect .to-customize-case__detail-label {
    margin-bottom: 0.3rem;
  }

  .to-customize-case__detail-text {
    font-size: 0.75rem;
    letter-spacing: 0.0375rem;
  }

  .to-customize-case__scene {
    right: 0.35rem;
    width: 85%;
  }

  .to-customize-case--2 .to-customize-case__scene,
  .to-customize-case--4 .to-customize-case__scene {
    width: 85%;
  }
}

@media (width < 768px) {
  .to-customize {
    padding-block: 3.9rem 2.353rem;
    background-image:
      radial-gradient(circle at 108% 8.5rem, rgba(69, 123, 236, 0.08) 0 7.25rem, transparent 7.3125rem),
      repeating-linear-gradient(135deg, transparent 0 14rem, rgba(69, 123, 236, 0.045) 14rem 18rem, transparent 18rem 30rem);
    background-position: center top;
    background-size: auto;
    background-repeat: no-repeat;
  }

  .to-customize::before {
    content: "CUSTOMIZE";
    position: absolute;
    top: -0.4375rem;
    left: 50%;
    color: rgba(69, 123, 236, 0.045);
    font-family: "Gidole", sans-serif;
    font-size: 4.125rem;
    font-weight: 700;
    font-synthesis-weight: auto;
    line-height: 1;
    letter-spacing: 0.0516rem;
    -webkit-text-stroke: 0.03em rgba(69, 123, 236, 0.045);
    paint-order: stroke fill;
    pointer-events: none;
    transform: translateX(-50%) scaleX(1.2967);
  }

  .to-customize__inner {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 23.5rem;
  }

  .to-customize__header {
    margin-bottom: 1.375rem;
  }

  .to-customize__title {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-bottom: 0.6625rem;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.075rem;
    transform: translateX(-50%);
  }

  .to-customize__lead {
    max-width: 18.8125rem;
    margin-inline: auto;
    font-size: 0.8125rem;
    line-height: 2.0769;
    letter-spacing: 0.0244rem;
  }

  .to-customize__cases {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-template-columns: none;
    gap: 1.1875rem;
  }

  .to-customize-case {
    flex: none;
    flex-basis: 20.625rem;
    width: 20.625rem;
    max-width: 100%;
    filter: drop-shadow(0 0 0.9375rem rgba(0, 0, 0, 0.1));
  }

  .to-customize-case__header {
    padding-block: 1.6875rem 1.7rem;
  }

  .to-customize-case__header::before {
    width: 10.5856rem;
    height: 10.5856rem;
    clip-path: inset(0 0 calc(100% - 1.6875rem) 0);
  }

  .to-customize-case__header::after {
    top: 1.6875rem;
    border-radius: 1.0625rem 1.0625rem 0 0;
  }

  .to-customize-case__number {
    margin-bottom: 1.25rem;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.125rem;
  }

  .to-customize-case__number::after {
    bottom: -0.5rem;
    width: 1.5rem;
  }

  .to-customize-case__title {
    gap: 0.6375rem;
    font-size: 1.1875rem;
    line-height: 1.2;
    letter-spacing: 0.0594rem;
  }

  .to-customize-case__person {
    top: 3.3813rem;
    right: 1.0063rem;
    width: 2.05rem;
  }

  .to-customize-case--2 .to-customize-case__person {
    top: 3.2774rem;
    right: 1.0123rem;
    width: 2.1rem;
  }

  .to-customize-case--3 .to-customize-case__person {
    top: 3.3836rem;
    right: 0.9688rem;
    width: 2.25rem;
  }

  .to-customize-case--4 .to-customize-case__person {
    top: 3.3399rem;
    right: 0.9126rem;
    width: 2.2rem;
  }

  .to-customize-case__body {
    padding-block: 1.625rem 2.125rem;
    border-radius: 0 0 1.0625rem 1.0625rem;
  }

  .to-customize-case__detail--industry {
    margin-bottom: 1.325rem;
  }

  .to-customize-case__detail--metrics {
    margin-bottom: 1.575rem;
  }

  .to-customize-case__detail--effect {
    margin-bottom: 1.4rem;
  }

  .to-customize-case__detail-label {
    margin-bottom: 0.1875rem;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.1313rem;
  }

  .to-customize-case__detail--effect .to-customize-case__detail-label {
    margin-bottom: 0.25rem;
  }

  .to-customize-case__detail-text {
    font-size: 0.8125rem;
    line-height: 1.6;
    letter-spacing: 0.0406rem;
  }

  .to-customize-case__scene {
    right: 0.5rem;
    width: 15.125rem;
  }

  .to-customize-case--2 .to-customize-case__scene {
    width: 15.25rem;
  }

  .to-customize-case--4 .to-customize-case__scene {
    width: 15.0625rem;
  }
}
/* figma-css:end nodeId=622-2176 */
/* source:end assets/css/sections/09-customize.css */

/* source:start assets/css/sections/10-data-visibility.css */
/* figma-css:start nodeId=622-2177 */
/* generated-from: Figma metadata/design_context */
.to-data-visibility {
  position: relative;
  padding: 8.5625rem 0 13.125rem;
  overflow: hidden;
  background: #ffffff;
}

.to-data-visibility__lower-panel {
  position: absolute;
  top: 30.75rem;
  left: 0;
  width: calc(50% + 1.0625rem);
  height: 25.5625rem;
  border-radius: 0 1.5rem 1.5rem 0;
  background: #e7f2fe;
  pointer-events: none;
}

.to-data-visibility__lower-circle {
  position: absolute;
  top: 31.75rem;
  right: 11.5625rem;
  width: 17.6875rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(224.43deg, #b0d3fd 0%, rgb(176 211 253 / 0%) 100%);
  opacity: 0.5;
  pointer-events: none;
}

.to-data-visibility__inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 84.25rem;
  margin: 0 auto;
}

.to-data-visibility__overview {
  display: flex;
  min-width: 0;
  margin-bottom: 7.625rem;
}

.to-data-visibility__header {
  flex: 0 0 26.5625rem;
  padding-left: 2.9375rem;
}

.to-data-visibility__idea-icon {
  position: absolute;
  top: -1.6896rem;
  left: 1.5rem;
  width: 1.9846rem;
  pointer-events: none;
}

.to-data-visibility__title {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-bottom: 1.0625rem;
  color: #1a2f5a;
  font-size: 2.6875rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.1344rem;
}

.to-data-visibility__title span {
  display: block;
}

.to-data-visibility__title strong {
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  color: transparent;
  font-weight: 800;
}

.to-data-visibility__lead {
  margin: 0;
  color: #1a2f5a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.93;
  letter-spacing: 0.03rem;
}

.to-data-visibility__points {
  display: flex;
  flex: 1;
  min-width: 0;
}

.to-data-visibility-point {
  position: relative;
  flex: 0 0 auto;
  min-width: 0;
  padding-bottom: 0.125rem;
}

.to-data-visibility-point::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 17.25rem;
  background: #2960d3;
  content: "";
  pointer-events: none;
}

.to-data-visibility-point--1 {
  width: 19.6875rem;
  padding-left: 1.3125rem;
}

.to-data-visibility-point--2 {
  width: 20.4375rem;
  padding-left: 1.375rem;
}

.to-data-visibility-point--3 {
  width: 17.5625rem;
  padding-left: 1.5625rem;
}

.to-data-visibility-point__number {
  position: absolute;
  top: 0;
  left: -1.25rem;
  margin: 0;
  color: #2960d3;
  font-family: "Gidole", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.125rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}

.to-data-visibility-point__icon {
  display: block;
  object-fit: contain;
  object-position: left top;
}

.to-data-visibility-point__icon--logistics {
  width: 4.9375rem;
  margin-bottom: 1.4075rem;
  transform: translate(0, 0.6875rem);
}

.to-data-visibility-point__icon--inventory {
  width: 3.625rem;
  margin-bottom: 1.0407rem;
  transform: translate(0.2642rem, 0.4463rem);
}

.to-data-visibility-point__icon--sales {
  width: 3.25rem;
  margin-bottom: 0.2323rem;
  transform: translate(-0.0312rem, -0.1461rem);
}

.to-data-visibility-point__title {
  margin: 0 0 1.625rem;
  color: #2960d3;
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1.7;
  letter-spacing: 0.0688rem;
}

.to-data-visibility-point__list {
  padding: 0;
  margin: 0;
  color: #1a2f5a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.0438rem;
  list-style: none;
}

.to-data-visibility-point__list span {
  color: #2960d3;
}

.to-data-visibility-point--1 .to-data-visibility-point__list {
  width: 15.5rem;
}

.to-data-visibility-point--2 .to-data-visibility-point__list {
  width: 17.5rem;
}

.to-data-visibility-point--3 .to-data-visibility-point__list {
  width: 17.4375rem;
}

.to-data-visibility__results {
  display: flex;
  justify-content: space-between;
  width: 90%;
  max-width: 70.125rem;
  margin: 0 auto;
}

.to-data-visibility-achievement {
  width: 30.25rem;
}

.to-data-visibility-achievement__title,
.to-data-visibility-model__title {
  margin: 0;
  color: #1a2f5a;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.0594rem;
  text-align: center;
}

.to-data-visibility-achievement__title {
  margin-bottom: 1.082rem;
}

.to-data-visibility-achievement__metrics {
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  padding: 0;
  margin: 0 0 0.3125rem;
  list-style: none;
}

.to-data-visibility-metric {
  display: flex;
  align-items: center;
  min-height: 5rem;
  padding: 0.875rem 3.375rem 0.875rem 3.0625rem;
  border: 1px solid #2960d3;
  border-radius: 0.625rem;
  background: #ffffff;
}

.to-data-visibility-metric__icon {
  flex: 0 0 auto;
  width: 2.7582rem;
  max-height: 2.5625rem;
  margin-right: 1.5rem;
  object-fit: contain;
}

.to-data-visibility-metric--2 .to-data-visibility-metric__icon {
  width: 2.7151rem;
}

.to-data-visibility-metric--3 .to-data-visibility-metric__icon {
  width: 3.0356rem;
  margin-right: 1.3125rem;
}

.to-data-visibility-metric__label {
  flex: 0 0 auto;
  color: #1a2f5a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05rem;
  white-space: nowrap;
}

.to-data-visibility-metric__leader {
  flex: 0 0 6.25rem;
  margin: 0 1.125rem 0 1.3125rem;
  border-top: 0.25rem dotted #1a2f5a;
}

.to-data-visibility-metric--2 .to-data-visibility-metric__leader {
  flex-basis: 4rem;
}

.to-data-visibility-metric--3 .to-data-visibility-metric__leader {
  flex-basis: 5.5rem;
  margin-left: 1rem;
}

.to-data-visibility-metric__value {
  flex: 0 0 auto;
  color: #2960d3;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.0719rem;
  white-space: nowrap;
}

.to-data-visibility-metric__value b {
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0;
  font-family: "Gidole", sans-serif;
  font-size: 2.125rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1;
  letter-spacing: 0.1063rem;
}

.to-data-visibility-achievement__note {
  margin: 0;
  color: #1a2f5a;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.0375rem;
}

.to-data-visibility-model {
  width: 30.25rem;
  padding-top: 0.4375rem;
  margin-right: 0.4375rem;
}

.to-data-visibility-model__header {
  position: relative;
  margin-bottom: 1.9016rem;
}

.to-data-visibility-model__title {
  margin-bottom: 0.0625rem;
}

.to-data-visibility-model__lead {
  margin: 0 0 1.6875rem;
  color: #1a2f5a;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1375rem;
  text-align: center;
}

.to-data-visibility-model__chevron {
  width: 1.472rem;
  margin: 0 auto;
}

.to-data-visibility-model__visual {
  position: relative;
  width: 100%;
}

.to-data-visibility-model__artwork {
  display: block;
  width: 23.9814rem;
  max-width: calc(100% - 3.0186rem);
  height: auto;
  margin-left: 3.0186rem;
}

.to-data-visibility-model__consultant {
  position: absolute;
  right: -2.6463rem;
  bottom: -1.2818rem;
  width: 4.5845rem;
  height: auto;
}

.to-data-visibility__word {
  position: absolute;
  bottom: -0.75rem;
  left: -0.8125rem;
  background: linear-gradient(90deg, #0084ff 18.75%, #003ab4 74.038%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 11.8125rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 0.9;
  letter-spacing: 0.5906rem;
  -webkit-text-stroke: 0.03em #0084ff;
  paint-order: stroke fill;
  opacity: 0.04;
  white-space: nowrap;
  pointer-events: none;
}

/* Tablet: heading on top (single line), 3 points in a row below */
@media (width < 1420px) {
  .to-data-visibility {
    padding-bottom: 6rem;
  }

  .to-data-visibility__lower-panel {
    top: 36.5rem;
    width: min(90%, 30.25rem);
    height: 28rem;
  }

  .to-data-visibility__lower-circle {
    top: 42rem;
    right: 5%;
    width: 14rem;
  }

  .to-data-visibility__overview {
    flex-direction: column;
    align-items: stretch;
    width: min(100%, 56rem);
    margin-inline: auto;
    margin-bottom: 4.5rem;
    gap: 2.5rem;
  }

  .to-data-visibility__header {
    position: relative;
    flex: none;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    padding-left: 2rem;
  }

  .to-data-visibility__idea-icon {
    left: 0.75rem;
  }

  /* 強制改行を外して1行（必要なら自然折り返し）にし、右の空きをなくす */
  .to-data-visibility__title {
    display: block;
    font-size: 2.125rem;
    line-height: 1.35;
    letter-spacing: 0.08rem;
  }

  .to-data-visibility__title span {
    display: inline;
  }

  .to-data-visibility__points {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    gap: 0.75rem;
  }

  .to-data-visibility-point,
  .to-data-visibility-point--1,
  .to-data-visibility-point--2,
  .to-data-visibility-point--3 {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
    padding-left: 1.125rem;
  }

  .to-data-visibility-point::before {
    height: 100%;
    min-height: 14rem;
  }

  .to-data-visibility-point__number {
    left: -1.05rem;
  }

  .to-data-visibility-point__title {
    margin-bottom: 1rem;
    font-size: 1.125rem;
    letter-spacing: 0.04rem;
  }

  .to-data-visibility-point__list {
    font-size: 0.75rem;
    line-height: 1.75;
    letter-spacing: 0.02rem;
  }

  .to-data-visibility-point--1 .to-data-visibility-point__list,
  .to-data-visibility-point--2 .to-data-visibility-point__list,
  .to-data-visibility-point--3 .to-data-visibility-point__list {
    width: auto;
    max-width: 100%;
  }

  .to-data-visibility-point__icon--logistics {
    width: 3.75rem;
  }

  .to-data-visibility-point__icon--inventory {
    width: 2.875rem;
  }

  .to-data-visibility-point__icon--sales {
    width: 2.625rem;
  }
}

/* Results (実績 / モデルケース): stack below 1240px */
@media (width < 1240px) {
  .to-data-visibility__results {
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    width: 100%;
    max-width: 30.25rem;
  }

  .to-data-visibility-achievement,
  .to-data-visibility-model {
    width: 100%;
    margin-right: 0;
  }

  .to-data-visibility-model {
    width: 100%;
    padding-top: 0;
    padding-right: 8%;
    box-sizing: border-box;
  }

  .to-data-visibility-model__visual {
    margin-inline: 0;
  }

  .to-data-visibility-model__artwork {
    width: 78.5%;
    max-width: 23.9814rem;
    margin-left: 10%;
  }

  .to-data-visibility-model__consultant {
    right: -8%;
    bottom: -10.6%;
    width: 15.15%;
    max-width: 4.5845rem;
  }
}

@media (width < 768px) {
  .to-data-visibility {
    padding: 3.625rem 0 3rem;
  }

  .to-data-visibility__lower-panel {
    top: 57.375rem;
    width: 90.3382%;
    height: 20.4375rem;
    border-radius: 0 1.5rem 1.5rem 0;
  }

  .to-data-visibility__lower-circle {
    top: 92.25rem;
    right: 1.1875rem;
    width: 8.75rem;
  }

  .to-data-visibility__inner {
    width: 90%;
    max-width: 23.3125rem;
  }

  .to-data-visibility__overview {
    display: block;
    margin-bottom: 5.0625rem;
  }

  .to-data-visibility__header {
    padding-left: 0;
    margin-bottom: 2.8375rem;
    text-align: center;
  }

  .to-data-visibility__idea-icon {
    top: -0.5839rem;
    left: 0.7656rem;
    width: 1.3892rem;
  }

  .to-data-visibility__title {
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.25rem;
    padding-left: 2.3313rem;
    margin-bottom: 1.0625rem;
    font-size: 1.4375rem;
    line-height: 1.2609;
    letter-spacing: 0.0406rem;
  }

  .to-data-visibility__title span {
    display: inline;
  }

  .to-data-visibility__title strong {
    margin-right: 0.1875rem;
    letter-spacing: 0.1094rem;
  }

  .to-data-visibility__lead {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.0263rem;
  }

  .to-data-visibility__points {
    flex-direction: column;
    width: 100%;
  }

  .to-data-visibility-point {
    display: grid;
    flex: none;
    width: calc(100% - 2.0813rem);
    padding: 0 0 0 1.5625rem;
    margin-left: 2.0813rem;
  }

  .to-data-visibility-point::before {
    height: 11.75rem;
  }

  .to-data-visibility-point--1 {
    grid-template-columns: 4.9375rem minmax(0, 1fr);
    column-gap: 1.2906rem;
    row-gap: 1.595rem;
    margin-bottom: 2.375rem;
  }

  .to-data-visibility-point--2 {
    grid-template-columns: 3.625rem minmax(0, 1fr);
    column-gap: 1.5816rem;
    row-gap: 1.1032rem;
    margin-bottom: 2.8125rem;
  }

  .to-data-visibility-point--3 {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    column-gap: 1.5709rem;
    row-gap: 0.6073rem;
  }

  .to-data-visibility-point__icon {
    margin-bottom: 0;
  }

  .to-data-visibility-point__icon--logistics {
    transform: translate(0.3125rem, 0.125rem);
  }

  .to-data-visibility-point__icon--inventory {
    transform: translate(0.125rem, 0.1875rem);
  }

  .to-data-visibility-point__icon--sales {
    transform: translate(0.0625rem, -0.25rem);
  }

  .to-data-visibility-point__title {
    align-self: start;
    margin: 0;
  }

  .to-data-visibility-point__list {
    grid-column: 1 / -1;
    font-size: 0.875rem;
    line-height: 1.7143;
  }

  .to-data-visibility-point--2 .to-data-visibility-point__list {
    width: 16.5625rem;
  }

  .to-data-visibility__results {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    max-width: 22.6875rem;
    overflow: visible;
  }

  .to-data-visibility-achievement {
    width: 100%;
    margin-bottom: 2.5625rem;
  }

  .to-data-visibility-achievement__title,
  .to-data-visibility-model__title {
    font-size: 0.9375rem;
    line-height: 1.7333;
    letter-spacing: 0.0469rem;
  }

  .to-data-visibility-achievement__title {
    margin-bottom: 0.8625rem;
  }

  .to-data-visibility-achievement__metrics {
    gap: 0.5625rem;
    margin-bottom: 0.5625rem;
  }

  .to-data-visibility-metric {
    min-height: 4rem;
    padding: 0.75rem 1.6875rem 0.75rem 1.6592rem;
    border-radius: 0.4375rem;
  }

  .to-data-visibility-metric__icon {
    width: 2.2062rem;
    max-height: 2.0482rem;
    margin-right: 1.1844rem;
  }

  .to-data-visibility-metric--2 {
    padding-left: 1.6548rem;
  }

  .to-data-visibility-metric--2 .to-data-visibility-metric__icon {
    width: 2.172rem;
    margin-right: 1.223rem;
  }

  .to-data-visibility-metric--3 {
    padding-left: 1.5347rem;
  }

  .to-data-visibility-metric--3 .to-data-visibility-metric__icon {
    width: 2.4288rem;
    margin-right: 1.0864rem;
  }

  .to-data-visibility-metric__label {
    font-size: 0.8125rem;
    letter-spacing: 0.0406rem;
  }

  .to-data-visibility-metric__leader {
    flex-basis: 5rem;
    height: 0.2rem;
    margin: 0 0.9rem 0 0.9906rem;
    border-top-width: 0;
    background: radial-gradient(circle at 0.1rem 50%, #1a2f5a 0 0.1rem, transparent 0.103rem) 0 0 / 0.6rem 0.2rem repeat-x;
  }

  .to-data-visibility-metric--2 .to-data-visibility-metric__leader {
    flex-basis: 3.2rem;
    margin-left: 1.0856rem;
  }

  .to-data-visibility-metric--3 .to-data-visibility-metric__leader {
    flex-basis: 4.4rem;
    margin-left: 0.7388rem;
  }

  .to-data-visibility-metric__value {
    font-size: 1.1875rem;
    letter-spacing: 0.0594rem;
  }

  .to-data-visibility-metric__value b {
    font-size: 1.4375rem;
    letter-spacing: 0.0719rem;
  }

  .to-data-visibility-metric--3 .to-data-visibility-metric__value {
    font-size: 1.4375rem;
    letter-spacing: 0.0719rem;
  }

  .to-data-visibility-achievement__note {
    margin-left: 2rem;
    font-size: 0.75rem;
    line-height: 1.8333;
    letter-spacing: 0.0375rem;
  }

  .to-data-visibility-model {
    width: 100%;
    padding-top: 0;
    margin-right: 0;
    overflow: visible;
  }

  .to-data-visibility-model__header {
    margin-bottom: 1.6516rem;
  }

  .to-data-visibility-model__title {
    margin-bottom: 0;
  }

  .to-data-visibility-model__lead {
    margin-bottom: 0.8951rem;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.1063rem;
  }

  .to-data-visibility-model__visual {
    overflow: visible;
  }

  .to-data-visibility-model__artwork {
    width: min(18.5rem, calc(100% - 3.75rem));
    max-width: none;
    margin-left: 1.125rem;
  }

  .to-data-visibility-model__consultant {
    right: -1.375rem;
    bottom: -0.575rem;
    width: 2.222rem;
  }

  .to-data-visibility__word {
    top: -0.3125rem;
    bottom: auto;
    left: 0.5625rem;
    font-size: 3.125rem;
    line-height: 0.9;
    letter-spacing: 0.1563rem;
  }
}
/* figma-css:end nodeId=622-2177 */
/* source:end assets/css/sections/10-data-visibility.css */

/* source:start assets/css/sections/12-case-study.css */
/* figma-css:start nodeId=622-2192 */
/* generated-from: Figma metadata/design_context */
.to-case-study {
  position: relative;
  padding-block: 5.125rem 4.3125rem;
  overflow: clip;
  background: #f7f7f7;
}

.to-case-study__word {
  position: absolute;
  top: -1.4375rem;
  left: 50%;
  background: linear-gradient(90deg, #0084ff 18.75%, #003ab4 74.038%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 14.9375rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 0.9;
  letter-spacing: 0.7469rem;
  white-space: nowrap;
  -webkit-text-stroke: 0.03em #0084ff;
  paint-order: stroke fill;
  opacity: 0.04;
  transform: translateX(-50%);
  pointer-events: none;
}

.to-case-study__inner {
  position: relative;
  width: 90%;
  max-width: 68rem;
  margin-inline: auto;
}

.to-case-study__header {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3.625rem;
  text-align: center;
}

.to-case-study__badge {
  width: 15.5625rem;
  margin-bottom: 0.9375rem;
  transform: translateX(-0.0938rem);
}

.to-case-study__title {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.6625rem;
  margin: 0;
  color: #1a2f5a;
  font-size: 2.3125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1156rem;
}

.to-case-study__title strong {
  display: block;
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  color: transparent;
  font-size: 3.4375rem;
  font-weight: 700;
  letter-spacing: 0.3438rem;
}

.to-case-study__story {
  display: flex;
  align-items: flex-start;
  gap: 1.75rem;
  margin-bottom: 2.3438rem;
}

.to-case-study__narrative {
  flex: 1;
  min-width: 0;
}

.to-case-study__company {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1.3447rem;
  padding-bottom: 1.375rem;
}

.to-case-study__company::after {
  position: absolute;
  right: 0.0156rem;
  bottom: 0.0498rem;
  left: 0.1875rem;
  height: 1px;
  background: #000000;
  content: "";
  pointer-events: none;
}

.to-case-study__company-logo {
  flex: 0 0 auto;
  width: 13.7178rem;
}

.to-case-study__company-meta {
  padding-top: 2.3524rem;
  color: #241a18;
  font-size: 0.9114rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.0456rem;
}

.to-case-study__company-meta p,
.to-case-study__story-copy p {
  margin: 0;
}

.to-case-study__company {
  margin-bottom: 1.6742rem;
}

.to-case-study__story-title {
  padding-left: 0.25rem;
  margin: 0 0 0.832rem;
  color: #1a2f5a;
  font-size: 1.8386rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1287rem;
}

.to-case-study__story-copy {
  padding: 0 0.7953rem 0 0.4746rem;
  color: #1a2f5a;
  font-size: 0.8976rem;
  font-weight: 400;
  line-height: 1.93;
  letter-spacing: 0.0269rem;
}

.to-case-study__media {
  flex: 0 0 47.1285%;
  min-width: 0;
  padding-top: 0.5rem;
  margin: 0;
}

.to-case-study__store-img {
  width: 100%;
  border-radius: 1.25rem;
}

.to-case-study__results {
  position: relative;
  width: 97.1507%;
  max-width: 66.0625rem;
  margin-right: -0.25rem;
  margin-left: auto;
}

.to-case-study__panel {
  position: relative;
  padding: 1.6875rem 3.5rem 3.1875rem;
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.03);
}

.to-case-study__comparison {
  position: relative;
  display: flex;
  gap: 4.25rem;
}

.to-case-study-list {
  flex: 1;
  min-width: 0;
}

.to-case-study-list__title {
  width: max-content;
  padding-bottom: 0.25rem;
  margin: 0 auto 0.8125rem;
  border-bottom: 1px solid currentColor;
  color: #1a2f5a;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.0563rem;
  transform: translateX(-0.4063rem);
}

.to-case-study-list__items {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  padding: 0 0 0 1.556rem;
  margin: 0;
  list-style: none;
}

.to-case-study-list__items li {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #1a2f5a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.0438rem;
}

.to-case-study-list__items img {
  flex: 0 0 auto;
}

.to-case-study-list--before .to-case-study-list__items li {
  gap: 0.8125rem;
}

.to-case-study-list--before .to-case-study-list__items img {
  width: 0.8806rem;
}

.to-case-study-list--after .to-case-study-list__title {
  color: #1e4cad;
  font-weight: 700;
}

.to-case-study-list--after .to-case-study-list__items {
  padding-left: 1.4063rem;
}

.to-case-study-list--after .to-case-study-list__items li {
  color: #1e4cad;
  font-weight: 700;
}

.to-case-study-list--after .to-case-study-list__items li {
  gap: 0.625rem;
}

.to-case-study-list--after .to-case-study-list__items img {
  width: 1.1875rem;
}

.to-case-study__arrow {
  position: absolute;
  top: 6.8125rem;
  left: 50%;
  width: 1.125rem;
  aspect-ratio: 1;
  border-right: 1px solid #1a2f5a;
  border-bottom: 1px solid #1a2f5a;
  transform: translate(-75%, -50%) rotate(-45deg);
  pointer-events: none;
}

.to-case-study__stars {
  position: absolute;
  z-index: 1;
  top: -0.625rem;
  left: 70.728%;
  width: 4.0715rem;
  pointer-events: none;
}

.to-case-study__change {
  position: absolute;
  z-index: 1;
  top: 11.3722rem;
  right: -3.4924rem;
  width: 10.2597rem;
  pointer-events: none;
}

.to-case-study__side-label {
  position: absolute;
  top: 0.1875rem;
  left: -1.75rem;
  color: #2960d3;
  font-family: "Gidole", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.125rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
  pointer-events: none;
}

.to-case-study__side-line {
  position: absolute;
  top: 5.4375rem;
  bottom: 0;
  left: -1.1875rem;
  width: 1px;
  background: #2960d3;
  pointer-events: none;
}

@media (width < 768px) {
  .to-case-study {
    padding-block: 3.75rem 3.625rem;
  }

  .to-case-study__word {
    top: -0.6875rem;
    font-size: 4.375rem;
    line-height: 0.9;
    letter-spacing: 0.4113rem;
  }

  .to-case-study__header {
    margin-bottom: 1.8875rem;
  }

  .to-case-study__badge {
    width: 10.8938rem;
    height: 2.1875rem;
    margin-bottom: 0.375rem;
    object-fit: fill;
    transform: translateX(0.0094rem);
  }

  .to-case-study__title {
    gap: 0.2938rem;
    font-size: 1.5rem;
    letter-spacing: 0.0688rem;
  }

  .to-case-study__title strong {
    font-size: 2.1875rem;
    letter-spacing: 0.2344rem;
  }

  .to-case-study__story {
    flex-direction: column;
    gap: normal;
    margin-bottom: 1.8919rem;
  }

  .to-case-study__narrative {
    margin-bottom: 1.125rem;
  }

  .to-case-study__company {
    gap: 2.3825rem;
    padding-bottom: 1.1688rem;
    margin-bottom: 0.975rem;
  }

  .to-case-study__company::after {
    right: -0.0438rem;
    bottom: 0;
    left: -0.0438rem;
  }

  .to-case-study__company-logo {
    width: 10.8239rem;
  }

  .to-case-study__company-meta {
    padding-top: 1.4149rem;
    font-size: 0.75rem;
    line-height: 1.75;
    letter-spacing: 0.0375rem;
  }

  .to-case-study__story-title {
    padding-left: 0.2063rem;
    margin-bottom: 0.5rem;
    font-size: 1.3125rem;
    line-height: 1.619;
    letter-spacing: 0.0919rem;
  }

  .to-case-study__story-copy {
    padding: 0 0 0 0.2688rem;
    font-size: 0.875rem;
    line-height: 1.93;
    letter-spacing: 0.0263rem;
  }

  .to-case-study__media {
    flex: none;
    width: 96.6184%;
    padding-top: 0;
    margin-inline: auto;
  }

  .to-case-study__store-img {
    border-radius: 0.875rem;
  }

  .to-case-study__results {
    width: 96.6184%;
    max-width: none;
    padding-top: 1.1875rem;
    margin-inline: auto;
  }

  .to-case-study__side-label {
    top: 0;
    left: 50%;
    letter-spacing: 0.1375rem;
    transform: translateX(-50%);
    writing-mode: horizontal-tb;
  }

  .to-case-study__side-line {
    top: 0;
    bottom: auto;
    left: 50%;
    width: 0;
    height: 0;
  }

  .to-case-study__panel {
    padding: 2.0625rem 0 2.3164rem;
  }

  .to-case-study__comparison {
    display: block;
  }

  .to-case-study-list--before {
    margin-bottom: 5.375rem;
  }

  .to-case-study-list__title {
    margin-bottom: 1.0625rem;
    transform: none;
  }

  .to-case-study-list--after .to-case-study-list__title {
    margin-bottom: 1.375rem;
  }

  .to-case-study-list__items {
    gap: 0;
    padding-left: 0;
  }

  .to-case-study-list--before .to-case-study-list__items {
    padding-left: 2.3867rem;
  }

  .to-case-study-list--after .to-case-study-list__items {
    gap: 0;
    padding-left: 2.4375rem;
  }

  .to-case-study-list__items li {
    font-size: 0.875rem;
    line-height: 1.55;
    letter-spacing: 0.0438rem;
  }

  .to-case-study-list--before .to-case-study-list__items li {
    gap: 1.4375rem;
  }

  .to-case-study-list--after .to-case-study-list__items li {
    gap: 0.875rem;
  }

  .to-case-study-list--before .to-case-study-list__item--1,
  .to-case-study-list--after .to-case-study-list__item--1 {
    margin-bottom: 0.6875rem;
  }

  .to-case-study-list--before .to-case-study-list__item--2 {
    margin-bottom: 0.875rem;
  }

  .to-case-study-list--after .to-case-study-list__item--2 {
    margin-bottom: 0.75rem;
  }

  .to-case-study__arrow {
    top: 14.695rem;
    left: 50%;
    width: 0.6875rem;
    border-width: 0 0.125rem 0.125rem 0;
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .to-case-study__stars {
    top: 19.3125rem;
    left: 50%;
    width: 4.0717rem;
    transform: translateX(-50%);
  }

  .to-case-study__change {
    top: auto;
    right: -1.8406rem;
    bottom: -3.2306rem;
    width: 8.2077rem;
  }
}
/* figma-css:end nodeId=622-2192 */
/* source:end assets/css/sections/12-case-study.css */

/* source:start assets/css/sections/13-plan-comparison.css */
/* figma-css:start nodeId=622-2180 */
/* generated-from: Figma metadata/design_context */
.to-plan-comparison {
  position: relative;
  padding-block: 5.1875rem 0;
  background: #fff;
}

.to-plan-comparison__inner {
  width: 90%;
  max-width: 91.875rem;
  margin-inline: auto;
}

.to-plan-comparison__header {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3.2763rem;
  text-align: center;
}

.to-plan-comparison__heading-label {
  width: 12.8125rem;
  height: 1.9375rem;
  margin-bottom: 1.25rem;
  object-fit: contain;
}

.to-plan-comparison__title {
  display: flex;
  align-items: baseline;
  gap: 0.3555rem;
  margin-bottom: 0.6875rem;
  color: #1a2f5a;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.2;
}

.to-plan-comparison__title strong {
  background: linear-gradient(90deg, #0095ff 0%, #2960d3 100%);
  background-clip: text;
  color: transparent;
  letter-spacing: 0.2688rem;
}

.to-plan-comparison__title span {
  letter-spacing: 0.1344rem;
}

.to-plan-comparison__lead {
  margin: 0;
  color: #1a2f5a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03rem;
}

.to-plan-comparison__comparison {
  position: relative;
  z-index: 2;
  margin: 0 0 -6.3776rem;
}

.to-plan-comparison__comparison-scroller {
  display: block;
}

.to-plan-comparison__table-img {
  width: 52.8203rem;
  margin-inline: auto;
}

.to-plan-comparison__people {
  position: absolute;
  z-index: 1;
  bottom: 4.5938rem;
  pointer-events: none;
}

.to-plan-comparison__people--left {
  left: calc(50% - 26.41015rem - 6.9381rem - 2.0283rem);
  width: 6.9381rem;
}

.to-plan-comparison__people--right {
  left: calc(50% + 26.41015rem + 1.7168rem);
  width: 6.9115rem;
}

@media (width < 1200px) {
  .to-plan-comparison__people--left,
  .to-plan-comparison__people--right {
    display: none !important;
  }
}

.to-plan-comparison__stage {
  position: relative;
  overflow: hidden;
  padding-block: 7.125rem 3.9625rem;
  border-radius: 5rem;
  background: linear-gradient(132.0899deg, #0095ff 2.703%, #2960d3 54.091%);
}

.to-plan-comparison__stage-word {
  position: absolute;
  top: 2.3125rem;
  left: 0px;
  width: 10.375rem;
  pointer-events: none;
  transform: translateX(-5%);
}

.to-plan-comparison__stage-content {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 59.5625rem;
  margin-inline: auto;
}

.to-plan-comparison__offer-header {
  position: relative;
  text-align: center;
}

.to-plan-comparison__offer-title {
  display: flex;
  justify-content: center;
  margin: 0 0 0.5rem;
  color: #fff;
  font-weight: 900;
  line-height: 1.4;
}

.to-plan-comparison__offer-body {
  position: relative;
  display: flex;
  align-items: baseline;
  width: max-content;
}

@media (width >= 768px) and (width < 1200px) {
  .to-plan-comparison__stage-content {
    width: min(96%, calc(100% - 2rem));
  }
}

.to-plan-comparison__offer-body::before {
  content: "";
  position: absolute;
  bottom: 1.125rem;
  left: 0.3906rem;
  width: 28.3125rem;
  max-width: calc(100% - 0.3906rem);
  height: 0.25rem;
  background: #ffee6f;
}

.to-plan-comparison__trial-badge {
  position: absolute;
  top: -0.375rem;
  left: -3.125rem;
  width: 3.5625rem;
  margin: 0;
  z-index: 1;
}

.to-plan-comparison__offer-number {
  font-family: "Gidole", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: 0.3125rem;
  white-space: nowrap;
}

.to-plan-comparison__offer-unit {
  display: inline-block;
  font-size: 3.75rem;
  white-space: nowrap;
}

.to-plan-comparison__offer-unit--month {
  width: 7.5rem;
  letter-spacing: 0;
}

.to-plan-comparison__offer-unit--yen {
  width: 7.875rem;
  margin-right: 0.625rem;
  letter-spacing: 0.375rem;
}

.to-plan-comparison__offer-separator {
  align-self: center;
  flex: 0 0 auto;
  width: 1.125rem;
  aspect-ratio: 1;
  margin-inline: 0.5625rem 0.9375rem;
  border-radius: 50%;
  background: #fff;
}

.to-plan-comparison__offer-tail {
  font-size: 2.8125rem;
  letter-spacing: 0.1688rem;
  white-space: nowrap;
}

.to-plan-comparison__offer-lead {
  margin: 0 0 2.32rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03rem;
  text-align: center;
}

.to-plan-comparison__trial-card {
  display: flex;
  overflow: hidden;
  margin-bottom: 2.6313rem;
}

.to-plan-comparison__trial-summary {
  flex: 0 0 22.875rem;
  padding: 3.75rem 3.375rem 3.125rem 4.25rem;
  background: #1a2f5a;
  color: #fff;
}

.to-plan-comparison__trial-ribbon {
  position: relative;
  width: max-content;
  padding: 0.2344rem 0.75rem 0.2344rem 0.6875rem;
  margin: 0 0 1.7031rem;
  background: #ffe85e;
  color: #1a2f5a;
  font-size: 1.0588rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.0529rem;
  white-space: nowrap;
}

.to-plan-comparison__trial-ribbon::after {
  content: "";
  position: absolute;
  top: 0;
  right: -0.875rem;
  border-top: 0.9844rem solid transparent;
  border-bottom: 0.9844rem solid transparent;
  border-left: 0.875rem solid #ffe85e;
}

.to-plan-comparison__trial-title {
  margin: 0 0 -0.55rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1375rem;
}

.to-plan-comparison__trial-price {
  display: flex;
  align-items: baseline;
  margin: 0 0 0.375rem;
}

.to-plan-comparison__trial-price strong {
  font-family: "Gidole", sans-serif;
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1875rem;
  white-space: nowrap;
}

.to-plan-comparison__trial-price span {
  font-size: 2.1875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.2188rem;
  white-space: nowrap;
}

.to-plan-comparison__trial-price small {
  margin-left: 0.625rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}

.to-plan-comparison__trial-copy {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.0375rem;
}

.to-plan-comparison__trial-detail {
  flex: 1;
  min-width: 0;
  padding: 3.5625rem 3.875rem 3.225rem 4.125rem;
  color: #1a2f5a;
}

.to-plan-comparison__trial-detail-title {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.0625rem;
}

.to-plan-comparison__trial-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 0 0 0.875rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.1;
  letter-spacing: 0.05rem;
  list-style: none;
}

.to-plan-comparison__trial-list li {
  position: relative;
  padding-left: 1.375rem;
}

.to-plan-comparison__trial-list li::before {
  content: "";
  position: absolute;
  top: 0.9375rem;
  left: 0.125rem;
  width: 0.4375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #2960d3;
}

.to-plan-comparison__apply {
  display: block;
  width: 18.75rem;
}

.to-plan-comparison__apply-img {
  width: 100%;
}

.to-plan-comparison__flow-arrow {
  width: 2.3rem;
  height: 1.05rem;
  margin: 0 auto 1.3813rem;
  object-fit: contain;
}

.to-plan-comparison__flow-lead {
  margin: 0 0 1.7575rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03rem;
  text-align: center;
}

.to-plan-comparison__steps {
  display: flex;
  width: 100%;
  max-width: 58.75rem;
  gap: 2.125rem;
  margin: 0 auto 0.5625rem;
}

.to-plan-comparison-step {
  display: flex;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #fff;
}

.to-plan-comparison-step__summary {
  display: flex;
  flex: 0 0 12.9375rem;
  justify-content: center;
  flex-direction: column;
  min-width: 0;
  padding: 1.25rem 1.625rem 1.25rem 1.875rem;
  background: #1a2f5a;
  color: #fff;
}

.to-plan-comparison-step__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1rem;
}

.to-plan-comparison-step__price {
  display: flex;
  align-items: baseline;
  margin: 0;
}

.to-plan-comparison-step__price strong {
  font-family: "Gidole", sans-serif;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1375rem;
  white-space: nowrap;
}

.to-plan-comparison-step__price span {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1375rem;
  white-space: nowrap;
}

.to-plan-comparison-step__price small {
  align-self: center;
  margin-right: 0.4375rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}

.to-plan-comparison-step__copy {
  flex: 1;
  min-width: 0;
  padding: 1.5rem 1.4375rem 1.5rem 1.625rem;
  margin: 0;
  color: #1a2f5a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.0438rem;
}

.to-plan-comparison-step__copy span {
  white-space: nowrap;
}

@media (768px <= width < 1100px) {
  .to-plan-comparison__steps {
    flex-direction: column;
    max-width: 36rem;
    gap: 1.525rem;
  }
}

.to-plan-comparison__note {
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0375rem;
  text-align: center;
}

@media (width < 768px) {
  .to-plan-comparison {
    padding-block: 2.875rem 0;
  }

  .to-plan-comparison__inner {
    max-width: 23.2875rem;
  }

  .to-plan-comparison__header {
    margin-bottom: 1.8875rem;
  }

  .to-plan-comparison__heading-label {
    width: 9.8384rem;
    height: 1.5rem;
    margin-bottom: 1.125rem;
  }

  .to-plan-comparison__title {
    gap: 0.125rem;
    margin-bottom: 0.5625rem;
    font-size: 1.5rem;
  }

  .to-plan-comparison__title strong {
    letter-spacing: 0.15rem;
  }

  .to-plan-comparison__title span {
    letter-spacing: 0.075rem;
  }

  .to-plan-comparison__lead {
    width: calc(100% + 0.3375rem);
    font-size: 0.8125rem;
    line-height: 2.077;
    letter-spacing: 0.0244rem;
  }

  .to-plan-comparison__comparison {
    /* 左右5%のinner余白から抜け出し、右端で画面外まで続く見せ方にする */
    width: 100vw;
    max-width: 100vw;
    height: auto;
    margin: 0 0 2.5875rem;
    margin-left: calc(50% - 50vw);
    overflow: visible;
  }

  .to-plan-comparison__comparison-scroller {
    box-sizing: border-box;
    /* 左は見出しなどと揃え、右は余白なしでビューポート端まで */
    padding-left: calc((100vw - min(90vw, 23.2875rem)) / 2);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .to-plan-comparison__comparison-scroller .scroll-hint-icon-wrap {
    z-index: 2;
  }

  .to-plan-comparison__comparison-scroller::-webkit-scrollbar {
    display: none;
  }

  .to-plan-comparison__table-img {
    width: 40.0687rem;
    max-width: none;
    height: auto;
    margin: 0;
    transform: none;
  }

  .to-plan-comparison__stage {
    width: calc(100% + 1.3375rem);
    padding-block: 3.7313rem 4.5313rem;
    margin-inline: -0.6688rem;
    border-radius: 3.125rem;
  }

  .to-plan-comparison__stage-word {
    top: 3.4237rem;
    left: 2.2051rem;
    width: 3.4237rem;
    transform: rotate(-90deg);
    transform-origin: top left;
  }

  .to-plan-comparison__stage-content {
    width: calc(100% - 3.125rem);
  }

  .to-plan-comparison__offer-header {
    width: calc(100% + 2.125rem);
    margin-left: -1.0625rem;
  }

  .to-plan-comparison__offer-title {
    margin-bottom: 0.625rem;
    line-height: normal;
  }

  .to-plan-comparison__offer-body {
    width: 18.1523rem;
    max-width: none;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
  }

  /* Figma 622:1843 — under price row at y+74.34, w=285.39 */
  .to-plan-comparison__offer-body::before {
    top: 4.6463rem;
    bottom: auto;
    left: 0.3156rem;
    width: 17.8369rem;
    max-width: none;
    height: 0.1575rem;
  }

  /* Figma 622:1844 — 45.6 badge, offset from price group origin */
  .to-plan-comparison__trial-badge {
    position: absolute;
    top: -0.5238rem;
    left: -1.9644rem;
    width: 2.85rem;
    margin: 0;
  }

  /* Figma 622:1840/1841 — DIN 63 / 1.4 / tracking 3.15 */
  .to-plan-comparison__offer-number {
    font-size: 3.9375rem;
    letter-spacing: 0.1969rem;
    line-height: 1.4;
  }

  /* Gidole “1” is narrower than DIN 33px — pad so ヶ月 starts at Figma x */
  .to-plan-comparison__offer-body > .to-plan-comparison__offer-number:first-of-type {
    margin-right: 0.275rem;
  }

  /* Gidole “30” is wider than DIN 69px; scale keeps glyph width, layout gap ≈ Figma */
  .to-plan-comparison__offer-separator + .to-plan-comparison__offer-number {
    transform: scaleX(0.93);
    transform-origin: left center;
  }

  /* Figma 622:1838/1839 — Noto Black 37.8 / 1.6 */
  .to-plan-comparison__offer-unit {
    font-size: 2.3625rem;
    line-height: 1.6;
  }

  .to-plan-comparison__offer-unit--month {
    width: 4.75rem;
  }

  .to-plan-comparison__offer-unit--yen {
    width: 5rem;
    margin-right: 0;
    letter-spacing: 0.2363rem;
  }

  /* Figma 622:1842 — 11.34 circle between month and 30 */
  .to-plan-comparison__offer-separator {
    align-self: center;
    width: 0.7088rem;
    margin-inline: 0.3294rem 0.5913rem;
  }

  /* Figma 622:1848 — 32 / 1.6 / tracking 1.92, sits on the yellow line */
  .to-plan-comparison__offer-tail {
    flex-basis: 100%;
    margin-top: -0.755rem;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.12rem;
    text-align: center;
  }

  .to-plan-comparison__offer-lead {
    margin-bottom: 1.9375rem;
    font-size: 0.875rem;
    line-height: 1.93;
    letter-spacing: 0.0263rem;
  }

  .to-plan-comparison__trial-card {
    flex-direction: column;
    width: 100%;
    margin-bottom: 2.1675rem;
  }

  .to-plan-comparison__trial-summary {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    flex-basis: auto;
    padding: 2rem 2.5625rem 1.4656rem;
  }

  .to-plan-comparison__trial-ribbon {
    grid-column: 1 / -1;
    width: 9.3775rem;
    padding: 0;
    margin-bottom: -0.0913rem;
    font-size: 1.125rem;
    line-height: 1.6667;
    letter-spacing: 0.0563rem;
    text-align: center;
  }

  .to-plan-comparison__trial-ribbon::after {
    right: -0.8125rem;
    border-top-width: 0.9831rem;
    border-bottom-width: 0.9831rem;
    border-left-width: 0.8125rem;
  }

  .to-plan-comparison__trial-title {
    align-self: center;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 0.0875rem;
  }

  .to-plan-comparison__trial-price {
    margin-bottom: -0.375rem;
  }

  .to-plan-comparison__trial-price strong {
    font-size: 3.75rem;
  }

  .to-plan-comparison__trial-price span {
    font-size: 2.1875rem;
  }

  .to-plan-comparison__trial-price small {
    margin-left: 0.5rem;
  }

  .to-plan-comparison__trial-copy {
    grid-column: 1 / -1;
    font-size: 0.75rem;
    line-height: 2;
    letter-spacing: 0.0375rem;
  }

  .to-plan-comparison__trial-detail {
    padding: 1.625rem 1.375rem 1.5563rem;
  }

  .to-plan-comparison__trial-detail-title {
    margin-bottom: 0.875rem;
    font-size: 1.125rem;
    letter-spacing: 0.0563rem;
  }

  .to-plan-comparison__trial-list {
    gap: 0;
    margin-bottom: 1.3125rem;
    font-size: 0.875rem;
    line-height: 1.7857;
    letter-spacing: 0.0438rem;
    text-align: left;
  }

  .to-plan-comparison__trial-list li {
    padding-left: 1.1875rem;
  }

  .to-plan-comparison__trial-list li::before {
    top: 0.5625rem;
    left: 0;
  }

  .to-plan-comparison__apply {
    width: 18.75rem;
    margin-inline: auto;
  }

  .to-plan-comparison__flow-arrow {
    width: 1.84rem;
    height: 0.84rem;
    margin-bottom: 1.2363rem;
  }

  .to-plan-comparison__flow-lead {
    max-width: 17.9375rem;
    margin: 0 auto 0.875rem;
    font-size: 0.875rem;
    line-height: 1.93;
    letter-spacing: 0.0263rem;
  }

  .to-plan-comparison__steps {
    max-width: none;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
  }

  .to-plan-comparison-step {
    flex-direction: column;
  }

  .to-plan-comparison-step__summary {
    flex-basis: auto;
    padding: 0.9063rem 1.5rem 0.6938rem;
  }

  .to-plan-comparison-step__title {
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 0.0875rem;
  }

  .to-plan-comparison-step__price strong {
    font-size: 2.1875rem;
    letter-spacing: 0.1094rem;
  }

  .to-plan-comparison-step__price span {
    font-size: 1.375rem;
    letter-spacing: 0.0688rem;
  }

  .to-plan-comparison-step__price small {
    margin-right: 0.3125rem;
    font-size: 0.75rem;
    line-height: 1.25;
    letter-spacing: 0.075rem;
  }

  .to-plan-comparison-step__copy {
    padding: 0.75rem 0.9375rem 1.625rem 1.25rem;
    font-size: 0.8125rem;
    line-height: 1.6154;
    letter-spacing: 0.0406rem;
  }

  .to-plan-comparison-step__copy span {
    white-space: normal;
  }

  .to-plan-comparison__note {
    width: calc(100% + 1.125rem);
    margin-left: -0.5625rem;
    font-size: 0.6875rem;
    letter-spacing: 0.0344rem;
    text-align: center;
  }
}
/* figma-css:end nodeId=622-2180 */
/* source:end assets/css/sections/13-plan-comparison.css */

/* source:start assets/css/sections/14-faq.css */
/* figma-css:start nodeId=622:2181 */
/* generated-from: Figma MCP metadata/design_context, 1680px baseline */
.to-faq {
  padding-block: 6.5rem 10.6523rem;
  background: #ffffff;
}

.to-faq__inner {
  width: 90%;
  max-width: 86.625rem;
  margin-inline: auto;
}

.to-faq__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.6875rem;
  text-align: center;
}

.to-faq__brand {
  display: block;
  width: 12.2109rem;
  height: auto;
  margin: 0 auto;
  transform: translateX(0.207rem);
}

.to-faq__heading-line {
  display: block;
  width: 12.5rem;
  height: 0.125rem;
  margin-bottom: 1.125rem;
  background: #1a2f5a;
}

.to-faq__title {
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1344rem;
}

.to-faq__items {
  display: flex;
  align-items: flex-start;
  column-gap: 0.875rem;
  transform: translateX(-0.25rem);
}

.to-faq__column {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  row-gap: 0.875rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.to-faq-item {
  width: 100%;
  margin: 0;
  border-radius: 0.625rem;
  background: #f2f5f8;
}

.to-faq-item--1 {
  transform: none;
}

.to-faq-item__question-heading {
  margin: 0;
}

.to-faq-item__button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 0;
  padding: 1.25rem 2.25rem 1.25rem 1.875rem;
  column-gap: 1.7749rem;
  border: 0;
  border-radius: 0.625rem;
  background: transparent;
  color: #1a2f5a;
  text-align: left;
  cursor: pointer;
}

.to-faq-item__badge {
  flex: 0 0 1.875rem;
  width: 1.875rem;
  height: 1.875rem;
}

.to-faq-item__question {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0531rem;
}

.to-faq-item--1 .to-faq-item__question {
  transform: none;
}

.to-faq-item__toggle {
  position: relative;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  margin-left: auto;
}

.to-faq-item__toggle::before,
.to-faq-item__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 0.125rem;
  background: #1a2f5a;
  content: "";
  transform: translate(-50%, -50%);
}

.to-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.2s ease;
}

.to-faq-item.is-open .to-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.to-faq-item__answer {
  padding: 0 2.25rem 1.5rem 5.5249rem;
}

.to-faq-item__answer-text {
  margin: 0;
  color: #1a2f5a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}

@media (width < 768px) {
  .to-faq {
    padding-block: 3.4375rem 1.5rem;
  }

  .to-faq__inner {
    width: 90%;
    max-width: 23.375rem;
  }

  .to-faq__header {
    margin-bottom: 2.4375rem;
  }

  .to-faq__brand {
    width: 9.7759rem;
    transform: translateX(0.0129rem);
  }

  .to-faq__heading-line {
    width: 9.75rem;
    height: 0.125rem;
    margin-bottom: 0.7375rem;
  }

  .to-faq__title {
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.075rem;
  }

  .to-faq__items {
    flex-direction: column;
    row-gap: 0.625rem;
    column-gap: 0;
    transform: none;
  }

  .to-faq__column {
    width: 100%;
    row-gap: 0.625rem;
  }

  .to-faq-item--1 {
    transform: none;
  }

  .to-faq-item {
    width: auto;
    align-self: stretch;
  }

  .to-faq-item__button {
    min-height: 0;
    padding: 1rem 1.125rem 1rem 1.25rem;
    column-gap: 1.125rem;
  }

  .to-faq-item__question {
    flex: 1 1 auto;
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 0.0438rem;
    transform: none;
  }

  .to-faq-item--1 .to-faq-item__question {
    transform: none;
  }

  .to-faq-item__answer {
    padding: 0 1.125rem 1.5rem 4.25rem;
  }

  .to-faq-item__answer-text {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}
/* figma-css:end nodeId=622:2181 */
/* source:end assets/css/sections/14-faq.css */

/* source:start assets/css/sections/15-final-cta-footer.css */
/* figma-css:start nodeId=622-2184 */
/* generated-from: Figma metadata/design_context */
.to-final-cta-footer {
  background: linear-gradient(160.4746deg, rgb(26 47 90 / 20%) 28.702%, rgb(0 83 255 / 20%) 86.422%), #01153f;
}

.to-final-cta {
  position: relative;
  padding-block: 4.875rem 6.625rem;
  overflow: clip;
}

.to-final-cta__wordmark {
  position: absolute;
  top: 10.875rem;
  left: 50%;
  /* rgb(18 46 91 / 52%) を #01153f 上で合成した不透明色。透過の fill+stroke 重複を避ける */
  color: #0a224e;
  font-family: "Gidole", sans-serif;
  font-size: 18.75rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1;
  letter-spacing: -0.35rem;
  -webkit-text-stroke: 0.03em #0a224e;
  paint-order: stroke fill;
  transform: translateX(-50%) scaleX(1.27);
  transform-origin: center;
  pointer-events: none;
}

.to-final-cta__inner {
  position: relative;
  width: 90%;
  max-width: 51.25rem;
  margin-inline: auto;
}

.to-final-cta__header {
  position: relative;
  margin-bottom: 3.9563rem;
  text-align: center;
}

.to-final-cta__first-step {
  position: absolute;
  top: 0;
  left: 8.5rem;
  width: 3.6875rem;
  height: auto;
}

.to-final-cta__title {
  margin: 0;
  color: #fff;
  font-weight: 900;
}

.to-final-cta__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-width: 0;
  padding-top: 0.9688rem;
  margin-bottom: 0.625rem;
  line-height: 1.4;
}

.to-final-cta__price-number {
  font-family: "Gidole", sans-serif;
  font-size: 5.0625rem;
  font-weight: 700;
  letter-spacing: 0.2531rem;
}

.to-final-cta__price-unit {
  font-size: 3.0375rem;
  line-height: 1.4;
  letter-spacing: 0.3038rem;
}

.to-final-cta__price-dot {
  width: 0.9113rem;
  aspect-ratio: 1;
  margin-inline: 0.8125rem;
  border-radius: 50%;
  background: #ffffff;
}

.to-final-cta__price-suffix {
  margin-left: 0.75rem;
  font-size: 2.2781rem;
  line-height: 1.4;
  letter-spacing: 0.2278rem;
}

.to-final-cta__price::after {
  position: absolute;
  top: 7.0437rem;
  left: 47.6829%;
  width: 24.1988rem;
  height: 0.2025rem;
  background: #ffef70;
  content: "";
  transform: translateX(-50%);
}

.to-final-cta__subtitle {
  display: block;
  font-size: 2.5313rem;
  line-height: 1.6;
  letter-spacing: 0.2531rem;
}

.to-final-cta__lead {
  margin: 0 0 1.125rem;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.125rem;
  text-align: center;
}

.to-final-cta__actions {
  margin-bottom: 2.8125rem;
  transform: translateX(-0.8296rem);
}

.to-final-cta__action--visit {
  width: 22.75rem;
}

.to-final-cta__action--request {
  width: 17.2658rem;
  transform: translateX(-0.2158rem);
}

.to-final-cta-card {
  width: 51.25rem;
}

.to-final-cta-card__content {
  padding: 1.5rem 15.5625rem 1.5rem 2.75rem;
}

.to-final-cta__media {
  margin: -2.0313rem 0.5938rem 0 -16.2813rem;
}

.to-footer {
  padding-block: 1.8063rem 1.9326rem;
  border-top: 1px solid rgb(255 255 255 / 20%);
}

.to-footer__inner {
  width: 90%;
  max-width: 74.5625rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  transform: translateX(-0.0938rem);
}

.to-footer__logo {
  width: 6.6719rem;
  height: auto;
  margin-right: 2.9531rem;
}

.to-footer__nav {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.to-footer__link,
.to-footer__separator,
.to-footer__copyright {
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.075rem;
}

.to-footer__copyright {
  width: auto;
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}

@media (width < 768px) {
  .to-final-cta {
    padding-block: 3.5625rem 1.8125rem;
  }

  .to-final-cta__wordmark {
    top: -0.0625rem;
    font-size: 4.7844rem;
    letter-spacing: -0.0894rem;
  }

  .to-final-cta__inner {
    width: 90%;
    max-width: 23.125rem;
    margin-inline: auto;
  }

  .to-final-cta__header {
    margin-bottom: 0.9758rem;
  }

  .to-final-cta__first-step {
    top: 0;
    left: -0.125rem;
    width: 2.85rem;
  }

  .to-final-cta__price {
    padding-top: 0.5242rem;
    margin-bottom: 0;
    transform: translateX(0.75rem);
  }

  .to-final-cta__price-number {
    font-size: 3.9286rem;
    letter-spacing: 0.1964rem;
  }

  .to-final-cta__price-unit {
    font-size: 2.3438rem;
    line-height: 1.6;
    letter-spacing: 0.2344rem;
  }

  .to-final-cta__price-dot {
    width: 0.7088rem;
    margin-inline: 0.541rem;
  }

  .to-final-cta__price-suffix {
    margin-left: 0.6688rem;
    font-size: 1.7578rem;
    line-height: 1.6;
    letter-spacing: 0.1758rem;
  }

  .to-final-cta__price::after {
    top: 5.0454rem;
    left: 47.6829%;
    width: 17.8369rem;
    height: 0.15rem;
    transform: translateX(calc(-50% - 0.75rem));
  }

  .to-final-cta__subtitle {
    position: relative;
    left: 50%;
    width: 100vw;
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0.125rem;
    transform: translateX(-50%);
  }

  .to-final-cta__lead {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-bottom: 1.6875rem;
    font-size: 0.8594rem;
    line-height: 1.6;
    letter-spacing: 0.0688rem;
    transform: translateX(-50%);
  }

  .to-final-cta__actions {
    margin-bottom: 1.2563rem;
    transform: none;
  }

  .to-final-cta__action--visit,
  .to-final-cta__action--request {
    width: 21.2437rem;
    height: 4.8125rem;
    transform: none;
  }

  .to-final-cta-card {
    width: 100%;
    padding-bottom: 1rem;
  }

  .to-final-cta-card__content {
    padding: 1.2875rem 0 0.1875rem;
  }

  .to-final-cta__offer {
    min-height: 22.1875rem;
    /* padding-bottom: 2rem; */
  }

  .to-final-cta__media {
    margin: -15.075rem auto 0 3.125rem;
  }

  .to-final-cta__glow {
    top: 0.1875rem;
    left: 9.5rem;
  }

  .to-footer {
    padding-block: 1.5625rem 1.5254rem;
  }

  .to-footer__inner {
    width: 90%;
    max-width: 23.125rem;
    margin-inline: auto;
    flex-direction: column;
    transform: none;
  }

  .to-footer__logo {
    margin-right: 0;
    margin-bottom: 0.675rem;
  }

  .to-footer__nav {
    margin-bottom: 0.375rem;
  }

  .to-footer__copyright {
    width: auto;
    margin-left: 0;
    text-align: center;
  }
}
/* figma-css:end nodeId=622-2184 */
/* source:end assets/css/sections/15-final-cta-footer.css */

/* source:start assets/css/overrides.css */
/* DevTools Workspace final adjustments. */

/*
  装飾英字: 各セクションで fill と同系色の 0.03em stroke。
  本文・数値の Gidole: common.css で currentColor stroke（DIN Demi 相当）。
  サイト全体では不要な合成斜体のみ抑制。ウェイト合成は Gidole 対象で個別に許可。
*/
html {
  font-synthesis-style: none;
}
/* source:end assets/css/overrides.css */

/* source:start assets/vendor/scroll-hint/scroll-hint.css */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.scroll-hint-shadow-wrap {
  position: relative;
}

.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after
 {
  opacity: 1;
  visibility: visible;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before
 {
  opacity: 1;
  visibility: visible;
}
/* source:end assets/vendor/scroll-hint/scroll-hint.css */
