@charset "utf-8";
.l-footer{
	background-color: #fff;
	padding: 4em 0;
}
.l-footer h3{
	line-height: 0;
	padding-bottom: .5em;
}
.l-footer .l-footer_inner{
	max-width: 90%;
	margin: 0 auto;
	display: flex;
}
.l-footer .l-footer_inner .l-footer_left{
	max-width: 400px;
	margin-right: 1em;
}
.l-footer .l-footer_inner .l-footer_left .lead{
	font-size: 2rem;
	font-weight: 600;
	padding: 2em 0 0;
}
.l-footer .l-footer_inner .l-footer_left .lead_min{
	font-size: 1.2rem;
	padding: 1em 0;
	font-weight: 600;
}
.l-footer .l-footer_inner .c-img_link picture{
	overflow: hidden;
	border-radius: 10px;
}
.l-footer .l-footer_inner .c-img_link .img_text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	width: 90%;
	color: #fff;
}
.l-footer .l-footer_inner .c-img_link .img_text span{
    font-size: 1.6rem;
}
.l-footer .l-footer_inner .c-img_link .img_text span.en{
    font-size: 1.4rem;
	display: inline-block;
	padding-bottom: 1em;
}
.l-footer .l-footer_inner .l-footer_menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	width: calc(100% - 400px - 1em);
}
.l-footer .l-footer_inner .footer_nav{
	width: 100%;
	padding-left: 200px;
}
.l-footer .l-footer_inner .footer_nav nav{
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.l-footer .l-footer_inner .footer_nav nav h3 a{
	font-weight: bold;
	font-size: 2rem;
	line-height: 1;
}
.l-footer .l-footer_inner .footer_nav_box h3 span{
	display: block;
	font-size: 1rem;
	font-weight: normal;
	line-height: .5;
	display: inline-block;
	color: #1D1A1A99;
}

.l-footer .l-footer_inner .footer_nav nav .footer_nav_box{
	width: calc(100% / 3);
	padding-bottom: 1em;
}
/* .l-footer .l-footer_inner .footer_nav nav .footer_nav_box:nth-of-type(3n){
	width: auto;
} */
.l-footer .l-footer_inner .footer_nav nav ul{
	margin-top: 8px;
}
.l-footer .l-footer_inner .footer_nav nav ul li{
	padding: 0 0 .5em;
}
.l-footer .l-footer_inner .footer_nav nav ul li a{
	position: relative;
	font-size: 1.3rem;
	display: inline-block;
	color: #1D1A1A99;
}
.l-footer .l-footer_inner .footer_nav nav ul li ul li a:before{
	content: "―";
}
.l-footer .l-footer_inner .footer_nav nav ul li ul li a{
	opacity: .6;
}
.l-footer .copyright{
	text-align: center;
	color: #1D1A1A;
	font-size: 1.2rem;
	padding: 1em;
}
.l-footer .copyright p{
	padding: 0;
	color: #1D1A1A99;
}
#return{
	position: fixed;
	right: 0;
	bottom: 100px;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
}

#return.active{
	opacity: 1;
	pointer-events: auto;
}

#return a{
	display: inline-flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 600;
	color: #1D1A1A;
	text-decoration: none;
	transform: rotate(90deg) translateZ(0);
	/* transform-origin: 100% 100%; */
	backface-visibility: hidden;
	will-change: transform;
	transition: color .3s;
}
#return.active.stop a{
	color: #fff;
}
#return span{
	display: inline-block;
    width: 40px;
    height: 2px;
    background-color: #121212;
    position: relative;
    margin-right: 0px;
    margin-bottom: 4px;
    margin-right: 4px;
    transition: .3s;
}
#return span:before{
	content: "";
    position: absolute;
    display: inline-block;
    width: 12px;
    height: 2px;
    margin-top: 5px;
    border-radius: 9999px;
    background-color: #121212;
    bottom: 4px;
    left: -1px;
    transform: rotate(135deg);
    transition: .3s;
}
#return a:hover{
	color: #DB0E1E;
}
#return a:hover span,
#return a:hover span::before{
	background-color: #DB0E1E;
}
#return.active.stop span,
#return.active.stop span:before{
	background-color: #fff;
}

@media screen and (max-width: 1300px) {
	.l-footer .l-footer_inner .footer_nav {
		padding-left: 20px;
	}
}

/*****SP*****/
@media screen and (max-width: 1024px) {
	.l-footer .l-footer_inner{
		flex-wrap: wrap;
	}
	.l-footer .l-footer_inner .l-footer_menu {
		width: 100%;
		padding-bottom: 1em;
	}
	.l-footer .l-footer_inner .footer_nav {
		padding-left: 0;
	}
	.l-footer .l-footer_inner .footer_nav nav .footer_nav_box {
		width: 100%;
		padding-bottom: 0;
	}

	.footer_nav_box ul{
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transform: translateY(-6px);
		transition: max-height .55s ease, opacity .45s ease, transform .45s ease;
		will-change: max-height, opacity, transform;
	}

	.footer_nav_box ul.f_nav_open_ul{
		max-height: 600px;
		transform: translateY(0);
		opacity: 1;
	}

	.l-footer .l-footer_inner .footer_nav nav ul li{
		padding: 1em 0;
		border-top: 1px solid #C8C9CA;
	}
	.l-footer .l-footer_inner .footer_nav nav ul li a{
		display: block;
	}
	.l-footer .footer_nav nav ul li{
		padding: 4px 0;
	}
	.footer_nav_box{
		/*padding-bottom: 16px;*/
		border-top: 1px solid #C8C9CA;
		box-sizing: border-box;
	}
	.footer_nav_box h3{
		padding: .75em 0;
	}

	.l-footer h3{
		margin: 0;
		position: relative;
		font-size: 1.4rem;
	}
	.l-footer .l-footer_inner .footer_nav nav h3 a{
		font-size: 1.6rem;
	}
	.l-footer .l-footer_inner .footer_nav nav ul {
		margin-top: 0;
	}
	.l-footer h3:before,
	.l-footer h3:after{
		content: "";
		display: block;
		width: 16px;
		height: 1px;
		background-color: #1D1A1A;
		position: absolute;
		right: 16px;
		top: 28px;
		transition: .3s;
	}
	.l-footer h3:after{
		transform: rotate(90deg);
	}
	.l-footer h3.f_nav_open_now:after{
		transform: rotate(0);
	}
	.l-footer .nav_none h3:before,footer .nav_none h3:after{
		width: 12px;
	}
	.l-footer .nav_none h3:before{
		transform: rotate(45deg);
		top: 25px;
	}
	.l-footer .nav_none h3:after{
		transform: rotate(-45deg);
		top: 33px;
	}
	.l-footer h3:not(.sp_click) a{
		pointer-events: none;
	}
	.l-footer h3 + ul{
		height: 0;
		overflow: hidden;
		transition: .3s;
		margin-top: 0;
	}
	.l-footer h3 + ul.f_nav_open_ul{
		height: fit-content;
		/* padding-top: 8px; */
		padding-bottom: 1em;
	}
	.l-footer .column2.gridbox .footer_nav nav li a{
		padding: 8px 0;
	}
	.l-footer .column2.gridbox .footer_nav a{
		width: 100%;
		display: block;
	}
	.l-footer .l-footer_inner .footer_nav nav .sub_link{
		border-top: none;
	}
	.l-footer .l-footer_inner .footer_nav nav .sub_link ul{
		margin-top: 0;
	}
}



@media (1024px <= width < 1275px) {
	.l-footer .footer_nav nav h3 a{
		font-size: 1.4rem;
	}
	.l-footer .footer_nav nav .footer_nav_box{
		padding: 0 8px;
	}
	.l-footer .footer_nav nav ul li a{
		font-size: 1.1rem;
	}
}

@media (768px <= width < 1024px) {
	.l-footer .sp{
		display: block;
	}
	.l-footer .pc{
		display: none;
	}
}