@charset "UTF-8";

/* ====================================
	共通スタイル
 ==================================== */

.mts {
	margin-top: 2rem;
}

.mt1em {
	margin-top: 1em;
}

sup {
	color: var(--cyan);
}

/* 生産終了コンテナ */
.eol-container {
	padding-block: 6rem;
	margin-inline: auto;
	text-align: center;
}

.eol-container:has(.eol-prod) {
	padding-top: 4rem;
}

/* 生産終了見出し */
.eol-title {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 2.35em;
}

.eol-container:has(.eol-prod) .eol-title {
	margin-top: 1.5em;
}

/* 生産終了製品名 */
.eol-prod-name {
	font-size: 2rem;
	font-weight: 700;
}

.eol-prod-series {
	font-size: 2rem;
	font-weight: 700;
}

.eol-prod-text {
	font-size: 1.6rem;
	margin-top: 1rem;
}

/* 生産終了製品情報ページ用分岐 */
main:has(.eol-section) {
	padding-bottom: 6rem;
}

.eol-section {
	padding-top: 3rem;
	text-align: center;
}

.sub-section {
	padding-top: 6rem;
}

.prod-category {
	font-size: 1.4rem;
}

.product-name {
	font-size: 2.4rem;
	font-weight: 700;
}

.prod-series {
	font-size: 1.4rem;
	margin-top: 1.5rem;
	text-align: left;
}

.list-eol-support-navi {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	font-size: 1.6rem;
	row-gap: 1em;
	margin-top: 4rem;
	padding: 1em 5%;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
}

.list-eol-support-navi>li {
	inline-size: 100%;
	text-align: left;
}

.has-arrow-left {
	inline-size: fit-content;
	font-weight: 400;
	padding-left: 1em;
	background: url('/assets/common/images/chevron-right-solid.svg') no-repeat left 0 top .4em / auto .8em;
}

.eol-section-title {
	font-size: 2rem;
	font-weight: 700;
	margin-top: 1em;
}

.section-title {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 4rem;
	text-align: center;
}

.prod-copy {
	font-size: 1.6rem;
	font-weight: 500;
}

.list-prod-feature {
	display: flex;
	flex-wrap: wrap;
	row-gap: 2rem;
	margin-top: 5rem;
}

.list-prod-feature>li {
	inline-size: 100%;
}

.feature-title {
	font-size: 1.6rem;
	font-weight: 700;
	padding-left: 2rem;
	position: relative;
}

.feature-title::before {
	content: '―';
	position: absolute;
	left: 0;
	top: 0.1em;
}

.feature-text {
	font-size: 1.4rem;
	margin-top: 0.6em;
}

.section-border {
	border-top: none;
	padding-bottom: 6rem;
	border-bottom: 1px solid #707070;
}



/* 生産終了製品画像 */
.eol-prod-img {
	display: flex;
	align-items: center;
	aspect-ratio: 1 / 1;
	max-inline-size: 200px;
	margin: 2.5rem auto 0;
}

/* リンク見出し */
.eol-sub-title {
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 0.8em;
}

/* ボタンリンク・黒 */
.btn-has-arrow-left {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-column-gap: 0.8em;
	inline-size: min(380px, 100%);
	block-size: fit-content;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 400;
	color: #fff;
	background-color: #000;
	border: 1px solid #000;
	border-radius: 5px;
	margin-inline: auto;
	padding: 0.5em 1em;
	transition: background-color .3s ease, color .3s ease;
}

.btn-has-arrow-left svg {
	inline-size: 0.6em;
	block-size: 1em;
}

/* ボタンリンク・白 */
.btn-lineup {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-column-gap: .8em;
	inline-size: fit-content;
	block-size: fit-content;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 400;
	border: 1px solid #000;
	border-radius: 5px;
	padding: .5em 1em;
	transition: background-color .3s ease, color .3s ease;
}

.btn-lineup::after {
	content: '';
}

.btn-lineup svg {
	inline-size: 0.6em;
	block-size: 1em;
}

/* 最新製品ボタンリンク */
.btn-lineup-wrap {
	inline-size: fit-content;
	margin: 2rem 0 0 auto;
}

/* フレックスボックス */
.flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 3rem;
	inline-size: min(680px, 100%);
	margin-inline: auto;
}

.flex-item {
	inline-size: 100%;
}

/* ==========================================
	ホバー、マウスポインタがサポートされている環境
=========================================== */
@media (hover:hover) and (pointer: fine) {
	.btn-has-arrow-left:hover {
		color: #000;
		background-color: #fff;
	}

	/* 最新製品ボタンリンク */
	.btn-lineup:hover {
		color: #fff;
		background-color: #000;
		text-decoration: none;
	}

}

/* ====================================
	スマートフォン専用スタイル（～768px）
===================================== */
@media screen and (width <768px) {

	.table-spec th.rowspan,
	.table-spec th.rowspan+td {
		border-top: none;
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	.mts {
		margin-top: 4rem;
	}

	/* 生産終了コンテナ */
	.eol-container {
		padding-block: 6rem;
	}

	/* 生産終了見出し */
	.eol-title {
		font-size: 3rem;
	}

	.eol-container:has(.eol-prod) .eol-title {
		font-size: 2.4rem;
	}

	/* 生産終了製品名 */
	.eol-prod-name {
		font-size: 2.4rem;
	}

	.eol-prod-series {
		font-size: 2.4rem;
	}

	.eol-prod-text {
		font-size: 1.8rem;
		margin-top: 1.2rem;
	}

	/* 生産終了製品情報ページ用分岐 */
	main:has(.eol-section) {
		padding-bottom: 10rem;
	}

	.sub-section {
		padding-top: 10rem;
	}

	.prod-category {
		font-size: 1.5rem;
	}

	.product-name {
		font-size: 3rem;
	}

	.eol-prod-container:has(.prod-series) .product-name {
		margin-bottom: 2rem;
	}

	.prod-series {
		font-size: 1.5rem;
		text-align: center;
		margin-top: 2rem;
	}

	.list-eol-support-navi {
		font-size: 1.8rem;
		column-gap: 5%;
		justify-content: center;
		padding-block: 4rem;
		margin-top: 10rem;
	}

	.list-eol-support-navi>li {
		inline-size: fit-content;
	}

	.section-title {
		font-size: 3rem;
		margin-bottom: 5rem;
	}

	.eol-section-title {
		font-size: 2.4rem;
	}

	.prod-copy {
		font-size: 2.4rem;
	}

	.list-prod-feature {
		row-gap: 2.5rem;
		margin-top: 6rem;
	}

	.feature-title {
		font-size: 1.8rem;
		padding-left: 3rem;
	}

	.feature-text {
		font-size: 1.6rem;
		padding-left: 3rem;
	}

	.section-border {
		padding-bottom: 10rem;
	}


	/* 生産終了製品画像 */
	.eol-prod-img {
		max-inline-size: 240px;
		margin-top: 3rem;
	}

	/* リンク見出し */
	.eol-sub-title {
		font-size: 1.8rem;
	}

	/* ボタンリンク・黒 */
	.btn-has-arrow-left {
		font-size: 1.8rem;
	}

	/* ボタンリンク・白 */
	.btn-lineup {
		font-size: 1.8rem;
	}

	.btn-lineup-wrap {
		margin-top: 4rem;
	}

	/* フレックスボックス */
	.flex-container {
		display: flex;
		justify-content: center;
		column-gap: 6%;
	}

	.flex-item {
		inline-size: 47%;
	}
}