/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "";
}

[dir="rtl"] .slick-prev:before {
  content: "";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "";
}

[dir="rtl"] .slick-next:before {
  content: "";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 35px;
}

.slick-dots {
  position: absolute;
  bottom: -30px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 10px;
  width: 10px;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 10px;
  width: 10px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  line-height: 10px;
  text-align: center;
  background: #108A65;
  border-radius: 50%;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: #108A65;
  opacity: 0.75;
}

/* ************************************************
*  product_detail_page
* ************************************************ */
form[name="product_form"] {
  margin-bottom: 60px;
}
#productDetail{
display: -ms-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;

}
.product_images{
max-width: 50%;
-webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
}
.product_detail_area{
max-width: calc(50% - 40px);
-webkit-box-flex: 0;
    -ms-flex: 0 0 calc(50% - 40px);
        flex: 0 0 calc(50% - 40px);
}
#itemName {
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  margin-bottom: 20px;
}

#option_area1 {
  margin-bottom:15px;
  }

#option_area1 h3,
#option_area2 h3{
  margin-bottom:5px;
  font-size:18px;
}
#option_area2 {
  padding:10px;
  }
.op1{
  margin-bottom:10px;
  }
.op2{
  margin-bottom:10px;
  }
.op2_ttl {
  font-weight:bold;
  color:#666666;
  margin-bottom:5px;
  }
.stock_comment {
  font-size:12px;
  color:#dd0000;
  }
#option_table {
  line-height:1;
  }
#option_table table{
  border-top:1px solid #999;
  border-right:1px solid#999;
  width:100%;
  }
#option_table table th {
  text-align:left;
  background:#eeeeee;
  border-left:1px solid #999;
  border-bottom:1px solid #999;
  font-size:14px;
  font-weight:normal;
  width:30%;
  padding:5px;
  }
#option_table table td {
  text-align:right;
  color:#dd0000;
  background:#ffffff;
  border-bottom:1px solid #999;
  font-size:14px;
  font-weight:bold;
  width:70%;
  padding:5px;
  line-height:1.2;
  }
div#box_together .zoom__title {
  margin-bottom: 30px;
}

.price{
font-size: 18px;
font-weight: bold;
}


h2.product_name {
margin-bottom: 0.8em;
font-size: 18px;
}
h3.zoom__title{
font-size:14px;
font-weight:bold;
border-bottom:solid 1px #ddd;
}

.product_form{
margin: 0 0 62px;
}

.product_detail_area {
position: relative;
width: 100%;
}


.product_images div img {
max-width: 100%;
max-height: 100%;
width: auto;
height:auto;
border: 1px solid #ddd;margin:auto;
  box-sizing:border-box;
}
.product_images div p.detail {
margin-top: 10px;
line-height: 20px;
}

.add_cart {
clear: right;
float: right;
overflow: hidden;
width: 42%;
}

table.add_cart_table {
margin-bottom: 10px;
width: 100%;
/* border-left: solid 1px #ccc; */
table-layout:fixed;

}
table.add_cart_table th {
overflow: hidden;
padding: 5px 0 ;
width: 28%;
text-align: left;
font-size: 12px;
vertical-align: middle;
}
table.add_cart_table td {
/*  overflow: hidden;*/
padding: 5px 0;
width: 55%;
text-align: left;
vertical-align: middle;
}

#productNumWrap{
width: 30px;
}

/* オプション */
table.add_cart_table td input {
padding: 5px 8px !important;
border-radius: 5px;
border: 1px solid #dfdfdf;
font-size: 12px;
line-height: 1 !important;
height: auto !important;
width: 30px;
}
.optionSelect{
margin-bottom: 10px;
}
.optionSelect span{
display: inline-block;
margin-right: 5px;

}
.optionSelect select {
padding: 5px 8px !important;
border-radius: 5px;
border: 1px solid #dfdfdf;
}

.productNum__changeWrap{

}

.productNum__changeWrap {
width: 15px;
margin-left: 5px;
}
.productNum__changeWrap a {
display: block;
margin: 5px 0;
}

table#option_tbl {
margin-bottom: 20px;
width: 100%;
}
table#option_tbl th,
table#option_tbl td.none {
background: whiteSmoke;
}
table#option_tbl th,
table#option_tbl td {
padding: 10px;
border: 1px solid #ccc;
text-align: center;
}
table#option_tbl th {
background: whiteSmoke;
}
table#option_tbl td div input {
margin-bottom: 5px;
}

ul.option_price {
margin: 0 0 20px 0;
}
ul.option_price li {
list-style-type: none;
}

.option_box{
clear: both;
width: 100%;
overflow: hidden;
}

table td.pur_block{
margin: 0 5px 0 0;
width: auto;
white-space: normal;
}

.button_area input {
width: 100%;
}

.product_description {
clear: both;
margin-bottom: 20px;
padding-top:20px;
word-wrap: break-word;
font-size: 12px;
line-height: 22px;
}

.product_image_extra {
margin-bottom: 20px;
text-align: center;
}
.product_image_extra img.item {
margin-bottom: 20px;
}

.product_link_area {
margin: 20px 0 0;
padding: 20px 0 0;
border-top: #ccc solid 1px;
}
.product_link_area div.twitter {
float: left;
width: 80px;
}
.product_link_area div.pinterest {
float: left;
margin-right: 30px;
}
.product_link_area div.fb-like {
float: left;
width: 100px;
}
.product_link_area ul.other_link {
clear: both;
padding-top:20px;
}
.product_link_area ul.other_link li {
margin-bottom: 5px;
list-style: none;
vertical-align: middle;
line-height: 24px;
}
.product_link_area ul.other_link li i{
vertical-align: middle;
}

.share{
margin: 15px 0 0;
list-style: none;
}
.share li{
display: inline-block;
float: left;
margin: 0 10px 10px 0;
max-width: 125px;
}
.calamel-link{
margin-top: 10px;
}

#tb_cap_tb{
margin-top: 20px;
}

.tb {
padding-top: 10px;
padding-bottom: 10px;
border-top: 1px solid #CCC;
}
#tb_stitle {
margin-bottom: 20px;
}

.tb_date, .tb_title, .tb_body, .tb_state {
margin-bottom: 5px;
}

#detail__productImage .slick-dots{
display: -ms-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
margin-left: -7px;
margin-right: -7px;
position: relative;
bottom: auto;
margin-top: 12px;
}
#detail__productImage .slick-dots li{
max-width: 16.666%;
-ms-flex: 0 0 16.666%;
-webkit-box-flex: 0;
        flex: 0 0 16.666%;
padding-left: 7px;
padding-right: 7px;
margin-bottom: 14px;
width: auto;
height: auto;
margin: 0;
}
#detail__productImage .slick-dotted.slick-slider{
margin-bottom: 0;
}
#detail__productImage .slick-next:before, #detail__productImage .slick-prev:before{
content: none;
}
#detail__productImage .slick-next{
right: 15px;
}
#detail__productImage .slick-prev{
left: 15px;
}

#detail__productImage .slick-prev ,
#detail__productImage .slick-next {
  color: #fff;
  font-size: 24px;
  line-height: 1;
  z-index: 11;
}

.stockCell,.stockCell center{
text-align: left;
}

.product_detail_area .sold_out {
  text-align: center;
  background: #f2f2f2;
  font-size: 16px;
  border-radius: 5px;
  color: #1b1b1b !important;
  font-weight: bold;
  text-align: center;
  padding: 0 15px;
  line-height: 56px;
  height: 56px;
  text-decoration: none;
  margin: 0px 0 15px;
}

.product > section{margin-top:4.0em;}
.reviewlist_datas {
  overflow: hidden;
  zoom: 1;
  margin-bottom: 10px;
}
.icon_star {
  float: left;
  width: 75px;
  overflow: hidden;
}
.icon_star img {
  max-width: inherit;
}
.review_poster li {
  float: left;
  margin-left: 10px;
}
.review_poster li {
  list-style: none;
}
.reviewlist {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px dotted #ccc;
}
.review_ttl,
.shopcomment_ttl {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}
.review_img {
  float: right;
  margin: 0 0 10px 10px
}
.reviewlist_content {
  overflow: hidden;
  zoom: 1;
}
.shopcomment {
  margin-top: 10px;
  margin-bottom: 10px;
  background: #eee;
  padding: 15px;
  border-radius: 6px;
}
div#box_together {
    margin-top: 50px;
    margin-bottom: 50px;
}

.ranking {
    margin-top: 50px;
}

ul.itemList.itemList--4.kanren {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
ul.itemList.itemList--4.kanren li {
    width: 32%;
    flex: auto;
    max-width: 32%;
}


/*----------------------------
20210908_sale表記の追加
---------------------------*/
.cartPrice .price.sale {
	margin-right: 0.8em;
	color: #da5858;
}
.cartPrice__discount {
    display: inline-block;
    padding: 0 5px;
    border-radius: 5px;
    background: #da5858;
    color: #FFF;
}

/* =============================================================================
JS
============================================================================= */
/* slick */
.slick-slider[class] {
    position: relative;
}

.slick-arrow[class] {
    z-index: 1;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    width: 40px;
    height: 40px;
}

.slick-next[class] {
    right: -50px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.slick-next:before {
    content: "" !important;
}

.slick-prev[class] {
    left: -50px;
    -webkit-transform: translateY(-50%) rotate(-135deg);
    transform: translateY(-50%) rotate(-135deg);
}

.slick-prev[class]:before {
    content: "" !important;
}

ul.slick-dots[class] {
    bottom: -20px;
}

ul.slick-dots[class] li,
ul.slick-dots[class] li button,
ul.slick-dots[class] li button:before {
    width: 12px;
    height: 12px;
    padding: 0;
}

ul.slick-dots[class] li button:before {
    content: "";
    background-color: currentColor;
    border-radius: 200px;
}


.newsWrap {
    max-height: 120px;
    overflow: scroll;
    overflow-x: hidden;
    overflow-y: scroll;
}