@charset "UTF-8";
/* リキッドレイアウト対応のための設定 */
body {
  color: #333333;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

/*  PCとSPの表示非表示の切り替え */
/*PCのみ表示*/
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

/*(md)px以下で表示*/
.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

/*画像の縦横比設定*/
img {
  width: 100%;
  display: block;
}

img {
  object-fit: cover;
  height: 100%;
}

/* aタグのスタイルリセット*/
a {
  text-decoration: none;
}

a[href^="tel:"] {
  text-decoration: none;
}

/* マウスホバーがあるデバイスでのアニメーション */
@media (any-hover: hover) {
  a {
    transition: opacity, 0.5s 0s ease;
  }
  a:hover {
    opacity: 0.8;
  }
}
/* 画像のはみ出しを管理 */
main {
  overflow: hidden;
}

/* addressタグ リセット */
address {
  font-style: normal;
}

/* pc幅での電話発信しない */
@media (any-hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
  }
}
/* 横スクロール防止 */
html, body {
  overflow-x: clip;
}

.anker-link {
  scroll-margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .anker-link {
    scroll-margin-top: 3.125rem;
  }
}

/* リストのディスク（黒丸）の大きさ調整 */
li::marker {
  font-size: 8px;
}

/* `<fieldset>` の枠を非表示にする */
fieldset {
  border: none; /* ボーダー（枠線）を非表示にする */
  padding: 0; /* 不要な余白を削除 */
  margin: 0; /* 不要なマージンを削除 */
}

/* `<legend>` のテキストを非表示にする */
legend {
  display: none; /* テキスト自体を非表示にする */
}

/* リキッドレイアウト対応のための設定 */
html {
  font-size: 16px;
}
@media (max-width: 780px) {
  html {
    font-size: 2.0512820513vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Set core html defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/*インナー幅用の基本CSS*/
.inner {
  width: 100%;
  max-width: 830px;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 37.5rem;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* sectionタイトル
==============================================*/
.section__title {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  line-height: 1.6875;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section__title {
    font-size: 1.5rem;
  }
}

.section__title::before {
  content: "";
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .section__title::before {
    background-size: contain;
  }
}

/* ボタン
==============================================*/
.btn {
  color: #fdfdfd;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
  display: inline-block;
  padding-block: 21.5px;
  border-radius: 5px;
  max-width: 19.625rem;
  width: 100%;
}

.btn--red {
  background-color: #b81919;
}

.btn--black {
  background-color: #000;
}

.btn span {
  position: relative;
  padding-right: 2.25rem;
  vertical-align: bottom;
}

.btn span::before {
  content: "";
  position: absolute;
  top: 55%;
  right: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  background-image: url(../images/icon-whitearrow.svg);
  background-size: cover;
  background-repeat: no-repeat;
}

/* fv
==============================================*/
/* fv
==============================================*/
.fv__inner {
  position: relative;
}

.fv__title-wrap {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  max-width: 34.25rem;
  position: absolute;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .fv__title-wrap {
    top: 44%;
  }
}

.fv__title {
  background: linear-gradient(to right, #f8c972 0%, #fbec9c 49%, #da7c3f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-size: clamp(2.188rem, 0.662rem + 3.18vw, 3.375rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.06em;
}
@media screen and (max-width: 767px) {
  .fv__title {
    font-size: 1.6875rem;
  }
}

.fv__subtitle {
  background: linear-gradient(to right, #f8c972 0%, #fbec9c 49%, #da7c3f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: 1.3125rem;
  font-size: clamp(0.75rem, 0.589rem + 0.33vw, 0.875rem);
  font-weight: 800;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .fv__subtitle {
    font-size: 0.5rem;
    margin-top: 1rem;
  }
}

.fv__sponsor {
  background: linear-gradient(to right, #f8c972 0%, #fbec9c 49%, #da7c3f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: 2.25rem;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .fv__sponsor {
    font-size: 0.6875rem;
    margin-top: 0.875rem;
  }
}

.fv__circle {
  aspect-ratio: 1/1;
  width: clamp(25rem, 13.201rem + 24.58vw, 34.188rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .fv__circle {
    width: clamp(15.625rem, 8.914rem + 33.56vw, 25rem);
    top: 43%;
  }
}

.fv__circle img {
  object-fit: cover;
  height: 100%;
}

.fv__image {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.fv__image img {
  object-fit: cover;
}
/* greeting
==============================================*/
.greeting__title {
  margin-top: 1.5625rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  line-height: 1.9285714286;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .greeting__title {
    font-size: 1.25rem;
  }
}

.greeting__title .bg-red {
  background: linear-gradient(to right, #c82935, #de505b);
  color: #FFF;
  padding-left: 0.1875rem;
  padding-right: 0.125rem;
}

.greeting__text-wrap {
  text-align: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .greeting__text-wrap {
    margin-top: 2.5rem;
  }
}

.greeting__text {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .greeting__text {
    font-size: 0.9375rem;
    letter-spacing: initial;
    font-feature-settings: "palt";
  }
}

.greeting__text + .greeting__text {
  margin-top: 1.75rem;
}

.greeting__bg--bottom {
  margin-top: 8.5625rem;
}
@media screen and (max-width: 767px) {
  .greeting__bg--bottom {
    margin-top: 3.125rem;
  }
}

/* 参加資格 entry
==============================================*/
.entry {
  padding-top: 12.0625rem;
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .entry {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

.entry__title::before {
  background-image: url(../images/text-entry@2x.png);
  width: 22.9375rem;
  height: 11.8125rem;
  top: 130%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .entry__title::before {
    width: 17.5rem;
    height: 10rem;
  }
}

.entry__container {
  margin-top: 7.0625rem;
}
@media screen and (max-width: 767px) {
  .entry__container {
    margin-top: 5.625rem;
  }
}

.entry__item {
  display: flex;
}

.entry__item + .entry__item {
  margin-top: 3px;
}

.entry__item-number {
  color: #FFF;
  background-color: #c9a651;
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 400;
  width: 4.4375rem;
  text-align: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .entry__item-number {
    width: 3.125rem;
    font-size: 1.25rem;
    display: grid;
    align-items: center;
  }
}

.entry__item-wrap {
  width: 100%;
  background-color: #faf6f1;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap {
    padding-left: 0.625rem;
  }
}

.entry__item-text {
  width: 100%;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.7;
}

.entry__item-number.first,
.entry__item-text.first {
  padding-block: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.first,
  .entry__item-text.first {
    padding-block: 1.25rem;
  }
}

.entry__item-number.second {
  padding-block: 10.75rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.second {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.second {
  padding-top: 4.375rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.second {
    padding-block: 1.25rem;
  }
}

.entry__item-text.second + .entry__item-text.second {
  margin-top: 3.625rem;
}
@media screen and (max-width: 767px) {
  .entry__item-text.second + .entry__item-text.second {
    margin-top: 1.25rem;
  }
}

.entry__item-number.third {
  padding-top: 4.5rem;
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.third {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.third {
  padding-top: 4.375rem;
  padding-bottom: 2.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.third {
    padding-block: 1.25rem;
  }
}

.entry__item-number.fourth {
  padding-block: 6.25rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.fourth {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.fourth {
  padding-top: 4.375rem;
  padding-bottom: 2.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.fourth {
    padding-block: 1.25rem;
  }
}

.entry__item-text.fourth + .entry__item-text.fourth {
  padding-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .entry__item-text.fourth + .entry__item-text.fourth {
    padding-top: 1.25rem;
  }
}

.entry__fee {
  margin-top: 5.625rem;
  margin-inline: auto;
  width: 35.4375rem;
}
@media screen and (max-width: 767px) {
  .entry__fee {
    margin-top: 2.5rem;
    width: 100%;
  }
}

.entry__fee-label {
  background-color: #d10d0e;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.06em;
  padding-block: 0.6875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .entry__fee-label {
    font-size: 1.25rem;
  }
}

.entry__fee-amount {
  padding-top: 1.5rem;
  padding-bottom: 1.9375rem;
  text-align: center;
  background-color: #faf6f1;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount {
    font-size: 1.875rem;
  }
}

.entry__fee-amount .middle {
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount .middle {
    font-size: 1.25rem;
  }
}

.entry__fee-amount .small {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount .small {
    font-size: 1rem;
  }
}

/* 日程 schedule
==============================================*/
/* 参加資格 entry
==============================================*/
.entry {
  padding-top: 12.0625rem;
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .entry {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

.entry__title::before {
  background-image: url(../images/text-entry@2x.webp);
  width: 22.9375rem;
  height: 11.8125rem;
  top: 130%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .entry__title::before {
    width: 90%;
    height: 10rem;
  }
}

.entry__container {
  margin-top: 7.0625rem;
}
@media screen and (max-width: 767px) {
  .entry__container {
    margin-top: 5.625rem;
  }
}

.entry__item {
  display: flex;
}

.entry__item + .entry__item {
  margin-top: 3px;
}

.entry__item-number {
  color: #FFF;
  background-color: #c9a651;
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 400;
  width: 4.4375rem;
  text-align: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .entry__item-number {
    width: 3.125rem;
    font-size: 1.25rem;
    display: grid;
    align-items: center;
  }
}

.entry__item-wrap {
  width: 100%;
  background-color: #faf6f1;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap {
    padding-left: 0.625rem;
  }
}

.entry__item-text {
  width: 100%;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .entry__item-text {
    font-size: 0.9375rem;
    letter-spacing: initial;
  }
}

.entry__item-number.first,
.entry__item-text.first {
  padding-block: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.first,
  .entry__item-text.first {
    padding-block: 1.25rem;
  }
}

.entry__item-number.second {
  padding-block: 10.75rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.second {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.second {
  padding-top: 4.375rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.second {
    padding-block: 1.25rem;
  }
}

.entry__item-text.second + .entry__item-text.second {
  margin-top: 3.625rem;
}
@media screen and (max-width: 767px) {
  .entry__item-text.second + .entry__item-text.second {
    margin-top: 1.25rem;
  }
}

.entry__item-number.third {
  padding-top: 4.5rem;
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.third {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.third {
  padding-top: 4.375rem;
  padding-bottom: 2.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.third {
    padding-block: 1.25rem;
  }
}

.entry__item-number.fourth {
  padding-block: 6.25rem;
}
@media screen and (max-width: 767px) {
  .entry__item-number.fourth {
    padding-block: 1.25rem;
  }
}

.entry__item-wrap.fourth {
  padding-top: 4.375rem;
  padding-bottom: 2.875rem;
}
@media screen and (max-width: 767px) {
  .entry__item-wrap.fourth {
    padding-block: 1.25rem;
  }
}

.entry__item-text.fourth + .entry__item-text.fourth {
  padding-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .entry__item-text.fourth + .entry__item-text.fourth {
    padding-top: 1.25rem;
  }
}

.entry__fee {
  margin-top: 5.625rem;
  margin-inline: auto;
  width: 35.4375rem;
}
@media screen and (max-width: 767px) {
  .entry__fee {
    margin-top: 2.5rem;
    width: 100%;
  }
}

.entry__fee-label {
  background-color: #d10d0e;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.06em;
  padding-block: 0.6875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .entry__fee-label {
    font-size: 1.25rem;
  }
}

.entry__fee-amount {
  padding-top: 1.5rem;
  padding-bottom: 1.9375rem;
  text-align: center;
  background-color: #faf6f1;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount {
    font-size: 1.875rem;
  }
}

.entry__fee-amount .middle {
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount .middle {
    font-size: 1.25rem;
  }
}

.entry__fee-amount .small {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .entry__fee-amount .small {
    font-size: 1rem;
  }
}

/* 日程 schedule
==============================================*/
.schedule {
  background-color: #c8a965;
  padding-top: 12.25rem;
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .schedule {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

.schedule__title {
  color: #FFF;
}

.schedule__title::before {
  background-image: url(../images/text-schedule@2x.webp);
  width: 37.25rem;
  height: 10rem;
  top: 26%;
  left: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .schedule__title::before {
    width: 90%;
    height: 10rem;
  }
}

.schedule__container {
  margin-top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .schedule__container {
    margin-top: 3.75rem;
  }
}

.schedule__info-wrap {
  background-color: #f8f8f8;
  padding: 2.8125rem 4.0625rem 3.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .schedule__info-wrap {
    padding: 0.9375rem;
  }
}

.schedule__info-wrap + .schedule__info-wrap {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .schedule__info-wrap + .schedule__info-wrap {
    margin-top: 1.875rem;
  }
}

.schedule__info-heading {
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .schedule__info-heading {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.schedule__info-heading::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 1px;
  background-color: #c8a965;
}

.schedule__info-description {
  margin-top: 2.3125rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule__info-description {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.schedule__info-submission {
  margin-top: 0.9375rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule__info-submission {
    margin-top: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
}

.schedule-preliminary__notes {
  margin-top: 3.75rem;
  display: inline-block;
  padding: 7px 8px;
  background-color: #2a2a2a;
  color: #FFF;
  font-size: 1rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule-preliminary__notes {
    margin-top: 1.25rem;
  }
}

.schedule-preliminary__list {
  margin-top: 1.1875rem;
  padding-left: 1.25rem;
  text-align: left;
  list-style: disc;
}

.schedule-preliminary__item {
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule-preliminary__item {
    font-size: 0.9375rem;
    line-height: 1.4;
    letter-spacing: initial;
  }
}

.schedule-preliminary__item + .schedule-preliminary__item {
  margin-top: 4px;
}

.schedule__info-date {
  margin-top: 2.5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .schedule__info-date {
    margin-top: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.schedule__info-note {
  margin-top: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule__info-note {
    margin-top: 0.9375rem;
    font-size: 0.9375rem;
    line-height: 1.4;
    letter-spacing: initial;
  }
}

.schedule__info-location {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .schedule__info-location {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.schedule__info-image {
  aspect-ratio: 379/213;
  max-width: 23.6875rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 1.125rem;
}

.schedule__info-image img {
  height: 100%;
  object-fit: cover;
}

.schedule-final__list {
  max-width: 29.375rem;
  width: 100%;
  text-align: left;
  margin-inline: auto;
  margin-top: 2.0625rem;
  list-style: disc;
  list-style-position: inside;
}
@media screen and (max-width: 767px) {
  .schedule-final__list {
    margin-top: 1.25rem;
    padding-left: 0.625rem;
    list-style-position: initial;
  }
}

.schedule-final__item {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
  list-style: none;
}

.schedule-final__item + .schedule-final__item {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .schedule-final__item + .schedule-final__item {
    margin-top: 0.9375rem;
  }
}

.schedule-final__sub-list {
  list-style: disc;
  list-style-position: inside;
  margin-top: 0.3125rem;
  margin-left: 0.375rem;
}
@media screen and (max-width: 767px) {
  .schedule-final__sub-list {
    margin-top: initial;
    list-style-position: initial;
  }
}

.schedule-final__sub-item {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.schedule-final__item + .schedule-final__item-bottom {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .schedule-final__item + .schedule-final__item-bottom {
    margin-top: 1.25rem;
  }
}

.schedule-final__item-bottom {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.schedule-final__item-bottom + .schedule-final__item-bottom {
  margin-top: 0.25rem;
}

/* 曲目・時間 performance
==============================================*/
.performance {
  background-image: url(../images/performance-bg@2x.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  width: 100%;
  height: 100%;
  padding-top: 11.5625rem;
  padding-bottom: 10.6875rem;
}
@media screen and (max-width: 767px) {
  .performance {
    padding-block: 5.625rem;
  }
}

.performance__title {
  color: #f5efe6;
}

.performance__title::before {
  background-image: url(../images/text-performance@2x.webp);
  background-size: contain;
  width: 100%;
  height: 12.4375rem;
  top: 123%;
  left: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .performance__title::before {
    top: 2.5rem;
  }
}

.performance__info-container {
  margin-top: 6.875rem;
  background-color: #f8f8f8;
  padding: 3.75rem 3.6875rem 4.8125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .performance__info-container {
    margin-top: 3.75rem;
    padding: 0.9375rem;
  }
}

.performance__info-heading {
  color: #faf6f1;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.06em;
  display: inline-block;
  width: 8.375rem;
  padding-block: 0.875rem;
  background-color: #c8a965;
}
@media screen and (max-width: 767px) {
  .performance__info-heading {
    font-size: 1.25rem;
    padding-block: 0.625rem;
  }
}

.performance-info__main-text {
  margin-top: 2.6875rem;
}
@media screen and (max-width: 767px) {
  .performance-info__main-text {
    margin-top: 1.25rem;
  }
}

.performance-info__main-text,
.performance-info__note {
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .performance-info__main-text,
  .performance-info__note {
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}

.performance-info__note {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .performance-info__note {
    margin-top: 0.9375rem;
  }
}

.performance-info__list {
  margin-top: 2.8125rem;
  padding-left: 1.0625rem;
  text-align: left;
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .performance-info__list {
    margin-top: 1.5625rem;
    padding-left: 0.625rem;
  }
}

.performance-info__item {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .performance-info__item {
    letter-spacing: initial;
  }
}

/* 表彰 award
==============================================*/
.award {
  padding-top: 12.25rem;
  padding-bottom: 12.375rem;
}
@media screen and (max-width: 767px) {
  .award {
    padding-block: 5.625rem;
  }
}

.award__title::before {
  background-image: url(../images/text-award@2x.webp);
  background-size: contain;
  width: 29.375rem;
  height: 9.375rem;
  top: 15%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .award__title::before {
    width: 90%;
  }
}

.award__container {
  margin-top: 6.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .award__container {
    margin-top: 3.75rem;
  }
}

.award__content {
  padding: 2.1875rem 4.0625rem 3.75rem;
  background-color: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .award__content {
    padding: 0.9375rem;
  }
}

.award__content + .award__content {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .award__content + .award__content {
    margin-top: 1.875rem;
  }
}

.award__content-rank {
  position: relative;
  padding-inline: 2rem;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .award__content-rank {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.award__content-rank .number {
  font-size: 2.375rem;
}
@media screen and (max-width: 767px) {
  .award__content-rank .number {
    font-size: 1.875rem;
  }
}

.award__content-rank::before,
.award__content-rank::after {
  content: "";
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
  bottom: 0;
  width: 1.6875rem;
  height: 2.625rem;
  display: inline-block;
}

.award__content--first .award__content-rank {
  color: #c9a651;
}

.award__content--first .award__content-rank::before {
  background-image: url(../images/first-leafL@2x.webp);
  left: 0;
}

.award__content--first .award__content-rank::after {
  background-image: url(../images/first-leafR@2x.webp);
  right: 0;
}

.award__content--second .award__content-rank {
  color: #9b9292;
}

.award__content--second .award__content-rank::before {
  background-image: url(../images/second-leafL@2x.webp);
  left: 0;
}

.award__content--second .award__content-rank::after {
  background-image: url(../images/second-leafR@2x.webp);
  right: 0;
}

.award__content--third .award__content-rank {
  color: #955b01;
}

.award__content--third .award__content-rank::before {
  background-image: url(../images/third-leafL@2x.webp);
  left: 0;
}

.award__content--third .award__content-rank::after {
  background-image: url(../images/third-leafR@2x.webp);
  right: 0;
}

.award__prize,
.award__details {
  margin-top: 1.9375rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .award__prize,
  .award__details {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    letter-spacing: initial;
  }
}

.award__details {
  margin-top: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .award__details {
    margin-top: 0.9375rem;
  }
}

.award__image-wrap {
  margin-top: 1.8125rem;
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .award__image-wrap {
    margin-top: 1.25rem;
    flex-direction: column;
    gap: 0.625rem;
    align-items: center;
  }
}

.award__image {
  aspect-ratio: 290/160;
  width: 18.125rem;
}

.award__note-free,
.award__date,
.award__additional {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.award__note-free {
  margin-top: 3.75rem;
  line-height: 1;
  padding-block: 6px;
  padding-inline: 1.875rem;
  display: inline-block;
  border: 1px solid #333333;
}
@media screen and (max-width: 767px) {
  .award__note-free {
    margin-top: 1.25rem;
    padding-block: 4px;
    padding-inline: 1.25rem;
  }
}

.award__date {
  margin-top: 1.0625rem;
  line-height: 1.65;
}

.award__additional {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .award__additional {
    margin-top: 1.25rem;
  }
}

.award__note {
  width: 34.25rem;
  margin-top: 3.625rem;
  margin-inline: auto;
  padding-block: 0.5rem;
  text-align: center;
  font-size: 1.4375rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  border-top: 2px solid #c8a965;
  border-bottom: 2px solid #c8a965;
}
@media screen and (max-width: 767px) {
  .award__note {
    width: 80%;
    font-size: 1.125rem;
    letter-spacing: initial;
    line-height: 1.5;
    margin-top: 2.5rem;
  }
}

.award__caution {
  margin-top: 6.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .award__caution {
    margin-top: 2.5rem;
  }
}

.award__caution-heading {
  background-color: #333333;
  color: #FFF;
  padding-block: 0.75rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
}

.awrrd__caution-bottom {
  background-color: #f8f8f8;
  padding-top: 0.8125rem;
  padding-bottom: 1.625rem;
}
@media screen and (max-width: 767px) {
  .awrrd__caution-bottom {
    padding: 0.9375rem;
  }
}

.award__caution-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .award__caution-text {
    letter-spacing: initial;
  }
}

.award__caution-text .text-red {
  color: #b81919;
}

.award__caution-text + .award__caution-text {
  margin-top: 1.625rem;
}
@media screen and (max-width: 767px) {
  .award__caution-text + .award__caution-text {
    margin-top: 0.9375rem;
  }
}

/* プロフィール profile
==============================================*/
.profile {
  background-image: url(../images/profile-bg@2x.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 1366/3824;
  width: 100%;
  height: 239rem;
  padding-top: 12rem;
  padding-bottom: 13.1875rem;
}
@media screen and (max-width: 767px) {
  .profile {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
    height: auto;
  }
}

.profile__inner {
  max-width: 58.75rem;
}
@media screen and (max-width: 767px) {
  .profile__inner {
    max-width: 37.5rem;
  }
}

.profile__title {
  color: #FFF;
}

.profile__title::before {
  background-image: url(../images/text-profile@2x.webp);
  width: 27.375rem;
  height: 12.9375rem;
  top: 80%;
  left: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .profile__title::before {
    width: 90%;
  }
}

.profile__container {
  margin-top: 17.0625rem;
}
@media screen and (max-width: 767px) {
  .profile__container {
    margin-top: 3.75rem;
  }
}

.profile__item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .profile__item {
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
  }
}

.profile__item + .profile__item {
  margin-top: 8.625rem;
}
@media screen and (max-width: 767px) {
  .profile__item + .profile__item {
    margin-top: 3.75rem;
  }
}

.profile__text-box {
  background-color: #FFF;
  padding-top: 4.375rem;
  padding-bottom: 4.9375rem;
  padding-left: 3.375rem;
  padding-right: clamp(10rem, 7.993rem + 4.18vw, 11.563rem);
}
@media screen and (max-width: 767px) {
  .profile__text-box {
    order: 1;
    padding: 1.25rem;
  }
}

.profile__role,
.profile__name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.profile__role {
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .profile__role {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
  }
}

.profile__name {
  font-size: 1.75rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .profile__name {
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
  }
}

.profile__item--first .profile__name {
  margin-top: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .profile__item--first .profile__name {
    margin-top: 0.5rem;
  }
}

.profile__description {
  width: 27.8125rem;
  margin-top: 3.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.07em;
  text-align: justify;
  hyphens: auto;
}
@media screen and (max-width: 767px) {
  .profile__description {
    width: 100%;
    margin-top: 1.25rem;
    letter-spacing: initial;
  }
}

.profile__image {
  aspect-ratio: 360/480;
  width: clamp(14.375rem, 3.94rem + 21.74vw, 22.5rem);
  margin-left: -9.625rem;
  margin-top: -3.625rem;
}
@media screen and (max-width: 767px) {
  .profile__image {
    margin-left: initial;
    margin-top: initial;
    width: 12.5rem;
  }
}

.profile__image img {
  height: auto;
  object-fit: cover;
}

.profile__position {
  font-size: 0.875rem;
  padding-left: 0.4375rem;
  letter-spacing: 0.06em;
  text-transform: capitalize;
}

/* 審査員3調整 */
/* 申し込み方法 flow
==============================================*/
.flow {
  background-color: #ededed;
  padding-top: 11.875rem;
  padding-bottom: 11.1875rem;
}
@media screen and (max-width: 767px) {
  .flow {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

.flow__title {
  z-index: 2;
}

.flow__title::before {
  background-image: url(../images/text-flow@2x.webp);
  width: 20.75rem;
  height: 7.5rem;
  top: 51%;
  left: 50%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .flow__title::before {
    width: 90%;
  }
}

.flow__container {
  margin-top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .flow__container {
    margin-top: 3.75rem;
  }
}

.flow__step {
  background-color: #f8f8f8;
  padding: 2.75rem 5.9375rem 3.4375rem 1.5625rem;
  display: flex;
  gap: 2.4375rem;
}
@media screen and (max-width: 767px) {
  .flow__step {
    flex-direction: column;
    align-items: center;
    gap: 0.9375rem;
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}

.flow__step + .flow__step {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .flow__step + .flow__step {
    margin-top: 2.5rem;
  }
}

.flow-step__first {
  padding-bottom: 4.3125rem;
}
@media screen and (max-width: 767px) {
  .flow-step__first {
    padding-bottom: 0.9375rem;
  }
}

.flow-step__third {
  padding-bottom: 4.25rem;
}
@media screen and (max-width: 767px) {
  .flow-step__third {
    padding-bottom: 0.9375rem;
  }
}

.flow-step__second,
.flow-step__third {
  position: relative;
}

.flow-step__second::before,
.flow-step__third::before {
  content: "";
  position: absolute;
  top: -2.875rem;
  left: 6.125rem;
  background-image: url(../images/icon-arrow@2x.webp);
  background-size: cover;
  background-repeat: no-repeat;
  width: 25px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .flow-step__second::before,
  .flow-step__third::before {
    top: -1.25rem;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.flow-step__image {
  aspect-ratio: 1/1;
  width: 6.25rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .flow-step__image {
    width: 3.75rem;
  }
}

.flow-step__content {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .flow-step__content {
    margin-top: initial;
  }
}

.flow-step__heading {
  letter-spacing: 0.06em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .flow-step__heading {
    font-size: 1.125rem;
    letter-spacing: initial;
    text-align: center;
  }
}

.flow-step__period {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .flow-step__period {
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: initial;
    text-align: center;
  }
}

.flow-step__description,
.flow-step__instruction,
.flow-step__bank {
  margin-top: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.58;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .flow-step__description,
  .flow-step__instruction,
  .flow-step__bank {
    margin-top: 0.9375rem;
    letter-spacing: initial;
    font-feature-settings: "palt";
    text-align: justify;
  }
}

.flow-step__second .flow-step__description {
  line-height: 1.73;
}
@media screen and (max-width: 767px) {
  .flow-step__second .flow-step__description {
    max-width: 25rem;
  }
}

.flow-step__instruction {
  margin-top: 2.375rem;
}
@media screen and (max-width: 767px) {
  .flow-step__instruction {
    margin-top: 0.9375rem;
  }
}

.flow-step__bank {
  margin-top: 0.9375rem;
  line-height: 1.73;
}
@media screen and (max-width: 767px) {
  .flow-step__bank {
    font-feature-settings: normal;
    font-size: 0.9375rem;
    font-weight: 500;
  }
}

/* 申し込み application
==============================================*/
.application {
  padding-top: 11.625rem;
  padding-bottom: 12.375rem;
}
@media screen and (max-width: 767px) {
  .application {
    padding-block: 5.625rem;
  }
}

.application__title::before {
  background-image: url(../images/text-application@2x.webp);
  background-size: contain;
  width: 100%;
  height: 13.0625rem;
  top: 100%;
  left: 50%;
}
.application__header {
  text-align: center;
  margin-top: 6.5625rem;
}
@media screen and (max-width: 767px) {
  .application__header {
    margin-top: 3.75rem;
  }
}

.application__description {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .application__description {
    font-size: 1rem;
    letter-spacing: initial;
  }
}

.application__download-btn {
  margin-top: 4.6875rem;
  max-width: 31.25rem;
}
@media screen and (max-width: 767px) {
  .application__download-btn {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    letter-spacing: initial;
  }
}

.application__download-btn span::before {
  background-image: url(../images/icon-download.svg);
}

.application__divider {
  margin-top: 5rem;
  width: 18.75rem;
  height: 1px;
  background-color: #333333;
}
@media screen and (max-width: 767px) {
  .application__divider {
    margin-top: 3.75rem;
  }
}

/* フォーム
==============================================*/
.application__form {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .application__form {
    margin-top: 3.75rem;
  }
}

.form-group__row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .form-group__row {
    flex-direction: column;
    align-items: flex-start;
  }
}

.form-group__row input:focus {
  border: 1px solid #c9a651;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

.form-group__row + .form-group__row {
  margin-top: 1.6875rem;
}

.form-group__label {
  max-width: 17.6875rem;
  width: 100%;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
}

.form-group__required {
  margin-right: 1rem;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  background-color: #c9a651;
  padding-block: 0.125rem;
  padding-inline: 0.75rem;
}
@media screen and (max-width: 767px) {
  .form-group__required {
    margin-right: 0.5rem;
  }
}

.form-group__input {
  flex: 1;
  margin-left: 4.4375rem;
  padding-block: 0.1875rem;
  padding-inline: 0.8125rem;
  border: 1px solid #bfbfbf;
}
@media screen and (max-width: 767px) {
  .form-group__input {
    margin-left: initial;
    margin-top: 0.625rem;
    width: 100%;
  }
}

.form-group__input#application-id,
.form-group__input#identification-id,
.form-group__radio-box {
  border: none;
  padding-left: initial;
  flex: none;
  font-size: 0.875rem;
}

.form-group__input::placeholder {
  color: #d6d6d6;
  font-size: 1rem;
  line-height: 1;
  font-weight: 400;
}

.form-group__note {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  color: #808080;
}

.form-group__idcard {
  font-size: 0.75rem;
  margin-left: 3.625rem;
  letter-spacing: 0.06em;
}

.form-group__row--identification .form-group__label {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .form-group__row--identification .form-group__label {
    line-height: 1.2;
  }
}

.form-group__row.form-group__radio {
  margin-top: 2.5rem;
}

.form-group__row.form-group__radio + .form-group__row.form-group__radio {
  margin-top: 1.5rem;
}

/* ラジオボタンのスタイル調整 */
.form-group__input[type=radio] {
  display: inline-block;
  appearance: radio;
  width: 2.0625rem;
  height: 2.0625rem;
  vertical-align: middle;
  margin: 0 5px 0 0;
}

.form-group__radio-box {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .form-group__radio-box {
    display: flex;
  }
}

/* デフォルトで表示されるラジオボタンを非表示に*/
.form-group__input[type=radio] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

/* カスタムラジオボタンのスタイル（テキストの右側にボタン）*/
.form-group__custom-radio {
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.5;
  padding-right: 3.0625rem;
  display: inline-flex;
  align-items: center;
  margin-right: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .form-group__custom-radio {
    margin-right: 1.25rem;
  }
}

/* カスタムラジオボタンのアイコンの外枠 */
.form-group__custom-radio::after {
  content: "";
  display: inline-block;
  margin-left: 10px;
  width: 2.0625rem;
  height: 2.0625rem;
  border: 1px solid #bfbfbf;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .form-group__custom-radio::after {
    width: 1.875rem;
    height: 1.875rem;
  }
}

/* チェックされた時の内側の点のスタイル */
.form-group__input[type=radio]:checked + .form-group__custom-radio::before {
  content: "";
  position: absolute;
  right: 0.5625rem;
  top: 53%;
  transform: translateY(-50%);
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: #c9a651;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .form-group__input[type=radio]:checked + .form-group__custom-radio::before {
    right: 0.5rem;
  }
}

.form-group__privacy-policy {
  max-width: 43.75rem;
  width: 100%;
  margin-top: 1.6875rem;
  margin-inline: auto;
  padding-block: 0.8125rem;
  padding-inline: 1.0625rem;
  border: 1px solid #bfbfbf;
  height: 80px;
  overflow-y: scroll;
}

.form-group__privacy-text {
  text-align: justify;
  hyphens: auto;
  letter-spacing: 0.06em;
}

.form-group__submit {
  margin-top: 3.6875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form-group__submit {
    margin-top: 1.875rem;
  }
}

/* footer
==============================================*/
.footer {
  background-color: #191817;
  padding-top: 3.6875rem;
  padding-bottom: 0.9375rem;
}

.footer__inner {
  max-width: 32.1875rem;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    max-width: 37.5rem;
    padding-inline: 0.9375rem;
  }
}

@media screen and (max-width: 767px) {
  .footer__sponsors {
    display: grid;
    place-content: center;
  }
}

.footer__text {
  color: #FFF;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .footer__text {
    text-align: left;
  }
}

.footer__text + .footer__text {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer__text + .footer__text {
    margin-top: 0.9375rem;
  }
}

.footer__organizer {
  margin-top: 4.9375rem;
}
@media screen and (max-width: 767px) {
  .footer__organizer {
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .footer__organizer .footer__text {
    margin-top: 2.5rem;
    text-align: center;
  }
}

.footer__copyright {
  margin-top: 1.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    margin-top: 0.9375rem;
  }
}

@media screen and (max-width: 767px) {
  .footer__copyright .footer__text {
    text-align: center;
  }
}

/* 申し込み完了 thanksページ
==============================================*/
.thanks-page {
  padding-top: 14.1875rem;
  padding-bottom: 13.9375rem;
}
@media screen and (max-width: 767px) {
  .thanks-page {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

@media screen and (max-width: 767px) {
  .thanks-page__title {
    letter-spacing: initial;
  }
}

.thanks-page__title::before {
  background-image: url(../images/text-thanks@2x.webp);
  width: 30.8125rem;
  height: 10rem;
  top: 33%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .thanks-page__title::before {
    width: 90%;
  }
}

.thanks-page__description,
.thanks-page__payment-info {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .thanks-page__description,
  .thanks-page__payment-info {
    letter-spacing: initial;
  }
}

.thanks-page__description {
  margin-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .thanks-page__description {
    margin-top: 3.75rem;
    font-size: 0.90625rem;
  }
}

.thanks-page__payment-info {
  margin-top: 4.25rem;
}
@media screen and (max-width: 767px) {
  .thanks-page__payment-info {
    margin-top: 2.5rem;
  }
}

.thanks-page__bank-details {
  margin-top: 1.5625rem;
}

@media screen and (max-width: 767px) {
  .thanks-page__note {
    margin-top: 1.25rem;
  }
}

.thanks-page__button-container {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .thanks-page__button-container {
    margin-top: 3.75rem;
  }
}/*# sourceMappingURL=styles.css.map */

/*20250401修正時追加スタイル */

.greeting__bg-wrap {
  position: relative;
}

.greeting__btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.greeting__btn a {
  font-size: 1.75rem;
  background: linear-gradient(120deg, #f8c972 0%, #fbec9c 49%, #e29c6e 100%);
  letter-spacing: .1em;
  padding: 1.5rem 2rem;
  border-radius: 3rem;
  overflow: hidden;
  position: relative;
  display: block;
  transition: transform 0.4s ease-in-out;
  box-shadow: -2px 5px 15px 0px rgba(251, 226, 156, .7);
}
.greeting__btn a::before {
  content: "";
  display: block;
  width: 5rem;
  height: 300%;
  top: 50%;
  position: absolute;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: translate(-500%, -50%) rotate(45deg);
  transition: transform 0.7s ease-in-out;
}
.greeting__btn a:hover {
  opacity: 1;
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(251, 226, 156, 0.8);
}

.greeting__btn a:hover::before {
  transform: translate(1000%, -50%) rotate(45deg);
}

.greeting__btn a span {
  font-family: "Noto Serif JP", serif;
  color: #333333;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (max-width: 1000px){
  .greeting__btn {
    top: 60%;
  }
}
@media screen and (max-width: 767px){
  .greeting__btn {
    top: 70%;
  }
  .greeting__btn a {
    font-size: 1rem;
    padding: .75rem 1rem;
    box-shadow: -2px 3px 10px 0px rgba(251, 226, 156, .7);
  }
}


.results-table {
  margin-top: 2rem;
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}

.results-table th,
.results-table td {
  font-family: "Noto Serif JP", serif;
  border: 1px solid #ccc;
  padding: 0.75em 1em;
  text-align: left;
}

.results-table th {
  background-color: #f5f1e9;
  font-weight: bold;
}

.results-table tr:nth-child(even) {
  background-color: #f9f9f9;
}

.award-card {
  padding: .7rem 1.5rem 1rem;
  border-radius: 1rem;
  margin: 3rem auto 0;
  text-align: center;
  max-width: 375px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  font-family: "Noto Serif JP", serif;
}

.award-card .name {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
.award__content--third.special .award__content-rank{
  color: #333333;
}
.award__content--third.special .award__content-rank::after{
  filter: brightness(0);
}
.award__content--third.special .award__content-rank::before{
  filter: brightness(0);
}