

@charset "utf-8";
/*===========================
add
===========================*/





/*===========================
box01
===========================*/
.box01{
  background-color: var(--basic-color) !important;
  padding: 25px;
  color: #fff !important;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.box01 h2{
  margin-bottom: 1.5em;
}

.box01 h2:after {
	background-color: #fff;
}

.box01 .txtBnr a{
  background-color: #fff;
  color: var(--basic-color);
}





/*===========================
a
===========================*/
a:hover img{
	cursor:pointer;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; 
    -moz-opacity:0.7; 
    -khtml-opacity: 0.7; 
    opacity:0.7;
    zoom:1;
	
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}



/*===========================
font
===========================*/
.fw-b{font-weight: bold;}



/*===========================
width
===========================*/
.w150px{
 width: 150px;
}

.w150px-center{
 width: 150px;
 margin: 0 auto;
}

.w200px{
 width: 200px;
}


.w100p,
li.w100p{
	width: 100% !important;
	display: block;
}


@media screen and (max-width: 768px) {
	.w100Tablet{
		width: 100% !important;
		box-sizing: border-box;
	}
	
	.w90Tablet{
		width: 90% !important;
		box-sizing: border-box;
	}

	.w80Tablet{
		width: 80% !important;
		box-sizing: border-box;
	}

  .w70Tablet{
		width: 70% !important;
		box-sizing: border-box;
	}

  .w70Tabletsp{
		width: 70% !important;
		box-sizing: border-box;
	}

	.w50Tablet{
		width: 50% !important;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 600px) {
	.w100sp,
	.w90Tablet,
	.w80Tablet,
  .w70Tablet,
	.w50Tablet{
		width: 100% !important;
		box-sizing: border-box;
	}

 .w90sp{
		width: 90% !important;
		box-sizing: border-box;
	}

	.w70sp{
		width: 70% !important;
		box-sizing: border-box;
	}

	.width-sp-50 img{
		width: 50% !important;
	}
}



/*===========================
onOff
===========================*/
.pcOFFtabletONspOFF{display: none !important;}
.pcOFFtabletOFFspON{display: none;}

@media screen and (min-width: 769px) {
	.pcOFFtabletONspON{display: none !important;}
}

@media screen and (max-width: 768px) {
	.pcOFFtabletONspOFF{display: block !important;}
	.pcOFFtabletOFFspON{display: none;}
	.pcONtabletOFFspOFF{display: none !important;}
}

@media screen and (max-width: 600px) {
	.pcOFFtabletONspOFF{display: none !important;}
	.pcOFFtabletOFFspON{display: block;}
	.pcONtabletONspOFF{display: none;}
}



/* 商品カード全体のスタイル */
.custom-item-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    /*background: #fff;*/
}

.custom-item-card .itemimg {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
}

.custom-item-card .itemimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.custom-item-card .itemimg img:hover {
    transform: scale(1.05);
}

/* 情報エリア全体の枠組み */
.item-info-container {
    display: flex;
    flex-direction: column; /* 上下に並べる */
    padding: 10px 5px;
}

/* 価格エリア（上側） */
.item-price-box {
    text-align: right; /* 右寄せ */
    margin-bottom: 5px; /* 名前との隙間 */
}

/* ¥5,000 (税別) */
.price-row {
    line-height: 1.2;
}

.main-price {
    font-size: 18px;
    font-weight: bold;
    color: #c00;
}

.tax-label {
    font-size: 11px;
    color: #c00;
}

/* (税込¥5,500) */
.tax-included-row {
    font-size: 11px;
    color: #888;
    margin-top: 2px;
}

/* 名前エリア（下側） */
.item-name-box {
    text-align: left; /* 左寄せ */
}

.item-name-box a {
    font-size: 15px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
    line-height: 1.4;
}

/* 在庫切れバッジ */
.itemsoldout-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 4px 8px;
    font-size: 10px;
    z-index: 2;
}

/* 親のflexの影響をリセットして縦に積む */
.custom-item-card {
    display: block !important; /* 横並びを解除 */
    float: none !important;
    margin-bottom: 40px !important;
    text-align: left;
}

/* 画像エリア */
.custom-item-card .itemimg {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

.custom-item-card .itemimg img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
}

/* 情報エリア：ここを縦並びに固定 */
.item-info-container {
    display: block !important; /* flexを使わず、単純なブロックとして扱う */
    width: 100%;
    padding: 0 !important;
}

/* 価格エリア（上） */
.item-price-box {
    display: block !important;
    text-align: right !important; /* 右寄せ */
    width: 100% !important;
    margin-bottom: 5px !important;
}

.price-row {
    display: block;
    line-height: 1.2;
}

.main-price {
    font-size: 18px !important;
    font-weight: bold;
    color: #c00;
}

.tax-label {
    font-size: 11px;
    color: #c00;
}

/* 税込価格（中） */
.tax-included-row {
    display: block;
    font-size: 11px;
    color: #888;
    margin-top: 0;
}

/* 商品名（下） */
.item-name-box {
    display: block !important;
    text-align: left !important; /* 左寄せ */
    width: 100% !important;
    margin-top: 5px !important;
    
    
}

.item-name-box a {
    font-size: 14px !important;
    font-weight: bold;
    color: #333;
    text-decoration: none;
    display: block;
}