/* =========================================================
   Site theme (accent: dark brown / header+footer: beige)
   ========================================================= */
:root {
  --site-accent: #4b2e2a;   /* dark brown */
  --site-accent-2: #3a231f; /* darker for hover */
  --site-beige: #f5f0e6;
	--site-beige-2: #efe6d6;
	--site-menu: #fdf5e6; /* menu bg color */
	--header-offset: 76px;
}

body {
	color: #1f1f1f;
	padding-top: var(--header-offset);
}

/* Fixed header offset */
.site-header,
.site-footer {
  background: var(--site-beige);
}

.site-header .fixed-top {
	z-index: 1030; 
	background: var(--site-menu);
}
.site-header.fixed-top .navbar {
  background: var(--site-menu);
}

.site-header.border-bottom {
  border-bottom-color: rgba(59, 42, 26, 0.18); /* ダークブラウンを薄く */
}

.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: 75, 46, 42;
  --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%);
}

@media (min-width: 992px) {
  .banner-box { position: sticky; top: calc(var(--header-offset) + 1rem); }
}

.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:  calc(var(--header-offset) + 10px);
}

.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
   ========================================================= */

/* Definition list items (Privacy Policy etc.) */
.jwps_item {
  margin: 0 0 1.25rem 0;
}
.jwps_item dt{
  font-weight: 600;
  border-left: 4px solid var(--site-accent);
  padding-left: .75rem;
  margin-bottom: .5rem;
}
.jwps_item dd{
  margin-left: 0;
  padding-left: 1rem;
}

/* 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%);
}


/* =========================================================
   Snipets
   ========================================================= */

/* Card */
.card{
  border: 2px solid var(--site-accent);
  border-radius: 10px;
  background: var(--site-beige);
  box-shadow: var(--site-accent);
  overflow: hidden;
}
.card a{
  display:block;
  color: inherit;
  text-decoration: none;
}
.cardBody{
  padding: 14px 14px 16px;
}
.cardTitle{
  margin: 0 0 .4em;
  font-size: 1.6rem;
  background: none;
  padding-bottom: 0;
  border-left: 0;
  padding-left: 0;
}
.cardTitleLink{
  color: inherit;
  text-decoration: none;
}
.cardTitleLink:hover,
.cardTitleLink:focus{
  text-decoration: underline;
}
.cardText{
  margin: 0;
  color: var(--mcml-muted);
}

/* Format */
.l-mgr-10{
margin-left:  1.25rem;	
}
/* =========================================================
   JWPS plain list
   ========================================================= */
.plain-list{
  margin: 0;
}
.plain-list dt{
	color: darkolivegreen;
	  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .35rem;
}
.plain-list dd{
  margin-left: 0;
  padding-left: 1rem;
}
.plain-list dd ul{
  margin: 0;
  padding-left: 0;
}
.plain-list dd ul li{
  list-style: none;
  margin: .25rem 0;
}

.history-list li{
  margin-bottom: 1.5rem;
}

/* =========================================================
   Restricted area utilities
   ========================================================= */
.resource-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}
.resource-card .cardTitle{
  font-size: 1.25rem;
}
.table.progress-table{
  background: #fff;
}
.table.progress-table thead th{
  position: sticky;
  top: 0;
  background: var(--site-beige);
  z-index: 1;
}
.badge-status{
  font-weight: 600;
}


/* ===========================
   LOC Progress (CSV-driven)
=========================== */
.progress-table td a.progress-link{
  word-break: break-all;
}
.status-badge{
  display: inline-block;
  padding: .35em .65em;
  border-radius: .375rem;
  font-weight: 700;
  font-size: .8rem;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}
.status-badge[data-status="未着手"]{ background: var(--bs-secondary); }
.status-badge[data-status="進行中"]{ background: var(--bs-primary); }
.status-badge[data-status="完了"]{ background: var(--bs-success); }
.status-badge[data-status="保留"]{ background: var(--bs-warning); color: #212529; }
