@charset "UTF-8";
@media (min-width: 769px) {
  .header:not(.short) {
    color: #fff;
  }
  .header:not(.short) .header_contact_link {
    border: 1px solid #fff;
    background-color: #fff;
  }
  .header:not(.short) .header_contact_link:before {
    background-color: #262627;
  }
  .header:not(.short) .header_contact_link_inner:before {
    color: #fff;
  }
  .header:not(.short) .header_contact_link_label {
    color: #262627;
  }
  .header:not(.short) .header_contact_link:hover {
    color: #262627;
  }
}
@media (max-width: 768px) {
  .header_logo {
    position: absolute;
    z-index: 100;
    color: #fff;
  }
  .header_button {
    mix-blend-mode: normal;
  }
  .header.rmv_whiteness .header_button {
    mix-blend-mode: difference;
  }
}
.project {
  padding-top: 0;
}
.project_title {
  font-family: var(--en_sans);
  font-weight: 700;
}
@media (min-width: 769px) {
  .project_title {
    padding: clamp(0rem, 9.722222222222223vw, 8.75rem) clamp(0rem, 5.902777777777778vw, 5.3125rem) clamp(0rem, 5.555555555555555vw, 5rem);
    font-size: clamp(0.625rem, 3.888888888888889vw, 3.5rem);
  }
}
@media (max-width: 768px) {
  .project_title {
    padding: clamp(0rem, 26.666666666666668vw, 6.25rem) clamp(0rem, 6.4vw, 1.5rem) clamp(0rem, 14.933333333333335vw, 3.5rem);
    font-size: clamp(0.625rem, 10.666666666666668vw, 2.5rem);
  }
}
.overview_head,
.overview_title {
  font-family: var(--en_sans);
  font-weight: 700;
}
.overview_title span {
  margin-block: calc((1em - 1lh) / 2);
}
.overview_content_body a {
  display: inline;
  text-decoration: underline;
}
.overview_content_body a[target="_blank"]:after {
  display: inline-block;
  font-family: var(--ja_sans);
  content: "↗";
  margin-left: 0.25em;
  font-weight: 300;
  text-decoration: none;
}
.overview_content_body p +p,
.overview_content_body table +p,
.overview_content_body p +table,
.overview_content_body table +table {
  margin-top: 1lh;
}
.overview_content_body th {
  padding-right: 1em;
}
@media (min-width: 769px) {
  .overview {
    margin-top: clamp(0rem, 6.944444444444445vw, 6.25rem);
  }
  .overview_inner {
    display: grid;
    grid-template-areas: "head content" "image content";
    grid-template-columns: clamp(0rem, 28.47222222222222vw, 25.625rem) auto;
  }
  .overview_title {
    font-size: clamp(0.625rem, 2.222222222222222vw, 2rem);
    line-height: 1.25;
  }
  .overview_head {
    font-size: clamp(0.625rem, 1.388888888888889vw, 1.25rem);
    grid-area: head;
    margin-bottom: clamp(0rem, 2.777777777777778vw, 2.5rem);
  }
  .overview_content {
    grid-area: content;
  }
  .overview_content_body {
    font-size: clamp(0.625rem, 1.041666666666667vw, 0.9375rem);
    line-height: 1.866666666666667;
    margin-top: clamp(0rem, 3.125vw, 2.8125rem);
  }
  .overview_content_body p +p,
  .overview_content_body table +p,
  .overview_content_body p +table,
  .overview_content_body table +table {
    margin-top: 1lh;
  }
  .overview_image {
    grid-area: image;
  }
}
@media (max-width: 768px) {
  .overview {
    margin-top: clamp(0rem, 21.333333333333336vw, 5rem);
  }
  .overview_head {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    margin-bottom: clamp(0rem, 10.666666666666668vw, 2.5rem);
  }
  .overview_title {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    line-height: 1.6;
  }
  .overview_content {
    margin-top: clamp(0rem, 9.6vw, 2.25rem);
  }
  .overview_content_body {
    font-size: clamp(0.625rem, 3.733333333333334vw, 0.875rem);
    line-height: 1.571428571428571;
    margin-top: clamp(0rem, 9.6vw, 2.25rem);
  }
  .overview_content_body tr +tr {
    margin-top: 1lh;
  }
}
@media (min-width: 769px) {
  .project_image_cntnr {
    margin-top: clamp(0rem, 6.944444444444445vw, 6.25rem);
  }
  .project_image_cntnr_block {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -o-box-lines: multiple;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -o-box-pack: justify;
    -ms-flex-pack: justify;
  }
  .project_image +.project_image {
    margin-top: clamp(0rem, 1.666666666666667vw, 1.5rem);
  }
  .project_image.half {
    width: calc((623 / 1270) * 100%);
  }
}
@media (max-width: 768px) {
  .project_image_cntnr {
    margin-top: clamp(0rem, 21.333333333333336vw, 5rem);
  }
  .project_image +.project_image {
    margin-top: clamp(0rem, 3.2vw, 0.75rem);
  }
}
