/* ************************************************
*  product_detail_page
* ************************************************ */

#zoomer {
  text-align: center;
}

/* お気に入り */
button.detail__favBtn {
  font-size: 12px;
  border-radius: 5px;
  color: #000 !important;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border: 1px solid #000;
  padding: 0 15px;
  line-height: 40px;
  height: 40px;
  text-decoration: none;
  width: 100%;
display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: center;
cursor: pointer;
}
button.detail__contactBtn, a.detail__contactBtn{
font-size: 12px !important;
line-height: 40px !important;
height: 40px !important;
margin-bottom: 0 !important;
}
button.detail__favBtn.is-added {
color: #000 !important;
border: 1px solid #f2f2f2;
background: #f2f2f2;
}

button.detail__favBtn:after {
content:"お気に入りに追加する";
}
button.detail__favBtn.is-added:after {
content:"お気に入りを解除する";
}
form[name="product_form"] {
  margin-bottom: 60px;
}
@media screen and (max-width:767px){
form[name="product_form"] {
    margin-bottom: 40px;
}
}
#productDetail{
display: -ms-flex;
display: flex;
justify-content: space-between;

}
.product_images{
max-width: 50%;
flex: 0 0 50%;
}
.product_detail_area{
max-width: calc(50% - 40px);
flex: 0 0 calc(50% - 40px);
}
@media screen and (max-width:991px){
#productDetail{
  flex-wrap: wrap;
}
.product_images{
  max-width: 100%;
  flex: 0 0 100%;
  margin-bottom: 40px;
}
.product_detail_area{
  max-width: 100%;
  flex: 0 0 100%;
}
}
#itemName {
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
#itemName {
  font-size: 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-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;
}
.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: 15px 0 30px 0;
width: 100%;
/* border-left: solid 1px #ccc; */
table-layout:fixed;

}
table.add_cart_table th {
overflow: hidden;
padding: 15px 0;
width: 15%;
text-align: left;
line-height: 2;
font-size: 12px;
font-weight: normal;
vertical-align: middle;
}
table.add_cart_table td {
/*  overflow: hidden;*/
padding: 15px 0 15px 1em;
width: 75%;
text-align: left;
vertical-align: middle;
line-height: 2;
font-size: 14px;
}

table.add_cart_table td {
}
@media (max-width: 767px) {
table.add_cart_table td ,
table.add_cart_table th {
  font-size: 12px;
}
}

#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;
margin-bottom: 5px;

}

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

table#option_tbl {
margin-bottom: 20px;
width: calc(100% - 1px);
}
table#option_tbl th,
table#option_tbl td.none {
background: whiteSmoke;
}
table#option_tbl th,
table#option_tbl td {
padding: 6px;
border: 1px solid #ccc;
text-align: center;
vertical-align: middle;
}
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;
font-size:12px;
}
@media (max-width: 767px) {
.option_box{
font-size:10px;
}
}

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

.button_area input {
width: 100%;
}

.product_description {
clear: both;
word-wrap: break-word;
font-size: 14px;
line-height: 24px;
}
@media screen and (max-width:767px){
.product_description {
  font-size: 12px;
  line-height: 20px;
}
}

.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;
margin-right: 10px;
}
.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: flex;
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%;
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;
display: inline-block;
}

.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;
}
br.clear {
  clear: both;
}

.ranking,
#box_together,
#box_recommend{
margin-bottom:40px;
}

#detail__productImage .detailSlider{
opacity: 0;
}
#detail__productImage .detailSlider.slick-initialized{
opacity: 1;
}
.detailSlider img {
  width: auto;
}

/*
詳細itemTag
*/
.itemTag_area {
margin-bottom: 20px;
}
.itemTag {
display: inline-block;
border: 1px solid;
border-radius: 10px;
padding: 3px 20px;
font-size: 12px;
margin: 0 2px;
}

#itemName,
.price {
font-weight: 500;
}
#itemName {
margin-bottom: 10px;
}
.price {
}
.itemPriceArea {
padding-bottom: 30px;
}
.itemPriceArea .price{
font-weight: bold;
font-size: 20px;
}
.quantity,
.quantity > dd > span {
display: flex;
}
.quantity {
align-items:center;
}
.quantityTitle {
padding-right:14px;
display: inline-block;
}
a.quantity-down,
a.quantity-up {
border: 1px solid;
display: inline-block;
padding: 6px 10px;
border: 1px solid #ccc;
background: #efefef;
color: #000;
line-height: 1.6;
}
.quantity input {
display: inline-block;
border: 1px solid #ccc;
border-right: 0px;
border-left: 0px;
width: 80px;
text-align: center;
line-height: 37px;height: 37px;
}

.quantityNum{
  display: flex;
  align-items: center;
  gap: 0 10px;
}

.cell_2 > div,
.cell_2 > label {
display: inline-block !important;
cursor: pointer;
}
table#option_tbl th {
font-weight: 500;
}
.cell_2 > div {
margin-right: 2px;
}
.itemCartTitle {
font-size: 16px;
font-weight: 400;
margin: 20px 0;
}

button.detail__cartBtn {
cursor: pointer;
transition: 0.2s;
border-radius: 0;
}

button.detail__cartBtn:hover,
a.detail__contactBtn:hover {
opacity: 0.8;
transition: 0.2s;
}


.product_link_area {
border-top: none;
margin: 0;
padding: 0;
}

.product_link_area ul.other_link li {
line-height: 14px;
}
.product_link_area ul.other_link li > a {
font-size: 14px;
}
.product_link_area ul.other_link li > a > i{
font-size: 18px;
}
@media (max-width: 767px) {
.product_link_area ul.other_link li > a {
  font-size: 12px;
}
}
table.add_cart_table tr{
border-bottom: 1px solid #ccc;
}


ul.review_poster {
  display: block;
  margin-bottom: 10px;
}

.reviewlist_datas {
overflow: hidden;
zoom: 1;
margin-bottom: 10px;
}
.icon_star {
overflow: hidden;
width: 75px;
}
.icon_star img {
max-width: inherit;
}
.review_name{
margin-bottom: 10px;
}
.review_poster li {
display: inline-block;
margin-right: 10px;
list-style: none;
color: #999;
font-size: 12px;
}


.review_ttl,
.shopcomment_ttl {
font-size: 14px;
font-weight: bold;
margin-bottom: 16px;
}
.review_ttl{
font-size: 16px;
margin-top: 12px;
}
.review_img {
float: left;
margin: 0 16px 16px 0;
}
.reviewlist_content {
overflow: hidden;
zoom: 1;
}
.shopcomment {
margin-top: 10px;
background: #eee;
padding: 15px;
border-radius: 6px;
}

article.reviewBox {
  padding: 16px;
  border: 1px solid #dfdfdf;
  border-radius: 6px;
  margin-bottom: 24px;
}
.container--min {
  width: 910px;
  max-width: 100%;
}
.container--min ,
.searchForm__inner--container {
margin-left: auto;
margin-right: auto;
}
.searchForm__inner--container {
  width: 700px;
  max-width: 100%;
}

.cartBtnRow {
display: flex;
margin: 0 -7px;
}

.cartBtnRow > *{
max-width: 50%;
flex: 0 0 50%;
padding: 0 7px;
}
.cartBtnRow a.questionBtn {
  font-size: 12px;
  padding: 0 5px;
    height: 40px
}
.cartBtnRow a.questionBtn i.material-icons {
  font-size: 16px;
}

@media (max-width: 991px){
button.detail__favBtn:after {
  white-space: nowrap;
}
}

.product_description strong {
  font-weight: 700;
}


ul.breadcrumb:not(:first-child) li, ul.breadcrumb:not(:first-child) li a {
  font-size: 11px;
  color: #999;
}
#breadcrumbWrap ul.breadcrumb:not(:first-child) {
  margin-bottom: 5px;
}
@media (max-width: 767px) {
#breadcrumbWrap ul.breadcrumb:not(:first-child) {display:none}
}

.floatCart_wrap {
position: fixed; 
bottom: 100px;
right: 15px;
z-index: 99;
width: 100%;
max-width: 300px;
display: none;
}
.floatCart_inner {
padding: 20px;
background:rgba(255,255,255,0.9);
box-shadow: 0px 2px 6px -1px #0000006e;
}
.floatCart_inner .productName {
font-size: 14px;
margin-bottom: 10px;
}
.floatCart_inner .itemPriceArea {
padding-bottom: 20px;
}
.floatCart_inner .price {
font-size: 20px;
}
.cartBtn_optionAnchor {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 60px;
background-color: var(--cta-color);
border: 1px solid var(--cta-color);
text-align: center;
line-height: 20px;
font-size: 18px;
text-decoration: none;
color: #fff !important;
font-weight: 500;
-webkit-box-align: center;
box-align: center;
border-radius: 5px;
margin: 0 0 10px;
padding: 0 15px;
}
.floatCart_inner .detail__cartBtn {
margin: 0 0 10px;
}
.floatCart_inner .detail__cartBtn:hover {
opacity: 0.8;
transition: 0.2s;
}
.cartBtn_optionAnchor span {
text-align: left;
}
.cartBtn_optionAnchor span em {
font-size: 12px;
font-style: normal;
font-weight: 400;
}
.floatCart_inner--button i {
margin-right: 5px;
}
.link_anchor {
/* hdrFixedの高さによって */
/* margin-top: -131px;
padding-top: 131px; */
}
@media (max-width: 991px){
.floatCart_wrap {
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%;  
}
.floatCart_inner {
  box-shadow: none;
  padding: 0;
  display: flex;
  background: #fff;
  min-height: 60px;
}
/*.floatCart_inner > * {
  flex: 0 0 50%;
  max-width: 50%;
}*/
.floatCart_inner .floatCart_inner--product {
  flex: 0 0 calc(50% - 20px);
  max-width: calc(50% - 20px);
}
.floatCart_inner .floatCart_inner--button {
  flex: 0 0 calc(50% + 20px);
  max-width: calc(50% + 20px);
}
.floatCart_inner--product {
  padding: 11px 15px;
  padding-right: 5px;
}
.floatCart_inner .productName {
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.floatCart_inner .itemPriceArea {
  padding: 0;
}
.floatCart_inner .price {
  font-size: 13px;
}
.floatCart_inner dd s {
  font-size: 10px;
}
.floatCart_inner .detail__cartBtn {
  margin: 0;
  border-radius: 0;
  height: 100%;
  font-size: 16px;
  padding: 0 10px;
}
.floatCart_inner--button {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}
.floatCart_inner button.detail__favBtn {
  border: none;
  padding: 10px;
}
.floatCart_inner button.detail__favBtn i,
.floatCart_inner .detail__cartBtn i {
  display: none;
}
.floatCart_inner button.detail__favBtn:after {
 font-family: 'Material Icons';
 content: "favorite_outline";
 -webkit-font-feature-settings: 'liga'; 
 font-size: 24px;
}
.floatCart_inner button.detail__favBtn.is-added {
  background: transparent;
}
.floatCart_inner button.detail__favBtn.is-added:after {
 font-family: 'Material Icons';
 content: "favorite";
 -webkit-font-feature-settings: 'liga';
}
#toTop {
  bottom: 75px !important;
}
#ftr {padding-bottom: 60px;}
}

/* REVIEW MODAL */
.reviewInfo {
display: flex;
align-items: center;
font-size: 12px;
margin-bottom: 20px;
}
.reviewInfo span + #stars2 {
padding-left: 10px;
}
.reviewInfo .reviewScore {display: none;}
.reviewInfo .reviewRate {
  padding-left: 10px;
}
.review-score {display: none;}
.item-review-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
}
.review-list-empty + .item-review-footer {
  margin-top: 60px;
}
.review-list + .item-review-footer {
  margin-top: 30px;
}
.item-review-footer > div {
  flex: 0 0 50%;
  max-width: 50%;
}
@media (max-width: 767px) {
  .item-review-footer {
      display: block;
  }
  .item-review-footer > div {
      max-width: 100%;
  }
  .item-review-footer .button:not(.write-review-button) {
      margin-top: 10px;
  }
}
.write-review-button::after {
  content: none !important;
}
.reviewlist .reviewInfo--modal {
display:none;
}
.reviewModal--trigger > * {
  cursor: pointer;
  transition: .3s;
}
.reviewModal--trigger .reviwRes i, #stars i, #stars2 i {
font-size: 1.5rem;
color: #f8d803;
}
.reviewModal--trigger:hover span {
transition: .3s;
text-decoration: underline;
}
#js-reviewModal {
display: none;
}
#js-reviewModal.open {
display: block;
}
#js-reviewModal .overlay {
position: fixed;
display: block;
z-index: 999;
inset: 0;
background: rgba(0, 0, 0, 0.25);
opacity: 0;
pointer-events: none;
padding: 15px;
cursor: pointer;
transition: 0.3s;    
}
#js-reviewModal.open .overlay {
opacity: 1;
pointer-events: all;
transition: 0.3s;
}
#js-reviewModal .reviewlist {
position: fixed;
height: 78%;
width: 92%;
max-width: 800px;
top: 10%;
left: 0;
right: 0;
margin: 0 auto;
overflow: auto;
border-radius: 8px;
padding: 40px 30px;
background: #fff;
box-sizing: border-box;
z-index: 1001;
}

#js-reviewModal .reviewlist::-webkit-scrollbar {
width: 10px;
}
#js-reviewModal .reviewlist::-webkit-scrollbar-track {
background: #f2f2f2; 
}
#js-reviewModal .reviewlist::-webkit-scrollbar-thumb {
background: #ccc; 
}
#js-reviewModal .reviewlist::-webkit-scrollbar-thumb:hover {
background: #ddd; 
}
@media (max-width: 767px) {
  #js-reviewModal .reviewlist {
      padding: 30px 15px;
      font-size: 12px;
  }
}
#js-reviewModal .reviewInfo {
display: flex;
flex-wrap: wrap;
font-size: 110%;
}
#js-reviewModal .reviewInfo span {
flex: 0 0 100%;
}
#js-reviewModal .reviewInfo span + #stars2 {
padding: 10px 0 0;
}
#js-reviewModal .reviewInfo .reviewScore {
display: inline-block;
font-style: normal;
color: #f8d803;
padding-top: 10px;
padding-left: .5em;
}
.reviewRate {
display: flex;
align-items: center;
}
.reviewRateStar {
  display: inline-block;
  font-size: 20px;
  color: #f8d803;
}
.reviewRateStar::before {
font-family: 'Material Icons';
content: "grade";
-webkit-font-feature-settings: 'liga';
}
.itemColor_bg{
  background:  #f2f2f2;
  padding: 20px;
}

.optionSelect select{
  width: 100%;
  font-size: 16px;
  height: 40px;
}



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

@media screen and (max-width: 767px){
  .optionSelect select{
    font-size: 14px;
  }
}
