/* Homepage layout: headings and content share consistent baselines. */
.p-front-hero { padding-block: var(--space-8); }
.p-front-hero h1 { max-width: 20em; font-size: var(--font-size-h1); line-height: 1.5; letter-spacing: -.03em; }
.p-front-hero__description { margin-block-start: var(--space-3); /* max-width: var(--width-copy); */ font-size: var(--font-size-h2); }
.p-front-section { border-block-start: 1px solid var(--color-line); padding-block: var(--section-space); scroll-margin-block-start: var(--space-3); }
.p-front-section__wrap { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-6); }
.p-front-item + .p-front-item { margin-block-start: var(--space-4); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-line); }
.p-front-item__label { margin-block-end: var(--space-1); color: var(--color-muted); font-size: var(--font-size-small); }
.p-front-item__title { font-size: var(--font-size-h3); }
.p-front-item__catch { margin-block-start: var(--space-3); font-weight: var(--font-weight); }
.p-front-item__body, .p-front-item__link { margin-block-start: var(--space-2); }
.p-front-section__more { margin-block-start: var(--space-3); }
.p-front-about__row + .p-front-about__row { margin-block-start: var(--space-4); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-line); }
.p-front-about dt { font-weight: var(--font-weight); margin-block-end: var(--space-2); }
.p-front-contact .wpcf7-form > * + * { margin-block-start: var(--space-3); }
.p-front-contact .wpcf7-list-item { margin-inline-start: 0; margin-inline-end: var(--space-2); }
.p-front-contact label { display: block; }
.p-front-contact input[type="submit"] { min-width: 160px; }
@media (min-width: 48rem) { .p-front .spView { display: none; } }
@media (max-width: 47.99rem) {
	.p-front-hero { padding-block: var(--space-6); }
	.p-front-section { padding-block: var(--space-6); }
	.p-front-section__wrap { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
	.c-section-heading__title--ja { max-width: none; }
	.p-front-hero h1 { font-size: 2rem; }
}
