@charset "utf-8";

:root {
  --brown: #530600;
  --red: #e8312e;
  --gray: #4d4d4d;
  --ink: #202020;
  --btn-red: #e8322f;
  --dark: #540600;
  --pink-line: #f6adac;
  --pink-bg: #fef5f5;

  --maru: "dnp-shuei-mgothic-std", sans-serif;
  --mplus: m-plus-rounded-2p, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img { border: 0; display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: inherit; }
small { font-size: inherit; }

html { scroll-behavior: smooth; }
body {
  font-family: var(--maru);
  font-weight: 600;
  color: var(--brown);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;

  text-spacing-trim: space-all;

  background: #fcf7ea url(../img/common/bg_washi.jpg) repeat 0 -10px / 200px 200px;
}

.inner { position: relative; width: 1440px; margin: 0 auto; }

.hero, .prize, .apply, .contact { background: url(../img/common/bg_washi.jpg) repeat; background-size: 200px 200px; }

.hero    { background-position: -100px -40px; }
.prize   { background-position: 0 0; }
.apply   { background-position: 0 -60px; }
.contact { background-position: 0 -20px; }

.sp, .sp-only { display: none; }
.red { color: var(--red); }

.ttl img { margin: 0 auto; }

.prize .ttl img    { padding-bottom: 0.26px; }
.products .ttl img { padding-bottom: 0.81px; }
.apply .ttl img    { padding-bottom: 0.98px; }
.rule .ttl img     { padding-bottom: 0.98px; }
.faq .ttl img      { padding-bottom: 1.07px; }
.ttl--movie img    { padding-bottom: 0.86px; }
.contact .ttl img  { padding-bottom: 1.44px; }

.faq .ttl img { position: relative; left: 5px; }
.ttl--movie img { margin-left: 555px; }

.hero { zoom: var(--hero-zoom, 1); }
.hero__inner { position: relative; width: 1440px; margin: 0 auto; }
.hero__title { font-size: 0; }
.hero__title img, .hero__prize { position: absolute; }
.hero__logo    { left: 37px;  top: 18px; width: 234px; }
.hero__catch   { left: 177px; top: 122px; }
.hero__shinmai { left: 209px; top: 213px; }
.hero__name    { left: 330px; top: 193px; }
.hero__present { left: 205px; top: 435px; }
.hero__prize   { top: 510px; width: 180px; }
.hero__prize--a { left: 165px; }
.hero__prize--b { left: 350px; }
.hero__prize--c { left: 535px; }
.hero__photos img { width: 560px; margin-left: 880px; }

.deadline {
  padding: 15px 0;
  background: #ffa860 url(../img/common/bg_band.jpg) center / cover no-repeat;
}
.deadline picture { display: block; width: 1440px; margin: 0 auto; }
.deadline img { margin-left: 315px; }

.prize .inner { padding: 84px 0 100px; }

.prize__lead {
  margin-top: 59px;
  font-size: 24px; line-height: 36px;
  text-align: center;
}

.prize-item { margin-top: 80px; }
.prize-item--a { margin-top: 74px; }
.prize-item__badge img { margin: 0 auto; }
.prize-item__name {
  margin-top: 15px;
  font-family: var(--mplus); font-weight: 800;
  font-size: 40px; line-height: 56px;
  text-align: center;
}
.prize-item__num { font-size: 44px; line-height: 0; }
.prize-item__count {
  margin-top: 2px;

  font-family: var(--mplus); font-weight: 800;
  font-size: 30px; line-height: 70px;
  color: var(--red);
  text-align: center;
}
.prize-item__count-num { font-size: 50px; line-height: 0; }

.prize-item__box {
  width: 1140px;
  margin: 17px auto 0;
  border-radius: 40px;
  overflow: hidden;
  background: #fff;
}
.prize-item__photo { width: 100%; }

.prize-item__notes--a {
  display: flex; justify-content: center;
  padding: 23px 0 21px;
  font-size: 12px; line-height: 16px;
  font-feature-settings: "palt" 1;
}
.prize-item__notes--a li + li { margin-left: 1em; }
.prize-item__notes li::before { content: "●"; display: inline-block; width: 15px; text-indent: 0; }
.prize-item__notes a { color: var(--red); }

.prize-item__box--side { display: flex; }
.prize-item__photo-wrap { position: relative; flex: 0 0 570px; }
.prize-item__image-note {
  position: absolute; right: 10px; bottom: 11px;
  font-size: 12px; line-height: 16px; color: #fff;

  text-shadow: 0 0 4px rgba(0, 0, 0, .6);
  font-feature-settings: "palt" 1;
}
.prize-item__body {
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
  padding: 0 40px;
}
.prize-item__desc {
  font-size: 20px; line-height: 30px;
  font-feature-settings: "palt" 1;
}
.prize-item--c .prize-item__notes {
  margin-top: 32.5px;
  font-size: 12px; line-height: 18px;
  font-feature-settings: "palt" 1;
}
.prize-item--c .prize-item__notes li { padding-left: 15px; text-indent: -15px; }
.prize-item--c .prize-item__notes li + li { margin-top: 7px; }

.products { background: url(../img/bg/bg_products_pc.jpg) center top / cover no-repeat; }
.products .inner { padding: 83px 0 100px; }
.products__frame {
  width: 900px;
  margin: 65px auto 0;
  padding: 5px;
  border-radius: 20px;
  background: #fff;
}
.products__frame p {
  padding: 20.5px 0 18.5px;
  border: 1px solid var(--dark);
  border-radius: 15px;
  font-size: 20px; line-height: 30px;
  text-align: center;
}
.products__frame small { font-size: 15px; line-height: 0; }
.products__em { color: var(--red); text-decoration: underline 1px; text-underline-offset: 0; }

.products__sticker { position: relative; width: 400px; margin: 79px auto 0; }
.products__band {

  background: #470500; color: #fff;
  font-size: 16px; line-height: 20px;
  text-align: center;
}
.products__sticker-img {
  width: 100%;
  margin-top: 10px;
  box-shadow: 3px 3px 4px rgba(0, 0, 0, .25);
}
.products__bubble { position: absolute; left: -340px; bottom: 0; width: 330px; }
.products__bubble picture, .products__bubble img { width: 100%; }
.products__bubble-text {
  position: absolute; left: 33px; top: 28.5px;
  color: #fff;
}
.products__bubble-text span { display: block; font-size: 18px; line-height: 31px; }
.products__bubble-text strong {
  display: block;
  margin: 1.5px 0 0 -4px;
  font-family: var(--mplus); font-weight: 800;
  font-size: 32px; line-height: 45px;
}

.apply > .inner:first-child { padding-top: 84px; }
.apply > .inner:last-child { padding-bottom: 100px; }

.steps {
  display: flex; justify-content: center; gap: 25px;
  margin-top: 64px;
}
.step {
  position: relative;
  width: 310px;
  padding: 37px 0 39px;
  border-radius: 60px;
  background: #fff;
  text-align: center;
  font-feature-settings: "palt" 1;
}

.step--1::after, .step--2::after {
  content: ""; position: absolute;
  top: 101px; right: -19px; width: 19px; height: 36px;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.step__num { display: flex; justify-content: center; align-items: center; height: 37px; }
.step__ttl {
  margin-top: 20px;
  font-size: 24px; line-height: 36px;
}

.step__icon { height: 103px; margin-top: 34px; }
.step__icon img { position: relative; margin: 0 auto; }

.step--1 .step__icon img { left: 11px; }
.step--2 .step__icon img { left: -4px; }
.step--3 .step__icon { padding-top: 9px; }
.step__text {
  margin-top: 21px;
  font-size: 16px; line-height: 28px;
}
.step__note { font-size: 12px; line-height: 18px; }
.step--1 .step__note { margin-top: 7px; }
.step--2 .step__note { margin-top: 9px; }

.acc-btn {
  position: relative; display: block;
  width: 600px;
  margin: 60px auto 0;
  border-radius: 30px;
  background: var(--dark); color: #fff;
  font-size: 24px; line-height: 60px;
  font-feature-settings: "palt" 1;
  text-align: center;
}
.acc-btn span { display: block; padding-right: 23px; }
.acc-btn__icon { position: absolute; top: 20px; right: 28px; width: 20px; height: 20px; }
.acc-btn__icon::before, .acc-btn__icon::after { content: ""; position: absolute; background: #fff; }
.acc-btn__icon::before { left: 0; top: 9px; width: 20px; height: 2px; }
.acc-btn__icon::after  { left: 9px; top: 0; width: 2px; height: 20px; }
.acc-btn[aria-expanded="true"] .acc-btn__icon::after { display: none; }

.apply__notes {
  margin-top: 34px;
  font-size: 12px; line-height: 24px;
  text-align: center;
  font-feature-settings: "palt" 1;
}
.cta {
  position: relative; display: block;
  width: 880px;
  margin: 48px auto 0;
  padding: 38px 3px 38.27px 0;
  border-radius: 60px;
  background: var(--btn-red);
  box-shadow: 0 5px 0 var(--dark);
  text-decoration: none;
}
.cta img { margin: 0 auto; }
.cta__arrow { position: absolute; top: 50%; right: 57px; width: 18px; height: 32px; margin-top: -16px; }

.receipt__panel { margin-top: 40px; background: #fff; }
.receipt .inner { padding: 84px 0 80px; }
.receipt__ttl img { margin-left: 352px; padding-bottom: 0.87px; }
.receipt__lead {
  margin-top: 48px;
  font-size: 16px; line-height: 28px;
  color: var(--ink); text-align: center;
  font-feature-settings: "palt" 1;
}
.receipt__box {
  width: 1060px;
  margin: 40px auto 0;
  padding: 49px 39px 41px 38px;
  border: 1px solid var(--red);
  border-radius: 40px;
  background: #fff;
  font-feature-settings: "palt" 1;
}
.receipt__pill {
  width: 400px;
  margin: 0 auto;
  border: 2px solid var(--red);
  border-radius: 25px;
  color: var(--red);
  font-size: 20px; line-height: 46px;
  text-align: center;
}
.receipt__howto { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 54px; }
.receipt__fig { position: relative; }
.receipt__fig--shop { width: 278px; }
.receipt__fig figcaption > span { position: absolute; white-space: nowrap; }
.receipt__fig-lead { left: 277px; top: 5px; font-size: 16px; line-height: 28px; color: var(--ink); }
.receipt__label {
  width: 100px;
  background: var(--dark); color: #fff;
  font-size: 16px; line-height: 24px; text-align: center;
}
.receipt__item { color: var(--red); font-size: 16px; line-height: 22px; }
.receipt__fig--shop .receipt__label   { left: 287px; top: 103px; }
.receipt__fig--shop .receipt__item--1 { left: 287px; top: 146px; }
.receipt__fig--shop .receipt__item--2 { left: 287px; top: 181px; }
.receipt__fig--shop .receipt__item--3 { left: 287px; top: 214px; }

.receipt__online { width: 468px; margin-top: 1px; }
.receipt__online-box { padding: 14px 0 22px 34px; background: var(--pink-bg); }
.receipt__online-box p { font-size: 16px; line-height: 28px; color: var(--ink); }
.receipt__fig--invoice { width: 264px; margin-top: 47px; }
.receipt__fig--invoice .receipt__label   { left: 273px; top: -4px; }
.receipt__fig--invoice .receipt__item--1 { left: 272px; top: 34px; line-height: 24px; }
.receipt__fig--invoice .receipt__item--2 { left: 273px; top: 91px; }
.receipt__fig--invoice .receipt__item--3 { left: 273px; top: 124px; }
.receipt__credit { margin-top: 14px; font-size: 16px; line-height: 28px; color: var(--ink); }

.receipt__box--ng { margin-top: 30px; padding-bottom: 50px; padding-left: 39px; }
.receipt__ng { display: grid; grid-template-columns: repeat(3, 300px); gap: 46px 40px; margin-top: 55px; }
.receipt__ng p {
  margin-top: 7px;
  font-size: 16px; line-height: 22px;
  color: #000; text-align: center;
}

.rule { background: url(../img/bg/bg_rule_pc.jpg) center top / cover no-repeat; }
.rule .inner { padding: 84px 0 100px; }
.rule__box {
  width: 980px;

  height: 490px;
  margin: 64px auto 0;
  padding: 44px 20px 44px 50px;
  border-radius: 60px;
  background: #fff;
}
.rule__scroll {
  height: 100%;
  overflow-y: auto;
  padding-right: 30px;
  font-size: 16px; line-height: 28px;
  color: var(--gray);
  overscroll-behavior: contain;
  overflow-x: hidden;
}
.rule__scroll h3 { margin-top: 28px; font-size: inherit; color: var(--red); }
.rule__scroll .gap { margin-top: 28px; }
.rule__scroll .hang { padding-left: 1em; text-indent: -1em; }
.rule__scroll .hang--2 { padding-left: 2em; }
.rule__scroll a { color: var(--red); overflow-wrap: anywhere; }
.rule__link::before { content: "→"; display: inline-block; }

.faq { background: #fff; }
.faq .inner { padding: 85px 0 99px; }
.faq__list {
  width: 980px;
  margin: 63px auto 0;
  border-top: 2px solid var(--pink-line);
}
.faq__item { border-bottom: 2px solid var(--pink-line); }
.faq__q {
  position: relative; display: block; width: 100%;
  padding: 33px 138px 33px 50px;
  color: var(--gray);
  font-size: 24px; line-height: 36px;
}
.faq__q span { display: block; }

.faq__arrow { position: absolute; right: 50px; top: 50%; width: 30px; height: 30px; margin-top: -20px; transition: transform .2s; }
.faq__q[aria-expanded="true"] .faq__arrow { transform: rotate(180deg); }
.faq__a {
  margin-top: -5.5px;
  color: var(--red);
  font-size: 20px; line-height: 30px;
}
.faq__a-body { padding: 0 50px 33.5px; }
.faq__a p + p { margin-top: 30px; }

.movie { background: url(../img/bg/bg_movie_pc.jpg) center top / cover no-repeat; }
.movie .inner { padding: 86px 0 99.5px; }
.movie__frame {
  position: relative;
  width: 800px;
  margin: 64px auto 0;
  aspect-ratio: 1600 / 901;
  border-radius: 40px;
  overflow: hidden;

  -webkit-mask-image: -webkit-radial-gradient(white, black);
  isolation: isolate;
  background: #000;
}
.movie__play { display: block; width: 100%; height: 100%; }
.movie__thumb { width: 100%; height: 100%; object-fit: cover; }
.movie__btn { position: absolute; left: 50%; top: 50%; width: 64px; margin: -32px 0 0 -32px; transition: transform .2s; }
.movie__play:hover .movie__btn { transform: scale(1.06); }
.movie__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.contact .inner { padding: 84px 0 100px; text-align: center; font-feature-settings: "palt" 1; }
.contact__name { margin-top: 61px; font-size: 20px; line-height: 35px; }
.contact__mail { font-size: 16px; line-height: 35px; }
.contact__mail a { color: var(--red); font-size: 20px; line-height: 0; text-decoration: underline 1px; text-underline-offset: 0; }
.contact__hours { font-size: 16px; line-height: 30px; }
.contact__note { margin-top: 16px; font-size: 12px; line-height: 18px; }

.footer {
  padding: 40px 12px 48px 0;
  background: #fff;
  font-size: 24px; line-height: 32px;
  text-align: center;
}

:root {
  --ease-out: cubic-bezier(.22, .61, .36, 1);
  --ease-io: cubic-bezier(.4, 0, .2, 1);
}

.receipt, .faq__a { display: grid; grid-template-rows: 1fr; }
.receipt__clip, .faq__a-clip { overflow: hidden; min-height: 0; }
.js .receipt { transition: grid-template-rows .6s var(--ease-io), visibility 0s; }
.js .faq__a  { transition: grid-template-rows .4s var(--ease-io), margin-top .4s var(--ease-io), visibility 0s; }

.js .receipt:not(.is-open) { grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .6s var(--ease-io), visibility 0s .6s; }
.js .faq__a:not(.is-open)  { grid-template-rows: 0fr; margin-top: 0; visibility: hidden; transition: grid-template-rows .4s var(--ease-io), margin-top .4s var(--ease-io), visibility 0s .4s; }
.faq__arrow { transition: transform .4s var(--ease-io); }

.float-badge { position: fixed; right: 22px; bottom: 20px; z-index: 50; width: 203.5px; }
.js .float-badge {
  opacity: 0; translate: 0 24px; visibility: hidden; pointer-events: none;
  transition: opacity .5s var(--ease-out), translate .5s var(--ease-out), visibility 0s .5s;
}
.js .float-badge.is-shown {
  opacity: 1; translate: 0 0; visibility: visible; pointer-events: auto;
  transition: opacity .5s var(--ease-out), translate .5s var(--ease-out), visibility 0s;
}

.fx .hero__catch, .fx .hero__shinmai, .fx .hero__name, .fx .hero__present, .fx .hero__prize { opacity: 0; translate: 0 14px; }
.fx .hero.is-ready :is(.hero__catch, .hero__shinmai, .hero__name, .hero__present, .hero__prize) {
  opacity: 1; translate: 0 0;
  transition: opacity .7s var(--ease-out), translate .7s var(--ease-out);
}
.fx .hero.is-ready .hero__catch     { transition-delay: 0s; }
.fx .hero.is-ready .hero__shinmai,
.fx .hero.is-ready .hero__name      { transition-delay: .35s; }
.fx .hero.is-ready .hero__present   { transition-delay: .7s; }
.fx .hero.is-ready .hero__prize--a  { transition-delay: 1.0s; }
.fx .hero.is-ready .hero__prize--b  { transition-delay: 1.15s; }
.fx .hero.is-ready .hero__prize--c  { transition-delay: 1.3s; }

.fx :is(.ttl, .prize__lead, .prize-item__badge, .prize-item__name, .prize-item__count, .prize-item__box,
        .products__frame, .products__sticker, .step, .acc-btn, .apply__notes, .cta, .rule__box,
        .faq__item, .movie__frame, .contact__name, .contact__mail, .contact__hours, .contact__note) {
  transition: opacity .8s var(--ease-out), translate .8s var(--ease-out);
}
.fx :is(.ttl, .prize__lead, .prize-item__badge, .prize-item__name, .prize-item__count, .prize-item__box,
        .products__frame, .products__sticker, .step, .acc-btn, .apply__notes, .cta, .rule__box,
        .faq__item, .movie__frame, .contact__name, .contact__mail, .contact__hours, .contact__note):not(.is-in) {
  opacity: 0; translate: 0 24px;
}

@media (min-width: 751px) {
  .fx .step--2 { transition-delay: .12s; }
  .fx .step--3 { transition-delay: .24s; }
}

.fx .acc-btn, .fx .cta, .acc-btn, .cta {
  transition: opacity .8s var(--ease-out), translate .8s var(--ease-out),
              transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.acc-btn__icon, .cta__arrow { transition: transform .3s var(--ease-out); }
@media (hover: hover) and (min-width: 751px) {
  .acc-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(84, 6, 0, .28); }
  .acc-btn[aria-expanded="false"]:hover .acc-btn__icon { transform: rotate(90deg); }
  .cta:hover { transform: translateY(-2px); box-shadow: 0 7px 0 var(--dark); }
  .cta:hover .cta__arrow { transform: translateX(6px); }
  .cta:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--dark); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .receipt, .js .faq__a, .js .float-badge, .faq__arrow, .acc-btn, .cta, .acc-btn__icon, .cta__arrow { transition: none !important; }
}

@media (max-width: 750px) {

  body { background-size: 100px 100px; background-position: -22px -9.5px; }
  .hero, .prize, .apply, .contact { background: none; }
  .inner, .hero__inner, .deadline picture { width: 375px; }
  .pc, .pc-only, .sp-none { display: none; }
  .sp { display: inline; }
  .sp-only { display: block; }
  span.sp-only { display: inline; }

  .hero__logo    { left: 105.6px; top: 6.6px;   width: 163.8px; }
  .hero__catch   { left: 28.5px;  top: 69px;    width: 318px; }
  .hero__shinmai { left: 49px;    top: 123.5px; width: 65px; }
  .hero__name    { left: 122px;   top: 111.5px; width: 190.5px; }
  .hero__present { left: 46.5px;  top: 256.5px; width: 280px; }
  .hero__prize   { top: 301.5px; width: 108px; }
  .hero__prize--a { left: 22.5px; }
  .hero__prize--b { left: 133.5px; }
  .hero__prize--c { left: 244.5px; }
  .hero__photos img { width: 375px; margin: 0; padding-top: 415px; }

  .deadline { padding: 14px 0 14.18px; }
  .deadline img { margin-left: 16px; }

  .prize .inner { padding: 41px 0 50px; }
  .float-badge { right: 6.5px; bottom: 10px; width: 122.5px; }
  .ttl--prize img, .prize .ttl img { width: 125px; }

  .prize .ttl img    { padding-bottom: 0.53px; }
  .products .ttl img { padding-bottom: 0.26px; }
  .apply .ttl img, .rule .ttl img, .faq .ttl img { padding-bottom: 0; }
  .contact .ttl img  { padding-bottom: 0.21px; }
  .ttl--movie img    { padding-bottom: 0.49px; }
  .receipt__ttl img  { padding-bottom: 0.63px; }
  .prize__lead {
    margin-top: 32.5px;
    font-size: 16px; line-height: 24px;
    font-feature-settings: "palt" 1;
  }
  .prize-item { margin-top: 40px; }
  .prize-item--a { margin-top: 36px; }
  .prize-item__badge img { width: 60px; }
  .prize-item__name { margin-top: 9.25px; font-size: 26px; line-height: 32.5px; }
  .prize-item__num { font-size: 29px; }
  .prize-item__count { margin-top: 3.75px; font-size: 20px; line-height: 45px; }
  .prize-item__count-num { font-size: 33px; }
  .prize-item__box { width: 330px; margin-top: 7px; border-radius: 20px; }

  .prize-item__notes--a {
    display: block;
    padding: 30px 31.5px 28px 29.5px;
  }
  .prize-item__notes--a li { padding-left: 15px; text-indent: -15px; font-size: 12px; line-height: 18px; }
  .prize-item__notes--a li + li { margin: 6px 0 0; }

  .prize-item__box--side { display: block; }
  .prize-item__image-note { right: 5px; bottom: 7px; font-size: 11px; line-height: 15px; text-shadow: 0 0 3px rgba(0, 0, 0, .6); }
  .prize-item__body { display: block; padding: 28.75px 29.5px 26.25px; }
  .prize-item--c .prize-item__body { padding: 29.75px 29.5px 29px; }
  .prize-item__desc { font-size: 15px; line-height: 22.5px; }
  .prize-item--c .prize-item__notes { margin-top: 23.75px; }
  .prize-item--c .prize-item__notes li + li { margin-top: 6px; }

  .products { background-image: url(../img/bg/bg_products_sp.jpg); }
  .products .inner { padding: 41px 0 50px; }
  .products .ttl img { width: 196px; }
  .products__frame { width: 335px; margin-top: 36.5px; }
  .products__frame p {
    padding: 20px 0 22px;
    font-size: 16px; line-height: 24px;
    font-feature-settings: "palt" 1;
  }
  .products__frame small { font-size: 12px; }
  .products__sticker { width: 335px; margin-top: 50px; }
  .products__band { font-feature-settings: "palt" 1; }
  .products__bubble { position: relative; left: auto; bottom: auto; width: 250px; margin: 18px auto 0; }
  .products__bubble-text { left: 29.5px; top: 35px; }
  .products__bubble-text span { font-size: 16px; line-height: 28px; font-feature-settings: "palt" 1; }
  .products__bubble-text strong { margin: 1px 0 0 -3px; font-size: 26px; line-height: 36px; }

  .apply > .inner:first-child { padding-top: 41.5px; }
  .apply > .inner:last-child { padding-bottom: 70px; }
  .apply .ttl img { width: 126px; }
  .steps { flex-direction: column; align-items: center; gap: 30px; margin-top: 36.5px; }
  .step { padding-top: 38.5px; }
  .step__num { height: 35px; }
  .step__ttl { margin-top: 20.5px; }
  .step--1 { padding-bottom: 36.5px; }
  .step--2 { padding-bottom: 37.5px; }
  .step--3 { padding-bottom: 32px; }

  .step--1::after, .step--2::after {
    top: auto; right: auto; bottom: -19px; left: 50%;
    width: 38px; height: 19px; margin-left: -19px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .step__note { line-height: 21px; }
  .step--1 .step__note, .step--2 .step__note { margin-top: 1.5px; }

  .acc-btn { width: 335px; margin-top: 40px; border-radius: 25px; font-size: 16px; line-height: 50px; }
  .acc-btn span { padding-right: 17px; }
  .acc-btn__icon { top: 15px; right: 20px; }

  .apply__notes {
    margin-top: 25.5px;
    padding: 0 20px;
    font-size: 12px; line-height: 21px;
    text-align: left;

    white-space: nowrap;
  }
  .apply__notes p { padding-left: 1em; text-indent: -1em; }
  .apply__notes p + p { margin-top: 12px; }
  .cta {
    width: 335px;
    margin-top: 27.5px;
    padding: 24px 0 17.67px;
    border-radius: 50px;
  }
  .cta__arrow { right: 28px; width: 14px; height: 24.5px; margin-top: -12.25px; }
  .cta__arrow polyline { stroke-width: 2.5; }

  .receipt__panel { margin-top: 30px; }
  .receipt .inner { padding: 41.5px 0 49.5px; }
  .receipt__ttl img { width: 305.5px; margin: 0 auto; }
  .receipt__lead { margin-top: 31.75px; font-size: 14px; line-height: 24.5px; }
  .receipt__box {
    width: 355px;
    margin-top: 41.75px;
    padding: 29px 0 33.25px;
    border-radius: 20px;
  }
  .receipt__pill { width: 260px; border-width: 1.5px; border-radius: 20px; font-size: 16px; line-height: 37px; }
  .receipt__howto-lead { margin-top: 18px; font-size: 13px; line-height: 18px; text-align: center; color: var(--ink); }
  .receipt__howto { display: block; margin-top: 19px; }
  .receipt__fig--shop { width: 223px; margin-left: 8px; }
  .receipt__label { width: 80px; font-size: 13px; line-height: 19.5px; }
  .receipt__item { font-size: 13px; line-height: 18px; }
  .receipt__fig--shop .receipt__label   { left: 226px; top: 83px; }
  .receipt__fig--shop .receipt__item--1 { left: 226px; top: 117px; }
  .receipt__fig--shop .receipt__item--2 { left: 226px; top: 145px; }
  .receipt__fig--shop .receipt__item--3 { left: 226px; top: 171px; }
  .receipt__online { width: 335px; margin: 19px auto 0; }
  .receipt__online-box { padding: 15.75px 19px 34px 19px; }
  .receipt__online-box p { font-size: 13px; line-height: 22.5px; color: #000; }
  .receipt__fig--invoice { width: 195px; margin: 22.25px 0 0 -5px; }
  .receipt__fig--invoice .receipt__label   { left: 198.5px; top: -2.5px; }
  .receipt__fig--invoice .receipt__item--1 { left: 198px; top: 29px; line-height: 19px; }
  .receipt__fig--invoice .receipt__item--2 { left: 199px; top: 73px; }
  .receipt__fig--invoice .receipt__item--3 { left: 199px; top: 100px; }
  .receipt__credit { margin-top: 15.75px; padding: 0 19px; font-size: 13px; line-height: 22.5px; color: #000; }
  .receipt__box--ng { margin-top: 19.5px; padding: 29px 0 39.5px; }
  .receipt__ng { grid-template-columns: 300px; gap: 19px; margin-top: 30px; padding-left: 21.5px; }
  .receipt__ng p { margin-top: 8px; font-size: 13px; line-height: 18px; color: var(--gray); }

  .rule { background-image: url(../img/bg/bg_rule_sp.jpg); }
  .rule .inner { padding: 41.5px 0 50px; }
  .rule .ttl img { width: 130.5px; }
  .rule__box {
    width: 335px;
    height: 670px;
    margin-top: 36.5px;
    padding: 25.25px 10px 25.25px 30px;
    border-radius: 20px;
  }
  .rule__scroll { padding-right: 20px; font-size: 14px; line-height: 24.5px; }
  .rule__scroll h3, .rule__scroll .gap { margin-top: 24.5px; }

  .faq .inner { padding: 42px 0 49.5px; }
  .faq .ttl img { width: 203px; left: 3px; }
  .faq__list { width: 335px; margin-top: 36px; border-top-width: 1px; }
  .faq__item { border-bottom-width: 1px; }
  .faq__q {
    padding: 25.5px 50px 27.5px 20px;
    font-size: 16px; line-height: 24px;
    font-feature-settings: "palt" 1;
  }
  .faq__q span { white-space: nowrap; }
  .faq__arrow { right: 10px; width: 24px; height: 24px; margin-top: -12px; }
  .faq__a {
    margin-top: -4.5px;
    font-size: 14px; line-height: 21px;
    font-feature-settings: "palt" 1;
  }
  .faq__a-body { padding: 0 15px 27.5px 20px; }
  .faq__a p + p { margin-top: 21px; }

  .movie { background-image: url(../img/bg/bg_movie_sp.jpg); }
  .movie .inner { padding: 42.5px 0 50px; }
  .ttl--movie img { width: 212px; margin: 0 auto; }
  .movie__frame { width: 320px; margin-top: 36.5px; border-radius: 20px; }
  .movie__btn { width: 48px; margin: -24px 0 0 -24px; }

  .contact .inner { padding: 41.5px 0 50px; }
  .contact .ttl img { width: 220.5px; }
  .contact__name { margin-top: 33.5px; font-size: 15px; line-height: 27px; }
  .contact__mail { font-size: 12px; line-height: 27px; }
  .contact__mail a { font-size: 15px; }
  .contact__hours { font-size: 12px; line-height: 21px; }
  .contact__note { margin-top: 9.5px; font-size: 11px; line-height: 19px; }

  .footer { padding: 33px 0 37px; font-size: 15px; line-height: 20px; }
}
