.p-u-zoom-50 {
  zoom: 0.5;
}

.p-u-text {
  display: inline;
  font-size: inherit;
  width: auto;
  height: 1em;
  vertical-align: bottom;
}

.p-content__in {
  max-width: 930px;
  margin: auto;
}

.p-button {
  display: block;
  border-radius: 100px;
  -webkit-transition: opacity linear 0.2s;
  transition: opacity linear 0.2s;
}
.p-button:hover {
  opacity: 0.7;
}
.p-button img:nth-child(n) {
  -webkit-transition: none !important;
  transition: none !important;
  opacity: 1 !important;
}

.p-heading-01 {
  position: relative;
  padding: 19px 0 19px;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  background: #F0E3D1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 110px;
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 44px;
  text-align: center;
  letter-spacing: 0.02em;
  color: #555555;
}
.p-heading-01:after {
  content: "";
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: 0;
  right: 0;
  display: block;
  pointer-events: none;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
}
.p-heading-01 b {
  position: relative;
  padding-bottom: 6px;
  color: #9F6C2B;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #fff));
  background: linear-gradient(transparent 55%, #fff 55%);
}
.p-heading-01__sub {
  margin: 0 8px -7px -80px;
}

.p-hero__main {
  position: relative;
  padding: 0 0 40px;
  background: #000;
}
.p-hero__title {
  position: absolute;
  top: 40px;
  left: 56px;
}
.p-hero__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 6px 0 0;
}
.p-hero__tips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 25px 0 0;
}

.p-point {
  margin: 50px 0 0;
}
.p-point__in {
  padding: 63px 40px 40px;
  background-color: rgba(240, 227, 209, 0.3);
}
.p-point__01 {
  display: grid;
  grid-template: auto/1fr 1fr;
  gap: 53px 20px;
}
.p-point__01-card {
  position: relative;
  padding: 28px 29px 29px;
  border: 1px solid #333333;
  border-top: none;
  background-color: #fff;
}
.p-point__01-card-index {
  position: absolute;
  top: 0;
  height: 0;
  left: -1px;
  right: -1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-point__01-card-index:before, .p-point__01-card-index:after {
  content: "";
  display: block;
  height: 1px;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1;
  background: #333;
}
.p-point__01-card-index img {
  margin: -40px -6px 0;
}
.p-point__01-card-title {
  margin: 0 -20px 0;
  font-style: normal;
  font-weight: 700;
  font-size: 27px;
  line-height: 49px;
  text-align: center;
  letter-spacing: 0.02em;
  color: #555555;
}
.p-point__01-card-title-in {
  padding: 0 0 5px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #FFF641));
  background: linear-gradient(transparent 55%, #FFF641 55%);
}
.p-point__01-card-title small {
  font-size: 20px;
}
.p-point__01-card-image {
  margin: 15px 0 0;
}
.p-point__01-card-detail {
  margin: 11px 0 0;
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  line-height: 26px;
  letter-spacing: 0.02em;
  color: #444444;
}
.p-point__02 {
  display: grid;
  grid-template: "title image" "detail image" ". image" auto/1fr auto;
  padding: 40px 40px 40px;
  margin: 44px 0 0;
  background: #F0E3D1;
  border-radius: 10px;
  gap: 0 33px;
}
.p-point__02-image {
  grid-area: image;
}
.p-point__02-title {
  grid-area: title;
  font-style: normal;
  font-weight: 700;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.02em;
  color: #555555;
}
.p-point__02-title b {
  color: #9F6C2B;
}
.p-point__02-detail {
  grid-area: detail;
  margin: 10px 0 0;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  letter-spacing: 0.02em;
  color: #444444;
}

.p-product {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template: "heading image" "set image" "price image" ". image" "foot foot" "info info" auto/1fr auto;
  gap: 0 38px;
  padding: 54px 40px 40px;
  margin: 50px 0 0;
}
.p-product:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -10px;
  right: -10px;
  display: block;
  -webkit-box-shadow: inset 0 0 0 2px #333333, inset 0 0 0 8px #fff, inset 0 0 0 9px #333333;
          box-shadow: inset 0 0 0 2px #333333, inset 0 0 0 8px #fff, inset 0 0 0 9px #333333;
  pointer-events: none;
}
.p-product__heading {
  grid-area: heading;
  padding: 0 0 15px;
  border-bottom: 1px dashed #333333;
  font-style: normal;
  font-weight: 700;
  font-size: 38px;
  line-height: 49px;
  letter-spacing: 0.02em;
  color: #9F6C2B;
}
.p-product__image {
  grid-area: image;
  margin-right: -29px;
}
.p-product__set {
  grid-area: set;
  display: grid;
  grid-template: auto/129px 1fr;
  min-height: 140px;
  margin: 25px 0 0;
  background-color: #FBF7F1;
}
.p-product__set-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #F0E3D1;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 17px;
  letter-spacing: 0.05em;
  color: #9F6C2B;
}
.p-product__set-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 13px 10px;
}
.p-product__set-detail {
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.02em;
  color: #333333;
}
.p-product__set-sub {
  margin: 6px 0 0;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.02em;
  color: #333333;
}
.p-product__price {
  grid-area: price;
  margin: 20px 0 0;
}
.p-product__price-01 {
  padding: 0 0 17px;
}
.p-product__price-02 {
  padding: 12px 0 0;
  border-top: 1px dashed #333333;
}
.p-product__foot {
  grid-area: foot;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 30px 0 30px;
  margin: 30px 0 0;
  background-color: #F6F6FB;
}
.p-product__info {
  grid-area: info;
  padding: 25px 25px 21px;
  margin: 20px 0 0;
  background-color: #F7F7F7;
}
.p-product__info-title {
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.02em;
  color: #666666;
}
.p-product__info-title small {
  font-size: 12px;
}
.p-product__info-title:not(:first-child) {
  margin-top: 14px;
}
.p-product__info-text {
  margin: 10px 0 0;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 19px;
  letter-spacing: 0.02em;
  color: #666666;
}

.p-assort {
  margin: 50px 0 0;
}
.p-assort__in {
  padding: 58px 40px 40px;
  background-color: rgba(240, 227, 209, 0.3);
}
.p-assort__01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-assort__tips {
  padding: 40px 0 40px;
  margin: 40px 0 0;
  background: #F0E3D1;
  border-radius: 10px;
}
.p-assort__tips-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-assort__tips-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 17px 20px;
  margin: 30px 28px 0 40px;
}

.p-review {
  padding: 0 40px 40px;
  margin: 116px 0 0;
  background: #F0E3D1;
  border-radius: 20px;
}
.p-review__heading {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 68px 0 0;
}
.p-review__heading-sub {
  position: absolute;
  top: -76px;
}
.p-review__heading-in {
  padding: 0 0 12px;
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 26px;
  text-align: center;
  letter-spacing: 0.14em;
  color: #9F6C2B;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #fff));
  background: linear-gradient(transparent 50%, #fff 50%);
}
.p-review__scroller {
  overflow: auto;
  max-height: 1040px;
  margin: 30px 0 0;
}
.p-review__card {
  display: grid;
  grid-template: auto/130px 1fr;
  padding: 30px 40px 30px;
  background: #FFFFFF;
  border-radius: 20px;
}
.p-review__card:not(:first-child) {
  margin-top: 20px;
}
.p-review__card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 26px 25px 0;
  border-right: 1px dashed #9F6C2B;
}
.p-review__card-body {
  padding: 0 0 0 40px;
}
.p-review__card-name {
  margin: 0 -10px 0;
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.02em;
  color: #666666;
}
.p-review__card-detail {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.05em;
  color: #555555;
}
.p-review__card-detail b {
  color: #9F6C2B;
}