/** @format */

/* ////////////////////// PC・SP共通 ////////////////////// */

/* 共通カラー定義 */
:root {
  --mainBackColor: #f2f2f2;
  --mainFontColor: #333333;
  --mainBorderColor: #dbdbdb;
}

/* ページ内リンク（#で始まるアンカー）はすべて滑らかにスクロールする */
html {
  scroll-behavior: smooth;
}

.ecFeatureContents {
  font-family:
    "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans",
    Meiryo, sans-serif;
  color: var(--mainFontColor);
  line-height: 1;
}

.ecFeatureContents img {
  width: 100%;
}

/* メインビジュアル */
.ecFeatureContents .fcMainImgSection img {
  width: 100%;
}

/* 商品仕様アコーディオン（共通） */
.ecFeatureContents .productSpecToggle {
  display: none;
  cursor: pointer;
}

.ecFeatureContents .productDetailOrderSample {
  display: none;
}

.ecFeatureContents .productPriceSaleBefore {
  color: var(--mainFontColor);
}

/* hover効果 */
.ecFeatureContents .pickupProductImgBox .pickupProductImg a img:hover {
  opacity: 0.6;
}

.ecFeatureContents .pickupProductImgBox .productFavorite a img:hover {
  filter: brightness(1.4);
  transition: filter 0.2s ease;
}

/* リセット系 */
.ec-productDetail .productStatusCode .productStatus {
  position: relative;
}

.ecFeatureContents .featureProductSection .pickupProductImg img {
  border: 1px solid #d8d8d8;
}

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  /* メインビジュアル */
  .ecFeatureContents .fcMainImgSection {
    margin-bottom: 5vw;
  }

  /* 特集　説明 */
  .ecFeatureContents .featureIntroSection {
    margin: 0 auto 5vw;
    text-align: center;
  }

  .ecFeatureContents .featureIntroSection .featureTitle {
    font-size: max(30px, 2.34vw);
    font-weight: bold;
    letter-spacing: 0.09em;
    margin: 0 auto 3vw;
    text-align: center;
  }

  .ecFeatureContents .featureIntroSection .featureSubtitle {
    font-size: max(15px, 1.15vw);
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin: 0 auto 5vw;
    text-align: center;
  }

  .ecFeatureContents .productCodeName a:hover {
    text-decoration: underline;
  }

  /* 特集　説明について */
  .ecFeatureContents .featureAboutSection {
    margin: 3vw auto;
    text-align: center;
    width: 80%;
    border-top: 2px solid #c6c6c6;
    padding-top: 8vw;
  }

  .ecFeatureContents .featureAboutSection dt {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 1.6vw;
  }

  .ecFeatureContents .featureAboutSection dd {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  /* メインビジュアル */
  .ecFeatureContents .fcMainImgSection {
    margin-bottom: 6vw;
  }

  /* 特集　説明 */
  .ecFeatureContents .featureIntroSection {
    margin: 0 auto 13vw;
    text-align: center;
  }

  .ecFeatureContents .featureIntroSection .featureTitle {
    font-size: 7.5vw;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin: 0 auto 5vw;
    text-align: center;
    line-height: 1.5;
  }

  .ecFeatureContents .featureIntroSection .smallText {
    font-size: 5.5vw;
    letter-spacing: 0.02em;
    display: block;
  }

  .ecFeatureContents .featureIntroSection .featureSubtitle {
    width: 85%;
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 1.7;
    margin: 0 auto;
    text-align: center;
  }

  /* 特集　説明について */
  .ecFeatureContents .featureAboutSection {
    margin: 12vw auto 8vw;
    text-align: center;
    width: 80%;
    border-top: 2px solid #c6c6c6;
    padding-top: 12vw;
  }

  .ecFeatureContents .featureAboutSection:nth-of-type(2) {
    margin-top: 3vw;
  }

  .ecFeatureContents .featureAboutSection dt {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 20px;
  }

  .ecFeatureContents .featureAboutSection dd {
    font-size: 13px;
    line-height: 1.5;
  }

  /* SP表示：商品仕様アコーディオン */
  .productSpecToggle {
    display: block;
    margin-top: 10px;
    color: #333;
    text-decoration: underline;
  }

  .productSpecToggleIconPlus,
  .productSpecToggleIconMinus {
    display: inline;
    font-size: 15px;
    font-weight: normal;
  }

  .ecFeatureContents .productSpecToggle {
    color: var(--mainFontColor);
    text-decoration: none;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 15px;
  }
}

/* //////////////////////// 特集　 パターンC ///////////////////////// */

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  .ecFeatureContents .patternBlock_C .InductionArea .product__login,
  .ecFeatureContents .patternBlock_C .InductionArea .ec-login__actions a {
    width: max(7.5vw, 106px);
  }

  .ecFeatureContents .patternBlock_C .aboutProductPriceText {
    line-height: 1.3;
  }

  .ecFeatureContents .patternBlock_C_inner {
    width: 70%;
    margin: 0 auto;
    min-width: 1024px;
  }

  .ecFeatureContents .patternBlock_C .pickupProduct {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 5vw;
  }

  .ecFeatureContents .patternBlock_C .pickupProductImgBox {
    width: 45%;
    position: relative;
  }

  .ecFeatureContents .patternBlock_C .productFavorite {
    position: absolute;
    bottom: 1vw;
    right: 1vw;
    width: 2.1vw;
  }

  .ecFeatureContents .patternBlock_C .pickupProductDetailBox {
    width: 55%;
    padding-left: 3.5vw;
    max-width: unset;
    min-width: unset;
  }

  .ecFeatureContents .patternBlock_C .productStatusCode .prenew {
    position: relative;
  }

  .ecFeatureContents .patternBlock_C .productStatusCode .productStatus {
    width: auto;
    font-size: max(0.7vw, 12px);
    padding: max(0.34vw, 7px) 0 max(0.29vw, 7px);
    margin-left: 0.47vw;
    margin-bottom: 1vw;
    width: 104px;
    letter-spacing: 0.05em;
  }

  .ecFeatureContents
    .patternBlock_C
    .productStatusCode
    .productStatus:first-of-type {
    margin-left: 0;
  }

  .ecFeatureContents .patternBlock_C .productCodeName {
    display: flex;
    align-items: flex-end;
    margin-bottom: 20px;
  }

  .ecFeatureContents .patternBlock_C .productCodeName .productCode,
  .ecFeatureContents .patternBlock_C .productCodeName .productName {
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-right: 10px;
  }

  .ecFeatureContents .patternBlock_C .productCodeName .productCode {
    font-size: 24px;
  }

  .ecFeatureContents .patternBlock_C .productCodeName .productName {
    font-size: 29px;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyBox {
    background-color: var(--mainBackColor);
    padding: max(1.2vw, 15px) max(1.35vw, 18px);
    margin-bottom: 30px;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyItem {
    font-size: max(1.1vw, 17px);
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-indent: -1.2em;
    padding-left: 1.2em;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyItem::before {
    content: "・";
    font-size: 1.3vw;
    font-weight: bold;
    color: var(--mainFontColor);
    margin-right: -0.3em;
  }

  .ecFeatureContents .patternBlock_C .productSpecPriceCartBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .ecFeatureContents .patternBlock_C .productSpecPriceCartBox .productSpecBox {
    width: 50%;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItem {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    font-size: max(0.83vw, 14px);
    flex-direction: row;
    background-color: var(--mainBackColor);
    border-top: 1px solid var(--mainBorderColor);
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItemBox
    .productSpecItem:last-child {
    border-bottom: 1px solid var(--mainBorderColor);
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemTitle {
    width: 31%;
    height: 100%;
    padding: 0.4vw 1vw;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValue {
    width: 69%;
    background-color: #fff;
    padding: 0.4vw;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValueText {
    margin-bottom: 0.3vw;
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItemValueText:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemTitle,
  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValue {
    display: flex;
    align-items: center;
    box-sizing: border-box;
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecPriceCartBox
    .productPriceCartBox {
    width: 50%;
    padding-left: 1.6vw;
  }

  .ecFeatureContents .patternBlock_C .productPriceCartBox .productPrice {
    margin-bottom: 1.6vw;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemValueText {
    font-size: 34px;
    font-weight: bold;
    letter-spacing: 0.05em;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemValueText
    .smallText {
    font-size: 21px;
    margin-bottom: 20px;
    display: inline-block;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemUnit {
    font-size: 18px;
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemUnit
    .lotPrice {
    margin-left: 0.7em;
  }

  .ecFeatureContents .patternBlock_C .productPriceCartBox .productCart {
    display: flex;
    justify-content: space-between;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderProcess {
    padding-top: 0;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderProcess
    .btn-SoldOutAndOutOfStock {
    width: 235px;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    line-height: 1;
    margin-bottom: 0;
    margin-top: 0;
    width: 1.3em;
    font-size: max(0.8vw, 14px);
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    input {
    font-size: 1.1vw;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    font-size: max(0.8vw, 14px);
    margin-left: 0;
  }

  .ecFeatureContents .patternBlock_C .productDetailAddToCart {
    padding: max(0.7vw, 10px) 0;
    width: max(10.1vw, 147px);
    font-size: max(0.8vw, 14px);
  }

  .ecFeatureContents .patternBlock_C .pickupProduct:nth-of-type(even) {
    flex-direction: row-reverse;
  }

  .ecFeatureContents
    .patternBlock_C
    .pickupProduct:nth-of-type(even)
    .pickupProductDetailBox {
    padding-left: 0;
    padding-right: 3.5vw;
  }

  .ecFeatureContents .patternBlock_C .productPriceSaleBefore {
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_C .outletProductStatus {
    font-size: 16px;
    letter-spacing: 0.02em;
    width: 85px;
    position: relative;
    bottom: 3px;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  /* 商品一覧 */
  .ecFeatureContents .patternBlock_C_inner {
    width: 84.6%;
    margin: 0 auto;
  }

  .ecFeatureContents .patternBlock_C .aboutProductPriceText {
    font-size: 14px;
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_C .InductionArea .product__login,
  .ecFeatureContents .patternBlock_C .InductionArea .ec-login__actions a {
    width: 95%;
  }

  .ecFeatureContents .patternBlock_C .pickupProductImg {
    margin-bottom: 4.4vw;
  }

  .ecFeatureContents .patternBlock_C .pickupProductImgBox {
    position: relative;
  }

  .ecFeatureContents .patternBlock_C .productFavorite {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 40px;
  }

  .ecFeatureContents .patternBlock_C .pickupProductDetailBox {
    margin: 0;
    padding-left: 0;
  }

  .ecFeatureContents .patternBlock_C .pickupProduct {
    margin-bottom: 50px;
  }

  .ecFeatureContents .patternBlock_C .pickupProduct:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_C .productStatusCode {
    position: relative;
  }

  .ecFeatureContents .patternBlock_C .productStatusCode .productStatus {
    width: auto;
    font-size: 3.1vw;
    padding: 5px 0;
    margin-left: 0.47vw;
    margin-bottom: 8px;
    width: 73px;
    letter-spacing: 0.05em;
  }

  .ecFeatureContents
    .patternBlock_C
    .productStatusCode
    .productStatus:first-of-type {
    margin-left: 0;
    width: 90px;
    position: relative;
    letter-spacing: 0;
  }

  .ecFeatureContents .patternBlock_C .productCodeName .productCode {
    font-size: 17px;
    margin-right: 0.8vw;
    font-weight: bold;
    margin-bottom: 4px;
  }

  .ecFeatureContents .patternBlock_C .productCodeName .productName {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 15px;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyBox {
    background-color: var(--mainBackColor);
    padding: 3.2vw 4.4vw 4.4vw 3vw;
    margin-bottom: 15px;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyItem {
    font-size: 15px;
    line-height: 1.3;
    text-indent: -1.5em;
    padding-left: 1.5em;
  }

  .ecFeatureContents .patternBlock_C .productCatchcopyItem::before {
    content: "・";
    font-size: 5.5vw;
    font-weight: bold;
    color: var(--mainFontColor);
    margin-right: -0.3em;
    position: relative;
    top: 0.1em;
    transform: none;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItem {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    font-size: max(0.83vw, 14px);
    flex-direction: row;
    background-color: var(--mainBackColor);
    border-top: 1px solid var(--mainBorderColor);
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItem:first-of-type {
    border-bottom: 1px solid var(--mainBorderColor);
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItemBox
    .productSpecItem:last-child {
    border-bottom: 1px solid var(--mainBorderColor);
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItem:nth-of-type(2) {
    border-top: unset;
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItemsContainer
    .productSpecItem:first-of-type {
    border-top: unset;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemTitle {
    width: 31%;
    height: 100%;
    padding: 10px 15px;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValue {
    width: 69%;
    background-color: #fff;
    padding: 10px 15px;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValueText {
    margin-bottom: 5px;
  }

  .ecFeatureContents
    .patternBlock_C
    .productSpecBox
    .productSpecItemValueText:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemTitle,
  .ecFeatureContents .patternBlock_C .productSpecBox .productSpecItemValue {
    display: flex;
    align-items: center;
    box-sizing: border-box;
  }

  .ecFeatureContents .patternBlock_C .productPriceCartBox .productPrice {
    margin-bottom: 1.6vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemValueText {
    font-size: 37px;
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemValueText
    .smallText {
    font-size: 21px;
    display: inline-block;
  }

  .ecFeatureContents
    .patternBlock_C
    .productPriceCartBox
    .productPrice
    .productPriceItemUnit {
    font-size: 17px;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
  }

  .ecFeatureContents .patternBlock_C .productPriceCartBox .productCart {
    display: flex;
    justify-content: space-between;
  }

  .ecFeatureContents .patternBlock_C .productPriceCartBox .lotPrice {
    font-size: 18px;
    margin-left: 10px;
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_C .productPriceSaleBefore {
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_C .outletProductStatus {
    font-size: 16px;
    letter-spacing: 0.02em;
    width: 85px;
    position: relative;
    bottom: 3px;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    line-height: 1;
    margin-bottom: 0;
    margin-top: 0;
    width: 1.3em;
    font-size: max(0.8vw, 16px);
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    input {
    font-size: 1.1vw;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    font-size: max(3vw, 17px);
    margin-left: 0;
    width: 80px;
    height: 40px;
  }

  .ecFeatureContents .patternBlock_C .ec-productDetailOrderProcess {
    padding-top: 13px;
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    width: 85vw;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock {
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .productDetail_itemBtn {
    margin-bottom: 5px;
  }

  .ecFeatureContents .patternBlock_C .ec-productDetailQuantityInCart {
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_C
    .ec-productDetail
    .ec-productDetailOrderBlock
    .addItem {
    font-size: max(2.5vw, 15px);
    width: 47vw;
  }
}

/* //////////////////////// 特集　 パターンA ///////////////////////// */

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  .ecFeatureContents .patternBlock_A .featureProductList {
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    gap: 3vw;
  }

  .ecFeatureContents .patternBlock_A .pickupProduct {
    width: 30.5%;
  }

  .ecFeatureContents .patternBlock_A .pickupProductDetailBox {
    width: 100%;
    max-width: unset;
    min-width: unset;
  }

  .ecFeatureContents .patternBlock_A .pickupProductImgBox {
    position: relative;
  }

  .ecFeatureContents .patternBlock_A .productFavorite {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 2.1vw;
  }

  .ecFeatureContents .patternBlock_A .pickupProductImg {
    margin-bottom: 15px;
    position: relative;
  }

  .ecFeatureContents .patternBlock_A .productItemBadgeBox {
    position: absolute;
    top: -20px;
    right: -20px;
  }

  .ecFeatureContents .patternBlock_A .productItemBadgeBox img {
    border: unset;
    width: 60px;
    display: block;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_A .productStatusBox {
    display: flex;
  }

  .ecFeatureContents .patternBlock_A .productStatus {
    padding: 5px 10px;
    margin-right: 5px;
  }

  .ecFeatureContents .patternBlock_A .pickupProductImgBox .productStatus {
    width: 91px;
    letter-spacing: 0.05em;
    font-size: 12px;
    padding: 5px;
  }

  .ecFeatureContents .patternBlock_A .productStatusNameCode a:hover {
    text-decoration: underline;
  }

  .ecFeatureContents .patternBlock_A .productStatusCode {
    display: flex;
    align-items: center;
  }

  .ecFeatureContents .patternBlock_A .productCode {
    font-size: 18px;
  }

  .ecFeatureContents .patternBlock_A .productName {
    font-size: clamp(18px, 2vw, 22px);
    font-weight: bold;
    margin: 7px 0 15px;
    line-height: 1.25;
  }

  .ecFeatureContents .patternBlock_A .productPriceItemValueText {
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_A .productPriceSaleBefore {
    font-size: clamp(15px, 1.4vw, 25px);
  }

  .ecFeatureContents .patternBlock_A .productPriceSaleAfter,
  .ecFeatureContents .patternBlock_A .productPriceItemValueText {
    font-size: clamp(26px, 2vw, 38px);
  }

  .ecFeatureContents .patternBlock_A .productPriceSaleAfter .smallText,
  .ecFeatureContents .patternBlock_A .productPriceItemValueText .smallText {
    font-size: clamp(15px, 1.7vw, 20px);
  }

  .ecFeatureContents .patternBlock_A .ec-productDetail .off {
    margin-left: 0;
    width: unset;
    font-size: 14px;
    padding: 0.3vw 0.5vw;
  }

  .ecFeatureContents .patternBlock_A .aboutProductPriceText {
    margin-top: 25px;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpec {
    margin-top: 15px;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpecDetail {
    border-bottom: 1px solid #c1c1c1;
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpecDetail:last-child {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .ecFeatureContents .patternBlock_A .productCart {
    text-align: center;
  }

  .ecFeatureContents .patternBlock_A .InductionArea {
    display: flex;
    width: 100%;
    margin-top: 15px;
    justify-content: space-between;
  }

  .ecFeatureContents .patternBlock_A .InductionArea li {
    width: 48%;
  }

  .ecFeatureContents .patternBlock_A .InductionArea .product__login,
  .ecFeatureContents .patternBlock_A .InductionArea .ec-login__actions a {
    width: 100%;
    padding: 12px 0;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderProcess {
    padding-top: 0;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock {
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .productDetail_itemBtn {
    display: flex;
    align-items: inherit;
    width: 100%;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    width: 35%;
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    line-height: 1;
    margin-bottom: 0;
    margin-top: 0;
    width: 20%;
    font-size: max(0.8vw, 14px);
    font-weight: bold;
    margin-right: 5%;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    width: 80%;
    font-size: max(0.8vw, 14px);
    margin-left: 0;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .addItem {
    width: 65%;
    font-size: max(0.8vw, 14px);
    margin-left: 0;
  }

  .ecFeatureContents .patternBlock_A .productSpecItemBoxDetail {
    font-size: 14px;
    padding-top: 0.5vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_A .productNote {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 60px;
    background-color: var(--mainBackColor);
    padding: max(1vw, 15px) max(1vw, 18px);
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    width: 100%;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  .ecFeatureContents .patternBlock_A .featureProductList {
    display: flex;
    width: 90%;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .ecFeatureContents .patternBlock_A .pickupProduct {
    width: 47.5%;
  }

  .ecFeatureContents .patternBlock_A .pickupProductImgBox {
    position: relative;
    margin-bottom: 7px;
  }

  .ecFeatureContents .patternBlock_A .productFavorite {
    position: absolute;
    bottom: 7px;
    right: 7px;
    width: 25px;
  }

  .ecFeatureContents .patternBlock_A .pickupProductImg {
    margin-bottom: 15px;
    position: relative;
  }

  .ecFeatureContents .patternBlock_A .productItemBadgeBox {
    position: absolute;
    top: -12px;
    right: -8px;
  }

  .ecFeatureContents .patternBlock_A .productItemBadgeBox img {
    border: unset;
    width: 45px;
    display: block;
    margin-bottom: 5px;
  }

  .ecFeatureContents .patternBlock_A .outletProductContent {
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_A .ec-productDetail {
    margin: 0;
  }

  .ecFeatureContents .patternBlock_A .productStatusBox {
    display: flex;
    margin-bottom: 5px;
  }

  .ecFeatureContents .patternBlock_A .productStatus {
    font-size: 10px;
    padding: 5px 8px;
    margin-right: 3px;
  }

  .ecFeatureContents .patternBlock_A .ec_productContent .new,
  .ecFeatureContents .patternBlock_A .ec_productContent .original {
    top: 0;
    left: 0;
  }

  .ecFeatureContents .patternBlock_A .productStatusCode {
    margin-bottom: 2px;
  }

  .ecFeatureContents .patternBlock_A .productName {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.3em;
  }

  .ecFeatureContents .patternBlock_A .ec-productDetail .off {
    padding: 5px 10px;
    display: inline-block;
    font-size: 11px;
    margin-bottom: 6px;
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_A .productPriceSaleBefore {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
  }

  .ecFeatureContents .patternBlock_A .productPriceItemValueText {
    font-size: 20px;
    margin-bottom: 12px;
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_A .productPriceItemValueText .smallText {
    font-size: 15px;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpecDetail {
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 5px;
    margin-bottom: 5px;
    line-height: 1.45;
    font-size: 13px;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpecDetail:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .ecFeatureContents .patternBlock_A .ProductPriceSpec {
    margin-bottom: 10px;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderProcess {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    justify-content: center;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock {
    width: 100%;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .productDetail_itemBtn {
    margin-bottom: 0;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    display: block;
    margin-right: 8px;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    margin-left: 0;
    height: unset;
    display: block;
    font-size: clamp(13px, 2vw, 14px);
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: clamp(11px, 2vw, 13px);
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderBlock
    .addItem {
    font-size: clamp(12px, 2vw, 13px);
    width: 100%;
    padding: 3vw 1.6vw;
  }

  .ecFeatureContents .patternBlock_A .productSpecToggle {
    margin-top: 0;
    margin-bottom: 30px;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    margin: 0;
    padding: 2vw;
  }

  .ecFeatureContents
    .patternBlock_A
    .ec-productDetail
    .ec-productDetailOrderProcess
    .textred.error {
    margin-top: 0;
    margin-bottom: 10px;
    margin-right: 0;
    display: flex;
    align-items: flex-end;
  }

  .ecFeatureContents .patternBlock_A .productSpecItemBoxDetail {
    padding: 0 0 10px;
    line-height: 1.4;
    text-align: left;
    font-size: 13px;
  }

  .ecFeatureContents .patternBlock_A .productNote {
    background-color: #f2f2f2;
    padding: max(1vw, 15px);
    line-height: 1.5;
    margin-bottom: 10px;
    font-size: 13px;
    text-align: justify;
  }

  .ecFeatureContents .patternBlock_A .InductionArea {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
  }

  .ecFeatureContents .patternBlock_A .InductionArea .product__login,
  .ecFeatureContents .patternBlock_A .InductionArea .ec-login__actions a {
    font-size: clamp(13px, 2vw, 14px);
    padding: 2.5vw 0;
  }

  .ecFeatureContents .patternBlock_A .InductionArea li:first-child {
    margin-bottom: 6px;
  }

  .ecFeatureContents .patternBlock_A .RegistrationGuideText {
    display: none;
  }

  .ecFeatureContents .patternBlock_A .aboutProductPriceText {
    text-align: center;
    line-height: 1.3;
    font-size: clamp(13px, 3.2vw, 16px);
  }
}

/* //////////////////////// 特集　 パターンA_a ///////////////////////// */

/*///// 共通 ///// */
.ecFeatureContents .patternBlock_A_a .productSpecItemBoxDetail {
  background-color: var(--mainBackColor);
}

.ecFeatureContents .patternBlock_A_a .productSpecToggle {
  background-color: var(--mainBackColor);
  text-align: center;
}

.ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a {
  background-color: #333333;
  color: #fff;
  text-align: center;
  border-radius: 100px;
  padding: 10px;
  display: block;
}

.ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a:hover {
  opacity: 0.6;
}

.ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a::after {
  content: "";
  display: inline-block;
  vertical-align: sub;
  background-image: url(/html/user_data/assets/img/common/arrow-right-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(90deg);
}

.ecFeatureContents
  .patternBlock_A_a
  .ec-productDetail
  .ec-productDetailOrderSample {
  width: 100%;
}

.ecFeatureContents
  .patternBlock_A_a
  .ec-productDetail
  .productDetailDeleteSample {
  width: 100%;
  margin-top: 10px;
}

.ecFeatureContents
  .patternBlock_A_a
  .ec-productDetail
  .ec-productDetailOrderBlock
  .ItemNum
  label {
  font-weight: normal;
}

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  .ecFeatureContents .patternBlock_A_a .featureProductList {
    width: 70%;
    min-width: 1000px;
    justify-content: flex-start;
    gap: 4%;
  }

  .ecFeatureContents .patternBlock_A_a .productStatusBoxOnImg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    z-index: 1;
  }

  .ecFeatureContents .patternBlock_A_a .productCode {
    font-size: clamp(15px, 1.3vw, 18px);
  }

  .ecFeatureContents .patternBlock_A_a .productName {
    font-size: clamp(18px, 1.3vw, 22px);
  }

  .ecFeatureContents .patternBlock_A_a .productSpecToggle {
    padding: 10px;
    margin: 0 0 10px;
    font-size: 14px;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecToggle:hover {
    opacity: 0.6;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecItemBoxDetail {
    line-height: 1.4;
    letter-spacing: 0.05em;
  }

  .ecFeatureContents .patternBlock_A_a .ec-productDetailOrderSample {
    text-align: right;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecItemBoxDetail {
    padding: 15px 15px 0;
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_A_a .productDetailOrderSample {
    width: 100%;
    display: unset;
    line-height: 1.5em;
    padding: 8px;
    font-size: clamp(12px, 1vw, 13px);
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_A_a .ec-productDetailOrderProcess .textred {
    text-align: right;
    margin-left: 0;
  }

  .ecFeatureContents .patternBlock_A_a .ec-productDetail .errorSample {
    margin: 0;
  }

  .ecFeatureContents
    .patternBlock_A_a
    .ec-productDetailOrderProcess
    > div:nth-child(3)
    p:nth-of-type(2) {
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_A .ec-productDetail {
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_A_a .pickupProduct {
    width: calc((100% - 4% * 3) / 4);
    margin-bottom: 50px;
  }

  .ecFeatureContents .patternBlock_A_a .productPriceItemValueText {
    font-size: clamp(26px, 2vw, 38px);
  }

  .ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a::after {
    width: 12px;
    height: 13px;
    margin-left: 8px;
  }

  .ecFeatureContents .patternBlock_A_a .RegistrationGuideText {
    display: none;
  }

  .ecFeatureContents .patternBlock_A_a .aboutProductPriceText {
    font-size: 13px;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_A_a .aboutProductPriceText {
    margin: 10px 0 0;
  }

  .ecFeatureContents .patternBlock_A_a .InductionArea {
    display: flex;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 10px;
    justify-content: space-between;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  .ecFeatureContents .patternBlock_A_a .productDetailOrderSample {
    display: block;
    width: 100%;
    padding: 5px;
  }

  .ecFeatureContents .patternBlock_A_a .productDetailDeleteSample {
    width: 100%;
    padding: 5px 10px;
    margin-bottom: 5px;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecItemBoxDetail {
    padding: 10px 12px 0 12px;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecToggle {
    margin-bottom: 5px;
    padding: 8px;
    font-weight: normal;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a {
    font-size: 13px;
  }

  .ecFeatureContents .patternBlock_A_a .productSpecDetailBoxBtn a::after {
    width: 12px;
    height: 13px;
    margin-left: 8px;
  }

  .ecFeatureContents .patternBlock_A_a .pickupProduct {
    margin-bottom: 8vw;
  }

  .ecFeatureContents .patternBlock_A_a .productStatusBoxOnImg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    z-index: 1;
  }
}

/* //////////////////////// 特集　 タブ切り替え ///////////////////////// */

/*///// 共通 ///// */
.ecFeatureContents .patternBlock_Tab {
  margin-bottom: 30px;
}

.ecFeatureContents .patternBlockTabList {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.ecFeatureContents .patternBlockTabItem {
  cursor: pointer;
  text-align: center;
  border-radius: 999px;
  padding: 14px 32px;
  font-weight: bold;
  font-size: clamp(13px, 1.2vw, 16px);
  letter-spacing: 0.05em;
  background-color: #ece2dd;
  color: #8a7a72;
  transition:
    background-color 0.2s,
    color 0.2s;
}

.ecFeatureContents .patternBlockTabItem:hover {
  background-color: #e0d1c8;
}

.ecFeatureContents .patternBlockTabItem.is-active {
  background-color: #a88e76;
  color: #fff;
}

.ecFeatureContents .patternBlockTabItem.is-active:hover {
  background-color: #9c8069;
}

.ecFeatureContents .patternBlockTabPanel {
  display: none;
}

.ecFeatureContents .patternBlockTabPanel.is-active {
  display: block;
}

/* //////////////////////// 特集　 所定の場所に戻るボタン ///////////////////////// */

/*///// 共通 ///// */
.ecFeatureContents .returnPositionBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-image: url(/material/feature/featurebase/penium.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity 0.2s,
    visibility 0.2s,
    transform 0.2s;
}

.ecFeatureContents .returnPositionBtn.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* hoverを実際にサポートするデバイス（PCなど）だけに適用し、タッチデバイスでの
   タップ時の擬似hover状態によって1回目のタップでクリックが発火しない問題を避ける */
@media (hover: hover) {
  .ecFeatureContents .returnPositionBtn.is-visible:hover {
    opacity: 0.7;
  }
}

.ecFeatureContents .returnPositionBtnText {
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #fff;
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .ecFeatureContents .returnPositionBtn {
    right: 12px;
    bottom: 100px;
    width: 70px;
    height: 70px;
  }

  .ecFeatureContents .returnPositionBtnText {
    font-size: 11px;
  }
}

/* //////////////////////// 特集　 パターンB ///////////////////////// */

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  .ecFeatureContents .patternBlock_B .pickupProduct {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 7vw;
  }

  .ecFeatureContents .patternBlock_B .pickupProduct:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_B .pickupProductMainRow {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 70%;
    min-width: 1024px;
  }

  .ecFeatureContents .patternBlock_B .pickupProductImgBox {
    width: 60%;
    position: relative;
  }

  .ecFeatureContents .patternBlock_B .pickupProductBox {
    width: 40%;
    padding-left: 3vw;
    max-width: unset;
    min-width: unset;
  }

  .ecFeatureContents .patternBlock_B .pickupProductDetailBox {
    max-width: unset;
    min-width: unset;
  }

  .ecFeatureContents .patternBlock_B .productHeadingImgBox {
    margin-bottom: 50px;
    width: 70%;
    min-width: 1024px;
    text-align: left;
  }

  .ecFeatureContents .patternBlock_B .productDetailimgBox {
    margin-top: 30px;
  }

  .ecFeatureContents .patternBlock_B .productStatusCode {
    display: flex;
    align-items: center;
  }

  .ecFeatureContents .patternBlock_B .productName {
    font-size: clamp(18px, 2vw, 22px);
    font-weight: bold;
    margin: 7px 0 15px;
    line-height: 1.25;
  }

  .ecFeatureContents .patternBlock_B .productStatus {
    font-size: 11px;
    padding: 5px 10px;
    margin: -2px 4px 0px 0;
  }

  .ecFeatureContents .patternBlock_B .productCode {
    font-weight: bold;
    font-size: 16px;
  }

  .ecFeatureContents .patternBlock_B .productPriceSaleAfter,
  .ecFeatureContents .patternBlock_B .productPriceItemValueText {
    font-size: clamp(26px, 2.2vw, 38px);
    font-weight: bold;
  }

  .ecFeatureContents
    .patternBlock_B
    .productPriceItemValueText
    .productPriceSaleBefore {
    font-size: clamp(23px, 1.3vw, 38px);
  }

  .ecFeatureContents .patternBlock_B .productPriceSaleAfter .smallText,
  .ecFeatureContents .patternBlock_B .productPriceItemValueText .smallText {
    font-size: clamp(15px, 1.7vw, 20px);
  }

  .ecFeatureContents .patternBlock_B .ec-productDetail .off {
    margin-left: 0;
    width: unset;
    font-size: 14px;
    padding: 0.4vw 0.5vw;
  }

  .ecFeatureContents .patternBlock_B .aboutProductPriceText {
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_B .RegistrationGuideText {
    line-height: 1.5;
    width: 125%;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpec {
    margin: 15px 0;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpecDetail {
    border-bottom: 1px solid #c1c1c1;
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpecDetail:last-child {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_B .productCart {
    text-align: center;
  }

  .ecFeatureContents .patternBlock_B .InductionArea {
    display: flex;
    width: 100%;
    margin-top: 15px;
    justify-content: space-between;
  }

  .ecFeatureContents .patternBlock_B .InductionArea li {
    width: 48%;
  }

  .ecFeatureContents .patternBlock_B .InductionArea .product__login,
  .ecFeatureContents .patternBlock_B .InductionArea .ec-login__actions a {
    width: 100%;
    padding: 12px 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderProcess {
    padding-top: 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .productDetail_itemBtn {
    display: flex;
    align-items: inherit;
    width: 100%;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    width: 35%;
    align-items: flex-end;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    line-height: 1;
    margin-bottom: 0;
    margin-top: 0;
    width: 17%;
    font-size: max(0.8vw, 14px);
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    width: 83%;
    font-size: max(0.8vw, 14px);
    margin-left: 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .addItem {
    width: 65%;
    font-size: max(0.8vw, 14px);
    margin-left: 0;
  }

  .ecFeatureContents .patternBlock_B .productSpecItemBoxDetail {
    font-size: 14px;

    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_B .productNote {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    width: 100%;
  }

  .ecFeatureContents .patternBlock_B .productActionsGroup {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
  }

  .ecFeatureContents .patternBlock_B .productCartArea {
    width: 80%;
  }

  .ecFeatureContents .patternBlock_B .productFavoriteArea {
    width: 20%;
    display: flex;
    padding-left: 10px;
  }

  .ecFeatureContents .patternBlock_B .productFavoriteArea .heartText {
    width: 33px;
    margin-top: 10px;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_B .productDetailOrderSample {
    width: 100%;
    display: unset;
    line-height: 1.5em;
    padding: 8px;
    font-size: clamp(12px, 1vw, 13px);
  }

  .ecFeatureContents .patternBlock_B .ec-productDetailOrderSample {
    width: 125%;
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_B .ec-productDetailOrderSample:hover {
    opacity: 0.7;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .productDetailDeleteSample {
    width: 100%;
    font-size: clamp(12px, 1vw, 13px);
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetailOrderProcess
    > div:nth-child(3)
    p:nth-of-type(2) {
    margin-top: 10px;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    font-size: 15px;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  .ecFeatureContents .patternBlock_B .pickupProduct {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 70px;
  }

  .ecFeatureContents .patternBlock_B .pickupProduct:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_B .productHeadingImgBox {
    margin-bottom: 20px;
    width: 84.6%;
    text-align: left;
  }

  .ecFeatureContents .patternBlock_B .productDetailimgBox {
    margin-top: 20px;
  }

  .ecFeatureContents .patternBlock_B .pickupProductMainRow {
    width: 84.6%;
  }

  .ecFeatureContents .patternBlock_B .pickupProductImgBox {
    position: relative;
    margin-bottom: 4.4vw;
  }

  .ecFeatureContents .patternBlock_B .pickupProductBox {
    padding-left: 0;
  }

  .ecFeatureContents .patternBlock_B .productDetailimgBox {
    width: 100%;
  }

  .ecFeatureContents .patternBlock_B .pickupProductDetailBox {
    margin: 0;
  }

  .ecFeatureContents .patternBlock_B .productFavorite {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 40px;
  }

  .ecFeatureContents .patternBlock_B .productStatusCode {
    display: flex;
    align-items: center;
  }

  .ecFeatureContents .patternBlock_B .productStatus {
    font-size: 11px;
    padding: 5px 10px;
    margin: -2px 4px 0 0;
  }

  .ecFeatureContents .patternBlock_B .productCode {
    font-size: 15px;
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_B .productName {
    font-size: 18px;
    font-weight: bold;
    margin: 8px 0 12px;
    line-height: 1.3;
  }

  .ecFeatureContents .patternBlock_B .productPriceSaleAfter,
  .ecFeatureContents .patternBlock_B .productPriceItemValueText {
    font-size: 26px;
    font-weight: bold;
  }

  .ecFeatureContents .patternBlock_B .productPriceSaleAfter .smallText,
  .ecFeatureContents .patternBlock_B .productPriceItemValueText .smallText {
    font-size: 15px;
  }

  .ecFeatureContents .patternBlock_B .ec-productDetail .off {
    margin-left: 0;
    margin-bottom: 5px;
    width: unset;
    font-size: 13px;
    padding: 4px 8px;
  }

  .ecFeatureContents .patternBlock_B .aboutProductPriceText {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.5;
  }

  .ecFeatureContents .patternBlock_B .RegistrationGuideText {
    width: 100%;
    line-height: 1.5;
    font-size: 12px;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpec {
    margin: 12px 0;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpecDetail {
    border-bottom: 1px solid #c1c1c1;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 8px;
    padding-bottom: 8px;
  }

  .ecFeatureContents .patternBlock_B .ProductPriceSpecDetail:last-child {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .ecFeatureContents .patternBlock_B .productActionsGroup {
    display: flex;
    align-items: flex-start;
  }

  .ecFeatureContents .patternBlock_B .productCartArea {
    width: 88%;
  }

  .ecFeatureContents .patternBlock_B .productFavoriteArea {
    width: 12%;
    display: flex;
    padding-left: 10px;
  }

  .ecFeatureContents .patternBlock_B .productFavoriteArea .heartText {
    width: 100%;
    margin-top: 45%;
  }

  .ecFeatureContents .patternBlock_B .InductionArea {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
  }

  .ecFeatureContents .patternBlock_B .InductionArea li {
    width: 100%;
  }

  .ecFeatureContents .patternBlock_B .InductionArea li:first-child {
    margin-bottom: 8px;
  }

  .ecFeatureContents .patternBlock_B .InductionArea .product__login,
  .ecFeatureContents .patternBlock_B .InductionArea .ec-login__actions a {
    width: 100%;
    padding: 3vw 0;
    font-size: 13px;
  }

  .ecFeatureContents .patternBlock_B .productSpecItemBoxDetail {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
  }

  .ecFeatureContents .patternBlock_B .productNote {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
  }

  .ecFeatureContents .patternBlock_B .ec-productDetailOrderSample {
    width: 100%;
    margin-top: 8px;
    font-size: 13px;
  }

  .ecFeatureContents .patternBlock_B .productDetailOrderSample {
    width: 114%;
    display: unset;
    line-height: 1.5em;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .productDetailDeleteSample {
    width: 114%;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderProcess {
    padding-top: 0;
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock {
    width: 100%;
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .productDetail_itemBtn {
    display: flex;
    align-items: flex-end;
    width: 100%;
    justify-content: flex-start;
    margin-bottom: 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum {
    display: block;
    margin-right: 8px;
    width: 20%;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .ItemNum
    label {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 12px;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .form-control {
    margin-left: 0;
    height: unset;
    display: block;
    width: 100%;
    font-size: 14px;
    padding: 10px;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetail
    .ec-productDetailOrderBlock
    .addItem {
    width: 80%;
    font-size: 14px;
    margin-left: 0;
    padding: 4.5vw 0;
  }

  .ecFeatureContents
    .patternBlock_B
    .ec-productDetailOrderProcess
    .ec-productDetailOrderBlock
    .btn-SoldOutAndOutOfStock {
    width: 100%;
    margin-bottom: 0;
  }

  /* 1つ目の商品 */
  .ecFeatureContents
    .patternBlock_B
    .pickupProduct:first-of-type
    .productDetailimgBox {
    width: 70%;
  }

  /* 2つ目の商品 */
  .ecFeatureContents
    .patternBlock_B
    .pickupProduct:nth-of-type(2)
    .productDetailimgBox {
    width: 100%;
  }
}

/* //////////////////////// 特集　 パターンD ///////////////////////// */

.ecFeatureContents .patternBlock_D .productMenuItemCode {
  font-size: 20px;
}

/* ///// PC ///// */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }

  .ecFeatureContents .patternBlock_D .patternBlock_D_inner {
    width: 80%;
    min-width: 1000px;
    margin: 0 auto;
  }

  .ecFeatureContents .patternBlock_D .productMenuTitle {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.09em;
    margin-bottom: 40px;
    text-align: center;
    background-color: #a88e76;
    color: #fff;
    padding: 20px 0;
    width: 50%;
    border-radius: 100px;
  }

  .ecFeatureContents .patternBlock_D .productMenuBox {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 5vw;
  }

  .ecFeatureContents .patternBlock_D .productMenuColumns {
    display: flex;
    gap: 3em;
  }

  .ecFeatureContents .patternBlock_D .productMenuList {
    display: grid;
    grid-template-columns: 3em auto auto;
    align-items: center;
    align-content: start; /* 品数が少ない列も行を引き伸ばさず上揃え */
    row-gap: 30px;
    flex: 1;
  }

  .ecFeatureContents .patternBlock_D .productMenuImgBox {
    width: 40%;
    position: relative;
  }

  .ecFeatureContents .patternBlock_D .productMenuListBox {
    width: 60%;
    padding-left: 3vw;
    max-width: unset;
    min-width: unset;
  }

  .ecFeatureContents .patternBlock_D .productMenuItem {
    display: contents;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemBadge {
    width: 55px;
    margin-right: 5px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemBadge:last-of-type {
    margin-right: 0;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemBadgeBox {
    display: flex;
    align-items: center;
    margin-left: 10px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemNumber {
    font-size: 22px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemCode {
    font-size: 19px;
    text-decoration: underline;
    line-height: 1.2;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemCode:hover {
    opacity: 0.6;
  }

  .ecFeatureContents .patternBlock_D .productCode {
    margin-bottom: 6px;
  }
}

/* ///// SP ///// */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  .ecFeatureContents .patternBlock_D .patternBlock_D_inner {
    width: 84.6%;
    margin: 0 auto;
  }

  .ecFeatureContents .patternBlock_D .productMenuBox {
    display: flex;
    flex-direction: column;
    margin-bottom: 8vw;
  }

  .ecFeatureContents .patternBlock_D .productMenuImgBox {
    width: 100%;
    margin-bottom: 6vw;
  }

  .ecFeatureContents .patternBlock_D .productMenuListBox {
    width: 100%;
  }

  .ecFeatureContents .patternBlock_D .productMenuTitle {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #a88e76;
    color: #fff;
    padding: 12px 0;
    width: 70%;
    margin: 0 auto 30px;
    border-radius: 100px;
  }

  .ecFeatureContents .patternBlock_D .productMenuColumns {
    display: block;
  }

  .ecFeatureContents .patternBlock_D .productMenuList {
    display: block;
  }

  .ecFeatureContents .patternBlock_D .productMenuItem {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItem:last-of-type {
    margin-bottom: 0;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemNumber {
    font-size: 16px;
    margin-right: 10px;
    flex-shrink: 0;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemCode {
    font-size: 14px;
    text-decoration: underline;
    line-height: 1.4;
  }

  .ecFeatureContents .patternBlock_D .productCode {
    margin-bottom: 4px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemBadge {
    width: 60px;
  }

  .ecFeatureContents .patternBlock_D .productMenuItemBadgeBox {
    margin-left: auto;
    padding-left: 10px;
    flex-shrink: 0;
  }
}
