@charset "utf-8";

.main {
	background: url(/lp/econ/img/back01_sp.png) repeat center top / 100% auto;
	position: relative;
	font-family: "Noto Serif JP", serif;
	color: #000;
	z-index: 0;
}

.main__bg {
	display: none;
}

/* 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%;
	padding: 32% 0 10%;
	background: url(/lp/econ/img/mv_sp.png) no-repeat center top / 100% auto;
	position: relative;
}

.mv__lead {
	width: 64%;
}

.mv__img01-img,
.mv__title-img {
	width: 100%;
	height: auto;
	display: block;
}

.mv__title {
	width: 74%;
	margin: 45% auto 0;
}

.mv__note {
	width: 100%;
	margin: 0 auto;
	font-family: var(--font-family-base);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0;
	z-index: 2;
}

/*================================================================
# sp-nav
================================================================ */
.sp-nav {
	padding: 0;
	position: relative;
}

.sp-nav .back {
	width: 100%;
	pointer-events: none;
	mix-blend-mode: hard-light;
	position: absolute;
	top: -10rem;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
}

.sp-nav .back img {
	width: 100%;
	height: auto;
	display: block;
}

.sp-nav .sp-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.sp-nav .sp-nav__link {
	padding: 0 0 0 20px;
	position: relative;
	display: flex;
	align-items: center;
	font-family: var(--font-family-base);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #1e2d58;
	text-decoration: none;
	letter-spacing: 0;
}

.sp-nav .sp-nav__link::before {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #1e2d58;
	position: absolute;
	content: "";
	top: 1px;
	left: 0;
}

.sp-nav .sp-nav__link::after {
	width: 0;
	height: 0;
	border-top: 5px solid #fff;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	position: absolute;
	content: "";
	top: 7px;
	left: 4px;
}

.sp-nav .sp-nav__link:hover {
	opacity: 0.8;
}

/*================================================================
# features
================================================================ */
.features {
	margin: 0;
	padding: 40px 0 0;
}

.features .features__panel {
	padding: 48px 32px;
	border-radius: 8px;
	background: #fff;
	position: relative;
	z-index: 2;
}

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

.features__ribbon {
	width: 164px;
	margin: 0;
}

.features__title {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

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

.features .features__title sup {
	margin: 0 -5px 0 0;
	position: relative;
	top: -1.2em;
	font-size: 10px;
}

.features .features__en {
	width: 60%;
	margin: 32px auto 0;
}

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

.features__copy {
	margin: 8px 0 0;
	padding: 0;
	text-align: center;
}

.features__copy p {
	font-size: 27px;
	font-weight: 700;
	line-height: 1.618;
	letter-spacing: 0;
}

.features__copy span {
	margin-left: -0.2em;
	position: relative;
}

.features__copy sup {
	position: relative;
	top: -0.3em;
	font-size: 0.38em;
}

.features .features__body {
	margin: 24px auto 0;
	padding: 16px 0;
	border-top: 1px solid #e73656;
	border-bottom: 1px solid #e73656;
	position: relative;
}

.features .features__text {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.618;
	text-align: center;
}

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

.features .features__note {
	margin: 8px 0 0;
	font-family: var(--font-family-base);
	font-size: 10px;
	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: calc(63px / 4);
	height: calc(63px / 4);
	top: 3px;
	left: 76px;
	animation: deco-float-01 5.8s ease-in-out infinite;
}

.features .features__deco--02 {
	width: calc(97px / 4);
	height: calc(97px / 4);
	top: 180px;
	left: -13px;
	animation: deco-float-02 6.4s ease-in-out infinite;
}

.features .features__deco--03 {
	width: calc(63px / 4);
	height: calc(63px / 4);
	top: 632px;
	left: -18px;
	animation: deco-float-03 5.4s ease-in-out infinite;
}

.features .features__deco--04 {
	width: calc(89px / 4);
	height: calc(89px / 4);
	top: 760px;
	left: -6px;
	animation: deco-float-04 6s ease-in-out infinite;
}

.features .features__deco--05 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	top: 1120px;
	left: -3px;
	animation: deco-float-05 6.8s ease-in-out infinite;
}

.features .features__deco--06 {
	width: calc(88px / 4);
	height: calc(88px / 4);
	top: 50px;
	right: -18px;
	animation: deco-float-06 5.6s ease-in-out infinite;
}

.features .features__deco--07 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	top: 660px;
	right: -10px;
	animation: deco-float-07 6.7s ease-in-out infinite;
}

.features .features__deco--08 {
	width: calc(34px / 4);
	height: calc(34px / 4);
	top: 1090px;
	right: 24px;
	animation: deco-float-08 5.1s ease-in-out infinite;
}

.features .features__deco--09 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	top: 1714px;
	right: -15px;
	animation: deco-float-09 6.2s ease-in-out infinite;
}

.features .features__deco--10 {
	width: calc(86px / 4);
	height: calc(86px / 4);
	top: 2062px;
	right: -6px;
	animation: deco-float-10 5.4s ease-in-out infinite;
}

.features .features__deco--11 {
	width: calc(54px / 4);
	height: calc(54px / 4);
	right: -18px;
	bottom: 608px;
	animation: deco-float-11 5.8s ease-in-out infinite;
}

.features .features__deco--12 {
	width: calc(48px / 4);
	height: calc(48px / 4);
	right: -4px;
	bottom: 320px;
	animation: deco-float-12 5.2s ease-in-out infinite;
}

.features .features__deco--13 {
	width: calc(103px / 4);
	height: calc(103px / 4);
	right: -15px;
	bottom: 1010px;
	animation: deco-float-13 6.6s ease-in-out infinite;
}

.features .features__deco--14 {
	width: calc(86px / 4);
	height: calc(86px / 4);
	bottom: 1628px;
	left: -6px;
	animation: deco-float-14 5.3s ease-in-out infinite;
}

.features .features__deco--15 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	bottom: 718px;
	left: -18px;
	animation: deco-float-15 6.1s ease-in-out infinite;
}

.features .features__deco--16 {
	width: calc(86px / 4);
	height: calc(86px / 4);
	bottom: 98px;
	left: -16px;
	animation: deco-float-16 5.3s ease-in-out infinite;
}

.features .features__deco--17 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	right: -18px;
	bottom: 18px;
	animation: deco-float-17 6.1s ease-in-out infinite;
}

@keyframes deco-float-01 {

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

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

@keyframes deco-float-02 {

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

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

@keyframes deco-float-03 {

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

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

@keyframes deco-float-04 {

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

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

@keyframes deco-float-05 {

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

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

@keyframes deco-float-06 {

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

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

@keyframes deco-float-07 {

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

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

@keyframes deco-float-08 {

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

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

@keyframes deco-float-09 {

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

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

@keyframes deco-float-10 {

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

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

@keyframes deco-float-11 {

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

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

@keyframes deco-float-12 {

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

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

@keyframes deco-float-13 {

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

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

@keyframes deco-float-14 {

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

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

@keyframes deco-float-15 {

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

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

@keyframes deco-float-16 {

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

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

@keyframes deco-float-17 {

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

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

/* voice
------------------------------------------------------ */
.features .features__voice-wrap {
	height: 34rem;
	margin: 40px 0 0;
	position: relative;
}

.features .features__voice {
	padding: 8px;
	opacity: 0;
	border-radius: 8px;
	box-shadow: 2px 4px 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: 12px;
	font-weight: 800;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

.features .features__voice--01 {
	background: #006776;
	top: 37%;
	left: 15%;
	z-index: 2;
}

.features .features__voice--01::after {
	border-width: 14px 0 0 8px;
	border-color: #006776 transparent transparent transparent;
	right: 21px;
	bottom: -14px;
}

.features .features__voice--02 {
	background: #e73656;
	top: 14%;
	left: -16%;
	z-index: 2;
}

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

.features .features__voice--03 {
	background: #00adcf;
	top: 48%;
	right: 3%;
}

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

.features .features__voice--04 {
	display: none;
}

.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: 19%;
	right: -15%;
	z-index: 3;
}

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

.features .features__voice--06 {
	background: #00adcf;
	top: 0%;
	left: 27%;
	z-index: 2;
}

.features .features__voice--06::after {
	border-width: 14px 8px 0 0;
	border-color: #00adcf transparent transparent transparent;
	bottom: -14px;
	left: 63px;
}

.features .features__voice--07 {
	background: #f6ab00;
	top: 61%;
	left: -5%;
}

.features .features__voice--07::after {
	border-width: 14px 0 0 8px;
	border-color: #f6ab00 transparent transparent transparent;
	bottom: -14px;
	left: 60px;
}

.features .features__voice--08 {
	background: #006776;
	top: 75%;
	right: 15%;
}

.features .features__voice--08::after {
	border-width: 14px 8px 0 0;
	border-color: #006776 transparent transparent transparent;
	bottom: -14px;
	left: 24px;
}

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

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

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

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

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

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

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

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

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

@keyframes voice-in {
	0% {
		opacity: 0;
		transform: translate(0, 48px) scale(0.9);
	}

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

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

.features .features__challenge::before {
	width: 1px;
	height: 64px;
	background: #f6ab00;
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.features .features__lead {
	margin: 64px 0 0;
	padding: 36px 8px 28px;
	border: 1px solid #f6ab00;
	border-radius: 20px;
	background: #fff;
	position: relative;
	text-align: center;
}

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

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

.features .features__lead-title {
	position: relative;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
	z-index: 2;
}

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

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

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

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

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

.features .features__list {
	margin: 40px 0 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

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

.features .features__item--07 {
	grid-column: auto;
}

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

.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: 54px;
	margin: 0 0 2px;
}

.features .features__item-label span {
	margin: 0 0 0 4px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}

.features .features__item-title {
	margin: 12px 0 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: -0.02em;
}

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

.features .features__item-title mark {
	padding: 0 0.1em;
	background: transparent;
	position: relative;
}

.features .features__item-title mark::after {
	width: 100%;
	height: 20px;
	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 -4px;
	padding: 0;
}

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

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

.features .features__item--02 .features__media img,
.features .features__item--03 .features__media img,
.features .features__item--05 .features__media img,
.features .features__item--06 .features__media img {
	object-fit: cover;
	object-position: center 20%;
	aspect-ratio: 430 / 320;
}

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

.features .features__media.infographic02 img {
	margin: 0 auto;
	display: block;
}

.features .features__item-body {
	margin: 16px 0 0;
	display: block;
}

.features .features__item-text+.features__media {
	margin-top: 18px;
}

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

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

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

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

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

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

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

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

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

.features .features__global {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

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

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

.features .features__global strong {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.03em;
}

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

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

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

.fields .fields__panel {
	padding: 48px 32px;
	border-radius: 8px;
	background: #fff;
	position: relative;
	z-index: 2;
}

.fields .fields__head {
	margin: 0;
	padding: 24px 8px;
	border: 1px solid #f6ab00;
	border-radius: 20px;
	background: #fff;
	position: relative;
	text-align: center;
}

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

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

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

.fields .fields__head-lead {
	position: relative;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
	z-index: 2;
}

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

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

.fields .fields__head-title strong {
	margin: 0;
	font-size: 48px;
	font-weight: 700;
}

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

.fields .fields__item {
	display: block;
}

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

.fields .fields__body {
	padding: 12px 0 0;
	border-top: 6px solid;
}

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

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

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

.fields .fields__copy {
	font-size: 12px;
	font-weight: 800;
	line-height: 1.75;
	letter-spacing: 0.02em;
}

.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.45em;
	display: inline-block;
}

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

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

.fields .fields__name {
	margin: 12px 0 0;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.fields .fields__tags {
	margin: 16px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.fields .fields__tags li {
	min-width: 0;
	padding: 2px 8px 3px;
	border: 1px solid;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.02em;
}

.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 {
	margin: 18px 0 0;
}

.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: calc(74px / 4);
	height: calc(74px / 4);
	top: -8px;
	left: 34px;
	animation: fields-float-01 5.8s ease-in-out infinite;
}

.fields .fields__deco--02 {
	width: calc(42px / 4);
	height: calc(42px / 4);
	top: 82px;
	left: -8px;
	animation: fields-float-02 5.1s ease-in-out infinite;
}

.fields .fields__deco--03 {
	width: calc(86px / 4);
	height: calc(86px / 4);
	top: 30px;
	right: -15px;
	animation: fields-float-03 6.4s ease-in-out infinite;
}

.fields .fields__deco--04 {
	width: calc(113px / 4);
	height: calc(113px / 4);
	bottom: 18px;
	left: -12px;
	animation: fields-float-04 5.5s ease-in-out infinite;
}

.fields .fields__deco--05 {
	width: calc(53px / 4);
	height: calc(53px / 4);
	right: -8px;
	bottom: 82px;
	animation: fields-float-05 5.2s ease-in-out infinite;
}

@keyframes fields-float-01 {

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

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

@keyframes fields-float-02 {

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

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

@keyframes fields-float-03 {

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

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

@keyframes fields-float-04 {

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

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

@keyframes fields-float-05 {

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

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

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

.career__panel {
	padding: 48px 32px;
	border-radius: 8px 8px 0 0;
	background: #fff;
	position: relative;
	z-index: 2;
}

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

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

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

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

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

.career .career__text {
	font-size: 14px;
	font-weight: 800;
	line-height: 2;
	letter-spacing: 0.02em;
}

.career .career__text sup {
	position: relative;
	top: -0.5em;
	font-size: 10px;
}

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

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

.career .career__label {
	min-width: 0;
	padding: 6px 22px 8px;
	background: #000;
	position: absolute;
	top: 202px;
	left: 50%;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	letter-spacing: 0.04em;
	z-index: 3;
	transform: translateX(-50%);
}

.career .career__infinity {
	width: 210px;
	opacity: 0;
	position: absolute;
	top: 250px;
	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__infinity img {
	width: 100%;
	height: auto;
	display: block;
}

.career .career__result {
	padding: 40px 16px 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

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

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

/* 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: calc(74px / 4);
	height: calc(74px / 4);
	top: -8px;
	right: 56px;
	transform: translate(-90px, 310px) scale(0.2);
}

.career .career__deco--02 {
	width: calc(150px / 4);
	height: calc(150px / 4);
	top: 126px;
	left: -44px;
	transform: translate(180px, 164px) scale(0.2);
}

.career .career__deco--03 {
	width: calc(73px / 4);
	height: calc(73px / 4);
	top: 140px;
	right: -30px;
	transform: translate(-182px, 178px) scale(0.2);
}

.career .career__deco--04 {
	width: calc(90px / 4);
	height: calc(90px / 4);
	top: 290px;
	left: -33px;
	transform: translate(179px, 20px) scale(0.2);
}

.career .career__deco--05 {
	width: calc(74px / 4);
	height: calc(74px / 4);
	top: 170px;
	left: 25px;
	transform: translate(126px, 134px) scale(0.2);
}

.career .career__deco--06 {
	width: calc(73px / 4);
	height: calc(73px / 4);
	right: -10px;
	bottom: 324px;
	transform: translate(-156px, 72px) scale(0.2);
}

.career .career__deco--07 {
	width: calc(86px / 4);
	height: calc(86px / 4);
	right: -8px;
	bottom: 109px;
	transform: translate(-156px, -151px) scale(0.2);
}

.career .career__deco--08 {
	width: calc(177px / 4);
	height: calc(177px / 4);
	right: 8px;
	bottom: -38px;
	transform: translate(-121px, -284px) scale(0.2);
}

.career .career__deco--09 {
	width: calc(118px / 4);
	height: calc(118px / 4);
	bottom: 44px;
	left: 6px;
	transform: translate(136px, -208px) scale(0.2);
}

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

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

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

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

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

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

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

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

.career__visual.is-burst .career__deco--09 {
	animation: career-burst-plain 1.44s 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 40px;
	background: #fff1b3;
}

.graduates .graduates__title {
	padding: 14px 16px;
	background: #e73656;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.45;
	color: #fff;
	text-align: center;
	letter-spacing: 0.02em;
}

.graduates .graduates__title span {
	display: block;
	font-size: 14px;
	line-height: 1.5;
}

.graduates .graduates__slider {
	margin: 24px 0 0;
	padding: 0 0 24px;
	position: relative;
}

.graduates .splide__track {
	overflow: visible;
}

.graduates .splide__list {
	align-items: stretch;
}

.graduates .splide__slide {
	width: 300px;
	height: auto;
	opacity: 0.55;
	transition: opacity 0.8s ease;
}

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

.graduates .splide__slide>article,
.graduates .splide__slide>.graduates__card {
	height: 100%;
}

.graduates .graduates__card {
	width: 300px;
	min-height: 100%;
	padding: 36px 18px 24px;
	border-radius: 20px;
	background: #fff;
	position: relative;
	display: flex;
	flex-direction: column;
}

.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: 8px;
	left: 14px;
	font-size: 58px;
	font-weight: 700;
	line-height: 1;
	color: var(--graduates-accent);
	letter-spacing: -0.04em;
	z-index: 2;
}

.graduates .graduates__media {
	width: 220px;
	height: 220px;
	margin: 0 auto;
	position: relative;
	flex-shrink: 0;
}

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

.graduates .graduates__body {
	padding: 18px 0 0;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.graduates .graduates__company {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: -0.02em;
}

.graduates .graduates__company span {
	margin: 0 0 0 6px;
	font-size: 14px;
}

.graduates .graduates__brand {
	margin: 4px 0 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.graduates .graduates__line {
	width: 100%;
	height: 2px;
	margin: 18px 0;
	background: var(--graduates-accent);
}

.graduates .graduates__name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.graduates .graduates__name small {
	font-size: 0.75em;
}

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

.graduates .graduates__arrows {
	width: 100%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 10;
	transform: translateY(-50%);
}

.graduates .graduates__arrow {
	width: 52px;
	height: 52px;
	margin: 0;
	pointer-events: auto;
	opacity: 1;
	border: 0;
	border-radius: 50%;
	background:
		url(/lp/econ/img/arrow01.png) no-repeat center center / 14px 24px,
		linear-gradient(135deg, rgba(247, 214, 0, 1) 0%, rgba(246, 175, 0, 1) 100%);
	box-shadow: inset 0 -4px 0 rgba(236, 126, 0, 0.5);
	position: absolute;
	top: 0;
	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 center center / 14px 24px,
		linear-gradient(135deg, rgba(247, 214, 0, 1) 0%, rgba(246, 175, 0, 1) 100%);
	left: 4px;
}

.graduates .splide__arrow--next {
	right: 4px;
}

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

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

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

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

.new-campus .back02 {
	width: 960px;
	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: 8px;
	background: #fff;
	overflow: hidden;
}

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

.new-campus .inner {
	padding: 20px 16px 24px;
}

.new-campus .new-campus__gallery {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

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