@charset "UTF-8";
/* ベース設定まとめ
================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
:where(html, body) {
  height: 100%;
  margin: 0;
  padding: 0;
}

:where(html) {
  font-size: 62.5%;
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
  min-width: 320px;
}

/* モーダル等開いた時に後ろが動いてしまうのを防ぐ設定 */
html.is-hidden {
  overflow: hidden;
}

:where(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;
}

:where(a) {
  color: #333;
  text-decoration: none;
}

:where(img) {
  border: 0;
  vertical-align: bottom;
  width: 100%;
}

:where(table) {
  border-collapse: collapse;
  width: 100%;
}

:where(.wrapper) {
  background-color: #fff;
  margin: 0 auto;
}

/* レスポンシブ消去
-------------------------------------------------- */
.pcI {
  display: none;
}
@media screen and (min-width: 769px) {
  .pcI {
    display: inline;
  }
}

.spI {
  display: inline;
}
@media screen and (min-width: 769px) {
  .spI {
    display: none;
  }
}

.pcIb {
  display: none;
}
@media screen and (min-width: 769px) {
  .pcIb {
    display: inline-block;
  }
}

.spIb {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .spIb {
    display: none;
  }
}

/* ページごとの設定
================================================== */
@media screen and (min-width: 1920px) {
  .bp {
    display: none;
  }
}

/* 共通
-------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

.sec {
  position: relative;
  z-index: 10;
}

.sec__inner {
  margin: 0 auto;
  width: 58.33334dvw;
}
@media screen and (max-width: 768px) {
  .sec__inner {
    max-width: initial;
    width: 92dvw;
  }
}

/* 共通パーツ
-------------------------------------------------- */
/* ----- cmn-imgWrap ----- */
.cmn-imgWrap {
  padding: 0.67709dvw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cmn-imgWrap {
    padding: 1.06667dvw 1.33334dvw;
  }
}
.cmn-imgWrap::before, .cmn-imgWrap::after {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.cmn-imgWrap::before {
  background-image: url("/expo/timecapsule/report2026/assets/img/icon_imgWrap_01.png");
  top: 0;
  right: 0;
}
.cmn-imgWrap::after {
  background-image: url("/expo/timecapsule/report2026/assets/img/icon_imgWrap_02.png");
  bottom: 0;
  left: 0;
}

/* ----- bg ----- */
.bg-01 {
  background: linear-gradient(#e6fafa 0%, rgba(230, 250, 250, 0.85) 40.89%, rgba(230, 250, 250, 0) 100%);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% 101.97917dvw;
  overflow: clip;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bg-01 {
    background-size: 100% 467.728dvw;
  }
}
.bg-01:has(.president__txtWrap.is-open) {
  background-position: top 37.23959dvw center;
}
@media screen and (max-width: 768px) {
  .bg-01:has(.president__txtWrap.is-open) {
    background-position: top 74.66667dvw center;
  }
}
.bg-01::before {
  content: "";
  display: block;
  background-color: #fff;
  height: 37.23959dvw;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .bg-01::before {
    height: 53.33334dvw;
  }
}
.bg-01::after {
  content: "";
  background: linear-gradient(#e6fafa 0%, rgba(230, 250, 250, 0.85) 70%, rgba(230, 250, 250, 0) 85%, rgba(230, 250, 250, 0) 100%);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%;
  border-radius: 50%;
  width: 139.53125dvw;
  height: 71.09375dvw;
  position: absolute;
  top: 1.71875dvw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .bg-01::after {
    height: 141.86667dvw;
    width: 174.13334dvw;
    top: 4dvw;
  }
}

.bg-02 {
  background-image: url("/expo/timecapsule/report2026/assets/img/bg_explanation.png");
  background-position: top center;
  background-repeat: repeat;
  background-size: 4.21875dvw 4.0625dvw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bg-02 {
    background-size: 21.6dvw 20.8dvw;
  }
}
.bg-02::before, .bg-02::after {
  content: "";
  position: absolute;
  width: 100%;
}
.bg-02::before {
  background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0.92) 80%, rgba(255, 255, 255, 0) 100%);
  top: 0;
  height: 61.14584dvw;
}
@media screen and (max-width: 768px) {
  .bg-02::before {
    height: 240dvw;
  }
}
.bg-02::after {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.92) 84.73%, #fff 100%);
  bottom: 0;
  height: 24.21875dvw;
}
@media screen and (max-width: 768px) {
  .bg-02::after {
    height: 373.33334dvw;
  }
}

/* ボタン */
.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;
  }
}
.btn > a {
  color: #333;
  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;
  }
}
/* kv
-------------------------------------------------- */
.kv__inner {
  position: relative;
}

.kv__ttl {
  font-size: 3.64584dvw;
  font-weight: 900;
  line-height: 1.1858;
  text-align: center;
  position: absolute;
  top: 5.72917dvw;
  left: 20.83334dvw;
}
@media screen and (max-width: 768px) {
  .kv__ttl {
    font-size: 9.33334dvw;
    line-height: 1.1143;
    top: 4.26667dvw;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
  }
}
.kv__ttl span {
  display: block;
}
.kv__ttl span:first-child {
  font-size: 2.5dvw;
  font-weight: 800;
  line-height: 1.4584;
}
@media screen and (max-width: 768px) {
  .kv__ttl span:first-child {
    font-size: 5.33334dvw;
    line-height: 1.45;
  }
}
.kv__ttl .en {
  font-size: 2.08334dvw;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
  margin-top: 0.83334dvw;
}
@media screen and (max-width: 768px) {
  .kv__ttl .en {
    font-size: 5.33334dvw;
    line-height: 1.45;
    margin-top: 1.33334dvw;
  }
}
.kv__ttl .sub {
  font-size: 1.5625dvw;
  font-weight: 600;
  line-height: 1.4667;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .kv__ttl .sub {
    font-size: 4.26667dvw;
    line-height: 1.5;
    margin-top: -1.06666dvw;
  }
}
.kv__ttl .date {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-feature-settings: "palt";
  font-size: 1.45834dvw;
  font-weight: 700;
  line-height: 2.3929;
  text-align: center;
  margin-top: 0.83334dvw;
}
@media screen and (max-width: 768px) {
  .kv__ttl .date {
    font-size: 4.8dvw;
    line-height: 2.3334;
    margin-top: 1.06667dvw;
  }
}
.kv__ttl .date > span {
  font-size: 1.19792dvw;
  line-height: 2.9131;
}
@media screen and (max-width: 768px) {
  .kv__ttl .date > span {
    font-size: 4dvw;
    line-height: 2.8;
  }
}

/* about
-------------------------------------------------- */
.about {
  background: linear-gradient(180deg, #e9f7fb 0%, #fff 100%);
  background-size: 100% 30.20834dvw;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .about {
    background-size: 100% 152dvw;
  }
}

.about__inner {
  padding: 5.20834dvw 0 3.95834dvw;
}
@media screen and (max-width: 768px) {
  .about__inner {
    padding: 14.13334dvw 0 13.86667dvw;
  }
}

.about__ttl {
  margin: 0 auto 2.70834dvw;
  width: 37.5dvw;
}
@media screen and (max-width: 768px) {
  .about__ttl {
    margin-bottom: 5.86667dvw;
    width: 84.26667dvw;
  }
}

.about__txt,
.about__txt--green {
  font-size: 1.25dvw;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__txt,
  .about__txt--green {
    font-size: 4.26667dvw;
  }
}

.about__txt {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .about__txt {
    line-height: 1.75;
  }
}

.about__txt--green {
  color: #008486;
  font-weight: 700;
  margin-top: 2.29167dvw;
}
@media screen and (max-width: 768px) {
  .about__txt--green {
    line-height: 1.625;
    margin: 5.33334dvw -2.66666dvw 0;
  }
}

/* anchor
-------------------------------------------------- */
.anchor {
  color: #00A8A9;
}

.anchor__card {
  background-color: #FAF0E6;
  border-radius: 2.08334dvw;
  margin: 0 auto;
  padding: 2.08334dvw 4.16667dvw 3.125dvw;
  width: 38.85417dvw;
}
@media screen and (max-width: 768px) {
  .anchor__card {
    border-radius: 8dvw;
    padding: 8dvw 4dvw;
    width: 92dvw;
  }
}

.anchor__card-ttl {
  border-bottom: 0.05209dvw dashed #fff;
  font-size: 1.25dvw;
  font-weight: 600;
  line-height: 1.4584;
  text-align: center;
  margin-bottom: 1.04167dvw;
  padding-bottom: 0.98959dvw;
}
@media screen and (max-width: 768px) {
  .anchor__card-ttl {
    border-bottom: 0.26667dvw dashed #fff;
    font-size: 5.33334dvw;
    line-height: 1.45;
    margin-bottom: 5.33334dvw;
    padding-bottom: 5.06667dvw;
  }
}

.anchor__card-list {
  display: flex;
  flex-direction: column;
  gap: 1.04167dvw 0;
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.4445;
}
@media screen and (max-width: 768px) {
  .anchor__card-list {
    gap: 5.06667dvw 0;
    font-size: 4.26667dvw;
    line-height: 1.25;
  }
}
.anchor__card-list a {
  background-image: url("/expo/timecapsule/report2026/assets/img/icon_anchor.png");
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 1.25dvw;
  color: inherit;
  display: block;
  padding-right: 1.5625dvw;
}
@media screen and (max-width: 768px) {
  .anchor__card-list a {
    background-size: 5.33334dvw;
    padding-right: 8dvw;
  }
}
@media screen and (min-width: 769px) {
  .anchor__card-list a:hover {
    opacity: 0.6;
  }
}

/* start
-------------------------------------------------- */
.start {
  margin-top: 5.20834dvw;
}
@media screen and (max-width: 768px) {
  .start {
    margin-top: 32dvw;
  }
}

.start__ttl {
  margin: 0 auto 2.70834dvw;
  width: 28.125dvw;
}
@media screen and (max-width: 768px) {
  .start__ttl {
    margin-bottom: 7.2dvw;
    width: 91.56dvw;
  }
}

.start__txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .start__txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
    margin: 0 -2.66666dvw;
  }
}
.start__txt + .start__txt {
  margin-top: 0.72917dvw;
}
@media screen and (max-width: 768px) {
  .start__txt + .start__txt {
    margin-top: 4.26667dvw;
  }
}
.start__txt .font-bold {
  color: #008486;
  font-feature-settings: "palt";
  font-size: 1.82292dvw;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .start__txt .font-bold {
    display: inline-block;
    font-size: 7.46667dvw;
    line-height: 1.5;
    margin-top: 2.66667dvw;
  }
}

.start__movie {
  margin: 2.1875dvw auto 0;
  width: 49.11459dvw;
}
@media screen and (max-width: 768px) {
  .start__movie {
    margin-top: 5.33334dvw;
    width: 84dvw;
  }
}
.start__movie iframe {
  border: none;
  aspect-ratio: 16/9;
  width: 100%;
}

/* president
-------------------------------------------------- */
.president {
  margin-top: 5.20834dvw;
}
@media screen and (max-width: 768px) {
  .president {
    margin-top: 13.33334dvw;
  }
}

.president__inner {
  padding-bottom: 8.85417dvw;
}
@media screen and (max-width: 768px) {
  .president__inner {
    padding-bottom: 16dvw;
  }
}

.president__ttl {
  margin: 0 auto 2.60417dvw;
  width: 28.125dvw;
}
@media screen and (max-width: 768px) {
  .president__ttl {
    margin-bottom: 8dvw;
    width: 84dvw;
  }
}

.president__img {
  margin: 0 auto 2.60417dvw;
  width: 40.75521dvw;
}
@media screen and (max-width: 768px) {
  .president__img {
    margin-bottom: 7.46667dvw;
    width: 84dvw;
  }
}
.president__img::before, .president__img::after {
  height: 9.58334dvw;
  width: 19.53125dvw;
}
@media screen and (max-width: 768px) {
  .president__img::before, .president__img::after {
    height: 20.144dvw;
    width: 41.14134dvw;
  }
}

.president__txtWrap {
  margin-top: 0.83334dvw;
}
@media screen and (max-width: 768px) {
  .president__txtWrap {
    margin-top: 0;
  }
}

.president__txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .president__txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
  }
}
.president__txt + .president__txt {
  margin-top: 2.1875dvw;
}
@media screen and (max-width: 768px) {
  .president__txt + .president__txt {
    margin-top: 7.46667dvw;
  }
}

.president__btn {
  background-color: initial;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.36459dvw;
  font-size: 1.04167dvw;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  margin: 2.39584dvw auto 0;
  transition: transform 0.5s;
}
@media screen and (max-width: 768px) {
  .president__btn {
    gap: 0 2.66667dvw;
    font-size: 4.26667dvw;
    line-height: 1.5;
    margin-top: 7.46667dvw;
  }
}
@media screen and (min-width: 769px) {
  .president__btn:hover {
    color: #00A8A9;
  }
}
.president__btn img {
  transform: rotate(180deg) translateY(-0.10416dvw);
  width: 1.40625dvw;
}
@media screen and (max-width: 768px) {
  .president__btn img {
    transform: rotate(180deg) translateY(-0.53333dvw);
    width: 5.33334dvw;
  }
}
.president__btn .close {
  display: none;
}
.president__btn .more {
  display: block;
}
.president__btn.js-acc-active img {
  transform: rotate(0) translateY(0.10417dvw);
}
@media screen and (max-width: 768px) {
  .president__btn.js-acc-active img {
    transform: rotate(0) translateY(0.53334dvw);
  }
}
.president__btn.js-acc-active .close {
  display: block;
}
.president__btn.js-acc-active .more {
  display: none;
}

.js-acc-content {
  height: 0;
  overflow: hidden;
  transition: height 0.5s ease;
}

/* message
-------------------------------------------------- */
.message__ttl {
  margin: 0 auto 2.8125dvw;
  width: 28.125dvw;
}
@media screen and (max-width: 768px) {
  .message__ttl {
    margin-bottom: 8dvw;
    width: 84dvw;
  }
}

.message__txtWrap {
  display: flex;
  gap: 0 2.60417dvw;
}
@media screen and (max-width: 768px) {
  .message__txtWrap {
    display: block;
  }
}
.message__txtWrap .message__txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  width: 22.08334dvw;
}
@media screen and (max-width: 768px) {
  .message__txtWrap .message__txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
    text-align: center;
    width: auto;
  }
}
.message__txtWrap > div {
  margin-top: 0.20834dvw;
}
@media screen and (max-width: 768px) {
  .message__txtWrap > div {
    margin-top: 9.06667dvw;
  }
}

.message__img {
  width: 33.49896dvw;
}
@media screen and (max-width: 768px) {
  .message__img {
    margin: 0 auto;
    width: 78.28267dvw;
  }
}
.message__img::before, .message__img::after {
  height: 7.87709dvw;
  width: 16.05417dvw;
}
@media screen and (max-width: 768px) {
  .message__img::before, .message__img::after {
    height: 18.408dvw;
    width: 37.51467dvw;
  }
}

.message__libretto {
  background-image: url("/expo/timecapsule/report2026/assets/img/gb_libretto_pc.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%;
  margin: 2.39584dvw auto 0;
  padding: 1.82292dvw 3.64584dvw 1.82292dvw 3.125dvw;
  height: 20.46875dvw;
  width: 46.79688dvw;
  transform: rotate(-2deg);
}
@media screen and (max-width: 768px) {
  .message__libretto {
    background-image: url("/expo/timecapsule/report2026/assets/img/gb_libretto_sp.png");
    margin-top: 6.93334dvw;
    padding: 5.33334dvw 11.73334dvw;
    height: 142.66667dvw;
    width: 88dvw;
  }
}

.message__libretto-txt {
  color: #323232;
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.6667;
}
@media screen and (max-width: 768px) {
  .message__libretto-txt {
    font-size: 3.73334dvw;
    line-height: 1.5715;
  }
}
.message__libretto-txt + .message__libretto-txt {
  margin-top: 0.57292dvw;
}
@media screen and (max-width: 768px) {
  .message__libretto-txt + .message__libretto-txt {
    margin-top: 3.2dvw;
  }
}

/* project
-------------------------------------------------- */
.project {
  margin-top: 2.70834dvw;
}
@media screen and (max-width: 768px) {
  .project {
    margin-top: 18.13334dvw;
  }
}

.project__inner {
  padding-top: 2.60417dvw;
}
@media screen and (max-width: 768px) {
  .project__inner {
    padding-top: 7.2dvw;
  }
}

.project__card {
  background-color: #FAF0E6;
  border-radius: 2.08334dvw;
  padding: 7.91667dvw 3.28125dvw 3.4375dvw 4.0625dvw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .project__card {
    border-radius: 8dvw;
    padding: 19.46667dvw 4dvw 6.93334dvw;
  }
}

.project__ttl {
  margin: 0 auto;
  width: 29.6875dvw;
  position: absolute;
  top: -2.44791dvw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .project__ttl {
    width: 84dvw;
    top: -7.46666dvw;
  }
}

.project__list > li:nth-child(1) .project__list-txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(1) .project__list-txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
    text-align: center;
    margin-left: -2.66666dvw;
    margin-right: -2.66666dvw;
  }
}
.project__list > li:nth-child(2) .project__list-card, .project__list > li:nth-child(3) .project__list-card {
  background-color: #fff;
  border-radius: 1.5625dvw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__list-card, .project__list > li:nth-child(3) .project__list-card {
    border-radius: 5.33334dvw;
  }
}
.project__list > li:nth-child(2) .project__list-ttl, .project__list > li:nth-child(3) .project__list-ttl {
  width: 24.39115dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__list-ttl, .project__list > li:nth-child(3) .project__list-ttl {
    width: 78.48267dvw;
  }
}
@media screen and (min-width: 769px) {
  .project__list > li:nth-child(2) .project__img, .project__list > li:nth-child(3) .project__img {
    position: absolute;
  }
}
.project__list > li:nth-child(2) ul, .project__list > li:nth-child(3) ul {
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.6667;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) ul, .project__list > li:nth-child(3) ul {
    font-size: 3.73334dvw;
    line-height: 1.5715;
  }
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) {
    margin-top: 13.33334dvw;
  }
}
.project__list > li:nth-child(2) .project__list-card {
  margin: 5.57292dvw auto 0 0;
  padding: 4.0625dvw 2.91667dvw 1.5625dvw;
  width: 34.32292dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__list-card {
    margin: 1.6dvw auto 0;
    padding: 3.73334dvw 6.13334dvw;
    width: 76dvw;
    overflow: clip;
  }
}
@media screen and (min-width: 769px) {
  .project__list > li:nth-child(2) .project__list-ttl {
    position: absolute;
    top: -2.23958dvw;
    left: 2.1875dvw;
  }
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__list-ttl {
    margin: 0 auto 4dvw;
  }
}
@media screen and (min-width: 769px) {
  .project__list > li:nth-child(2) .project__img {
    width: 28.75dvw;
    left: 26.04167dvw;
    bottom: -3.38541dvw;
  }
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__img {
    margin: 0 -8dvw;
    width: 100dvw;
  }
}
.project__list > li:nth-child(2) .project__list-txt {
  color: #00A8A9;
  font-size: 1.30209dvw;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  margin-top: 1.04167dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(2) .project__list-txt {
    font-size: 4.26667dvw;
    line-height: 1.625;
    margin-top: 2.66667dvw;
  }
}
.project__list > li:nth-child(3) {
  position: relative;
  margin-top: 7.29167dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) {
    margin-top: 23.2dvw;
  }
}
.project__list > li:nth-child(3) .project__list-card {
  margin: 2.23959dvw 0 0 auto;
  padding: 4.16667dvw 1.5625dvw 1.25dvw 4.53125dvw;
  width: 29.375dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) .project__list-card {
    margin: 0 auto 0;
    padding: 13.6dvw 3.2dvw 14.93334dvw 4dvw;
    width: 76dvw;
  }
}
.project__list > li:nth-child(3) .project__list-ttl {
  position: absolute;
  top: -2.23958dvw;
  right: 1.35417dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) .project__list-ttl {
    top: -10.66666dvw;
    left: 50%;
    right: initial;
    transform: translateX(-50%);
  }
}
.project__list > li:nth-child(3) .project__list-txt {
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.6667;
  margin-top: 0.625dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) .project__list-txt {
    font-size: 3.73334dvw;
    line-height: 1.5715;
    margin-top: 5.86667dvw;
  }
}
.project__list > li:nth-child(3) .project__img {
  width: 23.69792dvw;
  top: -3.95833dvw;
  left: 0;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) .project__img {
    margin: -7.2dvw auto 0;
    width: auto;
    position: relative;
    z-index: 1;
  }
}
.project__list > li:nth-child(3) .project__img figcaption {
  font-size: 0.72917dvw;
  font-weight: 500;
  line-height: 1.4286;
  margin-top: 0.3125dvw;
}
@media screen and (max-width: 768px) {
  .project__list > li:nth-child(3) .project__img figcaption {
    font-size: 3.73334dvw;
    margin-top: 5.33334dvw;
  }
}
.project__list > li:nth-child(3) .project__img figcaption > ul {
  font-size: inherit;
  line-height: inherit;
}

/* letter
-------------------------------------------------- */
.letter {
  margin-top: 5.20834dvw;
}
@media screen and (max-width: 768px) {
  .letter {
    margin-top: 11.2dvw;
  }
}

.letter__ttl {
  margin: 0 auto 2.70834dvw;
  width: 31.25dvw;
}
@media screen and (max-width: 768px) {
  .letter__ttl {
    margin-bottom: 7.2dvw;
    width: 86.13334dvw;
  }
}

.letter__txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .letter__txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
  }
}

.letter__list {
  color: #666;
  display: flex;
  flex-wrap: wrap;
  gap: 2.60417dvw;
  margin-top: 1.35417dvw;
}
@media screen and (max-width: 768px) {
  .letter__list {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 7.46667dvw 0;
    margin: 7.46667dvw auto 0;
    width: 84dvw;
  }
}
.letter__list li {
  width: 27.86459dvw;
}
@media screen and (max-width: 768px) {
  .letter__list li {
    width: auto;
  }
}
.letter__list figcaption {
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.6667;
  margin-top: 0.72917dvw;
}
@media screen and (max-width: 768px) {
  .letter__list figcaption {
    font-size: 3.2dvw;
    line-height: 1.8334;
    margin-top: 3.2dvw;
  }
}

.letter__card {
  background-color: #FAF0E6;
  border-radius: 2.08334dvw;
  margin-top: 5.20834dvw;
  padding: 5.20834dvw 4.16667dvw 1.04167dvw;
}
@media screen and (max-width: 768px) {
  .letter__card {
    border-radius: 10.66667dvw;
    margin-top: 12.8dvw;
    padding: 13.33334dvw 4dvw 2.66667dvw;
    overflow: clip;
  }
}
.letter__card .wrap {
  display: flex;
}
@media screen and (max-width: 768px) {
  .letter__card .wrap {
    display: block;
  }
}
.letter__card .letter__card-movie {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .letter__card .letter__card-movie {
    width: auto;
  }
}
.letter__card .letter__card-movie iframe {
  aspect-ratio: 16/9;
  border: none;
  width: 100%;
}
.letter__card .letter__card-txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  padding-left: 2.08334dvw;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .letter__card .letter__card-txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
    margin-top: 3.2dvw;
    padding: 0;
    width: auto;
  }
}
.letter__card .letter__card-img {
  margin: 0 auto;
  width: 43.22917dvw;
}
@media screen and (max-width: 768px) {
  .letter__card .letter__card-img {
    margin: 0 0 0 -6.66666dvw;
    width: 97.06667dvw;
  }
}

.letter__guest {
  display: flex;
  justify-content: center;
  gap: 0 0.52084dvw;
  margin-top: 6.30209dvw;
  padding-left: 1.875dvw;
}
@media screen and (max-width: 768px) {
  .letter__guest {
    margin-top: 13.33334dvw;
    flex-direction: column-reverse;
    padding: 0;
  }
}
.letter__guest .letter__guest-left {
  padding-top: 0.52084dvw;
  width: 22.5dvw;
}
@media screen and (max-width: 768px) {
  .letter__guest .letter__guest-left {
    margin-top: 1.06667dvw;
    width: auto;
  }
}
.letter__guest .letter__guest-left .txt {
  color: #666;
  font-size: 0.9375dvw;
  font-weight: 500;
  line-height: 1.7778;
}
@media screen and (max-width: 768px) {
  .letter__guest .letter__guest-left .txt {
    font-size: 3.73334dvw;
    line-height: 1.7858;
    margin: 0 auto;
    width: 84dvw;
  }
}
.letter__guest .letter__guest-right {
  width: 30.98959dvw;
}
@media screen and (max-width: 768px) {
  .letter__guest .letter__guest-right {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .letter__guest .img {
    width: 87.73334dvw;
  }
}

/* ceremony
-------------------------------------------------- */
.ceremony {
  position: relative;
}
@media screen and (min-width: 769px) {
  .ceremony {
    background: url("/expo/timecapsule/report2026/assets/img/bg_ceremony_01_pc.png"), url("/expo/timecapsule/report2026/assets/img/bg_ceremony_02_pc.png"), linear-gradient(#fff 0%, #e9f7fb 100%);
    background-position: top -27.8125dvw center, bottom 67.70834dvw center, bottom center;
    background-size: 314.35001dvw 120.15469dvw, 7.29167dvw 35.625dvw, 100% 29.42709dvw;
    background-repeat: no-repeat;
    margin-top: 4.89584dvw;
    padding-bottom: 5.72917dvw;
  }
}
@media screen and (max-width: 768px) {
  .ceremony {
    background: url("/expo/timecapsule/report2026/assets/img/bg_ceremony_01_sp.png"), url("/expo/timecapsule/report2026/assets/img/bg_ceremony_02_sp.png"), linear-gradient(#fff 0%, #e9f7fb 100%);
    background-position: top -413.33333dvw center, top 26.66667dvw center, bottom center;
    background-size: 586.66667dvw 505.06667dvw, 13.86667dvw 182.66667dvw, 100% 106.66667dvw;
    background-repeat: no-repeat;
    margin-top: 6.4dvw;
    padding-bottom: 14.66667dvw;
  }
}
.ceremony::before {
  content: "";
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  background-position: top center;
  background-size: 100%;
  background-repeat: no-repeat;
  height: 20.83334dvw;
  width: 100%;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 768px) {
  .ceremony::before {
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 100%);
    background-position: top center;
    background-size: 100%;
    background-repeat: no-repeat;
    height: 40dvw;
    width: 100%;
  }
}

.ceremony__inner {
  position: relative;
  z-index: 1;
}

.ceremony__ttl {
  margin: 0 auto 4.58334dvw;
  width: 29.6875dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__ttl {
    margin-bottom: 13.86667dvw;
    width: 85.86667dvw;
  }
}

.ceremony__topWrap {
  display: flex;
  align-items: center;
  gap: 0 3.33334dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__topWrap {
    display: block;
  }
}
.ceremony__topWrap .ceremony__img {
  transform: rotate(-8deg) translateX(0.83334dvw) translateY(2.60417dvw);
  width: 33.48959dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__topWrap .ceremony__img {
    margin: 0 auto;
    width: 78.4dvw;
    transform: rotate(-8deg);
  }
}
.ceremony__topWrap .ceremony__img::before, .ceremony__topWrap .ceremony__img::after {
  height: 7.87709dvw;
  width: 16.05417dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__topWrap .ceremony__img::before, .ceremony__topWrap .ceremony__img::after {
    height: 18.4dvw;
    width: 37.6dvw;
  }
}
.ceremony__topWrap .ceremony__txt {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 2.08334dvw;
  width: 21.61459dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__topWrap .ceremony__txt {
    font-size: 4.26667dvw;
    line-height: 1.75;
    text-align: center;
    margin: 9.33334dvw -2.66666dvw 0;
    padding: 0;
    width: auto;
  }
}

.ceremony__list-txt {
  color: #666;
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .ceremony__list-txt {
    font-size: 3.73334dvw;
    line-height: 1.7858;
  }
}

.ceremony__list {
  margin-top: 4.47917dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__list {
    margin-top: 2.13334dvw;
  }
}
.ceremony__list .ceremony__list-bottom {
  padding-top: 4.0625dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__list .ceremony__list-bottom {
    padding-top: 0;
  }
}
.ceremony__list > li {
  display: flex;
}
@media screen and (max-width: 768px) {
  .ceremony__list > li {
    display: block;
  }
}
.ceremony__list > li:nth-child(1) {
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0 0.83334dvw;
}
.ceremony__list > li:nth-child(1) .ceremony__list-img {
  margin-top: 1.04167dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__list > li:nth-child(1) .ceremony__list-img {
    margin: 0 0 0 auto;
    width: 89.33334dvw;
  }
}
@media screen and (max-width: 768px) {
  .ceremony__list > li:nth-child(1) .ceremony__list-txt {
    margin: 3.2dvw auto 0;
    width: 84dvw;
  }
}

.ceremony__center-txt-wrap {
  font-size: 1.25dvw;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
  margin-top: 0.10417dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__center-txt-wrap {
    font-size: 4.26667dvw;
    line-height: 1.75;
    margin-top: 8dvw;
  }
}
.ceremony__center-txt-wrap > p + p {
  margin-top: 3.22917dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__center-txt-wrap > p + p {
    margin-top: 4.26667dvw;
  }
}
.ceremony__center-txt-wrap .ceremony__center-img {
  margin-top: 5.41667dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__center-txt-wrap .ceremony__center-img {
    margin: 4.8dvw auto 0;
    width: 84dvw;
  }
}

/* ----- カルーセル ----- */
.carousel {
  margin: 5.72917dvw -20.83333dvw 0;
  position: relative;
  z-index: 200;
}
@media screen and (max-width: 768px) {
  .carousel {
    margin: 13.33334dvw -4dvw 0;
  }
}

/* ----- swiper ----- */
.carousel__slide {
  padding: 0 1.30209dvw;
  width: 33.85417dvw;
}
@media screen and (max-width: 768px) {
  .carousel__slide {
    padding: 0 2.66667dvw;
    width: 74.66667dvw;
  }
}

/* ボタン類 */
.carousel .btnSet {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.97917vw;
  padding-top: 2.08334dvw;
}
@media screen and (max-width: 768px) {
  .carousel .btnSet {
    gap: 0 9.86667vw;
    margin: 0 auto;
    padding-top: 7.2dvw;
    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.63959dvw;
}
@media screen and (max-width: 768px) {
  .carousel .prev-btn,
  .carousel .next-btn {
    width: 3.2dvw;
  }
}

/* ページネーション */
.carousel .swiper-pagination {
  display: flex;
  align-items: center;
  gap: 0.78125dvw;
  flex-wrap: wrap;
  max-width: 14.84375dvw;
}
@media screen and (max-width: 768px) {
  .carousel .swiper-pagination {
    gap: 3.73334dvw;
    max-width: 56.00001dvw;
  }
}

.carousel .swiper-pagination .swiper-pagination-bullet {
  display: block;
  border: 0.05209dvw solid #00A8A9;
  border-radius: 50%;
  height: 0.78125dvw;
  width: 0.78125dvw;
}
@media screen and (max-width: 768px) {
  .carousel .swiper-pagination .swiper-pagination-bullet {
    border: 0.26667dvw solid #00A8A9;
    height: 3.73334dvw;
    width: 3.73334dvw;
  }
}

.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.13334dvw;
    width: 6.13334dvw;
  }
}

.carousel .stop-btn .btn_start {
  display: none;
}

/*  */
.ceremony__bottomWrap {
  margin-top: 5dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottomWrap {
    margin-top: 18.13334dvw;
  }
}
.ceremony__bottomWrap .ttl {
  color: #008486;
  font-size: 1.82292dvw;
  font-weight: 700;
  line-height: 1.4286;
  text-align: center;
  margin-bottom: 2.70834dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottomWrap .ttl {
    font-size: 5.33334dvw;
    line-height: 1.4;
    margin-bottom: 6.93334dvw;
  }
}
.ceremony__bottomWrap .movie {
  margin: 0 auto;
  width: 39.375dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottomWrap .movie {
    width: 84dvw;
  }
}
.ceremony__bottomWrap .movie iframe {
  border: none;
  aspect-ratio: 16/9;
  width: 100%;
}
.ceremony__bottomWrap .btn {
  margin-top: 2.29167dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottomWrap .btn {
    margin-top: 8dvw;
  }
}
@media screen and (max-width: 768px) {
  .ceremony__bottomWrap .btn > a {
    padding: 4.26667dvw 2.4dvw;
  }
}

.ceremony__bottom-txt-wrap {
  font-size: 1.45834dvw;
  font-weight: 700;
  line-height: 1.7858;
  text-align: center;
  margin-top: 4.16667dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottom-txt-wrap {
    font-size: 4.26667dvw;
    line-height: 1.75;
    margin-top: 13.33334dvw;
  }
}
.ceremony__bottom-txt-wrap > p:first-child {
  color: #008486;
  font-size: 1.82292dvw;
  font-weight: 700;
  line-height: 1.4286;
  margin-bottom: 2.60417dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottom-txt-wrap > p:first-child {
    font-size: 5.33334dvw;
    line-height: 1.4;
    margin-bottom: 5.33334dvw;
  }
}
.ceremony__bottom-txt-wrap > p + p {
  margin-top: 2.08334dvw;
}
@media screen and (max-width: 768px) {
  .ceremony__bottom-txt-wrap > p + p {
    margin-top: 4.26667dvw;
  }
}
.ceremony__bottom-txt-wrap > p > span {
  color: #008486;
}

/* relatedLinks
-------------------------------------------------- */
.relatedLinks {
  position: relative;
  z-index: 100;
}

.relatedLinks__inner {
  padding: 5.20834dvw 0 4.16667dvw;
}
@media screen and (max-width: 768px) {
  .relatedLinks__inner {
    margin: 0 auto;
    padding: 17.6dvw 0 21.33334dvw;
    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 {
  color: #333;
  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;
  }
}
