/* =================================================================
1.RU - common
=================================================================*/
body{
	background:#FFF;
}
*{
	line-height:160%;
	letter-spacing: 0.05em;
}

.fontZenKaku{font-family: "Zen Kaku Gothic New","游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3", "Meiryo", sans-serif;}
.fontZenOldMin{font-family: "Zen Old Mincho","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",  "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}


@media screen and (min-width: 961px){.headerHeight{margin-top:90px!important;}}
@media screen and (max-width: 960px){.headerHeight{margin-top:90px!important;}}

.anchorTarget{padding-top: 50px!important;margin-top:-50px!important;}
@media screen and (max-width: 960px){.anchorTarget{padding-top: 120px!important;margin-top:-120px!important;}}


.contentsWidth{max-width: 980px;margin-left:auto; margin-right:auto;}
@media screen and (max-width: 960px){
	.contentsWidth{width: 100%;}
}

.contentsWidthRU{max-width: 1200px;margin-left:auto; margin-right:auto;}
@media screen and (max-width: 960px){
	.contentsWidthRU{width: 100%;}
}

.RUbrown{
	background:#eeeadc;
}



.RURED{color:#cc0000;}
.RUGLD{color:#9b6c00;}

section{padding: 50px 0 40px;margin:0px;}

body.scroll-rock {overflow:hidden;}/*ハンバーガーメニュー表示時スクロールロック*/

.mgntop60{
	margin-top:60px!important;
}
.mgntop140{
	margin-top:140px;
}
@media screen and (max-width: 960px){
	.mgntop60{
		margin-top:40px!important;
	}
	.mgntop140{
		margin-top:100px;
	}
}

.tn_clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.tn_clearfix {
  display: block;
}

.ukaiGuide a { color: #b1884d; text-decoration: none; }
.ukaiGuide a:visited { color: #b1884d; text-decoration: none;}
.ukaiGuide a:hover { color: #b1884d; text-decoration: none;opacity: .7; }
.ukaiGuide a:active { color: #b1884d; text-decoration: none;opacity: .7; }
.ukaiGuide a:link { color: #b1884d; text-decoration: none;}
.ukaiGuide a:visited { color: #b1884d; text-decoration: none;}

/* lineup
-------------------------------------------------------------*/
.RUCommonLineup ul{width:100%;	letter-spacing: -1em;margin-top:50px;}
@media screen and (max-width: 960px){.RUCommonLineup ul{margin-top:25px;}}

.RUCommonLineup li{vertical-align:top;	display:inline-block;width:calc(100% / 2);padding:0px 20px;margin-bottom:20px;}
@media screen and (max-width: 960px){.RUCommonLineup li{width:100%;margin-bottom:10px;padding:0px 5px;}}

.RUCommonLineup li img{width:100%;  outline: 1px solid #585; outline-offset: -1px;}



/* ボタン
-------------------------------------------------------------*/
.RUButton {
  margin:auto;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #333333;
  font-size: 16px;
  width: 200px;
  height: 50px;
  border: 1px solid #888888;
  position: relative;
  background-color: #FFFFFF;
  cursor: pointer;
  border-radius: 25px;
}

.RUButton:hover{
  color: #333333;
  background-color: #aaa;
  opacity:0.7;
}

.RUButton.btnBK {
  color: #fff!important;
  background-color: #000;
  border: 1px solid #000;
}

.RUButton::before, .RUButton::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform-origin: 100% 50%;
  height: 1px;
  width: 8px;
  background-color: #333;
  border-radius: 2px;
  will-change: transform;
  transition: .3s;
}

.RUButton.btnBK::before, .RUButton.btnBK::after {
  background-color: #fff;
}


.RUButton::before {
  transform: translateY(-50%) rotate(30deg);
}

.RUButton::after {
  transform: translateY(-50%) rotate(-30deg);
}

@media screen and (min-width: 961px){
	.RUButton.normal{
		width:350px!important;
	}
}
@media screen and (max-width: 960px){
	.RUButton.normal{
		width:280px!important;
	}
}

.item_new {background:#cc0000;}
.item_icon{font-size:12px;margin-bottom:4px;}
                      

/* パンくず
-------------------------------------------------------------*/
/*
#breadcrumbs{font-size: 14px;padding:30px 0px 20px 0px;width:100%;}
@media screen and (max-width: 960px){
	#breadcrumbs{font-size: 13px; padding:10px;}
}

#breadcrumbs span{display:inline-block;white-space: nowrap;}
#breadcrumbs span:nth-child(n + 2):before{content:">";margin-left:7px;margin-right:7px;}
*/

.breadcrumbsSearch{display:none;}


/* 見出しフォーマット
-------------------------------------------------------------*/
.RUItemlistTitle {text-align:center;}

.RUItemlistTitle p {font-size:16px; display:block;margin-left:15px; font-weight:bold;color:#d37f2b;}
.RUItemlistTitle img {height:28px; margin:auto; display:block;text-align:center;}
@media screen and (max-width: 960px){
	.RUItemlistTitle p {display:block;margin-top:5px;font-size:18px;margin-left:5px;}
	.RUItemlistTitle img {height:30px;margin-left:0px;}
}


/* =================================================================
2.RUHeader - レストランうかい用ヘッダー
=================================================================*/
.RUHeader{
	background:#ffffff;
	height:90px;
	position:relative;
	z-index:2;
	border-bottom:1px solid #cccccc;
}
@media screen and (max-width: 960px){.RUHeader{height:90px;}}


.RUHeaderLogo{
	height:56px;
	position:absolute;
	z-index:1;
	top: 50%;
    left: 25px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
@media screen and (max-width: 960px){
	.RUHeaderLogo{
		height:50px;
		left:10px;
	}
}

.RUHeaderLogo img{height:100%;}


.RUHeaderLinks{
	position:absolute;
	z-index:1;
	top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
 }
 @media screen and (max-width: 960px){
	 .RUHeaderLinks{
	 	right: 50px;
	 } 
 }
 

.RUHeaderNavi{}

.RUHeaderNavi ul{font-size:16px;}
.RUHeaderNavi ul li{display:inline-block; vertical-align: middle; padding:7px 15px!important;}
.RUHeaderNavi ul li:nth-last-child(-n+3){padding:7px 3px!important;}
.RUHeaderNavi ul li:nth-last-child(4){padding-right:45px!important;}

@media screen and (max-width: 960px){
	.RUHeaderNavi ul li{padding:0 5px!important;}
	.RUHeaderNavi ul li.pcOnly{display:none;}
}

.RUHeaderNavi ul li:link,.RUHeaderNavi ul li:visited{}
.RUHeaderNavi ul li:hover,.RUHeaderNavi ul li:active{/*background:#d8f3db;*/}
.RUHeaderNavi ul li a:link,.RUHeaderNavi ul li a:visited{color:#99824d!important;}
.RUHeaderNavi ul li a:hover,.RUHeaderNavi ul li a:active{opacity: 0.7;}

.RUHeaderNavi ul li img{height:30px;}
@media screen and (max-width: 960px){
	.RUHeaderNavi ul li img{height:26px;}
}

@media screen and (max-width: 960px){
	.RUHeaderNaviFixed{
		position: fixed;
		top: 0;
		z-index:500;
		width:100%;
		opacity: 1;
		transition: opacity 0.3s;
	}
}

/*
.RUHeaderNaviFixed.hidden{
	opacity: 0;
	pointer-events: none;
}*/

/* PCのみ表示 */


@media (min-width:961px){
  .RUHeaderNaviFixed{
    position: fixed;
    top:0; right:0; left:auto;
    width:100vw;
    transform: translateX(100vw);            /* 画面幅ぶん右へ */
    opacity:0; pointer-events:none;
    transition: transform .35s ease-out, opacity .35s linear;
    z-index:5;
  }
  .RUHeaderNaviFixed.active{
    transform: translateX(0);
    opacity:1; pointer-events:auto;
  }
}



/* ハンバーガーメニュー
-------------------------------------------------------------*/
.hamburgericon{display:none;}
@media screen and (max-width: 960px){
	.hamburgericon{
		display:block;
		position:absolute;
		z-index:10000;
		top: calc(50% + 2px);
	    right: 0px;
	    transform: translateY(-50%);
	    -webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	}
}


.header__hamburger {
  width: 40px;
  height: 48px;
}

.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}

/* ハンバーガーメニューの線 */
.hamburger span {
  position: relative;
  display: block;
  height: 2px;                            /* 太さ */
  background-color: #4e070b;
  transition: ease .4s;
}

/* 線の長さを個別に変更 */
.hamburger span:nth-child(1) {
  width: 26px;                            /* 上：長め */
  top: 4px;
}
.hamburger span:nth-child(2) {
  width: 16px;                            /* 中央：短め */
  margin: 10px 0;
  right:-9px;
}
.hamburger span:nth-child(3) {
  width: 20px;                            /* 下：中間 */
  top: -4px;
	right:-6px;
}


/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {transform: translateX(0);}
/*.hamburger.active span{background-color: #000;}*/
.hamburger.active span:nth-child(1) {top: 12px;transform: rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {top: -11px;transform: rotate(-45deg);width: 26px;right:0;}
/* メニュー本体 */
.hamburgermenu{
	position: fixed;
	top: 90px;
	right: 0;
	z-index: 100;
	width: 100vw;
	height: calc(100vh - 90px);
	height: calc(100dvh - 90px);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: normal;
	background-color: rgba(255,255,255,0.97);
	padding:20px 25px 100px 25px;
	overflow:auto;
}
.hamburgermenu__item{
	width: 100%;
	height: auto;
	padding: .5em 1em;
	text-align: center;
	color: #000;
	box-sizing: border-box;
}

/* アニメーション前のメニューの状態 */
.hamburgermenu{transform: translateX(100vw);transition: all .3s linear;}
/* アニメーション後のメニューの状態 */
.hamburgermenu.is-active{transform: translateX(0);}


.hamburgerInner{width:100%;margin-top:10px;}

.RUsearchSP .form{border:none;-webkit-appearance: none;box-shadow:none;border-bottom:1px solid #000;
transition: 0.3s!important;overflow:none;padding:0px; display:inline-block;vertical-align:middle;
height:calc(25px * 4 / 3);width:calc(100% - 30px);
-webkit-border-radius: 0px; -moz-border-radius: 0px; -o-border-radius: 0px; border-radius: 0px;
background-color:none;
background:none;
}

.RUsearchSP .RUSearchBTNSP{
	width:25px;
	display:inline-block;
	vertical-align:middle;
}

.hamburgerCategory{margin-top:40px;}

.hamburgermenu ul.impLink{
	width:100%;
	letter-spacing: -1em;
	margin:30px auto 0;
}

.hamburgermenu ul.impLink a{
	display:inline-block;
	letter-spacing: 0em;
	text-align:center;
	width:100%;
	margin:2.5px auto;
	background:#eee;
	padding:10px 0;

}


/* 検索ボタン
-------------------------------------------------------------*/
.RUsearch form{position:relative;width:30px; text-align:right;transition: 0.3s;}

.RUsearch .form{background-color:inherit;}

.RUsearch form img,.RUsearch form input,.RUsearch form .RUSearchSWToff{position:absolute;top:50%;display:block;
top: 50%;-webkit-transform: translate(0,-50%);-ms-transform: translate(0,-50%);-o-transform: translate(0,-50%);transform: translate(0,-50%);}
.RUsearch form .form{right:30px;width:0px;border:none;-webkit-appearance: none;box-shadow:none;border-bottom:1px solid #000;
transition: 0.3s!important;overflow:none;padding:0px;}
.RUsearch form .RUSearchBTN,.RUsearch form .RUSearchSWT{width:30px; }
.RUsearch form .RUSearchBTN{right:0px;display:none;}
.RUsearch form .RUSearchSWT{right:0px;}

.RUsearch form .RUSearchSWToff{display:none;right:0px;transition: 0.3s!important;}
.RUsearch form img{cursor: pointer;}

.RUsearch form.isON{width:200px;}
.RUsearch form.isON .form{display:block;width:150px;}
.RUsearch form.isON .RUSearchBTN{display:block;}
.RUsearch form.isON .RUSearchSWT{display:none;}

.RUsearch form.isON .RUSearchSWToff{display:block; z-index:10; right:190px; width:10px;color:#d37f2b;cursor: pointer;}


/* =================================================================
3.RUItemlist - レストランうかい商品一覧ページ
=================================================================*/

/* 商品一覧ページタイトル
-------------------------------------------------------------*/
.RUCATTitle{width:100%;text-align:center!important;margin:0px auto 60px;color:#000000;font-size:32px;line-height:32px;}
.RUCATTitle p{font-size:18px!important;line-height:18px;color:#aaa!important;margin-top:10px;letter-spacing: 0.1em!important;}
@media screen and (max-width: 960px){
	.RUCATTitle{margin:0px auto 40px;font-size:24px;line-height:24px;}
	.RUCATTitle p{font-size:12px!important;line-height:12px;}
}


.RUscMidashi{
	background:#f5f5f5;
	height:200px;
	text-align:center;
    display: flex;
    width: 100%;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 960px){
	.RUscMidashi{
		height:120px;
	}
}

.RUscMidashi h1{
	font-size:32px;
}
@media screen and (max-width: 960px){
	.RUscMidashi h1{
		font-size:24px;
	}
}

.RUscMidashi > div > div{
	color:#b0b0b0;
	font-size:18px;
}
@media screen and (max-width: 960px){
	.RUscMidashi > div > div{
		font-size:12px;
	}
}



/* 商品一覧上部 第四階層表示
-------------------------------------------------------------*/
.RUItemlistCategory ul{margin:0px auto;width:100%;letter-spacing: -1em;}
@media screen and (max-width: 960px){.RUItemlistCategory ul{margin:0px auto 20px;width:95%;}}

.RUItemlistCategory ul li{display:inline-block;margin-bottom:10px;margin-left:-1px; width:25%;vertical-align:top;}
@media screen and (max-width: 960px){.RUItemlistCategory ul li{width:50%;margin-left:0px;}}
@media screen and (max-width: 960px){.RUItemlistCategory ul li:nth-child(odd){border-right:1px solid #99824d;}}

.RUItemlistCategory ul li span{border-right:1px solid #99824d;border-left:1px solid #99824d;width:100%; display:block;text-align:center;}
@media screen and (max-width: 960px){.RUItemlistCategory ul li span{border-right:none;border-left:none; width:100%; display:block; text-align:left;}}

.RUItemlistCategory ul li span a {position: relative;z-index:0;width:100%; display:block;color:#99824d;}
@media screen and (max-width: 960px){.RUItemlistCategory ul li span a {padding:0 0 0 10px;width:100%; display:block; font-size:90%;}}
.RUItemlistCategory ul li span a:hover{opacity:0.7;}


.RUItemlistCategory ul li span a::after{content: '';width: 0;height: 0;border-style: solid;border-width: 4.3px 2.5px 0 2.5px;border-color: #99824d transparent transparent transparent;position: absolute;right: 10px;top: 50%;-webkit-transform: translate(0,-50%);-ms-transform: translate(0,-50%);-o-transform: translate(0,-50%);transform: translate(0,-50%);}


.RUItemlistCategory ul li span.RUItemlistSelested a{color:#fff;background:#99824d;pointer-events: none;}
.RUItemlistCategory ul li span.RUItemlistSelested a:hover{color:#fff;}
.RUItemlistCategory ul li span.RUItemlistSelested a::after{display:none;}

#RUItemlistList .rearrange{margin:10px; font-size:12px;}
#RUItemlistList .rearrange select{border:1px solid #aaa;}
#RUItemlistList .pageguide{font-size:14px;}



/* 商品一覧表示
-------------------------------------------------------------*/
#RUItemlistList ul{width:100%;letter-spacing: -1em;}
@media screen and (max-width: 960px){
	#RUItemlistList ul{padding:0px 15px;}
}

#RUItemlistList ul li{
	vertical-align:top;	
	display:inline-block;
	width:calc(calc(100% - 80px) / 3);
	padding:0px;
	margin-right:40px;
	margin-top:60px;
}
@media screen and (min-width: 961px){
	#RUItemlistList ul li:nth-of-type(3n){
		margin-right:0px;
	}
	#RUItemlistList ul li:nth-of-type(-n+3){
		margin-top:0px;
	}
}
@media screen and (max-width: 960px){
	#RUItemlistList ul li{
		width:calc(calc(100% - 20px) / 2);
		padding:0px;
		margin-right:20px;
		margin-top:50px;
	}
	#RUItemlistList ul li:nth-of-type(2n){
		margin-right:0px;
	}
	#RUItemlistList ul li:nth-of-type(-n+2){
		margin-top:0px;
	}
}

#RUItemlistList ul li a{width:100%;}

#RUItemlistList ul li .appeal{
	text-align: justify;
	text-justify: inter-ideograph;
	font-size:14px;
}
#RUItemlistList ul li h3{
	font-weight:bold; 
	font-size:20px; 
	margin:10px 0;
}
@media screen and (max-width: 960px){
	#RUItemlistList ul li h3{
		margin:5px 0;
	}
}

#RUItemlistList ul li img{width:100%;}

#RUItemlistList ul li .price,.RUtopRecommend li .price{text-align:right;}
#RUItemlistList ul li .price .teika{font-size:19px!important;position: relative;
    width: 100%;
    display: block;
    line-height:19px;}
#RUItemlistList ul li .price .teika .tax{font-size:60%;display:inline-block;padding:0px 0px 0px 5px;}

#RUItemlistList ul li .cf{
	letter-spacing: -1em;
	margin-top:10px;
}
@media screen and (max-width: 960px){
	#RUItemlistList ul li .cf{
		margin-top:0px;
	}
}
#RUItemlistList ul li .cf .price,#RUItemlistList ul li .cf .RUCartButton{
	display:inline-block;
	width:50%;
	margin:0;
	vertical-align: bottom;
}

.tokka{
    display: block;
    position: absolute;
    top: -17px;
    right: 0;
    width: 100%;
    white-space: nowrap;
}

#RUItemlistList ul li .cf .RUCartButton .RUButton{
	font-size:14px;
	letter-spacing: 0em;
	height:35px;
	padding-right: 10px;
}
#RUItemlistList ul.RUitemDetailRecommend li .cf .price{
	width:100%;
}
@media screen and (max-width: 960px){
	#RUItemlistList ul li .cf .price,#RUItemlistList ul li .cf .RUCartButton{
		display:block;
		width:100%;
		margin:10px 0;
	}
	#RUItemlistList ul.RUitemDetailRecommend li .cf .price{
		margin:0;
	}
}
#RUItemlistList ul li .cf .price{padding:0 10px 0 0;}

#RUItemlistList ul li .cf .RUCartButton .RUButton img{
	margin-right:3px;
	height:16px;
}


/* SOLDOUT
-------------------------------------------------------------*/
#RUItemlistList .appeal{position:relative;}
#RUItemlistList .RUitemsoldout{position:absolute; left:0; top:0;}
#RUItemlistList .RUitemsoldout span{background:#C01B20; color:#fff; display:block;margin:0;padding:6px 10px; font-size:16px;}
@media screen and (max-width: 960px){#RUItemlistList .RUitemsoldout span{font-size:12px;}}







/* 左サイド第三階層一覧
-------------------------------------------------------------*/
.RUSideCATlist{float:left; width:230px;}
@media screen and (max-width: 960px){
	.RUSideCATlist{display:none;}
}

/* 第三階層アコーディオン
-------------------------------------------------------------*/
.RUAcrdnCATlist .RUHiddenCATbtn,.RUAcrdnCATlist .RUCATLink{
	cursor: pointer;
	position:relative;
	display:block;
	width:100%;
	padding-right:30px;
}

.RUAcrdnCATlist .RUItemlistAll{
	padding:15px 5px;
	border-top:1px solid #ddd;
	display:block;
}

.RUAcrdnCATlist .RUItemlistAll:last-child{
	border-bottom:1px solid #ddd;
}


.RUAcrdnCATlist .RUHiddenCAT{
	display:none;
/*	background:#f3faf5;*/
	padding-bottom:5px;
	margin-top:15px;
	margin-bottom:-15px;
}

.RUAcrdnCATlist .RUHiddenCAT li{
	padding:12px 10px;
	border-top:1px solid #ddd;
	font-size:15px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.RUAcrdnCATlist .RUHiddenCAT li:before{
	content:"-";
}

.RUAcrdnCATlist .RUCATLink:after {
	content:"";
	position: absolute;
	color: #000;
	line-height: 1;
	width: 10px;
	height: 10px;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(45deg);
	top: 50%;
	right: 10px;
	transition: 0.3s ;
}


.RUAcrdnCATlist .RUHiddenCATbtn:after {
	content:"";
	position: absolute;
	color: #d37f2b;
	line-height: 1;
	width: 10px;
	height: 10px;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-78%) rotate(135deg);
	top: 50%;
	right: 10px;
}

.RUAcrdnCATlist .RUHiddenCATbtn.isOn:after {
	transform: translateY(-25%) rotate(-45deg);
}

.RUMainItemlist{
	float:right;
	width:calc(100% - 230px);
}
@media screen and (max-width: 960px){
	.RUMainItemlist{
		float:none;
		width:100%;
	}
}

.RUMainItemlist .pageguide{margin:15px;text-align:right;}




/* =================================================================
4.RUFooter - レストランうかい用フッター
=================================================================*/
.RUFooter{}

.RUFooterGuide{background:#fefefe;}
@media screen and (max-width: 960px){
	.RUFooterGuide{padding-top:0px;}
}

.RUFooterGuide ul{letter-spacing: -1em;}

.RUFooterGuide li{display:inline-block;vertical-align:top;width:50%;margin-bottom:25px;padding:0px 20px;}
@media screen and (max-width: 960px){.RUFooterGuide li{width:100%;}}
.RUFooterGuide li:last-child,.RUFooterGuide li:nth-last-child(2){margin-bottom:0px;}
@media screen and (max-width: 960px){.RUFooterGuide li:nth-last-child(2){margin-bottom:25px;}}


.RUFooterGuide .title{font-size:18px;margin-bottom:10px;}
.RUFooterGuide .txt{font-size:14px;margin-bottom:10px;}

.RUFooterGuide img{display:inline-block;vertical-align:top;}

@media screen and (max-width: 960px){.RUFooterSitemap{display:none;}}

.RUFooterSitemap .ate_innerBlock{padding: 50px 0 40px;}

.RUFooterSitemap ul{letter-spacing: -1em;}
.RUFooterSitemap li{display:inline-block;vertical-align:top;margin-bottom:25px;padding:0px 20px;width:calc(calc(100% - 25% - 80px) / 3);}
.RUFooterSitemap li:first-child{width:25%;margin-right:80px;}
.RUFooterSitemap li:first-child div:first-child{padding-right:50px;}
@media screen and (max-width: 960px){.RUFooterSitemap li{width:auto; border:1px solid red;}}
@media screen and (max-width: 960px){.RUFooterSitemap li:first-child{width:60%; margin:auto;display:block;}}
@media screen and (max-width: 960px){.RUFooterSitemap li:last-child{width:100%;display:block; text-align:center;}}



.RUFooterSitemap .sns{margin-top:60px;vertical-align: middle;text-align:left;}
.RUFooterSitemap .sns img{width:30px;vertical-align: middle;margin-left:15px;}

.RUFooterSitemap .txt{	font-size:14px;	line-height:2;}
@media screen and (max-width: 960px){.RUFooterSitemap .txt{font-size:13px;line-height:1.5;}}

.RUFooterSitemap .txt .small{font-size:12px;}
@media screen and (max-width: 960px){.RUFooterSitemap .txt .small{display:inline-block; width:49%; text-align:left;vertical-align: top;}}




/* お知らせ*/
/*-------------------------------------------------------------*/

.RUtopicsList{
	width:100%;
	margin:auto;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding:0px;
	display: table;
	min-height:240px;
}

@media screen and (max-width: 960px){
	.RUtopicsList{
		width:calc(100% - 30px);
		min-height:240px;
		padding:10px;
		border-top:none;
		border-bottom:none;
	}
}

.RUtopicsListTitle {
	display: table-cell;
	width:200px;
	text-align:left;
	vertical-align: top;
	padding:30px 30px;
}
@media screen and (max-width: 960px){
	.RUtopicsListTitle{display:block;width:100%;margin-top:15px;padding:10px 0px 0;}
}


.RUtopicsListTitle img{height:21px;margin:0 auto 10px;}


.RUtopicsListZone{
	display: table-cell;
	width:calc(100% - 205px);
	border-left:1px solid #ccc;
	padding:10px 30px;
	vertical-align: top;
}
@media screen and (max-width: 960px){
	.RUtopicsListZone{
		display:block;
		width:100%;
		border-top:1px solid #ccc;
		border-bottom:1px solid #ccc;
		border-left:none;
		padding:10px 0px;
		font-size:14px;
		margin-top:15px;
	}
}

.RUtopicsListZone dl{
	margin:10px 0px;
}


.RUtopicsListZone dt{
	float:left;
	margin-right:30px;
}
@media screen and (max-width: 960px){
	.RUtopicsListZone dt{
		margin-right:0px;
		width:95px;
	}
}


.RUtopicsListZone dd{
	float:left;
}
@media screen and (max-width: 960px){
	.RUtopicsListZone dd{
		float:right;
		width:calc(100% - 95px);
	}
}




/* 店舗のご案内 */
/*-------------------------------------------------------------*/

.ukaiRestaurant {
  margin-bottom:100px;
}
@media (max-width: 960px) {
	.ukaiRestaurant {
	  margin-bottom:0px;
	}
}

.ukaiRestaurant__container {
  margin: auto;
  display: block;
}
.ukaiBrand__left{
	display:inline-block;
	width:40%;
	vertical-align:bottom;
}
.ukaiRestaurantIMG{
	display:inline-block;
	width:58%;
	vertical-align:bottom;
}
@media (max-width: 960px) {
	.ukaiBrand__left,.ukaiRestaurantIMG{
		display:block;
		width:100%;
		margin-top:30px;
	}
	.ukaiBrand__left{
		padding:0 16px;
	}
}



.ukaiRestaurantIMG a{
	display:block;
	margin: 30px auto 0;
}


.ukaiRestaurant__lead {
	width:80%;
}
@media (max-width: 960px) {
	.ukaiRestaurant__lead {
		width:70%;
	}
}
.ukaiRestaurant__txt{
	margin-top:30px;
}

.ukaiRestaurant__p {
  margin: 0;
}




.ukaiRestaurant__cta {
  display: inline-block;
  margin-top: 40px;
  background: #99824d;
  color: #fff!important;
  padding: 8px 15px;
  border-radius: 999px;
  width:100%;
  max-width:300px;
  text-align:center;
}
@media (max-width: 960px) {
	.ukaiRestaurant__cta {
		margin: 30px auto 0;
        display: block;
        text-align: center;
	}
}



.ukaiRestaurant__cta:focus-visible {
  outline: 3px solid #000;
  outline-offset: 2px;
}
.ukaiRestaurant__cta:hover{
	opacity:0.7;
}

/* ===============================
   Carousel Wrapper
=============================== */
.ukaiRestaurantCarouselWrap {
  position: relative;
  padding-bottom: 28px; /* インジケータ分の余白 */
}

@media (max-width: 960px) {
	.ukaiRestaurantCarouselWrap {
    	margin-bottom:30px;
    }
}
/* ===============================
   Carousel Box
=============================== */
.ukaiRestaurantCarousel {
  position: relative;
  border-radius: 80px 0 0 80px;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: #000;
  margin-top:100px;
}
@media (max-width: 960px) {
  .ukaiRestaurantCarousel {
    aspect-ratio: 1/1;
    margin-top:0px;
  }
}
.ukaiRestaurantCarousel__track {
  display: flex;
  height: 100%;
  transition: transform 0.6s ease;
  touch-action: pan-y;
}
.ukaiRestaurantCarousel__slide {
  min-width: 100%;
  height: 100%;
  position: relative;
  flex: 0 0 100%;
}
.ukaiRestaurantCarousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===============================
   横棒インジケータ（枠外）
=============================== */
.ukaiRestaurantCarousel__dots {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
  width:40%;
}
@media (max-width: 960px) {
	.ukaiRestaurantCarousel__dots{
		width:200px;
	}
}


.ukaiRestaurantCarousel__dot {
  flex: none;
  width: calc(100% / 3);
  height: 8px;
  background: #e7dfc7;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.ukaiRestaurantCarousel__dot[aria-current="true"] {
  background: #966f27;
}






/* =================================================================
5.RUItemDetail - レストランうかい商品購入ページ
=================================================================*/

/* 商品画像部分
-------------------------------------------------------------*/
.RUItemDetailImg{width:50%;float:left; padding:10px;}
@media screen and (max-width: 960px){
	.RUItemDetailImg{
		width:100%;
		float:none;
		padding: 0px;
	}
}

.RUItemDetailImg .mainIMG,.thumbIMG{width:100%;}

.RUItemDetailImg .mainIMG li{padding:5px;}

@media screen and (max-width: 960px) {
	.RUItemDetailImg .mainIMG li {
	  padding: 5px 0;
	}
}

.RUItemDetailImg .thumbIMG li{
	cursor: pointer;
	outline: none;
	width:25%!important;
	padding:5px;
}
.RUItemDetailImg .thumbIMG li img,
.RUItemDetailImg .mainIMG img{
	width: 100%;
	height: auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}


/*選択するサムネイル画像の設定*/
.RUItemDetailImg .thumbIMG li img{
	opacity: 0.4;/*選択されていないものは透過40%*/
}

.RUItemDetailImg .thumbIMG li.slick-current img{
	opacity: 1;/*選択されているものは透過しない*/
}

.RUItemDetailImg .thumbIMG .slick-track {
	/*transform: unset !important;画面幅サイズ変更に伴うサムネイル固定*/
}


/* 商品インフォメーション部分
-------------------------------------------------------------*/
.RUItemDetailInfo{width:49%;float:right; padding:20px 10px 10px;}
@media screen and (max-width: 960px){.RUItemDetailInfo{width:100%;float:none;}}

.RUItemDetailInfo .appeal{font-size:18px; margin-bottom:10px;text-align: justify;text-justify: inter-ideograph;} /* アピールポイント */

.RUItemDetailInfo h3{font-size:24px; font-weight:bold;} /* 商品名 */
@media screen and (max-width: 960px){.RUItemDetailInfo h3{font-size:20px; font-weight:bold;} }

.RUItemDetailInfo .price{font-size:24px; margin:10px 0px; text-align:right;font-weight:700;} /* 販売価格 */
.RUItemDetailInfo .price .teika .tax{font-size:60%;display:inline-block;padding:0px 0px 0px 10px;}

.RUItemDetailInfo .price .other{font-size:16px!important;color:#555;}
.RUItemDetailInfo .price .other .tax{font-size:60%;display:inline-block;padding:0px 0px 0px 5px;color:#555;}



.RUItemDetailInfo .explanation1{border-bottom:1px solid #ddd;margin-bottom:20px;padding-bottom:20px;text-align: justify;text-justify: inter-ideograph;color:#333; font-size:17px;} /* 商品コメント１ */

.RUItemDetailInfo .explanation2{text-align: justify;text-justify: inter-ideograph; font-size:15px;color:#555;} /* 商品コメント１ */



/* ステッパー
-------------------------------------------------------------*/
/* WebKit ブラウザで、input type="number" のスピンボタンを非表示にする。 */
.RUCartStepper input[type="number"]::-webkit-outer-spin-button,
.RUCartStepper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

/* Firefox で、input type="number" のスピンボタンを非表示にする。また、入力欄の値表示を中央寄せにし、高さをボタンのサイズに合わせる。 */
.RUCartStepper input[type="number"] {
  -moz-appearance: textfield;
  text-align: center;
  height: 44px;
  width:60px;
  border:none;
  box-shadow:none;
}

/*ボタンのサイズを 44 × 44 CSS ピクセルにする。*/
.RUCartStepper button.btn-number {
  width: 44px;
  height: 44px;
    border:none;
background:#fff;
}

.RUCartStepper button.btn-number:hover{
background:#eee;
}

/* ステッパーコンポーネントの横幅を指定する。 */
.RUCartStepper div.input-group {
 /* width: 160px; */
 border:1px solid #000;
 background:#fff;
}

.RUCartStepper .input-group-prepend,
.RUCartStepper #number-of-unit,
.RUCartStepper .input-group-append,
.RUCartStepper #label-number-of-unit,
.RUCartStepper .input-group{display:inline-block;}
/* ステッパー
-------------------------------------------------------------*/



/* カートボタン
-------------------------------------------------------------*/
.RUCartButton{
	margin-top:20px;
	margin-bottom:5px;
}

.RUCartButton .RUButton{
	background: #99824d;
	color: #fff;
	border-color:#99824d;
	width:100%;
}

.RUCartButton .RUButton::before, .RUCartButton .RUButton::after {
  background-color: #f2f2f2;
}

.RUCartButton .RUButton img{
  display:inline-block;
  vertical-align:middle;
  height:20px;
  width:auto!important;
  margin-right:10px;
}

.RUCartButton .RUButton input[type="submit"]{
  font-size: 16px;
  display: block;
  border: none;
  outline: 0;
  cursor: pointer;
  color: #fff;
  background: none;
  width: 100%;
  transition: 0.3s;
  font-family: "Zen Old Mincho","Noto Serif JP","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",  "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif!important;
  display:inline-block;
  vertical-align:middle;
	width:auto;

}

.RUCartButton .RUButton.RUBTNsoldout{
	background: #969696;
	color: #FFFFFF;
	border-color:#969696;
	 pointer-events: none;
}
.RUCartButton .RUButton.RUBTNsoldout::before, .RUCartButton .RUButton.RUBTNsoldout::after {
	display:none;
}

.RUCartButton .RUButton.RUBTNgray{
	background: #969696;
	color: #FFFFFF;
	border-color:#969696;
}


/* カートボタン
-------------------------------------------------------------*/


/* のし
-------------------------------------------------------------*/
.RUNoshiOK,.RUNoshiNG{width:49%;border:1px solid #000;display:inline-block;text-align:center;padding:5px;margin-right:1%;}
.RUNoshiNG{background:#eee;color:#555;border-color:#eee}
/* のし
-------------------------------------------------------------*/

.RUICON{font-size:0px;margin:30px 0px 20px;}
.RUICON img{width:calc(50% - 5px); display:inline-block; margin-bottom:10px;}
.RUICON img:nth-child(odd){margin-right:10px;}


/* お気に入り
-------------------------------------------------------------*/
.wishlistSubmitButton{text-align:right;}

.RUWishlistDEL .wishheart::before,
.RUWishlistDEL .wishheart::after {
  background: #d37f2b; /* ハートの色 */
}
.RUWishlistADD .wishheart::before,
.RUWishlistADD .wishheart::after {
  background: #aaa; /* ハートの色 */
}


/* レコメンド
-------------------------------------------------------------*/
.RURecommend{background:#fceed3; padding-top:50px;}
.RURecommend div{margin: auto;}


/* youtube
-------------------------------------------------------------*/
.youtubeZone{
margin-top:70px;
padding:70px 0;
background: -webkit-linear-gradient(65deg, rgba(0,0,0,0.5), rgba(0,0,0,0.7)),url('../images/_UGD/acero.jpg');
background-repeat: no-repeat;
background-attachment: fixed;
background-size:cover;
}

.youtube {
	margin:auto;
  width: 800px;
  aspect-ratio: 16 / 9;
}
@media screen and (max-width: 960px){
	.youtube {width:100%;}
}

.youtube iframe {
  width: 100%;
  height: 100%;
}


/* 自由HTML
-------------------------------------------------------------*/
.RUDetail div {margin:50px 0px; padding:15px;}

.RUDetail img{width:40%;}
@media screen and (max-width: 960px){.RUDetail img{width:100%;}}



.RUDetail div h3{padding-bottom:30px;font-weight:bold; font-size:1.3em;}
@media screen and (max-width: 960px){.RUDetail div h3{padding-bottom:10px;}}

.RUDetail div p{text-align: justify;
text-justify: inter-ideograph;
word-break: break-all;
}


.RUDetail div{zoom: 1;}
.RUDetail div:after{content: ""; display: block; clear: both;}

.RUDetail div:nth-child(even) img{float:left;padding-right:30px;}
.RUDetail div:nth-child(odd) img{float:right;padding-left:30px;}
@media screen and (max-width: 960px){
	.RUDetail div:nth-child(even) img,.RUDetail div:nth-child(odd) img{float:none;padding:0px;}
}



.RUItemDetailHTML{margin-top:100px;}
@media screen and (max-width: 960px){
	.RUItemDetailHTML{
		margin-top:50px;
		padding-top:40px;
	}
}

.RUItemDetailTitle{
	font-size:22px;
	font-weight:600;
	color:#99824d;
	margin-bottom:50px;
	text-align:center;
}
@media screen and (max-width: 960px){
	.RUItemDetailTitle{
		font-size:18px;
		text-align:justify;
		padding:0 15px;
	}
}


.RUItemDetailHTML section{margin-bottom:50px;position:relative;z-index:1;padding: 0 15px;}
@media screen and (max-width: 960px){
	.RUItemDetailHTML section{margin-bottom:50px;}
}


.RUItemDetailHTML section:after{content: ""; display: block; clear: both;}

.RUItemDetailHTML section img{
	float:right;
	width:48.5%;
}
.RUItemDetailHTML section:nth-child(even) img{
	float:left;
}

.RUItemDetailHTML .RUButton{
	margin-top:20px;
	margin-left:0;
	width:auto;
	max-width:315px;
}
@media screen and (max-width: 960px){
	.RUItemDetailHTML .RUButton{
		margin-left:auto;
	}
}

@media screen and (max-width: 960px){
	.RUItemDetailHTML section img,.RUItemDetailHTML section:nth-child(even) img{
		float:none;
		width:100%;
		display:block;
		margin-bottom:20px;
	}
}


.RUItemDetailHTML section p{
	width:51.5%;
	display: inline-block;
	font-size:16px;
	line-height:32px;
	padding:0 60px 0 0;
}
.RUItemDetailHTML section:nth-child(even) p{
	padding:0 0 0 60px;
}

@media screen and (max-width: 960px){
	.RUItemDetailHTML section p,.RUItemDetailHTML section:nth-child(even) p{
		width:100%;
		display:block;
		padding:0;
	}
	.RUItemDetailHTML section p.copySPup,.RUItemDetailHTML section:nth-child(even) p.copySPup{
		margin-top: -20px;
	    margin-bottom: 30px;
   	}
}


.RUItemDetailHTML section p.RUMidashi{
	font-size:22px;
	font-weight:600;
	line-height:40px;
	padding-bottom:20px;
}
@media screen and (max-width: 960px){
	.RUItemDetailHTML section p.RUMidashi{
		font-size:18px;
		font-weight:600;
		line-height:25px;
		margin:0 auto 0px;
		text-align:center;
		padding-bottom:10px;
	}
}

.RUItemDetailHTML section p.RUMidashi .sub{
	font-size:18px;
	display:block;
}
@media screen and (max-width: 960px){
	.RUItemDetailHTML section p.RUMidashi .sub{
		font-size:16px;
	}
}

@media screen and (max-width: 960px){
	.RUItemDetailSpec{
		padding:0 10px;
	}
}

.RUItemDetailSpec li{
	display:inline-block;
	letter-spacing: -1em;
	width:50%;
	vertical-align:top;
}
@media screen and (max-width: 960px){
	.RUItemDetailSpec li{
		display:block;
		width:100%;
	}
}
.RUItemDetailSpec li div{
	border:1px solid #ddd;
	padding:15px;
	font-size:16px;
}
@media screen and (max-width: 960px){
	.RUItemDetailSpec li div{
		padding:10px;
	}
}

@media screen and (min-width: 961px){
	.RUItemDetailSpec li:nth-of-type(2) div{
		border-left:none;
	}
}
@media screen and (max-width: 960px){
	.RUItemDetailSpec li:nth-of-type(2) div{
		border-top:none;
	}
}

.RUItemDetailSpec li .RUItemDetailSpecTitle{
	background:#f2f2f2;
	text-align:center;
}
.RUItemDetailSpec li .RUItemDetailSpecMemo{
	border-top:none;
	font-size:16px;
	line-height:26px;
	text-align: justify;
}


.RUItemDetailSpec dl{letter-spacing: -1em;font-size:14px;}
.RUItemDetailSpec dt,.RUItemDetailSpec dd{display:inline-block; vertical-align:top; margin-bottom:8px;text-align: justify;text-justify: inter-ideograph;line-height:20px;}
.RUItemDetailSpec dt{width:20%; margin-right:5%;}
.RUItemDetailSpec dd{width:75%;}
@media screen and (max-width: 960px){
	.RUItemDetailSpec dt,.RUItemDetailSpec dd{display:block;width:100%;padding:0px; margin-bottom:0px;margin-right:0;}
	.RUItemDetailSpec dt{font-weight:600;}
	.RUItemDetailSpec dt:nth-child(n + 2){margin-top:10px;}
}


/* =================================================================
6.TOPページ
=================================================================*/



/* =================================================================
9.ご利用ガイド等
=================================================================*/
.ukaiGuideOuter{
	padding-top:0px;
}
.ukaiGuideOuter .RUCATTitle {margin-bottom:0;margin-top:0;}
.ukaiGuide section:nth-of-type(even),.contactus section:nth-of-type(even){
	background:rgba(240, 240, 240,0.5);
}
.ukaiGuideMutual{
	margin-bottom:30px;
}

.ukaiGuide dt{color:#333;}

.ukaiGuide dt:before {border-color:#333;}

/* =================================================================
9.ご利用ガイド等
=================================================================*/



/* =================================================================
10.熨斗ページ
=================================================================*/
.RUGIFTOPTION > div{letter-spacing: -1em;}

.RUGIFTOPTION li{display:inline-block; width:33%; vertical-align:top;margin-left:0!important; padding:0 20px;margin-bottom:20px;}
@media screen and (max-width: 960px){
	ul.RUGIFTOPTION{
		overflow:auto;
		white-space: nowrap;
	}
	.RUGIFTOPTION li{width:70%;padding:0 15px;margin-bottom:20px;white-space: normal;}
}

.RUGIFTOPTION li img{width:100%;border:1px solid #000;}

.RUGIFTOPTION li div{font-weight:bold; color:#000;}

.RUGIFTOPTION li span{font-size:14px;}

.ukaiGuide .RUNOSHIOPTION{letter-spacing: -1em;}
.ukaiGuide .RUNOSHIOPTION li{width:50%; display:inline-block;letter-spacing: 0em;margin-left:0;padding:5px;}
.ukaiGuide .RUNOSHIOPTION li img{width:49%;}
@media screen and (max-width: 960px){
	.ukaiGuide .RUNOSHIOPTION li img{width:100%;}
}


/* =================================================================
10.熨斗ページ
=================================================================*/



/* ==============================================================
   Brand section（既存踏襲＋slick対応＋SP全幅）
============================================================== */
.ukaiBrand { padding: 100px 20px; }

.ukaiBrand__container {
  margin: auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
  align-items: start;
}
@media (max-width: 960px) {
  .ukaiBrand__container {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .ukaiBrand__container > .ukaiBrandCarouselWrap { order: -1; }
  .ukaiBrand { padding-right: 0;padding-bottom:0; }
  .ukaiBrandCarouselWrap { margin: 0 0 0 auto; }
}

.ukaiBrand__lead { width: 80%; }
@media (max-width: 960px) { .ukaiBrand__lead { width: 70%; } }

.ukaiBrand__sub { font-size: 28px; margin: 16px 0 8px; }

.ukaiBrand__rule {
  width: 120px;
  height: 1px;
  background: #000;
  margin: 12px auto 12px 0;
}
.ukaiBrand__rule.-center { margin: 12px auto 12px; }

.ukaiBrand__txt { margin-top: 30px; }
@media (max-width: 960px) { .ukaiBrand__txt { padding: 0 16px 0 0; } }

.ukaiBrand__p { margin: 0; }

.ukaiBrand__cta {
  display: inline-block;
  margin-top: 40px;
  background: #99824d;
  color: #fff !important;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 600;
  width: 100%;
  max-width: 300px;
  text-align: center;
}
@media (max-width: 960px) {
  .ukaiBrand__cta {
    margin: 30px auto 0;
    display: block;
    text-align: center;
  }
}
.ukaiBrand__cta:focus-visible { outline: 3px solid #000; outline-offset: 2px; }
.ukaiBrand__cta:hover { opacity: 0.7; }

/* ==============================================================
   Carousel Wrapper
============================================================== */
.ukaiBrandCarouselWrap {
  position: relative;
  padding-bottom: 28px;
}
@media (max-width: 960px) {
  .ukaiBrandCarouselWrap { margin-bottom: 30px; }
}

/* ==============================================================
   Carousel Box（slick対応）
============================================================== */
.ukaiBrandCarousel {
  position: relative;
  border-radius: 7vw 0 0 7vw;
  border-radius: 7dvw 0 0 7dvw;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #000;
  margin-top: 100px;
  width: 100%;
  max-width: 540px;
}
@media (max-width: 960px) {
  .ukaiBrandCarousel {
    height:90vw;
    height:90dvw;                   /* 画面幅に合わせる */
    margin: 0;
    aspect-ratio: 1 / 1;
    max-width:95vw;
  }
}

/* ==============================================================
   slick内部構造
============================================================== */
.ukaiBrandCarousel__track { height: 100%; }

.ukaiBrandCarousel__track .slick-list {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ukaiBrandCarousel__track .slick-track {
  display: flex;
  height: 100%;
}

.ukaiBrandCarousel__track .slick-slide {
  height: 100%;
}

.ukaiBrandCarousel__track .slick-slide > div {
  height: 100%;
}

/* スライド */
.ukaiBrandCarousel__slide {
  height: 100%;
  position: relative;
  margin: 0;
}

/* 画像を完全に枠内カバー */
.ukaiBrandCarousel__slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

/* ==============================================================
   横棒インジケータ
============================================================== */
.ukaiBrandCarousel__dots {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  display: flex;
  width: 40%;
  z-index: 2;
}
@media (max-width: 960px) {
  .ukaiBrandCarousel__dots {
    left: 50vw;                      /* SP時は画面中央基準 */
    transform: translateX(-50%);
    width: 60%;
  }
}

.ukaiBrandCarousel__dots .slick-dots {
  display: flex;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ukaiBrandCarousel__dots .slick-dots li {
  flex: 1 1 0;
  height: 8px;
  background: #e7dfc7;
  padding: 0;
  margin: 0;
  border: 0;
  cursor: pointer;
}

.ukaiBrandCarousel__dots .slick-dots li.slick-active {
  background: #966f27;
}

.ukaiBrandCarousel__dots .slick-dots li button {
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
}

/* 矢印非表示 */
.ukaiBrandCarousel__track .slick-arrow { display: none !important; }


/* =================================================================
11.とうふバージョン購入ページフォーマット
=================================================================*/
.tn_FontWa{font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

.tofuyaItemDetailSpec {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin: 20px auto;
  padding: 20px 5px;
}
.tofuyaItemDetailSpec dl {}
.tofuyaItemDetailSpec dt, .tofuyaItemDetailSpec dd {
  display: block;
  text-align: justify;
  text-justify: inter-ideograph;
}
.tofuyaItemDetailSpec dt {
  font-weight: bold;
}
.tofuyaItemDetailSpec dt:nth-child(n + 2) {
  border-top: 1px dashed #888;
  margin-top: 15px;
  padding-top: 15px;
}

/* 自由HTML
-------------------------------------------------------------*/
.tn_ItemLead {
  text-align: center;
  margin: auto;
  font-size: 24px;
  font-weight: bold;
  color: #5a2e00;
  margin-top: 50px;
}
@media screen and (max-width: 960px) {
  .tn_ItemLead {
    font-size: 20px;
  }
}
.tn_ItemMainImage {
  max-width: 800px;
  margin: 30px auto 0px;
}
@media screen and (max-width: 960px) {
  .tn_ItemMainImage {
    margin: 20px auto;
  }
}
.tn_ItemMainImage img {
  width: 100%;
}
.tn_ItemMainImage p {
  text-align: left;
  margin-top: 20px;
  font-size: 16px;
  padding: 0 15px;
}
.tn_hr {
  border-bottom: 1px solid #231815;
  height: 50px;
  margin-bottom: 50px;
}
.tn_ItemDetailRight h4 {
  color: #BB4B45;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailRight h4 {
    font-size: 16px;
    text-align: center;
  }
}
.tn_ItemDetailRight h3 {
  color: #5a2e00;
  font-size: 26px;
  font-weight: bold;
  margin: 10px 0px 20px 0px;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailRight h3 {
    font-size: 20px;
    margin: 0px 0px 10px 0px;
    text-align: center;
  }
}
.tn_ItemDetailRight p {
  color: #231815;
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailRight p {
    margin-top: 10px;
    font-size: 14px;
  }
}
.tn_ItemDetailLeft {
  float: left;
  width: 47%;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailLeft {
    float: none;
    width: 100%;
  }
}
.tn_ItemDetailLeft > img {
  width: 100%;
  box-shadow: 10px 10px #eeefef;
  -moz-box-shadow: 10px 10px #eeefef;
  -webkit-box-shadow: 10px 10px #eeefef;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailLeft > img {
    display: none;
  }
}
.tn_ItemDetailRight {
  float: right;
  width: 47%;
  text-align: left;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailRight {
    float: none;
    width: 100%;
  }
}
.tn_ItemDetailRight > img {
  display: none;
}
@media screen and (max-width: 960px) {
  .tn_ItemDetailRight > img {
    display: block;
    margin: auto;
    width: 100%;
    box-shadow: 5px 5px #eeefef;
    -moz-box-shadow: 5px 5px #eeefef;
    -webkit-box-shadow: 5px 5px #eeefef;
  }
}
.tn_ItemAttention {
  background-color: #fefafa;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 10px;
  text-align: center;
  border-bottom: 5px solid #bb4b45;
}
/* 自由HTML
-------------------------------------------------------------*/
/* =================================================================
13.商品詳細ページ（豆乳アイススタイル）
=================================================================*/
	.tofuya_newContentsTitle{
		position:absolute;
		top:0px;
		left:0;
		width:170px;
	}
	.tofuya_newContentsTitle h3{
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-weight:bold;
		font-size:34px;
		margin:auto;
		color:#5a4a42;
	}
 	.tofuya_newContentsBG_pc{
		position:absolute;
		background:#f7f6f0;
		width:430px;
		height:calc(100% + 100px);
		z-index:-1;
		top:-50px;
		left:0;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContentsBG_pc{
			display:none;
		}
	}
	
	
	.tofuya_newContents{position:relative;margin:100px 0 200px 0;}
	@media screen and (max-width: 960px){
		.tofuya_newContents{position:relative;margin:0px 0 100px 0;}
	}
	
	.tofuya_newContents ul{
		width:90%;
		margin:0 auto 50px auto;
		padding-top:0px;
	}
	.tofuya_newContents ul:nth-child(n+2){
		margin-top:100px;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContents ul{
			width:100%;
		}
	}
	.tofuya_newContents ul li{
		width:48%;
		text-align:justify;
		color:#333;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContents ul li{
			width:100%;
		}
	}
	
	
	.tofuya_newContents ul li h4{
		font-size:18px;
		padding-bottom:25px;
		border-bottom:1px solid #000;
		margin-bottom:25px;
	    color: #BB4B45;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContents ul li h4{
			font-size:18px;
		}
	}
	.tofuya_newContents ul li h4 > div{
		font-size:26px;
		font-weight:bold;
	    color: #333;
		margin-top:10px;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContents ul li h4 > div{
			font-size:24px;
		}
	}
	
	.tofuya_newContents ul li:nth-of-type(1){
		margin-top:-30px;
	}
	@media screen and (max-width: 960px){
		.tofuya_newContents ul li:nth-of-type(1){
			margin-top:0px;
		}
	}
	
	.tofuya_newContents ul li > .spIMG > img:nth-of-type(1),
	.tofuya_newContents ul li > .spIMG > img:nth-of-type(2){
		width:49.5%;
		margin:1% 0 0;
	}
	.tofuya_newContents ul li:nth-of-type(1) > .pcIMG > img:nth-of-type(1),
	.tofuya_newContents ul li:nth-of-type(1) > .pcIMG > img:nth-of-type(2){
		width:60%;
		margin:2% 0 0;
	}
	.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(1) > .pcIMG > img:nth-of-type(1){
		float:right;
	}
	.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(1) > .pcIMG > img:nth-of-type(2){
		float:left;
	}
	.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(1) > .pcIMG > img:nth-of-type(1){
		float:left;
	}
	.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(1) > .pcIMG > img:nth-of-type(2){
		float:right;
	}
	
	
	
	.tofuya_newContents ul li > .spIMG > img:nth-of-type(1){
		margin-right:1%;
	}

	@media screen and (min-width: 960px){
		.spIMG{
			display:none;
		}
	}
	@media screen and (max-width: 960px){
		.pcIMG{
			display:none;
		}
		.tofuya_newContents ul li > .spIMG{
			margin:10px 0 20px;
		}
	}

	.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(1){
		float:right;
	}
	.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(2){
		float:left;
	}
	.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(1){
		float:left;
	}
	.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(2){
		float:right;
	}

	@media screen and (max-width: 960px){
		.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(1),
		.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(2),
		.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(1),
		.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(2){
			float:none;
			display:block;
		}
		
		.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(1){
			padding-left:20%;
		}
		.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(2){
			padding:15px 15px 0 10%;
			position:relative;
		}
		.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(1){
			padding-right:20%;
		}
		.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(2){
			padding:15px 10% 0 15px;
			position:relative;
		}
		
		.tofuya_newContentsBG_sp{
			position:absolute;
			height:calc(100% + 70px);
			width:calc(100vw * 0.95);
			z-index:-1;
			background:#f7f6f0;
			top:-50px;
		}
		
		.tofuya_newContents ul:nth-of-type(odd) li:nth-of-type(2) .tofuya_newContentsBG_sp{
			right:0;
		}
		
		.tofuya_newContents ul:nth-of-type(even) li:nth-of-type(2) .tofuya_newContentsBG_sp{
			left:0;
		}
	}
/* =================================================================
13.商品詳細ページ（豆乳アイススタイル）
=================================================================*/



/* ===============================
   RU_topcategory
=============================== */
.RU_topcategory{
	padding:0 16px;
}

.RU_topcategory__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 24px;
}

/* PC: 横3列 */
@media (min-width: 961px){
  .RU_topcategory__inner {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* カード本体 */
.RU_topcategory__card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: opacity .3s;
  box-shadow: 0px 0px 7px rgb(255, 255, 255, 0.5);
}
.RU_topcategory__card:hover { opacity: 0.8; }

/* 画像 */
.RU_topcategory__media {
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
}
.RU_topcategory__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* テキスト */
.RU_topcategory__body {
  padding: 20px;
}
.RU_topcategory__title {
  font-size: 20px;
  margin: 0 0 10px;
  font-weight:bold;
}
@media (max-width: 960px){
	.RU_topcategory__title {
	  font-size: 16px;
	  letter-spacing: -0.05em;
	}
}
.RU_topcategory__text {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}
@media (max-width: 960px){
	.RU_topcategory__text {
	  font-size: 13px;
	}
}

/* SP: 画像左、テキスト右 */
/* 追加・上書き */
@media (max-width: 960px){
  .RU_topcategory__card{
    display: grid;
    grid-template-columns: 42% 1fr; /* 左画像/右テキスト */
    align-items: stretch;           /* 高さをそろえる */
    padding: 0;
    min-height: 140px;              /* 任意。必要なければ削除 */
  }
  .RU_topcategory__media{
    margin: 0;
    overflow: hidden;
    height: 100%;                   /* 右側の高さに追従 */
    aspect-ratio: auto;             /* PC指定を打ち消す */
  }
  .RU_topcategory__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;              /* 左領域を全面カバー */
    object-position: center;
    display: block;
  }
  .RU_topcategory__body{ padding: 16px; }
}
