/*　トップマージン */
@media screen and (max-width: 767px) {
  .main__section {
    margin-top:100px;
  }
}
/*　トップマージン */

#p-product {
    overflow: hidden;
    margin-top: 30px;
}
@media screen and (max-width: 767px) {
  #p-product {
    margin-top: 0;
}
}
#p-product h2 {
  text-align:center;
  margin:20px 0 40px 0;
  font-size:30px;
}
#p-product img{
  display: block;
  margin: auto;
}
  .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10rem;
  }

  .l-section .l-inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

@media screen and (max-width: 1110px) {
  .l-inner {
    padding: 10px 4rem!important;
  }
}

@media only screen and (max-width: 767px) {
  .l-inner {
      padding: 0 3.5vw!important;
    }
}


/*　商品グリッド */
#progri{
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: auto;
grid-column-gap: 20px;
grid-row-gap: 10px;
  margin:30px auto 70px auto;
}

.pprice{
  grid-area: 2 / 1 / 3 / 2;
  padding-left:30px;
  padding-left:0;
  margin-top:1rem;
}

.buynum{
    padding: 15px;
    width: 80%;
    height: 50%;
    margin: auto 0;
}

.proetc{ 
  grid-area: 2 / 2 / 3 / 3;
  padding-right:30px;
}

.etcyose{
  display: grid;
  justify-content: right;
}

.etcyose p{
  margin-bottom:10px;
}

@media screen and (max-width: 767px) {
  #progri{
    display: initial;
  }
  
  .etcyose{
    margin:3rem 0;
    justify-content: left;
  }
  
  .etcyose p{
  font-size:0.8em;
  }
}
/*　商品グリッド */

/* 商品名 */
.product-name{
  border-bottom:solid 1px ;
  padding-bottom:1vw;
  margin:2vw 0;
  font-size:1.8em;
}
@media screen and (max-width: 767px) {
  .product-name{
    font-size:1.5em;
  }
}
/* 商品名 */

/* 商品画像 */
.procen{
  text-align:center;
}
.procen img{
  width:500px;
}
@media screen and (max-width: 1110px) {
  .procen{
    margin:1.5rem 0;
  }
}
/* 商品画像 */

/* 価格 */
table.nedan th{
  padding-right:20px;
  text-align:left;
}

table.nedan th,table.nedan td{
  padding-bottom:10px;
}

table.nedan td{
  padding-left:10px;
}

.fa-2x{
  font-size: 1.5em!important;
}

.product__price{
  font-size:1.5em;
}
/* 価格 */

/* SPパンくず */
@media screen and (max-width: 767px) {
.c-breadcrumbs {
    text-align: left!important;
}
}
/* SPパンくず */

/* 商品詳細ページ 配送・サービス案内 アイコン */
.markarea {
  padding:  5px;
  margin: 5px;
}
.mark {
  width: 50px;
  height: 50px;
  text-align: center;
  padding: 0.2em 0 0 0.2em;
  color: #FFF;
  float: left;
  margin: 0 5px 5px 5px;
  border-radius: 3px;
}
.mark span {
  line-height: 1.3;
  letter-spacing : 0.4em;
}
.limited {
  background-color: #a7c382;
}
.shipping {
  background-color: #e36274;
}
.noshi {
  background-color: #e39a62;
}
.normal {
  background-color: #c0e362;
}
.chilled {
  background-color: #62dee3;
}
.frozen {
  background-color: #627de3;
}
.shippingmark {
  width: 50px;
  height: 50px;
  text-align: center;
  padding: 0;
  color: #FFF;
  float: left;
  margin: 0 5px 10px 5px;
  border-radius: 3px;
  background-color: #333333;
  font-size: 0.5em;
}
.marklarge {
  font-size: 4em;
  line-height: 1;
}
.markarea p {
  font-weight: bold;
}

.markarea h3 {
  font-size: 15px;
  text-align : initial;
}

.markarea a {
  text-decoration: underline;
}

.markarea .attention {
  background-color: #fff;
  border: 1px solid #333;
  padding: 15px 20px;
  margin:20px 0;
}
.markarea .normal_guide h3:after {
  white-space: pre;
  content:"\A※開封後はお早めにお召し上がり下さい。";
  font-weight: normal;
}
.markarea .chilled_guide h3:after {
  white-space: pre;
  content:"\A※10℃以下で保存してください。\A※常温での保存はできません。\A※開封後はお早めにお召し上がり下さい。";
  font-weight: normal;
}
.markarea .frozen_guide h3:after {
  white-space: pre;
  content:"\A※冷凍品のため、冷蔵品・常温品との同梱ができません。\A　冷蔵品・常温品をあわせてご購入の場合、分けてご注文いただきますようお願いいたします。\A※冷凍で保存してください。\A※解凍後、開封後はお早めにお召し上がり下さい。";
  font-weight: normal;
}

@media (max-width: 768px) {
.markarea .normal_guide h3:after {
  white-space: pre-wrap;
}
.markarea .chilled_guide h3:after {
  white-space: pre-wrap;
}
.markarea .frozen_guide h3:after {
  white-space: pre-wrap;
}
}
.shipping_a,.shipping_b,.shipping_c,.shipping_d,.limited,.shipping,.noshi,.normal,.chilled,.frozen,.normal_guide,.chilled_guide,.frozen_guide {
  display: none;
}

/* 商品詳細ページ 配送・サービス案内 アイコン */

/* DETAIL */
.exp{
  padding:50px 8vw;
}
@media screen and (max-width: 767px) {
  .exp{
  padding:50px 3.5vw;
  }
}

.tokucho{
  margin: 0 auto 20px ;
  width: 85%;
  overflow: hidden;
}

#p-product .tokucho h2{
  font-size: 1.8em;
  margin: 20px auto;
}

.img_nashi{
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-column-gap: 20px;
  grid-row-gap: 10px;
  padding: 10px 50px;
}

.img_ari{
  display: grid;
/* grid-template-columns: 1fr 1fr; */
grid-template-rows: auto;
grid-column-gap: 10px;
grid-row-gap: 10px;
  padding: 10px 50px;
}

.img_nashi h3,.img_ari h3 {
  grid-area: 1 / 1 / 2 / 3; 
  border-bottom: solid 1px;
  padding-bottom:5px;
  font-size:1.5em;
}

.img_nashi .ex1,.img_ari .ex1 {
  grid-area: 2 / 1 / 3 / 2; 
  margin: 20px 0;
}

.img_ari .ex2 { 
  grid-area: 2 / 2 / 3 / 3; 
  margin:auto;
  width:95%;
  padding: 5px 0 1.5em 0;
  text-align:center;
}

@media screen and (max-width: 1110px) {
.tokucho{
  width: 100%;
}
  
.img_nashi,.img_ari{
  padding:0;
}
}
 @media screen and (max-width: 767px) {
   .img_nashi,.img_ari{
  display: block;
   }
   .img_nashi h3,.img_ari h3{
     padding-bottom:10px;
   }
   .img_nashi .ex1,.img_ari .ex1{
     margin-top:10px;
   }
}
   
/* DETAIL */

/* スライド */
@import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
  :root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
  }

  [class*=swiper]:focus {
    outline: none;
  }

  .slide-media,
  .thumb-media {
    position: relative;
    overflow: hidden;
  }

  .slide-media img,
  .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .imgsli .swiper {
    overflow: visible;
    margin: 20px 0;
  }

  .imgsli .slide {
    overflow: hidden;
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
    border-radius: 4px;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
  }

  .imgsli .slide-media {
    padding-top: 100%;
  }

  .imgsli .slide-media img {
    height: 100%;
    top:16px;
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }

  .imgsli .swiper-slide:not(.swiper-slide-visible) .slide {
    pointer-events: none;
    opacity: 0.3;
  }

  @media only screen and (max-width: 1110px) {
    .imgsli .swiper {
      padding: 0 3.2rem;
    }
  }

  @media only screen and (min-width: 1110px) {
    .imgsli .slide img {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    
    .imgsli .slide:hover {
      -webkit-transform: translateY(-16px);
              transform: translateY(-16px);
      -webkit-box-shadow: var(--box-shadow-hover);
              box-shadow: var(--box-shadow-hover);
    }
    
    .imgsli .slide:hover img {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      height:110%;
      top:0;
    }
  }
/* スライド */

/* SNS共有 */
.product__social-list {
  display: flex;
  gap: 10px;
}
/* SNS共有 */

/* 他サイズリンクボタン */
.conwrap{
  margin: 2em auto;
}

@media screen and (max-width: 767px) {
  .conwrap{
    display:initial;
  }
  
  .conbot{
    margin:10px auto;
  }
}
/* 他サイズリンクボタン */

/* 商品概要 */
table.table {
    margin: 20px auto;
    width: 80%;
    border: none;
    border-bottom: solid 1px #666;
    border-collapse: separate;
    border-spacing: 0 10px;
}
    
table.table th {
    vertical-align: middle;
    height: 53px;
    border-right: solid 1px #666;
    margin: 0;
    text-align: center;
    color: #333;
    font-size: 16px;
    font-weight: bold;
    text-wrap: nowrap;
    padding: 0 10px;
}

table.table th.title{
  border-right:none;
  font-size:20px;
  border-bottom: solid 1px #666;
}

table.table td{
  margin: 0;
  height: 53px;
  border: none;
  color: #666;
  font-size: 16px;
  line-height: 16px;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
  padding: 0 10px;
}

table.table td.bar {
  height: 1px;
  width: 100%;
  border-top: solid 1px #34495e;
}

@media screen and (max-width: 1110px) {
table.table {
  width: 100%;
}
}
/* 商品概要 */

/* この商品について問い合わせる */
.product_link_area {
  margin: 20px 0;
  padding: 20px 0 60px;
  border-bottom: #ccc solid 1px;
}

@media screen and (max-width: 1100px) {
.product_link_area {
  margin: 30px 0 0;
}
}

.btn-contact {
  display: block;
  border: none;
  color: #fff;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance:none;
  margin: 0.5em 0.3em;
  padding: 2em 0;
  background-color: #a0a0a0;
  font-weight: normal;
  font-size: 15px;
  border-radius: 5px;
}
/* この商品について問い合わせる */

/* レビュー */
h2.review_title {
  margin-bottom: 0.8em;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
  margin-top: 30px;
}

.p-product-review {
  margin-bottom: 30px;
}

.p-product-review ul{
    display: block;
  margin-bottom: 10px;
}

.p-product-review li {
  display: list-item;
}

.p-product-review__item {
  box-sizing: border-box;
  border-bottom: 1px solid #eee;
}

@media screen and (max-width: 767px) {
  .p-product-review {
    margin-top: 30px;
  }
  .p-product-review__item {
    padding: 20px 0;
  }
}

.p-product-review__ttl {
  margin-bottom: 10px;
  font-size: 1.1em;
  font-weight: 600;
}

.p-product-review__comment {
  margin-bottom: 10px;
  font-size: 1.0em;
}

.p-product-review__data {
  display: block;
}

.p-product-review-info {
  display: flex;
}

.p-product-review-info__item {
  display: inline-block;
  font-size: 1.0em;
}

.p-product-review__img {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
/* レビュー */

/* レビュー 返信 */
.shopcomment {
  font-size: 0.8em;
  margin-top: 10px;
  margin-bottom: 10px;
  background: #eee;
  color: #6a676a;
  padding: 25px;
  border-radius: 6px;
}

.shopcomment_ttl {
  font-size: 0.8em;
  font-weight: 700;
}

.input-prepend.input-append input {
  font-size: 24px;
  padding-top: 11px;
  padding-bottom: 11px;
  width: 100px;
  text-align: right;
}
/* レビュー 返信 */

/*　ボトム */
/* おすすめ商品 */
#box_recommend {
  padding-top: 30px;
}

ul.item_box li{
  width: 25%;
}

.item_name {
  text-decoration: none;
  margin: 15px 0 10px 0;
  text-align: left;
}

.item_detail, .item_name a {
  font-size: 0.9em;
}

@media screen and (max-width: 767px) {
ul.item_box li{
  width: 50%;
}
}
/* おすすめ商品 */

@media screen and (max-width: 767px) {
  .l-bottom h2,.revh2 h2{
    margin:20px 0 40px 1em!important;
  }
}

@media screen and (max-width: 500px) {
 .l-bottom h2,.revh2 h2 {
  font-size:6vw!important;
  }
}

.c-item-list__price{
  text-align:right;
}
.osusume .c-favorite-list__item {
  width: calc(100% / 4);
}
@media screen and (max-width: 767px) {
  .osusume .c-favorite-list__item,.c-favorite-list__item {
  width: calc(100% / 2);
}
}