﻿body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* MV */
.mv-bg {
    background-image: url('../images/mv-bg.jpg');
    background-size: cover;
    
    /* スマホ版: 横の位置(X軸) 縦の位置(Y軸) の順番で指定します */
    /* 100%に近づくほど画像が左にスライドし（右側が見える）、0%に近づくほど右にスライドします */
    background-position: 65% center; 
    
    @media (min-width: 768px) {
        /* PC版は中央に配置 */
        background-position: center center; 
    }
}

/* 白光彩 */
.text-glow-subtle {
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.6));
}

/* ヘッダー色切替 */
header.is-white .logo-img,
header.is-black .logo-img {
  filter: brightness(0);
}

/* ロゴ調整 */
header.is-white .logo-img {
  height: 87px;
}
@media (min-width: 768px) {
  header.is-white .logo-img {
    height: 111px;
  }
}

header.is-black .logo-img {
  height: 58px;
}
@media (min-width: 768px) {
  header.is-black .logo-img {
    height: 74px;
  }
}

header.is-white .logo-wrapper {
  transform: translateY(11.5px);
}
@media (min-width: 768px) {
  header.is-white .logo-wrapper {
    transform: translateY(15.5px);
  }
}

header.is-black .logo-wrapper {
  transform: translateY(0);
}

/* ホバーアクション */
.btn-ghost:hover .icon-img {
  filter: brightness(0) invert(1);
}

/* SPスクロールバー非表示 */
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

@keyframes scroll {
  0% {
    top: -100%;
  }
  100% {
    top: 100%;
  }
}

/* アコーディオン */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
  opacity: 0;
}

.faq-item.active .faq-answer {
  max-height: 200px;
  opacity: 1;
}
.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* ハンバーガーメニュー開閉時のボタン変形 */
#menu-btn.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
  width: 24px;
}
#menu-btn.is-active span:nth-child(2) {
  opacity: 0;
}
#menu-btn.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
  width: 24px;
}

/* スクロール連動フェードインアニメーション（ユナイテッドアローズ風） */
.fade-in-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* 一文字ずつ現れるアニメーション */
.text-split-anime {
    /* 親要素自体は隠さず、中の文字(.char)を隠す */
    opacity: 1;
    transform: none;
}

.text-split-anime .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1), transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.text-split-anime.is-visible .char {
    opacity: 1;
    transform: translateY(0);
}
/* JOIN US アトリエ画像の位置調整 */
.img-join-atelier {
  object-position: center; /* デフォルト（SP）は中央 */
}

@media (min-width: 768px) {
  .img-join-atelier {
    object-position: center calc(50% + -60px); /* PC時は上にずらして下部を見せる */
  }
}