.page-content {
	margin-block-start: clamp(2.875em, -1.696em + 9.52vw, 110px);
	width: min(1100px, calc(100% - 3rem));
	margin-inline: auto;

	@media (768px < width < 1200px) {
		padding-inline: 1.5em;
	}

	@media (768px >=width) {
		width: 100%;
	}
}

.technology .page-content,
.equipment .page-content {
	margin-block-end: 0;
}

.image-marginBlock {
	margin-block: clamp(2em, -1em + 6.25vw, 3em);
}

/* ヘッダー画像 */
.privacy .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/header_privacy.webp);
}

.group .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/headerbg_company.webp);
}

.contact .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/header_contact.webp);
}

.technology .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/headerbg_technology.webp);

	@media (768px >=width) {
		background-position: left 60% center;
	}
}

.equipment .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/header_equipment.webp);
}

.company .content-header_block:has(h1),
.newstopics .content-header_block:has(h1),
.corporate-404 .content-header_block:has(h1) {
	background-image: url(../../../../uploads/2026/03/headerbg_company.webp);
}

/*  */
.site-main a.btn {

	&.btn-contact,
	&.btn-recruit {
		margin-inline: 0 auto;
		max-width: unset;
		margin-block-start: 2.5em;
	}

	&.btn-recruit {
		color: var(--color-bg-blue);
		background-color: var(--wp--preset--color--white);
		border-color: var(--color-bg-blue);

		&::before {
			background-color: var(--color-bg-blue);
		}

		&:hover {
			color: var(--wp--preset--color--white);

			&::before {
				transform: translateX(0);
			}
		}
	}
}

/* 見出し処理 ::before 英文字モデル */
:where(.privacy .page-content,
	.group .page-content,
	.technology .page-content,
	.equipment .page-content) {
	margin-block-end: 97px;
}

:where(.privacy .page-content,
	.group .page-content,
	.technology .page-content,
	.equipment .page-content,
	.equipment .page-content .qcontrol,
	.company .page-content) {
	h2 {
		font-size: 1.5rem;
		font-weight: 700;
	}

	h2[data-text]:nth-of-type(1) {
		/* margin-block-end: clamp(4.375em, 0.625em + 10vw, 9.375em); */
		margin-block-end: clamp(4.37em, -1.963em + 12.96vw, 150px);
		font-size: clamp(1.25rem, 1.063rem + 0.5vw, 1.5rem);
		font-weight: 700;
		text-align: center;
		color: var(--color-recruit-primary);
		line-height: 1;

		&::before {
			content: attr(data-text);
			font-size: clamp(2.25rem, 1.688em + 1.5vw, 3rem);
			margin-block: 0 7px;
			line-height: 0.975;
		}
	}
}

/* privacy_個人情報 */
.privacy .page-content {
	counter-reset: number 0;

	h3 {
		margin-block-end: clamp(2.188rem, 0.547rem + 4.38vw, 4.375rem);
		font-size: clamp(1.5em, 1.125em + 1vw, 2em);
	}

	h4 {
		font-size: 1.5em;
		counter-increment: number 1;
		color: var(--wp--preset--color--black);
		margin-block-end: 0.25em;

		&::before {
			content: counter(number) ".";
			margin-inline-end: 0.5em;
			display: inline-block;
		}
	}

	h4:not(:first-of-type) {
		margin-block-start: 1em;
	}

	ul {
		margin-block-end: 1.5em;
	}

	li {
		margin-inline: 2em;
		line-height: 1.8;
		margin-block-end: 0.25em;
	}

	p {
		margin-block-end: 0.75em;
	}

	p a {
		color: #FF6200;
		padding-inline: 0.125em;
	}
}

/* 技術承継機構グループとは */
.group .page-content {
	.template.row.text-center {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
		gap: 1.5em;
	}

	a.btn.btn-recruit {
		margin-inline: 0 auto;
	}

	.inner-blocks {
		h2 {
			display: flex;
			align-items: center;
			line-height: 1;
			border-bottom: 2px solid #000;
			margin-block-end: 0.8rem;
			padding-block-end: 0.8rem;

			&::before {
				content: "";
				display: block;
				width: clamp(1.5rem, 3.5vw + 0.5rem, 2.25rem);
				height: calc(clamp(1.5rem, 3.5vw + 0.5rem, 2.25rem) - 0.5em);
				background: var(--seisakusyo_yamatai_r-gradient);
				clip-path: polygon(50% 7%, 100% 7%, 50% 100%, 0% 100%);
				margin-inline-end: 0.25em;
			}
		}

		.btn.btn-recruit {
			margin-block-start: unset;
		}
	}
}

@media (782px > width) {
.group .page-content {
	p span{font-size: var(--fluid-font-size) !important;}
}
}
/* お問い合わせフォーム */
.contact .page-content {
	margin-block-end: 100px;

	> p:nth-child(1) {
		text-align: center;
		line-height: 1.875;
		font-feature-settings: normal;

		@media (782px < width) {
			br.brnone {
				display: none;
			}
		}
	}
}

.contact_tel_block {
	color: var(--color-recruit-primary);
	width: fit-content;
	margin-inline: auto;
	margin-block: 55px 50px;

	.en-face {
		font-size: 3rem;
		font-weight: 700;
		line-height: normal;
	}

	p:not(.en-face) {
		margin-block-start: unset;
		text-align: center;
		font-size: 1em;
		font-weight: 700;
		line-height: 1.875;
	}
}

.formblock {
	background-color: #EFF0F5;
	padding: clamp(1.25rem, -2.018rem + 6.69vw, 64px);

	.attention_color,
	.required {
		font-weight: bold;
	}

	.attention_color {
		margin-block: clamp(1.25rem, -0.236rem + 3.04vw, 40px) clamp(1.25rem, -1.721rem + 6.08vw, 60px);
	}

	.company-form .attention_color {
		@media (min-width: 1024px) {
			line-height: 2;
		}
	}

	.attach::before {
		content: "";
		display: block;
		width: 10em;
	}

	:where(p:has(input[type=text], input[type=tel], input[type=email], input[type=file], textarea, select), .attach) {
		display: grid;
		grid-template-columns: auto 1fr;

		> label,
		.attach::before {
			font-weight: bold;
			width: 10em;
			display: block;
			align-self: start;
		}
	}

	p {
		margin-block: 0 1.125em;
	}

	input:not([type=submit], [type=button], [type=submit], [type=checkbox], [type=radio], [type=file]),
	textarea,
	select {
		width: 100%;
		padding: 0.65em 1em;
		border: 1px solid #C8CDD8;
		border-radius: 4px;
		background-color: #fff;
		color: inherit;
		font-size: 1rem;
		line-height: 1.6;
		transition: border-color 0.2s ease;

		&:focus {
			outline: none;
			border-color: #8b8e94;
		}

		&::placeholder {
			color: #B0B5C0;
		}
	}

	.file-up {
		display: block;
		/* border: 2px dashed #C8CDD8; */
		/* border-radius: 8px; */
		padding: 0.75em;
		background-color: #f8f9fc8a;

		input[type=file] {
			width: 100%;
			cursor: pointer;
			margin-block: 0.25em;
			/* border: 1px solid #f8f9fc; */
			border-radius: 4px;
			/* background-color: #f8f9f*/
			font-size: 0.875em;

			&::file-selector-button {
				border: 1px solid #f8f9fc;
				border-radius: 3px;
				background-color: #d6d6d6;
				padding: 0.3em 0.8em;
				cursor: pointer;
				margin-inline-end: 0.75em;
				transition: background-color 0.2s ease;
				border-radius: 0.5em;

				&:hover {
					background-color: #dde0e8;
				}
			}
		}
	}

	.formblock_inner {
		ul {
			padding-inline-start: 1em;
		}

		li {
			list-style: none;
		}
	}

	.wpcf7-acceptance {
		.wpcf7-list-item {
			display: flex;
			align-items: center;
			gap: 0.75em;

			label {
				display: flex;
				align-items: center;
				gap: 0.6em;
				cursor: pointer;
				font-weight: normal;
			}

			input[type=checkbox] {
				appearance: none;
				width: 1.25em;
				height: 1.25em;
				border: 2px solid #C8CDD8;
				border-radius: 4px;
				background-color: #fff;
				flex-shrink: 0;
				cursor: pointer;
				transition: border-color 0.2s ease, background-color 0.2s ease;
				position: relative;

				&:checked {
					background-color: var(--wp--preset--color--ymf-primary, #012371);
					border-color: var(--wp--preset--color--ymf-primary, #012371);

					&::after {
						content: "";
						display: block;
						position: absolute;
						width: 0.35em;
						height: 0.6em;
						border-bottom: 2px solid #fff;
						border-right: 2px solid #fff;
						transform: rotate(45deg);
						top: 50%;
						left: 50%;
						translate: -50% -60%;
					}
				}

				&:focus-visible {
					outline: 2px solid var(--wp--preset--color--ymf-primary, #012371);
					outline-offset: 2px;
				}
			}
		}
	}
}

[type=button],
input[type=submit] {
	padding: 0.65em 2em;
	background: var(--color-recruit-primary);
	color: var(--color-text-white);
	width: fit-content;
	border-radius: 3em;
	font-size: 1rem;
	font-weight: 700;
	border: none;
	transition: opacity 0.2s ease;
	margin-inline: auto;
	display: block;

	&:not(:disabled):hover {
		opacity: 0.75;
		cursor: pointer;
	}

	&:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}
}

input[type=submit][value] {
	padding: 0.65em 5em;
}

h2[data-text="OUR BUSINESS"]:nth-of-type(1) {
	margin-block-end: 64px;
}

@media (782px >=width) {
	.company-form {
		:where(p:has(input[type=text], input[type=tel], input[type=email], input[type=file], textarea, select), .attach) {
			grid-template-columns: 1fr;
		}
	}
}

/* TECHNOLOGY_事業紹介 */
.technology {
	h2 + .leadcopy {
		text-align: center;
		font-size: clamp(1.5em, -0.5em + 4.17vw, 3.25em);
		font-weight: 700;
		line-height: 1.45;
	}

	.leadcopy ~ p {
		max-width: 900px;
		margin-inline: auto;
	}

	h3[data-text] {
		text-align: center;
		font-size: 1.125rem;
		font-family: var(--wp--preset--font-family--oswald);
		margin-block-end: clamp(3.75em, -0.536em + 8.93vw, 120px);

		/* color:var(--color-recruit-primary); */
		&::before {
			font-size: 3rem;
			font-family: var(--wp--preset--font-family--oswald);
			line-height: 1;
			margin-block: 0;
		}

		.image-marginBlock {
			min-height: 182px;
			width: 100%;
			object-fit: cover;
		}
	}

	.technical {
		background-color: var(--wp--preset--color--ymf-text);
		color: var(--color-text-white);
		padding-block: clamp(3.75em, -5.625em + 19.53vw, 110px);
		margin-block: clamp(4em, -4.625em + 17.97vw, 110px);

		.image-text-section {
			margin-block-end: clamp(3.75em, 0.893em + 5.95vw, 100px);
			max-width: unset;

			&:nth-child(1) {
				.leadcopy::before {
					content: "01.";
				}
			}

			&:nth-child(2) {}

			.leadcopy::before {
				content: "02.";
			}

			&:nth-last-of-type(1) {
				margin-block-end: unset;

				.leadcopy::before {
					content: "03.";
				}
			}

			.leadcopy {
				position: relative;
				display: grid;
				margin-inline: auto;

				&::before {
					/* content: counter(count, decimal-leading-zero) "."; */
					display: block;
					background: linear-gradient(90deg, var(--grad-start) 0%, var(--grad-end) 100%);
					-webkit-background-clip: text;
					background-clip: text;
					-webkit-text-fill-color: transparent;
					width: fit-content;
					font-size: clamp(2.5rem, 1.929rem + 1.19vw, 3rem);
					margin-block: 0 1rem;
					line-height: 1;
					transition: --grad-start 0.9s ease, --grad-end 1.2s ease;
				}

				&.an-move.an-content::before {
					--grad-start: oklch(0.3 0.14 262.48);
					--grad-end: oklch(65% 0.17 228);
				}

				span {
					display: block;
				}
			}
		}

		@media (1024px > width) {
			.image-text-section {
				&.is-layout-flex {

					&:nth-child(odd),
					&:nth-child(even) {
						flex-direction: column-reverse;
					}
				}
			}

			h3 {
				padding-inline: 1em;
			}

			.leadcopy {
/* 				font-size: clamp(1.25rem, -0.236rem + 3.1vw, 2.55rem); */
			}

			h3 + div > div {
				margin-block-start: 0;
				gap: 2em;
				padding-inline: 1em;

				figure {
					img {
						margin-inline: auto !important;
						min-height: 246px;
						max-width: 346px;
						object-fit: cover;
					}
				}
			}
		}

		@container text-content (min-width: 782px) {
			.image-text-content > * {
				max-width: 537px;
			}
		}
	}

	/*  */
	h3[data-text="PRODUCT"] {
		color: var(--color-recruit-primary);
	}

	:where(.product-group02,
		.product-group01) {
		gap: clamp(2em, -1.005em + 6.15vw, 70px) 46px;

		figure {
			position: relative;
			margin-block-start: 0;

			figcaption {
				position: absolute;
				bottom: 0;
				background-image: linear-gradient(90deg, #012371 0%, #00A0F7 100%);
				margin: 0;
				color: var(--wp--preset--color--white);
				font-size: clamp(1rem, 0.684rem + 0.65vw, 1.25rem);
				font-weight: 700;
				padding-inline: 41px 70px;
				padding-block: 0.25em;
				clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
				width: fit-content;
				transition: 0.5s ease 0.3s;
			}

			&.an-move.an-content {
				figcaption {
					width: fit-content;
					clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
				}
			}
		}
	}

	.product-group01 {
		margin-block: 0 clamp(2em, -1.005em + 6.15vw, 70px);

		@media(783px > width) {
			figure {
				margin-inline: auto;
				width: fit-content;
			}
		}
	}

	.product-group02 {
		grid-template-columns: repeat(auto-fit, 335px);
		display: grid;
		justify-content: center;
		align-items: start;

		@media(1024px > width) {
			grid-template-columns: repeat(auto-fit, minmax(335px, 1fr));
			gap: 1.5em 1em;
			justify-items: center;
		}
	}

	/* 製品紹介 */
	.propduct-kind {
		margin-block: clamp(4em, -4.625em + 17.97vw, 110px);
	}

	/* FLOW */
	.floowdescription {
		h3[data-text].an-move.path {
			color: var(--color-recruit-primary);

			&::before {
				transition: clip-path 3.8s ease;
			}
		}

		padding-block: clamp(4em, -4.625em + 17.97vw, 110px);
		;
		background-color: var(--wp--preset--color--ymf-background);
		counter-reset: step;

		> div {
			padding: clamp(1.5em, -1.347em + 5.83vw, 60px) clamp(1em, -0.556em + 4.21vw, 50px);
			background-color: var(--wp--preset--color--white);
			counter-increment: step 1;
			display: grid;
			align-items: center;
			grid-template-columns: auto 1fr auto;
			column-gap: 60px;
			width: min(1100px, calc(100% - 3rem));
			margin-inline: auto;

			> div {
				margin-block-start: 0;
			}

			@media (768px < width < 1200px) {
				padding-inline: 1.5em;
			}

			> .en-face {
				background: linear-gradient(90deg, var(--grad-start) 0%, var(--grad-end) 100%);
				-webkit-background-clip: text;
				background-clip: text;
				-webkit-text-fill-color: transparent;
				font-size: clamp(1.813em, 0.311em + 3.07vw, 3em);
				font-weight: 700;
				display: grid;
				line-height: 1;
				justify-content: center;
				justify-items: center;
				align-items: center;
				align-content: center;
				transition: --grad-start 0.9s ease, --grad-end 1.2s ease;

				/* &.an-move{
					transition: --grad-start 0.9s ease, --grad-end 1.2s ease;
				} */
				&.an-content {
					--grad-start: oklch(22% 0.115 264);
					--grad-end: oklch(65% 0.17 228);
				}

				&::after {
					content: counter(step, decimal-leading-zero);
					font-size: clamp(3.75rem, -0.204rem + 8.09vw, 6.875rem);
					line-height: 1;
				}
			}

			h4 {
				font-size: 1.5rem;
				font-weight: 700;
				color: var(--color-recruit-primary);
				width: 100%;
			}

			> figure {
				max-width: 300px;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		@media (1024px > width) {
			.image-text-section {
				justify-items: center;
				grid-template-columns: max-content 1fr;
				grid-template-areas:
					"step heading"
					"text text"
					"image image";
				align-content: center;
				gap: 1.25em 1.5rem;
				align-items: center;
				max-width: 500px;

				> div {
					display: contents;
				}

				.en-face {
					grid-area: step;
					transition: --grad-start 0.9s ease 0.5s, --grad-end 1.5s ease 1s;
				}

				h4 {
					grid-area: heading;

					&::after {
						margin-block-start: -3px;
					}
				}

				figure {
					grid-area: image;
					justify-self: center;
					align-self: center;
					width: 100%;
					height: 100%;
					margin-block-start: 0;
				}

				img {
					max-width: 100%;
				}

				h4 + p {
					grid-area: text;
					margin-block-start: 0;
				}
			}
		}
	}
}

@media (783px > width) {
	.technology {
		h2 + .leadcopy {
			font-feature-settings: "palt";
/* 			br {
				display: none;
			} */
		}
	}
}

.twoblock-layout {
	margin-inline: auto;
	margin-block: clamp(2.125em, -0.327em + 5.02vw, 65px);
	padding: clamp(1.625rem, 0.122rem + 3.07vw, 45px) clamp(1.12rem, 0.122rem + 3.07vw, 45px);
	background-color: #F2F2F2;
	justify-content: space-between;

	> div:nth-child(1) {
		max-width: 28.4em;
	}

	h4 {
		color: var(--color-recruit-primary);
		font-size: 1.5rem;
		font-weight: 700;
		border-bottom: 1px solid #bfbfbf;
		padding-block-end: 0.5em;
		line-height: 1.6;
	}

	.leadcopy {
		color: #505050;
		font-size: clamp(1.5em, 0.865em + 1.3vw, 2em);
		font-weight: 700;
		margin-block: 0.75em;
	}

	p:not(.leadcopy) {
		margin-block-start: 0;
	}

	figure {
		width: 100%;
		height: 100%;

		img {
			width: 100%;
			height: 100%;
			/* object-fit: cover; */
			max-width: 432px;
			margin-inline: auto 0;
		}
	}
}

@media (782px > width) {
	.twoblock-layout {

		> div,
		figure img {
			margin-inline: auto;
		}
	}
}

.equipment {
	h3 {
		/* font-size: clamp(1.125rem, -0.299rem + 2.91vw, 2.25rem); */
		/* font-size: clamp(1.35rem, -0.299rem + 2.91vw, 2.25rem); */
		font-size: clamp(1.5rem, 0.551rem + 1.94vw, 2.25rem);
		padding-block-end: 0.67em;
		font-weight: 700;
		/* color: var(--color-recruit-primary); */
		border-bottom: 2px solid;
		border-image: linear-gradient(90deg, #012371 -6.98%,
				#00A0F7 100%) 1;

		&::before {
			content: "";
			display: inline-block;
			width: clamp(1.125rem, -0.299rem + 2.91vw, 2.25rem);
			height: clamp(0.75rem, -0.199rem + 1.94vw, 1.5rem);
			background: linear-gradient(90deg, #012371 -6.98%, #00A0F7 100%);
			clip-path: polygon(50% 0, 0 100%, 50% 100%, 100% 0);
			margin-inline-end: 0.25em;
		}
	}

	/* テーブル */
	figure:has(table) {
		margin-block-end: clamp(5em, 2.653em + 4.8vw, 100px);
	}

	@media (768px >=width) {
		.wp-block-flexible-table-block-table.is-scroll-on-mobile.js-scrollable {
			overflow-x: scroll;
		}

		.wp-block-flexible-table-block-table.is-scroll-on-mobile .scroll-hint-icon {
			z-index: 3;
			/* 			top: 30%; */
			top: 6em;
			transform: translateX(-50%);
		}

		.wp-block-flexible-table-block-table.is-scroll-on-mobile table {
			width: max(680px, 100%);

			thead tr:first-child,
			tbody th:first-child {
				position: sticky;
				left: 0;
				z-index: 1;
			}

			thead th:first-child,
			tbody th:first-child {
				z-index: 2;
				/* width:20%; */
				min-width: 120px;
				width: 22.5%;
			}
		}
	}

	/* 品質管理 */
	.qcontrol {
		background: #E8F3FC;
		padding-block: clamp(3.25em, -0.995rem + 7.78vw, 5.813em) clamp(3.75rem, -2.595rem + 12.97vw, 140px);
		display: grid;
		row-gap: clamp(1.5em, 0.168em + 2.72vw, 2.55em);
		counter-reset: count 0;

		> div {
			width: min(1100px, calc(100% - 3rem));
			margin-inline: auto;

			@media (768px < width < 1200px) {
				padding-inline: 1.5em;
			}

			justify-content: space-between;

			> div:nth-child(1) {
				max-width: 432px;
			}
		}

		img {
			margin-inline: auto 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			max-width: 562px;
		}

		h3 {
			counter-increment: count 1;
			padding-block-end: 0;
			border-bottom: unset;

			&::before {
				content: counter(count, decimal-leading-zero);
				display: block;
				width: fit-content;
				height: fit-content;
				margin-inline-end: unset;
				clip-path: unset;
				background-image: linear-gradient(90deg, var(--grad-start) 0%, var(--grad-end) 100%);
				background-position: right center;
				-webkit-background-clip: text;
				background-clip: text;
				-webkit-text-fill-color: transparent;
				font-family: var(--wp--preset--font-family--oswald);
				font-size: clamp(2.625rem, 2.149rem + 0.97vw, 3rem);
				margin-block-end: 0.125em;
				transition: --grad-start 0.9s ease, --grad-end 1.2s ease;
			}

			&.an-move.an-content::before {
				--grad-start: oklch(0.3 0.14 262.48);
				--grad-end: oklch(65% 0.17 228);
			}
		}
	}
}

@media (782px >=width) {
	.equipment .qcontrol {
		row-gap: 2.75em;

		h2 {
			margin-block-end: 0;
		}

		/* >div{
				display: inherit;
			} */
	}
}

@media (1024px > width) {
	.equipment .qcontrol {
		h2 {
			margin-block-end: 1em;
		}

		div,
		figure {
			margin-block: 0;
		}

		> div {
			display: grid;
			justify-content: center;

			> div,
			figure {
				margin-inline: auto;
			}

			img {
				max-width: 432px;
			}
		}
	}
}

/* 会社情報 */
.company {
	h2[data-text] {
		margin-block-end: 0;
	}

	:where(.company-message, .company-sdgs) {
		margin-block: 4.5em 5em;
	}

	:where(.company-philosophy) {
		margin-block: clamp(5em, 2.623em + 4.86vw, 7em) 5em;
	}

	h2[data-text="MESSAGE"],
	h2[data-text="PHILOSOPHY"] {
		text-align: start;
		width: fit-content;
	}

	figure[class*="wp-block-flexible"] {
		width: min(1100px, calc(100% - 3rem));
		margin-inline: auto;
		background-color: var(--wp--preset--color--white);
		padding-block: 2em;

		@media (768px < width < 1200px) {
			padding-inline: 1.5em;
		}

		table {
			max-width: 977px;
			margin-inline: auto;
		}
	}

	/* 会社概要 */
	.company-message {
		/* column-gap: 8em; */
		column-gap: clamp(3em, -9.308rem + 19.23vw, 8em);

		> div:nth-child(1) {
			/* max-width: 929px; */
			max-width: clamp(32rem, 2.857rem + 45.54vw, 929px);
		}

		> div:nth-child(2) {
			max-width: 35.1em;
			align-content: center;

			p:last-child {
				margin-block-start: clamp(1.5em, -2.66em + 8.51vw, 5em);
			}
		}
	}

	:where(.company-outline, .company-history, .company-group, .company-sdgs) {
		padding-block: clamp(4em, -4.625em + 17.97vw, 110px) 100px;
	}

	/* 企業理念 */
	.company-philosophy {
		> div {
			align-content: center;
		}

		ol {
			list-style: none;
			padding-left: 0;
			counter-reset: philosophy-counter;

			& > li {
				counter-increment: philosophy-counter;
				font-size: clamp(2.25em, 1.359em + 1.82vw, 3rem);
				font-weight: 700;
				line-height: 2.25;
				display: grid;
				grid-template-columns: auto 1fr;
				align-items: center;

				&::before {
					content: counter(philosophy-counter, decimal-leading-zero) ".";
					font-size: 1.05em;
					font-weight: 900;
					font-variant-numeric: tabular-nums;
					margin-inline-end: 0.5em;
					font-family: var(--wp--preset--font-family--oswald);
					background-image: linear-gradient(90deg, #012371 0%, #00A0F7 100%);
					background-position: right center;
					-webkit-background-clip: text;
					background-clip: text;
					-webkit-text-fill-color: transparent;
				}
			}
		}
	}

	.company-outline {
		figure[class*="wp-block-flexible"] {
			margin-block: clamp(2em, 0.129em + 3.83vw, 3.5em);
		}
	}

	/* 企業概要 */
	.company-outline,
	.company-sdgs {
		background-color: #E8F3FC;
	}

	.company-group {
		padding-block-end: 0;

		h3 {
			font-size: 1.25rem;
			font-weight: 700;
			border-bottom: 1px solid var(--color-recruit-primary);
			padding-block-end: 0.75em;
		}

		> div {
			margin-block: clamp(3.5em, -7.81em + 23.14vw, 7em) clamp(5rem, -1.463rem + 13.22vw, 7rem);

			> .wp-block-column:nth-child(1) {
				align-content: center;

				> * {
					max-width: 440.1px;
					margin-inline: auto;

					> * {
						max-width: unset;
						width: fit-content;

						a.btn {
							margin-block-start: unset;
							width: 100%;
							max-width: unset;

							span {
								padding-inline-start: 1.5em;
								text-align: start;
								width: 100%;
								margin-inline: 0 auto;
							}
						}
					}
				}
			}
		}

		img {
			margin-inline: auto;
		}
	}

	.company-sdgs {
		margin-block-end: 0;

		h2 {
			margin-block-end: 55px;
		}

		.inner-blocks {
			max-width: 690px;
		}

		> figure {
			max-width: 598px;
			margin-block: 65px 100px;
		}

		> .sdgs_detail {
			background-color: var(--wp--preset--color--white);
			padding-inline: clamp(1em, -4.497em + 11.25vw, 90px);

			> .wp-block-columns {
				margin-block-start: 0;
				background-color: var(--wp--preset--color--white);
				padding-block: 82px;
				border-bottom: 1px solid #D9D9D9;

				&:nth-last-child(1) {
					border-bottom: unset;
				}

				h3 {
					font-size: 2rem;
					font-weight: 700;
					color: var(--color-recruit-primary);
					display: flex;
					align-items: flex-start;

					span {
						display: block;
					}

					.en-face {
						font-size: 3rem;
						padding-inline: 0.25em;
						text-box-trim: trim-bottom;
						line-height: 1;
					}

					span:not(.en-face) {
						display: inline-block;
						align-items: center;
					}
				}

				ul {
					margin-block: 0.5em;
				}

				li {
					margin-inline-start: 1em;
					padding-inline-start: 0.75em;

					&::marker {
						content: "●";
						font-size: 0.8em;
					}
				}

				figure {
					img {
						max-width: 292px;
						height: 292px;
						object-fit: contain;
						aspect-ratio: 1 / 1;
						margin-inline: auto 0;
					}
				}
			}
		}
	}
}

@media(769px > width) {
	.company {

		.company-outline,
		.company-history {
			figure[class*="wp-block-flexible"] {

				th,
				td {
					padding-block: 0.25em;
				}

				td {
					padding-block-end: 1em;
				}

				tr {
					border: none;
				}

				th {
					border-bottom: 1px solid #D9D9D9;

					br {
						display: none;
					}
				}
			}
		}

		.company-outline {
			figure[class*="wp-block-flexible"] {
				padding-inline: 2em;
			}
		}
	}
}

@media(782px > width) {
	.company {
		.company-sdgs {
			> .sdgs_detail {
				padding-inline: 0;

				.wp-block-columns {
					max-width: 600px;
					margin-inline: auto;

					figure {
						width: fit-content;
						margin-inline: auto;
						display: block;

						img {
							/* width: 100%; */
							height: auto;
							object-fit: contain;
							aspect-ratio: 1/1;
						}
					}
				}
			}
		}
	}
}

@media(1024px >=width) {
	.company {
		.widefull-block.company-message {
			display: grid;
			width: 100%;
			margin-inline: auto;
			justify-content: center;
			justify-items: center;
			gap: 3em;

			> div {
				max-width: 35.1em;
			}

			h2 {
				margin-block-end: 1.8em;
			}

			p {
				line-height: 2;
			}
		}

		.company-philosophy {
			display: grid;
			width: 100%;
			max-width: 782px;
			margin-inline: auto;
			gap: 3.15em;

			ol {
				justify-self: center;
			}

			> div:nth-child(1) {
				flex-basis: unset;
				flex-grow: unset;
			}
		}

		figure[class*="wp-block-flexible"] {
			margin-block: 3em;
		}

		.company-outline,
		.company-history {
			padding-block-end: clamp(4.25em, 1.873rem + 4.86vw, 6.25em);

			figure[class*="wp-block-flexible"] {
				padding-block-end: 0;
				margin-block-end: 0;
			}
		}

		figure.wp-block-image.size-full.parallax-img.widefull-block {
			img {
				aspect-ratio: 4/3;
				object-fit: cover;
			}
		}

		.carousel {
			figure.card {
				width: clamp(20rem, 2.631rem + 35.54vw, 25.375rem);
			}
		}

		.company-group {
			> div {
				flex-direction: column-reverse;
				align-content: center
			}

			.btn-links {
				display: grid;
				gap: 0.5em;

				a.btn {
					width: clamp(16.5em, 10.303rem + 12.68vw, 19.813em) !important;
				}
			}
		}

		.company-sdgs {
			/* width:100%;
			margin-inline: unset; */
			padding-inline: 1em;

			> .sdgs_detail {
				max-width: unset;
				width: 100%;
				padding-inline: 1em;
			}
		}
	}
}

@media(1700px>=width > 1024px) {
	.company .company-message {
		> div:nth-child(2) {
			padding-inline-end: 1rem;
		}
	}
}

@media(1280px >=width > 1024px) {
	.company {
		.company-message {
			max-width: 1920px;
			gap: 3.5em;

			> div:nth-child(1),
			> div:nth-child(2) {
				flex: 1;
			}
		}

		.company-philosophy {
			> div:nth-child(1) {
				flex-basis: 45%;
				flex-grow: unset;
			}
		}
	}
}

@media (1920px < width) {
	.company .company-message {
		justify-content: center;
	}
}

.linerlink {
	padding-block-start: 0.15em;

	a {
		position: relative;
		padding-block: 0.5em;
		font-size: 0.8125em;
		display: flex;
		gap: 0.75em;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding-inline: 1.5em;
		color: var(--wp--preset--color--white);
		margin-inline: 0 auto;
		background-image: linear-gradient(90deg, #012371 0%, #00A0F7 100%);
		border-radius: 3em;

		&::after {
			content: "";
			width: 0.8em;
			height: 0.8em;
			display: block;
			background-image: url(../../images/svg/upwardarrow.svg);
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center;
		}
	}
}

.check-point {
	background-color: #E8F3FC;
	width: fit-content;
	padding-inline: 0.5em;
	font-weight: bold;
}

/* ==========================================
カテゴリアーカイブ：記事カード
========================================== */
.post-list {
	display: grid;
	gap: 0;

	@media (width < 782px) {
		max-width: 500px;
	}
}

.post-card {
	border-bottom: 1px solid #D9D9D9;

	&:first-child {
		border-top: 1px solid #D9D9D9;
	}

	a {
		display: grid;
		grid-template-columns: 200px 1fr;
		gap: 2rem;
		padding-block: 2rem;
		text-decoration: none;
		color: inherit;
		transition: opacity 0.2s ease;

		&:hover {
			opacity: 0.7;
		}

		@media (width < 782px) {
			grid-template-columns: 1fr;
			gap: 1rem;
		}
	}
}

.post-card__thumbnail {
	aspect-ratio: 4 / 3;
	overflow: hidden;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.3s ease;
	}

	.post-card a:hover & img {
		transform: scale(1.03);
	}

	@media (width < 782px) {
		aspect-ratio: 16 / 9;
	}
}

.post-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
}

.post-card__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.post-card__date {
	font-size: 0.8125rem;
	color: var(--color-text-gray);
	font-family: var(--wp--preset--font-family--oswald);
	letter-spacing: 0.05em;
}

.post-card__category,
.post-category a {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-bg-blue);
	border: 1px solid currentColor;
	padding-inline: 0.6em;
	padding-block: 0.1em;
	line-height: 1.6;
}

.post-card__title {
	/* font-size: 1rem; */
	font-size: clamp(1.125rem, 0.857rem + 0.71vw, 1.5rem);
	font-weight: 700;
	line-height: 1.6;
}

.post-card__excerpt {
	font-size: 0.875rem;
	color: var(--color-text-gray);
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 投稿個別ページ */
body.single-post {
	.container {
		margin-block-end: 5em;
	}

	.page-content {
		h2.post-title {
			font-size: 1.5rem;
		}

		p {
			margin-block: 1em;
		}
	}

	.post-meta {
		text-align: right;
		margin-block: 1.75em;
	}

	.post-category {
		margin-block: 2em 1.5rem;

		a {
			color: var(--color-text-white);
			font-size: 1rem;
			width: 100%;
			background-color: var(--color-corporate-primary);
			display: block;
			width: fit-content;
			border-color: var(--color-corporate-primary);
			transition: 0.3s ease;

			&:hover {
				background-color: var(--color-text-white);
				color: var(--color-corporate-primary)
			}
		}
	}
}

/* 404ページ */
.corporate-404 {
	.page-content {
		display: flex;
		flex-direction: column;
		gap: 2rem;
		margin-block-end: 7em;

		.btn {
			margin-block-start: 1rem;
		}
	}
}