@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body {
	font-family: monospace;
	/* font-family: "Noto Sans JP", sans-serif; */
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-o-user-select:none;
	-ms-user-select:none;
	touch-action: manipulation;
	overflow-x: hidden;
	overflow-y: scroll;
}
* {
	box-sizing: border-box;
	/* font-family: monospace; */
	/* font-family: sans-serif; */
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}
/* *::-webkit-scrollbar {
	display: none;
} */

.add {
	width: 35px;
	aspect-ratio: 1;
	cursor: pointer;
	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}
.add:hover {
	opacity: 0.6;
}
.download {
	display: flex;
	align-items: center;
	gap: 5px;
	border-radius: 8px;
	height: 30px;
	padding: 0 10px 0 5px;
	background: black;
	color: white;
	font-size: 10px;
	cursor: pointer;
	img {
		width: 25px;
		aspect-ratio: 1;
		object-fit: contain;
	}
}
.download:hover {
	opacity: 0.6;
}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	background: black;
	color: white;
	width: 140px;
	min-height: 30px;
	cursor: pointer;
}
.btn:hover {
	opacity: 0.6;
}

.page-header {
	position: absolute;
	top: 20px;
	left: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 14px;
	width: 100%;
	.bar {
		min-width: 80px;
		min-width: 80px;
		max-width: 100px;
		min-height: 1px;
		max-height: 1px;
		background: black;
		object-fit: cover;
	}
	.title {
		font-size: 20px;
		font-weight: bold;
		letter-spacing: 6px;
		padding: 0;
		margin: 0;
	}
}

.bg-color {
	background: rgba(234, 234, 234, 1);
}
.unactive-color {
	background: rgba(163, 163, 163, 1);
}
.main-color {
	background: rgba(252, 139, 18, 1) !important;
}
.verified-green {
	background: rgb(16, 193, 65);
	border-radius: 50%;
	padding: 2px;
}
.verified-blue {
	background: rgb(18, 112, 214);
	border-radius: 50%;
	padding: 2px;
}

.input-block {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
	.label {
		display: flex;
		flex-wrap: warp;
		align-items: center;
		gap: 10px;
		margin-bottom: 0;
		.inquiry {
			color: red;
			font-size: 12px;
		}
	}
}
.input {
	display: flex;
	align-items: center;
	padding: 0 8px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 8px;
	border: 1px solid rgba(252, 139, 18, 1);
	min-height: 34px;
}
.input-disabled {
	border-color: transparent;
}
.input-price {
	justify-content: flex-end
}
.content {
	padding: 70px 30px 20px 30px;
	border-radius: 14px;
}

@media all and (min-width: 768px) {
	.pc-visible {
		display: block !important;
	}
	.sp-visible {
		display: none !important;
	}
}
@media all and (min-width: 440px) and (max-width: 768px) {
	.pc-visible {
		display: block !important;
	}
	.sp-visible {
		display: none !important;
	}
}
@media all and (min-device-width: 390px) and (max-device-width: 440px) {
	.pc-visible {
		display: none !important;
	}
	.sp-visible {
		display: block !important;
	}
}
@media all and (min-device-width: 375px) and (max-device-width: 389px) {
	.pc-visible {
		display: none !important;
	}
	.sp-visible {
		display: block !important;
	}
}
@media all and (min-device-width: 320px) and (max-device-width: 374px) {
	.pc-visible {
		display: none !important;
	}
	.sp-visible {
		display: block !important;
	}
}

.page-dev {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.page {
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-inner-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
	border-radius: 4px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.4);
	padding: 20px;
}
.btn-v2 {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	font-size: 12px;
	font-weight: bold;
	line-height: 40px;
}
.btn-v2-done {
	color: white;
	background: #1e4581;
}
.btn-v2-cancel {
	color: white;
	background: #811e1e;
}
.switch {
	position: relative;
	width: 44px;
	height: 24px;
	border-radius: 24px;
	border: 1px solid lightgray;
	transition: 0.3s;
	box-shadow: inset 0 8px 60px rgba(0,0,0,0.1),
				inset 0 8px 8px rgba(0,0,0,0.1),
				inset 0 -4px 4px rgba(0,0,0,0.1);
}
.switch.active {
	background: linear-gradient(to bottom, #c50188, #960067);
	box-shadow: inset 0 2px 60px rgba(0,0,0,0.1),
				inset 0 2px 8px rgba(0,0,0,0.1),
				inset 0 -4px 8px rgba(0,0,0,0.05);
}
.switch i {
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	transform: scale(0.9);
	background: linear-gradient(to bottom, #444, #222);
	box-shadow: 0 8px 40px rgba(0,0,0,0.5),
				inset 0 4px 4px rgba(255,255,255,0.2),
				inset 0 -4px 4px rgba(255,255,255,0.2);
	transition: 0.3s;
}
.switch-on i {
	left: 20px;
	background: linear-gradient(to bottom, #d543a7, #960067);
	box-shadow: 0 8px 20px rgba(0,0,0,0.1),
				inset 0 4px 4px #960067,
				inset 0 -4px 4px #960067;
}
.switch-off {
	
}
.header-v2 {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	z-index: 10;
	width: 100%;
}
.header-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 6px 16px;
	letter-spacing: 0.2em;
}
.header-title div:nth-child(1) {
	font-size: 1em;
}
.header-title div:nth-child(2) {
	font-size: 0.8em;
}
.header-loading-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	background:linear-gradient(90deg, red, blue, red);
	width: 100%;
	height: 4px;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.header-loading-bar-start {
	animation: header-loading-bar-anim 0.6s alternate infinite linear;
}
@keyframes header-loading-bar-anim {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 100% 0%;
	}
}



.circle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background: #333;
	border-radius: 50%;
	text-align: center;
	overflow: hidden;
	z-index: 1;
}

.circle::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -30px;
	width: 60px;
	height: 60px;
	background: #999;
	transform-origin: right 30px;
	z-index: 2;
	animation: rotate-circle-left 0.6s linear forwards;
}

.circle::after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 30px;
	width: 60px;
	height: 60px;
	background: #999;
	transform-origin: left 30px;
	z-index: 3;
	animation: rotate-circle-right 0.6s linear forwards;
}
.circle .circle-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	background: #fff;
	border-radius: 50%;
	z-index: 4;
}
.circle .circle-inner div {
	white-space: nowrap;
}

@keyframes rotate-circle-right {
	0%   {
		transform: rotate(0deg);
		background: #999;
	}
	50%  {
		transform: rotate(180deg);
		background: #999;
	}
	50.01% {
		transform: rotate(360deg);
		background: #333;
	}
	100% {
		transform: rotate(360deg);
		background: #333;
	}
}
@keyframes rotate-circle-left {
	0%   { transform: rotate(0deg); }
	50%  { transform: rotate(0deg); }
	100% { transform: rotate(180deg); }
}

.progressbar-v2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	padding: 4px 0;
}
.progressbar-v2 .progressbar-v2-label {
	font-size: 0.9em;
	letter-spacing: 0.15em;
}
.progressbar-v2 .progressbar-v2-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2px;
	width: 100%;
	height: 20px;
	padding: 4px 0;
}
.progressbar-v2 .progressbar-v2-inner div:nth-child(2) div {animation-delay: 0.2s;}
.progressbar-v2 .progressbar-v2-inner div:nth-child(3) div {animation-delay: 0.4s;}
.progressbar-v2 .progressbar-v2-inner div:nth-child(4) div {animation-delay: 0.6s;}
.progressbar-v2 .progressbar-v2-inner div:nth-child(5) div {animation-delay: 0.8s;}
.progressbar-v2 .progressbar-v2-inner div:nth-child(6) div {animation-delay: 1.0s;}
.progressbar-v2 .progressbar-v2-inner .progressbar-v2-inner-item {
	background: #a0a0a0;
	flex: 1;
	height: 100%;
	overflow: hidden;
}
.progressbar-v2 .progressbar-v2-inner .progressbar-v2-inner-item div {
	background: #05a00f;
	height: 100%;
	overflow: hidden;
	animation: progressbar-v2-inner-item-anim 0.2s both 1 linear;
}
@keyframes progressbar-v2-inner-item-anim {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}

.tab-v2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	border-radius: 4px;
	overflow: hidden;
	background: rgba(226, 226, 226, 0.5);
}
.tab-v2 .tab-v2-item {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
	padding: 8px 4px;
	font-size: 1em;
	animation: tab-v2-item-anim 0.3s both 1 ease-in;
	white-space: nowrap;
	overflow: hidden;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	border-left: 2px solid transparent;
	border-right: 2px solid transparent;
}
/* .tab-v2 div:nth-child(2) {animation-delay: 0.2s;} */
/* .tab-v2 div:nth-child(3) {animation-delay: 0.4s;} */
@keyframes tab-v2-item-anim {
	0% {
		/* letter-spacing: 1em; */
		opacity: 0;
	}
	100% {
		/* letter-spacing: 0.1em; */
		opacity: 1;
	}
}
.tab-v2 .tab-v2-item-on {
	animation: tab-v2-item-on-anim 1.4s both infinite linear;
	background: rgba(255, 255, 255, 0.8);
	color: #4994ef;
}
@keyframes tab-v2-item-on-anim {
	0% {
	}
	50% {
		border-top-color: white;
		border-bottom-color: white;
	}
	100% {
	}
}
.tab-v2 .tab-v2-item-notification {
	animation: tab-v2-item-notification-anim 0.5s both infinite linear;
}
@keyframes tab-v2-item-notification-anim {
	0% {
	}
	50% {
		border-top-color: #ef4949;
		border-bottom-color: #ef4949;
		color: #ef4949;
	}
	100% {
	}
}
.tab-v2 .tab-v2-item .tab-v2-item-badge {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	width: 40px;
	height: 20px;
	font-size: 0.8em;
	color: white;
	font-weight: bold;
	background: #ef4949;
	animation-delay: 2s;
	animation: tab-v2-item-badge-anim 1s both infinite linear;
	overflow: hidden;
}
@keyframes tab-v2-item-badge-anim {
	0% {
	}
	50% {
		color: #ef4949;
	}
	100% {
	}
}

.order-item-v2 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	width: 100%;
	overflow: hidden;
	padding: 8px 16px;
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
.order-item-v2 .type-img {
	position: absolute;
	top: 20px;
	right: -20px;
	overflow: hidden;
	width: 100px;
	height: 100px;
	opacity: 0.6;
	z-index: 1;
}
.order-item-v2 .type-img img {
	object-fit: fill;
	width: 100%;
	height: 100%;
}
.order-item-v2 .order-item-v2-info {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	width: 100%;
	overflow: hidden;
	z-index: 2;
}
.order-item-v2 .order-item-v2-info .order-item-v2-info-label {
	font-size: 0.8em;
	width: 134px;
	white-space: pre-wrap;
	word-break: break-all;
}
.order-item-v2 .order-item-v2-info .order-item-v2-info-text {
	flex: 1;
	font-size: 1em;
	white-space: pre-wrap;
	word-break: break-all;
}
.order-item-v2-selected {
	background: rgba(157,214,176,0.4)
}
.order-cart-item-v2 {
	flex:1;
	position: relative;
	display:flex;
	flex-direction:column;
	gap:8px;
	padding-bottom: 16px;
	width: 100%;
	overflow: scroll;
}
.order-cart-item-v2 .type-img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
	width: 300px;
	height: 300px;
	opacity: 0.6;
	z-index: 1;
}
.order-cart-item-v2 .type-img img {
	object-fit: fill;
	width: 100%;
	height: 100%;
}
.order-cart-item-v2 .items {
	z-index: 2;
	order-bottom: 1px solid rgba(255,255,255,0.5);
}
.order-cart-item-v2 .total {
	z-index: 2;
}
.order-cart-item-v2 .info {
	z-index: 2;
}

.motion-btn {
	position: relative;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
	user-select: none;
	transition: 0.5;
	overflow: hidden;
}
.motion-btn span {
	position: absolute;
	border: 4px solid #fff;
	transform: translate(-50%, -50%);
	pointer-events: none;
	border-radius: 50%;
	filter: brightness(2);
	animation: motion-btn-span 1.4s linear 1;
}
@keyframes motion-btn-span {
	0% {
		width: 0;
		height: 0;
	}
	100% {
		width: 1000px;
		height: 1000px;
		opacity: 0;
	}
}