/* =========================================================
   Site theme (accent: dark brown / header+footer: beige)
   ========================================================= */
:root {
  --site-accent: #006400;   /* dark brown */
  --site-accent-2: #005200; /* darker for hover */
  --site-beige: #f0fff0;
  --site-beige-2: #f1fff1;
}

body {
  color: #1f1f1f;
}

.site-header,
.site-footer {
  background: var(--site-beige);
}

.site-header .navbar {
  background: transparent;
}

a {
  color: var(--site-accent);
}
a:hover {
  color: var(--site-accent-2);
}

.btn-accent {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--site-accent);
  --bs-btn-border-color: var(--site-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--site-accent-2);
  --bs-btn-hover-border-color: var(--site-accent-2);
  --bs-btn-focus-shadow-rgb: 0, 100, 0;
  --bs-btn-active-bg: var(--site-accent-2);
  --bs-btn-active-border-color: var(--site-accent-2);
}

.navbar .nav-link {
  color: #2a2a2a;
}
.navbar .nav-link:hover {
  color: var(--site-accent);
}
.navbar .nav-link.active,
.navbar .nav-link[aria-current="page"] {
  color: var(--site-accent);
  font-weight: 600;
}

.hero {
  background: linear-gradient(180deg, var(--site-beige-2), #fff 70%);
}

.section-title {
  border-left: 4px solid var(--site-accent);
  padding-left: .75rem;
}

.logo-tile {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  min-height: 88px;
}

.small-muted {
  color: rgba(0,0,0,.65);
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #fff;
  padding: .5rem .75rem;
  z-index: 1031;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: .5rem;
}
.skip-link:focus {
  top: .5rem;
  left: .5rem;
}

/* =========================================================
   Content blocks
   ========================================================= */

/* Gradient border underline for title blocks */
.h3.fw-semibold.mb-4{
  position: relative;
  padding-bottom: .75rem;
}
.h3.fw-semibold.mb-4::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--site-accent) 0%, var(--site-beige) 100%);
}

/* PPC13 definition list styling */
.ppc_item dt{
  border-left: 4px solid var(--site-accent);
  padding-left: .75rem;
  padding-top: .35rem;
  padding-bottom: .35rem;
  background: linear-gradient(90deg, #B1F9D0, #f5fffa);
}
.ppc_item dd{
  margin-left: 0;
	padding-left: .75rem;
	margin-top: .55rem;
	margin-bottom: .75rem;
}

/*書式：ドロップシャドウ*/
.b_shadow {
box-shadow: 10px 10px 5px rgba(160, 160, 160, 0.8);
}

/* Plain list definition list (no background / no accent line) */
.plainlist dt{
  border-left: none !important;
  background: none !important;
  padding-left: 0 !important;
  font-weight: 700;
  color: var(--site-accent); /* darkgreen */
}
.plainlist li{
	list-style:  none;
}