@charset "UTF-8";
:root :where(.is-layout-flow)>*,
:root :where(.is-layout-flow)> :first-child {
	margin-block: unset;
}
:root :where(.is-layout-constrained)>* {
	margin-block-start: unset;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
/* 	font-weight: 700; */
	font-style: normal;
}
/* 明朝体設定 */
.ta-mincho {
	font-family: "ta-mincho-gf-03", serif;
	font-weight: normal;
}
/* 見出しなどのテキストグラデーション */
.en.gradient {
	/* font-size: 1.5rem; */
	font-weight: 700;
}
.en.gradient::before {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	width: fit-content;
	font-optical-sizing: auto;
	font-weight: 500;
	margin-block-end: 13px;
	background: var(--imono_yamatai_r-gradient2);
	background-clip: text;
	color: transparent;
	margin-inline: auto;
	/* animation: gradientMove 5s linear infinite; */
}
/* @keyframes gradientMove {
	0%, 100% {
		background-size: 100% 50%;
		background-position: right center;
	}
	33% {
		background-size: 200% 50%;
		background-position: center;
	}
	50% {
		background-size: 300% 100%;
		background-position: right center;
	}
	66% {
		background-size: 200% 50%;
		background-position: right center;
	}
} */
a.page-link {
	background: linear-gradient(270deg, #012371, #00A0F7, #012371);
	background-size: 190% 100%;
	background-position: right 50%;
}
a.page-link:hover {
	background-position: left 50%;
}
a.page-link.a_main.alink-line {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	background: var(--imono_yamatai_r-gradient1);
	background: linear-gradient(270deg, #d71518, #d77515, #d71518);
	background-size: 190% 100%;
	background-position: right 50%;
}
a.page-link.a_main.alink-line:hover {
	background-position: 100% 50%;
	background-position: left 50%;
}
.breadcrumb {
	padding-block-end: clamp(3.063rem, 0.339rem + 7.26vw, 6.875rem)
}
.nav-container {
	background-color: #1e1e1e;
}
.burger-btn.active {
	background-color: transparent;
}
/* footer */
.footer-in {
	background-color: #1e1e1e;
}
.footer-bottom-section_main {
	background-color: #000811;
	background-image: url(../images/sun_image_v2.svg), url(../../../uploads/2025/07/footerbg-image_bg.webp);
	background-size: 1930px auto, 1930px auto;
	background-position: center 110px, center top;
	background-repeat: no-repeat, no-repeat;
	color: var(--imono_yamatai_r-base);
	margin-block-end: 100px;
	@media(1920px < width) {
		background-image: url(../images/sun_image_v2.svg), url(../../../uploads/2025/07/footerbg-image_bg.webp), url(../../../uploads/2025/09/footerbg-image_bg4k.webp);
		background-size: 1930px auto, 1930px auto;
		background-position: center bottom 20%, center bottom 20%, center bottom 20%;
		background-repeat: no-repeat, no-repeat, repeat-x;
	}
}
.footer-bottom_inner {
	margin-inline: auto;
	text-align: center;
	margin-block-end: 53px;
	h2.gradient {
		font-size: clamp(1rem, 0.867rem + 0.43vw, 1.25rem);
	}
	h2.gradient::before {
		font-size: clamp(2.625rem, 2.426rem + 0.64vw, 3rem);
	}
	h3 {
		line-height: 1;
		margin-block: 80px 0;
		width: fit-content;
		margin-inline: auto;
		font-size: clamp(36px, 1.089rem + 3.1vw, 62px);
		font-family: "ta-mincho-gf-03", serif;
		font-weight: normal;
		letter-spacing: 0.03em;
		span {
			font-family: inherit;
			font-size: inherit;
			font-weight: inherit;
		}
	}
	@media(600px >=width) {
		h3 span {
			display: block;
			/* font-family: inherit;
			font-weight: inherit;
			font-family: inherit;
			font-size: inherit; */
			letter-spacing: -1px;
			text-align: center;
			width: 100%;
			margin-inline-start: 0.25em;
			margin-block-start: 0.8rem;
		}
	}
	/* h3 svg.corporate_headline {
		width: 900px;
		height: 62px;
		aspect-ratio: 1 / 0.069;
	} */
	>div:nth-of-type(1) {
		padding-block: 90px 162px;
	}
}
.footer-bottom-marquee {
	position: relative;
}
.footer-bottom-marquee::before {
	content: "";
	position: absolute;
	width: 100%;
	display: block;
	height: clamp(5.625rem, -0.402rem + 16.07vw, 14.063rem);
	bottom: 0;
	background-color: #1e1e1e;
}
.footer-bottom_inner>div:nth-of-type(2) {
	width: fit-content;
	margin-inline: auto;
	/* Line処理残す */
	a.page-link.alink-line::before {
		content: "";
		display: block;
		width: 2rem;
		height: 1px;
		background: var(--imono_yamatai_r-base);
		position: absolute;
		z-index: 30;
		top: 50%;
		right: 2rem;
		transition: 0.5s ease-out;
	}
	a.page-link.alink-line:hover::before {
		/* width: 1.75rem; */
		transform: translateX(0.25rem);
	}
	p:nth-of-type(1) {
		font-size: clamp(0.938rem, 0.838rem + 0.32vw, 1.125rem);
		font-weight: 600;
		line-height: 1.8;
		margin-block-end: 2.3rem;
		@media(600px >=width) {
			br {
				display: none;
			}
			text-align: justify;
		}
	}
	p:has(.page-link.alink-line),
	a.page-link.alink-line {
		width: clamp(21.688rem, 20.191rem + 4.79vw, 24.5rem);
		margin-inline: auto;
	}
	a.page-link.alink-line {
		background-image: none;
		font-size: clamp(1.125rem, 0.992rem + 0.43vw, 1.375rem);
		border: 1px solid #fff;
		line-height: 1.5;
		&::before {
/* 			right: -0.75rem;
			width: 2.5rem; */
			all:unset;
		}
	}
	a[href^="tel"].page-link.alink-line {
		font-size: clamp(1.25rem, 1.117rem + 0.43vw, 1.5rem);
		font-family: oswald, sans-serif;
		font-optical-sizing: auto;
		line-height: 1;
		letter-spacing: 0.18rem;
		font-feature-settings: "palt";
	}
	svg.phone-icon {
		width: 26.7px;
		aspect-ratio: 1 / 1;
	}
	svg.mail-icon {
		width: 26px;
		height: 19px;
	}
	a {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		gap: 1rem
	}
	a.page-link.alink-line:hover {
		/*border-color: #ffffff7c;*/
		/* color: #ffffffab; */
		border-radius: 2.5rem;
	}
}
/* お問い合わせ */
.slug_contact {
	>div>p:nth-of-type(1) {
		line-height: 2;
		text-align: center;
	}
	.call-phone {
		/* color: var(--imono_yamatai_r-main); */
		text-align: center;
		margin-block-end: 55px;
		p:nth-of-type(1) {
			font-size: clamp(2.5rem, 1.964rem + 1.43vw, 52px);
			margin-block-start: 1.5rem;
			/* font-family: "Oswald", sans-serif;
			font-optical-sizing: auto; */
		}
		span:not(.required) {
			font-size: clamp(1.875rem, 1.429rem + 1.19vw, 2.5rem);
			font-weight: 600;
		}
		p:nth-of-type(2) {
			font-weight: 600;
		}
	}
	.contact-form {
		background-color: #eff0f5;
		padding: clamp(2.5rem, 1.295rem + 3.21vw, 4.188rem) clamp(1.5rem, -0.732rem + 5.95vw, 4.625rem);
		p {
			font-feature-settings: "palt";
			margin-block-end: clamp(1.5rem, 1.143rem + 0.95vw, 2rem);
		}
	}
	form {
		padding-block: clamp(1.5rem, -0.107rem + 4.29vw, 60px) clamp(1.25rem, -0.357rem + 4.29vw, 3.5rem);
	}
	span.required,
	p.required {
		background-color: unset;
		color: #d71518;
		padding: unset;
		margin-inline-start: 0;
		font-weight: 600;
	}
}
p.notice.required {
	margin-block: clamp(1.5rem, 0.071rem + 3.81vw, 3.5rem) clamp(2rem, 0.929rem + 2.86vw, 3.5rem);
}
form {
	span.required {
		font-size: 1rem;
		font-weight: bolder;
	}
	label, span:has(data-name), span.file-up {
		display: block;
	}
	input[type=text], input[type=tel], input[type=email], textarea, select {
		background-color: var(--imono_yamatai_r-base);
	}
	input[type="file"]::-webkit-file-upload-button {
		background: #dfdfdf;
		border: none;
		padding: 0.5rem 1rem;
		border-radius: 3px;
		cursor: pointer;
		font-size: 0.8rem;
		transition: all 0.3s ease;
		margin-right: 12px;
		margin-block-end: 0.5rem;
	}
	input[type="file"]::-webkit-file-upload-button:hover {
		background: #dfdfdfbb;
		color: #666;
	}
	span.wpcf7-not-valid-tip {
		font-weight: 600;
	}
	textarea {
		height: 150px;
	}
	p:not(.notice) {
		display: grid;
		align-items: center;
		/* padding-block-end: 1rem; */
		@media(786px <= width) {
			grid-template-columns: 2fr 7.5fr;
		}
	}
	/* 添付ファイル処理 */
	p:not(.notice):has([type="file"]) {
		margin-block-end: 0.75rem;
	}
	div.attach{position: relative;}
	div.attach p::before{
		display: block;
		content: "";
	}
	/* 注意事項 */
	p.notice {
		line-height: 2.2;
	}
	input[type=submit].page-list-link{
		width: 272px;
		display: block;
		font-size: 1.125em;
		color: var(--imono_yamatai_r-base);
		font-weight: 700;
		padding: 1.25rem 4.5rem;
		border-radius: 100px;
		background: #1867B1;
		margin-inline: auto;
		background: linear-gradient(90deg, #2B84C9 20%, #012371 80%);
		background-size: 120% 200%;
		background-position: left 0, 0%;
		transition: 0.5s ease-out;
		border: none;
		cursor: pointer;
		margin-inline: auto;
	}
	input[type=submit].page-list-link:hover{
		background-size:180%;
		background-position: right 0, 0%;
	}
	
	.confirm-buttons button.cf7-back-btn{
		display: block;
		font-size: 1.1em;
		font-weight: 700;
		width: 272px !important;
		padding: 1.25rem 4.5rem;
		border-radius: 100px;
	}
	
	p:has(input[type=submit]) {
		display: block;
		width: fit-content;
		margin-inline: auto;
		text-align: center;
		margin-block-end: 0 !important;
		padding-block-end: unset;
	}
}
.notice_list {
	list-style: none;
	margin-inline-start: unset;
	padding-inline-start: 1rem;
	li {
		margin-block-end: 0.25rem;
		text-indent: -1rem;
	}
}
.praivacy_policy {
	margin-block-start: 3rem;
	h2 {
		/* color: var(--imono_yamatai_r-main); */
		font-size: 24px;
		font-weight: normal;
	}
	h3, h4 {
		font-size: 18px;
		border-top: 1px solid var(--imono_yamatai_r-main);
		border-bottom: 1px solid var(--imono_yamatai_r-main);
		line-height: 2;
		margin-block: 1.25rem 1rem;
	}
	ol, ul {
		padding-inline-start: 1.25rem;
	}
	li {
		margin-block-end: 0.25rem;
		margin-inline-start: 0.5rem;
	}
	.bracket_num {
		padding-inline-start: 0.25rem;
		list-style: none;
		li {
			margin-block-end: 1.25rem;
			margin-inline-start: 0;
		}
	}
}
.in_praivacy_policy {
	height: 227px;
	overflow-y: scroll;
	border: 1px solid var(--imono_yamatai_r-sub2);
	padding: 1rem;
	margin-block-start: 1rem;
}
/* 共通 */
.slug_csr h2,
.slug_csr h3,
.slug_company h2,
.slug_company h3,
.slug_contact .call-phone,
.slug_equipment h2,
.praivacy_policy h2,
.slug_technology h2,
.tech_product h2,
.slug_about_us h2 {
	color: var(--imono_yamatai_r-main);
}
/* CSR情報 */
.slug_csr {
	h2 {
		text-align: center;
		font-size: 24px;
	}
	h2::before {
		font-size: 54px;
		margin-block-end: 1.7rem;
	}
	h3 {
		font-size: clamp(1.25rem, 0.893rem + 0.95vw, 1.75rem);
		font-weight: bold;
		padding-block-end: 1em;
		font-feature-settings: "palt";
		line-height: 1;
		span {
			font-size: clamp(3.625rem, 3.536rem + 0.24vw, 3.75rem);
			padding-right: 1rem;
		}
		br {
			display: none;
		}
	}
	figure {
		width: fit-content;
		justify-self: center;
	}
	div.content_block_narrow:nth-of-type(1) {
		display: grid;
		margin-block: clamp(2rem, 0.571rem + 3.81vw, 4rem) clamp(4rem, 2.393rem + 4.29vw, 6.25rem);
		figure {
			margin-inline: auto;
		}
	}
	div.content_block_narrow:nth-of-type(1)>div {
		background-color: #f2fafe;
		padding: 2rem 3rem;
		line-height: 2;
		margin-block-end: 4rem;
		font-weight: 500;
	}
	div.content_block_narrow:not(:nth-of-type(1)) {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
		padding-block: clamp(2rem, -0.768rem + 7.38vw, 94px);
		border-top: 1px solid #ccc;
		row-gap: 2rem;
		p {
			letter-spacing: 0.1rem;
		}
		li {
			margin-block-end: 1rem;
			text-indent: -1.18rem;
		}
		li::before {
			content: "";
			width: 0.68rem;
			height: 0.68rem;
			display: inline-block;
			background-color: var(--imono_yamatai_r-accent);
			margin-right: 0.5rem;
			clip-path: circle(45% at 50% 50%);
		}
		figure {
			width: clamp(10.125rem, 2.625rem + 20vw, 18.625rem);
		}
	}
	div.content_block_narrow:nth-last-of-type(1) {
		border-bottom: 1px solid #ccc;
	}
	.work_on {
		background-color: #ededed;
		width: fit-content;
		font-weight: bold;
		padding-inline: 0.5rem;
		margin-block: 2rem 1rem;
	}
	.work_on+ul {
		list-style: none;
		padding-inline-start: 1.5rem;
	}
}
/* 会社情報 */
.slug_company,
.slug_equipment,
.slug_technology .tech_product,
.tech_flow_madeit,
.about-us_feature {
	h2::before {
		font-size: clamp(2rem, 1.107rem + 2.38vw, 52px);
		margin-block-end: 0.75rem;
	}
	h2 {
		font-size: clamp(0.875rem, 0.607rem + 0.71vw, 1.25rem);
		padding-block-end: 2rem
	}
}
.slug_company,
.slug_equipment,
.slug_technology .tech_product,
.tech_flow_madeit {
	/* 代表メッセージ */
	.company_message {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
	}
	.company_message_inner {
		max-width: 656px;
		margin-inline: auto;
		p {
			line-height: 2.5;
			font-feature-settings: "palt";
			letter-spacing: 0.2rem;
			font-weight: 500;
			text-align: justify;
		}
		p:nth-last-of-type(1) {
			text-align: right;
			margin-block-start: 2rem;
		}
	}
	/* 企業理念 */
	.company_philosophy {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
		padding-block: clamp(6rem, 2.25rem + 10vw, 11.25rem);
		counter-reset: number 0;
		>div {
			justify-self: center;
			font-size: clamp(2rem, 1.773rem + 1.14vw, 2.625rem);
			font-weight: bold;
			display: grid;
			gap: 1em
		}
		p {
			counter-increment: number 1;
		}
		p::before {
			color: transparent;
			content: counter(number)". ";
			background: linear-gradient(270deg, #d71518, #d77515);
			background-clip: text;
			font-family: "Oswald", sans-serif;
			font-optical-sizing: auto;
			font-size:clamp(1.625rem, 1.179rem + 1.19vw, 36px);
		}
	}
	.marquee_company{
    .swiper--company .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
		aspect-ratio:  1 / 1;
		}
	}
	/* 会社概要 /  会社沿革 _ 共通 */
	.company-outline,
	.company-history,
	.company_access {
		padding-block: clamp(3rem, 1.036rem + 5.24vw, 5.75rem);
		h2 {
			text-align: center;
		}
	}
	.company-outline_inner,
	.company-history_inner,
	.company_access_inner {
		padding-inline: clamp(1.5rem, -0.241rem + 4.64vw, 63px);
	}
	/* 会社概要 */
	.company-outline,
	.company_access {
		h2 {
			color: var(--imono_yamatai_r-base);
		}
		background-image: url(../../../uploads/2025/07/company_image_04.webp);
		background-size: cover;
	}
	.company-outline_inner,
	.company_access_inner {
		background-color: var(--imono_yamatai_r-base);
		padding-block: clamp(2rem, 0.17rem + 4.88vw, 73px);
		margin-block-start: clamp(1.5rem, -0.286rem + 4.76vw, 4rem);
	}
	/* 企業理念 */
	.company_philosophy {
		.parallax-item {
			transform: unset;
			transition: unset;
			transform: translateY(4rem);
			opacity: 0;
			font-size: inherit;
		}
		.parallax-item.show {
			opacity: 1;
			transform: translateY(0);
			transition: all 0.4s linear;
		}
		.parallax-item.show:nth-of-type(2) {
			transition-delay: 0.4s;
			/* transition: all 0.4s cubic-bezier(.01, .06, .75, 1.14) 0.4s; */
		}
		.parallax-item.show:nth-of-type(3) {
			/* transition-duration: 0.5s; */
			transition-delay: 0.8s;
		}
	}
	/* 会社沿革 */
	.company-history_inner {
		margin-block-start: 2.5rem;
	}
	table {
		width: 100%;
	}
	th, td {
		text-align: start;
		padding-block: 2em;
		border-bottom: 1px solid #ccc;
	}
	th {
		color: #b3b3b3;
		border-bottom-color: #b3b3b3;
		width: 10em;
		font-weight: 700;
		padding-inline: 1.25em 1.5em;
	}
	td {
		padding-inline-start: 3em;
		font-weight: 500;
		color:#555;
	}
	.accent::before {
		content: "";
		width: 1rem;
		height: 1rem;
		display: inline-block;
		background-color: var(--imono_yamatai_r-accent);
		margin-right: 0.5rem;
		clip-path: circle(45% at 50% 50%);
	}
	/* アクセス */
	.company_access {
		background-image: url(../../../uploads/2025/07/company_image_05.webp);
	}
	/* .company_access_inner {
		padding-inline: 88px;
	} */
	.company_access_inner>div:has(.access_message) {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
		gap: 2rem;
		margin-block-end: 4rem;
		figure, figure img {
			width: fit-content;
			justify-self: center;
			margin-block-end: 0;
		}
	}
	.access_message {
		text-align: justify;
	}
	p:not(.headline) {
		letter-spacing: 0.14em;
		line-height: 2.5;
		@media(600px >= width){
			line-height: 1.8;
		}
		font-feature-settings: "palt";
	}
	p.headline {
		background-color: var(--imono_yamatai_r-main);
		width: 100%;
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		color: var(--imono_yamatai_r-base);
		padding-block: 0.25em 1.25rem;
		clip-path: polygon(0px 0px, 100% 0px, 100% 82.5%, 48.5% 82.5%, 50% 100%, 51.5% 82.5%, 0px 82.5%);
		margin-block-end: 1rem;
		white-space: nowrap;
		em {
			font-style: normal;
			padding-inline: 0.5rem;
		}
	}
	h3 {
		width: fit-content;
		font-size: 20px;
		color: unset;
		border-left: 3px solid #ec1c24;
		padding-inline-start: 0.5em;
		line-height: 1;
		font-weight: 500;
	}
	iframe {
		width: 100%;
	}
	iframe:nth-of-type(1) {
		margin-bottom: 2rem;
	}
	.flex {
		align-items: center;
		gap: 1.25rem;
		margin-block-end: 1rem;
		font-weight: 500;
	}
}
/* 主要設備 */
.slug_equipment,
.slug_technology .tech_product {
	h2 {
		text-align: center;
	}
	.content_block_narrow:has(table) {
		margin-block: clamp(1.5rem, -0.286rem + 4.76vw, 4rem) 7rem;
	}
	th, td {
		border-bottom-color: #e6e6e6;
		text-align: center;
	}
	thead th {
		background-color: var(--imono_yamatai_r-main);
		color: var(--imono_yamatai_r-base);
		text-align: center;
	}
	tbody th {
		color: var(--imono_yamatai_r-sub2);
		background-color: #eff0f5;
		vertical-align: top;
	}
	.equipment_photo {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
		gap: 3.3rem 3rem;
		>div {
			width: fit-content;
		}
		p {
			font-size: 20px;
			font-weight: bold;
			color: var(--imono_yamatai_r-main);
		}
		figure {
			width: fit-content;
			margin-inline: auto;
			img {
				width: 100%;
				height: auto;
				object-fit: cover;
			}
		}
	}
}
/* 技術紹介 /私たちについて */
.slug_technology,
.slug_about_us {
	>h2::before {
		font-size: clamp(0.75rem, 0.393rem + 0.95vw, 1.25rem);
		color: var(--imono_yamatai_r-main);
		margin-block-end: clamp(1.125rem, 0.589rem + 1.43vw, 1.875rem);
	}
	>h2 {
		font-size: clamp(1.5rem, 0.25rem + 3.33vw, 52px);
		text-align: center;
		color: var(--imono_yamatai_r-sub1);
		line-height: 1.5
	}
}
/* 技術紹介 */
.slug_technology {
	.auto-with {
		width: fit-content;
		margin-inline: auto;
		margin-block: 64px;
		img {
			min-height: 320px;
			object-fit: cover;
			object-position: center;
		}
	}
	.tech_message {
		font-size: 18px;
		line-height: 2.4;
		font-weight: bold;
		text-align: justify;
		letter-spacing: 1.75px;
		margin-block: 68px 100px;
	}
	/* 技術力 */
	.tech-ability {
		background-color: var(--imono_yamatai_r-sub2);
		color: var(--imono_yamatai_r-base);
		counter-reset: number 0;
		padding-block: clamp(3.75rem, 0.446rem + 8.81vw, 134px);
		h3::before {
			font-size: 52px;
			margin-block-end: 0.75rem;
			line-height: 1.25;
		}
		h3 {
			font-size: 20px;
			margin-block-end: clamp(3.75rem, 1.518rem + 5.95vw, 110px);
			text-align: center;
		}
		h4 {
			font-size: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
			counter-increment: number 1;
			margin-block-end: 1em;
			font-feature-settings: "palt";
			text-align: justify;
		}
		h4::before {
			content: "";
			display: block;
			font-size: clamp(42px, 1.464rem + 3.1vw, 68px);
			width: fit-content;
			height: auto;
			font-family: "Oswald", sans-serif;
			font-optical-sizing: auto;
			color: transparent;
			content: counter(number, decimal-leading-zero)". ";
			background: linear-gradient(265deg, #d71518, #d77515);
			background-clip: text;
		}
		div.content_block_narrow {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			align-items: center;
			gap: 2rem;
			padding-block: clamp(1.125rem, -0.214rem + 3.57vw, 3rem);
			border-top: 1px solid #666;
			figure {
				width: fit-content;
				margin-inline: auto;
				height: 100%;
				img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
				}
			}
			p {
				line-height: 1.8;
				letter-spacing: 0.09rem;
				text-align: justify;
/* 				color:#a5a5a5; */
				color:#c5c5c5;
			}
		}
		div.content_block_narrow:nth-last-of-type(1) {
			border-bottom: 1px solid #666;
		}
	}
	/* 製品紹介 */
	.tech_product {
		margin-block: 110px;
		figure,
		figcaption {
			width: fit-content;
			position: relative;
		}
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			position: relative;
			bottom: 0;
		}
		figure {
			position: relative;
			overflow: hidden;
		}
		figcaption {
			/* background: linear-gradient(265deg, #d71518, #d77515); */
			color: var(--imono_yamatai_r-base);
			font-size: clamp(0.938rem, 0.804rem + 0.36vw, 1.125rem);
			font-feature-settings: "palt";
			position: absolute;
			z-index: 1;
			bottom: 0;
			padding-block: 0.25rem;
			padding-inline: 1.5rem 3em;
			margin: 0;
			/* clip-path: polygon(0px 0px, 85% 0px, 100% 100%, 0px 100%); */
			opacity: 0;
		}
		.parallax-item figcaption {
			opacity: 0;
			background: linear-gradient(265deg, #d715181f, #d775151f);
			animation: unset;
			clip-path: polygon(0% 100%, 85% 100%, 100% 100%, 0px 100%);
			transition: all 0.4s ease-out 1s;
			/* transform: translateY(3rem); */
			/* transition: all 1s ease-out 1s forwards; */
		}
		.show figcaption {
			opacity: 1;
			animation: unset;
			/* transform: translateY(0); */
			background: linear-gradient(265deg, #d71518, #d77515);
			clip-path: polygon(0px 0px, 85% 0px, 100% 100%, 0px 100%);
		}
		>div:nth-of-type(1) {
			display: flex;
			justify-content: space-between;
			gap: 1.5rem;
			margin-block-end: 2.5rem;
		}
		>div:nth-of-type(2) {
			display: grid;
			grid-template-columns: repeat(3, minmax(250px, 1fr));
			gap: 2rem clamp(0.938rem, 0.536rem + 1.07vw, 1.5rem);
			figure:nth-child(3n-1) {
				justify-self: center;
			}
			figure:nth-child(3n) {
				justify-self: end;
			}
		}
	}
	/* できるまで */
	.tech_flow_madeit {
		background-image: url(../../../uploads/2025/08/technology_image_flow-bg.webp);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		padding-block: 100px;
		h2 {
			text-align: center;
		}
	}
	/* できるまで　詳細説明 */
	.flow-steps {
		display: grid;
		gap: 2rem;
		counter-reset: step-number 0;
	}
	/* できるまで　詳細説明_block */
	.flow-steps>div {
		background-color: var(--imono_yamatai_r-base);
		padding: clamp(1.25rem, -0.714rem + 5.24vw, 4rem);
		display: grid;
		gap: 0 clamp(0rem, -2.857rem + 7.62vw, 4rem);
		grid-template-columns: 1fr 3.5fr 3fr;
		grid-template-rows: repeat(2, auto);
		counter-increment: step-number 1;
		
		>div p:not(.headline) {
			line-height: 2;
			letter-spacing: 1px;
			text-align: justify;
		}
		p.tech_num,
		p.tech_num::after {
			color: transparent;
			background-image: linear-gradient(264deg, #e83d10, #f08b59);
			background-clip: text;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			font-feature-settings: 'liga', 'kern';
			font-family: "Oswald", sans-serif;
			font-optical-sizing: auto;
			width: fit-content;
			margin-inline: auto;
			text-align: center;
		}
		p.tech_num {
			font-size: clamp(1.813rem, 0.786rem + 2.74vw, 52px);
			letter-spacing: 1px;
			font-weight: 450;
			line-height: 1;
			margin: 0;
			grid-column: 1 / 2;
			grid-row: 1 / 3;
		}
		p.tech_num::after {
			color: transparent;
			content: counter(step-number, decimal-leading-zero);
			display: block;
			font-size: clamp(3.75rem, 1.786rem + 5.24vw, 104px);
			font-weight: normal;
			letter-spacing: -1px;
		}
		p:nth-of-type(2) {
			grid-column: 2 / 3;
			grid-row: 1 / 2;
			font-size: 30px;
			font-weight: bold;
			line-height: 1;
			margin-block-end: 1.5rem;
		}
		p:nth-of-type(3) {
			grid-column: 2 / 3;
			grid-row: 2 / 3;
			line-height: 2;
		}
		figure {
			width: fit-content;
			margin-inline: auto 0;
			grid-column: 3 / 4;
			grid-row: 1 / 3;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
	}
	.flow-steps>div:nth-of-type(1) {
		p.tech_num, p.tech_num::after {
			background-image: linear-gradient(264deg, #5f3b11, #91734d);
		}
	}
	.flow-steps>div:nth-of-type(2) {
		p.tech_num, p.tech_num::after {
			background-image: linear-gradient(264deg, #b91b0f, #d06f4d);
		}
	}
	/* .flow-steps>div:nth-of-type(3) {
			p.tech_num, p.tech_num::after {
				background-image: linear-gradient(264deg, #e83d10, #f08b59);
			}
		} */
	.flow-steps>div:nth-of-type(4) {
		p.tech_num, p.tech_num::after {
			background-image: linear-gradient(264deg, #74838b, #a3afb6);
		}
	}
	.flow-steps>div:nth-of-type(5) {
		p.tech_num, p.tech_num::after {
			background-image: linear-gradient(264deg, #547788, #8fa9b7);
		}
	}
	.flow-steps>div:nth-of-type(6) {
		p.tech_num, p.tech_num::after {
			background-image: linear-gradient(264deg, #4f6390, #8e98b8);
		}
	}
	.flow-steps>div.parallax-item {
		opacity: 0;
		img {
			animation: unset;
		}
	}
	.flow-steps>div.show {
		opacity: 1;
		img {
			opacity: 1;
		}
	}
}
/* 私たちについて */
.slug_about_us {
	h2 {
		text-align: center;
	}
	.about-us_message,
	.about-us_feature01,
	.about-us_feature {
		margin-block: 64px clamp(3.438rem, 2.143rem + 3.45vw, 5.25rem);
	}
	.about-us_message {
		background-image: url(../../../uploads/2025/08/about_us_image_01_bg.webp);
		padding-block: 52px;
		color: var(--imono_yamatai_r-base);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		p {
			line-height: 2.35;
			letter-spacing: 1.5px;
			text-align: justify;
		}
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.about-us_message_inner {
		padding-inline: 1rem;
		font-size: 20px;
		font-weight: 500;
		figure {
			margin-block: 1.5rem;
		}
	}
	.about-us_feature {
		counter-reset: feature-num 0;
		h3 {
			font-weight: bold;
			font-size: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
			margin-block-end: clamp(1.5rem, -0.286rem + 4.76vw, 4rem);
			line-height: 1;
			counter-increment: feature-num 1;
		}
		h3::before {
			color: transparent;
			content: "FEATURE " counter(feature-num, decimal-leading-zero)". ";
			font-family: "Oswald", sans-serif;
			font-optical-sizing: auto;
			font-size: clamp(42px, 0.482rem + 5.71vw, 90px);
			color: transparent;
			font-weight: normal;
			display: block;
			background: linear-gradient(265deg, #d71518, #d77515);
			background-clip: text;
			line-height: 1;
			margin-block-end: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
			;
		}
	}
	.about-us_feature01 {
		margin-block-start: clamp(3.125rem, 0.268rem + 7.62vw, 7.125rem);
	}
	.feature01_inner {
		margin-block: clamp(1.5rem, 0.286rem + 3.24vw, 3.2rem);
	}
	.feature01_inner>div {
		border: 1px solid rgba(231, 231, 231, 0.3);
		padding-block: 4rem 2.5rem;
		border-radius: 26px;
		box-shadow: 5px 9px 8px 0px rgba(0, 0, 0, 0.3);
		padding-inline: 1.75rem;
		padding-block: 4rem 2.5rem;
		h4 {
			font-size: 22px;
			color: var(--imono_yamatai_r-main);
			text-align: center;
			border-bottom: 2px solid;
			padding-block-end: 1em;
			@media(1024px >= width){margin-block-end: 1.25em;}
			
			border-image: linear-gradient(45deg, #00a0f7, #012371) 1;
		}
		p {
			line-height: 1.8;
			text-align: justify;
		}
	}
	/* feature02 */
	.about-us_feature02 {
		margin-block: clamp(3.438rem, 3.214rem + 0.6vw, 4rem);
		padding-block: clamp(3rem, 1.393rem + 4.29vw, 5.25rem) 4rem;
		background-image: url(../../../uploads/2025/08/about_us_image_feaature02_bg.webp);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		p {
			line-height: 1.6;
		}
	}
	.feature02_inner>div {
		display: grid;
		grid-template-columns: 1fr auto 1fr auto 1.25fr;
		align-items: center;
		justify-items: center;
		justify-content: center;
		gap: 1rem;
		margin-block: 3.2rem;
	}
	.arrow_01 {
		margin-inline: 1.25rem;
		display: grid;
		gap: 0.5rem
	}
	.arrow-02 {
		display: flex;
		.arrow-to-right {
			transform: scale(-1, 1);
		}
	}
	.feature02_img_layout,
	.feature02_img_layout_main {
		position: relative;
	}
	.feature02_img_layout_sub01,
	.feature02_img_layout_sub02 {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
	.feature02_img_layout_sub01 {
		top: -50px
	}
	.feature02_img_layout_sub02 {
		bottom: -60px;
	}
}
/* feature03 */
.about-us_feature03 {
	h4 {
		background-color: var(--imono_yamatai_r-main);
		color: var(--imono_yamatai_r-base);
		text-align: center;
		font-size: 22px;
		line-height: 1;
		padding-block: 1em;
	}
	.about-us_feature03_inner {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
		gap: 2rem 1.5rem;
		margin-block-start: 2rem;
	}
	.about-us_feature03_inner>div {
		border: 1px solid var(--imono_yamatai_r-main);
	}
	.about-us_feature03_inner p {
		font-feature-settings: "palt";
		margin-block-end: 0.5rem;
		line-height: 1.8;
		text-align: justify;
	}
	.about-us_feature03_inner>div>div {
		padding: 1.5rem 1.5rem 1rem;
	}
	.about-us_feature03_inner>div h4 {
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top 0.5rem right 1rem;
	}
	.about-us_feature03_inner>div:nth-of-type(1) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_04.svg);
	}
	.about-us_feature03_inner>div:nth-of-type(2) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_05.svg);
	}
	.about-us_feature03_inner>div:nth-of-type(3) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_06.svg);
	}
	.about-us_feature03_inner>div:nth-of-type(4) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_07.svg);
	}
	.about-us_feature03_inner>div:nth-of-type(5) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_08.svg);
	}
	.about-us_feature03_inner>div:nth-of-type(6) h4 {
		background-image: url(../../../uploads/2025/08/about_us_image_feature_09.svg);
	}
}
@media(600px > width) {
	.article-header.entry-header {
		aspect-ratio: 1 / 0.62;
	}
	.content_block_narrow,
	.content_block_middle {
		width: unset;
		margin-inline: 14px;
	}
}
@media(823px > width) {
	.article-header.entry-header {
		aspect-ratio: 1 / 0.62;
	}
	/* 企業ページ */
	/* お知らせ */
	.article-header.slug_name_index,
	.archive.category .article-header,
	.single-post .article-header,
	.article-header.slug_name_company,
	.article-header.slug_name_about_us,
	.article-header.slug_name_equipment,
	.article-header.slug_name_csr {
		background-position: center;
	}
}
@media(600px >= width) {
	.slug_about_us {
		.about-us_feature {
			h3 {
				line-height: 1.6;
				width: 12.5em;
			}
			.feature01_inner {
				display: block;
			}
			.feature01_inner>div {
				box-shadow: 5px 9px 8px 0px rgba(0, 0, 0, 0.3);
			}
		}
	}
	.slug_company {
		.company-outline_inner,
		.company-history_inner {
			th, td {
				display: block;
				padding-inline: 1.25em 0;
			}
			th {
				width: 100%;
				padding-block: 0.75em;
				padding-inline-start: 0.5em;
			}
			th br {
				display: none;
			}
			td {
				border-color: transparent;
				padding-block: 1.25em;
				text-align: justify;
			}
		}
		.flex.wp-block-group {
			align-items: flex-start;
			flex-direction: column;
			p {
				line-height: 1.25;
			}
			p span {
				display: block;
			}
		}
	}
	.slug_csr {
		h3 {
			line-height: 1.5;
			display: inline-flex;
			align-items: center;
			span {
				line-height: 1;
			}
			br {
				display: block;
			}
		}
	}
	.slug_contact {
		>div {
			>p:nth-of-type(1) {
				text-align: start;
			}
			div.call-phone {
				p {
					text-align: unstet;
				}
			}
		}
	}
	.slug_contact {
		.contact-form {
		padding:2rem 1rem;
		}
	}
	#company-history + figure.image_full{
		aspect-ratio: 1 / 1;
		img{
			height:100%;
		}
	}
}

@media(1024px > width) {
	.slug_about_us {
		.feature01_inner {
			margin-block: clamp(1.5rem, 0.286rem + 3.24vw, 3.2rem);
			display: block;
		}
		.feature01_inner>div {
			width: 22.5rem;
			margin-inline: auto;
			margin-block: 2rem;
			figure, img {
				height: fit-content;
				width: fit-content;
				margin: 0;
			}
			img {
				width: 100%;
				height: 100%;
				object-fit: contain;
			}
		}
		.feature02_inner>div {
			grid-template-columns: auto;
		}
		.feature02_img_layout_sub01, .feature02_img_layout_sub02 {
			left: unset;
			transform: unset;
			top: unset;
			bottom: unset;
			position: absolute;
		}
		.feature02_img_layout_sub01, .feature02_img_layout_sub02 {
			right: 0;
			top: 50%;
			transform: translate(50%, -50%);
		}
		.feature02_img_layout_sub02 {
			left: -70%;
		}
		.arrow img {
			width: 100%;
			height: 100%;
			object-fit: contain;
		}
		.arrow_01 {
			transform: rotate(90deg);
			.arrow-to-left {
				transform: rotate(0deg);
			}
		}
		.arrow-02 {
			flex-direction: column;
			.arrow-to-right, .arrow-to-left {
				height: 32px;
				width: 30px;
				overflow: hidden;
			}
			img {
				object-fit: cover;
				width: 100%;
				height: 100%;
			}
			.arrow-to-right {
				transform: rotate(-90deg);
				img {
					object-position: right top;
				}
			}
			.arrow-to-left {
				transform: rotate(90deg);
				margin-top: -2px;
				img {
					object-position: center top;
				}
			}
		}
	}
	.slug_technology {
		.tech-ability {
			div.content_block_narrow {
				grid-template-columns: 1fr;
			}
		}
		.tech_product {
			>div:nth-of-type(1) {
				flex-direction: column;
				align-items: center;
				gap: 1rem;
			}
			>div:nth-of-type(2) {
				display: grid;
				grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
				gap: 1rem;
				justify-items: center;
				justify-content: center;
				align-items: start;
				figure:nth-child(3n-1),
				figure:nth-child(3n) {
					justify-self: unset;
				}
			}
		}
		.flow-steps>div {
			/* display: block; */
			grid-template-columns: auto 1fr;
			grid-template-rows: repeat(3, auto);
			align-items: center;
			align-content: center;
			gap: 1.25rem 1.5rem;
			align-items: center;
			p.tech_num {
				grid-column: 1 / 2;
				grid-row: 1 / 2;
				/* justify-self: center; */
			}
			p:nth-of-type(2) {
				grid-column: 2 / 2;
				grid-row: 1 / 2;
				align-self: end;
				/* margin-block:1rem 0; */
			}
			p:nth-of-type(3), figure {
				grid-column: 1 / 3;
				grid-row: 2 / 3;
			}
			figure {
				grid-row: 3 / 4;
				justify-self: center;
				margin-inline: auto;
			}
		}
	}
	.slug_equipment {
		div:has(table) {
			overflow-y: hidden;
			overflow-x: auto;
		}
		table.tablepress {
			min-width: 800px;
			th, td {
				padding: 0.75em 0.5em
			}
			td {
				padding-inline-start: 1em;
				width: fit-content;
				white-space: nowrap;
			}
			thead th {
				width: fit-content;
			}
			tbody th {
				width: 5.5em;
			}
		}
		.equipment_photo {
			justify-items: center;
		}
	}

	#marquee_company {
		img {
			object-fit: cover;
			object-position: center;
		}
	}
	.company_access {
		#company_access_inner>div:has(.access_message) {
			display: flex;
			flex-direction: column;
		}
	}
	.slug_csr {
		div.content_block_narrow:not(:nth-of-type(1)),
		div.content_block_narrow:nth-of-type(1) {
			grid-template-columns: unset;
		}
	}
}

@media(1024px >= width){
	.slug_company {
		#company_message, #company_philosophy {
			display: flex;
			flex-direction: column;
		}
		#company_message_inner {
			padding-inline: 14px;
		}
		.company_philosophy h2 {
			text-align: center;
		}
	}
}

@media(1024px <=width <=1440px) {
	.slug_company {
		.company_message {
			figure {
				justify-self: end;
				img {
					max-width: 100%;
					object-fit: cover;
					object-position: center;
				}
			}
		}
	}
}

@media(width < 1440px) {
	.slug_company {
		.company_message {
			gap: 3rem;
			figure {
				width: 100%;
				height: 100%;
				width: calc(100% - 28px);
				aspect-ratio: 1 / 0.661;
				img {
					width: 100%;
					height: 100%;
					object-fit: contain;
				}
			}
		}
		.company_message_inner {
			max-width: unset;
			padding-inline-end: 2rem;
		}
	}
}
@media(1024px <= width) {
	.slug_about_us {
		.about-us_message_inner {
			width: calc(clamp(22.25rem, -1.606rem + 101.78vw, 1440px) - 7.5rem);
			display: grid;
			grid-template-columns: 1fr 1fr;
			grid-template-rows: repeat(3, auto);
			grid-template-areas:
				"figure p1"
				"figure p2"
				"figure p3";
			gap: 1rem 100px;
			p:nth-of-type(1) {
				grid-area: p1;
				align-self: end;
			}
			p:nth-of-type(2) {
				grid-area: p2;
				align-self: center;
			}
			p:nth-of-type(3) {
				grid-area: p3;
				align-self: start;
			}
			figure {
				grid-area: figure;
			}
		}
	}
	.feature01_inner {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
		margin-block: clamp(1.5rem, 0.286rem + 3.24vw, 3.2rem);
	}
	.feature01_inner>div {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 2;
		/* padding-inline: 1.75rem;
		padding-block: 4rem 2.5rem; */
		/* border: 1px solid rgba(231, 231, 231, 0.3);
		padding-block: 4rem 2.5rem;
		border-radius: 26px;
		box-shadow: 5px 9px 8px 0px rgba(0, 0, 0, 0.3); */
	}
	.slug_csr {
		div.content_block_narrow:not(:nth-of-type(1)) {
			p {
				max-width: 30.5em;
			}
			li {
				max-width: 26.5em;
			}
		}
		h3 {
			white-space: nowrap;
		}
	}
}

@media(1920px <= width) {
	.slug_company {
		.company_message {
			margin-inline: auto;
			figure {
				justify-self: end;
			}
		}
	}
}

/* フォームの自動入力されたテキストの色を変更する */
form{
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus{
background-color: #fff;
box-shadow: 0 0 0 1000px #fff inset; /* 実質的に背景を消す */
-webkit-text-fill-color: unset !important; /* 文字色も元に戻す */
}

}
.confirm-buttons {
	margin-block-start:1.25rem;
    display: grid;
	gap:1rem;
	justify-items: center;
}
.confirm-list dt{
	margin-bottom:0;
	background:#d1d2d3;
}
.confirm-list dd{
	background-color:#fff;
}
