.pc-affiliate-pending { color: #68746e; font-size: .8rem; }
.pc-contact-form { max-width: 720px; }
.pc-contact-form label { display: grid; gap: .35rem; }
.pc-contact-form :where(input:not([type="checkbox"]), textarea) { border: 1px solid #dce3dd; border-radius: 4px; box-sizing: border-box; font: inherit; max-width: 100%; min-width: 0; padding: .7rem; width: 100%; }
.pc-contact-form button { background: #d98470; border: 0; border-radius: 5px; color: #fff; cursor: pointer; font: inherit; font-weight: 600; padding: .75rem 1.4rem; }
.pc-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.pc-form-success { background: #eff4ed; border-left: 4px solid #496c5c; padding: 1rem; }
.pc-form-error { background: #fff2ef; border-left: 4px solid #d98470; padding: 1rem; }

.pc-brand-logo {
	display: block;
	height: 64px;
	margin: auto;
	max-width: 180px;
	object-fit: contain;
	width: 100%;
}
.pc-brand-logo-link { display: block; }
.pc-brand-card { align-content: start; box-sizing: border-box; min-height: 184px !important; }
.pc-brand-card-logo {
	align-items: center;
	display: flex;
	height: 72px;
	justify-content: center;
	margin-bottom: 14px;
}
.pc-brand-card-logo .pc-brand-logo { height: 62px; max-width: 150px; }
.pc-inline-brand-logo { display: inline-flex; vertical-align: middle; }
.pc-inline-brand-logo .pc-brand-logo { height: 34px; max-width: 100px; }

.pc-brand-strip {
	border: 1px solid var(--pc-line, #dce3dd);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
	margin: 1.5rem 0 2rem;
	overflow: hidden;
}
.pc-brand-strip-item {
	align-items: center;
	background: #fff;
	box-sizing: border-box;
	display: grid;
	gap: .65rem;
	justify-items: center;
	min-height: 128px;
	padding: 1rem;
	text-align: center;
}
.pc-brand-strip-item .pc-brand-logo { height: 58px; max-width: 136px; }
.pc-brand-strip-item span { color: var(--pc-muted, #68746e); font-size: .75rem; }

.pc-studio-identity {
	background: linear-gradient(135deg, #fff 0%, var(--pc-soft, #eff4ed) 100%);
	border: 1px solid var(--pc-line, #dce3dd);
	margin: 1.5rem 0 2rem;
	padding: clamp(1rem, 2.4vw, 1.4rem);
}
.pc-studio-identity-body > :first-child { margin-top: 0; }
.pc-studio-identity .pc-visual-eyebrow {
	color: var(--pc-green, #496c5c);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: .75rem;
}
.pc-studio-facts {
	display: grid;
	gap: .5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 .9rem;
}
.pc-studio-facts div { background: rgba(255,255,255,.8); padding: .65rem .75rem; }
.pc-studio-facts dt { color: var(--pc-muted, #68746e); font-size: .7rem; font-weight: 600; }
.pc-studio-facts dd { font-size: .84rem; margin: .2rem 0 0; }
.pc-studio-decision-grid { display: grid; gap: .75rem; grid-template-columns: 1fr 1fr; }
.pc-studio-decision-grid > div { border-left: 3px solid var(--pc-green, #496c5c); padding-left: .8rem; }
.pc-studio-decision-grid strong { font-size: .8rem; }
.pc-studio-decision-grid p { font-size: .82rem; margin: .3rem 0 0; }
.pc-studio-alternative { font-size: .78rem; margin: .85rem 0 0; }

.pc-article-scope {
	background: var(--pc-soft, #eff4ed);
	border-left: 4px solid var(--pc-green, #496c5c);
	display: grid;
	gap: .7rem;
	margin: 1.5rem 0;
	padding: 1rem 1.15rem;
}
.pc-article-scope p { display: grid; gap: .15rem; margin: 0; }
.pc-article-scope strong { font-size: .75rem; }
.pc-article-scope span { color: var(--pc-muted, #68746e); font-size: .82rem; }

.pc-toc {
	background: #fff;
	border: 1px solid var(--pc-line, #dce3dd);
	margin: 1.5rem 0 2rem;
	padding: 1.1rem 1.25rem;
}
.pc-toc-title { font-weight: 600; margin: 0 0 .65rem; }
.pc-toc ol { column-count: 2; column-gap: 2rem; margin: 0; padding-left: 1.25rem; }
.pc-toc li { break-inside: avoid; font-size: .82rem; margin: .3rem 0; }
.pc-toc a { text-decoration-thickness: 1px; text-underline-offset: .15em; }
.pc-article-main h2[id] { scroll-margin-top: 1.5rem; }

.pc-final-check { margin-top: 3.5rem; }
.pc-final-check > h2 {
	border-bottom: 2px solid var(--pc-green, #496c5c);
	padding-bottom: .65rem;
}
.pc-final-check li { margin: .65rem 0; }
.pc-review-reading {
	background: var(--pc-soft, #eff4ed);
	border: 1px solid var(--pc-line, #dce3dd);
	margin: 1.5rem 0;
	padding: 1rem 1.2rem;
}
.pc-review-reading h3 { margin-top: 0; }
.pc-review-reading p { font-size: .88rem; }
.pc-final-check-result { border-left: 4px solid var(--pc-green, #496c5c); padding-left: 1rem; }

.pc-article-action { margin-top: 3.5rem; }
.pc-article-action > h2 {
	border-bottom: 2px solid var(--pc-green, #496c5c);
	padding-bottom: .65rem;
}
.pc-article-action li { margin: .65rem 0; }
.pc-action-note { background: var(--pc-soft, #eff4ed); padding: 1rem; }
.pc-memo-grid { display: grid; gap: .65rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 1.25rem 0; }
.pc-memo-grid div { background: var(--pc-soft, #eff4ed); display: grid; gap: .3rem; padding: .85rem; }
.pc-memo-grid strong { color: var(--pc-green, #496c5c); font-size: .8rem; }
.pc-memo-grid span { font-size: .78rem; }

.pc-cta-group {
	background: #f4f7f3;
	border: 1px solid #d8e0da;
	margin: 2rem 0;
	padding: clamp(1rem, 3vw, 1.5rem);
}
.pc-cta-group-title {
	color: #183c35;
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 1rem;
}
.pc-cta-grid {
	display: grid;
	gap: .9rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pc-cta-grid--single { grid-template-columns: minmax(0, 32rem); }
.pc-cta { display: grid; gap: .45rem; }
.pc-cta-button {
	align-items: center;
	background: #d86f57;
	border: 2px solid #d86f57;
	border-radius: 8px;
	box-sizing: border-box;
	color: #fff !important;
	display: flex;
	font-size: .95rem;
	font-weight: 700;
	gap: .75rem;
	justify-content: space-between;
	line-height: 1.5;
	min-height: 52px;
	padding: .8rem 1rem;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.pc-cta-button:hover { background: #bf5d48; border-color: #bf5d48; transform: translateY(-1px); }
.pc-cta-button:focus-visible { outline: 3px solid #173d36; outline-offset: 3px; }
.pc-cta-button--affiliate::before {
	background: rgba(255, 255, 255, .18);
	border-radius: 999px;
	content: "広告";
	flex: 0 0 auto;
	font-size: .68rem;
	letter-spacing: .04em;
	padding: .12rem .42rem;
}
.pc-cta-note { color: #66726d; font-size: .72rem; line-height: 1.55; }

@media (max-width: 680px) {
	.pc-brand-card { min-height: 148px !important; }
	.pc-brand-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pc-studio-decision-grid,
	.pc-cta-grid { grid-template-columns: 1fr; }
	.pc-studio-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pc-studio-facts div:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.pc-toc ol { column-count: 1; }
	.pc-memo-grid { grid-template-columns: 1fr 1fr; }
	.pc-cta-button { min-height: 56px; width: 100%; }
}

@media (max-width: 420px) {
	.pc-studio-identity { padding: .9rem; }
	.pc-studio-facts { gap: .35rem; }
	.pc-studio-facts div { padding: .5rem .6rem; }
	.pc-studio-decision-grid { gap: .5rem; }
	.pc-studio-decision-grid > div { padding-left: .65rem; }
	.pc-studio-decision-grid p { font-size: .78rem; line-height: 1.65; }
	.pc-studio-alternative { margin-top: .65rem; }
	.pc-brand-strip-item { min-height: 96px; padding: .65rem; }
	.pc-brand-strip-item .pc-brand-logo { height: 42px; max-width: 112px; }
	.pc-brand-card { min-height: 136px !important; padding: .8rem .5rem; }
	.pc-brand-card-logo { height: 56px; margin-bottom: 8px; }
	.pc-brand-card-logo .pc-brand-logo { height: 48px; max-width: 116px; }
	.pc-cta-group { margin-left: 0; margin-right: 0; padding: .9rem; }
	.pc-cta-button { font-size: .9rem; }
}
