@charset "UTF-8";
:root {
  --white: #ffffff;
  --black: #000000;
  --gray: #333333;
  --red: #ce4848;
  --blue: #1ca6d0;
  --green: #15c39a;
  --yellow: #FFEB00;
  --border: #AAAAAA;
  --accent: var(--red);
  --inactive: var(--gray);
  --disabled: var(--gray);
  --japanese-sans-serif:
    "Noto Sans JP",
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN",
    "メイリオ", Meiryo, Arial, sans-serif;
  --english-sans-serif: "Montserrat", var(--japanese-sans-serif);
  --space-xs: clamp(1.25rem, 0.1389rem + 2.3148vw, 1.875rem);
  --space-sm: calc(var(--space-xs) * 1.5);
  --space-md: calc(var(--space-xs) * 2);
  --space-lg: calc(var(--space-xs) * 3);
  --space-xl: calc(var(--space-xs) * 4);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  color: var(--black);
  font-feature-settings: "palt" on;
  font-family: var(--english-sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  margin: 0;
  background-color: #000000;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section, a, picture {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  margin: 0;
}

p a {
  display: inline-block;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  font-style: normal;
  line-height: inherit;
  margin: 0;
}

ol,
ul,
dl,
ol ol,
ul ul,
ol ul,
ul ol {
  padding: 0;
  margin: 0;
}

ol li,
ul li {
  list-style-position: inside;
  padding: 0;
}

ul li, ol li {
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

blockquote {
  margin: 0;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 100%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a, p a {
  color: var(--active);
  display: block;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: var(--active);
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin: 0;
  overflow: auto;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  width: 100%;
  border-collapse: collapse;
}

caption {
  color: var(--black);
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin: 0;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
  vertical-align: top;
  padding: 0;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=submit] {
  outline: none;
  border: 1px solid var(--border);
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

input[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

button, input[type=submit], input[type=button] {
  border: none;
  outline: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button, select, input {
  color: var(--black);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}
button::-moz-placeholder, select::-moz-placeholder, input::-moz-placeholder {
  color: var(--black);
}
button::placeholder, select::placeholder, input::placeholder {
  color: var(--black);
}

.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1000;
}
.l-header__container {
  height: 100%;
}
.l-header__gnav {
  width: 100%;
  height: 100%;
  display: none;
}
.l-header__gnavSub {
  display: none;
}
@media screen and (min-width: 1024px) {
  .l-header {
    height: 90px;
    position: relative;
    background: url("../../assets/img/bg-header-stripe.jpg") no-repeat center center;
    background-size: cover;
  }
  .l-header__gnav {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .l-header__gnavSub {
    width: 100%;
    max-width: 1170px;
    display: block;
    padding: 0 20px;
    position: absolute;
    top: calc(100% - 6px);
    left: 50%;
    transform: translateX(-50%);
  }
}

.l-main {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .l-main {
    overflow: visible;
  }
}

.l-footer {
  position: relative;
  z-index: 100;
  width: 100%;
  padding-top: 65px;
  padding-bottom: 20px;
  background: url("../../assets/img/bg-footer-grid.jpg") repeat center center;
  background-size: 28px auto;
}
.l-footer::before {
  content: "";
  position: absolute;
  top: -26px;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 26px;
  background: url("../../assets/img/line-dots-blue.png") repeat-x center center;
  background-size: 18px auto;
}
.l-footer__container {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.l-footer__container.l-container {
  max-width: 860px;
}
.l-footer__header {
  margin: 15px auto 0;
}
.l-footer__text {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  line-height: 1.5;
  font-size: 10.5px;
  font-size: 0.65625rem;
  font-size: clamp(0.65625rem, 0.6020801233rem + 0.2311248074vw, 0.75rem);
  font-weight: 500;
  text-align: center;
  letter-spacing: 0em;
  text-indent: 0em;
  color: #fff;
}
.l-footer__text br {
  display: block;
}
.l-footer__body {
  display: flex;
  flex-direction: column-reverse;
}
.l-footer__contentTop {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.l-footer__logo {
  width: 90px;
  min-width: 90px;
}
.l-footer__navigation {
  margin: 20px auto 0;
}
.l-footer__search {
  margin: 32px auto 0;
}
.l-footer__button {
  display: none;
  max-width: 200px;
}
.l-footer__button a {
  transition: all 0.35s ease;
}
.l-footer__button a:hover {
  opacity: 0.5;
}
@media screen and (min-width: 1024px) {
  .l-footer {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .l-footer__container {
    display: block;
  }
  .l-footer__header {
    margin: 0 auto;
  }
  .l-footer__text {
    line-height: 1;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  .l-footer__text br {
    display: none;
  }
  .l-footer__body {
    flex-direction: column;
  }
  .l-footer__contentTop {
    flex-direction: row;
    margin-top: 20px;
  }
  .l-footer__navigation {
    margin: 0 0 0 auto;
  }
  .l-footer__search {
    margin: 0 0 0 auto;
  }
  .l-footer__button {
    display: block;
    margin: 0 0 0 auto;
  }
}

.l-sub-footer {
  position: relative;
  z-index: 1;
  padding: 30px 0;
  background-color: #2CAFE7;
}
.l-sub-footer--pages {
  display: block;
}
.l-sub-footer::before {
  content: "";
  position: absolute;
  top: -26px;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 26px;
  background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
  background-size: 18px auto;
}
@media screen and (min-width: 1024px) {
  .l-sub-footer {
    padding: 35px 0 25px;
  }
  .l-sub-footer--pages {
    display: none;
  }
}

.l-container {
  width: 100%;
  max-width: 640px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .l-container {
    max-width: 1240px;
    padding-left: 50px;
    padding-right: 50px;
  }
}

.c-loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: #65C8F2;
  background: linear-gradient(180deg, #0097DA 0%, #65C8F2 25%, #62C7F1 65%, #3281C0 100%);
}
.c-loading__inner {
  width: 40%;
  max-width: 280px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.c-loading__logo {
  width: 100%;
  animation-name: smooth-fadein-out;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@media screen and (min-width: 1024px) {
  .c-loading__inner {
    width: 100%;
  }
  .c-loading__logo {
    width: 280px;
  }
}

@keyframes smooth-fadein-out {
  from {
    opacity: 0.2;
  }
  to {
    opacity: 1;
  }
}
.js-loader {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.8s, visibility 0.8s;
}
.is-loaded .js-loader {
  visibility: hidden;
  opacity: 0;
}

.js-loader-progress {
  margin: auto;
  width: 100%;
  height: 2px;
  padding: 0 20%;
  margin-top: 10px;
}
.is-loaded .js-loader-progress {
  visibility: hidden;
  opacity: 0;
}

.js-loader-progress-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(to right, #ffffff 20%, #ffffff 80%);
  transition: width 0.4s;
}

.js-loader-progress-number {
  color: #ffffff;
  width: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  margin-top: 0.2em;
}
@media screen and (min-width: 681px) {
  .js-loader-progress-number {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1024px) {
  .js-loader-progress-number {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.cookie-banner {
  position: fixed;
  top: 100%;
  width: 100%;
  background-color: #E8E5E5;
  z-index: 9999;
  opacity: 0;
  display: flex;
  justify-content: flex-start;
  font-size: 1.15rem;
  padding: 0px;
  color: #000;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  line-height: 1.5;
  box-sizing: border-box;
}

.cookie-banner > p {
  margin-left: auto;
  padding: 10px 15px;
}

.cookie-banner > p a {
  color: #005ead;
  display: inline;
}

.cookie-banner > div {
  margin-right: auto;
  padding: 5px 10px;
}

.cookie-banner .accept-btn {
  color: #fff;
  display: block;
  background-color: #005EAD;
  padding: 5px 15px;
  text-decoration: none;
  border-radius: 3px;
  white-space: nowrap;
  max-width: 100px;
}

.batsu {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 5px;
}

.batsu::before, .batsu::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 20px;
  background: #333;
}

.batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .cookie-banner {
    display: table;
    height: 50px;
  }
  .cookie-banner > p {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 80%;
  }
  .cookie-banner > div {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .cookie-banner {
    /* height: 50px; */
    font-size: 2.5vw;
    padding: 15px;
    top: auto;
    bottom: 0px;
  }
  .cookie-banner > p {
    padding: 0px 0px;
  }
  .cookie-banner .accept-btn {
    margin: 5px;
  }
  .batsu {
    padding: 0px 10px;
  }
}
.c-gnav {
  margin: auto auto;
}
.c-gnav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.c-gnav__item > a {
  width: auto;
}
.c-gnav__link {
  display: block;
  transition: all 0.3s ease;
}
.c-gnav__link:hover {
  transform: scale(1.1);
}
.c-gnav__link--top-on {
  max-width: 106px;
}
.c-gnav__link--top-off {
  max-width: 94px;
}
.c-gnav__link--flow-on {
  max-width: 164px;
}
.c-gnav__link--flow-off {
  max-width: 130px;
}
.c-gnav__link--spec-on {
  max-width: 164px;
}
.c-gnav__link--spec-off {
  max-width: 128px;
}
.c-gnav__link--character-on {
  max-width: 260px;
}
.c-gnav__link--character-off {
  max-width: 207px;
}
.c-gnavSub {
  margin: auto auto;
}
.c-gnavSub__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.c-gnavSub__item > a {
  width: auto;
  transition: all 0.3s ease;
}
.c-offcanvas.is-active .c-offcanvas__hamburger {
  background-color: transparent;
}
.c-offcanvas.is-active .c-offcanvas__hamburger::before {
  margin-top: 0;
  transform: rotate(135deg);
}
.c-offcanvas.is-active .c-offcanvas__hamburger::after {
  margin-top: 0;
  transform: rotate(-135deg);
}
.c-offcanvas.is-active .c-offcanvas__body {
  top: 0;
}
.c-offcanvas__button {
  display: block;
  cursor: pointer;
  width: 85px;
  height: auto;
  position: absolute;
  right: 4px;
  top: 10px;
  z-index: 2003;
  margin: 0;
  padding: 0;
  border: none;
}
.c-offcanvas__icon {
  display: block;
  min-width: 85px;
}
.c-offcanvas__body {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 50px 20px;
  background: #223C80;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: fixed;
  top: -102dvh;
  right: 0;
  z-index: 199;
}
.c-offcanvas__overlay {
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.8);
  transition: all 0.5s ease;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 198;
}
.c-offcanvas__overlay.is-visible {
  opacity: 1;
  visibility: visible;
}
.c-offcanvas__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1180px;
  margin: var(--space-sm) auto auto;
}
.c-offcanvas__item {
  font-size: 15px;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.8291602465rem + 0.4622496148vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  list-style: none;
  padding: 0;
}
.c-offcanvas__item a {
  color: var(--white);
  display: block;
  padding: 0.8em 0;
  border-bottom: 1px solid #AAAAAA;
}
@media screen and (min-width: 681px) {
  .c-offcanvas__button {
    width: 95px;
  }
  .c-offcanvas__icon {
    min-width: 95px;
  }
  .c-offcanvas__item a {
    padding: 1em 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-offcanvas {
    display: none;
  }
}

.c-socialNavi__list {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-socialNavi__item {
  width: 40px;
  line-height: 1;
  margin: 0 10px;
}
.c-socialNavi__item a {
  transition: opacity 0.35s ease;
}
.c-socialNavi__item a:hover {
  opacity: 0.5;
}
@media screen and (min-width: 1024px) {
  .c-socialNavi__item {
    width: 34px;
    margin: 0 5px;
  }
}

.c-search {
  min-width: 230px;
  line-height: 1;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 0.5em 1em;
  border: 1px solid var(--black);
  border-radius: 3px;
  outline: 2px solid #fff;
  background-color: #fff;
}
.c-search__form {
  display: flex;
  align-items: center;
}
.c-search__form select {
  color: var(--black);
  display: block;
  width: 100%;
  min-width: 110px;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: left;
  padding: 0.4em 1em;
  border: 1px solid var(--black);
  border-radius: 3px;
  background-color: transparent;
  outline: none;
}
.c-search__form input[type=submit] {
  color: var(--white);
  font-weight: 500;
  white-space: nowrap;
  border-radius: 3px;
  padding: 0.35em 1.2em;
  margin-left: 0.8em;
  background-color: #000;
  transition: all 0.35s ease;
}
.c-search__form input[type=submit]:hover {
  opacity: 0.5;
}
.c-search__selectOuter {
  width: 100%;
  text-align: center;
  position: relative;
}
.c-search__selectOuter::after {
  pointer-events: none;
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  background: url("../../assets/img/icon-search-arrow.svg") no-repeat 0 0/cover;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
}
.c-search__selectOuter option {
  color: var(--black);
}
@media screen and (min-width: 1024px) {
  .c-search {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .c-search__form select {
    padding: 0.25em 0.5em;
  }
}

.c-buttonToTop {
  color: var(--white);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  padding: 0.8em 0;
  border: 2px solid var(--white);
  border-radius: 30px;
  background-color: transparent;
  transition: all 0.35s ease;
}
.c-buttonToTop:hover {
  color: var(--white);
  opacity: 0.5;
}
.c-buttonToTop__icon {
  display: inline-block;
  margin: 0 5px 0 0;
}
.c-buttonToTop__text {
  display: inline-block;
}
@media screen and (min-width: 681px) {
  .c-buttonToTop {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-buttonToTop {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 1em 0;
  }
}

.c-banner__list {
  width: 100%;
  max-width: 440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 auto 25px;
}
.c-banner__list:has(> .c-banner__item:nth-child(2)) {
  width: 85%;
  max-width: 380px;
}
.c-banner__item {
  width: 100%;
}
.c-banner__item > * {
  position: relative;
  z-index: 1;
  display: block;
}
.c-banner__item > *:hover img {
  opacity: 0.5;
}
.c-banner__item > *::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.c-banner__item > * img {
  position: relative;
  z-index: 2;
  transition: opacity 0.35s ease;
}
.c-banner__item iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: none;
}
@media screen and (min-width: 1024px) {
  .c-banner__list {
    width: auto;
    max-width: 940px;
    flex-direction: row;
    gap: 40px;
    margin: 0 auto 35px;
  }
  .c-banner__list:has(> .c-banner__item:nth-child(2)) {
    max-width: 880px;
  }
  .c-banner__item {
    width: calc(50% - 20px);
  }
}

.c-snav {
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  margin: 0 auto 25px;
}
.c-snav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.c-snav__item {
  width: calc(50% - 4px);
}
.c-snav__item a {
  transition: all 0.35s ease;
}
.c-snav__item a:hover {
  opacity: 0.5;
}
@media screen and (min-width: 681px) {
  .c-snav {
    padding: 0 30px;
  }
}
@media screen and (min-width: 1024px) {
  .c-snav {
    display: none;
  }
}

.c-animHeader {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  display: block;
  padding-top: 0;
  overflow: hidden;
}
.c-animHeader__content {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  max-width: 1240px;
  padding-top: 500px;
}
.c-animHeader__item {
  position: absolute;
}
.c-animHeader__item--cloud {
  width: 100%;
  max-width: 700px;
  top: 4%;
  left: 50%;
  transform: translateX(-50%);
}
.c-animHeader__item--catbal-blue {
  width: 100%;
  max-width: 63px;
  top: 45px;
  right: calc(50% + 690px);
}
.c-animHeader__item--catbal-blue > img {
  animation: moveY 6.5s steps(15) infinite alternate;
}
.c-animHeader__item--catbal-yellow {
  width: 100%;
  max-width: 63px;
  top: 160px;
  right: calc(50% + 620px);
}
.c-animHeader__item--catbal-yellow > img {
  animation: moveY 7s steps(15) infinite alternate-reverse;
}
.c-animHeader__item--catbal-green {
  width: 100%;
  max-width: 63px;
  top: 50px;
  left: calc(50% + 600px);
}
.c-animHeader__item--catbal-green > img {
  animation: moveY 6s steps(15) infinite alternate-reverse;
}
.c-animHeader__item--catbal-red {
  width: 100%;
  max-width: 63px;
  top: 180px;
  left: calc(50% + 660px);
}
.c-animHeader__item--catbal-red > img {
  animation: moveY 9s steps(15) infinite alternate;
}
@media screen and (min-width: 1024px) {
  .c-animHeader {
    top: 30px;
  }
  .c-animHeader__item--cloud {
    min-width: 1490px;
    max-width: none;
    top: 35px;
    transform: translateX(-55%);
  }
  .c-animHeader__item--cloud > * {
    animation: moveX 5s steps(8) infinite alternate;
  }
}

@keyframes moveX {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100px);
  }
}
@keyframes moveY {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100px);
  }
}
.p-keyVisual {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 12%;
  background: linear-gradient(180deg, #00AEFF 0%, #00AEFF 25%, #6DD3FF 40%, #62C7F1 73%, #095D9F 92%);
}
.p-keyVisual__container {
  position: relative;
  z-index: 2;
  padding-top: 15%;
}
.p-keyVisual__body {
  position: relative;
  display: flex;
  flex-direction: column;
}
.p-keyVisual__contentLeft {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  position: relative;
  z-index: 3;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: auto 0;
}
.p-keyVisual__lead {
  width: 106%;
  transform: translateX(-2%);
}
.p-keyVisual__balloon {
  position: absolute;
  top: -45%;
  left: 50%;
  width: 40%;
  transform: translateX(-50%);
}
.p-keyVisual__iconsWrapper {
  display: none;
}
.p-keyVisual__contentRight {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: -8%;
}
.p-keyVisual__machine {
  width: 94%;
  margin: 2% auto 0;
}
.p-keyVisual__logo {
  position: absolute;
  top: 222%;
  left: 50%;
  z-index: 3;
  width: 78%;
  transform: translateX(-52%);
}
.p-keyVisual__completeSp {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 600px;
  margin: -12% auto 0;
}
.p-keyVisual__chara {
  position: absolute;
}
.p-keyVisual__chara--kanrininsan {
  max-width: 212px;
  width: 33%;
  top: 248%;
  right: -12%;
  z-index: 3;
}
.p-keyVisual__chara--bird-left {
  width: 16%;
  max-width: 141px;
  top: 36%;
  left: 1%;
  z-index: 3;
  display: block;
}
.p-keyVisual__chara--cloud-left {
  width: 43%;
  max-width: 340px;
  top: 3%;
  left: -12%;
  z-index: 2;
}
.p-keyVisual__chara--bird-right {
  width: 10%;
  max-width: 78px;
  top: 45%;
  right: 5%;
  z-index: 3;
  display: block;
}
.p-keyVisual__chara--cloud-right {
  width: 42%;
  max-width: 740px;
  top: 2%;
  right: -7%;
  z-index: 1;
}
.p-keyVisual__background {
  position: absolute;
  top: 6%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .p-keyVisual {
    padding-bottom: 0;
    margin-bottom: -26px;
    background: linear-gradient(180deg, #00AEFF 0%, #00AEFF 25%, #6DD3FF 40%, #62C7F1 76%, #095D9F 80%);
  }
  .p-keyVisual::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-keyVisual__container {
    padding-top: 25px;
  }
  .p-keyVisual__body {
    flex-direction: row;
  }
  .p-keyVisual__contentLeft {
    position: absolute;
    width: 59.562%;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .p-keyVisual__lead {
    width: 100%;
    max-width: 679px;
    margin: 0;
    transform: none;
  }
  .p-keyVisual__balloon {
    width: 24.448%;
    max-width: 166px;
    top: 3.5%;
    right: 1%;
    left: inherit;
    transform: none;
  }
  .p-keyVisual__iconsWrapper {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 30px;
    margin: 35px 40px 0 0;
  }
  .p-keyVisual__icons {
    width: 37.544%;
    max-width: 214px;
  }
  .p-keyVisual__complete {
    width: 61.4035%;
    max-width: 350px;
  }
  .p-keyVisual__contentRight {
    width: 48.685%;
    max-width: 555px;
    margin-top: 0;
    margin-left: 51.315%;
    transform: translateX(9%);
  }
  .p-keyVisual__machine {
    width: auto;
    margin: 0;
  }
  .p-keyVisual__logo {
    position: static;
    transform: none;
    width: 81.738%;
    max-width: 555px;
    margin: -42px auto 0;
  }
  .p-keyVisual__completeSp {
    display: none;
  }
  .p-keyVisual__chara--kanrininsan {
    width: 19.883%;
    max-width: 135px;
    top: 58%;
    right: 1%;
  }
  .p-keyVisual__chara--bird-left {
    width: 12.3684%;
    top: 21%;
    left: 1%;
    display: none;
  }
  .p-keyVisual__chara--cloud-left {
    width: 29.825%;
    top: 12%;
    left: -16%;
  }
  .p-keyVisual__chara--bird-right {
    width: 6.8434%;
    top: 25%;
    right: 3%;
    display: none;
  }
  .p-keyVisual__chara--cloud-right {
    width: 64.913%;
    top: 11%;
    right: -32%;
  }
  .p-keyVisual__background {
    width: 68%;
    top: 10%;
    left: 0;
    transform: none;
  }
}

.masked-image {
  /* 画像のサイズや配置を調整 */
  width: 100%;
  height: auto;
  display: block;
  /* 初期状態のマスク位置をカスタムプロパティで設定 */
  --mask-position: -100%; /* 初期位置: 画像の左外 */
  /* mask-imageの設定 */
  /* linear-gradientの最初の色の開始位置にカスタムプロパティを使用 */
  mask-image: linear-gradient(90deg, rgb(0, 0, 0) var(--mask-position), rgb(0, 0, 0) calc(var(--mask-position) + 80%), transparent calc(var(--mask-position) + 80%));
  -webkit-mask-image: linear-gradient(90deg, rgb(0, 0, 0) var(--mask-position), rgb(0, 0, 0) calc(var(--mask-position) + 80%), transparent calc(var(--mask-position) + 80%));
}

.p-flow {
  position: relative;
  z-index: 1;
  padding-top: 55px;
  background-color: #2CAFE7;
}
.p-flow::after {
  content: "";
  display: block;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 664/149;
  background: transparent url("../../assets/img/bg-pages-bottom-sp.png") no-repeat bottom center/contain;
  margin-top: -100px;
}
.p-flow__container {
  position: relative;
  z-index: 2;
}
.p-flow__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-size: cover;
  opacity: 0.2;
}
.p-flow__header {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.p-flow__content {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 6% auto 100px;
}
.p-flow__column {
  position: relative;
  z-index: 3;
}
.p-flow__01__title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 51.334%;
  max-width: 308px;
  z-index: 5;
}
.p-flow__01__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 7.5%;
  left: 0;
  z-index: 5;
}
.p-flow__01__item_1 {
  width: 71.5%;
  max-width: 429px;
  margin: 0 auto 0 16%;
}
.p-flow__01__item_2 {
  width: 82.334%;
  max-width: 494px;
  margin: -2% auto 0;
}
.p-flow__01__item_3 {
  width: 62.5%;
  max-width: 375px;
  margin: 7% auto 0;
}
.p-flow__01__item_3__after {
  position: absolute;
  bottom: -7%;
  left: 33%;
  z-index: 2;
  width: 53.667%;
  max-width: 322px;
}
.p-flow__01__background {
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1034px;
  margin: 0;
  padding-top: 7%;
}
.p-flow__01__arrow {
  position: absolute;
  top: 92%;
  left: 50%;
  transform: translateX(-77%);
  z-index: -1;
  width: 22.5%;
  max-width: 135px;
}
.p-flow__02__title {
  position: absolute;
  top: 6.5%;
  left: 43%;
  width: 52.334%;
  max-width: 314px;
  z-index: 5;
  transform: translateX(-50%);
}
.p-flow__02__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 85.8334%;
  max-width: 515px;
  position: absolute;
  top: 15.5%;
  left: 43%;
  z-index: 5;
  transform: translateX(-50%);
}
.p-flow__02__item_1 {
  width: 80.583%;
  max-width: 415px;
  margin: 0 auto;
}
.p-flow__02__item_2 {
  width: 69.127%;
  max-width: 356px;
  margin: 6% auto 5%;
}
.p-flow__02__item_3 {
  width: 80.583%;
  max-width: 415px;
  margin: 12% auto 0;
}
.p-flow__02__item_4 {
  width: 69.127%;
  max-width: 356px;
  margin: 5% auto 5%;
}
.p-flow__02__background {
  position: relative;
  z-index: 1;
  width: 85.8334%;
  max-width: 515px;
  margin: 0 0 0 0;
  padding-top: 25%;
}
.p-flow__02__arrow {
  position: absolute;
  top: 93.5%;
  left: 50%;
  transform: translateX(-77%);
  z-index: -1;
  width: 22.5%;
  max-width: 135px;
}
.p-flow__03__title {
  position: absolute;
  top: 9%;
  left: 43%;
  width: 74.6667%;
  max-width: 448px;
  z-index: 5;
  transform: translateX(-50%);
}
.p-flow__03__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 85.8334%;
  max-width: 515px;
  position: absolute;
  top: 17%;
  left: 43%;
  z-index: 5;
  transform: translateX(-50%);
}
.p-flow__03__item_1 {
  width: 85.0485%;
  max-width: 438px;
  margin: 0 auto;
}
.p-flow__03__item_2 {
  width: 77.282%;
  max-width: 398px;
  margin: 2% auto 0;
}
.p-flow__03__item_3 {
  width: 81.1651%;
  max-width: 418px;
  margin: 3% auto 0;
  transform: none;
}
.p-flow__03__background {
  position: relative;
  z-index: 1;
  width: 85.8334%;
  max-width: 515px;
  margin: 0 0 0 0;
  padding-top: 25%;
}
.p-flow__03__arrow {
  position: absolute;
  top: 91%;
  left: 50%;
  transform: translateX(-77%);
  z-index: -1;
  width: 22.5%;
  max-width: 135px;
}
.p-flow__04__title {
  position: absolute;
  top: 4%;
  left: 43%;
  width: 74.6667%;
  max-width: 448px;
  z-index: 5;
  transform: translateX(-50%);
}
.p-flow__04__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 85.8334%;
  max-width: 515px;
  position: absolute;
  top: 8%;
  left: 43%;
  z-index: 4;
  transform: translateX(-50%);
}
.p-flow__04__item_1 {
  width: 83.107%;
  max-width: 428px;
  margin: 0 auto;
}
.p-flow__04__item_2 {
  width: 89.321%;
  max-width: 460px;
  margin: 6% auto 0;
}
.p-flow__04__item_3 {
  width: 77.67%;
  max-width: 400px;
  margin: 8% auto 0;
}
.p-flow__04__item_4 {
  width: 91.263%;
  max-width: 470px;
  margin: 8% auto 0;
  transform: none;
}
.p-flow__04__background {
  position: relative;
  z-index: 1;
  width: 85.8334%;
  max-width: 515px;
  margin: 0 0 0 0;
  padding-top: 25%;
}
.p-flow__footer {
  margin: 30px auto 0;
}
.p-flow__note {
  display: flex;
  line-height: 1.2;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  font-size: 12px;
  font-size: 0.75rem;
  font-size: clamp(0.75rem, 0.6055469954rem + 0.6163328197vw, 1rem);
  font-weight: 500;
  text-align: center;
  letter-spacing: 0;
  border-radius: 20px;
  background-color: #000;
  padding: 0.35em 1em;
  margin: 0 auto;
  transform: translateX(-10%);
}
.p-flow__note::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  margin-right: 0.4em;
  background: url("../../assets/img/icon-caution.svg") no-repeat center center;
  background-size: contain;
}
.p-flow__noteDesc {
  color: #fff;
}
.p-flow__arrowRerturn {
  position: absolute;
  top: 20%;
  right: 0;
  z-index: 2;
  width: 38.334%;
  max-width: 230px;
}
@media screen and (min-width: 681px) {
  .p-flow::after {
    aspect-ratio: 2880/535;
    background: transparent url("../../assets/img/bg-pages-bottom.png") no-repeat bottom center/contain;
  }
  .p-flow__note {
    font-size: 14px;
    font-size: 0.875rem;
    font-size: clamp(0.875rem, 0.8027734977rem + 0.3081664099vw, 1rem);
    padding: 0.35em 2.5em;
    transform: translateX(-13%);
  }
  .p-flow__note::before {
    width: 15px;
    height: 15px;
    margin-right: 0.6em;
  }
  .p-flow__footer {
    margin: 45px auto 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-flow {
    padding-top: 82px;
  }
  .p-flow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-flow__header {
    width: 61.404%;
  }
  .p-flow__content {
    margin: 18px auto 0;
  }
  .p-flow__01__title {
    top: 0;
    left: 0;
    transform: none;
    width: 18.685%;
    max-width: 213px;
  }
  .p-flow__01__list {
    flex-direction: row;
    justify-content: space-between;
    width: 86.404%;
    max-width: 985px;
    top: 22%;
    left: 4%;
    z-index: 5;
  }
  .p-flow__01__item_1 {
    width: 18.164%;
    max-width: 178px;
    margin: 0 0 0 1%;
  }
  .p-flow__01__item_2 {
    width: 60.204%;
    max-width: 590px;
    margin: 0 1% 0 0;
  }
  .p-flow__01__item_3 {
    width: 19.796%;
    max-width: 194px;
    margin: 0 0 20px 0;
  }
  .p-flow__01__item_3__after {
    position: absolute;
    bottom: inherit;
    left: inherit;
    top: 59%;
    right: -2%;
    z-index: 2;
    width: 16.939%;
    max-width: 166px;
  }
  .p-flow__01__background {
    width: 90.702%;
    margin: 0 0 0 2%;
    padding-top: 3%;
  }
  .p-flow__01__arrow {
    top: 71%;
    transform: translateX(-97%);
    width: 6.843%;
    max-width: 78px;
  }
  .p-flow__02__title {
    top: 8%;
    left: 0;
    width: 18.685%;
    max-width: 213px;
    transform: none;
  }
  .p-flow__02__list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    width: 85.965%;
    max-width: 980px;
    top: 31%;
    left: 4.3%;
    transform: none;
  }
  .p-flow__02__item_1 {
    width: 23.4694%;
    max-width: 230px;
    margin: 0 1.5% 0 1.5%;
  }
  .p-flow__02__item_2 {
    width: 21.225%;
    max-width: 208px;
    margin: 0 4% 0 0;
  }
  .p-flow__02__item_3 {
    width: 25.306%;
    max-width: 248px;
    margin: 0 1% 0 0;
  }
  .p-flow__02__item_4 {
    width: 21.225%;
    max-width: 208px;
    margin: 0 0 0 0;
  }
  .p-flow__02__background {
    width: 90.702%;
    max-width: 1034px;
    margin: 0 0 0 2%;
    padding-top: 5%;
  }
  .p-flow__02__arrow {
    top: 79%;
    left: 50%;
    transform: translateX(-97%);
    width: 6.843%;
    max-width: 78px;
  }
  .p-flow__03__title {
    top: 30px;
    left: 0;
    width: 34.036%;
    max-width: 388px;
    transform: none;
  }
  .p-flow__03__list {
    flex-direction: row;
    align-items: center;
    width: 86.404%;
    max-width: 985px;
    position: absolute;
    top: 34%;
    left: 4%;
    transform: none;
  }
  .p-flow__03__item_1 {
    width: 16.244%;
    max-width: 160px;
    margin: 0 0.5% 0 0;
  }
  .p-flow__03__item_2 {
    width: 51.168%;
    max-width: 504px;
    margin: 0 2% 0 0;
  }
  .p-flow__03__item_3 {
    width: 29.239%;
    max-width: 288px;
    margin: 0 0 0 0;
    transform: translateY(-10px);
  }
  .p-flow__03__background {
    width: 90.702%;
    max-width: 1034px;
    margin: 0 0 0 2%;
    padding-top: 5%;
  }
  .p-flow__03__arrow {
    top: 76%;
    left: 50%;
    transform: translateX(-97%);
    width: 6.843%;
    max-width: 78px;
  }
  .p-flow__04__title {
    top: 7%;
    left: 0;
    width: 40.176%;
    max-width: 458px;
    transform: none;
  }
  .p-flow__04__list {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 85.527%;
    max-width: 975px;
    top: 21%;
    left: 4%;
    transform: none;
  }
  .p-flow__04__item_1 {
    width: 29.949%;
    max-width: 292px;
    margin: 0 0 0 0;
  }
  .p-flow__04__item_2 {
    width: 21.744%;
    max-width: 212px;
    margin: 1% 0 0 0;
  }
  .p-flow__04__item_3 {
    width: 21.744%;
    max-width: 212px;
    margin: -4% 1% 0 0;
  }
  .p-flow__04__item_4 {
    width: 24.411%;
    max-width: 238px;
    margin: 0 0 0 0;
    transform: translateY(-6%);
  }
  .p-flow__04__background {
    width: 90.702%;
    max-width: 1034px;
    margin: 0 0 0 2%;
    padding-top: 5%;
  }
  .p-flow__note {
    padding: 0.35em 5em;
    transform: none;
  }
  .p-flow__note::before {
    width: 17px;
    height: 17px;
    margin-right: 0.8em;
  }
  .p-flow__arrowRerturn {
    top: 8%;
    z-index: 5;
    width: 9.299%;
    max-width: 106px;
  }
}

.p-normal {
  position: relative;
  z-index: 1;
  padding-top: 55px;
  background-color: #2CAFE7;
}
.p-normal::after {
  content: "";
  display: block;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 664/149;
  background: transparent url("../../assets/img/bg-pages-bottom-sp.png") no-repeat bottom center/contain;
  margin-top: -100px;
}
.p-normal__container {
  position: relative;
  z-index: 2;
}
.p-normal__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-size: cover;
  opacity: 0.2;
}
.p-normal__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-normal__subheading {
  width: 100%;
  max-width: 1046px;
  margin: 5% auto 0;
}
.p-normal__content {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 5% auto 100px;
}
.p-normal__column {
  position: relative;
  z-index: 3;
}
.p-normal__01__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 2.2%;
  left: 0;
  z-index: 5;
}
.p-normal__01__item_1 {
  width: 83.334%;
  max-width: 500px;
  margin: 0 auto;
}
.p-normal__01__item_2 {
  width: 65.667%;
  max-width: 394px;
  margin: 5% auto 0;
}
.p-normal__01__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 0;
}
.p-normal__02__title {
  position: absolute;
  top: 11%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: 77%;
  max-width: 462px;
}
.p-normal__02__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 0;
  width: 86.666%;
  max-width: 520px;
  position: absolute;
  top: 25%;
  left: 6.666%;
  z-index: 5;
}
.p-normal__02__item_1 {
  width: 23.846%;
  max-width: 124px;
  margin: 0 0 0 0;
}
.p-normal__02__item_2 {
  width: 23.846%;
  max-width: 124px;
  margin: 0 0 0 0;
}
.p-normal__02__item_3 {
  width: 24.231%;
  max-width: 126px;
  margin: 0 0 0 0;
}
.p-normal__02__item_4 {
  width: 27.692%;
  max-width: 144px;
  margin: 0 0 0 0;
}
.p-normal__02__item_5 {
  width: 23.846%;
  max-width: 124px;
  margin: 0 0 0 0;
}
.p-normal__02__item_6 {
  width: 23.847%;
  max-width: 124px;
  margin: 0 0 0 0;
}
.p-normal__02__item_7 {
  width: 41.538%;
  max-width: 216px;
  margin: 0 0 0 0;
}
.p-normal__02__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
.p-normal__03__title {
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: 76.334%;
  max-width: 458px;
}
.p-normal__03__subtitle {
  position: absolute;
  top: 28.5%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: 57.667%;
  max-width: 346px;
}
.p-normal__03__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1%;
  width: 87.5%;
  max-width: 525px;
  position: absolute;
  top: 39%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.p-normal__03__list > * {
  width: 32.666%;
}
.p-normal__03__item_3 {
  order: 4;
}
.p-normal__03__item_4 {
  order: 5;
}
.p-normal__03__item_5 {
  order: 3;
}
.p-normal__03__item_6 {
  order: 6;
}
.p-normal__03__background {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
@media screen and (min-width: 681px) {
  .p-normal::after {
    aspect-ratio: 2880/535;
    background: transparent url("../../assets/img/bg-pages-bottom.png") no-repeat bottom center/contain;
  }
}
@media screen and (min-width: 1024px) {
  .p-normal {
    padding-top: 82px;
  }
  .p-normal::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-normal__header {
    width: 61.404%;
  }
  .p-normal__subheading {
    width: 91.755%;
    margin: 20px auto 0;
  }
  .p-normal__content {
    margin: 18px auto 0;
  }
  .p-normal__01__list {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    width: 92.457%;
    max-width: 1054px;
    top: 7%;
    left: 3.6%;
  }
  .p-normal__01__item_1 {
    width: 77.42%;
    max-width: 816px;
    margin: 0 auto 0 0;
  }
  .p-normal__01__item_2 {
    width: 22.021%;
    max-width: 232px;
    margin: 0 0 0 0;
  }
  .p-normal__01__background {
    max-width: 1140px;
  }
  .p-normal__02__title {
    top: 26px;
    width: 42.369%;
    max-width: 483px;
  }
  .p-normal__02__list {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    width: 95.176%;
    max-width: 1085px;
    top: 30%;
    left: 2.4%;
  }
  .p-normal__02__item_1 {
    width: 12.9032%;
    max-width: 140px;
    margin: 0 0 0 0;
  }
  .p-normal__02__item_2 {
    width: 12.9032%;
    max-width: 140px;
    margin: 0 0 0 0;
  }
  .p-normal__02__item_3 {
    width: 13.1797%;
    max-width: 143px;
    margin: 0 0 0 0;
  }
  .p-normal__02__item_4 {
    width: 14.9309%;
    max-width: 162px;
    margin: 0 0 0 0;
  }
  .p-normal__02__item_5 {
    width: 12.9032%;
    max-width: 140px;
    margin: 0 0 0 0;
  }
  .p-normal__02__item_6 {
    width: 12.9033%;
    max-width: 140px;
    margin: 0 4px 0 0;
  }
  .p-normal__02__item_7 {
    width: 190908%;
    max-width: 216px;
    margin: 0 0 0 0;
  }
  .p-normal__02__background {
    max-width: 1140px;
    padding-top: 48px;
  }
  .p-normal__03__title {
    top: 26px;
    width: 42.3685%;
    max-width: 483px;
  }
  .p-normal__03__subtitle {
    top: 32%;
    width: 30.702%;
    max-width: 350px;
  }
  .p-normal__03__list {
    flex-wrap: nowrap;
    gap: 0.5%;
    width: 91.228%;
    max-width: 1040px;
    top: 48%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-normal__03__list > * {
    width: auto;
  }
  .p-normal__03__item_3 {
    order: 3;
  }
  .p-normal__03__item_4 {
    order: 4;
  }
  .p-normal__03__item_5 {
    order: 5;
  }
  .p-normal__03__item_6 {
    order: 6;
  }
  .p-normal__03__background {
    padding-top: 48px;
  }
}

.p-bonus {
  position: relative;
  z-index: 1;
  padding-top: 55px;
  background-color: #2CAFE7;
}
.p-bonus::after {
  content: "";
  display: block;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 664/149;
  background: transparent url("../../assets/img/bg-pages-bottom-sp.png") no-repeat bottom center/contain;
  margin-top: -100px;
}
.p-bonus__container {
  position: relative;
  z-index: 2;
}
.p-bonus__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-bonus__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-bonus__subheading {
  width: 90%;
  max-width: 540px;
  margin: 5% auto 0;
}
.p-bonus__content {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 5% auto 100px;
}
.p-bonus__column {
  position: relative;
  z-index: 3;
}
.p-bonus__01__list_1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 3%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-bonus__01__item_1 {
  width: 66%;
  max-width: 396px;
  margin: 0 auto 0;
}
.p-bonus__01__item_2 {
  width: 82.667%;
  max-width: 496px;
  margin: 3.5% auto 0;
}
.p-bonus__01__item_3 {
  width: 41.667%;
  max-width: 250px;
  margin: 3.5% auto 0;
}
.p-bonus__01__item_4 {
  width: 69%;
  max-width: 414px;
  margin: 3.5% auto 0;
}
.p-bonus__01__list_2 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 22%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-bonus__01__item_5 {
  width: 82.667%;
  max-width: 496px;
  margin: 0 auto 0;
}
.p-bonus__01__item_6 {
  width: 82.667%;
  max-width: 496px;
  margin: 4% auto 0;
}
.p-bonus__01__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 0;
}
.p-bonus__02__list_1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 7%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-bonus__02__item_1 {
  width: 88%;
  max-width: 528px;
  margin: 0 auto 0;
}
.p-bonus__02__item_2 {
  width: 86%;
  max-width: 516px;
  margin: 3.5% auto 0;
}
.p-bonus__02__item_3 {
  width: 45%;
  max-width: 270px;
  margin: 3.5% auto 0;
}
.p-bonus__02__item_4 {
  width: 45%;
  max-width: 270px;
  margin: 3.5% auto 0;
}
.p-bonus__02__list_2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 35%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-bonus__02__item_5 {
  width: 80%;
  max-width: 480px;
  margin: 0 auto 0;
}
.p-bonus__02__item_6 {
  width: 80%;
  max-width: 480px;
  margin: 6.5% auto 0;
}
.p-bonus__02__item_7 {
  width: 88%;
  max-width: 528px;
  margin: 6% auto 0;
}
.p-bonus__02__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
@media screen and (min-width: 681px) {
  .p-bonus::after {
    aspect-ratio: 2880/535;
    background: transparent url("../../assets/img/bg-pages-bottom.png") no-repeat bottom center/contain;
  }
}
@media screen and (min-width: 1024px) {
  .p-bonus {
    padding-top: 82px;
  }
  .p-bonus::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-bonus__header {
    width: 61.404%;
    max-width: 700px;
  }
  .p-bonus__subheading {
    width: 83.334%;
    max-width: 950px;
    margin: 20px auto 0;
  }
  .p-bonus__content {
    max-width: 1140px;
    margin: 18px auto 0;
  }
  .p-bonus__01__list_1 {
    flex-direction: row;
    justify-content: space-between;
    width: 94.035%;
    max-width: 1072px;
    top: 7%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-bonus__01__item_1 {
    width: 27.053%;
    max-width: 290px;
    margin: 0 0.3% 0 0;
  }
  .p-bonus__01__item_2 {
    width: 26.1194%;
    max-width: 280px;
    margin: 0 0.4% 0 0;
  }
  .p-bonus__01__item_3 {
    width: 16.978%;
    max-width: 182px;
    margin: 0 0.4% 0 0;
  }
  .p-bonus__01__item_4 {
    width: 28.359%;
    max-width: 304px;
    margin: 0 0 0 0;
  }
  .p-bonus__01__list_2 {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    width: 94.035%;
    max-width: 1072px;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-bonus__01__item_5 {
    width: 33.397%;
    max-width: 358px;
    margin: 0 0.5% 0 0;
  }
  .p-bonus__01__item_6 {
    width: 66.046%;
    max-width: 708px;
    margin: 0 0 0 0;
  }
  .p-bonus__01__background {
    max-width: 1140px;
  }
  .p-bonus__02__list_1 {
    flex-direction: row;
    justify-content: space-between;
    width: 94.035%;
    max-width: 1072px;
    top: 13%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-bonus__02__item_1 {
    width: 36.194%;
    max-width: 388px;
    margin: 0 0.3% 0 0;
  }
  .p-bonus__02__item_2 {
    width: 27.239%;
    max-width: 292px;
    margin: 0 0.5% 0 0;
  }
  .p-bonus__02__item_3 {
    width: 16.978%;
    max-width: 182px;
    margin: 0 0.4% 0 0;
  }
  .p-bonus__02__item_4 {
    width: 17.538%;
    max-width: 188px;
    margin: 0 0 0 0;
  }
  .p-bonus__02__list_2 {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    width: 94.035%;
    max-width: 1072px;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-bonus__02__item_5 {
    width: 32.464%;
    max-width: 348px;
    margin: 0 0 0 0;
  }
  .p-bonus__02__item_6 {
    width: 34.143%;
    max-width: 366px;
    margin: 0 0 0 0;
  }
  .p-bonus__02__item_7 {
    width: 31.531%;
    max-width: 338px;
    margin: 0 0 0 0;
  }
  .p-bonus__02__background {
    max-width: 1140px;
    padding-top: 21px;
  }
}

.p-chance {
  position: relative;
  z-index: 1;
  padding-top: 55px;
  background-color: #2CAFE7;
}
.p-chance::after {
  content: "";
  display: block;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 664/149;
  background: transparent url("../../assets/img/bg-pages-bottom-sp.png") no-repeat bottom center/contain;
  margin-top: -100px;
}
.p-chance__container {
  position: relative;
  z-index: 2;
}
.p-chance__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-chance__header {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.p-chance__subheading {
  width: 80.334%;
  max-width: 482px;
  margin: 5% auto 0;
}
.p-chance__content {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 6% auto 100px;
}
.p-chance__column {
  position: relative;
  z-index: 3;
}
.p-chance__01__title {
  position: absolute;
  top: 4%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: 76.667%;
  max-width: 460px;
}
.p-chance__01__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 19%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-chance__01__item_1 {
  width: 71%;
  max-width: 426px;
  margin: 2% auto 0;
}
.p-chance__01__item_2 {
  width: 71%;
  max-width: 426px;
  margin: 4% auto 0;
}
.p-chance__01__item_3 {
  width: 78%;
  max-width: 468px;
  margin: 5% auto 0;
}
.p-chance__01__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 0;
}
.p-chance__02__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 8%;
  left: 0;
  transform: none;
  z-index: 5;
}
.p-chance__02__item_1 {
  width: 80.667%;
  max-width: 484px;
  margin: 0 auto;
}
.p-chance__02__item_2 {
  width: 80.667%;
  max-width: 484px;
  margin: 4% auto 0;
}
.p-chance__02__item_3 {
  width: 80.667%;
  max-width: 484px;
  margin: 3% auto 0;
}
.p-chance__02__item_3__after1 {
  position: absolute;
  top: -6%;
  right: 24.5%;
  z-index: 6;
  width: 13.641%;
  max-width: 148px;
  display: none;
}
.p-chance__02__item_3__after2 {
  position: absolute;
  top: 70%;
  right: 1%;
  z-index: 6;
  width: 9.954%;
  max-width: 108px;
  display: none;
}
.p-chance__02__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
@media screen and (min-width: 681px) {
  .p-chance::after {
    aspect-ratio: 2880/535;
    background: transparent url("../../assets/img/bg-pages-bottom.png") no-repeat bottom center/contain;
  }
}
@media screen and (min-width: 1024px) {
  .p-chance {
    padding-top: 82px;
  }
  .p-chance::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-chance__header {
    width: 61.404%;
  }
  .p-chance__subheading {
    width: 87.72%;
    max-width: 1000px;
    margin: 20px auto 0;
  }
  .p-chance__content {
    margin: 18px auto 0;
  }
  .p-chance__01__title {
    top: 8%;
    width: 92.457%;
    max-width: 1054px;
  }
  .p-chance__01__list {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 92.457%;
    max-width: 1054px;
    top: 28%;
    left: 4%;
  }
  .p-chance__01__item_1 {
    width: 26.851%;
    max-width: 283px;
    margin: 0 1% 0 0;
  }
  .p-chance__01__item_2 {
    width: 26.851%;
    max-width: 283px;
    margin: 0 auto 0 0;
  }
  .p-chance__01__item_3 {
    width: 44.023%;
    max-width: 464px;
    margin: 0 0 0 0;
  }
  .p-chance__01__background {
    max-width: 1140px;
  }
  .p-chance__02__list {
    flex-direction: row;
    justify-content: space-between;
    width: 95.176%;
    max-width: 1085px;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-chance__02__item_1 {
    width: 27.097%;
    max-width: 294px;
    margin: 0 1% 0 0;
  }
  .p-chance__02__item_2 {
    width: 33.365%;
    max-width: 362px;
    margin: 0 auto 0 0;
  }
  .p-chance__02__item_3 {
    width: 37.42%;
    max-width: 406px;
    margin: 0 0 0 0;
  }
  .p-chance__02__item_3__after1 {
    display: block;
  }
  .p-chance__02__item_3__after2 {
    display: block;
  }
  .p-chance__02__background {
    max-width: 1140px;
    padding-top: 23px;
  }
}

.p-dream {
  position: relative;
  z-index: 1;
  padding-top: 55px;
}
.p-dream::after {
  content: "";
  display: block;
  background: url("../../assets/img/bg-dream-sp.jpg") no-repeat center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.p-dream__container {
  position: relative;
  z-index: 2;
}
.p-dream__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-dream__header {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.p-dream__subheading {
  width: 99.5%;
  max-width: 597px;
  margin: 5% auto 0;
}
.p-dream__content {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 5% auto 0;
  padding-bottom: 100px;
}
.p-dream__column {
  position: relative;
  z-index: 3;
}
.p-dream__01__title_1 {
  position: absolute;
  top: 2%;
  left: 50%;
  z-index: 5;
  width: 89.167%;
  max-width: 535px;
  transform: translateX(-50%);
}
.p-dream__01__list_1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 7.5%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-dream__01__item_1 {
  width: 78.334%;
  max-width: 470px;
  margin: 0 auto 0;
}
.p-dream__01__item_2 {
  width: 78.334%;
  max-width: 470px;
  margin: 6% auto 0;
}
.p-dream__01__item_3 {
  width: 78.334%;
  max-width: 470px;
  margin: 6% auto 0;
}
.p-dream__01__title_2 {
  position: absolute;
  top: 63%;
  left: 50%;
  z-index: 5;
  width: 89.167%;
  max-width: 535px;
  transform: translateX(-50%);
}
.p-dream__01__list_2 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 71.5%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-dream__01__item_4 {
  width: 80%;
  max-width: 480px;
  margin: 0 auto 0 13%;
}
.p-dream__01__item_5 {
  width: 85.667%;
  max-width: 514px;
  margin: 5% auto 0;
}
.p-dream__01__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 0;
}
.p-dream__02__title {
  position: absolute;
  top: 6%;
  left: 50%;
  z-index: 5;
  width: 83%;
  max-width: 498px;
  transform: translateX(-50%);
}
.p-dream__02__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 17%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-dream__02__item_1 {
  width: 90.334%;
  max-width: 542px;
  margin: 0 auto 0;
}
.p-dream__02__item_2 {
  width: 90.334%;
  max-width: 542px;
  margin: 6% auto 0;
}
.p-dream__02__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
.p-dream__03__title {
  position: absolute;
  top: 13%;
  left: 50%;
  z-index: 5;
  width: 88.667%;
  max-width: 532px;
  transform: translateX(-51%);
}
.p-dream__03__subtitle {
  position: absolute;
  top: 24%;
  left: 50%;
  z-index: 5;
  width: 84.667%;
  max-width: 542px;
  transform: translateX(-50%);
}
.p-dream__03__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 31%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-dream__03__item_1 {
  width: 94.667%;
  max-width: 568px;
  margin: 0 auto 0;
}
.p-dream__03__item_2 {
  width: 55.834%;
  max-width: 335px;
  margin: -1% auto 0;
}
.p-dream__03__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
@media screen and (min-width: 1024px) {
  .p-dream {
    padding-top: 82px;
    background: url("../../assets/img/bg-dream.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .p-dream::after {
    display: none;
  }
  .p-dream::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-dream__header {
    max-width: 700px;
    margin: 0 auto;
  }
  .p-dream__subheading {
    width: 97.106%;
    max-width: 1107px;
    margin: 20px auto 0;
  }
  .p-dream__content {
    margin: 18px auto 0;
  }
  .p-dream__01__title_1 {
    top: 32px;
    width: 73.86%;
    max-width: 842px;
  }
  .p-dream__01__list_1 {
    flex-direction: row;
    justify-content: space-between;
    width: 72.281%;
    max-width: 824px;
    top: 15%;
    left: 50%;
    z-index: 5;
    transform: translateX(-50%);
  }
  .p-dream__01__item_1 {
    width: 32.767%;
    max-width: 270px;
    margin: 0 0 0 0;
  }
  .p-dream__01__item_2 {
    width: 32.767%;
    max-width: 270px;
    margin: 0 0 0 0;
  }
  .p-dream__01__item_3 {
    width: 32.767%;
    max-width: 270px;
    margin: 0 0 0 0;
  }
  .p-dream__01__title_2 {
    top: 50%;
    width: 73.86%;
    max-width: 842px;
  }
  .p-dream__01__list_2 {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    width: 72.281%;
    max-width: 824px;
    top: 62%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-dream__01__item_4 {
    width: 58.001%;
    max-width: 478px;
    margin: 0 0 0 0;
  }
  .p-dream__01__item_5 {
    width: 39.564%;
    max-width: 326px;
    margin: 0 0 0 0;
  }
  .p-dream__01__background {
    max-width: 1140px;
  }
  .p-dream__02__title {
    top: 13%;
    width: 60.351%;
    max-width: 688px;
  }
  .p-dream__02__list {
    flex-direction: row;
    justify-content: space-between;
    width: 94.211%;
    max-width: 1074px;
    top: 26%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-dream__02__item_1 {
    width: 52.142%;
    max-width: 560px;
    margin: 0 0 0 0;
  }
  .p-dream__02__item_2 {
    width: 46.369%;
    max-width: 498px;
    margin: 0 0 0 0;
  }
  .p-dream__02__background {
    max-width: 1140px;
    padding-top: 28px;
  }
  .p-dream__03__title {
    top: 15%;
    width: 37.369%;
    max-width: 426px;
    transform: translateX(-50%);
  }
  .p-dream__03__subtitle {
    top: 29%;
    width: 47.543%;
  }
  .p-dream__03__list {
    width: 93.8597%;
    max-width: 1070px;
    top: 39%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-dream__03__item_1 {
    width: 100%;
    max-width: 1070px;
    margin: 0 0 0 0;
  }
  .p-dream__03__item_2 {
    width: 22.99%;
    max-width: 246px;
  }
  .p-dream__03__background {
    max-width: 1140px;
    padding-top: 28px;
  }
}

.p-jungle {
  position: relative;
  z-index: 1;
  padding-top: 55px;
}
.p-jungle::after {
  content: "";
  display: block;
  background: url("../../assets/img/bg-dream-sp.jpg") no-repeat center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.p-jungle__container {
  position: relative;
  z-index: 2;
}
.p-jungle__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-jungle__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-jungle__subheading {
  width: 100%;
  max-width: 600px;
  margin: 5% auto 0;
}
.p-jungle__content {
  position: relative;
  z-index: 1;
  max-width: 1580px;
  margin: 5% auto 0;
  padding-bottom: 100px;
}
.p-jungle__column {
  position: relative;
  z-index: 3;
}
.p-jungle__01__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 5%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-jungle__01__item_1 {
  width: 76.667%;
  max-width: 460px;
  margin: 0 auto;
}
.p-jungle__01__item_2 {
  width: 76.667%;
  max-width: 460px;
  margin: 3% auto 0;
}
.p-jungle__01__item_3 {
  width: 76.667%;
  max-width: 460px;
  margin: 3% auto 0;
}
.p-jungle__01__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 0;
}
.p-jungle__02__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 12%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-jungle__02__item_1 {
  width: 78.334%;
  max-width: 470px;
  margin: 0 auto;
}
.p-jungle__02__item_1__after {
  position: absolute;
  top: -9%;
  left: 6%;
  z-index: 2;
  width: 85.834%;
  max-width: 515px;
}
.p-jungle__02__item_2 {
  width: 85%;
  max-width: 510px;
  margin: 7% auto 0;
}
.p-jungle__02__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
.p-jungle__03__title_1 {
  position: absolute;
  top: 4%;
  left: 50%;
  z-index: 5;
  width: 83%;
  max-width: 498px;
  transform: translateX(-50%);
}
.p-jungle__03__list_1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 11%;
  left: 0;
  z-index: 5;
  transform: none;
}
.p-jungle__03__item_1 {
  position: relative;
  width: 79.667%;
  max-width: 478px;
  margin: 0 auto;
}
.p-jungle__03__item_1__after {
  position: absolute;
  top: 101%;
  left: 50%;
  z-index: 2;
  width: 14.645%;
  max-width: 70px;
  transform: translate(-50%, 0) rotate(90deg);
}
.p-jungle__03__item_2 {
  position: relative;
  width: 79.667%;
  max-width: 478px;
  margin: 10% auto 0;
}
.p-jungle__03__item_2__after {
  position: absolute;
  top: 101%;
  left: 50%;
  z-index: 2;
  width: 14.645%;
  max-width: 70px;
  transform: translate(-50%, 0) rotate(90deg);
}
.p-jungle__03__item_3 {
  width: 85.167%;
  max-width: 511px;
  margin: 10% auto 0;
}
.p-jungle__03__title_2 {
  position: absolute;
  top: 71%;
  left: 50%;
  z-index: 5;
  width: 79.667%;
  max-width: 478px;
  transform: translateX(-50%);
}
.p-jungle__03__list_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 12px 8px;
  width: 84%;
  max-width: 504px;
  position: absolute;
  top: 74%;
  left: 50%;
  z-index: 5;
  transform: translateX(-50%);
}
.p-jungle__03__item_4, .p-jungle__03__item_5, .p-jungle__03__item_6, .p-jungle__03__item_7 {
  width: calc(50% - 4px);
  margin: 0 0 0 0;
}
.p-jungle__03__item_8 {
  width: 100%;
  max-width: 504px;
  margin: 0 0 0 0;
}
.p-jungle__03__background {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 0 0 0;
  padding-top: 5%;
}
@media screen and (min-width: 1024px) {
  .p-jungle {
    padding-top: 82px;
    background: url("../../assets/img/bg-dream.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .p-jungle::after {
    display: none;
  }
  .p-jungle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-jungle__header {
    width: 61.404%;
    max-width: 700px;
  }
  .p-jungle__subheading {
    width: 82.895%;
    max-width: 945px;
    margin: 20px auto 0;
  }
  .p-jungle__content {
    margin: 18px auto 0;
  }
  .p-jungle__section--02 {
    margin-top: -60px;
  }
  .p-jungle__01__list {
    flex-direction: row;
    justify-content: space-between;
    width: 88.597%;
    max-width: 1010px;
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-jungle__01__item_1 {
    width: 34.654%;
    max-width: 350px;
    margin: 0 0 0 0;
  }
  .p-jungle__01__item_2 {
    width: 31.882%;
    max-width: 322px;
    margin: 0 0 0 0;
  }
  .p-jungle__01__item_3 {
    width: 31.882%;
    max-width: 322px;
    margin: 0 0 0 0;
  }
  .p-jungle__01__background {
    max-width: 1145px;
  }
  .p-jungle__02__list {
    flex-direction: row;
    justify-content: space-between;
    width: 91.2281%;
    max-width: 1040px;
    top: 37%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-jungle__02__item_1 {
    width: 64.4231%;
    max-width: 670px;
    margin: 0 0 0 0;
  }
  .p-jungle__02__item_1__after {
    top: -33%;
    left: -2%;
    z-index: 2;
    width: 42.5%;
    max-width: 442px;
  }
  .p-jungle__02__item_2 {
    width: 32.981%;
    max-width: 343px;
    margin: 0 0 2% 0;
  }
  .p-jungle__02__background {
    max-width: 1145px;
    padding-top: 0;
  }
  .p-jungle__03__title_1 {
    top: 11%;
    width: 59.65%;
    max-width: 680px;
  }
  .p-jungle__03__list_1 {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 93.8597%;
    max-width: 1070px;
    top: 22%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-jungle__03__item_1 {
    width: 29.72%;
    max-width: 318px;
    margin: 0 30px 0 4px;
  }
  .p-jungle__03__item_1__after {
    top: 50%;
    left: 105%;
    width: 20.755%;
    max-width: 66px;
    transform: translate(-50%, -70%);
  }
  .p-jungle__03__item_2 {
    position: relative;
    width: 29.72%;
    max-width: 318px;
    margin: 0 15px 0 0;
  }
  .p-jungle__03__item_2__after {
    top: 50%;
    left: 105%;
    width: 20.755%;
    max-width: 66px;
    transform: translate(-50%, -70%);
  }
  .p-jungle__03__item_3 {
    width: 31.6823%;
    max-width: 339px;
    margin: 0 0 0 0;
  }
  .p-jungle__03__title_2 {
    top: 65%;
    width: 42.457%;
    max-width: 484px;
  }
  .p-jungle__03__list_2 {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 90.878%;
    max-width: 1036px;
    top: 73%;
    z-index: 5;
  }
  .p-jungle__03__item_4, .p-jungle__03__item_5, .p-jungle__03__item_6, .p-jungle__03__item_7 {
    width: 18.533%;
    max-width: 192px;
    margin: 0 0 0 0;
  }
  .p-jungle__03__item_8 {
    width: 20.657%;
    max-width: 214px;
    margin: 0 0 0 0;
  }
  .p-jungle__03__background {
    max-width: 1140px;
    padding-top: 28px;
  }
}

.p-loop {
  position: relative;
  z-index: 1;
  padding-top: 55px;
}
.p-loop::after {
  content: "";
  display: block;
  background: url("../../assets/img/bg-loop-sp.jpg") no-repeat center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.p-loop__container {
  position: relative;
  z-index: 2;
}
.p-loop__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-loop__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-loop__subheading {
  width: 100%;
  max-width: 600px;
  margin: 5% auto 0;
}
.p-loop__content {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 5% auto 0;
  padding-bottom: 100px;
}
.p-loop__column {
  position: relative;
  z-index: 3;
}
.p-loop__list {
  position: absolute;
  z-index: 3;
  top: 3%;
  left: 0;
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.p-loop__item_1 {
  width: 92.5%;
  max-width: 555px;
  margin: 0 auto 0;
}
.p-loop__item_2 {
  width: 89%;
  max-width: 534px;
  margin: -2% auto 0;
}
.p-loop__item_3 {
  width: 88%;
  max-width: 528px;
  margin: 28% auto 0;
}
.p-loop__item_4 {
  position: absolute;
  top: 59%;
  left: 50%;
  width: 104%;
  max-width: 624px;
  transform: translateX(-50%);
}
.p-loop__background {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 0;
}
@media screen and (min-width: 1024px) {
  .p-loop {
    padding-top: 82px;
    background: url("../../assets/img/bg-loop.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .p-loop::after {
    display: none;
  }
  .p-loop::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-loop__header {
    width: 61.404%;
    max-width: 700px;
  }
  .p-loop__subheading {
    width: 82.9825%;
    max-width: 946px;
    margin: 20px auto 0;
  }
  .p-loop__content {
    max-width: 1140px;
    margin: 18px auto 0;
  }
  .p-loop__list {
    display: block;
    position: static;
  }
  .p-loop__list > * {
    position: absolute;
    z-index: 3;
  }
  .p-loop__item_1 {
    width: 36.141%;
    max-width: 412px;
    top: 51%;
    left: 23%;
    transform: translate(-50%, -50%);
    margin: 0 0 0 0;
  }
  .p-loop__item_2 {
    width: 40.965%;
    max-width: 467px;
    top: 33%;
    left: 75%;
    transform: translate(-50%, -50%);
    margin: 0 0 0 0;
  }
  .p-loop__item_3 {
    width: 40%;
    max-width: 446px;
    top: 45%;
    left: 47.5%;
    transform: translate(-50%, -50%);
    margin: 0 0 0 0;
  }
  .p-loop__item_4 {
    width: 51.141%;
    max-width: 583px;
    top: 79%;
    left: 69%;
    transform: translate(-50%, -50%);
    margin: 0 0 0 0;
  }
}

.p-spec {
  position: relative;
  z-index: 1;
  padding-top: 55px;
  background-color: #2CAFE7;
}
.p-spec::after {
  content: "";
  display: block;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 664/149;
  background: transparent url("../../assets/img/bg-pages-bottom-sp.png") no-repeat bottom center/contain;
  margin-top: -100px;
}
.p-spec__container {
  position: relative;
  z-index: 2;
}
.p-spec__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-spec__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-spec__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 600px;
  margin: 5% auto 0;
  padding-bottom: 100px;
}
.p-spec__section {
  width: 100%;
  height: 100%;
}
.p-spec__column {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.p-spec__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.p-spec__item_1 {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-spec__item_2 {
  width: 100%;
  max-width: 600px;
  margin: 6% auto 0;
}
.p-spec__item_3 {
  width: 100%;
  max-width: 600px;
  margin: 6% auto 0;
}
.p-spec__item_4 {
  width: 100%;
  max-width: 600px;
  margin: 6% auto 0;
}
.p-spec__background {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 0;
}
@media screen and (min-width: 681px) {
  .p-spec::after {
    aspect-ratio: 2880/535;
    background: transparent url("../../assets/img/bg-pages-bottom.png") no-repeat bottom center/contain;
  }
}
@media screen and (min-width: 1024px) {
  .p-spec {
    padding-top: 82px;
  }
  .p-spec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-spec__header {
    width: 61.404%;
    max-width: 700px;
  }
  .p-spec__content {
    max-width: 1140px;
    margin: 18px auto 0;
    max-height: 608px;
    aspect-ratio: 1140/608;
    padding-bottom: 0;
  }
  .p-spec__list {
    display: block;
  }
  .p-spec__list > * {
    position: absolute;
    z-index: 3;
  }
  .p-spec__item_1 {
    width: 29.8246%;
    max-width: 340px;
    top: 0;
    left: 0;
    margin: 0 0 0 0;
  }
  .p-spec__item_2 {
    width: 46.667%;
    max-width: 532px;
    top: 0;
    left: 31.2%;
    margin: 0 0 0 0;
  }
  .p-spec__item_3 {
    width: 46.667%;
    max-width: 532px;
    bottom: 0%;
    left: 31.2%;
    margin: 0 0 0 0;
  }
  .p-spec__item_4 {
    width: 20.6141%;
    max-width: 235px;
    top: 0;
    right: 0;
    margin: 0 0 0 0;
  }
}

.p-character {
  position: relative;
  z-index: 1;
  padding-top: 55px;
}
.p-character::after {
  content: "";
  display: block;
  background: url("../../assets/img/bg-character-sp.jpg") no-repeat center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.p-character__container {
  position: relative;
  z-index: 2;
}
.p-character__base {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.p-character__header {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.p-character__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 600px;
  margin: 10% auto 0;
  padding-bottom: 80px;
}
.p-character__section {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.p-character__column {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.p-character__list {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 8px;
  margin: 5% auto 0;
}
.p-character__list > * {
  width: calc(33.333% - 6px);
}
.p-character__list > *:first-child {
  margin-left: 14%;
}
.p-character__list > *:nth-child(2) {
  margin-right: 14%;
}
.p-character__button {
  cursor: pointer;
  display: block;
  transition: all 0.5s ease;
}
.p-character__button:hover {
  transform: scale(1.05);
}
@media screen and (min-width: 1024px) {
  .p-character {
    padding-top: 82px;
    background: url("../../assets/img/bg-character.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .p-character::after {
    display: none;
  }
  .p-character::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 26px;
    background: url("../../assets/img/line-dots-marin.png") repeat-x center center;
    background-size: 18px auto;
  }
  .p-character__header {
    width: 61.404%;
    max-width: 700px;
  }
  .p-character__content {
    max-width: 1140px;
    padding-bottom: 100px;
    margin: 18px auto 0;
  }
  .p-character__list {
    max-width: 770px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 30px;
    margin: 50px auto 0;
  }
  .p-character__list > * {
    max-width: 170px;
    width: calc(33.333% - 20px);
  }
  .p-character__list > *:first-child {
    margin-left: 0;
  }
  .p-character__list > *:nth-child(2) {
    margin-right: 0;
  }
}

#modal-video {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.85);
  transition: 0.5s;
}
#modal-video.close {
  filter: opacity(0);
  visibility: hidden;
}
#modal-video.open {
  filter: opacity(1);
  visibility: visible;
}
#modal-video iframe {
  width: 89.6vw;
  height: 50.4vw;
}
#modal-video .button-close {
  max-width: 27px;
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  outline: none;
  border: none;
  background: none;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 681px) {
  #modal-video .button-close {
    max-width: 38px;
  }
}
@media screen and (min-width: 1024px) {
  #modal-video iframe {
    width: 64vw;
    height: 36vw;
  }
  #modal-video .button-close {
    max-width: 51px;
    top: 30px;
    right: 30px;
    transition: opacity 0.35s ease;
  }
  #modal-video .button-close:hover {
    opacity: 0.5;
  }
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.modal-content {
  width: 100%;
  max-width: 540px;
  position: relative;
  z-index: 1002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  margin: auto;
  transition: all 0.8s cubic-bezier(0.33, 1, 0.68, 1);
  transform: translateY(2%);
}
.modal-content > .content {
  width: 100%;
  height: 100%;
  max-width: 500px;
  aspect-ratio: 600/1054;
  background: url("../../assets/img/bg-modal-base-sp.png") no-repeat center center;
  background-size: cover;
}
.modal-content > .content > .content-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 0 10%;
  margin: auto;
}
.modal-content > .content > .content-inner > * {
  flex: 1 1 0;
}
.modal-content > .content > .content-inner > * + * {
  width: 65%;
  max-width: 290px;
}
@media screen and (min-width: 1024px) {
  .modal-content {
    max-width: 806px;
  }
  .modal-content > .content {
    max-width: 766px;
    aspect-ratio: 766/476;
    background: url("../../assets/img/bg-modal-base.png") no-repeat center center;
    background-size: cover;
  }
  .modal-content > .content > .content-inner {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    padding: 0 8%;
  }
  .modal-content > .content > .content-inner > * + * {
    width: auto;
  }
}

.modal-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  max-width: 540px;
  height: auto;
  top: 50%;
  left: 50%;
  z-index: 1002;
  transform: translate(-50%, -35%);
  transition: all 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
@media screen and (min-width: 1024px) {
  .modal-navigation {
    max-width: 834px;
  }
}

.prev,
.next {
  max-width: 45px;
  cursor: pointer;
  position: relative;
  z-index: 1003;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  transition: all 0.35s ease;
}
.prev:hover,
.next:hover {
  opacity: 0.8;
}
@media screen and (min-width: 1024px) {
  .prev,
  .next {
    max-width: 72px;
  }
}

.close-button {
  color: #ffffff;
  display: block;
  cursor: pointer;
  line-height: 1;
  width: 100%;
  max-width: 51px;
  position: absolute;
  right: 0;
  top: -20px;
  z-index: 1005;
  transition: all 0.35s ease;
}
.close-button:hover {
  opacity: 0.8;
}

.overlay {
  cursor: pointer;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
}

.c-rollover > img.js-rollover {
  transition: opacity 0.25s ease-in-out;
}

.c-rollover:hover > img.js-rollover {
  opacity: 0;
}
