@charset "UTF-8";
/* 初期設定
================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  min-width: 375px;
}

/* モーダル等開いた時に後ろが動いてしまうのを防ぐ設定 */
html.is-hidden {
  overflow: hidden;
}

body {
  color: #333;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}

a {
  color: #333;
  text-decoration: none;
}

.relatedLinks__list li a {
  cursor: pointer;
  -webkit-transition: color .2s ease-in-out;
  transition: color .2s ease-in-out;
}

.relatedLinks__list li a:link {
  color: #008486;
  text-decoration: underline;
}

.relatedLinks__list li a:visited {
  color: #008486;
  text-decoration: none;
}

.relatedLinks__list li a:hover, a:focus {
  color: #00a8a9;
}

.relatedLinks__list li a:active {
  color: #008486;
  text-decoration: none;
}

.relatedLinks__list li a,
*::before,
*::after {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

img {
  border: 0;
  vertical-align: bottom;
  width: 100%;
}

:where(table) {
  border-collapse: collapse;
  width: 100%;
}

:where(.wrapper) {
  background-color: #fff;
  margin: 0 auto;
}

/* レスポンシブ消去
-------------------------------------------------- */
.pcB {
  display: none;
}
@media screen and (min-width: 769px) {
  .pcB {
    display: block;
  }
}

.spB {
  display: block;
}
@media screen and (min-width: 769px) {
  .spB {
    display: none;
  }
}

.pcI {
  display: none;
}
@media screen and (min-width: 769px) {
  .pcI {
    display: inline;
  }
}

.spI {
  display: inline;
}
@media screen and (min-width: 769px) {
  .spI {
    display: none;
  }
}

html {
  scrollbar-gutter: stable;
}

/* header
-------------------------------------------------- */
.header {
  border-top: 0.26042vw solid #009DA6;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .header {
    border-top: 2.13334vw solid #009DA6;
  }
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.88542vw 3.28125vw 0.9375vw 0;
  margin: 0 auto;
  width: 83.33334vw;
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 5.86667vw 4vw 7.46667vw 5.33334vw;
    width: auto;
  }
}

.header__logoWrap {
  display: flex;
  align-items: center;
  gap: 0 2.29167vw;
}
@media screen and (max-width: 768px) {
  .header__logoWrap {
    gap: 0 4.26667vw;
  }
}

.header__logo {
  position: relative;
  width: 9.84375vw;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 32.46134vw;
  }
}
.header__logo::after {
  content: "";
  border-right: 0.05209vw solid #C7C7C7;
  height: 2.08334vw;
  position: absolute;
  right: -1.14583vw;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .header__logo::after {
    border-right: 0.26667vw solid #C7C7C7;
    height: 7.46667vw;
    right: -2.13333vw;
  }
}
.header__logo a {
  display: block;
}

.header__pageName {
  color: #000;
  font-size: 0.78125vw;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .header__pageName {
    font-size: 3.2vw;
    font-weight: 600;
    line-height: 1.5;
  }
}

/*  */
@media screen and (max-width: 768px) {
  .header__langList {
    display: none;
  }
}
.header__langList ul {
  display: flex;
  align-items: baseline;
}
.header__langList ul::before {
  content: "/";
  order: 2;
  font-size: 0.78125vw;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0.36459vw;
}
@media screen and (max-width: 768px) {
  .header__langList ul::before {
    font-size: 4vw;
    margin: 0 1.86667vw;
  }
}
.header__langList a {
  color: #000;
  font-size: 0.78125vw;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .header__langList a {
    font-size: 4vw;
  }
}
@media screen and (min-width: 769px) {
  .header__langList a:hover {
    color: #009DA6;
  }
}
.header__langList .en {
  order: 1;
}
.header__langList .jp {
  order: 3;
}
.header__langList .jp a {
  color: #BEBEBE;
}

/* クボタグループリンク */
.header__groupName {
  width: 6.51042vw;
}
@media screen and (max-width: 768px) {
  .header__groupName {
    display: none;
  }
}
.header__groupName a {
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .header__groupName:hover {
    opacity: 0.5;
  }
}

/* relatedLinks
-------------------------------------------------- */
.relatedLinks {
  position: relative;
  z-index: 100;
  margin-top: 7.8125vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks {
    margin-top: 26.66667vw;
  }
}

.relatedLinks__inner {
  padding-bottom: 7.8125vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__inner {
    margin: 0 auto;
    padding-bottom: 26.66667vw;
    width: 92vw;
  }
}

.relatedLinks__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.08334vw 1.92709vw;
  margin: 0 auto;
  width: 53.64584vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__list {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 9.33334vw 0;
    width: auto;
  }
}
.relatedLinks__list > li {
  width: 25.83334vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__list > li {
    width: auto;
  }
}
.relatedLinks__list a {
  display: block;
}
@media screen and (min-width: 769px) {
  .relatedLinks__list .img {
    transition: 0.6s;
  }
}
.relatedLinks__list .txt {
  font-size: 0.9375vw;
  line-height: 1.4445;
  margin-top: 0.57292vw;
}
@media screen and (min-width: 769px) {
  .relatedLinks__list .txt {
    transition: 0.6s;
  }
}
@media screen and (max-width: 768px) {
  .relatedLinks__list .txt {
    font-size: 3.73334vw;
    line-height: 1.4286;
    margin-top: 2.13334vw;
  }
}
.relatedLinks__list .txt > span {
  display: block;
}
.relatedLinks__list .txt > span::after {
  content: "";
  display: inline-block;
  background-image: url("/expo/assets/img/icon_relatedLinks_01.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 0.75521vw;
  width: 0.44271vw;
  margin-left: 0.52084vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__list .txt > span::after {
    height: 4vw;
    width: 2.4vw;
    margin-left: 2.66667vw;
  }
}
.relatedLinks__list .txt .f_bold {
  font-size: 1.14584vw;
  font-weight: 700;
  line-height: 1.4546;
}
@media screen and (max-width: 768px) {
  .relatedLinks__list .txt .f_bold {
    display: inline-block;
    font-size: 4.8vw;
    line-height: 1.4445;
    margin-top: 1.33334vw;
  }
}
@media screen and (max-width: 768px) {
  .relatedLinks__list .txt .f_size_sp {
    font-size: 4.53334vw;
    letter-spacing: -0.03em;
  }
}

/* アイコン（外部リンク） */
.relatedLinks__list li:has([target^=_blank]) .txt > span::after {
  background-image: url("/expo/assets/img/icon_relatedLinks_02.png");
  height: 1.04167vw;
  width: 1.25vw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__list li:has([target^=_blank]) .txt > span::after {
    height: 3.85067vw;
    width: 4.62134vw;
  }
}

@media screen and (min-width: 769px) {
  .relatedLinks__list li:hover .img {
    opacity: 0.6;
  }
}
@media screen and (min-width: 769px) {
  .relatedLinks__list li:hover .txt {
    color: #05A8A9;
  }
}

/* expo2025-Footer
-------------------------------------------------- */
.expo2025-Footer {
  background-color: #fff;
  margin-top: 1.04167vw;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .expo2025-Footer {
    margin-top: 19.2vw;
  }
}

.expo2025-Footer__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 2.08334vw 1.5625vw 1.04167vw;
}
@media screen and (max-width: 768px) {
  .expo2025-Footer__inner {
    padding: 10.66667vw 4vw 12.26667vw;
  }
}

.expo2025-Footer__logo {
  margin: 0 auto;
  height: 4.6875vw;
  width: 12.39584vw;
}
@media screen and (max-width: 768px) {
  .expo2025-Footer__logo {
    height: auto;
    width: 58.66667vw;
  }
}

.expo2025-Footer__txt {
  font-size: 0.78125vw;
  line-height: 1.71429;
  text-align: center;
  margin-top: 0.52084vw;
}
@media screen and (max-width: 768px) {
  .expo2025-Footer__txt {
    font-size: 3.73334vw;
    margin-top: 2.66667vw;
  }
}

.expo2025-Footer__copyright {
  font-size: 0.72917vw;
  line-height: 1.66667;
  text-align: center;
  margin-top: 0.15625vw;
}
@media screen and (max-width: 768px) {
  .expo2025-Footer__copyright {
    font-size: 3.2vw;
    margin-top: initial;
  }
}

/* footer
-------------------------------------------------- */
.footer {
  background-color: #fff;
  position: relative;
  z-index: 100;
}

.footer__inner {
  border-top: 0.05209vw solid #999;
  padding: 1.61459vw 3.85417vw 1.66667vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    border-top: 0.26667vw solid #999;
    margin: 0 auto;
    padding: 5.86667vw 0 6.66667vw;
    width: auto;
  }
}

.footer__top {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
@media screen and (max-width: 768px) {
  .footer__top {
    position: relative;
    transform: initial;
    top: initial;
    left: initial;
  }
}

.footer__langList {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer__langList {
    display: block;
  }
}
.footer__langList ul {
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.footer__langList ul::before {
  content: "/";
  order: 2;
  font-size: 0.78125vw;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0.36459vw;
}
@media screen and (max-width: 768px) {
  .footer__langList ul::before {
    font-size: 4vw;
    margin: 0 1.86667vw;
  }
}
.footer__langList a {
  color: #000;
  font-size: 0.78125vw;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .footer__langList a {
    font-size: 4vw;
  }
}
@media screen and (min-width: 769px) {
  .footer__langList a:hover {
    color: #009DA6;
  }
}
.footer__langList .en {
  order: 1;
}
.footer__langList .jp {
  order: 3;
}
.footer__langList .jp a {
  color: #BEBEBE;
}

@media screen and (max-width: 768px) {
  .footer__nav {
    margin-top: 6.93334vw;
  }
}
.footer__nav a {
  color: #00A8A9;
  font-size: 0.72917vw;
  font-weight: 500;
  line-height: 1.4286;
}
@media screen and (max-width: 768px) {
  .footer__nav a {
    font-size: 3.73334vw;
    line-height: 1.4286;
  }
}
.footer__nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.5625vw;
}
@media screen and (max-width: 768px) {
  .footer__nav ul {
    flex-direction: column;
    gap: 2.13334vw 0;
  }
}

.footer__bottom {
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .footer__bottom {
    margin: 2.4vw auto 0;
  }
}

.footer__logo {
  margin-left: auto;
  width: 7.96875vw;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: 37.86667vw;
    margin: 0 auto;
  }
}

.footer__copyright {
  color: #999999;
  font-size: 0.72917vw;
  font-weight: 500;
  line-height: 1.75;
  text-align: right;
  margin-top: 0.3125vw;
  width: 8.22917vw;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    font-size: 2.66667vw;
    line-height: 1.5;
    margin-top: 5.33334vw;
    width: auto;
  }
}

/* kv
-------------------------------------------------- */
.kv {
  background-image: url("/expo/2025/assets/img/exhibitionBooth/kv_pc.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 28.90625vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .kv {
    background-image: url("/expo/2025/assets/img/exhibitionBooth/kv_sp.jpg");
    height: 153.06667vw;
  }
}

.kv__inner {
  padding: 2.86459vw 0 1.875vw;
  margin: 0 auto;
  width: 57.29167vw;
}
@media screen and (max-width: 768px) {
  .kv__inner {
    width: 92vw;
  }
}

.kv__ttl {
  margin: 0 0 0 auto;
  width: 42.76042vw;
}
@media screen and (max-width: 768px) {
  .kv__ttl {
    margin: 0 0 3.2vw 0;
    width: auto;
  }
}

.kv__txt {
  color: #E6FAFA;
  font-size: 1.04167vw;
  line-height: 2;
  letter-spacing: -0.05em;
  margin: -0.41666vw 0 0 auto;
  width: 42.76042vw;
}
@media screen and (max-width: 768px) {
  .kv__txt {
    font-size: 4.26667vw;
    line-height: 1.875;
    margin: 0;
    width: auto;
  }
}

/* about
-------------------------------------------------- */
.about {
  position: relative;
}
.about .bg_left {
  position: absolute;
  top: 1.77084vw;
  left: 1.77084vw;
  width: 26.80313vw;
}
@media screen and (max-width: 768px) {
  .about .bg_left {
    width: 92vw;
    top: 1.06667vw;
    left: 4vw;
  }
}
.about .bg_right {
  position: absolute;
  right: 5.9375vw;
  top: 1.5625vw;
  width: 27.53751vw;
}
@media screen and (max-width: 768px) {
  .about .bg_right {
    width: 96vw;
    top: initial;
    right: initial;
    bottom: 10.66667vw;
    left: 0;
  }
}

.about__inner {
  margin: 0 auto;
  padding: 6.97917vw 0 6.5625vw;
  width: 83.33334vw;
}
@media screen and (max-width: 768px) {
  .about__inner {
    padding: 22.13334vw 0 74.66667vw;
    width: 92vw;
  }
}

.about__ttl {
  margin: 0 auto 1.82292vw;
  width: 30.57292vw;
}
@media screen and (max-width: 768px) {
  .about__ttl {
    margin: 0 auto 8vw;
    width: 65.2vw;
  }
}

.about__txt {
  color: #666;
  font-size: 1.25vw;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__txt {
    font-size: 4.8vw;
    line-height: 1.9167;
  }
}
.about__txt + .about__txt {
  margin-top: 2.125vw;
}
@media screen and (max-width: 768px) {
  .about__txt + .about__txt {
    margin-top: 11.2vw;
  }
}
.about__txt > span {
  display: block;
}

/* germinationLab
-------------------------------------------------- */
/* ----- ボタン ----- */
.btn {
  display: table;
  border-top: 0.20834vw solid #05A8A9;
  border-bottom: 0.20834vw solid #05A8A9;
  margin: 0 auto;
  min-width: 17.03125vw;
}
@media screen and (max-width: 768px) {
  .btn {
    border-top: 0.53334vw solid #05A8A9;
    border-bottom: 0.53334vw solid #05A8A9;
    min-width: 66.66667vw;
  }
}
.btn > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.875vw;
  padding: 0.72917vw 0.625vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .btn > a {
    gap: 0 8.53334vw;
    padding: 2.93334vw 2.4vw;
  }
}
.btn .btn__txt {
  font-size: 1.04167vw;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .btn .btn__txt {
    font-size: 3.73334vw;
    line-height: 1.4286;
  }
}
.btn .btn__icon {
  flex-shrink: 0;
  height: 1.40625vw;
  width: 1.40625vw;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .btn .btn__icon {
    height: 5.33334vw;
    width: 5.33334vw;
  }
}
.btn .btn__icon::before {
  content: "";
  border: 0.05209vw solid #323232;
  border-radius: 50%;
  height: 1.40625vw;
  width: 1.40625vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .btn .btn__icon::before {
    border: 0.26667vw solid #323232;
    height: 5.33334vw;
    width: 5.33334vw;
  }
}
@media screen and (min-width: 769px) {
  .btn .btn__icon::after {
    content: "";
    background-color: #05A8A9;
    border-radius: 50%;
    height: 0;
    width: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: 0.6s;
  }
}
.btn .btn__icon > span::before {
  content: "";
  border-top: 0.05209vw solid #323232;
  border-radius: 0.02605vw;
  width: 2.23959vw;
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .btn .btn__icon > span::before {
    border-top: 0.26667vw solid #323232;
    border-radius: 0.13334vw;
    width: 8.53334vw;
  }
}
.btn .btn__icon > span::after {
  content: "";
  background-color: #323232;
  border-radius: 50%;
  display: inline-block;
  height: 0.36459vw;
  width: 0.36459vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .btn .btn__icon > span::after {
    height: 1.33334vw;
    width: 1.33334vw;
  }
}
@media screen and (min-width: 769px) {
  .btn:hover .btn__icon::after {
    height: 2.34375vw;
    width: 2.34375vw;
  }
}

/* coming soonボタン */
.btn--comingSoon a {
  padding: 0.625vw 0.625vw 0.83334vw;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .btn--comingSoon a {
    padding: 2.4vw 2.4vw 3.46667vw;
  }
}

/* ----- モーダルボタン ----- */
.modalBtn {
  background-color: #05A8A9;
  border: 0.15625vw solid #fff;
  border-radius: 1.66667vw;
  display: table;
  margin: 0 auto;
  min-width: 17.29167vw;
}
@media screen and (max-width: 768px) {
  .modalBtn {
    border: 0.8vw solid #fff;
    border-radius: 8.53334vw;
    min-width: 73.06667vw;
  }
}
.modalBtn > button {
  border: none;
  background-color: initial;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.875vw;
  padding: 0.72917vw 0.625vw 0.72917vw 2.29167vw;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .modalBtn > button {
    gap: 0 9.6vw;
    padding: 3.73334vw 4.53334vw 3.73334vw 12.53334vw;
  }
}
.modalBtn .modalBtn__txt {
  color: #fff;
  font-size: 1.04167vw;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .modalBtn .modalBtn__txt {
    font-size: 5.33334vw;
    line-height: 1.45;
  }
}
.modalBtn .modalBtn__icon {
  flex-shrink: 0;
  height: 1.40625vw;
  width: 1.40625vw;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .modalBtn .modalBtn__icon {
    height: 7.2vw;
    width: 7.2vw;
  }
}
.modalBtn .modalBtn__icon::before {
  content: "";
  border: 0.05209vw solid #fff;
  border-radius: 50%;
  height: 1.40625vw;
  width: 1.40625vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .modalBtn .modalBtn__icon::before {
    border: 0.26667vw solid #fff;
    height: 7.2vw;
    width: 7.2vw;
  }
}
@media screen and (min-width: 769px) {
  .modalBtn .modalBtn__icon::after {
    content: "";
    background-color: #fff;
    border-radius: 50%;
    height: 0;
    width: 0;
    opacity: 0.5;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: 0.6s;
  }
}
.modalBtn .modalBtn__icon > span::before {
  content: "";
  border-top: 0.05209vw solid #fff;
  border-radius: 0.02605vw;
  width: 2.23959vw;
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .modalBtn .modalBtn__icon > span::before {
    border-top: 0.26667vw solid #fff;
    border-radius: 0.13334vw;
    width: 11.46667vw;
  }
}
.modalBtn .modalBtn__icon > span::after {
  content: "";
  background-color: #fff;
  border-radius: 50%;
  display: inline-block;
  height: 0.36459vw;
  width: 0.36459vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .modalBtn .modalBtn__icon > span::after {
    height: 1.86667vw;
    width: 1.86667vw;
  }
}
@media screen and (min-width: 769px) {
  .modalBtn:hover .modalBtn__icon::after {
    height: 2.34375vw;
    width: 2.34375vw;
  }
}

.btnWrap {
  height: 7.96875vw;
}
@media screen and (max-width: 768px) {
  .btnWrap {
    height: 36.8vw;
  }
}
.btnWrap .btn + .modalBtn {
  margin-top: 1.30209vw;
}
@media screen and (max-width: 768px) {
  .btnWrap .btn + .modalBtn {
    margin-top: 7.46667vw;
  }
}

/* modal
-------------------------------------------------- */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: initial;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.modal[aria-hidden=false] {
  display: flex;
}

.modal__content {
  background: #fff;
}

.modal__content__inner {
  background-color: rgba(5, 168, 169, 0.1);
  background-image: linear-gradient(to right, rgba(5, 168, 169, 0.27) 1px, transparent 1px), linear-gradient(to bottom, rgba(5, 168, 169, 0.27) 1px, transparent 1px);
  background-size: 1.5625vw 1.5625vw;
  background-position: top left;
  min-height: 25vw;
  max-height: calc(100dvh - 40px);
  padding: 4.16667vw 4.0625vw 1.97917vw;
  position: relative;
  width: 40.20834vw;
}
@media screen and (max-width: 768px) {
  .modal__content__inner {
    background-size: 8vw 8vw;
    min-height: 100.53334vw;
    padding: 10.66667vw 8.53334vw 12.8vw;
    width: 84vw;
  }
}
.modal__content__inner::before, .modal__content__inner::after {
  content: "";
  position: absolute;
  height: 6.98646vw;
  width: 14.26823vw;
}
@media screen and (max-width: 768px) {
  .modal__content__inner::before, .modal__content__inner::after {
    height: 14.58667vw;
    width: 29.792vw;
  }
}
.modal__content__inner::before {
  background-image: url("/expo/2025/assets/img/exhibitionBooth/icon_modal_02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: -0.05208vw;
  right: -0.05208vw;
}
@media screen and (max-width: 768px) {
  .modal__content__inner::before {
    top: -0.26666vw;
    right: -0.26666vw;
  }
}
.modal__content__inner::after {
  background-image: url("/expo/2025/assets/img/exhibitionBooth/icon_modal_03.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -0.05208vw;
  left: -0.05208vw;
}
@media screen and (max-width: 768px) {
  .modal__content__inner::after {
    bottom: -0.26666vw;
    left: -0.26666vw;
  }
}

.modal__ttl {
  margin-left: 1.04167vw;
  width: 26.82292vw;
}
@media screen and (max-width: 768px) {
  .modal__ttl {
    margin-left: 3.2vw;
    width: 50.46934vw;
  }
}

.modal__txtBox {
  background-color: #fff;
  border-radius: 0.98959vw;
  margin-top: -1.04166vw;
  padding: 2.39584vw 1em;
  width: 32.03125vw;
  overflow: auto;
  height: 11.5625vw;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 768px) {
  .modal__txtBox {
    border-radius: 5.06667vw;
    margin-top: 2.66667vw;
    padding: 5.33334vw;
    width: 66.66667vw;
    height: 43.46667vw;
  }
}
.modal__txtBox::-webkit-scrollbar {
  display: none;
}

.modal__txt {
  color: #666;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .modal__txt {
    font-size: 4.26667vw;
    line-height: 2;
  }
}
.modal__txt + .modal__txt {
  margin-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .modal__txt + .modal__txt {
    margin-top: 8.53334vw;
  }
}

.modal__closeBnt {
  background-color: initial;
  border: initial;
  color: #333;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0 0.67709vw;
  font-size: 1.35417vw;
  font-weight: 500;
  line-height: 1.4231;
  text-align: center;
  margin: 1.25vw auto 0;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .modal__closeBnt {
    gap: 0 1.86667vw;
    font-size: 4.26667vw;
    line-height: 1.5;
    margin: 5.33334vw auto 0;
  }
}
.modal__closeBnt span {
  display: inline-block;
  width: 0.75573vw;
}
@media screen and (max-width: 768px) {
  .modal__closeBnt span {
    width: 2.66667vw;
  }
}
@media screen and (min-width: 769px) {
  .modal__closeBnt:hover {
    opacity: 0.6;
  }
}

/* germinationLab
-------------------------------------------------- */
.germinationLab {
  background: linear-gradient(#00a8a9 0%, #b4f0f0 59.11%, #fff 100%);
  background-position: top -7.29166vw left;
  background-repeat: no-repeat;
  background-size: 100% 39.58334vw;
}
@media screen and (max-width: 768px) {
  .germinationLab {
    background: linear-gradient(#00a8a9 0%, #b4f0f0 59.11%, #fff 100%);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100% 164vw;
  }
}

.germinationLab__inner {
  padding: 2.34375vw 0 0;
}
@media screen and (max-width: 768px) {
  .germinationLab__inner {
    padding: 8vw 0 0;
  }
}

/* メインタイトル */
.germinationLab__mainTtlWrap {
  margin: 0 auto;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .germinationLab__mainTtlWrap {
    margin: 0 auto 1.6vw 4vw;
  }
}

.germinationLab__ttl {
  margin: 0 auto;
  width: 47.34375vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__ttl {
    margin: 0 auto 3.46667vw 0;
    width: 89.06667vw;
  }
}

/*  */
.germinationLab__lead {
  color: #E6FAFA;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.04167vw;
  font-weight: 500;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .germinationLab__lead {
    font-size: 5.33334vw;
    line-height: 1.45;
    justify-content: flex-start;
  }
}
.germinationLab__lead::after {
  content: "";
  display: block;
  background-image: url("/expo/2025/assets/img/exhibitionBooth/icon_circle.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 2.85365vw;
  width: 2.85365vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__lead::after {
    display: none;
  }
}

/* アンカーリンク */
.anchorImageWrap {
  position: relative;
}

.anchorImage {
  margin: -0.52083vw auto 0;
  position: relative;
  width: 85.10417vw;
}
@media screen and (max-width: 768px) {
  .anchorImage {
    width: auto;
    overflow-x: auto;
    direction: rtl;
  }
}
.anchorImage .icon_scroll {
  display: none;
}
@media screen and (max-width: 768px) {
  .anchorImage .icon_scroll {
    display: block;
    width: 52.13334vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .anchorImage .icon_scroll img {
    transform: translateX(-50%) translateY(-50%);
    animation: swing 1s infinite alternate ease-in-out;
  }
}

@keyframes swing {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(20px);
  }
}
.anchorImage__inner {
  position: relative;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner {
    width: 439.46667vw;
  }
}
.anchorImage__inner .anchor {
  cursor: pointer;
  position: absolute;
}
.anchorImage__inner .anchor::before {
  content: "";
  display: block;
  background-image: url("/expo/2025/assets/img/exhibitionBooth/icon_circle.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 2.85365vw;
  width: 2.85365vw;
  position: absolute;
  top: 0;
  transition: 0.6s;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor::before {
    display: none;
  }
}
.anchorImage__inner .anchor a {
  display: block;
  height: 100%;
  width: 100%;
}
.anchorImage__inner .anchor img {
  width: 2.29167vw;
  opacity: 0;
  transition: 0.6s;
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor .inner {
    display: block;
    opacity: 0.7;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: background-color 0.6s;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor .inner::before, .anchorImage__inner .anchor .inner::after {
    content: "";
    position: absolute;
  }
}
.anchorImage__inner .anchor .inner::before {
  border-top: 0.10417vw solid #00A8A9;
  width: 0;
  top: 0;
  left: 0;
  transition: width 0.2s 0.2s;
}
.anchorImage__inner .anchor .inner::after {
  border-right: 0.10417vw solid #00A8A9;
  height: 0;
  top: 0;
  right: 0;
  transition: height 0.1s 0.4s;
}
.anchorImage__inner .anchor .inner span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.anchorImage__inner .anchor .inner span::before, .anchorImage__inner .anchor .inner span::after {
  content: "";
  position: absolute;
}
.anchorImage__inner .anchor .inner span::before {
  border-bottom: 0.10417vw solid #00A8A9;
  width: 0;
  right: 0;
  bottom: 0;
  transition: width 0.2s 0.5s;
}
.anchorImage__inner .anchor .inner span::after {
  border-left: 0.10417vw solid #00A8A9;
  height: 0;
  bottom: 0;
  left: 0;
  transition: height 0.1s 0.7s;
}
.anchorImage__inner .anchor--01 {
  top: 11.09375vw;
  right: 7.08334vw;
  height: 6.14584vw;
  width: 11.66667vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--01 {
    top: 61.86667vw;
    right: 37.33334vw;
    height: 26.66667vw;
    width: 58.66667vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--01::before {
    top: -0.36458vw;
    right: -0.26041vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--01 .inner {
    height: 5.20834vw;
  }
}
.anchorImage__inner .anchor--02 {
  top: 10.41667vw;
  right: 19.16667vw;
  height: 6.77084vw;
  width: 13.125vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--02 {
    top: 53.33334vw;
    right: 101.33334vw;
    height: 37.33334vw;
    width: 69.33334vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--02::before {
    top: 0.26042vw;
    right: 1.82292vw;
  }
}
.anchorImage__inner .anchor--02 .inner {
  height: 100%;
}
.anchorImage__inner .anchor--03 {
  top: 13.54167vw;
  right: 32.8125vw;
  height: 4.90261vw;
  width: 19.46355vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--03 {
    top: 74.66667vw;
    right: 171.46667vw;
    height: 20vw;
    width: 96.8vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--03::before {
    top: -0.41666vw;
    left: 1.14584vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--03 .inner {
    height: 3.64584vw;
  }
}
.anchorImage__inner .anchor--04 {
  top: 10.41667vw;
  left: 19.27084vw;
  height: 6.875vw;
  width: 13.48959vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--04 {
    top: 53.33334vw;
    left: 101.33334vw;
    height: 36.26667vw;
    width: 69.6vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--04::before {
    top: 2.1875vw;
    left: 3.33334vw;
  }
}
.anchorImage__inner .anchor--04 .inner {
  height: 100%;
}
.anchorImage__inner .anchor--05 {
  top: 10.41667vw;
  left: 7.29167vw;
  height: 6.92709vw;
  width: 11.875vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--05 {
    top: 61.33334vw;
    left: 38.66667vw;
    height: 29.33334vw;
    width: 59.2vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--05 .inner {
    height: 5.36459vw;
  }
}
.anchorImage__inner .anchor--06 {
  top: 10.15625vw;
  left: 2.08334vw;
  height: 8.28125vw;
  width: 4.79167vw;
}
@media screen and (max-width: 768px) {
  .anchorImage__inner .anchor--06 {
    top: 52.8vw;
    left: 16vw;
    height: 39.46667vw;
    width: 21.33334vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--06::before {
    top: 5.625vw;
    left: 0.26042vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor--06 .inner {
    top: 0.26042vw;
    right: 0;
    bottom: initial;
    left: initial;
    height: 7.29167vw;
    width: 3.64584vw;
  }
}
@media screen and (min-width: 769px) {
  .anchorImage__inner .anchor:hover::before {
    opacity: 0;
  }
  .anchorImage__inner .anchor:hover .inner {
    background-color: rgba(210, 240, 240, 0.5);
  }
  .anchorImage__inner .anchor:hover .inner::before {
    width: 100%;
  }
  .anchorImage__inner .anchor:hover .inner::after {
    height: 100%;
  }
  .anchorImage__inner .anchor:hover .inner span::before {
    width: 100%;
  }
  .anchorImage__inner .anchor:hover .inner span::after {
    height: 100%;
  }
  .anchorImage__inner .anchor:hover img {
    opacity: 1;
  }
}

.germinationLab__contentWrap {
  position: relative;
}
.germinationLab__contentWrap .bg-story {
  padding: 5.72917vw 0 0;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .germinationLab__contentWrap .bg-story {
    padding-top: 13.86667vw;
  }
}
.germinationLab__contentWrap .bg-story::before {
  content: "";
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0px, rgb(255, 255, 255) 100px);
  height: var(--before-height, 100%); /* CSS変数で高さを動的に変更 */
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.germinationLab__contentWrap .bg-story::after {
  content: "";
  background-image: url("/expo/2025/assets/img/exhibitionBooth/bg_germinationLab_pc.svg");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto;
  width: 73.28125vw;
  aspect-ratio: 1800/7800;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .germinationLab__contentWrap .bg-story::after {
    background-image: url("/expo/2025/assets/img/exhibitionBooth/bg_germinationLab_sp.svg");
    background-position: top center;
    height: 1264.53067vw;
    width: 100%;
    aspect-ratio: initial;
  }
}
.germinationLab__contentWrap .icon_foot_02 {
  overflow: hidden;
  position: absolute;
  top: 106.45834vw;
  left: 8.85417vw;
  width: 8.28125vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__contentWrap .icon_foot_02 {
    display: none;
  }
}
.germinationLab__contentWrap .icon_foot_02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.germinationLab__contentWrap .icon_foot_02.is-animated::before {
  animation: foot 3s ease-out forwards;
}

/* ----- リスト ----- */
.germinationLab__list {
  margin: 0 auto;
  width: 57.29167vw;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .germinationLab__list {
    width: 92vw;
  }
}

.germinationLab__list__ttl {
  color: #008486;
  font-size: 1.5625vw;
  font-weight: 500;
  line-height: 1.4667;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__ttl {
    font-size: 8vw;
    line-height: 1.4;
    margin-bottom: 4.53334vw;
    padding-left: 1.06667vw;
  }
}

.germinationLab__list__txt {
  color: #666;
  font-size: 1.04167vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__txt {
    font-size: 4.8vw;
    line-height: 2;
  }
}

/* 01 */
@media screen and (max-width: 768px) {
  .germinationLab__list__content--01 .germinationLab__list__ttl span {
    display: inline-block;
    margin-left: -5.06666vw;
  }
}
.germinationLab__list__content--01 .wrap {
  display: flex;
  gap: 0 3.22917vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--01 .wrap {
    flex-direction: column;
    gap: 6.66667vw 0;
  }
}
.germinationLab__list__content--01 .germinationLab__list__txt {
  width: 28.125vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--01 .germinationLab__list__txt {
    width: auto;
  }
}
.germinationLab__list__content--01 .germinationLab__list__img {
  width: 25.90261vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--01 .germinationLab__list__img {
    width: auto;
  }
}
.germinationLab__list__content--01 .btnWrap {
  margin: 1.5625vw auto 0 0;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--01 .btnWrap {
    margin: 8vw auto 0;
  }
}

/* 02 */
.germinationLab__list__content--02 {
  margin-top: 7.29167vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 {
    margin-top: 26.66667vw;
  }
}
@media screen and (min-width: 769px) {
  .germinationLab__list__content--02 .germinationLab__list__ttl {
    margin-bottom: 0.52084vw;
    line-height: 1.7;
  }
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .germinationLab__list__ttl {
    margin-bottom: 5.33334vw;
  }
}
.germinationLab__list__content--02 .wrap {
  display: flex;
  gap: 0 3.125vw;
  margin-top: 3.28125vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap {
    flex-direction: column;
    gap: 5.33334vw 0;
    margin: 0;
  }
}
.germinationLab__list__content--02 .wrap + .wrap {
  margin-top: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap + .wrap {
    margin-top: 13.33334vw;
  }
}
.germinationLab__list__content--02 .wrap .germinationLab__list__img {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 {
    margin-top: 12.26667vw;
  }
}
.germinationLab__list__content--02 .wrap--01 .germinationLab__list__img {
  width: 18.65834vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 .germinationLab__list__img {
    width: auto;
  }
}
@media screen and (min-width: 769px) {
  .germinationLab__list__content--02 .wrap--01 .list {
    padding-top: 3.02084vw;
  }
}
.germinationLab__list__content--02 .wrap--01 .list li + li {
  margin-top: 1.82292vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 .list li + li {
    margin-top: 5.33334vw;
  }
}
.germinationLab__list__content--02 .wrap--01 .ttl {
  color: #008486;
  font-size: 1.30209vw;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom: 0.41667vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 .ttl {
    font-size: 5.33334vw;
    line-height: 1.45;
    margin-bottom: 0.8vw;
  }
}
.germinationLab__list__content--02 .wrap--01 .ttl span {
  background-color: #E6FAFA;
  display: inline-block;
  line-height: 2.8125vw;
  text-align: center;
  height: 2.8125vw;
  width: 2.8125vw;
  margin-right: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 .ttl span {
    line-height: 10.66667vw;
    height: 10.66667vw;
    width: 10.66667vw;
    margin-right: 2.66667vw;
  }
}
.germinationLab__list__content--02 .wrap--01 .txt {
  color: #666;
  font-size: 1.30209vw;
  line-height: 1.72;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--01 .txt {
    font-size: 4.8vw;
    line-height: 2;
  }
}
@media screen and (min-width: 769px) {
  .germinationLab__list__content--02 .wrap--02 {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--02 {
    gap: 3.46667vw 0;
  }
}
.germinationLab__list__content--02 .wrap--02 .germinationLab__list__img {
  width: 18.8099vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--02 .germinationLab__list__img {
    width: auto;
  }
}
.germinationLab__list__content--02 .wrap--02 .txtWrap {
  padding-top: 6.5625vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--02 .txtWrap {
    padding: 0;
  }
}
.germinationLab__list__content--02 .wrap--02 .ttl {
  color: #008486;
  font-size: 1.30209vw;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom: 1.04167vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--02 .ttl {
    font-size: 5.33334vw;
    line-height: 2.15;
    margin-bottom: 0.8vw;
  }
}
.germinationLab__list__content--02 .wrap--02 .txt {
  color: #666;
  font-size: 1.30209vw;
  line-height: 1.72;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .wrap--02 .txt {
    font-size: 4.8vw;
    line-height: 2;
  }
}
.germinationLab__list__content--02 .btnWrap {
  margin: 1.5625vw auto 0 0;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .btnWrap {
    margin: 7.46667vw auto 0;
  }
}

/* 歯車アイコン */
.germinationLab__list__content--02 .icon_gear_01,
.germinationLab__list__content--02 .icon_gear_02 {
  position: absolute;
  top: 0;
  right: 0;
}
.germinationLab__list__content--02 .icon_gear_01 {
  height: 6.1849vw;
  width: 6.15573vw;
  top: -4.21875vw;
  right: 2.55209vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .icon_gear_01 {
    height: 18.54134vw;
    width: 18.45334vw;
    top: 132.26667vw;
    right: 15.2vw;
  }
}
.germinationLab__list__content--02 .icon_gear_01 img {
  animation: spin 10s ease-out infinite;
}
.germinationLab__list__content--02 .icon_gear_02 {
  height: 3.70001vw;
  width: 3.69011vw;
  top: -5.20833vw;
  right: -1.77083vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .icon_gear_02 {
    height: 11.09067vw;
    width: 11.06134vw;
    top: 122.93334vw;
    right: 6.13334vw;
  }
}
.germinationLab__list__content--02 .icon_gear_02 img {
  animation: reverseSpin 10s ease-out infinite;
}

/* 足跡 */
.germinationLab__list__content--02 .icon_foot_01 {
  overflow: hidden;
  position: absolute;
  top: 22.39584vw;
  right: -10.9375vw;
  width: 5.57292vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--02 .icon_foot_01 {
    display: none;
  }
}
.germinationLab__list__content--02 .icon_foot_01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.germinationLab__list__content--02 .icon_foot_01.is-animated::before {
  animation: foot 3s ease-out forwards;
}

/* 03 */
.germinationLab__list__content--03 {
  display: flex;
  margin-top: 4.0625vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 {
    margin-top: 26.66667vw;
  }
}
.germinationLab__list__content--03 .germinationLab__list__ttl {
  line-height: 1.7;
  margin-bottom: 1.04167vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .germinationLab__list__ttl {
    font-size: 7.46667vw;
    line-height: 1.5;
    margin-bottom: 3.73334vw;
  }
}
.germinationLab__list__content--03 .wrap {
  display: flex;
  align-items: center;
  gap: 0 3.48959vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .wrap {
    display: block;
  }
}
.germinationLab__list__content--03 .leftWrap {
  flex-shrink: 0;
  width: 25.67709vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .leftWrap {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .rightWrap .germinationLab__list__img {
    margin-top: 7.2vw;
  }
}
.germinationLab__list__content--03 .btnWrap {
  margin: 1.25vw 0 0 auto;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .btnWrap {
    margin: 8vw auto 0;
  }
}
.germinationLab__list__content--03 .icon_gear_01 {
  position: absolute;
  top: -4.32291vw;
  right: -5.46875vw;
  height: 3.70001vw;
  width: 3.69011vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .icon_gear_01 {
    display: none;
  }
}
.germinationLab__list__content--03 .icon_gear_01 img {
  animation: reverseSpin 10s ease-out infinite;
}
.germinationLab__list__content--03 .icon_leaf_01 {
  position: absolute;
  bottom: -0.67708vw;
  right: -10.05208vw;
  height: 11.66667vw;
  width: 11.51042vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--03 .icon_leaf_01 {
    display: none;
  }
}

/* 04 */
.germinationLab__list__content--04 {
  position: relative;
  margin-top: 6.66667vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 {
    margin-top: 26.66667vw;
  }
}
.germinationLab__list__content--04 .wrap {
  display: flex;
  justify-content: space-between;
  gap: 0 3.54167vw;
}
.germinationLab__list__content--04 .leftWrap .germinationLab__list__ttl {
  line-height: 1.7;
  margin-bottom: 1.04167vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .leftWrap .germinationLab__list__ttl {
    font-size: 7.46667vw;
    line-height: 1.5;
    margin-bottom: 3.73334vw;
  }
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .leftWrap .germinationLab__list__img {
    margin-top: 6.93334vw;
  }
}
.germinationLab__list__content--04 .leftWrap .btnWrap {
  margin: 1.25vw auto 0 0;
  height: 3.28125vw;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .leftWrap .btnWrap {
    margin: 8vw auto 0;
    height: 16.8vw;
  }
}
.germinationLab__list__content--04 .rightWrap {
  flex-shrink: 0;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .rightWrap {
    display: none;
  }
}
.germinationLab__list__content--04 .germinationLab__bnr {
  background-color: #fff;
  margin: 2.60417vw auto 0;
  width: 28.28907vw;
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .germinationLab__bnr {
    margin: 8.26667vw 0 0;
    width: auto;
  }
}
.germinationLab__list__content--04 .germinationLab__bnr a {
  display: block;
  transition: 0.6s;
}
@media screen and (min-width: 769px) {
  .germinationLab__list__content--04 .germinationLab__bnr:hover a {
    opacity: 0.6;
  }
}

/* 足跡 */
.germinationLab__list__content--04 .icon_foot_03 {
  overflow: hidden;
  position: absolute;
  bottom: -15.10416vw;
  right: -10.41666vw;
  width: 8.33334vw;
  height: auto;
  transform: rotate(-30deg);
}
@media screen and (max-width: 768px) {
  .germinationLab__list__content--04 .icon_foot_03 {
    display: none;
  }
}
.germinationLab__list__content--04 .icon_foot_03::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.germinationLab__list__content--04 .icon_foot_03.is-animated::before {
  animation: foot 3s ease-out forwards;
}

/* カルーセル
-------------------------------------------------- */
.carousel {
  margin-top: 14.79167vw;
  position: relative;
  z-index: 200;
}
@media screen and (max-width: 768px) {
  .carousel {
    margin-top: 26.66667vw;
  }
}

@media screen and (max-width: 768px) {
  .carousel__inner {
    padding-bottom: 40vw;
  }
}

.carousel__ttl {
  color: #008486;
  font-size: 2.1875vw;
  font-weight: 500;
  line-height: 1.4524;
  margin-bottom: 3.80209vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .carousel__ttl {
    font-size: 5.86667vw;
    font-weight: 700;
    line-height: 1.4546;
    margin-bottom: 6.93334vw;
  }
}
.carousel__ttl span {
  background-color: #008486;
  color: #fff;
  display: inline-block;
  font-size: 1.92709vw;
  font-weight: 700;
  line-height: 1.4595;
  margin-right: 1.04167vw;
  padding: 0 1.5625vw 0.26042vw 1.25vw;
}
@media screen and (max-width: 768px) {
  .carousel__ttl span {
    font-size: 5.86667vw;
    line-height: 1.4546;
    margin-right: 2.66667vw;
    padding: 0.8vw 4.8vw 1.33334vw 4vw;
  }
}

/* ----- swiper ----- */
.carousel__slide {
  padding: 0 0.52084vw;
  width: 28.74584vw;
}
@media screen and (max-width: 768px) {
  .carousel__slide {
    padding: 0 1.33334vw;
    width: 79.84534vw;
  }
}

/* ボタン類 */
.carousel .btnSet {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.97917vw;
  padding-top: 1.77084vw;
}
@media screen and (max-width: 768px) {
  .carousel .btnSet {
    gap: 0 9.86667vw;
    margin: 0 auto;
    padding-top: 12.8vw;
    width: 92vw;
  }
}
.carousel .btnSet__inner {
  display: flex;
  gap: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .carousel .btnSet__inner {
    gap: 0 3.46667vw;
  }
}
.carousel .prev-btn,
.carousel .next-btn {
  background-color: initial;
  border: none;
  width: 0.63959vw;
}
@media screen and (max-width: 768px) {
  .carousel .prev-btn,
  .carousel .next-btn {
    width: 3.46667vw;
  }
}
.carousel .swiper-pagination {
  display: flex;
  align-items: center;
  gap: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .carousel .swiper-pagination {
    gap: 4vw;
  }
}
.carousel .swiper-pagination .swiper-pagination-bullet {
  display: block;
  border: 0.05209vw solid #00A8A9;
  border-radius: 50%;
  height: 0.78125vw;
  width: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .carousel .swiper-pagination .swiper-pagination-bullet {
    border: 0.26667vw solid #00A8A9;
    height: 4vw;
    width: 4vw;
  }
}
.carousel .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #00A8A9;
}
.carousel .stop-btn {
  background-color: initial;
  border: none;
}
.carousel .stop-btn .btn_stop,
.carousel .stop-btn .btn_start {
  height: 1.30209vw;
  width: 1.30209vw;
}
@media screen and (max-width: 768px) {
  .carousel .stop-btn .btn_stop,
  .carousel .stop-btn .btn_start {
    height: 6.66667vw;
    width: 6.66667vw;
  }
}
.carousel .stop-btn .btn_start {
  display: none;
}

/* 四角アイコン */
.carousel .icon_square_01 {
  position: absolute;
  top: -8.33333vw;
  left: 12.65625vw;
  height: 11.09375vw;
  width: 6.30209vw;
}
@media screen and (max-width: 768px) {
  .carousel .icon_square_01 {
    top: initial;
    bottom: 6.66667vw;
    left: 4vw;
    height: auto;
    width: 16vw;
  }
}

/* 足跡と道
-------------------------------------------------- */
.bg-foot {
  padding-top: 21.09375vw;
  position: relative;
  z-index: 1;
}

.bg-foot::before {
  content: "";
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0px, rgb(255, 255, 255) 100px);
  height: var(--before-height, 100%); /* CSS変数で高さを動的に変更 */
  width: 100%;
  position: absolute;
  top: initial;
  bottom: 26.04167vw;
  z-index: -1;
}

.bg-foot::after {
  content: "";
  background: url("/expo/2025/assets/img/exhibitionBooth/bg_foot_pc.svg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0.9375vw;
  z-index: -2;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .bg-foot::after {
    background: url("/expo/2025/assets/img/exhibitionBooth/bg_foot_sp.svg");
    background-position: top 5.33334vw center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
  }
}

/* message
-------------------------------------------------- */
.message__inner {
  display: block;
  padding-top: 8.02084vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .message__inner {
    padding-top: 118.93334vw;
    padding-bottom: 122.13334vw;
  }
}

.message .read {
  color: #666;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 2.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .message .read {
    font-size: 4.8vw;
    font-weight: 400;
    line-height: 2;
  }
}
.message .read + .read {
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  .message .read + .read {
    margin-top: 9.6vw;
  }
}
.message .read > span {
  display: block;
}

/* センターから広がる画像
-------------------------------------------------- */
.section-foot-block .wrap .contents__img {
  position: absolute;
  -webkit-transition: 4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 4s cubic-bezier(0.19, 1, 0.22, 1);
  border-radius: 10px;
  overflow: hidden;
  opacity: 0;
}

.section-foot-block .wrap .contents__img--01 {
  top: calc(50% - 6.53646vw);
  left: calc(50% - 11.588545vw);
  width: 14.2708333333vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap .contents__img--01 {
    top: 50%;
    left: calc(50% - 50dvw);
    width: 37.31467vw;
  }
}

.section-foot-block .wrap .contents__img--02 {
  top: calc(50% - 4.375vw);
  right: calc(50% - 7.734375vw);
  width: 17.7604166667vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap .contents__img--02 {
    top: 50%;
    right: calc(50% - 50dvw);
    width: 38.86401vw;
  }
}

.section-foot-block .wrap .contents__img--03 {
  top: calc(50% - 6.53646vw);
  left: calc(50% - 11.588545vw);
  width: 20.7291666667vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap .contents__img--03 {
    top: 50%;
    left: calc(50% - 50dvw);
    width: 50.09601vw;
  }
}

.section-foot-block .wrap .contents__img--04 {
  bottom: calc(50% - 4.375vw);
  left: calc(50% - 7.734375vw);
  width: 16.1458333333vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap .contents__img--04 {
    bottom: 50%;
    left: calc(50% - 50dvw);
    width: 66.60267vw;
  }
}

.section-foot-block .wrap .contents__img--05 {
  bottom: calc(50% - 4.375vw);
  right: calc(50% - 7.734375vw);
  width: 27.6041666667vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap .contents__img--05 {
    bottom: 50%;
    right: calc(50% - 50dvw);
    width: 76.53334vw;
  }
}

.section-foot-block .wrap.active .contents__img {
  opacity: 1;
}

.section-foot-block .wrap.active .contents__img--01 {
  top: 1.04167vw;
  left: 13.54167vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap.active .contents__img--01 {
    top: 10.66667vw;
    left: 0;
  }
}

.section-foot-block .wrap.active .contents__img--02 {
  top: 11.97917vw;
  right: 8.33334vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap.active .contents__img--02 {
    top: 38.13334vw;
    right: 0;
  }
}

.section-foot-block .wrap.active .contents__img--03 {
  top: 17.70834vw;
  left: 0;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap.active .contents__img--03 {
    top: 72.8vw;
  }
}

.section-foot-block .wrap.active .contents__img--04 {
  bottom: 11.45834vw;
  left: 12.5vw;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap.active .contents__img--04 {
    bottom: 64.53334vw;
    left: 0;
  }
}

.section-foot-block .wrap.active .contents__img--05 {
  bottom: 11.4583333333vw;
  right: 0;
}
@media screen and (max-width: 768px) {
  .section-foot-block .wrap.active .contents__img--05 {
    bottom: 13.33334vw;
  }
}

.section-foot-block .txt-box .read span {
  display: block;
  margin: auto;
  white-space: nowrap;
  overflow: hidden;
}

/* フェードイン用設定
-------------------------------------------------- */
/* フェードインアップ */
.anm-fadeInUp {
  opacity: 0;
}

.anm-fadeInUp.is-animated {
  -webkit-animation: fadeInUp 0.6s both;
  animation: fadeInUp 0.6s both;
}

/* フェードインレフト */
.anm-fadeInLeft {
  opacity: 0;
}

.anm-fadeInLeft.is-animated {
  -webkit-animation: fadeInLeft 1.2s both;
  animation: fadeInLeft 1.2s both;
}

/* フェードインライト */
.anm-fadeInRight.is-animated {
  -webkit-animation: fadeInRight 1.2s both;
  animation: fadeInRight 1.2s both;
}

.anm-fadeInUp.is-animated {
  -webkit-animation: fadeInUp 0.6s both;
  animation: fadeInUp 0.6s both;
}

/*  */
.JS-fadeInNow {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: none;
  transition: none;
}

.JS-fadeInNow .is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* キーフレームまとめ
-------------------------------------------------- */
/* フェードアップ */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(8deg);
    transform: translateY(8deg);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(8deg);
    transform: translateY(8deg);
  }
}
/* フェードレフト */
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-120px);
    transform: translateX(-120px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-120px);
    transform: translateX(-120px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
/* フェードライト */
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(120px);
    transform: translateX(120px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(120px);
    transform: translateX(120px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
/* 足跡 */
@-webkit-keyframes foot {
  0% {
    top: 0;
  }
  100% {
    top: 100%;
  }
}
@keyframes foot {
  0% {
    top: 0;
  }
  100% {
    top: 100%;
  }
}
/* ギア用回転 */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); /* 初期状態（回転なし） */
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); /* 360度回転 */
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); /* 初期状態（回転なし） */
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); /* 360度回転 */
  }
}
/* ギア用回転（逆） */
@-webkit-keyframes reverseSpin {
  0% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); /* 初期状態（回転なし） */
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); /* 360度回転 */
  }
}
@keyframes reverseSpin {
  0% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); /* 初期状態（回転なし） */
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); /* 360度回転 */
  }
}
