@charset "UTF-8";

/* =========================================================
   見どころ / 建築実績 / 選んだ理由 / お客さまの声 /
   数字でわかる / 受賞歴
   ---------------------------------------------------------
   ・フェードインは既存の .js-fadein（.is-visible 付与）を流用
   ・ルート font-size は既存LPと同じ 62.5%（SP 50%）前提
   ========================================================= */

/* ===== 受賞実績バナー（見どころ直前・画面幅いっぱい） ===== */
.uh-award-bnr {
  background: #fff;
  line-height: 0;
}
.uh-award-bnr img {
  display: block;
  width: 100%;
  height: auto;
}

.hl2,
.wks,
.rsn,
.vcs,
.nums,
.awd {
  --ground: #ecede3;
  --surface: #ffffff;
  --tint: #f3f4ea;
  --ink: #20261b;
  --ink-soft: #5b6150;
  --muted: #8e937f;
  --green: #347448;
  --olive: #616646;
  --line: #e2e4d5;
  --script: Allison, "Segoe Script", "Brush Script MT", cursive;
}

.hl2 *, .hl2 *::before, .hl2 *::after,
.wks *, .wks *::before, .wks *::after,
.rsn *, .rsn *::before, .rsn *::after,
.vcs *, .vcs *::before, .vcs *::after,
.nums *, .nums *::before, .nums *::after,
.awd *, .awd *::before, .awd *::after { box-sizing: border-box; }

.hl2 img, .wks img, .rsn img, .vcs img, .nums img, .awd img {
  max-width: 100%;
  height: auto;
  display: block;
}

.hl2 li, .wks li, .rsn li, .vcs li, .nums li, .awd li { list-style: none; }

/* ===== 共通：セクション見出し ===== */
.hl2-head { text-align: center; margin-bottom: 6.4rem; }
@media screen and (max-width: 768px) { .hl2-head { margin-bottom: 4rem; } }

.hl2-head__en {
  display: block;
  font-family: var(--script);
  font-weight: 400;
  color: var(--green);
  font-size: clamp(52px, 5.6vw, 96px);
  line-height: .75;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) { .hl2-head__en { font-size: clamp(44px, 13vw, 60px); } }

/* キーワードのマーカー強調 */
.mk { background: linear-gradient(transparent 62%, rgba(52, 116, 72, .22) 62%); padding: 0 .1em; }
.hl2-head--invert .mk { background: linear-gradient(transparent 62%, rgba(255, 255, 255, .26) 62%); }

.hl2-head__title {
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.3;
  text-wrap: balance;
}
.hl2-head__title span,
.hl2-card__title span { display: inline-block; }

.hl2-head__lead {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .06em;
  color: var(--ink-soft);
}
@media screen and (max-width: 768px) {
  .hl2-head__lead { font-size: 1.7rem; text-align: left; width: 92%; margin-left: auto; margin-right: auto; }
  .hl2-head__lead br { display: none; }
}

.hl2-head--invert .hl2-head__en { color: #e9ecd9; }
.hl2-head--invert .hl2-head__title { color: #fff; }
.hl2-head--invert .hl2-head__lead { color: rgba(255, 255, 255, .78); }

/* ===== 見どころ ===== */
.hl2 { background: var(--ground); }
.hl2-inner { max-width: 1130px; width: 95%; margin: 0 auto; padding: 9.6rem 0 4rem; }
@media screen and (max-width: 768px) { .hl2-inner { padding: 6rem 0 2rem; } }

.hl2-list { display: flex; flex-direction: column; gap: 4.8rem; }
@media screen and (max-width: 768px) { .hl2-list { gap: 3.2rem; } }

.hl2-card {
  display: flex;
  align-items: stretch;
  background: var(--surface);
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 1.6rem 4.8rem rgba(32, 38, 27, .08);
}
.hl2-card:nth-child(even) { flex-direction: row-reverse; }
@media screen and (max-width: 768px) {
  .hl2-card,
  .hl2-card:nth-child(even) { flex-direction: column; }
}

.hl2-card__media {
  flex: 0 0 45%;
  background: var(--tint);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.6rem 3.2rem;
}
.hl2-card__media img {
  width: 100%;
  border-radius: 1.2rem;
  box-shadow: 0 .8rem 2.4rem rgba(32, 38, 27, .14);
}
@media screen and (max-width: 768px) { .hl2-card__media { flex: none; padding: 2.4rem 2rem; } }

.hl2-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 4rem 4.4rem;
}
@media screen and (max-width: 768px) { .hl2-card__body { padding: 2.8rem 2.4rem 3.2rem; } }

.hl2-card__meta { display: flex; align-items: center; gap: 1.4rem; margin-bottom: 1.8rem; }
.hl2-card__point {
  display: inline-flex;
  align-items: baseline;
  gap: .9rem;
  color: var(--green);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .22em;
}
.hl2-card__point b {
  font-size: 4.2rem;
  line-height: .85;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
}
.hl2-card__chip {
  margin-left: auto;
  background: var(--tint);
  border: 1px solid var(--line);
  color: var(--olive);
  border-radius: 999px;
  padding: .5rem 1.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .hl2-card__chip { font-size: 1.4rem; }
  .hl2-card__point { font-size: 1.5rem; }
  .hl2-card__point b { font-size: 4.4rem; }
}

.hl2-card__title {
  font-size: clamp(22px, 2.4vw, 27px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.45;
  margin-bottom: 1.4rem;
  text-wrap: balance;
  word-break: auto-phrase;
}
.hl2-card__lead {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .05em;
  color: var(--ink-soft);
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 768px) { .hl2-card__lead { font-size: 1.7rem; } }

.hl2-card__note {
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--muted);
  margin-top: -1.8rem;
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 768px) { .hl2-card__note { font-size: 1.3rem; } }

.hl2-card__checks { margin-top: auto; }
.hl2-card__checks li {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--line);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.7;
}
.hl2-card__checks li:first-child { border-top: 0; padding-top: 0; }
.hl2-card__checks li:last-child { padding-bottom: 0; }
.hl2-card__checks svg { flex: none; width: 2rem; height: 2rem; margin-top: .2em; }
@media screen and (max-width: 768px) { .hl2-card__checks li { font-size: 1.6rem; } }

/* ===== 建築実績（WORKS）｜白帯・横スクロール ===== */
.wks { background: #fff; padding: 9.6rem 0; }
@media screen and (max-width: 768px) { .wks { padding: 6rem 0; } }
.wks-inner { max-width: 1130px; width: 95%; margin: 0 auto; }

/* 画面端までカードを抜けさせて「まだ続く」ことを見せる。
   .wks-strip は .wks 直下（全幅）に置き、100vw を使わずに
   内側コンテナ幅ぶんの余白を % で作る＝スクロールバー分のズレが出ない */
.wks-strip {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: .4rem calc((100% - min(1130px, 95%)) / 2) 2rem;
  scroll-padding-left: calc((100% - min(1130px, 95%)) / 2);
  scroll-padding-right: calc((100% - min(1130px, 95%)) / 2);
  margin-top: 0;
  scrollbar-width: thin;
  scrollbar-color: #c9ccb8 transparent;
}
.wks-strip::-webkit-scrollbar { height: 6px; }
.wks-strip::-webkit-scrollbar-track { background: transparent; }
.wks-strip::-webkit-scrollbar-thumb { background: #c9ccb8; border-radius: 3px; }

.wks-card {
  flex: 0 0 29rem;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1.6rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 .8rem 2.4rem rgba(32, 38, 27, .06);
  transition: transform .25s ease, box-shadow .25s ease;
  /* button リセット */
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  text-align: left;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.wks-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1.4rem 3.2rem rgba(32, 38, 27, .12);
  opacity: 1; /* サイト共通の a:hover{opacity:.7} を打ち消す */
}
.wks-card:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .wks-card { transition: none; }
  .wks-card:hover { transform: none; }
}
@media screen and (max-width: 768px) { .wks-card { flex-basis: 25rem; } }

.wks-card__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--tint); }
.wks-card__img img { width: 100%; height: 100%; object-fit: cover; }
.wks-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  padding: 1.8rem 2rem 2rem;
}
.wks-card__date { font-size: 1.2rem; font-weight: 500; color: var(--muted); letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.wks-card__title { font-size: 1.55rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6; color: var(--ink); }
@media screen and (max-width: 768px) { .wks-card__title { font-size: 1.7rem; } }
.wks-card__more { margin-top: auto; padding-top: .6rem; font-size: 1.3rem; font-weight: 700; color: var(--green); letter-spacing: .08em; }

.wks-hint { display: none; text-align: center; font-size: 1.3rem; color: var(--muted); margin-top: .4rem; }
@media screen and (max-width: 768px) { .wks-hint { display: block; } }

.wks-more { display: flex; justify-content: center; margin-top: 2.8rem; }
.wks-more a {
  display: inline-block;
  border: 1.5px solid var(--green);
  color: #fff;
  background: var(--green);
  border-radius: 999px;
  padding: 1.5rem 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  box-shadow: 0 .6rem 1.8rem rgba(52, 116, 72, .28);
}
@media screen and (max-width: 768px) { .wks-more a { font-size: 1.6rem; } }

/* --- 実例ライトボックス（LP内で完結・遅延読み込み） --- */
.wks-lb {
  --green: #347448;
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.4rem;
}
.wks-lb[hidden] { display: none; }
.wks-lb__overlay {
  position: absolute;
  inset: 0;
  background: rgba(24, 28, 17, .82);
  border: 0; padding: 0; margin: 0;
  cursor: pointer;
  -webkit-appearance: none; appearance: none;
}
.wks-lb__dialog { position: relative; z-index: 1; width: min(880px, 100%); margin: 0; }
.wks-lb__img {
  display: block;
  width: 100%;
  max-height: 74vh;
  object-fit: contain;
  border-radius: .8rem;
  background: #15170f;
}
.wks-lb__caption {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 1.4rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
}
.wks-lb__count { color: rgba(255, 255, 255, .72); font-weight: 500; font-variant-numeric: tabular-nums; }
.wks-lb__close,
.wks-lb__nav {
  position: absolute;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  cursor: pointer;
  -webkit-appearance: none; appearance: none;
  padding: 0;
  transition: transform .2s ease, opacity .2s ease;
}
.wks-lb__close:hover, .wks-lb__nav:hover { opacity: .85; }
.wks-lb__close { top: -1.6rem; right: -1.6rem; width: 4rem; height: 4rem; z-index: 2; }
.wks-lb__close::before,
.wks-lb__close::after {
  content: "";
  position: absolute; top: 50%; left: 50%;
  width: 1.8rem; height: 2px; border-radius: 2px;
  background: #20261b;
}
.wks-lb__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.wks-lb__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.wks-lb__nav { top: 50%; width: 4.4rem; height: 4.4rem; transform: translateY(-50%); }
.wks-lb__nav::before {
  content: "";
  position: absolute; top: 50%; left: 50%;
  width: 1.2rem; height: 1.2rem;
  border-top: 3px solid #20261b;
  border-left: 3px solid #20261b;
}
.wks-lb__nav--prev { left: -2.2rem; }
.wks-lb__nav--prev::before { transform: translate(-35%, -50%) rotate(-45deg); }
.wks-lb__nav--next { right: -2.2rem; }
.wks-lb__nav--next::before { transform: translate(-65%, -50%) rotate(135deg); }
.wks-lb__close:focus-visible,
.wks-lb__nav:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
@media screen and (max-width: 768px) {
  .wks-lb { padding: 1.6rem; }
  .wks-lb__close { top: -1.4rem; right: -.6rem; width: 3.6rem; height: 3.6rem; }
  .wks-lb__nav { width: 3.8rem; height: 3.8rem; }
  .wks-lb__nav--prev { left: -.8rem; }
  .wks-lb__nav--next { right: -.8rem; }
}
body.wks-lb-open { overflow: hidden; }

/* ===== 選んだ理由（REASON）｜オリーブ帯 ===== */
.rsn { background: var(--olive); }
.rsn-inner { max-width: 1130px; width: 95%; margin: 0 auto; padding: 8.8rem 0 9.6rem; }
@media screen and (max-width: 768px) { .rsn-inner { padding: 5.6rem 0 6.4rem; } }

.rsn-card {
  max-width: 860px;
  margin: 0 auto;
  background: var(--surface);
  border-radius: 2rem;
  box-shadow: 0 1.6rem 4.8rem rgba(24, 28, 17, .22);
  padding: 4rem 4.4rem;
}
@media screen and (max-width: 768px) { .rsn-card { padding: 2.8rem 2.4rem; } }

.rsn-chart { display: flex; flex-direction: column; gap: 1.7rem; }
.rsn-row {
  display: grid;
  grid-template-columns: 2.8rem 10.5em minmax(0, 1fr);
  align-items: center;
  gap: 0 1.4rem;
}
.rsn-row__rank {
  width: 2.8rem; height: 2.8rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  border: 1.5px solid var(--line);
  color: var(--ink-soft);
  font-size: 1.4rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rsn-row--top .rsn-row__rank { background: var(--green); border-color: var(--green); color: #fff; }
.rsn-row__label { text-align: right; font-size: 1.5rem; font-weight: 500; letter-spacing: .04em; color: var(--ink); }
.rsn-row--top .rsn-row__label { font-weight: 700; font-size: 1.6rem; }
.rsn-row__track { height: 3.4rem; }
.rsn-row__bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  height: 100%;
  width: 0;
  padding-right: 1rem;
  background: #dcdfc8;
  border-radius: 0 4px 4px 0;
  transition: width .9s cubic-bezier(.25, .7, .3, 1);
  box-sizing: border-box;
}
.rsn-row--top .rsn-row__bar { background: var(--green); }
.rsn-row:nth-child(2) .rsn-row__bar { transition-delay: .1s; }
.rsn-row:nth-child(3) .rsn-row__bar { transition-delay: .2s; }
.rsn-row:nth-child(4) .rsn-row__bar { transition-delay: .3s; }
.rsn-row:nth-child(5) .rsn-row__bar { transition-delay: .4s; }
.js-fadein.is-visible .rsn-row__bar { width: var(--w); }
.rsn-row__val { font-size: 1.5rem; font-weight: 700; color: var(--ink-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rsn-row--top .rsn-row__val { font-size: 1.8rem; color: #fff; }
@media screen and (max-width: 768px) {
  .rsn-row { grid-template-columns: 2.8rem minmax(0, 1fr); gap: .6rem 1rem; }
  .rsn-row__label { grid-column: 2 / -1; text-align: left; font-size: 1.6rem; }
  .rsn-row__track { grid-column: 1 / -1; height: 3rem; }
  .rsn-row--top .rsn-row__label { font-size: 1.7rem; }
  .rsn-row--top .rsn-row__val { font-size: 1.7rem; }
}
.rsn-note { margin-top: 2.8rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.rsn-note p { font-size: 1.2rem; font-weight: 400; color: var(--muted); line-height: 1.7; }
@media screen and (max-width: 768px) { .rsn-note p { font-size: 1.3rem; } }

/* ===== お客さまの声（VOICES） ===== */
.vcs { background: var(--ground); }
.vcs-inner { max-width: 1130px; width: 95%; margin: 0 auto; padding: 9.6rem 0; }
@media screen and (max-width: 768px) { .vcs-inner { padding: 6rem 0; } }
.vcs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem; }
@media screen and (max-width: 768px) { .vcs-grid { grid-template-columns: 1fr; gap: 1.6rem; } }
.vcs-card {
  background: var(--surface);
  border-radius: 1.6rem 1.6rem 1.6rem .3rem; /* 左下だけ角を立てて吹き出しに */
  box-shadow: 0 1rem 3.2rem rgba(32, 38, 27, .09);
  padding: 2.6rem 3.2rem 3.2rem;
}
@media screen and (max-width: 768px) { .vcs-card { padding: 2.2rem 2.4rem 2.8rem; } }
.vcs-card__meta { display: flex; align-items: flex-start; gap: 1.2rem; margin-bottom: .4rem; }
.vcs-card__quote {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 6rem;
  line-height: 1;
  height: 3.2rem;
  color: var(--green);
}
.vcs-card__chip {
  margin-left: auto;
  background: var(--tint);
  border: 1px solid var(--line);
  color: var(--olive);
  border-radius: 999px;
  padding: .5rem 1.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) { .vcs-card__chip { font-size: 1.4rem; } }
.vcs-card__title { color: var(--green); font-size: 2rem; font-weight: 700; letter-spacing: .06em; line-height: 1.5; margin-bottom: 1rem; }
.vcs-card__text { font-size: 1.45rem; font-weight: 400; line-height: 1.95; letter-spacing: .04em; color: var(--ink-soft); }
@media screen and (max-width: 768px) { .vcs-card__text { font-size: 1.6rem; } }

/* ===== 数字でわかる（NUMBERS）｜白帯 ===== */
.nums { background: #fff; }
.nums-inner { max-width: 1130px; width: 95%; margin: 0 auto; padding: 9.6rem 0; }
@media screen and (max-width: 768px) { .nums-inner { padding: 6rem 0; } }
.num-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem; max-width: 880px; margin: 0 auto; }
@media screen and (max-width: 768px) { .num-grid { grid-template-columns: 1fr; gap: 1.6rem; } }
.num-tile { background: var(--tint); border-radius: 1.6rem; padding: 3.2rem 2.8rem; text-align: center; }
.num-tile--hero { grid-column: 1 / -1; padding: 4rem 2.8rem; }
@media screen and (max-width: 768px) {
  .num-tile { padding: 2.6rem 2rem; }
  .num-tile--hero { grid-column: auto; }
}
.num-tile__title { font-size: 1.7rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 2rem; }
.num-tile__title sup { font-size: .68em; font-weight: 500; color: var(--muted); }
@media screen and (max-width: 768px) { .num-tile__title { font-size: 1.8rem; margin-bottom: 1.4rem; } }
.num-ico { flex: none; }
.num-ico svg { display: block; width: 4.8rem; height: 4.8rem; stroke: var(--green); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.num-val { color: var(--green); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: .02em; }
.num-val small { font-size: .38em; font-weight: 700; letter-spacing: .06em; }
.num-flex { display: flex; align-items: center; justify-content: center; gap: 1.6rem; }
/* hero: 棟数 + 総床面積 */
.num-hero { display: flex; align-items: center; justify-content: center; gap: 4.8rem; }
@media screen and (max-width: 768px) { .num-hero { flex-direction: column; gap: 2.4rem; } }
.num-hero__main .num-val { font-size: clamp(44px, 5vw, 64px); }
.num-hero__caption { margin-top: 1.2rem; font-size: 1.3rem; font-weight: 400; color: var(--ink-soft); }
.num-hero__sub { padding-left: 4.8rem; border-left: 1px solid var(--line); }
@media screen and (max-width: 768px) {
  .num-hero__sub { padding-left: 0; border-left: 0; padding-top: 2rem; border-top: 1px solid var(--line); }
}
.num-hero__sub-title { font-size: 1.5rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 1rem; }
.num-hero__sub .num-val { font-size: clamp(36px, 4vw, 52px); }
.num-hero__sub .num-val small { font-size: .34em; }
/* 0件・0棟 */
.num-zero .num-val { font-size: clamp(52px, 6vw, 72px); }
/* 建築割合ドーナツ */
.num-rate { display: flex; align-items: center; justify-content: center; gap: 2.8rem; }
.num-rate__donut { flex: none; width: 12rem; height: 12rem; }
.num-rate__donut svg { display: block; width: 100%; height: 100%; }
.num-rate__item { text-align: center; }
.num-rate__name { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.5rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .8rem; }
.num-rate__name i { width: 1rem; height: 1rem; border-radius: 50%; flex: none; }
.num-rate__item--main .num-rate__name i { background: var(--green); }
.num-rate__item--sub .num-rate__name i { background: #c6d2b4; }
.num-rate__item .num-val { font-size: clamp(32px, 3.6vw, 44px); }
.num-rate__item--sub .num-val { color: var(--ink-soft); }
/* 満足度 */
.num-sat { display: flex; align-items: stretch; justify-content: center; gap: 3.2rem; }
.num-sat__item { text-align: center; }
.num-sat__item + .num-sat__item { padding-left: 3.2rem; border-left: 1px solid var(--line); }
.num-sat__name { font-size: 1.4rem; font-weight: 700; letter-spacing: .06em; margin-bottom: 1rem; }
.num-sat__item .num-val { font-size: clamp(32px, 3.8vw, 46px); }
/* 注記 */
.num-notes { max-width: 880px; margin: 2.8rem auto 0; }
.num-notes p { font-size: 1.2rem; font-weight: 400; color: var(--muted); line-height: 1.8; }
@media screen and (max-width: 768px) { .num-notes p { font-size: 1.25rem; } }

/* ===== 受賞歴（AWARDS） ===== */
.awd { background: var(--ground); }
.awd-inner { max-width: 1130px; width: 95%; margin: 0 auto; padding: 9.6rem 0 12rem; }
@media screen and (max-width: 768px) { .awd-inner { padding: 6rem 0 8rem; } }
.awd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; max-width: 760px; margin: 0 auto; }
@media screen and (max-width: 768px) { .awd-grid { gap: 1.2rem; } }
.awd-tile {
  background: var(--surface);
  border-radius: 1.6rem;
  box-shadow: 0 1rem 3.2rem rgba(32, 38, 27, .07);
  padding: 3.2rem 1.6rem 2.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.8rem;
}
@media screen and (max-width: 768px) { .awd-tile { padding: 2.2rem 1.2rem 1.8rem; gap: 1.2rem; } }
.awd-tile img { height: 7.2rem; width: auto; max-width: 100%; object-fit: contain; }
@media screen and (max-width: 768px) { .awd-tile img { height: 5.6rem; } }
.awd-tile figcaption { font-size: 1.4rem; font-weight: 700; letter-spacing: .06em; line-height: 1.5; text-align: center; color: var(--ink); }
@media screen and (max-width: 768px) { .awd-tile figcaption { font-size: 1.3rem; } }

/* フェードインは既存 .js-fadein を流用。動きを抑える設定のときはバーも即時表示 */
@media (prefers-reduced-motion: reduce) {
  .rsn-row__bar { transition: none; width: var(--w); }
}
