

/* footer
--------------------------- */
#footer{
	position: relative;
	margin-top: 7.29rem;
}
#footer::before{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
#footer.page_footer{
	margin-top: 1.9rem;
}
@media screen and (min-width: 768px){
	#footer{
		padding: 2.3rem 0;
	}
	#footer::before{
		width: 100%; 
		left: 0;
		transform: none;
	}
	.footer_inner{
		width: 94.11%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.footer_inner::after{
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		background-color: rgba(150,150,150,0.5);
	}
}
@media screen and (min-width: 992px){
	#footer{
		padding: 3.07rem 0;
	}
}
@media screen and (min-width: 1200px){
	#footer{
		margin-top: 11.7rem;
	}
	#footer.page_footer{
		margin-top: 2.83rem;
	}
}
@media screen and (min-width: 1800px){
	#footer{
		padding: 3.33rem 0;
	}
}
/***** f_contact *****/
.f_contact{
	width: 94.87%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0;
}
.f_contact li{
	list-style: none;
	aspect-ratio: 195 / 97;
	position: relative;
}
.f_contact li + li::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 0;
}
.f_contact li a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	transition: .3s;
}
.f_contact li a:hover{
	text-decoration: none;
	opacity: 0.7;
}
.f_contact .c-title1{
	margin-bottom: 0;
}
@media screen and (min-width: 768px){
	.f_contact{
		width: 46.875%;
		margin: 0;
	}
	.f_contact li{
		aspect-ratio: unset;
		height: 50%;
	}
	.f_contact .vm{
		margin-top: 2.67rem;
	}
	.f_contact a .vm .arrow{
		transition: .3s;
	}
	.f_contact a:hover .vm .arrow{
		left: 5px;
	}
}
@media screen and (min-width: 992px){
	.f_contact li{
		height: auto;
		aspect-ratio: 15 / 7;
	}
}
@media screen and (min-width: 1200px){
	.f_contact .vm{
		margin-top: 3.21rem;
	}
}
@media screen and (min-width: 1400px){
	.f_contact .vm{
		margin-top: 3.75rem;
	}
}
@media screen and (min-width: 1800px){
	.f_contact .vm{
		margin-top: 4.83rem;
	}
}
/***** f_block *****/
.f_block{
	width: 94.87%;
	margin: 0 auto;
	position: relative;
	padding: 5.23rem 0 5.38rem;
}
.f_block::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 0;
}
@media screen and (min-width: 768px){
	.f_block{
		width: 46.875%;
		padding: 0;
		margin: 0;
	}
	.f_block::before{
		display: none;
	}
}
@media screen and (min-width: 992px){
	.f_block{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
}
/* f_block_top */
.f_block_top{
	width: 87.17%;
	margin: 0 auto 9rem;
}
.f_copy{
	color: #969696;
	font-size: 0.69rem;
	letter-spacing: 0.03em;
	line-height: 1; 
	margin-bottom: 2.05rem;
}
.f_sns{
	display: flex;
	align-items: center;
	font-size: 0.69rem;
	letter-spacing: 0.03em;
}
.f_sns a{
	width: 16px;
	height: 16px;
	display: block;
	margin-left: 15px;
}
.f_sns img{
	width: 100%;
	height: 100%;
	display: block;
}
@media screen and (min-width: 768px){
	.f_block_top{
		width: 100%;
		margin: 0 0 17.07rem;
	}
}
@media screen and (min-width: 992px){
	.f_block_top{
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.f_copy{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1200px){
	.f_copy{
		font-size: 0.73rem; 
	}
	.f_sns{
		font-size: 0.73rem; 
	}
	.f_sns a{
		width: 20px;
		height: 20px;
		margin-left: 20px; 
	}
}
/* f_company */
.f_company{
	width: 87.17%;
	margin: 0 auto;
}
.f_logo{
	width: 170px;
	margin-bottom: 1.9rem;
}
.f_logo a{
	display: block; 
}
.f_add{
	font-size: 0.84rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	margin-bottom: 1.49rem;
}
.f_add a{
	display: inline-block;
	color: #000; 
	font-weight: bold;
	text-decoration: underline;
	margin-left: 1rem;
	transition: .3s;
}
.f_add a:hover{
	opacity: 0.7;
}
.f_policy{
	display: inline-block;
	color: #979797;
	font-size: 0.769rem;
	letter-spacing: 0.03em;
	line-height: 1;
	text-decoration: underline;
	transition: .3s;
}
.f_policy:hover{
	opacity: 0.7;
}
@media screen and (min-width: 768px){
	.f_company{
		width: 100%;
		margin: 0;
	}
}
@media screen and (min-width: 1200px){
	.f_logo{
		width: 210px;
		margin-bottom: 2.7rem;
	}
	.f_add{
		font-size: 0.86rem;
		line-height: 1.84;
		margin-bottom: 3.56rem;
	}
	.f_policy{
		font-size: 0.86rem;
	}
}

/* 767以下の表示設定
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 576px) {
	.footer_menu {
		display: none;
	}
}
@media screen and (max-width: 575px) {
	/*　フッター固定メニュー　*/
	.footer_menu {
		width: 100%;
		position: fixed;
		display: flex;
		bottom: 0;
		left:0;
		z-index: 999;
        transition: all .4s;
	}
	.footer_menu a{
		width: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0;
		padding: 0;
		height: 50px;
		font-size: 1rem;
		transition: .3s;
		background-color: #000;
		color: #fff;
	}
	.footer_menu a + a{
		background-color: #c8c8c8;
		color: #000;
	}
	.footer_menu a:hover{
		text-decoration: none;
		opacity: 0.8;
	}
}