/* CSS Document */


#fv {
	padding: 0 20px;
	box-sizing: border-box;
	max-width: 1440px;
  margin: auto;
	position: relative;
}
#fv .img {
	max-width: 980px;
}
#fv .img img {
	border-radius: 20px;
}
#fv .title {
	max-width: 520px;
  background: rgba(255,255,255, .9);
  padding: 60px 40px;
  box-sizing: border-box;
	position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#fv .title h2 {
	font-size: 220%;
  line-height: 1.2;
	letter-spacing: 2px;
	color: #EB9B71;
	margin: 0 0 15px;
}
#fv .title p {
	font-size: 105%;
	font-weight: 500;
	line-height: 2;
	text-align: justify;
}



#policy {
	padding: 80px 0 40px;
}
#policy .inner {
	max-width: 1040px;
  display: flex;
  gap: 80px;
	position: relative;
}
#policy .inner::before,
#policy .inner::after {
	content: '';
	position: absolute;
	border-radius: 100%;
  z-index: -1;
}
#policy .inner::before {
	width: 700px;
  height: 700px;
  background: #FEFAF2;
  top: -160%;
  left: 33%;
}
#policy .inner::after {
	width: 100px;
  height: 100px;
  background: #FCCFB7;
  top: -38%;
  left: 97%;
}
#policy .txt,
#policy .img {
	width: 50%;
}
#policy .txt h2 {
	font-size: 220%;
	line-height: 1.4;
	margin: 20px 0;
}
#policy .txt h2 span {
	color: #EB9B71;
}
#policy .txt p {
	text-align: justify;
}
#policy .img img {
	border-radius: 20px;
}




#corporate {
	padding: 200px 0;
	background: #fffcf7;
	position: relative;
}
#corporate::before,
#corporate::after {
	content: url("../module/img/bg_wave.svg");
	width: 100%;
	line-height: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
#corporate::before {
	top: -1px;
	transform: translateX(-50%) scaleY(-1);
}
#corporate::after {
	bottom: -1px;
	transform: translateX(-50%) scaleX(-1);
}
#corporate .inner {
	max-width: 1040px;
}
#corporate h2 {
	font-size: 200%;
  line-height: 1.4;
  letter-spacing: 4px;
  text-align: center;
  color: #EB9B71;
  margin: 0 0 80px;
  position: relative;
}
#corporate h2::after {
	content: '';
  border-bottom: 4px dotted #EB9B71;
  width: 170px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}
#corporate .block {
	background: #fff;
	display: flex;
  gap: 100px;
  padding: 40px 0;
	margin: 5px 0;
}
#corporate .block h3 {
	font-size: 140%;
  text-align: right;
	width: 32%;
}
#corporate .block .list {
	display: flex;
	flex-direction: column;
  gap: 25px;
}
#corporate .block .box {
	display: flex;
  gap: 20px;
}
#corporate .block .box .img {
}
#corporate .block .box .img img {
	border-radius: 100%;
  width: 160px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
#corporate .block .box .txt {
	line-height: 1.4;
	margin: 5px 0 0;
}
#corporate .block .box .txt h4 {
	font-size: 110%;
	font-weight: 600;
	margin: 0 0 5px;
}
#corporate .block .box .txt h4 span {
	font-size: 80%;
  font-weight: 500;
  margin-left: 10px;
}




#history {
	padding: 40px 0;
}
#history .inner {
	max-width: 840px;
	border: 3px solid #ccc;
  border-radius: 20px;
  padding: 40px 80px 80px;
  box-sizing: border-box;
}
#history h2 {
	font-size: 180%;
  line-height: 1.4;
  letter-spacing: 4px;
  text-align: center;
  margin: 0 0 40px;
  position: relative;
}
#history dl {
	display: flex;
	flex-wrap: wrap;
}
#history dl dt,
#history dl dd {
	border-bottom: 1px solid #ddd;
	padding: 5px;
	box-sizing: border-box;
	margin: 5px 0;
}
#history dl dt {
	width: 180px;
}
#history dl dd {
	width: calc(100% - 180px);
}






@media screen and (max-width: 480px) {
  
	#fv .img img {
		border-radius: 15px;
		aspect-ratio: 4/3;
    width: 100%;
    object-fit: cover;
	}
	#fv .title {
		background: none;
		padding: 20px 0;
		position: static;
		transform: unset;
	}
	#fv .title h2 {
		font-size: 180%;
		text-align: center;
		margin: 0 0 10px;
	}
	
	#policy {
		padding: 40px 0 80px;
		overflow-x: clip;
	}
	#policy .inner {
		flex-direction: column-reverse;
		gap: 10px;
	}
	#policy .inner::before {
		width: 300px;
		height: 300px;
		top: -90%;
		left: 25%;
	}
	#policy .inner::after {
		width: 60px;
		height: 60px;
		top: -10%;
		left: 73%;
	}
	#policy .txt,
	#policy .img {
		width: 100%;
	}
	#policy .img img {
		border-radius: 15px;
		aspect-ratio: 4/3;
    width: 100%;
    object-fit: cover;
	}
	#policy .txt h2 {
		font-size: 180%;
		text-align: center;
		margin: 10px 0;
	}
	
	
	#corporate {
		padding: 80px 0 60px;
	}
	#corporate .banner {
		display: none;
	}
	#corporate h2 {
		font-size: 160%;
		margin: 0 0 40px;
	}
	#corporate h2::after {
		width: 140px;
		bottom: -10px;
	}
	#corporate .block {
		flex-direction: column;
		gap: 20px;
		padding: 20px 15px;
		margin: 15px 0;
	}
	#corporate .block .list {
		gap: 15px;
	}
	#corporate .block h3 {
		text-align: center;
		width: 100%;
	}
	#corporate .block .box {
		gap: 5px;
		border-top: 1px dashed #ccc;
    padding: 15px 0 0;
	}
	#corporate .block .box .img img {
		width: 35px;
	}
	#corporate .block .box .txt {
		line-height: 1.5;
		width: 100%;
	}
	#corporate .block .box .txt h4 span {
		margin-left: 0;
	}
	
	
	#history {
		padding: 40px 0 80px;
	}
	#history .inner {
		border-radius: 15px;
		padding: 30px 15px 40px;
		margin: 0 20px;
	}
	#history h2 {
		font-size: 160%;
		margin: 0px 0 20px;
	}
	#history dl {
		font-size: 90%;
	}
	#history dl dt,
	#history dl dd {
		line-height: 1.6;
		padding: 5px 0;
	}
	#history dl dt {
		width: 90px;
	}
	#history dl dd {
		width: calc(100% - 90px);
	}
	
	
	
	
	
	
	
}
