@charset "UTF-8";

.mFooterSitemap__sns {
	display: flex;
	flex-flow: row wrap;
	gap: 0 2em;
}

@media only screen and (max-width: 767px) {
	.mFooterSitemap__sns {
		flex-flow: column nowrap;
		gap: 0;
	}
}

#header2025 .header2025_navi .sp_other_links {
	padding-top: 40px;
	background: var(--gray_dark, #222);
}

#header2025 .header2025_navi .sp_other_links .link {
	display: flex;
	width: 250px;
	margin: 0 auto;
	padding: 16px 24px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: #FFF;
	font-size: 0.9375em;
	letter-spacing: 0.75px;
	border: 1px solid #666;
}

#header2025 .header2025_navi .sp_other_links .link + .link {
	margin-top: 12px;
}

@media screen and (min-width: 768px) {
	#header2025 .header2025_navi .header2025_globalnavi_wrapper .nav_level_first_wrapper {
		background: linear-gradient(90deg,
			var(--gray_dark, #222) 0,
			var(--gray_dark, #222) calc(max(0px, (100% - 1260px) / 2) + 30px + min(22.222vw, 320px)),
			var(--gray_mediumdark, #4C4C4C) calc(max(0px, (100% - 1260px) / 2) + 30px + min(22.222vw, 320px)),
			var(--gray_mediumdark, #4C4C4C) 100%);
	}
}

.pProductTag {
	display: flex;
	flex-flow: row wrap;
	gap: 6px;
	margin: initial;
	padding: initial;
	list-style: none;
}

.pProductTag__each {
	display: inline-block;
	padding: 3px 8px;
	background-color: #000;
	color: #FFF;
	font-size: 0.875em;
	line-height: 1.5;
}

/* Pick Up カード内の品番を fluorite/index の品番（mContentsBox__title）相当に拡大 */
.pProductNo {
	font-size: 1.1875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.mText--blue {
	color: #00428E;
}

.mText--white {
	color: #FFF;
}

.uVisuallyHidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media screen and (min-width: 768px) {
	.mTable__scroll {
		overflow-x: auto;
	}
}

.mNewsList__index--noLink {
	text-decoration: none;
}

.pSdgsIcon {
	display: flex;
	flex-flow: row wrap;
	gap: 10px;
}

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

@media screen and (min-width: 768px) {
	.pProductTable.mTableType1__each th,
	.pProductTable .mTableType1__each th,
	.pProductTable .mTableType1__each td,
	.pProductTable .mTableType1__each th + td {
		width: auto;
		padding: 12px 10px;
	}
}

.pCardIcon {
	justify-content: center;
}

.pCardIcon img {
	width: auto;
	max-width: 100%;
}

.pCardPhoto img {
	aspect-ratio: 262 / 175;
	object-fit: cover;
}

.mTableType1 img,
.mTableType2 img,
.mTableType3 img,
.mTableType4 img {
	max-width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
	[class*="mColumn__"] .mTableType1__each th,
	[class*="mColumn__"] .mTableType1__each td,
	[class*="mColumn__"] .mTableType1__each th + td {
		width: auto;
		padding: 12px 15px;
	}

	[class*="mColumn__"] .mTableType1__each th:not(:empty) {
		min-width: 6em;
	}
}

.pImageNatural {
	margin: 0;
	padding: 0;
}

.pImageNatural img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.pBoxColumn {
		align-items: stretch;
		row-gap: 30px;
	}
}

.pBoxColumn--hover .mDecoration__border,
a.pBoxCard {
	transition: border-color 0.3s;
}
@media (hover: hover) {
	.pBoxColumn--hover .mDecoration__border:hover,
	a.pBoxCard:hover {
		border-color: #be000b;
	}
}

/* カードの枠全体をリンク化 */
a.pBoxCard {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* SP時、共通CSSが .mContentsBox__link を position:absolute にするため、
   位置基準のない pBoxCard 内では「詳しくはこちら」がカード枠外に飛び出す。
   カード内では通常フローに戻して枠内へ表示する。 */
@media screen and (max-width: 767px) {
	a.pBoxCard .mContentsBox__link {
		position: static !important;
		right: auto;
		bottom: auto;
	}
}

/* 表のヘッダー行・セクション見出しセルの下線・背景 */
.pSectionLine {
	background: #f5f5f5;
	box-shadow: inset 0 -3px 0 #767676;
}

/* fluorine-free 特徴：表（残り幅）＋画像（固定幅）の2カラム */
.pTableFigure {
	gap: 30px;
}
.pTableFigure > .mTable__scroll {
	flex: 1 1 600px;
	min-width: 0;
}
/* 画像の上端を表の上端に揃える */
.pTableFigure .mTableType1 {
	margin-top: 0;
}
.pProductImgFixed {
	flex: 0 0 auto;
	width: 300px;
	max-width: 100%;
}
.pProductImgFixed img {
	width: 100%;
	height: auto;
}

.mList--discDefault > li,
.mList--numDefault > li,
.mList--noIndent > li {
	line-height: 1.75;
}

.mList--discDefault > li:not([class]),
.mList--numDefault > li:not([class]),
.mList--noIndent > li:not([class]) {
	font-size: 1.0625rem;
}

.mTableType1__each td.mText__regular--small,
.mTableType1__each th.mText__regular--small {
	font-size: 0.875rem;
}

@media screen and (max-width: 767px) {
	.mTableType1__each td.mText__regular--small,
	.mTableType1__each th.mText__regular--small {
		font-size: 0.8125rem;
	}
}

.pRecruitKv {
	display: flex;
	justify-content: space-between;
}

.pRecruitKv--reverse {
	flex-direction: row-reverse;
}

.pRecruitKv__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-top: 25px;
	padding-bottom: 25px;
}

.pRecruitKv__body .mText__titleMedium {
	margin: 0;
	line-height: 1.2;
}

.pRecruitKv__image {
	display: block;
}

@media screen and (max-width: 767px) {
	.pRecruitKv,
	.pRecruitKv--reverse {
		flex-direction: column;
	}

	.pRecruitKv .mVisualLink__kvCaption,
	.pRecruitKv .mVisualLink__kvImage {
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.pTrialInfo .mInfo__inner {
		align-items: flex-start;
		padding-left: 35px;
		padding-right: 35px;
	}

	.pTrialInfo .mInfo__read > li:first-child {
		margin-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.pDomain .mContentsBox__image {
		padding-top: 10px;
	}
}

@media screen and (max-width: 767px) {
	.mContentsBox--spImgPtop .mContentsBox__image {
		padding-top: 10px;
	}
}

.lPage .pContact__stepList {
	margin: 40px auto 60px;
}

@media screen and (min-width: 768px) {
	.lPage .pContact__stepList {
		justify-content: center;
		gap: 0 40px;
		max-width: none;
	}

	.lPage .pContact__stepList .mIcon__arrow-next {
		font-size: 1.125rem;
	}
}

.pContact__btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 340px;
	padding: 20px 40px;
	border: 1px solid #be000b;
	border-radius: 0;
	background: #be000b;
	color: #fff;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.pContact__btn .mIcon__arrow-next {
	margin-left: 0.5em;
}

.pContact__btn .mIcon__arrow-prev {
	margin-right: 0.5em;
}

.pContact__btn .mIcon__arrow-next::before,
.pContact__btn .mIcon__arrow-prev::before {
	border-width: 2px;
	border-color: #fff;
}

@media (hover: hover) {
	.pContact__btn:hover {
		background: #fff;
		color: #be000b;
	}

	.pContact__btn:hover .mIcon__arrow-next::before,
	.pContact__btn:hover .mIcon__arrow-prev::before {
		border-color: #be000b;
	}
}

.pContact__btn--back {
	border-color: #c8c8c8;
	background: #fff;
	color: #333;
}

.pContact__btn--back .mIcon__arrow-next::before,
.pContact__btn--back .mIcon__arrow-prev::before {
	border-color: #333;
}

@media (hover: hover) {
	.pContact__btn--back:hover {
		border-color: #c8c8c8;
		background: #f5f5f5;
		color: #333;
	}

	.pContact__btn--back:hover .mIcon__arrow-next::before,
	.pContact__btn--back:hover .mIcon__arrow-prev::before {
		border-color: #333;
	}
}

@media screen and (min-width: 768px) {
	.lPage .pContact__btnCol2 {
		justify-content: center;
		gap: 0 30px;
	}
}

@media screen and (max-width: 767px) {
	.pContact__btn {
		width: 100%;
		min-width: 0;
		padding: 15px 20px;
		font-size: 0.9375rem;
	}

	.lPage .pContact__btnCol2 {
		display: flex;
		flex-direction: column-reverse;
		gap: 15px 0;
	}
}

.lPage .pContact__stepListEach:not(.pContact__stepListEach--current) {
	color: #767676;
	font-weight: normal;
}

.lPage .pContact__stepList .mIcon__arrow-next::before {
	border-color: #c8c8c8;
}

@media screen and (max-width: 767px) {
	.lPage .pContact__stepListEach:nth-last-child(n+2)::before {
		border-color: #c8c8c8;
	}
}

@media screen and (min-width: 768px) {
	.lPage .pContact__formHead:not(.pContact__formHead--confirm) {
		padding-top: 15px;
	}

	.lPage .pContact__formEach:has(.pContact__formData--gray) .pContact__formHead {
		padding-top: 21px;
	}
}

.lPage .pContact__formData--block > .pContact__formLabel {
	display: block;
}

.lPage .pContact__formData > .pContact__formData {
	margin-top: 0;
}

.pContact__error {
	margin-top: 12px;
	line-height: 1.6;
}

.pContact__error:empty {
	display: none;
}

/* 社員インタビューのプロフィール（ラベルと値を同一行に） */
.mDefine--inline dt,
.mDefine--inline dd {
	display: inline;
	margin: 0;
}
.mDefine--inline .mDefine__row + .mDefine__row {
	margin-top: 12px;
}

/* プライバシーポリシーの表 */
.pPrivacy .mTable__scroll .mTableType1 {
	white-space: normal;
}

/* プライバシーポリシー：3列の表の列幅と縦位置 */
.pPrivacy .pProductTable .mTableType1__each th,
.pPrivacy .pProductTable .mTableType1__each td {
	width: auto;
	vertical-align: middle;
}

/* プライバシーポリシー：3列を横並びにするのは 1024px 以上 */
@media screen and (min-width: 1024px) {
	.pPrivacy .pProductTable .mTableType1__each th,
	.pPrivacy .pProductTable .mTableType1__each td:first-of-type {
		width: 1%;
		white-space: nowrap;
	}
	.pPrivacy .pProductTable .mTableType1__each th {
		padding: 15px 30px;
	}
	.pPrivacy .pProductTable .mTableType1__each td {
		padding: 15px 30px 15px 0;
	}
}

/* privacy/procedure.html：必要書類の表（PC） */
@media screen and (min-width: 768px) {
	.pProcedure .mTable__scroll {
		max-width: 520px;
	}
	.pProcedure .mTableType1 {
		table-layout: auto;
	}
	.pProcedure .mTableType1__each th {
		width: auto;
		padding: 15px 20px 15px 30px;
		white-space: nowrap;
	}
	.pProcedure .mTableType1__each td {
		width: 1%;
		padding: 15px 30px 15px 0;
		white-space: nowrap;
	}
}

/* privacy/procedure.html：必要書類の表（SP） */
@media screen and (max-width: 767px) {
	.pProcedure .mTable__scroll {
		width: 100%;
		overflow: visible;
	}
	.pProcedure .mTable__scroll .mTableType1 {
		white-space: normal;
	}
	.pProcedure .mTableType1__each th {
		width: auto;
	}
	.pProcedure .mTableType1__each td {
		width: 1%;
		white-space: nowrap;
	}
}

/* 中身が空のPDFリンク（SP） */
@media screen and (max-width: 767px) {
	.mTextLink__icon--pdf:empty,
	.mTextLink__icon--xls:empty,
	.mTextLink__icon--doc:empty {
		min-height: 21px;
	}
}

/* support/download.html：SDS一覧の横スクロール（SP） */
@media screen and (max-width: 767px) {
	.pDownload .mTable__scroll {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}
}

/* privacy/index.html：表の幅を本文に揃える（SP） */
@media screen and (max-width: 767px) {
	.pPrivacy .mTable__scroll {
		width: 100%;
		overflow: visible;
	}

	.pPrivacy .mTable--spVertical th {
		padding: 20px 20px 8px !important;
	}
	.pPrivacy .mTable--spVertical td {
		padding: 0 20px 8px !important;
	}
	.pPrivacy .mTable--spVertical td:last-child {
		padding-bottom: 20px !important;
	}
	.pPrivacy .mTable--spVertical .mList--discDefault {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* プライバシーポリシー：3列の表を 1024px 未満で縦積みに */
@media screen and (max-width: 1023px) {
	.pPrivacy .pProductTable.mTable--spVertical {
		border-bottom: 1px solid #c8c8c8;
	}
	.pPrivacy .pProductTable.mTable--spVertical tr {
		border-top: 1px solid #c8c8c8;
	}
	.pPrivacy .pProductTable.mTable--spVertical th,
	.pPrivacy .pProductTable.mTable--spVertical td {
		display: block;
		width: 100% !important;
		white-space: normal !important;
	}
	.pPrivacy .pProductTable.mTable--spVertical td {
		border: none !important;
	}
	.pPrivacy .pProductTable.mTable--spVertical th {
		padding: 20px 20px 8px !important;
	}
	.pPrivacy .pProductTable.mTable--spVertical td {
		padding: 0 20px 8px !important;
	}
	.pPrivacy .pProductTable.mTable--spVertical td:last-child {
		padding-bottom: 20px !important;
	}
	.pPrivacy .pProductTable.mTable--spVertical .mList--discDefault {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* プライバシーポリシー：（４）共同利用の表 */
@media screen and (min-width: 768px) {
	.pPrivacy .pSharedTable .mTableType1__each th {
		width: 1%;
		white-space: nowrap;
	}
}

/* domain/fluorite/history.html：モース硬度表 */
table.pMohsTable {
	width: auto;
}
table.pMohsTable .mTableType1__each th:not(:empty) {
	min-width: 0;
}

/* products_caf2/baf2：特性表の見出し列 */
@media screen and (min-width: 768px) {
	.pPropTable .mTableType1__each th:not([colspan]) {
		white-space: nowrap;
	}
}
/* 画像と横並びの表は1024px以上のみ1行表示 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.pPropTable--col .mTableType1__each th:not([colspan]) {
		white-space: normal;
	}
}

/* products_caf2：基本物性の画像 */
.mColumn__2 .pPropFigure {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.mColumn__2 .pPropFigure {
		margin-top: 30px;
	}
}

/* アンカー着地時にローカルナビへ隠れないための余白 */
#about-deposition-materials {
	scroll-margin-top: 80px;
}

/* 蒸着材料 製品一覧のPDFボタン */
.pFilterPdf {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 40px;
}

.pFilterPdf .mButton__arrow {
	width: auto;
	min-width: 240px;
	max-width: none;
	margin: 0;
	padding: 16px 30px;
	font-size: 1.0625rem;
}

@media screen and (max-width: 767px) {
	.pFilterPdf {
		margin-bottom: 25px;
	}

	.pFilterPdf .mButton__arrow {
		flex: 1 1 100%;
		min-width: 0;
		padding: 13px 20px;
	}
}

/* 製品識別色（20260903 林様依頼 共通課題E・A案） */
.pProdColor--dev01 { --pProdTint: #faf0d6; --pProdInk: #8a6a00; }
.pProdColor--dev02 { --pProdTint: #daeef0; --pProdInk: #00727a; }
.pProdColor--dev03 { --pProdTint: #dce9f5; --pProdInk: #005b94; }
.pProdColor--or510 { --pProdTint: #ebe0ef; --pProdInk: #5d0c75; }
.pProdColor--pl001 { --pProdTint: #fbf6d2; --pProdInk: #7d6e00; }
.pProdColor--neutral { --pProdTint: #ececec; --pProdInk: #767676; }

/* 製品が桁方向に並ぶ表の列ヘッダ */
.pProdHead {
	background: var(--pProdTint);
	box-shadow: inset 0 -3px 0 var(--pProdInk);
}

/* 製品が行方向に並ぶ表の名称セル */
.pProdRow {
	background: var(--pProdTint);
	box-shadow: inset 3px 0 0 var(--pProdInk);
}

/* 共通CSSの th + td は padding-left:0 */
.mTableType1__each .pProdRow + td {
	padding-left: 30px;
}

@media screen and (max-width: 767px) {
	.mTableType1__each .pProdRow + td {
		padding-left: 14px;
	}
}
