@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
:root {
/* 共通設定 */
	--color--black: #111014;
	--color--white: #ffffff;
	--color--gray: #CDCED2;
	--color--red: #E71B48;
	--color--navy : #465D77;
	--color--pink: #FDE8E8;
	--color--red_gradient01: linear-gradient(40deg, rgba(116,14,36,0) 22%, rgba(195,16,56,1) 100%);
	--color--red_gradient02: linear-gradient(13deg, rgba(227,220,221,1) -7%, rgba(150,41,66,1) 100%);
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--white);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--black);
	font-family: "aralet-n", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
body.scroll-stop {
	overflow: hidden;
}
.zen_old_mincho {
	font-family: "Zen Old Mincho", serif;
}
br.resp {
	display: none;
}

footer {
	width: 100%;
	height: auto;
	aspect-ratio: 1280 / 620;
}
	.footer__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.footer__contact {
		width: 50%;
		height: 100%;
		background: linear-gradient(43deg, rgba(35,22,28,1) 0%, rgba(143,161,184,1) 100%);
		position: relative;
	}
		.footer__contact__bg {
			width: 100%;
			height: 100%;
			background-image: url('../image/footer-contact_texture.webp');
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			opacity: .4;
			mix-blend-mode: hard-light;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		.footer__contact__inner {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: 100%;
			overflow: hidden;
			position: relative;
			z-index: 2;
		}
			.footer__contact .section_heading {
				color: var(--color--white);
				position: absolute;
				top: 50%;
				left: 0%;
				transform: translate(0%,-50%);
				z-index: 5;
				opacity: 0;
				transition: opacity 1.2s, color .8s;
				transition-delay: opacity .6s;
			}
			@media (any-hover: hover) {
				.footer__contact .section_heading {
					color: var(--color--white);
				}
				.footer__contact .footer__contact__inner:hover .section_heading {
					color: var(--color--black);
				}
			}
			.run.footer__contact .section_heading {
				opacity: 1;
			}
				.footer__contact .section_heading__en {
					font-size: 90px;
				}
				.footer__contact .section_heading__ja {
					font-size: 16px;
				}
			.footer__contact__sun {
				width: calc((470 / 640) * 100%);
				height: auto;
				aspect-ratio: 1 / 1;
				border-radius: 9999px;
				overflow: hidden;
				position: relative;
				z-index: 4;
				opacity: 0;
				transition: opacity 1.2s, transform .8s;
				transition-delay: opacity .6s;
			}
			.run .footer__contact__sun {
				opacity: 1;
			}
			@media (any-hover: hover) {
				.footer__contact__sun {
					transform: scale(1);
				}
				.footer__contact__inner:hover .footer__contact__sun {
					transform: scale(1.06);
				}
			}
				.footer__contact__sun__body {
					width: 100%;
					height: 100%;
					background: linear-gradient(40deg, rgba(116,14,36,0) 0%, rgba(116,14,36,0) 68%, rgba(195,16,56,1) 100%);
					background-size: 400% 100%;
					position: relative;
					z-index: 1;
				}
				.run .footer__contact__sun__body {
					animation: contact_sun 2.2s ease forwards;
				}
				@keyframes contact_sun {
					0%{
						background-position: 0% 50%
					}
					100%{
						background-position: 100% 50%
					}
				}
				.footer__contact__sun__texture {
					width: 100%;
					height: 100%;
					opacity: .57;
					mix-blend-mode: hard-light;
					position: absolute;
					top: 0;
					left: 0;
					z-index: 2;
				}
			.footer__contact__obj {
				height: auto;
				position: absolute;
				opacity: 0;
				transition: opacity 1.2s;
			}
			.footer__contact__obj._01 {
				width: calc((248.43 / 640) * 100%);
				top: calc((26.2 / 620) * 100%);
				left: calc((23 / 640) * 100%);
				z-index: 2;
			}
			.run .footer__contact__obj._01 {
				opacity: .1;
			}
			.footer__contact__obj._02 {
				width: calc((587.35 / 640) * 100%);
				top: calc((187 / 620) * 100%);
				left: calc((384.3 / 640) * -100%);
				z-index: 1;
				transition-delay: .2s;
			}
			.run .footer__contact__obj._02 {
				opacity: .16;
			}
			.footer__contact__obj._03 {
				width: calc((447.83 / 640) * 100%);
				bottom: calc((74.1 / 620) * -100%);
				right: calc((32.4 / 640) * 100%);
				z-index: 1;
				transition-delay: .4s;
			}
			.run .footer__contact__obj._03 {
				opacity: .1;
			}
	.footer__contents {
		width: 50%;
		height: 100%;
		position: relative;
	}
		.footer__contents__bg {
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
			.footer__contents__bg::before,
			.footer__contents__bg::after {
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}
			.footer__contents__bg::before {
				background-image: url('../image/footer-contents_texture_01.webp');
				opacity: .2;
				z-index: 2;
			}
			.footer__contents__bg::after {
				background-image: url('../image/footer-contents_texture_02.webp');
				opacity: .8;
				z-index: 1;
			}
			.footer__wave {
				width: 100%;
				height: auto;
				mix-blend-mode: multiply;
				position: absolute;
				bottom: 0;
				left: 0;
			}
			.footer__wave._01 {
				opacity: 1;
				z-index: 3;
			}
			.footer__wave._02 {
				opacity: .4;
				z-index: 2;
			}
				.footer__wave img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center top;
				}
		.footer__logo {
			width: calc((188.31 / 640) * 100%);
			height: auto;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: 2;
			opacity: 0;
			transition: 1.2s;
			transition-delay: .6s;
		}
		.run .footer__logo {
			opacity: 1;
		}
		.footer__copyright {
			width: auto;
			height: auto;
			font-size: 10px;
			font-weight: 400;
			line-height: calc(11 / 10);
			letter-spacing: 0.1em;
			color: var(--color--black);
			-webkit-writing-mode: vertical-rl;
			-moz-writing-mode: vertical-rl;
			-ms-writing-mode: tb-rl;
			-ms-writing-mode: vertical-rl;
			writing-mode: vertical-rl;
			position: absolute;
			top: 50%;
			right: calc((40 / 640) * 100%);
			transform: translate(0%,-50%) rotate(180deg);
			z-index: 2;
			opacity: 0;
			transition: 1.2s;
			transition-delay: 1s;
		}
		.run .footer__copyright {
			opacity: 1;
		}

.section_heading {
	width: 100%;
	height: auto;
}
	.section_heading__en {
		width: 100%;
		height: auto;
		font-family: "Zen Old Mincho", serif;
		font-size: 61px;
		font-weight: 400;
		line-height: calc(89 / 61);
		letter-spacing: 0.02em;
		text-align: center;
	}
	.section_heading__ja {
		width: 100%;
		height: auto;
		font-size: 14px;
		font-weight: 400;
		line-height: cacl(15 / 14);
		letter-spacing: 0.2em;
		text-align: center;
	}

/* PC ================================================== */
@media all and (max-width: 1000px){
br._1000 {
	display: inline-block;
}
				.footer__contact .section_heading__en {
					font-size: calc((72 / 1000) * 100vw);
				}
				.footer__contact .section_heading__ja {
					font-size: 14px;
				}
}

@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 */
	.section_heading__en {
		font-size: 42px;
	}
	.section_heading__ja {
		font-size: 14px;
	}
}
@media all and (max-width: 660px){
br._660 {
	display: inline-block;
}
}

/* 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{}

footer {
	aspect-ratio: initial;
}
	.footer__inner {
		display: block;
		height: auto;
	}
	.footer__contact {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
			.footer__contact .section_heading {
				transition-delay: opacity 0s;
			}
			.footer__contact__sun {
				transition-delay: opacity 0s;
			}
				.footer__contact .section_heading__en {
					font-size: calc((90 / 575) * 100vw);
				}
				.footer__contact .section_heading__ja {
					font-size: calc((16 / 575) * 100vw);
				}
	.footer__contents {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
		.footer__logo {
			transition-delay: 0s;
		}
		.footer__copyright {
			transition-delay: .4s;
		}
}

@media all and (max-width: 520px){
br._520 {
	display: inline-block;
}
}

@media all and (max-width: 410px){
br._410 {
	display: inline-block;
}
}