﻿@charset "UTF-8";

/* 商品詳細（スマートフォン） ファーストビュー用 */

/* sys/sb_base_misc.css のコピー ここから */

/* ----画像センタリング配置---- */

.img-center {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img-center img {
  text-align: center;
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
}

/* ここまで sys/sb_base_misc.css のコピー */

/* sys/sb_block_common.css のコピー ここから */

/* ----パンくず---- */

.block_of_topic_path {
  background-color: #f5f5f5;
}

.block-topic-path {
  margin: 40px 0 0;
  padding: 0;
  font-size: 0;
  background-color: #f5f5f5;
  margin-top: 10px;
  margin-bottom: 10px;
}

.block-topic-path--list li {
  display: inline-block;
  font-size: 12px;
  padding-right: 5px;
}

.block-topic-path--list a {
  text-decoration: underline;
}

/* ここまで sys/sb_block_common.css のコピー */

/* sys/sb_block_goods.css のコピー ここから */

/* ----商品詳細画面---- */

.block-goods-detail {
  margin: 0;
  display: -webkit-flex;
  display: flex;
}

.block-goods-gallery ul {
  font-size: 0;
  z-index: 0;
}

.block-goods-gallery li {
  width: 25%;
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  padding-left: 10px;
  padding-bottom: 10px;
}

.block-goods-detail .swiper-slider-main {
  overflow: hidden;
}

.block-goods-detail .swiper-slider-main img {
  width: calc(100vw - 40px);
  aspect-ratio: 1 / 1;
}

.block-goods-detail .swiper-slider-main a {
  display: block;
  position: relative;
  background-color: #ffffff;
  border-radius: 5px;
  overflow: hidden;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #cccccc;
    border-radius: 5px;
  }
}

/* ここまで sys/sb_block_goods.css のコピー */

/* usr/sb_block.css のコピー ここから */

/* ----商品詳細画面---- */

.block-goods-detail {
  margin: 0;
  padding: 0;
}

.block-src-l {
  margin: -10px -20px 0;
}

.block-goods-gallery {
  margin: 0 -20px;
  overflow-x: auto;
  overflow-y: hidden;
}

.block-goods-gallery::-webkit-scrollbar {
  display: none;
}

.block-goods-gallery ul {
  display: flex;
  margin-top: 12px;
  padding: 0;
}

.block-goods-gallery ul li {
  display: block;
  width: 58px;
  min-width: 58px;
  flex-basis: 58px;
  margin: 0 8px 0 0;
  padding: 0;

  &:first-child {
    margin-left: 20px;
  }

  &:last-child {
    margin-right: 20px;
  }
}

.block-goods-gallery ul li a {
  display: block;
  position: relative;
  border-radius: 4px;
  background-color: #ffffff;
  overflow: hidden;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #cccccc;
    border-radius: 4px;
  }
}

.block-goods-gallery ul li figure {
  width: 58px;
  height: 58px;
}

.block-icon {
  font-size: 0;
}

.block-icon img {
  display: block;
  height: 20px;
}

.block-icon > span {
  display: block;
}

.page-goods .block-icon {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.page-goods {
  .block-goods-reception_period + .block-icon {
    margin-top: 40px;
  }
}

.block-goods-name {
  flex-shrink: 1;
  margin: 0 16px 0 0;
}

.block-goods-name h1 {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
}

.block-goods-comment {
  font-size: 12px;
  line-height: 1.5;
}

.block-goods-comment.more-open {
  position: relative;
  max-height: 54px;
  padding-bottom: 16px;
}

.block-goods-comment.more-open .open-button {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 16px;
  cursor: pointer;
}

.block-goods-comment.more-open .open-button::before {
  position: absolute;
  top: 0;
  left: calc(50% - 6px);
  display: block;
  width: 12px;
  height: 12px;
  border-right: 1px solid #222;
  border-bottom: 1px solid #222;
  transform: rotate(45deg);
  content: "";
}

.goods-detail-description {
  display: flex;
  padding: 1px 0;
  font-size: 13px;
}

.goods-detail-description dt {
  display: block;
  font-weight: normal;
  width: 6.5em;
}

.goods-detail-description dd {
  display: block;
}

.goods-detail-description.block-goods-spec {
  display: block;
  font-size: 12px;
}

.goods-detail-description.block-goods-spec dt {
  display: inline;
  font-weight: normal;
}

.goods-detail-description.block-goods-spec dd {
  display: inline;
}

.block-goods-price--on-sales-comment {
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  color: #d53115;
}

.block-goods-price--on-sales-comment + .block-goods-price--price {
  color: #d53115;
}

.block-goods-price--on-sales-comment + .block-goods-price--price + .block-goods-price--default-price {
  font-size: 14px;
  font-weight: normal;
}

.block-goods-price {
  margin: 40px 0 0;
  text-align: left;
}

.block-goods-price--price {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
}

.block-goods-price--price::after,
.block-goods-price--net-price::after {
  font-size: 1rem;
  font-weight: 400;
}

.block-goods-price--default-price {
  text-align: left;
}

.block-goods-price--default-price::after {
  font-size: 11px;
  content: "（税込）";
}

.block-goods-price--default-net::after {
  font-size: 11px;
  content: "（税抜）";
}

.block-goods-price--regular-repeat-price::after {
  font-size: 11px;
  content: "（税込）";
}

.block-goods-price--regular-repeat-net::after {
  font-size: 11px;
  content: "（税抜）";
}

.block-variation--name {
  border: 0;
  border-top: 1px solid #dedede;
  padding: 12px 0 0;
  margin: 10px 0 4px;
  font-size: 14px;
  font-weight: bold;
}

.block-variation--item {
  margin-right: 4px;
}

.block-color--item-term,
.block-size--item-term {
  min-width: 56px;
  min-height: 56px;
}

.block-variation--item dt {
  border: 1px solid #dedede;
}

.block-variation--item.active dt {
  border: 1px solid #d53100;
}

.block-variation--item.size-disable-stock dt {
  border: 1px dashed #dedede;
}

.block-color--item-term figure {
  width: 54px;
  height: 54px;
}

.block-color--item-term img {
  max-width: 100%;
  max-height: 100%;
}

.block-size--item-term span {
  width: 54px;
  height: 54px;
  font-size: 13px;
}

.block-variation--selected-item {
  margin: 8px 0 16px;
}

.block-size-with-cart--item-term,
.block-color-with-cart--item-term,
.block-color-size-with-cart--color-item-term,
.block-color-size-with-cart--size-item-term {
  flex-shrink: 0;
}

.block-color-size-with-cart--nocolor {
  width: 48px;
  height: 48px;
  margin-right: 4px;
  flex-shrink: 0;
}

.block-color-size-with-cart--color-item-term {
  margin-right: 4px;
}

.block-color-size-with-cart--size-item-term span,
.block-size-with-cart--item-term span {
  
}

.block-color-size-with-cart--color-item-term figure,
.block-color-with-cart--item-term figure {
  width: 46px;
  height: 46px;
}

.block-color-size-with-cart--color-item-term img,
.block-color-with-cart--item-term img {
  max-width: 100%;
  max-height: 100%;
}

.block-goods-not-available-method {
  margin: 10px 0 4px;
  padding: 12px 0 0;
  border-top: 1px solid #dedede;
}

.block-variation .block-variation-no-stock--message,
.block-variation .block-variation-outside-sales-period--message,
.block-variation .block-goods-variation-arrival-notice--btn,
.block-variation .block-variation-add-cart--btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 100%;
  border-radius: 3px;
}

.block-variation .block-variation-no-stock--message,
.block-variation .block-variation-outside-sales-period--message {
  border: 0;
  color: #808080;
  background: #f5f5f5;
}

.block-variation .block-goods-variation-arrival-notice--btn {
  border: 0;
  color: #fff;
  background: #73c3d6;
}

.block-variation .block-variation-favorite {
  margin-left: 8px;
  flex-shrink: 0;
}

.block-variation .block-variation-favorite--btn,
.block-variation .block-variation-favorite-registed--btn {
  height: 48px;
  width: 48px;
  border-radius: 3px;
}

.block-variation .block-variation-favorite--btn {
  background: url(../../img/usr/common/goods_bookmark_val_btn_sp.png) center center / 18px auto no-repeat;
}

.block-variation .block-variation-favorite-registed--btn {
  background: #fff2ef url(../../img/usr/common/goods_bookmark_reg_btn_sp.png) center center / 18px auto no-repeat;
}

.block-variation .block-variation-favorite--btn .block-icon-image,
.block-variation .block-variation-favorite-registed--btn .block-icon-image {
  display: none;
}

.block-variation-add-cart {
  
}

.block-custom-order--btn {
  margin: 10px 0;
  padding: 16px 0;
  border-radius: 3px;
  font-size: 15px;
}

.block-arrival-notice .block-arrival-notice--btn {
  width: 100%;
  border: 0;
  border-radius: 3px;
  color: #fff;
  background: #73c3d6;
}

.block-no-stock .block-no-stock--message,
.block-outside-sales-period--message {
  width: 100%;
  border: 0;
  border-radius: 3px;
  color: #808080;
  background: #f5f5f5;
}

.block-goods-favorite--btn {
  padding: 16px 0;
  font-size: 15px;
  color: #d53100;
  background: #fff;
}

.block-contact-about-goods {
  text-align: center;
}

.block-contact-about-goods .block-contact-about-goods-btn {
  display: inline;
  padding: 0;
  border: 0;
  text-decoration: underline;
  font-size: 14px;
  color: #081f2c;
  background: none;
}

.block-goods-link {
  text-align: center;
}

.block-goods-link .block-goods-link--btn {
  display: inline;
  padding: 0;
  border: 0;
  text-decoration: underline;
  font-size: 14px;
  color: #081f2c;
  background: none;
}

.block-goods-store-stock {
  text-align: center;
}

.block-goods-store-stock .block-goods-store-stock--btn {
  margin: 0 0 10px;
  padding: 16px 0;
  border-radius: 3px;
  border: 1px solid #d53100;
  font-size: 15px;
  color: #d53100;
  background: #fff;
}

.block-goods-detail dl[class^="block-goods-comment"] dt {
  display: block;
  margin: 0 0 14px;
  padding: 24px 0 0;
  font-size: 20px;
  font-weight: 500;
}

.block-goods-detail dl[class^="block-goods-comment"] + dl[class^="block-goods-comment"] dt {
  display: none;
}

.block-goods-detail dl[class^="block-goods-comment"] dt h3 {
  margin: 0;
  border: 0;
  font-size: 20px;
}

.block-goods-detail h3.block-goods-comment--title {
  margin: 0 0 12px;
  padding: 8px 0;
  border-bottom: 1px solid #dedede;
  font-size: 14px;
  line-height: 1.5;
}

.block-goods-comment--table-frame {
  width: 100%;
  margin: 0 0 15px;
  overflow-x: auto;
  overflow-y: hidden;
}

.block-goods-comment--table-frame .block-goods-comment--table {
  border-collapse: collapse;
}

.block-goods-comment--table-frame .block-goods-comment--table th,
.block-goods-comment--table-frame .block-goods-comment--table td {
  padding: 7px 22px;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #707070;
}

.block-goods-comment--table-frame .block-goods-comment--table tr.title th {
  background: #eee;
}

.block-goods-comment--table-frame .block-goods-comment--table tr th:first-of-type,
.block-goods-comment--table-frame .block-goods-comment--table tr.title th:first-of-type {
  min-width: 100px;
  text-align: left;
  font-weight: bold;
}

.block-goods-comment--table-frame .block-goods-comment--table td {
  white-space: nowrap;
}

.block-goods-user-review h2 {
  margin: 0;
  padding: 16px 20px;
  border: 0;
  font-size: 19px;
  background: none;
}

.block-goods-user-review .block-goods-user-review--info {
  padding: 10px 20px;
  background: none;
}

.block-goods-user-review .block-goods-user-review--count-summary {
  padding: 10px 13px;
  border: 1px solid #707070;
  border-radius: 4px;
}

.block-goods-user-review .block-goods-user-review--score dt {
  font-weight: normal;
}

.block-goods-user-review .block-goods-user-review--score dd img {
  height: 100%;
  top: -2px;
}

.block-goods-user-review .block-goods-user-review--description {
  margin: 0 0 24px;
  font-size: 11px;
}

.block-goods-user-review .block-goods-user-review--need-login-message {
  margin: 16px 0 12px;
  text-align: center;
  font-size: 12px;
}

.block-goods-user-review .block-goods-user-review--need-login-message a {
  text-decoration: underline;
}

.block-goods-user-review .block-goods-user-review--write-review-link,
.block-goods-user-review .block-goods-user-review--write-review-btn {
  display: block;
  width: 216px;
  margin: 0 auto;
  padding: 10px 0;
  border-radius: 20px;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #d53100;
}

.block-goods-user-review .block-goods-user-review--list {
  margin: 0 20px;
}

.block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item {
  padding: 16px 0;
  border-bottom: 1px solid #dedede;
}

.block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item:last-of-type {
  border-bottom: 0;
}

.block-goods-user-review .block-goods-user-review--item-title {
  border: 0;
  font-size: 15px;
  font-weight: 500;
}

.block-goods-user-review .block-goods-user-review--item-summary {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.block-goods-user-review .block-goods-user-review--item-summary .block-goods-user-review--item-name {
  margin: 0 0 8px;
  order: 20;
}

.block-goods-user-review .block-goods-user-review--item-summary .block-goods-user-review--item-score {
  margin: 0 0 8px;
  order: 10;
}

.block-goods-user-review .block-goods-user-review--item-summary .block-goods-user-review--item-score dt {
  display: none;
}

.block-goods-user-review .block-goods-user-review--item-summary .block-goods-user-review--item-score dd img {
  height: 100%;
  top: -2px;
}

.block-goods-detail-footer {
  display: none;
}

h2.block-accessory-list--name {
  padding: 16px 20px;
  border: 0;
  font-size: 19px;
  background: none;
}

.block-goods-uservoice {
  padding: 0 0 40px;
  background: #f5f5f5;
}

.block-goods-uservoice .block-goods-uservoice--title {
  margin: 0 0 24px;
  padding: 40px 0 0;
  border: 0;
  text-align: center;
  font-family: "Josefin Sans", "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.333;
  color: #000;
  background: none;
}

.block-goods-uservoice .block-goods-uservoice--title span {
  display: block;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.5;
}

.page-goods .block-search-box--form {
  display: none;
}

/* ----商品詳細画面---- */

/*CSSによる商品詳細画面の項目の並び順変更用*/
.pane-goods-right-side {
  display: block;
  padding: 0 20px;
}

/* ここまで usr/sb_block.css のコピー */

/* ----20251029 added---- */

.wrapper:has(.block-cart-float) {
  padding-bottom: 73px;
}

.block-goods-main-img {
  padding: 40px 20px 12px;
  background-color: var(--cl-lpgr);
}

.block-goods-reception_period {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin: 0 -20px;
  padding: 16px 20px;
  background-color: var(--cl-bl);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.block-goods-name_favorite {
  display: flex;
  width: 100%;
  margin-top: 16px;
}

.block-goods-favorite {
  flex-shrink: 0;
  margin-left: auto;

  a {
    display: block;
    position: relative;
    padding: 26px 0 0;
    background-image: url(../../img/usr/common/sp/goods_favorite_off.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 33px 24px;
    color: var(--cl-rd);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    outline: none !important;

    &.block-goods-favorite-registed--btn {
      background-color: transparent;
      background-image: url(../../img/usr/common/sp/goods_favorite_on.png);
      color: var(--cl-rd);
      text-decoration: none;
    }
  }
}

.block-goods-related_tags {
  margin-top: 40px;
  font-size: 1.2rem;

  .item-ttl {
    color: var(--cl-bl);
    font-weight: 700;
  }

  ul {
    margin-top: 8px;

    li {
      & + li {
        margin-top: 4px;
      }

      a {
        text-decoration: underline;

        &:hover {
          text-decoration: none;
        }
      }
    }
  }
}

.block-goods-detail-description {
  display: table;
  margin-top: 32px;
  font-size: 12px;

  > div {
    display: table-row;

    dt,
    dd {
      display: table-cell;
      padding-top: 8px;
    }

    dt {
      padding-right: 20px;
      color: var(--cl-bl);
      font-weight: 700;
    }
  }
}

.block-goods-payment-icon {
  margin-top: 40px;
  font-size: 1.2rem;

  .item-ttl {
    margin-bottom: 8px;
    color: var(--cl-bl);
    font-weight: 700;
  }

  ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;

    img {
      display: block;
      width: auto;
      height: 20px;
    }
  }
}

.block-cart-float {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  border-top: 1px solid #ededed;
  background-color: #ffffff;
  z-index: 99;
}

.block-cart-float-body {
  display: flex;
  align-items: center;
  height: 72px;
  padding: 0 20px;
}

.block-cart-price--price {
  font-size: 1.4rem;

  &::after {
    font-size: 1rem;
  }
}

.block-add-cart {
  margin-left: auto;
}

.block-add-cart--btn.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0;
  width: 212px;
  height: 48px;
  border: 2px solid #ffffff;
  border-radius: 0;
  background-color: #f8af49;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.08em;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  &::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #ededed;
  }
}

.block-goods-detail-footer>div>.block-add-cart--btn.btn-primary {
  font-size: 18px;
}

.block-goods-detail-footer>div>.block-no-stock {
  align-items: center;
  justify-content: center;
  width: 212px;
  height: 48px;
  text-align: center;
  
  .block-no-stock--message {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
  }
}

.block-goods-detail-footer>div>.block-arrival-notice {
  align-items: center;
  justify-content: center;
  width: 212px;
  height: 48px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  
  .block-arrival-notice--btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.block-goods-detail-footer>div>.block-outside-sales-period {
  align-items: center;
  justify-content: center;
  height: 48px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  
  .before {
    width: 212px;
  }
  
  .after {
    width: 252px;
  }
  
  .block-outside-sales-period--message {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
  }
}

.block-modal-cart-link-cart {
  margin: 0 auto;
  width: 308px;
  margin: 20px auto 0;

  .block-add-cart--btn {
    width: 308px;
    height: 48px;
    font-size: 16px;
  }
}

.block-modal-cart-close-modal.btn-bdr {
  width: 308px;
  height: 48px;
  margin: 20px auto 0;
}

.block-goods-bottom {
  margin-top: 40px;
}

.block-goods-info-tab-tab {
  display: flex;
  position: relative;

  &::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--cl-bl);
  }

  > li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 40px;
    padding-bottom: 2px;
    background-color: #ffffff;
    color: var(--cl-bl);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    cursor: pointer;

    &.is-active {
      background-color: var(--cl-bl);
      color: #ffffff;
      font-weight: 400;
    }
  }
}

.block-goods-info-tab-content {
  padding: 20px 20px 0;
}

.block-goods-info-tab-content-item {
  display: none;

  &.is-active {
    display: block;
  }
}

.block-goods-info-content {
  font-size: 12px;

  p + p {
    margin-top: 2em;
  }

  hr {
    margin: 20px 0;
    border-bottom: 1px solid #ededed;
  }
}

.block-goods-info-bl_bdr-content {
  border: 1px solid var(--cl-bl);
  font-size: 1.2rem;

  &:not(:first-child) {
    margin-top: 40px;
  }

  .block-goods-info-bl_bdr-content-body {
    padding: 20px 8px;
  }

  .ttl-benefit_info {
    display: flex;
    align-items: center;
    height: 19px;
    position: relative;
    margin: 0 0 20px;
    padding: 0;
    border: none;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;

    &::before {
      content: "";
      display: inline-block;
      position: relative;
      width: 20px;
      height: 19px;
      margin-right: 8px;
      background-image: url(../../img/usr/common/sp/goods_benefit_info.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
  }

  .block-list-annotation {
    margin-top: 20px;
  }
}

.block-goods-info-ac_box {
  position: relative;
  overflow: hidden;

  .item-view_more {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(64px + 19px);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 65%, rgba(255, 255, 255, 1) 100%);
    z-index: 9;

    span {
      display: block;
      padding: 0 20px;
      color: var(--cl-bl);
      font-size: 1.2rem;
      font-weight: 700;
      text-align: center;
      cursor: pointer;
    }
  }

  &.is-open {
    height: auto !important;

    .item-view_more {
      display: none;
    }
  }
}

.block-goods-info-bl_bdr-content {
  .block-goods-info-ac_box {
    height: 274px;

    .item-view_more {
      height: calc(84px + 19px);
      padding-bottom: 20px;
    }
  }
}

.block-goods-embedded_sns {
  margin-top: 40px;
  padding: 0 20px;
}

.block-goods-payment-desc {
  margin-top: 40px;
  padding: 0 20px;
}

.block-goods-payment-desc-body {
  padding: 20px 8px;
  background-color: #e6f4f8;
  font-size: 12px;

  .block-list-annotation {
    margin-top: 1em;
  }
}

.block-goods-bottom-annotation {
  font-size: 11px;
  padding: 20px 20px;
  margin-top: 20px;
  padding-bottom: 0;

  li {
    position: relative;
    padding-left: 1.5em;

    &::before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0;
      color: var(--cl-rd);
    }

    & + li {
      margin-top: 16px;
    }
  }
}

.block-goods-cart-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 999;
}

.block-goods-cart-modal-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;

  .block-goods-cart-modal-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 0.6);
  }

  .block-goods-cart-modal-body {
    position: relative;
    width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    padding: 34px 16px 8px;
    border: 2px solid #ededed;
    background-color: #ffffff;

    .item-close_btn {
      position: absolute;
      top: 8px;
      right: 8px;
      width: 18px;
      height: 18px;
      cursor: pointer;

      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 23px;
        height: 2px;
        margin: -1px 0 0 -13px;
        background-color: var(--cl-bk);
      }

      &::before {
        transform: rotate(45deg);
      }

      &::after {
        transform: rotate(-45deg);
      }
    }
  }

  .item-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 198px;
    border-radius: 5px;
    background-color: var(--cl-lpgr);

    img {
      width: 162px;
      height: auto;
      border-radius: 4px;
      border: 1px solid #eeeeee;
    }
  }

  .item-detail {
    margin-top: 20px;
  }

  .item-comment {
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }

  .block-variation {
    margin-top: 8px;
  }

  .block-color-with-cart--item {
    margin: 0;
    padding: 12px 0;

    & + .block-color-with-cart--item {
      border-top: 1px solid #ededed;
    }
  }

  .block-size-with-cart--item-term,
  .block-color-with-cart--item-term,
  .block-color-size-with-cart--color-item-term,
  .block-color-size-with-cart--size-item-term {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: calc(100% - 160px);
    height: auto;
    border: none;
    margin-right: 0;
    padding-right: 20px;
    font-size: 1.8rem;
  }

  .block-variation .block-variation-no-stock--message,
  .block-variation .block-variation-outside-sales-period--message,
  .block-variation .block-goods-variation-arrival-notice--btn,
  .block-variation .block-variation-add-cart--btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 160px;
    height: 48px;
    border: none;
    border-radius: 0;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.08em;
  }

  .block-variation .block-variation-add-cart--btn {
    background-color: #f8af49;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 2px solid #ffffff;
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 1px solid #ededed;
    }
  }

  .block-variation .block-variation-no-stock--message {
    background-color: #ededed;
    color: #666666;
  }
}

.goods-detail-base {
  padding: 0 24px;
}

.block-goods-ver2-main-img {
  &.goods-detail-base {
    padding: 0;
  }

  img {
    display: block;
    width: 100%;
    height: auto;
  }
}

.block-goods-ver2-movie {
  display: flex;
  flex-direction: column;
  align-items: center;

  > div {
    width: 100%;
    padding: 40px 0;
  }

  h2 {
    margin: 0 0 32px;
    padding: 0;
    border: none;
    font-size: 2.4rem;
    font-weight: 400;
    text-align: center;
  }
}

.block-goods-ver2-info {
  margin-top: 40px;

  .block-goods-reception_period {
    justify-content: flex-start;
    min-height: auto;
    margin: 20px 0 0;
    padding: 0;
    background-color: transparent;
    color: var(--cl-bk);
    font-size: 1.3rem;
    font-weight: 700;
  }
}

.block-goods-ver2-comment {
  margin-top: 40px;

  hr {
    display: block;
    width: 100%;
    height: 2px;
    margin: 0;
    padding: 0;
    border: none;
  }
}

.goods-img_text-area {
  display: flex;
  justify-content: space-between;
  padding: 40px 0;

  .txt {
    width: calc(100% - 136px);
    font-size: 1.2rem;

    p + p {
      margin-top: 1.5em;
    }
  }

  .img {
    width: 120px;

    button {
      display: block;
      position: relative;
      width: 100%;
      height: auto;
      padding: 4px;
      border: none;
      background-color: #ffffff;
      aspect-ratio: 1 / 1;
      cursor: pointer;

      &::after {
        content: "";
        display: block;
        position: absolute;
        right: 6px;
        bottom: 7px;
        width: 32px;
        height: 32px;
        background-image: url(../../img/usr/common/sp/icon_magnify.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }

      img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
      }
    }
  }
}

.goods-img-area {
  padding: 40px 0;
}

.goods-img-area-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 20px;

  > li {
    width: calc((100% - 20px) / 2);

    &:nth-child(odd) {
      margin-top: -20px;
    }

    &:nth-child(even) {
      margin-top: 60px;
    }

    button {
      display: block;
      position: relative;
      width: 100%;
      height: auto;
      padding: 4px;
      border: none;
      background-color: #ffffff;
      aspect-ratio: 1 / 1;
      cursor: pointer;

      &::after {
        content: "";
        display: block;
        position: absolute;
        right: 6px;
        bottom: 7px;
        width: 32px;
        height: 32px;
        background-image: url(../../img/usr/common/sp/icon_magnify.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }

      img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
      }
    }

    figcaption {
      margin-top: 8px;
      font-size: 1.2rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    &:only-child {
      width: 240px;
      margin: 0 auto;
    }
  }
}

.block-common-modal-largeimg {
  padding: 36px 0 20px;

  figure {
    display: block;

    img {
      width: 100%;
      height: auto;
      border: 1px solid #cccccc;
      aspect-ratio: 1 / 1;
      object-fit: cover;
    }

    figcaption {
      margin-top: 24px;
      font-size: 1.4rem;
      color: var(--cl-bk);
    }
  }
}

.block-goods-payment-icon + .block-goods-info-content {
  margin-top: 40px;
}

.goods-detail-base {
  .block-goods-payment-desc {
    padding: 0;
  }

  .block-goods-bottom-annotation {
    margin-top: 40px;
  }
}

.goods-detail-description {
  &.block-goods-code,
  &.block-goods-item-code,
  &.block-goods-item-code2,
  &.block-goods-item-code3,
  &.block-goods-class1,
  &.block-goods-class2,
  &.block-goods-attr1,
  &.block-goods-attr2,
  &.block-goods-attr3,
  &.block-goods-point,
  &.block-goods-postage,
  &.block-goods-spec {
    display: none !important;
  }
}

.block-goods-coupon {
  display: none !important;
}

.goodsdetail-comment1,
.goodsdetail-comment2,
.goodsdetail-comment3,
.goodsdetail-comment4,
.goodsdetail-comment5 {
  margin-top: 40px;
}