	html,
	body {
		width: 100%;
		height: 100%;
		overflow: auto;
		margin: 0;
		padding: 0;

		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.page {
		overflow-x: hidden;
		overflow-y: auto;
		height: auto;
		-ms-overflow-style: none;
		/* Edge */
		scrollbar-width: none;
		/* Firefox */
	}

	.page::-webkit-scrollbar {
		display: none;
		/* Chrome,Safari */
	}


	.slide {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		color: white;
		background-size: cover;
		background-position: center;
	}

	section {
		width: 100%;
	}

	.top-section {
		position: relative;
		height: var(--top-section-height);
		overflow: hidden;

		.top-bg {
			position: absolute;
			width: 110vw;
			height: 110%;
			object-fit: cover;
			z-index: 0;
			max-width: none;
			border: none;
			top: -10%;
			left: -7%;
		}

		.top-section-inner {
			position: relative;
			padding: 166px 118px 134px 118px;
			z-index: 2;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 48px;

			.pankuzu-list {
				display: flex;
				width: 240px;
			}

			.pankuzu-unit {
				color: #fff;
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				line-height: 150%;
				letter-spacing: 0%;

				a {
					color: #fff;
					text-decoration: none;
				}
			}

			.pankuzu-separator {
				position: relative;
				width: 24px;
				height: 18px;

				img {
					margin: 0 auto;
					width: 10px;
					height: 16px;
					display: block;
				}
			}

			.top-title {
				display: flex;
				flex-direction: column;
				gap: 24px;

				.top-title-main {
					color: #fff;
					font-family: Satoshi;
					font-weight: 500;
					font-style: Medium;
					font-size: 80px;
					line-height: 100%;
					letter-spacing: 0;

				}

				.top-title-sub {
					color: #fff;
					font-family: Noto Sans JP;
					font-weight: 500;
					font-style: Medium;
					font-size: 18px;
					line-height: 100%;
					letter-spacing: 0;
				}
			}
		}

		.top-section-common {
			position: relative;
			padding: 114px 118px;
			z-index: 2;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 40px;

			.pankuzu-list {
				display: flex;
				width: 100%;
			}

			.pankuzu-unit {
				color: #fff;
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				line-height: 150%;
				letter-spacing: 0%;

				a {
					color: #fff;
					text-decoration: none;
				}
			}

			.pankuzu-separator {
				position: relative;
				width: 24px;
				height: 18px;

				img {
					margin: 0 auto;
					width: 10px;
					height: 16px;
					display: block;
				}
			}

			.top-title {
				display: flex;
				flex-direction: column;
				gap: 3px;

				.top-title-main {
					color: #fff;
					font-family: "Satoshi";
					font-weight: 400;
					font-size: 56px;
					line-height: 160%;
					letter-spacing: 0;
				}

				.top-title-sub {
					color: #fff;
					font-family: Noto Sans JP;
					font-weight: 400;
					font-size: 16px;
					line-height: 160%;
					letter-spacing: 0;
				}
			}
		}
	}

	.top-section-inner::after,
	.top-section-common::after {
		content: "";
		position: absolute;
		inset: 0;
		/*background: linear-gradient(270deg, rgba(0, 0, 0, .2) 0.02%, rgba(0, 0, 0, .41) 27.51%, rgba(0, 0, 0, .5) 50.66%, #000 94.1%);*/
		z-index: -1;
	}

	.contact .tel.sp {
		display: none !important;
	}
	.contact .tel.pc {
		display: flex !important;
	}

	@media screen and (max-width: 768px) {
		.top-section {
			height: var(--top-section-height-sp);

			.top-bg {
				top: -5%;
				left: -3%;
			}

			.top-section-inner {
				padding: 72px 24px;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 32px;

				.pankuzu-list {
					width: 180px;
				}

				.top-title {
					gap: 16px;

					.top-title-main {
						font-size: 48px;
					}

					.top-title-sub {
						font-size: 14px;
					}
				}
			}

			.top-section-common {
				padding: 72px 24px;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 32px;

				.pankuzu-list {
					width: 100%;
				}

				.top-title {
					gap: 6px;

					.top-title-main {
						font-size: 32px;
						margin-bottom: 16px;
					}

					.top-title-sub {
						font-size: 12px;
					}
				}

			}
		}

		.contact .tel.sp {
			display: flex !important;
		}
		.contact .tel.pc {
			display: none !important;
		}
	}













		* {
			box-sizing: border-box;
		}

		:root {
			--top-section-height: 345px;
			--top-section-height-sp: 240px;
		}

		.menu-section {
			padding-top: 0;
			padding-bottom: 0;
		}

		.menu-head {
			padding: 40px 0;
			display: flex;
			font-family: "Noto Sans JP";
			font-weight: 700;
			font-size: 16px;
			line-height: 160%;
			padding-left: 120px;
			column-gap: 2px;
		}

		.menu-head-item {
			position: relative;
			padding-right: 80px;
		}

		.menu-head-item:after {
			content: url('/common/asset/purchase/icon_button_link.svg');
			position: absolute;
			top: 50%;
			transform: translateY(-38%);
			padding-left: 8px;
			color: #151515;
		}

		.menu-head-item.active {
			width: auto;
			background: transparent;
		}

		.menu-head-item.active:after {
			content: url('/common/asset/purchase/icon_button_link_active.svg');
			color: #005EAD;
		}

		.menu-head-item a {
			color: #151515;
		}

		.menu-head-item.active a {
			color: #005EAD;
		}

		.content {
			max-width: 100vw;
			margin: 40px auto 0;

			article {
				font-family: "Noto Sans JP";
				margin-bottom: 40px;

				p {
					text-align: left;
					font-weight: 700;
					font-size: 16px;
					line-height: 250%;
					letter-spacing: .04em;
					width: 1056px;
					margin: 0 auto;
				}
			}

			div.body {
				width: 100vw;
				background-color: #F3F8FC;
				counter-set: section;
				display: flex;
				flex-direction: column;
				gap: 70px;
				padding-bottom: 80px;

				article {
					counter-increment: section;
					width: 1056px;
					margin: 0 auto;
					padding-top: 0;

					div.section-title {
						font-weight: 700;
						font-size: 24px;
						line-height: 140%;
						letter-spacing: 0px;
						color: #151515;
						margin-bottom: 46px;
						border-bottom: none;
						position: relative;
						padding-left: 50px;
					}

					div.section-title:before {
						position: absolute;
						top: 0;
						left: 0;
						content: "0" counter(section) ". ";
						color: #005EAD;
						font-family: Satoshi;
						font-size: 32px;
						letter-spacing: .04em;
					}

					.message {
						background-color: #FFF;
						border-radius: 8px;
						padding: 32px 64px;
						display: flex;
						flex-direction: column;
						align-items: start;
						justify-content: start;
						gap: 48px;

						.section {
							font-family: "Noto Sans JP";
							--left-padding: 20px;
							width: 100%;

							h3 {
								font-size: 20px;
								line-height: 160%;
								font-weight: 500;
								letter-spacing: 0;
								position: relative;
								padding-left: var(--left-padding);
								margin: 0;
								margin-bottom: 16px;
							}

							h3:before {
								content: "";
								position: absolute;
								top: 50%;
								left: 0;
								width: 4px;
								height: 32px;
								background-color: #005EAD;
								border-radius: 1px;
								transform: translateY(-50%);
							}

							.value {
								padding-left: var(--left-padding);
								font-size: 16px;
								line-height: 180%;
								font-weight: 400;
								margin-left: 4px;
								width: 100%;
								counter-set: counter;

								ol {
									list-style-type: none;
									margin: 0;
									gap: 30px;
									display: flex;
									flex-direction: column;
									flex-wrap: nowrap;

									li {
										counter-increment: counter;
										font-size: 16px;
										line-height: 180%;

										&:before {
											content: "[" counter(counter) "]";
											padding-right: 15px;
										}

										p {
											font-family: Noto Sans JP;
											text-align: start;
											font-weight: 400;
											font-size: 16px;
											line-height: 180%;
											letter-spacing: 0;
											text-indent: 32px;
											margin-bottom: 0;
											width: 100%;
										}

									}
								}

								ol.sub {
									gap: 0;
									margin-top: 24px;
								}
							}

							.value.guideline {
								padding-left: 0;
								margin-left: 0;
								width: 100%;
							}

							.cards {
								display: flex;
								flex-direction: row;
								gap: 40px;
								margin-top: 45px;

								.card {
									background-color: #F3F8FC;
									border-radius: 8px;
									padding: 48px 56px;
									flex: 1;
									font-family: Noto Sans JP;
									display: flex;
									flex-direction: column;
									flex-wrap: nowrap;
									align-items: flex-start;
									justify-content: flex-start;
									gap: 24px;

									.title {
										font-weight: 500;
										font-size: 24px;
										line-height: 160%;
										letter-spacing: 0;
										white-space: nowrap;
									}


									.email,
									.address,
									.contact {
										font-weight: 400;
										font-size: 16px;
										line-height: 180%;
										align-items: center;
									}

									.email {
										display: flex;
										flex-direction: row;
										align-items: center;
										flex-wrap: nowrap;
										column-gap: 4px;
									}

									.email::before {
										content: "E-mail";
										font-size: 14px;
										font-weight: 500;
										background-color: #005EAD;
										color: #FFF;
										font-family: Noto Sans JP;
										line-height: 100%;
										letter-spacing: 0;
										vertical-align: middle;
										padding: 3px 8px;
										border-radius: 2px;
									}

									.contact {
										display: flex;
										flex-direction: row;
										gap: 30px;

										.tel,
										.fax {
											font-weight: 400;
											font-size: 16px;
											line-height: 180%;
											position: relative;
											display: flex;
											flex-direction: row;
											align-items: center;
											flex-wrap: nowrap;
											column-gap: 4px;

											a {
												color: #333;
											}
										}

										.tel::before,
										.fax::before {
											font-size: 14px;
											font-weight: 500;
											background-color: #005EAD;
											color: #FFF;
											font-family: Noto Sans JP;
											line-height: 100%;
											letter-spacing: 0;
											vertical-align: middle;
											padding: 3px 8px;
											border-radius: 2px;
										}

										.tel::before {
											content: "TEL";
										}

										.fax::before {
											content: "FAX";
										}
									}
								}
							}
						}
					}
				}

				article:first-child {
					padding-top: 87px;
				}

			}
		}

		.menu-contact {
			width: 100%;
			height: auto;
			background-color: #F2F2F2;
			display: flex;
			flex-direction: column;
			align-items: center;
			padding-top: 48px;
			padding-bottom: 48px;

			h2 {
				font-family: Satoshi;
				font-weight: 500;
				font-size: 32px;
				line-height: 100%;
				color: #005EAD;
				border-bottom: none;
				padding: 0;
				height: auto;
				margin: 0;
			}

			.links {
				display: flex;
				flex-direction: row;
				justify-content: center;
				margin-top: 32px;

				.link-area.inactive {
					color: #409C9C;
				}

				a {
					position: relative;
					width: 480px;
					height: 140px;
					border-radius: 8px;
					padding: 32px;
					line-height: 160%;
					color: #005EAD;
					font-family: "Noto Sans JP";
					font-weight: 700;
					font-size: 24px;
					margin: 0 16px;
					background-color: #FFF;
				}

				a:after {
					position: absolute;
					content: "";
					right: 32px;
					bottom: 32px;
					background-image: url(/common/asset/purchase/icon_link.svg);
					background-size: cover;
					width: 34px;
					height: 21px;
				}

				a:hover,
				a:focus {
					text-decoration: none;
				}
			}
		}

		@media screen and (max-width: 768px) {
			.menu-section {
				.menu-head {
					padding: 24px 24px 32px;
					flex-wrap: wrap;
					column-gap: 2px;
					row-gap: 16px;

					.menu-head-item {
						font-size: 14px;
						padding-right: 50px;
					}

					.menu-head-item:after {
						content: url('/common/asset/purchase/icon_button_link_sp.svg');
					}

					.menu-head-item.active:after {
						content: url('/common/asset/purchase/icon_button_link_sp_active.svg');
					}
				}

				.content {
					width: 100vw;
					margin: 0 auto;
					padding: 0 0 55px;
					background-color: #F3F8FC;

					.msg {
						display: none;
					}

					div.body {
						max-width: 100vw;
						margin: 0 auto;
						gap: 45px;
						padding-bottom: 0;

						article {
							max-width: 342px;
							margin: 0 auto;

							div.section-title {
								margin-top: 0;
								font-size: 20px;
								letter-spacing: .04em;
								margin-bottom: 24px;

								&:before {
									font-size: 24px;
								}
							}

							.message {
								padding: 24px 16px;
								gap: 32px;

								.section {
									h3 {
										font-size: 18px;
										padding-left: 16px;
									}

									.value {
										font-size: 14px;
										letter-spacing: .02em;
										width: 100%;
										padding-left: 16px;

										ol {
											margin-top: 20px;
											gap: 16px;

											li {
												font-size: 14px;

												p {
													font-size: 14px;
													text-indent: 0;
												}
											}
										}

										ol.sub {
											gap: 0;
											margin-top: 24px;
										}
									}

									.value.guideline {
										line-height: 180%;
										padding-left: 4px;
										width: 100%;
									}

									.cards {
										flex-direction: column;
										gap: 16px;
										margin-top: 30px;

										.card {
											padding: 24px 16px 16px;
											gap: 16px;

											.title {
												font-size: 18px;
												letter-spacing: .0em;
											}

											.email {
												flex-wrap: wrap;
												font-size: 14px;

												&::before {
													font-size: 12px;
												}
											}

											.address {
												font-size: 14px;
											}

											.contact {
												flex-direction: column;
												gap: 8px;
												font-size: 14px;

												.tel,
												.fax {
													font-size: 14px;
												}

												.tel::before,
												.fax::before {
													font-size: 12px;
												}
											}
										}
									}

								}
							}
						}

						article:first-child {
							padding-top: 60px;
						}
					}
				}

				.menu-contact {
					height: auto;
					padding: 32px 24px;

					h2 {
						font-size: 24px;
						margin: 0;
					}

					.links {
						flex-direction: column;
						gap: 16px;
						margin-top: 24px;

						a {
							width: 342px;
							font-size: 20px;
							height: auto;
							padding: 24.5px 32px;
							line-height: 160%;
							margin: 0 0;
						}

						a:after {
							right: 32px;
							bottom: 27px;
							width: 27px;
							height: 17px;
						}
					}
				}
			}
		}
