@charset "utf-8";
/*------------------------------------------------------------
	sustainability
------------------------------------------------------------*/
#main .sec01 .photo-box {
	position: relative;
	overflow: hidden;
}
#main .sec01 .photo-box .txt-box {
	position: absolute;
	left: 50%;
	top: 160px;
	transform: translateX(-50%);
}
#main .sec01 .photo-box .txt-box .content {
	width: 1000px;
}
#main .sec01 .photo-box .txt-box .title {
	color: #fff;
	font-size: 5.8rem;
    font-family: 'TrajanPro';
	text-align: left;
	font-weight: 400;
	line-height: 1.3;
}
#main .sec01 .photo-box .txt-box .txt {
	font-size: 3.4rem;
	color: #fff;
	font-family: "游明朝","YuMincho","Hiragino Mincho Pro","MS PMincho","ＭＳ Ｐ明朝","ヒラギノ明朝 Pro W6",serif;
}
#main .sec02 {
	padding: 50px 0;
	background-color: #323333;
}
#main .sec02 .img-ul li {
	width: 300px;
	color: #fff;
	text-align: center;
}
#main .sec02 .img-ul .mark {
	margin-bottom: 18px;
}
#main .sec02 .img-ul .mark img {
	width: 136px;
}
#main .sec02 .img-ul .ttl {
	font-size: 2.8rem;
	line-height: 1.3;
	font-weight: 300;
}
#main .sec02 .img-ul .txt {
	font-size: 1rem;
}
#main .sec-box {
	background-color: #000;
}
#main .sec-box .content {
	width: 1140px;
}
#main .sec-box .bg {
	padding: 85px;
	overflow: hidden;
	background-color: #FFF;
}
#main .sec-box .title01 {
	font-size: 1.9rem;
}
.line {
	position: relative;
}
.line::after {
	position: absolute;
	left: 30px;
	top: -46px;
	width: 1px;
	height: 40px;
	background-color: #000;
	content: '';
	opacity: 0.4;
}
#main .sec-box .title01 {
	margin-bottom: 32px;
}
#main .sec-box .img-box {
	margin-bottom: 25px;
}
#main .sec-box .img-box .photo-box {
	width: 606px;
}
#main .sec-box .img-box .text-box {
	margin-top: 28px;
	width: 330px;
}
#main .sec-box .img-box .text-box .title02 {
	margin-bottom: 5px;
	font-size: 2.8rem;
	font-weight: 400;
}
#main .sec-box .img-box .text-box p {
	text-indent: 1em;
	font-size: 1.2rem;
	line-height: 1.95;
	letter-spacing: 0.02em;
}
#main .sec-box .img-ul {
	margin: -20px 0 50px;
}
#main .sec-box .img-ul li {
	margin: 20px 28px 0;
	width: 240px;
}
#main .sec-box .img-ul li .mark {
	margin-bottom: 10px;
	text-align: center;
}
#main .sec-box .img-ul li .mark img {
	width: 83px;
}
#main .sec-box .img-ul li p {
	font-size: 1rem;
}
#main .sec-box .img-ul li .title {
	margin-bottom: 18px;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}
#main .sec-box .img-box01 {
	margin-bottom: 43px;
}
#main .sec-box .img-box01 .photo-box {
	margin-right: -40px;
	order: 2;
}
#main .sec-box .img-box01 .text-box {
	margin-top: 50px;
}
#main .sec-box .img-box01 .text-box .txt01 {
	text-indent: 0;
}
#main .sec-box .img-box02 {
	margin-bottom: 46px;
}
#main .sec-box .photo-tab {
	margin: 0 auto 70px;
	width: 700px;
}
#main .sec-box .photo-tab .title01 {
	margin-bottom: -30px;
}
#main .sec-box .photo-tab .photo {
	text-align: center;
}
#main .sec-box .photo-tab .photo img {
	width: 644px;
}
#main .sec-box .photo-tab .text {
	padding-right: 80px;
	text-align: right;
}
#main .sec-box .photo-tab .txt02 {
	text-align: center;
	font-size: 1rem;
	display: inline-block;
}
#main .sec-box .photo-tab .txt02 .txt03 {
	font-size: 1.1rem;
	display: block;
}
#main .sec-box .photo-tab .txt02 a {
	color: #2474bb;
}
#main .sec-box .photo-all-box {
	height: 665px;
	position: relative;
}
#main .sec-box .photo-all-box .title01 {
	position: absolute;
	right: 270px;
	top: 48px;
}
#main .sec-box .photo-all-box .title01::after {
	left: auto;
	right: 20px;
}
#main .sec-box .photo-all-box .photo01 {
	position: absolute;
	left: 320px;
	top: 120px;
	width: 266px;
}
#main .sec-box .photo-all-box .photo02 {
	position: absolute;
	left: -50px;
	top: 0;
	width: 510px;
}
#main .sec-box .photo-all-box .txt-box {
	margin-top: 12px;
	padding-left: 110px;
	font-size: 1rem;
}
#main .sec-box .photo-all-box .txt-box .ttl01 {
	margin-bottom: 4px;
	font-size: 1.2rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}
#main .sec-box .photo-all-box .photo03 {
	position: absolute;
	left: 60px;
	bottom: 0;
	width: 690px;
	align-items: flex-end;
}
#main .sec-box .photo-all-box .photo03 .pho {
	width: 375px;
}
#main .sec-box .photo-all-box .photo03 .txt-box {
	padding-left: 0;
	width: 300px;
}
#main .sec-box .photo-all-box .photo04 {
	position: absolute;
	right: -80px;
	top: -10px;
	width: 470px;
}
#main .sec-box .photo-all-box .photo04 .txt-box {
	margin-top: -120px;
	padding: 0 80px 0 0;
	text-align: right;
}
#main .sec-box .photo-all-box .photo05 {
	position: absolute;
	right: 0;
	bottom: 10px;
	width: 165px;
}
@media all and (min-width: 768px) {
	#main .sec-box .photo-tab .txt02 a:hover {
		opacity: 1;
		text-decoration: underline;
	}
}
@media all and (max-width: 767px) {
	#main .sec01 .photo-box .txt-box {
		left: auto;
		top: 50%;
		transform: translateY(-50%);
	}
	#main .sec01 .photo-box .txt-box .content {
		width: auto;
	}
	#main .sec01 .photo-box .txt-box .title {
		font-size: 2.8rem;
	}
	#main .sec01 .photo-box .txt-box .txt {
		font-size: 1.8rem;
	}
	#main .sec02 {
		padding: 50px 0;
	}
	#main .sec02 .img-ul {
		display: block;
	}
	#main .sec02 .img-ul li {
		margin-bottom: 30px;
		width: auto;
	}
	#main .sec02 .img-ul li:last-child {
		margin-bottom: 0;
	}
	#main .sec-box .content {
		width: auto;
	}
	#main .sec-box .bg {
		padding: 40px 20px;
	}
	#main .sec-box .title01 {
		font-size: 1.6rem;
	}
	.line::after {
		left: 20px;
		top: -30px;
		height: 30px;
	}
	#main .sec-box .title01 {
		margin-bottom: 15px;
	}
	#main .sec-box .img-box {
		margin-bottom: 25px;
		display: block;
	}
	#main .sec-box .img-box .photo-box {
		width: auto;
	}
	#main .sec-box .img-box .text-box {
		margin-top: 10px;
		width: auto;
	}
	#main .sec-box .img-box .text-box .title02 {
		margin-bottom: 5px;
		font-size: 2rem;
		text-align: center;
	}
	#main .sec-box .img-ul {
		margin: 0 0 30px;
		display: block;
	}
	#main .sec-box .img-ul li {
		margin: 0 0 10px;
		width: auto;
	}
	#main .sec-box .img-box01 {
		margin-bottom: 45px;
	}
	#main .sec-box .img-box01 .photo-box {
		margin-right: 0;
	}
	#main .sec-box .img-box01 .text-box {
		margin-top: 10px;
	}
	#main .sec-box .img-box01 .text-box .txt01 {
		text-indent: 0;
	}
	#main .sec-box .img-box02 {
		margin-bottom: 46px;
	}
	#main .sec-box .photo-tab {
		margin: 0 auto 30px;
		width: auto;
	}
	#main .sec-box .photo-tab .title01 {
		margin-bottom: 20px;
	}
	#main .sec-box .photo-tab .photo {
		margin-bottom: 10px;
		text-align: center;
	}
	#main .sec-box .photo-tab .photo img {
		width: auto;
	}
	#main .sec-box .photo-tab .text {
		padding-right: 0;
		text-align: center;
	}
	#main .sec-box .photo-all-box {
		height: auto;
	}
	#main .sec-box .photo-all-box .title01 {
		position: relative;
		right: auto;
		top: auto;
	}
	#main .sec-box .photo-all-box .title01::after {
		left: 20px;
		right: auto;
	}
	#main .sec-box .photo-all-box .photo01 {
		margin-bottom: 10px;
		position: static;
		left: auto;
		top: auto;
		width: auto;
		text-align: center;
	}
	#main .sec-box .photo-all-box .photo01 img {
		width: 70%;
	}
	#main .sec-box .photo-all-box .photo02 {
		margin: 0 0 20px;
		position: static;
		left: auto;
		top: auto;
		width: auto;
	}
	#main .sec-box .photo-all-box .photo02 .pho {
		margin-right: -20px;
	}
	#main .sec-box .photo-all-box .txt-box {
		margin-top: 22px;
		padding-left: 0;
		font-size: 1rem;
		text-align: center;
	}
	#main .sec-box .photo-all-box .txt-box .ttl01 {
		margin-bottom: 4px;
		font-size: 1.2rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
	}
	#main .sec-box .photo-all-box .photo03 {
		position: static;
		left: auto;
		bottom: auto;
		width: auto;
		display: block;
	}
	#main .sec-box .photo-all-box .photo03 .pho {
		width: auto;
	}
	#main .sec-box .photo-all-box .photo03 .txt-box {
		padding: 0;
		width: auto;
	}
	#main .sec-box .photo-all-box .photo04 {
		margin-bottom: 20px;
		position: static;
		right: auto;
		top: auto;
		width: auto;
	}
	#main .sec-box .photo-all-box .photo04 .txt-box {
		margin-top: -35px;
		padding: 0;
		text-align: center;
	}
	#main .sec-box .photo-all-box .photo05 {
		position: static;
		right: auto;
		bottom: auto;
		width: auto;
		text-align: center;
	}
	#main .sec-box .photo-all-box .photo05 img {
		width: 93%;
	}
}
@media all and (-ms-high-contrast:none) {}