:root {
	--const-light-color-base: hsl(0, 0%, 100%);
	--const-light-color-base-alpha: hsla(0, 0%, 100%, 0.85);
	--const-light-color-base-alpha2: hsla(0, 0%, 100%, 0.3);
	--const-light-color-main: hsl(200, 60%, 50%);
	--const-light-color-main-light: hsl(200, 100%, 69%);
	
	--const-dark-color-base: hsl(210, 15%, 25%);
}

/* light mode (default) */
:root {
	--color-base: var(--const-light-color-base);
	--color-base-dark: hsl(0, 0%, 98%);
	--color-base-dark2: hsl(0, 0%, 95%);
	--color-base-alpha: var(--const-light-color-base-alpha);
	--color-base-alpha2: var(--const-light-color-base-alpha2);
	--color-base-transparent: hsla(0, 100%, 100%, 0);
	--color-main: var(--const-light-color-main);
	--color-main-light: var(--const-light-color-main-light);
	--color-main-dark: hsl(200, 50%, 45%);
	--color-main-thin: hsl(201, 100%, 92%);
	--color-main-thin2: hsl(201, 100%, 97%);
	--color-sub: hsl(60, 60%, 50%);
	--color-sub-light: hsl(60, 100%, 73%);
	--color-active: hsl(180, 100%, 65%);
	--color-accent: hsl(36, 100%, 50%);
	--color-text: hsla(210, 15%, 40%, 1);
	--color-text-light: hsl(210, 15%, 60%);
	--color-text-light2: hsl(210, 15%, 85%);
	--color-text-alpha: hsla(210, 15%, 40%, 0.7);
	--color-text-alpha2: hsla(210, 15%, 40%, 0.2);
	--color-disabled: hsl(0, 0%, 80%);
	--color-disabled-dark: hsl(0, 0%, 65%);
	--color-stop: hsl(0, 70%, 60%);
	--color-stop-light: hsl(0, 20%, 97%);
	--color-stop-dark: hsl(0, 30%, 45%);
	--color-stop-dark-alpha: hsl(0, 30%, 45%, 0.7);
	--color-go: hsl(100, 57%, 51%);
	--color-go-light: hsl(120, 15%, 97%);
	--color-go-dark: hsl(120, 18%, 48%);
	--color-warn: hsl(60, 90%, 40%);
	--color-warn-light: hsl(56, 30%, 97%);
	--color-warn-dark: hsl(44, 24%, 50%);
	--color-form: hsl(200, 60%, 50%);
	--color-event-link1: hsl(200, 92%, 88%);
	--color-event-link2: hsl(180, 70%, 80%);
	
	--font-default: "Avenir Next", Verdana, "Segoe UI", "メイリオ", Meiryo, "Noto Sans JP", sans-serif;
	--font-price: "Roboto Condensed", sans-serif;
	--font-theme: "Miso", sans-serif;
	--font-narrow: "Roboto Condensed Local", "Roboto Condensed", sans-serif;
	
	--box-shadow-normal: 0 4px 12px 0 hsla(0, 0%, 0%, 0.15);
	--box-shadow-normal-inset: inset 0 4px 12px 0 hsla(0, 0%, 0%, 0.1);
	--box-shadow-near: 0 2px 5px 0 hsla(0, 0%, 0%, 0.2);
	--box-shadow-near-inset: inset 0 2px 5px 0 hsla(0, 0%, 0%, 0.15);
	--box-shadow-event-link: inset 2px 2px 5px hsla(0, 0%, 0%, 0.15);
	--text-shadow-normal: 2px 2px 2px hsla(0, 0%, 0%, 0.1);
	--text-shadow-near: 1px 1px 0px hsla(0, 0%, 0%, 0.1);
	--text-shadow-glow: 0 0 10px hsl(200, 100%, 85%);
	
	--gradient-slash: linear-gradient(-45deg, var(--color-base-dark) 20%, var(--color-base-dark2) 20% 25%, var(--color-base-dark) 25% 70%, var(--color-base-dark2) 70% 75%, var(--color-base-dark) 75%);
	--gradient-slash-invert: linear-gradient(-45deg, var(--color-base-dark2) 20%, var(--color-base-dark) 20% 25%, var(--color-base-dark2) 25% 70%, var(--color-base-dark) 70% 75%, var(--color-base-dark2) 75%);
	--gradient-slash-bold: linear-gradient(-45deg, var(--color-base-dark) 20%, var(--color-base-dark2) 20% 30%, var(--color-base-dark) 30% 70%, var(--color-base-dark2) 70% 80%, var(--color-base-dark) 80%);
	
	--backdrop-filter-normal: blur(6px) brightness(0.9);
	--backdrop-filter-dark: blur(6px) brightness(0.7);
	--backdrop-filter-raw: blur(6px);
}

/* dark mode */
[data-theme="dark"] {
	--color-base: hsl(210, 15%, 25%);
	--color-base-dark: hsl(210, 15%, 28%);
	--color-base-dark2: hsl(210, 15%, 31%);
	--color-base-alpha: hsla(210, 15%, 25%, 0.85);
	--color-base-alpha2: hsla(210, 15%, 25%, 0.15);
	--color-base-transparent: hsla(210, 15%, 25%, 0);
	--color-main: hsl(200, 100%, 30%);
	--color-main-light: hsl(200, 100%, 25%);
	--color-main-dark: hsl(200, 100%, 60%);
	--color-main-thin: hsl(206, 42%, 34%);
	--color-main-thin2: hsl(206, 30%, 28%);
	--color-sub: hsl(60, 60%, 50%);
	--color-sub-light: hsl(60, 100%, 73%);
	--color-active: hsl(185, 100%, 75%);
	--color-accent: hsl(36, 100%, 50%);
	--color-text: hsl(210, 15%, 90%);
	--color-text-light: hsla(210, 15%, 60%, 1);
	--color-text-light2: hsla(210, 15%, 40%, 1);
	--color-text-alpha: hsla(210, 15%, 80%, 0.7);
	--color-text-alpha2: hsla(210, 15%, 80%, 0.2);
	--color-disabled: hsl(210, 10%, 22%);
	--color-disabled-dark: hsl(210, 13%, 33%);
	--color-stop: hsl(0, 53%, 55%);
	--color-stop-light: hsl(0, 3%, 36%);
	--color-stop-dark: hsl(0, 100%, 89%);
	--color-stop-dark-alpha: hsl(0, 100%, 89%, 0.7);
	--color-go: hsl(100, 41%, 48%);
	--color-go-light: hsl(130, 5%, 30%);
	--color-go-dark: hsl(130, 50%, 80%);
	--color-warn: hsl(60, 90%, 40%);
	--color-warn-light: hsl(56, 2%, 32%);
	--color-warn-dark: hsl(44, 62%, 78%);
	--color-form: hsl(200, 100%, 30%);
	--color-event-link1: hsl(200, 48%, 41%);
	--color-event-link2: hsl(180, 40%, 35%);

	--box-shadow-event-link: inset 2px 2px 5px hsla(0, 0%, 0%, 0.3);

	--gradient-slash: linear-gradient(-45deg, var(--color-base-dark) 20%, var(--color-base-dark2) 20% 25%, var(--color-base-dark) 25% 70%, var(--color-base-dark2) 70% 75%, var(--color-base-dark) 75%);
	--gradient-slash-invert: linear-gradient(-45deg, var(--color-base-dark2) 20%, var(--color-base-dark) 20% 25%, var(--color-base-dark2) 25% 70%, var(--color-base-dark) 70% 75%, var(--color-base-dark2) 75%);
	--gradient-slash-bold: linear-gradient(-45deg, var(--color-base-dark) 20%, var(--color-base-dark2) 20% 30%, var(--color-base-dark) 30% 70%, var(--color-base-dark2) 70% 80%, var(--color-base-dark) 80%);
}

@font-face {
	font-family: "Miso";
	src: url(/media/font/miso/miso.otf) format("opentype");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Miso";
	src: url(/media/font/miso/miso-bold.otf) format("opentype");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "Roboto Condensed Local";
	src: local("Roboto Condensed");
}

* {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

::selection {
	background-color: hsl(180, 100%, 65%);
	color: hsl(210, 20%, 50%);
}
::selection {
	background-color: hsl(185, 100%, 75%);
	color: hsl(210, 20%, 50%);
}

html {
	font-size: 14px;
	font-family: var(--font-default);
	scroll-behavior: smooth;
	scroll-padding-top: calc(80px + 5dvh);
}
@media (any-hover: none) {
	html {
		scroll-padding-top: 20dvh;
	}
}
html:has(input:focus) {
	scroll-padding-top: 0;
}

body {
	color: var(--color-text);
	background-image: var(--gradient-slash);
	background-size: 20px 20px;
	background-attachment: fixed;
}

header {
	position: sticky;
	top: 0;
	z-index: 11;
	background-color: var(--color-main);
	box-shadow: var(--box-shadow-normal);
}
header:has(#main_header_submenu_checkbox:checked) {
	z-index: 22;
}
.main_area article header {
	position: unset;
	background-color: unset;
	box-shadow: unset;
}

main {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 0 6rem 0;
	background-color: var(--color-base);
	box-shadow: var(--box-shadow-normal);
}


a {
	color: var(--color-main-dark);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	text-decoration: none;
}

footer {
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	padding: 60px 0 120px 0;
}

hr {
	border-style: none;
	border-top: 1px solid var(--color-text-alpha2);
}

h1, h2, h3, h4, h5, h6 {
	text-align: center;
	color: var(--color-text);
}

h1 {
	padding: 2rem;
	font-size: 3.0rem;
	line-height: 3.3rem;
}

h1:first-child {
	margin-top: 0;
}

h2 {
	padding: 1.5rem;
	font-size: 2rem;
	line-height: 2.5rem;
}

h4 {
	font-size: 2rem;
}

dt {
	margin: 3rem 1rem 2rem 1rem;
	font-size: 2.0rem;
	word-wrap: break-word;
}
dd {
	margin: 1rem;
	font-size: 1.2rem;
	word-wrap: break-word;
}
dd + dt {
	margin-top: 6rem;
}

input, textarea, button, input[type="submit"] {
	outline-style: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	box-sizing: border-box;
}
button, input[type="submit"] {
	border: none;
	cursor: pointer;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration,
input[type="search"]::-webkit-calendar-picker-indicator {
	-webkit-appearance: none;
	display: none;
	visibility: hidden;
}
input::placeholder,
textarea::placeholder {
	color: var(--color-text-alpha2);
	text-shadow: var(--text-shadow-normal);
}

dialog {
	margin: auto;
	border-style: none;
	background-color: transparent;
	overflow: visible;
	opacity: 0;
	transition: 
	opacity 0.4s ease-out,
	display 0.4s ease-out allow-discrete,
	overlay 0.4s ease-out allow-discrete;
}
dialog:focus {
	outline: none;
}
dialog[open] {
	opacity: 1;
}
@starting-style {
	dialog[open] {
		opacity: 0;
	}
}
dialog::backdrop {
	background-color: black;
	opacity: 0;
	transition: 
	opacity 0.4s ease-out,
	display 0.4s ease-out allow-discrete,
	overlay 0.4s ease-out allow-discrete;
}
dialog[open]::backdrop {
	opacity: 0.6;
}
@starting-style {
	dialog[open]::backdrop {
		opacity: 0;
	}
}

fieldset{
	border: none;
	margin: 0;
}
fieldset label {
	position: relative;
}
fieldset input[type=text],
fieldset input[type=email],
fieldset input[type=number],
fieldset textarea {
	border-style: none;
	box-shadow: var(--box-shadow-near-inset);
	background-color: var(--color-base-dark);
	color: var(--color-text);
	font-family: var(--font-default);
}
fieldset textarea{
	resize: none;
}
.captcha{
	vertical-align: bottom;
}
ul.errorlist {
	list-style: none;
}
ul.errorlist li {
	display: inline-block;
	margin: 1px 0;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	font-style: italic;
	color: var(--color-base);
	background-color: var(--color-accent);
	word-break: break-word;
	hyphens: auto;
}

.form_input_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1px 0;
	margin: 2rem 0;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.form_input_container:hover {
	box-shadow: var(--box-shadow-near);
}
.form_input_container > label {
	position: relative;
	flex: 4;
	min-width: 40%;
	box-sizing: border-box;
	text-align: right;
	padding: 0.5rem 1.5rem;
	background-color: var(--color-form);
	color: var(--const-light-color-base);
	font-size: 1.5rem;
	line-height: initial;
}

@media (max-width: 1100px) {
	.form_input_container {
		flex-direction: column;
		gap: 0;
	}
	.form_input_container > label {
		text-align: left;
	}
}
@media (max-width: 991px) {
	.form_input_container {
		flex-direction: row;
		gap: 0;
	}
	.form_input_container > label {
		text-align: right;
	}
}
@media (max-width: 600px) {
	.form_input_container {
		flex-direction: column;
		gap: 0;
	}
	.form_input_container > label {
		text-align: left;
	}
}
.form_input_container label[for] {
	cursor: pointer;
}
.form_input_container label.required:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1rem;
	height: 1rem;
	border: 0.2rem solid var(--color-base);
	background-color: var(--color-accent);
	box-shadow: var(--box-shadow-near);
	transform: translate(-50%, -50%) rotate(-45deg);
}
.form_input_container > .form_input,
.form_input_container > input,
.form_input_container > textarea,
.form_input_container > select {
	outline: none;
	flex: 6;
	min-width: 60%;
	max-width: 100%;
	border: none;
	border-radius: 0;
	padding: 0.5rem 1.5rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	background-color: var(--color-base-dark2);
	box-shadow: var(--box-shadow-near-inset);
	font-family: var(--font-default);
	color: var(--color-text);
	white-space: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form_input_container .form_input_container > .form_input,
.form_input_container .form_input_container > input,
.form_input_container .form_input_container > textarea,
.form_input_container .form_input_container > select {
	background-color: var(--color-base-dark2);
}
.form_input_container > label > .form_note {
	display: inline-block;
	margin: 1px 0;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	font-style: italic;
	background-color: var(--color-base-alpha2);
	word-break: break-word;
	hyphens: auto;
}
.form_input_container > label > .form_note .form_note_strong {
	font-weight: bold;
}
.form_input_container .input_note {
	display: inline-block;
	margin: 1px 0;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	font-style: italic;
	background-color: var(--color-base-alpha);
	color: var(--color-text);
	word-break: break-word;
	hyphens: auto;
}
.form_input_container .input_label_strong {
	font-weight: bold;
}
.form_input_container .input_label_weak {
	color: var(--color-text);
}
.form_input_container_sub {
	flex: 1;
	width: 100%;
	box-sizing: border-box;
	padding: 0 0 0 2rem;
	background-color: var(--color-base-dark);
	border-left: 4px solid var(--color-active);
}
.form_input_container > .form_input input[type=checkbox] {
	display: none;
}
.form_input_container > .form_input input[type=checkbox] + label {
	position: relative;
	display: block;
	margin: 1rem 0;
	padding-left: 2.5rem;
	color: var(--color-main-dark);
	text-decoration: underline;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.form_input_container > .form_input input[type=checkbox] + label:hover {
	filter: brightness(1.1);
}
.form_input_container > .form_input input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 5rem;
	background-color: var(--color-disabled);
	box-shadow: var(--box-shadow-near-inset);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.form_input_container > .form_input input[type=checkbox]:checked + label::before {
	background-color: var(--color-accent);
}
.form_input_container > .form_input input[type=checkbox] + label::after {
	content: "";
	position: absolute;
	width: 0.3rem;
	height: 0.6rem;
	left: 0.7rem;
	top: 0.6rem;
	transform: translateY(-0.1rem) rotate(45deg);
	border-width: 0.3rem;
	border-style: none solid solid none;
	border-color: var(--color-disabled-dark);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.form_input_container > .form_input input[type=checkbox]:checked + label::after {
	border-color: var(--color-base);
}
.form_input_container > .form_input input[type=radio] {
	display: none;
}
.form_input_container > .form_input input[type=radio] + label {
	position: relative;
	display: block;
	margin: 1rem 0;
	padding-left: 2.5rem;
	color: var(--color-main-dark);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
@media (any-hover: none) {
	.form_input_container > .form_input input[type=radio] + label {
		text-decoration: underline;
	}
}
.form_input_container > .form_input input[type=radio] + label:hover {
	filter: brightness(1.1);
	text-decoration: underline;
}

.form_input_container > .form_input input[type=radio] + label::before {
	content: "";
	position: absolute;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 5rem;
	background-color: var(--color-disabled);
	box-shadow: var(--box-shadow-near-inset);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.form_input_container > .form_input input[type=radio]:checked + label::before {
	background-color: var(--color-accent);
}
.form_input_container > .form_input input[type=radio] + label::after {
	content: "";
	position: absolute;
	left: 0.5rem;
	top: 0.5rem;
	width: 1rem;
	height: 1rem;
	border-radius: 5rem;
	background-color: var(--color-disabled-dark);
	box-shadow: var(--box-shadow-near);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	opacity: 0;
}
.form_input_container > .form_input input[type=radio]:checked + label::after {
	background-color: var(--color-base);
	opacity: 1;
}
.form_badge_sample {
	display: inline-block;
	margin: 1rem;
	padding: 0.5rem 2rem;
	border: 1px dashed var(--color-main);
	border-radius: 0.5rem;
	font-size: 1.5rem;
	font-style: italic;
}
.form_badge_sample .form_badge_sample_required {
	position: relative;
	display: block;
	padding-left: 2rem;
}
.form_badge_sample .form_badge_sample_required::before {
	content: '';
	position: absolute;
	top: 0.3rem;
	left: -0.8rem;
	width: 1rem;
	height: 1rem;
	border: 0.2rem solid var(--color-base);
	background-color: var(--color-accent);
	box-shadow: var(--box-shadow-near);
	transform: rotate(-45deg);
}

.full_center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.full_table {
	display: table;
	width: 100%;
	height: 100%;
}

.full_table .full_cell {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.foundation_block {
	max-width: 1800px;
}

.site_cursor {
	display: inline-block;
	position: fixed;
	pointer-events: none;
	border-radius: 100px;
	border: 4px solid var(--color-base);
	width: 48px;
	height: 48px;
	z-index: 99999;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2), 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
	background-image: url('/media/site_cursor.svg');
	transition-property: transform, opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-in;
}
.site_cursor.hide {
	transform: rotateY(720deg);
	opacity: 0;
}

.page_title {
	margin: 0;
	padding: 3rem 2rem;
	font-size: 3.0rem;
	color: var(--color-text);
}
@media (max-width: 600px) {
	.page_title {
		font-size: 1.8rem;
	}
}

a.inline_link {
	color: var(--color-main);
	text-decoration-line: underline;
	text-decoration-color: var(--color-text-alpha2);
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
	cursor: pointer;
}
a.inline_link:hover {
	text-decoration-line: underline;
	text-decoration-color: var(--color-active);
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}
[data-theme="dark"] a.inline_link {
	color: var(--color-main-dark);
}

h2.main_area,
h4.main_area {
	background-color: var(--color-base-dark);
	padding: 2rem;
}

.footer_menu {
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0 12%;
	font-size: 1.2rem;
}
.footer_menu > li {
	box-sizing: border-box;
	padding: 1rem;
	margin: 0 auto;
	width: 230px;
	font-weight: bold;
	font-size: 1.5rem;
}
.footer_menu .footer_submenu {
	list-style: none;
	font-weight: normal;
}
.footer_menu a {
	color: var(--const-light-color-base);
	display: inline-block;
	margin: 0 0 0 1.5rem;
	padding: 0;
	font-size: 1.2rem;
	text-decoration-line: underline;
	text-decoration-color: var(--const-light-color-base-alpha2);
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}
.footer_menu a:hover {
	text-decoration-line: underline;
	text-decoration-color: var(--color-active);
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}

.additional_title {
	font-size: 2rem;
	color: var(--color-text-light);
	text-align: center;
}
@media (max-width: 600px) {
	.additional_title {
		font-size: 1rem;
	}
}
.additional_title_strong {
	color: hsla(20, 100%, 60%, 1);
	font-weight: bold;
	margin-bottom: 3rem;
}
@media (max-width: 600px) {
	.additional_title_strong {
		margin-bottom: 2rem;
	}
}

.icon-block {
	padding: 0 15px;
}

div.product_description{
	background-color: var(--color-base-dark);
}
div.product_description a:hover {
	filter: brightness(1.5);
}
div.product_description table {
	width: 100%;
	border-spacing: 0;
	box-shadow: var(--box-shadow-normal);
}
div.product_description tr:first-of-type td {
	border-top-style: none;
}
div.product_description tr td {
	border-radius: 0;
	padding: 0.5rem 1rem;
}
div.product_description tr:nth-child(2n) td {
	background-color: var(--color-base-dark);
	filter: brightness(0.95);
}
div.product_description tr td:first-child{
	text-align: right;
	background-color: var(--color-base-dark2);
	color: var(--color-text);
	width:20%;
	font-weight: bold;
}
div.product_description tr:nth-child(2n) td:first-child{
	filter: brightness(0.95);
}

.row div.product_matrix_thumbnail{
	max-width:210px;
	height:315px;
	min-width:180px;
}

.row div.product_thumbnail{
	max-width:210px;
	height:315px;
}
figure.reset{
	margin: 0;
}

div.product_thumbnail a{
	text-transform:none;
}

div.matrix_row{
	overflow: hidden;
	padding-left:10px;
}

div.paginator{
	font-size: 1.5rem;
	margin: 3rem 0.5rem;
	text-align: center;
}

div.clear_block{
	clear: both;
	height: 0;
	width: 0;
}

div#cart_button_container{
	text-align: center;
	padding:10px;
	color: var(--color-text);
	background-color: var(--color-base-dark);
}

@keyframes blink {
	0%{
		opacity: 1;
	}
	100%{
		opacity: 0.5;
	}
}
@keyframes bright_blink {
	0% {
		filter: brightness(1);
	}
	10% {
		filter: brightness(1.5);
	}
	100% {
		filter: brightness(1);
	}
}

.btn.ask_restocking_btn, .ask_mint_btn {
	width: 100%;
	font-size: 2rem;
	padding: 2rem;
	border-radius: 5rem;
	animation: blink alternate 6 0.3s;
	box-shadow: var(--box-shadow-normal);
}
.btn.ask_restocking_btn {
	background-color: var(--color-stop);
}
.btn.ask_restocking_btn:hover {
	filter: brightness(1.2) saturate(1.2);
}
.btn.ask_mint_btn {
	background-color: hsl(207, 87%, 61%);
}
.btn.ask_mint_btn:hover {
	filter: brightness(1.2) saturate(1.2);
}
@media (max-width: 600px) {
	.btn.ask_restocking_btn, .ask_mint_btn {
		font-size: 1.6rem;
		padding: 2rem;
	}
}
.btn.ask_restocking_btn i, .ask_mint_btn i {
	font-size: inherit;
	margin-right: 5px;
	margin-bottom: 5px;
}

div.padding_10px{
	padding:10px;
}

.align_center{
	text-align:center;
}

.price_thumbnail_search{
	text-align:center;
}

div.card div.card-content{
	padding:10px;
}
div.card div.card-content a {
	color: var(--color-main);
}
div.card div.card-content a:hover {
	color: var(--color-main-dark);
}

.price_color{
	color: var(--color-main-dark);
	font-size: 120%;
	font-weight: bold;
}

.price_color_thumb{
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 0 5px 0 5px;
	padding: 2px 10px;
	z-index: 3;
	background-color: var(--color-base-dark2);
	color: var(--color-text);
	font-weight: bold;
	font-size:1rem;
	text-shadow: var(--text-shadow-normal);
	font-family: var(--font-price);
	opacity: 0.85;
}
@media (any-hover: none) {
	.price_color_thumb {
		border-radius: 0 5px 0 0;
	}
}
.price_color_thumb.red {
	background-color: var(--color-stop-light);
	color: var(--color-stop-dark);
}
.price_color_thumb.blue {
	background-color: var(--color-go-light);
	color:var(--color-go-dark);
}

.price_with_unit_offscreen {
	position: relative;
	position: absolute !important;
	z-index: -1 !important;
	opacity: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.price_with_unit_offscreen::before {
	content: "$";
}
.price_with_unit_visible {
	font-family: var(--font-price);
}
.price_with_unit_visible::before {
	content: "$";
	margin-right: 0.2rem;
	font-size: max(0.8rem, 50%);
	line-height: 140%;
	vertical-align: 50%;
	font-weight: normal;
}
.price_with_unit_visible .price_with_unit_integer {
	font-weight: bold;
}
.price_with_unit_visible .price_with_unit_point {
	position: absolute;
	font-weight: normal;
	opacity: 0;
}
.price_with_unit_visible .price_with_unit_fractional {
	font-size: max(0.8rem, 50%);
	line-height: 140%;
	vertical-align: 50%;
	font-weight: normal;
}

.thumbnail_card .price_with_unit_visible::before {
	margin-right: 0.1rem;
	line-height: 140%;
	vertical-align: 40%;
}
.thumbnail_card .price_with_unit_visible .price_with_unit_integer {
	font-weight: bold;
	line-height: 140%;
	font-size: 140%;
	opacity: 1;
}
.thumbnail_card .price_with_unit_visible .price_with_unit_point {
	vertical-align: 40%;
}
.thumbnail_card .price_with_unit_visible .price_with_unit_fractional {
	vertical-align: 40%;
}

.count_color_thumb {
	position: absolute;
	background-color: var(--color-text);
	color:var(--color-base);
	border-radius: 5px 5px 0 0;
	font-weight: bold;
	font-size:1rem;
	font-family: var(--font-price);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	padding: 2px 10px;
	right: 5px;
	bottom: 0;
	z-index: 4;
}

div.alert_message{
	color:var(--color-base);
}

.errorlist{
	color:#f00;
}


h2.sub_header {
	position: relative;
	border-radius: 5px;
	background-color: var(--color-main);
	font-weight: bold;
	margin: 10px 0;
	padding: 0;
	overflow:hidden;
	color:var(--const-light-color-base);
	font-size: 1.6rem;
	box-shadow: var(--box-shadow-normal);
}
h2.sub_header a {
	display: block;
	padding: 2rem 2rem;
	color: var(--const-light-color-base);
	background-color: var(--color-main);
	text-shadow: var(--text-shadow-normal);
}
h2.sub_header a:hover {
	filter: brightness(1.5);
}
h2.sub_header a::after {
	font: var(--fa-font-solid);
	content: "\f0da";
	display: flex;
	position: absolute;
	align-items: center;
	height: 100%;
	right: 0;
	top: 0;
	padding: 1rem;
	box-sizing: border-box;
	opacity: 0.3;
}
h2.sub_header div {
	padding: 2rem 2rem;
}

form#header_search_box{
	display: flex;
	flex-grow: 1;
	max-width: 400px;
	position: relative;
	background-color: var(--color-main);
}
form#header_search_box.blink {
	animation: 1s ease-in 0s 3 normal bright_blink;
}

form#header_search_box input::placeholder {
	color: var(--const-light-color-base-alpha2);
}
form#header_search_box::before {
	content: "\f002";
	font: var(--fa-font-solid);
	font-size: 1.5rem;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	top: 0;
	padding: 0 1.4rem;
	color: rgba(255, 255, 255, 0.3);
	text-shadow: var(--text-shadow-normal);
	z-index: 1;
	pointer-events: none;
}

form#header_search_box input {
	display: block;
	flex-grow: 1;
	width: 0;
	height: 100%;
	margin: 0;
	box-sizing: border-box;
	padding: 10px 0 10px 4rem;
	border-style: none;
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	font-size: 1.2rem;
	box-shadow: var(--box-shadow-near-inset);
	text-shadow: var(--text-shadow-normal);
	filter: brightness(0.98);
}
@media (max-width: 700px) {
	form#header_search_box input {
		visibility: hidden;
	}
	form#header_search_box::before {
		visibility: hidden;
	}
}
@media (max-width: 600px) {
	form#header_search_box input {
		visibility: visible;
	}
	form#header_search_box::before {
		visibility: visible;
	}
}
@media (max-width: 1200px) {
	.main_header .main_header_spacer {
		display: none;
	}
	form#header_search_box {
		max-width: none;
	}
}

form#header_search_box .search_recommend {
	width: calc(100% + 20rem);
}
@media (max-width: 991px) {
	form#header_search_box .search_recommend {
		width: calc(100% + 3rem);
	}
}
@media (max-width: 600px) {
	form#header_search_box .search_recommend {
		width: 100vw;
	}
}

span#header_search_button{
	cursor:pointer;
}

span#header_search_button i{
	margin: 0px 15px;
}

form#main_action_search_box{
	display: flex;
	flex-grow: 1;
	position: relative;
}
form#main_action_search_box.blink {
	animation: 1s ease-in 0s 3 normal bright_blink;
}

form#main_action_search_box input {
	display: block;
	flex-grow: 1;
	width: 0;
	height: 4rem;
	margin: 0;
	box-sizing: border-box;
	padding: 0 2rem;
	border-style: none;
	background-color: var(--color-base-alpha);
	color: var(--color-text);
	font-size: 1.2rem;
	text-shadow: var(--text-shadow-normal);
	filter: brightness(0.98);
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
form#main_action_search_box input:focus {
	max-width: none;
	height: 5rem;
	background-color: var(--color-base);
}
form#main_action_search_box button {
	padding: 2rem;
	font-size: 1.5rem;
}

form#main_action_search_box .search_recommend {
	width: 100%;
}

form#main_action_search_box .main_action_search_button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2rem;
	text-decoration: none;
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}


div.paginator div strong{
	padding:6px;
}
div.banner img{
	max-width:1000px;
	width:100%;
}

.sticky_free {
	display: inline-block;
	margin-left: 0.3rem;
	padding: 0.2rem 0.8rem;
	background-color: var(--color-accent);
	color: var(--color-base);
	text-shadow: var(--text-shadow-near);
	box-shadow: var(--box-shadow-near);
}

.category_collection a{
	display:block;
}

.showprint{
	display: none;
}

@media print {
	input, textarea {
		border: 1px solid #000000;
		box-shadow: none;
	}
	.noprint {
		display: none !important;
	}
	.noprint + br {
		display: none !important;
	}
	.showprint{
		display: initial;
	}
	tr.showprint {
		display: table-row;
	}
	td.showprint {
		display: table-cell;
	}
}

div.kodawari_block {
	width: 100%;
}
div.kodawari_block img {
	max-width: 500px;
	margin: 0 auto;
}
div.kodawari_block .kodawari_point {
	margin: 10px 0 0 0;
	font-size: 20px;
}
div.kodawari_block .kodawari_point > img {
	display: block;
	width: 100%;
}
div.kodawari_block .kodawari_point > ul {
	margin: 2rem 1rem;
	list-style: none;
	text-indent: 1em;
}
div.kodawari_block .kodawari_point > ol {
	margin: 2rem 1rem;
	list-style: none;
	counter-reset: kodawari_counter;
	padding-left: 2em;
	text-indent: -2em;
}
div.kodawari_block .kodawari_point > ol li:before {
	counter-increment: kodawari_counter;
	content: counter(kodawari_counter);
	background-color: var(--color-main-dark);
	color: var(--color-base);
	border-radius: 50px;
	padding: 0 8px;
	margin: 0 10px 0 0;
}
div.kodawari_block .kodawari_point li {
	margin: 10px;
}
div.kodawari_block .kodawari_point li .strong {
	font-weight: bold;
}

dd.kodawari_block .kodawari_point > img {
	vertical-align: middle;
	width: 80%;
	padding: 10px 0;
	box-sizing: border-box;
	margin: 0 10%;
}
dd.kodawari_block .kodawari_point > ul {
	vertical-align: top;
	list-style: none;
	text-indent: 1em;
}
dd.kodawari_block .kodawari_point > ol {
	display: table-cell;
	vertical-align: top;
	list-style: none;
	counter-reset: kodawari_counter;
	padding-left: 2em;
	text-indent: -2em;
}
dd.kodawari_block .kodawari_point > ol li:before {
	counter-increment: kodawari_counter;
	content: counter(kodawari_counter);
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	border-radius: 50px;
	padding: 0 8px;
	margin: 0 10px 0 0;
}
dd.kodawari_block .kodawari_point li {
	margin: 10px 20px;
}
dd.kodawari_block .kodawari_point li .strong {
	font-weight: bold;
}
@media (min-width: 750px) {
	dd.kodawari_block .kodawari_point {
		display: table;
	}
	dd.kodawari_block .kodawari_point > img {
		display: table-cell;
		width: 300px;
		padding: 10px 0;
		box-sizing: border-box;
		margin: 0;
	}
	dd.kodawari_block .kodawari_point > ul {
		display: table-cell;
	}
	dd.kodawari_block .kodawari_point > ol {
		display: table-cell;
	}
	dd.kodawari_block .kodawari_point li {
		margin: 10px 20px;
	}
}

.link_box {
	position: relative;
	min-width: 60px;
}

.link_box a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: hsla(200, 50%, 50%, 0.1);
	color: hsla(200, 50%, 50%, 1);
}

.link_box a:hover {
	background-color: hsla(200, 50%, 50%, 1);
	color: var(--color-base);
}

.id_box {
	width: 50px;
}


.index_menu_area {
	box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.2)
}

.index_menu_area h1 {
	background-color: var(--color-main-dark);
	color: var(--color-base);
	padding: 4px;
	font-size: 24px;
	font-weight: bold;
	overflow: hidden;
	text-align: center;
}

.index_menu_area h2 {
	background-color: var(--color-main);
	color: var(--color-base);
	margin: 10px 0;
	padding: 1rem;
	font-size: 2rem;
	font-weight: bold;
	overflow: hidden;
	text-align: center;
}

.index_menu_area h3 {
	color: var(--color-main);
	padding: 0.5rem;
	font-size: 1.5rem;
	font-weight: bold;
	overflow: hidden;
	text-align: center;
	border-top: 1px solid var(--color-main);
}

.index_menu_area ul {
	margin-bottom: 20px;
	list-style: none;
}

.index_menu_area ul li:not(:has(> hr)) + li {
	list-style-type: none;
	border-top:1px dashed #DDDDDD;
}

.index_menu_area ul li a{
	padding: 0.4rem 1rem;
	display: block;
	transition-property: all;
	transition-duration: 0.05s;
	transition-timing-function: ease-out;
}

.index_menu_area ul li a:hover{
	background: var(--color-main-thin);
	text-decoration:none;
}

.index_menu_area ul li > hr {
	border: none;
}
.index_menu_area ul li:has(> hr) {
	border-top: 1px solid #DDDDDD;
}
.index_menu_area ul li:nth-child(n):has(> hr) {
	background-color: #DDDDDD;
}

.dashboard {
	color: #333333;
}

.dashboard h1 {
	text-align: center;
	margin: 2rem 0;
	font-size: 3rem;
}

.status_table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.status_table tr td, .status_table tr th {
	text-align: center;
	border-right: 1px solid #eee;
	padding: 1rem;
	font-size: 1.2rem;
}

.status_table tr td:last-child, .status_table tr th:last-child {
	border-right-style: none;
}

.status_table tr td.status_table_value, .status_table tr td.status_table_value_caution {
	font-size: 30px;
	font-weight: bold;
}

.status_table tr td.status_table_value a {
	display: block;
	background-color: hsla(200, 60%, 50%, 1);
	color: var(--color-base);
	padding: 5px 10px;
	border-radius: 5px;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.status_table tr td.status_table_value a:hover,
.status_table tr td.status_table_value a:focus {
	color: var(--color-base);
	background-color: hsla(200, 70%, 60%, 1);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 0 15px 0 rgba(0, 0, 0, 0.2);
}

.status_table tr td.status_table_value_caution a {
	display: block;
	background-color: hsla(0, 70%, 60%, 1);
	color: var(--color-base);
	padding: 5px 10px;
	border-radius: 5px;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.status_table tr td.status_table_value_caution a:hover,
.status_table tr td.status_table_value_caution a:focus {
	color: var(--color-base);
	background-color: hsla(0, 100%, 50%, 1);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 0 15px 0 rgba(0, 0, 0, 0.2);
}

.status_table tr td.status_table_function {
	padding: 0;
	font-size: 14px;
	text-align: left;
	vertical-align: top;
}

.status_table_function a {
	padding: 4px 10px;
	display: block;
	transition-property: all;
	transition-duration: 0.05s;
	transition-timing-function: ease-out;
	border-top: 1px dashed #ddd;
}

.status_table_function a:hover {
	background-color: var(--color-main-thin);
}

.status_table_function a.status_table_caution {
	color: #f33;
	font-weight: bold;
}

.status_table_function a.status_table_caution:hover {
	background-color: #f33;
	color: var(--color-base);
}

h1.layout_box_header {
	color: var(--color-text);
	margin: 0;
	padding: 2rem;
	font-size: 3.0rem;
	line-height: 3.3rem;
}

h2.layout_box_header {
	background-color: hsla(0, 70%, 60%, 1);
	color: var(--color-base);
	font-size: 20px;
	overflow: hidden;
	padding: 4px 10px;
	text-align: center;
}

.merchant_toolbox {
	position: fixed;
	z-index: 200;
	top: 50px;
	left: -200px;
	display: table;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	opacity: 0.1;
	font-size: 16px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.merchant_toolbox.can_hover {
	transition-delay: 0.5s;
}
.merchant_toolbox.can_hover:hover,
.merchant_toolbox.opened {
	opacity: 1;
	left: 0;
	transition-delay: 0s;
}
.merchant_toolbox > * {
	display: table-cell;
}
.toolbox_handle {
	width: 20px;
	background-color: var(--color-stop);
	color: var(--color-base);
	font-size: 20px;
	padding: 5px 10px;
	vertical-align: middle;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	cursor: pointer;
}
.toolbox_container {
	width: 200px;
	overflow-x: hidden;
	background-color: var(--color-text);
}
.toolbox_container > ul {
	list-style: none;
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
}
.toolbox_container > ul:first-child {
	border-style: none;
}
.toolbox_container > ul > li > a {
	padding: 5px 10px;
	display: block;
	background-color: var(--color-text);
	color: var(--color-base);
	text-align: center;
}
.toolbox_container > ul > li > a:hover {
	background-color: var(--color-base);
	color: var(--color-text);
}
.toolbox_container > ul.toolbox_tools_default {
	display: flex;
	width: 100%;
}
.toolbox_container > ul.toolbox_tools_default li {
	flex: 1;
	font-size: 2rem;
}

.sub_merchant_tool {
	position: fixed;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	top: 50%;
	right: calc(50% + 916px/2);
	transform: translate(0, -50%);
	margin: 0 1rem;
	padding: 1rem;
	border-radius: 0.5rem;
	background-color: var(--color-base-dark);
	box-shadow: var(--box-shadow-normal);
	z-index: 1;
}
@media only screen and (min-width: 1100px) {
	.sub_merchant_tool {
		right: calc(50% + 1200px/2);
	}
}
.sub_merchant_tool .sub_merchant_tool_button {
	padding: 1rem;
	font-size: 0.8rem;
	border: none;
	background-color: var(--color-base);
	color: var(--color-text);
}
.sub_merchant_tool .sub_merchant_tool_button:hover {
	background-color: var(--color-text);
	color: var(--color-base);
}
.sub_merchant_tool .sub_merchant_tool_button i {
	display: block;
	margin-bottom: 1rem;
	font-size: 3rem;
}

ul.paginator_indexes {
	display: table;
	box-sizing: border-box;
	margin: auto;
	border-radius: 50px;
	list-style-type: none;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
ul.paginator_indexes li {
	display: table-cell;
	line-height: normal;
}
ul.paginator_indexes li > a {
	padding: 5px 10px;
	display: block;
	font-weight: bold;
	font-size: 1.2rem;
	background-color: var(--color-base-dark2);
}
ul.paginator_indexes li > span {
	padding: 5px 10px;
	display: block;
	font-size: 1.2rem;
	background-color: var(--color-base-dark2);
}
ul.paginator_indexes.large li > a {
	font-size: 1.8rem;
}
ul.paginator_indexes.large li > span {
	font-size: 1.8rem;
}
ul.paginator_indexes li > a:hover {
	padding: 5px 10px;
	display: block;
	background-color: var(--color-active);
	color: var(--const-light-color-main);
}
ul.paginator_indexes li.here > span {
	font-weight: bold;
	background-color: var(--const-light-color-main);
	color: var(--const-light-color-base);
	box-shadow: var(--box-shadow-near-inset);
	text-shadow: var(--text-shadow-near);
}
ul.paginator_indexes li.snip > span {
	color: var(--color-text-alpha);
}
ul.paginator_indexes li:first-of-type > a,
ul.paginator_indexes li:first-of-type > span {
	border-radius: 50px 0 0 50px;
	padding-left: 20px;
}
ul.paginator_indexes li:last-of-type > a,
ul.paginator_indexes li:last-of-type > span {
	border-radius: 0 50px 50px 0;
	padding-right: 20px;
}

@media (max-width: 599px) {
	ul.paginator_indexes li.go_page,
	ul.paginator_indexes li.snip,
	ul.paginator_indexes li.go_first,
	ul.paginator_indexes li.go_last {
		display: none
	}
}

.badge_notice[count]::after {
	content: attr(count);
	margin-left: -15px;
	border: 2px solid var(--color-base);
	border-radius: 30px;
	padding: 0 5px;
	color:var(--color-base);
	background-color: #f66;
	font-weight: bold;
	text-align: center;
	letter-spacing: normal;
	font-size: 0.7rem;
	vertical-align: top;
	box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.2);
}

.hide-on-large-only .badge_notice[count]::after {
	margin-left: 5px;
}

.main_header {
	display: flex;
	align-items: stretch;
	height: 80px;
	max-width: 1600px;
	margin: 0 auto;
	color: var(--color-base);
	font-size: 1.6rem;
}
.main_header button {
	font-size: 2rem;
}
@media (max-width: 600px) {
	.main_header {
		height: auto;
		flex-wrap: wrap;
	}
	#logo-container .logo {
		width: 100vw;
		min-width: 100vw;
	}
	.main_header_button {
		height: 5rem;
	}
}
.main_header_button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2rem;
	text-decoration: none;
	color: var(--const-light-color-base);
	background-color: var(--color-main);
	text-shadow: var(--text-shadow-normal);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.main_header .main_header_spacer {
	flex-grow: 1;
}
.main_header_button:hover {
	filter: brightness(1.5);
}
.main_header_branch .main_header_button:hover {
	filter: none;
}
.main_header i[count] {
	position: relative;
}
.main_header i[count]::after {
	content: attr(count);
	position: absolute;
	right: -1rem;
	top: -0.8rem;
	padding: 0.1rem 0.3rem;
	border-radius: 5rem;
	border: 2px solid var(--const-light-color-base);
	background-color: var(--color-stop);
	font-family: var(--font-default);
	font-size: 1rem;
	font-weight: bold;
	box-shadow: var(--box-shadow-near);
}
.main_header .main_header_branch {
	position: relative;
	display: flex;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	list-style: none;
}
.main_header .main_header_branch .main_header_submenu {
	position: absolute;
	visibility: hidden;
	top: 90%;
	right: 0;
	max-width: 100vw;
	max-height: 80vh;
	background-color: var(--color-main);
	box-shadow: var(--box-shadow-normal);
	z-index: 1;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	opacity: 0;
	overflow-y: scroll;
	filter: brightness(1.1);
}
.main_header .main_header_branch .main_header_submenu::-webkit-scrollbar {
	display: none;
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 {
	margin: 1rem;
	display: flex;
	flex-wrap: wrap;
	border-top: 2px solid var(--const-light-color-base);
	border-left: 2px solid var(--const-light-color-base);
	box-sizing: border-box;
	box-shadow: var(--box-shadow-near);
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 > * {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1;
	min-width: calc((100% - 2rem)/2);
	aspect-ratio: 1;
	border-bottom: 2px solid var(--const-light-color-base);
	border-right: 2px solid var(--const-light-color-base);
	box-sizing: border-box;
	color: var(--const-light-color-base);
	background-color: var(--color-main);
	padding: 1rem;
	font-size: 1.2rem;
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 > *:hover {
	filter: brightness(calc(1.5/1.1));
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 > * > i {
	margin: 0.5rem;
	font-size: 2.8rem;
}
@media (max-width: 600px) {
	.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 > * > i {
		font-size: 2.2rem;
	}
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_group1 > * > .main_header_submenu_caption {
	display: block;
	text-align: center;
}
.main_header .main_header_branch .main_header_submenu .main_header_submenu_theme_ui {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 100%;
	flex-wrap: wrap;
	margin: 0 auto;
}

.button_theme {
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1rem;
	gap: 0.4rem;
	font-size: 0.8rem;
	color: var(--const-light-color-base);
	background-color: var(--color-main);
	text-shadow: var(--text-shadow-normal);
	cursor: pointer;
}
.button_theme:hover {
	filter: brightness(calc(1.5/1.1));
}
.button_theme::before {
	content: "";
	display: inline-block;
	width: 2rem;
	height: 1rem;
	border-radius: 5rem;
	box-shadow: var(--box-shadow-near), 0 0 0 0rem var(--color-main);
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
	
}
.button_theme.active::before {
	box-shadow: var(--box-shadow-near), 0 0 0 0.3rem var(--color-active);
}
.button_theme[data-value="light"]::before {
	background-color: var(--const-light-color-base);
}
.button_theme[data-value="auto"]::before {
	background-image: linear-gradient(45deg, var(--const-light-color-base) 50%, var(--const-dark-color-base) 50%);
}
.button_theme[data-value="dark"]::before {
	background-color: var(--const-dark-color-base);
}

.main_header .main_header_branch .main_header_submenu > a {
	position: relative;
	display: flex;
	padding: 1.2rem 1.5rem;
	box-sizing: border-box;
	gap: 1.5rem;
	width: 100%;
	align-items: center;
	color: var(--const-light-color-base);
	background-color: var(--color-main);
	text-shadow: var(--text-shadow-normal);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.main_header .main_header_branch .main_header_submenu > a.is_hot {
	background-image: linear-gradient(90deg, hsl(270, 100%, 50%), hsl(180, 100%, 50%), hsl(270, 100%, 50%));
	background-size: 200% 100%;
	animation: animation_coupon_indicator_infinite 20s linear infinite;
}

.main_header .main_header_branch .main_header_submenu.small > a {
	font-size: 1.2rem;
	padding: 0.6rem 1.2rem;
}
.main_header .main_header_branch .main_header_submenu > a[count]::after {
	content: attr(count);
	position: absolute;
	right: 2rem;
	padding: 0.1rem 0.5rem;
	border-radius: 5rem;
	border: 2px solid var(--color-base);
	background: hsla(0, 70%, 60%, 1);
	font-family: var(--font-default);
	font-size: 1.5rem;
	font-weight: bold;
}
@media (max-width: 600px) {
	.main_header .main_header_branch .main_header_submenu > a[count]::after {
		right: 1.5rem;
		font-size: 1rem;
	}
}
.main_header .main_header_branch .main_header_submenu > a > * {
	white-space: nowrap;
}
.main_header .main_header_branch .main_header_submenu > a > i {
	min-width: 3rem;
	text-align: center;
}
.main_header .main_header_branch .main_header_submenu > a > .main_header_submenu_caption {
	flex-grow: 1;
}
@media (max-width: 600px) {
	.main_header .main_header_branch .main_header_submenu > a > i {
		min-width: 2rem;
	}
	.main_header .main_header_branch .main_header_submenu > a {
		padding: 0.8rem 1.5rem;
		font-size: 1.5rem;
		gap: 1rem;
	}
}
@media (max-width: 400px) {
	.main_header_button {
		font-size: 1.5rem;
	}
	.main_header button {
		font-size: 1.5rem;
	}
}
.main_header .main_header_branch .main_header_submenu > a:hover {
	filter: brightness(calc(1.5/1.1));
}

.main_header .main_header_branch input[type=checkbox] {
	display: none;
}
@media (any-hover: hover) {
	.main_header .main_header_branch:hover .main_header_button {
		filter: brightness(1.1);
	}
	.main_header .main_header_branch .main_header_submenu {
		transition-delay: 0.2s;
	}
	.main_header .main_header_branch:hover .main_header_submenu {
		visibility: visible;
		top: 100%;
		opacity: 1;
	}
}
@media (any-hover: none) {
	.main_header .main_header_branch:has(input[type=checkbox]:checked) .main_header_button {
		filter: brightness(1.1);
	}
	.main_header .main_header_branch:has(input[type=checkbox]:checked) .main_header_submenu {
		visibility: visible;
		top: 100%;
		opacity: 1;
	}
}

.main_header_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: hsla(0, 0%, 0%, 0.4);
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s;
	z-index: 21;
}
@media (any-hover: none) {
	body:has(.main_header_button #main_header_submenu_checkbox:checked) .main_header_overlay[for=main_header_submenu_checkbox] {
		opacity: 1;
		visibility: visible;
	}
}

#logo-container {
	height: 100%;
}
#logo-container .logo {
	display: block;
	height: 100%;
}

div.product_matrix_thumbnail {
	margin: 10px 0;
	padding: 0;
}

.card_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	gap: 1rem;
	padding: 2rem;
	box-sizing: border-box;
	list-style: none;
	text-align: center;
	overflow-y: hidden;
}
.card_game_catalog .card_container {
	padding: 1rem;
	flex-direction: column;
}
.full_overlay_dialog_window .full_overlay_dialog_info .card_container {
	padding: 1rem 0;
	overflow-x: hidden;
}
@media (max-width: 600px) {
	.card_container {
		padding: 1rem;
		gap: 0.5rem;
	}
	.card_game_catalog .card_container {
		gap: 1rem;
	}
}
.product_thumbnail {
	position: relative;
	display: inline-block;
	flex: 0;
	align-self: flex-end;
	top: 0;
	border-radius: 5px;
	background-color: var(--color-base);
	box-shadow: var(--box-shadow-near);
	vertical-align: top;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	z-index: 0;
}
.one_line .product_thumbnail {
	align-self: auto;
}
.product_thumbnail:hover {
	box-shadow: var(--box-shadow-normal);
	transform: scale(1.1);
	z-index: 1;
}
@media (any-hover: none) {
	.product_thumbnail:hover {
		transform: scale(1);
	}
}
.thumbnail_card {
	position: relative;
	display: block;
}
.thumbnail_card .product_thumbnail_image {
	position: relative;
	text-align: center;
	overflow: hidden;
}
.thumbnail_card .product_thumbnail_image img {
	display: block;
	border-radius: 5px;
	background: var(--gradient-slash);
	background-size: 20px 20px;
	color: var(--color-text-alpha2);
	text-shadow: var(--text-shadow-normal);
}
.thumbnail_card .product_thumbnail_caption {
	display: block;
	box-sizing: border-box;
	padding: 7px;
	text-align: center;
	color: var(--color-base);
	background-color: var(--color-text-alpha);
	-webkit-text-stroke: 4px var(--color-text);
	paint-order: stroke;
	font-family: var(--font-narrow);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 2;
}
.thumbnail_card .product_thumbnail_caption::-webkit-scrollbar {
	display: none;
}
@media (any-hover: hover) {
	.thumbnail_card .product_thumbnail_caption {
		position: absolute;
		top: 0;
		visibility: hidden;
		height: 100%;
		max-height: 100%;
		width: 100%;
		border-radius: 5px;
		opacity: 0;
	}
	.thumbnail_card:hover .product_thumbnail_caption,
	.thumbnail_card.noimage .product_thumbnail_caption {
		visibility: visible;
		opacity: 1;
	}
}
@media (any-hover: none) {
	.thumbnail_card .product_thumbnail_caption {
		min-height: 6rem;
		max-height: 6rem;
		height: 6rem;
		width: 100%;
		margin-top: -5px;
		padding-top: 12px;
		border-radius: 0 0 5px 5px;
		background-color: var(--color-base-dark2);
		-webkit-text-stroke: unset;
		color: var(--color-text);
	}
}

.thumbnail_card .product_thumbnail_caption.not_available {
	background-color: var(--color-stop-dark-alpha);
	color: var(--color-stop-light);
}
[data-theme="dark"] .thumbnail_card .product_thumbnail_caption.not_available {
	background-color: var(--color-stop-dark-alpha);
}
@media (any-hover: none) {
	.thumbnail_card .product_thumbnail_caption.not_available {
		background-color: var(--color-stop-light);
		color: var(--color-stop-dark);
	}
	[data-theme="dark"] .thumbnail_card .product_thumbnail_caption.not_available {
		background-color: var(--color-stop-light);
		color: var(--color-stop-dark);
	}
}

.center_box {
	width: 100%;
	height: 100%;
	display: table;
}

.card_container.card_container_small .product_thumbnail .thumbnail_card {
	overflow: hidden;
}
.card_container.card_container_small .product_thumbnail .thumbnail_card .product_thumbnail_image {
	display: flex;
	align-items: center;
	height: 100%;
}
.card_container.card_container_small .product_thumbnail .thumbnail_card .product_thumbnail_image .price_color_thumb {
	display: none;
}
.card_container.card_container_small .product_thumbnail .thumbnail_card .product_thumbnail_image img {
	max-width: 100%;
	max-height: 100%;
}

.center_box > * {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.card_game_catalog {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin: 5rem 0;
	padding: 0 2rem;
	gap: 5rem 2rem;
}
@media (max-width: 600px) {
	.card_game_catalog {
		padding: 0 1rem;
		gap: 5rem 1rem;
	}
}
@media (max-width: 400px) {
	.card_game_catalog {
		padding: 0;
		gap: 3rem 4px;
	}
}
.product_matrix_box {
	position: relative;
	padding-bottom: 2rem;
	flex: 0 1 180px;
	min-height: calc((220px + 1rem)*4 + 12rem);
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
@media (any-hover: none) {
	.product_matrix_box {
		min-height: calc((220px + 7rem)*4 + 12rem);
	}
}
.card_game_catalog .product_matrix_box::before {
	content: "";
	position: absolute;
	left: calc((100% - 2px)/2);
	width: 2px;
	height: 100%;
	background-color: var(--color-main-light);
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}
.card_game_catalog .product_matrix_box:hover::before {
	left: calc((100% - 1rem)/2);
	width: 1rem;
	filter: brightness(1.5);
}
.card_game_catalog .product_matrix_box::after {
	content: "";
	position: absolute;
	width: 1rem;
	height: 2px;
	box-sizing: border-box;
	left: calc((100% - 1rem)/2);
	bottom: 0;
	background-color: var(--color-main-light);
	box-shadow: 0 -2px 0 var(--color-base), 0 -4px 0 var(--color-main-light);
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-in;
}
.card_game_catalog .product_matrix_box:hover::after {
	filter: brightness(1.5);
}

.matrix_row_header {
	position: relative;
	display: block;
	padding: 0;
	margin: 3rem auto;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	text-shadow: var(--text-shadow-glow);
	text-align: center;
	background-color: var(--color-main-thin2);
	color: var(--color-text);
	box-shadow: 0 4px 0 var(--color-base), 0 6px 0 var(--color-main-light);
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-in;

	> a {
		display: block;
		padding: 1.5rem 1rem;
		color: var(--color-text);
		text-decoration-line: underline;
		text-decoration-color: var(--color-text-alpha2);
		text-decoration-style: solid;
		text-decoration-thickness: 2px;
		cursor: pointer;
		z-index: 1;

		&:hover {
			text-decoration-line: underline;
			text-decoration-color: var(--color-active);
			text-decoration-style: solid;
			text-decoration-thickness: 2px;
			filter: brightness(1.2);
		}
	}
	&:not(:has(> a)) {
		padding: 1.5rem 1rem;
	}
}
.card_game_catalog .matrix_row_header {
	position: sticky;
	top: 5rem;
	margin-top: 0rem;
	font-size: 1.6rem;
	z-index: 2;
}

.matrix_row_header .buttons {
	display: flex;
	justify-content: center;
}
.matrix_row_header .refine_card_button {
	flex: 1;
	box-sizing: border-box;
	border-right-width: 0;
	border-radius: 0;
	padding: 0.3rem 0.8rem;
	color: var(--color-text);
	text-shadow: var(--text-shadow-glow);
	background-color: var(--color-main-thin);
	box-shadow: 0 4px 0 var(--color-base), 0 6px 0 var(--color-main-light);
	font-size: 1rem;
	text-decoration: none;
	white-space: nowrap;
	z-index: 1;
}
.matrix_row_header .refine_card_button:hover {
	filter: brightness(1.2);
}

.refine_link_wrapper {
	margin: 1.5rem 0;
	padding: 0.5rem;
	border-radius: 5px;
	background-color: hsla(0, 0%, 0%, 0.02);
	box-shadow: var(--box-shadow-near-inset);
}
.refine_link_header {
	padding: 1rem 2rem;
	font-size: 1.5rem;
	user-select: none;
	text-align: left;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}
.refine_link_header i {
	padding-right: 5px;
	vertical-align: baseline;
	line-height: inherit;
}
@keyframes ripple{
	0% {
		transform: scaleX(0);
	}
	100%{
		transform: scaleX(1);
	}
}
.ripple_effect::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: "";
	width: 100%;
	background-color: rgba(51, 153, 204, 0.2);
	height: 200px;
	animation: ripple 0.7s ease-out;
	transform: scaleX(0);
}
.refine_link_list {
	text-align: center;
	font-size: 1.2rem;
}
@media (max-height: 600px) {
	.refine_link_list {
		font-size: 0.8rem;
	}
}
.refine_badge {
	font-size: 10px;
	text-align: center;
	padding: 2px 5px;
	margin: 0 2px;
	background-color: #669966;
	color: var(--color-base);
	border-radius: 3px;
	white-space: nowrap;
}

.refine_link_list .refine_link {
	display: flex;
	flex-wrap: wrap;
	width: auto;
	margin: 1rem;
	border: 2px solid var(--color-main);
	border-radius: 5px;
	overflow: hidden;
	font-size: 1rem;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	box-shadow: var(--box-shadow-near);
}

.refine_link_list .refine_link > a,
.refine_link_list .refine_link > span {
	flex: 1;
	background-color: var(--color-base-alpha2);
	display: block;
	padding: 0.5rem 1rem;
	white-space: nowrap;
}
.refine_link_list .refine_link a:hover {
	box-shadow: inset 0 -0.2rem 0 0rem var(--color-main);
	filter: brightness(1.5);
}
.refine_link_list .refine_link a:hover .item_count {
	color: var(--color-base);
}

.refine_link_list .refine_link .selected {
	background-color: var(--color-main);
	text-shadow: var(--text-shadow-near);
	color: var(--const-light-color-base);
	font-weight: bold;
}

.refine_link_list .refine_select {
	position: relative;
	z-index: 0;
}
.refine_link_list .refine_select:after {
	top: 50%;
	right: 15px;
	margin-top: -2px;
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: #fff transparent;
	border-width: 7px 5px 0px 5px;
	border-style: solid;
	z-index: -1;
}
.refine_link_list .refine_select.selected_default:after {
	border-color: var(--color-main) transparent;
}
.refine_link_list .refine_link.refine_select > select {
	flex: 1;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--color-base-alpha2);
	color: var(--color-main-dark);
	padding: 0 3rem 0 1rem;
	outline: none;
	height: 40px;
	cursor: pointer;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
	font-weight: bold;
	font-family: var(--font-default);
	font-size: 1rem;
}
.refine_link_list .refine_link.refine_select.selected_default > select {
	text-shadow: none;
	font-weight: normal;
}
.refine_link_list .refine_link.refine_select > select::-ms-expand {
	display: none;
}
.refine_link_list .refine_link.refine_select > select::-moz-focus-inner {
	border: 0;
}
.refine_link_list .refine_link.refine_select > select option {
	text-shadow: none;
	font-weight: normal;
	background-color: var(--color-base);
	color: var(--color-main-dark);
}
.refine_link_list .refine_link.refine_select > select option:not([disabled]) {
	color: var(--color-main-dark);
}
.refine_link_list .refine_link.refine_select > select option[selected] {
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	font-weight: bold;
}
.paginator_items_total {
	font-weight: bold;
	color: var(--color-text);
}
.paginator_items_total::after {
	content: "items";
}
.paginator_items_total.one::after {
	content: "item";
}

.breadcrumb_container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	padding: 1rem 3rem;
	font-size: 1.4rem;
	color: #999;
	box-sizing: border-box;
	overflow-x: scroll;
	scrollbar-width: none;
}
.breadcrumb_container::-webkit-scrollbar {
	display: none;
}
.breadcrumb_container .breadcrumb_item {
	display: block;
	position: relative;
	padding: 0.5rem 1.5rem;
	border-bottom: 2px solid var(--color-main);
	color: var(--color-text);
	text-shadow: var(--text-shadow-normal);
	word-break: break-word;
	white-space: nowrap;
}
.breadcrumb_container .breadcrumb_item::after {
	position: absolute;
	right: -0.3rem;
	content: "\f0da";
	font: var(--fa-font-solid);
	line-height: inherit;
}
.breadcrumb_container .breadcrumb_item:last-child::after {
	content: "";
}
.breadcrumb_container .breadcrumb_item.selected {
	border-bottom: 2px solid var(--color-active);
	color: var(--const-light-color-main-light);
}
.breadcrumb_container a:hover {
	border-bottom: 2px solid var(--color-active);
	color: var(--const-light-color-main-light);
}
@media only screen and (max-width: 560px) {
	.breadcrumb_container {
		font-size: 1rem;
	}
}
.header_sub_menu {
	margin: 0 0 2rem 0;
	padding: 0;
	list-style: none;
	display: table;
	table-layout: fixed;
	overflow-x: hidden;
	background-color: var(--color-base-dark);
	width: 100%;
}
.header_sub_menu > li {
	display: table-cell;
	font-size: 1.2rem;
	overflow-x: hidden;
	box-sizing: border-box;
}
.header_sub_menu > li > a,
.header_sub_menu > li > span {
	display: block;
	border-bottom: 2px solid transparent;
	padding: 1rem;
	white-space: nowrap;
	overflow-x: hidden;
	text-align: center;
	color: var(--color-text);
}
.header_sub_menu > li > a:hover {
	background-color: var(--color-base-dark2);
	border-bottom: 2px solid var(--color-active);
}
.header_sub_menu > li > span.selected {
	background-color: #cc0;
	color: var(--color-base);
}
.header_sub_menu > li > span.default {
	background-color: var(--color-base);
	color: var(--color-text);
	white-space: normal;
	overflow-x: auto;
}
.header_sub_menu.row5 {
	display: block;
}
.header_sub_menu.row5 > li {
	float: left;
	display: block;
	font-size: 1.2rem;
	width: 20%;
}
.header_sub_menu.row5 > li:last-of-type::after {
	clear: both;
}
@media only screen and (max-width: 600px) {
	.header_sub_menu {
		display: block;
	}
	.header_sub_menu > li {
		float: left;
		display: block;
		font-size: 1.2rem;
		width: 50%;
	}
	.header_sub_menu > li:last-of-type::after {
		clear: both;
	}
	.header_sub_menu.row5 > li {
		width: 50%;
	}
}
.header_sub_menu.operation_menu > li > a,
.header_sub_menu.operation_menu > li > span {
	font-size: 1rem;
}

#nav-mobile > li > a > i {
	vertical-align: middle;
}

.advanced_radio_input {
	display: flex;
	flex-wrap: wrap;
	width: fit-content;
	border: 2px solid var(--color-base);
	border-radius: 5px;
	overflow: hidden;
	font-size: 1rem;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	box-shadow: var(--box-shadow-near);
}
.advanced_radio_input input[type="radio"] {
	display: none;
}
.advanced_radio_input input[type="radio"] + label {
	flex: 1;
	padding: 4px 20px;
	background-color: #eee;
	text-decoration: none;
	text-align: center;
	text-shadow: var(--text-shadow-near);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	white-space: nowrap;
}
.advanced_radio_input input[type="radio"] + label:hover {
	background-color: var(--color-base);
}
.advanced_radio_input input[type="radio"] + label[for] {
	cursor: pointer;
}
.advanced_radio_input input[type="radio"]:checked + label {
	background-color: var(--color-main);
	box-shadow: var(--box-shadow-near-inset);
	text-shadow: var(--text-shadow-normal);
	color: var(--color-base);
	pointer-events: none;
}
.advanced_radio_input input[type="radio"] + label:first-of-type {
	border-style: none;
}

.advanced_radio_input.vertical input[type="radio"] + label {
	display: block;
	border-radius: 0;
	text-align: center;
	border-style: none;
}
.advanced_radio_input.vertical {
	border-radius: 5px;
}
.advanced_radio_input.vertical input[type="radio"] + label:first-of-type {
	border-radius: 5px 5px 0 0;
}
.advanced_radio_input.vertical input[type="radio"] + label:last-of-type {
	border-radius: 0 0 5px 5px;
}

.advanced_checkbox_input {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.advanced_checkbox_input input[type="checkbox"] {
	display: none;
}

.advanced_checkbox_input input[type="checkbox"] + label,
.advanced_checkbox_input label:has(input[type="checkbox"]) {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	height: auto;
	width: fit-content;
	box-sizing: border-box;
	border: 2px solid var(--color-base);
	border-radius: 50px;
	padding: 0.3rem 1.2rem;
	font-size: 1em;
	box-shadow: var(--box-shadow-near);
	text-shadow: var(--text-shadow-near);
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
	background-color: var(--color-base-dark2);
	color: var(--color-text);
	cursor: pointer;
}

.advanced_checkbox_input input[type="checkbox"] + label:hover,
.advanced_checkbox_input label:has(input[type="checkbox"]):hover {
	background-color: var(--color-base);
}

.advanced_checkbox_input input[type="checkbox"]:checked + label,
.advanced_checkbox_input label:has(input[type="checkbox"]:checked) {
	text-shadow: var(--text-shadow-normal);
	background-color: var(--color-text);
	color: var(--color-base);
}
.advanced_checkbox_input input[type="checkbox"]:checked + label:hover,
.advanced_checkbox_input label:has(input[type="checkbox"]:checked):hover {
	filter: brightness(1.2);
}

.advanced_checkbox_input [type="checkbox"] + label:before,
.advanced_checkbox_input label:has([type="checkbox"]):before {
	color: hsla(0, 0%, 0%, 0.1);
	content: "\f00c";
	font: var(--fa-font-solid);
	text-shadow: 1px 1px 1px hsla(0, 0%, 100%, 0.85);
}
.advanced_checkbox_input label:has([type="checkbox"]:checked):before {
	color: var(--color-base);
	content: "\f00c";
	font: var(--fa-font-solid);
	text-shadow: var(--text-shadow-near);
}

@media only print {
	.advanced_checkbox_input input[type="checkbox"] + label,
	.advanced_checkbox_input label:has(input[type="checkbox"]) {
		background-color: transparent;
		border: none;
		border-radius: 50px;
		padding: 0.3rem;
		font-size: 1em;
		box-shadow: none;
		text-shadow: none;
		color: #000;
		text-decoration:line-through;
	}
	.advanced_checkbox_input input[type="checkbox"]:checked + label,
	.advanced_checkbox_input label:has(input[type="checkbox"]:checked) {
		text-decoration: none;
		background-color: transparent;
		color: #000;
	}
	.advanced_checkbox_input [type="checkbox"] + label:before,
	.advanced_checkbox_input label:has([type="checkbox"]):before {
		color: #000;
		content: "\f00d";
		font: var(--fa-font-solid);
		text-shadow: none;
	}
	.advanced_checkbox_input [type="checkbox"]:checked + label:before,
	.advanced_checkbox_input label:has([type="checkbox"]:checked):before {
		color: #000;
		content: "\f00c";
		font: var(--fa-font-solid);
		text-shadow: none;
	}
	.advanced_checkbox_input input[type="checkbox"] + label:hover,
	.advanced_checkbox_input label:has(input[type="checkbox"]):hover {
		background-color: var(--color-base);
	}
}

table.table_default {
	border-top: none;
	border-spacing: 0px;
	border-collapse: collapse;
	margin: 1rem auto;
	font-size: 1rem;
	background-color: rgba(255, 255, 255, 0.6);
}

table.table_default td,
table.table_default th {
	border-top: none;
	border-right:  1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0;
	padding: 5px 10px 5px 10px;
}
table.table_default td:last-of-type,
table.table_default th:last-of-type {
	border-right-width: 0;
}

table.table_default th {
	padding: 1rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	background-color: #cccc00;
	color: var(--color-base);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

table.table_default tr,
table.table_default td {
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
table.table_default tr:nth-child(2n) {
	background-color: rgba(128, 128, 128, 0.12);
}
table.table_default tr:nth-child(2n+1) {
	background-color: rgba(128, 128, 128, 0.06);
}
table.table_default tr:hover {
	background-color: rgba(128, 128, 128, 0.18);
}
fieldset.aligned_fieldset table.table_default tr + tr td {
	border-top-width: 0;
}


table.table_default input[type="text"],
table.table_default input[type="password"],
table.table_default input[type="email"],
table.table_default input[type="date"],
table.table_default input[type="number"],
table.table_default textarea,
table.table_default select {
	height: 26px;
	margin: 0;
	padding: 2px 8px;
	border-style: none;
	box-shadow: inset 1px 1px 4px 0 rgba(0,0,0,0.2);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	box-sizing: border-box;
	background-color: rgba(0, 0, 0, 0.05);
	outline: 0 solid rgba(51, 153, 204, 0.5);
}
table.table_default textarea {
	height: auto;
}
table.table_default input[type="text"]:focus,
table.table_default input[type="password"]:focus,
table.table_default input[type="email"]:focus,
table.table_default input[type="date"]:focus,
table.table_default input[type="number"]:focus,
table.table_default textarea:focus,
table.table_default select:focus {
	background-color: var(--color-base);
	outline: 4px solid rgba(51, 153, 204, 0.5);
}
table.table_default input[type="text"]:hover,
table.table_default input[type="password"]:hover,
table.table_default input[type="email"]:hover,
table.table_default input[type="date"]:hover,
table.table_default input[type="number"]:hover,
table.table_default textarea:hover,
table.table_default select:hover {
	outline: 4px solid rgba(51, 153, 204, 0.5);
}

.standard_list {
	margin-left: 3rem;
}

.big_banner {
	width: 100%;
	aspect-ratio: 1500/225;
	display: block;
}
.carousel_content.hide {
	display: none;
}
.carousel_content {
	display: flex;
	list-style: none;
	font-size: 0;
	white-space: nowrap;
	overflow-x: scroll;
	background-color: var(--color-base-dark);
	text-align: center;
	scroll-snap-type: x mandatory;

	&::-webkit-scrollbar {
		display: none;
	}
}
.carousel_content::-webkit-scrollbar {
	display: none;
}
.carousel_content > li {
	display: inline-block;
	width: 100%;
	min-width: 100%;
	font-size: 1rem;
	white-space: normal;
	vertical-align: top;
	scroll-snap-align: center;
}
.carousel_content > li img[data-src] {
	display: none;  /* for iOS... */
	position: relative;
	height: 100%;
	background-color: var(--color-base-dark);
	color: var(--color-text);
	background-image: linear-gradient(90deg, var(--color-base-dark2), var(--color-base), var(--color-base-dark2));
	background-size: 200% 100%;
	animation: loading_scrolling_list_anime 2s linear infinite;
}
.carousel_content > li img[data-src]:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	content: "\f110";
	font: var(--fa-font-solid);
	font-size: 3rem;
	color: var(--color-text);
	animation: fa_spin 2s linear infinite;
}
@keyframes fa_spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.carousel_content > li.blog_parts_container {
	width: 90%;
}
@media (min-width: 570px) {
	.carousel_content > li.blog_parts_container {
		width: 48%;
	}
	.blog_entry_list > li.blog_parts_container {
		width: 50%;
	}
}
.carousel_ui_container {
	position: relative;
	margin: 0 auto;
	max-width: 1200px;
	overflow: hidden;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.carousel_button {
	position: absolute;
	top: 0;
	width: 50px;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1);
	color: var(--color-base);
	font-size: 2rem;
	opacity: 0;
	cursor: pointer;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.carousel_ui_container:hover .carousel_button {
	opacity: 0.8;
}
.carousel_ui_container:hover .carousel_button:hover {
	opacity: 1;
}
.carousel_ui_container:hover .carousel_button.left {
	left: 0;
}
.carousel_ui_container:hover .carousel_button.right {
	right: 0;
}
.carousel_button.left {
	left: -50px;
}
.carousel_button.right {
	right: -50px;
}
.carousel_indicator {
	position: absolute;
	bottom: 0;
	width: 100%;
	margin: 0 5px;
	box-sizing: border-box;
	text-align: center;
	list-style: none;
	pointer-events: none;
}
.carousel_indicator .indicator_dot {
	display: inline-block;
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	margin: 2px;
	border: 0 solid #000;
	box-shadow: inset 0 12px 0 0 #000;
	border-radius: 50%;
	font-size: 1rem;
	opacity: 0.1;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	cursor: pointer;
	pointer-events: auto;
}
.carousel_indicator .indicator_dot:hover {
	opacity: 0.3;
}
.carousel_indicator .indicator_dot.selected {
	border: 2px solid #000;
	box-shadow: inset 0 0 0 0 #000;
}

.definition_table tr td {
	padding: 1rem;
}
.definition_table tr + tr td {
	border-top: 1px dashed #999;
}
.definition_table .definition_table tr:first-of-type td {
	border-top: none;
}

.cart_products,
.deleted_products {
	padding: 10px;
	max-width: 600px;
	margin: 0 auto;
}
.cart_product {
	position: relative;
	margin-bottom: 10px;
	box-sizing: border-box;
	box-shadow: var(--box-shadow-normal);
}
.cart_product .cart_product_anchor {
	display: table;
	width: 100%;
	background-color: var(--color-base-dark);
	color: var(--color-text);
}
.cart_product .cart_product_anchor:hover {
	background-color: var(--color-base-dark2);
}
.cart_product .cart_product_anchor:target,
.cart_product .cart_product_anchor:focus-visible {
	outline: none;
}
.cart_product .cart_product_anchor > div {
	display: table-cell;
	vertical-align: middle;
}
.cart_product .product_img {
	width: 30%;
}
.cart_product .product_img img {
	display: block;
	width: 100%;
}
.cart_product .product_desc {
	padding: 10px 5%;
}
.cart_product .product_original_title {
	color: #666;
}
.cart_product .button_product_delete {
	top: 0;
	right: 0;
	left: auto;
	border-radius: 0 0 0 5px;
}
.cart_product .form_product_quantity {
	position: absolute;
	bottom: 0;
	right: 0;
	box-sizing: border-box;
}

.info_menu {
	position: relative;
}
.info_menu::after {
	position: absolute;
	top: 0;
	right: 0;
	margin: 5px;
	font-weight: bold;
	content: attr(info);
}

.submenu_branch {
	position: relative;
}
.submenu_branch > ul {
	position: absolute;
	display: block;
	visibility: hidden;
	left: 95%;
	top: 0;
	margin: 0;
	box-sizing: border-box;
	white-space: nowrap;
	background-color: var(--color-base);
	z-index: 1;
	box-shadow: var(--box-shadow-normal);
	opacity: 0;
	transition-delay: 0.2s;
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}
.submenu_branch:hover > ul {
	visibility: visible;
	left: 100%;
	opacity: 1;
}
.submenu_branch > ul.align_bottom {
	top: auto;
	bottom: 0;
}
.index_menu_area ul li.submenu_branch > a {
	position: relative;
	padding: 0.5rem 2rem 0.5rem 1rem;
}
.submenu_branch > ul img {
	display: block;
}
.submenu_branch > a::after {
	position: absolute;
	top: 50%;
	right: 0.2rem;
	font-weight: bold;
	content: "\f0da";
	font: var(--fa-font-solid);
	transform: translate(-50%, -50%);
}

.btn.small {
	font-size: 1rem;
	margin: 0.2rem;
	padding: 0.3rem 1rem;
	white-space: nowrap;
	height: auto;
	line-height: normal;
	letter-spacing: normal;
	box-shadow: var(--box-shadow-near);
}

@media print {
	.btn {
		color: #26a69a !important;
		background-color: transparent !important;
	}
	.btn.red {
		color: #f44336 !important
	}
}

div.page_notice {
	max-width: 800px;
	box-shadow: none;
	font-size: 1.4rem;
	margin: 3rem auto;
	border-radius: 12px;
	padding: 2rem 3rem;
	box-sizing: border-box;
	background-color: var(--color-base-dark);
	color: var(--color-text);
}
@media (max-width: 800px) {
	div.page_notice {
		margin: 3rem 2rem;
		text-align: center;
	}
}

@media (max-width: 400px) {
	div.page_notice {
		border-right-width: 0;
		border-left-width: 0;
		padding: 1rem 1rem;
		text-align: center;
	}
}

.default_notice {
	margin: 2rem auto;
	background-color: var(--color-base-dark);
	color: var(--color-text);
	padding: 20px 5%;
	text-align: center;
	font-size: 1.6rem;
}
.default_notice > i:first-of-type {
	font-size: 4rem;
}
.default_notice .subnotice {
	padding: 20px 5%;
	border-top: 1px solid var(--color-text-alpha2);
}
.default_notice .subnotice > i:first-of-type {
	display: block;
	margin: 3rem auto;
	font-size: 5rem;
}
.default_notice .subnotice:first-of-type {
	border-style: none;
}

.ok_notice {
	margin: 2rem auto;
	background-color: var(--color-go-light);
	color: var(--color-go-dark);
	padding: 20px 5%;
	text-align: center;
	font-size: 1.6rem;
}
.ok_notice > i:first-of-type {
	font-size: 4rem;
}
.ok_notice .subnotice {
	padding: 20px 5%;
	border-top: 1px solid var(--color-text-alpha2);
}
.ok_notice .subnotice > i:first-of-type {
	display: block;
	margin: 3rem auto;
	font-size: 5rem;
}
.ok_notice .subnotice:first-of-type {
	border-style: none;
}

.small_notice {
	margin: 2rem auto;
	background-color: var(--color-base-dark);
	color: var(--color-text);
	padding: 20px 5%;
	font-size: 1rem;
}
.small_notice i:first-of-type {
	font-size: 2rem;
}
.small_notice .subnotice {
	padding: 20px 5%;
	border-top: 1px dashed var(--color-base-dark2);
}
.small_notice .subnotice > i:first-of-type {
	display: block;
	margin: 2rem auto;
	font-size: 3rem;
}
.small_notice .subnotice:first-of-type {
	border-style: none;
}

.warn_notice {
	margin: 2rem auto;
	background-color: var(--color-warn-light);
	color: var(--color-warn-dark);
	padding: 20px 5%;
	text-align: center;
	font-size: 1.6rem;
}
.warn_notice i:first-of-type {
	font-size: 4rem;
}
.warn_notice .subnotice {
	padding: 20px 5%;
	border-top: 1px solid var(--color-text-alpha2);
}
.warn_notice .subnotice > i:first-of-type {
	display: block;
	margin: 3rem auto;
	font-size: 5rem;
}
.warn_notice .subnotice:first-of-type {
	border-style: none;
}

.ng_notice {
	margin: 2rem auto;
	background-color: var(--color-stop-light);
	color: var(--color-stop-dark);
	padding: 20px 5%;
	text-align: center;
	font-size: 1.6rem;
}
.ng_notice i:first-of-type {
	font-size: 4rem;
}
.ng_notice .subnotice {
	padding: 20px 5%;
	border-top: 1px solid var(--color-text-alpha2);
}
.ng_notice .subnotice > i:first-of-type {
	display: block;
	margin: 3rem auto;
	font-size: 5rem;
}
.ng_notice .subnotice:first-of-type {
	border-style: none;
}

.star_indicator .star_positive {
	color: var(--color-accent);
	text-shadow: var(--text-shadow-normal);
}
.star_indicator .star_positive.star_negative {
	color: var(--color-accent);
}
.star_indicator .star_negative {
	color: var(--color-text-alpha2);
}

.drawer {
	position: fixed;
	display: block;
	width: 100%;
	bottom: 50px;
	z-index: 200;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.drawer:hover {
	transition-delay: 0;
}
@media (max-aspect-ratio: 1/1) {
	.drawer.drawer_hidden {
		bottom: 0;
	}
}
.drawer .drawer_layout {
	max-width: 750px;
	position: relative;
	margin: 0 auto;
}
.drawer .drawer_layout > div {
	position: absolute;
}
.drawer .drawer_handle {
	width: 100%;
	color: var(--color-main);
	z-index: 202;
}
.drawer .drawer_handle ul {
	list-style: none;
	display: table;
	width: 100%;
	margin: 0;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	background-color: rgba(255, 255, 255, 0.6);
}
.drawer .drawer_handle li {
	display: table-cell;
	box-sizing: border-box;
	height: 50px;
	width: calc(100% / 3);
	padding: 10px;
	text-align: center;
	font-size: 1.5rem;
	color: #666;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.drawer .drawer_handle li:hover {
	background-color: hsla(200, 60%, 50%, 0.1);
	color: #333;
}
.drawer .drawer_handle li.active {
	background-color: var(--color-main);
	color: var(--color-base);
}
.drawer .drawer_content {
	position: relative;
	height: 320px;
	width: 100%;
	top: 50px;
	border-radius: 1px;
	background-color: var(--color-base);
	box-shadow: 0 0 0 10px var(--color-main), 0 0 20px 10px rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	z-index: 201;
	overflow-y: hidden;
}
.drawer .drawer_content > ul {
	width: 100%;
	list-style: none;
	position: absolute;
	top: 0;
	margin: 0;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
}
.drawer .drawer_content > ul[pos="history"] {
	top: calc(-320px * 0);
}
.drawer .drawer_content > ul[pos="watchlist"] {
	top: calc(-320px * 1);
}
.drawer .drawer_content > ul[pos="cart"] {
	top: calc(-320px * 2);
}
.drawer .drawer_content > ul > li {
	position: relative;
	display: block;
	height: 320px;
	padding: 10px 0 0 0;
	box-sizing: border-box;
	overflow-y: scroll;
}
.drawer .drawer_content > ul > li:last-of-type {
	border-radius: 10px 0 0 0;
}
.drawer .drawer_content > ul > li .drawer_content_caption {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 20px;
	box-sizing: border-box;
	display: inline-block;
	border-radius: 0 0 10px 0;
	font-size: 2rem;
	background-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	color: #666;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	z-index: 202;
}
.drawer .drawer_content > ul > li .drawer_content_go_button {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 202;
}
.drawer .drawer_content > ul > li .drawer_content_go_button .btn {
	margin: 0;
	border-radius: 0 0 0 0.5rem;
}
.drawer .drawer_content > ul > li .drawer_content_go_button .btn::after {
	font: var(--fa-font-solid);
	content: "\f0da";
	margin-left: 1rem;
}
.drawer .drawer_content .scrolling_ui {
	height: 320px;
}

.drawer.drawer_active .drawer_content {
	top: -320px;
	opacity: 1;
}

.drawer_close_background {
	position: fixed;
	top: 0;
	left: 0;
	border-radius: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.6;
	z-index: 199;
}

.drawer .drawer_content_noresult {
	width: 100%;
	height: 300px;
	display: table;
}
.drawer .drawer_content_noresult > div {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.drawer .default_notice {
	font-size: 0.8rem;
}

.drawer .coupon_indicator {
	position: absolute;
	display: block;
	height: 5px;
	bottom: 100%;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	text-align: center;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	box-shadow: var(--box-shadow-normal);
	pointer-events: none;
}
.drawer .coupon_indicator.hidden {
	display: none;
}
.drawer .coupon_indicator.open {
	height: auto;
	bottom: calc(100% + 320px + 10px);
	pointer-events: all;
}
@keyframes animation_coupon_indicator_infinite {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 200% 0%;
	}
}
.drawer .coupon_indicator .coupon_indicator_tip {
	display: block;
	height: 100%;
	padding: 1rem;
	color: hsl(0, 0%, 100%);
	font-weight: bold;
	font-size: 1.2rem;
	background-image: linear-gradient(90deg, hsl(270, 100%, 50%), hsl(180, 100%, 50%), hsl(270, 100%, 50%));
	background-size: 200% 100%;
	animation: animation_coupon_indicator_infinite 20s linear infinite;
	text-shadow: var(--text-shadow-near);
	text-decoration: underline 2px white;
}
.drawer .coupon_indicator .coupon_indicator_tip:hover {
	filter: brightness(1.2);
}
.drawer .coupon_indicator .coupon_indicator_tip.hidden {
	visibility: hidden;
}
.drawer .coupon_indicator .coupon_indicator_tip i {
	font-size: 1.8rem;
	margin-right: 1rem;
	vertical-align: top;
}
.drawer .coupon_indicator_button {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2rem;
	top: 0.5rem;
	right: 1rem;
	aspect-ratio: 1;
	border-radius: 50px;
	padding: 0.5rem;
	font-size: 1rem;
	background-color:hsl(0, 0%, 100%);
	color: var(--color-main);
	text-shadow: var(--text-shadow-near);
	box-shadow: var(--box-shadow-near);
}
.drawer .coupon_indicator_button.coupon_indicator_open {
	display: flex;
}
.drawer .coupon_indicator_button.hidden {
	visibility: hidden;
}

.badge_target_coupon {
	position: absolute;
}
.badge_target_coupon.show_badge_coupon::after {
	position: absolute;
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	left: calc((100% + 2rem - 1.5rem)/2);
	bottom: calc((100% + 2rem - 1.5rem)/2);
	border: 2px solid var(--const-light-color-base);
	box-sizing: border-box;
	box-shadow: var(--box-shadow-near);
	border-radius: 5rem;
	background-color: var(--color-stop);
	background-image: linear-gradient(90deg, hsla(180, 100%, 50%, 70%), hsl(270, 100%, 50%));
	pointer-events: none;
}
@media (max-width: 400px) {
	.badge_target_coupon.show_badge_coupon::after {
		width: 1.2rem;
		height: 1.2rem;
		left: calc((100% + 1.5rem - 1.2rem)/2);
		bottom: calc((100% + 1.5rem - 1.2rem)/2);
	}
}

.main_action_area {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 100%;
	max-width: 600px;
	-webkit-backdrop-filter: var(--backdrop-filter-normal);
	backdrop-filter: var(--backdrop-filter-normal);
	box-shadow: 0 -4px 10px rgba(0,0,0,0.2);
	z-index: 20;
}
.main_action_area .btn {
	display: block;
	width: calc(100% - 0.8rem * 2);
	max-width: none;
	margin: 0.8rem;
	border-radius: 5px;
	box-sizing: border-box;
	padding: 1rem;
	font-size: 1.4rem;
	box-shadow: var(--box-shadow-near), var(--box-shadow-normal);
}

.main_action_area .ask_mint_btn{
	display: none;
}

.form_box {
	border-style: none;
	box-shadow: var(--box-shadow-near-inset);
	box-sizing: border-box;
	font-size: 1rem;
	background-color: rgba(0, 0, 0, 0.05);
	padding: 10px 20px;
}

.search_form_box {
	width: fit-content;
	box-sizing: border-box;
	margin: 20px auto;
	border-style: none;
	padding: 20px 5%;
	box-shadow: var(--box-shadow-near-inset);
	background-color: rgba(51, 153, 204, 0.1);
}
.search_form_box legend {
	border-radius: 50px;
	padding: 5px 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	background-color: var(--color-main);
	color: var(--color-base);
	font-size: 1.2rem;
	font-weight: bold;
}
.search_form_box .search_button {
	font-size: 1.2rem;
	padding: 0;
	width: 50px;
}

.search_form_box input[type="text"],
.search_form_box input[type="password"],
.search_form_box input[type="email"],
.search_form_box input[type="number"],
.search_form_box input[type="url"],
.search_form_box textarea,
.search_form_box select {
	width: 100%;
}
.search_form_box input[type="date"] {
	width: calc((100% - 2rem)/2);
}
.search_form_box input[type="text"],
.search_form_box input[type="password"],
.search_form_box input[type="email"],
.search_form_box input[type="date"],
.search_form_box input[type="number"],
.search_form_box input[type="url"],
.search_form_box textarea,
.search_form_box select {
	font-size: 1rem;
	margin: 0;
	padding: 0.2rem 0.5rem;
	border-style: none;
	box-shadow: var(--box-shadow-near-inset);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	box-sizing: border-box;
	background-color: rgba(0, 0, 0, 0.03);
	outline: 0 solid rgba(51, 153, 204, 0.5);
}
.search_form_box textarea {
	height: auto;
}
.search_form_box input[type="text"]:focus,
.search_form_box input[type="password"]:focus,
.search_form_box input[type="email"]:focus,
.search_form_box input[type="date"]:focus,
.search_form_box input[type="number"]:focus,
.search_form_box input[type="url"]:focus,
.search_form_box textarea:focus,
.search_form_box select:focus {
	background-color: var(--color-base);
	outline: 4px solid rgba(51, 153, 204, 0.5);
}
.search_form_box input[type="text"]:hover,
.search_form_box input[type="password"]:hover,
.search_form_box input[type="email"]:hover,
.search_form_box input[type="date"]:hover,
.search_form_box input[type="number"]:hover,
.search_form_box input[type="url"]:hover,
.search_form_box textarea:hover,
.search_form_box select:hover {
	outline: 4px solid rgba(51, 153, 204, 0.5);
}

.search_form_box table {
	width: fit-content;
	margin: 1rem auto;
	border-collapse: collapse;
}
.search_form_box tr {
	border-bottom: 1px solid hsla(0, 0%, 0%, 0.05);
}
.search_form_box tr:first-of-type {
	border-top: 1px solid hsla(0, 0%, 0%, 0.05);
}
.search_form_box tr td {
	padding: 0.5rem 1rem;
	font-size: 1rem;
}
.search_form_box table tr td:first-of-type {
	font-weight: bold;
	text-align: right;
	padding-left: 2rem;
}
.search_form_box table tr td:last-child {
	padding-right: 2rem;
}
.search_form_box .btn {
	display: block;
	max-width: 500px;
}
.search_form_box .btn.small {
	display: inline-block;
	width: auto;
}

.search_hint {
	display: none;
	position: absolute;
	top: 45px;
	left: 0;
	padding: 5px 20px;
	border-radius: 50px;
	background-color: #ddffdd;
	color: #335533;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	transition-delay: 1s;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4);
	overflow-x: visible;
	white-space: nowrap;
	z-index: 1;
}
.hint_container {
	position: relative;
}
.hint_container:hover .search_hint {
	display: block;
}

.hint_box {
	display: block;
	position: relative;
}
.hint_box[hint]::after {
	display: inline-block;
	visibility: hidden;
	content: attr(hint);
	position: absolute;
	box-sizing: border-box;
	left: 0;
	top: 80%;
	width: 100%;
	padding: 5px 20px;
	border-radius: 0 0 5px 5px;
	background-color: rgba(221, 255, 221, 0.9);
	color: #335533;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
	overflow-x: visible;
	text-align: center;
	z-index: 1;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	transition-delay: 0s;
	opacity: 0;
	white-space: normal;
	pointer-events: none;
}
.hint_box[hint]:hover::after,
.hint_box[hint]:active::after {
	visibility: visible;
	opacity: 1;
	transition-delay: 0.3s;
	top: 100%;
}
.hint_box > input[type="text"] {
	margin: 0;
}

.hint_box[hint]::after:hover {
	visibility: hidden;
}

.search_form_container {
	width: 80%;
	max-width: 600px;
	margin: 2rem auto;
}
.instant_search_form {
	position: relative;
	width: 100%;
	text-align: center;
	display:flex;
	margin: 10px auto;
	border-radius: 50px;
	background-color: var(--color-main);
	color: var(--color-base);
	box-shadow: var(--box-shadow-normal-inset), 0 0 0 0 var(--color-active);
	font-size: 1.2rem;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	white-space: nowrap;
}
.instant_search_form:hover {
	box-shadow: var(--box-shadow-normal-inset), 0 0 0 0.3rem var(--color-active);
	color: var(--color-base);
	filter: brightness(1.2);
}
.instant_search_form input {
	vertical-align: top;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 1rem 0 1rem 2rem;
	border-style: none;
	background-color: transparent;
	color: var(--const-light-color-base);
	font-size: 1.2rem;
	text-shadow: var(--text-shadow-near);
}
.instant_search_form input:focus {
	border-style: none;
	box-shadow: none;
}
.instant_search_form input::placeholder {
	color: var(--const-light-color-base-alpha2);
}
.instant_search_form .search_button {
	border-style: none;
	vertical-align: top;
	box-sizing: border-box;
	width: 5rem;
	padding: 0;
	cursor: pointer;
	background-color: transparent;
	color: var(--const-light-color-base);
	text-shadow: var(--text-shadow-normal);
	font-size: 1.5rem;
	outline-style: none;
}
.instant_search_form select {
	outline: none;
	box-sizing: border-box;
	border-style: none;
	border-radius: 2px;
	padding: 5px 5px;
	margin-left: 10px;
	color: var(--color-base);
	background: rgba(255, 255, 255, 0);
}

@keyframes blink_anime {
	0% {
	}
	60% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}

.social_container {
	display: flex;
	justify-content: center;
	margin: 10px;
}
.social_container > div {
	padding: 5px;
}
.social_container > a {
	display: inline-block;
	padding: 5px 20px;
	background-color: var(--color-main);
	color: #dfefff;
	box-shadow: var(--box-shadow-normal);
	margin: 0;
	border-radius: 0;
	font-size: 1.2rem;
}
.social_container > a:hover {
	color: var(--color-main);
	background-color: #dfefff;
}
.social_container > a:first-of-type {
	border-radius: 5px 0 0 5px;
}
.social_container > a:last-of-type {
	border-radius: 0 5px 5px 0;
}
.social_container > a:first-of-type:last-of-type {
	border-radius: 5px;
}
.social_container .social_button_twitter {
	background-color: hsla(0, 0%, 0%, 1);
	color: hsla(0, 0%, 100%, 1);
}
.social_container .social_button_twitter:hover {
	background-color: hsla(0, 0%, 90%, 1);
	color: hsla(0, 0%, 0%, 1);
}
.social_container .social_button_tumblr {
	background-color: hsla(210, 38%, 28%, 1.0);
	color: hsla(210, 38%, 100%, 1.0);
}
.social_container .social_button_tumblr:hover {
	background-color: hsla(210, 38%, 80%, 1.0);
	color: hsla(210, 38%, 28%, 1.0);
}
.social_container .social_button_facebook {
	background-color: hsla(221, 44%, 41%, 1.0);
	color: hsla(221, 44%, 100%, 1.0);
}
.social_container .social_button_facebook:hover {
	background-color: hsla(221, 44%, 80%, 1.0);
	color: hsla(221, 44%, 41%, 1.0);
}

.cart_product .social_container {
	position: absolute;
	bottom: 0;
	right: 0;
}

.footer_go_to_pagetop {
	margin: auto;
	padding: 20px 40px;
	width: 100%;
	text-align: center;
	font-size: 2rem;
	background-color: hsla(0, 0%, 100%, 0.2);
	box-sizing: border-box;
}
.footer_go_to_pagetop.btn {
	margin: auto;
}
.footer_go_to_pagetop:hover {
	margin: auto;
	width: 100%;
	background-color: hsla(0, 0%, 100%, 0.4);
}

ul.global_navigation_block .global_navigation_submenu {
	position: relative;
	cursor: default;
}
ul.global_navigation_block .global_navigation_submenu > a::after {
	content: "\f0d7";
	padding: 0 5px;
	font: var(--fa-font-solid);
	line-height: 0;
}
ul.global_navigation_block .global_navigation_submenu > ul {
	visibility: hidden;
	position: absolute;
	list-style: none;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2), 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
	width: 100%;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	transition-delay: 0.3s;
	z-index: 200;
	opacity: 0;
	top: 80%;
	font-size: 0;
	float: none;
}
ul.global_navigation_block .global_navigation_submenu > ul > li {
	float: none;
	line-height: normal;
}
ul.global_navigation_block .global_navigation_submenu:hover > ul,
ul.global_navigation_block .global_navigation_submenu > ul:hover {
	visibility: visible;
	opacity: 1;
	top: 100%;
}
ul.global_navigation_block .global_navigation_submenu > ul a {
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	background-color: var(--color-main);
	color: var(--color-base);
	padding: 10px;
	font-size: 1.1rem;
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow: ellipsis;
}
ul.global_navigation_block .global_navigation_submenu > ul a:hover {
	width: auto;
	min-width: 100%;
}
ul.global_navigation_block .global_navigation_submenu > ul a > i {
	width: 1.4rem;
	display: inline-block;
	text-align: center;
}
ul.global_navigation_block .global_navigation_submenu > ul li.item_type_tag_menu a {
	padding: 10px 10px;
	letter-spacing:0em;
	font-size: 0.9rem;
}
ul.global_navigation_block .global_navigation_submenu > ul li.item_type_tag_menu a > i {
	width: 1rem;
	display: inline-block;
	text-align: center;
}
ul.global_navigation_block .global_navigation_submenu > ul hr {
	border-style: none;
	border-top: 1px dashed var(--color-base);
	background-color: var(--color-main);
}
ul.global_navigation_block .global_navigation_submenu > ul a:hover {
	background-color: hsla(200, 60%, 40%, 1);
	color: var(--color-base);
	opacity: 1;
}

.country_list {
	text-align: center;
	font-size: 0;
}
.country_list li {
	display: inline-block;
}
.country_list li a {
	position: relative;
	display: inline-block;
	margin: 5px;
	padding: 5px 15px;
	border-radius: 50px;
	box-shadow: var(--box-shadow-near);
	background-color: hsla(200, 60%, 50%, 1);
	color: var(--const-light-color-base);
	font-size: 1rem;
}
.country_list li a[count]::after {
	content: attr(count);
	position: absolute;
	border-radius: 50px;
	padding: 0 8px;
	top: -6px;
	right: -6px;
	background-color: var(--color-base-dark2);
	color: hsla(200, 60%, 50%, 1);
	box-shadow: var(--box-shadow-near);
	font-size: 0.8rem;
}
.country_list li a:hover {
	background-color: hsla(200, 70%, 60%, 1);
}
.country_list li a.button_country_list_other {
	background-color: hsla(190, 60%, 50%, 1);
}
.country_list li a.button_country_list_other:hover {
	background-color: hsla(190, 70%, 60%, 1);
}

.product_thumbnail .product_thumbnail_image .corner_ribbon {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(57, 154, 200, 1);
	color: var(--const-light-color-base);
	width: 100px;
	height: 28px;
	line-height: 28px;
	top: 10px;
	right: -30px;
	position: absolute;
	transform: rotateZ(45deg);
	box-shadow: 0 0 0 2px rgba(57, 154, 200, 1), var(--box-shadow-near);
	border-top: dashed 1px var(--const-light-color-base);
	border-bottom: dashed 1px var(--const-light-color-base);
	z-index: 3;
}

.product_thumbnail .product_thumbnail_image .corner_ribbon.restock_ribbon {
	background-color: hsl(30, 70%, 50%);
	box-shadow: 0 0 0 2px hsl(30, 70%, 50%), var(--box-shadow-near);
	font-size: 90%;
}

.product_thumbnail .product_thumbnail_image .corner_ribbon.preorder_ribbon {
	background-color: hsl(30, 70%, 50%);
	box-shadow: 0 0 0 2px hsl(30, 70%, 50%), var(--box-shadow-near);
}

.product_thumbnail .product_thumbnail_image .corner_ribbon.graded_ribbon {  
	width: 140px;
	right: -48px;
	background: linear-gradient(
	to right, 
	hsl(82, 97%, 77%), 
	hsl(200, 100%, 66%), 
	hsl(276, 100%, 75%)
	);
	color: hsla(0, 0%, 100%, 100%);
	font-weight: bold;
	font-family: var(--font-narrow);
	text-shadow: -1px -1px 0 hsla(0, 0%, 0% , 20%);
	box-shadow: 0 0 0 3px hsl(200, 100%, 82%), var(--box-shadow-near);
	border-top: none;
	border-bottom: none;
	transform: rotateZ(45deg);
}
.product_thumbnail .product_thumbnail_image .corner_ribbon.graded_ribbon::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
	transform: skewX(-30deg);
	animation: shine 5s infinite alternate;
}
@keyframes shine {
	0% {
		left: -100%;
	}
	95% {
		left: -100%;
	}
	100% {
		left: 100%;
	}
}
.product_thumbnail .product_thumbnail_image .corner_ribbon.damaged_ribbon {
	display: inline-block;
	width: auto;
	right: 0;
	top: 0;
	border-top: none;
	border-bottom: none;
	border-radius: 0 5px 0 5px;
	padding: 0 1rem;
	background-color: var(--color-text);
	color: var(--color-base);
	font-size: 1.2rem;
	font-weight: bold;
	box-shadow: var(--box-shadow-near);
	transform-origin: right;
	transform: rotateZ(0) scaleX(0.8);
	clip-path: polygon(
	0 0,
	100% 0,
	100% 100%,
	45% 100%,
	40% 85%,
	35% 100%,
	30% 85%,
	25% 100%,
	20% 85%,
	15% 100%,
	0 100%
	);
}
.product_thumbnail .product_thumbnail_image .corner_ribbon.damaged_ribbon::before {
	content: "Grade";
	font-weight: normal;
	font-size: 60%;
	vertical-align: 40%;
	line-height: 100%;
}

.preorder_str {
	font-size: 90%;
	font-family: var(--font-narrow);
}

.product_thumbnail .product_overlay_ui {
	position: absolute;
	visibility: hidden;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	opacity: 0;
	z-index: 4;
}
.product_thumbnail:hover .product_overlay_ui {
	visibility: visible;
	opacity: 0.85;
}
@media (any-hover: none) {
	.product_thumbnail .product_overlay_ui {
		visibility: visible;
		opacity: 0.85;
	}
}

.button_product_delete{
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	padding: 10px;
	border-radius: 5px 0 5px 0;
	box-sizing: border-box;
	background-color: var(--color-base-dark2);
	color: var(--color-text);
	text-align: center;
}
.button_product_delete:hover {
	background-color: var(--color-stop);
	color: var(--color-base);
}
.button_product_delete i{
	font-size: 1.2rem;
}

.banner_product_request {
	bottom: 0;
	left:0;
	height:30px;
	width: 100%;
	padding: 2px;
	box-sizing: border-box;
	border-radius: 0 0 5px 5px;
	background-color: hsla(36, 100%, 50%, 1);
	color: var(--color-base);
	text-align: center;
	line-height: 25px;
}

.banner_product_request i {
	padding-right: 0.5rem;
}

@media only screen and (max-width: 400px) {
	.product_thumbnail a.banner_product_request {
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 2px;
	}
}

.product_overlay_ui.banner_product_request:hover {
	background-color: hsla(36, 100%, 67%, 1);
}

.product_thumbnail.product_thumbnail_related{
	position: relative;
}

.product_thumbnail.product_thumbnail_related .product_overlay_ui {
	position: absolute;
}

.product_thumbnail_related .button_detach_product{
	top: 0;
	left: 0;
	height: 40px;
	width: 40px;
	padding: 2px;
	box-sizing: border-box;
	border-radius: 5px 0 5px 0;
	background-color: #999999;
	/* background-color: rgba(102,102,102,30); */
	color: var(--color-base);
	/* color: rgba(102,102,102,50); */
	text-align: center;
}

.product_thumbnail_related .button_detach_product i{
	font-size: 1.2rem;
}

.product_thumbnail_related .button_attach_product{
	top: 0;
	right: 0;
	height: 40px;
	width: 40px;
	padding: 2px;
	box-sizing: border-box;
	border-radius: 0 5px 0 5px;
	background-color: #55c500;
	/* background-color: rgba(102,102,102,30); */
	color: var(--color-base);
	/* color: rgba(102,102,102,50); */
	text-align: center;
}

.product_thumbnail_related .button_attach_product i{
	font-size: 1.2rem;
}

.product_thumbnail_related .product_overlay_ui:hover {
	/* border-radius: 5px 0 5px 0; */
	background-color: hsla(0, 70%, 60%, 1);
	color: var(--color-base);
}

.watchlist_items_total {
	font-weight: bold;
	text-align: center;
	font-size: 2rem;
}

.full_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	color: var(--color-base);
	z-index: 300;
}

.standard_dialog_background {
	visibility: visible;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5vh 5vw;
	background-color: hsla(0, 0%, 0%, 0.5);
	font-size: 1.2rem;
	transform: scale(1);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	opacity: 1;
	z-index: 100;
}
.standard_dialog_background.hidden {
	transform: scale(1.1);
	visibility: hidden;
	opacity: 0;
}
.standard_dialog_window {
	position: relative;
	display: inline-block;
	max-width: 60vh;
	max-height: 90vh;
	width: 90vw;
}
.standard_dialog_content {
	position: relative;
	display: block;
	max-height: 90vh;
	width: 100%;
	border-radius: 1rem;
	background-color: var(--color-base);
	-webkit-align-items: stretch;
	align-items: stretch;
	overflow: scroll;
	box-shadow: var(--box-shadow-normal);
	-ms-overflow-style: none;
}
.standard_dialog_content::-webkit-scrollbar {
	display: none;
}
.standard_dialog_window .standard_dialog_title {
	padding: 3rem 10%;
	font-weight: bold;
	font-size: 150%;
}
.standard_dialog_window .standard_dialog_text {
	padding: 0 10% 3rem 10%;
	text-align: center;
}
.standard_dialog_window .standard_dialog_buttons {
	display: flex;
}
.standard_dialog_window .standard_dialog_buttons > * {
	flex: 1;
}
.standard_dialog_window .standard_dialog_buttons .standard_dialog_button {
	padding: 2rem;
	font-size: 120%;
	font-weight: bold;
	color: var(--color-text);
	background-color: var(--color-disabled);
	text-shadow: var(--text-shadow-normal);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	cursor: pointer;
}
.standard_dialog_window .standard_dialog_buttons .standard_dialog_button:hover {
	filter: brightness(110%);
}
.standard_dialog_window .standard_dialog_close {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(0.8rem, -0.8rem);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	padding: 1rem;
	border-radius: 5rem;
	background-color: var(--color-disabled);
	color: var(--color-text);
	font-size: 1rem;
	text-shadow: var(--text-shadow-normal);
	box-shadow: var(--box-shadow-normal);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	cursor: pointer;
}
.standard_dialog_window .standard_dialog_close:hover {
	filter: brightness(110%);
}
.standard_dialog_window .standard_dialog_buttons .standard_dialog_button.button_cart_dialog_empty {
	background-color: var(--color-stop);
	color: var(--color-base);
}

.full_overlay_dialog_window {
	position: relative;
	display: inline-block;
	text-align: center;
}
@media only screen and (min-width: 992px) {
	.full_overlay_dialog_window {
		max-height: none;
		width: auto;
	}
}
.full_overlay_dialog_window.text_search_side_menu_container {
	text-align: left;
}
.full_overlay_dialog_window .button_rounded_stop {
	left: auto;
	top: -10px;
	right: -10px;
	z-index: 11;
}
.full_overlay_dialog_window .button_rounded_watchlist {
	left: -10px;
	top: -10px;
	right: auto;
	z-index: 11;
}
.full_overlay_dialog_window .full_overlay_dialog_content {
	position: relative;
	display: block;
	max-height: 90vh; max-height: 90dvh;
	max-width: min(90vw, 500px);
	width: 90vw;
	border-radius: 10px;
	background-color: var(--color-base);
	-webkit-align-items: stretch;
	align-items: stretch;
	overflow: scroll;
	box-shadow: var(--box-shadow-normal);
	-ms-overflow-style: none;
}
.full_overlay_dialog_window .full_overlay_dialog_content::-webkit-scrollbar {
	display: none;
}
.full_overlay_dialog_window .full_overlay_dialog_content.full_overlay_dialog_content_padding {
	padding: 3rem 1rem 1rem 1rem;
	box-sizing: border-box;
}
.full_overlay_dialog_window .full_overlay_dialog_title {
	padding: 10px 50px;
	background-color: var(--color-main);
	color: var(--const-light-color-base);
	font-size: 2rem;
}
.full_overlay_dialog_window .full_overlay_dialog_info {
	padding: 5%;
	color: var(--color-text);
}
.full_overlay_dialog_window .full_overlay_dialog_buttons {
	position: sticky;
	display: flex;
	gap: 4px;
	bottom: 0;
	width: 100%;
	background-color: #eee;
}
.full_overlay_dialog_window .full_overlay_dialog_buttons > * {
	flex: 1;
}
.full_overlay_dialog_window .full_overlay_dialog_buttons a,
.full_overlay_dialog_window .full_overlay_dialog_buttons button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	overflow: hidden;
	margin: 0;
	border-radius: 0;
	padding: 20px;
	vertical-align: middle;
	word-wrap: normal;
	word-break: normal;
	line-height: normal;
}
.full_overlay_dialog_window .full_overlay_dialog_buttons.full_overlay_dialog_buttons_vertical {
	flex-direction: column;
	gap: 0;
}
.full_overlay_dialog_window .full_overlay_dialog_buttons.full_overlay_dialog_buttons_vertical a {
	padding: 2rem;
}

.full_overlay_dialog_window #items_in_cart {
	min-height: 30vh;
}

.button_rounded_stop {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	right: 0;
	top: -40px;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	margin: 0 auto;
	border: 0;
	border-radius: 50px;
	padding: 10px;
	color: var(--color-base);
	background-color: #d94d46;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 0 10px 0 rgba(0, 0, 0, 0.2);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	font-size: 1.2rem;
	cursor: pointer;
	outline-style: none;
	outline: none;
	text-align: center;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	z-index: 1;
}
.button_rounded_stop:hover {
	background-color: hsla(0, 100%, 50%, 1);
	color: var(--color-base);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 0 15px 0 rgba(0, 0, 0, 0.2);
	text-decoration: none;
}
.button_rounded_stop::before {
	content: "\f00d";
	font: var(--fa-font-solid);
}

.button_rounded_watchlist {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	right: 0;
	top: -40px;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	margin: 0 auto;
	border: 0;
	border-radius: 50px;
	padding: 10px;
	color: var(--color-base);
	background-color: hsla(36, 20%, 50%, 1);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 0 10px 0 rgba(0, 0, 0, 0.2);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	font-size: 1.2rem;
	cursor: pointer;
	outline-style: none;
	outline: none;
	text-align: center;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	z-index: 1;
}
.button_rounded_watchlist:hover {
	background-color: hsla(36, 20%, 60%, 1);
	color: var(--color-base);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 0 15px 0 rgba(0, 0, 0, 0.2);
	text-decoration: none;
}
.button_rounded_watchlist.loading {
	background-color: hsla(36, 0%, 50%, 1);
}
.button_rounded_watchlist.loading i {
	font-size: 1.2rem;
}
.button_rounded_watchlist.watching {
	background-color: hsla(36, 100%, 50%, 1);
}
.button_rounded_watchlist.hidden {
	display: none;
}

.twitter-button {
	width: auto;
	border-radius: 5px;
	padding: 0 1rem;
}

@media only screen and (min-width: 992px) {
	.twitter_header_link {
		display: none;
	}
}

.large_image_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	margin: auto;
	background-size: contain;
	background-repeat: no-repeat;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	background-position: 50% 50%;
}

div.large_image_block {
	width: 100%;
	text-align:center;
	box-sizing:border-box;
	position: relative;
}
div.large_image_block:before {
	content: "";
	display: block;
	padding-top: 100%;
}
.large_image_button {
	position: absolute;
	top: 0;
	width: 15%;
	height: 100%;
	z-index:10;
	font-size: 2rem;
	cursor: pointer;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	color: var(--color-base);
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}
.large_image_button:hover {
	opacity: 0.7;
}
.large_image_button.large_image_button_prev {
	left: 0;
}
.large_image_button.large_image_button_next {
	right: 0;
}

.thumbnail_list {
	box-sizing: border-box;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	display: block;
	border-radius: 0px;
	padding: 1rem 3rem;
	white-space: nowrap;
	overflow-x: scroll;
	background-color: var(--color-base-dark);
	text-align: center;
	scroll-behavior: smooth;
}
.thumbnail_list:not(:has(> .small_image_block:not(:first-child):not(.hidden))) {
	display: none;
}
.small_image_block {
	display: inline-block;
	margin: 3px;
	vertical-align:middle;
	text-align:center;
}
.small_image_block img {
	border-radius: 3px;
	vertical-align:middle;
	height: 60px;
	box-shadow: var(--box-shadow-near), 0 0 0 0 var(--color-active);
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
.small_image_block.selected img {
	box-shadow: var(--box-shadow-near), 0 0 0 5px var(--color-active);
}

#full_overlay_product_purchase_dialog .product_thumbnail:nth-of-type(1) .thumbnail_card {
	animation: animation_added_cart 0.6s ease-in;
	background-color: var(--color-base);
	z-index: 1;
}

@keyframes animation_added_cart {
	0% {
		opacity: 0;
		transform: scale(2);
	}
	70% {
		opacity: 0;
		transform: scale(2);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}

.header_menu_branch {
	position: relative;
}
.header_menu_branch > ul {
	position: absolute;
	right: 0;
	background-color: var(--color-main);
	z-index: 1;
	top: 90%;
	transition-property: all;
	transition-timing-function: ease-out;
	transition-duration: 0.15s;
	transition-delay: 0.2s;
	visibility: hidden;
	opacity: 0;
	box-shadow: 0px 4px 10px 0px rgb(0 0 0 / 20%);
}
.header_menu_branch:hover > ul {
	visibility: visible;
	top: 100%;
	opacity: 1;
}
.header_menu_branch > ul > li {
	white-space: nowrap;
	display: block;
	float: none;
}

.cart_button_container {
	text-align: center;
	margin: 1.5rem;
}

#watchlist_box {
	margin: 2rem;
	text-align: center;
}

.card_custom {
	margin: 0 auto 2rem auto;
	padding-bottom: 1rem;
	box-shadow: var(--box-shadow-normal);
	text-align: center;
	background-color: var(--color-base-dark);
}
.card_custom .card_h {
	display: block;
	text-align: center;
	margin-bottom: 2rem;
	padding: 1.4rem;
	color: var(--color-text);
	font-size: 2rem;
	font-weight: bold;
}
.card_custom .card_h:first-child {
	padding-top: 3rem;
}

.card_custom .card_h2 {
	display: block;
	text-align: center;
	margin: 2rem 1rem;
	color: var(--color-text);
	font-size: 1.6rem;
	font-weight: bold;
}

.card_custom .card_text {
	font-size: 1.4rem;
	margin: 1rem;
}

.card_custom hr {
	margin: 2rem 0;
}

.card_custom a {
	text-decoration: underline;
	text-shadow: var(--text-shadow-near);
}
.card_custom a.btn {
	text-decoration: none;
	text-shadow: var(--text-shadow-normal);
}

dl.user_comment dt {
	font-size: 2rem;
	margin: 1rem auto;
	padding: 0 5%;
}
dl.user_comment dt .star_indicator {
	font-size: 3rem;
}
dl.user_comment dt .user_data {
	font-size: 1.2rem;
}

dl.user_comment dt span.star{
	color:#E47911;
}

dl.user_comment dd {
	margin: 0 0 5rem 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding: 0 10%;
}
@media (max-width: 600px) {
	dl.user_comment dd {
		text-align: left;
	}
}

.hashtags_container {
	display: flex;
	flex-wrap: wrap;
	padding: 1rem;
	margin: 1rem 0;
	font-size: 1rem;
	background-color: var(--color-base-dark);
	list-style: none;
}

.hashtags_container a {
	display: inline-block;
	margin: 0.2rem;
	padding: 0.5rem 1rem;
	background-color: var(--color-base-dark);
	border: 1px solid var(--color-text-light2);
	border-radius: 5px;
	color: var(--color-text);
	font-size: 1.2rem;
	word-break: break-word;
	text-align: left;
	text-shadow: var(--text-shadow-near);
	box-shadow: inset 1px 1px 0px var(--color-base);
}

@media (max-width: 600px) {
	.hashtags_container a {
		padding: 0.3rem 0.8rem;
		font-size: 1rem;
	}
}

.hashtags_container a:hover {
	filter: brightness(110%);
}

.hashtags_container a::before {
	padding: 0 0.2rem 0 0;
	font: var(--fa-font-solid);
	content: "\0023";
}

.paypal_link_container {
	margin: 2rem 0;
	text-align: center;
}
.paypal_link_container img {
	max-width: 100%;
}

.base_aligned_list {
	padding: 0 5%;
	margin: 0 auto;
	max-width: 800px;
}
.search_option_container {
	max-height: 50vh;
	background-color: #ffeec0;
	overflow-y: scroll;
}

.header_search_option_container {
	position: absolute;
	max-height: 50vh;
	background-color: #ffeec0;
	overflow-y: scroll;
}

.search_recommend {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	max-width: 100vw;
	text-align: left;
	overflow-x: hidden;
	white-space: nowrap;
	background-color: var(--color-base);
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-in;
	box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1), 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
	z-index: 1;
}
.main_action_area .search_recommend {
	top: auto;
	bottom: 100%;
}
.search_recommend.hide {
	display: none;
}
.search_recommend .nest_list > li > a {
	margin-left: 0;
	border-left: 2px solid transparent;
}

.search_suggest_keyword {
	display: block;
	margin: 2px;
	padding: 5px 10px;
	border-radius: 4px;
	color: var(--color-base);
	background-color: #424e65;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 0 10px 0 rgba(0, 0, 0, 0.2);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	white-space: nowrap;
	overflow-x: hidden;
}

.search_suggest_keyword:hover{
	color: var(--color-base);
	background-color: #424e65;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 0 15px 0 rgba(0, 0, 0, 0.2);
	text-decoration: none;
}

.search_suggest_keyword.contains {
	display: none;
}

.search_recommend_additional_loading {
	display: none;
	margin: 10px 0;
	text-align: center;
}

.search_recommend_additional_loading.show {
	display: block;
}


.search_recommend_additional {
	display: block;
}

.search_recommend_tag {
	display: block;
	margin: 0;
	float: none;
}
.search_recommend_tag > li.leaf a:focus {
	filter: brightness(1.5);
}

.game_banner_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0.5rem;
}

.game_banner_list img {
	display: block;
	width: 100%;
	aspect-ratio: 320/90;
}

.game_banner_list li {
	position: relative;
	display: inline-block;
	width: calc(100% / 5);
	box-sizing: border-box;
}

@media only screen and (max-width: 991px){
	ul.game_banner_list li {
		width: calc(100% / 3);
	}
}


@media only screen and (max-width: 601px){
	ul.game_banner_list li {
		width: calc(100% / 2);
	}
}

.game_banner_list li a {
	position: relative;
	display: block;
	margin: 0.2rem;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	transform: scale(1);
}
.game_banner_list li a:hover {
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2), 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
	transform: scale(1.05);
	z-index: 1;
	filter: brightness(1.1);
}

.footer_info {
	display: flex;
	flex-wrap: wrap;
	padding: 2rem;
	gap: 2rem;
}
@media (max-width: 600px) {
	.footer_info {
		padding: 1rem;
	}
}
.footer_info > * {
	flex: 1;
	align-self: flex-start;
	width: 10%;
}
@media (max-width: 1100px) {
	.footer_info > * {
		width: calc(100% / 2 - 2rem);
		min-width: calc(100% / 2 - 2rem);
	}
}
@media (max-width: 800px) {
	.footer_info > * {
		width: 100%;
		min-width: 100%;
	}
}
.twitter-timeline {
	height: 1000px;
	max-height: 80vh;
	overflow: hidden;
}
@media (max-width: 800px) {
	.twitter-timeline {
		max-height: 50vh;
	}
}

@media only screen and (max-width : 340px) {
	.hide-on-very-small-only {
		display: none !important;
	}
}

@media only screen and (min-width : 341px) {
	.hide-on-small-and-up {
		display: none !important;
	}
}

@media only screen and (max-width : 600px) {
	.hide-on-small-and-down {
		display: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.hide-on-med-and-down {
		display: none !important;
	}
}

@media only screen and (min-width : 601px) {
	.hide-on-med-and-up {
		display: none !important;
	}
}

@media only screen and (min-width: 600px) and (max-width: 991px) {
	.hide-on-med-only {
		display: none !important;
	}
}

@media only screen and (min-width: 992px) {
	.hide-on-large-only {
		display: none !important;
	}
}

.category_pane_container {
	display: flex;
	width: 100%;
	margin: 3rem 0;
	padding: 1rem;
	box-sizing: border-box;
	gap: 1rem;
}
.category_pane_container > ul {
	flex: 1;
}

#description {
	margin-bottom: 0;
	padding: 2rem;
	box-shadow: inset 0 2px 5px 0 rgb(0 0 0 / 16%), inset 0 2px 10px 0 rgb(0 0 0 / 12%);
	text-align: left;
	overflow-y: scroll;
	max-height: min(270px, 20vh);
	box-sizing: border-box;
	max-height: min(270px, 20vh);
}
#description img {
	width: 100%;
	max-width: 1000px;
}
#description.expand {
	max-height: none;
}
@media (max-width: 600px) {
	#description {
		display: none;
		max-height: none;
	}
	#description.expand {
		display: block;
	}
}

#description h6{
	border-left: 3px solid #3399CC;
	border-bottom: 1px solid #ddd;
	font-size: 1.2rem;
	padding: 0.5rem 0 0.5rem 1rem;
	text-align: left;
}
#description p{
	margin: 20px 0px;
}
#description a{
	display: inline-block;
	margin: 0px 15px 0px 0px;
	color: #999;
}
#description a::before{
	width: 10px;
	height: 10px;
	border: 2px solid #ddd;
	border-left: none;
	border-bottom: none;
	content: "";
	display: inline-block;
	transform: rotateZ(45deg);
	margin-right: 8px;
}
#description a{
	color: rgba(51, 153, 204, 0.8);
}
#description a:hover::before {
	border-color: var(--color-main);
	filter: brightness(1);
}
#description a:hover{
	filter: brightness(1.5);
}
#description>ul>li{
	display: inline-block;
	margin-bottom: 20px;
	margin-right: 10px;
	vertical-align: top;
}

#description_short p{
	font-size: x-large;
	text-align: center;
}

#description_short a{
	display: inline-block;
	margin: 0px 15px 0px 0px;
}
.pane_container {
	display: flex;
	justify-content: center;
	gap: 0 2rem;
	padding: 0 2rem;
}
@media only screen and (max-width: 800px) {
	.pane_container {
		gap: 0 1rem;
		padding: 0 1rem;
	}
}
.pane_container .pane_sub {
	flex: 1;
}
.pane_container .pane_main {
	flex: 3;
}
.pane_container .pane_half {
	flex: 1;
}
@media only screen and (max-width: 991px) {
	.pane_container {
		flex-direction: column;
	}
	.pane_container .pane_sub {
		width: 100%;
		min-width: auto;
		max-width: none;
	}
	.pane_container .pane_sub .full_overlay_dialog_window .full_overlay_dialog_content {
		overscroll-behavior: contain;
	}
	.pane_container .pane_main {
		width: 100%;
	}
	.pane_container .pane_half {
		width: 100%;
		min-width: auto;
		max-width: none;
	}
	.pane_container .pane_half .form_input_container:first-of-type {
		margin-top: 0;
	}
}

.btn {
	display: inline-block;
	margin: 1rem auto;
	border-radius: 0.5rem;
	padding: 1rem 2rem;
	box-sizing: border-box;
	background-color: var(--color-main);
	color:var(--const-light-color-base);
	font-size: 1.5rem;
	text-align: center;
	text-shadow: var(--text-shadow-normal);
	box-shadow: var(--box-shadow-normal);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	cursor: pointer;
	user-select: none;
}
.btn:hover {
	filter: brightness(1.2) saturate(1.2);
}
.btn.disabled,
.btn[disabled] {
	background-color: var(--color-disabled-dark) !important;
	color: var(--color-disabled) !important;
	pointer-events: none !important;
}

.btn.green {
	background-color: var(--color-go);
}
.btn.green:hover {
	filter: brightness(1.1) saturate(1.2);
}

.btn.orange {
	background-color: hsl(35, 89%, 65%);
}
.btn.orange:hover {
	filter: brightness(1.2) saturate(1.2);
}

.btn.red {
	background-color: var(--color-stop);
}
.btn.red:hover {
	filter: brightness(1.2);
}

.btn.grey {
	background-color: var(--color-base-dark2);
	color: var(--color-text);
}
.btn.grey:hover {
	filter: brightness(1.2);
}

.btn.white {
	background-color: var(--color-base);
	color: var(--color-text);
}
.btn.white:hover {
	filter: brightness(1.2);
}

[type=checkbox].toggle_expand_ui {
	display: none;
}
[type=checkbox].toggle_expand_ui ~ .toggle_expand_target {
	--transition-duration: 0.2s;
	display: none;
	height: 0;
	opacity: 0;
	transition: 
	display var(--transition-duration) allow-discrete, 
	height var(--transition-duration), 
	opacity var(--transition-duration);
	interpolate-size: allow-keywords; 
}
[type=checkbox].toggle_expand_ui:checked ~ .toggle_expand_target {
	display: block;
	height: auto;
	opacity: 1;
}
@starting-style {
	[type=checkbox].toggle_expand_ui:checked ~ .toggle_expand_target {
		height: 0;
		opacity: 0;
	}
}

.nest_list {
	list-style: none;
}
.nest_list .nest_list {
	list-style: none;
	margin: 1px 0;
	padding-left: 2rem;
}
.nest_list > li > a {
	display: block;
	margin-left: 1.1rem;
	padding: 1rem 2rem;
	border-left: 2px solid var(--color-base-dark2);
	border-right: 6px solid transparent;
	color: var(--color-text);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	font-size: 1rem;
}
.nest_list > li.selected > a {
	display: flex;
	align-items: center;
	position: relative;
	pointer-events: none;
}
.nest_list > li.selected > a:before {
	content: "";
	position: absolute;
	width: 1.8rem;
	height: 1.8rem;
	left: -0.9rem;
	border-radius: 50px;
	background-color: var(--color-active);
	box-shadow: var(--box-shadow-near);
}
.nest_list > li.selected > a:after {
	content: "";
	position: absolute;
	transform: translateY(-0.1rem) rotate(45deg);
	width: 0.3rem;
	height: 0.6rem;
	left: -0.3rem;
	border-width: 0.3rem;
	border-style: none solid solid none;
	border-color: var(--const-light-color-main);
}
.nest_list > li > a:hover,
.nest_list > li > a:focus {
	border-left: 6px solid var(--color-active);
	border-right: 2px solid transparent;
}
.nest_list .nest_list > ul {
	display: none;
}
.nest_list > li > label {
	position: relative;
	display: flex;
	gap: 0.5rem;
	align-items: center;
	height: 100%;
	padding: 1rem calc(1rem + 4px) 1rem 3rem;
	background-image: linear-gradient(to right, transparent 1.1rem, var(--color-base-dark2) 1.1rem 100%);
	color: var(--color-text);
	font-size: 1.2rem;
	text-shadow: var(--text-shadow-normal);
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	white-space: normal;
	overflow-x: hidden;
	cursor: pointer;
	font-weight: bold;
}
@media (any-hover: hover) {
	.nest_list > li > label:hover {
		padding: 1rem 1rem 1rem calc(3rem + 4px);
	}
}
.nest_list > li > label > span {
	font-weight: normal;
	font-size: 0.8rem;
}
.nest_list > li:last-child > label {
	margin-bottom: 0;
}
.nest_list .nest_list > li > label {
	font-size: 1rem;
	font-weight: normal;
	background-image: linear-gradient(to right, transparent 1.1rem, var(--color-base-dark2) 1.1rem calc(1.1rem + 2px), var(--color-base-dark) calc(1.1rem + 2px) 100%);
}
.nest_list .nest_list .nest_list > li > label {
	font-size: 1rem;
}
.nest_list > li > label::before {
	position: absolute;
	left: 0.5rem;
	width: 1.2rem;
	height: 1.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5rem;
	font: var(--fa-font-solid);
	content: "\002b";
	line-height: 0;
	text-shadow: none;
	background-color: var(--color-base);
	color: var(--color-text);
	font-size: 0.8rem;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
@media (any-hover: hover) {
	.nest_list > li > label:hover::before {
		background-color: var(--color-active);
		color: var(--const-light-color-main);
	}
}
.nest_list > li > [type=checkbox].toggle_expand_ui:checked ~ label::before {
	transform: rotate(135deg);
	background: var(--color-active);
	color: var(--const-light-color-main);
}
.nest_list > li > label > a[count] {
	display: flex;
	gap: 0.5rem;
	justify-content: right;
	align-items: center;
	position: absolute;
	right: 0;
	top: 0;
	width: 7.5rem;
	height: 100%;
	padding: 0 1rem;
	box-sizing: border-box;
	background-color: var(--color-base-alpha2);
	color: var(--color-text-alpha);
	font-weight: normal;
	font-size: 1rem;
	-webkit-text-stroke: 4px var(--color-base);
	paint-order: stroke;
}
.nest_list > li > label > a[count]:hover {
	padding-right: 0.8rem;
	filter: brightness(1.2);
}
.nest_list > li > label > a[count]::before {
	content: attr(count);
}
@media (max-width: 600px) {
	.nest_list > li > label > a[count]::before {
		content: "";
	}
}
.nest_list > li > label > a[count]::after {
	content: "\f061";
	font: var(--fa-font-solid);
}
@media (max-width: 600px) {
	.nest_list > li > label > a[count] {
		width: 4rem;
		justify-content: center;
		gap: 0;
	}
}

.nest_list_header {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-bottom: 1px;
	padding: 1rem;
	box-sizing: border-box;
	background-color: var(--color-main);
	color: var(--color-base);
}
.nest_list_header .nest_list_header_caption {
	flex-grow: 1;
	text-align: left;
	padding: 0 1rem;
	font-size: 1.5rem;
	color: hsl(0, 0%, 100%);
}
.nest_list_header .nest_list_header_button,
.nest_list_header .nest_list_header_toggle_button {
	display: block;
	padding: 0 0.5rem;
	font-size: 1.5rem;
	cursor: pointer;
	color: var(--const-light-color-base);
	line-height: 0;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
.nest_list_header .nest_list_header_button:hover,
.nest_list_header .nest_list_header_toggle_button:hover {
	color: var(--const-light-color-base);
	transform: scale(1.2);
}
.nest_list_header.clickable {
	border-left: 0 solid transparent;
	transition-property: all;
	transition-duration: 0.15s;
	transition-timing-function: ease-out;
	cursor: pointer;
}
@media (any-hover: hover) {
	.nest_list_header.clickable:hover {
		border-left: 4px solid transparent;
	}
}
.nest_list_header.clickable .nest_list_header_button {
	line-height: 0;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
.nest_list_header.opened .nest_list_header_button {
	transform: rotate(135deg);
}

.center_cell {
	display: flex;
	align-items: center;
	justify-content: center;
}

.center {
	text-align: center;
}

.search_suggest_tag i {
	margin-right: 0.5rem;
}

.tag_page.page_title {
	padding-top: 5px;
}

.tag_page .paginator {
	margin:0 0 10px 0;
}

.ranking_area {
	margin: 3rem auto;
	padding-bottom: 2rem;
	background-color: hsla(0, 0%, 0%, 0.03);
	border-radius: 5px;
	box-shadow: var(--box-shadow-normal-inset);
}

.main_action_index_container .main_action_index_list {
	display: none;
}
.main_action_index_container.shown .main_action_index_list {
	display: block;
}
.main_action_index_container .main_action_index_button::before {
	margin-right: 1rem;
	font: var(--fa-font-solid);
	content: "\f03a";
}
.main_action_index_container .main_action_index_button::after {
	content: "Table of Contents";
}
.main_action_index_container.shown .main_action_index_button::before {
	content: "\f00d";
}
.main_action_index_container.shown .main_action_index_button::after {
	content: "close";
}
.main_action_index_list {
	margin: 2rem;
	list-style: none;
	box-shadow: var(--box-shadow-near);
	border-radius: 5px;
	overflow: hidden;
}
.main_action_index_list li .btn {
	width: auto;
	margin: 0;
	border-radius: 0;
	padding: 0.6rem;
	font-size: 1.2rem;
}


.list_default {
	margin: 10px;
	text-align: center;
	font-size: 0;
}
.list_default li {
	display: block;
}
.list_default li a {
	position: relative;
	display: block;
	margin: 5px;
	padding: 5px 15px;
	border-radius: 50px;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	background-color: hsla(200, 50%, 50%, 1);
	color: var(--const-light-color-base);
	font-size: 1.2rem;
	text-align: left;
}
.list_default li a[count]::after {
	content: attr(count);
	position: absolute;
	border-radius: 50px;
	padding: 0 10px;
	right: 6px;
	background-color: hsla(0, 0%, 100%, 0.3);
	color: var(--const-light-color-base);
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2), 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}
.list_default li a:hover {
	background-color: hsla(200, 70%, 60%, 1);
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2), 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.list_default li a.button_country_list_other {
	background-color: hsla(190, 50%, 50%, 1);
}
.list_default li a.button_country_list_other:hover {
	background-color: hsla(190, 70%, 60%, 1);
}
.list_default .tag::before {
	content: "";
}

dialog#loading_view {
	color: var(--const-light-color-base-alpha);
	transition-duration: 0.8s;
}
dialog#loading_view i {
	font-size: 6rem;
}

.image_showcase_container {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
}
.image_showcase_container[data-mode="large"] {
	max-width: unset;
}
.image_showcase {
	display: flex;
	overflow-x: scroll;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	width: 100%;
	-ms-overflow-style: none;  /* IE、Edge */
	scrollbar-width: none;  /* Firefox */
}
.image_showcase:-webkit-scrollbar {
	display: none;
}
.image_showcase_image_container {
	position: relative;
	flex: 0 0 100%;
	scroll-snap-align: center;
	aspect-ratio: 1;
	width: 100%;
}
.image_showcase_image_container .image_showcase_image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 1;
	cursor: zoom-in;
}
.image_showcase_container .image_showcase_image[data-src] {
	opacity: 0;
	pointer-events: none;
}
.image_showcase_container[data-mode="large"] .image_showcase_image {
	width: min(200vmin, 100vmax); width: min(200vmin, 100dvmax);
	height: min(200vmin, 100vmax); height: min(200vmin, 100dvmax);
	cursor: zoom-out;
}
body:has(.image_showcase_container[data-mode="large"]) {
	overflow: hidden;
}
.image_showcase_container[data-mode="large"] .image_showcase_image_container {
	overflow: scroll;
	aspect-ratio: unset;
	width: 100vw; width: 100dvw;
	height: 100vh; height: 100dvh;
}
.image_showcase_container[data-mode="large"] .image_showcase_image_container::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display: none;
}
main:has(.image_showcase_container[data-mode="large"]) {
	position: relative;
	z-index: 11;
}
.container_:has(.image_showcase_container[data-mode="large"]) {
    position: relative;	
    z-index: 21;
}
.main_image_showcase_base:has(.image_showcase_container[data-mode="large"]) {
	background-color: var(--color-base);
	position: fixed;
	width: 100vw; width: 100dvw;
	height: 100vh; height: 100dvh;
	top: 0;
	left: 0;
	z-index: 2;
}
.image_showcase:has(.image_showcase_container[data-mode="large"]) {
	overflow-x: hidden;
}
.image_showcase_image_container:has(.image_showcase_image) .image_showcase_image_spinner {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 5rem;
	color: var(--color-text);
	opacity: 0;
	pointer-events: none;
	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
}
.image_showcase_image_container:has(.image_showcase_image[data-src]) .image_showcase_image_spinner {
	opacity: 0.2;
}
.image_showcase_container[data-mode="large"] .image_showcase_image_container:has(.image_showcase_image[data-src]) .image_showcase_image_spinner {
	width: min(200vmin, 100vmax); width: min(200vmin, 100dvmax);
	height: min(200vmin, 100vmax); height: min(200vmin, 100dvmax);
}
#full_overlay_product_preview_dialog:has(.image_showcase_container[data-mode="large"]) {
	margin: 0;

	.full_overlay_dialog_content {
		width: 100vw; width: 100dvw;
		max-width: 100vw; max-width: 100dvw;
		height: 100vh; height: 100dvh;
		max-height: 100vh; max-height: 100dvh;
		border-radius: 0;

		> *:not(.dialog_image_showcase_base) {
			display: none;
		}
	}
	.thumbnail_list {
		display: none;
	}
	.button_overlay_close,
	.button_overlay_watchlist {
		display: none;
	}
}
.image_showcase_image_container.sister_site_element {
	font-size: 1.6rem;
}
@media (max-width: 600px) {
	.image_showcase_image_container.sister_site_element {
		font-size: 1.2rem;
	}
}
.image_showcase_control {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100vw; max-width: 100dvw;
	height: 100%;
	max-height: 100vh; max-height: 100dvh;
	pointer-events: none;
}
.image_showcase_container:not(:has(.image_showcase > .image_showcase_image_container:not(:first-child):not(.hidden))) .image_showcase_control {
	display: none;
}
.image_showcase_control > * {
	pointer-events: auto;
}
.image_showcase_control .image_showcase_control_button {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	bottom: 0;
	width: 15%;
	color: var(--color-text);
	-webkit-text-stroke: 4px var(--color-base);
	paint-order: stroke;
	font-weight: normal;
	background-color: transparent;
	text-shadow: var(--text-shadow-near);
	font: var(--fa-font-solid);
	font-size: 1.2rem;
	opacity: 0.5;
	transition-property: all;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
	cursor: pointer;
}
.image_showcase_control .image_showcase_control_button:hover {
	opacity: 1;
	background-color: hsla(0, 0%, 0%, 0.1);
}
.image_showcase_control .image_showcase_control_button.image_showcase_control_button_left {
	left: 0;
}
.image_showcase_control .image_showcase_control_button.image_showcase_control_button_left::before {
	content: "\f053";
}
.image_showcase_control .image_showcase_control_button.image_showcase_control_button_right {
	right: 0;
}
.image_showcase_control .image_showcase_control_button.image_showcase_control_button_right::before {
	content: "\f054";
}
.sister_site_element.image_showcase_image_container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2rem;
	box-sizing: border-box;
	text-align: center;
	overflow-y: scroll;
}
.sister_site_element.image_showcase_image_container img {
	max-width: 100%;
}
.sister_site_element.hidden {
	display: none;
}

tr.graded_product {
	background-color: bisque;
}

.faq_list {
	max-width: 800px;
	margin: 20px auto;
	padding: 0 5%;
	hyphens: auto;
}
.faq_list dt {
	position: relative;
	margin: 0 0 0 20px;
	padding: 20px 0 0 10px;
	border-radius: 5px 5px 0 0;
	font-weight: bold;
	font-style: italic;
	font-size: 1.6rem;
}
.faq_list dt::before {
	display: inline-block;
	position: absolute;
	right: 100%;
	content: "Q.";
	font-weight: bold;
	font-style: normal;
	color: var(--color-stop);
}
.faq_list dd {
	position: relative;
	margin: 0 0 0 20px;
	padding: 10px 0 20px 10px;
	border-radius: 5px 5px 0 0;
}
.faq_list dd::before {
	display: inline-block;
	position: absolute;
	right: 100%;
	content: "A.";
	font-weight: bold;
	color: var(--color-go);
}
.faq_list dd + dt {
	border-top: var(--color-text-alpha2);
}

.loading {
	text-align: center;
	animation: loading_anime 0.43s ease-in 0s infinite alternate;
}
.loading i {
	font-size: 3rem;
	vertical-align: middle;
	margin: 5px;
}

@keyframes loading_anime {
	0% {
	}
	100% {
		opacity: 0.1;
	}
}

.loading_scrolling_list {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 200px;
	margin: 2rem 0;
	background-image: linear-gradient(90deg, var(--color-base-dark), transparent, var(--color-base-dark));
	background-size: 200% 100%;
	color: var(--color-text);
	animation: loading_scrolling_list_anime 2s linear infinite;
}
@keyframes loading_scrolling_list_anime {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 200% 0%;
	}
}
.loading_scrolling_list .loading_scrolling_list_title {
	margin: 1rem;
	font-size: 1rem;
}

.progress_bar {
	position: relative;
	height: 2.5rem;
	margin: 2rem 1rem;
	border-radius: 5rem;
	background-color: var(--color-base-dark2);
	box-shadow: var(--box-shadow-near);
	overflow: hidden;
	-ms-user-select: none; /* IE 10+ */
	-moz-user-select: -moz-none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}
.progress_bar .progress_bar_bar {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	background-color: var(--const-light-color-main);
	box-shadow: var(--box-shadow-near);
	font-family: var(--font-theme);
	font-size: 1.2rem;
	text-shadow: var(--text-shadow-normal);
	white-space: nowrap;
}
.progress_bar .progress_bar_bar::before {
	visibility: hidden;
	position: absolute;
	right: 0;
	content: attr(data-caption);
	padding: 0 1rem;
	color: var(--color-base);
}
.progress_bar .progress_bar_bar::after {
	position: absolute;
	left: 100%;
	content: attr(data-caption);
	padding: 0 1rem;
	color: var(--const-light-color-main);
}
.progress_bar .progress_bar_bar.progress_bar_bar_high::before {
	visibility: visible;
}
.progress_bar .progress_bar_bar.progress_bar_bar_high::after {
	visibility: hidden;
}
span.notice_message {
	color: var(--color-stop);
	font-weight: bold;
	font-size: 120%;
}
[data-theme="dark"] span.notice_message {
	color: var(--color-stop-dark);
}

.cart_summary_table {
	max-width: 95%;
	font-size: 1.2rem;
	margin: 2rem auto;
	border: 1px solid var(--color-text);
	border-spacing: 0;
	box-shadow: var(--box-shadow-near);
}
.cart_summary_table tr:nth-child(2n) {
	filter: brightness(1.1);
}
.cart_summary_table tr td {
	padding: 0.6rem 1rem;
	background-color: var(--color-base-dark);
	color: var(--color-text);
}
.cart_summary_table tr td:first-child {
	color: var(--color-base);
	background-color: var(--color-text);
}
.cart_summary_table tr td.cart_summary_dollar {
	text-align: right;
}
.cart_summary_table .cart_summary_total {
	font-weight: bold;
}

.amount_with_usd::before {
	content: "$";
	display: inline-block;
	margin-right: 0.2rem;
	font-size: 70%;
	opacity: 0.6;
}
.amount_with_usd::after {
	content: "(USD)";
	display: inline-block;
	margin-left: 0.2rem;
	font-size: 70%;
	opacity: 0.6;
}

[data-emoji]::before {
	content: attr(data-emoji);
	margin: 0 0.2rem;
	font-family: "Noto Color Emoji", sans-serif;
}

.expandable {
	--transition-duration: 0.4s;
	display: none;
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	opacity: 0;
	transition: 
	display var(--transition-duration) allow-discrete, 
	padding var(--transition-duration),
	height var(--transition-duration), 
	opacity var(--transition-duration);
	interpolate-size: allow-keywords; 
}
.expandable.expandable_noanimation {
	transition: none;
}
.expandable.expanded {
	display: block;
	height: auto;
	opacity: 1;
}

@starting-style {
	.expandable.expanded {
		height: 0;
		padding-top: 0;
		padding-bottom: 0;
		opacity: 0;
	}
}

.calendar_date_list {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	margin: 4rem auto;
	padding: 0 1rem;
	max-width: 1200px;
	
	.calendar_date_container {
		display: flex;
		gap: 1rem;
		width: 100%;
		
		@media (width < 600px) {
			flex-direction: column;
			align-items: center;
			gap: 2rem;
		}

		&.past:nth-last-child(1 of .past):not(:last-of-type):not(:has(+ h2)) {
			padding-bottom: 4rem;
			border-bottom: 1px solid var(--color-text-light2);
		}
		
		.calendar_date_left {
			width: 8rem;
			min-width: 8rem;
			flex: 0;
			color: var(--color-text);
			
			.calendar_date_day {
				display: flex;
				flex-direction: column;
				justify-contents: center;
				align-items: center;
				font-size: 4rem;
				font-weight: bold;
				font-family: var(--font-narrow);
				line-height: normal;
				
				&::after {
					content: attr(data-day);
					font-size: 1.5rem;
					font-weight: normal;
					color: var(--color-text-light);
				}
				&.tentative_date {
					font-size: 3rem;
				}
			}
		}
		.calendar_date_right {
			flex: 1;
			width: 100%;
			
			.calendar_date_event_list {
				display: flex;
				flex-wrap: wrap;
				gap: 2rem;
				
				@media (width < 400px) {
					gap: 3rem;
				}
				
				.calendar_event {
					position: relative;
					display: flex;
					gap: 1rem;
					width: calc(100%/2 - 1rem);
                    border-radius: 1.2rem;
					box-sizing: border-box;
					background-color: var(--color-base-dark);
					color: var(--color-text);
					box-shadow: var(--box-shadow-near);
                    overflow: hidden;

					&:hover {
						transform: scale(1.05);
					}
					&:not([href]) {
						transform: none;
						box-shadow: none;
					}
					&[href] {
						border: 2px solid var(--color-event-link1);

						&::after {
							position: absolute;
							right: 0;
							bottom: 0;
							padding: 2px 1rem 0 1.2rem;
							border-top-left-radius: 1.2rem;
							font-size: 1rem;
							box-shadow: var(--box-shadow-event-link);
							color: var(--color-text);
							text-shadow: var(--text-shadow-near);

							content: "View Set ➤";
							background-color: var(--color-event-link1);
						}
					}
					&[href*="/product/product_page_"] {
						border: 2px solid var(--color-event-link2);

						&::after {
							content: "View Details ➤";
							background-color: var(--color-event-link2);
						}
					}
					
					@media (width < 1400px) {
						width: 100%;
					}
					@media (width < 400px) {
						flex-direction: column;
						gap: 0;
					}
					
					.event_image_container {
						flex: 0;
						
						.event_image {
							display: block;
							width: 150px;
							max-width: 150px;
							border-radius: 1rem;
							margin: 0 auto;
							
							@media (width < 400px) {
								width: auto;
								max-width: 100%;
								max-height: 52vh;
							}
						}
					}
					.event_info {
						flex: 1;
						margin: 1rem 1rem 2rem 1rem;
						
						@media (width < 400px) {
							margin: 2rem;
						}
						
						.event_badge {
							display: inline-block;
							margin-right: 0.5rem;
							padding: 0rem 0.8rem;
							border-radius: 0.5rem;
							font-size: 1.2rem;
							background-color: var(--color-text);
							color: var(--const-light-color-base);

							&.badge_reprint {
								background-color: hsl(220, 50%, 50%);
							}
							&.badge_limited {
								background-color: hsl(270, 50%, 60%);
							}
							&.badge_preorder {
								background-color: hsl(30, 70%, 50%);
							}
							&.badge_upcoming {
								background-color: hsl(45, 90%, 46%);
							}
							&.badge_new {
								background-color: hsl(90, 50%, 40%);
							}
						}

						.event_name {
							display: inline;
							font-size: 1.2rem;
							font-weight: bold;
							padding-bottom: 0.5rem;
						}

						.event_category {
							padding-bottom: 0.2rem;
							font-size: 1rem;
							font-weight: normal;
							font-style: italic;
							border-bottom: 1px solid var(--color-base-alpha2);
						}

						hr {
							margin: 0.5rem 0;
						}

						.event_price {
							font-family: var(--font-price);
							font-size: 1.2rem;
						}
					}
				}
			}
		}
	}
}

.calendar_no_data {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 20vw;
	font-size: 3rem;
	font-style: italic;
	color: var(--color-text-light2);
}