@charset "utf-8";

footer {
  margin-top: max(-100px, -7.8125vw);
  z-index: 1;
}

@media screen and (max-width: 768px) {
  footer {
    margin-top: -90px;
  }
}
main {
  overflow: clip;
}
/* ↓↓↓ fv ↓↓↓ */
.fv {
  position: relative;
}

.fv .bg_wrap {
  position: relative;
  width: 100%;
  background-color: #fff;
  padding: 160px 0 0;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .fv .bg_wrap {
    padding: 132px 0 0;
  }
}

.fv .inner {
  position: relative;
  max-width: 1032px;
  container-type: inline-size;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .fv .inner {
    padding-bottom: 40px;
  }
}

.fv .inner .item {
  position: absolute;
  opacity: 0;
  translate: -50% 10%;
}
.fv .inner .item01 {
  width: min(79.84375vw, 1022px);
  top: min(5.625vw,72px);
  left: 48%;
}
.fv .inner .item02 {
  width: min(79.53125vw, 1018px);
  top: max(-4.140625vw,-53px);
  left: 55.5%;
}
@media screen and (max-width: 768px) {
  .fv .inner .item01 {
    display: none;
  }
  .fv .inner .item02 {
    width: 335px;
    top: -60px;
    left: 50%;
  }
}
.fv .page_ttl {
  position: relative;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

.fv .page_ttl::after {
  content: '';
  position: absolute;
  width: 2.5193798449612403cqw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../img/recycle/pagettl_deco2.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  translate: -50% 100%;
  bottom: -0.29069767441860467cqw;
  left: 50%;
}

@media screen and (max-width: 768px) {
  .fv .page_ttl::after {
    width: 16px;
    bottom: -4px;
  }
}

.fv .page_ttl .en {
  position: relative;
  width: fit-content;
  font-size: 9.689922480620156cqw;
  font-family: var(--Livvic);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--keywords_color);
  display: block;
  -webkit-text-stroke: 2px #000;
}

@media screen and (max-width: 768px) {
  .fv .page_ttl .en {
    font-size: 5.6rem;
    -webkit-text-stroke: 1px #000;
  }
}

.fv .page_ttl .ja {
  position: relative;
  width: fit-content;
  font-size: clamp(1.4rem, 1.744186046511628cqw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #000;
  display: block;
  padding: 0.3875968992248062cqw 1.550387596899225cqw;
  margin: 1.937984496124031cqw auto 0;
}

@media screen and (max-width: 768px) {
  .fv .page_ttl .ja {
    font-size: 1.6rem;
    padding: 4px 16px;
    margin: 16px auto 0;
  }
}

.fv .bg_bottom {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: clip;
  translate: -50% 100%;
  bottom: min(0.625vw, 8px);
  left: 50%;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .fv .bg_bottom {
    bottom: 2px;
  }
}

.fv .bg_bottom .bg_parts {
  width: max(100%, 1920px);
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .fv .bg_bottom .bg_parts {
    width: 100%;
  }
}

/* ↑↑↑ fv ↑↑↑ */
/* ↓↓↓ lead_block ↓↓↓ */
.lead_block {
  position: relative;
  margin-top: 280px;
  padding: 0 30px;
}

@media screen and (max-width: 768px) {
  .lead_block {
    margin-top: 34.66666666666667vw;
    padding: 0 25px 0;
  }
}

.lead_block .inner {
  max-width: 1032px;
  container-type: inline-size;
  margin: 0 auto;
}

.lead_block .inner .lead_txt {
  font-size: clamp(1.4rem, 1.550387596899225cqw, 1.6rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lead_block .inner .lead_txt {
    font-size: 1.6rem;
  }
}

/* ↑↑↑ lead_block ↑↑↑ */

/* ↓↓↓ intro_block ↓↓↓ */
.intro_block {
  padding: 0 24px;
  margin-top: 120px;
}

@media screen and (max-width: 768px) {
  .intro_block {
    max-width: 500px;
    padding: 0;
    margin: 80px auto 0;
  }
}

.intro_block .inner {
  position: relative;
  max-width: 1136px;
  margin: 0 auto;
  container-type: inline-size;
}

.intro_block .inner .head {
  position: relative;
  text-align: center;
  width: fit-content;
  font-family: var(--Zen_Maru);
  font-size: 3.5211267605633805cqw;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0 5.28169014084507cqw;
  margin: 0 auto 4.929577464788732cqw;
}

@media screen and (max-width: 768px) {
  .intro_block .inner .head {
    font-size: 2.4rem;
    padding: 0 35px;
    margin: 0 auto 32px;
  }
}

.intro_block .inner .head::before,
.intro_block .inner .head::after {
  content: '';
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  left: 0;
  width: 2.8169014084507045cqw;
  aspect-ratio: 32/48;
  background: url(../img/keywords/intro_head.png) no-repeat;
  background-size: cover;
}

.intro_block .inner .head::after {
  left: initial;
  right: 0;
  rotate: 67deg;
}

@media screen and (max-width: 768px) {

  .intro_block .inner .head::before,
  .intro_block .inner .head::after {
    width: 24px;
    aspect-ratio: 24/32;
    background: url(../img/keywords/intro_head_sp.png) no-repeat;
    background-size: cover;
  }
}

.intro_block .inner .intro_image {
  position: relative;
}

.intro_block .inner .intro_parts {
  position: relative;
  z-index: 1;
}

.intro_block .inner .intro_deco01 {
  position: absolute;
  top: 25.352112676056336cqw;
  right: 17.077464788732392cqw;
  width: 12.411971830985916cqw;
}

.intro_block .inner .intro_deco02 {
  position: absolute;
  top: 21.30281690140845cqw;
  right: 0;
  width: 17.781690140845072cqw;
}

@media screen and (max-width: 768px) {
  .intro_block .inner .intro_deco01 {
    top: initial;
    right: initial;
    bottom: -34.13333333333333cqw;
    left: 0;
    width: 17.333333333333336cqw;
    overflow: hidden;
  }

  .intro_block .inner .intro_deco02 {
    position: absolute;
    top: initial;
    right: 4cqw;
    width: 75.46666666666667cqw;
  }
}

/* ↑↑↑ intro_block ↑↑↑ */

/* ↓↓↓ keywords ↓↓↓ */
.keywords {
  padding: 0 24px;
  margin-top: 120px;
}

@media screen and (max-width: 768px) {
  .keywords {
    padding: 0 25px;
    margin-top: 340px;
  }
}

.keywords .inner {
  position: relative;
  max-width: 1032px;
  margin: 0 auto;
  container-type: inline-size;
}

.keywords .container {
  display: flex;
  flex-wrap: wrap;
  gap: 22.28682170542636cqw 8.527131782945736cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container {
    flex-direction: column;
    gap: 63px;
  }
}

.keywords .container .article {
  position: relative;
}

.keywords .container .article.-red {
  --article_color: #FDA486;
}

.keywords .container .article.-yellow {
  --article_color: #FEF589;
}

.keywords .container .article.-green {
  --article_color: #CAF555;
}

.keywords .container .article.-blue {
  --article_color: #B6E4FF;
}

.keywords .container .article {
  width: 45.73643410852713cqw;
}

@media (min-width: 769px) {

  /* PCでの順序設定 */
  .keywords .container .article.item-01 {
    order: 1;
  }

  .keywords .container .article.item-02 {
    order: 0;
  }

  .keywords .container .article.item-03 {
    order: 3;
  }

  .keywords .container .article.item-04 {
    order: 2;
  }

  .keywords .container .article.item-05 {
    order: 5;
  }

  .keywords .container .item-06 {
    order: 4;
  }

  .keywords .container .article.item-07 {
    order: 6;
    width: 100%;
    margin-top: 14.050387596899224cqw;
  }

  .keywords .container .article:nth-of-type(even) {
    translate: 0 22.28682170542636cqw;
  }
}

@media screen and (max-width: 768px) {
  .keywords .container .article {
    width: 100%;
  }
  .keywords .container .article.item-04 {
    margin-top: 87px;
  }
  .keywords .container .article.item-05 {
    margin-top: 147px;
  }
  .keywords .container .article.item-06 {
    margin-top: 63px;
  }
  .keywords .container .article.item-07 {
    margin-top: 148px;
  }
}

.keywords .container .article_wrap {
  position: relative;
  border: 2px solid #000000;
  background-color: #fff;
  padding: 2.3255813953488373cqw 4.651162790697675cqw 4.651162790697675cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article_wrap {
    border: 1px solid #000000;
    padding: 24px 24px 48px;
  }
}

.keywords .container .article.item-07 .article_wrap {
  padding: 6.2015503875969cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article.item-07 .article_wrap {
    padding: 24px 24px 48px;
  }
}

.keywords .container .article_wrap::before {
  content: '';
  position: absolute;
  width: 3.9728682170542635cqw;
  height: auto;
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--article_color) 50%, #F8FFEB 50%);
  bottom: -3px;
  right: -3px;
}

@media screen and (max-width: 768px) {
  .keywords .container .article_wrap::before {
    width: 41px;
    bottom: -2px;
    right: -2px;
  }
}

.keywords .container .article .numbering {
  position: absolute;
  translate: 0 -100%;
  top: -2px;
  left: -2px;
  font-family: var(--Livvic);
  font-size: 1.550387596899225cqw;
  font-weight: 600;
  padding: 0.4844961240310077cqw 3.875968992248062cqw;
  border: 2px solid #000;
  border-bottom: none;
  background-color: var(--article_color);
}

@media screen and (max-width: 768px) {
  .keywords .container .article .numbering {
    top: -1px;
    left: -1px;
    font-size: 1.6rem;
    padding: 6px 38px;
    border: 1px solid #000;
    border-bottom: none;
  }
}

.keywords .container .article .num_group {
  text-align: center;
  margin-bottom: 2.3255813953488373cqw;
}
.keywords .container .article .data_item .num_group {
  margin-bottom: 1.1627906976744187cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .num_group {
    margin-bottom: 16px;
  }
}

.keywords .container .article .num_group .value {
  font-family: var(--Livvic);
  font-size: 11.627906976744185cqw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--article_color);
  -webkit-text-stroke: 0.1937984496124031cqw #000;
}

.keywords .container .article.item-02 .num_group .value {
  font-size: 6.2015503875969cqw;
}

.keywords .container .article.item-05 .num_group .value {
  font-size: 9.689922480620156cqw;
}

.keywords .container .article.item-05 .num_group .value small {
  font-size: 6.2015503875969cqw;
}

.keywords .container .article.item-07 .num_group .value {
  font-size: 8.527131782945736cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .num_group .value {
    font-size: 8rem;
    -webkit-text-stroke: 1px #000;
  }

  .keywords .container .article.item-02 .num_group .value {
    font-size: 4.4rem;
  }

  .keywords .container .article.item-05 .num_group .value {
    font-size: 7rem;
  }

  .keywords .container .article.item-05 .num_group .value small {
    font-size: 4rem;
  }

  .keywords .container .article.item-07 .num_group .value {
    font-size: 4.8rem;
  }
}

.keywords .container .article .num_group .unit {
  font-size: 3.875968992248062cqw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .num_group .unit {
    font-size: 3.2rem;
  }
}

.keywords .container .article.item-07 .num_group .unit {
  font-size: 4.651162790697675cqw;
}

.keywords .container .article.item-07 .num_group .unit:first-of-type {
  font-size: 3.10077519379845cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article.item-07 .num_group .unit {
    font-size: 3.2rem;
  }

  .keywords .container .article.item-07 .num_group .unit:first-of-type {
    font-size: 2.4rem;
  }
}

.keywords .container .article .txt_group {
  text-align: center;
  margin-top: 1.550387596899225cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .txt_group {
    margin-top: 16px;
  }
}

.keywords .container .article .txt_group .lead {
  font-size: 1.937984496124031cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .txt_group .lead {
    font-size: 1.8rem;
  }
  .keywords .container :is(.item-06,.item-07) .txt_group .lead {
    font-size: 2rem;
  }
}

.keywords .container .article .txt_group .txt {
  font-size: 1.550387596899225cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 1.550387596899225cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .txt_group .txt {
    font-size: 1.6rem;
    margin-top: 16px;
  }
}

.keywords .container .article .txt_group .txt .line {
  background: linear-gradient(transparent 60%, var(--article_color) 60%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.keywords .container .article .txt_group .txt .data {
  font-size: 2.3255813953488373cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .txt_group .txt .data {
    font-size: 7.384615384615385cqw;
  }
}

.keywords .container .article .txt_group .attention {
  font-size: 1.3565891472868217cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 1.550387596899225cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .txt_group .attention {
    font-size: 1.4rem;
    margin-top: 8px;
  }
}

.keywords .container .article .img {
  position: relative;
  box-sizing: border-box;
  border: 2px dashed #000;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .img {
    border: 1px dashed #000;
  }
}

.keywords .container .article .block {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3255813953488373cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block {
    flex-direction: column;
    gap: 4.923076923076923cqw;
  }
}

.keywords .container .article .block+.block {
  gap: 1.937984496124031cqw;
  margin-top: 5.426356589147287cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block+.block {
    margin-top: 24px;
  }
}

.keywords .container .article .block .block__txt {
  flex: 1;
}

.keywords .container .article .block .img {
  width: 42.63565891472868cqw;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {

  .keywords .container .article .block .block__txt,
  .keywords .container .article .block .img {
    width: 100%;
  }
}

.keywords .container .article .block .txt_group .txt {
  text-align: justify;
}

.keywords .container .article .block .data_item {
  position: relative;
  width: calc((100% - 1.937984496124031cqw) / 2);
  padding: 2.3255813953488373cqw 2.3255813953488373cqw;
  background-color: #F8FFEB;
}
.keywords .container .article .block .data_item:nth-of-type(-n+3) {
  width: calc((100% - 1.937984496124031cqw*2) / 3);
}
@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_item,
  .keywords .container .article .block .data_item:nth-of-type(-n+3) {
    width: 100%;
    padding: 7.384615384615385cqw 4.923076923076923cqw;
  }
}

.keywords .container .article .block .data_item::before {
  content: '';
  position: absolute;
  width: 3.1976744186046515cqw;
  height: auto;
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--article_color) 50%, #fff 50%);
  bottom: -1px;
  right: -1px;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_item::before {
    width: 33px;
  }
}

.keywords .container .article .block .data_head {
  text-align: center;
  font-size: 1.937984496124031cqw;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 1.550387596899225cqw;
  margin-bottom: 1.550387596899225cqw;
  background-image: repeating-linear-gradient(90deg, #000000, #000000 10px, transparent 10px, transparent 20px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_head {
    font-size: 2rem;
    padding-bottom: 16px;
    margin-bottom: 16px;
    background-image: repeating-linear-gradient(90deg, #000000, #000000 5px, transparent 5px, transparent 10px);
    background-size: 100% 1px;
  }
}

.keywords .container .article .block .data_bubble {
  position: relative;
  width: max-content;
  text-align: center;
  margin: 1.550387596899225cqw auto 0.5813953488372093cqw;
  font-size: 1.550387596899225cqw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #000;
  border-radius: 3.10077519379845cqw;
  padding: 0.3875968992248062cqw 0.7751937984496124cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_bubble {
    margin: 16px auto 6px;
    font-size: 1.6rem;
    border-radius: 32px;
    padding: 4px 8px;
  }
}

.keywords .container .article .block .data_bubble::after {
  content: '';
  position: absolute;
  translate: -50% 100%;
  bottom: 1px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  border-width: 6px 3.5px 0px 3.5px;
}

.keywords .container .article .block .data_item .value {
  font-size: 4.651162790697675cqw;
}

.keywords .container .article .block .data_item .unit {
  font-size: 2.3255813953488373cqw;
}

.keywords .container .article .block .data_item .unit:first-of-type {
  font-size: 1.937984496124031cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_item .value {
    font-size: 4rem;
  }

  .keywords .container .article .block .data_item .unit {
    font-size: 2.4rem;
  }

  .keywords .container .article .block .data_item .unit:first-of-type {
    font-size: 2rem;
  }
}

.keywords .container .article .block .data_item .txt {
  text-align: center;
  font-size: 1.550387596899225cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .block .data_item .txt {
    font-size: 16px;
  }
}

.keywords .container .article .article_figure {
  width: 100%;
  margin-top: 5.426356589147287cqw;
}

@media screen and (max-width: 768px) {
  .keywords .container .article .article_figure {
    width: 100%;
    margin-top: 24px;
  }
}

.keywords .creature {
  position: absolute;
}
.keywords .creature01 {
  width: 50.968992248062015cqw;
  top: -27.131782945736433cqw;
  left: -63.95348837209303cqw;
}
.keywords .creature02 {
  width: 26.16279069767442cqw;
  top: -18.217054263565892cqw;
  right: 4.844961240310078cqw;
}
.keywords .creature03 {
  width: 39.43798449612403cqw;
  top: -19.57364341085271cqw;
  left: 7.655038759689922cqw;
}
.keywords .creature04 {
  width: 15.891472868217054cqw;
  opacity: 0;
  top: -13.662790697674417cqw;
  right: min(max(calc((-43 + 15) * ((100vw - 1092px) / (1280 - 1092)) - 15px),-43px),-10px);
  z-index: 1;
}
.keywords .creature05 {
  width: 12.015503875968992cqw;
  opacity: 0;
  top: -15.503875968992247cqw;
  left: 19.767441860465116cqw;
}
.keywords .creature06 {
  width: 31.1046511627907cqw;
  bottom: -5.329457364341085cqw;
  right: -42.73255813953488cqw;
  z-index: 1;
}
.keywords .creature07 {
  width: 10.465116279069768cqw;
  opacity: 0;
  top: -11.046511627906977cqw;
  right: max(calc((-43 + 25) * ((100vw - 1092px) / (1280 - 1092)) - 25px),-43px);
}
.keywords .creature08 {
  width: 32.65503875968992cqw;
  bottom: -20.058139534883722cqw;
  right: min(max(calc((-48 + 20) * ((100vw - 1092px) / (1280 - 1092)) - 20px),-48px),-10px);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .keywords .creature01 {
    right: -17px;
    width: 255px;
    top: -248px;
    left: initial;
  }
  .keywords .creature02 {
    width: 188px;
    top: unset;
    right: unset;
    bottom: -90px;
    left: 16px;
    z-index: 1;
  }
  .keywords .creature03 {
    width: 270px;
    top: unset;
    left: unset;
    bottom: -180px;
    right: 0;
    z-index: 1;
  }
  .keywords .creature04 {
    width: 88px;
    top: unset;
    bottom: -152px;
    right: 0;
  }
  .keywords .creature05 {
    width: 66px;
    top: -108px;
    left: 38px;
  }
  .keywords .creature06 {
    width: 194px;
    bottom: -157px;
    right: unset;
    left: 21px;
  }
  .keywords .creature07 {
    width: 52px;
    top: -95px;
    right: 14px;
  }
  .keywords .creature08 {
    width: 248px;
    bottom: -143px;
    right: -11px;
  }
}
.keywords .creature picture {
  display: block;
}
.keywords .creature .creature_img {
  position: relative;
  width: 100%;
  opacity: 0;
  z-index: 1;
}
.keywords .creature .creature_speech {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  top: 0;
  left: 0;
}

/* ↑↑↑ keywords ↑↑↑ */

/* ↓↓↓ vision ↓↓↓ */
.vision {
  position: relative;
  background-color: #DEF5EF;
  padding: 0 24px 220px;
  margin: min(29.21875vw, 374px) auto 0;
  z-index: 1;
}

@media (max-width: 768px) {
  .vision {
    padding: 0 25px 170px;
    margin: 290px auto 0;
  }
}

.vision .bg_top {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: clip;
  translate: -50% -100%;
  top: 1px;
  left: 50%;
  z-index: 1;
}

.vision .bg_top .bg_parts {
  width: max(100%, 1920px);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .vision .bg_top .bg_parts {
    width: 100%;
  }
}

.vision .bg_cementman {
  position: absolute;
  translate: -50% -100%;
  top: min(15px, 1.171875vw);
  left: 50%;
  width: min(256px, 20vw);
  z-index: 1;
}

@media (max-width: 768px) {
  .vision .bg_cementman {
    top: 23px;
    width: 150px;
  }
}

.vision .inner {
  position: relative;
  max-width: 1032px;
  margin: 0 auto;
  container-type: inline-size;
}

@media (max-width: 768px) {
  .vision .inner {
    padding-top: 54px;
  }
}

.vision .inner .deco01 {
  position: absolute;
  left: -6.2984496124031cqw;
  bottom: -6.395348837209303cqw;
  width: min(13.953488372093023cqw, 144px);
  z-index: 1;
}

@media (max-width: 768px) {
  .vision .inner .deco01 {
    top: 0;
    right: -5px;
    left: initial;
    bottom: initial;
    width: 75px;
  }
}

.vision .inner .conts_ttl {
  position: relative;
  width: fit-content;
  display: flex;
  align-items: flex-end;
}

.vision .inner .conts_ttl .en {
  position: relative;
  width: fit-content;
  font-size: 6.2015503875969cqw;
  font-family: var(--Livvic);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  -webkit-text-stroke: 0.1937984496124031cqw #000;
}

@media screen and (max-width: 768px) {
  .vision .inner .conts_ttl .en {
    font-size: 4.8rem;
    -webkit-text-stroke: 1px #000;
  }
}

.vision .inner .conts_ttl .ja {
  position: relative;
  width: fit-content;
  height: max-content;
  font-size: clamp(1.4rem, 1.744186046511628cqw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #1D1D1D;
  display: block;
  padding: 0.3875968992248062cqw 1.550387596899225cqw;
  margin-left: 2.131782945736434cqw;
  margin-bottom: 0.6782945736434108cqw;
}

@media screen and (max-width: 768px) {
  .vision .inner .conts_ttl .ja {
    font-size: 1.8rem;
    padding: 2px 16px;
    margin-left: 12px;
    margin-bottom: 3px;
  }
}

.vision .inner .container {
  display: flex;
  margin: 3.875968992248062cqw auto 0;
  gap: 8.527131782945736cqw;
}

@media screen and (max-width: 768px) {
  .vision .inner .container {
    flex-direction: column;
    margin: 32px auto 0;
    gap: 32px;
  }
}

.vision .inner .container .img {
  position: relative;
  width: 48.837209302325576cqw;
  height: max-content;
  border: 2px dashed #000;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .vision .inner .container .img {
    width: 100%;
  }
}

.vision .inner .container .txt_group .lead_txt {
  font-size: clamp(1.2rem, 1.550387596899225cqw, 1.6rem);
  font-weight: 500;
  line-height: 2;
}

.vision .inner .container .txt_group .lead_txt+.lead_txt {
  margin-top: 2.9069767441860463cqw;
}

@media screen and (max-width: 768px) {
  .vision .inner .container .txt_group .lead_txt {
    font-size: 1.6rem;
  }

  .vision .inner .container .txt_group .lead_txt+.lead_txt {
    margin-top: 35px;
  }
}

/* ↑↑↑ vision ↑↑↑ */

@media (max-width: 1280px) {}

.intro_deco01 img {
  translate: -60% 0;
  opacity: 0;
}

.intro_deco02 img {
  transform-origin: left center;
  scale: 0;
  opacity: 0;
}