@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

.page-wrapper-product {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.product-category {
  margin-bottom: 8px;
  font-size: 14px;
}

.product-title {
  margin: 0 0 40px;
  font-size: 32px;
  line-height: 1.5;
}

.product-box {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

.product-info {
  flex: 1;
  min-width: 0;
}

.product-image {
  position: sticky;
  top: 120px;
  flex: 0 0 36%;
  max-width: 380px;
  text-align: center;
}

.product-image img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.product-summary {
  margin-bottom: 40px;
}

.product-description {
  line-height: 2;
}

.product-spec dl {
  border-top: 1px solid #ddd;
}

.product-spec dt,
.product-spec dd {
  padding: 14px 18px;
  border-bottom: 1px solid #ddd;
}

.product-spec dt {
  width: 180px;
  font-weight: bold;
  background: #f8f8f8;
}
.product-description h3{
    margin:50px 0 20px;
    font-size:30px;
    font-weight:700;
}
.product-description hr{
    margin:40px 0;
    border:none;
    border-top:1px solid #ddd;
}
.product-description ul{
    margin:20px 0;
    padding-left:1.5em;
}

.product-description li{
    margin:.5em 0;
    line-height:1.8;
}
@media screen and (max-width: 767px) {
  .page-wrapper-product {
    width: calc(100% - 30px);
  }

  .product-title {
    margin-bottom: 25px;
    font-size: 24px;
  }

  .product-box {
    flex-direction: column;
    gap: 30px;
  }

  .product-info,
  .product-image {
    width: 100%;
    max-width: none;
  }

  .product-image {
    position: static;
    order: -1;
    flex-basis: auto;
  }

  .product-image img {
    max-width: 360px;
  }
}