@-webkit-keyframes bggradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
@keyframes bggradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.pFv {
	width: 100%;
}
.pFv__inner {
	position: relative;
	padding-top: 104rem;
	background-color: var(--c-gray);
}
.pFv__container {
	padding-left: 25rem;
}
.pFv__half {
	position: absolute;
	top: 120rem;
	left: 64rem;
	width: 262rem;
	height: 190rem;
	overflow: hidden;
}
.pFv__half_item {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 330rem;
	height: 330rem;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.pFv__title_en {
	z-index: 1;
	position: relative;
	font-weight: 400;
	font-size: 50rem;
	line-height: 1;
	font-family: var(--f-en);
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
.pFv__title_en_item {
	display: block;
}
.pFv__title_jp {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 4rem;
	font-weight: 500;
	font-size: 18rem;
	line-height: 1.6;
	font-family: var(--f-noto-serif);
	letter-spacing: 0.02em;
}
.pFv__title_jp::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1rem;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: left;
	transform-origin: left;
	background-color: var(--c-black);
	content: "";
	-webkit-transition: -webkit-transform 0.4s var(--e-out-expo) 0.5s;
	transition: -webkit-transform 0.4s var(--e-out-expo) 0.5s;
	transition: transform 0.4s var(--e-out-expo) 0.5s;
	transition: transform 0.4s var(--e-out-expo) 0.5s, -webkit-transform 0.4s var(--e-out-expo) 0.5s;
}
.pFv__title_jp.is-active::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
.pFv__image {
	z-index: 0;
	position: relative;
	width: 100%;
	margin-top: 72rem;
}
.pFvLead {
	padding: 32rem 24rem 0;
	border-top: 1rem solid var(--c-black);
	border-bottom: 1rem solid var(--c-black);
	background-color: var(--c-white);
}
.pFvLead__headline {
	font-weight: 500;
	font-size: 24rem;
	line-height: 1.6;
	font-family: var(--f-noto-serif);
	letter-spacing: 0.02em;
}
.pFvLead__text_item {
	font-weight: 400;
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
.pFvLead__graph {
	z-index: 1;
	position: relative;
	width: 100%;
	margin-top: 40rem;
	background-color: var(--c-white);
}
.pFvLead__graph_inner {
	padding: 32rem 24rem 24rem;
	border: 1px solid var(--c-black);
}
.pFvLead__graph_headline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 16rem;
}
.pFvLead__graph_headline_item1 {
	display: block;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-bottom: 6rem;
	font-size: 18rem;
}
.pFvLead__graph_headline_item1::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1rem;
	background-color: var(--c-black);
	content: "";
}
.pFvLead__graph_headline_item2 {
	font-weight: 400;
	font-size: 31rem;
	line-height: 1;
	font-family: var(--f-en);
	text-transform: uppercase;
}
.pFvLead__graph_body {
	position: relative;
	margin-top: 24rem;
}
.pFvLead__graph_image {
	width: 100%;
	pointer-events: none;
}
.pProgram {
	z-index: 0;
	position: relative;
	margin-top: -160rem;
	padding: 208rem 32rem 48rem;
	border-top: 1rem solid var(--c-black);
	background-color: var(--c-gray);
}
.pProgram__inner {
	width: 100%;
}
.pProgram__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 24rem;
}
.pProgramListItem__title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	padding-bottom: 13rem;
	border-bottom: 1rem solid var(--c-black);
}
.pProgramListItem__title_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 10rem;
}
.pProgramListItem__title_index {
	display: block;
	margin-left: 3rem;
	font-weight: 500;
	font-size: 26rem;
	line-height: 1;
	font-family: var(--f-en);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.pProgramListItem__title_text {
	font-weight: 400;
	font-size: 20rem;
	line-height: 1.2;
	letter-spacing: 0.02em;
}
.pProgramListItem__title_icon {
	display: block;
	width: 22rem;
	-webkit-transition: -webkit-transform 0.3s var(--e-out-expo);
	transition: -webkit-transform 0.3s var(--e-out-expo);
	transition: transform 0.3s var(--e-out-expo);
	transition: transform 0.3s var(--e-out-expo), -webkit-transform 0.3s var(--e-out-expo);
}
.pProgramListItem__detail {
	height: 0;
	overflow: hidden;
	-webkit-transform-origin: top;
	transform-origin: top;
	-webkit-transition: height 0.4s var(--e-out-quint);
	transition: height 0.4s var(--e-out-quint);
}
.pProgramListItem__detail_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 24rem 0 0;
	gap: 16rem;
}
.pProgramListItem__detail_list_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 4rem;
}
.pProgramListItem__detail_list_item_title {
	width: 100%;
	padding: 5rem 0;
	background-color: #cddadf;
	font-weight: 400;
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.02em;
	text-align: center;
}
.pProgramListItem__detail_list_item_detail {
	width: 100%;
	padding: 16rem 24rem;
	background-color: var(--c-white);
	font-weight: 400;
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
.pProgramListItem.is-open .pProgramListItem__title_icon {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.pJob {
	padding: 48rem 32rem;
	border-top: 1rem solid var(--c-black);
	background-color: var(--c-white);
}
.pJob__headline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 1;
	position: relative;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-weight: 500;
	font-size: 28rem;
	line-height: 1;
	font-family: var(--f-noto-serif);
}
.pJob__headline_image {
	z-index: 0;
	position: relative;
	width: 100%;
	height: 48rem;
	margin-top: -8rem;
}
.pJob__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-top: 16rem;
	gap: 16rem;
}
.pJobListItem {
	padding-bottom: 25rem;
	border-bottom: 1rem solid var(--c-black);
}
.pJobListItem__headline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
.pJobListItem__headline_text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-bottom: 8rem;
	gap: 2rem;
}
.pJobListItem__headline_text_item {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 7rem 8rem 8rem;
	background-color: var(--c-gray);
	font-weight: 400;
	font-size: 20rem;
	line-height: 1;
	letter-spacing: 0.02em;
}
.pJobListItem__headline_icon {
	width: 120rem;
	height: 88rem;
}
.pJobListItem__description {
	margin-top: 9rem;
	font-weight: 400;
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
.pLink {
	position: relative;
	overflow: hidden;
}
.pLink__background {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f2f8f8;
}
.pLink__background::after {
	opacity: 0.4;
}
.pLink__background_item {
	width: 100%;
	height: 100%;
	background: radial-gradient(ellipse 70% 50% at 90% 20%, #61ffd5 0%, rgba(184, 230, 184, 0.4) 40%, rgba(184, 230, 184, 0.4) 40%, transparent 70%), radial-gradient(ellipse 50% 70% at 10% 90%, #61ffd5 0%, rgba(168, 216, 168, 0.4) 40%, transparent 70%),
		linear-gradient(125deg, transparent 0%, transparent 15%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.5) 45%, rgba(255, 255, 255, 0.2) 65%, transparent 75%, transparent 75%, transparent 100%), linear-gradient(55deg, #87ceeb 0%, #ffffff 25%, #95cdff 60%, #0088ff 100%);
	background: radial-gradient(ellipse 70% 50% at 90% 20%, #61ffd5 0%, rgba(184, 230, 184, 0.4) 40% 40%, transparent 70%), radial-gradient(ellipse 50% 70% at 10% 90%, #61ffd5 0%, rgba(168, 216, 168, 0.4) 40%, transparent 70%),
		linear-gradient(125deg, transparent 0%, transparent 15%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.5) 45%, rgba(255, 255, 255, 0.2) 65%, transparent 75% 75%, transparent 100%), linear-gradient(55deg, #87ceeb 0%, #ffffff 25%, #95cdff 60%, #0088ff 100%);
	background-position: 0% 50%;
	background-size: 200% 200%;
	-webkit-animation: bggradient 30s ease infinite;
	animation: bggradient 30s ease infinite;
	opacity: 1;
}
.pLink__inner {
	z-index: 1;
	position: relative;
	padding: 40rem 32rem;
}
.pLink__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 16rem;
}
.pLinkListItem {
	background-color: var(--c-white);
}
.pLinkListItem__link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 237rem;
	border: 1rem solid var(--c-black);
}
.pLinkListItem__link_image {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100%;
	height: 144rem;
}
.pLinkListItem__link_headline {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	padding: 16rem 0 0 15rem;
}
.pLinkListItem__link_headline_main {
	font-weight: 500;
	font-size: 25rem;
	line-height: 1;
	font-family: var(--f-noto-serif);
	letter-spacing: 0.02em;
}
.pLinkListItem__link_headline_sub {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 8rem;
	padding: 5rem 8rem 6rem;
	background-color: var(--c-black);
	color: var(--c-white);
	font-weight: 500;
	font-size: 16rem;
	line-height: 1;
	letter-spacing: 0.02em;
}
.pLinkListItem__link_headline_icon {
	position: absolute;
	right: 0;
	bottom: 0;
	--icon-width: 56rem;
	--icon-height: 56rem;
	border-right: none;
	border-bottom: none;
}
@media screen and (min-width: 768px) {
	.pFv__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		padding: 16rem 0;
	}
	.pFv__container {
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		width: calc(100% - 848rem - 16rem);
		padding: 141rem 0 0;
	}
	.pFv__half {
		position: relative;
		top: auto;
		left: auto;
		width: 536rem;
		height: 404rem;
		margin-left: 112rem;
	}
	.pFv__half_item {
		width: 700rem;
		height: 700rem;
	}
	.pFv__title_en {
		position: absolute;
		top: 400rem;
		left: 56rem;
		font-size: 100rem;
	}
	.pFv__title_jp {
		margin: 56rem 0 0 56rem;
		font-size: 24rem;
	}
	.pFv__image {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		width: 848rem;
		height: 673rem;
		margin: 0 16rem 0 0;
	}
	.pFvLead {
		padding: 81rem 200rem 0;
		background: linear-gradient(273deg, #e4ecef 2.53%, #fff 33.73%);
	}
	.pFvLead__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.pFvLead__headline {
		font-size: 32rem;
	}
	.pFvLead__text {
		width: 880rem;
	}
	.pFvLead__text_item {
		font-size: 16rem;
	}
	.pFvLead__graph {
		margin-top: 80rem;
	}
	.pFvLead__graph_inner {
		padding: 64rem 96rem;
	}
	.pFvLead__graph_headline {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		margin-left: 12rem;
		gap: 16rem;
	}
	.pFvLead__graph_headline_item1 {
		margin-top: -10rem;
		padding-bottom: 7rem;
		font-size: 26rem;
	}
	.pFvLead__graph_headline_item1::after {
		bottom: 0;
	}
	.pFvLead__graph_headline_item2 {
		font-size: 42rem;
	}
	.pFvLead__graph_body {
		margin-top: 32rem;
	}
	.pProgram {
		margin-top: -170rem;
		padding: 241rem 200rem 113rem;
	}
	.pProgram__list {
		gap: 61rem;
	}
	.pProgramListItem__title {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding-bottom: 24rem;
		padding: 0 24rem 24rem 4rem;
	}
	.pProgramListItem__title_inner {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 40rem;
	}
	.pProgramListItem__title_index {
		margin-left: 0;
		font-size: 36rem;
	}
	.pProgramListItem__title_text {
		font-size: 24rem;
	}
	.pProgramListItem__title_icon {
		width: 28rem;
		height: 28rem;
		margin-top: -10rem;
	}
	.pProgramListItem:first-child .pProgramListItem__title {
		padding: 0 24rem 24rem 9rem;
	}
	.pProgramListItem__detail_list dl {
		display: grid;
		grid-template-columns: 240rem 240rem auto;
		padding-top: 37rem;
		grid-gap: 2rem;
		gap: 2rem;
	}
	.pProgramListItem__detail_list_item {
		gap: 2rem;
	}
	.pProgramListItem__detail_list_item_title {
		padding: 11rem 0;
		font-size: 16rem;
	}
	.pProgramListItem__detail_list_item_detail {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 24rem 32rem;
		font-size: 16rem;
		line-height: 1.6;
	}
	.pJob {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 128rem 200rem;
		gap: 100rem;
	}
	.pJob__inner {
		position: relative;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		width: 184rem;
	}
	.pJob__headline {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 195rem;
	}
	.pJob__headline_item {
		font-size: 39rem;
	}
	.pJob__headline_image {
		position: absolute;
		top: 60rem;
		left: 0;
		width: 100%;
		height: 168rem;
	}
	.pJob__list {
		margin-top: 0;
		gap: 48rem;
	}
	.pJobListItem {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding-bottom: 32rem;
		gap: 23rem;
	}
	.pJobListItem__headline {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		width: 168rem;
		gap: 26rem;
	}
	.pJobListItem__headline_text {
		position: absolute;
		margin: 0;
		padding: 7rem 8rem 8rem;
		background-color: var(--c-gray);
	}
	.pJobListItem__headline_text_item {
		padding: 0;
		font-size: 24rem;
	}
	.pJobListItem__headline_text--media {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 0;
	}
	.pJobListItem__headline_icon {
		width: 168rem;
		height: 88rem;
		margin-top: 65rem;
	}
	.pJobListItem__description {
		margin-top: 57rem;
		font-size: 16rem;
	}
	.pLink__background::after {
		opacity: 1;
	}
	.pLink__background_item {
		opacity: 0.4;
	}
	.pLink__inner {
		padding: 64rem 32rem;
	}
	.pLink__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 29rem;
		gap: 29rem;
	}
	.pLinkListItem__link {
		height: 364rem;
	}
	.pLinkListItem__link_image {
		height: 257rem;
		overflow: hidden;
	}
	.pLinkListItem__link_headline {
		padding: 14rem 0 0 15rem;
	}
	.pLinkListItem__link_headline_main {
		font-size: 31rem;
	}
	.pLinkListItem__link_headline_sub {
		z-index: 1;
		position: relative;
		margin-top: 14rem;
		background-color: transparent;
		font-size: 20rem;
		-webkit-transition: color 0.3s var(--e-out-expo);
		transition: color 0.3s var(--e-out-expo);
	}
	.pLinkListItem__link_headline_sub::after {
		z-index: -1;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: left;
		transform-origin: left;
		background-color: var(--c-black);
		content: "";
		-webkit-transition: -webkit-transform 0.4s var(--e-out-expo);
		transition: -webkit-transform 0.4s var(--e-out-expo);
		transition: transform 0.4s var(--e-out-expo);
		transition: transform 0.4s var(--e-out-expo), -webkit-transform 0.4s var(--e-out-expo);
	}
	.pLinkListItem__link_headline_icon {
		--icon-width: 64rem;
		--icon-height: 64rem;
	}
}
@media screen and (min-width: 768px) and (any-hover: hover) {
	.pLinkListItem__link:hover .pLinkListItem__link_headline_sub {
		color: var(--c-black);
	}
	.pLinkListItem__link:hover .pLinkListItem__link_headline_sub::after {
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: right;
		transform-origin: right;
	}
}
