.pt_container{
	max-width:900px;
}
.pt_top{
	font-size:1em;
	border: 1px #FC9D9D solid;
	width:100%;
	background-color:#fff;
	border-collapse:collapse;
}

.pt_top .label_tr{
	background-color:#FC9D9D;
	color:#333333;
	border-bottom:1px #FC9D9D solid;
}
.pt_top .label_td{
	font-size:1.1em;
	padding:4px 0 4px 8px;
	color:#FFFFFF;
	font-weight:nomal;
	text-align:left;
}

.pt_top .item_label{
	padding:6px 8px 6px 8px; width:10%;
}

.pt_top .item_ele{
	padding:6px 8px 6px 0px; width:70%;
}

.pt_container .tb_border{
	border-bottom:1px #FC9D9D solid;
}

.pt_bottom{
	font-size:1em;
	border: 1px #FC9D9D solid;
	width:100%; background-color:#fff;
	border-collapse:collapse;
}



.pt_bottom .label_tr{
	border-bottom:1px #FC9D9D solid;
	background-color:#FC9D9D;
}
.pt_bottom .label_td{
	font-size:1.1em;
	color:#FFFFFF;
	padding:4px 0px 4px 8px;
	font-weight:nomal;
	text-align:left;
	width:97%;
}

.pt_bottom .pt_desc{
	padding:8px 8px 8px 8px;
	width:97%;
	line-height:1.4em;
}

.pt_desc hr{
	border:none;
	border-top:1px dotted #FC9D9D;
}


.pt_bottom_eng{
	font-size:1em;
	border: 1px #FC9D9D solid;
	width:100%;
	background-color:#fff;
	border-collapse:collapse;
}

.pt_bottom_eng .pt_desc{
	padding:8px 8px 8px 8px;
	width:97%;
	line-height:1.4em;
}




/* sinmple description template by inui */

.pd_detail_container{
	border: 1px solid #D2D2D2;
	border-radius: 8px;
	padding: 1em;
	margin-top: 1em;
}

.pd_desc{
	font-size: 14px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	padding-left: 0.3em;
	gap: 0.5em;
}
.desc_ele_a{
	min-width: 6em;
    max-width: 6em;
    margin: 0.7em 0;
    padding: 0em 0 0.5em 0;
    position: relative;
    text-align: right;
}
.desc_ele_a:after{
	position: absolute;
	content: "：";
}

.desc_ele_b{
	margin: 0.7em 0.5em 0.7em 1em;
	padding: 0em 0.3em 0.5em 0.3em;
	align-self: center;
	border-bottom: 1px dashed #D2D2D2;
	width: 100%;
}

.pd_desc_tbox{
	/* border: 1px solid #D2D2D2; */
	font-size: 14px;
	margin: 15px 0 0.5em 0;
	border-radius: 8px;
	/* box-shadow: 0px 0px 1px 0px inset	rgba(0,0,0,0.2); */
}

.desc_text{
	padding: 1em 1.2em 1em 1.2em;
}



@media screen and (max-width:480px){
	.pd_detail_container{
		border: none;
		padding: 0;
		margin-top: 0;
	}
	.pd_desc_tbox{
		border: 1px solid #D2D2D2;
		font-size: 14px;
		margin: 15px 0 0.5em 0;
		border-radius: 8px;
		box-shadow: 0px 0px 1px 0px inset rgba(0,0,0,0.2);
	}
}





.tax_note{
    position: relative;
    cursor: pointer;
	display: inline-block;
	margin-bottom: 0.5em;
}
.tax_note #tax-note-title{
	display: inline-block; 
	border-radius: 100px;
    padding: 0.15em 0.8em 0.2em;
	font-size: 0.8em; 
	cursor: pointer; 
	margin:0.5em 0; 
	background-color: #808080;
	color: #FFF;
}
.tax_note_text {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #fff;
    border-radius: 5px;
    background: #808080;
    width: 250px;
}



.tax_note_text:before {
    content: "";
    position: absolute;
    top: 57%;
	left: 0;
    border: 15px solid transparent;
	border-right: 25px solid #808080;
	margin-left: -30px;
}

.tax_note:hover .tax_note_text{
    display: inline-block;
    bottom: -3em;
    left: 127%;
	text-align: justify;
	-webkit-animation-name: tax-note-fadein;
			animation-name: tax-note-fadein;
	-webkit-animation-duration: 0.5s;
			animation-duration: 0.5s;

	-webkit-filter: drop-shadow(2px 1px 3px rgba(0,0,0,0.3));
	filter: drop-shadow(2px 1px 3px rgba(0,0,0,0.3));
	z-index: 999;
}


.select_cart_area .tax_note{
	margin-left:0.4rem;
}

.min_max_unit {
    margin: 0.3em 0 0.5em;
}

@media screen and (max-width:480px){
	.tax_note_text {
		width: 190px;
	}
	.tax_note:hover .tax_note_text{
		bottom: -4.5em;
		left: 127%;
	}
}

.quantity-in-cart-display {
    margin: 1rem 0;
    padding: 0.2em 0.5em;
    font-size: 0.95em;
    color: #d36667;
    border: 1px solid currentColor;
    width: fit-content;
    border-radius: 4px;
	font-weight: 500;
}
.points-reward{
	margin: 0.5em 0;
    display: block;
	font-weight: 500;
    color: #d80001;
	border-bottom: 1px solid currentColor;
    width: fit-content;
}
.points-reward a{
    color: #d80001 !important;
}

/* for select start */

.select_cart .tax_note:hover .tax_note_text{
    bottom: -3em;
	left: 127%;
}

@media screen and (max-width:480px){
	.select_cart .tax_note_text {
		width: 190px;
	}
	.select_cart .tax_note_text:before {
		top: 37%;
	}

	.select_cart .tax_note:hover .tax_note_text{
		bottom: -7.5em;
	}
	#cartAdd{
		margin-top:1rem;
	}
	.cart_quantity_fix {
		width: 100%;
		margin: 0 auto;
	}
	.quantity-in-cart-display{
		width: 100%;
		margin:0;
		text-align: center;
	}
}


/* for select end */


@-webkit-keyframes tax-note-fadein{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}

@keyframes tax-note-fadein{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}



/* -- */

.product_price {
    margin: 0em 0 0.2em 0;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    align-items: baseline;
	column-gap: 0.2rem;
}
.normal-price-with-tax{
	font-size:1.05em;
}
.ex-tax{
	font-size:0.9em;
}


.discount-period {
    color: #d36667 !important;
    padding: 0.2em 0.8em !important;
    border-radius: 4px;
    margin-top: 1em;
    font-size: 0.9em;
    width: fit-content;
    border: 1px solid currentColor;
}

@media screen and (max-width:480px){
	.discount-period {
		width: 100%;
		text-align: center;
	}
}

.productPriceDiscount {
	color: #d80101 !important;
	font-weight: bold;
	font-size: 0.85em;
    text-align: end;
}
.specialPriceWithTax{
	padding-left: 0.2rem;
}


.productSpecialPrice {
	color: #d80101 !important;
	font-weight: bold;
	font-size: 1.1em;
}


#displaySelectPrice {
    margin-bottom: 0.5rem;
}
#displaySelectPrice .d-arrow-bottom-icon {
    display: block;
    text-align: center;
    margin-bottom: 0.3rem;
    fill: #6f6f6f;
}

#displaySelectPrice .discountPriceQty {
    border-bottom: 1px solid #bfbfbf;
    display: grid
;
    justify-content: center;
    padding-bottom: 0.3rem;
}

.button_sold_out {
    background: none !important;
    outline: none;
    border: 1px solid currentColor !important;
    pointer-events: none;
    box-shadow: none !important;
    color: #d80101 !important;
    text-shadow: none !important;
    font-weight: bold;
    width: fit-content !important;
    margin-top: 0.5rem;
}


#productQuantityDiscounts > table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 0.5rem;
	border: 1px solid #d3d3d3;
}

#productQuantityDiscounts > table td {
	padding: 0.3rem 0.6rem;
	background-color: #fdfdfd;
}

#productQuantityDiscounts > table tr:not(:last-child) {
	border-bottom: 1px solid #d3d3d3;
}
#productQuantityDiscounts > table td:not(:last-child) {
	border-right: 1px solid #d3d3d3;
}



.product_info .buttonRow.forward {
    margin-top: 1rem;
}

.img-cart-wrap{
	padding-top:1rem;
}

.img-cart input[type="submit"] {
    display: block;
}

.product_description > .title {
    display: none;
}

.row.img-cart {
    column-gap:3rem;
    row-gap: 1.5rem;
}

.select_cart_area{
    max-width: 360px;
}

.row.img-cart #productMainImage{
    margin:0;
}

@media screen and (max-width: 480px){
	.img-cart-wrap{
		padding-top:0;
	}
	
}

.product_description {
	border-top: 1px solid var(--cm-divider-color-01);
}

/* -- */

.variation_link {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 1rem;
}

.variation_link a {
    border: 1px solid currentColor;
    white-space: nowrap;
    padding: 0.3em 0.6em;
    border-radius: 4px;
    min-width: 15em;
    text-align: center;
	font-size:0.9rem;
	user-select: none;
}

.variation_link a:hover {
    background-color: #3692CA;
    color: #FFF;
}

.variation_link a > p {
    margin: 0;
    padding: 0;
}



.products_available{
    font-weight: bold;
    color: #4da491;
    font-size: 1.15em;
    display: inline-block;
    margin: 1rem 0;
    border: 1px solid currentColor;
    padding: 0.1em 0.5em;
}

.bisn-info {
    margin: 1rem 0;
    display: flex;
    align-items: center;
}
.bisn-info .button {
    margin: 0 0.3em;
    border: 1px solid currentColor;
    background-color: #FFFFFF !important;
	background: #FFFFFF !important;
    box-shadow: none !important;
    color: #dd4944 !important;
    font-weight: bold;
	white-space: nowrap;
}

#bisnForm input[type="submit"] {
    margin-top: 1rem;
}


/* MagicToolbox Style Overwrite */
[id^="MagicZoomPlusImageproduct"] figure {
	border: 1px solid #e8e8e8 !important;
	border-radius: 5px;
}

[id^="MagicToolboxSelectors"] img {
	border: 1px solid #e8e8e8 !important;
	border-radius: 5px;
	padding-bottom:0 !important;
}

[id^="MagicToolboxSelectors"] .mz-thumb-selected{
	position: relative;
}
[id^="MagicToolboxSelectors"] .mz-thumb-selected::after{
	position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    top: 0;
    left: 0;
	border-radius:5px;
}

div.MagicToolboxContainer.selectorsLeft, div.MagicToolboxContainer.selectorsRight{
	row-gap: 1.5rem !important;
}
div.MagicToolboxContainer.selectorsRight .MagicToolboxMainContainer {
	padding-right: 1.5rem !important;
}

@media screen and (max-width: 768px){
    #productMainImage {
        width: 100%;
    }
	div.MagicToolboxContainer.selectorsRight .MagicToolboxMainContainer {
		padding-right: 0 !important;
	}

	.custom-no-scroll [id^="MagicToolboxSelectors"] {
		display: flex;
		justify-content: center;
	}
}

@media screen and (max-width: 480px){
	.select_cart_area{
		max-width: initial;
		width: 100%;
	}
}
.cart-info-fix {
    display: grid;
	grid-template-columns: 1fr 1fr;
    align-items: center;
	gap: 0.5rem;
}





/* スクロール用スタイル */

.custom-scroll{
    align-items: center;
}

.custom-scroll.MagicToolboxContainer.selectorsLeft .MagicToolboxSelectorsContainer a,
.custom-scroll.MagicToolboxContainer.selectorsRight .MagicToolboxSelectorsContainer a{
    margin:0 !important;
	user-select: none;
}

.custom-scroll .MagicToolboxSelectorsContainer {
    position: relative;
    max-height: max-content;
    overflow: hidden;
}

.custom-scroll [id^="MagicToolboxSelectors"] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    cursor: grab;
    transition: transform 0.3s ease-out;
}

.custom-scroll [id^="MagicToolboxSelectors"]:active {
    cursor: grabbing;
}

.custom-scroll .custom-scroll-btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100% !important;
    height: 1.5rem;
    border: none;
    cursor: pointer;
    border-radius: 0px;
    z-index: 1;
	border: none !important;
    /* box-shadow: none !important; */
	box-shadow: 0px 0px 3px 2px rgba(0,0,0,0.1) !important;
	background-color: #dadada90 !important;
}
.custom-scroll .custom-scroll-btn:hover{
	background-color: #dadadaba !important;
}


.custom-scroll .custom-scroll-btn.down:focus,
.custom-scroll .custom-scroll-btn.up:focus{
    outline: none;
}

.custom-scroll .custom-scroll-btn.up {
    top: 0;
	padding: 0.5rem 0 0 0;
	border-radius: 0 0 50% 50%;
}

.custom-scroll .custom-scroll-btn.down {
    bottom: 0;
	padding: 0 0 0.5rem 0;
	border-radius: 50% 50% 0 0;
}

.custom-scroll .custom-scroll-btn.disabled {
    opacity: 0;
    cursor: default;
}

#sc-up-icon,
#sc-down-icon {
    display: block;
    position: relative;
}

#sc-up-icon::after,
#sc-down-icon::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 1rem;
    border-top: 2px solid #7f7f7f;
    border-left: 2px solid #7f7f7f;
}

#sc-up-icon::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

#sc-down-icon::after {
    transform: translate(-50%, -50%) rotate(225deg);
}

/* モバイル用スタイル */
@media screen and (max-width: 768px) {
    .custom-scroll .MagicToolboxSelectorsContainer {
        width: max-content !important;
        max-height: none;
        padding: 0;
        overflow-x: hidden;
    }

    .custom-scroll [id^="MagicToolboxSelectors"] {
        flex-direction: row;
        flex-wrap: nowrap;
        width: max-content;
        touch-action: pan-x pinch-zoom;
    }

    .custom-scroll .magicToolboxSelector {
        flex: 0 0 110px;
        user-select: none;
        -webkit-user-select: none;
    }


	.custom-scroll .custom-scroll-btn {
		height: 100%;
		width: 1.5rem !important;
	}

    .custom-scroll .custom-scroll-btn.up {
        left: -0.75rem;
        right: initial;
        top: 50%;
        transform: translate(50%, -50%);
		padding: 0 0 0 0.5rem;
		border-radius: 0 50% 50% 0;
    }

    .custom-scroll .custom-scroll-btn.down {
        right: -0.75rem;
        left: initial;
        bottom: 50%;
        transform: translate(-50%, 50%);
		padding: 0 0.5rem 0 0;
		border-radius: 50% 0 0 50%;
    }

    #sc-up-icon::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    #sc-down-icon::after {
        transform: translate(-50%, -50%) rotate(135deg);
    }
}

.product_quantity_fix input[type="text"]{
	text-align: center;
}

@media screen and (max-width: 480px) {
	.product_quantity_fix {
		width: 100%;
	}
	.cart-info-fix {
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
		gap: 1em;
	}
	.product_quantity_fix input[type="text"] {
		border-radius: 5px;
		width: 10em;
		text-align: center;
	}
}





/* -- */

.product-info-inner-title{
	font-size:1em;
	font-weight: bold;
	padding-bottom: 0.2em;
	border-bottom: 1px solid #d9d9d9;
}

.product-details-grid-wrap{
	font-size:0.95em;
}

.product-info-inner-grid-wrap {
	font-size:0.95em;
	margin: 0.5rem 0;
}

.product-info-inner-grid {
	display: grid;
	grid-template-columns: 12em 1fr;
	align-items: center;
}
.product-info-inner-grid:not(:last-child) {
	border-bottom: 2px solid #FFFFFF;
}

.product-info-inner-grid > span{
	background-color: #f5f5f5;
	padding: 0.3rem 0.5rem;
	display: grid;
	height: 100%;
	align-items: center;
}
.product-info-inner-grid > span:first-child{
	background-color: #e1e2e6;
	border-right:2px solid #FFFFFF;
}


@media screen and (max-width: 1024px) {
	.product-info-inner-grid {
		grid-template-columns: 1fr;
	}
	.product-info-inner-grid:not(:last-child) {
		margin-bottom:0.5rem;
	}
	.product-info-inner-grid > span:first-child{
		border-right:0;
	}
}



.number-input-button-group {
    display: flex;
    align-items: center;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
	justify-content: center;
}

.number-input-decrease, .number-input-increase {
    padding: 0.5em 1em;
    cursor: pointer;
    user-select: none;
	color: #7c7c7c;
	font-weight: 600;
}

.number-input-decrease {
    border-right: 1px solid #dcdcdc;
}
.number-input-increase {
    border-left: 1px solid #dcdcdc;
}

.number-input-button-group input[type="text"] {
    border: none;
    outline: none;
    box-shadow: none;
	min-width: 6em;
	width: 100%;
    text-align: center;
}

@media screen and (max-width:480px){
	.number-input-button-group{
		margin-bottom:1rem;
	}
	.number-input-decrease, 
	.number-input-increase {
		padding: 1em 2em;
	}
	.number-input-button-group input[type="text"]{
		font-weight:600;
	}
}

ul.product-info-note-list{
	list-style: none;
    padding: 0.5em;
}

.cart_button_fix {
    position: relative;
}


#mj-maincontent table.pd_inner_table {
    border-collapse: collapse;
	border: 1px solid #d2d2d2;
	font-size: 0.9em;
}
#mj-maincontent table.pd_inner_table th,
#mj-maincontent table.pd_inner_table td {
	border-bottom: 1px solid #d2d2d2;
	padding: 0.5em 1em;
}

#mj-maincontent table.pd_inner_table th{
	font-weight: 600;
}

#mj-maincontent table.pd_inner_table td.text-center {
	text-align: center;
}

#mj-maincontent table.pd_inner_table th:not(:last-child),
#mj-maincontent table.pd_inner_table td:not(:last-child) {
	border-right: 1px solid #d2d2d2;
}
