@charset "euc-jp";
.cat_menu{margin:0px 0px 0px 0px;}
@media screen and (min-width:300px) {
  .cat_menu{width:100%;}
  .cat_menu img{width:31%}
}
@media screen and (min-width:768px)and ( max-width:1024px) { 
  .cat_menu{width:100%;}
  .cat_menu img{width:16%;}
}
.top_waku_logo {
  width:100%;}
.top_waku_contact {
  width:100%;}
.top_waku_tel {
  display:inline-block;
  width:49%;}
.top_waku_sns {
  display:inline-block;
  width:49%;}
@media screen and (min-width:1024px){ 
  .cat_menu{width:100%;}
  .cat_menu img{width:16%;}
  .shishu {display: none!important;}
  .top_waku_logo {
  width:50%;}
.top_waku_contact {
  width:50%;}
.top_waku_tel {
  display:inline-block;
  width:49%;}
.top_waku_sns {
  display:inline-block;
  width:49%;}

  #header {
  font-weight:bold;
  }
  
body {
  background-color: #FFF;
  background-image: url(https://img.shop-pro.jp/tmpl_img/73/bg.gif);
  color: #202124;
  
  font-family: "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
}
a {
  color: #464e54;
}
a:hover {
  color: #5e5e5e;
}


/*layout*/
#wrapper {
  max-width: 1000px;
}

/*
 * contents
 */

#contents {
  float: right;
  padding-left: 0px;
}

#contents .topicpath-nav {
  margin-bottom: 5px;
}
  #contents .topicpath-nav li {
    padding: 0;
  }
  #contents .topicpath-nav a {
    margin-left: 5px;
  }

/*
 * side
 */
#side {
  font-weight: bold;
}

#side .unstyled img {
  display: block;
  margin-bottom: 5px;
}

/*
 * temp
 */
.top_waku{
  flex-wrap: wrap;
   justify-content: start;
    display: flex;
    flex-direction: row;}


/* font */
.txt_l { text-align: left; }
.txt_c { margin-bottom: 2px;  }
.txt_r { text-align: right; }
.txt_fwn { font-weight: normal; }
.txt_fwb { font-weight: bold; }
.txt_10 { font-size: 10px; }
.txt_12 { font-size: 12px; }
.txt_14 { font-size: 14px; }
.txt_16 { font-size: 16px; }
.txt_18 { font-size: 18px; }
.txt_20 { font-size: 20px; }
.txt_24 { font-size: 24px; }
.txt_28 { font-size: 28px; }
.txt_c_333 {color: #333;}

#slidenav {
  width: 110px;
  background-color: #ffffff;
  position: fixed;
  height: 100%;
  overflow: auto;
  margin-left: -112px; 
  box-sizing:border-box;
}
.menu a {
  display: block;
  text-decoration: none;
font-size:0.8em;}
}
@media screen and (min-width:1024px) {
  .menu {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width:1222px) {
  .menu{
    display: none!important;
  }
}
#slidenav_right {
  width: 110px;
  background-color: #ffffff;
  position: fixed;
  height: 100%;
  overflow: auto;
  margin-left: 1002px; 
  box-sizing:border-box;
}
.menu_right a {
  display: block;
  text-decoration: none;
  font-size:0.8em;}
}
@media screen and (min-width:1024px) {
  .menu_right {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width:1222px) {
  .menu_right{
    display: none!important;
  }
}
@media only screen and (min-width:769px){
.search_top{
    flex-wrap: wrap;
   justify-content: start;
   max-width:1000px;
    display: flex;
    flex-direction: row;
}
.search_bar {
  width:auto;
  height:50px;
  width:75%;
   text-align: left;

}
.search_bar input[type=text] {
   width:80%;
  height:38px;
  border:solid 2px #333;
  float: left;
  margin-right:5px;
  font-size: 16px;
   border-radius: 10px 10px 10px 10px;
}
.search_bar button{
  height: 50px;
  width:10%;
  border-radius: 10px 10px 10px 10px;}
.myaccount{
  /*margin-top:10px;*/
  width:25%;
}
  .myaccount ul{
    width:100%;}
  .myaccount a{font-size:22px;
    }
  .responsive {
  width: 13%;
  height: 13%;
    margin-bottom:5px;
}
}

/* background */
.bgc_gray {
  background-color: #f1f1f1;
}
@media only screen and (max-width:768px) {
.search_top{
    flex-wrap: wrap;
   justify-content: center;
   width:auto;
    display: flex;
    flex-direction: column-reverse;}
.search_bar {
  margin-left:5px;
  width:auto;
  height:35px;
  width:100%;
  margin-bottom:5px;
}
.search_bar form{height:75%;}
.search_bar input[type=text] {
   width:78%;
  height:100%;
  float: left;
  text-align: left;
  font-size: 16px;
   border-radius: 10px 10px 10px 10px;
}
.search_bar button{
  height: 143%;
  width:15%;
  margin-left:5px;
  text-align: center;
  border-radius: 10px 10px 10px 10px;}
.myaccount{
  width:auto;
  width:100%;
  text-align: right;
}
   .myaccount a{font-size:16px;
    }
  .responsive {
  width: 12%;
  height: 12%;
  margin-bottom:5px;
}
}
/* margin */
.mar_auto { margin: 0 auto; }
.mar_0 { margin: 0; }
.mar_t_0 { margin-top: 0; }
.mar_r_0 { margin-right: 0; }
.mar_b_0 { margin-bottom: 0; }
.mar_l_0 { margin-left: 0; }
.mar_5 { margin: 5px; }
.mar_t_5 { margin-top: 5px; }
.mar_r_5 { margin-right: 5px; }
.mar_b_5 { margin-bottom: 5px; }
.mar_l_5 { margin-left: 5px; }
.mar_t_10 { margin-top: 10px; }
.mar_r_10 { margin-right: 10px; }
.mar_b_10 { margin-bottom: 10px; }
.mar_l_10 { margin-left: 10px; }
.mar_t_20 { margin-top: 20px; }
.mar_r_20 { margin-right: 20px; }
.mar_b_20 { margin-bottom: 20px; }
.mar_l_20 { margin-left: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_r_30 { margin-right: 30px; }
.mar_b_30 { margin-bottom: 15px; }
.mar_l_30 { margin-left: 30px; }
.mar_t_50 { margin-top: 50px; }
.mar_r_50 { margin-right: 50px; }
.mar_b_50 { margin-bottom: 30px; }
.mar_l_50 { margin-left: 50px; }
/* padding */
.pad_v_10 { padding: 10px 0; }
.pad_v_20 { padding: 20px 0; }
.pad_v_30 { padding: 30px 0; }
.pad_0 { padding: 0; }
.pad_t_0 { padding-top: 0; }
.pad_r_0 { padding-right: 0; }
.pad_b_0 { padding-bottom: 0; }
.pad_l_0 { padding-left: 0; }
.pad_5 { padding: 5px; }
.pad_t_5 { padding-top: 5px; }
.pad_r_5 { padding-right: 5px; }
.pad_b_5 { padding-bottom: 5px; }
.pad_l_5 { padding-left: 5px; }
.pad_10 { padding: 10px; }
.pad_t_10 { padding-top: 10px; }
.pad_r_10 { padding-right: 10px; }
.pad_b_10 { padding-bottom: 10px; }
.pad_l_10 { padding-left: 10px; }
.pad_20 { padding: 20px; }
.pad_t_20 { padding-top: 5px; }
.pad_r_20 { padding-right: 20px; }
.pad_b_20 { padding-bottom: 20px; }
.pad_l_20 { padding-left: 20px; }
.pad_30 { padding: 30px}
.pad_t_30 { padding-top: 30px; }
.pad_r_30 { padding-right: 30px; }
.pad_b_30 { padding-bottom: 30px; }
.pad_l_30 { padding-left: 30px; }
.
/* border */
.bor_t_1 { border-top: 1px solid #eee; }
.bor_r_1 { border-right: 1px solid #eee; }
.bor_b_1 { border-bottom: 1px solid #eee; }
.bor_l_1 { border-left: 1px solid #eee; }

/* vertical align */
.va-10 { vertical-align: -10%; }
.va-20 { vertical-align: -20%; }
.va-30 { vertical-align: -30%; }
.va-35 { vertical-align: -35%; }
.va-40 { vertical-align: -40%; }
.va-base {vertical-align: baseline;}
.yoko{display: flex;
  /*font-size: 1.2em;*/}
.yoko img{margin-right:10px;}
.menu_waku{
  background-color:#ffffff;
  padding:0.1px 0 0.1px 0;}
@media (min-width: 980px) {.yoko1{margin-top: calc(4% - 2px);}}
@media (max-width: 980px) {.yoko1{margin-top: calc(5% - 2px);}}
@media (max-width: 768px) {.yoko1{margin-top: calc(1% - 2px);}}


@media (max-width: 980px) {
  /* ~980px */
  #base_gmoWrapp,
  #gmo_CMSPbar {
    overflow: hidden;
    min-width: 100% !important;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  /* ~768px */
  #contents {
    padding-left: 0;
  }
}
@media (max-width: 480px) {
  /* ~480px */
}

/*
 * icons
 */
.icon-user { background-position: -208px 0px; }
.icon-lg-b.icon-user { background-position: -312px 0px; }
.icon-adduser { background-position: -240px 0px; }
.icon-lg-b.icon-adduser { background-position: -360px 0px; }
.icon-login { background-position: -48px -80px; }
.icon-lg-b.icon-login { background-position: -72px -120px; }
.icon-logout { background-position: -32px -80px; }
.icon-lg-b.icon-logout { background-position: -48px -120px; }
.icon-home { background-position: -176px -16px; }
.icon-lg-b.icon-home { background-position: -264px -24px; }
.icon-mail { background-position: -64px 0px; }
.icon-lg-b.icon-mail { background-position: -96px 0px; }
.icon-pencil { background-position: -96px 0px; }
.icon-lg-b.icon-pencil { background-position: -144px 0px; }
.icon-help { background-position: -272px -80px; }
.icon-lg-b.icon-help { background-position: -408px -120px; }
.icon-cart { background-position: -176px -64px; }
.icon-lg-b.icon-cart { background-position: -264px -96px; }
.icon-search { background-position: -208px -16px; }
.icon-lg-b.icon-search { background-position: -312px -24px; }
.icon-chevron_up { background-position: -0px -144px; }
.icon-lg-b.icon-chevron_up { background-position: -0px -216px; }
.icon-chevron_down { background-position: -352px -128px; }
.icon-lg-b.icon-chevron_down { background-position: -528px -192px; }
.icon-twitter { background-position: -96px -176px; }
.icon-lg-b.icon-twitter { background-position: -144px -264px; }
.icon-instagram { background-position: -112px -192px; }
.icon-lg-b.icon-instagram { background-position: -168px -288px; }
.icon-facebook { background-position: -128px -176px; }
.icon-lg-b.icon-facebook {background-position: -192px -264px; }
.icon-youtube { background-position: -128px -160px; }
.icon-lg-b.icon-youtube { background-position: -191px -240px; }

.icon-b,
.icon-w {
  width: 16px;
  height: 16px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.icon-lg-b,
.icon-lg-w {
  width: 24px;
  height: 24px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_b.png); }
.icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_w.png); }
.icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
.icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .icon-b,
  .icon-w {
    -webkit-background-size: 368px 320px;
    background-size: 368px 320px;
  }

  .icon-lg-b,
  .icon-lg-w {
    -webkit-background-size: 552px 480px;
    background-size: 552px 480px;
  }

  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_w.png); }
  .icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
  .icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}
@media (max-width: 768px) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }
}
@media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min--moz-device-pixel-ratio: 2), only screen and (max-width: 768px) and (-o-min-device-pixel-ratio: 2 / 1), only screen and (max-width: 768px) and (min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min-resolution: 192dpi), only screen and (max-width: 768px) and (min-resolution: 2dppx) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}

.shishu{
  margin:5px;
  width: 100%;
  border-collapse: collapse;
}

.shishu tr{
  border-bottom: solid 2px white;
}

.shishu tr :last-child{
  border-bottom: none;
}

.shishu th{
  position: relative;
  text-align: left;
  width: 15%;
  background-color: #52c2d0;
  color: white;
  text-align: center;
  padding: 10px 0;
}

.shishu th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.shishu td{
  text-align: left;
  width: 85%;
  text-align: left;
  background-color: #eee;
  padding: 0 0 0 20px;
  color:black;
}

/*カレンダー↓*/
/* --- タイトルテキストのデザイン --- */
.cal_title {
  font-family: "Lato", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 14px;
  color: #333;
  margin-bottom: 15px;
  padding-left: 5px;
  border-left: 4px solid #d1b79d; /* アクセントカラーの縦線（不要なら削除可） */
  line-height: 1.2;
}

/* --- カレンダー全体のレイアウト制御 --- */
.side_cal {
  display: flex;
  gap: 20px;
}

.side_cal img {
  object-fit: cover;
}


/* PC版：縦に2ヶ月分並べる */
@media (min-width: 768px) {
  .side_cal {
    flex-direction: column;
    align-items: flex-start;
  }
  .tbl_calendar {
    width: 100% !important;
    max-width: 200px; /* サイドバーの幅に合わせて微調整してください */
  }
}

/* スマホ版：横に2ヶ月分並べる */
@media (max-width: 767px) {
  .side_cal {
    flex-direction: row;
    justify-content: space-between;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tbl_calendar {
    width: 48% !important; /* 2枚が横に収まる幅 */
    min-width: 145px;      /* 崩れ防止の下限サイズ */
  }
}

/* --- カレンダー内部の共通デザイン --- */
.tbl_calendar {
  border: none !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-family: inherit;
  font-size: 11px;
}

.tbl_calendar th, 
.tbl_calendar td {
  padding: 6px 2px !important; /* 少し余白を広げて見やすく */
  text-align: center !important;
  border-bottom: 1px solid #eee !important;
}

/* メモ部分 */
.side_cal_memo {
  margin-top: 15px;
  font-size: 12px;
  line-height: 1.6;
  color: #666;
  font-family: inherit;
}
/*カレンダー↑*/

/* 横スライダー調整用 */
/* 1. スライダー全体の高さを確保し、下に余白を作る */
.mySwiper {
	padding-bottom: 25px !important; /* 丸いボタンを置くためのスペース */
    padding-top: 10px !important;
}

/* 2. 丸いボタンの位置を調整（画像に被らない位置まで下げる） */
.mySwiper .swiper-pagination {
    position: absolute;
} 

/* --- ↓ヘッダーメニュー↓ --- */
/* =========================================================
   1. 基本設定・共通
========================================================= */
body { margin: 0; padding-top: 0 !important; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

.site-header { 
  position: sticky; 
  top: 0; 
  width: 100%; 
  z-index: 9999; 
  background: #fff; 
  box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
}

/* =========================================================
   2. ヘッダー（トップバー・送料無料リンク）
========================================================= */
.top-bar { background-color: #c15a5c; color: #fff; padding: 8px 0; font-size: 13px; }
.top-bar .container { display: flex; justify-content: space-between; align-items: center; }

.shipping-info { display: flex; align-items: center; gap: 6px; text-decoration: none !important; color: inherit !important; }
.truck-icon { width: 22px !important; height: auto !important; }
.highlight { color: #fbffa3; font-weight: bold; }

.top-links a { color: #fff; text-decoration: none; margin-left: 15px; padding-left: 15px; border-left: 1px solid rgba(255,255,255,0.3); font-size: 11px; }

/* =========================================================
   3. メインヘッダー・検索・ユーザーナビ
========================================================= */
.main-header { padding: 12px 0; border-bottom: 1px solid #f5f5f5; background: #fffefa; }
.header-flex { display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.logo img { height: 45px; width: auto; display: block; margin: 0 auto; }

/* 検索窓 */
.search-box { flex: 1; max-width: 500px; }
.search-box form { display: flex !important; align-items: center !important; border: 2px solid #c15a5c !important; border-radius: 6px !important; height: 40px !important; overflow: hidden !important; background: #fff !important; margin: 0 !important; }
.search-box input[type="text"] { flex: 1 !important; border: none !important; padding: 0 15px !important; outline: none !important; font-size: 14px !important; background: transparent; }
.search-btn { height: 40px !important; width: 50px !important; background: #c15a5c !important; border: none !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; }
.search-btn img { width: 22px !important; filter: brightness(0) invert(1) !important; }

/* ユーザーナビ */
.user-nav { display: flex; gap: 15px; }
.nav-item { text-align: center; text-decoration: none !important; color: #333; display: flex; flex-direction: column; align-items: center; min-width: 50px; }
.nav-item .icon { width: 30px !important; height: 30px !important; margin-bottom: 3px; }
.nav-item .label { font-size: 14px; font-weight: bold; }

/* =========================================================
   4. カテゴリナビ
========================================================= */
.category-nav { background: #c15a5c !important; transition: transform 0.01s ease; }
.category-flex { display: flex !important; flex-wrap: nowrap !important; padding: 0 !important; }
.cat-item { 
  flex: 1 !important; color: #fff !important; text-decoration: none !important; text-align: center !important; padding: 6px 4px !important; 
  display: flex !important; flex-direction: column !important; 
  align-items: center !important; justify-content: center !important; gap: 0.3em;
  border-right: 1px solid rgba(255,255,255,0.2) !important; 
}
.cat-item:last-child { border-right: none !important; }
.cat-icon-wrapper { width: 30px !important; height: 30px !important; }
.cat-icon { max-width: 100% !important; filter: brightness(0) invert(1) !important; }
.cat-label { font-size: 14px !important; font-weight: bold !important; letter-spacing: 1.5px; font-feature-settings: "palt"; }

/* =========================================================
   5. スライドバナー
========================================================= */
.top-slider { width: 100%; overflow: visible !important; position: relative; background: #fff; }
.swiper-slide { width: 1200px; max-width: 85%; transition: all 0.3s ease; position: relative; }
.swiper-slide img { width: 100% !important; height: auto !important; display: block; }
.swiper-slide::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;  transition: background-color 0.3s ease; pointer-events: none; z-index: 1; }
.swiper-slide-active::after { background-color: rgba(0, 0, 0, 0) !important; }

.custom-nav-btn { width: 45px !important; height: 45px !important; background: rgba(255, 255, 255, 0.9) !important; border-radius: 50% !important; border: 1px solid #ddd !important; color: #c15a5c !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 10 !important; box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important; }
.custom-nav-btn::after { font-size: 18px !important; font-weight: bold !important; }
.swiper-button-prev { left: calc(50% - 600px + 15px) !important; }
.swiper-button-next { right: calc(50% - 600px + 15px) !important; }

.custom-pagination { bottom: 15px !important; }
.custom-pagination .swiper-pagination-bullet { width: 10px !important; height: 10px !important; background: #ddd !important; opacity: 1 !important; margin: 0 5px !important; }
.custom-pagination .swiper-pagination-bullet-active { background: #c15a5c !important; }

/* =========================================================
   6. スマホ版レスポンシブ（768px以下）
========================================================= */
@media screen and (max-width: 768px) {
  .main-header { padding: 4px 0;}
  .top-bar .top-links { display: none; }
  .header-flex { flex-wrap: wrap !important; gap: 2px 0 !important; }

  /* スマホロゴの初期設定（スクロール前は表示） */
  .logo { width: 100% !important; margin-bottom: 0px !important padding: 0; }
  .logo img { height: 32px; }

  .search-box { flex: 1 !important; margin-right: 8px !important; min-width: 0 !important; }
  .search-box form { height: 34px !important; }
  .search-box input[type="text"] { font-size: 11px !important; padding: 0 8px !important; }
  .search-btn { width: 36px !important; height: 34px !important; }

  .user-nav { gap: 2px !important; width: auto !important; justify-content: flex-end !important;  }
  .nav-item { min-width: 38px !important; }
  .nav-item .icon { width: 22px !important; height: 22px !important; }
  .nav-item .label { font-size: 12px !important; transform: scale(0.85); white-space: nowrap; }

  .cat-item { padding: 6px 0 4px 0; }
  .cat-icon-wrapper { width: 22px !important; height: 22px !important; }
  .cat-label { font-size: 9.2px !important; transform: scale(0.9) !important; }

  .swiper-slide { width: 100% !important; max-width: 100% !important; }
  .swiper-slide::after { display: none !important; } 
  .custom-nav-btn { width: 35px !important; height: 35px !important; }
  .swiper-button-prev { left: 10px !important; }
  .swiper-button-next { right: 10px !important; }
}

/* =========================================================
   追加：非表示制御用の共通設定
========================================================= */
.js-scroll-hide {
  transition: all 0.3s ease !important; /* 滑らかに変化させる */
  opacity: 1;
  visibility: visible;
  overflow: hidden;
}

/* クラスがついた時の状態 */
.js-scroll-hide.is-hidden {
  opacity: 0;
  visibility: hidden;
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: none !important;
}

/* =========================================================
   4. カテゴリナビ（既存箇所の調整）
========================================================= */
.category-nav { 
  background: #c15a5c !important; 
  /* transition は js-scroll-hide で定義するため削除・上書き可 */
  height: 70px; /* 任意の高さを指定するとより安定します */
}

/* =========================================================
   スマホ版レスポンシブの調整
========================================================= */
@media screen and (max-width: 768px) {
  .logo {
    /* transition を有効にするため display: block を維持 */
    display: block !important; 
    height: 30px; /* スマホ時のロゴエリアの高さ */
    padding: 0 0 4px 0;
  }
  .category-nav { 
  height: 50px; /* 任意の高さを指定するとより安定します */
}
}
/* --- ↑ヘッダーメニュー↑ --- */


/* --- ↓スライドバナー↓ --- */
/* 全体コンテナ */
.uj26-simple-slider {
  width: 100%;
  padding: 0.1em 0;
  background: #fff;
  overflow: hidden;
  overflow: hidden !important; /* 画面外へのはみ出しを絶対にカット */
  touch-action: pan-y;         /* タッチ操作時、横ブレを禁止して縦スクロールのみを生かす */
}

/* 本体：画面端まで画像が並ぶ設定 */
.js-uj26-swiper {
  width: 100%;
  overflow: visible !important;
}

/* 各スライドの設定 */
.uj26-simple-slider .swiper-slide {
  width: 400px !important; 
  max-width: 80%;
  position: relative;
  transition: transform 0.3s ease;
}

.uj26-simple-slider .swiper-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 1110 / 1000;
  display: block;
  border-radius: 4px;
  object-fit: cover;
}

/* 左右スライドへのグレー乗算 */
.uj26-simple-slider .swiper-slide::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.2); /* グレーの濃さ */
  transition: 0.3s;
  pointer-events: none;
  z-index: 2;
  border-radius: 4px;
}

/* 中央のスライドだけ明るく */
.uj26-simple-slider .swiper-slide-active::after {
  opacity: 0;
}

/* --- スライドボタンのデザイン（影なし・白記号のみ） --- */
.uj26-simple-slider .swiper-button-prev,
.uj26-simple-slider .swiper-button-next {
  color: #fff !important;
  background: none !important;
  width: auto;
  height: auto;
  filter: none !important; /* 影を完全に削除 */
  text-shadow: none !important; /* 文字影も削除 */
}

/* 記号の太さとサイズ */
.uj26-simple-slider .swiper-button-prev::after,
.uj26-simple-slider .swiper-button-next::after {
  font-size: 60px !important; 
  font-weight: 100; 
}

/* ドットの色 */
.uj26-simple-slider .swiper-pagination-bullet-active {
  background: #b36b6b !important;
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
  .uj26-simple-slider .swiper-slide {
    width: 85% !important;
  }
}
/* --- ↑スライドバナー↑ --- */

/* 商品一覧：スマホ・タブレットでの多段表示設定 */
@media screen and (max-width: 767px) {
  /* 1. 親要素(ul)の折返しと余白をリセット */
  ul.row.unstyled {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 5px !important; /* 両端の余白調整 */
    margin: 0 !important;
  }

  /* 2. 子要素(li)を2列にする設定（3列にする場合は width: 33.3%） */
  ul.row.unstyled > li {
    width: 50% !important;     /* ここを50%にすると2列表示になります */
    float: none !important;
    padding: 10px 5px !important; /* 商品ごとの間隔 */
    height: auto !important;   /* 高さをコンテンツに合わせる */
    box-sizing: border-box !important;
  }

  /* 3. 画像サイズを枠にフィットさせる */
  ul.row.unstyled > li img {
    width: 100% !important;
    height: auto !important;
  }
}

/* --- 商品一覧のテキスト色を黒(#333)に統一 --- */

/* 1. 通常時の色指定 */
ul.row.unstyled li a {
  color: #333 ;
  text-decoration: none !important; /* 下線を消す場合 */
  font-size: 0.8em;
}

/* 2. マウスホバー時の色（お好みで調整してください） */
ul.row.unstyled li a:hover {
  color: #b36b6b !important; /* ユニフォームジャパン様のエンジ色にする場合 */
  text-decoration: underline !important;
}

/* --- 商品一覧の画像を正方形に統一 --- */

.productlist-unit a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important; /* 強制的に正方形にする */
  object-fit: contain !important;   /* 比率を保ったまま枠いっぱいに広げ、はみ出しをカット */
  object-position: center !important; /* 中央を基準に切り抜き */
  background-color: #ffffff;      /* 余白が出た場合の背景色（任意） */
}

/* 商品一覧の各枠の高さ固定を解除（崩れ防止） */
.productlist-unit {
  height: auto !important;
}

/* 商品一覧：不自然な空白を解消する設定 */
ul.row.unstyled {
  display: flex !important;      /* 1. レイアウトをFlexboxに変更 */
  flex-wrap: wrap !important;    /* 2. 折り返しを許可 */
  align-items: stretch !important; /* 3. 各項目の高さを自動で揃える */
}
