@charset "UTF-8";
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-optical-sizing: auto;
}

html {
  color: #000;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
}

body {
  background: #fff;
  margin: 0;
  overflow-x: clip;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}
.inner-block.pos-static {
  position: static;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* --------------------------------
c-header
----------------------------------- */
.c-header {
  width: 100%;
  background: #fff;
  height: 64px;
}
.c-header .logo-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.c-header .logo-link {
  padding-block: 10px;
  padding-left: clamp(8px, 4vw, 10px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.c-header img {
  height: clamp(28px, 4vw, 32px);
  width: auto;
}
.c-header .h-18 {
  height: clamp(18px, 4vw, 24px);
}
.c-header .column-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-header .btn-wrap {
  color: #fff;
  background: #000;
  text-align: center;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 14px;
  line-height: 1.2;
  padding-inline: 8px;
}
.c-header .btn-wrap:focus-visible {
  background: #fff;
  color: #000;
}
.c-header .header-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.c-footer {
  position: relative;
  z-index: 60;
  color: #fff;
  font-size: 14px;
  margin-top: -1px;
}
.c-footer .disclaimer-wrap {
  background: #000;
  padding-block: 110px;
}
.c-footer .disclaimer-wrap .item {
  margin-bottom: 32px;
}
.c-footer .disclaimer-wrap .ttl {
  font-size: 16px;
  color: #428FC5;
  font-weight: 700;
}
.c-footer .disclaimer-wrap .list li {
  position: relative;
  padding-left: 1.1em;
}
.c-footer .disclaimer-wrap .list li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 0;
}
.c-footer .disclaimer-wrap .red {
  color: #E60012;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-underline-offset: 4px;
}
.c-footer .bottom {
  background: #17326A;
  padding: 30px;
  text-align: center;
  font-weight: 400;
  margin-top: -1px;
}

.c-ttl01 {
  color: #17326A;
  text-align: center;
  text-shadow: 0 0 16px #FFF;
  font-size: clamp(24px, 2.7777777778vw, 40px);
  font-weight: 700;
  line-height: 1.575;
}

.c-ttl02 {
  color: #E5FF21;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25), 0 0 16px rgba(255, 255, 255, 0.5);
  text-align: left;
  font-size: clamp(24px, 3.0555555556vw, 44px);
  font-weight: 700;
  line-height: 1.5;
  margin-top: 10px;
}

.c-scroll-down {
  position: fixed;
  z-index: 200;
  bottom: 40px;
  right: 30px;
  -webkit-animation: scroll-down-move 4s 3s ease-in-out infinite;
          animation: scroll-down-move 4s 3s ease-in-out infinite;
  height: 85px;
  width: 30px;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition: 1s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  transition: 1s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  -webkit-transition-property: opacity, left, right, top, bottom, -webkit-transform;
  transition-property: opacity, left, right, top, bottom, -webkit-transform;
  transition-property: opacity, left, right, top, bottom, transform;
  transition-property: opacity, left, right, top, bottom, transform, -webkit-transform;
  mix-blend-mode: plus-lighter;
}
.c-scroll-down.is-visible {
  opacity: 1;
}
.c-scroll-down:not(.is-visible) {
  opacity: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none;
}
.c-scroll-down.is-center {
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.c-scroll-down .icon {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.2em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-scroll-down::before {
  content: "";
  position: absolute;
  bottom: 5px;
  right: -6px;
  width: 2px;
  height: 20px;
  background: #fff;
  -webkit-transform: skewX(-31deg);
          transform: skewX(-31deg);
}
.c-scroll-down::after {
  content: "";
  position: absolute;
  bottom: 5px;
  right: 0;
  width: 2px;
  height: 100%;
  background: #fff;
}

@-webkit-keyframes scroll-down-move {
  33% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  46% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  59% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes scroll-down-move {
  33% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  46% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  59% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
.c-overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: black;
  pointer-events: none;
  width: 100dvw;
  height: 100dvh;
  -webkit-transition: opacity 1.5s cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 1.5s cubic-bezier(0, 0, 0.2, 1);
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

@-webkit-keyframes overlay-load {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes overlay-load {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.c-clr-yellow {
  color: #FFC508;
}

@-webkit-keyframes c-float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes c-float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c-el-section {
  background: rgba(63, 99, 51, 0.4);
  padding-top: 40px;
  border-radius: 40px;
  max-width: 970px;
  margin: 0 auto;
  color: #fff;
  padding-inline: 40px;
  padding-bottom: 48px;
}
.c-el-section.bg-blue {
  background: rgba(37, 129, 183, 0.5);
  border-radius: 0;
  padding-top: 30px;
  max-width: 900px;
}
.c-el-section.bg-blue .c-el-ttl {
  color: #fff;
  font-size: 20px;
  text-align: center;
  display: block;
}
.c-el-section.bg-blue .c-el-wrap {
  padding-inline: 0;
}
.c-el-section.bg-blue .c-el-wrap .txt {
  color: #29F6FA;
  font-size: 18px;
  text-align: center;
}
.c-el-section.bg-blue .c-el-wrap .note {
  margin-bottom: 0;
}
.c-el-section.bg-blue .c-el-caution {
  background: none;
  padding: 0;
  margin-top: 0;
}
.c-el-section.pb-4 {
  padding-bottom: 4px;
}
.c-el-section.bg-dark {
  background: none;
  margin-top: 10px;
  padding: 3px 40px;
  background: rgba(0, 0, 0, 0.5);
  margin-top: 0;
  border-radius: 0;
}
.c-el-section.bg-dark .c-el-caution {
  background: none;
  margin-top: 0;
  padding: 0;
}
.c-el-section h3 {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.c-el-ttl {
  font-size: 22px;
  color: #22FFBC;
  margin-bottom: 10px;
}

.c-el-wrap {
  padding-inline: 35px;
}
.c-el-wrap .txt {
  font-size: 16px;
  margin-bottom: 20px;
}
.c-el-wrap .img-wrap.border {
  border: 0px solid rgba(34, 255, 188, 0.5);
  -webkit-box-shadow: 0 0 8px 5px rgba(34, 255, 188, 0.5);
          box-shadow: 0 0 8px 5px rgba(34, 255, 188, 0.5);
}
.c-el-wrap .img-wrap.pb-10 {
  padding-bottom: 10px;
}
.c-el-wrap .img-wrap.pb-20 {
  padding-bottom: 20px;
}
.c-el-wrap .note {
  font-size: 12px;
  margin-block: 4px 18px;
}

.c-el-caution {
  margin-top: 40px;
  font-size: 12px;
  padding: 8px 10px;
  background-color: rgba(30, 45, 24, 0.6);
  border-radius: 10px;
}
.c-el-caution > p {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.c-el-caution .red {
  color: #E60012;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
}
.c-el-caution .gap-0 {
  -webkit-column-gap: 0px;
     -moz-column-gap: 0px;
          column-gap: 0px;
}

.ttl-sec {
  max-width: 900px;
  background: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-inline: 0;
}
.ttl-sec .ttl-box {
  width: 100%;
  max-width: 550px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-right: 0;
  margin-left: 0;
}
.ttl-sec .ttl-box .img-wrap {
  width: clamp(100px, 12.8472222222vw, 185px);
}
.ttl-sec .txt {
  width: 100%;
  max-width: 550px;
  margin-top: 30px;
  color: #fff;
  margin-right: 0;
  margin-left: 0;
  font-weight: 700;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.5;
}

.w-480 {
  max-width: 480px;
  margin: 0 auto;
}

.w-900 {
  max-width: 900px;
}

.c-anchor-wrap {
  position: fixed;
  top: 37px;
  left: 0;
  width: 16.5972222222%;
  max-width: 239px;
  min-width: 223px;
  background: rgba(17, 17, 17, 0.7);
  padding-block: 33px 40px;
  padding-inline: 24px 15px;
  z-index: 90;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  max-height: calc(100vh - 70px);
  overflow-y: auto;
}
.c-anchor-wrap .anchor-list a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 33px;
  position: relative;
}
.c-anchor-wrap .anchor-list a.is-active .txt {
  color: #FFC508;
}
.c-anchor-wrap .anchor-list a::before {
  content: "";
  position: absolute;
  background: url("../images/elements2/icon-anchor.png.webp") no-repeat center/contain;
  display: block;
  width: 25px;
  height: 25px;
  top: -4px;
  left: 0;
  z-index: 2;
}
.c-anchor-wrap .anchor-list a:not(:last-child)::after {
  content: "";
  position: absolute;
  background: #FFC508;
  display: block;
  width: 3px;
  height: 100%;
  top: 16px;
  left: 11px;
  z-index: 1;
}
.c-anchor-wrap .anchor-list a .img {
  display: block;
}
.c-anchor-wrap .anchor-list a .img img {
  display: block;
  height: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-anchor-wrap .anchor-list a .txt {
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  margin-top: 8px;
}
.c-anchor-wrap .anchor-list a:first-of-type::after {
  height: 120%;
}
.c-anchor-wrap .anchor-list a:nth-of-type(2) {
  padding-top: 26px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(2)::before {
  top: 21px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(2)::after {
  top: 41px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(3) {
  padding-top: 42px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(3)::before {
  top: 38px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(3)::after {
  top: 40px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(4) {
  padding-top: 35px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(4)::before {
  top: 28px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(4)::after {
  top: 31px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(5) {
  padding-top: 16px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(5)::before {
  top: 11px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(5)::after {
  top: 29px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(6) {
  padding-top: 29px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(6)::before {
  top: 25px;
}
.c-anchor-wrap .anchor-list a:nth-of-type(6) .img img {
  height: 17px;
}
.c-anchor-wrap .c-btn02 {
  margin-top: 30px;
  margin-inline: auto;
}
.c-anchor-btn {
  width: 30px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  background: #FFC508;
  position: fixed;
  top: 15px;
  right: 15px;
  rotate: 45deg;
  z-index: 91;
}
.c-anchor-btn .inn {
  background: #000;
  width: 22px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.c-anchor-btn .inn .line {
  display: block;
  width: 14px;
  height: 7px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  rotate: -45deg;
}
.c-anchor-btn .inn .line::before, .c-anchor-btn .inn .line::after {
  content: "";
  position: absolute;
  background: #FFC508;
  display: block;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  bottom: 0.5px;
  right: 0;
  margin: auto;
  opacity: 0;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
}
.c-anchor-btn .inn .line span {
  width: 100%;
  height: 1px;
  display: block;
  background: #FFC508;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
}
.c-anchor-btn .inn .line span:first-of-type {
  top: 0;
}
.c-anchor-btn .inn .line span:last-of-type {
  bottom: 0;
}
.c-anchor-btn.is-open .inn .line span:first-of-type {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
}
.c-anchor-btn.is-open .inn .line span:last-of-type {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s;
  transition: transform 0.3s 0s, opacity 0.3s 0.3s, -webkit-transform 0.3s 0s;
}
.c-anchor-btn.is-open .inn .line::before {
  opacity: 1;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
}
.c-anchor-btn.is-open .inn .line::after {
  opacity: 1;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, -webkit-transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s;
  transition: opacity 0.3s 0s, transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
}

.c-grassland-cont .c-ttl01 {
  font-size: clamp(25px, 3.0555555556vw, 44px);
}
.c-grassland-cont .white {
  background: #fff;
  border: 4px solid #D9D9D9;
  margin-top: 54px;
  padding: 20px;
}
.c-grassland-cont .white .lead {
  font-size: 22px;
  color: #17326A;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 24px;
  margin-bottom: 8px;
  position: relative;
}
.c-grassland-cont .white .lead::before {
  content: "";
  position: absolute;
  background: url("../images/first/icon-grassland-line.svg") no-repeat center/contain;
  display: block;
  width: 527px;
  height: 20px;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.c-grassland-cont .white .white-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
}
.c-grassland-cont .white .white-cont .inn {
  border-radius: 8px;
  overflow: hidden;
  width: calc(50% - 9px);
}
.c-grassland-cont .white .white-cont .inn .top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(14px, 2.6388888889vw, 38px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(304deg, #19659B 16.11%, #428FC5 84.36%);
  padding: 8px;
}
.c-grassland-cont .white .white-cont .inn .top .img {
  background: #fff;
  width: 60px;
  height: auto;
  aspect-ratio: 60/55;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 8px;
}
.c-grassland-cont .white .white-cont .inn .top .inn-ttl {
  font-size: clamp(18px, 1.3888888889vw, 20px);
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
}
.c-grassland-cont .white .white-cont .inn .bottom {
  background: #D3E8FF;
  padding: 10px 16px 10px 15px;
}
.c-grassland-cont .white .white-cont .inn .bottom .txt {
  line-height: 1.5;
}
.c-grassland-cont .img-cont {
  margin-top: 52px;
  padding-inline: 1.1111111111vw 2.3611111111vw;
}
.c-grassland-cont .img-cont .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-grassland-cont .img-cont .inn .img {
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
  width: 28.8732394366%;
}
.c-grassland-cont .img-cont .inn .img img {
  width: 100%;
  display: block;
}
.c-grassland-cont .img-cont .inn .img.left {
  margin-top: 5px;
}
.c-grassland-cont .img-cont .inn .img.top {
  margin-top: 58px;
}
.c-grassland-cont .img-cont .note {
  padding-left: 4px;
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  padding-top: 16px;
}

#stage1-contents-area {
  opacity: 1 !important;
  position: relative !important;
}

#stage1-title-area {
  max-width: 1168px;
  width: 100%;
  margin: auto;
  position: relative;
  padding-inline: 40px;
}
#stage1-title-area .ttl {
  display: block;
  max-width: 910px;
  margin: auto;
}
#stage1-title-area .comment {
  width: clamp(230px, 20.2777777778vw, 292px);
  position: absolute;
  right: 40px;
  top: 16px;
}

#stage1-contents .stage1-cont-each {
  background: #fff;
  border-radius: 20px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 30px 40px;
}
#stage1-contents .stage1-cont-each .stage1-list li {
  position: relative;
  padding-left: 41px;
  line-height: 1.5;
  font-weight: bold;
}
#stage1-contents .stage1-cont-each .stage1-list li::before {
  content: "";
  position: absolute;
  background: url("../images/stage1/ico-emerald.svg") no-repeat center/contain;
  display: block;
  width: 23px;
  height: 30px;
  top: 1px;
  left: 0;
}
#stage1-contents .stage1-cont-each .stage1-list li + li {
  margin-top: 8px;
}
#stage1-contents .stage1-cont-each .stage1-list li + li::before {
  top: 8px;
}
#stage1-contents .stage1-cont-each .lead-wrap {
  margin-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 2px solid #6E5C33;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 376px;
}
#stage1-contents .stage1-cont-each .lead-wrap .label {
  background: #6E5C33;
  padding: 5px 22px 8px 16px;
  width: 97px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
}
#stage1-contents .stage1-cont-each .lead-wrap .label::before {
  content: "";
  position: absolute;
  right: -1px;
  top: 0;
  width: 15px;
  height: 40px;
  background-color: #fff;
  -webkit-clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
          clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
}
#stage1-contents .stage1-cont-each .lead-wrap .lead {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color: #6E5C33;
  padding-left: 20px;
  padding-top: 8px;
}
#stage1-contents .stage1-cont-each .txt {
  margin-top: 11px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  color: #17326A;
}
#stage1-contents .stage1-cont-each .graph-wrap {
  margin-top: 10px;
}
#stage1-contents .stage1-cont-each .graph-wrap .graph {
  overflow-x: auto;
  width: 100%;
  position: relative;
}
#stage1-contents .stage1-cont-each .graph-wrap .graph > img {
  min-height: 235px;
  min-width: 820px;
  aspect-ratio: 164/47;
}
#stage1-contents .stage1-cont-each .graph-wrap .modal-btn {
  width: 42px;
  height: auto;
  display: block;
  position: absolute;
  aspect-ratio: 42/54;
}
#stage1-contents .stage1-cont-each .graph-wrap .modal-btn > img {
  -o-object-fit: contain;
     object-fit: contain;
}
#stage1-contents .stage1-cont-each .graph-wrap .modal-btn.doraemon {
  top: 60px;
  left: 268px;
}
#stage1-contents .stage1-cont-each .graph-wrap .modal-btn.gundam {
  top: 142px;
  left: 470px;
}
#stage1-contents .stage1-cont-each .graph-wrap .modal-btn.mario {
  top: 20px;
  left: 573px;
}
#stage1-contents .stage1-cont-each.stage1-cont02 {
  position: relative;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap {
  margin-top: 10px;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap .graph {
  overflow-x: auto;
  width: 100%;
  position: relative;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap .graph > img {
  min-height: 220px;
  min-width: 820px;
  aspect-ratio: 41/11;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .note {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 4px;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 30px;
  background: #005885;
  position: relative;
  margin: 2px auto 0;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn .txt {
  color: #fff;
  margin-top: 0;
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn .icon {
  display: block;
  position: absolute;
  right: -27px;
  width: 42px;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn .icon img {
  width: 100%;
  display: block;
}
#stage1-contents .stage1-cont-each.stage1-cont02 .comment {
  position: absolute;
  right: 6.5555555556%;
  bottom: 22px;
  width: 183px;
}

.c-cont-footer {
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding-block: 20px;
  font-size: 12px;
  line-height: 1.5;
}
.c-cont-footer .note {
  position: relative;
  padding-left: 40px;
}
.c-cont-footer .note::before {
  content: "（注）";
  position: absolute;
  top: 0;
  left: 0;
}
.c-cont-footer .note-red {
  color: #E60012;
  position: relative;
  padding-left: 13px;
}
.c-cont-footer .note-red::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.modal {
  max-width: 580px;
  aspect-ratio: 58/60;
  margin: auto;
  max-height: 90vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.modal.is-open {
  opacity: 1;
  pointer-events: all;
}
.modal.doraemon {
  background: url("../images/stage1/modal-bg03.jpg.webp") no-repeat center/contain;
}
.modal.doraemon .white {
  top: 23.3333333333%;
}
.modal.mario {
  background: url("../images/stage1/modal-bg04.jpg.webp") no-repeat center/contain;
}
.modal.mario .white {
  top: 14.1666666667%;
}
.modal.gundam {
  background: url("../images/stage1/modal-bg01.jpg.webp") no-repeat center/contain;
}
.modal.gundam .img {
  margin-top: 22.6666666667%;
}
.modal.gundam .note,
.modal.gundam .txt {
  color: #fff;
}
.modal.kanren {
  background: url("../images/stage1/modal-bg02.jpg.webp") no-repeat center/contain;
}
.modal.kanren .img {
  margin-top: 19.1666666667%;
}
.modal.kanren .note {
  padding-left: 13px;
}
.modal.kanren .txt {
  margin-left: 17px;
}
.modal.doraemon .white, .modal.mario .white {
  background: #fff;
  padding: 30px 30px 15px;
  width: 75.8620689655%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.modal.doraemon .white .ttl, .modal.mario .white .ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.modal.doraemon .white .modal-list, .modal.mario .white .modal-list {
  margin-top: 10px;
}
.modal.doraemon .white .modal-list li, .modal.mario .white .modal-list li {
  position: relative;
  line-height: 1.5;
  padding-left: 16px;
}
.modal.doraemon .white .modal-list li + li, .modal.mario .white .modal-list li + li {
  margin-top: 10px;
}
.modal.doraemon .white .modal-list li::before, .modal.mario .white .modal-list li::before {
  content: "";
  position: absolute;
  background: #000;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  top: 11px;
  left: 6px;
}
.modal.doraemon .white .img, .modal.mario .white .img {
  max-width: 290px;
  width: 100%;
  margin: 10px auto 0;
}
.modal.doraemon .white .note, .modal.mario .white .note {
  text-align: end;
  font-size: 12px;
  line-height: 1.5;
}
.modal.doraemon .white .txt, .modal.mario .white .txt {
  font-size: 12px;
  line-height: 1.5;
  margin-top: -4px;
}
.modal.doraemon .white .note-red, .modal.mario .white .note-red {
  color: #E60012;
  font-size: 12px;
  line-height: 1.5;
  position: relative;
  padding-left: 17px;
}
.modal.doraemon .white .note-red::before, .modal.mario .white .note-red::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.modal.gundam .img, .modal.kanren .img {
  width: 68.9655172414%;
  margin-inline: auto;
}
.modal.gundam .note, .modal.kanren .note {
  margin-top: 1%;
  position: relative;
  padding-left: 17px;
  font-size: 12px;
  padding-right: 15.5172413793%;
  margin-left: 20px;
}
.modal.gundam .note::before, .modal.kanren .note::before {
  content: "＊";
  position: absolute;
  top: 0;
  left: 0;
}
.modal.gundam .note02, .modal.kanren .note02 {
  position: relative;
  padding-left: 35px;
  font-size: 12px;
  padding-right: 15.5172413793%;
  margin-left: 13px;
}
.modal.gundam .note02::before, .modal.kanren .note02::before {
  content: "（注）";
  position: absolute;
  top: 0;
  left: 0;
}
.modal.gundam .txt, .modal.kanren .txt {
  font-size: 12px;
  padding-right: 15.5172413793%;
  margin-left: 20px;
}
.modal.gundam .white, .modal.kanren .white {
  margin-left: 20px;
  background: #fff;
  color: #E60012;
  line-height: 1.5;
  font-size: 12px;
  padding-left: 17px;
  position: relative;
  margin-right: 15.5172413793%;
  margin-top: 3px;
}
.modal.gundam .white::before, .modal.kanren .white::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.modal .modal-close {
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  background: #2099D6;
  position: absolute;
  right: 5.1724137931%;
  bottom: 5%;
}
.modal .modal-close::before, .modal .modal-close::after {
  content: "";
  position: absolute;
  background: #fff;
  display: block;
  width: 24px;
  height: 4px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.modal .modal-close::before {
  rotate: 45deg;
}
.modal .modal-close::after {
  rotate: -45deg;
}

.modal-bg {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.modal-bg.is-open {
  opacity: 1;
  pointer-events: all;
}

.c-power-bar {
  background: #111;
  border-radius: 16px;
  width: 352px;
  position: fixed;
  top: 2.2222222222%;
  right: 16.6666666667%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 6px 14px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border: 1px solid #bbb;
  z-index: 9;
}
.c-power-bar .txt {
  font-size: 15px;
  font-family: "Russo One", sans-serif;
  line-height: 1;
  color: #bbb;
}
.c-power-bar .rod-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-power-bar .rod-wrap .rod {
  display: block;
  -webkit-mask: url("../images/stage3/power-rod.svg") no-repeat center/contain;
          mask: url("../images/stage3/power-rod.svg") no-repeat center/contain;
  background: #B3B3B3;
  width: 56px;
  height: auto;
  aspect-ratio: 56/12;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-power-bar .rod-wrap .rod.is-active:first-of-type {
  background: #FF9F22;
}
.c-power-bar .rod-wrap .rod.is-active:nth-of-type(2) {
  background: #FF7A22;
}
.c-power-bar .rod-wrap .rod.is-active:nth-of-type(3) {
  background: #FF4722;
}
.c-power-bar .rod-wrap .rod.is-active:nth-of-type(4) {
  background: #F22;
}

.c-btn01 {
  background: #e83131;
  color: #fff;
  font-weight: 600;
  font-size: 28px;
  padding: 10px 2.5em;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100vw;
  border: 2px solid #961d17;
  -webkit-box-shadow: inset 0 -5px 5px rgba(0, 0, 0, 0.16);
          box-shadow: inset 0 -5px 5px rgba(0, 0, 0, 0.16);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-align: center;
}

.c-btn02 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
  padding: 8px 11.5px 6px;
  border-radius: 18px;
  cursor: pointer;
  max-width: 187px;
  width: 100%;
  border: 4px solid transparent;
  background-image: linear-gradient(304deg, #19659B 16.11%, #428FC5 84.36%);
  background-origin: border-box;
  background-clip: padding-box;
}
.c-btn02::before {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 20px;
  padding: 3px;
  background: linear-gradient(304deg, #19659B 16.11%, #428FC5 84.36%);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
}
.c-btn02 .icon {
  background: #fff;
  -webkit-mask: url("../images/elements2/icon-caution.svg") no-repeat center/contain;
          mask: url("../images/elements2/icon-caution.svg") no-repeat center/contain;
  width: 20px;
  aspect-ratio: 1/1;
  height: auto;
}
.c-btn02 .txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  gap: 2px;
}
.c-btn02 .txt .en {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
}
.c-btn02 .txt .ja {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  padding-left: 3px;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
/* -----------------------------------------------
* opening Module
* openingページ用
-------------------------------------------------- */
#opening-wrapper {
  height: 1200vh;
  position: relative;
}

#opening-stage {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: #050a1a; /* 夜空の背景色フォールバック */
}

#bg-night {
  width: 100%;
  height: 225vh;
  opacity: 1;
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, color-stop(100%, black), to(transparent));
  -webkit-mask-image: linear-gradient(to top, black 100%, transparent 100%);
          mask-image: -webkit-gradient(linear, left bottom, left top, color-stop(100%, black), to(transparent));
          mask-image: linear-gradient(to top, black 100%, transparent 100%);
}

#bg-night .night-img {
  display: block;
  width: 100%;
  height: 100%;
}

#bg-night img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

#bg-boy-land {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  overflow: hidden;
  -webkit-transform: translateY(90vh);
          transform: translateY(90vh);
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(#00446C), color-stop(60%, black), to(transparent));
  -webkit-mask-image: linear-gradient(to top, #00446C 0%, black 60%, transparent 100%);
          mask-image: -webkit-gradient(linear, left bottom, left top, from(#00446C), color-stop(60%, black), to(transparent));
          mask-image: linear-gradient(to top, #00446C 0%, black 60%, transparent 100%);
}
#bg-boy-land::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--vh, 1vh) * 41);
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 68, 108, 0)), color-stop(60%, rgba(0, 68, 108, 0.8)));
  background: linear-gradient(0deg, rgba(0, 68, 108, 0) 0%, rgba(0, 68, 108, 0.8) 60%);
  pointer-events: none;
}

#bg-boy-land img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

#text-catchcopy {
  position: absolute;
  z-index: 3;
  inset: 0;
  margin: auto;
  max-width: 115px;
  max-height: calc(var(--vh, 1vh) * 70);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  font-size: clamp(14px, 1.8vw, 22px);
  line-height: 2;
  letter-spacing: 0.2em;
  text-shadow: 0 0 20px rgba(100, 150, 255, 0.5);
}
#text-catchcopy img {
  height: 100%;
}

#text-catchcopy .line {
  display: block;
}

#opening-wrapper {
  /* ========================================
      テキスト要素
      ======================================== */
}
#opening-wrapper {
  /* テキスト（フェードイン→フェードアウト） */
}
#opening-wrapper .opening-phase-txt {
  position: absolute;
  z-index: 3;
  top: 130px;
  right: 0;
  left: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 clamp(16px, 5vw, 32px);
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(24px, 2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1.8;
  opacity: 0; /* 最初は非表示 */
}
#opening-wrapper .opening-phase-txt .big {
  font-size: clamp(30px, 2.5vw, 36px);
}
#opening-wrapper {
  /* ========================================
      矢
  ======================================== */
}
#opening-wrapper #mv-arrows-wrapper {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
}
#opening-wrapper #mv-arrows-wrapper .land-img {
  width: 100%;
  height: 100%;
  display: block;
}
#opening-wrapper #mv-arrows-wrapper .land-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 35%;
  top: 20%;
  display: block;
  will-change: transform;
  -webkit-perspective: 400px;
          perspective: 400px;
}
#opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area .mv-arrows-img {
  display: block;
  text-align: center;
}
#opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area .mv-arrows-img img {
  will-change: transform, opacity;
  -webkit-transform: scale(1.25) rotateX(30deg);
          transform: scale(1.25) rotateX(30deg);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
#opening-wrapper #mv-arrows-wrapper .boy-img {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: block;
}
#opening-wrapper #mv-arrows-wrapper .boy-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#opening-wrapper {
  /* ========================================
      MV（メインビジュアル）最終形
      ======================================== */
}
#opening-wrapper .mv-final {
  height: 100lvh;
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: auto;
  display: grid;
  grid-template-rows: auto 1fr;
}
#opening-wrapper .mv-final .contents-wrap {
  position: relative;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
#opening-wrapper .mv-img {
  display: block;
  width: 100%;
}
#opening-wrapper .mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#opening-wrapper .mv-logo {
  position: absolute;
  top: 43px;
  right: 42px;
  width: 119px;
  height: auto;
}
#opening-wrapper .mv-logo img {
  width: 100%;
  height: auto;
  display: block;
}
#opening-wrapper {
  /* MV上のファンドタイトル */
}
#opening-wrapper .mv-title {
  background: -webkit-gradient(linear, left top, right top, from(#0F243E), color-stop(50%, #2A568F), to(#0F243E));
  background: linear-gradient(90deg, #0F243E 0%, #2A568F 50%, #0F243E 100%);
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.5);
  padding-block: clamp(20px, 2.7083333333vw, 39px) clamp(16px, 2.3611111111vw, 34px);
  font-family: "Zen Old Mincho", serif;
  text-align: center;
}
#opening-wrapper .mv-title .fund-name {
  color: #fff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-size: clamp(30px, 3.1944444444vw, 46px);
  font-weight: 700;
  line-height: 1.1304347826;
  display: block;
}
#opening-wrapper .mv-title .fund-sub {
  color: #fff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-size: clamp(24px, 2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1.7333333333;
  display: block;
  margin-top: 20px;
}
#opening-wrapper .cont-btn-wrap {
  width: 100%;
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.arrows-line-box {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  -webkit-mask-image: radial-gradient(transparent 0%, transparent 65%, white 90%, white);
          mask-image: radial-gradient(transparent 0%, transparent 65%, white 90%, white);
  -webkit-box-shadow: inset 0px -8px 20px 20px #666666;
          box-shadow: inset 0px -8px 20px 20px #666666;
  mix-blend-mode: overlay;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
.arrows-line-box::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  --border-color: #fff;
  background-image: repeating-conic-gradient(transparent 0, transparent 20deg, var(--border-color) 20deg, var(--border-color) 20.5deg), repeating-conic-gradient(transparent 0, transparent 4deg, var(--border-color) 4deg, var(--border-color) 4.3deg);
}

/* -----------------------------------------------
* first Module
* firstページ用
-------------------------------------------------- */
#first-wrapper {
  height: 500vh;
}

#first-stage {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 20;
}

#first-bg {
  width: 100%;
  height: 100vh;
}

.first-bg-img {
  width: 100%;
  height: 100%;
  display: block;
}

#first-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 20%;
     object-position: center 20%;
  display: block;
}

#first-float-imgs {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

#first-float-bg {
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  margin: auto;
  -webkit-transform: translateX(-49%);
          transform: translateX(-49%);
  width: calc(100vw + 50px);
  height: calc(var(--vh, 1vh) * 120);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
#first-float-bg img {
  -webkit-animation: c-float 3s ease-in-out infinite;
          animation: c-float 3s ease-in-out infinite;
  width: auto;
  height: 100%;
}

#first-float-boy {
  position: absolute;
  bottom: calc(0px - 10.4166666667vw);
  right: calc(0px - 6.25vw);
  width: clamp(350px, 34.7222222222vw, 600px);
  height: auto;
  aspect-ratio: 175/153;
  rotate: 9deg;
}
#first-float-boy .first-boy-img {
  -webkit-animation: c-float 3s 0.5s ease-in-out infinite;
          animation: c-float 3s 0.5s ease-in-out infinite;
  display: block;
}

#first-note {
  position: absolute;
  bottom: 20px;
  width: 100%;
}
#first-note .first-note-txt {
  opacity: 0.6;
  text-shadow: 0 0 8px #FFF;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#first-ttl {
  width: 100%;
}

#first-contents {
  opacity: 0;
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#first-cont-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  will-change: transform;
  padding-block: 144px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.first-cont-each {
  padding-block: 40px 30px;
  padding-inline: 30px;
  border-radius: 20px;
  -webkit-box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
  background: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.first-cont-each.bg-blue {
  padding-block: 40px;
  padding-inline: 40px;
  background: rgba(23, 50, 106, 0.8);
  color: #fff;
}
.first-cont-each .inn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.first-cont-each .cont-ttl-big {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
}
.first-cont-each .cont-blue-box {
  background: #0086CD;
  padding: 16px;
  border-radius: 8px;
}
.first-cont-each .cont-blue-box .box-inn {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 26px;
}
.first-cont-each .cont-blue-box .box-ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #0086CD;
  background: #fff;
  padding-block: 8px;
  padding-inline: 16px;
  border-radius: 100vw;
}
.first-cont-each .cont-blue-box .box-desc {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.first-cont-each .cont-desc {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.first-cont-each .cont-desc + .cont-desc {
  margin-top: 0.5em;
}
.first-cont-each .cont-ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #17326A;
  margin-bottom: 8px;
}
.first-cont-each .cont-img-txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

.first-note-area .c-el-caution {
  background: transparent;
  padding: 0;
  margin-top: 0;
  max-width: 748px;
  margin-inline: auto;
}
.first-note-area .c-el-caution p {
  text-shadow: 0 0 8px #FFF;
}

#first-cont-first {
  margin-top: 40px;
  max-width: 633px;
  margin-inline: auto;
}
#first-cont-first .cont-blue-box {
  margin-block: 30px 18px;
}

#first-cont-second,
#first-cont-third,
#first-cont-double {
  margin-top: 60px;
}

#first-note-third,
#first-note-sixth {
  margin-top: 20px;
}

#first-cont-second {
  max-width: 480px;
}

#first-cont-third {
  max-width: 780px;
  margin-left: auto;
}

#first-cont-fourth {
  margin-top: 100px;
  max-width: 748px;
  margin-inline: auto;
}
#first-cont-fourth .cont-ttl-big {
  margin-bottom: 48px;
}

#first-cont-double {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}

#first-cloud-area {
  position: absolute;
  z-index: 23;
  top: -100vh;
  left: 50%;
  -webkit-transform: translateX(-50%) scale(1);
          transform: translateX(-50%) scale(1);
  width: 100%;
  height: 200vh;
  opacity: 0;
}
#first-cloud-area picture {
  display: block;
  width: 100%;
  height: 100%;
}
#first-cloud-area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -o-object-position: center;
     object-position: center;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

#first-plain-wrapper {
  width: 100%;
  position: relative;
  bottom: 0;
  left: 0;
  z-index: 30;
  opacity: 0;
  height: 300vh;
  margin-top: -20vh;
}
#first-plain-wrapper #first-plain-stage {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
#first-plain-wrapper .contents-wrap {
  min-height: 170vh;
}
#first-plain-wrapper #first-plain-img-area {
  position: absolute;
  inset: 0;
}
#first-plain-wrapper .first-plain-img {
  width: 100%;
  height: 100%;
}
#first-plain-wrapper .first-plain-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#first-plain-wrapper .inner-block {
  padding-block: 100% 90px;
  height: 100%;
}

#first-plain-contents {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#first-plain-cont-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  will-change: transform;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  min-height: 150vh;
}

/* -----------------------------------------------
* stage1 Module
* stage1ページ用
-------------------------------------------------- */
#stage1-wrapper {
  margin-top: -100vh;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  height: 600vh;
  opacity: 0;
}

#stage1-stage {
  margin-top: -100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  opacity: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: max(0px, (100vh - 49vw) / 2) solid #000;
  border-bottom: max(0px, (100vh - 49vw) / 2 + 1px) solid #000;
}

#stage1-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#stage1-bg .stage1-bg-img,
#stage1-bg #stage1-boy-img {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
}
#stage1-bg .stage1-bg-img img {
  width: 100%;
}
#stage1-bg #stage1-boy-img {
  height: auto;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
#stage1-bg #stage1-boy-img img {
  width: clamp(80px, 7.6388888889vw, 130px);
  height: auto;
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  margin: auto;
}
#stage1-bg #stage1-comment-img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 80px;
  margin: auto;
}
#stage1-bg #stage1-comment-img picture {
  display: block;
}

#stage1-overlay {
  background: #000;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  opacity: 0;
}

#stage1-bg-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#stage1-bg-map .stage1-bg-map-img {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
}
#stage1-bg-map img {
  width: 100%;
}
#stage1-bg-map #stage1-boy-map-img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
#stage1-bg-map #stage1-boy-map-img img {
  width: min(5.2083333333vw, 100px);
  height: auto;
  position: absolute;
  top: 11.1111111111vw;
  left: 23.0555555556vw;
}
#stage1-bg-map .stage1-bg-map-path {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  text-align: center;
}
#stage1-bg-map .stage1-bg-map-path svg {
  width: 100%;
}

#stage1-contents-area {
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 2;
  opacity: 0;
}

#stage1-contents {
  padding-block: clamp(30px, 4.0277777778vw, 58px) clamp(12px, 2.2222222222vw, 32px);
  width: 100%;
  overflow: hidden;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  height: 100%;
}

#stage1-cont-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  height: 100%;
  will-change: transform;
  gap: 67px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-inline: calc(50vw - min(100vw - 80px, 900px) / 2);
}

.stage1-cont-wrap {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: min(100vw - 80px, 900px);
  height: 100%;
  overflow-y: auto;
}

.stage1-cont-each {
  background: rgba(0, 0, 0, 0.4);
}
.stage1-cont-each.stage1-cont01 .graph-wrap {
  container-type: inline-size;
  container-name: graph;
  position: relative;
}
.stage1-cont-each.stage1-cont01 .graph {
  /* Modern browsers — Chrome 121+, Edge 121+, Firefox, Safari 18.2+ */
  scrollbar-width: 16px;
  /* Legacy WebKit — older Chrome/Edge/Safari, radius, borders & shadows */
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0);
  border-radius: 100vw;
  border: 1px solid #814E28;
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-track:hover {
  background-color: rgba(255, 255, 255, 0);
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-track:active {
  background-color: rgba(255, 255, 255, 0);
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-thumb {
  background-color: #814E28;
  border-radius: 20px;
  min-height: 80px;
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-thumb:hover {
  background-color: #764926;
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-thumb:active {
  background-color: #764926;
}
.stage1-cont-each.stage1-cont01 .graph::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.stage1-cont-each.stage1-cont01 .graph-scroll-img {
  display: none;
  position: absolute;
  left: 0;
  bottom: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 33px;
  height: auto;
  aspect-ratio: 67/72;
}

#stage1-title-area {
  -webkit-align-self: end;
      -ms-flex-item-align: end;
          align-self: end;
  margin-bottom: 0;
}
#stage1-title-area.is-visible .comment {
  opacity: 1;
}
#stage1-title-area .comment {
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

#stage1-footer-area {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-align-self: end;
      -ms-flex-item-align: end;
          align-self: end;
}

/* -----------------------------------------------
* stage2 Module
* stage2ページ用
-------------------------------------------------- */
#stage2-wrapper {
  margin-top: -100vh;
  position: relative;
  left: 0;
  width: 100%;
  z-index: -1;
  height: 1000vh;
  opacity: 0;
}
#stage2-wrapper .top-desc-txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  margin-bottom: 30px;
}

#stage2-stage {
  margin-top: -100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  opacity: 0;
}

#stage2-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#stage2-bg .stage2-bg-img,
#stage2-bg .stage2-boy-img {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
}
#stage2-bg .stage2-bg-img {
  z-index: 1;
}
#stage2-bg .stage2-bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#stage2-bg .stage2-boy-img {
  height: auto;
  z-index: 2;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
#stage2-bg .stage2-boy-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center right;
     object-position: center right;
}

.stage2-cont-each {
  position: absolute;
  z-index: 3;
  padding-block: 80px;
}
.stage2-cont-each .inner-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  width: 100%;
}
.stage2-cont-each .card-txt {
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.f-card-each {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 20px;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.5);
  position: absolute;
}
.f-card-each img {
  aspect-ratio: 157/88;
  border-radius: inherit;
}

#stage2-first-cont .inner-block {
  max-width: 1104px;
}

#first-cards-area {
  height: 100%;
  max-height: 300px;
  margin-block: 34px 23px;
}
#first-cards-area .cards-wrap {
  height: 100%;
  position: relative;
}
#first-cards-area #f-card01 {
  max-width: 318px;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
#first-cards-area #f-card02 {
  max-width: 260px;
  right: 5.9722222222vw;
  top: 32px;
}
#first-cards-area #f-card03 {
  max-width: 223px;
  top: 0;
  left: calc(50% + 4.5833333333vw - 223px);
}
#first-cards-area #f-card04 {
  max-width: 225px;
  bottom: 15px;
  right: calc(50% - 3.8888888889vw - 225px);
}
#first-cards-area #f-card05 {
  max-width: 252px;
  bottom: 0;
  left: calc(50% - 2.0833333333vw - 252px);
}

#stage2-second-cont,
#stage2-fourth-cont {
  overflow: hidden;
  padding-block: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#stage2-second-cont .img-wrap > picture,
#stage2-fourth-cont .img-wrap > picture {
  display: block;
}
#stage2-second-cont .img-wrap > picture img,
#stage2-fourth-cont .img-wrap > picture img {
  width: 100%;
}
#stage2-second-cont .img-wrap.border,
#stage2-fourth-cont .img-wrap.border {
  opacity: 0;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  -webkit-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
#stage2-second-cont .img-wrap.border.is-active,
#stage2-fourth-cont .img-wrap.border.is-active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
#stage2-second-cont .c-el-caution .red,
#stage2-fourth-cont .c-el-caution .red {
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  color: #E5FF21;
}
#stage2-second-cont .inner-block,
#stage2-fourth-cont .inner-block {
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}

#stage2-second-track,
#stage2-fourth-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  will-change: transform;
  padding-block: 144px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#stage2-third-cont .inner-block {
  max-width: 841px;
}

#third-cards-area {
  height: 100%;
  max-height: 390px;
  margin-block: 34px 23px;
}
#third-cards-area .cards-wrap {
  height: 100%;
  position: relative;
}
#third-cards-area #t-card01 {
  max-width: 260px;
  top: 32px;
  right: 4.0972222222vw;
  margin: auto;
}
#third-cards-area #t-card02 {
  max-width: 318px;
  top: 0;
  left: calc(50% + 1px - 316px);
}
#third-cards-area #t-card03 {
  max-width: 252px;
  bottom: 0;
  left: 0;
}
#third-cards-area #t-card04 {
  max-width: 224px;
  bottom: 70px;
  left: calc(50% - 9.3055555556vw);
}
#third-cards-area #t-card05 {
  max-width: 225px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

#stage2-first-cont,
#stage2-third-cont {
  inset: 0;
  margin: auto;
}
#stage2-first-cont .cards-wrap .f-card-each,
#stage2-third-cont .cards-wrap .f-card-each {
  opacity: 0;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  -webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 1, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 1, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
#stage2-first-cont .cards-wrap .f-card-each:nth-child(1),
#stage2-third-cont .cards-wrap .f-card-each:nth-child(1) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
#stage2-first-cont .cards-wrap .f-card-each:nth-child(2),
#stage2-third-cont .cards-wrap .f-card-each:nth-child(2) {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}
#stage2-first-cont .cards-wrap .f-card-each:nth-child(3),
#stage2-third-cont .cards-wrap .f-card-each:nth-child(3) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}
#stage2-first-cont .cards-wrap .f-card-each:nth-child(4),
#stage2-third-cont .cards-wrap .f-card-each:nth-child(4) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
#stage2-first-cont .cards-wrap .f-card-each:nth-child(5),
#stage2-third-cont .cards-wrap .f-card-each:nth-child(5) {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}
#stage2-first-cont.is-active .cards-wrap .f-card-each,
#stage2-third-cont.is-active .cards-wrap .f-card-each {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

#stage2-title-area .ttl {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  font-size: 44px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  text-shadow: 0 0 16px rgba(255, 255, 255, 0.5);
}
#stage2-title-area .ttl .img {
  position: absolute;
  top: -44px;
  left: clamp(-50px, -7.5694444444vw, -109px);
}

/* -----------------------------------------------
* stage3 Module
* stage3ページ用
-------------------------------------------------- */
#stage3-wrapper {
  position: relative;
  left: 0;
  width: 100%;
  z-index: 60;
  height: 1000vh;
}

#stage3-stage {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.stage3-shutter {
  position: absolute;
  z-index: 12;
  inset: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.stage3-shutter .stage3-shutter-img {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
}
.stage3-shutter .stage3-shutter-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.stage3-shutter .stage3-shutter-img.shutter-top {
  top: 2px;
}
.stage3-shutter .stage3-shutter-img.shutter-bottom {
  bottom: 2px;
}

#stage3-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#stage3-bg .stage3-bg-img,
#stage3-bg .stage3-bg-img02,
#stage3-bg .stage3-robot-img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -5%;
  right: -5%;
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
}
#stage3-bg .stage3-bg-img {
  z-index: 8;
}
#stage3-bg .stage3-bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 25%;
     object-position: center 25%;
}
#stage3-bg .stage3-bg-img02 {
  z-index: 4;
  width: 105%;
  height: 105%;
}
#stage3-bg .stage3-bg-img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#stage3-bg:has(.stage3-robot-img.is-active) .stage3-bg-img02 {
  -webkit-animation: screenShake 6s infinite;
          animation: screenShake 6s infinite;
}
#stage3-bg .stage3-robot-img {
  z-index: 5;
  text-align: center;
  width: 105%;
  height: 105%;
}
#stage3-bg .stage3-robot-img.is-active {
  -webkit-animation: robotStep 6s infinite;
          animation: robotStep 6s infinite;
}
#stage3-bg .stage3-robot-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ===== ロボの歩行（どしん感） ===== */
@-webkit-keyframes robotStep {
  0% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  }
  10% {
    -webkit-transform: translateY(-5px) scaleY(1);
            transform: translateY(-5px) scaleY(1);
  } /* 持ち上がる */
  20% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  } /* 着地（潰れる） */
  25% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  } /* 反動 */
  30% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  /* 2歩目 */
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  60% {
    -webkit-transform: translateY(-5px) scaleY(1);
            transform: translateY(-5px) scaleY(1);
  }
  70% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  }
  75% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
  80% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes robotStep {
  0% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  }
  10% {
    -webkit-transform: translateY(-5px) scaleY(1);
            transform: translateY(-5px) scaleY(1);
  } /* 持ち上がる */
  20% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  } /* 着地（潰れる） */
  25% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  } /* 反動 */
  30% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  /* 2歩目 */
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  60% {
    -webkit-transform: translateY(-5px) scaleY(1);
            transform: translateY(-5px) scaleY(1);
  }
  70% {
    -webkit-transform: translateY(0) scaleY(1);
            transform: translateY(0) scaleY(1);
  }
  75% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
  80% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ===== 画面シェイク ===== */
@-webkit-keyframes screenShake {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 1歩目の衝撃 */
  18% {
    -webkit-transform: translate(-6px, 4px);
            transform: translate(-6px, 4px);
  }
  20% {
    -webkit-transform: translate(6px, -4px);
            transform: translate(6px, -4px);
  }
  22% {
    -webkit-transform: translate(-3px, 2px);
            transform: translate(-3px, 2px);
  }
  24% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 2歩目の衝撃 */
  68% {
    -webkit-transform: translate(6px, 4px);
            transform: translate(6px, 4px);
  }
  70% {
    -webkit-transform: translate(-6px, -4px);
            transform: translate(-6px, -4px);
  }
  72% {
    -webkit-transform: translate(3px, 2px);
            transform: translate(3px, 2px);
  }
  74% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes screenShake {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 1歩目の衝撃 */
  18% {
    -webkit-transform: translate(-6px, 4px);
            transform: translate(-6px, 4px);
  }
  20% {
    -webkit-transform: translate(6px, -4px);
            transform: translate(6px, -4px);
  }
  22% {
    -webkit-transform: translate(-3px, 2px);
            transform: translate(-3px, 2px);
  }
  24% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 2歩目の衝撃 */
  68% {
    -webkit-transform: translate(6px, 4px);
            transform: translate(6px, 4px);
  }
  70% {
    -webkit-transform: translate(-6px, -4px);
            transform: translate(-6px, -4px);
  }
  72% {
    -webkit-transform: translate(3px, 2px);
            transform: translate(3px, 2px);
  }
  74% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
#stage3-last-shutter {
  bottom: auto;
  -webkit-transform: translateY(100vh);
          transform: translateY(100vh);
}

.stage3-cont-each {
  max-height: 80vh;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  z-index: 10;
  inset: 0;
  margin: auto;
  opacity: 0;
  padding-inline: 40px;
}
.stage3-cont-each .c-el-section.bg-blue {
  overflow-y: auto;
}

#stage3-fourth-cont {
  margin-bottom: 0;
  height: 100%;
  max-height: calc(100vh - 75px);
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 30px;
}
#stage3-fourth-cont.is-active #stage3-fourth-img-top .stage3-fourth-img-each {
  opacity: 1;
}
#stage3-fourth-cont.is-active .img-wrap > picture {
  opacity: 1;
}
#stage3-fourth-cont .img-wrap > picture {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
#stage3-fourth-cont #stage3-fourth-img-top {
  position: relative;
  aspect-ratio: 820/238;
}
#stage3-fourth-cont #stage3-fourth-img-top .stage3-fourth-img-each {
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
#stage3-fourth-cont #stage3-fourth-img-top .stage3-fourth-img-each.stage3-fourth-img01 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
#stage3-fourth-cont #stage3-fourth-img-top .stage3-fourth-img-each.stage3-fourth-img02 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
#stage3-fourth-cont #stage3-fourth-img-top .stage3-fourth-img-each.stage3-fourth-img03 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
#stage3-fourth-cont .c-el-section {
  max-height: 100%;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

#stage3-third-cont {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#stage3-third-cont .c-el-section {
  max-width: 668px;
}
#stage3-third-cont .c-el-section::after {
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0;
  margin: auto;
  border-radius: 40px;
  opacity: 0.5;
  background: #141313;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}

#stage3-footer-area {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  opacity: 0;
  background: #000;
  margin-inline: -40px;
}
#stage3-second-cont .img-wrap {
  container-type: inline-size;
  container-name: stage3-scroll;
}
#stage3-second-cont .img-wrap .scroll-wrap {
  /* Modern browsers — Chrome 121+, Edge 121+, Firefox, Safari 18.2+ */
  scrollbar-width: 16px;
  /* Legacy WebKit — older Chrome/Edge/Safari, radius, borders & shadows */
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0);
  border-radius: 100vw;
  border: 1px solid #ffffff;
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-track:hover {
  background-color: rgba(255, 255, 255, 0);
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-track:active {
  background-color: rgba(255, 255, 255, 0);
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-thumb {
  background-color: #ffffff;
  border-radius: 20px;
  min-height: 80px;
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-thumb:hover {
  background-color: #f8f8f8;
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-thumb:active {
  background-color: #f8f8f8;
}
#stage3-second-cont .img-wrap .scroll-wrap::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
#stage3-second-cont .img-wrap .scroll-wrap {
  max-width: 802px;
}
#stage3-second-cont .img-wrap .note {
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
#stage3-second-cont .c-el-section.bg-dark {
  -webkit-box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
}
#stage3-first-cont .c-el-section.ttl-sec .txt {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* -----------------------------------------------
* last Module
* lastページ用
-------------------------------------------------- */
#last-night-wrapper {
  position: relative;
  left: 0;
  height: 800vh;
  margin-top: -100vh;
  z-index: 70;
}

#last-night-stage {
  margin-top: -100vh;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

#last-night-img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300vh;
}
#last-night-img-wrapper #last-night-img {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(20%, #000));
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 20%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(20%, #000));
          mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 20%);
  background: #000;
  display: block;
  width: 100%;
  height: 100%;
}
#last-night-img-wrapper #last-night-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

#last-boy-img {
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 6;
}
#last-boy-img img {
  width: 100%;
  height: auto;
}

#last-earth-img-wrapper {
  position: absolute;
  z-index: 5;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(60%, #000));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 60%);
}
#last-earth-img-wrapper #last-earth-img,
#last-earth-img-wrapper #last-earth-bright-img {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
#last-earth-img-wrapper #last-earth-img img,
#last-earth-img-wrapper #last-earth-bright-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#last-earth-img-wrapper #last-earth-bright-img img {
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-mask-image: radial-gradient(circle, rgb(0, 0, 0) 0%, rgba(199, 50, 50, 0) 0%);
          mask-image: radial-gradient(circle, rgb(0, 0, 0) 0%, rgba(199, 50, 50, 0) 0%);
  -webkit-mask-size: 120%;
          mask-size: 120%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transform: translateY(calc(0px - 4.1666666667vw));
          transform: translateY(calc(0px - 4.1666666667vw));
}

#last-arrow-img-wrapper {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: -10%;
  right: 0;
  margin: auto;
  width: 120%;
  height: auto;
  aspect-ratio: 1440/808;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
  will-change: transform, opacity;
}
#last-arrow-img-wrapper #last-arrow-img {
  position: absolute;
  z-index: 2;
  width: 100%;
  text-align: center;
  display: block;
  top: 30%;
}
#last-arrow-img-wrapper #last-arrow-img img {
  will-change: transform, opacity;
  -webkit-transform: scale(1.25) rotateX(30deg);
          transform: scale(1.25) rotateX(30deg);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

#last-txt-area {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100vh;
  top: 35%;
  left: 0;
  right: 0;
  margin: auto;
}
#last-txt-area .last-txt {
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(24px, 2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1.8;
}

#last-detail-area {
  position: absolute;
  width: 100%;
  height: 100vh;
  z-index: 5;
  top: 100px;
  left: 0;
  right: 0;
  margin: auto;
}
#last-detail-area .cont-wrap {
  display: grid;
  grid-template-columns: auto min(50%, 220px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  gap: 90px 20px;
}
#last-detail-area .last-detail-txt {
  color: #fff;
  text-shadow: 0 0 10px #000;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.95;
}
#last-detail-area .last-detail-btn-area .btn-wrap {
  display: block;
}
#last-detail-area.r-ver .cont-btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width < 768px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  #wrapper {
    min-width: 320px;
  }
  .inner-block {
    padding-inline: 20px;
  }
  .pc {
    display: none !important;
  }
  .c-header .logo-link {
    gap: 4px;
    padding-left: clamp(4px, 2.1333333333vw, 8px);
  }
  .c-footer .disclaimer-wrap {
    padding-block: 50px;
  }
  .c-footer .disclaimer-wrap .item {
    margin-bottom: 24px;
  }
  .c-footer .disclaimer-wrap .ttl {
    margin-bottom: 5px;
  }
  .c-footer .disclaimer-wrap .list li {
    font-size: 11px;
  }
  .c-footer .disclaimer-wrap p {
    font-size: 11px;
  }
  .c-footer .bottom {
    font-size: 11px;
    padding: 18px 7.5px;
  }
  .c-el-section {
    border-radius: 20px;
    padding-top: 24px;
    padding-inline: 10px;
    margin-inline: -12.5px;
    padding-bottom: 30px;
  }
  .c-el-section.bg-blue {
    padding-top: 24px;
    margin-inline: auto;
  }
  .c-el-section.bg-blue .c-el-ttl {
    text-align: left;
    font-size: 16px;
    margin-bottom: 20px;
    padding-inline: 0;
  }
  .c-el-section.bg-dark {
    padding: 3px 10px;
  }
  .c-el-ttl {
    font-size: 16px;
    padding-inline: 7.5px;
  }
  .c-el-wrap {
    padding: 0;
  }
  .c-el-wrap .txt {
    font-size: 14px;
    margin-bottom: 16px;
  }
  .c-el-wrap .img-wrap.pb-20 {
    padding-bottom: 10px;
  }
  .c-el-wrap .img-wrap .scroll-wrap {
    overflow-x: auto;
  }
  .c-el-wrap .img-wrap .scroll-wrap img {
    width: auto;
    max-width: none;
    height: auto;
    display: block;
  }
  .c-el-wrap .note {
    margin-block: 0 32px;
  }
  .c-el-caution {
    padding: 10px;
    margin-top: 20px;
    border-radius: 5px;
    font-size: 11px;
    line-height: 1.5;
  }
  .ttl-sec {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-inline: 36px;
  }
  .c-anchor-wrap .anchor-list a {
    padding-left: 24px;
  }
  .c-anchor-wrap .anchor-list a::before {
    width: 17.5px;
    height: 17.5px;
  }
  .c-anchor-wrap .anchor-list a:not(:last-child)::after {
    width: 2px;
    left: 8px;
    top: 10px;
  }
  .c-anchor-wrap .anchor-list a .img img {
    height: 12px;
  }
  .c-anchor-wrap .anchor-list a .txt {
    font-size: 10px;
  }
  .c-anchor-wrap .anchor-list a:first-of-type::after {
    height: 180%;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(2) {
    padding-top: 31px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(2)::before {
    top: 27px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(2)::after {
    top: 35px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(3) {
    padding-top: 30px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(3)::before {
    top: 27px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(3)::after {
    top: 35px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(4) {
    padding-top: 37px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(4)::before {
    top: 32px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(4)::after {
    top: 35px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(5) {
    padding-top: 30px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(5)::before {
    top: 26px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(5)::after {
    top: 35px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(6) {
    padding-top: 32px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(6)::before {
    top: 30px;
  }
  .c-anchor-wrap .anchor-list a:nth-of-type(6) .img img {
    height: 11.5px;
  }
  .c-grassland-cont .c-ttl01 {
    line-height: 1.3;
  }
  .c-grassland-cont .white {
    padding: 13px;
    border-width: 2px;
    margin-inline: 10px;
    margin-top: 49px;
  }
  .c-grassland-cont .white .lead {
    font-size: 18px;
    padding-bottom: 13px;
    margin-bottom: 6px;
  }
  .c-grassland-cont .white .lead::before {
    max-width: 305px;
    width: 100%;
    height: 10px;
  }
  .c-grassland-cont .white .white-cont {
    gap: 5px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-grassland-cont .white .white-cont .inn {
    width: 100%;
    border-radius: 4px;
  }
  .c-grassland-cont .white .white-cont .inn:last-of-type .top .img img {
    width: 23px;
  }
  .c-grassland-cont .white .white-cont .inn .top {
    padding: 4px;
  }
  .c-grassland-cont .white .white-cont .inn .top .img {
    width: 35px;
    border-radius: 4px;
  }
  .c-grassland-cont .white .white-cont .inn .top .img img {
    width: 31px;
  }
  .c-grassland-cont .white .white-cont .inn .top .inn-ttl {
    font-size: 15px;
  }
  .c-grassland-cont .white .white-cont .inn .bottom {
    padding: 7px 10px 7px 9.5px;
  }
  .c-grassland-cont .img-cont {
    margin-top: 27.5px;
    padding-inline: 0;
    margin-inline: -5px;
  }
  .c-grassland-cont .img-cont .inn {
    display: block;
  }
  .c-grassland-cont .img-cont .inn .img {
    position: relative;
    width: 40.5%;
  }
  .c-grassland-cont .img-cont .inn .img.left {
    margin-top: 0;
  }
  .c-grassland-cont .img-cont .inn .img.top {
    margin-top: -31.5px;
    margin-left: auto;
    margin-right: 16px;
  }
  .c-grassland-cont .img-cont .inn .img.right {
    margin-top: 18px;
    margin-left: 44px;
  }
  .c-grassland-cont .img-cont .note {
    padding-top: 12px;
    font-size: 11px;
  }
  #stage1-title-area {
    padding-inline: 7.5px;
  }
  #stage1-title-area .ttl {
    padding-right: 5px;
  }
  #stage1-contents .stage1-cont-each {
    padding: 25px 15px;
    overflow-y: auto;
    height: 100%;
  }
  #stage1-contents .stage1-cont-each .stage1-list li {
    padding-left: 23.5px;
  }
  #stage1-contents .stage1-cont-each .stage1-list li::before {
    width: 19px;
    height: 25px;
    top: 4px;
  }
  #stage1-contents .stage1-cont-each .lead-wrap {
    width: 100%;
    min-width: inherit;
    max-width: 330px;
    border: 1px solid #6E5C33;
  }
  #stage1-contents .stage1-cont-each .lead-wrap .label {
    padding: 3px 15px 3px 7px;
    font-size: 15px;
    width: 67.5px;
  }
  #stage1-contents .stage1-cont-each .lead-wrap .label::before {
    width: 10px;
    height: 30px;
  }
  #stage1-contents .stage1-cont-each .lead-wrap .lead {
    font-size: 16px;
    padding-top: 6px;
  }
  #stage1-contents .stage1-cont-each .txt {
    font-size: 16px;
  }
  #stage1-contents .stage1-cont-each .graph-wrap {
    margin-top: 20px;
  }
  #stage1-contents .stage1-cont-each .graph-wrap .graph {
    overflow: auto;
  }
  #stage1-contents .stage1-cont-each .graph-wrap .graph > img {
    min-height: inherit;
    min-width: 600px;
  }
  #stage1-contents .stage1-cont-each .graph-wrap .modal-btn {
    width: min(8vw, 30px);
  }
  #stage1-contents .stage1-cont-each .graph-wrap .modal-btn.doraemon {
    top: max(47px, 7.4315514993vw);
    left: max(195px, 29.9869621904vw);
  }
  #stage1-contents .stage1-cont-each .graph-wrap .modal-btn.gundam {
    top: max(105px, 16.9491525424vw);
    left: max(340px, 52.1512385919vw);
  }
  #stage1-contents .stage1-cont-each .graph-wrap .modal-btn.mario {
    top: max(15px, 2.6075619296vw);
    left: max(420px, 63.8852672751vw);
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap {
    margin-top: 20px;
    max-width: 300px;
    width: 100%;
    margin-inline: auto;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap .graph {
    overflow: hidden;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .graph-wrap .graph > img {
    width: 100%;
    min-height: inherit;
    min-width: inherit;
    aspect-ratio: 107/95;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .note {
    font-size: 11px;
    margin-top: 0;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn {
    margin-top: 14.5px;
    padding: 7px 17.5px;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn .txt {
    font-size: 14px;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn .icon {
    width: 30px;
    right: -18px;
  }
  .c-cont-footer {
    font-size: 11px;
    padding-block: 10px;
  }
  .c-cont-footer .inner-block {
    padding-inline: 7.5px;
  }
  .c-cont-footer .note {
    padding-left: 28px;
  }
  .c-cont-footer .note-red {
    padding-left: 11px;
  }
  .modal {
    aspect-ratio: 700/1060;
    max-width: 95vw;
  }
  .modal.doraemon {
    background-image: url("../images/stage1/modal-bg03_sp.jpg.webp");
  }
  .modal.doraemon .white {
    top: 18.8679245283%;
  }
  .modal.mario {
    background-image: url("../images/stage1/modal-bg04_sp.jpg.webp");
  }
  .modal.mario .white {
    top: 13.679245283%;
  }
  .modal.gundam {
    background-image: url("../images/stage1/modal-bg01_sp.jpg.webp");
  }
  .modal.gundam .img {
    margin-top: 30%;
  }
  .modal.kanren {
    background-image: url("../images/stage1/modal-bg02_sp.jpg.webp");
  }
  .modal.kanren .img {
    margin-top: 19.5%;
    position: relative;
  }
  .modal.kanren .img::before {
    content: "";
    position: absolute;
    background: url("../images/stage1/modal-bg02-deco.svg") no-repeat center/contain;
    display: block;
    width: clamp(40px, 12.8vw, 48px);
    height: auto;
    aspect-ratio: 96.551/117.069;
    left: -22px;
    bottom: 64px;
  }
  .modal.doraemon .white, .modal.mario .white {
    padding: 20px 10px 7.5px;
    width: 84.2857142857%;
  }
  .modal.doraemon .white .modal-list, .modal.mario .white .modal-list {
    margin-top: 15px;
  }
  .modal.doraemon .white .modal-list li + li, .modal.mario .white .modal-list li + li {
    margin-top: 5px;
  }
  .modal.doraemon .white .img, .modal.mario .white .img {
    max-width: clamp(180px, 53.3333333333vw, 300px);
    margin-top: 5px;
  }
  .modal.doraemon .white .note, .modal.mario .white .note {
    font-size: 11px;
  }
  .modal.doraemon .white .txt, .modal.mario .white .txt {
    font-size: 11px;
    margin-top: 3px;
  }
  .modal.doraemon .white .note-red, .modal.mario .white .note-red {
    font-size: 11px;
  }
  .modal.gundam .img, .modal.kanren .img {
    width: 82.8571428571%;
    max-width: 400px;
  }
  .modal.gundam .note, .modal.kanren .note {
    font-size: 11px;
    padding-left: 9px;
    margin-left: 23px;
    padding-right: 15px;
    margin-top: 5px;
  }
  .modal.gundam .note02, .modal.kanren .note02 {
    font-size: 11px;
    padding-left: 33px;
    margin-left: 15px;
    padding-right: 22px;
  }
  .modal.gundam .txt, .modal.kanren .txt {
    font-size: 11px;
    margin-left: 15px;
    padding-right: 15px;
  }
  .modal.gundam .white, .modal.kanren .white {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 11px;
    margin-top: 7.5px;
    padding-left: 15px;
    padding-bottom: 2px;
  }
  .modal.gundam .white::before, .modal.kanren .white::before {
    left: 3px;
  }
  .modal .modal-close {
    width: 30px;
    height: 30px;
    right: 4.2857142857%;
    bottom: 2.8301886792%;
  }
  .modal .modal-close::before, .modal .modal-close::after {
    width: 18px;
    height: 3px;
  }
  .c-power-bar {
    width: 264px;
    top: 47px;
    left: 4.5333333333%;
    right: inherit;
    padding: 3px 10px 3px;
    gap: 9px;
  }
  .c-power-bar .txt {
    font-size: 11px;
    margin-bottom: -1px;
  }
  .c-power-bar .rod-wrap {
    gap: 9px;
  }
  .c-power-bar .rod-wrap .rod {
    height: 8.5px;
    width: auto;
  }
  .c-btn01 {
    font-size: 17px;
    padding: 6px 1em;
  }
  #bg-boy-land img {
    -o-object-position: 39% center;
       object-position: 39% center;
  }
  #opening-wrapper .opening-phase-txt-wrap .inner-block {
    padding-inline: clamp(20px, 8vw, 30px);
  }
  #opening-wrapper .opening-phase-txt {
    font-size: clamp(16px, 5.0666666667vw, 19px);
    line-height: 1.8947368421;
  }
  #opening-wrapper .opening-phase-txt .big {
    font-size: clamp(18px, 5.8666666667vw, 22px);
  }
  #opening-wrapper #mv-arrows-wrapper .land-img img {
    -o-object-position: 39% center;
       object-position: 39% center;
  }
  #opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area {
    height: 55vh;
    width: auto;
    aspect-ratio: 1080/599;
    top: 18%;
  }
  #opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area .mv-arrows-img {
    height: 100%;
  }
  #opening-wrapper #mv-arrows-wrapper .mv-arrows-img-area .mv-arrows-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #opening-wrapper #mv-arrows-wrapper .boy-img img {
    -o-object-position: 39% center;
       object-position: 39% center;
  }
  #opening-wrapper .mv-final {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #opening-wrapper .mv-final .contents-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #opening-wrapper .mv-img-area {
    height: 100%;
  }
  #opening-wrapper .mv-img {
    height: 100%;
  }
  #opening-wrapper .mv-img img {
    -o-object-position: 39% bottom;
       object-position: 39% bottom;
  }
  #opening-wrapper .mv-logo {
    width: 60px;
    top: 34px;
    right: 17px;
  }
  #opening-wrapper .mv-title {
    padding-block: 20px 35px;
  }
  #opening-wrapper .mv-title .fund-name {
    font-size: 26px;
    line-height: 1.5;
  }
  #opening-wrapper .mv-title .fund-sub {
    font-size: 17px;
    line-height: 1.5294117647;
  }
  .arrows-line-box {
    -webkit-filter: none;
            filter: none;
  }
  #first-float-boy {
    right: auto;
    left: calc(100% - clamp(180px, 32vw, 240px));
    bottom: -40px;
    width: 280px;
  }
  #first-note {
    bottom: 10px;
  }
  #first-note .first-note-txt {
    font-size: 11px;
  }
  #first-cont-track {
    padding-block: 40px 50px;
  }
  #first-cont-track .inner-block {
    padding-inline: 15px;
  }
  .first-cont-each {
    margin-inline: auto;
    padding-block: 20px;
    padding-inline: 20px;
  }
  .first-cont-each.bg-blue {
    padding: 20px;
  }
  .first-cont-each .cont-ttl-big {
    font-size: 20px;
    line-height: 1.5;
  }
  .first-cont-each .cont-blue-box {
    padding: 8px 9px;
  }
  .first-cont-each .cont-blue-box .box-inn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
  }
  .first-cont-each .cont-blue-box .box-ttl {
    font-size: 14px;
    padding-block: 4px;
    padding-inline: 12px;
    border-radius: 10px;
  }
  .first-cont-each .cont-blue-box .box-desc {
    font-size: 14px;
  }
  .first-cont-each .cont-desc {
    font-size: 14px;
  }
  .first-cont-each .cont-ttl {
    font-size: 16px;
  }
  .first-cont-each .cont-img-txt {
    font-size: 13px;
  }
  .first-cont-each .cont-img-area {
    max-width: 450px;
    margin-inline: auto;
  }
  .first-note-area .c-el-caution {
    max-width: 550px;
  }
  .first-note-area .c-el-caution .red {
    background: rgba(255, 255, 255, 0.8);
  }
  #first-cont-first {
    margin-top: 85px;
    max-width: min(100% - 50px, 380px);
  }
  #first-cont-first .cont-blue-box {
    margin-block: 15px;
  }
  #first-cont-second,
  #first-cont-third,
  #first-cont-double {
    margin-top: 35px;
  }
  #first-note-third,
  #first-note-sixth {
    margin-top: 10px;
    margin-inline: -7.5px;
  }
  #first-note-third p,
  #first-note-sixth p {
    font-size: 11px;
  }
  #first-cont-second .cont-img-area {
    margin-top: 5px;
  }
  #first-cont-third {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  #first-cont-third .cont-img-area {
    margin-top: 16px;
  }
  #first-cont-fourth {
    margin-top: 45px;
    max-width: min(100% - 48px, 380px);
    padding: 20px 11px;
  }
  #first-cont-fourth .cont-ttl-big {
    margin-bottom: 15px;
  }
  #first-cont-double {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 35px;
  }
  #first-cont-double .first-cont-fifth .cont-img-area {
    margin-top: 4px;
  }
  #first-cont-sixth .cont-img-area {
    margin-top: 13px;
  }
  #first-plain-wrapper {
    height: 200vh;
  }
  #first-plain-wrapper .contents-wrap {
    min-height: 150vh;
  }
  #first-plain-wrapper .inner-block {
    padding-top: 100%;
  }
  #first-plain-cont-track {
    min-height: 120vh;
  }
  #stage1-stage {
    border-width: 20px;
  }
  #stage1-bg .stage1-bg-img img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #stage1-bg #stage1-boy-img img {
    width: 65px;
    top: min(52%, 450px);
  }
  #stage1-bg #stage1-comment-img {
    bottom: auto;
    top: 112px;
  }
  #stage1-bg #stage1-comment-img picture {
    max-width: 206px;
  }
  #stage1-bg-map img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center 20%;
       object-position: center 20%;
  }
  #stage1-bg-map #stage1-boy-map-img img {
    width: min(12vw, 90px);
    top: clamp(80px, 32vw, 135px);
    left: 12vw;
  }
  #stage1-bg-map .stage1-bg-map-path svg {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center 20%;
       object-position: center 20%;
  }
  #stage1-contents {
    padding-block: 8px;
  }
  #stage1-cont-track {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: auto;
    padding-inline: 20px;
    padding-block: 20px;
    gap: 3.4666666667vw;
  }
  .stage1-cont-wrap {
    width: 100%;
    height: auto;
  }
  @container graph (width <= 600px) {
    .stage1-cont-each.stage1-cont01 .graph {
      padding-bottom: 16px;
    }
    .stage1-cont-each.stage1-cont01 .graph-scroll-img {
      display: block;
    }
  }
  #stage2-wrapper .top-desc-txt {
    font-size: 16px;
    text-align: start;
    margin-bottom: 25px;
  }
  #stage2-bg .stage2-bg-img img {
    -o-object-position: bottom center;
       object-position: bottom center;
  }
  #stage2-bg .stage2-boy-img img {
    -o-object-position: bottom center;
       object-position: bottom center;
  }
  .stage2-cont-each {
    padding-block: 32px;
  }
  .stage2-cont-each .card-txt {
    font-size: 11px;
  }
  #first-cards-area {
    max-height: min(60vh, 507px);
    margin-bottom: 18.5px;
  }
  #first-cards-area #f-card01 {
    max-width: 222.5px;
    bottom: inherit;
  }
  #first-cards-area #f-card02 {
    max-width: 182.5px;
    right: 13.0666666667vw;
    top: inherit;
    bottom: 14.8915187377%;
  }
  #first-cards-area #f-card03 {
    max-width: 156.5px;
    top: 41.7159763314%;
    left: 11.0666666667vw;
  }
  #first-cards-area #f-card04 {
    max-width: 158px;
    bottom: 0;
    right: inherit;
    left: 7.7333333333vw;
  }
  #first-cards-area #f-card05 {
    max-width: 176.5px;
    bottom: inherit;
    top: 18.2445759369%;
    right: 0;
    left: inherit;
  }
  #stage2-second-track,
  #stage2-fourth-track {
    padding-block: 60px 75px;
  }
  #stage2-third-cont .inner-block {
    padding-inline: 30px;
  }
  #third-cards-area {
    max-height: 527px;
    margin-block: 0 20px;
  }
  #third-cards-area #t-card01 {
    max-width: 182.5px;
    top: 0;
    right: 13.3333333333vw;
  }
  #third-cards-area #t-card02 {
    max-width: 222.5px;
    top: 38.5199240987%;
    left: 6.6666666667vw;
  }
  #third-cards-area #t-card03 {
    max-width: 175px;
  }
  #third-cards-area #t-card04 {
    max-width: 156.5px;
    left: inherit;
    right: 0;
    bottom: 14.7058823529%;
  }
  #third-cards-area #t-card05 {
    max-width: 158px;
    top: 15.275142315%;
    bottom: inherit;
  }
  #stage2-title-area .ttl {
    font-size: 22px;
    line-height: 1.3;
  }
  #stage2-title-area .ttl .img {
    width: 92.85px;
    top: -35.5px;
    left: clamp(-20px, -9.7333333333vw, -73px);
  }
  #stage2-second-cont .note.pc + .img-wrap {
    margin-top: 32px;
  }
  #stage3-wrapper {
    height: 700vh;
  }
  #stage3-bg .stage3-bg-img {
    max-height: calc(100% - min(30%, 300px));
    margin-top: auto;
    margin-bottom: 0;
  }
  #stage3-bg #stage3-bg-first::before {
    position: absolute;
    content: "";
    z-index: 9;
    background: -webkit-gradient(linear, left top, left bottom, from(#3582DA), color-stop(82.21%, #5693DA), to(rgba(86, 147, 218, 0)));
    background: linear-gradient(180deg, #3582DA 0%, #5693DA 82.21%, rgba(86, 147, 218, 0) 100%);
    width: 100%;
    height: min(40%, 377px);
    top: 0;
    left: 0;
  }
  #stage3-bg #stage3-bg-border {
    position: relative;
    height: 100%;
  }
  #stage3-bg #stage3-bg-border::before, #stage3-bg #stage3-bg-border::after {
    position: absolute;
    content: "";
    z-index: 4;
    width: 100%;
    height: min(15vh, 106px);
    left: 0;
  }
  #stage3-bg #stage3-bg-border::before {
    background: #02264F;
    z-index: 6;
    top: 0;
  }
  #stage3-bg #stage3-bg-border::after {
    background: -webkit-gradient(linear, left top, left bottom, from(#02264F), to(#000));
    background: linear-gradient(180deg, #02264F 0%, #000 100%);
    bottom: 0;
  }
  #stage3-bg #stage3-bg-border .stage3-bg-img02,
  #stage3-bg #stage3-bg-border .stage3-robot-img {
    top: calc(min(15vh, 106px) - 5px);
    height: calc(100% - min(15vh, 106px) * 2 + 15px);
    margin-top: 0;
  }
  #stage3-bg #stage3-bg-border .stage3-bg-img02 {
    top: calc(min(15vh, 106px) - 5px + 30px);
    height: 50%;
  }
  .stage3-cont-each {
    padding-inline: 20px;
    margin-top: 75px;
  }
  .stage3-cont-each .c-el-section.bg-blue {
    max-height: calc(100vh - 211px);
  }
  #stage3-fourth-cont #stage3-fourth-img-top {
    aspect-ratio: 630/516;
  }
  #stage3-third-cont {
    margin-block: auto;
  }
  #stage3-footer-area {
    margin-inline: -20px;
  }
  #stage3-second-cont {
    margin-top: auto;
  }
  #stage3-second-cont .img-wrap {
    overflow-x: auto;
  }
  @container stage3-scroll (width < 802px) {
    #stage3-second-cont .img-wrap .scroll-wrap {
      padding-bottom: 20px;
    }
  }
  #stage3-second-cont .img-wrap .note {
    padding-left: 0.75em;
  }
  #stage3-second-cont .c-el-section {
    margin-inline: 0;
  }
  #stage3-second-cont .c-el-section.bg-blue {
    max-height: calc(100vh - 184px);
    overflow-y: auto;
  }
  #stage3-first-cont {
    margin-bottom: 0;
  }
  #last-night-img-wrapper {
    height: 200vh;
  }
  #last-boy-img {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(50%, #000));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 50%);
    height: min(65vh, 300px);
  }
  #last-boy-img img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 80% bottom;
       object-position: 80% bottom;
  }
  #last-earth-img-wrapper {
    height: min(80vh, 437px);
  }
  #last-earth-img-wrapper #last-earth-img,
  #last-earth-img-wrapper #last-earth-bright-img {
    height: 100%;
  }
  #last-earth-img-wrapper #last-earth-img img,
  #last-earth-img-wrapper #last-earth-bright-img img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #last-earth-img-wrapper #last-earth-bright-img img {
    -webkit-transform: translateY(-37px);
            transform: translateY(-37px);
  }
  #last-arrow-img-wrapper {
    height: min(80vh, 437px);
  }
  #last-txt-area .last-txt {
    font-size: clamp(16px, 5.0666666667vw, 19px);
    line-height: 1.8947368421;
  }
  #last-detail-area .cont-wrap {
    grid-template-columns: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: center;
  }
  #last-detail-area .last-detail-txt {
    font-size: 22px;
  }
  #last-detail-area .last-detail-btn-area {
    max-width: 165px;
  }
}
@media screen and (768px <= width) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding-inline: 40px;
    max-width: 1160px;
  }
  .inner-block.wi-1100 {
    max-width: 1180px;
  }
  .inner-block.wi-900 {
    max-width: 980px;
  }
  .inner-block.wi-970 {
    max-width: 1050px;
  }
  a,
  a::before,
  a::after,
  button,
  button::before,
  button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  .c-grassland-cont .white .white-cont .inn .bottom {
    height: calc(100% - 71px);
  }
  .c-btn02 {
    display: none;
  }
  #opening-wrapper .mv-img-area {
    position: relative;
    overflow: hidden;
  }
  #opening-wrapper .mv-img {
    margin-bottom: -60px;
    position: absolute;
    inset: 0;
  }
  #first-cont-sixth {
    margin-top: 80px;
  }
  #stage1-stage > * {
    aspect-ratio: 1440/720;
    width: calc(100% + 1px);
    height: auto;
    max-height: 100vh;
  }
  @container graph (width < 820px) {
    .stage1-cont-each.stage1-cont01 .graph {
      padding-bottom: 16px;
    }
    .stage1-cont-each.stage1-cont01 .graph-scroll-img {
      display: block;
    }
  }
  #last-earth-img-wrapper {
    z-index: 6;
  }
}
@media screen and (width < 400px) {
  .c-header .column-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }
}
@media (any-hover: hover) {
  .c-header .btn-wrap:hover {
    background: #fff;
    color: #000;
  }
  .c-anchor-wrap .anchor-list a:hover .txt {
    color: #FFC508;
  }
  #stage1-contents .stage1-cont-each .graph-wrap .modal-btn:hover {
    opacity: 0.8;
  }
  #stage1-contents .stage1-cont-each.stage1-cont02 .modal-btn:hover {
    opacity: 0.8;
  }
  .modal .modal-close:hover {
    opacity: 0.8;
  }
  .c-btn01:hover {
    opacity: 0.7;
  }
}
@media screen and (width < 768px) and (width < 360px) {
  .c-el-ttl .sp.min-360 {
    display: none;
  }
}
@media screen and (width < 1439px) {
  .c-anchor-wrap {
    padding-inline: clamp(10px, 1.0416666667vw, 24px) clamp(10px, 1.0416666667vw, 15px);
  }
}
@media screen and (width < 1000px) {
  .c-anchor-wrap {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    pointer-events: none;
    left: inherit;
    right: 0;
    top: 0;
    height: 100vh;
    padding-block: 65px 40px;
    background: rgba(17, 17, 17, 0.8);
  }
  .c-anchor-wrap.is-open {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    pointer-events: all;
  }
  #stage1-title-area .comment {
    right: 20px;
  }
}
@media screen and (width < 1000px) and (width < 768px) {
  .c-anchor-wrap {
    width: 262.5px;
    padding-inline: 30.5px 27.5px;
    max-width: inherit;
  }
  #stage1-title-area .comment {
    position: static;
    margin-top: 20px;
    margin-left: auto;
    width: 190px;
  }
}
@media screen and (1000px <= width) {
  .c-anchor-btn {
    display: none;
  }
}
@media screen and (1300px <= width) {
  .c-grassland-cont .white .white-cont .inn:last-of-type .bottom {
    padding-left: 20px;
    padding-right: 15px;
  }
}
@media screen and (width < 960px) {
  #stage1-contents .stage1-cont-each.stage1-cont02 .comment {
    position: static;
    margin-top: 18px;
    margin-left: auto;
    margin-right: 50px;
  }
}
@media screen and (width < 960px) and (width < 768px) {
  #stage1-contents .stage1-cont-each.stage1-cont02 .comment {
    width: 203px;
    margin-right: 0;
  }
}
@media screen and (500px <= width) {
  .c-btn01 .max500 {
    display: none;
  }
}
@media screen and (width < 768px) and (width < 370px) {
  .c-btn01 {
    font-size: 14px;
  }
}
@media screen and (width < 768px) and (768px <= width) {
  #stage3-bg #stage3-bg-first::before {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (960px <= width) {
  #last-txt-area .last-txt br {
    display: none;
  }
}