@charset "utf-8";

.header__inner {
	gap: 80px;
}

.header__globalnav-menu-item:not(:last-child) {
	margin-right: 40px;
}

.header__globalnav-menu-item:not(:last-child)::after {
	margin-left: 40px;
}

.main {
	position: relative;
	font-family: "Noto Serif JP", serif;
	color: #000;
	z-index: 0;
}

.main__bg {
	width: 1920px;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
}

.main__bg img {
	width: 100%;
	height: auto;
	display: block;
}

/* animation
------------------------------------------------------ */
.fade-up {
	opacity: 0;
	will-change: opacity, transform;
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
	transform: translateY(40px);
}

.fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/*================================================================
# mv
================================================================ */
.mv {
	width: 100%;
	background-image: url(/lp/econ/img/mv.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 1920px auto;
	position: relative;
}

.mv .wrap {
	height: 1105px;
}

.mv__lead {
	width: 488px;
	height: auto;
	position: absolute;
	top: 188px;
	left: 10%;
}

.mv__title {
	width: 551px;
	height: auto;
	margin: 0;
	position: absolute;
	bottom: 200px;
	left: 50%;
	transform: translateX(-50%);
}

.mv__note {
	padding-right: 25px;
	padding-left: 25px;
	position: absolute;
	right: 0;
	bottom: 160px;
	left: 0;
	font-family: var(--font-family-base);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}

/*================================================================
# features
================================================================ */
.features {
	margin: -140px 0 0;
	padding: 100px 0 0;
}

.features .features__panel {
	padding: 120px 100px;
	border-radius: 28px;
	background: #fff;
	position: relative;
	z-index: 2;
}

.features .features__head {
	padding: 100px 0 48px;
	background: url(/lp/econ/img/features_title.png) no-repeat center bottom / 750px auto;
	position: relative;
	text-align: center;
}

.features .features__ribbon {
	width: 450px;
	position: absolute;
	top: -20px;
	left: 70px;
}

.features .features__title {
	font-size: 88px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.features .features__title strong {
	font-size: 88px;
	font-weight: 700;
	color: #f6ab00;
}

.features .features__title sup {
	position: relative;
	top: -1em;
	font-size: 24px;
}

.features .features__en {
	width: 504px;
	margin: 100px auto 0;
}

.features .features__copy-wrap {
	position: relative;
}

.features .features__copy {
	width: 600px;
	margin: 100px auto 0;
	position: relative;
	text-align: center;
	z-index: 2;
}

.features .features__copy p {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.features .features__copy sup {
	position: relative;
	top: -0.6em;
	font-size: 18px;
}

.features .features__copy span {
	margin-left: -0.2em;
	display: inline-block;
}

.features .features__body {
	max-width: 620px;
	margin: 32px auto 0;
	padding: 16px 0;
	border-top: 2px solid #e73656;
	border-bottom: 2px solid #e73656;
	position: relative;
}

.features .features__text {
	font-size: 19px;
	font-weight: 900;
	line-height: 2;
	text-align: center;
	letter-spacing: -0.03em;
}

.features .features__text sup {
	position: relative;
	top: 0em;
	font-size: 12px;
}

.features .features__note {
	margin: 40px 0 0;
	font-family: var(--font-family-base);
	font-size: 12px;
	line-height: 1.4;
	text-align: right;
}

/* deco
------------------------------------------------------ */
.features .features__deco {
	mix-blend-mode: hard-light;
	background: #fdd000;
	position: absolute;
	will-change: transform;
	z-index: 3;
}

.features .features__deco--01 {
	width: 63px;
	height: 63px;
	top: -17px;
	left: 66px;
	animation: deco-float-01 5.8s ease-in-out infinite;
}

.features .features__deco--02 {
	width: 97px;
	height: 97px;
	top: 450px;
	left: -30px;
	animation: deco-float-02 6.4s ease-in-out infinite;
}

.features .features__deco--03 {
	width: 63px;
	height: 63px;
	top: 562px;
	left: -148px;
	animation: deco-float-03 5.4s ease-in-out infinite;
}

.features .features__deco--04 {
	width: 89px;
	height: 89px;
	top: 200px;
	right: -60px;
	animation: deco-float-04 6s ease-in-out infinite;
}

.features .features__deco--05 {
	width: 118px;
	height: 118px;
	top: 258px;
	right: -30px;
	animation: deco-float-05 6.8s ease-in-out infinite;
}

.features .features__deco--06 {
	width: 88px;
	height: 88px;
	top: 1450px;
	left: -188px;
	animation: deco-float-06 5.6s ease-in-out infinite;
}

.features .features__deco--07 {
	width: 118px;
	height: 118px;
	top: 1770px;
	left: -72px;
	animation: deco-float-07 6.7s ease-in-out infinite;
}

.features .features__deco--08 {
	width: 34px;
	height: 34px;
	bottom: 1308px;
	left: -162px;
	animation: deco-float-08 5.1s ease-in-out infinite;
}

.features .features__deco--09 {
	width: 118px;
	height: 118px;
	bottom: 545px;
	left: -156px;
	animation: deco-float-09 6.2s ease-in-out infinite;
}

.features .features__deco--10 {
	width: 86px;
	height: 86px;
	bottom: 628px;
	left: -64px;
	animation: deco-float-10 5.4s ease-in-out infinite;
}

.features .features__deco--11 {
	width: 54px;
	height: 54px;
	right: -138px;
	bottom: 180px;
	animation: deco-float-11 5.8s ease-in-out infinite;
}

.features .features__deco--12 {
	width: 48px;
	height: 48px;
	right: -200px;
	bottom: 1200px;
	animation: deco-float-12 5.2s ease-in-out infinite;
}

.features .features__deco--13 {
	width: 103px;
	height: 103px;
	right: -56px;
	bottom: 1300px;
	animation: deco-float-13 6.6s ease-in-out infinite;
}

.features .features__deco--14 {
	width: 86px;
	height: 86px;
	right: -136px;
	bottom: 778px;
	animation: deco-float-14 5.3s ease-in-out infinite;
}

.features .features__deco--15 {
	width: 118px;
	height: 118px;
	top: 1412px;
	right: -64px;
	animation: deco-float-15 6.1s ease-in-out infinite;
}

.features .features__deco--16 {
	width: 48px;
	height: 48px;
	top: 1208px;
	right: -128px;
	animation: deco-float-16 5.7s ease-in-out infinite;
}

.features .features__deco--17 {
	width: 118px;
	height: 118px;
	right: -66px;
	bottom: -48px;
	animation: deco-float-17 6.9s ease-in-out infinite;
}

@keyframes deco-float-01 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(0, -26px);
	}
}

@keyframes deco-float-02 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(12px, -28px) rotate(3deg);
	}
}

@keyframes deco-float-03 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-20px, -24px);
	}
}

@keyframes deco-float-04 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(14px, -22px);
	}
}

@keyframes deco-float-05 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-22px, -26px) rotate(-3deg);
	}
}

@keyframes deco-float-06 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(8px, -22px);
	}
}

@keyframes deco-float-07 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(12px, -26px) rotate(2deg);
	}
}

@keyframes deco-float-08 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-6px, -20px);
	}
}

@keyframes deco-float-09 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(10px, -24px) rotate(-2deg);
	}
}

@keyframes deco-float-10 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(16px, -18px);
	}
}

@keyframes deco-float-11 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-18px, -20px);
	}
}

@keyframes deco-float-12 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-17px, -19px);
	}
}

@keyframes deco-float-13 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-20px, -25px) rotate(2deg);
	}
}

@keyframes deco-float-14 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-16px, -21px);
	}
}

@keyframes deco-float-15 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-19px, -23px) rotate(-2deg);
	}
}

@keyframes deco-float-16 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-17px, -20px);
	}
}

@keyframes deco-float-17 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-20px, -24px) rotate(2deg);
	}
}

/* voice
------------------------------------------------------ */
.features .features__voice {
	padding: 20px 28px;
	opacity: 0;
	border-radius: 16px;
	box-shadow: 4px 9px 11px rgba(0, 0, 0, 0.18);
	position: absolute;
	will-change: transform, opacity;
	z-index: 1;
	transform: translate3d(0, 0, 0) scale(0.94);
}

.features .features__voice::after {
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	content: "";
}

.features .features__voice p {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.55;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

.features .features__voice--01 {
	background: #006776;
	top: -138px;
	left: -74px;
	z-index: 2;
}

.features .features__voice--01::after {
	border-width: 20px 0 0 14px;
	border-color: #006776 transparent transparent transparent;
	bottom: -20px;
	left: 84px;
}

.features .features__voice--02 {
	background: #e73656;
	top: -52px;
	left: 61px;
}

.features .features__voice--02::after {
	border-width: 20px 0 0 14px;
	border-color: #e73656 transparent transparent transparent;
	right: 78px;
	bottom: -20px;
}

.features .features__voice--03 {
	padding: 40px;
	background: #00adcf;
	top: -145px;
	right: -72px;
}

.features .features__voice--03 p {
	font-size: 19px;
}

.features .features__voice--03::after {
	border-width: 20px 14px 0 0;
	border-color: #00adcf transparent transparent transparent;
	bottom: -20px;
	left: 64px;
}

.features .features__voice--04 {
	padding: 26px 34px;
	background: #00adcf;
	top: 100px;
	left: -48px;
}

.features .features__voice--04::after {
	border-width: 0 0 12px 20px;
	border-color: transparent transparent transparent #00adcf;
	right: -20px;
	bottom: 40px;
}

.features .features__voice--05 {
	background: #ed6d34;
	top: 70px;
	right: -22px;
}

.features .features__voice--05::after {
	border-width: 20px 14px 0 0;
	border-color: #ed6d34 transparent transparent transparent;
	bottom: -20px;
	left: 22px;
}

.features .features__voice--06 {
	background: #f6ab00;
	top: 172px;
	right: -78px;
}

.features .features__voice--06::after {
	border-width: 0 20px 12px 0;
	border-color: transparent #f6ab00 transparent transparent;
	bottom: 28px;
	left: -20px;
}

.features .features__voice--07 {
	padding: 20px 20px 20px 28px;
	background: #f6ab00;
	bottom: -23px;
	left: -76px;
}

.features .features__voice--07 p {
	font-size: 19px;
}

.features .features__voice--07::after {
	border-width: 0 0 20px 14px;
	border-color: transparent transparent #f6ab00 transparent;
	top: -20px;
	right: 18px;
}

.features .features__voice--08 {
	background: #006776;
	right: -54px;
	bottom: -12px;
}

.features .features__voice--08::after {
	border-width: 0 14px 20px 0;
	border-color: transparent transparent #006776 transparent;
	top: -20px;
	left: 18px;
}

.features .features__voice.is-visible {
	opacity: 1;
}

.features .features__voice--01.is-visible {
	animation: voice01-in 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--02.is-visible {
	animation: voice02-in 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--03.is-visible {
	animation: voice03-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--04.is-visible {
	animation: voice04-in 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--05.is-visible {
	animation: voice05-in 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--06.is-visible {
	animation: voice06-in 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--07.is-visible {
	animation: voice07-in 1.05s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.features .features__voice--08.is-visible {
	animation: voice08-in 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes voice01-in {
	0% {
		opacity: 0;
		transform: translate(120px, 40px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice02-in {
	0% {
		opacity: 0;
		transform: translate(80px, 20px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice03-in {
	0% {
		opacity: 0;
		transform: translate(-120px, 40px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice04-in {
	0% {
		opacity: 0;
		transform: translate(120px, -10px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice05-in {
	0% {
		opacity: 0;
		transform: translate(-90px, -10px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice06-in {
	0% {
		opacity: 0;
		transform: translate(-120px, -30px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice07-in {
	0% {
		opacity: 0;
		transform: translate(90px, -60px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice08-in {
	0% {
		opacity: 0;
		transform: translate(-90px, -60px) scale(0.9);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes voice01-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(0, -8px);
	}
}

@keyframes voice02-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(6px, -10px);
	}
}

@keyframes voice03-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-6px, -9px);
	}
}

@keyframes voice04-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(7px, -7px);
	}
}

@keyframes voice05-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-5px, -8px);
	}
}

@keyframes voice06-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-7px, -6px);
	}
}

@keyframes voice07-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(5px, -9px);
	}
}

@keyframes voice08-float {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-4px, -7px);
	}
}

/* features__challenge
------------------------------------------------------ */
.features .features__challenge {
	margin: 80px 0 0;
	padding: 80px 0 0;
	position: relative;
}

.features .features__challenge::before {
	width: 2px;
	height: 100px;
	background: #f6ab00;
	position: absolute;
	content: "";
	top: 0px;
	left: 50%;
}

.features .features__lead {
	margin: 80px 0 0;
	padding: 56px 40px 40px;
	border: 2px solid #f6ab00;
	border-radius: 32px;
	position: relative;
	text-align: center;
}

.features .features__lead::before {
	width: 80px;
	height: 80px;
	border-right: 2px solid #f6ab00;
	background-color: #fff;
	position: absolute;
	content: "";
	top: -55px;
	left: -55px;
	z-index: 1;
	transform: rotate(45deg);
}

.features .features__lead::after {
	width: 80px;
	height: 80px;
	border-left: 2px solid #f6ab00;
	background-color: #fff;
	position: absolute;
	content: "";
	right: -55px;
	bottom: -55px;
	z-index: 1;
	transform: rotate(45deg);
}

.features .features__lead-title {
	position: relative;
	font-size: 37px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.features .features__lead-title::before {
	width: 32px;
	height: 32px;
	background-color: #fff;
	position: absolute;
	content: "";
	top: -64px;
	right: 64px;
	z-index: 1;
}

.features .features__lead-title strong {
	font-size: 64px;
	font-weight: 700;
	color: #f6ab00;
}

.features .features__lead-title .dot {
	position: relative;
	display: inline-block;
}

.features .features__lead-title .dot::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #f6ab00;
	position: absolute;
	content: "";
	top: -0.22em;
	left: 50%;
	display: block;
	z-index: 1;
	transform: translateX(-50%);
}

.features .features__lead-title .dot--accent::before {
	top: -0.18em;
}

.features .features__list {
	margin: 72px 0 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px;
}

.features .features__item {
	min-width: 0;
}

.features .features__item--07 {
	grid-column: 1 / 3;
}

.features .features__item-head {
	display: flex;
	align-items: center;
	gap: 14px;
}

.features .features__item-head::after {
	height: 1px;
	background: #6a6a6a;
	content: "";
	flex: 1;
}

.features .features__item-label {
	line-height: 1;
}

.features .features__item-label img {
	width: 70px;
	margin: 0 0 4px;
}

.features .features__item-label span {
	margin: 0 0 0 6px;
	font-size: 46px;
	font-weight: 700;
	line-height: 46px;
}

.features .features__item-title {
	margin: 12px 0 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.618;
	letter-spacing: -0.04em;
}

.features .features__item-title sup {
	position: relative;
	top: -0.6em;
	font-size: 12px;
}

.features .features__item-title mark {
	padding: 0 0.2em;
	background: transparent;
	position: relative;
	display: inline-block;
}

.features .features__item-title mark::after {
	width: 100%;
	height: 36px;
	background: #f0b318;
	position: absolute;
	content: "";
	right: 0;
	bottom: 2px;
	z-index: -1;
	transition: transform 0.7s ease 0.45s;
	transform: scaleX(0);
	transform-origin: left center;
}

.features .features__item.is-visible .features__item-title mark::after {
	transform: scaleX(1);
}

.features .features__item--04 .features__item-title {
	display: flex;
}

.features .features__item--04 .features__item-title mark {
	margin: 0;
	padding: 0;
	display: flex;
}

.features .features__item--04 .features__item-title mark span {
	margin: 0 -6px;
	padding: 0;
}

.features .features__media {
	margin: 18px 0 0;
}

.features .features__media img {
	width: 100%;
	height: auto;
	display: block;
}

.features .features__media.infographic01 img {
	width: 88%;
}

.features .features__media.infographic02 img {
	margin: 0 auto;
	display: block;
	text-align: center;
}

.features .features__item-body {
	margin: 18px 0 0;
	display: grid;
	align-items: start;
	grid-template-columns: 1fr 220px;
	gap: 20px;
}

.features .features__info {
	margin: 16px 0 0;
	padding: 18px 18px 16px;
	background: #dee8ee;
}

.features .features__info-title {
	padding: 0 0 8px;
	border-bottom: 1px solid #000;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

.features .features__info-list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.features .features__info-list li {
	padding-left: 1em;
	position: relative;
	font-size: 18px;
	font-weight: 800;
}

.features .features__info-list li::before {
	width: 0.6em;
	height: 0.6em;
	border-radius: 50%;
	background: #000;
	position: absolute;
	content: "";
	top: 0.7em;
	left: 0;
}

.features .features__info-note {
	margin: 12px 0 0;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}

.features .features__programs {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}

.features .features__programs li {
	padding: 11px 12px;
	background: #dee8ee;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.features .features__programs li strong {
	font-size: 22px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: -0.05em;
}

.features .features__global {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.features .features__global li {
	padding: 18px 20px;
	background: #dee8ee;
	display: flex;
	align-items: center;
	gap: 16px;
}

.features .features__global img {
	width: 56px;
	height: auto;
	display: block;
	flex-shrink: 0;
}

.features .features__global strong {
	font-size: 22px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: -0.05em;
}

.features .features__global span {
	margin: 0 -0.3em;
	display: inline-block;
}

.features .features__global p {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
}

/*================================================================
# fields
================================================================ */
.fields {
	margin: 0;
	padding: 120px 0 0;
}

.fields .fields__panel {
	padding: 120px 100px;
	border-radius: 28px;
	background: #fff;
	position: relative;
	z-index: 2;
}

.fields .fields__head {
	width: 80%;
	margin: 0 auto;
	padding: 40px;
	border: 2px solid #f6ab00;
	border-radius: 32px;
	position: relative;
	text-align: center;
}

.fields .fields__head::before {
	width: 80px;
	height: 80px;
	border-right: 2px solid #f6ab00;
	background-color: #fff;
	position: absolute;
	content: "";
	top: -55px;
	left: -55px;
	z-index: 1;
	transform: rotate(45deg);
}

.fields .fields__head::after {
	width: 80px;
	height: 80px;
	border-left: 2px solid #f6ab00;
	background-color: #fff;
	position: absolute;
	content: "";
	right: -55px;
	bottom: -55px;
	z-index: 1;
	transform: rotate(45deg);
}

.fields .fields__head-lead {
	position: relative;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.fields .fields__head-lead::before {
	width: 32px;
	height: 32px;
	background-color: #fff;
	position: absolute;
	content: "";
	top: -64px;
	right: 64px;
	z-index: 1;
}

.fields .fields__head-lead span {
	margin: 0 -0.5em 0 -0.1em;
	display: inline-block;
}

.fields .fields__head-title {
	font-size: 52px;
	font-weight: 700;
	line-height: 1;
	color: #f6ab00;
}

.fields .fields__head-title strong {
	margin: 0;
	display: inline-block;
	font-size: 80px;
	font-weight: 800;
	line-height: 1;
}

.fields .fields__list {
	margin: 100px 0 0;
}

.fields .fields__item {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 463px;
	gap: 48px;
}

.fields .fields__item+.fields__item {
	margin: 100px 0 0;
}

.fields .fields__body {
	padding: 10px 0 10px 28px;
	border-left: 15px solid;
}

.fields .fields__item--blue .fields__body {
	border-left-color: #006cb8;
}

.fields .fields__item--green .fields__body {
	border-left-color: #00a140;
}

.fields .fields__item--pink .fields__body {
	border-left-color: #c82555;
}

.fields .fields__copy {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.618;
	letter-spacing: 0.04em;
}

.fields .fields__item--blue .fields__copy {
	color: #006cb8;
}

.fields .fields__item--green .fields__copy {
	color: #00a140;
}

.fields .fields__item--pink .fields__copy {
	color: #c82555;
}

.fields .fields__copy .adjust01 {
	margin: 0 0 0 -0.5em;
	display: inline-block;
}

.fields .fields__copy .adjust02 {
	margin: 0 -0.4em 0 0;
	display: inline-block;
}

.fields .fields__copy .adjust03 {
	margin: 0 -0.1em;
	display: inline-block;
}

.fields .fields__name {
	margin: 20px 0 0;
	font-size: 40px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.fields .fields__tags {
	margin: 28px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.fields .fields__tags li {
	min-width: 195px;
	padding: 3px 16px 4px;
	border: 1px solid;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
	letter-spacing: 0.04em;
}

.fields .fields__item--blue .fields__tags li {
	border-color: #006cb8;
	color: #006cb8;
}

.fields .fields__item--green .fields__tags li {
	border-color: #00a140;
	color: #00a140;
}

.fields .fields__item--pink .fields__tags li {
	border-color: #c82555;
	color: #c82555;
}

.fields .fields__media img {
	width: 100%;
	height: auto;
	display: block;
}

/* fields__deco
------------------------------------------------------ */
.fields .fields__deco {
	mix-blend-mode: hard-light;
	background: #fdd000;
	position: absolute;
	will-change: transform;
	z-index: 3;
}

.fields .fields__deco--01 {
	width: 74px;
	height: 74px;
	top: 414px;
	left: -46px;
	animation: fields-float-01 5.8s ease-in-out infinite;
}

.fields .fields__deco--02 {
	width: 42px;
	height: 42px;
	top: 912px;
	left: -128px;
	animation: fields-float-02 5.1s ease-in-out infinite;
}

.fields .fields__deco--03 {
	width: 86px;
	height: 86px;
	top: 730px;
	right: -56px;
	animation: fields-float-03 6.4s ease-in-out infinite;
}

.fields .fields__deco--04 {
	width: 113px;
	height: 113px;
	right: -58px;
	bottom: -52px;
	animation: fields-float-04 5.5s ease-in-out infinite;
}

.fields .fields__deco--05 {
	width: 53px;
	height: 53px;
	top: 592px;
	right: -128px;
	animation: fields-float-05 5.2s ease-in-out infinite;
}

@keyframes fields-float-01 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(18px, -20px);
	}
}

@keyframes fields-float-02 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-15px, -17px);
	}
}

@keyframes fields-float-03 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-20px, -22px) rotate(2deg);
	}
}

@keyframes fields-float-04 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(16px, -19px);
	}
}

@keyframes fields-float-05 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-16px, -18px);
	}
}

/*================================================================
# career
================================================================ */
.career {
	padding: 120px 0 0;
}

.career .career__panel {
	padding: 120px 100px 0;
	border-radius: 28px 28px 0 0;
	background: #fff;
	z-index: 2;
}

.career .career__head {
	padding: 0 0 48px;
	background: url(/lp/econ/img/features_title.png) no-repeat center bottom / 780px auto;
	position: relative;
	text-align: center;
}

.career .career__title {
	font-size: 42px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
}

.career .career__title strong {
	font-size: 64px;
	font-weight: 700;
	color: #f6ab00;
}

.career .career__title span {
	margin: 0 -0.3em;
	display: inline-block;
}

.career .career__body {
	margin: 32px 0 0;
	text-align: center;
}

.career .career__text {
	font-size: 18px;
	font-weight: 800;
	line-height: 2.2;
	letter-spacing: 0.04em;
}

.career .career__visual {
	margin: 100px -100px 0;
	position: relative;
}

.career .career__media img {
	width: 100%;
	height: auto;
	display: block;
}

.career .career__label {
	min-width: 280px;
	padding: 2px 64px 6px;
	background: #000;
	position: absolute;
	top: 200px;
	left: 50%;
	font-size: 35px;
	font-weight: 800;
	line-height: 35px;
	color: #fff;
	text-align: center;
	letter-spacing: 0.08em;
	z-index: 3;
	transform: translateX(-50%);
}

.career .career__infinity {
	width: 442px;
	opacity: 0;
	position: absolute;
	top: 280px;
	left: 50%;
	z-index: 2;
	transition: opacity 1.2s ease, transform 1.2s ease;
	transition-delay: 0.3s;
	transform: translateX(-50%) scale(0.88);
	transform-origin: center center;
}

.career .career__infinity.is-visible {
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

.career .career__result {
	padding: 120px 0 140px;
	display: grid;
	justify-content: center;
	align-items: center;
	grid-template-columns: 425px 425px;
	gap: 72px;
}

.career .career__result-item img {
	width: 100%;
	height: auto;
	display: block;
}

.career .career__result-item:first-child {
	padding: 0 56px;
}

/* career__deco
------------------------------------------------------ */
.career .career__deco {
	opacity: 0;
	mix-blend-mode: hard-light;
	position: absolute;
	will-change: transform, opacity;
	z-index: 3;
}

.career .career__deco::before {
	width: 100%;
	height: 100%;
	opacity: 1;
	background: #fdd000;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
}

.career .career__deco--01 {
	width: 74px;
	height: 74px;
	top: -328px;
	left: -164px;
	transform: translate(720px, 710px) scale(0.2);
}

.career .career__deco--02 {
	width: 150px;
	height: 150px;
	top: -74px;
	left: -84px;
	transform: translate(590px, 414px) scale(0.2);
}

.career .career__deco--03 {
	width: 73px;
	height: 73px;
	top: 380px;
	left: 68px;
	transform: translate(488px, -12px) scale(0.2);
}

.career .career__deco--04 {
	width: 90px;
	height: 90px;
	top: 700px;
	left: 287px;
	transform: translate(239px, -330px) scale(0.2);
}

.career .career__deco--05 {
	width: 74px;
	height: 74px;
	top: 600px;
	left: 510px;
	transform: translate(36px, -196px) scale(0.2);
}

.career .career__deco--06 {
	width: 73px;
	height: 73px;
	top: -256px;
	right: -160px;
	transform: translate(-716px, 632px) scale(0.2);
}

.career .career__deco--07 {
	width: 86px;
	height: 86px;
	top: 349px;
	right: -58px;
	transform: translate(-606px, 19px) scale(0.2);
}

.career .career__deco--08 {
	width: 177px;
	height: 177px;
	right: 238px;
	bottom: -58px;
	transform: translate(-261px, -284px) scale(0.2);
}

.career .career__deco--09 {
	width: 118px;
	height: 118px;
	top: -66px;
	left: 836px;
	transform: translate(-304px, 422px) scale(0.2);
}

.career__visual.is-burst .career__deco--01 {
	animation: career-burst-plain 1.9s cubic-bezier(0.22, 0.8, 0.2, 1) 0s forwards;
}

.career__visual.is-burst .career__deco--02 {
	animation: career-burst-plain 2s cubic-bezier(0.22, 0.8, 0.2, 1) 0.05s forwards;
}

.career__visual.is-burst .career__deco--03 {
	animation: career-burst-plain 1.95s cubic-bezier(0.22, 0.8, 0.2, 1) 0.1s forwards;
}

.career__visual.is-burst .career__deco--04 {
	animation: career-burst-plain 2s cubic-bezier(0.22, 0.8, 0.2, 1) 0.14s forwards;
}

.career__visual.is-burst .career__deco--05 {
	animation: career-burst-plain 1.92s cubic-bezier(0.22, 0.8, 0.2, 1) 0.18s forwards;
}

.career__visual.is-burst .career__deco--06 {
	animation: career-burst-plain 1.96s cubic-bezier(0.22, 0.8, 0.2, 1) 0.08s forwards;
}

.career__visual.is-burst .career__deco--07 {
	animation: career-burst-plain 1.9s cubic-bezier(0.22, 0.8, 0.2, 1) 0.16s forwards;
}

.career__visual.is-burst .career__deco--08 {
	animation: career-burst-plain 2.02s cubic-bezier(0.22, 0.8, 0.2, 1) 0.12s forwards;
}

.career__visual.is-burst .career__deco--09 {
	animation: career-burst-plain 1.94s cubic-bezier(0.22, 0.8, 0.2, 1) 0.06s forwards;
}

.career__visual.is-burst .career__deco--01::before {
	animation: career-float-01 5.8s ease-in-out 1.9s infinite;
}

.career__visual.is-burst .career__deco--02::before {
	animation: career-float-02 6.4s ease-in-out 2.05s infinite;
}

.career__visual.is-burst .career__deco--03::before {
	animation: career-float-03 5.1s ease-in-out 2.05s infinite;
}

.career__visual.is-burst .career__deco--04::before {
	animation: career-float-04 6s ease-in-out 2.14s infinite;
}

.career__visual.is-burst .career__deco--05::before {
	animation: career-float-05 6.3s ease-in-out 2.1s infinite;
}

.career__visual.is-burst .career__deco--06::before {
	animation: career-float-06 5.4s ease-in-out 2.04s infinite;
}

.career__visual.is-burst .career__deco--07::before {
	animation: career-float-07 5s ease-in-out 2.06s infinite;
}

.career__visual.is-burst .career__deco--08::before {
	animation: career-float-08 6.8s ease-in-out 2.14s infinite;
}

.career__visual.is-burst .career__deco--09::before {
	animation: career-float-09 5.6s ease-in-out 2s infinite;
}

@keyframes career-burst-plain {
	0% {
		opacity: 0;
	}

	70% {
		opacity: 0.8;
		transform: translate(0, 0) scale(1.08);
	}

	100% {
		opacity: 0.8;
		transform: translate(0, 0) scale(1);
	}
}

@keyframes career-float-01 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(16px, -20px);
	}
}

@keyframes career-float-02 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(20px, -22px) rotate(2deg);
	}
}

@keyframes career-float-03 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-15px, -18px);
	}
}

@keyframes career-float-04 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(18px, -20px) rotate(-2deg);
	}
}

@keyframes career-float-05 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-18px, -20px);
	}
}

@keyframes career-float-06 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-16px, -19px);
	}
}

@keyframes career-float-07 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(15px, -17px);
	}
}

@keyframes career-float-08 {

	0%,
	100% {
		transform: translate(0, 0) rotate(0);
	}

	50% {
		transform: translate(-20px, -22px) rotate(2deg);
	}
}

@keyframes career-float-09 {

	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-16px, -18px);
	}
}

/*================================================================
# graduates
================================================================ */
.graduates {
	padding: 0 0 34px;
	background: #fff1b3;
	overflow: hidden;
}

.graduates .graduates__title {
	padding: 14px 20px 15px;
	background: #e73656;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	text-align: center;
	letter-spacing: 0.04em;
}

.graduates .graduates__title span {
	font-size: 20px;
}

.graduates .graduates__slider {
	margin: 40px 0 0;
	padding: 0 160px 56px;
	position: relative;
}

.graduates .splide__track {
	overflow: visible;
}

.graduates .splide__slide {
	width: 880px;
	opacity: 0.55;
	transition: opacity 0.8s ease;
}

.graduates .splide__slide.is-active {
	opacity: 1;
}

.graduates .graduates__card {
	width: 100%;
	min-height: 450px;
	padding: 64px 48px;
	border-radius: 24px;
	background: #fff;
	position: relative;
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 40px;
}

.graduates .graduates__card--01 {
	--graduates-accent: #006cb8;
}

.graduates .graduates__card--02 {
	--graduates-accent: #fdd000;
}

.graduates .graduates__card--03 {
	--graduates-accent: #00a140;
}

.graduates .graduates__card--04 {
	--graduates-accent: #ed6d34;
}

.graduates .graduates__num {
	position: absolute;
	top: 10px;
	left: 32px;
	font-size: 110px;
	font-weight: 700;
	line-height: 1;
	color: var(--graduates-accent);
	letter-spacing: -0.04em;
	z-index: 2;
}

.graduates .graduates__media {
	width: 340px;
	height: 340px;
	margin: 0;
	position: relative;
}

.graduates .graduates__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.graduates .graduates__body {
	padding: 16px 0 0;
}

.graduates .graduates__company {
	margin: 0 0 0 -56px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.02em;
}

.graduates .graduates__company span {
	margin: 0 0 0 8px;
	font-size: 20px;
}

.graduates .graduates__brand {
	margin: 0 0 0 -60px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.graduates .graduates__line {
	width: calc(100% + 100px);
	height: 3px;
	margin: 40px 0 40px -100px;
	background: var(--graduates-accent);
}

.graduates .graduates__name {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.graduates .graduates__text {
	margin: 8px 0 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
}

.graduates .graduates__arrow {
	width: 86px;
	height: 86px;
	margin: -80px 0 0;
	opacity: 1;
	border: 0;
	border-radius: 50%;
	background:
		url(/lp/econ/img/arrow01.png) no-repeat 32px 20px / 25px 45px,
		linear-gradient(135deg, rgba(247, 214, 0, 1) 0%, rgba(246, 175, 0, 1) 100%);
	box-shadow: inset 0 -6px 0 rgba(236, 126, 0, 0.5);
	transition: filter 0.3s ease;
	transform: none;
}

.graduates .graduates__arrow:hover {
	filter: brightness(1.06);
}

.graduates .splide__arrow--prev {
	background:
		url(/lp/econ/img/arrow02.png) no-repeat 28px 20px / 25px 45px,
		linear-gradient(135deg, rgba(247, 214, 0, 1) 0%, rgba(246, 175, 0, 1) 100%);
	left: calc(50% - 570px);
}

.graduates .splide__arrow--prev::before {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.graduates .splide__arrow--next {
	right: calc(50% - 570px);
}

.graduates .splide__pagination {
	bottom: 0;
	gap: 12px;
}

.graduates .splide__pagination__page {
	width: 10px;
	height: 10px;
	margin: 0;
	opacity: 1;
	background: #7eb8e2;
}

.graduates .splide__pagination__page.is-active {
	background: #006cb8;
	transform: scale(1);
}

/*================================================================
# new-campus
================================================================ */
.new-campus {
	padding: 120px 0;
	position: relative;
}

.new-campus .back02 {
	width: 1920px;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
}

.new-campus .back02 img {
	width: 100%;
	height: auto;
	display: block;
}

.new-campus .new-campus__panel {
	border-radius: 24px;
	background: #fff;
}

.new-campus .new-campus__visual img,
.new-campus .new-campus__item img {
	width: 100%;
	height: auto;
	display: block;
}

.new-campus .inner {
	padding: 48px 88px;
}

.new-campus .new-campus__gallery {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.new-campus .new-campus__note {
	margin: 12px 0 0;
	font-family: var(--font-family-base);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
}