@charset "utf-8";

/*** contents ***/
.greeting {
	background: url(../img/sub/greeting-bg.png) no-repeat right bottom / 52rem;
}

.greeting .tit {
	position: relative;
	margin-bottom: 5rem;
	font-size: 2.4rem;
}

.greeting .tit,
.greeting .tit * {
	font-weight: 700;
}

.greeting .tit strong {
	display: block;
	line-height: 4.48rem;
}

.greeting .tit span {
	color: var(--point);
}

.greeting .con p {
	margin-top: 3.7rem;
	font-size: 1.6rem;
	line-height: 2.56rem;
	padding-right:52rem;
}

.greeting .con p:first-child {
	padding-right:0;
}

.greeting .con p strong {
	font-size: 1.8rem;
}

.center-photo span {
	display: block;
	/* padding-top: 3.5rem; */
	/* padding-left: 5.4rem; */
	width: 100%;
	height: 35rem;
	color: rgba(192, 224, 181, 0.20);
	font-size: 12rem;
	font-weight: 700;
	line-height: 14.2rem;
	background: rgba(240, 251, 234, 0.70);
	border-radius: 3rem 15rem 3rem 15rem;
	text-align: center;
}

.center-photo p {
	position: absolute;
	right: 50%;
	bottom: 0;
	margin-right: -36rem;
}


.center-photo img {
	line-height: 0;
	font-size: 0;
	border-radius: 10rem 2rem 2rem 2rem;
}


/*organ*/
.organ ol {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.organ ol li.rank1 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 6rem;
  width: 16rem;
  height: 16rem;
  color: #fff;
  font-size: 1.8rem;
  border-radius: 50%;
  background: #347920;
}

.organ ol li.rank1::after {
  content: '';
  position: absolute;
  left: -0.7rem;
  top: -0.7rem;
  width: calc(100% + 1.4rem);
  height: calc(100% + 1.4rem);
  border-radius: 50%;
  background: rgba(192, 224, 181, 0.50);
  z-index: -1;
}

.organ ol li.rank1::before {
  display: block;
  content: '';
  position: absolute;
  bottom: -6rem;
  left: 50%;
  width: 0.1rem;
  height: 8rem;
  background: #B1B8BE;
  z-index: -1;
}

.organ ol li.rank2 {
  position: relative;
  max-width: 84rem;
  width: 100%;
}

.organ ol li.rank2 ul {
  display: flex;
  gap: 1.6rem;
  margin-top: 3.3rem;
}

.organ ol li.rank2 ul::before {
  display: block;
  content: '';
  position: absolute;
  top: 0rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: calc(100% - 19.8rem);
  height: 0.1rem;
  background: #B1B8BE;
}

.organ ol li.rank2 ul li {
  flex: 1 1 33.3%;
  position: relative;
  text-align: center;
  padding: 1.2rem 2rem;
  font-size: 1.8rem;
  border-radius: 1rem;
  background: #e2e7ca;
}

.organ ol li.rank2 ul li::before {
  display: block;
  content: '';
  position: absolute;
  top: -3.3rem;
  left: 50%;
  width: 1px;
  height: 3.3rem;
  background: #B1B8BE;
  z-index: -1;
}

.organ ol li.rank2 ul li.list02 {
  background: #c6ddb7;
}

.organ ol li.rank2 ul li.list03 {
  background: #a3d3b5;
}

.organ ol li.rank2 ul li.list04 {
  background: #a6d5d5;
}

.organ_btn {
  display: inline-block;
  margin: 0 0 1rem 1rem;
  padding: 0.5rem 1rem;
  color: #fff;
  font-size: 1.4rem;
  border: 1px solid #e54545;
  border-radius: 5px;
  background: var(--main-primary-50);
}

.org-cap {
  display: flex;
  justify-content: flex-end;
  gap: 3.1rem;
}

.org-cap p {
  margin-top: 0 !important;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: -0.03rem;
}

.org-cap p span {
  color: var(--main-primary-50);
  font-weight: 700;
}
.tar{
	font-size: 1.6rem;
}


/* pc */
@media screen and (min-width: 1025px) {
	/*** contents ***/
	.center-photo {
		position: relative;
		padding-bottom: 10rem;
	}
}
/* pc */
@media screen and (max-width: 1400px) {
	.greeting{
		background-size: 37rem;;
	}
	.greeting .con p{
		padding-right: 30rem;
	}
}
/* mb */
@media screen and (max-width:1024px) {
	/*** contents ***/
	.greeting {
		padding-bottom: 5rem;
	}
	.greeting .con p{
		padding-right: 0;
	}
	.greeting .con br {
		display: none;
	}

	.center-photo span {
		display: none;
	}
	.center-photo p {
		position: static;
	}
	.center-photo p img {
		width: 100%;
	}	
}

/* min-mb */
@media screen and (max-width:767px) {
	/*** contents ***/
	.greeting {
		padding-bottom: 2rem;
		background-size: 26rem;
	}

	.organ ol li.rank2 ul::before {
		display: none;
	}

	.organ ol li.rank2 ul {
		align-items: center;
		flex-direction: column;
		margin-top: 0;
	}

	.organ ol li.rank2 ul li {
		width: 24rem;
	}
}