/*************************************************************

全体レイアウトの調整

*************************************************************/
.ec-layoutRole__main {
}

@media screen and (max-width: 1260px) {
  .ec-layoutRole__main {
  padding: 0 20px;
  }
}

.ec-layoutRole__mainBottom {
  max-width: 1160px;
  margin: auto;
  width: 100%;
}

.ec-productRole {
  max-width: 1160px;
  margin: auto auto 50px;
  padding: 0;
}

.ec-grid2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.ec-grid2 .ec-grid2__cell.detailImage {
  width: auto;
  flex: 0 1 400px;
  max-width: 400px;
}

@media screen and (max-width: 1024px) {
  .ec-grid2 .ec-grid2__cell.detailImage {
    flex: 0 1 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
}

.ec-sliderItemRole {
  padding: 0;
}

.ec-grid2 .ec-grid2__cell.detailInfo {
  width: auto;
  flex: 0 1 calc(100% - 440px);
}

@media screen and (max-width: 1024px) {
  .ec-grid2 .ec-grid2__cell.detailInfo {
    flex: 0 1 100%;
  }
}

.ec-productRole .ec-productRole__profile {
  margin: 0;
}

/*************************************************************

商品画像エリア

*************************************************************/

/*----------------------------
スライド設定
----------------------------*/
.ec-productRole img {
  width: auto;
  margin: auto;
}

.ec-sliderItemRole .item_nav {
}

@media screen and (max-width: 1024px) {
  .ec-sliderItemRole .item_nav {
    display: none;
  }
}

/*----------------------------
関連カテゴリ
----------------------------*/
.ec-productRole__category {
}

@media screen and (max-width: 1024px) {
  .ec-productRole__category {
    display: none;
  }
}

.ec-productRole__category .title {
  background: #eee;
  font-weight: 600;
  margin-bottom: 10px;
  display: inline-block;
  padding: 5px 10px;
}

.ec-productRole .ec-productRole__category a {
  color: var(--linkColor);
}

/*----------------------------
注意事項
----------------------------*/
.CautionWrap.spOnly {
  margin-top: 20px;
}

.detailImage .Caution,
.detailInfo .Caution {
  border: solid 1px #ccc;
  padding: 20px;
  margin-bottom: 20px;
  font-size: 14px;
}

.detailImage .Caution p .icon,
.detailInfo .Caution p .icon {
  background: url(../img/common/ico_caution.png) no-repeat center;
  width: 22px;
  height: 21px;
  display: inline-block;
  margin-bottom: -4px;
  margin-right: 5px;
}

/*----------------------------
送料無料
----------------------------*/
.detailImage .Postage,
.detailInfo .Postage {
  border: solid 5px #f4b0b1;
  padding: 20px;
  margin-bottom: 10px;
  font-size: 14px;
}

.detailImage .Postage h4,
.detailInfo .Postage h4 {
  font-size: 14px;
}

.detailImage .Postage h4 span,
.detailInfo .Postage h4 span {
  color: #d84b4e;
}

.detailImage .Postage h4 span.icon,
.detailInfo .Postage h4 span.icon {
  background: url(../img/common/ico_Postage02.png) no-repeat center;
  width: 22px;
  height: 21px;
  display: inline-block;
  margin-bottom: -4px;
  margin-right: 5px;
}

/*************************************************************

商品画像＋基本情報エリア

*************************************************************/

/*----------------------------
商品画像
----------------------------*/
#page_product_detail .slick-slide {
  margin: 0;
}

#page_product_detail .ec-sliderItemRole .item_nav {
  justify-content: space-between;
}

#page_product_detail .ec-sliderItemRole .item_nav .slideThumb {
  flex: 0 1 calc(100% / 3 - 5px);
  width: auto;
}

#page_product_detail .ec-sliderItemRole .slideThumb img {
  width: 100%;
}

/*----------------------------
商品名
----------------------------*/
.ec-productRole .ec-productRole__title .ec-headingTitle {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 10px;
}

/*----------------------------
商品名コード
----------------------------*/
.ec-productRole .ec-productRole__code {
  font-size: 14px;
  border-bottom: none;
  padding: 0;
  margin: 0 0 20px;
}

/*----------------------------
発送予定日
----------------------------*/
.ShippingDate {
  font-size: 14px;
  margin-bottom: 5px;
}

/*----------------------------
クーポンエリア
----------------------------*/

div.product-detail-coupon-scroll{
  overflow-x: auto;
  margin-bottom: 0;
}

.ec-heading-bold{
  font-size: 16px;
  text-align: left;
  margin-bottom: 0;
}

.product-detail-coupon-wrap{
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}

.product-detail-coupon-box:nth-of-type(n + 2){
  margin-left: 0;
}

div.product-detail-coupon-box{
  width: calc(100% / 3);
  min-width: 30%;
}

.product-detail-coupon-box .coupon-name{
  font-size: 14px;
  font-weight: 600;
  margin: 10px 0 0;
  white-space: normal !important;
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    overflow: hidden;
}

.product-detail-coupon-box .coupon-price{
  font-weight: 600;
}

div.product-detail-coupon__sub dl{
  color: #333;
  font-size: 12px;
}

div.product-detail-coupon__sub dl dd{
  margin-bottom: 0;
}

div.product-detail-coupon__sub{
  padding: 5px 10px;
}
.product-detail-coupon-block{
  margin-bottom: 14px;
}
.product-detail-coupon-box .coupon-name{
  line-height: 1.2;
  margin-top: 5px;
}

.product-detail-coupon-box .coupon-price{
  color: #e32e33;
  line-height: 1.2;
}
.product-detail-coupon-box .coupon-price .price-left, .price-right{
  font-size: 16px !important;
}
.product-detail-coupon__sub dl:first-child{
  display: none;
}

@media screen and (max-width:599px){
  .product-detail-coupon-block{
    width: 90vw;
    overflow-x: hidden;
  }
  div.product-detail-coupon-box{
    min-width: 60%;
  }
  div.product-detail-coupon-box .coupon-price .price-left, span.price-right{
    font-size: 16px;
  }
}

/*----------------------------
価格
----------------------------*/
.ec-productRole .ec-productRole__price {
  color: inherit;
  font-size: 16px;
  font-weight: 400;
  padding: 0;
  border-bottom: none;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}

.ec-price {
  margin-right: 20px;
}

@media screen and (max-width: 399px) {
  .ec-productRole .ec-productRole__price {
    display: block;
  }
}

.ec-price .ec-price__price {
  font-size: 24px;
}

.ec-price .ec-price__tax {
  font-size: 16px;
}


span.ec-price_strikethrough{
  text-decoration: line-through;
}

/*----------------------------
ポイント
----------------------------*/
.PointArea {
  color: #e5221f;
  font-weight: 600;
  margin-bottom: 10px;
}

.PointArea::before {
  display: inline-block;
  content: "";
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  vertical-align: bottom;
  background-size: contain;
  background-image: url(/html/user_data/assets/img/genieesearch/ico_pointGS.png);
}

span.ec-point__pointRate{
  font-size: 14px;
  font-weight: 500;
}

/*----------------------------
クーポン
----------------------------*/
.CouponArea {
  color: #e5221f;
  font-weight: 600;
}

/*----------------------------
タグ
----------------------------*/
.TagArea {
  margin-bottom: 20px;
}

.ec-productRole .ec-productRole__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media screen (max-width:599px;){
  .ec-productRole .ec-productRole__tags{
    justify-content: space-between;
  }
}

.ec-productRole .ec-productRole__tag {
  display: flex;
  align-items: center;
  gap: 5px;
  border: solid 1px #cfb990;
  color: #cfb990;
  border-radius: 5px;
  padding: 5px 10px;
  background: none;
  width: calc((100% / 4) - 15px);
}

.ec-productRole .ec-productRole__tag div span {
  margin-right: 5px;
}

.ec-productRole .ec-productRole__tag div span img {
  width: 20%;
  height: auto;
}

/*----------------------------
配送情報
----------------------------*/
.DeliveryArea {
  margin-bottom: 20px;
}

.DeliveryArea ul {
  display: flex;
  gap: 10px;
}

.DeliveryArea > ul {
  margin-bottom: 20px;
}

@media screen and (max-width: 599px) {
  .DeliveryArea > ul {
    display: block;
  }

  .DeliveryArea > ul > li:not(:last-of-type) {
    margin-bottom: 10px;
  }
}

/*翌日配送*/
.ec-productRole__tags li.Area1 div {
  display: flex;
  align-items: center;
  gap: 5px;
  border: solid 1px #ab9352;
  color: #ab9352;
  border-radius: 5px;
  padding: 5px 10px;
}

.ec-productRole__tags li.Area1 div img {
  width: 20px;
  height: auto;
  margin-right: 5px;
}

/*発送温度帯*/
.DeliveryArea ul li.Area2 {
  display: flex;
  align-items: center;
  border: solid 1px #ddd;
  padding: 5px 10px;
  border-radius: 5px;
}

.DeliveryArea ul li.Area2 li > span {
  display: block;
  padding: 3px 5px;
  border-radius: 3px;
  font-size: 12px;
}

.DeliveryArea ul li.Area2 li > span.joon {
  background: #f0e8d8;
}

.DeliveryArea ul li.Area2 li > span.reizou {
  background: #d8edf0;
}

/*同梱*/
.DeliveryArea ul li .Area3 {
  display: flex;
  align-items: center;
  border: solid 1px #ddd;
  padding: 5px 10px;
  border-radius: 5px;
}

/* 送料無料 */
.ec-productRole__tags li.Area1 div.freeShipping {
  border: 1px solid #e32e33;
  color: #e32e33;
  font-weight: 600;
}

@media screen and (max-width: 599px) {
  .ec-productRole__tags li.Area1 {
    width: calc(100% / 2 - 5px);
  }
}

/*----------------------------
13:00までのご注文で最短翌日お届け
----------------------------*/
#page_product_detail .column {
  border: solid 1px #ccc;
  padding: 20px;
}

.ShippingDate.BigText {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}

#page_product_detail .column p {
  text-align: center;
}

.BigText p {
  display: inline-block;
  font-size: 20px;
}

.DeliveryText {
  display: inline-block;
  background-color: #e32e33;
  color: #fff;
  font-weight: 700;
  font-weight: 700;
  padding: 5px 20px 2px;
  margin-right: 10px;
}

.DeliveryText::before {
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  vertical-align: bottom;
  background-image: url(/html/user_data/assets/img/common/ico_Shipping2.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
  background-position: 0 2px;
}

.SoldoutText {
  display: inline-block;
  background-color: #525263;
  color: #fff;
  font-weight: 700;
  font-weight: 700;
  padding: 5px 20px 2px;
}

@media screen and (max-width: 477px) {
  .DeliveryText,
  .SoldoutText {
    width: 100%;
  }
}

.SoldoutText::before {
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  vertical-align: bottom;
  background-image: url(/html/user_data/assets/img/common/ico_Shipping2.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 10px;
  background-position: 0 2px;
}

/*----------------------------
カートボタン
----------------------------*/
.CartBtnArea {
  border-top: solid 1px #ccc;
  padding: 20px 0;
}

.CartBtnArea .FlexArea {
  justify-content: flex-end;
  gap: 30px;
  /*align-items: center;*/
}

@media screen and (max-width: 1024px) {
  .CartBtnArea .FlexArea {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

.ec-productRole .ec-productRole__actions {
  padding: 0;
}

@media screen and (max-width: 1024px) {
  .ec-productRole .ec-productRole__actions {
    flex: 0 1 100%;
  }
}

.ec-productRole .ec-productRole__actions .stock {
  text-align: left;
  margin-bottom: 5px;
}

.ec-productRole .ec-productRole__actions #quantity {
  margin-bottom: 0;
}

.ec-productRole .ec-productRole__actions {
  flex: 0 1 40%;
}

@media screen and (max-width: 1024px) {
  .ec-productRole .ec-productRole__actions {
    flex: 0 1 100%;
  }
}

.ec-productRole .ec-productRole__actions .ec-select select {
  min-width: auto;
  display: block;
  width: 100%;
}

.ec-productRole .ec-productRole__btn {
  margin-bottom: 0;
  flex: 0 1 60%;
  max-width: 400px;
}

@media screen and (max-width: 1024px) {
  .ec-productRole .ec-productRole__btn {
    flex: 0 1 100%;
    max-width: none;
  }
}

.ec-productRole .ec-productRole__btn .add-cart {
  background: #e32e33;
  transition: 0.3s;
}

/* SP-カートボタンの固定 */

@media screen and (max-width:599px) {
  .ec-productRole .ec-productRole__btn .add-cart{
    display: none;
    position: fixed;
    bottom: 10px;
    width: 90%;
    margin: 0 auto;
    z-index: 10000;
  }
  .pagetop{
    display: block;
  }
  .ec-blockTopBtn{
    display: none !important;
  }
}

.ec-productRole .ec-productRole__btn .add-cart:hover {
  opacity: 0.5;
}

@media only screen and (min-width: 768px){
  .ec-productRole .ec-productRole__btn{
    width: auto;
    min-width: auto;
  }
}

button.ec-blockBtn--action {
  margin-bottom: 10px;
}

.CartBtnArea .ec-productRole__btn,
.CartBtnArea .ec-numberInput {
  margin-top: 30px;
}

@media screen and (max-width: 1024px) {
  .CartBtnArea .ec-productRole__btn,
  .CartBtnArea .ec-numberInput {
    margin-top: 0;
  }
}

/* 
.CartBtnArea .ec-select>.mb-3 {
    display: flex;
    align-items: center;
}

.CartBtnArea .ec-select label {
    flex: 0 1 150px;
    display: block;
}

.CartBtnArea .ec-select label+input[type="select"] {
    flex: 0 1 calc(100% - 100px);
}
*/

.ec-product_restockBtn{
  margin-bottom: 10px;
  text-align: right;
}

.ec-product_restockBtn::before{
  display: inline-block;
    content: "";
    background-image: url(/html/user_data/assets/img/common/icon_restock.png);
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: sub;
}

/*----------------------------
レビュー点数
----------------------------*/
#ReviewPoint_and_Favorite {
  /* display: flex;
  gap: 10px;
  justify-content: space-between; */
}

@media screen and (max-width: 399px) {
  #ReviewPoint_and_Favorite {
    display: block;
  }
}

.ReviewPoint_text{
  display: flex;
}

.ReviewPoint span {
  display: inline-block;
  margin-right: 5px;
  color: #99865f;
}

.ReviewPoint span::before{
  display: inline-block;
    content: "★";
    color: #cfb990;
    font-size: 20px;
    line-height: 20px;
}

.ReviewPoint_text a {
  display: inline-block;
  margin-right: 5px;
}

.ReviewPoint_text span{
  display: block;
  content: "★";
  color: #cfb990;
  font-size: 20px;
  line-height: 20px;
}

@media screen and (max-width:410px){
  .ReviewPoint_text span{
    margin:auto 0;
  }
}

.ReviewPoint_and_Favorite_box{
  display: flex;
  justify-content: flex-start;
}

#product_review_area_wrapper{
  padding-top: 200px;
  margin-top: -200px;
}

/*----------------------------
お気に入りボタン
----------------------------*/
.favoriteBtn {
  /* margin-bottom: 20px; */
  margin-bottom: 10px;
  margin-right: 20px;
}

/* 
.favoriteBtn form {
    display: flex;
    justify-content: flex-end;
}
*/

.favoriteBtn a,
.favoriteBtn div {
  display: flex;
  align-items: center;
  gap: 5px;
}

.favoriteBtn a span,
.favoriteBtn div span {
  display: block;
}

.favoriteBtn img {
  width: 16px;
}

/*----------------------------
ご注文の前にご確認下さい
----------------------------*/
.Confirm {
  display: flex;
  justify-content: space-between;
  border: solid 1px #555;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.Confirm h4 {
  flex: 0 1 270px;
  flex: 0 1 100%;
  background: #555;
  color: #fff;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

@media screen and (max-width: 1024px) {
  .Confirm h4 {
    flex: 0 1 100%;
  }
}

.Confirm h4 + div {
  flex: 0 1 calc(100% - 270px);
  flex: 0 1 100%;
  padding: 10px;
}

@media screen and (max-width: 1024px) {
  .Confirm h4 + div {
    flex: 0 1 100%;
  }
}

.Confirm h4 + div p {
  font-size: 14px;
  text-align: center;
}

.Confirm h4 + div p:nth-child(1) {
  font-size: 18px;
}

/*----------------------------
クール便おすすめ
----------------------------*/
.CoolMail {
  border: solid 5px #f0e8d8;
  padding: 20px;
  margin-bottom: 20px;
}

.CoolMail h4 {
  text-align: center;
  font-weight: 600;
  color: #99865f;
  margin-bottom: 20px;
}

/*----------------------------
この商品をお問い合わせ
----------------------------*/
.question_btn {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end;
}

.question_btn a {
  display: block;
  color: #e32e33;
  border: solid 1px #e32e33;
  text-align: center;
  padding: 10px;
  flex: 1;
  max-width: 400px;
}

@media screen and (max-width: 1024px) {
  .question_btn a {
    max-width: none;
  }
}

/*************************************************************

商品情報メイン

*************************************************************/
.DescriptionArea {
}

.HideArea,
.HideArea2,
.HideArea3  {
  position: relative;
}

.HideArea::before,
.HideArea2::before,
.HideArea3::before {
  position: absolute;
  content: "";
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 80%
  );
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  z-index: 1;
}

.HideArea3::before{
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 20%
  );
  height: 50%;
  bottom: -1px;
}

.HideArea.AreaOpen::before,
.HideArea2.AreaOpen::before,
.HideArea3.AreaOpen::before {
  display: none;
}

.HideArea .Hide,
.HideArea2 .Hide2,
.HideArea3 .Hide3 {
  display: none;
}

.HideArea .readmore,
.HideArea2 .readmore2,
.HideArea3 .readmore3 {
  max-width: 200px;
  margin: auto;
  text-align: center;
  border: solid 1px #ccc;
  padding: 10px 20px;
  border-radius: 5px;
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  cursor: pointer;
  width: 100%;
}

.HideArea.AreaOpen .readmore,
.HideArea2.AreaOpen .readmore2,
.HideArea3.AreaOpen .readmore3 {
  position: static;
  transform: none;
}

.HideArea3.AreaOpen .readmore3{
  margin: 20px auto;
}

.HideArea .readmore .close,
.HideArea2 .readmore2 .close,
.HideArea3 .readmore3 .close {
  display: none;
}

.HideArea .readmore.on-click .close,
.HideArea2 .readmore2.on-click .close,
.HideArea3 .readmore3.on-click .close {
  display: block;
}

.HideArea .readmore.on-click .open,
.HideArea2 .readmore2.on-click .open,
.HideArea3 .readmore3.on-click .open{
  display: none;
}

/*----------------------------
商品情報　上部
----------------------------*/
.ProductInfo {
  background: url(../img/detail/productInfoBG.jpg) no-repeat right bottom;
  border: solid 1px #ccc;
  padding: 50px;
  margin-bottom: 80px;
}

@media screen and (max-width: 599px) {
  .ProductInfo {
    background: url(../img/detail/productInfoBG.jpg) no-repeat right bottom;
    background-size: contain;
    padding: 20px;
  }
}

.ProductInfo h3 {
  text-align: left;
}

.ProductInfo .FlexArea {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}

.ProductInfo .FlexArea .left {
  flex: 0 1 calc(65% - 20px);
}

@media screen and (max-width: 1024px) {
  .ProductInfo .FlexArea .left {
    flex: 0 1 100%;
  }
}

.ProductInfo .FlexArea .right {
  flex: 0 1 calc(35% - 20px);
}

@media screen and (max-width: 1024px) {
  .ProductInfo .FlexArea .right {
    flex: 0 1 100%;
  }
}

.ProductInfo .FlexArea .bloc {
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.ProductInfo .FlexArea .bloc .title {
  flex: 0 1 110px;
}

@media screen and (max-width: 1024px) {
  .ProductInfo .FlexArea .bloc .title {
    flex: 0 1 100%;
    margin-bottom: 10px;
  }
}

.ProductInfo .FlexArea .bloc .title + div {
  flex: 0 1 calc(100% - 130px);
}

@media screen and (max-width: 1024px) {
  .ProductInfo .FlexArea .bloc .title + div {
    flex: 0 1 100%;
  }
}

.ProductInfo .FlexArea table {
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
  font-size: 12px;
}

.ProductInfo .FlexArea table td {
  width: calc(100% / 5);
  text-align: center;
}

.ProductInfo .FlexArea table tr:nth-child(1) td {
  background: #e7dcc5;
  color: #fff;
}

.ProductInfo .FlexArea table tr:nth-child(2) td:first-child {
  text-align: left;
}

.ProductInfo .FlexArea table tr:nth-child(2) td:last-child {
  text-align: right;
}

.ProductInfo .FlexArea .ProductionArea {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ProductInfo .FlexArea .ProductionArea .image {
  flex: 0 1 40px;
}

/*----------------------------
商品情報　下部
----------------------------*/

.ProductInfo2 {
  margin-top: 100px;
}

.ProductInfo2 h3 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 50px;
  font-weight: 400;
}

.ProductInfo2 div h3{
  text-align: center;
  font-size: 20px;
  margin-bottom: 0px;
  font-weight: 600;
}

.ProductInfo2 h4 {
  text-align: center;
  font-size: 26px;
  color: #cfb990;
  margin-bottom: 50px;
  font-family: var(--FontMincho);
  font-weight: 600;
}

.ProductInfo2 h4 span {
  display: block;
  font-size: 24px;
  color: #333;
  font-family: var(--FontDefault);
}

.ProductInfo2 h4 + .image {
  text-align: center;
  margin-bottom: 30px;
}

.ProductInfo2 .Detail .image {
  text-align: center;
  margin: 0px auto 50px;
}

.ProductInfo2 .FlexArea {
  justify-content: space-between;
  align-items: stretch;
}

.ProductInfo2 .FlexArea .image {
  width: 40%;
  margin: 0;
  order: 1;
}

.ProductInfo2 .FlexArea div:last-child {
  width: 60%;
}

.ProductInfo2 h5 {
  font-size: 28px;
  border-bottom: solid 1px #ccc;
  margin-bottom: 50px;
  padding: 10px 0;
  font-weight: 600;
}

.ProductInfo2 .Detail_list h5 {
  margin-bottom: 0px;
}

.ProductInfo2 h6 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}

.ProductInfo2 .Detail p {
  line-height: 1.6;
  font-size: 16px;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
}

.ProductInfo2 .Detail {
  margin-bottom: 50px;
}

.ProductInfo2 .Detail_list p{
  margin: 30px 0 50px;
    font-weight: 600;
    letter-spacing: 0.1rem;
}

.ProductInfo2 .Producer .FlexArea {
  justify-content: space-between;
}

.ProductInfo2 .Producer h3 {
  margin-bottom: 0;
  font-weight: 600;
}

.ProductInfo2 .Producer h4 {
  margin-bottom: 0;
}

/*追加*/
.ProductInfo2 .img_topline{
text-align: center;
margin: 0px auto 30px;
}

@media screen and (max-width: 1024px) {
  .ProductInfo2 .Producer .FlexArea {
    display: block;
  }

  .ProductInfo2 .Producer .FlexArea::after {
    clear: both;
    content: "";
  }
}

.ProductInfo2 .Producer .FlexArea .image {
  flex: 0 1 300px;
}

@media screen and (max-width: 1024px) {
  .ProductInfo2 .Producer .FlexArea {
    display: block;
  }

  .ProductInfo2 .Producer .FlexArea::after {
    clear: both;
    content: "";
  }

    .ProductInfo2 .FlexArea {
      display: block;
    }
    .ProductInfo2 .FlexArea .image {
      width: auto;
      margin: 50px 0;
    }
    .ProductInfo2 .FlexArea div:last-child {
      width: auto;
    }
    .ProductInfo2 .Producer .FlexArea .image {
      float: left;
      margin-right: 20px;
      margin-bottom: 20px;
    }
  }

@media screen and (max-width: 599px) {
  .ProductInfo2 .Producer .FlexArea .image {
    width: 50%;
  }
}

.ProductInfo2 .Producer .FlexArea .image + p {
  flex: 0 1 calc(100% - 320px);
}

.ProductInfo2 .BnrArea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 100px;
}

.ProductInfo2 .BnrArea li {
  flex: 0 1 calc(100% / 2 - 20px);
}

@media screen and (max-width: 1024px) {
  .ProductInfo2 .BnrArea li {
    flex: 0 1 100%;
    margin-bottom: 20px;
    text-align: center;
  }
}

@media screen and (max-width: 599px) {
  .ProductInfo2 h3 {
    font-size: 16px;
  }

  .ProductInfo2 h3 br {
    display: none;
  }
  .ProductInfo2 h4{
    font-size: 20px;
  }
  .ProductInfo2 h4 span{
    font-size: 18px;
  }
  .ProductInfo2 .Detail{
    margin-bottom: 30px;
  }
  .ProductInfo2 .Detail p{
    line-height: 1.4;
  }
  .ProductInfo2 h6{
    font-size: 18px;
  }
}

/*************************************************************

関連記事

*************************************************************/

.ProductInfo2 .article li{
  margin-bottom: 30px;
  padding-left: 15px;
}

.ProductInfo2 .article li p{
  position: relative;
}

.ProductInfo2 .article li p::before{
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px var(--mainColor);
  border-right: solid 2px var(--mainColor);
  position: absolute;
  left: -15px;
  top: 8px;
  transform: rotate(45deg);
}

@media screen and (max-width:599px){
  .ProductInfo2 .Detail_list li{
    padding: 10px 0px;
    font-size: 14px;
  }
}

/*************************************************************

おすすめ商品

*************************************************************/
#RelatedProduct-product_area {
  padding: 0 10px;
  max-width: none;
}

#RelatedProduct-product_area h3 {
  text-align: left;
  border-bottom: solid 1px #ccc;
  margin-bottom: 20px;
  padding: 10px 0;
  font-size: 28px;
}

#RelatedProduct-product_area .scrollWrapper {
}

@media screen and (max-width: 1024px) {
  #RelatedProduct-product_area .scrollWrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

#RelatedProduct-product_area ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 20px;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  #RelatedProduct-product_area ul {
    gap: 20px;
    width: 1024px;
  }
}

#RelatedProduct-product_area ul > li {
  flex: 0 1 calc(100% / 6);
  padding: 0;
}

/*************************************************************

おすすめの新着ワイン

*************************************************************/
#page_product_detail #TopPageNewItem {
  margin: 0 calc(50% - 50vw);
  box-sizing: border-box;
}

/*************************************************************

商品データ一覧

*************************************************************/
.DetailTable dl > div {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: solid 1px #ccc;
}

@media screen and (max-width: 599px) {
  .DetailTable dl > div {
    display: block;
  }
}

.DetailTable dl > div > dt {
  flex: 0 1 30%;
}

@media screen and (max-width: 599px) {
  .DetailTable dl > div > dt {
    margin-bottom: 5px;
  }
}

.DetailTable dl > div > dd {
  flex: 0 1 70%;
}

.DetailTable table {
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
  font-size: 12px;
}

.DetailTable table td {
  width: calc(100% / 5);
  text-align: center;
}

.DetailTable table tr:nth-child(1) td {
  background: #e7dcc5;
  color: #fff;
}

.DetailTable table tr:nth-child(2) td:first-child {
  text-align: left;
}

.DetailTable table tr:nth-child(2) td:last-child {
  text-align: right;
}

/*************************************************************

商品情報

*************************************************************/
.DetailText {
  padding: 10px;
  border: solid 1px #ccc;
}

.DetailText h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

/*************************************************************

ギフトラッピング

*************************************************************/
.GiftWrapping {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
  width: 100%;
  max-width: 1280px;
}

/*************************************************************

カレンダー

*************************************************************/
#Calendar {
  padding-top: 0;
  margin-bottom: 0;
}

#businessday_calendar .FlexArea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#businessday_calendar .FlexArea table {
  flex: 0 1 calc(100% / 3 - 20px);
}

@media screen and (max-width: 1024px) {
  #businessday_calendar .FlexArea table {
    flex: 0 1 100%;
  }
}

/*************************************************************

リアルタイム

*************************************************************/
#RealTime {
  padding-top: 0;
}

#RealTime .area {
  /*
    height: 300px;
    background: #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
    */
}

#RealTime .Update {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

#RealTime .MainArea {
  max-height: 400px;
  overflow: auto;
}

#RealTime .MainArea table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
}

#RealTime .MainArea table tr:nth-child(1) {
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table tr:nth-child(1) {
    display: none;
  }
}

#RealTime .MainArea table th {
  background: #eee;
  padding: 10px;
  text-align: center;
}

#RealTime .MainArea table td {
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td {
    display: block;
  }
}

#RealTime .MainArea table td:nth-child(1) {
  text-align: center;
  vertical-align: middle;
  width: 30px;
  background: #f4f4f4;
  font-weight: 900;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(1) {
    width: 100%;
    margin-bottom: 10px;
    font-size: 20px;
    padding: 15px 10px;
  }
}

#RealTime .MainArea table td:nth-child(2) {
  text-align: center;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(2) {
    text-align: center;
    padding: 10px;
    border-bottom: none;
  }
}

#RealTime .MainArea table td:nth-child(2) img {
  width: 100px;
}

#RealTime .MainArea table td:nth-child(3) {
  padding: 10px;
  text-align: center;
  background: #f4f4f4;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(3) {
    padding: 10px;
    text-align: center;
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
    margin-bottom: 10px;
    background: #fff;
  }
}

#RealTime .MainArea table td:nth-child(3) br {
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(3) br {
    display: none;
  }
}

#RealTime .MainArea table td:nth-child(4) {
  padding: 10px;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(4) {
    border-bottom: none;
  }
}

#RealTime .MainArea table td:nth-child(5) {
  padding: 10px;
  text-align: center;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(5) {
    border-bottom: none;
  }
}

#RealTime .MainArea table td:nth-child(6) {
  padding: 10px;
  font-weight: 900;
  border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 1024px) {
  #RealTime .MainArea table td:nth-child(6) {
    padding: 30px 10px;
    text-align: center;
    font-size: 20px;
    border-bottom: none;
  }
}

#RealTime .star {
  color: #99865f;
}

/*************************************************************

送料について

*************************************************************/
@keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.PostageWindow .Overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1200;
  display: none;
}

.PostageWindow.PostageOpen .Overlay {
  display: block;
  animation: fadein 0.5s ease;
}

.PostageWindow .Main {
  background: #fff;
  padding: 50px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 640px;
  height: 90%;
  z-index: 1201;
  display: none;
  overflow: auto;
  border-radius: 5px;
}

@media screen and (max-width: 599px) {
  .PostageWindow .Main {
    padding: 20px;
  }
}

.PostageWindow.PostageOpen .Main {
  display: block;
  animation: fadein 0.5s ease;
}

.PostageWindow .Main .CenterText {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}

@media screen and (max-width: 599px) {
  .PostageWindow .Main .CenterText {
    font-size: 16px;
  }
}

.PostageWindow .Main ul li {
  position: relative;
  padding-left: 1.5em;
}

.PostageWindow .Main ul li:not(:last-of-type) {
  margin-bottom: 10px;
}

.PostageWindow .Main .Nomal {
  margin-bottom: 50px;
}

.PostageWindow .Main .Nomal ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.PostageWindow .Main .Cool {
  margin-bottom: 50px;
}

.PostageWindow .Main .notes {
  margin-bottom: 50px;
}

.PostageWindow .Main .notes li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.PostageWindow .CloseBT {
  border: solid 1px #ccc;
  padding: 10px;
  text-align: center;
  max-width: 200px;
  margin: auto;
  cursor: pointer;
  border-radius: 5px;
  transition: 0.3s;
}

.PostageWindow .CloseBT:hover {
  opacity: 0.5;
}

/*************************************************************

同梱不可

*************************************************************/
.IncludeWindow .Overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1200;
  display: none;
}

.IncludeWindow.IncludeOpen .Overlay {
  display: block;
  animation: fadein 0.5s ease;
}

.IncludeWindow .Main {
  background: #fff;
  padding: 50px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 640px;
  height: auto;
  z-index: 1201;
  display: none;
  overflow: auto;
  border-radius: 5px;
}

@media screen and (max-width: 599px) {
  .IncludeWindow .Main {
    padding: 20px;
  }
}

.IncludeWindow.IncludeOpen .Main {
  display: block;
  animation: fadein 0.5s ease;
}

.IncludeWindow.IncludeOpen .Main p {
  margin-bottom: 50px;
}

.IncludeWindow .CloseBT {
  border: solid 1px #ccc;
  padding: 10px;
  text-align: center;
  max-width: 200px;
  margin: auto;
  cursor: pointer;
  border-radius: 5px;
  transition: 0.3s;
}

.IncludeWindow .CloseBT:hover {
  opacity: 0.5;
}

/*************************************************************

その他のオススメ商品

*************************************************************/
.OsusumeItemArea {
  margin-bottom: 50px;
}

.OsusumeItemArea h3 {
  text-align: left;
  border-bottom: solid 1px #ccc;
  margin-bottom: 20px;
  padding: 10px 0;
  font-size: 28px;
}

.OsusumeItemArea ul {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.OsusumeItemArea ul::before,
.OsusumeItemArea ul::after {
  content: "";
  width: calc(100% / 4 - 10px);
  display: block;
}


@media screen and (max-width: 599px) {
  .OsusumeItemArea ul::before,
  .OsusumeItemArea ul::after {
    display: noen;
  }
}

.OsusumeItemArea ul::before {
  order: 1;
}

.OsusumeItemArea ul > li {
  flex: 0 1 calc(100% / 4 - 10px);
  margin-bottom: 20px;
}

@media screen and (max-width: 1024px){
  .OsusumeItemArea ul > li{
    flex: 0 1 calc(100% / 3 - 10px);
  }
}

@media screen and (max-width: 599px) {
  .OsusumeItemArea ul > li {
    flex: 0 1 calc(100% / 2 - 5px);
  }
}

.OsusumeItemArea ul > li a {
  color: inherit;
}

.OsusumeItemArea ul > li .image {
  margin-bottom: 10px;
}

.OsusumeItemArea ul > li p.item_name {
  font-weight: 600;
}

/*************************************************************

レビューエリア

*************************************************************/
#product_review_area .ec-role {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}

#product_review_area {
  padding: 0 10px;
}


/* 1stView調整 */
#page_product_detail .column{
  margin-bottom: 30px;
}
.BigText p{
  font-size: 16px;
}
#page_product_detail .column p{
  margin-bottom: 0;
}
.DeliveryText{
  padding: 0px 20px 2px;
}

/* 余白の調整 */
@media screen and (max-width:1024px){
  .slick-slider{
    margin: 10px 0;
  }
  .ec-grid2 .ec-grid2__cell.detailImage{
    margin-bottom: 0;
  }
}