@charset "UTF-8";



:root,
::before,
::after{
--tcd-half-read: calc((1em - 1lh) / 2);
--tcd-line-clamp: 1;
}



form .inline-radio input{
overflow: hidden;
opacity: 0;
}



#order-cart-size,
.is-center{
text-indent: inherit;
clear: both
}

.inline-radio input,
.inline-radio label,
.photolist-image-toggle{
-webkit-tap-highlight-color: transparent
}

.counterGroupBtn,
.keen-slider__slide.number-slide,
.photolist-image_container,
.scroll-hint-icon:before,
.sizetitle-oder2 th,
.slider-list-img,
.sml-l{
vertical-align: middle
}

body.single-product .l-main{
row-gap: 20px
}



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

body.is-mobile .l-productLayout-top{
width: calc(100% + 18px);
margin: 0 -9px;
}

@media (max-width: 767px) {.l-productLayout-top{
width: calc(100% + 18px);
margin: 0 -9px;
}}

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

/**
 * ✅ 商品ページ スライダー
 */
img.number-slide.main-img.cm-thumb-real-lazy[data-cm-src],

button.bpr-modal-thumb img[loading="lazy"],
img.bpr-real-lazy[loading="lazy"],
img.thumbnails-items[loading="lazy"],
img.color-check.tibi[loading="lazy"] {
    aspect-ratio: 1 / 1; /* 正方形ベースの商品画像等の場合。必要に応じて 4 / 3 などに変更 */
    width: 100%;
    height: auto;
    object-fit: cover;
}


body.is-mobile img.main-sl-img.number-slide.main-img.delayed-image-class.cm-main-real-lazy[data-cm-src] {
aspect-ratio: 600 / 0;
	width: 100%;
    height: auto;
    object-fit: cover;
}

img.bsp-lazy-fade[data-bsp-src] {
aspect-ratio: 618 / 0;
	width: 100%;
    height: auto;
    object-fit: cover;
}

#in-slider .p-wc-template-loop-outofstock{
position: absolute;
inset: 0 0 auto;
}

/**
 * ✅ 商品ページ スライダー
 */
.slider-list:not([data-keen-slider-disabled]){
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
display: flex;
position: relative;
align-content: flex-start;
justify-content: flex-start;
touch-action: pan-y;
-khtml-user-select: none;
margin-bottom: 8px;
flex-wrap: nowrap;
width: 100%;
vertical-align: middle;
overflow: hidden;
white-space: nowrap;
}
.bx-caption-wrap{
width: 100%;
margin: auto;
text-align: center;
height: 100%;
display: flex;
align-items: center;
}
.bx-caption{
line-height: normal;
margin: auto;
display: flex;
width: fit-content;
padding: 3px 15px;
border-radius: 20px;
background: rgba(255,255,255,.6);
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(3.5vw,14px);
text-align: center;
position: absolute;
left: 0!important;
right: 0!important;
bottom: 12px;
z-index: 1;
}

.keen-slider__slide.slider-list-img{
width: 100%;
height: 100%;
max-width: 100%;
flex-shrink: 0;
position: relative;
transform: translate3d(0px, 0px, 0px);
}

body.is-mobile ul#thumbnails.slider-list-thumbnails.thumbnail{
margin: 0 auto 0 0;
align-content: flex-start;
display: flex;
flex-wrap: nowrap;
width: 100%;
}



.keen-slider__slide.number-slide.no-length{
margin-right: 0 !important;
}

@media screen and (max-width: 767px) {.keen-slider__slide.slide-li.number-slide:nth-child(2){ transform: translate3d(9px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(3){ transform: translate3d(18px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(4){ transform: translate3d(27px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(5){ transform: translate3d(36px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(6){ transform: translate3d(45px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(7){ transform: translate3d(54px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(8){ transform: translate3d(63px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(9){ transform: translate3d(72px, 0px, 0px);}.keen-slider__slide.slide-li.number-slide:nth-child(10){ transform: translate3d(81px, 0px, 0px);}}

.slider-list-thumbnails .keen-slider__slide.active .active-border::after{
z-index: 1;
box-sizing: border-box;
border: 2px solid #49c087;
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;

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


body.is-desktop #in-slider{
user-select: none;
width: 100%;
max-width: 760px;
max-height: 504px;

}
body.is-desktop ul#thumbnails.slider-list-thumbnails.thumbnail{
display: flex;
flex-wrap: wrap;
position: relative;
}
body.is-desktop .keen-slider__slide.slide-li.number-slide{
position: relative;
margin: 0 8px 8px 0 !important;
transform: translate3d(0, 0, 0) !important;
flex: 0 0 calc(12.5% - 7px) !important;
cursor: pointer;
z-index: 1;
}
body.is-desktop .keen-slider__slide.slide-li.number-slide img.main-img{
position: relative;
}
img.number-slide.main-img{
position: relative;
max-width: 100%;
max-height: 504px;
display: flex;
object-fit: cover;
bottom: 0;
top: 0;
width: 100%;
right: 0;
left: 0;
}

.keen-slider__slide.slide-li span.active-border {
background-size: min(4vw, 20px);
display: block;
}
@keyframes cm-image-switch {
	0% {
		opacity: .15;
	}
	35% {
		opacity: .4;
	}
	70% {
		opacity: .75;
	}
	100% {
		opacity: 1;
	}
}

#in-slider img.cm-image-switch,
#thumbnails img.cm-image-switch {
	animation: cm-image-switch 1.2s ease-out both;
}
@media screen and (min-width: 768px) {.slider-list-thumbnails:not([data-keen-slider-disabled]){
max-width: 760px;
flex-wrap: wrap;
height: auto;
justify-content: start;
margin: 0 auto 0 0;
align-content: flex-start;
display: flex;
}}
body.is-desktop .slider-thumbnail1 .keen-slider__slide.number-slide:nth-of-type(8n){
margin: 0 0 8px !important;
}

.slider-list-thumbnails:not([data-keen-slider-disabled]){
align-items: center;
}
.keen-slider__slide.slide-li .number-slide.main-img,
.keen-slider__slide.slider-list-img .main-sl-img{
animation: fadeIn .4s ease-in forwards;
}

@keyframes fadeIn {0%{
opacity: 0;
}100%{
opacity: 1;
}}


#thumbnails>.keen-slider__slide.slide-li.number-slide{
flex:0 0 calc((100% - 49.5px)/6.5);min-width:calc((100% - 49.5px)/6.5);max-width:calc((100% - 49.5px)/6.5);
position: relative;
}

@media(min-width:540px){#thumbnails>.keen-slider__slide.slide-li.number-slide{
flex-basis:calc((100% - 58.5px)/7.5);min-width:calc((100% - 58.5px)/7.5);max-width:calc((100% - 58.5px)/7.5);
position: relative;
}}

@media(min-width:768px){#thumbnails>.keen-slider__slide.slide-li.number-slide{
flex-basis:calc((100% - 56px)/8);min-width:calc((100% - 56px)/8);max-width:calc((100% - 56px)/8);
position: relative;
}}

#thumbnails>.keen-slider__slide.slide-li .number-slide.main-img{
min-width:calc((100% - 49.5px)/6.5);
}

@media(min-width:540px){#thumbnails>.keen-slider__slide.slide-li .number-slide.main-img{
min-width:calc((100% - 58.5px)/7.5);
}}

@media(min-width:768px){#thumbnails>.keen-slider__slide.slide-li .number-slide.main-img{
min-width:calc((100% - 56px)/8);
}}

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



body.is-mobile .pop-size-btn{
display: none;
}


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

#error-return,
#img_popup,
.tab4-body,
.woocommerce-product-gallery .flex-control-nav li,
body.is-mobile .function-bnr,
body.is-mobile .molecules-goods-list,
body.is-mobile .system-product{
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 #img_popup.function-bnr::after,
body.is-mobile .function-bnr::after,
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: .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 .3s
}

body.is-desktop .system-product{
display: grid;


grid-template-columns: 59.375% 38.28125%;
gap: clamp(0px, 2.34375%, 30px);
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: minmax(0, 760px) 1fr;
width: 100%;

}

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;
min-height: 1400px;
}

.theiaStickySidebar{
display: grid;
row-gap: var(--tcd-wc-product-single-summery-gap, 15px)
}

body.is-desktop .p-product-section{
display: grid;
align-content: start;
row-gap: 120px;
margin-top: 120px
}

body.is-mobile .p-product-section {
display: grid;
align-content: start;
row-gap: 80px;
margin-top: 80px;
}


.woocommerce-product-gallery.woocommerce-product-gallery--with-images.images{
position: relative;
top: 0
}

#max_price,
#min_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
}

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

position: relative
}

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

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

.flex-viewport{
height: 71.16vw;
max-height: 504px
}

.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
}

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
}

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

.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;
min-height: 290px;
}

.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, .3)
}

.header-title h1,
.p-product-header-title{
font-size: min(4vw, 19px) !important
}

.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)
}

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

.p-product-header-title{
font-size: min(4vw,19px) !important;
max-width: 59%;
display: block;
text-align: justify;
line-height: normal;
display: -webkit-box;
-moz-box-orient: vertical;
overflow: hidden;
word-break: break-all;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
letter-spacing: .3px;
}

body.is-mobile .p-product-header-title{
max-width: 100%;
}

span.tooltip_btn,
.mon{
font-weight: bold;
}
.kasuji,
.kasuji2{
text-align: center
}

#shop-cart,
.arrival-date-content,
.joji,
.kasuji,
.kasuji2,
span.lukoi{
display: block
}

.header-title,
.p-product-header-summary,
.p-product-header-title{
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
animation: none !important;
transition: none !important
}

div#tab-description .tcdce-body p{
padding: 0 2px 18px
}

.arrival-date-content{
font-size: min(2.68vw, 12px)
}

.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
}

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

.kasuji{
font-size: 12px;
padding-bottom: 8px
}

.kasuji2{
font-size: min(4.2vw, 16px);
font-weight: 700
}

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

.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: 700;
letter-spacing: -.01rem
}

.p-product-header-price::after{
content: "（税込み）";
font-size: 11px;
font-weight: 400
}

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;

position: absolute;
right: 0;
width: 100%;
justify-content: end;

max-width: 38%;
}

.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
}

.h1-title.lastChild::after,
.mon::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%
}

.inline-radio,
.sizetitle-oder2 td.red2 a,
.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
}

.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{
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: 6px 0 16px;
width: max-content;
height: 26px;
justify-content: center;
padding: 0 6px 0 0 !important;
border: 1px solid #ccc !important;
border-radius: 15px;
font-size: min(3vw, .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: 0 3px 14px -2px rgba(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 #size-list,
body.is-mobile .p-cart-form-option-wide{
width: calc(100% + 2.8%);
margin: 0 -1.4%;
}

.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 0
}

.sample_send-title,
.sample_send-title2 {
margin: 0 auto 15px;
line-height: 2;
position: relative;
padding: 16px 10px;
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--tcd-accent-color);
color: var(--tcd-base-font-color) !important;
}

.ahoka2,
.send_wrapper button{
background: #333;
padding: 10px 0;
cursor: pointer;
color: #fff
}

.sample_send-title2::before,
.sample_send-title::before {
display: block;
font-size: 16px;
text-align: center;
margin: 0 !important;
background: 0 0;
font-weight: 700;
color: var(--tcd-base-font-color) !important;
}

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

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

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

.sample_send-title2::before{
content: "見積り依頼はこちら【図面添付】" !important;
top: -8px;
position: relative
}
.sample_send_wrapper-contens,
#shop-cart2{
padding: 15px 12px 20px
}

#shop-cart3{
padding: 0 12px 20px
}

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

.ahoka2,
.sample_tips{
margin: 0 auto;
text-align: center
}

.ahoka2{
border: none;
display: block;
border-radius: 32px;
min-width: 250px;
height: 45px
}

.send_wrapper button{
border: none;
display: block;
text-align: center;
border-radius: 32px;
margin: 0 0 10px;
font-size: 13px
}

.get_wrapper{
max-height: 0;
overflow: hidden;
transition: max-height .4s
}

.get_wrapper.open{
border-radius: 10px;
max-height: 1000px;
box-shadow: -2px 4px 16px 2px rgba(0, 0, 0, .46)
}

.sample_tips{
background: #fbf8f0;
border-radius: 8px;
padding: 8px;
font-size: min(3.68vw, 15px);
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
}

.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
}

.sizescroll,
body.is-mobile .function{
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scroll-behavior: smooth
}

.counterGroupBtn{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
border-right: 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%);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: 400
}

.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-check,
.inline-radio input:checked+label.label_icon .color-check2,
.inline-radio input:checked+label.label_icon.label-op .check-check,
.inline-radio input:checked+label.label_icon.label-op .color-check{
opacity: .6
}

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

@media (max-width:767px) {.p-product.product{
margin-top: 0
}.woocommerce-product-gallery .flex-control-nav li{
flex: 0 0 60px
}.woocommerce-product-gallery:has(.flex-control-nav){
margin-block: 0;
margin-bottom: 25px
}.woocommerce-product-gallery{
margin-inline: -8px
}.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;
width: 100%;
cursor: grab;
user-select: none;
overflow-x: scroll
}

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% - 48px)/ 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;
width: 100%;
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
}

.m-form-radio,
.mon{
align-items: center
}

.mon,
.monti{
position: relative
}

.favorite-button-count2.favorite-button-count{
position: relative;
border-left: none;
padding: 0 0 0 8px
}

.p-product-like-top.p-product-like2{
display: -webkit-box;
display: flex;
border: 1px solid #ccc;
font-size: 1rem;
font-weight: 400;
width: auto;
padding: 5px 14px 3px 10px;
min-height: 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;
font-size: 14px;
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: 0 0;
height: 21px;
text-align: center;
outline: 0 !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;
-webkit-user-select: none !important
}

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

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

.m-form-radio{
display: flex;
position: relative;
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
}

.slide-content-text-zaiko,
.slide-content-text-zaiko::after{
position: absolute;
left: 50%;
margin: auto;
width: 100%;
background-position: center;
text-align: center;
pointer-events: none
}

.p-price-table__body dt,
.sub,
.wai{
line-height: normal
}

.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:checked+.m-form-radio-name::before,
.m-form-radio input:focus+.m-form-radio-name .m-form-radio-text{
color: #800;
opacity: 1;
font-weight: 700
}

.slide-content-text-zaiko{
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%;
top: 40%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%)
}

.slide-content-text-zaiko::after{
font-size: min(3vw, 1rem) !important;
color: #b22222;
content: "在庫切れ";
top: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%)
}

.shape-option6-1.elm.group-flex.item-zaiko,
.shape-option6.elm.group-flex.item-zaiko,
.sizetitle-oder2.enkei-color tr td.red2{
pointer-events: none
}

.inline-radio{
display: flex;
padding: 0 0 28px;
justify-content: space-between;
width: 100%;
margin: 0 auto
}

.inline-radio.color-select2,
.inline-radio.color-select3{
padding: 0 0 25px;
position: relative;
justify-content: left;
display: flex;
flex-wrap: wrap;
gap: 20px;
width: 100%
}

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

.inline-radio.color-select3 .elm.group-flex.tab4__item{
flex: 0 1 calc((100% - 24px)/ 3) !important;
position: relative;
padding: 4px 0 10px;
max-width: 180px;
width: 100%
}

.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-select5 .group-flex.group-flex{
flex: 0 1 calc((100% - 48px)/ 5) !important
}
.inline-radio .elm.group-flex.tab4__item.color-select-shape .group-flex{
flex-basis: calc(88% / 3) !important
}

.inline-radio input{
opacity: 0;
width: 100%;
opacity: 0 !important;
position: absolute;
height: 100%;
display: block;
margin: auto;
cursor: pointer;
}

.inline-radio label{
width: 100%;
pointer-events: none;
position: relative;
display: block
}

.color-select-shape .selection-group-name,
.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{
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 .group-flex .selection-group-name.is-bold,
.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
}

.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
}

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

.wai{
color: #ff4150;
font-size: 18px;
padding: 0 1px 0 3px;
font-weight: 700;
position: relative
}

.g-lg-price-lg,
.g-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{
position: relative;
padding: 20px 0 16px !important;
display: block;
background-position: center bottom;
margin: 0 auto 15px;
text-align: center;
height: auto;
width: fit-content;
background-repeat: repeat-x;
background-image: url(https://bomba.jp/ec/wp-content/uploads/common/h-border.png)
}

.honko .tab4-body__item,
.nokohi{
text-align: left
}

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

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

.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;
display: flex;
justify-content: center;
align-items: center;
width: 100%
}

.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-add,
.p-product-like2 .p-product-like-remove{
padding-left: 5px
}

#error-message{
position: absolute;
margin: auto;
display: block;
text-align: center;
left: 0;
right: 0;
z-index: 99;
top: 20px;
color: red;
border: 1px solid #ccc;
cursor: pointer;
border-radius: 6px;
font-weight: 400 !important;
background: url("https://bomba.jp/ec/wp-content/uploads/common/icon_err.png") 14% center no-repeat #fafaf9;
max-width: 87%;
padding: 16px 24px 16px 38px;
box-shadow: 0 8px 17px 4px rgba(0, 0, 0, .26)
}

.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: 0;
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-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:26px 0 14px;
position: relative
}
#g55{
position: absolute;
right: 0;
}
.cart-box .svg,
.zumen-1{
position: absolute
}

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

.cart-box,
.purchase{
display: flex;
width: 100%
}

.nokohi{
width: 100%;
left: 0;
font-size: min(2.8vw, 12px);
margin: 0 auto;
bottom: 10px;
top: 10px;
z-index: -1;
line-height: 1.3;
}

.honko-warap{
position: relative;
max-width: 63.5%
}

body.is-mobile .honko-warap{
position: relative;
max-width: 59%
}
.bg-size-Length{
right: 0%;
top: 38.2%;
transform: translateY(-50%);
width: 25%;
display: flex;
justify-content: center;
align-items: center;

}
.bg-size-width{
left: 42%;
transform: translateX(-50%);
bottom: 9.2%;
height: 14%;
display: flex;
align-items: center;;
}

.bg-size-Length,
.bg-size-width{
text-align: center;
z-index: 1;
position: absolute;
font-size: min(3.9vw, 16px);
font-weight: bold;
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;
}
.honko-warap .tab4-body__item.tab4-body__item--1.on::before,
.honko-warap .tab4-body__item.tab4-body__item--2.on::before,
.honko-warap .tab4-body__item.tab4-body__item--3.on::before{
content: "※イメージ";
position: absolute;
top: 35%;
z-index: 1;
left: 41%;
transform: translateX(-50%);
font-size:min(2.7vw, 13px);
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;
line-height: normal;
}

.honko-warap .tab4-body__item.tab4-body__item--2.on::before{
width: max-content;
content: "※カット部分はイメージ";

}
.cut-text2{
font-size: min(3.1vw, 13px);
margin: -12px 5px 0;
padding: 0 0 11px;
line-height: normal;
}


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

.cart-box{
position: relative;
align-items: center;
justify-content: center
}

.cart-box .svg{
left: 28%
}

.purchase{
margin: auto;
padding: 20px 0 20px 10px;
font-size: 17px;
box-sizing: border-box;
position: relative;
align-items: center;
justify-content: center;
font-weight: 700
}

.sizename,
.sizename2{
margin: auto;
font-size: min(2.6vw, .54rem)
}

.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;
right: auto
}

.sizename2{
position: absolute;
top: 25%;
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;
font-size: min(3.74vw, 16px);
border: 1px solid #494443;
-moz-appearance: none;
appearance: none;
cursor: pointer;
border-radius: 4px;
background: right 6px center no-repeat;
background-size: min(5.5vw, 20px);
background-image: var(--tcd-icon--arrow-bottom)
}

.gi-option{
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 10px 0;
margin: 0
}

.p-cart-form__option-select.c-select-size{
display: flex;
width: 48.4%;
align-items: center;
position: relative
}

.p-cart-form__option-select .select-color-left,
.p-cart-form__option-select .select-color-right,
.select-color-new{
position: relative;
line-height: 1.5;
display: inline-block;
padding: 10px 9px;
cursor: pointer;
transition: .2s;
border: 1px solid #494443;
border-radius: 4px;
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
box-sizing: border-box;
width: 100%;
background: no-repeat;
font-size: min(3.74vw, 16px);
background-size: min(5.5vw, 20px);
background-image: var(--tcd-icon--arrow-bottom);
background-position: right 6px center;

}

.gi-option-title,
.gi-option-title2{
min-width: 10%;
display: block;
position: relative;
text-align: center;
font-weight: 700
}

.gi-option-title{
width: 48px;
font-size: min(3.6vw, 15px)
}

.gi-option-title2{
font-size: min(3.74vw, 16px)
}

.ordermade-select2{
width: 100%;
position: relative
}

body.is-mobile .photolist-image-toggle,
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
}

#order-cart-size,
#scrollswipe,
.photolist-image-toggle img,
.tutt{
display: block
}

.tooltip_btn a span{
position: absolute;
width: 16px;
height: 16px;
background: #6e6e6e;
display: flex;
color: #fff;
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
}

body.is-mobile .function-list.funk__img-item.popup-btn.hhh{
z-index: 3
}

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

#order-cart-size{
margin: 0 auto;
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 #main-popsize-wrap{
padding-top: 50px
}

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

.sizescroll{
width: 100%;
cursor: grab;
user-select: none;
overflow-x: scroll;
position: relative
}

.scrollTable .scroll-hint-icon-wrap{
pointer-events: none;
z-index: 10;
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
pointer-events: none
}

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

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

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

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

.tutt{
margin: auto;
text-align: center
}

.size-ch,
.size-ch-sp{
border-radius: 20px;
margin: 16px auto;
text-align: center;
background: #f6f6f6;
padding: 7px 13px;
display: inline-block;
width: auto;
font-size: min(3.25vw, 15px) !important
}

.sizetitle-oder2 .bs-title-inner,
.sizetitle-oder2 th{
border: 1px solid #fff;
font-family: Lato, Arial, Helvetica, "Noto Sans JP", sans-serif;
width: 100%;
position: relative;
text-align: center
}

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

.sizetitle-oder2 .bs-title-inner{
padding: 10px 0;
background: #f6f6f6 !important;
font-size: min(3vw, 13px);
line-height: 1.7
}

.sizetitle-oder2 tr{
background: #fefefe
}

.sizetitle-oder2 th{
font-size: min(3.4vw, 15px);
font-weight: 700;
padding: 14px 0;
background: #f6f6f6 !important
}

.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
}

.sml-l{
font-size: min(1.8vw, .9rem);
font-weight: 700;
padding: 0 2px;
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: 1px
}

#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: #333;
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: 700;
width: 100%;
padding: 0;
position: relative
}

.fixed01,
.fixed02.sizecm.red2{
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: 5.8s forwards cssAnimation;
animation: 5.8s forwards cssAnimation
}

body.is-mobile .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
}

body.is-mobile .scroll-hint-icon:before{
display: inline-block;
width: 28px;
height: 40px;
color: #fff;
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 .scroll-hint-icon:before,
.scroll-hint-icon-wrap.is-active .ugoku{
animation: 1.5s linear 2 scroll-hint-appear
}

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
}100%,
50%{
transform: translateX(-40px);
opacity: 0
}}

@keyframes cssAnimation {0%,
90%{
opacity: 1
}100%{
opacity: 0
}}

@-webkit-keyframes cssAnimation {0%,
90%{
opacity: 1
}100%{
opacity: 0
}}

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

.favoritesize-link.bright-colors{
background-color: #999
}

.red2,
span.bg-img-lazy.no-bg-img-lazy{
background: 0 0
}

.sizetitle-oder2 td.red2.highlight-cell,
.sizetitle-oder2 td.red2.highlight-col{
background-color: #f6f6f6
}

.sizetitle-orer-tatami td.red2.selected{
background-color: #e7e7e7
}

.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{
touch-action: manipulation;
position: relative;
display: flex;
min-width: 35%;
justify-content: flex-end
}

.photolist-image-toggle.hight-set{
height: 50px;
max-height: 50px
}

.photolist-image_container{
position: relative;
display: inline-block;
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;
color: #0056b3;
}
.photolist-image_itemlist_liknk .c-breadcrumb__item-arrow.pop-arrow{
color: #0056b3;
}
.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: 92%;
max-width: 600px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-height: 400px;
animation: .6s linear show;
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, #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;
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;
cursor: pointer;
scrollbar-width: none;
justify-content: space-around;
border-radius: 5px;
background: #f9f9f9;
margin: 36px auto;
width: 100%
}

.itempage__desc-tabs-ttl>.itempage__desc-tabs-item{
text-align: center;
padding: 15px 0
}

.productdetail__infoitem{
display: block;
padding-top: 11px;
font-size: min(3.4vw, 11px)
}

a.note-link.anchor.direction-arrow.down-arrow{
position: relative;
font-size: min(4vw, 16px)
}

.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: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 14px;
width: auto;
background-color: #800;
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: 30px 0
}

.itempage_price_tabs .tab_label{
background: var(--tcd-accent-color);
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: .1em;
border: 1px solid #ddd;
}

.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
}

.day-shipping,
.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_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: opacity .5s
}

.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 td,
.tab_content_price_inner #pl_table .wc-tab__spec-table th{
font-size: min(3.65vw, 1.1rem) !important;
padding: 12px 9px 12px 12px;
vertical-align: middle;
line-height: 1.7
}

.tab_content_price_inner #pl_table .wc-tab__spec-table th{
min-width: 25.5%
}

.tab_content_price_inner #pl_table .wc-tab__spec-table td{
width: 74.5%
}

.aoiro{
color: #0b57d0
}

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

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



body.is-desktop #popsize.expanded{
filter: drop-shadow(0px 2px 6px #777);
width: 100% !important;
z-index: 9999;
position: fixed;
top: 25%;
max-width: 970px;
background: #fff;
padding: 10px;
animation: .6s linear show;
border-radius: 5px
}

.sizetitle-oder2{
background-color: #ddd
}

#click-id,
.sizetitle-oder2.enkei-color #click-id .favoritesize-link.id_price5r-color{
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 .favoritesize-link.id_price5r-color{
pointer-events: initial
}

.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
}

.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 li .description{
font-size: 16px;
line-height: 2.4;
margin-block: var(--tcd-half-read)
}

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

.reviews-images-container{
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-content-container-top-right{
display: grid;
gap: 8px
}

svg.svg.svg-reply-title{
margin-right: 5px
}




input#comment-title{
background: #fff;
border: 1px solid #ddd;
height: 42px;
padding: 0 8px;
width: 72%;
color: #767676;
margin: 8px 0
}

.woocommerce #reviews #comments h2{
font-size: min(7vw, 32px) !important
}

.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
}

.p-product button.p-product-like2.js-product-toggle-like:hover{
opacity: unset
}

.cm-arrival__cut{
display: grid;
grid-template-columns: 1fr 1fr;
margin: 0 0 14px;
border: 1px solid #ccc
}

.cm-arrival__cut-button{
min-height: 38px;
margin: 0;
padding: 8px 12px;
border: 0;
background: #fff;
color: #333;
font: inherit;
cursor: pointer;
text-align: center
}

.cm-arrival__cut-button+.cm-arrival__cut-button{
border-left: 1px solid #ccc
}

.cm-arrival__cut-button.is-active{
background: #333;
color: #fff;
font-weight: 700;
text-align: center
}

.cm-arrival__cut-button:focus-visible{
position: relative;
z-index: 1;
outline: currentColor solid 2px;
outline-offset: -4px
}

.cm-arrival__title{
margin: 0;
font-size: min(5.4vw, 18px);
line-height: 1.7
}

.cm-arrival__title strong{
font-weight: 700
}

.cm-arrival__postal{
display: flex;
align-items: stretch;
max-width: 380px
}

.cm-arrival__mark{
display: flex;
flex: 0 0 42px;
align-items: center;
justify-content: center;
border: 1px solid #ccc;
border-right: 0;
background: #f5f5f5;
font-size: 16px
}

.cm-arrival__input{
min-width: 0;
width: 100%;
height: 42px;
margin: 0;
padding: 8px 10px;
border: 1px solid #ccc;
border-radius: 0;
background: #fff;
font-size: 16px
}

.cm-arrival__button{
flex: 0 0 auto;
height: 42px;
margin: 0;
padding: 0 15px;
border: 1px solid #333;
background: #333;
color: #fff;
font-size: 14px;
cursor: pointer
}

.cm-arrival__button:hover{
opacity: .85
}

.cm-arrival__button:disabled{
cursor: wait;
opacity: .6
}

.cm-arrival__address,
.cm-arrival__shipping{
font-size: 14px;
line-height: 1.6
}

.cm-arrival__shipping .dr-bold{
font-weight: 700
}

.cm-arrival__shipping .arrival-date-content{
font-size: min(3.2vw, 11px)
}

.cm-arrival__status{
position: relative;
margin: 0 0 6px
}

.cm-arrival__limit{
font-size: min(3.8vw, 14px);
line-height: 1.6;
display: block;
min-height: 0;
margin: 0 0 2px;
}

.cm-arrival__delivery-labels .shipping{
font-size: 10px
}

.molecule-tooltip{
display: inline-flex;
align-items: center;
position: absolute;
right: 5%
}

.molecule-tooltip .atom-icon{
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin: 0;
padding: 0;
border: 0;
background: 0 0;
color: inherit;
cursor: pointer
}

.molecule-tooltip .tooltip{
z-index: 3;
display: none;
font-size: 12px;
line-height: 1.5;
white-space: normal;
position: absolute;
bottom: calc(100% + 8px);
right: -20%;
padding: 5px 10px;
background-color: #999;
border-radius: 5px;
-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .29);
box-shadow: 0 3px 6px rgba(0, 0, 0, .29);
width: max-content;
max-width: min(280px, 80vw);
color: #fff
}

.tooltip::before{
content: "";
position: absolute;
bottom: -5px;
right: 21px;
border-right: 5px solid transparent;
border-top: 5px solid #999;
border-left: 5px solid transparent
}

.molecule-tooltip.is-open .tooltip,
.molecule-tooltip:focus-within .tooltip,
.molecule-tooltip:hover .tooltip{
display: block
}

.cm-arrival__address,
.cm-arrival__note,
.cm-arrival__shipping{
display: block;
min-height: 0
}

.cm-arrival__address{
margin: 6px 0 0
}

.cm-arrival__note{
color: #666;
font-size: 12px;
line-height: 1.6;
margin: 2px 0 0;
font-size: min(3.2vw, 11px)
}

.cm-arrival__shipping .postage{
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 4px 10px;
justify-content: flex-start;
}

.cm-arrival{
width: 100%;
margin: 20px 0;
padding: 12px;
border: 1px solid #ddd;
background: #fff;
min-height: 220px;
direction: ltr;
text-align: left !important;
}

.cm-arrival__address,
.cm-arrival__cut,
.cm-arrival__delivery-labels,
.cm-arrival__note,
.cm-arrival__postal,
.cm-arrival__result-row,
.cm-arrival__shipping,
.cm-arrival__shipping .postage,
.cm-arrival__status{
justify-content: flex-start;
text-align: left !important
}

.cm-arrival__result-row{
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
justify-content: flex-start !important;
}

.shipping-arrival{
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0 10px
}

.cm-arrival__delivery-labels{
display: flex;
align-items: center;
gap: 5px;
flex: 0 0 auto;
margin-left: 10px;
}

.day-shipping,
.label.shipping{
background: #78b657;
display: inline-block;
padding: 6px 8px;
border-radius: 5px;
line-height: 100%;
letter-spacing: .1rem;
font-size: min(3.2vw, 10px);
color: #fff;
}

.day-shipping-text{
color: #800;
font-size: min(3.2vw, 12px)
}

.cm-arrival__clear{
position: absolute;
right: 72px;
top: 50%;
transform: translateY(-50%);
border: 0;
background: 0 0;
cursor: pointer;
font-size: 18px;
line-height: 1;
padding: 4px 14px 4px 4px;
display: none
}

span.oyatama{
display: inline-flex;
white-space: break-spaces !important;
align-items: baseline;
gap: 5px;
margin-left: 5px
}

span.oyatama span.tama{
width: 5px;
height: 5px;
animation: .5s cubic-bezier(.6, .05, .15, .95) .1s infinite alternate backwards wcpr_notify_loading;
border-radius: 100%;
background: currentColor;
}

span.oyatama span.tama:first-child{
animation: .5s cubic-bezier(.6, .05, .15, .95) infinite alternate wcpr_notify_loading
}

span.oyatama span.tama:last-child{
animation: .5s cubic-bezier(.6, .05, .15, .95) .12s infinite alternate backwards wcpr_notify_loading
}

#cm-image-popup{
display: none;
position: fixed;
inset: 0;
z-index: 999999
}

.cm-popup-background{
position: absolute;
inset: 0;
background: rgba(0, 0, 0, .78)
}

.cm-popup-content{
position: absolute;
top: 50%;
left: 50%;
max-width: 92vw;
max-height: 92vh;
transform: translate(-50%, -50%);
width: 100%;
}

img.orderfile-img{
display: block;
width: auto;
height: auto;
max-width: 92vw;
max-height: 88vh;
object-fit: contain;
background: #fff;
margin: 0 auto;
}

.cm-popup-close{
position: absolute;
top: -42px;
right: 0;
border: 0;
padding: 0;
background: 0 0;
color: #fff;
font-size: 38px;
line-height: 1;
cursor: pointer;
}

.accordion-container{
position: relative;
margin: 14px auto;
display: grid;
}

.accordion-content{
max-height: 40px;
overflow: hidden;
position: relative;
transition: max-height .4s;
}

.accordion-content.is-collapsed::after{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 20px;
background: linear-gradient(to bottom, rgba(255, 255, 255, .3), #fff);
}

.accordion-content.is-opened{
max-height: 1000px
}

.accordion-btn{
display: block;
width: 100%;
padding: 10px 0 4px;
margin-top: -2px;
font-size: 13px;
cursor: pointer;
text-align: center
}

.accordion-container span.cm-arrival__note,
.accordion-content span{
position: relative;
padding-left: 1.2em;
line-height: 1.4;
padding-bottom: 4px;
text-align: justify !important
}

.accordion-container span::before,
.accordion-content span::before{
display: flex;
align-items: center;
justify-content: center;
content: "※";
color: #800;
counter-increment: q_count;
border-radius: 50%;
position: absolute;
left: 0;
top: .1em
}
span.accordion-btn.js-btn::before{
display: none;
}
.sysCheckoutDescriptionListItemContent{
background: #f9f9f9;
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 14px;
gap: 8px;
display: grid
}

#cm-file-clear,
.cm-file-button{
background-color: #fff;
width: fit-content;
transition: .2s;
cursor: pointer
}

.sysCheckoutDescriptionListItemTerm.block{
display: block;
font-weight: 700;
margin-bottom: 8px;
font-size: .95rem
}

.cm-file-upload{
display: flex;
align-items: center;
justify-content: space-between
}

.cm-file-button{
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid #ccc;
border-radius: 6px;
padding: 10px 16px;
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
line-height: 1.5;
}

.cm-file-button:hover{
background-color: #f0f0f0;
border-color: #999
}
#upload-filename-2,
#upload-filename{
color: #666;
word-break: break-all;
display:block;
font-size: min(3.5vw, 14px);
}
#confirmation-file-2,
#confirmation-file{
align-items: center;
justify-content: space-between
}

#cm-file-clear,
.file-pop{
display: inline-flex;
align-items: center
}

.file-pop{
gap: 2px;
color: #06c;
text-decoration: none;
padding-right: 6px
}

.file-pop:hover,
.image_gnav{
text-decoration: underline
}

.image_gnav{
position: relative
}

.upload-online{
display: block;
padding:8px 0 12px;
}
.upload-ok-2,
.upload-ok{
display: block;
color: #2e7d32;
padding:8px 0 12px;
font-size: min(3.7vw, 15px);
}
.upload-status-link-2,
.upload-status-link{
font-size: min(3.7vw, 15px);
}
#saved-upload-filename-2,
#saved-upload-filename{
padding: 6px 0 0;
color: #888;
display: block;
line-height: normal;
font-size: min(3.5vw, 14px);
}
#cm-file-clear-2,
#cm-file-clear{
justify-content: center;
color: #d32f2f;
border: 1px solid #ffcdd2;
border-radius: 6px;
padding: 6px 12px;
font-size: min(3.7vw, 15px);
}

#cm-file-clear:hover{
background-color: #ffebee;
border-color: #ef9a9a
}

@keyframes wcpr_notify_loading {0%{
transform: translate3d(0, 2px, 0) scale(1.2, .85)
}to{
transform: translate3d(0, -5px, 0) scale(.9, 1.1)
}}

.stars a.active:after,
.stars a:hover:after{
color: #ffb600 !important
}

.rate-percent{
background-color: #0ca6aa
}

:root{
--upload_button_bg_color: #F3F3F3;
--upload_button_color: #3E3E3E
}

body.theme-flatsome #reviews{
flex-direction: column
}

.rtl .rate-percent-bg .rate-percent{
left: unset;
right: 0
}

.rate-percent-bg{
position: relative;
height: 6px;
background-color: rgba(0, 0, 0, .1);
width: 100%;
border-radius: 3px;
overflow: hidden
}

.rate-percent-bg .rate-percent-bg-1{
position: absolute;
text-align: center;
width: 100%;
color: #fff;
z-index: 2
}

.rate-percent-bg .rate-percent{
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
border-radius: 3px
}

.reviews-images,
.reviews-videos,
.shortcode-reviews-images{
height: auto
}

body.theme-goya #review_form .comment-form-rating{
text-align: left;
background: 0 0;
padding-left: 0
}

body.theme-goya .woocommerce-Reviews .commentlist{
max-width: 100%
}

body.theme-goya #reviews-content-right .woocommerce-photo-reviews-rating-html-shortcode .star-rating{
letter-spacing: 1.3px
}

body.theme-goya #reviews-content-right .comment-text,
body.theme-goya .commentlist .comment-text{
border-bottom: unset
}

body.theme-flatsome #reviews #comments,
body.theme-flatsome #reviews #review_form_wrapper{
flex-basis: 100% !important;
max-width: 100% !important
}

@media screen and (max-width:680px) {}

#detail_cart_box{
padding-top: 70px;
margin-top: -70px
}

.p-product-section #tab-title-wishlist,
.p-product-section #tab-title-recently-viewed{

pointer-events: 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;
}}



/* 商品サマリー */
.p-product-header-summary{
position: relative;
display: grid;
align-content: start;
row-gap: 25px;
align-items: center;
}
body.is-mobile .p-product-header-summary {
row-gap: 10px;
}



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



/* スターレビュー */
.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-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 tr:last-child :is(th, td){
border-bottom: none;
}

.p-product-tabs-section-content-additional_information table.shop_attributes td{
font-style: initial;
background: #f8f8f8;
border-bottom: 1px solid #ddd;
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;
}}



/* レビューフォーム */



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

div#tab-related.p-product-tabs-section-content-wishlist,
div#tab-related.p-product-tabs-section-content-recently-viewed{
--tcd-wc-product-cards-col: 5;

}


@media (max-width: 767px) {.p-product-tabs-section-content-recently-viewed
.p-product-tabs-section-content-wishlist,
div#tab-related.p-product-tabs-section-content-related,
.p-product-tabs-section-content-up-sells,
.p-product-tabs-section-content-related{
margin-top: 20px;
}}


.p-product-tabs-section-content-recently-viewed,
.p-product-tabs-section-content-wishlist,
div#tab-related.p-product-tabs-section-content-related{
--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
}

body.is-desktop .p-product-tabs-section-content-recently-viewed .p-product-cards,
body.is-desktop .p-product-tabs-section-content-wishlist .p-product-cards {
grid-template-columns: repeat(5, 1fr);
gap: 20px;
}

div#tab-related.p-product-tabs-section-content-related{
--tcd-wc-product-cards-col: 4
}

@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-tabs-section-content-recently-viewed,
.p-product-tabs-section-content-wishlist,
.p-product-review-list .woocommerce-pagination,
.p-product-tabs-section-content-recently-viewed .p-product-tabs-section-content-wishlist,
.p-product-tabs-section-content-related,
.p-product-tabs-section-content-up-sells,
div#tab-related.p-product-tabs-section-content-related{
margin-top: 20px
}
}

.product_type_simple.add_to_cart_button.ajax_add_to_cart.c-button{
display: flex;
justify-content: center;
align-items: center;
}
.product_type_simple.add_to_cart_button.ajax_add_to_cart.c-button::before{
content: "";
width: 1.2em;
height: 1.2em;
background: currentColor;
mask: var(--tcd-icon--cart) no-repeat center / contain;
margin-top: -1px;
margin-right: 10px;
}

.product_type_simple.add_to_cart_button.ajax_add_to_cart.c-button.estimate-button{
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
height: 42px;
width: fit-content;
min-width: auto;
margin: 10px auto 20px;
background: #333;
border: none;
color: #fff;
font-size: min(3.2vw, 14px);
}


.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%;
position: relative;
}

.cm-zaiko-popup{
position: absolute;
left: 50%;
bottom: calc(100% + 10px);
z-index: 100;
width: max-content;
max-width: 280px;
padding: 10px 16px;
background: #222;
color: #fff;
font-size: 14px;
line-height: 1.5;
text-align: center;
transform: translateX(-50%);
box-sizing: border-box;
border-radius: 4px;
pointer-events: none;
}

.cm-zaiko-popup::after{
content: "";
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
border: 7px solid transparent;
border-top-color: #222;
}



/* ==========================================================================
レビュー投稿フォーム関連CSS（統合版）
========================================================================== */
.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 a {
width:1.2em
}

body.is-mobile span.hikoukai {
top:14px;
right:0;
left:auto
}
/* --- ②由来の追加・拡張パーツ --- */
/* ==========================================================================
 アップロードHTML関連CSS
 goods.css 全体との照合結果
 ========================================================================== */
.star-rating span:before,
.star-rating:before {
color:#ffb600 !important
}
.woocommerce-Reviews {
flex-direction:column
}

.comment-form-rating span.required-text,
label.required-text {
display:flex;
align-items:center;
font-weight: 700;
}
.review-campaign::after,
.review-campaign::before {
height:0;
width:0;
left:0;
margin:auto;
content:"";
position:absolute;
right:0
}
.p-product-review-form {
text-align:center
}
.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;
line-height:1.7
}
.review-campaign::before {
border:8px solid transparent;
border-top-color:#80b2c9;
bottom:calc(50% - 35px)
}
.review-campaign::after {
border:7px solid transparent;
border-top-color:#fff;
bottom:calc(50% - 31px)
}

.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;

}
.p-product-review-form-desc {
font-size:16px;
line-height:1.8
}
span#reply-title.comment-reply-title::after {
transform:translateY(-25%) rotate(45deg);
width:14px;
height:14px;
margin-left:14px;
border-bottom:3px solid #000;
border-right:3px solid #000;
content:"";
transition:transform .3s
}
span#reply-title.comment-reply-title.active::after {
transform:rotate(225deg);
margin-top:6px
}

.woocommerce #review_form #respond p.form-submit.active-open {
margin: 20px auto;
width: 100%;
display: block;
}

.p-product-review #review_form #respond textarea {
padding: .8em 1em;
line-height: 1.6;
min-height: 140px;
border: 1px solid #ddd;
margin: 10px 0;
}
.p-product-review #review_form #respond .form-submit input[type=submit] {
display: grid;
place-items: center;
width: fit-content;
min-width: 260px;
height: 60px;
font-size: 16px;
font-weight: initial;
/* color: var(--tcd-accent-color); */
background: var(--tcd-accent-color);
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)
}
}
.p-product-review-form .comment-reply-title {
font-size:18px
}
.p-product-review-form-desc {
font-size:14px
}



.rating-text {
display:block;
font-size:min(3vw, 16px) !important
}


.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
}
.om_drop_text,
.om_drop_text.required-text {
line-height:2
}
.select-close {
color:red;
font-size:min(3.8vw, 15px) !important;
padding:6px 0 0;
line-height:normal
}

.bpr-review-form .comment-form-rating,
.comment-form-rating {
gap:10px;
display:grid;

margin:0 auto;
width:100%;
max-width:840px
}
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;
z-index:1
}
.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
}




.bpr-submit-notify-warning {
margin: 20px auto 30px;
line-height: normal;
background: #f9f9f9;
padding: 10px 14px;
color: red;
display: flex;
justify-content: center;
text-align: justify;

}
.bpr-submit-notify-warning > span {
font-size:min(3.4vw, 14px)
}

.bpr-submit {
padding:9px 18px
}

.bpr-photo-fields {
margin:18px 0
}
.bpr-photo-fields-label {
font-weight:700;
margin-bottom:10px
}
.bpr-photo-fields-label small {
font-weight:400;
margin-left:8px
}
.bpr-photo-upload-pc {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px
}

.bpr-photo-slot-title {
display:block;
font-size:12px;
margin-bottom:6px
}
.bpr-upload-button {
display:inline-block;
box-sizing:border-box;
border:1px solid #2271b1;
background:#fff;
color:#2271b1;
padding:6px 9px;
cursor:pointer;
line-height:1.3
}
.bpr-photo-input {
position:absolute !important;
width:1px !important;
height:1px !important;
overflow:hidden !important;
clip:rect(0,0,0,0) !important;
clip-path:inset(50%) !important;
white-space:nowrap !important
}
.bpr-selected-image-container img,
.bpr-selected-image-container>.bg-img-lazy>img {
display:block;
width:100%;
max-width:150px;
aspect-ratio:1/1;
object-fit:cover;
margin:0 0 5px
}

.bpr-photo-clear {
border: 0;
background: transparent;
color: #b32d2e;
padding: 3px 0;
cursor: pointer;
font-size: 12px;
text-decoration: underline;
}

.bpr-review-form .bpr-comment-form-rating {
margin:0 0 18px;
text-align:center
}
.bpr-review-form .bpr-comment-form-rating>.required-text {
display:flex;
justify-content:center;
margin-bottom:8px;
font-weight:700
}
.bpr-review-form .comment-form-rating-radios input[type=radio] {
position:absolute !important;
width:1px !important;
height:1px !important;
padding:0 !important;
margin:-1px !important;
overflow:hidden !important;
clip:rect(0,0,0,0) !important;
white-space:nowrap !important;
border:0 !important
}
.bpr-review-form .comment-form-rating-radios label {
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
cursor:pointer;
color:#777;
font-size:12px;

}


.bpr-review-form .comment-form-rating-radios input[type=radio]:focus-visible+input~label,
.bpr-review-form .comment-form-rating-radios input[type=radio]:focus-visible~label {
outline:0
}
.bpr-review-form .comment-form-rating-radios input[type=radio]:focus-visible~label[for] {
text-decoration:underline;
text-underline-offset:3px
}
.bpr-review-form .rating-textdisplay.display-none {
display:none
}
.bpr-review-form .comment-notes {
font-size:12px;
color:#646970;
margin:6px 0 14px
}
.bpr-selected-image-container>.bg-img-lazy {
display:block
}
.bpr-google-review-invite {
margin:12px 0 18px;
padding:14px 16px;
border:1px solid #c3c4c7;
background:#fff
}
.bpr-google-review-invite p {
margin:0 0 10px
}
.bpr-google-review-invite p:last-child {
margin-bottom:0
}
.bpr-google-review-button {
display:inline-flex;
align-items:center;
justify-content:center;
text-decoration:none
}


#commentform .form-submit {
margin-top:18px
}
#commentform #submit {
cursor:pointer
}

.bpr-review-form-wrap {
width:100%;
--bpr-accent:#0caaa8;
border:1px solid #e5e5e5;
padding: 30px 15px;
margin-top:25px;
font-family:inherit;
box-sizing:border-box
}
.bpr-review-form {
margin:0 auto
}
.bpr-review-form input[type="text"],
.bpr-review-form input[type="email"],
.bpr-review-form select,
.bpr-review-form textarea {
min-width:0;
max-width:none
}
.bpr-review-form .form-submit {
margin:20px 0 0;
text-align:center
}
.bpr-review-form #submit {
min-width:220px;
box-sizing:border-box
}
.bpr-review-form .bpr-photo-fields {
display:block;
margin:18px 0
}
.bpr-review-form .bpr-form-check {
display:flex;
align-items:flex-start;
gap:7px;
margin-left:162px;
margin:12px 0 0
}
.bpr-photo-required-invalid .bpr-photo-slot:first-child {
background:#fff7f7
}
.bpr-review-form input.bpr-field-invalid,
.bpr-review-form select.bpr-field-invalid,
.bpr-review-form textarea.bpr-field-invalid {
background-color:#fff0f0 !important;
border-color:#d63638 !important;
box-shadow:0 0 0 1px rgba(214,54,56,.10) !important
}
.bpr-review-form input.bpr-field-invalid:focus,
.bpr-review-form select.bpr-field-invalid:focus,
.bpr-review-form textarea.bpr-field-invalid:focus {
background:#fff5f5 !important;
border-color:#d63638 !important;
box-shadow:0 0 0 1px #d63638 !important;
outline:0
}
.bpr-review-form .bpr-required-group-invalid {
background-color:#fff0f0 !important;
outline:1px solid #d63638;
outline-offset:4px
}
.bpr-review-form .bpr-field-invalid {
background-color:#fff0f0 !important;
border-color:#ef5350 !important
}


.bpr-review-form textarea {
display:block;
resize:vertical;
min-height:180px;
height:auto
}
.bpr-review-form .comment-form-rating-radios {
align-items:flex-start;
gap:8px;
position:relative;
display:flex;
justify-content:space-between;
width:calc(100% + 18px) !important;
margin:0 -9px 30px !important;
background: #fbf8f0;
border-radius: 8px;
padding: 5% 2.5%;
}
div#review_form {
max-width:900px;
margin:0 auto;
max-width:100%;
line-height: normal;
}
.bpr-selected-image-container {
margin-top:0;
min-height:0;
font-size:12px;
overflow-wrap:anywhere
}
#review_form .comment-form p.bpr-form-check {
text-align:center;
margin:0 auto !important;
justify-content:center;
align-items:center
}
.bpr-review-form .bpr-form-check input {
margin-top:4px;
margin:0
}
@media (max-width: 600px) {
#photo-upload-sp {
width:100%
}
}
body.is-mobile .from-custom-wrap {
width:100%
}
body.is-desktop .from-custom-wrap {
width:960px
}
.bpr-form-success {
padding:12px 15px;
margin-bottom:18px;
border-left:4px solid #46b450;
background:#f2fbf3;
line-height: 1.8;
}
.bpr-photo-required-error {

padding: 10px 8px;
background: #fff1f1;
border: 1px solid #e6a5a5;
color: #b42318;
font-weight: 600;
font-size: min(3.2vw, 16px);
max-width: 700px;
margin: 0 auto 10px !important;
}
.bpr-review-form-wrap h3 {
text-align:center;
margin:0 0 20px
}
.from-custom-wrap {
display:grid;
height:auto;
row-gap:42px;
transition:height .5s ease-in-out;
margin:20px auto
}
.bpr-hp {
position:absolute !important;
left:-99999px !important;
width:1px !important;
height:1px !important;
overflow:hidden !important
}
.bpr-review-form small {
display:block;
margin-top:4px
}
.bpr-review-form .required {
font-size:11px;
color:#fff;
background:#ef5b5b;
padding:2px 4px
}


/* ==========================================================================
 WCPR / wcpr 関連CSS 集約
 元位置から移動した wcpr / wcpr- を含むCSS。宣言の複製なし。
 ========================================================================== */
.upload-status-link,
.wcpr-overall-rating-main,
.woocommerce .product-header-summary-wrapper .woocommerce-product-rating {
display:flex;
align-items:center
}
.flex-next,
.flex-prev,
body.theme-goya #reviews-content-right .wcpr-review-rating .star-rating span,
body.theme-goya .commentlist .wcpr-review-rating .star-rating span {
font-size:0
}
.cm-file-upload input[type=file],
.favorite-button-count2.favorite-button-count::before,
.id_price5.kesu,
.itempage_price_tabs .tab_label[for=itemprice_flat] span br,
.itempage_price_tabs .tab_switch,
.p-product-like2.is-liked .p-product-like-add,
.p-product-like2:not(.is-liked) .p-product-like-remove,
.p-product-review-list-item-meta .woocommerce-review__dash,
.p-product-review-list-item-meta .woocommerce-review__verified,
.photolist-image-toggle.henkei-type,
.photolist-image[hidden],
.sizetitle-oder2 span.id_price5,
.sizetitle-oder2 span.id_price5r,
.ssgl2,
.wcpr-filter-button.wcpr-filter-button-verified,
.wcpr-filter-container .wcpr-filter-button.wcpr-filter-button-verified,
body.is-desktop #popsize.expanded .main-size-table,
body.is-mobile .function-bnr.hhh::after,
id_price5r {
display:none
}
.tab_content_price_inner #pl_table,
.wcpr-comment-form-images .wcpr-selected-image-caption,
body.is-mobile .wcpr-custom-field .wcpr-custom-field-input,
body.is-mobile .wcpr-custom-field .wcpr-custom-field-input>div {
width:100%
}
.wcpr-filter-container.wcpr-filter-loading .wcpr-filter-button-wrap,
.wcpr-html,
body.is-desktop #popsize.expanded .sizescroll {
overflow:hidden
}
.p-product-review-list .woocommerce-noreviews,
.wcpr-load-more-reviews-button-container {
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)
}
.cm-arrival,
.cm-arrival *,
.wcpr-modal-light-box,
.wcpr-modal-light-box * {
box-sizing:border-box
}
.wcpr-grid.wcpr-masonry-style .wcpr-grid-item:nth-last-child(2) {
margin-bottom:0
}
.p-product-review-form .comment-form-rating .stars>span,
.wcpr-comment-helpful-button-vote-container {
display:flex
}

.wcpr-selected-image-info {
line-height:2
}
.wcpr-selected-image {
max-width:initial;
width:auto
}

div#wcpr_thank_you_message p {
font-size:min(4.8vw, 20px) !important;
line-height:1.8;
text-align:justify
}
.wcpr-custom-fields {
row-gap:30px;
display:grid
}
.wcpr-filter-container .wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul .wcpr-filter-button-li a.wcpr-filter-button,
div#reviews-content-left-modal,
li.wcpr-filter-button-li {
width:100% !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
}
.wcpr-filter-button-wrap,
.wcpr-filter-button.wcpr-filter-button-images {
max-width:200px;
width:fit-content;
min-width:160px
}
.p-product-review-list .wcpr-filter-button-li {
padding:0
}
.wcpr-comment-helpful-button-container span,
body.is-desktop .slider-thumbnail1 .keen-slider__slide.number-slide {
cursor:pointer
}
.cm-arrival__shipping .dr-medium,
span.wcpr-review-custom-field-value {
font-weight:500
}
.cm-arrival__shipping {
margin:0
}
.cm-arrival__postal,
.wcpr-selected-image {
position:relative
}
#cm-image-popup.is-open,
.cm-arrival__input:not(:placeholder-shown)+.cm-arrival__clear,
.wcpr-comment-helpful-button-voting .wcpr-comment-helpful-button-voting-overlay,
.wcpr-filter-button-wrap:hover ul.wcpr-filter-button-ul,
.wcpr-filter-container.wcpr-filter-loading .wcpr-filter-overlay {
display:block
}

.comment-form-rating-radios input,
.display-none,
.p-product-review #review_form #respond p.comment-notes,
.wcpr-comment-form-images span.required,
span.required {
display:none
}



.comment-form-rating span.required-text::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--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-wrap .wcpr_image_upload_button:before {
content:"";
background:url(/ec/wp-content/uploads/common/add-photo-bigger.svg) center/contain no-repeat
}
.wcpr-comment-form-images .field-inner {
background:#111 !important;
color:#fff !important;
padding:10px;
border-radius:4px;

display:block;
}

.wcpr-input-file-container.wcpr-input-file-container--sp-slot.bpr-photo-slot span.field-inner {
padding: 9px;
}


body.is-mobile #review_form .comment-form-comment,
body.is-mobile .p-product-review #review_form #respond p,
body.is-mobile #review_form .wcpr-comment-form-title.comment-form-comment.bottom-px,
body.is-mobile #review_form .wcpr-custom-field,
body.is-mobile #review_form p.comment-form-email.comment-form-comment {
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;
justify-content:flex-start;
flex-wrap:wrap;
width:100%;
margin:0 0 0px
}


#review_form .wcpr-custom-field,
#review_form .comment-form-comment,
.woocommerce #review_form #respond .from-custom-wrap p,
#review_form .wcpr-comment-form-title.comment-form-comment.bottom-px,
#review_form .wcpr-custom-fields-wrap,
#review_form p.comment-form-comment.comment-form-author,
#review_form p.comment-form-email.comment-form-comment {
display: grid;
width: 100%;
margin: 0 0 0px;
position: relative;
/* または、固定幅と残りスペースにする場合（例: 120px と 1fr） */
grid-template-columns: 200px 1fr;
/* 項目同士の隙間を空けたい場合は gap も追加すると便利です */

align-items: center; /* 垂直方向の中央揃え */
}

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

#commentform .wcpr-custom-fields-wrap {
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
-webkit-align-items:center;
align-items:center;

justify-content:center;
flex-wrap:wrap;
width:100%;
row-gap: 42px;
margin: 0 0 0px;
}



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

font-weight: 700;
}

.wcpr-comment-form-images label {
display:block
}
.wcpr-comment-form-notify>span {
display:inline-flex;
white-space:break-spaces !important;
align-items:baseline;
gap:5px;
margin-left:5px
}
.wcpr-comment-form-notify>span span:first-child {
animation:.5s cubic-bezier(.6, .05, .15, .95) infinite alternate wcpr_notify_loading
}
.wcpr-comment-form-notify>span span:last-child {
animation:.5s cubic-bezier(.6, .05, .15, .95) .12s infinite alternate backwards wcpr_notify_loading
}
.wcpr_image_upload_button {
text-transform:inherit;
margin-top:0;
margin-bottom:0;
border-radius:6px
}
.wcpr_image_upload_button.icon_with_text:before {
content:"";
background:url(/ec/wp-content/uploads/common/add-photo-bigger.svg) center/40px no-repeat;
width: 50px;
height: 50px;
background-size: 30px;
background-color: #fff;
margin-right:15px;
padding:15px;
mask-size:40px;
border:1px solid #c3c3c3 !important;
border-radius:6px;
display:block
}

.wcpr-input-file-container.wcpr-input-file-container--sp-slot.bpr-photo-slot .wcpr_image_upload_button.icon_with_text:before {
max-width: 38px;
max-height: 38px;
background-size: 24px;
margin-right: 8px;
width: 8vw;
height: 8vw;
}

.wcpr-hidden {
display:none !important
}
.wcpr-comment-form-error {
color:red;
display:inline-grid;
white-space:break-spaces !important;
margin-bottom:15px;
width:100% !important
}
.wcpr-comment-form-notify {
color:#456083;
display:inline-block
}
.wcpr-comment-form-notify>span span {
width:5px;
height:5px;
animation:.5s cubic-bezier(.6, .05, .15, .95) .1s infinite alternate backwards wcpr_notify_loading;
border-radius:100%;
background:#456083
}
.wcpr-comment-form-images {
margin:.5em 0;
width:100%
}
.wcpr-comment-form-images .wcpr_image_upload {
width:100%;
margin-bottom:10px
}
.wcpr-comment-form-title input {
margin:0;
width:100%
}
.wcpr-input-file-container .wcpr-input-file-wrap {
margin-top:10px;
margin-bottom:10px
}
.wcpr-input-file-container .wcpr-input-file-wrap .wcpr-selected-image-container {
display:flex;
flex-wrap:wrap;
gap:10px;
justify-content: space-between;
}
body.is-mobile .wcpr-input-file-container.bpr-photo-upload-mobile .wcpr-selected-image-container-container {
    width: 48%;

    margin: 20px 0;
}
span.bpr-selected-image-name {
    text-align: left;
    display: block;
}

.bpr-submit-notify-warning span {
    font-size: min(3.4vw, 17px);
}
.wcpr-custom-field .wcpr-custom-field-input {
padding:0;
border:0;


width:100%
}
.wcpr-custom-field .wcpr-custom-field-input>div input,
.wcpr-custom-field-input>div select {
width:100%;
padding:5px;
margin:0;
font-size:14px
}
.p-product-review #review_form #respond .wcpr-comment-form-notify-wraps.wcpr-comment-form-notify.wcpr-hidden {
font-size: min(3.4vw, 17px);
/* text-align: center; */
/* justify-content: center; */
/* display: flex; */
/* flex-wrap: wrap; */
padding: 0;
width: calc(100% + 18px) !important;
margin: 15px -9px !important;
}



.bpr-review-form .comment-notes,
.bpr-review-form .wcpr-comment-form-error-wraps,
.bpr-review-form .wcpr-comment-form-notify-wraps,
.bpr-review-form .form-submit {
display:block
}

#commentform .wcpr-selected-image-container img,
#commentform .wcpr-selected-image-container>.bg-img-lazy>img,
#commentform .wcpr-selected-image-container>video,
#photo-upload-sp .wcpr-selected-image-container img,
#photo-upload-sp .wcpr-selected-image-container>.bg-img-lazy>img,
#photo-upload-sp .wcpr-selected-image-container>video {
width:100%;
max-width:none;
aspect-ratio:1/1;
object-fit:cover
}

.bpr-review-form .wcpr-custom-field-input-value .bpr-field-invalid,
.bpr-review-form .comment-form-comment .bpr-field-invalid {
background-color:#fff0f0 !important;
border-color:#ef5350 !important
}


select#comment-form-review2-input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.wcpr-custom-field-input .wcpr-custom-field-input-value select.nobino,
select#comment-form-review2-input {
background-image: var(--tcd-icon--arrow-bottom);
background-position: right 6px center;
background-repeat: no-repeat;
background-size: 20px;
}

#commentform .wcpr-input-file-container--pc-info-wrap {
margin-top:10px;
grid-template-columns:repeat(4,minmax(0,1fr));

display:flex;
flex-wrap:wrap
}
#commentform .wcpr-input-file-container--pc-info-wrap.bpr-photo-upload-sp {
gap: 10px;
width: calc(100% + 12px);
margin: 0 -6px;
}

#commentform .wcpr-input-file-container--pc-info-wrap.bpr-photo-upload-pc {
gap: 12px;
}


#commentform :is(.wcpr-input-file-container--pc-slot,
.wcpr-input-file-container--sp-slot) {
box-sizing:border-box;
min-width:0;
flex:0 1 calc((100% - 36px) / 4);
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:3px dashed #bbb;
cursor:pointer;
margin:0
}
#commentform :is(.wcpr-input-file-container--pc-slot,
.wcpr-input-file-container--sp-slot) .wcpr_image_upload_button {
box-sizing:border-box;
padding:0;
background-color:transparent;
border:unset;
display:inline-flex;
align-items:center;
width:auto;
cursor:pointer;

font-size: min(2.9vw, 16px);
}

button.image-remove-btn.wcpr_image_upload_button.icon_with_text {
display: flex;
justify-content: center;
align-items: center;
margin: auto;
}


.woocommerce #review_form #respond .from-custom-wrap p.comment-notes {
display: none;
}
.wcpr-selected-image-container.image-remove-btn.bpr-selected-image-container img {
margin:20px auto 10px
}
#photo-upload-sp .wcpr-input-file-container--pc-info-wrap.bpr-photo-upload-pc {
display:flex !important;
flex-wrap:wrap;
gap:10px
}
#photo-upload-sp .wcpr-input-file-container--sp-slot {
flex:0 1 calc((100% - 10px)/2);
min-width:0;
padding:8px;
box-sizing:border-box;
border: 2px dashed #bbb;
}
.bpr-review-form .wcpr-comment-form-notify-wraps {
margin:20px auto 0;
text-align:center
}

span.photo-upload-sp-text {
position: relative;
border: 1px solid #000;
display: flex;
justify-content: center;
margin: 20px auto;
line-height: normal;
padding: 10px 20px;
max-width: 100%;
width: fit-content;
align-items: center;
}




span.photo-upload-sp-text.is-open::after {
transform: rotate(225deg);
margin-top: 6px;
}

span.photo-upload-sp-text::after {
transform: translateY(-25%) rotate(45deg);
width: 10px;
height: 10px;
margin-left: 12px;
border-bottom: 2px solid var(--tcd-base-font-color);
border-right: 2px solid var(--tcd-base-font-color);
content: "";
transition: transform .3s;
}
.wcpr-input-file-container[data-slot="1"] .om_drop_text::after {
content: "必須";
background: #f66;
color: #fff;
padding: 1px 3px;
margin: 0 0 0 10px;
font-size: .7rem;
line-height: normal;
text-shadow: none;
}





.p-product-section .p-product-cards-item-image {
margin: 0 0 10px;
}


.bpr-summary-bars>.bpr-rating-filter {
    grid-template-columns: 100px minmax(100px, 1fr) 34px!important;
}


.p-product-tabs-section .c-wc-rating {
    margin: 0 auto;
}

.bg-tokube {
  position: absolute;
right: 2%;
  width: 50%;
max-width: 193px;
}
.bg-tokube img {
  margin: 0;
}


.youten {
  display: inline-flex;
  width: 100%;
  margin: 10px auto 40px;
}

.youten-text {
  display: block;
  text-align: center;
  margin: auto;
  border: 1px solid #e22255;
  padding: 10px;
  font-size: 12px;
}
