@charset "UTF-8";
/* future */
.heading-underline {
  margin-bottom: 4rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--color-red);
  font-size: var(--heading-sm);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .heading-underline {
    margin-bottom: 3.5rem;
  }
}

.note {
  margin-top: 2rem;
  font-size: 1rem;
  color: #707070;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .note {
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
  }
}

figcaption {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  figcaption {
    font-size: 1.2rem;
  }
}

.main-hero {
  margin-bottom: 6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main-hero {
    margin-bottom: 4rem;
  }
}
.main-hero .video-item {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .main-hero .video-item {
    margin-top: 4rem;
  }
}
.main-hero .video-item .video-contents::after {
  width: 86px;
  height: 86px;
  top: calc(50% - 43px);
  left: calc(50% - 43px);
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  .main-hero .video-item .video-contents::after {
    width: 6rem;
    height: 6rem;
    top: calc(50% - 3rem);
    left: calc(50% - 3rem);
  }
}
.main-hero .bottom-txt {
  margin-top: 3rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .main-hero .bottom-txt {
    margin-top: 2rem;
    font-size: 1.5rem;
  }
}

.section-landscape .image-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .section-landscape .image-cols {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }
}
.section-landscape .image-cols .item {
  text-align: center;
}
.section-landscape .image-cols .item img {
  border-radius: 0.8rem;
  display: block;
}
.section-landscape .milestone {
  margin-top: 6rem;
}
.section-landscape .milestone-list {
  display: flex;
  gap: 1.6rem min(1.4vw, 1.8rem);
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-list {
    flex-direction: column;
    padding-top: 0;
  }
}
.section-landscape .milestone-list .arrow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section-landscape .milestone-list .arrow svg {
  display: block;
  height: auto;
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-list .arrow svg {
    transform: rotate(90deg);
  }
}
.section-landscape .milestone-item {
  flex: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-item {
    padding-top: 1.6rem;
  }
}
.section-landscape .milestone-item .year {
  position: absolute;
  top: -2.1rem;
  left: 2rem;
  font-family: var(--font-en);
  font-size: 5rem;
  font-weight: bold;
  line-height: 3.4rem;
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-item .year {
    top: 0;
    left: 0;
    width: 100%;
    font-size: 4rem;
    line-height: 3rem;
    text-align: center;
  }
}
.section-landscape .milestone-item .content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-item .content {
    padding-block: 3.3rem 3rem;
  }
}
.section-landscape .milestone-item .content ul {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .section-landscape .milestone-item .content ul {
    width: min(100%, 25.6rem);
    margin-inline: auto;
  }
}
.section-landscape .milestone-item .content li {
  position: relative;
  padding-left: 1em;
}
.section-landscape .milestone-item .content li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.section-landscape .milestone-item .content li + li {
  margin-top: 0.4rem;
}
.section-landscape .milestone-item .content li small {
  font-size: 1.2rem;
}

.section-network .map-image {
  margin-bottom: 6rem;
  text-align: center;
}
.section-network .map-image img {
  border-radius: 0.8rem;
}
.section-network .map-image figcaption {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .section-network .map-image figcaption {
    font-size: 1.2rem;
  }
}
.section-network .mechanism .mechanism-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.6rem 3rem;
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .section-network .mechanism .mechanism-list {
    grid-template-columns: 1fr;
    padding-top: 1.6rem;
  }
}
.section-network .mechanism .mechanism-item {
  position: relative;
  line-height: 1.6;
}
.section-network .mechanism .mechanism-item .num {
  position: absolute;
  top: -2.2rem;
  left: 1rem;
  font-family: var(--font-en);
  font-size: 5rem;
  font-weight: bold;
  line-height: 3.4rem;
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .section-network .mechanism .mechanism-item .num {
    font-size: 4rem;
    top: -1.6rem;
    line-height: 2.8rem;
  }
}
.section-network .mechanism .mechanism-item .img {
  padding: 2rem 2rem 1rem;
  margin-bottom: 2rem;
  background-color: var(--bg-color-gray);
  border-radius: 0.8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .section-network .mechanism .mechanism-item .img {
    margin-bottom: 1.2rem;
  }
}
.section-network .mechanism .mechanism-item .img img {
  border-radius: 0.8rem;
}
.section-network .mechanism .mechanism-item .img figcaption {
  font-size: 1.2rem;
  padding-top: 1rem;
}
.section-network .mechanism .mechanism-item .ttl {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .section-network .mechanism .mechanism-item .ttl {
    font-size: 2rem;
  }
}
.section-network .mechanism .mechanism-item .txt {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .section-network .mechanism .mechanism-item .txt {
    font-size: 1.4rem;
  }
}

.section-projects .project-item {
  display: flex;
  align-items: center;
  gap: min(5vw, 6rem);
}
.section-projects .project-item + .project-item {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .section-projects .project-item.-reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .section-projects .project-item {
    flex-direction: column;
    gap: 2rem;
  }
}
.section-projects .project-item .img {
  flex-shrink: 0;
  width: min(50%, 60rem);
}
@media screen and (max-width: 767px) {
  .section-projects .project-item .img {
    width: 100%;
  }
}
.section-projects .project-item .img img {
  border-radius: 0.8rem;
}
.section-projects .project-item .content {
  flex: 1;
  line-height: 2;
}
.section-projects .project-item .content .schedule {
  margin-bottom: 0.8rem;
  font-size: 1.4rem;
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .section-projects .project-item .content .schedule {
    margin-bottom: 0.4rem;
  }
}
.section-projects .project-item .content .ttl {
  margin-bottom: 0.8rem;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .section-projects .project-item .content .ttl {
    margin-bottom: 0.4rem;
    font-size: 2.4rem;
  }
}
.section-projects .project-item .content .catch-copy {
  margin-bottom: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .section-projects .project-item .content .catch-copy {
    margin-bottom: 2rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .section-projects .project-item .content .txt {
    font-size: 1.4rem;
  }
}

.section-citymap .citymap-img img {
  border-radius: 0.8rem;
}
.section-citymap .note {
  margin-top: 1rem;
}

.box-link-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .box-link-group {
    grid-template-columns: 1fr;
  }
}
.box-link-group .item {
  background-color: var(--bg-color-gray);
  border-radius: 0.8rem;
  padding: 2rem;
  text-align: center;
  line-height: 1.6;
}
.box-link-group a {
  text-decoration: underline;
  color: var(--color-red);
  transition: opacity 0.3s ease;
}
.box-link-group a:hover {
  opacity: 0.5;
  text-decoration: none;
}
.box-link-group a:hover .txt {
  text-decoration: none;
}
.box-link-group .button {
  display: block;
  padding: 2rem;
  background-color: #fff;
  border: 1px solid var(--color-red);
  border-radius: 0.4rem;
  text-decoration: none;
}
.box-link-group .button .ttl {
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-base);
}
.box-link-group .button .txt {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: underline;
  text-align: left;
}
.box-link-group .pdf-icon {
  flex-shrink: 0;
  display: inline-block;
  width: 1.8rem;
  height: 2.2rem;
  background: no-repeat center center/contain;
  background-image: url("data:image/svg+xml,%3Csvg fill='%23E72D10' width='18' height='22' viewBox='0 0 18 22' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.1387 0C12.4199 0 12.6481 0.212213 12.6481 0.473689C12.6481 0.735165 12.4199 0.947378 12.1387 0.947378H1.91924C1.42203 0.947378 1.01889 1.32222 1.01889 1.78454V20.2155C1.01889 20.6778 1.42203 21.0526 1.91924 21.0526H16.0808C16.578 21.0526 16.9811 20.6778 16.9811 20.2155V7.2566C16.9811 6.99512 17.2093 6.78291 17.4906 6.78291C17.7718 6.78291 18 6.99512 18 7.2566V20.2155C18 21.201 17.1407 22 16.0808 22H1.91924C0.859261 22 0 21.201 0 20.2155V1.78454C0 0.798955 0.859261 0 1.91924 0H12.1383H12.1387Z'/%3E%3Cpath d='M12 0.465889C12 0.208718 12.2149 0 12.4798 0C12.7446 0 12.9595 0.208718 12.9595 0.465889V4.80735H17.5202C17.7851 4.80735 18 5.01607 18 5.27324C18 5.53041 17.7851 5.73913 17.5202 5.73913H12.4798C12.2149 5.73913 12 5.53041 12 5.27324V0.465889Z'/%3E%3Cpath d='M12.1435 0.798152C11.9545 0.618002 11.9519 0.322618 12.1374 0.139363C12.323 -0.044204 12.6271 -0.0466888 12.8159 0.133461L17.8565 4.94098C18.0455 5.12113 18.0481 5.41651 17.8626 5.59977C17.677 5.78333 17.3729 5.78582 17.1841 5.60567L12.1435 0.798152Z'/%3E%3Cpath d='M2.637 14.5V9.32H4.338C5.486 9.32 6.368 9.719 6.368 10.944C6.368 12.127 5.479 12.659 4.366 12.659H3.673V14.5H2.637ZM3.673 11.84H4.296C5.01 11.84 5.353 11.539 5.353 10.944C5.353 10.342 4.975 10.139 4.261 10.139H3.673V11.84ZM7.30595 14.5V9.32H8.72695C10.3089 9.32 11.2889 10.139 11.2889 11.889C11.2889 13.632 10.3089 14.5 8.78295 14.5H7.30595ZM8.34195 13.667H8.66395C9.62995 13.667 10.2319 13.149 10.2319 11.889C10.2319 10.622 9.62995 10.146 8.66395 10.146H8.34195V13.667ZM12.303 14.5V9.32H15.495V10.181H13.339V11.532H15.18V12.4H13.339V14.5H12.303Z'/%3E%3C/svg%3E");
}
.box-link-group .txt-link {
  margin-top: 1.2rem;
  font-size: 1.4rem;
}

.section-more .c-heading-group {
  margin-bottom: 3rem;
}