
@charset "utf-8";

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
margin: 0;
font-family: 'Playfair Display', serif;
color: #2c1d00;
background-color: #C8BBA8;
}


/* ヘッダー */
header {
display: flex;
justify-content: flex-end;
padding: 24px 40px;
position: relative;
z-index: 10;
}



nav ul {
display: flex;
gap: 24px;
list-style: none;
}

nav a {
text-decoration: none;
color: #000;
font-family: 'Cormorant Garamond', serif;

font-size: 1.2rem;
font-size: 1.0rem;

}

nav a:hover {
  opacity: 0.5;
}


.site-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: #000;
  margin-right: auto;
  text-decoration: none;
  line-height: 1;
  mix-blend-mode: multiply;
  letter-spacing: 0.02em;
  font-weight: 500;
  opacity: 0.8;

  
}
/* ここまで */

/* ここからアバウト */

.about-section {
    padding: 100px 40px;
    position: relative;
    overflow: hidden;
  }
  
  /* テキスト */
  .about-text {
    position: absolute;
    top: 40px;
    left: 40px;
    z-index: 2;
  }
  
  .about-heading {
    font-size: 6vw;
    font-family: 'Cormorant Garamond', serif;
    mix-blend-mode: multiply;
    letter-spacing: 0.02em;
    font-weight: 500;
    color: black;
    opacity: 0.8;
    white-space: nowrap;
    margin: 0;
  }
  
  .about-description-ja {
    font-size: 1.3rem;
    color: #2c1d00;
    line-height: 2;
    font-family: 'Noto Serif JP', serif;
    margin: 0;
  }
  
  .about-description-en {
    font-size: 0.75rem;
    font-style: italic;
    color: #555;
    font-family: 'Cormorant Garamond', serif;
    margin: 10px 0 0 0;
  }

  
  
  /* スライダー */
  .about-slider {
    overflow: hidden;
    white-space: nowrap;
    margin-top: 200px;
 
  }
  
  .slider-track {
    display: inline-block;
    animation: scrollLeft 60s linear infinite;
    font-size: 0; 
    
  }
  
  .slider-track img {
    height: 400px;
    width: auto; /* ← 幅を可変に */
    margin-right: 0;
    display: inline-block;
    object-fit: cover;
    /* border-radius: 4px; */
    
  }

  
  
  /* アニメーション */
  @keyframes scrollLeft {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  

  /* ここから０１０２０３セクション */

  .about-detail-section {
    padding: 120px 40px;
    display: flex;
    flex-direction: column;
    gap: 140px;
  }
  
  .about-detail-block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap; 
    max-width: 1200px;
    margin: 0 auto;
    gap: 80px;
    position: relative;
  }
  
  .about-detail-content {
    flex-basis: 60%;
    max-width: 60%;
    min-width: 0;
    font-family: 'Noto Serif JP', serif;
    color: #2c1d00;
  }
  
  .about-detail-title {
    font-size: 3vw;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.02em;
    font-weight: 500;
    color: black;
    opacity: 0.8;
    margin-bottom: 20px;
  }
  
  .about-detail-sub {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 20px;
  }
  
  .about-detail-text {
    font-size: 1.05rem;
    line-height: 2;
  }
  
  .about-detail-image {
    flex-basis: 40%;
    max-width: 40%;
    min-width: 0;
  }
  
  .about-detail-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
  }
  
  .about-detail-number {
    position: absolute;
    top: -60px;
    left: 0;
    font-size: 3.5rem;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    color: #555;
    opacity: 0.3;
    z-index: 0;
    pointer-events: none;
  }
  
  .about-slider {
    overflow: hidden;
    white-space: nowrap;
    margin-top: 200px;
  
    width: 100vw;     
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .about-slider {
    overflow: hidden;
    white-space: nowrap;
    margin-top: 200px;
  
    width: 100%;      
    position: relative;
    left: 0;            
    transform: none;     
  }

  /* アバウトアニメーション */

.about-heading span {
    display: inline-block;
    transform: translateY(30px);
    opacity: 0;
    animation: fadeUp 0.6s forwards;
  }
  
  @keyframes fadeUp {
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  
  /* 日本語・英語テキストの順番アニメーション */
  .about-text p {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
  }
  
  .about-text.active p:nth-of-type(1) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
  }
  .about-text.active p:nth-of-type(2) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.6s;
  }
  
  /* スライダー出現アニメーション */
  .about-slider {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s ease;
  }
  .about-slider.active {
    opacity: 1;
    transform: translateY(0);
  }
  
 
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.7s ease;
}
.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}


/* スライダーバラバラ動きアニメーション */
.slider-track img {
    height: 400px;
    width: auto;
    object-fit: cover;
    display: inline-block;
    margin: 0;
    padding: 0;
    animation: zoomInOut 20s ease-in-out infinite;
  }
  
  /* ランダムなアニメーション遅延をJSで後付け */
  
  @keyframes zoomInOut {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.08);
    }
  }
  
  /* ここまで */
/* フッター */
/* フッター全体 */
.footer {
    position: relative;
    padding: 0;
    overflow: hidden;
    background-color: #C8BBA8;
    }
    
    /*LUNOA 流れる*/
    .footer-marquee {
    white-space: nowrap;
    overflow: hidden;
    }
    .marquee-content {
    display: inline-block;
    font-size: 15vw;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    color: black;
    opacity: 0.08;
    mix-blend-mode: multiply;
    animation: marquee 30s linear infinite;
    }
    .marquee-content span {
    margin-right: 4vw;
    }
    @keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
    }
    
    /* CONTACTCOMPANY セクション  */
    .footer-links {
    display: flex;
    justify-content: center;
    gap: 80px;
    padding: 60px 20px;
    flex-wrap: wrap;
    }
    
    .footer-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 340px;
    color: #2c1d00;
    }
    
    
    .footer-heading-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    }
    
    /* 見出し */
    .footer-box h3 {
    font-size: 4.6rem;
      font-family: 'Cormorant Garamond', serif;
      mix-blend-mode: multiply;
    margin: 0;
    flex-shrink: 0;
    letter-spacing: 0.02em;
    font-weight: 500;
    color: black;
    opacity: 0.8;
    
    
    
    }
    
    /* 日本語テキスト */
    .footer-box p {
    color: #2c1d00;
    line-height: 2.2;
    font-family: 'Noto Serif JP', serif;
    
    font-size: 1.3rem;
    }
    
    
    /* --- FOLLOW US セクション --- */
    .footer-bottom {
    padding: 40px 60px;
    font-size: 0.9rem;
    color: #2c1d00;
    display: flex;
    flex-direction: column;
    gap: 20px;
    
    }
    .follow-us {
    display: flex;
    justify-content: space-between;
    align-items: center;
    }
    .follow-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    }
    .follow-left h4 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    
    }
    .sns-icons {
    display: flex;
    gap: 16px;
    }
    .sns-icons img {
    width: 20px;
    height: 20px;
    filter: grayscale(100%);
    }
    
    .footer-nav {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 0.85rem;
    font-family: 'Cormorant Garamond', serif;
    
    }
    .footer-nav a {
    text-decoration: none;
    color: #000;
    font-family: 'Cormorant Garamond', serif;
    
    }
    
    .footer-nav a:hover {
      opacity: 0.5;
    }
    
    .copyright {
    text-align: right;
    font-size: 0.75rem;
    opacity: 0.8;
    }
    
    .footer-links {
    display: flex;
    justify-content: center;
    gap: 160px; 
    padding: 60px 20px;
    flex-wrap: wrap;
    }
    
    .footer-heading-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px; 
    }
    
    /* 正円ボタン */



