@charset "UTF-8";
/* ========================================================================
 * レイアウト
 * ======================================================================== */
body.single-product .l-main {
row-gap: 20px;
}


.l-contents {
inline-size: min(calc(100% - 16px), var(--tcd-base-container-size));
}

body.is-mobile.tax-product_cat .l-contents {
inline-size: min(calc(100% - 16px), var(--tcd-base-container-size)) !important;
}

/* ========================================================================
 * スライダー
 * ======================================================================== */

.slider-container.slider-thumbnail1 {
    margin: 0 auto 0 0;
    align-content: flex-start;
    display: flex;
}

.slider-list-thumbnails:not([data-keen-slider-disabled]) {
    align-items: center;
}
@media screen and (min-width: 768px) {
    .slider-list-thumbnails:not([data-keen-slider-disabled]) {
        max-width: 736px;
        flex-wrap: wrap;
        height: auto;
        justify-content: start;
    }
}

.slider-list-img {
  text-align: center;
  width: 100%;
  height: auto;
  flex-shrink: 0;
  display: block;
  position: relative;
}
.keen-slider__slide.number-slide, .slider-list-img {
  vertical-align: middle;
}

/* ========================================================================
 * スライダーここまで
 * ======================================================================== */

@media (max-width: 767px) {
.p-product.product {
margin-top: 0;
}
}

.c-post-tags :where(a) {
height: 24px;
font-size: min(3vw,.87em);
padding: 2px 6px;
}

body.is-mobile .molecules-goods-list {
    position: relative;
}
body.is-mobile .p-product-header-summary-product-tags.c-post-tags {
position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-y: hidden;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  cursor: grab;
  user-select: none;
  overflow-x: scroll;
}
body.is-mobile .c-post-tags :where(a) {
  flex: 0 0 auto;
}
body.is-mobile .molecules-goods-list::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2vw;
  height: 100%;
  background: -webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(#fff));
  background: linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);
  z-index: 1;
}
.product-header-summary-wrapper .woocommerce-review-link {
position: relative;
font-size: 12px;
width: 2em;
height: 2em;
border-radius: 50%;
overflow: hidden;
margin-left: 0.5em;
}
.product-header-summary-wrapper .woocommerce-product-rating .count {
display: grid;
place-items: center;
position: absolute;
inset: 0;
color: #fff;
background: var(--tcd-accent-color);
transition: color 0.3s ease;
}

body.is-desktop .system-product {
display: grid;
grid-template-columns: 736px 1fr;
column-gap: 24px;
position: relative;
align-items: start;
grid-template-rows: auto auto 1fr;
z-index: 2;
}

body.is-desktop .p-product-header {
display: grid;
column-gap: 0;
grid-column: 1/1;
grid-row: 2;
grid-template-columns: 736px 1fr;
}


body.is-mobile .system-product {

position: relative;
}

body.is-desktop .p-product-tabs {
display: grid;
row-gap: 120px;
margin-top: 4vh;
grid-column: 1/2;
grid-row: 3/4;
}

body.is-desktop .theiaStickySidebar {
display: grid;
align-content: start;
grid-column: 2/3;
grid-row: 2/4;
margin-bottom: 230px;
}
.theiaStickySidebar {
display: grid;
row-gap: var(--tcd-wc-product-single-summery-gap, 15px);

}

.p-product-section {
display: grid;
align-content: start;
row-gap: 120px;
margin-top: 120px;
}
.woocommerce-product-gallery.woocommerce-product-gallery--with-images.images {
position: relative;
	top: 0;
}

#min_price, #max_price {
padding: 10px 3px 10px 10px;
font-size: 16px;
}




.p-product-cards-item.product.type-product.status-publish.product_cat-sizecut.has-post-thumbnail.sale.shipping-taxable {
margin-bottom: 20px;
}

body.is-desktop .header-title.is-pc,
.header-title.is-pc {
display: flex;
justify-content: space-between;
align-items: center;
	width: fit-content;
position: relative;

}



.woocommerce-product-details__short-description {
line-height: normal;
}

.woocommerce .product-header-summary-wrapper .woocommerce-product-rating {
display: flex;
align-items: center;
}


/* ========================================================================
 * ギャラリーイメージ画像
 * ======================================================================== */

.woocommerce-product-gallery__image img {
width: 100%;

object-fit: cover;
}
.flex-viewport {
height: 71.16vw;
max-height: 504px;
}
.woocommerce-product-gallery .flex-control-nav li {
position: relative;
}
.gallery-active::before {
content: "";
border-radius: 6px;

box-shadow: 0 0 0 2px #49c087;
width: 100%;
height: 100%;
display: inline-block;
position: absolute;
}

.woocommerce-product-gallery .flex-control-nav {
padding: 2px 0;
grid-template-columns: repeat(7, 1fr);
z-index: 1;
position: relative;
}


@media (max-width: 767px) {
.woocommerce-product-gallery .flex-control-nav li {
flex: 0 0 60px;
}
}

body.is-mobile .woocommerce-product-gallery .flex-control-nav li {
flex: 0 0 14.2vw;
}

/* ? スライド中に画面が縦に揺れないよう固定 */
.woocommerce-product-gallery {
touch-action: pan-y !important; /* 縦スクロールのみ許可 */
overscroll-behavior: contain; /* 親スクロールに伝播させない */
margin-bottom: 0;
}
@media (max-width: 767px) {
.woocommerce-product-gallery:has(.flex-control-nav) {
margin-block: 0;
margin-bottom: 25px;
}
}

body.is-mobile .woocommerce-product-gallery:has(.flex-control-nav) {
margin-block: 0;
margin-bottom: 25px;
}

/* ? スライド本体がズレないようGPU固定 */
.woocommerce-product-gallery__wrapper {
will-change: transform;
transform: translateZ(0);
}

/* ? サムネ側の横ドラッグも固定 */
.flex-control-thumbs {
touch-action: pan-x !important;
overscroll-behavior: contain;
}

#slider-body {
padding: 0 0 20px;
}

.flex-direction-nav li {
-ms-flex-align: center;
align-items: center;
border: 0;
border-radius: 50%;
cursor: pointer;
display: -ms-flexbox;
display: flex;
height: 2.5em;
-ms-flex-pack: center;
justify-content: center;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 2.5em;
z-index: 1;
background-color: rgba(0,0,0,0.3);
}
.flex-prev,
.flex-next {
font-size: 0;
}
.flex-nav-prev {
left: 1%;
}
.flex-nav-next {
right: 1%;
}
.flex-next::before,
.flex-prev::before {
content: "";
display: block;
width: 25px;
height: 25px;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'>\
<path fill='white' d='m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z'/>\
</svg>");
}




.flex-prev::before {
transform: scaleX(-1);

}

/* ========================================================================
 * 基本テキスト・汎用
 * ======================================================================== */
.header-title h1 {
  font-size: min(4vw,19px) !important;
}

body.is-mobile .woocommerce-product-gallery {
margin-inline: -8px;
}

@media (max-width: 767px) {
.woocommerce-product-gallery {
margin-inline: -8px;
}
}
.p-product-header-title {
font-size: var(--tcd-wc-product-single-title-font-size, 19px);

}
.p-product-header-title {
display: block;
text-align: justify;
line-height: normal;
font-size: min(4vw,19px)!important;
display: -webkit-box;
-moz-box-orient: vertical;
overflow: hidden;
word-break: break-all;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
}
.arrival-date-content {
font-size: min(2.68vw,12px);
display: block;
}

.dr-bold {
font-size: min(4.2vw,16px);
font-weight: 700;
}
.dr-medium {
font-size: min(3.6vw,16px);
}
.joji {
font-size: min(3.6vw,14px);padding:4px 0 8px;display: block;
}

.joji2 {
color: #b22222; font-size: min(3.2vw,13px);
}

.kasuji {
text-align: center;
display: block;
font-size: 12px;
padding-bottom: 8px;
}

.kasuji2 {
display: block;text-align: center;font-size: min(4.2vw,16px);text-align: center;font-weight: bold;
}

span.lukoi {
font-size: min(3.2vw,.76rem) !important;
display: block;
padding-top: 5px;
color: #ff0000;
}



.item-detail-navi {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #f6f6f6;
padding: 10px;
margin-bottom: 12px;
line-height: 1.5;
font-size: min(3.68vw,17px);
}
.price-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
line-height: normal;
}



.free-postage-badge {
	background-color: #000;
color: #fff;
padding: 2px 6px;
margin-left: 10px;
font-size: min(3.5vw,1em);
align-items: center;
display: flex;
}
.p-product-header-price {

font-size: min(6.5vw,1.8rem);
font-weight: bold;
letter-spacing: -.01rem;
}
.p-product-header-price::after {
content: "（税込み）";
font-size: 11px;
font-weight: normal;
}


.p-product-header-summary {

row-gap: var(--tcd-wc-product-single-summery-gap, 20px);
position: relative;
}


body.is-mobile .product-header-summary-wrapper {

display: flex;
  align-items: center;
  width: 100%;
  justify-content: right;
}



body.is-desktop .product-header-summary-wrapper {
display: flex;
align-items: center;
max-width: 380px;
position: absolute;
right: 0;
width: 100%;
justify-content: end;

}
.h1-title.lastChild {
position: relative;
	padding-left: 10px;
}
.h1-title.lastChild::after {
content: "";
	width: 17px;
height: 17px;
position: absolute;
left: -5px;

background-repeat: no-repeat;
top: -5px;
}

body.is-mobile .h1-title.lastChild::after {
content: "";
	width: 12px;
height: 12px;
background-image: url('data:image/svg+xml;utf8,<svg data-v-07cc935e="" width="12" height="12" aria-labelledby="tag" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" role="presentation" fill="currentColor" class="svg h1-tag"><g data-v-07cc935e=""><path d="M54.229,29.78039,30.21919,5.77112A2.71609,2.71609,0,0,0,27.729,5.05725L11.14888,8.29455a3.74493,3.74493,0,0,0-2.85449,2.85352L5.05806,27.72619A2.7142,2.7142,0,0,0,5.771,30.21887L29.78071,54.22864a2.65115,2.65115,0,0,0,1.89942.772,3.066,3.066,0,0,0,.59082-.05811,3.63726,3.63726,0,0,0,1.84473-1.0083L53.93306,34.11682a3.64857,3.64857,0,0,0,1.00976-1.8457A2.7183,2.7183,0,0,0,54.229,29.78039Zm-22.42774,20.812L9.101,27.89221l3.06933-15.72168L27.892,9.10071,50.59224,31.8009Z"></path><path d="M17.90309,17.90326a3,3,0,1,0,4.24262,0A3,3,0,0,0,17.90309,17.90326Z"></path></g></svg>');
left: -2px;
top: -2px;
}

.mon::after,

.h1-title.lastChild::after {
background-image: url('data:image/svg+xml;utf8,<svg data-v-07cc935e="" width="17" height="17" aria-labelledby="tag" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" role="presentation" fill="currentColor" class="svg h1-tag"><g data-v-07cc935e=""><path d="M54.229,29.78039,30.21919,5.77112A2.71609,2.71609,0,0,0,27.729,5.05725L11.14888,8.29455a3.74493,3.74493,0,0,0-2.85449,2.85352L5.05806,27.72619A2.7142,2.7142,0,0,0,5.771,30.21887L29.78071,54.22864a2.65115,2.65115,0,0,0,1.89942.772,3.066,3.066,0,0,0,.59082-.05811,3.63726,3.63726,0,0,0,1.84473-1.0083L53.93306,34.11682a3.64857,3.64857,0,0,0,1.00976-1.8457A2.7183,2.7183,0,0,0,54.229,29.78039Zm-22.42774,20.812L9.101,27.89221l3.06933-15.72168L27.892,9.10071,50.59224,31.8009Z"></path><path d="M17.90309,17.90326a3,3,0,1,0,4.24262,0A3,3,0,0,0,17.90309,17.90326Z"></path></g></svg>');

}






/* ========================================================================
 * ページタイトル・見出し
 * ======================================================================== */

.page-title-name{background-color:#fcf8dd;margin:0;padding:8px;line-height:normal;text-align:justify;font-weight:700;font-size:min(4.5vw,18px)}
.wp-mobile-device .page-title-name{background-color:#fcf8dd;margin:0;padding:8px 6px;letter-spacing: -.02rem;}

.c-section__heading {
width: 96%;
margin: 10px auto 20px;
}

.c-section__heading--title {
position: relative;
font-size: min(5.2vw,1.6rem) !important;
padding: 14px 5px;
text-align: center;
text-shadow: none;
background: #333;
color: #fff;
width: 100%;
}
.label-text {
text-align: center;
padding: 20px;
margin: auto;
font-size: 15px;
}

/* ========================================================================
 * 送料・注意・補足
 * ======================================================================== */

.postage {
display: flex;
justify-content: space-between;
align-items: center;
}

.nda {
font-size: 15px;
font-weight: 700;
color: #2a8476;
border: 1px solid #2a8476;
padding: 3px 6px;
}

.request_explain {

font-size: min(3.6vw,14px);
border: 1px solid #b22222;
padding: 6px 10px;
margin: 0;
text-align: justify;
display: inline-block;
max-width: fit-content;
line-height: 1.5;
}


/* ========================================================================
 * カート・購入フォーム
 * ======================================================================== */

#shop-cart {
display: block;
position: relative;
}

#deli-table {

padding: 10px;
background: #f6f6f6;
}
.p-cart-form__point {
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
padding: 12px;
background-color: #fff;
margin-bottom: 10px;
}

.cart-question-box {
margin: 10px 0 20px;
width: max-content;
height: 28px;

justify-content: center;
padding: 0 6px 0 0 !important;

border: 1px solid #ccc !important;
border-radius: 15px;
font-size: min(3.1vw,.86rem);
background-color: #fbf8f0 !important;

cursor: pointer;
display: flex;
align-items: center;
line-height: normal;
}

.check-label.label_icon.label-op {
max-width: 83%;
}


#stickyheight {
box-shadow: none;
}
.p-cart-form-option-wide {
clear: both;
box-shadow: 0px 3px 14px -2px rgba(0, 0, 0, 0.36);
padding: 24px 12px;
border-radius: 8px;
background-repeat: repeat;
background-position: top;
width: 100%;
font-size: 14px;

}

body.is-desktop .p-cart-form-option-wide {
margin: 0 auto !important;
}


body.is-mobile .p-cart-form-option-wide {
width: calc(100% + 8px);
margin: 0 -4px;
}

.p-cart-form__option.p-cart-form-option-wide .p-price {

right: 0;
}





#sample-cart {
z-index: 2;
  background: #fff;
  line-height: normal;
  position: relative;
}

body.is-mobile #sample-cart {
position: relative;
padding-block: 20px;
width: 100%;
margin: 0 auto;
}

.sample_send_wrapper {
padding-block: 20px;
}

.sample_send-title2,
.sample_send-title {
display: block;
margin: 0 auto;
line-height: 2;

position: relative;
color: #fff !important;
padding: 16px 10px;
border-radius: 5px;

background: #787878;
display: flex;
align-items: center;
justify-content: center;
}
.sample_send-title2::before,
.sample_send-title::before {
display: block;

font-size: 16px;
text-align: center;
margin: 0 !important;
background: none;
color: #fff;
font-weight: bold;

}
.sample_send-title2::after,
.sample_send-title::after {
transform: translateY(-25%) rotate(45deg);
width: 10px;
height: 10px;
margin-left: 10px;
border-bottom: 3px solid #fff;
border-right: 3px solid #fff;
content: "";
transition: transform 0.3s;
font-size: 17px;
}


.sample_send-title2[aria-expanded="true"]::after,
.sample_send-title[aria-expanded="true"]::after {
transform: rotate(225deg);

transition: transform 0.3s ease; /* アニメーション付き */
}


.sample_send-title::before {
content: "サンプル請求はこちら" !important;

}
.sample_send-title2::before {
content: "見積り依頼はこちら【図面添付】" !important;
top: -8px;
position: relative;
}


.henkei-bnr {
position: absolute;
margin: auto;
top: 30px;
font-size: 15px;
}

.ahoka2 {
  background: #333;
  border: none;
  color: #fff;
  padding: 10px 0;
  display: block;
  text-align: center;
  border-radius: 32px;
  cursor: pointer;
  min-width: 250px;
  height: 45px;
  margin: 0 auto;
}

.send_wrapper button {
background: #333;
border: none;
color: #fff;
padding: 10px 0;
display: block;
text-align: center;
border-radius: 32px;
cursor: pointer;
margin: 0 0 10px;
font-size: 13px;
}
.get_wrapper {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
}






.get_wrapper.open {

border-radius: 10px;
padding: 15px 12px 20px;
margin: 15px auto;
max-height: 1000px; /* 中身が入り切る十分な高さ */
box-shadow: -2px 4px 16px 2px rgba(0, 0, 0, 0.46)
}


.p-cart-form__button-wrap {
font-size: 16px;

display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
cursor: pointer;
transition: .2s;
text-decoration: none;
color: #fff;
border: 0;
border-radius: 4px;
background: #0ca6aa;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 100%;

}
.sample_tips {
background: #fbf8f0;
margin: 0 auto;
border-radius: 8px;
padding: 8px;
font-size: min(3.68vw,15px);
text-align: center;
margin-block: 20px;
}

.sample-text {
text-align: left;
padding: 10px 0
}
.sample-text-1 {
display: inline-block;
font-size: 14px;
padding: 8px 10px;

background-color: #f1f1f6;
}
.color-check,
.gallery-fullsize {
display: block;

border-radius: 6px;
}
.icon.icon-tabler.icon-tabler-alert-circle-filled {
color: #3c3736;
margin: 0 2px 0 -3px;
}


.inputform {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
height: 35px;
border-radius: 5px;
overflow: hidden;
border: 1px solid #CCC;
width: 130px;
}
.counterGroupBtn {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
vertical-align: middle;
border: none;
border-right-width: medium;
border-right-style: none;
border-right-color: currentcolor;
border-radius: 0;
cursor: pointer;
width: 34px;
padding: 0;
background: #fcfcfc;
background: -moz-linear-gradient(top, #fcfcfc 0%, #f2f2f2 100%);
background: -webkit-linear-gradient(top, #fcfcfc 0%, #f2f2f2 100%);
background: linear-gradient(to bottom, #fcfcfc 0%, #f2f2f2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#f2f2f2', GradientType=0);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: normal;
}
.counterGroupBtn-left {
border-right: 1px solid #ccc;
}
.counterGroupBtn-right {
border-left: 1px solid #ccc;
}
.counterGroupIndicator {
appearance: none;
text-align: right;
font-size: 19px;
border: none;
background: #fff;
-webkit-appearance: none;
-moz-appearance: textfield;
flex: 1;
width: 64px;
padding: 3px 8px 0;
}



.inline-radio input:checked + label.label_icon::after {
content: "選択中";
margin: auto;
display: block;
font-size: min(3.5vw,.8rem) !important;
font-weight: 400;
color: #333;
position: absolute;
left: 0;
right: 0;
z-index: 1;
top: 35%;
text-align: center;
}

.inline-radio input:checked + label.label_icon .color-check2,
.inline-radio input:checked + label.label_icon .color-check,
.inline-radio input:checked + label.label_icon.label-op .check-check,
.inline-radio input:checked + label.label_icon.label-op .color-check {
opacity: .7;

}



/* ========================================================================
 * 機能アイコン・サムネ・バナー
 * ======================================================================== */

.function {
display: flex;
flex-wrap: wrap;
gap: 4px;
position: relative;

}


@media (max-width: 767px) {
.function {
display: flex;
flex-wrap: nowrap;
gap: 12px;
overflow-y: hidden;
width: 100%;
-webkit-overflow-scrolling: touch;
scroll-behavior: smooth;
cursor: grab;
user-select: none;
overflow-x: scroll;

}
	
.function-list.funk__img-item.popup-btn {
flex: 0 0 auto;
width: 12vw;
}
}

body.is-mobile .function {
display: flex;
flex-wrap: nowrap;
gap: 12px;
overflow-y: hidden;
width: 100%;
-webkit-overflow-scrolling: touch;
scroll-behavior: smooth;
cursor: grab;
user-select: none;
overflow-x: scroll;

}

body.is-mobile #img_popup.function-bnr::after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 2vw;
height: 100%;
background: -webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(#fff));
background: linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);
z-index: 1;
}


body.is-mobile .function-list.funk__img-item.popup-btn {

flex: 0 0 auto;
width: 12vw;
}

.function-list.funk__img-item.popup-btn {
flex: 0 1 calc((100% - 24px) / 7);
cursor: pointer;
position: relative;
z-index: 1;
}


.photo-bnr-wrap {

display: flex;
position: absolute;
left: 0;
top: 0;
}

.photo-bnr {
pointer-events: auto;
flex: 0 0 20px;
aspect-ratio: 1 / 1;
background: rgba(0,0,0,.4);

}

.photo-bnr::before {
content: '';
display: block;
width: 100%;
height: 100%;
background-image: url('data:image/svg+xml;utf8,<svg width="15" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" fill="none" stroke="white" stroke-width="2"><path d="M34,5A21,21,0,0,0,17.8,39.368L5.515,51.657l2.828,2.828L20.633,42.2A21,21,0,1,0,34,5Z"></path><polygon points="36 16 32 16 32 24 24 24 24 28 32 28 32 36 36 36 36 28 44 28 44 24 36 24 36 16"></polygon></svg>');
background-repeat: no-repeat;
background-position: center;
}


.tab_content_price_inner #pl_table .wc-tab__spec-table .function-table {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
  border: 0 !important;

  max-width: 100%;
}

body.is-mobile .tab_content_price_inner #pl_table .wc-tab__spec-table .function-list.funk__img-item.popup-btn {
  cursor: pointer;
  position: relative;
  z-index: 1;
  flex: 0 1 calc((100% - 40px) / 5);
  width: 12vw;
}
body.is-desktop .tab_content_price_inner #pl_table .wc-tab__spec-table .function-list.funk__img-item.popup-btn {
  cursor: pointer;
  position: relative;
  z-index: 1;
  flex: 0 1 calc((100% - 40px) / 10);
  width: 12vw;
}


.function-list img2 {
margin: 0 auto !important;
display: block;
text-align: center;
}

.favorite-button {
margin: 20px 0 10px;
position: relative;
width: 100%;
display: flex;
align-items: center;
cursor: pointer;

justify-content: center;


min-height: 40px;
border: 2px solid #ddd;
}

.favorite-button-count {
-webkit-box-align: center;
align-items: center;
border-left: 1px solid #000;
bottom: 0;
display: -webkit-box;
display: flex;

font-weight: 400;
margin: 5px 0;
padding: 0 10px;
position: absolute;
right: 0;
top: 0;
}

.favorite-button-count::before {
background-color: #fff;
border-bottom: 1px solid #000;
border-left: 1px solid #000;
bottom: 0;
content: "";
display: block;
height: 8px;
left: -5px;
margin: auto;
position: absolute;
top: 0;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
width: 8px;
}
/* ========================================================================
 * 入力フォーム
 * ======================================================================== */
.mon {
background: #fff;
  padding: 5px 10px 5px 14px;
  display: flex;
  align-items: center;
font-size: 14px;
  position: relative;
  border-radius: 50px;
  line-height: normal;
}
.mon::after {
content: "";
width: 17px;
height: 17px;
position: absolute;
left: -5px;
  top: 1px;
}
#name-select {
font-size: min(3vw,14px);
width: auto !important;
min-width: 1ch;
max-width: none !important;
white-space: nowrap !important;
overflow: hidden !important;
resize: none;
padding: 2px 6px 2px 12px;
background: none;
height: 21px;
text-align: center;

/* ? 見た目殺す */
outline: none !important;
border: none !important;
box-shadow: none !important;
-webkit-appearance: none !important;
appearance: none !important;
-webkit-tap-highlight-color: transparent !important;

/* ? タップ完全無効 */
pointer-events: none !important;

/* ? iOSのフォーカス暴走対策 */

-webkit-user-select: none !important;
}

/* ========================================================================
 * 画像オーバーレイ
 * ======================================================================== */

.monti {
position: relative;
margin: auto;
display: block;
width: 100%;
padding: 1%;
}

.outohui {
background: rgba(30, 30, 30, 0.4);
color: #ffffff;
line-height: 1.8;
padding: 5px 14px 0;
position: absolute;
bottom: 0;
margin: auto;
left: 0;
right: 0;
width: 100%;
}


/* ========================================================================
 * ラジオボタンUI
 * ======================================================================== */

.m-form-radio{display:flex;position:relative;align-items:center;line-height:normal;padding:0 0 20px;margin:0;min-height:72px;justify-content: space-between;}

.m-form-radio input {
position: absolute;
white-space: nowrap;
width: 1px;
height: 1px;
overflow: hidden;
border: 0;
padding: 0;
clip: rect(0, 0, 0, 0);
clip-path: inset(50%);
margin: -1px;
}

.m-form-radio label .m-form-radio-name::before{-webkit-transition:opacity .2s linear;transition:opacity .2s linear;position:absolute;top:3px;bottom:0;left:6px;display:block;width:5px;height:9px;
border-right:3px solid #49c087;
border-bottom:3px solid #49c087;
content:'';opacity:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;box-sizing:content-box}

.m-form-radio-name::after{-webkit-transition:border-color .2s linear;transition:border-color .2s linear;position:absolute;top:0;bottom:0;margin:auto;display:block;width:16px;height:16px;border:2px solid #bbb;border-radius:6px;content:'';box-sizing:content-box;background:#fff}

.m-form-radio-name{cursor:pointer;display:inline-flex;align-items:center;position:relative;line-height:1.5}

.m-form-radio-text{padding:0 4px 0 26px}

.m-form-radio input:checked+.m-form-radio-name .m-form-radio-text,.m-form-radio input:focus+.m-form-radio-name .m-form-radio-text,.m-form-radio input:checked+.m-form-radio-name::before{color:#800;opacity:1;font-weight:700}

.slide-content-text-zaiko {
position: absolute;
margin: auto;
width: 100%;
text-align: center;
height: 100%;
background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2274%22%20height%3D%2274%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ea1010%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2218%22%20y1%3D%226%22%20x2%3D%226%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3Cline%20x1%3D%226%22%20y1%3D%226%22%20x2%3D%2218%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3C%2Fsvg%3E);
background-repeat: no-repeat;
background-size: 94%;
background-position: center;
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
pointer-events: none;
}



.slide-content-text-zaiko::after {
text-shadow: #fff 1px 1px 0,#fff -1px -1px 0,#fff -1px 1px 0,#fff 1px -1px 0,#fff 0 1px 0,#fff 0-1px 0,#fff -1px 0 0,#fff 1px 0 0;
font-size: min(3vw,1rem) !important;
color: #B22222;
content: "在庫切れ";
margin: auto;
text-align: center;
background-position: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
width: 100%;
pointer-events: none;
}

.shape-option6-1.elm.group-flex.item-zaiko,
.shape-option6.elm.group-flex.item-zaiko {
pointer-events: none;
}


/* ========================================================================
 * インラインカラー・形状セレクト
 * ======================================================================== */

.inline-radio {
display: flex;
padding: 0 0 28px;
justify-content: space-between;
width: 100%;
margin: 0 auto;
text-shadow: #fff 1px 1px 0,#fff -1px -1px 0,#fff -1px 1px 0,#fff 1px -1px 0,#fff 0 1px 0,#fff 0-1px 0,#fff -1px 0 0,#fff 1px 0 0;
}
.inline-radio.color-select2, .inline-radio.color-select3 {
padding: 0 0 25px;
  position: relative;
  justify-content: left;
  display: flex;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
justify-content: left;
width: 100%;
}


.inline-radio.color-select4, .inline-radio.color-select5, .inline-radio.color-select6,.inline-radio.color-select-shape {
padding: 0 0 25px;
  position: relative;
  justify-content: left;
  display: flex;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
justify-content: left;
width: 100%;
}



.inline-radio.color-select3 .elm.group-flex.tab4__item {
flex: 0 1 calc((100% - 24px) / 3)!important;
}

.inline-radio.color-select3 .group-flex.group-flex {
flex: 0 1 calc((100% - 40px) / 3)!important;
}

.inline-radio.color-select4 .group-flex.group-flex {
flex: 0 1 calc((100% - 36px) / 4)!important;
}

.inline-radio.color-select-option .group-flex, .inline-radio.color-select2 .group-flex, .inline-radio.color-select3 .group-flex, .inline-radio.color-select4 .group-flex, .inline-radio.color-select5 .group-flex, .inline-radio.color-select6 .group-flex {

}

.inline-radio .elm.group-flex.tab4__item.color-select-shape .group-flex {
flex-basis: calc(88% / 3) !important;
}

.inline-radio.color-select3 .elm.group-flex.tab4__item{
position: relative;

padding: 4px 0 10px;
}

.inline-radio.color-select3 .elm.group-flex.tab4__item {
max-width: 180px;
width: 100%;
}

.inline-radio input {
width: 100%;
opacity: 0 !important;
position: absolute;
height: 100%;
-webkit-tap-highlight-color: rgba(0,0,0,0);
display: block;
margin: auto;
cursor: pointer;
}

.inline-radio label {
width: 100%;

pointer-events: none;
position: relative;
display: block;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}

.inline-radio .group-flex .selection-group-name,.inline-radio.color-select2 .selection-group-name, .inline-radio.color-select3 .selection-group-name, .inline-radio.color-select4 .selection-group-name,.color-select-shape .selection-group-name {
font-size: min(3.2vw,.86rem) !important;
letter-spacing: .02rem;
word-break: break-all;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
overflow: hidden !important;
-moz-box-orient: vertical;
text-align: center;
display: block;
line-height: normal;
}

.inline-radio input:checked + label.label_icon .active-border::after, .swiper-slide.thumbnail-height.swiper-slide-thumb-active .active-border::after, .swiper-slide.thumbnail-height.swiper-slide-thumb-active.swiper-slide-active .active-border::after {
box-sizing: border-box;
border: 3px solid #49c087;
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

.inline-radio input:checked + label.label_icon .active-border::after {
box-sizing: border-box;
border-radius: 6px;
border: 1px solid #fff !important;
box-shadow: 0 0 0 2px #49c087;
}

.inline-radio .group-flex .selection-group-name {
margin: 0 -14px;
}

.elm.group-flex .active-border,
.elm.group-flex .active-border.befores,
.elm.group-flex .active-border2.befores {
background-repeat: no-repeat;
background-position: center;
position: relative;
display: block;
margin-bottom: 10px;
}

.inline-radio input[type="checkbox"]:checked + label .selection-group-name, .inline-radio input[type="radio"]:checked + label .selection-group-name {
color: #800;
font-weight: 700;
}

.inline-radio .group-flex .selection-group-name.is-bold {
color: #800;
font-weight: 700;
margin: 1px 0px;
}

.group-flex {
position: relative;
flex-basis: calc(100% / 3) !important;
}


/* ========================================================================
 * 価格表
 * ======================================================================== */

.p-price-table__body {
border-bottom: 1px solid #eaeaea;

clear: both;
margin: 0 auto;
padding: 4px 0;

display: flex;
justify-content: center;
align-items: center;
}

.p-price-table__body dt {
box-sizing: border-box;
width: 70%;
padding: .7em .5em;
line-height: normal;
}

.p-price-table__body dd {
overflow: hidden;
padding: 0;
}

.wai {
color: #ff4150;
font-size: 18px;
padding: 0 1px 0 3px;
font-weight: bold;

line-height: normal;
position: relative;
}

.g-price-lg, .g-lg-price-lg {
margin: 0;
width: 83%;
text-align: center;
font-size: min(6.6vw,28px) !important;
letter-spacing: -.04rem;
position: relative;
font-family: "Lato",Arial,Helvetica,"Noto Sans JP",sans-serif;
font-weight: 700;
}

.p-cart-form-option-wide .g-price.g-price-lg::after {
content: "円（税込）";
margin: auto;
font-size: min(3.1vw,12px) !important;
font-weight: 400;
color: #333;
position: relative;
border: 1px;
left: 4px;
bottom: 1px;
}

.p-price-table__name {
padding: .7em .5em;
display: flex;
align-items: center;
}


/* ========================================================================
 * 強調・装飾
 * ======================================================================== */
.gallery-active .flex-active {
opacity: .7;
border-radius: 6px;
}
.is-center {
clear: both;
position: relative;
padding: 20px 0 16px !important;
display: block;
background-position: center bottom;

margin: 0 auto 15px;
text-indent: inherit;
text-align: center;
height: auto;
width: fit-content;
background-repeat: repeat-x;
background-image: url(https://www.carpet-mart.co.jp/shop/wp-content/uploads/h-border.png);
}

.sub {
margin: 20px auto 40px;
display: flex;
justify-content: space-between;
align-items: center;
line-height: normal;
}

.deformation {
font-size: min(4.2vw,1.4rem) !important;
font-weight: bold;
}

.active-border2.befores.active-tab {
display: block;
box-sizing: border-box;
border-radius: 6px;
box-shadow: 0 0 0 2px #49c087;
background-repeat: no-repeat;
background-position: center;
position: relative;

margin-bottom: 10px;
}

.color-check2 {
box-sizing: border-box;
border-radius: 8px;
}

.color-check, .gallery-fullsize {
display: block;
border-radius: 6px;
}



.p-product-like2 {


font-size: 16px;

min-height: 40px;
width: 100%;

display: flex;
justify-content: center;
align-items: center;
width: 100%;
}
.p-product-like2.is-liked .p-product-like-add, .p-product-like2:not(.is-liked) .p-product-like-remove {
display: none;
}
.p-product-like2.is-liked::before {
mask-image: var(--tcd-icon--heart-fill);
}
.p-product-like2::before {
content: "";
width: 1.3em;
height: 1.3em;
background: #ff5367;
mask: var(--tcd-icon--heart) no-repeat center / 1.5em;
}

.p-product-like2 .p-product-like-remove,
.p-product-like2 .p-product-like-add {
padding-left: 5px;
}



.tab4-body {
position: relative;
}
#error-return {
position: relative;
}

#error-message {
position: absolute;
margin: auto;
display: block;
text-align: center;
left: 0;
right: 0;
z-index: 99;
top: 20px;
color: red;
border: #ccc solid 1px;
cursor: pointer;
border-radius: 6px;
font-weight: normal !important;
background: #fafaf9;
max-width: 87%;
padding: 16px 24px 16px 38px;
box-shadow: 0 8px 17px 4px rgba(0, 0, 0, 0.26);
background-image: url("https://www.carpet-mart.co.jp/common/img/icon_err.png");
background-repeat: no-repeat;
background-position: 19% center;
}
.error-message-arrow::after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNTM2IDcuNTU1Yy0xLjE4OC0uMjUyLTQuNjA2LS45MDQtNS41MzYtMS4wODh2LTMuNTEyYzAtMS42MjktMS4zNDYtMi45NTUtMy0yLjk1NXMtMyAxLjMyNi0zIDIuOTU1djcuNDU3Yy0uNTU0LS4zMzYtMS4xODgtLjYyMS0xLjgzOC0uNzE1LTEuODIyLS4yNjItMy4xNjIuOTQtMy4xNjIgMi40OTggMCAuODA1LjM2MyAxLjYxMyAxLjAyMiAyLjI3MSAzLjk3MiAzLjk3MiA1LjY4OCA1LjEyNSA2LjA1OSA5LjUzNGg5LjkxOXYtMS43NDhjMC01LjE1NCAzLTYuMDMxIDMtMTAuMDI5IDAtMi40NDgtMS4wNjEtNC4xNTctMy40NjQtNC42Njh6bS4zNTcgOC4wMjJjLS44MjEgMS40ODMtMS44MzggMy4zMTktMS44OTEgNi40MjNoLTYuMTNjLS43MjYtMy44Mi0zLjgxLTYuMzE4LTYuNDM2LTguOTQ5LS42ODgtLjY4Ni0uMzkzLTEuMzcuNDQyLTEuMzczIDEuMjYzLS4wMDYgMy4wNiAxLjg4NCA0LjEyMiAzLjIwNXYtMTEuOTI4YzAtLjUxNy40NTgtLjk1NSAxLS45NTVzMSAuNDM4IDEgLjk1NXY2Ljk0OGMwIC4zMTUuMjU2LjU3MS41NzIuNTcxLjMxNCAwIC41Ny0uMjU2LjU3LS41NzF2LS41NzVjMC0uNTM0LjQ5LS45MzggMS4wMTQtLjgzMy4zOTguMDc5LjY4Ni40MjguNjg2LjgzM3YxLjI3M2MwIC4zMTUuMjU2LjU3MS41NzEuNTcxcy41NzEtLjI1Ni41NzEtLjU3MXYtLjgzYzAtLjUzMS40ODctLjkzMiAxLjAwOC0uODI4LjM5Ni4wNzguNjgyLjQyNC42ODIuODI4djEuNTMzYzAgLjMxNS4yNTYuNTcxLjU3MS41NzFzLjU3MS0uMjU2LjU3MS0uNTcxdi0uOTEyYzAtLjUyMy41NDUtLjg2NyAxLjAxOC0uNjQ2LjY0NS4zMDUgMS4xNjYuOTMyIDEuMTY2IDIuNDc3IDAgMS4zNTUtLjQ2NSAyLjE5My0xLjEwNyAzLjM1NHoiLz48L3N2Zz4=) !important;
    background-repeat: no-repeat !important;
    transform: rotate(32deg);
    position: absolute;
    z-index: 99;
    content: "";
    top: 0px;
    bottom: 0;
    left: 100px;
    right: 0;
    margin: auto;
    background-position: left bottom;
    width: 220px;
}

#error-message-round::after, #error-message::after {
border: 12px solid transparent;
border-bottom-width: 12px;
border-bottom-color: #cdc5bc;
border-bottom-width: 12px;
content: "";
display: block;
left: 47%;
position: absolute;
width: 0;
top: -24px;
bottom: 100%;
}
#error-message-round::before, #error-message::before {
border: 12px solid transparent;
border-bottom-color: #fafaf9;
border-bottom-width: 12px;
content: "";
display: block;
left: 47%;
position: absolute;
width: 0;
z-index: 1;
top: -23px;
bottom: 100%;
}

.honko {
display: flex;
justify-content: space-between;
padding: 30px 0;
position: relative;
}

.zumen-1 {
position: absolute;
width: 100%;
display: block;
top: 45%;
}

.photolist-image-toggle.henkei-type {
display: none;
}
.c-section-size {
flex: .5;
}

.nokohi {
position: absolute;
width: 100%;
left: 0%;
text-align: left;
font-size: min(3.3vw,13px);
margin: 0 auto;
bottom: 10px;
top: 5px;
z-index: -1;
}
.honko-warap {
position: relative;
flex: .95;
}
.honko .tab4-body__item {
text-align: left;
}


#free-gift-photobox.photobox.photobox-close-btn::after {
transform: rotate(225deg);
}


.cart-box {
position: relative;
width: 100%;
display: flex;
align-items: center;
justify-content: center;

}

.cart-box .svg {
position: absolute;
left: 28%;

}
.purchase {
width: 100%;
margin: auto;
padding: 20px 0 20px 10px;
font-size: 17px;
box-sizing: border-box;
position: relative;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}
.p-cart-form-option-wide .c-form__unit2 {
display: flex;
align-items: center;
position: relative;
clear: both;
justify-content: space-between;
padding: 14px 0 12px;
margin: 0;
}
.gallery-fullsize.cut-img {
border: 0;
  width: 76px;
  position: relative;
  height: auto;
  max-height: 56px;
  display: block;
}
.sizename {
position: absolute;
  top: 100%;
  left: 30px;
  margin: auto;
  right: auto;
  font-size: min(2.6vw,.54rem);
}
.sizename2 {
  position: absolute;
  top: 25%;
  margin: auto;
  font-size: min(2.6vw,.54rem);
  right: 6px;
}
.ordermade-select {
width: 74%;
position: relative;
}
.ordermade-select select {
padding: 10px 1px 10px 9px;
box-sizing: border-box;
line-height: 1.5;
width: 100%;
letter-spacing: -.015rem;
-webkit-appearance: none;
background-color: #fff;
font-size: min(3.8vw,15px);
border: 1px solid #494443;
-moz-appearance: none;
appearance: none;
background-size: min(4.5vw,18px);
background-repeat: no-repeat;
background-position: 98% center;
cursor: pointer;
border-radius: 4px;
}
.gi-option {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 10px 0;
margin: 0;
}
.id_price5.kesu {
display: none;
}
.p-cart-form__option-select.c-select-size {
display: flex;
width: 47.8%;
align-items: center;
position: relative;
}

.select-color-new, .p-cart-form__option-select .select-color-left, .p-cart-form__option-select .select-color-right {
position: relative;
line-height: 1.5;
display: inline-block;
padding:10px 9px;
cursor: pointer;
transition: .2s;
border: 1px solid #494443;
border-radius: 4px;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
box-sizing: border-box;
width: 100%;
background: #fff;

}
.gi-option-title {
font-weight: 700;
min-width: 10%;
width: 50px;
display: block;
position: relative;
text-align: center;
font-size: min(3.74vw,15px);
}

.gi-option-title2 {
font-weight: 700;
min-width: 10%;

display: block;
position: relative;
text-align: center;
font-size: min(3.74vw,15px);
}

.ordermade-select2 {
width: 100%;
position: relative;
}
span.sizenavi-tate,
span.sizenavi-yoko {
    min-width: 30%;
}
.sizenavi-tate {
padding-left: 4vh;
}




.sizenavi {
display: flex;
font-size: min(3.2vw,.8rem);
justify-content: space-around;
position: relative;
width: 100%;
color: #800;
}



.tooltip_btn a {
font-size: 14px;
background: #fff;

border-radius: 50px;
padding: 4px 16px 4px 30px;
position: relative;
overflow: hidden;
align-items: center;
display: flex;
z-index: 1;
}

.tooltip_btn a span {
position: absolute;
width: 16px;
height: 16px;
background: #6e6e6e;
display: flex;
color: #ffffff;
align-items: center;
justify-content: center;
left: 20px;
top: 52%;
transform: translate(-53%, -53%);
-webkit-transform: translate(-57%, -57%);
-ms-transform: translate(-57%, -57%);
border-radius: 50px;
}



/* ========================================================================
 * サイズ表
 * ======================================================================== */

.main-size-table {
position: relative;
padding: 16px 0 0;
}

#order-cart-size {

clear: both;

display: block;
margin: 0 auto;
text-indent: inherit;
text-align: center;

}

.order-deformation.deformation {

display: inline-block;
border-top: 1px solid #403a39;
border-bottom: 1px solid #403a39;
margin: 0 auto !important;
padding: 1rem 3.5vw !important;
width: 87%;

}

#size-list {
position: relative;
margin: 0 auto;
}

body.is-mobile #size-list {
width: calc(100% + 8px);
margin: 0 -4px;
}

body.is-mobile #main-popsize-wrap {
padding-top: 70px;
}



.ta.sizetitle-oder2.sz2 {
display: flex;
width: 100%;
border: 1px solid #ddd;
padding: 0;
margin: 0 0 -1px;
}


.sizescroll {

position: relative;

overflow-x: auto;/* 横スクロールを許可 */
overflow-y: hidden;/* 縦スクロールは不要 */

width: 100%;

-webkit-overflow-scrolling: touch; /* iOS 慣性スクロール */
scroll-behavior: smooth; /* プログラムスクロール/Androidでもスムーズ */

cursor: grab;/* ドラッグ用カーソル */
user-select: none; /* テキスト選択を防止 */
overflow-x: scroll;
}


.scrollTable {
white-space: nowrap;
width: max-content;
margin: 0 auto 1px;



}
body.is-mobile .scrollTable {
max-width: 710px;

}
body.is-desktop .scrollTable {
max-width: 860px;

}
body.is-desktop #popsize.expanded .scrollTable {
  width: 100%;
  max-width: 910px;
}



.tutt {
display: block;
margin: auto;
text-align: center;
}
.size-ch-sp, .size-ch {
border-radius: 20px;

margin: 16px auto;
text-align: center;
background: #f6f6f6;

padding: 7px 13px;
display: inline-block;
width: auto;
font-size: min(3.2vw,13px) !important;
}


.sizetitle-oder2.sz {
table-layout: fixed;
border-collapse: separate;
background-color: #ddd;
border-spacing: 1px;
padding: 0;
margin: 0 0 -1px;
}


.sizetitle-oder2 .bs-title-inner {
text-align: center;
border: 1px solid #fff;
font-family: "Lato",Arial,Helvetica,"Noto Sans JP",sans-serif;
padding: 10px 0;
position: relative;
background: #f6f6f6 !important;
width: 100%;
font-size: min(3vw,13px);
line-height: 1.7;
}
#scrollswipe {
  display: block;
}

.sizetitle-oder2 tr {
background: #fefefe;
}

.sizetitle-oder2 th {
font-size: min(3.4vw,15px);
text-align: center;
border: 1px solid #fff;
font-family: "Lato",Arial,Helvetica,"Noto Sans JP",sans-serif;
font-weight: 700;
vertical-align: middle;
padding: 12px 0;
position: relative;
background: #f6f6f6 !important;
width: 100%;

}
.sizetitle-oder2 td.red2 a {
display: flex;
flex-wrap: wrap;

flex-direction: column-reverse;

justify-content: center;

padding: 0;
color: #7a3100 !important;
line-height: 1.4;
text-decoration: none;
font-family: "Lato",Arial,Helvetica,"Noto Sans JP",sans-serif;
text-align: center;
font-size: min(3.9vw,17px);
margin: 0 auto;
height: 62px;
align-items: center;
text-shadow: #fff 1px 1px 0,#fff -1px -1px 0,#fff -1px 1px 0,#fff 1px -1px 0,#fff 0 1px 0,#fff 0-1px 0,#fff -1px 0 0,#fff 1px 0 0;
}

.sml-l {
font-size: min(1.8vw, .9rem);
font-weight: 700;
padding: 0 2px;
vertical-align: middle;
top: 1px;
position: relative;
}


.fixed02.sizecm.red2::after {
content: "(cm)";
position: absolute;
bottom: -3px;

font-size: min(2.3vw,11px);
right: 1px;
z-index: 1;

top: -2px;
}
#pricelist .sml-price {
position: relative;
display: inline-flex;
align-items: baseline;
width: auto;
letter-spacing: -.008rem;
font-weight: 600;
padding: 0 0 2px;

}

#pricelist .sml-price::after {
content: "円";
margin: -1px 0 0 2px;

display: block;
font-size: min(1.9vw,.56rem) !important;
font-weight: 400;
color: #111;

}
#pricelist .id_price55::after {
content: "サイズ";
font-weight: 400;
color: rgb(51,51,51);
margin: auto -2px auto auto;
font-size: min(2.5vw,.72rem) !important;
padding: 0 0 0 2px;
font-family: "YuGothic","游ゴシック体","Yu Gothic","游ゴシック",Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Meiryo",sans-serif !important;
line-height: 1.4;
}

.sizetitle-oder2 span.id_price55 {
font-size: min(5vw,1.3rem) !important;
color: #1e8e5a;

font-weight: bold;
width: 100%;
padding: 0;

position: relative;
}


.fixed02.sizecm.red2,
.fixed01 {
z-index: 2;
position: sticky !important;
left: 1px;
}


.fixed01::before,.fixed02.sizecm.red2::before {
content: "";
position: absolute;
top: 0;
left: -2px;

height: 100%;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
width: calc(100% + 4px) !important;
}



.scroll-hint-icon-wrap.is-active {
-webkit-animation: cssAnimation 5.8s forwards;
animation: cssAnimation 5.8s forwards;

}

.scroll-hint-icon-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
max-height: 98%;
pointer-events: none;
}


.scroll-hint-icon {
position: absolute;
top: calc(50% - 25px);
left: calc(50% - 60px);
box-sizing: border-box;
width: 120px;
height: 84px;
border-radius: 5px;
transition: opacity .3s;
opacity: 0;
background: #42474a;
text-align: center;
padding: 20px 10px 10px;
}
.scroll-hint-icon:before {
display: inline-block;
width: 28px;
height: 40px;
color: #fff;
vertical-align: middle;
text-align: center;
content: "";
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
}
 .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
opacity: .8;
}



.scroll-hint-icon-wrap.is-active .ugoku{animation:scroll-hint-appear 1.5s linear;animation-iteration-count:2}




.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
animation: scroll-hint-appear 1.5s linear;
animation-iteration-count: 2;
}
svg.icon.icon-tabler.icon-tabler-arrows-move-horizontal {
position: absolute;
left: 0;
right: 0;
margin: auto;
top: -4px;
color: #fff;
}
svg.icon.icon-tabler.icon-tabler-hand-finger.ugoku {
position: absolute;
left: 0;
right: 0;
margin: auto;
color: #fff;
top: 28%;
}
.scroll-hint-text {
font-size: 11px;
color: #fff;
display: block;
margin: 4px 0;
}



.pop-size-btn {
background: #80b2c9;
display: flex;
align-items: center;
padding: 8px 4px;
border-radius: 90px;
color: #fff;
max-width: 200px;
text-align: center;
justify-content: center;
margin: 15px auto 10px;
}
@-webkit-keyframes bounce {
0%,100%{-webkit-transform:scale(0);transform:scale(0)}
50%{-webkit-transform:scale(1);transform:scale(1)}
}
@keyframes bounce {
0%,100%{-webkit-transform:scale(0);-moz-transform:scale(0);transform:scale(0)}
50%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}
}
@keyframes scroll-hint-appear {
0%{transform:translateX(40px);opacity:0}
10%{opacity:1}
50%,100%{transform:translateX(-40px);opacity:0}
}
@keyframes cssAnimation {
0%{opacity:1}
90%{opacity:1}
100%{opacity:0}
}
@-webkit-keyframes cssAnimation {
0%{opacity:1}
90%{opacity:1}
100%{opacity:0}
}
.sizetitle-oder2 span.id_price5, .ssgl2 {
display: none;
}

table td.red2 {
border: 0;
padding: 0;
height: 62px;
}

.favoritesize-link.bright-colors {
background-color: #999;
}
.red2 {
background: transparent;
background-color: transparent;
}
.sizetitle-oder2 td.red2.highlight-col { background-color: #f6f6f6; }
.sizetitle-oder2 td.red2.highlight-cell { background-color: #f6f6f6; }
.sizetitle-orer-tatami td.red2.selected { background-color: #e7e7e7; }
a.favoritesize-link.bright-colors { /* 強調リンクのデザイン */ }



/* ========================================================================
 * ポップアップ詳細ウィンドウ
 * ======================================================================== */

.photolist-image {
position: fixed;
inset: 0;
background: rgba(0,0,0,.2);
z-index: 999999;
display: flex;
align-items: center;
justify-content: center;
top:0
}


.photolist-image-toggle img {
display: block;
}
.photolist-image[hidden] {
display: none;
}

/* ? iOSタップ保険 */
.photolist-image-toggle {
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
	position: relative;
display: flex;
  align-items: self-start;
}

.photolist-image_container {
position: relative;
  display: inline-block;
  vertical-align: middle;
grid-gap: 8px 32px;
display: flex;
flex-wrap: wrap;
}
.photolist-image_container .photolist-image__ttl {
font-weight: 500;
font-size: min(4.2vw, 1.6rem);
margin-top: 8px;
}
.photolist-image_container .photolist-image_itemlist_liknk {
margin-top: 8px;
text-align: right;
font-size: min(4.4vw,1.3rem);
text-decoration: underline;
}

.photolist-image_container .photolist-image_desc {
font-size: min(3.74vw, 1.2rem);
line-height: 1.6;
display: block;
}
.c-breadcrumb__item-arrow.pop-arrow {
display: initial;
}
.photolist-image .photolist-image-content {
background: #fff;
overflow-y: auto;
padding: 16px;
width: 94%;
max-width: 600px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-height: 400px;
animation: show 0.6s linear 0s;
filter: drop-shadow(0px 2px 6px #777);
}

.closebtn {
cursor: pointer;
user-select: none;
position: absolute;
top: 6px;
right: 6px;
z-index: 10;
font-size: 4rem;
line-height: 1;
padding: 0 8px;
text-shadow: #fff 1px 1px 0, white -1px -1px 0, white -1px 1px 0, white 1px -1px 0, white 0 1px 0, white 0 -1px 0, white -1px 0 0, white 1px 0 0;
width: 90%;
text-align: right;
}

body.is-mobile .photolist-image_container .photolist-image_img {
flex: 1;
max-width: 96px;
min-width: 90px;
}
body.is-mobile .photolist-image_container .photolist-image_img img {
max-width: 96px;
margin: 0;


}



.photolist-image-content.more-wide .photolist-image_container img {
display: block;
margin: 0 auto;

}

/* ========================================================================
 * その他
 * ======================================================================== */
.itempage__desc-tabs-ttl {
display: flex;
flex-wrap: nowrap;
overflow-x: scroll;
border-bottom: 1px solid #ccc;
cursor: pointer;
scrollbar-width: none;
justify-content: space-around;
}
.itempage__desc-tabs-ttl > .itempage__desc-tabs-item {

padding: 0 0 16px;
text-align: center;
}


.color-button02 {
position: relative;
margin: 18px auto;
display: block;
text-align: center;
}
.botandayo {
display: inline-block !important;
box-sizing: border-box;
cursor: pointer;
text-decoration: none;
color: #fff;
border-radius: 4px;
padding: 12px 12px 12px 28px;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: fit-content;
font-size: 14px;
width: auto;
background-color: rgb(136, 0, 0);
position: relative;
}


.botandayo.note-link:before {
background-color: transparent;
border-right: 1px solid #fff;
border-top: 1px solid #fff;
content: "";
height: 10px;
padding: 0;
pointer-events: none;
position: absolute;
top: 12px;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
width: 10px;
left: 14px;
}


.photolist-image-content.more-wide {
max-width: 700px;

padding: 0;
max-height: 90%;
  overflow: auto;



}






/* ========================================================================
 * 商品詳細タブ
 * ======================================================================== */

.itempage_price_tabs {
display: flex;
flex-wrap: wrap;
margin: 0;
margin: 30px 0 30px;
}



.itempage_price_tabs .tab_label {
background: #ececec;
white-space: nowrap;
text-align: center;
padding: 8px;
order: -1;
position: relative;
z-index: 1;
cursor: pointer;
flex: 1;
font-size: min(2.68vw,.86rem);
line-height: 1.6;
letter-spacing: 0.1em;
border: 1px solid #aaa;
}
.itempage_price_tabs .tab_label span {
font-weight: 600 !important;
display: block;
}
.itempage_price_tabs .tab_label span span.tab_content_price_subtxt {
font-size: min(3.9vw,1.1rem);
font-weight: 400 !important;
}
#itemprice_flat .itempage_price_tabs .tab_label span {

}
.itempage_price_tabs .tab_label:not(:last-of-type) {
margin-right: 10px;
}
.itempage_price_tabs .tab_label[for="itemprice_flat"] span span.flat_line {
display: inline-block;
}
.itempage_price_tabs .tab_label[for="itemprice_flat"] span br {
display: none;
}
.itempage_price_tabs .tab_content_price {
width: 100%;
height: 0;
overflow: hidden;
opacity: 0;
}
/* アクティブなタブ */
.itempage_price_tabs .tab_switch:checked+.tab_label {
background: #fff;
border-bottom: none;
}
.itempage_price_tabs .tab_switch:checked+.tab_label+.tab_content_price {
height: auto;
overflow: auto;
padding-top: 15px;
opacity: 1;
transition: .5s opacity;
}
/* ラジオボタン非表示 */
.itempage_price_tabs .tab_switch {
display: none;
}

.tab_content_price_inner #pl_table {
width: 100%;
}


.tab_content_price_inner #pl_table .color1 {
background-color: #f4f4f4;
white-space: nowrap;
padding: 0 6px!important;
}

.tab_content_price_inner #pl_table .wc-tab__spec-table th,
.tab_content_price_inner #pl_table .wc-tab__spec-table td {
font-size: min(3.65vw,1.1rem) !important;
border: 1px solid #ccc;
padding: 12px 8px 12px 12px;
  vertical-align: middle;
  line-height: 1.7;
}

.aoiro {
  color: #0b57d0;
}



.tab_content_price .itempage_price_atntxt,
.page_itemdetail_rs_pricetabletext {
font-size: 11px;
text-align: right;
margin: 5px 0;
}

/*.itempage_price_tabs .tab_label[for="itemprice_eo"] span span.tab_content_price_subtxt {
color: #fa8f00;
}
.itempage_price_tabs .tab_label[for="itemprice_2h"] span span.tab_content_price_subtxt,
.itempage_price_tabs .tab_label[for="itemprice_3h"] span span.tab_content_price_subtxt,
.itempage_price_tabs .tab_label[for="itemprice_flat"] span span.tab_content_price_subtxt {
color: #334c99;
}*/

.itempage_price_tabs .tab_label img.pl_bargain_icon {
position: absolute;
top: -28px;
left: 0;
right: 0;
margin: auto;
}










.keen-slider__slide.active .active-border::before, .keen-slider__slide2.active .active-border::before {
content: "";
position: absolute;
box-sizing: border-box;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: 3.5px solid #fff;
border-radius: inherit;
width: 100%;
height: 100%;
z-index: 1;

}

#img_popup {
position: relative;
}












body.is-desktop #popsize.expanded　.scrollTable {

width: 100%;
}
body.is-desktop #popsize.expanded {
filter: drop-shadow(0px 2px 6px #777);
width: 100% !important;
z-index: 9999;
position: absolute;
max-width: 930px;
background: #fff;
padding: 10px;
animation: show 0.6s linear 0s;
margin: 25% auto 0;
}
body.is-desktop #popsize.expanded .sizescroll {
  overflow: hidden;
}
body.is-desktop #popsize.expanded .main-size-table {

  display: none;
}


.sizetitle-oder2 {

background-color: #ddd;

}

.sizetitle-oder2.enkei-color #click-id .favoritesize-link.id_price5r-color {
    background: #e7e7e7 !important;
}
#click-id {
background: #e7e7e7 !important;

}

.sizetitle-oder2.enkei-color .favoritesize-link.id_price5r-color {
background: #fff;
}
.sizetitle-oder2.enkei-color tr {
background: #e8c8cb;
}

.sizetitle-oder2.enkei-color tr td.red2 {
pointer-events: none;
}

.sizetitle-oder2.enkei-color tr td.red2 .favoritesize-link.id_price5r-color {
pointer-events: initial;
}
id_price5r {
display: none;
}
.sizetitle-oder2 span.id_price5r {

display: none;
}







/* ==========================================================================
 woocommerce-functions/assets/product.css　　　WooCommerce 商品ページ 外部CSS
 ========================================================================== */

.p-product {
/* シェアボタン */
--tcd-share-button-gap-pc: 0.3em;
--tcd-share-button-font-size-pc: 35px;
}

@media (max-width: 767px) {
.p-product {
margin-top: -41px;
}
}

/* ヘッダー */
.p-product-header {
display: grid;
grid-template-columns: 610px 1fr;
column-gap: 60px;
}

@media (max-width: 1200px) {
.p-product-header {
grid-template-columns: 1fr 1fr;
column-gap: 40px;
}
}

@media (max-width: 767px) {
.p-product-header {
grid-template-columns: 1fr;
row-gap: 40px;
}
}

/* 画像ギャラリー wcのflexslider利用 */
.woocommerce-product-gallery {
position: sticky;
top: calc(60px + var(--tcd-header-bar-height, 0px));
/* ナビゲーションの高さをjsで取得してCSS変数化 */
margin-bottom: calc(15px + var(--tcd-wc-gallery-control-nav-height, 0px));
}

.woocommerce-product-gallery__wrapper {
height: inherit;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image:not(.flex-active-slide) {
pointer-events: none;
}

.woocommerce-product-gallery__image img {
width: 100%;
}

@media (max-width: 767px) {
.woocommerce-product-gallery {
position: initial;
top: initial;
margin-block: 0px;
margin-inline: -20px;
}

.woocommerce-product-gallery:has(.flex-control-nav) {
/* ナビゲーションの高さをjsで取得してCSS変数化 */
margin-block: 0px calc(20px + var(--tcd-wc-gallery-control-nav-height, 0px));
}

}

/* ナビゲーション */
.woocommerce-product-gallery .flex-control-nav {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 15px;
margin-top: 15px;
}

.woocommerce-product-gallery .flex-control-nav li {
cursor: pointer;
aspect-ratio: 1;
transition: opacity 0.3s ease;
}

.woocommerce-product-gallery .flex-control-nav img {
width: 100%;
height: 100%;
object-fit: cover;
}

@media (any-hover: hover) {
.woocommerce-product-gallery .flex-control-nav li:hover {
opacity: 0.7;
}
}

@media (max-width: 767px) {
.woocommerce-product-gallery .flex-control-nav {
display: flex;
gap: 10px;
margin-top: 20px;
overflow: auto hidden;
-ms-overflow-style: none;
scrollbar-width: none;
}

.woocommerce-product-gallery .flex-control-nav::-webkit-scrollbar {
display: none;
}

.woocommerce-product-gallery .flex-control-nav:before,
.woocommerce-product-gallery .flex-control-nav:after {
content: "";
display: block;
flex: 0 0 10px;
}

.woocommerce-product-gallery .flex-control-nav li {
flex: 0 0 85px;
}
}

/* 商品サマリー */
.p-product-header-summary {
display: grid;
align-content: start;
row-gap: var(--tcd-wc-product-single-summery-gap, 25px);
align-items: center;
}

.p-product-header-category {}

.p-product-header-title {
font-size: var(--tcd-wc-product-single-title-font-size, 24px);
margin-block: var(--tcd-half-read);
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
text-overflow: ellipsis;
max-width: 800px;
letter-spacing: .3px;
line-height: 1.5;
}


body.is-desktop .p-product-header-title {
-webkit-line-clamp: 1;
}
body.is-mobile  .p-product-header-title {
-webkit-line-clamp: 2;
}

/* 価格 */
.p-product-header-price {
font-size: min(6vw,1.3rem) !important;
}

/* スターレビュー */
.p-product .woocommerce-product-rating {
--tcd-wc-star-rating-margin: 0;
display: flex;
align-items: center;
margin-block: 0px !important;
}

.p-product .woocommerce-product-rating .woocommerce-review-link {
position: relative;
font-size: 12px;
width: 2em;
height: 2em;
border-radius: 50%;
overflow: hidden;
margin-left: 0.5em;
}

.p-product .woocommerce-product-rating .count {
display: grid;
place-items: center;
position: absolute;
inset: 0;
color: #fff;
background: var(--tcd-accent-color);
transition: color 0.3s ease;
}

@media (any-hover: hover) {
.p-product .woocommerce-product-rating .woocommerce-review-link:hover .count {
color: rgba(255, 255, 255, 0.5);
}
}

/* 商品の簡単な説明 */
.p-product .woocommerce-product-details__short-description {
margin-block: 20px;
}

@media (max-width: 767px) {
.p-product-header-summary {
row-gap: var(--tcd-wc-product-single-summery-gap-sp, 20px);
}

.p-product-header-title {
font-size: var(--tcd-wc-product-single-title-font-size-sp, 20px);
}

.p-product .woocommerce-product-details__short-description {
margin-block: 10px;
}
}

/* カートに入れる ベース */
.p-product-header-summary .cart .quantity:has(+button) {
margin-bottom: 40px;
}

/* 1回の注文につき1商品に購入を制限の場合は非表示 */
.p-product-header-summary .cart .quantity:has(input[type="hidden"][name="quantity"]) {
display: none;
}

@media (max-width: 767px) {

/* カートボタンを中央寄せ */
.p-product-header-summary :is(.cart, .out-of-stock) {
--tcd-button-margin: 0 auto;
}

.p-product-header-summary .cart .quantity:has(+button) {
width: fit-content;
margin-inline: auto;
margin-bottom: 30px;
}
}

/* 基本的な商品 */
.product-type-simple .p-product-header-summary .out-of-stock {
display: grid;
place-items: center;
width: fit-content;
min-width: var(--tcd-button-min-width, 280px);
height: var(--tcd-button-height, 60px);
font-size: var(--tcd-button-font-size, 16px);
color: #fff;
background: #ccc;
border-radius: calc(infinity * 1px);
margin: var(--tcd-button-margin);
}

/* バリエーション */

/* 商品説明無い時、バリエーションフォームの上部を少し空ける */
.product-type-variable .p-product-header-summary .p-product-header-price+.variations_form {
margin-top: 10px;
}

.product-type-variable .p-product-header-summary .variations {
--tcd-wc-select-height: 50px;
--tcd-wc-select-padding: 0px 20px;
}

.product-type-variable .p-product-header-summary .variations .label {
display: block;
text-align: left;
font-size: 16px;
line-height: 1.4;
font-weight: normal;
margin-block: var(--tcd-half-read) calc(10px + var(--tcd-half-read));
}

.product-type-variable .p-product-header-summary .variations .value {
display: block;
}

.product-type-variable .p-product-header-summary .variations tr:has(+tr) .value {
margin-bottom: 20px;
}

.product-type-variable .p-product-header-summary .variations .reset_variations {
opacity: 0;
font-size: 14px;
color: var(--tcd-accent-color);
margin-left: 10px;
}

/* 一瞬クリアが表示される対策 */
body.is-ready .product-type-variable .p-product-header-summary .variations .reset_variations {
opacity: 1;
}

.product-type-variable .p-product-header-summary .woocommerce-variation>* {
margin-top: 20px;
}

.product-type-variable .p-product-header-summary .woocommerce-variation-description {
line-height: 2;
}

.product-type-variable .p-product-header-summary .woocommerce-variation-price {
font-size: 20px;
}

.product-type-variable .p-product-header-summary .woocommerce-variation-availability {
color: #d90000;
}

.product-type-variable .p-product-header-summary .woocommerce-variation-add-to-cart {
margin-top: 40px;
}

@media (max-width: 767px) {

.product-type-variable .p-product-header-summary .variations {
font-size: 14px;
--tcd-wc-select-width-sp: 100%;
--tcd-wc-select-height-sp: 50px;
}

.product-type-variable .p-product-header-summary .variations .label {
display: table-cell;
font-size: inherit;
width: 80px;
padding-right: 10px;
}

.product-type-variable .p-product-header-summary .variations .reset_variations {
display: block;
width: fit-content;
margin-top: 10px;
margin-left: auto;
}

/* クリアボタン非表示時のマージン対策 */
.product-type-variable .p-product-header-summary .variations .reset_variations[style*="hidden"] {
position: absolute;
pointer-events: none;
}

.product-type-variable .p-product-header-summary .woocommerce-variation-add-to-cart {
margin-top: 30px;
}
}

/* グループ化された商品 */
.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list {
--tcd-wc-number-width: 60px;
--tcd-wc-number-height: 45px;
--tcd-wc-number-font-size: 14px;
--tcd-wc-number-padding: 10px;
margin-bottom: 40px;
}

.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list-item__quantity {
vertical-align: middle;
}

.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list-item__label {
padding: 15px 10px;
font-weight: 600;
line-height: 1.4;
}

.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list-item__price {
vertical-align: middle;
}

.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list-item__price .out-of-stock {
color: #d90000;
margin-top: 10px;
}

@media (max-width: 767px) {
.product-type-grouped .p-product-header-summary .woocommerce-grouped-product-list {
font-size: 14px;
margin-bottom: 25px;
}
}


/* いいねボタン */
.p-product-like {
display: grid;
align-items: center;
grid-template-columns: auto 1fr;
column-gap: 5px;
width: fit-content;
line-height: 1.4;
font-size: 16px;
margin-block: calc(5px + var(--tcd-half-read)) var(--tcd-half-read);
}

.p-product-like:before {
content: "";
width: 1.3em;
height: 1.3em;
background: var(--tcd-accent-color);
mask: var(--tcd-icon--heart) no-repeat center / 1.4em;
}

.p-product-like.is-liked:before {
mask-image: var(--tcd-icon--heart-fill);
}

.p-product-like.is-liked .p-product-like-add,
.p-product-like:not(.is-liked) .p-product-like-remove {
display: none;
}

@media (any-hover: hover) {
.p-product-like:hover {
opacity: 0.7;
}
}

@media (max-width: 767px) {
.p-product-like {
font-size: 14px;
margin-inline: auto;
margin-top: calc(10px + var(--tcd-half-read));
}
}

/* メタ情報 */
.p-product-header-summary-product-share-button {
--tcd-share-button-font-size-pc: 35px;
--tcd-share-button-justify-content: start;
}

@media (max-width: 767px) {



.p-product-header-summary-product-share-button {
margin-top: 10px;
--tcd-share-button-justify-content: center;
}
}



/* タブコンテンツ */
.p-product-tabs {
display: grid;
align-content: start;
row-gap: 120px;
margin-top: 120px;
}

.p-product-tabs-section-title {
font-size: 24px;
text-align: center;
line-height: 1.6;
border: 1px solid #ddd;
}

.p-product-tabs-section-title-text {
display: block;
width: fit-content;
padding-block: calc(22px + var(--tcd-half-read));
border-top: 5px solid var(--tcd-accent-color);
margin-inline: auto;
margin-block: -1px -2px;
}

@media (max-width: 767px) {
.p-product-tabs {
row-gap: 40px;
margin-top: 40px;
}

.p-product-tabs-section-title {
font-size: 16px;
}

.p-product-tabs-section-title-text {
padding-block: calc(20px + var(--tcd-half-read));
margin-block: -1px 1px;
}
}

/* 説明 */
.p-product-tabs-section-content-description {
margin-top: 60px;
}

@media (max-width: 767px) {
.p-product-tabs-section-content-description {
margin-top: 30px;
}
}

/* 追加情報テーブル */
.p-product-tabs-section-content-additional_information {
font-size: 16px;
padding: 30px;
border: 1px solid #ddd;
margin-top: -1px;
}

.p-product-tabs-section-content-additional_information table.shop_attributes {
border-top: none;
margin-bottom: 0;
}

.p-product-tabs-section-content-additional_information table.shop_attributes th {
width: 200px;
font-weight: 600;
padding: 20px 10px;
background: #f8f8f8;
border-bottom: 1px solid #ddd;
}

.p-product-tabs-section-content-additional_information table.shop_attributes td {
font-style: initial;
background: #f8f8f8;
border-bottom: 1px solid #ddd;
}

.p-product-tabs-section-content-additional_information table.shop_attributes tr:last-child :is(th, td) {
border-bottom: none;
}

.p-product-tabs-section-content-additional_information table.shop_attributes td {
padding: 10px;
}

@media (max-width: 767px) {
.p-product-tabs-section-content-additional_information {
font-size: 14px;
padding: 20px;
}

.p-product-tabs-section-content-additional_information table.shop_attributes th {
width: 100px;
padding-block: 15px;
}

.p-product-tabs-section-content-additional_information table.shop_attributes td p {
padding-block: 15px;
}
}

/* レビュー */
.p-product-tabs-section-content-reviews {
margin-top: -1px;
}

/* レビュー一覧 */


.p-product-review-list ol {
display: grid;
align-content: start;
row-gap: 30px;
    margin: 0 auto 40px;
}

.wcpr-stars-count .wcpr-row .wcpr-col-rank-count {
width: 7%;
    max-width: 50px;
}
.wcpr-stars-count .wcpr-row .wcpr-col-process {
    max-width: calc(100% - 7% - 6.6em);

}
.p-product-review-list-item-meta {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 25px;
font-size: 14px;
--tcd-wc-star-rating-margin: -2px 0 0;
}

.p-product-review-list-item-meta .meta {
display: flex;
flex-wrap: wrap;
gap: 15px;
}

.p-product-review-list-item-meta .woocommerce-review__verified,
.p-product-review-list-item-meta .woocommerce-review__dash {
display: none;
}

.p-product-review-list li .description {
font-size: 16px;
line-height: 2.4;
margin-block: var(--tcd-half-read);
}

.p-product-review-list .woocommerce-pagination {
margin-top: 30px;
}

.p-product-review-list .woocommerce-noreviews {
text-align: center;
}


.wcpr-grid.wcpr-masonry-style .wcpr-grid-item {
    max-width: 640px;
    margin: 0 auto 5vh;
    padding: 0;
    box-shadow: 3px 4px 8px rgba(0, 0, 0, .2);
}
.reviews-images-container {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    margin: 0 auto;
    box-shadow: 0 0 10px #555;
    border: 6px solid #fff;;
}
.review-content-container {
    padding: 15px 15px 20px;
display: grid;
    gap: 12px;
}
.review-campaign {
    border: 2px solid #80b2c9;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 4px;
    position: relative;
    text-align: center;
    margin: 0 auto 15px;
    width: 88%;
    max-width: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.review-campaign::before {
    border: 8px solid transparent;
    border-top-color: transparent;
    border-top-color: #80b2c9;
    content: "";
    height: 0;
    position: absolute;
    width: 0;
    bottom: calc(50% - 35px);
    left: 0;
    right: 0;
    margin: auto;
}
.review-campaign::after {
    border: 7px solid transparent;
    border-top-color: transparent;
    border-top-color: #fff;
    content: "";
    height: 0;
    position: absolute;
    bottom: calc(50% - 31px);
    width: 0;
    left: 0;
    right: 0;
    margin: auto;
}

div#wcpr_thank_you_message {
    padding: 12px 15px;
max-width: 900px;
}
.review-content-container-top-right {
    display: grid;
    gap: 8px;
}
.wcpr-grid.wcpr-masonry-style .wcpr-grid-item:nth-last-child(2) {
    margin-bottom: 0;
}
@media (max-width: 767px) {

.p-product-review-list {
font-size: 14px;
padding: 0;
}

.p-product-review-list ol {
row-gap: 20px;
}



.p-product-review-list-item-meta {
margin-bottom: 20px;
--tcd-wc-star-rating-margin: -2px 0 0;
}

.p-product-review-list-item-meta .meta {
gap: 10px;
}

.p-product-review-list li .description {
font-size: 14px;
}

.p-product-review-list .woocommerce-pagination {
margin-top: 20px;
}
}

/* レビューフォーム */
.p-product-review-form-wrapper {
padding: 30px;
border: 1px solid #ddd;
margin-top: -1px;
line-height:normal;
}

.p-product-review-form {
text-align: center;
}

.p-product-review-form .comment-reply-title {
    display: flex;
    justify-content: center;
    align-items: center;
font-size: 20px;
font-weight: 600;
line-height: 1.8;
margin-block: calc(10px + var(--tcd-half-read)) calc(25px + var(--tcd-half-read));
color: var(--tcd-accent-color);
}

svg.svg.svg-reply-title {
    margin-right: 5px;
}
.p-product-review-form-desc {
font-size: 16px;
line-height: 1.8;
margin-block: var(--tcd-half-read) calc(20px + var(--tcd-half-read));
}



.p-product-review-form .comment-form-rating .stars {
width: fit-content;
font-size: 18px;
color: var(--tcd-accent-color);
margin-inline: auto !important;
}

.p-product-review-form .comment-form-rating .stars>span {
display: flex;
}

.p-product-review-form .comment-form-rating .stars>span a {
width: 1.2em;
}

.p-product-review #review_form #respond p {
margin: 0;
    position: relative;
}
.wcpr-custom-fields-wrap,
.p-product-review-form .comment-form {
display: grid;
align-content: start;
row-gap: 30px;
}
.wcpr_image_upload_button {
    padding: 0;
    background-color: transparent;
    border: unset;
    display: inline-flex;
    align-items: center;
}
.wcpr-comment-form-images .wcpr-input-file-container .wcpr-input-file-wrap .wcpr_image_upload_button::before {
  width: 60px;
  height: 60px;

  background-size: 30px;
background-color: #fff;
margin-right: 15px;
    padding: 15px;
    mask-size: 40px;
    border: solid 1px #c3c3c3 !important;
    border-radius: 6px;
    display: block;
}

.p-product-review #review_form #respond textarea {
padding: 0.6em 1em;
line-height: 1.4;
height: 140px;
border: 1px solid #ddd;
width: 70%;
}
body.is-mobile .p-product-review #review_form #respond textarea {
width: 100%;
margin: 10px 0 0;
}
.p-product-review #review_form #respond .form-submit input[type="submit"] {
display: grid;
place-items: center;
width: fit-content;
min-width: 280px;
height: 60px;
font-size: 16px;
font-weight: initial;
color: var(--tcd-accent-color);
background: transparent;
padding-inline: 20px;
border: 1px solid var(--tcd-accent-color);
border-radius: calc(infinity * 1px);
margin-inline: auto;
}

@media (any-hover: hover) {

.p-product-review #review_form #respond .form-submit input[type="submit"]:hover {
color: #fff;
background: var(--tcd-accent-color);
border: 1px solid var(--tcd-accent-color);
}
}

@media (max-width: 640px) {

.p-product-review-form-wrapper {
padding: 20px 8px;
width: calc(100% + 10px) !important;
        margin: 0px -5px !important;
}

.p-product-review-form .comment-reply-title {
font-size: 18px;
}

.p-product-review-form-desc {
font-size: 14px;
}



.p-product-review #review_form #respond .form-submit input[type="submit"] {
min-width: 250px;
font-size: 14px;
padding-inline: 1em;
margin-top: -10px;
}
}

/* 非会員のレビュー投稿メッセージ */
.p-product-review-verification-required {
font-size: 16px;
line-height: 1.8;
text-align: center;
padding: calc(30px + var(--tcd-half-read)) 30px;
border: 1px solid #ddd;
margin-top: -1px;
}

@media (max-width: 767px) {

.p-product-review-verification-required {
font-size: 14px;
padding: calc(20px + var(--tcd-half-read)) 20px;
}
}

/* アップセル、関連商品 */
.p-product-tabs-section-content-up-sells,
.p-product-tabs-section-content-related {
--tcd-wc-product-cards-col: 4;
margin-top: 30px;
}

/* 最近チェックした商品 */

.p-product-tabs-section-content-wishlist,
.p-product-tabs-section-content-recently-viewed {
--tcd-wc-product-cards-col: 5;
--tcd-wc-product-cards-image-margin: 0 0 20px;
--tcd-wc-product-cards-title: 14px;
--tcd-wc-outofstock-font-size: 14px;
font-size: 14px;
margin-top: 30px;
}


@media (max-width: 767px) {

.p-product-tabs-section-content-up-sells,
.p-product-tabs-section-content-related {
margin-top: 20px;
}

.p-product-tabs-section-content-recently-viewed {
margin-top: 20px;
}
}



.wcpr-comment-form-notify {
  color: #456083;
  display: inline-block;
}


.display-none {
  display: none;
}


.comment-form-rating-radios {
  display: flex;
  justify-content: space-evenly;
	margin-bottom: 30px;
}
body.is-mobile .comment-form-rating-radios {
    justify-content: space-between;
}
.comment-form-rating-radios input {
  display: none;
}

.rating-text {
  display: block;
font-size: min(3vw, 16px) !important;
}
.rating-1::before,
.rating-2::before,
.rating-3::before,
.rating-4::before,
.rating-5::before {
  font-family: star;
color: #c6cccf;
line-height: 2;
    font-size: min(4.8vw, 20px) !important;
}


.rating-1::before {
content: "\e021";
}



.rating-2::before {
content: "\e021\e021";
}

.rating-3::before {
content: "\e021\e021\e021";
}


.rating-4::before {
content: "\e021\e021\e021\e021";
}


.rating-5::before {
content: "\e021\e021\e021\e021\e021";

}


.comment-form-rating-radios #rating-1:checked ~ .rating-1::before {
  content: "\e020";
}
.comment-form-rating-radios #rating-2:checked ~ .rating-2::before {
  content: "\e020\e020";
}

.comment-form-rating-radios #rating-3:checked ~ .rating-3::before {
  content: "\e020\e020\e020";
}

.comment-form-rating-radios #rating-4:checked ~ .rating-4::before {
  content: "\e020\e020\e020\e020";
}


.comment-form-rating-radios #rating-5:checked ~ .rating-5::before {
  content: "\e020\e020\e020\e020\e020";
}
.comment-form-rating-radios #rating-2:checked ~ .rating-2 .rating-text, .comment-form-rating-radios #rating-3:checked ~ .rating-3 .rating-text, .comment-form-rating-radios #rating-4:checked ~ .rating-4 .rating-text, .comment-form-rating-radios #rating-5:checked ~ .rating-5 .rating-text {
color: #0ca6aa;

}


.wcpr-input-file-wrap.minyuuryoku button.wcpr_image_upload_button,
select.minyuuryoku,
input.minyuuryoku,
.minyuuryoku input,
.minyuuryoku textarea,
.minyuuryoku select {
  border-color: #e60033 !important;
  background-color: #fffafa;
transition: background-color 0.2s, outline 0.2s;
}




.comment-form-rating span.required-text,
label.required-text {
    display: flex;
    align-items: center;

}


.comment-form-rating span.required-text::after,
.wcpr-custom-field-name::after,
.wcpr-custom-field-name::after,
label.required-text::after {
    content: "必須";
    background: #f66;
    color: #fff;
    padding: 1px 3px;
    margin: 0 0 0 10px;
    font-size: .7rem;
    line-height: normal;
    text-shadow: none;
}


.wcpr-input-file-container--pc-info-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    position: relative;
}

.wcpr-input-file-container.wcpr-input-file-container--pc-slot {
    flex: 0 1 calc((100% - 24px) / 3);
position: relative;
  display: inline-block;
  padding: 10px 14px;
  text-align: center;
  background: repeating-linear-gradient(-45deg,rgba(0,0,0,.03),rgba(0,0,0,.03) 7.5px,transparent 0,transparent 15px);
  background-color: #fafafa;
  border: dashed 3px #bbb;
  cursor: pointer;
  margin: 0;
}
.om_drop_text.required-text {
  line-height: 2;
}


.wcpr-input-file-container--pc-info-wrap .wcpr-input-file-container .wcpr-input-file-wrap .wcpr-selected-image-container {
  display: block;
  margin: auto;
  text-align: center;
}


.wcpr-input-file-container--pc-info-wrap .wcpr-selected-image-preview {
  max-height: 150px;
}
.om_drop_text,
.wcpr-selected-image-info {
  line-height: 2;
}
.select-close {
  color: red;
  font-size: min(3.8vw,15px) !important;
  padding: 6px 0 0;
  line-height: normal;
}
.wcpr-selected-image {
  max-width: initial;
  width: auto;

}


.wcpr-input-file-wrap .wcpr_image_upload_button:before {
    content: "";
    background: url(https://bomba.jp/store/wp-content/plugins/woocommerce-photo-reviews/images/add-photo-bigger.svg) no-repeat center / contain;

}

.wcpr-comment-form-images .field-inner {
  background: #111 !important;
  color: #fff !important;
  padding: 10px;
  border-radius: 4px;
}
.wcpr-custom-fields-wrap,
.p-product-review #review_form #respond p,
.comment-form-comment,
.wcpr-comment-form-title.comment-form-comment.bottom-px,
p.comment-form-email.comment-form-comment,
p.comment-form-comment.comment-form-author,
.wcpr-custom-field {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
	margin: 0;
    display: flex;
    justify-content: center;
flex-wrap: wrap;
    width: 100%;
}

body.is-mobile .p-product-review #review_form #respond p,
body.is-mobile .comment-form-comment,
body.is-mobile .comment-form-comment,
body.is-mobile .wcpr-comment-form-title.comment-form-comment.bottom-px,
body.is-mobile p.comment-form-email.comment-form-comment,
p.comment-form-comment.comment-form-author,
body.is-mobile .wcpr-custom-field {
justify-content: start;

}


body.is-mobile input#comment-form-review5-input,
body.is-mobile .wcpr-custom-field-input select.nobino,
body.is-mobile input#comment-form-review1-input,
body.is-mobile input#comment-title,
body.is-mobile input#email,
body.is-mobile input#author {
margin: 10px 0;
    width: 100%;

}

body.is-mobile .wcpr-custom-field .wcpr-custom-field-input > div {

    width: 100%;
}

div#review_form {
    max-width: 900px;
    margin: 0 auto;

}
.wcpr-custom-field .wcpr-custom-field-input,
input#comment-form-review5-input,
.wcpr-custom-field-input select.nobino,
input#comment-form-review1-input,
input#comment-title,
input#email,
input#author {
    background: #fff;
    border: 1px solid #ddd;
    height: 42px;
    padding: 0 8px;
    width: 72%;
color: #767676;
}
.wcpr-custom-field .wcpr-custom-field-input {
    padding: 0;
    border: 0;
    margin: 10px 0;

}

body.is-mobile .wcpr-custom-field .wcpr-custom-field-input {
    width: 100%;
}


.wcpr-custom-field-input .wcpr-custom-field-input-value select.nobino,
.wcpr-custom-field-input .wcpr-custom-field-input-value input#comment-form-review1-input.nobino {
width: 100%;
    font-size: initial;
}
.comment-form-comment label,
label.required-text,
.wcpr-custom-field-name {
    flex: 0 0 12em;
	text-align: left;
    display: flex;
    align-items: center;
}

div#wcpr_thank_you_message p {
    font-size: min(4.8vw, 20px) !important;
    line-height: 1.8;
    text-align: justify;
}
span.required,
.p-product-review #review_form #respond p.comment-notes {
    display: none;
}


.wcpr-custom-fields {
    row-gap: 30px;
    display: grid;

}

.comment-form-rating {
    gap: 10px;
    display: grid;
padding-top: 20px;
}

span.hikoukai {
    position: absolute;
right: 26px;
    margin: auto;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%,-50%);
    padding-left: 20px;
    font-size: 11px;
}
body.is-mobile span.hikoukai {
    top: 14px;
    right: 0;
    left: auto;
}



div#reviews-content-left-modal {
    width: 100% !important;
}



.woocommerce #reviews #comments h2 {
  font-size: min(7vw,32px) !important;
}
.wcpr-overall-rating-right .wcpr-overall-rating-right-star .star-rating {

  font-size: min(6.5vw,26px) !important;
}

.wcpr-overall-rating-right .wcpr-overall-rating-right-star .c-wc-rating {
padding: 0 0 10px;

}

body.is-desktop #comments .wcpr-overall-rating-and-rating-count  {
  display: flex !important;
  justify-content: center;

}
#comments .wcpr-overall-rating-and-rating-count {
  gap: 20px;
  width: 100%;

  padding: 0;
  align-items: center;
  width: 100%;
  margin: 0 auto;

}
.wcpr-overall-rating-left {
  font-size: min(6vw,24px) !important;
  padding: 13px 10px !important;
}

.wcpr-filter-button.wcpr-filter-button-images, .wcpr-filter-button-wrap {
  max-width: 200px;
  width: fit-content;
  min-width: 160px;
}
.wcpr-stars-count {
  flex: 1;
}

.p-product-review-list .wcpr-filter-button-li {
  padding: 0;
}
li.wcpr-filter-button-li,
.wcpr-filter-container .wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul .wcpr-filter-button-li a.wcpr-filter-button {

  width: 100% !important;
}

.delete-location-information {
display: inline-block;
  background: #fbf8f0;
  border-radius: 8px;
  padding: 12px;
  font-size: min(3.68vw,15px);

margin: 20px auto 0;
  text-align: justify;

}

.wcpr-comment-form-images span {
  padding: 0 0 15px;
  display: block;
}
.wcpr-comment-form-images span.required {
  display: none;
}


.wcpr-filter-button.wcpr-filter-button-verified {
  display: none;
}
.sp-note-link.button-link {
  background-color: #eee;
  padding: 8px 10px;
  text-align: center;
  margin: 0 auto;
  line-height: normal;
  border-radius: 20px;
}
.sp-button-link {
  display: block;
  text-align: center;
  padding: 10px 0 18px;
}


.wcpr-comment-form-images .wcpr-input-file-wrap .wcpr-selected-image {

  width: 100%;
  max-width: 250px;
}