
    /* 支援・寄付ページ特定スタイル */
    .page-header {
      position: relative;
      padding: 6rem 0;
      background: linear-gradient(135deg, var(--washi-indigo) 0%, #2c5c7d 100%);
      overflow: hidden;
    }
    
    .page-header::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url('img/textures/washi-texture-light.png');
      background-size: cover;
      opacity: 0.1;
      mix-blend-mode: overlay;
    }
    
    .page-header-decoration {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 20px;
      background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,0 L10,2 L20,0 L30,3 L40,1 L50,2 L60,0 L70,3 L80,1 L90,2 L100,0 L100,100 L0,100 Z' fill='%23f8f9fa'/%3E%3C/svg%3E");
      background-size: 100px 20px;
      background-repeat: repeat-x;
    }
    
    /* プロジェクトカード */
    .project-card {
      border-radius: 15px;
      overflow: hidden;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
      background-color: #fff;
      transition: all 0.3s ease;
    }
    
    .project-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    
    .project-img {
      position: relative;
      overflow: hidden;
      height: 200px;
    }
    
    .project-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    
    .project-card:hover .project-img img {
      transform: scale(1.05);
    }
    
    .project-overlay {
      position: absolute;
      top: 15px;
      right: 15px;
      z-index: 1;
    }
    
    .project-category {
      background-color: rgba(var(--primary-rgb), 0.8);
      color: white;
      padding: 5px 15px;
      border-radius: 20px;
      font-size: 0.8rem;
      font-weight: 500;
    }
    
    .project-content {
      padding: 1.5rem;
    }
    
    .project-title {
      font-size: 1.25rem;
      font-weight: 700;
      margin-bottom: 0.75rem;
      color: var(--dark-text);
    }
    
    .project-description {
      font-size: 0.9rem;
      color: #666;
      margin-bottom: 1rem;
    }
    
    .project-progress {
      margin-top: 1rem;
    }
    
    .progress {
      height: 8px;
      border-radius: 10px;
      background-color: rgba(var(--primary-rgb), 0.1);
    }
    
    .progress-bar {
      background-color: var(--primary-color);
      border-radius: 10px;
    }
    
    .project-progress-info {
      display: flex;
      justify-content: space-between;
      margin-top: 0.5rem;
      font-size: 0.85rem;
    }
    
    .progress-label {
      color: #666;
    }
    
    .progress-percentage {
      font-weight: 600;
      color: var(--primary-color);
    }
    
    /* 寄付カード */
    .donation-card {
      border-radius: 15px;
      overflow: hidden;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
      background-color: #fff;
      transition: all 0.3s ease;
    }
    
    .donation-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    
    .donation-card-header {
      position: relative;
      padding: 2rem 1.5rem;
      text-align: center;
      background-color: rgba(var(--primary-rgb), 0.05);
      border-bottom: 1px solid rgba(var(--primary-rgb), 0.1);
    }
    
    .featured-card .donation-card-header {
      background-color: rgba(var(--primary-rgb), 0.1);
    }
    
    .featured-badge {
      position: absolute;
      top: 10px;
      right: 10px;
      background-color: var(--washi-red);
      color: white;
      padding: 3px 10px;
      border-radius: 20px;
      font-size: 0.7rem;
      font-weight: 500;
    }
    
    .donation-icon {
      width: 70px;
      height: 70px;
      background-color: rgba(var(--primary-rgb), 0.1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1rem;
      font-size: 1.8rem;
      color: var(--primary-color);
      transition: all 0.3s ease;
    }
    
    .donation-card:hover .donation-icon {
      transform: scale(1.1);
      background-color: var(--primary-color);
      color: white;
    }
    
    .featured-card .donation-icon {
      background-color: rgba(var(--primary-rgb), 0.2);
    }
    
    .donation-title {
      font-size: 1.25rem;
      font-weight: 700;
      margin-bottom: 0;
      color: var(--dark-text);
    }
    
    .donation-content {
      padding: 1.5rem;
    }
    
    .donation-features {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0;
    }
    
    .donation-features li {
      position: relative;
      padding-left: 1.5rem;
      margin-bottom: 0.5rem;
      font-size: 0.9rem;
    }
    
    .donation-features li i {
      position: absolute;
      left: 0;
      top: 0.2rem;
      color: var(--washi-green);
    }
    
    /* 特典カード */
    .benefit-card {
      padding: 2rem 1.5rem;
      background-color: #fff;
      border-radius: 15px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
      transition: all 0.3s ease;
      height: 100%;
    }
    
    .benefit-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    
    .benefit-icon {
      width: 60px;
      height: 60px;
      background-color: rgba(var(--primary-rgb), 0.1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1rem;
      font-size: 1.5rem;
      color: var(--primary-color);
      transition: all 0.3s ease;
    }
    
    .benefit-card:hover .benefit-icon {
      transform: scale(1.1);
      background-color: var(--primary-color);
      color: white;
    }
    
    .benefit-title {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark-text);
    }
    
    .benefit-description {
      font-size: 0.9rem;
      color: #666;
      margin-bottom: 0;
    }
    
    /* よくある質問 */
    .faq-accordion .accordion-item {
      border: none;
      margin-bottom: 1rem;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03);
    }
    
    .faq-accordion .accordion-button {
      padding: 1.25rem 1.5rem;
      font-weight: 600;
      font-size: 1rem;
      color: var(--dark-text);
      background-color: #fff;
    }
    
    .faq-accordion .accordion-button:not(.collapsed) {
      color: var(--primary-color);
      background-color: rgba(var(--primary-rgb), 0.03);
      box-shadow: none;
    }
    
    .faq-accordion .accordion-button::after {
      background-size: 1rem;
    }
    
    .faq-accordion .accordion-body {
      padding: 1rem 1.5rem 1.5rem;
      font-size: 0.95rem;
    }
    
    /* 响应式调整 */
    @media (max-width: 991.98px) {
      .project-img {
        height: 180px;
      }
    }
    
    @media (max-width: 767.98px) {
      .page-header {
        padding: 4rem 0;
      }
      
      .progress-label, .progress-percentage {
        font-size: 0.75rem;
      }
    }
  

