html,
body {
	overflow-x: hidden;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	width: 100%;

	@media screen and (min-width: 768px) and (max-width: 1053px) {
		font-size: 0.94966762vw;
	}

	@media (max-width: 767px) {
		font-size: 2.27vw;
	}
}

.is-indent {
	display: inline-block;
	text-indent: -1.6rem;
}

.aligin-left {
	text-align: left !important;
}

.section__title.aligin-left {
	border-bottom: #000 solid 1px;
	border-color: var(--colorGreen);
}

.section__title.text-blue {
	color: var(--colorTurquoiseBlue);
}

body {
	font-size: var(--fontSize16);
	line-height: 1.6;
	font-weight: 400;
	font-family: "YuGothic", "Yu Gothic", "Yu Gothic Medium", "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	color: var(--colorBlack);
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	font-feature-settings: 'palt';
	width: 100%;
	overflow-x: hidden;
}

main {
	background: var(--colorGray);
	margin-top: 10rem;
}

@media (hover: hover) {

	button,
	a:where([href]) {
		transition: opacity 0.3s;

		&:hover {
			opacity: 0.7;
		}
	}
}

a {
	transition: 0.3s;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
}

.inner {
	width: 1100px;
	max-width: 95%;
	margin-inline: auto;

	@media (max-width: 767px) {
		max-width: 90%;
	}
}

.bg-white {
	background: var(--colorWhite);
}

.sp_display,
.tab_display {
	display: none;
}

.mt-80 {
	margin-top: 8rem;
}

@media (max-width: 767px) {
	.mt-80 {
		margin-top: 4rem;
	}
}



@media screen and (min-width: 767px) and (max-width: 1000px) {
	.inner {
		width: 95%;
	}

	.tab_display {
		display: block;
	}
}

@media (max-width: 767px) {
	main {
		margin-top: 15.46vw;
	}

	.pc_display,
	.tab_display {
		display: none;
	}

	.sp_display {
		display: block;
	}

	.inner {
		width: 92%;
	}
}

/* =============================
  header
=================================*/
header {
	height: 10rem;
	padding-left: 4.6%;
	border-bottom: 1px solid var(--colorBlack);
	position: fixed;
	width: 100%;
	background: var(--colorWhite);
	z-index: calc(var(--zIndex-hamburgerMenu) + 1);

	.headerContainer {
		position: relative;
		display: flex;
		justify-content: space-between;
		height: 10rem;

		.headerLogo {
			height: 100%;
			display: flex;
			align-items: center;

			img {
				height: auto;
				width: 44rem;
				margin-top: 0.3rem;
			}
		}

		.headerNav {
			display: grid;
			align-content: space-between;

			.headerNavTop {
				display: flex;
				justify-content: flex-end;

				a {
					font-size: var(--fontSize13);
					font-weight: 700;
					font-family: var(--fontBIZUDPGothic);
					letter-spacing: 0.1em;
					padding-inline: 1.6rem;
					height: 4rem;
					display: flex;
					align-items: center;
				}

				.headerNavTop__contact {
					color: var(--colorWhite);
					background: var(--colorOrange);
					border-radius: 0 0 0 1rem;
				}
			}

			.headerNavBottom {
				padding-right: 2rem;

				.headerNavBottomList {
					display: flex;

					li a {
						padding: 2rem 2rem 1rem;
						font-size: var(--fontSize16);
						font-family: var(--fontBIZUDPGothic);
						font-weight: 700;
						letter-spacing: 0.1em;
						display: block;					
						@media (max-width:1060px) {
							padding: 2rem 1rem 1rem;
						}
					}
					.target-link a {
						padding-right: 2rem;
						position: relative;
						&::after {
							content: "";
							position: absolute;
							background-image: url(../img/icon-target-link.svg);
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
							right: 0;
							width: 1.5rem;
							height: 1.6rem;
							top: 56%;
							transform: translateY(-50%);
						}
					}

					.has-submenu {
						position: relative;

						>a {
							position: relative;
						}

						.submenu {
							display: none;
							position: absolute;
							top: 100%;
							right: 0;
							background: #fff;
							border: 1px solid #ddd;
							list-style: none;
							min-width: 26rem;
							z-index: 100;

							li a {
								padding: 1rem 2rem;
								display: block;
								white-space: nowrap;
							}
							.target-link a {
								&::after {
									top: 50%;
									right: 1rem;
								}
							}
						}

						&:hover .submenu {
							display: block;
						}
					}
				}
			}

			.headerDrawer {
				display: none;

				&.active {
					display: block;
				}
			}
		}
	}

	@media (max-width: 767px) {
		position: fixed;
		height: 15.46vw;
		padding: 0;

		.headerContainer {
			.menuButtonWrap {
				z-index: calc(var(--zIndex-hamburgerMenu) + 1);

				.menuButton {
					display: block;
					width: 17vw;
					height: 16vw;
					position: relative;
					pointer-events: all;

					span {
						display: block;
						position: absolute;
						width: 6.6vw;
						border-bottom: solid .5333333333vw #606269;
						transition: all .3s;
						left: 4.5vw;

						&:nth-child(1) {
							top: 5vw;
						}

						&:nth-child(2) {
							top: 8vw;
						}

						&:nth-child(3) {
							top: 10.8vw;
						}
					}

					&.active {
						span {
							width: 10vw;

							&:nth-child(1) {
								top: 8vw;
								left: 2.5vw;
								transform: rotate(45deg);
							}

							&:nth-child(2) {
								opacity: 0;
							}

							&:nth-child(3) {
								top: 8vw;
								left: 2.5vw;
								transform: rotate(-45deg);
							}
						}
					}
				}
			}

			.headerLogo {
				img {
					width: 26rem;
					margin-top: 0;
				}
			}

			height: 15.46vw;
			padding-left: 3vw;

			.headerNav {
				display: flex;

				.headerNavTop {
					height: 15.46vw;

					.pc_display {
						display: none;
					}

					.headerNavTop__contact {
						display: none;
					}
				}

				.headerNavBottom {
					display: none;
				}

				.headerDrawer {
					display: block;
					position: fixed;
					top: 15.46vw;
					left: 0;
					width: 100%;
					background: #fff;
					transition: 0.4s ease;
					z-index: var(--zIndex-hamburgerMenu);
					opacity: 0;
					visibility: hidden;
					transition: opacity .3s, visibility .3s;

					.headerDrawer__nav {
						.headerDrawer__navList {
							display: grid;

							li {
								border-top: .2666666667vw solid;
								&:nth-child(1) {
									border-top: none;
								}

								&.is-open {
									a {
										.headerDrawer__navListBtn {
											transform: 0.3s;

											&::after {
												transform: rotate(0deg);
											}
										}
									}
								}

								a {
									font-size: 3.7333333333vw;
									padding: 4.9vw 15.9vw 4.9vw 10.9vw;
									display: inline-block;
									font-weight: 700;
									font-family: var(--fontBIZUDPGothic);
									position: relative;
									width: 100%;
									.headerDrawer__targetLink {
										padding-right: 2.5rem;
										position: relative;
										&::after {
											content: "";
											position: absolute;
											background-image: url(../img/icon-target-link.svg);
											background-position: center;
											background-repeat: no-repeat;
											background-size: cover;
											right: 0;
											width: 1.5rem;
											height: 1.5rem;
											top: 46%;
											transform: translateY(-50%);
										}
									}

									.headerDrawer__navListBtn {
										height: 11.6vw;
										aspect-ratio: 1 / 1;
										width: auto;
										position: absolute;
										right: 1vw;
										bottom: 1.8vw;
										display: block;
										z-index: 2;
										height: 11.6vw;
										aspect-ratio: 1 / 1;
										width: auto;
										position: absolute;
										right: 1vw;
										bottom: 1.8vw;
										display: block;
										z-index: 2;

										&::before,
										&::after {
											content: "";
											position: absolute;
											right: 5vw;
											top: 50%;
											background-color: #606269;
											width: 2.8vw;
											height: .4vw;
											transition: all .3s;
										}

										&::after {
											transform: rotate(90deg);
										}
									}
								}

								.headerDrawer__subNavList {
									flex-direction: column;
									max-width: 100%;
									width: 100%;
									padding: 0;
									gap: 0;
									background-color: #f2f2f3;
									display: block;
									overflow: hidden;
									transition: max-height 0.5s ease;
									max-height: 0;

									&.is-open {
										max-height: 500px;
									}

									ul {
										width: 100%;
										justify-content: flex-start;
										gap: .1em 2.6%;

										li {
											width: 100%;
											padding: 0 10.6vw;
											margin: 0;
											border-top: none;

											&:nth-child(1) {
												a {
													border-top: none;
												}
											}

											&:nth-child(1) {
												border-top: 1px solid #606269;
											}

											a {
												position: relative;
												color: #606269;
												display: inline-block;
												padding: 3.5vw 0;
												font-size: 3.7333333333vw;
												width: 100%;
												padding-left: 10vw;
												padding-right: 5.8vw;
												border-top: 1px solid #606269;

												&::after {
													content: "";
													position: absolute;
													display: block;
													width: 1.6em;
													height: auto;
													aspect-ratio: 1 / 1;
													background-image: url(../img/circle_arrow.png);
													background-repeat: no-repeat;
													background-size: cover;
													top: 50%;
													left: 0;
													transform: translateY(-50%);
												}
											}
										}

									}

								}
							}
							.target-link a {
									span {
										padding-right: 2.5rem;
										position: relative;
										&::after {
											content: "";
											position: absolute;
											background-image: url(../img/icon-target-link.svg);
											background-position: center;
											background-repeat: no-repeat;
											background-size: cover;
											right: 0;
											width: 1.5rem;
											height: 1.5rem;
											top: 46%;
											transform: translateY(-50%);
										}
									}
								}
						}
					}

					&.active {
						opacity: 1;
						transform: translateY(0);
						visibility: visible;
					}

					&__nav {
						ul {
							display: flex;
							flex-direction: column;
							align-items: center;
							gap: 2rem;

							li {
								a {
									display: flex;
									flex-direction: column;
									align-items: center;
									font-family: var(--fontBIZUDPGothic);
									font-weight: 700;
									font-size: 1.6rem;
									color: var(--colorBlack);

									span:last-child {
										font-size: 1.2rem;
										color: var(--colorGray);
									}
								}
							}
						}
					}
				}
			}
		}

	}
}

/* =============================
  mainvisual
=================================*/

#mainvisual {
	background: #e3efeb url("../img/bg-title.png") center right no-repeat;
	background-size: cover;
	display: flex;
	width: 100%;

	.page__title {
		font-size: var(--fontSize44);
		font-family: var(--fontBIZUDPGothic);
		font-weight: 400;
		line-height: 1.59;
		letter-spacing: 0.08em;
		background-position: right;
		background-repeat: no-repeat;
		background-size: cover;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		height: 24rem;

		sup {
			font-size: 50%;
		}

		.mainvisual__copy {
			font-size: 1.80rem;
		}
	}

	.mainvisual__img {
		height: 24rem;

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}

	@media (max-width:1160px) {
		.page__title {
			padding-left: 2.5vw;
		}
	}

	@media (max-width:767px) {
		grid-template-columns: 1fr;
		background: unset;
		display: grid;

		&::before {
			content: "";
			background: #e3efeb url("../img/bg-title.png") center right no-repeat;
			background-size: cover;
			width: 100%;
			height: 21rem;
		}

		.page__title {
			height: 15rem;
			padding-inline: 2rem;
			display: flex;
			flex-wrap: wrap;
			align-content: start;
			background: unset;
		}
	}
}

/* =============================
  mainvisual（下層ページ）
=================================*/

body.chilled {
	#mainvisual {
		align-items: center;
		background: #fff;
		display: flex;
		width: 100%;

		&::before {
			content: none;
		}

		.page__title {
			font-size: var(--fontSize44);
			font-family: var(--fontBIZUDPGothic);
			font-weight: 400;
			line-height: 1.59;
			letter-spacing: 0.08em;
			background-position: right;
			background-repeat: no-repeat;
			background-size: cover;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			justify-content: center;
			height: 24rem;
			padding-left: calc(((100vw - 1180px) / 2) - 3px);
			padding-right: 3.8rem;

			sup {
				font-size: 50%;
			}

			.mainvisual__title {
				line-height: 1.4;
			}

			.mainvisual__copy {
				font-size: 1.80rem;
			}
		}

		.page__titlelist {
			border-left: var(--colorBlack) solid 1px;
			font-family: var(--fontBIZUDPGothic);
			font-size: var(--fontSize20);
			padding-left: 3.8rem;
			padding-right: 2rem;

			li {
				background: url("../../common/img/icon_title_list.png") left center no-repeat;
				padding-left: 3.0rem;
				margin-bottom: 0.5rem;
				align-content: center;
			}

			li:last-child {
				margin-bottom: 0;
			}
		}

		.mainvisual__img {
			height: 24rem;
			margin-left: auto;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		@media (max-width:1920px) {
			.page__title {
				font-size: 2.29vw;
			}

			.page__titlelist {
				font-size: 1.04vw;
			}
		}

		@media (max-width:1160px) {
			.page__title {
				padding-left: 2.5vw;
			}

			.page__titlelist {
				li {
					height: 3.5rem;
				}
			}
		}

		@media (max-width:767px) {
			grid-template-columns: 1fr;

			.page__title {
				background: none;
				height: 15rem;
				display: flex;
				flex-wrap: wrap;
				align-content: start;
				padding-left: 0;
				z-index: 1;
				font-size: var(--fontSize44);
			}

			.page__titlelist {
				font-size: var(--fontSize18);
			}
		}
	}

	@media (max-width:1160px) {
		#mainvisual {
			align-items: flex-start;
			flex-direction: column;
			position: relative;

			.page__titlelist {
				border-left: none;
				margin-left: 0;

				ul {
					display: flex;
					margin-bottom: 2.0rem;
					position: relative;
					z-index: 1;

					li {
						margin-right: 1.5rem;
					}
				}
			}

			.mainvisual__img {
				position: absolute;
				right: 0;
				top: 0;
				z-index: 0;
				height: 100%;
				opacity: 0.5;
			}
		}

		@media (max-width:767px) {
			#mainvisual {
				padding-inline: 0;
				display: grid;

				.page__title {
					padding-inline: 2rem;
					order: 2;
				}

				.page__titlelist {
					padding-inline: 2rem;
					order: 3;

					ul {
						display: block;

						li {
							height: auto;
						}
					}
				}

				.mainvisual__img {
					position: unset;
					order: 1;
				}
			}
		}
	}
}

/* =============================
  component
=================================*/
.section__hgroup {
	text-align: center;
	font-family: var(--fontBIZUDPGothic);

	p {
		font-family: var(--fontSize20);
		letter-spacing: 0.1em;
	}

	h2 {
		color: var(--colorOrange);
		font-size: var(--fontSize28);
		letter-spacing: 0.1em;
		line-height: 1.75;
	}
}

.section__title {
	font-size: var(--fontSize28);
	font-family: var(--fontBIZUDPGothic);
	letter-spacing: 0.1em;
	line-height: 1.75;
	color: var(--colorGreen);
	text-align: center;
	padding-bottom: 0.7rem;
}

.section__head {
	width: 1180px;
}

.section__headText {
	font-size: var(--fontSize16);
	letter-spacing: 0.025em;
	line-height: 1.875;
	margin-top: 2rem;
}

.section__text {
	font-size: var(--fontSize16);
	padding-block: 1.6rem;
	line-height: 1.875;
}

.section__img {
	margin-top: 5rem;

	img {
		width: 100%;
	}
}

.common__moreLink {
	font-size: var(--fontSize13);
	font-family: var(--fontBIZUDPGothic);
	letter-spacing: 0.065em;
	position: relative;
	padding-left: 6rem;
	display: grid;
	height: 4rem;
	align-items: center;
	margin-top: 2rem;
	width: fit-content;

	&::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 4rem;
		height: 4rem;
		transform: translateY(-50%);
		background-image: url(../../common/img/icon-arrow-link-right.png);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		transition: 0.3s;
	}

	&.arrow-right {
		width: fit-content;
		padding-inline: 0 5rem;

		&::before {
			left: unset;
			right: 0;
		}
	}

	&:hover {
		opacity: 1;

		&::before {
			transform: translateX(10%) translateY(-50%);
		}
	}
}

.common__BlueLink {
	height: 6rem;
	text-align: center;
	max-width: 30rem;
	width: 100%;
	border: 1px solid var(--colorBlue);
	position: relative;
	font-size: var(--fontSize16);
	font-family: var(--fontBIZUDPGothic);
	letter-spacing: 0.065em;
	color: var(--colorBlue);
	background: var(--colorWhite);
	border-radius: 4rem;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.375;

	&::after {
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
		content: "";
		background-image: url(../../common/img/icon-arrow-blue.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		width: 1.28rem;
		height: 1.28rem;
	}

	&:hover {
		background: var(--colorBlue);
		color: var(--colorWhite);
		opacity: 1;

		&::after {
			background-image: url(../../common/img/icon-arrow-white.svg);
		}
	}
}

.inner.compliInner {
	width: 1180px;

	.compliContainer {
		display: grid;
		gap: 8rem;
		padding-block: 9rem 0;

		.compliTop {
			background: #fff;
			position: relative;
			border-radius: 4rem;
			padding: 5rem 4rem 6rem;

			&::after {
				content: "";
				position: absolute;
				bottom: -3rem;
				display: inline-block;
				vertical-align: middle;
				color: var(--colorBlack);
				line-height: 1;
				width: 0;
				height: 0;
				border-style: solid;
				border-color: transparent;
				border-width: 3rem 3rem;
				border-top-color: currentColor;
				border-bottom: 0;
				left: 50%;
				transform: translateX(-50%);
			}

			.compliCircle__column {
				display: flex;
				justify-content: center;
				gap: 2rem;

				.compliCircle__item {
					border-radius: 50%;
					display: flex;
					justify-content: center;
					align-items: center;
					width: 20.3rem;
					height: 20.3rem;
					color: #fff;
					text-align: center;
					font-family: var(--fontBIZUDPGothic);
				}

				.compliCircle__item--green {
					background: var(--colorGreen);
				}

				.compliCircle__item--blue {
					background: var(--colorTurquoiseBlue);
					margin-top: 4rem;
				}
			}

			.compliRecom__column {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 2rem;
				margin-top: 4rem;

				.compliRecom__item {
					padding: 2.6rem 3.6rem;
					border-radius: 2rem;
					font-size: var(--fontSize20);
					font-family: var(--fontBIZUDPGothic);
					position: relative;

					&::before {
						content: "";
						position: absolute;
						width: 3rem;
						height: 3px;
						background: #fff;
						bottom: -2px;
						left: 50%;
						transform: translateX(-50%);
					}

					&::after {
						content: "";
						position: absolute;
						width: 2.8rem;
						height: 1px;
						transform: translateX(-50%) rotate(130deg);
						left: 52%;
						bottom: -1.2rem;
					}

					&.border-blue {
						border: 1px solid var(--colorTurquoiseBlue);

						&::after {
							background: var(--colorTurquoiseBlue);
						}
					}

					&.border-green {
						border: 1px solid var(--colorGreen);

						&::after {
							background: var(--colorGreen);
							left: 51.8%;
						}
					}
				}
			}
		}

		.compliBottom {
			position: relative;
			background: #fff;
			border-radius: 4rem;
			padding: 4rem;

			.compliBottomList {
				li {
					font-size: var(--fontSize20);
					font-family: var(--fontBIZUDPGothic);
					letter-spacing: 0.055em;
				}

				@media screen and (max-width: 767px) {
					li {
						font-size: 4vw;
					}

					li:nth-of-type(n+2) {
						margin-top: 5vw;
					}
				}
			}

			.compliMeritColumn {
				display: grid;
				grid-template-columns: 1fr 1fr;
				margin-top: 3rem;
				gap: 1rem;

				.compliMeritItem {
					display: grid;
					grid-template-columns: 10rem auto;
					gap: 2rem;

					.compliMeritItem__num {
						width: 10rem;
						height: 10rem;
						display: grid;
						align-items: center;
						align-content: center;
						justify-content: center;
						text-align: center;
						color: #fff;
						background: var(--colorGreen);
						border-radius: 50%;
						font-size: var(--fontSize44);
						font-family: var(--fontPrompt);
						font-weight: 200;
						line-height: 1.2;

						span {
							font-size: var(--fontSize12);
							font-family: var(--fontBIZUDPGothic);
							text-align: center;
						}
					}

					.compliMeritItem__textarea {
						.compliMeritItem__title {
							font-size: var(--fontSize20);
							font-family: var(--fontBIZUDPGothic);
							letter-spacing: 0.1em;
							color: var(--colorGreen);
						}

						.compliMeritItem__text {
							font-size: var(--fontSize16);
							font-family: var(--fontBIZUDPGothic);
							line-height: 1.625;
							letter-spacing: 0.055em;
							margin-top: 1rem;
						}
					}
				}
			}
		}
	}

	@media screen and (max-width: 1260px) {
		.compliContainer {
			.compliTop {
				border-radius: 2rem;
				.compliCircle__column {
					gap: 1rem;

					.compliCircle__item {
						width: 16.5vw;
						height: 16.5vw;
					}
				}
			}
		}
	}

	@media screen and (max-width: 767px) {
		.compliContainer {
			.compliTop {
				padding-top: 8rem;
				padding-inline: 2rem;

				.compliTitle {
					top: -5.2rem;
				}

				.compliCircle__column {
					display: grid;
					grid-template-columns: 1fr 1fr;
					gap: 0 1rem;

					.compliCircle__item {
						width: 34vw;
						height: 34vw;
						font-size: var(--fontSize13);
						margin-inline: auto;
					}

					.compliCircle__item--blue {
						margin-top: 0;
					}

					.spColumn1-1 {
						grid-column: 1 / -1;
					}
				}

				.compliRecom__column--sp {
					grid-column: 1 / -1;
					margin: 2rem 0 3rem;
				}

				.compliRecom__column {
					grid-template-columns: max-content;
					justify-content: center;
					gap: 7rem;
					margin: 0 0 5vw;

					.compliRecom__item {
						font-size: var(--fontSize13);
						text-align: center;
						padding: 1rem 1.5rem;
						&::after {
							left: 53.3%;
						}
						&.border-green {
							&::after {
								left: 53%;
								bottom: -1.1rem;
							}
						}
					}
				}
			}

			.compliBottom {
				border-radius: 2rem;
				.compliMeritColumn {
					grid-template-columns: 1fr;
					gap: 2rem;

					.compliMeritItem {
						grid-template-columns: 1fr;

						.compliMeritItem__num {
							margin-inline: auto;
						}
					}
				}
			}
		}
	}
}

.compliTitle {
	position: absolute;
	top: -1.8rem;
	font-size: var(--fontSize28);
	font-family: var(--fontBIZUDPGothic);
	color: var(--colorGreen);
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
	text-align: center;
}


.cloud__content {
	.cloud__title {
		font-size: var(--fontSize28);
		font-family: var(--fontBIZUDPGothic);
		line-height: 1.53;
		color: var(--colorWhite);
		letter-spacing: 0.065em;
		background: var(--colorGreen);
		padding-block: 1.8rem;
		text-align: center;
		border-radius: 4rem 4rem 0 0;
	}

	@media (max-width:767px) {
			.cloud__title {
				border-radius: 2rem 2rem 0 0;
			}

			.cloud__textarea {
				padding-inline: 2rem;
				border-radius: 0 0 2rem 2rem;
			}
		}
}

.cloud__contentsarea {
	background: var(--colorGray);
	padding: 4rem 3.5rem 2rem 3.5rem;
	border-radius: 0 0 4rem 4rem;
}


.cloud__list {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	li {
		padding: 0 1rem;
		width: calc(100% / 3);

		a {
			&:hover {
				background: #f4faec;
				opacity: 1;
				filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.3));
				.cloud__listbox {
					background: #f4faec url("../img/icon_arrow_link_hover.png") right 0.5rem bottom 0.5rem no-repeat;
				}
			}
			.cloud__listbox {
				background: #fff url("../img/icon_arrow_link.png") right 0.5rem bottom 0.5rem no-repeat;
			}
		}

		.cloud__listbox {
			background: var(--colorWhite);
			border-radius: 2rem;
			font-family: var(--fontBIZUDPGothic);
			margin-bottom: 2rem;
			padding: 2.0rem 2.4rem 1.5rem;
			position: relative;
			dt {
				display: grid;
				grid-template-columns: auto 7rem;
				justify-content: space-between;
				align-items: start;

				.cloud__list_titleText {
					display: flex;
					gap: 0;
					align-items: center;

					.cloud__list_title {
						font-size: 2.0rem;
						line-height: 1.4;
					}

					.cloud__list_titleDetail {
						font-size: var(--fontSize12);
						position: relative;
						padding-inline: 1.3rem;
						width: fit-content;
						padding-top: 0.5rem;
					}

					.cloud__list_titleDetail::before {
						content: "";
						background-image: url(../img/icon-paren-left.svg);
						background-position: center;
						background-repeat: no-repeat;
						background-size: cover;
						position: absolute;
						width: 1rem;
						height: 3rem;
						top: 55%;
						transform: translateY(-50%);
						left: 0.5rem;
					}

					.cloud__list_titleDetail::after {
						content: "";
						background-image: url(../img/icon-paren-right.svg);
						background-position: center;
						background-repeat: no-repeat;
						background-size: cover;
						position: absolute;
						width: 7rem;
						height: 3rem;
						top: 55%;
						transform: translateY(-50%);
						right: 0.5rem;
					}
				}

				.cloud__list_sub {
					color: #00b2a9;
					font-size: var(--fontSize16);
					margin-top: 1rem;
					font-weight: 700;
					line-height: 1.31;
				}

				.cloud__list_img {
					&.is-right {
						margin-left: auto;

						img {
							width: 5rem;
						}
					}

					img {
						display: block;
						object-fit: contain;
						margin-left: auto;
						margin-right: 0;
						width: 7rem;
						height: 7rem;
					}
				}

				@media (max-width:1240px) {
					.cloud__list_titleDetail {
						font-size: 1.1rem;
					}
				}

				@media (max-width:1200px) {
					.cloud__list_titleText {
						flex-direction: column;
						align-items: flex-start;
					}

					.cloud__list_img {
						width: 6.0rem;
						margin-left: auto;
					}
				}

				@media (max-width:767px) {
					.cloud__list_titleText {
						flex-direction: unset;
						align-items: center;
						gap: 1rem;
					}

					.cloud__list_img {
						img {
							width:auto;
							height: 6rem;
						}
					}
				}
			}

			dd {
				margin-top: 1.0rem;

				.cloud__list_text {
					font-size: var(--fontSize16);
				}

				.cloud__list_blueText {
					font-size: var(--fontSize16);
					color: var(--colorTurquoiseBlue);
					font-weight: 700;
				}
			}
		}
	}

	&.cloud__list--Device {
		.cloud__list_img img {
			object-position: right;
		}

		@media (max-width:767px) {
			.cloud__list_img img {
				object-position: center;
			}
		}
	}
}


@media (max-width:767px) {
	.cloud__contentsarea {
		padding-inline: 2rem;
		border-radius: 0 0 2rem 2rem;
	}

	.cloud__list {
		flex-direction: column;

		li {
			padding-left: 0;
			padding-right: 0;
			width: 100%;
		}
	}
}

.blueTableInner {
	margin-top: 2rem;

	.blueTableWrap {
		width: 100%;

		.blueTable {
			width: 100%;

			thead {
				th {
					background: var(--colorTurquoiseBlue);
					color: #fff;
					text-align: center;
					align-content: center;
					padding: 1rem;
					border-right: 4px solid var(--colorGray);
					line-height: 1.25;
					font-size: var(--fontSize20);
					font-family: var(--fontBIZUDPGothic);

					&:nth-child(1) {
						border-radius: 2rem 0 0 0;
					}

					&:nth-last-child(1) {
						border-radius: 0 2rem 0 0;
						border: none;
					}
				}
			}

			tbody {
				background: #fff;

				tr {
					td {
						padding: 1.15rem 3.6rem;
						border-right: 4px solid var(--colorGray);
						border-bottom: 4px solid var(--colorGray);
						font-size: var(--fontSize16);
						font-family: var(--fontBIZUDPGothic);
						align-content: center;
						letter-spacing: 0.065em;

						&.font20 {
							font-size: var(--fontSize20)
						}

						&:nth-last-child(1) {
							border-right: none;
						}

						&.text-center {
							text-align: center;
							align-content: center;
						}
					}

					&:nth-last-child(1) {
						td {
							border-bottom: none;

							&:nth-child(1) {
								border-radius: 0 0 0 2rem;
							}

							&:nth-last-child(1) {
								border-radius: 0 0 2rem 0;
							}
						}
					}
				}
			}
		}
	}

	.blueTab__note {
		display: inline-block;
		font-size: var(--fontSize13);
		letter-spacing: 0.035em;
		line-height: 1.615;
		margin-left: 1.6rem;
		margin-top: 1.5rem;
	}

	.common__BlueLink {
		margin-top: 3.5rem;
	}

	@media (max-width:767px) {
		.blueTableWrap {
			overflow-x: scroll;
			-webkit-overflow-scrolling: touch;

			.blueTable {
				width: 800px;
			}
		}
	}
}

.flow {
	margin-top: 2rem;

	.flowList {
		display: grid;
		gap: 5rem;

		.flowList__item {
			display: grid;
			grid-template-columns: 39rem auto;
			gap: 0 0.5rem;
			position: relative;
			border-radius: 4rem;

			&::after {
				content: "";
				position: absolute;
				bottom: -2em;
				display: inline-block;
				vertical-align: middle;
				color: var(--colorBlack);
				line-height: 1;
				width: 0;
				height: 0;
				border-style: solid;
				border-color: transparent;
				border-width: 2em;
				border-top-color: currentColor;
				border-bottom: 0;
				left: 50%;
				transform: translateX(-50%);
			}

			&:nth-last-child(1) {
				&::after {
					content: none;
				}
			}

			.flowList__left {
				background: var(--colorGreen);
				display: flex;
				align-items: center;
				padding-left: 4.5rem;
				color: #fff;
				border-radius: 4rem 0 0 4rem;

				.flowList__num {
					font-size: var(--fontSize44);
					font-family: var(--fontPrompt);
					font-weight: 200;
					padding-right: 1.6rem;
				}

				.flowList__title {
					color: #fff;
					padding-left: 1.6rem;
					border-left: 1px solid #fff;
					font-family: var(--fontBIZUDPGothic);

					p {
						font-size: 1.6rem;
					}

					h3 {
						font-size: 2rem;

					}
				}
			}

			.flowList__right {
				background: var(--colorGray);
				padding: 2rem 0 2rem 10.1%;
				border-radius: 0 4rem 4rem 0;
				font-family: var(--fontBIZUDPGothic);

				.flowDotList {
					list-style: none;
					margin: 0;
					padding: 0;

					li {
						display: flex;
						align-items: center;
						font-size: var(--fontSize20);
						color: var(--colorBlack);
						letter-spacing: 0.035em;
						line-height: 1.8;

						.flowDotList__name {
							flex-shrink: 0;
						}

						.flowDotList__dotted {
							flex: 1;
							margin: 0 0.6em;
							height: 3px;
							background-image: radial-gradient(currentColor 1.2px, transparent 1.2px);
							background-size: 6px 4px;
							background-repeat: repeat-x;
							background-position: center;
							display: block;
							opacity: 0.8;
						}

						.flowDotList__desc {
							flex-shrink: 0;
							white-space: nowrap;
							width: 50%;
						}
					}
				}

				.flowList__text {
					font-size: var(--fontSize20);
				}
			}
		}
	}

	@media (max-width:1200px) {
		.flowList {
			.flowList__item {
				.flowList__right {
					padding: 2rem 0 2rem 3%;

					.flowDotList {
						li {
							font-size: var(--fontSize18);
						}
					}
				}
			}
		}
	}

	@media (max-width:767px) {
		.flowList {
			.flowList__item {
				grid-template-columns: 1fr;

				.flowList__left {
					border-radius: 2rem 2rem 0 0;
					padding: 2rem;
				}

				.flowList__right {
					border-radius: 0 0 2rem 2rem;
					padding-inline: 2rem;

					.flowDotList {
						li {
							flex-wrap: wrap;
							font-size: var(--fontSize17);

							.flowDotList__name {
								width: 100%;
							}

							.flowDotList__dotted {
								margin-left: 0;
							}

							.flowDotList__desc {
								width: 85%;
							}

							&:nth-of-type(n+2) {
								margin-top: 3vw;
							}
						}
					}
				}
			}
		}
	}
}

.flow {
	.flow__column {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 4rem;

		.flowList__item {
			grid-template-columns: 9.6rem auto;

			.flowList__left {
				padding-left: 0;
				justify-content: center;

				.flowList__num {
					padding-right: 0;
				}
			}

			.flowList__right {
				padding: 2rem 4% 2rem 8.5%;
				display: flex;
				align-items: center;
			}
		}
	}

	@media (max-width:767px) {
		.flow__column {
			grid-template-columns: 1fr;
			gap: 5rem;

			.flowList {
				&:nth-child(1) {
					.flowList__item {
						&:nth-last-child(1)::after {
							content: "";
							position: absolute;
							bottom: -1.5em;
							display: inline-block;
							vertical-align: middle;
							color: var(--colorBlack);
							line-height: 1;
							width: 0;
							height: 0;
							border-style: solid;
							border-color: transparent;
							border-width: 1.5em 1.5em;
							border-top-color: currentColor;
							border-bottom: 0;
							left: 50%;
						}
					}
				}

				.flowList__item {
					.flowList__left {
						border-radius: 2rem 0 0 2rem;
						padding-left: 2rem;
					}

					.flowList__right {
						border-radius: 0 2rem 2rem 0;
					}
				}
			}

		}
	}
}


#reason {
	background: #fff;
	padding-block: 12rem;

	.reasonColumn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 5rem;
		gap: 2rem;

		.reasonItem {
			max-width: 35.3rem;
			position: relative;
			background: var(--colorGray);
			border-radius: 2rem;
			padding: 5rem 2.8rem 3rem;

			.reasonItem__num {
				position: absolute;
				top: -3.2rem;
				left: 50%;
				transform: translateX(-50%);
				font-family: var(--fontPrompt);
				font-size: var(--fontSize44);
				font-weight: 200;
				color: var(--colorGreen);
				letter-spacing: 0.01em;
				display: grid;
				align-content: center;
				text-align: center;
				line-height: 1;

				span {
					font-size: var(--fontSize12);
					font-weight: 700;
					font-family: var(--fontBIZUDPGothic);
				}
			}

			.reasonItem__title {
				font-size: var(--fontSize20);
				letter-spacing: 0.1em;
				line-height: 1.7;
				font-family: var(--fontBIZUDPGothic);
				text-align: center;
			}

			.reasonItem__text {
				font-size: var(--fontSize16);
				letter-spacing: 0.045em;
				margin-top: 4rem;
				line-height: 1.875;
			}
		}
	}

	@media (max-width:767px) {
		padding-block: 8rem;

		.reasonColumn {
			gap: 6rem;

			.reasonItem {
				padding-top: 3rem;

				.reasonItem__num {
					top: -3.2rem;
					font-size: 9vw;

					span {
						font-size: 4vw;
					}
				}

				.reasonItem__text {
					margin-top: 2rem;
				}
			}
		}
	}
}

#case {
	padding-block: 11rem 12rem;

	.caseItem {
		max-width: 49rem;
		margin-inline: auto;
		margin-top: 2rem;

		.caseItem__head {
			border-radius: 2rem 2rem 0 0;
			text-align: center;
			color: #fff;
			background: var(--colorTurquoiseBlue);
			font-size: var(--fontSize20);
			font-family: var(--fontBIZUDPGothic);
			letter-spacing: 0.065em;
			padding: 1.4rem 2rem;
		}

		.caseItem__textarea {
			padding: 3rem 4rem;
			background: #fff;
			border-radius: 0 0 2rem 2rem;

			.caseItem__text {
				font-size: var(--fontSize16);
				line-height: 1.875;
				letter-spacing: 0.065em;
			}
		}
	}

	@media (max-width:767px) {
		padding-block: 8rem;
	}
}

/* =============================
  breadcrumb
=================================*/
.breadcrumb {
	padding-block: 1.5rem;

	.breadcrumbList {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem 4rem;

		.breadcrumbList__item {
			font-size: 1.3rem;
			font-family: var(--fontBIZUDPGothic);
			letter-spacing: 0.1em;
			position: relative;

			&::after {
				position: absolute;
				content: "";
				right: -2rem;
				top: 50%;
				transform: translateY(-50%);
				display: inline-block;
				vertical-align: middle;
				color: var(--colorBlue);
				line-height: 1;
				width: 0.7em;
				height: 0.7em;
				border: 0.1em solid currentColor;
				border-left: 0;
				border-bottom: 0;
				box-sizing: border-box;
				transform: translateY(-50%) rotate(45deg);
			}

			&:nth-last-child(1) {
				content: none;

				&::after {
					content: none;
				}
			}
		}
	}
}

/* =============================
  contact
=================================*/
#contact {
	padding-block: 10rem 18rem;
	background-image: url(../img/img-contact_bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;

	.contact__title {
		font-size: var(--fontSize44);
		font-family: var(--fontBIZUDPGothic);
		letter-spacing: 0.08em;
		line-height: 1;
		text-align: center;
		color: var(--colorBlue);
	}

	.contact__text {
		font-size: var(--fontSize16);
		font-family: var(--fontBIZUDPGothic);
		line-height: 1.875;
		letter-spacing: 0.08em;
		margin-top: 3.2rem;
		text-align: center;
	}

	.common__BlueLink {
		margin-top: 4rem;
	}

	@media (max-width:767px) {
		background-position: bottom;
		background-size: contain;
		padding-block: 4rem 10rem;
	}
}

/* =============================
  footer
=================================*/
:host,
:root {
	--base-font-size: 10px;
	--body-font-size: 16px;
	--body-line-height: 1.6;
	--body-font-family: "YuGothic", "Yu Gothic", "Yu Gothic Medium", "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	--body-display: flex;
	--body-flex-direction: column;
	--body-min-height: 100vh;
	--body-color: #606269;
	--body-overflow-wrap: anywhere;
	--body-word-break: normal;
	--body-line-break: strict;
	--hdvw: 10px;
}

@media (max-width: 1300px) {

	:host,
	:root {
		--hdvw: 0.76923077vw;
	}
}

@media screen and (min-width: 768px) and (max-width: 1158px) {

	:host,
	:root {
		--base-font-size: calc(1.3816925734vw * 0.625);
		--body-font-size: 1.3816925734vw;
	}
}

@media (max-width: 767px) {

	:host,
	:root {
		--hdvw: 2.67vw;
		--base-font-size: calc(3.7333333333vw * 0.625);
		--body-font-size: 3.7333333333vw;
	}
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.common-btn {
	border: 1px solid;
	padding: 1.6rem 4.8rem;
	border-radius: 9999px;
	display: inline-block;
	position: relative;
	min-width: 30rem;
	text-align: center;
	font-size: 1.6rem;
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: normal;
	transition: background-color .3s, color .3s;
}

.common-btn:hover {
	opacity: 1;
}

.common-btn::after {
	content: "";
	display: block;
	width: 1.6rem;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url(../img/arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2rem;
	transition: filter .1s;
}

.footer_nav {
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	overflow-wrap: var(--body-overflow-wrap);
	word-break: var(--body-word-break);
	line-break: var(--body-line-break);
	background-color: #606269;
	color: #fff;
	font-family: "BIZ UDPGothic", sans-serif;
	padding: calc(7.4 * var(--base-font-size)) 0 calc(7.6 * var(--base-font-size));
}

.footer_nav .footer_nav__list {
	flex-direction: column;
	justify-content: flex-start;
	row-gap: calc(3.2 * var(--base-font-size));
}

.footer_nav .footer_nav__list:where(:not(:has(.footer_nav__item_sub_list))) {
	row-gap: calc(2.4 * var(--base-font-size));
}

.footer_nav .footer_nav__item_link {
	display: block;
}

.footer_nav .footer_nav__item_link:where(:has(+.footer_nav__item_sub_list)) {
	margin-bottom: calc(0.8 * var(--base-font-size));
}

.footer_nav .footer_nav__item_link:where(.common-btn) {
	margin-top: calc(0.4 * var(--base-font-size));
	padding: calc(1.6 * var(--base-font-size)) calc(4.8 * var(--base-font-size));
	min-width: calc(30 * var(--base-font-size));
	font-size: var(--body-font-size);
}

.footer_nav .footer_nav__item_link:where(.common-btn)::after {
	width: calc(1.6 * var(--base-font-size));
	filter: invert(100%) sepia(17%) saturate(1%) hue-rotate(310deg) brightness(107%) contrast(101%);
}

@media (hover: hover) {
	.footer_nav .footer_nav__item_link:where(.common-btn):hover {
		background-color: #fff;
		color: #606269;
	}

	.footer_nav .footer_nav__item_link:where(.common-btn):hover::after {
		filter: invert(38%) sepia(3%) saturate(904%) hue-rotate(189deg) brightness(94%) contrast(84%);
	}
}

.footer_nav .footer_nav__item_sub_item {
	line-height: 1.3;
}

.footer_nav .footer_nav__item_sub_item_link {
	font-size: calc(1.3 * var(--base-font-size));
}

@media screen and (max-width: 767px) {
	.footer_nav {
		padding: 0;
	}

	.footer_nav .footer_nav__inner {
		width: 100%;
		max-width: 100%;
		flex-direction: column;
	}

	.footer_nav .footer_nav__list {
		width: 100%;
		row-gap: 0;
	}

	.footer_nav .footer_nav__list:nth-child(n + 2) {
		border-top: 1px solid;
	}

	.footer_nav .footer_nav__list:last-child {
		border-bottom: 1px solid;
	}

	.footer_nav .footer_nav__item {
		padding: 4.9vw 0 0;
		position: relative;
	}

	.footer_nav .footer_nav__item:nth-child(n + 2) {
		border-top: 0.2666666667vw solid;
	}

	.footer_nav .footer_nav__item:has(.footer_nav__item_link[target=_blank])::after {
		content: "";
		display: block;
		position: absolute;
		width: 3vw;
		height: auto;
		aspect-ratio: 49 / 50;
		background-image: url(../img/external_link.svg);
		background-repeat: no-repeat;
		background-size: contain;
		filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(52deg) brightness(105%) contrast(101%);
		transform: translateY(-50%);
		right: 4.8vw;
		top: 50%;
	}

	.footer_nav .footer_nav__item_link {
		padding: 0 5.6vw 4.9vw;
		margin-bottom: 0;
		position: relative;
	}

	.footer_nav .footer_nav__item_link:has(+.footer_nav__item_sub_list)::before,
	.footer_nav .footer_nav__item_link:has(+.footer_nav__item_sub_list)::after {
		content: "";
		position: absolute;
		right: 5vw;
		top: 25%;
		background-color: #fff;
		width: 2.8vw;
		height: 0.4vw;
		transition: all 0.3s;
	}

	.footer_nav .footer_nav__item_link:has(+.footer_nav__item_sub_list)::after {
		transform: rotate(90deg);
	}

	.footer_nav .footer_nav__item_link:has(+.footer_nav__item_sub_list).is-active::after {
		transform: none;
	}

	.footer_nav .footer_nav__item_link.common-btn {
		margin-top: 0;
		border: none;
		text-align: left;
	}

	.footer_nav .footer_nav__item_link.common-btn::after {
		content: none;
	}

	.footer_nav .footer_nav__item_link_btn {
		height: 11.6vw;
		aspect-ratio: 1 / 1;
		width: auto;
		position: absolute;
		right: 1vw;
		bottom: 1.8vw;
		display: block;
		z-index: 2;
	}

	.footer_nav .footer_nav__item_sub_list {
		border-top: 1px solid;
		display: none;
	}

	.footer_nav .footer_nav__item_sub_item_link {
		font-size: 3.7333333333vw;
		display: inline-block;
		padding: 3.5vw 0;
		width: 100%;
		padding-left: 10vw;
		padding-right: 5.8vw;
		position: relative;
		border-bottom: 1px solid;
	}

	.footer_nav .footer_nav__item_sub_item_link:where(.footer_nav__item_sub_item:last-child *) {
		border-bottom: none;
	}

	.footer_nav .footer_nav__item_sub_item_link::before {
		content: "";
		position: absolute;
		display: block;
		width: 1.6em;
		height: auto;
		aspect-ratio: 1 / 1;
		background-image: url(../img/circle_arrow.png);
		background-repeat: no-repeat;
		background-size: cover;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}

	.footer_nav .footer_nav__item_sub_item {
		padding: 0 5.6vw;
	}
}

.gotop {
	position: fixed;
	bottom: 6.4rem;
	right: 4.2rem;
	z-index: 9998;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	background-color: #fff;
	border-radius: 50%;
	border: 2px solid #0082c9;
	width: 6rem;
	aspect-ratio: 1 / 1;
	height: auto;
	transition: visibility 0.3s, opacity 0.3s, background-color 0.3s;
}

.gotop::after {
	content: "";
	position: absolute;
	display: block;
	width: 1.2rem;
	height: auto;
	aspect-ratio: 14 / 25;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../img/arrow_short_blue.svg);
	transform: translate(-50%, -50%) rotate(-90deg);
	left: 50%;
	top: 50%;
	transition: background-image 0.3s;
}

.gotop--active {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (hover: hover) {
	.gotop:hover {
		background-color: #0082c9;
	}

	.gotop:hover::after {
		background-image: url(/common/img/arrow_short_white.svg);
	}
}

@media screen and (max-width: 767px) {
	.gotop {
		bottom: 7.4vw;
		right: 5.4vw;
		width: 13.8vw;
	}

	.gotop::after {
		width: 2.4vw;
	}
}

#footer {
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	color: var(--body-color);
	overflow-wrap: var(--body-overflow-wrap);
	word-break: var(--body-word-break);
	line-break: var(--body-line-break);
	font-family: "BIZ UDPGothic", sans-serif;
	position: relative;
	padding: calc(1.75 * var(--base-font-size)) 0 calc(5.4 * var(--base-font-size));
	background-color: #fff;
}

#footer .footer__menu {
	font-size: calc(1.3 * var(--base-font-size));
	align-items: center;
	gap: 3em;
}

#footer .footer__menu_list {
	align-items: center;
	gap: 0 1.2em;
}

#footer .footer__menu_item {
	position: relative;
}

#footer .footer__menu_item:nth-child(n + 2)::before {
	content: "|";
	position: absolute;
	display: block;
	font-size: 100%;
	right: calc(100% + 0.65em);
	transform: translateX(50%);
}

#footer .footer__menu_copyright {
	font-family: "Prompt", sans-serif;
	font-weight: 400;
	font-size: calc(1.3 * var(--base-font-size));
}

@media screen and (max-width: 767px) {
	#footer {
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	#footer .footer__inner {
		position: relative;
		width: 100%;
		max-width: 100%;
		padding: 0;
		flex-direction: column-reverse;
	}

	#footer .footer__corporate_link {
		font-size: 3.7333333333vw;
		background-color: #606269;
		color: #fff;
		width: 100%;
		padding: 3.8vw 5.6vw;
		border-bottom: 1px solid #909196;
	}

	#footer .footer__corporate_link::after {
		top: 50%;
		transform: translateY(-50%);
		filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(18deg) brightness(106%) contrast(102%);
		right: 5vw;
		width: 3vw;
	}

	#footer .footer__menu {
		order: 0;
		font-size: 2.9333333333vw;
		width: 100%;
		gap: 0;
	}

	#footer .footer__menu_list {
		gap: 3.2vw 0;
		background-color: #606269;
		color: #fff;
		width: 100%;
		padding: 4vw 5.6vw;
		display: grid;
		grid-template-columns: repeat(2, auto);
		justify-content: start;
	}

	#footer .footer__menu_item {
		padding-right: 6vw;
	}

	#footer .footer__menu_item:nth-child(n + 2)::before {
		content: none;
	}

	#footer .footer__to_top_link {
		width: 13.6vw;
		aspect-ratio: 1 / 1;
		position: fixed;
		height: auto;
		padding-top: 0;
		background-color: #fff;
		border-radius: 50%;
		bottom: 6.5vw;
		right: 5.5vw;
		border: 1px solid #0082c9;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: visibility 0.3s, opacity 0.3s;
	}

	#footer .footer__to_top_link--active {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	#footer .footer__logo {
		display: none;
	}

	#footer .footer__menu_copyright {
		letter-spacing: 0.08em;
		flex: 1;
		white-space: nowrap;
		padding: 4.6vw 5.2vw;
		width: 100%;
	}

	#footer .footer__to_top_link_img {
		width: 2.4vw;
		transform: rotateZ(-90deg) translateX(0.3vw);
		filter: invert(32%) sepia(94%) saturate(1103%) hue-rotate(173deg) brightness(98%) contrast(105%);
	}

	#footer .footer__to_top_txt {
		width: 100%;
	}
}