@charset "UTF-8";


/* .bg-black */
footer .bg-black {
	background: #000
}

/* .footer-address-inner */
footer .footer-address-inner {
	width: 100%;
	padding: 100px 0 0px 0
}
footer.en .footer-address-inner .jpsans {
	font-family: "Noto Sans JP", sans-serif;
}

/* .footer-address-flex */
footer .footer-address-inner .footer-address-flex {
	display: flex;
	justify-content: space-between;
	width: calc(100% - 60px);
	max-width: 1360px;
	margin: 0 auto
}
@media only screen and (max-width: 767px) {
	footer .footer-address-inner .footer-address-flex {
		flex-direction: column
	}
}
@media only screen and (max-width: 1100px) {
    footer .footer-address-inner .footer-address-flex {
        flex-wrap: wrap;
        max-width: 600px;
    }
	footer .footer-address-inner .footer-address-flex {
		flex-direction: column;
	}
	
}

/* .footer-address */
footer .footer-address-inner .footer-address-flex .footer-address {
	display: inline-block;
	width: calc(33.33% - 20px);
	display: flex;
	justify-content: flex-start;
	gap: 40px;
	font-size: 15px;
	color: #fff
}
@media only screen and (max-width: 991px) {
	footer .footer-address-inner .footer-address-flex .footer-address {
		flex-direction: column;
		gap: 20px
	}
}
@media only screen and (max-width: 767px) {
	footer .footer-address-inner .footer-address-flex .footer-address {
		width: 100%;
		margin-bottom: 60px
	}
	footer .footer-address-inner .footer-address-flex .footer-address:nth-last-of-type(1) {
		margin-bottom: 0
	}
}
@media only screen and (max-width: 1100px) {
	footer .footer-address-inner .footer-address-flex .footer-address {
		width: unset;
		display: block;
		margin-bottom: 50px;
	}
}
footer .footer-address-inner .footer-address-flex .footer-address {
	width: unset;
	display: block;
}

/* .address-ttl.jpsans */
.address-ttl.jpsans {
    margin-bottom: 10px;
}

/* .address-detail */
footer .footer-address-inner .footer-address-flex .address-detail {
	display: flex;
	flex-direction: column;
	font-size: 12px;
	line-height: 2;
	color: #fff
}

/* .borderBottom */
footer .footer-address-inner .footer-address-flex .address-detail .borderBottom {
	border-bottom: 1px solid #fff;
	transition: .4s;
}
footer .footer-address-inner .footer-address-flex .address-detail .borderBottom:hover {
	opacity: 0.6;
}

/* .footer-inner */
footer .footer-inner {
	background-color: #000;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0 100px 0
}
@media only screen and (max-width: 991px) {
	footer .footer-inner {
		padding: 40px 20px ;
	}
}

/* .site-nav-wrap */
footer .footer-inner .site-nav-wrap {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .site-nav-wrap {
		flex-direction: column;
		row-gap: 12px;
	}
}
footer.en .footer-inner .site-nav-wrap {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

/* .site-nav-link */
footer .footer-inner .site-nav-wrap .site-nav-link {
	text-decoration: none;
	padding: 0 45px;
	color: #fff;
	font-size: clamp(12px, 1vw, 17px);
	display: inline-block;
	position: relative;
	display: flex;
	align-items: center;
	transition: 0.4s ease
}
@media only screen and (max-width: 1440px) {
	footer .footer-inner .site-nav-wrap .site-nav-link {
		padding: 0 30px
	}
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .site-nav-wrap .site-nav-link {
		width: calc(50% - 5px);
		padding-bottom: 10px;
		border-bottom: 1px solid #DDDDDD;
		margin-bottom: 0;
		padding: 0 20px 8px 0
	}
	footer .footer-inner .site-nav-wrap .site-nav-link:nth-last-of-type(2) {
		margin-bottom: 0
	}
	footer .footer-inner .site-nav-wrap .site-nav-link:nth-last-of-type(1) {
		margin-bottom: 0
	}
}
@media only screen and (max-width: 767px) {
	footer .footer-inner .site-nav-wrap .site-nav-link {
		width: 100%;
		font-size: 14px;
	}

}
footer .footer-inner .site-nav-wrap .site-nav-link:before {
	content: "";
	width: 1px;
	height: 15px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%)
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .site-nav-wrap .site-nav-link:before {
		display: none
	}
}
footer .footer-inner .site-nav-wrap .site-nav-link:first-child:before {
	display: none
}
footer .footer-inner .site-nav-wrap .site-nav-link::after {
	content: "";
	width: 0;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: -4px;
	left: 50%;
	transition: .3s;
	transform: translateX(-50%);
}
footer .footer-inner .site-nav-wrap .site-nav-link:hover::after {
 width: 60%;
}
footer .footer-inner .site-nav-wrap .site-nav-link .arrow {
	display: none
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .site-nav-wrap .site-nav-link .arrow {
		font-size: 14px;
		display: inline-block;
		padding-right: 10px
	}
}
footer .footer-inner .site-nav-wrap .site-nav-link p {
	position: relative;
	color: #fff
}
footer .footer-inner .site-nav-wrap .site-nav-link p:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0%;
	transform: translate(-50%, 0);
	height: 1px;
	background: #fff;
	display: block;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .site-nav-wrap .site-nav-link p:before {
		display: none !important
	}
}
footer .footer-inner .site-nav-wrap .site-nav-link p:hover {
	opacity: 0.6
}
footer .footer-inner .site-nav-wrap .site-nav-link p:hover:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	transform: translate(-50%, 0);
	height: 1px;
	background: #fff;
	display: block
}
footer.en .footer-inner .site-nav-wrap .site-nav-link {
	text-decoration: none;
	padding: 0 14px;
}
@media only screen and (max-width: 1440px) {
	footer.en .footer-inner .site-nav-wrap .site-nav-link {
		padding: 0 14px
	}
}
footer .footer-inner .site-nav-wrap .site-nav-link {
	color: white;
}
.site-nav-link a {
	color: white;
	text-decoration: none;
}

/* .f_l_k (および .f_l_k_box) */
.f_l_k {
	position: relative;
}
.f_l_k:hover .f_l_k_box {
	display: block;
	opacity: 1;
}
.f_l_k_box {
	position: absolute;
	top: 50%;
	left: 50%;
	/* display: none; */
	opacity: 0;
	min-width: 140px;
	transform: translate(-50%, 18px);
	transition-duration: .3s;
	background-color: rgba(149, 146, 146, 1);
}
.f_l_k_box a {
	display: block;
	text-align: center;
	padding: 10px 4px;
	background-color: rgba(149, 146, 146, 1);
	transition-duration: .3s;
}
.f_l_k_box a:hover {
	background-color: rgba(77, 70, 70, .5);
}

/* .com-nav-wrap */
footer .footer-inner .com-nav-wrap {
	display: flex;
	justify-content: center;
	margin-top: 100px;
	background: #000
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .com-nav-wrap {
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 40px;
	}
}

/* .com-nav-link */
footer .footer-inner .com-nav-wrap .com-nav-link {
	text-decoration: none;
	padding: 0 45px;
	color: #fff;
	font-size: clamp(10px, 0.8vw, 12px);
	position: relative
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .com-nav-wrap .com-nav-link {
		width: calc(50% - 5px);
		padding: 0;
		margin-bottom: 10px
	}
	footer .footer-inner .com-nav-wrap .com-nav-link:nth-last-of-type(2) {
		margin-bottom: 0
	}
	footer .footer-inner .com-nav-wrap .com-nav-link:nth-last-of-type(1) {
		margin-bottom: 0
	}
}
@media only screen and (max-width: 767px) {
	footer .footer-inner .com-nav-wrap .com-nav-link {
		width: 100%;
		padding: 0;
		margin-bottom: 10px
	}
	footer .footer-inner .com-nav-wrap .com-nav-link:nth-last-of-type(2) {
		margin-bottom: 10px
	}
	footer .footer-inner .com-nav-wrap .com-nav-link:nth-last-of-type(1) {
		margin-bottom: 0
	}
}
footer .footer-inner .com-nav-wrap .com-nav-link:before {
	content: "";
	width: 1px;
	height: 10px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%)
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .com-nav-wrap .com-nav-link:before {
		display: none
	}
}
footer .footer-inner .com-nav-wrap .com-nav-link:first-child:before {
	display: none
}
footer .footer-inner .com-nav-wrap .com-nav-link:last-child:after {
	content: "";
	width: 1px;
	height: 10px;
	background: #fff;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%)
}
@media only screen and (max-width: 991px) {
	footer .footer-inner .com-nav-wrap .com-nav-link:last-child:after {
		display: none
	}
}