@charset "utf-8";
/* ============================================================ */
/* l-footer */
/* ============================================================ */
.l-footer {
	background-color: var(--blue2);
	position: relative;
	padding: 80px 16px 75px;
	position: relative;
}

.l-footer::before {
	content: "";
	width: 160px;
	height: 240px;
	background: url(../../img/common/bg_footer_left.svg) no-repeat center / contain;
	position: absolute;
	left: 0;
	top: -70px;
	z-index: 100;
	pointer-events: none;
}

.l-footer::after {
	content: "";
	width: 320px;
	height: 430px;
	background: url(../../img/common/bg_footer_right.svg) no-repeat center / contain;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 100;
	pointer-events: none;
}

.l-footer__inner {
	display: block;
	background-color: var(--white);
	border-radius: 20px;
	padding: 40px 0;
	margin-bottom: 48px;
	position: relative;
	z-index: 101;
}

.l-footer .l-contents__inner {
	position: relative;
	z-index: 102;
}


/* .l-footer-contact
------------------------------------------------------------ */
.l-footer-contact {
	width: 303px;
	height: 172px;
	margin-left: 24px;
	margin-bottom: 40px;
	margin: 0 auto 40px;
	margin-right: 16px;
	background: url(../../img/common/bg_footer_contact.jpg) no-repeat center / contain;
}

.l-footer-contact__link {
	display: grid;
	align-content: center;
	row-gap: 24px;
	height: 100%;
	padding-left: 32px;
	color: var(--white);

	position: relative;
}

.l-footer-contact .__txt {
	line-height: 2;
}

.l-footer-contact .e-h1 .__en {
	font-size: 2.8rem;
}

.l-footer-contact__icon {
	background-color: var(--blue);
	border: solid 1px var(--blue);
	border-radius: 50%;
	width: 55px;
	height: 55px;
	display: grid;
	place-content: center;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: all 0.3s ease;
}

.l-footer-contact__icon .__ico::before {
	width: 25px;
	height: 20px;
}

/* .l-fnav 
------------------------------------------------------------ */
.l-fnav {
	max-width: 646px;
	width: 100%;
}

.l-fnav__list {
	padding: 0 24px;
}

.l-fnav__item {
	margin-bottom: 40px;
}


.l-fnav__link {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--blue);
	display: block;
	position: relative;
	opacity: 1;
	transition: opacity 0.3s ease;
}


.l-fnav__link:has(+ .l-fnav__sublist) {
	margin-bottom: 25px;
}

.l-fnav__link:has( + .l-fnav__link) {
	margin-bottom: 30px;
}

.l-fnav__sublist-item:not(:last-of-type) {
	margin-bottom: 16px;
}

.l-fnav__sublist-link {
	font-size: 1.3rem;
	color: var(--gray);
	opacity: 0.75;
	position: relative;
	display: block;
	line-height: 1.35;
	transition: opacity 0.3s ease;
}

.l-fnav__link:hover,
.l-fnav__sublist-link:hover {
	opacity: 0.5;
}


/* .l-footer-logo
------------------------------------------------------------ */
.l-footer-logo {
width: 280px;
margin: 0 auto 28px;
position: relative;
z-index: 101;
}

/* .l-footer-copyright
------------------------------------------------------------ */
.l-footer-copyright {
	color: var(--gray);
	font-size: 1.2rem;
	margin-top: auto;
	position: relative;
	z-index: 102;
}
