/*
 * corporate-inner.css
 * 企業サイトの内部ページ（トップ以外）に共通するレイアウト。body.site-corporate かつ !
 * is_front_page() の場合に読み込む（functions.php）。
 * ルール: @layer は使わない。固有クラスは corp-inner- 接頭辞。各ページは page.php
 * ＋ブロックエディタで、専用テンプレートは作らない。
 */
:root {
	--width-container__inner: 1200px;
}

/* .corporate-section-case {
	padding-block: clamp(1.5rem, -1.297rem + 7.91vw, 90px);
} */
.corporate-section-case {
	padding-block: clamp(2.5rem, -1.297rem + 7.91vw, 90px) clamp(3.5rem, -1.297rem + 7.91vw, 90px);
}
.inner-w-container {
	max-width: var(--width-container);
	margin-inline: auto;

	@media(1130px > width) {
		padding-inline: 1rem;
	}
}

.entry-content {
	color: var(--color-corporate-heading);
	font-weight: 700;
}

.hero {
	position: relative;
	aspect-ratio: 1 / 0.742;
	color: var(--color-white);
	display: grid;
	place-content: center;
	height: 100%;
	max-height: 250px;
	background-color: var(--color-crosspile-blue-1);

	&::after {
		max-width: clamp(12.813rem, 3.78rem + 38.54vw, 37.5rem);
		max-height: clamp(3.875rem, 2.64rem + 5.27vw, 7.25rem);
	}

	.entry-title {
		margin-block-start: calc((var(--header-height) / 2) * -1);
		font-size: clamp(1.063rem, -1.938rem + 6.25vw, 44px);
		line-height: 1.4;
		text-align: center;

		&::after {
			content: "";
			bottom: 0;
			display: block;
			height: 1px;
			width: 33px;
			background-color: var(--color-accent);
			margin-inline: auto;
			margin-block-start: clamp(0.5rem, -0.389rem + 1.85vw, 1rem);
		}
	}

	.entry-title-en {
		font-size: clamp(1.5rem, -1.167rem + 5.56vw, 48px);
		font-weight: 600;
	}
}

@media (768px <=width) {
	.hero {
		aspect-ratio: 1 / 0.328;
		max-height: 630px;
	}
}

.corp-section-case {
	background-color: var(--color-ivory);
}

:where(.l-main--equipment, .l-main--business, .l-main--technology, .l-main--company) {
	background-color: var(--color-ivory);
}

.corp-section-case-w {
	background-color: var(--color-white);
}

/* 各ページのヘッダーイメージ */
.l-main--business .hero {
	background-image: url(../images/hd_business.webp);
}

.l-main--technology .hero {
	background-image: url(../images/hd_technology.webp);
}

.l-main--equipment .hero {
	background-image: url(../images/hd_equipment.webp);
}

.l-main--cat-item .hero {
	background-image: url(../images/hd_goods.webp);
}

.l-main--guide .hero {
	background-image: url(../images/hd_shoppingguide.webp);
}

.l-main--company .hero,
.l-main--contact .hero,
.l-main--cat-news .hero,
.l-main--policy .hero,
.l-main--temporary .hero {
	background-image: url(../images/hd_company.webp);
}

.c-content-leadElements.first {
	margin-block: clamp(4.375rem, 1.042rem + 6.94vw, 6.25rem) clamp(2.375rem, 1.042rem + 6.94vw, 6.25rem);
}

.c-content-leadElements {
	display: grid;
	row-gap: clamp(2.5rem, 1.285rem + 2.53vw, 3.5rem);
	margin-block-end: 3rem;

	@media(770px>=width) {
		padding-inline: 1rem;
	}
}
.first .inpage-headline {font-size:clamp(20px, 0.035rem + 2.53vw, 2.25rem);}
.inpage-headline {
	text-align: center;
	font-size: clamp(24px, 0.589rem + 1.9vw, 2.25rem);
	font-weight: 700;
	letter-spacing: 0.1em;
}
.entry-content > h2.entex-headeline:first-child,
.entry-content > :first-child h2.entex-headeline {
	margin-block-start: clamp(0rem, -3.938rem + 10.5vw, 5.25rem);
}

.leadCopy {
	line-height: 1.875;
	max-width: 45.5em;
	margin-inline: auto;
	font-feature-settings: normal;
	font-weight: 700;
}

.c-dark-background {
	background-color: var(--color-corporate-heading);
	color: var(--color-white);
}

.c-leadLine {
	border-bottom: 2px solid var(--color-accent);
	letter-spacing: 0.225rem;
}

/* 共通900w */
.c-b-inner-content {
	margin-block-start: 2.5rem;
	max-width: 900px;
	margin-inline: auto;
	display: grid;
	width: 100%;
	gap: clamp(1rem, 3.215rem + -2.53vw, 2rem);

	@media(930px >=width) {
		padding-inline: 1rem;
	}
}

/* BUSINESS */
.c-b-visual {
	display: grid;
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	grid-template-columns: repeat(2, auto);
	/* height: clamp(9.188rem, -23.146rem + 67.36vw, 27.375rem); */
	min-height: 147px;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	figure:nth-child(2) img {
		width: clamp(7.5rem, -85.833rem + 194.44vw, 60rem);
	}
}

.c-dark-background:has(.c-bussiness-inner) {
	padding-inline: 1rem;
}

/* セキサーマルの事業 */
.c-bussiness-inner {
	max-width: var(--width-container__inner);
	margin-inline: auto;
	display: grid;
}

.c-b-inner-l {
	max-width: 34.5em;

	.c-leadLine {
		margin-block-end: 1em;
	}

	p {
		line-height: 2;
	}
}

/* セキサーマルの事業　商品 */
.c-b-inner .c-b-inner-content {
	p {
		color: var(--color-white);
		font-size: clamp(1rem, 0.696rem + 0.63vw, 1.25rem);
		font-weight: 600;
		text-align: center;
		align-self: center;
	}

	img {
		width: 100%;
		display: block;
		height: auto;
		object-fit: coverS;
	}

	.inner_l,
	.inner_r {
		padding: 2.25rem 1.25rem 1.5em;
		text-align: center;
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		row-gap: 2.25rem;
	}

	.inner_l {
		background-color: var(--color-accent);

		h4 {
			color: var(--color-accent);
		}
	}

	.inner_r {
		h4 {
			color: var(--color-crosspile-blue-1);
		}

		background-color: var(--color-crosspile-blue-1);
	}

	h4 {
		font-size: clamp(24px, 0.892rem + 1.27vw, 32px);
		background-color: var(--color-white);
		padding-block: clamp(0.5rem, 0.196rem + 0.63vw, 0.75rem);
		border-radius: 3em;
		letter-spacing: 0.2rem;
	}
}

@media(1024px > width) {
	.c-bussiness-inner {
		max-width: 40rem;
		justify-content: center;
		justify-items: center;
		gap: 2.25rem;
	}
}

@media(1024px <=width) {
	.c-bussiness-inner,
	.c-b-inner .c-b-inner-content {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.c-b-inner-l + figure {
		justify-self: end;
	}

}

@media(768px < width) {
	.c-content-leadElements {
		.leadCopy {
			text-align: center;

		}
	}
}

/* 対応分野 */
.c-b-field {
	background-image: url(../images/tec_bg04.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	font-weight: 700;
	padding-block-start: clamp(3rem, -1.297rem + 7.91vw, 90px);

	p:not(.copytxt) {
		line-height: 1.9;
	}
}

.c-b-field-inner {
	display: grid;
	gap: 2rem 1rem;

	> div {
		background-color: var(--color-white);
		max-width: 600px;

		> div {
			max-width: 27.25em;
			margin-inline: auto 7vw;
			padding-block: clamp(1rem, -3.557rem + 9.49vw, 4.75rem) clamp(1rem, -5.076rem + 12.66vw, 6rem);
			padding-inline: 1rem;
			display: grid;
			gap: clamp(1.25rem, -1.18rem + 5.06vw, 3.25rem) 2.55rem;
		}
	}

	.inpage-headline {
		text-align: start;
		font-size: clamp(24px, 0.167rem + 2.78vw, 2.25rem);
	}
}

.copytxt {
	font-size: clamp(20px, 0.806rem + 0.93vw, 1.5rem);
	font-weight: 700;
	line-height: 1.667;
	letter-spacing: 0.1em;
	margin-block-start: 0.5em;
}

.c-b-field-ul {
	list-style: none;
	color: var(--color-accent);
	font-size: clamp(16px, -0.556rem + 3.24vw, 1.875rem);
	line-height: 1.2;
	letter-spacing: 0.1875rem;
	padding-inline-start: unset;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem clamp(0.625rem, 0.169rem + 0.95vw, 1rem);
	max-width: 600px;
	justify-self: center;
	align-content: center;

	li {
		background-color: var(--color-ivory);
		width: clamp(100px, 3.205rem + 12.18vw, 11rem);
		aspect-ratio: 1/ 1;
		border-radius: 50%;
		display: block;
		align-content: center;
		text-align: center;
		/* box-shadow:0 0 20px rgb(from var(--color-accent) r g b / 50%); */
		filter: drop-shadow(0 0 20px rgba(230, 126, 34, 0.40));
	}
}

@media(1024px > width) {
	.c-b-field-inner {
		> div {
			margin-inline-end: clamp(1.5rem, -3rem + 9.38vw, 3rem);
		}
	}

	.c-b-field-ul {
		padding-inline: 1rem;
		margin-block-start: 2rem;
	}
}

/* 流れ */
.c-b-flow-inner {
	counter-reset: step-counter;

	> div {
		counter-increment: step-counter;
	}
}

.c-b-flow-inner {
	font-weight: 700;

	h4 {
		color: var(--color-accent);
		font-size: clamp(20px, 0.946rem + 0.63vw, 1.5rem);
		grid-column: 2 / 3;
		padding-block-start: 2rem;
	}

	h4 + p {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
		padding-block-end: 2.075rem;
		color: var(--color-corporate-heading);
	}

	h4,
	h4 + p {
		padding-inline: 2rem;
	}

	> div {
		background-color: var(--color-white);
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto;
		row-gap: 1.25rem;
		align-content: center;
		align-items: center;
	}
}

.step {
	width: 100%;
	height: 100%;
	color: var(--color-white);
	background-color: var(--color-accent);
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	padding-inline: 1.5rem;
	display: grid;
	align-content: center;
	text-align: center;
	letter-spacing: 0.2rem;
}

.step::after {
	content: counter(step-counter, decimal-leading-zero);
	display: block;
	text-align: center;
	font-size: 2.25rem;
	letter-spacing: 0.1rem;
	line-height: 0.9;
}

@media(560px>=width) {
	.c-b-flow-inner {
		h4 {
			padding-inline: unset;
			padding-block-start: unset;
			justify-self: center;
		}

		h4 + p {
			grid-column: 1 / 3;
		}

		.step {
			grid-row: 1 / 2;
			aspect-ratio: 1/1;
			padding-inline: unset;
			margin-inline: auto;
		}
		>div{
			grid-template-columns: 81px minmax(0, 1fr);
		}
	}
}

/* 選ばれる理由 */
.c-b-select {
	counter-reset: reson-counter;

	h3 {
		margin-block-end: 3.5rem;
	}

	.c-leadLine {
		border-bottom: 2px solid var(--color-crosspile-blue-1);
		padding-block-end:clamp(13px, 0.585rem + 0.47vw, 1rem);
	}

	h4 {
		counter-increment: reson-counter;
		font-size: clamp(1.25rem, -0.083rem + 2.78vw, 2rem);
		width: fit-content;
		margin-block-end: 1em;
	}

	h4::before {
		content: counter(reson-counter, decimal-leading-zero);
		display: inline-block;
		font-size: clamp(1.5rem, 0.167rem + 2.78vw, 2.25rem);
		font-family: var(--font-en);
		line-height: 0.9;
		margin-inline-end: 0.5rem;
	}
}

.c-b-select-inner {
	position: relative;
	counter-increment: step-counter;
	color: var(--color-white);
	margin-block-start: 3.5rem;
	display: grid;
	gap: 4rem;

	figure {
		position: absolute;
		top: clamp(0rem, -5.447rem + 8.51vw, 2rem);
		right: 0;
		bottom: 0;
		z-index: -1;
		display: block;
		aspect-ratio: 1 / 0.356;
		overflow: hidden;
		z-index: -1;
	}

	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
	}
}

.c-b-select-inner > div {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	padding-block-end: clamp(12.5rem, 63.726rem + -58.54vw, 35.625rem);
}

.c-b-select-inner > div > div {
	position: relative;
	max-width: 74rem;
	background-color: var(--color-corporate-heading);
	clip-path: polygon(100% 0, 80% 100%, 0 100%, 0 0);
	z-index: 2;
	padding-block: clamp(2.813rem, -0.605rem + 7.12vw, 5.625rem) clamp(38px, -0.663rem + 6.33vw, 4.875rem);
	padding-inline: 1rem 2rem;

	p {
		font-weight: bold;
		max-width: 33.5em;
		line-height: 1.9;
	}

	h4,
	p {
		margin-inline-start: clamp(0rem, -12.917rem + 26.91vw, 19.375rem);
	}
}

/* 技術力 */
.c-t-visual {
	figure {
		display: block;
		height: clamp(420px, 7.139rem + 39.81vw, 37rem);
	}

	img {
		display: block;
		width: 100%;
		height: 100%;
		object-position: center;
		object-fit: cover;
	}
}

.c-b-tech-inner {
	margin-block-start: 3.5rem;
	display: grid;
	gap: 2rem 1.5rem;
	font-weight: 700;

	h4 {
		width: fit-content;
		margin-inline: auto;
		font-size: 24px;
		padding-block-end: 6px;
		border-block-end-width: 1px;
	}

	p {
		text-align: center;
		font-size: clamp(16px, 0.848rem + 0.32vw, 1.125rem);
	}

	div {
		display: grid;
		row-gap: 1rem;
	}

	img {
		width: 100%;
		max-width: 440px;
		height: auto;
	}
}

/* スキル */
.c-t-hight {
	background-color: var(--color-corporate-heading);
	background-image: url(../images/tec_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--color-white);
	text-align: center;
	font-weight: 700;
	padding-block-start: clamp(4.5rem, 3.133rem + 2.85vw, 90px);

	h4 {
		letter-spacing: 0.2rem;

		em {
			font-size: clamp(1.125rem, 0.458rem + 1.39vw, 1.5rem);
			display: block;
			margin-block-end: 0.3em;
		}

		span {
			font-size: clamp(1.5rem, 0.611rem + 1.85vw, 2rem);
			letter-spacing: 0.075rem;
			padding-block-end: 0.35rem;
			line-height: 1.9;
		}
	}

	.c-leadLine {
		border-color: var(--color-white);
		border-bottom-width: 1px;
	}

	ul {
		width: 100%;
		padding-inline-start: 0;
		list-style: none;
		margin-block: clamp(3.5rem, 2.649rem + 1.77vw, 4.2rem) clamp(3rem, 1.542rem + 3.04vw, 4.2rem);
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-content: center;
		align-items: center;
		max-width: clamp(25rem, -143.421rem + 263.16vw, 37.5rem);
		margin-inline: auto;
		gap: 0.125rem 2px;
		font-size: clamp(18px, 0.973rem + 0.32vw, 1.25rem);
	}

	li {
		width: 7.4rem;
		aspect-ratio: 1 / 1;
		background-color: var(--color-crosspile-blue-1);
		border-radius: 50%;
		display: grid;
		place-content: center;
	}

	p {
		font-size: clamp(18px, 0.973rem + 0.32vw, 1.25rem);
	}
}
@media(600px <= width) {

	/* スキル */
	.c-t-hight {
		p {
			text-align: center;
			br.none{
				display: block;
			}
		}
	}
}
@media(1024px < width) {

	/* スキル */
	.c-t-hight {
		ul {
			width: fit-content;
			max-width: unset;
			gap: 0.35rem;
		}
	}
}

/* 営業品目 */
.c-teh-sales {
	background-color: var(--color-white);
	text-align: center;
	font-weight: 700;

	h3 + div {
		margin-block-start: 3.5rem;
		display: grid;
		row-gap: 2rem;
	}

	p {
		text-align: center;
	}

	ul {
		padding-inline-start: unset;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-content: center;
		align-items: center;
		gap: clamp(1rem, -0.778rem + 3.7vw, 2rem) clamp(1rem, 0.111rem + 1.85vw, 1.5rem);
		margin-inline: auto;
		width: 820px;
		margin-block-end: 0;
	}

	li {
		border: 1px solid currentColor;
		padding-inline: clamp(1rem, -0.778rem + 3.7vw, 2rem);
		padding-block: 0.75rem;

		@media(1024px<=width) {
			min-width: 15rem;
		}
	}
}

/* 品質管理 */
.c-teh-maintain {
	font-weight: 700;

	h4 {
		letter-spacing: 0.15rem;
		line-height: 1.6;
	}
}

.c-tech-inner {
	margin-block-start: 4rem;
}

/* 画像カラム */
.c-tech-col {
	width: fit-content;
	margin-inline: auto;
	gap: 2rem 1rem;
	margin-block: clamp(2.5rem, -3.576rem + 12.66vw, 7.5rem) clamp(3.25rem, -1.915rem + 10.76vw, 7.5rem);

	figurea {
		display: block;
	}

	> div {
		justify-items: center;
	}
}

/* 見出しのあるブロック */
.c-tec-inner-l {
	display: grid;
	justify-items: center;
	gap: 2rem;

	h4 {
		text-align: left;
		margin-block-end: 3rem;
		font-size: clamp(1.5rem, 0.167rem + 2.78vw, 2.25rem);
	}

	p {
		font-size: clamp(1rem, 0.382rem + 1.16vw, 1.25rem);
		line-height: 2;
		font-feature-settings: normal;
		max-width: 500px;
	}

	figure {
		align-self: center;
	}
}

/* 品質方針など */
.column-two {
	display: grid;
	justify-items: center;
	gap: 2rem;

	> div {
		border-radius: 20px;
		font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
		background-color: var(--color-white);
		width: 100%;
		max-width: 33em;
		padding-inline: 1.5rem;
		padding-block: 1.8rem;
	}

	h4 {
		font-size: clamp(1.5rem, 0.167rem + 2.78vw, 2.25rem);
		margin-block-end: 1.25rem;
		letter-spacing: 0.225rem;
	}

	.c-leadLine {
		border-width: 2px;
	}

	img {
		margin-block-start: 1.5rem;
	}

	li {
		line-height: 3;

		&::marker {
			color: var(--color-accent);
		}
	}

	/*p,
	li {
		font-weight: normal;
	}*/
}

/* 設備 */
.lead_paragraph {
	font-size: 1.25rem;
	text-align: center;
	margin-block-start: 2.5rem;
}
.c-equioment{
	padding-block-start: 3.755rem;
}
.c-equioment-inner {
	border-top: 1px solid var(--color-corporate-heading);
	padding-block: 3.475rem 4rem;
	display: grid;
	gap: 2rem;
	font-weight: 700;

	&:nth-last-of-type(1) {
		border-bottom: 1px solid var(--color-corporate-heading);
	}

	h3 {
		font-size: clamp(18px, 0.669rem + 0.95vw, 1.5rem);
	}
}

.c-eq-inner-inner {
	display: grid;
	gap: 1.5rem;
	max-width: 29rem;
}

.c-eq-txt {
	p {
		line-height: 1.78;
		font-feature-settings: normal;
	}
}

.c-eq-describe {
	background-color: var(--color-white);
	padding: 1.25rem 1.25rem 1rem;
	font-size: clamp(14px, 0.972rem + 0.04vw, 1rem);

	.c-eq-txt_s {
		font-size: 0.876rem
	}

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

.txt_accent {
	color: var(--color-accent);
	font-size: 1.125rem;
	line-height: 2;
}

.txt_accent_b::before {
	content: "";
	display: inline-block;
	margin-inline-end: 0.35em;
	width: clamp(16px, 0.709rem + 0.61vw, 1.23938rem);
	aspect-ratio: 1 / 1;
	background-color: var(--color-crosspile-blue-1);
}

/* 設備list */
.c-eq-list {
	background-color: var(--color-white);
	padding-block-start: 4rem;

	h3 {
		font-size: clamp(18px, 0.062rem + 2.22vw, 2rem);
		line-height: 3;
		letter-spacing: 0.2rem;
		margin-block-start: 3.5rem
	}
}

/* 機械設備テーブル */
.c-eq-table {
	width: 100%;
	border-collapse: collapse;
	font-weight: 700;

	&.wp-block-table thead {
		border: unset;
	}

	thead th,
	tbody td,
	tbody tr,
	thead tr {
		border: unset;
	}

	thead th {
		background-color: var(--color-crosspile-blue-1);
		color: var(--color-white);
		padding-block: 0.875rem;
		text-align: center;
	}

	tbody {
		tr {
			border-bottom: 1px solid #D9D9D9;
		}

		td {
			padding-block: 1.25rem;
			padding-inline: 0.5rem;
			text-align: center;
			vertical-align: middle;
			line-height: 1.6;
		}
	}

	thead th,
	tbody td {
		width: auto;
	}

	thead th:nth-child(1),
	tbody td:nth-child(1) {
		width: 26%;
		text-align: center;
		padding-inline: unset;
	}
}

/* スマホ幅で表がつぶれないよう横スクロールにする */
/* 追加CSSクラスは figure.wp-block-table 自身に付くため、子孫ではなく自身に指定 */
.wp-block-table.c-eq-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;

	/* has-fixed-layout(table-layout:fixed)のままだと列が圧縮されて折り返すだけになるため、
	   テーブル自体に最低幅を持たせて元サイズを維持し、はみ出た分をfigure側でスクロールさせる */
	table {
		table-layout: auto;
		min-width: 700px;
	}
}

@media(768px >=width) {
	.c-tech-col figcaption {
		text-align: center;
		margin-block: 1em;
	}

	.c-eq-table thead th {
		white-space: nowrap;
	}
}

@media(1024px > width) {
	.c-equioment-inner {
		max-width: 440px;
	}
}

@media(1024px <=width) {
	.c-tec-inner-l {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		p{line-height: 1.9;}

		> div {
			justify-items: unset;
		}

		figure {
			justify-self: end;
			align-self: end;
		}
	}

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

	.c-equioment-inner {
		h3 {
			grid-column: 1 / 2;
		}

		> div {
			grid-column: 1 / 2;
		}

		figure {
			grid-column: 2 / 3;
			grid-row: 1 / 3;
			align-self: center;
			height: 100%;
			width: 100%;
			max-width: 31rem;
			justify-self: end;

			img {
				width: 100%;
				height: 100%;
				object-fit: contain;
			}
		}
	}
}

@media(1024px > width) {
	.c-teh-sales {
		ul {
			width: 100%;
			max-width: 600px;
			justify-content: space-between;

			li {
				/* width: calc(50% - 0.75rem); */
				width: 100%;
			}

			/* li:nth-last-of-type(1),
			li:nth-last-of-type(2) {
				width: 100%;
			} */
		}
	}
}

@media(1024px > width) {
	.c-b-tech-inner {
		grid-template-columns: repeat(auto-fit, minmax(clamp(21.656rem, 18.972rem + 11.45vw, 27.563rem), 1fr));
		gap:3.75rem 1em;
		justify-items: center;
		h4{
				padding-block-end: 12px;
				margin-block-end: 5px;
		}
		div{
			margin-block-end: 0.75rem;
		}
	}
}

@media(1024px <=width) {
	.c-b-tech-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: fit-content;
		gap: 3rem 2rem;
	}
}

@media(768px >=width) {
	.c-b-select-inner {
		> div {
			height: 570px;

			> div {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}
		}

		figure {
			aspect-ratio: 1 / 1;
			width: 100%;
			height: 100%;

			img {
				padding-block-start: 10rem;
				height: 100%;
				object-fit: cover;
				position: relative;
			}
		}

		> div:nth-child(1) img {
			object-position: 40% bottom;
		}

		> div:nth-child(2) img {
			object-position: 24% bottom;
		}

		> div:nth-child(3) img {
			object-position: 58% bottom;
		}
	}
}

@media(1024px >=width) {
	.c-b-select-inner {
		> div {
			> div {
				clip-path: polygon(100% 0, 100% 80%, 85% 100%, 0 100%, 0 0);
			}
		}

		img {
			object-position: center bottom;
			object-fit: cover;
			width: 100vw;
			right: 0;
			bottom: 0;
			position: absolute;
		}
	}
}

@media(1024px <=width) {
	.c-b-field-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		> div {
			max-width: 44.5vw;

			> div {
				padding-block: 5rem 6rem;
			}
		}
	}

	.c-b-field-ul {
		max-width: 800px;

		li {
			width: clamp(9.5rem, 5.214rem + 6.7vw, 13.25rem);
		}
	}

}

@media(1920px < width) {
	.c-b-visual {
		height: 430px;
		max-width: unset;

		figure {
			display: block;
			height: 430px;
		}

		img {
			width: 100vw;
		}

		figure:nth-child(2) img {
			width: 100vw;
		}
	}

	.c-b-select-inner > div > div {
		max-width: unset;
		width: min(80em, 70vw);
	}

	.c-b-select-inner figure {
		max-width: unset;
		width: 70vw;

		img {
			object-position: left top;
		}
	}
}

/* 会社概要テーブル */

.c-c-outline {
	padding-block: 0 clamp(3.5rem, -1.297rem + 7.91vw, 120px);
}

.c-c-message {
	background-image: url(../images/bg_company.webp);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: cover;
	font-weight: 700;

	h3 {
		font-size: clamp(1.5rem, 0.611rem + 1.85vw, 2rem);
		letter-spacing: 0.2rem;
		line-height: 1.8;
	}

}

.c-c-message-inner {
	display: grid;
	gap: 2.5rem;
	margin-block-start: 3.5rem;

	> div {
		display: grid;
		gap: 2.75rem;

		> p {
			justify-self: end;
		}
	}

	> div > div {
		display: grid;
		gap: 2rem 1rem
	}
}

@media(1024px > width) {
	.c-c-message {
		background-position: right 15% center;

		h3 {
			text-align: justify;
		}
	}

	.c-c-message-inner {
		max-width: 41em;
		justify-items: center;
	}
}

@media(1024px <=width) {
	.c-c-message-inner {
		justify-content: space-between;
		grid-template-columns: repeat(2, auto);

		h3 {
			grid-column: 2/3;
			margin-block: 0.975em;
			line-height: 2;
		}

		> div {
			max-width: 38.5em;
			row-gap: 6rem;
		}

		figure {
			grid-column: 1/2;
			grid-row: 1/3;
			align-self: center;
		}
	}

}

/* 企業理念 */
.c-c-philosophy {
	padding-block-end: unset;
	h3 {
		font-size: clamp(1.5rem, 0.167rem + 2.78vw, 2.25rem);
		line-height: 1.6;
		letter-spacing: 0.225rem;
	}

	.c-c-p-inner {
		margin-block-start: 3.5rem;
	}

	dl {
		margin-block-start: 3.5rem;
		background-color: var(--color-navy);
		color: var(--color-white);
		font-weight: 700;
		padding-block: clamp(1rem, 0.111rem + 1.85vw, 1.5rem);
		padding-inline: clamp(1.25rem, -2.556rem + 7.41vw, 3rem);

		dt {
			font-size: clamp(1.25rem, 0.139rem + 2.31vw, 1.875rem);
			letter-spacing: 0.09375rem;
		}

		dd {
			margin-inline-start: unset;
			font-size: clamp(1rem, 0.111rem + 1.85vw, 1.5rem);
			letter-spacing: 0.075rem;
		}
	}
}

@media(600px >=width) {
	.c-c-philosophy {
		dt {
			border-bottom: 1px solid var(--color-accent);
			line-height: 3;
			margin-block-end: 1rem;
			padding-block-end: 0.25rem;
		}

		dd {
			line-height: 2;
			margin-block-end: 2rem;
		}
	}
}

@media(600px < width) {
	.c-c-philosophy {
		h3 {
			text-align: center;
		}

		dl {
			display: grid;
			grid-template-columns: minmax(10em, 0.3fr) minmax(0, 1fr);
			padding: 3rem 3.25rem
		}

		dt,
		dd {
			line-height: 5rem;
			border-bottom: 1px solid var(--color-accent);
			margin-block-end: 1rem;
			padding-block-end: 0.25rem;
		}

	}
}
@media(1024px <= width) {
	.c-c-philosophy {
		dt,
		dd {
			line-height: 3.12;
			padding-block:unset;
		}

	}
}
.l-main--company .c-marquee {
	margin-block: 90px;

	.c-marquee__card {
		aspect-ratio: 1 / 0.71;
		width: clamp(15rem, -3.111rem + 37.73vw, 25.188rem);
	}
}

.c-c-history {
	background-color: var(--color-white);
}

.c-c-history-table {
	margin-block-start: 3.5rem;
	max-width: 980px;
	margin-inline: auto;

	table {
		border: unset;
		font-weight: 700;
	}

	tbody,
	tr td {
		border: unset;
	}

	tbody tr {
		border-bottom: 1px solid #D9D9D9;
	}

	tr td {
		padding-block: 2rem;
		padding-inline: 1rem;

		&:nth-child(1) {
			white-space: nowrap;
			padding-inline-start: 0.5rem
		}

		&:nth-child(2) {
			padding-inline-start: clamp(1rem, -3.556rem + 7.41vw, 2rem);
		}
	}
}

/* 認定 */
.c-c-c-inner {
	margin-block-start: 3.5rem;
	display: grid;
	place-content: center;
}

.c-c-lists {
	width: fit-content;
	margin-inline: auto;
	list-style: none;
	padding-inline-start: unset;
	margin: unset;
	font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);

	li {
		font-weight: 700;
		line-height: 2;
	}

	li.txt_accent_b::before {
		width: 0.7em;
	}
}

@media(768px <=width) {
	.c-c-lists {
		column-count: 2;
		column-width: auto;
		column-gap: 1em;
	}
}

.c-c-tec-list {
	background-color: var(--color-white);
}

.c-c-tec-list-inner {

	font-weight: 700;

	p {
		text-align: center;
		font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
		margin-block-start: 3.5rem;
	}

	.c-c-tec-lists {
		list-style-type: "▶";
		width: fit-content;
		margin-inline: auto;
		margin-block-start: 2.5rem;
		font-size: 1.125rem;

		li::marker {
			color: var(--color-crosspile-blue-1);
			font-size: 0.8em;
		}

		li {
			padding-inline-start: 0.75em;
			line-height: 3;
		}
	}

	.wp-block-columns {
		width: 100%;
		max-width: 700px;
		margin-inline: auto;
		gap: clamp(0.625rem, -0.717rem + 2.8vw, 1.38rem);
		margin-block: 2.5rem 0;
	}
}

/* テキストメインページ お買い物ガイド、ポリシーなど　*/
.l-main--policy,
.l-main--guide {
	.entry-content {
		font-weight: 700;

		p {
			line-height: 1.8;
			margin-block-end: 1rem;
		}

		p.leadCopy {
			margin-block: 4rem 6rem;
			text-align: justify;
			max-width: unset;
		}

		h2 {
			margin-block-end: 0.5rem;
			font-size: clamp(24px, 0.892rem + 1.27vw, 2rem);
			letter-spacing: 0.2rem;
			line-height: 1.8;
		}

		h3 {
			margin-block: 2rem 1rem;
			border-bottom: 1px solid var(--color-accent);
			font-size: clamp(18px, 0.339rem + 1.9vw, 2rem);
			padding-block-end: 0.5rem;
		}

		ul,
		ol {
			margin-block: 1rem 1.25rem;
		}

		li {
			line-height: 2;
		}
	}
}

.l-main--policy {
	.entry-content {
		h2.c-second {
			margin-block-start: 7rem;
		}
	}
}

.l-main--guide {
	.entry-content {
		--width-container: 58.3rem;

		a {
			color: var(--color-accent);
			display: inline-block;
			margin-inline: 0.25em;
			letter-spacing: 0.12em;
			text-decoration: none;
			padding-inline: 0.25em;
			transition: 0.3s linear;

			&:hover {
				color: var(--color-white);
				background-color: var(--color-accent);
			}
		}

		h2 {
			text-align: center;
			margin-block-end: 1.75rem;
		}

		h3 {
			font-size: clamp(20px, 0.339rem + 1.9vw, 2rem);
			letter-spacing: 0.075rem;
			line-height: 2;
			padding-block-end: 0;
			margin-block-start: 5rem;
		}
	}

	.c-e-shoppingrule {
		p {
			line-height: 2.4;
			letter-spacing: 0.1rem;
		}

		ol {
			list-style: none;
			padding-inline-start: unset;
		}

		li {
			letter-spacing: 0.1rem;
		}

		.c-e-attention {
			list-style: none;
			padding-inline-start: unset;

			.c-e-notice {
				margin-block-start: 0;
				list-style-type: "※";

				li {
					padding-inline-start: 0.35em;
				}

				li::marker {
					font-size: 0.8em;
				}
			}
		}
	}
}

.c-e-syetem {
	li {
		margin-block-end: 1rem;
	}

	ol ul {
		margin-block-start: 0;
		list-style-type: "※";

		li {
			padding-inline-start: 0.35em;
		}

	}

}

/*お問い合わせ*/
.c-contact-tel {
	.lead_paragraph {
		font-size: 1rem;
	}
}

.c-contact-inner {
	aspect-ratio: 515 / 135;
	margin-block-start: 2rem;
	display: grid;
	justify-content: center;
	justify-items: center;
	align-content: center;
	background-color: var(--color-ivory);
	max-width: 515px;
	padding: 1rem;
	gap: 1rem;

	p {
		font-weight: 600;
	}

	.en-type {
		font-size: 3rem;
		line-height: 0.9;
	}
}

@media(545px >=width) {
	.c-contact-tel {
		padding-inline: 1rem;

		.lead_paragraph {
			text-align: justify;

			br {
				display: none;
			}
		}
	}
}

.c-c-form .inner-element-w {
	max-width: 975px;
	margin-inline: auto;
}

.c-c-form-notice {
	.attention:has(em) {
		margin-block: 2rem;
	}

	p {
		font-weight: 700;
	}
}

.attention em {
	color: var(--color-accent);
}

.c-form-inner {
	> ul {
		list-style-type: "※";

	}
}

/*
 * 投稿記事本文: 画像配置（中央/左/右寄せ）を有効化する。コアは .wp-block-image.aligncenter に
 * margin:auto を与えず（子孫セレクタにしか無い）、figure 自身に複合クラスで付くため、
 * テーマ側で定義しないと中央揃えが反映されない。
 */
body.single-post .entry-content {
	font-weight: unset;
	margin-block-end: 5em;

	p {
		line-height: 1.65;
		margin-block-end: 1rem;
	}

	span.cat {
		width: fit-content;
		display: inline-block;
		border: 1px solid var(--color-accent);
		line-height: 1.5;

		a {
			text-decoration: none;
			font-size: 0.875rem;
			padding-inline: 0.25em;
			display: block;
			transition: 0.3s linear;

			&:hover {
				color: var(--color-white);
				background-color: var(--color-accent);
			}
		}
	}

	.aligncenter {
		margin-inline: auto;
		padding-block: 0.25em;
	}

	/*
	 * float は使わない（回り込みには clear が必要になるが、本文の続きに何が来るか固定できないため、
	 * テーマ側で決め打ちできない。usces_cart.css でも float/clear を全廃した方針と同じ）。
	 * 回り込みはさせず、単に画像を左右に寄せるだけにする。
	 */
	.alignleft {
		margin-inline: 0 1.5em;
		padding-block: 0.25em;
	}

	.alignright {
		margin-inline: 1.5em 0;
		padding-block: 0.25em;
	}

	.entry-meta {
		margin-block-end: 2em;
	}

	.entry-meta h2 {
		font-size: clamp(1.5rem, 0.611rem + 1.85vw, 2rem);
		line-height: 1.8;
	}
}
