/* base */
html {
  box-sizing: border-box;
}

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

body {
  margin: 0;
  background-color: #fcecec;
  color: #000000;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "palt";
}

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

button {
  font-family: inherit;
}

/* layout */
.l-page {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  background-color: #fcecec;
}

.l-main {
  position: relative;
  z-index: 2;
  max-width: 1600px;
  margin: 0 auto;
}

/* texture */
.c-texture {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.c-texture__item {
  position: absolute;
  display: block;
  width: 123px;
  height: 118px;
  overflow: visible;
  color: transparent;
  -webkit-transition: color 0.8s ease;
  transition: color 0.8s ease;
}

/* header */
.c-header {
  position: relative;
  z-index: 3;
  height: 95px;
}

.c-header__logo {
  position: absolute;
  top: 24px;
  left: 59px;
  display: block;
  width: 224px;
  height: 48px;
}

.c-header__logo img {
  display: block;
  width: 224px;
  height: 48px;
}

/* loading */
.c-loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fcecec;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.c-loading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.c-loading__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-loading__baskets {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-loading__basket {
  display: block;
  width: 71px;
  height: 68px;
  margin-right: 30px;
}

.c-loading__basket img {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.22;
  -webkit-animation: loading-lit 1.5s linear infinite;
  animation: loading-lit 1.5s linear infinite;
}

.c-loading__basket:last-child {
  margin-right: 0;
}

.c-loading__basket:nth-child(2) img {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.c-loading__basket:nth-child(3) img {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.c-loading__text {
  margin: 31px 0 0;
  color: #000000;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  -webkit-animation: loading-blink 1s ease-in-out infinite;
  animation: loading-blink 1s ease-in-out infinite;
}

@-webkit-keyframes loading-lit {
  0%,
  33.32% {
    opacity: 1;
  }
  33.33%,
  100% {
    opacity: 0.22;
  }
}

@keyframes loading-lit {
  0%,
  33.32% {
    opacity: 1;
  }
  33.33%,
  100% {
    opacity: 0.22;
  }
}

@-webkit-keyframes loading-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

@keyframes loading-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/* kv */
.c-kv {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
}

.c-kv__marquee {
  position: absolute;
  top: 510px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 540px;
  overflow: hidden;
  pointer-events: none;
}

.c-kv__marquee-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: max-content;
  -webkit-animation: kv-marquee 12s linear infinite;
  animation: kv-marquee 12s linear infinite;
}

.c-kv__marquee-text {
  margin: 0;
  padding: 0 5px;
  color: #ffbebe;
  font-family: Futura, "Century Gothic", "Arial Black", sans-serif;
  font-size: 260px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -5.2px;
  white-space: nowrap;
}

@-webkit-keyframes kv-marquee {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes kv-marquee {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.c-kv__chara {
  position: relative;
  z-index: 2;
  width: 501px;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 501 / 730;
}

.c-kv__chara-img {
  position: absolute;
  bottom: 0;
  left: 40px;
  display: block;
  width: calc(100% - 80px);
  max-width: none;
  height: auto;
  -webkit-transform: translateY(110%);
  transform: translateY(110%);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}

.c-kv__chara.is-enter .c-kv__chara-img {
  -webkit-animation: kv-enter 2.7s cubic-bezier(0.22, 1.15, 0.36, 1) both;
  animation: kv-enter 2.7s cubic-bezier(0.22, 1.15, 0.36, 1) both;
}

.c-kv__chara.is-idle .c-kv__chara-img {
  -webkit-transform: none;
  transform: none;
}

.c-kv__chara.is-hop .c-kv__chara-img {
  -webkit-animation: kv-hop 1.55s cubic-bezier(0.22, 1.15, 0.36, 1);
  animation: kv-hop 1.55s cubic-bezier(0.22, 1.15, 0.36, 1);
}

@-webkit-keyframes kv-enter {
  0% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  6% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  16% {
    -webkit-transform: translateY(81%);
    transform: translateY(81%);
  }
  30% {
    -webkit-transform: translateY(81%);
    transform: translateY(81%);
  }
  36% {
    -webkit-transform: translateY(86%) scaleX(1.08) scaleY(0.88);
    transform: translateY(86%) scaleX(1.08) scaleY(0.88);
  }
  52% {
    -webkit-transform: translateY(-11%) scaleX(0.96) scaleY(1.08);
    transform: translateY(-11%) scaleX(0.96) scaleY(1.08);
  }
  64% {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
  }
  76% {
    -webkit-transform: translateY(0) scaleX(1.1) scaleY(0.86);
    transform: translateY(0) scaleX(1.1) scaleY(0.86);
  }
  88% {
    -webkit-transform: translateY(-3%) scaleX(0.98) scaleY(1.05);
    transform: translateY(-3%) scaleX(0.98) scaleY(1.05);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes kv-enter {
  0% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  6% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  16% {
    -webkit-transform: translateY(81%);
    transform: translateY(81%);
  }
  30% {
    -webkit-transform: translateY(81%);
    transform: translateY(81%);
  }
  36% {
    -webkit-transform: translateY(86%) scaleX(1.08) scaleY(0.88);
    transform: translateY(86%) scaleX(1.08) scaleY(0.88);
  }
  52% {
    -webkit-transform: translateY(-11%) scaleX(0.96) scaleY(1.08);
    transform: translateY(-11%) scaleX(0.96) scaleY(1.08);
  }
  64% {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
  }
  76% {
    -webkit-transform: translateY(0) scaleX(1.1) scaleY(0.86);
    transform: translateY(0) scaleX(1.1) scaleY(0.86);
  }
  88% {
    -webkit-transform: translateY(-3%) scaleX(0.98) scaleY(1.05);
    transform: translateY(-3%) scaleX(0.98) scaleY(1.05);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes kv-hop {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  12% {
    -webkit-transform: scaleX(1.06) scaleY(0.9);
    transform: scaleX(1.06) scaleY(0.9);
  }
  28% {
    -webkit-transform: translateY(-5%) scaleX(0.98) scaleY(1.05);
    transform: translateY(-5%) scaleX(0.98) scaleY(1.05);
  }
  42% {
    -webkit-transform: translateY(0) scaleX(1.04) scaleY(0.94);
    transform: translateY(0) scaleX(1.04) scaleY(0.94);
  }
  52% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  62% {
    -webkit-transform: scaleX(1.05) scaleY(0.92);
    transform: scaleX(1.05) scaleY(0.92);
  }
  78% {
    -webkit-transform: translateY(-4%) scaleX(0.98) scaleY(1.04);
    transform: translateY(-4%) scaleX(0.98) scaleY(1.04);
  }
  92% {
    -webkit-transform: translateY(0) scaleX(1.03) scaleY(0.96);
    transform: translateY(0) scaleX(1.03) scaleY(0.96);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes kv-hop {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  12% {
    -webkit-transform: scaleX(1.06) scaleY(0.9);
    transform: scaleX(1.06) scaleY(0.9);
  }
  28% {
    -webkit-transform: translateY(-5%) scaleX(0.98) scaleY(1.05);
    transform: translateY(-5%) scaleX(0.98) scaleY(1.05);
  }
  42% {
    -webkit-transform: translateY(0) scaleX(1.04) scaleY(0.94);
    transform: translateY(0) scaleX(1.04) scaleY(0.94);
  }
  52% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  62% {
    -webkit-transform: scaleX(1.05) scaleY(0.92);
    transform: scaleX(1.05) scaleY(0.92);
  }
  78% {
    -webkit-transform: translateY(-4%) scaleX(0.98) scaleY(1.04);
    transform: translateY(-4%) scaleX(0.98) scaleY(1.04);
  }
  92% {
    -webkit-transform: translateY(0) scaleX(1.03) scaleY(0.96);
    transform: translateY(0) scaleX(1.03) scaleY(0.96);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .c-kv__chara-img,
  .c-kv__chara.is-enter .c-kv__chara-img,
  .c-kv__chara.is-idle .c-kv__chara-img,
  .c-kv__chara.is-hop .c-kv__chara-img {
    -webkit-transform: none;
    transform: none;
    -webkit-animation: none;
    animation: none;
  }

  .c-loading,
  .c-loading__basket img,
  .c-loading__text {
    -webkit-animation: none;
    animation: none;
    -webkit-transition: none;
    transition: none;
  }

  .c-loading__basket:nth-child(1) img {
    opacity: 1;
  }

  .c-loading__text {
    opacity: 1;
  }

  .c-kv__logo,
  .c-kv__lead,
  .c-kv__btn,
  .c-kv.is-intro .c-kv__logo,
  .c-kv.is-intro .c-kv__lead,
  .c-kv.is-intro .c-kv__btn {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-animation: none;
    animation: none;
    pointer-events: auto;
  }
}

.c-kv__logo {
  position: relative;
  z-index: 2;
  display: block;
  width: 354px;
  max-width: 100%;
  height: auto;
  margin: 37px auto 0;
  opacity: 0;
}

.c-kv__lead {
  position: relative;
  z-index: 2;
  margin: 35px 0 0;
  color: #000000;
  font-size: 26px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  opacity: 0;
}

.c-kv__btn {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 552px;
  max-width: calc(100% - 40px);
  margin: 35px 0 0;
  padding: 15px 91px;
  border: 2px solid #ec1b1b;
  border-radius: 100px;
  background-color: #ffffff;
  color: #f0231b;
  font-size: 26px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
}

.c-kv.is-intro .c-kv__logo {
  -webkit-animation: kv-fadein 0.6s ease both;
  animation: kv-fadein 0.6s ease both;
}

.c-kv.is-intro .c-kv__lead {
  -webkit-animation: kv-fadein 0.6s ease 0.28s both;
  animation: kv-fadein 0.6s ease 0.28s both;
}

.c-kv.is-intro .c-kv__btn {
  -webkit-animation: kv-fadein 0.6s ease 0.56s both;
  animation: kv-fadein 0.6s ease 0.56s both;
  pointer-events: auto;
}

@-webkit-keyframes kv-fadein {
  from {
    opacity: 0;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes kv-fadein {
  from {
    opacity: 0;
    -webkit-transform: translateY(12px);
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.c-kv__btn-label {
  display: block;
  letter-spacing: -0.05px;
}

.c-kv__btn-icon {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 41px;
  height: 41px;
  margin-top: -21px;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
}

.c-kv__btn.is-open .c-kv__btn-icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* profile */
.c-profile {
  --profile-w: 1480px;
  position: relative;
  z-index: 1;
  width: 1480px;
  max-width: 100%;
  margin: 80px auto 40px;
}

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

.c-profile__character-inner {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.28s ease-in;
  transition: max-height 0.28s ease-in;
}

.c-profile__character.is-open .c-profile__character-inner {
  max-height: calc(var(--profile-w) * 1289 / 1480);
  -webkit-transition: max-height 0.4s ease-out;
  transition: max-height 0.4s ease-out;
}

.c-profile__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(var(--profile-w) * 1289 / 1480);
  padding: calc(var(--profile-w) * 90 / 1480) calc(var(--profile-w) * 40 / 1480) calc(var(--profile-w) * 60 / 1480);
  border-radius: calc(var(--profile-w) * 40 / 1480) calc(var(--profile-w) * 40 / 1480) 0 0;
  background-color: #ffffff;
  background-image: url(../img/bg_profile.png);
  background-size: auto;
}

.c-profile__title {
  display: block;
  width: calc(var(--profile-w) * 438 / 1480);
  max-width: 100%;
  height: auto;
}

.c-profile__birthday {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: calc(var(--profile-w) * 50 / 1480);
}

.c-profile__badge,
.c-profile__memo-label {
  display: inline-block;
  padding: 0 calc(var(--profile-w) * 30 / 1480);
  border-radius: calc(var(--profile-w) * 100 / 1480);
  background-color: #fb3437;
  color: #ffffff;
  font-size: calc(var(--profile-w) * 30 / 1480);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.c-profile__birthday-date {
  margin: 0 0 0 calc(var(--profile-w) * 10 / 1480);
  color: #fb3437;
  font-size: calc(var(--profile-w) * 32 / 1480);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.c-profile__hero {
  display: block;
  width: calc(var(--profile-w) * 421 / 1480);
  max-width: 100%;
  height: auto;
  margin-top: calc(var(--profile-w) * 50 / 1480);
  cursor: grab;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  touch-action: pan-y;
  -webkit-transition: opacity 0.18s ease;
  transition: opacity 0.18s ease;
}

.c-profile__hero.is-swap {
  opacity: 0;
}

.c-profile__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(var(--profile-w) * 552 / 1480);
  max-width: 100%;
  margin: calc(var(--profile-w) * 50 / 1480) 0 0;
  padding: 0;
  list-style: none;
}

.c-profile__icons-item {
  margin: 0;
  padding: 0;
}

.c-profile__icon {
  display: block;
  width: calc(var(--profile-w) * 74 / 1480);
  height: calc(var(--profile-w) * 74 / 1480);
  padding: calc(var(--profile-w) * 8 / 1480);
  border: calc(var(--profile-w) * 2 / 1480) solid transparent;
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
}

.c-profile__icon.is-active {
  border-color: #f5b5b5;
}

.c-profile__icon-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-profile__wish {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(var(--profile-w) * 1198 / 1480);
  max-width: 100%;
  margin-top: calc(var(--profile-w) * 50 / 1480);
  overflow: hidden;
  border: calc(var(--profile-w) * 4 / 1480) solid #fb3437;
  border-radius: calc(var(--profile-w) * 20 / 1480);
  background-color: #ffffff;
}

.c-profile__wish-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(var(--profile-w) * 315 / 1480);
  min-height: calc(var(--profile-w) * 104 / 1480);
  margin: 0;
  background-color: #fb3437;
  color: #ffffff;
  font-size: calc(var(--profile-w) * 30 / 1480);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.04em;
  text-align: center;
}

.c-profile__wish-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: 0;
  padding: calc(var(--profile-w) * 15 / 1480) calc(var(--profile-w) * 15 / 1480) calc(var(--profile-w) * 15 / 1480) calc(var(--profile-w) * 31 / 1480);
  color: #fb3437;
  font-size: calc(var(--profile-w) * 30 / 1480);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.c-profile__memo {
  position: absolute;
  width: calc(var(--profile-w) * 466 / 1480);
  text-align: center;
}

.c-profile__memo-label {
  position: absolute;
  top: calc(var(--profile-w) * -19 / 1480);
  left: 50%;
  margin: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.c-profile__memo-text {
  margin: 0;
  padding: calc(var(--profile-w) * 38 / 1480) calc(var(--profile-w) * 20 / 1480) calc(var(--profile-w) * 20 / 1480);
  color: #000000;
  font-size: calc(var(--profile-w) * 22 / 1480);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.c-profile__memo-sub {
  font-size: calc(var(--profile-w) * 20 / 1480);
}

.c-profile__nowrap {
  white-space: nowrap;
}

.u-sp-only {
  display: none;
}

.c-profile__memo--personality {
  top: calc(var(--profile-w) * 342 / 1480);
  left: calc(var(--profile-w) * 95 / 1480);
}

.c-profile__memo--food {
  top: calc(var(--profile-w) * 340 / 1480);
  left: calc(var(--profile-w) * 873 / 1480);
}

.c-profile__memo--place {
  top: calc(var(--profile-w) * 548 / 1480);
  left: calc(var(--profile-w) * 1001 / 1480);
}

.c-profile__memo--skill {
  top: calc(var(--profile-w) * 588 / 1480);
  left: calc(var(--profile-w) * 33 / 1480);
}

.c-profile__memo--like {
  top: calc(var(--profile-w) * 804 / 1480);
  left: calc(var(--profile-w) * 83 / 1480);
}

.c-profile__memo--charm {
  top: calc(var(--profile-w) * 799 / 1480);
  left: calc(var(--profile-w) * 923 / 1480);
}

.c-profile__close {
  position: absolute;
  top: 0;
  right: -1.01351%;
  z-index: 3;
  display: none;
  width: 7.02703%;
  margin-top: -1.01351%;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}

.c-profile__character.is-open .c-profile__close {
  display: block;
}

.c-profile__close-img {
  display: block;
  width: 100%;
  height: auto;
}

.c-profile__note {
  position: relative;
}

.c-profile__note-link {
  display: block;
}

.c-profile__note-bar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: calc(var(--profile-w) * 47 / 1480) calc(var(--profile-w) * 40 / 1480);
  overflow: visible;
  border-radius: calc(var(--profile-w) * 40 / 1480);
  background-color: #fb3437;
  -webkit-transition: border-radius 0.28s ease-in;
  transition: border-radius 0.28s ease-in;
}

.c-profile__character.is-open ~ .c-profile__note .c-profile__note-bar {
  border-radius: 0 0 calc(var(--profile-w) * 40 / 1480) calc(var(--profile-w) * 40 / 1480);
  -webkit-transition: border-radius 0.4s ease-out;
  transition: border-radius 0.4s ease-out;
}

.c-profile__note-logo {
  display: block;
  width: calc(var(--profile-w) * 600 / 1480);
  max-width: 100%;
  height: auto;
}

.c-profile__note-chara {
  position: absolute;
  bottom: 0;
  right: 10px;
  z-index: 3;
  display: block;
  width: calc(var(--profile-w) * 320 / 1480);
  height: auto;
  pointer-events: none;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}

@media screen and (hover: hover) and (pointer: fine) {
  .c-profile__note:hover .c-profile__note-chara {
    -webkit-animation: note-pyoko 0.55s cubic-bezier(0.22, 1.15, 0.36, 1);
    animation: note-pyoko 0.55s cubic-bezier(0.22, 1.15, 0.36, 1);
  }
}

@-webkit-keyframes note-pyoko {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  28% {
    -webkit-transform: scaleX(1.12) scaleY(0.86);
    transform: scaleX(1.12) scaleY(0.86);
  }
  58% {
    -webkit-transform: scaleX(0.92) scaleY(1.12);
    transform: scaleX(0.92) scaleY(1.12);
  }
  78% {
    -webkit-transform: scaleX(1.04) scaleY(0.96);
    transform: scaleX(1.04) scaleY(0.96);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes note-pyoko {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  28% {
    -webkit-transform: scaleX(1.12) scaleY(0.86);
    transform: scaleX(1.12) scaleY(0.86);
  }
  58% {
    -webkit-transform: scaleX(0.92) scaleY(1.12);
    transform: scaleX(0.92) scaleY(1.12);
  }
  78% {
    -webkit-transform: scaleX(1.04) scaleY(0.96);
    transform: scaleX(1.04) scaleY(0.96);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .c-profile__note:hover .c-profile__note-chara {
    -webkit-animation: none;
    animation: none;
  }
}

/* message */
.c-message {
  --message-w: 1600px;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1600px;
  max-width: 100%;
  min-height: calc(var(--message-w) * 602 / 1600);
  margin-right: auto;
  margin-left: auto;
  padding: calc(var(--message-w) * 60 / 1600) calc(var(--message-w) * 40 / 1600) 0;
}

.c-message__body {
  width: calc(var(--message-w) * 900 / 1600);
  max-width: 100%;
  margin-right: calc(var(--message-w) * 477 / 1600);
  padding-bottom: calc(var(--message-w) * 80 / 1600);
}

.c-message__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 calc(var(--message-w) * 30 / 1600);
}

.c-message__logo {
  display: block;
  width: calc(var(--message-w) * 205 / 1600);
  height: auto;
}

.c-message__heading-text {
  margin-left: calc(var(--message-w) * 10 / 1600);
  color: #000000;
  font-size: 40px;
  font-size: min(40px, calc(var(--message-w) * 48 / 1600));
  font-weight: 500;
  line-height: 1.6;
}

.c-message__text {
  margin: 0;
  color: #000000;
  font-size: 20px;
  font-size: min(20px, calc(var(--message-w) * 24 / 1600));
  font-weight: 500;
  line-height: 1.8;
}

.c-message__chara-wrap {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 3;
  width: calc(var(--message-w) * 437 / 1600);
  height: 0;
  overflow: hidden;
  margin-left: calc(var(--message-w) * 252 / 1600);
}

.c-message__chara-wrap.is-pyon {
  overflow: visible;
}

.c-message__chara {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  -webkit-transform: translateY(110%);
  transform: translateY(110%);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}

.c-message__chara.is-pyon {
  -webkit-animation: message-pyon 0.9s cubic-bezier(0.22, 1.2, 0.36, 1) both;
  animation: message-pyon 0.9s cubic-bezier(0.22, 1.2, 0.36, 1) both;
}

@-webkit-keyframes message-pyon {
  0% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  52% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  68% {
    -webkit-transform: translateY(0) scaleX(1.08) scaleY(0.86);
    transform: translateY(0) scaleX(1.08) scaleY(0.86);
  }
  84% {
    -webkit-transform: translateY(-6%) scaleX(0.98) scaleY(1.06);
    transform: translateY(-6%) scaleX(0.98) scaleY(1.06);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes message-pyon {
  0% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
  }
  52% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  68% {
    -webkit-transform: translateY(0) scaleX(1.08) scaleY(0.86);
    transform: translateY(0) scaleX(1.08) scaleY(0.86);
  }
  84% {
    -webkit-transform: translateY(-6%) scaleX(0.98) scaleY(1.06);
    transform: translateY(-6%) scaleX(0.98) scaleY(1.06);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .c-message__chara {
    -webkit-transform: none;
    transform: none;
  }

  .c-message__chara.is-pyon {
    -webkit-animation: none;
    animation: none;
  }

  .c-message__chara-wrap {
    -webkit-transition: none;
    transition: none;
  }
}

/* footer */
.c-footer {
  position: relative;
  z-index: 2;
  max-width: 100%;
  margin-top: -25px;
}

.c-footer__img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1540px) {
  .l-page {
    padding-right: 40px;
    padding-left: 40px;
  }

  .c-header__logo {
    left: 0;
  }

  .c-kv__marquee {
    left: -40px;
    width: calc(100% + 80px);
  }

  .c-kv__btn {
    max-width: 100%;
  }

  .c-profile {
    width: 100%;
    --profile-w: calc(100vw - 80px);
  }

  .c-message {
    width: 100%;
    --message-w: calc(100vw - 80px);
    padding-right: 0;
    padding-left: 0;
  }

  .c-footer {
    margin-top: calc((100vw - 80px) * -25 / 1600);
  }
}

.c-message__text + .c-message__text {
  margin-top: 1.6em;
}

@media screen and (max-width: 640px) {
  .c-loading__basket {
    width: 52px;
    height: 50px;
    margin-right: 18px;
  }

  .c-loading__text {
    margin-top: 20px;
    font-size: 18px;
  }
  .c-texture__item {
    width: 73.8px;
    height: 70.8px;
  }

  .l-page {
    padding-right: 20px;
    padding-left: 20px;
  }

  .c-header {
    height: 64px;
  }

  .c-header__logo {
    top: 16px;
    width: 140px;
    height: 30px;
  }

  .c-header__logo img {
    width: 140px;
    height: 30px;
  }

  .c-kv {
    padding-top: 0;
  }

  .c-kv__marquee {
    top: 340px;
    left: -20px;
    width: calc(100% + 40px);
    height: 280px;
  }

  .c-kv__marquee-text {
    font-size: 92px;
    letter-spacing: -2px;
  }

  .c-kv__chara {
    width: 288px;
  }

  .c-kv__chara-img {
    left: 24px;
    width: calc(100% - 48px);
  }

  .c-kv__logo {
    width: 220px;
    height: auto;
    margin-top: 20px;
  }

  .c-kv__lead {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }

  .c-kv__btn {
    width: 80%;
    margin-top: 22px;
    padding: 12px 52px 12px 16px;
    font-size: 15px;
    line-height: 1.6;
  }

  .c-kv__btn-icon {
    right: 12px;
    width: 28px;
    height: 28px;
    margin-top: -14px;
  }

  .c-profile {
    width: 100%;
    margin-top: 40px;
    --profile-w: calc(100vw - 40px);
  }

  .c-profile__character.is-open .c-profile__character-inner {
    max-height: 4000px;
  }

  .c-profile__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "title title"
      "bday bday"
      "pers pers"
      "skill like"
      "hero hero"
      "icons icons"
      "food charm"
      "place place"
      "wish wish";
    grid-row-gap: 20px;
    grid-column-gap: 12px;
    gap: 20px 12px;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-items: center;
    min-height: 0;
    padding: 36px 16px 28px;
    border-radius: 20px 20px 0 0;
    background-size: 50%;
  }

  .c-profile__title {
    grid-area: title;
    width: 220px;
  }

  .c-profile__birthday {
    grid-area: bday;
    margin-top: 0;
  }

  .c-profile__badge,
  .c-profile__memo-label {
    padding: 0 14px;
    font-size: 13px;
    border-radius: 100px;
  }

  .c-profile__birthday-date {
    margin-left: 8px;
    font-size: 15px;
  }

  .c-profile__hero {
    grid-area: hero;
    width: 230px;
    margin-top: 4px;
  }

  .c-profile__icons {
    grid-area: icons;
    width: 100%;
    margin-top: 0;
  }

  .c-profile__icon {
    width: 40px;
    height: 40px;
    padding: 4px;
    border-width: 2px;
  }

  .c-profile__wish {
    grid-area: wish;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    margin-top: 4px;
    border-width: 2px;
    border-radius: 12px;
  }

  .c-profile__wish-label {
    width: 100%;
    min-height: 0;
    padding: 8px 12px;
    font-size: 13px;
  }

  .c-profile__wish-text {
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.7;
  }

  .c-profile__memo,
  .c-profile__memo--personality,
  .c-profile__memo--food,
  .c-profile__memo--place,
  .c-profile__memo--skill,
  .c-profile__memo--like,
  .c-profile__memo--charm {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: 0;
  }

  .c-profile__memo--personality {
    grid-area: pers;
  }

  .c-profile__memo--skill {
    grid-area: skill;
  }

  .c-profile__memo--like {
    grid-area: like;
  }

  .c-profile__memo--food {
    grid-area: food;
  }

  .c-profile__memo--place {
    grid-area: place;
  }

  .c-profile__memo--charm {
    grid-area: charm;
  }

  .c-profile__memo-label {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
  }

  .c-profile__memo-text {
    padding: 10px 2px 0;
    font-size: 13px;
    letter-spacing: 0.04em;
  }

  .c-profile__memo--personality .c-profile__memo-text {
    font-size: 14px;
  }

  .c-profile__memo-sub {
    font-size: 11px;
  }

  .c-profile__nowrap {
    white-space: normal;
  }

  .c-profile__close {
    top: 8px;
    right: 8px;
    width: 40px;
    margin-top: 0;
  }


  .c-profile__note-bar {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    padding: 22px 16px;
    border-radius: 20px;
  }

  .c-profile__character.is-open ~ .c-profile__note .c-profile__note-bar {
    border-radius: 0 0 20px 20px;
  }

  .c-profile__note-logo {
    width: 220px;
    max-width: 100%;
    margin-right: 0;
  }

  .c-profile__note-chara {
    display: block;
    width: 100px;
    max-width: 132px;
    height: auto;
    margin: -52px auto 0;
  }

  .c-message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    min-height: 0;
    padding-top: 28px;
    --message-w: calc(100vw - 40px);
  }

  .c-message__body {
    width: 100%;
    margin-right: 0;
    padding-bottom: 8px;
  }

  .c-message__heading {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 14px;
  }

  .c-message__logo {
    width: 140px;
  }

  .c-message__heading-text {
    margin-left: 6px;
    font-size: 20px;
  }

  .c-message__text {
    font-size: 14px;
    line-height: 1.8;
  }

  .c-message__text + .c-message__text {
    margin-top: 1.2em;
  }

  .u-pc-br {
    display: none;
  }

  .u-sp-only {
    display: inline;
  }

  .c-message__chara-wrap {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 3;
    width: 210px;
    height: 0;
    overflow: hidden;
    margin-top: 8px;
    margin-bottom: 0;
    margin-left: 0;
    -webkit-transition: height 0.45s cubic-bezier(0.22, 1.2, 0.36, 1);
    transition: height 0.45s cubic-bezier(0.22, 1.2, 0.36, 1);
  }

  .c-message__chara-wrap.is-pyon {
    height: calc(210px * 542 / 437);
    overflow: visible;
  }

  .c-message__chara {
    position: static;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .c-footer {
    margin-top: -36px;
  }

  .c-footer .inner {
    width: 100%;
    padding: 0 16px;
  }

  .c-footer .footBottomLink ul {
    display: block;
    width: 100%;
    margin: 16px 0 0;
    padding: 0;
  }

  .c-footer .footBottomLink ul li {
    display: inline-block;
    float: none;
    margin: 0 6px 8px;
    border: 0;
  }

  .c-footer .footBottomLink ul li a {
    padding: 0 2px;
    font-size: 12px;
    white-space: nowrap;
  }

  .c-footer .copyright {
    padding: 4px 8px 16px;
    font-size: 11px;
    word-break: break-word;
  }
}


@scope (footer) {
  a[href*=".pdf"]:after {
      content: url(https://www.tokyu-store.co.jp/Portals/0/images/common/ico_file_pdf.png);
  }
  .inner {
      width: 1000px;
      margin: 0 auto;
  }
  p {
      margin: 0;
      padding: 0 0 15px 0;
  }
  footer{margin:0;padding:0;position: relative;z-index: 2;}
  .footTop{background-color:#f9e9e9;}
  .footBottom{background-color:#e6000d;}
  /* pagetop */
  .pagetop{position:relative;right:0;z-index:1;padding:0;}
  .pagetop a{display:block;overflow:hidden;position:relative;width:50px;height:50px;background:url(https://www.tokyu-store.co.jp/Portals/0/images/common/pagetop.png) no-repeat center center;white-space:nowrap;text-indent:110%;
  /*position:fixed;top:inherit;right:0;bottom:80px;left:inherit;*/}
  /* FootPane */
  .footLinkBox{width:100%;padding:74px 0;}
  .footLinkBox:after{content:"";display:block;clear:both;}
  .footLinkBox > div{float:left;width:33%;text-align:center;}
  .footLinkBox h2{padding:0;border:none;background-color:inherit;font-size:100%;}
  .footLinkBox span{display:block;margin:0 auto 0.2em;text-align:center;}
  .footLinkBox ul{display:inline-block;margin:0 auto;padding:0;}
  .footLinkBox li{list-style-type:none;margin:0;padding:0;text-align:left;}
  .footLinkBox ul.bnrFootLink li a{display:block;}
  .footLinkBox a{color:#333;}
  /* FootBottomPane */
  .footBottomLink{text-align:center;}
  .footBottomLink ul{display:inline-block;margin:25px auto 0;padding:0;}
  .footBottomLink ul:after{content:"";display:block;clear:both;}
  .footBottomLink ul li{list-style-type:none;float:left;margin:0;padding:0;border-left:1px solid #fff;}
  .footBottomLink ul li:first-child{border-left:0;}
  .footBottomLink ul li a{position:relative;padding:0 15px;color:#fff;font-size:87.5%;}

  /* copyright */
  .copyright{color:#f5a5a4;text-align:center;}

  @media screen and (max-width: 767px) {
    .inner{
      width: 100%;
    }
    /* FootPane */
.footLinkBox{padding:1em 0;}

.footLinkBox > div{float:none;width:100%;text-align:center;}

.footLinkBox > div:first-child{width:100%;}

.footLinkBox > div:nth-child(2){width:100%;}

.footLinkBox > div:nth-child(3){width:100%;}

.footLinkBox > div:nth-child(4){width:100%;}

.footLinkBox h2{position:relative; margin:0;padding:15px 30px 15px 40px;border-bottom:1px solid #f3a2a8;border-radius:0;text-align:left;vertical-align:middle;}

.footLinkBox span{display:inline-block;position:absolute;top:10px; left:5px;margin:0;vertical-align:middle;}

.footLinkBox:after{content:"";display:block;clear:both;}

.footLinkBox li{float:left;width:32%;margin-right:2%;}

.footLinkBox li:nth-child(3n){margin-right:0;}

.footLinkBox li:nth-child(3n + 1){clear:left;}

.footLinkBox ul.footLink{padding:0 0 1em;}

.footLinkBox .footLink li{float:none;width:100%;margin-right:0;}

.footLinkBox .footLink li a{display:block;padding:0.5em 0.5em 0.5em 25px; border-bottom:1px solid #ccc;}

.footLinkBox .footLink > li > a:before{top:17px;left:10px;border-top:2px solid #e6000d;border-right:2px solid #e6000d;}

/* FootBottomPane */
.footBottomLink ul{margin:15px auto 0; padding:0;}

.footBottomLink ul li{display:inline-block; float:none;margin:0 0 0.5em 0.5em;border:0;}

.footBottomLink ul li:last-child{display:block;margin:0;}

/* copyright */
.copyright{padding:10px 0;}
    
  }
}

.c-footer .inner {
  max-width: 100%;
}

.kagoyon .hover-effect{
  transition: opacity 0.3s ease-in;
}
.kagoyon .hover-effect:hover{
  opacity: 0.7;
}