
.slick-slider {
    margin-bottom: 30px;
}
.slick-initialized .slick-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    content: " ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    opacity: .25;
    background-color: black;
    border-radius: 50%;

}

.slick-dots li.slick-active button:before {
    opacity: .75;
    background-color: black;
}

.slick-dots li button.thumbnail img {
    width: 0;
    height: 0;
}
.slick-lightbox .slick-slider {
    margin-bottom: 0;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
}

.slick-lightbox .slick-initialized .slick-slide {
    height: 100%;
    display: block;
}

.slick-lightbox .slick-lightbox-slick-img {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    width: 100%;
    min-width: 900px;
    object-fit: contain;
}
.slick-lightbox .slick-lightbox-close {
    right: 40px;
}
.slick-lightbox .slick-lightbox-close:before {
    font-size: 45px;
}
.slick-lightbox .slick-prev:before, .slick-lightbox .slick-next:before {
    font-size: 40px;
}
.slick-lightbox .slick-prev:before {
    content: '◀';
}
.slick-lightbox .slick-next:before {
    content: '▶';
}
.slick-lightbox .slick-prev, .slick-lightbox .slick-next {
    width: 40px;
    height: 40px;
}
.slick-lightbox .slick-lightbox-slick .slick-prev {
    left: 40px;
    z-index: 9;
}
.slick-lightbox .slick-lightbox-slick .slick-next {
    right: 40px;
}
.slight_scroll {
    overflow-y: hidden;
    transition: ease-in-out 0.5s;
}
#product_detailpage .slick-slide img {
    margin: 0 auto;
    object-fit: scale-down;
    cursor: pointer;
    height: 455px;
}

#product_detailpage .ec-sliderItemRole {
    padding: 0;
}
#product_detailpage .productdetail_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 35px 0 0;
    gap: 25px;
}
#product_detailpage .productdetail_sec {
    width: 100%;
    max-width: 1090px;
    display: flex;
    justify-content: space-between;
    gap: 25px;
}
#product_detailpage .productfig_sec {
    max-width: 455px;
    width: 100%;
}
#product_detailpage .productitem_wrap {
    max-width: 601px;
}

#product_detailpage .ec-sliderItemRole .item_nav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0;
    gap: 10px;
}
#product_detailpage .ec-sliderItemRole .slideThumb {
    width: 23.3%;
    opacity: 1;
    cursor: pointer;
    border: 1px solid #bbbbbb;
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
#product_detailpage .ec-sliderItemRole .slideThumb img {
    width: auto;
    height: auto;
    -o-object-fit: cover;
    object-fit: initial;
}
#product_detailpage .productitem_tagname {
    color: #878787;
    font-size: 15px;
}
#product_detailpage .productitem_name {
    color: #404040;
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
    padding: 5px 0 15px 0;
}
#product_detailpage .product_status {
    display: flex;
    gap: 10px;
    margin: 0 0 20px 0;
    flex-wrap: wrap;
}
#product_detailpage .product_status span {
    border: 1px solid;
    font-size: 12px;
    padding: 2px 3px;
    font-weight: bold;
}
#product_detailpage .product_status .tag_class_1 {
    color: #107667;
    border-color: #107667;
}
#product_detailpage .product_status .tag_class_2 {
    color: #FF6666;
    border-color: #FF6666;
}
#product_detailpage .product_status .tag_class_3 {
    color: #dd863e;
    border-color: #dd863e;
}
#product_detailpage .product_status .tag_class_4 {
    color: #f09f00;
    border-color: #f09f00;
}
#product_detailpage .product_status .tag_class_5 {
    border-color: #0cadeb;
    color: #0cadeb;
}
#product_detailpage .pdreview_sec {
    display: flex;
    align-items: center;
}
#product_detailpage .pdreview_rate {
    margin: 0 35px 0 0;
}
#product_detailpage .pdreview_rateicn {
    vertical-align: text-top;
}
#product_detailpage .pdreview_ratetext {
    color: #868686;
    font-size: 12px;
    margin: 0 10px 0 0;
}
#product_detailpage .recommend_level{
    color: #ffbf00;
    font-size: 16px;
    letter-spacing: 3px;
}
#product_detailpage .pdreview_ratenum {
    color: #868686;
    margin: 0 0 0 7px;
}
#product_detailpage .pdreview_link {
    color: #004080;
    text-decoration: underline;
    font-weight: 550;
}
#product_detailpage .product_codesec {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 2px solid #dcdcd4;
    border-top: 2px solid #dcdcd4;
    padding: 10px 0 5px;
    margin: 15px 0 25px 0;
}
#product_detailpage .product_codesec dt {
    width: 100px;
    color: #868686;
    font-weight: initial;
    text-align-last: justify;
}
#product_detailpage .product_codesec dd {
    width: fit-content;
    min-width: calc(100% - 120px);
    color: #868686;
    margin: 0 0 7px 15px;
}
#product_detailpage .product_specitext {
    font-size: 16px;
    font-weight: bold;
    color: #404040;
    margin: 0 0 1rem;
}
#product_detailpage h3.product_specitext {
    font-size: 16px;
    font-weight: bold;
    color: #404040;
    margin: 0;
}
#product_detailpage .product_detaillist {
    margin: 18px 0 0 0;
    padding: 0 0 20px;
    line-height: 1.3;
    color: #404040;
    font-size: 15px;
    border-bottom: 2px dotted #e2e2db;
}
#product_detailpage .product_equipmentsec {
    border-bottom: 2px dotted #e2e2db;
    padding: 20px 0;
}
#product_detailpage .product_equipmenttext {
    color: #404040;
    font-size: 16px;
    line-height: 1.5;
    padding: 20px 0 0 0;
}
#product_detailpage .product_explaintext {
    color: #404040;
    line-height: 1.5;
    padding: 20px 0 0;
    word-break: break-all;
}
#product_detailpage .productitem_doc a {
    display: flex;
    justify-content: space-between;
    background: #eeeeee;
    border: 1px solid #999;
    margin: 20px 0 0 0;
    align-items: center;
    padding: 8px 25px 0;
    position: relative;
}
.productitem_doc a::after {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/product/e_docicn.png);
    width: 19px;
    height: 19px;
    right: 1px;
    bottom: 1px;
}
#product_detailpage .product_doctext .product_docttl {
    color: #ba3053;
    font-size: 18px;
    font-weight: 550;
}
#product_detailpage .product_moretext {
    color: #3f3f3f;
    font-size: 18px;
    padding: 10px 0 0 0;
    font-weight: 550;
}
#product_detailpage .product_cartsec {
    width: 100%;
    max-width: 255px;
    background: #f9f9f9;
    padding: 15px;
}
#product_detailpage .pdsale_text {
    background: #fafd91;
    text-align: center;
    padding: 8px;
    color: #bb3054;
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px 0;
}
.pdsaleperiod_text {
    color: #bb3054;
    margin: 0 0 20px 0;
    font-weight: bold;
    font-size: 13px;
    text-align: center;
}
#product_detailpage .pd_fixprice {
    color: #888888;
    font-size: 14px;
}
#product_detailpage .pd_cartprice {
    text-align: right;
    color: #595959;
    font-size: 14px;
    padding: 10px 0;
}
#product_detailpage .pd_cartprice span {
    font-size: 20px;
}
#product_detailpage .pd_cartprice em {
    font-size: 26px;
    font-weight: bold;
    font-style: normal;
}
#product_detailpage .pd_offsec {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 15px 0;
}
#product_detailpage .pd_fixTextsec {
    margin-left: auto;
}
#product_detailpage .pd_offtext {
    color: #bd375a;
    font-size: 26px;
    font-weight: bold;
}
#product_detailpage .pd_offtext span {
    font-size: 20px;
}
#product_detailpage .pd_stocktext {
    color: #3f3f3f;
}
#product_detailpage .pd_stocktext_empty {
    font-size: 12px;
}
#product_detailpage .pd_pointsec {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ccc;
    margin: 0 0 20px 0;
}
#product_detailpage .cart_point {
    color: #3f3f3f;
}
#product_detailpage .cart_point span {
    color: #107666;
}
#product_detailpage .cart_shiplink {
    color: #003f7f;
    font-weight: bold;
    text-decoration: underline;
}
#product_detailpage .pdcart_shippingsec {
    border-bottom: 1px solid #ccc;
    padding: 13px 0;
}
#product_detailpage .pdcart_shipping_ttl {
    color: #777777;
    font-weight: bold;
    font-size: 17px;
    padding: 6px 0 8px 0;
}
#product_detailpage .pdcart_shipping_ttl img {
    margin: -5px 10px 0 0;
}
#product_detailpage .pdcart_shipping_txt {
    color: #707070;
    font-size: 13px;
    line-height: 1.3;
}
#product_detailpage .pd_cheapsec {
    background: #107667;
    border-radius: 5px;
    padding: 10px;
}
#product_detailpage .pd_cheapttl {
    text-align: center;
    color: #fafd91;
    font-size: 20px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    font-weight: 600;
}
#product_detailpage .pd_cheapbox {
    background: #fff;
    margin: 10px 0 0;
    padding: 10px;
    border-radius: 5px;
}
#product_detailpage .pd_cheapfig {
    border: 2px solid #107667;
    padding: 0;

}
#product_detailpage .pd_cheapfig .cheapfig_status {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#product_detailpage .pd_cheapfig .pd_cheapimg {
    width: 100%;
    height: 144px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#product_detailpage .pd_cheapfig .pd_cheapimg img {
    max-height: 100%;
}
#product_detailpage .pd_cheapfig .cheapfig_statustext {
    background: #107667;
    color: #fafd91;
    font-size: 17px;
    font-weight: bold;
    padding: 3px 10px 5px;
    width: 71px;
}
#product_detailpage .pd_cheapfig .cheapfig_statusnum {
    color: #3f3f3f;
    font-size: 16px;
    font-weight: bold;
    padding: 0 5px 0 0;
    width: 96px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
}
#product_detailpage .cheap_pdcondition {
    display: flex;
    gap: 4px;
    margin: 7px 0;
    flex-wrap: wrap;
}
#product_detailpage .cheap_pdcondition span {
    border: 1px solid;
    font-size: 11px;
    padding: 4px 5px;
}
#product_detailpage .cheap_pdcondition .cheap_sale-cond {
    color: #d90000;
}
#product_detailpage .cheap_pdcondition .cheap_deli-cond {
    color: #dd863e;
}
#product_detailpage .cheap_pdcondition .cheap_equi_cond {
    color: #107667;
}
#product_detailpage .cheap_shipstatus {
    border: 1px solid;
    font-size: 11px;
    padding: 1px 2px;
}
#product_detailpage .cheap_stockstatus {
    color: #0059b2;
}
#product_detailpage .cheap_shiptext {
    color: #3f3f3f;
    font-size: 12px;
}
#product_detailpage .cheap_pricesec {
    text-align: center;
    line-height: 1.25;
}
#product_detailpage .cheap_pricesec .cheap_priceoff {
    background: #fafd91;
    color: #bb3054;
    font-size: 18px;
    padding: 2px 8px 0;
    text-align: center;
    margin: 0;
    font-weight: bold;
}
#product_detailpage .cheap_pricesec .cheap_priceoff span {
    font-size: 14px;
}
#product_detailpage .cheap_pricesec .cheap_price {
    font-size: 12px;
    color: #595959;
}
#product_detailpage .cheap_pricesec .cheap_price span {
    font-size: 10px;
}
#product_detailpage .cheap_valuetext {
    color: #b93153;
    font-size: 15px;
}
#product_detailpage .cheap_valuetext em {
    font-weight: bold;
}
#product_detailpage .cheap_pdlink {
    background: #404040;
    width: 100%;
    display: block;
    text-align: center;
    border-radius: 5px;
    padding: 10px;
    color: #fff;
    font-size: 16px;
    margin: 12px 0 0;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    font-weight: 600;
}
#product_detailpage .cheap_pdlink:hover {
    color: #fff;
}
#product_detailpage .pd_cheapsec_btm {
    border-bottom: 3px solid #cccccc;
    padding: 0 0 15px 0;
}
#product_detailpage .pd_quantity {
    margin: 15px 0 0 0;
}
/* #product_detailpage .pd_kakusec {
    border-top: 3px solid #cccccc;
    margin: 15px 0 0 0;
    padding: 12px 0 0 0;
} */
#product_detailpage .kaku_ttl {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 0 0 7px 0;
    color: #3f3f3f;
}
#product_detailpage .pd_kakuselect {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
    text-align: left;
    padding: 10px 0 10px 20px;
    appearance: none;
    background: url(/html/template/default/assets/img/product/cart_selecticn.png) no-repeat top 15px right 10px #fff;
    margin: 0 0 15px;
}
#product_detailpage .pd_quantitybox {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 15px;
    margin: 0 0 20px 0;
    background: #fff;
}
#product_detailpage .pd_quantitybox .pd_quantity-minus {
    font-size: 16px;
    color: #3f3f3f;
    cursor: pointer;
    min-height: 26px;
    display: flex;
    align-items: center;
}
#product_detailpage .pd_quantitybox .pd_quantity-number {
    text-align: center;
    font-size: 24px;
    color: #3f3f3f;
    font-weight: bold;
    width: 100%;
    margin: 0 auto;
}
.pd_quantity-number::-webkit-inner-spin-button,
.pd_quantity-number::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance:textfield;
}
#product_detailpage .pd_quantitybox .pd_quantity-plus {
    font-size: 26px;
    color: #3f3f3f;
    cursor: pointer;
}
.mb-3 {
    display: none;
}
#product_detailpage .pd_cart-btn {
    width: 100%;
    border: none;
    background: #bb3054;
    color: #fff;
    border-radius: 5px;
    padding: 12px 0;
    font-size: 16px;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#product_detailpage .pd_cart-btn img {
    margin: 0 10px 0 0;
}
#product_detailpage .pd_cart-btn.disabled {
    background: gray;
}
#product_detailpage .pd_cart_fav {
    border: 1px solid #dd863e;
    background: #fff;
    width: 100%;
    padding: 10px 0;
    border-radius: 5px;
    color: #dd863e;
    font-size: 15px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}
#product_detailpage .pd_cart_fav img {
    margin: 0 10px 0 0;
}
#product_detailpage .pd_contact_ttl {
    color: #404040;
    font-size: 16px;
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
    margin: 5px 0 5px;
}
#product_detailpage .pd_contact_ttl img {
    margin: 0 10px 0 0;
}
#product_detailpage .pd_contact_txt {
    color: #666666;
    font-size: 13px;
    line-height: 1.5;
}
#product_detailpage .pd_contact_txt a {
    color: #003f7f;
    text-decoration: underline;
}

#product_detailpage .pd_comparesec {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 40px 0 0 0;
    border-bottom: 2px solid #dcdcd4;
    padding: 0 0 40px 0;
}
#product_detailpage .pd_comparebox {
    background: #f9f9f9;
    padding: 12px 12px;
    width: 48.5%;
    border: 1px solid #bbbbbb;
}
#product_detailpage .pd_comparebox.comparebox_equivalent {
    border: 1px solid #107667;
}
#product_detailpage .pd_comparefig {
    width: 120px;
    background: #fff;
    text-align: center;
}
#product_detailpage .pd_compareImg {
    height: 102px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#product_detailpage .pd_comparefig img {
    max-height: 100%;
}
#product_detailpage .comparebox_equivalent .pd_comparefig {
    border: 1px solid #107667;
}
#product_detailpage .comparefig_status {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#product_detailpage .comparefig_statustext {
    background: #404040;
    color: #fff;
    font-size: 12px;
    padding: 2px 3px;
}
#product_detailpage .comparebox_equivalent .comparefig_statustext {
    background: #107667;
    color: #fafd91;
    font-size: 12px;
    padding: 2px 3px;
}
#product_detailpage .comparefig_statusnum {
    width: 70px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#product_detailpage .pd_comparewrap {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}
#product_detailpage .pd_comparettl {
    font-size: 15px;
    padding: 0 0 10px 0;
    font-weight: bold;
}
#product_detailpage .comparebox_equivalent .pd_comparettl {
    color: #107667;
}
#product_detailpage .pd_comparedetail {
    width: 79%;
}
#product_detailpage .pdcompare_tagname {
    color: #878787;
    padding: 0 0 5px 0;
}
#product_detailpage .compare_pdname {
    color: #003f7f;
    text-decoration: underline;
    line-height: 1.3;
}
#product_detailpage .compare_pdlist {
    padding: 0;
    display: flex;
    gap: 10px;
    margin: 13px 0;
}
#product_detailpage .compare_pdcondition {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 3px 5px;
}
#product_detailpage .compare_pdcondition span {
    border: 1px solid;
    font-size: 12px;
    padding: 2px 4px;
}
#product_detailpage .compare_pdcondition .compare_sale-cond {
    color: #bb3054;
}
#product_detailpage .compare_pdcondition .compare_deli-cond {
    color: #dd863e;
}
#product_detailpage .compare_pdship .compare_shipstatus {
    border: 1px solid;
    font-size: 12px;
    padding: 1px 2px;
}
#product_detailpage .compare_pdship .compare_shipstock {
    color: #0059b2;
}
#product_detailpage .compare_shipstatus_text {
    font-size: 13px;
}
#product_detailpage .compare_pricebox {
    display: flex;
    justify-content: space-between;
}


#product_detailpage .compare_fixprice {
    font-size: 15px;
    color: #595959;
}
#product_detailpage .compare_fixprice em{
    font-weight: bold;
}
#product_detailpage .compare_fixprice span {
    font-size: 10px;
}
#product_detailpage .compare_saleprice {
    font-size: 14px;
    color: #b93153;
}
#product_detailpage .compare_saleprice em {
    font-weight: bold;
}
#product_detailpage .compare_pdbtn {
    background: #404040;
    color: #fff;
    border-radius: 3px;
    padding: 10px 5px;
    font-size: 16px;
    margin: -15px 0 0 0;
    text-align: center;
}
#product_detailpage .compare_pdbtn:hover {
    color: #fff;
}
#product_detailpage .details_sec {
    padding: 30px 0;
}
#product_detailpage .details_freettl {
    text-align: center;
    color: #3f3f3f;
    font-size: 24px;
    font-weight: bold;
}
/* #product_detailpage .free_text {
    background: #bbbbbb;
    text-align: center;
    height: 800px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0 0;
} */
#product_detailpage .free_text {
    line-height: 1.5;
    color: #3f3f3f;
    font-size: 16px;
}
#product_detailpage .free_text ul {
    padding-left: 0;
}
/* レビュー */
.pd_reviewsec {
    border-top: 2px solid #dcdcd4;
    padding: 30px 0 0;
}
.pd_reviewsec .reviewsec_ttllist {
    display: flex;
    padding: 0;
    justify-content: space-between;
    align-items: center;    
    margin: 0 0 25px 0;
}
.pd_reviewsec .review_rating span {
    color: #868686;
}
.pd_reviewsec .review_rating span img {
    vertical-align: bottom;
    margin: 0 1px 0;
}
.pd_reviewsec .review_ttl {
    color: #3f3f3f;
    font-size: 24px;
    font-weight: bold;
}
.pd_reviewsec .review_linksec .review_linkbtn {
    color: #003f7f;
    text-decoration: underline;
    font-weight: bold;
    cursor: pointer;
}
.pd_reviewsec .review_linksec .review_linkbtn01 {
    margin: 0 50px 0 0;
}
.pd_reviewsec .review_moreDisable {
    display: none;
}
.pd_reviewsec .review_box {
    border: 1px solid #eeeeee;
    margin: 0 0 20px;
    padding: 15px 25px;
    display: none;
}
.pd_reviewsec .review_box:nth-child(2),
.pd_reviewsec .review_box:nth-child(3) {
    display: block;
}

.pd_reviewsec .review_info {
    display: flex;
    justify-content: space-between;
}
.pd_reviewsec .review_infolist {
    display: flex;
    margin: 0 0 20px 0;
}
.pd_reviewsec .review_infolist dt {
    width: 165px;
    color: #3f3f3f;
    font-weight: 500;
}
.pd_reviewsec .review_infolist dd {
    margin: 0;
    color: #3f3f3f;
    font-weight: bold;
    font-size: 13px;
}
.pd_reviewsec .review_infotext {
    color: #3f3f3f;
    font-size: 16px;
    font-weight: 550;
    line-height: 1.5;
}
.pd_reviewsec .review_rating .recommend_average {
    color: #ffbf00;
    font-size: 16px;
    letter-spacing: 3px;
}
.pd_reviewsec .review_rate .recommend_level {
    color: #ffbf00;
    font-size: 16px;
    letter-spacing: 3px;
}
.review_all-link {
    display: flex;
    justify-content: flex-end;
    text-decoration: underline;
    color: #003f7f;
    font-weight: bold;
    cursor: pointer;
}

/* 相当品モダール */
.product_page .equivalent_model {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99;
    background: rgba(0, 0, 0, 0.7);
    left: 0;
    top: 0;
    display: none;
    transition: 0.8s ease-in-out;
}
.product_page .equivalent_modelwrap {
    position: absolute;
    background: #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 7px;
    padding: 15px 20px;
    width: 100%;
    max-width: 600px;
}
.product_page .equivalent_model_close {
    text-align: right;
    cursor: pointer;
}
.product_page .equivalentmodel__ttl {
    text-align: center;
    font-size: 1.9rem;
    color: #107968;
    font-weight: bold;
    font-family: "メイリオ", Meiryo, Arial, sans-serif;
}
.product_page .equivalentmodel__ttl em {
    font-size: 3rem;
}
.product_page .equivalentmodel_box {
    position: relative;
    border: 3px solid #107968;
    border-radius: 5px;
    padding: 35px 10px 0;
    margin: 20px 0 20px 0;
}
.product_page .equivalentmodel_boxttl {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 1.7rem;
    width: 100%;
    text-align: center;
    font-weight: bold;
    color: #fff;
    text-shadow: 3px 0 #107968, -2px 0 #107968, 0 3px #107968, 0 -2px #107968, 3px 2px #107968, -3px -2px #107968, 3px -2px #107968, -1px 2px #107968;
}
.product_page .equivalentmodel_list {
    padding: 0;
}
.product_page .equivalentmodel_list li {
    font-size: 23px;
    font-weight: bold;
    color: #107968;
    margin: 0 0 15px 0;
}
.product_page .equivalentmodel_list li:before {
    content: "■";
    font-size: 35px;
    line-height: 0;
    vertical-align: middle;
}
.product_page .equivalent_modelwrap .modeltext_col {
    background: linear-gradient(to bottom, transparent 0 51%, #ffff00 42% 78%, transparent 79% 100%);
}
.product_page .equivalentmodel_list li em {
    font-size: 20px;
}
.product_page .equivalentmodel_list li .modelsmall_text {
    font-size: 16px;
}
.product_page .equivalent_modelwrap .equivalentmodel_btn {
    text-align: center;
    display: block;
    background: #3f3f3f;
    border-radius: 7px;
    color: #fff;
    font-size: 25px;
    padding: 20px 10px;
    font-weight: bold;
}
.product_page .equivalent_modelwrap .ec-checkbox {
    text-align: center;
}
.product_page .equivalent_modelwrap .ec-checkbox input {
    display: none;
}
.product_page .equivalent_modelwrap .checkbox-field-text {
    color: #3f3f3f;
    font-weight: bold;
    font-size: 22px;
    margin: 20px 0 0;
    display: inline-block;
    position: relative;
    cursor: pointer;
}
.product_page .equivalent_modelwrap .checkbox-field-text:before {
    border: 4px solid #666;
    border-radius: 7px;
    content: "";
    display: block;
    height: 35px;
    left: -48px;
    margin: 3px 0 0 0;
    position: absolute;
    top: -7px;
    width: 34px;
    background: #fff;
}
.product_page .equivalent_modelwrap input[type=checkbox]:checked + .checkbox-field-text:after {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: -37px;
    width: 13px;
    height: 24px;
    -webkit-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
    border-bottom: 4px solid #107968;
    border-right: 4px solid #107968;
}
#product_free_area table{
    margin:10px auto;width:90%;
}
.pd_stock_bold {
    font-weight: 900;
}
#product_detailpage .compare_fixprice_listprice {
    font-size: 12px;
    margin: 0 10px 0 0;
}
#product_detailpage .compare_fixprice_salesprice {
    font-size: 17px;
}

.notify_banner {
    position: fixed;
    right: 16px;
    bottom: 80px;
    z-index: 50;
    pointer-events: none;
}
.purchase_notify_banner {
    background-color: #fff;
    color: #333;
    padding: 12px 24px 12px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-size: 14px;
    line-height: 1.4;
    max-width: 280px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    margin: 0 0 10px;
}
.purchase_notify_banner.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.estimate_notify_banner {
    background-color: #fff;
    color: #333;
    padding: 12px 24px 12px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-size: 14px;
    line-height: 1.4;
    max-width: 280px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
}
.estimate_notify_banner.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.notify_close_btn {
  position: absolute;
  top: 8px;
  right: 8px;
  background: transparent;
  border: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}
.purchase_notify_banner,
.estimate_notify_banner {
  position: relative;
}
.notify_count {
    font-weight: 600;
    color: #107968;
    font-size: 20px;
}
.reasonable_ling_text {
    display: flex;
    justify-content: space-around;
    width: 100%;
    padding: 10px 4%;
    color: #fff;
    background: #107667;
}
.reasonable_ling_text::before {
    content:"";
    width: 12px;
    height: 1px;
}
.reasonable_ling_text img {
    width: 12px;
    height: fit-content;
    margin: 1px 0 0;
}
.reasonable_ling_text p {
    font-size: 17px;
    font-weight: 500;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.reasonable_price {
    color: #444444;
    font-weight: 600;
    font-size: 22px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.reasonable_price_title {
    color: #107666;
    font-weight: 600;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    font-size: 18px;
}
.reasonable_price_tax {
    font-size: 11px;
    font-weight: 600;
}
.reasonable_valuetext {
    color: #b20000;
    font-weight: 600;
    font-size: 13px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.reasonable_valuetext span {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0 55%, #ffff00 47% 84%, rgba(255, 255, 255, 0) 85% 100%); 
}
.reasonable_valuetext .reasonable_valuetext_price {
    font-size: 18px;
}
.compare_price_title {
    color: #107666;
    font-weight: 600;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    font-size: 15px;
}
.compare_price_price {
    color: #444444;
    font-weight: 600;
    font-size: 19px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.compare_price_tax {
    color: #444444;
    font-weight: 600;
    font-size: 11px;
    margin: 0 0 0 -4px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.compare_price_value {
    color: #b20000;
    font-weight: 600;
    font-size: 15px;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    margin: 0 0 0 4px;
}
.compare_price_value span {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0 55%, #ffff00 47% 84%, rgba(255, 255, 255, 0) 85% 100%); 
}
.compare_price_valuetext_price {
    font-size: 19px;
}
.reasonable_valuetext_arrow {
    font-size: 14px;
}

@media (max-width: 1400px) {
    #product_detailpage .compare_pricebox {
        align-items: self-end;
    }
}

@media (max-width: 930px) {
    #product_detailpage .productdetail_wrap {
        flex-wrap: wrap;
    }
    #product_detailpage .product_cartsec {
        width: 100%;
        max-width: 100%;
    }
    #product_detailpage .pd_comparesec {
        flex-wrap: wrap;
        gap: 15px;
    }
    #product_detailpage .pd_comparebox {
        width: 100%;
    }
    .slick-lightbox .slick-lightbox-slick-img {
        min-width: 85vw;
    }
    .slick-lightbox .slick-lightbox-slick .slick-next {
        right: 10px;
    }
    .slick-lightbox .slick-lightbox-slick .slick-prev {
        left: 10px;
    }
}


@media (max-width: 767px) {
   
    .slick-lightbox .slick-prev, .slick-lightbox .slick-next {
        width: 30px;
        height: 30px;
    }
    .slick-lightbox .slick-lightbox-slick .slick-next {
        right: 0;
    }
    .slick-lightbox .slick-lightbox-slick .slick-prev {
        left: 0;
    }
    .slick-lightbox .slick-prev:before, .slick-lightbox .slick-next:before {
        font-size: 22px;
    }
    .slick-lightbox .slick-prev:before {
        content: '←';
    }
    .slick-lightbox .slick-next:before {
        content: '→';
    }
    #product_detailpage .productdetail_wrap {
        flex-wrap: wrap;
        margin: 0;
    }
    #product_detailpage .productdetail_sec {
        width: 90%;
        max-width: 100%;
        margin: 0 auto;
        flex-wrap: wrap;
    }
    #product_detailpage .ec-sliderItemRole .item_nav {
        display: none;
    }
    #page_product_detail .slick-dots li {
        position: relative;
        display: inline-block;
        width: 13px;
        height: 0;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
    }
    #page_product_detail .slick-dots li.slick-active button:before {
        opacity: .75;
        background-color: #107667;
    }
    #page_product_detail .slick-dots li button:before {
        width: 15px;
        height: 15px;
        background-color: transparent;
        border-radius: 50%;
        border: 1px solid #4d4d4d;
    }
    .productdetail_sec .slick-initialized .slick-slide {
        height: 324px;
    }
    #product_detailpage .slick-slide img {
        height: 324px;
    }
    #product_detailpage .productitem_tagname {
        font-size: 13px;
    }
    #product_detailpage .productitem_name {
        font-size: 16px;
        margin-top: 0;
        padding: 5px 0 5px 0;
    }
    #product_detailpage .productitem_wrap {
        max-width: 100%;
    }
    #product_detailpage .product_status span {
        font-size: 14px;
        padding: 3px 4px;
        font-weight: bold;
    }
    #product_detailpage .pdreview_sec {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #product_detailpage .pdreview_rate {
        width: 100%;
        margin: 0 0 0 0;
    }
    #product_detailpage .pdreview_ratenum_text {
        display: block;
        margin: 10px 0;
    }
    #product_detailpage .product_status {
        margin: 0 0 10px 0;
    }
    #product_detailpage .product_codesec {
        margin: 15px 0 15px 0
    }
    #product_detailpage .product_codesec dt {
        width: 105px;
        font-size: 15px;
    }
    #product_detailpage .product_codesec dd {
        font-size: 15px;
    }
    #product_detailpage .product_cartsec {
       display: none;
    }
    #product_detailpage .pdsale_text {
        padding: 10px;
        font-size: 22px;
    }
    .pdsaleperiod_text {
        margin: 0 0 10px 0;
        font-size: 15px;
    }
    #product_detailpage .pd_offtext-sec {
        background: #f9f9f9;
        border-radius: 50%;
        width: 90px;
        height: 90px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }
    #product_detailpage .pd_offtext {
        font-size: 25px;
        text-align: center;
    }
    #product_detailpage .pd_offtext em {
        font-size: 34px;
    }
    #product_detailpage .pd_offtext span {
        font-size: 20px;
        display: block;
    }
    #product_detailpage .pd_fixprice {
        font-size: 15px;
        text-align: right;
    }
    #product_detailpage .pd_cartprice {
        font-weight: bold;
    }
    #product_detailpage .pd_stocktext {
        font-size: 18px;
        font-weight: bold;
    }
    #product_detailpage .pd_pointsec {
        margin: 0 0 15px 0;
        border-bottom: 1px solid #dcdcd4;
        padding: 0 0 15px 0;
    }
    #product_detailpage .pd_stocktext,
    #product_detailpage .cart_point,
    #product_detailpage .cart_shiplink {
        font-size: 4.5vw;
        font-weight: bold;
    }
    #product_detailpage .pd_stocktext_empty {
        font-size: 3.5vw;
        font-weight: bold;
    }
    /*#product_detailpage .pdcart_shippingsec {
        display: none;
    }*/
    #product_detailpage .pd_cheapsec {
        margin: 20px 0 0 0;
    }
    #product_detailpage .pd_cheapbox {
        padding: 15px 4%;
    }
    #product_detailpage .pd_cheapfig {
        border: 4px solid #107667;
    }
    #product_detailpage .pd_cheapfig .cheapfig_statusnum {
        font-size: 16px;
        text-align: right;

    }
    #product_detailpage .cheap_pdcondition span {
        font-size: 14px;
    }
    #product_detailpage .cheap_shipstatus {
        font-weight: 14px;
        font-weight: bold;
    }
    #product_detailpage .cheap_shiptext {
        font-weight: 16px;
        font-weight: bold;
    }
    #product_detailpage .cheap_pdcondition {
        gap: 6px;
        margin: 7px 0 0px;
    }
    #product_detailpage .cheap_pricesec .cheap_priceoff {
        font-size: 20px;
        padding: 3px 10px 4px;
        font-weight: bold;
    }
    #product_detailpage .cheap_pricesec .cheap_price {
        font-size: 20px;
        color: #595959;
        font-weight: bold;
    }
    #product_detailpage .cheap_pricesec .cheap_price span {
        font-size: 12px;
        font-weight: 400;
    }
    #product_detailpage .cheap_valuetext {
        font-size: 16px;
        text-align: right;
    }
    #product_detailpage .cheap_pdlink {
        padding: 13px 0 15px;
        font-size: 14px;
    }
    #product_detailpage .pd_kakusec {
        border-top: 1px solid #cccccc;
        margin: 15px 0 15px 0;
        padding: 15px 0 0 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #product_detailpage .kaku_ttl {
        font-size: 18px;
        width: 90px;
        text-align: left;
    }
    #product_detailpage .pd_kakuselect {
        width: 80%;
        border: 2px solid #ddd;
        font-size: 18px;
        padding: 14px 0 14px 20px;
        background: url(/html/template/default/assets/img/product/cart_selecticn.png) no-repeat top 19px right 10px;
        margin: 0 0 0;
    }
    #product_detailpage .pd_quantity {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #cccccc;
        margin: 15px 0 20px 0;
        padding: 0 0 15px 0;
    }
    #product_detailpage .pd_quantitybox {
        width: 80%;
        margin: 0;
    }
    #product_detailpage .pd_cart-btn {
        width: 100%;
        padding: 15px 0;
        font-size: 20px;
    }
    #product_detailpage .pd_cart-btn span {
        width: 35px;
        position: relative;
        left: -27px;
    }
    #product_detailpage .pd_cart_fav {
        border: 2px solid #dd863e;
        padding: 15px 0;
        font-size: 20px;
    }
    #product_detailpage .pd_cart_fav span,
    #product_detailpage .pd_contact_ttl span {
        width: 35px;
        position: relative;
        left: -27px;
    }
    #product_detailpage .pd_contact_ttl {
        font-weight: bold;
        margin: 10px 0;
        background: #fff;
    }
    #product_detailpage .pd_contact_txt {
        margin: 0 0 20px 0;
    }
    #product_detailpage .product_spdetailsec {
        border-top: 2px dotted #e2e2db;
        padding: 20px 0;
        margin: 20px 0 0;
    }
    #product_detailpage .product_detaillist {
        margin: 10px 0 20px 0;
    }
    #product_detailpage .product_equipmenttext {
        padding: 10px 0 0 0;
    }
    #product_detailpage .product_equipmentsec {
        margin: 0 0 20px 0;
        padding: 0 0 20px 0;
    }
    #product_detailpage .product_explaintext {
        padding: 10px 0 20px;
    }
    #product_detailpage .productitem_video {
        margin: 20px 0 0 0;
    }
    #product_detailpage .productitem_doc a {
        align-items: flex-start;
        padding: 10px 10px 0;
    }
    #product_detailpage .product_doctext .product_docttl {
        font-size: 15px;
    }
    #product_detailpage .product_moretext {
        font-size: 15px;
    }
    #product_detailpage .pd_comparesec {
        width: 90%;
        margin: 40px auto 0;
        flex-wrap: wrap;
    }
    #product_detailpage .pd_comparebox {
        width: 100%;
        margin: 0 0 20px 0;
        padding: 8px 3.5% 10px;
    }
    #product_detailpage .pd_comparefig {
        max-width: 120px;
        width: 100%;
        border: 1px solid;
    }
    #product_detailpage .comparefig_status,
    #product_detailpage .comparebox_equivalent .comparefig_statustext,
    #product_detailpage .comparefig_statustext {
        font-size: 11px;
    }
    #product_detailpage .pd_comparedetail {
        width: 56%;
    }
    #product_detailpage .pdcompare_tagname {
        font-size: 12px;        
    }
    #product_detailpage .compare_pricebox {
        align-items: center;
    }
    #product_detailpage .compare_saleprice {
        margin: 6px 0 0 0;
    }
    #product_detailpage .compare_pdbtn {
        padding: 9px 12px;
        font-size: 13px;
        white-space: nowrap;
        margin: 0;
        border-radius: 0;
    }
    #product_detailpage .pd_comparettl {
        font-size: 14px;
        text-align: left;
        line-height: 1.4;
    }
    #product_detailpage .details_sec {
        padding: 20px 0;
    }
    #product_detailpage .details_freettl {
        font-size: 20px;
    }
    #product_detailpage .free_text {
        font-size: 20px;
        margin: 20px;
    }
    .pd_reviewsec {
        padding: 20px 20px 0;
    }
    .pd_reviewsec .reviewsec_ttllist {
        flex-wrap: wrap;
        gap: 15px;
    }
    .pd_reviewsec .reviewsec_ttllist li {
        width: 100%;
        text-align: center;
    }
    .pd_reviewsec .review_rating {
        order: 2;
    }
    .pd_reviewsec .review_ttl {
        color: #3f3f3f;
        font-size: 18px;
        font-weight: bold;
        order: 1;
    }
    .pd_reviewsec .review_linksec {
        order: 3;
    }
    .pd_reviewsec .review_box {
        padding: 15px 15px;
    }
    .pd_reviewsec .review_infolist {
        margin: 0 0 15px 0;
    }
    .pd_reviewsec .review_infolist dt {
        max-width: 80px;
        width: 100%;
        font-size: 12px;
    }
    .pd_reviewsec .review_infolist dd {
        font-size: 12px;
    }
    .pd_reviewsec .review_rate .recommend_level {
        font-size: 13px;
    }

    /* 相当品モダール */
    .product_page .equivalent_modelwrap {
        max-width: 90%;
    }
    .product_page .equivalentmodel__ttl {
        font-size: 6vw;
        padding: 10px 0 0 0;
    }
    .product_page .equivalentmodel__ttl em {
        font-size: 9vw;
    }
    .product_page .equivalent_model_close {
        text-align: right;
        cursor: pointer;
        position: inherit;
        right: 10px;
        top: 8px;
    }
    .product_page .equivalentmodel_boxttl {
        top: -9px;
        font-size: 5.5vw;
    }
    .product_page .equivalentmodel_list li {
        font-size: 5vw;
        padding: 0 0 0 30px;
        position: relative;
    }
    .product_page .equivalentmodel_list li:before {
        content: "■";
        font-size: 30px;
        position: absolute;
        left: 0;
        top: 9px;
    }
    .product_page .equivalentmodel_list li em,
    .product_page .equivalentmodel_list li .modelsmall_text {
        font-size: 14px;
        display: block;
        line-height: 1.5;
    }
    .product_page .equivalent_modelwrap .equivalentmodel_btn {
        font-size: 20px;
    }
    .product_page .equivalent_modelwrap .checkbox-field-text {
        font-size: 16px;
        margin: 20px 0 0 45px;
    }
    .product_page .equivalent_modelwrap .checkbox-field-text:before {
        border: 3px solid #666;
        border-radius: 5px;
        height: 33px;
        top: -12px;
        width: 32px;
    }
    .product_page .equivalent_modelwrap input[type=checkbox]:checked + .checkbox-field-text:after {
        top: -5px;
        left: -37px;
        width: 11px;
        height: 22px;
        border-bottom: 3px solid #107968;
        border-right: 3px solid #107968;
    }
    #product_detailpage .compare_fixprice_listprice {
        margin: 0 0 4px;
    }
    .reasonable_ling_text {
        padding: 12px 4% 6px;
        justify-content: center;
    }
    .reasonable_ling_text p {
        margin: 0 10px;
    }
    #product_detailpage .pd_cheapttl {
        font-size: 16px;
    }
    #product_detailpage .pd_cheapfig .cheapfig_statustext {
        font-size: 12px;
        padding: 3px 8px 5px;
        width: 52px;
    }
    .reasonable_price_title {
        font-size: 24px;
    }
    .reasonable_price {
        font-size: 35px;
    }
    .reasonable_price_tax {
        font-size: 21px;
        vertical-align: 3px;
    }
    .reasonable_valuetext .reasonable_valuetext_price {
        font-size: 27px;
    }
    .reasonable_valuetext {
        font-size: 21px;
    }
    #product_detailpage .pd_cheapsec {
        padding: 8px 2.5%;
    }
    #product_detailpage .cheap_pdlink {
        margin: 16px 0 0;
    }
    #product_detailpage .cheap_pricesec {
        line-height: 1.15;
    }
    .compare_price_title {
        font-size: 13px;
    }
    .compare_price_valuetext_price {
        font-size: 15px;
    }
    .compare_price {
        line-height: 1.2;
    }
    .compare_price_value {
        font-size: 12px;
        margin: 0 0 0 8em;
    }
    .compare_price_value::before {
        content: "";
        width: 95px;
        height: 1px;
    }
    #product_detailpage .compare_pdlist {
        margin: 13px 0 2px;
    }
}
