/* CSS Document */


#fv {
	position: relative;
}
#fv h2 {
	position: absolute;
  bottom: 7%;
  left: 6%;
  width: 23%;
}



#greetings {
	padding: 60px 0;
}
#greetings .titleSet {
	text-align: center;
	margin: auto;
	padding: 0 0 25px;
}
#greetings .titleSet::before {
	border-top: solid #E2E1DE;
	border-width: 18px 20px 0 20px;
	left: 50%;
  transform: translateX(-50%);
}
#greetings .titleSet strong {
	margin: 0 0 5px;
}
#greetings h3 {
	font-family: 'Zen Old Mincho';
  font-size: 125%;
	font-weight: 600;
  text-align: center;
	margin: 30px 0;
}
#greetings .lead {
	line-height: 2.2;
	margin: 30px 0;
	text-align: center;
}
#greetings dl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	margin: 40px 0;
}
#greetings dl dt {
	max-width: 280px;
}
#greetings dl dd {
}
#greetings dl dd strong {
	font-size: 140%;
  margin-left: 20px;
}



#philosophySystem {
	padding: 60px 0;
	background: #ECF4EE;
	clip-path: polygon(0 0, calc(100% - 300px) 0, 100% 200px, 100% 100%, 300px 100%, 0 calc(100% - 200px));
}
#philosophySystem .titleSet strong {
	margin: 0 0 5px;
}
#philosophySystem .titleSet {
	text-align: center;
	margin: auto;
	padding: 0 0 25px;
}
#philosophySystem .titleSet::before {
	border-top: solid #fff;
	border-width: 18px 20px 0 20px;
	left: 50%;
  transform: translateX(-50%);
}
#philosophySystem .img {
	max-width: 800px;
  margin: 40px auto 0;
}



#detail {
	font-family: 'Zen Old Mincho';
	padding: 50px 0;
	/*background: url("img/bg_img3.webp") no-repeat right 3% bottom 3%;
	background-size: 640px;*/
	position: relative;
}
#detail .titleSet {
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
#detail::before {
	content: url("../module/img/logo_copy.svg");
  width: 20%;
  min-width: 250px;
  position: absolute;
	bottom: 0;
  left: calc(50% - 400px);
  transform: translateX(-50%);
}
#detail::after {
	content: url("../module/img/line_company.svg");
}
#detail article {
	padding: 30px 0 0;
	position: relative;
	overflow-x: clip;
}
#detail article::after {
	display: block;
	width: 1340px;
  position: relative;
  transform: translateX(-50%);
}
#detail .inner {
	position: relative;
}
#detail .titleSet strong {
	color: #1B745B;
}
#detail .titleSet span {
	border-top-color: #333;
	color: #54838D;
}
#philosophy .titleSet::before { border-bottom-color: #C6DCD6;}
#managementPhilosophy .titleSet::before { border-bottom-color: #C6DCD6;}
#managementVision .titleSet::before { border-bottom-color: #DBEBEE;}
#missionAndPurpose .titleSet::before { border-bottom-color: #DEE8DE;}
#missionStatement .titleSet::before { border-bottom-color: #DEE8DE;}
#companyCredo .titleSet::before { border-bottom-color: #DEE8DE;}
#humanResourcesVision .titleSet::before { border-bottom-color: #DBEBEE;}
#value .titleSet::before { border-bottom-color: #DDEFFA;}

#detail .lead {
	margin: 50px 40px 60px;
}
#detail .lead p {
	margin: 2em 0;
}


#philosophy {}
#detail #philosophy::after {
	content: url("img/line1.svg");
	left: calc(50% + 290px);
}
#philosophy h3 {
	font-size: 125%;
	font-weight: 600;
	writing-mode: vertical-rl;
	text-align: center;
	color: #C4BDBA;
	display: flex;
	align-items: baseline;
	gap: 10px;
	position: absolute;
}
#philosophy h3::before {
	content: '';
	border-right: 1px solid #C4BDBA;
	height: 160px;
}
#philosophy h3:nth-of-type(1) {
	top: 240px;
	left: -20px;
}
#philosophy h3:nth-of-type(2) {
	top: 120px;
  right: -20px;
}
#philosophy .lead {
	text-align: center;
}


#managementPhilosophy {}
#detail #managementPhilosophy::after {
	content: url("img/line2.svg");
	left: calc(50% - 290px);
}
#managementPhilosophy .lead {
	text-align: center;
}
#managementPhilosophy h3 {
	font-size: 125%;
	font-weight: 600;
	text-align: center;
	margin: 40px 0;
}


#managementVision {}
/*#managementVision::before {
	content: '';
  background: url("img/bg_img1.webp") no-repeat center top;
  background-size: 100%;
  width: 500px;
  height: 100%;
  position: absolute;
  top: -60px;
  left: calc(50% + 480px);
  transform: translateX(-50%);
}*/
#detail #managementVision::after {
	content: url("img/line3.svg");
	left: calc(50% - 290px);
}
#managementVision .lead {
	text-align: center;
}
#managementVision h3 {
	font-size: 125%;
	font-weight: 600;
	text-align: center;
	margin: 40px 0;
}


#missionAndPurpose {}
#detail #missionAndPurpose::after {
	content: url("img/line3.svg");
	left: calc(50% + 290px);
	transform: translateX(-50%) scaleY(-1);
}


#missionStatement {}
#detail #missionStatement::after {
	content: url("img/line3.svg");
	left: calc(50% + 290px);
	transform: translateX(-50%) scaleY(-1);
}


#companyCredo {}
#detail #companyCredo::after {
	content: url("img/line4.svg");
	left: calc(50% - 290px);
}

#companyCredo ul {
	margin: 50px 40px;
	display: flex;
  flex-direction: column;
  gap: 30px;
}
#companyCredo ul li {
	display: flex;
  gap: 30px;
}
#companyCredo ul li span {
	font-size: 115%;
	flex-shrink: 0;
}
#companyCredo ul li span strong {
	font-weight: 600;
	color: #1B745B;
}


#humanResourcesVision {}
/*#humanResourcesVision::before {
	content: '';
  background: url("img/bg_img2.webp") no-repeat center top;
  background-size: 100%;
  width: 520px;
  height: 100%;
  position: absolute;
  top: -20px;
  left: calc(50% + 420px);
  transform: translateX(-50%);
}*/

#detail #humanResourcesVision::after {
	content: url("img/line5.svg");
	left: calc(50% - 290px);
}


#value {
	margin-bottom: 100px;
}
#value ol {
	max-width: 300px;
	margin: 50px auto;
	list-style: none;
	display: flex;
  flex-direction: column;
  gap: 10px;
}


.ftLink {
	text-align: center;
	background: #E2E1DE;
	padding: 30px 0 40px;
	margin: 10px 0 0;
}
.ftLink h3 {
	color: #1b745b;
	margin: 0 0 5px;
}
.ftLink a.btn {
	font-size: 120%;
	width: 250px;
	padding: 12px;
}




@media screen and (max-width: 480px) {
  
	
	#fv h2 {
    bottom: 5%;
    left: 2%;
    width: 30%;
	}
	#fv > img {
		width: 100%;
		height: 180px;
		object-fit: cover;
		/*object-position: 80%;*/
	}
	
	
	#greetings {
		padding: 30px 0;
	}
	#greetings h3 {
		font-size: 115%;
		margin: 15px 0;
	}
	#greetings .lead {
		line-height: 2;
		text-align: justify;
		margin: 15px 0;
	}
	#greetings dl {
		justify-content: flex-start;
		gap: 20px;
	}
	#greetings dl dt {
		max-width: 160px;
	}
	#greetings dl dd {
		display: flex;
		flex-direction: column;
	}
	
	
	#philosophySystem {
		padding: 40px 0;
		clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 40px, 100% 100%, 60px 100%, 0 calc(100% - 40px));
	}
	
	
	#detail {
		padding: 30px 0;
		background-size: 300px;
		background-position: right -20px bottom 50px;
	}
	#detail::before {
		width: 10%;
		min-width: 110px;
		left: calc(50% - 120px);
	}
	#detail article::after {
		width: calc(100% - 40px);
	}
	#detail .lead {
		margin: 20px 0 40px;
	}
	#detail .lead p {
		margin: 1.5em 0;
	}

	
	#detail #philosophy::after {
		left: calc(50% + 30px);
	}
	#philosophy .lead {
		text-align: justify;
	}
	#philosophy h3 {
		font-size: 110%;
		writing-mode: unset;
		text-align: center;
		justify-content: center;
		position: static;
		margin: 10px 0;
	}
	#philosophy h3:nth-of-type(1) {
		margin-top: 30px;
	}
	#philosophy h3::before {
		content: none;
	}
	
	
	#detail #managementPhilosophy::after {
		left: calc(50% - 30px);
	}
	#managementPhilosophy h3 {
		font-size: 120%;
		margin: 30px 0 15px;
	}
	#managementPhilosophy .lead {
		text-align: justify;
	}
	
	
	#detail #managementVision::after {
		left: calc(50% - 30px);
	}
	/*#managementVision::before {
		width: 150px;
		top: 0;
		right: 20px;
    left: auto;
    transform: none;
	}*/

	#managementVision h3 {
		font-size: 120%;
		margin: 30px 0 15px;
	}
	#managementVision .lead {
		text-align: justify;
	}
	
	
	#detail #missionAndPurpose::after {
		left: calc(50% + 30px);
	}
	
	
	#detail #missionStatement::after {
		left: calc(50% + 30px);
	}
	
	
	#detail #companyCredo::after {
		left: calc(50% - 30px);
	}
	#companyCredo ul {
		margin: 30px 0;
		gap: 15px;
	}
	#companyCredo ul li {
		gap: 20px;
	}
	#companyCredo ul li span {
		font-size: 110%;
	}
	
	
	#detail #humanResourcesVision::after {
		left: calc(50% - 30px);
	}
	/*#humanResourcesVision::before {
		width: 140px;
		top: 0;
		right: 20px;
    left: auto;
    transform: none;
	}*/
	
	
	#value {
		margin-bottom: 50px;
	}
	#value ol {
		margin: 20px 0;
		gap: 5px;
	}
	
	.ftLink {
		padding: 15px 0 20px;
	}
	.ftLink a.btn {
		font-size: 110%;
		width: 200px;
		padding: 10px;
	}
	
	
	
	
}
