@charset "utf-8";
#cart {
	width: 100%;
	height: auto;
}
	.cart__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		padding: 100px 0 120px;
		margin: 0 auto;
	}
		.cart__contents {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: auto;
		}
			.cart__main {
				width: calc(100% - 365px);
				height: auto;
			}
				.cart__list_wrap {
					width: 100%;
					height: auto;
				}
					.cart__list {
						width: 100%;
						height: auto;
						border-top: dashed 1px var(--color--lightgray1);
					}
						.cart__list__item {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 100%;
							height: auto;
							padding: 30px 0;
							border-bottom: dashed 1px var(--color--lightgray1);
						}
							.cart__list__item__image {
								width: 110px;
								height: auto;
							}
								.cart__list__item__image__link {
									display: block;
									width: 100%;
									height: auto;
									overflow: hidden;
								}
								@media (any-hover: hover) {
									.cart__list__item__image__link img {
										transition: .4s;
										opacity: 1;
										transform: scale(1);
									}
									.cart__list__item__image__link:hover img {
										opacity: 0.7;
										transform: scale(1.02);
									}
								}
							.cart__list__item__details {
								width: calc(100% - 140px);
								height: auto;
								position: relative;
							}
								.cart__list__item__name {
									width: 100%;
									height: auto;
									margin: 0 auto 11px;
									font-size: 16px;
									font-weight: 500;
									line-height: calc(24 / 16);
									letter-spacing: 0.05em;
								}
									.cart__list__item__name__link {
										color: var(--color--black);
									}
								@media (any-hover: hover) {
									.cart__list__item__name__link {
										transition: .4s;
									}
									.cart__list__item__name__link:hover {
										color: var(--color--hover_text);
									}
								}
								.cart__list__item__details__option_list {
									display: flex;
									flex-direction: column;
									justify-content: flex-start;
									gap: 8px;
									width: 100%;
									height: auto;
									margin: 0 auto 30px;
								}
									.cart__list__item__details__option_list__item {
										display: flex;
										justify-content: flex-start;
										align-items: flex-start;
										width: 100%;
										height: auto;
										font-size: 14px;
										font-weight: 400;
										line-height: calc(16 / 14);
										letter-spacing: 0.05em;
										color: var(--color--black);
									}
										.cart__list__item__details__option_list__item dt {
											width: 70px;
											height: auto;
										}
										.cart__list__item__details__option_list__item dd {
											flex: 1;
											height: auto;
										}
								.cart__list__item__details__badge {
									display: flex;
									justify-content: flex-start;
									align-items: flex-start;
									flex-wrap: wrap;
									gap: 5px;
									width: 100%;
									height: auto;
									margin: -20px auto 30px;
								}
									.cart__list__item__details__badge__item {
										display: inline-block;
										padding: 4px;
										border: solid 1px var(--color--red);
										color: var(--color--white);
										background-color: var(--color--red);
										font-size: 10px;
										font-weight: 500;
										line-height: calc(11 / 10);
										letter-spacing: 0.05em;
										text-indent: 0.05em;
									}
								.cart__list__item__details__quantity {
									width: 100%;
									height: auto;
								}
								.cart__list__item__name + .cart__list__item__details__quantity {
									margin-top: 50px;
								}
									.cart__list__item__details__quantity__form {
										display: flex;
										justify-content: flex-start;
										align-items: center;
										gap: 10px;
										width: auto;
										height: auto;
									}
										.cart__list__item__details__quantity__label {
											width: 154px;
											height: 40px;
											position: relative;
										}
											.cart__list__item__details__quantity__input {
												width: 154px;
												height: 40px !important;
												padding: 0;
												border-radius: 3px;
												border: 1px solid var(--color--lightgray4);
												font-size: 16px;
												font-weight: 500;
												line-height: 1.5;
												letter-spacing: 0.05em;
												text-align: center;
												color: var(--color--black);
											}
											.cart__list__item__details__quantity__input::-webkit-inner-spin-button,
											.cart__list__item__details__quantity__input::-webkit-outer-spin-button {
												-webkit-appearance: none !important;
												-moz-appearance:textfield !important;
											}
												.cart__list__item__details__quantity__label button {
													width: 40px;
													height: 40px;
													position: absolute;
													top: 50%;
													transform: translate(0%,-50%);
													cursor: pointer;
													z-index: 1;
												}
												.cart__list__item__details__quantity__minus {
													left: 6px;
												}
												.cart__list__item__details__quantity__plus {
													right: 6px;
												}
													.cart__list__item__details__quantity__label button::before,
													.cart__list__item__details__quantity__label button::after {
														content: '';
														display: block;
														width: 12px;
														height: 1px;
														background-color: var(--color--black);
														position: absolute;
														top: 50%;
														left: 50%;
														transform: translate(-50%,-50%);
													}
													.cart__list__item__details__quantity__label button.cart__list__item__details__quantity__plus::after {
														transform: translate(-50%,-50%) rotate(90deg);
													}
												@media (any-hover: hover) {
													.cart__list__item__details__quantity__label button {
														transition: .4s;
													}
													.cart__list__item__details__quantity__label button:hover {
														opacity: 0.4;
													}
												}
											.cart__list__item__details__quantity__submit {
												display: flex;
												justify-content: center;
												align-items: center;
												width: 60px;
												height: 40px;
												border-radius: 3px;
												border: solid 1px var(--color--black);
												background-color: var(--color--black);
												font-size: 14px;
												font-weight: 700;
												line-height: 1.8;
												letter-spacing: 0.1em;
												color: var(--color--white);
												white-space: nowrap;
												cursor: pointer;
											}
										@media (any-hover: hover) {
											.cart__list__item__details__quantity__submit {
												transition: .3s;
											}
											.cart__list__item__details__quantity__submit:hover {
												background-color: var(--color--white);
												color: var(--color--black);
											}
										}
								.cart__list__item__details__price__wrap {
									display: flex;
									flex-direction: column;
									justify-content: center;
									align-items: flex-start;
									width: auto;
									height: auto;
									position: absolute;
									bottom: 0;
									right: 0;
								}
									.cart__list__item__details__price {
										display: inline-flex;
										justify-content: flex-end;
										align-items: center;
										font-size: 16px;
										line-height: 1.2;
									}
									.cart__list__item__details__price__normal {
										display: inline-block;
										font-size: 12px;
										line-height: 1.2;
										position: relative;
									}
										.cart__list__item__details__price__normal::before {
											content: '';
											display: block;
											width: 100%;
											height: 1px;
											background-color: var(--color--gray1);
											position: absolute;
											top: 50%;
											left: 0;
											transform: translateY(-50%);
										}
										.cart__list__item__details__price__value {
											font-size: 16px;
											font-weight: 400;
											line-height: 1.2;
											letter-spacing: 0.05em;
											color: var(--color--black);
										}
										.cart__list__item__details__price__normal .cart__list__item__details__price__value {
											font-size: 12px;
											color: var(--color--gray1);
										}
										._campaign .cart__list__item__details__price .cart__list__item__details__price__value {
											color: var(--color--red);
										}
										.cart__list__item__details__price__tax {
											display: inline-block;
											margin-left: 3px;
											font-size: 10px;
											font-weight: 500;
											line-height: 1.2;
											letter-spacing: 0.05em;
											color: var(--color--black);
										}
										._campaign .cart__list__item__details__price__tax {
											color: var(--color--red);
										}
								.cart__list__item__details__delete {
									width: 16px;
									height: 16px;
									position: absolute;
									top: 0;
									right: 0;
									z-index: 2;
								}
									.cart__list__item__details__delete__btn {
										display: block;
										width: 16px;
										height: 16px;
										position: relative;
									}
										.cart__list__item__details__delete__btn::before,
										.cart__list__item__details__delete__btn::after {
											content: '';
											display: block;
											width: 16px;
											height: 1px;
											background-color: var(--color--black);
											position: absolute;
											top: 50%;
											left: 50%;
										}
										.cart__list__item__details__delete__btn::before {
											transform: translate(-50%,-50%) rotate(45deg);
										}
										.cart__list__item__details__delete__btn::after {
											transform: translate(-50%,-50%) rotate(-45deg);
										}
								@media (any-hover: hover) {
									.cart__list__item__details__delete__btn {
										transition: .4s;
									}
									.cart__list__item__details__delete__btn:hover {
										opacity: 0.4;
									}
								}
				.cart__history {
					width: 100%;
					height: auto;
					margin: 80px auto 0;
				}
					.cart__history__list {
						display: grid;
						grid-template-columns: repeat(3, 1fr);
						column-gap: 25px;
						width: 100%;
						height: auto;
					}
						.cart__history__list > p {
							width: 100%;
							grid-column: 1 / 4;
							font-size: 14px;
							font-weight: 400;
							line-height: calc(21 / 14);
							letter-spacing: 0.05em;
							color: var(--color--black);
						}
						.cart__history__list__item {
							width: 100%;
							height: auto;
						}
							.cart__history__list__item__link {
								display: block;
								width: 100%;
								height: auto;
							}
								.cart__history__list__item__image {
									width: 100%;
									height: auto;
									overflow: hidden;
								}
								._soldout .cart__history__list__item__image {
									position: relative;
								}
									.cart__history__list__item__image img {
										width: 100%;
										height: auto;
									}
									._soldout .cart__history__list__item__image::before {
										content: "SOLD OUT";
										display: flex;
										justify-content: center;
										align-items: center;
										width: 100%;
										height: 100%;
										background-color:rgba(33 ,33 ,33 ,.4);
										font-size: 14px;
										font-weight: 400;
										line-height: calc(16 / 14);
										letter-spacing: 0.05em;
										color: var(--color--white);
										position: absolute;
										top: 0;
										left: 0;
										z-index: 3;
									}
								.cart__history__list__item__content {
									width: 100%;
									height: auto;
									padding: 10px 0;
								}
									.cart__history__list__item__label {
										display: flex;
										justify-content: flex-start;
										align-items: flex-start;
										flex-wrap: wrap;
										column-gap: 5px;
										row-gap: 3px;
										width: 100%;
										height: auto;
										margin: 0 auto 10px; 
									}
										.cart__history__list__item__label__item {
											display: flex;
											justify-content: center;
											align-items: center;
											width: auto;
											height: auto;
											padding: 4px;
											border: solid 1px var(--color--black);
											font-family: "Noto Sans JP", "Roboto", sans-serif;
											font-size: 10px;
											font-weight: 400;
											line-height: calc(11 / 10);
											letter-spacing: 0.05em;
											text-indent: 0.05em;
											color: var(--color--black);
										}
									.cart__history__list__item__category {
										width: 100%;
										height: auto;
										margin: 0 auto 10px;
										font-family: "Roboto", sans-serif;
										font-size: 10px;
										font-weight: 400;
										line-height: calc(11 / 10);
										letter-spacing: 0.05em;
										color: var(--color--gray1);
									}
									.cart__history__list__item__name {
										width: 100%;
										height: auto;
										margin: 0 auto 5px;
										font-family: "Roboto", sans-serif;
										font-size: 14px;
										font-weight: 400;
										line-height: calc(16 / 14);
										letter-spacing: 0.05em;
										color: var(--color--black);
									}
									.cart__history__list__item__price {
										width: 100%;
										height: auto;
										font-family: "Roboto", sans-serif;
										font-size: 12px;
										font-weight: 400;
										line-height: calc(14 / 12);
										letter-spacing: 0.05em;
										color: var(--color--black);
									}
								@media (any-hover: hover) {
									.cart__history__list__item__image img {
										transition: .4s;
										opacity: 1;
										transform: scale(1);
									}
									.cart__history__list__item__link:hover .cart__history__list__item__image img {
										opacity: .8;
										transform: scale(1.02);
									}
								}
									.cart__history__list__item__personal {
										width: 100%;
										height: auto;
										margin: 0 auto 10px;
										font-size: 10px;
										font-weight: 500;
										line-height: calc(15 / 10);
										letter-spacing: 0.05em;
										color: var(--color--gray1);
									}
										.cart__history__list__item__personal__name {
											margin-right: 10px;
										}
									.cart__history__list__item__size,
									.cart__history__list__item__color {
										width: 100%;
										height: auto;
										font-family: "Roboto", sans-serif;
										font-size: 12px;
										font-weight: 400;
										line-height: calc(14 / 12);
										letter-spacing: 0.05em;
										color: var(--color--black);
									}
									.cart__history__list__item__size {
										margin-bottom: 5px;
									}
			.cart__side {
				width: 300px;
				height: auto;
			}
				.cart__order_details {
					width: 100%;
					height: auto;
					padding: 30px 20px;
					margin: 0 auto 20px;
					border: solid 1px var(--color--black);
				}
					.cart__order_details__heading {
						width: 100%;
						height: auto;
						padding: 0 0 20px;
						margin: 0 auto 15px;
						border-bottom: dashed 1px var(--color--lightgray1);
					}
						.cart__order_details__heading__txt {
							font-size: 18px;
							font-weight: 500;
							line-height: calc(27 / 18);
							letter-spacing: 0.05em;
							color: var(--color--black);
						}
					.cart__order_details__price {
						width: 100%;
						height: auto;
						margin: 0 auto 15px;
						border-bottom: dashed 1px var(--color--lightgray1);
					}
						.cart__order_details__price__tax_list {
							display: flex;
							flex-direction: column;
							gap: 15px;	
							width: 100%;
							height: auto;
							margin: 0 auto 15px;
						}
							.cart__order_details__price__tax_list__item {
								display: flex;
								flex-direction: column;
								gap: 7px;
								width: 100%;
								height: auto;
							}
								.cart__order_details__price__tax_list__item > dt {
									width: 100%;
									height: auto;
									font-size: 12px;
									font-weight: 500;
									line-height: 1.5;
									letter-spacing: 0.05em;
									color: var(--color--gray1);
								}
								.cart__order_details__price__tax_list__item > dd {
									width: 100%;
									height: auto;
								}
									.cart__order_details__price__tax_list__item__sub_list {
										display: flex;
										flex-direction: column;
										gap: 7px;
										width: 100%;
										height: auto;
									}
										.cart__order_details__price__tax_list__item__sub_list__item {
											display: flex;
											justify-content: space-between;
											align-items: center;
											width: 100%;
											height: auto;
										}
											.cart__order_details__price__tax_list__item__sub_list__item > dt {
												font-size: 14px;
												font-weight: 500;
												line-height: 1.5;
												letter-spacing: 0.05em;
												color: var(--color--black);
											}
											._discount .cart__order_details__price__tax_list__item__sub_list__item > dt {
												color: var(--color--red);
											}
											.cart__order_details__price__tax_list__item__sub_list__item > dd {
												font-size: 14px;
												font-weight: 400;
												line-height: calc(16 / 14);
												letter-spacing: 0.05em;
												color: var(--color--black);
											}
											._discount .cart__order_details__price__tax_list__item__sub_list__item > dd {
												color: var(--color--red);
											}
					.cart__order_details__free_shipping {
						width: 100%;
						height: auto;
						margin: 0 auto 10px;
						font-size: 12px;
						font-weight: 500;
						line-height: 1.5;
						letter-spacing: 0.05em;
						text-align: center;
						color: var(--color--gray1);
					}
					.cart__order_details__total {
						width: 100%;
						height: auto;
						margin: 0 auto 15px;
					}
						.cart__order_details__total__list {
							display: flex;
							justify-content: space-between;
							align-items: center;	
							width: 100%;
							height: auto;
						}
							.cart__order_details__total__list > dt {
								font-size: 16px;
								font-weight: 500;
								line-height: 1.5;
								letter-spacing: 0.05em;
								color: var(--color--black);
							}
							.cart__order_details__total__list > dd {
								font-size: 18px;
								font-weight: 700;
								line-height: calc(21 / 18);
								letter-spacing: 0.05em;
								color: var(--color--black);
							}
					.cart__order_details__btn_wrap {
						width: 100%;
						height: 50px;
						margin: 0 auto 15px;
					}
						.cart__order_details__btn {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: 100%;
							border: solid 1px var(--color--black);
							background-color: var(--color--black);
							font-size: 14px;
							font-weight: 500;
							line-height: calc(21 / 14);
							letter-spacing: 0.05em;
							text-align: center;
							color: var(--color--white);
							cursor: pointer;
						}
					@media (any-hover: hover) {
						.cart__order_details__btn {
							transition: .4s;
						}
						.cart__order_details__btn:hover {
							background-color: var(--color--white);
							color: var(--color--black);
						}
					}
					.cart__order_details__gest {
					    width: 100%;
						height: auto;
						margin: 0 auto 15px;
						font-size: 12px;
						font-weight: 400;
						line-height: calc(14 / 12);
						letter-spacing: 0.05em;
						text-align: center;
					}
					    .cart__order_details__gest__btn {
							color: var(--color--gray1);
					        text-decoration: underline;
					    }
					@media (any-hover: hover) {
						.cart__order_details__gest__btn:hover {
							text-decoration: none;
						}
					}
					.cart__order_details__form {
						width: 100%;
						height: auto;
						margin: 30px auto 0;
					}
						.cart__order_details__form__ttl {
							width: 100%;
							height: auto;
							margin: 0 auto 10px;
							font-size: 12px;
							font-weight: 500;
							line-height: calc(21 / 14);
							letter-spacing: 0.05em;
							text-align: center;
							color: var(--color--black);
						}
						.cart__order_details__form .mypage__form__list {
							row-gap: 10px;
						}
								.cart__order_details__form .mypage__form__list__item__title {
									margin: 0 auto 3px;
									font-size: 12px;
								}
									.cart__order_details__form  .form_input._input_text {
										height: 40px;
										font-size: 12px;
									}
						
						.cart__order_details__login {
							width: 100%;
							height: auto;
							font-size: 12px;
							font-weight: 400;
							line-height: calc(14 / 12);
							letter-spacing: 0.05em;
							text-align: center;
							cursor: pointer;
						}
							.cart__order_details__login__txt {
								color: var(--color--gray2);
								text-decoration: underline;
							}
						@media (any-hover: hover) {
							.cart__order_details__login__txt:hover {
								text-decoration: none;
							}
						}
				.cart__order_info {
					width: 100%;
					height: auto;
				}
				    .cart__order_info__returns {
						width: 100%;
						height: auto;
						margin: 0 auto 20px;
						font-size: 10px;
						font-weight: 400;
						line-height: calc(20 / 12);
						letter-spacing: 0em;
						color: var(--color--gray1);
				    }
				        .cart__order_info__returns a {
    						color: var(--color--gray1);
    						text-decoration: underline;
				        }
					.cart__order_info__list {
						width: 100%;
						height: auto;
						border-top: solid 1px var(--color--lightgray1);
					}
						.cart__order_info__list__item {
							width: 100%;
							height: auto;
							border-bottom: solid 1px var(--color--lightgray1);
						}
							.cart__order_info__list__item dt {
								width: 100%;
								height: auto;
								padding: 20px 20px 20px 28px;
								position: relative;
								transition: .4s;
								cursor: pointer;
							}
							.cart__order_info__list__item._open dt {
								padding: 20px 20px 10px 28px;
							}
								.cart__order_info__list__item__icon {
									width: 22px;
									height: auto;
									position: absolute;
									top: 17px;
									left: 0;
								}
								.cart__order_info__list__item__txt {
									display: block;
									font-size: 14px;
									font-weight: 400;
									line-height: calc(14 / 14);
									letter-spacing: 0.05em;
									color: var(--color--black);
								}
								.cart__order_info__list__item dt::before,
								.cart__order_info__list__item dt::after {
									content: '';
									display: block;
									background-color: var(--color--black);
									position: absolute;
									top: 27px;
									right: 6px;
									transform: translate(50%,-50%);
								}
								.cart__order_info__list__item dt::before {
									width: 12px;
									height: 1px;
								}
								.cart__order_info__list__item dt::after {
									width: 1px;
									height: 12px;
									transition: .4s;
								}
								.cart__order_info__list__item._open dt::after {
									transform: translate(50%,-50%) rotate(90deg);
								}
							.cart__order_info__list__item dd {
								display: none;
								width: 100%;
								height: auto;
								padding: 0 0 20px;
								font-size: 12px;
								font-weight: 400;
								line-height: calc(22 / 12);
								letter-spacing: 0.05em;
								color: var(--color--black);
							}
		.cart__noitem {
			width: 100%;
			height: auto;
		}
			.cart__noitem__txt {
				width: 100%;
				height: auto;
				margin: 0 auto 70px;
				font-size: 14px;
				font-weight: 400;
				line-height: calc(24 / 14);
				letter-spacing: 0.05em;
				text-align: center;
				color: var(--color--black);
			}
			.cart__noitem__btn_wrap {
				width: 100%;
				max-width: 398px;
				height: 60px;
				margin: 0 auto;
			}
				.cart__noitem__btn {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: 100%;
					border: solid 1px var(--color--black);
					background-color: var(--color--black);
					font-size: 14px;
					font-weight: 500;
					line-height: calc(21 / 14);
					letter-spacing: 0.05em;
					text-align: center;
					color: var(--color--white);
				}
			@media (any-hover: hover) {
				.cart__noitem__btn {
					transition: .4s;
				}
				.cart__noitem__btn:hover {
					background-color: var(--color--white);
					color: var(--color--black);
				}
			}

/* PC ================================================== */
@media all and (min-width: 720px){

}

@media all and (max-width: 949px){
			.cart__main {
				width: calc(100% - 315px);
			}
			.cart__side {
				width: 280px;
			}
}
@media all and (min-width: 720px) and (max-width: 879px){
								.cart__list__item__details__price__wrap {
									display: flex;
									margin: 10px auto 0;
								}
}


/* Tablet ================================================== */
@media all and (max-width: 719px){
/* cart */
	.cart__inner {
		padding: 50px 0 80px;
	}
		.cart__contents {
			flex-direction: column;
			justify-content: flex-start;
			align-items: stretch;
		}
			.cart__main {
				width: 100%;
				order: 1;
				margin: 0 auto 50px;
			}
							.cart__list__item__image {
								width: calc((70 / 400) * 100%);
							}
							.cart__list__item__details {
								width: calc((315 / 400) * 100%);
							}
								.cart__list__item__name {
									font-size: 14px;
									line-height: calc(21 / 14);
								}
								.cart__list__item__details__option_list {
									margin: 0 auto 20px;
								}
									.cart__list__item__details__option_list__item {
										font-size: 12px;
										line-height: calc(14 / 12);
									}
										.cart__list__item__details__option_list__item dt {
											width: 68px;
										}
								.cart__list__item__name + .cart__list__item__details__quantity {
									margin-top: 20px;
								}
									.cart__list__item__details__quantity__form {
										gap: 6px;
									}
										.cart__list__item__details__quantity__label {
											width: 120px;
											height: 35px;
										}
											.cart__list__item__details__quantity__input {
												width: 120px;
												height: 35px !important;
												font-size: 14px;
											}
												.cart__list__item__details__quantity__label button {
													width: 35px;
													height: 35px;
												}
												.cart__list__item__details__quantity__minus {
													left: 6px;
												}
												.cart__list__item__details__quantity__plus {
													right: 6px;
												}
											.cart__list__item__details__quantity__submit {
												width: 50px;
												height: 35px;
												font-size: 13px;
											}
								.cart__list__item__details__price__wrap {
									height: 35px;
								}
										.cart__list__item__details__price__value {
											font-size: 14px;
										}
			.cart__side {
				width: 100%;
				order: 2;
				margin: 0 auto 50px;
			}
			.cart__history {
				margin: 0 auto;
				order: 3;
			}
					.cart__history__list {
						grid-template-columns: repeat(2, 1fr);
						column-gap: 10px;
						row-gap: 5px;
					}
						.cart__history__list > p {
							grid-column: 1 / 3;
						}
			.cart__noitem__txt {
				margin: 0 auto 50px;
			}
			.cart__noitem__btn_wrap {
				max-width: initial;
			}
}

/* SP ================================================== */
@media all and (max-width: 575px){

}