
/* footer
--------------------------- */
#footer {
	position: relative;
	overflow: hidden;
	color: #fff;
	padding: 7.1428rem 0;
}
@media screen and (min-width: 768px) {
	#footer{
		padding: 7.692rem 0 4.0769rem;
	}
}
@media screen and (min-width: 1200px) {
	#footer{
		padding: 10.666rem 0 6.66rem;
	}
}
.footer_logo{
	display: block;
	width: 180px;
	margin-bottom: 2.14rem;
}
.footer_logo a{
	display: block;
}
/* footer_nav */
.footer_nav{
	margin-bottom: 0;
	list-style: none;
}
.footer_nav li{
	position: relative;
}
.footer_nav li::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(255,255,255,0.5);
	top: 0;
	left: 0;
}
.footer_nav a{
	display: flex;
	justify-content: space-between;
	color: #fff;
	line-height: 1;
	padding: 0.785rem 0 2.78rem;
	position: relative;
}
.footer_nav a::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(255,255,255,0.1);
	transform-origin: 0% 50%;
	transform: scaleX(0);
	transition: transform ease .4s;
	z-index: 0;
}
.footer_nav a:hover::before{
	transform: scaleX(1);
}
.footer_nav a .f-cg{
	font-size: 2rem;
	letter-spacing: -0.03em;
}
.footer_nav a .f-jp{
	opacity: 0.8;
	font-size: 0.857rem;
	margin-top: 3px;
}
.footer_nav a:hover{
	text-decoration: none;
}
/* footer_contact */
.footer_contact{
	margin-top: 1.1428rem;
}
.footer_contact a{
	display: block;
	position: relative;
	color: #fff;
	background-color: rgba(0,0,0,0.3);
	width: 100%;
	height: 140px;
	padding: 15px 4.16%;
	transition: .4s;
}
.footer_contact a:hover{
	text-decoration: none;
	background-color: rgba(0,0,0,0.5);
}
.footer_contact .c-title1{
	margin-bottom: 0;
}
.footer_contact .c-title1 .f-cg{
	font-size: 2rem;
	margin-bottom: 5px;
}
.footer_contact .c-title1 .f-jp{
	font-size: 0.875rem;
	margin-bottom: 0;
}
.footer_contact .arrow{
	position: absolute;
	right: 4.16%;
	bottom: 1rem;
	content: "";
	width: 18px;
	height: 9px;
	background-image: url(../images/contact_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.footer_contact .txt_block{
	font-size: 0.857rem;
	line-height: 1.8;
	text-align: justify;
	margin-top: 1.071rem;
}
/* .sq90（水平比率90%）が付くため、幅は1.111倍で持たせる。
   0.9倍された見た目が.txt_blockの幅ぴったりになり、折り返し位置も見た目どおりになる。
   はみ出す1.111倍ぶんのボックスは#footerのoverflow:hiddenで切られる */
.footer_contact .txt_block p{
	width: 111.111%;/* 100 / 0.9 */
}
/* footer_info */
.footer_info{
	margin-top: 6.714rem;
}
.footer_map{
	margin-bottom: 0.928rem;
}
.footer_map a{
	color: #fff;
	display: inline-block;
	font-size: 0.928rem;
	transition: .3s;
}
.footer_map a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.footer_add .en_add{
	font-size: 0.857rem;
	line-height: 1.4;
	margin-bottom: 6px;
}
.footer_add .jp_add{
	font-size: 0.857rem;
	margin-bottom: 0;
}
/* footer_bottom */
.footer_bottom{
	margin-top: 2.64rem;
}
.footer_bottom .policy{
	margin-bottom: 1.64rem;
}
.footer_bottom .policy a{
	display: inline-block;
	color: #fff;
	font-size: 0.928rem;
	transition: .3s;
}
.footer_bottom .policy a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.footer_bottom .copyright{
	opacity: 0.7;
	font-size: 0.928rem;
	display: block;
	margin: 0;
}
@media screen and (min-width: 768px) {
	.footer_top, .footer_info, .footer_bottom{
		display: flex;
		justify-content: space-between;
	}
	.footer_top, .footer_info{
		align-items: flex-start;
	}
	.footer_info{
		flex-direction: row-reverse;
	}
	.footer_bottom{
		align-items: center;
	}
	/* footer_top */
	.footer_nav{
		width: 50%;
	}
	.footer_contact{
		width: 40%;
		margin: 0;
	}
	/* footer_info */
	.footer_add{
		width: 50%;
	}
	/* footer_bottom */
	.footer_bottom .policy{
		margin: 0;
	}
}
@media screen and (min-width: 992px) {
	/* footer_top */
	.footer_nav{
		width: 46.875%;
	}
	.footer_contact{
		width: 37.5%;
		max-width: 600px;
		margin: 0;
	}
	/* footer_info */
	.footer_add{
		width: 46.875%;
	}
}
@media screen and (min-width: 1200px) {
	.footer_logo{
		width: 190px;
	}
	/* footer_top */
	.footer_nav a{
		padding: 1.066rem 0 3.533rem;
	}
	.footer_nav a .f-cg{
		font-size: 2.8rem;
	}
	.footer_nav a .f-jp{
		font-size: 0.866rem;
		margin-top: 6px;
	}
	.footer_contact a{
		height: 200px;
		padding: 1.533rem 5% 2rem;
	}
	.footer_contact .c-title1 .f-cg{
		font-size: 2.8rem;
		margin-bottom: 11px;
	}
	.footer_contact .c-title1 .f-jp{
		font-size: 0.866rem;
	}
	.footer_contact .arrow{
		width: 24px;
		height: 11px;
		right: 5%;
		bottom: 2rem;
	}
	.footer_contact .txt_block{
		font-size: 0.866rem;
		line-height: 2;
		margin-top: 2.2rem;
	}
	/* footer_info */
	.footer_info{
		margin-top: 5.466rem;
	}
	.footer_map{
		margin-bottom: 0.866rem;
	}
	.footer_map a{
		font-size: 0.8rem;
	}
	.footer_add .en_add{
		font-size: 0.8rem;
		margin-bottom: 0;
	}
	.footer_add .jp_add{
		font-size: 0.8rem;
	}
	/* footer_bottom */
	.footer_bottom{
		margin-top: 2.533rem;
	}
	.footer_bottom .policy a{
		font-size: 0.8rem;
	}
	.footer_bottom .copyright{
		font-size: 0.8rem;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1399px) {
	.contact-txtArea{
		width: 45%;
	}
	.contact-txtArea br{
		display: none;
	}
}