@charset "UTF-8";
#expo2025 header {
  z-index: 99;
}
#expo2025 article .area {
  position: relative;
  box-sizing: border-box;
  margin: auto;
  margin-bottom: auto;
  width: 100%;
  color: #333;
  font-size: clamp(1.4rem, 1.125vw, 1.6rem);
  text-align: center;
}
#expo2025 article .area__ttl {
  box-sizing: border-box;
  margin: 0 auto 8rem;
  background-image: url(/expo2025/images/title_bg.png);
  background-position: left bottom;
  background-size: 100% 80%;
  background-repeat: no-repeat;
  width: 100%;
  height: 13rem;
}
#expo2025 article .area__ttl::after {
  content: "";
}
#expo2025 article .area h2,
#expo2025 article .area h3 {
  display: flex;
  position: relative;
  left: 0;
  align-items: center;
  margin: 1% auto 0;
  padding-top: 0.7em;
  width: 100%;
  height: 100%;
  color: #f0ffff;
  font-weight: bold;
  font-size: clamp(1.8rem, 4.75vw, 2.1rem);
  text-shadow: 0 0.05em 0.08em rgba(0, 0, 0, 0.7);
}
#expo2025 article .area h2.bdb,
#expo2025 article .area h3.bdb {
  margin: 0;
  border-bottom: solid 3px #072f93;
  padding: 0;
  padding-left: 2rem;
  height: 9rem;
  color: #072f93;
  font-weight: 500;
  text-shadow: 0 0.05em 0.08em rgba(0, 0, 0, 0.15);
}
#expo2025 article .area h2.bdb::before,
#expo2025 article .area h3.bdb::before {
  margin-left: -8rem;
}
#expo2025 article .area h2 > small,
#expo2025 article .area h3 > small {
  font-size: clamp(2.8rem, 1.75vw, 3.4rem);
}
#expo2025 article .area h2 > span,
#expo2025 article .area h3 > span {
  text-shadow: none;
  /*
  &.logo {
    position: relative;
    margin-left: auto;
    margin-top: 3rem;
    padding: 1em;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);

    @include sp {
      display: flex;
      justify-content: flex-end;
      margin-top: 1%;
      padding: 0;
    }

    >img {
      height: 3.8rem;
      margin-left: 1rem;

      @include sp {
        width: auto;
        height: 2rem;
      }
    }
  }


  &.si {
    background-color: #008770; //
    background-image: radial-gradient(circle, #008770, #0d9a81, #19ad92);
    margin-left: auto;
    margin-right: 1rem;
    padding: 1rem;
    color: #fff;
    font-weight: normal;
    font-size: 1.6rem;

    @include sp {
      margin-right: -0.5em;
      margin-top: 0;
      font-size: 1.3rem;
      line-height: 1;
      text-shadow: none;
    }
  }
    */
}
#expo2025 article .area__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1080px;
}
#expo2025 article .area__inner .cap {
  position: relative;
  margin-bottom: 1.2em;
  font-size: clamp(2.5rem, 2.75vw, 3.6rem);
}
#expo2025 article .area__inner .cap::before {
  position: absolute;
  top: 1.1em;
  left: 50%;
  z-index: -1;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.005));
  background-clip: text;
  content: attr(data-word);
  color: #333333;
  -webkit-background-clip: text;
  transform: scale(1, -1) skew(22deg, 0deg) translate(-51%);
  opacity: 0.7;
  -webkit-text-fill-color: transparent;
  font-size: 1em;
  line-height: 1;
  white-space: nowrap;
}
#expo2025 article .area__inner p {
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
}
#expo2025 article .area__inner p + p {
  margin-top: 2rem;
}
#expo2025 article .area__inner p.icon {
  margin-left: 1em;
  padding-left: 1.5em;
  font-size: 2rem;
  font-size: clamp(1.7rem, 1.4166666667vw, 2rem);
  text-indent: -1.3em;
}
#expo2025 article .area__inner p.icon:before {
  display: inline-block;
  margin-right: 0.4em;
  border-radius: 2.5em;
  background-image: radial-gradient(circle, #0072bc 0%, #0072bc 28%, #ffffff 28%, #ffffff 42%, #db3d23 42%, #db3d23 100%);
  background-color: #0072bc;
  width: 0.9em;
  height: 0.9em;
  content: "";
}
#expo2025 article .area__inner p.icon:last-of-type {
  margin-bottom: 7rem;
}
#expo2025 article .area__inner table {
  margin: 7rem auto 0;
  width: 100%;
  max-width: 101rem;
  text-align: left;
}
#expo2025 article .area__inner table > caption {
  margin: 0 auto 5rem;
}
#expo2025 article .area__inner table > caption .cap {
  margin-right: 1rem;
  font-size: clamp(2.5rem, 2.45vw, 3.2rem);
}
#expo2025 article .area__inner table thead tr th {
  background-color: #072f93;
  padding: 1em;
  color: #fff;
}
#expo2025 article .area__inner table thead tr th:last-of-type::before {
  margin-right: 1em;
  content: "｜";
}
#expo2025 article .area__inner table tbody tr td {
  border-bottom: solid 1px #072f93;
  padding: 1em;
}
#expo2025 article .area__inner table tbody tr td:last-of-type {
  padding-left: 2em;
  text-indent: -2em;
}
#expo2025 article .area__inner table tbody tr td:last-of-type::before {
  margin-right: 1em;
  content: "｜";
}
#expo2025 article .area__inner table tbody tr td > a {
  display: flex;
  align-items: center;
  color: #0072bc;
  text-decoration: underline;
}
#expo2025 article .area__inner table tbody tr td > a::after {
  transform: rotate(45deg);
  transition: all 0.3s;
  margin-left: 2rem;
  border: solid 2px transparent;
  width: 1rem;
  height: 1rem;
  content: "";
}
#expo2025 article .area__inner table tbody tr td > a:hover {
  color: #005389;
}
#expo2025 article .area__inner table tbody tr td > a:hover::after {
  transform: rotate(135deg);
  border: solid 1px transparent;
  border-top-color: #005389;
  border-right-color: #005389;
}
#expo2025 article .area .figwrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: flex-start;
  margin: 6rem auto 0;
  width: 100%;
}
#expo2025 article .area .figwrap > p {
  flex: 1 0 55%;
  width: 55%;
  max-width: 70rem;
}
#expo2025 article .area .figwrap > p:first-child {
  flex: 0 0 30%;
  flex-grow: 0;
  margin-right: 7%;
  width: 30%;
}
#expo2025 article .area .figwrap > p.ws {
  flex: 0 0 15%;
  width: 15%;
}
#expo2025 article .area .figwrap > p.bdc {
  border: solid 1px #ccc;
}
#expo2025 article .area .figwrap > p > img {
  vertical-align: bottom;
  width: 100%;
}
#expo2025 article .area figure {
  margin: 5rem auto 0;
  width: 85%;
}
#expo2025 article .area figure figcaption {
  display: flex;
  justify-content: space-around;
  margin: 1rem auto;
  font-size: clamp(1.4rem, 1.0833333333vw, 1.6rem);
  line-height: 1.4;
}
#expo2025 article .area figure figcaption > span {
  margin-bottom: 2rem;
  color: #db3d23;
}
#expo2025 article .area figure img {
  margin: auto;
  width: 100%;
}
#expo2025 article .area .bdbox {
  margin: 7rem auto auto;
  width: 100%;
  max-width: 78rem;
}
#expo2025 article .area .bdbox > a {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
  border: solid 8px #9cd6e5;
  padding: 2rem;
}
#expo2025 article .area .bdbox > a > img {
  margin-right: 2%;
  width: 45%;
  max-width: 32rem;
}
#expo2025 article .area .bdbox > a > span {
  width: auto;
  font-size: clamp(2rem, 1.6666666667vw, 2.4rem);
}
#expo2025 article .area .bdbox > a:hover {
  transform: scale(1.01);
  opacity: 0.7;
}
#expo2025 article .area .link_box {
  margin: 5rem auto auto;
  width: 100%;
  max-width: 78rem;
  height: 6rem;
  text-align: center;
}
#expo2025 article .area .link_box a {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  margin: auto;
  border: solid 1px #0072bc;
  width: 100%;
  height: 100%;
  color: #0072bc;
  font-size: clamp(1.5rem, 1.3333333333vw, 1.8rem);
  line-height: 1.4;
  text-decoration: underline;
}
#expo2025 article .area .link_box a::after {
  position: absolute;
  right: 0;
  transition: 0.15s;
  margin: 0;
  background: url(/expo2025/images/character01.png) no-repeat right 0.8rem bottom 3.2rem;
  background-size: 4.8rem auto;
  width: 8rem;
  height: 13rem;
  content: "";
}
#expo2025 article .area .link_box a:hover {
  opacity: 0.8;
}
#expo2025 article .area .link_box .cpy {
  display: inline-block;
  margin-top: 0.25em;
  width: 100%;
  font-size: 0.8em;
  line-height: 1.4;
  text-align: right;
}
@media print, screen and (max-width: 800px) {
  #expo2025 #main {
    padding-bottom: 0;
  }
  #expo2025 article h1 > span.en {
    font-size: clamp(2rem, 6.25vw, 3.5rem);
  }
  #expo2025 article .area__ttl {
    margin-bottom: 2rem;
    height: auto;
  }
  #expo2025 article .area h2,
  #expo2025 article .area h3 {
    flex-wrap: wrap;
    align-items: center;
    padding-top: 5%;
    padding-right: 3%;
    padding-bottom: 1%;
    padding-left: 12%;
    min-height: 7.8rem;
    line-height: 1.3;
  }
  #expo2025 article .area h2.bdb,
  #expo2025 article .area h3.bdb {
    padding-top: 2rem;
    padding-left: 13%;
  }
  #expo2025 article .area h2.bdb::before,
  #expo2025 article .area h3.bdb::before {
    margin-left: 2%;
    width: 4rem;
    height: 8rem;
  }
  #expo2025 article .area h2 > small,
  #expo2025 article .area h3 > small {
    font-size: clamp(1.8rem, 4.75vw, 2.1rem);
  }
  #expo2025 article .area__inner .cap {
    font-size: clamp(2rem, 5.5vw, 3.5rem);
  }
  #expo2025 article .area__inner p {
    margin-top: 3rem;
  }
  #expo2025 article .area__inner p + p {
    margin-top: 1rem;
  }
  #expo2025 article .area__inner p.icon {
    margin-left: 0;
    font-size: clamp(1.6rem, 4vw, 1.8rem);
  }
  #expo2025 article .area__inner p.icon:last-of-type {
    margin-bottom: 4rem;
  }
  #expo2025 article .area__inner table {
    margin-top: 3rem;
  }
  #expo2025 article .area__inner table > caption {
    margin: 0 auto 1rem;
  }
  #expo2025 article .area__inner table > caption .cap {
    display: block;
    margin: 0.8em 0;
    font-size: clamp(1.6rem, 4.75vw, 2rem);
  }
  #expo2025 article .area__inner table > caption .cap::before {
    opacity: 0.5;
  }
  #expo2025 article .area__inner table thead {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
  #expo2025 article .area__inner table tbody tr {
    display: block;
    margin-bottom: 1rem;
    border-bottom: solid 1px #072f93;
    padding-bottom: 0.5em;
  }
  #expo2025 article .area__inner table tbody tr td {
    display: flex;
    align-items: center;
    border-bottom: none;
    padding: 0.2em 0;
    line-height: 1.4;
  }
  #expo2025 article .area__inner table tbody tr td::before {
    display: flex;
    flex: 0 0 6em;
    justify-content: center;
    align-items: center;
    margin-right: 1rem;
    background-color: #072f93;
    width: 6em;
    height: 6rem;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #expo2025 article .area__inner table tbody tr td:first-of-type::before {
    content: "案件";
  }
  #expo2025 article .area__inner table tbody tr td:last-of-type {
    padding-left: 0;
    text-indent: 0;
  }
  #expo2025 article .area__inner table tbody tr td:last-of-type::before {
    content: "利用用途";
  }
  #expo2025 article .area .figwrap {
    margin-top: 3rem;
  }
  #expo2025 article .area .figwrap > p {
    width: 100%;
  }
  #expo2025 article .area .figwrap > p:first-child {
    margin: 0 auto 2rem;
    width: 70%;
  }
  #expo2025 article .area .figwrap > p.ws {
    margin: 0 auto 2rem;
    width: 30%;
  }
  #expo2025 article .area figure {
    margin-top: 2rem;
    width: 1005;
  }
  #expo2025 article .area figure figcaption {
    justify-content: space-between;
    font-size: clamp(1.2rem, 3vw, 1.4rem);
    text-align: left;
  }
  #expo2025 article .area figure figcaption > span {
    margin-bottom: 1rem;
    width: 42%;
  }
  #expo2025 article .area .bdbox {
    margin-top: 3rem;
  }
  #expo2025 article .area .bdbox > a > span {
    font-size: clamp(1.2rem, 3.125vw, 1.8rem);
  }
  #expo2025 article .area .link_box a {
    padding-right: 5.4rem;
    padding-left: 1rem;
  }
  #expo2025 article .area .link_box a::after {
    background-size: 4rem auto;
  }
  #expo2025 article .area .link_box .cpy {
    font-size: clamp(1rem, 3vw, 1.2rem);
  }
}
@media print, screen and (min-width: 801px) {
  #expo2025 article h1 > span.en {
    font-size: clamp(5rem, 5vw, 7rem);
    line-height: 1.4;
  }
  #expo2025 article .area {
    padding-bottom: 8rem;
  }
  #expo2025 article .area__ttl::after {
    display: block;
    position: relative;
    z-index: -1;
    margin-top: -1px;
    margin-left: 10%;
    box-shadow: 1px -1px 1px 0 rgba(155, 155, 155, 0.3);
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.8) 100%), url(/expo2025/images/title_bg.png);
    background-position: top center, top center;
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
    background-color: rgb(255, 255, 255);
    width: 90%;
    height: 7rem;
  }
  #expo2025 article .area h2,
  #expo2025 article .area h3 {
    padding-left: 5%;
    max-width: 1200px;
    font-size: clamp(2.8rem, 2.9166666667vw, 4.2rem);
    letter-spacing: 1px;
  }
  #expo2025 article .area h2 {
    font-size: clamp(2.8rem, 2.6666666667vw, 3.8rem);
  }
  #expo2025 article .area figure.map {
    width: 100%;
  }
}/*# sourceMappingURL=style.css.map */
