@charset "utf-8";

/** margin-bottom **/
.mb0{margin-bottom: 0 !important;}
.mb10{margin-bottom: 10px !important;}
.mb15{margin-bottom: 15px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb50{margin-bottom: 50px !important;}
.mb60{margin-bottom: 60px !important;}
.mb70{margin-bottom: 70px !important;}
.mb80{margin-bottom: 80px !important;}
.mb90{margin-bottom: 90px !important;}
.mb100{margin-bottom: 100px !important;}

.indentTxt {
	text-indent: -1.1em;
	padding-left: 1.1em;
}

.alignCenter {
	text-align: center;
}

.alignRight {
	text-align: right;
}

.redCaution {
	color: #ff0000;
}

.noned {
  display: none;
}

@media(min-width: 1024px){
  
	a[href^="tel:"]{
    	pointer-events: none;
	}
	
}

.sdgsCase {
	background:url(../image/job/job_mainbg.jpg) top left repeat;
	background-size: auto;
}


/* titleArea */


.titleArea {
	background: url(../image/common/title_main_bg.jpg) left top no-repeat;
	background-size: cover;
	box-sizing: border-box;
	height: 600px;
	position: relative;
	padding: 80px 0;
}


.titleArea.sustPage::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../image/sustainability/sdgs_title_bg.png) left center no-repeat;
	background-size: 100% auto;
	content: '';
	z-index: 1;
}

.titleInner {
	width: 1260px;
	max-width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.pageRela {
	position: relative;
	padding-bottom: 10px;
}

.pageTitle {
	font-weight: 600;
	font-size: 54rem;
	line-height: 1.0;
	color: #222222;
	position: relative;
	z-index: 4;
	letter-spacing: .05em;
}

.pageSub {
	position: absolute;
	left: 0;
	bottom: -15px;
	z-index: 3;
}

.contInner {
	width: 1350px;
	max-width: 90%;
	margin: 0 auto;
}

.subTitleArea {
	position: relative;
	margin-bottom: 100px;
}

.subTitleJa {
	font-size: 52rem;
	font-weight: 500;
	letter-spacing: .05em;
}

.subTitleEn {
	position: absolute;
	bottom: -20px;
	left: 0;
}

br.pcIn {
	display: inline;
}
br.spIn {
	display: none;
}

@media screen and (max-width: 1024px){

	.titleArea {
		height: 300px;
		padding: 10px 0;
	}

	.titleArea.titleArea.sustPage::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../image/sustainability/sdgs_title_bg.png) right 40% bottom 30px no-repeat;
		background-size: auto 150px;
		content: '';
		z-index: 1;
	}

	.pageSub img {
		max-height: 50px;
	}

	br.pcIn {
		display: none;
	}
	br.spIn {
		display: inline;
	}
}

/*-------------------------------------------------------------------
	business
-------------------------------------------------------------------*/

.sustWrap {
	padding: 100rem 0 150rem;
}

.mainLead {
	font-size: 22rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.8;
	margin: 0 0 80px;
}

.tab-contents{
	background: #fff;
	padding: 100px 40px;
}

.tab-images {
	display: flex;
	justify-content: center;
	margin-bottom: 80rem;
}

.tabimgSame {
	width: 30%;
	text-align: center;
}

.tabimgSame + .tabimgSame {
	margin-left: 3%;
}

.tabTitle {
	margin-bottom: 50rem;
	font-size: 25rem;
	font-weight: 400;
}

.tabImg {
	display: flex;
	min-height: 265px;
	align-items: center;
	justify-content: center;
}

.tabbox {
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #439f37;
	padding: 0 2%;
}

.tabbox .list {
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
	width: 30%;
	color: #b3b3b3;
	font-size: 24rem;
	line-height: 1.0;
	padding: 12px 0 15px;
	text-align: center;
	letter-spacing: -.05em;
}

.tabbox .list + .list {
	margin-left: 3%;
}

.tabbox .list.on {
	background: linear-gradient(to right, #3da700, #80c13f);
	color: #fff;
}

.topPdf {
	text-align: center;
	margin-bottom: 100rem;
}

.topPdf a {
	display: inline-block;
	width: 500px;
	max-width: 100%;
	text-align: center;
	padding: 15px 0 20px;
	font-size: 30rem;
	background: #606060;
	position: relative;
	color: #fff;
}

.topPdf a::after {
	background: url(../image/sustainability/pdf_icon.png) left center no-repeat;
	background-size: cover;
	content: '';
	width: 33px;
	height: 40px;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
}

.topPdf a:hover {
	opacity: 0.7;
}


@media screen and (max-width: 1024px){
	
	.mainLead {
		font-size: 40rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.8;
		margin: 0 0 50px;
	}

	.tab-contents{
		background: #fff;
		padding: 50px 5%;
	}

	.tab-images {
		display: none;
		margin-bottom: 0;
	}


	.tabbox {
		justify-content: space-between;
	}

	.tabbox .list {
		font-size: 30rem;
		width: 32%;
		line-height: 1.0;
		padding: 5px 0;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.4;
	}

	.tabimgSame + .tabimgSame {
		margin-left: 0;
	}

	.tabbox .list.on {
		background: linear-gradient(to right, #3da700, #80c13f);
		color: #fff;
	}

	.tabbox .list span {
		display: inline-block;
		position: relative;
		vertical-align: middle;
	}

	.tabbox .list.on:nth-child(1) span::after,
	.tabbox .list.on:nth-child(2) span::after {
		display: none;
	}

	
	.topPdf {
		margin-bottom: 50rem;
	}


	.topPdf a::after {
		background: url(../image/sustainability/pdf_icon.png) left center no-repeat;
		background-size: 100% auto;
		content: '';
		width: 25px;
		height: 35px;
		position: absolute;
		top: 50%;
		right: 3%;
		transform: translateY(-50%);
	}


}

/* 要素 */

.sectFlex {
	display: flex;
	margin-bottom: 40rem;
}

.iconFlex {
	display: flex;
}

.iconFlex li {
	width: 160px;
	margin-right: 40px;
	flex-shrink: 0;
}

.secText dt {
	font-size: 36rem;
	font-weight: 500;
	margin-bottom: 5rem;
}
.secText dd {
	font-size: 25rem;
	line-height: 1.6;
}
.moreText {
	font-size: 30rem;
}

.photoFlex {
	display: flex;
	margin-bottom: 100rem;
}

.photoFlex.sbCase {
	justify-content: space-between;
}

.photoFlex.endCase {
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 0;
}

.photoFlex li + li {
	margin-left: 60px;
}

.photoFlex.endCase li + li {
	margin-left: 0;
}

.harfFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60rem;
}

.harfSame {
	width: 48%;
}

.endFlex {
	display: flex;
	align-items: flex-end;
}

.endFlex .endLink {
	margin-left: 40px;
}


.endFlex .endLink a {
	display: inline-block;
	color: #fff;
	width: 600px;
	max-width: 100%;
	text-align: center;
	line-height: 1.4;
	padding: 20px 0;
	background: linear-gradient(to right, #3da700, #80c13f);
	border-radius: 9999px;
	font-size: 25rem;
}

.endFlex .endLink a:hover {
	background: linear-gradient(to right, #80c13f, #3da700);
}

.blackLink {
	display: inline-block;
	position: relative;
	background: #000;
	padding: 20px 40px 20px 20px;
	color: #fff;
	font-size: 20rem;
}

.blackLink::after {
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	top: 35%;
	right: 5%;
	transition: all,.3s;
}

.blackLink:hover:after {
	right: 3%;
}

.brownFlex {
	background: #ddc5a4;
	padding: 40px 50px;
	margin-bottom: 100rem;
	display: flex;
	justify-content: space-between;
	font-size: 25rem;
	line-height: 1.6;
}

.brownFlex.endCase {
	align-items: flex-end;
}

.brownSame01 {
	width: 33%;
}
.brownSame02 {
	width: 48%;
}

@media screen and (max-width: 1024px){
	
	.sectFlex {
		display: block;
		margin-bottom: 40rem;
	}

	.iconFlex {
		display: flex;
		margin-bottom: 20rem;
	}

	.iconFlex li {
		width: 30%;
		margin-right: 3%;
		flex-shrink: 1;
	}


	.photoFlex {
		display: flex;
		margin-bottom: 80rem;
	}

	.photoFlex.sbCase {
		justify-content: space-between;
	}

	.photoFlex li + li {
		margin-left: 5%;
	}

	.harfFlex {
		display: block;
		margin-bottom: 60rem;
	}

	.harfSame {
		width: auto;
	}

	.harfSame + .harfSame  {
		margin-top: 30rem;
	}

	.endFlex {
		display: block;
		align-items: flex-end;
		text-align: center;
	}

	.endFlex .endLink {
		margin: 40rem 0 0;
	}


	.photoFlex.endCase {
		text-align: center;
		flex-wrap: wrap;
	}


	.photoFlex.endCase li {
		width: 48%;
	}

	.photoFlex.endCase li:nth-child(3) {
		width: 100%;
		margin-top: 30rem;
	}


	.blackLink {
		width: 80%;
		position: relative;
		background: #000;
		padding: 20px 40px 20px 20px;
		color: #fff;
		font-size: 30rem;
	}

	
	.brownFlex {
		background: #ddc5a4;
		padding: 20px 5%;
		margin-bottom: 80rem;
		display: block;
		justify-content: space-between;
		font-size: 28rem;
		line-height: 1.6;
	}


	.brownSame01 {
		width: auto;
	}
	.brownSame02 {
		width: auto;
	}

	.brownFlex figure {
		margin-top: 30rem;
	}
}
