.pdr-search {

	max-width: 1100px;

	margin: 0 auto;

	padding: 0 1rem;

	box-sizing: border-box;

}



.pdr-search__form {

	margin-bottom: 1.5rem;

}



.pdr-search .pdr-search__title {

	margin: 0 0 16px !important;

	padding: 0 0 10px !important;

	border: none !important;

	border-bottom: 2px solid #0d6efd !important;

	border-radius: 0 !important;

	background: none !important;

	background-image: none !important;

	background-color: transparent !important;

	color: #333 !important;

	font-size: 1.4rem !important;

	font-weight: bold !important;

	line-height: 1.4 !important;

	text-align: center;

	text-shadow: none !important;

	box-shadow: none !important;

	word-break: break-word;

}



.pdr-search [data-pdr-form-foot] h3 {

	margin: 1.25rem 0 0.75rem !important;

	padding: 0 0 0 10px !important;

	border: none !important;

	border-left: 4px solid #0056b3 !important;

	background: none !important;

	color: #333 !important;

	font-size: 1.25rem !important;

	font-weight: bold !important;

	line-height: 1.4 !important;

}



.pdr-search__form > p {

	margin: 0 0 0.75rem;

	line-height: 1.6;

}



.pdr-search [data-pdr-form-foot] {

	margin-top: 0.75rem;

	line-height: 1.6;

}



.pdr-search [data-pdr-form-foot] img {

	display: block;

	width: 100%;

	max-width: 100%;

	height: auto;

	margin: 0 0 0.75rem;

}



.pdr-search .RedNote {

	border: solid 1px red;

	color: red;

	padding: 1rem;

	margin-bottom: 1rem;

	font-size: 0.8em;

}



.pdr-search .cta-banner {

	background: linear-gradient(135deg, #0d6efd, #0dcaf0);

	color: #fff;

	padding: 40px 20px;

	border-radius: 12px;

	text-align: center;

	margin-top: 1.5rem;

}



.pdr-search .cta-banner h3 {

	margin: 0 0 12px !important;

	padding: 0 !important;

	border: none !important;

	border-left: none !important;

	background: none !important;

	background-image: none !important;

	background-color: transparent !important;

	color: #fff !important;

	font-size: 1.25rem !important;

	font-weight: bold !important;

	line-height: 1.4 !important;

	text-align: center;

	text-shadow: none !important;

	box-shadow: none !important;

}



.pdr-search .cta-banner p {

	margin: 0 0 1rem;

	line-height: 1.6;

	color: #fff;

}



.pdr-search__cta-steps {

	display: flex;

	justify-content: center;

	align-items: center;

	flex-wrap: wrap;

	gap: 0.75rem 1rem;

	margin: 1.5rem 0;

	font-weight: 700;

	color: #fff;

}



.pdr-search__cta-step {

	text-align: center;

	line-height: 1.4;

}



.pdr-search__cta-step i {

	display: block;

	font-size: 1.75rem;

	margin-bottom: 0.35rem;

}



.pdr-search__cta-arrow {

	font-size: 1.25rem;

	line-height: 1;

}



.pdr-search__cta-btn {

	display: inline-block;

	margin-top: 0.5rem;

	padding: 0.65rem 1.35rem;

	border-radius: 4px;

	background: #fff;

	color: #0d6efd !important;

	font-size: 1rem;

	font-weight: 700;

	line-height: 1.4;

	text-decoration: none;

}



.pdr-search__cta-btn:hover {

	opacity: 0.92;

	color: #0a58ca !important;

}



.pdr-search__cta-btn i {

	margin-right: 0.35rem;

}



.pdr-search__label {

	display: block;

	margin-bottom: 0.5rem;

	font-weight: 700;

}



.pdr-search__controls {

	display: flex;

	flex-wrap: wrap;

	gap: 0.75rem;

}



.pdr-search__input {

	flex: 1 1 240px;

	min-width: 0;

	padding: 0.6rem 0.75rem;

	border: 1px solid #ccc;

	border-radius: 4px;

	font-size: 1rem;

}



.pdr-search__button {

	padding: 0.6rem 1.5rem;

	border: none;

	border-radius: 4px;

	background: #3466f9;

	color: #fff;

	font-size: 1rem;

	cursor: pointer;

}



.pdr-search__button:hover {

	opacity: 0.9;

}



.pdr-search__message {

	margin-bottom: 1rem;

	font-size: 0.95rem;

}



.pdr-search__message--error {

	color: #c00;

	border: 1px solid #c00;

	padding: 0.75rem 1rem;

	border-radius: 4px;

}



.pdr-search__message--info {

	color: #333;

}



.pdr-model-list__title {

	margin: 0 0 1rem;

	font-size: 1.25rem;

	font-weight: 700;

	line-height: 1.4;

	text-align: center;

	word-break: break-word;

}



.pdr-model-list__header {

	margin-bottom: 1.25rem;

}



.pdr-model-list__query,

.pdr-model-list__count {

	margin: 0 0 0.5rem;

	font-size: 1rem;

}



.pdr-model-list__count {

	font-weight: 700;

}



.pdr-model-list__notices {

	margin: 0.75rem 0 1rem;

	padding: 0.75rem 1rem;

	background: #f7f7f7;

	border: 1px solid #ddd;

	border-radius: 4px;

}



.pdr-model-list__notice {

	margin: 0 0 0.35rem;

	font-size: 0.9rem;

	line-height: 1.5;

}



.pdr-model-list__notice:last-child {

	margin-bottom: 0;

}



.pdr-model-list__sort {

	display: flex;

	align-items: center;

	gap: 0.5rem;

	margin-top: 1rem;

}



.pdr-model-list__sort-label {

	font-size: 0.9rem;

	font-weight: 700;

}



.pdr-model-list__sort-select {

	padding: 0.35rem 0.5rem;

	border: 1px solid #ccc;

	border-radius: 4px;

	font-size: 0.9rem;

}



.pdr-model-list__table-wrap {

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

}



.pdr-model-list__table {

	width: 100%;

	table-layout: fixed;

	border-collapse: collapse;

	border-spacing: 0;

	font-size: 16px !important;

	line-height: 1.35;

	background: #fff;

}



.pdr-search .pdr-model-list__table tbody {

	border-top: none !important;

	background-color: transparent !important;

}



.pdr-search .pdr-model-list__table tr:nth-of-type(2n+1) {

	background-color: transparent !important;

}



.pdr-search .pdr-model-list__table th,

.pdr-search .pdr-model-list__table td {

	padding: 0.35rem 0.5rem !important;

	border: 1px solid #e0e0e0 !important;

	vertical-align: middle;

	text-align: left !important;

	font-size: 16px !important;

	line-height: 1.35 !important;

	background-color: #fff;

}



.pdr-search .pdr-model-list__table th:nth-child(1),

.pdr-search .pdr-model-list__table td:nth-child(1) {

	width: 22%;

}



.pdr-search .pdr-model-list__table th:nth-child(2),

.pdr-search .pdr-model-list__table td:nth-child(2),

.pdr-search .pdr-model-list__table th:nth-child(3),

.pdr-search .pdr-model-list__table td:nth-child(3) {

	width: 39%;

}



.pdr-search .pdr-model-list__table th {

	background: #3466f9 !important;

	color: #fff !important;

	font-weight: 700;

	font-size: 16px !important;

	line-height: 1.3 !important;

	white-space: nowrap;

	text-align: center !important;

	border-color: rgba(255, 255, 255, 0.35) !important;

}



.pdr-model-list__year {

	white-space: nowrap;

}



.pdr-model-list__maker {

	display: block;

}



.pdr-model-list__maker-note {

	display: block;

	width: 100%;

	font-size: 16px;

	color: #666;

}



.pdr-search .pdr-model-list__table .pdr-old-spec,

.pdr-search .pdr-model-list__table .pdr-old-spec__item {

	font-size: 16px !important;

}



.pdr-model-list__model-link {

	display: inline-flex;

	align-items: center;

	gap: 0.35rem;

	padding: 0;

	border: none;

	background: none;

	color: #3466f9;

	font-size: inherit !important;

	font-weight: 700;

	line-height: 1.35;

	text-decoration: underline;

	cursor: pointer;

	white-space: nowrap;

	position: relative;

	z-index: 1;

}



.pdr-model-list__model-link-icon,

.pdr-link-icon {

	display: inline-flex;

	flex: 0 0 auto;

	align-items: center;

	justify-content: center;

	color: #3466f9;

}



.pdr-model-list__model-link-icon svg,

.pdr-link-icon svg {

	display: block;

	width: 1rem;

	height: 1rem;

}



.pdr-model-list__model-link:hover {

	color: #1a4ad9;

}



.pdr-model-list__oem-cell {

	color: #333;

	word-break: break-all;

}



.pdr-model-list__oldspec-cell {

	vertical-align: top;

}



.pdr-old-spec {

	padding: 0.65rem 0.75rem;

	border: 1px solid #e2e2e2;

	border-radius: 6px;

	background: #fafafa;

}



.pdr-old-spec__heading {

	margin: 0;

	padding-bottom: 0.35rem;

	border-bottom: 1px solid #e2e2e2;

	font-size: 0.95rem;

	font-weight: 700;

	line-height: 1.4;

	color: #333;

}



.pdr-old-spec__grid {

	display: grid;

	gap: 0.2rem 0.75rem;

	margin: 0;

	padding-top: 0.35rem;

}



.pdr-old-spec:not(.pdr-old-spec--single) .pdr-old-spec__grid {

	grid-template-columns: repeat(3, minmax(0, 1fr));

	grid-template-rows: repeat(var(--pdr-old-spec-rows-3, 2), auto);

	grid-auto-flow: column;

	align-items: start;

}



.pdr-old-spec--single {

	padding: 0;

	border: none;

	border-radius: 0;

	background: transparent;

}



.pdr-old-spec--single .pdr-old-spec__grid {

	grid-template-columns: 1fr;

	padding-top: 0;

}



.pdr-old-spec__item {

	font-size: inherit;

	line-height: 1.35;

	word-break: break-word;

}



@media (max-width: 600px) {

	.pdr-old-spec__grid {

		grid-template-columns: 1fr;

		grid-template-rows: none;

		grid-auto-flow: row;

	}

}



.pdr-detail__oldspec {

	margin-top: 0.75rem;

}



.pdr-detail__page-title {

	margin: 0 0 0.75rem;

	font-size: 1.25rem;

	font-weight: 700;

	line-height: 1.4;

	text-align: center;

	word-break: break-word;

}



.pdr-detail__spec-title {

	margin: 0 0 0.5rem;

	font-size: 1.15rem;

	font-weight: 700;

	line-height: 1.4;

}



.pdr-detail__oldspec-title {

	margin: 0 0 0.35rem;

	font-size: 0.95rem;

	font-weight: 700;

}



.pdr-detail__oldspec-body {

	margin: 0;

}



.pdr-search__candidate-list[hidden],

.pdr-search__replacement-cards[hidden] {

	display: none !important;

}



.pdr-model-list__table tbody tr[data-pdr-item-index] {

	cursor: pointer;

}



.pdr-detail__header {

	margin-bottom: 1rem;

}



.pdr-detail__back {

	display: inline-block;

	margin-bottom: 0.75rem;

	padding: 0.45rem 1rem;

	border: 1px solid #3466f9;

	border-radius: 4px;

	background: #fff;

	color: #3466f9;

	font-size: 0.9rem;

	cursor: pointer;

}



.pdr-detail__back:hover {

	background: #3466f9;

	color: #fff;

}



.pdr-detail__selected {

	margin: 0;

	font-size: 1rem;

	font-weight: 700;

}



.pdr-detail__empty {

	margin: 0;

	padding: 0.75rem 1rem;

	border: 1px solid #ccc;

	border-radius: 4px;

	background: #f7f7f7;

	font-size: 0.95rem;

}



.pdr-search__cards {

	display: grid;

	grid-template-columns: repeat(3, 1fr);

	gap: 1.25rem;

}



@media (max-width: 900px) {

	.pdr-search__cards {

		grid-template-columns: repeat(2, 1fr);

	}

}



@media (max-width: 600px) {

	.pdr-search__cards {

		grid-template-columns: 1fr;

	}

}



.pdr-card {

	display: flex;

	flex-direction: column;

	height: 100%;

	border: 1px solid #ddd;

	border-radius: 6px;

	overflow: hidden;

	background: #fff;

}



.pdr-card--unregistered {

	border-color: #c90;

	background: #fffdf5;

}



.pdr-card__image {

	text-align: center;

	padding: 1rem;

	background: #f8f8f8;

}



.pdr-card__image img {

	max-width: 100%;

	max-height: 200px;

	height: auto;

}



.pdr-card__body {

	flex: 1;

	display: flex;

	flex-direction: column;

	padding: 1rem;

}



.pdr-search .pdr-card__name {

	margin: 0 0 0.5rem !important;

	padding: 0 !important;

	border: none !important;

	border-bottom: none !important;

	font-size: 15px !important;

	font-weight: 700;

	line-height: 1.4;

	min-height: calc(15px * 1.4 * 2);

	display: -webkit-box;

	-webkit-box-orient: vertical;

	-webkit-line-clamp: 2;

	line-clamp: 2;

	overflow: hidden;

	color: #010101;

}



.pdr-search .pdr-card__name *,

.pdr-search .pdr-card__name h3,

.pdr-search .pdr-card__name li,

.pdr-search .pdr-card__name a {

	margin: 0 !important;

	padding: 0 !important;

	border: none !important;

	font-size: 15px !important;

	font-weight: inherit;

	line-height: inherit;

	color: inherit;

}



.pdr-search .pdr-card__name li.productName {

	height: auto !important;

	min-height: 0 !important;

	list-style: none;

}



.pdr-card__status {

	margin: 0 0 0.5rem;

	font-size: 0.9rem;

	font-weight: 700;

	color: #a60;

}



.pdr-card__construction {

	display: flex;

	align-items: center;

	gap: 0.65rem;

	margin-top: auto;

	padding: 0.75rem;

	border-radius: 4px;

	background: #fff0f6;

}



.pdr-card__construction-icon {

	flex: 0 0 auto;

	display: flex;

	align-items: center;

	justify-content: center;

	width: 2.5rem;

	height: 2.5rem;

	border-radius: 50%;

	background: #ff1493;

	color: #fff;

}



.pdr-card__construction-icon svg {

	display: block;

	width: 1.35rem;

	height: 1.35rem;

}



.pdr-card__construction-body {

	display: flex;

	flex-direction: column;

	gap: 0.15rem;

	min-width: 0;

}



.pdr-card__construction-label {

	font-size: 0.8rem;

	font-weight: 700;

	color: #333;

}



.pdr-card__construction-value {

	font-size: 1.45rem;

	font-weight: 700;

	line-height: 1.2;

	color: #c00;

}



.pdr-search .pdr-card__link {

	display: flex;

	align-items: center;

	justify-content: center;

	gap: 0.4rem;

	width: 100%;

	margin-top: 0.75rem;

	padding: 0.7rem 1rem;

	box-sizing: border-box;

	border: 2px solid #3466f9;

	border-radius: 6px;

	background: #fff;

	color: #3466f9 !important;

	font-size: 0.9rem;

	font-weight: 700;

	line-height: 1.3;

	text-align: center;

	text-decoration: none !important;

	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;

}



.pdr-search .pdr-card__link::after {

	content: "→";

	font-size: 1rem;

	line-height: 1;

	transition: transform 0.2s ease;

}



.pdr-search .pdr-card__link:hover {

	background: #3466f9;

	border-color: #3466f9;

	color: #fff !important;

	box-shadow: 0 4px 14px rgba(52, 102, 249, 0.28);

	text-decoration: none !important;

}



.pdr-search .pdr-card__link:hover::after {

	transform: translateX(4px);

}



.pdr-card__model {

	font-size: 1rem;

	font-weight: 400;

	color: #333;

}



.pdr-card__maker,

.pdr-card__model,

.pdr-card__list-price,

.pdr-card__sale-price,

.pdr-card__discount,

.pdr-card__note {

	margin: 0 0 0.5rem;

	font-size: 0.9rem;

}



.pdr-card__loading {

	margin: 0;

	padding: 0.75rem 0;

	font-size: 0.9rem;

	color: #666;

}



.pdr-group__cards-host {

	margin-top: 0.25rem;

	padding-top: 0.75rem;

	border-top: 1px dashed #ddd;

}



.pdr-group__cards-host .pdr-search__cards {

	margin-top: 0;

}



.pdr-group {

	margin-bottom: 2rem;

	scroll-margin-top: 1rem;

}



.pdr-search .pdr-group__title {

	margin: 0 0 0.85rem !important;

	padding: 0.7rem 1rem !important;

	border: 1px solid #e2e2e2 !important;

	border-radius: 6px;

	background: #f7f7f7 !important;

	font-size: 1.15rem !important;

	font-weight: 700;

	line-height: 1.45;

	color: #333 !important;

}



.pdr-group__panel {

	padding: 1rem 1.15rem 1.15rem;

	border: 1px solid #e2e2e2;

	border-radius: 6px;

}



.pdr-group__panel-head {

	display: flex;

	align-items: center;

	gap: 0.5rem;

	margin-bottom: 0.85rem;

	padding-bottom: 0.6rem;

	border-bottom: 1px solid #e2e2e2;

}



.pdr-group__panel-icon {

	flex: 0 0 auto;

	display: flex;

	align-items: center;

	justify-content: center;

	width: 1.75rem;

	height: 1.75rem;

	border-radius: 50%;

	background: #999;

	color: #fff;

}



.pdr-group__panel-icon svg {

	display: block;

	width: 1.1rem;

	height: 1.1rem;

}



.pdr-group__panel-label {

	font-size: 1.15rem;

	font-weight: 700;

	color: #333;

	letter-spacing: 0.04em;

}



.pdr-group__caution {

	margin-bottom: 0.85rem;

	padding: 0.75rem 0.85rem;

	border: 1px solid #e2e2e2;

	border-radius: 4px;

	background: #fff;

}



.pdr-group__caution-body {

	margin: 0;

	font-size: 18px;

	line-height: 1.6;

	color: #333;

}



.pdr-group__empty {

	margin: 0;

	font-size: 0.9rem;

	color: #666;

}



.pdr-group-nav {

	margin-bottom: 1.25rem;

	padding: 0.65rem 0.85rem;

	border: 1px solid #e2e2e2;

	border-radius: 4px;

	background: #f7f7f7;

}



.pdr-group-nav__list {

	display: flex;

	flex-wrap: wrap;

	justify-content: center;

	gap: 0.5rem 1.25rem;

	margin: 0;

	padding: 0;

	list-style: none;

}



.pdr-group-nav__link {

	display: inline-flex;

	align-items: center;

	gap: 0.35rem;

	font-size: 1.05rem;

	color: #3466f9;

	text-decoration: underline;

	line-height: 1.4;

}



.pdr-group-nav__link:hover {

	text-decoration: underline;

}



/* --- レスポンシブ --- */

@media (max-width: 900px) {

	.pdr-old-spec:not(.pdr-old-spec--single) .pdr-old-spec__grid {

		grid-template-columns: repeat(2, minmax(0, 1fr));

		grid-template-rows: repeat(var(--pdr-old-spec-rows-2, 3), auto);

	}

	.pdr-search .pdr-group__title {

		font-size: 1.05rem !important;

		padding: 0.6rem 0.85rem !important;

	}

	.pdr-group__panel-label {

		font-size: 1.05rem;

	}

}



@media (max-width: 600px) {

	.pdr-search {

		padding: 0 0.75rem;

	}

	.pdr-search__title,

	.pdr-model-list__title,

	.pdr-detail__page-title {

		font-size: 1.1rem;

	}

	.pdr-search__controls {

		flex-direction: column;

		align-items: stretch;

	}

	.pdr-search__input,

	.pdr-search__button {

		width: 100%;

		flex: 1 1 auto;

	}

	.pdr-model-list__header {

		margin-bottom: 1rem;

	}

	.pdr-model-list__notices {

		padding: 0.65rem 0.75rem;

	}

	.pdr-model-list__notice {

		font-size: 0.85rem;

	}

	.pdr-model-list__table {

		font-size: 16px !important;

		min-width: 300px;

	}

	.pdr-search .pdr-model-list__table th,

	.pdr-search .pdr-model-list__table td {

		padding: 0.4rem 0.45rem !important;

		font-size: 16px !important;

	}

	.pdr-search .pdr-model-list__table th {

		white-space: normal;

		font-size: 16px !important;

	}

	.pdr-model-list__model-link {

		white-space: normal;

		font-size: inherit !important;

	}

	.pdr-old-spec:not(.pdr-old-spec--single) {

		padding: 0.5rem 0.6rem;

	}

	.pdr-old-spec__heading {

		font-size: 0.9rem;

	}

	.pdr-detail__back {

		display: block;

		width: 100%;

		box-sizing: border-box;

		text-align: center;

	}

	.pdr-detail__oldspec {

		margin-top: 0.65rem;

	}

	.pdr-group-nav {

		padding: 0.6rem 0.75rem;

	}

	.pdr-group-nav__list {

		flex-direction: column;

		align-items: center;

		gap: 0.65rem;

	}

	.pdr-group-nav__link {

		justify-content: center;

		max-width: 100%;

		font-size: 0.95rem;

		word-break: break-word;

		text-align: center;

	}

	.pdr-group-nav__item {

		width: 100%;

		text-align: center;

	}

	.pdr-group__panel {

		padding: 0.85rem;

	}

	.pdr-group__panel-head {

		flex-wrap: wrap;

	}

	.pdr-group__panel-label {

		font-size: 1rem;

		line-height: 1.45;

	}

	.pdr-card__body {

		padding: 0.85rem;

	}

	.pdr-card__construction {

		flex-wrap: wrap;

	}

	.pdr-card__construction-value {

		font-size: 1.25rem;

	}

	.pdr-search .pdr-card__link {

		font-size: 0.85rem;

		padding: 0.65rem 0.85rem;

	}

}


