@charset "UTF-8";
/*
Theme Name:   Yamatech Child Theme 
Theme URI:    
Description:  オリジナルのCocoon子テーマです。
Author:  knet            
Author URI:
Template:     cocoon-master 
Version:      1.0.0
*/
/* 注意事項 [ 重要 ]
子テーマをカスタマイズ　[ readme.md ]に注意事項を記述
内容を確認してください。 style.cssには、 ** 共通 ** の書式設定を記述。
*/
svg title,
svg desc {
	display: none;
}
/* View Transition API */
/* 現在のコード - 対応ブラウザでのみ適用されるよう改善 */
@supports (view-transition-name: none) {
	@view-transition {
		navigation: auto;
	}
	::view-transition-group(root) {
		animation-duration: 0.75s;
	}
}
/* Using CSS Reset + original code
https://www.joshwcomeau.com/css/custom-css-reset/ */
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	margin-block: 0;
	box-sizing: border-box;
}
html {
	container-type: inline-size;
}
html, body {
	height: 100%;
	font-size: clamp(0.938rem, 0.893rem + 0.12vw, 1rem);
	font-weight: 400;
	color: var(--imono_yamatai_r-text);
	background-color: var(--imono_yamatai_r-base);
	overflow-x: clip;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}
body {
	line-height: clamp(1.4, 1em * 1.6, 1.8);
	-webkit-font-smoothing: antialiased;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}
@media(723px >=width) {
	*, body, html, form, td, th, input, textarea, select, button, *[placeholder], .entry-content {
		font-size: 15px;
	}
}
img, picture, video, canvas, svg, figure {
	display: block;
	max-width: 100%;
}
input, button, textarea, select {
	font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}
#root, #__next {
	isolation: isolate;
}
/* --./reset css */
.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: unset;
	margin-left: unset !important;
	margin-right: unset !important;
}
html, body, input, button, textarea, select, input, p, ul, li, ol, dl, dt, dd, table, th, td, div, span, article, section, header, footer, nav, aside {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}
em {
	font-style: normal;
}
p {
	margin-bottom: 1em;
}
a {
	text-decoration: none;
	color: var(--imono_yamatai_r-sub2);
	&hover {
		color: #666;
	}
}
h1, h2, h3, h4 {
	font-weight: 700;
}
h3, h4 {
	font-weight: 500;
}
h4 {
	font-size: 18px;
}
h5, h6 {
	font-weight: 400;
}
h1 {
	font-size: clamp(1.75rem, 4vw + 1rem, 3rem);
	/* モバイル: 28px → デスクトップ: 48px */
	line-height: clamp(1.2, 1.3, 1.4);
	margin-bottom: clamp(0.5em, 2vw, 1em);
}
h2 {
	font-size: clamp(1.5rem, 3.5vw + 0.5rem, 2.25rem);
	/* モバイル: 24px → デスクトップ: 36px */
	line-height: clamp(1.25, 1.3, 1.4);
	margin-bottom: clamp(0.4em, 1.5vw, 0.8em);
}
h3 {
	font-size: clamp(1.25rem, 3vw + 0.25rem, 1.75rem);
	/* モバイル: 20px → デスクトップ: 28px */
	margin-bottom: clamp(0.4em, 1.5vw, 0.7em);
}
h4 {
	font-size: clamp(1.125rem, 2.5vw + 0.25rem, 1.5rem);
	/* モバイル: 18px → デスクトップ: 24px */
	margin-bottom: clamp(0.4em, 1.2vw, 0.6em);
}
h5 {
	font-size: clamp(1rem, 2vw + 0.25rem, 1.25rem);
	/* モバイル: 16px → デスクトップ: 20px */
	font-weight: 600;
	margin-bottom: clamp(0.3em, 1vw, 0.5em);
}
h6 {
	font-size: clamp(0.875rem, 1.5vw + 0.25rem, 1.125rem);
	/* モバイル: 14px → デスクトップ: 18px */
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: clamp(0.02em, 0.5vw, 0.08em);
	margin-bottom: clamp(0.3em, 1vw, 0.5em);
}
.notojp_sans {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}
.oswald {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
}
.flex {
	display: flex;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.container.cf {
	position: relative;
	/* overflow-x: clip; */
}
.entry-content {
	font-size: 16px;
}
/* 
ページ共通のパーツ
 */
/* コンテンツ幅 幅1100px */
.content_block_narrow {
	width: clamp(22.25rem, 5.877rem + 69.86vw, 1100px);
	margin-inline: auto;
}
/* コンテンツ幅 幅1440px */
.content_block_middle {
	width: clamp(22.25rem, -1.606rem + 101.78vw, 1440px);
	margin-inline: auto;
}
/* 画像100vw */
.image_full, .image_full img {
	width: 100cqw;
	height: auto;
	object-fit: cover;
}
/* リンク */
p:has(.page-link) {
	width: fit-content;
	width: 18.5rem;
}
a.page-link {
	font-size: 0.875rem;
	color: var(--imono_yamatai_r-base);
	font-weight: normal;
	letter-spacing: 1px;
	width: 18.5rem;
	background: linear-gradient(270deg, #012371, #00A0F7, #012371);
	background-size: 300% 100%;
	background-position: left 50%;
	display: block;
	position: relative;
	padding-block: 1rem;
	text-align: center;
	margin-inline: auto;
	transition: 0.5s ease-out;
}
a.page-link:hover {
	background-position: 100% 50%;
}
/* line付きの表示 .alink-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.75rem);
} */
/* ページトップ アイコン */
#page-top_btn {
	width: clamp(4rem, 1.102rem + 6.56vw, 6.188rem);
	position: fixed;
	bottom: 4rem;
	right: 1rem;
	z-index: 50;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all 0.3s ease;
}
#page-top_btn.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.page-top-icon a,
.page-top-icon a svg {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 99 / 112;
	cursor: pointer;
	--start-color: #D77515;
	--end-color: #D71518;
	color: #fff;
	transition: all 0.3s ease;
}
.page-top-icon a:hover,
.page-top-icon a:hover svg {
	--start-color: #D71518;
	--end-color: #D77515;
	color: #ffffffa2;
}
/* 矢印部分のアニメーション */
.arrow-line {
	stroke-dasharray: 25;
	/* 線の長さを設定 */
	stroke-dashoffset: 25;
	/* 初期状態では線を隠す */
	animation: drawLine 1.6s cubic-bezier(.65, .05, .36, 1) infinite;
}
/* パンクズ */
.breadcrumb {
	display: flex;
	justify-content: flex-end;
	font-size: 0.813rem;
	font-weight: 400;
	padding-block: .55rem 6.875rem;
}
.breadcrumb div,
.breadcrumb a {
	color: #A9A9A9;
	&:hover {
		color: #818181;
	}
}
.breadcrumb-item:not(:first-child)::before {
	content: "-";
	margin-inline: .25em;
}
/* メニューが開いている時にページトップボタンを非表示 */
body.menu-open {
	overflow: hidden;
	/* 
	position: fixed;
	width: 100%; */
	#page-top_btn {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 200ms ease-out, visibility 250ms ease-out;
	}
}
/* <-- ページトップ アイコン */
/* header ナビゲーション */
.container.cf>.header-container {
	box-sizing: border-box;
	position: absolute;
	padding-inline-start: 1rem;
	background-color: rgba(43, 43, 43, 0.4);
	/* background-color: rgba(43, 43, 43, 0.65); */
	font-size: 0.938rem;
	color: var(--imono_yamatai_r-sub3);
	backdrop-filter: blur(10px);
	left: 0;
	top: 0;
	width: 100%;
	z-index: 180;
	/* アニメーション用のスタイル */
	transform: translateY(-100%);
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	a {
		transition: all .2s ease;
	}
}
/* 採用サイト */
.page-template-page-recruit.page-template-page-recruit-php .container.cf>.header-container {
	background-color: rgba(43, 43, 43, 0.65);
}
.header-container,
.header-container>*,
.yamatech-logo-image {
	line-height: 1;
}
.header-container-in .header {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-auto-rows: auto;
	grid-template-areas:
		"txt txt menu"
		"logo navi menu";
	align-items: center;
	/* column-gap: 4rem; */
	column-gap: clamp(0.5rem, -2rem + 6.67vw, 4rem);
	ul, li {
		list-style: none;
		margin-inline-start: 0;
		padding-inline-start: 0;
	}
	a {
		color: var(--imono_yamatai_r-sub3);
	}
	color: var(--imono_yamatai_r-sub3);
	.h1_content {
		color: var(--imono_yamatai_r-sub3);
		font-size: 0.5em;
		padding-block: 1em 1rem;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow-x: clip;
	}
	.header-in, .menuctr {
		font-size: 0.93rem;
		font-weight: 700;
		line-height: normal;
	}
	/* grid エリア分け */
	/* seoテキスト */
	.h1_content {
		grid-area: txt;
	}
	/* ロゴのブロック */
	.header-in {
		grid-area: logo;
		padding-bottom: 0.75rem;
		& :hover {
			opacity: 0.8;
		}
	}
	/* PC表示のメニューブロック */
	.menuctr {
		grid-area: navi;
		padding-bottom: 1.5rem;
	}
	/* 右メニューブロック */
	.navi_panel-header {
		grid-area: menu;
	}
	/* 関連ブロック 各種詳細設定 */
	/* ロゴ画像 */
	.site-logo-link {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .8rem;
		font-size: clamp(0.625rem, 0.402rem + 0.6vw, 0.938rem);
	}
	span {
		display: block
	}
	.yamatech-logo-image {
		width: clamp(9.375rem, 6.292rem + 8.22vw, 219.05px);
		height: 31.621px;
		aspect-ratio: 1 / 0.142;
		justify-self: start;
	}
	.site-logo-link span {
		font-size: clamp(0.625rem, 0.402rem + 0.6vw, 0.938rem);
	}
	.navi_panel-header {
		width: clamp(4.5rem, 3.25rem + 3.33vw, 6.25rem);
	}
}
/* 上方向スクロール時に表示 */
#header-container.show {
	transform: translateY(0);
	position: fixed;
	max-width: 100cqw;
}
/* 初期状態でヘッダーを表示（ページトップ時） */
#header-container.initial {
	transform: translateY(0);
	transition: none;
}
/* pc表示メニュー */
.menuctr {
	.menu-top.menu-header {
		display: grid;
		grid-auto-flow: column;
		justify-content: center;
		gap: clamp(0.938rem, -1.989rem + 3.78vw, 2.5rem);
		li {
			text-align: right;
		}
		a {
			display: block;
			position: relative;
			transition: all 400ms ease;
		}
		a::before {
			display: block;
			content: "●";
			font-size: 0.5rem;
			width: 0.8rem;
			height: 0.8rem;
			background: linear-gradient(294deg, #d71518 0%, #d77515 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
			margin: auto;
			opacity: 0;
			transition: all 400ms ease;
		}
	}
	.menu-top.menu-header:hover {
		a {
			opacity: 0.6;
		}
		a:hover,
		a:hover::before {
			opacity: 1;
		}
	}
}
/* 全画面メニュー
 */
.navi_panel-header {
	width: 100%;
	height: 100%;
	align-items: center;
	padding: 2rem;
	position: relative;
	top: 0;
	right: 0;
}
.burger-btn {
	width: calc(100% - 1px);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	z-index: 300;
	display: grid;
	place-content: center;
	width: calc(100% - 1px);
	border-left: 1px solid var(--imono_yamatai_r-base);
	box-shadow: 0 1px 0 0 var(--imono_yamatai_r-base);
	transition: .2s ease-out;
}
.burger-btn span {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--imono_yamatai_r-base);
	transition: all 250ms ease-out;
}
.burger-btn.active {
	background: var(--imono_yamatai_r-sub2);
}
.burger-btn.active span {
	color: var(--imono_yamatai_r-sub3);
}
.double-layer {
	overflow: hidden;
	position: relative;
	height: 2em;
	transform: translateY(25%);
	width: clamp(4.5rem, 3.25rem + 3.33vw, 6.25rem);
}
.double-layer span:nth-child(1),
.double-layer span:nth-child(2) {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.double-layer span:nth-child(1) {
	top: 2px;
	transform: translateY(0);
}
.double-layer span:nth-child(2) {
	top: 100%;
	transform: translateY(0);
}
.double-layer:hover span:nth-child(1),
.double-layer:active span:nth-child(1) {
	transform: translateY(-2em);
}
.double-layer:hover span:nth-child(2),
.double-layer:active span:nth-child(2) {
	transform: translateY(-2em);
}
/* 全画面メニュー設定 */
.nav-container {
	position: fixed;
	right: 0;
	top: 0;
	width: clamp(64rem, 35.385rem + 44.71vw, 1210px);
	height: 100lvh;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	z-index: 200;
	background: var(--imono_yamatai_r-sub2);
	background-image: url(./images/mar_full.svg);
	background-repeat: no-repeat;
	background-position: right 0 bottom -1rem;
	background-size: calc(clamp(64rem, 35.385rem + 44.71vw, 1210px) * 0.52);
	display: none;
	opacity: 0;
	@media(1024px > width) {
		width: 100cqw
	}
}
.nav-container.active {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	display: flex;
	opacity: 1;
	/* background-image: url(./images/mar_full.svg);
	background-repeat: no-repeat;
	background-position: 105% 123%; */
	/* background-size: contain; */
	/* background-size: 41vw; */
	.nav-container a {
		text-decoration: none;
		color: var(--imono_yamatai_r-sub3);
		/* margin: 1rem auto; */
	}
	nav.navi-global {
		display: grid;
		width: 100%;
	}
	.global-menu {
		padding-left: 9.375rem;
		min-width: 78%;
		max-width: 930px;
		margin-inline: auto;
		display: grid;
		row-gap: 3rem
	}
	.global-menu:first-child {
		border-bottom: 1px solid var(--imono_yamatai_r-base);
		padding-block-end: 4.125rem;
	}
	.global-menu:nth-last-of-type(1) {
		padding-block-start: 4.125rem;
	}
	.menu-global-top,
	.menu-global-second {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(3, auto);
		justify-content: start;
		li {
			min-width: 10em;
		}
	}
	.global-menu>p {
		font-size: 18px;
		font-weight: 800;
		color: #808080;
		margin-block-end: 0;
	}
	.global-menu li a {
		position: relative;
		font-size: 1rem;
		font-weight: bold;
		line-height: 1.5;
		padding-inline: .55em;
		padding-block: .5em;
		&:hover {
			padding-left: 1.5rem;
		}
	}
	.global-menu li a::before {
		background: linear-gradient(160deg, #00A0F7 0%, #012371 100%);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		content: "";
		display: block;
		height: max(.6rem, 6px);
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		top: calc(50% - max(.3rem, 3px));
		width: max(.6rem, 6px);
		margin-left: max(.6rem, 6px);
	}
	.global-menu li a:hover::before {
		opacity: 1;
		/* ホバー時に表示 */
	}
	.menu-global-top,
	.menu-global-second {
		gap: 1.18rem 3.2rem;
	}
}
@media(600px >=width) {
	#navContainer {
		/* background-position: left -16vw top 50vh; */
		background-position: right 0 top 54svh;
		background-size: 75svw auto;
		.navi-global-in {
			margin-inline-start: 0;
		}
		.global-menu {
			padding-left: unset;
			min-width: unset;
			max-width: unset;
			width: unset;
			display: grid;
			gap: 1rem;
			p {
				padding-inline: unset;
				margin-block-end: 1.5rem;
			}
		}
		ul.menu-global-top, ul.menu-global-second {
			/* display: block; */
			/* grid-template-columns: auto; */
			/* grid-template-rows: unset; */
			/* grid-auto-flow: row; */
			/* margin-inline: 1.5rem; */
			padding-inline: unset;
			gap: 0.5rem;
			li {
				min-width: unset
			}
		}
		.global-menu:first-child {
			padding-block-end: 3rem;
		}
		.global-menu:nth-last-of-type(1) {
			padding-block-start: 3rem;
		}
	}
}
@media(800px >=width) {
	#navContainer {
		.navi-global-in {
			padding-inline: 1.5rem;
		}
		.global-menu {
			padding-left: unset;
			min-width: unset;
			max-width: unset;
			width: unset;
		}
		.menu-global-top, .menu-global-second {
			padding-inline: 3rem;
		}
		p {
			padding-inline: 2rem;
		}
	}
}
@media(1024px >=width) {
	.nav-container.active {
		background-size: calc(clamp(64rem, 35.385rem + 44.71vw, 1210px) * 0.4);
		.global-menu {
			padding-left: 6rem;
			min-width: 70%;
			max-width: 80%;
		}
	}
}
/* <--- 全画面メニュー
 */
.en::before {
	display: block;
	content: attr(title);
	color: inherit;
	font-family: Oswald, sans-serif;
	font-weight: 400;
}
/* 共通フッター */
.footer-container {
	margin-block-start: clamp(4rem, 2.173rem + 7.31vw, 8.75rem);
}
.page-id-62 .footer-container,
.page-id-66 .footer-container,
.page-id-73 .footer-container,
.page-id-69 .footer-container,
.page-id-2 .footer-container {
	margin-block-start: 0;
}
.footer-bottom.fdt-logo {
	background-color: #1e1e1e;
	color: var(--imono_yamatai_r-base);
	a,
	li a {
		color: var(--imono_yamatai_r-base);
		font-size: 0.938rem;
	}
	p.insta,
	a.page-link.alink-line,
	p:has(a.page-link.alink-line) {
		width: clamp(16rem, 12.029rem + 10.59vw, 21.56rem);
	}
	p.insta {
		margin-inline: auto;
		margin-block: 2.5em 0;
		padding-block: calc(0.4rem - 1px);
		width: calc(clamp(16rem, 12.029rem + 10.59vw, 21.56rem) - 2px);
		border: 1px solid #fff;
		background-image: url(../../uploads/2025/09/insta-bunner_bg.webp);
		background-position: left top;
		background-size: cover;
		transition:0.5s cubic-bezier(0, 0, 0, 0.96);
	}
	p.insta:hover{
		background-color: rgb(23 45 67 / 31%);
        background-blend-mode: hue;
        border-color: #959da3;
	}
	p.insta img {
		margin-inline: auto;
		object-fit: contain;
		max-height: 3rem;
		width: auto;
		transition:0.5s cubic-bezier(0, 0, 0, 0.96);
	}
	.iso-txt {
		margin-bottom: 1rem;
	}
	.yamatech-logo-image {
		width: clamp(9.375rem, 5.084rem + 18.31vw, 21.563rem);
		height: auto;
		aspect-ratio: 1 / 0.144;
		margin-bottom: clamp(1rem, 0.12rem + 3.76vw, 3.5rem);
	}
	.footer-bottom-inner {
		align-items: center;
		justify-content: center;
	}
	ul, li {
		margin-inline-start: 0;
		padding-inline-start: 0;
		list-style: none;
	}
	.site-logo-image {
		justify-self: center;
	}
	ul:hover {
		a {
			color: #9c9c9c;
			transition: color 0.5s ease;
		}
		a:hover {
			color: var(--imono_yamatai_r-base);
		}
	}
	.site-logo-link svg {
		transition: color 0.3s linear;
		transition: color 0.5s ease;
	}
	.site-logo-link:hover svg {
		color: #9c9c9c
	}
	.footer-bottom-inner {
		padding-block-end: 11rem;
	}
}
.source-org.copyright {
	padding-inline-end: clamp(0.5rem, -0.028rem + 2.25vw, 2rem);
	padding-block: 1em;
	position: absolute;
	bottom: 0;
	right: 0;
	color: #505050;
	font-family: Oswald, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	overflow-x: hidden;
}
.footer-bottom-block {
	background-image: url(./images/mark.svg);
	background-repeat: no-repeat;
	background-position: 9% bottom;
	nav.corporate-menu .navi-global-in ul,
	nav.recruitment-menu .navi-global-in ul {
		display: grid;
		grid-auto-flow: column;
		gap: 0 1em;
		justify-content: start;
		align-items: start;
		grid-template-rows: repeat(3, auto);
	}
	li a {
		display: block;
		min-width: 8rem;
		padding: 0.5rem 0.25rem;
	}
	.global-menu {
		display: flex;
		gap: 2.938rem;
		max-width: 40.625rem;
		border-bottom: 1px solid #524D4D;
		margin-block-end: 1.875rem;
		padding-block-end: 1.875rem;
	}
	.global-menu p, .factory-infor-s>p {
		color: #898989;
		font-size: 1.125rem;
		font-weight: 700;
		padding: 0.5rem 0.25rem;
	}
	.factory-infor-s {
		display: flex;
		gap: 2.938rem;
	}
	.factory-infor-s>p {
		opacity: 0;
		overflow: hidden;
	}
	.factory-infor-s p {
		font-size: 0.938rem;
		font-weight: 400;
		line-height: 1.66;
		margin-bottom: 0;
	}
	p.factory-name {
		font-size: 1rem;
		line-height: 1.8;
		font-weight: 700;
		margin-block-end: 0.5rem;
	}
	.tel-048-252-6666-container .factory-name {
		margin-block-start: 1.563em;
	}
}
/* ページヘッダー */
/* .article-header slug */
.slug-header-name.oswald {
	text-transform: uppercase;
	display: block;
	font-family: Oswald;
	font-size: clamp(2.25rem, 1.714rem + 1.43vw, 48px);
	font-weight: 400;
	align-self: end;
}
.slug-header-name.oswald,
.article-header h1 {
	line-height: 1;
	z-index: 1;
	width: fit-content;
	letter-spacing: 0.1em;
	margin-block-end: .5em;
}
/* .article-header h1 */
.article-header h1 {
	font-size: clamp(1rem, 0.911rem + 0.24vw, 1.125rem);
	font-weight: 700;
	width: fit-content;
	align-self: start;
	padding-inline-start: .25em;
	padding-block-start: 0.5rem;
}
/* .article-header */
.article-header.entry-header {
	position: relative;
	color: var(--imono_yamatai_r-base);
	/* min-height: 16em; */
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	display: grid;
	align-items: start;
	padding-inline-start: min(14vw + 2rem, 20.625rem);
	padding-block-start: 3rem;
	aspect-ratio: 1 / 0.277;
	@media(823px >=width) {
		aspect-ratio: 1 / 0.62;
	}
}
/* ページごとにheaderの背景画像設定 */
/* 企業ページ */
.article-header.slug_name_index {
	background-image: url(../../uploads/2025/07/re-message-header-img.webp);
}
.article-header.slug_name_about_us {
	background-image: url(../../uploads/2025/07/about-us_header-img.webp);
}
.article-header.slug_name_technology {
	background-image: url(../../uploads/2025/07/technology_header-img.webp);
}
.article-header.slug_name_equipment {
	background-image: url(../../uploads/2025/07/equipment_header-img.webp);
}
.article-header.slug_name_company {
	background-image: url(../../uploads/2025/07/company_header-img.webp);
}
.article-header.slug_name_csr {
	background-image: url(../../uploads/2025/07/csr_header-img.webp);
}
.article-header.slug_name_contact {
	background-image: url(../../uploads/2025/07/contant_header-img.webp);
}
/* お知らせ */
.archive.category .article-header,
.single-post .article-header {
	background-image: url(../../uploads/2025/07/company_header-img.webp);
}
.single-post .article-header.entry-header {
	aspect-ratio: 1 / 0.18;
}
/* 採用サイト */
.article-header.slug_name_message {
	background-image: url(../../uploads/2025/07/re-message-header-img.webp);
}
.article-header.slug_name_number {
	background-image: url(../../uploads/2025/07/re-number-header-img.webp);
}
.article-header.slug_name_factory_tour {
	background-image: url(../../uploads/2025/07/re-fuctory_factory_tour-img.webp);
}
.article-header.slug_name_interview {
	background-image: url(../../uploads/2025/07/re-interview-header-img.webp);
}
.article-header.slug_name_interview01 {
	background-image: url(../../uploads/2025/07/re-interview01-header-img.webp);
}
.article-header.slug_name_interview02 {
	background-image: url(../../uploads/2025/07/re-interview02-header-img.webp);
}
.article-header.slug_name_interview03 {
	background-image: url(../../uploads/2025/07/re-interview03-header-img.webp);
}
.article-header.slug_name_interview04 {
	background-image: url(../../uploads/2025/07/re-interview04-header-img.webp);
}
.article-header.slug_name_job_description {
	background-image: url(../../uploads/2025/07/re-fuctory_job_description-img.webp);
}
/* wordppress コンテンツ中央 */
/* animation */
/* === ビューポート判定用の基本スタイル === */
.parallax-item {
	transform: translateY(30px);
	opacity: 0.1;
	font-family: inherit;
}
.parallax-item.show {
	transform: translateY(0);
	opacity: 1;
	transition: all .7s ease-out;
}
.parallax-item img {
	opacity: 0;
}
.parallax-item.show img {
	animation: fadeScale 1s ease-out .5s forwards;
}
@keyframes fadeScale {
	from {
		opacity: 0.1;
		transform: scale(0.8);
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: scale(1);
		transform: translateY(0);
	}
}
/* .article-header slug名表示 */
.article-header.animated-text .titleset__line {
	position: relative;
	overflow: hidden;
	margin-bottom: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
.article-header.animated-text .titleset__line span {
	transform: translateY(100%);
}
.article-header.animated-text.active .titleset__line span {
	transform: translateY(0);
	transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	position: relative;
}
/* ====================================
   アニメーション用の初期状態
==================================== */
.animated-text .titleset__line span {
	opacity: 1;
	transform: translateY(100%);
}
/* タイトル行のスタイル */
.titleset__line {
	overflow: hidden;
	margin-bottom: 5px;
}
.titleset__line span {
	display: inline-block;
	/* font-size: clamp(2.625rem, 0.036rem + 6.9vw, 6.25rem); */
	font-size: clamp(2.5rem, 2.143rem + 0.95vw, 3rem);
	transform: translateY(100%);
	transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	position: relative;
	font-family: Oswald, sans-serif;
	font-weight: 400;
}
/* ====================================
   通常要素（.reverseなし）のアニメーション
   一度下スクロールで表示されたら常に表示状態
==================================== */
.animated-text.scroll-down .titleset__line span {
	transform: translateY(0);
}
.animated-text.scroll-down .titleset__line:nth-child(1) span {
	transition-delay: 0.1s;
}
.animated-text.scroll-down .titleset__line:nth-child(2) span {
	transition-delay: 0.2s;
}
/* 上スクロール時の準備（上から下へ現れる準備） */
.animated-text.scroll-up .titleset__line span {
	transform: translateY(-100%);
}
/* 上スクロール時のアニメーション（上から下へ現れる） */
.animated-text.scroll-up .titleset__line span {
	transform: translateY(0);
}
/* ====================================
   リバース要素（.reverseあり）のアニメーション
   スクロール方向に応じて異なるアニメーション
==================================== */
/* リバースクラス用のスタイル */
.animated-text.reverse.scroll-down .titleset__line:nth-child(1) span {
	transition-delay: 0.1s;
}
.animated-text.reverse.scroll-down .titleset__line:nth-child(2) span {
	transition-delay: 0.2s;
}
.animated-text.reverse.scroll-up .titleset__line:nth-child(1) span {
	transition-delay: 0.1s;
}
.animated-text.reverse.scroll-up .titleset__line:nth-child(2) span {
	transition-delay: 0.2s;
}
/* ====================================
   アクセシビリティ対応
==================================== */
@media (prefers-reduced-motion: reduce) {
	.animated-text .titleset__lead1,
	.animated-text .titleset__line span {
		transition: none;
		animation: none;
	}
	.animated-text.scroll-down .titleset__lead1,
	.animated-text.scroll-down .titleset__line span,
	.animated-text.reverse.scroll-down .titleset__lead1,
	.animated-text.reverse.scroll-down .titleset__line span,
	.animated-text.reverse.scroll-up .titleset__lead1,
	.animated-text.reverse.scroll-up .titleset__line span {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0s;
		animation: none;
	}
}
/* @media設定 */
@media(660px > width) {
	.article-header.entry-header {
		padding-inline-start: 1rem;
	}
	.article-header.slug_name_job_description {
		background-position: 64% center;
	}
	.titleset__line span {
		font-size: 2.35rem;
		letter-spacing: 0;
	}
	.footer-bottom-block {
		background-position: left -46px bottom 3rem;
		background-size: contain;
	}
	.footer-bottom.fdt-logo {
		.yamatech-logo-image {
			width: 18rem;
			margin-bottom: 3rem;
		}
		p:has(a.page-link.alink-line) {
			width: 20rem;
		}
	}
}
@media(768px > width) {
	.footer-bottom.fdt-logo {
		.footer-bottom-inner {
			padding-block-end: 16rem;
		}
	}

}
@media(800px >=width) {
	.header-container-in .header {
		grid-template-areas:
			"txt txt menu"
			"logo logo menu";
		column-gap: 1rem;
		/* grid エリア分け */
		/* seoテキスト */
		.h1_content {
			padding-block: 0.5em 0.2rem;
		}
		/* ロゴのブロック */
		.header-in {
			grid-area: logo;
			padding-bottom: 0.75rem;
			justify-self: baseline;
		}
		/* PC表示のメニューブロック */
		.menuctr {
			display: none;
		}
		.site-logo-link {
			justify-content: flex-start;
		}
		.site-logo-image span {
			white-space: nowrap;
		}
	}
}
@media screen and (min-width: 1000px) {
	.nav-container.active {
		transform: translateX(0%);
	}
}
@media(1024px > width) {
	.iso-txt {
		text-align: center;
	}
	.yamatech-logo-image {
		margin-inline: auto;
	}
	.footer-bottom.fdt-logo {
		.footer-bottom-block {
			background-position: left -50px bottom 3rem;
		}
		.footer-bottom-content {
			margin-bottom: 6rem;
			width: calc(100% - 2em);
		}
		.footer-bottom-inner {
			display: flex;
			flex-direction: column-reverse;
		}
		li a {
			width: fit-content;
		}
	}
	.footer-bottom-content {
		.navi-global-in.dual-nav-in {
			display: grid;
			justify-content: center;
			.global-menu {
				margin-inline: auto;
				width: 100%;
			}
		}
	}
	.footer-bottom-block {
		a, li a {
			min-width: unset;
		}
		nav.corporate-menu .navi-global-in ul,
		nav.recruitment-menu .navi-global-in ul {
			gap: 0 1em;
		}
	}
	.footer-bottom-content div.factory-infor-s {
		display: block;
		margin-block-end: 3rem;
		width: fit-content;
		margin-inline: auto;
	}
}
@media(1130px > width) {
	.footer-bottom-content {
		.navi-global-in.dual-nav-in {
			.global-menu {
				flex-direction: column;
				gap: 0;
				padding-inline: 1rem;
				p {
					padding: 0;
					margin: 0;
				}
			}
		}
		.factory-infor-s {
			padding-inline-start: .5rem;
			>p {
				display: none;
			}
		}
	}
}
@media(1240px > width) {
	.header-container-in .header {
		/* PC表示のメニューブロック */
		.menuctr {
			display: none;
		}
	}
}
@media(1024px <=width) {
	.footer-bottom.fdt-logo {
		.footer-bottom-inner {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
		}
	}
}
/* 企業サイト用 */
/* img slide marquee  */
.footer-bottom-section_main,
.marquee_front {
	/* Swiperコンテナのスタイル */
	.swiper--btn,
	.swiper--mtop {
		width: 100%;
		overflow: clip;
	}
	.swiper--btn .swiper-wrapper,
	.swiper--mtop .swiper-wrapper {
		transition-timing-function: linear;
		/* 等速度でスムーズに */
	}
	.swiper--btn .swiper-slide,
	.swiper--mtop .swiper-slide {
		width: auto;
		/* 画像のサイズに応じて自動調整 */
		flex-shrink: 0;
	}
	.swiper--btn .swiper-slide img,
	.swiper--mtop .swiper-slide img {
		width: 100%;
		height: auto;
		object-fit: cover;
		/* 画像の縦横比を保持 */
		display: block;
		border-radius: 200px;
		/* 角丸（オプション） */
	}
}
/* 表示切替用 企業ページ */
.desktop-only {
	display: block;
}
.mobile-only {
	display: none;
}
@media (max-width: 767px) {
	.desktop-only {
		display: none;
	}
	.mobile-only {
		display: block;
	}
}
/* フォーム汎用　　*/
form {
	label {
		color: #252D3E;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 1rem;
		font-weight: 700;
		padding-block-end: 0.5rem;
		display: inline-block;
	}
	span.required {
		background-color: #d71518;
		color: var(--imono_yamatai_r-base);
		color: var(--White, #FFF);
		font-size: 0.75rem;
		padding: .15rem .5rem;
		margin-inline-start: .5rem;
		border-radius: 5px;
	}
	/* フォーム部品 */
	/* メインの装飾スタイル */
	/* 日付・時間入力の特別装飾 */
	input[type="date"],
	input[type="time"],
	input[type="datetime-local"] {
		cursor: pointer;
	}
	/* 日付ピッカーのカレンダーアイコンをカスタマイズ */
	input[type="date"]::-webkit-calendar-picker-indicator,
	input[type="time"]::-webkit-calendar-picker-indicator,
	input[type="datetime-local"]::-webkit-calendar-picker-indicator {
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23D9D9D9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>') no-repeat center;
		background-size: 16px;
		width: 20px;
		height: 20px;
		cursor: pointer;
		margin-left: 8px;
	}
	input[type="text"],
	input[type="email"],
	input[type="date"],
	input[type="tel"],
	textarea {
		border-radius: 5px;
		border: 1px solid #E1E1E1;
		background: #F4F4F5;
		padding: 12px 16px;
		font-size: 16px;
		width: 100%;
		box-sizing: border-box;
		transition: all 0.3s ease;
		font-family: inherit;
	}
	/* フォーカス時の装飾 */
	input[type="text"]:focus,
	input[type="email"]:focus,
	input[type="date"]:focus,
	input[type="tel"]:focus,
	textarea:focus {
		outline: none;
		border-color: #CCCCCC;
		background: var(--imono_yamatai_r-base);
		box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);
	}
	/* ホバー時の装飾 */
	input[type="text"]:hover,
	input[type="email"]:hover,
	input[type="date"]:hover,
	input[type="tel"]:hover,
	textarea:hover {
		border-color: #CCCCCC;
		background: var(--imono_yamatai_r-base);
	}
	/* エラー状態の装飾 */
	input[type="text"].error,
	input[type="email"].error,
	input[type="date"].error,
	input[type="tel"].error,
	textarea.error {
		border-color: var(--imono_yamatai_r-accent);
		background: #FDF2F2;
	}
	input[type="text"].error:focus,
	input[type="email"].error:focus,
	input[type="date"].error:focus,
	input[type="tel"].error:focus,
	textarea.error:focus {
		box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
	}
	/* 成功状態の装飾 */
	input[type="text"].success,
	input[type="email"].success,
	input[type="date"].success,
	input[type="tel"].success,
	textarea.success {
		border-color: #27AE60;
		background: #F2F9F4;
	}
	/* textareaの特別設定 */
	textarea {
		resize: vertical;
		min-height: 100px;
		line-height: 1.5;
	}
	/* プレースホルダーの装飾 */
	input[type="text"]::placeholder,
	input[type="email"]::placeholder,
	input[type="date"]::placeholder,
	input[type="tel"]::placeholder,
	textarea::placeholder {
		color: #999;
		opacity: 1;
	}
	/* セレクトボックスの装飾 */
	select {
		border-radius: 5px;
		border: 1px solid #E1E1E1;
		background: #F4F4F5;
		padding: 12px 16px;
		font-size: 16px;
		width: 100%;
		box-sizing: border-box;
		cursor: pointer;
		transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
		font-family: inherit;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23D9D9D9" d="m0 1 2 2 2-2z"/></svg>');
		background-repeat: no-repeat;
		background-repeat: no-repeat;
		background-position: right 16px center;
		background-size: 12px;
		padding-right: 40px;
	}
	select:focus {
		outline: none;
		background: var(--imono_yamatai_r-base);
		box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
	}
	select:hover {
		border-color: #CCCCCC;
	}
	select:disabled {
		color: #999;
		cursor: not-allowed;
		border-color: #E1E1E1;
	}
	/* ラジオボタンの装飾 */
	.radio-group {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.radio-item {
		display: flex;
		align-items: center;
		cursor: pointer;
		padding: 8px 0;
	}
	input[type="radio"] {
		width: 20px;
		height: 20px;
		margin-right: 12px;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: 2px solid #E1E1E1;
		border-radius: 50%;
		background: #F4F4F5;
		position: relative;
		transition: all 0.3s ease;
	}
	input[type="radio"]:checked {
		border-color: #E1E1E1;
		background: var(--imono_yamatai_r-base);
	}
	input[type="radio"]:checked::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 10px;
		height: 10px;
		background: #d77515;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}
	input[type="radio"]:hover {
		border-color: #d77515;
		background: var(--imono_yamatai_r-base);
	}
	input[type="radio"]:focus {
		outline: none;
		box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);
	}
	.radio-item label {
		cursor: pointer;
		font-weight: normal;
		margin-bottom: 0;
	}
	/* チェックボックスの装飾 */
	.checkbox-group {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.checkbox-item {
		display: flex;
		align-items: center;
		cursor: pointer;
		padding: 8px 0;
	}
	label:has(input[type=radio]),
	label:has(input[type=checkbox]) {
		display: inline-flex;
		align-items: center;
		cursor: pointer;
	}
	label.display-label {
		display: none;
	}
	/* チェックボックス */
	p:has(span[data-name="hs-applicant-agree"]) span.wpcf7-list-item.first.last {
		padding-left: 0;
		margin-left: 0;
	}
	span[data-name=hs-applicant-agree] label {
		display: flex;
		width: 100%;
		align-items: flex-start;
		cursor: pointer;
		border-radius: 8px;
		background: var(--imono_yamatai_r-base);
		transition: all 0.3s ease;
	}
	span[data-name=hs-applicant-agree] label:hover {
		border-color: #C9C9C9;
	}
	input[type="checkbox"] {
		width: 24px;
		height: 24px;
		margin-right: 15px;
		margin-top: 2px;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: 2px solid #C9C9C9;
		border-radius: 4px;
		background: var(--imono_yamatai_r-base);
		position: relative;
		transition: all 0.3s ease;
		flex-shrink: 0;
	}
	input[type="checkbox"]:checked {
		background: #d77515;
		border-color: #d77515;
	}
	input[type="checkbox"]:checked::before {
		content: '';
		position: absolute;
		top: 2px;
		left: 6px;
		width: 9px;
		height: 12px;
		border: solid var(--imono_yamatai_r-base);
		border-width: 0 3px 3px 0;
		transform: rotate(45deg);
	}
}
/* 投稿ページCSS */
.list.front-page-type-index {
	a {
		display: block;
		margin-block-end: 2rem;
		padding-block-end: 2rem;
		border-bottom: 1px dotted #ccc;
		transition: all 0.5s ease;
	}
	a:hover {
		opacity: 0.75;
	}
	article {
		display: grid;
		grid-template-columns: 1fr 6fr;
		gap: clamp(1.5rem, 0.429rem + 2.86vw, 3rem);
		/* margin-block-end: 3rem; */
		figure {
			position: relative;
			width: clamp(18.75rem, 17.857rem + 2.38vw, 20rem);
			height: 100%;
			aspect-ratio: 7 / 5;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}
			span {
				position: absolute;
				bottom: 0;
				left: 0;
				font-size: small;
				padding: 0.5em 2em 0.5em 1em;
				background-color: var(--imono_yamatai_r-main);
				color: var(--imono_yamatai_r-base);
				clip-path: polygon(0px 0px, 85% 0px, 100% 100%, 0px 100%);
			}
		}
		.entry-card-content {
			display: grid;
		}
		h2 {
			grid-row: 2 / 3;
			@media(600 < width) {
				margin-block-end: unset;
			}
		}
		.entry-card-snippet {
			grid-row: 3 / 4;
			line-height: 1.6;
		}
		.entry-card-meta {
			grid-row: 1 / 2;
			.entry-card-categorys {
				display: none;
			}
		}
	}
}
/* カテゴリ一表示関連 */
.single-post {
	.post-meta {
		text-align: end;
	}
	.entry-content.content_block_narrow {
		line-height: 1.8;
	}
	article {
		footer.article-footer.entry-footer.content_block_narrow {
			margin-block: 2rem 3rem;
		}
	}
}
footer.article-footer.entry-footer.content_block_narrow {
	.cate_name a {
		width: fit-content;
		background-color: var(--imono_yamatai_r-main);
		color: var(--imono_yamatai_r-base);
		padding: 0.5em 1em;
		border: solid 1px var(--imono_yamatai_r-main);
		transition: all 0.3s ease;
		&:hover {
			opacity: 0.75;
			color: var(--imono_yamatai_r-main);
			background-color: var(--imono_yamatai_r-base);
		}
	}
}
/* ページナビ */
.content_block_narrow:has(.pagination-next, .pagination) {
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	align-items: center;
	justify-items: center;
	gap: 1em;
	.pagination-next {
		width: 50%;
		min-width: 340px;
		text-align: center;
		a {
			display: block;
			padding-block: 0.75rem;
			border: 1px solid var(--imono_yamatai_r-main);
			transition: all 0.5s ease;
		}
		a:hover {
			font-weight: bold;
			border-radius: 3rem;
		}
	}
}
.pagination {
	display: flex;
	gap: 0.5em
}
.page-numbers:not(.next, .prev) {
	font-size: 1rem;
	border: 1px solid var(--imono_yamatai_r-main);
	padding: 0.25em 0.5em
}
.page-numbers.next {
	padding: 0.25em 0.25em 0.25em 1.5em;
}
.page-numbers.prev {
	padding: 0.25em 1.5em 0.25em 0.25em;
}
.page-numbers.current {
	background-color: var(--imono_yamatai_r-main);
	color: var(--imono_yamatai_r-base);
}
.page-numbers:not(.next, .prev):hover {
	background-color: var(--imono_yamatai_r-main);
	color: var(--imono_yamatai_r-base);
}
.pager-post-navi {
	/* background-color: #012371; */
	a.prev-post,
	a.next-post {
		display: flex;
		align-items: center;
		gap: 1rem
	}
	a.next-post {
		justify-content: flex-start;
		transition: all 0.3s ease;
		flex-direction: row-reverse;
	}
	a:hover {
		opacity: 0.75;
		.next-post-title,
		.prev-post-title {
			text-decoration: underline;
		}
	}
}
@media(600px >=width) {
	.list.front-page-type-index {
		article {
			grid-template-columns: 1fr;
			figure {
				width: 100%;
				justify-self: center;
				img {
					margin-inline: auto;
				}
			}
		}
	}
}


#in_praivacy_policy{
	overscroll-behavior-y: contain;
}

.entry-card-content.card-content.e-card-content h2.entry-card-title.e-card-title{
	font-size:clamp(1.125rem, 0.857rem + 0.71vw, 1.5rem);
	@media(600px > width){
		margin-block:0.25em 1em;
	}
}