/* ---------------------------------------
  MAIN FRAME
--------------------------------------- */
.contents {
  max-width: 1300px;
  margin-top: 0;
}

#itemDetail {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  /**/
  padding-bottom: 120px;
  margin-bottom: 110px;
  border-bottom: 1px solid #E0E0E0;
}

/* ---------------------------------------
  ITEM DETAIL GALLERY
--------------------------------------- */
#itemDetailGallery {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 62.9033%;
  align-self: flex-start;
  user-select:none;
}

/* GALLERY */
#itemDetailGallery .gallery {
  width: calc(100% - 200px);
  position: relative;
  z-index: 1;
  align-self: flex-start;
}
#itemDetailGallery .gallery:before {
  content: '';
  display: block;
  padding-top: 125%;
}
#itemDetailGallery .gallery .swiper-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
#itemDetailGallery .gallery .img {
  height: 100%;
}
#itemDetailGallery .gallery .img img {
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  object-fit: contain;
}

#itemDetailGallery .swiper-navigation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 200px;
  color: #acacac;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

/* PAGINATION */
#itemDetailGallery .pagination {
  width: 80px;
  font-size: 11px;
  text-align: center;
  line-height: 1.0;
  margin: 20px 0;
  position: static;
}

/* ARROW */
#itemDetailGallery .swiper-button-prev,
#itemDetailGallery .swiper-button-next {
  width: 40px;
  height: 40px;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
}
#itemDetailGallery .swiper-button-prev {
  left: 0;
  order: -1;
}
#itemDetailGallery .swiper-button-next {
  right: 0;
}
#itemDetailGallery .gallery .swiper-button-prev,
#itemDetailGallery .gallery .swiper-button-next {
  width: 50px;
}
#itemDetailGallery .thumb .swiper-button-prev,
#itemDetailGallery .thumb .swiper-button-next {
  width: 25px;
}
#itemDetailGallery .swiper-button-prev:before,
#itemDetailGallery .swiper-button-next:before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
}
#itemDetailGallery .swiper-button-prev:before {
  transform: translate(-50%, -25%) rotate(-135deg);
}
#itemDetailGallery .swiper-button-next:before {
  transform: translate(-50%,-75%) rotate(45deg);
}

/* ---------------------------------------
  ITEM DETAIL INFO
--------------------------------------- */
#itemDetailInfo {
  width: 29.4355%;
  margin-top: 20px;
}

#itemDetailInfo .item_brand {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.0;
  margin-bottom: 10px;
}
#itemDetailInfo .item_data {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.0;
  margin-bottom: 46px;
}
#itemDetailInfo .item_data .name {
  line-height: 1.5;
  margin-bottom: 28px;
}
#itemDetailInfo .item_data .price {
  margin-top: 28px;
}
#itemDetailInfo .item_data .price .proper {
  font-size: 13px;
}
#itemDetailInfo .item_data .price .sale {
  margin-top: 8px;
}
#itemDetailInfo .item_data .price .tax_include {
  font-size: 10px;
}
/* CARTBOX */
#itemDetailInfo .cartbox {
  margin-bottom: 30px;
}
#itemDetailInfo .cartbox .headline {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /**/
  margin-bottom: 16px;
}
#itemDetailInfo .cartbox .headline .title {
  font-size: 11px;
  letter-spacing: 0.06em;
  line-height: 1.0;
}
#itemDetailInfo .cartbox .headline a {
  display: inline-block;
  color: #0059B2;
  font-size: 11px;
  letter-spacing: 0.06em;
  line-height: 1.0;
  margin-left: 30px;
}

/* COLOR */
#itemDetailInfo .cartbox ul.colorlist {
  width: 80%;
  font-size: 0;
  letter-spacing: -1em;
}
#itemDetailInfo .cartbox ul.colorlist > li {
  display: inline-block;
  width: calc((100% - 22px) / 3);
  font-size: 13px;
  letter-spacing: normal;
  position: relative;
}
#itemDetailInfo .cartbox ul.colorlist > li:not(:nth-of-type(3n+1)) {
  margin-left: 11px;
}
#itemDetailInfo .cartbox ul.colorlist > li:nth-of-type(n+4) {
  margin-top: 11px;
}
#itemDetailInfo .cartbox ul.colorlist > li:after {
  content: '';
  display: block;
  border: 2px solid #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
}
#itemDetailInfo .cartbox ul.colorlist > li.active:after {
  opacity: 1;
  visibility: visible;
}
#itemDetailInfo .cartbox ul.colorlist > li a {
  display: block;
  position: relative;
}
#itemDetailInfo .cartbox ul.colorlist > li a:before {
  content: '';
  display: block;
  padding-top: 125%;
}
#itemDetailInfo .cartbox ul.colorlist > li a img {
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: contain;
}

/* SIZE */
#itemDetailInfo .cartbox ul.sizelist {
  font-size: 0;
  letter-spacing: -1em;
}
#itemDetailInfo .cartbox ul.sizelist > li {
  display: inline-block;
  font-size: 14px;
  width: calc((100% - 33px) / 4);
  letter-spacing: normal;
  vertical-align: top;
  position: relative;
  overflow: hidden;
}
#itemDetailInfo .cartbox ul.sizelist > li:not(:nth-of-type(4n+1)) {
  margin-left: 11px;
}
#itemDetailInfo .cartbox ul.sizelist > li:nth-of-type(n+5) {
  margin-top: 11px;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"] {
  display: none;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"] + label {
  display: block;
  font-size: 12px;
  text-align: center;
  line-height: 1.0;
  margin: 0;
  padding: 15px 0;
  cursor: pointer;
  border: 1px solid #D6D6D6;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"] + label:before,
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"] + label:after {
  content: '';
  display: none;
  width: auto;
  height: auto;
  margin: 0;
  border: none;
  border-radius: 0;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"]:checked + label {
  color: #FFF;
  background: #000;
  padding: 16px 0;
  border: none;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock + label {
  color: #D6D6D6;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock + label:before,
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock + label:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock + label:before {
  background: linear-gradient(to left bottom, rgba(255,255,255,0) 49%, #D6D6D6 50%);
}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock + label:after {
  background: linear-gradient(to left bottom, rgba(255,255,255,0) 49%, #FFF 50%);
  -webkit-transform: translate(-0.75px,0.75px) translateZ(0);
  transform: translate(-0.75px,0.75px) translateZ(0);

}
#itemDetailInfo .cartbox ul.sizelist > li input[type="radio"].nostock:checked + label:after {
  background: linear-gradient(to left bottom, rgba(255,255,255,0) 49%, #000 50%);
}

#itemDetailInfo .cartbox a[data-modal="sizeguide"] {
  display: block;
  font-size: 12px;
  text-align: center;
  line-height: 1.0;
  padding: 15px;
  margin: 12px 0 0;
  border: 1px solid #D6D6D6;
}
#itemDetailInfo #unisize_tag {
  margin: -16px 0 30px !important;
}

/* QUANTITY */
#itemDetailInfo .cartbox .quantity {
}
#itemDetailInfo .cartbox .quantity .select_wrap {
  display: inline-block;
  width: auto;
  min-width: 83px;
  max-width: none;
  margin: 0;
}
#itemDetailInfo .cartbox .quantity .select_wrap .selectbox {
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 1.0;
  text-align: center;
  padding: 15px 36px 15px 0;
}
#itemDetailInfo .cartbox .quantity .select_wrap .selectbox:after {
  width: 8px;
  height: 8px;
}

/* SUBMIT */
#itemDetailInfo #cartsubmit {
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.06em;
  background: #000;
  padding: 16px 0;
  margin-bottom: 20px;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
}
#itemDetailInfo #cartsubmit.sold,
#itemDetailInfo #cartsubmit.shopstockonly,
#itemDetailInfo #cartsubmit.soon,
#itemDetailInfo #cartsubmit.restriction {
  color: #95989A;
  background: #D6D6D6;
  cursor: default;
}
#itemDetailInfo #cartsubmit:hover {
  opacity: .75;
}
#itemDetailInfo #cartsubmit.sold:hover,
#itemDetailInfo #cartsubmit.shopstockonly:hover,
#itemDetailInfo #cartsubmit.soon:hover,
#itemDetailInfo #cartsubmit.restriction:hover {
  opacity: 1;
}
#itemDetailInfo .cartsubmit_animation {
  position: relative;
  z-index: 1;
}
#itemDetailInfo .cartsubmit_animation #cartsubmit {
  animation: cartsubmitAnimation 2.4s linear infinite alternate-reverse;
}
#itemDetailInfo .cartsubmit_animation .message {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.06em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  animation: cartsubmitAnimation 2.4s linear infinite alternate;
  pointer-events: none;
}
@keyframes cartsubmitAnimation {
  0% { color: transparent; }
  50% { color: transparent; }
  90% { color: #FFF; }
  100% { color: #FFF; }
}

/* OPTION */
#itemDetailInfo .option_menu {
  font-size: 0;
  letter-spacing: -1em;
  margin: -11px 0 0 -11px;
}
#itemDetailInfo .option_menu li {
  display: inline-block;
  width: calc(50% - 11px);
  font-size: 12px;
  letter-spacing: normal;
  vertical-align: top;
  margin: 11px 0 0 11px;
}
#itemDetailInfo .option_menu li.is-100 {
  width: calc(100% - 11px);
}
#itemDetailInfo .option_menu li a {
  display: block;
  color: #555;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-align: center;
  line-height: 1.0;
  padding: 16px 5px;
  border: 1px solid #D6D6D6;
}

#itemDetailInfo #storestockbutton.boldButton {
  background: #000;
}
#itemDetailInfo #boldSpan.boldFont {
  color: #FFF;
}

/**/
#itemDetailInfo .item_detail {
  font-size: 11px;
  letter-spacing: 0.03em;
  line-height: 2.0;
  margin: 30px 0 0;
}
#itemDetailInfo .item_detail .description {
  font-size: 12px;
  letter-spacing: normal;
}
#itemDetailInfo .item_detail table.material {
  display: block;
  margin: 20px 0 0;
}
#itemDetailInfo .item_detail table.material tbody,
#itemDetailInfo .item_detail table.material tr {
  display: block;
}
#itemDetailInfo .item_detail table.material th,
#itemDetailInfo .item_detail table.material td {
  font-size: 11px;
  letter-spacing: 0.03em;
  line-height: 2.0;
  margin-top: 30px;
}
#itemDetailInfo .item_detail .country {
  font-size: 11px;
  letter-spacing: 0.03em;
  line-height: 2.0;
}
#itemDetailInfo .item_detail .number {
  margin-top: 20px;
}

/* ---------------------------------------
  MODAL
--------------------------------------- */
#sizeguide .modal_inner {
  width: 530px;
}
#sizeguide table {
  table-layout: fixed;
  width: 100%;
  border: 1px solid #95989A;
  border-collapse: collapse;
  margin-bottom: 20px;
}
#sizeguide table caption {
  font-size: 14px;
  text-align: left;
  margin-bottom: 5px;
}
#sizeguide table tr:nth-of-type(odd) {
  background: #F7F7F7;
}
#sizeguide table th, #sizeguide table td {
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  padding: 10px 0;
  border: 1px solid #95989A;
}
#sizeguide table tr th:first-of-type, #sizeguide table tr td:first-of-type {
  width: 20%;
}
#sizeguide .sizeguide_image {
  text-align: center; 
  margin: 50px auto 0;
}
#sizeguide .sizeguide_image li ~ li {
  padding-top: 20px;
}

/* ---------------------------------------
  MODAL :: STORE STOCK
--------------------------------------- */
#storestock .modal_inner {
  width: 520px;
  padding: 50px;
}
#storestock .title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.025em;
  text-align: center;
  line-height: 1.0;
  margin-bottom: 20px;
}
#storestock .stockmsg {
  font-size: 11px;
  letter-spacing: 0.025em;
  text-align: center;
  line-height: 1.0;
  margin-bottom: 10px;
}
#storestock .stockList {
  border-top: 1px solid #ECECEC;
}
#storestock .stockList .item {
  display: block;
  padding: 11px 30px 11px 10px;
  border-bottom: 1px solid #ECECEC;
  position: relative;
}
#storestock .stockList .item:after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%) translateZ(0) rotate(45deg);
  transform: translateY(-50%) translateZ(0) rotate(45deg);
}
#storestock .stockList .item dl {
  font-size: 0;
  letter-spacing: -1em;
  position: relative;
}
#storestock .stockList .item dl .name {
  display: inline-block;
  width: 204px;
  font-size: 11px;
  letter-spacing: 0.06em;
  vertical-align: middle;
}
#storestock .stockList .item dl .status {
  display: inline-block;
  width: 176px;
  font-size: 11px;
  letter-spacing: 0.06em;
  vertical-align: middle;
  padding-left: 32px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#storestock .stockList .item dl .status:before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: calc(50% - 7px);
  left: 9px;
}

#storestock .stockList .item.is-noStock dl .status {
  color: #c0c0c0;
}
#storestock .stockList .item.is-fewStock dl .status {
  color: #f00;
}
#storestock .stockList .item.is-noStock dl .status:before {
  background-image: url(../img/icon/mark_noStock.png);
}
#storestock .stockList .item.is-fewStock dl .status:before {
  background-image: url(../img/icon/mark_fewStock.png);
}
#storestock .stockList .item.is-inStock dl .status:before {
  background-image: url(../img/icon/mark_inStock.png);
}

#storestock .stockList a.item:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
#storestock .stockList a.item:hover {
  opacity: 1 !important;
}
#storestock .stockList a.item:hover:before {
  background: #F7F7F7;
}

#storestock .note {
  font-size: 10px;
  letter-spacing: 0.06em;
  padding: 0 10px;
  margin-top: 8px;
}

/* ---------------------------------------
  MOVIE
--------------------------------------- */
#movie {
  margin: 110px 0 130px;
}
#movie .player {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}
#movie .player:before {
  content: '';
  display: block;
  padding-top: 56.25%;
}
#movie .player iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}