@charset "UTF-8";
.main-content {
            margin-top: 100px;
            width: 1326px;
            max-width: 90%;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
            background-image: url(../img/mv/main-content_bg.png);
            background-position: center;
	            
        }
.main-visual {
            position: relative;
            width: 100%;
            max-width: 800px;
            margin: 20px auto;
        }

        .main-visual img {
            width: 100%;
            height: auto;
            display: block;
        }

        .main-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-size: clamp(16px, 4vw, 48px);
            font-weight: bold;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
            white-space: nowrap;
        }

.l-mainvisual {
  background-image: url(./assets/img/main/bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: calc(100vh - 111px);
  max-height: 920px;
  min-height: 610px;
  margin-bottom: clamp(30px, 6.25vw, 90px);
  position: relative;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual {
    min-height: initial;
    max-height: initial;
    height: clamp(390px, 141.6vw, 531px);
    margin-bottom: 90px;
  }
}
.l-mainvisual::after {
  content: "";
  position: absolute;
  bottom: 23px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 310px;
  background-image: url(./assets/img/main/img-people.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  max-width: 1440px;
  width: 87vw;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual::after {
    bottom: 3px;
    background-image: url(./assets/img/main/img-people_sp.png);
    width: clamp(100px, 98.6666vw, 370px);
    height: clamp(100px, 82.666vw, 310px);
  }
}
.l-mainvisual--textarea {
  position: absolute;
  width: 100%;
  max-width: 800px;
  top: 165px;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}
@media only screen and (max-width: 785px) {
  .l-mainvisual--textarea {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--textarea {
    width: 100%;
    height: 256px;
  }
}
@media only screen and (max-width: 600px) {
  .l-mainvisual--textarea {
    max-width: 480px;
    width: 90%;
  }
}
.l-mainvisual--text {
  font-size: clamp(1.8rem, 2.2222vw, 3.2rem);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.3em;
  color: #00267F;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--text {
    font-size: clamp(1rem, 4.8vw, 1.8rem);
    letter-spacing: 0.02em;
  }
}
.l-mainvisual--text-sub {
  font-size: clamp(1.6rem, 1.5277vw, 2.2rem);
  font-weight: 700;
  text-align: center;
  position: relative;
  letter-spacing: 0.2em;
  transform: translateX(7px);
  width: clamp(570px, 55.7vw, 800px);
  margin: 0 auto 10px;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--text-sub {
    font-size: clamp(1rem, 4.3vw, 1.6rem);
    letter-spacing: 0.15em;
    transform: translateX(0);
    margin: 0 auto 15px;
    width: clamp(100px, 80vw, 300px);
  }
}
.l-mainvisual--text-sub img {
  transform: translateY(-3px);
  width: clamp(62px, 5.76388vw, 83px);
  margin-left: clamp(2px, 0.55555vw, 8px);
  margin-right: clamp(2px, 0.55555vw, 8px);
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--text-sub img {
    transform: translateY(-2px);
    width: clamp(20px, 13.86666vw, 52px);
    margin-left: clamp(1px, 1.33333vw, 5px);
    margin-right: clamp(1px, 1.33333vw, 5px);
  }
}
.l-mainvisual--text-sub::after, .l-mainvisual--text-sub::before {
  position: absolute;
  content: "";
  background-image: url(./assets/img/main/line_left.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: clamp(20px, 12.2666vw, 46px);
  aspect-ratio: 1/1;
  bottom: 0;
}
.l-mainvisual--text-sub::before {
  left: 1.2vw;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--text-sub::before {
    left: -10%;
  }
}
.l-mainvisual--text-sub::after {
  right: 1.2vw;
  transform: rotate(55deg);
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--text-sub::after {
    right: -10%;
  }
}
.l-mainvisual--title {
  font-size: clamp(4rem, -3.871rem + 20.65vw, 8rem);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.09em;
  line-height: 1;
  transform: translateX(6px);
  color: #00267F;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual--title {
    font-size: clamp(1rem, -10.582rem + 30.38vw, 4rem);
    line-height: 1.35em;
    letter-spacing: 0.02em;
  }
}
.l-mainvisual .c-btn-position {
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: #00267F;
  padding: 18px 0;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .l-mainvisual .c-btn-position {
    bottom: -75px;
  }
}

.prize-list_container {
    display: flex;
    justify-content: center;
    align-items: center;
	margin-bottom: 10px;
}

/* 賞品リストのスタイル */
.prize-list {
    display: flex;
    flex-direction: column;
    gap: 5px; /* 各行の間隔 */
}

/* 各アイテムを中央に配置 */
.prize-item {
    display: flex;
    justify-content: center; /* 水平方向の中央配置 */
    gap: 5px; /* 各要素の間隔 */
}

/* テキストを右揃え */
.amount, .times, .counts {
    text-align: right;
	font-weight: 700;
}

.amount {
    width: 90px; /* 「×」の幅 */
}
.times {
    width: 20px; /* 「×」の幅 */
}

.counts {
    width: 40px; /* 人数の幅 */
}