@charset "utf-8";

/* ログイン
========================================================================== */
.box_login {
	margin-bottom: min(calc(60 * 100vw / 750), 60px);
}
.login_form,
.login_btn {
	margin-bottom: min(calc(28 * 100vw / 750), 28px);
}
.login_form-inner {
	display: flex;
	flex-direction: column;
	gap: min(calc(28 * 100vw / 750), 28px);
}
.login_form-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: min(calc(16 * 100vw / 750), 16px);
}
.login_form-title {
	font-size: min(calc(24 * 100vw / 750), 24px);
	letter-spacing: 0;
}
.login_form-title span {
	font-size: min(calc(20 * 100vw / 750), 20px);
}
.login_form-input input {
	width: min(calc(530 * 100vw / 750), 530px);
}
#box_login .next_btn {
	width: 100%;
	padding: min(calc(24 * 100vw / 750), 24px) 0;
	font-size: min(calc(32 * 100vw / 750), 32px);
	border-radius: min(calc(8 * 100vw / 750), 8px);
}
#box_login .next_arrow {
	width: min(calc(32 * 100vw / 750), 32px);
	height: min(calc(32 * 100vw / 750), 32px);
}
#box_login .next_btn .next_arrow::after {
	width: min(calc(16 * 100vw / 750), 16px);
	height: min(calc(20 * 100vw / 750), 20px);
}
.login_link {
	display: flex;
	justify-content: flex-end;
	gap: min(calc(16 * 100vw / 750), 16px);
}

/* マイリスト
========================================================================== */
.box_mylist {
	margin-bottom: min(calc(40 * 100vw / 750), 40px);
}
.mylist_text {
	margin-bottom: min(calc(28 * 100vw / 750), 28px);
}
.mylist_title {
	font-size: min(calc(30 * 100vw / 750), 30px);
	font-weight: bold;
}
.mylist_desc {
	font-size: min(calc(28 * 100vw / 750), 28px);
}
#box_mylist .next_btn {
	width: 100%;
	padding: min(calc(24 * 100vw / 750), 24px) 0;
	font-size: min(calc(32 * 100vw / 750), 32px);
	border-radius: min(calc(8 * 100vw / 750), 8px);
}
#box_mylist .next_arrow {
	width: min(calc(32 * 100vw / 750), 32px);
	height: min(calc(32 * 100vw / 750), 32px);
}
#box_mylist .next_btn .next_arrow::after {
	width: min(calc(16 * 100vw / 750), 16px);
	height: min(calc(20 * 100vw / 750), 20px);
}

/* 未ログイン
========================================================================== */
.cart_none-text {
	margin-bottom: min(calc(48 * 100vw / 750), 48px);
}
#main .cart_none-text h3 {
	font-size: min(calc(32 * 100vw / 750), 32px);
	letter-spacing: .04em;
}
.newer_btn {
	margin-bottom: min(calc(40 * 100vw / 750), 40px);
}
.newer_btn .next_btn {
	width: 100%;
	padding: min(calc(24 * 100vw / 750), 24px) 0;
	font-size: min(calc(32 * 100vw / 750), 32px);
	border-radius: min(calc(8 * 100vw / 750), 8px);
}
.newer_btn .next_arrow {
	width: min(calc(32 * 100vw / 750), 32px);
	height: min(calc(32 * 100vw / 750), 32px);
}
.newer_btn .next_btn .next_arrow::after {
	width: min(calc(16 * 100vw / 750), 16px);
	height: min(calc(20 * 100vw / 750), 20px);
}

/* 注文情報
========================================================================== */
.cart_main {
	margin-bottom: min(calc(60 * 100vw / 750), 60px);
}

/*cart_heading
------------------------------------------ */
.cart_heading {
	margin-bottom: min(calc(36 * 100vw / 750), 36px);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cart_heading-title {
	position: relative;
	font-size: min(calc(40 * 100vw / 750), 40px);
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.6;
	display: flex;
	gap: min(calc(12 * 100vw / 750), 12px);
}
.cart_heading-title::before {
	content: "";
	width: min(calc(10 * 100vw / 750), 10px);
	height: auto;
	background: #333;
}
.cart_heading-delete button {
	width: min(calc(120 * 100vw / 750), 120px);
	padding: min(calc(18 * 100vw / 750), 18px) 0;
	font-size: min(calc(26 * 100vw / 750), 26px);
	font-weight: 700;
	letter-spacing: .1em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: initial;
	border-radius: min(calc(8 * 100vw / 750), 8px);
	background: #D70C18;
	color: #fff;
}

/* cart_preview 
------------------------------------------ */
.cart_list {
	display: flex;
	flex-direction: column;
	gap: min(calc(40 * 100vw / 750), 40px);
}
.cart_item {
	position: relative;
	padding: min(calc(40 * 100vw / 750), 40px) min(calc(28 * 100vw / 750), 28px);
	border: min(calc(2 * 100vw / 750),2px) solid var(--color-border-bold);
	border-radius: min(calc(12 * 100vw / 750), 12px);
}
.cart_info {
	display: flex;
	gap: min(calc(24 * 100vw / 750), 24px);
}
.cart_preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(calc(16 * 100vw / 750), 16px);
}
.preview_images img {
	width: min(calc(200 * 100vw / 750), 200px);
	height: auto;
	object-fit: cover;
	border: 1px solid var(--color-border-bold);
}
.preview_images-btn .next_btn {
	width: min(calc(200 * 100vw / 750), 200px);
	padding: min(calc(18 * 100vw / 750), 18px) 0;
	font-size: min(calc(24 * 100vw / 750), 24px);
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: min(calc(8 * 100vw / 750), 8px);
}
.preview_images-btn .next_arrow {
	width: min(calc(24 * 100vw / 750), 24px);
	height: min(calc(24 * 100vw / 750), 24px);
	left: min(calc(8 * 100vw / 750), 8px);
}
.preview_images-btn .next_arrow::after {
	width: min(calc(10 * 100vw / 750), 10px);
	height: min(calc(14 * 100vw / 750), 14px);
}

/* cart_detail 
------------------------------------------ */
.cart_detail {
	flex-grow: 1;
}
.detail_list {
	display: flex;
	flex-direction: column;
}
.detail_item {
	padding: min(calc(12 * 100vw / 750), 12px) 0;
	letter-spacing: .02em;
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
}
.detail_item:not(:last-child) {
	border-bottom: 1px solid var(--color-border-bold);
}
.detail_item .detail_title {
	margin-right: auto;
	font-size: min(calc(26 * 100vw / 750), 26px);
	font-weight: 700;
}
.detail_item .detail_value {
	font-size: min(calc(22 * 100vw / 750), 22px);
	font-weight: 700;
	display: flex;
	flex-grow: 1;
	justify-content: flex-end;
	align-items: flex-end;
	gap: min(calc(2 * 100vw / 750), 2px);
}
.detail_item dd span:not(:last-child) {
	margin-right: 1em;
}
.detail_value .sub {
	font-size: min(calc(18 * 100vw / 750), 18px);
}

/* 印刷料金 */
.detail_item.-price {
	padding-top: 0;
}
.detail_item.-price dd,
.detail_item.-option dd {
	text-align: right;
	flex-direction: column;
	gap: min(calc(8 * 100vw / 750), 8px);
}
.detail_price {
	display: flex;
	text-align: right;
}
.detail_price-discount {
	font-size: min(calc(20 * 100vw / 750), 20px);
	letter-spacing: 0.02em;
	white-space: pre;
}

/* 宛名印刷 */
.detail_address {
	display: flex;
	justify-content: flex-end;
}
.detail_item.-address_type,
.detail_item.-address_base {
	border-bottom: initial;
}
.detail_item.-address_base,
.detail_item.-address_print {
	padding-top: 0;

	.detail_title {
		font-size: min(calc(22 * 100vw / 750), 22px);
	}
}
.detail_item.-address_base {
	padding-bottom: min(calc(4 * 100vw / 750), 4px);
}
.detail_item.-address_print {
	padding-bottom: min(calc(16 * 100vw / 750), 16px);
}
.detail_item.-address_print dd {
	flex-direction: column;
	gap: min(calc(8 * 100vw / 750), 8px);
}
.detail_item.-address_print dd span {
	margin-right: initial;
	margin-left: auto;
}
.detail_item.-address_print .link {
	font-size: min(calc(22 * 100vw / 750), 22px);
}
.detail_item.-address_print .link::before {
	width: min(calc(22 * 100vw / 750), 22px);
	height: min(calc(22 * 100vw / 750), 22px);
}

/* 小計 */
.detail_subtotal {
	padding-top: min(calc(20 * 100vw / 750), 20px);
	font-size: min(calc(30 * 100vw / 750), 30px);
	font-weight: 700;
	letter-spacing: .02em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid var(--color-border-bold);
}
.subtotal_value .sub {
	font-size: min(calc(26 * 100vw / 750), 26px);
}

/* 印刷内容修正 */
.cart_fix {
	margin-top: min(calc(40 * 100vw / 750), 40px);
}
.fix_list {
	display: flex;
	justify-content: flex-end;
	gap: min(calc(8 * 100vw / 750), 8px);
}
.fix_item .next_btn {
	width: min(calc(210 * 100vw / 750), 210px);
	padding: min(calc(36 * 100vw / 750), 36px) 0;
	font-size: min(calc(28 * 100vw / 750), 28px);
	letter-spacing: 0;
	border-radius: min(calc(8 * 100vw / 750), 8px);
	background: #6FB92C;
	color: #Fff;
}

/* split系表示 
------------------------------------------ */
.cart_split_desc {
	margin-bottom: min(calc(16 * 100vw / 750), 16px);
	font-size: min(calc(16 * 100vw / 750), 16px);
	color: var(--color-important);
	font-weight: 700;
}
.cart_split-title {
	padding: min(calc(2 * 100vw / 750), 2px) 0 min(calc(2 * 100vw / 750), 2px) min(calc(12 * 100vw / 750), 12px);
	font-size: min(calc(24 * 100vw / 750), 24px);
	font-weight: 700;
	letter-spacing: .06em;
	background: #FF9900;
	color: #fff;
}
.cart_split-group + .cart_split-group {
	margin-top: min(calc(40 * 100vw / 750), 40px);
}

/* 受付終了時
------------------------------------------ */
.soldout_area {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	border-radius: min(calc(12 * 100vw / 750), 12px);
	background: rgba(0, 0, 0, 0.6);
	z-index: 999;
}
.soldout_box {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: min(calc(24 * 100vw / 750), 24px);

}
.soldout_text {
	font-size: min(calc(32 * 100vw / 750), 32px);
	font-weight: 700;
	text-align: center;
	color: #fff;
}
.soldout_btn {
	width: min(calc(500 * 100vw / 750), 500px);
	padding: min(calc(24 * 100vw / 750), 24px) 0;
	font-size: min(calc(30 * 100vw / 750), 30px);
	font-weight: 700;
	letter-spacing: .04em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: min(calc(8 * 100vw / 750), 8px);
	background-color: var(--color-important);
	color: #fff;
}

/* 注文金額
========================================================================== */
#cart_price h3 {
	margin-bottom: initial;
}
.amount_wrap {
	padding: min(calc(40 * 100vw / 750), 40px) min(calc(16 * 100vw / 750), 16px);
	border: min(calc(2 * 100vw / 750),2px) solid var(--color-border-normal);
	border-top: initial;
	border-radius: 0 0 min(calc(12 * 100vw / 750), 12px) min(calc(12 * 100vw / 750), 12px);
}
.amount_item {
	padding: min(calc(20 * 100vw / 750), 20px) 0;
	font-size: min(calc(30 * 100vw / 750), 30px);
	font-weight: 700;
	letter-spacing: .02em;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.amount_item:first-child {
	padding-top: 0;
}
.amount_item:not(:first-child) {
	border-top: 1px solid var(--color-border-bold);
}
.amount_item .sub {
	font-size: min(calc(26 * 100vw / 750), 26px);
}
.amount_item.-sale {
	color: var(--color-important);
}
.amount_total {
	padding-top: min(calc(24 * 100vw / 750), 24px);
	letter-spacing: .06em;
	border-top: 1px solid var(--color-border-bold);
	.amount_item {
		padding-bottom: min(calc(8 * 100vw / 750), 8px);
	}
}
.amount_total-title {
	font-size: min(calc(36 * 100vw / 750), 36px);
}
.amount_total-value {
	font-size: min(calc(48 * 100vw / 750), 48px);
	text-align: right;
	color: #D70C18;
}
.amount_total-value .sub {
	font-size: min(calc(36 * 100vw / 750), 36px);
}
.amount_total-caution {
	font-size: min(calc(24 * 100vw / 750), 24px);
	text-align: right;
}

/* 購入に進む
------------------------------------------ */
.page_navi {
	margin: min(calc(60 * 100vw / 750), 60px) auto 0;
}

.box_groupsite {
	margin-top: min(calc(60 * 100vw / 750), 60px);
}