:root {
  --oyau-green: #39713e;
  --oyau-brown: #7f573e;
  --oyau-cream: #f7f2e8;
  --oyau-line: #d9d2c5;
  --oyau-text: #2f352f;
}

.oyau-public-list .page-header {
  background: var(--oyau-cream);
  color: var(--oyau-text);
  border-bottom: 1px solid var(--oyau-line);
}
.oyau-public-list .page-header-inner {
  padding-top: 26px;
  padding-bottom: 27px;
}
.oyau-public-list .page-header-title {
  color: var(--oyau-green);
  font-size: clamp(1.65rem, 3vw, 2.2rem);
}
.oyau-public-list .breadcrumb {
  max-width: 920px;
  margin-inline: auto;
  font-size: .82rem;
  color: #5c655d;
}
.oyau-wrap {
  max-width: 920px;
  margin: 0 auto;
  padding: 42px 22px 72px;
  color: var(--oyau-text);
}
.oyau-breadcrumb {
  margin: 0 0 20px;
  font-size: .84rem;
  color: #5c655d;
  overflow-wrap: anywhere;
}
.oyau-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.oyau-breadcrumb li + li::before {
  content: '›';
  margin-right: .55rem;
  color: var(--oyau-brown);
}
.oyau-breadcrumb a,
.oyau-breadcrumb a:visited { color: var(--oyau-green); }
.oyau-intro,
.oyau-empty {
  padding: 26px 28px;
  background: var(--oyau-cream);
  border: 1px solid var(--oyau-line);
  border-radius: 16px;
}
.oyau-kicker {
  margin: 0 0 6px;
  color: var(--oyau-brown);
  font-size: .86rem;
  font-weight: 700;
}
.oyau-intro h1,
.oyau-empty h1,
.oyau-empty h2 {
  margin: 0 0 12px;
  padding-left: 12px;
  border-left: 4px solid var(--oyau-green);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}
.oyau-intro p:last-child,
.oyau-empty p:last-child { margin-bottom: 0; }
.oyau-list { margin-top: 28px; display: grid; gap: 16px; }
.oyau-card {
  margin: 0;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--oyau-line);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(47, 53, 47, .05);
}
.oyau-card__title { margin: 0 0 9px; font-size: 1.18rem; line-height: 1.5; }
.oyau-card__title a,
.oyau-card__title a:visited { color: var(--oyau-green); text-decoration: none; }
.oyau-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.oyau-card__excerpt { margin: 0; line-height: 1.85; color: #4e574f; }
.oyau-pagination { margin-top: 30px; }
.oyau-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.oyau-pagination .page-numbers {
  display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center;
  border: 1px solid var(--oyau-line); border-radius: 8px; color: var(--oyau-green); background: #fff;
}
.oyau-pagination .current { color: #fff; background: var(--oyau-green); border-color: var(--oyau-green); }
.oyau-intro--search .search-form,
.oyau-empty .search-form { margin-top: 18px; display: flex; gap: 8px; }
.oyau-intro--search .search-field,
.oyau-empty .search-field { min-height: 46px; flex: 1; border: 1px solid #9ba49c; border-radius: 8px; padding: 8px 12px; }
.oyau-intro--search .search-submit,
.oyau-empty .search-submit,
.oyau-button {
  min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px;
  border: 2px solid var(--oyau-green); border-radius: 9px; background: var(--oyau-green); color: #fff !important;
  font-weight: 700; text-decoration: none;
}
.oyau-button--sub { color: var(--oyau-green) !important; background: #fff; }
.oyau-actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.oyau-public-list a:focus-visible,
.oyau-public-list button:focus-visible,
.oyau-public-list input:focus-visible { outline: 3px solid #1d5f9e; outline-offset: 3px; }

@media (max-width: 767px) {
  .oyau-public-list .page-header-inner { padding: 20px 18px 21px; }
  .oyau-wrap { padding: 28px 16px 52px; }
  .oyau-intro, .oyau-empty { padding: 21px 18px; border-radius: 12px; }
  .oyau-card { padding: 18px; }
  .oyau-intro--search .search-form, .oyau-empty .search-form { flex-direction: column; }
  .oyau-actions { flex-direction: column; }
  .oyau-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .oyau-public-list * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
