@charset "utf-8";

/* body {
  max-width: 1000px;
  margin: 0 auto;
  line-height: 1.5;
  font-size: 14px !important;
} */

/* 装飾の設定 */

.text-start {
  text-align: start;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: end;
}

.underline {
  text-decoration: underline;
}

.h__font {
  font-family: 'Prata', 'Zen Old Mincho', serif !important;
  letter-spacing: 0.08em;
  font-weight: normal;
}
.h__color {
  color: rgb(96, 96, 96);
}

.h__accent {
  color: rgb(179, 152, 85);
}

.ft16 {
  font-size: 16px !important;
}

.ft20 {
  font-size: 20px !important;
}
.ft24 {
  font-size: 24px !important;
}

.ft40 {
  font-size: 40px !important;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.bold {
  font-weight: bold !important;
}

/* セクションの設定 */

.youtube-ratio iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.custom-section {
  margin-top: 100px !important;
  padding: 1rem 2rem;
}

.custom-section a {
  color: #000000;
}

.custom-section p {
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.custom-section h2,
.custom-section h3 {
  line-height: 1.4;
  margin-top: 10px;
  margin-bottom: 10px;
}

img {
  width: 100%;
}

.custom-section .btn {
  display: inline-block;
  min-width: 100px;
  font-weight: bold;
  padding: 0.7rem 2rem;
  border: 1px solid #000000;
  background-color: #000000;
  color: #ffffff;
  border-radius: 20px 0 0 0;
  margin-top: 10px;
  text-decoration: none;
  transition: all 0.2s ease-in;
}

.custom-section .btn:hover {
  border: 1px solid #000000;
  background-color: #ffffff;
  color: #000000;
}

.badge {
  font-weight: bold;
  display: inline-block;
  color: #ffffff;
  background-color: #000000;
  padding: 0.25rem 0.5rem;
  line-height: 1.2;
  margin-bottom: 5px;
}

/* セクションごとのCSS */
iframe.youtube-16-9 {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.section__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 50px;
  gap: 20px;
}

.items__media {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 40px;
  margin-top: 50px;
}

.winner-columns-wrapper {
  display: flex;
  gap: 30px;
}

.winner {
  display: flex;
  width: 100%; /* デフォルトは横並び */
  margin-bottom: 30px;
  border: 1px solid #ccc;
  padding: 15px;
  box-sizing: border-box; /* padding, border を width に含める */
}

.winner-columns-wrapper .winner {
  flex-direction: column;
}

.winner-info {
  flex: 1; /* 左側の情報がフレキシブルに幅を取る */
  padding-right: 15px;
}

.winner-image {
  flex: 1; /* 右側の画像がフレキシブルに幅を取る */
  display: flex;
  justify-content: center; /* 画像を中央寄せ */
  align-items: center; /* 画像を垂直方向中央寄せ */
}

@media screen and (max-width: 750px) {
  .custom-section {
    margin-top: 50px !important;
    padding: 1rem;
  }

  .section__inner:nth-child(2n + 1) .section__inner--image {
    order: 2;
  }

  .section__inner:nth-child(2n + 1) .section__inner--textbox {
    order: 1;
  }

  .section__inner:nth-child(2n) .section__inner--textbox {
    order: 1;
  }
  .section__inner:nth-child(2n) .section__inner--image {
    order: 2;
  }

  .section__inner {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .winner {
    flex-direction: column; /* 縦並びにする */
  }

  .winner-columns-wrapper {
    flex-direction: column; /* 縦並びにする */
    gap: 0;
  }

  .winner-info {
    padding-right: 0;
    margin-bottom: 15px;
  }

  .items__media {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 50px;
  }
}
