.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}

.pt0{
    padding-top: 0px !important;
}

.pb0{
    padding-bottom: 0px !important;
}

img {
  max-width: 100%;
}

p {
  margin: 0;
}

/*商品ページ上部*/
.main_title {
  background: inherit;
  color: #1b1b1b;
  font-size: 20px;
  font-family: "Noto Sans JP";
  font-weight: bold;
}

#detail * {
  font-family: "Noto Sans JP";
  letter-spacing: 0.1em;
}

.item_top {
  display: flex;
}

.item_photo {
  width: 270px;
  margin-right: 24px;
}

.main_img {
  width: 250px;
}

#detail .sub {
  width: 270px;
}

#detail .sub img {
  width: 250px;
}

.item_info {
  width: 270px;
}

#detail .table {
  margin-top: 0px;
  margin-bottom: 0px;
}

.item_info .table {
  border-collapse: collapse;
}

.item_info .table tr {
  border-top: solid 1px #c0c0c0;
}

.item_info .table td {
  padding: 15px 0;
}

#detail .item_info table {
  width: 100%;
  background: inherit;
}

#detail .table .cell_1 {
  color: #1b1b1b;
  width: 160px;
  border-bottom: 0px;
  border-right: 0px;
}

#detail .table .cell_2 {
  border-bottom: 0px;
}

#detail .table .price {
  font-size: 16px;
}

#detail .table .num {
    border-top: #fff;
  }

.cart_num td{
    display: flex;

}

.cart_num input {
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 10px;
  margin: 0 10px;
    height: 36px;
    width: 36px;
    border: solid 1px #bfbfbf;
}

.cart_num a {
    display: flex;
    justify-content: center;
    align-items: center;
  background: #efefef;
  color:#505050;
  font-size: 30px;
  width: 60px;
  height: 60px
}

#detail .item_info .cartin {
  background-color: #df1c50;
  color: #fff;
  padding: 15px 0;
  width: 100%;
  font-family: "Font Awesome 5 Free", "Noto Sans JP";
  font-size: 18px;
  cursor: pointer;
}

/*商品ページ下部*/
.expl_top,
.expl_bottom {
  width: 564px;
}

.content_detail {
  width: 100%;
  border-collapse: collapse;
}
.content_detail th {
  width: 30%;
  background: #1b1b1b;
  color: #fff;
  border: solid 1px #c3c3c3;
  padding: 5px 10px;
}

.content_detail td {
  padding: 5px 15px;
  border: solid 1px #c3c3c3;
}

.box .ttl {
  border: solid 2px #5a5a5a;
  background-color: #e1e1e1;
  text-align: center;
  padding: 10px 0;
}

.box .text {
  border: solid 1px #5a5a5a;
  padding: 10px 20px;
}

.box .text table th {
  width: 130px;
}

.box .text table th::before {
  content: "・";
}

.connection li {
  line-height: 1.8em;
}

.connection a {
  border-bottom: solid 1px #0073cb;
  color: #0073cb;
}

.connection a::before {
  content: "・";
}

.sns {
  border-top: solid 1px #bfbfbf;
  border-bottom: solid 1px #bfbfbf;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sns > div {
  width: 30px;
  padding: 0 20px;
}
