@charset "UTF-8";
/* 2027年度エントリ。変数のみ年度別、ブロックは 2026年度と共通 */
/* ------------------------------ */
/* Functions */
/* ------------------------------ */
/* 375pxを基準に値を計算 */
/* 2027年度 変数
 * 2026年度（_variables.scss）とは別ファイルにして年度を分離。ブロックSCSSは共通。
 * カラーは 2027年度のイラストに合わせて再設計する（Day 4）。現時点は 2026年度の値を仮置き。
 * 部門は 8部門（--color-1〜8）、審査員特別賞ナビ用は --color-9（部門数＋1）。
 */
/* 部門色ループの上限（nav / section / btn で共通利用）。2027年度は 8部門＋審査員特別賞ナビ＝9。来年は部門数に合わせてここだけ変える */
:root {
  --mirai-award-font-size-base: 16px;
  /* 強調（応募締切など） */
  --color-alert: #E94712;
  --content-width: 1000px;
  --color-txt1: #333333;
  --color-txt2: #695734;
  --color-white: #FFFFFF;
  /* 部門色（1〜8）※仮置き。2027年度版として全面再設計する */
  --color-1: #2186B3;
  --color-1-bg: #E8F5FC;
  --color-2: #EAAC2A;
  --color-2-bg: #FDF8EC;
  --color-3: #E94712;
  --color-3-bg: #F5D9C4;
  --color-4: #45B473;
  --color-4-bg: #DFF2E7;
  --color-5: #9B8BCB;
  --color-5-bg: #EFEDF7;
  --color-6: #E4A3B3;
  --color-6-bg: #F3DFD3;
  --color-7: #4A6FA5;
  --color-7-bg: #CED8E7;
  --color-8: #3FA9A5;
  --color-8-bg: #DFF3F2;
  /* 審査員特別賞ナビ用（部門数＋1。2026年度の --color-8 と同じ役割） */
  --color-9: var(--color-txt2);
  --color-9-bg: #FFFDF8;
  --color-vote: #FAA00B;
  /* 自薦募集（第1弾）の枠・ボタン。2027 はグリーン基調に合わせてロゴの「みらい」の緑 */
  --color-entry: #3BA86A;
  --color-entry-bg: #EEF6E9;
}

/* Blocks */
/* ------------------------------ */
/* Inner */
/* ------------------------------ */
.b-mirai-award-inner {
  font-size: var(--mirai-award-font-size-base);
  color: var(--color-txt1);
  background-image: url("../images/2027/bg-paper.jpg");
  background-size: 100% auto;
  background-repeat: repeat-y;
}

/* ------------------------------ */
/* Hero */
/* ------------------------------ */
.b-mirai-award-hero {
  max-width: 1280px;
  margin: 0 auto 50px;
  background-color: transparent !important;
}
@media (max-width: 599px) {
  .b-mirai-award-hero {
    margin: 0 auto 10.6666666667vw;
    width: 100%;
    border: none;
  }
}

/* ------------------------------ */
/* About */
/* ------------------------------ */
.b-mirai-award-about {
  max-width: var(--content-width);
  margin: 0 auto;
}
@media (max-width: 599px) {
  .b-mirai-award-about {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-about__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  margin: 0 0 20px;
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: var(--color-txt2);
}
.b-mirai-award-about__title::before, .b-mirai-award-about__title::after {
  content: "";
  display: block;
  width: 150px;
  height: 54px;
  background-image: url("../images/2027/about-title-deco.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 599px) {
  .b-mirai-award-about__title {
    font-size: 4.8vw;
    gap: 2.1333333333vw;
    margin: 0 0 2.6666666667vw;
  }
  .b-mirai-award-about__title::before, .b-mirai-award-about__title::after {
    width: 13.3333333333vw;
    height: 4.8vw;
  }
}
.b-mirai-award-about__txt {
  line-height: 1.8;
}
.b-mirai-award-about__txt > p {
  margin: 0 0 16px;
}
@media (max-width: 599px) {
  .b-mirai-award-about__txt {
    font-size: 3.7333333333vw;
  }
  .b-mirai-award-about__txt > p {
    margin: 0 0 3.2vw;
  }
}

/* ------------------------------ */
/* Grand Prize */
/* ------------------------------ */
.b-mirai-award-grand-prize {
  max-width: var(--content-width);
  margin: 0 auto;
  position: relative;
  min-height: 647px;
  background-color: var(--color-white);
  border: 3px solid #ccba5a;
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .b-mirai-award-grand-prize {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-grand-prize__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.b-mirai-award-grand-prize__deco-left {
  position: absolute;
  top: 26px;
  left: 51px;
  width: 266px;
  height: auto;
}
.b-mirai-award-grand-prize__deco-right {
  position: absolute;
  top: 26px;
  left: 701px;
  width: 250px;
  height: auto;
}
.b-mirai-award-grand-prize__deco-chars-left {
  position: absolute;
  top: 232px;
  left: 90px;
  height: 168px;
  width: auto;
}
.b-mirai-award-grand-prize__deco-chars-right {
  position: absolute;
  top: 234px;
  left: 694px;
  height: 163px;
  width: auto;
}
.b-mirai-award-grand-prize__header {
  position: absolute;
  top: 30px;
  left: 303px;
  width: 395px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.b-mirai-award-grand-prize__badge {
  width: 160px;
  height: auto;
}
.b-mirai-award-grand-prize__award-name {
  font-size: 32px;
  font-weight: bold;
  color: #ccba5a;
  text-align: center;
  line-height: 1.3;
  white-space: nowrap;
}
.b-mirai-award-grand-prize__content {
  position: absolute;
  top: 242px;
  left: 250px;
  width: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.b-mirai-award-grand-prize__img {
  width: 250px;
  aspect-ratio: 5/4;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.b-mirai-award-grand-prize__info {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.b-mirai-award-grand-prize__name {
  font-size: 16px;
  font-weight: bold;
  color: #ccba5a;
  line-height: 1.8;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #ccba5a;
  text-align: center;
}
.b-mirai-award-grand-prize__maker {
  font-size: 12px;
  color: var(--color-txt1);
  text-align: center;
}
.b-mirai-award-grand-prize__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  font-size: 16px;
  font-weight: bold;
  color: var(--color-white);
  background-color: #ccba5a;
  border-radius: 70px;
}
.b-mirai-award-grand-prize__btn::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 24px;
  height: 24px;
  -webkit-mask-image: url("../images/2027/icon-arrow-mask.svg");
          mask-image: url("../images/2027/icon-arrow-mask.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--color-white);
}
@media (min-width: 600px) {
  .b-mirai-award-grand-prize__btn:hover {
    background-color: var(--color-white);
    color: #ccba5a;
    border: 3px solid #ccba5a;
  }
  .b-mirai-award-grand-prize__btn:hover::after {
    background-color: #ccba5a;
  }
}
@media (max-width: 599px) {
  .b-mirai-award-grand-prize {
    min-height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4vw;
    width: auto;
    margin: 0 4vw;
    padding: 8vw 4vw 5.3333333333vw;
  }
  .b-mirai-award-grand-prize__deco-left {
    top: 5.3333333333vw;
    left: 0;
    width: 34.6666666667vw;
  }
  .b-mirai-award-grand-prize__deco-right {
    top: 5.3333333333vw;
    left: auto;
    right: 0;
    width: 34.6666666667vw;
  }
  .b-mirai-award-grand-prize__deco-chars-left {
    top: 65.3333333333vw;
    left: 2.6666666667vw;
    height: 16vw;
    width: auto;
  }
  .b-mirai-award-grand-prize__deco-chars-right {
    top: 65.3333333333vw;
    left: auto;
    right: 2.6666666667vw;
    height: 16vw;
    width: auto;
  }
  .b-mirai-award-grand-prize__header, .b-mirai-award-grand-prize__content {
    position: static;
    width: 100%;
  }
  .b-mirai-award-grand-prize__badge {
    width: 26.6666666667vw;
  }
  .b-mirai-award-grand-prize__award-name {
    font-size: 5.8666666667vw;
  }
  .b-mirai-award-grand-prize__img {
    width: 42.6666666667vw;
  }
  .b-mirai-award-grand-prize__name {
    font-size: 3.7333333333vw;
  }
  .b-mirai-award-grand-prize__maker {
    font-size: 2.9333333333vw;
  }
  .b-mirai-award-grand-prize__btn {
    height: 13.3333333333vw;
    font-size: 3.7333333333vw;
    gap: 2.1333333333vw;
  }
  .b-mirai-award-grand-prize__btn::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}

/* ------------------------------ */
/* Excellence Award */
/* ------------------------------ */
.b-mirai-award-excellence {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 60px 0;
}
@media (max-width: 599px) {
  .b-mirai-award-excellence {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-excellence__title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: #999;
  margin: 0 0 40px;
}
.b-mirai-award-excellence .b-mirai-award-result-card {
  display: grid;
  grid-template-columns: auto 200px;
  grid-template-areas: "header img" "info   info" "btn    btn";
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 20px;
  width: 100%;
  margin: 0;
  padding: 30px 40px;
}
.b-mirai-award-excellence .b-mirai-award-result-card__header {
  grid-area: header;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.b-mirai-award-excellence .b-mirai-award-result-card__img {
  grid-area: img;
  width: 200px;
  aspect-ratio: 5/4;
  margin: 0;
}
.b-mirai-award-excellence .b-mirai-award-result-card__info {
  grid-area: info;
  max-width: 500px;
  width: 100%;
  justify-self: center;
}
.b-mirai-award-excellence .b-mirai-award-result-card__btn {
  grid-area: btn;
  max-width: 500px;
  width: 100%;
  justify-self: center;
}
.b-mirai-award-excellence .b-mirai-award-result-card__badge {
  width: 140px;
}
.b-mirai-award-excellence .b-mirai-award-result-card__award-name {
  font-size: 28px;
}
@media (max-width: 599px) {
  .b-mirai-award-excellence {
    width: auto;
    margin: 0 4vw;
    padding: 10.6666666667vw 0;
  }
  .b-mirai-award-excellence__title {
    font-size: 5.3333333333vw;
    margin: 0 0 5.3333333333vw;
  }
  .b-mirai-award-excellence .b-mirai-award-result-card {
    grid-template-columns: auto 32vw;
  }
  .b-mirai-award-excellence .b-mirai-award-result-card__img {
    width: 32vw;
  }
  .b-mirai-award-excellence .b-mirai-award-result-card__badge {
    width: 24vw;
  }
  .b-mirai-award-excellence .b-mirai-award-result-card__award-name {
    font-size: 4.8vw;
  }
}

/* ------------------------------ */
/* Nav */
/* ------------------------------ */
.b-mirai-award-nav {
  max-width: var(--content-width);
  margin: 0 auto;
  position: relative;
  top: 0;
  left: 0;
  padding: 60px 0;
  background-color: transparent;
  z-index: inherit;
  /* PC の列数（省略時は 4列）。部門数に合わせてテンプレート側で選ぶ */
  /* 紹介表示（リンクなし・矢印なし・ホバーなし）。第1弾の「募集部門」で使用 */
}
@media (max-width: 599px) {
  .b-mirai-award-nav {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-nav__title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: var(--color-txt2);
  margin: 0 0 40px;
}
.b-mirai-award-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 14px;
}
.b-mirai-award-nav__list__item {
  --item-color: var(--color-txt);
  width: calc((100% - 42px) / 4);
}
.b-mirai-award-nav__list__item__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  border-radius: 10px;
  padding: 20px 10px 10px;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  /* 部門の説明文（任意）。部門名の下に小さく、左揃えで */
}
.b-mirai-award-nav__list__item__link__num {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 43px;
  height: 43px;
  color: var(--color-white);
  font-size: 28px;
  background-color: var(--item-color);
  border-bottom-right-radius: 10px;
}
.b-mirai-award-nav__list__item__link__img {
  width: 180px;
  margin: 0 auto 10px;
}
.b-mirai-award-nav__list__item__link__txt-sub {
  font-size: 12px;
  line-height: 1.2;
  margin: 0 0 5px;
}
.b-mirai-award-nav__list__item__link__txt-main {
  font-size: 20px;
  text-align: center;
  color: var(--item-color);
  line-height: 1.1;
  margin: 0 0 10px;
}
.b-mirai-award-nav__list__item__link__txt-main small {
  display: block;
  font-size: 14px;
}
.b-mirai-award-nav__list__item__link__desc {
  display: block;
  width: 100%;
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.6;
  text-align: left;
  color: #666666;
}
.b-mirai-award-nav__list__item__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0px solid var(--item-color);
  border-radius: 10px;
  -webkit-transition: border-width 0.3s ease;
  transition: border-width 0.3s ease;
}
.b-mirai-award-nav__list__item__link::after {
  content: "";
  display: block;
  -webkit-mask-image: url("../images/2027/icon-arrow-mask.svg");
          mask-image: url("../images/2027/icon-arrow-mask.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 24px;
  height: 24px;
  background-color: var(--color-txt2);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.b-mirai-award-nav__list__item:nth-child(1) {
  --item-color: var(--color-1);
}
.b-mirai-award-nav__list__item:nth-child(2) {
  --item-color: var(--color-2);
}
.b-mirai-award-nav__list__item:nth-child(3) {
  --item-color: var(--color-3);
}
.b-mirai-award-nav__list__item:nth-child(4) {
  --item-color: var(--color-4);
}
.b-mirai-award-nav__list__item:nth-child(5) {
  --item-color: var(--color-5);
}
.b-mirai-award-nav__list__item:nth-child(6) {
  --item-color: var(--color-6);
}
.b-mirai-award-nav__list__item:nth-child(7) {
  --item-color: var(--color-7);
}
.b-mirai-award-nav__list__item:nth-child(8) {
  --item-color: var(--color-8);
}
.b-mirai-award-nav__list__item:nth-child(9) {
  --item-color: var(--color-9);
}
@media (min-width: 600px) {
  .b-mirai-award-nav--col3 .b-mirai-award-nav__list__item {
    width: calc((100% - 28px) / 3);
  }
  .b-mirai-award-nav--col4 .b-mirai-award-nav__list__item {
    width: calc((100% - 42px) / 4);
  }
}
.b-mirai-award-nav--static .b-mirai-award-nav__list__item__link {
  cursor: default;
}
.b-mirai-award-nav--static .b-mirai-award-nav__list__item__link__txt-main {
  margin-bottom: 0;
}
.b-mirai-award-nav--static .b-mirai-award-nav__list__item__link::after {
  display: none;
}
.b-mirai-award-nav--static .b-mirai-award-nav__list__item__link:hover::before {
  border-width: 0;
}
@media (max-width: 599px) {
  .b-mirai-award-nav {
    display: block;
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .b-mirai-award-nav__title {
    font-size: 4.8vw;
    margin: 0 0 5.3333333333vw;
  }
  .b-mirai-award-nav__list {
    gap: 4vw 2.6666666667vw;
  }
  .b-mirai-award-nav__list__item {
    width: calc((100% - 2.6666666667vw) / 2);
  }
  .b-mirai-award-nav__list__item__link {
    padding: 4vw 1.3333333333vw 2.6666666667vw;
  }
  .b-mirai-award-nav__list__item__link__num {
    width: 8vw;
    height: 8vw;
    font-size: 4.8vw;
  }
  .b-mirai-award-nav__list__item__link__img {
    width: 24vw;
    margin-bottom: 1.3333333333vw;
  }
  .b-mirai-award-nav__list__item__link__txt-sub {
    font-size: 2.6666666667vw;
    margin-bottom: 0.8vw;
  }
  .b-mirai-award-nav__list__item__link__txt-main {
    font-size: 4.2666666667vw;
  }
  .b-mirai-award-nav__list__item__link__txt-main small {
    font-size: 3.2vw;
  }
  .b-mirai-award-nav__list__item__link__desc {
    margin-top: 1.6vw;
    font-size: 2.6666666667vw;
    line-height: 1.5;
  }
  .b-mirai-award-nav__list__item__link::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
@media (min-width: 600px) {
  .b-mirai-award-nav__list__item__link:hover::before {
    border-width: 4px;
  }
  .b-mirai-award-nav__list__item__link:hover::after {
    background-color: var(--item-color);
  }
}

/* ------------------------------ */
/* Section */
/* ------------------------------ */
.b-mirai-award-section {
  --section-color: var(--color-txt2);
  --section-bg-color: var(--color-white);
  background-color: var(--section-bg-color);
  -webkit-mask-image: url(../images/2027/wave-mask.svg), url(../images/2027/mask.svg);
          mask-image: url(../images/2027/wave-mask.svg), url(../images/2027/mask.svg);
  -webkit-mask-size: 50px auto, cover;
          mask-size: 50px auto, cover;
  -webkit-mask-repeat: repeat-x, no-repeat;
          mask-repeat: repeat-x, no-repeat;
  -webkit-mask-position: top left, center;
          mask-position: top left, center;
  -webkit-mask-composite: xor, source-over;
          mask-composite: exclude, add;
  margin: -12px 0 0;
  padding: 100px 0 80px;
}
.b-mirai-award-section__contents {
  max-width: var(--content-width);
  margin: 0 auto;
}
@media (max-width: 599px) {
  .b-mirai-award-section__contents {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  margin: 0 0 20px;
  font-weight: bold;
}
.b-mirai-award-section__title__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 80px;
  height: 80px;
  font-size: 43px;
  color: var(--color-white);
  background-color: var(--section-color);
  border-radius: 50%;
}
.b-mirai-award-section__title__txt-sub {
  font-size: 20px;
}
.b-mirai-award-section__title__txt-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 400px;
  height: 92px;
  font-size: 32px;
  text-align: center;
  line-height: 1.2;
  -webkit-mask-image: url(../images/2027/section-title-bg.svg);
          mask-image: url(../images/2027/section-title-bg.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--color-white);
}
.b-mirai-award-section__title__txt-main span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 16px 0 0;
}
.b-mirai-award-section__title__txt-main small {
  font-size: 22px;
}
.b-mirai-award-section__title__txt-main::before {
  content: "";
  display: block;
  width: 56px;
  height: 100%;
  background-color: var(--section-color);
}
.b-mirai-award-section__lead {
  font-size: 16px;
  line-height: 1.8;
}
.b-mirai-award-section#section-1 {
  --section-color: var(--color-1);
  --section-bg-color: var(--color-1-bg);
}
.b-mirai-award-section#section-2 {
  --section-color: var(--color-2);
  --section-bg-color: var(--color-2-bg);
}
.b-mirai-award-section#section-3 {
  --section-color: var(--color-3);
  --section-bg-color: var(--color-3-bg);
}
.b-mirai-award-section#section-4 {
  --section-color: var(--color-4);
  --section-bg-color: var(--color-4-bg);
}
.b-mirai-award-section#section-5 {
  --section-color: var(--color-5);
  --section-bg-color: var(--color-5-bg);
}
.b-mirai-award-section#section-6 {
  --section-color: var(--color-6);
  --section-bg-color: var(--color-6-bg);
}
.b-mirai-award-section#section-7 {
  --section-color: var(--color-7);
  --section-bg-color: var(--color-7-bg);
}
.b-mirai-award-section#section-8 {
  --section-color: var(--color-8);
  --section-bg-color: var(--color-8-bg);
}
.b-mirai-award-section#section-9 {
  --section-color: var(--color-9);
  --section-bg-color: var(--color-9-bg);
}
@media (max-width: 599px) {
  .b-mirai-award-section {
    padding: 13.3333333333vw 0 10.6666666667vw;
  }
  .b-mirai-award-section__title__num {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    font-size: 7.4666666667vw;
  }
  .b-mirai-award-section__title__txt-sub {
    font-size: 3.7333333333vw;
  }
  .b-mirai-award-section__title__txt-main {
    width: 66.6666666667vw;
    height: 16vw;
    font-size: 4.8vw;
  }
  .b-mirai-award-section__title__txt-main span {
    padding: 2.1333333333vw 0 0;
  }
  .b-mirai-award-section__title__txt-main small {
    font-size: 3.2vw;
  }
  .b-mirai-award-section__title__txt-main::before {
    width: 9.6vw;
  }
  .b-mirai-award-section__lead {
    font-size: 3.7333333333vw;
  }
}

/* ------------------------------ */
/* Button */
/* ------------------------------ */
.b-mirai-award-btn {
  --btn-color: var(--color-txt2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin: 20px auto;
  width: 600px;
  height: 60px;
  font-weight: bold;
  color: var(--color-white);
  line-height: 1.2;
  background-color: var(--btn-color);
  border-radius: 30px;
}
.b-mirai-award-btn::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 24px;
  height: 24px;
  -webkit-mask-image: url("../images/2027/icon-arrow-mask.svg");
          mask-image: url("../images/2027/icon-arrow-mask.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--color-white);
}
.b-mirai-award-btn--vote {
  font-size: 23px;
  background-color: var(--color-vote);
  border: 5px solid var(--color-white);
}
.b-mirai-award-btn--vote::after {
  width: 45px;
  height: 52px;
  background-image: url("../images/2027/icon-vote.svg");
  -webkit-mask-image: none;
          mask-image: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
}
@media (max-width: 599px) {
  .b-mirai-award-btn {
    width: 80vw;
    height: 16vw;
    font-size: 4.2666666667vw;
    text-align: center;
    gap: 1.3333333333vw;
    margin: 2.6666666667vw auto;
    border-radius: 8vw;
  }
  .b-mirai-award-btn::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  .b-mirai-award-btn--vote {
    font-size: 4.2666666667vw;
  }
  .b-mirai-award-btn--vote::after {
    width: 8vw;
    height: 9.3333333333vw;
  }
}
@media (min-width: 600px) {
  .b-mirai-award-btn:hover {
    background-color: var(--color-white);
    color: var(--btn-color);
    border: 3px solid var(--btn-color);
  }
  .b-mirai-award-btn:hover::after {
    background-color: var(--btn-color);
  }
  .b-mirai-award-btn--vote:hover {
    background-color: var(--color-white);
    color: var(--color-vote);
    border: 5px solid var(--color-vote);
  }
  .b-mirai-award-btn--vote:hover::after {
    background-color: transparent;
  }
}

#section-1 .b-mirai-award-btn {
  --btn-color: var(--color-1);
}

#section-2 .b-mirai-award-btn {
  --btn-color: var(--color-2);
}

#section-3 .b-mirai-award-btn {
  --btn-color: var(--color-3);
}

#section-4 .b-mirai-award-btn {
  --btn-color: var(--color-4);
}

#section-5 .b-mirai-award-btn {
  --btn-color: var(--color-5);
}

#section-6 .b-mirai-award-btn {
  --btn-color: var(--color-6);
}

#section-7 .b-mirai-award-btn {
  --btn-color: var(--color-7);
}

#section-8 .b-mirai-award-btn {
  --btn-color: var(--color-8);
}

#section-9 .b-mirai-award-btn {
  --btn-color: var(--color-9);
}

/* ------------------------------ */
/* Nomination List */
/* ------------------------------ */
.b-mirai-award-nomination-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 14px;
  margin: 50px 0;
}
.b-mirai-award-nomination-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc((100% - 42px) / 4);
  padding: 30px 20px;
  background-color: var(--color-white);
  border-radius: 10px;
}
.b-mirai-award-nomination-list__item__img {
  position: relative;
  aspect-ratio: 5/4;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 0 20px;
}
.b-mirai-award-nomination-list__item__name {
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px;
}
.b-mirai-award-nomination-list__item__maker {
  font-size: 12px;
}
.b-mirai-award-nomination-list__item__note {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.2;
}
@media (max-width: 599px) {
  .b-mirai-award-nomination-list {
    gap: 15px 10px;
    margin: 8vw 0;
  }
  .b-mirai-award-nomination-list__item {
    width: calc((100% - 10px) / 2);
    padding: 5.3333333333vw 4vw;
  }
  .b-mirai-award-nomination-list__item__img {
    margin: 0 0 4vw;
  }
  .b-mirai-award-nomination-list__item__name {
    font-size: 3.2vw;
    margin: 0 0 2.1333333333vw;
  }
  .b-mirai-award-nomination-list__item__maker {
    font-size: 2.6666666667vw;
  }
  .b-mirai-award-nomination-list__item__note {
    font-size: 2.1333333333vw;
  }
}

/* ------------------------------ */
/* Result Card */
/* ------------------------------ */
.b-mirai-award-result-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 480px;
  padding: 20px;
  margin: 50px auto;
  background-color: var(--color-white);
  border: 3px solid var(--section-color, var(--color-txt2));
  border-radius: 10px;
}
.b-mirai-award-result-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.b-mirai-award-result-card__badge {
  width: 100px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.b-mirai-award-result-card__award-name {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  color: var(--section-color, var(--color-txt2));
}
.b-mirai-award-result-card__img {
  width: 200px;
  aspect-ratio: 5/4;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.b-mirai-award-result-card__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  width: 100%;
}
.b-mirai-award-result-card__name {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
  color: var(--section-color, var(--color-txt2));
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--section-color, var(--color-txt2));
  text-align: center;
}
.b-mirai-award-result-card__maker {
  font-size: 12px;
  color: var(--color-txt1);
  text-align: center;
}
.b-mirai-award-result-card__judge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  width: 100%;
  padding: 10px 20px;
  background-color: #f2f6ee;
  border-radius: 10px;
}
.b-mirai-award-result-card__judge-avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 80px;
}
.b-mirai-award-result-card__judge-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.b-mirai-award-result-card__judge-title {
  display: block;
  font-size: 10px;
  color: var(--color-txt1);
  text-align: center;
  line-height: 1.3;
}
.b-mirai-award-result-card__judge-name {
  display: block;
  font-size: 12px;
  font-weight: bold;
  color: var(--color-txt1);
  text-align: center;
}
.b-mirai-award-result-card__judge-comment {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 12px;
  line-height: 1.4;
  color: var(--color-txt1);
}
.b-mirai-award-result-card__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  font-size: 16px;
  font-weight: bold;
  color: var(--color-white);
  background-color: var(--section-color, var(--color-txt2));
  border-radius: 70px;
}
.b-mirai-award-result-card__btn::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 24px;
  height: 24px;
  -webkit-mask-image: url("../images/2027/icon-arrow-mask.svg");
          mask-image: url("../images/2027/icon-arrow-mask.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--color-white);
}
@media (min-width: 600px) {
  .b-mirai-award-result-card__btn:hover {
    background-color: var(--color-white);
    color: var(--section-color, var(--color-txt2));
    border: 3px solid var(--section-color, var(--color-txt2));
  }
  .b-mirai-award-result-card__btn:hover::after {
    background-color: var(--section-color, var(--color-txt2));
  }
}
@media (max-width: 599px) {
  .b-mirai-award-result-card {
    width: 100%;
    gap: 4vw;
    padding: 4vw;
    margin: 8vw auto;
  }
  .b-mirai-award-result-card__badge {
    width: 18.6666666667vw;
  }
  .b-mirai-award-result-card__award-name {
    font-size: 5.3333333333vw;
  }
  .b-mirai-award-result-card__img {
    width: 37.3333333333vw;
  }
  .b-mirai-award-result-card__name {
    font-size: 3.7333333333vw;
  }
  .b-mirai-award-result-card__maker {
    font-size: 2.9333333333vw;
  }
  .b-mirai-award-result-card__judge {
    gap: 3.2vw;
    padding: 2.1333333333vw 3.2vw;
  }
  .b-mirai-award-result-card__judge-avatar {
    width: 16vw;
  }
  .b-mirai-award-result-card__judge-img {
    width: 16vw;
    height: 16vw;
  }
  .b-mirai-award-result-card__judge-title {
    font-size: 2.4vw;
  }
  .b-mirai-award-result-card__judge-name {
    font-size: 2.9333333333vw;
  }
  .b-mirai-award-result-card__judge-comment {
    font-size: 3.2vw;
  }
  .b-mirai-award-result-card__btn {
    height: 13.3333333333vw;
    font-size: 3.7333333333vw;
    gap: 2.1333333333vw;
  }
  .b-mirai-award-result-card__btn::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}

/* ------------------------------ */
/* Judge */
/* ------------------------------ */
.b-mirai-award-judge {
  padding: 10.6666666667vw 5.3333333333vw 16vw;
  background-image: url("../images/2027/bg-paper2.jpg");
  background-size: 100% auto;
  background-repeat: repeat-y;
  -webkit-mask-image: url(../images/2027/wave-mask.svg), url(../images/2027/mask.svg);
          mask-image: url(../images/2027/wave-mask.svg), url(../images/2027/mask.svg);
  -webkit-mask-size: 50px auto, cover;
          mask-size: 50px auto, cover;
  -webkit-mask-repeat: repeat-x, no-repeat;
          mask-repeat: repeat-x, no-repeat;
  -webkit-mask-position: top left, center;
          mask-position: top left, center;
  -webkit-mask-composite: xor, source-over;
          mask-composite: exclude, add;
  margin: -12px 0 0;
  padding: 100px 0 80px;
}
.b-mirai-award-judge__contents {
  max-width: var(--content-width);
  margin: 0 auto;
}
@media (max-width: 599px) {
  .b-mirai-award-judge__contents {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-judge__title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: var(--color-txt2);
  margin: 0 0 20px;
}
.b-mirai-award-judge__lead {
  line-height: 1.8;
  margin: 0 0 20px;
}
.b-mirai-award-judge__card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.b-mirai-award-judge__card-list .b-mirai-award-result-card {
  margin: 0;
}
.b-mirai-award-judge__sub-section {
  margin: 60px 0;
}
.b-mirai-award-judge__sub-section__title {
  font-size: 32px;
  font-weight: bold;
  color: var(--color-txt2);
  text-align: center;
  margin: 0 0 20px;
}
.b-mirai-award-judge__sub-section__txt {
  line-height: 1.8;
  margin: 20px 0;
}
.b-mirai-award-judge__sub-section__img {
  margin: 20px auto;
}
@media (max-width: 599px) {
  .b-mirai-award-judge {
    padding: 10.6666666667vw 0;
  }
  .b-mirai-award-judge__title {
    font-size: 5.3333333333vw;
    margin: 0 0 2.6666666667vw;
  }
  .b-mirai-award-judge__lead {
    font-size: 3.7333333333vw;
    margin: 0 0 2.6666666667vw;
  }
  .b-mirai-award-judge__card-list {
    gap: 5.3333333333vw;
  }
  .b-mirai-award-judge__sub-section {
    margin: 8vw 0;
  }
  .b-mirai-award-judge__sub-section__title {
    font-size: 5.3333333333vw;
    margin: 0 0 2.6666666667vw;
  }
  .b-mirai-award-judge__sub-section__txt {
    font-size: 3.7333333333vw;
    margin: 2.6666666667vw 0;
  }
  .b-mirai-award-judge__sub-section__img {
    width: 100%;
    height: auto;
    margin: 2.6666666667vw auto;
  }
}

/* ------------------------------ */
/* Judge List */
/* ------------------------------ */
.b-mirai-award-judge-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin: 20px 0;
}
.b-mirai-award-judge-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc((100% - 40px) / 3);
  padding: 30px 20px;
  background-color: var(--color-white);
  border-radius: 10px;
}
.b-mirai-award-judge-list__item__img {
  position: relative;
  aspect-ratio: 5/4;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 0 10px;
  border-radius: 8px;
}
.b-mirai-award-judge-list__item__title {
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
.b-mirai-award-judge-list__item__name {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 10px;
}
.b-mirai-award-judge-list__item__info {
  font-size: 14px;
  line-height: 1.8;
}
.b-mirai-award-judge-list--l .b-mirai-award-judge-list {
  gap: 40px;
}
.b-mirai-award-judge-list--l .b-mirai-award-judge-list__item {
  width: calc((100% - 40px) / 2);
}
.b-mirai-award-judge-list--l .b-mirai-award-judge-list__item__img {
  aspect-ratio: 20/13;
}
@media (max-width: 599px) {
  .b-mirai-award-judge-list {
    gap: 15px;
    margin: 4vw 0;
  }
  .b-mirai-award-judge-list__item {
    width: 100%;
    padding: 5.3333333333vw 4vw;
    border-radius: 2.6666666667vw;
  }
  .b-mirai-award-judge-list__item__img {
    margin: 0 0 2.1333333333vw;
    border-radius: 2.1333333333vw;
  }
  .b-mirai-award-judge-list__item__title {
    font-size: 3.2vw;
  }
  .b-mirai-award-judge-list__item__name {
    font-size: 4.8vw;
    margin: 0 0 2.1333333333vw;
  }
  .b-mirai-award-judge-list__item__info {
    font-size: 3.2vw;
  }
  .b-mirai-award-judge-list--l .b-mirai-award-judge-list__item {
    width: 100%;
  }
}

/* ------------------------------ */
/* Rule */
/* ------------------------------ */
.b-mirai-award-rule {
  padding-bottom: 60px;
  background-image: url("../images/2027/bg-paper2.jpg");
}
.b-mirai-award-rule__contents {
  max-width: var(--content-width);
  margin: 0 auto;
  background-color: var(--color-white);
  padding: 60px 30px;
}
@media (max-width: 599px) {
  .b-mirai-award-rule__contents {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-rule__title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  color: var(--color-txt2);
}
.b-mirai-award-rule__txt {
  line-height: 1.8;
}
@media (max-width: 599px) {
  .b-mirai-award-rule__contents {
    padding: 10.6666666667vw 5.3333333333vw;
  }
  .b-mirai-award-rule__title {
    font-size: 7.4666666667vw;
    margin-bottom: 4vw;
  }
}

/* ------------------------------ */
/* Float Button */
/* ------------------------------ */
.b-mirai-award-float-btn {
  position: fixed;
  bottom: 200px;
  right: 20px;
  z-index: 1000;
  display: block;
  width: 180px;
  height: 180px;
}
@media (max-width: 599px) {
  .b-mirai-award-float-btn {
    width: 24vw;
    height: 24vw;
    bottom: 5.3333333333vw;
    right: 4vw;
  }
}
.b-mirai-award-float-btn.is-disabled {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-white);
  background-color: #999;
  border-radius: 50%;
  pointer-events: none;
  cursor: default;
}
@media (max-width: 599px) {
  .b-mirai-award-float-btn.is-disabled {
    font-size: 2.6666666667vw;
  }
}

/* ------------------------------ */
/* Entry（自薦募集）2027年度に新設 */
/* 意匠は Rule（投票について枠）を踏襲。アクセントは --color-entry（未定義なら --color-vote） */
/* ------------------------------ */
.b-mirai-award-entry {
  padding-top: 60px;
  padding-bottom: 60px;
  background-image: url("../images/2027/bg-paper2.jpg");
  /* 募集終了（第2弾で切り替え） */
}
.b-mirai-award-entry__contents {
  max-width: var(--content-width);
  margin: 0 auto;
  position: relative;
  background-color: var(--color-white);
  padding: 60px 30px;
  border: 3px solid var(--color-entry, var(--color-vote));
  border-radius: 10px;
}
@media (max-width: 599px) {
  .b-mirai-award-entry__contents {
    width: 100%;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.b-mirai-award-entry__badge {
  position: absolute;
  top: -18px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
  padding: 6px 22px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.12em;
  color: var(--color-white);
  background-color: var(--color-entry, var(--color-vote));
  border-radius: 20px;
}
.b-mirai-award-entry__title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 16px;
  color: var(--color-txt2);
}
.b-mirai-award-entry__lead {
  text-align: center;
  line-height: 1.8;
  margin: 0 0 30px;
}
.b-mirai-award-entry__list {
  margin: 0 0 30px;
  border-top: 1px solid #E3DDCD;
}
.b-mirai-award-entry__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #E3DDCD;
}
.b-mirai-award-entry__row dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 180px;
          flex: 0 0 180px;
  padding: 18px 16px;
  font-weight: bold;
  line-height: 1.6;
  color: var(--color-txt2);
  background-color: var(--color-entry-bg, var(--color-9-bg));
}
.b-mirai-award-entry__row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin: 0;
  padding: 18px 16px;
  line-height: 1.8;
}
.b-mirai-award-entry__row dd strong {
  background: none;
  text-decoration: none;
}
.b-mirai-award-entry__row--deadline dd {
  font-size: 20px;
  font-weight: bold;
  color: var(--color-alert);
}
.b-mirai-award-entry__ul {
  margin: 0;
  padding-left: 1.2em;
}
.b-mirai-award-entry__ul li {
  margin-bottom: 4px;
}
.b-mirai-award-entry__note {
  margin: 20px 0 0;
  font-size: 13px;
  line-height: 1.8;
  color: #666666;
}
@media (min-width: 600px) {
  .b-mirai-award-entry__note {
    text-align: center;
  }
}
.b-mirai-award-entry__closed {
  padding: 30px 20px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  color: var(--color-txt2);
  background-color: var(--color-entry-bg, var(--color-9-bg));
  border-radius: 10px;
}
@media (max-width: 599px) {
  .b-mirai-award-entry {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
  .b-mirai-award-entry__contents {
    width: auto;
    margin: 0 4vw;
    padding: 8.5333333333vw 4.2666666667vw;
  }
  .b-mirai-award-entry__badge {
    top: -3.7333333333vw;
    padding: 1.0666666667vw 4.2666666667vw;
    font-size: 3.2vw;
  }
  .b-mirai-award-entry__title {
    font-size: 6.4vw;
    margin-bottom: 3.2vw;
  }
  .b-mirai-award-entry__lead {
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .b-mirai-award-entry__row {
    display: block;
  }
  .b-mirai-award-entry__row dt {
    padding: 2.6666666667vw 3.2vw;
  }
  .b-mirai-award-entry__row dd {
    padding: 3.2vw;
    font-size: 3.7333333333vw;
  }
  .b-mirai-award-entry__row--deadline dd {
    font-size: 4.8vw;
  }
  .b-mirai-award-entry__closed {
    padding: 5.3333333333vw 3.2vw;
    font-size: 4.2666666667vw;
  }
}

/* 応募ボタン（Btn の色違い） */
.b-mirai-award-btn--entry {
  --btn-color: var(--color-entry, var(--color-vote));
}

/* ------------------------------ */
/* 2027年度固有の調整 */
/* 共通ブロックを変えずに、2027年度エントリだけで効かせる修飾・上書きを置く */
/* ------------------------------ */
/* 「前回の受賞作品」枠（Rule ブロックを流用）: 直前のセクションと密着しないよう上余白 */
.b-mirai-award-rule--archive {
  padding-top: 60px;
}
@media (max-width: 599px) {
  .b-mirai-award-rule--archive {
    padding-top: 10.6666666667vw;
  }
}

/* 部門名の折り返し: 文字間で勝手に折り返さず、<wbr> で指定した自然な位置でのみ折り返す */
.b-mirai-award-nav__list__item__link__txt-main {
  word-break: keep-all;
  overflow-wrap: normal;
}

/* 開催のお知らせ本文: PC は中央揃え（SP はテーマ既定のまま）。要点は <strong> で強調 */
/* テーマ側が p に text-align を当てているため、p 自身に指定する */
@media (min-width: 600px) {
  .b-mirai-award-about__txt,
.b-mirai-award-about__txt p {
    text-align: center;
  }
}
.b-mirai-award-about__txt strong {
  font-weight: bold;
  color: var(--color-entry);
  background: none;
  text-decoration: none;
}

/* 開催のお知らせ: セクション下の余白を他セクションに揃える（PC 60px / SP 50px相当）
   共通ブロックは padding-bottom を持たず最後の p の margin だけで次に接していたため、
   最後の p の margin を 0 にしてセクションの padding で余白を確保する */
.b-mirai-award-about {
  padding-bottom: 60px;
}
.b-mirai-award-about__txt > p:last-child {
  margin-bottom: 0;
}
@media (max-width: 599px) {
  .b-mirai-award-about {
    padding-bottom: 13.3333333333vw;
  }
}

/* PC 専用の改行。共通 utility（_utility.scss）には .u-display-sp しか無いため、
   .u-display-pc が未定義で SP でも <br> が効いていた。2026年度の style.css を変えないよう 2027 側で定義する */
@media (max-width: 599px) {
  .u-display-pc {
    display: none;
  }
}

/* 枠付きパネルの意匠を /shinro/ に揃える（枠線＋右下ベタ影）。9/17 阿部指示 */
.b-mirai-award-entry__contents {
  border: 4px solid var(--color-entry);
  border-radius: 24px;
  -webkit-box-shadow: 10px 10px 0 var(--color-entry);
          box-shadow: 10px 10px 0 var(--color-entry);
}
@media (max-width: 599px) {
  .b-mirai-award-entry__contents {
    border-width: 3px;
    border-radius: 21px;
    -webkit-box-shadow: 9px 9px 0 var(--color-entry);
            box-shadow: 9px 9px 0 var(--color-entry);
  }
}

/* 「前回の受賞作品」枠にも同じ意匠。SP は影が画面端で切れないよう左右に余白 */
.b-mirai-award-rule--archive .b-mirai-award-rule__contents {
  border: 4px solid var(--color-entry);
  border-radius: 24px;
  -webkit-box-shadow: 10px 10px 0 var(--color-entry);
          box-shadow: 10px 10px 0 var(--color-entry);
}
@media (max-width: 599px) {
  .b-mirai-award-rule--archive .b-mirai-award-rule__contents {
    border-width: 3px;
    border-radius: 21px;
    -webkit-box-shadow: 9px 9px 0 var(--color-entry);
            box-shadow: 9px 9px 0 var(--color-entry);
  }
}
@media (max-width: 599px) {
  .b-mirai-award-rule--archive .b-mirai-award-rule__contents {
    width: auto;
    margin: 0 4vw;
  }
}

/* 見出しを縁付き文字に（/shinro/ の「資格・検定」と同じ意匠）。9/17 阿部指示
   白抜き＋緑（--color-entry）の縁で、ページ全体のグリーン基調に合わせる */
.b-mirai-award-about__title,
.b-mirai-award-entry__title,
.b-mirai-award-nav__title,
.b-mirai-award-rule__title {
  color: var(--color-white);
  paint-order: stroke fill;
  -webkit-text-stroke: 0.25em var(--color-entry);
  text-shadow: 0.025em 0.025em 0 var(--color-entry), 0.05em 0.05em 0 var(--color-entry), 0.075em 0.075em 0 var(--color-entry), 0.1em 0.1em 0 var(--color-entry), 0.125em 0.125em 0 var(--color-entry);
}

/* ------------------------------ */
/* Utility */
/* ------------------------------ */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.u-display-sp {
  display: none;
}
@media (max-width: 599px) {
  .u-display-sp {
    display: block;
  }
}