@charset "UTF-8";

.bx-caption,
.p-price-table__body dt,
.sub,
.wai,
.woocommerce-product-details__short-description {
    line-height: normal
}

.g-lg-price-lg,
.g-price-lg,
.sizetitle-oder2 .bs-title-inner,
.sizetitle-oder2 td.red2 a,
.sizetitle-oder2 th {
    font-family: Lato, Arial, Helvetica, "Noto Sans JP", sans-serif
}

.botandayo,
.file-pop {
    text-decoration: none
}

::after,
::before,
:root {
    --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 .l-contents,
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
}

.bx-caption,
.bx-caption-wrap {
    margin: auto;
    text-align: center;
    display: flex
}

button.bpr-modal-thumb img[loading=lazy],
img.bpr-real-lazy[loading=lazy],
img.color-check.tibi[loading=lazy],
img.number-slide.main-img.cm-thumb-real-lazy[data-cm-src],
img.thumbnails-items[loading=lazy] {
    aspect-ratio: 1/1;
    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]) {
    display: flex;
    position: relative;
    align-content: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    margin-bottom: 8px;
    overflow: hidden;
    touch-action: pan-y;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    user-select: none
}

.bx-caption-wrap {
    width: 100%;
    height: 100%;
    align-items: center
}

.bx-caption {
    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);
    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(0, 0, 0)
}

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, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(3) {
        transform: translate3d(18px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(4) {
        transform: translate3d(27px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(5) {
        transform: translate3d(36px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(6) {
        transform: translate3d(45px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(7) {
        transform: translate3d(54px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(8) {
        transform: translate3d(63px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(9) {
        transform: translate3d(72px, 0, 0)
    }

    .keen-slider__slide.slide-li.number-slide:nth-child(10) {
        transform: translate3d(81px, 0, 0)
    }
}

.slider-list-thumbnails .keen-slider__slide.active .active-border::after {
    z-index: 1;
    box-sizing: border-box;
    border: 2px solid #49c087;
    content: "";
    position: absolute;
    inset: 0
}

.slider-list-thumbnails .keen-slider__slide.active .active-border::before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    inset: 0;
    border: 3px solid #fff;
    border-radius: inherit;
    z-index: 1
}

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

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
}

.m-form-radio,
.mon,
.price-wrapper,
.slider-list-thumbnails:not([data-keen-slider-disabled]) {
    align-items: center
}

#error-return,
#img_popup,
#shop-cart,
.mon,
.monti,
.tab4-body,
.woocommerce-product-gallery .flex-control-nav li,
body.is-desktop .keen-slider__slide.slide-li.number-slide img.main-img,
body.is-mobile .function-bnr,
body.is-mobile .molecules-goods-list,
body.is-mobile .system-product {
    position: relative
}

img.number-slide.main-img {
    position: relative;
    max-width: 100%;
    max-height: 500px;
    display: block;
    object-fit: cover;
    width: 100%
}

.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: 1.2s ease-out both cm-image-switch
}

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

.keen-slider__slide.slide-li .number-slide.main-img,
.keen-slider__slide.slider-list-img .main-sl-img {
    animation: .4s ease-in forwards fadeIn
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

#thumbnails>.keen-slider__slide.slide-li.number-slide {
    position: relative;
    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)
}

#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 {
        flex: 0 0 calc((100% - 58.5px)/ 7.5);
        min-width: calc((100% - 58.5px)/ 7.5);
        max-width: calc((100% - 58.5px)/ 7.5)
    }

    #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 {
        flex: 0 0 calc((100% - 56px)/ 8);
        min-width: calc((100% - 56px)/ 8);
        max-width: calc((100% - 56px)/ 8)
    }

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

.bpr-review-form .rating-textdisplay.display-none,
.cm-file-upload input[type=file],
.comment-form-rating-radios input,
.display-none,
.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 #review_form #respond p.comment-notes,
.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-comment-form-images span.required,
.wcpr-filter-button.wcpr-filter-button-verified,
.wcpr-filter-container .wcpr-filter-button.wcpr-filter-button-verified,
.woocommerce #review_form #respond .from-custom-wrap p.comment-notes,
body.is-desktop #popsize.expanded .main-size-table,
body.is-desktop .scroll-hint-icon-wrap.is-active,
body.is-mobile .function-bnr.hhh::after,
body.is-mobile .pop-size-btn,
id_price5r,
span.accordion-btn.js-btn::before,
span.required {
    display: none
}

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

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
}

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

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

.p-product .woocommerce-product-rating .count,
.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;

    min-height: 1400px
}

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

.p-product-tabs,
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-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,
body.theme-goya .woocommerce-Reviews .commentlist {
    max-width: 100%
}

.mon,
span.tooltip_btn {
    font-weight: 700
}

.kasuji,
.kasuji2,
.p-product-review-form,
.p-product-review-list .woocommerce-noreviews,
.wcpr-load-more-reviews-button-container {
    text-align: center
}

#order-cart-size,
#scrollswipe,
#shop-cart,
.arrival-date-content,
.joji,
.kasuji,
.kasuji2,
.photolist-image-toggle img,
.tutt,
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,
.kasuji2 {
    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
}

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;
    padding: 10px;
    margin-bottom: 12px;
    line-height: 1.5;
    font-size: min(3.68vw, 17px)
}

.price-wrapper {
    display: flex;
    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%
}

.bg-size-Length,
.bg-size-width,
.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
}

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

#shop-cart2,
.sample_send_wrapper-contens {
    padding: 15px 12px 20px
}

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

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

#order-cart-size,
.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) {
    .l-productLayout-top {
        width: calc(100% + 18px);
        margin: 0 -9px
    }

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

    .p-product {
        margin-top: -41px
    }
}

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

.botandayo.note-link:before,
.cm-zaiko-popup,
.inline-radio label,
.p-product-section #tab-title-recently-viewed,
.p-product-section #tab-title-wishlist,
.scrollTable .scroll-hint-icon-wrap,
.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;
    pointer-events: none
}

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

.favorite-button-count2.favorite-button-count {
    position: relative;
    border-left: none;
    padding: 0 0 0 8px;
    font-size: min(3.3vw, 16px);
    margin: 0
}

.p-product-like-top.p-product-like2 {
    display: -webkit-box;
    display: flex;
    border: 1px solid #ccc;
    font-weight: 400;
    width: auto;
    padding: 5px 14px 4px 9px;
    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
}

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

.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 {
    width: 100%;
    opacity: 0 !important;
    position: absolute;
    height: 100%;
    display: block;
    margin: auto;
    cursor: pointer
}

.inline-radio label {
    width: 100%;
    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: 10%
}

.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: #e74612;
    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-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 #05c5f5;
    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-like-top.p-product-like2.is-liked::before,
.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: #0caaa8;
    mask: var(--tcd-icon--heart) no-repeat center/1.5em
}

.p-product-like-top.p-product-like2::before {
    mask: var(--tcd-icon--heart) no-repeat center/min(4.5vw, 1.4em)
}

.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,
.cart-box .svg,
.zumen-1 {
    position: absolute
}

#g55 {
    right: 0
}

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

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

.ordermade-select select,
.p-cart-form__option-select .select-color-left,
.p-cart-form__option-select .select-color-right,
.select-color-new {
    line-height: 1.5;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: right 6px center no-repeat;
    font-size: min(3.74vw, 16px)
}

.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;
    width: 100%;
    letter-spacing: -.015rem;
    border: 1px solid #494443;
    appearance: none;
    border-radius: 4px;
    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;
    display: inline-block;
    padding: 10px 9px;
    transition: .2s;
    border: 1px solid #494443;
    border-radius: 4px;
    outline: 0;
    appearance: none;
    box-sizing: border-box;
    width: 100%;
    background-size: min(5.5vw, 20px);
    background-image: var(--tcd-icon--arrow-bottom)
}

.botandayo,
.p-cart-form__button-wrap {
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box
}

.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: #e74612;
}

.tooltip_btn a {
    font-size: 14px;
    background: #fff;
    border-radius: 50px;
    padding: 4px 16px 4px 30px;
    position: relative;
    overflow: hidden;
    align-items: center;
    display: flex;
    z-index: 1
}

.tooltip_btn a span {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #6e6e6e;
    display: flex;
    color: #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-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 {
    z-index: 10;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important
}

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

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

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

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

.wcpr-comment-form-notify>span span,
span.oyatama span.tama {
    width: 5px;
    height: 5px;
    animation: .5s cubic-bezier(.6, .05, .15, .95) .1s infinite alternate backwards wcpr_notify_loading
}

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

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

.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;
    cursor: pointer;
    color: #fff;
    border-radius: 4px;
    padding: 12px 12px 12px 28px;
    outline: 0;
    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;
    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, 1rem) !important;
    padding: 16px 9px 16px 12px;
    vertical-align: middle
}

.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: 28%;
    max-width: 1100px;
    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
}

.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__shipping .dr-bold,
.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 .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
}

.cm-arrival__clear,
.cm-popup-close {
    line-height: 1;
    position: absolute;
    cursor: pointer
}

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

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

.cm-popup-content,
span.hikoukai {
    top: 50%;
    transform: translate(-50%, -50%)
}

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

span.oyatama span.tama {
    border-radius: 100%;
    background: currentColor
}

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

.wcpr-comment-form-notify>span span:last-child,
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;
    left: 50%;
    max-width: 92vw;
    max-height: 92vh;
    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 {
    top: -42px;
    right: 0;
    border: 0;
    padding: 0;
    background: 0 0;
    color: #fff;
    font-size: 38px
}

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

.upload-ok,
.upload-ok-2,
.upload-status-link,
.upload-status-link-2 {
    font-size: min(3.7vw, 15px)
}

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

.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,
#upload-filename-2 {
    color: #666;
    word-break: break-all;
    display: block;
    font-size: min(3.5vw, 14px)
}

#confirmation-file,
#confirmation-file-2 {
    align-items: center;
    justify-content: space-between
}

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

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

.upload-ok,
.upload-ok-2,
.upload-online {
    padding: 8px 0 12px;
    display: block
}

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

.cm-arrival__postal,
.image_gnav,
.wcpr-selected-image {
    position: relative
}

.upload-ok,
.upload-ok-2 {
    color: #2e7d32
	display: flex;
    align-items: center;
}
span.upload-ok svg {
    margin-right: 4px;
}
#saved-upload-filename,
#saved-upload-filename-2 {
    padding: 6px 0 0;
    color: #888;
    display: block;
    line-height: normal;
    font-size: min(3.5vw, 14px)
}

#cm-file-clear,
#cm-file-clear-2 {
    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)
    }
}

.star-rating span:before,
.star-rating:before,
.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
}

.woocommerce-Reviews,
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 #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
}

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

.p-product {
    --tcd-share-button-gap-pc: 0.3em;
    --tcd-share-button-font-size-pc: 35px
}

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

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

.p-product-tabs-section-content-description {
    margin-top: 60px
}

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

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

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

    .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: 30px
    }

    .p-product-tabs-section-content-additional_information {
        font-size: 14px;
        padding: 20px
    }

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

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

    .p-product-tabs-section-content-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
    }
}

.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-review-list .woocommerce-pagination,
    .p-product-tabs-section-content-recently-viewed,
    .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,
    .p-product-tabs-section-content-wishlist,
    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;
    cursor: pointer;
    transition: .2s;
    text-decoration: none;
    color: #fff;
    border: 0;
    border-radius: 4px;
    background: #0ca6aa;
    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
}

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

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

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

.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-weight: 600;
    line-height: 1.8;
    font-size: 18px
}

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

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,
span.photo-upload-sp-text.is-open::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;
    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 .woocommerce-product-rating .woocommerce-review-link:hover .count {
        color: rgba(255, 255, 255, .5)
    }

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

.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,
.wcpr-selected-image-info {
    line-height: 2
}

.select-close {
    color: red;
    font-size: min(3.8vw, 15px) !important;
    padding: 6px 0 0;
    line-height: normal
}

.bpr-review-form .comment-form-rating,
.comment-form-rating {
    gap: 10px;
    display: grid;
    margin: 0 auto;
    width: 100%;
    max-width: 840px
}

.bpr-photo-input,
.bpr-review-form .comment-form-rating-radios input[type=radio] {
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    position: absolute !important
}

span.hikoukai {
    position: absolute;
    right: 26px;
    margin: auto;
    -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 {
    clip-path: inset(50%) !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: 0 0;
    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] {
    padding: 0 !important;
    margin: -1px !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 .comment-notes {
    font-size: 12px;
    color: #646970;
    margin: 6px 0 14px
}

#cm-image-popup.is-open,
.bpr-review-form .comment-notes,
.bpr-review-form .form-submit,
.bpr-review-form .wcpr-comment-form-error-wraps,
.bpr-review-form .wcpr-comment-form-notify-wraps,
.bpr-selected-image-container>.bg-img-lazy,
.cm-arrival__input:not(:placeholder-shown)+.cm-arrival__clear,
.wcpr-comment-form-images label,
.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
}

.bpr-google-review-invite {
    margin: 12px 0 18px;
    padding: 14px 16px;
    border: 1px solid #c3c4c7;
    background: #fff
}

.bpr-google-review-invite p,
.p-product-section .p-product-cards-item-image {
    margin: 0 0 10px
}

.bpr-google-review-invite p:last-child,
.wcpr-grid.wcpr-masonry-style .wcpr-grid-item:nth-last-child(2) {
    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,
.wcpr-comment-helpful-button-container span,
body.is-desktop .slider-thumbnail1 .keen-slider__slide.number-slide {
    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,
.p-product-tabs-section .c-wc-rating {
    margin: 0 auto
}

.bpr-review-form input[type=email],
.bpr-review-form input[type=text],
.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: 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, .1) !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: #d63638 solid 1px;
    outline-offset: 4px
}

.bpr-review-form .bpr-field-invalid,
.bpr-review-form .comment-form-comment .bpr-field-invalid,
.bpr-review-form .wcpr-custom-field-input-value .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 {
    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
}

.bg-tokube img,
.bpr-review-form .bpr-form-check input,
.cm-arrival__shipping {
    margin: 0
}

@media (max-width:600px) {
    #photo-upload-sp {
        width: 100%
    }
}

.tab_content_price_inner #pl_table,
.wcpr-comment-form-images .wcpr-selected-image-caption,
body.is-mobile .from-custom-wrap,
body.is-mobile .wcpr-custom-field .wcpr-custom-field-input,
body.is-mobile .wcpr-custom-field .wcpr-custom-field-input>div {
    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
}

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

.wcpr-filter-container.wcpr-filter-loading .wcpr-filter-button-wrap,
.wcpr-html,
body.is-desktop #popsize.expanded .sizescroll {
    overflow: hidden
}

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

.p-product-review-form .comment-form-rating .stars>span,
.wcpr-comment-helpful-button-vote-container {
    display: flex
}

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

.cm-arrival__shipping .dr-medium,
span.wcpr-review-custom-field-value {
    font-weight: 500
}

.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 #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,
body.is-mobile .p-product-review #review_form #respond p {
    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
}

#review_form .comment-form-comment,
#review_form .wcpr-comment-form-title.comment-form-comment.bottom-px,
#review_form .wcpr-custom-field,
#review_form .wcpr-custom-fields-wrap,
#review_form p.comment-form-comment.comment-form-author,
#review_form p.comment-form-email.comment-form-comment,
.woocommerce #review_form #respond .from-custom-wrap p {
    display: grid;
    width: 100%;
    margin: 0;
    position: relative;
    grid-template-columns: 200px 1fr;
    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
}

.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_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/30px no-repeat #fff;
    width: 50px;
    height: 50px;
    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 {
    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);
    padding: 0;
    width: calc(100% + 18px) !important;
    margin: 15px -9px !important
}

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

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
}

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

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

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

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

.p-product-tabs-section-content-description h3 {
    margin-bottom: 20px;
    font-size: min(3.8vw, 24px);
    padding: 30px 0 15px !important;
    border-bottom: 3px double !important;
    text-align: center !important;
    font-weight: 700;
    border-top: none !important
}

.kaisetsu-box11 {
    margin: 50px 0
}

.kaisetsu-box11-title {
    position: absolute;
    margin-top: -36px;
    font-weight: 400;
    background-color: #402e32 !important;
    border: 2px solid #fff;
    border-left: 0;
    font-size: min(4vw, 1.18rem) !important;
    color: #fff;
    padding: 10px 13px;
    border-radius: 2px;
    letter-spacing: 0 !important;
    display: flex;
    align-items: center;
    line-height: normal;
    z-index: 1
}

.minima {
    font-size: min(3vw, 12px) !important;
    background: #fff;
    color: #333;
    border-radius: 15px;
    padding: 6px 8px;
    line-height: normal;
    margin-left: 15px
}


.order-tab {
    display: flex;
    flex-direction: row;
    text-align: center;
    margin: 0 0 25px;
}



.tab-change__link.on {

    opacity: 1;
    text-shadow: none;
    background: #e74612;
    color: #fff;
    border-radius: 3px 3px 0 0;
}

.r-3-t {
    font-size: min(3vw, .7rem);
    display: block;
    padding: 4px 0 0;
    line-height: normal;
}

.tab-change__link {
    position: relative;
    display: block;
    text-decoration: none;
    cursor: pointer;
padding: 14px 0 6px;
}

.tab-change {
    position: relative;
    z-index: 1;
    font-size: min(3.4vw, 16px);
    text-align: center;
    transition: all .2s ease;
    min-height: 4.3vh;
    display: block;
padding: 0;
    width: 50%;
    border-bottom: 1px solid #403728;
    font-weight: 700;

}

.tab-change__link.on::after {
    border: 14px solid transparent;

    border-top-color: #e74612;
    border-top-width: 14px;
    content: "";
    display: block;
    left: 41.5%;
    position: absolute;
    width: 0;
    top: 100%;
    z-index: 1;
}