#wrap h2.pag_tit { font-size: 30px; }

/* product_list */
#product_list {display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: clamp(24px,2.5vw,42px);margin: 0 0 50px;padding: 0;white-space: normal;}
#product_list .free { position: relative; min-width: 0; overflow: hidden; background: #FFFFFF; border-bottom: 1px solid #E5E5E5; transition: border-color .4s ease; }
#product_list .free > a { position: absolute; inset: 0; z-index: 5; display: block; }
#product_list .topBox { position: relative; overflow: hidden; background: #F6F6F6; clip-path: polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px)); }
#product_list .Img { position: relative; overflow: hidden; aspect-ratio: 4/3; }
#product_list .Img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(17,17,17,.14) 100%); opacity: 0; transition: opacity .5s ease; }
#product_list .Img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease; }
#product_list .Txt { position: relative; padding: 24px 52px 24px 20px; background: #FFFFFF; }
#product_list .Txt::before { content: ""; position: absolute; left: 20px; bottom: -1px; width: 48px; height: 3px; background: #C10F02; transition: width .45s cubic-bezier(.22,1,.36,1); }
#product_list .title { color: #1F2328; font-size: 18px; font-weight: 500; line-height: 1.6; letter-spacing: .05em; text-align: left; transition: color .35s ease,transform .35s ease; height: auto; }
#product_list .free:hover .Img img { transform: scale(1.065); filter: brightness(.88); }
#product_list .free:hover .Img::after { opacity: 1; }
#product_list .free:hover .Txt::before { width: calc(100% - 40px); }
#product_list .free:hover .title { transform: translateX(5px); }
#product_list .free > a:focus-visible { outline: 3px solid #C10F02; outline-offset: -3px; }

/* productdetail */
#productdetail {margin: 5vw 0 0;}

/* imglist */
#imglist .clip { -webkit-clip-path: url(#clip_product_detail); clip-path: url(#clip_product_detail); }

/* productinfo */
#productinfo .cate { padding: 2px 15px; max-width: calc(100% - 105px); height: 22px; font-weight: 100; font-size: 13px; z-index: 6; }
#productinfo h1 { margin: 10px 0 20px; }
#productinfo .txt { margin-bottom: 15px; }
#productinfo .txt label { margin-right: 15px; width: 50px; }
#productinfo .price font { font-weight: 600; font-size: 25px; }
#productinfo article { margin-bottom: 30px; padding-bottom: 15px; border-bottom: 1px rgba(var(--primary-rgb), .6) dashed; font-weight: 300; font-size: 14px; }
#productinfo .sell_box >* { line-height: 100%; font-size: 17px; vertical-align: baseline; }
#productinfo .sell_box span { margin: 0 3px 0 15px; }
#productinfo .sell_box b { font-size: 36px; }
#productinfo .buyBtns { margin-top: 30px; }
#productinfo .buyBtns a { padding: 10px 0; }

/* orderfunction */
#orderfunction a[data-action="plusBtn"] { margin: 0 2px; width: 35px; height: 35px; background: rgba(var(--secondary-rgb), .3); border-radius: 5px; line-height: 30px; font-weight: 600; font-size: 28px; }
#orderfunction a.limit[data-action="plusBtn"] { line-height: 27px; font-size: 33px; }
#orderfunction input { margin: 0 5px; width: 30px; border-width: 0 0 1px; }
#orderfunction .addcar { float: right; }

/* productTabs */
#productTabs .tabs { margin-bottom: 30px; background: rgba(var(--black-rgb), .08); }
#productTabs .tabs li a { padding: 15px 30px; }
#productTabs .tabs li a:before { position: absolute; width: 0; height: 3px; background: var(--primary); display: block; bottom: 0; left: 0; content: ""; }
#productTabs .tabs li.active a:before { width: 100%; }

@media screen and (max-width: 1024px){
    #product_list{    grid-template-columns: repeat(3, 1fr);}
}
@media screen and (max-width: 980px){
    #product_list{    grid-template-columns: repeat(2, 1fr);}
	#productinfo { margin-top: 5vw; }
}
@media screen and (min-width: 761px){
	#product_list li .clip { width:min(130px) ; }
}
@media screen and (max-width: 640px){
    #product_list .free{margin-bottom: 30px;display: block;}
    #product_list{display: block;margin-top: 50px;}
	#product_list li { width: 95%; }
}