@charset "UTF-8";

.p-mainVisualWrapper {
	background-image: url("/assets/img/bg_main_visual_sp.png");
	background-size: cover;
	background-position: top left;
	overflow: hidden;
	position: relative;
}

@media screen and (min-width: 768px) {
	.p-mainVisualWrapper {
		background-image: url("/assets/img/bg_main_visual.webp");
	}
}

.p-mainVisual {
	display: flex;
	min-height: 140vw;
	padding-block: 25.13vw 6.15vw;
	position: relative;
}

.p-mainVisualContents {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.p-mainVisualCopy {
	width: 100%;
}

.p-mainVisualMainText {
	display: flex;
	flex-direction: column;
	gap: 1vw;
	position: relative;
	z-index: 3;
}

.p-mainVisualMainText__upper {
	width: 71.79vw;
}

.p-mainVisualMainText__bottom {
	width: 77.95vw;
}

.p-mainVisualSubText {
	font-size: 4.1vw;
	font-weight: 700;
	line-height: 2;
	margin-top: 1.79vw;
	margin-left: 2.56vw;
	position: relative;
	z-index: 3;
}

.p-mainVisualObject.--lineTop {
	width: 62.05vw;
	padding-top: 108.46%;
	background-image: url("/assets/img/bg_object_line_main_top_sp.png");
	background-size: contain;
	background-position: top right;
	position: absolute;
	top: 0;
	right: 0;
}

.p-mainVisualObject.--imagelarge {
	width: 65.9vw;
	padding-top: 35.38%;
	background-image: url("/assets/img/img_main_large_sp.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 45.13vw;
	right: -14.1vw;
}

.p-mainVisualObject.--imageSmall {
	width: 44.36vw;
	padding-top: 24.1%;
	background-image: url("/assets/img/img_main_small_sp.png");
	background-size: contain;
	background-position: top left;
	position: absolute;
	top: 75.64vw;
	right: 2.05vw;
}

.p-mainVisualObject.--illust {
	width: 80.77vw;
	padding-top: 57.44%;
	background-image: url("/assets/img/img_main_game_sp.png");
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 60.77vw;
	right: 10vw;
}

/* MVアニメーション */
.--animeFadein01 {
	opacity: 0;
	animation: fadein 0.5s ease 0.5s forwards;
}

.--animeSlide01 {
	clip-path: polygon(0% 100%, 0% 100%, 0% 100%, 0% 100%);
	will-change: clip-path;
	animation: revealClip 0.5s ease 0.5s forwards;
}

.--animeText02 {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	animation: clipReveal 0.5s ease-out 0.5s forwards;
}

.--animeText03 {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	animation: clipReveal 0.5s ease-out 0.7s forwards;
}

.--animeText04 {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	animation: clipReveal 1s ease-out 1s forwards;
}

.--animeFadein05 {
	opacity: 0;
	animation: fadein 0.5s ease 1.6s forwards;
}

@keyframes fadein {
	100% {
		opacity: 1;
	}
}

@keyframes revealClip {
	100% {
		clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 0%);
	}
}

@keyframes clipReveal {
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

@media screen and (min-width: 768px) {
	.p-mainVisual {
		min-height: inherit;
		padding-block: 12.96vw 11.49vw;
	}

	.p-mainVisualMainText__upper {
		width: 35.94vw;
	}

	.p-mainVisualMainText__bottom {
		width: 38.95vw;
	}

	.p-mainVisualSubText {
		font-size: 2.05vw;
		margin-top: 1.17vw;
		margin-left: 1.02vw;
	}

	.p-mainVisualObject.--lineTop {
		width: 50.66vw;
		padding-top: 41.65vw;
		background-image: url("/assets/img/bg_object_line_main_top_pc.png");
		top: 0;
		right: 0;
	}

	.p-mainVisualObject.--imagelarge {
		width: 27.67vw;
		padding-top: 14.93%;
		background-image: url("/assets/img/img_main_large_pc.png");
		top: 6.66vw;
		right: 2.2vw;
	}

	.p-mainVisualObject.--imageSmall {
		width: 21.38vw;
		padding-top: 11.49%;
		background-image: url("/assets/img/img_main_small_pc.png");
		top: 23.06vw;
		right: 11.27vw;
	}

	.p-mainVisualObject.--illust {
		width: 20.86vw;
		padding-top: 32.87%;
		background-image: url("/assets/img/img_main_game_pc.png");
		top: 8.86vw;
		right: 25.55vw;
	}
}

@media screen and (min-width: 1024px) {
	.p-mainVisualMainText {
		gap: 16px;
	}

	.p-mainVisualMainText__upper {
		width: 491px;
	}

	.p-mainVisualMainText__bottom {
		width: 532px;
	}

	.p-mainVisualSubText {
		font-size: 28px;
		margin-top: 16px;
		margin-left: 14px;
	}

	.--animeText04 {
		animation: clipReveal 1.5s ease-out 1s forwards;
	}
}

@media screen and (min-width: 1440px) {
	.p-mainVisual {
		padding-block: 177px 157px;
	}

	.p-mainVisualObject.--lineTop {
		background-image: url("/assets/img/bg_object_line_main_top_large_pc.png");
		width: 1002px;
		padding-top: 723px;
		top: -154px;
		left: 50%;
		transform: translateX(-9px);
	}

	.p-mainVisualObject.--imagelarge {
		width: 378px;
		padding-top: 204px;
		top: 90px;
		left: 50%;
		transform: translateX(275px);
	}

	.p-mainVisualObject.--imageSmall {
		width: 292px;
		padding-top: 157px;
		top: 315px;
		left: 50%;
		transform: translateX(236px);
	}

	.p-mainVisualObject.--illust {
		width: 285px;
		padding-top: 449px;
		top: 121px;
		left: 50%;
		transform: translateX(50px);
	}
}

.p-topEntry {
	position: relative;
	z-index: 3;
}

.p-topEntryLink {
	color: var(--color-text-light);
	padding: 13px 13px 12px;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: var(--color-bg-navy);
	background-blend-mode: multiply;
	border-radius: 4px;
	overflow: hidden;
	transition: var(--hover);
	position: relative;
}

.p-topEntryLinkText {
	display: flex;
	align-items: center;
	gap: 4px;
}

.p-topEntryLinkText__entry {
	width: 80px;
}

.p-topEntryLinkText__text {
	font-size: 12px;
	font-weight: 700;
	line-height: 2;
}

.p-topEntryLinkText__icon {
	width: 8px;
	margin-left: 4px;
}

.p-topEntryLinkDate {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.p-topEntryLinkDate .--large {
	font-size: 20px;
	font-style: normal;
	margin-left: 2px;
}

@media screen and (min-width: 768px) {
	.p-topEntry {
		position: absolute;
		right: 24px;
		bottom: 24px;
		z-index: 2;
	}

	.p-topEntryLink {
		background-blend-mode: multiply;
		padding: 0;
		flex-direction: column;
		gap: 0;
		position: relative;
		z-index: 1;
	}

	.p-topEntryLinkText {
		width: 100%;
		justify-content: center;
		padding-block: 16px 10px;
	}

	.p-topEntryLinkText__entry {
		width: 100px;
	}

	.p-topEntryLinkText__text {
		font-size: 14px;
	}

	.p-topEntryLinkText__icon {
		width: 11px;
	}

	.p-topEntryLinkDate {
		font-size: 14px;
		padding-block: 3px 7px;
		padding-inline: 16px 13px;
		background-color: var(--color-bg-dark);
	}

	.p-topEntryLinkDate .--large {
		font-size: 24px;
	}
}

@media screen and (min-width: 1024px) {
	.p-topEntry {
		right: 40px;
	}
}

@media screen and (min-width: 1440px) {
	.p-topEntry {
		left: 50%;
		transform: translateX(410px);
	}
}

/* ----------------------------
  News
 ---------------------------- */
.p-topicsSection {
	padding-bottom: calc(72px + 72px);
	position: relative;
	z-index: 1;
}

.p-mainVisualObject.--lineBottom {
	width: 30.26vw;
	padding-top: 62.31%;
	background-image: url("/assets/img/bg_object_line_main_bottom_sp.png");
	background-size: contain;
	background-position: top left;
	position: absolute;
	bottom: calc(100% - 22vw);
	left: 0;
	z-index: -1;
}

.p-objectBg.--topics {
	display: block;
	width: 100%;
	height: 480px;
	background: linear-gradient(180deg,
			rgba(255, 255, 255, 0) 0%,
			#ffffff 71.63%);
	position: absolute;
	top: -160px;
	left: 0;
	z-index: -2;
}

.p-topicsSection::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 160px);
	background-color: var(--color-bg-white);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.p-newsSection {
	display: flex;
	flex-direction: column;
	background-color: rgb(255 255 255 / 50%);
	border-radius: 16px;
	padding: 24px;
}

.p-newsLeft {
	display: contents;
}

.p-newsHeading {
	margin-bottom: 24px;
	order: 0;
}

.p-newsHeading img {
	width: 114px;
}

.p-newsMore {
	margin-top: 24px;
	order: 2;
}

.p-newsList {
	max-width: 740px;
	width: 100%;
	list-style: none;
	display: grid;
	gap: 8px;
	order: 1;
}

.p-newsListItem {
	height: fit-content;
	border-bottom: 1px solid var(--color-border-main);
	padding-bottom: 8px;
}

.p-newsListLink {
	display: block;
	transition: var(--hover);
}

.p-newsListDate {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 4px;
}

.p-newsListLinkUnderline {
	display: inline-block;
	padding-bottom: 4px;
	position: relative;
}

.p-newsListLinkUnderline::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 1px;
	background-color: var(--color-bg-link);
	position: absolute;
	left: 0;
	bottom: 0;
	transition: var(--hover);
}

.p-newsListTitle {
	font-size: 14px;
	line-height: 1.75;
}

@media (hover: hover) {
	.p-newsListLink:hover {
		color: var(--color-bg-link);
	}

	.p-newsListLink:hover .p-newsListLinkUnderline::after {
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.p-mainVisualObject.--lineBottom {
		width: 18.74vw;
		padding-top: 46.27%;
		background-image: url("/assets/img/bg_object_line_main_bottom_pc.png");
		bottom: calc(100% - 37vw);
	}

	.p-topicsSection::after {
		z-index: -2;
	}

	.p-newsSection {
		padding: 40px;
		flex-direction: row;
		gap: 80px;
	}

	.p-newsLeft {
		min-height: 100%;
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.p-newsHeading {
		margin-bottom: 0;
		flex-grow: 1;
	}

	.p-newsMore {
		margin-block: 0;
	}
}

@media screen and (min-width: 1024px) {
	.p-topicsSection {
		padding-bottom: calc(100px + 100px);
	}

	.p-objectBg.--topics {
		height: calc(160px + 100%);
		background: linear-gradient(180deg,
				rgba(255, 255, 255, 0) 0%,
				#ffffff 71.63%);
		top: -160px;
	}

	.p-newsHeading img {
		width: 137px;
	}

	.p-topicsSection::after {
		display: none;
	}

	.p-newsSection {
		gap: 0;
	}

	.p-newsLeft {
		min-width: 230px;
	}

	.p-newsListDate {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.p-newsListTitle {
		font-size: 16px;
	}

	.p-newsList {
		gap: 16px;
	}

	.p-newsListItem {
		padding-bottom: 16px;
	}
}

@media screen and (min-width: 1440px) {
	.p-mainVisualObject.--lineBottom {
		background-image: url("/assets/img/bg_object_line_main_bottom_large_pc.png");
		width: 490px;
		padding-top: 630px;
		bottom: -16px;
		left: 50%;
		transform: translateX(-917px);
	}
}

/* ----------------------------
  About
 ---------------------------- */
.p-aboutSection {
	margin-top: -72px;
	position: relative;
	z-index: 3;
}

.p-aboutHeading {
	margin-bottom: 40px;
}

.p-aboutHeading img {
	width: 131px;
}

.p-aboutContents {
	color: var(--color-text-light);
}

.p-aboutCopy {
	font-size: 18px;
	font-weight: 700;
	line-height: 2;
	margin-bottom: 24px;
}

.p-aboutDetails {
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
}

.p-aboutDetails * {
	margin-top: 2em;
}

.p-aboutImage {
	width: 78.65%;
	max-width: 386px;
	margin-top: 40px;
	margin-inline: auto;
}

@media screen and (min-width: 768px) {
	.p-aboutContents {
		padding-right: 40.74%;
		position: relative;
	}

	.p-aboutImage {
		width: 35.74%;
		margin-top: 0;
		position: absolute;
		top: 30px;
		right: 0;
	}
}

@media screen and (min-width: 1024px) {
	.p-aboutSection {
		margin-top: -100px;
	}

	.p-aboutHeading img {
		width: 210px;
	}

	.p-aboutCopy {
		font-size: 24px;
	}

	.p-aboutCopy span {
		display: block;
	}

	.p-aboutDetails {
		font-size: 16px;
	}
}

/* ----------------------------
  Program
 ---------------------------- */
.p-programSectionWrapper {
	position: relative;
	z-index: 1;
}

.p-objectLine.--programTop {
	display: block;
	width: 183px;
	height: 202px;
	background-image: url("/assets/img/bg_object_line_01.png");
	background-size: contain;
	background-position: top right;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

.p-objectBg.--programTop {
	display: block;
	width: 100%;
	height: 920px;
	background: linear-gradient(180deg,
			#ffffff 28.37%,
			rgba(255, 255, 255, 0) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.p-programSection {
	padding-block: calc(72px + 72px) 72px;
	margin-top: -72px;
	position: relative;
	z-index: 0;
}

.p-programHeading {
	margin-bottom: 32px;
}

.p-programHeading img {
	width: 174px;
}

.p-programContents {
	position: relative;
	z-index: 2;
}

.p-programList {
	list-style: none;
	padding-top: 32px;
	border-top: 1px solid var(--color-border-main);
	margin-top: 32px;
}

.p-programListItem {
	padding-bottom: 32px;
	border-bottom: 1px solid var(--color-border-main);
	margin-bottom: 32px;
}

.p-programListContents {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.p-programTitle {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	padding-top: 28px;
	margin-bottom: 16px;
	position: relative;
}

.p-programTitle sup {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.75;
	margin-left: 4px;
}

.p-programTitle::before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 9px;
	background-image: url("/assets/img/icon_line.png");
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 8px;
	left: 1px;
}

.p-programTitle::after {
	content: "";
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	height: 23px;
	position: absolute;
	top: 0;
	left: 26px;
}

.p-programTitle.--01::after {
	width: 25px;
	background-image: url("/assets/img/text_number_01.svg");
}

.p-programTitle.--02::after {
	width: 26px;
	background-image: url("/assets/img/text_number_02.svg");
}

.p-programTitle.--03::after {
	width: 26px;
	background-image: url("/assets/img/text_number_03.svg");
}

.p-programText {
	font-size: 14px;
	line-height: 1.75;
	margin-bottom: 16px;
}

.p-programImage {
	width: 208px;
}

.p-programInfoWrapper {
	margin-top: 72px;
}

.p-programInfoInnerWrapper {
	display: grid;
	gap: 32px;
}

.p-programInfoTitle {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
}

.p-programStep {
	list-style: none;
	display: grid;
	gap: 24px;
}

.p-programStepItem {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 16px;
	align-items: start;
}

.p-programStepYear {
	color: var(--color-text-light);
	line-height: 1;
	width: 32px;
	height: 100%;
	padding-block: 8px 4px;
	background-size: cover;
	background-position: bottom center;
	display: flex;
	justify-content: center;
	position: relative;
}

.p-programStepYear.--01 {
	background-image: url("/assets/img/bg_arrow_lightBlue_slim.png");
}

.p-programStepYear.--01 img {
	width: 13px;
}

.p-programStepYear.--02 {
	background-image: url("/assets/img/bg_arrow_blue_slim.png");
}

.p-programStepYear.--02 img {
	width: 13px;
}

.p-programStepYear.--03 {
	background-image: url("/assets/img/bg_arrow_darkBlue_slim.png");
}

.p-programStepYear.--03 img {
	width: 13px;
}

.p-programStepContents small {
	font-size: 12px;
	font-weight: 400;
	margin-left: 0.5em;
}

@media screen and (min-width: 768px) {
	.p-programListContents {
		flex-direction: row;
		gap: 40px;
	}

	.p-programImage {
		width: 324px;
		flex-shrink: 0;
	}
}

@media screen and (min-width: 1024px) {
	.p-objectLine.--programTop {
		width: 420px;
		height: 465px;
		top: -166px;
	}

	.p-objectBg.--programTop {
		height: 682px;
		background: linear-gradient(180deg,
				#ffffff 0%,
				rgba(255, 255, 255, 0) 100%);
	}

	.p-objectBg.--programTopRound {
		display: block;
		width: 1070px;
		height: 1070px;
		border-radius: 50%;
		background: radial-gradient(50% 50% at 50% 50%,
				#ffffff 0%,
				rgba(255, 255, 255, 0) 100%);
		opacity: 0.75;
		position: absolute;
		top: -145px;
		left: -180px;
	}

	.p-objectBg.--programBottom {
		display: block;
		width: 100%;
		height: 613px;
		background: linear-gradient(180deg,
				rgba(255, 255, 255, 0) 0%,
				#ffffff 100%);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -2;
	}

	.p-objectLine.--programBottom {
		display: block;
		width: 420px;
		height: 466px;
		background-image: url("/assets/img/bg_object_line_03.png");
		background-size: contain;
		background-position: top left;
		position: absolute;
		right: 0;
		bottom: -166px;
		z-index: -1;
	}

	.p-programSection {
		padding-block: calc(100px + 120px) calc(120px + 40px);
		margin-top: -100px;
	}

	.p-programHeading {
		margin-bottom: 40px;
	}

	.p-programHeading img {
		width: 280px;
	}

	.p-programList {
		margin-top: 40px;
		padding-top: 40px;
	}

	.p-programListItem {
		padding-bottom: 40px;
		margin-bottom: 40px;
	}

	.p-programListContents {
		padding-right: 40px;
	}

	.p-programTitle {
		font-size: 32px;
		padding-top: 40px;
		margin-bottom: 24px;
	}

	.p-programTitle::before {
		top: 13px;
	}

	.p-programTitle::after {
		height: 37px;
	}

	.p-programTitle.--01::after {
		width: 40px;
	}

	.p-programTitle.--02::after {
		width: 43px;
	}

	.p-programTitle.--03::after {
		width: 43px;
	}

	.p-programTitle sup {
		font-size: 16px;
		position: relative;
		top: -18px;
	}

	.p-programText {
		font-size: 16px;
	}

	.p-programInfoWrapper {
		margin-top: 120px;
		position: relative;
		z-index: 1;
	}

	.p-objectLine.--programMiddle {
		display: block;
		width: 290px;
		height: 632px;
		background-image: url("/assets/img/bg_object_line_02.png");
		background-size: cover;
		background-position: top right;
		position: absolute;
		top: -174px;
		left: 0;
		z-index: -1;
	}

	.p-programInfoInnerWrapper {
		gap: 40px;
	}

	.p-programInfoTitle {
		font-size: 20px;
	}

	.p-programStepItem {
		grid-template-columns: 80px 1fr;
		gap: 24px;
	}

	.p-programStepYear {
		width: 80px;
		align-items: center;
		padding-block: 0 17px;
	}

	.p-programStepYear.--01 {
		background-image: url("/assets/img/bg_arrow_lightBlue_bold.png");
	}

	.p-programStepYear.--01 img {
		width: 48px;
	}

	.p-programStepYear.--02 {
		background-image: url("/assets/img/bg_arrow_blue_bold.png");
	}

	.p-programStepYear.--03 {
		background-image: url("/assets/img/bg_arrow_darkBlue_bold.png");
	}

	.p-programStepYear.--02 img,
	.p-programStepYear.--03 img {
		width: 49px;
	}

	.p-programStepContents small {
		font-size: 14px;
	}
}

/* ----------------------------
  Adviser
 ---------------------------- */
.p-adviserSection {
	position: relative;
	z-index: 1;
}

.p-adviserHeading {
	width: 163px;
	margin-bottom: 32px;
}

@media screen and (min-width: 1024px) {
	.p-adviserSection {
		margin-top: -40px;
	}

	.p-adviserHeading img {
		width: 262px;
	}
}

/* ----------------------------
  Guideline
 ---------------------------- */
.p-guidelineWrapper {
	position: relative;
	margin-top: -72px;
}

.p-objectBg.--guidelineTop {
	width: 100%;
	height: 920px;
	background: linear-gradient(180deg,
			#ffffff 28.37%,
			rgba(255, 255, 255, 0) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.p-objectLine.--guidelineTop {
	display: block;
	width: 183px;
	height: 201px;
	background-image: url("/assets/img/bg_object_line_04.png");
	background-size: contain;
	background-position: bottom right;
	position: absolute;
	top: -52px;
	right: 0;
	z-index: -1;
}

.p-guidelineSection {
	padding-top: calc(72px + 72px);
}

.p-guidelineHeading {
	margin-bottom: 32px;
}

.p-guidelineHeading img {
	width: 240px;
}

.p-guidelineIntroduction {
	font-size: 14px;
	line-height: 1.75;
	margin-bottom: 32px;
}

.p-guidelineButton {
	text-align: center;
	margin-top: 32px;
}

@media screen and (min-width: 580px) {
	.p-guidelineHeading img {
		width: 473px;
	}
}

@media screen and (min-width: 1024px) {
	.p-objectBg.--guidelineTop {
		height: 682px;
		background: linear-gradient(180deg,
				#ffffff 0%,
				rgba(255, 255, 255, 0) 100%);
	}

	.p-objectBg.--guidelineTopRound {
		display: block;
		width: 1070px;
		height: 1070px;
		border-radius: 50%;
		background: radial-gradient(50% 50% at 50% 50%,
				#ffffff 0%,
				rgba(255, 255, 255, 0) 100%);
		opacity: 0.75;
		position: absolute;
		top: 10px;
		left: -180px;
		z-index: -1;
	}

	.p-objectLine.--guidelineTop {
		width: 290px;
		height: 632px;
		background-image: url("/assets/img/bg_object_line_05.png");
		background-position: top left;
		top: -40px;
		left: 0;
		right: inherit;
	}

	.p-guidelineSection {
		padding-top: calc(72px + 120px);
	}

	.p-guidelineHeading {
		margin-bottom: 40px;
	}

	.p-guidelineHeading img {
		width: 757px;
	}

	.p-guidelineIntroduction {
		font-size: 16px;
		margin-bottom: 40px;
	}

	.p-guidelineButton {
		margin-top: 40px;
	}
}

/* ----------------------------
  Actions
 ---------------------------- */
.p-actionsWrapper {
	padding-top: 72px;
}

.p-actionsContainer {
	display: grid;
	gap: 24px;
}

.p-actionBox {
	color: var(--color-text-light);
	padding-block: 32px;
	padding-inline: 24px;
	border-radius: 16px;
	background-color: rgb(38 39 61 / 75%);
}

.p-entryHeading {
	margin-bottom: 4px;
}

.p-entryHeading img {
	width: 110px;
}

.p-contactHeading {
	gap: 12px;
	margin-bottom: 4px;
}

.p-contactHeading img {
	width: 155px;
}

.p-actionText {
	font-size: 12px;
	line-height: 1.75;
}

.p-actionButton {
	margin-top: 24px;
}

.p-actionButton.--close {
	position: relative;
	overflow: hidden;
	z-index: 2;
}

@media screen and (min-width: 768px) {
	.p-actionsContainer {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.p-actionsWrapper {
		padding-top: 120px;
		position: relative;
		z-index: 1;
	}

	.p-objectLine.--actionsTop {
		width: 420px;
		height: 466px;
		background-image: url("/assets/img/bg_object_line_06.png");
		background-size: contain;
		background-position: top right;
		position: absolute;
		bottom: -195px;
		right: 0;
		z-index: -1;
	}

	.p-actionsContainer {
		gap: 40px;
	}

	.p-actionBox {
		padding-block: 40px;
		padding-inline: 56px;
	}

	.p-entryHeading img {
		width: 176px;
	}

	.p-contactHeading {
		gap: 28px;
	}

	.p-contactHeading img {
		width: 250px;
	}

	.p-actionText {
		font-size: 14px;
	}
}

/* ----------------------------
  募集終了グレーアウト
 ---------------------------- */
.p-entryClose {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(38, 39, 61, 0.95);
	pointer-events: none;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	pointer-events: none;
	overflow: hidden;
}

.p-entryCloseText {
	color: #ffffff;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 125%;
	text-align: center;
}

/* ----------------------------
  フェードインアニメーション
 ---------------------------- */
.js-fadein {
	opacity: 0;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-fadein.is-fadein {
	opacity: 1;
}
