

/* footer
--------------------------- */
#footer{
	margin-top: 5rem;
}
@media screen and (min-width: 768px){
	#footer{
		margin-top: 6.66rem;
	}
}
@media screen and (min-width: 992px){
	#footer{
		margin-top: 8.32rem;
	}
}
@media screen and (min-width: 1400px){
	#footer{
		margin-top: 10rem;
	}
}
.footer_contact{
	margin-bottom: 0;
}
.footer_contact li{
	list-style: none;
	position: relative;
}
.footer_contact li:first-child{
	margin-bottom: 3px;
}
.footer_contact li a{
	display: block;
}
.footer_contact li a:hover{
	text-decoration: none;
}
.footer_img{
	position: relative;
}
.footer_img::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	transition: .3s;
}
a:hover .footer_img::after{
	background-color: rgba(0,0,0,0.6);
	transition: .3s;
}
.footer_con_txtArea{
	position: absolute;
	width: 90%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	color: #fff;
}
.footer_con_txtArea .c-title1{
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 1.65rem;
}
.footer_con_txtArea .c-title1 .f-eng{
	margin-bottom: 2rem;
}
@media screen and (min-width: 768px){
	.footer_contact{
		display: flex;
		justify-content: space-between;
	}
	.footer_contact li{
		width: calc((100% - 3px)/2);
	}
	.footer_con_txtArea .c-title1{
		margin-bottom: 2.2rem;
	}
	.footer_con_txtArea .c-title1 .f-eng{
		margin-bottom: 2.66rem;
	}
}
@media screen and (min-width: 992px){
	.footer_con_txtArea .c-title1{
		margin-bottom: 2.75rem;
	}
	.footer_con_txtArea .c-title1 .f-eng{
		margin-bottom: 3.32rem;
	}
}
@media screen and (min-width: 1400px){
	.footer_con_txtArea .c-title1{
		margin-bottom: 3.3rem;
	}
	.footer_con_txtArea .c-title1 .f-eng{
		margin-bottom: 4rem;
	}
}
.footer_container{
	width: 86%;
	max-width: 1542px;
	margin-right: auto;
	margin-left: auto;
	padding: 4rem 0;
}
/* footer_company */
.footer_logo{
	width: 200px;
	margin-bottom: 1.13rem;
}
.footer_logo a{
	display: block;
	width: 100%;
}
.footer_add{
	font-size: 1rem;
	margin-bottom: 1.13rem;
}
.footer_btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #7a8084;
	color: #fff;
	border: 1px solid rgba(122,128,132,0.75);
	border-radius: 42px;
	width: 160px;
	height: 37px;
	transition: .3s;
}
.footer_btn:hover{
	text-decoration: none;
	color: #7a8084;
	background-color: #fff;
	transition: .3s;
}
.footer_sns{
	display: flex;
	align-items: center;
	margin-top: 1.05rem;
}
.footer_sns .f-eng{
	margin-right: 1.33rem;
}
.footer_sns a{
	display: block;
	width: 15px;
	height: 15px;
	position: relative;
}
.footer_sns a:last-child{
	margin-left: 15px;
}
.footer_sns a img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	opacity: 1;
}
.footer_sns a::after{ 
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
	left: 0;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: .3s;
}
.footer_sns a:nth-child(2)::after{
	background-image: url("../images/icon_insta_c.svg");
}
.footer_sns a:nth-child(3)::after{
	background-image: url("../images/icon_youtube_c.svg");
}
.footer_sns a:hover{
	text-decoration: none;
}
.footer_sns a:hover img{
	opacity: 0;
	transition: .3s;
}
.footer_sns a:hover::after{
	opacity: 1;
	transition: .3s;
}
/* footer_block */
.footer_block{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 4rem 0 4.8rem;
}
.footer_block div{
	width: calc((100% - 3rem)/2);
	margin-top: 2.5rem;
}
.footer_block div:nth-child(1), .footer_block div:nth-child(2){
	margin-top: 0;
}
.footer_nav_tit{
	font-size: 1.2rem;
	font-weight: 400;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom: 0.83rem;
}
.footer_nav_tit .f-eng{
	font-size: 0.93rem;
	letter-spacing: 0.04em;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #7a8084;
	display: block;
	margin-bottom: 0.165rem;
}
.footer_nav{
	margin-bottom: 0;
}
.footer_nav li{
	list-style: none;
	margin-top: 0.38rem;
}
.footer_nav li:first-child{
	margin-top: 0;
}
.footer_nav li a{
	display: inline-block;
	color: #4d4d4d;
	font-size: 0.93rem;
	transition: .3s;
}
.footer_nav li a:hover{
	text-decoration: none;
	color: #7a8084;
	transition: .3s;
}
/* footer_bottom */
.footer_bottom{
	display: flex;
	flex-direction: column;
}
.footer_policy, .footer_policy a{
	color: #4d4d4d;
	font-size: 0.93rem;
	display: inline-block;
	transition: .3s;
}
.footer_policy a:hover{
	text-decoration: none;
	color: #7a8084;
	transition: .3s;
}
.footer_copy{
	font-size: 0.86rem;
	letter-spacing: 0.04em;
	margin-bottom: 0;
	color: #afb3b5;
	margin-top: 2rem;
}
@media screen and (min-width: 768px){
	.footer_container{
		padding: 5.33rem 0;
	}
	/* footer_company */
	.footer_logo{
		margin-bottom: 1.5rem;
	}
	.footer_add{
		margin-bottom: 1.5rem;
	}
	.footer_sns{
		margin-top: 1.4rem;
	}
	/* footer_block */
	.footer_block{
		margin-bottom: 6.4rem;
		/*ライフスタイル復活したら以下は削除*/
		justify-content: flex-start;
	}
	.footer_block div{
		width: auto;
		margin-top: 0;
		/*ライフスタイル復活したら以下は削除*/
		margin-left: 7rem;
	}
	.footer_block div:first-child{
		margin-left: 0;
	}
	.footer_nav_tit{
		margin-bottom: 1.1rem;
	}
	.footer_nav_tit .f-eng{
		margin-bottom: 0.22rem;
	}
	.footer_nav li{
		margin-top: 0.5rem;
	}
	/* footer_bottom */
	.footer_bottom{
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
	}
	.footer_copy{
		margin-top: 0;
	}
	.footer_policy{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 992px){
	.footer_container{
		padding: 6.66rem 0;
	}
	/* footer_company */
	.footer_logo{
		margin-bottom: 1.87rem;
	}
	.footer_add{
		margin-bottom: 1.87rem;
	}
	.footer_sns{
		margin-top: 1.75rem;
	}
	/* footer_block */
	.footer_block{
		/* ライフスタイル復活時に復活
		justify-content: space-between;　*/
		margin-bottom: 0;
	}
	/*ライフスタイル復活したら削除ここから*/
	.footer_block div{
		margin-left: 10rem;
	}
	/*ここまで*/
	.footer_nav_tit{
		margin-bottom: 1.37rem;
	}
	.footer_nav_tit .f-eng{
		margin-bottom: 0.275rem;
	}
	.footer_nav li{
		margin-top: 0.62rem;
	}
	/* footer_bottom */
	.footer_bottom{
		width: 100%;
		margin-top: 7.8rem;
	}
}
@media screen and (min-width: 1200px){
	/* footer_company */
	.footer_logo{
		width: 240px;
	}
	/* footer_block */
	.footer_block{
		width: 100%;
	}
}
@media screen and (min-width: 1400px){
	.footer_container{
		padding: 8rem 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	/* footer_company */
	.footer_company{
		width: 31%;
	}
	.footer_logo{
		margin-bottom: 2.26rem;
	}
	.footer_add{
		margin-bottom: 2.26rem;
	}
	.footer_sns{
		margin-top: 2.1rem;
	}
	/* footer_block */
	.footer_block{
		width: 65%;
		/*ライフスタイル復活したら以下は削除*/
		justify-content: flex-end;
	}
	.footer_nav_tit{
		margin-bottom: 1.63rem;
	}
	.footer_nav_tit .f-eng{
		margin-bottom: 0.33rem;
	}
	.footer_nav li{
		margin-top: 0.76rem;
	}
	/* footer_bottom */
	.footer_bottom{
		margin-top: 9.6rem;
	}
}
@media screen and (min-width: 1800px){
	/* footer_block */
	.footer_block{
		width: 60%;
	}
}
@media screen and (max-width: 991px){
	.footer_img{
		height: 300px;
	}
	.footer_img.zoom img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}






/* 767以下の表示設定
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 576px) {
ul.footer_menu {
	display: none;
}
}
@media screen and (max-width: 575px) {
	/*　フッター固定メニュー　*/
	ul.footer_menu {
		width: 100%;
		height: 50px;
		display: flex;
		margin: 0;
		padding: 0;
		position: fixed;
		bottom: 0;
		left:0;
		z-index: 999;
        transition: all .4s;
	}
	ul.footer_menu li {
		width: calc(100% / 3);
		margin: 0;
		list-style: none;
		position: relative;
	}
	ul.footer_menu li:not(:last-child)::after{
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		background-color: rgba(255,255,255,0.4);
		top: 0;
		right: 0;
	}
	ul.footer_menu li a {
		border: none;
		text-align: center;
		text-decoration: none;
		width: 100%;
			height: 100%;
        font-size: 0.9375rem;
		letter-spacing: 0.08em;
		background-color: #f84519;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}