@charset 'UTF-8';

/*----------------------------------------

	- strength
		- #iso9001 / #iso14001
		- #production
		- #dx
		- #license
		- swiper
		- table

-----------------------------------------*/

.heading_04 .font20_16 {
	display: flex;
	align-items: center;
}

.heading_02 p,
.heading_03 h1+p {
	margin-top: 46px;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
	.heading_02 p,
	.heading_03 h1+p {
		margin-top: 8.49vw;
	}
}

section {
	margin-top: 100px;
}

section .heading_03 .font28_20 {
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.section_body {
	margin-top: 45px !important;
}

.section_body p.font20_16 {
	letter-spacing: 0.04em;
}

.section_body .font18_14 {
	letter-spacing: 0.03em;
}

@media screen and (max-width: 768px) {
	section {
		margin-top: 15.38vw;
	}

	section+section {
		margin-top: 19.48vw;
	}

	.section_body {
		margin-top: 6.79vw !important;
	}
}

/*----------------------------------------
	grid
-----------------------------------------*/
.column2 {
	display: grid;
	gap: 6.12%;
	grid-template-columns: auto auto;
	margin-top: 40px;
}

.column3 {
	display: grid;
	gap: 6.12%;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 40px;
}

.column2.half {
	grid-template-columns: 1fr 1fr;
	gap: 6.12%;
}

.column2 p,
.column3 p {
	letter-spacing: 0.03em;
}

.column2 figure,
.column3 figure {
	max-width: 420px;
}

.column2.half figure {
	max-width: 100%;
}

.column2 .heading_03 + p {
	margin-block-start: 40px;
}

.img-large {
	width: 71.97%;
	margin: 60px auto 0;
}

@media screen and (max-width: 768px) {
	.column2,
	.column2.half,
	.column3 {
		gap: 5.85vw;
		grid-template-columns: 1fr;
		margin-top: 5.85vw;
	}

	.column2 figure,
	.column3 figure {
		max-width: 100%;
	}

	.column2 .heading_03 + p {
		margin-block-start: 5vw;
	}

	.img-large {
		width: 100%;
		margin-top: 5.85vw;
	}
}

/*----------------------------------------
	#emphasis
-----------------------------------------*/
#emphasis ul {
	margin-block-start: 1em;
}

#emphasis li {
	display: grid;
	grid-template-columns:  auto 1fr;
	gap: .3em;
}

#emphasis .img-large {
	width: 100%;
}

/*----------------------------------------
	#sdgs
-----------------------------------------*/
#sdgs .img-large {
	width: 100%;
}

/*----------------------------------------
	#iso9001 / #iso14001
-----------------------------------------*/
#iso9001 .column2,
#iso14001 .column2 {
	grid-template-columns: 0.6fr 1fr;
}

#iso9001 .column2 figure,
#iso14001 .column2 figure {
	display: flex;
	justify-content: flex-end;
	gap: min(3vw, 40px);
}

#iso9001 .column2 figure img,
#iso14001 .column2 figure img {
	height: min(150px, 100%);
	width: auto;
}

#iso9001 .column2 li,
#iso14001 .column2 li {
	display: grid;
	grid-template-columns: 120px 1fr;
}

@media screen and (max-width: 768px) {
	#iso9001 .column2,
	#iso14001 .column2 {
		grid-template-columns: 1fr;
	}

	#iso9001 .column2 figure,
	#iso14001 .column2 figure {
		display: grid;
		grid-template-columns: repeat(2, auto);
		justify-content: center;
		gap: 6vw;
		width: 70%;
		margin-inline: auto;
	}

	#iso9001 .column2 figure img,
	#iso14001 .column2 figure img {
		height: auto;
		width: 100%;
		margin-block: auto 0;
	}

	#iso9001 .column2 li,
	#iso14001 .column2 li {
		grid-template-columns: 24vw 1fr;
	}
}

/*----------------------------------------
	#production
-----------------------------------------*/
#production .heading_04 p {
	display: grid;
	grid-template-columns: auto 1fr;
	color: var(--color_basicblue);
}

#production .heading_04 p::before {
	content: attr(data-num)"）";
	width: unset;
	height: unset;
	margin: unset;
	background: unset;
}

#production .heading_04 + p {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	#production .heading_04 + p {
		margin-top: 2.5vw;
	}
}

/*----------------------------------------
	#dx
-----------------------------------------*/
#dx .heading_04 {
	margin-top: 40px;
}

#dx ul {
	width: fit-content;
}

#dx li::before {
	content: "・";
}

#dx .img-large {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#dx .heading_04 {
		margin-top: 8vw;
	}
}

/*----------------------------------------
	#license
-----------------------------------------*/
#license ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 100px;
}

#license li {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	line-height: 1.5;
	padding-block: 10.5px;
}

@media screen and (max-width: 768px) {
	#license ul {
		grid-template-columns: 1fr;
		gap: 0;
	}

	#license li {
		gap: 4vw;
		padding-block: 1vw;
	}
}

/*----------------------------------------
	swiper
-----------------------------------------*/
.sliderbox {
	position: relative;
	max-width: 1056px;
	width: 82.5%;
	margin: 50px auto 0;
}

/* swiper */
.swiper-container {
	overflow: hidden;
	position: relative;
	width: 89%;
	max-height: 200px;
	margin: auto;
	padding: 0;
}

.swiper-slide img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next {
	opacity: 1;
	top: 0;
	width: 58px;
	height: 100%;
	margin-top: 0;
}

.swiper-button-prev {
	left: 0 !important;
}

.swiper-button-next {
	right: 0 !important;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	content: '';
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 56px;
	background-position: center;
	background-size: 28px 56px;
	background-repeat: no-repeat;
	text-indent: 110%;
	white-space: nowrap;
}

.swiper-button-prev::after {
	background-image: url(../../img/c_ic_arw_l_l_pointgold.svg);
}

.swiper-button-next::after {
	background-image: url(../../img/c_ic_arw_r_l_pointgold.svg);
}

.swiper-button-lock {
	display: block !important;
	opacity: 0.35;
}

.swiper-scrollbar {
	opacity: 0;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	opacity: 0.15 !important;
}

@media screen and (max-width: 768px) {
	.sliderbox {
		width: 89.74%;
		margin: 7.69vw auto 0;
	}

	.swiper-container {
		width: 100%;
		max-height: 47vw;
		height: auto;
		padding: 0 0 7vw;
	}

	.swiper-button-prev,
	.swiper-button-next {
		display: none !important;
	}

	.swiper-scrollbar {
		opacity: 1;
		left: 0 !important;
		width: 100% !important;
		background-color: var(--color_flashwhite) !important;
	}

	.swiper-scrollbar .swiper-scrollbar-drag {
		background-color: var(--color_pointgold) !important;
	}
}

/*----------------------------------------
	table
-----------------------------------------*/
.main-equipment {
	margin-top: 50px;
}

.main-equipment .heading_04 .announce {
	display: none;
}

/* テーブル 大枠 */
.main-equipment table {
	width: 100%;
	margin-top: 20px;
	border: 1px solid var(--color_silver);
	border-collapse: separate;
	border-spacing: 0;
}

.main-equipment tr.fixed01 {
	position: sticky;
	top: 139px;
	background-color: var(--color_silver);
}

.main-equipment tr.fixed02 {
	position: sticky;
	top: 199px;
	background-color: var(--color_bg_silver);
}

/* セル共通設定 */
.main-equipment th,
.main-equipment td {
	padding: 18px 10px;
	font-size: 1.6rem;
}

/* 見出しグレー */
.main-equipment table thead th {
	background-color: var(--color_basicblue);
	color: var(--color_white);
	font-weight: 700;

	text-wrap: nowrap;
}

.main-equipment table thead th:nth-of-type(1) {
	width: 24%;
}

.main-equipment table thead th:nth-of-type(2) {
	width: 22%;
}

.main-equipment table thead th:nth-of-type(3) {
	width: 20%;
}

.main-equipment table thead th:nth-of-type(4) {
	width: auto;
}

.main-equipment table thead th:nth-of-type(5) {
	width: 29%;
}

.main-equipment table thead th:nth-of-type(n+2) {
	border-left: 1px solid var(--color_silver);
}

/* データ本体 */
.main-equipment table tbody th {
	font-weight: 700;
	text-align: left;
}

.main-equipment table tbody td {
	border-bottom: 1px solid var(--color_silver);
}

.main-equipment table tbody tr:last-child td {
	border-bottom: none;
}

.main-equipment table tbody td:nth-of-type(n+2) {
	border-left: 1px solid var(--color_silver);
}

.main-equipment table tbody td:nth-of-type(4) {
	text-align: right;
}

@media screen and (max-width: 1100px) {
	.main-equipment tr.fixed01 {
		top: 85px;
	}

	.main-equipment tr.fixed02 {
		top: 145px;
	}
}

@media screen and (max-width: 768px) {
	.main-equipment {
		margin-top: 7.69vw;
	}

	.main-equipment .heading_04 .announce {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-top: -0.5em;
	}

	.main-equipment .heading_04 .announce::after {
		content: '';
		display: inline-block;
		width: 1em;
		height: 1em;
		margin: 0 0 0 0.5vw;
		background: transparent url(../../img/c_ic_arw_r_m_gray.svg) no-repeat left top;
		background-size: contain;
	}

	/* テーブル外カバー */
	.datatable {
		overflow-x: scroll;
		width: 100%;
	}

	/* テーブル 大枠 */
	.main-equipment table {
		width: 850px;
		margin-top: 2.1vw;
	}

	.main-equipment tr.fixed01 {
		top: 85px;
	}

	.main-equipment tr.fixed02 {
		top: 145px;
	}

	.main-equipment tr.fixed01,
	.main-equipment tr.fixed02 {
		position: static;
	}

	/* セル共通設定 */
	.main-equipment th,
	.main-equipment td {
		padding: 3.64vw 1.8vw;
		font-size: 1.4rem;
	}
}
