@charset "UTF-8";
ul,
ol,
li,
dl,
dt,
dd,
figure,
figcaption,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}

img {
  width: 100%;
  height: auto;
}

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "M PLUS 2", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-overflow-scrolling: auto;
  width: 100%;
  color: #000;
}
@media screen and (max-width: 767px) {
  body {
    width: 100%;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

@media screen and (min-width: 48em) {
  body {
    background-image: url("../img/bgPc.png");
    background-size: contain;
    background-position: center top;
    background-repeat: repeat;
  }
}

header {
  height: 15.3846153846vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4.1025641026vw;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #fff;
}
@media screen and (min-width: 48em) {
  header {
    width: 640px;
    margin: 0 auto;
    height: 98.4615384615px;
    padding: 0 26.2564102564px;
  }
}
header p {
  width: auto;
  height: 5.2564102564vw;
}
@media screen and (min-width: 48em) {
  header p {
    height: 33.641025641px;
  }
}
header p img {
  width: auto;
  height: 100%;
}
header .menuBtn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 9.7435897436vw;
  height: 9.7435897436vw;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  gap: 1.2820512821vw;
  position: absolute;
  right: 3.0769230769vw;
  z-index: 1000;
}
@media screen and (min-width: 48em) {
  header .menuBtn {
    width: 62.358974359px;
    height: 62.358974359px;
    gap: 8.2051282051px;
    right: 19.6923076923px;
  }
}
header .menuBtn span {
  display: block;
  width: 6.9230769231vw;
  height: 0.5128205128vw;
  background-color: #000;
  transition: all 0.2s ease;
}
@media screen and (min-width: 48em) {
  header .menuBtn span {
    width: 44.3076923077px;
    height: 3.2820512821px;
  }
}
header .menuBtn span:nth-of-type(1) {
  transform-origin: center;
}
header .menuBtn span:nth-of-type(2) {
  transform-origin: center;
}
header .menuBtn span:nth-of-type(3) {
  transform-origin: center;
}
header .menuBtn.active span:nth-of-type(1) {
  transform: translateY(1.7948717949vw) rotate(45deg);
}
@media screen and (min-width: 48em) {
  header .menuBtn.active span:nth-of-type(1) {
    transform: translateY(11.4871794872px) rotate(45deg);
  }
}
header .menuBtn.active span:nth-of-type(2) {
  opacity: 0;
  transform: scaleX(0);
}
header .menuBtn.active span:nth-of-type(3) {
  transform: translateY(-1.7948717949vw) rotate(-45deg);
}
@media screen and (min-width: 48em) {
  header .menuBtn.active span:nth-of-type(3) {
    transform: translateY(-11.4871794872px) rotate(-45deg);
  }
}
header .menu {
  height: 100svh;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: all 0.3s ease;
  padding-top: 24.358974359vw;
  text-align: center;
  background-image: url("../img/bg03.png");
  background-size: 100% auto;
  background-position: center 15.3846153846vw;
  background-repeat: no-repeat;
  transform: translateY(-100svh);
  overflow: hidden;
  padding-bottom: 10.2564102564vw;
}
@media screen and (min-width: 48em) {
  header .menu {
    padding-top: 155.8974358974px;
    background-position: center 98.4615384615px;
    padding-bottom: 65.641025641px;
  }
}
header .menu.is-open {
  transform: translateY(0);
  overflow: scroll;
}
header .menu .gNavi dt {
  font-size: 4.1025641026vw;
  line-height: 1.5;
  font-weight: 800;
  text-align: center;
  color: #DF3800;
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dt {
    font-size: 26.2564102564px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dt {
    font-size: 26.2564102564px;
    line-height: 1.5;
  }
}
header .menu .gNavi dt span {
  display: block;
  font-size: 7.1794871795vw;
  line-height: 1.5;
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dt span {
    font-size: 45.9487179487px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dt span {
    font-size: 45.9487179487px;
    line-height: 1.5;
  }
}
header .menu .gNavi dd ul {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 7.1794871795vw;
  display: flex;
  flex-direction: column;
  gap: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dd ul {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dd ul {
    margin-top: 45.9487179487px;
    gap: 19.6923076923px;
  }
}
header .menu .gNavi dd ul li a {
  font-size: 4.6153846154vw;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-weight: 700;
  border-radius: 3.0769230769vw;
  height: 15.3846153846vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dd ul li a {
    font-size: 29.5384615385px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .gNavi dd ul li a {
    font-size: 29.5384615385px;
    line-height: 1;
    border-radius: 19.6923076923px;
    height: 98.4615384615px;
  }
}
header .menu .gNavi dd ul li:nth-of-type(1) a {
  background-color: #3ACBB7;
}
header .menu .gNavi dd ul li:nth-of-type(2) a {
  background-color: #62BFEB;
}
header .menu .gNavi dd ul li:nth-of-type(3) a {
  background-color: #F8958B;
}
header .menu .gNavi dd ul li:nth-of-type(4) a {
  background-color: #898989;
}
header .menu .share {
  width: 91.7948717949vw;
  margin: 0 auto;
  background-color: #FDF7EC;
  border-radius: 2.0512820513vw;
  margin-top: 4.1025641026vw;
  padding: 2.0512820513vw 0;
  display: flex;
  flex-direction: column;
  gap: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  header .menu .share {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .share {
    border-radius: 13.1282051282px;
    margin-top: 26.2564102564px;
    padding: 13.1282051282px 0;
    gap: 13.1282051282px;
  }
}
header .menu .share dt {
  font-size: 3.0769230769vw;
  line-height: 1.25;
}
@media screen and (min-width: 48em) {
  header .menu .share dt {
    font-size: 19.6923076923px;
  }
}
@media screen and (min-width: 48em) {
  header .menu .share dt {
    font-size: 19.6923076923px;
    line-height: 1.25;
  }
}
header .menu .share dd ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.6153846154vw;
}
@media screen and (min-width: 48em) {
  header .menu .share dd ul {
    gap: 29.5384615385px;
  }
}
header .menu .share dd ul li a {
  display: block;
  width: 12.3076923077vw;
  height: 12.3076923077vw;
}
@media screen and (min-width: 48em) {
  header .menu .share dd ul li a {
    width: 78.7692307692px;
    height: 78.7692307692px;
  }
}
header .menu .share dd ul li a img {
  width: auto;
  height: 100%;
}
header .menu .share + .nav {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  header .menu .share + .nav {
    margin-top: 26.2564102564px;
  }
}

main {
  background-image: url("../img/bg01.png");
  background-size: contain;
  background-position: center 141.0256410256vw;
  background-repeat: no-repeat;
  background-color: #fff;
}
@media screen and (min-width: 48em) {
  main {
    background-position: center 902.5641025641px;
    width: 640px;
    margin: 0 auto;
  }
}
main .mainVisual {
  padding-top: 15.3846153846vw;
}
@media screen and (min-width: 48em) {
  main .mainVisual {
    padding-top: 98.4615384615px;
  }
}
main .mainVisual + .nav {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 48em) {
  main .mainVisual + .nav {
    margin-top: 32.8205128205px;
  }
}
main .share {
  width: 91.7948717949vw;
  margin: 0 auto;
  background-color: #FDF7EC;
  border-radius: 2.0512820513vw;
  margin-top: 4.1025641026vw;
  padding: 2.0512820513vw 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main .share {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main .share {
    border-radius: 13.1282051282px;
    margin-top: 26.2564102564px;
    padding: 13.1282051282px 0;
    gap: 26.2564102564px;
  }
}
main .share dt {
  font-size: 3.0769230769vw;
  line-height: 1.25;
}
@media screen and (min-width: 48em) {
  main .share dt {
    font-size: 19.6923076923px;
  }
}
@media screen and (min-width: 48em) {
  main .share dt {
    font-size: 19.6923076923px;
    line-height: 1.25;
  }
}
main .share dd ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main .share dd ul {
    gap: 19.6923076923px;
  }
}
main .share dd ul li a {
  display: block;
  width: 8.2051282051vw;
  height: 8.2051282051vw;
}
@media screen and (min-width: 48em) {
  main .share dd ul li a {
    width: 52.5128205128px;
    height: 52.5128205128px;
  }
}
main .share dd ul li a img {
  width: auto;
  height: 100%;
}
main .share + .nav {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main .share + .nav {
    margin-top: 26.2564102564px;
  }
}
main .nav nav {
  width: 91.7948717949vw;
  margin: 0 auto;
}
@media screen and (min-width: 48em) {
  main .nav nav {
    width: 587.4871794872px;
  }
}
main .nav nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5641025641vw;
}
@media screen and (min-width: 48em) {
  main .nav nav ul {
    gap: 16.4102564103px;
  }
}
main .nav nav ul li {
  height: 20.5128205128vw;
  border-radius: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main .nav nav ul li {
    border-radius: 19.6923076923px;
    height: 131.2820512821px;
  }
}
main .nav nav ul li a {
  width: 100%;
  height: 100%;
  font-size: 4.6153846154vw;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: 700;
}
@media screen and (min-width: 48em) {
  main .nav nav ul li a {
    font-size: 29.5384615385px;
  }
}
@media screen and (min-width: 48em) {
  main .nav nav ul li a {
    font-size: 29.5384615385px;
    line-height: 1.5;
  }
}
main .nav nav ul li a span {
  display: block;
  font-size: 3.0769230769vw;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  main .nav nav ul li a span {
    font-size: 19.6923076923px;
  }
}
@media screen and (min-width: 48em) {
  main .nav nav ul li a span {
    font-size: 19.6923076923px;
    line-height: 1;
  }
}
main .nav nav ul li:nth-child(1) {
  background-color: #3ACBB7;
}
main .nav nav ul li:nth-child(2) {
  background-color: #62BFEB;
}
main .nav nav ul li:nth-child(3) {
  background-color: #F8958B;
}
main .nav nav ul li.current:nth-child(2) {
  background-color: #0A6493;
}
main .nav nav ul li.current:nth-child(3) {
  background-color: #BA2A1A;
}
main #how {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 12.3076923077vw;
}
@media screen and (min-width: 48em) {
  main #how {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #how {
    margin-top: 78.7692307692px;
  }
}
main #how h2 {
  color: #DF3800;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 48em) {
  main #how h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #how h2 {
    font-size: 32.8205128205px;
    line-height: 1.5;
  }
}
main #how h2 span {
  display: block;
  font-size: 4.1025641026vw;
  line-height: 1.5;
}
@media screen and (min-width: 48em) {
  main #how h2 span {
    font-size: 26.2564102564px;
  }
}
@media screen and (min-width: 48em) {
  main #how h2 span {
    font-size: 26.2564102564px;
    line-height: 1.5;
  }
}
main #how img {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 48em) {
  main #how img {
    margin-top: 32.8205128205px;
  }
}
main #how p {
  text-align: center;
  font-size: 3.5897435897vw;
  line-height: 1.6;
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #how p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #how p {
    font-size: 22.9743589744px;
    line-height: 1.6;
    margin-top: 26.2564102564px;
  }
}
main #how p + p {
  margin-top: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #how p + p {
    margin-top: 13.1282051282px;
  }
}
main #how p:nth-of-type(2) {
  color: #DF3800;
  font-weight: 700;
}
main #how p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  main #how p a:hover {
    text-decoration: none;
  }
}
main #how .info {
  margin-top: 4.1025641026vw;
  background-color: #FDF7EC;
  text-align: center;
  padding: 5.1282051282vw 7.6923076923vw;
}
@media screen and (min-width: 48em) {
  main #how .info {
    margin-top: 26.2564102564px;
    padding: 32.8205128205px 49.2307692308px;
  }
}
main #how .info dl dt {
  color: #EF4F1A;
  font-weight: 700;
  font-size: 3.5897435897vw;
  line-height: 1.6;
  border-bottom: 1px solid #F6CB79;
}
@media screen and (min-width: 48em) {
  main #how .info dl dt {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #how .info dl dt {
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #how .info dl dd {
  margin-top: 1.0256410256vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #how .info dl dd {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #how .info dl dd {
    margin-top: 6.5641025641px;
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #how .info dl + dl {
  margin-top: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #how .info dl + dl {
    margin-top: 13.1282051282px;
  }
}
main .smapeta {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main .smapeta {
    margin-top: 26.2564102564px;
  }
}
main .smapeta a {
  width: 74.358974359vw;
  height: 13.3333333333vw;
  margin: 0 auto;
  border-radius: 10.7692307692vw;
  background: #C61A1A;
  box-shadow: 0 2px 0 0 #D98789;
  display: grid;
  grid-template-columns: 7.1794871795vw auto;
  gap: 2.0512820513vw;
  align-items: center;
  justify-content: center;
  font-size: 4.6153846154vw;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 48em) {
  main .smapeta a {
    font-size: 29.5384615385px;
  }
}
@media screen and (min-width: 48em) {
  main .smapeta a {
    width: 475.8974358974px;
    height: 85.3333333333px;
    border-radius: 68.9230769231px;
    grid-template-columns: 45.9487179487px auto;
    gap: 13.1282051282px;
    font-size: 29.5384615385px;
    line-height: 1;
  }
}
main .smapeta a:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: relative;
}
main .smapeta a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' viewBox='0 0 28 28'%3E%3Cmask id='a' width='28' height='28' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h28v28H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='M4 25.5v-6.765q0-.9.605-1.52a2 2 0 0 1 1.483-.622h15.824q.878 0 1.483.621T24 18.735V25.5zm1.209-4.397H22.79v-2.368q0-.338-.275-.62-.274-.282-.604-.282H6.088q-.33 0-.604.282-.276.282-.275.62zM14 16.593 8.291 8.645v-.282q0-2.45 1.662-4.156Q11.615 2.5 14 2.5t4.047 1.707 1.662 4.156v.282z'/%3E%3C/g%3E%3C/svg%3E");
  aspect-ratio: 1/1;
}
main .facilities {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main .facilities {
    margin-top: 26.2564102564px;
  }
}
main .facilities a {
  width: 74.358974359vw;
  height: 13.3333333333vw;
  margin: 0 auto;
  border-radius: 10.7692307692vw;
  background: #C61A1A;
  box-shadow: 0 2px 0 0 #D98789;
  display: grid;
  grid-template-columns: 7.1794871795vw auto;
  gap: 2.0512820513vw;
  align-items: center;
  justify-content: center;
  font-size: 4.6153846154vw;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 48em) {
  main .facilities a {
    font-size: 29.5384615385px;
  }
}
@media screen and (min-width: 48em) {
  main .facilities a {
    width: 475.8974358974px;
    height: 85.3333333333px;
    border-radius: 68.9230769231px;
    grid-template-columns: 45.9487179487px auto;
    gap: 13.1282051282px;
    font-size: 29.5384615385px;
    line-height: 1;
  }
}
main .facilities a:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: relative;
}
main .facilities a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='17' fill='none' viewBox='0 0 24 17'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23fff' d='M23.847 6.28 20.99.604A1.1 1.1 0 0 0 20.004 0H3.994c-.416 0-.799.235-.986.604L.153 6.28c-.403.605.036 1.41.766 1.41h2.057v8.288c0 .565.46 1.022 1.03 1.022h16.11c.569 0 1.03-.457 1.03-1.022V7.691h1.931c.733 0 1.17-.806.767-1.411zM11.16 13.41H5.963v-5.15h5.197zm7.004 0h-5.197v-5.15h5.197z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h24v17H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 24/17;
}
main .prize {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main .prize {
    margin-top: 26.2564102564px;
  }
}
main .prize a {
  width: 74.358974359vw;
  height: 13.3333333333vw;
  margin: 0 auto;
  border-radius: 10.7692307692vw;
  background: #C61A1A;
  box-shadow: 0 2px 0 0 #D98789;
  display: grid;
  grid-template-columns: 7.1794871795vw auto;
  gap: 2.0512820513vw;
  align-items: center;
  justify-content: center;
  font-size: 4.6153846154vw;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 48em) {
  main .prize a {
    font-size: 29.5384615385px;
  }
}
@media screen and (min-width: 48em) {
  main .prize a {
    width: 475.8974358974px;
    height: 85.3333333333px;
    border-radius: 68.9230769231px;
    grid-template-columns: 45.9487179487px auto;
    gap: 13.1282051282px;
    font-size: 29.5384615385px;
    line-height: 1;
  }
}
main .prize a:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: relative;
}
main .prize a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cg fill='%23fff' clip-path='url(%23a)'%3E%3Cpath d='M1.592 14.39v8.457A1.16 1.16 0 0 0 2.757 24h8.067v-9.61zM21.243 24a1.16 1.16 0 0 0 1.165-1.153V14.39h-9.232V24zM13.176 7.492v4.566H24V8.07a1.16 1.16 0 0 0-1.164-1.153H14.36l5.455-1.802c.614-.203.797-.787.407-1.3L17.603.37c-.389-.512-1.007-.498-1.374.03l-4.243 6.125L7.743.405c-.367-.528-.983-.542-1.374-.03L3.75 3.819c-.39.512-.205 1.097.407 1.3L9.61 6.92H1.164A1.16 1.16 0 0 0 0 8.074v3.989h10.824V7.496h2.352z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h24v24H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 1/1;
}
main #how2 {
  margin-top: 11.2820512821vw;
  background-color: #FBF4E1;
  padding-bottom: 10.2564102564vw;
}
@media screen and (min-width: 48em) {
  main #how2 {
    margin-top: 72.2051282051px;
    padding-bottom: 65.641025641px;
  }
}
main #how2 h2 {
  background-color: #3ACBB7;
  color: #fff;
  padding: 5.1282051282vw 0;
  text-align: center;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  main #how2 h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #how2 h2 {
    padding: 32.8205128205px 0;
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #how2 ol {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 4.1025641026vw;
  display: flex;
  flex-direction: column;
  gap: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #how2 ol {
    margin-top: 26.2564102564px;
    gap: 13.1282051282px;
  }
}
main #how2 ol li {
  background-color: #fff;
  border-radius: 2.0512820513vw;
  padding: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li {
    border-radius: 13.1282051282px;
    padding: 26.2564102564px;
  }
}
main #how2 ol li dl dt {
  color: #EE430B;
  font-weight: 800;
  font-size: 4.1025641026vw;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dt {
    font-size: 26.2564102564px;
  }
}
main #how2 ol li dl dt svg {
  margin-right: 2.0512820513vw;
  width: 8.2051282051vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dt svg {
    margin-right: 13.1282051282px;
    width: 52.5128205128px;
  }
}
main #how2 ol li dl dd {
  margin-top: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dd {
    margin-top: 13.1282051282px;
  }
}
main #how2 ol li dl dd p {
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dd p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dd p {
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #how2 ol li dl dd img {
  margin-bottom: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li dl dd img {
    margin-bottom: 13.1282051282px;
  }
}
main #how2 ol li .member {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member {
    margin-top: 26.2564102564px;
  }
}
main #how2 ol li .member dl dt {
  border-radius: 2.0512820513vw 2.0512820513vw 0 0;
  background: #FAE5BB;
  font-weight: 800;
  font-size: 3.5897435897vw;
  line-height: 1.6;
  padding: 2.0512820513vw 0;
  text-align: center;
  color: #000;
  display: block;
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dt {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dt {
    border-radius: 13.1282051282px 13.1282051282px 0 0;
    padding: 13.1282051282px 0;
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #how2 ol li .member dl dd {
  margin-top: 0;
  border-radius: 0 0 2.0512820513vw 2.0512820513vw;
  border: 1px solid #FAE5BB;
  padding: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dd {
    border-radius: 0 0 13.1282051282px 13.1282051282px;
    padding: 19.6923076923px;
  }
}
main #how2 ol li .member dl dd p {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dd p {
    margin-top: 26.2564102564px;
  }
}
main #how2 ol li .member dl dd .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.1025641026vw;
  line-height: 1;
  font-weight: 700;
  color: #C61A1A;
  text-align: center;
  border: 1px solid #C61A1A;
  height: 13.3333333333vw;
  border-radius: 10.7692307692vw;
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dd .btn a {
    font-size: 26.2564102564px;
  }
}
@media screen and (min-width: 48em) {
  main #how2 ol li .member dl dd .btn a {
    font-size: 26.2564102564px;
    line-height: 1;
    height: 85.3333333333px;
    border-radius: 68.9230769231px;
  }
}
main #prize {
  background-color: #FBF4E1;
  padding-bottom: 10.2564102564vw;
}
@media screen and (min-width: 48em) {
  main #prize {
    padding-bottom: 65.641025641px;
  }
}
main #prize h2 {
  background-color: #62BFEB;
  color: #fff;
  padding: 5.1282051282vw 0;
  text-align: center;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  main #prize h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #prize h2 {
    padding: 32.8205128205px 0;
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #prize p {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 4.1025641026vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #prize p {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #prize p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #prize p {
    margin-top: 26.2564102564px;
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #prize + #detail {
  background-image: url("../img/bg02.png");
  background-size: contain;
  background-position: center 6.4102564103vw;
  background-repeat: no-repeat;
}
@media screen and (min-width: 48em) {
  main #prize + #detail {
    background-position: center 41.0256410256px;
  }
}
main #facilities {
  background-color: #FBF4E1;
  padding-bottom: 10.2564102564vw;
}
@media screen and (min-width: 48em) {
  main #facilities {
    padding-bottom: 65.641025641px;
  }
}
main #facilities h2 {
  background-color: #F8958B;
  color: #fff;
  padding: 5.1282051282vw 0;
  text-align: center;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  main #facilities h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #facilities h2 {
    padding: 32.8205128205px 0;
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #facilities p {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 4.1025641026vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #facilities p {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #facilities p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #facilities p {
    margin-top: 26.2564102564px;
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #facilities + #detail {
  background-image: url("../img/bg02.png");
  background-size: contain;
  background-position: center 6.4102564103vw;
  background-repeat: no-repeat;
}
@media screen and (min-width: 48em) {
  main #facilities + #detail {
    background-position: center 41.0256410256px;
  }
}
main #faq {
  padding-top: 19.2307692308vw;
  background-image: url("../img/bg02.png");
  background-size: contain;
  background-position: center 15.3846153846vw;
  background-repeat: no-repeat;
}
@media screen and (min-width: 48em) {
  main #faq {
    padding-top: 123.0769230769px;
    background-position: center 98.4615384615px;
  }
}
main #faq h2 {
  font-size: 5.1282051282vw;
  line-height: 1;
  text-align: center;
  font-weight: 800;
  color: #DF3800;
}
@media screen and (min-width: 48em) {
  main #faq h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #faq h2 {
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #faq dl {
  width: 85.641025641vw;
  margin: 4.1025641026vw auto;
}
@media screen and (min-width: 48em) {
  main #faq dl {
    width: 548.1025641026px;
    margin: 26.2564102564px auto;
  }
}
main #faq dl dt {
  font-weight: 700;
  font-size: 3.5897435897vw;
  line-height: 1.4;
  counter-increment: num;
  background-color: #FAFAFA;
  padding: 2.0512820513vw 4.1025641026vw;
  display: grid;
  grid-template-columns: auto 1fr 5.1282051282vw;
  cursor: pointer;
}
@media screen and (min-width: 48em) {
  main #faq dl dt {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #faq dl dt {
    font-size: 22.9743589744px;
    line-height: 1.4;
    padding: 13.1282051282px 26.2564102564px;
    grid-template-columns: auto 1fr 32.8205128205px;
  }
}
main #faq dl dt:before {
  content: "Q" counter(num);
  margin-right: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #faq dl dt:before {
    margin-right: 13.1282051282px;
  }
}
main #faq dl dt:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23d9d9d9' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231c1b1f' d='M10 13 5 8h10z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  align-self: center;
}
main #faq dl dt.is-open:after {
  display: none;
}
main #faq dl dd {
  display: none;
  padding: 2.0512820513vw 3.0769230769vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #faq dl dd {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #faq dl dd {
    font-size: 22.9743589744px;
    line-height: 1.6;
    padding: 13.1282051282px 19.6923076923px;
  }
}
main #faq dl dd span {
  margin-top: 2.0512820513vw;
  display: block;
  font-size: 2.5641025641vw;
  line-height: 1.4;
}
@media screen and (min-width: 48em) {
  main #faq dl dd span {
    font-size: 16.4102564103px;
  }
}
@media screen and (min-width: 48em) {
  main #faq dl dd span {
    margin-top: 13.1282051282px;
    font-size: 16.4102564103px;
    line-height: 1.4;
  }
}
main #faq dl dd + dt {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 48em) {
  main #faq dl dd + dt {
    margin-top: 32.8205128205px;
  }
}
main #detail,
main #attention {
  padding-top: 12.3076923077vw;
}
@media screen and (min-width: 48em) {
  main #detail,
  main #attention {
    padding-top: 78.7692307692px;
  }
}
main #detail h2,
main #attention h2 {
  font-size: 5.1282051282vw;
  line-height: 1;
  text-align: center;
  font-weight: 800;
  color: #DF3800;
}
@media screen and (min-width: 48em) {
  main #detail h2,
  main #attention h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #detail h2,
  main #attention h2 {
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #detail p,
main #attention p {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 4.1025641026vw;
  padding: 4.1025641026vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  main #detail p,
  main #attention p {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #detail p,
  main #attention p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #detail p,
  main #attention p {
    margin-top: 26.2564102564px;
    font-size: 22.9743589744px;
    line-height: 1.6;
    padding: 26.2564102564px;
  }
}
main #detail p a,
main #attention p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  main #detail p a:hover,
  main #attention p a:hover {
    text-decoration: none;
  }
}
main #attention {
  padding-bottom: 24.6153846154vw;
}
@media screen and (min-width: 48em) {
  main #attention {
    padding-bottom: 157.5384615385px;
  }
}
main #list {
  margin-top: 12.3076923077vw;
}
@media screen and (min-width: 48em) {
  main #list {
    margin-top: 78.7692307692px;
  }
}
main #list .wrapper {
  padding-bottom: 15.3846153846vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper {
    padding-bottom: 98.4615384615px;
  }
}
main #list .wrapper .tabs {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 5.1282051282vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.0512820513vw 2.8205128205vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs {
    margin-top: 32.8205128205px;
    gap: 13.1282051282px 18.0512820513px;
  }
}
main #list .wrapper .tabs h2 {
  color: #DF3800;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1.5;
  text-align: center;
  width: 100%;
  grid-column: 1/4;
  padding-bottom: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs h2 {
    font-size: 32.8205128205px;
    line-height: 1.5;
    padding-bottom: 19.6923076923px;
  }
}
main #list .wrapper .tabs h2 span {
  display: block;
  font-size: 4.1025641026vw;
  line-height: 1.5;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs h2 span {
    font-size: 26.2564102564px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs h2 span {
    font-size: 26.2564102564px;
    line-height: 1.5;
  }
}
main #list .wrapper .tabs button {
  border-radius: 2.0512820513vw;
  border: 1px solid #FBF4E1;
  background: #FBF4E1;
  font-size: 3.3333333333vw;
  line-height: 1.5384615385;
  text-align: center;
  padding: 2.0512820513vw 0;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs button {
    font-size: 21.3333333333px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .tabs button {
    border-radius: 13.1282051282px;
    padding: 13.1282051282px 0;
    font-size: 21.3333333333px;
    line-height: 1.5384615385;
  }
}
main #list .wrapper .tabs button.active {
  background-color: #FFDA76;
}
main #list .wrapper .filters {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 5.1282051282vw;
  margin-bottom: 7.1794871795vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters {
    margin-top: 32.8205128205px;
    margin-bottom: 45.9487179487px;
  }
}
main #list .wrapper .filters h3 {
  background-color: #FAFAFA;
  padding: 3.0769230769vw 0;
  color: #DF3800;
  font-weight: 800;
  font-size: 4.1025641026vw;
  line-height: 1;
  text-align: center;
  margin-bottom: 2.0512820513vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters h3 {
    font-size: 26.2564102564px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters h3 {
    padding: 19.6923076923px 0;
    font-size: 26.2564102564px;
    line-height: 1;
    margin-bottom: 13.1282051282px;
  }
}
main #list .wrapper .filters div {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0 2.5641025641vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters div {
    gap: 0 16.4102564103px;
  }
}
main #list .wrapper .filters div label {
  padding: 2.0512820513vw 0;
  font-size: 3.3333333333vw;
  line-height: 1;
  display: grid;
  grid-template-columns: 5.1282051282vw 1fr;
  gap: 1.0256410256vw;
  align-items: center;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters div label {
    font-size: 21.3333333333px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .filters div label {
    padding: 13.1282051282px 0;
    font-size: 21.3333333333px;
    line-height: 1;
    grid-template-columns: 32.8205128205px 1fr;
    gap: 6.5641025641px;
  }
}
main #list .wrapper .filters div label input {
  display: none;
}
main #list .wrapper .filters div label:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23d9d9d9' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231c1b1f' d='M4.167 17.5q-.688 0-1.177-.49a1.6 1.6 0 0 1-.49-1.177V4.167q0-.688.49-1.177.489-.49 1.177-.49h11.666q.688 0 1.177.49.49.489.49 1.177v11.666q0 .688-.49 1.177-.489.49-1.177.49zm0-1.667h11.666V4.167H4.167z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
main #list .wrapper .filters div label:has(.filter-check:checked):before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23d9d9d9' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23df3800' d='m8.833 13.5 5.875-5.875-1.166-1.167-4.709 4.709-2.375-2.375-1.166 1.166zm-4.666 4q-.688 0-1.177-.49a1.6 1.6 0 0 1-.49-1.177V4.167q0-.688.49-1.177.489-.49 1.177-.49h11.666q.688 0 1.177.49.49.489.49 1.177v11.666q0 .688-.49 1.177-.489.49-1.177.49zm0-1.667h11.666V4.167H4.167z'/%3E%3C/g%3E%3C/svg%3E");
}
main #list .wrapper .area-heading {
  background-color: #F8958B;
  color: #fff;
  padding: 5.1282051282vw 0;
  text-align: center;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  main #list .wrapper .area-heading {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper .area-heading {
    padding: 32.8205128205px 0;
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #list .wrapper > ul {
  width: 89.7435897436vw;
  margin: 7.1794871795vw auto 0;
  display: flex;
  flex-direction: column;
  gap: 7.1794871795vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul {
    width: 574.358974359px;
    margin: 45.9487179487px auto 0;
    gap: 45.9487179487px;
  }
}
main #list .wrapper > ul li > a {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 5.1282051282vw;
  gap: 0 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a {
    grid-template-columns: 1fr 32.8205128205px;
    gap: 0 26.2564102564px;
  }
}
main #list .wrapper > ul li > a .images {
  grid-column: 1/3;
  grid-row: 1/2;
  aspect-ratio: 350/200;
  width: 100%;
  overflow: hidden;
  margin-bottom: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .images {
    margin-bottom: 26.2564102564px;
  }
}
main #list .wrapper > ul li > a .images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #list .wrapper > ul li > a h4 {
  grid-column: 1/2;
  grid-row: 2/3;
  font-size: 5.1282051282vw;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.5128205128vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a h4 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a h4 {
    font-size: 32.8205128205px;
    line-height: 1.4;
    letter-spacing: 3.2820512821px;
  }
}
main #list .wrapper > ul li > a .perf {
  grid-column: 1/2;
  grid-row: 3/4;
  font-size: 3.5897435897vw;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .perf {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .perf {
    font-size: 22.9743589744px;
    line-height: 1.4;
    letter-spacing: 2.2974358974px;
  }
}
main #list .wrapper > ul li > a .text {
  grid-column: 1/3;
  font-size: 3.3333333333vw;
  line-height: 1.5384615385;
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .text {
    font-size: 21.3333333333px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .text {
    margin-top: 26.2564102564px;
    font-size: 21.3333333333px;
    line-height: 1.5384615385;
  }
}
main #list .wrapper > ul li > a:after {
  content: "";
  grid-column: 2/3;
  grid-row: 2/4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%234c4d4e' d='m6.687 18.333-1.479-1.479L12.062 10 5.208 3.146l1.48-1.48L15.02 10z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  align-self: center;
}
main #list .wrapper > ul li > a object {
  grid-column: 1/3;
  margin-top: 4.1025641026vw;
  padding-bottom: 5.1282051282vw;
  display: flex;
  flex-direction: column;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object {
    margin-top: 26.2564102564px;
    padding-bottom: 32.8205128205px;
    gap: 26.2564102564px;
  }
}
main #list .wrapper > ul li > a object:has(.cta + .ticket) {
  flex-direction: row;
  gap: 4.1025641026vw;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object:has(.cta + .ticket) {
    gap: 26.2564102564px;
  }
}
main #list .wrapper > ul li > a object:has(.cta + .ticket) .cta, main #list .wrapper > ul li > a object:has(.cta + .ticket) .ticket {
  width: 100%;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object:has(.cta + .ticket) .cta, main #list .wrapper > ul li > a object:has(.cta + .ticket) .ticket {
    width: 100%;
  }
}
main #list .wrapper > ul li > a object:has(.cta + .ticket) .cta a, main #list .wrapper > ul li > a object:has(.cta + .ticket) .ticket a {
  font-size: 3.5897435897vw;
  line-height: 1.1428571429;
  padding: 0 2.0512820513vw;
  gap: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object:has(.cta + .ticket) .cta a, main #list .wrapper > ul li > a object:has(.cta + .ticket) .ticket a {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object:has(.cta + .ticket) .cta a, main #list .wrapper > ul li > a object:has(.cta + .ticket) .ticket a {
    font-size: 22.9743589744px;
    line-height: 1.1428571429;
    padding: 0 13.1282051282px;
    gap: 19.6923076923px;
  }
}
main #list .wrapper > ul li > a object .cta, main #list .wrapper > ul li > a object .ticket, main #list .wrapper > ul li > a object .facility {
  width: 74.358974359vw;
  margin: 0 auto;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object .cta, main #list .wrapper > ul li > a object .ticket, main #list .wrapper > ul li > a object .facility {
    width: 475.8974358974px;
  }
}
main #list .wrapper > ul li > a object .cta a, main #list .wrapper > ul li > a object .ticket a, main #list .wrapper > ul li > a object .facility a {
  display: grid;
  grid-template-columns: 6.1538461538vw auto 5.1282051282vw;
  align-items: center;
  justify-content: space-between;
  font-size: 3.5897435897vw;
  line-height: 1.4285714286;
  color: #fff;
  font-weight: 700;
  border-radius: 10.7692307692vw;
  height: 11.7948717949vw;
  margin: 0 auto;
  padding: 0 5.1282051282vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object .cta a, main #list .wrapper > ul li > a object .ticket a, main #list .wrapper > ul li > a object .facility a {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a object .cta a, main #list .wrapper > ul li > a object .ticket a, main #list .wrapper > ul li > a object .facility a {
    grid-template-columns: 39.3846153846px auto 32.8205128205px;
    font-size: 22.9743589744px;
    line-height: 1.4285714286;
    height: 75.4871794872px;
    margin: 0 auto;
    padding: 0 32.8205128205px;
    border-radius: 68.9230769231px;
  }
}
main #list .wrapper > ul li > a object .cta a:before, main #list .wrapper > ul li > a object .cta a:after, main #list .wrapper > ul li > a object .ticket a:before, main #list .wrapper > ul li > a object .ticket a:after, main #list .wrapper > ul li > a object .facility a:before, main #list .wrapper > ul li > a object .facility a:after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
main #list .wrapper > ul li > a object .cta a:after, main #list .wrapper > ul li > a object .ticket a:after, main #list .wrapper > ul li > a object .facility a:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='m6.687 18.333-1.479-1.479L12.062 10 5.208 3.146l1.48-1.48L15.02 10z'/%3E%3C/g%3E%3C/svg%3E");
}
main #list .wrapper > ul li > a object .cta a {
  background: #C61A1A;
  box-shadow: 0 2px 0 0 #D98789;
  border: 1px solid #C61A1A;
}
main #list .wrapper > ul li > a object .cta a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cmask id='a' width='24' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='M12 17q.424 0 .713-.288A.97.97 0 0 0 13 16a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 15a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 16q0 .424.287.712.288.288.713.288m0-4q.424 0 .713-.287A.97.97 0 0 0 13 12a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 12q0 .424.287.713.288.287.713.287m0-4q.424 0 .713-.287A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8q0 .424.287.713Q11.576 9 12 9m8 11H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18v-4q.824 0 1.413-.588Q4 12.826 4 12t-.587-1.412A1.93 1.93 0 0 0 2 10V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h16q.824 0 1.413.588Q22 5.175 22 6v4q-.824 0-1.413.588A1.93 1.93 0 0 0 20 12q0 .825.587 1.412Q21.176 14 22 14v4q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20m0-2v-2.55a4.1 4.1 0 0 1-1.462-1.462A3.85 3.85 0 0 1 18 12q0-1.076.538-1.988A4.1 4.1 0 0 1 20 8.55V6H4v2.55a4.1 4.1 0 0 1 1.463 1.462Q6 10.926 6 12q0 1.076-.537 1.988A4.1 4.1 0 0 1 4 15.45V18z'/%3E%3C/g%3E%3C/svg%3E");
}
main #list .wrapper > ul li > a object .ticket a {
  background: #2B76D8;
  box-shadow: 0 2px 0 0 #878ED9;
  border: 1px solid #2B76D8;
}
main #list .wrapper > ul li > a object .ticket a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cmask id='a' width='24' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='M12 17q.424 0 .713-.288A.97.97 0 0 0 13 16a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 15a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 16q0 .424.287.712.288.288.713.288m0-4q.424 0 .713-.287A.97.97 0 0 0 13 12a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 12q0 .424.287.713.288.287.713.287m0-4q.424 0 .713-.287A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8q0 .424.287.713Q11.576 9 12 9m8 11H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18v-4q.824 0 1.413-.588Q4 12.826 4 12t-.587-1.412A1.93 1.93 0 0 0 2 10V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h16q.824 0 1.413.588Q22 5.175 22 6v4q-.824 0-1.413.588A1.93 1.93 0 0 0 20 12q0 .825.587 1.412Q21.176 14 22 14v4q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20m0-2v-2.55a4.1 4.1 0 0 1-1.462-1.462A3.85 3.85 0 0 1 18 12q0-1.076.538-1.988A4.1 4.1 0 0 1 20 8.55V6H4v2.55a4.1 4.1 0 0 1 1.463 1.462Q6 10.926 6 12q0 1.076-.537 1.988A4.1 4.1 0 0 1 4 15.45V18z'/%3E%3C/g%3E%3C/svg%3E");
}
main #list .wrapper > ul li > a object .facility a {
  background: #fff;
  color: #C61A1A;
  border: 1px solid #C61A1A;
}
main #list .wrapper > ul li > a object .facility a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cmask id='a' width='24' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='M12 17q.424 0 .713-.288A.97.97 0 0 0 13 16a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 15a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 16q0 .424.287.712.288.288.713.288m0-4q.424 0 .713-.287A.97.97 0 0 0 13 12a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 12q0 .424.287.713.288.287.713.287m0-4q.424 0 .713-.287A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8q0 .424.287.713Q11.576 9 12 9m8 11H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18v-4q.824 0 1.413-.588Q4 12.826 4 12t-.587-1.412A1.93 1.93 0 0 0 2 10V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h16q.824 0 1.413.588Q22 5.175 22 6v4q-.824 0-1.413.588A1.93 1.93 0 0 0 20 12q0 .825.587 1.412Q21.176 14 22 14v4q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20m0-2v-2.55a4.1 4.1 0 0 1-1.462-1.462A3.85 3.85 0 0 1 18 12q0-1.076.538-1.988A4.1 4.1 0 0 1 20 8.55V6H4v2.55a4.1 4.1 0 0 1 1.463 1.462Q6 10.926 6 12q0 1.076-.537 1.988A4.1 4.1 0 0 1 4 15.45V18z'/%3E%3C/g%3E%3C/svg%3E");
}
main #list .wrapper > ul li > a .icon .badge {
  position: absolute;
  top: 0;
  width: 15.3846153846vw;
  left: 3.0769230769vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .icon .badge {
    width: 98.4615384615px;
    left: 19.6923076923px;
  }
}
main #list .wrapper > ul li > a .icon ul {
  position: absolute;
  top: 2.5641025641vw;
  right: 2.5641025641vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.0256410256vw;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .icon ul {
    top: 16.4102564103px;
    right: 16.4102564103px;
    gap: 6.5641025641px;
  }
}
main #list .wrapper > ul li > a .icon ul li {
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  color: #E63A00;
  padding: 1.0256410256vw 2.0512820513vw;
  background-color: #FBF4E1;
  font-weight: 700;
  width: fit-content;
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .icon ul li {
    font-size: 19.6923076923px;
  }
}
@media screen and (min-width: 48em) {
  main #list .wrapper > ul li > a .icon ul li {
    font-size: 19.6923076923px;
    line-height: 1.6666666667;
    padding: 6.5641025641px 13.1282051282px;
  }
}
main #prizeList {
  margin-top: 12.3076923077vw;
}
@media screen and (min-width: 48em) {
  main #prizeList {
    margin-top: 78.7692307692px;
  }
}
main #prizeList h2 {
  color: #DF3800;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 48em) {
  main #prizeList h2 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #prizeList h2 {
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
main #prizeList ul {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 10.2564102564vw;
  display: flex;
  flex-direction: column;
  gap: 15.3846153846vw;
}
@media screen and (min-width: 48em) {
  main #prizeList ul {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #prizeList ul {
    margin-top: 65.641025641px;
    gap: 98.4615384615px;
  }
}
main #prizeList ul li dl dd img {
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #prizeList ul li dl dd img {
    margin-top: 26.2564102564px;
  }
}
main #prizeList ul li dl dd p {
  width: 71.7948717949vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
  margin: 4.1025641026vw auto 0;
}
@media screen and (min-width: 48em) {
  main #prizeList ul li dl dd p {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #prizeList ul li dl dd p {
    width: 459.4871794872px;
    margin: 26.2564102564px auto 0;
    font-size: 22.9743589744px;
    line-height: 1.6;
  }
}
main #prizeList ul li dl dd p span {
  display: block;
  margin-top: 2.0512820513vw;
  font-size: 2.5641025641vw;
  line-height: 1.4;
}
@media screen and (min-width: 48em) {
  main #prizeList ul li dl dd p span {
    font-size: 16.4102564103px;
  }
}
@media screen and (min-width: 48em) {
  main #prizeList ul li dl dd p span {
    font-size: 16.4102564103px;
    line-height: 1.4;
    margin-top: 13.1282051282px;
  }
}
main #list2 .wrapper {
  padding-bottom: 15.3846153846vw;
}
@media screen and (min-width: 48em) {
  main #list2 .wrapper {
    padding-bottom: 98.4615384615px;
  }
}
main #list2 > div {
  margin-top: 15.3846153846vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div {
    margin-top: 98.4615384615px;
  }
}
main #list2 > div h3 {
  background-color: #62BFEB;
  color: #fff;
  padding: 5.1282051282vw 0;
  text-align: center;
  font-weight: 800;
  font-size: 5.1282051282vw;
  line-height: 1;
  margin-top: 10.2564102564vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div h3 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div h3 {
    padding: 32.8205128205px 0;
    font-size: 32.8205128205px;
    line-height: 1;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div h3 {
    margin-top: 65.641025641px;
  }
}
main #list2 > div ul {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 5.1282051282vw;
  display: flex;
  flex-direction: column;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div ul {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div ul {
    margin-top: 32.8205128205px;
    gap: 26.2564102564px;
  }
}
main #list2 > div ul li a {
  display: grid;
  grid-template-columns: 20.5128205128vw 1fr 5.1282051282vw;
  gap: 0 3.3333333333vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a {
    grid-template-columns: 131.2820512821px 1fr 32.8205128205px;
    gap: 0 21.3333333333px;
  }
}
main #list2 > div ul li a .images {
  grid-column: 1/2;
  grid-row: 1/4;
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
}
main #list2 > div ul li a .images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #list2 > div ul li a h4 {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: 5.1282051282vw;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.5128205128vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a h4 {
    font-size: 32.8205128205px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a h4 {
    font-size: 32.8205128205px;
    line-height: 1.4;
    letter-spacing: 3.2820512821px;
  }
}
main #list2 > div ul li a .perf {
  grid-column: 2/3;
  grid-row: 2/3;
  font-size: 3.5897435897vw;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a .perf {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a .perf {
    font-size: 22.9743589744px;
    line-height: 1.4;
    letter-spacing: 2.2974358974px;
  }
}
main #list2 > div ul li a .text {
  grid-column: 2/3;
  margin-top: 2.5641025641vw;
  font-size: 3.5897435897vw;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a .text {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 > div ul li a .text {
    font-size: 22.9743589744px;
    line-height: 1.4;
    letter-spacing: 2.2974358974px;
    margin-top: 16.4102564103px;
  }
}
main #list2 > div ul li a:after {
  content: "";
  grid-column: 3/4;
  grid-row: 1/4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%234c4d4e' d='m6.687 18.333-1.479-1.479L12.062 10 5.208 3.146l1.48-1.48L15.02 10z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  align-self: center;
}
main #list2 .area-tabs {
  width: 91.7948717949vw;
  margin: 0 auto;
  margin-top: 5.1282051282vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.0512820513vw 2.8205128205vw;
}
@media screen and (min-width: 48em) {
  main #list2 .area-tabs {
    width: 587.4871794872px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 .area-tabs {
    margin-top: 32.8205128205px;
    gap: 13.1282051282px 18.0512820513px;
  }
}
main #list2 .area-tabs button {
  border-radius: 2.0512820513vw;
  border: 1px solid #FBF4E1;
  background: #FBF4E1;
  font-size: 3.3333333333vw;
  line-height: 1.5384615385;
  text-align: center;
  padding: 2.0512820513vw 0;
}
@media screen and (min-width: 48em) {
  main #list2 .area-tabs button {
    font-size: 21.3333333333px;
  }
}
@media screen and (min-width: 48em) {
  main #list2 .area-tabs button {
    border-radius: 13.1282051282px;
    font-size: 21.3333333333px;
    line-height: 1.5384615385;
    padding: 13.1282051282px 0;
  }
}
main #list2 .area-tabs button.active {
  background-color: #FFDA76;
}

footer {
  background-color: #000;
  padding: 6.9230769231vw 0 9.2307692308vw;
  font-size: 3.5897435897vw;
  line-height: 1.7142857143;
}
@media screen and (min-width: 48em) {
  footer {
    font-size: 22.9743589744px;
  }
}
@media screen and (min-width: 48em) {
  footer {
    padding: 44.3076923077px 0 59.0769230769px;
    font-size: 22.9743589744px;
    line-height: 1.7142857143;
    width: 640px;
    margin: 0 auto;
  }
}
footer img {
  width: 50.5128205128vw;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 48em) {
  footer img {
    width: 323.2820512821px;
  }
}
footer ul {
  margin-top: 10.2564102564vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.641025641vw;
}
@media screen and (min-width: 48em) {
  footer ul {
    margin-top: 65.641025641px;
    gap: 36.1025641026px;
  }
}
footer ul li a {
  color: #fff;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  footer ul li a:hover {
    text-decoration: none;
  }
}
footer p {
  margin-top: 3.0769230769vw;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 48em) {
  footer p {
    margin-top: 19.6923076923px;
  }
}

.fixedBtn {
  position: fixed;
  bottom: 4.358974359vw;
  right: 4.1025641026vw;
  width: 23.0769230769vw;
}
@media screen and (min-width: 48em) {
  .fixedBtn {
    width: 147.6923076923px;
    bottom: 27.8974358974px;
    right: 26.2564102564px;
  }
}/*# sourceMappingURL=style.css.map */