﻿@charset "utf-8";

/*-- 購入フロー共通 --*/
@media screen, print {
	body:is(.page-cart, .page-method, .page-estimate, .page-selectstore, .page-order) :is([type="text"], [type="password"], [type="number"], [type="email"]) {
		border: 1px solid var(--br-color-9);
		padding: 4px var(--br-spacing-1);
	}

	body:is(.page-cart, .page-method, .page-estimate, .page-selectstore, .page-order) .wrap {
		max-width: var(--br-pc-width-px-2);
		padding: 0 var(--br-spacing-2);
	}

	body:is(.page-cart, .page-method, .page-estimate, .page-selectstore) {
		font-size: var(--br-fs-3);
	}

	body:is(.page-cart, .page-method, .page-estimate, .page-selectstore) .required::after,
	body:is(.page-cart, .page-method, .page-estimate, .page-selectstore) :is([style*="color: red"], [style*="color:red"], [style*="color: #cd201f;"]) {
		color: var(--br-color-2) !important;
		font-weight: var(--br-fw-bold);
	}

	body:is(.page-cart, .page-method, .page-selectstore) :is([name="submit.x"]) {
		font-weight: var(--br-fw-medium);
		letter-spacing: var(--br-ls-2);
		font-size: var(--br-fs-4);
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--br-button-radius);
		height: var(--br-button-h);
		width: fit-content;
		padding: 0 var(--br-spacing-2);
		border: 1px solid var(--br-color-6);
		color: #fff;
		background-color: var(--br-color-6);
		width: min(400px, 100%);
	}

	body:is(.page-estimate) :is([name="submit.x"]) {
		border: 1px solid var(--br-color-6);
		color: #fff;
		background-color: var(--br-color-6);
	}

	body:is(.page-cart, .page-method, .page-selectstore) .cart__order--btn {
		display: flex;
		justify-content: center;
		margin-top: var(--br-spacing-10);
	}

	body:is(.page-cart, .page-method, .page-selectstore) .cart__order--back {
		display: flex;
		justify-content: center;
		margin-top: var(--br-spacing-2);
	}

	body:is(.page-cart, .page-method, .page-selectstore) .cart__order--btn [name="submit.x"] {
		font-weight: var(--br-fw-medium);
		letter-spacing: var(--br-ls-2);
		font-size: var(--br-fs-4);
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--br-button-radius);
		height: var(--br-button-h);
		width: fit-content;
		padding: 0 var(--br-spacing-2);
		width: var(--br-button-w);
		max-width: 100%;
		background-color: var(--br-color-6) !important;
		color: #fff !important;
		border: 1px solid var(--br-color-6) !important;
	}

	body:is(.page-cart, .page-method, .page-selectstore) .cart__order--back a {
		font-weight: var(--br-fw-medium);
		letter-spacing: var(--br-ls-2);
		font-size: var(--br-fs-4);
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--br-button-radius);
		height: var(--br-button-h);
		width: fit-content;
		padding: 0 var(--br-spacing-2);
		width: var(--br-button-w);
		max-width: 100%;
		background-color: #fff !important;
		color: var(--br-color-1) !important;
		border: 1px solid var(--br-color-14) !important;
	}

	body:is(.page-cart, .page-method, .page-selectstore) .form-error {
		margin-top: var(--br-spacing-1);
	}

	body:is(.page-method, .page-order, .page-selectstore) :is([style*="color: red"], [style*="color:red"], [style*="color: #cd201f;"]) {
		margin-top: var(--br-spacing-2);
	}

	body:is(.page-method, .page-order, .page-selectstore) :is([style*="color: red"], [style*="color:red"], [style*="color: #cd201f;"])+ :is([style*="color: red"], [style*="color:red"], [style*="color: #cd201f;"]) {
		margin-top: 0;
	}

	body.page-selectstore .cart__order__giftbtn,
	body.page-method .cart__order__giftbtn,
	body.page-cart .cart__index__submit--gift a {
		font-weight: var(--br-fw-medium);
		letter-spacing: var(--br-ls-2);
		font-size: var(--br-fs-4);
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--br-button-radius);
		height: var(--br-button-h);
		width: fit-content;
		padding: 0 var(--br-spacing-2);
		width: var(--br-button-w);
		max-width: 100%;
		background-color: #fff;
		color: var(--br-color-6);
		border: 1px solid var(--br-color-6);
		gap: 0 var(--br-spacing-1);
	}

	body.page-selectstore .cart__order__giftbtn::before,
	body.page-method .cart__order__giftbtn::before,
	body.page-cart .cart__index__submit--gift a::before {
		content: '';
		mask-image: var(--br-svg-url-gift-1);
		mask-repeat: no-repeat;
		mask-size: contain;
		background-color: var(--br-color-6);
		width: 20px;
		height: 20px;
		display: block;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__index__product__quantity:has([onclick*="qty_spin"]) {
		display: flex;
		align-items: stretch;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) *:has(>[onclick*="qty_spin"]) {
		width: 25px;
		height: auto;
		aspect-ratio: 1/1;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) [onclick*="qty_spin"] {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
		line-height: 1;
		font-family: var(--br-ff-alpha);
		padding-bottom: 4px;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .block-order-method--amazonpay {
		padding: 0;
		position: relative;
		display: flex;
		justify-content: end;
		width: 100%;
		height: 3.5rem;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .block-order-method--amazonpay .cart__confirm__change--btn {
		position: absolute;
		height: auto;
		width: auto;
		bottom: 0;
		right: -20px;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__product__info__change,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .block-order--amazonpay-btn {
		margin: 0;
		color: #000;
		border: 1px solid #000;
		display: flex;
		align-items: center;
		justify-content: center;
		width: fit-content;
		padding: 0;
		border-radius: 20rem;
		text-decoration: none !important;
		background: #fff;
		height: 3.5rem;
		width: fit-content;
		padding: 0 var(--br-spacing-2);
		line-height: revert;
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__delivery--add,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__delivery__lists--edit,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__product__info__change,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .block-order--amazonpay-btn {
		border: 1px solid #000
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__delivery--add>*,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__delivery__lists--edit>*,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__product__info__change,
	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .block-order--amazonpay-btn {
		color: #000
	}

	body:is(.page-cart, .page-method, .page-order, .page-selectstore) .cart__order__product__info__change {
		position: absolute;
		bottom: 0;
		right: 0;
	}

	body.page-method .cart__order__product__info:has(.cart__order__product__info__change) {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	body.page-method .cart__order__product__info-box {
		display: flex;
		align-items: stretch;
	}
}

/*-- カート共通 --*/
@media screen, print {

	body.page-cart .promotion-criteria,
	body.page-cart .promotion-benefit,
	body.page-cart a.block-promotion-message--info,
	body.page-cart .shipnotfree a p span {
		color: var(--br-color-2);
	}

	body.page-cart .block-cart--promotion-criteria-list {
		margin-top: var(--br-spacing-2);
	}

	body.page-cart .cart__index__submit--purchase button {
		background-color: var(--br-color-6);
		border: 1px solid var(--br-color-6);
		color: #fff;
	}

	body.page-cart .cart__index__submit {
		display: flex;
		flex-direction: column;
		gap: var(--br-spacing-2) 0;
		margin: var(--br-spacing-2) auto;
	}

	body.page-cart .cart__index__submit--storereceipt_mix {
		font-weight: var(--br-fw-medium);
		letter-spacing: var(--br-ls-2);
		font-size: var(--br-fs-4);
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--br-button-radius);
		height: var(--br-button-h);
		padding: 0 var(--br-spacing-2);
	}

	body.page-cart .cart__index__submit--storereceipt_mix,
	body.page-cart .cart__index__submit--purchase.cart__index__submit--storereceipt button {
		background-color: var(--br-color-16);
		border: 1px solid var(--br-color-16);
		color: #fff;
	}

	body.page-cart .cart__index__continue {
		margin-top: var(--br-spacing-2);
	}

	body.page-cart #cart_itemhistory:has(.lists--1--item) {
		margin: var(--br-spacing-15) auto var(--br-spacing-4);
	}

	body.page-cart form[action*="cart.aspx"] .incart,
	body.page-cart .cart__index__product [name="update"] {
		display: none;
	}
}

/*-- 注文方法指定画面 --*/
@media screen, print {
	body:is(.page-method, .page-selectstore) .block-order-method--coupondialog .pager {
		margin: var(--br-spacing-1) 0 0;
	}

	body:is(.page-method, .page-selectstore) .block-order-method--coupondialog .pager .lists__sort--total {
		padding: 0;
		margin: 0;
	}

	body:is(.page-method, .page-selectstore) .cart__order__giftbtn {
		margin: 30px auto;
	}

	body:is(.page-method, .page-selectstore) .cart__order__product__info__change {
		height: 30px;
		width: 90px;
	}
}


/*-- 注文確認画面 --*/
@media screen, print {

	body.page-estimate .block-order-estimate--amazonpay-payment-btn,
	body.page-estimate .block-order--amazonpay-btn {
		margin: 0;
	}

	body.page-estimate .cart__confirm__change--btn:has(.block-order--amazonpay-btn),
	body.page-estimate .cart__confirm__change--btn--wide:has(.block-order--amazonpay-btn),
	body.page-estimate .cart__confirm__change--btn:has(.block-order-estimate--amazonpay-payment-btn),
	body.page-estimate .cart__confirm__change--btn--wide:has(.block-order-estimate--amazonpay-payment-btn) {
		position: static;
		margin-left: 24px;
	}

	body.page-estimate #estimate_address_frame .action-buttons {
		display: flex;
		flex-direction: column;
		gap: var(--br-spacing-2) 0;
	}

	body.page-estimate #estimate_address_frame .form-label:has(label) {
		margin: 0;
	}

	body.page-estimate #estimate_address_frame .form-control:has([name="name"], [name="kana"]) {
		display: flex;
		flex-direction: column;
		gap: var(--br-spacing-1) 0;
	}

	body.page-estimate .cart__confirm__submit--caption {
		margin-bottom: var(--br-spacing-2);
	}

	body.page-estimate .cart__confirm__total__box table {
		table-layout: fixed;
		word-break: break-all;
	}

	body.page-estimate .cart__confirm__total__box table col:nth-child(1) {
		width: 120px;
	}

	body.page-estimate .block-order-estimate--promotion-novelty-helper {
		border: none;
		padding: 0;
	}

	body.page-estimate .block-order-estimate--promotion-novelty-helper a {
		border: 1px solid var(--br-color-2);
		font-size: var(--br-fs-2);
		color: var(--br-color-2);
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 var(--br-spacing-1);
		padding: var(--br-spacing-1) var(--br-spacing-1);
		text-decoration: none;
	}

	body.page-estimate .block-order-estimate--promotion-novelty-helper a::after {
		content: '';
		mask-image: var(--br-svg-url-arrow-black-down-11x6);
		mask-size: contain;
		mask-repeat: no-repeat;
		background-color: var(--br-color-2);
		display: block;
		width: 11px;
		height: auto;
		aspect-ratio: 11/6;
	}

	body.page-estimate [name="savecard"][type="checkbox"] {
		display: none;
	}

	body.page-estimate .block-order-estimate--dest-address-item-buttons__selected {
		border: 1px solid var(--br-color-2);
		color: var(--br-color-2);
	}
}

/*-- 注文完了画面 --*/
@media screen, print {
	body.page-order .btn--1 {
		width: fit-content;
		height: auto;
	}

	body.page-order .block-order-complete--rules {
		text-align: center;
		margin-top: var(--br-spacing-3);
	}
}