@charset "UTF-8";
/* ---------------------------------------
  育成・PG
-----------------------------------------*/
/* sec_intro
--------------------------------*/
#sec_intro {
	padding: 9rem 0;
}
@media screen and (max-width: 767px) {
	#sec_intro {
		padding: 11rem 0;
	}
}
#sec_intro .intro_main {
	width: 89.4rem;
	margin: 8rem 0 0 auto;
}
@media screen and (max-width: 767px) {
	#sec_intro .intro_main {
		width: 100%;
		margin-top: 10rem;
	}
}
#sec_intro .intro_main .txt_wrap .txt {
	text-align: justify;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
	#sec_intro .intro_main .txt_wrap .txt {
		font-size: 3rem;
	}
}
#sec_intro .intro_main .txt_wrap .txt + .txt {
	margin-top: 2em;
}

/* page_nav
--------------------------------*/
.page_nav {
	padding: 5rem 0 0;
	position: relative;
}
@media screen and (max-width: 767px) {
	.page_nav {
		padding: 8.5rem 0 0;
	}
}
.page_nav::before {
	content: "";
	width: 120rem;
	height: 1px;
	background-color: #afafaf;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.page_nav::before {
		width: 100%;
	}
}
.page_nav .links_wrap {
	display: flex;
	gap: 3rem;
}
@media screen and (max-width: 767px) {
	.page_nav .links_wrap {
		flex-direction: column;
		gap: 3rem;
	}
}
.page_nav .links_wrap .link a::before {
	width: 1.5rem;
	height: 1.6rem;
	background-image: url(../img/common/arw_pink2.svg);
}
@media screen and (max-width: 767px) {
	.page_nav .links_wrap .link a::before {
		width: 2.6rem;
		height: 2.8rem;
	}
}
@media (any-hover: hover) {
	.page_nav .links_wrap .link a:hover::before {
		translate: 0 0;
	}
}

/* sec_pgp
--------------------------------*/
#sec_pgp {
	padding: 13rem 0;
}
@media screen and (max-width: 767px) {
	#sec_pgp {
		padding: 17rem 0 19rem;
	}
}
#sec_pgp .pgp_main {
	width: 89.4rem;
	margin: 8rem 0 0 auto;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main {
		width: 100%;
		margin-top: 10rem;
	}
}
#sec_pgp .pgp_main .txt_wrap .txt {
	text-align: justify;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main .txt_wrap .txt {
		font-size: 3rem;
	}
}
#sec_pgp .pgp_main .txt_wrap .txt + .txt {
	margin-top: 2em;
}
#sec_pgp .pgp_main .pgp_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6rem 4.2rem;
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main .pgp_list {
		grid-template-columns: 1fr;
		gap: 10rem 0;
		margin-top: 8rem;
	}
}
#sec_pgp .pgp_main .pgp_list .item .img {
	border-radius: 1rem;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main .pgp_list .item .img {
		border-radius: 2rem;
	}
}
#sec_pgp .pgp_main .pgp_list .item .ttl {
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.5;
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main .pgp_list .item .ttl {
		font-size: 3.2rem;
	}
}
#sec_pgp .pgp_main .pgp_list .item .txt {
	text-align: justify;
	line-height: 1.75;
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	#sec_pgp .pgp_main .pgp_list .item .txt {
		font-size: 2.8rem;
	}
}

/* sec_bi
--------------------------------*/
#sec_bi {
	padding: 13rem 0 15rem;
}
@media screen and (max-width: 767px) {
	#sec_bi {
		padding: 18.5rem 0;
	}
}
#sec_bi::before {
	content: "";
	width: 120rem;
	height: 1px;
	background-color: #afafaf;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	#sec_bi::before {
		width: 100%;
	}
}
#sec_bi .bi_main {
	width: 89.4rem;
	margin: 8rem 0 0 auto;
}
@media screen and (max-width: 767px) {
	#sec_bi .bi_main {
		width: 100%;
		margin-top: 10rem;
	}
}
#sec_bi .bi_main .txt_wrap .txt {
	text-align: justify;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
	#sec_bi .bi_main .txt_wrap .txt {
		font-size: 3rem;
	}
}
#sec_bi .bi_main .txt_wrap .txt + .txt {
	margin-top: 2em;
}
#sec_bi .bi_main .bi_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6rem 4.2rem;
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_bi .bi_main .bi_list {
		grid-template-columns: 1fr;
		gap: 10rem 0;
		margin-top: 8rem;
	}
}
#sec_bi .bi_main .bi_list .item .img {
	border-radius: 1rem;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	#sec_bi .bi_main .bi_list .item .img {
		border-radius: 2rem;
	}
}
#sec_bi .bi_main .bi_list .item .txt {
	text-align: justify;
	font-size: 1.4rem;
	line-height: 1.5;
	margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
	#sec_bi .bi_main .bi_list .item .txt {
		font-size: 2.4rem;
	}
}