@charset "UTF-8";
	




/* message
----------------------*/
#message .headbox {
	position: relative;
	margin-bottom: 70px;
}
	#message .headbox .text {
		width: 53%;
		padding-left: 5%;
		order: 2;
	}
		#message .headbox .text .name {
			font-size: 2.4rem;
			line-height: 1.3em;
			margin-bottom: 30px;
		}
			#message .headbox .text .name .red {
				font-size: 1.6rem;
				padding-left: 15px;
			}
			#message .headbox .text .name span {
				font-size: 1.6rem;
			}

		#message .headbox .text h3 {
			font-size: 2.4rem;
			line-height: 1.4em;
			margin-bottom: 20px;
		}

		#message .headbox .text .txt {
			margin-bottom: 15px;
		}
		#message .headbox .text .txt:nth-last-child(1) {
			margin-bottom: 0;
		}


	#message .headbox .pht {
		width: 47%;
		order: 1;
	}
		#message .headbox .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


#message ul.sdgs {
	max-width: 768px;
}
#message ul.sdgs li {
	width: 18.5%;
}
@media screen and (max-width: 1024px) {
	#message .headbox {
		display: block;
		margin-bottom: 7%;
	}
		#message .headbox .text {
			width: 100%;
			padding-left: 0;
			margin-bottom: 5%;
		}
			#message .headbox .text .name {
				font-size: 2.6vw;
				margin-bottom: 2.5%;
			}
				#message .headbox .text .name .red {
					font-size: 1.8vw;
				}
				#message .headbox .text .name .min {
					font-size: 1.8vw;
				}

			#message .headbox .text h3 {
				font-size: 2.6vw;
				margin-bottom: 2%;
			}

			#message .headbox .text .txt {
				margin-bottom: 3%;
			}


		#message .headbox .pht {
			width: 100%;
		}
}
@media screen and (max-width: 767px) {
	#message .headbox {
		margin-bottom: 10%;
	}
		#message .headbox .text .name {
			font-size: 5.0vw;
			margin-bottom: 3.5%;
		}
			#message .headbox .text .name .red {
				font-size: 3.2vw;
			}
			#message .headbox .text .name .min {
				font-size: 3.2vw;
			}

		#message .headbox .text h3 {
			font-size: 4.0vw;
			margin-bottom: 3%;
		}

		#message .headbox .text .txt {
			margin-bottom: 3%;
		}


	#message ul.sdgs {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
		#message ul.sdgs li {
			width: 32%;
			margin-right: 2%;
			margin-bottom: 2%;
		}
		#message ul.sdgs li:nth-child(3n) {
			margin-right: 0;
		}
}
	



	
/* company
----------------------*/
#company .ttl {
	width: 150px;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}
	#company .ttl .en {
		font-size: 2.0rem;
		line-height: 1;
	}

	#company .ttl h2 {
		font-size: 3.6rem;
		line-height: 1;
		margin-left: 10px;
	}


#company .text {
	width: -webkit-calc(100% - 150px);
	width: calc(100% - 150px);
}
	#company .text dl {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		background: #F8F9F6;
		margin-bottom: 15px;
		padding: 20px;
	}
	#company .text dl:nth-last-child(1) {
		margin-bottom: 0;
	}
		#company .text dl dt {
			width: 140px;
			font-size: 1.6rem;
			line-height: 1
		}

		#company .text dl dd {
			width: -webkit-calc(100% - 140px);
			width: calc(100% - 140px);
			font-size: 1.6rem;
			line-height: 1.8em;
		}
			#company .text dl dd a {
				color: #B51A1F;
				text-decoration: underline;
			}
			#company .text dl dd a:hover {
				text-decoration: none;
			}
@media screen and (max-width: 1024px) {
	#company .ttl {
		width: 15%;
	}
		#company .ttl .en {
			font-size: 2.0vw;
		}

		#company .ttl h2 {
			font-size: 3.6vw;
		}


	#company .text {
		width: 85%;
	}
		#company .text dl {
			margin-bottom: 2%;
			padding: 3%;
		}
			#company .text dl dt {
				width: 20%;
				font-size: 1.8vw;
				line-height: 1
			}

			#company .text dl dd {
				width: 80%;
				font-size: 1.8vw;
				line-height: 1.6em;
			}
}
@media screen and (max-width: 767px) {
	#company .inner {
		display: block;
	}
		#company .ttl {
			width: 100%;
			writing-mode: inherit;
			text-align: center;
			margin-bottom: 7%;
		}
			#company .ttl .en {
				font-size: 4.0vw;
				margin-bottom: 2%;
			}

			#company .ttl h2 {
				font-size: 5.6vw;
				margin-left: 0;
			}


		#company .text {
			width: 100%;
		}
			#company .text dl {
				display: block;
				margin-bottom: 2%;
				padding: 5%;
			}
				#company .text dl dt {
					width: 100%;
					font-size: 3.8vw;
					margin-bottom: 2%;
				}

				#company .text dl dd {
					width: 100%;
					font-size: 3.4vw;
					line-height: 1.6em;
				}
}
	



	
/* faq
----------------------*/
#faq .ttl {
	width: 150px;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}
	#faq .ttl .en {
		font-size: 2.0rem;
		line-height: 1;
	}

	#faq .ttl h2 {
		font-size: 3.6rem;
		line-height: 1;
		margin-left: 10px;
	}


#faq .text {
	width: -webkit-calc(100% - 150px);
	width: calc(100% - 150px);
}
	#faq .text dl {
		background: #F8F9F6;
		margin-bottom: 15px;
	}
	#faq .text dl:nth-last-child(1) {
		margin-bottom: 0;
	}
		#faq .text dl dt {
			padding: 15px 50px 15px 50px;
			font-size: 2.0rem;
			line-height: 1.3em;
			font-weight: 600;
			background: url("../img/icon_open.svg") no-repeat right 20px center;
			position: relative;
			cursor: pointer;
		}
		#faq .text dl dt.active {
			background: url("../img/icon_close.svg") no-repeat right 20px center;
		}
		#faq .text dl dt:before {
			content: "Q";
			font-size: 2.2rem;
			font-weight: 700;
			line-height: 1.3em;
			font-family: 'Manrope', sans-serif;
			color: #C4C4C4;
			position: absolute;
			top: 15px;
			left: 20px;
		}

		#faq .text dl dd {
			display: none;
			padding: 0 20px 15px 50px;
			font-size: 1.6rem;
			line-height: 1.8em;
			position: relative;
		}
		#faq .text dl dd:before {
			content: "A";
			font-size: 2.2rem;
			font-weight: 700;
			line-height: 1.3em;
			font-family: 'Manrope', sans-serif;
			color: #B51A1F;
			position: absolute;
			top: 0;
			left: 20px;
		}
@media screen and (max-width: 1024px) {
	#faq .ttl {
		width: 15%;
	}
		#faq .ttl .en {
			font-size: 2.0vw;
		}

		#faq .ttl h2 {
			font-size: 3.6vw;
		}


	#faq .text {
		width: 85%;
	}
		#faq .text dl {
			margin-bottom: 2%;
		}
			#faq .text dl dt {
				padding: 3% 8% 3% 8%;
				font-size: 2.2vw;
				line-height: 1.3em;
				font-weight: 600;
				background: url("../img/icon_open.svg") no-repeat right 20px center;
				position: relative;
				cursor: pointer;
			}
			#faq .text dl dt.active {
				background: url("../img/icon_close.svg") no-repeat right 20px center;
			}
			#faq .text dl dt:before {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 100%;
				font-size: 2.4vw;
				top: 0;
				left: 3%;
			}

			#faq .text dl dd {
				padding: 0 8% 3% 8%;
				font-size: 1.8vw;
			}
			#faq .text dl dd:before {
				font-size: 2.4vw;
				left: 3%;
			}
}
@media screen and (max-width: 767px) {
	#faq .inner {
		display: block;
	}
		#faq .ttl {
			width: 100%;
			writing-mode: inherit;
			writing-mode: inherit;
			text-align: center;
			margin-bottom: 7%;
		}
			#faq .ttl .en {
				font-size: 4.0vw;
				margin-bottom: 2%;
			}

			#faq .ttl h2 {
				font-size: 5.6vw;
				margin-left: 0;
			}


		#faq .text {
			width: 100%;
		}
			#faq .text dl {
				margin-bottom: 4%;
			}
				#faq .text dl dt {
					padding: 5% 15% 5% 14%;
					font-size: 3.8vw;
				}
				#faq .text dl dt:before {
					font-size: 4.0vw;
					left: 6%;
				}

				#faq .text dl dd {
					padding: 0 8% 5% 14%;
					font-size: 3.4vw;
				}
				#faq .text dl dd:before {
					font-size: 4.0vw;
					left: 6%;
				}
}