/* product_detail_page --------------- */

h2.product_name {
  margin-bottom: 0.8em;
  padding-bottom: 0.6em;
  background: transparent url("https://img.shop-pro.jp/tmpl_img/67/border_bottom.png") repeat-x left bottom;
  font-size: 18px;
}

.product_detail_area {
  position: relative;
  width: 100%;
}

.product_images {
  display: inline-block;
  float: left;
  width: 400px;
}
.product_images div img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height:auto;
  border: 1px solid #ddd;
}
.product_images div p.detail {
  margin-top: 10px;
  line-height: 20px;
}

.add_cart {
  clear: right;
  float: right;
  overflow: hidden;
  width: 270px;
}


table.add_cart_table {
  margin-bottom: 10px;
  width: 100%;
  border-left: solid 1px #ccc;
  table-layout:fixed;
  font-family:'Lucida Grande',
  'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
  Meiryo, メイリオ, sans-serif;
}
table.add_cart_table th {
  display: inline-block;
  overflow: hidden;
  padding: 12px 4px 12px 18px;
  width: 85%;
  text-align: left;
  text-overflow: ellipsis;/*
  white-space: nowrap;*/
  font-size: 12px;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}
table.add_cart_table td {
  display: inline-block;
  overflow: hidden;
  padding: 10px 0;
  width: 100%;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}
table.add_cart_table td input {
  padding: 0 4px;
  width: 38px;
  height: 26px;
  font-size: 15px;
  line-height: 26px;
  vertical-align: middle;
}
table.add_cart_table td strong.price {
  font-size: 14px;
}
table.add_cart_table td input.text-titles-list__detail-text {
  width: 80%;/*130px*/
  font-size:12px;
}

table#option_tbl {
  margin-bottom: 20px;
  width: 100%;
}
table#option_tbl th,
table#option_tbl td.none {
  background: whiteSmoke;
}
table#option_tbl th,
table#option_tbl td {
  padding: 10px;
  border: 1px solid #ccc;
  text-align: center;
}
table#option_tbl th {
  background: whiteSmoke;
}
table#option_tbl td div input {
  margin-bottom: 5px;
}

ul.option_price {
  margin: 0 0 20px 0;
  display: none;
}
ul.option_price li {
  list-style-type: none;
}

.option_box{
  clear: both;
  width: 100%;
  overflow: hidden;
}

table td.pur_block{
  margin: 0 5px 0 0;
  width: auto;
  white-space: normal;
}

.button_area, .product_link_area {
 transition: all 0.3s;
}
.button_area:hover, .product_link_area:hover {
 opacity:0.8;
}
.button_area input {
  width: 100%;
}


.product_description {
  clear: both;
  margin-bottom: 20px;
  word-wrap: break-word;
  font-size: 14.5px;
  line-height: 2em;
  font-weight:300;
}

.product_image_extra {
  margin-bottom: 20px;
  text-align: center;
}
.product_image_extra img.item {
  margin-bottom: 20px;
}

.product_link_area {
  margin: 20px 0 0;/*
  padding: 20px 0 0;
  border-top: #ccc solid 1px;*/
}
.product_link_area div.twitter {
  float: left;
  width: 100px;
}
.product_link_area div.pinterest {
  float: left;
  margin-right: 30px;
}
.product_link_area div.fb-like {
  float: left;
  width: 200px;
}
.product_link_area ul.other_link {
  clear: both;
  margin-top: 20px;
  margin-left: 20px;
}
.product_link_area ul.other_link li {
  margin-bottom: 10px;
}

.share{
  margin: 15px 0 0;
  list-style: none;
}
.share li{
  display: inline-block;
  float: left;
  margin: 0 10px 10px 0;
  max-width: 125px;
}
.calamel-link{
  margin-top: 10px;
}

#tb_cap_tb{
  margin-top: 20px;
}

.tb {
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #CCC;
}
#tb_stitle {
  margin-bottom: 20px;
}

.tb_date, .tb_title, .tb_body, .tb_state {
  margin-bottom: 5px;
}



/* cloud_zoom -------------------- */
/* This is the moving lens square underneath the mouse pointer. */
.cloud-zoom-lens {
  margin:-4px;  /* Set this to minus the border thickness. */
  border: 4px solid #888;
  background-color:#fff;
  cursor:move;
}

/* This is for the title text. */
.cloud-zoom-title {
  position:absolute !important;
  top:0px;
  padding:3px;
  width:100%;
  background-color:#000;
  color:#fff;
  text-align:center;
  font-weight:bold;
  font-size:10px;
  font-family:Arial, Helvetica, sans-serif;
}

/* This is the zoom window. */
.cloud-zoom-big {
  overflow:hidden;
  border: 4px solid #c86464;
  box-shadow: 0px 0px 10px #ccc;
}

/* This is the loading message. */
.cloud-zoom-loading {
  padding:3px;
  border:1px solid #000;
  background:#222;
  color:white;
}

/* Feature section in ZoomEngine page */
.zoom-section {
  clear:both;
}

* html .zoom-section {
  display:inline;
  clear:both;
}

.zoom-small-image {
  float: left;
  margin-top: 4px;
  width: 400px;
}
.zoom-small-image #wrap {
  position: relative;
  top: 0px;
  z-index: 100;
}

.cloud-zoom {
  margin-bottom: 20px;
}

.zoom-small-image .mousetrap {
  position: absolute;
  top:0px;
  left:0px;
  z-index:999;
  width: 100%;
}


/* Feature descriptions in ZoomEngine page */
.zoom-desc {
  clear: left;
  width: 100%;
}

a.cloud-zoom-gallery {
  display: block;
  float: left;
  margin: 0 2.5% 2% 2%;
  width: 20%;
  cursor: pointer;
}/*
a.cloud-zoom-gallery {
  display: block;
  float: left;
  margin: 0 22px 20px 0;
  width: 82px;
  height: 82px;
  cursor: pointer;
}*/
.zoom-tiny-image {
  padding: 3px;
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
  background: #efefef;
}
.zoom-tiny-image.selected {
  border: 1px solid #c86464;
  background: #c86464;
}
@media(min-width:480px){
.zoom-tiny-image:hover {
  border: 1px solid #c86464;
}
}
a.gallery_last{
  margin-right: 0;
}






/* product_option_window -----------------*/

#product_option {
  margin: 20px;
  padding: 20px;
  background: #fff;
}
#product_option h2 {
  margin-bottom: 20px;
}

table.table_option {
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background: #fff;
}
table.table_option th {
  padding: 10px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #f5f5f5;
}
table.table_option td {
  padding: 10px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
}







/*追加商品詳細ページ-------------------------------*/

/*レイアウト*/


.pn_mobile{
  display: none;
  margin-bottom:10px !important;
  padding-bottom:0 !important;
}


.product_images{
  float:left;
  width:35% !important;
}

.product-detail{
  float:left;
  width:35%;
  margin: 0.5% 0 0 5%;
}

.add_cart{
  float:left;
  width:21%;
/*  margin-top:5%; */
  margin-left:4%;
}

.product_form{
  margin-top:1%;
}

/*詳細内容*/

table.add_cart_table td{
  padding: 10px 0px 10px 18px;
  color:#f33a3a;
}


.share.clearfix{
  display:none;
}

.btn-primary, .btn-contact{
  border-radius: 5px;
}

h2.product_name{
  background:none;

}
.footstamp{
  display: none;
}

/*画像*/

:focus{
  outline:none;
}
.cloud-zoom-big{
  border-width:0 !important;
  border-color:none !important;
  border-image:none;
  right:100px;
  left: 114% !important;
  top: 0px !important;
}


.zoom-section{
  width:100%;
}
.zoom-small-image{
  width:100%;
}
.mousetrap{
  background-image: url(".");
  z-index: 999;
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  left: 0px;
  top: 0px;
  cursor: move;
}
/*
.product-detail-rahmen-link {
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}*/
#box_together{
 /* margin-top:8%;*/
  overflow: hidden;
}
#box_together .item_box .item_detail{
  height:auto;
}

#box_together .item_box {
 margin: 0 2% 0 2%;
 width: 16%;
}
#box_together .header_block {
  border-bottom: 2px dotted #ccc;
  margin-top: 5%;
  padding: 0 0 1% 0.5%;
}
#box_together h3 {
    font-size: 16px !important;
    font-weight: 600;
    letter-spacing: 0.1em
}


/*商品詳細テーブル*/

.product_detail_list table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-left:-4px;
}

.product_detail_list th{
  width: 30%;
  border: solid 0.7px #ccc;
  padding: 7px 0;
  vertical-align: middle;
  color: #333;
  font-weight: 600;
  background: #f2f2f2;
  font-size: 0.9em;
  text-align: center;
}

.product_detail_list td{
  width: 50%;
  padding: 7px 0;
  background:#FFFDFA;
  border: solid 0.7px #ccc;
  vertical-align: middle;
  font-size: 0.9em;
  color: #333;
  text-align: center;
}
.product_detail_list  a{
  font-size: 0.9em;
}





/* ーー クイックカートイン ーー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);
}


.cart_in_modal__image-wrap img{
  width: 100%;
}


/*---レスポンシブ----------------*/


@media(max-width:1000px){

.product_images {
  width: 45% !important;
}

.product-detail {
  float: right;
  width: 48%;
}

.add_cart{
  float:right;
  width: 40%;
  margin-top: 1%;
  margin-right: 8%;
}

}



@media(max-width:480px){


/*商品詳細モバイル-----------------------*/


  #main {
    margin-top: 8% !important;
  }

  .product_images {
     width: 100% !important;
  }
/*
  a.cloud-zoom-gallery {
     margin: 0 5% 10px 0 !important;
     width: 20% !important;
   }*/
  .cloud-zoom {
     margin-bottom: 10px;
  }

  .product-detail {

      float: right;
      width: 99%;
      margin-top: 5%;
      padding: 6% 0;
      border-top: 2px dotted #ccc;
      border-bottom: 2px dotted #ccc;
  }
  h2.product_name {

     font-size: 17px;
      font-weight: 600;
  }
  .product_description{
    padding-left:1%;
  }

  .pn_pc{
    display: none;
  }

  .pn_mobile{
    display: block;
  }



  .mousetrap{
    display:none;
  }/*
  a.cloud-zoom-gallery{
    margin: 0 7% 10px 0;
    width: 43%;
    height:100%;
  }*/
  .add_cart{
      width: 100%;
      margin: 5% 0 0 0;
      float: left;
  }
  table.add_cart_table{
    border-left:none;
  }

  table.add_cart_table td{
    width:auto;
  }
  .pur_block_icon{
    width:auto !important;
  }

  .pur_block img{/*
    display: none;*/
    width:20;
    border: 1px solid #ccc;
    margin-left:10px;
  }
  table.add_cart_table th{
    width:90%;
  }

  #box_together .header_block {
    padding: 0 0 1% 2.5%;
}

  .side_section_cal{
    margin-left:-7%;
  }
  .question-box li{
    margin:0 23%;
  }

  .add_cart .sold_out {
    position: relative;
    margin: 2% 5%;
    font-size: inherit;
  }




}

