@charset "UTF-8";
/* sec01 */
.p-sec01__bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.p-sec01__bg video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-sec01__text {
  color: #0e5cb7;
}
.p-sec01__text--01 strong {
  display: inline-block;
}
.p-sec01__text--01 small {
  display: block;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sec01__text--01 {
    margin-bottom: 1.5rem;
    line-height: 1.2;
  }
  .p-sec01__text--01 strong {
    font-size: 7.6rem;
  }
  .p-sec01__text--01 small {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec01__text--01 {
    margin-bottom: 7.4rem;
    line-height: 2;
  }
  .p-sec01__text--01 strong {
    font-size: 14.9rem;
    line-height: 1;
  }
  .p-sec01__text--01 small {
    font-size: 3.5rem;
    line-height: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-sec01__text--02 {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec01__text--02 {
    margin-bottom: 14rem;
    line-height: 1.34;
    font-size: 9.5rem;
  }
}
.p-sec01__text--03 em {
  color: #fff;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-sec01__text--03 {
    line-height: 1.44;
  }
  .p-sec01__text--03 em {
    padding: 0 1rem;
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec01__text--03 {
    line-height: 1.97;
    font-size: 8rem;
  }
  .p-sec01__text--03 em {
    padding: 0 3rem;
    margin-right: 3rem;
  }
}
.p-sec01__image {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-sec01__image {
    width: 38.9rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec01__image {
    width: 68.3rem;
    margin-bottom: 12rem;
  }
}

/* sec02 */
.p-sec02__content {
  position: relative;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-sec02__text {
    position: absolute;
    left: -5rem;
    bottom: 31rem;
    width: 61.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec02__text {
    position: relative;
    width: 106.9rem;
    margin-left: 3rem;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 768px) {
  .p-sec02__image {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-left: 22rem;
    width: 68rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec02__image {
    position: relative;
    width: 150.5rem;
  }
}
.p-sec02__block {
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .p-sec02__block {
    left: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (min-width: 1024px) {
  .p-sec02__block {
    left: 20%;
  }
}

/* sec03 */
@media screen and (min-width: 768px) {
  .p-sec03__text {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec03__text {
    margin-bottom: 18rem;
    line-height: 1.64;
    font-size: 9rem;
  }
}
.p-sec03__image {
  position: relative;
  margin: 0 auto;
  aspect-ratio: 61/84.5;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-sec03__image {
    width: 34.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec03__image {
    width: 61rem;
  }
}

/* sec04 */
.p-sec04__rain {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  color: #c0c4e0;
  pointer-events: none;
  overflow: visible;
}
.p-sec04__rain-text {
  display: inline-block;
  width: 1em !important;
  height: auto !important;
  padding-right: 0.3em;
  font-size: 12rem;
  background: none !important;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.p-sec04__rain > div {
  position: absolute;
  left: 0;
  top: -60vh;
  width: 1px;
  height: 40vh;
  background-color: #a9b9da;
  -webkit-animation: rain 2000ms linear infinite;
          animation: rain 2000ms linear infinite;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.p-sec04__rain > div:nth-child(1) {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
  -webkit-animation-duration: 2300ms;
          animation-duration: 2300ms;
  left: 10vw;
}
.p-sec04__rain > div:nth-child(2) {
  -webkit-animation-delay: 250ms;
          animation-delay: 250ms;
  -webkit-animation-duration: 1850ms;
          animation-duration: 1850ms;
  left: 30vw;
}
.p-sec04__rain > div:nth-child(3) {
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms;
  -webkit-animation-duration: 1950ms;
          animation-duration: 1950ms;
  left: 50vw;
}
.p-sec04__rain > div:nth-child(4) {
  -webkit-animation-delay: 350ms;
          animation-delay: 350ms;
  -webkit-animation-duration: 2100ms;
          animation-duration: 2100ms;
  left: 20vw;
}
.p-sec04__rain > div:nth-child(5) {
  -webkit-animation-delay: 600ms;
          animation-delay: 600ms;
  -webkit-animation-duration: 1700ms;
          animation-duration: 1700ms;
  left: 40vw;
}
.p-sec04__rain > div:nth-child(6) {
  -webkit-animation-delay: 700ms;
          animation-delay: 700ms;
  -webkit-animation-duration: 2500ms;
          animation-duration: 2500ms;
  left: 65vw;
}
.p-sec04__rain > div:nth-child(7) {
  -webkit-animation-delay: 900ms;
          animation-delay: 900ms;
  -webkit-animation-duration: 2200ms;
          animation-duration: 2200ms;
  left: 75vw;
}
.p-sec04__rain > div:nth-child(8) {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
  -webkit-animation-duration: 2000ms;
          animation-duration: 2000ms;
  left: 85vw;
}
.p-sec04__rain > div:nth-child(9) {
  -webkit-animation-delay: 1500ms;
          animation-delay: 1500ms;
  -webkit-animation-duration: 2400ms;
          animation-duration: 2400ms;
  left: 95vw;
}
.p-sec04__rain > div:nth-child(10) {
  -webkit-animation-delay: 1800ms;
          animation-delay: 1800ms;
  -webkit-animation-duration: 1800ms;
          animation-duration: 1800ms;
  left: 15vw;
}
.p-sec04__rain > div:nth-child(11) {
  -webkit-animation-delay: 2100ms;
          animation-delay: 2100ms;
  -webkit-animation-duration: 2300ms;
          animation-duration: 2300ms;
  left: 55vw;
}
.p-sec04__rain > div:nth-child(12) {
  -webkit-animation-delay: 2300ms;
          animation-delay: 2300ms;
  -webkit-animation-duration: 1900ms;
          animation-duration: 1900ms;
  left: 45vw;
}
.p-sec04__rain > div:nth-child(13) {
  -webkit-animation-delay: 2600ms;
          animation-delay: 2600ms;
  -webkit-animation-duration: 2600ms;
          animation-duration: 2600ms;
  left: 35vw;
}
.p-sec04__rain > div:nth-child(14) {
  -webkit-animation-delay: 2800ms;
          animation-delay: 2800ms;
  -webkit-animation-duration: 2100ms;
          animation-duration: 2100ms;
  left: 60vw;
}
.p-sec04__rain > div:nth-child(15) {
  -webkit-animation-delay: 3100ms;
          animation-delay: 3100ms;
  -webkit-animation-duration: 1700ms;
          animation-duration: 1700ms;
  left: 70vw;
}
.p-sec04__rain > div:nth-child(16) {
  -webkit-animation-delay: 3300ms;
          animation-delay: 3300ms;
  -webkit-animation-duration: 2200ms;
          animation-duration: 2200ms;
  left: 80vw;
}
.p-sec04__rain > div:nth-child(17) {
  -webkit-animation-delay: 3500ms;
          animation-delay: 3500ms;
  -webkit-animation-duration: 1900ms;
          animation-duration: 1900ms;
  left: 100vw;
}
.p-sec04__rain > div:nth-child(18) {
  -webkit-animation-delay: 3700ms;
          animation-delay: 3700ms;
  -webkit-animation-duration: 2000ms;
          animation-duration: 2000ms;
  left: 110vw;
}
.p-sec04__rain > div:nth-child(19) {
  -webkit-animation-delay: 3900ms;
          animation-delay: 3900ms;
  -webkit-animation-duration: 2400ms;
          animation-duration: 2400ms;
  left: 120vw;
}
.p-sec04__rain > div:nth-child(20) {
  -webkit-animation-delay: 4100ms;
          animation-delay: 4100ms;
  -webkit-animation-duration: 2300ms;
          animation-duration: 2300ms;
  left: 130vw;
}
.p-sec04__rain > div:nth-child(21) {
  -webkit-animation-delay: 4300ms;
          animation-delay: 4300ms;
  -webkit-animation-duration: 2100ms;
          animation-duration: 2100ms;
  left: 5vw;
}
.p-sec04__rain > div:nth-child(22) {
  -webkit-animation-delay: 4500ms;
          animation-delay: 4500ms;
  -webkit-animation-duration: 1800ms;
          animation-duration: 1800ms;
  left: 25vw;
}
.p-sec04__rain > div:nth-child(23) {
  -webkit-animation-delay: 4700ms;
          animation-delay: 4700ms;
  -webkit-animation-duration: 2000ms;
          animation-duration: 2000ms;
  left: 85vw;
}
.p-sec04__rain > div:nth-child(24) {
  -webkit-animation-delay: 4900ms;
          animation-delay: 4900ms;
  -webkit-animation-duration: 2200ms;
          animation-duration: 2200ms;
  left: 95vw;
}
.p-sec04__rain > div:nth-child(25) {
  -webkit-animation-delay: 5100ms;
          animation-delay: 5100ms;
  -webkit-animation-duration: 2500ms;
          animation-duration: 2500ms;
  left: 105vw;
}
.p-sec04__rain > div:nth-child(26) {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
  -webkit-animation-duration: 3500ms;
          animation-duration: 3500ms;
  left: 130vw;
  font-size: 8rem;
}
.p-sec04__rain > div:nth-child(27) {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms;
  -webkit-animation-duration: 4000ms;
          animation-duration: 4000ms;
  left: 115vw;
}
.p-sec04__rain > div:nth-child(28) {
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms;
  -webkit-animation-duration: 3800ms;
          animation-duration: 3800ms;
  left: 100vw;
  font-size: 8rem;
}
.p-sec04__rain > div:nth-child(29) {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
  -webkit-animation-duration: 3300ms;
          animation-duration: 3300ms;
  left: 90vw;
  font-size: 8rem;
}
.p-sec04__rain > div:nth-child(30) {
  -webkit-animation-delay: 1600ms;
          animation-delay: 1600ms;
  -webkit-animation-duration: 3600ms;
          animation-duration: 3600ms;
  left: 50vw;
  font-size: 10rem;
}
.p-sec04__rain > div:nth-child(31) {
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms;
  -webkit-animation-duration: 3900ms;
          animation-duration: 3900ms;
  left: 40vw;
  font-size: 10rem;
}
.p-sec04__rain > div:nth-child(32) {
  -webkit-animation-delay: 2400ms;
          animation-delay: 2400ms;
  -webkit-animation-duration: 3100ms;
          animation-duration: 3100ms;
  left: 30vw;
  font-size: 12rem;
}
.p-sec04__rain > div:nth-child(33) {
  -webkit-animation-delay: 2800ms;
          animation-delay: 2800ms;
  -webkit-animation-duration: 3400ms;
          animation-duration: 3400ms;
  left: 20vw;
  font-size: 8rem;
}
@media screen and (max-width: 767px) {
  .p-sec04__rain > div:nth-child(1) {
    left: 52%;
  }
  .p-sec04__rain > div:nth-child(2) {
    left: 63%;
  }
  .p-sec04__rain > div:nth-child(3) {
    left: 71%;
  }
  .p-sec04__rain > div:nth-child(4) {
    left: 85%;
  }
  .p-sec04__rain > div:nth-child(5) {
    left: 98%;
  }
  .p-sec04__rain > div:nth-child(6) {
    left: 112%;
  }
  .p-sec04__rain > div:nth-child(7) {
    left: 127%;
  }
  .p-sec04__rain > div:nth-child(8) {
    left: 138%;
  }
  .p-sec04__rain > div:nth-child(9) {
    left: 150%;
  }
  .p-sec04__rain > div:nth-child(10) {
    left: 164%;
  }
  .p-sec04__rain > div:nth-child(11) {
    left: 178%;
  }
  .p-sec04__rain > div:nth-child(12) {
    left: 191%;
  }
  .p-sec04__rain > div:nth-child(13) {
    left: 205%;
  }
  .p-sec04__rain > div:nth-child(14) {
    left: 218%;
  }
  .p-sec04__rain > div:nth-child(15) {
    left: 232%;
  }
  .p-sec04__rain > div:nth-child(16) {
    left: 246%;
  }
  .p-sec04__rain > div:nth-child(17) {
    left: 260%;
  }
  .p-sec04__rain > div:nth-child(18) {
    left: 272%;
  }
  .p-sec04__rain > div:nth-child(19) {
    left: 284%;
  }
  .p-sec04__rain > div:nth-child(20) {
    left: 298%;
  }
  .p-sec04__rain > div:nth-child(21) {
    left: 55%;
  }
  .p-sec04__rain > div:nth-child(22) {
    left: 68%;
  }
  .p-sec04__rain > div:nth-child(23) {
    left: 120%;
  }
  .p-sec04__rain > div:nth-child(24) {
    left: 180%;
  }
  .p-sec04__rain > div:nth-child(25) {
    left: 240%;
  }
  .p-sec04__rain > div:nth-child(26) {
    left: 200%;
    -webkit-animation-duration: 5500ms;
            animation-duration: 5500ms;
    font-size: 11rem;
  }
  .p-sec04__rain > div:nth-child(27) {
    left: 180%;
    -webkit-animation-duration: 6200ms;
            animation-duration: 6200ms;
    font-size: 16rem;
  }
  .p-sec04__rain > div:nth-child(28) {
    left: 270%;
    -webkit-animation-duration: 8000ms;
            animation-duration: 8000ms;
    font-size: 11rem;
  }
  .p-sec04__rain > div:nth-child(29) {
    left: 250%;
    -webkit-animation-duration: 5800ms;
            animation-duration: 5800ms;
    font-size: 11rem;
  }
  .p-sec04__rain > div:nth-child(30) {
    left: 190%;
    -webkit-animation-duration: 5100ms;
            animation-duration: 5100ms;
    font-size: 13rem;
  }
  .p-sec04__rain > div:nth-child(31) {
    left: 116%;
    -webkit-animation-duration: 5400ms;
            animation-duration: 5400ms;
    font-size: 14rem;
  }
  .p-sec04__rain > div:nth-child(32) {
    left: 130%;
    -webkit-animation-duration: 5700ms;
            animation-duration: 5700ms;
    font-size: 18rem;
  }
  .p-sec04__rain > div:nth-child(33) {
    left: 100%;
    -webkit-animation-duration: 7500ms;
            animation-duration: 7500ms;
    font-size: 11rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sec04 svg {
    margin: -1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec04 svg {
    margin: 0;
  }
}
.p-sec04__image {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-sec04__image {
    width: 30.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec04__image {
    width: 55.4rem;
  }
}
.p-sec04__text {
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-sec04__text {
    width: 47.1rem;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec04__text {
    width: 71.2rem;
    margin-bottom: 16rem;
  }
}

@-webkit-keyframes rain {
  from {
    -webkit-transform: rotate(30deg) translateY(-40vh);
            transform: rotate(30deg) translateY(-40vh);
  }
  to {
    -webkit-transform: rotate(30deg) translateY(160vh);
            transform: rotate(30deg) translateY(160vh);
  }
}

@keyframes rain {
  from {
    -webkit-transform: rotate(30deg) translateY(-40vh);
            transform: rotate(30deg) translateY(-40vh);
  }
  to {
    -webkit-transform: rotate(30deg) translateY(160vh);
            transform: rotate(30deg) translateY(160vh);
  }
}
@media screen and (max-width: 767px) {
  @-webkit-keyframes rain {
    from {
      -webkit-transform: rotate(30deg) translateY(-40vh);
              transform: rotate(30deg) translateY(-40vh);
    }
    to {
      -webkit-transform: rotate(30deg) translateY(220vh);
              transform: rotate(30deg) translateY(220vh);
    }
  }
  @keyframes rain {
    from {
      -webkit-transform: rotate(30deg) translateY(-40vh);
              transform: rotate(30deg) translateY(-40vh);
    }
    to {
      -webkit-transform: rotate(30deg) translateY(220vh);
              transform: rotate(30deg) translateY(220vh);
    }
  }
}
/* sec05 */
.p-sec05 {
  text-align: center;
}
.p-sec05__text {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-sec05__text {
    margin-bottom: 17rem;
    line-height: 1.64;
    font-size: 9rem;
  }
}
.p-sec05__image {
  width: 53.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-sec05__image {
    width: 92.6rem;
  }
}

/* sec06 */
@media screen and (min-width: 768px) {
  .p-sec06__text--01 {
    margin-bottom: 2rem;
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec06__text--01 {
    margin-bottom: 13rem;
    font-size: 12rem;
    line-height: 1.3;
  }
}
.p-sec06__text--02 {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-sec06__text--02 {
    margin-bottom: 6rem;
    font-size: 13rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec06__text--02 {
    margin-bottom: 17rem;
    font-size: 25rem;
    line-height: 1.15;
  }
}
.p-sec06__image {
  margin: 0 auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-sec06__image {
    width: 53.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec06__image {
    width: 92.6rem;
  }
}

/* sec07 */
@media screen and (min-width: 768px) {
  .p-sec07__parallax {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 140dvh;
    padding: 0px;
    width: 100%;
    max-width: 100%;
    overflow: clip;
    background-color: #0e5cb7;
    z-index: 2;
  }
  .p-sec07__parallax-outer {
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    inset: -100dvh 0 !important;
  }
  .p-sec07__parallax-inner {
    position: sticky;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    padding: 0px;
  }
  .p-sec07__parallax-inner::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/common/bg_pattern-pc-02.svg) no-repeat center top;
    background-size: auto 200%;
    z-index: -1;
    content: "";
    -webkit-animation: bgScrollUp 40s linear infinite;
            animation: bgScrollUp 40s linear infinite;
    /* GPUレイヤーを強制作成 */
    will-change: transform, opacity;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .p-sec07__parallax-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
    -webkit-transform: scale(var(--scale));
            transform: scale(var(--scale));
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  .p-sec07__subsection {
    width: 40rem;
    background-color: transparent;
  }
  .p-sec07__subsection:nth-child(2) .u-animate--fadeIn.is-animated {
    -webkit-animation-delay: calc(1s + var(--delay) * 0.8s);
            animation-delay: calc(1s + var(--delay) * 0.8s);
  }
  .p-sec07__subsection:nth-child(3) .u-animate--fadeIn.is-animated {
    -webkit-animation-delay: calc(2s + var(--delay) * 0.8s);
            animation-delay: calc(2s + var(--delay) * 0.8s);
  }
  .p-sec07__inner::before {
    display: none;
  }
}
.p-sec07__content {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-sec07__content {
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__content {
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
}
.p-sec07__bg {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-sec07__bg {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__bg {
    width: 124rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__bg img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-sec07__wrap {
    height: 67.2rem;
    margin-bottom: 3rem;
    padding-top: 33rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__wrap {
    height: 208.3rem;
    margin-bottom: 8rem;
    padding-top: 102rem;
  }
}
.p-sec07__text {
  position: relative;
  text-align: center;
}
.p-sec07__text--01 {
  margin-bottom: 1.5rem;
  color: #0e5cb7;
  font-size: 3.8rem;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .p-sec07__text--01 {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__text--01 {
    margin-bottom: 5rem;
    font-size: 12rem;
  }
}
.p-sec07__text--02 {
  color: #0e5cb7;
  font-size: 5.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .p-sec07__text--02 {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__text--02 {
    font-size: 17rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sec07__text--03 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__text--03 {
    font-size: 10rem;
  }
}
.p-sec07__text--04 {
  color: #e60012;
  font-size: 6.1rem;
}
@media screen and (max-width: 1023px) {
  .p-sec07__text--04 {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec07__text--04 {
    font-size: 19rem;
  }
}

/* sec08 */
@media screen and (min-width: 768px) {
  .p-sec08__text--01 {
    margin-bottom: 5rem;
    font-size: 5.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec08__text--01 {
    margin-bottom: 13rem;
    font-size: 11rem;
    line-height: 1.3;
  }
}
.p-sec08__text--02 {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sec08__text--02 {
    margin-bottom: 5rem;
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec08__text--02 {
    margin-bottom: 24rem;
    font-size: 8rem;
    line-height: 1.5;
  }
}
.p-sec08__text--03 {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-sec08__text--03 {
    width: 46.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec08__text--03 {
    width: 88.8rem;
  }
}
.p-sec08__image {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-sec08__image {
    width: 51rem;
    top: -40rem;
    margin-bottom: -40rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec08__image {
    width: 104rem;
    top: -80rem;
    margin-bottom: -80rem;
  }
}
.p-sec08__image img {
  width: 100%;
}

/* sec09 */
.p-sec09 {
  text-align: center;
}
.p-sec09__illust {
  position: absolute;
  left: 50%;
  display: block;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
  content: "";
}
@media screen and (min-width: 768px) {
  .p-sec09__illust {
    bottom: -6rem;
    width: 25.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__illust {
    bottom: -16rem;
    width: 48.9rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sec09__text--01 {
    margin-bottom: 5rem;
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__text--01 {
    margin-bottom: 12rem;
    font-size: 8rem;
  }
}
.p-sec09__text--01 em {
  margin-left: 1rem;
  color: #0e5cb7;
  font-style: normal;
  line-height: 1.1;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-sec09__text--01 em {
    padding: 0;
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__text--01 em {
    padding: 0 3rem;
    font-size: 8.8rem;
  }
}
.p-sec09__text--02 {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-sec09__text--02 {
    margin-bottom: 5rem;
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__text--02 {
    margin-bottom: 3rem;
    font-size: 12rem;
    line-height: 1.3;
  }
}
.p-sec09__switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-sec09__switch {
    gap: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__switch {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.p-sec09__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #0e5cb7;
  border-radius: 5rem;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(247, 249, 255)), color-stop(49%, rgb(255, 255, 255)), to(rgb(205, 209, 224)));
  background-image: linear-gradient(180deg, rgb(247, 249, 255) 0%, rgb(255, 255, 255) 49%, rgb(205, 209, 224) 100%);
  -webkit-box-shadow: 0px 5px 8.8px 1.2px rgba(38, 44, 64, 0.6), inset 0px 13px 7px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 8.8px 1.2px rgba(38, 44, 64, 0.6), inset 0px 13px 7px 0px rgba(0, 0, 0, 0.1);
  line-height: 1.3;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-sec09__button {
    width: 48.5rem;
    height: 31.8rem;
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__button {
    width: 88.5rem;
    height: 58rem;
    font-size: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sec09__button strong {
    font-size: 8.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__button strong {
    font-size: 16rem;
  }
}
.p-sec09__button::before {
  position: absolute;
  display: block;
  background: url(../images/common/icon_link.png) no-repeat center center/contain;
  pointer-events: none;
  content: "";
}
@media screen and (min-width: 768px) {
  .p-sec09__button::before {
    bottom: 4rem;
    right: 10rem;
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__button::before {
    bottom: 7rem;
    right: 16rem;
    width: 10.6rem;
    height: 10.6rem;
  }
}
.p-sec09__button::after {
  position: absolute;
  right: -5rem;
  display: block;
  background: url(../images/top/img_sec09-01.png) no-repeat center center/contain;
  pointer-events: none;
  content: "";
}
@media screen and (min-width: 768px) {
  .p-sec09__button::after {
    top: 9rem;
    width: 11.4rem;
    height: 12.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sec09__button::after {
    top: 35rem;
    width: 20.9rem;
    height: 22.5rem;
  }
}