/*
Theme Name:HARVES child
Theme URI:https://tcd-theme.com/tcd118
Description:WordPressテーマ「HARVES」の子テーマ
Template:harves_tcd118
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
ここから下にCSSを追記してください。
*/
.tcdce-body > h2,
.tcdce-body > h3,
.tcdce-body > h4,
.tcdce-body > span,
.tcdce-body > p,
.tcdce-body > ul,
.tcdce-body > ol { line-height: 1.8; }


.tcdce-body p {
    padding: 0 0 18px;
font-size: min(3.8vw,16px);
}

html {
  /* モダンブラウザ（Chrome, Edge, Firefox）用 */
  scrollbar-gutter: stable;
}

/* Safari向けのフォールバック（iOS/macOS） */
@supports not (scrollbar-gutter: stable) {
  html {
    /* スクロールバーの有無にかかわらず100vw（画面幅）を確保しつつ、
       計算でガタつきを相殺するテクニック */
    overflow-y: scroll;
  }
}

:root,
::before,
::after {

/* base */
--tcd-base-container-size: 1200px;
}

/* ========================================================================
 * woocommerce.css
 * ======================================================================== */

*, *::before, *::after
 {
    box-sizing: border-box;
    min-inline-size: 0;
}

.screen-reader-text {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute!important;
    width: 1px;
    word-wrap: normal!important
}


.c-wc-number {
  display: block !important;
}

.woocommerce div.product {
    margin-bottom: 0;
    position: relative;
min-height: 270px;
}

.wcpr-overall-rating-right .wcpr-overall-rating-right-star .star-rating,
.woocommerce .star-rating {
    float: right;
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1;
    font-size: 1em;
    width: 5.4em;
    font-family: WooCommerce
}

.woocommerce .star-rating::before {
    content: "sssss";
    color: #cfc8d8;
    float: left;
    top: 0;
    left: 0;
    position: absolute
}

.woocommerce .star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em
}

.woocommerce .star-rating span::before {
    content: "SSSSS";
    top: 0;
    position: absolute;
    left: 0;
right: -10%;
line-height: 1;
}

.commentlist .comment-text .star-rating:before, .product .woocommerce-product-rating .star-rating:before, .wcpr-overall-rating-right .wcpr-overall-rating-right-star .star-rating:before, .wcpr-stars-count .wcpr-row .wcpr-col-star:before {
    opacity: .7 !important;
}

.woocommerce table.shop_attributes {
    border: 0;
    border-top: 1px dotted rgba(0,0,0,.1);
    margin-bottom: 1.618em;
    width: 100%
}

.woocommerce table.shop_attributes th {
    width: 150px;
    font-weight: 700;
    padding: 8px;
    border-top: 0;
    border-bottom: 1px dotted rgba(0,0,0,.1);
    margin: 0;
    line-height: 1.5
}

.woocommerce table.shop_attributes td {
    font-style: italic;
    padding: 0;
    border-top: 0;
    border-bottom: 1px dotted rgba(0,0,0,.1);
    margin: 0;
    line-height: 1.5
}

.woocommerce table.shop_attributes td p {
    margin: 0;
    padding: 8px 0
}

.woocommerce table.shop_attributes tr:nth-child(even) td,.woocommerce table.shop_attributes tr:nth-child(even) th {
    background: rgba(0,0,0,.025)
}



@font-face {
    font-family: 'WooCommerce';
    src: url('https://bomba.jp/store/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff2') format('woff2');
    font-display: swap; /* これを追加 */
}

.wcpr-stars-count .wcpr-row .wcpr-col-process {

  margin-top: -2px;
}
.wcpr-stars-count .wcpr-row .wcpr-col-star {
  text-align: left;
}
.woocommerce .wcpr-stars-count .wcpr-row .wcpr-col-star .star-rating {
min-height: 17px;
  font-size: 1.15em;
}

/* パンくずリスト */
.c-breadcrumb {
padding-block: 26px;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}

.c-breadcrumb__list {
display: flex;
column-gap: 15px;
font-size: 14px;
white-space: nowrap;
line-height: 1;
}

.c-breadcrumb__item {
display: flex;
align-items: center;
column-gap: 10px;
}

.c-breadcrumb__item:where(:last-of-type) {
color: #999;
}

.c-breadcrumb__item-home {
font-size: 1.5em;
margin: -0.1em -0.2em -0.2em;
}

.c-breadcrumb__item-arrow {
font-size: 1.5em;
color: initial;
margin: -0.2em;
}

@media (any-hover: hover) {
.c-breadcrumb__item :where(a):hover {
color: #999;
}
}

@media not all and (max-width: 991px) {
.c-breadcrumb__item>:where(span) {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
visibility: visible;
}

.c-breadcrumb__item:last-of-type {
flex: 1;
overflow: hidden;
}
}

@media (max-width: 991px) {
.c-breadcrumb {
padding-block: 17px;
}

.c-breadcrumb__list {
font-size: 12px;
overflow: auto hidden;
width: 100%;
padding-inline: 20px;


}

.c-breadcrumb__list::-webkit-scrollbar {
display: none;
}

.c-breadcrumb__item {
min-inline-size: auto;
}

}

/* ========================================================================
 * ヘッダー関連
 * ======================================================================== */





#js-header.hidden-fornow,
#js-header {
transition: transform 0.3s ease;
}


#js-header.header-hidden {
transform: translateY(-100%);
transition: transform 0.3s ease;
}

#js-header.header-hidden.hidden-fornow {
transform: translateY(-100%);
transition: transform 0.3s ease;
}

#js-header.hidden-fornow {

}



/* ヘッダーのトランジションは CSS 側で定義 */
#js-header {
transition: transform 0.3s ease;
will-change: transform;
}
#js-header.hide-up {
transform: translateY(-100%);
}
/* ========================================================================
 * レイアウト
 * ======================================================================== */

body.is-mobile .p-wc-template-loop-flash {
inset: -8px auto auto -5px;
}
body.is-desktop .p-wc-template-loop-flash {

inset: -7px auto auto -9px;
}

.p-wc-template-loop-price {
    margin: 8px 0 0;
}

.h2-first-title {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
text-overflow: ellipsis;
-webkit-line-clamp: 1;

}
.h2-title {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
line-height: 1.4;
font-size: min(2.68vw,13px);
text-align: justify;
font-weight: normal;
letter-spacing: .3px;
}
  .p-product-archive-list-header-total.new-total {
    display: flex;
    font-size: 24px;


  }
.total-text {
  font-size: 15px !important;
  font-weight: normal;
padding: 5px 10px 0 4px;
}

.p-product-cards-item-actions {

background: none;
}



.p-product-quick-view-inner .p-product .woocommerce-product-rating .count {
background: none;
}


.woocommerce-review-link {
display: none;
}
.p-product-quick-view .c-wc-rating {
display: flex;
align-items: center;
}


body.is-mobile .p-product-tabs-section.p-product-tabs-section-wishlist .p-product-cards.p-archive03.p-wc-loop,
body.is-mobile #tab-recently-viewed .p-product-cards.p-archive03.p-wc-loop {
width: calc(100% + 12px);
margin: 0 -6px;
white-space: nowrap;
flex-wrap: nowrap;
display: flex;
overflow-x: auto;
transform: translateX(0px);
padding: 10px 6px;
}

body.is-mobile .p-product-tabs-section.p-product-tabs-section-wishlist .p-product-cards-item.product.type-product.status-publish.has-post-thumbnail.shipping-taxable,
body.is-mobile #tab-recently-viewed .p-product-cards-item.product.type-product.status-publish.has-post-thumbnail.shipping-taxable {
flex: 0 0 100%;
height: auto;
list-style: none;
white-space: normal;
max-width: 43%;

}



.c-wc-rating {
  flex: 1;
  display: flex;
  align-items: center;

}


.id_price5r.kesu {
  display: none;
}
/* ========================================================================
 * 装飾・その他
 * ======================================================================== */
@media (any-hover: hover) {
  :where(a, .c-thumbnail):hover .c-thumbnail-image {
    filter: unset;
  }
}

span.rating-number span {
    font-size: 12px;
    padding-left: 2px;
}

span.rating-number {
    font-size: 15px;
padding-left: 3px;
}


.item-arrow {
  font-size: 1.5em;
  color: initial;
margin: -.2em -.2em -.2em .2em;
}


.direction-arrow {
  position: relative;
}
.direction-arrow::before {
  border-style: solid;
  bottom: 0;
  content: "";
  height: 0;
  left: -12px;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
  font-size: x-large;
}
.right-arrow::before {
  border-color: transparent transparent transparent #bbb;
  border-width: 4px 0 4px 8px;
}
.up-arrow::before {
  border-color: transparent transparent #bbb transparent;
border-width: 0 4px 8px 4px;
}

.down-arrow::before {
border-color: #bbb transparent transparent transparent;
  border-width: 8px 4px 0 4px;
}



.p-single-header__title {
  font-size: min(6vw,28px) !important;
}

.tcdce-body .q_styled_ol,

.q_styled_ol {
display: inherit;
position: relative;
margin-left: 1.5em;
list-style: decimal outside none;
padding-left: 0;
margin-left: 0;
list-style-type: none;
counter-reset: item;
margin-bottom: 2.5rem;
counter-reset: q_count; /* カウンターをリセット */
margin: 2.5em 0 2.5em 5px;
}
.tcdce-body .q_styled_ol li,
.q_styled_ol li {
  padding-left: 2em;
  margin-bottom: 0.8em;
  display: flex;
  align-items: center;
position: relative;
}
.tcdce-body .tab_content_description .q_styled_ol li,
.tab_content_description .q_styled_ol li {
  padding: 0 0 0 2em;
}

.tcdce-body .q_styled_ol li::before,
.q_styled_ol li::before {
display: flex;
align-items: center;
justify-content: center;
min-width: 1.4em;
height: 1.4em;
content: counter(q_count); /* カウンターを表示 */
margin-right: 0.7em;
line-height: 1;
color: #fff;

counter-increment: q_count;
background: var(--tcd-accent-color);
border-radius: 50%;
position: absolute;
left: 0;
}


body.is-desktop span.horizontal-text {
    writing-mode: horizontal-tb;
    display: block;
}

.red {
  color: red;
}


.aligncenter {
    display: block;
    margin-right: auto;
    margin-bottom: 7px;
    margin-left: auto;
}


.reviews-images-wrap-right .reviews-images, .reviews-images-wrap-right .wcpr-review-image-container, .wcpr-modal-light-box.wcpr-no-images #reviews-content-right {
  width: auto;
}






a, button,input {
  /* 変化にかかる時間を設定（0.3秒） */
  transition: opacity 0.3s ease;
}

.p-product a:hover, .p-product button:hover,.p-product input:hover {
  opacity: 0.5;
  /* マウスを当てた時にカーソルの形を指（ポインター）にする */
  cursor: pointer;
}


.p-product-quick-view-inner .p-product-header-summary {
    gap: 10px;
    display: grid;
}

.p-product-quick-view-inner {
    padding: 22px 22px 32px;
}

table.wc-tab__spec-table {
width: 100%;
border: 1px solid #ccc;
}


.wc-tab__spec-table th, .wc-tab__spec-table td {
  font-size: min(3.6vw,.86rem) !important;
  border: 1px solid #ccc;
padding: 8px 5px 8px 8px;
  vertical-align: middle;

}
.wc-tab__spec-table td {
max-width: 74.3%;
    width: 100%
}

.wc-tab__spec-table th {
padding: 12px 8px;
}
.tab_content_price .itempage_price_atntxt,
.page_itemdetail_rs_pricetabletext {
font-size: 11px;
text-align: right;
margin: 5px 0;
}
.p-product-quick-view-inner .function-list.funk__img-item.popup-btn {
  cursor: pointer;
  position: relative;
  z-index: 1;
  flex: 0 1 calc((100% - 20px) / 8);
  width: 12vw;
pointer-events: none
}
td.function-table {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
  border: 0 !important;
  max-width: 100%;
}








.cal_wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.loading {
position: relative;
display: flex;
  justify-content: center;
}
.svg-hmoe {
  position: absolute;
top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}


.p-wc-template-loop-outofstock {
  z-index: 1;
}