@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
:root {
/* 共通設定 */
	--color--black: #191919;
	--color--white: #ffffff;
	--color--bg_gray: #F0F0EF;
	--color--gray: #C4C4C4;
	--color--light_gray: #D0D0D0;
	--color--dark_gray: #7F7F7F;
	--color--reason_gray: #525252;
	--color--heading_sub: #8C8C8C;
	--color--lp-linebtn: #209558;
    --color--lp-orange: #FAA858;
    --color--lp-bg: #EDEBE8;
    --color-lp-cts: #F8F0DF;
    --color-pagenation: #D8812C;
    --color-dark-orange: #D8812C;
}
/* PC ================================================== */
@media all and (min-width:769px){
:root {
	/* size */
	--94px: 7.34375vw;
	--36px: 2.8125vw;
	--32px: 2.5vw;
	--26px: 2.03125vw;
	--24px: 1.875vw;
	--22px: 1.71875vw;
	--20px: 1.5625vw;
	--18px: 1.40625vw;
	--16px: 1.25vw;
	--14px: 1.09375vw;
	--13px: 1.015625vw;
	--12px: 0.9375vw;
	--11px: 0.859375vw;
	--10px: 0.78125vw;
}
}

/* SP ================================================== */
@media all and (max-width:768px){
:root {
	/* size */
	--63px: 16.8vw;
	--32px: 8.533333vw;
	--30px: 8vw;
	--26px: 6.933333vw;
	--24px: 6.4vw;
	--22px: 5.866667vw;
	--20px: 5.333333vw;
	--18px: 4.8vw;
	--16px: 4.266667vw;
	--14px: 3.733333vw;
	--13px: 3.466667vw;
	--12px: 3.2vw;
	--11px: 2.933333vw;
	--10px: 2.666667vw;
}
}

/* デフォルト 12 色（画像に合わせた近似値） */

/* 黒 */
.has-black-color { color: #000000; }
.has-black-background-color { background-color: #000000; }

/* グレー（薄め） */
.has-cyan-bluish-gray-color { color: #a8b0b8; } /* 画像の薄いグレー */
.has-cyan-bluish-gray-background-color { background-color: #a8b0b8; }

/* 白 */
.has-white-color { color: #ffffff; }
.has-white-background-color { background-color: #ffffff; }

/* ピンク（淡い） */
.has-pale-pink-color { color: #ffc1c8; }
.has-pale-pink-background-color { background-color: #ffc1c8; }

/* 赤 */
.has-vivid-red-color { color: #e45454; }
.has-vivid-red-background-color { background-color: #e45454; }

/* オレンジ */
.has-luminous-vivid-orange-color { color: #ff6600; }
.has-luminous-vivid-orange-background-color { background-color: #ff6600; }

/* 黄色 / ゴールド */
.has-luminous-vivid-amber-color { color: #fcb900; }
.has-luminous-vivid-amber-background-color { background-color: #fcb900; }

/* 緑系薄 */
.has-light-green-cyan-color { color: #4fd1a8; }
.has-light-green-cyan-background-color { background-color: #4fd1a8; }

/* 緑 */
.has-vivid-green-cyan-color { color: #00c46c; }
.has-vivid-green-cyan-background-color { background-color: #00c46c; }

/* 水色 */
.has-pale-cyan-blue-color { color: #7ac7ff; }
.has-pale-cyan-blue-background-color { background-color: #7ac7ff; }

/* 青 */
.has-vivid-cyan-blue-color { color: #2a78ff; }
.has-vivid-cyan-blue-background-color { background-color: #2a78ff; }

/* 紫 */
.has-vivid-purple-color { color: #a064ff; }
.has-vivid-purple-background-color { background-color: #a064ff; }


body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--bg_gray);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--black);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0em;
/*	font-feature-settings: "palt";*/
}
svg {
	display: block;
	overflow: hidden;
}
body.scroll-stop {
	overflow: hidden;
}
.serif {
	font-family: "Noto Serif JP", serif;
}

header {
	width: 100%;
	height: 110px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	pointer-events: none;
	background-color: var(--color--bg_gray);
}
.under_page header {
	background-color: var(--color--bg_gray);
}
	.under_page header::after {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background-color: var(--color--gray);
		position: absolute;
		bottom: -1px;
		left: 0;
		z-index: 1;
		opacity: 1;
	}
	.header__inner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 95.3125vw;
		height: 100%;
		margin: 0 auto;
	}
		.header__logo {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: auto;
			height: auto;
			margin: 0 auto 0 0;
			pointer-events: auto;
		}
			.header__logo__image {
				width: 183px;
				height: auto;
				margin-right: 19px;
			}
			.header__logo__copy {
				width: auto;
				height: auto;
				padding-top: 4px;
				font-size: 13px;
				font-weight: 400;
				line-height: 1;
				letter-spacing: 0.08em;
				color: var(--color--black);
				white-space: nowrap;
			}
		.global_nav {
			width: auto;
			height: auto;
		}
			.global_nav__contents {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				width: auto;
				height: auto;
			}
				.global_nav__menu_list {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					column-gap: 34px;
					width: auto;
					height: auto;
					margin-right: 35px;
				}
					.global_nav__menu_list__item {
						font-size: 13px;
						font-weight: 400;
						line-height: 1.5;
						letter-spacing: 0.08em;
						pointer-events: auto;
					}
						.global_nav__menu_list__item a {
							color: var(--color--black);
							position: relative;
						}
							.global_nav__menu_list__item a svg {
								display: none;
							}
							.global_nav__menu_list__item a::after {
								content: '';
								display: block;
								width: 0%;
								height: 1px;
								background-color: var(--color--black);
								position: absolute;
								bottom: -13px;
								left: 50%;
								transform: translate(-50%,0%);
								pointer-events: none;
							}
						@media (any-hover: hover) {
							.global_nav__menu_list__item a::after {
								transition: .3s;
							}
							.global_nav__menu_list__item a:hover::after {
								width: 100%;
							}
						}
				.global_nav__sns_list {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					column-gap: 22px;
					width: auto;
					height: auto;
					margin-right: 32px;
				}
					.global_nav__sns_list__item {
						width: auto;
						height: auto;
						pointer-events: auto;
					}
						.global_nav__sns_list__item a {
							width: auto;
							height: auto;
						}
							.global_nav__sns_list__item a svg {
								fill: var(--color--black);
								overflow: visible;
							}
							.global_nav__sns_list__item.youtube a svg {
								width: 24.49px;
								height: auto;
							}
							.global_nav__sns_list__item.instagram a svg {
								width: 19.98px;
								height: auto;
							}
				.global_nav__line_contact {
					width: auto;
					height: auto;
					pointer-events: auto;
				}
					.global_nav__line_contact__btn {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 167px;
						height: 38px;
						border: solid 1px var(--color--lp-linebtn);
						background-color: var(--color--lp-linebtn);
						font-size: 13px;
						font-weight: 400;
						line-height: 1;
						letter-spacing: 0.07em;
						color: var(--color--white);
					}
				@media (any-hover: hover) {
					.global_nav__line_contact__btn {
						transition: .3s;
					}
					.global_nav__line_contact__btn:hover {
						background-color: var(--color--bg_gray);
						color: var(--color--lp-linebtn);
					}
				}

				.global_nav__sp_line_contact {
					display: none
				}

footer {
	width: 100%;
	height: auto;
	background-image: url('../image/footer-bg@pc.webp');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
	.footer__inner {
		width: 100%;
		height: auto;
	}
		.footer__contact {
			width: 100%;
			height: auto;
			overflow: hidden;
		}
			.footer__contact__inner {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				width: 100%;
				height: auto;
				aspect-ratio: 1280 / 282;
				position: relative;
			}
				.footer__contact__txt {
					width: auto;
					height: auto;
					padding-right: 1.875vw;
					font-family: "Noto Serif", serif;
					font-size: var(--94px);
					font-weight: 400;
					line-height: 1;
					letter-spacing: 0.02em;
					color: var(--color--white);
					white-space: nowrap;
					animation: footer_contact_infinity_scroll 30s infinite linear 0.5s both;
				}
				@keyframes footer_contact_infinity_scroll {
					from {
						transform: translateX(0);
					}
					to {
						transform: translateX(-100%);
					}
				}
				.footer__contact__inner::before {
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					background-color: #fff;
					opacity: 0;
					mix-blend-mode: lighten;
					position: absolute;
					top: 0;
					left: 0;
					z-index: 1;
				}
			@media (any-hover: hover) {
				.footer__contact__inner::before {
					transition: .8s;
				}
				.footer__contact__inner:hover::before {
					opacity: .2;
				}
			}

		.footer__body {
			width: 100%;
			height: auto;
			position: relative;
		}
			.footer__body::before,
			.footer__body::after {
				content: '';
				display: block;
				width: 100%;
				height: 1px;
				background-color: var(--color--white);
				opacity: .25;
				position: absolute;
				left: 0;
				z-index: 1;
			}
			.footer__body::before {
				top: 0;
			}
			.footer__body::after {
				bottom: 0;
			}
			.footer__menu {
				display: flex;
				justify-content: space-between;
				align-items: stretch;
				width: 100%;
				height: auto;
			}
				.footer__menu__item {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 25.15625vw;
					height: auto;
					padding: 8.75vw 0;
					position: relative;
				}
					.footer__menu__item::before {
						content: '';
						display: block;
						width: 1px;
						height: calc(100% - 2px);
						background-color: var(--color--white);
						opacity: .25;
						position: absolute;
						top: 1px;
						right: 0;
						transform: translate(50%,0%);
						z-index: 1;
					}
					.footer__menu__item:last-of-type::before {
						display: none;
					}
				.footer__menu__item._logo {
					width: auto;
					flex: 1;
				}
					.footer__logo {
						display: block;
						width: 14.732812vw;
						height: auto;
					}
					.footer__menu__item__inner {
						width: auto;
						height: auto;
					}
						.footer__menu__item__heading {
							width: 100%;
							height: auto;
							margin: 0 auto 2.34375vw;
							font-family: "Noto Sans", sans-serif;
							font-size: var(--16px);
							font-weight: 400;
							line-height: 1.5;
							letter-spacing: 0.04em;
							color: var(--color--white);
						}
						.footer__menu__item__m_list {
							width: 100%;
							height: auto;
						}
							.footer__menu__item__m_list__item {
								font-size: var(--16px);
								font-weight: 400;
								line-height: 1.5;
								letter-spacing: 0.08em;
							}
							.footer__menu__item__m_list__item:not(:last-of-type) {
								margin-bottom: 2.34375vw;
							}
								.footer__menu__item__m_list__item a {
									display: inline-block;
									padding-left: 2.578125vw;
									color: var(--color--white);
									position: relative;
								}
								.footer__menu__item__m_list__item a::after {
									content: '';
									display: block;
									width: 100%;
									height: 1px;
									background-color: var(--color--white);
									position: absolute;
									bottom: -10px;
									left: 0;
									z-index: 1;
									pointer-events: none;
									opacity: 0;
									transform: scale(0,1);
									transform-origin: top left;
								}
							@media (any-hover: hover) {
								.footer__menu__item__m_list__item a::after {
									transition: .3s;
								}
								.footer__menu__item__m_list__item a:hover::after {
									opacity: 1;
									transform: scale(1,1);
								}
							}
									.footer__menu__item__m_list__item a .arrow_wrap {
										pointer-events: none;
									}
										.footer__menu__item__m_list__item a .arrow_wrap svg {
											width: 0.905469vw;
											height: auto;
											fill: var(--color--white);
											position: absolute;
											top: 0.664062vw;
											left: 0;
											z-index: 1;
										}
										.footer__menu__item__m_list__item a .arrow_wrap svg:nth-of-type(1) {
											opacity: 1;
											transform: translate(0%,0%);
										}
										.footer__menu__item__m_list__item a .arrow_wrap svg:nth-of-type(2) {
											opacity: 0;
											transform: translate(-120%,0%);
										}
									@media (any-hover: hover) {
										.footer__menu__item__m_list__item a .arrow_wrap svg {
											transition: .3s;
										}
										.footer__menu__item__m_list__item a:hover .arrow_wrap svg:nth-of-type(1) {
											opacity: 0;
											transform: translate(120%,0%);
										}
										.footer__menu__item__m_list__item a:hover .arrow_wrap svg:nth-of-type(2) {
											opacity: 1;
											transform: translate(0%,0%);
											transition-delay: .1s;
										}
									}

		.footer__bottom {
			width: 100%;
			height: auto;
			padding: 3.59375vw 0;
		}
			.footer__copyright {
				width: 100%;
				height: auto;
				font-size: var(--10px);
				font-weight: 400;
				line-height: 1.5;
				letter-spacing: 0.08em;
				text-align: center;
				color: var(--color--white);
			}

/* 共通項目 */
.section_heading {
	width: auto;
	height: auto;
}
	.section_heading__main {
		width: 100%;
		height: auto;
		margin: 0 auto 1.015625vw;
		font-family: "Noto Serif JP", serif;
		font-size: var(--26px);
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0.06em;
		color: var(--color--black);
		opacity: 0;
		transition: .8s;
	}
	.run .section_heading__main {
		opacity: 1;
	}
		.section_heading__main span {
			display: inline-block;
			opacity: 0;
			transform: translate(0%,20%);
			transition: .8s;
		}
		.run .section_heading__main span {
			opacity: 1;
			transform: translate(0%,0%);
		}
	.section_heading__sub {
		width: 100%;
		height: auto;
		font-family: "Noto Serif", serif;
		font-size: var(--14px);
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 0.04em;
		color: var(--color--heading_sub);
		opacity: 0;
		transition: .8s;
	}
	.run .section_heading__sub {
		opacity: 1;
	}
		.section_heading__sub span {
			display: inline-block;
			opacity: 0;
			transform: translate(0%,20%);
			transition: .8s;
		}
		.run .section_heading__sub span {
			opacity: 1;
			transform: translate(0%,0%);
		}

.btn {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: var(--16px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--color--black);
	position: relative;
}
	.btn::after {
		content: '';
		display: none;
		width: 100%;
		height: 1px;
		background-color: var(--color--black);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		pointer-events: none;
	}
	.circle_arrow,
	.circle_plus {
		width: 2.1875vw;
		height: 2.1875vw;
		margin: 0 0 0 auto;
	}
	.circle_arrow.left {
		margin: 0 auto 0 0;
		transform: scale(-1,1);
	}
	.btn span {
		position: relative;
		left: 0;
	}
@media (any-hover: hover) {
	.btn span {
		transition: .4s;
	}
	.btn:hover span {
		left: 0.78125vw;
		animation-name: btn_color;
		animation-duration: .3s;
		animation-iteration-count: 1;
		animation-timing-function: ease;
	}
	.circle_arrow,
	.circle_plus {
		transform: scale(1);
	}
	.btn:hover .circle_arrow,
	.btn:hover .circle_plus {
		animation-name: btn_arrow;
		animation-duration: .55s;
		animation-iteration-count: 1;
		animation-timing-function: ease;
		animation-delay: .4s;
		animation-fill-mode: forwards;
	}
	.btn:hover .circle_arrow.left {
		animation-name: btn_arrow_left;
		animation-duration: .55s;
		animation-iteration-count: 1;
		animation-timing-function: ease;
		animation-delay: .4s;
		animation-fill-mode: forwards;
	}
}
	@keyframes btn_color {
		0% {
			color: var(--color--black);
		}
		50% {
			color: var(--color--gray);
		}
		100% {
			color: var(--color--black);
		}
	}
	@keyframes btn_arrow {
		0% {
			transform: scale(1);
			opacity: 1;
		}
		50% {
			transform: scale(1.2);
			opacity: .6;
		}
		100% {
			transform: scale(1);
			opacity: 1;
		}
	}
	@keyframes btn_arrow_left {
		0% {
			transform: scale(-1,1);
			opacity: 1;
		}
		50% {
			transform: scale(-1.2,1.2);
			opacity: .6;
		}
		100% {
			transform: scale(-1,1);
			opacity: 1;
		}
	}

#under_page__top {
	width: 100%;
	height: auto;
	padding-top: 110px;
}
	.under_page__top__heading {
		width: 100%;
		height: auto;
		padding: 7.578125vw 0 3.515625vw;
	}
		.under_page__top__heading__inner {
			width: 85.9375%;
			height: auto;
			margin: 0 auto;
		}
	.under_page__top__image {
		width: 100%;
		height: auto;
		aspect-ratio: 1280 / 690;
		overflow: hidden;
		opacity: 0;
		transition: .6s;
		transition-delay: .44s;
	}
	.run .under_page__top__image {
		opacity: 1;
	}
		.under_page__top__image__wrap {
			width: 100%;
			height: 105%;
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			filter: blur(5px);
			transition: filter .8s;
			transition-delay: .44s;
		}
		.run .under_page__top__image__wrap {
			filter: blur(0px);
		}

#page__loop_image {
	width: 100%;
	height: auto;
	background-color: var(--color--white);
	overflow: hidden;
	position: relative;
}
#page__loop_image::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color--black);
	opacity: .07;
	mix-blend-mode: darken;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
	.page__loop_image__inner {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: auto;
		height: auto;
	}
		.page__loop_image__wrap {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: auto;
			height: 26.796875vw;
		}
		.run .page__loop_image__wrap {
			animation: infinity_scroll 120s infinite linear 0.5s both;
		}
		@keyframes infinity_scroll {
			from {
				transform: translateX(0);
			}
			to {
				transform: translateX(-100%);
			}
		}
		.page__loop_image__wrap img {
			width: auto;
			height: 100%;
			opacity: 0;
			transform: scale(0.9);
			transition: .8s;
		}
		.page__loop_image__wrap img:nth-of-type(2) {
			transition-delay: .04s;
		}
		.page__loop_image__wrap img:nth-of-type(3) {
			transition-delay: .08s;
		}
		.page__loop_image__wrap img:nth-of-type(4) {
			transition-delay: .12s;
		}
		.run .page__loop_image__wrap img {
			opacity: 1;
			transform: scale(1);
		}

#reason {
	width: 100%;
	height: auto;
	padding: 5.46875vw 0 0;
	background-color: var(--color--reason_gray);
}
	.reason__inner {
		width: 100%;
		height: auto;
	}
		#reason .section_heading {
			text-align: center;
			margin-bottom: 5.625vw;
		}
			#reason .section_heading__main {
				color: var(--color--white);
			}
		.reason__contents {
			width: 100%;
			height: auto;
			position: relative;
		}
			.reason__contents::before {
				content: '';
				display: block;
				width: 100%;
				height: 1px;
				background-color: var(--color--white);
				opacity: .19;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
				transform-origin: center left;
				transform: scale(0,1);
				transition: all 1s;
			}
			.run.reason__contents::before {
				transform: scale(1,1);
			}
			.reason__contents::after {
				content: '';
				display: block;
				width: 100%;
				height: 1px;
				background-color: var(--color--white);
				opacity: .19;
				position: absolute;
				bottom: 0;
				left: 0;
				z-index: 1;
				transform-origin: center left;
				transform: scale(0,1);
				transition: all 1s;
				transition-delay: .2s;
			}
			.run.reason__contents::after {
				transform: scale(1,1);
			}
			.reason__swiper {
				display: block;
				width: 100%;
				height: auto;
			}
				.reason__list {
					display: flex;
					justify-content: space-between;
					align-items: stretch;
					width: 100%;
					height: auto;
					counter-reset: number 0;
				}
					.reason__list__item {
						width: 25%;
						height: auto;
						padding: 4.0625vw 0 3.75vw;
						position: relative;
					}
						.reason__list__item:not(:last-of-type)::after {
							content: '';
							display: block;
							width: 1px;
							height: calc(100% - 2px);
							background-color: var(--color--white);
							opacity: .19;
							position: absolute;
							top: 1px;
							right: 0;
							transform: translate(50%,0%);
							z-index: 1;
							transform-origin: top center;
							transform: scale(1,0);
							transition: all .6s;
						}
						.run .reason__list__item::after {
							transform: scale(1,1);
						}
						.reason__list__item:nth-of-type(1)::after {
							transition-delay: .2s;
						}
						.reason__list__item:nth-of-type(2)::after {
							transition-delay: .4s;
						}
						.reason__list__item:nth-of-type(3)::after {
							transition-delay: .6s;
						}
						.reason__list__item__ttl {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: auto;
							margin: 0 auto 1.796875vw;
							font-family: "Noto Serif JP", serif;
							font-size: var(--22px);
							font-weight: 500;
							line-height: 1;
							letter-spacing: 0.08em;
							color: var(--color--white);
							opacity: 0;
							transform: translate(0%,20px);
							transition: .6s;
						}
						.reason__list__item:nth-of-type(1) .reason__list__item__ttl {
							transition-delay: .25s;
						}
						.reason__list__item:nth-of-type(2) .reason__list__item__ttl {
							transition-delay: .35s;
						}
						.reason__list__item:nth-of-type(3) .reason__list__item__ttl {
							transition-delay: .45s;
						}
						.reason__list__item:nth-of-type(4) .reason__list__item__ttl {
							transition-delay: .55s;
						}
						.run .reason__list__item__ttl {
							opacity: 1;
							transform: translate(0%,0%);
						}
							.reason__list__item__ttl::before {
								counter-increment: number 1;
								content: counter(number, decimal-leading-zero) "."; 
								margin-right: 1.09375vw;
								font-family: "Noto Serif", serif;
								font-size: var(--32px);
								font-weight: 400;
								line-height: 1.34375;
								letter-spacing: 0;
								color: #797979;
							}
						.reason__list__item__image {
							width: 18.75vw;
							height: auto;
							margin: 0 auto 2.265625vw;
							aspect-ratio: 1 / 1;
							opacity: 0;
							transform: translate(0%,20px);
							transition: .6s;
						}
						.reason__list__item:nth-of-type(1) .reason__list__item__image {
							transition-delay: .3s;
						}
						.reason__list__item:nth-of-type(2) .reason__list__item__image {
							transition-delay: .4s;
						}
						.reason__list__item:nth-of-type(3) .reason__list__item__image {
							transition-delay: .5s;
						}
						.reason__list__item:nth-of-type(4) .reason__list__item__image {
							transition-delay: .6s;
						}
						.run .reason__list__item__image {
							opacity: 1;
							transform: translate(0%,0%);
						}
						.reason__list__item__txt {
							width: 100%;
							height: auto;
							font-size: var(--14px);
							font-weight: 300;
							line-height: 2;
							letter-spacing: 0.08em;
							text-align: center;
							color: var(--color--white);
							opacity: 0;
							transform: translate(0%,20px);
							transition: .6s;
						}
						.reason__list__item:nth-of-type(1) .reason__list__item__txt {
							transition-delay: .35s;
						}
						.reason__list__item:nth-of-type(2) .reason__list__item__txt {
							transition-delay: .45s;
						}
						.reason__list__item:nth-of-type(3) .reason__list__item__txt {
							transition-delay: .55s;
						}
						.reason__list__item:nth-of-type(4) .reason__list__item__txt {
							transition-delay: .65s;
						}
						.run .reason__list__item__txt {
							opacity: 1;
							transform: translate(0%,0%);
						}
		.reason__contents__btn_wrap {
			width: 100%;
			height: auto;
		}
			.reason__contents__btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 10.9375vw;
				font-size: var(--18px);
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.04em;
				color: var(--color--white);
				opacity: 0;
				transform: translate(0%,20px);
				transition: .6s;
			}
			.run .reason__contents__btn {
				opacity: 1;
				transform: translate(0%,0%);
			}
		@media (any-hover: hover) {
			.reason__contents__btn {
				transition: .4s;
			}
			.reason__contents__btn:hover {
				background-color: #3B3B3B;
			}
		}
				.reason__contents__btn svg {
					width: 2.1875vw;
					height: auto;
					margin-left: 2.5vw;
					fill: var(--color--white);
					overflow: initial;
				}

#area {
	width: 100%;
	height: auto;
}
	.area__inner {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		width: 100%;
		height: auto;
	}
		.area__contents {
			width: 54.21875vw;
			height: auto;
			position: relative;
		}
			.area__contents::after {
				content: '';
				display: block;
				width: 1px;
				height: 100%;
				background-color: var(--color--black);
				opacity: .19;
				position: absolute;
				top: 0;
				right: 0;
				z-index: 1;
				transform-origin: top center;
				transform: translate(50%,0%) scale(1,0);
				transition: all .6s;
			}
			.active.area__contents::after {
				transform: translate(50%,0%) scale(1,1);
			}
			.area__contents__item {
				width: 100%;
				height: auto;
				padding: 5.15625vw 8.203125vw 4.6875vw;
				position: relative;
			}
				.area__contents__item:not(:last-of-type)::after {
					content: '';
					display: block;
					width: calc(100% - 0.5px);
					height: 1px;
					background-color: var(--color--black);
					opacity: .19;
					position: absolute;
					bottom: 0;
					left: 0;
					transform: translate(0%,50%);
					z-index: 1;
					transform-origin: center left;
					transform: translate(0%,50%) scale(0,1);
					transition: all .6s;
				}
				.run.area__contents__item::after {
					transform: translate(0%,50%) scale(1,1);
				}
				#area .section_heading {
					margin-bottom: 1.640625vw;
				}
				.area__contents__item__txt {
					width: 100%;
					height: auto;
					font-size: var(--14px);
					font-weight: 400;
					line-height: 2.2857;
					letter-spacing: 0.08em;
					color: var(--color--black);
					opacity: 0;
					transform: translate(0%,20px);
					transition: .6s;
					transition-delay: .5s;
				}
				.run .area__contents__item__txt {
					opacity: 1;
					transform: translate(0%,0%);
				}
				.area__contents__item__sp_image {
					display: none;
				}
				.area__contents__item__btn_wrap {
					width: 100%;
					height: auto;
					margin: 1.5625vw auto 0;
					opacity: 0;
					transform: translate(0%,20px);
					transition: .6s;
					transition-delay: .6s;
				}
				.run .area__contents__item__btn_wrap {
					opacity: 1;
					transform: translate(0%,0%);
				}
					.area__contents__item__btn {
						width: 18.90625vw;
						height: 2.1875vw;
						font-size: var(--18px);
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.04em;
						color: var(--color--black);
					}
						.area__contents__item__btn svg {
							width: 2.1875vw;
							height: auto;
							margin: 0 0 0 auto;
							fill: var(--color--black);
							overflow: initial;
						}
		.area__map {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 45.78125vw;
			height: auto;
		}
			.area__map__image {
				width: 35.096094vw;
				height: auto;
				opacity: 0;
				transform: translate(0%,20px);
				transition: .6s;
			}
			.run .area__map__image {
				opacity: 1;
				transform: translate(0%,0%);
			}

/* PC ================================================== */
@media all and (max-width: 1028px){
header {
	height: 56px;
}
header.nav_open {
	background-color: var(--color--bg_gray);
}
	header::after {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background-color: var(--color--gray);
		position: absolute;
		bottom: -1px;
		left: 0;
		z-index: 1;
		opacity: 0;
		transition: .5s;
	}
	header.nav_open::after {
		opacity: 1;
	}
	.header__inner {
		justify-content: space-between;
		width: 90%;
	}
		.header__logo {
			margin: 0;
		}
			.header__logo__image {
				width: 107px;
				margin-right: 0;
			}
			.header__logo__copy {
				display: none;
			}
		.global_nav {
			/* display: none; */
			width: 100%;
			height: 100svh;
			padding: 56px 0 0;
			position: fixed;
			top: 0;
			left: 0;
			z-index: -1;
			overflow: hidden;
		}
			.global_nav__contents {
				flex-direction: column;
				width: 100%;
				height: auto;
				padding: 22px 0 56px;
				background-color: #F0F0EF;
				border-bottom: solid 1px #C4C4C3;
				opacity: 0;
				transform: translate(0%,-100%);
				transition: .5s;
				pointer-events: none;
			}
			.nav_open .global_nav__contents {
				opacity: 1;
				transform: translate(0%,0%);
				pointer-events: auto;
			}
				.global_nav__menu_list {
					display: block;
					width: 80%;
					margin: 0 auto 30px;
					order: 1;
				}
					.global_nav__menu_list__item {
						width: 100%;
						height: auto;
						font-size: 18px;
						border-bottom: solid 1px var(--color--light_gray);
					}
						.global_nav__menu_list__item a {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: 100%;
							height: 86px;
						}
							.global_nav__menu_list__item a svg {
								display: block;
								width: 16px;
								height: auto;
								overflow: auto;
								position: absolute;
								top: 50%;
								right: 0;
								z-index: 1;
								transform: translate(0%,-50%);
							}
							.global_nav__menu_list__item a::after {
								display: none;
							}
				.global_nav__sns_list {
					justify-content: center;
					column-gap: 25px;
					margin: 0 auto;
					order: 3;
				}
							.global_nav__sns_list__item.youtube a svg {
								width: 36.53px;
							}
							.global_nav__sns_list__item.instagram a svg {
								width: 29.8px;
							}
				.global_nav__line_contact {
					margin: 0 auto 41px;
					order: 2;
				}
					.global_nav__line_contact__btn {
						width: 248px;
						height: 56px;
						font-size: 18px;
					}

					.global_nav__sp_line_contact {
						display: block;
						width: 120px;
						height: auto;
						margin: 0 20px 0 auto;
						pointer-events: auto
					}

					.global_nav__sp_line_contact__btn {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 120px;
						height: 32px;
						border: solid 1px var(--color--lp-linebtn);
						background-color: var(--color--lp-linebtn);
						font-size: 10px;
						font-weight: 400;
						line-height: 1;
						letter-spacing: .07em;
						color: var(--color--white)
					}
			.hamburger {
				width: 36px;
				height: 36px;
				pointer-events: auto;
			}
				.hbg_btn {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: 100%;
					padding: 0;
					outline: none;
					border: none;
				}
					.hbg_btn_line {
						display: block;
						width: 100%;
						height: 1px;
						position: relative;
					}
						.hbg_btn_line::before,
						.hbg_btn_line::after {
							display: block;
							content: '';
							width: 100%;
							height: 1px;
							background-color: var(--color--black);
							position: absolute;
							left: 0;
						}
						.hbg_btn_line::before {
							top: -6px;
						}
						.hbg_btn_line::after {
							bottom: -6px;
						}
					/* 開く時の処理 */
						.open .hbg_btn_line::before {
							animation: hbg_btn-line_before-open .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
						}
						.open .hbg_btn_line::after {
							animation: hbg_btn-line_after-open .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
						}
							@keyframes hbg_btn-line_before-open {
								0% {
									top: -6px;
									transform: translate(0%,0%);
								}
								60% {
									top: 0px;
									transform: translate(0%,0%) rotate(0deg);
								}
								61% {
									top: 0px;
								}
								100% {
									top: 0px;
									transform: translate(0%,0%) rotate(30deg);
								}
							}
							@keyframes hbg_btn-line_after-open {
								0% {
									bottom: -6px;
									transform: translate(0%,0%);
								}
								60% {
									bottom: 0px;
									transform: translate(0%,0%) rotate(0deg);
								}
								61% {
									bottom: 0px;
								}
								100% {
									bottom: 0px;
									transform: translate(0%,0%) rotate(-30deg);
								}
							}
					/* 閉じる時の処理 */
						.close .hbg_btn_line::before {
							animation: hbg_btn-line_before-close .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
						}
						.close .hbg_btn_line::after {
							animation: hbg_btn-line_after-close .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
						}
							@keyframes hbg_btn-line_before-close {
								0% {
									top: 0px;
									transform: translate(0%,0%) rotate(30deg);
								}
								60% {
									top: 0px;
								}
								61% {
									top: 0px;
									transform: translate(0%,0%) rotate(0deg);
								}
								100% {
									top: -6px;
									transform: translate(0%,0%);
								}
							}
							@keyframes hbg_btn-line_after-close {
								0% {
									bottom: 0px;
									transform: translate(0%,0%) rotate(-30deg);
								}
								60% {
									bottom: 0px;
								}
								61% {
									bottom: 0px;
									transform: translate(0%,0%) rotate(0deg);
								}
								100% {
									bottom: -6px;
									transform: translate(0%,0%);
								}
							}

#under_page__top {
	padding-top: 56px;
}
}

@media all and (min-width: 769px){
.tablet,.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_tablet {display: none;}
.view_pc {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc,.sp {display: none;}
.tablet {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: none;}
.view_tablet {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}


footer {
	background-image: url('../image/footer-bg@sp.webp');
}
	.footer__inner {

	}
		.footer__contact {

		}
			.footer__contact__inner {
				aspect-ratio: 375 / 160;
			}
				.footer__contact__txt {
					padding-right: var(--16px);
					font-size: var(--63px);
					animation: footer_contact_infinity_scroll 45s infinite linear 0.5s both;
				}
		.footer__body {

		}
			.footer__body::after {
				display: none;
			}
			.footer__menu {
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: center;
			}
				.footer__menu__item {
					width: 100%;
					height: auto;
					padding: 8.533333vw 0;
				}
					.footer__menu__item::before {
						width: 100%;
						height: 1px;
						top: auto;
						bottom: 0px;
						transform: translate(0%,0%);
					}
					.footer__menu__item:last-of-type::before {
						display: block;
					}
					.footer__menu__item._logo::before {
						display: none;
					}
				.footer__menu__item._logo {
					width: 100%;
					padding: 9.333333vw 0 4vw;
					flex: initial;
					order: 1;
				}
					.footer__logo {
						width: 44.554667vw;
					}
					.footer__menu__item__inner {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						width: 100%;
						padding-left: 7.466667vw;
					}
						.footer__menu__item__heading {
							width: auto;
							margin: 0 9.653333vw 0 0;
							font-size: var(--14px);
							line-height: 2.214;
							-webkit-writing-mode: vertical-rl;
							-moz-writing-mode: vertical-rl;
							-ms-writing-mode: tb-rl;
							-ms-writing-mode: vertical-rl;
							writing-mode: vertical-rl;
							display: inline-block;
							text-align: left;
						}
						.footer__menu__item__m_list {
							width: auto;
						}
							.footer__menu__item__m_list__item {
								font-size: var(--14px);
							}
							.footer__menu__item__m_list__item:not(:last-of-type) {
								margin-bottom: 4.266667vw;
							}
								.footer__menu__item__m_list__item a {
									padding-left: 8.746667vw;
								}
										.footer__menu__item__m_list__item a .arrow_wrap svg {
											width: 3.088vw;
											top: 1.493333vw;
										}
		.footer__bottom {
			padding: 0 0 9.6vw;
		}

/* 共通項目 */
.section_heading {
	width: 100%;
	text-align: center;
}
	.section_heading__main {
		margin: 0 auto 3.6vw;
	}

.btn {
	font-size: var(--16px);
}
	.circle_arrow,
	.circle_plus {
		width: 7.466667vw;
		height: 7.466667vw;
	}

/* under_page__top */
	.under_page__top__heading {
		padding: 15.2vw 0 10.133333vw;
	}
		.under_page__top__heading__inner {
			width: 80%;
		}
			#under_page__top .section_heading {
				text-align: left;
			}
	.under_page__top__image {
		aspect-ratio: 375 / 300;
	}
		.under_page__top__image__wrap {
			height: 105%;
		}





/* page__loop_image */
		.page__loop_image__wrap {
			height: 39.466667vw;
		}

#reason {
	padding: 13.866666vw 0 0;
}
		#reason .section_heading {
			margin-bottom: 10.666666vw;
		}
		.reason__contents {
			width: 100%;
			height: auto;
		}
			.reason__swiper {
				width: auto;
			}
				.reason__list {
					width: auto;
				}
					.reason__list__item {
						width: 100%;
						padding: 6.666666vw 0 7.466666vw;
					}
						.reason__list__item__ttl {
							margin: 0 auto 6.24vw;
						}
							.reason__list__item__ttl::before {
								margin-right: 3.733333vw;
							}
						.reason__list__item__image {
							width: 64vw;
							margin: 0 auto 4.8vw;
						}
		.reason__contents__btn_wrap {
			width: 100%;
			height: auto;
		}
			.reason__contents__btn {
				height: 26.666666vw;
			}
				.reason__contents__btn svg {
					width: 7.466666vw;
					margin-left: 9.533333vw;
				}

/* area */
	.area__inner {
		display: block;
	}
		.area__contents {
			width: 100%;
		}
			.area__contents::after {
				display: none;
			}
			.area__contents__item {
				padding: 14.133333vw 10.133333vw;
			}
				.area__contents__item:not(:last-of-type)::after {
					width: 100%;
				}
				#area .section_heading {
					text-align: left;
					margin-bottom: 5.333333vw;
				}
				.area__contents__item__txt {
					line-height: 1.85;
					letter-spacing: 0.04em;
				}
				.area__contents__item__sp_image {
					display: block;
					width: 100%;
					height: auto;
					margin: 8.8vw auto 0;
					opacity: 0;
					transform: translate(0%,20px);
					transition: .6s;
					transition-delay: .6s;
				}
				.run .area__contents__item__sp_image {
					opacity: 1;
					transform: translate(0%,0%);
				}
				.area__contents__item__btn_wrap {
					margin: 8.266667vw auto 0;
				}
					.area__contents__item__btn {
						width: 64.533333vw;
						height: 7.466667vw;
					}
						.area__contents__item__btn svg {
							width: 7.466667vw;
						}
		.area__map {
			display: none;
		}
}

/* SP ================================================== */
@media all and (max-width: 575px){
.pc,.tablet {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_tablet {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}