/*# sourceMappingURL=works.css.map */
/* =============================================
   1. ギャラリー全体のレイアウト
   ============================================= */
.gallery-grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  max-width: 1200px;
  margin: 180px auto 0; 
  padding: 0 20px 40px;
  background-color: #FDFBF7;
}

/* =============================================
   2. フィルターナビゲーション
   ============================================= */
section.gallery-container .gallery-filter-nav {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  z-index: 999;

  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items:flex-start;

  gap: 15px;
  padding: 25px 20px; 
  box-sizing: border-box;
  background-color: #FDFBF7; 
  transition: all 0.4s ease;
}

section.gallery-container .gallery-filter-nav.is-scrolled {
  background-color: rgba(253, 251, 247, 0.85); 
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/*★1. ボタンの基本形を作る★ */
section.gallery-container .gallery-filter-nav .filter-btn {
display: flex;
align-items: center;
justify-content: center;

width: 120px;
height: 60px;

text-decoration: none;
color: #C76B4A;
background-color: #fff;
border: 1px solid #C76B4A;
padding: 8px 20px;
font-size: 15px;
cursor: pointer;
transition: all 0.3s;
}

/* ★2. マウスを乗せた時の反応★ */
section.gallery-container .gallery-filter-nav .filter-btn:hover {
background-color: #fdf5f2;
opacity: 0.8;
}

/* ★3.黒背景に白文字★ */
section.gallery-container .gallery-filter-nav .filter-btn.active {
background-color: #C76B4A;
color: #fff;
}

/* =============================================
   5. レスポンシブ対応（スマホ）
   ============================================= */
    .grid-item {
      height: auto; 
      aspect-ratio: 16 / 10;
    }
    .grid-item[data-category] .grid-img {
      width: 100%; 
      max-width: 90%;
      max-height: 90%;
      height: auto;
    }
 
/* =============================================
   3. ボタンのスタイル
   ============================================= */
.gallery-filter-nav button.filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  flex-basis: 120px;
  height: 45px;
  background-color: transparent;
  color: #333;
  border: 1px solid #333;  
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;

  box-sizing: border-box;
  /* flex-shrink: 0; */
}

.gallery-filter-nav button.filter-btn.active,
.gallery-filter-nav button.filter-btn:hover {
  background-color: #C76B4A;
  border-color: #C76B4A;
  color: #fff;
}

/* =============================================
   4. 実績カード
   ============================================= */
/* 共通：枠の設定 */
.grid-item {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 16 / 10;
  height: 340px;
  background-color: #ebeae6;
  overflow: hidden;
  box-sizing: border-box;
  padding: 10px 0;
}

/* ★ Banner（data-category に banner を含む場合） */
.grid-item[data-category*="BANNER"] .grid-img {
  display: block;
  width: 330px;
  height: auto;
  max-width: 95%;
  margin: auto;
  object-fit: contain;
}

/* ★ LandingPage（data-category に landingpage を含む場合） */
.grid-item[data-category*="LandingPage"] .grid-img-wrap,
.grid-item[data-category*="LP"] .grid-img-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.grid-item[data-category*="LandingPage"] .grid-img,
.grid-item[data-category*="LP"] .grid-img { 
  width: 90%;
  max-width: 600px;
  height: auto;
  max-height: 95%;
  object-fit: contain;
  margin: 0 auto;
}

/* ★ HomePage（data-category に homepage を含む場合） */
.grid-item[data-category*="HomePage"] .grid-img-wrap,
.grid-item[data-category*="HP"] .grid-img-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.grid-item[data-category*="HomePage"] .grid-img,
.grid-item[data-category*="HP"] .grid-img {
  width: 90%;
  height: auto;
  max-height: 95%;
  object-fit: contain;
  margin: 0 auto;
}

/* ホバー演出 */
.grid-item:hover .grid-img {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}

/* =============================================
   ５. ページネーション
   ============================================= */
.works-pagination {
    font-family: "Noto Sans JP", sans-serif;
    margin: 40px 0;
    display: flex;
    justify-content: center;
}

/* 枠線と数字の基本スタイル */
.works-pagination .nav-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 数字、前へ、次への共通スタイル */
.works-pagination .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 5px;
    border: 1px solid #78422d;
    text-decoration: none;
    color: #b56e52;
    border-radius: 4px;
}

/* 現在のページの数字 */
.works-pagination .current {
    background-color: #b56e52;
    color: #fff;
    border-color: #b56e52;
}

/* 「前」「次」の枠を消して文字だけにする場合 */
.works-pagination .prev,
.works-pagination .next {
    border: none;
    color: #78422d;
}

   /* =============================================
   ６. レスポンシブ対応（スマホ）
   ============================================= */
@media (max-width: 768px) {
  .gallery-grid-container {
    display: flex;
    flex-wrap: wrap;
    
    margin-top: 220px; 
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  section.gallery-container .gallery-filter-nav {
    width: 340px;
    height: auto;

    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    /* padding: 20px 15px; */
  }
  
  section.gallery-container .gallery-filter-nav .filter-btn{
    font-size: 9px;
    padding: 0 5px; 
  }

  } */

  section.gallery-container .gallery-filter-nav {
    width: 340px;
    display: flex;
    flex-wrap: wrap; 
    gap: 8px;
  }
  .gallery-filter-nav button.filter-btn[data-filter="all"] {
    width: 100%;
    margin-right: 0;
    margin-bottom: 8px;
  }

  .gallery-filter-nav button.filter-btn:not([data-filter="all"]) {
    /* 2段目のボタン幅 */
    flex: 1; 
  }

  .grid-item {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    margin: 0 auto;

    display: flex;
    justify-content: center;
    align-items: center;
  }

@media (max-width: 768px){
/* ★ Banner（data-category に banner を含む場合） */
  .grid-item[data-category*="BANNER"] .grid-img {
    width: 215px;
    height: 215px;
  }
}

/* =============================================
   6. 戻るボタン（下部）
   ============================================= */
.confirm-btn-wrap {
  margin-top: 50px;
  text-align: center;
}

.back-btn {
   display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 0 20px;
    margin: 0 auto 100px;
    width: 240px; 
    height: 60px;
    text-align: center;
    background-color: #967162;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: "noto sans JP", sans-serif;
    font-size: 20px;
    font-weight: bold;
      padding: 0;
    cursor: pointer;
    transition: 0.3s;
    appearance: none;
    -webkit-appearance: none; 
}

.back-btn:hover {
  background-color: #695147;
}

.btn-back-icon-img{
    width: 15px;
    height: auto;
    display: block;
}