@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	-moz-tab-size: 4;
	tab-size: 4;
}

*, :after, :before {
	background-repeat: no-repeat;
	box-sizing: inherit;
}

:after, :before {
	text-decoration: inherit;
	vertical-align: inherit;
}

* {
	padding: 0;
	margin: 0;
}

hr {
	overflow: visible;
	height: 0;
	color: inherit;
}

details, main {
	display: block;
}

summary {
	display: list-item;
}

small {
	font-size: 80%;
}

[hidden] {
	display: none;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

a {
	background-color: transparent;
}

	a:active, a:hover {
		outline-width: 0;
	}

code, kbd, pre, samp {
	font-family: monospace, monospace;
}

pre {
	font-size: 1em;
}

b, strong {
	font-weight: bolder;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	border-color: inherit;
	text-indent: 0;
}

input {
	border-radius: 0;
}

[disabled] {
	cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

	[type=search]::-webkit-search-decoration {
		-webkit-appearance: none;
	}

textarea {
	overflow: auto;
	resize: vertical;
}

button, input, optgroup, select, textarea {
	font: inherit;
}

optgroup {
	font-weight: 700;
}

button {
	overflow: visible;
}

button, select {
	text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
	cursor: pointer;
	color: inherit;
}

	[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
		border-style: none;
		padding: 0;
	}

	[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
		outline: 1px dotted ButtonText;
	}

[type=reset], [type=submit], button, html [type=button] {
	-webkit-appearance: button;
}

button, input, select, textarea {
	background-color: transparent;
	border-style: none;
}

	a:focus, button:focus, input:focus, select:focus, textarea:focus {
		outline-width: 0;
	}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
}

	select::-ms-expand {
		display: none;
	}

	select::-ms-value {
		color: currentColor;
	}

legend {
	border: 0;
	color: inherit;
	display: table;
	white-space: normal;
	max-width: 100%;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	color: inherit;
	font: inherit;
}

img {
	border-style: none;
}

progress {
	vertical-align: baseline;
}

[aria-busy=true] {
	cursor: progress;
}

[aria-controls] {
	cursor: pointer;
}

[aria-disabled=true] {
	cursor: default;
}

html {
	font-size: 100%;
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:after, blockquote:before, q:after, q:before {
		content: "";
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

summary {
	display: block;
	list-style: none;
}

	summary::-webkit-details-marker {
		display: none;
	}

body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	text-rendering: auto;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", yugothic, "メイリオ", "Meiryo", sans-serif;
	color: #333;
	background-color: #fff;
	font-size: 1rem;
	line-height: 1.25 !important; /*DCR*/
	text-underline-offset: 3px;
}

* {
	box-sizing: border-box;
}

a {
	color: currentColor !important; /*DCR*/
	text-decoration: none;
}

	a:hover {
		text-decoration: underline;
	}

.l-wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
}

	.l-wrapper > main,
	.l-wrapper > .l-main {
		flex-grow: 1;
	}

.l-simple {
	max-width: 1280px;
	margin-inline: auto;
}

.l-simple__inner {
	padding-inline: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.l-simple.--sp-no-padding-inline .l-simple__inner {
		padding-inline: 0;
	}

	.l-simple.--sp-large-padding-inline .l-simple__inner {
		padding-inline: 1rem;
	}
}

.l-simple-footer {
	width: 100%;
	background: #f5f5f5;
	position: fixed;
	bottom: 0;
}

.l-simple-footer__inner {
	max-width: 1280px;
	margin-inline: auto;
	padding: 0.625rem 0.5rem;
	background: #f5f5f5;
}

.l-simple-footer__buttons {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}

.l-simple:has(~ .l-simple-footer) {
	margin-bottom: 6rem; /*DCR*/
}

.l-page-header {
	max-width: 1280px;
	padding-inline: 1rem;
	margin-inline: auto;
	margin-top: 1.5rem;
}

	.l-page-header > .c-error-message {
		margin-top: 1.5rem;
	}

@media print, screen and (min-width: 769px) {
	.l-page-header {
		margin-top: 2rem;
		padding-inline: 0.5rem;
	}

		.l-page-header > .c-error-message {
			margin-top: 2rem;
		}
}

.l-page-header.--product-detail {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1rem;
	align-items: center;
}

	.l-page-header.--product-detail .p-page-title {
		margin-right: auto;
	}

	.l-page-header.--product-detail .p-select-product-method {
		margin-left: auto;
	}

	.l-page-header.--product-detail .p-search-box {
		display: none;
	}

@media print, screen and (min-width: 769px) {
	.l-page-header.--product-detail .p-search-box {
		display: block;
	}
}

.l-page-header.--search {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

	.l-page-header.--search .p-search-hit-count {
		margin-left: auto;
	}

	.l-page-header.--search .p-search-box {
		width: 100%;
	}

@media print, screen and (min-width: 769px) {
	.l-page-header.--search {
		flex-wrap: nowrap;
		gap: 2rem;
	}

		.l-page-header.--search .p-search-hit-count {
			margin-left: 0;
			margin-right: auto;
		}

		.l-page-header.--search .p-search-box {
			width: auto;
		}
}

.l-page-header.--mypage, .l-page-header.--news, .l-page-header.--folder {
	display: flex;
}

	.l-page-header.--mypage .p-page-title, .l-page-header.--news .p-page-title, .l-page-header.--folder .p-page-title {
		margin-right: auto;
	}

.l-page-header.--mypage-edit, .l-page-header.--shortcut-edit, .l-page-header.--account {
	display: flex;
	align-items: center;
	gap: 1rem;
}

@media only screen and (max-width: 768.98px) {
	.l-page-header.--mypage-edit, .l-page-header.--shortcut-edit, .l-page-header.--account {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.5rem;
	}
}

@media print, screen and (min-width: 769px) {
	.l-page-header.--mypage-edit .c-button, .l-page-header.--shortcut-edit .c-button, .l-page-header.--account .c-button {
		margin-left: auto;
	}
}

.l-product-detail {
	max-width: 1280px;
	margin-inline: auto;
}

	.l-product-detail.--pc-float {
		margin-top: 1rem;
	}

.l-product-detail__inner {
	background: #f5f5f5;
	transition: border-bottom-color 0.3s;
	position: relative;
}

.l-product-detail__float-spec {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	display: none;
}

@media print, screen and (min-width: 769px) {
	.l-product-detail {
		padding-inline: 0.5rem;
	}

		.l-product-detail.--pc-float {
			position: sticky;
			top: 0;
			z-index: 80;
		}

	.l-product-detail__float-spec {
		display: block;
	}
}

.l-product-detail-footer {
	max-width: 1280px;
	margin-inline: auto;
}

.l-product-detail-footer__inner {
	position: relative;
	padding: 1.5rem 1rem;
}

.l-product-detail-footer > .p-step-progress {
	display: none;
}

@media print, screen and (min-width: 769px) {
	.l-product-detail-footer {
		position: sticky;
		bottom: 0;
		padding-inline: 0.5rem;
		margin-top: 6rem;
	}

	.l-product-detail-footer__inner {
		background: #f5f5f5;
		padding: 0.625rem 0.5rem;
	}

	.l-product-detail-footer.--is-floated .l-product-detail-footer__inner {
		border-top: 1px solid #e0e0e0;
	}

	.l-product-detail-footer > .p-step-progress {
		position: absolute;
		display: flex;
		bottom: calc(100% + 0.5rem);
		right: 0.5rem;
	}
}

[data-badge],
[data-inner-badge] {
	position: relative;
}

	[data-badge]::after,
	[data-inner-badge]::after {
		content: attr(data-badge);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 1.25rem;
		min-height: 1.25rem;
		padding: 0 0.25rem;
		border-radius: 1.25rem;
		background: #cd1b2f;
		font-family: "Outfit", sans-serif;
		font-size: 0.75rem;
		font-weight: 700;
		color: #fff;
		line-height: 1;
		position: absolute;
		right: -0.125rem;
		top: -0.25rem;
	}

	[data-badge].c-global-icon-button::after,
	[data-inner-badge].c-global-icon-button::after {
		right: 0rem;
		top: 0rem;
	}

	[data-inner-badge]::after {
		content: attr(data-inner-badge);
		margin-left: auto;
		position: static;
	}

.c-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0;
	padding: 0.5625rem 0.9375rem;
	background: #cd1b2f;
	border: 1px solid #cd1b2f;
	border-radius: 0.25rem;
	transition: 0.3s;
}

	.c-button:has(.c-button__on, .c-button__off) {
		display: grid;
		place-items: center;
		position: relative;
	}

		.c-button:has(.c-button__on, .c-button__off) .c-button__on, .c-button:has(.c-button__on, .c-button__off) .c-button__off {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			grid-area: 1/1;
			transition: opacity 0.3s ease;
		}

	.c-button:hover {
		text-decoration: none;
	}

	.c-button:not(:disabled):not(.--disabled):hover, .c-button:not(:disabled):not(.--disabled):active {
		background-color: #a51314;
		border-color: #a51314;
	}

	.c-button:disabled, .c-button.--disabled {
		background-color: #d6d6d6;
		border-color: #d6d6d6;
	}

	.c-button > img, .c-button__on > img, .c-button__off > img {
		width: 1rem;
	}

	.c-button > span, .c-button__on > span, .c-button__off > span {
		font-size: 0.875rem;
		font-weight: 700;
		color: #fff;
		text-align: left;
	}

	.c-button.--round {
		border-radius: 1.125rem;
	}

	.c-button.--large {
		padding-block: 0.6875rem;
	}

		.c-button.--large.--round {
			border-radius: 1.375rem;
		}

		.c-button.--large > span,
		.c-button.--large .c-button__on > span,
		.c-button.--large .c-button__off > span {
			font-size: 1rem;
		}

		.c-button.--large.--favorite {
			padding-block: 0.75rem;
		}

			.c-button.--large.--favorite > span,
			.c-button.--large.--favorite .c-button__on > span,
			.c-button.--large.--favorite .c-button__off > span {
				font-size: 0.875rem;
			}

	.c-button.--small {
		padding: 0.25rem 0.5rem;
	}

		.c-button.--small.--round {
			border-radius: 0.25rem;
		}

		.c-button.--small > span,
		.c-button.--small .c-button__on > span,
		.c-button.--small .c-button__off > span {
			font-weight: 400;
		}

	.c-button.--left {
		justify-content: flex-start;
	}

	.c-button.--secondary {
		background-color: #fff;
		border-color: #ccc;
	}

.p-bookmark-menu__block > .c-button {
	margin-right: initial;
}

.c-button.--secondary:not(:disabled):not(.--disabled):hover, .c-button.--secondary:not(:disabled):not(.--disabled):active {
	background-color: #f5f5f5;
	border-color: #ccc;
}

.c-button.--secondary > span,
.c-button.--secondary .c-button__on > span,
.c-button.--secondary .c-button__off > span {
	color: #333;
}

.c-button.--secondary:disabled > span,
.c-button.--secondary:disabled .c-button__on > span,
.c-button.--secondary:disabled .c-button__off > span,
.c-button.--secondary.--disabled > span,
.c-button.--secondary.--disabled .c-button__on > span,
.c-button.--secondary.--disabled .c-button__off > span {
	color: #d6d6d6;
}

.c-button:disabled .c-button__active-image, .c-button.--disabled .c-button__active-image {
	display: none;
}

.c-button:not(:disabled):not(.--disabled) .c-button__inactive-image {
	display: none;
}

.c-button.--on .c-button__off {
	opacity: 0;
}

.c-button:not(.--on) .c-button__on {
	opacity: 0;
}

.c-button.--max-w192 {
	max-width: 12rem;
	width: 100%;
}

.c-button-list {
	display: flex;
	gap: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.c-button-list.--sp-full-width {
		width: 100%;
	}

		.c-button-list.--sp-full-width > .c-button {
			flex-grow: 1;
		}
}

.c-radio {
	font-size: 0;
}

	.c-radio > input[type=radio] {
		width: 0;
		height: 0;
		opacity: 0;
	}

		.c-radio > input[type=radio] + span {
			display: inline-block;
			border: 2px solid #ccc;
			border-radius: 2px;
			padding: 0.375rem 0.625rem;
			font-size: 1rem;
			user-select: none;
			transition: background-color 0.3s;
		}

		.c-radio > input[type=radio]:checked + span {
			border-color: #333;
		}

		.c-radio > input[type=radio]:not(.--clicked):focus + span {
			border-color: #06f;
			background: #f5f5f5;
		}

		.c-radio > input[type=radio]:not(:disabled) + span:hover {
			background: #f5f5f5;
			cursor: pointer;
		}

.c-select-box {
	display: inline-flex !important; /*DCR*/
	align-items: center;
	gap: 0.5rem;
}

	.c-select-box > select {
		border: 1px solid #ccc;
		border-radius: 0.25rem;
		padding: 0.4375rem;
		padding-right: 2.5rem;
		color: #333;
		font-size: 1rem;
		line-height: 1.25;
		-webkit-appearance: none;
		appearance: none;
		background: url("../img/icon/angle-down-black.svg") right 1rem center/auto 44.4444444444% no-repeat;
	}

		.c-select-box > select::placeholder {
			color: #858585;
		}

		.c-select-box > select:invalid {
			border-color: #cd1b2f;
		}

	.c-select-box.--large > select {
		padding: 0.6875rem 0.9375rem;
		padding-right: 3.125rem;
		background-size: auto 36.3636363636%;
	}

	.c-select-box.--borderless > select {
		border-color: transparent;
		background-position-x: right;
		padding-right: 1.5rem;
	}

	.c-select-box.--angle-primary > select {
		background-image: url("../img/icon/angle-down.svg");
	}

	.c-select-box.--full-width > select {
		width: 100%;
	}

	.c-select-box.--bg-white > select:not(:disabled) {
		background-color: #fff;
	}

	.c-select-box.--is-invalid > select {
		border-color: #cd1b2f;
	}

	.c-select-box.--icon-folder {
		position: relative;
	}

		.c-select-box.--icon-folder::before {
			content: "";
			width: 1rem;
			height: 1rem;
			background: url("../img/icon/folder-black.svg") no-repeat center center/16px auto;
			position: absolute;
			left: 1rem;
			top: 50%;
			transform: translateY(-50%);
		}

		.c-select-box.--icon-folder > select {
			padding-left: 3rem;
		}

.c-input-text {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	position: relative;
}

	.c-input-text > input {
		border: 1px solid #ccc;
		border-radius: 0.25rem;
		padding: 0.4375rem;
		color: #333;
		font-size: 1rem;
		line-height: 1.25;
		width: 100%;
	}

		.c-input-text > input[type=number] {
			-moz-appearance: textfield;
		}

			.c-input-text > input[type=number]::-webkit-outer-spin-button, .c-input-text > input[type=number]::-webkit-inner-spin-button {
				-webkit-appearance: none;
				margin: 0;
			}

		.c-input-text > input[type=date] {
			width: 8.75rem;
			background: url("../img/icon/calendar-black.svg") right 0.75rem center/auto no-repeat;
		}

			.c-input-text > input[type=date]::-webkit-calendar-picker-indicator {
				opacity: 0;
				cursor: pointer;
			}

		.c-input-text > input::placeholder {
			color: #858585;
		}

		.c-input-text > input:user-invalid {
			border-color: #cd1b2f;
		}

		.c-input-text > input:focus {
			border-color: #333;
		}

	.c-input-text textarea {
		border: 1px solid #ccc;
		border-radius: 0.25rem;
		padding: 0.4375rem;
		color: #333;
		font-size: 1rem;
		line-height: 1.25;
		width: 100%;
	}

		.c-input-text textarea::placeholder {
			color: #858585;
		}

		.c-input-text textarea:user-invalid {
			border-color: #cd1b2f;
		}

		.c-input-text textarea:focus {
			border-color: #333;
		}

	.c-input-text.--is-invalid > input {
		border-color: #cd1b2f;
	}

	.c-input-text.--bg-white > input:not(:disabled) {
		background: #fff;
	}

	.c-input-text.--large > textarea {
		padding: 0.6875rem 0.9375rem;
	}

	.c-input-text.--large > input {
		padding: 0.6875rem 0.9375rem;
	}

		.c-input-text.--large > input[type=date] {
			padding-right: 0.4375rem;
			height: 2.75rem;
		}

	.c-input-text.--search > input {
		padding-right: 2.1875rem;
	}

	.c-input-text.--search.--large > input {
		padding-right: 2.6875rem;
	}

	.c-input-text.--search > button {
		position: absolute;
		top: 50%;
		right: 0;
		translate: 0 -50%;
		width: 2.25rem;
		height: 2.25rem;
		background: url("../img/icon/search-black.svg") center center/auto 66.6666666667% no-repeat;
		cursor: pointer;
		transition: opacity 0.3s;
	}

		.c-input-text.--search > button:hover, .c-input-text.--search > button:active {
			opacity: 0.6;
		}

	.c-input-text.--search.--large > button {
		width: 2.75rem;
		height: 2.75rem;
		background-size: auto 54.5454545455%;
		box-shadow: none !important; /*DCR*/
	}

:root {
	--range-bg-color-active: #858585;
	--range-bg-color-inactive: #f5f5f5;
}

.c-range {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.c-range__label {
	font-size: 1rem;
	min-width: 2.5rem;
	white-space: nowrap;
	flex: 0;
}

	.c-range__label.--min {
		text-align: right;
	}

.c-range > input[type=range] {
	flex: 1;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	border: none;
	border-radius: 0.25rem;
	background: #f5f5f5;
	height: 0.5rem;
}

	.c-range > input[type=range]::-webkit-slider-thumb {
		-webkit-appearance: none;
		appearance: none;
		width: 1.25rem;
		height: 1.25rem;
		border: none;
		border-radius: 50%;
		background: #333;
		box-shadow: none;
	}

	.c-range > input[type=range]::-webkit-slider-thumb {
		width: 1.25rem;
		height: 1.25rem;
		border: none;
		border-radius: 50%;
		background: #333;
		box-shadow: none;
	}

@media print, screen and (min-width: 769px) {
	.c-range > input[type=range]::-webkit-slider-thumb {
		width: 1.5rem;
		height: 1.5rem;
	}

	.c-range > input[type=range]::-webkit-slider-thumb {
		width: 1.5rem;
		height: 1.5rem;
	}
}

.c-checkbox {
	display: inline-flex;
	vertical-align: text-bottom;
	margin-bottom: initial !important; /*DCR*/
}

	.c-checkbox > input[type=checkbox] {
		width: 0;
		height: 0;
		opacity: 0;
	}

		.c-checkbox > input[type=checkbox] + span {
			cursor: pointer;
			user-select: none;
			display: inline-flex;
			gap: 0.5rem;
			font-size: 1rem;
		}

			.c-checkbox > input[type=checkbox] + span::before {
				content: "";
				width: 1.25rem;
				height: 1.25rem;
				border: 2px solid #ccc;
				border-radius: 0.25rem;
				transition: background-color 0.3s;
			}

			.c-checkbox > input[type=checkbox] + span:hover::before {
				background: #f5f5f5;
			}

		.c-checkbox > input[type=checkbox]:checked + span::before {
			border-color: #333;
			background-image: url("../img/icon/check-black.svg");
			background-position: center center;
			background-size: 66.6666666667% auto;
			background-repeat: no-repeat;
		}

	.c-checkbox.--large > input[type=checkbox] + span::before {
		width: 1.5rem;
		height: 1.5rem;
	}

	.c-checkbox.--bg-white > input[type=checkbox] + span::before {
		background-color: #fff;
	}

.c-switch {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.c-switch__label {
	font-size: 0.875rem;
}

.c-switch > label {
	font-size: 0;
	cursor: pointer;
}

	.c-switch > label > input[type=checkbox] {
		width: 0;
		height: 0;
		opacity: 0;
	}

		.c-switch > label > input[type=checkbox] + span {
			display: inline-flex;
			width: 3.25rem;
			border-radius: 6.25rem;
			background: #d6d6d6;
			transition: background-color 0.3s;
			padding: 2px;
			position: relative;
		}

			.c-switch > label > input[type=checkbox] + span::before {
				content: "";
				width: 1.75rem;
				height: 1.75rem;
				border-radius: 50%;
				background: #fff;
				transition: 0.3s;
			}

		.c-switch > label > input[type=checkbox]:checked + span {
			background-color: #cd1b2f;
		}

			.c-switch > label > input[type=checkbox]:checked + span::before {
				margin-left: calc(100% - 1.75rem);
			}

.c-label-switch {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.c-label-switch__label {
	font-size: 1rem;
	font-weight: 700;
}

.c-label-switch__list {
	display: flex;
	align-items: center;
	gap: 1rem;
}

	.c-label-switch__list > label > input[type=radio] {
		width: 0;
		height: 0;
		opacity: 0;
	}

		.c-label-switch__list > label > input[type=radio] + span {
			display: inline-block;
			font-size: 1rem;
			padding-block: 0.5rem 0.25rem;
			border-bottom: 0.25rem solid transparent;
			cursor: pointer;
			text-decoration: none;
			transition: opacity 0.3s;
			cursor: pointer;
		}

			.c-label-switch__list > label > input[type=radio] + span:hover {
				text-decoration: none;
				opacity: 0.6;
			}

		.c-label-switch__list > label > input[type=radio]:checked + span {
			border-bottom-color: #cd1b2f;
		}

.c-label-switch.--border-black .c-label-switch__list > label > input[type=radio]:checked + span {
	border-bottom-color: #333;
}

.c-link-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
	box-shadow: none; /*DCR*/
}

	.c-link-icon:hover {
		text-decoration: none;
		opacity: 0.6;
	}

.c-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.625rem;
	padding: 0.15625rem 0.25rem;
	background: #5c5c5c;
	color: #fff;
	border-radius: 0.25rem;
}

	.c-tag.--min-w80 {
		min-width: 5rem;
	}

	.c-tag.--large {
		font-size: 0.75rem;
		padding: 0.28125rem 0.5rem;
	}

	.c-tag.--required {
		border: 1px solid #cd1b2f;
		padding: 0.09375rem 0.1875rem;
		background: transparent;
		color: #cd1b2f;
	}

		.c-tag.--required.--large {
			font-size: 0.75rem;
			padding: 0.21875rem 0.4375rem;
		}

	.c-tag.--outlined {
		border: 1px solid #5c5c5c;
		padding: 0.09375rem 0.1875rem;
		background: transparent;
	}

		.c-tag.--outlined.--large {
			font-size: 0.75rem;
			padding: 0.21875rem 0.4375rem;
		}

.c-tab {
	display: flex;
	gap: 1.5rem;
	align-items: stretch;
	justify-content: flex-start;
}

.c-tab__item {
	font-size: 1rem;
	font-weight: 700;
	border-bottom: 0.25rem solid transparent;
	padding-block: 0.75rem;
	text-decoration: none;
	color: #333;
}

	.c-tab__item.--is-active {
		border-bottom-color: #cd1b2f;
	}

a.c-tab__item {
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
}

	a.c-tab__item:hover {
		text-decoration: none;
		opacity: 0.6;
	}

.c-tooltip {
	font-size: 0;
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	background: url("../img/icon/tooltip.svg") center center/contain no-repeat;
	transition: opacity 0.3s;
	cursor: pointer;
}

	.c-tooltip:hover {
		opacity: 0.6;
	}

.tippy-box {
	background: rgba(0, 0, 0, 0.8);
	border-radius: 0;
}

.tippy-content {
	font-size: 0.875rem;
	line-height: 1.25;
	padding: 0.3125rem 0.5rem;
}

.c-scroll-notice {
	padding: 1.03125rem 1.125rem 0.53125rem;
	background: rgba(0, 0, 0, 0.8);
	border-radius: 0.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	pointer-events: none;
	transition: opacity 0.5s;
}

	.c-scroll-notice.--hide {
		opacity: 0;
	}

	.c-scroll-notice::before {
		content: "";
		width: 2.625rem;
		height: 1.5rem;
		background: url("../img/icon/scroll-white.svg") center center/contain no-repeat;
		animation: shake 2s ease-in-out infinite;
		transform: translateX(-5px);
	}

	.c-scroll-notice::after {
		content: "スクロール";
		color: #fff;
		font-size: 0.75rem;
		white-space: nowrap;
	}

@media print, screen and (min-width: 769px) {
	.c-scroll-notice {
		display: none;
	}
}

@keyframes shake {
	50% {
		transform: translateX(5px);
	}
}

.c-modal {
	display: none;
}

	.c-modal.--is-shown {
		display: block;
	}

.c-modal__overlay {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(51, 51, 51, 0.8);
	display: flex;
	justify-content: center;
	align-items: flex-end;
	will-change: background-color;
}

.c-modal[aria-hidden=false] .c-modal__overlay {
	animation: mmfadeInOverlaySP 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal[aria-hidden=true] .c-modal__overlay {
	animation: mmfadeOutOverlaySP 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal__container {
	color: #333;
	background-color: #fff;
	width: 100%;
	max-height: 100dvh;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	overflow: hidden;
	will-change: transform;
}

@media only screen and (max-width: 768.98px) {
	.c-modal__container {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
}

.c-modal[aria-hidden=false] .c-modal__container {
	animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal[aria-hidden=true] .c-modal__container {
	animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal__container.--bg-gray {
	background-color: #f5f5f5;
}

.c-modal__container.--bg-dark {
	background-color: #333;
}

.c-modal__container.--border-radius-0 {
	border-radius: 0;
}

.c-modal__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #e0e0e0;
	flex: 0;
}

.c-modal__container.--bg-dark .c-modal__header {
	border-bottom-color: #474747;
	color: #fff;
}

.c-modal__title {
	font-size: 1rem;
	font-weight: 700;
	padding: 0.875rem 1rem;
}

.c-modal__header-close {
	background: transparent;
	border: 0;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("../img/icon/xmark-black.svg") center center/auto no-repeat;
}

.c-modal__container.--bg-dark .c-modal__header-close {
	background-image: url("../img/icon/xmark-white.svg");
}

.c-modal__content {
	flex: 1;
	padding: 1rem;
	overflow-y: auto;
}

	.c-modal__content.--no-padding {
		padding: 0;
		padding-bottom: 1px;
	}

.c-modal__footer {
	flex: 0;
	padding: 1rem;
	background: #f5f5f5;
}

.c-modal__buttons {
	display: flex;
	justify-content: center;
	gap: 0.25rem;
	margin-top: 1rem;
}

.c-modal__input {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

	.c-modal__input + .c-modal__input {
		margin-top: 1rem;
	}

.c-modal__input-label.--required {
	display: flex;
	gap: 0.5rem;
}

	.c-modal__input-label.--required::after {
		content: attr(data-text); /*DCR*/
		padding: 0.25rem 0.5rem;
		background: #cd1b2f;
		border-radius: 0.25rem;
		font-size: 0.75rem;
		color: #fff;
	}

.c-modal__input-registration {
	display: inline-flex;
	white-space: nowrap;
	font-size: 0.875rem;
	font-weight: 700;
}

.c-modal__input-body:has(*:nth-child(2)) {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.c-modal__input-desc {
	font-size: 0.875rem;
}

.c-modal__selecticon {
	display: flex;
	gap: 0.44375rem;
	flex-wrap: wrap;
}

.c-modal__selecticon-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 4rem;
	min-height: 4rem;
	padding: 1rem;
	border: 2px solid #ccc;
	border-radius: 0.25rem;
	transition: border 0.3s ease;
	font-size: 0;
	cursor: pointer;
}

	.c-modal__selecticon-item > input[type=radio] {
		width: 0;
		height: 0;
		opacity: 0;
	}

	.c-modal__selecticon-item img {
		width: 1.5rem;
	}

	.c-modal__selecticon-item:has(input:checked) {
		border-color: #cd1b2f;
	}

@media print, screen and (min-width: 769px) {
	.c-modal__overlay {
		align-items: center;
		will-change: opacity;
	}

	.c-modal[aria-hidden=false] .c-modal__overlay {
		animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
	}

	.c-modal[aria-hidden=true] .c-modal__overlay {
		animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
	}

	.c-modal__container {
		max-height: calc(100% - 10rem);
		max-width: 48rem;
	}

	.c-modal[aria-hidden=false] .c-modal__container {
		animation: none;
	}

	.c-modal[aria-hidden=true] .c-modal__container {
		animation: none;
	}

	.c-modal__title {
		font-size: 1.125rem;
		font-weight: 700;
		padding: 1.28125rem 2rem;
	}

	.c-modal__header-close {
		margin-right: 1rem;
	}

	.c-modal__content {
		padding: 2rem;
	}

	.c-modal__footer {
		padding: 0.625rem 0.5rem;
	}

	.c-modal__buttons {
		margin-top: 2rem;
	}
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes mmfadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes mmfadeInOverlaySP {
	from {
		background-color: transparent;
	}

	to {
		background-color: rgba(51, 51, 51, 0.8);
	}
}

@keyframes mmfadeOutOverlaySP {
	from {
		background-color: rgba(51, 51, 51, 0.8);
	}

	to {
		background-color: transparent;
	}
}

@keyframes mmslideIn {
	from {
		transform: translateY(100%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes mmslideOut {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(100%);
	}
}

/*DCR*/
/*.c-menu-popup {
	position: relative;
}*/

.c-menu-popup.--is-open .c-menu-popup__content {
	opacity: 1;
	visibility: visible;
}

.c-menu-popup__button {
	width: 1.75rem;
	padding: 0.25rem;
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
	border: none !important; /*DCR*/
	box-shadow: none !important; /*DCR*/
}

	.c-menu-popup__button:hover {
		text-decoration: none;
		opacity: 0.6;
	}

@media only screen and (max-width: 768.98px) {
	.c-menu-popup__button {
		display: none;
	}
}

.c-menu-popup__button * {
	pointer-events: none;
}

.c-menu-popup__button img {
	width: 100%;
	height: auto;
}

@media print, screen and (min-width: 769px) {
	.c-menu-popup__content {
		display: flex;
		flex-direction: column;
		border: 1px solid #ccc;
		border-radius: 0.25rem;
		background: #fff;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		position: absolute;
		z-index: 1;
		transform: translate(-100%);
	}
}

@media only screen and (max-width: 768.98px) {
	.c-menu-popup__content {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
	}
}

.c-menu-popup__content [data-tippy-root] * {
	white-space: nowrap;
}

.c-menu-popup__link {
	display: flex;
	gap: 0.5rem;
	white-space: nowrap;
	font-size: 0.875rem;
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
}

	.c-menu-popup__link:hover {
		text-decoration: none;
		opacity: 0.6;
	}

@media print, screen and (min-width: 769px) {
	.c-menu-popup__link {
		padding: 0.625rem 1rem;
	}
}

.c-menu-popup__link img {
	width: 1rem;
}

@media print, screen and (min-width: 769px) {
	.c-menu-popup__link + .c-menu-popup__link {
		border-top: 1px solid #ccc;
	}
}

.c-gallery-modal {
	display: none;
}

	.c-gallery-modal.--is-shown {
		display: block;
	}

.c-gallery-modal__overlay {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(51, 51, 51, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	will-change: background-color;
}

.c-gallery-modal[aria-hidden=false] .c-gallery-modal__overlay {
	animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-gallery-modal[aria-hidden=true] .c-gallery-modal__overlay {
	animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-gallery-modal__close {
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
}

	.c-gallery-modal__close::before {
		content: "✕";
		color: #fff;
	}

.c-gallery-modal__container {
	max-width: 1280px;
	max-height: 90%;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	align-items: center;
	overflow: hidden;
	will-change: transform;
}

.c-gallery-modal__content > iframe {
	width: 100vw;
	height: 100dvh;
}

.c-gallery-modal__image {
	max-width: 100%;
	max-height: 100%;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes mmfadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.c-copy {
	width: 1.5rem;
	height: 1.5rem;
	background: url("../img/icon/copy.svg") center center/contain no-repeat;
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
}

	.c-copy:hover {
		text-decoration: none;
		opacity: 0.6;
	}

.c-error-message {
	display: flex;
	gap: 0.5rem;
	color: #cd1b2f;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 700;
}

	.c-error-message::before {
		content: "";
		width: 1rem;
		height: 1rem;
		background: url("../img/icon/alert.svg") center center/contain no-repeat;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.c-error-message.--with-border {
		border: 1px solid currentColor;
		padding: 0.9375rem;
	}

.c-notice-message {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 700;
}

	.c-notice-message::before {
		content: "";
		width: 1rem;
		height: 1rem;
		background: url("../img/icon/check.svg") center center/contain no-repeat;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.c-notice-message.--with-border {
		border: 1px solid currentColor;
		padding: 0.9375rem;
	}

.c-on-off-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.c-on-off-switch__item {
	display: inline-flex;
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
}

	.c-on-off-switch__item:hover {
		text-decoration: none;
		opacity: 0.6;
	}

	.c-on-off-switch__item > span {
		font-size: 0.875rem;
		font-weight: 700;
		position: relative;
	}

	.c-on-off-switch__item > input[type=radio] {
		width: 0;
		height: 0;
		opacity: 0;
	}

		.c-on-off-switch__item > input[type=radio]:checked + span {
			color: #cd1b2f;
		}

			.c-on-off-switch__item > input[type=radio]:checked + span::before {
				content: "";
				width: 100%;
				height: 0.25rem;
				background: #cd1b2f;
				position: absolute;
				bottom: -0.5rem;
			}

.js-popup {
	position: relative;
}

.js-popup__content {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1;
	min-width: 24rem;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem;
	margin-top: 0.25rem;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.js-popup.--is-open .js-popup__content {
	opacity: 1;
	visibility: visible;
}

.c-popup-icon {
	font-size: 0;
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	background: url("../img/icon/popup.svg") center center/auto no-repeat;
	transition: opacity 0.3s;
	cursor: pointer;
}

	.c-popup-icon:hover {
		opacity: 0.6;
	}

.c-shortcut {
	display: flex;
	max-width: 7.5rem;
	border: 2px solid #ccc;
	border-radius: 0.25rem;
	cursor: pointer;
}

@media only screen and (max-width: 768.98px) {
	.c-shortcut {
		max-width: 100%;
	}
}

.c-shortcut__link {
	flex: 1;
	display: flex;
	text-decoration: none;
	transition: background 0.3s ease;
}

	.c-shortcut__link .c-shortcut__content {
		cursor: pointer;
	}

	.c-shortcut__link:hover {
		text-decoration: none;
	}

		.c-shortcut__link:hover .c-shortcut__content {
			background-color: #f5f5f5;
		}

.c-shortcut__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	padding: 1.125rem 0.375rem 0.375rem 0.375rem;
	background: #fff;
	transition: background 0.3s ease;
}

.c-shortcut__icon {
	width: 2rem;
	height: 2rem;
}

	.c-shortcut__icon img {
		width: 100%;
		height: auto;
	}

.c-shortcut__controller {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
}

@media only screen and (max-width: 768.98px) {
	.c-shortcut__controller .c-menu-popup {
		display: none;
	}
}

.c-shortcut__controller .c-menu-popup__button {
	width: 1.5rem;
	height: 1.5rem;
	padding: 0.125rem;
}

.c-shortcut__controller .c-shortcut__name-wrapper {
	justify-content: space-between;
}

.c-shortcut__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 0.875rem;
	word-break: break-all;
}

.c-shortcut__name-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.25rem;
	text-align: left;
}

.c-shortcut-list {
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	gap: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.c-shortcut-list {
		grid-template-columns: repeat(4, 1fr);
	}
}

.c-shortcut-list .c-shortcut {
	max-width: none;
}

.p-header {
	margin-inline: auto;
	width: 100%;
}

.p-header__inner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	background: #333;
	border-radius: 0.25rem;
}

.p-header__menu {
	display: flex;
	gap: 2rem;
	padding-left: 1.5rem;
}

.p-header__menu-item {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	padding-top: 1.375rem;
	padding-bottom: 1.125rem;
	border-bottom: 4px solid #333;
	text-decoration: none;
}

a.p-header__menu-item {
	text-decoration: none;
	transition: opacity 0.3s;
	cursor: pointer;
}

	a.p-header__menu-item:hover {
		text-decoration: none;
		opacity: 0.6;
	}

.p-header__menu-item.--is-active {
	border-color: #cd1b2f;
}

.p-header__right {
	display: flex;
	align-items: center;
	padding: 0.625rem 0.5rem;
	gap: 1rem;
}

.p-header__manual {
	color: #fff;
	font-size: 0.875rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
}

	.p-header__manual:hover {
		text-decoration: underline;
	}

@media only screen and (max-width: 768.98px) {
	.p-header__manual {
		text-decoration: underline;
	}
}

.p-header__select-count {
	margin-left: 1rem;
	margin-right: 0.25rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	vertical-align: sub;
}

@media print, screen and (min-width: 769px) {
	.p-header {
		max-width: 1440px;
		padding-inline: 0.5rem;
	}
}

.p-breadcrumb {
	margin-inline: 0.25rem;
	background: #333;
	border-radius: 0.25rem;
}

.p-breadcrumb__inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0.65625rem 1rem;
	gap: 0.5rem;
}

.p-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	color: #fff;
	font-size: 0.75rem;
	text-decoration: none;
}

	.p-breadcrumb__item:not(:first-child)::before {
		content: "";
		display: block;
		width: 0.75rem;
		height: 0.75rem;
		background: url(../img/icon/angle-right-gray.svg) center center no-repeat;
	}

@media print, screen and (min-width: 769px) {
	.p-breadcrumb {
		margin: 1rem 0 0;
		background-color: transparent;
	}

	.p-breadcrumb__inner {
		max-width: 1440px;
		margin-inline: auto;
		padding: 0 2rem;
	}

	.p-breadcrumb__item {
		gap: 0.5rem;
		color: #333;
	}
}

.p-page-title {
	font-size: 1.5rem;
	font-weight: 700;
}

/*DCR*/
/*.--mypage-edit > .p-page-title {
	margin-left: 10px;
}*/

@media print, screen and (min-width: 769px) {
	.p-page-title {
		font-size: 2rem;
	}
}

.p-page-title:has(.c-tooltip) {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
}

.p-footer {
	background: #f5f5f5;
	padding: 1rem;
}

.p-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	align-items: center;
}

.p-footer__link-list {
	display: flex;
	gap: 1rem;
	justify-content: center;
	align-items: center;
}

.p-footer__link {
	font-size: 0.875rem;
}

.p-footer__copyright {
	font-family: "Outfit", sans-serif !important; /*DCR*/
	font-weight: 500; /*DCR*/
	font-size: 0.625rem;
	color: #858585;
	line-height: 1;
	text-align: center;
}

@media print, screen and (min-width: 769px) {
	.p-footer {
		margin-top: 2rem;
	}

	.p-footer__inner {
		flex-direction: row;
		max-width: 1280px;
		margin-inline: auto;
		justify-content: space-between;
	}
}

.p-product-list {
	margin-block: 1.5rem;
}

.p-product-list__grade-header {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

	.p-product-list__grade-header > .p-search-box {
		width: 100%;
		padding-inline: 1rem;
	}

.p-product-list__grade-title-wrap {
	background: #f5f5f5;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-product-list__grade-title {
	font-size: 1.25rem;
	font-weight: 700;
	flex-shrink: 0;
}

.p-product-list__grade-note {
	font-size: 1rem;
}

.p-product-list__category-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.21875rem 1rem 0.96875rem;
}

.p-product-list__category-title {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-product-list__items {
	display: flex;
	flex-direction: column;
}

@media print, screen and (min-width: 769px) {
	.p-product-list {
		margin-block: 2rem;
	}

	.p-product-list__grade-header {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		background: #f5f5f5;
		border-radius: 0.25rem;
		padding: 1rem 2rem;
	}

		.p-product-list__grade-header > .p-search-box {
			width: auto;
			padding-inline: 0;
		}

	.p-product-list__grade-title-wrap {
		background: none;
		padding: 0;
		flex-direction: row;
		align-items: center;
		gap: 2rem;
	}

	.p-product-list__grade-title {
		font-size: 1.5rem;
	}

	.p-product-list__category {
		padding-inline: 2rem;
	}

	.p-product-list__category-header {
		justify-content: flex-start;
		padding: 1.5rem 0 1rem;
	}

		.p-product-list__category-header > .p-select-product-method {
			margin-left: 2rem;
			padding-left: 2rem;
			position: relative;
		}

			.p-product-list__category-header > .p-select-product-method::before {
				content: "";
				width: 1px;
				height: 1.5rem;
				background: #e0e0e0;
				position: absolute;
				top: 50%;
				left: 0;
				translate: 0 -50%;
			}

	.p-product-list__category-title {
		font-size: 1.25rem;
	}

	.p-product-list__items {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 0.5rem;
	}
}

.p-product-link {
	border-block: 1px solid #e0e0e0;
	display: flex;
	align-items: center;
	padding: 0.46875rem 1rem;
	min-height: 4.75rem;
	transition: 0.3s;
}

	.p-product-link:hover {
		opacity: 0.6;
		text-decoration: none;
	}

@media only screen and (max-width: 768.98px) {
	.p-product-link + .p-product-link {
		border-top: none;
	}
}

.p-product-link::after {
	content: "";
	width: 1rem;
	height: 1rem;
	background: url("../img/icon/link-black.svg") center center/contain no-repeat;
	margin-left: 1rem;
	flex-shrink: 0;
	flex-grow: 0;
}

.p-product-link__img-wrap {
	width: 5rem;
	height: 3.75rem;
	margin-right: 1rem;
	font-size: 0;
	flex-shrink: 0;
	flex-grow: 0;
}

.p-product-link__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p-product-link__title {
	flex: 1;
	font-size: 1rem;
}

@media print, screen and (min-width: 769px) {
	.p-product-link {
		border: 1px solid #e0e0e0;
		border-radius: 0.25rem;
		flex-direction: column;
		justify-content: center;
		padding: 0.4375rem 0.9375rem;
		min-height: 10.75rem;
	}

		.p-product-link:hover {
			border: 1px solid #333;
		}

		.p-product-link::after {
			display: none;
		}

	.p-product-link__img-wrap {
		width: 10rem;
		height: 7.5rem;
		margin-right: 0;
		margin-bottom: 1rem;
	}

	.p-product-link__title {
		text-align: center;
	}
}

@media print, screen and (min-width: 769px) {
	.p-search-box input {
		width: 22.5rem;
	}
}

.p-product-type-list {
	max-width: 1280px;
	padding-inline: 1rem;
	margin-inline: auto;
	margin-top: 1rem;
}

	.p-product-type-list > .c-tab,
	.p-product-type-list > .c-select-box {
		width: 100%;
	}

@media print, screen and (min-width: 769px) {
	.p-product-type-list {
		margin-top: 1.25rem;
		padding-inline: 0.5rem;
	}
}

.p-model-number-box {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	padding-bottom: 0.5rem;
	background: #f5f5f5;
	border-bottom: 1px solid #e0e0e0;
}

	.p-model-number-box.--no-bg-border {
		background: none;
		border-bottom: none;
	}

	.p-model-number-box > .c-switch {
		margin-left: 1rem;
	}

	.p-model-number-box > .c-button {
		margin-left: auto;
		margin-right: 1rem;
	}

.p-model-number-box__model-number {
	width: 100%;
	overflow: auto;
	padding: 1rem 1rem 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	transition: 0.3s;
	overflow-y: hidden;
}

html[lang=ja] .p-model-number-box__model-number.--show-text {
	padding-bottom: 4rem;
}

html[lang=en] .p-model-number-box__model-number.--show-text {
	padding-bottom: 5.125rem;
}

.p-model-number-box__model-number > * {
	transition: 0.3s;
}

.p-model-number-box__model-number > .c-tooltip {
	margin-top: 0.25rem;
	flex-shrink: 0;
}

.p-model-number-box__units {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	transition: padding-inline 0.3s;
}

.p-model-number-box__unit {
	position: relative;
}

	.p-model-number-box__unit.--template {
		display: none;
	}

.p-model-number-box__number {
	white-space: nowrap;
	font-family: "Outfit", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	padding-bottom: 0.25rem;
	border-bottom: 0.25rem solid transparent;
}

	.p-model-number-box__number.--no-text {
		padding-bottom: 0;
		border-bottom: none;
	}

	.p-model-number-box__number.--with-point {
		border-bottom-color: #cd1b2f;
	}

.p-model-number-box__text {
	font-size: 0.75rem;
	position: absolute;
	top: 100%;
	left: 50%;
	translate: -50% 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	white-space: nowrap;
	padding-top: 0.5rem;
	opacity: 0;
	transition: opacity 0.3s;
}

.p-model-number-box__model-number.--show-text .p-model-number-box__text {
	opacity: 1;
}

.p-model-number-box__text::before {
	content: "";
	width: 1px;
	height: 0.5rem;
	background: #c2c2c2;
	flex-shrink: 0;
}

html[lang=ja] .p-model-number-box__unit:nth-child(3n+2) .p-model-number-box__text::before {
	height: 1.5rem;
}

html[lang=ja] .p-model-number-box__unit:nth-child(3n) .p-model-number-box__text::before {
	height: 2.5rem;
}

html[lang=en] .p-model-number-box__unit:nth-child(4n+2) .p-model-number-box__text::before {
	height: 1.5rem;
}

html[lang=en] .p-model-number-box__unit:nth-child(4n+3) .p-model-number-box__text::before {
	height: 2.5rem;
}

html[lang=en] .p-model-number-box__unit:nth-child(4n) .p-model-number-box__text::before {
	height: 3.5rem;
}

.p-model-number-box__model-number-note {
	font-size: 0.75rem;
	padding-inline: 1rem;
}

.p-model-number-box__spec-controller {
	align-items: center;
	gap: 1rem;
	flex-shrink: 0;
	display: flex;
	position: relative;
}

.p-model-number-box__spec-controller-tooltip {
	background: #fff;
	border: 1px solid #333;
	padding: 0.1875rem 0.4375rem;
	font-size: 0.75rem;
	white-space: nowrap;
	position: absolute;
	right: calc(100% + 1rem);
}

	.p-model-number-box__spec-controller-tooltip::before {
		content: "";
		width: 0.5625rem;
		height: 1rem;
		position: absolute;
		top: 50%;
		left: 100%;
		translate: 0 -50%;
		background: url("../img/icon/baloon-angle.svg") center center/contain no-repeat;
	}

.p-model-number-box__spec-controller-button {
	width: 2rem;
	height: 2rem;
	background: #fff;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.3s;
}

	.p-model-number-box__spec-controller-button:disabled {
		cursor: default;
		opacity: 0.5;
	}

	.p-model-number-box__spec-controller-button::before {
		content: "";
		width: 50%;
		height: 50%;
		background: url("../img/icon/angle-down-black.svg") center center/contain no-repeat;
	}

.p-model-number-box__spec-controller.--is-opened .p-model-number-box__spec-controller-button::before {
	rotate: 180deg;
}

@media print, screen and (min-width: 769px) {
	.p-model-number-box {
		flex-wrap: nowrap;
		gap: 1rem;
		padding-bottom: 0;
		padding-right: 2rem;
		align-items: flex-start;
	}

		.p-model-number-box > .c-switch {
			flex-shrink: 0;
			margin-left: auto;
			margin-top: 2rem;
		}

	.p-model-number-box__model-number {
		flex-shrink: 1;
		padding: 1.5rem 2rem;
		gap: 1rem;
	}

	html[lang=ja] .p-model-number-box__model-number.--show-text {
		padding-bottom: 4.5rem;
	}

	html[lang=en] .p-model-number-box__model-number.--show-text {
		padding-bottom: 5.625rem;
	}

	.p-model-number-box__model-number > .c-tooltip {
		margin-top: 0.5rem;
	}

	.p-model-number-box__units {
		gap: 1rem;
	}

	.p-model-number-box__number {
		font-size: 2rem;
	}

	.p-model-number-box__spec-controller {
		margin-top: 1.8125rem;
	}

	.p-model-number-box__spec-controller-tooltip {
		opacity: 0;
		transition: opacity 0.3s;
		pointer-events: none;
	}

	.p-model-number-box__spec-controller.--is-shown .p-model-number-box__spec-controller-tooltip {
		opacity: 1;
	}
}

.p-product-spec {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-product-spec__col {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-product-spec__head {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
}

.p-product-spec__head-note {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #333;
	text-decoration: none;
	font-size: 0.875rem;
}

.p-product-spec__image {
	aspect-ratio: 2;
	background: #fff;
	border: 1px solid #e0e0e0;
}

	.p-product-spec__image > img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

		.p-product-spec__image > img[src=""] {
			visibility: hidden;
		}

.p-product-spec__table {
	width: 100%;
}

	.p-product-spec__table th, .p-product-spec__table td {
		font-size: 0.875rem;
		font-weight: 400;
		text-align: left;
		border-bottom: 1px solid #e0e0e0;
		padding-block: 0.5rem;
		padding-right: 1rem;
	}

	.p-product-spec__table tr:first-child th, .p-product-spec__table tr:first-child td {
		border-top: 1px solid #e0e0e0;
	}

	.p-product-spec__table th {
		width: 40%;
	}

@media print, screen and (min-width: 769px) {
	.p-product-spec {
		flex-direction: row;
		gap: 2rem;
		padding: 1rem 2rem;
		background: #f5f5f5;
	}

	.p-product-spec__col {
		flex: 1;
		gap: 2rem;
	}

		.p-product-spec__col.--image {
			flex: 0;
		}

	.p-product-spec__image {
		width: 20rem;
		border: none;
	}
}

.p-step {
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem;
	background: #f5f5f5;
}

	.p-step.--is-active {
		background: #fff;
		border-color: #cd1b2f;
		border-width: 2px;
	}

	.p-step.--template {
		display: none;
	}

.p-step__head {
	position: relative;
	list-style: none;
	display: flex;
	align-items: center;
	padding-block: 1rem;
	padding-inline: 1rem 2.5rem;
	cursor: pointer;
}

	.p-step__head::after {
		content: "";
		display: block;
		width: 1rem;
		height: 1rem;
		background: url("../img/icon/angle-down-black.svg") center center no-repeat;
		position: absolute;
		top: 50%;
		right: 1rem;
		translate: 0 -50%;
	}

.p-step[open] .p-step__head::after {
	background-image: url("../img/icon/angle-up-black.svg");
}

.p-step__step {
	width: 6.0625rem;
	flex-shrink: 0;
	flex-grow: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.25rem;
}

	.p-step__step::before {
		content: "";
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		background: url("../img/icon/check-circle-gray.svg") center center/contain no-repeat;
		margin-right: 0.25rem;
	}

.p-step.--is-set .p-step__step::before {
	background-image: url("../img/icon/check-circle.svg");
}

.p-step__step > span {
	font-family: "JetBrains Mono", monospace;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.p-step__title {
	flex-grow: 1;
	border-left: 1px solid #e0e0e0;
	padding-left: 1rem;
	font-size: 1rem;
	font-weight: 700;
}

.p-step__body {
	border-top: 1px solid #e0e0e0;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-step__next-step-button {
	width: 100%;
	display: none;
}

.p-step.--is-active .p-step__next-step-button {
	display: flex;
}

.p-step__next-step-button.--on-focus {
	border: 2px solid #06f;
}

.p-step__reset-button {
	width: 100%;
	display: none;
}

.p-step.--is-set .p-step__reset-button {
	display: flex;
}

@media print, screen and (min-width: 769px) {
	.p-step__head {
		padding-block: 0;
		padding-left: 0;
	}

	.p-step__step {
		width: 7.875rem;
		padding: 1.25rem 0.75rem 1.25rem 1.25rem;
		border-right: 1px solid #e0e0e0;
	}

		.p-step__step::before {
			width: 1.5rem;
			height: 1.5rem;
		}

	.p-step__title {
		padding-left: 1.5rem;
		border-left: none;
	}

	.p-step__body {
		border-top: none;
		padding: 0;
		display: flex;
		flex-direction: row-reverse;
		gap: 0;
		align-items: stretch;
	}

	.p-step__buttons {
		width: 7.875rem;
		padding: 0 0.5rem 0.5rem;
		flex-shrink: 0;
		border-right: 1px solid #e0e0e0;
		display: flex;
	}

		.p-step__buttons .c-button {
			margin-top: auto;
			width: 100%;
		}

	.p-step .p-step-form {
		padding: 0 1.5rem 1.5rem;
		border-left: none;
		flex-grow: 1;
	}
}

.p-step-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-inline: 0.5rem;
	margin-top: 1.5rem;
}

@media print, screen and (min-width: 769px) {
	.p-step-list {
		max-width: 1280px;
		padding-inline: 0.5rem;
		margin-inline: auto;
		margin-top: 2rem;
	}
}

.p-step-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-step-form__row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-step-form__label {
	font-size: 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.p-step-form__input {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

	.p-step-form__input.--range {
		flex-direction: column;
		gap: 0.5rem;
	}

.p-step-form__input-label {
	padding-block: 0.5rem;
	font-size: 1rem;
	line-height: 1.25;
}

.p-step-form__with-tooltip {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

@media print, screen and (min-width: 769px) {
	.p-step-form {
		gap: 0.5rem;
	}

	.p-step-form__row {
		flex-direction: row;
		gap: 1rem;
		align-items: flex-start;
	}

	.p-step-form__label {
		width: 9rem;
		flex-shrink: 0;
		padding-top: 0.5rem;
	}

	.p-step-form__input {
		flex-grow: 1;
	}

		.p-step-form__input.--range {
			flex-direction: row;
		}

			.p-step-form__input.--range .c-range {
				flex: 1;
				max-width: 31.25rem;
			}
}

.p-product-detail-sp-menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	background: #f5f5f5;
	width: 100%;
	padding: 1rem;
	position: sticky;
	bottom: 0;
	border-top: 1px solid #e0e0e0;
}

	.p-product-detail-sp-menu > .c-button {
		width: 100%;
	}

.p-product-detail-sp-menu__controller {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	cursor: pointer;
}

.p-product-detail-sp-menu__controller-text {
	font-size: 1rem;
}

.p-product-detail-sp-menu > .p-step-progress {
	position: absolute;
	bottom: calc(100% + 0.5rem);
	right: 0;
}

@media print, screen and (min-width: 769px) {
	.p-product-detail-sp-menu {
		display: none;
	}
}

.p-product-detail-menu {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 1rem;
}

.p-product-detail-menu__main {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.p-product-detail-menu__sub {
	display: none;
}

	.p-product-detail-menu__sub.--is-shown {
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
	}

html[lang=ja] .p-product-detail-menu__sub.--is-shown {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.25rem;
}

.p-product-detail-menu__favorite {
	margin-inline: auto;
}

@media print, screen and (min-width: 769px) {
	.p-product-detail-menu {
		flex-direction: row;
		gap: 0;
	}

	html[lang=en] .p-product-detail-menu {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.25rem;
	}

	.p-product-detail-menu__main {
		flex-direction: row;
	}

	html[lang=en] .p-product-detail-menu__main {
		width: 100%;
		justify-content: center;
	}

	.p-product-detail-menu__sub {
		margin-left: auto;
		display: flex;
		gap: 0.25rem;
	}

	html[lang=en] .p-product-detail-menu__sub {
		margin-left: 0;
	}

	.p-product-detail-menu__favorite {
		margin-inline: 0.25rem 0;
	}

	html[lang=en] .p-product-detail-menu__favorite {
		margin-inline: 0;
	}
}

.p-product-info {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-product-info__cad-wrap > canvas {
	width: 100%;
	height: 20rem;
}

.p-product-info__card-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-product-info__col {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media print, screen and (min-width: 769px) {
	.p-product-info {
		gap: 0.5rem;
		padding-inline: 0;
		padding-top: 0;
	}

	.p-product-info__card-list {
		flex-direction: row;
		gap: 0.5rem;
		padding-inline: 0.5rem;
	}

	.p-product-info__col {
		flex: 1;
		gap: 0.5rem;
	}
}

.p-product-info-card {
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem;
}

.p-product-info-card__title {
	border-bottom: 1px solid #e0e0e0;
	padding: 1.0625rem 0.9375rem;
	display: flex;
	align-items: center;
	font-size: 1rem;
}

.p-product-info-card__body {
	padding: 1rem 0.9375rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-product-info-card__property-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-product-info-card__property {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.5rem;
}

.p-product-info-card__property-name {
	font-size: 1rem;
	font-weight: 700;
	grid-column: span 2;
}

.p-product-info-card__property-value {
	font-size: 1rem;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

	.p-product-info-card__property-value.--model-number {
		font-family: "Outfit", sans-serif;
		font-size: 1.25rem;
		font-weight: 700;
	}

.p-product-info-card__order {
	border-top: 1px solid #e0e0e0;
	padding: 0.4375rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

.p-step-progress {
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 4rem;
	height: 4rem;
	margin-left: auto;
	border-radius: 0.5rem;
}

.p-step-progress__title {
	color: #adadad;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.625rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding-block: 0.3125rem;
}

.p-step-progress__steps {
	width: 2.5rem;
	height: 2.5rem;
	position: relative;
}

	.p-step-progress__steps::before {
		content: "";
		width: 141.4213562373%;
		height: 1px;
		background: #adadad;
		transform-origin: center center;
		rotate: -45deg;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}

.p-step-progress__current, .p-step-progress__total {
	position: absolute;
	width: 50%;
	text-align: center;
	color: #fff;
	font-family: "JetBrains Mono", monospace;
	font-size: 1rem;
	line-height: 1;
}

.p-step-progress__current {
	top: 0;
	left: 0;
}

.p-step-progress__total {
	bottom: 0;
	right: 0;
}

@media print, screen and (min-width: 769px) {
	.p-step-progress {
		width: 5rem;
		height: 5rem;
	}

	.p-step-progress__title {
		font-size: 0.75rem;
		padding-block: 0.375rem;
	}

	.p-step-progress__steps {
		width: 3rem;
		height: 3rem;
	}

	.p-step-progress__current, .p-step-progress__total {
		font-size: 1.25rem;
	}
}

.p-confirm-product-footer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

	.p-confirm-product-footer > .c-button {
		flex-grow: 1;
	}

@media print, screen and (min-width: 769px) {
	.p-confirm-product-footer > .c-button {
		flex-grow: 0;
	}
}

.p-select-conditions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1.5rem;
}

.p-select-conditions__main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-select-conditions__image-wrap {
	font-size: 0;
	text-align: center;
}

.p-select-conditions__image {
	max-width: 100%;
}

.p-select-conditions__buttons {
	display: flex;
	gap: 1rem;
	justify-content: center;
}

	.p-select-conditions__buttons > .c-button {
		flex-grow: 1;
	}

@media print, screen and (min-width: 769px) {
	.p-select-conditions {
		gap: 2rem;
		margin-top: 2rem;
		border: 1px solid #e0e0e0;
		border-radius: 0.5rem;
		padding: 2rem;
	}

	.p-select-conditions__main {
		flex-direction: row-reverse;
		gap: 2rem;
	}

	.p-select-conditions__image-wrap {
		flex-grow: 1;
		max-width: 40rem;
	}

	.p-select-conditions__buttons > .c-button {
		max-width: 16rem;
	}
}

.p-select-result-header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1.5rem;
}

.p-select-result-header__row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media only screen and (max-width: 768.98px) {
	.p-select-result-header__row > *:not(.p-bulk-action) {
		margin-inline: 1rem;
	}

	.p-select-result-header__row > .p-bulk-action {
		margin-inline: 0.5rem;
	}
}

.p-select-result-header__title {
	font-size: 1.25rem;
	font-weight: 700;
	flex-shrink: 0;
}

.p-select-result-header__note {
	font-size: 0.875rem;
}

.p-select-result-header__legend {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-shrink: 1;
}

.p-select-result-header__legend-label {
	font-size: 0.875rem;
	font-weight: 700;
	flex-shrink: 0;
}

.p-select-result-header__legend-items {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	flex-shrink: 1;
}

.p-select-result-header__legend-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}

	.p-select-result-header__legend-item::before {
		content: "";
		width: 1rem;
		height: 1rem;
		border: 1px solid #e0e0e0;
		flex-shrink: 0;
	}

	.p-select-result-header__legend-item.--matched::before {
		background: #cee8f5;
	}

	.p-select-result-header__legend-item.--unmatched::before {
		background: #f5f5c4;
	}

.p-select-result-header .c-select-box {
	flex-shrink: 0;
}

@media print, screen and (min-width: 769px) {
	.p-select-result-header {
		margin-top: 2rem;
	}

	.p-select-result-header__row {
		flex-direction: row;
		align-items: center;
	}

		.p-select-result-header__row > .c-select-box {
			margin-left: auto;
		}

		.p-select-result-header__row > .p-bulk-action {
			order: -1;
		}

	.p-select-result-header__title {
		font-size: 1.5rem;
		margin-right: 1rem;
	}

	.p-select-result-header__note {
		margin-left: auto;
	}

	.p-select-result-header__legend-items {
		flex-direction: row;
		gap: 1rem;
	}
}

.p-select-result-table {
	max-width: 100%;
	overflow-x: auto;
}

	.p-select-result-table.--cloned-table {
		overflow-x: hidden;
		position: fixed !important;
		margin-inline: auto;
		pointer-events: none;
		margin-top: 0;
		top: 0;
		left: 0;
		z-index: 1;
		display: none;
	}

	.p-select-result-table table {
		border-collapse: separate;
		min-width: 100%;
	}

	.p-select-result-table thead th {
		border: 1px solid #e0e0e0;
		border-right: none;
		vertical-align: middle;
		font-size: 0.875rem;
		font-weight: 400;
		background: #f5f5f5;
		padding: 0.5rem;
	}

		.p-select-result-table thead th:first-child {
			border-top-left-radius: 0.5rem;
		}

		.p-select-result-table thead th:last-child {
			border-top-right-radius: 0.5rem;
			border-right: 1px solid #e0e0e0;
		}

	.p-select-result-table tbody td {
		vertical-align: middle;
		text-align: center;
		padding: 0.25rem;
		white-space: nowrap;
		min-width: 9rem;
		font-size: 1rem;
		border-bottom: 1px solid #e0e0e0;
	}

	.p-select-result-table.--select-by-dimension tbody td {
		min-width: 5rem;
	}

	.p-select-result-table tbody td:first-child {
		border-left: 1px solid #e0e0e0;
	}

	.p-select-result-table tbody td:last-child {
		border-right: 1px solid #e0e0e0;
	}

	.p-select-result-table tbody td.--output {
		min-width: 3rem;
	}

	.p-select-result-table tbody td.--thumbnail {
		padding: 0;
		font-size: 0;
	}

		.p-select-result-table tbody td.--thumbnail > img {
			max-width: 9rem;
			max-height: 6rem;
		}

	.p-select-result-table tbody td.--matched {
		background: #cee8f5;
	}

	.p-select-result-table tbody td.--unmatched {
		background: #f5f5c4;
	}

	.p-select-result-table tr:last-child td:first-child {
		border-bottom-left-radius: 0.5rem;
	}

	.p-select-result-table tr:last-child td:last-child {
		border-bottom-right-radius: 0.5rem;
	}

@media print, screen and (min-width: 769px) {
	.p-select-result-table.--select-by-dimension {
		max-width: 89rem;
	}

	.p-select-result-table table {
		width: 100%;
	}
}

.p-select-result-footer {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.p-select-result-footer__row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media only screen and (max-width: 768.98px) {
	.p-select-result-footer__row > *:not(.p-bulk-action) {
		margin-inline: 1rem;
	}

	.p-select-result-footer__row > .p-bulk-action {
		margin-inline: 0.5rem;
	}
}

.p-select-result-footer__note {
	font-size: 0.875rem;
}

@media print, screen and (min-width: 769px) {
	.p-select-result-footer {
		margin-bottom: 2rem;
	}

	.p-select-result-footer__row {
		flex-direction: row;
	}

		.p-select-result-footer__row > .c-select-box {
			margin-left: auto;
		}

		.p-select-result-footer__row > .p-bulk-action {
			order: -1;
		}

	.p-select-result-footer__note {
		margin-left: auto;
	}
}

.p-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-form__row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-form__label {
	font-size: 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.p-form__input {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

	.p-form__input.--range {
		flex-direction: column;
		gap: 0.5rem;
	}

.p-form__with-tooltip {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.p-form__error-message {
	width: 100%;
	color: #cd1b2f;
	font-size: 0.875rem;
	font-weight: 700;
}

@media print, screen and (min-width: 769px) {
	.p-form {
		gap: 0.5rem;
	}

	.p-form__row {
		flex-direction: row;
		gap: 1rem;
		align-items: flex-start;
	}

	.p-form__label {
		width: 16rem;
		flex-shrink: 0;
		padding-top: 0.5rem;
	}

	.p-form__input {
		flex-grow: 1;
	}

		.p-form__input.--range {
			flex-direction: row;
		}

			.p-form__input.--range .c-range {
				flex: 1;
				max-width: 31.25rem;
			}
}

.p-cart-header {
	display: flex;
	align-items: flex-start;
	margin-top: 1.5rem;
	position: sticky;
	top: 0;
	z-index: 1;
}

@media print, screen and (min-width: 769px) {
	.p-cart-header {
		margin-top: 2rem;
		background: #fff;
	}

		.p-cart-header .p-cart-summary {
			margin-left: auto;
			margin-top: 0.25rem;
		}
}

.p-cart-section {
	margin-top: 24px;
}

.p-cart-section__header {
	margin-bottom: 1.5rem;
}

.p-cart-section__title {
	font-size: 1.25rem;
}

.p-cart-section .c-error-message {
	margin-top: 1rem;
}

@media print, screen and (min-width: 769px) {
	.p-cart-section {
		margin-top: 32px;
	}

	.p-cart-section__header {
		margin-bottom: 2rem;
	}

	.p-cart-section__title {
		font-size: 1.5rem;
	}
}

.p-cart-summary {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-cart-summary__text {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

html[lang=en] .p-cart-summary__text {
	flex-direction: column;
	gap: 0;
}

.p-cart-summary__count, .p-cart-summary__amount {
	font-size: 0.875rem;
}

	.p-cart-summary__count > strong, .p-cart-summary__amount > strong {
		font-family: "Outfit", sans-serif;
		font-size: 1.25rem;
		font-weight: 700;
		margin-inline: 0.5rem 0.25rem;
	}

.p-cart-summary__buttons {
	display: flex;
	gap: 0.25rem;
}

	.p-cart-summary__buttons > .c-button {
		flex-grow: 1;
	}

html[lang=en] .p-cart-summary__buttons {
	flex-direction: column;
}

@media print, screen and (min-width: 769px) {
	.p-cart-summary {
		flex-direction: row;
		justify-content: flex-end;
		align-items: center;
		gap: 1rem;
	}

	.p-cart-summary__count > strong, .p-cart-summary__amount > strong {
		font-size: 1.5rem;
		letter-spacing: 0.0625rem;
	}
}

.p-cart-sp-menu {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background: #f5f5f5;
	width: 100%;
	padding: 1rem;
	position: sticky;
	bottom: 0;
	border-top: 1px solid #e0e0e0;
}

@media print, screen and (min-width: 769px) {
	.p-cart-sp-menu {
		display: none;
	}
}

.p-cart-confirm {
	padding-inline: 0.5rem;
	margin-top: 1rem;
}

.p-cart-confirm__message {
	font-size: 1rem;
}

.p-cart-confirm .p-cart-order-info {
	margin-top: 1.5rem;
}

@media print, screen and (min-width: 769px) {
	.p-cart-confirm {
		padding-inline: 0;
		margin-top: 2rem;
	}

		.p-cart-confirm .p-cart-order-info {
			margin-top: 2rem;
		}
}

.p-cart-order-info__title {
	font-size: 1.25rem;
	font-weight: 700;
}

.p-cart-order-info__table {
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem;
	padding: 1.25rem 1rem;
	margin-top: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.p-cart-order-info__row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

	.p-cart-order-info__row dt {
		font-size: 0.875rem;
		font-weight: 700;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.p-cart-order-info__row dd {
		font-size: 1rem;
	}

@media print, screen and (min-width: 769px) {
	.p-cart-order-info__title {
		font-size: 1.5rem;
	}

	.p-cart-order-info__table {
		display: grid;
		grid-template-columns: repeat(4, auto);
		justify-content: left;
		gap: 0.5rem 1.5rem;
		align-items: center;
	}

	.p-cart-order-info__row {
		display: contents;
	}

		.p-cart-order-info__row dt {
			font-weight: 400;
		}

		.p-cart-order-info__row dd {
			padding-right: 10rem;
		}

		.p-cart-order-info__row.--full-width dd {
			grid-column: 2/-1;
		}
}

.p-bulk-action::after {
	content: "";
	display: block;
	width: 1rem;
	height: 0.5625rem;
	margin-left: 1rem;
	background: url("../img/icon/baloon-angle-down-bg-gray.svg") center center/contain no-repeat;
	position: relative;
	top: -1px;
}

.p-bulk-action__inner {
	display: flex;
	gap: 1rem;
	align-items: center;
	border: 1px solid #e0e0e0;
	padding: 0.4375rem;
	background: #f5f5f5;
	border-radius: 0.25rem;
}

.p-bulk-action.--arrow-top::after {
	content: none;
}

.p-bulk-action.--arrow-top::before {
	content: "";
	display: block;
	width: 1rem;
	height: 0.5625rem;
	margin-left: 1rem;
	background: url("../img/icon/baloon-angle-down-bg-gray.svg") center center/contain no-repeat;
	position: relative;
	top: -1px;
	background-image: url("../img/icon/baloon-angle-up-bg-gray.svg");
	top: auto;
	bottom: -1px;
}

.p-cart-item {
	display: flex;
	align-items: stretch;
	border: 1px solid #e0e0e0;
	border-radius: 0.5rem;
}

	.p-cart-item.--confirm {
		padding-bottom: 1rem;
	}

.p-cart-item__check {
	flex-shrink: 0;
	flex-grow: 0;
	padding: 0.4375rem;
	border-right: 1px solid #e0e0e0;
	cursor: pointer;
}

.p-cart-item__content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.p-cart-item__messages {
	border-bottom: 1px solid #e0e0e0;
	padding: 0.9375rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-cart-item__errors, .p-cart-item__notices {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-cart-item__header {
	padding: 0.4375rem 0.9375rem;
	border-bottom: 1px solid #e0e0e0;
	background: #f5f5f5;
	display: flex;
	align-items: center;
}

.p-cart-item__model-number {
	font-family: "Outfit", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
}

.p-cart-item__body {
	display: flex;
	flex-direction: column;
	padding: 1rem 1rem 0;
}

.p-cart-item__image {
	margin: 0 auto 1rem;
	width: 10rem;
	aspect-ratio: 160/120;
}

	.p-cart-item__image > img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

.p-cart-item__product-info {
	flex-grow: 1;
}

.p-cart-item__main-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

	.p-cart-item__main-info > div {
		display: flex;
		gap: 0.5rem;
		align-items: center;
	}

		.p-cart-item__main-info > div dt {
			font-size: 0.875rem;
			width: 5rem;
			flex-shrink: 0;
			flex-grow: 0;
		}

html[lang=en] .p-cart-item__main-info > div dt {
	width: 7rem;
}

.p-cart-item__main-info > div dd {
	font-size: 1rem;
}

.p-cart-item__tags {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.p-cart-item__detail {
	border-top: 1px solid #e0e0e0;
	margin-top: 1rem;
}

	.p-cart-item__detail[open] .p-cart-item__accordion-controller-off {
		display: none;
	}

	.p-cart-item__detail:not([open]) .p-cart-item__accordion-controller-on {
		display: none;
	}

.p-cart-item__accordion-controller {
	padding-block: 1rem;
	font-size: 0;
	cursor: pointer;
	user-select: none;
	display: inline-block;
}

	.p-cart-item__accordion-controller:hover {
		text-decoration: underline;
	}

.p-cart-item__accordion-controller-off, .p-cart-item__accordion-controller-on {
	font-size: 0.875rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: inherit;
}

	.p-cart-item__accordion-controller-off::after, .p-cart-item__accordion-controller-on::after {
		content: "";
		width: 1rem;
		height: 1rem;
		background: url("../img/icon/angle-down.svg") center center/contain no-repeat;
	}

	.p-cart-item__accordion-controller-on::after {
		background-image: url("../img/icon/angle-up.svg");
	}

.p-cart-item__sub-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-bottom: 1rem;
}

	.p-cart-item__sub-info > div {
		display: flex;
		gap: 0.5rem;
		align-items: center;
	}

		.p-cart-item__sub-info > div dt {
			font-size: 0.875rem;
			flex-shrink: 0;
			flex-grow: 0;
		}

		.p-cart-item__sub-info > div dd {
			font-size: 1rem;
		}

.p-cart-item__form-list {
	display: flex;
	flex-direction: column;
}

.p-cart-item__footer {
	padding: 1rem;
}

@media print, screen and (min-width: 769px) {
	.p-cart-item.--confirm {
		padding-bottom: 0;
	}

	.p-cart-item__header {
		min-height: 3.65625rem;
	}

	.p-cart-item__model-number {
		font-size: 1.5rem;
		letter-spacing: 0.0625rem;
	}

	.p-cart-item__body {
		flex-direction: row;
		align-items: stretch;
		padding: 0;
	}

	.p-cart-item__image {
		align-self: flex-start;
		margin-top: 1rem;
		margin-left: 1rem;
	}

	.p-cart-item__product-info {
		margin-top: 1rem;
		margin-left: 1rem;
	}

	.p-cart-item__form-list {
		flex-direction: row;
	}

		.p-cart-item__form-list > .p-cart-item-form {
			border-top: none;
			border-bottom: none;
		}

			.p-cart-item__form-list > .p-cart-item-form:last-child {
				border-right: none;
			}

	.p-cart-item__footer {
		display: none;
	}
}

.p-cart-item-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-block: 0.5rem 1.5rem;
}

@media print, screen and (min-width: 769px) {
	.p-cart-item-list {
		margin-bottom: 2rem;
	}
}

.p-cart-item-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

@media only screen and (max-width: 768.98px) {
	html[lang=en] .p-cart-item-action {
		flex-direction: column;
	}

		html[lang=en] .p-cart-item-action .c-button {
			width: 100%;
		}
}

.p-cart-item-action__links {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-left: auto;
}

.p-cart-item-action__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	user-select: none;
}

	.p-cart-item-action__link:hover {
		text-decoration: underline;
	}

	.p-cart-item-action__link > span {
		font-size: 0.875rem;
	}

.p-cart-item-form {
	display: flex;
	flex-direction: column;
	border: 1px solid #e0e0e0;
}

@media only screen and (max-width: 768.98px) {
	.p-cart-item-form + .p-cart-item-form {
		border-top: none;
	}
}

@media print, screen and (min-width: 769px) {
	.p-cart-item-form + .p-cart-item-form {
		border-left: none;
	}
}

@media only screen and (max-width: 768.98px) {
	.p-cart-item-form:first-child {
		border-top-left-radius: 0.25rem;
		border-top-right-radius: 0.25rem;
	}

	.p-cart-item-form:last-child {
		border-bottom-left-radius: 0.25rem;
		border-bottom-right-radius: 0.25rem;
	}
}

.p-cart-item-form__header {
	border-bottom: 1px solid #e0e0e0;
	padding: 0.4375rem;
	text-align: center;
	font-size: 0.875rem;
}

.p-cart-item-form__body {
	padding: 0.9375rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-cart-item-form__table {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

	.p-cart-item-form__table > div {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem;
		align-items: center;
		justify-content: space-between;
	}

		.p-cart-item-form__table > div > dt {
			font-size: 0.875rem;
			display: inline-flex;
			align-items: center;
		}

		.p-cart-item-form__table > div > dd {
			font-size: 1rem;
		}

			.p-cart-item-form__table > div > dd.--is-invalid {
				color: #cd1b2f;
			}

.p-cart-item-form__error-message {
	color: #cd1b2f;
	font-size: 0.875rem;
	font-weight: 700;
}

.p-cart-item-form__price {
	font-size: 1rem;
	margin-right: 0.25rem;
}

strong.p-cart-item-form__price {
	font-weight: 700;
}

@media print, screen and (min-width: 769px) {
	.p-cart-item-form {
		width: 12.5rem;
	}

	.p-cart-item-form__table > div.--pc-column {
		flex-direction: column;
		gap: 0.25rem;
		align-items: flex-start;
	}
}

.p-search-hit-count {
	font-size: 0.875rem;
}

@media print, screen and (min-width: 769px) {
	.p-search-hit-count {
		font-size: 1rem;
	}
}

.p-search-result {
	margin-top: 0.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #e0e0e0;
}

.p-search-result__header {
	display: flex;
	justify-content: flex-end;
	border-bottom: 1px solid #e0e0e0;
}

.p-search-result__header-col {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	font-size: 0.875rem;
}

	.p-search-result__header-col.--product-info {
		flex-grow: 1;
	}

@media only screen and (max-width: 768.98px) {
	.p-search-result__header-col:not(.--lead-time) {
		display: none;
	}
}

.p-search-result__header-col .c-on-off-switch {
	margin-left: 1rem;
}

.p-search-result__items {
	display: flex;
	flex-direction: column;
}

@media print, screen and (min-width: 769px) {
	.p-search-result {
		margin-top: 2rem;
		margin-bottom: 2rem;
		border: 1px solid #e0e0e0;
		border-radius: 0.5rem;
	}

	.p-search-result__header {
		justify-content: flex-start;
		background: #f5f5f5;
	}

	.p-search-result__header-col {
		width: 16rem;
		padding: 0.9375rem 0.5rem;
	}

		.p-search-result__header-col + .p-search-result__header-col {
			border-left: 1px solid #e0e0e0;
		}
}

.p-search-result-item {
	display: flex;
	gap: 1rem;
	padding: 1rem;
}

	.p-search-result-item + .p-search-result-item {
		border-top: 1px solid #e0e0e0;
	}

.p-search-result-item__thumbnail-wrap {
	width: 6rem;
	flex-shrink: 0;
	flex-grow: 0;
}

.p-search-result-item__thumbnail {
	max-width: 100%;
}

.p-search-result-item__info {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-search-result-item__product-info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.p-search-result-item__text {
	font-size: 0.875rem;
}

.p-search-result-item__model-number {
	font-family: "Outfit", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
}

.p-search-result-item__lead-time {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.p-search-result-item__lead-time-label {
	font-size: 0.75rem;
	color: #858585;
}

.p-search-result-item__lead-time-value {
	font-size: 0.875rem;
}

.p-search-result-item__actions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-search-result-item__actions-row {
	display: flex;
	gap: 1rem;
}

.p-search-result-item__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}

@media print, screen and (min-width: 769px) {
	.p-search-result-item {
		align-items: center;
	}

	.p-search-result-item__info {
		flex-direction: row;
		gap: 0;
		align-items: center;
	}

	.p-search-result-item__product-info {
		flex-grow: 1;
		flex-shrink: 1;
		gap: 0.5rem;
	}

	.p-search-result-item__model-number {
		font-size: 1.25rem;
	}

	.p-search-result-item__lead-time {
		width: 16rem;
		flex-grow: 0;
		flex-shrink: 0;
		align-items: center;
	}

	html[lang=en] .p-search-result-item__lead-time {
		align-items: flex-start;
	}

	.p-search-result-item__actions {
		width: 15rem;
		flex-grow: 0;
		flex-shrink: 0;
		align-items: flex-end;
		gap: 0.75rem;
		padding-top: 1.875rem;
	}
}

.p-news {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-news {
		margin-top: 1.5rem;
	}
}

.p-news-header {
	display: flex;
}

.p-news-body {
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem;
	overflow: hidden;
	container-type: inline-size;
}

.p-news-table {
	width: 100%;
}

/*DCR*/
/*@container (max-width: 768.98px) {
	.p-news-table {
		display: block;
	}
}*/

.p-news-table-thead {
	background: #f5f5f5;
}

@container (max-width: 768.98px) {
	.p-news-table-thead {
		display: none;
	}
}

.p-news-table-thead tr td,
.p-news-table-thead tr th {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.p-news-table-tbody tr:not(.--new) {
	background: #f5f5f5;
	color: #858585;
}

.p-news-table-tbody tr {
	border-top: 1px solid #e0e0e0;
}

@container (max-width: 768.98px) {
	.p-news-table-tbody tr {
		display: flex;
		flex-wrap: wrap;
		padding: 1rem;
		gap: 0.5rem 1rem;
		position: relative;
	}

		.p-news-table-tbody tr:has(.p-news-table__check) {
			padding-left: 3rem;
		}

		.p-news-table-tbody tr:first-child {
			border-top: none;
		}

		.p-news-table-tbody tr .p-news-table__check {
			position: absolute;
			left: 0.5rem;
			top: 50%;
			transform: translate(0, -50%);
		}

		.p-news-table-tbody tr .p-news-table__desc {
			width: 100%;
		}
}

.p-news-table th:not([class]), .p-news-table td:not([class]) {
	font-size: 0.875rem;
}

.p-news-table th {
	font-weight: normal;
	text-align: left;
}

.p-news-table th, .p-news-table td {
	padding: 0.75rem 0.5rem;
	vertical-align: middle;
}

	.p-news-table th:first-child, .p-news-table td:first-child {
		padding-left: 1rem;
	}

	.p-news-table th:last-child, .p-news-table td:last-child {
		padding-right: 1rem;
	}

@container (max-width: 768.98px) {
	.p-news-table th, .p-news-table td {
		padding: 0;
	}

		.p-news-table th:first-child, .p-news-table td:first-child {
			padding-left: 0;
		}

		.p-news-table th:last-child, .p-news-table td:last-child {
			padding-right: 0;
		}
}

.p-news-table__date, .p-news-table__category {
	white-space: nowrap;
}

.p-news-table__date {
	font-size: 0.875rem;
}

.p-news-table__category-title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 5rem;
	padding: 0.28125rem 0.625rem;
	background: #5c5c5c;
	border-radius: 0.25rem;
	font-size: 0.75rem;
	color: #fff;
}

@container (max-width: 768.98px) {
	.--new .p-news-table__category {
		display: flex;
		gap: 1rem;
	}

		.--new .p-news-table__category::after {
			content: "NEW";
			display: inline-flex;
			padding: 0.21875rem 0.5rem;
			border: 1px solid #cd1b2f;
			border-radius: 0.25rem;
			font-size: 0.75rem;
			color: #cd1b2f;
			box-sizing: border-box;
		}
}

.p-news-table__desc {
	font-size: 1rem;
	padding-right: 1rem !important; /*DCR*/
}

.--new .p-news-table__desc {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

	.--new .p-news-table__desc::after {
		content: "NEW";
		display: inline-flex;
		padding: 0.28125rem 0.5rem;
		border: 1px solid #cd1b2f;
		border-radius: 0.25rem;
		font-size: 0.75rem;
		color: #cd1b2f;
	}

@container (max-width: 768.98px) {
	.--new .p-news-table__desc::after {
		display: none;
	}
}

.p-folder {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-block: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-folder {
		margin-block: 1rem;
	}
}

.p-folder-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-header {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

		.p-folder-header > .c-select-box {
			display: block;
			width: 100%;
			padding: 0 0.5rem;
			margin-bottom: 1.5rem;
		}

			.p-folder-header > .c-select-box > select {
				width: 100%;
			}
}

.p-folder-body {
	container-type: inline-size;
}

@media print, screen and (min-width: 769px) {
	.p-folder-body {
		border: 1px solid #e0e0e0;
		border-radius: 0.25rem;
	}
}

.p-folder-table {
	width: 100%;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table {
		display: block;
	}
}

.p-folder-table-thead {
	background: #f5f5f5;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table-thead {
		display: none;
	}
}

.p-folder-table-thead tr td,
.p-folder-table-thead tr th {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table-tbody {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}
}

.p-folder-table-tbody tr {
	border-top: 1px solid #e0e0e0;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table-tbody tr {
		display: flex;
		flex-wrap: wrap;
		padding: 1rem;
		gap: 1rem;
		position: relative;
		border: 1px solid #e0e0e0;
		border-radius: 0.25rem;
	}

		.p-folder-table-tbody tr:has(.p-folder-table__check) {
			padding-left: 3.5rem;
		}

			.p-folder-table-tbody tr:has(.p-folder-table__check)::before {
				content: "";
				width: 1px;
				height: 100%;
				background: #e0e0e0;
				position: absolute;
				left: 2.5rem;
				top: 0;
			}

		.p-folder-table-tbody tr .p-folder-table__check {
			display: flex;
			width: 2.5rem;
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
		}

			.p-folder-table-tbody tr .p-folder-table__check label {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
			}
}

.p-folder-table th:not([class]), .p-folder-table td:not([class]) {
	font-size: 0.875rem;
}

.p-folder-table th {
	font-weight: normal;
	text-align: left;
}

.p-folder-table th, .p-folder-table td {
	padding: 0.75rem 0.5rem;
	vertical-align: middle;
}

	.p-folder-table th:first-child, .p-folder-table td:first-child {
		padding-left: 1rem;
	}

	.p-folder-table th:last-child, .p-folder-table td:last-child {
		padding-right: 1rem;
	}

@media only screen and (max-width: 768.98px) {
	.p-folder-table th, .p-folder-table td {
		padding: 0;
	}

		.p-folder-table th:first-child, .p-folder-table td:first-child {
			padding-left: 0;
		}

		.p-folder-table th:last-child, .p-folder-table td:last-child {
			padding-right: 0;
		}
}

.p-folder-table__label {
	width: 25%;
	font-size: 1.125rem;
	font-weight: 700;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table__label {
		width: 100%;
		font-size: 1rem;
	}

		/*DCR*/
		.p-folder-table__label > div {
			white-space: normal;
			word-break: break-word;
		}
}

.p-folder-table__memo {
	width: 75%;
}

	/*DCR*/
	.p-folder-table__memo > div {
		white-space: break-spaces;
		word-break: break-word;
	}

@media only screen and (max-width: 768.98px) {
	.p-folder-table__memo {
		width: 100%;
	}
}

.p-folder-table__date {
	font-size: 0.875rem;
	white-space: nowrap;
}

@media only screen and (max-width: 768.98px) {
	.p-folder-table__date {
		width: 100%;
	}
}

.p-folder-table__menu {
	min-width: 3.25rem;
	display: flex; /*DCR*/
	justify-content: center; /*DCR*/
	align-items: center; /*DCR*/
}

.p-bookmark {
	display: flex;
	gap: 1rem;
	margin-block: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark {
		flex-direction: column;
		margin-block: 1rem;
	}
}

@media print, screen and (min-width: 769px) {
	.p-bookmark__aside {
		max-width: 12.25rem;
	}
}

.p-bookmark__main {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-bookmark-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-header {
		flex-direction: column-reverse;
		align-items: flex-start;
	}
}

.p-bookmark-header__block {
	display: flex;
	gap: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-header__block {
		width: 100%;
		flex-direction: column;
		margin-bottom: 1.5rem;
		padding: 0 0.5rem;
	}

		.p-bookmark-header__block > * {
			display: block;
			width: 100%;
		}

			.p-bookmark-header__block > * > select {
				width: 100%;
			}
}

.p-bookmark-body {
	container-type: inline-size;
}

@media print, screen and (min-width: 769px) {
	.p-bookmark-body {
		overflow: hidden;
		border: 1px solid #e0e0e0;
		border-radius: 0.25rem;
	}
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu {
		margin-inline: 0.5rem;
		background: #333;
		border-radius: 0.25rem;
		overflow: hidden;
		color: #fff;
	}
}

.p-bookmark-menu__header {
	display: flex;
	gap: 1rem;
	padding: 0.75rem 1rem;
	background: url(../img/icon/angle-down-white.svg) right 1rem center/1rem no-repeat; /*DCR*/
}

.p-bookmark-menu[open] .p-bookmark-menu__header {
	background-image: url("../img/icon/angle-up-white.svg"); /*DCR*/
}

@media print, screen and (min-width: 769px) {
	.p-bookmark-menu__header {
		display: none;
	}
}

.p-bookmark-menu__body {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__body {
		padding: 1rem;
		border-top: 1px solid #474747;
	}
}

.p-bookmark-menu__block {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-bookmark-menu__label {
	font-size: 1rem;
	font-weight: 700;
}

.p-bookmark-menu__checklist {
	border: 1px solid #ccc;
	border-radius: 0.25rem;
	overflow: hidden;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__checklist {
		border-color: #474747;
	}
}

.p-bookmark-menu__checkbox {
	display: flex;
	vertical-align: text-bottom;
}

	.p-bookmark-menu__checkbox:not(:last-child) {
		border-bottom: 1px solid #ccc;
	}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__checkbox:not(:last-child) {
		border-color: #474747;
	}
}

.p-bookmark-menu__checkbox > input[type=checkbox],
.p-bookmark-menu__checkbox > input[type=radio] {
	width: 0;
	height: 0;
	opacity: 0;
}

	.p-bookmark-menu__checkbox > input[type=checkbox] + span,
	.p-bookmark-menu__checkbox > input[type=radio] + span {
		cursor: pointer;
		user-select: none;
		display: flex;
		flex: 1;
		justify-content: space-between;
		align-items: center;
		padding: 0.75rem 1rem;
		gap: 0.5rem;
		font-size: 0.875rem;
		transition: background 0.3s ease;
		white-space: normal; /*DCR*/
		word-break: break-word; /*DCR*/
	}

		.p-bookmark-menu__checkbox > input[type=checkbox] + span::after,
		.p-bookmark-menu__checkbox > input[type=radio] + span::after {
			content: "";
			flex-shrink: 0;
			width: 1rem;
			height: 1rem;
			background-image: url("../img/icon/check-dark-gray.svg");
			background-position: center center;
			background-size: 87.5% auto;
			background-repeat: no-repeat;
			transition: background 0.3s ease, opacity 0.3s ease;
		}

@media print, screen and (min-width: 769px) {
	.p-bookmark-menu__checkbox > input[type=checkbox] + span::after,
	.p-bookmark-menu__checkbox > input[type=radio] + span::after {
		opacity: 0.5;
	}
}

.p-bookmark-menu__checkbox > input[type=checkbox] + span:hover,
.p-bookmark-menu__checkbox > input[type=radio] + span:hover {
	background: #f5f5f5;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__checkbox > input[type=checkbox] + span:hover,
	.p-bookmark-menu__checkbox > input[type=radio] + span:hover {
		background-color: #474747;
	}
}

.p-bookmark-menu__checkbox > input[type=checkbox]:checked + span,
.p-bookmark-menu__checkbox > input[type=radio]:checked + span {
	background: #f5f5f5;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__checkbox > input[type=checkbox]:checked + span,
	.p-bookmark-menu__checkbox > input[type=radio]:checked + span {
		background-color: #474747;
	}
}

.p-bookmark-menu__checkbox > input[type=checkbox]:checked + span::after,
.p-bookmark-menu__checkbox > input[type=radio]:checked + span::after {
	background-image: url("../img/icon/check-black.svg");
}

@media print, screen and (min-width: 769px) {
	.p-bookmark-menu__checkbox > input[type=checkbox]:checked + span::after,
	.p-bookmark-menu__checkbox > input[type=radio]:checked + span::after {
		opacity: 1;
	}
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu__checkbox > input[type=checkbox]:checked + span::after,
	.p-bookmark-menu__checkbox > input[type=radio]:checked + span::after {
		background-image: url("../img/icon/check-white.svg");
	}
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-menu .c-button.--secondary {
		background-color: transparent;
		border-color: #474747;
	}

		.p-bookmark-menu .c-button.--secondary span {
			color: inherit;
			transition: color 0.3s ease;
		}

		.p-bookmark-menu .c-button.--secondary:hover span {
			color: #333;
		}
}

.p-bookmark-table {
	width: 100%;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table {
		display: block;
	}
}

.p-bookmark-table-thead {
	background: #f5f5f5;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table-thead {
		display: none;
	}
}

.p-bookmark-table-thead tr td,
.p-bookmark-table-thead tr th {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table-tbody {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}
}

.p-bookmark-table-tbody tr {
	border-top: 1px solid #e0e0e0;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table-tbody tr {
		display: flex;
		flex-wrap: wrap;
		padding: 1rem;
		gap: 0.5rem;
		position: relative;
		border: 1px solid #e0e0e0;
		border-radius: 0.25rem;
	}

		.p-bookmark-table-tbody tr:has(.p-bookmark-table__check) {
			padding-left: 3.5rem;
		}

			.p-bookmark-table-tbody tr:has(.p-bookmark-table__check)::before {
				content: "";
				width: 1px;
				height: 100%;
				background: #e0e0e0;
				position: absolute;
				left: 2.5rem;
				top: 0;
			}

		.p-bookmark-table-tbody tr .p-bookmark-table__check {
			display: flex;
			width: 2.5rem;
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
		}

			.p-bookmark-table-tbody tr .p-bookmark-table__check label {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
			}
}

.p-bookmark-table th:not([class]), .p-bookmark-table td:not([class]) {
	font-size: 0.875rem;
}

.p-bookmark-table th {
	font-weight: normal;
	text-align: left;
}

.p-bookmark-table th, .p-bookmark-table td {
	padding: 0.75rem 0.5rem;
	vertical-align: middle;
	word-break: break-all;
}

	.p-bookmark-table th:first-child, .p-bookmark-table td:first-child {
		padding-left: 1rem;
	}

	.p-bookmark-table th:last-child, .p-bookmark-table td:last-child {
		padding-right: 1rem;
	}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table th, .p-bookmark-table td {
		padding: 0;
	}

		.p-bookmark-table th:first-child, .p-bookmark-table td:first-child {
			padding-left: 0;
		}

		.p-bookmark-table th:last-child, .p-bookmark-table td:last-child {
			padding-right: 0;
		}
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table [data-splabel] {
		display: flex;
		align-items: baseline;
		gap: 0.5rem;
	}

		.p-bookmark-table [data-splabel]::before {
			flex-shrink: 0;
			content: attr(data-splabel);
			display: inline-flex;
			min-width: 7.6rem; /*DCR*/
			font-size: 0.875rem;
			white-space: nowrap;
		}
}

.p-bookmark-table__category {
	grid-area: category;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__category {
		display: none;
	}
}

.p-bookmark-table__category > * {
	white-space: nowrap;
}

.p-bookmark-table__block {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__info {
		width: 100%;
	}
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__info .p-bookmark-table__block {
		width: 100%;
		display: grid;
		align-items: center;
		grid-template: "category folder" auto "pagename pagename" auto "memo memo" auto/auto 1fr;
	}

		.p-bookmark-table__info .p-bookmark-table__block:has(.p-bookmark-table__memo:empty) {
			grid-template: "category folder" auto "pagename pagename" auto/auto 1fr;
		}
}

.p-bookmark-table__info .p-bookmark-table__category {
	display: block;
}

.p-bookmark-table__info .c-tag {
	display: none;
	grid-area: category;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__info .c-tag {
		display: inline-flex;
	}
}

.p-bookmark-table__folder {
	grid-area: folder;
	display: block;
	font-size: 0.75rem;
	color: #858585;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__folder {
		text-align: right;
	}
}

.p-bookmark-table__pagename {
	grid-area: pagename;
	display: block;
	padding-bottom: 1px;
	font-size: 1.125rem;
	font-weight: 700;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: underline;
	word-break: break-word; /*DCR*/
}

/*DCR*/
.p-bookmark-menu__header span {
	overflow: hidden;
	text-overflow: ellipsis;
	margin-right: 6px;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__pagename {
		margin-bottom: 0.5rem;
	}
}

.p-bookmark-table__pagename:hover {
	text-decoration: none;
}

.p-bookmark-table__memo {
	grid-area: memo;
	display: block;
	font-size: 0.875rem;
	word-break: break-word; /*DCR*/
	white-space: break-spaces; /*DCR*/
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__memo:empty {
		display: none;
	}
}

.p-bookmark-table__code {
	width: 13rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__code {
		width: 100%;
	}
}

.p-bookmark-table__product, .p-bookmark-table__model {
	font-size: 0.875rem;
}

.p-bookmark-table__date {
	width: 5.25rem;
	white-space: nowrap;
	font-size: 0.875rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__date {
		width: 100%;
	}
}

.p-bookmark-table__links {
	min-width: 7.125rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__links {
		width: 100%;
	}
}

.p-bookmark-table__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__buttons {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

.p-bookmark-table__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 4.5rem;
	padding: 0.3125rem 0.5rem;
	font-size: 0.875rem;
	font-weight: 700;
	border: 1px solid #ccc;
	border-radius: 0.25rem;
	transition: 0.3s;
}

	.p-bookmark-table__button:hover, .p-bookmark-table__button:active {
		text-decoration: none;
		background-color: #f5f5f5;
		border-color: #ccc;
	}

.p-bookmark-table__menu {
	min-width: 3.25rem;
}

@media only screen and (max-width: 768.98px) {
	.p-bookmark-table__menu {
		margin-top: 0.5rem;
	}
}

.p-mypage {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-block: 2rem; /*DCR*/
}

@media only screen and (max-width: 768.98px) {
	.p-mypage {
		margin-block: 1rem; /*DCR*/
	}
}

.p-mypage-block {
	display: flex;
	flex-direction: column;
	border: 1px solid #e0e0e0;
	border-radius: 0.25rem 0.25rem;
	overflow: hidden;
}

@media only screen and (max-width: 768.98px) {
	.p-mypage-block {
		width: 100% !important;
		height: auto; /*DCR*/
	}
}

.p-mypage-block__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 3.75rem;
	padding: 0.5rem;
	padding-left: 1rem;
	background: #f5f5f5;
	border-bottom: 1px solid #e0e0e0;
}

	.p-mypage-block__header:last-child {
		border: none;
	}

.p-mypage-block__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
}

.p-mypage-block__more {
	margin-top: auto;
	display: flex;
	justify-content: flex-end;
	padding: 1rem;
	border-top: 1px solid #e0e0e0;
	background: #fff;
	position: sticky;
	left: 0;
	bottom: 0;
}

	.p-mypage-block__more a {
		display: inline-flex;
		gap: 0.25rem;
		font-size: 0.75rem;
		white-space: nowrap;
	}

		.p-mypage-block__more a:hover {
			text-decoration: underline;
		}

.p-mypage-block__title {
	font-size: 1.25rem;
}

@media only screen and (max-width: 768.98px) {
	.p-mypage-block__title {
		font-size: 1.125rem;
	}
}

.--edit .p-mypage-block {
	resize: both;
}

/*DCR*/
/*.--shortcut {
	margin-left: 10px;
	margin-right: 10px;
}*/

/*DCR*/
/*.--edit .p-mypage-block:first-child {
	margin-left: 10px;
}*/

/*DCR*/
/*.--edit .p-mypage-block:last-child {
	margin-right: 10px;
}*/

@media only screen and (max-width: 768.98px) {
	.--edit .p-mypage-block {
		resize: none;
		margin-left: initial; /*DCR*/
		margin-right: inherit; /*DCR*/
	}
}

.--edit .p-mypage-block.--shortcut {
	resize: none;
}

	.--edit .p-mypage-block.--shortcut .p-mypage-block__title {
		color: #e0e0e0;
	}

.--edit .p-mypage-block .p-mypage-block__body {
	pointer-events: none;
	touch-action: none;
	color: #d6d6d6;
}

	.--edit .p-mypage-block .p-mypage-block__body .c-tag {
		background-color: #d6d6d6;
	}

.p-mypage-block__grid {
	display: flex;
	gap: 1rem;
	min-height: 10px; /*DCR*/
}

@media only screen and (max-width: 768.98px) {
	.p-mypage-block__grid {
		flex-direction: column;
	}
}

.p-mypage-block__grid > * {
	flex: auto; /*DCR*/
}

.--edit .p-mypage-block__grid > * {
	flex: auto;
}

.p-mypage-shortcut-slide {
	padding: 1rem 4rem 1.5rem;
	margin-bottom: 1rem;
}

@media only screen and (max-width: 768.98px) {
	.p-mypage-shortcut-slide {
		padding: 1rem;
	}
}

.p-mypage-shortcut-slide .splide__track {
	max-width: 71rem;
}

@media only screen and (max-width: 768.98px) {
	.p-mypage-shortcut-slide .splide__arrows {
		display: none;
	}
}

.p-mypage-shortcut-slide .splide__arrows .splide__arrow {
	width: 2rem;
	height: 2rem;
	border: 1px solid #ccc;
	background: #fff url("../../../../assets/img/icon/angle-right-black.svg") no-repeat center center/25% auto;
	transition: background 0.3s;
}

	.p-mypage-shortcut-slide .splide__arrows .splide__arrow:hover {
		background-color: #f5f5f5;
	}

.p-mypage-shortcut-slide .splide__arrows .splide__arrow--prev {
	transform: scale(-1, 1) translateY(-50%);
}

.p-mypage-shortcut-slide .splide__arrows .splide__arrow svg {
	display: none;
}

.p-mypage-shortcut-slide .splide__pagination {
	display: flex;
	bottom: 0;
	gap: 0.5rem;
	margin-top: 1rem;
}

	.p-mypage-shortcut-slide .splide__pagination li {
		display: inline-flex;
	}

.p-mypage-shortcut-slide .splide__pagination__page {
	margin: 0;
	width: 0.5rem;
	height: 0.5rem;
	background: #d6d6d6;
	border-radius: 0.25rem;
	opacity: 1;
}

	.p-mypage-shortcut-slide .splide__pagination__page.is-active {
		background: #333;
		transform: scale(1);
	}

.p-account {
	margin-block: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-account {
		margin-block: 1.5rem;
		margin-inline: -0.5rem;
	}
}

.p-account__input {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem;
	border-bottom: 1px solid #e0e0e0;
	font-size: 1rem;
}

	.p-account__input:first-child {
		border-top: 1px solid #e0e0e0;
	}

.p-account__input-label {
	font-weight: 700;
	min-width: 7.875rem;
}

.p-shortcut {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 2rem;
}

@media only screen and (max-width: 768.98px) {
	.p-shortcut {
		margin-top: 1.5rem;
		gap: 1.5rem;
	}
}

.p-shortcut-hidden__title {
	margin-bottom: 1.125rem;
	font-size: 1.5rem;
}

@media only screen and (max-width: 768.98px) {
	.p-shortcut-hidden__title {
		margin-bottom: 1rem;
		font-size: 1.25rem;
	}
}

.p-shortcut-hidden__area {
	position: relative;
}

.p-shortcut-hidden__default {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 6rem;
	padding: 1rem;
	border: 2px solid #ccc;
	font-size: 0.875rem;
	border-radius: 0.25rem;
}

.p-shortcut-hidden:not(:has(.c-shortcut)) .c-shortcut-list {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.p-shortcut-hidden:has(.c-shortcut) .p-shortcut-hidden__default {
	display: none;
}

.p-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	pointer-events: none;
	opacity: 0;
	transition: opacity 1s;
}

	.p-loading.--is-loading {
		opacity: 1;
		pointer-events: auto;
	}

.p-loading__text {
	font-family: "Outfit", sans-serif;
	font-size: 2.75rem;
	letter-spacing: 0.2em;
	color: #fff;
	animation: fadeToggle 2s infinite;
}

@keyframes fadeToggle {
	0%, 100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

@media only screen and (max-width: 768.98px) {
	.u-pc-only {
		display: none !important;
	}
}

@media print, screen and (min-width: 769px) {
	.u-sp-only {
		display: none !important;
	}
}

.u-text-bold {
	font-weight: 700;
}

.u-text-center {
	text-align: center;
}

.u-margin-left-auto {
	margin-left: auto;
}

.u-margin-right-auto {
	margin-right: auto;
}

.u-margin-inline-auto {
	margin-inline: auto;
}

.u-margin-top-16 {
	margin-top: 1rem;
}

.u-width-full {
	width: 100%;
}

@media only screen and (max-width: 768.98px) {
	.u-sp-width-full {
		width: 100%;
	}
}

@media print, screen and (min-width: 769px) {
	.u-pc-width-full {
		width: 100%;
	}
}

.u-flex {
	display: flex;
}

	.u-flex.--gap-4 {
		gap: 0.25rem;
	}

	.u-flex.--gap-8 {
		gap: 0.5rem;
	}

	.u-flex.--gap-16 {
		gap: 1rem;
	}

	.u-flex.--gap-24 {
		gap: 1.5rem;
	}

	.u-flex.--gap-32 {
		gap: 2rem;
	}

.u-flex-align-center {
	display: flex;
	align-items: center;
}

	.u-flex-align-center.--gap-4 {
		gap: 0.25rem;
	}

	.u-flex-align-center.--gap-8 {
		gap: 0.5rem;
	}

	.u-flex-align-center.--gap-16 {
		gap: 1rem;
	}

	.u-flex-align-center.--gap-24 {
		gap: 1.5rem;
	}

	.u-flex-align-center.--gap-32 {
		gap: 2rem;
	}

.u-inline-flex {
	display: inline-flex;
}

	.u-inline-flex.--gap-4 {
		gap: 0.25rem;
	}

	.u-inline-flex.--gap-8 {
		gap: 0.5rem;
	}

	.u-inline-flex.--gap-16 {
		gap: 1rem;
	}

	.u-inline-flex.--gap-24 {
		gap: 1.5rem;
	}

	.u-inline-flex.--gap-32 {
		gap: 2rem;
	}

.u-inline-flex-align-center {
	display: inline-flex;
	align-items: center;
}

	.u-inline-flex-align-center.--gap-4 {
		gap: 0.25rem;
	}

	.u-inline-flex-align-center.--gap-8 {
		gap: 0.5rem;
	}

	.u-inline-flex-align-center.--gap-16 {
		gap: 1rem;
	}

	.u-inline-flex-align-center.--gap-24 {
		gap: 1.5rem;
	}

	.u-inline-flex-align-center.--gap-32 {
		gap: 2rem;
	}

.u-flex-direction-column {
	display: flex;
	flex-direction: column;
}

	.u-flex-direction-column.--gap-4 {
		gap: 0.25rem;
	}

	.u-flex-direction-column.--gap-8 {
		gap: 0.5rem;
	}

	.u-flex-direction-column.--gap-16 {
		gap: 1rem;
	}

	.u-flex-direction-column.--gap-24 {
		gap: 1.5rem;
	}

	.u-flex-direction-column.--gap-32 {
		gap: 2rem;
	}

.u-inline-flex-direction-column {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
}

	.u-inline-flex-direction-column.--gap-4 {
		gap: 0.25rem;
	}

	.u-inline-flex-direction-column.--gap-8 {
		gap: 0.5rem;
	}

	.u-inline-flex-direction-column.--gap-16 {
		gap: 1rem;
	}

	.u-inline-flex-direction-column.--gap-24 {
		gap: 1.5rem;
	}

	.u-inline-flex-direction-column.--gap-32 {
		gap: 2rem;
	}

@media only screen and (max-width: 768.98px) {
	.u-sp-flex {
		display: flex;
	}

		.u-sp-flex.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-flex.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-flex.--gap-16 {
			gap: 1rem;
		}

		.u-sp-flex.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-flex.--gap-32 {
			gap: 2rem;
		}

	.u-sp-flex-align-center {
		display: flex;
		align-items: center;
	}

		.u-sp-flex-align-center.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-flex-align-center.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-flex-align-center.--gap-16 {
			gap: 1rem;
		}

		.u-sp-flex-align-center.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-flex-align-center.--gap-32 {
			gap: 2rem;
		}

	.u-sp-inline-flex {
		display: inline-flex;
	}

		.u-sp-inline-flex.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-inline-flex.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-inline-flex.--gap-16 {
			gap: 1rem;
		}

		.u-sp-inline-flex.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-inline-flex.--gap-32 {
			gap: 2rem;
		}

	.u-sp-inline-flex-align-center {
		display: inline-flex;
		align-items: center;
	}

		.u-sp-inline-flex-align-center.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-inline-flex-align-center.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-inline-flex-align-center.--gap-16 {
			gap: 1rem;
		}

		.u-sp-inline-flex-align-center.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-inline-flex-align-center.--gap-32 {
			gap: 2rem;
		}

	.u-sp-flex-direction-column {
		display: flex;
		flex-direction: column;
	}

		.u-sp-flex-direction-column.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-flex-direction-column.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-flex-direction-column.--gap-16 {
			gap: 1rem;
		}

		.u-sp-flex-direction-column.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-flex-direction-column.--gap-32 {
			gap: 2rem;
		}

	.u-sp-inline-flex-direction-column {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
	}

		.u-sp-inline-flex-direction-column.--gap-4 {
			gap: 0.25rem;
		}

		.u-sp-inline-flex-direction-column.--gap-8 {
			gap: 0.5rem;
		}

		.u-sp-inline-flex-direction-column.--gap-16 {
			gap: 1rem;
		}

		.u-sp-inline-flex-direction-column.--gap-24 {
			gap: 1.5rem;
		}

		.u-sp-inline-flex-direction-column.--gap-32 {
			gap: 2rem;
		}
}

/*DCR*/
.not-text-decoration {
	text-decoration: none !important;
}
