﻿/* @font-face {
  font-family: 'jins';
  src: url("../fonts/JINS_NextRegular.woff") format("woff"),url("../fonts/JINS_NextRegular.ttf") format("truetype")
} */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  /* font-size: 100%; */
  vertical-align: baseline;
  background: transparent
}

body {
  line-height: 1;
  letter-spacing: 0.01em;
  letter-spacing: var(--text-letter-spacing);
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
  display: block
}

nav ul {
  list-style: none
}

ul {
  list-style: none
}

blockquote,q {
  quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
  content: '';
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title],dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0
}

input,select {
  vertical-align: middle
}

.fi {
  -webkit-transition: all 1.5s ease;
  -moz-transition: all 1.5s ease;
  -ms-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
  transform: translate(0, 30px)
}

.fi.active {
  opacity: 1;
  transform: translate(0, 0)
}

@-webkit-keyframes scale {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }

  45% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 0.7
  }

  80% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }
}

@keyframes scale {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }

  45% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 0.7
  }

  80% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }
}

.ball-pulse>div:nth-child(1) {
  -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.ball-pulse>div:nth-child(2) {
  -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.ball-pulse>div:nth-child(3) {
  -webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.ball-pulse>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block
}

@-webkit-keyframes ball-pulse-sync {
  33% {
      -webkit-transform: translateY(10px);
      transform: translateY(10px)
  }

  66% {
      -webkit-transform: translateY(-10px);
      transform: translateY(-10px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0)
  }
}

@keyframes ball-pulse-sync {
  33% {
      -webkit-transform: translateY(10px);
      transform: translateY(10px)
  }

  66% {
      -webkit-transform: translateY(-10px);
      transform: translateY(-10px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0)
  }
}

.ball-pulse-sync>div:nth-child(1) {
  -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out
}

.ball-pulse-sync>div:nth-child(2) {
  -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out
}

.ball-pulse-sync>div:nth-child(3) {
  -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out
}

.ball-pulse-sync>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block
}

@-webkit-keyframes ball-scale {
  0% {
      -webkit-transform: scale(0);
      transform: scale(0)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0
  }
}

@keyframes ball-scale {
  0% {
      -webkit-transform: scale(0);
      transform: scale(0)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0
  }
}

.ball-scale>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite
}

@keyframes ball-scale {
  0% {
      -webkit-transform: scale(0);
      transform: scale(0)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0
  }
}

.ball-scale>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite
}

.ball-scale-random {
  width: 37px;
  height: 40px
}

.ball-scale-random>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  display: inline-block;
  height: 30px;
  width: 30px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite
}

.ball-scale-random>div:nth-child(1) {
  margin-left: -7px;
  -webkit-animation: ball-scale 1s 0.2s ease-in-out infinite;
  animation: ball-scale 1s 0.2s ease-in-out infinite
}

.ball-scale-random>div:nth-child(3) {
  margin-left: -2px;
  margin-top: 9px;
  -webkit-animation: ball-scale 1s 0.5s ease-in-out infinite;
  animation: ball-scale 1s 0.5s ease-in-out infinite
}

@-webkit-keyframes rotate {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  50% {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg)
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }
}

@keyframes rotate {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  50% {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg)
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }
}

.ball-rotate {
  position: relative
}

.ball-rotate>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: relative
}

.ball-rotate>div:first-child {
  -webkit-animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
  animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite
}

.ball-rotate>div:before,.ball-rotate>div:after {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  content: "";
  position: absolute;
  opacity: 0.8
}

.ball-rotate>div:before {
  top: 0px;
  left: -28px
}

.ball-rotate>div:after {
  top: 0px;
  left: 25px
}

@keyframes rotate {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  50% {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg)
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }
}

.ball-clip-rotate>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 26px;
  width: 26px;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
  animation: rotate 0.75s 0s linear infinite
}

@keyframes rotate {
  0% {
      -webkit-transform: rotate(0deg) scale(1);
      transform: rotate(0deg) scale(1)
  }

  50% {
      -webkit-transform: rotate(180deg) scale(0.6);
      transform: rotate(180deg) scale(0.6)
  }

  100% {
      -webkit-transform: rotate(360deg) scale(1);
      transform: rotate(360deg) scale(1)
  }
}

@keyframes scale {
  30% {
      -webkit-transform: scale(0.3);
      transform: scale(0.3)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

.ball-clip-rotate-pulse {
  position: relative;
  -webkit-transform: translateY(-15px);
  transform: translateY(-15px)
}

.ball-clip-rotate-pulse>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 100%
}

.ball-clip-rotate-pulse>div:first-child {
  background: #fff;
  height: 16px;
  width: 16px;
  top: 7px;
  left: -7px;
  -webkit-animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite
}

.ball-clip-rotate-pulse>div:last-child {
  position: absolute;
  border: 2px solid #fff;
  width: 30px;
  height: 30px;
  left: -16px;
  top: -2px;
  background: transparent;
  border: 2px solid;
  border-color: #fff transparent #fff transparent;
  -webkit-animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  -webkit-animation-duration: 1s;
  animation-duration: 1s
}

@keyframes rotate {
  0% {
      -webkit-transform: rotate(0deg) scale(1);
      transform: rotate(0deg) scale(1)
  }

  50% {
      -webkit-transform: rotate(180deg) scale(0.6);
      transform: rotate(180deg) scale(0.6)
  }

  100% {
      -webkit-transform: rotate(360deg) scale(1);
      transform: rotate(360deg) scale(1)
  }
}

.ball-clip-rotate-multiple {
  position: relative
}

.ball-clip-rotate-multiple>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  left: -20px;
  top: -20px;
  border: 2px solid #000;
  border-bottom-color: transparent;
  border-top-color: transparent;
  border-radius: 100%;
  height: 35px;
  width: 35px;
  -webkit-animation: rotate 1s 0s ease-in-out infinite;
  animation: rotate 1s 0s ease-in-out infinite
}

.ball-clip-rotate-multiple>div:last-child {
  display: inline-block;
  top: -10px;
  left: -10px;
  width: 15px;
  height: 15px;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  border-color: #000 transparent #000 transparent;
  -webkit-animation-direction: reverse;
  animation-direction: reverse
}

@-webkit-keyframes ball-scale-ripple {
  0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1
  }

  70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7
  }

  100% {
      opacity: 0.0
  }
}

@keyframes ball-scale-ripple {
  0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1
  }

  70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7
  }

  100% {
      opacity: 0.0
  }
}

.ball-scale-ripple>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8)
}

@-webkit-keyframes ball-scale-ripple-multiple {
  0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1
  }

  70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7
  }

  100% {
      opacity: 0.0
  }
}

@keyframes ball-scale-ripple-multiple {
  0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1
  }

  70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7
  }

  100% {
      opacity: 0.0
  }
}

.ball-scale-ripple-multiple {
  position: relative;
  -webkit-transform: translateY(-25px);
  transform: translateY(-25px)
}

.ball-scale-ripple-multiple>div:nth-child(0) {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s
}

.ball-scale-ripple-multiple>div:nth-child(1) {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s
}

.ball-scale-ripple-multiple>div:nth-child(2) {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s
}

.ball-scale-ripple-multiple>div:nth-child(3) {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s
}

.ball-scale-ripple-multiple>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  top: -2px;
  left: -26px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8)
}

@-webkit-keyframes ball-beat {
  50% {
      opacity: 0.2;
      -webkit-transform: scale(0.75);
      transform: scale(0.75)
  }

  100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

@keyframes ball-beat {
  50% {
      opacity: 0.2;
      -webkit-transform: scale(0.75);
      transform: scale(0.75)
  }

  100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

.ball-beat>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: ball-beat 0.7s 0s infinite linear;
  animation: ball-beat 0.7s 0s infinite linear
}

.ball-beat>div:nth-child(2n-1) {
  -webkit-animation-delay: -0.35s !important;
  animation-delay: -0.35s !important
}

@-webkit-keyframes ball-scale-multiple {
  0% {
      -webkit-transform: scale(0);
      transform: scale(0);
      opacity: 0
  }

  5% {
      opacity: 1
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0
  }
}

@keyframes ball-scale-multiple {
  0% {
      -webkit-transform: scale(0);
      transform: scale(0);
      opacity: 0
  }

  5% {
      opacity: 1
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0
  }
}

.ball-scale-multiple {
  position: relative;
  -webkit-transform: translateY(-30px);
  transform: translateY(-30px)
}

.ball-scale-multiple>div:nth-child(2) {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s
}

.ball-scale-multiple>div:nth-child(3) {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s
}

.ball-scale-multiple>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  left: -30px;
  top: 0px;
  opacity: 0;
  margin: 0;
  width: 60px;
  height: 60px;
  -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
  animation: ball-scale-multiple 1s 0s linear infinite
}

@-webkit-keyframes ball-triangle-path-1 {
  33% {
      -webkit-transform: translate(25px, -50px);
      transform: translate(25px, -50px)
  }

  66% {
      -webkit-transform: translate(50px, 0px);
      transform: translate(50px, 0px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

@keyframes ball-triangle-path-1 {
  33% {
      -webkit-transform: translate(25px, -50px);
      transform: translate(25px, -50px)
  }

  66% {
      -webkit-transform: translate(50px, 0px);
      transform: translate(50px, 0px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

@-webkit-keyframes ball-triangle-path-2 {
  33% {
      -webkit-transform: translate(25px, 50px);
      transform: translate(25px, 50px)
  }

  66% {
      -webkit-transform: translate(-25px, 50px);
      transform: translate(-25px, 50px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

@keyframes ball-triangle-path-2 {
  33% {
      -webkit-transform: translate(25px, 50px);
      transform: translate(25px, 50px)
  }

  66% {
      -webkit-transform: translate(-25px, 50px);
      transform: translate(-25px, 50px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

@-webkit-keyframes ball-triangle-path-3 {
  33% {
      -webkit-transform: translate(-50px, 0px);
      transform: translate(-50px, 0px)
  }

  66% {
      -webkit-transform: translate(-25px, -50px);
      transform: translate(-25px, -50px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

@keyframes ball-triangle-path-3 {
  33% {
      -webkit-transform: translate(-50px, 0px);
      transform: translate(-50px, 0px)
  }

  66% {
      -webkit-transform: translate(-25px, -50px);
      transform: translate(-25px, -50px)
  }

  100% {
      -webkit-transform: translate(0px, 0px);
      transform: translate(0px, 0px)
  }
}

.ball-triangle-path {
  position: relative;
  -webkit-transform: translate(-29.994px, -37.50938px);
  transform: translate(-29.994px, -37.50938px)
}

.ball-triangle-path>div:nth-child(1) {
  -webkit-animation-name: ball-triangle-path-1;
  animation-name: ball-triangle-path-1;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite
}

.ball-triangle-path>div:nth-child(2) {
  -webkit-animation-name: ball-triangle-path-2;
  animation-name: ball-triangle-path-2;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite
}

.ball-triangle-path>div:nth-child(3) {
  -webkit-animation-name: ball-triangle-path-3;
  animation-name: ball-triangle-path-3;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite
}

.ball-triangle-path>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 1px solid #fff
}

.ball-triangle-path>div:nth-of-type(1) {
  top: 50px
}

.ball-triangle-path>div:nth-of-type(2) {
  left: 25px
}

.ball-triangle-path>div:nth-of-type(3) {
  top: 50px;
  left: 50px
}

@-webkit-keyframes ball-pulse-rise-even {
  0% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1)
  }

  25% {
      -webkit-transform: translateY(-30px);
      transform: translateY(-30px)
  }

  50% {
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  75% {
      -webkit-transform: translateY(30px);
      transform: translateY(30px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

@keyframes ball-pulse-rise-even {
  0% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1)
  }

  25% {
      -webkit-transform: translateY(-30px);
      transform: translateY(-30px)
  }

  50% {
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  75% {
      -webkit-transform: translateY(30px);
      transform: translateY(30px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

@-webkit-keyframes ball-pulse-rise-odd {
  0% {
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  25% {
      -webkit-transform: translateY(30px);
      transform: translateY(30px)
  }

  50% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1)
  }

  75% {
      -webkit-transform: translateY(-30px);
      transform: translateY(-30px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      -webkit-transform: scale(0.75);
      transform: scale(0.75)
  }
}

@keyframes ball-pulse-rise-odd {
  0% {
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  25% {
      -webkit-transform: translateY(30px);
      transform: translateY(30px)
  }

  50% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1)
  }

  75% {
      -webkit-transform: translateY(-30px);
      transform: translateY(-30px)
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      -webkit-transform: scale(0.75);
      transform: scale(0.75)
  }
}

.ball-pulse-rise>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0
}

.ball-pulse-rise>div:nth-child(2n) {
  -webkit-animation-name: ball-pulse-rise-even;
  animation-name: ball-pulse-rise-even
}

.ball-pulse-rise>div:nth-child(2n-1) {
  -webkit-animation-name: ball-pulse-rise-odd;
  animation-name: ball-pulse-rise-odd
}

@-webkit-keyframes ball-grid-beat {
  50% {
      opacity: 0.7
  }

  100% {
      opacity: 1
  }
}

@keyframes ball-grid-beat {
  50% {
      opacity: 0.7
  }

  100% {
      opacity: 1
  }
}

.ball-grid-beat {
  width: 57px
}

.ball-grid-beat>div:nth-child(1) {
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
  -webkit-animation-duration: 1.45s;
  animation-duration: 1.45s
}

.ball-grid-beat>div:nth-child(2) {
  -webkit-animation-delay: -0.02s;
  animation-delay: -0.02s;
  -webkit-animation-duration: 0.97s;
  animation-duration: 0.97s
}

.ball-grid-beat>div:nth-child(3) {
  -webkit-animation-delay: 0.66s;
  animation-delay: 0.66s;
  -webkit-animation-duration: 1.23s;
  animation-duration: 1.23s
}

.ball-grid-beat>div:nth-child(4) {
  -webkit-animation-delay: 0.64s;
  animation-delay: 0.64s;
  -webkit-animation-duration: 1.24s;
  animation-duration: 1.24s
}

.ball-grid-beat>div:nth-child(5) {
  -webkit-animation-delay: -0.19s;
  animation-delay: -0.19s;
  -webkit-animation-duration: 1.13s;
  animation-duration: 1.13s
}

.ball-grid-beat>div:nth-child(6) {
  -webkit-animation-delay: 0.69s;
  animation-delay: 0.69s;
  -webkit-animation-duration: 1.42s;
  animation-duration: 1.42s
}

.ball-grid-beat>div:nth-child(7) {
  -webkit-animation-delay: 0.58s;
  animation-delay: 0.58s;
  -webkit-animation-duration: 1.14s;
  animation-duration: 1.14s
}

.ball-grid-beat>div:nth-child(8) {
  -webkit-animation-delay: 0.21s;
  animation-delay: 0.21s;
  -webkit-animation-duration: 1.17s;
  animation-duration: 1.17s
}

.ball-grid-beat>div:nth-child(9) {
  -webkit-animation-delay: -0.18s;
  animation-delay: -0.18s;
  -webkit-animation-duration: 0.65s;
  animation-duration: 0.65s
}

.ball-grid-beat>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  -webkit-animation-name: ball-grid-beat;
  animation-name: ball-grid-beat;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0
}

@-webkit-keyframes ball-grid-pulse {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }

  50% {
      -webkit-transform: scale(0.5);
      transform: scale(0.5);
      opacity: 0.7
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }
}

@keyframes ball-grid-pulse {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }

  50% {
      -webkit-transform: scale(0.5);
      transform: scale(0.5);
      opacity: 0.7
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1
  }
}

.ball-grid-pulse {
  width: 57px
}

.ball-grid-pulse>div:nth-child(1) {
  -webkit-animation-delay: 0.22s;
  animation-delay: 0.22s;
  -webkit-animation-duration: 0.9s;
  animation-duration: 0.9s
}

.ball-grid-pulse>div:nth-child(2) {
  -webkit-animation-delay: 0.64s;
  animation-delay: 0.64s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s
}

.ball-grid-pulse>div:nth-child(3) {
  -webkit-animation-delay: -0.15s;
  animation-delay: -0.15s;
  -webkit-animation-duration: 0.63s;
  animation-duration: 0.63s
}

.ball-grid-pulse>div:nth-child(4) {
  -webkit-animation-delay: -0.03s;
  animation-delay: -0.03s;
  -webkit-animation-duration: 1.24s;
  animation-duration: 1.24s
}

.ball-grid-pulse>div:nth-child(5) {
  -webkit-animation-delay: 0.08s;
  animation-delay: 0.08s;
  -webkit-animation-duration: 1.37s;
  animation-duration: 1.37s
}

.ball-grid-pulse>div:nth-child(6) {
  -webkit-animation-delay: 0.43s;
  animation-delay: 0.43s;
  -webkit-animation-duration: 1.55s;
  animation-duration: 1.55s
}

.ball-grid-pulse>div:nth-child(7) {
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
  -webkit-animation-duration: 0.7s;
  animation-duration: 0.7s
}

.ball-grid-pulse>div:nth-child(8) {
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
  -webkit-animation-duration: 0.97s;
  animation-duration: 0.97s
}

.ball-grid-pulse>div:nth-child(9) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-duration: 0.63s;
  animation-duration: 0.63s
}

.ball-grid-pulse>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  -webkit-animation-name: ball-grid-pulse;
  animation-name: ball-grid-pulse;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0
}

@-webkit-keyframes ball-spin-fade-loader {
  50% {
      opacity: 0.3;
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

@keyframes ball-spin-fade-loader {
  50% {
      opacity: 0.3;
      -webkit-transform: scale(0.4);
      transform: scale(0.4)
  }

  100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px
}

.ball-spin-fade-loader>div:nth-child(1) {
  top: 25px;
  left: 0;
  -webkit-animation: ball-spin-fade-loader 1s -0.96s infinite linear;
  animation: ball-spin-fade-loader 1s -0.96s infinite linear
}

.ball-spin-fade-loader>div:nth-child(2) {
  top: 17.04545px;
  left: 17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.84s infinite linear;
  animation: ball-spin-fade-loader 1s -0.84s infinite linear
}

.ball-spin-fade-loader>div:nth-child(3) {
  top: 0;
  left: 25px;
  -webkit-animation: ball-spin-fade-loader 1s -0.72s infinite linear;
  animation: ball-spin-fade-loader 1s -0.72s infinite linear
}

.ball-spin-fade-loader>div:nth-child(4) {
  top: -17.04545px;
  left: 17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.6s infinite linear;
  animation: ball-spin-fade-loader 1s -0.6s infinite linear
}

.ball-spin-fade-loader>div:nth-child(5) {
  top: -25px;
  left: 0;
  -webkit-animation: ball-spin-fade-loader 1s -0.48s infinite linear;
  animation: ball-spin-fade-loader 1s -0.48s infinite linear
}

.ball-spin-fade-loader>div:nth-child(6) {
  top: -17.04545px;
  left: -17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.36s infinite linear;
  animation: ball-spin-fade-loader 1s -0.36s infinite linear
}

.ball-spin-fade-loader>div:nth-child(7) {
  top: 0;
  left: -25px;
  -webkit-animation: ball-spin-fade-loader 1s -0.24s infinite linear;
  animation: ball-spin-fade-loader 1s -0.24s infinite linear
}

.ball-spin-fade-loader>div:nth-child(8) {
  top: 17.04545px;
  left: -17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.12s infinite linear;
  animation: ball-spin-fade-loader 1s -0.12s infinite linear
}

.ball-spin-fade-loader>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute
}

@-webkit-keyframes ball-spin-loader {
  75% {
      opacity: 0.2
  }

  100% {
      opacity: 1
  }
}

@keyframes ball-spin-loader {
  75% {
      opacity: 0.2
  }

  100% {
      opacity: 1
  }
}

.ball-spin-loader {
  position: relative
}

.ball-spin-loader>span:nth-child(1) {
  top: 45px;
  left: 0;
  -webkit-animation: ball-spin-loader 2s 0.9s infinite linear;
  animation: ball-spin-loader 2s 0.9s infinite linear
}

.ball-spin-loader>span:nth-child(2) {
  top: 30.68182px;
  left: 30.68182px;
  -webkit-animation: ball-spin-loader 2s 1.8s infinite linear;
  animation: ball-spin-loader 2s 1.8s infinite linear
}

.ball-spin-loader>span:nth-child(3) {
  top: 0;
  left: 45px;
  -webkit-animation: ball-spin-loader 2s 2.7s infinite linear;
  animation: ball-spin-loader 2s 2.7s infinite linear
}

.ball-spin-loader>span:nth-child(4) {
  top: -30.68182px;
  left: 30.68182px;
  -webkit-animation: ball-spin-loader 2s 3.6s infinite linear;
  animation: ball-spin-loader 2s 3.6s infinite linear
}

.ball-spin-loader>span:nth-child(5) {
  top: -45px;
  left: 0;
  -webkit-animation: ball-spin-loader 2s 4.5s infinite linear;
  animation: ball-spin-loader 2s 4.5s infinite linear
}

.ball-spin-loader>span:nth-child(6) {
  top: -30.68182px;
  left: -30.68182px;
  -webkit-animation: ball-spin-loader 2s 5.4s infinite linear;
  animation: ball-spin-loader 2s 5.4s infinite linear
}

.ball-spin-loader>span:nth-child(7) {
  top: 0;
  left: -45px;
  -webkit-animation: ball-spin-loader 2s 6.3s infinite linear;
  animation: ball-spin-loader 2s 6.3s infinite linear
}

.ball-spin-loader>span:nth-child(8) {
  top: 30.68182px;
  left: -30.68182px;
  -webkit-animation: ball-spin-loader 2s 7.2s infinite linear;
  animation: ball-spin-loader 2s 7.2s infinite linear
}

.ball-spin-loader>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background: green
}

@-webkit-keyframes ball-zig {
  33% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  66% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@keyframes ball-zig {
  33% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  66% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@-webkit-keyframes ball-zag {
  33% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  66% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@keyframes ball-zag {
  33% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  66% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

.ball-zig-zag {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px)
}

.ball-zig-zag>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px
}

.ball-zig-zag>div:first-child {
  -webkit-animation: ball-zig 0.7s 0s infinite linear;
  animation: ball-zig 0.7s 0s infinite linear
}

.ball-zig-zag>div:last-child {
  -webkit-animation: ball-zag 0.7s 0s infinite linear;
  animation: ball-zag 0.7s 0s infinite linear
}

@-webkit-keyframes ball-zig-deflect {
  17% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  34% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  50% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }

  67% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  84% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@keyframes ball-zig-deflect {
  17% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  34% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  50% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }

  67% {
      -webkit-transform: translate(15px, -30px);
      transform: translate(15px, -30px)
  }

  84% {
      -webkit-transform: translate(-15px, -30px);
      transform: translate(-15px, -30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@-webkit-keyframes ball-zag-deflect {
  17% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  34% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  50% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }

  67% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  84% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

@keyframes ball-zag-deflect {
  17% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  34% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  50% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }

  67% {
      -webkit-transform: translate(-15px, 30px);
      transform: translate(-15px, 30px)
  }

  84% {
      -webkit-transform: translate(15px, 30px);
      transform: translate(15px, 30px)
  }

  100% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0)
  }
}

.ball-zig-zag-deflect {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px)
}

.ball-zig-zag-deflect>div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px
}

.ball-zig-zag-deflect>div:first-child {
  -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
  animation: ball-zig-deflect 1.5s 0s infinite linear
}

.ball-zig-zag-deflect>div:last-child {
  -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
  animation: ball-zag-deflect 1.5s 0s infinite linear
}

@-webkit-keyframes line-scale {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  50% {
      -webkit-transform: scaley(0.4);
      transform: scaley(0.4)
  }

  100% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

@keyframes line-scale {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  50% {
      -webkit-transform: scaley(0.4);
      transform: scaley(0.4)
  }

  100% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

.line-scale>div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.line-scale>div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.line-scale>div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.line-scale>div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.line-scale>div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08)
}

.line-scale>div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block
}

@-webkit-keyframes line-scale-party {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }

  50% {
      -webkit-transform: scale(0.5);
      transform: scale(0.5)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

@keyframes line-scale-party {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }

  50% {
      -webkit-transform: scale(0.5);
      transform: scale(0.5)
  }

  100% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }
}

.line-scale-party>div:nth-child(1) {
  -webkit-animation-delay: 0.48s;
  animation-delay: 0.48s;
  -webkit-animation-duration: 0.54s;
  animation-duration: 0.54s
}

.line-scale-party>div:nth-child(2) {
  -webkit-animation-delay: -0.15s;
  animation-delay: -0.15s;
  -webkit-animation-duration: 1.15s;
  animation-duration: 1.15s
}

.line-scale-party>div:nth-child(3) {
  -webkit-animation-delay: 0.04s;
  animation-delay: 0.04s;
  -webkit-animation-duration: 0.77s;
  animation-duration: 0.77s
}

.line-scale-party>div:nth-child(4) {
  -webkit-animation-delay: -0.12s;
  animation-delay: -0.12s;
  -webkit-animation-duration: 0.61s;
  animation-duration: 0.61s
}

.line-scale-party>div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-name: line-scale-party;
  animation-name: line-scale-party;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0
}

@-webkit-keyframes line-scale-pulse-out {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  50% {
      -webkit-transform: scaley(0.4);
      transform: scaley(0.4)
  }

  100% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

@keyframes line-scale-pulse-out {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  50% {
      -webkit-transform: scaley(0.4);
      transform: scaley(0.4)
  }

  100% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

.line-scale-pulse-out>div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
  animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85)
}

.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4) {
  -webkit-animation-delay: -0.4s !important;
  animation-delay: -0.4s !important
}

.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5) {
  -webkit-animation-delay: -0.2s !important;
  animation-delay: -0.2s !important
}

@-webkit-keyframes line-scale-pulse-out-rapid {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  80% {
      -webkit-transform: scaley(0.3);
      transform: scaley(0.3)
  }

  90% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

@keyframes line-scale-pulse-out-rapid {
  0% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }

  80% {
      -webkit-transform: scaley(0.3);
      transform: scaley(0.3)
  }

  90% {
      -webkit-transform: scaley(1);
      transform: scaley(1)
  }
}

.line-scale-pulse-out-rapid>div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  vertical-align: middle;
  -webkit-animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
  animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78)
}

.line-scale-pulse-out-rapid>div:nth-child(2),.line-scale-pulse-out-rapid>div:nth-child(4) {
  -webkit-animation-delay: -0.25s !important;
  animation-delay: -0.25s !important
}

.line-scale-pulse-out-rapid>div:nth-child(1),.line-scale-pulse-out-rapid>div:nth-child(5) {
  -webkit-animation-delay: 0s !important;
  animation-delay: 0s !important
}

@-webkit-keyframes line-spin-fade-loader {
  50% {
      opacity: 0.3
  }

  100% {
      opacity: 1
  }
}

@keyframes line-spin-fade-loader {
  50% {
      opacity: 0.3
  }

  100% {
      opacity: 1
  }
}

.line-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -4px
}

.line-spin-fade-loader>div:nth-child(1) {
  top: 20px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(2) {
  top: 13.63636px;
  left: 13.63636px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(3) {
  top: 0;
  left: 20px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(4) {
  top: -13.63636px;
  left: 13.63636px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(5) {
  top: -20px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(6) {
  top: -13.63636px;
  left: -13.63636px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(7) {
  top: 0;
  left: -20px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out
}

.line-spin-fade-loader>div:nth-child(8) {
  top: 13.63636px;
  left: -13.63636px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out
}

.line-spin-fade-loader>div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 5px;
  height: 15px
}

@-webkit-keyframes triangle-skew-spin {
  25% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
      transform: perspective(100px) rotateX(180deg) rotateY(0)
  }

  50% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
      transform: perspective(100px) rotateX(180deg) rotateY(180deg)
  }

  75% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
      transform: perspective(100px) rotateX(0) rotateY(180deg)
  }

  100% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
      transform: perspective(100px) rotateX(0) rotateY(0)
  }
}

@keyframes triangle-skew-spin {
  25% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
      transform: perspective(100px) rotateX(180deg) rotateY(0)
  }

  50% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
      transform: perspective(100px) rotateX(180deg) rotateY(180deg)
  }

  75% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
      transform: perspective(100px) rotateX(0) rotateY(180deg)
  }

  100% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
      transform: perspective(100px) rotateX(0) rotateY(0)
  }
}

.triangle-skew-spin>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #fff;
  -webkit-animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite
}

@-webkit-keyframes square-spin {
  25% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
      transform: perspective(100px) rotateX(180deg) rotateY(0)
  }

  50% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
      transform: perspective(100px) rotateX(180deg) rotateY(180deg)
  }

  75% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
      transform: perspective(100px) rotateX(0) rotateY(180deg)
  }

  100% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
      transform: perspective(100px) rotateX(0) rotateY(0)
  }
}

@keyframes square-spin {
  25% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
      transform: perspective(100px) rotateX(180deg) rotateY(0)
  }

  50% {
      -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
      transform: perspective(100px) rotateX(180deg) rotateY(180deg)
  }

  75% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
      transform: perspective(100px) rotateX(0) rotateY(180deg)
  }

  100% {
      -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
      transform: perspective(100px) rotateX(0) rotateY(0)
  }
}

.square-spin>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 50px;
  height: 50px;
  background: #fff;
  -webkit-animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite
}

@-webkit-keyframes rotate_pacman_half_up {
  0% {
      -webkit-transform: rotate(270deg);
      transform: rotate(270deg)
  }

  50% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }

  100% {
      -webkit-transform: rotate(270deg);
      transform: rotate(270deg)
  }
}

@keyframes rotate_pacman_half_up {
  0% {
      -webkit-transform: rotate(270deg);
      transform: rotate(270deg)
  }

  50% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }

  100% {
      -webkit-transform: rotate(270deg);
      transform: rotate(270deg)
  }
}

@-webkit-keyframes rotate_pacman_half_down {
  0% {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg)
  }

  50% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  100% {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg)
  }
}

@keyframes rotate_pacman_half_down {
  0% {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg)
  }

  50% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  100% {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg)
  }
}

@-webkit-keyframes pacman-balls {
  75% {
      opacity: 0.7
  }

  100% {
      -webkit-transform: translate(-100px, -6.25px);
      transform: translate(-100px, -6.25px)
  }
}

@keyframes pacman-balls {
  75% {
      opacity: 0.7
  }

  100% {
      -webkit-transform: translate(-100px, -6.25px);
      transform: translate(-100px, -6.25px)
  }
}

.pacman {
  position: relative
}

.pacman>div:nth-child(2) {
  -webkit-animation: pacman-balls 1s -0.99s infinite linear;
  animation: pacman-balls 1s -0.99s infinite linear
}

.pacman>div:nth-child(3) {
  -webkit-animation: pacman-balls 1s -0.66s infinite linear;
  animation: pacman-balls 1s -0.66s infinite linear
}

.pacman>div:nth-child(4) {
  -webkit-animation: pacman-balls 1s -0.33s infinite linear;
  animation: pacman-balls 1s -0.33s infinite linear
}

.pacman>div:nth-child(5) {
  -webkit-animation: pacman-balls 1s 0s infinite linear;
  animation: pacman-balls 1s 0s infinite linear
}

.pacman>div:first-of-type {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #fff;
  border-left: 25px solid #fff;
  border-bottom: 25px solid #fff;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
  animation: rotate_pacman_half_up 0.5s 0s infinite;
  position: relative;
  left: -30px
}

.pacman>div:nth-child(2) {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #fff;
  border-left: 25px solid #fff;
  border-bottom: 25px solid #fff;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
  animation: rotate_pacman_half_down 0.5s 0s infinite;
  margin-top: -50px;
  position: relative;
  left: -30px
}

.pacman>div:nth-child(3),.pacman>div:nth-child(4),.pacman>div:nth-child(5),.pacman>div:nth-child(6) {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  width: 10px;
  height: 10px;
  position: absolute;
  -webkit-transform: translate(0, -6.25px);
  transform: translate(0, -6.25px);
  top: 25px;
  left: 70px
}

@-webkit-keyframes cube-transition {
  25% {
      -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
      transform: translateX(50px) scale(0.5) rotate(-90deg)
  }

  50% {
      -webkit-transform: translate(50px, 50px) rotate(-180deg);
      transform: translate(50px, 50px) rotate(-180deg)
  }

  75% {
      -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
      transform: translateY(50px) scale(0.5) rotate(-270deg)
  }

  100% {
      -webkit-transform: rotate(-360deg);
      transform: rotate(-360deg)
  }
}

@keyframes cube-transition {
  25% {
      -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
      transform: translateX(50px) scale(0.5) rotate(-90deg)
  }

  50% {
      -webkit-transform: translate(50px, 50px) rotate(-180deg);
      transform: translate(50px, 50px) rotate(-180deg)
  }

  75% {
      -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
      transform: translateY(50px) scale(0.5) rotate(-270deg)
  }

  100% {
      -webkit-transform: rotate(-360deg);
      transform: rotate(-360deg)
  }
}

.cube-transition {
  position: relative;
  -webkit-transform: translate(-25px, -25px);
  transform: translate(-25px, -25px)
}

.cube-transition>div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 10px;
  height: 10px;
  position: absolute;
  top: -5px;
  left: -5px;
  background-color: #fff;
  -webkit-animation: cube-transition 1.6s 0s infinite ease-in-out;
  animation: cube-transition 1.6s 0s infinite ease-in-out
}

.cube-transition>div:last-child {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s
}

@-webkit-keyframes spin-rotate {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  50% {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg)
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }
}

@keyframes spin-rotate {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg)
  }

  50% {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg)
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg)
  }
}

.semi-circle-spin {
  position: relative;
  width: 35px;
  height: 35px;
  overflow: hidden
}

.semi-circle-spin>div {
  position: absolute;
  border-width: 0px;
  border-radius: 100%;
  -webkit-animation: spin-rotate 0.6s 0s infinite linear;
  animation: spin-rotate 0.6s 0s infinite linear;
  background-image: linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
  width: 100%;
  height: 100%
}

@font-face {
  font-family: "slick";
  src: url('/fonts/slick.eot');
  src: url('/fonts/slick.eot?#iefix') format("embedded-opentype"),url('/fonts/slick.woff') format("woff"),url('/fonts/slick.ttf') format("truetype"),url('/fonts/slick.svg#slick') format("svg");
  font-weight: normal;
  font-style: normal
}

.slick-prev,.slick-next {
  position: absolute;
  display: block;
  width: 2.4vw;
  height: 4.6vw;
  max-width: 20px;
  max-height: 30px;
  text-indent: -9999px;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  z-index: 100;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none
}

.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent
}

.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before {
  opacity: 1
}

.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before {
  opacity: .25
}

.slick-prev.slick-disabled,.slick-next.slick-disabled {
  opacity: 0
}

.slick-prev:before,.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: #fff;
  opacity: .75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.slick-prev {
  left: clamp(-30px, -2vw, -20px)
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: clamp(-30px, -2vw, -20px)
}

[dir="rtl"] .slick-prev:before {
  content: "→"
}

.slick-next {
  right: clamp(-30px, -2vw, -20px)
}

[dir="rtl"] .slick-next {
  left: clamp(-30px, -2vw, -20px);
  right: auto
}

[dir="rtl"] .slick-next:before {
  content: "←"
}

.slick-prev {
  background-image: url("../images/common/1x/arrow-left-pink.png")
}

.is-pink .slick-prev {
  background-image: url(../images/common/1x/arrow-left-pink.png)
}

.is-red .slick-prev {
  background-image: url(../images/common/1x/arrow-left-red.png)
}

.is-purple .slick-prev {
  background-image: url(../images/common/1x/arrow-left-purple.png)
}

.is-yellow .slick-prev {
  background-image: url(../images/common/1x/arrow-left-yellow.png)
}

.is-lightblue .slick-prev {
  background-image: url(../images/common/1x/arrow-left-lightblue.png)
}

.is-green .slick-prev {
  background-image: url(../images/common/1x/arrow-left-green.png)
}

.is-blue .slick-prev {
  background-image: url(../images/common/1x/arrow-left-blue.png)
}

.is-orange .slick-prev {
  background-image: url(../images/common/1x/arrow-left-orange.png)
}

.is-black .slick-prev {
  background-image: url(../images/common/1x/arrow-left-black.png)
}

.is-white .slick-prev {
  background-image: url(../images/common/1x/arrow-left-white.png)
}

.slick-next {
  background-image: url("../images/common/1x/arrow-right-pink.png")
}

.is-pink .slick-next {
  background-image: url(../images/common/1x/arrow-right-pink.png)
}

.is-red .slick-next {
  background-image: url(../images/common/1x/arrow-right-red.png)
}

.is-purple .slick-next {
  background-image: url(../images/common/1x/arrow-right-purple.png)
}

.is-yellow .slick-next {
  background-image: url(../images/common/1x/arrow-right-yellow.png)
}

.is-lightblue .slick-next {
  background-image: url(../images/common/1x/arrow-right-lightblue.png)
}

.is-green .slick-next {
  background-image: url(../images/common/1x/arrow-right-green.png)
}

.is-blue .slick-next {
  background-image: url(../images/common/1x/arrow-right-blue.png)
}

.is-orange .slick-next {
  background-image: url(../images/common/1x/arrow-right-orange.png)
}

.is-black .slick-next {
  background-image: url(../images/common/1x/arrow-right-black.png)
}

.is-white .slick-next {
  background-image: url(../images/common/1x/arrow-right-white.png)
}

.slick-dotted.slick-slider {
  margin-bottom: 35px
}

.slick-dots {
  position: absolute;
  bottom: -20px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 0;
  padding: 0;
  cursor: pointer
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer
}

.slick-dots li button:hover,.slick-dots li button:focus {
  outline: none
}

.slick-dots li button:hover:before,.slick-dots li button:focus:before {
  opacity: 1
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  opacity: .25;
  -webkit-font-smoothing: antialiased
}

.is-pink .slick-dots li button:before {
  color: #ef889a
}

.is-red .slick-dots li button:before {
  color: #eb5751
}

.is-purple .slick-dots li button:before {
  color: #d0abcf
}

.is-yellow .slick-dots li button:before {
  color: #fccf53
}

.is-lightblue .slick-dots li button:before {
  color: #67c6df
}

.is-green .slick-dots li button:before {
  color: #9bcb6c
}

.is-blue .slick-dots li button:before {
  color: #78a0d4
}

.is-orange .slick-dots li button:before {
  color: #f6ad41
}

.is-black .slick-dots li button:before {
  color: #9e9e9f
}

.is-white .slick-dots li button:before {
  color: #f3c7ca
}

.slick-dots li.slick-active button:before {
  color: #000;
  opacity: .75
}

.is-pink .slick-dots li.slick-active button:before {
  color: #ef889a
}

.is-red .slick-dots li.slick-active button:before {
  color: #eb5751
}

.is-purple .slick-dots li.slick-active button:before {
  color: #d0abcf
}

.is-yellow .slick-dots li.slick-active button:before {
  color: #fccf53
}

.is-lightblue .slick-dots li.slick-active button:before {
  color: #67c6df
}

.is-green .slick-dots li.slick-active button:before {
  color: #9bcb6c
}

.is-blue .slick-dots li.slick-active button:before {
  color: #78a0d4
}

.is-orange .slick-dots li.slick-active button:before {
  color: #f6ad41
}

.is-black .slick-dots li.slick-active button:before {
  color: #9e9e9f
}

.is-white .slick-dots li.slick-active button:before {
  color: #f3c7ca
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track,.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.slick-track:before,.slick-track:after {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir="rtl"] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.l-loader {
  display: none;
  width: 100vw;
  height: 100lvh;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  display: flex;
  flex-wrap: wrap;
  pointer-events: none;
  background-size: cover;
  opacity: 0
}

.l-loader.is-active {
  opacity: 1
}

@keyframes dot_animation {
  0% {
      opacity: 0
  }

  24% {
      opacity: 0
  }

  25% {
      opacity: 1
  }
}

@keyframes dot_animation2 {
  0% {
      opacity: 0
  }

  49% {
      opacity: 0
  }

  50% {
      opacity: 1
  }
}

@keyframes dot_animation3 {
  0% {
      opacity: 0
  }

  74% {
      opacity: 0
  }

  75% {
      opacity: 1
  }
}

.l-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  z-index: 2;
  overflow: hidden
}

.l-background {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  z-index: 0;
  background-size: cover;
  z-index: 1;
  background-size: cover
}

@media screen and (max-width: 767px) {
  .l-background {
      background-size:cover
  }
}

.l-screen {
  height: 100%;
  overflow: scroll;
  position: absolute;
  box-sizing: border-box;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  box-sizing: border-box
}

.l-screen.is-show {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

@media screen and (min-width: 767px) {
  .l-screen--no-padding {
      padding:0;
      padding-top: 80px
  }

  .l-screen--opening {
      padding: 0;
      min-height: 100%
  }
}

.c-grid {
  margin-bottom: clamp(20px, 10%, 60px)
}

.c-grid__row {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-left: -1.65vw;
  margin-right: -1.65vw;
  margin-bottom: -1.65vw
}

.c-grid__col--sm-1 {
  width: 8.33333%
}

.c-grid__col--sm-2 {
  width: 16.66667%
}

.c-grid__col--sm-3 {
  width: 25%
}

.c-grid__col--sm-4 {
  width: 33.33333%
}

.c-grid__col--sm-5 {
  width: 41.66667%
}

.c-grid__col--sm-6 {
  width: 50%
}

.c-grid__col--sm-7 {
  width: 58.33333%
}

.c-grid__col--sm-8 {
  width: 66.66667%
}

.c-grid__col--sm-9 {
  width: 75%
}

.c-grid__col--sm-10 {
  width: 83.33333%
}

.c-grid__col--sm-11 {
  width: 91.66667%
}

.c-grid__col--sm-12 {
  width: 100%
}

[class*='c-grid__col'] {
  box-sizing: border-box
}

[class*='c-grid__col--sm'] {
  padding: 0 1.65vw;
  margin-bottom: 1.65vw
}

@media screen and (min-width: 767px) {
  .c-grid__row {
      margin-left:-15px;
      margin-right: -15px;
      margin-bottom: -15px
  }

  .c-grid__col--lg-1 {
      width: 8.33333%
  }

  .c-grid__col--lg-2 {
      width: 16.66667%
  }

  .c-grid__col--lg-3 {
      width: 25%
  }

  .c-grid__col--lg-4 {
      width: 33.33333%
  }

  .c-grid__col--lg-5 {
      width: 41.66667%
  }

  .c-grid__col--lg-6 {
      width: 50%
  }

  .c-grid__col--lg-7 {
      width: 58.33333%
  }

  .c-grid__col--lg-8 {
      width: 66.66667%
  }

  .c-grid__col--lg-9 {
      width: 75%
  }

  .c-grid__col--lg-10 {
      width: 83.33333%
  }

  .c-grid__col--lg-11 {
      width: 91.66667%
  }

  .c-grid__col--lg-12 {
      width: 100%
  }

  [class*='c-grid__col--lg'] {
      padding: 0 15px;
      margin-bottom: 15px
  }
}

.c-inner {
  width: 86%;
  margin: 0 auto
}

.c-title {
  font-size: 5.5vw
}

.c-text {
  font-size: 3.8vw;
  line-height: 1.4;
  margin-top: 1em
}

.c-text--large {
  font-size: 5vw
}

.c-button {
  width: 100%;
  font-size: 4.5vw;
  line-height: 1;
  padding: 1em;
  box-sizing: border-box;
  border-radius: 7.5vw
}

.c-button--primary {
  color: #fff;
  background-color: #0b2241;
  border: 1px solid #0b2241
}

.c-button--secondary {
  color: #000;
  background-color: #fff;
  border: 1px solid #0b2241
}

.c-button--small {
  width: 80%;
  background-color: #0b2241;
  border: 1px solid #0b2241;
  color: #fff
}

.c-button__item {
  margin-bottom: 10px
}

.c-button__item:last-child {
  margin-bottom: 0
}

.c-modal__wrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none
}

.c-modal__wrap.is-active {
  pointer-events: all;
  animation-name: show;
  animation-duration: .7s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-fill-mode: forwards
}

.c-modal__inner {
  box-sizing: border-box;
  width: 80vw;
  background-color: #fff;
  padding: 10% 5%;
  border-radius: 6px;
  box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
  opacity: 0
}

.is-active .c-modal__inner {
  pointer-events: all;
  animation-name: vertical_show;
  animation-duration: .3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  animation-delay: .2s
}

@keyframes show {
  0% {
      opacity: 0
  }

  100% {
      opacity: 1
  }
}

@keyframes vertical_show {
  0% {
      transform: translate(0, 10px);
      opacity: 0
  }

  100% {
      transform: translate(0, 0);
      opacity: 1
  }
}

#js-show-preview {
  opacity: 1
}

#js-show-preview:disabled {
  opacity: .5
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.pc {
  display: block
}

.sp {
  display: none
}

@media screen and (max-width: 767px) {
  .pc {
      display:none
  }

  .sp {
      display: block
  }
}

.header-navigation__wrap {
  position: fixed
}

.commonImportHeader>iframe {
  display: none
}

.commonImportFooter>iframe {
  display: none
}

.p-background-fixexd {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: url("../images/background.jpg") no-repeat center center fixed;
  background-size: cover;
  left: 0;
  top: 0;
  z-index: 0;
  pointer-events: none
}

@media screen and (max-width: 767px) {
  .p-background-fixexd {
      background:url("../images/background_sp.jpg") no-repeat center center
  }
}

.contentContainer {
  z-index: 1;
  position: relative;
  -webkit-font-smoothing: antialiased;
  color: #1A1A1C;
  /* font-family: "Noto Sans JP",sans-serif; */
  text-align: center
}

@media screen and (max-width: 767px) {
  :root {
      --kv-height:149.48718vw
  }
}

.p-kv {
  width: 100%;
  background-size: cover;
  overflow: hidden;
  width: var(--kv-width);
  height: var(--kv-height);
  transition: height 0.01s linear, width 0.01s linear;
  position: fixed;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: 0;
  top: var(--header-height)
}

@media screen and (max-width: 767px) {
  .p-kv {
      width:calc(390 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-kv {
      height:calc(769 / 1366 * 100vw);
      width: calc(1366 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-kv {
      height:769px;
      width: 1366px
  }
}

.p-mainvisual {
  display: block;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-mainvisual {
      width:calc(390 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-mainvisual {
      height:calc(769 / 1366 * 100vw);
      width: calc(1366 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-mainvisual {
      height:769px;
      width: 1366px
  }
}

.p-main-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-main-list {
      width:calc(1140 / 1366 * 100vw);
      gap: calc(32 / 1366 * 100vw);
      margin-top: calc(53 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-main-list {
      width:1140px;
      gap: 32px;
      margin-top: 53px
  }
}

.p-main-list img {
  display: block
}

@media screen and (max-width: 767px) {
  .p-main-list img {
      width:calc(117 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-main-list img {
      width:calc(261 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-main-list img {
      width:261px
  }
}

.p-main-list__row {
  display: contents
}

@media screen and (max-width: 767px) {
  .p-main-list {
      display:flex;
      flex-direction: column;
      margin-top: 16.92308vw;
      width: 94.10256vw;
      gap: 2.05128vw
  }

  .p-main-list__row {
      display: flex;
      justify-content: center;
      flex-direction: row;
      gap: 2.05128vw;
      width: 94.10256vw
  }
}

.p-container {
  z-index: 1;
  width: 100%
}
@media screen and (max-width: 767px) {
  .p-container {
    padding-bottom: 120px;
  }
}

.is-fadein {
  -webkit-transition: all 1.5s ease;
  -moz-transition: all 1.5s ease;
  -ms-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
  transform: translate(0, 50px)
}

.is-fadein.is-active {
  opacity: 1;
  transform: translate(0, 0)
}

.is-fadein-left {
  -webkit-transition: all 1.5s ease;
  -moz-transition: all 1.5s ease;
  -ms-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
  transform: translate(-10%, 10%) rotate(-3deg) !important
}

.is-fadein-left.is-active {
  opacity: 1 !important;
  transform: translate(0, 0) rotate(-3deg) !important
}

.is-fadein-right {
  -webkit-transition: all 1.5s ease;
  -moz-transition: all 1.5s ease;
  -ms-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
  transform: translate(10%, 10%) rotate(3deg) !important
}

.is-fadein-right.is-active {
  opacity: 1;
  transform: translate(0, 0) rotate(3deg) !important
}

.parallax-target {
  transform: translateY(0);
  will-change: transform;
  transition: transform 0.1s ease-out;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 2
}

@media screen and (max-width: 767px) {
  .parallax-target {
      transform:translateY(0) !important
  }
}

.is-textanimation-wrapper {
  line-height: 1;
  overflow: hidden;
  display: block
}

.is-textanimation {
  display: block
}

.is-textanimation span {
  display: inline-block;
  line-height: 1;
  opacity: 0;
  transform: translateY(1em);
  transition: opacity 0.4s ease, transform 0.4s ease
}

.is-textanimation.is-active span {
  opacity: 1;
  transform: translateY(0)
}

.p-top-message {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-top-message {
      flex-direction:column
  }
}

@media screen and (max-width: 767px) {
  .p-top-message {
      margin-bottom:calc(81 / 390 * 100vw);
      margin-top: calc(48 / 390 * 100vw);
      gap: calc(32 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-message {
      width:calc(800 / 1366 * 100vw);
      gap: calc(80 / 1366 * 100vw);
      margin-top: calc(88 / 1366 * 100vw);
      margin-bottom: calc(120 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-message {
      width:800px;
      gap: 80px;
      margin-top: 88px;
      margin-bottom: 120px
  }
}

.p-top-text {
  color: #fff;
  /* font-family: "Noto Sans JP",sans-serif; */
  font-weight: 700;
  text-shadow: 1.56px 1.56px 6.23px 0px rgba(0,0,0,0.1)
}

@media screen and (max-width: 767px) {
  .p-top-text {
      text-shadow:1px 1px 4px rgba(0,0,0,0.1)
  }
}

@media screen and (max-width: 767px) {
  .p-top-text {
      font-size:calc(18 / 390 * 100vw);
      line-height: calc(32 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-text {
      font-size:calc(22 / 1366 * 100vw);
      line-height: calc(42 / 1366 * 100vw);
      margin-top: calc(10 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-text {
      font-size:22px;
      line-height: 42px;
      margin-top: 10px
  }
}

.p-top-en-text {
  font-family: "Gantari",sans-serif;
  font-weight: 800;
  color: #fff;
  letter-spacing: .04em;
  box-shadow: 2.35px 2.35px 7.63px 1.74px rggba(#000, 0.05)
}

@media screen and (max-width: 767px) {
  .p-top-en-text {
      font-size:calc(30 / 390 * 100vw);
      line-height: calc(36 / 390 * 100vw);
      margin-bottom: calc(30 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-en-text {
      font-size:calc(34 / 1366 * 100vw);
      line-height: calc(40 / 1366 * 100vw);
      margin-bottom: calc(30 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-en-text {
      font-size:34px;
      line-height: 40px;
      margin-bottom: 30px
  }
}

.p-top-logo {
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-top-logo {
      width:calc(273 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-logo {
      width:calc(385 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-logo {
      width:385px
  }
}

.p-top-button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 700;
  color: #1A1A1C;
  border-color: rgba(255,255,255,0.7);
  border-style: solid;
  backdrop-filter: blur(2.39261px);
  box-shadow: 1.59px 1.59px 3.18px 1.59px #0000000D;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

.p-top-button:after {
  content: "";
  display: block;
  background: url("../images/arrow.png") no-repeat center center/contain;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

@media screen and (max-width: 767px) {
  .p-top-button:after {
      width:calc(11 / 390 * 100vw);
      height: calc(11 / 390 * 100vw);
      margin-left: calc(11 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button:after {
      width:calc(18 / 1366 * 100vw);
      height: calc(18 / 1366 * 100vw);
      margin-left: calc(11 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button:after {
      width:18px;
      height: 18px;
      margin-left: 11px
  }
}

.p-top-button:hover:hover {
  transform: scale(1.035)
}

.p-top-button:hover:hover:after {
  transform: translate(0, 3px)
}

@media screen and (max-width: 767px) {
  .p-top-button {
      backdrop-filter:blur(1.75524px);
      box-shadow: 1.17px 1.17px 2.33px 1.17px #0000000D
  }
}

@media screen and (max-width: 767px) {
  .p-top-button {
      font-size:calc(14.93 / 390 * 100vw);
      width: calc(287 / 390 * 100vw);
      height: calc(64 / 390 * 100vw);
      border-radius: calc(32 / 390 * 100vw);
      border-width: calc(1.47 / 390 * 100vw);
      margin-bottom: calc(80 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button {
      font-size:calc(20 / 1366 * 100vw);
      width: calc(398 / 1366 * 100vw);
      height: calc(90 / 1366 * 100vw);
      border-radius: calc(45 / 1366 * 100vw);
      border-width: calc(2 / 1366 * 100vw);
      margin-bottom: calc(120 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button {
      font-size:20px;
      width: 398px;
      height: 90px;
      border-radius: 45px;
      border-width: 2px;
      margin-bottom: 120px
  }
}

.p-top-caption {
  font-weight: 500;
  line-height: 1.3
}

@media screen and (max-width: 767px) {
  .p-top-caption {
      font-size:calc(14 / 390 * 100vw);
      margin-bottom: calc(81 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-caption {
      font-size:calc(16 / 1366 * 100vw);
      margin-bottom: calc(218 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-caption {
      font-size:16px;
      margin-bottom: 218px
  }
}

.p-top-button-group-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-top-button-group-wrap {
      width:calc(346 / 390 * 100vw);
      gap: calc(40 / 390 * 100vw);
      margin-bottom: calc(56 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-group-wrap {
      width:calc(1056 / 1366 * 100vw);
      gap: calc(36 / 1366 * 100vw);
      margin-bottom: calc(80 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-group-wrap {
      width:1056px;
      gap: 36px;
      margin-bottom: 80px
  }
}

.p-top-button-group {
  display: flex;
  flex-direction: column
}

@media screen and (max-width: 767px) {
  .p-top-button-group {
      gap:calc(24 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-group {
      gap:calc(26 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-group {
      gap:26px
  }
}

.p-top-button-large {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1A1A1C;
  backdrop-filter: blur(3.00984px);
  box-shadow: 2px 2px 4px 2px #0000000D;
  background-color: rgba(255,255,255,0.7);
  width: 100%;
  font-weight: 500;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

.p-top-button-large:after {
  content: "";
  display: block;
  background: url("../images/arrow.png") no-repeat center center/contain;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

@media screen and (max-width: 767px) {
  .p-top-button-large:after {
      width:calc(11 / 390 * 100vw);
      height: calc(11 / 390 * 100vw);
      margin-left: calc(14 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-large:after {
      width:calc(18 / 1366 * 100vw);
      height: calc(18 / 1366 * 100vw);
      margin-left: calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-large:after {
      width:18px;
      height: 18px;
      margin-left: 24px
  }
}

.p-top-button-large:hover {
  opacity: .6
}

.p-top-button-large:hover:after {
  transform: translate(0, 3px)
}

@media screen and (max-width: 767px) {
  .p-top-button-large {
      backdrop-filter:blur(1.78322px);
      box-shadow: 1.18px 1.18px 2.37px 1.18px #0000000D
  }
}

@media screen and (max-width: 767px) {
  .p-top-button-large {
      height:calc(42 / 390 * 100vw);
      border-radius: calc(4 / 390 * 100vw);
      font-size: calc(14 / 390 * 100vw);
      border-width: calc(.59 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-large {
      height:calc(48 / 1366 * 100vw);
      border-radius: calc(8 / 1366 * 100vw);
      font-size: calc(18 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-large {
      height:48px;
      border-radius: 8px;
      font-size: 18px;
      border-width: 1px
  }
}

.p-top-button-small-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .p-top-button-small-wrap {
      gap:calc(16 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-small-wrap {
      gap:calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-small-wrap {
      gap:8px
  }
}

.p-top-button-small {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #fff;
  background-color: #1A1A1C;
  display: block;
  font-family: "Gantari",sans-serif;
  letter-spacing: .01em;
  font-weight: 700;
  line-height: 1.3;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

.p-top-button-small span {
  display: block;
  font-weight: 500
}

@media screen and (max-width: 767px) {
  .p-top-button-small span {
      font-size:calc(10.5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-small span {
      font-size:calc(10.5 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-small span {
      font-size:10.5px
  }
}

.p-top-button-small:hover {
  opacity: .6
}

@media screen and (max-width: 767px) {
  .p-top-button-small {
      width:calc(135 / 390 * 100vw);
      height: calc(52 / 390 * 100vw);
      border-radius: calc(6.72 / 390 * 100vw);
      font-size: calc(19.33 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-top-button-small {
      width:calc(140 / 1366 * 100vw);
      height: calc(54.25 / 1366 * 100vw);
      border-radius: calc(7 / 1366 * 100vw);
      font-size: calc(20 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-top-button-small {
      width:140px;
      height: 54.25px;
      border-radius: 7px;
      font-size: 20px
  }
}

.p-white-button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border-style: solid;
  border-color: #fff;
  background-color: rgba(255,255,255,0.7);
  white-space: nowrap;
  color: #1A1A1C;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  backdrop-filter: blur(3.00984px);
  box-shadow: 2px 2px 4px 2px #0000000D
}

.p-white-button:hover {
  opacity: .5
}

@media screen and (max-width: 767px) {
  .p-white-button {
      backdrop-filter:blur(2.25738px);
      box-shadow: 1.5px 1.5px 3px 1.5px #0000000D
  }
}

@media screen and (max-width: 767px) {
  .p-white-button {
      font-size:calc(13.5 / 390 * 100vw);
      width: calc(271 / 390 * 100vw);
      height: calc(48 / 390 * 100vw);
      border-radius: calc(24 / 390 * 100vw);
      margin-bottom: calc(81 / 390 * 100vw);
      border-width: calc(.75 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-white-button {
      font-size:calc(18 / 1366 * 100vw);
      width: calc(363 / 1366 * 100vw);
      height: calc(64 / 1366 * 100vw);
      border-radius: calc(32 / 1366 * 100vw);
      margin-bottom: calc(120 / 1366 * 100vw);
      border-width: calc(.59 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-white-button {
      font-size:18px;
      width: 363px;
      height: 64px;
      border-radius: 32px;
      margin-bottom: 120px;
      border-width: .59px
  }
}

.p-white-button.is-disabled {
  opacity: .4 !important;
  pointer-events: none !important
}

@media screen and (max-width: 767px) {
  .p-white-button--large {
      width:calc(346 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-white-button--large {
      width:calc(583 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-white-button--large {
      width:583px
  }
}

.p-white-button--question:before {
  content: "";
  display: block;
  background: url("../images/icon_question.png") no-repeat center center/contain
}

@media screen and (max-width: 767px) {
  .p-white-button--question:before {
      width:calc(29.25 / 390 * 100vw);
      height: calc(29.25 / 390 * 100vw);
      margin-right: calc(7.12 / 390 * 100vw);
      border-width: calc(.75 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-white-button--question:before {
      width:calc(39 / 1366 * 100vw);
      height: calc(39 / 1366 * 100vw);
      margin-right: calc(9.5 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-white-button--question:before {
      width:39px;
      height: 39px;
      margin-right: 9.5px;
      border-width: 1px
  }
}

.p-section-title {
  font-family: "Gantari",sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .01em;
  display: flex;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .p-section-title {
      font-size:calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title {
      font-size:calc(68 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title {
      font-size:68px
  }
}

@media screen and (max-width: 767px) {
  .p-section-title--colorlens {
      margin-bottom:calc(16 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title--colorlens {
      margin-bottom:calc(16 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title--colorlens {
      margin-bottom:16px
  }
}

@media screen and (max-width: 767px) {
  .p-section-title--small {
      font-size:calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title--small {
      font-size:calc(51 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title--small {
      font-size:51px
  }
}

.p-section-title-sub {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .p-section-title-sub {
      font-size:calc(22 / 390 * 100vw);
      margin-bottom: calc(16 / 390 * 100vw);
      margin-top: calc(9 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title-sub {
      font-size:calc(30 / 1366 * 100vw);
      margin-bottom: calc(24 / 1366 * 100vw);
      margin-top: calc(18 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title-sub {
      font-size:30px;
      margin-bottom: 24px;
      margin-top: 18px
  }
}

.p-section-title-sub-02 {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .p-section-title-sub-02 {
      font-size:calc(16 / 390 * 100vw);
      line-height: calc(26 / 390 * 100vw);
      margin-bottom: calc(24 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title-sub-02 {
      font-size:calc(22 / 1366 * 100vw);
      line-height: calc(42 / 1366 * 100vw);
      margin-bottom: calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title-sub-02 {
      font-size:22px;
      line-height: 42px;
      margin-bottom: 24px
  }
}

.p-section-title-category {
  background-color: rgba(255,255,255,0.2);
  display: flex;
  margin: 0 auto;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  border-style: solid;
  border-color: #fff;
  display: inline-block;
  vertical-align: middle;
  padding: 0 1.5em;
  margin: 0
}

.p-section-title-category__list {
  display: flex;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .p-section-title-category__list {
      gap:calc(8 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title-category__list {
      gap:calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title-category__list {
      gap:8px
  }
}

@media screen and (max-width: 767px) {
  .p-section-title-category {
      font-size:calc(14 / 390 * 100vw);
      height: calc(36 / 390 * 100vw);
      line-height: calc(34 / 390 * 100vw);
      border-radius: calc(3 / 390 * 100vw);
      border-width: calc(1 / 390 * 100vw);
      margin-bottom: calc(32 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-title-category {
      font-size:calc(15 / 1366 * 100vw);
      height: calc(36 / 1366 * 100vw);
      line-height: calc(34 / 1366 * 100vw);
      border-radius: calc(3 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw);
      margin-bottom: calc(77 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-title-category {
      font-size:15px;
      height: 36px;
      line-height: 34px;
      border-radius: 3px;
      border-width: 1px;
      margin-bottom: 77px
  }
}

.p-section-description-image {
  display: block;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-section-description-image {
      width:calc(280 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-section-description-image {
      width:calc(333 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-section-description-image {
      width:333px
  }
}

.p-card {
  position: relative;
  margin: 0 auto
}

.p-card__content {
  background: rgba(255,255,255,0.6);
  border-color: #fff;
  backdrop-filter: blur(16.5px);
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto
}

.p-card__content:after {
  content: "※7/3 販售開始";
  font-weight: 700;
  display: block;
  text-align: center
}

@media screen and (max-width: 767px) {
  .p-card__content:after {
      font-size:calc(16 / 390 * 100vw);
      line-height: calc(16 / 390 * 100vw);
      margin-top: calc(16 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__content:after {
      font-size:calc(18 / 1366 * 100vw);
      line-height: calc(16 / 1366 * 100vw);
      margin-top: calc(23 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__content:after {
      font-size:18px;
      line-height: 16px;
      margin-top: 23px
  }
}

@media screen and (max-width: 767px) {
  .p-card__content {
      width:calc(300 / 390 * 100vw);
      height: calc(430.36 / 390 * 100vw);
      border-width: calc(1 / 390 * 100vw);
      border-radius: calc(4.78 / 390 * 100vw);
      padding-top: calc(49 / 390 * 100vw);
      margin-right: calc(8.52 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__content {
      width:calc(500 / 1366 * 100vw);
      height: calc(458.33 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw);
      border-radius: calc(8 / 1366 * 100vw);
      padding-top: calc(77 / 1366 * 100vw);
      margin-right: calc(17 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__content {
      width:500px;
      height: 458.33px;
      border-width: 1px;
      border-radius: 8px;
      padding-top: 77px;
      margin-right: 17px
  }
}

@media screen and (max-width: 767px) {
  .p-card__content {
      height:auto;
      padding-bottom: 7.4359vw
  }
}

@media screen and (max-width: 767px) {
  .p-card {
      width:calc(360 / 390 * 100vw);
      padding-top: calc(401 / 390 * 100vw);
      padding-left: calc(42 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card {
      width:calc(566 / 1366 * 100vw);
      padding-top: calc(650 / 1366 * 100vw);
      margin-left: calc(38 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card {
      width:566px;
      padding-top: 650px;
      margin-left: 38px
  }
}

.p-card__head {
  display: flex;
  transform: rotate(-3deg);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  gap: 0
}

.p-product-section__item--rtl .p-card__head {
  transform: rotate(3deg)
}

@media screen and (max-width: 767px) {
  .p-card__head {
      margin-left:calc(12 / 390 * 100vw);
      margin-top: calc(5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__head {
      margin-left:calc(-20 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__head {
      margin-left:-20px
  }
}

.p-card__name {
  font-family: "Gantari",sans-serif;
  writing-mode: vertical-rl;
  color: #1A1A1C;
  text-align: left;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  align-items: center;
  text-transform: uppercase;
  width: 1em;
  padding: 0;
  margin-left: .3em
}

.p-card__name .dot {
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  background-color: #1A1A1C
}

@media screen and (max-width: 767px) {
  .p-card__name .dot {
      width:calc(4.78 / 390 * 100vw);
      height: calc(4.78 / 390 * 100vw);
      margin-bottom: calc(5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__name .dot {
      width:calc(8 / 1366 * 100vw);
      height: calc(8 / 1366 * 100vw);
      margin-bottom: calc(9 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__name .dot {
      width:8px;
      height: 8px;
      margin-bottom: 9px
  }
}

.p-card__name .border {
  background-color: #1A1A1C
}

@media screen and (max-width: 767px) {
  .p-card__name .border {
      width:calc(1 / 390 * 100vw);
      height: calc(10 / 390 * 100vw);
      margin-top: calc(7 / 390 * 100vw);
      margin-bottom: calc(7 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__name .border {
      width:calc(1 / 1366 * 100vw);
      height: calc(16 / 1366 * 100vw);
      margin-top: calc(10 / 1366 * 100vw);
      margin-bottom: calc(10 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__name .border {
      width:1px;
      height: 16px;
      margin-top: 10px;
      margin-bottom: 10px
  }
}

@media screen and (max-width: 767px) {
  .p-card__name {
      font-size:calc(14.5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__name {
      font-size:calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__name {
      font-size:24px
  }
}

.p-card__image {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative
}

.p-card__image img {
  object-fit: cover
}

.p-card__image-wrap {
  position: relative;
  overflow: hidden
}

@media screen and (max-width: 767px) {
  .p-card__image-wrap {
      width:calc(329.6475 / 390 * 100vw);
      height: calc(418.6 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__image-wrap {
      width:calc(525 / 1366 * 100vw);
      height: calc(700 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__image-wrap {
      width:525px;
      height: 700px
  }
}

.p-card__image li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transform: translateX(-100%);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1),opacity 0.4s ease;
  list-style: none
}

.p-card__image li.active {
  opacity: 1;
  transform: translateX(0%);
  z-index: 1
}

.p-card__tag {
  background: linear-gradient(90deg, #CFE9F9 0%, #C2C8F6 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #1A1A1C;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .p-card__tag {
      width:calc(157.4 / 390 * 100vw);
      height: calc(28 / 390 * 100vw);
      border-radius: calc(14 / 390 * 100vw);
      font-size: calc(11.7 / 390 * 100vw);
      margin-bottom: calc(11 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__tag {
      width:calc(180 / 1366 * 100vw);
      height: calc(32 / 1366 * 100vw);
      font-size: calc(13.38 / 1366 * 100vw);
      border-radius: calc(16 / 1366 * 100vw);
      margin-bottom: calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__tag {
      width:180px;
      height: 32px;
      font-size: 13.38px;
      border-radius: 16px;
      margin-bottom: 8px
  }
}

.p-card__product {
  margin: 0 auto
}

.p-card__product img {
  mix-blend-mode: multiply
}

@media screen and (max-width: 767px) {
  .p-card__product {
      width:calc(260 / 390 * 100vw);
      margin-bottom: calc(22 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__product {
      width:calc(418 / 1366 * 100vw);
      margin-bottom: calc(34 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__product {
      width:418px;
      margin-bottom: 34px
  }
}

.p-card__button-list {
  display: flex;
  /* justify-content: space-between; */
  justify-content: center;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-card__button-list {
      flex-direction:column
  }
}

@media screen and (max-width: 767px) {
  .p-card__button-list {
      width:calc(240 / 390 * 100vw);
      gap: calc(11 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__button-list {
      width:calc(453 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__button-list {
      width:453px
  }
}

.p-card__button {
  background-color: #1A1A1C;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  border-color: #1A1A1C;
  border-style: solid
}

.p-card__button.is-disabled {
  opacity: .4;
  pointer-events: none
}

.p-card__button:before {
  content: "";
  display: block;
  background-color: #fff
}

@media screen and (max-width: 767px) {
  .p-card__button:before {
      width:calc(7.82 / 390 * 100vw);
      height: calc(7.82 / 390 * 100vw);
      border-radius: calc(3.91 / 390 * 100vw);
      margin-right: calc(5.82 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__button:before {
      width:calc(8 / 1366 * 100vw);
      height: calc(8 / 1366 * 100vw);
      border-radius: calc(4 / 1366 * 100vw);
      margin-right: calc(10 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__button:before {
      width:8px;
      height: 8px;
      border-radius: 4px;
      margin-right: 10px
  }
}

.p-card__button:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  background: url("../images/arrow-right-white.png") no-repeat center center/contain;
  transform: translate(0, -50%)
}

@media screen and (max-width: 767px) {
  .p-card__button:after {
      width:calc(28 / 390 * 100vw);
      height: calc(28 / 390 * 100vw);
      margin-right: calc(14 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__button:after {
      width:calc(28 / 1366 * 100vw);
      height: calc(28 / 1366 * 100vw);
      margin-right: calc(14 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__button:after {
      width:28px;
      height: 28px;
      margin-right: 14px
  }
}

.p-card__button--secondary {
  background-color: rgba(255,255,255,0.7);
  color: #1A1A1C
}

.p-card__button--secondary:before {
  background-color: #1A1A1C
}

.p-card__button--secondary:after {
  background: url("../images/arrow-right.png") no-repeat center center/contain
}

@media screen and (max-width: 767px) {
  .p-card__button {
      width:calc(240 / 390 * 100vw);
      height: calc(56 / 390 * 100vw);
      border-radius: calc(4 / 390 * 100vw);
      font-size: calc(13.68 / 390 * 100vw);
      padding-left: calc(13.68 / 390 * 100vw);
      border-width: calc(.81 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-card__button {
      width:calc(218 / 1366 * 100vw);
      height: calc(56 / 1366 * 100vw);
      border-width: calc(.83 / 1366 * 100vw);
      font-size: calc(14 / 1366 * 100vw);
      padding-left: calc(14 / 1366 * 100vw);
      border-radius: calc(4 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-card__button {
      width:218px;
      height: 56px;
      border-width: .83px;
      font-size: 14px;
      padding-left: 14px;
      border-radius: 4px
  }
}

.p-product-section {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr
}

@media screen and (max-width: 767px) {
  .p-product-section {
      width:100%;
      overflow: hidden
  }
}

.p-product-section__text {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .p-product-section__text {
      font-size:calc(14 / 390 * 100vw);
      line-height: calc(31 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section__text {
      font-size:calc(20 / 1366 * 100vw);
      line-height: calc(39 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section__text {
      font-size:20px;
      line-height: 39px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section__text--large {
      font-size:calc(16 / 390 * 100vw);
      line-height: calc(32 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section__text--large {
      font-size:calc(28 / 1366 * 100vw);
      line-height: calc(42 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section__text--large {
      font-size:28px;
      line-height: 42px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section {
      display:flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 12.30769vw
  }
}

.p-product-section--rtl>*:nth-child(2n-1) {
  grid-column: 2
}

.p-product-section--rtl>*:nth-child(2n) {
  grid-column: 1
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--01 .p-product-section__item:nth-of-type(2) {
      margin-top:calc(-140 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--01 .p-product-section__item:nth-of-type(2) {
      margin-top:-140px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--01 .p-product-section__item:nth-of-type(3) {
      margin-top:calc(57 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--01 .p-product-section__item:nth-of-type(3) {
      margin-top:57px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section--02 {
      margin-top:calc(64 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--02 {
      margin-top:calc(140 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--02 {
      margin-top:140px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--02 .p-product-section__item:nth-of-type(2) {
      margin-top:calc(200 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--02 .p-product-section__item:nth-of-type(2) {
      margin-top:200px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section--02 .p-product-section__item:nth-of-type(3) {
      margin-bottom:calc(64 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--02 .p-product-section__item:nth-of-type(3) {
      margin-top:calc(-804 / 1366 * 100vw);
      margin-bottom: calc(140 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--02 .p-product-section__item:nth-of-type(3) {
      margin-top:-804px;
      margin-bottom: 140px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section--03 {
      padding-bottom:calc(64 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--03 {
      padding-bottom:calc(140 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--03 {
      padding-bottom:140px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--03 .p-product-section__item:first-of-type {
      margin-top:calc(85 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--03 .p-product-section__item:first-of-type {
      margin-top:85px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(2) {
      margin-top:calc(-225 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(2) {
      margin-top:-225px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(3) {
      margin-top:calc(180 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(3) {
      margin-top:180px
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(4) {
      margin-top:calc(-348 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section--03 .p-product-section__item:nth-of-type(4) {
      margin-top:-348px
  }
}

@media screen and (max-width: 767px) {
  .p-product-section {
      padding-right:calc(15 / 390 * 100vw);
      padding-left: calc(15 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-product-section {
      width:calc(1244 / 1366 * 100vw);
      gap: calc(36 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-product-section {
      width:1244px;
      gap: 36px
  }
}

.p-loop-text__wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  background-color: #000;
  color: #fff
}

.p-loop-track {
  display: flex;
  align-items: center;
  width: max-content;
  font-family: "Gantari",sans-serif;
  font-weight: 700;
  text-transform: uppercase
}

@media screen and (max-width: 767px) {
  .p-loop-track {
      height:calc(48 / 390 * 100vw);
      font-size: calc(40 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-loop-track {
      font-size:calc(82 / 1366 * 100vw);
      height: calc(98 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-loop-track {
      font-size:82px;
      height: 98px
  }
}

.p-loop-text {
  white-space: nowrap;
  flex-shrink: 0;
  padding-right: .7em;
  animation: marquee 5s linear infinite;
  box-sizing: border-box
}

@keyframes marquee {
  0% {
      transform: translateX(0%)
  }

  100% {
      transform: translateX(-100%)
  }
}

.swiper-slide {
  width: auto !important;
  white-space: nowrap
}

@media screen and (max-width: 767px) {
  .p-slider {
      padding-bottom:calc(50 / 390 * 100vw) !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider {
      padding-bottom:calc(30 / 1366 * 100vw) !important
  }
}

@media screen and (min-width: 1367px) {
  .p-slider {
      padding-bottom:30px !important
  }
}

@media screen and (max-width: 767px) {
  .p-slider__wrap {
      margin-top:calc(48 / 390 * 100vw);
      margin-bottom: calc(81 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider__wrap {
      margin-top:calc(48 / 1366 * 100vw);
      margin-bottom: calc(198 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-slider__wrap {
      margin-top:48px;
      margin-bottom: 198px
  }
}

.p-slider__link {
  display: block;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  text-decoration: none;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 0px 1px 2px 0px #71788E21, 0px 3px 3px 0px #71788E1C, 0px 8px 5px 0px #71788E0F, 0px 13px 5px 0px #71788E05, 0px 21px 6px 0px #71788E00
}

.p-slider__link:hover {
  opacity: .7
}

@media screen and (max-width: 767px) {
  .p-slider__link {
      box-shadow:0px 0.75px 1.49px 0px #71788E21, 0px 2.24px 2.24px 0px #71788E1C, 0px 5.98px 3.74px 0px #71788E0F, 0px 9.72px 3.74px 0px #71788E05, 0px 15.7px 4.48px 0px #71788E00
  }
}

.p-slider__link img {
  display: block;
  width: 100%;
  height: auto
}

.p-slider__link p {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  pointer-events: none;
  font-family: "jins",sans-serif
}

@media screen and (max-width: 767px) {
  .p-slider__link p {
      font-size:calc(12 / 390 * 100vw);
      margin-bottom: calc(15 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider__link p {
      font-size:calc(16 / 1366 * 100vw);
      margin-bottom: calc(21 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-slider__link p {
      font-size:16px;
      margin-bottom: 21px
  }
}

.p-slider__link:before {
  content: "";
  display: block;
  display: none;
  background: url("../images/arrow-right-top.png") no-repeat center center/contain;
  pointer-events: none;
  position: absolute;
  z-index: 1
}

@media screen and (max-width: 767px) {
  .p-slider__link:before {
      width:calc(11 / 390 * 100vw);
      height: calc(11 / 390 * 100vw);
      right: calc(6.5 / 390 * 100vw);
      bottom: calc(6.5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider__link:before {
      width:calc(14 / 1366 * 100vw);
      height: calc(14 / 1366 * 100vw);
      right: calc(11 / 1366 * 100vw);
      bottom: calc(11 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-slider__link:before {
      width:14px;
      height: 14px;
      right: 11px;
      bottom: 11px
  }
}

@media screen and (max-width: 767px) {
  .p-slider__link {
      width:calc(246 / 390 * 100vw);
      border-radius: calc(3 / 390 * 100vw);
      margin-right: calc(8.39 / 390 * 100vw);
      margin-left: calc(8.39 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider__link {
      width:calc(330 / 1366 * 100vw);
      border-radius: calc(4 / 1366 * 100vw);
      margin-right: calc(11 / 1366 * 100vw);
      margin-left: calc(11 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-slider__link {
      width:330px;
      border-radius: 4px;
      margin-right: 11px;
      margin-left: 11px
  }
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
  bottom: 0px !important;
  font-size: 0 !important
}

.p-slider-text {
  font-weight: 800
}

@media screen and (max-width: 767px) {
  .p-slider-text {
      font-size:calc(12 / 390 * 100vw);
      line-height: calc(20 / 390 * 100vw);
      margin-top: calc(-30 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-slider-text {
      padding-bottom:calc(16 / 1366 * 100vw);
      margin-top: calc(-20 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-slider-text {
      padding-bottom:16px;
      margin-top: -20px
  }
}

@media screen and (max-width: 767px) {
  .swiper-wrapper {
      padding-bottom:calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .swiper-wrapper {
      padding-bottom:calc(48 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .swiper-wrapper {
      padding-bottom:48px
  }
}

.swiper-pagination-bullet {
  background-color: #fff !important;
  opacity: 1 !important
}

@media screen and (max-width: 767px) {
  .swiper-pagination-bullet {
      width:calc(10 / 390 * 100vw) !important;
      height: calc(10 / 390 * 100vw) !important;
      margin-left: calc(8 / 390 * 100vw) !important;
      margin-right: calc(8 / 390 * 100vw) !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .swiper-pagination-bullet {
      width:calc(10 / 1366 * 100vw) !important;
      height: calc(10 / 1366 * 100vw) !important;
      margin-left: calc(8 / 1366 * 100vw) !important;
      margin-right: calc(8 / 1366 * 100vw) !important
  }
}

@media screen and (min-width: 1367px) {
  .swiper-pagination-bullet {
      width:10px !important;
      height: 10px !important;
      margin-left: 8px !important;
      margin-right: 8px !important
  }
}

.swiper-pagination-bullet-active {
  background-color: #000 !important
}

.p-movie {
  display: flex;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .p-movie {
      gap:calc(2 / 390 * 100vw);
      margin-bottom: calc(80 / 390 * 100vw);
      padding-left: calc(6 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-movie {
      gap:calc(8 / 1366 * 100vw);
      margin-bottom: calc(140 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-movie {
      gap:8px;
      margin-bottom: 140px
  }
}

.p-movie__content img {
  display: block;
  height: auto
}

@media screen and (max-width: 767px) {
  .p-movie__content {
      width:calc(333 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-movie__content {
      width:calc(386 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-movie__content {
      width:386px
  }
}

.p-movie__text {
  writing-mode: vertical-rl;
  font-family: "Gantari",sans-serif;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-align: left;
  width: 1em;
  margin-left: .1em
}

@media screen and (max-width: 767px) {
  .p-movie__text {
      font-size:calc(18 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-movie__text {
      font-size:calc(18 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-movie__text {
      font-size:18px
  }
}

.p-campaign-section {
  background-color: rgba(255,255,255,0.7);
  backdrop-filter: blur(4px);
  overflow: visible;
  position: relative
}

@media screen and (max-width: 767px) {
  .p-campaign-section {
      padding-bottom:calc(54 / 390 * 100vw) !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-section {
      padding-bottom:calc(80 / 1366 * 100vw) !important
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-section {
      padding-bottom:80px !important
  }
}

.p-campaign-section__inner {
  display: flex;
  flex-wrap: wrap;
  overflow: visible;
  justify-content: space-between;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-campaign-section__inner+.p-campaign-section__inner {
      margin-top:calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-section__inner+.p-campaign-section__inner {
      margin-top:calc(48 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-section__inner+.p-campaign-section__inner {
      margin-top:48px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-section__inner {
      width:calc(352 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-section__inner {
      width:calc(1103 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-section__inner {
      width:1103px
  }
}

.p-campaign-section__nav {
  position: sticky;
  top: var(--header-height)
}

@media screen and (max-width: 767px) {
  .p-campaign-section__nav {
      width:calc(352 / 390 * 100vw);
      padding-top: calc(54 / 390 * 100vw);
      padding-bottm: calc(54 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-section__nav {
      height:calc(300 / 1366 * 100vw);
      width: calc(310 / 1366 * 100vw);
      padding-top: calc(80 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-section__nav {
      height:300px;
      width: 310px;
      padding-top: 80px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-section__nav {
      position:static;
      text-align: center;
      height: auto
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-section__content {
      width:calc(352 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-section__content {
      width:calc(668 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-section__content {
      width:668px
  }
}

.p-campaign-nav li {
  font-weight: 700;
  text-align: left
}

@media screen and (max-width: 767px) {
  .p-campaign-nav li {
      text-align:center
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-nav li {
      font-size:calc(16 / 390 * 100vw);
      margin-bottom: calc(10 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-nav li {
      font-size:calc(20 / 1366 * 100vw);
      margin-bottom: calc(19 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-nav li {
      font-size:20px;
      margin-bottom: 19px
  }
}

.p-campaign-nav li button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  text-align: left;
  color: #1A1A1C
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-nav li button {
      padding-left:calc(30 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-nav li button {
      padding-left:30px
  }
}

.p-campaign-nav li button.is-active:before {
  content: "";
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%)
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-nav li button.is-active:before {
      width:calc(11 / 1366 * 100vw);
      height: calc(11 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-nav li button.is-active:before {
      width:11px;
      height: 11px
  }
}

.p-campaign {
  background-color: #fff;
  box-shadow: 0px 1px 2px 0px #71788E21, 0px 3px 3px 0px #71788E1C, 0px 8px 5px 0px #71788E0F, 0px 13px 5px 0px #71788E05, 0px 21px 6px 0px #71788E00
}

@media screen and (max-width: 767px) {
  .p-campaign {
      box-shadow:0px 1px 2px 0px #71788E21, 0px 3px 3px 0px #71788E1C, 0px 8px 5px 0px #71788E0F, 0px 13px 5px 0px #71788E05, 0px 21px 6px 0px #71788E00
  }
}

@media screen and (max-width: 767px) {
  .p-campaign {
      margin-top:calc(54 / 390 * 100vw);
      padding-bottom: calc(54 / 390 * 100vw);
      border-radius: calc(4 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign {
      margin-top:calc(80 / 1366 * 100vw);
      padding-bottom: calc(54 / 1366 * 100vw);
      border-radius: calc(4 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign {
      margin-top:80px;
      padding-bottom: 54px;
      border-radius: 4px
  }
}

.p-campaign__title {
  background-color: #000;
  color: #fff;
  font-family: "Gantari",sans-serif;
  display: flex;
  align-items: center;
  justify-content: space-between
}

@media screen and (max-width: 767px) {
  .p-campaign__title {
      height:calc(47 / 390 * 100vw);
      padding-right: calc(14 / 390 * 100vw);
      padding-left: calc(14 / 390 * 100vw);
      font-size: calc(23.26 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign__title {
      height:calc(60 / 1366 * 100vw);
      padding-right: calc(20 / 1366 * 100vw);
      padding-left: calc(20 / 1366 * 100vw);
      font-size: calc(28.85 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign__title {
      height:60px;
      padding-right: 20px;
      padding-left: 20px;
      font-size: 28.85px
  }
}

.p-campaign-toggle {
  width: 100%
}

.p-campaign-toggle:last-child .p-campaign-content {
  padding-bottom: 0 !important
}

.p-campaign-toggle__button {
  background-color: #F1F1F4;
  color: #1A1A1C;
  width: 100%;
  font-weight: 700;
  cursor: pointer;
  position: relative
}

.p-campaign-toggle__button:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  background: url("../images/icon_open.png") no-repeat center center/contain;
  transform: translate(0, -50%)
}

@media screen and (max-width: 767px) {
  .p-campaign-toggle__button:before {
      height:calc(24 / 390 * 100vw);
      width: calc(24 / 390 * 100vw);
      right: calc(12 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-toggle__button:before {
      height:calc(24 / 1366 * 100vw);
      width: calc(24 / 1366 * 100vw);
      right: calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-toggle__button:before {
      height:24px;
      width: 24px;
      right: 8px
  }
}

.p-campaign-toggle__button.is-active:before {
  background: url("../images/icon_close.png") no-repeat center center/contain
}

@media screen and (max-width: 767px) {
  .p-campaign-toggle__button {
      height:calc(48 / 390 * 100vw);
      font-size: calc(14 / 390 * 100vw);
      margin-top: calc(4 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-toggle__button {
      height:calc(40 / 1366 * 100vw);
      font-size: calc(16 / 1366 * 100vw);
      margin-top: calc(4 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-toggle__button {
      height:40px;
      font-size: 16px;
      margin-top: 4px
  }
}

.p-campaign-toggle__content {
  width: 100%
}

@media screen and (max-width: 767px) {
  .p-campaign-toggle__content {
      padding-top:calc(32 / 390 * 100vw);
      padding-bottm: calc(32 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-toggle__content {
      padding-top:calc(32 / 1366 * 100vw);
      padding-bottm: calc(32 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-toggle__content {
      padding-top:32px;
      padding-bottm: 32px
  }
}

.p-campaign-content {
  background-color: #fff;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  display: block;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

@media screen and (max-width: 767px) {
  .p-campaign-content {
      padding-top:calc(0 / 390 * 100vw);
      padding-bottom: calc(0 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content {
      padding-top:calc(0 / 1366 * 100vw);
      padding-bottom: calc(0 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content {
      padding-top:0px;
      padding-bottom: 0px
  }
}

.p-campaign-content.is-open {
  max-height: 2000px
}

@media screen and (max-width: 767px) {
  .p-campaign-content.is-open {
      padding-top:calc(32 / 390 * 100vw);
      padding-bottom: calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content.is-open {
      padding-top:calc(32 / 1366 * 100vw);
      padding-bottom: calc(48 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content.is-open {
      padding-top:32px;
      padding-bottom: 48px
  }
}

.p-campaign-content__inner {
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-campaign-content__inner {
      width:calc(308 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__inner {
      width:calc(462 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__inner {
      width:500px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__inner+.p-campaign-content__inner {
      margin-top:calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__inner+.p-campaign-content__inner {
      margin-top:calc(48 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__inner+.p-campaign-content__inner {
      margin-top:48px
  }
}

.p-campaign-content__title {
  text-align: center;
  display: inline-block;
  font-weight: 700;
  position: relative
}

.p-campaign-content__title:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #000
}

@media screen and (max-width: 767px) {
  .p-campaign-content__title:before {
      bottom:calc(-5 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__title:before {
      bottom:calc(-5 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__title:before {
      bottom:-5px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__title {
      font-size:calc(14 / 390 * 100vw);
      margin-bottom: calc(30 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__title {
      font-size:calc(16 / 1366 * 100vw);
      margin-bottom: calc(30 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__title {
      font-size:16px;
      margin-bottom: 30px
  }
}

.p-campaign-content__image {
  width: 100%;
  display: block;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .p-campaign-content__image {
      max-width:200%
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__image {
      width:calc(352 / 390 * 100vw);
      margin-bottom: calc(24 / 390 * 100vw);
      margin-left: calc(-22 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__image {
      margin-bottom:calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__image {
      margin-bottom:24px
  }
}

.p-campaign-content__text {
  font-weight: 500;
  text-align: left
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text {
      font-size:calc(14 / 390 * 100vw);
      line-height: calc(24 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__text {
      font-size:calc(14 / 1366 * 100vw);
      line-height: calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__text {
      font-size:14px;
      line-height: 24px
  }
}

.p-campaign-content__text a {
  text-decoration: underline;
  color: #2f6dc3
}

.p-campaign-content__text--center {
  text-align: center
}

.p-campaign-content__text strong {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text strong {
      font-size:calc(16 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__text strong {
      font-size:calc(16 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__text strong {
      font-size:16px
  }
}

.p-campaign-content__text span {
  display: block
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text span {
      font-size:calc(12 / 390 * 100vw);
      line-height: calc(18 / 390 * 100vw)
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text+.p-campaign-content__text {
      margin-top:calc(16 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__text+.p-campaign-content__text {
      margin-top:calc(16 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__text+.p-campaign-content__text {
      margin-top:16px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text--xsmall {
      font-size:calc(10 / 390 * 100vw) !important;
      margin-top: calc(8 / 390 * 100vw) !important;
      line-height: calc(14 / 390 * 100vw) !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__text--xsmall {
      font-size:calc(10 / 1366 * 100vw) !important;
      margin-top: calc(8 / 1366 * 100vw) !important;
      line-height: calc(14 / 1366 * 100vw) !important
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__text--xsmall {
      font-size:10px !important;
      margin-top: 8px !important;
      line-height: 14px !important
  }
}

.p-campaign-content__text--caution {
  color: #ea3323
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text--caution {
      font-size:3.58974vw !important;
      line-height: 5.12821vw !important
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__text--small {
      font-size:calc(12 / 390 * 100vw) !important;
      line-height: calc(18 / 390 * 100vw) !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__text--small {
      font-size:calc(12 / 1366 * 100vw) !important;
      line-height: calc(20 / 1366 * 100vw) !important
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__text--small {
      font-size:12px !important;
      line-height: 20px !important
  }
}

.p-campaign-content__table-wrap {
  border-color: #CECECE;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  border-style: solid
}

@media screen and (max-width: 767px) {
  .p-campaign-content__table-wrap {
      padding:calc(11 / 390 * 100vw);
      border-width: calc(1 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__table-wrap {
      padding:calc(13 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__table-wrap {
      padding:13px;
      border-width: 1px
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__table th,.p-campaign-content__table td {
      font-size:calc(12 / 390 * 100vw);
      line-height: calc(22 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__table th,.p-campaign-content__table td {
      font-size:calc(14 / 1366 * 100vw);
      line-height: calc(24 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__table th,.p-campaign-content__table td {
      font-size:14px;
      line-height: 24px
  }
}

.p-campaign-content__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

@media screen and (max-width: 767px) {
  .p-campaign-content__list {
      justify-content:center
  }
}

@media screen and (max-width: 767px) {
  .p-campaign-content__list {
      gap:calc(16 / 390 * 100vw);
      margin-top: calc(48 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__list {
      gap:calc(16 / 1366 * 100vw);
      margin-top: calc(48 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__list {
      gap:16px;
      margin-top: 48px
  }
}

.p-campaign-content__card {
  border-style: solid;
  border-color: #B4B4B7;
  box-sizing: border-box;
  text-align: left;
  font-feature-settings: "palt"
}

@media screen and (max-width: 767px) {
  .p-campaign-content__card {
      width:calc(223 / 390 * 100vw);
      height: calc(190 / 390 * 100vw);
      padding-top: calc(10 / 390 * 100vw);
      padding-bottom: calc(10 / 390 * 100vw);
      padding-left: calc(10 / 390 * 100vw);
      padding-right: calc(10 / 390 * 100vw);
      border-width: calc(1 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__card {
      width:calc(223 / 1366 * 100vw);
      height: calc(190 / 1366 * 100vw);
      padding-top: calc(10 / 1366 * 100vw);
      padding-bottom: calc(10 / 1366 * 100vw);
      padding-left: calc(10 / 1366 * 100vw);
      padding-right: calc(10 / 1366 * 100vw);
      border-width: calc(1 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__card {
      width:223px;
      height: 190px;
      padding-top: 10px;
      padding-bottom: 10px;
      padding-left: 10px;
      padding-right: 10px;
      border-width: 1px
  }
}

.p-campaign-content__card img {
  display: block
}

.p-campaign-content__card h5 {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .p-campaign-content__card h5 {
      font-size:calc(14 / 390 * 100vw);
      line-height: calc(20 / 390 * 100vw);
      margin-top: calc(8 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__card h5 {
      font-size:calc(14 / 1366 * 100vw);
      line-height: calc(20 / 1366 * 100vw);
      margin-top: calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__card h5 {
      font-size:14px;
      line-height: 20px;
      margin-top: 8px
  }
}

.p-campaign-content__card p {
  font-weight: 500
}

@media screen and (max-width: 767px) {
  .p-campaign-content__card p {
      font-size:calc(10 / 390 * 100vw);
      line-height: calc(16 / 390 * 100vw);
      margin-top: calc(8 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-campaign-content__card p {
      font-size:calc(10 / 1366 * 100vw);
      line-height: calc(16 / 1366 * 100vw);
      margin-top: calc(8 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-campaign-content__card p {
      font-size:10px;
      line-height: 16px;
      margin-top: 8px
  }
}

.p-profile {
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
  box-shadow: 0px 1px 2px 0px #71788E21, 0px 3px 3px 0px #71788E1C, 0px 8px 5px 0px #71788E0F, 0px 13px 5px 0px #71788E05, 0px 21px 6px 0px #71788E00
}

@media screen and (max-width: 767px) {
  .p-profile {
      box-shadow:0px 0.75px 1.49px 0px #71788E21, 0px 2.24px 2.24px 0px #71788E1C, 0px 5.98px 3.74px 0px #71788E0F, 0px 9.72px 3.74px 0px #71788E05, 0px 15.7px 4.48px 0px #71788E00
  }
}

@media screen and (max-width: 767px) {
  .p-profile {
      width:calc(343 / 390 * 100vw);
      border-radius: calc(8 / 390 * 100vw);
      padding-top: calc(46 / 390 * 100vw);
      padding-left: calc(21.5 / 390 * 100vw);
      padding-right: calc(21.5 / 390 * 100vw);
      padding-bottom: calc(46 / 390 * 100vw);
      margin-top: calc(80 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile {
      width:calc(916 / 1366 * 100vw);
      border-radius: calc(8 / 1366 * 100vw);
      padding-top: calc(34 / 1366 * 100vw);
      padding-left: calc(48 / 1366 * 100vw);
      padding-right: calc(48 / 1366 * 100vw);
      padding-bottom: calc(38 / 1366 * 100vw);
      margin-top: calc(144 / 1366 * 100vw);
      margin-bottom: calc(144 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile {
      width:916px;
      border-radius: 8px;
      padding-top: 34px;
      padding-left: 48px;
      padding-right: 48px;
      padding-bottom: 38px;
      margin-top: 144px;
      margin-bottom: 144px
  }
}

.p-profile__title {
  color: #1A1A1C;
  font-weight: 700;
  text-transform: uppercase;
  font-family: "Gantari",sans-serif;
  border-bottom: 2px solid #000;
  text-align: left
}

@media screen and (max-width: 767px) {
  .p-profile__title {
      font-size:calc(16.42 / 390 * 100vw);
      line-height: calc(14.24 / 390 * 100vw);
      padding-bottom: calc(18 / 390 * 100vw);
      margin-bottom: calc(30 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__title {
      font-size:calc(16.42 / 1366 * 100vw);
      line-height: calc(14.24 / 1366 * 100vw);
      padding-bottom: calc(18 / 1366 * 100vw);
      margin-bottom: calc(58 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__title {
      font-size:16.42px;
      line-height: 14.24px;
      padding-bottom: 18px;
      margin-bottom: 58px
  }
}

.p-profile__content {
  display: flex;
  justify-content: space-between;
  text-align: left;
  flex-wrap: wrap
}

@media screen and (max-width: 767px) {
  .p-profile__content {
      gap:calc(36 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__content {
      gap:calc(32 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__content {
      gap:32px
  }
}

.p-profile__image {
  display: block;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-profile__image {
      width:calc(300 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__image {
      width:calc(365 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__image {
      width:365px
  }
}

@media screen and (max-width: 767px) {
  .p-profile__description {
      width:calc(300 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__description {
      width:calc(421 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__description {
      width:421px
  }
}

.p-profile__description img {
  display: block
}

@media screen and (max-width: 767px) {
  .p-profile__description img {
      display:block;
      margin: 0 auto
  }
}

@media screen and (max-width: 767px) {
  .p-profile__description img {
      width:calc(164 / 390 * 100vw);
      margin-bottom: calc(23 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__description img {
      width:calc(164 / 1366 * 100vw);
      margin-bottom: calc(27 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__description img {
      width:164px;
      margin-bottom: 27px
  }
}

@media screen and (max-width: 767px) {
  .p-profile__description p {
      font-size:calc(14 / 390 * 100vw);
      line-height: calc(26 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-profile__description p {
      font-size:calc(14 / 1366 * 100vw);
      line-height: calc(26 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .p-profile__description p {
      font-size:14px;
      line-height: 26px
  }
}

.modal {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1000;
  width: 100%;
  /* height: calc(100% - var(--header-height));
  top: var(--header-height) */
  top: 0;
  height: 100%;

}

.modal.is-active {
  opacity: 1;
  pointer-events: auto
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(0px);
  opacity: 0;
  height: 100%;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden
}

.modal.is-active .modal__overlay {
  backdrop-filter: blur(10.8px);
  opacity: 1
}

.modal__wrap {
  height: 100%;
  top: 0;
  width: 100%;
  position: absolute;
  left: 0;
  overflow: auto
}

.modal__content {
  position: relative;
  transform: translateY(20px);
  opacity: 0;
  box-sizing: border-box;
  transition: transform 0.3s ease, opacity 0.3s ease;
  backdrop-filter: blur(16.5px);
  border: 1px solid #fff;
  background: linear-gradient(180deg, rgba(243,252,255,0.9) 0%, rgba(244,244,255,0.9) 104.41%);
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .modal__content {
      box-shadow:0px 1px 2px 0px #71788E21, 0px 3px 3px 0px #71788E1C, 0px 8px 5px 0px #71788E0F, 0px 13px 5px 0px #71788E05, 0px 21px 6px 0px #71788E00
  }
}

@media screen and (max-width: 767px) {
  .modal__content {
      width:calc(345 / 390 * 100vw);
      border-radius: calc(8 / 390 * 100vw);
      padding-right: calc(25 / 390 * 100vw);
      padding-left: calc(25 / 390 * 100vw);
      margin-top: calc(120 / 390 * 100vw);
      margin-bottom: calc(60 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .modal__content {
      width:calc(654 / 1366 * 100vw);
      border-radius: calc(8 / 1366 * 100vw);
      margin-top: calc(80 / 1366 * 100vw);
      margin-bottom: calc(60 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .modal__content {
      width:654px;
      border-radius: 8px;
      margin-top: 80px;
      margin-bottom: 60px
  }
}

.purchase-image {
  display: block;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .purchase-image {
      width:calc(296 / 390 * 100vw);
      margin-top: calc(45 / 390 * 100vw);
      margin-bottom: calc(45 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .purchase-image {
      width:calc(331 / 1366 * 100vw);
      margin-top: calc(45 / 1366 * 100vw);
      margin-bottom: calc(45 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .purchase-image {
      width:331px;
      margin-top: 45px;
      margin-bottom: 45px
  }
}

.modal.is-active .modal__content {
  transform: translateY(0);
  opacity: 1
}

.modal__close {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  background: none;
  cursor: pointer;
  background: url("../images/modal_close.png") no-repeat center center/contain
}

@media screen and (max-width: 767px) {
  .modal__close {
      width:calc(46 / 390 * 100vw);
      height: calc(46 / 390 * 100vw);
      margin-top: calc(-72 / 390 * 100vw)
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .modal__close {
      width:calc(56 / 1366 * 100vw);
      height: calc(56 / 1366 * 100vw);
      margin-right: calc(-70 / 1366 * 100vw)
  }
}

@media screen and (min-width: 1367px) {
  .modal__close {
      width:56px;
      height: 56px;
      margin-right: -70px
  }
}

body.is-modal-open {
  overflow: hidden
}
