.product-info-out{background: #f0f0f0; padding:10px 20px 0;
 border-radius: 10px;    
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px; }

/* 追加CSS */
div.product-explain dl.details {
  padding: 0;
  background: #efefef;
  border: 1px solid #ddd; 
  width: 100%;
  max-width: 750px;
}
.dl-child {  /* dlに入れ子dlをするときのclass */
  margin: 0;
}
div.product-explain dl.details dt, 
div.product-explain dl.details dd {
  margin: 0;
  box-sizing: border-box;
}
div.product-explain dl.details dt {
  padding: .5rem .7rem;
  background: inherit;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #ececec;
  border-left: 0;
}
div.product-explain dl.details dd {
  padding: .7rem;
  border-bottom: 1px solid #ececec;
  background: #fff;
}
div.product-explain dl.details dd:last-of-type {
  border-bottom: 0;
}
div.product-explain p.details {
  width:100%;
  max-width:750px;
  font-weight:bold;
}
div.product-explain p.details span {
  color:#FF0000;
}

@media screen and (min-width: 768px){
  div.product-explain dl.details dt {
    float: left;
    width: 15%;
    padding: .5rem;
    font-weight: bold;
    border-top: 1px solid #cdcdcd;
    border-bottom: 0;
    -moz-text-align-last: justify;
    text-align-last: justify;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  div.product-explain dl.details dd {
    margin-left: 15%;
    padding: .5rem .5rem 0;
    border-top: 1px solid #cdcdcd;
    border-bottom: 0;
    border-left: 1px solid #cdcdcd; 
    background: #fff;
  }
  div.product-explain dl.details dt:first-of-type, 
  div.product-explain dl.details dd:first-of-type {
    border-top: 0;
  }
  div.product-explain dl.details dd:after {
    content : '';
    display : table;
    clear : both;
    height: 0;
  }
}
