.h-seisakusho-home {
	--h-seisakusho-ink: #17191c;
	--h-seisakusho-deep: #073f4b;
	--h-seisakusho-deep-2: #0b5663;
	--h-seisakusho-muted: #5e6670;
	--h-seisakusho-line: #d9dde2;
	--h-seisakusho-bg: #f3f5f5;
	--h-seisakusho-accent: #b21f2d;
	--h-seisakusho-accent-dark: #871722;
	color: var(--h-seisakusho-ink);
	background: #fff;
}

#content[data-postid="10"] {
	max-width: none;
	width: 100%;
	margin-top: 0;
	padding-top: 0 !important;
	padding-right: 0;
	padding-left: 0;
	overflow-x: clip;
}

#content[data-postid="10"] #main_content,
#content[data-postid="10"] .l-mainContent__inner,
#content[data-postid="10"] .post_content {
	max-width: none;
	width: 100%;
	margin-top: 0;
	padding-top: 0;
}

#content[data-postid="10"] .post_content > .h-seisakusho-home:first-child {
	margin-top: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-home {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

#content:has(.h-seisakusho-lower-page) {
	max-width: none;
	width: 100%;
	margin-top: 0;
	padding-top: 0 !important;
	padding-right: 0;
	padding-left: 0;
	overflow-x: clip;
}

#content:has(.h-seisakusho-lower-page) #main_content,
#content:has(.h-seisakusho-lower-page) .l-mainContent__inner,
#content:has(.h-seisakusho-lower-page) .post_content {
	max-width: none;
	width: 100%;
	margin-top: 0;
	padding-top: 0;
}

#content:has(.h-seisakusho-lower-page) .post_content > .h-seisakusho-home:first-child {
	margin-top: 0 !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-home {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.h-seisakusho-home * {
	box-sizing: border-box;
}

.h-seisakusho-home,
.h-seisakusho-home .wp-block-group__inner-container,
.h-seisakusho-home .wp-block-buttons,
.h-seisakusho-home .wp-block-button,
.h-seisakusho-home p,
.h-seisakusho-home h1,
.h-seisakusho-home h2,
.h-seisakusho-home h3 {
	min-width: 0;
	max-width: 100%;
}

.h-seisakusho-section {
	padding: clamp(56px, 8vw, 104px) 0;
}

.h-seisakusho-section--compact {
	padding: clamp(42px, 6vw, 72px) 0;
}

.h-seisakusho-section--gray {
	background:
		linear-gradient(90deg, rgba(7, 63, 75, .05) 0, rgba(7, 63, 75, 0) 44%),
		var(--h-seisakusho-bg);
}

.h-seisakusho-inner {
	width: min(1320px, calc(100% - 64px));
	margin: 0 auto;
}

.h-seisakusho-hero {
	position: relative;
	min-height: min(820px, 88vh);
	display: grid;
	align-items: end;
	overflow: hidden;
	background: #101214;
}

.h-seisakusho-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .74;
	margin: 0;
}

.h-seisakusho-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.h-seisakusho-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 12, 14, .86), rgba(10, 12, 14, .46) 48%, rgba(10, 12, 14, .16)),
		linear-gradient(0deg, rgba(10, 12, 14, .46), rgba(10, 12, 14, 0) 44%);
}

.h-seisakusho-hero__content {
	position: relative;
	z-index: 1;
	width: min(1320px, calc(100% - 96px));
	margin: 0 auto;
	padding: 120px 0 88px;
	color: #fff;
}

.h-seisakusho-hero__content > .wp-block-group__inner-container {
	max-width: 100%;
}

.h-seisakusho-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.h-seisakusho-label::before {
	content: "";
	width: 36px;
	height: 2px;
	background: currentColor;
}

.h-seisakusho-hero__title {
	max-width: 880px;
	margin: 0;
	font-size: clamp(42px, 6vw, 78px);
	line-height: 1.12;
	font-weight: 800;
}

.h-seisakusho-hero__lead {
	max-width: 680px;
	margin: 24px 0 0;
	font-size: clamp(16px, 2vw, 21px);
	line-height: 1.85;
}

.h-seisakusho-lead {
	max-width: 1040px;
	margin: 0;
	font-size: clamp(18px, 2.5vw, 27px);
	line-height: 1.9;
	font-weight: 700;
}

.h-seisakusho-text {
	max-width: 820px;
	margin: 20px 0 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.9;
}

.h-seisakusho-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
	gap: clamp(24px, 5vw, 72px);
	align-items: center;
	margin-bottom: clamp(32px, 5vw, 56px);
	padding-top: 10px;
	position: relative;
	border-top: 1px solid rgba(23, 25, 28, .18);
}

.h-seisakusho-heading h2 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 18px;
	font-size: clamp(30px, 4.4vw, 56px);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--h-seisakusho-ink);
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.h-seisakusho-heading h2::before {
	content: "H SEISAKUSHO";
	position: static !important;
	display: block;
	margin-bottom: 12px;
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	color: var(--h-seisakusho-accent);
	line-height: 1;
}

.h-seisakusho-heading h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(100%, 420px);
	height: 5px;
	background: linear-gradient(90deg, var(--h-seisakusho-accent) 0 84px, var(--h-seisakusho-deep) 84px 100%);
}

.h-seisakusho-heading p {
	max-width: 460px;
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.8;
}

.h-seisakusho-split .h-seisakusho-heading {
	display: block;
	margin-bottom: 26px;
}

.h-seisakusho-split .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 30px);
}

.h-seisakusho-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.h-seisakusho-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.h-seisakusho-chip-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 30px;
}

.h-seisakusho-chip {
	margin: 0;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .12);
	border-radius: 0;
	font-weight: 700;
	line-height: 1.5;
	box-shadow: 0 16px 34px rgba(23, 25, 28, .06);
}

.h-seisakusho-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.h-seisakusho-feature {
	min-height: 100%;
	padding: clamp(22px, 2.8vw, 34px);
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	border-radius: 0;
	box-shadow: 0 20px 44px rgba(23, 25, 28, .08);
}

.h-seisakusho-feature__num {
	margin: 0 0 16px;
	color: var(--h-seisakusho-accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
}

.h-seisakusho-feature h3 {
	margin: 0 0 12px;
	font-size: 19px;
	line-height: 1.45;
}

.h-seisakusho-feature p {
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.75;
}

.h-seisakusho-card {
	background: #fff;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	box-shadow: 0 22px 50px rgba(23, 25, 28, .1);
}

.h-seisakusho-card__image {
	width: 100%;
	aspect-ratio: 16 / 11;
	display: block;
	background: #d6d9dd;
	margin: 0;
	overflow: hidden;
}

.h-seisakusho-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.h-seisakusho-card__body {
	position: relative;
	padding: clamp(22px, 3vw, 30px);
}

.h-seisakusho-card__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: clamp(22px, 3vw, 30px);
	width: 64px;
	height: 4px;
	background: var(--h-seisakusho-accent);
}

.h-seisakusho-card h3 {
	margin: 0 0 10px;
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.35;
}

.h-seisakusho-card p {
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.75;
}

.h-seisakusho-split {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
	gap: clamp(36px, 6vw, 88px);
	align-items: center;
}

.h-seisakusho-photo {
	width: 100%;
	aspect-ratio: 16 / 11;
	border-radius: 0;
	display: block;
	margin: 0;
	overflow: hidden;
	box-shadow: 0 24px 52px rgba(23, 25, 28, .12);
}

.h-seisakusho-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.h-seisakusho-photo-stack {
	display: grid;
	gap: 14px;
}

.h-seisakusho-list {
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--h-seisakusho-line);
}

.h-seisakusho-list li {
	padding: 14px 0;
	border-bottom: 1px solid var(--h-seisakusho-line);
	line-height: 1.7;
}

.h-seisakusho-table {
	width: 100%;
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .12);
	border-radius: 0;
	overflow: hidden;
	margin: 0;
}

.h-seisakusho-table table {
	width: 100%;
	border-collapse: collapse;
}

.h-seisakusho-table th,
.h-seisakusho-table td {
	padding: 16px 18px;
	border-bottom: 1px solid var(--h-seisakusho-line);
	text-align: left;
	vertical-align: top;
	line-height: 1.7;
}

.h-seisakusho-table th {
	width: 28%;
	background: #f7f8f8;
	font-weight: 700;
	color: var(--h-seisakusho-deep);
}

.h-seisakusho-table tr:last-child th,
.h-seisakusho-table tr:last-child td {
	border-bottom: 0;
}

.h-seisakusho-inline-cta {
	margin-top: 34px;
	padding: clamp(24px, 4vw, 36px);
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	border-radius: 0;
	box-shadow: 0 18px 42px rgba(23, 25, 28, .08);
}

.h-seisakusho-inline-cta h3 {
	margin: 0 0 10px;
	font-size: clamp(22px, 3vw, 30px);
	line-height: 1.35;
}

.h-seisakusho-inline-cta p {
	max-width: 760px;
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.8;
}

.h-seisakusho-cta {
	background: var(--h-seisakusho-ink);
	color: #fff;
}

.h-seisakusho-cta .h-seisakusho-heading {
	border-top-color: rgba(255, 255, 255, .2);
}

.h-seisakusho-cta .h-seisakusho-heading h2 {
	color: #fff;
}

.h-seisakusho-cta .h-seisakusho-text,
.h-seisakusho-cta .h-seisakusho-heading p {
	color: rgba(255, 255, 255, .78);
}

.h-seisakusho-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.h-seisakusho-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	background: var(--h-seisakusho-accent);
	color: #fff;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 700;
	transition:
		transform .28s cubic-bezier(.22, .61, .36, 1),
		background-color .28s ease,
		box-shadow .28s ease;
}

.wp-block-button.h-seisakusho-button {
	min-height: 0;
	padding: 0;
}

.h-seisakusho-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 24px;
	background: transparent;
	color: inherit;
	border-radius: 0;
	text-decoration: none;
	font-weight: 700;
}

.h-seisakusho-button:hover,
.h-seisakusho-button:hover .wp-block-button__link {
	background: var(--h-seisakusho-accent-dark);
	color: #fff;
}

.h-seisakusho-button--sub {
	background: transparent;
	border: 1px solid currentColor;
}

.h-seisakusho-form-placeholder {
	margin-top: 26px;
	padding: 20px;
	border: 1px dashed rgba(255, 255, 255, .45);
	border-radius: 8px;
	color: rgba(255, 255, 255, .76);
}

.h-seisakusho-lower-page {
	--h-seisakusho-lower-hero-height: clamp(420px, 48vw, 620px);
}

.h-seisakusho-subpage {
	width: 100%;
	max-width: 100%;
}

.h-seisakusho-lower-page .wp-block-heading {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.h-seisakusho-lower-page .h-seisakusho-section {
	position: relative;
}

.h-seisakusho-lower-hero,
.h-seisakusho-subhero {
	min-height: var(--h-seisakusho-lower-hero-height);
	align-items: center;
}

.h-seisakusho-lower-hero .h-seisakusho-hero__image,
.h-seisakusho-subhero .h-seisakusho-hero__image {
	opacity: .62;
}

.h-seisakusho-lower-hero .h-seisakusho-hero__content,
.h-seisakusho-subhero .h-seisakusho-hero__content {
	padding: clamp(92px, 13vw, 150px) 0 clamp(70px, 9vw, 110px);
}

.h-seisakusho-lower-hero .h-seisakusho-hero__title,
.h-seisakusho-subhero .h-seisakusho-hero__title {
	max-width: 780px;
	font-size: clamp(42px, 5.2vw, 70px);
}

.h-seisakusho-lower-hero .h-seisakusho-hero__lead,
.h-seisakusho-subhero .h-seisakusho-hero__lead {
	max-width: 780px;
}

.h-seisakusho-lower-lead {
	max-width: 1120px;
}

.h-seisakusho-lower-intro .h-seisakusho-text {
	max-width: 860px;
}

.h-seisakusho-lower-split {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	gap: clamp(34px, 6vw, 86px);
	align-items: start;
}

.h-seisakusho-lower-split > * {
	min-width: 0;
}

.h-seisakusho-lower-split__body {
	display: grid;
	align-content: start;
	gap: 18px;
}

.h-seisakusho-lower-split__body > * {
	margin-top: 0;
	margin-bottom: 0;
}

.h-seisakusho-lower-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.h-seisakusho-lower-card,
.h-seisakusho-contact-card,
.h-seisakusho-lower-faq-item {
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 22px 50px rgba(23, 25, 28, .09);
}

.h-seisakusho-lower-card h3 {
	color: var(--h-seisakusho-ink);
}

.h-seisakusho-contact-card {
	min-height: 100%;
}

.h-seisakusho-contact-type-grid {
	align-items: stretch;
}

.h-seisakusho-lower-faq {
	background: #fff;
}

.h-seisakusho-faq-item,
.h-seisakusho-lower-faq-item {
	margin-top: 18px;
}

.h-seisakusho-heading + .h-seisakusho-lower-faq-item {
	margin-top: 0;
}

.h-seisakusho-lower-faq-item h3 {
	position: relative;
	padding-left: 2.1em;
	margin-bottom: 14px;
	font-size: clamp(19px, 2vw, 25px);
}

.h-seisakusho-lower-faq-item h3::before {
	content: "Q";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-grid;
	place-items: center;
	width: 1.45em;
	height: 1.45em;
	background: var(--h-seisakusho-deep);
	color: #fff;
	font-size: .78em;
	font-weight: 800;
	line-height: 1;
}

.h-seisakusho-lower-cta {
	background:
		linear-gradient(110deg, rgba(7, 63, 75, .42), rgba(23, 25, 28, 0) 52%),
		var(--h-seisakusho-ink);
}

.h-seisakusho-lower-cta .h-seisakusho-heading h2::before {
	color: #fff;
}

.h-seisakusho-contact-form-section .h-seisakusho-form-placeholder,
.h-seisakusho-contact-form-placeholder {
	display: block;
	margin-top: clamp(24px, 4vw, 40px);
	padding: clamp(22px, 4vw, 38px);
	border: 1px dashed rgba(255, 255, 255, .38);
	border-radius: 0;
	background: rgba(255, 255, 255, .06);
	color: rgba(255, 255, 255, .78);
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.h-seisakusho-contact-page .wpcf7 {
	margin-top: clamp(24px, 4vw, 40px);
}

.h-seisakusho-contact-page .wpcf7 form {
	display: grid;
	gap: 18px;
	max-width: 880px;
}

.h-seisakusho-contact-page .wpcf7 label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form {
	display: grid;
	gap: 10px;
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt,
.h-seisakusho-contact-page .h-seisakusho-cf7-form dd {
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt {
	font-weight: 800;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dd {
	margin-bottom: 10px;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form p {
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-required,
.h-seisakusho-contact-page .h-seisakusho-cf7-optional {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 2px 8px;
	border: 1px solid rgba(255, 255, 255, .24);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-required {
	background: var(--h-seisakusho-accent);
	color: #fff;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-optional {
	background: rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .86);
}

.h-seisakusho-contact-page .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.h-seisakusho-contact-page .wpcf7 select,
.h-seisakusho-contact-page .wpcf7 textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 0;
	background: rgba(255, 255, 255, .96);
	color: var(--h-seisakusho-ink);
}

.h-seisakusho-contact-page .wpcf7 textarea {
	min-height: 180px;
	resize: vertical;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-list-item {
	display: inline-flex;
	margin: 0 18px 10px 0;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-list-item label {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 600;
	line-height: 1.7;
}

.h-seisakusho-contact-page .wpcf7 input[type="checkbox"],
.h-seisakusho-contact-page .wpcf7 input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-top: .35em;
	accent-color: var(--h-seisakusho-accent);
	flex: 0 0 auto;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-list-item-label a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .5);
	text-underline-offset: 3px;
}

.h-seisakusho-contact-page .wpcf7 input[type="submit"] {
	min-height: 52px;
	padding: 13px 28px;
	border: 0;
	border-radius: 0;
	background: var(--h-seisakusho-accent);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-submit p {
	margin: 0;
}

.h-seisakusho-contact-tel {
	color: var(--h-seisakusho-deep);
	font-size: clamp(28px, 5vw, 56px);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.h-seisakusho-contact-tel-section .h-seisakusho-text {
	max-width: 760px;
}

.h-seisakusho-business-page,
.h-seisakusho-business-overview,
.h-seisakusho-business-consultation,
.h-seisakusho-business-equipment {
	position: relative;
}

.h-seisakusho-business-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.h-seisakusho-business-card {
	min-height: 100%;
}

.h-seisakusho-business-detail__inner {
	align-items: center;
}

.h-seisakusho-business-detail__body .h-seisakusho-heading {
	display: block;
	margin-bottom: 24px;
}

.h-seisakusho-business-detail__body .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-business-detail__media {
	align-self: stretch;
	justify-self: stretch;
	width: 100%;
	max-width: 100%;
	min-height: 360px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.h-seisakusho-business-detail__media img {
	height: 100%;
}

.h-seisakusho-business-detail__media--welding {
	background-image: none;
}

.h-seisakusho-business-detail__media--piping {
	background-image: none;
}

.h-seisakusho-business-detail__media--fabrication {
	background-image: none;
}

.h-seisakusho-business-detail__media--maintenance {
	background-image: none;
}

.h-seisakusho-business-equipment-photo {
	background-image: none;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.h-seisakusho-business-equipment .h-seisakusho-heading {
	display: block;
}

.h-seisakusho-business-equipment .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-business-consult-grid,
.h-seisakusho-business-flow-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 22px);
}

.h-seisakusho-business-consult-item {
	min-height: 100%;
	margin: 0;
	padding: clamp(18px, 2.4vw, 26px);
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 18px 40px rgba(23, 25, 28, .07);
	font-weight: 700;
	line-height: 1.7;
}

.h-seisakusho-business-flow-item {
	min-height: 100%;
	padding: clamp(20px, 2.5vw, 30px);
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 18px 40px rgba(23, 25, 28, .07);
}

.h-seisakusho-business-flow-item h3 {
	margin: 0 0 10px;
	font-size: clamp(18px, 2vw, 23px);
	line-height: 1.45;
}

.h-seisakusho-business-flow-item p:not(.h-seisakusho-feature__num) {
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.75;
}

.h-seisakusho-business-cta .h-seisakusho-buttons {
	margin-top: 32px;
}

.h-seisakusho-works-page,
.h-seisakusho-works-list,
.h-seisakusho-works-fields,
.h-seisakusho-works-policy,
.h-seisakusho-works-cta {
	position: relative;
}

.h-seisakusho-works-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 34px);
}

.h-seisakusho-works-card {
	min-height: 100%;
}

.h-seisakusho-works-card__image {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.h-seisakusho-works-card__image--piping {
	background-image: none;
}

.h-seisakusho-works-card__image--fabrication {
	background-image: none;
}

.h-seisakusho-works-card__image--maintenance {
	background-image: none;
}

.h-seisakusho-works-card__image--welding {
	background-image: none;
}

.h-seisakusho-works-card__tag {
	display: inline-flex;
	margin: 0 0 12px;
	padding: 5px 9px;
	background: rgba(7, 63, 75, .08);
	color: var(--h-seisakusho-deep);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.h-seisakusho-works-policy .h-seisakusho-heading {
	display: block;
}

.h-seisakusho-works-policy .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-works-policy-list {
	display: grid;
	gap: 12px;
	align-content: start;
}

.h-seisakusho-works-policy-list p {
	margin: 0;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 18px 40px rgba(23, 25, 28, .07);
	font-weight: 700;
	line-height: 1.7;
}

.h-seisakusho-recruit-page,
.h-seisakusho-recruit-work,
.h-seisakusho-recruit-environment,
.h-seisakusho-recruit-values,
.h-seisakusho-recruit-requirements,
.h-seisakusho-recruit-flow,
.h-seisakusho-recruit-faq,
.h-seisakusho-recruit-cta {
	position: relative;
}

.h-seisakusho-recruit-work-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 34px);
}

.h-seisakusho-recruit-work-card {
	min-height: 100%;
}

.h-seisakusho-recruit-work-card__image,
.h-seisakusho-recruit-photo {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.h-seisakusho-recruit-work-card__image--welding {
	background-image: none;
}

.h-seisakusho-recruit-work-card__image--piping {
	background-image: none;
}

.h-seisakusho-recruit-work-card__image--fabrication {
	background-image: none;
}

.h-seisakusho-recruit-photo {
	align-self: stretch;
	justify-self: stretch;
	width: 100%;
	min-height: 360px;
	margin: 0;
}

.h-seisakusho-recruit-photo--environment {
	background-image: none;
}

.h-seisakusho-recruit-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.h-seisakusho-recruit-environment .h-seisakusho-heading {
	display: block;
	margin-bottom: 24px;
}

.h-seisakusho-recruit-environment .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-recruit-table td {
	line-height: 1.8;
}

.h-seisakusho-recruit-flow-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.h-seisakusho-recruit-cta .h-seisakusho-buttons {
	margin-top: 32px;
}

.h-seisakusho-company-page,
.h-seisakusho-company-message,
.h-seisakusho-company-profile,
.h-seisakusho-company-fields,
.h-seisakusho-company-equipment,
.h-seisakusho-company-history,
.h-seisakusho-company-access,
.h-seisakusho-company-cta {
	position: relative;
}

.h-seisakusho-company-photo {
	align-self: stretch;
	justify-self: stretch;
	width: 100%;
	min-height: 360px;
	margin: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.h-seisakusho-company-photo--message {
	background-image: none;
}

.h-seisakusho-company-photo--access {
	background-image: none;
}

.h-seisakusho-company-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.h-seisakusho-company-message .h-seisakusho-heading,
.h-seisakusho-company-equipment .h-seisakusho-heading,
.h-seisakusho-company-access .h-seisakusho-heading {
	display: block;
	margin-bottom: 24px;
}

.h-seisakusho-company-message .h-seisakusho-heading p,
.h-seisakusho-company-equipment .h-seisakusho-heading p,
.h-seisakusho-company-access .h-seisakusho-heading p {
	max-width: 620px;
	margin-top: 14px;
}

.h-seisakusho-company-sign {
	margin-top: 24px;
	color: var(--h-seisakusho-ink);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
}

.h-seisakusho-company-table td {
	line-height: 1.8;
}

.h-seisakusho-company-buttons {
	margin-top: clamp(24px, 4vw, 36px);
}

.h-seisakusho-company-equipment-list {
	display: grid;
	gap: 12px;
	align-content: start;
}

.h-seisakusho-company-equipment-list p {
	margin: 0;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 18px 40px rgba(23, 25, 28, .07);
	font-weight: 700;
	line-height: 1.7;
}

.h-seisakusho-company-history-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 22px);
}

.h-seisakusho-company-history-item {
	min-height: 100%;
	padding: clamp(20px, 2.5vw, 30px);
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 18px 40px rgba(23, 25, 28, .07);
}

.h-seisakusho-company-history-item h3 {
	margin: 0 0 10px;
	font-size: clamp(18px, 2vw, 23px);
	line-height: 1.45;
}

.h-seisakusho-company-history-item p:not(.h-seisakusho-feature__num) {
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.75;
}

.h-seisakusho-company-cta .h-seisakusho-buttons {
	margin-top: 32px;
}

.h-seisakusho-privacy-page,
.h-seisakusho-privacy-content {
	position: relative;
}

.h-seisakusho-privacy-hero {
	--h-seisakusho-lower-hero-height: clamp(360px, 42vw, 520px);
}

.h-seisakusho-privacy-content .h-seisakusho-inner {
	max-width: 980px;
}

.h-seisakusho-privacy-item {
	padding: clamp(22px, 3vw, 34px) 0;
	border-top: 1px solid rgba(23, 25, 28, .14);
}

.h-seisakusho-privacy-item:first-child {
	padding-top: 0;
	border-top: 0;
}

.h-seisakusho-privacy-item h2 {
	margin: 0 0 14px;
	color: var(--h-seisakusho-ink);
	font-size: clamp(22px, 2.6vw, 32px);
	line-height: 1.45;
}

.h-seisakusho-privacy-item p {
	margin: 0;
	color: var(--h-seisakusho-muted);
	line-height: 1.9;
}

.h-seisakusho-privacy-item .h-seisakusho-list {
	margin-top: 14px;
}

.h-seisakusho-privacy-item .h-seisakusho-buttons {
	margin-top: 24px;
}

.h-seisakusho-privacy-date {
	margin-top: clamp(28px, 5vw, 48px);
	padding-top: 22px;
	border-top: 1px solid rgba(23, 25, 28, .14);
	color: var(--h-seisakusho-muted);
	font-size: 14px;
	text-align: right;
}

@media (max-width: 960px) {
	#content[data-postid="10"] .h-seisakusho-home {
		width: 100%;
	}

	.h-seisakusho-inner {
		width: min(100%, calc(100% - 32px));
	}

	.h-seisakusho-heading,
	.h-seisakusho-split,
	.h-seisakusho-lower-split {
		grid-template-columns: 1fr;
	}

	.h-seisakusho-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.h-seisakusho-grid--3,
	.h-seisakusho-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.h-seisakusho-chip-grid,
	.h-seisakusho-feature-grid,
	.h-seisakusho-lower-card-grid,
	.h-seisakusho-business-card-grid,
	.h-seisakusho-business-consult-grid,
	.h-seisakusho-business-flow-grid,
	.h-seisakusho-works-grid,
	.h-seisakusho-recruit-work-grid,
	.h-seisakusho-recruit-flow-grid,
	.h-seisakusho-company-history-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Lower page stabilization: carry TOP spacing and mobile robustness into subpages. */
#content:has(.h-seisakusho-lower-page) {
	width: 100vw;
	max-width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

#content:has(.h-seisakusho-lower-page) .post_content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-home {
	background:
		linear-gradient(90deg, rgba(7, 63, 75, .03), rgba(255, 255, 255, 0) 40%),
		#fff;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-section {
	width: min(100vw, 100%);
	max-width: 100vw;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero {
	min-height: clamp(460px, 43vw, 580px);
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image img {
	object-position: center right;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner {
	width: min(1620px, calc(100vw - clamp(32px, 5vw, 72px)));
	max-width: none;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content > .wp-block-group__inner-container {
	max-width: 960px;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__title {
	max-width: 940px;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	text-wrap: balance;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__lead,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lead,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-text,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading h2,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading p,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-card h3,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-card p,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-feature h3,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-feature p,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-card h3,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-card p {
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-section {
	padding: clamp(72px, 7.5vw, 118px) 0;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-section--compact {
	padding: clamp(56px, 5.5vw, 86px) 0;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-card,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-feature,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-card,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-contact-card {
	border-color: rgba(23, 25, 28, .1);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 248, 248, .92));
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-card__image,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-photo,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-business-detail__media,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-recruit-photo,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-company-photo {
	overflow: hidden;
	background: #15181b;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-card__image img,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-photo img,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-business-detail__media img,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-recruit-photo img,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-company-photo img {
	filter: saturate(.95) contrast(1.04);
	transform: scale(1.01);
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	background:
		linear-gradient(115deg, rgba(7, 63, 75, .35), rgba(23, 25, 28, 0) 52%),
		linear-gradient(0deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)),
		#17191c;
}

@media (max-width: 960px) {
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner {
		width: min(100%, calc(100vw - 40px));
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media (max-width: 640px) {
	#content:has(.h-seisakusho-lower-page) {
		margin-right: 0;
		margin-left: 0;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero {
		min-height: 470px;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image img {
		object-position: 58% center;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero .h-seisakusho-hero__content {
		padding-top: 82px;
		padding-bottom: 48px;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__title,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero .h-seisakusho-hero__title,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero .h-seisakusho-hero__title {
		width: 100%;
		max-width: 100%;
		font-size: clamp(30px, 8.4vw, 36px);
		line-height: 1.16;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__lead {
		width: 100% !important;
		max-width: 350px !important;
		font-size: 13px;
		line-height: 1.8;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading {
		margin-bottom: 28px;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading h2 {
		width: 100%;
		font-size: clamp(26px, 7.4vw, 32px);
		line-height: 1.22;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading h2::after {
		width: min(100%, 210px);
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading p,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-text {
		font-size: 14px;
		line-height: 1.9;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lead,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-lead {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 0 !important;
		font-size: 18px;
		line-height: 1.85;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}
}

/* Calm, one-time content motion. Elements remain visible unless JS initializes it. */
.h-motion-enabled .h-motion-item {
	--h-motion-duration: .74s;
	--h-motion-delay: 0s;
	--h-motion-distance: 18px;
	opacity: 0;
	transform: translate3d(0, var(--h-motion-distance), 0);
	transition:
		opacity var(--h-motion-duration) cubic-bezier(.22, .61, .36, 1) var(--h-motion-delay),
		transform var(--h-motion-duration) cubic-bezier(.22, .61, .36, 1) var(--h-motion-delay);
}

.h-motion-enabled .h-motion-item[data-h-motion="fade"] {
	--h-motion-duration: .8s;
	--h-motion-distance: 0px;
}

.h-motion-enabled .h-motion-item[data-h-motion="photo"] {
	--h-motion-duration: .92s;
	--h-motion-distance: 0px;
	transform: scale(1.025);
	transform-origin: 50% 50%;
}

.h-motion-enabled .h-motion-item[data-h-motion="cta"] {
	opacity: 1;
	transform: none;
	transition: none;
}

.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-heading,
.h-motion-enabled [data-h-motion="cta"] > h3,
.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-text,
.h-motion-enabled [data-h-motion="cta"] > p,
.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-buttons {
	opacity: 0;
	transform: translate3d(0, 12px, 0);
	transition:
		opacity .7s cubic-bezier(.22, .61, .36, 1),
		transform .7s cubic-bezier(.22, .61, .36, 1);
}

.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-heading,
.h-motion-enabled [data-h-motion="cta"].is-visible > h3,
.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-text,
.h-motion-enabled [data-h-motion="cta"].is-visible > p,
.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-buttons {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-heading,
.h-motion-enabled [data-h-motion="cta"].is-visible > h3 {
	transition-delay: .08s;
}

.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-text,
.h-motion-enabled [data-h-motion="cta"].is-visible > p {
	transition-delay: .16s;
}

.h-motion-enabled [data-h-motion="cta"].is-visible > .h-seisakusho-buttons {
	transition-delay: .26s;
}

.h-motion-enabled .h-motion-item.h-motion-delay-1 {
	--h-motion-delay: .08s;
}

.h-motion-enabled .h-motion-item.h-motion-delay-2 {
	--h-motion-delay: .14s;
}

.h-motion-enabled .h-motion-item.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (max-width: 767px) {
	.h-motion-enabled .h-motion-item {
		--h-motion-duration: .66s;
		--h-motion-distance: 14px;
	}

	.h-motion-enabled .h-motion-item.h-motion-delay-1,
	.h-motion-enabled .h-motion-item.h-motion-delay-2 {
		--h-motion-delay: .04s;
	}
}

@media (hover: hover) and (pointer: fine) {
	.h-seisakusho-button:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 22px rgba(7, 63, 75, .18);
	}

	.h-seisakusho-card,
	.h-seisakusho-card__image img {
		transition:
			transform .42s cubic-bezier(.22, .61, .36, 1),
			border-color .42s ease,
			box-shadow .42s ease !important;
	}

	.h-seisakusho-card__image {
		overflow: hidden;
	}

	.h-seisakusho-card:hover {
		transform: translateY(-1px);
		border-color: rgba(7, 63, 75, .2);
		box-shadow: 0 14px 30px rgba(15, 31, 36, .075);
	}

	.h-seisakusho-card:hover .h-seisakusho-card__image img {
		transform: scale(1.025) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.h-motion-enabled .h-motion-item,
	.h-motion-enabled .h-motion-item.is-visible,
	.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-heading,
	.h-motion-enabled [data-h-motion="cta"] > h3,
	.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-text,
	.h-motion-enabled [data-h-motion="cta"] > p,
	.h-motion-enabled [data-h-motion="cta"] > .h-seisakusho-buttons,
	.h-seisakusho-button,
	.h-seisakusho-card,
	.h-seisakusho-card__image img {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Final brushup: labels, readable widths, footer, and single-column contact form. */
:root {
	--h-seisakusho-content-max: 1180px;
	--h-seisakusho-reading-max: 900px;
}

.h-seisakusho-heading h2::before {
	content: "SECTION";
	color: rgba(178, 31, 45, .92);
}

#reason .h-seisakusho-heading h2::before {
	content: "FEATURES";
}

#business .h-seisakusho-heading h2::before,
#business-overview .h-seisakusho-heading h2::before,
#business-contact .h-seisakusho-heading h2::before {
	content: "BUSINESS";
}

#works .h-seisakusho-heading h2::before,
#works-list .h-seisakusho-heading h2::before,
#works-fields .h-seisakusho-heading h2::before,
#works-contact .h-seisakusho-heading h2::before {
	content: "WORKS";
}

#business-equipment .h-seisakusho-heading h2::before,
#company-equipment .h-seisakusho-heading h2::before {
	content: "FACILITY";
}

#recruit .h-seisakusho-heading h2::before,
#recruit-work .h-seisakusho-heading h2::before,
#recruit-environment .h-seisakusho-heading h2::before,
#recruit-values .h-seisakusho-heading h2::before,
#recruit-requirements .h-seisakusho-heading h2::before,
#recruit-flow .h-seisakusho-heading h2::before,
#recruit-contact .h-seisakusho-heading h2::before {
	content: "RECRUIT";
}

#company .h-seisakusho-heading h2::before,
#company-message .h-seisakusho-heading h2::before,
#company-profile .h-seisakusho-heading h2::before,
#company-fields .h-seisakusho-heading h2::before,
#company-history .h-seisakusho-heading h2::before,
#company-access .h-seisakusho-heading h2::before,
#company-contact .h-seisakusho-heading h2::before {
	content: "COMPANY";
}

#contact .h-seisakusho-heading h2::before,
#contact-type .h-seisakusho-heading h2::before,
#contact-form .h-seisakusho-heading h2::before,
#contact-tel .h-seisakusho-heading h2::before {
	content: "CONTACT";
}

#contact-faq .h-seisakusho-heading h2::before,
#recruit-faq .h-seisakusho-heading h2::before {
	content: "FAQ";
}

.h-seisakusho-privacy-content h2::before,
.h-seisakusho-privacy-page .h-seisakusho-heading h2::before {
	content: "PRIVACY";
}

#content[data-postid="10"] .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner {
	width: min(var(--h-seisakusho-content-max), calc(100vw - clamp(32px, 5vw, 72px)));
	max-width: none;
}

#content[data-postid="10"] .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-inner {
	width: min(1620px, calc(100vw - clamp(32px, 5vw, 72px)));
}

#content[data-postid="10"] .h-seisakusho-text,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-text,
#content[data-postid="10"] .h-seisakusho-heading p,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading p {
	max-width: 760px;
}

#content[data-postid="10"] .h-seisakusho-lead,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lead {
	max-width: 960px;
}

.h-seisakusho-privacy-content .h-seisakusho-inner,
.h-seisakusho-privacy-page .h-seisakusho-section:not(.h-seisakusho-hero) .h-seisakusho-inner {
	width: min(var(--h-seisakusho-reading-max), calc(100vw - clamp(32px, 6vw, 96px))) !important;
}

.h-seisakusho-card,
.h-seisakusho-feature,
.h-seisakusho-lower-card,
.h-seisakusho-contact-card {
	border-color: rgba(23, 25, 28, .1);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 248, 248, .94));
}

.h-seisakusho-section--gray {
	background:
		linear-gradient(120deg, rgba(7, 63, 75, .045), rgba(243, 245, 245, 0) 48%),
		#f2f5f5;
}

.h-seisakusho-inline-cta,
.h-seisakusho-lower-cta,
.h-seisakusho-cta {
	border-radius: 0;
}

.h-seisakusho-top-contact-cta .h-seisakusho-inner {
	display: grid;
	grid-template-columns: minmax(0, .95fr) auto;
	gap: clamp(24px, 5vw, 72px);
	align-items: end;
}

.h-seisakusho-top-contact-cta .h-seisakusho-heading {
	display: block;
	margin-bottom: 0;
}

.h-seisakusho-top-contact-cta .h-seisakusho-text {
	margin-top: 18px;
}

.h-seisakusho-top-contact-cta .h-seisakusho-buttons {
	margin: 0;
}

.h-seisakusho-contact-page .wpcf7 form {
	display: block;
	max-width: 760px;
	margin: clamp(28px, 4vw, 44px) 0 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt,
.h-seisakusho-contact-page .h-seisakusho-cf7-form dd {
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt {
	padding-top: 8px;
	color: rgba(255, 255, 255, .9);
	font-weight: 800;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dd + dt {
	margin-top: 8px;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dd p,
.h-seisakusho-contact-page .h-seisakusho-cf7-submit p {
	margin: 0;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-radio {
	display: grid;
	gap: 10px;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-list-item {
	margin-left: 0;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-list-item label {
	align-items: flex-start;
	line-height: 1.7;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-submit {
	margin-top: 22px;
}

.l-footer {
	background:
		linear-gradient(125deg, rgba(7, 63, 75, .32), rgba(20, 23, 26, 0) 42%),
		#14171a;
}

.l-footer__foot {
	padding: clamp(56px, 6vw, 84px) 0 clamp(36px, 4vw, 48px);
}

.l-footer__foot .l-container {
	display: grid;
	grid-template-columns: minmax(240px, .8fr) minmax(0, 1.35fr);
	gap: 32px 72px;
	align-items: start;
}

.l-footer__foot .l-container::before {
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.2;
	letter-spacing: .04em;
}

.l-footer__nav {
	display: grid;
	grid-template-columns: repeat(4, max-content);
	justify-content: end;
	gap: 14px 26px;
}

.l-footer__nav li {
	position: static;
	padding: 0;
	border: 0;
}

.l-footer__nav a {
	display: inline-flex;
	padding: 2px 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .82);
}

.copyright {
	grid-column: 1 / -1;
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .56);
	font-size: 13px;
	text-align: left;
}

@media (max-width: 960px) {
	.h-seisakusho-top-contact-cta .h-seisakusho-inner,
	.l-footer__foot .l-container {
		grid-template-columns: 1fr;
	}

	.l-footer__nav {
		justify-content: start;
		grid-template-columns: repeat(3, max-content);
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-inner,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner,
	#content[data-postid="10"] .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
	#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-inner {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-buttons {
		width: 100%;
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-button {
		width: min(100%, 280px);
	}

	.h-seisakusho-contact-page .wpcf7 form {
		max-width: 100%;
	}

	.l-footer__foot {
		padding: 44px 0 34px;
	}

	.l-footer__foot .l-container {
		gap: 24px;
	}

	.l-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 12px 20px;
	}

	.l-footer__nav a {
		font-size: 14px;
	}
}

/* Footer refinement final override: keep this block at the end. */
#content[data-postid="10"] .post_content,
#content[data-postid="10"] .l-mainContent__inner,
#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .post_content,
#content:has(.h-seisakusho-lower-page) .l-mainContent__inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	margin-bottom: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	padding-bottom: clamp(52px, 5vw, 76px) !important;
}

.l-footer {
	margin-top: 0 !important;
	background: #0b1114 !important;
	color: rgba(255, 255, 255, .86) !important;
}

.l-footer__inner {
	border-top: 1px solid rgba(255, 255, 255, .13) !important;
}

.l-footer__foot {
	padding: clamp(46px, 5vw, 70px) 0 clamp(26px, 3vw, 38px) !important;
}

.l-footer__foot .l-container {
	width: min(1180px, calc(100vw - clamp(32px, 5vw, 72px))) !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr) !important;
	gap: clamp(28px, 5vw, 72px) !important;
	align-items: start !important;
	margin-inline: auto !important;
	padding: 0 !important;
}

.l-footer__foot .l-container::before {
	content: "エイチ製作所";
	display: block;
	color: #fff;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .04em;
}

.l-footer__nav {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(8em, auto)) !important;
	gap: 13px clamp(20px, 3vw, 36px) !important;
	justify-content: end !important;
	align-items: start !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.l-footer__nav,
.l-footer__nav li,
.l-footer__nav a {
	border: 0 !important;
	box-shadow: none !important;
}

.l-footer__nav li {
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

.l-footer__nav li::before,
.l-footer__nav li::after,
.l-footer__nav a::before,
.l-footer__nav a::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

.l-footer__nav a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .82) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	text-decoration: none !important;
	letter-spacing: .02em !important;
	transition: color .2s ease, opacity .2s ease;
}

.l-footer__nav a:hover {
	color: #fff !important;
	opacity: 1 !important;
}

.copyright {
	grid-column: 1 / -1 !important;
	margin: clamp(20px, 3vw, 32px) 0 0 !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(255, 255, 255, .12) !important;
	color: rgba(255, 255, 255, .58) !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	text-align: left !important;
}

@media (max-width: 960px) {
	.l-footer__foot .l-container {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.l-footer__nav {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		justify-content: start !important;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-top-contact-cta,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
		padding-bottom: 46px !important;
	}

	.l-footer__foot {
		padding: 38px 0 28px !important;
	}

	.l-footer__foot .l-container {
		width: calc(100vw - 32px) !important;
		gap: 24px !important;
	}

	.l-footer__nav {
		grid-template-columns: 1fr 1fr !important;
		gap: 12px 22px !important;
	}

	.l-footer__nav a {
		min-height: 30px !important;
		font-size: 14px !important;
	}

	.copyright {
		margin-top: 16px !important;
		padding-top: 18px !important;
		font-size: 12px !important;
	}
}

/* Footer refinement: CTA-to-footer rhythm and non-SWELL footer layout. */
#content[data-postid="10"] .post_content,
#content[data-postid="10"] .l-mainContent__inner,
#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .post_content,
#content:has(.h-seisakusho-lower-page) .l-mainContent__inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	margin-bottom: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-top-contact-cta {
	padding-bottom: clamp(58px, 6vw, 86px);
}

.l-footer {
	margin-top: 0 !important;
	background: #0b1114 !important;
	color: rgba(255, 255, 255, .86) !important;
}

.l-footer__inner {
	border-top: 1px solid rgba(255, 255, 255, .13);
}

.l-footer__foot {
	padding: clamp(46px, 5vw, 70px) 0 clamp(26px, 3vw, 38px) !important;
}

.l-footer__foot .l-container {
	width: min(1180px, calc(100vw - clamp(32px, 5vw, 72px))) !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
	margin-inline: auto;
	padding: 0 !important;
}

.l-footer__foot .l-container::before {
	content: "エイチ製作所";
	display: block;
	color: #fff;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .04em;
}

.l-footer__nav {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(8em, auto));
	gap: 13px clamp(20px, 3vw, 36px) !important;
	justify-content: end;
	align-items: start;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.l-footer__nav,
.l-footer__nav li,
.l-footer__nav a {
	border: 0 !important;
	box-shadow: none !important;
}

.l-footer__nav li {
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5;
}

.l-footer__nav li::before,
.l-footer__nav li::after,
.l-footer__nav a::before,
.l-footer__nav a::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

.l-footer__nav a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 !important;
	color: rgba(255, 255, 255, .82) !important;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.55;
	text-decoration: none !important;
	letter-spacing: .02em;
	transition: color .2s ease, opacity .2s ease;
}

.l-footer__nav a:hover {
	color: #fff !important;
	opacity: 1;
}

.copyright {
	grid-column: 1 / -1;
	margin: clamp(20px, 3vw, 32px) 0 0 !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(255, 255, 255, .12) !important;
	color: rgba(255, 255, 255, .58) !important;
	font-size: 13px !important;
	line-height: 1.6;
	text-align: left;
}

@media (max-width: 960px) {
	.l-footer__foot .l-container {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.l-footer__nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-content: start;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-top-contact-cta {
		padding-bottom: 52px;
	}

	.l-footer__foot {
		padding: 38px 0 28px !important;
	}

	.l-footer__foot .l-container {
		width: calc(100vw - 32px) !important;
		gap: 24px;
	}

	.l-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 12px 22px !important;
	}

	.l-footer__nav a {
		min-height: 30px;
		font-size: 14px !important;
	}

	.copyright {
		margin-top: 16px !important;
		padding-top: 18px !important;
		font-size: 12px !important;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-home,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-home {
		width: 100vw;
		max-width: 100vw;
		overflow: hidden;
	}

	.h-seisakusho-section,
	.h-seisakusho-hero {
		width: 100vw;
		max-width: 100vw;
	}

	.h-seisakusho-inner {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	.h-seisakusho-hero {
		min-height: 72vh;
	}

	.h-seisakusho-lower-hero,
	.h-seisakusho-subhero {
		min-height: min(560px, 70vh);
	}

	.h-seisakusho-hero__content {
		padding: 96px 0 56px;
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	.h-seisakusho-lower-hero .h-seisakusho-hero__content,
	.h-seisakusho-subhero .h-seisakusho-hero__content {
		padding: 84px 0 56px;
	}

	.h-seisakusho-label {
		font-size: 12px;
	}

	.h-seisakusho-lower-page .h-seisakusho-heading h2 {
		font-size: clamp(27px, 7.2vw, 30px);
		line-height: 1.18;
	}

	.h-seisakusho-hero__title {
		width: min(100%, 330px);
		font-size: clamp(23px, 5.8vw, 26px);
		line-height: 1.24;
		white-space: normal !important;
		word-break: break-all !important;
		overflow-wrap: anywhere !important;
	}

	.h-seisakusho-hero__lead {
		width: min(100%, calc(100vw - 72px));
		max-width: calc(100vw - 72px) !important;
		font-size: 13.5px;
		line-height: 1.7;
		white-space: normal !important;
		word-break: break-all !important;
		overflow-wrap: anywhere !important;
	}

	.h-seisakusho-home .h-seisakusho-hero__content .h-seisakusho-hero__lead.wp-block-paragraph {
		width: min(100%, 300px) !important;
		max-width: 300px !important;
	}

	.h-seisakusho-lead {
		width: 100%;
		max-width: 100%;
		font-size: clamp(18px, 4.8vw, 20px);
		line-height: 1.75;
		white-space: normal !important;
		word-break: break-all !important;
		overflow-wrap: anywhere !important;
	}

	.h-seisakusho-lower-page p,
	.h-seisakusho-lower-page li,
	.h-seisakusho-lower-page th,
	.h-seisakusho-lower-page td {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.h-seisakusho-lower-page .h-seisakusho-lead,
	.h-seisakusho-lower-page .h-seisakusho-text {
		width: min(100%, calc(100vw - 72px));
		max-width: calc(100vw - 72px) !important;
	}

	.h-seisakusho-home .h-seisakusho-lower-page .h-seisakusho-lead.wp-block-paragraph,
	.h-seisakusho-home .h-seisakusho-lower-page .h-seisakusho-lower-lead,
	.h-seisakusho-home .h-seisakusho-lower-page .h-seisakusho-text.wp-block-paragraph {
		width: min(100%, 318px) !important;
		max-width: 318px !important;
		padding-right: 24px !important;
	}

	.h-seisakusho-button .wp-block-button__link {
		max-width: 100%;
		white-space: normal;
		text-align: center;
	}

	.h-seisakusho-grid {
		grid-template-columns: 1fr;
	}

	.h-seisakusho-grid--3,
	.h-seisakusho-grid--2 {
		grid-template-columns: 1fr;
	}

	.h-seisakusho-chip-grid,
	.h-seisakusho-feature-grid,
	.h-seisakusho-lower-card-grid,
	.h-seisakusho-business-card-grid,
	.h-seisakusho-business-consult-grid,
	.h-seisakusho-business-flow-grid,
	.h-seisakusho-works-grid,
	.h-seisakusho-recruit-work-grid,
	.h-seisakusho-recruit-flow-grid,
	.h-seisakusho-company-history-grid {
		grid-template-columns: 1fr;
	}

	.h-seisakusho-business-detail__inner--reverse .h-seisakusho-business-detail__media {
		order: 2;
	}

	.h-seisakusho-business-detail__inner--reverse .h-seisakusho-business-detail__body {
		order: 1;
	}

	.h-seisakusho-business-detail__media {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0;
	}

	.h-seisakusho-business-detail__media,
	.h-seisakusho-business-equipment-photo,
	.h-seisakusho-recruit-photo,
	.h-seisakusho-company-photo {
		min-height: 220px;
	}

	.h-seisakusho-privacy-date {
		text-align: left;
	}

	.h-seisakusho-lower-faq-item h3 {
		padding-left: 0;
	}

	.h-seisakusho-lower-faq-item h3::before {
		position: static;
		margin-bottom: 10px;
	}

	.h-seisakusho-contact-page .wpcf7 .wpcf7-radio {
		display: grid;
		gap: 8px;
	}

	.h-seisakusho-contact-page .wpcf7 .wpcf7-radio .wpcf7-list-item {
		margin: 0;
	}

	.h-seisakusho-card__body {
		padding: 18px;
	}

	.h-seisakusho-table,
	.h-seisakusho-table table,
	.h-seisakusho-table tbody,
	.h-seisakusho-table tr,
	.h-seisakusho-table th,
	.h-seisakusho-table td {
		display: block;
		width: 100%;
	}

	.h-seisakusho-table th {
		border-bottom: 0;
		padding-bottom: 6px;
	}

	.h-seisakusho-table td {
		padding-top: 6px;
	}
}

@media (max-width: 767px) {
	.h-seisakusho-home .h-seisakusho-lower-lead {
		width: 318px !important;
		max-width: calc(100vw - 72px) !important;
		padding-right: 24px !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}
}

/* Final design tuning: reduce theme-default feel and make the site read wider. */
:root {
	--h-seisakusho-site-max: 1480px;
	--h-seisakusho-site-pad: clamp(24px, 4vw, 56px);
}

.l-header,
.l-fixHeader {
	border-bottom: 1px solid rgba(23, 25, 28, .08);
	background: rgba(255, 255, 255, .97);
	backdrop-filter: blur(10px);
	box-shadow: none;
}

.l-header__inner,
.l-fixHeader__inner,
.l-footer .l-container {
	width: min(var(--h-seisakusho-site-max), calc(100% - var(--h-seisakusho-site-pad) * 2));
	max-width: none;
}

.l-header__inner,
.l-fixHeader__inner {
	min-height: 74px;
}

.c-headLogo__link {
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 800;
	letter-spacing: .03em;
}

.c-gnav > .menu-item > a {
	padding: 0 clamp(12px, 1.25vw, 20px);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
}

.c-gnav > .menu-item > a::after {
	height: 2px;
	background: var(--h-seisakusho-deep, #073f4b);
}

.p-spMenu__inner {
	background: #f7f8f8;
}

.p-spMenu__nav .c-spnav a {
	padding: 16px 22px;
	font-weight: 700;
	letter-spacing: .03em;
}

#content:has(.h-seisakusho-lower-page) .c-pageTitle {
	display: none;
}

.page-id-26 #breadcrumb,
.page-id-28 #breadcrumb,
.page-id-32 #breadcrumb,
.page-id-34 #breadcrumb,
.page-id-36 #breadcrumb,
.page-id-37 #breadcrumb {
	display: none;
}

.h-seisakusho-inner,
.h-seisakusho-hero__content {
	width: min(var(--h-seisakusho-site-max), calc(100% - var(--h-seisakusho-site-pad) * 2));
	max-width: none;
}

.h-seisakusho-section {
	padding: clamp(64px, 7vw, 112px) 0;
}

.h-seisakusho-section--compact {
	padding: clamp(48px, 5vw, 82px) 0;
}

.h-seisakusho-hero {
	min-height: min(780px, 84vh);
}

.h-seisakusho-lower-hero,
.h-seisakusho-subhero {
	min-height: clamp(430px, 42vw, 560px);
}

.h-seisakusho-hero::after {
	background:
		linear-gradient(90deg, rgba(10, 12, 14, .82), rgba(10, 12, 14, .48) 48%, rgba(10, 12, 14, .2)),
		linear-gradient(0deg, rgba(10, 12, 14, .38), rgba(10, 12, 14, 0) 48%);
}

.h-seisakusho-lower-hero .h-seisakusho-hero__image,
.h-seisakusho-subhero .h-seisakusho-hero__image {
	opacity: .7;
}

.h-seisakusho-lower-hero .h-seisakusho-hero__content,
.h-seisakusho-subhero .h-seisakusho-hero__content {
	padding: clamp(88px, 10vw, 124px) 0 clamp(62px, 7vw, 92px);
}

.h-seisakusho-label {
	gap: 12px;
	margin-bottom: 16px;
	font-size: 12px;
	letter-spacing: .16em;
}

.h-seisakusho-label::before {
	width: 34px;
	height: 1px;
}

.h-seisakusho-hero__title {
	font-size: clamp(44px, 5.4vw, 74px);
	letter-spacing: 0;
}

.h-seisakusho-lower-hero .h-seisakusho-hero__title,
.h-seisakusho-subhero .h-seisakusho-hero__title {
	font-size: clamp(42px, 4.8vw, 64px);
}

.h-seisakusho-hero__lead {
	max-width: 760px;
	line-height: 1.82;
}

.h-seisakusho-heading {
	grid-template-columns: minmax(0, .92fr) minmax(280px, 520px);
	gap: clamp(28px, 5vw, 82px);
	margin-bottom: clamp(34px, 4.6vw, 60px);
	padding-top: 0;
	border-top: 0;
}

.h-seisakusho-heading h2 {
	padding-bottom: 16px;
	font-size: clamp(30px, 3.6vw, 48px);
	line-height: 1.16;
}

.h-seisakusho-heading h2::before {
	margin-bottom: 11px;
	font-size: 11px;
	letter-spacing: .18em;
}

.h-seisakusho-heading h2::after {
	width: min(100%, 360px);
	height: 1px;
	background: rgba(7, 63, 75, .44);
}

.h-seisakusho-heading p {
	max-width: 560px;
	font-size: 15px;
	line-height: 1.9;
}

.h-seisakusho-lead {
	max-width: 1180px;
	font-size: clamp(20px, 2.2vw, 30px);
}

.h-seisakusho-text {
	max-width: 900px;
}

.h-seisakusho-grid,
.h-seisakusho-feature-grid,
.h-seisakusho-lower-card-grid,
.h-seisakusho-business-card-grid,
.h-seisakusho-works-grid,
.h-seisakusho-recruit-work-grid,
.h-seisakusho-company-history-grid {
	gap: clamp(18px, 2vw, 28px);
}

.h-seisakusho-card,
.h-seisakusho-feature,
.h-seisakusho-chip,
.h-seisakusho-inline-cta,
.h-seisakusho-lower-card,
.h-seisakusho-contact-card,
.h-seisakusho-lower-faq-item,
.h-seisakusho-company-equipment-list p,
.h-seisakusho-company-history-item {
	border: 1px solid rgba(23, 25, 28, .08);
	border-top: 1px solid rgba(23, 25, 28, .08);
	box-shadow: none;
}

.h-seisakusho-card {
	background: #fff;
}

.h-seisakusho-card__image,
.h-seisakusho-photo,
.h-seisakusho-business-detail__media,
.h-seisakusho-recruit-photo,
.h-seisakusho-company-photo {
	box-shadow: none;
}

.h-seisakusho-card__image {
	aspect-ratio: 16 / 10;
}

.h-seisakusho-card__body {
	padding: clamp(20px, 2.4vw, 28px);
}

.h-seisakusho-card__body::before {
	content: none;
}

.h-seisakusho-feature {
	padding: clamp(22px, 2.5vw, 32px);
}

.h-seisakusho-inline-cta {
	border: 1px solid rgba(255, 255, 255, .12);
	background: #fff;
}

.h-seisakusho-lower-cta {
	background:
		linear-gradient(110deg, rgba(7, 63, 75, .32), rgba(23, 25, 28, 0) 58%),
		#17191c;
}

.h-seisakusho-button {
	border-radius: 2px;
}

.h-seisakusho-button .wp-block-button__link {
	min-height: 50px;
	padding: 13px 26px;
}

.h-seisakusho-contact-form-section {
	background:
		linear-gradient(110deg, rgba(7, 63, 75, .16), rgba(255, 255, 255, 0) 60%),
		#202428;
}

.h-seisakusho-contact-page .wpcf7 form {
	max-width: 960px;
	gap: 16px;
}

.h-seisakusho-contact-page .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.h-seisakusho-contact-page .wpcf7 select,
.h-seisakusho-contact-page .wpcf7 textarea {
	border-color: rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .98);
}

.h-seisakusho-contact-page .wpcf7 input[type="submit"] {
	min-width: 150px;
	background: var(--h-seisakusho-accent);
}

.l-footer {
	margin-top: 0;
	background: #17191c;
	color: rgba(255, 255, 255, .78);
}

.l-footer__inner,
.l-footer__foot {
	background: transparent;
}

.l-footer__foot {
	padding: 38px 0 32px;
	border-top: 0;
}

.l-footer__foot .l-container {
	display: grid;
	gap: 18px;
}

.l-footer__foot .l-container::before {
	content: "エイチ製作所";
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .03em;
}

.l-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	border: 0;
}

.l-footer__nav li {
	border: 0;
}

.l-footer__nav a {
	padding: 0;
	color: rgba(255, 255, 255, .78);
	font-size: 13px;
	text-decoration: none;
}

.l-footer__nav a:hover {
	color: #fff;
}

.copyright {
	margin: 0;
	color: rgba(255, 255, 255, .5);
	font-size: 12px;
	text-align: left;
}

@media (max-width: 960px) {
	:root {
		--h-seisakusho-site-pad: 20px;
	}

	.l-header__inner,
	.l-fixHeader__inner {
		min-height: 60px;
	}

	.h-seisakusho-heading {
		gap: 16px;
	}

	.h-seisakusho-heading p {
		max-width: 720px;
	}
}

@media (max-width: 640px) {
	:root {
		--h-seisakusho-site-pad: 16px;
	}

	.l-header__inner,
	.l-fixHeader__inner,
	.l-footer .l-container,
	.h-seisakusho-inner,
	.h-seisakusho-hero__content {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	.c-headLogo__link {
		font-size: 20px;
	}

	.h-seisakusho-hero {
		min-height: 70vh;
	}

	.h-seisakusho-lower-hero,
	.h-seisakusho-subhero {
		min-height: min(520px, 68vh);
	}

	.h-seisakusho-lower-hero .h-seisakusho-hero__content,
	.h-seisakusho-subhero .h-seisakusho-hero__content {
		padding: 78px 0 54px;
	}

	.h-seisakusho-hero__title,
	.h-seisakusho-lower-hero .h-seisakusho-hero__title,
	.h-seisakusho-subhero .h-seisakusho-hero__title {
		width: min(100%, 340px);
		font-size: clamp(34px, 10.4vw, 44px);
		line-height: 1.12;
		word-break: keep-all !important;
		overflow-wrap: anywhere !important;
	}

	.h-seisakusho-home .h-seisakusho-hero__content .h-seisakusho-hero__lead.wp-block-paragraph {
		width: min(100%, 336px) !important;
		max-width: 336px !important;
		font-size: 14px;
		line-height: 1.72;
		word-break: normal !important;
	}

	.h-seisakusho-heading h2 {
		font-size: clamp(28px, 8vw, 34px);
		line-height: 1.2;
	}

	.h-seisakusho-heading h2::after {
		width: 220px;
	}

	.h-seisakusho-lead {
		font-size: clamp(19px, 5.4vw, 23px);
		line-height: 1.72;
	}

	.h-seisakusho-home .h-seisakusho-lower-lead {
		width: min(100%, 340px) !important;
		max-width: 340px !important;
		padding-right: 0 !important;
	}

	.h-seisakusho-card__image {
		aspect-ratio: 16 / 10;
	}

	.l-footer__foot {
		padding: 32px 0 28px;
	}

	.l-footer__nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 18px;
	}
}

/* TOP priority stabilization: width, mobile typography, buttons, footer, and embedded CF7. */
#content[data-postid="10"] {
	width: 100vw;
	max-width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

#content[data-postid="10"] .post_content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-home {
	background:
		linear-gradient(90deg, rgba(7, 63, 75, .035), rgba(255, 255, 255, 0) 42%),
		#fff;
}

#content[data-postid="10"] .h-seisakusho-hero,
#content[data-postid="10"] .h-seisakusho-section {
	width: min(100vw, 100%);
	max-width: 100vw;
}

#content[data-postid="10"] .h-seisakusho-hero {
	min-height: min(790px, calc(100vh - 74px));
	border-top: 1px solid rgba(255, 255, 255, .08);
}

#content[data-postid="10"] .h-seisakusho-hero__image {
	opacity: .78;
}

#content[data-postid="10"] .h-seisakusho-hero__image img {
	object-position: center right;
}

#content[data-postid="10"] .h-seisakusho-hero__content,
#content[data-postid="10"] .h-seisakusho-inner {
	width: min(1620px, calc(100vw - clamp(32px, 5vw, 72px)));
	max-width: none;
}

#content[data-postid="10"] .h-seisakusho-hero__content {
	padding-top: clamp(104px, 12vh, 150px);
	padding-bottom: clamp(72px, 10vh, 112px);
}

#content[data-postid="10"] .h-seisakusho-hero__content > .wp-block-group__inner-container {
	max-width: 1180px;
}

#content[data-postid="10"] .h-seisakusho-hero__title {
	max-width: 940px;
	font-size: clamp(34px, 3.5vw, 58px);
	line-height: 1.18;
}

#content[data-postid="10"] .h-seisakusho-hero__lead {
	max-width: 980px;
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.9;
}

#content[data-postid="10"] .h-seisakusho-buttons {
	align-items: stretch;
	gap: 14px;
}

#content[data-postid="10"] .h-seisakusho-button {
	width: 260px;
	min-height: 56px;
	border: 1px solid transparent;
	border-radius: 2px;
}

#content[data-postid="10"] .h-seisakusho-button--sub {
	border-color: rgba(255, 255, 255, .82);
	background: rgba(255, 255, 255, .02);
}

#content[data-postid="10"] .h-seisakusho-button .wp-block-button__link {
	width: 100%;
	min-height: 56px;
	padding: 15px 22px;
	font-size: 15px;
	line-height: 1.35;
	white-space: normal;
}

#content[data-postid="10"] .h-seisakusho-section {
	position: relative;
	padding: clamp(72px, 7.5vw, 118px) 0;
}

#content[data-postid="10"] .h-seisakusho-section--compact {
	padding: clamp(56px, 5.5vw, 86px) 0;
}

#content[data-postid="10"] .h-seisakusho-section--gray {
	background:
		linear-gradient(120deg, rgba(7, 63, 75, .06), rgba(243, 245, 245, 0) 44%),
		linear-gradient(0deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, 0) 42%),
		#f1f4f4;
}

#content[data-postid="10"] .h-seisakusho-heading h2,
#content[data-postid="10"] .h-seisakusho-heading p,
#content[data-postid="10"] .h-seisakusho-lead,
#content[data-postid="10"] .h-seisakusho-text,
#content[data-postid="10"] .h-seisakusho-card h3,
#content[data-postid="10"] .h-seisakusho-card p,
#content[data-postid="10"] .h-seisakusho-feature h3,
#content[data-postid="10"] .h-seisakusho-feature p {
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

#content[data-postid="10"] .h-seisakusho-lead {
	max-width: 1280px;
	font-size: clamp(20px, 1.9vw, 28px);
	line-height: 1.85;
}

#content[data-postid="10"] .h-seisakusho-card,
#content[data-postid="10"] .h-seisakusho-feature {
	border-color: rgba(23, 25, 28, .1);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 248, 248, .92));
}

#content[data-postid="10"] .h-seisakusho-card__image,
#content[data-postid="10"] .h-seisakusho-photo {
	overflow: hidden;
	background: #15181b;
}

#content[data-postid="10"] .h-seisakusho-card__image img,
#content[data-postid="10"] .h-seisakusho-photo img {
	filter: saturate(.95) contrast(1.04);
	transform: scale(1.01);
}

#content[data-postid="10"] .h-seisakusho-cta {
	background:
		linear-gradient(115deg, rgba(7, 63, 75, .35), rgba(23, 25, 28, 0) 52%),
		linear-gradient(0deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)),
		#17191c;
}

#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner {
	max-width: 1240px;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 {
	margin-top: clamp(28px, 4vw, 44px);
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 form {
	display: grid;
	gap: 16px;
	max-width: 980px;
	margin: 0;
}

#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	gap: 14px 18px;
	margin: 0;
}

#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form dt,
#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form dd {
	margin: 0;
}

#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form dt {
	padding-top: 13px;
	color: rgba(255, 255, 255, .88);
	font-weight: 700;
}

#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form dd p,
#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-submit p {
	margin: 0;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
#content[data-postid="10"] .h-seisakusho-cta .wpcf7 textarea {
	width: 100%;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 2px;
	background: rgba(255, 255, 255, .97);
	color: var(--h-seisakusho-ink);
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 textarea {
	min-height: 170px;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-list-item {
	margin-left: 0;
	margin-right: 18px;
	color: rgba(255, 255, 255, .88);
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-list-item label {
	display: inline-flex;
	gap: 8px;
	align-items: center;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7 input[type="submit"] {
	min-width: 180px;
	min-height: 54px;
	padding: 14px 28px;
	border: 0;
	border-radius: 2px;
	background: var(--h-seisakusho-accent);
	color: #fff;
	font-weight: 800;
}

#content[data-postid="10"] .h-seisakusho-cta .wpcf7-response-output {
	margin: 4px 0 0;
	color: #fff;
}

.l-footer {
	background:
		linear-gradient(110deg, rgba(7, 63, 75, .28), rgba(7, 63, 75, 0) 46%),
		#14171a;
}

.l-footer__foot {
	padding: clamp(42px, 5vw, 64px) 0 clamp(30px, 4vw, 44px);
}

.l-footer__foot .l-container {
	grid-template-columns: minmax(220px, .85fr) minmax(0, 1.5fr);
	align-items: start;
	gap: 22px 56px;
}

.l-footer__foot .l-container::before {
	align-self: start;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.2;
}

.l-footer__nav {
	justify-content: flex-end;
	gap: 12px 24px;
}

.l-footer__nav a {
	font-size: 14px;
	line-height: 1.6;
}

.copyright {
	grid-column: 1 / -1;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: 12px;
}

@media (max-width: 960px) {
	#content[data-postid="10"] .h-seisakusho-hero__content,
	#content[data-postid="10"] .h-seisakusho-inner {
		width: min(100%, calc(100vw - 40px));
	}

	#content[data-postid="10"] .h-seisakusho-heading {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#content[data-postid="10"] .h-seisakusho-heading p {
		max-width: 760px;
	}

	#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-cf7-form dt {
		padding-top: 0;
	}

	.l-footer__foot .l-container {
		grid-template-columns: 1fr;
	}

	.l-footer__nav {
		justify-content: flex-start;
	}
}

@media (min-width: 641px) {
	#content[data-postid="10"] .h-seisakusho-hero__title {
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		text-wrap: balance;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] {
		margin-right: 0;
		margin-left: 0;
	}

	#content[data-postid="10"] .h-seisakusho-hero {
		min-height: 540px;
	}

	#content[data-postid="10"] .h-seisakusho-hero__image img {
		object-position: 58% center;
	}

	#content[data-postid="10"] .h-seisakusho-hero__content,
	#content[data-postid="10"] .h-seisakusho-inner {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	#content[data-postid="10"] .h-seisakusho-hero__content {
		padding-top: 92px;
		padding-bottom: 44px;
	}

	#content[data-postid="10"] .h-seisakusho-hero__title {
		width: 100%;
		max-width: 100%;
		font-size: clamp(27px, 7.6vw, 31px);
		line-height: 1.16;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero__lead {
		width: 100% !important;
		max-width: 340px !important;
		font-size: 13px;
		line-height: 1.78;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}

	#content[data-postid="10"] .h-seisakusho-buttons {
		display: grid;
		grid-template-columns: 1fr;
		width: min(100%, 280px);
		gap: 10px;
	}

	#content[data-postid="10"] .h-seisakusho-button {
		width: 100%;
		min-height: 54px;
	}

	#content[data-postid="10"] .h-seisakusho-button .wp-block-button__link {
		min-height: 54px;
		font-size: 14px;
	}

	#content[data-postid="10"] .h-seisakusho-section {
		padding: 58px 0;
	}

	#content[data-postid="10"] .h-seisakusho-section--compact {
		padding: 46px 0;
	}

	#content[data-postid="10"] .h-seisakusho-heading {
		margin-bottom: 28px;
	}

	#content[data-postid="10"] .h-seisakusho-heading h2 {
		width: 100%;
		font-size: clamp(26px, 7.4vw, 32px);
		line-height: 1.22;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}

	#content[data-postid="10"] .h-seisakusho-heading h2::after {
		width: min(100%, 210px);
	}

	#content[data-postid="10"] .h-seisakusho-heading p,
	#content[data-postid="10"] .h-seisakusho-text {
		font-size: 14px;
		line-height: 1.9;
	}

	#content[data-postid="10"] .h-seisakusho-lead {
		font-size: 18px;
		line-height: 1.85;
	}

	#content[data-postid="10"] #consultation .h-seisakusho-lead {
		max-width: 100%;
		font-size: 16px;
	}

	#content[data-postid="10"] .h-seisakusho-chip {
		padding: 15px 16px;
	}

	#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-radio,
	#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-acceptance {
		display: grid;
		gap: 8px;
	}

	#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-list-item {
		margin: 0;
	}

	#content[data-postid="10"] .h-seisakusho-cta .wpcf7 .wpcf7-list-item label {
		align-items: flex-start;
		line-height: 1.7;
	}

	#content[data-postid="10"] .h-seisakusho-cta .wpcf7 input[type="submit"] {
		width: 100%;
	}

	.l-footer__foot {
		padding: 38px 0 30px;
	}

	.l-footer__foot .l-container {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
		gap: 18px;
	}

	.l-footer__nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px 18px;
	}

	.l-footer__nav a {
		font-size: 13px;
	}

	.copyright {
		padding-top: 16px;
		line-height: 1.7;
	}
}

/* Final brushup overrides: keep these last. */
.h-seisakusho-heading h2::before {
	content: "SECTION";
	color: rgba(178, 31, 45, .92);
}

#reason .h-seisakusho-heading h2::before { content: "FEATURES"; }
#business .h-seisakusho-heading h2::before,
#business-overview .h-seisakusho-heading h2::before,
#business-contact .h-seisakusho-heading h2::before { content: "BUSINESS"; }
#works .h-seisakusho-heading h2::before,
#works-list .h-seisakusho-heading h2::before,
#works-fields .h-seisakusho-heading h2::before,
#works-contact .h-seisakusho-heading h2::before { content: "WORKS"; }
#business-equipment .h-seisakusho-heading h2::before,
#company-equipment .h-seisakusho-heading h2::before { content: "FACILITY"; }
#recruit .h-seisakusho-heading h2::before,
#recruit-work .h-seisakusho-heading h2::before,
#recruit-environment .h-seisakusho-heading h2::before,
#recruit-values .h-seisakusho-heading h2::before,
#recruit-requirements .h-seisakusho-heading h2::before,
#recruit-flow .h-seisakusho-heading h2::before,
#recruit-contact .h-seisakusho-heading h2::before { content: "RECRUIT"; }
#company .h-seisakusho-heading h2::before,
#company-message .h-seisakusho-heading h2::before,
#company-profile .h-seisakusho-heading h2::before,
#company-fields .h-seisakusho-heading h2::before,
#company-history .h-seisakusho-heading h2::before,
#company-access .h-seisakusho-heading h2::before,
#company-contact .h-seisakusho-heading h2::before { content: "COMPANY"; }
#contact .h-seisakusho-heading h2::before,
#contact-type .h-seisakusho-heading h2::before,
#contact-form .h-seisakusho-heading h2::before,
#contact-tel .h-seisakusho-heading h2::before { content: "CONTACT"; }
#contact-faq .h-seisakusho-heading h2::before,
#recruit-faq .h-seisakusho-heading h2::before { content: "FAQ"; }
.h-seisakusho-privacy-content h2::before,
.h-seisakusho-privacy-page .h-seisakusho-heading h2::before { content: "PRIVACY"; }

#content[data-postid="10"] .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner {
	width: min(1180px, calc(100vw - clamp(32px, 5vw, 72px)));
	max-width: none;
}

#content[data-postid="10"] .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-inner {
	width: min(1620px, calc(100vw - clamp(32px, 5vw, 72px)));
}

.h-seisakusho-privacy-content .h-seisakusho-inner,
.h-seisakusho-privacy-page .h-seisakusho-section:not(.h-seisakusho-hero) .h-seisakusho-inner {
	width: min(900px, calc(100vw - clamp(32px, 6vw, 96px))) !important;
}

.h-seisakusho-top-contact-cta .h-seisakusho-inner {
	display: grid;
	grid-template-columns: minmax(0, .95fr) auto;
	gap: clamp(24px, 5vw, 72px);
	align-items: end;
}

.h-seisakusho-top-contact-cta .h-seisakusho-heading {
	display: block;
	margin-bottom: 0;
}

.h-seisakusho-top-contact-cta .h-seisakusho-buttons {
	margin: 0;
}

.h-seisakusho-contact-page .wpcf7 form {
	display: block;
	max-width: 760px;
	margin: clamp(28px, 4vw, 44px) 0 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt,
.h-seisakusho-contact-page .h-seisakusho-cf7-form dd {
	margin: 0;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dt {
	padding-top: 8px;
	color: rgba(255, 255, 255, .9);
	font-weight: 800;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dd + dt {
	margin-top: 8px;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-form dd p,
.h-seisakusho-contact-page .h-seisakusho-cf7-submit p {
	margin: 0;
}

.h-seisakusho-contact-page .wpcf7 .wpcf7-radio {
	display: grid;
	gap: 10px;
}

.h-seisakusho-contact-page .h-seisakusho-cf7-submit {
	margin-top: 22px;
}

.l-footer__foot {
	padding: clamp(56px, 6vw, 84px) 0 clamp(36px, 4vw, 48px);
}

.l-footer__foot .l-container {
	display: grid;
	grid-template-columns: minmax(240px, .8fr) minmax(0, 1.35fr);
	gap: 32px 72px;
	align-items: start;
}

.l-footer__foot .l-container::before {
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.2;
}

.l-footer__nav {
	display: grid;
	grid-template-columns: repeat(4, max-content);
	justify-content: end;
	gap: 14px 26px;
}

.l-footer__nav a {
	font-size: 15px;
	line-height: 1.7;
}

.copyright {
	grid-column: 1 / -1;
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: 13px;
}

@media (max-width: 960px) {
	.h-seisakusho-top-contact-cta .h-seisakusho-inner,
	.l-footer__foot .l-container {
		grid-template-columns: 1fr;
	}

	.l-footer__nav {
		justify-content: start;
		grid-template-columns: repeat(3, max-content);
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-inner,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner,
	#content[data-postid="10"] .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
	#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-inner {
		width: calc(100vw - 32px);
		max-width: calc(100vw - 32px);
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-buttons {
		width: 100%;
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-button {
		width: min(100%, 280px);
	}

	.h-seisakusho-contact-page .wpcf7 form {
		max-width: 100%;
	}

	.l-footer__foot {
		padding: 44px 0 34px;
	}

	.l-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 12px 20px;
	}

	.l-footer__nav a {
		font-size: 14px;
	}
}

/* Footer refinement live override: final file tail. */

#content[data-postid="10"] .post_content,
#content[data-postid="10"] .l-mainContent__inner,
#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .post_content,
#content:has(.h-seisakusho-lower-page) .l-mainContent__inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	margin-bottom: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	padding-bottom: clamp(52px, 5vw, 76px) !important;
}

.l-footer {
	margin-top: 0 !important;
	background: #0b1114 !important;
	color: rgba(255, 255, 255, .86) !important;
}

.l-footer__inner {
	border-top: 1px solid rgba(255, 255, 255, .13) !important;
}

.l-footer__foot {
	padding: clamp(46px, 5vw, 70px) 0 clamp(26px, 3vw, 38px) !important;
}

.l-footer__foot .l-container {
	width: min(1180px, calc(100vw - clamp(32px, 5vw, 72px))) !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr) !important;
	gap: clamp(28px, 5vw, 72px) !important;
	align-items: start !important;
	margin-inline: auto !important;
	padding: 0 !important;
}

.l-footer__foot .l-container::before {
	content: "エイチ製作所";
	display: block;
	color: #fff;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .04em;
}

.l-footer__nav {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(8em, auto)) !important;
	gap: 13px clamp(20px, 3vw, 36px) !important;
	justify-content: end !important;
	align-items: start !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.l-footer__nav,
.l-footer__nav li,
.l-footer__nav a {
	border: 0 !important;
	box-shadow: none !important;
}

.l-footer__nav li {
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

.l-footer__nav li::before,
.l-footer__nav li::after,
.l-footer__nav a::before,
.l-footer__nav a::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

.l-footer__nav a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .82) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	text-decoration: none !important;
	letter-spacing: .02em !important;
	transition: color .2s ease, opacity .2s ease;
}

.l-footer__nav a:hover {
	color: #fff !important;
	opacity: 1 !important;
}

.copyright {
	grid-column: 1 / -1 !important;
	margin: clamp(20px, 3vw, 32px) 0 0 !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(255, 255, 255, .12) !important;
	color: rgba(255, 255, 255, .58) !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	text-align: left !important;
}

@media (max-width: 960px) {
	.l-footer__foot .l-container {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.l-footer__nav {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		justify-content: start !important;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-top-contact-cta,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
		padding-bottom: 46px !important;
	}

	.l-footer__foot {
		padding: 38px 0 28px !important;
	}

	.l-footer__foot .l-container {
		width: calc(100vw - 32px) !important;
		gap: 24px !important;
	}

	.l-footer__nav {
		grid-template-columns: 1fr 1fr !important;
		gap: 12px 22px !important;
	}

	.l-footer__nav a {
		min-height: 30px !important;
		font-size: 14px !important;
	}

	.copyright {
		margin-top: 16px !important;
		padding-top: 18px !important;
		font-size: 12px !important;
	}
}

/* Remove SWELL content bottom gap before the custom footer. */
body.page-id-10 #content.l-content,
#content.l-content:has(.h-seisakusho-lower-page) {
	margin-bottom: 0 !important;
}

/* TOP wrapper class is on #body_wrap in SWELL. */
#body_wrap.page-id-10 #content.l-content,
#body_wrap.home #content.l-content,
#body_wrap.id_10 #content.l-content {
	margin-bottom: 0 !important;
}

/* Final balance pass: align FV, CTA, footer, and section rhythm. */
:root {
	--h-seisakusho-content-width: min(1180px, calc(100vw - clamp(32px, 5vw, 72px)));
	--h-seisakusho-readable-width: min(900px, calc(100vw - clamp(32px, 6vw, 96px)));
}

#content[data-postid="10"] .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-inner,
#content[data-postid="10"] .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content,
#content[data-postid="10"] .h-seisakusho-cta .h-seisakusho-inner,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-inner,
.l-footer__foot .l-container {
	width: var(--h-seisakusho-content-width) !important;
	max-width: none !important;
}

#content[data-postid="10"] .h-seisakusho-hero,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero {
	min-height: clamp(560px, 64vh, 760px) !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero {
	min-height: clamp(430px, 52vh, 580px) !important;
}

#content[data-postid="10"] .h-seisakusho-hero__image,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image {
	inset: 0 clamp(24px, 4vw, 64px) !important;
	width: auto !important;
	border-radius: 0 0 6px 6px;
	overflow: hidden;
}

#content[data-postid="10"] .h-seisakusho-hero__image img,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image img {
	object-position: center center !important;
}

#content[data-postid="10"] .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content {
	left: 50% !important;
	transform: translateX(-50%) !important;
	padding-inline: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-section,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-section {
	padding-block: clamp(74px, 8vw, 116px) !important;
}

#content[data-postid="10"] .h-seisakusho-section--compact,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-section--compact {
	padding-block: clamp(54px, 6vw, 82px) !important;
}

#content[data-postid="10"] .h-seisakusho-section--gray,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-section--gray {
	padding-block: clamp(84px, 9vw, 126px) !important;
}

#content[data-postid="10"] .h-seisakusho-cta,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	padding-block: clamp(74px, 7vw, 104px) !important;
}

#content[data-postid="10"] .h-seisakusho-top-contact-cta,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
	background:
		linear-gradient(135deg, rgba(13, 42, 48, .94), rgba(20, 22, 25, .98)),
		#141619 !important;
}

.h-seisakusho-top-contact-cta .h-seisakusho-inner {
	grid-template-columns: minmax(0, .78fr) minmax(240px, .52fr) !important;
	gap: clamp(28px, 5vw, 64px) !important;
	align-items: center !important;
}

.h-seisakusho-top-contact-cta .h-seisakusho-text {
	max-width: 540px;
}

#content[data-postid="10"] .h-seisakusho-hero__title,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__title,
#content[data-postid="10"] .h-seisakusho-heading h2,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading h2 {
	overflow-wrap: anywhere;
	word-break: keep-all;
	line-break: strict;
}

#content[data-postid="10"] .h-seisakusho-text,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-text,
#content[data-postid="10"] .h-seisakusho-card p,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-card p {
	line-height: 1.9;
}

.h-seisakusho-privacy-content .h-seisakusho-inner,
.h-seisakusho-privacy-page .h-seisakusho-section:not(.h-seisakusho-hero) .h-seisakusho-inner {
	width: var(--h-seisakusho-readable-width) !important;
}

.l-footer__foot {
	padding: clamp(42px, 4.4vw, 62px) 0 clamp(24px, 2.8vw, 34px) !important;
}

.l-footer__foot .l-container {
	gap: clamp(26px, 4vw, 58px) !important;
}

.l-footer__nav {
	gap: 12px clamp(22px, 3vw, 38px) !important;
}

.copyright {
	margin-top: clamp(18px, 2.5vw, 28px) !important;
}

@media (max-width: 960px) {
	#content[data-postid="10"] .h-seisakusho-hero,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero {
		min-height: clamp(520px, 62vh, 680px) !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero__image,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image {
		inset: 0 clamp(18px, 3vw, 32px) !important;
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-inner {
		grid-template-columns: 1fr !important;
	}

	.h-seisakusho-top-contact-cta .h-seisakusho-text {
		max-width: 680px;
	}
}

@media (max-width: 640px) {
	:root {
		--h-seisakusho-content-width: calc(100vw - 32px);
		--h-seisakusho-readable-width: calc(100vw - 32px);
	}

	#content[data-postid="10"] .h-seisakusho-hero,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero {
		min-height: clamp(560px, 74vh, 680px) !important;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero {
		min-height: clamp(420px, 58vh, 520px) !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero__image,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image {
		inset: 0 16px !important;
		border-radius: 0 0 4px 4px;
	}

	#content[data-postid="10"] .h-seisakusho-section,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-section {
		padding-block: 58px !important;
	}

	#content[data-postid="10"] .h-seisakusho-section--compact,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-section--compact {
		padding-block: 46px !important;
	}

	#content[data-postid="10"] .h-seisakusho-cta,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta {
		padding-block: 56px !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero__title,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__title,
	#content[data-postid="10"] .h-seisakusho-heading h2,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-heading h2 {
		overflow-wrap: normal;
		word-break: keep-all;
	}
}

/* FV position pass: align copy blocks to the content left edge. */
#content[data-postid="10"] .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content {
	left: auto !important;
	transform: none !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

#content[data-postid="10"] .h-seisakusho-hero__content {
	padding-top: clamp(132px, 14vh, 168px) !important;
	padding-bottom: clamp(66px, 8vh, 92px) !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero .h-seisakusho-hero__content,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero .h-seisakusho-hero__content {
	padding-top: clamp(112px, 11vw, 142px) !important;
	padding-bottom: clamp(66px, 7vw, 88px) !important;
}

#content[data-postid="10"] .h-seisakusho-hero__content > .wp-block-group__inner-container,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content > .wp-block-group__inner-container {
	margin-left: 0 !important;
	margin-right: auto !important;
}

#content[data-postid="10"] .h-seisakusho-buttons,
#content:has(.h-seisakusho-lower-page) .h-seisakusho-buttons {
	justify-content: flex-start !important;
}

@media (max-width: 960px) {
	#content[data-postid="10"] .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__content {
		left: auto !important;
		transform: none !important;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-hero__content {
		padding-top: clamp(210px, 30vh, 270px) !important;
		padding-bottom: 44px !important;
	}

	#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-hero .h-seisakusho-hero__content,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-subhero .h-seisakusho-hero__content {
		padding-top: clamp(190px, 27vh, 240px) !important;
		padding-bottom: 42px !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero__lead,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__lead {
		max-width: 100% !important;
	}
}

/* UI consistency pass: privacy article headings and FAQ components. */
.h-seisakusho-privacy-content .h-seisakusho-inner,
.h-seisakusho-privacy-page .h-seisakusho-section:not(.h-seisakusho-hero) .h-seisakusho-inner {
	width: min(900px, calc(100vw - clamp(32px, 6vw, 96px))) !important;
}

.h-seisakusho-privacy-content {
	background:
		linear-gradient(90deg, rgba(7, 63, 75, .025), rgba(255, 255, 255, 0) 42%),
		#fff !important;
}

.h-seisakusho-privacy-item {
	padding: clamp(26px, 3.2vw, 40px) 0 !important;
	border-top: 1px solid rgba(23, 25, 28, .14) !important;
}

.h-seisakusho-privacy-item:first-child {
	padding-top: 0 !important;
	border-top: 0 !important;
}

.h-seisakusho-privacy-content .h-seisakusho-privacy-item h2.wp-block-heading,
.h-seisakusho-privacy-content h2.wp-block-heading {
	position: relative !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--h-seisakusho-ink) !important;
	font-size: clamp(22px, 2.3vw, 30px) !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
}

.h-seisakusho-privacy-content .h-seisakusho-privacy-item h2.wp-block-heading::before,
.h-seisakusho-privacy-content .h-seisakusho-privacy-item h2.wp-block-heading::after,
.h-seisakusho-privacy-content h2.wp-block-heading::before,
.h-seisakusho-privacy-content h2.wp-block-heading::after {
	content: none !important;
	display: none !important;
}

.h-seisakusho-privacy-item p,
.h-seisakusho-privacy-item li {
	color: rgba(23, 25, 28, .72) !important;
	font-size: 16px;
	line-height: 1.95 !important;
}

.h-seisakusho-privacy-item .h-seisakusho-list {
	display: grid;
	gap: 8px;
	margin: 16px 0 0 !important;
	padding: 0 !important;
}

.h-seisakusho-privacy-item .h-seisakusho-list li {
	position: relative;
	padding-left: 1.35em;
}

.h-seisakusho-privacy-item .h-seisakusho-list li::before {
	content: "";
	position: absolute;
	top: .9em;
	left: 0;
	width: .42em;
	height: .42em;
	border-radius: 999px;
	background: var(--h-seisakusho-deep);
}

#contact-faq .h-seisakusho-lower-faq-item,
#recruit-faq .h-seisakusho-lower-faq-item,
.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item {
	margin-top: 16px !important;
	padding: clamp(22px, 3vw, 30px) !important;
	border: 1px solid rgba(23, 25, 28, .1) !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: none !important;
}

#contact-faq .h-seisakusho-lower-faq-item:first-of-type,
#recruit-faq .h-seisakusho-lower-faq-item:first-of-type,
.h-seisakusho-heading + .h-seisakusho-lower-faq-item {
	margin-top: 0 !important;
}

#contact-faq .h-seisakusho-lower-faq-item > .wp-block-group__inner-container,
#recruit-faq .h-seisakusho-lower-faq-item > .wp-block-group__inner-container {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
}

#contact-faq .h-seisakusho-lower-faq-item h3,
#recruit-faq .h-seisakusho-lower-faq-item h3,
.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item h3 {
	position: relative !important;
	margin: 0 0 12px !important;
	padding: 0 0 0 2.15em !important;
	color: var(--h-seisakusho-ink) !important;
	font-size: clamp(18px, 1.9vw, 23px) !important;
	font-weight: 800 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
}

#contact-faq .h-seisakusho-lower-faq-item h3::before,
#recruit-faq .h-seisakusho-lower-faq-item h3::before,
.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item h3::before {
	content: "Q" !important;
	position: absolute !important;
	top: .08em !important;
	left: 0 !important;
	display: inline-grid !important;
	place-items: center !important;
	width: 1.45em !important;
	height: 1.45em !important;
	border-radius: 999px !important;
	background: var(--h-seisakusho-deep) !important;
	color: #fff !important;
	font-size: .78em !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

#contact-faq .h-seisakusho-lower-faq-item p,
#recruit-faq .h-seisakusho-lower-faq-item p,
.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item p {
	margin: 0 !important;
	padding-left: 0 !important;
	color: rgba(23, 25, 28, .68) !important;
	font-size: 16px !important;
	line-height: 1.9 !important;
}

@media (max-width: 640px) {
	.h-seisakusho-privacy-content .h-seisakusho-privacy-item h2.wp-block-heading,
	.h-seisakusho-privacy-content h2.wp-block-heading {
		font-size: 22px !important;
		line-height: 1.45 !important;
		word-break: keep-all;
		overflow-wrap: anywhere;
	}

	.h-seisakusho-privacy-item p,
	.h-seisakusho-privacy-item li,
	#contact-faq .h-seisakusho-lower-faq-item p,
	#recruit-faq .h-seisakusho-lower-faq-item p,
	.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item p {
		font-size: 15px !important;
		line-height: 1.9 !important;
	}

	#contact-faq .h-seisakusho-lower-faq-item,
	#recruit-faq .h-seisakusho-lower-faq-item,
	.h-seisakusho-lower-faq .h-seisakusho-lower-faq-item {
		padding: 20px !important;
	}
}

/* Privacy content width must win over the lower-page shared content width. */
#content:has(.h-seisakusho-privacy-page) .h-seisakusho-privacy-content .h-seisakusho-inner,
#content:has(.h-seisakusho-privacy-page) .h-seisakusho-privacy-page .h-seisakusho-section:not(.h-seisakusho-hero) .h-seisakusho-inner,
#content .h-seisakusho-privacy-page .h-seisakusho-privacy-content .h-seisakusho-inner {
	width: min(900px, calc(100vw - clamp(32px, 6vw, 96px))) !important;
	max-width: none !important;
}

/* Phase 1 real-photo calibration: composition only, with no image filters. */
img[src*="top-fv-dsc00152.jpg?v=20260717-phase1"],
img[src*="factory-exterior.jpg?v=20260717-phase1"],
img[src*="factory-interior.jpg?v=20260717-phase1"],
img[src*="business-welding.jpg?v=20260717-phase1"],
img[src*="business-fabrication.jpg?v=20260717-phase1"],
img[src*="recruit.jpg?v=20260717-phase1"] {
	filter: none !important;
	transform: none !important;
}

#content[data-postid="10"] .h-seisakusho-hero__image {
	opacity: .94;
}

#content[data-postid="10"] .h-seisakusho-hero::after {
	background:
		linear-gradient(90deg, rgba(8, 10, 12, .9) 0%, rgba(8, 10, 12, .7) 44%, rgba(8, 10, 12, .24) 72%, rgba(8, 10, 12, .08) 100%),
		linear-gradient(0deg, rgba(8, 10, 12, .5), rgba(8, 10, 12, 0) 48%);
}

#content[data-postid="10"] .h-seisakusho-hero__image img[src*="top-fv-dsc00152.jpg"] {
	object-position: 62% 52% !important;
}

img[src*="business-welding.jpg?v=20260717-phase1"] {
	object-position: 44% 58% !important;
}

img[src*="business-fabrication.jpg?v=20260717-phase1"] {
	object-position: 52% 58% !important;
}

img[src*="factory-exterior.jpg?v=20260717-phase1"] {
	object-position: 50% 54% !important;
}

img[src*="factory-interior.jpg?v=20260717-phase1"] {
	object-position: 50% 52% !important;
}

img[src*="recruit.jpg?v=20260717-phase1"] {
	object-position: 46% 56% !important;
}

.h-seisakusho-grid--3 > .h-seisakusho-card,
.h-seisakusho-recruit-work-grid > .h-seisakusho-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
}

.h-seisakusho-grid--3 > .h-seisakusho-card .h-seisakusho-card__body,
.h-seisakusho-recruit-work-grid > .h-seisakusho-card .h-seisakusho-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

#content[data-postid="10"] .h-seisakusho-split {
	gap: clamp(40px, 5vw, 72px);
}

#content[data-postid="10"] .h-seisakusho-cta {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

#content[data-postid="34"] #recruit-top .h-seisakusho-hero__image {
	opacity: .82;
}

#content[data-postid="34"] #recruit-top .h-seisakusho-hero__image img {
	object-position: 46% 38% !important;
}

#content[data-postid="36"] #company-top .h-seisakusho-hero__image img {
	object-position: 50% 55% !important;
}

@media (max-width: 960px) {
	#content[data-postid="10"] .h-seisakusho-split {
		gap: 32px;
	}

}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-hero__image img[src*="top-fv-dsc00152.jpg"] {
		object-position: 26% 52% !important;
	}

	#content[data-postid="10"] .h-seisakusho-hero::after {
		background:
			linear-gradient(90deg, rgba(8, 10, 12, .84), rgba(8, 10, 12, .5)),
			linear-gradient(0deg, rgba(8, 10, 12, .68), rgba(8, 10, 12, .08) 64%);
	}

	#content[data-postid="10"] .h-seisakusho-home .h-seisakusho-hero .h-seisakusho-hero__content {
		padding: 70px 0 118px !important;
	}

	#content[data-postid="34"] #recruit-top .h-seisakusho-hero__image img {
		object-position: 48% 54% !important;
	}

	.h-seisakusho-card__body {
		padding: 22px 20px 24px;
	}
}

/* Phase 2: real-photo slider, verified equipment, and process-photo rhythm. */
.h-phase2-fv {
	opacity: .96 !important;
}

.h-phase2-fv__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	transition: opacity 1.2s ease-in-out;
	will-change: opacity;
}

.h-phase2-fv__slide.is-active {
	opacity: 1;
}

.h-phase2-fv__slide picture,
.h-phase2-fv__slide img,
.h-phase2-equipment__photo picture,
.h-phase2-process picture {
	display: block;
	width: 100%;
	height: 100%;
}

.h-phase2-fv__slide img,
.h-phase2-equipment__photo img,
.h-phase2-process img,
img[src*="/assets/images/phase2/"] {
	filter: none !important;
	transform: none !important;
	object-fit: cover;
}

.h-phase2-fv__slide--152 img {
	object-position: 62% 52% !important;
}

.h-phase2-fv__slide--144 img {
	object-position: 46% 40% !important;
}

.h-phase2-fv__slide--140 img {
	object-position: 42% 54% !important;
}

.h-phase2-fv__slide--137 img {
	object-position: 40% 56% !important;
}

img[src*="dsc00130-"] {
	object-position: 50% 54% !important;
}

img[src*="dsc00132-"] {
	object-position: 50% 52% !important;
}

img[src*="dsc00137-"] {
	object-position: 44% 58% !important;
}

img[src*="dsc00140-"] {
	object-position: 42% 54% !important;
}

img[src*="dsc00144-"] {
	object-position: 46% 50% !important;
}

img[src*="dsc00183-"] {
	object-position: 52% 58% !important;
}

img[src*="dsc00199-"] {
	object-position: 50% 54% !important;
}

img[src*="dsc00211-"] {
	object-position: 50% 52% !important;
}

.h-phase2-process .h-seisakusho-grid,
.h-phase2-process .h-seisakusho-works-grid {
	align-items: stretch;
}

.h-phase2-process__card,
.h-phase2-process .h-seisakusho-works-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
}

.h-phase2-process__card .h-seisakusho-card__body,
.h-phase2-process .h-seisakusho-works-card .h-seisakusho-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.h-phase2-process .h-seisakusho-card__image {
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
}

.h-phase2-process .h-seisakusho-inline-cta {
	margin-top: clamp(30px, 4vw, 48px);
	padding: clamp(24px, 3.5vw, 38px);
}

.h-phase2-equipment__heading {
	margin-bottom: clamp(28px, 4vw, 46px);
}

.h-phase2-equipment__layout {
	display: grid;
	grid-template-columns: minmax(280px, .78fr) minmax(0, 1.42fr);
	gap: clamp(34px, 5vw, 70px);
	align-items: start;
}

.h-phase2-equipment__list {
	display: grid;
	margin: 0;
	border-top: 1px solid rgba(23, 25, 28, .14);
}

.h-phase2-equipment__list > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	padding: 15px 4px;
	border-bottom: 1px solid rgba(23, 25, 28, .14);
}

.h-phase2-equipment__list dt {
	font-weight: 700;
}

.h-phase2-equipment__list dd {
	margin: 0;
	color: var(--h-seisakusho-deep);
	font-size: 15px;
	font-weight: 800;
}

.h-phase2-equipment__note {
	margin: 18px 0 0;
	color: var(--h-seisakusho-muted);
	font-size: 13px;
	line-height: 1.75;
}

.h-phase2-equipment__gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.h-phase2-equipment__item {
	min-width: 0;
	background: #fff;
	border: 1px solid rgba(23, 25, 28, .09);
}

.h-phase2-equipment__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
}

.h-phase2-equipment__caption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 16px 15px;
}

.h-phase2-equipment__caption p {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
}

.h-phase2-equipment__caption span {
	flex: 0 0 auto;
	color: var(--h-seisakusho-deep);
	font-size: 13px;
	font-weight: 800;
}

.h-phase2-equipment--expanded .h-phase2-equipment__caption {
	padding-bottom: 7px;
}

.h-phase2-equipment__description {
	margin: 0;
	padding: 0 16px 17px;
	color: var(--h-seisakusho-muted);
	font-size: 13px;
	line-height: 1.75;
}

.h-phase2-equipment__photo--crane img {
	object-position: 50% 42% !important;
}

.h-phase2-equipment__photo--drill img,
.h-phase2-equipment__photo--positioner img,
.h-phase2-equipment__photo--welder img,
.h-phase2-equipment__photo--tig img,
.h-phase2-equipment__photo--super-shiner img {
	object-position: center !important;
}

.h-phase2-equipment--expanded .h-phase2-equipment__layout {
	grid-template-columns: 1fr;
	gap: clamp(34px, 4vw, 50px);
}

.h-phase2-equipment--expanded .h-phase2-equipment__list {
	max-width: 760px;
}

.h-phase2-equipment--expanded .h-phase2-equipment__gallery {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

#business-maintenance .h-phase2-photo-free {
	display: block;
}

#business-maintenance .h-phase2-photo-free .h-seisakusho-business-detail__body {
	max-width: 900px;
	margin: 0 auto;
}

@media (max-width: 1024px) {
	.h-phase2-equipment__layout {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.h-phase2-equipment__list {
		max-width: 760px;
	}

	.h-phase2-equipment--expanded .h-phase2-equipment__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.h-phase2-fv__slide--152 img {
		object-position: 26% 52% !important;
	}

	.h-phase2-fv__slide--144 img {
		object-position: 48% 54% !important;
	}

	.h-phase2-fv__slide--140 img {
		object-position: 34% 54% !important;
	}

	.h-phase2-fv__slide--137 img {
		object-position: 36% 58% !important;
	}

	.h-phase2-equipment__gallery {
		grid-template-columns: 1fr;
	}

	.h-phase2-equipment__list > div {
		padding: 13px 2px;
	}

	.h-phase2-process .h-seisakusho-inline-cta {
		margin-top: 26px;
		padding: 22px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.h-phase2-fv__slide {
		transition: none;
	}

	.h-phase2-fv__slide:not(:first-child) {
		display: none;
	}
}

/* Official logo and verified works added after the Phase2 stabilization pass. */
.h-official-logo {
	max-width: none !important;
	margin: 0 !important;
}

.h-official-logo .c-headLogo__link {
	display: inline-flex !important;
	align-items: center;
	line-height: 0;
}

.h-official-logo img {
	display: block;
	width: auto !important;
	height: 66px !important;
	max-height: none !important;
}

.l-fixHeader .h-official-logo img {
	height: 52px !important;
}

.l-footer__foot .l-container::before {
	content: none !important;
	display: none !important;
}

.h-official-footer-logo {
	display: inline-flex;
	order: -1;
	justify-self: start;
	align-self: start;
	line-height: 0;
}

.h-official-footer-logo img {
	display: block;
	width: clamp(148px, 15vw, 178px);
	height: auto;
	background: #fff;
}

.h-works-actual .h-seisakusho-works-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 34px);
}

.h-works-actual__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3 !important;
	background: #e9edec;
}

.h-works-actual__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: 50% 50% !important;
}

.h-works-actual__image--tig img {
	object-fit: cover !important;
	object-position: 50% 50% !important;
}

.h-works-actual .h-seisakusho-card__body {
	padding: clamp(22px, 2.6vw, 30px);
}

.h-works-actual .h-seisakusho-card__body h3 {
	font-size: clamp(19px, 2vw, 24px);
	line-height: 1.55;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.h-works-actual .h-seisakusho-works-card:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	justify-self: center;
	width: 100%;
	max-width: calc((100% - clamp(22px, 3vw, 34px)) / 2);
}

@media (max-width: 959px) {
	.h-official-logo img {
		height: 58px !important;
	}
}

@media (max-width: 767px) {
	.h-works-actual .h-seisakusho-works-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.h-works-actual .h-seisakusho-card__body {
		padding: 22px 20px 24px;
	}

	.h-works-actual .h-seisakusho-works-card:last-child:nth-child(odd) {
		grid-column: auto;
		max-width: none;
	}
}

@media (max-width: 390px) {
	.h-official-logo img {
		height: 54px !important;
	}

	.h-official-footer-logo img {
		width: 144px;
	}
}

/* Final photo, identity, and verified-information adjustments. */
#content[data-postid="10"] .h-seisakusho-home .h-seisakusho-hero .h-phase2-fv {
	inset: 0 !important;
	width: 100% !important;
	max-width: none !important;
	border-radius: 0 !important;
	background: #17191c;
	overflow: hidden;
}

#content[data-postid="10"] .h-phase2-fv__slide {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

#content[data-postid="10"] .h-phase2-fv__slide.is-active img {
	transform: scale(1.07) !important;
	transition: none !important;
}

#content[data-postid="10"] .h-phase2-fv__slide.is-active.is-zooming img {
	transform: scale(1) !important;
	transition: transform var(--h-fv-motion-duration, 9s) linear !important;
}

.h-phase2-fv__slide--176 img {
	object-position: 53% 5% !important;
}

.h-phase2-fv__slide--207 img {
	object-position: 50% 52% !important;
}

.h-phase2-fv__status {
	position: absolute;
	right: clamp(20px, 4vw, 58px);
	bottom: clamp(24px, 4vw, 46px);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, .78);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	pointer-events: none;
}

.h-phase2-fv__progress {
	position: relative;
	display: block;
	width: clamp(54px, 6vw, 82px);
	height: 1px;
	background: rgba(255, 255, 255, .3);
	overflow: hidden;
}

.h-phase2-fv__progress > span {
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .88);
	transform: scaleX(0);
	transform-origin: left center;
}

.h-phase2-fv__progress > span.is-progressing {
	transform: scaleX(1);
	transition: transform var(--h-fv-motion-duration, 9s) linear;
}

/* Motion polish: a quiet photo-to-copy entrance without changing layout. */
.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-label,
.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-hero__title,
.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-hero__lead,
.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-buttons {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
	transition:
		opacity .78s cubic-bezier(.22, .61, .36, 1),
		transform .78s cubic-bezier(.22, .61, .36, 1);
}

.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-label,
.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-hero__title,
.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-hero__lead,
.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-buttons {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-label {
	transition-delay: .14s;
}

.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-hero__title {
	transition-delay: .2s;
}

.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-hero__lead {
	transition-delay: .3s;
}

.h-hero-motion-ready.is-hero-visible .h-seisakusho-hero__content > .h-seisakusho-buttons {
	transition-delay: .48s;
}

.h-seisakusho-hero:not(#top).h-hero-motion-ready > .h-seisakusho-hero__image img {
	opacity: .94;
	transform: scale(1.025) !important;
	transition:
		opacity 1.1s cubic-bezier(.22, .61, .36, 1),
		transform 1.4s cubic-bezier(.22, .61, .36, 1) !important;
}

.h-seisakusho-hero:not(#top).h-hero-motion-ready.is-hero-visible > .h-seisakusho-hero__image img {
	opacity: 1;
	transform: scale(1) !important;
}

img[src*="dsc00134-"] {
	object-position: 50% 54% !important;
}

img[src*="dsc00176-"] {
	object-position: 50% 50% !important;
}

img[src*="dsc00261-"] {
	object-position: 50% 52% !important;
}

#business-maintenance .h-seisakusho-business-detail__media--maintenance {
	min-height: 360px;
}

#content[data-postid="36"] .h-seisakusho-company-photo--message {
	min-height: 0;
	aspect-ratio: 4 / 3;
	background: #edf0ef;
}

#content[data-postid="36"] .h-seisakusho-company-photo--message img {
	object-fit: cover;
	object-position: 50% 50% !important;
}

#content:has(.h-seisakusho-works-page) .h-works-actual__image {
	background: #edf0ef !important;
}

.h-official-footer-brand {
	display: grid;
	order: -1;
	grid-template-columns: minmax(100px, 148px) minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.h-official-footer-logo {
	display: block;
}

.h-official-footer-logo img {
	width: 100%;
	max-width: 148px;
	height: auto;
	background: transparent;
}

.h-official-footer-info {
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	line-height: 1.75;
}

.h-official-footer-info p {
	margin: 0 0 7px;
}

.h-official-footer-info p:first-child {
	color: #fff;
	font-size: 17px;
	font-weight: 800;
}

.h-official-footer-info a,
.h-seisakusho-contact-tel a,
.h-seisakusho-table a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

.h-official-address-postal {
	white-space: nowrap;
}

@media (max-width: 960px) {
	.h-official-footer-brand {
		grid-template-columns: 132px minmax(0, 1fr);
		max-width: 560px;
	}
}

@media (max-width: 640px) {
	.h-phase2-fv__slide--176 img {
		object-position: 57% 50% !important;
	}

	.h-phase2-fv__slide--207 img {
		object-position: 50% 52% !important;
	}

	.h-phase2-fv__status {
		right: 18px;
		bottom: 22px;
	}

	.h-official-footer-brand {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 16px;
	}

	.h-official-footer-info {
		font-size: 12px;
		line-height: 1.7;
	}

	#business-maintenance .h-seisakusho-business-detail__media--maintenance {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	#content[data-postid="10"] .h-phase2-fv__slide.is-active img,
	#content[data-postid="10"] .h-phase2-fv__slide.is-active.is-zooming img,
	.h-seisakusho-hero:not(#top).h-hero-motion-ready > .h-seisakusho-hero__image img,
	.h-seisakusho-hero:not(#top).h-hero-motion-ready.is-hero-visible > .h-seisakusho-hero__image img {
		transform: none !important;
		transition: none !important;
	}

	.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-label,
	.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-hero__title,
	.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-hero__lead,
	.h-hero-motion-ready .h-seisakusho-hero__content > .h-seisakusho-buttons {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.h-phase2-fv__progress > span,
	.h-phase2-fv__progress > span.is-progressing {
		transform: none;
		transition: none;
	}
}

/* Submission polish: preserve the approved visual language while clarifying content. */
.h-submission-business-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.h-submission-business-grid > .h-seisakusho-card,
.h-submission-recruit-work-grid > .h-seisakusho-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
}

.h-submission-business-grid .h-seisakusho-card__body,
.h-submission-recruit-work-grid .h-seisakusho-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.h-submission-business-button {
	margin-top: clamp(28px, 4vw, 42px);
}

.h-submission-works .h-seisakusho-card__body h3 {
	text-wrap: balance;
}

.h-submission-issue-list li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.h-submission-issue-list .icon-check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-top: .2em;
	border: 1px solid rgba(7, 63, 75, .28);
	border-radius: 50%;
	background: rgba(7, 63, 75, .07);
	color: var(--h-seisakusho-deep);
	font-size: 13px;
}

.h-submission-consult-list .icon-check {
	margin-top: .32em;
	color: var(--h-seisakusho-deep);
	font-size: 15px;
}

.h-submission-consult-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(28px, 5vw, 64px);
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--h-seisakusho-line);
}

.h-submission-consult-list li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	margin: 0;
	padding: 18px 4px;
	border-bottom: 1px solid var(--h-seisakusho-line);
	font-weight: 700;
	line-height: 1.7;
}

.h-submission-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr) minmax(28px, auto)) minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
}

.h-submission-recruit-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(28px, auto) minmax(0, 1fr) minmax(28px, auto) minmax(0, 1fr);
	gap: 16px;
	align-items: stretch;
}

.h-submission-flow .h-seisakusho-business-flow-item,
.h-submission-recruit-flow .h-seisakusho-business-flow-item {
	padding: clamp(18px, 2vw, 26px);
	border: 1px solid rgba(23, 25, 28, .1);
	box-shadow: 0 12px 28px rgba(23, 25, 28, .06);
}

.h-submission-flow .h-seisakusho-business-flow-item h3,
.h-submission-flow .h-seisakusho-business-flow-item p {
	text-wrap: pretty;
}

.h-submission-flow .h-seisakusho-business-flow-item h3 {
	word-break: keep-all;
	overflow-wrap: normal;
}

.h-submission-flow-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--h-seisakusho-deep);
	font-size: 20px;
}

.h-submission-company-fields,
.h-submission-recruit-work-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#content[data-postid="34"] #recruit-top .h-seisakusho-hero__title,
#content[data-postid="34"] #recruit-top .h-seisakusho-hero__lead {
	word-break: normal !important;
	overflow-wrap: normal !important;
	text-wrap: balance;
}

#content[data-postid="28"] #business-top .h-seisakusho-hero__lead {
	max-width: 720px;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	text-wrap: pretty;
}

#content[data-postid="28"] .h-seisakusho-lower-intro .h-seisakusho-lower-lead {
	width: min(100%, 1100px);
	max-width: 1100px;
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.8;
	text-wrap: pretty;
}

.h-business-intro-keep {
	white-space: nowrap;
}

#content[data-postid="36"] .h-seisakusho-company-sign {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight: 600;
	letter-spacing: .08em;
}

#content[data-postid="36"] #company-equipment {
	margin-bottom: 0;
	padding-bottom: clamp(44px, 4.5vw, 68px) !important;
}

#content[data-postid="36"] #company-access {
	margin-top: 0;
	padding-top: clamp(44px, 4.5vw, 68px) !important;
}

.h-company-map {
	align-self: stretch;
	min-height: 380px;
	overflow: hidden;
	border: 1px solid rgba(23, 25, 28, .1);
	background: #eef0f0;
}

.h-company-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 380px;
	border: 0;
}

.h-company-map-link {
	margin-top: 24px;
}

.h-company-map-link a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid rgba(7, 63, 75, .36);
	color: var(--h-seisakusho-deep);
	font-weight: 700;
	text-decoration: none;
}

#content[data-postid="26"] #contact-form .wpcf7 form {
	margin-inline: auto;
}

#content[data-postid="26"] #contact-form .h-seisakusho-heading h2 {
	white-space: nowrap !important;
}

@media (min-width: 1200px) {
	#content[data-postid="36"] .h-seisakusho-lower-intro .h-seisakusho-lower-lead {
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}
}

@media (max-width: 1100px) {
	.h-submission-business-grid,
	.h-submission-company-fields,
	.h-submission-recruit-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.h-submission-flow {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.h-submission-flow-arrow {
		min-height: 22px;
		transform: rotate(90deg);
	}
}

@media (max-width: 640px) {
	.h-submission-business-grid,
	.h-submission-company-fields,
	.h-submission-recruit-work-grid,
	.h-submission-consult-list,
	.h-submission-recruit-flow {
		grid-template-columns: 1fr;
	}

	.h-submission-flow-arrow {
		min-height: 20px;
		transform: rotate(90deg);
	}

	#content[data-postid="34"] #recruit-top .h-seisakusho-hero__lead {
		width: min(100%, 330px) !important;
		max-width: 330px !important;
		font-size: 14px;
		line-height: 1.8;
	}

	#content[data-postid="28"] #business-top .h-seisakusho-hero__lead,
	#content[data-postid="28"] .h-seisakusho-lower-intro .h-seisakusho-lower-lead {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 0 !important;
	}

	.h-company-map,
	.h-company-map iframe {
		min-height: 300px;
	}

	#content[data-postid="26"] #contact-form .h-seisakusho-heading h2 {
		font-size: clamp(22px, 6.1vw, 27px);
		letter-spacing: -.02em;
	}
}

/* Actual-device display fixes: keep the approved layout and scope changes narrowly. */
#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image {
	inset: 0 !important;
	width: 100% !important;
	max-width: none !important;
	border-radius: 0 !important;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-hero__image img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover;
}

.h-seisakusho-privacy-item .h-seisakusho-list {
	padding-left: 1.3em !important;
	list-style: disc outside;
}

.h-seisakusho-privacy-item .h-seisakusho-list li {
	position: static;
	padding-left: .15em;
}

.h-seisakusho-privacy-item .h-seisakusho-list li::before {
	content: none;
	display: none;
}

.h-seisakusho-privacy-item .h-seisakusho-list li::marker {
	color: var(--h-seisakusho-deep);
	font-size: .8em;
}

@media (max-width: 640px) {
	#content[data-postid="10"] .h-seisakusho-hero__title {
		font-size: clamp(25px, 6.8vw, 28px);
		line-height: 1.22;
		text-wrap: balance;
	}

	#content[data-postid="10"] .h-seisakusho-buttons,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-buttons {
		justify-content: center !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#content[data-postid="10"] .h-seisakusho-button .wp-block-button__link,
	#content:has(.h-seisakusho-lower-page) .h-seisakusho-button .wp-block-button__link {
		white-space: nowrap;
	}
}

/* TOP FV: fill the initial viewport while preserving the approved content. */
:root {
	--h-top-fv-header-offset: 75px;
}

#content[data-postid="10"] #top.h-seisakusho-hero {
	min-height: calc(100vh - var(--h-top-fv-header-offset)) !important;
	align-items: center;
}

@supports (height: 100dvh) {
	#content[data-postid="10"] #top.h-seisakusho-hero {
		min-height: calc(100dvh - var(--h-top-fv-header-offset)) !important;
	}
}

#content[data-postid="10"] #top .h-seisakusho-hero__content {
	padding-top: max(28px, env(safe-area-inset-top)) !important;
	padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
}

@media (max-width: 960px) {
	:root {
		--h-top-fv-header-offset: 61px;
	}
}

@media (max-width: 640px) {
	#content[data-postid="10"] #top .h-seisakusho-hero__content {
		padding-top: max(24px, env(safe-area-inset-top)) !important;
		padding-bottom: max(32px, env(safe-area-inset-bottom)) !important;
	}
}

/* Public copy: improve Japanese line endings without adding fixed breaks. */
#content[data-postid="10"] :where(p, li, th, td, dd, label),
#content:has(.h-seisakusho-lower-page) :where(p, li, th, td, dd, label) {
	line-break: strict;
	text-wrap: pretty;
}

#content[data-postid="10"] :where(h1, h2, h3),
#content:has(.h-seisakusho-lower-page) :where(h1, h2, h3) {
	line-break: strict;
	text-wrap: balance;
}

#content:has(.h-seisakusho-lower-page) .h-seisakusho-lower-cta .h-seisakusho-heading h2 {
	text-wrap: balance;
}

#content[data-postid="32"] .h-seisakusho-works-card h3,
#content[data-postid="10"] .h-phase2-process__card h3 {
	word-break: normal;
	overflow-wrap: break-word;
	text-wrap: balance;
}

.l-footer__nav a {
	line-break: strict;
	text-wrap: pretty;
}

.h-line-end-keep,
.h-term-keep {
	white-space: nowrap;
}

@media (max-width: 430px) {
	.h-phase2-equipment__caption {
		display: block;
	}

	.h-phase2-equipment__caption span {
		display: block;
		margin-top: 4px;
	}
}

@media (max-width: 340px) {
	.h-phase2-equipment__gallery {
		grid-template-columns: 1fr;
	}

	.l-footer__nav {
		grid-template-columns: 1fr;
	}

	.l-footer__nav a {
		white-space: nowrap;
	}
}
