/* =========================
   colcr color tokens
   ========================= */

:root {
  /* Brand / Accent */
  --colcr-main:         #2c7a2c;  /* メインカラー（強調・ボタン・カテゴリなど） */
  --colcr-accent:       #333333;  /* アクセント／リンク／見出し */

  /* Background */
  --colcr-bg:           #FFFFFF;  /* ベース背景 */
  --colcr-bg-soft:      #F9F9F9;  /* セクションの薄いグレー背景など */
  --colcr-bg-dark:      #333333;  /* セクションの濃いグレー背景など */

  /* Text */
  --colcr-text-main:    #333333;  /* 基本テキスト */
  --colcr-text-sub:     #666666;  /* 補足テキスト */
  --colcr-text-weak:    #999999;  /* さらに弱いテキスト */
  --colcr-text-on-main: #333333;  /* メイン色の上に乗る文字色 */
  --colcr-text-on-dark: #FFFFFF;  /* 濃色背景用の白文字 */

  /* Link */
  --colcr-link:         #333333;
  --colcr-link-hover:   #2c7a2c;

  /* Border */
  --colcr-border:       #E0E0E0;
  --colcr-border-soft:  #F0F0F0;

  /* Alert */
  --colcr-alert-bg:     #FF3B3B;
  --colcr-alert-border: #FF3B3B;
  --colcr-alert-text:   #FF3B3B;
}


/* =========================
   colcr overrides
   （Daiichibousai theme）
   ========================= */

/* ---------- Global ---------- */

body {
  color: var(--colcr-text-main) !important;
  background-color: var(--colcr-bg-soft) !important;
}

a {
  color: var(--colcr-link) !important;
}

a:hover {
  color: var(--colcr-link-hover) !important;
}

/* 汎用ボタン (.btn) */
.btn {
  background: var(--colcr-bg) !important;
  color: var(--colcr-accent) !important;
  border-color: var(--colcr-accent) !important;
  border: 1px solid var(--colcr-accent) !important;
}

.btn:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.dot-text::before {
  color: var(--colcr-main) !important;
}

/* ---------- TOP / Header / Hero / Home sections ---------- */

.logo a {
  background: var(--colcr-bg) !important;
}

.nav-item a {
  color: var(--colcr-link) !important;
}

.nav-item a::after {
  background: var(--colcr-main) !important;
}

.hero-title,
.hero-subtitle {
  color: var(--colcr-text-on-dark) !important;
  text-shadow: none !important;
}

.news {
  background: var(--colcr-bg-soft) !important;
}

.news-wrapper {
  background: var(--colcr-main) !important;
}

.news-title {
  color: var(--colcr-text-on-dark) !important;
}

.news-back-btn {
  background: var(--colcr-bg) !important;
}

.news-list {
  border-top: 1px solid var(--colcr-border) !important;
}

.news-item {
  border-bottom: 1px solid var(--colcr-border) !important;
}

.news-date {
  color: var(--colcr-text-on-dark) !important;
}

.news-text {
  color: var(--colcr-text-on-dark) !important;
}

.news-link {
  color: var(--colcr-link) !important;
}

.about {
  background: var(--colcr-bg) !important;
}

.member {
  background: var(--colcr-bg-soft) !important;
}

.service {
  background: var(--colcr-bg-soft) !important;
}

.service-features li::before {
  color: var(--colcr-main) !important;
}

.service-title-en {
  color: var(--colcr-text-main) !important;
}

.service-title-en::before,
.service-title-en::after {
  background: var(--colcr-accent) !important;
}

.service-title-jp {
  color: var(--colcr-text-sub) !important;
}

.service-cta {
  background: var(--colcr-accent) !important;
}

.service-bg {
  background: var(--colcr-main) !important;
}

.service-overlay {
  color: var(--colcr-text-on-dark) !important;
}

/* TOP の WORKS セクション */
.works-bg-text {
  color: var(--colcr-text-on-dark) !important;
  opacity: 0.1 !important;
}

.works {
  background: var(--colcr-bg-dark) !important;
}

.work-date,
.work-title {
  color: var(--colcr-text-on-dark) !important;
}

.works .section-title {
  color: var(--colcr-text-on-dark) !important;
}

.works-title-en {
  color: var(--colcr-text-on-dark) !important;
}

.work-category-badge {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

.work-overview-title {
  color: var(--colcr-main) !important;
}

.works-title-en::before,
.works-title-en::after {
  background: var(--colcr-bg) !important;
}

.works-title-jp {
  color: var(--colcr-text-sub) !important;
}

.works-title:hover {
  color: var(--colcr-link-hover) !important;
}

.works-subtitle {
  color: var(--colcr-text-weak) !important;
}

.works-more-btn {
  color: var(--colcr-text-on-dark) !important;
  border: 1px solid var(--colcr-border) !important;
  transition: all 0.3s ease;
}

.works-more-btn:hover {
  color: var(--colcr-text-main) !important;
  border: 1px solid var(--colcr-main) !important;
}

.works-date {
  color: var(--colcr-text-sub) !important;
}

.works-card-title {
  color: var(--colcr-link) !important;
}

.recruit {
  background: var(--colcr-bg) !important;
}

.instagram {
  background: var(--colcr-bg-soft) !important;
}

.instagram-title-en {
  color: var(--colcr-text-main) !important;
}

.instagram-title-en::before,
.instagram-title-en::after {
  color: var(--colcr-accent) !important;
}

.contact-inner {
  background: var(--colcr-main) !important;
}

.contact-btn-tel,
.contact-btn-form {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
}

.mobile-menu {
  background: var(--colcr-bg) !important;
}

.mobile-nav-item {
  border-bottom: 1px solid var(--colcr-border) !important;
}


/* ---------- パンくず / 共通レイアウト ---------- */

.breadcrumb {
  background: var(--colcr-bg) !important;
  border-bottom: 1px solid var(--colcr-border) !important;
}

.breadcrumb-item a {
  color: var(--colcr-text-sub) !important;
}

.breadcrumb-item:last-child {
  color: var(--colcr-text-main) !important;
}


/* ---------- サービスページ ---------- */

.service-hero {
  background: var(--colcr-accent) !important;
}

.service-hero-inner {
  color: var(--colcr-text-on-dark) !important;
}

.service-hero h1 {
  text-shadow: none !important;
}

.service-number {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
}

.service-title {
  color: var(--colcr-text-main) !important;
}

.service-name {
  color: var(--colcr-main) !important;
}

.service-description {
  color: var(--colcr-text-sub) !important;
}

.service-detail-link:hover,
.works-detail-link:hover {
  color: var(--colcr-text-on-dark) !important;
  border: 1px solid var(--colcr-border) !important;
}

.service-section:nth-child(even) {
  background: var(--colcr-bg-soft) !important;
}

.service-image,
.equipment-list {
  box-shadow: none !important;
}

.equipment-list {
  background: var(--colcr-bg) !important;
}

.equipment-category-title {
  color: var(--colcr-text-main) !important;
  border-left: 4px solid var(--colcr-text-main) !important;
}

.equipment-name {
  color: var(--colcr-text-main) !important;
}

.equipment-desc {
  color: var(--colcr-text-sub) !important;
}

.equipment-tag {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-main) !important;
}

/* CTA セクション（共通） */
.cta-section {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.cta-button {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}


/* ---------- 会社情報ページ ---------- */

.greeting-section {
  background: var(--colcr-bg-soft) !important;
}

.greeting-title,
.company-description-title,
.company-history-title {
  color: var(--colcr-text-main) !important;
}

.greeting-title::after,
.company-history-title::after {
  background: var(--colcr-main) !important;
}

.greeting-content {
  color: var(--colcr-text-sub) !important;
}

.company-description-section {
  background: var(--colcr-bg) !important;
}

.company-description-content,
.company-history-content strong {
  color: var(--colcr-text-sub) !important;
}

.company-description-subtitle {
  color: var(--colcr-text-main) !important;
}

.company-info-section {
  background: var(--colcr-bg) !important;
}

.company-info-title {
  color: var(--colcr-text-main) !important;
}

.company-info-title::after {
  background: var(--colcr-main) !important;
}

.company-info-table {
  background: var(--colcr-bg) !important;
  box-shadow: none !important;
  border: 1px solid var(--colcr-border) !important;
}

.company-info-row {
  border-bottom: 1px solid var(--colcr-border) !important;
}

.company-info-label {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-main) !important;
  border-right: 1px solid var(--colcr-border) !important;
}

.company-info-value {
  color: var(--colcr-text-sub) !important;
}


/* ---------- WORKS 一覧・詳細 ---------- */

.works-section {
  background: var(--colcr-bg-soft) !important;
}

.works-list-section {
  background: var(--colcr-bg) !important;
}

.works-intro-title {
  color: var(--colcr-text-main) !important;
}

.works-intro-description {
  color: var(--colcr-text-sub) !important;
}

.stat-number {
  color: var(--colcr-main) !important;
}

.stat-label {
  color: var(--colcr-text-sub) !important;
}

.filter-btn {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-sub) !important;
  transition: all 0.3s ease;
}

.filter-btn:hover,
.filter-btn.active {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-main) !important;
}

.works-section-title {
  color: var(--colcr-text-main) !important;
  border-bottom: 3px solid var(--colcr-main) !important;
}

.works-item {
  background: var(--colcr-bg) !important;
}

.works-card {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
  border: 1px solid var(--colcr-border) !important;
  box-shadow: none !important;
}

.works-card-location.domestic {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.works-card-company {
  color: var(--colcr-text-main) !important;
}

/* WORKS のカテゴリラベル */
.works-category {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* WORK 詳細 */
.work-detail-section {
  background: var(--colcr-bg) !important;
}

.work-detail-container {
  background: var(--colcr-bg) !important;
}

.work-location-badge {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
  border: 1px solid var(--colcr-border) !important;
}

.work-detail-header {
  color: var(--colcr-text-on-dark) !important;
}

.work-content h2 {
  border-bottom: 2px solid var(--colcr-main) !important;
  color: var(--colcr-text-main) !important;
}

.work-content h3 {
  color: var(--colcr-text-main) !重要;
}

.work-content p {
  color: var(--colcr-text-sub) !important;
}

.work-content blockquote {
  border-left: 4px solid var(--colcr-accent) !important;
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-main) !important;
}

.work-content table {
  background: var(--colcr-bg) !important;
  border: 1px solid var(--colcr-border) !important;
}

.work-content th {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-main) !important;
}

.work-content td {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
}

.work-content th,
.work-content td {
  border-bottom: 1px solid var(--colcr-border) !important;
}

/* WORK 詳細内 情報ラベルなど */
.work-info-label {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

.work-section-title {
  color: var(--colcr-text-main) !important;
}

.work-section-title::after {
  background: var(--colcr-main) !important;
}

.work-point-item {
  background: var(--colcr-bg-soft) !important;
}

.work-point-number {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

.work-testimonial {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.work-info-box {
  background: var(--colcr-bg-soft) !important;
  border: 1px solid var(--colcr-border) !important;
}

/* CTA ボタン */
.work-cta-button,
.cta-button {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
  border-color: var(--colcr-main) !important;
}

.work-cta-button.secondary,
.cta-button.secondary {
  background: var(--colcr-bg) !important;
  color: var(--colcr-main) !important;
  border-color: var(--colcr-main) !important;
}

.work-cta-button:hover,
.cta-button:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* 戻るボタン（個別ページ用） */
.back-to-list {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

.back-to-list:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-main) !important;
  transition: all 0.3s ease;
}

.back-to-list-btn {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.back-to-list-btn:hover {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}


/* ---------- メンバー一覧 / 対談一覧 ---------- */

.member-bg-text {
  color: var(--colcr-main) !important;
}

.meeting-link {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  box-shadow: none !important;
}

.meeting-link:hover {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
  box-shadow: none !important;
}

.member-title-en {
  color: var(--colcr-text-main) !important;
}

.member-title-en::before,
.member-title-en::after {
  background: var(--colcr-accent) !important;
}

.member-text p {
  color: var(--colcr-text-main) !important;
}

.members-hero {
  background: var(--colcr-accent) !important;
  color: var(--colcr-main) !important;
}

.members-hero h1 {
  text-shadow: none !important;
}

.members-hero-inner {
  color: var(--colcr-text-on-dark) !important;
}

.intro-section {
  background: var(--colcr-bg) !important;
}

.intro-text {
  color: var(--colcr-text-sub) !important;
}

.member-card {
  background: var(--colcr-bg) !important;
}

.member-photo {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-sub) !important;
}

.member-name {
  color: var(--colcr-text-main) !important;
}

.member-role {
  color: var(--colcr-text-sub) !important;
}

.member-message {
  color: var(--colcr-text-sub) !important;
}

.dialogue-link {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

.dialogue-link:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-main) !important;
  transition: all 0.3s ease;
}

.member-position {
  color: var(--colcr-text-main) !important;
}

.member-message {
  background: var(--colcr-bg-soft) !important;
}

.member-message-label {
  color: var(--colcr-main) !important;
}

.member-message-text {
  color: var(--colcr-text-main) !important;
}

.meeting-title {
  color: var(--colcr-text-main) !important;
}

.meeting-subtitle {
  color: var(--colcr-main) !important;
}

.meeting-lead {
  color: var(--colcr-text-sub) !important;
}

.member-intro-card {
  background: var(--colcr-bg) !important;
}

.member-intro-card::before {
  background: none !important;
}

.speaker-label.mc {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-main) !important;
}

.speaker-label.member-a {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

.speaker-label.member-b {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.speaker-text {
  color: var(--colcr-text-main) !important;
}

.dialogue-section {
  border-bottom: 1px solid var(--colcr-border) !important;
}

/* ---------- 対談詳細 ---------- */

.dialogue-detail-hero {
  background: var(--colcr-accent) !important;
  color: var(--colcr-main) !important;
}

.dialogue-detail-hero h1 {
  text-shadow: none !important;
}

.dialogue-detail-hero-inner {
  color: var(--colcr-text-on-dark) !important;
}

.dialogue-main {
  background: var(--colcr-bg) !important;
}

.dialogue-intro {
  background: var(--colcr-bg-soft) !important;
}

.dialogue-intro-text {
  color: var(--colcr-text-sub) !important;
}

.dialogue-members h3 {
  color: var(--colcr-text-main) !important;
}

.dialogue-highlight {
  background: var(--colcr-bg-soft) !important;
}

.dialogue-content-wrapper {
  background: var(--colcr-bg) !important;
  box-shadow: none !important;
}

.dialogue-title {
  color: var(--colcr-text-main) !important;
}

.dialogue-content {
  color: var(--colcr-text-sub) !important;
}

.dialogue-member-profile::before {
  color: var(--colcr-main) !important;
}

.dialogue-member-profile strong {
  color: var(--colcr-accent) !important;
}

.dialogue-question {
  color: var(--colcr-accent) !important;
}

.dialogue-conversation {
  background: var(--colcr-bg) !important;
  box-shadow: none !important;
  border: 1px solid var(--colcr-border) !important;
}

.dialogue-divider {
  color: var(--colcr-text-weak) !important;
}

.dialogue-answer::before {
  color: var(--colcr-main) !important;
}

.dialogue-emphasis {
  background: var(--colcr-text-main) !important;
}

.back-link {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  border: none !important;
  transition: all 0.3s ease;
}

.back-link:hover {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}


/* ---------- 採用ページ / 職種詳細 ---------- */

.recruit-title-en::before,
.recruit-title-en::after {
  background: var(--colcr-main) !important;
}

.recruit-subtitle {
  color: var(--colcr-text-main) !important;
}

.recruit-description {
  color: var(--colcr-text-sub) !important;
}

.recruit-btn {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

.recruit-btn:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

.recruit-section {
  background: var(--colcr-bg) !important;
}

.recruit-intro-text {
  color: var(--colcr-text-main) !important;
}

.recruit-title {
  color: var(--colcr-text-main) !important;
}

.recruit-title span {
  color: var(--colcr-main) !important;
}

.appeal-item {
  background: var(--colcr-bg-soft) !important;
}

.appeal-item::before {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
}

.appeal-item h3 {
  color: var(--colcr-text-main) !important;
}

.appeal-item p {
  color: var(--colcr-text-sub) !important;
}

.appeal-icon {
  background: var(--colcr-main) !important;
}

.appeal-subtitle {
  color: var(--colcr-text-main) !important;
}

.appeal-text {
  color: var(--colcr-text-sub) !important;
}

.appeal-highlight {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-main) !important;
}

.recruit-persona {
  background: var(--colcr-bg-soft) !important;
}

.persona-list li {
  color: var(--colcr-text-sub) !important;
}

.persona-type {
  background: var(--colcr-bg) !important;
}

.persona-type-title {
  color: var(--colcr-text-main) !important;
}

.persona-description p {
  color: var(--colcr-text-sub) !important;
}

.persona-description h4 {
  color: var(--colcr-main) !important;
}

.persona-list li::before {
  color: var(--colcr-main) !important;
}

.position-item {
  background: var(--colcr-bg-soft) !important;
  border: 2px solid var(--colcr-main) !important;
}

.position-item a {
  color: var(--colcr-link) !important;
}

.position-item a:hover {
  color: var(--colcr-text-main) !important;
  transition: all 0.3s ease;
}

.position-title {
  color: var(--colcr-text-main) !important;
}

.recruit-detail-section {
  background: var(--colcr-bg-soft) !important;
}

.job-type-badge {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-sub) !important;
  border: 1px solid var(--colcr-border) !important;
}

.recruit-detail-visual {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

.recruit-cta {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* 採用詳細コンテンツ */
.job-content {
  background: var(--colcr-bg) !important;
}

.job-description {
  color: var(--colcr-text-sub) !important;
}

.job-tasks {
  background: var(--colcr-bg-soft) !important;
}

.job-tasks-title {
  color: var(--colcr-text-main) !important;
}

.job-tasks-list li {
  color: var(--colcr-text-sub) !important;
}

.job-tasks-list li::before {
  color: var(--colcr-main) !important;
}

.schedule-title {
  color: var(--colcr-text-main) !important;
}

.schedule-content {
  color: var(--colcr-text-sub) !important;
}

.schedule-item::before {
  background: var(--colcr-main) !important;
  box-shadow: 0 0 0 2px var(--colcr-main) !important;
}

.schedule-timeline::before {
  background: var(--colcr-main) !important;
}

.schedule-time {
  color: var(--colcr-text-main) !important;
}

.requirements {
  background: var(--colcr-bg) !important;
  border: 1px solid var(--colcr-border) !important;
  box-shadow: none !important;
}

.requirements-table th {
  color: var(--colcr-text-main) !important;
}

.requirements-table td {
  color: var(--colcr-text-sub) !important;
}

.ideal-candidate {
  background: var(--colcr-bg) !important;
  border: 2px solid var(--colcr-main) !important;
}

.ideal-candidate-title {
  color: var(--colcr-text-main) !important;
}

.ideal-candidate-list li {
  color: var(--colcr-text-sub) !important;
}

.ideal-candidate-list li::before {
  color: var(--colcr-main) !important;
}

.message-section {
  background: var(--colcr-bg) !important;
  border: 1px solid var(--colcr-border) !important;
  box-shadow: none !important;
}

.message-section::before {
  color: var(--colcr-main) !important;
}

.message-title {
  color: var(--colcr-text-main) !important;
}

.message-text {
  color: var(--colcr-text-sub) !important;
}

.message-author {
  color: var(--colcr-text-main) !important;
}

/* 応募セクション */
.apply-section {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-main) !important;
}

.apply-button {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
  transition: all 0.3s ease;
}

.apply-button:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

.apply-button.secondary {
  background: var(--colcr-main) !important;
  border: 2px solid var(--colcr-border) !important;
}

.related-jobs-title {
  color: var(--colcr-text-main) !important;
}

.related-jobs-title::after {
  background: var(--colcr-main) !important;
}

.related-job-item {
  background: var(--colcr-bg) !important;
  color: var(--colcr-text-main) !important;
  box-shadow: none !important;
  border: 2px solid var(--colcr-border) !important;
  transition: all 0.3s ease;
  text-decoration: none;
}

.related-job-item:hover {
  border: 2px solid var(--colcr-main) !important;
}

.related-job-title {
  color: var(--colcr-text-main) !important;
}

.related-job-excerpt {
  color: var(--colcr-text-sub) !important;
}


/* ---------- お知らせ（sec.css 範囲） ---------- */

/* ページタイトル英字：白抜き */
.page-title h1,
.page-title-en {
  color: var(--colcr-text-on-dark) !important;
  text-shadow: none !important;
}

/* 日付・補足テキスト */
.news-detail-date,
.related-news-date {
  color: var(--colcr-text-sub) !important;
}

/* カテゴリバッジ */
.news-category {
  color: var(--colcr-text-on-dark) !important;
}

.news-category.important {
  background: var(--colcr-main) !important;
}

.news-category.event,
.news-category.general {
  background: var(--colcr-accent) !important;
}

/* ページネーション */
.pagination .current {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-main) !important;
  border-color: var(--colcr-main) !important;
}

.pagination a:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* 情報ボックス / お問い合わせボックス */
.info-box {
  background: var(--colcr-bg-soft) !important;
  border-color: var(--colcr-border) !important;
  border-left: 4px solid var(--colcr-main) !important;
}

.contact-box {
  background: var(--colcr-bg-soft) !important;
  border-color: var(--colcr-main) !important;
  border-left: 4px solid var(--colcr-main) !important;
}


/* ---------- フォーム / お問い合わせページ ---------- */

.form-container {
  background: var(--colcr-bg) !important;
}

.form-title {
  color: var(--colcr-text-main) !important;
}

.form-description {
  color: var(--colcr-text-sub) !important;
}

/* 注意書き */
.form-note {
  background: var(--colcr-bg-soft) !important;
  border: 1px solid var(--colcr-border) !important;
  color: var(--colcr-text-sub) !important;
}

/* ラベル */
.form-label {
  color: var(--colcr-text-main) !important;
}

.form-label .required {
  background: var(--colcr-alert-bg) !important;
  color: var(--colcr-text-on-dark) !important;
}

.form-label .optional {
  background: var(--colcr-bg-soft) !important;
  color: var(--colcr-text-main) !important;
}

/* 入力要素 */
.form-input,
.form-select,
.form-textarea {
  border: 1px solid var(--colcr-border) !important;
  background: var(--colcr-bg) !important;
}

/* エラーメッセージ / エラー枠 */
.error-message {
  color: var(--colcr-alert-text) !important;
}

.form-group.error .form-input,
.form-group.error .form-select,
.form-group.error .form-textarea {
  border-color: var(--colcr-alert-border) !important;
}

/* プライバシー */
.form-privacy {
  background: var(--colcr-bg-soft) !important;
}

.form-privacy-title {
  color: var(--colcr-text-main) !important;
}

.form-privacy-text {
  color: var(--colcr-text-sub) !important;
}

.form-privacy-link {
  color: var(--colcr-link) !important;
}

/* 送信ボタン */
.form-submit {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-dark) !important;
  box-shadow: none !important;
}

/* CF7 のレスポンス */
.wpcf7 form .wpcf7-response-output {
  border: 2px solid var(--colcr-main) !important;
}


/* ---------- 共通見出し / ラベル等 ---------- */

.section-title {
  color: var(--colcr-text-main) !important;
  border-bottom: 3px solid var(--colcr-main) !important;
}

.section-title-yellow {
  color: var(--colcr-text-on-dark) !important;
}

/* トピックアイコン */
.topic-icon {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-main) !important;
}


/* ---------- 共通ボタン（common-btn） ---------- */

.common-btn,
a.common-btn,
button.common-btn {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  border-color: var(--colcr-accent) !important;
  transition: all 0.3s ease;
}

.common-btn:hover,
a.common-btn:hover,
button.common-btn:hover,
.common-btn:focus,
a.common-btn:focus,
button.common-btn:focus {
  background: var(--colcr-accent) !important;
  color: var(--colcr-main) !important;
  border-color: var(--colcr-accent) !important;
  transition: all 0.3s ease;
}


/* ---------- ヘッダー ---------- */
.header.scrolled {
  background: var(--colcr-bg) !important;
  opacity: 0.9;
}

.header-contact-btn {
  background: var(--colcr-main) !important;
  color: var(--colcr-text-on-main) !important;
  transition: all 0.3s ease;
}

.header-contact-btn:hover {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
  transition: all 0.3s ease;
}

/* ---------- フッター ---------- */

.footer,
.contact-bg {
  background: var(--colcr-bg-soft) !important;
}

footer {
  background: var(--colcr-accent) !important;
}

.footer-btn {
  background: var(--colcr-bg) !important;
}

.footer-main {
  border: none !important;
}

.footer-info {
  color: var(--colcr-text-on-dark) !important;
}

.footer-nav {
  background: var(--colcr-accent) !important;
}

.footer-nav a {
  color: var(--colcr-text-on-dark) !important;
  order-right: 1px solid var(--colcr-border) !important;
}

.footer-bottom {
  background: var(--colcr-accent) !important;
}

.footer-bottom p {
  border-top: 1px solid var(--colcr-border) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* Instagramアイコン */
.footer-instagram {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}

/* 著作権表記 */
.footer-copyright {
  background: var(--colcr-accent) !important;
  color: var(--colcr-text-on-dark) !important;
}