/* 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: #F19DB5;
	margin: 0 0 15px;
}
#fv .title p {
	font-size: 105%;
	font-weight: 500;
	line-height: 2;
	text-align: justify;
}



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



#nurseryList {
	padding: 200px 0 150px;
	background: #FDF5F8;
	position: relative;
}
#nurseryList::before,
#nurseryList::after {
	content: url("../module/img/bg_wave.svg");
	width: 100%;
	line-height: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
#nurseryList::before {
	top: -1px;
	transform: translateX(-50%) scaleY(-1);
}
#nurseryList::after {
	bottom: -1px;
	transform: translateX(-50%) scaleX(-1);
}
#nurseryList .inner {
	position: relative;
}
#nurseryList .banner {
	width: 200px;
  position: absolute;
  top: -130px;
  right: 0;
}
#nurseryList h2 {
	font-size: 200%;
  line-height: 1.4;
  letter-spacing: 4px;
  text-align: center;
  color: #F19DB5;
  margin: 0 0 80px;
  position: relative;
}
#nurseryList h2::after {
	content: '';
  border-bottom: 4px dotted #F19DB5;
  width: 380px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}
#nurseryList ul.type {
	max-width: 1140px;
	margin: 140px auto 120px;
	display: flex;
  gap: 25px;
	position: relative;
}
#nurseryList ul.type::after {
	content: '';
  border-bottom: 3px solid #fff;
  width: 80%;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}
#nurseryList ul.type li {
	width: 33.3%;
	background: #fff;
  border: 4px solid #FCEBF0;
  border-radius: 15px;
  padding: 25px;
  box-sizing: border-box;
	position: relative;
}
#nurseryList ul.type li .badge {
	width: 100px;
	position: absolute;
	top: -50px;
  right: -15px;
}
#nurseryList ul.type li h3 {
  font-size: 110%;
	text-align: center;
  margin: 5px 0 10px;
}
#nurseryList ul.type li p {
  font-size: 95%;
	line-height: 1.8;
  text-align: justify;
}


#nurseryList .nursery {
  margin: 100px 0;
	display: flex;
}
#nurseryList .nursery .img,
#nurseryList .nursery .txt {
	border-radius: 15px;
	position: relative;
}
#nurseryList .nursery .img {
	width: 48%;
	left: 15px;
  z-index: 1;
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,.2));
}
#nurseryList .nursery .img img {
	border-radius: 15px;
}
#nurseryList .nursery .txt {
	width: 52%;
	line-height: 1.6;
	background: #fff;
	padding: 25px 30px 35px 60px;
	border: 3px solid #eee;
  box-sizing: border-box;
  top: 40px;
  left: -15px;
  position: relative;
}
#nurseryList #fujimigaoka .txt { border-color: #F2EEE9;}
#nurseryList #fujimigaoka .txt h3,
#nurseryList #fujimigaoka .txt .more a { color: #C1A889; border-color: #C1A889;}

#nurseryList #gozenyama .txt { border-color: #FAE8EC;}
#nurseryList #gozenyama .txt h3,
#nurseryList #gozenyama .txt .more a { color: #E48CA1; border-color: #E48CA1;}

#nurseryList #ai .txt { border-color: #DEE8F4;}
#nurseryList #ai .txt h3,
#nurseryList #ai .txt .more a { color: #588DCA; border-color: #588DCA;}

#nurseryList #mirainosono .txt { border-color: #EBF2DD;}
#nurseryList #mirainosono .txt h3,
#nurseryList #mirainosono .txt .more a { color: #9ABD57; border-color: #9ABD57;}

#nurseryList .nursery .txt .badge {
	width: 120px;
	position: absolute;
	top: -40px;
  right: 20px;
}
#nurseryList .nursery .txt h3 {
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	border-bottom: 4px dotted #eee;
	padding: 0 0 10px;
  margin: 0 0 15px;
}
#nurseryList .nursery .txt h3 strong {
	font-size: 160%;
}
#nurseryList .nursery .txt .info {
	font-size: 96%;
	font-weight: 500;
	text-align: justify;
}
#nurseryList .nursery .txt dl {
	font-size: 90%;
	margin: 20px 0 30px;
	display: flex;
  flex-wrap: wrap;
}
#nurseryList .nursery .txt dl dt {
	width: 105px;
}
#nurseryList .nursery .txt dl dd {
	width: calc(100% - 105px);
	text-align: justify;
}
#nurseryList .nursery .txt .more {
	text-align: center;
}
#nurseryList .nursery .txt .more a::after {
	content: none;
}



#contact {
	padding: 0 0 80px;
}
#contact .banner {
	max-width: 560px;
  margin: auto;
}






@media screen and (max-width: 480px) {
  
	#fv .img img {
		border-radius: 15px;
		aspect-ratio: 3/2;
    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;
	}
	
	#philosophy {
		padding: 40px 0 80px;
		overflow-x: clip;
	}
	#philosophy .inner {
		flex-direction: column-reverse;
		gap: 10px;
	}
	#philosophy .inner::before {
		width: 300px;
		height: 300px;
		top: -90%;
		left: 25%;
	}
	#philosophy .inner::after {
		width: 60px;
		height: 60px;
		top: -10%;
		left: 73%;
	}
	#philosophy .txt,
	#philosophy .img {
		width: 100%;
	}
	#philosophy .img img {
		border-radius: 15px;
		aspect-ratio: 3/2;
    width: 100%;
    object-fit: cover;
	}
	#philosophy .txt h2 {
		font-size: 180%;
		text-align: center;
		margin: 10px 0;
	}
	
	
	#nurseryList {
		padding: 80px 0 60px;
	}
	#nurseryList .banner {
		display: none;
	}
	#nurseryList h2 {
		font-size: 160%;
		margin: 0 0 40px;
	}
	#nurseryList h2::after {
		width: 280px;
		bottom: -10px;
	}
	#nurseryList ul.type {
		margin: 90px 20px;
		flex-direction: column;
		gap: 70px;
	}
	#nurseryList ul.type li {
		width: 100%;
		border-radius: 15px;
    padding: 40px 15px 20px;
	}
	#nurseryList ul.type li .badge {
		width: 90px;
    top: -50px;
    right: unset;
    left: 50%;
    transform: translateX(-50%);
	}
	#nurseryList ul.type li h3 {
		font-size: 120%;
		margin: 5px 0;
	}
	
	
	#nurseryList .nursery {
		flex-direction: column;
		margin: 50px 0;
	}
	#nurseryList .nursery .img {
		width: 100%;
		left: 0;
		filter: unset;
	}
	#nurseryList .nursery .img img {
		border-radius: 100% 100% 0 0;
	}
	#nurseryList .nursery .txt {
		width: 100%;
		padding: 20px 15px 30px;
		border: none;
		border-radius: 0 0 15px 15px;
		top: 0;
		left: 0;
	}
	#nurseryList .nursery .txt .badge {
		width: 100px;
		top: -60px;
    right: 15px;
		z-index: 1;
	}
	#nurseryList .nursery .txt dl {
		margin: 20px 0;
	}
	#nurseryList .nursery .txt dl dt {
		width: 95px;
	}
	#nurseryList .nursery .txt dl dd {
		width: calc(100% - 95px);
	}
	
	#contact {
		padding: 40px 0;
	}
	#contact .banner {
		max-width: 200px;
	}
	
	
	
	
	
	
	
	
	
}
