@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;800&display=swap");
@keyframes rotate-360 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes hop {
  0% {
    transform: translate(0, 0%);
  }
  5% {
    transform: translate(0, -1.8%);
  }
  10% {
    transform: translate(0, -3.2%);
  }
  15% {
    transform: translate(0, -4.2%);
  }
  20% {
    transform: translate(0, -4.8%);
  }
  25% {
    transform: translate(0, -5%);
  }
  30% {
    transform: translate(0, -4.8%);
  }
  35% {
    transform: translate(0, -4.2%);
  }
  40% {
    transform: translate(0, -3.2%);
  }
  45% {
    transform: translate(0, -1.8%);
  }
  50% {
    transform: translate(0, 0%);
  }
  55% {
    transform: translate(0, -1.8%);
  }
  60% {
    transform: translate(0, -3.2%);
  }
  65% {
    transform: translate(0, -4.2%);
  }
  70% {
    transform: translate(0, -4.8%);
  }
  75% {
    transform: translate(0, -5%);
  }
  80% {
    transform: translate(0, -4.8%);
  }
  85% {
    transform: translate(0, -4.2%);
  }
  90% {
    transform: translate(0, -3.2%);
  }
  95% {
    transform: translate(0, -1.8%);
  }
  100% {
    transform: translate(0, 0%);
  }
}
@keyframes pop-text {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.05);
  }
  50% {
    transform: scale(1);
  }
  75% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes rotate-8-anim {
  0% {
    transform: translate(0%, 0%);
  }
  1% {
    transform: translate(0.31%, 0.63%);
  }
  2% {
    transform: translate(0.63%, 1.24%);
  }
  3% {
    transform: translate(0.94%, 1.84%);
  }
  4% {
    transform: translate(1.24%, 2.41%);
  }
  5% {
    transform: translate(1.55%, 2.94%);
  }
  6% {
    transform: translate(1.84%, 3.42%);
  }
  7% {
    transform: translate(2.13%, 3.85%);
  }
  8% {
    transform: translate(2.41%, 4.22%);
  }
  9% {
    transform: translate(2.68%, 4.52%);
  }
  10% {
    transform: translate(2.94%, 4.76%);
  }
  11% {
    transform: translate(3.19%, 4.91%);
  }
  12% {
    transform: translate(3.42%, 4.99%);
  }
  13% {
    transform: translate(3.64%, 4.99%);
  }
  14% {
    transform: translate(3.85%, 4.91%);
  }
  15% {
    transform: translate(4.05%, 4.76%);
  }
  16% {
    transform: translate(4.22%, 4.52%);
  }
  17% {
    transform: translate(4.38%, 4.22%);
  }
  18% {
    transform: translate(4.52%, 3.85%);
  }
  19% {
    transform: translate(4.65%, 3.42%);
  }
  20% {
    transform: translate(4.76%, 2.94%);
  }
  21% {
    transform: translate(4.84%, 2.41%);
  }
  22% {
    transform: translate(4.91%, 1.84%);
  }
  23% {
    transform: translate(4.96%, 1.24%);
  }
  24% {
    transform: translate(4.99%, 0.63%);
  }
  25% {
    transform: translate(5%, 0%);
  }
  26% {
    transform: translate(4.99%, -0.63%);
  }
  27% {
    transform: translate(4.96%, -1.24%);
  }
  28% {
    transform: translate(4.91%, -1.84%);
  }
  29% {
    transform: translate(4.84%, -2.41%);
  }
  30% {
    transform: translate(4.76%, -2.94%);
  }
  31% {
    transform: translate(4.65%, -3.42%);
  }
  32% {
    transform: translate(4.52%, -3.85%);
  }
  33% {
    transform: translate(4.38%, -4.22%);
  }
  34% {
    transform: translate(4.22%, -4.52%);
  }
  35% {
    transform: translate(4.05%, -4.76%);
  }
  36% {
    transform: translate(3.85%, -4.91%);
  }
  37% {
    transform: translate(3.64%, -4.99%);
  }
  38% {
    transform: translate(3.42%, -4.99%);
  }
  39% {
    transform: translate(3.19%, -4.91%);
  }
  40% {
    transform: translate(2.94%, -4.76%);
  }
  41% {
    transform: translate(2.68%, -4.52%);
  }
  42% {
    transform: translate(2.41%, -4.22%);
  }
  43% {
    transform: translate(2.13%, -3.85%);
  }
  44% {
    transform: translate(1.84%, -3.42%);
  }
  45% {
    transform: translate(1.55%, -2.94%);
  }
  46% {
    transform: translate(1.24%, -2.41%);
  }
  47% {
    transform: translate(0.94%, -1.84%);
  }
  48% {
    transform: translate(0.63%, -1.24%);
  }
  49% {
    transform: translate(0.31%, -0.63%);
  }
  50% {
    transform: translate(0%, 0%);
  }
  51% {
    transform: translate(-0.31%, 0.63%);
  }
  52% {
    transform: translate(-0.63%, 1.24%);
  }
  53% {
    transform: translate(-0.94%, 1.84%);
  }
  54% {
    transform: translate(-1.24%, 2.41%);
  }
  55% {
    transform: translate(-1.55%, 2.94%);
  }
  56% {
    transform: translate(-1.84%, 3.42%);
  }
  57% {
    transform: translate(-2.13%, 3.85%);
  }
  58% {
    transform: translate(-2.41%, 4.22%);
  }
  59% {
    transform: translate(-2.68%, 4.52%);
  }
  60% {
    transform: translate(-2.94%, 4.76%);
  }
  61% {
    transform: translate(-3.19%, 4.91%);
  }
  62% {
    transform: translate(-3.42%, 4.99%);
  }
  63% {
    transform: translate(-3.64%, 4.99%);
  }
  64% {
    transform: translate(-3.85%, 4.91%);
  }
  65% {
    transform: translate(-4.05%, 4.76%);
  }
  66% {
    transform: translate(-4.22%, 4.52%);
  }
  67% {
    transform: translate(-4.38%, 4.22%);
  }
  68% {
    transform: translate(-4.52%, 3.85%);
  }
  69% {
    transform: translate(-4.65%, 3.42%);
  }
  70% {
    transform: translate(-4.76%, 2.94%);
  }
  71% {
    transform: translate(-4.84%, 2.41%);
  }
  72% {
    transform: translate(-4.91%, 1.84%);
  }
  73% {
    transform: translate(-4.96%, 1.24%);
  }
  74% {
    transform: translate(-4.99%, 0.63%);
  }
  75% {
    transform: translate(-5%, 0%);
  }
  76% {
    transform: translate(-4.99%, -0.63%);
  }
  77% {
    transform: translate(-4.96%, -1.24%);
  }
  78% {
    transform: translate(-4.91%, -1.84%);
  }
  79% {
    transform: translate(-4.84%, -2.41%);
  }
  80% {
    transform: translate(-4.76%, -2.94%);
  }
  81% {
    transform: translate(-4.65%, -3.42%);
  }
  82% {
    transform: translate(-4.52%, -3.85%);
  }
  83% {
    transform: translate(-4.38%, -4.22%);
  }
  84% {
    transform: translate(-4.22%, -4.52%);
  }
  85% {
    transform: translate(-4.05%, -4.76%);
  }
  86% {
    transform: translate(-3.85%, -4.91%);
  }
  87% {
    transform: translate(-3.64%, -4.99%);
  }
  88% {
    transform: translate(-3.42%, -4.99%);
  }
  89% {
    transform: translate(-3.19%, -4.91%);
  }
  90% {
    transform: translate(-2.94%, -4.76%);
  }
  91% {
    transform: translate(-2.68%, -4.52%);
  }
  92% {
    transform: translate(-2.41%, -4.22%);
  }
  93% {
    transform: translate(-2.13%, -3.85%);
  }
  94% {
    transform: translate(-1.84%, -3.42%);
  }
  95% {
    transform: translate(-1.55%, -2.94%);
  }
  96% {
    transform: translate(-1.24%, -2.41%);
  }
  97% {
    transform: translate(-0.94%, -1.84%);
  }
  98% {
    transform: translate(-0.63%, -1.24%);
  }
  99% {
    transform: translate(-0.31%, -0.63%);
  }
  100% {
    transform: translate(0%, 0%);
  }
}
@keyframes fly {
  0% {
    bottom: 0%;
    right: 0%;
    opacity: 1;
  }
  90% {
    right: 30%;
    opacity: 1;
  }
  100% {
    bottom: 100%;
    right: 320%;
    opacity: 0;
  }
}
@keyframes flash {
  0% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}
/*!
  Reset Stylesheet
  Author: yama-dev - https://github.com/yama-dev
  */
html, body, div, span, object, iframe, embed, main,
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, u, 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, source {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

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

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

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;
  box-sizing: border-box;
}

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;
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

button, input, select, textarea, datalist {
  vertical-align: middle;
  min-height: 1.5em;
  background-color: transparent;
}

input[type=submit], input[type=reset] {
  cursor: pointer;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
}

a[href^=tel] {
  display: inline-block;
  color: inherit;
}

body {
  line-height: 1;
}

body, button, input, select, textarea, datalist {
  font-family: "M PLUS 1p", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
  pointer-events: none;
}

body {
  background: #fff;
  color: #383838;
  font-feature-settings: "palt";
}

main {
  display: block;
}

a {
  color: #383838;
  text-decoration: none;
}

template {
  display: none;
}

svg {
  width: 100%;
  display: block;
}

::-moz-selection {
  background: #fdc1e7;
}

::selection {
  background: #fdc1e7;
}

::-moz-selection {
  background: #fdc1e7;
}

@media screen and (min-width: 1001px) {
  .is-pc {
    display: block;
  }
  .is-sp {
    display: none;
  }
  .is-pc-inline {
    display: inline;
  }
  .is-sp-inline {
    display: none;
  }
  .is-pc-inline-block {
    display: inline-block;
  }
  .is-sp-inline-block {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
  .is-pc-inline {
    display: none;
  }
  .is-sp-inline {
    display: inline;
  }
  .is-pc-inline-block {
    display: none;
  }
  .is-sp-inline-block {
    display: inline-block;
  }
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.u-bold {
  font-weight: bold;
}

.u-text-right {
  text-align: right;
}

.u-inline-block {
  display: inline-block;
}

.u-italic {
  font-style: italic;
}

/* layout */
.l-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 1001px) {
  .l-container {
    min-width: 1260px;
  }
}
.l-main {
  position: relative;
}

.l-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.l-bg__deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@keyframes bubble-flow {
  0% {
    transform: translate(0, 150px);
  }
  100% {
    transform: translate(0, -150px);
  }
}
@keyframes bubble-opacity {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.c-bubble {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 1px;
}
.c-bubble__main {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  animation: bubble-flow 10s linear 0s 1 forwards;
}
@media screen and (max-width: 1000px) {
  .c-bubble__main {
    left: -20px;
  }
}
.c-bubble__inner {
  position: relative;
  animation: bubble-opacity 10s ease 0s 1 forwards;
}
.c-bubble__inner::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.c-bubble__inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #bdeff9;
  border-radius: 100%;
  border: 1px solid #bdeff9;
}
@media screen and (max-width: 1000px) {
  .c-bubble__inner::after {
    border-width: 1px;
  }
}
.c-bubble__inner--s-0 {
  top: -150px;
  left: -150px;
  width: 300px;
}
@media screen and (max-width: 1000px) {
  .c-bubble__inner--s-0 {
    top: -50px;
    left: -50px;
    width: 100px;
  }
}
.c-bubble__inner--s-1 {
  top: -100px;
  left: -100px;
  width: 200px;
}
@media screen and (max-width: 1000px) {
  .c-bubble__inner--s-1 {
    top: -25px;
    left: -25px;
    width: 50px;
  }
}
.c-bubble__inner--s-2 {
  top: -50px;
  left: -50px;
  width: 100px;
}
@media screen and (max-width: 1000px) {
  .c-bubble__inner--s-2 {
    top: -12px;
    left: -12px;
    width: 25px;
  }
}
.c-bubble__inner--c-1::after {
  background-color: #bdeff9;
}
.c-bubble--a-1 .c-bubble__inner::after {
  background-color: #fff;
  border-color: #fff;
}
.c-bubble__inner--n-1::after {
  background: none !important;
  border-color: #10c5e7;
}

@keyframes dot-flow {
  0% {
    transform: translate(0, -100px);
  }
  100% {
    transform: translate(0, 100px);
  }
}
@keyframes dot-opacity {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.c-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0px;
  height: 0px;
}
.c-dot--r-0 {
  transform: rotate(0deg);
}
.c-dot--r-1 {
  transform: rotate(90deg);
}
.c-dot--r-2 {
  transform: rotate(180deg);
}
.c-dot--r-3 {
  transform: rotate(270deg);
}
.c-dot__main {
  animation: dot-flow 20s linear 0s 1 forwards;
}
.c-dot__inner {
  width: 100px;
  height: 100px;
  animation: dot-opacity 20s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s 1 forwards;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner {
    background-size: 10px;
  }
}
.c-dot__inner--i-0 {
  background-image: url(../img/common/bg/bg_dot01.png);
}
.c-dot__inner--i-1 {
  background-image: url(../img/common/bg/bg_dot02.png);
}
.c-dot--a-1 .c-dot__inner {
  background-image: url(../img/common/bg/bg_dot03.png);
}
.c-dot__inner--w-0 {
  width: 150px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--w-0 {
    width: 70px;
  }
}
.c-dot__inner--w-1 {
  width: 200px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--w-1 {
    width: 100px;
  }
}
.c-dot__inner--w-2 {
  width: 250px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--w-2 {
    width: 150px;
  }
}
.c-dot__inner--h-0 {
  height: 150px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--h-0 {
    height: 70px;
  }
}
.c-dot__inner--h-1 {
  height: 200px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--h-1 {
    height: 100px;
  }
}
.c-dot__inner--h-2 {
  height: 250px;
}
@media screen and (max-width: 1000px) {
  .c-dot__inner--h-2 {
    height: 150px;
  }
}

@keyframes arrow-flow {
  0% {
    transform: translate(-100px, 0);
  }
  100% {
    transform: translate(100px, 0);
  }
}
@keyframes arrow-opacity {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.c-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0px;
  height: 0;
}
.c-arrow__main {
  animation: arrow-flow 20s linear 0s 1 forwards;
}
.c-arrow__inner {
  position: relative;
  width: 266px;
  height: 28px;
  margin-top: -14px;
  margin-left: -133px;
  animation: arrow-opacity 20s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s 1 forwards;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1000px) {
  .c-arrow__inner {
    width: 133px;
    height: 14px;
    margin-top: -7px;
    margin-left: -60px;
  }
}
.c-arrow__inner--i-0 {
  background-image: url(../img/common/bg/bg_arrow01.png);
}
.c-arrow__inner--i-1 {
  background-image: url(../img/common/bg/bg_arrow02.png);
}

@keyframes star-opacity {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.c-star {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0px;
  height: 0;
}
.c-star__main {
  animation: flash 0.03s steps(1) 0s infinite forwards;
}
.c-star__inner {
  position: relative;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  animation: star-opacity 5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s 1 forwards;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/common/bg/bg_star-mini01.png);
}
.c-star__inner--s-0 {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
}
.c-star__inner--s-1 {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
}
.c-star__inner--s-2 {
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
}
@media screen and (max-width: 1000px) {
  .c-star__inner--s-2 {
    width: 20px;
    height: 20px;
    margin-top: -5px;
    margin-left: -5px;
  }
}
.c-star--a-1 .c-star__inner {
  background-image: url(../img/common/bg/bg_star-mini02.png);
}

.c-header__logo {
  opacity: 0;
  transform: translate(0, 0px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 40;
  width: 21.3%;
}
.is-load .c-header__logo {
  transition: opacity 0.3s ease 0s, transform 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
  transition-duration: 0.9s;
  transition-delay: 1.2s;
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 1000px) {
  .c-header__logo {
    max-width: 80px;
  }
}
.c-header__logo-link {
  display: block;
  background: linear-gradient(135deg, #ec95e0 0%, #7fd5fd 25%, #bcf8cb 50%, #7fd5fd 100%) left 0% top 0%;
  background-size: 200% 200%;
}
@media screen and (min-width: 1001px) {
  .c-header__logo-link {
    filter: brightness(1);
    transition: filter 0.5s ease 0s;
  }
  .is-ie .c-header__logo-link {
    transition: opacity 0.5s ease 0s;
  }
  .c-header__logo-link:hover {
    filter: brightness(1.1);
    transition-duration: 0.3s;
  }
  .is-ie .c-header__logo-link:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1001px) {
  .c-header__logo-link {
    width: 160px;
  }
}

@media screen and (min-width: 1001px) {
  .c-nav {
    opacity: 0;
    transform: translate(0, 0px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
  }
  .is-load .c-nav {
    transition: opacity 0.3s ease 0s, transform 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
    transition-duration: 0.9s;
    transition-delay: 1.2s;
    opacity: 1;
    transform: translate(0, 0);
  }
  .c-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 150%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.9) 100%) left top;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    transition: opacity 0.3s ease 0s;
  }
  .is-left-top .c-nav::before {
    opacity: 1;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 20;
    transition: opacity 0.5s ease 0s;
    opacity: 0;
    pointer-events: none;
  }
  .is-open-nav .c-nav {
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: -1;
    transition: opacity 0.5s ease 0.5s;
    opacity: 0;
  }
  .is-load .c-nav__bg {
    opacity: 1;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__bg {
    display: none;
  }
}
.c-nav__bg-img {
  position: absolute;
  right: -38px;
  bottom: -17px;
  max-width: 186px;
  width: 50%;
  z-index: 1;
  opacity: 0;
  transform: translate(0, 20px);
  pointer-events: none;
  transition: opacity 0s ease 0.5s, transform 0s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0.5s;
}
.is-open-nav .c-nav__bg-img {
  opacity: 1;
  transform: translate(0, 0px);
  pointer-events: auto;
  transition: opacity 1s ease 0.3s, transform 1s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0.3s;
}
@media screen and (max-width: 1000px) {
  .c-nav__main {
    position: relative;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    transition: opacity 0.5s ease 0.5s;
    opacity: 0;
  }
  .is-load .c-nav__main {
    opacity: 1;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav__wrap {
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav__inner {
    position: relative;
    padding: 73px 0 73px;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 111px;
    transition: height 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
  }
  .is-left-top .c-nav__inner {
    height: 80px;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav__base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .c-nav__list {
    width: 280px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__list {
    position: relative;
    display: flex;
    margin: 0;
    padding-left: 1px;
  }
}
.c-nav__item {
  position: relative;
}
@media screen and (max-width: 1000px) {
  .c-nav__item + .c-nav__item {
    margin-top: 15px;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__item + .c-nav__item {
    margin-left: 16px;
  }
}
.c-nav__link {
  position: relative;
  padding: 25px 0 0;
  display: block;
}
@media screen and (min-width: 1001px) {
  .c-nav__link {
    padding: 20px 16px;
    max-width: 180px;
    margin: 0 auto;
  }
}
.c-nav__link::before, .c-nav__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 28px;
  height: 30px;
  margin: 0 auto;
  background: url(../img/common/menu/icon_menu.png) no-repeat center center;
  background-size: contain;
  transition: transform 0.6s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s, opacity 0.6s ease 0s;
}
.c-nav__item--2line .c-nav__link::before, .c-nav__item--2line .c-nav__link::after {
  top: -10px;
}
@media screen and (min-width: 1001px) {
  .c-nav__item--2line .c-nav__link::before, .c-nav__item--2line .c-nav__link::after {
    top: -5px;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__link::before, .c-nav__link::after {
    opacity: 0;
    transform: translate(0, 10px) rotateY(270deg);
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__link:hover::before, .c-nav__link:hover::after {
    transform: translate(0, 0) rotateY(0deg);
  }
  .c-nav__link:hover::before {
    opacity: 1;
  }
}
.c-nav__link::before {
  opacity: 1;
}
.is-current .c-nav__link::before {
  opacity: 0;
  transform: translate(0, 0) rotateY(0deg);
}
@media screen and (min-width: 1001px) {
  .is-current .c-nav__link::before {
    opacity: 0;
  }
}
.c-nav__link::after {
  background-image: url(../img/common/menu/icon_menu_on.png);
  opacity: 0;
}
.is-current .c-nav__link::after {
  opacity: 1;
  transform: translate(0, 0) rotateY(0deg);
}
.c-nav__link-inner {
  position: relative;
  display: block;
  height: 40px;
}
@media screen and (min-width: 1001px) {
  .c-nav__link-inner {
    height: 34px;
  }
}
.c-nav__item--2line .c-nav__link-inner {
  height: 38px;
}
@media screen and (min-width: 1001px) {
  .c-nav__item--2line .c-nav__link-inner {
    height: 33px;
  }
}
.c-nav__link-inner img {
  margin: 0 auto;
  height: 100%;
}
.c-nav__link-off, .c-nav__link-on {
  display: block;
  transition: transform 0.6s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s, opacity 0.6s ease 0s;
}
.c-nav__link-off {
  height: 100%;
  opacity: 1;
}
.is-current .c-nav__link-off {
  opacity: 0;
}
.c-nav__link-on {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.is-current .c-nav__link-on {
  opacity: 1;
}
@media screen and (max-width: 1000px) {
  .c-nav__social {
    margin-top: 61px;
  }
}
@media screen and (min-width: 1001px) {
  .c-nav__social {
    position: relative;
    width: 240px;
    flex: none;
    padding-right: 20px;
  }
}
.c-nav__social-title {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media screen and (min-width: 1001px) {
  .c-nav__social-title {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}
.c-nav__social-list {
  margin-top: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-nav__social-item {
  margin-right: 35px;
  width: 25px;
}
@media screen and (min-width: 1001px) {
  .c-nav__social-item {
    width: 26px;
  }
}
.c-nav__social-item:last-child {
  margin-right: 0;
}
.c-nav__social-link {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
  display: block;
}
@media screen and (min-width: 1001px) {
  .c-nav__social-link:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease 0s;
  }
}
.c-nav__logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 40;
  width: 21.3%;
}
@media screen and (max-width: 1000px) {
  .c-nav__logo {
    max-width: 80px;
  }
}
.c-nav__logo-link {
  display: block;
  background: linear-gradient(135deg, #ec95e0 0%, #7fd5fd 25%, #bcf8cb 50%, #7fd5fd 100%) left 0% top 0%;
}
@media screen and (min-width: 1001px) {
  .c-nav__logo-link {
    width: 160px;
  }
}

.c-hamburger {
  transition: transform 0.3s ease 0s;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 30;
  cursor: pointer;
}
.c-hamburger__inner {
  opacity: 0;
  transform: translate(0, 0px);
  position: relative;
  width: 58px;
  height: 55px;
}
.is-load .c-hamburger__inner {
  transition: opacity 0.3s ease 0s, transform 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
  transition-duration: 0.9s;
  transition-delay: 1.2s;
  opacity: 1;
  transform: translate(0, 0);
}
.c-hamburger__inner div {
  position: absolute;
  background: linear-gradient(135deg, #ec95e0 0%, #7fd5fd 100%) left top;
  left: 19px;
  width: 20px;
  height: 3px;
  transition: all 0.3s ease 0s;
}
.c-hamburger__inner div:nth-child(1) {
  top: 22px;
}
.is-open-nav .c-hamburger__inner div:nth-child(1) {
  left: 16px;
  width: 26px;
  top: 26px;
  transform: rotate(390deg);
}
.c-hamburger__inner div:nth-child(2) {
  top: 31px;
}
.is-open-nav .c-hamburger__inner div:nth-child(2) {
  left: 16px;
  width: 26px;
  top: 26px;
  transform: rotate(-390deg);
}

@media screen and (min-width: 1001px) {
  .c-footer {
    margin: 0 auto;
  }
}
.c-footer__main {
  position: relative;
  padding: 200px 0 0;
}
@media screen and (min-width: 1001px) {
  .c-footer__main {
    padding: 6% 0 4.5%;
  }
}
.c-footer__pagetop {
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  .c-footer__pagetop {
    position: relative;
    margin-right: 4%;
    margin-left: auto;
    width: 29%;
  }
}
@media screen and (min-width: 1001px) {
  .is-go-top .c-footer__pagetop {
    animation: fly 1s cubic-bezier(0.65, 0, 0.35, 1) 0s 1 forwards;
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__pagetop {
    position: fixed;
    bottom: 0;
    right: 0;
    margin-right: 4.7%;
    margin-bottom: 1.5%;
    width: 15.8%;
    max-width: 252px;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease 0s;
  }
  .is-left-top .c-footer__pagetop {
    opacity: 1;
    pointer-events: auto;
  }
  .is-contents-end .c-footer__pagetop {
    position: absolute;
    bottom: 100%;
  }
  .is-go-top.is-contents-end .c-footer__pagetop {
    animation: none;
  }
  .c-footer__pagetop:hover img {
    animation: hop 0.5s linear 0s 1 forwards;
  }
}
.c-footer__pagetop-img {
  animation: rotate-8-anim 5s linear 0s infinite reverse forwards;
}
.c-footer__logo {
  /*
  width: 70%;
  margin: 1% auto 0 ;
  @include pc(){
    width: 28.4%;
    max-width: 530px;
  }
  */
  width: 41%;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 5%;
  position: relative;
  margin: 1% auto 0;
}
@media screen and (max-width: 1000px) {
  .c-footer__logo {
    width: 72%;
    gap: 15%;
    grid-template-columns: 1fr;
  }
}
.c-footer__logo-item {
  display: block;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .c-footer__logo-item:nth-child(2) {
    width: 90%;
    margin: 0 auto;
  }
}
.c-footer__logo-link {
  display: block;
}
@media screen and (min-width: 1001px) {
  .c-footer__logo-link {
    filter: brightness(1);
    transition: filter 0.5s ease 0s;
  }
  .is-ie .c-footer__logo-link {
    transition: opacity 0.5s ease 0s;
  }
  .c-footer__logo-link:hover {
    filter: brightness(1.1);
    transition-duration: 0.3s;
  }
  .is-ie .c-footer__logo-link:hover {
    opacity: 0.7;
  }
}
.c-footer__link {
  margin-top: 50px;
}
@media screen and (min-width: 1001px) {
  .c-footer__link {
    margin-top: 100px;
  }
}
.c-footer__link-list {
  display: inline-block;
}
@media screen and (min-width: 1001px) {
  .c-footer__link-list {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__link-item {
    width: 190px;
  }
}
@media screen and (max-width: 1000px) {
  .c-footer__link-item + .c-footer__link-item {
    margin-top: 9px;
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__link-item + .c-footer__link-item {
    margin-left: 10px;
  }
}
.c-footer__link-link {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
  display: block;
  background-color: #fff;
  border: 1px solid #383838;
  border-radius: 1000px;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: normal;
  padding: 7px 22px;
}
@media screen and (min-width: 1001px) {
  .c-footer__link-link:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease 0s;
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__link-link {
    padding: 5px 0;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: normal;
  }
}
@media screen and (max-width: 1000px) {
  .c-footer__img {
    margin-top: 5%;
  }
  .c-footer__img--1 {
    opacity: 0;
    transform: translate(0, 20px);
    transition: opacity 0.5s ease 0s, transform 0.5s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
  }
  .c-footer__img--1.is-scroll {
    transition-duration: 0.8s;
    transition-delay: 0s;
    opacity: 1;
    transform: translate(0, 0);
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__img {
    position: absolute;
  }
  .c-footer__img--1 {
    opacity: 0;
    transform: translate(40px, 0);
    transition: opacity 0.3s ease 0s, transform 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
    right: 0%;
    bottom: 0;
    width: 28%;
    max-width: 448px;
  }
  .is-scroll .c-footer__img--1 {
    transition-duration: 0.8s;
    transition-delay: 0.2s;
    opacity: 1;
    transform: translate(0, 0);
  }
  .c-footer__img--2 {
    opacity: 0;
    transform: translate(0, 70px);
    transition: opacity 0.3s ease 0s, transform 0.3s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
    bottom: 13%;
    left: 4.7%;
    width: 21.25%;
    max-width: 340px;
  }
  .is-scroll .c-footer__img--2 {
    transition-duration: 0.6s;
    transition-delay: 0.6s;
    opacity: 1;
    transform: translate(0, 0);
  }
}
@media screen and (max-width: 1000px) {
  .c-footer__copy {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto 9.1%;
    width: 80%;
  }
}
@media screen and (min-width: 1001px) {
  .c-footer__copy {
    margin: 2.7% auto 0;
    width: 24.6%;
  }
}

.m-modal {
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-modal .m-modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff !important;
}
.m-modal .m-modal__content {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  transform: none !important;
  background-color: #383838;
}
.m-modal .m-modal__content .m-modal__close-btn {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 58px;
  height: 55px;
  cursor: pointer;
}
@media screen and (min-width: 1001px) {
  .m-modal .m-modal__content .m-modal__close-btn {
    width: 116px;
    height: 110px;
  }
  .m-modal .m-modal__content .m-modal__close-btn:hover::before {
    transform: rotate(45deg);
  }
  .m-modal .m-modal__content .m-modal__close-btn:hover::after {
    transform: rotate(135deg);
  }
}
.m-modal .m-modal__content .m-modal__close-btn::before, .m-modal .m-modal__content .m-modal__close-btn::after {
  transition: transform 0.5s cubic-bezier(0.21, 0.75, 0.38, 0.95) 0s;
  left: 16px;
  width: 26px;
  top: 26px;
  height: 3px !important;
  background: linear-gradient(135deg, #ec95e0 0%, #7fd5fd 100%) left top;
}
@media screen and (min-width: 1001px) {
  .m-modal .m-modal__content .m-modal__close-btn::before, .m-modal .m-modal__content .m-modal__close-btn::after {
    top: 52px !important;
    left: 32px !important;
    width: 52px !important;
    height: 4px !important;
  }
}
/*# sourceMappingURL=common.css.map */