@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap");
@import url(/common/css/reset.css);
@import url(/common/css/style.v3.css?20220510);
@import url(/common/css/header.v2.css?20230718);
@import url(/bs/lp/common/css/layout.css);
@import url(/common/css/footer.css?20221031);
@import url(/common/css/layout.v2.css?20221219);
@import url(/common/css/smph/layout.v2.css?20220106);
:root {
  --roadmap-color-primary: #0150e4;
  --roadmap-color-primary-end: #00cfff;
  --roadmap-color-heading: #004ea2;
  --roadmap-color-accent: #003e8e;
  --roadmap-color-text: #1e2430;
  --roadmap-color-tag-bg: #536b8d;
  --roadmap-color-bg: #f4f6fa;
  --roadmap-shadow-sm: 0 1px 3px rgba(0, 62, 142, 0.08);
  --roadmap-shadow-md: 0 8px 24px rgba(0, 62, 142, 0.12);
}

body {
  overflow-x: hidden;
}

#contents {
  color: #212121;
  background: var(--roadmap-color-bg);
}

#main {
  max-width: 1220px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1010px) {
  #main {
    padding: 0 10px;
  }
}
#main {
  font-size: 16px;
}
#main p {
  margin-bottom: 1em;
  line-height: 1.75;
}
#main figure img {
  max-width: 100%;
  height: auto;
}
#main figure figure {
  display: inline-block;
}
#main img {
  max-width: 100%;
  height: auto;
}

@media screen and (min-width: 769px) {
  #wrapper {
    padding-top: 64px;
  }
}

@media screen and (min-width: 769px) {
  #header {
    height: 64px;
    border-bottom: none;
  }
  #header dd a {
    height: 64px;
    line-height: 64px;
  }
}

@media screen and (min-width: 990px) {
  #header p.logo {
    left: calc(50% - 495px);
  }
  #header dl {
    right: calc(50% - 495px);
  }
}
a {
  transition: 0.3s;
  word-wrap: break-word;
}

cite {
  font-size: 0.8125rem;
}

* {
  box-sizing: border-box;
  word-break: break-word;
}

.mt0 {
  margin-top: 0;
}

.width-full {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.list-disc-blue {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5em;
}
.list-disc-blue > li {
  list-style-type: disc;
  margin-left: 1.5em;
  line-height: 1.8;
}
.list-disc-blue > li span {
  display: block;
  margin-left: -0.25em;
}
.list-disc-blue > li::marker {
  color: #597B88;
}
.list-disc-blue .d-flex {
  flex-wrap: wrap;
}

.list-disc-blue li {
  width: 100%;
}

.roadmap-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  container-type: inline-size;
  height: min(440px, 30.5556vw);
}
@media screen and (max-width: 1023px) {
  .roadmap-hero {
    height: auto;
    aspect-ratio: 390/290;
  }
}

#main .roadmap-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.roadmap-hero__bg--sp {
  display: none;
}

@media screen and (max-width: 1023px) {
  .roadmap-hero__bg--pc {
    display: none;
  }
  .roadmap-hero__bg--sp {
    display: block;
  }
}
.roadmap-hero__gradient {
  position: absolute;
  inset: -1px auto -1px 0;
  width: 100%;
  background: linear-gradient(to right, #fff 0%, #fff 35%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 70%);
}
@media screen and (min-width: 1441px) {
  .roadmap-hero__gradient {
    background: linear-gradient(to right, #fff 0px, #fff calc((100vw - 1440px) / 2 + 504px), rgba(255, 255, 255, 0.8) calc((100vw - 1440px) / 2 + 720px), rgba(255, 255, 255, 0) calc((100vw - 1440px) / 2 + 1008px));
  }
}
@media screen and (max-width: 1023px) {
  .roadmap-hero__gradient {
    width: 93.3333333333cqi;
    background: linear-gradient(to left, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.92) 55%, #fff 80%, #fff 100%);
  }
}

.roadmap-hero__inner {
  position: relative;
  max-width: 1220px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.roadmap-hero__title,
.roadmap-card__title,
.roadmap-cta__title {
  text-spacing-trim: space-first;
}

.roadmap-hero__title {
  color: var(--roadmap-color-heading);
  font-weight: 700;
  font-size: 40px;
  line-height: 1.25;
  letter-spacing: 0.02em;
  margin: 0 0 clamp(16px, 3vw, 24px);
}
@media screen and (max-width: 1023px) {
  .roadmap-hero__title {
    font-size: 6.1538461538cqi;
    line-height: 1.4;
  }
}

.roadmap-hero__br--sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .roadmap-hero__br--sp {
    display: inline;
  }
}

.roadmap-hero__desc {
  color: #000;
  font-size: 15px;
  line-height: 1.5;
  max-width: 700px;
}
@media screen and (max-width: 1023px) {
  .roadmap-hero__desc {
    font-size: 3.3333333333cqi;
    max-width: 64.358974359cqi;
    line-height: 1.75;
  }
}
.roadmap-hero__desc p {
  margin: 0;
}

.roadmap-cards {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 48px) 20px 0;
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 3.3333333333vw, 48px);
}

#main .roadmap-card {
  max-width: 1200px;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--roadmap-shadow-sm);
  padding: 40px;
  display: flex;
  gap: clamp(16px, 2.2222222222vw, 32px);
  align-items: flex-start;
}
@media screen and (min-width: 1010px) {
  #main .roadmap-card {
    margin: 0 -10px;
  }
}
@media screen and (max-width: 767px) {
  #main .roadmap-card {
    flex-direction: column;
    gap: 16px;
  }
}

.roadmap-card__head {
  flex: 0 0 clamp(220px, 24vw, 339px);
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.5vw, 16px);
}
@media screen and (max-width: 767px) {
  .roadmap-card__head {
    flex: 0 0 auto;
    width: 100%;
    gap: 8px;
  }
}

.roadmap-card__tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  background: var(--roadmap-color-tag-bg);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  padding: 2px 12px;
  border-radius: 4px;
}

.roadmap-card__title {
  font-weight: 700;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.35;
  color: #000;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .roadmap-card__title {
    line-height: 1.4;
  }
}

.roadmap-card__lead {
  color: var(--roadmap-color-accent);
  font-weight: 500;
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.5;
  margin: 0;
}

.roadmap-card__body {
  flex: 1 1 auto;
  min-width: 0;
}
.roadmap-card__body > p {
  color: var(--roadmap-color-text);
  font-size: clamp(13px, 1.3vw, 15px);
  line-height: 1.8;
  margin: 0 0 clamp(24px, 3vw, 32px);
}
@media screen and (max-width: 767px) {
  .roadmap-card__body > p {
    line-height: 1.75;
  }
}

.roadmap-card__issue-label {
  color: var(--roadmap-color-accent);
  font-weight: 500;
  font-size: clamp(14px, 1.4vw, 16px);
  margin: 0 0 8px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .roadmap-card__issue-label {
    line-height: 1.8;
  }
}

.roadmap-card__body .list-disc-blue li {
  line-height: 1.5;
}

.roadmap-note {
  max-width: 1200px;
  margin: clamp(16px, 2vw, 24px) auto 0;
  padding: 0 20px;
  font-size: 13px;
  line-height: 1.75;
  color: #000;
}

.roadmap-cta {
  margin-top: clamp(48px, 6vw, 64px);
}

.roadmap-cta__inner {
  max-width: 1364px;
  margin: 0 auto;
  padding: clamp(32px, 6vw, 64px) 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(clamp(24px, 3vw, 32px) + 32px);
}
@media screen and (min-width: 768px) {
  .roadmap-cta__inner {
    gap: calc(clamp(24px, 3vw, 32px) + 46px);
  }
}

.roadmap-cta__title {
  margin: 0;
  text-align: center;
  font-weight: 700;
  font-size: clamp(20px, 3vw, 34px);
  line-height: 1.4;
  background: linear-gradient(90deg, var(--roadmap-color-primary), var(--roadmap-color-primary-end));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.roadmap-cta__panel {
  width: 100%;
  max-width: 1344px;
  border-radius: 16px;
  box-shadow: var(--roadmap-shadow-md);
  background-image: url(/bs/lp/z-filter-roadmap/common/images/bg-cta-sp.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: clamp(24px, 3vw, 40px);
       column-gap: clamp(24px, 3vw, 40px);
  row-gap: 16px;
  padding: 0 clamp(24px, 4vw, 40px) 32px;
}
@media screen and (min-width: 768px) {
  .roadmap-cta__panel {
    border-radius: 24px;
    background-image: url(/bs/lp/z-filter-roadmap/common/images/bg-cta-pc-1600.webp);
    background-size: cover;
    background-position: center;
    row-gap: calc(clamp(24px, 3vw, 40px) + 46px);
  }
}

.roadmap-cta__item {
  flex: 1 1 260px;
  max-width: 347px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .roadmap-cta__item:first-child {
    margin-top: -32px;
  }
}
@media screen and (min-width: 768px) {
  .roadmap-cta__item {
    margin-top: -46px;
  }
}

.roadmap-cta__icon {
  width: 95px;
  height: 95px;
}
@media screen and (min-width: 768px) {
  .roadmap-cta__icon {
    width: 120px;
    height: 120px;
  }
}

.roadmap-cta__text {
  margin: 0;
  text-align: center;
  color: var(--roadmap-color-accent);
  font-weight: 700;
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.6;
}

a.roadmap-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  margin-top: 16px;
  padding: clamp(14px, 2vw, 24px) 16px;
  border-radius: 100px;
  background: linear-gradient(90deg, var(--roadmap-color-primary), var(--roadmap-color-primary-end));
  box-shadow: var(--roadmap-shadow-md);
  color: #fff;
  font-weight: 700;
  font-size: clamp(15px, 1.6vw, 20px);
  text-align: center;
  text-decoration: none;
}
a.roadmap-cta__btn:hover {
  opacity: 0.85;
  color: #fff;
}
a.roadmap-cta__btn img {
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 768px) {
  a.roadmap-cta__btn img {
    width: 24px;
    height: 24px;
  }
}