@charset "utf-8";
/* ============================================================ */
/* c-bottom-contact */
/* ============================================================ */
.c-bottom-contact {
	color: var(--white);
	max-width: 1540px;
	width: 100%;
	padding:  0 30px;
	position: absolute;
	left: 50%;
	translate: -50% -50%;
	top: 0;
}

.c-bottom-contact__inner {
	background: url(../../img/common/bg_bottom_contact.png) no-repeat center / cover;
	padding: 100px 130px;
	border-radius: 40px;
	overflow: hidden;
	display: block;
	position: relative;
}

@media screen and (max-width: 1100px) {
	.c-bottom-contact__inner {
		padding: 80px 100px;
	}
}

@media screen and (max-width: 860px) {
	.c-bottom-contact__inner {
		padding: 40px 60px;
	}
}

.c-bottom-contact__inner::before,
.c-bottom-contact__inner::after {
	content: "";
	position: absolute;
	z-index: 20;
	opacity: 0;
	inset: 0;
	scale: 1.05 1.05;
	width: 100%;
	height: 100%;
	transition: all 0.4s ease;
}

.c-bottom-contact__inner::before {
	z-index: 20;
	background: url(../../img/common/bg_bottom_contact_hover.png) no-repeat center / cover;
}

.c-bottom-contact__inner::after {
	z-index: 21;
	background-color: rgba(var(--rgb-black2), 0.65);
}

.c-bottom-contact .e-h2 {
	position: relative;
	z-index: 23;
}

.c-bottom-contact .e-h2 .__jp {
	color: var(--yellow);
	margin-left: 6px;
}

.c-bottom-contact .__txt {
	position: relative;
	z-index: 24;
	font-size: 2.2rem;
}


.c-bottom-contact .__txt .__br {
	/* display: none; */
}

@media screen and (min-width: 1101px) {
	.c-bottom-contact .__txt .__br {
		display: none;
	}
}

.c-bottom-contact .__arrow {
	position: absolute;
	z-index: 25;
	right: 130px;
	top: 50%;
	translate: 0 -50%;
	border: solid 2px var(--white);
	border-radius: 50%;
	width: 100px;
	height: 100px;
}
@media screen and (max-width: 1100px) {
	.c-bottom-contact .__arrow {
		right: 100px;
	}	
}
@media screen and (max-width: 860px) {
	.c-bottom-contact .__arrow {
		right: 60px;
	}	
}

.c-bottom-contact .__arrow .e-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

/* ホバー */
.c-bottom-contact__inner:hover::before,
.c-bottom-contact__inner:hover::after {
	opacity: 1;
	scale: 1 1;
}
.c-bottom-contact__inner:hover .e-icon._arrow_::before {
	animation: arrow_slide 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}


/* ============================================================ */
/* l-footer */
/* ============================================================ */
.l-footer {
	background-color: var(--bg-black);
	position: relative;
	padding: 340px 0 115px;
	color: var(--white);
	margin-top: 350px;
}

.l-footer:not(:has(.c-bottom-contact)) {
	margin-top: 150px;
	padding-top: 125px;
}

@media screen and (max-width: 860px) {
	.l-footer {
		padding: 300px 0 70px;
	}
}

.l-footer__inner {
	display: grid;
	grid-template-areas:
	"logo nav"
	"addr ."
	"sign copy"
	;
	grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 860px) {
	.l-footer__inner {
		grid-template-areas:
		"logo"
		"addr"
		"sign"
		"nav"
		"copy"
		;
		grid-template-columns: auto;
		justify-items: center;
	}
}

/* .l-footer-logo
------------------------------------------------------------ */

.l-footer-logo {
	grid-area: logo;
	width: 334px;
	margin-bottom: 20px;
}

@media screen and (max-width: 860px) {
	.l-footer-logo {
		width: auto;
	}
}

/* .l-footer-addr
------------------------------------------------------------ */
.l-footer-addr {
	grid-area: addr;
	font-size: 1.5rem;
	margin-bottom: 90px;
}

@media screen and (max-width: 860px) {
	.l-footer-addr {
		margin-bottom: 40px;
	}	
}

.l-footer-addr .__wrap {
	color: var(--white);
}

.l-footer-addr .__link {
	color: var(--white);
}

/* .l-fnav 
------------------------------------------------------------ */
.l-fnav {
	grid-area: nav;
	justify-self: flex-end;
	width: 63.17%;
	width: 400px;
}

@media screen and (max-width: 860px) {
	.l-fnav {
		width: auto;
		margin-bottom: 30px;
		justify-self: center;
	}
}

.l-fnav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 10.7%;
}

@media screen and (max-width: 860px) {
	.l-fnav__list {
		justify-content: center;
	}	
}

.l-fnav__link {
	display: inline-block;
	position: relative;
}

.l-fnav__link .__txt {
	font-size: 1.8rem;
	color: var(--white);
	font-weight: 600;
}

.l-fnav__link::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--white);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.l-fnav__link:hover::before {
	opacity: 1;
}

/* .l-footer-sign
------------------------------------------------------------ */
.l-footer-sign {
	grid-area: sign;
	opacity: 0.4;
	width: 303px;
	margin-left: -17px;
}
@media screen and (max-width: 1100px) {
	.l-footer-sign {
		margin-left: 0;
		margin-bottom: 30px;
	}	
}
/* .l-footer-copyright
------------------------------------------------------------ */
.l-footer-copyright {
	grid-area: copy;
	justify-self: flex-end;
	align-self: flex-end;
	color: var(--white);
	font-size: 1.5rem;
	opacity: 0.4;
	font-weight: 400;
}

@media screen and (max-width: 1100px) {
	.l-footer-copyright {
		justify-self: center;
	}
}

/* ============================================================ */
/* .pagetop */
/* ============================================================ */
.c-pagetop {
	position: fixed;
	display: none;
	bottom: 40px;
	right: 40px;
	z-index: 100;
}
