@charset "utf-8";

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  z-index: 1000;
  padding: 15px 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  
  &.show {
    transform: translateY(0);
  }
  
  .headerContainer {
    max-width: 1200px;
    margin-inline: auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .logo {
    a {
      font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem);
      font-weight: 900;
      color: #d2691e;
    }
  }
  
  .nav {
    .navList {
      display: flex;
      gap: 30px;
      
      a {
        font-size: clamp(0.9rem, 0.8rem + 0.5vw, 1.1rem);
        font-weight: 700;
        color: #333;
        transition: color 0.3s ease;
        
        &:hover {
          color: #dc143c;
        }
      }
    }
  }
  
  .mobileMenuBtn {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    
    span {
      width: 25px;
      height: 3px;
      background: #333;
      transition: all 0.3s ease;
    }
    
    &.active {
      span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
      }
      
      span:nth-child(2) {
        opacity: 0;
      }
      
      span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
      }
    }
  }
}

.mobileMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  
  &.active {
    opacity: 1;
    visibility: visible;
  }
  
  .mobileNav {
    .mobileNavList {
      text-align: center;
      
      li {
        margin-bottom: 30px;
      }
      
      .mobileNavLink {
        font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
        font-weight: 700;
        color: #fbfbfb;
        transition: color 0.3s ease;
        
        &:hover {
          color: #dc143c;
        }
      }
    }
  }
}

/* メディアクエリ */
@media (width < 768px) {
  .header {
    .nav {
      display: none;
    }
    
    .mobileMenuBtn {
      display: flex;
    }
  }
}