/* ==================================
== kv
================================== */
#kv {
  padding-top: 14.733906svh;
  position: relative;
}

#kv::after {
  content: "";
  width: 100vw;
  aspect-ratio: 0.55693;
  background: no-repeat top right / contain;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDg1NiAxNTM3Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjODJjY2QyOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjguNy4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogMS4yLjAgQnVpbGQgMTQyKSAgLS0+CiAgPGc+CiAgICA8ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvF8xIj4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNODU2LDBoLTI1Mi42Yy04Ni43LDU5LjEtMTkzLjIsMTIwLjEtMzM0LjEsMTc0LjZDMTc0LjQsMjExLjIsODMuNiwyMzguMSwwLDI2Mi42djExOTcuNWMxMzIuMSw2NiwyNzYuMyw5MS40LDQxMC44LDYyLjgsMTczLjgtMzcsMzI4LjUtMTM1LjcsNDQ1LjItMjMxLjdWMFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==");
  top: 0;
  left: 0;
  position: absolute;
  z-index: -1;
}

.kv__image {
  margin-top: -60px;
  margin-left: auto;
  width: calc(100vw - min(8vw, 40px));
}

.kv__text {
  /* margin-top: 80px; */
  margin-left: min(8vw, 40px);
  position: relative;
  z-index: 2;
}

.kv__text__en {
  color: #FFF;
  font-size: min(8.8vw, 4.0rem);
  font-family: var(--en-sub-font-family);
  font-weight: 500;
  margin-bottom: 15px;
}

.kv__text__box span {
  color: var(--blue-color);
  font-size: 2rem;
  background: #FFF;
  width: max-content;
  display: block;
  padding: 8px;
}

.kv__text__sub {
  color: #FFF;
  font-size: 1.75rem;
  line-height: 1.6;
  margin-left: min(8vw, 40px);
  margin-top: 12px;
}

.kv__text__sub span {
  position: relative;
}

.kv__text__sub span::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #FFF;
  bottom: -2px;
  left: 0;
  position: absolute;
  z-index: 1;
}

.kv__text__sub span strong {
  font-size: 2.05rem;
  font-weight: 400;
}

@media screen and (max-width: 768px) {}

@media screen and (min-width: 769px) {
  #kv {
    /* min-height: 100svh; */
    margin-top: -70px;
    padding-top: 100px;
  }

  #kv::after {
    aspect-ratio: 1.52285;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEzNjYgODk3Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjODJjY2QyOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjguNy4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogMS4yLjAgQnVpbGQgMTQyKSAgLS0+CiAgPGc+CiAgICA8ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvF8xIj4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTM2NiwwaC01MzYuOGMtODEsMzcuNS0xNzMuMyw3My4yLTI4NSw4My40LTE5NS4xLDE3LjgtNDIzLjktLjEtNTQ0LjIsMTI5LjJ2NTA2LjZjOTYuNywxMjAuNywyNjQuNiwxNzcuMyw0MzIuNywxNzcuMywyNzYuMSwwLDUyOC40LTI1NC4zLDUyOC40LTI1NC4zLDAsMCwyODAuOS0yMDcuNCw0MDQuOS0zODVWMFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==");
  }

  .kv__image {
    max-width: min(71.22vw, 1300px);
    /* max-height: 85svh; */
    aspect-ratio: 1.556503198294243;
    margin-top: 0;
    /* 
    bottom: 0;
    right: 0;
    overflow: hidden;
    position: absolute;
    z-index: 1; */
    display: block;
    margin-left: auto;
  }

  .kv__image img {
    margin-left: auto;
    display: block;
  }

  .kv__text {
    top: 170px;
    left: 90px;
    position: absolute;
    z-index: 2;
  }

  .kv__text__en {
    font-size: 7.1rem;
  }

  .kv__text__en .kv__text__en__shadow {
    color: var(--blue-color);
    width: max-content;
    top: 3px;
    left: 3px;
    position: absolute;
    z-index: -1;
  }

  .kv__text__box {
    margin-bottom: 20px;
  }

  .kv__text__box span {
    font-size: 3.2rem;
    padding: 10px 10px 13px;
  }

  .kv__text__box span:first-child {
    margin-bottom: 8px;
  }

  .kv__text__sub {
    font-size: 2.0rem;
    line-height: 1.6;
    margin-top: 0;
    margin-left: 0;
    letter-spacing: 0.04em;
  }

  .kv__text__sub span strong {
    font-size: 3.0rem;
  }
}

/* ==================================
== section1
================================== */
#section1 {
  padding: 35px 0 0;
  position: relative;
}

.section1__map {
  width: min(88.66vw, 380px);
  margin: 0 auto 32px;
}

.section1__text {
  line-height: 2;
  position: relative;
}

@media screen and (max-width: 768px) {
  .section1__text {
    width: var(--page-width);
    margin: auto;
  }

  #section1::before {
    content: "";
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDg1NiAzMDQiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICM4MmNjZDI7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC43LjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAxLjIuMCBCdWlsZCAxNDIpICAtLT4KICA8Zz4KICAgIDxnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8XzEiPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04NTYsLjVjLTIuNywwLTUuMSwwLTcuNiwwQzUyMS4yLjQsNDM1LjEsMTczLjcsMjExLjMsMTg5LjVjLTEyMC43LDguNS0xNjguNy0yLjctMjExLjMtMTQuOHYxMjkuMmg4NTZWLjVaIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=") no-repeat center bottom / contain;
    width: calc(100vw + 4px);
    aspect-ratio: 2.83;
    bottom: 268px;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    z-index: -1;
  }

  #section1::after {
    content: "";
    background: var(--blue-color);
    width: calc(100vw + 4px);
    height: 270px;
    bottom: -1px;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    z-index: -1;
  }

}

@media screen and (min-width: 769px) {
  #section1 {
    padding: 60px 0 75px;
  }

  .section1__flex {
    gap: 54px;
    width: max-content;
    margin: auto;
  }

  .section1__map {
    width: min(43.19vw, 590px);
  }
}

/* ==================================
== section2
================================== */
#section2 {
  padding: 45px 0 0;
  position: relative;
}

#section2::after {
  content: "";
  width: 100vw;
  aspect-ratio: 1.339215;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTM2NiIgaGVpZ2h0PSIxMDIwIiB2aWV3Qm94PSIwIDAgMTM2NiAxMDIwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxyZWN0IHdpZHRoPSIxMzY2IiBoZWlnaHQ9IjEwMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTAzMSkiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMTAzMSkiIGNsaXAtcGF0aD0idXJsKCNhKSI+PHJlY3Qgd2lkdGg9IjEzNjYiIGhlaWdodD0iNTY4LjA3MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxMjk3LjUzNikiIGZpbGw9IiM4MmNjZDIiLz48cGF0aCBkPSJNMTM0NC42MjcsMjIxMi42cy04NS40MTksMTg4LjQ4LTM1My42NjUsMTg4LjQ4UzY0My43NzMsMjI2Ni4xOTEsNDk0LjYsMjI2Ni4xOTFzLTE2OS4wMzQsNTkuNjY5LTMxMC43ODcsNTkuNjY5Uy02NC43MjcsMjIxMi42LTY0LjcyNywyMjEyLjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOC43MjcgLTM0OS45OTUpIiBmaWxsPSIjODJjY2QyIi8+PHBhdGggZD0iTTE1MDkuMDM2LDMwMy4zUzE1MzAuODQ4LS4xODYsMTIwMy42NTYtLjE4Niw3OTAuMzI2LDE3My4xMjQsNTY2LjUsMTg4Ljg1MXMtMTk3LjQ3Ni0zNi4wOTUtMzUwLjgzMi0zNi4wOTVTLTU0Ljg3NywzMDMuMy01NC44NzcsMzAzLjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjYuMjEyIDEwMzEuNjIxKSIgZmlsbD0iIzgyY2NkMiIvPjwvZz48L3N2Zz4=") no-repeat top left / contain;
  top: 50%;
  left: 0;
  transform: translate(0, -52%);
  position: absolute;
  z-index: -1;
}


.section2__chart {
  width: min(var(--page-width), 350px);
  margin: 0 auto 48px;
}

.section2__text {
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  #section2 {
    background: var(--blue-color);
  }

  #section2::before,
  #section2::after {
    content: "";
    width: calc(100vw + 10px);
    position: absolute;
  }

  #section2::after {
    background: no-repeat center top / contain;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDg1NiAxODguNSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogIzgyY2NkMjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjcuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDEuMi4wIEJ1aWxkIDE0MikgIC0tPgogIDxnPgogICAgPGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMSIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7xfMSI+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg1NiwwSDB2MTgyLjljMjMuOCwzLjYsNDkuNCw1LjYsNzcsNS42LDI2OC4yLDAsMzQ3LjItMTM0LjksNDk2LjQtMTM0LjlzMTY1LjYsNTEuNiwyODIuNyw1OC44VjBaIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=");
    aspect-ratio: 4.56;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, calc(100% - 1px));
    z-index: -1;
  }
}

@media screen and (min-width: 769px) {
  #section2 {
    padding: 125px 0;
  }

  .section2__chart {
    width: 70.47vw;
    margin: 0 auto 8px;
  }

  .section2__text {
    text-align: center;
    white-space: nowrap;
  }
}

.section2__text .for-tab {
  display: none;
}

@media screen and (min-width: 769px) and (max-width: 960px) {
  .section2__text .for-tab {
    display: block;
  }
}

/* ==================================
== section3
================================== */
#section3 {
  padding: 125px 0 64px;
  position: relative;
}

#section3 .news-list .news-list__item {
  font-size: 1.8rem;
}

#section3 .news-list .news-list__item a {
  width: max-content;
  max-width: 100%;
  gap: 30px;
}

.news-list__item {
  box-sizing: border-box;
  opacity: 1;
  height: auto;
  transition: all 0.4s ease 0s;
  overfllow: hidden;
}

.news-list__item:not(:last-child) {
  margin-bottom: 40px;
}

#section3 .news-list .news-list__item.is-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0;
  margin: 0 10px;
  padding: 0;
}

#section3 .news-list h3 {
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1.4;
}

#section3 .more {
  border-bottom: 2px solid #000;
  margin-left: auto;
  width: fit-content;
}

@media screen and (max-width: 768px) {
  #section3 a.news_link {
    font-size: 1.4rem;
  }

  #section3 .news-list .news-list__item time {
    margin: 15px 0 4px;
    display: inline-block;
    line-height: 1.4;
  }

  #section3 .news-list .news-list__item h3 {
    margin-bottom: 10px;
  }

}

@media screen and (min-width: 769px) {
  #section3 {
    padding: 125px 0;
    position: relative;
  }

  .news-list__item:not(:last-child) {
    margin-bottom: 40px;
  }

  #section3 .news-list .news-list__item time {
    width: 80px;
    line-height: 1.4;
  }
}

/* ==================================
== section4
================================== */
#section4 {
  background: #F2F2F2;
  padding: 36px 0 120px;
  position: relative;
}

#section4 .section-header {
  margin: 0;
}

#section4 img {
  width: var(--page-width);
  display: block;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .about-list {
    margin-top: 45px;
  }

  .about-list article:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 769px) {
  #section4 {
    padding: 125px 0 75px;
  }

  #section4 img {
    width: min(71.22vw, 973px);
  }
}