@charset "UTF-8";

.br-sp {
	display: none;
}

.ultraman-lp {
  --ultra-blue: #0051a8;
  --ultra-red: #ef3034;
  --ultra-green: #05bd63;
  --ultra-yellow: #ffe327;
  --ultra-text: #151515;
  position: relative;
  overflow: hidden;
  color: var(--ultra-text);
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", sans-serif;
  line-height: 1.8;
  background: #01499e url("../img/ultraman-lp/background-stars.png") center top / 1675px auto repeat-y;
  isolation: isolate;
}

.ultraman-lp * {
  box-sizing: border-box;
}

.ultraman-lp img {
  max-width: 100%;
  height: auto;
}

.ultraman-lp a:focus-visible,
.ultraman-lp button:focus-visible,
.ultraman-lp [tabindex]:focus-visible {
  outline: 4px solid #00c86f;
  outline-offset: 4px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ultraman-lp__space {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.ultraman-lp__space::before,
.ultraman-lp__space::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: max(0px, calc((100% - 1200px) / 2));
  background: url("../img/ultraman-lp/background-stars-twinkle.png") center top / 255px auto repeat-y;
  opacity: .38;
  filter: brightness(1);
  animation: ultraTwinkleLayer 3.8s ease-in-out -1.6s infinite;
}

.ultraman-lp__space::before { left: 0; }
.ultraman-lp__space::after {
  right: 0;
  animation-duration: 7.4s;
  animation-delay: -2.9s;
}

.ultra-planet {
  position: absolute;
  display: block;
  pointer-events: none;
  animation: ultraFloat 4s ease-in-out infinite;
}

.ultra-bg-art {
  position: absolute;
  display: block;
  pointer-events: none;
  will-change: transform, opacity;
}

.ultra-bg-art[class*="twinkle"] {
  animation: ultraTwinkle var(--twinkle-duration, 2.2s) ease-in-out infinite;
  animation-delay: var(--twinkle-delay, 0s);
  transform-origin: center;
}

.ultra-bg-art[class*="kaiju"] {
  animation: ultraKaijuFloat var(--kaiju-duration, 3s) ease-in-out infinite;
  animation-delay: var(--kaiju-delay, 0s);
  transform-origin: center bottom;
}

.ultra-planet--blue-a { width: clamp(120px, 15vw, 254px); top: 130px; left: max(32px, calc(50% - 835px)); }
.ultra-planet--green-a { width: clamp(90px, 9vw, 172px); top: 900px; left: max(28px, calc(50% - 815px)); animation-delay: -2s; }
.ultra-planet--beige-a { width: clamp(150px, 16vw, 342px); top: 1110px; right: max(22px, calc(50% - 890px)); animation-delay: -3s; }
.ultra-planet--blue-e { width: clamp(138px, 15vw, 200px); top: 1860px; right: max(16px, calc(50% - 855px)); animation-delay: -5s; }
.ultra-planet--blue-b { width: clamp(112px, 13vw, 244px); top: 3040px; left: max(22px, calc(50% - 858px)); animation-delay: -4s; }
.ultra-planet--beige-b { width: clamp(142px, 15vw, 312px); top: 3720px; right: max(12px, calc(50% - 858px)); animation-delay: -6s; }
.ultra-planet--green-b { width: clamp(86px, 9vw, 168px); top: 4440px; left: max(34px, calc(50% - 805px)); animation-delay: -1s; }
.ultra-planet--pink-b { width: clamp(130px, 14vw, 286px); top: 5220px; right: max(26px, calc(50% - 842px)); animation-delay: -4s; }
.ultra-planet--beige-c { width: clamp(132px, 15vw, 300px); top: 6920px; right: max(20px, calc(50% - 845px)); animation-delay: -4.5s; }
.ultra-planet--pink-c { width: clamp(128px, 14vw, 290px); top: 8940px; right: max(18px, calc(50% - 856px)); animation-delay: -2.2s; }
.ultra-planet--blue-c { width: clamp(160px, 12vw, 200px); top: 7920px; left: max(34px, calc(50% - 812px)); animation-delay: -4.5s; }
.ultra-planet--blue-d { width: clamp(98px, 12vw, 210px); top: 10140px; left: max(24px, calc(50% - 840px)); animation-delay: -5.5s; }
.ultra-planet--beige-d { width: clamp(132px, 14vw, 284px); top: 11080px; right: max(18px, calc(50% - 846px)); animation-delay: -1.5s; }

.ultra-planet--ending-left-a { width: clamp(120px, 15vw, 254px); top: 12350px; left: max(22px, calc(50% - 858px)); animation-delay: -.8s; }
.ultra-planet--ending-right-a { width: clamp(150px, 16vw, 342px); top: 13200px; right: max(12px, calc(50% - 858px)); animation-delay: -2.1s; }
.ultra-planet--ending-left-b { width: clamp(138px, 15vw, 320px); top: 14050px; left: max(26px, calc(50% - 842px)); animation-delay: -3.2s; }
.ultra-planet--ending-right-b { width: clamp(90px, 9vw, 172px); top: 14850px; right: max(28px, calc(50% - 815px)); animation-delay: -1.4s; }

.ultra-bg-art--twinkle-left-a { width: 255px; top: 330px; left: max(18px, calc(50% - 955px)); --twinkle-duration: 3.2s; --twinkle-delay: -.2s; }
.ultra-bg-art--twinkle-left-b { width: 255px; top: 1160px; left: max(6px, calc(50% - 972px)); --twinkle-duration: 3.9s; --twinkle-delay: -1.3s; }
.ultra-bg-art--twinkle-right-a { width: 255px; top: 330px; right: max(4px, calc(50% - 962px)); --twinkle-duration: 2.7s; --twinkle-delay: -2s; }
.ultra-bg-art--twinkle-right-b { width: 255px; top: 1460px; right: max(2px, calc(50% - 965px)); --twinkle-duration: 3.5s; --twinkle-delay: -.6s; }
.ultra-bg-art--kaiju-right-a { width: clamp(300px, 11.5vw, 218px); top: 505px; right: max(70px, calc(50% - 890px)); --kaiju-duration: 6.8s; --kaiju-delay: -.8s; --kaiju-x: 5px; --kaiju-y: -16px; --kaiju-rotate-start: -2deg; --kaiju-rotate-end: 2.5deg; }
.ultra-bg-art--twinkle-left-c { width: 255px; top: 2830px; left: max(8px, calc(50% - 965px)); --twinkle-duration: 3.7s; --twinkle-delay: -.8s; }
.ultra-bg-art--twinkle-right-c { width: 255px; top: 3140px; right: max(0px, calc(50% - 968px)); --twinkle-duration: 2.9s; --twinkle-delay: -1.6s; }
.ultra-bg-art--kaiju-right-b { width: clamp(176px, 11.5vw, 220px); top: 6120px; right: max(58px, calc(50% - 890px)); --kaiju-duration: 7.6s; --kaiju-delay: -4.1s; --kaiju-x: 4px; --kaiju-y: 18px; --kaiju-rotate-start: -2.5deg; --kaiju-rotate-end: 2deg; }
.ultra-bg-art--twinkle-left-d { width: 255px; top: 5050px; left: max(0px, calc(50% - 970px)); --twinkle-duration: 3.4s; --twinkle-delay: -2.1s; }
.ultra-bg-art--twinkle-right-d { width: 255px; top: 5430px; right: max(8px, calc(50% - 958px)); --twinkle-duration: 4s; --twinkle-delay: -.4s; }
.ultra-bg-art--twinkle-left-e { width: 255px; top: 7350px; left: max(8px, calc(50% - 960px)); --twinkle-duration: 3.1s; --twinkle-delay: -1.1s; }
.ultra-bg-art--twinkle-right-e { width: 255px; top: 7640px; right: max(0px, calc(50% - 970px)); --twinkle-duration: 3.8s; --twinkle-delay: -2.4s; }
.ultra-bg-art--twinkle-left-f { width: 255px; top: 9480px; left: max(0px, calc(50% - 970px)); --twinkle-duration: 2.4s; --twinkle-delay: -1.8s; }
.ultra-bg-art--twinkle-right-f { width: 255px; top: 9900px; right: max(10px, calc(50% - 960px)); --twinkle-duration: 2.8s; --twinkle-delay: -.9s; }

.ultra-bg-art--twinkle-left-g {
  width: 255px;
  top: 11200px;
  left: max(4px, calc(50% - 968px));
  --twinkle-duration: 3.3s;
  --twinkle-delay: -1.2s;
}

.ultra-bg-art--twinkle-right-g {
  width: 255px;
  top: 11850px;
  right: max(6px, calc(50% - 965px));
  --twinkle-duration: 2.7s;
  --twinkle-delay: -2s;
}

.ultra-bg-art--twinkle-right-h {
  width: 255px;
  top: 12650px;
  right: max(0px, calc(50% - 970px));
  --twinkle-duration: 3.8s;
  --twinkle-delay: -.7s;
}

.ultra-bg-art--twinkle-left-h {
  width: 255px;
  top: 13550px;
  left: max(8px, calc(50% - 960px));
  --twinkle-duration: 2.9s;
  --twinkle-delay: -1.8s;
}

.ultra-bg-art--twinkle-right-i {
  width: 255px;
  top: 14400px;
  right: max(4px, calc(50% - 966px));
  --twinkle-duration: 3.5s;
  --twinkle-delay: -2.4s;
}

.ultra-bg-art--twinkle-left-i {
  width: 255px;
  top: 15100px;
  left: max(0px, calc(50% - 970px));
  --twinkle-duration: 2.6s;
  --twinkle-delay: -.9s;
}

.ultra-bg-art--kaiju-lower-left { width: clamp(174px, 11.4vw, 218px); top: 6900px; left: max(72px, calc(50% - 882px)); --kaiju-duration: 5.1s; --kaiju-delay: -3.2s; --kaiju-x: -5px; --kaiju-y: -16px; --kaiju-rotate-start: 2.5deg; --kaiju-rotate-end: -2deg; }
.ultra-bg-art--kaiju-lower-right { width: clamp(176px, 11.5vw, 220px); top: 8100px; right: max(60px, calc(50% - 890px)); --kaiju-duration: 7.2s; --kaiju-delay: -1.7s; --kaiju-x: 5px; --kaiju-y: -15px; --kaiju-rotate-start: -2deg; --kaiju-rotate-end: 2.5deg; }
.ultra-bg-art--kaiju-footer-left { width: clamp(176px, 11.5vw, 220px); top: 9200px; left: max(62px, calc(50% - 888px)); --kaiju-duration: 8.6s; --kaiju-delay: -4.4s; --kaiju-x: -4px; --kaiju-y: 18px; --kaiju-rotate-start: -2.5deg; --kaiju-rotate-end: 2deg; }
.ultra-bg-art--kaiju-added-left-gourmet { width: clamp(176px, 11.5vw, 220px); top: 2020px; left: max(34px, calc(50% - 918px)); --kaiju-duration: 7.3s; --kaiju-delay: -1.4s; --kaiju-x: -4px; --kaiju-y: -14px; --kaiju-rotate-start: 2deg; --kaiju-rotate-end: -2.4deg; }
.ultra-bg-art--kaiju-added-right-theme02 { width: clamp(154px, 9vw, 188px); top: 3150px; right: max(50px, calc(50% - 888px)); --kaiju-duration: 7.9s; --kaiju-delay: -2.1s; --kaiju-x: 5px; --kaiju-y: -15px; --kaiju-rotate-start: -2deg; --kaiju-rotate-end: 2.2deg; }
.ultra-bg-art--kaiju-added-right-theme03 { width: clamp(174px, 11.4vw, 218px); top: 4390px; right: max(54px, calc(50% - 890px)); --kaiju-duration: 8.2s; --kaiju-delay: -3.6s; --kaiju-x: 4px; --kaiju-y: -16px; --kaiju-rotate-start: 2.4deg; --kaiju-rotate-end: -2deg; }
.ultra-bg-art--kaiju-added-left-greeting { width: clamp(172px, 11.2vw, 214px); top: 10910px; left: max(36px, calc(50% - 918px)); --kaiju-duration: 8s; --kaiju-delay: -2.6s; --kaiju-x: -5px; --kaiju-y: -15px; --kaiju-rotate-start: 2deg; --kaiju-rotate-end: -2.2deg; }
.ultra-bg-art--planet-gap-right-a { width: clamp(112px, 8vw, 154px); top: 2620px; right: max(42px, calc(50% - 875px)); animation-delay: -3.8s; }
.ultra-bg-art--kaiju-gap-left-a { width: clamp(255px, 9vw, 188px); top: 5600px; left: max(58px, calc(50% - 890px)); --kaiju-duration: 7.9s; --kaiju-delay: -2.8s; --kaiju-x: -4px; --kaiju-y: 14px; --kaiju-rotate-start: 2deg; --kaiju-rotate-end: -2deg; }
.ultra-bg-art--planet-gap-right-c { width: clamp(110px, 8vw, 156px); top: 10080px; right: max(46px, calc(50% - 870px)); animation-delay: -1.8s; }

@keyframes ultraFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg); }
  50% { transform: translate3d(0, 50px, 0) rotate(4deg); }
}

@keyframes ultraTwinkle {
  0%,
  100% {
    opacity: .35;
    transform: scale(.96);
    filter: brightness(.85);
  }

  45% {
    opacity: 1;
    transform: scale(1.045);
    filter: brightness(1.4);
  }

  70% {
    opacity: .58;
    transform: scale(1);
    filter: brightness(1.05);
  }
}

@keyframes ultraTwinkleLayer {
  0%,
  100% {
    opacity: .2;
    filter: brightness(.85);
  }

  45% {
    opacity: .58;
    filter: brightness(1.4);
  }

  70% {
    opacity: .35;
    filter: brightness(1.05);
  }
}

@keyframes ultraSideStarsTwinkle {
  0%,
  100% {
    opacity: .3;
    filter: brightness(.85);
  }

  45% {
    opacity: .85;
    filter: brightness(1.4);
  }

  68% {
    opacity: .5;
    filter: brightness(1);
  }
}

@keyframes ultraKaijuFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(var(--kaiju-rotate-start, -2deg)); }
  50% { transform: translate3d(var(--kaiju-x, 4px), var(--kaiju-y, -14px), 0) rotate(var(--kaiju-rotate-end, 2deg)); }
}

.ultra-hero {
  width: min(1200px, 100%);
  margin: 0 auto;
}

.ultra-hero__image {
  display: block;
  width: 100%;
}

.ultra-panel {
  width: min(1200px, 100%);
  margin: 0 auto;
  background: #fff;
}

.ultra-intro {
  padding: 52px 40px;
  text-align: center;
}

.ultra-intro p,
.ultra-section-title p {
  font-size: clamp(16px, 1.25vw, 22px);
  font-weight: 800;
  line-height: 2.05;
  letter-spacing: 0;
}

.ultra-special > .ultra-section-title p {
  font-size: clamp(16px, 1.25vw, 22px);
  font-weight: 800;
  line-height: 2.05;
  letter-spacing: 0;
}

.ultra-intro__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 450px));
  justify-content: center;
  gap: 34px;
  margin: 40px auto 0;
}

.ultra-intro__link {
  position: relative;
  display: block;
  border-radius: 18px;
}

.ultra-intro__link span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.ultra-gourmet {
  padding: 60px 40px;
  margin-top: 42px;
}

.ultra-section-title {
  text-align: center;
}

.ultra-section-title img {
  display: block;
  margin: 0 auto 22px;
}

.ultra-theme {
  margin: 40px auto 0;
}

.ultra-section-title + .ultra-theme {
  margin-top: 50px;
}

.ultra-theme__shell {
  position: relative;
  width: min(840px, 100%);
  margin: 0 auto;
  border-radius: 30px;
  padding: 40px 70px;
}

.ultra-theme--theme01 .ultra-theme__shell { background: var(--ultra-yellow); }
.ultra-theme--theme02 .ultra-theme__shell { background: #4d462f; color: #fff; }
.ultra-theme--theme03 .ultra-theme__shell { background: #ffd9e6; }

.ultra-theme__heading {
  position: relative;
  min-height: 160px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 18px;
}

.ultra-theme__title-image {
  width: min(650px, 84%);
  object-fit: contain;
}

.ultra-theme--theme02 .ultra-theme__title-image {
  width: min(650px, 84%);
  margin-left: auto;
}

.ultra-theme--theme03 .ultra-theme__title-image {
  width: min(600px, 80%);
}

.ultra-theme--theme03 .ultra-theme__heading {
  min-height: 160px;
  margin-bottom: 30px;
}

.ultra-theme__character {
  position: absolute;
  top: -80px;
  right: -114px;
  width: 220px;
}

.ultra-theme--theme02 .ultra-theme__character {
  top: -20px;
  right: auto;
  left: -130px;
  width: 224px;
}

.ultra-theme--theme03 .ultra-theme__character {
  top: -62px;
  right: -96px;
  width: 222px;
}

.ultra-carousel {
  position: relative;
}

.ultra-carousel__viewport {
  overflow: hidden;
}

.ultra-carousel__track {
  display: flex;
  align-items: flex-start;
  transition: transform .35s ease;
  will-change: transform;
}

.ultra-menu-card {
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.ultra-menu-card__media {
  width: min(600px, 100%);
  margin: 20px auto 0;
}

.ultra-carousel__counter {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 40px;
  margin: 0;
  background: var(--ultra-green);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.ultra-menu-card__image {
  aspect-ratio: 3 / 2;
  background: #f5f5f5;
}

.ultra-menu-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ultra-menu-card__body {
  display: flex;
  flex-direction: column;
}

.ultra-menu-card__meta {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 800;
  line-height: 1.55;
  white-space: nowrap;
}

.ultra-menu-card__floor {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}

.ultra-menu-card__shop {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
  text-align: center;
  min-width: 0;
}

.ultra-menu-card__name {
  margin-top: 8px;
  font-size: 32px;
  line-height: 1.35;
  color: var(--ultra-red);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.ultra-theme--theme02 .ultra-menu-card__name {
  color: #ecd5a8;
}

.ultra-theme--theme03 .ultra-menu-card__name {
  color: #e93978;
}

.font-dela { font-family: "Dela Gothic One", "Noto Sans JP", sans-serif; font-weight: 400; }
.font-zen { font-family: "Zen Old Mincho", serif; font-weight: 700; }
.font-mochiy { font-family: "Mochiy Pop One", "Noto Sans JP", sans-serif; font-weight: 400; }

.ultra-menu-card__price {
  margin-top: 8px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
}

.ultra-menu-card__comment {
  width: min(600px, 100%);
  margin: 0 auto;
  padding: 18px 22px;
  background: #fff;
  color: #151515;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
}

.ultra-carousel__button {
  position: absolute;
  top: var(--ultra-carousel-button-top, 50%);
  width: 107px;
  height: 107px;
  transform: translateY(-50%);
  border-radius: 50%;
  z-index: 2;
}

.ultra-carousel__button--prev { left: -118px; }
.ultra-carousel__button--next { right: -118px; }

.ultra-carousel__button img {
  width: 100%;
  height: 100%;
}

.ultra-products {
  width: min(840px, 100%);
  margin: 42px auto 0;
  border-radius: 30px;
  padding: 40px 70px;
  background: #ddf3f9;
  color: var(--ultra-text);
  position: relative;
  text-align: center;
}

.ultra-products__heading {
  margin: 0;
}

.ultra-products__heading img {
  display: block;
  width: min(100%, 610px);
  margin: 0 auto;
}

.ultra-products__intro {
  width: min(100%, 700px);
  margin: 18px auto 0;
}

.ultra-products__lead,
.ultra-products__period {
  margin: 0;
  font-weight: 700;
  line-height: 1.9;
}

.ultra-products__lead {
  font-size: 16px;
}

.ultra-products__period {
  margin-top: 2px;
  font-size: 15px;
}

.ultra-products__list {
  margin-top: 32px;
}

.ultra-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ultra-product-card + .ultra-product-card {
  margin-top: 25px;
  padding-top: 36px;
  border-top: 1px solid rgba(88, 176, 206, .42);
}

.ultra-product-card:last-child {
  padding-bottom: 0;
}

.ultra-product-card__figure {
  margin: 0;
}

.ultra-product-card__image {
  display: block;
  width: min(100%, 445px);
  margin: 0 auto;
}

.ultra-product-card__body {
  width: min(100%, 660px);
  margin: 24px auto 0;
}

.ultra-product-card__shops,
.ultra-product-card__meta,
.ultra-product-card__name,
.ultra-product-card__price,
.ultra-product-card__comment {
  margin: 0;
}

.ultra-product-card__shops {
  margin-bottom: 8px;
}

.ultra-product-card__shops-title {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.6;
}

.ultra-product-card__meta {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.62;
}

.ultra-product-card__name {
  margin-top: 8px;
  color: #2876e8;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0;
}

.ultra-product-card__price {
  color: #2876e8;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.45;
}

.ultra-product-card__comment {
  width: min(100%, 560px);
  margin: 24px auto 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
}

.ultra-products__decoration {
  position: absolute;
  display: block;
  pointer-events: none;
  z-index: 1;
}

.ultra-products__decoration--pigmon,
  .ultra-products__decoration--kanegon-left {
  width: 170px;
  top: 120px;
  left: -82px;
}

.ultra-products__decoration--pigmon-right {
  width: 176px;
  top: 104px;
  right: -88px;
  bottom: auto;
  left: auto;
}

.ultra-products__decoration--kanegon,
.ultra-products__decoration--baltan-right {
  width: 176px;
  top: 104px;
  right: -88px;
}

.ultra-products__decoration--baltan {
  width: 200px;
  top: 52px;
  left: -164px;
}

.ultra-bonus {
  width: min(1010px, 100%);
  margin: 80px auto 0;
}

.ultra-bonus__box {
  border: 4px solid #2b79ff;
  border-radius: 30px;
  padding: 30px 44px 38px;
}

.ultra-bonus__title,
.ultra-event-box__title {
  display: block;
  margin: -50px auto 20px;
}

.ultra-bonus__stickers {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px auto 30px;
}

.ultra-bonus__stickers p {
  width: 400px;
  height: auto;
  font-weight: 700;
  font-size: 15px;
}

.ultra-note {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
}

.ultra-special {
  padding: 70px 40px;
  margin-top: 46px;
}

.ultra-event-box {
  width: min(1010px, 100%);
  margin: 60px auto 0;
  --event-accent: #00c86f;
  border: 4px solid var(--event-accent);
  border-radius: 30px;
  padding: 30px 54px;
  text-align: center;
}

.ultra-event-box--green { --event-accent: #00c86f; }
.ultra-event-box--orange { --event-accent: #ff7b22; }

.ultra-event-box + .ultra-event-box {
  margin-top: 80px;
}

.ultra-event-box__title {
  width: auto;
  max-width: min(430px, 78%);
  margin: -50px auto 20px;
}

.ultra-campaign-lead,
.ultra-greeting .ultra-event-box__copy {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
}

.ultra-note--campaign {
  width: min(1010px, 100%);
  margin: 30px auto 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
}

.ultra-note--campaign + .ultra-event-box {
  margin-top: 60px;
}

.ultra-prizes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 470px));
  justify-content: center;
  gap: 20px;
  margin: 28px auto 20px;
}

.ultra-prizes li {
  display: grid;
  align-content: start;
  justify-items: center;
}

.ultra-prizes img {
  width: min(400px, 100%);
  aspect-ratio: 3 / 2;
  object-fit: contain;
}

.ultra-prizes span {
  display: block;
  margin-top: 8px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.shop-rally-detail-button,
.greeting-event-detail-button {
  display: block;
  width: min(360px, 100%);
  margin: 30px auto 0;
}

.shop-rally-detail-button img,
.greeting-event-detail-button img {
  display: block;
  width: 100%;
  height: auto;
}

.ultra-jr-oshi-tabi {
  margin-top: 46px;
  padding: 54px 70px 58px;
  text-align: center;
}

.ultra-jr-oshi-tabi__heading {
  margin: 30px 0;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0;
}

.ultra-jr-oshi-tabi__heading span {
  display: block;
}

.ultra-jr-oshi-tabi__copy {
  width: min(900px, 100%);
  margin: 28px auto 20px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0;
}

.ultra-jr-oshi-tabi__visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 340px));
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 0 auto;
}

.ultra-jr-oshi-tabi__visuals img {
  display: block;
  width: 100%;
  height: auto;
}

.ultra-jr-oshi-tabi__button {
  display: block;
  width: min(499px, 100%);
  margin: 40px auto 0;
}

.ultra-jr-oshi-tabi__button img {
  display: block;
  width: 100%;
  height: auto;
}

.ultra-event-box h3 {
  margin-top: 26px;
  color: #ff7b22;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.5;
}

.ultra-flow {
  display: grid;
  gap: 6px;
  max-width: 760px;
  margin: 10px auto 0;
  padding-inline: 24px;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
}

.ultra-flow li::before {
  content: "・";
}

.ultra-footer-art__notice {
  background: #fff;
  padding: 24px 40px;
  margin-top: 40px;
  text-align: left;
}

.color-white {
	color: #fff;
}
.ultra-footer-art__notice p {
  width: min(1200px, 100%);
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.8;
  color: #000;
}

.js-reveal {
  opacity: 1;
  transform: none;
}

.js .js-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}

.js .js-reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

#gourmet,
#special {
  scroll-margin-top: 90px;
}

@media screen and (max-width: 1199px) {
  .ultraman-lp {
    background-size: 1200px auto;
  }
  .ultra-gourmet,
  .ultra-special {
    padding-left: 32px;
    padding-right: 32px;
  }
  .ultra-jr-oshi-tabi {
    padding-left: 48px;
    padding-right: 48px;
  }
  .ultra-theme__shell,
  .ultra-products {
    width: min(840px, calc(100vw - 96px));
  }
  .ultra-products__heading img {
    width: min(100%, 560px);
  }
  .ultra-product-card__image {
    width: min(100%, 445px);
  }
  .ultra-products__decoration--pigmon,
  .ultra-products__decoration--kanegon-left {
    width: clamp(132px, 16vw, 152px);
    left: clamp(-72px, -6vw, -44px);
  }

.ultra-products__decoration--pigmon-right {
  width: clamp(136px, 16vw, 154px);
  right: clamp(-72px, -6vw, -44px);
}
 .ultra-products__decoration--kanegon,
.ultra-products__decoration--baltan-right {
  width: clamp(136px, 16vw, 154px);
  right: clamp(-72px, -6vw, -44px);
}
  .ultra-products__decoration--baltan {
    width: clamp(176px, 20vw, 210px);
    left: clamp(-126px, -10vw, -82px);
  }
  .ultra-bonus,
  .ultra-event-box {
    width: min(1010px, calc(100vw - 96px));
  }
  .ultra-theme__character {
    width: clamp(166px, 20vw, 226px);
    right: -86px;
  }
  .ultra-theme--theme01 .ultra-theme__character {
		top: -38px;
		right: -2px;
		width: 84px;
    }
  .ultra-theme--theme02 .ultra-theme__character {
    top: -20px;
    right: auto;
    left: -130px;
  }
  .ultra-theme--theme03 .ultra-theme__character {
    top: -54px;
    right: -84px;
  }
  .ultra-bg-art--kaiju-lower-left,
  .ultra-bg-art--kaiju-lower-right,
  .ultra-bg-art--kaiju-footer-left,
  .ultra-bg-art--kaiju-added-left-gourmet,
  .ultra-bg-art--kaiju-added-right-theme02,
  .ultra-bg-art--kaiju-added-right-theme03,
  .ultra-bg-art--kaiju-added-left-greeting,
  .ultra-bg-art--planet-gap-right-a,
  .ultra-bg-art--kaiju-gap-left-a,
  .ultra-bg-art--planet-gap-right-c {
    display: none;
  }
  .ultra-carousel__button {
    width: clamp(64px, 8vw, 92px);
    height: clamp(64px, 8vw, 92px);
  }
  .ultra-carousel__button--prev { left: -54px; }
  .ultra-carousel__button--next { right: -54px; }
  .ultra-menu-card__media,
  .ultra-menu-card__comment {
    width: min(600px, 88%);
  }
}

@media screen and (max-width: 1399px) {
  .ultra-bg-art--kaiju-lower-left,
  .ultra-bg-art--kaiju-lower-right,
  .ultra-bg-art--kaiju-footer-left,
  .ultra-bg-art--kaiju-added-left-gourmet,
  .ultra-bg-art--kaiju-added-right-theme02,
  .ultra-bg-art--kaiju-added-right-theme03,
  .ultra-bg-art--kaiju-added-left-greeting,
  .ultra-bg-art--planet-gap-right-a,
  .ultra-bg-art--kaiju-gap-left-a,
  .ultra-bg-art--planet-gap-right-c {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .ultra-menu-card__name {
    font-size: clamp(26px, 3vw, 32px);
    line-height: 1.35;
  }
}

@media screen and (min-width: 768px) and (max-width: 899px) {
  .ultra-products__decoration--pigmon,
  .ultra-products__decoration--kanegon-left {
    width: 96px;
    top: 130px;
    left: -80px;
  }
  .ultra-products__decoration--kanegon,
.ultra-products__decoration--baltan-right {
  width: 100px;
  top: 116px;
  right: -80px;
}
.ultra-products__decoration--pigmon-right {
  width: 100px;
  top: 116px;
  right: -80px;
  bottom: auto;
  left: auto;
}
  .ultra-products__decoration--baltan {
    width: 132px;
    top: 54px;
    left: -120px;
  }
}

@media screen and (max-width: 767px) {

	.br-pc {
		display: none;
	}
	.br-sp {
		display: block;
	}

  .ultraman-lp {
    background-size: 900px auto;
  }
.ultra-planet--blue-a,
.ultra-planet--green-a,
.ultra-planet--beige-a,
.ultra-planet--beige-b,
.ultra-planet--green-b,
.ultra-planet--pink-b,
.ultra-planet--beige-c,
.ultra-planet--green-c,
.ultra-planet--pink-c,
.ultra-planet--blue-e,
.ultra-planet--blue-c,
.ultra-planet--blue-d,
.ultra-planet--beige-d,
.ultra-planet--ending-left-a,
.ultra-planet--ending-right-a,
.ultra-planet--ending-left-b,
.ultra-planet--ending-right-b {
  display: none;
}

  .ultra-bg-art {
    display: none;
    width: 150px;
  }

  .ultra-bg-art--kaiju-right-a {
    display: block;
    width: 108px;
    top: 700px;
    right: -42px;
  }

  .ultra-intro,
  .ultra-gourmet,
  .ultra-special {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ultra-jr-oshi-tabi {
    margin-top: 24px;
    padding: 30px 16px;
  }

  .ultra-jr-oshi-tabi__heading {
    font-size: clamp(16px, 5.8vw, 18px);
    line-height: 1.4;
  }

  .ultra-jr-oshi-tabi__copy {
    margin-top: 22px;
    font-size: 13px;
    line-height: 1.85;
    text-align: left;
  }

  .ultra-jr-oshi-tabi__visuals {
    grid-template-columns: minmax(0, min(300px, 100%));
    gap: 10px;
  }

  .ultra-jr-oshi-tabi__button {
    width: min(320px, 100%);
    margin-top: 30px;
  }

  .ultra-gourmet {
    margin-top: 24px;
	padding-top: 30px;
	padding-bottom: 30px;
  }

  .ultra-special {
    margin-top: 24px;
	padding-top: 30px;
	padding-bottom: 30px;
  }

  .ultra-intro {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .ultra-intro p,
  .ultra-section-title p {
    font-size: 15px;
    line-height: 1.9;
	text-align: left;
  }

  .ultra-special > .ultra-section-title p {
	font-size: 15px;
	line-height: 1.9;
  }

  .ultra-section-title + .ultra-theme {
    margin-top: 30px;
  }
	.ultra-theme {
		margin: 20px auto 0;
	}
  .ultra-intro__links {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 20px;
	width: 80%;
  }

  .ultra-theme__shell {
    width: calc(100vw - 32px);
    padding: 24px 18px 22px;
    border-radius: 20px;
  }

  .ultra-theme__heading {
    min-height: 80px;
    margin-bottom: 10px;
  }

  .ultra-theme__character {
    width: 96px;
    top: -34px;
    right: -24px;
  }

  .ultra-theme__title-image {
    width: 90%;
  }

  .ultra-theme--theme02 .ultra-theme__title-image {
    width: 80%;
  }

  .ultra-theme--theme03 .ultra-theme__title-image {
    width: 75%;
  }

  .ultra-theme--theme03 .ultra-theme__heading {
    min-height: 105px;
    margin-bottom: 12px;
  }

  .ultra-theme--theme02 .ultra-theme__character {
    width: 84px;
    top: 6px;
    right: auto;
    left: -25px;
  }

  .ultra-theme--theme03 .ultra-theme__character {
	width: 94px;
	top: -8px;
	right: -26px;
  }

  .ultra-menu-card__media,
  .ultra-menu-card__comment {
    width: 100%;
  }

  .ultra-menu-card__floor,
  .ultra-menu-card__shop {
    font-size: 15px;
  }

  .ultra-menu-card__meta {
    display: block;
    width: 100%;
    font-size: 16px;
    white-space: normal;
  }

  .ultra-menu-card__name {
    font-size: 26px;
  }

  .ultra-menu-card__price {
    font-size: 16px;
  }

  .ultra-menu-card__comment {
	padding: 18px;
    font-size: 13px;
    line-height: 1.7;
  }

  .ultra-carousel__counter {
    min-height: 25px;
    font-size: 12px;
  }

  .ultra-carousel__button {
    width: 46px;
    height: 46px;
  }

  .ultra-carousel__button--prev { left: -10px; }
  .ultra-carousel__button--next { right: -10px; }

  .ultra-products {
    width: calc(100vw - 32px);
    margin-top: 20px;
    border-radius: 20px;
    padding: 30px 16px 50px;
  }

  .ultra-products__heading img {
    width: min(100%, 300px);
  }

  .ultra-products__intro {
    margin-top: 22px;
  }

  .ultra-products__lead {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
  }

  .ultra-products__period {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
  }

  .ultra-products__list {
    margin-top: 28px;
  }

  /* .ultra-product-card {
    padding-bottom: 20px;
  } */

  .ultra-product-card + .ultra-product-card {
    margin-top: 20px;
	padding-top: 20px;
  }

  /* .ultra-product-card:last-child {
    padding-bottom: 30px;
  } */

  .ultra-product-card__image {
    width: min(100%, 300px);
  }

  .ultra-product-card__body {
    margin-top: 18px;
  }

  .ultra-product-card__shops {
    margin-bottom: 10px;
  }

  .ultra-product-card__shops-title {
    margin-bottom: 3px;
    font-size: 14px;
    font-weight: 700;
  }

  .ultra-product-card__meta {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.7;
  }

  .ultra-product-card__name {
    margin-top: 10px;
    font-size: clamp(18px, 5.33vw, 21px);
    font-weight: 800;
    line-height: 1.5;
  }

  .ultra-product-card__price {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
  }

  .ultra-product-card__comment {
    width: min(100%, 300px);
    margin-top: 18px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
	text-align: left;
  }

  .ultra-products__decoration {
    width: 64px;
  }

  .ultra-products__decoration--pigmon,
  .ultra-products__decoration--kanegon-left {
    top: auto;
	bottom: -90px;
	left: -17px;
	width: 58px;
  }

.ultra-products__decoration--pigmon-right {
  width: 64px;
  top: auto;
  right: -10px;
  bottom: -66px;
  left: auto;
}

  .ultra-products__decoration--kanegon,
.ultra-products__decoration--baltan-right {
  top: auto;
  bottom: -66px;
  right: -10px;
  width: 64px;
}

  .ultra-products__decoration--baltan {
    top: auto;
	bottom: -80px;
	left: -6px;
	width: 70px;
  }

  .ultra-bonus__box,
  .ultra-event-box {
    padding: 20px 18px;
    border-radius: 20px;
  }
  .ultra-bonus {
	margin: 60px auto 0;
  }

  .ultra-bonus,
  .ultra-event-box {
    width: calc(100vw - 32px);
  }

  .ultra-event-box {
    margin-top: 50px;
  }
    .ultra-bonus__stickers {
        flex-direction: column;
        gap: 15px;
		margin: 15px auto;
    }

    .ultra-bonus__stickers p {
        display: flex;
        align-items: center;
        gap: 15px;
        text-align: left;
	    font-size: 13px;
		width: 100%;
	}

    .ultra-bonus__stickers p img {
        width: 140px;
        height: auto;
        flex-shrink: 0;
    }
	.ultra-note {
		margin-top: 20px;
		text-align: center;
	}
	
  .ultra-prizes {
	gap: 10px;
    max-width: 290px;
  }

  .ultra-prizes img {
    width: min(290px, 100%);
  }

	.shop-rally-detail-button,
	.greeting-event-detail-button {
		display: block;
		width: min(100%, 360px);
		margin: 30px auto 0;
	}

	.shop-rally-detail-button img,
	.greeting-event-detail-button img {
		display: block;
		width: 100%;
		height: auto;
	}
  .ultra-event-box h3 {
    font-size: 22px;
	text-align: left;
  }

  .ultra-event-box__title {
    max-width: 86%;
    margin: -42px auto 16px;
  }

  .ultra-campaign-lead,
  .ultra-greeting .ultra-event-box__copy {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.65;
	text-align: left;
  }

  .ultra-prizes span {
    font-size: 12.4px;
  }

  .ultra-event-box + .ultra-event-box {
    margin-top: 50px;
  }

  .ultra-note--campaign + .ultra-event-box {
    margin-top: 120px;
  }

  .ultra-flow {
    font-size: 13px;
    padding-inline: 16px;
  }

  .ultra-footer-art__notice {
    padding: 20px;
	margin-top: 24px;
  }
}

@media screen and (max-width: 360px) {
  .ultra-theme--theme01 .ultra-theme__title-image { width: 76%; }
  .ultra-theme--theme02 .ultra-theme__title-image { width: 74%; }
  .ultra-theme--theme03 .ultra-theme__title-image { width: 76%; }
  .ultra-theme__character { width: 88px; }
  .ultra-menu-card__name {
    font-size: 21px;
  }
  .ultra-products {
    width: calc(100vw - 32px);
    padding-left: 14px;
    padding-right: 14px;
  }
  .ultra-products__decoration--baltan {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ultraman-lp__space::before,
  .ultraman-lp__space::after,
  .ultra-planet,
  .ultra-bg-art,
  .ultra-carousel__viewport,
  .ultra-carousel__track,
  .js .js-reveal {
    animation: none !important;
    transition: none !important;
  }
  .js .js-reveal {
    opacity: 1;
    transform: none;
  }
}
