/* Slider */
#product .bx-wrapper .bx-viewport  {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: 0;
	left: 0;
}
#product .bx-wrapper { margin: 0 auto 15px; }
.custom-thumb {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
}
.custom-thumb a {
  margin: 0 10px 10px 0;
  width: calc((100% - 40px) / 4);
  height: 60px;
  display: inline-block;
  vertical-align: top; 
  overflow: hidden;
}
.custom-thumb a img {
  width: 100%;
  height: 60px;
  object-fit: cover;
}
#product ul#slider { margin-left:0; }
#product figure { margin: 1rem 0; }

/* Text */
#product h2 {
 margin: 0 0 1.3rem 0;
 padding: 0;
 border: 0 !important;
 font-size: 1.5rem;
 line-height: 1.4;
 text-align: center;
}
#product h3 {
  margin: 0 0 0.3rem 0;
  font-size: 1.3rem;
}
#product dt {
 margin: 0;
 padding: 0 0 0.5rem 0;
 font-size: 1.05rem;
}
#product dd { line-height: 1.5; }

.product-order-exp img {
  margin: 0.2rem auto 0.8rem; 
}
.product-order-exp img.ban {
  margin: 0.2rem auto 0.5rem;
  border: 1px solid #ddd;
}
.product-order-exp a {
  color: #c86464;
  text-decoration: underline;
}
.product-order-exp a:hover {
  color: #aaa;
  text-decoration: underline;
}
.product-order-exp #care p { margin: 0 0 0.5rem; }
.product-order-exp #care ul {
 margin: 0;
 padding: 0;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.product-order-exp #care li {
 margin: 0 0 1rem;
 padding: 0;
 width: 47.5%;
 list-style: none;
}
.product-order-exp #care li img { margin-bottom: 0; border: 1px solid #cdcdcd; }
.item-size th { text-align: center; white-space: nowrap; }

/* Cart */
#cartbox {
 margin-top: 40px;
 padding: 0 5px;
 font-size: 0.8rem;
 font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
#cartbox table th,
#cartbox table td {
 padding: 0.4rem 0;
}
#cartbox table.bd0,
#cartbox table.bd0 th,
#cartbox table.bd0 td {
 border: 0;
}
#cartbox table.pricebox { margin-bottom: 1rem; }
#cartbox table.bd0.opname { 
 margin: 0 0 1rem auto;
 width: 70%;
}
#cartbox .pname {
 font-size: 1.125rem;
 line-height: 1.5;
 font-family: 'Noto Serif JP', serif;
}
#cartbox .pname span {
  font-size: 0.75rem;
  font-weight: normal;
 color: #a0a0a0;
}
#cartbox .pname img { display: block !important; }
#cartbox td.price {
 padding: 0.5rem 0 0.3rem;
 font-family: 'Noto Serif JP', serif;
}
#cartbox .pricenum {
  font-size: 1.5rem;
  font-weight: bold;
}
#cartbox .price .discount { font-size: 0.85rem; }
#cartbox .opname th,
#cartbox .opname td { padding: 0.2rem 0; }
#cartbox .opname th {
 padding-left: 10px;
 padding-right: 1rem;
 text-align: right;
}
#cartbox select {
  padding: 0.3rem;
  height: auto;
  font-size: 0.875rem;
}
#cartbox .opname .stx { text-align: right; }
#cartbox .opname .stx a {
  margin: 0.5rem 0 0 auto;
  padding: 0.5rem 1rem;
  width: fit-content;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.875rem;
  text-decoration: none;
  display: flex;
  align-items: center;
}
#cartbox .opname .stx a:hover {
  background-color: #c86464;
  border: 1px solid #c86464;
  color: #fff;
}
#cartbox .opname .stx a i { font-size: 1.25rem; }

#cartbt {
 margin: 0;
 padding: 0.5rem 0 1rem;
 text-align: center;
}
#cartbt table {
 margin: 0 0 1.2rem auto;
 width: auto;
}
#cartbt .unitset th,
#cartbt .unitset td { padding: 0; }
#cartbt .unitset input {
 margin-bottom: 0;
 padding: 4px 6px;
 border: 1px solid #ccc;
 border-radius: 3px;
 width: 4em;
 color: #222;
 position: relative;
}
#cartbt .namein { line-height:1.4; }
#cartbt .namein.nosp { margin: 0; }
#cartbt .namein input {
 margin-top: 5px;
 margin-bottom: 0;
 padding: 4px 6px;
 border: 1px solid #ccc;
 border-radius: 3px;
 color: #222;
}
#cartbt [type="text"] {
 height: 40px;
  font-size: 1.2rem;
}
#cartbt .unitset a {
 margin: 0 0 0 10px;
 padding: 1px 22px;
 border: 1px solid #bbb;
 color: #999;
 font-weight: bold;
 font-size: 0.75rem;
 text-align: center;
 display: block;
 line-height: 1;
}
#cartbt .unitset a:first-of-type { margin-bottom: 5px; }
#cartbt .unitset a:hover {
 text-decoration: none;
 background-color: #c86464;
 border-color: #c86464;
 color: #fff;
}
#cartbt .btn {
 padding: 1.1rem 1.2rem;
 width: 95%;
 background-color: #222;
 border-radius: 5px;
 color: #fff;
 font-size: 1.2rem;
 font-weight: bold;
 letter-spacing: 0.1em;
}
#cartbt .input-append { margin-bottom: 0; }
#odlink {
 margin: 0;
 padding: 0 0 1rem 0.8rem;
}
#odlink li {
 margin: 0;
 padding: 0;
 font-size: 0.68rem;
 list-style: none;
}
#odlink li::before {
 margin-right: 0.3rem;
 font-family: "Font Awesome 5 Free";
 content: '\f054';
 font-weight: 900;
 color: #bbb;
 font-size: 0.58rem;
}
#cartbox .cartlinks .unstyled { margin-left: 0.8rem; } 
#cartbox table#option_tbl th {
 padding: 0.4rem;
 text-align: center;
 min-width: 2em;
}
#cartbox table#option_tbl td {
 padding: 0.2rem 0.4rem 0 0.4rem;
 font-size: 0.8rem;
 text-align: center;
}
#cartbox table#option_tbl td label {
 font-size: 0.8rem;
 line-height: 1.4;
}
.btn[disabled] {
  padding: 1rem 0.5rem;
  background-color: #ddd;
  color: #bc0000;
  font-size: 1rem;
}
.delitime {
 margin: 0;
 padding: 0 0 0.8rem;
 font-size: 0.9rem;
 font-weight: bold;
 color: #de0000;
}
.cp-area {
  margin: 0 0 1.75rem;
  padding: 1.2rem 1rem 1rem;
  border: 3px double #aaa;
  border-radius: 8px;
}
.cp-area dl {
  margin: 0;
  padding: 0;
}
.cp-area dt {
  padding-bottom: 0.8rem;
  border-bottom: 1px dashed #ccc;
  font-size: 1.05rem;
  font-weight: bold;
}
.cp-area dd {
  margin: 0;
  padding: 0.8rem 0 0;
}
.cp-area dd figure {
  float: right;
  margin: 0.5rem 0 0.5rem 1rem;
  width: 40%;
}
.cp-area dt + dd::after { clear: both; }
.product-order-exp { margin-top: 40px; }

/* iframe wrap */
.iframewrap {
  margin: 1rem 0 1.5rem;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframewrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


@media screen and (max-width:500px) {
table.item-size { width: 100%; }
}
@media screen and (max-width:550px) {
 #cartbox table.bd0.opname { width: 100%; }
}

@media screen and (min-width:501px)  {
.item-size th { padding: 0.6rem 1rem; }
.item-size td { padding: 0.6rem 1.5rem 0.6rem 1rem; }
.custom-thumb a { width: calc((100% - 60px) / 6);  }
.pic40 { width: 40%; }
.pic50 { width: 50%; }
.pic60 { width: 60%; }
.pic80 { width: 80%; }
#product figure.cset { margin: 1rem auto; }
#product figure.rset { margin: 1rem 0 1rem auto; }
}

@media screen and (min-width:769px)  {
#reco-item2 li { width: 22%; }
#cartbox { padding: 1.2rem 5px 0; }
#cartbox table.pricebox { margin-bottom: 0; }
#cartbox .pricenum {
  display: block;
  font-size: 1.6rem;
}
#cartbt .btn { font-size: 1.1rem; }
#cartbox table.bd0.opname { margin: 0 10px 1rem auto; }
#cartbt {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
 }
 #cartbt table { margin: 0 30px 0 10px; }
 #cartbt .stock_error { width: 100%; }
 #cartbt .cartinbt { width: 50%; }
 #cartbox .cartlinks {
  display: flex;
  justify-content: space-between;
}
  
 }