/* ==========================================================

	footer 上部

========================================================== */
.footer .-_main {
	background: #F6F6F6;
	display: flex;
}

.footer .-__area1 .-___company {
	color: #003067;
	margin-top: calc(30 * var(--design-px));
}

.footer .-__area1 .-___address {
	margin-top: calc(15 * var(--design-px));
	display: flex;
	flex-direction: column;
	gap: calc(15 * var(--design-px));
}

.footer .-__area2 a {
	display: flex;
	justify-content: center; align-items: center;
	gap: 15px;
}

.footer .-__area2 a p {
	display: flex;
	flex-direction: column;
	color: #3E3A39;
	line-height: 1.2;
}

.footer .-__area2 a .__insta {
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.8px;
}

.footer .-__area2 a .__name {
	font-size: calc(13 * var(--design-px));
	font-weight: 500;
	letter-spacing: 0.65px;
}

/* PC */
@media screen and (width >= 768px) {
	.footer .-_main {
		padding: calc(50 * var(--design-px)) calc(100 * var(--design-px));
		justify-content: space-between; align-items: flex-start;
		font-size: calc(14 * var(--design-px));
	}
}

/* SP */
@media screen and (width < 768px) {
	.footer .-_main {
		flex-direction: column;
		padding: calc(50 * var(--design-px)) calc(20 * var(--design-px));
		font-size: calc(14 * var(--design-px));
	}

	.footer .-__area1 .-___logo {
		width: calc(170 * var(--design-px));
	}

	.footer .-__area2 {
		margin-top: calc(34 * var(--design-px));
	}

	.footer .-__area2 a {
		justify-content: flex-start;
	}
}



/* ==========================================================

	footer 下部

========================================================== */
.footer .-_nav {
	background: #003067;
	color: #fff;
}

.footer .-_nav ul {
	display: flex;
	justify-content: space-between; align-items: center;
	gap: calc(50 * var(--design-px));
	font-size: calc(14 * var(--design-px));
}


/* PC */
@media screen and (width >= 768px) {
	.footer .-_nav {
		display: flex;	
		justify-content: space-between; align-items: center;
		padding: calc(20 * var(--design-px)) calc(100 * var(--design-px));
	}

	.footer .-_nav .-__copyright {
		font-size: calc(12 * var(--design-px));
	}
}

/* SP */
@media screen and (width < 768px) {
	.footer .-_nav {
		padding: calc(20 * var(--design-px)) 0;
		text-align: center;
		margin-bottom: calc(68 * var(--design-px));
	}

	.footer .-_nav .-__copyright {
		font-size: calc(10 * var(--design-px));
	}

	.footer .-_nav nav { display: none;}
}



/* ==========================================================

	ポップアップバナー

========================================================== */
.js-fixedBnr {
    position: fixed; z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.js-fixedBnr.is-show {
    opacity: 1;
    visibility: visible;
}

.js-fixedBnr_close {
    position: absolute;
    top: calc(-13 * var(--design-px)); right: calc(-13 * var(--design-px));
    width: calc(30 * var(--design-px)); height: calc(30 * var(--design-px));
    border-radius: 50%;
	border: none;
	padding: 0;
    background: #003b71;
    cursor: pointer;
}

.js-fixedBnr_close::before,
.js-fixedBnr_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(16 * var(--design-px));
    height: 1px;
    background: #fff;
}

.js-fixedBnr_close::before { transform: translate(-50%, -50%) rotate(45deg);}
.js-fixedBnr_close::after  { transform: translate(-50%, -50%) rotate(-45deg);}

/* PC */
@media screen and (width >= 768px) {
    .js-fixedBnr {
        width: calc(300 * var(--design-px)); height: calc(200 * var(--design-px));
        right: calc(40 * var(--design-px));
        bottom: calc(30 * var(--design-px));
    }
}

/* SP */
@media screen and (width < 768px) {
    .js-fixedBnr {
		width: calc(367 * var(--design-px)); height: calc(83 * var(--design-px));
        right: calc(15 * var(--design-px));
        bottom: calc(78 * var(--design-px));
    }
}



/* ==========================================================

	スマホ用CTA

========================================================== */
/* PC */
@media screen and (width >= 768px) {
	.sp_cta { display: none;}
}

/* SP */
@media screen and (width < 768px) {
	.sp_cta {
		position: fixed; bottom: 0; left: 0;
		width: 100%; height: calc(68 * var(--design-px));
		background: #1A4576;
		display: flex;
		justify-content: center; align-items: center;
		gap: calc(14 * var(--design-px));
	}

	.sp_cta .btn-sc_navy,
	.sp_cta .btn-sc_bd-navy {
		padding: calc(10 * var(--design-px)) calc(18 * var(--design-px));
		font-size: calc(15 * var(--design-px));
		line-height: calc(24 * var(--design-px));
		border: 1px solid rgba(255, 255, 255, 0.50);
	}
}