html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

.news-scroll-box {
  max-height: 200px; /* 表示させたい高さに調整 */
  overflow-y: auto;  /* 縦スクロールを有効化 */
  padding-right: 10px; /* スクロールバーが被らないように */
}



/* スライドショーの共通設定 */
.slideshow {
    position: relative;
    width: 100%;
    height: 415px; /* スマホ用の高さ */
    overflow: hidden;
}

/* 画像の設定 */
.slideshow img {
    position: absolute;
    width: 100%;
    height: auto;
    visibility: hidden; /* 初期状態で非表示 */
    opacity: 0;
    transition: opacity 1s ease; /* フェード効果 */
}

/* パソコン用スライドショー */
.pc-slideshow img {
    visibility: hidden; /* 初期状態で非表示 */
}

/* スマホ用スライドショー */
.sp-slideshow img {
    visibility: hidden; /* 初期状態で非表示 */
}

/* パソコン用スライドショー */
@media screen and (min-width: 768px) {
    .pc-slideshow {
        height: 600px; /* PC用の高さ */
    }
    
    .pc-slideshow img {
        visibility: visible;
        opacity: 1;
    }

    /* スマホ用スライドショーは非表示 */
    .sp-slideshow {
        display: none;
    }
}

/* スマホ用スライドショー */
@media screen and (max-width: 767px) {
    .sp-slideshow {
        height: 415px; /* スマホ用の高さ */
    }

    .sp-slideshow img {
        visibility: visible;
        opacity: 1;
    }

    /* PC用スライドショーは非表示 */
    .pc-slideshow {
        display: none;
    }
}


/* パソコン用サムネイル */
.pc-thumb, .sp-thumb {
    width: auto;
    height: 100px;
    max-width: 100%;
    object-fit: cover;
    margin: 5px;
    cursor: pointer;
}

/* サムネイルの配置 */
.thumbnails {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.pc-thumbnails, .sp-thumbnails {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

/* スマホ用のサムネイル */
.sp-thumbnails {
  display: flex;
  justify-content: flex-start;
  overflow-x: auto;
  width: 100%;
  padding: 0 0px;
  scroll-behavior: smooth;
}

/* スマホ用サムネイルの幅調整 */
.sp-thumb {
    width: 100%;
    max-width: 90px;
    height: auto;
    margin: 1px;
    cursor: pointer;
}

/* サムネイルをホバーしたとき */
.pc-thumb:hover, .sp-thumb:hover {
    opacity: 0.7;
}

/* フェードイン・フェードアウトのアニメーション */
@keyframes fade {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* パソコン用スライドショー */
@media screen and (min-width: 768px) {
    .slideshow {
        width: 1300px;
        height: 600px;
    }

    .pc-img {
        display: block;  /* パソコン画像を表示 */
    }

    .sp-img {
        display: none;  /* スマホ画像は非表示 */
    }

    .sp-thumbnails {
        display: none;  /* パソコンでスマホ用サムネイルを非表示 */
    }

    .pc-thumbnails {
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
        width: 1280px;
        padding: 0 10px;
        scroll-behavior: smooth;
    }
}

/* スマホ用スライドショー */
@media screen and (max-width: 767px) {
    .slideshow {
        width: 100%;
        height: 415px;
    }

    .pc-img {
        display: none;  /* パソコン画像は非表示 */
    }

    .sp-img {
        display: block;  /* スマホ画像のみ表示 */
    }

    .pc-thumbnails {
        display: none;  /* スマホでパソコン用サムネイルを非表示 */
    }

    .sp-thumbnails {
        display: flex;  /* スマホ用サムネイルを表示 */
    }
}


  /* ===== スクロールバーを極細にするカスタマイズ ===== */

/* WebKit（Chrome, Safari, Edgeなど） */
.sp-thumbnails::-webkit-scrollbar,
.pc-thumbnails::-webkit-scrollbar {
  height: 2px;  /* 横スクロールバーの高さを最細に */
}

.sp-thumbnails::-webkit-scrollbar-thumb,
.pc-thumbnails::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);  /* うっすらした色で目立たない */
  border-radius: 10px;
}

.sp-thumbnails::-webkit-scrollbar-track,
.pc-thumbnails::-webkit-scrollbar-track {
  background: transparent;
}

/* Firefox対応 */
.sp-thumbnails,
.pc-thumbnails {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}

    }



.image-wrapper {
  margin-top: 10px;
  margin-right: 12px;
  margin-bottom: 50px;  /* ここで下の余白を設定 */
  margin-left: 12px;
  display: block;  /* inline-blockをblockに変更 */
}




/* 画像ギャラリー */
.image-gallery {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* PCでは6列 */
  column-gap: 20px; /* 画像間の左右の隙間 */
  row-gap: 0; /* 上下の隙間なし */
  max-width: 1120px;
  margin: 0 auto;
  align-items: center;

  /* ★ 基本の余白（スマホベース）をここで指定 ★ */
  padding: 20px 10px;
  box-sizing: border-box;
}

/* 画像のサイズ設定 */
.image-gallery img {
  height: 400px;
  object-fit: cover;
  width: auto;
  display: block;
  margin: 0;
}

/* パソコンレイアウト */
@media (min-width: 950px) {
  .image-gallery {
    grid-template-columns: repeat(6, 1fr);
    column-gap: 20px;
    row-gap: 10px;

    /* ★ PC用の余白を上書き ★ */
    padding: 60px 60px;
  }

  .image-gallery img {
    width: 80%;
    height: auto;
  }
}

/* スマホレイアウト */
@media (max-width: 600px) {
  .image-gallery {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
    row-gap: 10px;
    justify-items: center;
    align-items: start;
    max-width: 500px;

    /* ★ スマホ専用の余白調整もOK（基本と同じなら省略可）★ */
     margin-top: -50px; /* 上を詰める */
    margin-bottom: -10px; /* 下を詰める */
        margin-left: 10px; /* 左側の余白を詰める */
    margin-right: 10px; /* 右側の余白を詰める */
  }

  .image-gallery img {
    width: 75% !important;
    height: auto;
    margin: auto;
  }
}

/* 各画像のスタイル */
.image-grid a img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 画面幅が768px以下の場合（スマホ） */
@media (max-width: 768px) {
  .image-grid {
    grid-template-columns: repeat(2, 1fr); /* スマホでは2列 */
  }
}


.image-grid img {
  width: 100%; /* 各セルの幅に合わせる */
  height: auto; /* アスペクト比を維持 */
}


.p-top-logo {
  font-size: 20px;
  line-height: 1.4;
  max-width: 90%;
  margin: 30px auto;
  text-align: center;
}

.p-top-logo a {
  display: block;
  transition: opacity .2s;
  text-decoration: none;
  color: #ffffff;
}

.p-top-logo a:hover {
  opacity: .66;
}

.p-top-logo a:active {
  opacity: 1;
}

#slider-wrapper .bx-controls-direction a {
  z-index: 100;
}

#slider-wrapper .bx-viewport {
  top: 0;
  left: 0;
  border: 0;
  background: #f8f8f8;
  box-shadow: none;
}

#slider-wrapper .bx-wrapper img {
  margin: 0 auto;
}

#slider-wrapper .bx-caption {
  top: 0;
  bottom: auto;
  background: rgba(0, 0, 0, .3);
}

#slider-wrapper .bx-caption span {
  padding: 1.5em;
}

#slider-wrapper .bx-pager {
  bottom: 10px;
  padding-top: 0;
}

#slider-wrapper .bx-pager a {
  background: #fff;
}

#slider-wrapper .bx-pager a:hover,
#slider-wrapper .bx-pager a.active {
  background: #fd7f23;
}

.p-news {
  line-height: 1.5;
  margin: 0;
}

.p-news::after {
  display: block;
  clear: both;
  content: '';
}

.p-news__label {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
  width: 180px;
  margin: 0;
  letter-spacing: 1px;
}

.p-news__content {
  line-height: 1.6;
  margin: 5px 0 20px 10px;
}

.p-news__content p:nth-child(1) {
  margin-top: 0;
}

.p-news__label {
  font-family: 'Montserrat', sans-serif;
}

.p-news__label::before {
  content: '-';
}

.p-info {
  line-height: 1.5;
}

.p-contents {
  line-height: 1.5;
  margin-bottom: 40px;
}

.p-contents__list {
  margin: 0 0 20px;
  padding: 0;
  list-style-type: none;
}

.p-contents__list::after {
  display: block;
  clear: both;
  content: '';
}

.p-contents__list li {
  position: relative;
  box-sizing: border-box;
  padding: 0 2em 0 1em;
}

.p-contents__list li::before {
  position: absolute;
  top: .5em;
  left: 0;
  content: '-';
}

.p-contents__list a {
  display: block;
  max-width: 100%;
  padding: .5em 0;
  transition: opacity .2s;
  text-decoration: none;
  color: #333;
}

.p-contents__list a:hover {
  opacity: .66;
}

.p-contents__list a:active {
  opacity: 1;
}

.p-custom-banner {
  margin-top: 50px;
  text-align: center;
}

.p-custom-banner__unit {
  background: #f8f8f8;
}

.p-custom-banner__unit--text {
  font-family: 'Montserrat', sans-serif;
  padding: 30px 10px;
  color: #f8f8f8;
  background: #333;
}

.p-custom-banner__unit--text a {
  color: #f8f8f8;
}

.p-custom-banner__image {
  width: 100%;
}

.p-custom-banner__heading {
  font-size: 24px;
  padding: 10px 0;
}

.p-custom-banner__body {
  line-height: 1.5;
  padding: 10px 0;
}

@media screen and (min-width: 600px) {
  .p-top-logo {
    display: none;
  }

  #slider-wrapper .bx-pager {
    bottom: 30px;
  }

  .p-contents__list li::before {
    top: 0;
  }

  .p-contents__list li {
    float: left;
    width: 50%;
    margin-bottom: 20px;
  }

  .p-contents__list li:nth-child(2n + 1) {
    clear: left;
  }

  .p-contents__list a {
    display: inline-block;
    padding: 0;
  }

  .p-custom-banner {
    display: table;
    width: 100%;
    margin-top: 100px;
    table-layout: fixed;
  }

  .p-custom-banner__unit {
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    max-width: 50%;
    vertical-align: middle;
    word-break: break-all;
  }

  .p-custom-banner__unit--text {
    padding: 10px 20px;
  }
}

@media screen and (min-width: 960px) {
  .p-news__label {
    float: left;
    clear: left;
    margin-right: 20px;
  }

  .p-news__content {
    overflow: hidden;
    margin: 0 0 20px;
  }

  .p-custom-banner__heading {
    font-size: 30px;
  }
}
/* 親コンテナ */
.content-with-sidebar {
  display: flex;                     /* 横並びにする */
  gap: 20px;                         /* メインコンテンツとサイドバーの間にスペース */
  justify-content: flex-start;       /* 左側に配置 */
  background-color: #ffffff;         /* ボックス背景色 */
  padding: 20px;
}

/* サイドバー */
.sidebar {
  font-size: 16px;
  line-height: 2.6;
  width: 250px;                      /* サイドバーの幅 */
  background-color: #ffffff;         /* 背景色を白に */
  padding: 20px;
  box-sizing: border-box;
 
}
/* サイドバー内のカテゴリーリストの小さな〇を消す */
.sidebar ul {
  list-style-type: none;  /* リストの丸点を消す */
  padding-left: 0;        /* 左側の余白をなくす */
}
/* サイドバー内のリンクの下線を消し、文字色を黒にする */
.sidebar a {
  text-decoration: none; /* 下線を消す */
  color: #000;           /* 文字色を黒に設定 */
}



/* 画像コンテナ */
.image-container {
  flex: 1;                           /* 残りのスペースを占める */
  background-color: #ffffff;         /* 背景色を白に */
  padding: 20px;
}

/* 画像グリッド */
.image-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);  /* デスクトップは4列 */
  gap: 10px; /* 画像間の隙間 */
  max-width: 950px;
  margin: 0 auto;
  align-items: center;
}

/* 画像サイズ設定 */
.image-grid img {
  height: 400px; /* 画像の高さ */
  object-fit: cover;
  width: auto; /* 幅は自動調整 */
  display: block;
  margin: 0;
}

/* スマホレイアウト */
@media (max-width: 768px) {
  .content-with-sidebar {
    flex-direction: column;    /* 縦並びに変更 */
    padding: 5px;              /* 上下左右5pxの余白 */
  }

  .sidebar {
    display: none;             /* サイドバーを非表示にする */
  }

  /* 画像コンテナ */
  .image-container {
    margin: 5px auto;          /* 上下5px、左右中央揃え */
    padding: 5px;
  }

  /* 画像グリッド */
  .image-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列に変更 */
    gap: 3px;
    padding-left: 0px; /* 画像グリッドの左余白 */
    padding-right: 0px; /* 画像グリッドの右余白 */
    margin: 5px auto; /* 上下5px、左右中央揃え */
  }

  .image-wrapper {
    margin: 5px auto;  /* 上下5px、左右中央揃え */
  }

  /* 画像のサイズ調整 */
  .image-gallery img, .image-grid img {
    width: 100%; /* スマホでは画像を最大幅に */
    height: auto; /* 高さを自動調整 */
  }
}
/* カテゴリーヘッダーの文字サイズを小さくする */
.sidebar .section__title-h2 {
  font-size: 20px; /* 文字サイズを18pxに変更 */
}

/* カテゴリーヘッダーの下にアンダーラインを追加 */
.sidebar .section__title-h2 {
  font-size: 17px; /* 文字サイズを小さく設定 */
  text-align: center; /* テキストを中央配置 */

  padding-bottom: 0px; /* 文字とアンダーラインの間にスペースを追加 */
}

/* サイドバー内の画像スタイリング */
.sidebar-image {
  width: 100%;              /* サイドバーの幅にフィット */
  height: auto;             /* アスペクト比を保つ */
  margin: 30px auto;        /* 上下10pxの余白 + 左右中央揃え */
  display: block;           /* ブロック要素にすることで中央揃えが適用される */
  box-shadow: none;         /* 影なし（シンプルに） */
}

.sidebar {
  padding-top: 20px; /* ここを調整して右ボックスと高さを合わせる */
}

.section__title-h2 {
  text-align: center;      /* 中央揃えのまま維持 */
  font-size: 18px;         /* サイズ調整 */
  padding-top: 0;          /* 上部余白なし */
  margin-top: 0;           /* 追加のマージンを消去 */
}

.content-with-sidebar {
  margin-top: -20px;     /* 上部の余白を狭くする */
  padding-top: 0;       /* 余分なパディングを削除 */
}

/* サイドバー内のh2タグを中央揃え */
.center-text {
  text-align: center; /* 文字を中央に配置 */
  margin: 0 auto;     /* 上下の余白なし */
}

/* サイドバー画像のスタイリング */
.sidebar-image {
  width: 100%;              /* サイドバーの幅にフィット */
  height: auto;             /* アスペクト比を保つ */
  margin: 30px auto;        /* 上下10pxの余白 + 左右中央揃え */
  display: block;           /* ブロック要素にすることで中央揃えが適用される */
  box-shadow: none;         /* 影なし（シンプルに） */
}

/* カテゴリーから探すに適用される中央揃え */
.section__title-h2 {
  text-align: center; /* 文字を中央に配置 */
}

/* サイドバーの商品名にアンダーラインを追加 */
.sidebar .menu-list__link {
  display: block;
  text-decoration: none; /* デフォルトのリンクの下線を消す */
  padding-bottom: 5px; /* アンダーラインと文字の間にスペースを作る */
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); /* 薄いアンダーライン */
}

.sidebar .menu-list__link:hover {
  border-bottom-color: rgba(0, 0, 0, 0.3); /* ホバー時にアンダーラインの色を濃くする */
}
/* サイドバー内の文字の大きさと行間を調整 */
.sidebar .menu-list__link {
  font-size: 16px; /* 文字の大きさを調整（任意のサイズに変更できます） */
  line-height: 2.7; /* 行間を調整（数値を変更して間隔を調整） */
}
/* デフォルト（パソコンでは非表示） */
.mobile-only {
  display: none;
}

/* スマホ（600px以下）で表示 */
@media (max-width: 600px) {
  .mobile-only {
    display: block;
    width: 100%; /* ボックス全体の幅を調整 */
    max-width: 100%; /* 最大幅を親要素に合わせる */
    margin: 0 auto; /* 中央揃え */
    background-color: white; /* 背景色を白に */
    padding: 15px; /* 余白 */
    border-radius: 0; /* 角丸を無くす */
    text-align: center; /* 文字中央揃え */
    box-shadow: none; /* 影を削除 */
    box-sizing: border-box; /* パディングが幅に含まれるようにする */
  }

  /* 画像サイズ調整 */
  .mobile-only img {
    width: 100%; /* 画像を親要素の幅に合わせる */
    height: auto; /* 高さは自動で調整 */
  }

  /* インスタグラムウィジェット調整 */
  .mobile-only iframe {
    width: 100%; /* インスタグラムウィジェットを親要素の幅に合わせる */
    height: auto; /* 高さを調整 */
  }
}

/* アンダーバーを削除 */
.underline-text {
  display: inline-block;
  position: relative;
  padding-bottom: 0; /* 下の余白も取り除く */
}

.underline-text::after {
  content: none; /* アンダーバーを表示しない */
}

