/* 現行サイト assets/css/styles.css の幅・文字サイズに合わせる。 */
body {
  font-size: 1.125rem; /* 18px */
  line-height: 2.1111111111;
  letter-spacing: .02em;
}

.wrap {
  width: 100%;
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
}

.brand.large { width: 100%; }

.home-copy,
.eligibility,
.category-note,
.flow dl,
.flow dd,
.flow-box,
.related li,
.contact,
.intro,
.criteria,
.notices,
.pamphlet,
.recipient,
.recipient h3 {
  font-size: 1.125rem;
  line-height: 2.1111111111;
}

.section-title,
.section-title.smaller,
.award-section > h2,
.related h2 {
  font-size: 1.75rem; /* 現行 h1・h2: 28px */
  line-height: 1.5;
}

.card h3,
.award-heading,
.detail .division,
.flow h3,
.year {
  font-size: 1.625rem; /* 現行 h3: 26px */
  line-height: 1.5;
}

.subapply h4 { font-size: 1.5rem; line-height: 1.5; }
.button,
.application .button { font-size: 1rem; line-height: 1.5; }
.related small { font-size: 1rem; }
.copyright { font-size: .6875rem; line-height: 2; }
.criteria p,
.notices p { min-height: 2.1111111111em; }
.eligibility { min-height: 0; flex: 1; }
.card { min-width: 0; }
.recipient { grid-template-columns: minmax(0,164fr) minmax(0,229fr) minmax(0,415fr); }
.recipient > * { min-width: 0; overflow-wrap: anywhere; }
.related-grid { padding-left: 20px; padding-right: 20px; }
.related ul { list-style-type: disc; }
.related li { display: list-item; }
.achievement ul { list-style-type: disc; margin: 0; padding-left: 1.25em; }
.achievement li { display: list-item; }
.related small { flex-shrink: 0; }
.related a { flex: 1; }

@media screen and (max-width: 779px) {
  body { font-size: 1rem; }
  .home-copy,
  .eligibility,
  .category-note,
  .flow dl,
  .flow dd,
  .flow-box,
  .related li,
  .contact,
  .intro,
  .criteria,
  .notices,
  .pamphlet,
  .recipient,
  .recipient h3 {
    font-size: 1rem;
    line-height: 2.1111111111;
  }
  .cards { display: block; }
  .card,
  .card:first-child,
  .card:last-child { padding: 28px 0; border-left: 0; border-bottom: 1px solid #aaa; }
  .card:first-child { padding-top: 0; }
  .card:last-child { border-bottom: 0; }
  .flow dl { grid-template-columns: 1fr; }
  .flow-box,
  .related-grid,
  .recipient { grid-template-columns: 1fr; }
  .recipient { gap: 16px; padding-bottom: 28px; border-bottom: 1px solid #ddd; }
  .flow-box { padding: 24px 20px; }
  .related-grid { gap: 25px; }
  .contact { overflow-wrap: anywhere; }
}

/* 年度別受賞者一覧の受賞者情報のみ、本文より一段小さくする。 */
.award-list .recipient,
.award-list .recipient h3 {
  font-size: 1rem; /* PC: 18px → 16px */
}
@media screen and (max-width: 779px) {
  .award-list .recipient,
  .award-list .recipient h3 {
    font-size: .9375rem; /* スマートフォン: 16px → 15px */
  }
}

.pamphlet-link { display: inline-block; text-decoration: none; }
.pamphlet-link span { text-decoration: underline; text-underline-offset: .2em; }
.pamphlet-link:hover { opacity: .8; }

/* Figmaとの再照合による細部調整。幅・文字サイズの指定は維持。 */
.related li:last-child { border-bottom: 1px solid #aaa; }
.section-title.black { color: #22ac38; }
.button { border-radius: 5px; }
.number { font-size: 36px; font-weight: 900; }
.card h3 { min-height: 65px; }
.card .number { align-self: center; }
.cards { border-left: 1px solid #aaa; border-right: 1px solid #aaa; }
.card:first-child { padding-left: 18px; }
.card:last-child { padding-right: 18px; }
.subapply h4 { text-align: left; font-weight: 500; }
.category-note { max-width: 65%; margin-left: auto; margin-right: auto; }
.detail .award-heading span:last-child br { display: initial; }
.notices { border-color: #aaa; }
.award-section > h2 { text-align: center; }
.flow-box h3 { text-align: center; }

@media screen and (max-width: 779px) {
  .cards { border-left: 0; border-right: 0; }
  .card:first-child, .card:last-child { padding-left: 0; padding-right: 0; }
  .category-note { max-width: 100%; }
}

/* 通常版：修正版タイトル画像の縦横比を維持。 */
.brand, .brand.large { aspect-ratio: auto; }
.brand > img { width: 100%; height: auto; }

/* 受賞者一覧：募集部門を画面幅の背景と余白で区切る。 */
.award-category-band {
  background: #f1f7ed;
  padding-block: 48px;
  margin-bottom: 40px;
}
.award-category-band > .categories {
  margin-bottom: 0;
}
@media (max-width: 779px) {
  .award-category-band {
    padding-block: 32px;
    margin-bottom: 28px;
  }
}

/* 受賞者一覧の注記：指定位置の改行はPC表示のみ。 */
.category-note-pc-break { display: none; }
@media (min-width: 780px) {
  .category-note {
    width: fit-content;
    max-width: 100%;
  }
  .category-note-pc-break { display: inline; }
}

/* お問い合わせ先の長いメールアドレスを画面内で折り返す。 */
.contact { overflow-wrap: anywhere; }

/* 応募フォーム：外部サイト・別タブへの移動を表示。 */
.application-link { flex-wrap: wrap; gap: .25em .4em; }
.external-link-icon { width: 1em; height: 1em; flex: 0 0 1em; }
.application-link-note { flex-basis: 100%; font-size: .6em; line-height: 1.5; }

/* 応募フォームボタンを拡大。 */
.application { width: 560px; }
.application .application-link {
  min-height: 112px;
  padding: 20px 24px;
  font-size: 2rem;
  line-height: 1.5;
}
.application .application-link-note { font-size: 1rem; }
@media (max-width: 779px) {
  .application .application-link {
    min-height: 96px;
    padding: 18px 16px;
    font-size: 1.5rem;
  }
  .application .application-link-note { font-size: .875rem; }
}

/* 受賞時点の掲載情報に関する注記。 */
.award-information-note {
  border: 1px solid #596650;
  padding: 20px 24px;
  margin: 0 0 32px;
  font-size: 1rem;
  line-height: 1.8;
}
@media (max-width: 779px) {
  .award-information-note { padding: 16px; margin-bottom: 24px; }
}

/* PDFダウンロードリンク直下の注記。 */
.pamphlet .award-information-note {
  width: fit-content;
  max-width: 100%;
  margin: 24px auto 32px;
  padding: 16px 20px;
  font-size: .875rem;
  text-align: center;
}
@media (max-width: 779px) {
  .pamphlet .award-information-note {
    padding: 14px 16px;
    margin-bottom: 24px;
  }
}
