body.shinei-responsive-page #contents.store-display-page .cart-coupon-form {
	width: 100%;
	max-width: 520px;
	margin: 10px 0 5px auto;
	border: 1px solid #999;
	border-radius: 6px;
	background: #fff;
	text-align: left;
	box-sizing: border-box;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-title {
	margin: 0 0 8px;
	color: #f46a04;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 72px 72px;
	gap: 8px;
	align-items: center;
	width: 100%;
	text-align: left;
	box-sizing: border-box;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls input[type="text"] {
	width: 100%;
	min-width: 0;
	height: 40px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #bbb;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 16px;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls input[type="submit"] {
	width: 100%;
	min-width: 0;
	min-height: 40px;
	margin: 0;
	border: 0;
	border-radius: 4px;
	background: #eee;
	color: #222;
	font-size: 14px;
	font-weight: 700;
	box-sizing: border-box;
	cursor: pointer;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls .button_check {
	color: #f46a04;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls .button_cancel {
	color: #666;
}

body.shinei-responsive-page #contents.store-display-page .cart-coupon-note {
	margin-top: 10px;
	color: #e30000;
	font-size: 11px;
	line-height: 1.8;
}

@media (max-width: 900px) {
	body.shinei-responsive-page > div:not(.shinei-responsive-mobile-header-fragment):not(.shinei-responsive-mobile-footer-fragment) {
		width: 100% !important;
		max-width: 100vw !important;
		margin: 0 !important;
		padding-top: 112px !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	body.shinei-responsive-page #contents.store-display-page {
		width: 100% !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 12px 24px !important;
		box-sizing: border-box !important;
		background: #fff;
		overflow-x: hidden;
	}

	body.shinei-responsive-page #contents.store-display-page #content {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		text-align: left !important;
		background: #fff !important;
	}

	body.shinei-responsive-page #contents.store-display-page #display_left,
	body.shinei-responsive-page #contents.store-display-page #display_center,
	body.shinei-responsive-page #contents.store-display-page #display_right {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		margin: 0 0 14px !important;
		box-sizing: border-box !important;
	}

	body.shinei-responsive-page #contents.store-display-page #display_left > div,
	body.shinei-responsive-page #contents.store-display-page #display_center > div {
		margin: 0 !important;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page #display_right {
		display: none !important;
	}

	body.shinei-responsive-page #contents.store-display-page h1.meisai_cart_title {
		height: auto;
		margin: 0 0 12px;
		padding: 13px 14px;
		border-radius: 6px;
		background: #333 !important;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
	}

	body.shinei-responsive-page #contents.store-display-page table {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		border-collapse: separate;
		border-spacing: 0 !important;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_tbl {
		margin: 0 !important;
		border: 1px solid #ddd !important;
		border-radius: 6px;
		background: #fff;
		overflow: hidden;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_tbl td,
	body.shinei-responsive-page #contents.store-display-page .meisai_tbl th {
		border-color: #ddd !important;
		box-sizing: border-box !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-summary-table {
		margin: 0 0 14px !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-summary-table th,
	body.shinei-responsive-page #contents.store-display-page .cart-summary-table td {
		padding: 11px 12px !important;
		font-size: 15px;
		line-height: 1.5;
	}

	body.shinei-responsive-page #contents.store-display-page .checkout_member_inline {
		width: 100% !important;
		margin: 12px 0 0 !important;
		padding: 12px !important;
		border-color: #ddd;
		border-radius: 6px;
		background: #fafafa;
	}

	body.shinei-responsive-page #contents.store-display-page .checkout_member_inline_title {
		margin: 0 0 10px;
		color: #222;
		font-size: 15px;
		line-height: 1.5;
	}

	body.shinei-responsive-page #contents.store-display-page .checkout_member_inline_options label {
		display: flex;
		align-items: center;
		min-height: 34px;
		gap: 8px;
		font-size: 14px;
	}

	body.shinei-responsive-page #contents.store-display-page .checkout_member_order_submit,
	body.shinei-responsive-page #contents.store-display-page .meisai_order_link {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 52px;
		height: auto !important;
		margin: 12px 0 !important;
		padding: 0 14px !important;
		border: 0;
		border-radius: 4px;
		background: #333 !important;
		color: #fff !important;
		font-size: 17px !important;
		font-weight: 700;
		line-height: 1.4 !important;
		text-align: center;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_menu_link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		height: auto !important;
		min-height: 44px;
		margin: 0 0 8px !important;
		padding: 0 12px !important;
		border-radius: 4px;
		background: #777;
		color: #fff !important;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.4;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page #display_center p {
		box-sizing: border-box;
		line-height: 1.6;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-detail-table {
		display: block !important;
		margin: 12px 0 0 !important;
		border: 0 !important;
		background: transparent !important;
		overflow: visible;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-detail-table tbody {
		display: block !important;
		width: 100% !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-detail-head {
		display: none !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-row {
		display: grid !important;
		grid-template-columns: minmax(56px, 0.7fr) minmax(96px, 1.2fr) 68px;
		gap: 0;
		width: 100% !important;
		margin: 0 0 12px;
		border: 1px solid #ddd;
		border-radius: 6px;
		background: #fff;
		overflow: hidden;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-row td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		border: 0 !important;
		border-top: 1px solid #eee !important;
		padding: 10px 12px !important;
		background: #fff !important;
		color: #222;
		font-size: 14px;
		line-height: 1.6;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-row td:first-child {
		border-top: 0 !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-info {
		grid-column: 1 / -1;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-qty {
		grid-column: 1 / 2;
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		min-height: 76px;
		text-align: left !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-price {
		grid-column: 2 / 3;
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		min-height: 76px;
		text-align: left !important;
		font-weight: 700;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-remove {
		grid-column: 3 / 4;
		grid-row: 2 / 3;
		display: flex !important;
		align-items: center;
		justify-content: center;
		border-left: 1px solid #eee !important;
		min-height: 76px;
		text-align: center !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-qty:before,
	body.shinei-responsive-page #contents.store-display-page .cart-item-price:before {
		display: block;
		margin: 0 0 4px;
		color: #666;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.3;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-qty:before {
		content: "数量";
	}

	body.shinei-responsive-page #contents.store-display-page .cart-item-price:before {
		content: "単価（税込）";
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_no {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		min-height: 28px;
		margin: 0 8px 4px 0;
		border-radius: 999px;
		background: #f0f0f0;
		color: #333;
		font-size: 12px;
		font-weight: 700;
		vertical-align: top;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_name {
		color: #007c94;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.5;
		word-break: break-word;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_delete {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border: 1px solid #ddd;
		border-radius: 4px;
		background: #f7f7f7;
	}

	body.shinei-responsive-page #contents.store-display-page .meisai_delete img {
		width: 24px;
		height: auto;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-subtotal-row {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		width: 100% !important;
		margin: 4px 0 12px;
		border: 1px solid #ddd;
		border-radius: 6px;
		background: #f7f7f7;
		overflow: hidden;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-subtotal-row td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 10px 12px !important;
		border: 0 !important;
		border-left: 1px solid #ddd !important;
		background: #f7f7f7 !important;
		color: #222;
		font-size: 14px;
		font-weight: 700;
		text-align: center !important;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-subtotal-row td:first-child {
		border-left: 0 !important;
		grid-column: 1 / -1;
		background: #eee !important;
		text-align: left !important;
	}

	body.shinei-responsive-page #contents.store-display-page .kaimonokago_del {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 42px;
		padding: 0 12px;
		border-radius: 4px;
		background: #f2f2f2;
		color: #333;
		font-size: 14px;
		font-weight: 700;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page form[name="coupon"] {
		width: 100% !important;
		max-width: 100% !important;
		margin: 12px 0 0 !important;
		border: 1px solid #ddd !important;
		border-radius: 6px;
		background: #fff;
		text-align: left !important;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls {
		display: grid;
		grid-template-columns: 1fr 86px 86px;
		gap: 8px;
		align-items: center;
		width: 100%;
		text-align: left !important;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page form[name="coupon"] input[type="text"] {
		width: 100% !important;
		height: 44px;
		margin: 0;
		padding: 0 10px;
		border: 1px solid #bbb;
		border-radius: 4px;
		font-size: 16px;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page form[name="coupon"] input[type="submit"] {
		width: 100%;
		min-height: 42px;
		margin: 0;
		border: 0;
		border-radius: 4px;
		font-size: 14px;
		font-weight: 700;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-bottom-checkout {
		display: block;
		width: 100%;
		margin: 12px 0 16px !important;
		box-sizing: border-box;
	}

	body.shinei-responsive-page #contents.store-display-page .cart_banner {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		width: 100% !important;
		margin: 24px 0 0 !important;
		padding: 0 !important;
		list-style: none;
	}

	body.shinei-responsive-page #contents.store-display-page .cart_banner li {
		width: 100% !important;
		margin: 0 !important;
	}

	body.shinei-responsive-page #contents.store-display-page .cart_banner img {
		display: block;
		width: 100% !important;
		height: auto;
	}
}

@media (max-width: 360px) {
	body.shinei-responsive-page #contents.store-display-page .cart-item-row {
		grid-template-columns: minmax(46px, 0.65fr) minmax(88px, 1.25fr) 58px;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls {
		grid-template-columns: minmax(0, 1fr) 62px 62px;
	}

	body.shinei-responsive-page #contents.store-display-page .cart-coupon-controls input[type="text"] {
		grid-column: auto;
	}
}
