@charset 'UTF-8';

/*===========================================
prodctInfo
===========================================*/
.prodctInfo{
margin-top: 3%;
}
.prodctInfo .mod_img{
overflow: hidden;
}
.prodctInfo .slide{
width: 100%;
max-width: 380px;
margin: auto;
overflow: hidden;
}
.prodctInfo .sliderImg{
border: 1px solid #ccc;
}
.prodctInfo .sliderImg .img{
position: relative;
width: 100%;
background: #fff;
}
.prodctInfo .sliderImg .img figure {
position: relative;
width: 100%;
height: 0;
padding-top: 100%;
}
.prodctInfo .sliderImg .img figure img{
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
width: auto;
height: auto;
margin: auto;
max-width: 95%;
}
.prodctInfo .sliderThumb{
overflow: hidden;
}
.prodctInfo .sliderThumb_inner{
width: calc(100% + 10px);
margin-left: -5px;
display: flex;
justify-content: center;
margin-top: 1em;
}
.prodctInfo .sliderThumb_inner > *{
flex-basis: calc((100% - 40px) / 5);
margin: 0 5px;
}
.prodctInfo .sliderThumb a{
display: block;
position: relative;
}
.prodctInfo .sliderThumb a:after{
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: auto;
right: auto;
margin: auto;
border: 1px solid #ccc;
}
.prodctInfo .sliderThumb .active a:after{
border-width: 2px;
border-color: #e30934;
}
.prodctInfo .data * + .txt{
margin-top: 0.5em;
}
.prodctInfo .data .note{
margin-top: 0.5em;
}
.prodctInfo .data .btn{
max-width: 300px;
margin-top: 2em;
}
.prodctInfo .data .btn + .btn{
margin-top: 1em;
}
.prodctInfo .data .ttl{
margin-top: 3em;
}
.prodctInfo .movie{
margin-top: 1em;
}
.prodctInfo .movie .mod_flex > * {
flex-basis: calc((100% - 41px) / 3);
margin-right: 20px;
}
.prodctInfo .movie .mod_flex > *:nth-of-type(3n) {
margin-right: 0;
}
.prodctInfo .movie a{
display: block;
}
.prodctInfo .movie figure{
display: block;
position: relative;
}
.prodctInfo .movie figure:before{
content: '';
display: block;
position: absolute;
width: 31.76%;
height: 0;
padding-top: 31.76%;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
background: url(/shared/image/icon_play.svg) center no-repeat;
background-size: contain;
opacity: 0.8;
z-index: 1;
}
.prodctInfo .movie figure:after{
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.2);
}

@media screen and (max-width:767px){
.prodctInfo {
margin-top: 7.5%;
}
.prodctInfo .data{
margin-top: 2em;
}
.prodctInfo .data .btn{
margin-left: auto;
margin-right: auto;
}
.prodctInfo .movie .mod_flex > * {
flex-basis: calc((100% - 21px) / 2);
margin-right: 20px;
}
.prodctInfo .movie .mod_flex > *:nth-of-type(2n + 1){
margin-right: 20px;
}
.prodctInfo .movie .mod_flex > *:nth-of-type(2n) {
margin-right: 0;
}
}

/*===========================================
productDetail
===========================================*/
.productDetail .table{
margin-top: 2em;
}
.productDetail .table > table{
table-layout: fixed;
}
.productDetail .table th{
width: 11em;
font-size: 1.6rem;
text-align: center;
vertical-align: middle;
font-weight: bold;
}
.productDetail .table th span{
display: block;
}
.productDetail .table img{
max-width: 100%;
width: auto;
}
.productDetail .table .flex_set{
display: flex;
flex-wrap: wrap;
margin-top: -5px;
}
.productDetail .table .flex_set > *{
margin-top: 5px;
margin-right: 1em;
}
.productDetail .note{
margin-top: 1em;
}
.productDetail .note li + li{
margin-top: 0.5em;
}
.productDetail .link{
margin-top: 1em;
}
.productDetail .link li{
font-weight: bold;
}
.productDetail .link li + li{
margin-top: 0.5em;
}
.productDetail .data{
padding: 0;
}
.productDetail .data table{
width: 100%;
border: none;
}
.productDetail .data td{
border-top: none;
border-left: none;
padding: 1em 0.5em;
text-align: center;
}
.productDetail .data td:last-child{
border-right: none;
}
.productDetail .data tr:last-child td{
border-bottom: none;
}
.productDetail .data .active{
background: #fdf1f2;
}
.productDetail .data td.vertical span{
writing-mode: vertical-lr;
-ms-writing-mode: tb-lr;
letter-spacing: 0.5em;
text-align: center;
vertical-align: middle;
white-space: nowrap;
margin: auto;
}
.productDetail .allergy .data td{
padding: 1em 0;
text-align: center;
}
.productDetail .allergy .data tr:last-child td{
padding: 0.75em 0;
}
.productDetail .ingredient .data td{
padding: 0.75em 0.5em;
text-align: left;
}
.productDetail .ingredient .data td:first-child{
border-right: none;
padding-right: 1em;
}
.productDetail .ingredient .data td:last-child{
width: 1%;
white-space: nowrap;
}

@media screen and (max-width:767px){
.productDetail .table th{
width: auto;
text-align: left;
}
.productDetail .table th .flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.productDetail .data table{
display: table;
}
.productDetail .data tbody{
display: table-row-group;
}
.productDetail .data tr{
display: table-row;
}
.productDetail .data th,
.productDetail .data td{
display: table-cell;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.productDetail .link {
margin-top: 2em;
}
}

/*===========================================
relatedProducts
===========================================*/
.relatedProducts{
overflow: hidden;
}
.relatedProducts a{
display: block;
}
.relatedProducts .slide{
margin-top: 2em;
}
.relatedProducts .slide .mod_slide{
padding-bottom: 50px;
}
.relatedProducts .list .mod_img{
position: relative;
width: 100%;
height: 0;
padding-top: 100%;
background: #fff;
}
.relatedProducts .list .mod_img:after{
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
border: 1px solid #ddd;
}
.relatedProducts .list .mod_img figure{
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: 0;
bottom: 0;
right: 0;
left: 0;
width: 88%;
height: 88%;
margin: auto;
}

/*===========================================
追加 210715
===========================================*/
.productDetail .mt10 { margin-top:10px; }
.productDetail .mt15 { margin-top:15px; }
.productDetail .mt20 { margin-top:20px; }
.productDetail .mb10 { margin-bottom:10px; }
.productDetail .mb15 { margin-bottom:15px; }
.productDetail .mb20 { margin-bottom:20px; }
.productDetail .ml10 { margin-left:10px; }
.productDetail .ml15 { margin-left:15px; }
.productDetail .ml20 { margin-left:20px; }
.productDetail .mr10 { margin-right:10px; }
.productDetail .mr15 { margin-right:15px; }
.productDetail .mr20 { margin-right:20px; }
.productDetail .pt10 { padding-top:15px; }
.productDetail .pt15 { padding-top:15px; }
.productDetail .pt20 { padding-top:20px; }
.productDetail .pb10 { padding-bottom:10px; }
.productDetail .pb15 { padding-bottom:15px; }
.productDetail .pb20 { padding-bottom:20px; }
.productDetail .pl10 { padding-left:10px; }
.productDetail .pl15 { padding-left:15px; }
.productDetail .pl20 { padding-left:20px; }
.productDetail .pr10 { padding-right:10px; }
.productDetail .pr15 { padding-right:15px; }
.productDetail .pr20 { padding-right:20px; }

/* float */
.productDetail .floN { float:none; }
.productDetail .floC { clear:both; }
.productDetail .floR { float:right; }
.productDetail .floL { float:left; }

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
.clearfix{display:inline-table;min-height:1%;}
/* \*/
html .clearfix{* height:1%;}
.clearfix{display:block;}
/* */

.iconPdf,
.iconTriRed,
.iconTriBeige {
	position: relative;
	padding-left: 20px;
	color: #333;
}
.iconPdf:before {
	transform: rotate(45deg);
	content: "";
	display: block;
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #e30934;
	border-right: 2px solid #e30934;
}
.iconPdf:after {
	content: '';
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	top: -0.1em;
	margin-left: 0.5em;
	margin-right: 0.25em;
	vertical-align: middle;
	background: url(/shared/image/icon_pdf.svg) center no-repeat;
	background-size: contain;
}
.iconTriRed:before,
.iconTriBeige:before {
	transform: rotate(45deg);
	content: "";
	display: block;
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #e30934;
	border-right: 2px solid #e30934;
}

.iconBrankCompany,
.iconBrankProduct {
position: relative;
}
.iconBrankCompany:after,
.iconBrankProduct:after {
content: '';
display: inline-block;
position: relative;
width: 12px;
height: 12px;
top: -0.1em;
margin-left: 0.5em;
margin-right: 0.25em;
vertical-align: middle;
background: center no-repeat;
background-size: contain;
}
.iconBrankCompany:after,
.iconBrankProduct:after {
  background-image: url(/files/user/shared/image/icon_blank_bk.svg);
}

#fresh_meats .imgFloat {
	display: block;
}
#fresh_meats .imgFloat:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
}
#fresh_meats .imgFloat .thumbDesc {
	overflow: hidden;
	zoom: 1;
}

@media screen and (max-width:767px){
	#fresh_meats .floL,
	#fresh_meats .floR {
    float: none;
	}
	#fresh_meats .floL img,
	#fresh_meats .floR img {
    width: 100%;
		height: auto;
	}
	#fresh_meats .floL + .thumbDesc,
	#fresh_meats .floR + .thumbDesc {
		clear: both;
		overflow: hidden;
    margin-top: 0.5em;
	}
  #fresh_meats .floL.ml10,
	#fresh_meats .floL.ml15,
	#fresh_meats .floR.ml20,
	#fresh_meats .floR.mr10,
	#fresh_meats .floR.mr15,
	#fresh_meats .floR.mr20, {
    margin-left: 0;
    margin-right: 0;
	}
  #fresh_meats .table img {
    width: auto !important;
    height: auto !important;
  }
}
