/******************************/
/* margin padding */
/******************************/
.mrg_t10 {
  margin-top: 10px;
}
.mrg_t20 {
  margin-top: 20px;
}
.mrg_t30 {
  margin-top: 30px;
}
.mrg_t40 {
  margin-top: 40px;
}
.mrg_t60 {
  margin-top: 60px;
}
.mrg_t80 {
  margin-top: 80px;
}
.mrg_t100 {
  margin-top: 100px;
}


.mrg_t-300 {
  margin-top: -3000px;
}
.mrg_t-240 {
  margin-top: -240px;
}
.mrg_t-200 {
  margin-top: -200px;
}
.mrg_t-170 {
  margin-top: -170px;
}
.mrg_t-130 {
  margin-top: -130px;
}
.mrg_t-140 {
  margin-top: -140px;
}
.mrg_t-150 {
  margin-top: -150px;
}
.mrg_t-100 {
  margin-top: -100px;
}
.mrg_t-90 {
  margin-top: -90px;
}
.mrg_t-80 {
  margin-top: -80px;
}
.mrg_t-70 {
  margin-top: -70px;
}
.mrg_t-60 {
  margin-top: -60px;
}
.mrg_t-50 {
  margin-top: -50px;
}
.mrg_t-40 {
  margin-top: -40px;
}
.mrg_t-20 {
  margin-top: -20px;
}
.mrg_t-10 {
  margin-top: -10px;
}



.mrg_b06 {
  margin-bottom: 6px;
}
.mrg_b08 {
  margin-bottom: 8px;
}
.mrg_b10 {
  margin-bottom: 10px;
}
.mrg_b20 {
  margin-bottom: 20px;
}
.mrg_b40 {
  margin-bottom: 40px;
}
.mrg_b60 {
  margin-bottom: 60px;
}

.mrg_b-10 {
  margin-bottom: -10px;
}
.mrg_b-20 {
  margin-bottom: -20px;
}
.mrg_b-40 {
  margin-bottom: -40px;
}
.mrg_b-50 {
  margin-bottom: -50px;
}
.mrg_b-60 {
  margin-bottom: -60px;
}
.mrg_b-90 {
  margin-bottom: -90px;
}
.mrg_b-100 {
  margin-bottom: -100px;
}
.mrg_b-220 {
  margin-bottom: -220px;
}

.pd_t20 {
  padding-top: 20px;
}
.pd_t40 {
  padding-top: 40px;
}
.pd_t60 {
  padding-top: 60px;
}

/* 画像間隔 */
.img-MRG-b01 {
  margin-bottom: 20px;
}
.img-MRG-b02 {
  margin-bottom: 10px;
}
.img-MRG-b03 {
  margin-bottom: 0px;
}
.img-MRG-b04 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .img-MRG-b01 {
    margin-bottom: 6px;
    }    
}

/******************************/
/* マット機能 */
/******************************/
img.mat-point-MRG {
  margin: -100px 0 6px;
}
@media screen and (max-width: 767px) {
  img.mat-point-MRG {
    margin: -60px 0 -10px;
    }
}

@media screen and (max-width: 767px) {
  .basic_feature01 img, .basic_feature02 img, .basic_feature03 img, .basic_feature04 img, .basic_feature05 img, .basic_feature06 img, .basic_feature07 img, .basic_feature08 img, .basic_feature09 img, .About-lot-color img, .About-matcolor img {
    width: 100% !important;
  }
}

.basic_feature01, .basic_feature02, .basic_feature03, .basic_feature04, .basic_feature05, .basic_feature06, .basic_feature07, .basic_feature08, .basic_feature09, .About-lot-color, .About-matcolor {
  margin-bottom:-30px;
  }
@media screen and (max-width: 767px) {
  .About-matcolor {
    margin-bottom: -90px;
  }
}


.basic_feature01 .product_keypoint {
  margin-top: -40px;
  margin-bottom: -60px;
}
@media screen and (max-width: 767px) {
  .basic_feature01 .product_keypoint {
    margin-top: -80px;
    margin-bottom: -40px;      
  }      
}
  
.basic_feature04 img:not(.img-MRG-b03) {
  margin-bottom: 20px;
}
.basic_feature05 img.Antibacterial_power {
  margin-top: 40px;
}
.basic_feature06 {
  margin: -30px 0px -20px;/*上-50ピクセル、左右0ピクセル、下-20ピクセル*/
}
.basic_feature06 img.Inspection_report {
    margin-top: 20px;
}
img.mat__colorPick {
  margin: -20px 0 60px;
}
@media screen and (max-width: 767px) {
  img.mat__colorPick {
    margin: -20px 0 4px;
  }
}  
img.rugtype_color {
  margin-top: -80px;
}
@media screen and (max-width: 767px) {
  img.rugtype_color {
    margin-bottom: -40px;
  }
}

@media screen and (max-width: 767px) {
  .basic_feature01 {
    margin-top: -88px;
    margin-bottom: -70px;    
  }
  .basic_feature02 {
    margin-bottom: -70px;    
  }
  .basic_feature03 {
    margin-bottom: -70px;
  }
  .basic_feature04 {
    margin-top: -6px;
  }  
  .basic_feature05 {
    margin-top: -42px;
  }
  .basic_feature05 img.bacteria {
    margin-top: -38px;
  }
  .basic_feature06 {
    margin-top: -80px;
    margin-bottom: -40px;
  }
  .basic_feature06 img.Inspection_report {
  margin-top: 20px;
  }
  .basic_feature07 {
    margin-top: -80px;
    margin-bottom: -40px;
  }
}

.basic_feature01 > div, .basic_feature02 > div:not(.midashi01), .basic_feature03 > div:not(.midashi01), 
.basic_feature04 > div:not(.midashi01), .basic_feature05 > div, .basic_feature06 > div, .basic_feature07 > div, .basic_feature08 > div, .basic_feature09 > div, .About-lot-color > div, .About-matcolor > div {
  color: #000;
  font-size: 18px;
  line-height: 1.40em;
  letter-spacing: .01em;
  padding-top: 14px;
}
.About-matcolor > div, .About-lot-color > div {
  margin-top:-30px;
}
@media screen and (max-width: 767px) {
  .basic_feature01 > div:not(.mat_compare), .basic_feature02 > div:not(.midashi01), .basic_feature03 > div:not(.midashi01), .basic_feature04 > div:not(.midashi01), .basic_feature05 > div, .basic_feature06 > div, .basic_feature07 > div, .basic_feature08 > div, .basic_feature09 > div, .About-lot-color > div, .About-matcolor > div {
    font-size: 14px;
    margin: -2px 2px 0;/*上のマージンを-2ピクセル、左右のマージンを2ピクセル、下のマージンを無しで指定*/
  }
  .About-matcolor > div, .About-lot-color > div {
  margin-top:-40px;
  }
}  
/*TIP*/
.basic_feature04 > div > span:not(.cagemat-attention_text) {
  display: block;
  color: #fff;
  font-weight: bold;
  background-color: #ffad01;
  padding: 22px;
}
.basic_feature04 > div > span:not(.cagemat-attention_text)::before {
  display: block;
  content: '#TIP';
  font-weight: bold;
  color: #fff;
  font-size: 24px;
  margin-bottom: 10px;
} 
@media screen and (max-width: 767px) {
  .basic_feature04 > div > span:not(.cagemat-attention_text) {
    padding: 16px;
    /*margin-bottom: -20px;*/
  }
  .basic_feature04 > div > span:not(.cagemat-attention_text)::before {
    font-size: 18px;
    margin-bottom: 6px;
  }    
}
/*FITI試験研究院*/
.basic_feature05 .about_FITI {
  font-size: 14px;
  line-height: 1.35em;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .basic_feature05 .about_FITI {
    font-size: 13px;
    padding: 12px;
    line-height: 1.4em;
    margin: 0px -10px;/*上下のマージンを-10ピクセル、左右のマージンを無しで指定*/
    letter-spacing: .02em;
  }
}
img.mat_60line {
  margin-top: -50px;
  margin-bottom: -200px;
}
@media screen and (max-width: 767px) {
  img.mat_60line {
    margin-bottom: -250px;
  }
  img.mat_fold {
    margin-top: -6px;
  }    
}

img.petmat-design_MRG {
  margin-top: 40px;
}
img.catmat_MRG {
  margin-bottom: -200px;
}
@media screen and (max-width: 767px) {
  img.catmat_MRG {
    margin-top: -30px;
  }
  img.petmat-design_MRG {
   margin-top: -50px; 
  }
  img.petmat-color_MRG {
    margin-top: -30px;
    margin-bottom: -40px;
  }  
  table.cat_playmat {
    margin-top: -160px;
  }
}
/* カット可能 */
.Not-recommended {
  text-decoration: underline;
  text-underline-offset: .2em;
  display:block;
  margin-top:-10px;
  font-size:16px; 
}
@media screen and (max-width: 767px) {
  .Not-recommended {
    font-size: 13px;
	margin-top: 0px;
  }     
}

/* 購入する前に */
@media screen and (max-width: 767px) {
  img.before-purchasing {
    margin-bottom: -40px;
  }    
}
  
  
  
/* ケージマット */
.cagemat-attention_text {
  font-size: 15px;
  line-height: 1.6em;
  display: block;
  letter-spacing: 0.01em;
  margin-top: -20px;  
}
@media screen and (max-width: 767px) {
  .cagemat-attention_text {
    font-size: 13px;
    letter-spacing: 0.005em;
    line-height: 1.35em;
	margin-top: -10px;    
  }
}


/*ペットマットここがポイント*/
.mat_compare {
  margin-top: -150px;
  margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
  .mat_compare {
    margin-top: -180px;
  }    
}

.product_keypoint {
  width: 100%; /*親要素に対して*/
  max-width: 100%;
  margin-bottom: -30px;
}
@media screen and (min-width: 767px) {
  .product_keypoint ul {
    display: flex; /* ←PCでは横並びに(PC用) */
    justify-content: flex-start;
    margin-top: -38px; 
  }
}
.product_keypoint ul li {
  flex: 1;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .product_keypoint ul li {
    margin-top: -20px;
    margin-bottom: -30px;
  }
}    
.product_keypoint ul li figure {
  margin: 0;
}
.product_keypoint ul li figure img {
  width: 95% !important;
}
@media screen and (max-width: 767px) {
  .product_keypoint ul li figure img {
    width: 100% !important;
  }
}
.product_keypoint ul li figcaption {
  width: 91%;
  text-align: left;
  padding-top: 10px;
  line-height: 1.30rem;
  font-size: 16px;  
 }
@media screen and (max-width: 767px) {
  .product_keypoint ul li figcaption {
    width: 100% !important;
   }
}
.product_keypoint ul li figcaption p {
  padding-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
 }

/*価格表*/
.price-table-group {
  overflow-x: scroll;
}

.price__table.is-active {
  display: table;
}
@media screen and (min-width: 768px) {
  .price__table {
    min-width: 100%;
    margin-top: -100px;
  }
}
@media screen and (max-width: 767px) {
  .price-table-group {
    margin-bottom: -50px;
  }
  .price__table {
    margin-top: -80px;
  }
}

.price__table {
  border-collapse: collapse;
  table-layout: fixed;
}
.price__table caption {
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  color: #222;
  padding-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .price__table caption {
    font-size: 15px;
    margin-top: 24px;
    /*margin-bottom: 20px;*/
  }
}
.price__table.matsle caption::after {
  content:"※先行予約販売につき、定価10%OFFの価格となっております。↓"; 
  padding-left: 6px;
  color: #e25872;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .price__table.matsle caption::after {
    display: block;
    font-size: 14px;
    padding-left: 0px;
    margin-top: -6px;
  }
}

.price-table-group .price_subtext {
  font-size: 14px;
  margin-top: -12px;
  margin-bottom: 6px;
  line-height: 1.3em;
}
@media screen and (max-width: 767px) {
  .price-table-group .price_subtext {
    font-size: 13px;
    /*margin-top: -20px;
    margin-bottom: 10px;*/
  }
}
.price__table tr:nth-of-type(1) > th:nth-of-type(1) {
  border-bottom: 1px solid #fff;
}  
.price__table tr:nth-of-type(1) > th {
  border: 0;
  border-top: 1px solid #D3D2CF;
  border-bottom: 1px solid #D3D2CF;
}
.price__table th:nth-of-type(1) {
  background-color: #D3D2CF;
  border: 0;
  border-bottom: 1px solid #fff;
}
.price__table th, .price__table td {
  min-width: 100px;
  min-height: 40px;
  padding: 0.5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .price__table th, .price__table td {
    padding: 0.5em 0.2em;
  }
}

.price__table td {
  border: 0;
  border-bottom: 1px dashed  #D3D2CF;
}
.price__table .price__table th {
  min-width: 100px;
  padding: 2px 0.5em;
  font-size: 14px;
}
.price__table tr:nth-of-type(1) > th {
  /*line-height: 1;*/
  line-height: 1.5em;
}
.price__table th, .price__table td {
  /*line-height: 1;*/
  line-height: 1.5em;
}




/******************************/
/* Product */
/******************************/
.p-product {
  margin-bottom: 90px;
}
/* form */
.p-product select {
  box-sizing: border-box;
  padding: 5px;
  /*height: 40px;*/
  height: 46px;  
  border: 1px solid #bfbfbf;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-product select {
    font-size: 16px;
  }
}
.p-product input[type=text] {
  box-sizing: border-box;
  padding: 5px;
  /*height: 40px;*/
  height: 46px;  
  border: 1px solid #bfbfbf;
  font-size: 16px;
}
.p-product-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1030px) {
  .p-product-main {
    display: block;
  }
}
.p-product-img {
  /*width: 530px;*/
  width: 630px;  
}
@media screen and (max-width: 1030px) {
  .p-product-img {
    width: auto;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-img {
    margin-left: -20px;
    margin-right: -20px;
    width: auto;
  }
}
.p-product-img__main {
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .p-product-img__main {
    margin-left: auto;
    margin-right: auto;
    width: 530px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-img__main {
    width: auto;
  }
}
.p-product-img__main-item {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-product-img__main-item {
    text-align: center;
  }
}
.p-product-img__main-item:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-product-img__main-item a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-product-img__main-item img {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: auto !important;
  max-width: 100%;
  max-height: 100%;
  text-align: center;
}
/*追加↓*/
.p-product-img__thumb {
  margin-top: 30px; 
}
@media screen and (max-width: 767px) {
  .p-product-img__thumb {
   margin-top: 10px;
   margin-bottom: -20px;
   margin-left: 20px;
  } 
}

.p-product-thumb-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -4px;
  margin-right: -4px;
  margin-top: 8px;
}
@media screen and (max-width: 1030px) {
  .p-product-thumb-list {
    margin-left: 0;
    margin-right: 0;
    flex-wrap: nowrap;
  }
}
.p-product-thumb-list__item {
  box-sizing: border-box;
  /*margin-bottom: 8px;*/
  margin-bottom: 20px;
  padding-left: 4px;
  padding-right: 4px;
  width: 20%;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 1030px) {
  .p-product-thumb-list__item {
    margin-right: 5px;
    padding-left: 0;
    padding-right: 0;
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-thumb-list__item {
    margin-right: 5px;
    margin-bottom: 8px;
    width: 60px;
  }
}
.p-product-thumb-list__item:hover, .p-product-thumb-list__item.is-current {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 1030px) {
  .p-product-thumb-list__item img {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-thumb-list__item img {
    width: 60px;
  }
}
.p-product-thumb-list__img {
  /* overflow用 */
  position: relative;
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .p-product-thumb-list__img {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-product-thumb-list__img {
    width: 60px;
    text-align: center;
  }
}
.p-product-thumb-list__img:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-product-thumb-list__img img {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: auto !important;
  max-width: 100%;
  max-height: 100%;
  text-align: center;
}
/* 商品画像 slider */
.p-product-img__main .slick-track {
  margin-left: 0;
  margin-right: 0;
}
.p-product-img__main .slick-prev, .p-product-img__main .slick-next {
  top: 50%;
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-prev, .p-product-img__main .slick-next {
    width: 45px;
    height: 45px;
  }
}
.p-product-img__main .slick-prev:before, .p-product-img__main .slick-next:before {
  content: "";
  position: absolute;
  top: 7px;
  left: 10px;
  width: 15px;
  height: 15px;
  border-left: 1px solid #000000;
  border-top: 1px solid #000000;
  transition: all 0.4s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-prev:before, .p-product-img__main .slick-next:before {
    top: 15px;
  }
}
.p-product-img__main .slick-prev {
  left: 15px;
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-prev {
    left: 0px;
  }
}
.p-product-img__main .slick-prev:before {
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-prev:before {
    left: 17px;
  }
}
.p-product-img__main .slick-next {
  right: 15px;
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-next {
    right: 0px;
  }
}
.p-product-img__main .slick-next:before {
  left: 4px;
  transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
  .p-product-img__main .slick-next:before {
    left: 13px;
  }
}
/***** 商品情報 *****/
.p-product-info {
  /*width: 410px;*/
  width: 510px;  
}
@media screen and (max-width: 1030px) {
  .p-product-info {
    width: auto;
  }
}
.p-product-info__ttl {
  margin: 0;
  font-size: 20px;  
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .p-product-info__ttl {
    font-size: 18px;    
  }
}
.p-product-info__ttl img {
  vertical-align: middle;
}

.p-product-info__id {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-product-info__id {
    margin-top: 5px;
    font-size: 10px;
  }
}
.p-product-price {
  margin-top: 20px;
  margin-bottom: 20px;
}
.p-product-price__sell {
  font-size: 24px;  
}
@media screen and (max-width: 767px) {
  .p-product-price__sell {
    font-size: 22px;
  }
}
.p-product-price__normal {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-product-price__normal {
    font-size: 12px;
  }
}
.p-product-price__list-price {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-product-price__list-price {
    font-size: 12px;
  }
}
/* オプション table */
.p-product-option-tbl {
  margin-top: 30px;
  margin-bottom: 30px;
  overflow-x: auto;
}
.p-product-option-tbl table {
  margin-bottom: 0;
  border-left: 0;
  border-right: 0;
  width: 100%;
}
.p-product-option-tbl table div {
  display: inline-block !important;
}
.p-product-option-tbl th {
  min-width: 100px;
}
.p-product-option-tbl th, .p-product-option-tbl td {
  padding: 12px 5px;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  border-left: 0;
  text-align: center;
}
.p-product-option-tbl label {
  display: inline-block !important;
  margin-left: 5px;
  margin-bottom: 0;
}
.p-product-option-tbl input {
  margin-top: 0;
}
/* オプション select */
.p-product-option-select {
  margin-top: 30px;
  margin-bottom: 30px;
}
.p-product-option-select__box {
  margin-top: 15px;
}
.p-product-option-select__ttl {
  margin-bottom: 5px;
  font-weight: bold;
}
/* 名入れ */
.p-product-name {
  margin-top: 30px;
  margin-bottom: 30px;
}
.p-product-name__box {
  margin-top: 15px;
}
.p-product-name__ttl {
  margin-bottom: 5px;
  font-weight: bold;
}
.p-product-name__body input {
  width: 100%;
}
/* 数量 */
.p-product-form-stock {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.p-product-form-stock__input {
  display: flex;
  align-items: center;
}
.p-product-form-stock__input input {
  width: 60px;
}
.p-product-form-stock__unit {
  margin-left: 10px;
}
.p-product-form-stock__stock {
  margin-left: 25px;
}
/* ボタン */
.p-product-form-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-product-form-btn__cart {
  /*width: 360px;*/
  width: 440px;
}
@media screen and (max-width: 1030px) {
  .p-product-form-btn__cart {
    flex: 1;
    width: auto;
  }
}
.p-product-form-btn__favorite {
  width: 50px;
  padding-right: 10px;
}
.p-product-form-btn__favorite-btn {
  display: inline-block;
  margin-top: 22px;
  margin-left: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d8d8d8;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.p-product-form-btn__favorite-btn.is-added {
  color: #000000;
}
.p-product-form-btn__favorite-btn svg {
  width: 25px;
  height: 25px;
  fill: currentColor;
}
.p-product-form__error-message {
  color: #DB5656;
  margin-top: 15px;
}
/* SNS */
.p-product-sns-list {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
.p-product-sns-list__item {
  margin-right: 20px;
}
/* link */
.p-product-link-list {
  margin-top: 40px;
}
.p-product-link-list__item {
  /*margin-bottom: 5px;*/
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-product-link-list__item {
    margin-bottom: 30px;
  }
}
/***** 商品詳細 *****/
.p-product__ttl {
  margin-top: 0;
  margin-bottom: 35px;
  line-height: 1.4;
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.3em;
  /*letter-spacing: 0.05em;*/
}
@media screen and (max-width: 767px) {
  .p-product__ttl {
    margin-bottom: 30px;
    /*margin-bottom: 24px;*/
    font-size: 18px;
  }
}
.p-product-detail {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;/*左右入れ替え 解除する場合コメントアウト*/
  justify-content: space-between;
  margin-top: 75px;
}
@media screen and (max-width: 1030px) {
  .p-product-detail {
    display: block;
  }
}
.p-product-explain {
  /*width: 410px;*/
  width: 760px;
}
@media screen and (max-width: 1030px) {
  .p-product-explain {
    margin-bottom: 60px;
    width: auto;
  }
}
.p-product-explain__body {
  line-height: 2;
}
.p-product-other {
  /*width: 530px;*/
  width: 410px;
  order: -1;
}
@media screen and (max-width: 1030px) {
  .p-product-other {
    width: auto;
  }
}
/* おすすめ商品 */
.p-product-recommend-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .p-product-recommend-list {
    margin-left: -5px;
    margin-right: -5px;
    margin-bottom: 60px;
  }
}
.p-product-recommend-list__item {
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
  width: 33.3333%;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-product-recommend-list__item {
    padding-left: 5px;
    padding-right: 5px;
  }
}
.p-product-recommend-list__img {
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-product-recommend-list__img {
    margin-bottom: 5px;
    text-align: center;
  }
}
.p-product-recommend-list__img:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-product-recommend-list__img a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-product-recommend-list__img img {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: auto !important;
  max-width: 100%;
  max-height: 100%;
  text-align: center;
}
.p-product-recommend-list__price {
  margin-top: 15px;
  font-size: 12px;
  color: #909090;
}
@media screen and (max-width: 767px) {
  .p-product-recommend-list__price {
    margin-top: 0;
  }
}
.p-product-recommend-list__price.is-strikethrough {
  margin-top: 0;
  text-decoration: line-through;
}
.p-product-recommend-list__expl {
  margin-top: 15px;
  font-size: 12px;
}
/* レビュー */
.p-product-review {
  margin-bottom: 60px;
}
.p-product-review__item {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 40px;
  background: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .p-product-review__item {
    padding: 20px;
  }
}
.p-product-review__heading {
  margin-bottom: 15px;
}
.p-product-review__ttl {
  margin-top: 10px;
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: 18px;
}
.p-product-review-info {
  margin-top: 10px;
  margin-bottom: 10px;
}
.p-product-review-info__item {
  display: inline-block;
  font-size: 12px;
}
.p-product-review-info__item.is-type {
  margin-right: 35px;
}
.p-product-review__img {
  margin-bottom: 15px;
  text-align: center;
}
.p-product-review__body {
  margin-top: 15px;
  line-height: 2;
}
.p-product-review__rates {
  display: flex;
  flex-wrap: wrap;
}
.p-product-review__rate {
  width: 18px;
  height: 18px;
  vertical-align: -0.3em;
  fill: currentColor;
  fill: #d8d8d8;
}
.p-product-review__rate.is-color {
  fill: #000000;
}
/* レビュー 返信 */
.p-product-review-reply {
  box-sizing: border-box;
  margin-top: 30px;
  padding: 15px 0;
  border-top: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}
.p-product-review-reply__ttl {
  font-weight: bold;
  font-size: 15px;  
}
.p-product-review-reply__body {
  /*font-size: 12px;*/
  font-size: 14px;
}
.p-product-review-reply__date {
  /*font-size: 12px;*/
  font-size: 14px;
}
.p-product-review__btn {
  margin-top: 45px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-product-review__btn {
    margin-top: 30px;
  }
}
/***** CSS編集内style *****/
.input-prepend.input-append input {
  font-size: 24px;
  padding-top: 11px;
  padding-bottom: 11px;
  width: 100px;
  text-align: right;
}

/*  クイックカートイン CSS  */
.cart_in_modal,
.cart_in_error_modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .7);
  z-index: 20000;
  display: flex;
  overflow: auto;
}
@media screen and (min-width: 960px) {
  .cart_in_modal,
  .cart_in_error_modal {
    align-items: center;
  }
}
.cart_in_modal__bg {
  background-color: rgba(0, 0, 0, .7);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 20000;
}
.cart_in_modal__outline {
  width: 90%;
  margin: 20px 5%;
  padding: 20px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
  box-sizing: border-box;
  text-align: center;
  position: absolute;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__outline {
    width: 900px;
    margin: auto;
    padding: 20px 70px;
    position: relative;
  }
}
.cart_in_modal__heading {
  font-size: 20px;
  font-weight: bold;
  margin: 20px 0;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__heading {
    font-size: 26px;
    margin: 30px 0;
    line-height: 1.2;
  }
}
.cart_in_error_modal__heading {
  font-size: 20px;
  font-weight: bold;
  margin: 40px 0 20px;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .cart_in_error_modal__heading {
    margin: 30px 0;
    line-height: 1.2;
  }
}
.cart_in_modal__detail {
  display: flex;
  padding: 20px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__detail {
    flex-direction: row;
  }
}
.cart_in_modal__name {
  font-size: 16px;
  flex: 1;
  line-height: 1.4;
  text-align: left;
  margin: 0;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__name {
    font-size: 18px;
  }
}
.cart_in_modal__image-wrap {
  padding: 5px;
  width: 170px;
  height: 170px;
  background: rgba(0, 0, 0, .1);
  position: relative;
  border: 5px solid transparent;
  box-sizing: border-box;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__image-wrap {
    margin: 0 30px 0 0;
    flex-basis: 170px;
  }
}
.cart_in_modal__image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cart_in_modal__text-link {
  color: #2169f3;
  cursor: pointer;
  position: relative;
  display: inline-block;
  margin: 20px 0 0;
  padding: 0 0 0 20px;
  line-height: 1.15;
}
.cart_in_modal__text-link::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #2169f3;
  border-right: 2px solid #2169f3;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}
.cart_in_modal__button-wrap {
  width: 100%;
  margin: 30px auto;
  font-size: 17px;
}
@media screen and (min-width: 960px) {
  .cart_in_modal__button-wrap {
    width: 350px;
  }
}
.cart_in_modal__button {
  font-size: 17px;
  font-weight: bold;
  line-height: 23px;
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none;
  color: #fff;
  border: 0;
  border-radius: 4px;
  width: 100%;
  height: 58px;
  padding: 15px;
  background: #2169f3;
  box-shadow: 0 2px 0 #1a54c2;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.cart_in_modal__button:hover,
.cart_in_modal__button:focus {
  height: 58px;
  color: #e9f0fe;
  background-color: #1e5fdb;
  box-shadow: none;
  transform: translate3d(0, 2px, 0);
}
.cart_in_modal__close-icon {
  cursor: pointer;
}
.cart_in_modal__close-icon::before,
.cart_in_modal__close-icon::after {
  content: "";
  width: 35px;
  height: 6px;
  display: block;
  position: absolute;
  top: 30px;
  right: 20px;
  background: #eee;
  border-radius: 4px;
}
.cart_in_modal__close-icon::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.cart_in_modal__close-icon::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.spinner::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100px;
  width: 100px;
  margin-top: -50px;
  margin-left: -50px;
  border-radius: 50%;
  border: 5px solid #eee;
  border-top-color: #fd7f23;
  animation: spinner 0.5s linear infinite;
}
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
@media screen and (min-width: 960px) {
  .sp-br {
    display: none;
  }
}



/******************************/
/* 見出しデザイン  */
/******************************/
/* 横縦線 */
.midashi01 {
  padding: .009em .6em;
  border-left: 8px solid #c1a671;
  color: #555;
  font-size: 22px;
  font-weight: bold;
  display: flex;
  align-items: center;
 }
.midashi01::after {
/*アイコンを見出しの横に表示*/  
 content: url(https://img07.shop-pro.jp/PA01416/786/etc/dog_foot.png?cmsp_timestamp=20220513153704);
 padding-left: 8px;
 margin-top: -4px;
 }
@media screen and (max-width: 767px) {
  .midashi01::after {
    content: "";
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .midashi01 {
    flex: none;
    font-size: 18px;
    line-height: 1.3;
    /*margin-bottom: 20px;*/
    margin-bottom: -10px;
   }
}

/*下線付き*/
.midashi02 {
  font-size: 26px;
  font-weight: bold;
  color: #555;
  border-bottom: 2px solid #555;
  padding-bottom: 6px;
  margin-bottom: 10px;
}  
@media screen and (max-width: 767px) {
  .midashi02 {
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: -48px;
    margin-top: -78px;
   }
}  

/*大文字*/
.midashi03 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: -10px;
  line-height: 1.25em;
}
@media screen and (max-width: 767px) {
  .midashi03 {
    font-size: 22px;
    }
}

/*背景付きの見出し*/
.midashi04 {
  background: #333;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 6px 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .midashi04 {
    font-size: 24px;
    padding: 2px 4px;
    margin-bottom: 4px;
    }
}

.easymat.midashi04 {
  background-color: #2d2d2d;
  color: #fff !important;
  font-size: 32px !important;
  font-weight: bold;  
  padding: 14px 0 12px 0;
  margin: -30px 0px 20px 0px;
}
.lot-color.midashi04 {
  background-color: #2d2d2d;
  color: #fff !important;
  font-size: 32px !important;
  font-weight: bold;  
  padding: 14px 0 12px 0;
  margin: -30px 0px 20px 0px;
}
@media screen and (max-width: 767px) {
  .easymat.midashi04 {
    font-size: 18px !important;
    padding: 14px 8px !important;
    line-height: 1.25em;
    /*margin: 10px 0px;*/
    }
  .lot-color.midashi04 {
    font-size: 18px !important;
    padding: 14px 8px !important;
    line-height: 1.25em;
    margin-bottom: -10px;
    }  
}  
  

/*カギ括弧*/
.midashi05 {
  position: relative;
  line-height: 1.4;
  padding:0.05em 1em;
  display: inline-block;
  top:0;
  font-size: 22px;
  font-weight: bold;
  padding-top: 10px;
  margin-bottom: 10px:
}
.midashi05::before, .midashi05::after {
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;  
}
.midashi05::before {
  border-left: solid 2px black;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  left: 0;
}
.midashi05::after {
  content: '';
  border-top: solid 2px black;
  border-right: solid 2px black;
  border-bottom: solid 2px black;
  right: 0;
}
@media screen and (max-width: 767px) {
  .midashi05 {
    font-size: 18px;
    line-height: 1.0;
    }
}

/* 下線のみの吹き出し風見出し */
.midashi06 {
  position: relative;
  padding: 0.5em 0.2em;
  border-bottom: 3px solid #000;
  width: 97%;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
.midashi06::before {
  position: absolute;
  left: 50px;
  bottom: -40px;
  content: '';
  border-width: 20px;
  border-style: solid;
  border-color: #000000 transparent transparent transparent;
}
.midashi06::after {
  position: absolute;
  left: 50px;
  bottom: -36px;
  content: '';
  border-width: 20px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .midashi06 {
    /*margin-bottom: 40px;*/
    margin-bottom: 0px;
    font-size: 18px;
    /*line-height: initial;*/
    line-height: 1.30em;
   }
  .midashi06::before, .midashi06::after {
    border-width: 10px;
    left: 30px;
   }  
  .midashi06::before {
    bottom: -22px;
   }
  .midashi06::after {
    bottom:-18px;
   }
}



/* 商品の推し(ここが)ポイント makuakeプロジェクト */
.product_thispoint {
  margin-top: -60px;
  margin-bottom: -30px;
}
@media screen and (max-width: 767px) {
  .product_thispoint {
    margin-top:	-70px;
    margin-bottom: -60px;
  }
}
.product-keypoint2 {
  counter-reset: number 0; /* 名前は任意、0でリセット。*/
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .product-keypoint2 {
    margin-top:	-60px;
    margin-bottom: -40px;
    font-size: 16px;
  }
}
.product-keypoint2 p::before {
  counter-increment: number 1; /* counter-resetの名前を指定、+1づつ増やす。*/
  content: counter(number) "."; /* 番号の後に、ドットを付ける場合に指定する。*/
  padding-right: 8px; /* ドットと文字に、間隔を空ける場合に指定する。*/
}
.product-keypoint2 p {
  line-height: 0em; /* 行間*/
}

.product-keypoint li {
  margin: -16px 0;
}
.product-keypoint li {
  position:relative;
  padding: 7px 5px 7px 34px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .product-keypoint {
    font-size: 15px;
    }
  .product-keypoint li {
    line-height:1.5em;
    padding: 6px 0px;
    }
}


/******************************/
/* 商品ページ  */
/******************************/
.procuct_text {
 font-size: 17px;
 line-height: 1.5em;
 margin-top: -16px;
 /*letter-spacing: .01em;*/
 letter-spacing: .03em;  
 }
.adjustment {
 margin-top: -160px; 
 }
.procuct_text .monitor {
  font-size: 15px;
  line-height: 1.35em;
}

@media screen and (max-width: 767px) {
  .procuct_text {
    font-size: 15px;
    line-height: 1.4em;    
   }
  .procuct_text .monitor {
    font-size: 13px;
   }    
 }

/*コンテンツ幅より小さい画像をコンテンツの真ん中に*/
/*商品登録内のhtml編集画面にてimgタグにclass名 img-center を追記*/
.img-center {
  display: block;
  margin: 0 auto;
}

/*使用する画像が760px以上ある場合*/
/*親要素contents-widthの子要素imgタグに対して適用*/
.contents-width {
 width: 760px;  
}
.contents-width img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .contents-width {
    width: initial;
  }  
  .contents-width img {
    max-width: 100%;
  }
}/*画像が760px以上対策end*/





.dfang__point, .dfang__point03, .dfang__point04, .dfang__point05 {
  /*margin: 40px 0;*/
  margin: 24px 0px -100px /*上のマージンを24ピクセル、左右のマージンを0ピクセル、下のマージンを-100pxで指定*/
 }
@media screen and (max-width: 767px) {
  .dfang__point, .dfang__point03, .dfang__point04, .dfang__point05 {
    margin-top: -40px;
    margin-bottom: 0px;
   }
 }

.dfang__point img:not(ul.flex_container img) {
  margin-top:-60px;
  margin-bottom:40px;
}
@media screen and (max-width: 767px) {
  .dfang__point img:not(ul.flex_container img) {
    margin-top: -20px;
   }
 }


ul.flex_container {
  display: flex; /* flexbox */
  flex-wrap: wrap; /* 折返し指定 */
  flex-direction: row;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  ul.flex_container {
    margin-top: -32px;
   }
 }
ul.flex_container li {
  width: 25%;
}
ul.flex_container li {
  width: calc(25% - 22px); /* margin padding分を引く */
  margin: 1px;
  padding: 2px;
 }

@media screen and (max-width: 767px) {
  ul.flex_container li {
    width: calc(54% - 22px); /* margin padding分を引く */
   }
 }
ul.flex_container li figure {
  margin: 0 2px;
 }
ul.flex_container li figure p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4em;
  padding-top: 8px;
  text-align: center;
  color: #000000;
  letter-spacing: .01em;
 }
ul.flex_container li figure p span.sblock {
  display: block;
 }
@media screen and (max-width: 767px) {
  ul.flex_container li figure p {
    font-size: 14px;
    line-height: 1.4em;
   }
 }

/*YOUTUBE*/
.video-content {
  margin-top: -148px;
  margin-bottom: -80px;
 }
@media screen and (max-width: 767px) {
  .video-content {
  margin-top: -140px;
  }
}
.movie {
  position: relative;
  padding-bottom: 56.25%;
  width: 100%;
  height: 0;  
 }
.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/*【商品】guruguruキャリーバッグ用 */
.carrybag_open {
 margin-top: -60px;
 margin-bottom: -60px;  
}
.carrry_fastener {
 font-size: 16px;
 font-weight: bold; 
 margin-bottom: -28px; 
}
@media screen and (max-width: 767px) {
  .carrry_fastener {
    font-size: 16px;
    margin-bottom: -20px;
   }
}  
.carrybag_open figcaption p {
 margin-top: 0px;
 margin-bottom: -20px; 
}


/*【商品】砂とりマット用 */
p.sandcatch_text {
  font-size: 17px;
  line-height: 1.5em;
  margin-top: -150px;
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  p.sandcatch_text {
    font-size: 15px;
    line-height: 1.4em;    
   }
 }

section.sandcatch_about {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  section.sandcatch_about {
    margin-top: -60px;
  }
}

section.sandcatch_point01 {
  margin-top: -80px;
}
@media screen and (max-width: 767px) {
  section.sandcatch_point01 {
    margin-top: -140px;
  }
}

section.sandcatch_point02 {
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
 section.sandcatch_point02 {
   margin-top: -120px;
  }  
}

section.sandcatch_point03 {
  margin-top: -130px;
}
@media screen and (max-width: 767px) {
 section.sandcatch_point03 {
   margin-top: -160px;
  }  
}

section.sandcatch_point04 {
  margin-top: -130px;
}
@media screen and (max-width: 767px) {
 section.sandcatch_point04 {
   margin-top: -120px;
  }
 .sndcatch_comment {
   /*猫コメント*/
   margin-top: -40px;
  } 
}

section.sandcatch_point05 {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
 section.sandcatch_point05 {
   margin-top: -140px;
  }  
}
/*成分証明書*/
.sand-report {
  margin-top: -90px;
}
@media screen and (max-width: 767px) {
 .sand-report {
   margin-top: -120px;
  }  
}

section.sandcatch_point06 {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
 section.sandcatch_point06 {
   margin-top: -140px;
  }  
}

.sandcatch_point01_tit {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 12px;
  text-decoration:underline;
  margin-top: -14px;
  margin-bottom: -20px;
}
@media screen and (max-width: 767px) {
  .sandcatch_point01_tit {
    font-size: 20px;
    line-height: 1.5;
    margin-top: -8px;
    margin-bottom: -30px;
   }
}

/*テキスト系*/
.sandcatch_mainpoint {
  font-size: 26px;
  font-weight: bold;
  line-height: .9em;
}
@media screen and (max-width: 767px) {
   .sandcatch_mainpoint {
     font-size: 20px;
     line-height: 1.2em;
  }
}  
.sandcatch_point_text {
  font-size: 20px;
  font-weight: bold;
  color: #474747;
  line-height: 1.5em;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
   .sandcatch_point_text {
     font-size: 16px;
     /*line-height: 1.5em;*/
     margin-top: 0px;
  }
}

/* 動画埋め込み　ここから ↓*/ 
.video-wrapper {
  width: 700px;
  display: block;
  padding-right: 15px;
  text-align: left;
}
video {
  width: 760px;
  height: 56.25%;
  border-radius: 6px;
} /* 動画埋め込み　ここまで↑ */ 
  


