/**
 *
 * page-home.scss
 *
 */
@media screen and (min-width: 1024px) {
	.home-main {
		--hero-slope-height: 22.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-main {
		--hero-slope-height: 4rem ;
	}
}

/* ------------------------------------------------------------
 home-kv
------------------------------------------------------------ */
.home-kv {
	container-type: size;
	position: relative;
	height: calc( var( --wh ) + var(--hero-slope-height));
	background-color: var(--color-bg6);
}

@media screen and (min-width: 1024px) {
	.home-kv {
		--base-height: 1223;
		min-height: 120rem ;
		max-height: 170rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv {
		--base-height: 757;
		min-height: 70rem ;
		max-height: 100rem ;
	}
}

/* ----------------------------------------
 home-kv__illust
---------------------------------------- */
.home-kv__illust {
	--z-index: 11;
}

@media screen and (min-width: 1024px) {
	.home-kv__illust {
		--width: 876.362;
		--height: 736.362;
		--top: 136.529;
		--left: 321.893;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__illust {
		--width: 427.73;
		--height: 358.546;
		--top: 170.507;
		--left: -2.387;
	}
}

/* ----------------------------------------
 home-kv__start
---------------------------------------- */
.home-kv__start {
	-webkit-filter: var(--shadow8);
	filter: var(--shadow8);
}

@media screen and (min-width: 1024px) {
	.home-kv__start {
		--z-index: 30;
		--width: 433.176;
		--height: 445.277;
		--top: 524.516;
		--left: 22.178;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__start {
		--z-index: 10;
		--width: 369.758;
		--height: 138.77;
		--top: 561.264;
		--left: 13.52;
	}
}

/* ----------------------------------------
 home-kv__illust2
 home-kv__illust3
 home-kv__illust4
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-kv__illust2 {
		--width: 925.165;
		--height: 372.317;
		--top: -41.665;
		--left: -195.853;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__illust2 {
		--width: 427.04;
		--height: 186.897;
		--top: -18.659;
		--left: -69.145;
	}
}

.home-kv__illust3 {
	--z-index: 0;
}

@media screen and (min-width: 1024px) {
	.home-kv__illust3 {
		--width: 176.441;
		--height: 255.332;
		--top: 485.829;
		--left: 1277.04;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__illust3 {
		--width: 84.799;
		--height: 127.308;
		--top: 273.922;
		--left: 18.738;
	}
}

.home-kv__illust4 {
	--z-index: 20;
}

@media screen and (min-width: 1024px) {
	.home-kv__illust4 {
		--width: 92.571;
		--height: 145.473;
		--top: 847.929;
		--left: 391.756;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__illust4 {
		--width: 64.054;
		--height: 99.801;
		--top: 643.885;
		--left: 348.671;
	}
}

/* ----------------------------------------
 home-kv__bg
---------------------------------------- */
/* ---------- home-kv__bg__burst ---------- */
.home-kv__bg__burst {
	--z-index: 1;
}

@media screen and (min-width: 1024px) {
	.home-kv__bg__burst {
		--width: 578.595;
		--height: 575.87;
		--top: 325.582;
		--left: 460.972;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__bg__burst {
		--width: 264.724;
		--height: 263.477;
		--top: 253.665;
		--left: 69.046;
	}
}

/* ---------- home-kv__bg__fan ---------- */
.home-kv__bg__fan {
	position: absolute;
	z-index: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-image: url("../img/home/kv_fan.webp");
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
}

@media screen and (min-width: 1024px) {
	.home-kv__bg__fan {
		width: 114.3251cqw ;
		height: 50.53148cqh ;
		bottom: -2.61652cqh ;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__bg__fan {
		width: 280.75cqw ;
		height: 53.50066cqh ;
		bottom: -3.03831cqh ;
	}
}

/* ---------- home-kv__bg__fan ---------- */
.home-kv__bg__star {
	--z-index: 2;
}

@media screen and (min-width: 1024px) {
	.home-kv__bg__star.-unique1 {
		--width: 10.29;
		--height: 10.038;
		--top: 86.931;
		--left: 461.706;
	}
	.home-kv__bg__star.-unique2 {
		--width: 10.29;
		--height: 10.038;
		--top: 239.295;
		--left: 653.575;
	}
	.home-kv__bg__star.-unique3 {
		--width: 10.29;
		--height: 10.038;
		--top: 203.131;
		--left: 871.231;
	}
	.home-kv__bg__star.-unique4 {
		--width: 10.29;
		--height: 10.038;
		--top: 382.786;
		--left: 191.884;
	}
	.home-kv__bg__star.-unique5 {
		--width: 13.872;
		--height: 14.34;
		--top: 486.995;
		--left: 399.682;
	}
	.home-kv__bg__star.-unique6 {
		--width: 13.872;
		--height: 14.34;
		--top: 397.831;
		--left: 1187.947;
	}
	.home-kv__bg__star.-unique7 {
		--width: 13.872;
		--height: 14.34;
		--top: 344.373;
		--left: 1362.745;
	}
	.home-kv__bg__star.-unique8 {
		--width: 23.89;
		--height: 24.696;
		--top: 1039.088;
		--left: 81.64;
	}
	.home-kv__bg__star.-unique9 {
		--width: 10.29;
		--height: 10.038;
		--top: 961.263;
		--left: 660.427;
	}
	.home-kv__bg__star.-unique10 {
		--width: 13.872;
		--height: 14.34;
		--top: 895.815;
		--left: 1060.042;
	}
	.home-kv__bg__star.-unique11 {
		--width: 13.872;
		--height: 14.34;
		--top: 701.798;
		--left: 1162.415;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__bg__star.-unique6, .home-kv__bg__star.-unique7, .home-kv__bg__star.-unique8, .home-kv__bg__star.-unique9, .home-kv__bg__star.-unique10, .home-kv__bg__star.-unique11 {
		display: none;
	}
	.home-kv__bg__star.-unique1 {
		--width: 10.338;
		--height: 10.687;
		--top: 207.554;
		--left: 81.576;
	}
	.home-kv__bg__star.-unique2 {
		--width: 8.905;
		--height: 8.687;
		--top: 163.188;
		--left: 190.692;
	}
	.home-kv__bg__star.-unique3 {
		--width: 11.381;
		--height: 11.765;
		--top: 274.208;
		--left: 356.477;
	}
	.home-kv__bg__star.-unique4 {
		--width: 9.59;
		--height: 9.914;
		--top: 520.997;
		--left: 90.758;
	}
	.home-kv__bg__star.-unique5 {
		--width: 14.197;
		--height: 14.676;
		--top: 509.068;
		--left: 323.808;
	}
}

/* ---------- home-kv__bg__thunder ---------- */
.home-kv__bg__thunder {
	--z-index: 2;
}

@media screen and (min-width: 1024px) {
	.home-kv__bg__thunder.-unique1 {
		--width: 28.384;
		--height: 53.449;
		--top: -8.22;
		--left: 365.454;
	}
	.home-kv__bg__thunder.-unique2 {
		--width: 21.007;
		--height: 39.557;
		--top: 120.796;
		--left: 297.609;
	}
	.home-kv__bg__thunder.-unique3 {
		--width: 16.341;
		--height: 30.771;
		--top: 357.199;
		--left: 25.823;
	}
	.home-kv__bg__thunder.-unique4 {
		--width: 50.165;
		--height: 94.464;
		--top: 283.516;
		--left: 256.938;
	}
	.home-kv__bg__thunder.-unique5 {
		--width: 30.955;
		--height: 58.29;
		--top: 230.955;
		--left: 574.385;
	}
	.home-kv__bg__thunder.-unique6 {
		--width: 15.79;
		--height: 29.734;
		--top: 141.503;
		--left: 890.239;
	}
	.home-kv__bg__thunder.-unique7 {
		--width: 19.831;
		--height: 37.344;
		--top: 455.477;
		--left: 468.774;
	}
	.home-kv__bg__thunder.-unique8 {
		--width: 44.773;
		--height: 84.311;
		--top: 379.246;
		--left: 1269.851;
	}
	.home-kv__bg__thunder.-unique9 {
		--width: 17.379;
		--height: 32.727;
		--top: 328.888;
		--left: 1437.353;
	}
	.home-kv__bg__thunder.-unique10 {
		--width: 50.165;
		--height: 94.464;
		--top: 716.316;
		--left: 1103.495;
	}
	.home-kv__bg__thunder.-unique11 {
		--width: 25.863;
		--height: 48.703;
		--top: 792.802;
		--left: 1476.486;
	}
	.home-kv__bg__thunder.-unique12 {
		--width: 41.134;
		--height: 77.458;
		--top: 973.583;
		--left: 718.865;
	}
	.home-kv__bg__thunder.-unique13 {
		--width: 72.295;
		--height: 136.137;
		--top: 1061.96;
		--left: 526.705;
	}
	.home-kv__bg__thunder.-unique14 {
		--width: 29.56;
		--height: 55.664;
		--top: 1083.988;
		--left: 235.448;
	}
	.home-kv__bg__thunder.-unique15 {
		--width: 26.205;
		--height: 49.346;
		--top: 1259.117;
		--left: 495.79;
	}
	.home-kv__bg__thunder.-unique16 {
		--width: 19.831;
		--height: 37.344;
		--top: 1081.523;
		--left: 1183.87;
	}
	.home-kv__bg__thunder.-unique17 {
		--width: 38.332;
		--height: 72.182;
		--top: 445.1;
		--left: 55.93;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__bg__thunder.-unique1 {
		--width: 13.561;
		--height: 25.536;
		--top: -3.894;
		--left: 275.475;
	}
	.home-kv__bg__thunder.-unique2 {
		--width: 23.728;
		--height: 44.682;
		--top: 30.977;
		--left: 183.565;
	}
	.home-kv__bg__thunder.-unique3 {
		--width: 13.561;
		--height: 25.536;
		--top: 166.08;
		--left: 5.761;
	}
	.home-kv__bg__thunder.-unique4 {
		--width: 22.884;
		--height: 43.092;
		--top: 142.583;
		--left: 119.344;
	}
	.home-kv__bg__thunder.-unique5 {
		--width: 14.422;
		--height: 27.159;
		--top: 155.296;
		--left: 251.807;
	}
	.home-kv__bg__thunder.-unique6 {
		--width: 17.993;
		--height: 33.881;
		--top: 269.761;
		--left: 383.703;
	}
	.home-kv__bg__thunder.-unique7 {
		--width: 19.12;
		--height: 36.005;
		--top: 559.869;
		--left: 40.423;
	}
	.home-kv__bg__thunder.-unique8 {
		--width: 14.422;
		--height: 27.159;
		--top: 535.342;
		--left: 203.877;
	}
	.home-kv__bg__thunder.-unique9 {
		--width: 33.194;
		--height: 62.506;
		--top: 535.788;
		--left: 313.989;
	}
	.home-kv__bg__thunder.-unique10 {
		--width: 23.887;
		--height: 44.982;
		--top: 731.92;
		--left: 29.582;
	}
	.home-kv__bg__thunder.-unique11 {
		--width: 40.271;
		--height: 75.833;
		--top: 788.411;
		--left: 109.518;
	}
	.home-kv__bg__thunder.-unique12 {
		--width: 27.87;
		--height: 52.482;
		--top: 734.523;
		--left: 375.667;
	}
	.home-kv__bg__thunder.-unique13, .home-kv__bg__thunder.-unique14, .home-kv__bg__thunder.-unique15, .home-kv__bg__thunder.-unique16, .home-kv__bg__thunder.-unique17 {
		display: none;
	}
}

/* ---------- home-kv__bg__bug ---------- */
.home-kv__bg__bug {
	--z-index: 2;
}

@media screen and (min-width: 1024px) {
	.home-kv__bg__bug.-unique1 {
		--width: 85.511;
		--height: 81.696;
		--top: 132.901;
		--left: 746.028;
	}
	.home-kv__bg__bug.-unique2 {
		--width: 34.76;
		--height: 34.02;
		--top: 177.206;
		--left: 975.07;
	}
	.home-kv__bg__bug.-unique3 {
		--width: 59.364;
		--height: 56.307;
		--top: 271.434;
		--left: 1249.276;
	}
	.home-kv__bg__bug.-unique4 {
		--width: 59.601;
		--height: 57.251;
		--top: 480.499;
		--left: 1461.152;
	}
	.home-kv__bg__bug.-unique5 {
		--width: 42.137;
		--height: 41.173;
		--top: 308.275;
		--left: 394.684;
	}
	.home-kv__bg__bug.-unique6 {
		--width: 41.154;
		--height: 41.174;
		--top: 428.507;
		--left: 134.599;
	}
	.home-kv__bg__bug.-unique7 {
		--width: 74.736;
		--height: 72.721;
		--top: 448.911;
		--left: 311.407;
	}
	.home-kv__bg__bug.-unique8 {
		--width: 56.275;
		--height: 59.427;
		--top: 1165.92;
		--left: 168.727;
	}
	.home-kv__bg__bug.-unique9 {
		--width: 102.496;
		--height: 103.007;
		--top: 950.949;
		--left: 579.575;
	}
	.home-kv__bg__bug.-unique10 {
		--width: 47.505;
		--height: 50.858;
		--top: 924.952;
		--left: 927.635;
	}
	.home-kv__bg__bug.-unique11 {
		--width: 79.35;
		--height: 77.744;
		--top: 907.407;
		--left: 1142.412;
	}
	.home-kv__bg__bug.-unique12, .home-kv__bg__bug.-unique13, .home-kv__bg__bug.-unique14, .home-kv__bg__bug.-unique15, .home-kv__bg__bug.-unique16, .home-kv__bg__bug.-unique17, .home-kv__bg__bug.-unique18, .home-kv__bg__bug.-unique19, .home-kv__bg__bug.-unique20, .home-kv__bg__bug.-unique21 {
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__bg__bug.-unique1, .home-kv__bg__bug.-unique2, .home-kv__bg__bug.-unique3, .home-kv__bg__bug.-unique4, .home-kv__bg__bug.-unique5, .home-kv__bg__bug.-unique6, .home-kv__bg__bug.-unique7, .home-kv__bg__bug.-unique8, .home-kv__bg__bug.-unique9, .home-kv__bg__bug.-unique10, .home-kv__bg__bug.-unique11 {
		display: none;
	}
	.home-kv__bg__bug.-unique12 {
		--width: 35.735;
		--height: 35.012;
		--top: 139.962;
		--left: 296.821;
	}
	.home-kv__bg__bug.-unique13 {
		--width: 23.446;
		--height: 24.541;
		--top: 191.623;
		--left: 30.289;
	}
	.home-kv__bg__bug.-unique14 {
		--width: 16.985;
		--height: 16.624;
		--top: 204.231;
		--left: 239.309;
	}
	.home-kv__bg__bug.-unique15 {
		--width: 19.912;
		--height: 20.414;
		--top: 270.52;
		--left: 103.414;
	}
	.home-kv__bg__bug.-unique16 {
		--width: 17.852;
		--height: 17.444;
		--top: 353.079;
		--left: 258.125;
	}
	.home-kv__bg__bug.-unique17 {
		--width: 28.64;
		--height: 26.817;
		--top: 517.918;
		--left: 26.379;
	}
	.home-kv__bg__bug.-unique18 {
		--width: 46.038;
		--height: 48.813;
		--top: 528.242;
		--left: 91.524;
	}
	.home-kv__bg__bug.-unique19 {
		--width: 36.191;
		--height: 35.681;
		--top: 461.183;
		--left: 344.513;
	}
	.home-kv__bg__bug.-unique20 {
		--width: 19.471;
		--height: 20.845;
		--top: 552.162;
		--left: 366.834;
	}
	.home-kv__bg__bug.-unique21 {
		--width: 25.355;
		--height: 26.673;
		--top: 704.1;
		--left: 51.763;
	}
}

/* ----------------------------------------
 home-kv__next
---------------------------------------- */
.home-kv__next {
	position: absolute;
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-kv__next {
		right: 1.6rem ;
		bottom: 25.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-kv__next {
		right: 1.4rem ;
		bottom: -16rem ;
	}
}

/* ------------------------------------------------------------
 home-hero
------------------------------------------------------------ */
.home-hero {
	margin-top: calc( var(--hero-slope-height) * -1);
	margin-bottom: calc( var(--corner) * -1);
	-webkit-filter: var(--shadow4);
	filter: var(--shadow4);
}

@media screen and (min-width: 1024px) {
	.home-hero {
		--corner: 5.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero {
		--corner: 2.2rem ;
	}
}

.home-hero__body {
	--corner-adjusted: calc(100% - var(--corner));
	background-color: var(--color-bg);
	clip-path: polygon(0 var(--hero-slope-height), 100% 0, 100% var(--corner-adjusted), var(--corner-adjusted) 100%, var(--corner) 100%, 0 var(--corner-adjusted));
	-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
	transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}

@media screen and (min-width: 1024px) {
	.home-hero__body {
		padding: 31.8rem 0 18.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__body {
		padding: 20.9rem 0 10.2rem ;
	}
}

.home-hero__inner {
	position: relative;
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-hero__inner {
		max-width: var(--sp-width);
		width: 100%;
		margin-inline: auto;
		padding: 0 !important;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__inner {
		padding: 0 2.8rem ;
	}
}

/* ----------------------------------------
 home-hero__contents
---------------------------------------- */
.home-hero__contents {
	position: relative;
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-hero__contents {
		margin-left: 10.3rem ;
	}
}

/* ---------- home-hero__header --------- */
.home-hero__en {
	--slope-tan: var( --slope4-tan );
	display: flex;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.home-hero__en {
		--slope-height: 3.8rem ;
		gap: 0.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__en {
		--slope-height: 2.4rem ;
		gap: 0.4rem ;
	}
}

.home-hero__en::before {
	background-color: var(--color-bg2);
	margin-right: calc( var(--slope-width) * -1);
}

@media screen and (min-width: 1024px) {
	.home-hero__en::before {
		width: 3.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__en::before {
		width: 2.2rem ;
	}
}

.home-hero__en span {
	background-color: var(--color-bg2);
	color: var(--color-txt2);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 800;
}

.home-hero__en span::before, .home-hero__en span::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-hero__en span::before {
	margin-top: var(--font-sans-serif-top);
}

.home-hero__en span::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-hero__en span {
		font-size: var(--font-size22);
		padding: 0 2.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__en span {
		font-size: var(--font-size14);
		padding: 0 1.4rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-hero__title {
		width: 74.2rem ;
		margin-top: 3rem ;
		margin-left: -0.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__title {
		width: 34.9rem ;
		margin-top: 1.5rem ;
		margin-left: -0.6rem ;
	}
}

/* ---------- home-hero__txt --------- */
@media screen and (min-width: 1024px) {
	.home-hero__txt {
		margin-top: 4.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__txt {
		margin-top: 2.4rem ;
	}
}

.home-hero__txt a {
	position: relative;
	color: var(--color-main);
	line-height: 1;
}

@media screen and (min-width: 1024px) {
	.home-hero__txt a {
		display: inline-block;
		padding: 0.6rem 0 0.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__txt a {
		background-position: 0 94% !important;
	}
}

@media (hover: hover) {
	.home-hero__txt a:hover .home-hero__tooltip {
		opacity: 1;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		pointer-events: auto;
	}
}

/* ---------- home-hero__tooltip --------- */
.home-hero__tooltip {
	position: absolute;
	left: 50%;
	bottom: 100%;
	-webkit-transform: translate(-50%, 30%);
	transform: translate(-50%, 30%);
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 2.2rem ;
	height: 5.1rem ;
	border-radius: var(--radius-max);
	background-color: var(--color-bg2);
	color: var(--color-txt2);
	padding: 0 2rem 0 2.6rem ;
	opacity: 0;
	transition: var(--transition-hover);
	transition-property: opacity, -webkit-transform;
	transition-property: opacity, transform;
	transition-property: opacity, transform, -webkit-transform;
	pointer-events: none;
}

@media screen and (max-width: 1023px) {
	.home-hero__tooltip {
		display: none;
	}
}

.home-hero__tooltip::before {
	aspect-ratio: 1 / 1;
	content: '';
	display: block;
	width: 2.2rem ;
	background-color: var(--color-bg2);
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-top: -0.1rem ;
}

.home-hero__tooltip__txt {
	display: block;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 700;
	font-size: var(--font-size16);
	white-space: nowrap;
	padding-bottom: 0.2rem ;
}

.home-hero__tooltip__txt::before, .home-hero__tooltip__txt::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-hero__tooltip__txt::before {
	margin-top: var(--font-sans-serif-top);
}

.home-hero__tooltip__txt::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

/* ----------------------------------------
 home-hero__illust
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-hero__illust {
		position: absolute;
		z-index: 0;
		width: 94.6rem ;
		top: -20rem ;
		right: -20.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__illust {
		width: 42.7rem ;
		margin-top: -4rem ;
		margin-right: -10rem ;
		margin-left: auto;
	}
}

.home-hero__illust > img:nth-of-type(1) {
	z-index: 2;
}

/* ----------------------------------------
 home-hero__link
---------------------------------------- */
.home-hero__links {
	position: relative;
	z-index: 10;
	display: grid;
}

@media screen and (min-width: 1024px) {
	.home-hero__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem ;
		width: 103.5rem ;
		margin-top: 10rem ;
		margin-left: 8.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__links {
		gap: 2.7rem ;
		margin-top: -4.9rem ;
	}
}

.home-hero__link {
	position: relative;
}

.home-hero__link a {
	display: block;
	background-color: var(--color-bg3);
}

@media screen and (min-width: 1024px) {
	.home-hero__link a {
		--corner: 1.4rem ;
		height: 18rem ;
		padding-left: 25rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link a {
		--corner: 1rem ;
		height: 12.4rem ;
		padding-left: 17rem ;
	}
}

/* ---------- home-hero__link__balloon ---------- */
.home-hero__link__balloon {
	position: absolute;
	z-index: 1;
	border-radius: var(--radius-max);
	background-color: var(--theme-color);
	color: var(--color-txt2);
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__balloon {
		top: -1.6rem ;
		left: 3.2rem ;
		font-size: var(--font-size12);
		padding: 0.9rem 1.3rem 1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__balloon {
		top: -1.2rem ;
		left: 2rem ;
		font-size: var(--font-size9);
		padding: 0.7rem 1rem ;
	}
}

.home-hero__link__balloon::before {
	aspect-ratio: 1 / 1;
	content: '';
	display: block;
	background-color: var(--theme-color);
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-top: -0.1rem ;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
}

@media screen and (min-width: 1024px) {
	.home-hero__link__balloon::before {
		width: 1.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__balloon::before {
		width: 1rem ;
	}
}

/* ---------- home-hero__link__illust ---------- */
.home-hero__link__illust {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__illust.-unique1 {
		width: 16.2rem ;
		left: 4.8rem ;
		bottom: -1.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__illust.-unique1 {
		width: 10.8rem ;
		left: 3.4rem ;
		bottom: -1.3rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-hero__link__illust.-unique2 {
		width: 29.7rem ;
		top: -2.6rem ;
		left: -6.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__illust.-unique2 {
		width: 20.8rem ;
		top: -1.9rem ;
		left: -5.1rem ;
	}
}

/* ---------- home-hero__link__contents ---------- */
.home-hero__link__contents {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__contents {
		padding-top: 0.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__contents {
		padding-bottom: 0.1rem ;
	}
}

.home-hero__link__ja {
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__ja {
		font-size: var(--font-size30);
		margin-top: 1.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__ja {
		font-size: var(--font-size20);
		margin-top: 1.2rem ;
	}
}

.home-hero__link__title {
	display: flex;
	align-items: center;
	gap: 0.2rem ;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__title {
		margin-top: 1.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__title {
		margin-top: 1.2rem ;
	}
}

.home-hero__link__title span {
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__title span {
		font-size: var(--font-size14);
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__title span {
		font-size: var(--font-size11);
	}
}

.home-hero__link__title span:nth-of-type(1) {
	--slope-tan: var( --slope3-tan );
	background-color: var(--color-bg);
}

@media screen and (min-width: 1024px) {
	.home-hero__link__title span:nth-of-type(1) {
		--slope-height: 2.1rem ;
		padding: 0 1.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__title span:nth-of-type(1) {
		--slope-height: 1.6rem ;
		padding: 0 0.8rem ;
	}
}

/* ---------- home-hero__link__arrow ---------- */
.home-hero__link__arrow {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.home-hero__link__arrow {
		right: 2.5rem ;
		bottom: 2.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__link__arrow {
		right: 1.3rem ;
		bottom: 1.3rem ;
	}
}

/* ------------------------------------------------------------
 home-service
------------------------------------------------------------ */
.home-service {
	background-color: var(--color-main);
}

@media screen and (min-width: 1024px) {
	.home-service {
		padding: 14.2rem 0 16rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service {
		padding: 9.6rem 0 10.5rem ;
	}
}

/* ----------------------------------------
 home-service__header
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-service__header {
		padding: 0 9rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__header {
		padding: 0 2rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-service__en {
		margin-left: 1rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-service__ja {
		margin-top: 2.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__ja {
		margin-top: 1.3rem ;
	}
}

/* ----------------------------------------
 home-service__illust
---------------------------------------- */
.home-service__illust {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.home-service__illust {
		width: 47.4rem ;
		top: -13.7rem ;
		right: 6.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__illust {
		width: 15.5rem ;
		top: -11rem ;
		right: 1rem ;
	}
}

.home-service__illust picture {
	-webkit-transform-origin: 80% 100%;
	transform-origin: 80% 100%;
}

/* ----------------------------------------
 home-service__item
---------------------------------------- */
.home-service__items {
	position: relative;
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-service__items {
		margin-top: 4.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__items {
		margin-top: 3.5rem ;
	}
}

.home-service__item {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

@media screen and (min-width: 1024px) {
	.home-service__item {
		margin: 0 0.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item {
		margin: 0 0.4rem ;
	}
}

.home-service__item a {
	position: relative;
	display: block;
	background-color: var(--color-bg);
}

@media screen and (min-width: 1024px) {
	.home-service__item a {
		--corner: 0.8rem ;
		width: 38.2rem ;
		height: 52.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item a {
		--corner: 0.6rem ;
		width: 27.8rem ;
		height: 41.2rem ;
	}
}

/* ---------- home-service__item__illust ---------- */
.home-service__item__illust {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.home-service__item__illust {
		top: 5.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__illust {
		top: 3.5rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-service__item__illust img {
		min-width: var(--width);
		width: var(--width);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__illust img {
		min-width: calc( var(--width) * 0.79912664);
		width: calc( var(--width) * 0.79912664);
	}
}

.home-service__item__illust [src*="service_item_illust_1.svg"] {
	--width: 24.8rem ;
}

.home-service__item__illust [src*="service_item_illust_2.svg"] {
	--width: 22.9rem ;
}

.home-service__item__illust [src*="service_item_illust_3.svg"] {
	--width: 27.3rem ;
}

.home-service__item__illust [src*="service_item_illust_4.svg"] {
	--width: 21.4rem ;
}

.home-service__item__illust [src*="service_item_illust_5.svg"] {
	--width: 24.4rem ;
}

.home-service__item__illust [src*="service_item_illust_6.svg"] {
	--width: 22rem ;
}

.home-service__item__illust [src*="service_item_illust_7.svg"] {
	--width: 24.4rem ;
}

.home-service__item__illust [src*="service_item_illust_8.svg"] {
	--width: 22.3rem ;
}

.home-service__item__illust [src*="service_item_illust_9.svg"] {
	--width: 22.1rem ;
}

.home-service__item__illust [src*="service_item_illust_10.svg"] {
	--width: 23.6rem ;
}

.home-service__item__illust [src*="service_item_illust_11.svg"] {
	--width: 22.4rem ;
}

.home-service__item__illust [src*="service_item_illust_12.svg"] {
	--width: 18.1rem ;
}

.home-service__item__illust [src*="service_item_illust_13.svg"] {
	--width: 22.2rem ;
}

.home-service__item__illust [src*="service_item_illust_14.svg"] {
	--width: 23.8rem ;
}

/* ---------- home-service__item__contents ---------- */
@media screen and (min-width: 1024px) {
	.home-service__item__contents {
		padding: 30.9rem 3.7rem 3.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__contents {
		padding: 24.2rem 3rem 3rem ;
	}
}

.home-service__item__en {
	display: grid;
	gap: 0.7rem ;
	color: var(--color-main);
}

.home-service__item__en span {
	display: block;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 500;
	font-style: italic;
	letter-spacing: -0.02em;
	margin-left: -0.05em;
}

.home-service__item__en span::before, .home-service__item__en span::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-service__item__en span::before {
	margin-top: var(--font-sans-serif-top);
}

.home-service__item__en span::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-service__item__en span {
		font-size: var(--font-size54);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__en span {
		font-size: var(--font-size40);
	}
}

.home-service__item__ja {
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-service__item__ja {
		font-size: var(--font-size20);
		margin-top: 2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__ja {
		font-size: var(--font-size16);
		margin-top: 1.5rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-service__item__ja span {
		font-size: var(--font-size14);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__ja span {
		font-size: var(--font-size12);
	}
}

@media screen and (min-width: 1024px) {
	.home-service__item__txt {
		margin-top: 2.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__txt {
		margin-top: 1.6rem ;
	}
}

/* ---------- home-service__item__arrow ---------- */
.home-service__item__arrow {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.home-service__item__arrow {
		right: 2.5rem ;
		bottom: 2.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__item__arrow {
		right: 1.5rem ;
		bottom: 1.5rem ;
	}
}

/* ---------- home-service__arrows ---------- */
@media screen and (max-width: 1023px) {
	.home-service__arrows {
		display: none;
	}
}

.home-service__arrows button {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.home-service__arrows button:nth-of-type(1) {
	left: 14.6rem ;
}

.home-service__arrows button:nth-of-type(2) {
	right: 14.6rem ;
}

/* ----------------------------------------
 home-service__button
---------------------------------------- */
.home-service__button {
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-service__button {
		margin-top: 3.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__button {
		margin-top: 2.8rem ;
	}
}

/* ------------------------------------------------------------
 home-works
------------------------------------------------------------ */
.home-works {
	margin-top: calc( var(--corner) * -1);
	-webkit-filter: var(--shadow5);
	filter: var(--shadow5);
}

@media screen and (min-width: 1024px) {
	.home-works {
		--corner: 5.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works {
		--corner: 2.2rem ;
	}
}

.home-works__body {
	background-color: var(--color-bg);
}

@media screen and (min-width: 1024px) {
	.home-works__body {
		padding: 9.5rem 0 17.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__body {
		padding: 7.2rem 0 12.1rem ;
	}
}

/* ----------------------------------------
 home-works__header
---------------------------------------- */
.home-works__header {
	display: flex;
	flex-direction: column;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.home-works__ja {
		margin-top: 2.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__ja {
		margin-top: 1.3rem ;
	}
}

/* ----------------------------------------
 home-works__illust
---------------------------------------- */
.home-works__illust,
.home-works__illust2 {
	position: absolute;
	pointer-events: none;
}

.home-works__illust picture:nth-of-type(2),
.home-works__illust2 picture:nth-of-type(2) {
	z-index: 20;
}

@media screen and (min-width: 1024px) {
	.home-works__illust {
		width: 20.4rem ;
		top: 4.1rem ;
		left: 4.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__illust {
		width: 7.7rem ;
		top: 2rem ;
		left: calc( 50% - 18.9rem);
	}
}

@media screen and (min-width: 1024px) {
	.home-works__illust2 {
		width: 24.5rem ;
		top: 3.9rem ;
		right: 2.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__illust2 {
		width: 10rem ;
		top: 1.7rem ;
		right: calc( 50% - 19.7rem);
	}
}

/* ----------------------------------------
 home-works__items
---------------------------------------- */
.home-works__items {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-works__items {
		margin-top: 4.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__items {
		margin-top: 3.2rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-works__items article {
		width: 50rem ;
		margin: 0 2.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__items article {
		width: 36rem ;
		margin: 0 2.1rem ;
	}
}

/* ---------- home-works__arrows ---------- */
.home-works__arrows button {
	position: absolute;
	top: 50%;
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-works__arrows button {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@media screen and (min-width: 1024px) {
	.home-works__arrows button:nth-of-type(1) {
		left: calc( 50% - 29.1rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-works__arrows button:nth-of-type(1) {
		left: 0;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}

@media screen and (min-width: 1024px) {
	.home-works__arrows button:nth-of-type(2) {
		right: calc( 50% - 29.1rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-works__arrows button:nth-of-type(2) {
		right: 0;
		-webkit-transform: translate(50%, -50%);
		transform: translate(50%, -50%);
	}
}

@media screen and (max-width: 1023px) {
	.home-works__arrows .c-arrow2 {
		padding-right: 2.4rem ;
	}
}

/* ----------------------------------------
 home-works__button
---------------------------------------- */
.home-works__button {
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-works__button {
		margin-top: 3.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-works__button {
		margin-top: 2.7rem ;
	}
}

/* ------------------------------------------------------------
 home-other
------------------------------------------------------------ */
/* ----------------------------------------
 home-other__head
---------------------------------------- */
.home-other__head {
	position: relative;
	z-index: 10;
	background-color: var(--color-bg2);
}

@media screen and (min-width: 1024px) {
	.home-other__head {
		height: 23.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head {
		height: 21rem ;
	}
}

.home-other__head::before, .home-other__head::after {
	content: '';
	display: block;
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

@media screen and (min-width: 1024px) {
	.home-other__head::before, .home-other__head::after {
		width: 104.06667%;
		left: -2.13333%;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head::before, .home-other__head::after {
		width: 154.5%;
		left: -27.25%;
	}
}

.home-other__head::before {
	background-image: url("../img/home/other_head_wave_top.webp");
}

@media screen and (min-width: 1024px) {
	.home-other__head::before {
		height: 23.5rem ;
		top: -9.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head::before {
		height: 14.5rem ;
		top: -3.4rem ;
	}
}

.home-other__head::after {
	background-image: url("../img/home/other_head_wave_bottom.webp");
}

@media screen and (min-width: 1024px) {
	.home-other__head::after {
		height: 30.8rem ;
		bottom: -14.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head::after {
		height: 17.4rem ;
		bottom: -5.8rem ;
	}
}

/* ---------- home-other__head__item ---------- */
.home-other__head__items {
	position: relative;
	z-index: 1;
}

.home-other__head__item {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 1024px) {
	.home-other__head__item {
		min-width: var(--width);
		width: var(--width);
		margin-top: var(--margin-top);
		margin-right: var(--margin-right);
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head__item {
		min-width: calc( var(--width) * 0.83850932);
		width: calc( var(--width) * 0.83850932);
		margin-top: calc( var(--margin-top) * 0.73333333);
		margin-right: calc( var(--margin-right) * 0.26767677);
	}
}

.home-other__head__item.-unique1 {
	--width: 16.1rem ;
	--margin-top: 6rem ;
	--margin-right: 16.4rem ;
}

.home-other__head__item.-unique2 {
	--width: 16.1rem ;
	--margin-top: 4.5rem ;
	--margin-right: -1.8rem ;
}

@media screen and (max-width: 1023px) {
	.home-other__head__item.-unique2 {
		margin-right: -2.4rem ;
	}
}

.home-other__head__item.-unique3 {
	--width: 10.3rem ;
	--margin-top: 7.4rem ;
	--margin-right: 19.8rem ;
}

.home-other__head__item.-unique4 {
	--width: 10.6rem ;
	--margin-top: 11.1rem ;
	--margin-right: 14.5rem ;
}

.home-other__head__item.-unique5 {
	--width: 16.1rem ;
	--margin-top: 2.6rem ;
	--margin-right: 11.5rem ;
}

.home-other__head__item.-unique6 {
	--width: 11.5rem ;
	--margin-top: 8.6rem ;
	--margin-right: 18.3rem ;
}

.home-other__head__item.-unique7 {
	--width: 10.3rem ;
	--margin-top: 5.5rem ;
	--margin-right: 12rem ;
}

/* ---------- home-other__head__illust ---------- */
.home-other__head__illust {
	position: absolute;
	z-index: 1;
	left: 51%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
	.home-other__head__illust {
		width: 85rem ;
		bottom: -15.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__head__illust {
		width: 38.4rem ;
		bottom: -5.8rem ;
	}
}

/* ----------------------------------------
 home-other__bug
---------------------------------------- */
.home-other__bug {
	position: relative;
	background-color: var(--color-main);
	padding-top: 0.1px;
}

@media screen and (min-width: 1024px) {
	.home-other__bug {
		height: 48.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug {
		height: 28.8rem ;
	}
}

/* ---------- home-other__bug__en ---------- */
.home-other__bug__en {
	position: absolute;
	left: 0;
	z-index: 0;
	width: 100%;
	display: grid;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.home-other__bug__en {
		gap: 2.2rem ;
		top: 1.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__en {
		gap: 1rem ;
		top: 2.5rem ;
	}
}

.home-other__bug__en span {
	display: block;
	color: var(--color-main2);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 800;
	letter-spacing: -0.02em;
	white-space: nowrap;
	text-align: center;
	margin-left: -2.4em;
}

.home-other__bug__en span::before, .home-other__bug__en span::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-other__bug__en span::before {
	margin-top: var(--font-sans-serif-top);
}

.home-other__bug__en span::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-other__bug__en span {
		font-size: var(--font-size174);
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__en span {
		font-size: var(--font-size84);
	}
}

.home-other__bug__en span:nth-of-type(2) {
	margin-left: -5.1em;
}

/* ---------- home-other__bug__illust ---------- */
.home-other__bug__illusts {
	position: absolute;
	left: 0;
	z-index: 10;
	width: 100%;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.home-other__bug__illusts {
		top: 21.8rem ;
		padding: 0 7rem 0 3.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__illusts {
		top: 11.4rem ;
		padding: 0 2.2rem 0 2.8rem ;
	}
}

.home-other__bug__illust {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-other__bug__illust {
		width: 7rem ;
		height: 31.6rem ;
	}
	.home-other__bug__illust:nth-of-type(1), .home-other__bug__illust:nth-of-type(4), .home-other__bug__illust:nth-of-type(7) {
		height: 36rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__illust {
		width: 3.3rem ;
		height: 18.6rem ;
	}
	.home-other__bug__illust:nth-of-type(n + 6) {
		display: none;
	}
}

.home-other__bug__chara {
	position: relative;
	z-index: 3;
	display: block;
	width: 100%;
	-webkit-animation: scuttle-bug var(--animation-scuttle-x);
	animation: scuttle-bug var(--animation-scuttle-x);
	-webkit-animation-delay: var(--animation-delay);
	animation-delay: var(--animation-delay);
}

.home-other__bug__thunder,
.home-other__bug__burst {
	position: absolute;
	left: 50%;
	display: block;
	pointer-events: none;
	opacity: 0;
}

.home-other__bug__thunder {
	z-index: 2;
	top: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-animation: scuttle-thunder var(--animation-scuttle-y);
	animation: scuttle-thunder var(--animation-scuttle-y);
	-webkit-animation-delay: var(--animation-delay);
	animation-delay: var(--animation-delay);
}

@media screen and (min-width: 1024px) {
	.home-other__bug__thunder {
		width: 2.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__thunder {
		width: 1.4rem ;
	}
}

.home-other__bug__burst {
	z-index: 1;
	bottom: 0;
	-webkit-transform: translate(-50%, 0) scale(0);
	transform: translate(-50%, 0) scale(0);
	-webkit-animation: scuttle-burst var(--animation-scuttle-y);
	animation: scuttle-burst var(--animation-scuttle-y);
	-webkit-animation-delay: var(--animation-delay);
	animation-delay: var(--animation-delay);
}

@media screen and (min-width: 1024px) {
	.home-other__bug__burst {
		width: 7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__bug__burst {
		width: 4rem ;
	}
}

/* ----------------------------------------
 home-other__pages
---------------------------------------- */
.home-other__pages {
	background-color: var(--color-main);
}

@media screen and (min-width: 1024px) {
	.home-other__pages {
		padding-bottom: 13.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__pages {
		padding-bottom: 10.6rem ;
	}
}

.home-other__pages__inner {
	width: 100%;
	margin-inline: auto;
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-other__pages__inner {
		max-width: var(--sp-width);
		width: 100%;
		margin-inline: auto;
		padding: 0 !important;
	}
}

@media screen and (min-width: 1024px) {
	.home-other__pages__inner {
		--hover-anchor-height: 25.2rem ;
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 6.2rem ;
		max-width: 115rem ;
		height: var(--hover-anchor-height);
	}
}

@media screen and (max-width: 1023px) {
	.home-other__pages__inner {
		display: grid;
		gap: 2.2rem ;
		padding: 0 3rem ;
	}
}

/* ---------- home-other__page ---------- */
.home-other__page {
	position: relative;
}

.home-other__page:nth-of-type(1) {
	z-index: 0;
}

.home-other__page:nth-of-type(2) {
	z-index: 1;
}

.home-other__page:nth-of-type(3) {
	z-index: 2;
}

@media screen and (min-width: 1024px) {
	.home-other__page {
		flex: 1;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page {
		width: calc( 100% - 4.0rem);
	}
	.home-other__page:nth-of-type(2n-1) {
		margin-left: auto;
		margin-right: 0px;
	}
}

.home-other__page::before {
	aspect-ratio: 1 / 1;
	content: '';
	border-radius: 50%;
	background-color: var(--color-main);
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-other__page::before {
		width: 14rem ;
		bottom: -7.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page::before {
		width: 8rem ;
		bottom: -5rem ;
	}
}

.home-other__page a {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: var(--color-bg);
}

@media screen and (min-width: 1024px) {
	.home-other__page a {
		--corner: 5.2rem ;
		height: 22.6rem ;
		padding: 4rem 0 0 ;
		transition: height var(--transition-hover);
	}
}

@media screen and (min-width: 1024px) and (hover: hover) {
	.home-other__page a:hover {
		height: var(--hover-anchor-height);
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page a {
		--corner: 3.2rem ;
		height: 14.3rem ;
		padding: 2.2rem 0 0 ;
	}
}

.home-other__page__ja {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	display: flex;
	align-items: center;
	font-weight: 700;
	letter-spacing: 0.04em;
}

@media screen and (min-width: 1024px) {
	.home-other__page__ja {
		gap: 0.7rem ;
		font-size: var(--font-size24);
		margin-top: 1.4rem ;
		margin-left: 0.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__ja {
		gap: 0.4rem ;
		font-size: var(--font-size18);
		margin-top: 1.2rem ;
	}
}

.home-other__page__title {
	display: flex;
	align-items: center;
	gap: 0.2rem ;
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-other__page__title {
		font-size: var(--font-size14);
		margin-top: 1.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__title {
		font-size: var(--font-size11);
		margin-top: 1rem ;
	}
}

.home-other__page__title span:nth-of-type(1) {
	--slope-tan: var( --slope3-tan );
	background-color: var(--color-bg7);
	color: var(--color-txt2);
}

@media screen and (min-width: 1024px) {
	.home-other__page__title span:nth-of-type(1) {
		--slope-height: 2.2rem ;
		padding: 0 1.1rem 0.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__title span:nth-of-type(1) {
		--slope-height: 1.6rem ;
		padding: 0 0.9rem 0.1rem ;
	}
}

/* ----- home-other__page__illust ----- */
.home-other__page__illust {
	position: absolute;
	pointer-events: none;
}

@media screen and (max-width: 1023px) {
	.home-other__page__illust img {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@media screen and (min-width: 1024px) {
	.home-other__page__illust.-unique1 {
		width: 10.5rem ;
		right: -4.1rem ;
		bottom: -2.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__illust.-unique1 {
		width: 8.7rem ;
		left: -3.9rem ;
		bottom: -1.9rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-other__page__illust.-unique2 {
		width: 10.9rem ;
		right: -3.6rem ;
		bottom: -2.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__illust.-unique2 {
		width: 8.7rem ;
		right: -4rem ;
		bottom: -1.8rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-other__page__illust.-unique3 {
		width: 13.2rem ;
		right: -6.8rem ;
		bottom: -3.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-other__page__illust.-unique3 {
		width: 9.9rem ;
		left: -4rem ;
		bottom: -2.6rem ;
	}
}

/* ------------------------------------------------------------
 home-blog
------------------------------------------------------------ */
.home-blog {
	position: relative;
	z-index: 2;
	background-color: var(--color-main);
}

/* ----------------------------------------
 home-blog__header
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-blog__header__inner {
		padding: 0 6rem 3.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-blog__header__inner {
		padding: 0 2.4rem 2.3rem ;
	}
}

/* ---------- home-blog__illust ---------- */
.home-blog__illust {
	position: absolute;
	z-index: 1;
}

@media screen and (min-width: 1024px) {
	.home-blog__illust {
		width: 16rem ;
		left: 42.9rem ;
		bottom: -3.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-blog__illust {
		width: 7.6rem ;
		right: 1.8rem ;
		bottom: -3.3rem ;
	}
}

/* ----------------------------------------
 home-blog__main
---------------------------------------- */
.home-blog__main {
	position: relative;
	z-index: 10;
}

.home-blog__button {
	position: absolute;
	white-space: nowrap;
}

@media screen and (min-width: 1024px) {
	.home-blog__button {
		top: -8rem ;
		left: calc( 50% + 47.0rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-blog__button {
		left: 50%;
		bottom: -6.5rem ;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

/* ------------------------------------------------------------
 home-status
------------------------------------------------------------ */
.home-status {
	position: relative;
	z-index: 1;
	margin-bottom: calc( var(--corner) * -1);
	-webkit-filter: var(--shadow4);
	filter: var(--shadow4);
}

@media screen and (min-width: 1024px) {
	.home-status {
		--corner: 5.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status {
		--corner: 2.2rem ;
	}
}

.home-status__body {
	position: relative;
	overflow: hidden;
	z-index: 0;
	background-color: var(--color-bg8);
}

@media screen and (min-width: 1024px) {
	.home-status__body {
		padding-bottom: 18.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__body {
		padding-bottom: 11rem ;
	}
}

/* ----------------------------------------
 home-status__figure
---------------------------------------- */
.home-status__figure {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 0;
}

@media screen and (min-width: 1024px) {
	.home-status__figure {
		aspect-ratio: 1920 / 1595;
		width: 192rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__figure {
		aspect-ratio: 1024 / 1638;
		width: 102.4rem ;
	}
}

.home-status__figure figcaption {
	position: absolute;
	z-index: 10;
}

@media screen and (min-width: 1024px) {
	.home-status__figure figcaption {
		top: 59.8rem ;
		left: 64.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__figure figcaption {
		top: 51.7rem ;
		left: 35.1rem ;
	}
}

.home-status__figure__ja {
	display: block;
	font-weight: 600;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-status__figure__ja {
		font-size: var(--font-size13);
		--line-height: 1.46154;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__figure__ja {
		font-size: var(--font-size8);
		--line-height: 1.5;
	}
}

.home-status__figure__en {
	display: block;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 500;
}

.home-status__figure__en::before, .home-status__figure__en::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-status__figure__en::before {
	margin-top: var(--font-sans-serif-top);
}

.home-status__figure__en::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-status__figure__en {
		font-size: var(--font-size11);
		--line-height: 1.18182;
		margin-top: 1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__figure__en {
		font-size: var(--font-size7);
		--line-height: 1.2;
		margin-top: 0.6rem ;
	}
}

/* ----------------------------------------
 home-status__cinema
---------------------------------------- */
.home-status__cinema {
	position: relative;
	z-index: 1;
	margin-inline: auto;
	padding-top: 0.1px;
}

@media screen and (min-width: 1024px) {
	.home-status__cinema {
		width: 150rem ;
		height: 69.8rem ;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__cinema {
		width: 40rem ;
		height: 59rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-status__logo {
		width: 24.7rem ;
		margin-top: 29.5rem ;
		margin-left: 14.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__logo {
		width: 14.9rem ;
		margin-inline: auto;
		margin-top: 15.9rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-status__en {
		width: 17.8rem ;
		margin-top: 30.1rem ;
		margin-right: 14.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-status__en {
		width: 17.6rem ;
		margin-inline: auto;
		margin-top: 3.2rem ;
	}
}

/* ----------------------------------------
 home-status__next
---------------------------------------- */
.home-status__next {
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 100;
}

@media screen and (min-width: 1024px) {
	.home-status__next {
		width: 150rem ;
		padding-left: 20.8rem ;
	}
}

/* ------------------------------------------------------------
 home-next
------------------------------------------------------------ */
.home-next {
	position: relative;
	overflow: hidden;
	z-index: 0;
	background-color: var(--color-bg2);
}

@media screen and (min-width: 1024px) {
	.home-next {
		padding: 16.4rem 0 16.9rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-next {
		padding: 8rem 0 8.2rem ;
	}
}

.home-next::before {
	aspect-ratio: 1546 / 984;
	content: '';
	display: block;
	background-image: url("../img/home/next_gradation.svg");
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 0;
}

@media screen and (min-width: 1024px) {
	.home-next::before {
		width: 154.6rem ;
		top: -14.4rem ;
		right: -39rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-next::before {
		width: 89.3rem ;
		top: 3.6rem ;
		right: -45.1rem ;
	}
}

/* ------------------------------------------------------------
 home-recruit
------------------------------------------------------------ */
.home-recruit {
	margin-top: calc( var(--corner) * -1);
	-webkit-filter: var(--shadow5);
	filter: var(--shadow5);
}

@media screen and (min-width: 1024px) {
	.home-recruit {
		--corner: 5.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit {
		--corner: 2.2rem ;
	}
}

.home-recruit__body {
	background-color: var(--color-bg3);
}

@media screen and (min-width: 1024px) {
	.home-recruit__body {
		padding: 18rem 0 15rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__body {
		padding: 11.5rem 0 10.6rem ;
	}
}

/* ----------------------------------------
 home-recruit__contents
---------------------------------------- */
@media screen and (min-width: 1024px) {
	.home-recruit__contents {
		margin-left: 15.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__contents {
		margin-left: 4rem ;
	}
}

/* ---------- home-recruit__title ---------- */
.home-recruit__title {
	font-weight: 800;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 1024px) {
	.home-recruit__title {
		font-size: var(--font-size60);
		margin-top: 1.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__title {
		font-size: var(--font-size36);
		--line-height: 1.2;
		margin-top: 1.1rem ;
	}
}

/* ---------- home-recruit__txt ---------- */
@media screen and (min-width: 1024px) {
	.home-recruit__txt {
		margin-top: 3.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__txt {
		margin-top: 2.8rem ;
	}
}

/* ----------------------------------------
 home-recruit__illust
---------------------------------------- */
.home-recruit__illust {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.home-recruit__illust {
		width: 28.3rem ;
		top: -4.4rem ;
		right: 11.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__illust {
		width: 16rem ;
		top: -4rem ;
		right: 2.6rem ;
	}
}

/* ----------------------------------------
 home-recruit__lists
---------------------------------------- */
.home-recruit__lists {
	display: grid;
}

@media screen and (min-width: 1024px) {
	.home-recruit__lists {
		gap: 2.5rem ;
		margin-top: 7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__lists {
		gap: 1.8rem ;
		margin-top: 3.1rem ;
	}
}

.home-recruit__list {
	overflow: visible;
}

@media screen and (min-width: 1024px) {
	.home-recruit__list > div {
		gap: 0.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit__list > div {
		gap: 0.4rem ;
	}
}
