.l-top {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.top-kv {
	align-items: center;
	background: #262B6E;
	display: flex;
	flex-direction: column;
	height: 992px;
	width: 100%;
}

.top-kv__img {
	background: #262B6E;
	height: 100%;
	width: 100%;
}

.top-kv__img img {
	height: 100%;
	width: 100%;
	-o-object-position: center bottom;
	object-position: center bottom;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-kv__body {
	display: flex;
	flex-direction: column;
	gap: 40px;
	left: 50%;
	position: absolute;
	text-align: center;
	top: 212px;
	transform: translateX(-50%);
	white-space: nowrap;
}

.top-kv__title {
	color: #FFF;
	font-size: 67px;
	font-weight: 800;
	letter-spacing: 4.02px;
	line-height: 140%;
}

.top-kv__name {
	color: #FABF01;
	font-size: 64px;
	font-weight: 900;
	line-height: 100%;
	text-align: center;
}

.sec01 {
	background: #FFF;
	border-radius: 80px 80px 0 0;
	margin-top: -80px;
	padding: 200px 0 41px 0;
}

.sec01__wrap {
	width: 100%;
}

.sec01__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}

.sec01__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 60px;
	text-align: center;
}

.sec01__heading-title-ja {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.96px;
	line-height: 100%;
}

.sec01__heading-title {
	font-size: 86px;
	font-weight: 900;
	letter-spacing: 0.86px;
	line-height: 100%;
	margin-top: 16px;
}

.sec01__heading-desc {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.9px;
	line-height: 200%;
	margin-top: 24px;
}

.sec01__note {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 60px;
	width: 100%;
}

.sec01__note-icon {
	width: 75px;
}

.sec01__note-content {
	border: 2px dashed #000;
	border-radius: 18px;
	max-width: 900px;
	padding: 40px 30px;
	position: relative;
	width: 80%;
}

.sec01__note-parts {
	position: absolute;
}

.sec01__note-parts.--top {
	left: -75px;
	top: -32px;
	width: 200px;
}

.sec01__note-parts.--bottom {
	bottom: -35px;
	right: -35px;
	width: 156px;
}

.sec01__note-text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.9px;
	line-height: 200%;
	text-align: center;
}

.sec01__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 220px;
	margin-top: 235px;
}

.sec01__item {
	align-items: center;
	display: flex;
	gap: 50px;
	justify-content: space-between;
	position: relative;
	width: 100vw;
	z-index: 1;
}

.sec01__item.--rev {
	flex-direction: row-reverse;
}

.sec01__parts {
	position: absolute;
	z-index: -1;
}

.sec01__parts.--01 {
	right: -108px;
	top: -200px;
	transform: rotate(23.611deg);
	width: 343px;
}

.sec01__parts.--02 {
	bottom: -40px;
	right: 30px;
	transform: translateY(100%);
	width: 172px;
}

.sec01__parts.--03 {
	left: -23px;
	top: -250px;
	width: 338px;
}

.sec01__parts.--04 {
	bottom: -151px;
	right: -53px;
	transform: rotate(20.216deg);
	width: 297px;
}

.sec01__parts.--04 {
	animation: ufoFloat 4s ease-in-out infinite;
}

.sec01__parts.--05-01 {
	animation: scalePop 0.35s infinite;
	position: relative;
	transform-origin: center right;
	width: 70px;
}

.sec01__parts.--05-02 {
	position: relative;
	width: 142px;
}

.sec01__parts-wrap {
	align-items: start;
	display: flex;
	position: absolute;
	right: calc(50% + 450px);
	top: 30px;
	transform: rotate(-20deg);
}

.sec01__parts-wrap.is-floaty {
	animation: floaty 2.8s ease-in-out infinite;
}

.sec01__body {
	padding-inline: 11.71875vw 0;
}

.sec01__body.--rev {
	padding-inline: 0 11.71875vw;
}

.sec01__body.--value {
	margin: 0;
	padding-inline: 0;
}

.sec01__label {
	font-size: 20px;
	font-weight: 900;
	line-height: 160%;
}

.sec01__lead {
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 1.6px;
	line-height: 160%;
	margin-top: 10px;
}

.sec01__text {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.8px;
	line-height: 200%;
	margin-top: 16px;
}

.sec01__img {
	border-radius: 30px 0 0 30px;
	overflow: hidden;
	position: relative;
	width: 45%;
}

.sec01__img.--rev {
	border-radius: 0 30px 30px 0;
}

.sec01__img.is-inview .sec01__img-overlay {
	clip-path: inset(0 0 0 100%);
}

.sec01__img-overlay {
	background: #21489E;
	clip-path: inset(0 0 0 0);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: clip-path 0.9s cubic-bezier(0.77, 0, 0.175, 1);
	width: 100%;
	z-index: 1;
}

.sec01__value {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 63px;
	justify-content: center;
	margin-top: 235px;
	position: relative;
	text-align: center;
}

.sec01__value-img {
	position: relative;
	width: 645px;
}

.sec01__value-img .text {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.sec01__charas {
	display: flex;
	gap: 30px;
	justify-content: center;
	margin-top: 235px;
}

.sec01__charas .sec01__chara {
	animation: charaHop 2.4s ease-in-out infinite both;
}

.sec01__charas .sec01__chara:nth-child(1) {
	animation-delay: 0s;
}

.sec01__charas .sec01__chara:nth-child(2) {
	animation-delay: 0.4s;
}

.sec01__charas .sec01__chara:nth-child(3) {
	animation-delay: 0.8s;
}

.sec01__charas .sec01__chara:nth-child(4) {
	animation-delay: 1.2s;
}

.sec01__charas .sec01__chara:nth-child(5) {
	animation-delay: 1.6s;
}

.sec01__charas .sec01__chara:nth-child(6) {
	animation-delay: 2s;
}

.sec01__chara {
	height: 107px;
	width: auto;
}

.sec01__chara img {
	height: 100%;
	width: auto;
}

.sec02 {
	padding: 200px 0 140px;
}

.sec02__items {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 80px 40px;
	width: 100%;
}

.sec02__item {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: calc((100% - 80px) / 3);
}

.sec02__thumb {
	aspect-ratio: 16/9;
	background: #D9D9D9;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}

.sec02__thumb-overlay {
	background: #21489E;
	clip-path: inset(0 0 0 0);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: clip-path 0.9s cubic-bezier(0.77, 0, 0.175, 1);
	width: 100%;
	z-index: 1;
}

.sec02__thumb.is-inview .sec02__thumb-overlay {
	clip-path: inset(0 0 0 100%);
}

.sec02__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sec02__title {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 140%;
}

.sec02__tags {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
}

.sec02__tag {
	color: #717171;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.8px;
	line-height: 140%;
}

.sec03 {
	padding: 140px 0 80px;
}

.sec03__banner {
	display: block;
	width: 100%;
}

.sec04 {
	padding: 140px 0;
}

.sec04__container {
	align-items: center;
	display: flex;
	gap: 60px;
	letter-spacing: 0.08em;
	width: 100%;
}

.sec04__map {
	aspect-ratio: 111/107;
	border-radius: 8px;
	flex-shrink: 0;
	max-width: 472px;
	overflow: hidden;
	width: 45%;
}

.sec04__map iframe {
	height: 100%;
	width: 100%;
}

.sec04__content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 1px;
	width: 100%;
}

.sec04__row {
	align-items: flex-start;
	border-bottom: 1px solid #dcd9d9;
	display: flex;
	gap: 70px;
	padding-bottom: 20px;
	width: 100%;
}

.sec04__row-wrap {
	align-items: flex-start;
	display: flex;
	gap: 20px;
}

.sec04__head {
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
	width: 80px;
}

.sec04__text {
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
}

.sec-recruit {
	padding: 0 0 140px;
}

.sec-recruit .c-wrap {
	position: relative;
}

.sec-recruit__inner {
	align-items: center;
	background: #262B6E;
	border-radius: 20px;
	display: flex;
	gap: 40px;
	justify-content: space-between;
	overflow: hidden;
	padding: 56px 72px;
	position: relative;
	z-index: 0;
}

.sec-recruit__inner:hover {
	opacity: 1 !important;
}

.sec-recruit__inner:hover .sec-recruit__bg .aft {
	opacity: 1;
}

.sec-recruit__body {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.sec-recruit .c-heading-sub {
	align-items: start;
	color: #fff;
}

.sec-recruit__text {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 190%;
}

.sec-recruit__arrow {
	align-items: center;
	background: #fff;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 72px;
	justify-content: center;
	transition: transform 0.25s;
	width: 72px;
}

.sec-recruit__inner:hover .sec-recruit__arrow {
	transform: translateX(8px);
}

.sec-recruit__arrow span {
	border-right: 2.5px solid #262B6E;
	border-top: 2.5px solid #262B6E;
	display: block;
	height: 10px;
	transform: rotate(45deg) translate(-1px, 1px);
	width: 10px;
}

.sec-recruit__chara {
	bottom: -300px;
	pointer-events: none;
	position: absolute;
	right: 31%;
	transition: bottom 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
	width: 243px;
}

.sec-recruit__inner:hover .sec-recruit__chara {
	bottom: -66px;
}

.sec-recruit__chara img {
	animation: recruitFloat 3.5s ease-in-out infinite;
}

.sec-recruit__parts {
	pointer-events: none;
	position: absolute;
	right: 12%;
	top: -10px;
	width: 230px;
	z-index: 1;
}

.sec-recruit__parts img {
	animation: recruitFloat 4.2s ease-in-out infinite 1.1s;
}

.sec-recruit__bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.sec-recruit__bg canvas {
	display: block;
	height: 100%;
	width: 100%;
}

.sec05 {
	padding: 100px 0;
}

.sec05__text {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1.44px;
	line-height: 36px;
	text-align: center;
}

@media screen and (max-width: 1480px) {

.sec01__item {
	align-items: end;
	flex-direction: column-reverse;
	gap: 32px;
}

.sec01__item.--rev {
	align-items: start;
	flex-direction: column-reverse;
}

.sec01__parts.--01 {
	right: -23px;
	top: -152px;
	width: 243px;
}

.sec01__parts.--03 {
	top: -166px;
	width: 238px;
}

.sec01__parts.--04 {
	width: 212px;
}

.sec01__body {
	margin-right: auto;
}

.sec01__body.--rev {
	margin-left: auto;
	margin-right: 0;
}

.sec01__img {
	max-width: 600px;
	width: 100%;
}

.sec04__row-wrap {
	flex-direction: column;
}

}

@media screen and (max-width: 1280px) {

.sec01 {
	border-radius: 50px 50px 0 0;
	margin-top: -50px;
	padding: 120px 0 30px 0;
}

.sec01__heading {
	margin-top: 40px;
}

.sec01__heading-title-ja {
	font-size: 18px;
}

.sec01__heading-title {
	font-size: 60px;
}

.sec01__heading-desc {
	font-size: 16px;
}

.sec01__note-parts.--bottom {
	bottom: -68px;
}

.sec01__lead {
	font-size: 24px;
	letter-spacing: 1px;
}

.sec01__value {
	gap: 40px;
	margin-top: 140px;
}

.sec01__value-img {
	width: 50%;
}

.sec01__charas {
	margin-top: 140px;
}

.sec01__chara {
	height: 80px;
}

.sec02 {
	padding: 120px 0 80px;
}

.sec02__item {
	width: calc((100% - 40px) / 2);
}

.sec02__title {
	font-size: 20px;
}

.sec03 {
	padding: 80px 0 50px;
}

.sec04__container {
	flex-direction: column-reverse;
}

.sec04__map {
	aspect-ratio: auto;
	height: 350px;
	max-width: 100%;
	width: 100%;
}

.sec04__row {
	gap: 30px;
}

.sec04__head {
	font-size: 16px;
}

.sec04__text {
	font-size: 16px;
}

.sec-recruit {
	padding-bottom: 100px;
}

.sec-recruit__inner {
	padding: 44px 52px;
}

.sec-recruit__text {
	font-size: 15px;
}

.sec-recruit__arrow {
	height: 60px;
	width: 60px;
}

.sec05 {
	padding: 70px 0;
}

.sec05__text {
	font-size: 16px;
	line-height: 32px;
}

}

@media screen and (max-width: 1080px) {

.sec-recruit__chara {
	bottom: -11px;
	right: 14%;
	width: 187px;
}

.sec-recruit__parts {
	display: none;
}

}

@media screen and (max-width: 830px) {

.sec-recruit__chara {
	display: none;
}

}

@media screen and (max-width: 767px) {

.top-kv {
	height: 747px;
}

.top-kv__body {
	gap: 16px;
	top: 253px;
}

.top-kv__title {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: normal;
}

.top-kv__name {
	font-size: 32px;
}

.sec01 {
	border-radius: 30px 30px 0 0;
	margin-top: -30px;
	padding: 60px 0 41px 0;
}

.sec01__heading {
	margin-top: 0;
	padding-inline: 20px;
}

.sec01__heading-title-ja {
	font-size: 14px;
}

.sec01__heading-title {
	font-size: 42px;
	margin-top: 8px;
}

.sec01__heading-desc {
	font-size: 14px;
	font-weight: 500;
	margin-top: 16px;
	text-align: left;
}

.sec01__note {
	margin-inline: 20px;
	margin-top: 30px;
}

.sec01__note-icon {
	width: 50px;
}

.sec01__note-content {
	border: 1px dashed #000;
	padding: 50px 20px;
	width: 90%;
}

.sec01__note-parts.--top {
	left: -49px;
	top: -22px;
	width: 150px;
}

.sec01__note-parts.--bottom {
	bottom: -35px;
	width: 95px;
}

.sec01__note-text {
	font-size: 14px;
	font-weight: 500;
	text-align: left;
}

.sec01__items {
	gap: 130px;
	margin-top: 130px;
}

.sec01__parts {
	display: none;
}

.sec01__body {
	padding-inline: 20px;
	width: 100%;
}

.sec01__body.--rev {
	padding-inline: 20px;
}

.sec01__body.--value {
	padding-inline: 20px;
}

.sec01__label {
	font-size: 14px;
}

.sec01__lead {
	font-size: 17px;
	letter-spacing: normal;
}

.sec01__text {
	font-size: 14px;
	font-weight: 500;
}

.sec01__img {
	max-width: 600px;
	width: calc(100% - 20px);
}

.sec01__value {
	margin-top: 130px;
	text-align: left;
}

.sec01__value-img {
	width: 90%;
}

.sec01__charas {
	margin-top: 130px;
}

.sec01__chara {
	height: 80px;
}

.sec02 {
	padding: 100px 0 70px;
}

.sec02__items {
	flex-direction: column;
	gap: 30px;
}

.sec02__item {
	gap: 16px;
	width: 100%;
}

.sec02__title {
	font-size: 18px;
}

.sec02__tag {
	font-size: 14px;
}

.sec03 {
	padding: 60px 0 40px;
}

.sec04 {
	padding: 60px 0;
}

.sec04__map {
	aspect-ratio: 111/107;
	height: auto;
	max-width: 472px;
}

.sec04__row {
	flex-direction: column;
	gap: 10px;
	padding-left: 10px;
}

.sec04__row-wrap {
	gap: 10px;
}

.sec04__head {
	font-size: 14px;
}

.sec04__text {
	font-size: 14px;
	padding-left: 10px;
}

.sec-recruit {
	padding-bottom: 60px;
}

.sec-recruit__inner {
	align-items: flex-start;
	flex-direction: column;
	gap: 20px;
	padding: 36px 20px 45px;
}

.sec-recruit__body {
	gap: 16px;
	width: 100%;
}

.sec-recruit__text {
	font-size: 13px;
}

.sec-recruit__arrow {
	height: 48px;
	position: absolute;
	right: 32px;
	top: 32px;
	width: 48px;
}

.sec-recruit__inner:hover .sec-recruit__arrow {
	transform: none;
}

.sec-recruit__arrow span {
	height: 8px;
	width: 8px;
}

.sec05 {
	padding: 50px 0;
}

.sec05__text {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 30px;
	text-align: left;
}

}

@keyframes charaHop {

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

8% {
	transform: translateY(-7px);
}

16% {
	transform: translateY(0);
}

}

@keyframes scalePop {

0% {
	transform: scale(1.02);
}

25% {
	transform: scale(0.98);
}

50% {
	transform: scale(1.02);
}

75% {
	transform: scale(0.98);
}

100% {
	transform: scale(1.02);
}

}

@keyframes floaty {

0% {
	transform: translateX(0px) scale(1) rotate(-20deg);
}

50% {
	transform: translateX(-12px) scale(1.03) rotate(-20deg);
}

100% {
	transform: translateX(0px) scale(1) rotate(-20deg);
}

}

@keyframes ufoFloat {

0% {
	transform: translate(0px, 0px) rotate(-1deg);
}

25% {
	transform: translate(6px, -10px) rotate(1deg);
}

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

75% {
	transform: translate(5px, -8px) rotate(1deg);
}

100% {
	transform: translate(0px, 0px) rotate(-1deg);
}

}

@keyframes recruitFloat {

0% {
	transform: translateY(0px) rotate(0deg);
}

30% {
	transform: translateY(-4px) rotate(0.4deg);
}

60% {
	transform: translateY(-6px) rotate(-0.2deg);
}

100% {
	transform: translateY(0px) rotate(0deg);
}

}

