@font-face {
  font-family: Sbsanstext;
  src: url('../fonts/SBSansText-Bold.otf') format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Sbsanstext;
  src: url('../fonts/SBSansText-SemiBold.otf') format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Sbsanstext;
  src: url('../fonts/SBSansText-Medium.otf') format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Sbsanstext;
  src: url('../fonts/SBSansText-Regular.otf') format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Lyon Text Desktop;
  src: url('../fonts/Lyon-Text-Regular-Desktop.otf') format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Lyon Text Desktop;
  src: url('../fonts/Lyon-Text-Bold-Desktop.otf') format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Lyon Text Desktop;
  src: url('../fonts/Lyon-Text-Regular-Italic-Desktop.otf') format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

.page {
  color: #262626;
  letter-spacing: -.02em;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.5625rem;
  line-height: 1.9375rem;
}

.header.header-container {
  background-color: #ef6331;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  min-height: 100vh;
  padding-top: 9vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.header.f2-header-container {
  background-color: #ef6331;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  min-height: 100vh;
  padding-top: 9vh;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.header.main-header-container {
  cursor: pointer;
  flex-flow: column;
  justify-content: space-between;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  overflow: hidden;
}

.header.i-header-container {
  background-color: #ef6331;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  min-height: 45.5rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.header.f3-header-container {
  background-color: #ef6331;
  flex-flow: column;
  justify-content: space-between;
  height: 100dvh;
  padding-top: 8vh;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.logo.header-logo {
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 29.875rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.logo.f2-header-logo {
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 28.475rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.logo.main-header-logo {
  z-index: 3;
  width: 24rem;
  position: absolute;
  inset: 3.2rem auto auto 50%;
  transform: translate(-50%);
}

.title_w.header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 77rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 9vh;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 4.1875rem;
  font-weight: 700;
  line-height: 4.375rem;
  position: relative;
}

.title_w.f2-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 77rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6vh;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 4.1875rem;
  font-weight: 700;
  line-height: 4.375rem;
  position: relative;
}

.title_w.f2_infographic_w_17_20_title_w {
  width: 100%;
  max-width: 47.5rem;
  margin-top: 3.3rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1875rem;
}

.title_w.i1-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 88rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6rem;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 3.975rem;
  font-weight: 700;
  line-height: 4.25rem;
  position: relative;
}

.title_w.i2-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 83rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.6rem;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 3.975rem;
  font-weight: 700;
  line-height: 4.25rem;
  position: relative;
}

.title_w.i3-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 82rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 3.975rem;
  font-weight: 700;
  line-height: 4.25rem;
  position: relative;
}

.title_w.f3-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 60rem;
  margin-top: 4.5vh;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 4.1875rem;
  font-weight: 700;
  line-height: 4.375rem;
  position: relative;
}

.title_w.i4-header-title {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  width: 100%;
  max-width: 83rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5rem;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 3.975rem;
  font-weight: 700;
  line-height: 4.25rem;
  position: relative;
}

.icon.chapter-icon {
  z-index: 2;
  text-align: center;
  width: 3.4375rem;
  height: 3.4375rem;
  margin-bottom: 1.875rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.icon.section-m {
  text-align: center;
  margin-top: 1.875rem;
  margin-bottom: 3.3rem;
}

.icon.footer_list_icon {
  width: 1.875rem;
  height: 1.875rem;
  position: absolute;
  inset: -.2rem auto auto -2.6rem;
}

.icon.group-item-icon {
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  inset: 1.5rem 1.5rem auto auto;
}

.icon.icon_letrer_190 {
  width: 100%;
  max-width: 11.8125%;
}

.icon.f2-header-bottom-icon {
  z-index: 4;
  height: 5.5rem;
}

.icon.f2-header-bottom-icon.f2-header-bottom-icon-city {
  width: 5rem;
}

.icon.f2_icon_letter {
  width: 100%;
  max-width: 13.1875rem;
}

.icon.i1_icon_person {
  width: 100%;
  max-width: 22rem;
}

.icon.i-chapter-icon {
  z-index: 2;
  text-align: center;
  width: 3.4375rem;
  height: 3.4375rem;
  margin-bottom: 2.4rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.icon.i3-traffic-control-icon {
  text-align: center;
  flex: 0 auto;
  align-self: center;
}

.icon.i3-plan-city-icon {
  margin-left: auto;
  margin-right: auto;
}

.icon.i3-plan-city-icon_mob {
  display: none;
}

.icon.i3-plan-city-icon-box {
  margin-left: auto;
  margin-right: auto;
}

.icon.f3-chapter-icon {
  z-index: 2;
  text-align: center;
  width: 3.4375rem;
  height: 3.4375rem;
  margin-bottom: 4.4rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.icon.f3_icon_letter {
  width: 100%;
  max-width: 14.3125rem;
}

.icon.i4-chapter-icon {
  z-index: 2;
  text-align: center;
  width: 3.4375rem;
  height: 3.4375rem;
  margin-bottom: 3.4rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.date.header-date {
  z-index: 2;
  color: #000;
  text-align: center;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.64563rem;
  position: relative;
}

.date.f2-header-date {
  z-index: 4;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2.5rem;
  margin-top: 1.3rem;
  padding: .6rem 1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2rem;
  display: inline-block;
  position: relative;
}

.date.i-header-date {
  z-index: 4;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2.5rem;
  margin-top: 9.3rem;
  padding: .7rem 1.1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4375rem;
  display: inline-block;
  position: relative;
}

.date.f3-header-date {
  z-index: 4;
  color: #000;
  text-align: center;
  background-color: #19aa1e;
  border-radius: 2.5rem;
  margin-top: 8rem;
  padding: .7rem 1.1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4375rem;
  display: inline-block;
  position: relative;
}

.date.i4-header-date {
  z-index: 4;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2.5rem;
  margin-top: 9.3rem;
  padding: .7rem 1.1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4375rem;
  display: inline-block;
  position: relative;
}

.date.i1-header-date {
  z-index: 4;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2.5rem;
  margin-top: 2rem;
  padding: .7rem 1.1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4375rem;
  display: inline-block;
  position: relative;
}

.date.i2-header-date {
  z-index: 4;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2.5rem;
  margin-top: 5rem;
  padding: .7rem 1.1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4375rem;
  display: inline-block;
  position: relative;
}

.text.section-text {
  letter-spacing: -.01em;
  width: 100%;
  max-width: 47.401rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  font-size: 1.375rem;
  line-height: 1.75rem;
  position: relative;
}

.text.section-text.section-text-74pers {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  justify-content: space-between;
  max-width: 36.6rem;
  transform: translate(-5.3rem);
}

.text.vrez_text {
  letter-spacing: -.02em;
  margin-top: -.5rem;
  margin-left: -.2rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: .75rem;
  font-weight: 600;
  line-height: .9375rem;
}

.text.quote_text {
  width: 100%;
  max-width: 27rem;
}

.text.f2_grid_solutions_text {
  text-align: left;
  font-size: 1.1875rem;
  line-height: 1.375rem;
}

.text.f2_quote_text {
  width: 100%;
  max-width: 26rem;
}

.text.footer-list-text {
  opacity: .3;
}

.text.header-main-text {
  z-index: 3;
  width: 100%;
}

.text.i-image-text {
  color: #828282;
  margin-top: 2.25rem;
  font-size: 1.22rem;
  line-height: 1.375rem;
}

.text.vrez-text {
  padding-left: .4rem;
  padding-right: .4rem;
}

.text.text-copy {
  opacity: .5;
  color: #000;
  text-align: right;
  letter-spacing: -.02em;
  opacity: .5;
  letter-spacing: -.02em;
  margin: 0;
  padding: 0;
  font-size: .9375rem;
  line-height: 1.25rem;
}

.text.i3-traffic-control-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
}

.text.i3-plan-city-text {
  margin-top: -.95rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.05;
}

.text.i-image-text-small {
  color: #828282;
  margin-top: 2.25rem;
  font-size: 1rem;
  line-height: 1.125rem;
}

.section.section-w {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section.section-920 {
  grid-column-gap: 1.75rem;
  grid-row-gap: 1.75rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 57.5rem;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.infographic_w.f1-info-10y {
  width: 100%;
  max-width: 70.625rem;
  margin-left: auto;
  margin-right: auto;
}

.infographic_w.f1-info-10y.infographic-w {
  max-width: 72.5rem;
}

.infographic_w.infographic-w {
  margin-top: 3.5rem;
  margin-bottom: 1rem;
  position: relative;
}

.infographic_w.f2_infographic_w_17_20 {
  width: 100%;
  max-width: 65.5rem;
  margin-left: auto;
  margin-right: auto;
}

.title.title-infographic {
  z-index: 1;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.875rem;
}

.title.title-infographic.title-top {
  width: 100%;
  max-width: 34.5rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  transform: translate(-6.5rem);
}

.title.header_title_itelic {
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  font-size: 4.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 4.125rem;
}

.title.title_main {
  font-size: 3.875rem;
  line-height: 4.125rem;
}

.title.vrez-text-img-title {
  letter-spacing: -.02em;
  margin-bottom: 1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.title.f2_grid_solutions_title {
  color: #262626;
  text-align: left;
  margin-top: 1.5rem;
  margin-bottom: 1.2rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.375rem;
}

.title.f2_grid_solutions_title_main {
  margin-bottom: 1.2rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.875rem;
}

.title.f2_title_main {
  font-size: 3.875rem;
  line-height: 4.125rem;
}

.title.f2_grid_city_plan_main_title {
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.875rem;
}

.title.f2_grid_city_plan_title {
  margin-bottom: .5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.375rem;
}

.title.i3-plan-city-title {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.17;
}

.title.inforaphic_col_title {
  color: #000;
  width: 100%;
  max-width: 36rem;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.75rem;
  line-height: 1.875rem;
}

.title.f3-header-title-italic {
  margin-bottom: .5rem;
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  font-size: 4.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 4.125rem;
}

.title.inforaphic_col__chart_title {
  color: #000;
  width: 100%;
  max-width: 36rem;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.75rem;
  line-height: 1.875rem;
}

.copy {
  width: 100%;
  max-width: 72.5rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
}

.copy.copy-infographic {
  color: #919191;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.125rem;
}

.copy.copy-vrez {
  color: #919191;
  letter-spacing: -.02em;
  padding-top: .8rem;
  padding-bottom: 1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: .75rem;
  line-height: .875rem;
}

.copy.footer_copy {
  opacity: .4;
  padding-top: 0;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.1875rem;
  line-height: 1.375rem;
}

.copy.f2-copy-infographic {
  color: #919191;
  text-align: left;
  max-width: 47.5rem;
  padding-bottom: 3.3rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.125rem;
}

.copy.footer_copy_dark {
  opacity: .3;
  padding-top: 0;
  padding-bottom: 0;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.1875rem;
  line-height: 1.375rem;
}

.copy.f3-copy-infographic {
  color: #919191;
  text-align: left;
  max-width: 47.5rem;
  padding-top: 1rem;
  padding-bottom: 0;
  font-size: 1.045rem;
  font-weight: 400;
  line-height: 1.125rem;
}

.image.image-100 {
  width: 100%;
}

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

.image.f2_grid_solutions_image {
  width: 8.75rem;
}

.image.f2_info_17_20 {
  width: 100%;
  max-width: 70.625rem;
}

.image.f2_infographic_17_20 {
  width: 100%;
  padding-top: 1.7rem;
}

.image.announce_image {
  width: 100%;
}

.image.f2-virtual-time-sun {
  width: 1.375rem;
  transition: opacity .2s;
  position: absolute;
  inset: 1rem auto auto 50%;
  transform: translate(-50%);
}

.image.i_image {
  border-radius: 1.5rem;
}

.image.i_header_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.image.vrez-image {
  margin-bottom: 1.25rem;
}

.image.image-full-svg {
  z-index: 2;
  position: absolute;
  inset: 0%;
}

.image.image-full-bg {
  z-index: 1;
  width: 100%;
  height: auto;
  position: relative;
}

.image.inforaphic-col-image {
  margin-top: .7rem;
  margin-bottom: 1rem;
}

.image.f3-image-full-bg {
  z-index: 1;
  z-index: 1;
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  position: relative;
}

.image.inforaphic-col-chart-image {
  margin-top: .7rem;
  margin-bottom: 1rem;
}

.image.f3-image-full-absolute {
  z-index: 2;
  width: 100%;
  height: auto;
  position: absolute;
}

.image.f3-image-full-bg, .image.f3-image-chart {
  z-index: 1;
  width: 100%;
  height: auto;
  position: relative;
}

.h2_w.h2-text-w {
  text-align: center;
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

.h2_w.i1-h2-text-w {
  text-align: center;
  padding-top: 5rem;
  padding-bottom: 2.9rem;
}

.h2 {
  margin-top: 0;
  margin-bottom: 0;
}

.h2.h2-text {
  font-size: 2.75rem;
  line-height: 2.75rem;
}

.h2.h2_multi_ttext {
  text-align: left;
  max-width: 47.4rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.33rem;
  line-height: 2.5rem;
}

.h2.i1_h2_text {
  text-align: left;
  max-width: 47.4rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.78rem;
  line-height: 1.875rem;
}

.image_big_w.image-big-w {
  width: 100%;
  max-width: 72.5rem;
  margin: 3.5rem auto;
  position: relative;
}

.image_big_w.image-big-w.i-image-big-w {
  margin-top: 2.4rem;
  margin-bottom: 1.6rem;
}

.image_w {
  margin-bottom: 0;
}

.image_w.image-grid-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}

.image_w.f1-image-grid-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 72.5rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.image_w.i_image_w {
  width: 100%;
  max-width: 71.8rem;
  margin: 3.2rem auto 1.5rem;
}

.quote.quote-w {
  letter-spacing: -.01em;
  background-color: #f4ede4;
  border-radius: 2.5rem;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 59.5rem;
  margin: 3rem auto 4rem;
  padding: 1.5rem 1.5rem 2.5rem;
  font-size: 1.0625rem;
  line-height: 1.375rem;
  display: flex;
}

.quote.f2-quote-w {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  letter-spacing: -.01em;
  background-color: #f4ede4;
  border-radius: 2.5rem;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 47.5rem;
  margin: 3rem auto 4rem;
  padding: 1.5rem 1.5rem 2.5rem;
  font-size: 1.0625rem;
  line-height: 1.375rem;
  display: flex;
}

.quote.f3-quote-w {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  letter-spacing: -.01em;
  background-color: #f4ede4;
  border-radius: 2.5rem;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 47.5rem;
  margin: 2.5rem auto 3rem;
  padding: 1.5rem 1.5rem 2.5rem;
  font-size: 1.18rem;
  line-height: 1.4rem;
  display: flex;
}

.visualisation.s-sticky {
  position: sticky;
  top: 0;
}

.story_block {
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
}

.inforaphic_wrapper {
  position: relative;
}

.inforaphic_wrapper.u-frame {
  aspect-ratio: 2.13;
  width: 100%;
}

.inforaphic_wrapper.u-frame.u-test-wrapper {
  aspect-ratio: auto;
  height: 100vh;
  margin-top: 3.5rem;
  margin-bottom: 6.5rem;
}

.text-vrez.text_vrez {
  width: 100%;
  max-width: 10.5rem;
  position: absolute;
  inset: 0% -12rem auto auto;
}

.num.vrez_num {
  letter-spacing: -.04em;
  margin-left: -.2rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 7.875rem;
  font-weight: 700;
  line-height: 1;
}

.rich-text-block {
  font-size: 1.4rem;
  line-height: 1.76rem;
}

.rich-text-block.section-text-74pers-text {
  max-width: 35rem;
}

.author_w.author-w {
  width: 100%;
  max-width: 16.5625rem;
}

.author_name.author-name {
  color: #828282;
  letter-spacing: -.01em;
  margin-bottom: .1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.1875rem;
}

.author_position.author-position {
  color: #828282;
  letter-spacing: -.01em;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: .9375rem;
  line-height: 1.1875rem;
}

.author_image.author-image {
  border-radius: 1rem;
  width: 100%;
  max-width: 5.3rem;
  margin-bottom: .9rem;
}

.col.main_col_big {
  width: 100%;
  position: relative;
}

.col.mian_col_small {
  width: 100%;
  max-width: 18rem;
  position: relative;
}

.col.f2_grid_city_plan_item {
  width: 21.25rem;
  height: 21.25rem;
  font-size: 1.1875rem;
  line-height: 1.375rem;
}

.col.f2_grid_solutions_item {
  text-align: center;
  background-color: #f4ede4;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  padding: 1.25rem;
}

.col.f2_grid_solutions_item_main {
  text-align: left;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  padding: 1.25rem;
  font-size: 1.1875rem;
  line-height: 1.375rem;
}

.col.i3-traffic-control-col {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  background-color: #f4ede4;
  border-radius: 1rem;
  flex-flow: column;
  padding: 1.25rem;
  display: flex;
}

.col.i3-plan-city-col {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.vrez_text_img.vrez-text-img {
  width: 100%;
  max-width: 17.5rem;
  position: absolute;
  inset: 0% 0% auto auto;
  transform: translate(100%);
}

.group_3_cards.group-3-cards {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 72.5rem;
  margin: 3.5rem auto 1.7rem;
  display: grid;
}

.footer.footer-w {
  color: #fff;
  background-color: #66903e;
  padding-top: 6.7rem;
  padding-bottom: 6.7rem;
}

.footer.main-footer-w {
  color: #fff;
  background-color: #283135;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.footer_col {
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 33rem;
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  display: flex;
}

.footer_col.footer-col-small {
  max-width: 23.9rem;
}

.footer_col.footer-col-small-dark {
  justify-content: flex-start;
  max-width: 23.9rem;
}

.footer_container {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch stretch;
  width: 100%;
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.375rem;
  line-height: 1.75rem;
  display: flex;
}

.footer_container.f1-footer-container {
  max-width: 72.5rem;
}

.footer-logo.footer_logo {
  width: 100%;
  max-width: 25.5rem;
}

.footer-logo.main_footer_logo {
  width: 100%;
  max-width: 25.5rem;
  margin-bottom: 2rem;
}

.footer-logo.main_footer_logo.main_footer_logo_dark {
  max-width: 20rem;
}

.list.footer-list {
  max-width: 28rem;
  margin-top: 2.4rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.375rem;
  position: relative;
}

.list.footer-list.footer-list-first {
  margin-top: 4.2rem;
  margin-bottom: 2.2rem;
}

.text-block {
  letter-spacing: -.01em;
}

.description.graph-description {
  color: #828282;
  width: 100%;
  max-width: 27.5rem;
  font-size: 1.1875rem;
  line-height: 1.375rem;
  position: absolute;
  inset: 20.8rem auto auto 0%;
}

.description.i-description {
  letter-spacing: -.01em;
  background-color: #f4ede4;
  border-radius: 1.5rem;
  width: 100%;
  max-width: 47rem;
  margin: 2rem auto 4.375rem;
  padding: 1.375rem;
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  font-size: 1.4rem;
  line-height: 1.75rem;
}

.text_main.text-regular {
  letter-spacing: -.01rem;
  width: 100%;
  max-width: 42.35rem;
  padding-left: 1.25rem;
  font-size: 1.5625rem;
  line-height: 1.9375rem;
}

.text-source {
  font-size: .9375rem;
  line-height: 1.25rem;
}

.text-2.u-text-grid {
  grid-column-gap: .9375rem;
  grid-row-gap: .9375rem;
  align-items: flex-start;
  max-width: 68.25rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.share_link_svg_w {
  display: flex;
}

.article_footer.u-article-footer {
  justify-content: space-between;
  padding-top: 2.3rem;
  padding-bottom: 13rem;
  display: flex;
}

.text-nmbr {
  font-size: 13.125rem;
  line-height: 13.125rem;
}

.text-nmbr.u-text-nmbr {
  margin-top: -1.4rem;
  margin-bottom: -.7rem;
  font-size: 10.75rem;
  line-height: 1;
}

.share {
  grid-column-gap: .6rem;
  grid-row-gap: .6rem;
  color: #7f7f7f;
  align-items: center;
  display: flex;
}

.share.share-w {
  width: 100%;
  max-width: 47.5rem;
  margin: 3.5rem auto 6rem;
  font-family: Lyon Text Desktop, Times New Roman, sans-serif;
  font-size: 1.375rem;
  line-height: 1.75rem;
}

.text-block-3 {
  color: #7f7f7f;
  padding-top: 0;
  font-size: 1.25rem;
  line-height: 1.375rem;
}

.publushed {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  align-items: baseline;
  display: flex;
}

.publushed.u-publushed {
  font-size: 1.25rem;
  line-height: 2.5;
}

.text_info {
  width: 100%;
  max-width: 15.6956rem;
  position: relative;
}

.text-letter {
  text-align: right;
  font-size: 14.1875rem;
  line-height: 10.5rem;
}

.article_finish.u-article-finish {
  color: #7f7f7f;
  padding-top: 3rem;
  font-size: 1.375rem;
  line-height: 1.9375rem;
}

.share_link {
  cursor: pointer;
}

.date_icon.date-icon, .date_icon.i-date-icon {
  text-align: center;
}

.arrow.header-arrow {
  text-align: center;
  margin-top: 3rem;
}

.arrow_w.arrow-w {
  text-align: center;
  width: 1.75rem;
  margin-left: auto;
  margin-right: auto;
}

.swiper_text.swiper-text {
  opacity: 0;
  color: #828282;
  margin-top: 2rem;
  font-size: 1.1875rem;
  line-height: 1.375rem;
  display: none;
}

.swiper_text.swiper-text.active {
  opacity: 1;
  font-size: 1rem;
  line-height: 1.125rem;
  display: block;
}

.swiper_text_w.swiper-text-w {
  margin-top: 2.1875rem;
  margin-bottom: 7rem;
  position: relative;
}

.group_item.group-item {
  color: #f16531;
  background-color: #f4ede4;
  border-radius: 1.25rem;
  padding: 8.8rem 1.5rem 1.5rem;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.1875rem;
  position: relative;
}

.number.group-item-number {
  height: 5.8rem;
  position: absolute;
  inset: 1.5rem auto auto 1.7rem;
}

.number.group-item-number.group-item-number-2 {
  width: 11.5rem;
  height: auto;
  margin-bottom: -.5rem;
}

.iframe_line.iframe-line {
  display: none;
}

.text-block-4 {
  letter-spacing: -.01em;
}

.text-block-5 {
  color: #7f7f7f;
  padding-top: 0;
  font-size: 1.25rem;
  line-height: 1.375rem;
}

.header_big_image.header-big-image {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: absolute;
  inset: 0%;
}

.footer-text.main_footer_text {
  opacity: .7;
  max-width: 27.2rem;
  margin-bottom: 2.5rem;
}

.grid.f2_grid_city_plan {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center;
  width: 70.625rem;
  margin: 5rem auto -2rem;
  display: grid;
}

.grid.f2_grid_solutions {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center;
  width: 70.625rem;
  margin: 5rem auto;
  display: grid;
}

.legend.f2_infographic_w_17_20_title {
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.875rem;
}

.legend.f2_infographic_w_17_20_legend {
  margin-top: .8rem;
}

.s-only-mob {
  display: none;
}

.video.i_header_video {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.video.i_header_video_mob {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  inset: 0%;
}

.video_w.f2-video-w {
  margin-top: -7rem;
  position: relative;
}

.point.f2-video-point {
  z-index: 3;
  opacity: 1;
  color: #fff;
  background-color: #000;
  border-radius: 2rem;
  padding: .5rem .625rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1875rem;
  position: absolute;
  inset: 0% auto auto 0%;
}

.point.f2-video-point.f2-video-point-1 {
  top: 37%;
  left: 16.7%;
}

.point.f2-video-point.f2-video-point-2 {
  top: 13%;
  left: 34%;
}

.point.f2-video-point.f2-video-point-3 {
  top: 32%;
  left: 50%;
}

.point.f2-video-point.f2-video-point-4 {
  top: 70%;
  left: 44.7%;
}

.point.f2-video-point.f2-video-point-5 {
  top: 53%;
  left: 48%;
}

.point.f2-video-point.f2-video-point-6 {
  top: 72%;
  left: 64%;
}

.point.f2-video-point.f2-video-point-7 {
  top: 14%;
  left: 18%;
}

.subtitle.f2_grid_city_plan_subtitle {
  color: #aaa;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.0625rem;
}

.arrow_up.arrow-up {
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  margin-left: auto;
  margin-right: auto;
}

.announce.announce_w {
  width: 100%;
  max-width: 47.5rem;
  margin-top: 5rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.link.announce_link, .link.header-link {
  position: absolute;
  inset: 0%;
}

.link.logo-link {
  z-index: 1;
  position: absolute;
  inset: 0%;
}

.link.link-copy {
  width: auto;
  height: 100%;
  margin-top: 0;
  position: absolute;
  inset: 0% -.1rem auto auto;
  transform: translate(100%);
}

.virtual-time.f2-virtual-time {
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 1rem;
  width: 5.3125rem;
  height: 5.5rem;
  padding: .7rem 2.7rem 1rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1875rem;
  position: relative;
}

.icon_w.f2-header-bottom-icon_w {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  width: 39rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.legend_mob.f2-header-legend-mob {
  display: none;
}

.text_w.f2_grid_city_plan_text_w {
  position: absolute;
}

.container {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.container.f2_infographic_w_17_20_container {
  display: block;
}

.container.i3-traffic-control-container {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.container.i3-plan-city-container {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  padding-top: 2.5rem;
  padding-bottom: 1.35rem;
}

.vrez_image_wrapper.wrapper {
  color: #f16532;
  background-color: #f4ede4;
  border-radius: 1rem;
  width: 14.55rem;
  margin-top: 1.3rem;
  padding: 1rem;
  font-family: Sbsanstext, Verdana, sans-serif;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.0625rem;
}

.copy_wrapper.copy-wrapper {
  width: 66.95rem;
  margin-top: 2.1rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.image-102.image-copy {
  width: 100%;
  height: 100%;
  display: block;
}

.copy_container.copy-container {
  position: relative;
}

.image-103.image-copy {
  width: auto;
  max-width: none;
  height: 100%;
}

.copy-2 {
  line-height: 1.25rem;
}

.copy-2.copy-wrapper {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  color: #000;
  letter-spacing: -.02em;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  width: 67.55rem;
  margin-top: 2.2rem;
  margin-left: auto;
  margin-right: auto;
  font-size: .9375rem;
  display: flex;
}

.details_w.details-w {
  width: 100%;
  max-width: 46.5rem;
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
}

.image-104 {
  overflow: hidden;
}

.image-105 {
  overflow: visible;
}

.wrapper.i3-plan-city-wrapper {
  max-width: 66.25rem;
  margin-left: auto;
  margin-right: auto;
}

.inforaphic_col_wrapper.inforaphic-col-wrapper, .inforaphic_col_wrapper.inforaphic-col-wrapper-chart {
  width: 100%;
  max-width: 47.5rem;
  margin: 3.5rem auto 1rem;
}

.inforaphic_full_wrapper.inforaphic-full-wrapper_chart {
  width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 3.5rem;
  position: relative;
}

.inforaphic_full_wrapper.f3-inforaphic-full-wrapper {
  width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 3rem;
  position: relative;
}

.text_wrapper.text_mob_wrapper {
  display: none;
}

.link-2 {
  margin-top: 1rem;
  display: block;
}

.link_position.link-position {
  color: #828282;
  width: 11.3rem;
  margin-top: 1rem;
  font-size: .928rem;
  line-height: 1.1875rem;
  display: block;
}

.announce_w.announce-w {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 70.5rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

@media screen and (max-width: 479px) {
  .header.header-container {
    min-height: 100dvh;
    padding-top: 8vh;
  }

  .header.f2-header-container {
    min-height: 100dvh;
    padding-top: 8vh;
    padding-bottom: 1rem;
  }

  .header.main-header-container {
    min-height: auto;
    margin-bottom: 1rem;
  }

  .header.i-header-container {
    min-height: 100dvh;
    padding-top: 8vh;
    padding-bottom: 1rem;
  }

  .header.f3-header-container {
    height: 100vh;
    min-height: 100vh;
    padding-top: 8vh;
    padding-bottom: 1rem;
  }

  .logo.header-logo {
    justify-content: center;
    width: 5rem;
    max-width: none;
    height: 5rem;
    display: flex;
  }

  .logo.f2-header-logo {
    justify-content: center;
    width: 12.5rem;
    max-width: none;
    height: auto;
    display: flex;
  }

  .logo.main-header-logo {
    width: auto;
    height: 7vh;
  }

  .title_w.header-title {
    padding: 11vh 1.25rem 0;
    font-size: 2rem;
    line-height: 2.5rem;
  }

  .title_w.f2-header-title {
    padding: 3.4vh 1.25rem 0;
    font-size: 2rem;
    line-height: 2.5rem;
  }

  .title_w.f2_infographic_w_17_20_title_w {
    margin-top: 2rem;
    margin-left: 0;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .title_w.i1-header-title {
    max-width: none;
    padding: 2.4rem 1.25rem 0;
    font-size: 1.875rem;
    line-height: 2rem;
    position: static;
  }

  .title_w.i2-header-title {
    max-width: none;
    padding: 5rem 1.25rem 0;
    font-size: 1.75rem;
    line-height: 1.9rem;
    position: static;
  }

  .title_w.i3-header-title {
    max-width: none;
    padding: 4rem 1rem 0;
    font-size: 1.76rem;
    line-height: 1.85rem;
    position: static;
  }

  .title_w.f3-header-title {
    padding: 2vh .85rem 0;
    font-size: 2rem;
    line-height: 2.5rem;
  }

  .title_w.i4-header-title {
    max-width: none;
    padding: 3rem 1.25rem 0;
    font-size: 1.75rem;
    line-height: 1.9rem;
    position: static;
  }

  .icon.chapter-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1.5rem;
  }

  .icon.section-m {
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
  }

  .icon.footer_list_icon {
    top: -2.3rem;
    left: 0;
  }

  .icon.group-item-icon {
    top: 1.25rem;
    right: 1.25rem;
  }

  .icon.icon_letrer_190 {
    max-width: 8.7rem;
  }

  .icon.f2-header-bottom-icon {
    width: auto;
    height: 3.3125rem;
  }

  .icon.f2-header-bottom-icon.f2-header-bottom-icon-legend {
    display: none;
  }

  .icon.f2_icon_letter {
    max-width: 9.375rem;
  }

  .icon.i1_icon_person {
    max-width: 13.5rem;
  }

  .icon.i-chapter-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: .5rem;
  }

  .icon.i3-plan-city-icon {
    width: 15.625rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .icon.i3-plan-city-icon_mob {
    width: 100%;
    margin-bottom: -.8125rem;
    display: block;
  }

  .icon.i3-plan-city-icon-box {
    display: none;
  }

  .icon.f3-chapter-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 4.6rem;
  }

  .icon.f3_icon_letter {
    max-width: 10.875rem;
    margin-top: -1rem;
    margin-bottom: 3rem;
  }

  .icon.i4-chapter-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: .5rem;
  }

  .date.header-date {
    font-size: 1rem;
    line-height: .625rem;
  }

  .date.f2-header-date {
    margin-top: 1rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .date.i-header-date {
    white-space: nowrap;
    margin-top: 1rem;
    padding: .5rem .8rem;
    font-size: .8125rem;
    line-height: .9375rem;
    position: absolute;
    inset: auto auto 6.3rem 50%;
    transform: translate(-50%);
  }

  .date.f3-header-date {
    margin-top: 4.2rem;
    padding: .4rem .8rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .date.i4-header-date {
    white-space: nowrap;
    margin-top: 1rem;
    padding: .5rem .8rem;
    font-size: .8125rem;
    line-height: .9375rem;
    position: absolute;
    inset: auto auto 10rem 50%;
    transform: translate(-50%);
  }

  .date.i1-header-date {
    white-space: nowrap;
    margin-top: 1rem;
    padding: .5rem .8rem;
    font-size: .8125rem;
    line-height: .9375rem;
    position: absolute;
    inset: auto auto 6.3rem 50%;
    transform: translate(-50%);
  }

  .date.i2-header-date {
    white-space: nowrap;
    margin-top: 1rem;
    padding: .5rem .8rem;
    font-size: .8125rem;
    line-height: .9375rem;
    position: absolute;
    inset: auto auto 2.6rem 50%;
    transform: translate(-50%);
  }

  .text.section-text {
    letter-spacing: -.01em;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.4375rem;
  }

  .text.section-text.section-text-74pers {
    padding-bottom: 0;
    transform: translate(0);
  }

  .text.vrez_text {
    font-size: 1.0625rem;
    line-height: 1.3125rem;
  }

  .text.quote_text, .text.f2_grid_solutions_text, .text.f2_quote_text {
    font-size: .9375rem;
    line-height: 1.1875rem;
  }

  .text.header-main-text {
    width: 100%;
  }

  .text.i-image-text {
    margin-top: 1rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .text.vrez-text {
    padding-left: 0;
    padding-right: 0;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .text.text-copy {
    text-align: left;
    font-size: .625rem;
    line-height: .75rem;
  }

  .text.i3-plan-city-text {
    margin-top: .375rem;
    font-size: .8125rem;
    line-height: 1.15;
  }

  .text.i-image-text-small {
    margin-top: 1rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .section.section-w {
    padding-top: 3rem;
  }

  .section.section-920 {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    margin-bottom: 1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .infographic_w.infographic-w {
    margin-top: 1rem;
  }

  .infographic_w.f2_infographic_w_17_20 {
    padding-left: 0;
    padding-right: 0;
  }

  .title.title-infographic {
    max-width: 100%;
    padding: 2.5rem 1.25rem 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
    transform: translate(0);
  }

  .title.title-infographic.title-top {
    margin-bottom: 0;
    padding-top: 0;
    transform: translate(0);
  }

  .title.header_title_itelic {
    font-size: 2.1875rem;
    line-height: 2rem;
  }

  .title.title_main {
    font-size: 1.5625rem;
    line-height: 2rem;
  }

  .title.vrez-text-img-title {
    font-size: .9375rem;
    line-height: 1.0625rem;
  }

  .title.f2_grid_solutions_title {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .title.f2_grid_solutions_title_main {
    margin-bottom: 1rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .title.f2_title_main {
    margin-top: .5rem;
    font-size: 1.9375rem;
    line-height: 2.0625rem;
  }

  .title.f2_grid_city_plan_main_title {
    margin-bottom: .7rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .title.f2_grid_city_plan_title {
    font-size: .9375rem;
    line-height: 1.0625rem;
  }

  .title.i3-plan-city-title {
    font-size: 1.125rem;
    line-height: 1.1;
  }

  .title.inforaphic_col_title {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .title.f3-header-title-italic {
    font-size: 2.1875rem;
    line-height: 2rem;
  }

  .title.inforaphic_col__chart_title {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .copy.copy-infographic {
    padding: 1.2rem 1.25rem 0;
    font-size: .6875rem;
    line-height: .8125rem;
  }

  .copy.footer_copy {
    order: 5;
    margin-top: .5rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .copy.f2-copy-infographic {
    padding: 1.2rem 1.25rem 0;
    font-size: .6875rem;
    line-height: .8125rem;
  }

  .copy.footer_copy_dark {
    order: 5;
    margin-top: .5rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .copy.f3-copy-infographic {
    padding: 1.2rem 1.25rem 0;
    font-size: .6875rem;
    line-height: .8125rem;
  }

  .image.f2_grid_solutions_image {
    width: 6.25rem;
  }

  .image.f2-virtual-time-sun {
    top: .5rem;
  }

  .image.i_image {
    width: 100%;
  }

  .image.vrez-image {
    width: 100%;
    padding-left: 1.3rem;
    padding-right: 1.3rem;
  }

  .image.inforaphic-col-image {
    width: 100%;
    margin-bottom: 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .image.f3-image-full-bg {
    margin-bottom: 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .image.inforaphic-col-chart-image {
    width: 100%;
    margin-top: .2rem;
    margin-bottom: 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .image.f3-image-full-absolute {
    z-index: 2;
    position: absolute;
  }

  .image.f3-image-full-bg {
    padding-left: 0;
    padding-right: 0;
  }

  .image.f3-image-chart {
    margin-bottom: 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .h2_w.h2-text-w {
    padding: .7rem 1.25rem .3rem;
  }

  .h2_w.i1-h2-text-w {
    margin-top: .6rem;
    padding: .7rem 1.25rem .3rem;
  }

  .h2.h2_multi_ttext {
    font-size: 1.4375rem;
    line-height: 1.6875rem;
  }

  .h2.i1_h2_text {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .image_big_w.image-big-w {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .image_big_w.image-big-w.i-image-big-w {
    margin-top: .4rem;
  }

  .image_w.image-grid-wrapper {
    grid-column-gap: 1.8rem;
    grid-row-gap: 1.8rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: grid;
  }

  .image_w.f1-image-grid-wrapper {
    grid-column-gap: 1.75rem;
    grid-row-gap: 1.75rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: grid;
  }

  .image_w.i_image_w {
    margin-top: 1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .quote.quote-w, .quote.f2-quote-w {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    border-radius: 1.5rem;
    flex-flow: column;
    width: calc(100% - 40px);
    margin: 2rem 20px 1.2rem;
    padding: .8rem .7rem 1.4rem;
  }

  .quote.f3-quote-w {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    border-radius: 1.5rem;
    flex-flow: column;
    width: calc(100% - 40px);
    margin: .6rem 1.25rem;
    padding: .8rem .7rem 1.4rem;
  }

  .inforaphic_wrapper.u-frame.u-test-wrapper {
    margin-top: 1rem;
    margin-bottom: 4.5rem;
  }

  .iframe_wrapper {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    position: relative;
  }

  .text-vrez.text_vrez {
    max-width: 100%;
  }

  .vrez-num-text {
    margin-top: 1rem;
    margin-bottom: .5rem;
  }

  .num.vrez_num {
    font-size: 12.5rem;
  }

  .rich-text-block {
    font-size: 1.125rem;
    line-height: 1.4375rem;
  }

  .author_w.author-w {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    max-width: 100%;
  }

  .author_image.author-image {
    height: 5.3rem;
  }

  .col.f2_grid_city_plan_item {
    width: 100%;
    height: auto;
    margin-bottom: 1.25rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .col.f2_grid_solutions_item {
    margin-bottom: 1.5rem;
  }

  .col.f2_grid_solutions_item_main {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .vrez_text_img.vrez-text-img {
    position: static;
    transform: translate(0%);
  }

  .group_3_cards.group-3-cards {
    grid-column-gap: 1.2rem;
    grid-row-gap: 1.2rem;
    grid-template-columns: 1fr;
    margin-top: 1rem;
    margin-bottom: 1.3rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .footer.footer-w, .footer.main-footer-w {
    padding-top: 2.3rem;
    padding-bottom: 3rem;
  }

  .footer_col {
    font-size: 1.125rem;
    line-height: 1.4375rem;
    display: contents;
  }

  .footer_container {
    flex-flow: column;
    grid-template-columns: 1fr;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .footer-logo.footer_logo, .footer-logo.main_footer_logo {
    order: 1;
    max-width: 13.8rem;
  }

  .footer-logo.main_footer_logo.main_footer_logo_dark {
    margin-bottom: .7rem;
  }

  .list.footer-list {
    order: 3;
    margin-top: 2.7rem;
    font-size: .8125rem;
    line-height: 1.0625rem;
  }

  .list.footer-list.footer-list-first {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .text-block {
    order: 2;
  }

  .description.graph-description {
    color: #828282;
    margin-top: 1.6rem;
    margin-bottom: 1.7rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: .8125rem;
    font-weight: 700;
    line-height: .9375rem;
    display: block;
    position: static;
  }

  .description.i-description {
    width: calc(100% - 2.5rem);
    margin-top: 0;
    margin-bottom: 2.5rem;
    padding: .95rem 1rem;
    font-size: 1.125rem;
    line-height: 1.4375rem;
  }

  .text-block-2, .bold-text {
    font-weight: 400;
  }

  .text_main.text-regular {
    letter-spacing: 0;
    padding-right: 1.25rem;
    font-size: 1.188rem;
    line-height: 1.5rem;
  }

  .text-source {
    font-size: .75rem;
    line-height: .9375rem;
  }

  .text-2 {
    order: 2;
  }

  .text-2.u-text-grid {
    grid-row-gap: 0rem;
    flex-flow: column;
  }

  .article_footer.u-article-footer {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    padding-top: 2rem;
    padding-bottom: 5rem;
  }

  .text-nmbr.u-text-nmbr {
    margin-top: .5rem;
    margin-bottom: 0;
    margin-left: 32vw;
    font-size: 6.125rem;
    line-height: 5.5rem;
  }

  .share {
    font-size: .75rem;
    line-height: .875rem;
  }

  .share.share-w {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.4375rem;
  }

  .publushed.u-publushed {
    font-size: .9375rem;
    line-height: 1.1875rem;
  }

  .publushed.u-published-date {
    font-size: 1.0625rem;
    line-height: 1.25rem;
  }

  .text_info {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .text-letter {
    text-align: center;
    margin-top: .8rem;
    margin-bottom: .3rem;
    font-size: 17.5rem;
    line-height: 17.5rem;
  }

  .article_finish.u-article-finish {
    padding-top: 0;
    font-size: 1rem;
    line-height: 1.375rem;
  }

  .arrow.header-arrow {
    margin-top: 2rem;
  }

  .image-101 {
    width: 2.25rem;
    height: 2.25rem;
  }

  .swiper_text.swiper-text {
    margin-top: 1rem;
    font-size: 1.125rem;
    line-height: 1.125rem;
  }

  .swiper_text.swiper-text.active {
    position: static;
  }

  .swiper_text_w.swiper-text-w {
    margin-top: 1rem;
    margin-bottom: 3rem;
  }

  .group_item.group-item {
    padding: 6.9rem 1.25rem 1rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .number.group-item-number {
    height: 4.575rem;
    top: 1.15rem;
    left: 1.45rem;
  }

  .number.group-item-number.group-item-number-2 {
    width: 8.925rem;
    left: 1.7rem;
  }

  .iframe_line.iframe-line {
    z-index: 1;
    width: 81%;
    height: calc(100% - 140px);
    display: none;
    position: absolute;
    inset: 0% auto auto 0%;
  }

  .text-block-4, .footer-text.main_footer_text {
    order: 2;
  }

  .grid.f2_grid_city_plan {
    width: 100%;
    margin-top: 2rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: block;
  }

  .grid.f2_grid_solutions {
    width: 100%;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: block;
  }

  .grid.u-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .legend.f2_infographic_w_17_20_title {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }

  .legend.f2_infographic_w_17_20_legend {
    width: 100%;
  }

  .s-only-desk {
    display: none;
  }

  .s-only-mob {
    display: block;
  }

  .video.f2-header-video-mob {
    width: 100%;
    height: auto;
    margin-top: 1.5rem;
  }

  .video.i_header_video {
    display: none;
  }

  .video.i_header_video_mob {
    display: block;
  }

  .point.f2-video-point {
    opacity: .8;
    white-space: nowrap;
    border-radius: .6rem;
    padding: .15rem .42rem;
    font-size: .6875rem;
    line-height: .8125rem;
  }

  .point.f2-video-point.f2-video-point-1 {
    display: none;
  }

  .point.f2-video-point.f2-video-point-2 {
    top: 19%;
    left: 56%;
  }

  .point.f2-video-point.f2-video-point-3 {
    top: 34%;
    left: 56%;
  }

  .point.f2-video-point.f2-video-point-4 {
    display: none;
  }

  .point.f2-video-point.f2-video-point-5 {
    top: 56%;
    left: 25%;
  }

  .point.f2-video-point.f2-video-point-6 {
    display: block;
    top: 79%;
    left: 25%;
  }

  .point.f2-video-point.f2-video-point-7 {
    top: 10%;
    left: 26%;
  }

  .subtitle.f2_grid_city_plan_subtitle {
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .arrow_up.arrow-up {
    width: 2.5rem;
    height: 2.5rem;
    margin-top: 2.5rem;
  }

  .announce.announce_w {
    margin-top: 2.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .link.link-copy {
    right: -.4rem;
  }

  .virtual-time.f2-virtual-time {
    width: 3.3125rem;
    height: 3.3125rem;
    padding: 1.25rem 2rem;
    font-size: .8125rem;
    line-height: .9375rem;
  }

  .icon_w.f2-header-bottom-icon_w {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    place-items: stretch center;
    width: 100%;
    margin-top: -3.6rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: flex;
  }

  .legend_mob.f2-header-legend-mob {
    width: calc(100% - 2.5rem);
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .container.f2_infographic_w_17_20_container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .container.i3-traffic-control-container {
    display: none;
  }

  .container.i3-plan-city-container {
    grid-column-gap: 3.4rem;
    grid-row-gap: 3.4rem;
    grid-template-columns: 1fr;
    padding-top: 1.5rem;
    padding-bottom: 1.05rem;
  }

  .vrez_image_wrapper.wrapper {
    width: 100%;
    margin-top: 1.6rem;
    margin-bottom: -.4rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }

  .copy_wrapper.copy-wrapper {
    grid-column-gap: .4rem;
    grid-row-gap: .4rem;
    flex-flow: row;
    width: 9rem;
    margin-top: 1.75rem;
    margin-left: auto;
    margin-right: 2.7rem;
  }

  .image-102, .image-103 {
    object-fit: cover;
  }

  .copy-2 {
    order: 4;
  }

  .copy-2.copy-wrapper {
    width: 17rem;
    margin-top: 1.4rem;
    margin-right: 3rem;
    padding-left: 1.25rem;
  }

  .details_w.details-w {
    margin-top: 2.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .inforaphic_col_wrapper.inforaphic-col-wrapper {
    margin-top: 2.5rem;
    margin-bottom: 2.7rem;
  }

  .inforaphic_col_wrapper.inforaphic-col-wrapper-chart {
    margin-top: 2.5rem;
    margin-bottom: 3.5rem;
  }

  .inforaphic_full_wrapper.inforaphic-full-wrapper_chart, .inforaphic_full_wrapper.f3-inforaphic-full-wrapper {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .text_wrapper.text_mob_wrapper {
    margin-top: 1rem;
    margin-bottom: 2rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: block;
  }

  .link_position.link-position {
    margin-top: .5rem;
  }

  .announce_w.announce-w {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    grid-template-columns: 1fr;
  }

  #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-5070c24e, #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-1083ec0d, #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-f977914e, #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-21cc8e89, #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-b3e1085e, #w-node-_1f45b825-d473-421a-1e03-76640e161f0f-ef4d4d9a {
    order: 9999;
  }
}


@font-face {
  font-family: 'Sbsanstext';
  src: url('../fonts/SBSansText-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sbsanstext';
  src: url('../fonts/SBSansText-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sbsanstext';
  src: url('../fonts/SBSansText-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sbsanstext';
  src: url('../fonts/SBSansText-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lyon Text Desktop';
  src: url('../fonts/Lyon-Text-Regular-Desktop.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lyon Text Desktop';
  src: url('../fonts/Lyon-Text-Bold-Desktop.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lyon Text Desktop';
  src: url('../fonts/Lyon-Text-Regular-Italic-Desktop.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}