
@media (min-width: 741px) {
	.pc-only {
		display: block!important;
	}
	.sp-only {
		display: none!important;
	}
}

@media (max-width: 740px) {
	.pc-only {
		display: none!important;
	}
	.sp-only {
		display: block!important;
	}
}

.item__delivery__message{
	margin: 10px 0;
}

.hidden {
	display: none;
}

.overlay {
	position: absolute;
	display: none;
	top: 0;
	width: 100%;
	z-index: 101;
	background-color: rgba(0,0,0,0.6);
}

@media screen and (max-width: 639px) {
	.item__delivery__message {
		font-size: 12px;
		text-align: center;
	}
}

.slider-hidden{
	display: none;
}

#page-product-detail .slider-for img {
	width: 100%;
	margin: 0 auto 12px;
	height: 455px;
}

@media screen and (max-width: 640px) {
	#page-product-detail .slider-for img {
		width: 100%;
		height: 300px;
	}
}

#page-product-detail .slider-for div:focus{
	outline:none;
}

#page-product-detail .slider-nav {
	word-wrap: break-word;
}

#page-product-detail .slider-nav div:focus{
	outline:none;
}

#page-product-detail .slider-nav img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slider-nav {
	width: 100vw;
	margin-left: calc(((100vw - 100%) / 2) * -1);
}

.slider-nav .slick-list {
	padding: 0 12px !important;
}

.slider-nav .slick-track {
	display: block !important;
}

.slider-nav .slick-slide {
	display: flex !important;
	align-items: center;
	justify-content: center;
	max-width: 100px;
	aspect-ratio: 1/1;
	cursor: pointer;
	transition: 0.1s border;
	margin: 0 4px;
}

.slider-nav .slick-slide img {
	border: 1px solid #fff;
}

.slider-nav .slick-slide.is-selected img {
	border: 1px solid #000;
}


.slick-slide img {
    width: 100%;
	max-height: 100%;
	width: auto;
	object-fit: contain;
}

.slick-slider .slick-track {
	display: flex;
}

.slider-wrap {
	position: relative;
}

.slider-for {
	touch-action: auto !important;
}

.zoom-btn {
	position: absolute;
    bottom: 12px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 30px;
    height: 30px;
	background: #f5f5f5;
    border: 1px solid #D9D9D9;
	border-radius: 5px;
	cursor: pointer;

	/* SPでは非表示 */
	display: none;
}

.zoom-btn img {
	width: 100%;
}

.remodal-wrapper.remodal-is-opened {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.remodal {
    width: 100vw;
	height: 100%;
    max-width: 800px;
    max-height: calc(100vh - 200px);
}

.remodal-close {
    position: absolute;
    bottom: 100%;
    right: 10px;
    border: 0;
    width: 20px;
    height: 35px;
    background: none;
    cursor: pointer;
}

.remodal-close::before,
.remodal-close::after {
    content: '';
    display: inline-block;
    width: 26px;
    height: 4px;
    border-radius: 2px;
    background: #fff;
    position: absolute;
}

.remodal-close::before {
    transform: translate(-50%,-50%) rotate(45deg);
}

.remodal-close::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}

.modal-slider,
.modal-slider .slick-list,
.modal-slider .slick-track {
	height: 100%;
}

.modal-slider .slick-track {
	align-items: center;
}

.modal-slider .slick-slide img {
    width: 100%;
	height: 100%;
	object-fit: contain;
}

.arrow_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.arrow_box .prev-arrow,
.arrow_box .next-arrow {
    display: block;
    width: 40px;
    height: 40px;
    transition: all .3s ease;
    cursor: pointer;
    position: relative;
}

.arrow_box .prev-arrow::before,
.arrow_box .next-arrow::before{
    position: absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform: translateX(-25%) rotate(45deg);
}

.arrow_box .prev-arrow {
    transform: rotate(180deg);
}

.remodal-overlay {
    background: rgba(0,0,0,0.6);
}

@media (min-width: 1024px) {
	.slider-nav {
		width: calc(100% + 6px);
		margin-left: -6px;
	}

	.slider-nav .slick-list {
		padding: 0 !important;
	}

	.slider-nav .slick-slide {
		margin: 0 6px;
	}

    #product_slideshow {
        display: flex;
        gap: 32px;
    }

    #product_slideshow > div:nth-of-type(1) {
        width: 600px;
        flex-shrink: 0;
    }

    #product_slideshow > div:nth-of-type(2) {
        width: calc(100% - 632px);
    }

	.slider-for {
		touch-action: pan-y !important;
	}

	.remodal {
		max-height: calc(100vh - 160px);
	}

	.remodal-close {
		right: 0;
	}

	.arrow_box {
		position: absolute;
		top: 50%;
		left: -40px;
		transform: translateY(-50%);
		width: calc(100% + (40px * 2));
	}

	.zoom-btn {
		display: flex;
	}
}


.tag-area {
	display: flex;
	gap: 1.2rem;
	margin: 1.5em auto 3em;
	flex-wrap: wrap;
}
.tag-area p {
	font-size: 14px;
	line-height: 12px;
	border-radius: 20px;
	padding: 5px 7px;
	background: #9e9c9c29;
	color: #555;
	margin: 0;
	cursor: default;
}
.tag-area span {
	font-size: 1.2em;
	padding-right: 2px;
}
.btn-disabled {
	background: #ccc;
	border: 1px solid #ccc;
	cursor: col-resize;
	pointer-events: none;
}

@media (min-width: 1024px) {
	.tag-area p {
		font-weight: 600;
	}
}


.points {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: 12px;
	margin-bottom: 12px;
	cursor: pointer;
}
.point-box {
	width: 130px;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	background: #F5F5F5;
	text-align: center;
	padding: 8px 0;
}
.point-box .point-title {
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 9px;
}
.point-box img {
	width: 45px;
	margin: 0 auto 10px;
}
.point-box p {
	text-align: center;
	font-size: 10px;
	font-weight: 300;
}
@media screen and (min-width: 767px ) {
	.points {
		gap: 16px;
	}
	.point-box {
		width: 240px;
	}
}
@media (min-width: 1024px) {
	.points {
		margin-top: 10px;
		margin-bottom: 16px;
	}
}

.bag-detail-title {
    color: #8c8d8e;
}

.bag-detail-contents {
    margin-left: 0;
}

.product-unit-description {
	font-size: 14px;
	border-radius: 8px;
    border: 1px solid #000;
	padding: 16px 20px;
}

.bag-detail .bag-price {
	display: flex;
	gap: 16px;
	align-items: center;
}

.bag-detail .bag-price .strikethrough{
	position: relative;
}

.bag-detail .bag-price .strikethrough::before {
	position: absolute;
	content: "";
	background-color: var(--color-primary);
	width: 100%;
	height: 1.8px;
	left: 0;
	top: 40%;
}

.bag-detail .bag-price .discount {
	color: var(--color-primary);
	font-size: 13px;
	font-weight: 500;
	line-height: normal;
}

.discount-notice {
	position: relative;
	border-radius: 3px;
	background: #EEC966;
	color: #303335;
	text-align: center;
	font-size: 11px !important;
	font-weight: 500;
	line-height: 13px;
	padding: 4px 6px;
}
  
.discount-notice::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -6px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-right: 6px solid #EEC966;
}

.plan-component {
	border-radius: 8px;
	background: #F5F5F5;
	padding: 13px 16px;
    margin: 6px 0 8px;
}

.plan-title {
	margin-bottom: 10px;
}

.plan-title a {
	color: var(--color-primary);
    font-size: 11px;
    font-weight: normal;
	vertical-align: top;
	margin-left: 10px;
}

.plan-radio:first-of-type {
	margin-bottom: 16px;
}

.plan-option {
	display: flex;
	align-items: center;
	gap: 12px;
}

.plan-option .plan {
	display: flex;
    align-items: center;
    gap: 6px;
}

.plan-radio input[type="radio"] {
	display: none;
}

.plan-option p {
	font-size: 18px;
}

.plan-option span {
	font-size: 14px;
}

.plan-component-text-bold {
	font-size: 12px!important;
	font-weight: 600;
}

.plan-detail {
    margin: 8px 0 0 22px;
}

.plan-radio input[type="radio"] {
    display: none;
}

.plan-radio .radio img {
	width: 16px;
	height: 16px;
	vertical-align: bottom;
}

.plan-radio .img-checked {
    display: none;
}

.plan-radio input[type="radio"]:checked ~ .img-checked {
    display: inline;
}

.plan-radio input[type="radio"]:checked ~ .img-unchecked {
    display: none;
}

.plan-radio label {
	display: inline-block;
    cursor: pointer;
}


.choice-btn {
    display: flex;
    justify-content: center;
	gap: 12px;
    flex-wrap: wrap;
    margin: 27px auto;
    flex-direction: column;
    max-width: 200px;
}

.choice-btn .btn a {
	border-bottom: none;
}


@media (min-width: 1024px) {
	.choice-btn {
        justify-content: flex-start;
		margin: 27px 0 0;
    }
}


#page-product-detail .center-btn {
    margin-top: 32px;
}

#page-product-detail .section {
    margin-top: 32px;
}

#page-product-detail .section-header {
    margin-bottom: 8px;
}

#page-product-detail .section-header h2 {
    border-bottom: 1px solid currentColor;
    padding: 8px 0;
}

#page-product-detail .continue {
    color: #ABABAB;
}

