:root {
  --gl-primary: #E8734A;
  --gl-secondary: #C96B9E;
  --gl-bg: #f5f5f5;
  --gl-card: #ffffff;
  --gl-text: #374151;
  --gl-heading: #111827;
  --gl-muted: #9ca3af;
  --gl-border: #e5e7eb;
  --gl-radius: 10px;
  --gl-radius-sm: 6px;
  --gl-shadow: 0 1px 4px rgba(0,0,0,0.07);
  --gl-shadow-hover: 0 4px 16px rgba(0,0,0,0.12);
  --gl-font-sans: 'Noto Sans JP', sans-serif;
  --gl-gradient: linear-gradient(135deg, #E8734A 0%, #C96B9E 100%);
}

body {
  background-color: var(--gl-bg) !important;
  font-family: var(--gl-font-sans) !important;
  color: var(--gl-text) !important;
}

.l-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--gl-border) !important;
  box-shadow: none !important;
}

.l-header.is-scrolled, .l-header.is-fixed {
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

.c-gnav__item > a, .c-gnav__item > span {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
}

.c-gnav__item > a:hover, .c-gnav__item.is-current > a {
  color: var(--gl-primary) !important;
}

.p-postCard {
  background: var(--gl-card) !important;
  border: 1px solid var(--gl-border) !important;
  border-radius: var(--gl-radius) !important;
  box-shadow: var(--gl-shadow) !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  overflow: hidden !important;
}

.p-postCard:hover {
  box-shadow: var(--gl-shadow-hover) !important;
  transform: translateY(-2px) !important;
}

.p-postCard__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gl-heading) !important;
  line-height: 1.55 !important;
}

.p-postCard:hover .p-postCard__title {
  color: var(--gl-primary) !important;
}

.p-postCard__date, .p-postCard__meta {
  font-size: 11px !important;
  color: var(--gl-muted) !important;
}

.p-entry__content {
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: var(--gl-text) !important;
}

.p-entry__content h2 {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: var(--gl-heading) !important;
  border-left: 4px solid var(--gl-primary) !important;
  padding: 8px 0 8px 14px !important;
  margin: 32px 0 16px !important;
  background: #FEF3EE !important;
  border-radius: 0 6px 6px 0 !important;
}

.p-entry__content h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--gl-heading) !important;
  padding-bottom: 6px !important;
  border-bottom: 2px solid var(--gl-border) !important;
  margin: 28px 0 12px !important;
}

.p-entry__content a {
  color: var(--gl-primary) !important;
  text-decoration: underline !important;
}

.p-entry__title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: var(--gl-heading) !important;
  line-height: 1.45 !important;
}

.p-toc {
  background: #FEF3EE !important;
  border: none !important;
  border-left: 4px solid var(--gl-primary) !important;
  border-radius: var(--gl-radius) !important;
  padding: 18px 20px !important;
}

.p-toc__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gl-primary) !important;
}

.l-sidebar .widget {
  background: var(--gl-card) !important;
  border: 1px solid var(--gl-border) !important;
  border-radius: var(--gl-radius) !important;
  padding: 18px !important;
  margin-bottom: 20px !important;
}

.l-sidebar .widget-title, .l-sidebar .widgettitle {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--gl-heading) !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--gl-border) !important;
  margin-bottom: 14px !important;
}

.wp-block-button__link, .c-btn, .swell-block-btn-wrap a {
  background: var(--gl-primary) !important;
  color: #ffffff !important;
  border-radius: var(--gl-radius-sm) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  border: none !important;
}

.wp-block-button__link:hover, .c-btn:hover {
  opacity: 0.85 !important;
  color: #ffffff !important;
}

.l-footer {
  background: #111827 !important;
  color: rgba(255,255,255,0.7) !important;
}

.l-footer a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px !important;
}

.l-footer a:hover {
  color: #ffffff !important;
}

.c-pagination__item.is-current span {
  background: var(--gl-primary) !important;
  color: #ffffff !important;
  border-color: var(--gl-primary) !important;
}

@media (max-width: 767px) {
  .p-entry__content { font-size: 14px !important; line-height: 1.85 !important; }
  .p-entry__content h2 { font-size: 16px !important; }
  .p-entry__title { font-size: 18px !important; }
}