@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..700&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  -webkit-text-size-adjust: 100%; /* 2 */
  font-size: 62.5%;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

p {
  margin: unset;
}

ul {
  padding-left: unset;
  margin: unset;
}

li {
  list-style: none;
}

h1 {
  margin: unset;
}

h2 {
  margin: unset;
}

h3 {
  margin: unset;
}

h4 {
  margin: unset;
}

h5 {
  margin: unset;
}

h6 {
  margin: unset;
}

html, body {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  font-weight: 400;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
}

.l-inner {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (min-width: 0) and (max-width: 767px) {
  html {
    overflow-x: hidden;
  }
}
.is-pc-only {
  display: block;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .is-pc-only {
    display: none;
  }
}

.is-sp-only {
  display: none;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .is-sp-only {
    display: block;
  }
}

.bnrWrapper__sns_wrap ul {
  font-size: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.bnrWrapper__sns_wrap ul a {
  display: block;
  width: 100%;
}

.bnrWrapper__sns_wrap li {
  display: inline-block;
  width: 44px;
  height: 45px;
  border-top: solid 1px #fff;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns_wrap li {
    margin-left: 0;
    margin-right: 0;
    width: 41px;
    height: auto;
    border-top: none;
    border-left: solid 1px #fff;
  }
}
.bnrWrapper__sns_wrap li img {
  width: 100%;
  height: auto;
}

.bnrWrapper__sns {
  margin: 0 auto 60px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns {
    margin: 0 0 0 0;
    text-align: center;
    position: relative;
  }
}
.bnrWrapper__sns h3 {
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns h3 {
    display: none;
  }
}
.bnrWrapper__sns ul {
  font-size: 0;
}

.bnrWrapper__sns li {
  display: inline-block;
  width: 80px;
  height: auto;
  margin: 0 20px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns li {
    margin: 0 10px 20px;
    width: 40px;
  }
}
.bnrWrapper__sns li a {
  display: block;
  width: 80px;
  height: 80px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns li a {
    display: block;
    width: 40px;
    height: 40px;
  }
}
.bnrWrapper__sns li img {
  width: 100%;
  height: auto;
}

.footer__onlineWrap {
  padding: 80px 0;
  background: #ffde00;
}

@media screen and (max-width: 768px) {
  .footer__onlineWrap {
    display: none;
  }
}
.footer__onlineWrap a {
  position: relative;
  display: block;
  width: 486px;
  height: 87px;
  margin: 0 auto;
}

.footer__onlineWrap a .icon__online {
  position: absolute;
  right: -90px;
  top: -50px;
}

.footer__onlineWrap a .icon__online:hover {
  opacity: 1;
}

.footer {
  position: relative;
  padding: 110px 0 30px;
  text-align: center;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 50px 0 50px 30px;
    text-align: left;
  }
}
@media screen and (max-width: 576px) {
  .footer {
    padding: 40px 0 80px;
  }
}
.footer__logo {
  width: 130px;
  height: auto;
  text-align: center;
  margin: 0 auto 25px;
}

@media screen and (max-width: 768px) {
  .footer__logo {
    width: 50px;
    margin-left: auto;
    margin: 20px auto;
    display: block;
  }
}
.footer__copy {
  text-align: center;
  font-size: 1.4rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .footer__copy {
    text-align: center;
    bottom: 60px;
  }
}
.footer .icon_kong {
  display: none;
}

@media screen and (max-width: 768px) {
  .footer .icon_kong {
    display: block;
    width: 40px;
    position: absolute;
    position: absolute;
    top: -10px;
    right: 10%;
  }
}
.bnrWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: fixed;
  width: 44px;
  height: 110vh;
  top: 0;
  right: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 44px;
  letter-spacing: 5px;
  text-align: center;
  z-index: 100;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.bnrWrapper.active {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 768px) {
  .bnrWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 100%;
    height: 40px;
    top: auto;
    right: 0;
    bottom: 0;
    line-height: 40px;
    letter-spacing: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    background: #fff;
  }
  .bnrWrapper.hide {
    -webkit-transform: translateY(45px);
            transform: translateY(45px);
  }
}
@media (orientation: landscape) and (max-width: 768px) {
  .bnrWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    width: 100%;
    height: 40px;
    top: auto;
    right: 0;
    bottom: 0;
    line-height: 40px;
  }
}
.bnrWrapper__info {
  position: relative;
  display: block;
  width: 44px;
  height: 154px;
  background: #faf3df;
  color: #000;
  font-weight: bold;
  text-align: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  font-size: 1.6rem;
}
.bnrWrapper__info + .bnrWrapper__info {
  margin-top: 30px;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .bnrWrapper__info + .bnrWrapper__info {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .bnrWrapper__info {
    display: block;
    width: 50%;
    height: 46px;
    padding: 0 5px;
    font-size: 1.2rem;
    border-top: none;
    border-left: solid 1px #fff;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media screen and (max-width: 370px) {
  .bnrWrapper__info {
    font-size: 1rem;
  }
}
.bnrWrapper__info:hover {
  opacity: 0.8;
}

.bnrWrapper__info .txt_btn {
  display: block;
}

.bnrWrapper__info .txt_btn_ie {
  display: none;
}

.bnrWrapper .onlineshopBtn {
  height: 250px;
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .bnrWrapper .onlineshopBtn {
    border-top: none;
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
}
/* sns */
.bnrWrapper__sns_wrap ul {
  font-size: 0;
  display: none;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .bnrWrapper__sns_wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.bnrWrapper__sns_wrap ul a {
  display: block;
  width: 100%;
}

.bnrWrapper__sns_wrap li {
  display: inline-block;
  width: 44px;
  height: 45px;
  border-top: solid 1px #fff;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns_wrap li {
    margin-left: 0;
    margin-right: 0;
    width: 46px;
    height: auto;
    border-top: none;
    border-left: solid 1px #fff;
  }
}
.bnrWrapper__sns_wrap li img {
  width: 100%;
  height: auto;
}

.bnrWrapper__sns {
  margin: 0 auto 60px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns {
    margin: 0 0 0 0;
    text-align: center;
    position: relative;
  }
}
.bnrWrapper__sns h3 {
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns h3 {
    display: none;
  }
}
.bnrWrapper__sns ul {
  font-size: 0;
}

.bnrWrapper__sns li {
  display: inline-block;
  width: 80px;
  height: auto;
  margin: 0 20px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns li {
    margin: 0 10px 20px;
    width: 40px;
  }
}
.bnrWrapper__sns li a {
  display: block;
  width: 80px;
  height: 80px;
}

@media screen and (max-width: 768px) {
  .bnrWrapper__sns li a {
    display: block;
    width: 40px;
    height: 40px;
  }
}
.bnrWrapper__sns li img {
  width: 100%;
  height: auto;
}

.c-btn {
  text-align: center;
}
.c-btn__item {
  font-size: 1.875vw;
  color: #000;
  font-weight: 600;
  text-align: center;
  display: inline-block;
  background-color: #efeda8;
  padding: 0.75vw 1.875vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-btn__item {
    font-size: 3.8666666667vw;
    padding: 1.6vw 4.2666666667vw;
  }
}
.c-btn__item:hover {
  background: #000;
  color: #fff;
}

.c-ttl {
  font-weight: 700;
}
.c-ttl-sub {
  font-size: clamp(1.4rem, 1.38vw, 2rem);
  display: block;
  margin-bottom: clamp(10px, 1.38vw, 20px);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl-sub {
    font-size: 1.4rem;
  }
}
.c-ttl-main {
  font-size: clamp(2.5rem, 3.47vw, 5rem);
  display: block;
  font-weight: 600;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl-main {
    font-size: 2.6rem;
  }
}
.c-ttl__column {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  letter-spacing: 0.25em;
  padding-right: clamp(32px, 4vw, 64px);
  padding-left: clamp(80px, 11vw, 160px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  white-space: nowrap;
}
.c-ttl__column--space {
  letter-spacing: 0.25em;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl__column--space {
    letter-spacing: 0.13em;
  }
}
.c-ttl__column--line-height {
  padding-left: clamp(55px, 7.6vw, 110px);
  line-height: 1.5;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl__column {
    margin: 0 auto;
    padding: unset;
  }
}
.c-ttl__column span {
  display: block;
}
.c-ttl__column span:first-of-type {
  font-size: clamp(1.2rem, 1.1vw, 1.6rem);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl__column span:first-of-type {
    font-size: 1.4rem;
  }
}
.c-ttl__column span:last-of-type {
  font-size: clamp(2rem, 2.8vw, 4rem);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl__column span:last-of-type {
    font-size: 3rem;
    line-height: 1.3;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .c-ttl__column span + span {
    margin-right: 10px;
  }
}

.js-animation-item {
  will-change: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 0;
}

@supports (-webkit-touch-callout: none) {
  .p-concept__text-item.js-animation-item:not(.animation-started) {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0) scale(0.95);
    transform: translate3d(0, 50px, 0) scale(0.95);
    visibility: visible;
  }
}
.js-animation-item[data-animation=marker-underline] {
  opacity: 1 !important;
  --underline-width: 0%;
}

@supports (-webkit-appearance: none) {
  .js-animation-item {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform-style: flat;
            transform-style: flat;
  }
}
@supports (-webkit-touch-callout: none) {
  .js-animation-item {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
  }
  .js-animation-item:not(.animation-started):not(.gsap-animating) {
    opacity: 0;
  }
  .js-animation-item[data-animation=fade-up]:not(.animation-started):not(.gsap-animating) {
    -webkit-transform: translate3d(0, 50px, 0) scale(0.95);
    transform: translate3d(0, 50px, 0) scale(0.95);
  }
  .p-concept p.p-concept__text-item.js-animation-item:not(.animation-started):not(.gsap-animating):not(.ios-animating),
  .p-concept p.p-concept__text-item--01.js-animation-item:not(.animation-started):not(.gsap-animating):not(.ios-animating),
  .p-concept p.p-concept__text-item--02.js-animation-item:not(.animation-started):not(.gsap-animating):not(.ios-animating) {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0) scale(0.95);
    transform: translate3d(0, 50px, 0) scale(0.95);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    will-change: transform, opacity;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  .p-concept p.p-concept__text-item.ios-animating,
  .p-concept p.p-concept__text-item--01.ios-animating,
  .p-concept p.p-concept__text-item--02.ios-animating {
    opacity: unset !important;
    -webkit-transform: unset !important;
    transform: unset !important;
  }
}
html {
  scrollbar-gutter: stable;
}

body {
  overflow-x: hidden;
  margin-right: calc(-1 * (100vw - 100%));
}
body .l-wrapper,
body .footer {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}
body .bnrWrapper {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
body:not(.js-loaded) {
  overflow: hidden;
  height: 100vh;
}
body.js-loaded {
  overflow-x: hidden;
  overflow-y: auto;
  height: auto;
}
body.js-loaded .l-wrapper,
body.js-loaded .footer {
  opacity: 1;
  visibility: visible;
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#faebb0), to(#fffbf1));
  background: linear-gradient(90deg, #faebb0, #fffbf1);
  background-size: 400% 400%;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.8s ease-out, visibility 0.8s ease-out;
  transition: opacity 0.8s ease-out, visibility 0.8s ease-out;
  -webkit-animation: LoadBg 5s ease infinite;
  animation: LoadBg 5s ease infinite;
}
.p-loading.is-visible {
  opacity: 1;
  visibility: visible;
}
.p-loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-loading__inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-loading__logo {
  width: 6.25vw;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-loading__logo {
    width: 14.6666666667vw;
  }
}
.p-loading__logo img {
  width: 100%;
  height: auto;
  display: block;
}

@-webkit-keyframes LoadBg {
  0% {
    background-position: 0% 79%;
  }
  50% {
    background-position: 100% 22%;
  }
  100% {
    background-position: 0% 79%;
  }
}
@keyframes LoadBg {
  0% {
    background-position: 0% 79%;
  }
  50% {
    background-position: 100% 22%;
  }
  100% {
    background-position: 0% 79%;
  }
}
@-webkit-keyframes logoAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes logoAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-mv {
  background: url(../images/txt_mv_bg-name.png) no-repeat top 1.875vw right 2.3125vw/1.3125vw, url(../images/txt_mv_bg-name.png) no-repeat top 1.875vw left 2.3125vw/1.3125vw, url(../images/bg_mv.jpg) no-repeat bottom center/100vw;
  position: relative;
  z-index: 1;
  padding-top: 2.375vw;
  padding-bottom: 8.8125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv {
    background: url(../images/txt_mv_bg-name.png) no-repeat top 8vw right 2.9333333333vw/2.9333333333vw, url(../images/txt_mv_bg-name.png) no-repeat top 8vw left 2.9333333333vw/2.9333333333vw, url(../images/bg_mv_sp.png) no-repeat bottom center/100%;
    margin-top: auto;
    padding-bottom: 31.4666666667vw;
    padding-top: 10.1333333333vw;
  }
}
.p-mv__title-text {
  width: 13vw;
  margin: 0 auto;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv__title-text {
    width: calc(30.1333333333vw + 7.7333333333vw);
    padding-right: 7.7333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv__content {
    position: relative;
    z-index: 1;
    height: 100px;
    margin-top: -100px;
  }
}
.p-mv__content-item-pkg {
  width: 32.0625vw;
  position: absolute;
  top: 2.5vw;
  left: 8.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv__content-item-pkg {
    top: auto;
    bottom: -40vw;
    left: 9.3333333333vw;
    width: 43.7333333333vw;
  }
}
.p-mv__content-item-sizzle {
  width: 33.6875vw;
  position: absolute;
  top: 9.375vw;
  right: 7.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv__content-item-sizzle {
    width: 55.8666666667vw;
    left: auto;
    right: 0;
    top: auto;
    bottom: -41.3333333333vw;
  }
}
.p-mv-only-melty .p-mv__content-item-pkg {
  width: 22.9375vw;
  left: 13.6875vw;
  top: 0.9375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv-only-melty .p-mv__content-item-pkg {
    top: auto;
    bottom: -46vw;
    left: 9.3333333333vw;
    width: 37.3333333333vw;
  }
}
.p-mv-only-melty .p-mv__content-item-sizzle {
  width: 24.4375vw;
  right: 11.25vw;
  top: 4.375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-mv-only-melty .p-mv__content-item-sizzle {
    width: 55.8666666667vw;
    left: auto;
    right: 0;
    top: auto;
    bottom: -41.3333333333vw;
  }
}

.p-concept {
  will-change: transform;
  background: url(../images/bg_concept.jpg) no-repeat bottom center/cover;
  position: relative;
  padding: 1.875vw 0 15.5625vw;
  margin-top: -1vw;
  z-index: 1;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept {
    background: url(../images/bg_concept_sp.jpg) no-repeat top center/100%;
    padding-top: 19.4666666667vw;
    padding-bottom: 20vw;
    z-index: 0;
  }
}
.p-concept__title {
  text-align: center;
  margin: 0 auto 6.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title {
    margin-bottom: 12vw;
  }
}
.p-concept__title-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-concept__title-text-item {
  display: inline-block;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin-right: 1.0625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item {
    margin-right: 1.7333333333vw;
  }
}
.p-concept__title-text-item:last-of-type {
  margin-right: 0;
}
.p-concept__title-text-item:nth-of-type(1) {
  width: 4.5625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(1) {
    width: 8.6666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(2) {
  width: 3.875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(2) {
    width: 7.4666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(3) {
  width: 3.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(3) {
    width: 6.6666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(4) {
  width: 4.3125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(4) {
    width: 8.2666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(5) {
  width: 5.0625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(5) {
    width: 9.7333333333vw;
  }
}
.p-concept__title-text-item:nth-of-type(6) {
  width: 5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(6) {
    width: 9.6vw;
  }
}
.p-concept__title-text-item:nth-of-type(7) {
  width: 5.1875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(7) {
    width: 8.6666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(8) {
  width: 2.9375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(8) {
    width: 5.6vw;
  }
}
.p-concept__title-text-item:nth-of-type(9) {
  width: 1.6875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(9) {
    width: 3.3333333333vw;
  }
}
.p-concept__title-text-item:nth-of-type(10) {
  width: 2.9375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(10) {
    width: 5.6vw;
  }
}
.p-concept__title-text-item:nth-of-type(11) {
  width: 1.6875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(11) {
    width: 3.3333333333vw;
  }
}
.p-concept__title-text-item:nth-of-type(12) {
  width: 4.6875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(12) {
    width: 9.0666666667vw;
  }
}
.p-concept__title-text-item:nth-of-type(13) {
  width: 3.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-item:nth-of-type(13) {
    width: 6vw;
  }
}
.p-concept__title-text-item img {
  width: auto;
  height: 100%;
}
.p-concept__title-text-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-concept__title-text-line:nth-of-type(2) {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(2) .p-concept__title-text-item:nth-of-type(1) {
    width: 8.6666666667vw;
  }
}
.p-concept__title-text-line:nth-of-type(3) {
  margin-top: 3.2vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(1) {
    width: 5.6vw;
    margin-right: 2.5333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(2) {
    width: 3.3333333333vw;
    margin-right: 2.5333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(3) {
    width: 5.6vw;
    margin-right: 2.5333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(4) {
    width: 3.3333333333vw;
    margin-right: 2.5333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(5) {
    width: 9.0666666667vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__title-text-line:nth-of-type(3) .p-concept__title-text-item:nth-of-type(6) {
    width: 6vw;
  }
}
.p-concept__text-item {
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.875vw;
  line-height: 2.2666666667;
  color: #ffffc6;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__text-item {
    font-size: 4vw;
    line-height: 8.2666666667vw;
  }
}
.p-concept__text-item--01 {
  margin: 0 auto 6.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__text-item--01 {
    margin-bottom: 12vw;
  }
}
.p-concept__text-item--02 {
  margin: 0 auto;
}
.p-concept__sizzle-item {
  position: absolute;
}
.p-concept__sizzle-item img {
  width: 100%;
  height: auto;
}
.p-concept__sizzle-item--01 {
  width: 11.1875vw;
  right: 7.5vw;
  top: 10.625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__sizzle-item--01 {
    width: 14.6666666667vw;
    right: 4vw;
    top: 60vw;
  }
}
.p-concept__sizzle-item--02 {
  width: 14.875vw;
  left: 11.875vw;
  top: 18.75vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__sizzle-item--02 {
    width: 20.5333333333vw;
    left: 3.3333333333vw;
    top: 40vw;
  }
}
.p-concept__sizzle-item--03 {
  width: 19.6875vw;
  left: 53.125vw;
  bottom: -4.375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-concept__sizzle-item--03 {
    width: 31.0666666667vw;
    left: 16vw;
    bottom: auto;
    top: 258.6666666667vw;
    z-index: 2;
  }
}

.p-whats {
  background: url(../images/bg_whats.jpg) no-repeat bottom center/cover;
  position: relative;
  margin-top: -1vw;
  padding-bottom: 25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats {
    background: url(../images/bg_whats_sp.jpg) no-repeat bottom center/cover;
    z-index: 1;
    padding-bottom: 26.6666666667vw;
  }
}
.p-whats-only-melty {
  background: url(../images/bg_whats_250908.jpg) no-repeat bottom center/cover;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats-only-melty {
    background: url(../images/bg_whats_250908_sp.jpg) no-repeat bottom center/cover;
  }
}
.p-whats__title {
  padding-top: 3.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__title {
    padding-top: 13.3333333333vw;
  }
}
.p-whats__title-text {
  width: 63.625vw;
  margin: 0 auto;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__title-text {
    width: 75.4666666667vw;
  }
}
.p-whats__content {
  position: relative;
}
.p-whats__content-pie {
  position: relative;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-pie {
    padding-top: 52vw;
    padding-bottom: 57.3333333333vw;
  }
}
.p-whats__content-package {
  position: absolute;
}
.p-whats__content-package-item {
  width: 20.625vw;
  bottom: 0vw;
  left: 65vw;
  position: absolute;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-package-item {
    width: 36.9333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-package {
    position: relative;
  }
  .p-whats__content-package-item {
    position: relative;
    left: auto;
    bottom: auto;
    margin-left: auto;
    margin-right: 10.6666666667vw;
  }
}
.p-whats__content-sizzle-item {
  width: 42.125vw;
  margin: 0 auto;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-sizzle-item {
    width: 78.8vw;
    margin-right: 0;
  }
}
.p-whats__content-sizzle-item img {
  width: 100%;
}
.p-whats__content-point {
  position: absolute;
  top: 0;
  left: 0;
}
.p-whats__content-point-number {
  position: relative;
  padding: 0 0.9375vw;
  margin-bottom: 1.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point-number {
    margin: 0 auto;
    padding: 0 2.6666666667vw;
  }
}
.p-whats__content-point-number-item {
  position: relative;
  z-index: 1;
}
.p-whats__content-point-number-item img {
  position: relative;
  z-index: 1;
}
.p-whats__content-point-number::after {
  content: "";
  position: absolute;
  bottom: -0.125vw;
  left: 0;
  width: var(--underline-width, 0%);
  height: 1.125vw;
  background: #ffffc6;
  z-index: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: skewX(-16deg);
          transform: skewX(-16deg);
  -webkit-transition: width 1s ease-out;
  transition: width 1s ease-out;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point-number::after {
    height: 2.9333333333vw;
  }
}
.p-whats__content-point-number.is-animated::after {
  width: 100%;
}
.p-whats__content-point-text-item-txt {
  font-size: 1.5vw;
  letter-spacing: -0.02em;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  color: #0000e0;
  line-height: 1.7391304348;
  margin-top: 1.875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point-text-item-txt {
    font-size: 3.2vw;
    text-align: center;
    margin-top: 2.1333333333vw;
  }
}
.p-whats__content-point--01 {
  top: 11.375vw;
  left: 10.625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--01 {
    top: 10.9333333333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-whats__content-point--01 .p-whats__content-point-number {
  width: calc(13.25vw + 0.9375vw);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--01 .p-whats__content-point-number {
    width: calc(35.3333333333vw + 2.6666666667vw);
    margin-bottom: 3.2vw;
  }
}
.p-whats__content-point--01 .p-whats__content-point-text {
  width: 25.25vw;
  padding-left: 2.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--01 .p-whats__content-point-text {
    width: 58.6666666667vw;
    padding-left: unset;
  }
}
.p-whats__content-point--01 .p-whats__content-point-line {
  width: 18.375vw;
  position: absolute;
  left: 18.75vw;
  top: 2.4375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--01 .p-whats__content-point-line {
    width: 31.3333333333vw;
    left: -14.4vw;
    top: 18.6666666667vw;
  }
}
.p-whats__content-point--01 .p-whats__content-point-text-item-ttl {
  width: 16vw;
  margin-left: 2.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--01 .p-whats__content-point-text-item-ttl {
    width: 34.1333333333vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-whats__content-point--02 {
  top: 37.5vw;
  left: 12.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--02 {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 104vw;
  }
}
.p-whats__content-point--02 .p-whats__content-point-number {
  width: calc(13.25vw + 0.9375vw);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--02 .p-whats__content-point-number {
    width: calc(35.7333333333vw + 2.6666666667vw);
    margin-bottom: 2.4vw;
  }
}
.p-whats__content-point--02 .p-whats__content-point-text {
  width: 25.75vw;
  padding-left: 1.875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--02 .p-whats__content-point-text {
    width: 59.7333333333vw;
    padding-left: unset;
  }
}
.p-whats__content-point--02 .p-whats__content-point-text-item-txt {
  margin-top: 1.25vw;
}
.p-whats__content-point--02 .p-whats__content-point-line {
  width: 17.375vw;
  position: absolute;
  left: 22.8125vw;
  top: -1.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--02 .p-whats__content-point-line {
    width: 22.6666666667vw;
    left: auto;
    right: 2vw;
    top: -21.3333333333vw;
  }
}
.p-whats__content-point--02 .p-whats__content-point-text-item-ttl {
  width: 15.9375vw;
  margin-left: 3.4375vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--02 .p-whats__content-point-text-item-ttl {
    width: 40.2666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-whats__content-point--03 {
  top: -3.125vw;
  left: 54.375vw;
  height: 11.25vw;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-whats__content-point--03 {
    top: auto;
    bottom: -3.75vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--03 {
    left: 4vw;
    top: 29.3333333333vw;
    bottom: auto;
  }
}
.p-whats__content-point--03 .p-whats__content-point-number {
  width: calc(13.25vw + 0.9375vw);
  margin-left: 0.625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--03 .p-whats__content-point-number {
    width: calc(36.4vw + 2.6666666667vw);
    margin-bottom: 2.4vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-whats__content-point--03 .p-whats__content-point-text {
  width: 33.125vw;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--03 .p-whats__content-point-text {
    width: 48.2666666667vw;
    padding-left: unset;
  }
}
.p-whats__content-point--03 .p-whats__content-point-text-item-txt {
  margin-top: 1.25vw;
}
.p-whats__content-point--03 .p-whats__content-point-line {
  width: 8.9375vw;
  position: absolute;
  left: 25vw;
  bottom: 5.625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--03 .p-whats__content-point-line {
    width: 24.2666666667vw;
    bottom: auto;
    top: -9.3333333333vw;
    left: 30.6666666667vw;
  }
}
.p-whats__content-point--03 .p-whats__content-point-text-item-ttl {
  width: 14.25vw;
  margin-left: 9.6875vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-whats__content-point--03 .p-whats__content-point-text-item-ttl {
    width: 34.5333333333vw;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-products {
  background: url(../images/bg_products.jpg) no-repeat bottom center/cover;
  position: relative;
  padding-bottom: 0.625vw;
  overflow-x: hidden;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products {
    background: url(../images/bg_products_sp.jpg) no-repeat bottom center/cover;
    padding-bottom: 6.6666666667vw;
  }
}
.p-products-only-melty {
  background: url(../images/bg_products_250908.jpg) no-repeat bottom center/cover;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products-only-melty {
    background: url(../images/bg_products_250908_sp.jpg) no-repeat bottom center/cover;
  }
}
.p-products-only-melty .p-products__content-item--melty {
  margin-bottom: 18.75vw;
}
.p-products__title {
  padding-top: 1.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__title {
    padding-top: 6.6666666667vw;
  }
}
.p-products__title-text {
  width: 30.9375vw;
  margin: 0 auto 2.5vw;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__title-text {
    width: 37.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-products__content-item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-products__content-item-description-text {
  font-size: 1.5vw;
  font-family: "Sawarabi Gothic", sans-serif;
  text-align: center;
  line-height: 2.7083333333;
  margin-bottom: 1.875vw;
  font-weight: bold;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item-description-text {
    font-size: 3.8666666667vw;
    line-height: 2;
    margin-bottom: 4vw;
    letter-spacing: 0.03em;
  }
}
.p-products__content-item-description-title-text {
  font-size: 2.8125vw;
  color: #efeda8;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item-description-title-text {
    font-size: 5.3333333333vw;
  }
}
.p-products__content-item-description-title-text-item {
  display: inline-block;
  margin-bottom: 0.75vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item-description-title-text-item {
    margin-bottom: 1.3333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item-description-title-text {
    margin-bottom: 1.3333333333vw;
  }
}
.p-products__content-item-btn {
  position: relative;
}
.p-products__content-item-btn-item {
  position: relative;
  z-index: 2;
}
.p-products__content-item-btn-deco {
  position: absolute;
  z-index: 1;
}
.p-products__content-item-deco {
  position: absolute;
  z-index: 1;
}
.p-products__content-item--melty {
  padding: 6.25vw 0 8.75vw;
  position: relative;
  z-index: 2;
}
.p-products__content-item--melty::before {
  content: "";
  display: block;
  width: 105%;
  height: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(5, 51, 233)), color-stop(50%, rgb(0, 134, 255)), to(rgba(5, 51, 233, 0.801)));
  background: linear-gradient(180deg, rgb(5, 51, 233) 0%, rgb(0, 134, 255) 50%, rgba(5, 51, 233, 0.801) 100%);
  position: absolute;
  top: 0;
  z-index: 1;
  border-radius: 45% 55% 62% 38%/53% 47% 53% 47%;
  -webkit-animation: morphShape 20s linear infinite;
          animation: morphShape 20s linear infinite;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty::before {
    -webkit-animation: morphShape 25s linear infinite;
            animation: morphShape 25s linear infinite;
    width: 100%;
  }
}
.p-products__content-item--melty .p-products__content-item-pkg {
  width: 29.625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty .p-products__content-item-pkg {
    width: 52.5333333333vw;
    position: relative;
    z-index: 2;
  }
  .p-products__content-item--melty .p-products__content-item-pkg picture {
    position: relative;
    z-index: 2;
  }
  .p-products__content-item--melty .p-products__content-item-pkg picture img {
    position: relative;
    z-index: 2;
  }
}
.p-products__content-item--melty .p-products__content-item-description {
  width: 36.25vw;
  padding-top: 6.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty .p-products__content-item-description {
    width: 63.8666666667vw;
    padding-top: 1.3333333333vw;
  }
}
.p-products__content-item--melty .p-products__content-item-description-title-text {
  width: 36.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty .p-products__content-item-description-title-text {
    width: 63.8666666667vw;
  }
}
.p-products__content-item--melty .p-products__content-item-deco, .p-products__content-item--melty .p-products__content-item-btn-deco {
  width: 23.375vw;
  bottom: -15.625vw;
  left: -2.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty .p-products__content-item-deco, .p-products__content-item--melty .p-products__content-item-btn-deco {
    width: 36.2666666667vw;
    top: auto;
    left: auto;
    bottom: -8vw;
    right: -16vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--melty .p-products__content-item-description-title-text-item {
    margin-left: 1.3333333333vw;
  }
}
.p-products__content-item--truffle {
  padding: 7.5vw 0 8.75vw;
  position: relative;
  margin-top: -7vw;
  margin-bottom: 18.75vw;
  z-index: 1;
}
.p-products__content-item--truffle::before {
  content: "";
  display: block;
  width: 105%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(71, 11, 24)), color-stop(50%, rgb(99, 17, 38)), to(rgb(71, 11, 24)));
  background: linear-gradient(180deg, rgb(71, 11, 24) 0%, rgb(99, 17, 38) 50%, rgb(71, 11, 24) 100%);
  position: absolute;
  top: 0;
  z-index: 0;
  left: 50%;
  border-radius: 45% 55% 62% 38%/53% 47% 53% 47%;
  -webkit-animation: morphShape02 35s linear infinite;
          animation: morphShape02 35s linear infinite;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle::before {
    -webkit-animation: morphShape02 40s linear infinite;
            animation: morphShape02 40s linear infinite;
    width: 100%;
  }
}
.p-products__content-item--truffle .p-products__content-item-inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-products__content-item--truffle .p-products__content-item-pkg {
  width: 29.5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-pkg {
    width: 52.2666666667vw;
    position: relative;
    z-index: 2;
  }
  .p-products__content-item--truffle .p-products__content-item-pkg picture {
    position: relative;
    z-index: 2;
  }
  .p-products__content-item--truffle .p-products__content-item-pkg picture img {
    position: relative;
    z-index: 2;
  }
}
.p-products__content-item--truffle .p-products__content-item-description {
  width: 33.0625vw;
  padding-top: 6.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-description {
    width: 65.3333333333vw;
    padding-top: unset;
    position: relative;
    z-index: 2;
  }
}
.p-products__content-item--truffle .p-products__content-item-description-title-text {
  width: 33.0625vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-description-title-text {
    width: 63.8666666667vw;
  }
}
.p-products__content-item--truffle .p-products__content-item-deco, .p-products__content-item--truffle .p-products__content-item-btn-deco {
  width: 23.375vw;
  top: -3.75vw;
  right: 18.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-deco, .p-products__content-item--truffle .p-products__content-item-btn-deco {
    width: 36.2666666667vw;
    top: auto;
    left: auto;
    bottom: -13.3333333333vw;
    right: -22.6666666667vw;
  }
}
.p-products__content-item--truffle .p-products__content-item-description-title-text-item {
  margin-left: 1.875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-products__content-item--truffle .p-products__content-item-description-title-text-item {
    margin-left: 2.6666666667vw;
  }
}

@-webkit-keyframes morphShape {
  0% {
    border-radius: 45% 45% 45% 45%/45% 45% 45% 45%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  12.5% {
    border-radius: 40% 50% 40% 50%/50% 40% 50% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  25% {
    border-radius: 50% 40% 50% 40%/40% 50% 40% 50%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
  }
  37.5% {
    border-radius: 35% 55% 35% 55%/55% 35% 55% 35%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  50% {
    border-radius: 55% 35% 55% 35%/35% 55% 35% 55%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  62.5% {
    border-radius: 42% 48% 42% 48%/48% 42% 48% 42%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  75% {
    border-radius: 48% 42% 48% 42%/42% 48% 42% 48%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
  }
  87.5% {
    border-radius: 38% 52% 38% 52%/52% 38% 52% 38%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  100% {
    border-radius: 45% 45% 45% 45%/45% 45% 45% 45%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
}

@keyframes morphShape {
  0% {
    border-radius: 45% 45% 45% 45%/45% 45% 45% 45%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  12.5% {
    border-radius: 40% 50% 40% 50%/50% 40% 50% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  25% {
    border-radius: 50% 40% 50% 40%/40% 50% 40% 50%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
  }
  37.5% {
    border-radius: 35% 55% 35% 55%/55% 35% 55% 35%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  50% {
    border-radius: 55% 35% 55% 35%/35% 55% 35% 55%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  62.5% {
    border-radius: 42% 48% 42% 48%/48% 42% 48% 42%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  75% {
    border-radius: 48% 42% 48% 42%/42% 48% 42% 48%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
  }
  87.5% {
    border-radius: 38% 52% 38% 52%/52% 38% 52% 38%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  100% {
    border-radius: 45% 45% 45% 45%/45% 45% 45% 45%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
}
@-webkit-keyframes morphShape02 {
  0% {
    border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  12% {
    border-radius: 52% 28% 52% 28%/28% 52% 28% 52%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  24% {
    border-radius: 28% 52% 28% 52%/52% 28% 52% 28%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
  }
  36% {
    border-radius: 58% 22% 58% 22%/22% 58% 22% 58%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
  }
  48% {
    border-radius: 22% 58% 22% 58%/58% 22% 58% 22%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  60% {
    border-radius: 48% 32% 48% 32%/32% 48% 32% 48%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
  }
  72% {
    border-radius: 32% 48% 32% 48%/48% 32% 48% 32%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
  }
  84% {
    border-radius: 55% 25% 55% 25%/25% 55% 25% 55%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  100% {
    border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
}
@keyframes morphShape02 {
  0% {
    border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  12% {
    border-radius: 52% 28% 52% 28%/28% 52% 28% 52%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
  }
  24% {
    border-radius: 28% 52% 28% 52%/52% 28% 52% 28%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
  }
  36% {
    border-radius: 58% 22% 58% 22%/22% 58% 22% 58%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
  }
  48% {
    border-radius: 22% 58% 22% 58%/58% 22% 58% 22%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
  60% {
    border-radius: 48% 32% 48% 32%/32% 48% 32% 48%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
  }
  72% {
    border-radius: 32% 48% 32% 48%/48% 32% 48% 32%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
  }
  84% {
    border-radius: 55% 25% 55% 25%/25% 55% 25% 55%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
  }
  100% {
    border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
    -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
            transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
  }
}
.p-ending {
  background: url(../images/bg_ending.jpg) no-repeat top center/100%;
  position: relative;
  z-index: 2;
  padding: 0.625vw 0 6.25vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending {
    background: url(../images/bg_ending_sp.jpg) no-repeat top center/100%;
    padding-top: 13.3333333333vw;
  }
}
.p-ending__title {
  margin-bottom: 5vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__title {
    margin-bottom: 12vw;
  }
}
.p-ending__title-text-item {
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__title-text-item {
    padding-top: 1.3333333333vw;
    margin-bottom: 1.3333333333vw;
  }
}
.p-ending__title-text-item img {
  z-index: 2;
  position: relative;
  padding: 0.375vw 1vw;
}
.p-ending__title-text-item::after {
  content: "";
  position: absolute;
  bottom: -0.125vw;
  left: 0;
  width: var(--underline-width, 0%);
  height: 100%;
  background: #ffffc6;
  z-index: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: width 1s ease-out;
  transition: width 1s ease-out;
}
.p-ending__title-text-item.is-animated::after {
  width: 100%;
}
.p-ending__title-text-item:first-of-type {
  width: calc(48.125vw + 1vw * 2);
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__title-text-item:first-of-type {
    width: calc(70.2666666667vw + 2.1333333333vw * 2);
  }
}
.p-ending__title-text-item:last-of-type {
  width: calc(50.6875vw + 1vw * 2);
  margin-top: 0.75vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__title-text-item:last-of-type {
    width: calc(74vw + 2.1333333333vw * 2);
    margin-top: 2.1333333333vw;
  }
}
.p-ending__content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.875vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5.3333333333vw;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item-serif {
    margin-bottom: 2.6666666667vw;
  }
}
.p-ending__content-item--01 .p-ending__content-item-serif {
  width: 21.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--01 .p-ending__content-item-serif {
    width: 45.0666666667vw;
  }
}
.p-ending__content-item--01 .p-ending__content-item-chara {
  width: 23.375vw;
  -webkit-animation: characters ease-in-out 1.5s 0;
          animation: characters ease-in-out 1.5s 0;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--01 .p-ending__content-item-chara {
    width: 49.8666666667vw;
  }
}
.p-ending__content-item--02 .p-ending__content-item-serif {
  width: 21.125vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--02 .p-ending__content-item-serif {
    width: 45.0666666667vw;
  }
}
.p-ending__content-item--02 .p-ending__content-item-chara {
  width: 24.75vw;
  -webkit-animation: characters ease-in-out 1.5s 0.4s;
          animation: characters ease-in-out 1.5s 0.4s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--02 .p-ending__content-item-chara {
    width: 52.8vw;
  }
}
.p-ending__content-item--03 .p-ending__content-item-serif {
  width: 22vw;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--03 .p-ending__content-item-serif {
    width: 46.9333333333vw;
  }
}
.p-ending__content-item--03 .p-ending__content-item-chara {
  width: 24.125vw;
  -webkit-animation: characters ease-in-out 1.5s 0.8s;
          animation: characters ease-in-out 1.5s 0.8s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  .p-ending__content-item--03 .p-ending__content-item-chara {
    width: 51.4666666667vw;
  }
}

@-webkit-keyframes characters {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  25% {
    -webkit-transform: translateY(-10px) scale(1.01);
            transform: translateY(-10px) scale(1.01);
  }
  50% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  75% {
    -webkit-transform: translateY(-16px) scale(1.03);
            transform: translateY(-16px) scale(1.03);
  }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes characters {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  25% {
    -webkit-transform: translateY(-10px) scale(1.01);
            transform: translateY(-10px) scale(1.01);
  }
  50% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  75% {
    -webkit-transform: translateY(-16px) scale(1.03);
            transform: translateY(-16px) scale(1.03);
  }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  @-webkit-keyframes characters {
    0% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
    25% {
      -webkit-transform: translateY(-5px) scale(1.01);
              transform: translateY(-5px) scale(1.01);
    }
    50% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
    75% {
      -webkit-transform: translateY(-10px) scale(1.03);
              transform: translateY(-10px) scale(1.03);
    }
    100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
  }
  @keyframes characters {
    0% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
    25% {
      -webkit-transform: translateY(-5px) scale(1.01);
              transform: translateY(-5px) scale(1.01);
    }
    50% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
    75% {
      -webkit-transform: translateY(-10px) scale(1.03);
              transform: translateY(-10px) scale(1.03);
    }
    100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
    }
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  @-webkit-keyframes morphShape {
    0% {
      border-radius: 45% 45% 45% 45%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    12.5% {
      border-radius: 40% 50% 40% 50%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    25% {
      border-radius: 50% 40% 50% 40%/45% 35% 45% 35%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
    }
    37.5% {
      border-radius: 38% 52% 38% 52%/33% 47% 33% 47%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    50% {
      border-radius: 52% 38% 52% 38%/47% 33% 47% 33%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    62.5% {
      border-radius: 41% 49% 41% 49%/36% 44% 36% 44%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    75% {
      border-radius: 49% 41% 49% 41%/44% 36% 44% 36%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
    }
    87.5% {
      border-radius: 40% 50% 40% 50%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    100% {
      border-radius: 45% 45% 45% 45%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
  }
  @keyframes morphShape {
    0% {
      border-radius: 45% 45% 45% 45%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    12.5% {
      border-radius: 40% 50% 40% 50%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    25% {
      border-radius: 50% 40% 50% 40%/45% 35% 45% 35%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(4deg);
    }
    37.5% {
      border-radius: 38% 52% 38% 52%/33% 47% 33% 47%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    50% {
      border-radius: 52% 38% 52% 38%/47% 33% 47% 33%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    62.5% {
      border-radius: 41% 49% 41% 49%/36% 44% 36% 44%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    75% {
      border-radius: 49% 41% 49% 41%/44% 36% 44% 36%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-4deg);
    }
    87.5% {
      border-radius: 40% 50% 40% 50%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    100% {
      border-radius: 45% 45% 45% 45%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
  }
  @-webkit-keyframes morphShape02 {
    0% {
      border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    12% {
      border-radius: 45% 35% 45% 35%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    24% {
      border-radius: 35% 45% 35% 45%/45% 35% 45% 35%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
    }
    36% {
      border-radius: 48% 32% 48% 32%/32% 48% 32% 48%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
    }
    48% {
      border-radius: 32% 48% 32% 48%/48% 32% 48% 32%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    60% {
      border-radius: 44% 36% 44% 36%/36% 44% 36% 44%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
    }
    72% {
      border-radius: 36% 44% 36% 44%/44% 36% 44% 36%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
    }
    84% {
      border-radius: 47% 33% 47% 33%/33% 47% 33% 47%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    100% {
      border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
  }
  @keyframes morphShape02 {
    0% {
      border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    12% {
      border-radius: 45% 35% 45% 35%/35% 45% 35% 45%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-2deg);
    }
    24% {
      border-radius: 35% 45% 35% 45%/45% 35% 45% 35%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-5deg);
    }
    36% {
      border-radius: 48% 32% 48% 32%/32% 48% 32% 48%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(-3deg);
    }
    48% {
      border-radius: 32% 48% 32% 48%/48% 32% 48% 32%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
    60% {
      border-radius: 44% 36% 44% 36%/36% 44% 36% 44%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(3deg);
    }
    72% {
      border-radius: 36% 44% 36% 44%/44% 36% 44% 36%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(5deg);
    }
    84% {
      border-radius: 47% 33% 47% 33%/33% 47% 33% 47%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(2deg);
    }
    100% {
      border-radius: 40% 40% 40% 40%/40% 40% 40% 40%;
      -webkit-transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
              transform: translateX(-50%) translateY(0px) scale(1) rotate(0deg);
    }
  }
}