@charset "utf-8";
/* CSS Document */
/*-------------------------------------------------

　   COMMON

--------------------------------------------------*/
.sub_title {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
.title_wrap {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
.title_wrap .content p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
.title_wrap .content p:last-child {margin-bottom: 0;}
/* パンくずリスト */
#breadcrumb {position: relative;z-index: 2;padding-top: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
#breadcrumb ul {display: flex;flex-wrap: wrap;align-items: center;gap: 5px 15px;}
#breadcrumb ul li {display: inline;position: relative;padding-right: 15px;font-size: 1.3rem;line-height: 1;letter-spacing: .05em;}
#breadcrumb ul li:not(:last-child) a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
	width: .3em;
	height: .3em;
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	color: #222;
}
#breadcrumb ul li a:hover {text-decoration: underline;}
/* archive page pager */
.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: flex;
    justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	margin: 3px;
	padding-top: 5px !important;
	border: 1px solid #10398E !important;
	background: #fff;
	color: #020202;
	font-weight: bold;
	text-align: center;
}
.wp-pagenavi span.pages {width: auto;padding: 0 20px;}
.wp-pagenavi a {color: #020202;border-color: #707070 !important;}
.wp-pagenavi a.first {padding-right: 14px;}
.wp-pagenavi a.last {padding-left: 14px;}
.wp-pagenavi span {background: #10398E;color: #fff;}
.wp-pagenavi span.extend {border: 1px solid #10398E;background: #fff;}
/* single page pager */
.page_container {
	display: flex;
	justify-content: space-between;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	position: relative;
	max-width: 1000px;
	margin: 0 auto 50px;
}
.page_container a {
	display: flex;
	align-items: center;
	gap: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	position: absolute;
	font-weight: 500;
}
.page_container a.prev {left: 0;}
.page_container a.next {right: 0;}
.page_container a span {
	position: relative;
	width: clamp(68px, calc(68px + 20 * ((100vw - 375px) / 1545)), 88px);
	height: clamp(68px, calc(68px + 20 * ((100vw - 375px) / 1545)), 88px);
	border-radius: 50%;
}
.page_container a.prev span {background: #92ADE8;}
.page_container a.next span {background: #10398E;}
.page_container a span::before {
	content: '';
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	height: 100%;
	background: no-repeat center / 100%;
}
.page_container a.prev span::before {left: 100%;background-image: url(../img/common/Icon_arrowL-blk.svg);}
.page_container a.next span::before {left: 0;background-image: url(../img/common/Icon_arrowR-blk.svg);}
/*-------------------------------------------------

　  Main Visual

--------------------------------------------------*/
#mv {position: relative;z-index: 3;padding-top: 18.25%;}
#mv .wrap {
	display: inline-block;
	padding-top: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-right: clamp(60px, calc(60px + 10 * ((100vw - 375px) / 1545)), 70px);
	padding-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding-left: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	background: #fff;
}
#mv .wrap h1 {
	margin-bottom: clamp(5px, calc(5px + 10 * ((100vw - 375px) / 1545)), 15px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
}
#mv .wrap p {color: #195096;font-weight: bold;font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);}
#mv .center_wrap {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;}
#mv .center_wrap h1 {
	position: relative;
	margin-bottom: 8px;
	padding-bottom: 8px;
	color: #fff;
	font-size: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	line-height: 1;
	text-align: center;
}
#mv .center_wrap h1::before {content: '';position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);width: 47px;height: 1px;background: #fff;}
#mv .center_wrap p {
	color: #fff;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	text-align: center;
}
#mv .image-crossfader {position: absolute;top: 0;left: 0;z-index: -1;width: 100%;height: 100%;overflow: hidden;}
#mv .image-crossfader-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
	transform: scale(1.2);
	transition:
	opacity 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955),
	transform 3.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	background: url("../img/page/common/mv.webp") no-repeat center / cover;
}
#mv.about .image-crossfader-inner {background-image: url(../img/page/about/mv.webp);}
#mv.business .image-crossfader-inner {background-image: url(../img/page/business/mv.webp);}
#mv.company_overview .image-crossfader-inner {background-image: url(../img/page/company_overview/mv.webp);}
#mv.csr .image-crossfader-inner {background-image: url(../img/page/csr/mv.webp);}
#mv.sdgs .image-crossfader-inner {background-image: url(../img/page/sdgs/mv.webp);}
#mv.hoken .image-crossfader-inner {background-image: url(../img/page/hoken/mv.webp);}
#mv.prowork .image-crossfader-inner {background-image: url(../img/page/prowork/mv.webp);} 
#mv.products .image-crossfader-inner {background-image: url(../img/page/products/mv.webp);}
#mv .image-crossfader-inner.is-visible {z-index: 1;opacity: 1;transform: scale(1.02);}
@media only screen and ( max-width : 767px ) {
	#mv {padding-top: 45.25%;}
}
/*-------------------------------------------------

	About us │ 中部物産とは

--------------------------------------------------*/
#about.english .inner {max-width: 1100px;}
#about.english .content p {font-weight: 400;letter-spacing: .05em;}
#greeting .inner {max-width: 1100px;}
#greeting .container {flex-direction: row-reverse;}
#greeting .container figure {width: 35%;text-align: center;}
#greeting.english .container figure figcaption {
	display: inline-block;
	margin-top: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#greeting.english .container figure figcaption span {display: block;margin-top: 5px;font-size: 1.4em;}
#greeting .container .wrap {width: 63%;}
#greeting .container .wrap .title {margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);}
#greeting .container .wrap .content p {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	font-weight: 500;
	letter-spacing: .05em;
}
#greeting .container .wrap .content p.name {
	margin-bottom: 0;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#greeting .container .wrap .content p.name span {display: block;margin-top: 5px;font-size: 1.4em;}
#strength {overflow: hidden;background: #FAFAFA;}
#strength .block {width: 95%;max-width: 1420px;margin: 0 auto; background: #fff;}
#strength .block .inner {max-width: 1120px;}
#strength .block ul {display: grid;gap: clamp(80px, calc(80px + 110 * ((100vw - 375px) / 1545)), 190px);}
#strength .block ul li:nth-child(even) {flex-direction: row-reverse;}
#strength .block ul li figure {position: relative;z-index: 1;width: 50%;}
#strength .block ul li figure::before {content: '';position: absolute;top: 75%;z-index: -1;width: 127px;height: 127px;background: #F5F5F5;}
#strength .block ul li:nth-child(odd) figure::before {left: 83%;}
#strength .block ul li:nth-child(even) figure::before {right: 83%;}
#strength .block ul li .container {position: relative;z-index: 1;width: 45%;}
#strength .block ul li .container p.num {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	color: #EFEFEF;
	font-size: clamp(60px, calc(60px + 70 * ((100vw - 375px) / 1545)), 130px);
	line-height: 1.2;
}
#strength .block ul li:nth-child(even) .container p.num {right: initial;left: 0;}
#strength .block ul li .container .title_wrap {margin-bottom: clamp(20px, calc(20px + 5 * ((100vw - 375px) / 1545)), 25px);}
#strength .block ul li .container .title_wrap h3 {
	margin-bottom: 5px;
	color: #3A5794;
	font-weight: bold;
	font-size: clamp(26px, calc(26px + 10 * ((100vw - 375px) / 1545)), 36px);
	letter-spacing: .05em;
}
#strength .block ul li:nth-child(even) .title_wrap h3 {text-align: right;}
#strength.english .block ul li:nth-child(even) .title_wrap h3 {text-align: left;}
#strength .block ul li .container .title_wrap h3 span {
	display: block;
	margin-bottom: 5px;
	color: #C1C1C1;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
}
#strength .block ul li:nth-child(even) .title_wrap h3 span {text-align: right;}
#strength .block ul li .container .title_wrap p {
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	line-height: 1.4;
	letter-spacing: .05em;
}
#strength .block ul li:nth-child(even) .title_wrap p {text-align: right;}
#strength .block ul li .container .txt_wrap p {font-weight: 500;letter-spacing: .05em;}
#list .inner {max-width: 1720px;}
#list.english .block {max-width: 1067px;margin: 0 auto;}
#list .block:nth-child(1) {
	margin-bottom: clamp(10px, calc(10px + 30 * ((100vw - 375px) / 1545)), 30px);
	padding-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	border-bottom: 1px solid #222;
}
#list.english .block:nth-child(1) {margin-bottom: 0;padding-bottom: 0;border-bottom: none;}
#list .block .title {max-width: 1120px;margin: 0 auto clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);}
#list .block .container {justify-content: center;gap: 30px;}
#list.english .container {max-width: 100%;}
#list .block .container:last-child {margin-bottom: 0;}
#list.english .container ul {width: 48%;}
#list .block .container ul li {position: relative;margin-bottom: 10px;padding-left: 15px;font-weight: 500;letter-spacing: .05em;}
#list .block .container ul li::before {content: '';position: absolute;top: .45em;left: 0;width: 11px;height: 11px;border-radius: 50%;background: #222;}
#list .block .container ul li:last-child {margin-bottom: 0;}
#company_overview.english {background: #FAFAFA;}
#company_overview.english .inner {max-width: 1400px;}
#company_overview.english .block {
	padding: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px) clamp(20px, calc(20px + 60 * ((100vw - 375px) / 1545)), 80px);
	background: #fff;
}
#company_overview.english .block table {max-width: 1067px;margin: 0 auto;}
#company_overview.english .block table tr {
	display: block;
	padding-top: clamp(15px, calc(15px + 30 * ((100vw - 375px) / 1545)), 45px);
	padding-bottom: clamp(15px, calc(15px + 30 * ((100vw - 375px) / 1545)), 45px);
	border-bottom: 1px solid #707070;
}
#company_overview.english .block table tr:first-child {border-top: 1px solid #707070;}
#company_overview.english .block table tr th {
	width: clamp(220px, calc(220px + 100 * ((100vw - 375px) / 1545)), 320px);
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
	vertical-align: top;
}
#company_overview.english .block table tr td {
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#company_overview.english .block table tr td ul li:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#company_overview.english .block table tr td ul li h4 {font-weight: bold;}
#company_overview.english .block table tr td p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: 400;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#company_overview.english .block table tr td p:last-child {margin-bottom: 0;}

#company_overview.english .image-container {display: flex;gap: 20px;max-width: 1050px;margin: 0 auto;}
#list .image-container {display: flex;gap: 20px;max-width: 1050px;margin: 0 auto 70px;}
#company_overview.english .image-box,#list .image-box {flex: 1;overflow: hidden;margin-top: 20px;}
#company_overview.english .image-box img,#list .image-box img {width: 100%;height: auto;display: block;}
@media only screen and ( max-width : 1024px ) {
	#list .block .container {justify-content: flex-start;gap: 0;}
	#list .block .container ul {width: 48%;}
}
@media only screen and ( max-width : 767px ) {
	#greeting .container figure {width: 100%;margin-bottom: 30px;}
	#greeting .container .wrap {width: 100%;}
	#strength .block ul li figure {width: 100%;margin-bottom: 30px;}
	#strength .block ul li .container {width: 100%;}
	#list.english .container ul {width: 100%;}
	#company_overview.english .block table tr th {display: block;width: 100%;margin-bottom: 5px;}
	#company_overview.english .block table tr td {display: block;}
}
@media only screen and ( max-width : 500px ) {
	#list .block .container ul {width: 100%;}
	#company_overview.english .image-container,#list .image-container {flex-direction: column;}
}
/*-------------------------------------------------

	Business │ 事業紹介

--------------------------------------------------*/
#business ul {display: grid;gap: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);max-width: 1060px;margin: 0 auto;}
#business ul li {
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	box-shadow: 0 0 30px rgba(0, 0, 0, 16%);
	border: 3px solid #3A67B1;
	border-radius: 15px;
	background: #fff;
}
#business ul li h3 {
	margin-bottom: clamp(10px, calc(10px + 5 * ((100vw - 375px) / 1545)), 15px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#business ul li .container figure {width: 30%;}
#business ul li .container .wrap {width: 68%;}
#business ul li .container .wrap .content:nth-child(1) {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border-bottom: 1px solid #707070;
}
#business ul li .container .wrap .content h4 {
	margin-bottom: 10px;
	font-weight: 600;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
}
#business ul li .container .wrap .content p {font-weight: 500;font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);}
@media only screen and ( max-width : 500px ) {
	#business ul li .container figure {width: 100%;margin-bottom: 20px;}
	#business ul li .container .wrap {width: 100%;}
}
/*-------------------------------------------------

	Company Overview │ 会社概要

--------------------------------------------------*/
#company {background: url(../img/page/company/bg01.webp) no-repeat center / cover;}
#company dl {max-width: 1070px;margin: 0 auto;}
#company dl dt {
	float: left;
	width: clamp(140px, calc(140px + 100 * ((100vw - 375px) / 1545)), 240px);
	padding-top: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#company dl dd {
	padding-top: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	padding-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	padding-left: clamp(140px, calc(140px + 100 * ((100vw - 375px) / 1545)), 240px);
	border-bottom: 1px solid #707070;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#company dl dd:nth-child(2) {border-top: 1px solid #707070;}
#company dl dd p {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#company dl dd p:last-child {margin-bottom: 0;}
#company dl dd ul li {position: relative;padding-left: 20px;}
#company dl dd ul li::before {content: '◇';position: absolute;left: 0;}
#history dl {display: none;}
#history .title {position: absolute;top: clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);}
#history .block:nth-child(1) {position: relative;background: url(../img/page/company/bg02.webp) no-repeat center / cover;}
#history .block:nth-child(2) {
	padding-top: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
	padding-bottom: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
}
#history .block ul li {width: 47%;}
#map {background: #FAFAFA;}
#map ul li {width: 47%;}
#map ul li h3 {
	position: relative;
	margin-bottom: 20px;
	padding-left: 45px;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#map ul li h3::before {content: '';position: absolute;top: 50%;left: 0;transform: translateY(-50%);width: 36px;height: 2px;background: #222;}
#map ul li .map {position: relative;width: 100%;margin-bottom: 20px;padding-top: 56.25%;}
#map ul li .map iframe {position: absolute;top: 0;right: 0;width: 100%;height: 100%;}
#map ul li a {padding: 12px 2em;border: 1px solid #222;border-radius: 25px;font-weight: bold;letter-spacing: .05em;text-align: center;}
#map ul li a:hover {background: #222;color: #FAFAFA;}
@media only screen and ( max-width : 767px ) {
	#history .block:nth-child(1) {
		padding-top: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
		padding-bottom: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
	}
	#history .block .title {position: relative;top: initial;}
	#map ul li {width: 100%;margin-bottom: 50px;}
	#map ul li:last-child {margin-bottom: 0;}
}
@media only screen and ( max-width : 500px ) {
	#company dl dt {float: none;width: 100%;padding-top: 20px;}
	#company dl dd {padding: 10px 0 20px;}
	#company dl dd:nth-child(2) {border-top: none;}
	#history figure {display: none;}
	#history dl {display: block;position: relative;}
	#history dl::after {
		content: '';
		position: absolute;
		top: 0;
		left: 112px;
		width: 1px;
		height: 100%;
		background: #3A67B1;
	}
	#history dl dt {
		position: relative;
		float: left;
		width: 120px;
		font-weight: bold;
		font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
		letter-spacing: .05em;
	}
	#history dl dt::after {
		content: '';
		position: absolute;
		top: 5px;
		right: 0;
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background: #3A67B1;
	}
	#history dl dd {
		padding-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
		padding-left: 140px;
		font-weight: 500;
		font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
		letter-spacing: .05em;
	}
	#history dl dd:last-child {padding-bottom: 0;}
}
/*-------------------------------------------------

	CSR │ Corporate Social Responsibility

--------------------------------------------------*/
#csr .block1 {margin-bottom: clamp(146px, calc(146px + 100 * ((100vw - 375px) / 1545)), 246px);}
#csr .block1 ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: clamp(40px, calc(40px + 50 * ((100vw - 375px) / 1545)), 90px);
}
#csr .block1 ul li {padding: 30px 20px;background: #FAFAFA;}
#csr .block1 ul li h3 {
	margin-bottom: 15px;
	color: #9B9B9B;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#csr .block1 ul li h3 span {display: block;color: #3A5794;font-weight: bold;font-size: 2em;letter-spacing: 0;}
#csr .block1 .container h4 {margin-bottom: 30px;letter-spacing: .05em;}
#csr .block1 .container .wrap {align-items: center;}
#csr .block1 .container .wrap table {width: auto;border: 1px solid #707070;}
#csr .block1 .container .wrap table tr th {
	padding: 10px;
	border-right: 1px solid #707070;
	background: #FAFAFA;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	writing-mode: vertical-rl;
	vertical-align: middle;
	text-align: center;
}
#csr .block1 .container .wrap table tr td {
	padding: 15px 45px;
	border-bottom: 1px solid #707070;
	font-weight: bold;
	font-size: clamp(26px, calc(26px + 10 * ((100vw - 375px) / 1545)), 36px);
	text-align: center;
}
#csr .block1 .container .wrap .content {flex: 1;margin-left: 40px;}
#csr .block2 ul {display: flex;flex-wrap: wrap;justify-content: center;max-width: 984px;margin: 0 auto;}
#csr .block2 ul li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	width: 22%;
	margin: 0 1%;
	padding: 40px 10px 20px;
	border: 1px solid #707070;
	border-radius: 12px;
}
#csr .block2 ul li:nth-child(1) {margin: 0 1% 70px 5%;}
#csr .block2 ul li:nth-child(2) {margin-bottom: 70px;}
#csr .block2 ul li:nth-child(3) {margin: 0 5% 70px 1%;}
#csr .block2 ul li h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	height: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 8 * ((100vw - 375px) / 1545)), 28px);
}
#csr .block2 ul li:nth-child(1) h3 {background: #D2E7FD;}
#csr .block2 ul li:nth-child(2) h3 {background: #9ACBFF;}
#csr .block2 ul li:nth-child(3) h3 {background: #6EAEF2;}
#csr .block2 ul li:nth-child(4) h3 {background: #56A0EF;}
#csr .block2 ul li:nth-child(5) h3 {background: #227CDD;}
#csr .block2 ul li:nth-child(6) h3 {background: #2E6CB9;}
#csr .block2 ul li:nth-child(7) h3 {background: #195096;}
#csr .block2 ul li figure {margin: 0 auto 5px;}
#csr .block2 ul li:nth-child(1) figure {width: 55%;}
#csr .block2 ul li:nth-child(2) figure {width: 70%;}
#csr .block2 ul li:nth-child(3) figure {width: 55%;}
#csr .block2 ul li:nth-child(4) figure {width: 80%;}
#csr .block2 ul li:nth-child(5) figure {width: 95%;}
#csr .block2 ul li:nth-child(6) figure {width: 65%;}
#csr .block2 ul li:nth-child(7) figure {width: 75%;}
#csr .block2 ul li p {font-weight: 500;text-align: center;}
@media only screen and ( max-width : 767px ) {
	#csr .block1 ul {grid-template-columns: repeat(2, 1fr);}
	#csr .block1 .container .wrap table {width: 100%;}
	#csr .block1 .container .wrap .content {flex: initial;margin: 30px 0 0;}
	#csr .block2 ul {justify-content: space-between;}
	#csr .block2 ul li {width: 48%;margin: 0 0 10%;}
	#csr .block2 ul li:nth-child(1) {margin: 0 0 10%;}
	#csr .block2 ul li:nth-child(2) {margin-bottom: 10%;}
	#csr .block2 ul li:nth-child(3) {margin: 0 0 10%;}
	#csr .block2 ul li:last-child {margin-bottom: 0;}
}
@media only screen and ( max-width : 500px ) {
	#csr .block1 ul {grid-template-columns: repeat(1, 1fr);}
}
/*-------------------------------------------------

	SDGs │ Sustainable Development Goals

--------------------------------------------------*/
#sdgs .block1 {margin-bottom: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);}
#sdgs .block1 .wrap {margin-bottom: 40px;}
#sdgs .block1 .wrap dl {display: flex;align-items: center;margin-bottom: 30px;background: #F8FCFF;}
#sdgs .block1 .wrap dl dt {
	width: clamp(84px, calc(84px + 100 * ((100vw - 375px) / 1545)), 184px);
	padding: 20px;
	background: #56A0EF;
	color: #fff;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#sdgs .block1 .wrap dl dd {padding: 20px;font-weight: 500;letter-spacing: .05em;}
#sdgs .block1 .wrap p span {color: #006bff;font-weight: bold;}
#sdgs .block1 .table table {border-collapse: inherit;}
#sdgs .block1 .table table thead tr th {
	width: 23%;
	padding: 20px 5px;
	border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
	background: #006bff;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	letter-spacing: .2em;
	text-align: center;
	vertical-align: middle;
}
#sdgs .block1 .table table thead tr th:first-child {width: 90px;}
#sdgs .block1 .table table thead tr th:last-child {border-right: none;}
#sdgs .block1 .table table tbody tr td {
	padding: 20px;
	border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
	background: #f9feff;
	font-size: 1.4rem;
	vertical-align: top;
}
#sdgs .block1 .table table tbody tr:nth-child(even) td {background: #f2f5ff;}
#sdgs .block1 .table table tbody tr td:first-child {
	background: #022b66;
	color: #fff;
	letter-spacing: .2em;
	text-align: center;
	vertical-align: middle;
}
#sdgs .block1 .table table tbody tr:last-child td {border-bottom: none;}
#sdgs .block1 .table table tbody tr td strong {display: block;margin-bottom: 15px;font-weight: bold;}
#sdgs .block1 .table table tbody tr td ul li {position: relative;padding-left: 15px;}
#sdgs .block1 .table table tbody tr td ul li::before {content: '・';position: absolute;left: 0;}
#sdgs .block1 .table table tbody tr td ol {counter-reset: my-counter;}
#sdgs .block1 .table table tbody tr td ol li {position: relative;padding-left: 20px;}
#sdgs .block1 .table table tbody tr td ol li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	position: absolute;
    top: 2px;
    left: 0;
    height: 16px;
    width: 16px;
    border: 1px solid #333;
    border-radius: 50%;
    color: #333;
    font-size: 85%;
    line-height: 14px;
    text-align: center;
}
#sdgs .block1 .table table tbody tr td .goals {display: flex;justify-content: center;gap: 8px;}
#sdgs .block1 .table table tbody tr td .goals img {width: 30%;}
#sdgs .block2 {flex-direction: row-reverse;align-items: center;}
#sdgs .block2 figure {width: 49%;}
#sdgs .block2 .wrap {width: 48%;}
#sdgs .block2 .wrap .content p {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#sdgs .block2 .wrap .content a {
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	text-decoration: underline;
}
@media only screen and ( max-width : 1024px ) {
	#sdgs .block1 .table {overflow-x: scroll;}
	#sdgs .block1 .table table {min-width: 1000px;}
}
@media only screen and ( max-width : 500px ) {
	#sdgs .block1 figure {overflow-x: scroll;}
	#sdgs .block1 figure img {min-width: 1000px;}
}
/*------------------------------------------------

    Brand story - HOKEN │ ブランド紹介 - ホーケン

------------------------------------------------*/
#hoken p {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#hoken ul {align-items: center;max-width: 934px;margin: 0 auto;}
#hoken ul li:nth-child(1) {width: 44%;}
#hoken ul li:nth-child(2) {width: 50%;}
/*------------------------------------------------

    Brand story - PROWORK │ ブランド紹介 - プロワーク

------------------------------------------------*/
#prowork p {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#prowork ul {align-items: center;max-width: 934px;margin: 0 auto;}
#prowork ul li:nth-child(1) {width: 48%;}
#prowork ul li:nth-child(2) {width: 48%;}
/*------------------------------------------------

    Topics Single │ 一覧

------------------------------------------------*/
#topics_sg {position: relative;}
#topics_sg .block .container {
	margin-bottom: 50px;
	padding-right: clamp(360px, calc(300px + 200 * ((100vw - 375px) / 1545)), 500px);
}
#topics_sg .block .container dl {margin: 0 15px 15px 0;}
#topics_sg .block .container dl dt {display: flex;align-items: center;gap: 10px;margin-bottom: 10px;}
#topics_sg .block .container dl dt span {
	width: clamp(80px, calc(80px + 50 * ((100vw - 375px) / 1545)), 130px);
	padding: 4px 0;
	background: #079DD9;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
}
#topics_sg .block .container dl dt time {color: #6F6F6F;font-size: clamp(12px, calc(12px + 6 * ((100vw - 375px) / 1545)), 18px);}
#topics_sg .block .container dl dd {font-weight: bold;font-size: clamp(16px, calc(16px + 10 * ((100vw - 375px) / 1545)), 26px);}
#topics_sg .block .container .txt_wrap {margin-bottom: 30px;}
#topics_sg .block .container .txt_wrap figure {margin-bottom: 50px;}
#topics_sg .block .container .txt_wrap figure img {width: 70%;}
#topics_sg .block .container .txt_wrap p {line-height: 1.6;}
#topics_sg .block .container .txt_wrap strong {font-weight: bold;}
#topics_sg .block .container .txt_wrap img {width: 80%;}
#topics_sg .block .container .txt_wrap b {font-weight: bold;}
#topics_sg .block .container .txt_wrap a {color: #92ADE8;text-decoration: underline;}
#topics_sg .block .container .txt_wrap a:hover {opacity: .5;}
#topics_sg .block .container .txt_wrap h3 {
	margin-top: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
    padding-left: 10px;
    border-left: 6px solid #3A67B1;
    font-weight: bold;
    font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 26px);
}
#topics_sg .block .container .txt_wrap h4 {
	margin-top: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 20px);
	font-weight: bold;
	font-size: 1.1em;
}
#topics_sg aside {
	position: absolute;
	top: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
	right: 2vw;
	width: 100%;
	max-width: clamp(160px, calc(260px + 200 * ((100vw - 375px) / 1545)), 360px);
}
#topics_sg aside h3 {
	margin-bottom: 15px;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
}
#topics_sg aside ul {grid-template-columns: none;grid-auto-rows: auto;}
#topics_sg aside ul li {
	display: flex;
	gap: 15px;
	position: relative;
	padding-top: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);
	padding-bottom: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);
	border-bottom: 1px solid #707070;
}
#topics_sg aside ul li:first-child {border-top: 1px solid #707070;}
#topics_sg aside ul li figure {width: 155px;overflow: hidden;}
#topics_sg aside ul li figure img {height: 116px;object-fit: cover;transition: .5s;}
#topics_sg aside ul li:hover figure img {transform: scale(1.1);}
#topics_sg aside ul li .wrap {flex: 1;}
#topics_sg aside ul li .wrap time {display: block;margin-bottom: 5px;color: #6F6F6F;}
#topics_sg aside ul li .wrap p {font-weight: bold;line-height: 1.4;}

#topics_sg .txt_wrap h3 {
	margin-top: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
    padding-left: 10px;
    border-left: 6px solid #3A67B1;
    font-weight: bold;
    font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}

@media only screen and ( max-width : 768px ) {
	#topics_sg aside {display: none;}
	#topics_sg .block .container .txt_wrap figure img {width: 100%;}
	#topics_sg .block .container .txt_wrap img {width: 100%;}
	#topics_sg .block .container {padding-right: 0;}
}
/*-------------------------------------------------

	News Archive │ お知らせ

--------------------------------------------------*/
#news .inner {max-width: 1120px;}
#news .title_container {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: clamp(25px, calc(25px + 10 * ((100vw - 375px) / 1545)), 35px);
}
#news .title_container .title {margin: 0 0 0 -70px;}
#news .title_container ul {align-items: flex-end;justify-content: flex-end;gap: 5px 20px;}
#news .title_container ul li a {
	width: 117px;
	padding: 7px 20px 5px;
	border-radius: 18px;
	color: #fff;
	font-weight: 500;
	text-align: center;
}
#news .title_container ul li:nth-child(1) a {background: #10398E;}
#news .title_container ul li:nth-child(2) a {background: #3A67B1;}
#news .title_container ul li:nth-child(3) a {background: #92ADE8;}
#news .title_container ul li:nth-child(4) a {background: #C7D3EA;}
#news .news_container ul {margin-bottom: 30px;}
#news .news_container ul:last-child {margin-bottom: 0;}
#news .news_container ul li {
	position: relative;
	margin-bottom: 20px;
	padding-top: clamp(25px, calc(25px + 10 * ((100vw - 375px) / 1545)), 35px);
	padding-right: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);
	padding-bottom: clamp(25px, calc(25px + 10 * ((100vw - 375px) / 1545)), 35px);
	border-bottom: 1px solid #707070;
}
#news .news_container ul li:first-child {border-top: 1px solid #707070;}
#news .news_container ul li::after {
	content: '';
	position: absolute;
	top: 50%;
	right: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
	transform: translateY(-50%);
	width: clamp(33px, calc(33px + 20 * ((100vw - 375px) / 1545)), 53px);
	height: clamp(33px, calc(33px + 20 * ((100vw - 375px) / 1545)), 53px);
	border: 2px solid #111;
	border-radius: 50%;
	background: url(../img/page/news/Icon_arrowR.svg) no-repeat center / 30%;
	transition: .3s;
}
#news .news_container ul li:hover::after {right: clamp(10px, calc(10px + 40 * ((100vw - 375px) / 1545)), 50px);}
#news .news_container ul li:last-child {margin-bottom: 0;}
#news .news_container ul li dl dt {
	margin-bottom: 10px;
	font-weight: 600;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#news .news_container ul li dl dd {display: flex;align-items: center;gap: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#news .news_container ul li dl dd span {
	width: 117px;
	padding: 7px 20px 5px;
	border-radius: 18px;
	background: #10398E;
	color: #fff;
	font-weight: 500;
	text-align: center;
}
#news .news_container ul li dl dd span.event {background: #3A67B1;}
#news .news_container ul li dl dd span.media {background: #92ADE8;}
#news .news_container ul li dl dd span.recruitment {background: #C7D3EA;}
#news .news_container ul li dl dd time {font-weight: 500;letter-spacing: .05em;}
@media only screen and ( max-width : 1024px ) {
	#news ul li dl {display: block;}
	#news ul li dl dt {margin-bottom: 10px;}
}
@media only screen and ( max-width : 768px ) {
	#news .title_container {display: block;}
	#news .title_container .title {margin: 0 0 40px;}
	#news .title_container ul {justify-content: flex-start;gap: 5px 10px;}
}
/*-------------------------------------------------

	News Single │ お知らせ

--------------------------------------------------*/
#news_sg .inner {max-width: 1000px;}
#news_sg .container {margin-bottom: clamp(100px, calc(100px + 34 * ((100vw - 375px) / 1545)), 134px);}
#news_sg .container .title_wrap {margin-bottom: 40px;}
#news_sg .container .title_wrap .title {margin: 0 0 20px -70px;}
#news_sg .container .txt_wrap {margin-bottom: 30px;}
#news_sg .container .txt_wrap p {margin: 10px 0 20px;font-weight: 500;}
#news_sg .container .txt_wrap p:last-child {margin-bottom: 0;}
@media only screen and ( max-width : 768px ) {
	#news_sg .container .title_wrap .title {margin-left: 0;}
}
/*-------------------------------------------------

	Products Search │ 製品紹介 検索機能

--------------------------------------------------*/
.search_block {
	padding-top: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #EAEAEA;
}
.search_block .inner {max-width: 700px;}
.search_block form {gap: 15px;}
.search_block form ul {flex: 1;}
.search_block form ul li {width: 48%;}
.search_block form ul li:last-child:before {
	content: '';
	position: absolute;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	height: 100%;
	background: no-repeat center / 100%;
}
.search_block form ul li .wrap {position: relative;}
.search_block form ul li .wrap::after {
    content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 1;
	transform: translateY(-50%);
	width: 13px;
	height: 100%;
	background: url(../img/page/products/search/Icon_arrowD.svg) no-repeat center / 100%;
}
.search_block form ul li:last-child .wrap::after {background-image: url(../img/page/products/search/Icon_search.svg);}
.search_block form ul li .wrap select,
.search_block form ul li .wrap input {
	position: relative;
	width: 100%;
	height: 50px;
	padding: 10px 20px;
	border: 1px solid #A5A5A5;
	background: #fff;
	font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);
	cursor: pointer;
}
.search_block form ul li .wrap input::placeholder {color: #363636;}
.search_block form button {
	display: block;
	position: relative;
	z-index: 1;
	width: 150px;
	height: 50px;
	padding: 10px 0;
	border: 1px solid #10398E;
	background: #10398E;
	color: #fff;
	text-align: center;
	transition: .3s;
}
.search_block button:hover {background: #fff;color: #A5A5A5;}
@media only screen and ( max-width : 767px ) {
	.search_block form {gap: 5px;}
	.search_block form ul {gap: 5px;}
	.search_block form ul li {width: 100%;}
}
@media only screen and ( max-width : 767px ) {
	.search_block form ul {flex: initial;}
	.search_block form button {width: 100%;padding: 20px 0;}
}
/*--------------------------------------------------

	Products Common │ 製品紹介 共通

--------------------------------------------------*/
.products_common {display: flex;justify-content: space-between;gap: 20px;}
.products_common .inner {display: flex;justify-content: space-between;gap: 20px;}
.products_common aside {width: clamp(160px, calc(160px + 100 * ((100vw - 375px) / 1545)), 260px);}
.products_common aside h3 {
	margin-bottom: clamp(26px, calc(26px + 10 * ((100vw - 375px) / 1545)), 36px);
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
}
.products_common aside ul li {position: relative;margin-bottom: 15px;}
.products_common aside ul li:last-child {margin-bottom: 0;}
.products_common aside ul li a {display: inline-flex;align-items: center;gap: 20px;}
.products_common aside ul li a:hover {opacity: .5;}
.products_common aside ul li figure {width: 50px;}
.products_common aside ul li p {font-size: 1.3rem;line-height: 1.4;}
.products_common .block {flex: 1;padding-left: 100px;}
.has-dropdown {position: relative;padding-right: 30px;}
.has-dropdown::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 7px;
	height: 100%;
	background: url(../img/page/products/Icon_arrowR-blk.svg) no-repeat center / 100%;
}
.has-dropdown ul.dropdown {
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	border: 1px solid #A5A5A5;
	background: #fff;
	z-index: 100;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	padding: 10px;
	min-width: 180px;
}
.has-dropdown:hover ul.dropdown {display: block;}
.has-dropdown ul.dropdown li {display: block;position: relative;margin: 0;padding-left: 20px;}
.has-dropdown ul.dropdown li::before {content: '・';position: absolute;left: 0;}
.has-dropdown ul.dropdown li a {font-size: 1.3rem;}
.has-dropdown ul.dropdown li a:hover {opacity: .5;}
@media only screen and ( max-width : 767px ) {
	.products_common aside {display: none;}
	.products_common .block {padding-left: 0;}
}
/*-------------------------------------------------

	Products Archive │ 製品紹介

--------------------------------------------------*/
#products .block2 ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 40px 30px;}
#products .block2 ul li {position: relative;}
#products .block2 ul li dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px 24px;
	background: rgba(0, 0, 0, 50%);
}
#products .block2 ul li dl dt {font-weight: bold;color: #fff; font-size: 13px;}
#products .block2 ul li dl dd {width: 13px;line-height: 1;}
@media only screen and ( max-width : 1024px ) {
	#products .block2 ul {grid-template-columns: repeat(3, 1fr);}
}
@media only screen and ( max-width : 767px ) {
	#products .block2 ul {grid-template-columns: repeat(2, 1fr);}
}
/*--------------------------------------------------

	Products single │ 製品紹介

--------------------------------------------------*/
#products_sg .inner {display: flex;justify-content: space-between;gap: 20px;}
#products_sg .block .main_container {
	max-width: 800px;
	margin-bottom: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
}
#products_sg .block .main_container ul.tag {justify-content: flex-start;gap: 5px 30px;margin-bottom: 40px;}
#products_sg .block .main_container ul.tag li {border: 1px solid #707070;line-height: 1;letter-spacing: .05em;}
#products_sg .block .main_container ul.tag li a {padding: 8px 10px;}
#products_sg .block .main_container .title_wrap {margin-bottom: 20px;}
#products_sg .block .main_container .title_wrap p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#products_sg .block .main_container .title_wrap h2 {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
#products_sg .block .main_container .title_wrap h2 span {
	padding-left: 10px;
	border-bottom: 1px solid #707070;
	border-left: 5px solid #3A67B1;
	font-weight: bold;
	font-size: clamp(20px, calc(18px + 20 * ((100vw - 375px) / 1545)), 28px);
	letter-spacing: .05em;
	line-height: 1.4;
}
#products_sg .block .main_container .title_wrap ul {justify-content: flex-start;gap: 5px 20px;}
#products_sg .block .main_container .title_wrap ul li {
	padding: 4px 25px;
	border-radius: 6px;
	background: #0057A5;
	color: #fff;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	text-align: center;
}
#products_sg .block .main_container .slider_wrap {
	max-width: 500px;
	margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
}
#products_sg .block .main_container .slider_wrap .main-slider {width: 70%;margin-bottom: 15px;}
#products_sg .block .main_container .slider_wrap .main-slider .splide__arrow {top: 50%;}
#products_sg .block .main_container .slider_wrap .main-slider .splide__arrow--prev {left: -17%;width: 40px;height: 40px;}
#products_sg .block .main_container .slider_wrap .main-slider .splide__arrow--next {right: -17%;width: 40px;height: 40px;}
#products_sg .block .main_container .slider_wrap .thumb-slider .splide__list {display: flex;}
#products_sg .block .main_container .slider_wrap .thumb-slider .splide__slide {opacity: 0.6;transition: opacity 0.3s ease;}
#products_sg .block .main_container .slider_wrap .thumb-slider .splide__slide.is-active {opacity: 1;}
#products_sg .block .main_container .txt_wrap {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#products_sg .block .main_container .txt_wrap h3 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: clamp(18px, calc(16px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .05em;
}
#products_sg .block .main_container .txt_wrap p {
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .05em;
}
#products_sg .block .main_container .detail_wrap {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#products_sg .block .main_container .detail_wrap table {width: 46%;}
#products_sg .block .main_container .detail_wrap table tr {
	display: block;
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#products_sg .block .main_container .detail_wrap table tr:last-child {margin-bottom: 0;}
#products_sg .block .main_container .detail_wrap table tr th {width: 85px;font-weight: bold;letter-spacing: .05em;}
#products_sg .block .main_container .detail_wrap table tr td {position: relative;padding-left: 20px;}
#products_sg .block .main_container .detail_wrap table tr td::before {content: '：';position: absolute;left: 0;}
#products_sg .block .main_container a.online {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	max-width: 385px;
	margin: 0 auto;
	padding: 18px 0;
	border-radius: 30px;
	background: #10398E;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
#products_sg .block .main_container a.online:hover {background: #3A67B1;}
#products_sg .block .main_container a.online img {width: 22px;}
#products_sg .block .sub_container {
	max-width: 800px;
	margin-bottom: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
}
#products_sg .block .sub_container:last-child {margin-bottom: 0;}
#products_sg .block .sub_container h3 {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 5px;
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 10 * ((100vw - 375px) / 1545)), 32px);
	letter-spacing: .05em;
}
#products_sg .block .sub_container h3::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(#081A40, #079DD9);
}
#products_sg .block .sub_container ul.features {display: grid;grid-template-columns: repeat(2, 1fr);gap: 35px 50px;}
#products_sg .block .sub_container ul.features li {
	position: relative;
	padding: 30px 20px 30px 80px;
	border-radius: 10px;
	background: #F4F7F8;
	font-size: clamp(13px, calc(13px + 2 * ((100vw - 375px) / 1545)), 15px);
	letter-spacing: .05em;
}
#products_sg .block .sub_container ul.features li::before {
	content: '';
	display: block;
	position: absolute;
	left: 35px;
	width: 20px;
	height: 15px;
	border-left: 5px solid #023059;
	border-bottom: 5px solid #023059;
	transform: rotate(-45deg);
}
#products_sg .block .sub_container ul.used {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
#products_sg .block .sub_container ul.used li {position: relative;}
#products_sg .block .sub_container ul.used li figure {overflow: hidden;}
#products_sg .block .sub_container ul.used li figure img {
	height: clamp(150px, calc(50px + 50 * ((100vw - 375px) / 1545)), 200px);
	object-fit: cover;
	transition: .5s;
}
#products_sg .block .sub_container ul.used li:hover figure img {transform: scale(1.1);}
#products_sg .block .sub_container ul.used li figure figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 8px 30px;
	background: rgba(0, 0, 0, 54%);
	color: #fff;
	font-weight: bold;
	text-align: center;
}
#products_sg .block .sub_container ul.connection {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px 80px;}
#products_sg .block .sub_container ul.connection li {position: relative;transition: .5s;}
#products_sg .block .sub_container ul.connection li:hover {opacity: .7;}
#products_sg .block .sub_container ul.connection li figure {margin-bottom: 5px;}
#products_sg .block .sub_container ul.connection li p {color: #2D6E98;font-weight: bold;letter-spacing: .05em;}
@media only screen and ( max-width : 767px ) {
	#products_sg .block .main_container .detail_wrap table {
		width: 100%;
		margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	}
	#products_sg .block .main_container .detail_wrap table:last-child {margin-bottom: 0;}
	#products_sg .block .sub_container ul.features {grid-template-columns: repeat(1, 1fr);gap: 20px;}
	#products_sg .block .sub_container ul.used {grid-template-columns: repeat(2, 1fr);}
	#products_sg .block .sub_container ul.connection {gap: 30px;}
}
@media only screen and ( max-width : 500px ) {
	#products_sg .block .sub_container ul.used {grid-template-columns: repeat(1, 1fr);}
}
/*--------------------------------------------------

	Products Main Categories │ 製品紹介 – 大カテゴリー

--------------------------------------------------*/
#products_main .block .main_container {
	max-width: 924px;
	margin-bottom: clamp(70px, calc(70px + 120 * ((100vw - 375px) / 1545)), 190px);
}
#products_main .block .main_container .title_wrap {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#products_main .block .main_container .title_wrap h2 {
	margin-bottom: 30px;
	padding-left: 10px;
	border-left: 5px solid #3A67B1;
	font-weight: bold;
	font-size: clamp(28px, calc(28px + 20 * ((100vw - 375px) / 1545)), 48px);
	letter-spacing: .05em;
}
#products_main .block .main_container .wrap dl {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#products_main .block .main_container .wrap dl:last-child {margin-bottom: 0;}
#products_main .block .main_container .wrap dl dt {width: 20%;}
#products_main .block .main_container .wrap dl dd {width: 76%;}
#products_main .block .main_container .wrap dl dd h3 {
	margin-bottom: 15px;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#products_main .block .main_container .wrap dl dd p {margin-bottom: 30px;}
#products_main .block .main_container .wrap dl dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 13px;
	width: 156px;
	margin-left: auto;
	padding: 10px 0;
	border: 1px solid #2D6E98;
	color: #2D6E98;
	letter-spacing: .028em;
	text-align: center;
}
#products_main .block .main_container .wrap dl dd a img {width: 12px;}
#products_main .block .other_container {max-width: 924px;}
#products_main .block .other_container h3 {
	margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	padding-left: 10px;
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 10 * ((100vw - 375px) / 1545)), 32px);
	letter-spacing: .05em;
}
#products_main .block .other_container ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 55px 7%;}
#products_main .block .other_container ul li {position: relative;}
#products_main .block .other_container ul li figure {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding: 10%;
	box-shadow: 12px 9px 25px rgba(0, 0, 0, 16%);
	border-radius: 20px;
	background: #fff;
	text-align: center;
	transition: .3s;
}
#products_main .block .other_container ul li:hover figure {box-shadow: 2px 2px 10px rgba(0, 0, 0, 16%);}
#products_main .block .other_container ul li figure img {width: auto;max-width: none;height: 7vw;}
#products_main .block .other_container ul li dl {display: flex;}
#products_main .block .other_container ul li dl dt {
	flex: 1;
	padding-bottom: 2px;
	border-bottom: 3px solid #C1C1C1;
	color: #002C53;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	text-align: center;
}
#products_main .block .other_container ul li dl dd {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 7px;
	border-bottom: 3px solid #13749B;
	color: #2D6E98;
	font-weight: bold;
	font-size: clamp(12px, calc(12px + 3 * ((100vw - 375px) / 1545)), 15px);
	letter-spacing: .028em;
}
#products_main .block .other_container ul li dl dd img {width: 12px;}
@media only screen and ( max-width : 1024px ) {
	#products_main .block .container2 ul {grid-template-columns: repeat(2, 1fr);}
	#products_main .block .other_container ul li figure img {height: 10vw;}
}
@media only screen and ( max-width : 500px ) {
	#products_main .block .main_container .wrap dl dt {width: 100%;margin-bottom: 20px;}
	#products_main .block .main_container .wrap dl dd {width: 100%;}
	#products_main .block .container2 ul {grid-template-columns: repeat(1, 1fr);}
	#products_main .block .other_container ul {grid-template-columns: repeat(2, 1fr);}
	#products_main .block .other_container ul li figure img {height: 20vw;}
}
/*--------------------------------------------------

	Products Subcategories │ 製品紹介 - サブカテゴリー

--------------------------------------------------*/
#products_sub .block .main_container ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 70px 30px;}
#products_sub .block .main_container ul li {position: relative;}
#products_sub .block .main_container ul li figure {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);transition: .3s;}
#products_sub .block .main_container ul li:hover figure {transform: scale(1.1);}
#products_sub .block .main_container .product-group:not(:last-child) {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#products_sub .block .main_container .title_wrap {margin-bottom: 40px;}
#products_sub .block .main_container .title_wrap p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(24px, calc(24px + 10 * ((100vw - 375px) / 1545)), 32px);
	letter-spacing: .05em;
}
#products_sub .block .main_container .title_wrap h2 {
	padding-left: 10px;
	border-left: 5px solid #3A67B1;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#products_sub .block .main_container ul li h3 {
	margin-bottom: clamp(5px, calc(5px + 5 * ((100vw - 375px) / 1545)), 10px);
	font-weight: bold;
	font-size: clamp(12px, calc(12px + 4 * ((100vw - 375px) / 1545)), 16px);
	letter-spacing: .05em;
	text-align: center;
}
#products_sub .block .main_container ul li p {
	font-size: clamp(10px, calc(10px + 4 * ((100vw - 375px) / 1545)), 14px);
	letter-spacing: .05em;
	text-align: center;
}
@media only screen and ( max-width : 1024px ) {
	#products_sub .block .main_container ul {grid-template-columns: repeat(3, 1fr);}
}
@media only screen and ( max-width : 500px ) {
	#products_sub .block .main_container ul {grid-template-columns: repeat(2, 1fr);}
}
/*--------------------------------------------------

	Products Scene │ 使用シーン別 - 製造現場での作業に

--------------------------------------------------*/
#products_scene .block .main_container {margin-bottom: clamp(70px, calc(70px + 120 * ((100vw - 375px) / 1545)), 190px);}
#products_scene .block .main_container h2.title {font-weight: bold;}
#products_scene .block .main_container figure {
	max-width: 455px;
	margin-bottom: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
}
#products_scene .block .main_container .wrap {max-width: 924px;}
#products_scene .block .main_container .wrap dl {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#products_scene .block .main_container .wrap dl:last-child {margin-bottom: 0;}
#products_scene .block .main_container .wrap dl dt {width: 20%;}
#products_scene .block .main_container .wrap dl dd {width: 76%;}
#products_scene .block .main_container .wrap dl dd h3 {
	margin-bottom: 15px;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#products_scene .block .main_container .wrap dl dd p {margin-bottom: 30px;}
#products_scene .block .main_container .wrap dl dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 13px;
	width: 156px;
	margin-left: auto;
	padding: 10px 0;
	border: 1px solid #2D6E98;
	color: #2D6E98;
	letter-spacing: .028em;
	text-align: center;
}
#products_scene .block .main_container .wrap dl dd a img {width: 12px;}
#products_scene .block .other_container ul h2.title {font-weight: bold;}
#products_scene .block .other_container ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 40px 30px;}
#products_scene .block .other_container ul li {position: relative;}
#products_scene .block .other_container ul li figure {overflow: hidden;}
#products_scene .block .other_container ul li figure img {transition: .5s;}
#products_scene .block .other_container ul li:hover figure img {transform: scale(1.1);}
#products_scene .block .other_container ul li dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px 24px;
	background: rgba(0, 0, 0, 50%);
}
#products_scene .block .other_container ul li dl dt {font-weight: bold;color: #fff; font-size: 13px;}
#products_scene .block .other_container ul li dl dd {width: 13px;line-height: 1;}
@media only screen and ( max-width : 1024px ) {
	#products_scene .block .other_container ul {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and ( max-width : 500px ) {
	#products_scene .block .main_container .wrap dl dt {width: 100%;margin-bottom: 20px;}
	#products_scene .block .main_container .wrap dl dd {width: 100%;}
	#products_scene .block .other_container ul {grid-template-columns: repeat(1, 1fr);}
}
/*-------------------------------------------------

	Privacy Policy │ プライバシーポリシー

--------------------------------------------------*/
.policy_common .block .pr_wrap {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
.policy_common .block .container:not(:last-child) {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
.policy_common .block .container h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-left: 15px;
	border-left: 8px solid #3A67B1;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	line-height: 2;
}
#privacy_policy .block .container .wrap {margin-bottom: 20px;}
#privacy_policy .block .container ol {margin-left: 20px;}
#privacy_policy .block .container ol li {list-style-type: decimal;}
/*-------------------------------------------------

	Catalog │ カタログ一覧

--------------------------------------------------*/
#catalog ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px; max-width: 800px;}
#catalog ul li {position: relative;transition: .3s;}
#catalog ul li:hover {opacity: .5;}
#catalog ul li figure figcaption {margin-top: 20px;text-align: center;}
@media only screen and ( max-width : 500px ) {
	#catalog ul {grid-template-columns: 1fr}
}