/*

	Loading Animation
	[Tmplate HTML]
	<div>
	  <div>
	    <i></i>
	    <i></i>
	    <i></i>
	  </div>
	  <svg viewBox="0 0 80 24"><text x="50%" y="50%">読み込み中...</text></svg>
	</div>
*/

.loading-animation[data-animation="loading"]{
	display:grid;
	grid-template-columns: 1fr;
	place-items:center;
	gap:5px;
}
.loading-animation[data-animation="loading"] div {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	place-items:center;
	gap: 10px;

}
.loading-animation[data-animation="loading"] i {
	display: block;
	width: 15px;
	height: 15px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	background-color: #aaa;
	border-radius: 100%;
	border: 1px solid white;
	box-shadow: 0 0 4px white;
}
.loading-animation[data-animation="loading"] i:nth-child(1) {
	-webkit-animation: scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);
}
.loading-animation[data-animation="loading"] i:nth-child(2) {
	-webkit-animation: scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);
}
.loading-animation[data-animation="loading"] i:nth-child(3) {
	-webkit-animation: scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);
}

.loading-animation svg{
	width: 100%;
	overflow: visible;
	height: 40px;
}
.loading-animation text{
	text-anchor: middle;
	dominant-baseline: middle;
	fill: currentColor;
	paint-order: stroke;
	stroke: white;
	stroke-width: 1px;
	font-weight: bold;
	text-shadow: 0 0 4px white;
}

@keyframes scaleAnimation{
	30% {
		-webkit-transform: scale(.3);
		transform: scale(.3);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}




#CartInsert__Message {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	place-items: center;
	z-index: 1000;
}
#CartInsert__Message .cart_insert__message_box {
	position: relative;
	display: grid;
	place-items: center;
	width: 90vw;
	max-width: 600px;
	height: auto;
	max-height: 90vh;
	min-height: 300px;
	overflow-y: auto;
	border-radius: 10px;
	padding: 10px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	background-color: rgba(0, 0, 0, 0.4);
	transform: translateY(100vh);
	transition-property: transform;
	-webkit-transition-property: transform;
	-moz-transition-property: transform;
	-o-transition-property: transform;
	-ms-transition-property: transform;
	transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	transition-timing-function: ease;
	-webkit-transition-timing-function: ease;
	-moz-transition-timing-function: ease;
	-o-transition-timing-function: ease;
	-ms-transition-timing-function: ease;
}
#CartInsert__Message .cart_insert__message_close {
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-decoration: none;
	font-size: 35px;
	color: white;
}
#CartInsert__Message .cart_insert__message_content_btn {
	display: flex;
	justify-content: center;
	gap: 10px;
}
#CartInsert__Message .cart_insert__message_shoppingback {
	width: 150px;
	height: 40px;
	display: flex;
	justify-content: center;
	gap: 5px;
	place-items: center;
	text-align: center;
	border: 1px solid cornflowerblue;
	background-color: cornflowerblue;
	color: white;
	text-decoration: none;
	box-shadow: 1px 1px 2px black;
	border-radius: 5px;
	font-size: 14px;
}
#CartInsert__Message .cart_insert__message_shoppingback:hover {
	background-color: darkslateblue;
}
#CartInsert__Message .cart_insert__message_cartjump {
	min-width: 150px;
	height: 40px;
	display: flex;
	justify-content: center;
	gap: 5px;
	place-items: center;
	text-align: center;
	border: 1px solid crimson;
	background-color: crimson;
	color: white;
	text-decoration: none;
	box-shadow: 1px 1px 2px black;
	border-radius: 5px;
	font-size: 16px;
}
#CartInsert__Message .cart_insert__message_cartjump:hover {
	background-color: darkred;
}
#CartInsert__Message .cart_insert__message_content {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 20px 0 50px 0;
}
#CartInsert__Message .cart_insert__message_content_text {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	color: white;
/*	white-space: nowrap;	*/
}
#CartInsert__Message .cart_insert__message_content_text.cart_insert__message_content_text_ok{
	text-shadow: 0 0 5px blue;
}
#CartInsert__Message .cart_insert__message_content_text.cart_insert__message_content_text_ng{
	text-shadow: 0 0 5px red;
}
#CartInsert__Message .cart_insert__message_content_text > i {
	width: 40px;
	display: block;
	margin: auto;
	font-size: 1.5em;
}
#CartInsert__Message .cart_insert__message_content_text > i.cart_insert__ngmark::before {
	content: "\f05e";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
}
#CartInsert__Message .cart_insert__message_content_text > i.cart_insert__checkmark::before {
	content: "\f058";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
/*
	content: "";
	width: 12px;
	height: 6px;
	border-left: 3px solid white;
	border-bottom: 3px solid  white;
	display: block;
	transform: rotate(-45deg) translate(11px, 4px);
*/
}

