@charset "utf-8";
#hero_bg {
	width: 100%;
	height: 100vh;
	background-color: var(--c-bg-gray);
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}
	#hero_bg::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background-image: url(../image/bg@pc.webp);
		background-size: 100% auto;
		background-position: top center;
		background-repeat: repeat;
		mix-blend-mode: multiply;
		opacity: .3;
		position: absolute;
		top: 0%;
		left: 0%;
		z-index: 1;
	}
	.hero_bg__inner {
		width: 100%;
		height: 100%;
		position: relative;
		z-index: 2;
	}
		.hero_bg__main {
			width: 252.46px;
			height: auto;
			position: absolute;
			top: 217.5px;
			left: 263.29px;
		}
			.hero_bg__main > img:nth-of-type(1) {
				position: relative;
				z-index: 1;
			}
			.hero_bg__main > img:nth-of-type(2) {
				opacity: .4;
				mix-blend-mode: multiply;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
			}
			.hero_bg__main__character {
				width: calc((145.22 / 252.46) * 100%);
				height: auto;
				position: absolute;
				top: calc((131.52 / 405.52) * 100%);
				left: calc((54.95 / 252.46) * 100%);
				z-index: 3;
			}
		.hero_bg__image {
			height: auto;
			position: absolute;
		}
		.hero_bg__image._01 {
			width: 244.13px;
			top: -271.48px;
			left: -46.12px;
		}
		.hero_bg__image._02 {
			width: 237.73px;
			top: -178.49px;
			left: 261.6px;
		}
		.hero_bg__image._03 {
			width: 237.72px;
			top: -265.57px;
			left: 563.4px;
		}
		.hero_bg__image._04 {
			width: 233.2px;
			top: -296px;
			left: 843.22px;
		}
		.hero_bg__image._05 {
			width: 226.32px;
			top: 442px;
			left: -324px;
		}
		.hero_bg__image._06 {
			width: 237.72px;
			top: 128.48px;
			left: -40px;
		}
		.hero_bg__image._07 {
			width: 218.93px;
			top: 150.36px;
			left: 578.62px;
		}

main section {
	position: relative;
	z-index: 2;
}

#hero {
	width: 100%;
	height: 540px;
}
	.hero__inner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: calc((1000 / var(--vw)) * 100%);
		height: 100%;
		margin: 0 auto;
	}
		.hero__heading {
			width: max(calc((214 / var(--vw)) * 100vw), 214px);
			height: auto;
		}
			.hero__heading__main_text {
				width: max(calc((214 / var(--vw)) * 100vw), 214px);
				height: auto;
				margin: 0 0 max(calc((10 / var(--vw)) * 100vw), 10px) auto;
			}
				.hero__heading__main_text svg {
					fill: var(--c-main-blue);
				}
			.hero__heading__sub_text {
				width: 100%;
				height: auto;
				color: var(--c-main-blue);
			}

#about {
	width: 100%;
	height: auto;
	padding: 0 0 max(calc((186 / var(--vw)) * 100vw), 186px);
}
	.about__inner {
		width: calc((1200 / var(--vw)) * 100%);
		height: auto;
		margin: 0 auto;
	}
		.about__contents {
			width: 100%;
			height: auto;
			padding: max(calc((71 / var(--vw)) * 100vw), 71px) max(calc((79 / var(--vw)) * 100vw), 79px);
			border-radius: max(calc((40 / var(--vw)) * 100vw), 40px);
			background-color: rgba(255, 255, 255, 0.85);
			backdrop-filter: blur(4px);
			-webkit-backdrop-filter: blur(4px);
			border: solid max(calc((1 / var(--vw)) * 100vw), 1px) var(--c-white);
		}
			.about__heading {
				width: fit-content;
				height: auto;
				margin-bottom: max(calc((72 / var(--vw)) * 100vw), 72px);
				font-size: max(calc((34 / var(--vw)) * 100vw), 34px);
				font-weight: 400;
				line-height: 1.8;
				letter-spacing: 0.05em;
				color: var(--c-main-blue);
			}
			.about__logo {
				width: max(calc((60 / var(--vw)) * 100vw), 60px);
				height: auto;
				position: absolute;
				top: max(calc((93 / var(--vw)) * 100vw), 93px);
				right: max(calc((109 / var(--vw)) * 100vw), 109px);
			}
				.about__logo svg {
					fill: var(--c-main-blue);
				}
			.about__list_wrap {
				width: 100%;
				height: auto;
			}
				.about__list {
					display: flex;
					justify-content: space-between;
					align-items: stretch;
					width: 100%;
					height: auto;
				}
					.about__list__item {
						display: flex;
						flex-direction: column;
						width: calc((336 / 1040) * 100%);
						position: relative;
					}
						.about__list__item__head {
							width: 100%;
							height: auto;
							position: relative;
							z-index: 2;
						}
							.about__list__item__head svg {
								display: block;
								width: 100%;
								height: auto;
								overflow: visible;
							}
						.about__list__item__num {
							width: 100%;
							height: auto;
							text-align: center;
							color: var(--c-main-blue);
							position: absolute;
							top: 0;
							left: 0;
						}
							.about__list__item__num span {
								display: block;
								width: 100%;
								height: auto;
								padding-left: 0.1em;
								margin: 0 auto calc((4 / var(--vw)) * 100vw);
								font-size: calc((12 / var(--vw)) * 100vw);
								line-height: 1;
								letter-spacing: 0.1em;
							}
							.about__list__item__num small {
								display: block;
								width: fit-content;
								height: auto;
								padding-left: 0.1em;
								margin: 0 auto;
								font-size: calc((10 / var(--vw)) * 100vw);
								line-height: 1;
								letter-spacing: 0.1em;
							}
						.about__list__item__body {
							flex: 1;
							width: 100%;
							height: auto;
							padding: max(calc((30 / var(--vw)) * 100vw), 30px) max(calc((36 / var(--vw)) * 100vw), 36px) max(calc((58 / var(--vw)) * 100vw), 58px);
							margin-top: -1px;
							background-color: #F5F5F5;
							border-bottom: solid 1px var(--c-main-blue);
							position: relative;
							z-index: 1;
						}
							.about__list__item__image {
								width: calc((195 / 264) * 100%);
								height: auto;
								aspect-ratio: 195 / 128;
								margin: 0 auto max(calc((24 / var(--vw)) * 100vw), 24px);
								position: relative;
							}
								.about__list__item__image img {
									height: auto;
									position: absolute;
								}
								._01 .about__list__item__image img {
									width: calc((127 / 195) * 100%);
									top: calc((10 / 128) * 100%);
									left: calc((34 / 195) * 100%);
								}
								._02 .about__list__item__image img {
									width: calc((103 / 195) * 100%);
									top: calc((25 / 128) * 100%);
									left: calc((43 / 195) * 100%);
								}
								._03 .about__list__item__image img {
									width: calc((141 / 195) * 100%);
									top: calc((39 / 128) * 100%);
									left: calc((27 / 195) * 100%);
								}
							.about__list__item__heading {
								width: 100%;
								height: auto;
								margin: 0 auto max(calc((16 / var(--vw)) * 100vw), 16px);
								font-size: max(calc((20 / var(--vw)) * 100vw), 20px);
								font-weight: 400;
								line-height: 1.6;
								letter-spacing: 0.1em;
								text-align: center;
								color: var(--c-main-blue);
							}
							.about__list__item__text {
								width: 100%;
								height: auto;
								margin: 0 auto;
								font-size: max(calc((14 / var(--vw)) * 100vw), 14px);
								font-weight: 500;
								line-height: 1.8;
								letter-spacing: 0.05em;
								color: var(--c-dark-gray);
							}

#business {
	width: 100%;
	height: auto;
	padding: max(calc((125 / var(--vw)) * 100vw), 125px) 0 max(calc((156 / var(--vw)) * 100vw), 156px);
	background-color: var(--c-white);
}
	.business__heading {
		width: calc((1200 / var(--vw)) * 100%);
		height: auto;
		margin: 0 auto max(calc((80 / var(--vw)) * 100vw), 80px);
	}
		.business__heading__main_text {
			width: max(calc((183 / var(--vw)) * 100vw), 183px);
			margin: 0 auto max(calc((15 / var(--vw)) * 100vw), 15px);
		}
			.business__heading__main_text svg {
				fill: var(--c-black);
			}
		.business__heading__sub_text {
			text-align: center;
			color: var(--c-black);
		}
	.business__inner {
		width: calc((1200 / var(--vw)) * 100%);
		height: auto;
		margin: 0 auto;
		will-change: transform;
	}
		.business__list__wrap {
			width: 100%;
			height: auto;
		}
			.business__list {
				width: 100%;
				height: auto;
			}
				.business__list__item {
					width: 100%;
					height: auto;
				}
					.business__list__item__inner {
						display: flex;
						justify-content: space-between;
						align-items: stretch;
						width: 100%;
						border-radius: max(calc((10 / var(--vw)) * 100vw), 10px);
						background-color: #F7F8F8;
						box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
						overflow: hidden;
						position: relative;
					}
						.business__list__item__inner::after {
							content: '';
							display: block;
							width: 100%;
							height: 100%;
							background-image: url(../image/bg@pc.webp);
							background-size: 100% auto;
							background-position: top center;
							background-repeat: repeat;
							mix-blend-mode: multiply;
							opacity: .3;
							position: absolute;
							z-index: 1;
						}
						.business__list__item__image {
							width: calc((580 / 1200) * 100%);
							height: 100%;
							flex-shrink: 0;
							overflow: hidden;
							position: relative;
							z-index: 2;
						}
							.business__list__item__image img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						.business__list__item__contents {
							display: flex;
							flex-direction: column;
							justify-content: space-between;
							width: calc((620 / 1200) * 100%);
							height: auto;
							padding: calc((95 / var(--vw)) * 100vw) calc((100 / var(--vw)) * 100vw) calc((95 / var(--vw)) * 100vw) calc((95 / var(--vw)) * 100vw);
							position: relative;
							z-index: 2;
						}
							.business__list__item__number {
								font-size: calc((160 / var(--vw)) * 100vw);
								font-weight: 200;
								line-height: 1.5;
								letter-spacing: -0.1em;
								color: var(--c-white);
								opacity: 0.7;
								position: absolute;
								top: calc((-65 / var(--vw)) * 100vw);
								left: calc((-11 / var(--vw)) * 100vw);
								z-index: 0;
							}
							.business__list__item__label {
								font-size: calc((12 / var(--vw)) * 100vw);
								font-weight: 300;
								line-height: 1.5;
								letter-spacing: 0.05em;
								text-align: right;
								color: var(--c-dark-gray);
								position: absolute;
								top: calc((23 / 394) * 100%);
								right: calc((23 / 620) * 100%);
								z-index: 1;
							}
							.business__list__item__icon {
								height: auto;
								position: relative;
								overflow: hidden;
							}
							._01 .business__list__item__icon {
								width: calc((73 / 418) * 100%);
								margin: 0px auto 7px 11px;
								aspect-ratio: 73 / 56;
							}
							._02 .business__list__item__icon {
								width: calc((75 / 418) * 100%);
								margin: 0px auto 5px 0px;
								aspect-ratio: 75 / 55;
							}
							._03 .business__list__item__icon {
								width: calc((64 / 418) * 100%);
								margin: 0px auto 14px -3px;
								aspect-ratio: 64 / 47;
							}
							._04 .business__list__item__icon {
								width: calc((65 / 418) * 100%);
								margin: 0px auto 10px -3px;
								aspect-ratio: 65 / 53;
							}
								.business__list__item__icon img {
									height: auto;
									position: absolute;
								}
								._01 .business__list__item__icon img {
									width: calc((302 / 73) * 100%);
									top: calc((-31 / 56) * 100%);
									left: calc((-160 / 73) * 100%);
								}
								._02 .business__list__item__icon img {
									width: calc((302 / 75) * 100%);
									top: calc((-29 / 55) * 100%);
									left: calc((-35 / 75) * 100%);
								}
								._03 .business__list__item__icon img {
									width: calc((277 / 64) * 100%);
									top: calc((-123 / 47) * 100%);
									left: calc((-151 / 64) * 100%);
								}
								._04 .business__list__item__icon img {
									width: calc((290 / 65) * 100%);
									top: calc((-124 / 53) * 100%);
									left: calc((-36 / 65) * 100%);
								}
							.business__list__item__heading {
								margin-top: calc((14 / var(--vw)) * 100vw);
								font-size: calc((26 / var(--vw)) * 100vw);
								font-weight: 700;
								line-height: 1.8;
								letter-spacing: 0.05em;
								color: var(--c-main-blue);
								position: relative;
								z-index: 1;
							}
							.business__list__item__category_list {
								display: flex;
								flex-wrap: wrap;
								align-items: center;
								gap: calc((10 / var(--vw)) * 100vw) calc((15 / var(--vw)) * 100vw);
								width: 100%;
								margin: auto auto 0;
								position: relative;
								z-index: 1;
							}
								.business__list__item__category_list__item {
									padding-left: calc((15 / var(--vw)) * 100vw);
									font-size: calc((12 / var(--vw)) * 100vw);
									font-weight: 500;
									line-height: 1.5;
									color: var(--c-black);
									position: relative;
								}
									.business__list__item__category_list__item::before {
										content: '';
										display: block;
										width: calc((9 / var(--vw)) * 100vw);
										height: calc((9 / var(--vw)) * 100vw);
										border-radius: 9999px;
										background-color: var(--c-main-blue);
										position: absolute;
										top: 50%;
										left: 0;
										transform: translateY(-50%);
									}
								.business__list__item__category_list__item._etc {
									padding-left: 0;
									font-size: calc((10 / var(--vw)) * 100vw);
								}
									.business__list__item__category_list__item._etc::before {
										display: none;
									}
							.business__list__item__catch {
								font-size: calc((12 / var(--vw)) * 100vw);
								line-height: 1.8;
								letter-spacing: 0.05em;
								color: var(--c-main-blue);
								-webkit-writing-mode: vertical-rl;
								-moz-writing-mode: vertical-rl;
								-ms-writing-mode: tb-rl;
								-ms-writing-mode: vertical-rl;
								writing-mode: vertical-rl;
								text-orientation: upright;
								position: absolute;
								top: 50%;
								right: calc((23 / 620) * 100%);
								transform: translateY(-50%);
								z-index: 3;
							}
					.business__list__item__veil {
						width: 100%;
						height: 100%;
						background-color: var(--c-white);
						opacity: 0;
						position: absolute;
						inset: 0;
						z-index: 5;
						pointer-events: none;
					}
		.business__btn_wrap {
			margin: max(calc((80 / var(--vw)) * 100vw), 80px) auto 0;
		}

#flow {
	width: 100%;
	height: auto;
	padding: max(calc((80 / var(--vw)) * 100vw), 80px) 0;
}
	.flow__inner {
		width: calc((1110 / var(--vw)) * 100%);
		height: auto;
		margin: 0 auto;
		padding: max(calc((100 / var(--vw)) * 100vw), 100px) 0 max(calc((112 / var(--vw)) * 100vw), 112px);
		border-radius: max(calc((40 / var(--vw)) * 100vw), 40px);
		background-color: rgba(255, 255, 255, 0.8);
		border: solid max(calc((1 / var(--vw)) * 100vw), 1px) var(--c-white);
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
	}
		.flow__heading {
			width: 100%;
			height: auto;
			margin-bottom: max(calc((84 / var(--vw)) * 100vw), 84px);
		}
			.flow__heading__main_text {
				width: max(calc((184 / var(--vw)) * 100vw), 184px);
				margin: 0 auto max(calc((11 / var(--vw)) * 100vw), 11px);
			}
				.flow__heading__main_text svg {
					fill: var(--c-black);
				}
			.flow__heading__sub_text {
				text-align: center;
				color: var(--c-black);
			}
		.flow__list {
			width: calc((670 / 1110) * 100%);
			height: auto;
			padding-left: calc((10 / 670) * 100%);
			margin: 0 auto;
		}
			.flow__list__item {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
				height: auto;
			}
			.flow__list__item:not(:last-child) {
				margin-bottom: max(calc((42 / var(--vw)) * 100vw), 42px);
			}
				.flow__list__item__badge {
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					width: max(calc((110 / var(--vw)) * 100vw), 110px);
					height: auto;
					padding-bottom: max(calc((5 / var(--vw)) * 100vw), 5px);
					aspect-ratio: 1 / 1;
					flex-shrink: 0;
					border-radius: 9999px;
					position: relative;
				}
				.flow__list__item._01 .flow__list__item__badge { background-color: #69A3FF; }
				.flow__list__item._02 .flow__list__item__badge { background-color: #498BF4; }
				.flow__list__item._03 .flow__list__item__badge { background-color: #116AF8; }
				.flow__list__item._04 .flow__list__item__badge { background-color: #055AD9; }
				.flow__list__item._05 .flow__list__item__badge { background-color: #044CB8; }
					.flow__list__item__badge::after {
						content: '';
						display: block;
						width: 0;
						height: 0;
						border-left: max(calc((6 / var(--vw)) * 100vw), 6px) solid transparent;
						border-right: max(calc((6 / var(--vw)) * 100vw), 6px) solid transparent;
						border-top: max(calc((8 / var(--vw)) * 100vw), 8px) solid #498BF4;
						position: absolute;
						top: calc(100% + max(calc((19 / var(--vw)) * 100vw), 19px));
						left: 50%;
						transform: translateX(-50%);
					}
					.flow__list__item._05 .flow__list__item__badge::after { display: none; }
					.flow__list__item._02 .flow__list__item__badge::after { border-top-color: #116AF8; }
					.flow__list__item._03 .flow__list__item__badge::after { border-top-color: #055AD9; }
					.flow__list__item._04 .flow__list__item__badge::after { border-top-color: #044CB8; }
					.flow__list__item__num {
						font-size: max(calc((12 / var(--vw)) * 100vw), 12px);
						font-weight: 500;
						line-height: 1.5;
						letter-spacing: 0.05em;
						color: var(--c-white);
					}
					.flow__list__item__icon {
						display: block;
						height: auto;
						margin-top: max(calc((13 / var(--vw)) * 100vw), 13px);
					}
					.flow__list__item._01 .flow__list__item__icon { width: max(calc((33 / var(--vw)) * 100vw), 33px); }
					.flow__list__item._02 .flow__list__item__icon { width: max(calc((20 / var(--vw)) * 100vw), 20px); }
					.flow__list__item._03 .flow__list__item__icon { width: max(calc((23.4 / var(--vw)) * 100vw), 23.4px); }
					.flow__list__item._04 .flow__list__item__icon { width: max(calc((30 / var(--vw)) * 100vw), 30px); }
					.flow__list__item._05 .flow__list__item__icon { width: max(calc((38.7 / var(--vw)) * 100vw), 38.7px); }
						.flow__list__item__icon svg {
							fill: var(--c-white);
						}
				.flow__list__item__contents {
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: flex-start;
					width: calc(100% - max(calc((190 / var(--vw)) * 100vw), 190px));
					height: auto;
					position: relative;
				}
				.flow__list__item._01 .flow__list__item__contents {
					padding-top: max(calc((54 / var(--vw)) * 100vw), 54px);
					margin: max(calc((-5 / var(--vw)) * 100vw), -5px) 0 max(calc((-5 / var(--vw)) * 100vw), -5px) auto;
				}
					.flow__list__item__balloon_wrap {
						display: flex;
						justify-content: flex-end;
						align-items: center;
						gap: max(calc((22 / var(--vw)) * 100vw), 22px);
						position: absolute;
						top: 0;
						left: 0;
					}
						.flow__list__item__balloon {
							display: flex;
							align-items: center;
							width: max-content;
							height: auto;
							position: relative;
						}
							.flow__list__item__balloon__text {
								padding: max(calc((6 / var(--vw)) * 100vw), 6px) max(calc((20 / var(--vw)) * 100vw), 20px);
								border: solid max(calc((1 / var(--vw)) * 100vw), 1px) var(--c-dark-gray);
								border-radius: 9999px;
								font-size: max(calc((12 / var(--vw)) * 100vw), 12px);
								font-weight: 500;
								line-height: 1.8;
								letter-spacing: 0.1em;
								text-align: center;
								color: var(--c-dark-gray);
								white-space: nowrap;
							}
							.flow__list__item__balloon__line {
								width: max(calc((20 / var(--vw)) * 100vw), 20px);
								height: max(calc((1 / var(--vw)) * 100vw), 1px);
								background-color: var(--c-dark-gray);
								position: absolute;
								top: 50%;
								right: max(calc((-10 / var(--vw)) * 100vw), -10px);
								transform: translate(0%, -50%);
							}
							.flow__list__item__balloon__character {
								display: block;
								width: max(calc((40 / var(--vw)) * 100vw), 40px);
								height: auto;
								aspect-ratio: 1 / 1;
								border-radius: 9999px;
								background-color: var(--c-main-blue);
								overflow: hidden;
								position: relative;
							}
								.flow__list__item__balloon__character img {
									width: calc((33 / 40) * 100%);
									height: auto;
									position: absolute;
									top: max(calc((7 / var(--vw)) * 100vw), 7px);
									left: 0;
									transform: scale(-1,1);
								}
					.flow__list__item__heading {
						width: 100%;
						height: auto;
						margin-bottom: max(calc((10 / var(--vw)) * 100vw), 10px);
						font-size: max(calc((20 / var(--vw)) * 100vw), 20px);
						font-weight: 700;
						line-height: 1.6;
						letter-spacing: 0.05em;
					}
					.flow__list__item._01 .flow__list__item__heading { color: #69A3FF; }
					.flow__list__item._02 .flow__list__item__heading { color: #498BF4; }
					.flow__list__item._03 .flow__list__item__heading { color: #116AF8; }
					.flow__list__item._04 .flow__list__item__heading { color: #055AD9; }
					.flow__list__item._05 .flow__list__item__heading { color: #044CB8; }
					.flow__list__item__text {
						font-size: max(calc((14 / var(--vw)) * 100vw), 14px);
						font-weight: 500;
						line-height: 1.8;
						letter-spacing: 0.05em;
						color: var(--c-black);
					}
					.flow__list__item__image {
						height: auto;
						position: absolute;
					}
					.flow__list__item._01 .flow__list__item__image {
						width: calc((64 / 463) * 100%);
						top: max(calc((40 / var(--vw)) * 100vw), 40px);
						right: max(calc((8 / var(--vw)) * 100vw), 8px);
					}
					.flow__list__item._03 .flow__list__item__image {
						width: calc((54 / 463) * 100%);
						top: max(calc((-22 / var(--vw)) * 100vw), -22px);
						right: max(calc((12 / var(--vw)) * 100vw), 12px);
					}
					.flow__list__item._05 .flow__list__item__image {
						width: calc((94 / 463) * 100%);
						top: max(calc((-18 / var(--vw)) * 100vw), -18px);
						right: max(calc((12 / var(--vw)) * 100vw), 12px);
					}

/* CONTACT_SEC */
#contact_sec {
	overflow: clip;
}
	#contact_sec::after {
		display: none;
	}
				.contact_sec__contents_bg {
					height: 100%;
					top: 0;
					box-shadow: initial;
				}

/* ================================================== PC */
@media all and (min-width: 1025px) {
/* BUSINESS */
			.business__list {
				position: relative;
			}
				.business__list__item._01,
				.business__list__item._02,
				.business__list__item._03 {
					/* 1〜3枚目は重ねて配置。4枚目を通常フローに残しリスト高さの基準にする */
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
				}
				.business__list__item._01 { z-index: 1; }
				.business__list__item._02 { z-index: 2; }
				.business__list__item._03 { z-index: 3; }
				.business__list__item._04 {
					position: relative;
					z-index: 4;
				}
					.business__list__item__inner {
						transform-origin: center;
						will-change: transform;
					}
					/* 1枚目は最初から定位置。2〜4枚目が下から登場して重なる */
					.business__list__item._02 .business__list__item__inner,
					.business__list__item._03 .business__list__item__inner,
					.business__list__item._04 .business__list__item__inner {
						transform: translateY(130vh) scale(1.1);
					}
		/* ボタンは pin 終了時 (最後のカードが中央) に service.js が _run を付与してフェードイン */
		.business__btn_wrap {
			opacity: 0;
			transition: opacity .6s ease-out;
		}
		.business__btn_wrap._run {
			opacity: 1;
		}
}

@media all and (max-width: 1440px) {
/* FLOW */
		.flow__list {
			width: 90%;
			max-width: 670px;
		}
}

/* ================================================== SP */
@media all and (max-width: 1024px) {
/* HERO_BG */
#hero_bg {
	height: 100vh;
}
	#hero_bg::before {
		background-image: url(../image/bg@sp.webp);
	}
		.hero_bg__main {
			width: calc((63.46 / var(--vw)) * 100vw);
			top: calc((54.37 / var(--vw)) * 100vw);
			left: calc((66.18 / var(--vw)) * 100vw);
		}
			.hero_bg__main__character {
				width: calc((36.4 / 63.46) * 100%);
				top: calc((32.83 / 101.38) * 100%);
				left: calc((13.86 / 63.46) * 100%);
			}
		.hero_bg__image._01 {
			width: calc((61.2 / var(--vw)) * 100vw);
			top: calc((-68 / var(--vw)) * 100vw);
			left: calc((-11.51 / var(--vw)) * 100vw);
		}
		.hero_bg__image._02 {
			width: calc((59.59 / var(--vw)) * 100vw);
			top: calc((-44.75 / var(--vw)) * 100vw);
			left: calc((65.83 / var(--vw)) * 100vw);
		}
		.hero_bg__image._03 {
			width: calc((59.59 / var(--vw)) * 100vw);
			top: calc((-66.52 / var(--vw)) * 100vw);
			left: calc((141.69 / var(--vw)) * 100vw);
		}
		.hero_bg__image._04 {
			width: calc((58.45 / var(--vw)) * 100vw);
			top: calc((-74 / var(--vw)) * 100vw);
			left: calc((212.1 / var(--vw)) * 100vw);
		}
		.hero_bg__image._05 {
			display: none;
		}
		.hero_bg__image._06 {
			width: calc((59.59 / var(--vw)) * 100vw);
			top: calc((45.5 / var(--vw)) * 100vw);
			left: calc((-10 / var(--vw)) * 100vw);
		}
		.hero_bg__image._07 {
			width: calc((54.88 / var(--vw)) * 100vw);
			top: calc((37.47 / var(--vw)) * 100vw);
			left: calc((145.51 / var(--vw)) * 100vw);
		}

/* HERO */
#hero {
	height: calc((268 / var(--vw)) * 100vw);
}
	.hero__inner {
		width: calc((334 / var(--vw)) * 100%);
		padding: calc((157 / var(--vw)) * 100vw) 0 calc((40 / var(--vw)) * 100vw);
	}
		.hero__heading {
			width: 100%;
		}
			.hero__heading__main_text {
				width: calc((152 / var(--vw)) * 100vw);
				margin: 0 auto calc((10 / var(--vw)) * 100vw);
			}
			.hero__heading__sub_text {
				text-align: center;
			}

/* ABOUT */
#about {
	padding: 0 0 calc((110 / var(--vw)) * 100vw);
}
	.about__inner {
		width: calc((334 / var(--vw)) * 100%);
	}
		.about__contents {
			padding: calc((27 / var(--vw)) * 100vw) 0 calc((50 / var(--vw)) * 100vw);
			border-radius: calc((10 / var(--vw)) * 100vw);
			background-color: rgba(255, 255, 255, 0.6);
			border: solid calc((1 / var(--vw)) * 100vw) var(--c-white);
		}
			.about__heading {
				width: calc((272 / var(--vw)) * 100vw);
				margin: 0 auto calc((27 / var(--vw)) * 100vw);
				font-size: calc((20 / var(--vw)) * 100vw);
			}
			.about__logo {
				width: calc((21 / var(--vw)) * 100vw);
				top: calc((30 / var(--vw)) * 100vw);
				right: calc((55 / var(--vw)) * 100vw);
			}
			.about__list_wrap {
				width: calc((298 / 334) * 100%);
				margin: 0 auto;
			}
				.about__list {
					flex-direction: column;
					justify-content: flex-start;
					gap: calc((42 / var(--vw)) * 100vw);
				}
					.about__list__item {
						width: 100%;
					}
						.about__list__item__num {
							top: calc((-5 / var(--vw)) * 100vw);
						}
							.about__list__item__num span {
								margin: 0 auto calc((4 / var(--vw)) * 100vw) 0;
								font-size: calc((12 / var(--vw)) * 100vw);
							}
							.about__list__item__num small {
								font-size: calc((10 / var(--vw)) * 100vw);
							}
						.about__list__item__body {
							flex: initial;
							padding: calc((18 / var(--vw)) * 100vw) calc((28 / var(--vw)) * 100vw) calc((32 / var(--vw)) * 100vw);
							margin-top: calc((-1 / var(--vw)) * 100vw);
							border-bottom: solid calc((1 / var(--vw)) * 100vw) var(--c-main-blue);
						}
							.about__list__item__image {
								width: calc((147 / 242) * 100%);
								margin: 0 auto calc((13 / var(--vw)) * 100vw);
							}
								._01 .about__list__item__image img {
									width: calc((95.7 / 147) * 100%);
									top: calc((7.54 / 96.49) * 100%);
									left: calc((25.63 / 147) * 100%);
								}
								._02 .about__list__item__image img {
									width: calc((77.43 / 147) * 100%);
									top: calc((18.85 / 96.49) * 100%);
									left: calc((32.42 / 147) * 100%);
								}
								._03 .about__list__item__image img {
									width: calc((106 / 147) * 100%);
									top: calc((29.4 / 96.49) * 100%);
									left: calc((20.35 / 147) * 100%);
								}
							.about__list__item__heading {
								margin: 0 auto calc((20 / var(--vw)) * 100vw);
								font-size: calc((20 / var(--vw)) * 100vw);
							}
							.about__list__item__text {
								font-size: calc((14 / var(--vw)) * 100vw);
							}

/* BUSINESS */
#business {
	padding: calc((70 / var(--vw)) * 100vw) 0 calc((140 / var(--vw)) * 100vw);
	border-top: solid calc((1 / var(--vw)) * 100vw) var(--c-light-gray);
	border-bottom: solid calc((1 / var(--vw)) * 100vw) var(--c-light-gray);
}
	.business__heading {
		width: calc((316 / var(--vw)) * 100vw);
		margin: 0 auto calc((40 / var(--vw)) * 100vw);
	}
		.business__heading__main_text {
			width: calc((161 / var(--vw)) * 100vw);
			margin: 0 auto calc((10 / var(--vw)) * 100vw);
		}
	.business__inner {
		width: calc((316 / var(--vw)) * 100vw);
	}
			.business__list {
				display: flex;
				flex-direction: column;
				gap: calc((20 / var(--vw)) * 100vw);
			}
					.business__list__item__inner {
						flex-direction: column;
						justify-content: flex-start;
						border-radius: calc((10 / var(--vw)) * 100vw);
						box-shadow: 0 0 calc((7 / var(--vw)) * 100vw) rgba(0, 0, 0, 0.1);
					}
						.business__list__item__inner::after {
							background-image: url(../image/bg@sp.webp);
						}
						.business__list__item__image {
							width: 100%;
							height: auto;
							aspect-ratio: 316 / 214;
							position: relative;
							z-index: 3;
						}
						.business__list__item__contents {
							justify-content: flex-start;
							width: 100%;
							padding: calc((32 / var(--vw)) * 100vw) calc((26 / var(--vw)) * 100vw) calc((36 / var(--vw)) * 100vw);
						}
							.business__list__item__number {
								font-size: calc((140 / var(--vw)) * 100vw);
								top: calc((-52 / var(--vw)) * 100vw);
								left: auto;
								right: calc((9 / var(--vw)) * 100vw);
								opacity: .4;
							}
							.business__list__item__label {
								font-size: calc((10 / var(--vw)) * 100vw);
								-webkit-writing-mode: vertical-rl;
								-moz-writing-mode: vertical-rl;
								-ms-writing-mode: tb-rl;
								-ms-writing-mode: vertical-rl;
								writing-mode: vertical-rl;
								top: calc((17 / var(--vw)) * 100vw);
								right: calc((12 / var(--vw)) * 100vw);
							}
							._01 .business__list__item__icon {
								width: calc((42 / var(--vw)) * 100vw);
								margin: 0px auto calc((30 / var(--vw)) * 100vw) calc((4 / var(--vw)) * 100vw);
							}
							._02 .business__list__item__icon {
								width: calc((45 / var(--vw)) * 100vw);
								margin: 0px auto calc((30 / var(--vw)) * 100vw) 0;
							}
							._03 .business__list__item__icon {
								width: calc((44 / var(--vw)) * 100vw);
								margin: 0px auto calc((30 / var(--vw)) * 100vw) 0;
							}
							._04 .business__list__item__icon {
								width: calc((40 / var(--vw)) * 100vw);
								margin: 0px auto calc((30 / var(--vw)) * 100vw) 0;
							}
							.business__list__item__heading {
								width: 100%;
								margin: calc((2 / var(--vw)) * 100vw) auto calc((16 / var(--vw)) * 100vw);
								font-size: calc((20 / var(--vw)) * 100vw);
							}
							.business__list__item__category_list {
								gap: calc((10 / var(--vw)) * 100vw) calc((6 / var(--vw)) * 100vw);
							}
							.business__list__item__catch {
								width: 100%;
								height: auto;
								font-size: calc((10 / var(--vw)) * 100vw);
								line-height: 1.1;
								-webkit-writing-mode: initial;
								-moz-writing-mode: initial;
								-ms-writing-mode: initial;
								writing-mode: initial;
								text-orientation: initial;
								position: initial;
								transform: initial;
							}
					.business__list__item__veil {
						display: none;
					}
		.business__btn_wrap {
			margin: calc((60 / var(--vw)) * 100vw) auto 0;
		}

/* FLOW */
#flow {
	padding: calc((60 / var(--vw)) * 100vw) 0 calc((50 / var(--vw)) * 100vw);
	overflow: hidden;
}
	.flow__inner {
		width: calc((340 / var(--vw)) * 100vw);
		padding: calc((59 / var(--vw)) * 100vw) 0 calc((82 / var(--vw)) * 100vw);
		border-radius: calc((20 / var(--vw)) * 100vw);
		border: solid calc((1 / var(--vw)) * 100vw) var(--c-white);
	}
		.flow__heading {
			margin-bottom: calc((115 / var(--vw)) * 100vw);
		}
			.flow__heading__main_text {
				width: calc((162 / var(--vw)) * 100vw);
				margin: 0 auto calc((10 / var(--vw)) * 100vw);
			}
		.flow__list {
			width: calc((286 / var(--vw)) * 100vw);
			padding-left: 0;
			margin: 0 auto;
		}
			.flow__list__item {
				align-items: flex-start;
			}
			.flow__list__item:not(:last-child) {
				margin-bottom: calc((60 / var(--vw)) * 100vw);
			}
				.flow__list__item__badge {
					width: calc((63 / var(--vw)) * 100vw);
					padding-bottom: calc((2 / var(--vw)) * 100vw);
				}
					.flow__list__item__badge::after {
						border-left: calc((3.5 / var(--vw)) * 100vw) solid transparent;
						border-right: calc((3.5 / var(--vw)) * 100vw) solid transparent;
						border-top: calc((5 / var(--vw)) * 100vw) solid #498BF4;
						top: calc(100% + ((28 / var(--vw)) * 100vw));
					}
					.flow__list__item__num {
						font-size: calc((10 / var(--vw)) * 100vw);
					}
					.flow__list__item__icon {
						margin-top: calc((5 / var(--vw)) * 100vw);
					}
					.flow__list__item._01 .flow__list__item__icon { width: calc((18.89 / var(--vw)) * 100vw); }
					.flow__list__item._02 .flow__list__item__icon { width: calc((11.48 / var(--vw)) * 100vw); }
					.flow__list__item._03 .flow__list__item__icon { width: calc((13.39 / var(--vw)) * 100vw); }
					.flow__list__item._04 .flow__list__item__icon { width: calc((17.17 / var(--vw)) * 100vw); }
					.flow__list__item._05 .flow__list__item__icon { width: calc((22.15 / var(--vw)) * 100vw); }
				.flow__list__item__contents {
					width: calc(100% - ((102 / var(--vw)) * 100vw));
				}
				.flow__list__item._01 .flow__list__item__contents {
					padding-top: initial;
					margin: initial;
				}
					.flow__list__item__balloon_wrap {
						gap: calc((17 / var(--vw)) * 100vw);
						top: calc((-94 / var(--vw)) * 100vw);
						left: calc((-109 / var(--vw)) * 100vw);
					}
							.flow__list__item__balloon__text {
								padding: calc((6 / var(--vw)) * 100vw) calc((20 / var(--vw)) * 100vw);
								border: solid calc((1 / var(--vw)) * 100vw) var(--c-dark-gray);
								font-size: calc((12 / var(--vw)) * 100vw);
							}
							.flow__list__item__balloon__line {
								width: calc((20 / var(--vw)) * 100vw);
								height: calc((1 / var(--vw)) * 100vw);
								right: calc((-10 / var(--vw)) * 100vw);
							}
							.flow__list__item__balloon__character {
								width: calc((40 / var(--vw)) * 100vw);
							}
								.flow__list__item__balloon__character img {
									top: calc((7 / var(--vw)) * 100vw);
								}
					.flow__list__item__heading {
						margin-top: calc((-4 / var(--vw)) * 100vw);
						margin-bottom: calc((5 / var(--vw)) * 100vw);
						font-size: calc((14 / var(--vw)) * 100vw);
						white-space: nowrap;
					}
					.flow__list__item__text {
						height: 0;
						font-size: calc((12 / var(--vw)) * 100vw);
					}
					.flow__list__item._01 .flow__list__item__image {
						width: calc((64 / var(--vw)) * 100vw);
						top: calc((10 / var(--vw)) * 100vw);
						right: calc((271 / var(--vw)) * 100vw);
					}
					.flow__list__item._03 .flow__list__item__image {
						width: calc((45 / var(--vw)) * 100vw);
						top: calc((22 / var(--vw)) * 100vw);
						right: calc((271 / var(--vw)) * 100vw);
					}
					.flow__list__item._05 .flow__list__item__image {
						width: calc((79 / var(--vw)) * 100vw);
						top: calc((48 / var(--vw)) * 100vw);
						right: calc((215 / var(--vw)) * 100vw);
					}
}

@media all and (max-width: 768px) {

}