body { margin: 0; }

.l-container { width: 100%; }
.l-footer,.pc-footer { margin: 0; padding: 0; }
.l-container::after { content: ""; }

sup, sub { position: static; top: auto; }

html { scroll-behavior: smooth; font-size: calc((100vw - var(--sbw, 0px)) * .013333333); }

html.js-anim .js-reveal { opacity: 0; transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
html.js-anim .js-reveal.is-inview { opacity: 1; }

.js-wipe { transition: clip-path 1.4s cubic-bezier(0.37, 0, 0.63, 1) var(--d, 0s); }
.js-wipe.-fromLeft   { clip-path: inset(0 100% 0 0); }
.js-wipe.-fromRight  { clip-path: inset(0 0 0 100%); }
.js-wipe.-fromTop    { clip-path: inset(0 0 100% 0); }
.js-wipe.-fromBottom { clip-path: inset(100% 0 0 0); }

.js-wipe-box.is-inview > .js-wipe { clip-path: inset(0); }
.js-wipe.is-inview   { clip-path: inset(0); }

.js-wipe-box { position: relative; }
.js-wipe-box > .js-wipe { display: block; }
.is-noanim .js-wipe { transition: none !important; clip-path: none !important; }

.is-noanim .js-reveal, .is-noanim .js-anime { transition: none !important; opacity: 1 !important; }
.is-noanim .mv__box, .is-noanim .leftcont__box { transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }

.is-still .js-reveal, .is-still .js-anime { transition: none !important; opacity: 1 !important; }

.is-still .js-wipe { transition: none !important; clip-path: none !important; }
.is-still .mv__box, .is-still .leftcont__box { transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }

html.is-still { scroll-behavior: auto; }

.feature { box-sizing: border-box; color: #000; margin: 0 auto; position: relative; width: 100%;

  font-family: hiragino-kaku-gothic-pron, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",
    "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", meiryo, メイリオ, sans-serif;
  font-weight: 400; font-style: normal;

  font-size: 2rem;

  text-spacing-trim: space-all;
  line-break: strict;
  background: #f7f3e2;  }
.feature * { margin: 0; padding: 0; border: 0; vertical-align: baseline; box-sizing: border-box; scroll-margin-top: 50px; }

.feature h1, .feature h2, .feature h3, .feature h4, .feature h5, .feature h6,
.feature strong, .feature b { font-weight: inherit; }
.feature .pc { display: none; }
.feature a { color: #000; text-decoration: none; }

@media (hover: hover) {
  .feature a img, .feature a:not(:has(img:not([alt=""]))), .feature button { transition: opacity .3s; }

  .feature a:has(img:not([alt=""])):hover img { filter: url(#feature-hover-white); }

  .feature button.lineup__tap:hover { opacity: 1; }
  .feature button.lineup__tap:hover .lineup__ph > img { filter: url(#feature-hover-white); }
  .feature a:not(:has(img:not([alt=""]))):hover, .feature button:hover { opacity: .7; text-decoration: none; }
}

.feature .hover-filter { position: absolute; left: 0; top: 0; width: 0; height: 0; overflow: hidden; pointer-events: none; }

.feature img { display: block; vertical-align: bottom; max-width: 100%; height: auto; }
.feature ul { list-style: none; }

.feature .js-slider .look { margin: 0; width: 100%; }

.feature .js-slider { position: relative; overflow: hidden; list-style: none; padding: 0; z-index: 1; }
:where(.feature .js-slider) .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; box-sizing: content-box; transition-property: transform; }
:where(.feature .js-slider) .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }

.feature .swiper-pagination { position: absolute; bottom: 3.06666rem; left: 0; width: 100%; padding: 0 1.472rem 0 0; display: flex; justify-content: flex-end; }
.feature .swiper-pagination .swiper-pagination-bullet { width: 1.717334rem; height: 1.717334rem; margin: 0 2.14666rem; border: .1226666rem solid #000; border-radius: 50%; opacity: 1; background: none; }
.feature .swiper-pagination .swiper-pagination-bullet-active { background: #000; }

.feature { background: #fad2d9; color: #d11b24; }
.feature .frame-main__inner { background: #fad2d9; }

.feature :where(.fv, .intro, .lineup, .tote, .star, .check, .movie, .foot) { position: relative; }
.feature .abs { position: absolute; }

.feature .fv { margin-top: 0rem; height: 107.879rem; }
.feature .fv__box { position: absolute; top: 0; left: 0; width: 75rem; height: 107.879rem; }
.feature .fv__slider { width: 100%; height: 100%; }
.feature .fv__slider .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }

.feature .fv__link { display: block; width: 100%; height: 100%; }

html.js-anim .feature .fv__box.js-reveal { opacity: 0; filter: blur(10px); transform: scale(1.02);
  transition: filter 1s ease, opacity 1s ease, transform 1s ease; }
html.js-anim .feature .fv__box.js-reveal.is-inview { opacity: 1; filter: blur(0); transform: none; }
.is-noanim .feature .fv__box, .is-still .feature .fv__box { transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }

.feature .intro { margin-top: 0rem; height: 98.121rem; }
.feature .intro__ttl { top: 16.741rem; left: 15.501rem; width: 43.998rem; }
.feature .intro__txt { top: 42.311rem; left: 8.456rem; width: 58.088rem; }

.feature .lineup { margin-top: 0rem; height: 105.312rem; }

.feature .lineup__ttl { top: 2.358rem; left: 30.828rem; width: 13.347rem; text-align: center; white-space: nowrap;
  font-family: "ziclets-1", "ziclets-2", sans-serif; font-weight: 500; font-style: normal;
  font-size: 3.203rem; line-height: 1; letter-spacing: .09em; color: #d11b24; }
.feature .lineup__deco { top: 6.969rem; left: 33.44rem; width: 8.121rem; }
.feature .lineup__cell { position: absolute; width: 24.8rem; height: 31.029rem; }
.feature .lineup__cell.-r1 { top: 11.624rem; }
.feature .lineup__cell.-r2 { top: 42.954rem; }
.feature .lineup__cell.-r3 { top: 74.283rem; }
.feature .lineup__cell.-c1 { left: 0; }
.feature .lineup__cell.-c2 { left: 25.1rem; }
.feature .lineup__cell.-c3 { left: 50.2rem; }
.feature .lineup__tap { display: block; position: relative; width: 100%; height: 100%; background: none; cursor: pointer; font: inherit; color: inherit; }

.feature .lineup__ph { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.feature .lineup__ph > img { display: block; width: 100%; height: 100%; object-fit: cover; }

.feature .lineup__cell.-mount .lineup__tap { background: #d11b24; }
.feature .lineup__cell.-mount .lineup__ph { top: 1.201rem; left: 1.2rem; width: 22.4rem; height: 28.627rem; }

.feature .lineup__mark { position: absolute; top: 1.2rem; left: 1.2rem; width: 22.4rem; height: 28.6rem; z-index: 1;
  background: rgba(250, 210, 217, .5); }
.feature .lineup__mark > img { position: absolute; top: 23.96rem; left: 9.29rem; width: 3.824rem; height: auto; }

html.js-anim .feature .lineup__cell.is-zoom .lineup__mark { opacity: 0; transition: opacity .5s ease; }

.feature .lineup__cell { --zoom: 1.1; }
.feature .lineup__ph > img { transition: transform .5s cubic-bezier(0.22, 0.61, 0.36, 1); }
.feature .lineup__cell.is-zoom .lineup__ph > img { transform: scale(var(--zoom)); }
.feature .lineup__cell.-reset .lineup__mark, .feature .lineup__cell.-reset .lineup__ph > img { transition: none !important; }
html.js-anim .feature .lineup__mark { opacity: 0; transition: opacity .4s ease; }
html.js-anim .feature .lineup__mark.is-on { opacity: 1; }
.is-noanim .feature .lineup__mark, .is-still .feature .lineup__mark { transition: none !important; opacity: 1 !important; transform: none !important; }

.feature .tote { margin-top: 0rem; padding: 20.116rem 0 17.159rem; --deck-step: 50vh; }
.feature .tote__stick { position: sticky; top: var(--cms-header-h, 0px); height: 112.572rem; overflow: hidden; z-index: 1; }
.feature .tote__runway { height: calc(var(--deck-step) * 9); }
.is-noanim .feature .tote__runway, .is-still .feature .tote__runway { height: 0; }
.feature .tote__clip { top: 0; left: 58.682rem; width: 9.603rem; z-index: 20; }
.feature .tote__paper { top: 5.117rem; left: 3.833rem; width: 67.334rem; }

.feature .tote__sheet { position: absolute; inset: 0; filter: drop-shadow(.7rem .7rem .7rem rgba(0, 0, 0, .26)); }

.feature .tote__paper { visibility: hidden; }

.feature .tote__back { top: 6.438rem; left: 5.5rem; width: 64rem; height: 80.075rem; z-index: 0; }
.feature .tote__backimg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
  transform: rotate(2.43deg); opacity: 0; }
.feature .tote__backimg.is-on { opacity: 1; transition: opacity 1.1s cubic-bezier(0.22, 0.61, 0.36, 1); }
.is-noanim .feature .tote__backimg, .is-still .feature .tote__backimg { transition: none !important; }
.feature .tote__card { position: absolute; top: 6.438rem; left: 5.5rem; width: 64rem; height: 80.075rem; z-index: 1;
  transition: opacity 1.1s cubic-bezier(0.22, 0.61, 0.36, 1), translate 1.1s cubic-bezier(0.22, 0.61, 0.36, 1),
    rotate 1.1s cubic-bezier(0.22, 0.61, 0.36, 1), filter 1.1s cubic-bezier(0.22, 0.61, 0.36, 1); }
.feature .tote__card.is-front { z-index: 10; }

.feature .tote__card:not(.is-front), .feature .tote__card.-leaving { pointer-events: none; }
.feature .tote__clip { pointer-events: none; }

.feature .tote__card.-fromback { transition: none; rotate: 2.43deg; }
.feature .tote__card img { width: 100%; height: 100%; object-fit: cover; }

.feature .tote__link { display: block; width: 100%; height: 100%; }

.feature .tote__card.-leaving { opacity: 0; translate: -12rem 2rem; rotate: -8deg; }
.feature .tote__card.-entering { transition: none; opacity: 0; translate: -12rem 2rem; rotate: -8deg; }
.is-noanim .feature .tote__card, .is-still .feature .tote__card { transition: none !important; }

.feature .tote__credits { top: 91.072rem; left: 5.5rem; width: 64rem; }
.feature .tote__credit { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; visibility: hidden;
  transition: opacity .6s ease, visibility 0s linear .6s; }
.feature .tote__credit.is-current { opacity: 1; visibility: visible; transition: opacity .6s ease, visibility 0s; }
.feature .tote__num { position: absolute; top: .2rem; left: 0; width: 100%; text-align: center; font-size: 2.565rem; line-height: 3rem;
  pointer-events: none;

  letter-spacing: .137em; padding-left: .137em;
  font-family: "acumin-variable", "acumin-pro", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-style: normal; }
.feature .tote .credit .item { display: block; font-size: 1.802rem; line-height: 3rem; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap;
  font-family: "acumin-variable", "acumin-pro", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-style: normal; }
.feature .tote .credit .link { display: flex; justify-content: space-between; color: #d11b24; }
.feature .tote .credit .item.-noline { border-bottom: none; }

.feature .tote .credit .item .txt { text-transform: uppercase !important; }

.feature .star { margin-top: 0rem; height: 86.607rem; z-index: 0; }
.feature .star::before { content: ""; position: absolute; top: 0; left: .522rem; width: 73.974rem; height: 86.607rem; z-index: -1;

  background: radial-gradient(ellipse 37.13rem 42.75rem at 50% 42.8rem,
    rgba(255,255,255,.933) 0%, rgba(255,255,255,.933) 8.9%, rgba(255,255,255,.911) 17.8%, rgba(255,255,255,.865) 26.7%,
    rgba(255,255,255,.81) 35.6%, rgba(255,255,255,.737) 44.4%, rgba(255,255,255,.647) 53.3%, rgba(255,255,255,.541) 62.2%,
    rgba(255,255,255,.423) 71.1%, rgba(255,255,255,.289) 80%, rgba(255,255,255,.139) 88.9%, rgba(255,255,255,.061) 93.3%,
    rgba(255,255,255,.007) 97.8%, rgba(255,255,255,0) 100%); }
.feature .star__ttl { top: 4.611rem; left: 24.182rem; width: 27.495rem; z-index: 2; }

.feature .star { --star-rise: 3rem; }
.feature .star__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(var(--star-rise));
  transition: opacity 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0s linear 1.25s, visibility 0s linear 1.25s; }
.feature .star__slide.is-current { opacity: 1; visibility: visible; transform: none;
  transition: opacity 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s; }
.feature .star__img.-chimu { top: 10.509rem; left: 0; width: 75rem; }
.feature .star__img.-bebi { top: 10.141rem; left: 0; width: 75rem; }
.feature .star__bubble { z-index: 1; }
.feature .star__bubble.-chimu { top: 29.548rem; left: 39.548rem; width: 28.028rem; }
.feature .star__bubble.-bebi { top: 14.041rem; left: 24.2rem; width: 28.2rem; }

.feature .star__bubble > img { display: block; width: 100%; }
.feature .star__txt { position: absolute; top: 0; left: 0; }
.feature .star__heart { transform: perspective(550px) rotateY(0deg); transition: transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1); }
.is-noanim .feature .star__slide, .is-still .feature .star__slide,
.is-noanim .feature .star__heart, .is-still .feature .star__heart { transition: none !important; }

@keyframes phone {
  0% { transform: rotate(0deg); } 10% { transform: rotate(15deg); } 20% { transform: rotate(-15deg); }
  30% { transform: rotate(5deg); } 40% { transform: rotate(-5deg); } 50% { transform: rotate(1deg); }
  60% { transform: rotate(-1deg); } 70%, 100% { transform: rotate(0deg); }
}

@keyframes phone-small {
  0% { transform: rotate(0deg); } 10% { transform: rotate(3deg); } 20% { transform: rotate(-3deg); }
  30% { transform: rotate(1deg); } 40% { transform: rotate(-1deg); } 50% { transform: rotate(0.2deg); }
  60% { transform: rotate(-0.2deg); } 70%, 100% { transform: rotate(0deg); }
}

html.js-anim .feature .js-sway.is-inview { animation: phone 2.5s linear both; }
html.js-anim .feature .check__hand.js-sway.is-inview { animation-name: phone-small; }
.is-noanim .feature .js-sway, .is-still .feature .js-sway { animation: none !important; }
.feature .check__txt .js-wipe, .feature .movie__ttl .js-wipe, .feature .movie__tap .js-wipe { transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) 1s; }

.feature .check { margin-top: 0rem; height: 77.189rem; overflow-x: clip; }
.feature .check__link { display: block; top: 9.616rem; left: 12.423rem; width: 62.577rem; height: 89.569rem; }
.feature .check__hand { position: relative; width: 100%; height: 100%; }

.feature .check__hand > .check__handimg { position: absolute; top: 0; left: 0; width: 98.571rem; max-width: none;

  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 20rem), transparent), linear-gradient(to right, #000 calc(100% - 16rem), transparent);
  mask-image: linear-gradient(to bottom, #000 calc(100% - 20rem), transparent), linear-gradient(to right, #000 calc(100% - 16rem), transparent);
  -webkit-mask-composite: destination-in; mask-composite: intersect; }
.feature .check__txt { position: absolute; top: 24.671rem; left: 19.08rem; width: 13.581rem; }

.feature .movie { margin-top: 0rem; height: 94rem; overflow-x: clip; }

.feature .movie__ttl { top: -1.28rem; left: 16.67rem; width: 38.54rem; z-index: 2; pointer-events: none; }
.feature .movie__tap { top: 3.862rem; left: 23.9rem; width: 20.66rem; z-index: 2; pointer-events: none; }
.feature .movie__link { display: block; top: 7.182rem; left: 0; width: 54.196rem; height: 80.337rem; }
.feature .movie__hand { position: relative; width: 100%; height: 100%; }

.feature .movie__hand > .movie__handimg { position: absolute; top: 0; left: -16rem; width: 70.196rem; max-width: none; }

.feature .movie__hand > .movie__screen { position: absolute; top: 3.955rem; visibility: hidden; }
.feature .movie__screen.-s2 { left: 17.69rem; width: 33.4rem; }
.feature .movie__screen.-s3 { left: 17.745rem; width: 33.3rem; }
.feature .movie__hand[data-frame="2"] > .movie__screen.-s2,
.feature .movie__hand[data-frame="3"] > .movie__screen.-s3 { visibility: visible; }

.feature .check__screenlink, .feature .movie__screenlink { position: absolute; z-index: 3; display: block; }

.feature .check__screenlink { left: 17.81rem; top: 14.46rem; width: 16.6rem; height: 32.4rem; transform: rotate(-18.4deg);
  clip-path: polygon(1.02% 1.36%, 92.41% .19%, 99.16% 99.07%, 6.27% 99.07%); }
.feature .movie__screenlink { left: 25.3rem; top: 5.915rem; width: 18.12rem; height: 35.49rem; transform: rotate(28.9deg); }
@media (hover: hover) {

  .feature .check a.check__screenlink:hover, .feature .movie a.movie__screenlink:hover { opacity: 1; background: rgba(255, 255, 255, .3); }
}

.feature .foot { margin-top: 0rem; padding-top: 30.397rem; }
.feature .foot__fesArea { position: relative; height: 68.648rem; }

.feature if { display: contents; }
.feature if[m\:publicDate] { display: none; }
.feature.-fesEnd if[m\:publicDate] { display: contents; }
.feature.-fesEnd if[m\:endDate] { display: none; }
.feature .foot__logo { top: 1.4rem; left: 18.886rem; width: 37.228rem; }
.feature .foot__copy { top: 9.869rem; left: 32.208rem; width: 10.584rem; }
.feature .foot__fes { top: 0; left: 14.833rem; width: 45.334rem; }

.feature .foot__lead { margin: -0.11rem 0 0.338rem 1.067rem; width: 43.2rem; }
.feature .foot__banner { display: block; margin-top: 2.385rem; width: 45.334rem; }

.feature .frame-side { display: none; }

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

  html { font-size: min(calc((100vw - var(--sbw, 0px)) * .005238095), 7.333333px); }
  .feature .pc { display: block; }
  .feature .sp { display: none; }
  .feature .frame > .pc { display: contents; }

  .feature { --pcu: calc((100vw - var(--sbw, 0px)) / 1920); --rail-top: 80px; }
  .feature .frame { display: flex; align-items: stretch; justify-content: center; }

  .feature .frame-main { flex: 0 0 auto; width: 75rem; box-shadow: 0 0 5.455rem rgba(205, 155, 164, .82); }
  .feature .frame-side { display: block; position: relative; flex: 1 1 0; }

  .feature .frame-side__inner { position: sticky; top: var(--rail-top); height: calc(100vh - var(--rail-top));
    display: flex; align-items: center; justify-content: center; margin-bottom: calc(80 * var(--pcu)); }
  .feature .rail__logo { width: calc(350 * var(--pcu)); }
  .feature .rail__logo img { width: 100%; }
  .feature .rail__fes { display: block; width: calc(416.45 * var(--pcu)); }

  .feature .rail__fes > img { display: block; }

  .feature .rail__check { display: block; width: calc(210 * var(--pcu)); }
  .feature .rail__check img { display: block; width: 100%; }
  .feature .rail__lead { width: calc(396.85 * var(--pcu)); margin-left: calc(9.8 * var(--pcu)); }
  .feature .rail__banner { width: calc(416.45 * var(--pcu)); margin-top: calc(21.91 * var(--pcu)); }
}

.efs-system-notification { display: none !important; }

.page-top-button { display: none !important; }
