* {
  color: #231814;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  list-style-type: none;
  box-sizing: border-box;
  text-decoration: none;
  scroll-behavior: smooth;
}

@keyframes key-visual-pc {
  0% {
    transform: none;
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: none;
  }
}
@keyframes key-visual-sp {
  0% {
    transform: none;
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: none;
  }
}
.key-visual {
  width: 100%;
  max-height: 100svh;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .key-visual {
    max-height: none;
  }
}
@media screen and (min-width: 1920px) {
  .key-visual {
    max-height: 100svh;
  }
}
.key-visual__logo {
  width: 20.2604166667vw;
  height: 6.9791666667vw;
  margin-right: auto;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .key-visual__logo {
    display: none;
  }
}
.key-visual__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.key-visual__content {
  max-width: 100%;
  height: fit-content;
  max-height: calc(100dvh - 11.1458333333vw);
  padding: 0 1vw;
  margin: 0 auto;
  position: relative;
  aspect-ratio: 3354/1738;
}
@media screen and (max-width: 768px) {
  .key-visual__content {
    max-height: none;
    padding: 0;
    aspect-ratio: 670/1028;
  }
}
.key-visual__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .key-visual__heading {
    padding: 14.9333333333vw 0 2.1333333333vw;
  }
}
.key-visual__heading::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-image: url("/assets/images/key-visual/background-image-pc.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  top: 10%;
  left: 2%;
  transform: scale(1.44);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .key-visual__heading::before {
    background-image: url("/assets/images/key-visual/background-image-sp.png");
    transform: scale(1.3);
    top: 13%;
    left: -10.5%;
  }
}
.key-visual__heading picture {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.key-visual__heading img {
  width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__heading img {
    width: 100%;
    height: 100%;
    max-height: auto;
  }
}
.key-visual__date {
  width: 13.3125%;
  aspect-ratio: 1;
  position: absolute;
  margin: auto;
  top: 9%;
  right: 26%;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .key-visual__date {
    width: 31.25%;
    top: 34%;
    right: 8%;
  }
}
.key-visual__date img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.key-visual__text {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4.1666666667vw;
  background-color: #e0061b;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .key-visual__text {
    flex-direction: column;
    align-items: stretch;
    gap: 1.6vw;
    height: 21.3333333333vw;
    padding: 0 0.5333333333vw 0 4.2666666667vw;
  }
}
.key-visual__credit {
  color: #ffffff;
  font-size: 1.25vw;
  font-weight: 700;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .key-visual__credit {
    font-size: 2.9333333333vw;
  }
}
.key-visual__announce {
  color: #ffffff;
  font-size: 2.0833333333vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .key-visual__announce {
    font-size: 3.7333333333vw;
  }
}
.key-visual__image--1 {
  width: 30.5%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: -35%;
  left: -4%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--1 {
    width: 36.25%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--1 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--1 {
    top: 2%;
    left: -9%;
  }
}
.key-visual__image--2 {
  width: 10.5%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: 22%;
  left: -4%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--2 {
    width: 17.5%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--2 {
    top: 73%;
    left: -5%;
  }
}
.key-visual__image--3 {
  width: 12.5%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: 15%;
  left: 22%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--3 {
    width: 23.75%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--3 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--3 {
    top: 37%;
    left: -12%;
  }
}
.key-visual__image--4 {
  width: 12%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: -10%;
  right: 18%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--4 {
    width: 0%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--4 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--4 {
    display: none;
  }
}
.key-visual__image--5 {
  width: 13.75%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: 28%;
  right: 17%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--5 {
    width: 25%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--5 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--5 {
    top: 44%;
    left: 83%;
  }
}
.key-visual__image--6 {
  width: 26.25%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  position: absolute;
  animation-name: key-visual-pc;
  animation-duration: 1700ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  top: -17%;
  right: -10%;
}
@media screen and (max-width: 768px) {
  .key-visual__image--6 {
    width: 40%;
    animation-name: key-visual-sp;
  }
}
.key-visual__image--6 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .key-visual__image--6 {
    top: -5%;
    left: 70%;
  }
}

.navigation {
  background-color: #e0061b;
  border-bottom-left-radius: 1.3541666667vw;
  box-shadow: 0.2604166667vw 0.2604166667vw 0 #ffffff;
  padding: 1.0416666667vw 3.3333333333vw;
  z-index: 10;
  position: fixed;
  inset: 0 0 auto auto;
}
@media screen and (max-width: 768px) {
  .navigation {
    padding: 2.6666666667vw 5.3333333333vw;
    box-shadow: 1.3333333333vw 1.3333333333vw 0 #ffffff;
    border-bottom-left-radius: 3.7333333333vw;
  }
}
.navigation__list {
  display: flex;
  gap: 4.1666666667vw;
}
@media screen and (max-width: 768px) {
  .navigation__list {
    gap: 11.7333333333vw;
  }
}
.navigation__item:not(:last-child) {
  display: flex;
  align-items: center;
  position: relative;
}
.navigation__item:not(:last-child)::after {
  content: "";
  display: block;
  width: 0.0520833333vw;
  height: 2.0833333333vw;
  background-color: #ffffff;
  position: absolute;
  right: -2.0833333333vw;
}
@media screen and (max-width: 768px) {
  .navigation__item:not(:last-child)::after {
    width: 0.5333333333vw;
    height: 5.8666666667vw;
    right: -5.8666666667vw;
  }
}
.navigation__link {
  color: #ffffff;
  font-size: 1.6666666667vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .navigation__link {
    font-size: 4.2666666667vw;
  }
}

.main {
  width: 100%;
  overflow-x: hidden;
}
.main__contents {
  width: 51.5625vw;
  margin: 2.0833333333vw auto 0;
  padding: 0 1.3020833333vw 5.4166666667vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main__contents {
    max-width: 89.3333333333vw;
    width: 100%;
    padding: 0;
  }
}
.main__contents::before {
  content: "";
  display: block;
  width: 16.6666666667vw;
  position: absolute;
  background-image: url("../assets/images/line-left.svg");
  background-repeat: no-repeat;
  background-size: contain;
  inset: 3.9583333333vw auto 0 -18.75vw;
}
@media screen and (max-width: 768px) {
  .main__contents::before {
    display: none;
  }
}
.main__contents::after {
  content: "";
  display: block;
  width: 16.6666666667vw;
  position: absolute;
  background-image: url("../assets/images/line-right.svg");
  background-repeat: no-repeat;
  background-size: contain;
  inset: 3.9583333333vw -18.75vw 0 auto;
}
@media screen and (max-width: 768px) {
  .main__contents::after {
    display: none;
  }
}

.stage {
  padding-top: 10.4166666667vw;
}
@media screen and (max-width: 768px) {
  .stage {
    padding-top: 20.8vw;
  }
  .stage::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 31.2vw;
    background-image: url("../assets/images/background-sp-01.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    inset: -5.3333333333vw auto auto auto;
  }
}
.stage__heading {
  padding-right: 7.9166666667vw;
  display: flex;
  justify-content: flex-end;
  background-color: #e0061b;
  height: 3.3333333333vw;
  position: relative;
  border-radius: 9999px;
}
@media screen and (max-width: 768px) {
  .stage__heading {
    height: 9.6vw;
  }
}
.stage__heading span {
  color: #ffffff;
  font-size: 2.2916666667vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .stage__heading span {
    font-size: 6.9333333333vw;
  }
}
.stage__heading figure svg {
  position: absolute;
  width: 20.2604166667vw;
  height: fit-content;
  inset: auto auto 0vw 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .stage__heading figure svg {
    width: 36.5333333333vw;
    bottom: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .stage__heading {
    padding-right: 14.9333333333vw;
  }
}
.stage__heading::before {
  content: "";
  display: block;
  width: 3.75vw;
  height: 12.0833333333vw;
  background-image: url("../assets/images/heading-drink-stage.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  inset: auto 1.6666666667vw 0 auto;
  transform: rotateZ(20deg);
}
@media screen and (max-width: 768px) {
  .stage__heading::before {
    width: 7.4666666667vw;
    height: 24vw;
  }
}
.stage__heading::after {
  content: "";
  display: block;
  width: 20.2083333333vw;
  height: 7.9166666667vw;
  background-image: url("../assets/images/heading-text-stage.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  inset: auto auto 0.1041666667vw 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .stage__heading::after {
    width: 36.2666666667vw;
    height: 14.4vw;
    inset: auto auto 4.2666666667vw 2.1333333333vw;
  }
}
.stage__dance__content {
  display: flex;
  gap: 2.5vw;
  padding-top: 1.4583333333vw;
}
@media screen and (max-width: 768px) {
  .stage__dance__content {
    flex-direction: column-reverse;
    align-items: center;
    gap: 0;
    margin-bottom: 4.8vw;
    padding-top: 4.2666666667vw;
    padding-right: 5.6vw;
    padding-left: 5.6vw;
  }
}
.stage__dance__heading {
  color: #e0061b;
  font-size: 2.5vw;
  font-weight: 900;
  margin: 1.25vw 0;
}
@media screen and (max-width: 768px) {
  .stage__dance__heading {
    font-size: 5.8666666667vw;
    margin-top: 0.5333333333vw;
    margin-bottom: 2.4vw;
  }
}
.stage__dance__text {
  width: 100%;
  font-size: 1.25vw;
  line-height: 2.1875vw;
}
@media screen and (max-width: 768px) {
  .stage__dance__text {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
  }
}
.stage__dance__image {
  flex: none;
  width: 17.0833333333vw;
  height: 17.0833333333vw;
  border-radius: 9999px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .stage__dance__image {
    width: 40vw;
    height: 40vw;
  }
}
.stage__dance__image img {
  width: 100%;
  height: 100%;
}
.stage__guest {
  margin-top: -1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .stage__guest {
    padding-right: 5.6vw;
    padding-left: 5.6vw;
  }
}
.stage__guest__heading {
  color: #e0061b;
  font-size: 2.5vw;
  font-weight: 900;
  margin: 0 0 1.25vw;
}
@media screen and (max-width: 768px) {
  .stage__guest__heading {
    font-size: 5.8666666667vw;
    margin-bottom: 3.2vw;
  }
}
.stage__guest__container {
  display: flex;
  gap: 1.0416666667vw;
  background-image: url("../assets/images/background-image-guest.png");
  background-repeat: no-repeat;
  background-position: bottom right 0.8333333333vw;
  background-size: 7.9166666667vw;
}
@media screen and (max-width: 768px) {
  .stage__guest__container {
    flex-direction: column;
    gap: 2.6666666667vw;
    background-position: bottom right 4.2666666667vw;
    background-size: 17.0666666667vw;
  }
}
.stage__guest__main {
  width: 18.3333333333vw;
  height: 15vw;
  border-radius: 0.3125vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #320b0c;
}
.stage__guest__main svg {
  width: 11.0416666667vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .stage__guest__main svg {
    width: 25.3333333333vw;
  }
}
.stage__guest__main img {
  width: 11.0416666667vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .stage__guest__main img {
    width: 12.8vw;
  }
}
@media screen and (max-width: 768px) {
  .stage__guest__main {
    width: 100%;
    height: 21.8666666667vw;
    border-radius: 1.6vw;
  }
}
.stage__guest__sub {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 7.9166666667vw);
  gap: 2.5vw 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .stage__guest__sub {
    width: 100%;
    grid-template-rows: auto;
    gap: 2.6666666667vw;
  }
}
.stage__guest__sub figure {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #320b0c;
  border-radius: 0.3125vw;
}
.stage__guest__sub figure svg {
  width: 7.0833333333vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .stage__guest__sub figure svg {
    width: 25.3333333333vw;
  }
}
.stage__guest__sub figure img {
  width: 7.0833333333vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .stage__guest__sub figure img {
    width: 12.8vw;
  }
}
@media screen and (max-width: 768px) {
  .stage__guest__sub figure {
    width: auto;
    height: 21.8666666667vw;
    border-radius: 1.6vw;
  }
}

.food {
  padding-top: 12.9166666667vw;
}
@media screen and (max-width: 768px) {
  .food {
    position: relative;
    padding-top: 40.5333333333vw;
  }
  .food::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 31.2vw;
    background-image: url("../assets/images/background-sp-02.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    inset: 2.6666666667vw auto auto auto;
  }
  .food::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 31.2vw;
    background-image: url("../assets/images/background-sp-03.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    inset: auto auto -34.6666666667vw auto;
  }
}
.food__heading {
  padding-right: 2.5vw;
  display: flex;
  justify-content: flex-end;
  background-color: #e0061b;
  height: 3.3333333333vw;
  position: relative;
  border-radius: 9999px;
}
@media screen and (max-width: 768px) {
  .food__heading {
    height: 9.6vw;
  }
}
.food__heading span {
  color: #ffffff;
  font-size: 2.2916666667vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .food__heading span {
    font-size: 6.9333333333vw;
  }
}
.food__heading figure svg {
  position: absolute;
  width: 20.2604166667vw;
  height: fit-content;
  inset: auto auto 1.4583333333vw 4.6875vw;
}
@media screen and (max-width: 768px) {
  .food__heading figure svg {
    width: 36.5333333333vw;
    bottom: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .food__heading {
    display: flex;
    justify-content: flex-end;
    background-color: #e0061b;
    height: 3.3333333333vw;
    position: relative;
    border-radius: 9999px;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .food__heading {
    height: 9.6vw;
  }
}
@media screen and (max-width: 768px) {
  .food__heading span {
    color: #ffffff;
    font-size: 2.2916666667vw;
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .food__heading span {
    font-size: 6.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .food__heading figure svg {
    position: absolute;
    width: 20.2604166667vw;
    height: fit-content;
    inset: auto auto 1.4583333333vw 9.375vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .food__heading figure svg {
    width: 36.5333333333vw;
    bottom: 3.7333333333vw;
  }
}
.food__heading::before {
  content: "";
  display: block;
  width: 3.3333333333vw;
  height: 11.25vw;
  background-image: url("../assets/images/heading-drink-food.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  inset: auto auto 0 0.8333333333vw;
  transform: rotateZ(347.72deg);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .food__heading::before {
    width: 7.7333333333vw;
    height: 24.2666666667vw;
  }
}
.food__heading::after {
  content: "";
  display: block;
  width: 17.9166666667vw;
  height: 6.25vw;
  background-image: url("../assets/images/heading-text-food.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  inset: auto auto 1.4583333333vw 5.625vw;
}
@media screen and (max-width: 768px) {
  .food__heading::after {
    width: 32.5333333333vw;
    height: 11.2vw;
    inset: auto auto 5.3333333333vw 11.7333333333vw;
  }
}
.food__content {
  width: 41.6666666667vw;
  margin: 2.9166666667vw auto 3.3333333333vw;
  border: 0.5208333333vw solid #e0061b;
  border-radius: 1.0416666667vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .food__content {
    width: 78.4vw;
    margin: 5.3333333333vw auto 8.5333333333vw;
    border: 0.8vw solid #e0061b;
    border-radius: 5.3333333333vw;
  }
}
.food__sub-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.4791666667vw;
  color: #ffffff;
  background-color: #e0061b;
  font-size: 2.2916666667vw;
  font-weight: 900;
  padding-bottom: 0.5208333333vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .food__sub-heading {
    justify-content: flex-start;
    text-align: left;
    height: 23.2vw;
    font-size: 5.8666666667vw;
    padding-bottom: 3.4666666667vw;
    padding-left: 3.2vw;
  }
}
.food__content-text {
  display: flex;
  flex-direction: column;
  gap: 1.3020833333vw;
  font-size: 1.25vw;
  font-weight: 700;
  text-align: center;
  padding: 1.6666666667vw;
}
@media screen and (max-width: 768px) {
  .food__content-text {
    gap: 3.4666666667vw;
    font-size: 4.2666666667vw;
    padding: 3.4666666667vw;
  }
}
.food__image-container {
  display: flex;
  justify-content: center;
  gap: 5.4166666667vw;
}
@media screen and (max-width: 768px) {
  .food__image-container {
    gap: 6.9333333333vw;
  }
}
.food__image {
  width: 11.25vw;
  height: 11.25vw;
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #320b0c;
}
.food__image svg {
  width: 7.0833333333vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .food__image svg {
    width: 25.3333333333vw;
  }
}
.food__image img {
  width: 7.0833333333vw;
  transform: rotate(348deg);
}
@media screen and (max-width: 768px) {
  .food__image img {
    width: 12.8vw;
  }
}
@media screen and (max-width: 768px) {
  .food__image {
    width: 30.4vw;
    height: 30.4vw;
  }
}
.food__announce {
  font-size: 2.1875vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .food__announce {
    font-size: 6.9333333333vw;
  }
}

.message {
  width: 40.8333333333vw;
  margin: 7.0833333333vw auto 0;
}
@media screen and (max-width: 768px) {
  .message {
    width: 78.4vw;
    margin-top: 40vw;
    margin-bottom: 6.6666666667vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.message img {
  width: 100%;
}

.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20.8333333333vw;
  margin-top: -1.25vw;
  background-image: url("../assets/images/background-image-footer.png");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .footer {
    height: 68.5333333333vw;
    background-image: url("../assets/images/background-image-footer-sp.png");
  }
}
.footer__copyright {
  width: 20.8333333333vw;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    width: 47.2vw;
  }
}

.pc-visible {
  display: initial;
}
@media screen and (max-width: 768px) {
  .pc-visible {
    display: none;
  }
}

.sp-visible {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-visible {
    display: initial;
  }
}