@charset "utf-8";

/* 英語ページ(/en/配下)専用CSS。common.css等より後に読み込みJPには無影響。 */

/* セクション見出し */
.sec-title__en { display: none; }
.sec-title__jp {
	font-size: 3.6rem;
	margin-top: 0;
	line-height: 1.25;
}

/* TOP: バーチャル工場見学 見出し */
.Factory {
	padding-top: 12rem;
}
.Factory__title {
	top: 0;
	margin-top: 0;
}
.Factory__title__jp {
	font-size: 3.6rem;
	margin-top: 0;
	line-height: 1.25;
}

/* ヘッダーロゴ: 英語ロゴのみ表示・中央寄せ */
.header-logo .logo_wa { display: none; }
.header-logo span:has(.logo_wa) { display: none; }
.header-logo img { margin-bottom: 0; }
.header-logo { align-items: center; }

/* PCナビ(≥769px) */
@media screen and (min-width: 769px) {
	.header-logo {
		height: 6.6rem;
		width: 25rem;
		align-self: flex-start;
	}
	.header-nav { width: calc(100% - 25rem); }

	.header-nav__item:not(.-button) {
		margin-right: 2rem;
	}
	.header-nav__item:not(.-button) a {
		font-size: 1.4rem;
		line-height: 1.3;
		letter-spacing: 0;
		white-space: nowrap;
	}
	.header-nav__item.-button {
		width: 10rem;
		flex-shrink: 0;
	}
}
/* 中型PC幅(769–1300px): 項目の2行折返しを許可 */
@media screen and (min-width: 769px) and (max-width: 1300px) {
	.header-nav__item:not(.-button) a {
		white-space: normal;
		line-height: 1.25;
	}
	.header-nav__item:not(.-button) {
		margin-right: 1.4rem;
	}
}
/* 広い画面(≥1401px): ロゴ枠をJP同等に */
@media screen and (min-width: 1401px) {
	.header-logo { width: 33rem; }
	.header-nav { width: calc(100% - 33rem); }
}
/* SP(≤768px): 折返し項目を中央寄せ */
@media screen and (max-width: 768px) {
	.header-nav__item:not(.-button) a {
		text-align: center;
	}
}

/* 中間幅(769–1000px): ナビをハンバーガーに畳む(1行ナビが溢れロゴ裏に隠れるため) */
@media screen and (min-width: 769px) and (max-width: 1000px) {
	.menu-button {
		display: block !important;
		width: 5.6rem;
		height: 5.6rem;
		padding: 1.9rem 1.4rem;
		box-sizing: border-box;
		position: fixed;
		right: 2.4rem;
		top: 1.5rem;
		background: #fff;
		border-radius: 0.8rem;
		z-index: 9910;
		cursor: pointer;
		box-shadow: 0 0.2rem 0.8rem rgba(0,0,0,0.15);
	}
	.menu-button i {
		display: block;
		width: 100%;
		height: 0.3rem;
		position: relative;
		top: calc(50% - 0.15rem);
		background: var(--maincolor);
		transition: background 0.3s;
	}
	.menu-button i:before,
	.menu-button i:after {
		content: "";
		display: block;
		width: 100%;
		height: 0.3rem;
		position: absolute;
		left: 0;
		background: var(--maincolor);
		transition: all 0.3s;
	}
	.menu-button i:before { transform: translateY(0.9rem); }
	.menu-button i:after  { transform: translateY(-0.9rem); }
	.is_open i { background: transparent; }
	.is_open i:before { transform: translateY(0) rotate(45deg); }
	.is_open i:after  { transform: translateY(0) rotate(-45deg); }

	/* ナビ全画面オーバーレイ */
	.header-nav {
		display: none;
		width: 100% !important;
		position: fixed;
		left: 0; top: 0; right: 0; bottom: 0;
		transform: none !important;
		background: var(--maincolor);
		z-index: 9900;
		overflow-y: auto;
	}
	.header-nav__inner {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 100%;
		padding: 9rem 4rem;
		box-sizing: border-box;
	}
	.header-nav__item {
		margin: 0 0 3rem 0 !important;
	}
	.header-nav__item:not(.-button) a {
		font-size: 2.2rem;
		line-height: 1.3;
		letter-spacing: 0;
		white-space: nowrap;
		text-align: center;
		color: #fff;
	}
	.header-nav__item.-button {
		width: auto;
		min-width: 18rem;
		margin-top: 2rem !important;
	}
	.header-nav__item.-lang {
		margin-left: 0;
		padding-left: 0;
	}
	.header-nav__item.-lang::before { content: none; }
	.header-nav__item.-lang .lang-switch { color: #fff; }
}

/* TOP: Company Informationカード全幅化 */
.CR-sec { width: 100%; }

/* TOP: CSR見出しを3.6remに */
.Csr .sec-title__jp { font-size: 3.6rem; }

/* TOP: News見出しを3.6remに */
.News .sec-title__jp { font-size: 3.6rem; }

/* フッター: Head Officeと住所を縦並びに */
.footer-information__body { display: block; }

/* 下層: キービジュアル見出し(__jp)を装飾フォントで主見出し化 */
.Keyvisual__title__jp {
	font-size: 9rem;
	font-family: var(--gf1);
	font-weight: 700;
	margin-top: 0;
	line-height: 1.1;
}

/* 下層: セクション見出し(__jp)を通常フローに */
.C-subpagetitle__jp {
	position: static;
	bottom: auto;
}

/* 会社ページ等: 長い英語ラベルを幅自動・nowrapで1行に */
.Thought-block__title,
.Suppliers-block__title,
.Access-block-data__title {
	width: fit-content;
	padding: 0 2rem;
	white-space: nowrap;
}

/* ニュースのカテゴリピル: PCで横padding+幅可変 */
@media screen and (min-width: 769px) {
	.News-block__category,
	.News-header__category {
		width: auto;
		padding-left: 1.6rem;
		padding-right: 1.6rem;
		white-space: nowrap;
	}
}

/* お問い合わせフォーム: 必須バッジを"Required"に */
dt.Form-block__title.-req::after {
	content: "Required";
	width: auto;
	padding: 0 1.2rem;
	white-space: nowrap;
}
/* ラベル列を広げ"Required"を文字のすぐ右に(PC限定) */
dt.Form-block__title { align-items: center; }
@media screen and (min-width: 769px) {
	.Form-block__title { width: 31rem; flex-shrink: 0; }
}

/* 会社ページ 社長メッセージ: 肩書きと名前を縦並びに */
.Message-block__profile {
	flex-direction: column;
	align-items: flex-start;
}
.Message-block__profile__job {
	margin-right: 0;
	margin-bottom: 0.6rem;
}

/* 数字でみる: 注記記号「※」→「*」 */
.Number-block__hosoku::before { content: "*"; }

/* 英語ニュース記事の2カラム画像テーブル: 列幅50/50固定+上揃え */
.News-editor table { table-layout: fixed; }
.News-editor table td { width: 50%; vertical-align: top; }
