@charset "utf-8";

html {
   font-size: 10px;
   font-size: min(10px, 0.694444444vw);
}

body {
   color: #fff;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 300;
}

body::before {
   background: url(./../images/bg.webp) no-repeat top/cover;
   background-position-y: -99rem;
   content: "";
   display: block;
   height: 100vh;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   width: 100%;
}

body.noscroll {
   overflow: hidden;
}

a {
   display: block;
   transition: 0.2s;
}

a:hover {
   opacity: 0.6;
   transition: 0.2s;
}

dt {
   font-weight: normal;
}

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

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

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/*
 * font
 * -------------------------------------------------------------
 */

@font-face {
   font-family: "XAMO";
   src: url("./../font/XAMO.woff2") format("woff2"), url("./../font/XAMO.woff") format("woff"), url("./../font/XAMO.otf") format("truetype");
}

/*
 * l-contents
 * -------------------------------------------------------------
 */

.l-contents {
   opacity: 0;
   position: relative;
   transition: opacity 0.6s ease-in;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: auto;
   max-width: 123.2rem;
   padding: 0 2rem;
   position: relative;
   z-index: 1;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   margin-top: 10.6rem;
   overflow: hidden;
   position: relative;
   z-index: 1;
}

.l-main--page {
   padding-top: 7.3rem;
}

/*
 * l-page-section
 * -------------------------------------------------------------
 */

.l-page-section {
   padding: 4.4rem 0 10rem;
}

/*
 * c-contact
 * -------------------------------------------------------------
 */

.c-contact {
   align-items: center;
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   display: flex;
   flex-direction: column;
   font-family: "XAMO", sans-serif;
   height: 12.5rem;
   justify-content: center;
   position: relative;
   text-align: center;
   transition: color 0.1s;
}

.c-contact span {
   position: relative;
   z-index: 2;
}

.c-contact__text-lg {
   display: block;
   font-size: 4.5rem;
   line-height: 1;
}

.c-contact__text-sm {
   display: block;
   font-size: 2.2rem;
   line-height: 1;
   margin-top: 1rem;
}

.c-contact:hover {
   opacity: 1;
}

.c-contact:hover::before {
   transform: scaleX(1);
   transform-origin: left;
}

.c-contact::before {
   background: rgba(255, 255, 255, 0.3);
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transform: scaleX(0);
   transform-origin: right;
   transition: all 0.2s;
   transition-property: transform;
   width: 100%;
}

/*
 * c-modal
 * -------------------------------------------------------------
 */

.c-modal {
   -webkit-backdrop-filter: blur(2.4px);
   backdrop-filter: blur(2.4px);
   background-blend-mode: multiply;
   background-color: rgba(0, 0, 0, 0.5);
   display: none;
   height: 100%;
   left: 0;
   position: fixed;
   top: 0;
   width: 100%;
   z-index: 100;
}

.c-modal__contents {
   aspect-ratio: 942/642;
   border-radius: 2rem;
   left: 50%;
   max-width: 94.2rem;
   overflow: hidden;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   width: 100%;
   z-index: 200;
}

.c-modal__header {
   align-items: center;
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   display: flex;
   height: 7rem;
   justify-content: center;
}

.c-modal__header-title {
   font-family: "Urbanist", sans-serif;
   font-size: 3.3rem;
   letter-spacing: 0.31em;
   line-height: 1.8;
   text-align: center;
}

.c-modal__close {
   background: url(./../images/btn_close.webp) no-repeat center/100%;
   cursor: pointer;
   height: 2.25rem;
   position: absolute;
   right: 4.7rem;
   top: 2.3rem;
   width: 2.25rem;
}

.c-modal__body {
   background: #fff;
   margin: 0 auto;
   padding: 5.4rem 12.6rem 6.9rem;
}

.c-modal__title {
   color: #000;
   font-size: 3.5rem;
   font-weight: 600;
   letter-spacing: 0.17em;
   line-height: 1.8;
   margin: 0 auto;
   text-align: center;
   width: -moz-fit-content;
   width: fit-content;
}

.c-modal__title::after {
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   content: "";
   display: block;
   height: 1rem;
   margin-top: 0.2rem;
   width: 100%;
}

.c-modal__flex {
   align-items: center;
   display: flex;
   gap: 0 6.3rem;
   margin-top: 5.7rem;
}

.c-modal__qrcode {
   aspect-ratio: 1/1;
   background: #d9d9d9;
   max-width: 24.6rem;
   width: 100%;
}

.c-modal__qrcode img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.c-modal__desc {
   flex: 1;
}

.c-modal__text {
   color: #000;
   font-size: 2rem;
   letter-spacing: 0.01em;
   line-height: 2.2;
   text-align: justify;
}

.c-modal__text .u-pc {
   display: inline-block;
}

.c-modal__note {
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   background-clip: text;
   font-family: Urbanist;
   font-size: 3rem;
   font-weight: 600;
   letter-spacing: 0.01em;
   line-height: 2.2;
   margin-top: 2rem;
   text-align: center;
}

/* APK modal
-----------------------------------------------
----------------------------------------------- */

.c-modal--apk .c-modal__header {
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
}

.c-modal--apk .c-modal__body {
   -ms-overflow-style: none;
   height: 100%;
   margin-top: 7rem;
   overflow-y: scroll;
   padding: 2.7rem 5.2rem;
   scrollbar-width: none;
}

.c-modal--apk .c-modal__body::-webkit-scrollbar {
   display: none;
}

.c-modal--apk .c-modal__title {
   text-align: left;
   width: 100%;
}

.c-modal--apk .c-modal__title::after {
   display: none;
}

.c-modal--apk .c-modal__flex {
   gap: 0 3.1rem;
   justify-content: center;
   margin-top: 0;
   padding: 3.1rem 3.3rem 7rem 3.3rem;
}

.c-modal--apk .c-modal__img {
   max-width: 27.8rem;
   width: 100%;
}

.c-modal__dl {
   padding-bottom: 12rem;
}

.c-modal__dl-title {
   align-items: center;
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   display: flex;
   font-size: 4rem;
   font-weight: 600;
   height: 7.2rem;
   justify-content: center;
   letter-spacing: 0.17em;
   line-height: 1.8;
   text-align: center;
}

.c-modal__dl-img {
   aspect-ratio: 1/1;
   background: #ccc;
   margin: 3.1rem auto 0;
   max-width: 24.7rem;
   width: 100%;
}

.c-modal__dl-text {
   color: #000;
   font-size: 2rem;
   letter-spacing: 0.17em;
   line-height: 1.8;
   margin: 3rem auto 0;
   text-align: left;
   width: -moz-fit-content;
   width: fit-content;
}

/*
 * c-nav
 * -------------------------------------------------------------
 */

.c-nav {
   flex: 1;
}

.c-nav__items {
   display: flex;
   gap: 0 8.7rem;
   height: 100%;
   justify-content: flex-end;
}

.c-nav__link {
   color: #FFFFFF;
   font-family: "Urbanist", sans-serif;
   font-size: 1.5rem;
   font-weight: 400;
   letter-spacing: 0.4em;
   line-height: 27px;
   line-height: 1.8;
   position: relative;
   text-align: center;
   text-transform: uppercase;
}

.c-nav__link:hover {
   opacity: 1;
}

.c-nav__link::after {
   background: linear-gradient(0deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   bottom: -1px;
   content: "";
   height: 3px;
   left: 0;
   position: absolute;
   transform: scale(0, 1);
   transform-origin: left top;
   transition: transform 0.3s;
   width: 100%;
}

.c-nav__link:hover::after {
   opacity: 1;
   transform: scale(1, 1);
}

.c-nav__link::before {
   content: "";
   display: none;
   height: 3rem;
   position: relative;
   top: 0.2rem;
   width: 3rem;
}

.c-nav__link--top::before {
   background: url(./../images/nav_icon_top.webp) no-repeat center/100%;
}

.c-nav__link--concept::before {
   background: url(./../images/nav_icon_concept.webp) no-repeat center/100%;
}

.c-nav__link--system::before {
   background: url(./../images/nav_icon_system.webp) no-repeat center/100%;
}

.c-nav__link--character::before {
   background: url(./../images/nav_icon_chara.webp) no-repeat center/100%;
}

.c-nav__link--store::before {
   background: url(./../images/nav_icon_store.webp) no-repeat center/100%;
}

.c-nav__link--about::before {
   background: url(./../images/nav_icon_about.webp) no-repeat center/100%;
}

/* APKダウンロードボタンのスタイル */
.apk-download-button {
   display: block;
   max-width: 100%;
   height: auto;
   margin: 0 auto;
 }
 
 .apk-download-button img {
   width: 100%;
   max-width: 300px;
   height: auto;
   display: block;
   margin: 0 auto;
   padding-top: 20px;
 }

 @media (max-width: 768px) {
   .apk-download-button img {
     max-width: 250px;
   }
 }
 
 @media (max-width: 480px) {
   .apk-download-button img {
     max-width: 200px;
   }
 }

/*
 * c-navAbout
 * -------------------------------------------------------------
 */

.c-navAbout {
   max-width: 24rem;
   opacity: 0;
   position: fixed;
   right: 0;
   top: 10.6rem;
   transition: all 0.2s;
   visibility: hidden;
   z-index: 100;
}

.c-navAbout.is-active {
   opacity: 1;
   overflow: auto;
   transition: all 0.2s;
   visibility: visible;
}

.c-navAbout__items {
   display: flex;
   flex-direction: column;
   gap: 0.2rem 0;
   width: 100%;
}

.c-navAbout__link {
   background: rgba(255, 255, 255, 0.6);
   background-blend-mode: screen;
   color: #000;
   font-size: 1.5rem;
   letter-spacing: 0.26em;
   line-height: 1.8;
   overflow: hidden;
   padding: 1rem;
   position: relative;
   text-align: center;
   transition: 0.3s;
}

.c-navAbout__link span {
   position: relative;
   z-index: 2;
}

.c-navAbout__link::before {
   background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), linear-gradient(268.86deg, rgba(219, 0, 127, 0.5) 0%, rgba(96, 25, 128, 0.5) 100%);
   bottom: 0;
   content: "";
   left: 0;
   opacity: 0;
   position: absolute;
   right: 0;
   top: 0;
   transition: 0.3s;
   z-index: 0;
}

.c-navAbout__link:hover::before {
   opacity: 1;
}

.c-navAbout__link:hover {
   background: rgba(255, 255, 255, 0.4);
   opacity: 1;
   transition: 0.3s;
   z-index: 1;
}

/*
 * c-page-header
 * -------------------------------------------------------------
 */

.c-page-header {
   align-items: center;
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   display: flex;
   flex-direction: column;
   gap: 1.3rem 0;
   height: 15.1rem;
   justify-content: center;
}

.c-page-header__title {
   font-size: 6rem;
   font-weight: 400;
   letter-spacing: 0.31em;
   line-height: 1;
   text-align: center;
}

.c-page-header__title-eng {
   display: block;
   font-family: "XAMO", sans-serif;
   font-size: 2.8rem;
   letter-spacing: 0.31em;
   line-height: 1;
   text-align: center;
}

.c-page-header__title-eng_ltsp15 {
   letter-spacing: 0.15em;
}

.c-page-header__title-eng_ltsp7 {
   letter-spacing: 0.07em;
}

.c-page-header__title--qaEng {
   font-family: "Urbanist", sans-serif;
   font-weight: 300;
}

.c-page-header__title-ja {
   font-family: "XAMO", sans-serif;
   font-size: 2.8rem;
   letter-spacing: 0.15em;
   line-height: 1;
}

/*
 * c-page-lead
 * -------------------------------------------------------------
 */

.c-page-lead {
   padding-bottom: 9.5rem;
}

/*
 * c-page-list
 * -------------------------------------------------------------
 */

.c-page-list {
   display: flex;
   flex-direction: column;
   gap: 10.1rem 0;
}

.c-page-list--small {
   gap: 6.4rem 0;
   margin: 0 auto;
   max-width: 90rem;
}

.c-page-list__block {
   counter-reset: number 0;
}

.c-page-list__title {
   font-size: 4rem;
   font-weight: 500;
   letter-spacing: 0.13em;
   line-height: 1.8;
}

.c-page-list dd:nth-of-type(1) {
   margin-top: 2rem;
}

.c-page-list dd:not(:nth-of-type(1)) {
   margin-top: 3rem;
}

.c-page-list__counter {
   display: flex;
   padding-left: 1rem;
}

.c-page-list__counter::before {
   content: ""counter(number) ".";
   counter-increment: number 1;
   margin-right: 0.4em;
}

.c-page-list__doted {
   display: flex;
}

.c-page-list dd.c-page-list__doted:not(:nth-of-type(1)) {
   margin-top: 2.5rem;
}

.c-page-list__doted::before {
   content: "・";
}

.c-page-list--small .c-page-list__title {
   align-items: center;
   display: flex;
}

.c-page-list--small .c-page-list__title::before {
   content: "■";
   font-size: 88%;
}

.c-page-list__block a {
   -webkit-text-decoration: underline;
   display: inline-block;
   text-decoration: underline;
}

.c-page-list__block ol {
   counter-reset: number 0;
   display: flex;
   flex-direction: column;
   gap: 2.5rem 0;
   margin-bottom: 5rem;
   margin-top: 2.5rem;
   padding-left: 6rem;
}

/*
 * c-page-text
 * -------------------------------------------------------------
 */

.c-page-text {
   font-size: 2rem;
   letter-spacing: 0.02em;
   line-height: 1.8;
   text-align: justify;
}

.c-page-text--center {
   text-align: center;
}

.c-page-text a {
   -webkit-text-decoration: underline;
   display: inline-block;
   text-decoration: underline;
}

/*
 * c-pagetop
 * -------------------------------------------------------------
 */

.c-pagetop {
   filter: drop-shadow(4px 5px 16px rgba(0, 0, 0, 0.25));
   padding-right: 1.5rem;
}

.c-pagetop button {
   background: url(./../images/pagetop.webp) no-repeat center/100%;
   display: block;
   height: 12.4rem;
   margin-left: auto;
   transform: translateY(0);
   transition: transform 0.5s ease-out;
   width: 12.4rem;
}

.c-pagetop button:hover {
   animation: jump 0.5s ease forwards;
}

.c-pagetop button {
   animation: jumpReverse 0.5s ease forwards;
}

/*
 * c-section-header
 * -------------------------------------------------------------
 */

.c-section-header {
   background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
   height: 16.6rem;
   padding-top: 2.2rem;
   position: relative;
   text-align: center;
}

.c-section-header--small {
   max-width: 78.2rem;
   text-align: right;
}

.c-section-header__title {
   color: #FFFFFF;
   font-family: "Urbanist", sans-serif;
   font-size: 8.9rem;
   font-weight: 100;
   letter-spacing: 0.31em;
   line-height: 1;
   text-transform: uppercase;
}

.c-section-header__title-ja {
   display: block;
   font-family: "XAMO", sans-serif;
   font-size: 2.8rem;
   letter-spacing: 0.31em;
   line-height: 1;
   margin-top: 0.7rem;
   text-align: center;
}

/*
 * c-section-text
 * -------------------------------------------------------------
 */

.c-section-text {
   font-size: 2.5rem;
   line-height: 2;
   margin-top: 2.1rem;
   padding-left: 1rem;
   text-align: justify;
}

/*
 * u-eng
 * -------------------------------------------------------------
 */

.u-eng {
   font-family: "Urbanist", sans-serif;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
   display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
   display: none;
}

/*
 * p-app
 * -------------------------------------------------------------
 */

.p-app {
   padding: 14rem 0 7.4rem;
   position: relative;
}

.p-app::before {
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.57) 0%, rgba(0, 0, 0, 0) 88.5%);
   background-blend-mode: multiply;
   content: "";
   display: block;
   height: 100%;
   position: absolute;
   top: 0;
   width: 100%;
}

.p-app__header-title {
   font-family: "Urbanist", sans-serif;
   font-size: 4.7rem;
   letter-spacing: 0.17em;
   line-height: 1;
   text-transform: uppercase;
}

.p-app__header-title-ja {
   display: block;
   font-family: "XAMO", sans-serif;
   font-size: 2.6rem;
   letter-spacing: 0.17em;
   margin-top: 1rem;
}

.p-app__body {
   align-items: center;
   display: flex;
   gap: 0 11.4rem;
   padding: 5rem 3.15rem 0;
}

.p-app__img {
   border-radius: 4.3rem;
   max-width: 22.7rem;
   overflow: hidden;
}

.p-app__table {
   flex: 1;
}

.p-app__table-items {
   display: flex;
   flex-wrap: wrap;
   gap: 0 10.2rem;
}

.p-app__table-item {
   display: flex;
   gap: 0 4.3rem;
   width: 24.7rem;
}

.p-app__table-item:nth-child(2n-1) {
   flex: 1;
}

.p-app__table-item:nth-child(2n) {
   width: 44rem;
}

.p-app__table dt,
.p-app__table dd {
   font-size: 1.8rem;
   line-height: 2.72;
}

.p-app__table dt {
   width: 9rem;
}

.p-app__table-item:nth-child(2n-1) dt {
   width: 7.2rem;
}

.p-app__table dd {
   flex: 1;
}

/*
 * p-character
 * -------------------------------------------------------------
 */

.p-character__body {
   display: flex;
   margin: 0 auto;
   max-width: 113.4rem;
   padding: 6.6rem 2rem 8rem;
}

.p-character__main {
   margin: 0 auto;
   max-width: 70rem;
   width: 100%;
}

.p-character__main-item {
   border-radius: 2rem;
   overflow: hidden;
}

.p-character__thumb {
   height: 60rem !important;
   overflow-x: auto !important;
   padding: 0 !important;
   white-space: nowrap !important;
}

.p-character__thumb {
   -ms-overflow-style: none;
   flex: 1;
   margin: 0 calc(50% - 50vw);
   margin: 0;
   scrollbar-width: none;
   width: 100vw;
   width: auto;
}

.p-character__thumb::-webkit-scrollbar {
   display: none;
}

.p-character__thumb .swiper-wrapper {
   grid-gap: 1rem;
   display: flex;
   display: grid;
   gap: 1rem;
   grid-template-columns: repeat(2, 1fr);
   max-width: 30rem;
   transition-timing-function: ease;
   will-change: transform;
}

.p-character__thumb .p-character__thumb-item {
   cursor: pointer;
   height: 100%;
   position: relative;
   width: 100%;
}

.p-character__thumb .swiper-slide {
   position: relative;
}

/* 1 */

.p-character__thumb .swiper-slide:nth-child(1) {
   order: 1;
}

.p-character__thumb .swiper-slide:nth-child(1) .p-character__thumb-item {
   background: url(./../images/chara_thumb01.webp) no-repeat top/100%;
}

.p-character__thumb .swiper-slide:nth-child(1).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb01_cur.webp) no-repeat top/100%;
}

/* 2 */

.p-character__thumb .swiper-slide:nth-child(2) {
   order: 3;
}

.p-character__thumb .swiper-slide:nth-child(2) .p-character__thumb-item {
   background: url(./../images/chara_thumb02.webp) no-repeat top/100%;
   margin-top: -3rem;
}

.p-character__thumb .swiper-slide:nth-child(2).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb02_cur.webp) no-repeat top/100%;
}

/* 3 */

.p-character__thumb .swiper-slide:nth-child(3) {
   order: 5;
}

.p-character__thumb .swiper-slide:nth-child(3) .p-character__thumb-item {
   background: url(./../images/chara_thumb03.webp) no-repeat top/100%;
   margin-top: -6rem;
}

.p-character__thumb .swiper-slide:nth-child(3).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb03_cur.webp) no-repeat top/100%;
}

/* 4 */

.p-character__thumb .swiper-slide:nth-child(4) {
   order: 2;
}

.p-character__thumb .swiper-slide:nth-child(4) .p-character__thumb-item {
   background: url(./../images/chara_thumb04.webp) no-repeat top/100%;
   position: absolute;
   right: 0;
   top: 6rem;
}

.p-character__thumb .swiper-slide:nth-child(4).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb04_cur.webp) no-repeat top/100%;
}

/* 5 */

.p-character__thumb .swiper-slide:nth-child(5) {
   order: 4;
}

.p-character__thumb .swiper-slide:nth-child(5) .p-character__thumb-item {
   background: url(./../images/chara_thumb05.webp) no-repeat top/100%;
   position: absolute;
   right: 0;
   top: 3rem;
}

.p-character__thumb .swiper-slide:nth-child(5).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb05_cur.webp) no-repeat top/100%;
}

/* 6 */

.p-character__thumb .swiper-slide:nth-child(6) {
   order: 6;
}

.p-character__thumb .swiper-slide:nth-child(6) .p-character__thumb-item {
   background: url(./../images/chara_thumb06.webp) no-repeat top/100%;
}

.p-character__thumb .swiper-slide:nth-child(6).swiper-slide-thumb-active .p-character__thumb-item {
   background: url(./../images/chara_thumb06_cur.webp) no-repeat top/100%;
}

/*
 * p-concept
 * -------------------------------------------------------------
 */

.p-concept__inner {
   margin: 0 auto;
   max-width: 144rem;
}

.p-concept__section-header {
   position: relative;
}

.p-concept__section-header::before {
   background: #601980;
   bottom: 0;
   content: "";
   display: block;
   left: calc(60% - 50vw);
   position: absolute;
   right: 0;
   top: 0;
   width: 100%;
   z-index: -1;
}

.p-concept__section-header .c-section-header__title {
   left: 11rem;
   position: absolute;
   text-align: center;
   top: 1.7rem;
}

.p-concept__section-header .c-section-header__title-ja {
   text-align: left;
}

.p-concept__body {
   display: flex;
   gap: 0 5.6rem;
   padding: 4.4rem 5.7rem 24.3rem 8rem;
}

.p-concept__img {
   max-width: 63.2rem;
   position: relative;
   width: 100%;
}

.p-concept__img01 {
   max-width: 56rem;
}

.p-concept__img02 {
   bottom: -13.3rem;
   max-width: 35.8rem;
   position: absolute;
   right: 0;
}

.p-concept__desc {
   flex: 1;
   padding-top: 14rem;
}

.p-concept__lead {
   max-width: 62.9rem;
}

.p-concept__text {
   max-width: 58.9rem;
}

/*
 * p-contact
 * -------------------------------------------------------------
 */

.p-contact {
   padding: 7.7rem 0 11rem;
}

.p-contact__contents {
   margin: 0 auto;
   max-width: 89.7rem;
}

.p-contact__lead {
   font-family: "XAMO", sans-serif;
   font-size: 3.8rem;
   line-height: 1.35;
   text-align: center;
}

.p-contact__btn {
   margin-top: 5.5rem;
}

/*
 * p-footer
 * -------------------------------------------------------------
 */

.p-footer {
   padding: 5rem 0 4.2rem;
   position: relative;
}

.p-footer__inner {
   margin: 0 auto;
   max-width: 144rem;
   padding: 0 3rem;
}

.p-footer__copyright {
   border-bottom: 2px solid #fff;
   font-family: "fot-chiaro-std", sans-serif;
   font-size: 2.2rem;
   font-style: normal;
   font-weight: 700;
   letter-spacing: 0.09em;
   padding-bottom: 2.5rem;
   text-align: center;
}

.p-footer__nav {
   align-items: center;
   display: flex;
   gap: 0 3.8rem;
   padding: 2.2rem 9.4rem 16rem;
}

.p-footer__nav-items {
   grid-gap: 2.8rem 12.1rem;
   display: grid;
   flex: 1;
   gap: 2.8rem 12.1rem;
   grid-template-columns: repeat(3, 1fr);
}

.p-footer__nav-link {
   font-size: 1.5rem;
   letter-spacing: 0.09em;
   line-height: 1.8;
}

.p-footer__sns {
   height: 6.2rem;
   width: 5.9rem;
}

.p-footer__sns a {
   background: url(./../images/icon_x.webp) no-repeat center/100%;
   height: 100%;
   width: 100%;
}

/*
 * p-header
 * -------------------------------------------------------------
 */

.p-header {
   background: #000;
   height: 10.6rem;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   z-index: 100;
}

.p-header__inner {
   align-items: center;
   display: flex;
   height: 100%;
   justify-content: space-between;
   margin: 0 auto;
   padding: 0 10.3rem;
}

.p-header__logo {
   max-width: 17rem;
}

/*
 * p-loading
 * -------------------------------------------------------------
 */

.p-loading {
   align-items: center;
   background: #000;
   display: flex;
   flex-direction: column;
   height: 100vh;
   justify-content: center;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   transition: opacity 1.7s ease;
   width: 100%;
   z-index: 1000;
}

.p-loading__inner {
   align-items: center;
   display: flex;
   flex-direction: column;
   height: 100%;
   justify-content: center;
   opacity: 1;
   transition: opacity 1.7s ease;
   width: 100%;
}

.p-loading__text {
   display: flex;
   font-family: "Urbanist", sans-serif;
   font-size: 3.5rem;
   font-weight: 100;
   letter-spacing: 0.03em;
   margin-bottom: 4rem;
   overflow: hidden;
}

.p-loading__text span {
   animation: float-up 0.5s ease-out forwards;
   display: inline-block;
   opacity: 0;
   transform: translateY(10px);
}

.p-loading__text span:nth-child(1) {
   animation-delay: 0.2s;
}

.p-loading__text span:nth-child(2) {
   animation-delay: 0.4s;
}

.p-loading__text span:nth-child(3) {
   animation-delay: 0.6s;
}

.p-loading__text span:nth-child(4) {
   animation-delay: 0.8s;
}

.p-loading__text span:nth-child(5) {
   animation-delay: 1s;
}

.p-loading__text span:nth-child(6) {
   animation-delay: 1.2s;
}

.p-loading__text span:nth-child(7) {
   animation-delay: 1.4s;
}

.p-loading__text span:nth-child(8) {
   animation-delay: 1.6s;
}

.p-loading__spinner-box {
   align-items: center;
   background-color: transparent;
   display: flex;
   height: 16.4rem;
   justify-content: center;
   opacity: 0;
   position: relative;
   transition: opacity 1s ease;
   width: 16.4rem;
   z-index: 1;
}

.p-loading__spinner {
   animation: spin 1s linear 0s infinite;
   background: url(./../images/loading_circle.webp) no-repeat center/100%;
   height: 100%;
   position: relative;
   width: 100%;
}

.p-loading__heart {
   animation: heart 0.7s ease-in-out infinite;
   background: url(./../images/loading_heart.webp) no-repeat center/100%;
   display: block;
   height: 3.6rem;
   left: 50%;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   transform: translate(-50%, -50%) scale(0.9);
   width: 4.1rem;
}

.l-contents {
   opacity: 0;
   position: relative;
   transition: opacity 0.6s ease-in;
}

/*
 * p-mv
 * -------------------------------------------------------------
 */

.p-mv {
   aspect-ratio: 1440/1080;
   background: url(./../images/mv_img.webp) no-repeat top/cover;
   position: relative;
}

.p-mv::after {
   background: url(./../images/mv_obj.webp) no-repeat bottom/100%;
   bottom: 0;
   content: "";
   display: block;
   height: 52.3rem;
   position: absolute;
   width: 100%;
}

.p-mv__inner {
   align-items: center;
   display: flex;
   flex-direction: column;
   padding-top: 48.2rem;
   position: relative;
   z-index: 1;
}

.p-mv__logo {
   max-width: 71.3rem;
}

.p-mv__title {
   margin: -1.7rem auto 0;
   max-width: 45.9rem;
}

.p-mv__btn-block {
   display: flex;
   gap: 0 7.3rem;
   justify-content: center;
   margin-top: 3.6rem;
}

.p-mv__btn {
   height: 11.3rem;
   transition: all 0.6s;
   width: 31.6rem;
}

.p-mv__btn--apk {
   background: url(./../images/mv_btn_apk.webp) no-repeat center/100%;
}

.p-mv__btn--apk:hover {
   background: url(./../images/mv_btn_apk_hover.webp) no-repeat center/100%;
   opacity: 1;
   transform: translateY(-1.5rem);
   transition: all 0.6s;
}

.p-mv__btn--app {
   background: url(./../images/mv_btn_app.webp) no-repeat center/100%;
}

.p-mv__btn--app:hover {
   background: url(./../images/mv_btn_app_hover.webp) no-repeat center/100%;
   opacity: 1;
   transform: translateY(-1.5rem);
   transition: all 0.6s;
}

/*
 * p-qa
 * -------------------------------------------------------------
 */

.p-qa {
   padding-top: 9rem;
}

.p-qa:last-of-type {
   padding-bottom: 10rem;
}

.p-qa__section-title {
   font-size: 4rem;
   font-weight: 500;
   letter-spacing: 0.13em;
   line-height: 1.8;
}

.p-qa__items {
   display: flex;
   flex-direction: column;
   gap: 1.5rem 0;
   margin-top: 2.7rem;
}

.p-qa__item {
   filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.25));
}

.p-qa__title {
   align-items: center;
   background: #3C3F58;
   cursor: pointer;
   display: flex;
   gap: 0 4.5rem;
   padding: 1.9rem 4.4rem;
   transition: 0.2s all;
}

.p-qa__title:hover {
   background: #6f718a;
}

.p-qa__title.hover-active {
   background: #6f718a;
}

.p-qa__eng {
   display: flex;
   font-family: "Urbanist", sans-serif;
   font-size: 2.8rem;
   letter-spacing: 0.09em;
   line-height: 1.8;
   width: 3rem;
}

.p-qa__eng::after {
   content: ".";
   display: inline-block;
}

.p-qa__title-title {
   font-size: 2.3rem;
   font-weight: 400;
   letter-spacing: 0.09em;
   line-height: 1.8;
}

.p-qa__btn {
   background: url(./../images/qa_btn.webp) no-repeat center/100%;
   cursor: pointer;
   height: 2.645rem;
   margin-left: auto;
   transition: all 0.2s;
   width: 4.7rem;
}

.p-qa__btn.is-active {
   transform: rotate(180deg);
   transition: all 0.2s;
}

.p-qa__content {
   background: #3C3F58;
   display: none;
   padding: 0 4.8rem 0 4.4rem;
}

.p-qa__content-inner {
   display: flex;
   gap: 0 4.5rem;
   padding: 1.5rem 0 2rem;
}

.p-qa__text {
   flex: 1;
   font-size: 2.3rem;
   letter-spacing: 0.09em;
   line-height: 1.8;
   padding-top: 0.5rem;
}

/*
 * p-system
 * -------------------------------------------------------------
 */

.p-system__inner {
   margin: 0 auto;
   max-width: 144rem;
}

.p-system__section-header {
   margin-left: auto;
   position: relative;
}

.p-system__section-header::after {
   background: #DB007F;
   bottom: 0;
   content: "";
   display: block;
   left: 0;
   position: absolute;
   right: calc(50% - 50vw);
   top: 0;
   z-index: -1;
}

.p-system__section-header .c-section-header__title {
   position: absolute;
   right: 8.4rem;
   top: 1.7rem;
}

.p-system__section-header .c-section-header__title-ja {
   padding-right: 1.6rem;
   text-align: right;
}

.p-system__body {
   align-items: center;
   display: flex;
   justify-content: flex-start;
   padding: 4.4rem 12.1rem 28rem 14.7rem;
   position: relative;
}

.p-system__desc {
   padding-top: 16.8rem;
   width: -moz-fit-content;
   width: fit-content;
}

.p-system__lead {
   max-width: 74rem;
}

.p-system__text {
   max-width: 57.4rem;
}

.p-system__img {
   max-width: 50rem;
   position: absolute;
   right: 12.3rem;
   top: 4.8rem;
   width: 100%;
}

/*
 * p-terms
 * -------------------------------------------------------------
 */

.p-terms__text-right {
   display: block;
   margin-top: 5rem;
   text-align: right;
}

.p-terms__text {
   margin-top: 5rem;
}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}

@media screen and (max-width: 1024px) {

   .c-nav__items {
      gap: 0 6rem;
   }

   .c-nav__link {
      font-size: 1.8rem;
   }

   .p-header__logo {
      max-width: 20rem;
   }

}

@media screen and (max-width: 767px) {

   html {
      font-size: 2.666666666vw;
   }

   body::before {
      background-position-y: inherit;
   }

   .l-main {
      margin-top: 3.6rem;
   }

   .l-main--page {
      padding-top: 2.2rem;
   }

   .l-page-section {
      padding: 2.2rem 0 3.8rem;
   }

   .c-contact {
      height: 3.9rem;
   }

   .c-contact__text-lg {
      font-size: 1.4rem;
   }

   .c-contact__text-sm {
      font-size: 0.7rem;
      margin-top: 0.5rem;
   }

   .c-modal__contents {
      border-radius: 1rem;
      max-width: 27.8rem;
   }

   .c-modal__header {
      height: 3.6rem;
   }

   .c-modal__header-title {
      font-size: 1.5rem;
   }

   .c-modal__close {
      height: 0.8rem;
      right: 1.4rem;
      top: 1.4rem;
      width: 0.8rem;
   }

   .c-modal__body {
      padding: 1rem 1.5rem 2.2rem;
   }

   .c-modal__title {
      font-size: 1.2rem;
   }

   .c-modal__title::after {
      height: 0.5rem;
      margin-top: 0.1rem;
   }

   .c-modal__flex {
      gap: 0 1rem;
      margin-top: 2rem;
   }

   .c-modal__qrcode {
      max-width: 10rem;
   }

   .c-modal__text {
      font-size: 1rem;
      line-height: 1.44;
      word-break: break-all;
   }

   .c-modal__text .u-pc {
      display: none;
   }

   .c-modal__note {
      font-size: 1.1rem;
      margin-top: 1rem;
   }

   .c-modal--apk .c-modal__contents {
      aspect-ratio: 278/385;
   }

   .c-modal--apk .c-modal__body {
      margin-top: 3.6rem;
      padding: 1rem 1.5rem;
   }

   .c-modal--apk .c-modal__flex {
      gap: 0 1rem;
      padding: 1.1rem 1.2rem 2.2rem 1.2rem;
   }

   .c-modal--apk .c-modal__img {
      max-width: 9.9rem;
   }

   .c-modal__dl {
      padding-bottom: 5rem;
   }

   .c-modal__dl-title {
      font-size: 1.5rem;
      height: 2.7rem;
   }

   .c-modal__dl-img {
      margin-top: 1.5rem;
      max-width: 11rem;
   }

   .c-modal__dl-text {
      font-size: 1rem;
      line-height: 1.44;
      margin-top: 1.5rem;
   }

   .c-nav {
      background: linear-gradient(268.86deg, #DB007F 0%, #601980 100%);
      bottom: 0;
      /* height: 5.3rem; */
      height: 7.3rem;
      left: 0;
      position: fixed;
      right: 0;
      width: 100%;
      z-index: 100;
   }

   .c-nav__items {
      gap: 0;
      justify-content: initial;
   }

   .c-nav__item {
      align-items: center;
      display: flex;
      flex-direction: column;
      width: 7.5rem;
   }

   .c-nav__link {
      align-items: center;
      display: flex;
      flex-direction: column;
      font-size: 0.8rem;
      height: 100%;
      /* padding: 0.3rem 0 0 0; */
      padding: 0.6rem 0 0 0;
      width: 100%;
   }

   .c-nav__link:hover {
      background: rgba(255, 255, 255, 0.1);
   }

   .c-nav__link::after {
      display: none;
   }

   .c-nav__link:hover::after {
      transform: scale(1);
   }

   .c-nav__link::before {
      display: block;
   }

   .c-navAbout {
      /* bottom: 5.3rem; */
      bottom: 7.3rem;
      max-width: 15rem;
      right: 0;
      top: auto;
      top: initial;
   }

   .c-navAbout__items {
      gap: 0.1rem 0;
   }

   .c-navAbout__link {
      background: #fff;
      font-size: 0.9rem;
      letter-spacing: 0.16em;
      line-height: 1.8;
      padding: 0.7rem;
   }

   .c-page-header {
      gap: 0.6rem 0;
      height: 4.5rem;
   }

   .c-page-header__title {
      font-size: 2rem;
   }

   .c-page-header__title-eng {
      font-size: 0.8rem;
   }

   .c-page-header__title-ja {
      font-size: 0.8rem;
   }

   .c-page-lead {
      padding-bottom: 2.8rem;
   }

   .c-page-list {
      gap: 3rem 0;
   }

   .c-page-list--small {
      gap: 3rem 0;
      max-width: 26.5rem;
   }

   .c-page-list__title {
      font-size: 1.3rem;
   }

   .c-page-list dd:nth-of-type(1) {
      margin-top: 0.4rem;
   }

   .c-page-list dd:not(:nth-of-type(1)) {
      margin-top: 0.6rem;
   }

   .c-page-list__counter {
      padding-left: 0.4rem;
   }

   .c-page-list__counter::before {
      margin-right: 0.2rem;
   }

   .c-page-list dd.c-page-list__doted:not(:nth-of-type(1)) {
      margin-top: 1rem;
   }

   .c-page-list__block ol {
      padding-left: 2rem;
		gap: 0.4rem 0;
		margin-bottom: 2rem;
		margin-top: 1.5rem;
   }

   .c-page-text {
      font-size: 0.7rem;
   }

   .c-pagetop {
      display: none;
   }

   .c-section-header {
      height: 4.5rem;
      padding: 0.6rem 3rem 0.6rem;
   }

   .c-section-header--small {
      max-width: 20.7rem;
   }

   .c-section-header__title {
      font-family: "Urbanist", sans-serif;
      font-size: 2.3rem;
      font-weight: 500;
   }

   .c-section-header__title-ja {
      font-size: 0.8rem;
      margin-top: 0.2rem;
   }

   .c-section-text {
      font-size: 0.7rem;
   }

   .u-pc {
      display: none;
   }

   .u-sp {
      display: block;
   }

   .p-app {
      padding: 3.4rem 0 3.8rem;
   }

   .p-app__header-title {
      font-size: 1.8rem;
   }

   .p-app__header-title-ja {
      font-size: 1rem;
      margin-top: 0.1rem;
   }

   .p-app__body {
      gap: 0 1.8rem;
      padding: 2rem 0 0 0.75rem;
   }

   _::-webkit-full-page-media,
   _:future,
   :root .p-app__body {
      gap: 0 1.5rem;
   }

   .p-app__img {
      border-radius: 1.4rem;
      max-width: 8.6rem;
   }

   .p-app__table-items {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 0;
   }

   .p-app__table-item {
      gap: 0 1.4rem;
      width: 100%;
   }

   _::-webkit-full-page-media,
   _:future,
   :root .p-app__table-item {
      gap: 0 0.8rem;
   }

   .p-app__table-item:nth-child(2n) {
      width: 100%;
   }

   .p-app__table dt,
   .p-app__table dd {
      font-size: 0.9rem;
      line-height: 1.64;
   }

   .p-app__table dt {
      width: 5.9rem;
   }

   _::-webkit-full-page-media,
   _:future,
   :root .p-app__table dt {
      width: 5rem;
   }

   .p-app__table-item:nth-child(2n-1) dt {
      width: 5.9rem;
   }

   _::-webkit-full-page-media,
   _:future,
   :root .p-app__table-item:nth-child(2n-1) dt {
      width: 5rem;
   }

   .p-character__body {
      display: block;
      padding: 2rem 0 3.8rem;
   }

   .p-character__main {
      overflow: visible !important;
      overflow: initial !important;
   }

   .p-character__main {
      max-width: 30.1rem;
   }

   .p-character__main-item {
      border-radius: 1rem;
      overflow: visible;
      overflow: initial;
   }

   .p-character__main-item:nth-child(1) {
      box-shadow: 6px 6px 8px 0px rgba(0, 0, 0, 0.4);
   }

   .p-character__thumb {
      height: auto !important;
      padding: 2.5rem 0 0 2.8rem !important;
   }

   .p-character__thumb {
      flex: auto;
      margin: 0 calc(50% - 50vw);
      width: 100vw;
   }

   .p-character__thumb .swiper-wrapper {
      display: flex;
      gap: 0;
   }

   .p-character__thumb .p-character__thumb-item {
      height: 9rem;
      width: 8.6rem;
   }

   .p-character__thumb .swiper-slide {
      width: auto;
   }

   .p-character__thumb .swiper-slide:nth-child(2) {
      order: 2;
   }

   .p-character__thumb .swiper-slide:nth-child(2) .p-character__thumb-item {
      margin-top: 0;
   }

   .p-character__thumb .swiper-slide:nth-child(3) {
      order: 3;
   }

   .p-character__thumb .swiper-slide:nth-child(3) .p-character__thumb-item {
      margin-top: 0;
   }

   .p-character__thumb .swiper-slide:nth-child(4) {
      order: 4;
   }

   .p-character__thumb .swiper-slide:nth-child(4) .p-character__thumb-item {
      position: static;
   }

   .p-character__thumb .swiper-slide:nth-child(5) {
      order: 5;
   }

   .p-character__thumb .swiper-slide:nth-child(5) .p-character__thumb-item {
      position: static;
   }

   .p-concept__section-header .c-section-header__title {
      position: static;
   }

   .p-concept__body {
      gap: 0 2.2rem;
      padding: 1.2rem 0.4rem 3.8rem 2.8rem;
   }

   .p-concept__img {
      max-width: 15.2rem;
   }

   .p-concept__img01 {
      max-width: 12.2rem;
   }

   .p-concept__img02 {
      bottom: -1.8rem;
      max-width: 8.6rem;
   }

   .p-concept__desc {
      padding-top: 1.4rem;
   }

   .p-concept__lead {
      max-width: 17.1rem;
   }

   .p-concept__text {
      margin-top: 0.5rem;
      max-width: 16rem;
      padding-left: 0.3rem;
   }

   .p-contact {
      padding: 2rem 0 2.2rem;
   }

   .p-contact__contents {
      max-width: 25.2rem;
   }

   .p-contact__lead {
      font-size: 1rem;
   }

   .p-contact__btn {
      margin-top: 1.5rem;
   }

   .p-footer {
      /* padding: 1.1rem 0 5rem; */
      padding: 1.1rem 0 7rem;
   }

   .p-footer__inner {
      padding: 0 1rem;
   }

   .p-footer__copyright {
      border-width: 1px;
      font-size: 1rem;
      padding-bottom: 1.3rem;
   }

   .p-footer__nav {
      gap: 0 1rem;
      padding: 0.6rem 0.8rem 1.3rem;
   }

   .p-footer__nav-items {
      gap: 0.3rem 2.1rem;
   }

   .p-footer__nav-link {
      font-size: 0.7rem;
   }

   .p-footer__sns {
      height: 2.05rem;
      width: 1.9rem;
   }

   .p-header {
      height: 3.6rem;
   }

   .p-header__inner {
      height: 100%;
      justify-content: center;
      padding: 0 2rem;
   }

   .p-header__logo {
      margin: 0 auto;
      max-width: 8.1rem;
   }

   .p-loading__text {
      font-size: 1.85rem;
      margin-bottom: 2.2rem;
   }

   .p-loading__spinner-box {
      height: 7.9rem;
      width: 7.9rem;
   }

   .p-loading__heart {
      height: 1.7rem;
      width: 2rem;
   }

   .p-mv {
      aspect-ratio: 375/372;
      background: url(./../images/mv_img_sp.webp) no-repeat top/cover;
   }

   .p-mv::after {
      background: url(./../images/mv_obj_sp.webp) no-repeat bottom/100%;
      height: 17rem;
   }

   .p-mv__inner {
      padding-top: 15.4rem;
   }

   .p-mv__logo {
      max-width: 27.1rem;
   }

   .p-mv__title {
      margin-top: -0.5rem;
      max-width: 14.9rem;
   }

   .p-mv__btn-block {
      gap: 0 1.2rem;
      margin-top: 1rem;
   }

   .p-mv__btn {
      height: 3.7rem;
      width: 10.4rem;
   }

   .p-mv__btn--apk:hover {
      transform: none;
   }

   .p-mv__btn--app:hover {
      transform: none;
   }

   .p-qa {
      padding-top: 2.5rem;
   }

   .p-qa:last-of-type {
      padding-bottom: 3.8rem;
   }

   .p-qa__section-title {
      font-size: 1.3rem;
   }

   .p-qa__items {
      gap: 0.8rem 0;
      margin-top: 0.7rem;
   }

   .p-qa__title {
      gap: 0 1.2rem;
      padding: 0.3rem 1.5rem;
   }

   .p-qa__eng {
      font-size: 1.3rem;
      width: 1.3rem;
   }

   .p-qa__title-title {
      font-size: 1rem;
   }

   .p-qa__btn {
      height: 1rem;
      width: 1.6rem;
   }

   .p-qa__content {
      padding: 0 1.5rem;
   }

   .p-qa__content-inner {
      gap: 0 1.2rem;
      padding: 0.5rem 2rem 1rem;
   }

   .p-qa__text {
      font-family: Urbanist;
      font-size: 0.9rem;
      padding-top: 0.3rem;
   }

   .p-system__section-header .c-section-header__title {
      position: relative;
      right: -0.5rem;
      top: -0.1rem;
   }

   .p-system__section-header .c-section-header__title-ja {
      padding-right: 0.4rem;
   }

   .p-system__body {
      padding: 0.2rem 2.8rem 7.7rem 3.5rem;
   }

   .p-system__desc {
      padding-top: 3.3rem;
   }

   .p-system__lead {
      max-width: 20.1rem;
   }

   .p-system__text {
      margin-top: 0.7rem;
      max-width: 15.6rem;
      padding-left: 0.4rem;
   }

   .p-system__img {
      max-width: 11.3rem;
      right: 2.8rem;
      top: 0.9rem;
   }

   .p-terms__text-right {
      margin-top: 1rem;
   }

   .p-terms__text {
      margin-top: 1rem;
   }

}

@keyframes jump {

   0% {
      transform: translateY(0);
   }

   30% {
      transform: translateY(-35px);
   }

   60% {
      transform: translateY(-20px);
   }

   70% {
      transform: translateY(-27px);
   }

   100% {
      transform: translateY(-30px);
   }

}

@keyframes jumpReverse {

   0% {
      transform: translateY(-35px);
   }

   30% {
      transform: translateY(0);
   }

   60% {
      transform: translateY(-12px);
   }

   70% {
      transform: translateY(-5px);
   }

   100% {
      transform: translateY(0);
   }

}

@keyframes float-up {

   to {
      opacity: 1;
      transform: translateY(0);
   }

}

@keyframes spin {

   from {
      transform: rotate(0);
   }

   to {
      transform: rotate(359deg);
   }

}

@keyframes spin3D {

   from {
      transform: rotate3d(0.5, 0.5, 0.5, 360deg);
   }

   to {
      transform: rotate3d(0deg);
   }

}

@keyframes heart {

   0%,
   100% {
      transform: translate(-50%, -50%) scale(0.9);
   }

   50% {
      transform: translate(-50%, -50%) scale(1.2);
   }

}


/*# sourceMappingURL=style.css.map */
