html,
body {
  margin: 0;
  background: #fbf3e5;
}

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

.p-lp {
  position: relative;
  --lp-cream: #fbf3e5;
  --lp-card: #fffdf8;
  --lp-ink: #231815;
  --lp-orange: #e96600;
  --lp-orange-band: #f08300;
  --lp-brown: #5a3a3a;
  --lp-gold: #be921a;
  --lp-silver: #737373;
  --lp-alert: #e50012;
  margin: 0;
  background: var(--lp-cream);
  color: var(--lp-ink);
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
  overflow-x: clip;
}

.p-lp img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.p-lp a {
  color: inherit;
}

.p-lpHeader {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  right: 0;
  height: 72px;
  background: #fff;
}

.p-lpHeader__logo {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 12px 16px;
}

.p-lpHeader__logo img {
  width: 145px;
  height: auto;
}

.p-lpMain {
  position: relative;
}

.p-lpHero {
  position: relative;
}

.p-lpHero__stage {
  position: relative;
  padding-top: 162vw;
}

.p-lpHero__bg {
  position: absolute;
  z-index: 0;
  left: -6%;
  top: 6vw;
  width: 114%;
  height: 92vw;
  background: url("../img/photo-hero-bg.jpg") center / cover no-repeat;
}

.p-lpHero__fade {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  top: 108vw;
  height: 42vw;
  background: linear-gradient(to bottom, rgba(251, 243, 229, 0), var(--lp-cream) 88%);
  pointer-events: none;
}

.p-lpPhoto {
  position: absolute;
  z-index: 1;
  height: auto;
  pointer-events: none;
}

.p-lpPhoto--id365 { left: 12%; top: 16vw; width: 30%; }
.p-lpPhoto--2009 { left: 54%; top: 14vw; width: 30%; }
.p-lpPhoto--2011 { left: -8%; top: 92vw; width: 32%; }
.p-lpPhoto--123 { left: 64%; top: 28vw; width: 36%; }
.p-lpPhoto--012 { left: 52%; top: 104vw; width: 42%; }
.p-lpPhoto--019 { left: 4%; top: 106vw; width: 46%; }
.p-lpPhoto--585 { left: 70%; top: 84vw; width: 34%; }
.p-lpPhoto--277 { left: -6%; top: 30vw; width: 34%; }

.p-lpPhoto--012,
.p-lpPhoto--019,
.p-lpPhoto--585,
.p-lpPhoto--277 {
  z-index: 4;
}

.p-lpHero__emblem {
  position: absolute;
  z-index: 4;
  top: 48vw;
  left: 0;
  right: 0;
  width: min(277px, 74%);
  margin: 0 auto;
}

.p-lpHero__copy {
  position: relative;
  z-index: 5;
  padding: 8px 16px 36px;
  text-align: center;
}

.p-lpHero__bg img,
.p-lpPhoto--sp {
  display: none;
}

.p-lpHero__lead {
  margin: 0 auto;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.85;
  margin-bottom: 40px;
}

.p-lpSpOnly {
  display: none;
}

@media (max-width: 959px) {
  .p-lpBr {
    display: none;
  }

  .p-lpSpOnly {
    display: revert;
  }
}

.p-lpAccent {
  color: var(--lp-orange);
}

.p-lpHero__invite {
  margin: 18px 0 16px;
  color: var(--lp-orange);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.4;
}

.p-lp a.p-lpBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 524px;
  height: 80px;
  margin: 0 auto;
  border: 2px solid var(--lp-orange);
  border-radius: 999px;
  background: var(--lp-orange);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.3);
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition:
    opacity 0.75s ease,
    transform 0.75s ease,
    background-color 0.25s ease,
    color 0.25s ease;
  transition-delay: var(--lp-reveal-delay, 0ms), var(--lp-reveal-delay, 0ms), 0s, 0s;
}

.p-lpHero a.p-lpBtn[data-lp-reveal] {
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.25s ease,
    color 0.25s ease;
  transition-delay: var(--lp-reveal-delay, 0ms), var(--lp-reveal-delay, 0ms), 0s, 0s;
}

.p-lpHero a.p-lpBtn[data-lp-reveal].is-revealed {
  transform: translate3d(0, 0, 0);
}

.p-lp a.p-lpBtn:hover,
.p-lp a.p-lpBtn:focus-visible {
  background: #fff;
  color: var(--lp-orange);
}

.p-lpBtn:focus-visible {
  outline: 2px solid var(--lp-ink);
  outline-offset: 3px;
}

.p-lpBtn--lg {
  width: min(640px, calc(100% - 32px));
  height: 88px;
  font-size: 24px;
}

.p-lpSec {
  position: relative;
  width: min(1080px, calc(100% - 24px));
  margin: 93px auto;
}

.p-lpSec__card {
  position: relative;
  z-index: 1;
  padding: 28px 18px 32px;
  border-radius: 24px;
  background: var(--lp-card);
  box-shadow: 0 8px 32px 0 rgba(90, 58, 58, 0.15);
}

.p-lpSec__head {
  text-align: center;
}

.p-lpSec__mark {
  display: block;
  width: min(240px, 68%);
  margin: -69px auto 0;
  mix-blend-mode: multiply;
}

.p-lpSec__title {
  margin: 0 0 22px;
  color: var(--lp-orange);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.4;
}

.p-lpItem {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
  border-top: 1px solid var(--lp-brown);
  padding-top: 48px;
}
.p-lpItem:first-of-type {
  border-top: none;
  padding-top: 0;
}

.p-lpItem + .p-lpItem {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--lp-brown);
}

.p-lpNum {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--lp-orange);
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.p-lpItem__title {
  margin: 4px 0 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.p-lpSec--content .p-lpItem:first-of-type .p-lpItem__title {
  margin: 0 0 10px;
  line-height: 24px;
}

.p-lpItem__note {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

.p-lpSec--content .p-lpItem:first-of-type .p-lpItem__note {
  line-height: 20px;
}

.p-lpItem__illust {
  grid-column: 1 / -1;
  width: min(180px, 60%);
  margin: 8px auto 0;
}

.p-lpCluster {
  position: relative;
  width: calc(100% + 36px);
  margin: 10px -18px 30px;
  aspect-ratio: 358 / 428.792;
}

.p-lpCluster__item,
.p-lpCluster__illust,
.p-lpCluster__bubble {
  position: absolute;
}

.p-lpCluster__item,
.p-lpCluster__illust {
  height: auto;
}

.p-lpCluster__item--a { left: 47.21%; top: 3.5%; width: 46.04%; z-index: 1; transform: rotate(25deg); }
.p-lpCluster__item--b { left: 9.5%; top: 0; width: 42.29%; z-index: 4; transform: rotate(-31deg); }
.p-lpCluster__item--c { left: 51.12%; top: 70.43%; width: 42.48%; z-index: 2; }
.p-lpCluster__item--d { left: 6.7%; top: 70.66%; width: 51.56%; z-index: 3; }

.p-lpCluster__illust {
  left: 69.9%;
  top: 39.88%;
  width: 22.96%;
  z-index: 5;
  transform: rotate(13.924deg);
  transform-origin: 0 0;
}

.p-lpCluster__bubble {
  left: 3.91%;
  top: 28.45%;
  width: 62.85%;
  height: 40.81%;
  z-index: 6;
}

.p-lp .p-lpCluster__bubbleBg,
.p-lp .p-lpCluster__bubbleText {
  position: absolute;
  max-width: none;
}

.p-lp .p-lpCluster__bubbleBg {
  inset: 0;
  width: 100%;
  height: 100%;
}

.p-lp .p-lpCluster__bubbleText {
  top: 20.34%;
  left: 17.29%;
  width: 66%;
  height: 56.93%;
}

.p-lpAward {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px 12px;
  padding: 18px 0;
  border-bottom: 1px solid var(--lp-brown);
}

.p-lpAward:first-of-type {
  padding-top: 0;
}

.p-lpAward__main {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 12px;
  flex: 1 1 220px;
  align-items: end;
}

.p-lpAward__icon {
  grid-column: 1;
  grid-row: 1;
  width: 48px;
  height: 36px;
  object-fit: contain;
  object-position: left bottom;
}

.p-lpAward__title {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.p-lpAward__title--lg { font-size: 28px; }
.p-lpAward__title--md { font-size: 24px; }

.p-lpAward__title small {
  margin-left: 6px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.p-lpAward__desc {
  grid-column: 2;
  grid-row: 2;
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

.p-lpAward__value {
  flex: 1 1 100%;
  margin: 4px 0 0;
  text-align: right;
  line-height: 1;
  padding-right: 20px;
}

.p-lpAward__value span {
  margin-right: 6px;
  font-size: 16px;
  font-weight: 800;
}

.p-lpAward__value strong {
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
}

.p-lpAward__value em {
  font-size: 22px;
  font-style: normal;
  font-weight: 800;
}

.p-lpAward__value--gold strong,
.p-lpAward__value--gold em { color: var(--lp-gold); }

.p-lpAward__value--silver strong,
.p-lpAward__value--silver em { color: var(--lp-silver); }

.p-lpGoods {
  flex: 1 1 100%;
  margin-top: 8px;
  text-align: center;
}

.p-lpGoods__shots img {
  display: block;
  width: 260px;
  height: 130px;
  max-width: none;
  margin-inline: auto;
  object-fit: contain;
}

.p-lpGoods__label {
  margin: 4px 0 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-lpStep {
  padding: 16px 0 8px;
  border-bottom: 1px solid var(--lp-brown);
}

.p-lpStep:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.p-lpStep__label {
  display: inline-grid;
  place-items: center;
  min-width: 120px;
  height: 36px;
  margin: 0;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--lp-brown);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.p-lpStep__body {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: flex-start;
  padding-block: 20px;
}

.p-lpStep__body--top {
  align-items: start;
}

.p-lpSec--entry .p-lpStep__body--top .p-lpStep__text {
  font-weight: 500;
}

.p-lpSec--entry .p-lpStep__body--top .p-lpStep__text p {
  margin: 0;
}

.p-lpSec--entry .p-lpStep__body--top .p-lpStep__spec {
  font-weight: 700;
}

.p-lpSec--entry .p-lpStep__body--top .p-lpStep__hint {
  display: block;
  font-weight: 500;
}

.p-lpSec--entry .p-lpStep__body--top a.p-lpBtn--form {
  width: 100%;
  height: 64px;
  margin: 16px 0 24px;
  font-size: 24px;
}

.p-lpStep__body img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.p-lpDate {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
}

.p-lpDate strong {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.p-lpDate--plain {
  font-size: 20px;
}

.p-lpStep__text {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.p-lpStep__text p {
  margin: 0 0 8px;
}

.p-lpStep__text .p-lpStep__photo {
  margin-top: 52px;
}

.p-lpSec--entry .p-lpStep:last-child {
  border-bottom: 0;
}

.p-lpStep__text p .p-lpStep__alert {
  color: var(--lp-alert);
  font-weight: 700;
  font-size: 24px;
}

.p-lpJudge {
  position: relative;
  padding: 8px 0 42px;
  border-top: 1px solid var(--lp-brown);
}
.p-lpJudgeText{
  font-size: 16px;
  font-weight: 500;
}
.p-lpJudgeText__note{
  font-size: 16px;
  font-weight: 700;
}
.p-lpJudge:nth-of-type(2) {
  padding: 40px 0 20px;
}

.p-lpJudge:first-of-type {
  border-top: 0;
}

.p-lpJudge__text {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
}
.p-lpJudge__text:nth-of-type(2){
  margin-top: 30px;
}

.p-lpJudge__text strong {
  font-weight: 700;
}

.p-lpJudge__illust {
  display: block;
  width: 96px;
  margin: 0 auto 8px;
}

.p-lpProfile {
  margin-top: 16px;
}

.p-lpProfile__name {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
}

.p-lpProfile__body {
  margin: 0;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--lp-cream);
  font-size: 13px;
  letter-spacing: -1px;
  line-height: 1.7;
}

.p-lpResult {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}

.p-lpResult span {
  display: inline-block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 500;
}

.p-lpNotes {
  position: relative;
  margin-top: 36px;
  padding: 28px 0 36px;
  background: var(--lp-orange-band);
}

.p-lpNotes__card {
  width: min(1080px, calc(100% - 24px));
  margin: 0 auto;
  padding-bottom: 28px;
}

.p-lpNotes__title {
  margin: 22px 0 12px;
  padding-top: 16px;
  border-bottom: 1px solid var(--lp-brown);
  color: var(--lp-brown);
  font-size: 16px;
  font-weight: 700;
}

.p-lpNotes__title:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.p-lpNotes__body {
  max-height: 320px;
  padding-right: 12px;
  overflow: auto;
  color: var(--lp-brown);
  font-size: 13px;
  line-height: 1.8;
  scrollbar-width: auto;
}

.p-lpNotes__body p {
  margin: 0 0 12px;
}

.p-lpNotes__body strong {
  font-weight: 700;
}

.p-lpNotes__body::-webkit-scrollbar {
  width: 16px;
}

.p-lpNotes__body::-webkit-scrollbar-track {
  background: #e8e8e8;
}

.p-lpNotes__body::-webkit-scrollbar-thumb {
  background: #bfbfbf;
  border-radius: 8px;
}

.p-lpNotes__agree {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 4px;
  color: var(--lp-brown);
  font-size: 13px;
  line-height: 1.8;
}

.p-lpNotes__check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

.p-lpNotes__check input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: var(--lp-orange);
}

.p-lpNotes__contact {
  margin: 0;
  color: var(--lp-brown);
  font-size: 13px;
  line-height: 1.8;
}

.p-lpClose {
  padding: 36px 16px 72px;
  text-align: center;
}

.p-lpMemory {
  margin: 28px 0 0;
}

.p-lpMemory a {
  color: var(--lp-brown);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.p-lpMemory a:hover,
.p-lpMemory a:focus-visible {
  text-decoration: underline;
}

.p-lpBall {
  position: absolute;
  z-index: 0;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(6.4px);
}

.p-lpBall.is-parallaxing {
  will-change: transform;
}
.p-lpStep__note{
  font-size: 16px;
  font-weight: 500;
}

.p-lpBall--h1 { left: 6%; top: 42vw; width: 52px; height: 52px; background: #FFFFFF52; filter: none; }
.p-lpBall--h2 { left: 18%; top: 46vw; width: 72px; height: 72px; background: #FFFFFF52; filter: none; }
.p-lpBall--h3 { right: 8%; top: 38vw; width: 64px; height: 64px; background: #FFFFFF52; filter: none; }
.p-lpBall--h4 { right: 2%; top: 34vw; width: 28px; height: 28px; background: #FFFFFF52; filter: none; }
.p-lpBall--h5 { left: 2%; top: 78vw; width: 80px; height: 80px; background: #FFFFFF52; filter: none; }
.p-lpBall--h6 { right: 18%; top: 128vw; width: 64px; height: 64px; z-index: 4; background: #ffeeb9; display: none; }

.p-lpBall--c1 { left: -70px; top: 20px; width: 140px; height: 140px; background: #ffe4c4; }
.p-lpBall--c2 { right: -48px; top: -10px; width: 110px; height: 110px; background: #e1f0cd; }
.p-lpBall--c3 { left: -70px;bottom: -10px; width: 100px; height: 100px; background: #ffedb3; }
.p-lpBall--a1 { right: -60px; top: 10px; width: 130px; height: 130px; background: #ffe4c5; }
.p-lpBall--a2 { right: 8%; bottom: 24px; width: 110px; height: 110px; background: #e1f0cd; }
.p-lpBall--s1 { left: -52px; top: -76px; width: 127px; height: 127px; background: #ffe1e0; }
.p-lpBall--s2 { right: -41px; top: 417px; width: 136px; height: 135px; background: #ffedb3; }
.p-lpBall--s3 { left: -52px; bottom: -155px; width: 136px; height: 136px; background: #ffe4c5; }

.p-lpSec--schedule .p-lpSec__card {
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 40px;
}

.p-lpSec--schedule .p-lpSec__title {
  margin-bottom: 32px;
}

.p-lpSec--schedule .p-lpStep {
  padding: 32px 0 0;
  border-bottom: 0;
}

.p-lpSec--schedule .p-lpStep:first-of-type {
  padding-top: 0;
}

.p-lpSec--schedule .p-lpStep__label {
  min-width: 120px;
  height: 32px;
  font-size: 16px;
}

.p-lpSec--schedule .p-lpStep__body {
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 13px;
  align-items: flex-start;
  margin: 0;
  padding: 11px 0 21px;
  border-bottom: 1px solid var(--lp-brown);
}

.p-lpSec--schedule .p-lpStep__body img {
  width: 25px;
  height: 25px;
  margin-top: 7px;
}

.p-lpSec--schedule .p-lpStep__body .p-lpSchedIcon--award {
  width: 20px;
  height: 28px;
}

.p-lpSec--schedule .p-lpDate,
.p-lpSec--schedule .p-lpDate--plain {
  font-size: 20px;
  font-weight: 800;
  line-height: 40px;
}

.p-lpSec--schedule .p-lpDate strong {
  font-size: 32px;
  font-weight: 800;
  line-height: 40px;
}

.p-lpSec--schedule .p-lpSchedPc {
  display: none;
}

.p-lpSec--schedule .p-lpSchedSp {
  display: inline;
}
.p-lpBall--j1 { left: -20px; top: 8px; width: 80px; height: 80px; background: #e1f0cd; }
.p-lpBall--j2 { right: -36px; top: -16px; width: 72px; height: 72px; background: #ffe1e0; }
.p-lpBall--r1 { left: -70px; top: -20px; width: 150px; height: 150px; background: #ffedb3; }
.p-lpBall--r2 { right: -40px; bottom: 10px; width: 120px; height: 120px; background: #ffe4c5; }

.p-lp [data-lp-reveal] {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 0.75s ease,
    transform 0.75s ease;
  transition-delay: var(--lp-reveal-delay, 0ms);
}

.p-lp [data-lp-reveal].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 959px) {
  .p-lpHero__stage {
    padding-top: calc(596 / 390 * 100vw);
  }

  .p-lpHero__bg {
    left: 0;
    top: 72px;
    width: 100%;
    height: calc(600 / 390 * 100vw);
    overflow: hidden;
    background-image: none;
  }

  .p-lp .p-lpHero__bg img {
    display: block;
    position: absolute;
    left: calc(-22 / 390 * 100vw);
    top: calc(-76 / 390 * 100vw);
    width: calc(435 / 390 * 100vw);
    max-width: none;
    height: calc(772 / 390 * 100vw);
    object-fit: cover;
  }

  .p-lpHero__fade {
    z-index: 2;
    top: calc(314 / 390 * 100vw);
    height: calc(376 / 390 * 100vw);
    background: linear-gradient(to bottom, rgba(251, 243, 229, 0), #fbf3e5 84.6%);
  }

  .p-lpHero__emblem {
    top: calc(196 / 390 * 100vw);
    width: calc(277.074 / 390 * 100vw);
  }

  .p-lpPhoto:not(.p-lpPhoto--sp) {
    display: none;
  }

  .p-lp .p-lpPhoto--sp {
    z-index: 3;
    display: block;
    max-width: none;
    object-fit: cover;
    transform-origin: top left;
    border: calc(2 / 390 * 100vw) solid #fff;
    box-shadow: 0 calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) rgba(0, 0, 0, 0.25);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--277,
  .p-lp .p-lpPhoto--sp.p-lpPhoto--2011,
  .p-lp .p-lpPhoto--sp.p-lpPhoto--2009 {
    box-shadow: calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) rgba(0, 0, 0, 0.25);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--id365 {
    left: calc(92.348 / 390 * 100vw);
    top: calc(71 / 559 * 100vw);
    width: calc(91.482 / 390 * 100vw);
    height: auto;
    object-fit: contain;
    border: 0;
    box-shadow: none;
    transform: rotate(28.75deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--277 {
    left: calc(-17 / 390 * 100vw);
    top: calc(161.783 / 390 * 100vw);
    width: calc(110.386 / 390 * 100vw);
    height: calc(73.614 / 390 * 100vw);
    transform: rotate(-20.02deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--012 {
    left: calc(242.713 / 390 * 100vw);
    top: calc(418 / 390 * 100vw);
    width: calc(133.758 / 390 * 100vw);
    height: calc(89.15 / 390 * 100vw);
    transform: rotate(17.44deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--123 {
    left: calc(287.366 / 390 * 100vw);
    top: calc(120 / 390 * 100vw);
    width: calc(114.488 / 390 * 100vw);
    height: calc(76.325 / 390 * 100vw);
    transform: rotate(21.82deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--2011 {
    left: calc(-3.434 / 390 * 100vw);
    top: calc(373 / 390 * 100vw);
    width: calc(99.102 / 390 * 100vw);
    height: calc(74.326 / 390 * 100vw);
    transform: rotate(15.26deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--019 {
    left: calc(28 / 390 * 100vw);
    top: calc(466.05 / 390 * 100vw);
    width: calc(155.612 / 390 * 100vw);
    height: calc(103.742 / 390 * 100vw);
    transform: rotate(-14.53deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--585 {
    left: calc(271.984 / 390 * 100vw);
        top: calc(422.421 / 390 * 100vw);
        width: calc(100.924 / 390 * 100vw);
    height: auto;
    object-fit: contain;
    border: 0;
    box-shadow: none;
    transform: rotate(-41.25deg);
  }

  .p-lp .p-lpPhoto--sp.p-lpPhoto--2009 {
    left: calc(219 / 390 * 100vw);
    top: calc(95.111 / 390 * 100vw);
    width: calc(90.401 / 390 * 100vw);
    height: calc(59.947 / 390 * 100vw);
    transform: rotate(-19.46deg);
  }

  .p-lp a.p-lpBtn {
    width: 100%;
  }

  .p-lpJudge:first-of-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .p-lpJudge:first-of-type .p-lpJudge__text {
    align-self: stretch;
  }

  .p-lpJudge:first-of-type .p-lpJudge__illust {
    order: 1;
    align-self: center;
    margin: 24px 0 0;
  }

  .p-lpSec--entry {
    width: calc(100% - 32px);
  }

  .p-lpSec--entry .p-lpSec__card {
    padding: 28px 20px 56px;
    border-radius: 20px;
  }

  .p-lpSec--entry .p-lpEntryPc {
    display: none;
  }

  .p-lpSec--entry .p-lpStep__label {
    height: 32px;
    min-width: 120px;
    padding: 0 8px;
    font-size: 16px;
  }

  .p-lpSec--entry .p-lpStep__body {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
  }

  .p-lpSec--entry .p-lpStep__body img {
    width: 30px;
    height: 30px;
  }

  .p-lpSec--entry .p-lpStep__text {
    min-width: 0;
    overflow-wrap: break-word;
    font-size: 16px;
    line-height: 24px;
  }

  .p-lpSec--entry p.p-lpStep__text {
    font-size: 18px;
    font-weight: 700;
    line-height: 40px;
  }

  .p-lpSec--entry p.p-lpStep__text br {
    display: none;
  }

  .p-lpSec--entry .p-lpStep__text p {
    margin: 0 0 16px;
  }

  .p-lpSec--entry .p-lpStep__text .p-lpStep__photo {
    margin-top: 0;
  }

  .p-lpSec--entry .p-lpStep__text p.p-lpStep__spec {
    margin-bottom: 0;
    font-weight: 700;
  }

  .p-lpSec--entry .p-lpStep__alert {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }

  .p-lpSec--entry .p-lpStep__note {
    display: block;
    margin-top: 16px;
    margin-bottom: 0;
    color: var(--lp-brown);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: 0;
  }

  .p-lpSec--entry p.p-lpStep__text .p-lpStep__note {
    margin-top: 0;
  }

  .p-lpSec--entry .p-lpStep__body--top .p-lpStep__text {
    line-height: 28px;
  }

  .p-lpSec--entry .p-lpStep__body--top .p-lpStep__text p {
    margin: 0;
  }
}

@media (min-width: 960px) {
  .p-lpHeader {
    height: 91px;
  }

  .p-lpHeader__logo {
    padding: 14px 28px;
  }

  .p-lpHeader__logo img {
    width: 180px;
  }

  .p-lpHero {
    height: calc(1220px * min(1, 100vw / 1280px));
  }
  .p-lpStep__text p .p-lpStep__alert{
    font-size: 32px;
  }

  .p-lpSec--entry .p-lpEntrySp {
    display: none;
  }

  .p-lpSec--entry p.p-lpStep__text .p-lpStep__note {
    font-size: 20px;
    font-weight: 500;
    line-height: 40px;
  }

  .p-lpSec--entry .p-lpStep__body--top .p-lpStep__text {
    font-size: 20px;
    line-height: 40px;
  }

  .p-lpSec--entry .p-lpStep__body--top a.p-lpBtn--form {
    width: 420px;
    height: 64px;
    margin: 19px 0 37px;
    font-size: 24px;
  }

  .p-lpHero__stage {
    position: absolute;
    left: 50%;
    top: 0;
    width: 1280px;
    height: 1220px;
    padding-top: 0;
    transform: translateX(-50%) scale(min(1, 100vw / 1280px));
    transform-origin: top center;
  }

  .p-lpHero__bg {
    left: 0;
    top: 76px;
    width: 1280px;
    height: 888px;
  }

  .p-lpHero__fade {
    left: 0;
    right: auto;
    top: 495px;
    width: 1280px;
    height: 469px;
  }

  .p-lpPhoto--id365 { left: 303px; top: 65px; width: 195px; }
  .p-lpPhoto--2009 { left: 767px; top: 62px; width: 245px; }
  .p-lpPhoto--2011 { left: 8px; top: 197px; width: 293px; }
  .p-lpPhoto--123 { left: 989px; top: 204px; width: 278px; }
  .p-lpPhoto--012 { left: 903px; top: 482px; width: 377px; }
  .p-lpPhoto--019 { left: 0; top: 496px; width: 348.56px; }
  .p-lpPhoto--585 { left: 890px; top: 796px; width: 345px; }
  .p-lpPhoto--277 { left: 37px; top: 872px; width: 315px; }

  .p-lpHero__emblem {
    top: 207px;
    left: 351px;
    right: auto;
    width: 577px;
    margin: 0;
  }

  .p-lpHero__copy {
    position: absolute;
    top: 647px;
    left: 301px;
    width: 678px;
    padding: 0;
  }

  .p-lpHero__lead {
    font-size: 20px;
    line-height: 42px;
    margin-bottom: 56px;
  }

  .p-lpHero__invite {
    margin: 28px 0 24px;
    font-size: 32px;
  }

  .p-lpBtn {
    width: 524px;
    height: 80px;
  }

  .p-lpBtn--lg {
    width: 640px;
    height: 120px;
    font-size: 32px;
  }

  .p-lpSec {
    width: min(1080px, calc(100% - 48px));
    margin: 107px auto 0;
  }

  .p-lpSec__card {
    padding: 36px 80px 56px;
    border-radius: 30px;
  }

  .p-lpSec__mark {
    width: 342px;
    margin-top: -102px;
  }

  .p-lpSec__title {
    margin-bottom: 47px;
    font-size: 32px;
  }

  .p-lpItem {
    grid-template-columns: 79px 1fr auto;
    gap: 16px 18px;
    align-items: flex-start;
  }

  .p-lpNum {
    width: 79px;
    height: 79px;
    font-size: 48px;
  }

  .p-lpItem__title {
    font-size: 24px;
    line-height: 32px;
  }

  .p-lpItem__note {
    font-size: 16px;
    line-height: 24px;
  }

  .p-lpSec--content .p-lpItem:first-of-type .p-lpItem__title {
    margin-bottom: 16px;
  }

  .p-lpSec--content .p-lpItem:first-of-type .p-lpItem__note {
    margin-left: 11px;
  }

  .p-lpItem:last-child {
    grid-template-columns: 79px minmax(0, max-content) auto;
    justify-content: start;
  }

  .p-lpItem:last-child .p-lpItem__note {
    width: 445px;
    max-width: 100%;
  }

  .p-lpItem__illust {
    grid-column: auto;
    width: 207px;
    margin: 0 0 0 calc(108px - 18px);
  }

  .p-lpCluster {
    width: calc(100% + 160px);
    margin: 8px -80px 59px;
    aspect-ratio: 1080 / 440.42;
  }

  .p-lpCluster__item--a { left: 17.59%; top: 3.86%; width: 22.02%; z-index: 1; transform: none; }
  .p-lpCluster__item--b { left: 28.89%; top: 28.61%; width: 19.79%; z-index: 4; transform: none; }
  .p-lpCluster__item--c { left: 17.13%; top: 56.31%; width: 21.68%; z-index: 6; }
  .p-lpCluster__item--d { left: 40.46%; top: 56.54%; width: 26.1%; z-index: 3; }

  .p-lpCluster__illust {
    left: 74.21%;
    top: 56.31%;
    width: 11.3%;
    z-index: 2;
  }

  .p-lpCluster__bubble {
    left: 48.52%;
    top: 0;
    width: 31.57%;
    height: 60.17%;
    z-index: 5;
  }

  .p-lpAward {
    flex-wrap: nowrap;
    gap: 0 24px;
    padding: 28px 0 16px;
  }

  .p-lpAward--goods {
    align-items: flex-start;
  }

  .p-lpAward:first-of-type {
    padding-top: 4px;
  }

  .p-lpAward__main {
    grid-template-columns: 66px minmax(0, 1fr);
    column-gap: 29px;
    flex: 1 1 auto;
  }
  .p-lpStep__note{
    font-size: 13px;
  }
  .p-lpAward__icon {
    width: 66px;
    height: 48px;
  }

  .p-lpAward__title { font-size: 32px; }
  .p-lpAward__title--lg { font-size: 48px; }
  .p-lpAward__title--md { font-size: 40px; }
  .p-lpAward__title small { font-size: 20px; }
  .p-lpAward__desc {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.25;
  }

  .p-lpAward__value {
    flex: 0 0 auto;
    margin: 0;
  }

  .p-lpAward__value span { font-size: 24px; }
  .p-lpAward__value--gold strong { font-size: 72px; }
  .p-lpAward__value--silver strong { font-size: 64px; }
  .p-lpAward__value em { font-size: 32px; }

  .p-lpGoods {
    flex: 0 0 auto;
    width: 260px;
    margin-top: 0;
  }

  .p-lpGoods__label {
    font-size: 16px;
  }

  .p-lpStep {
    padding: 22px 0 10px;
  }

  .p-lpStep__label {
    min-width: 200px;
    height: 48px;
    font-size: 24px;
  }

  .p-lpStep__body {
    grid-template-columns: 48px 1fr;
    gap: 16px;
    margin: 40px 0 0;
    padding-block: 0;
  }

  .p-lpStep__body img {
    width: 42px;
    height: 42px;
  }

  .p-lpDate {
    font-size: 32px;
    white-space: nowrap;
  }

  .p-lpDate strong { font-size: 48px; }
  .p-lpDate--plain { font-size: 32px; }
  .p-lpStep__text { font-size: 20px; }

  .p-lpJudge__illust {
    position: absolute;
    bottom: 8px;
    right: 0;
    width: 120px;
    margin: 0;
  }

  .p-lpJudge__text {
    max-width: 800px;
    font-size: 20px;
    margin-top: 9px;
  }
  .p-lpJudgeText{
    font-size: 20px;
  }
  .p-lpJudgeText__note{
    font-size: 20px;
  }

  .p-lpProfile__name { font-size: 20px; }

  .p-lpProfile__body {
    min-height: 112px;
    padding: 16px 20px;
  }

  .p-lpResult { font-size: 24px; }
  .p-lpResult span { font-size: 20px; }

  .p-lpNotes {
    margin-top: 48px;
    padding: 50px 0 48px;
  }

  .p-lpNotes__title { font-size: 24px; }
  .p-lpNotes__body,
  .p-lpNotes__agree,
  .p-lpNotes__contact { font-size: 16px; }

  .p-lpNotes__check input {
    width: 20px;
    height: 20px;
    margin-top: 4px;
  }

  .p-lpBall--h1 { left: 59px; top: 429px; width: 56px; height: 56px; }
  .p-lpBall--h2 { left: 87px; top: 448px; width: 101px; height: 105px; }
  .p-lpBall--h3 { left: 1114px; top: 436px; right: auto; width: 115px; height: 115px; }
  .p-lpBall--h4 { left: 1159px; top: 409px; right: auto; width: 44px; height: 44px; }
  .p-lpBall--h5 { left: 18px; top: 679px; width: 139px; height: 139px; }
  .p-lpBall--h6 { left: 811px; top: 1089px; right: auto; width: 118px; height: 118px; display: block; }

  .p-lpBall--c1 { width: 242px; height: 242px; left: -120px; top: -30px; }
  .p-lpBall--c2 { width: 171px; height: 171px; right: -90px; top: -40px; }
  .p-lpBall--c3 { width: 171px; height: 171px; }
  .p-lpBall--a1 { width: 214px; height: 214px; }
  .p-lpBall--a2 { width: 171px; height: 171px; }
  .p-lpBall--s1 { left: -128px; top: -41px; width: 210px; height: 210px; }
  .p-lpBall--s2 { right: -78px; top: 616px; width: 214px; height: 214px; }
  .p-lpBall--s3 { left: -60px; bottom: -249px; width: 214px; height: 214px; }

  .p-lpSec--schedule .p-lpSec__card {
    padding-right: 80px;
    padding-bottom: 110px;
    padding-left: 80px;
  }

  .p-lpSec--schedule .p-lpSec__title {
    margin-bottom: 56px;
  }

  .p-lpSec--schedule .p-lpStep {
    padding-top: 47px;
  }

  .p-lpSec--schedule .p-lpStep__label {
    min-width: 200px;
    height: 48px;
    font-size: 24px;
  }

  .p-lpSec--schedule .p-lpStep__body {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 15px;
    padding: 0 0 40px 21px;
  }

  .p-lpSec--schedule .p-lpStep__body img {
    width: 43px;
    height: 43px;
    margin-top: 0;
  }

  .p-lpSec--schedule .p-lpStep__body .p-lpSchedIcon--award {
    width: 38px;
    height: 52px;
  }

  .p-lpSec--schedule .p-lpDate {
    font-size: 32px;
    line-height: 48px;
    white-space: nowrap;
  }

  .p-lpSec--schedule .p-lpDate strong {
    font-size: 48px;
    line-height: 48px;
  }

  .p-lpSec--schedule .p-lpDate--plain {
    font-size: 32px;
    line-height: 48px;
  }

  .p-lpSec--schedule .p-lpSchedPc {
    display: inline;
  }

  .p-lpSec--schedule .p-lpSchedSp {
    display: none;
  }
  .p-lpBall--j1 { width: 113px; height: 113px; }
  .p-lpBall--j2 { width: 113px; height: 113px; }
  .p-lpBall--r1 { width: 253px; height: 253px; }
  .p-lpBall--r2 { width: 214px; height: 214px; }
}

@media (prefers-reduced-motion: reduce) {
  .p-lp [data-lp-reveal],
  .p-lp a.p-lpBtn[data-lp-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .p-lpBall.is-parallaxing {
    will-change: auto;
    transform: none;
  }
}
