@import url("https://files.bcart.jp/uni-light/uploads/uni-assets/b_base_cl.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;900&display=swap');


/* --- デザイン ---- */
:root{
  /* Brand */
  --uni-color-brand:        #a50082;
  /* Text */
  --uni-color-text:         #222222;
  --uni-color-text-sub:     #333333;
  --uni-color-text-muted:   #888888;
  --uni-color-text-black:   #000000;
  /* Line / Surface */
  --uni-color-border:       #e8e8e8;
  --uni-color-border-light: #d0d0d0;
  --uni-color-bg-subtle:    #f6f6f6;
  --uni-color-bg-field:     #f0f0f0;
  --uni-color-white:        #ffffff;

  /* Typography */
  --uni-font: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
			  "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --uni-fw-regular: 400;
  --uni-fw-medium:  500;
  --uni-fw-semibold:600;
  /* --uni-fw-black:   900; */
  --uni-fw-black: 700;

  /* Layout */
  --uni-container: 1160px;
  --uni-side-w:    230px;
  --uni-col-gap:   40px;
  --uni-gutter:    15px;
  --uni-radius:    5px;
}

/* --- コンテナ -------------------------------------------------------------
 * 1160 + 15*2 = 1190px を下回った時点で自動的に流動
 * ------------------------------------------------------------------------*/
.uni-container{
  width: 100%;
  max-width: var(--uni-container);
  max-width: calc(var(--uni-container) + var(--uni-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--uni-gutter);
  box-sizing: border-box;
}

/* --- 2カラムレイアウト --------------------------- */
.uni-layout{
  display: flex;
  gap: var(--uni-col-gap);
  align-items: flex-start;
}
.uni-layout__side{
  flex: 0 0 var(--uni-side-w);
  width: var(--uni-side-w);
  box-sizing: border-box;
}
.uni-layout__main{
  flex: 1 1 auto;
  width: calc(100% - var(--uni-side-w) - var(--uni-col-gap));
  /* min-width:0 は必須。省略すると内包する横スクロール要素が
	 flexアイテムを押し広げ、カラムが崩れる。 */
  min-width: 0;
  box-sizing: border-box;
}

/* --- 全幅セクション --------------- */
.uni-full{
  width: 100%;
}

/* --- 見出し・ボタンの基準 ----------------------- */
.uni-heading{
  font-family: var(--uni-font);
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-text);
}
.uni-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--uni-font);
  border-radius: var(--uni-radius);
  text-decoration: none;
  box-sizing: border-box;
}


/* ============================================================================
 * マークアップ:
 *   <nav class="uni-gnav" tabindex="0" role="group" aria-label="製品カテゴリー">
 *     <ul class="uni-gnav__list"><li class="uni-gnav__item">…</li> ×6 </ul>
 *   </nav>
 * ==========================================================================*/

.uni-gnav__list{
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-gnav__item{
  flex: 0 0 185px;
}
.uni-gnav__btn{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 60px;
  padding: 0 10px;
  box-sizing: border-box;
  background: var(--uni-color-white);
  border: 1px solid var(--uni-color-border);
  border-radius: var(--uni-radius);
  font-family: var(--uni-font);
  color: var(--uni-color-text-sub);
  text-decoration: none;
}


@media screen and (max-width: 1190px){

  .uni-gnav{
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin-inline: calc(var(--uni-gutter) * -1);
	padding-inline: var(--uni-gutter);
  }
  .uni-gnav::-webkit-scrollbar{
	display: none;
  }
  .uni-gnav__list{
	width: max-content;
  }
  .uni-gnav__item{
	scroll-snap-align: start;
  }
  .uni-gnav:focus-visible{
	outline: 2px solid var(--uni-color-brand);
	outline-offset: 2px;
  }
}


@media screen and (max-width: 979px){
  .uni-layout{
	display: block;
  }
  .uni-layout__side,
  .uni-layout__main{
	width: auto;
	flex: none;
  }

  .uni-gnav__item{
	flex-basis: 100px;
  }
  .uni-gnav__btn{
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	height: 100px;
	padding: 10px 5px;
	text-align: center;
  }

  .uni-hscroll{
	display: flex;
	gap: var(--uni-gutter);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin-inline: calc(var(--uni-gutter) * -1);
	padding-inline: var(--uni-gutter);
  }
  .uni-hscroll::-webkit-scrollbar{
	display: none;
  }
  .uni-hscroll > *{
	flex: 0 0 auto;
	scroll-snap-align: start;
	width: 175px;
  }
}

.uni-header{
  font-family: var(--uni-font);
  background: var(--uni-color-white);
}

/* --- header_top（最上部バー） --------------------------------------------- */
.uni-header__top{
  background: var(--uni-color-bg-subtle);
}
.uni-header__top-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
}
.uni-header__catch{
  margin: 0;
  font-size: 11px;
  font-weight: var(--uni-fw-regular);
  color: var(--uni-color-text);
  line-height: 1.4;
}
.uni-header__catch--sp{ display: none; }
.uni-header__top-menu{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 0 0 auto;
}
.uni-header__top-link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-black);
  text-decoration: none;
  white-space: nowrap;
}
.uni-header__top-sep{
  width: 1px;
  height: 10px;
  background: var(--uni-color-border-light);
}
.uni-header__top-mail{ display: none; }

/* --- main行（ロゴ・検索・探し方・アイコン） ------------------------------- */
.uni-header__main{
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 100px;
}
.uni-header__menu-btn{ display: none; }
.uni-header__logo{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex: 0 0 auto;
}
.uni-header__logo-img{
  width: 89px;
  height: 40px;
  display: block;
}
.uni-header__logo-copy{
  font-size: 14px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  line-height: 1.35;
  white-space: nowrap;
}
.uni-header__search{
  position: relative;
  flex: 0 1 360px;
  min-width: 200px;
}
.uni-header__search-input{
  width: 100%;
  height: 40px;
  padding: 0 44px 0 16px;
  background: var(--uni-color-bg-field);
  border: 0;
  border-radius: var(--uni-radius);
  font-family: var(--uni-font);
  font-size: 16px;
  color: var(--uni-color-text);
  box-sizing: border-box;
}
.uni-header__search-input::placeholder {
    font-size: 12px;
}
.uni-header__search-input::placeholder{ color: var(--uni-color-text-muted); }
.uni-header__search-btn{
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  cursor: pointer;
}
.uni-header__mid{
  display: flex;
  align-items: center;
  gap: 30px;
  flex: 0 0 auto;
}
.uni-header__mid-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.uni-arrow{ display: inline-block; }
.uni-arrow--down{ transform: rotate(180deg); }
.uni-arrow--right{ transform: rotate(90deg); }
.uni-header__actions{
  display: flex;
  align-items: flex-start;
  gap: 34px;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
  flex: 0 0 auto;
}
.uni-header__action a{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  position: relative;
}
span.uni-cart-badge {
	font-size: 12px;
	width: 18px;
	height: 18px;
	line-height: 18px;
	text-align: center;
	border-radius: 50%;
	background-color: var(--uni-color-brand);
	color: #fff;
	top: -7px;
	right: -6px;
	position: absolute;
}
.uni-header__action-ico{
  height: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.uni-header__action-label{
  font-size: 10px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-black);
  white-space: nowrap;
}

/* --- 会員/ゲスト出し分け -------- */
body.__is-member .uni-header__action--regist,
body.__is-member .uni-header__action--login,
body.__is-member .uni-drawer__auth--guest{ display: none; }
body.__is-guest .uni-header__action--mypage,
body.__is-guest .uni-drawer__auth--member{ display: none; }

/* --- btm_menu ボタンの中身 --- */
.uni-gnav-wrap{ margin: 0 0 20px; }
.uni-gnav__btn--all{ justify-content: center; gap: 8px; }
.uni-gnav__photo{
  width: 35px;
  height: 35px;
  object-fit: cover;
  flex: 0 0 35px;
}
.uni-gnav__sep{
  width: 1px;
  height: 40px;
  background: var(--uni-color-border);
  flex: 0 0 1px;
}
.uni-gnav__text{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.uni-gnav__cat{
  font-size: 10px;
  font-weight: var(--uni-fw-semibold);
  color: var(--uni-color-text-sub);
  line-height: 1.1;
  text-align: center;
}
.uni-gnav__series{
  font-size: 15px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-text-sub);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.uni-gnav__series--sm{ font-size: 12px; }
.uni-gnav__btn .uni-arrow--right{ flex: 0 0 auto; }


@media screen and (min-width: 600px) and (max-width: 979px){
  nav.gnav-sp{ display: block !important; }
}
@media screen and (min-width: 980px){
  nav.gnav-sp{ display: none; }
}
.gnav-sp .__drawer .__menu .__member,
.gnav-sp .__drawer .__menu .__search--category,
.gnav-sp .__drawer .__menu .__search--feature,
.gnav-sp .__drawer .__menu .__search--keyword{ display: none; }

/* --- ドロワー内カスタムメニュー ------------------------------------------- */
.gnav-sp .__drawer .__menu .uni-drawer{
  padding: 15px 15px 40px;
  font-family: var(--uni-font);
  background: var(--uni-color-white);
}
.uni-drawer__auth{
  display: flex;
  gap: 13px;
  margin: 5px 0 15px;
}
.uni-drawer__auth-btn{
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  border-radius: var(--uni-radius);
  font-size: 16px;
  font-weight: var(--uni-fw-semibold);
  text-decoration: none;
  box-sizing: border-box;
}
.uni-drawer__auth-btn--login{
  background: var(--uni-color-text-black);
  color: var(--uni-color-white);
}
.uni-drawer__auth-btn--regist{
  background: var(--uni-color-white);
  border: 2px solid var(--uni-color-brand);
  color: var(--uni-color-brand);
}
.uni-drawer__search{
  position: relative;
  margin: 0 0 15px;
}
.uni-drawer__search-input{
  width: 100%;
  height: 44px;
  padding: 0 44px 0 16px;
  background: var(--uni-color-bg-field);
  border: 0;
  border-radius: var(--uni-radius);
  font-family: var(--uni-font);
  font-size: 12px;
  box-sizing: border-box;
}
.uni-drawer__search-input::placeholder{ color: var(--uni-color-text-muted); }
.uni-drawer__search-btn{
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
}
.uni-drawer__quick{
  display: flex;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.uni-drawer__quick li{
  flex: 1 1 0;
  border-right: 1px solid var(--uni-color-border-light);
}
.uni-drawer__quick li:last-child{ border-right: 0; }
.uni-drawer__quick a{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 4px 2px;
  font-size: 10px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-black);
  text-decoration: none;
  text-align: center;
}
.uni-drawer__quick img{ height: 20px; width: auto; }
.uni-drawer__sec{
  border-top: 1px solid var(--uni-color-border);
  padding: 18px 0 6px;
}
.uni-drawer__heading{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-text);
}
.uni-drawer__links{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-drawer__links a{
  position: relative;
  display: block;
  padding: 10px 0 10px 18px;
  font-size: 14px;
  color: var(--uni-color-text);
  text-decoration: none;
}
.uni-drawer__links a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -5px;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent var(--uni-color-brand);
}

/* --- ドロワー: 複製カテゴリツリー（.uni-drawer-cat / .uni-drawer-use） ----- */
.uni-drawer-cat ul,
.uni-drawer-use ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-drawer-cat .__item,
.uni-drawer-use .__item{
  border-bottom: 1px solid var(--uni-color-border);
  position: relative;
}
.uni-drawer-cat .__item:last-child,
.uni-drawer-use > ul > .__item:last-child{ border-bottom: 0; }
.uni-drawer-cat .__item > a,
.uni-drawer-use .__item > a{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  padding: 6px 30px 6px 0;
  font-size: 14px;
  color: var(--uni-color-text);
  text-decoration: none;
  line-height: 1.3;
}
.uni-drawer-ico{
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  overflow: hidden;
  /* background: var(--uni-color-bg-subtle); */
  background: #ffffff;
  border: 1px solid var(--uni-color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.uni-drawer-ico img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.uni-drawer-use .__item .__js-toggle{
  position: absolute;
  top: 13px;
  right: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
.uni-drawer-use .__item .__js-toggle::before,
.uni-drawer-use .__item .__js-toggle::after{
  content: "";
  position: absolute;
  background: var(--uni-color-brand);
}
.uni-drawer-use .__item .__js-toggle::before{
  left: 4px;
  right: 4px;
  top: 11px;
  height: 2px;
}
.uni-drawer-use .__item .__js-toggle::after{
  top: 4px;
  bottom: 4px;
  left: 11px;
  width: 2px;
  transition: transform .2s;
}
.uni-drawer-use .__item .__js-toggle.__is-open::after{ transform: scaleY(0); }
.uni-drawer-use .__item ul{
  display: none;
  padding: 0 0 8px 30px;
}
.uni-drawer-use .__item ul .__item{
  border-bottom: 0;
}
.uni-drawer-use .__item ul .__item > a{
  min-height: 36px;
  padding: 4px 0 4px 18px;
  position: relative;
}
.uni-drawer-use .__item ul .__item > a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -5px;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent var(--uni-color-brand);
}
.gnav-sp .__drawer .__menu .__toggle-close label{ cursor: pointer;
	text-align: left;
 }

/* --- レスポンシブ: 979px以下のヘッダー ------------------------------------- */
@media screen and (max-width: 979px){
  .uni-header__catch--pc{ display: none; }
  .uni-header__catch--sp{ display: inline; }
  .uni-header__top-menu{ display: none; }
  .uni-header__top-inner{ min-height: 40px; padding-right: 0; }
  .uni-header__top-mail{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--uni-color-brand);
	flex: 0 0 40px;
  }
  .uni-header__top-mail img{
	filter: brightness(0) invert(1); /* 黒SVGを白に反転（単色アイコンのみに使用） */
  }
  .uni-header__main{
	gap: 12px;
	min-height: 64px;
	flex-wrap: wrap;
	padding-top: 10px;
	padding-bottom: 10px;
  }
  .uni-header__menu-btn{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	cursor: pointer;
	flex: 0 0 auto;
  }
  .uni-header__menu-icon{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 22px;
	height: 16px;
  }
  .uni-header__menu-icon span{
	display: block;
	height: 2px;
	background: var(--uni-color-text-black);
  }
  .uni-header__menu-text{
	font-size: 9px;
	font-weight: var(--uni-fw-medium);
	color: var(--uni-color-text-black);
  }
  .uni-header__logo{ margin-right: auto; gap: 8px;}
  .uni-header__logo-img{
	width: 64px;
	height: 28px;
  }
  .uni-header__logo-copy{ font-size: 11px; }
  .uni-header__mid{
	order: 4;
	width: 100%;
	justify-content: center;
	gap: 24px;
  }
  .uni-header__mid-link{ font-size: 13px; }
  .uni-header__search{
	order: 3;
	flex: 1 1 100%;
	min-width: 0;
  }
  .uni-header__action a {
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  gap: 2px;
	  text-decoration: none;
  }
  .uni-header__actions{ gap: 18px; margin-left: 0; }
  .uni-header__action--regist{ display: none; }

  /* btm_menu: 正方形カード（枠・寸法は Step1 側の指定が効く） */
  .uni-gnav__btn{ position: relative; }
  .uni-gnav__sep{ display: none; }
  .uni-gnav__photo{ width: 35px; height: 35px; }
  .uni-gnav__series{ font-size: 12px; white-space: normal; line-height: 1.15; }
  .uni-gnav__series--sm{ font-size: 11px; }
  .uni-gnav__cat{ font-size: 9px; }
  .uni-gnav__btn .uni-arrow--right{
	position: absolute;
	right: 6px;
	bottom: 6px;
	width: 10px;
  }
  .uni-gnav__btn--all .uni-gnav__series{ font-size: 12px; }
  .uni-gnav__btn--all .uni-arrow--right{ position: static; }
  li.uni-gnav__item:has(a.uni-gnav__btn.uni-gnav__btn--all) a {
	  border: 0;
  }
  li.uni-gnav__item:has(a.uni-gnav__btn.uni-gnav__btn--all) a .uni-arrow {
  	display: none;
  }
}


.uni-top{
  font-family: var(--uni-font);
  color: var(--uni-color-text);
}

/* --- 全幅ブリード（wrapper内から画面幅いっぱいへ） ------------------------- */
.uni-fullbleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
/* 100vw はスクロールバー幅ぶんはみ出し得るため、横スクロールを発生させない */
html{ overflow-x: clip; }

/* --- slide（メインビジュアル・中央1枚+左右見切れ） ------------------------- */
.uni-slide{
  overflow: hidden;
  margin-bottom: 70px;
}
.uni-slide__track{
  display: flex;
  transition: transform .5s ease;
}
.uni-slide__item{
  flex: 0 0 var(--uni-slide-w, 608px);
  width: var(--uni-slide-w, 608px);
}
.uni-slide__item img{
  display: block;
  width: 100%;
  height: auto;
}
.uni-slide__pager{
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}
.uni-slide__dot{
  width: 32px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: var(--uni-color-border-light);
  cursor: pointer;
}
.uni-slide__dot.__is-active{
  background: var(--uni-color-brand);
}
@media screen and (max-width: 979px){
  .uni-slide{ --uni-slide-w: 92vw; margin-bottom: 50px; }
}

/* --- order（見積・発注システム） ------------------------------------------- */
.uni-order{
  max-width: var(--uni-container);
  margin: 0 auto 74px;
  padding: 0 var(--uni-gutter);
  box-sizing: border-box;
}
.uni-order__title{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 28px;
}
.uni-order__title img{ width: 89px; height: 40px; }
.uni-order__title span{
  font-size: 20px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
}
.uni-order__lead{
  margin: 0 0 26px;
  font-size: 18px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  text-align: center;
}
.uni-order__cards{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0 0 50px;
  padding: 0;
  list-style: none;
}
.uni-order__card{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 100px;
  padding: 12px 8px 16px;
  background: var(--uni-color-brand);
  border-radius: var(--uni-radius);
  text-align: center;
  box-sizing: border-box;
}
.uni-order__card::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  margin-left: -10px;
  border-style: solid;
  border-width: 13px 10px 0 10px;
  border-color: var(--uni-color-brand) transparent transparent transparent;
}
.uni-order__card-sub{
  font-size: 12px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-white);
}
.uni-order__card-main{
  font-size: 20px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-white);
  line-height: 1.2;
}
.uni-order__cta{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}
.uni-order__cta-left{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.uni-order__cta-catch{
  margin: 0;
  font-size: 30px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  line-height: 1.1;
}
.uni-order__cta-badge{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 40px;
  background: var(--uni-color-bg-subtle);
  border-radius: 25px;
  font-size: 20px;
  /* font-weight: 800; */
  font-weight: 600;
  color: var(--uni-color-brand);
}
.uni-order__cta-btn{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.uni-order__cta .uni-btn{
  width: 275px;
  height: 60px;
  font-size: 20px;
  /*font-weight: 700;*/ font-weight: 600;
}
.uni-btn--outline{
  background: var(--uni-color-white);
  border: 2px solid var(--uni-color-brand);
  color: var(--uni-color-brand);
}
.uni-btn--black{
  background: var(--uni-color-text-black);
  border: 2px solid var(--uni-color-text-black);
  color: var(--uni-color-white);
}
.uni-order__cta-note{
  font-size: 12px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
}

/* --- entry（Uni紹介・グレー帯） ------------------------------------------- */
.uni-entry{
  background: var(--uni-color-bg-subtle);
  padding: 60px 0;
  margin-bottom: 90px;
}
.uni-entry__inner{
  display: flex;
  gap: 60px;
  align-items: flex-start;
}
.uni-entry__gallery{
  flex: 0 1 580px;
  min-width: 0;
}
.uni-entry__main{
  margin: 0 0 14px;
  position: relative;
}
.uni-entry__main img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 580 / 358;
  object-fit: cover;
}
.uni-entry__main figcaption{
  margin-top: 10px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
}
.uni-entry__thumbs{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-entry__thumbs button{
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--uni-font);
}
.uni-entry__thumbs img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 136 / 76;
  object-fit: cover;
}
.uni-entry__thumbs button.__is-active img{
  outline: 2px solid var(--uni-color-brand);
  outline-offset: -2px;
}
.uni-entry__thumbs span{
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
}
.uni-entry__text{
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}
.uni-entry__brand{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 24px;
}
.uni-entry__brand img{ width: 120px; height: 54px; }
.uni-entry__brand span{
  font-size: 20px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
}
.uni-entry__copy{
  margin: 0 0 22px;
  font-size: 20px;
  /*font-weight: 700;*/ font-weight: 600;
  line-height: 30px;
}
.uni-entry__desc{
  background: var(--uni-color-white);
  border-radius: 10px;
  padding: 20px;
  text-align: left;
}
.uni-entry__desc p{
  margin: 0;
  font-size: 15px;
  line-height: 30px;
}
.uni-entry__desc p + p{ margin-top: 12px; }

/* --- reason（Uniが選ばれている理由） --------------------------------------- */
.uni-reason{
  max-width: var(--uni-container);
  margin: 0 auto;
  padding: 0 var(--uni-gutter) 90px;
  /* border-bottom: 1px solid #d9d9d9; */
  box-sizing: border-box;
}
.uni-reason__heading{
  margin: 0 0 56px;
  font-size: 40px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  text-align: center;
}
.uni-reason__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-reason__item{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.uni-reason__icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--uni-color-bg-subtle);
  margin-bottom: 20px;
}
.uni-reason__icon img{ width: 80px; height: 80px; }
.uni-reason__name{
  margin: 0 0 12px;
  font-size: 20px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-text-sub);
  line-height: 1.3;
}
.uni-reason__desc{
  margin: 0;
  font-size: 15px;
  color: var(--uni-color-text-sub);
  line-height: 1.5;
}

/* --- レスポンシブ（979px以下） --------------------------------------------- */
@media screen and (max-width: 979px){
  .uni-order{ margin-bottom: 60px; }
  .uni-order__title span{ color: var(--uni-color-brand); }
  .uni-order__lead{ font-size: 16px; }
  .uni-order__cards{
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 10px;
	margin-bottom: 40px;
  }
  .uni-order__card-sub{ font-size: 10px; }
  .uni-order__card-main{ font-size: 15px; }
  .uni-order__cta{ gap: 16px; }
  .uni-order__cta-left{ flex: 1 1 100%; }
  .uni-order__cta-catch{ font-size: 26px; }
  .uni-order__cta-btn{ flex: 1 1 0; min-width: 0; }
  .uni-order__cta-btn--regist{ order: 2; }
  .uni-order__cta-btn--login{ order: 1; }
  .uni-order__cta .uni-btn{ width: 100%; height: 56px; font-size: 17px; }
  .uni-order__cta-note{ font-size: 11px; }

  .uni-entry{ padding: 40px 0; margin-bottom: 60px; }
  .uni-entry__inner{ flex-direction: column; gap: 32px; }
  .uni-entry__gallery{ flex: 1 1 auto; width: 100%; }
  .uni-entry__main{ margin-bottom: 10px; }
  .uni-entry__main figcaption{
	position: absolute;
	left: 12px;
	bottom: 10px;
	margin: 0;
	color: var(--uni-color-white);
	text-shadow: 0 1px 3px rgba(0,0,0,.6);
  }
  .uni-entry__thumbs{ gap: 8px; }
  .uni-entry__thumbs span{ display: none; }
  .uni-entry__text{ width: 100%; }
  .uni-entry__brand img{ width: 100px; height: 45px; }
  .uni-entry__brand span{ font-size: 16px; }
  .uni-entry__copy{ font-size: 17px; line-height: 1.7; }

  .uni-reason{ padding-bottom: 60px; }
  .uni-reason__heading{ font-size: 24px; margin-bottom: 36px; }
  .uni-reason__list{ grid-template-columns: repeat(2, 1fr); gap: 40px 16px; }
  .uni-reason__name{ font-size: 17px; }
  .uni-reason__desc{ font-size: 13px; }
}


.aside .uni-side{
  font-family: var(--uni-font);
  margin: 0 0 30px;
}

/* --- 見出し（18px Bold + 1px 区切り線） ----------------------------------- */
.aside .uni-side__heading{
  margin: 0 0 6px;
  padding: 0 0 10px;
  border-bottom: 1px solid #d9d9d9;
  font-size: 18px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-text-black);
  line-height: 1.3;
}

/* --- 複製カテゴリツリー（category / use 共通） ---------------------------- */
.aside .uni-side-cat ul,
.aside .uni-side-use ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.aside .uni-side-cat .__item,
.aside .uni-side-use .__item{
  position: relative;
}
.aside .uni-side-cat .__item > a,
.aside .uni-side-use .__item > a{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 5px 24px 5px 0;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
  line-height: 1.4;
}
/* JSが挿入する円形アイコン（ドロワーと同じ .uni-drawer-ico を共用） */
.aside .uni-side-cat .uni-drawer-ico,
.aside .uni-side-use .uni-drawer-ico{
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  /* background: var(--uni-color-bg-subtle); */
  background: #ffffff;
  border: 1px solid var(--uni-color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.aside .uni-side-cat .uni-drawer-ico img,
.aside .uni-side-use .uni-drawer-ico img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- use の +/− トグルと下層リスト ---------------------------------------- */
.aside .uni-side-use .__item .__js-toggle{
  position: absolute;
  top: 13px;
  right: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
.aside .uni-side-use .__item .__js-toggle::before,
.aside .uni-side-use .__item .__js-toggle::after{
  content: "";
  position: absolute;
  background: var(--uni-color-brand);
}
.aside .uni-side-use .__item .__js-toggle::before{
  left: 4px;
  right: 4px;
  top: 11px;
  height: 2px;
}
.aside .uni-side-use .__item .__js-toggle::after{
  top: 4px;
  bottom: 4px;
  left: 11px;
  width: 2px;
  transition: transform .2s;
}
.aside .uni-side-use .__item .__js-toggle.__is-open::after{ transform: scaleY(0); }
.aside .uni-side-use .__item ul{
  display: none;
  padding: 0 0 6px 31px;
}
.aside .uni-side-use .__item ul .__item > a{
  min-height: 0;
  padding: 6px 0 6px 16px;
  font-size: 13px;
  line-height: 1.4;
  position: relative;
}
.aside .uni-side-use .__item ul .__item > a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent var(--uni-color-brand);
}

/* --- cont（コンテンツリンク） --------------------------------------------- */
.aside .uni-side__links{
  margin: 0;
  padding: 0;
  list-style: none;
}
.aside .uni-side__links a{
  position: relative;
  display: block;
  padding: 10px 0 10px 16px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
}
.aside .uni-side__links a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -4px;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent var(--uni-color-brand);
}

/* --- catalog（製品カタログ） ---------------------------------------------- */
.aside .uni-side--catalog{ margin-bottom: 20px; }
.aside .uni-side__catalog{
  display: block;
  text-decoration: none;
}
.aside .uni-side__catalog img{
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--uni-color-border);
  box-sizing: border-box;
}
.aside .uni-side__catalog-text{
  position: relative;
  display: block;
  margin-top: 10px;
  padding-left: 16px;
  font-size: 14px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-text);
}
.aside .uni-side__catalog-text::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -4px;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent var(--uni-color-brand);
}

/* --- 979px以下（サイドはメイン下へ回り込む） ------------------------------ */
@media screen and (max-width: 979px){
  .aside .uni-side{ margin-bottom: 24px; }
  .aside .uni-side__heading{ font-size: 16px; }
}

.wrapper .__inner{
  max-width: calc(var(--uni-container) + var(--uni-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--uni-gutter);
  box-sizing: border-box;
}

.wrapper.wrapper--column-2 .__inner .aside{
  width: var(--uni-side-w);
  padding: 0 0 40px;
  box-sizing: border-box;
}
.wrapper.wrapper--column-2 .__inner .main{
  width: calc(100% - var(--uni-side-w) - var(--uni-col-gap));
  padding: 0 0 40px;
  box-sizing: border-box;
}
.wrapper .__inner .__content-home-top{
  padding: 0;
}

.wrapper.wrapper--column-1 .__inner {
	max-width: 990px;
}

@media screen and (max-width: 979px){
  .wrapper.wrapper--column-2 .__inner .aside,
  .wrapper.wrapper--column-2 .__inner .main{
	float: none;
	width: 100%;
	padding-bottom: 24px;
  }
}

.aside section.__block{
  font-family: var(--uni-font);
}
.aside section.__block:not(:last-child){
  margin-bottom: 30px;
}

.aside section.__block.__block--cart .__body,
.aside section.__block.__block--login .__body{
  padding: 0;
}

.aside section.__block.__block--cart .__body .__total{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 12px;
  padding: 0;
}
.aside section.__block.__block--cart .__body .__total .__count,
.aside section.__block.__block--cart .__body .__total dl.__price{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0 8px;
  box-sizing: border-box;
  background: var(--uni-color-bg-subtle);
  border-radius: var(--uni-radius);
  white-space: nowrap;
}
.aside section.__block.__block--cart .__body .__total .__count span.__num{
  margin-right: 0;
  font-size: 26px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  line-height: 1;
}
.aside section.__block.__block--cart .__body .__total .__count span.__text,
.aside section.__block.__block--cart .__body .__total dl.__price dt{
  margin-right: 0;
  font-size: 18px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  line-height: 1.2;
}

.aside section.__block.__block--cart .__body .__total dl.__price dd{
  margin: 0;
  font-size: 18px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-brand);
  line-height: 1;
  letter-spacing: -0.01em;
}
.aside section.__block.__block--cart.__is-empty .__body > span{
  display: block;
  padding: 14px 0;
  font-size: 14px;
  color: var(--uni-color-text-muted);
}


.aside section.__block.__block--cart .__body .__to-cart{
  margin-top: 0;
}
.aside section.__block.__block--cart .__body .__to-cart a,
.aside section.__block.__block--login .__body ul.__menu li a{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
  line-height: 1.4;
}

.aside section.__block.__block--cart .__body .__to-cart a:before,
.aside section.__block.__block--login .__body ul.__menu li a:before{
  content: "\25b6 ";
  margin: 0;
  font-family: var(--uni-font);
  font-size: 10px;
  font-weight: var(--uni-fw-regular);
  color: var(--uni-color-brand);
  line-height: 1;
}

.aside section.__block.__block--cart .__body .__to-cart a:hover {
	color: var(--uni-color-brand);
}

.aside section.__block.__block--login.__is-member .__message .__name{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  margin-right: 0;
  padding: 0 8px;
  box-sizing: border-box;
  background: var(--uni-color-bg-subtle);
  border-radius: var(--uni-radius);
  font-size: 18px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-brand);
  line-height: 1.3;
  text-align: center;
}
.aside section.__block.__block--login .__body ul.__menu{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin: 12px 0 0;
  padding: 0;
}
.aside section.__block.__block--login .__body ul.__menu li{
  padding: 0;
}


.aside section.__block.__block--calendar ul li{
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.aside section.__block.__block--calendar ul li table.cal{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.aside section.__block.__block--calendar ul li table.cal thead th{
  padding: 9px 0;
  background: var(--uni-color-brand);
  color: var(--uni-color-white);
  font-size: 15px;
  /*font-weight: 700;*/ font-weight: 600;
}
.aside section.__block.__block--calendar ul li table.cal thead th {
	background: none;
	color: #222;
	font-size: 18px;
	font-weight: 600;
}
.aside section.__block.__block--calendar ul li table.cal tbody th{
  padding: 5px 0;
  font-size: 12px;
  font-weight: var(--uni-fw-medium);
}
.aside section.__block.__block--calendar ul li table.cal tbody td{
  font-size: 13px;
}
.aside section.__block.__block--calendar ul li table.cal tbody td span{
  padding: 4px 0;
  line-height: 1.2;
}

@media screen and (max-width: 979px){
  .aside section.__block.__block--calendar ul li table.cal{
	max-width: 360px;
	margin-inline: auto;
  }
}

.main .uni-main__heading{
  margin: 0 0 20px;
  padding: 0 0 10px;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  background: none;
  font-family: var(--uni-font);
  font-size: 18px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-text-black);
  line-height: 1.3;
}
.main .uni-main__heading{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.main .uni-main__heading .uni-main__more{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
  white-space: nowrap;
}
.main .uni-main__heading .uni-main__more::before{
  content: "\25b6 ";
  font-size: 10px;
  color: var(--uni-color-brand);
  line-height: 1;
}

/* --- 商品カード（check / recommend / 一覧ページ共通） ---------------------- */
.main.main--product-list section.__control {
	margin-bottom: 20px;
}

.main .p-product-block ul.__product{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 15px;
  row-gap: 30px;
  padding: 0;
  margin: 0;
  letter-spacing: normal;
  list-style: none;
}
.main .p-product-block ul.__product li.__item{
  display: block;
  width: auto;
  padding: 0;
  vertical-align: top;
}
.main .p-product-block ul.__product li.__item a{
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
}
.main .p-product-block ul.__product li.__item a .__photo{
  position: relative;
  aspect-ratio: 1 / 1;
  flex: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--uni-color-white);
  text-align: center;
}
.main .p-product-block ul.__product li.__item a .__photo img{
  position: absolute;
  top: 16px;
  right: 16px;
  bottom: 16px;
  left: 16px;
  width: auto;
  height: auto;
  max-width: calc(100% - 32px);
  max-height: calc(100% - 32px);
  margin: auto;
  object-fit: contain;
  vertical-align: middle;
}
.main .p-product-block ul.__product li.__item a h3.__title{
  margin: 0;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  line-height: 1.5;
}
.main .p-product-block ul.__product li.__item a .__description{
  margin: 0;
}
.main .p-product-block ul.__product li.__item a .__description dl.__price{
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  margin: 0;
  font-size: 12px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-brand);
}
.main .p-product-block ul.__product li.__item a .__description dl.__price dt,
.main .p-product-block ul.__product li.__item a .__description dl.__price dd{
  display: inline;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* --- news（お知らせ）------------------------------------------------------ */
.main.main--home section.__block.__block--news .__body ul li{
  font-size: 14px;
}
.main.main--home section.__block.__block--news .__body ul li > a span.__date,
.main.main--home section.__block.__block--news .__body ul li > a span.__title,
.main.main--home section.__block.__block--news .__body ul li > span span.__date,
.main.main--home section.__block.__block--news .__body ul li > span span.__title{
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #d9d9d9;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  line-height: 1.5;
}
.main.main--home section.__block.__block--news .__body ul li > a span.__date,
.main.main--home section.__block.__block--news .__body ul li > span span.__date{
  width: 105px;
  padding-left: 0;
  padding-right: 10px;
  color: var(--uni-color-text-black);
}
.main.main--home section.__block.__block--news .__body ul li > a span.__title,
.main.main--home section.__block.__block--news .__body ul li > span span.__title{
  padding-left: 0;
  padding-right: 0;
  color: var(--uni-color-text-black);
}

.main.main--home section.__block.__block--news .__body ul li span.__label{
  display: inline-block;
  margin-right: 8px;
  padding: 1px 8px;
  background: var(--uni-color-brand);
  color: var(--uni-color-white);
  border-radius: 3px;
  font-size: 11px;
  font-weight: var(--uni-fw-medium);
  vertical-align: 1px;
}

/* --- 「すべて見る」（.__more）-------------------------------------------- */
.main .p-product-block .__more.c-more{
  padding: 12px 0 0;
  text-align: right;
}
.main .p-product-block .__more.c-more a{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
}
.main .p-product-block .__more.c-more a:before{
  content: "\25b6 ";
  margin: 0;
  font-family: var(--uni-font);
  font-size: 10px;
  font-weight: var(--uni-fw-regular);
  color: var(--uni-color-brand);
  line-height: 1;
}

@media screen and (max-width: 979px){
  .main .p-product-block ul.__product{
	grid-template-columns: repeat(2, 1fr);
	row-gap: 24px;
  }
  .main section.__block--pro-viewed .p-product-block ul.__product,
  .main section.__block--pro-recommend .p-product-block ul.__product{
	display: flex;
	gap: 15px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin-inline: calc(var(--uni-gutter) * -1);
	padding-inline: var(--uni-gutter);
  }
  .main section.__block--pro-viewed .p-product-block ul.__product::-webkit-scrollbar,
  .main section.__block--pro-recommend .p-product-block ul.__product::-webkit-scrollbar{
	display: none;
  }
  .main section.__block--pro-viewed .p-product-block ul.__product > li.__item,
  .main section.__block--pro-recommend .p-product-block ul.__product > li.__item{
	flex: 0 0 auto;
	width: 175px;
	scroll-snap-align: start;
  }
  .main .uni-main__heading{
	font-size: 16px;
  }
  .main.main--home section.__block.__block--news .__body ul li > a span.__date,
  .main.main--home section.__block.__block--news .__body ul li > span span.__date{
	width: auto;
	padding-right: 0;
	font-size: 12px;
  }
}

.uni-cat{
  font-family: var(--uni-font);
  margin: 0 0 60px;
}
.uni-cat__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-cat__item > a{
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
}
.uni-cat__thumb{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  box-sizing: border-box;
  background: var(--uni-color-white);
}
.uni-cat__thumb img{
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
.uni-cat__thumb--duo .uni-cat__duo-a{
  position: absolute;
  top: 14%;
  left: 42.5%;
  width: 47.5%;
  height: auto;
}
.uni-cat__thumb--duo .uni-cat__duo-b{
  position: absolute;
  top: 36%;
  left: 10%;
  width: 50%;
  height: auto;
}
.uni-cat__tag{
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 10px;
  border-radius: 10px;
  background: #ffdff8;
  color: var(--uni-color-brand);
  font-size: 11px;
  /*font-weight: 700;*/ font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.uni-cat__name{
  display: block;
  text-align: center;
}
.uni-cat__ja{
  display: block;
  font-size: 12px;
  font-weight: var(--uni-fw-semibold);
  color: var(--uni-color-text-sub);
  line-height: 1.4;
}
.uni-cat__en{
  display: block;
  font-size: 18px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-text-sub);
  line-height: 1.4;
}

@media screen and (max-width: 979px){
  .uni-cat{ margin-bottom: 40px; }
  .uni-cat__list{
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 15px;
  }
  .uni-cat__tag{
	top: 10px;
	left: 10px;
	font-size: 10px;
	padding: 2px 8px;
  }
  .uni-cat__en{ font-size: 16px; }
}

.uni-bnr{
  font-family: var(--uni-font);
  margin: 0 0 60px;
}
.uni-bnr__list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-bnr__item > a{
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
}
.uni-bnr__fig{
  position: relative;
  display: block;
  aspect-ratio: 280 / 180;
  overflow: hidden;
  background: var(--uni-color-bg-subtle);
}
.uni-bnr__fig img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
.uni-bnr__band{
  position: absolute;
  top: 33.33%;
  left: 0;
  right: 0;
  height: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.4);
  color: var(--uni-color-white);
}
.uni-bnr__band--center{
  align-items: center;
  text-align: center;
}
.uni-bnr__title{
  display: block;
  font-size: 20px;
  font-weight: var(--uni-fw-black);
  line-height: 1.2;
}
.uni-bnr__lead{
  display: block;
  font-size: 16px;
  font-weight: var(--uni-fw-medium);
  line-height: 1.3;
}
.uni-bnr__caption{
  display: block;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 979px){
  .uni-bnr{ margin-bottom: 40px; }
  .uni-bnr__list{
	display: flex;
	gap: 15px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin-inline: calc(var(--uni-gutter) * -1);
	padding-inline: var(--uni-gutter);
  }
  .uni-bnr__list::-webkit-scrollbar{ display: none; }
  .uni-bnr__item{
	flex: 0 0 auto;
	width: 260px;
	scroll-snap-align: start;
  }
  .uni-bnr__title{ font-size: 18px; }
  .uni-bnr__lead{ font-size: 14px; }
}

.uni-prod{
  font-family: var(--uni-font);
  margin: 0 0 60px;
}
.uni-prod__item{
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 40px;
  margin: 0 0 48px;
}
.uni-prod__item:last-child{ margin-bottom: 0; }
.uni-prod__figwrap{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.uni-prod__fig{
  position: relative;
  display: block;
  aspect-ratio: 380 / 244;
  overflow: hidden;
  background: var(--uni-color-bg-subtle);
}
.uni-prod__fig > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
.uni-prod__thumbs{
  position: absolute;
  right: 15px;
  bottom: 15px;
  display: flex;
  gap: 10px;
}
.uni-prod__thumb{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--uni-color-white);
}
.uni-prod__thumb img{
  width: 85%;
  height: 85%;
  object-fit: contain;
}
.uni-prod__note{
  display: block;
  font-size: 11px;
  font-weight: var(--uni-fw-medium);
  color: #999;
  text-align: right;
}
.uni-prod__kana{
  margin: 0;
  font-size: 12px;
  font-weight: var(--uni-fw-semibold);
  color: var(--uni-color-text-sub);
  line-height: 1.4;
}
.uni-prod__name{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: var(--uni-fw-black);
  color: var(--uni-color-text-sub);
  line-height: 1.4;
}
.uni-prod__list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-prod__list li{
  position: relative;
  padding-left: 1.1em;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  line-height: 1.8;
}
.uni-prod__list li::before{
  content: "\30fb";
  position: absolute;
  left: 0;
  color: var(--uni-color-brand);
}
.uni-prod__foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
}
.uni-prod__spec{
  width: 125px;
  height: auto;
}
.uni-prod__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 40px;
  box-sizing: border-box;
  border: 2px solid var(--uni-color-brand);
  border-radius: var(--uni-radius);
  background: var(--uni-color-white);
  color: var(--uni-color-brand);
  font-size: 14px;
  /*font-weight: 700;*/ font-weight: 600;
  text-decoration: none;
}

/* --- note ----------------------------------------------------------------- */
.uni-note{
  font-family: var(--uni-font);
  margin: 0 0 60px;
}
.uni-note__cols{
  display: grid;
  grid-template-columns: 500px 1fr;
  gap: 40px;
  margin: 0 0 30px;
}
.uni-note__text{
  margin: 0;
  font-size: 15px;
  color: var(--uni-color-text);
  line-height: 30px;
}
.uni-note__links{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-note__links li{ margin-bottom: 12px; }
.uni-note__links li:last-child{ margin-bottom: 0; }
.uni-note__links a{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
}
.uni-note__links a::before{
  content: "\25b6 ";
  font-size: 10px;
  color: var(--uni-color-brand);
  line-height: 1;
}
.uni-note__box{
  padding: 24px 30px;
  border: 1px solid #d9d9d9;
  background: var(--uni-color-white);
}
.uni-note__boxtitle{
  margin: 0 0 14px;
  font-size: 14px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-brand);
  line-height: 1.4;
}
.uni-note__boxcols{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 30px;
}
.uni-note__points{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-note__points li{
  position: relative;
  padding-left: 1.1em;
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  line-height: 1.9;
}
.uni-note__points li::before{
  content: "\30fb";
  position: absolute;
  left: 0;
  color: var(--uni-color-brand);
}
.uni-note__sub{
  display: block;
  padding-left: 0;
}

@media screen and (max-width: 979px){
  .uni-prod{ margin-bottom: 40px; }
  .uni-prod__item{
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 24px;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 24px;
  }
  .uni-prod__foot{
	flex-wrap: wrap;
	gap: 12px;
  }
  .uni-prod__btn{ width: 100%; }
  .uni-note{ margin-bottom: 40px;  margin-top: 60px;}
  .uni-note__cols{
	grid-template-columns: 1fr;
	gap: 20px;
  }
  .uni-note__text{ font-size: 14px; line-height: 26px; }
  .uni-note__box{ padding: 20px 16px; }
  .uni-note__boxcols{ grid-template-columns: 1fr; }
}

.uni-footer{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 50px 0 40px;
  background: #fff6fd;
  font-family: var(--uni-font);
}
.uni-footer__inner{
  display: flex;
  gap: 40px;
  width: 100%;
  max-width: calc(var(--uni-container) + var(--uni-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--uni-gutter);
  box-sizing: border-box;
}
.uni-footer__brand{
  flex: 0 0 auto;
  width: 583px;
}
.uni-footer__logo{
  display: inline-block;
  margin: 0 0 10px;
}
.uni-footer__logo img{
  width: 120px;
  height: auto;
}
.uni-footer__lead{
  margin: 0;
  font-size: 12px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-brand);
  line-height: 1.4;
}
.uni-footer__nav{
  display: flex;
  flex: 1 1 auto;
  gap: 30px;
  min-width: 0;
}
.uni-footer__col{ flex: 1 1 auto; }
.uni-footer__heading{
  margin: 0 0 8px;
  font-size: 16px;
  /*font-weight: 700;*/ font-weight: 600;
  color: var(--uni-color-brand);
  line-height: 1.4;
}
.uni-footer__list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-footer__list li{ margin-bottom: 4px; }
.uni-footer__list a{
  font-size: 12px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text-sub);
  text-decoration: none;
  line-height: 1.8;
}

@media screen and (max-width: 1190px){
  .uni-footer__brand{ width: auto; }
}
@media screen and (max-width: 979px){
  .uni-footer{ padding: 32px 0 28px; }
  .uni-footer__inner{
	flex-direction: column;
	gap: 24px;
  }
  .uni-footer__nav{
	flex-wrap: wrap;
	gap: 20px 24px;
  }
  .uni-footer__col{ flex: 1 1 45%; }
  .uni-footer__heading{ font-size: 14px; }
}

@media screen and (max-width: 979px){

  /* --- 1) 製品案内の丸サムネ ---------------------------------------------- */
  .uni-prod__thumbs .uni-prod__thumb:nth-child(n+2){
	display: none;
  }
  .uni-prod__thumb{
	width: 100px;
	height: 100px;
  }

  /* --- 2) サイドはカレンダーとカタログDLのみ ------------------------------- */
  .aside section.__block.__block--cart,
  .aside section.__block.__block--login,
  .aside section.__block.__block--free{
	display: none;
  }
  .aside > .uni-side--catalog{
	display: block;
  }

  /* --- 3) 横スクロール領域の初期左端をコンテンツ左端に合わせる -------------- */
  .main section.__block--pro-viewed .p-product-block ul.__product,
  .main section.__block--pro-recommend .p-product-block ul.__product,
  .uni-bnr__list{
	scroll-padding-inline: var(--uni-gutter);
  }
  /* btm_menu は親（.uni-gnav-wrap）が既に全幅のため、負マージンが余分だった。
	 0 に戻すと padding 15px がそのまま効き、1個目がコンテンツ左端と揃う。 */
  .uni-gnav{
	margin-inline: 0;
	scroll-padding-inline: var(--uni-gutter);
  }
}

.uni-header__main{
  position: relative;
}
.uni-mega{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 60;
  padding: 24px 30px;
  box-sizing: border-box;
  background: var(--uni-color-white);
  border: 1px solid #d9d9d9;
  border-radius: var(--uni-radius);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  /* 既定は閉。visibility も切るのでキーボード移動で拾われない */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition:
	  opacity 0.35s ease,
	  transform 0.35s ease;
  /* transition: opacity .15s ease; */
}
.uni-mega.__is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.uni-mega__inner ul{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.uni-mega + .uni-mega .uni-mega__inner ul{
  grid-template-columns: repeat(3, 1fr);
}
.uni-mega__inner ul ul{
  display: block;
  grid-column: auto;
  margin: 0 0 0 10px;
  padding: 0;
}
.uni-mega__inner .__item{
  position: relative;
}
.uni-mega__inner ul li ul .__item + .__item {
	margin-top: 5px;
}
.uni-mega__inner .__item > a{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 4px 0;
  font-family: var(--uni-font);
  font-size: 14px;
  font-weight: var(--uni-fw-medium);
  color: var(--uni-color-text);
  text-decoration: none;
  line-height: 1.4;
}
.uni-mega__inner .__item > a:hover{
  color: var(--uni-color-brand);
}
.uni-mega__inner .uni-drawer-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 34px;
  height: 34px;
  overflow: hidden;
  border-radius: 50%;
  /* background: var(--uni-color-bg-subtle); */
  background: #ffffff;
}
.uni-mega__inner .uni-drawer-ico img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* 下層（第3階層）は控えめに */
.uni-mega__inner ul ul .__item > a{
  min-height: 0;
  padding: 2px 0 2px 12px;
  font-size: 13px;
  color: var(--uni-color-text-sub);
}

@media screen and (max-width: 979px){
  .uni-mega {
  }
  .uni-mega__inner ul {
	  grid-template-columns: repeat(2, 1fr);
	  gap: 4px 16px;
  }
  .uni-mega + .uni-mega .uni-mega__inner ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px 16px;
	}
}
/* @media */

.uni-gnav{
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-padding-inline: var(--uni-gutter);
}
.uni-gnav::-webkit-scrollbar{
  display: none;
}

.uni-slide{
  position: relative;
}
.uni-slide__nav{
  position: absolute;
  top: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transition: background .15s ease;
}
.uni-slide__nav:hover{
  background: var(--uni-color-white);
}
.uni-slide__nav:focus-visible{
  outline: 2px solid var(--uni-color-brand);
  outline-offset: 2px;
}
.uni-slide__nav--prev{
  left: calc(50% - var(--uni-slide-item-w, 608px) / 2 - 24px);
}
.uni-slide__nav--next{
  left: calc(50% + var(--uni-slide-item-w, 608px) / 2 - 24px);
}
.uni-slide__nav::before{
  content: "";
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--uni-color-brand);
  border-right: 2px solid var(--uni-color-brand);
}
.uni-slide__nav--prev::before{
  transform: rotate(-135deg);
  margin-left: 4px;
}
.uni-slide__nav--next::before{
  transform: rotate(45deg);
  margin-right: 4px;
}
.uni-slide__track{
  user-select: none;
  -webkit-user-select: none;
}
.uni-slide__track img{
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

@media screen and (max-width: 979px){
  .uni-slide__nav{ display: none; }
}
.gnav-pc {
  /* border-bottom: 1px solid #263238; */
  border-bottom: 1px solid #d9d9d9;
}
/* TOPページ以外：ヘッダーとコンテンツの間に余白を追加 */
body > div.wrapper:not(.wrapper--home) {
	margin-top: 40px;
}
@media (max-width: 767px) {
	body > div.wrapper:not(.wrapper--home) {
		margin-top: 24px;
		margin-top: 10px;
	}
}
.copyright {
	text-align: center;
	font-size: 11px;
	color: #8b8b8b;
}
.gnav-pc .uni-gnav__btn:hover {
	text-decoration: none;
}
/* ヘッダーの商品カテゴリ：hover時の文字下線だけ解除 */
.uni-header .uni-gnav__btn:hover {
	text-decoration: none !important;
	/* border-bottom: 1px solid var(--uni-color-border) !important; */
}

.uni-gnav__btn:hover img {
	opacity: 1;
}

.uni-header .uni-gnav__btn:hover .uni-gnav__cat,
.uni-header .uni-gnav__btn:hover .uni-gnav__series {
	text-decoration: none !important;
	/* border-bottom: none !important; */
}
/* リンクhover時の下線をサイト全体で解除 */
a:hover,
a:hover * {
	text-decoration: none !important;
}
a.uni-prod__btn {
	position: relative;
	overflow: hidden;
	z-index: 0;
	transition: color 0.25s ease;
}

a.uni-prod__btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #a50081;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.25s ease;
	z-index: -1;
}

a.uni-prod__btn:hover {
	color: #ffffff;
	font-weight: normal;
}

a.uni-prod__btn:hover::before {
	transform: scaleX(1);
	transform-origin: left center;
}
/* TOP：新規会員登録ボタン */
.uni-btn--outline {
	position: relative;
	overflow: hidden;
	z-index: 0;
	transition: color 0.25s ease;
}

.uni-btn--outline::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #a50081;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.25s ease;
	z-index: -1;
}

.uni-btn--outline:hover {
	color: #ffffff;
}

.uni-btn--outline:hover::before {
	transform: scaleX(1);
	transform-origin: left center;
}
/* SPドロワー：新規会員登録ボタン */
.uni-drawer__auth-btn--regist {
	position: relative;
	overflow: hidden;
	z-index: 0;
	transition: color 0.25s ease;
}

.uni-drawer__auth-btn--regist::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #a50081;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.25s ease;
	z-index: -1;
}

.uni-drawer__auth-btn--regist:hover {
	color: #ffffff;
}

.uni-drawer__auth-btn--regist:hover::before {
	transform: scaleX(1);
	transform-origin: left center;
}
/* 黒系ボタン：横からグレーが流れ込むhover */
.uni-btn--black,
.uni-drawer__auth-btn--login {
	position: relative;
	overflow: hidden;
	z-index: 0;
	background: #000000;
	color: #ffffff;
	transition: color 0.25s ease;
}

.uni-btn--black::before,
.uni-drawer__auth-btn--login::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #fff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.25s ease;
	z-index: -1;
}

.uni-btn--black:hover,
.uni-drawer__auth-btn--login:hover {
	color: #000000;
}

.uni-btn--black:hover::before,
.uni-drawer__auth-btn--login:hover::before {
	transform: scaleX(1);
	transform-origin: left center;
}
a span.__subject {
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}
a span.__subject::after {
	background-color: currentcolor;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	transition: 0.25s all;
	width: 0;
}
a span.__subject:hover::after {
  width: 100%;
}
/* PCのみ：「Uniシリーズ照明一覧」を非表示＋残り5ボタンを中央均等配置 */
@media screen and (min-width: 980px) {

	/* 1個目の「Uniシリーズ照明一覧」を非表示 */
	.uni-gnav__list > .uni-gnav__item:first-child {
		display: none;
	}

	/* 残り5個を均等に中央配置 */
	.uni-gnav__list {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 10px;
		width: 100%;
		max-width: 965px;
		margin-inline: auto;
	}

	.uni-gnav__item {
		width: auto;
		min-width: 0;
	}
}
a.uni-gnav__btn:hover {
	/* background-color: #f6f6f6; */
	border: 1px solid #a50081;
	border-bottom: 1px solid #a50081 !important;
}
.aside section.__block.__block--login .__body ul.__menu li a:hover {
	color: #a50081;
}
li.__item.__item--text a:hover {
	color: #a50081;
}
ul.uni-side__links li a:hover {
	color: #a50081;
}
/* ul.uni-note__links li a:hover {
	color: #a50081;
} */
.__more.c-more a {
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}
.__more.c-more a::after {
	background-color: currentcolor;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	transition: 0.25s all;
	width: 0;
	margin-left: 14px;
}
.__more.c-more a:hover::after {
	width: 100%;
}
a .uni-cat__en {
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}
a .uni-cat__en::after {
	background-color: currentcolor;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	transition: 0.25s all;
	width: 0;
}

.uni-cat__item > a:hover .uni-cat__en::after {
	width: 100%;
}
span.uni-bnr__caption.underline {
	width: fit-content;
	margin: 0 auto;
}
/* バナー内のどこにhoverしても下線を表示 */
.uni-bnr__item > a:hover .underline::after {
	width: 100%;
}
.uni-side__catalog-text.underline {
	display: inline-block;
	width: fit-content;
}
/* カタログ画像にhoverしてもテキスト下線を表示 */
.uni-side__catalog:hover .uni-side__catalog-text::after {
	width: 100%;
}
ul.uni-note__links.underline_links li a::after {
	margin-left: 14px;
}
a.uni-main__more {
	/* display: inline-block; */
	position: relative;
	padding-bottom: 5px;
}
a.uni-main__more::after {
	background-color: currentcolor;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	transition: 0.25s all;
	width: 0;
	margin-left: 14px;
}
a.uni-main__more:hover::after {
	width: 100%;
}
.main .p-product-block ul.__product li.__item a h3.__title:hover {
	color: #a50081;
}
.uni-reason__heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	margin: 0 0 56px;
}
.uni-reason__heading span {
	font-size: 40px;
	font-weight: var(--uni-fw-black);
	color: var(--uni-color-brand);
}

.main.main--product-list.main--product-list-category section.__block.__block--recommend {
	display: none;
}

.footer {
	margin-top: 40px;
}

/* --- 767px以下 ヘッダー追従 --------------------------------------------- */
@media screen and (max-width: 767px) {
	.uni-header__main.__is-fixed {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		z-index: 9999;
		box-sizing: border-box;
		background: #fff;
		animation: uni-header-fixed-fade .3s ease both;
	}

	.uni-header__main.__is-fixed > .uni-header__search,
	.uni-header__main.__is-fixed > .uni-header__mid,
	.uni-header__main.__is-fixed > .uni-mega {
		display: none !important;
	}

	.uni-header__main-marker {
		width: 100%;
		height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		pointer-events: none;
	}
}

@keyframes uni-header-fixed-fade {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* --- レスポンシブ（979px以下） --------------------------------------------- */
@media screen and (max-width: 979px){
.main.main--product-list section.__breadcrumb, .main.main--product-list section.__content-top, .main.main--product-list section.__child, .main.main--product-list section.__category-description, .main.main--product-list section.__content-bottom, .main.main--product-list section.__pagination {
	padding: 0;
}

.main.main--product-detail section.__breadcrumb, .main.main--product-detail section.__content-top, .main.main--product-detail section.__content-middle, .main.main--product-detail section.__content-bottom, .main.main--product-detail section.__common-content-top, .main.main--product-detail section.__common-content-middle, .main.main--product-detail section.__common-content-bottom, .main.main--product-detail section.__add-cart {
	padding: 0;
}

.main.main--product-detail section.__information .__secondary .__status, .main.main--product-detail section.__information .__secondary .__title, .main.main--product-detail section.__information .__secondary .__catch, .main.main--product-detail section.__information .__secondary .__description {
	padding: 0;
}

.wrapper.wrapper--column-1 .__inner {
	padding-inline: 15px;
}

h1.__h1.c-h1 {
	padding: 0;
	font-size: 20px;
}

.uni-gnav-wrap {
	display: none;
}

.body-home .uni-gnav-wrap {
	display: block;
}

.wrapper .__inner {
	padding-inline: 0;
}

.wrapper.wrapper--column-2 .__inner .aside, .wrapper.wrapper--column-2 .__inner .main {
	padding-inline: 15px;
}

.main.main--home section.__block + .__block {
	margin-top: 60px;
}

.main.main--home section.__block.__block--news .__body ul li {
	font-size: 14px;
	border-bottom: 0;
	padding: 0;
}

.uni-prod__foot a.uni-prod__btn {
	min-width: 150px;
	width: 150px;
}

.uni-reason__heading span{font-size: 20px; }

.uni-note__links li {
	margin-bottom: 9px;
}

.uni-footer__list li {
	margin-bottom: 8px;
}

section.__block.__block--recommend {
	margin-top: 50px ! IMPORTANT;
}

section.__block.__block--recommend .__heading.__heading--default.c-heading-main {
	padding: 10px 0px;
	border: 0;
	/* background-color: #f2f2f2; */
	font-size: 18px;
	/* border-radius: 5px; */
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
}


}
/* @media */

/* メガメニュー内のカテゴリ画像は共通画像hoverの対象外にする */
@media screen and (min-width: 980px) {
	.uni-mega__inner .uni-drawer-ico img,
	.uni-mega__inner a:hover .uni-drawer-ico img {
		opacity: 1 !important;
		filter: none !important;
		transition: none !important;
		-webkit-transition: none !important;
		image-rendering: auto;
	}
}

/* 最近チェックした商品 */
.wrapper--home section.__block.__block--pro-viewed ul.__product > li {}
.wrapper--home section.__block.__block--pro-viewed ul.__product > li:nth-child(n+5) {
	display:none;
}

.main.main--product-detail section.__block.__block--recommend {
	margin-top: 70px;
}


/* サイドカテゴリー調整 */
.aside section.__block.__block--category {
	display: none !important;
}

.main--sitemap .__block--feature:not(:has(li)) {
    display: none !important;
}

@media screen and (max-width: 767px) {
	/* 1つだけ入力欄がある項目は横幅いっぱい */
	.main form table td > input[type="text"]:only-of-type,
	.main form table td > input[type="email"]:only-of-type,
	.main form table td > input[type="url"]:only-of-type,
	.main form table td > input[type="password"]:only-of-type,
	.main form table td > textarea,
	.main form table td > select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	/* 郵便番号の入力欄を少し広げる */
	.main form table td input[name*="zip"] {
		width: 80px !important;
		max-width: 80px !important;
		box-sizing: border-box;
	}
	/* 住所：市区町村・町域番地・ビル建物名 */
	.__block--addr01,
	.__block--addr02,
	.__block--addr03 {
		width: 100% !important;
	}
	.__block--addr01 input,
	.__block--addr02 input,
	.__block--addr03 input {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}