@charset "UTF-8";
/* CSS Document */
/*----------------------------------------
変数
----------------------------------------*/
/* 注文内容と金額ボックスのコンテナ―
---------------------------------------------- */
#productContainer {
  width: 100%;
  max-width: 1432px;
  display: grid;
  grid-template-columns: auto 312px;
  grid-template-rows: 1fr auto;
  -webkit-column-gap: 32px;
     -moz-column-gap: 32px;
          column-gap: 32px;
  row-gap: 60px;
}
@media screen and (max-width: 1360px) {
  #productContainer {
    display: block;
  }
}

/* 商品詳細
---------------------------------------------- */
#productDetail {
  grid-column: 1;
  grid-row: 1/2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1360px) {
  #productDetail {
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 899px) {
  #productDetail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#productDetail .imageArea {
  width: 46%;
  max-width: 496px;
}
#productDetail .imageArea .productImagePc .showImage {
  aspect-ratio: 1/1;
  margin-bottom: 8px;
}
#productDetail .imageArea .productImagePc .showImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#productDetail .imageArea .productImagePc .showImageList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
#productDetail .imageArea .productImagePc .showImageList .showImageListItem {
  width: calc((100% - 24px) / 4);
  aspect-ratio: 1/1;
}
#productDetail .imageArea .productImagePc .showImageList .showImageListItem img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#productDetail .imageArea .productImagePc .productItemImg {
  display: none;
}
#productDetail .productImageSpTab {
  position: relative;
}
#productDetail .productImageSpTab .swiper {
  width: 100%;
  height: 100%;
}
#productDetail .productImageSpTab .swiper-wrapper {
  position: unset;
}
#productDetail .productImageSpTab .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
#productDetail .productImageSpTab .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#productDetail .productImageSpTab .swiper-pagination {
  bottom: 32px;
}
#productDetail .productImageSpTab .productImageSpSwiper .imageList {
  margin-bottom: 56px;
}
#productDetail .productImageSpTab .productImageSpSwiper .imageList .imageListItem {
  aspect-ratio: 1/1;
}
#productDetail .productImageSpTab .productItemImg {
  display: none;
}
#productDetail .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#productDetail .textArea .pageTitle {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  margin-bottom: 8px;
}
#productDetail .textArea .tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 24px;
}
@media screen and (max-width: 899px) {
  #productDetail .textArea .tagList {
    margin-bottom: 16px;
  }
}
#productDetail .textArea .tagList .tagListItem {
  position: relative;
  color: var(--colorTextMain);
  font-size: var(--size12px);
  padding-left: 2em;
}
#productDetail .textArea .tagList .tagListItem::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  -webkit-mask-image: url(../images/item_detail/iconTag.svg);
          mask-image: url(../images/item_detail/iconTag.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--colorTextMain);
}
#productDetail .textArea .productDetailText {
  margin-bottom: 24px;
}
#productDetail .textArea .keyword {
  margin-bottom: 24px;
}
#productDetail .textArea .keyword .keywordList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px 16px;
  margin-top: 8px;
}
#productDetail .textArea .keyword .keywordList a {
  color: var(--colorTextLink);
  font-size: var(--size14px);
  text-decoration: underline;
}
#productDetail .textArea .selection {
  padding-top: 24px;
  border-top: 1px solid var(--colorBorder);
}
#productDetail .textArea .selection .colorType {
  margin-bottom: 28px;
}
#productDetail .textArea .selection .colorType .colorText {
  margin-bottom: 12px;
}
#productDetail .textArea .selection .colorType .colorText .colorName {
  font-weight: bold;
}
#productDetail .textArea .selection .colorType .colorList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--colorSub);
  border: 1px solid var(--colorBorder);
  border-radius: 50%;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle:hover {
  cursor: pointer;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.current {
  border: 4px solid var(--colorMain);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle::before {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #F8F8F8;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorWhiteGray::before {
  background-color: #EFEFEF;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorWhite::before, #productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorNewWhite::before {
  background-color: #FFFFFF;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorBlack::before, #productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorMatteBlack::before {
  background-color: #000000;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLightPink::before {
  background-color: #F9D3E3;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLightBlue::before {
  background-color: #C7E8FA;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorBlue::before {
  background-color: #0A64B0;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGreen::before {
  background-color: #A3CC62;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorOrange::before {
  background-color: #EB7238;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorRed::before {
  background-color: #B1393D;
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGrainNatural::before {
  background-image: url(../images/item_detail/colorGrainNatural.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGrainBrown::before {
  background-image: url(../images/item_detail/colorGrainBrown.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGrainAshGray::before {
  background-image: url(../images/item_detail/colorGrainAshGray.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGrainDarkBrown::before {
  background-image: url(../images/item_detail/colorGrainDarkBrown.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorGrainMGray::before {
  background-image: url(../images/item_detail/colorGrainMGray.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherBlue::before {
  background-image: url(../images/item_detail/colorLeatherBlue.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherRed::before {
  background-image: url(../images/item_detail/colorLeatherRed.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherBlack::before {
  background-image: url(../images/item_detail/colorLeatherBlack.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherGray::before {
  background-image: url(../images/item_detail/colorLeatherGray.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherIvory::before {
  background-image: url(../images/item_detail/colorLeatherIvory.jpg);
}
#productDetail .textArea .selection .colorType .colorList .colorListItem .circle.colorLeatherWhite::before {
  background-image: url(../images/item_detail/colorLeatherWhite.jpg);
}
#productDetail .textArea .selection .buttonType .buttonText {
  margin-bottom: 8px;
}
#productDetail .textArea .selection .buttonType .buttonList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
#productDetail .textArea .selection .buttonType .buttonList .buttonListItem {
  width: 220px;
}
@media screen and (max-width: 589px) {
  #productDetail .textArea .selection .buttonType .buttonList .buttonListItem {
    width: 100%;
  }
}
#productDetail .textArea .selection .buttonType .buttonList .buttonListItem .btn {
  height: 100%;
  font-weight: normal;
  line-height: 1.5;
  padding: 12px;
}
#productDetail .textArea .selection .buttonType .buttonList .buttonListItem .btn.current {
  color: var(--colorSub);
  background-color: var(--colorMain);
  border: 1px solid var(--colorMain);
}
#productDetail .textArea .selection .buttonType .buttonCaptionList {
  margin-bottom: 24px;
}
#productDetail .textArea .selection .buttonType .buttonCaptionList .buttonCaptionListItem {
  display: none;
}
#productDetail .textArea .selection .buttonType .buttonCaptionList .buttonCaptionListItem.current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#productDetail .textArea .selection .buttonType .buttonCaptionList .buttonCaptionListItem .name {
  position: relative;
  color: var(--colorMain);
  font-weight: bold;
  padding-right: 1em;
}
#productDetail .textArea .selection .buttonType .buttonCaptionList .buttonCaptionListItem .name:after {
  content: ":";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
#productDetail .textArea .selection .buttonType .buttonCaptionList .buttonCaptionListItem .caption {
  color: var(--colorMain);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* 金額ボックス
---------------------------------------------- */
#priceContents {
  grid-row: 1/3;
  grid-column: 2;
  position: relative;
  top: unset;
}
@media screen and (max-width: 1360px) {
  #priceContents {
    margin-bottom: 32px;
  }
}
#priceContents .priceBox {
  position: sticky;
  top: 24px;
  padding: 16px 20px 24px;
}
#priceContents .priceBox .selectionList {
  margin-bottom: 16px;
}
#priceContents .priceBox .selectionList .selectionListItem {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--colorBorder);
}
#priceContents .priceBox .selectionList .selectionListItem:nth-of-type(n+2) {
  padding-top: 8px;
}
#priceContents .priceBox .selectionList .selectionListItem .text.required {
  color: var(--colorBorder);
}
#priceContents .priceBox .deliveryLeadArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-size: var(--size16px);
  min-height: 3.2em;
}
#priceContents .priceBox .deliveryLeadDates {
  width: 100%;
}
#priceContents .priceBox .leadDateBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#priceContents .priceBox .delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
#priceContents .priceBox .delivery .postage {
  color: var(--colorTextAccent);
  font-size: var(--size12px);
  padding: 2px 8px;
  border: 1px solid var(--colorTextAccent);
  background-color: var(--colorSub);
}
#priceContents .priceBox .delivery .postage .shipAttentionMark {
  font-size: var(--size10px);
}
#priceContents .priceBox .delivery .date {
  font-size: var(--size16px);
}
#priceContents .priceBox .price {
  font-size: var(--size16px);
  margin-bottom: 24px;
}
#priceContents .priceBox .price .salesPrice {
  font-size: var(--size40px);
  font-weight: bold;
}
#priceContents .priceBox .price .salesPrice sub {
  font-size: var(--size20px);
}
#priceContents .priceBox .quantityBox {
  margin-bottom: 40px;
}
#priceContents .priceBox .quantityBox .choice button {
  width: 40px;
  font-size: var(--size24px);
}
#priceContents .priceBox .quantityBox .choice .inputWrap::after {
  width: 12px;
  height: 8px;
  right: 16px;
}
#priceContents .priceBox .quantityBox .choice .inputWrap input {
  width: 64px;
  font-size: var(--size20px);
  padding: 8px 12px;
}
#priceContents .priceBox .shipAttention {
  font-size: var(--size14px);
  margin-bottom: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 4px;
}
#priceContents .priceBox .attention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 8px;
}
#priceContents .priceBox .attention::before {
  display: block;
  content: "";
  width: 16px;
  height: 14px;
  background-image: url(../images/item_detail/iconCaution.svg);
  background-size: cover;
}
#priceContents .priceBox .attention a {
  color: var(--colorTextAccent);
  font-size: var(--size14px);
}
#priceContents .priceBox .cart {
  margin-bottom: 20px;
  gap: 8px;
  font-weight: bold;
}
#priceContents .priceBox .cart span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
#priceContents .priceBox .cart.disabled {
  pointer-events: none;
  background-color: var(--colorBorder);
}
#priceContents .priceBox .cart.disabled::before {
  content: unset;
}
#priceContents .priceBox .favoriteBtn {
  position: relative;
  gap: 8px;
  font-weight: normal;
  padding: 4px 12px;
}
#priceContents .priceBox .favoriteBtn::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(./../../assets/images/common/favoriteHeart.svg);
  background-size: cover;
}
#priceContents .priceBox .favoriteBtn.inFavorite::after {
  background-image: url(./../../assets/images/common/favoriteHeart_on.svg);
}
#priceContents .priceBox .favoriteBtn.playAnimation::after {
  -webkit-animation: favorite-animation 0.2s;
          animation: favorite-animation 0.2s;
}

@-webkit-keyframes favorite-animation {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  10% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  80% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes favorite-animation {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  10% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  80% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* #productInfo
---------------------------------------------- */
#productInfo {
  grid-column: 1;
}
#productInfo .productDetailText {
  margin-bottom: 32px;
}

/* ご注文前の確認事項
---------------------------------------------- */
#confirmation .sectionTitle {
  position: relative;
  color: var(--colorTextAccent);
  letter-spacing: 0.04em;
  padding-left: 30px;
}
#confirmation .sectionTitle::before {
  content: url(../images/item_detail/iconCaution.svg);
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#confirmation .tableBox tbody tr th,
#confirmation .tableBox tbody tr td {
  line-height: 1.7;
  padding: 16px;
}
#confirmation .tableBox tbody tr th {
  width: 240px;
}
@media screen and (max-width: 899px) {
  #confirmation .tableBox tbody tr th {
    width: unset;
  }
}
#confirmation .tableBox tbody tr th .confirmationItemName {
  font-size: var(--size14px);
  font-weight: bold;
}
#confirmation .tableBox tbody tr td {
  width: calc(100% - 240px);
}
@media screen and (max-width: 899px) {
  #confirmation .tableBox tbody tr td {
    width: unset;
  }
}
#confirmation .tableBox tbody tr td .confirmationItemText {
  font-size: var(--size14px);
}
#confirmation .tableBox tbody tr td .confirmationItemList {
  line-height: 1.6;
  padding-left: 1.6em;
}
#confirmation .tableBox tbody tr td .confirmationItemList .confirmationItemListItem {
  font-size: var(--size14px);
  list-style: disc;
}
#confirmation .tableBox tbody tr td .textLink a {
  font-size: var(--size14px);
  padding-right: unset;
}

/* 商品の特徴
---------------------------------------------- */
#feature {
  margin-bottom: 80px;
}

/* 仕様
---------------------------------------------- */
#spec {
  margin-bottom: 80px;
}
#spec .specDataList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
@media screen and (max-width: 589px) {
  #spec .specDataList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#spec .specDataList .specDataListItem {
  width: 220px;
}
@media screen and (max-width: 589px) {
  #spec .specDataList .specDataListItem {
    width: 100%;
  }
}
#spec .specTable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 899px) {
  #spec .specTable {
    border: 1px solid var(--colorBorder);
    -ms-flex-wrap: unset;
        flex-wrap: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#spec .specTable .specItem {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 899px) {
  #spec .specTable .specItem {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#spec .specTable .specItem .specLabel,
#spec .specTable .specItem .specText {
  font-size: var(--size14px);
  padding: 16px;
}
#spec .specTable .specItem .specLabel {
  width: 16%;
  min-width: 172px;
  font-weight: bold;
  background-color: #F3F3F3;
}
@media screen and (max-width: 899px) {
  #spec .specTable .specItem .specLabel {
    width: 100%;
    max-width: unset;
  }
}
#spec .specTable .specItem .specText {
  width: 100%;
}
@media screen and (min-width: 900px) {
  #spec .specTable .specItem {
    border-right: 1px solid var(--colorBorder);
    border-bottom: 1px solid var(--colorBorder);
  }
}
@media screen and (min-width: 900px) {
  #spec .specTable .specItem .specLabel {
    border-right: 1px solid var(--colorBorder);
  }
}
@media screen and (min-width: 900px) {
  #spec .specTable .specItem:nth-child(-n+2) {
    border-top: 1px solid var(--colorBorder);
  }
}
@media screen and (min-width: 900px) {
  #spec .specTable .specItem:nth-of-type(odd) {
    border-left: 1px solid var(--colorBorder);
  }
}
@media screen and (max-width: 899px) {
  #spec .specTable .specItem .specLabel {
    border-bottom: 1px solid var(--colorBorder);
  }
}
@media screen and (max-width: 899px) {
  #spec .specTable .specItem:not(:last-of-type) .specText {
    border-bottom: 1px solid var(--colorBorder);
  }
}

/* 関連商品
---------------------------------------------- */
#relatedProducts {
  margin-bottom: 80px;
  max-width: 1088px;
}
@media screen and (max-width: 1360px) {
  #relatedProducts {
    max-width: unset;
  }
}/*# sourceMappingURL=item_detail.css.map */