@charset "utf-8";

/* -------------------------------------------------- */
/* RESET*/
/* -------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

li {
	list-style-type: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	vertical-align: bottom;
}

textarea, select, option {
	font: inherit;
}

/* -------------------------------------------------- */
/* LINK */
/* -------------------------------------------------- */
a {
	transition: all .3s;
	text-decoration: none;
}

a:link,
a:visited {
	text-decoration: none;
	color: inherit;
}

a:hover {
	text-decoration: none;
	color: inherit;
}

a:active {
	text-decoration: none;
	color: inherit;
}

/* -------------------------------------------------- */
/* COMMON */
/* -------------------------------------------------- */
html {
	font-size: 62.5%;
	/* 10px */
}

body {
	background: #FFFFFF;
	color: #333333;
	font-size: 14px;
	font-size: 1.4rem;
}

#container {
	position: relative;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

img {
	display: block;
	max-width: 100%;
}

/* レイアウト */
/* -------------------------------------------------- */
.inner {
	width: 1000px;
	max-width: 92%;
	margin: 0 auto;
}

.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

/* フォント */
/* -------------------------------------------------- */
.sectionTtl {
	width: 400px;
	max-width: 100%;
	margin-bottom: 28px;
	background: linear-gradient(transparent 50%, rgba(62, 176, 73, .3) 0%);
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: .3em;
	line-height: 2;
	font-style: italic;
}

.ttlCenter {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}

.sectionLead {
	font-size: 2.8rem;
	font-weight: bold;
}

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.sp {
	display: none;
}

/* ヘッダー */
/* -------------------------------------------------- */
header {
	height: 100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: #FFFFFF;
	position: sticky;
	top: 0;
	z-index: 50;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, .1);
}

#headerWrap {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#headerLogo {
	max-width: 45%;
}

#headerLogo a {
	display: block;
}

#headerLogo a:hover,
#headerLogo a:active {
	opacity: .8;
}

.gnavItem:not(:last-child)::after {
	display: inline-block;
	content: "";
	width: 1px;
	height: 1em;
	margin: 0 1em;
	background: #141414;
	vertical-align: middle;
}

.gnavItem a {
	color: #141414;
	letter-spacing: .02em;
}

.gnavItem a:hover,
.gnavItem a:active {
	color: #3EB049;
}

/* ハンバーガーメニュー */
#hamburger {
	width: 30px;
	height: 23px;
	z-index: 200;
	position: relative;
	cursor: pointer;
}

#hamburger span {
	display: inline-block;
	transition: all .3s;
	position: absolute;
	left: 0;
	height: 3px;
	border-radius: 2px;
	background: #000000;
	width: 100%;
}

#hamburger span:nth-of-type(1) {
	top: 0;
}

#hamburger span:nth-of-type(2) {
	top: calc(50% - 1px);
}

#hamburger span:nth-of-type(3) {
	bottom: 0;
}

#hamburger.active span {
	background: #FFFFFF;
}

#hamburger.active span:nth-of-type(1) {
	top: 18%;
	transform: translateY(6px) rotate(-45deg);
}

#hamburger.active span:nth-of-type(2) {
	opacity: 0;
}

#hamburger.active span:nth-of-type(3) {
	bottom: 18%;
	transform: translateY(-6px) rotate(45deg);
}

/* メインビジュアル */
/* -------------------------------------------------- */
#mv {
	height: calc(100vh - 100px);
	position: relative;
}

#mv::before {
	display: block;
	content: "";
	width: 62.5%;
	height: 100%;
	background: url(./img/mv01.jpg) no-repeat top left / cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#mv::after {
	display: block;
	content: "";
	width: 37.5%;
	height: 100%;
	background: url(./img/mv02.jpg) no-repeat top right / cover;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}

#mvInner {
	padding-top: 58px;
	padding-bottom: 437px;
/*	position: relative;*/
	z-index: 5;
}

#mvLogo {
	width: 21%;
	position: absolute;
	left: 0;
	bottom: 31px;
}

#mvLogo img {
	width: 100%;
}

#sdgsLogo img {
	max-width: 54%;
	margin-left: auto;
}

#sdgsTxt {
	margin-bottom: 15px;
	color: #FFFFFF;
	/* font-size: 6.4rem; */
	font-size: 3.333vw;
	font-weight: bold;
	line-height: 1.25;
	text-align: right;
	letter-spacing: .02em;
}

#sdgsTxt span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 0 100px 0 48px;
	background: #3EB049;
}

/* お問い合わせ */
/* -------------------------------------------------- */
.contactBox {
	background-color: rgba(0, 0, 0, .2);
	background-image: linear-gradient(-45deg,
			#fff 25%, transparent 25%,
			transparent 50%, #fff 50%,
			#fff 75%, transparent 75%,
			transparent);
	background-size: 5px 5px;
	position: relative;
}

.contactBox::after {
	display: block;
	content: "";
	width: 1100px;
	max-width: 80%;
	height: 100%;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) skewX(-20deg);
}

.contactInner {
	width: 1100px;
	padding: 35px 0 51px;
	font-weight: bold;
	text-align: center;
	color: #1B1B1B;
	position: relative;
	z-index: 5;
}

.contactInner::before,
.contactInner::after {
	display: block;
	content: "";
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, #E43D3DFE 0%, #F0E86CFE 25%, #4CBB3DFE 50%, #4772C8 75%, #826ED5 100%);
	background: -ms-linear-gradient(left, #E43D3DFE 0%, #F0E86CFE 25%, #4CBB3DFE 50%, #4772C8 75%, #826ED5 100%);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.contactInner::before {
	top: 10px;
}

.contactInner::after {
	bottom: 10px;
}

.contactTtl {
	margin-bottom: 20px;
	font-size: 4rem;
	letter-spacing: .3em;
	font-style: italic;
}

.contactLead {
	margin-bottom: 15px;
	font-size: 1.5rem;
	letter-spacing: .1em;
}

.contactTelNum {
	line-height: 1;
	width: fit-content;
	margin: 0 auto;
}

.contactTelNum .telLink {
	display: inline-block;
	font-size: 7.2rem;
	letter-spacing: .06em;
	color: #eb6100;
	font-family: "Barlow Condensed";
}

.contactTelNum .telLink::before {
	display: inline-block;
	margin-right: 18px;
	content: url(./img/icon_tel.png);
}

.contactTelNum .telHour {
	display: block;
	padding-top: 10px;
	text-align: left;
}

/* 事業案内 */
/* -------------------------------------------------- */
#business {
	margin-top: -50px;
	padding-top: calc(89px + 50px);
	padding-bottom: 43px;
}

#businessList {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	column-gap: 2%;
}

.businessItem {
	width: 32%;
}

.businessItem img {
	margin-bottom: 14px;
}

.businessItem figcaption {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .1em;
	text-align: center;
}

/* 製品 */
/* -------------------------------------------------- */
#product {
	margin-top: -50px;
	padding-top: calc(42px + 50px);
	padding-bottom: 100px;
	letter-spacing: .1em;
}

#productLead {
	margin-bottom: 9px;
	line-height: 1.42;
}

#productLead img {
	display: inline-block;
	margin: 0 .5em;
	vertical-align: baseline;
}

#productTxt {
	margin-bottom: 20px;
	font-size: 1.5rem;
}

#productList {
	margin-bottom: 50px;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	column-gap: 2%;
	row-gap: 40px;
}

.productItem {
	width: 48%;
	font-weight: bold;
	position: relative;
}

.productItem:first-child {
	border: 4px solid #3EB049;
	font-size: 1.5rem;
}

#productItemLead {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #3EB049;
	font-size: 2.3rem;
	white-space: nowrap;
}

.productItem figcaption {
	display: inline-block;
	padding: 7px 15px 9px;
	margin-bottom: 5px;
	background: #3EB049;
	color: #FFFFFF;
	font-size: 1.5rem;
	/* position: absolute;
	left: -5px;
	bottom: -20px; */
}

.productItem img {
	width: 100%;
	margin-bottom: 10px;
}

.productItemTxt {
	font-weight: normal;
	/* overflow-wrap: break-word;
	word-break: keep-all; */
}

#productInfo {
	padding: 25px 31px 30px;
	border: 2px solid #3DA1DE;
}

#productInfoTit {
	font-size: 2rem;
	font-weight: bold;
	padding-bottom: 15px;
}

.movie {
	padding-top: 56.25%;
	padding-bottom: 10px;
	position: relative;
}

.movie iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.quotation {
	text-align: right;
	padding-bottom: 20px;
}

.quotation a {
	font-weight: bold;
}

.quotation a:hover {
	text-decoration: underline;
}

.movie video {
	width: 100%;
	height: auto;
}

#productInfoTxt {
	font-size: 1.5rem;
}

#productInfoLink {
	width: 400px;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

#productInfoLink a {
	display: block;
	width: 100%;
	padding: 16px 15px 21px;
	background: #3DA1DE;
	color: #FFFFFF;
}

#productInfoLink a:hover,
#productInfoLink a:active {
	opacity: .8;
}

.linkBtnW a::after {
	display: inline-block;
	content: url(./img/icon_link_w.png);
	margin-left: 10px;
	vertical-align: middle;
}

/* 会社概要 */
/* -------------------------------------------------- */
#company {
	margin-top: -50px;
	padding-top: calc(88px + 50px);
	padding-bottom: 44px;
}

.sectionTable {
	display: block;
	width: 100%;
	padding: 10px;
	background: #F9F9F9;
	font-size: 1.5rem;
	letter-spacing: .1em;
	border-collapse: separate;
	border-spacing: 10px;
}

.sectionTable th {
	width: 300px;
	padding: 29px 10px;
	background: #535353;
	color: #FFFFFF;
	font-weight: bold;
	vertical-align: middle;
}

.sectionTable td {
	padding: 10px 10px 10px 72px;
	vertical-align: middle;
	line-height: 1.8;
}

#companyOffice span {
	display: inline-block;
	width: 121px;
}

#companyPrefecture {
	column-gap: 1em;
}

.sectionTable a {
	color: #3EB049;
	text-decoration: underline;
	font-weight: bold;
}

.sectionTable a:hover,
.sectionTable a:active {
	text-decoration: none;
}

/* 取り組み */
/* -------------------------------------------------- */
#effort {
	margin-top: -100px;
	padding-top: calc(44px + 100px);
	padding-bottom: 46px;
	letter-spacing: .1em;
}

#effortLead {
	margin-bottom: 45px;
	padding: 42px 60px;
	position: relative;
}

@media screen and (min-width: 1025px)and (max-width: 1060px) {
	#effortLead {
		font-size: 2.7rem;
	}
}

#effortLead::before,
#effortLead::after {
	display: block;
	content: "";
	width: 50px;
	height: 100%;
	border-top: 2px solid #3EB049;
	border-bottom: 2px solid #3EB049;
	border-image: linear-gradient(#3EB049 30%, transparent 31%, transparent 70%, #3EB049 71%);
	border-image-slice: 1;
	position: absolute;
	top: 0;
}

#effortLead::before {
	border-left: 2px solid #3EB049;
	left: 0;
}

#effortLead::after {
	border-right: 2px solid #3EB049;
	right: 0;
}

#effortList {
	margin-bottom: 40px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	column-gap: 2%;
}

.effortItem {
	width: 32%;
}

.effortItemTtl {
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 2px solid #3EB049;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	position: relative;
}

.effortItemTtl::after {
	display: block;
	content: "";
	width: 15px;
	height: 15px;
	border-bottom: 2px solid #3EB049;
	border-right: 2px solid #3EB049;
	background: #FFFFFF;
	position: absolute;
	bottom: -10px;
	right: 24%;
	transform: rotate(45deg);
}

.effortItemThumb iframe {
	aspect-ratio: 16/10;
}

#effortSupportTtl {
	margin-bottom: 32px;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .3em;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#effortSupportTtl::before,
#effortSupportTtl::after {
	display: block;
	content: "";
	height: 2px;
	background: #3EB049;
	flex-grow: 1;
}

#effortSupportTtl::before {
	margin-right: 1em;
}

#effortSupportTtl::after {
	margin-left: 1em;
}

#effortSupportList {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 8%;
}

.effortSupportItem {
	width: 46%;
	font-size: 1.5rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.effortSupportLogo {
	margin-bottom: 10px;
}

.effortSupportTxt {
	margin-bottom: 5px;
}

.effortSupportLink {
	font-weight: bold;
	text-align: right;
	text-decoration: underline;
	color: #000000;
}

.effortSupportLink a {
	color: #000000;
}

.effortSupportLink a:hover,
.effortSupportLink a:active {
	color: #3EB049;
}

.LinkBtnB a::after {
	display: inline-block;
	content: url(./img/icon_link_b.png);
	margin-left: .5em;
	vertical-align: middle;
}

/* お知らせ */
/* -------------------------------------------------- */
#news {
	margin-top: -100px;
	padding-top: calc(45px + 100px);
	padding-bottom: 100px;
}

.newsItem:not(:last-child) {
	margin-bottom: 5px;
}

.newsTtlBox {
	background: #F9F9F9;
	padding: 25px 20px 18px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
}

.newsTtlBox::after {
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	border-bottom: 2px solid #3EB049;
	border-right: 2px solid #3EB049;
	position: absolute;
	top: 35%;
	right: 30px;
	transform: rotate(45deg);
}

.newsTtlBox.close::after {
	transform: rotate(-135deg);
	top: 45%;
}

.newsTtlBox time {
	display: inline-block;
	margin-right: 8px;
	font-size: 1.4rem;
}

.newsCat {
	display: inline-block;
	padding: 0 11px;
	background: #535353;
	color: #FFFFFF;
	font-size: 1.2rem;
	line-height: 22px;
}

.newsItemTtl {
	margin-top: 10px;
	font-size: 1.8rem;
}

.newsContentBox {
	display: none;
	padding: 15px 0 20px;
}

/* フッター */
/* -------------------------------------------------- */
footer {
	padding-top: 30px;
	padding-bottom: 25px;
	background: #3EB049;
	color: #FFFFFF;
	letter-spacing: .1em;
}

#footerWrap {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#footerLogo {
	margin-bottom: .25em;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
}

.footerInfoTxt {
	font-size: 1.6rem;
}

.footerInfoTxt a {
	color: #FFFFFF;
}

#footerNavBox {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.footerNavItem:not(:last-child)::after {
	display: inline-block;
	content: "";
	width: 1px;
	height: 1em;
	margin: 0 1em;
	background: #FFFFFF;
	vertical-align: middle;
}

.footerNavItem a {
	display: inline-block;
	color: #FFFFFF;
}

.footerNavItem a:hover,
.footerNavItem a:active {
	text-decoration: underline;
}

#copyright {
	text-align: right;
}

/* -------------------------------------------------- */
/* IE対応 */
/* -------------------------------------------------- */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.contactInner::before, .contactInner::after {
		background: url(./img/border_rainbow.png) no-repeat center / cover;
	}

	.contactTelNum .telHour {
		max-width: 461px;
		margin: auto;
	}

	.productItem {
		margin-bottom: 40px;
	}

	#companyPrefecture li:not(:last-child) {
		margin-right: 1em;
	}

	#effortLead {
		font-size: 2.7rem;
	}

	.effortItemThumb iframe {
		height: 200px;
	}
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	/* フォント */
	/* -------------------------------------------------- */
	.sectionLead {
		font-size: 2.3rem;
	}

	/* ヘッダー */
	/* -------------------------------------------------- */
	header {
		height: 50px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	/* スマホ用ナビゲーション */
	#gnav {
		width: 70%;
		position: fixed;
		z-index: 100;
		right: -120%;
		top: 0;
		height: 100vh;
		transition: all 0.6s;
	}

	#gnav.panelactive {
		right: 0;
	}

	#gnav::before {
		content: "";
		transition: all 0.6s;
		background: none;
	}

	#gnav.panelactive::before {
		display: block;
		content: "";
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, .8);
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#gnavWrap {
		width: 100%;
		height: 100%;
		background: #3EB049;
	}

	#gnavList {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		position: absolute;
		z-index: 100;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.gnavItem {
		text-align: center;
	}

	.gnavItem:not(:last-child)::after {
		display: none;
	}

	.gnavItem a {
		display: block;
		padding: 10px;
		font-size: 1.8rem;
		font-weight: bold;
		color: #FFFFFF;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}

	/* メインビジュアル */
	/* -------------------------------------------------- */
	#mv {
		height: calc(100vh - 50px);
		background: url(./img/mv01.jpg) no-repeat top center / cover;
	}

	#mv::before,
	#mv::after {
		display: none;
	}

	#mvInner {
		padding-bottom: 300px;
	}

	#sdgsTxt {
		font-size: 5vw;
	}

	#sdgsLogo img {
		max-width: 80%;
	}

	#mvLogo {
		width: auto;
		max-width: 40%;
	}

	/* 事業案内 */
	/* -------------------------------------------------- */
	#businessList {
		flex-wrap: wrap;
		row-gap: 40px;
	}

	.businessItem {
		width: 100%;
	}

	.businessItem img {
		margin: 0 auto 10px;
	}

	/* 製品 */
	/* -------------------------------------------------- */
	#productTxt {
		margin-bottom: 50px;
	}

	#productList {
		column-gap: 2%;
	}

	/* .productItem {
		width: 32%;
	}

	.productItem:first-child {
		width: 100%;
	}

	.productItem img {
		margin: auto;
	} */

	#productItemLead {
		padding: 15px;
		position: inherit;
		text-align: center;
	}

	/* 会社概要 */
	/* -------------------------------------------------- */
	.sectionTable {
		padding: 20px;
	}

	.sectionTable tbody {
		display: block;
		width: 100%;
	}

	.sectionTable tr {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.sectionTable th {
		display: block;
		width: 100%;
	}

	.sectionTable td {
		padding: 10px 20px 30px;
	}

	/* 取り組み */
	/* -------------------------------------------------- */
	#effortSupportTtl::before {
		margin-right: .5em;
	}

	#effortSupportTtl::after {
		margin-left: .5em;
	}

	#effortList {
		margin-bottom: 80px;
		flex-wrap: wrap;
		row-gap: 40px;
	}

	.effortItem {
		width: 100%;
	}

	.effortItemThumb img {
		margin: auto;
	}

	#effortSupportList {
		flex-wrap: wrap;
		row-gap: 40px;
	}

	.effortSupportItem {
		width: 100%;
	}

	.effortSupportLogo img {
		margin: auto;
	}

	/* フッター */
	/* -------------------------------------------------- */
	#footerWrap {
		width: fit-content;
		margin: auto;
		flex-direction: column;
		row-gap: 40px;
	}

	#footerNavBox {
		row-gap: 30px;
		align-items: center;
	}
}

/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {

	/* レイアウト */
	/* -------------------------------------------------- */
	.section {
		margin-top: -50px !important;
		padding-top: calc(30px + 50px) !important;
		padding-bottom: 30px !important;
	}

	/* フォント */
	/* -------------------------------------------------- */
	.sectionTtl {
		font-size: 2.8rem;
	}

	.sectionLead {
		font-size: 2rem;
	}

	/* ヘッダー */
	/* -------------------------------------------------- */
/*
	header {
		padding: 15px 0;
	}
*/

	#gnav {
		width: 100%;
	}

	/* メインビジュアル */
	/* -------------------------------------------------- */
	#mvInner {
		padding-top: 30px;
		padding-bottom: 150px;
	}

	#sdgsTxt span {
		padding: 0 40px 0 20px;
	}

	#mvLogo {
		bottom: 100px;
	}

	/* お問い合わせ */
	/* -------------------------------------------------- */
	.contactBox {
		background: #FFFFFF;
	}

	.contactBox::after {
		display: none;
	}

	.contactTtl {
		margin-bottom: 10px;
		font-size: 2.8rem;
	}

	.contactTelNum .telLink {
		font-size: 4rem;
	}

	.contactTelNum .telLink::before {
		content: "";
		width: 30px;
		height: 30px;
		margin-right: 10px;
		background: url(./img/icon_tel_sp.png) no-repeat center / cover;
	}

	/* 事業案内 */
	/* -------------------------------------------------- */
	.businessItem figcaption {
		font-size: 1.8rem;
	}

	#businessList {
		row-gap: 30px;
	}

	/* 製品 */
	/* -------------------------------------------------- */
	#productLead {
		margin-bottom: 15px;
	}

	#productLead img {
		max-width: 4em;
	}

	.productItem {
		width: 100%;
	}

	#productItemLead {
		font-size: 1.5rem;
	}

	/* .productItem figcaption {
		padding: 5px 10px;
		font-size: 1.3rem;
	} */

	#productInfo {
		padding: 20px;
	}

	#productInfoLink a {
		padding: 10px;
	}

	/* 会社概要 */
	/* -------------------------------------------------- */
	.sectionTable {
		padding: 10px;
	}

	.sectionTable th {
		padding: 10px;
	}

	.sectionTable td {
		padding: 10px 10px 20px;
	}

	#companyOffice span {
		display: block;
	}

	#companyOffice li:not(:last-child) {
		margin-bottom: 10px;
	}

	#companyPrefecture {
		flex-wrap: wrap;
		justify-content: center;
	}

	/* 取り組み */
	/* -------------------------------------------------- */
	#effortLead {
		padding: 20px;
	}

	.effortItemTtl {
		font-size: 1.5rem;
	}

	#effortSupportTtl {
		font-size: 1.8rem;
	}

	#effortSanpai img {
		max-width: 300px;
	}

	#effortSdgs img {
		max-width: 200px;
	}

	/* お知らせ */
	/* -------------------------------------------------- */
	.newsTtlBox {
		padding: 10px 30px 10px 10px;
	}

	.newsItemTtl {
		font-size: 1.5rem;
	}

	.newsTtlBox::after {
		width: 10px;
		height: 10px;
		right: 15px;
	}

	/* フッター */
	/* -------------------------------------------------- */
	#footerNavList {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 8px;
	}
}

@media screen and (max-width: 374px) {
	html {
		font-size: 2.667vw;
	}
}

/* 2022.09.05 追加
------------------------------------ */
#productItemLeadSp,
#productSlide {
  display: none;
}

.effortItemYoutubeLink {
  display: none;
}

@media screen and (max-width: 767px) {
  /* 製品 */
  #productSlide {
    margin-bottom: 50px;
    display: block;
  }

  #productList {
    display: none;
  }

  #productItemLeadSp {
    margin-bottom: 40px;
    padding: 15px;
    display: block;
    position: relative;
    font-size: 1.5rem;
    text-align: center;
    font-weight: bold;
    color: #3EB049;
    border: 4px solid #3EB049;
  }

  .productItem {
    position: absolute;
  }

  .productItem:first-child {
    border: none;
    font-size: inherit;
  }

  /* 取り組み */
  #effortSlide {
    margin-bottom: 50px;
  }

  #effortList {
    margin-bottom: 0;
    display: block;
  }

  .effortItemYoutubeLink {
    display: block;
  }

  .effortItemThumb iframe {
    display: none;
  }

  /* スライダー調整 */
  .sp-button {
    width: 12px;
    height: 12px;
    margin: 8px;
    border: 2px solid #3EB049;
  }

  .sp-selected-button {
    background-color: #3EB049;
  }
}
/* ここまで
------------------------------------ */