

/* footer
--------------------------- */
/* footer_link */
.footer_link{
	position: relative;
	z-index: 1;
	padding: 5.769rem 0 7.30769rem;
}
.footer_link-bg{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.footer_link-bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.footer_link ul{
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_link ul li{
	list-style: none;
	width: calc((100% - 10px)/2);
}
.footer_link ul li a{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background-color: #fff;
	color: #000;
	border-radius: 6px;
	padding: 25px 1rem 35px;
	transition: .3s;
}
.footer_link ul li a:hover{
	text-decoration: none;
	background-color: rgba(255,255,255,0.8);
}
.footer_link-img{
	width: 100px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f3f0;
	border-radius: 50%;
	margin-bottom: 2.307rem;
	transition: .3s;
}
a:hover .footer_link-img{
	background-color: #fff;
}
.footer_link-img img{
	width: 36px;
}
.footer_link-txt{
	font-size: 1.23rem;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 0;
}
.footer_link-txt span{
	display: block;
	font-size: 0.769rem;
	letter-spacing: 0.08em;
	color: #b3b3b3;
	margin-top: 0.8rem;
}
.footer_link .arrow{
	width: 40px;
	height: 20px;
	border-radius: 20px;
	background-color: #f27518;
	background-image: url("../images/arrow_w.svg");
	background-position: center;
	background-size: 7.3px 6px;
	background-repeat: no-repeat;
	transition: .3s;
	margin-top: 1.7461rem;
}
.footer_link a:hover .arrow{
	background-color: rgba(242,117,24,0.8);
}
@media screen and (min-width: 768px){
	.footer_link ul li{
		width: calc((100% - 45px)/4);
	}
}
@media screen and (min-width: 1200px){
	.footer_link{
		padding: 10.714rem 0 calc(10.714rem + 40px);
	}
	.footer_link ul li{
		width: calc((100% - 60px)/4);
	}
	.footer_link ul li a{
		border-radius: 8px;
		padding: 45px 1rem;
	}
	.footer_link-img{
		width: 120px;
		margin-bottom: 2.1428rem;
	}
	.footer_link-img img{
		width: 43.4px;
	}
	.footer_link-txt{
		font-size: 1.428rem;
	}
	.footer_link-txt span{
		font-size: 0.857rem;
		margin-top: 1.228rem;
	}
	.footer_link .arrow{
		margin-top: 2.607rem;
	}
}
@media screen and (min-width: 1400px){
}
@media screen and (max-width: 767px){
	.footer_link ul li:nth-child(3), .footer_link ul li:nth-child(4){
		margin-top: 10px;
	}
}
/* footer_block */
.footer_block{
	position: relative;
	z-index: 2;
	margin-top: -1.538rem;
	padding: 6.1538rem 0 12.307rem; 
}
.footer_block::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #f5f3f0;
	border-radius: 10px 10px 0 0;
	z-index: -1;
}
.footer_logo{
	width: 200px;
	margin-bottom: 2.6769rem;
}
.footer_logo a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.footer_logo a::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-image: url("../images/footer_logo_w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	top: 0;
	left: 0;
	opacity: 0;
}
.footer_logo img{
	display: block;
	width: 100%;
	height: 100%;
	opacity: 1;
}
.footer_info p{
	margin-bottom: 0;
	font-size: 1.0769rem;
	letter-spacing: 0;
	line-height: 1.75;
}
.footer_nav-flex{
	display: flex;
	width: 100%;
}
.footer_nav{
	width: 50%;
	margin-bottom: 0;
	position: relative;
	padding-bottom: 4.384rem;
}
.footer_nav:nth-child(1){
	padding-right: 20px;
}
.footer_nav:nth-child(2){
	padding-left: 20px;
}
.footer_nav::after{
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	background-color: rgba(128,128,128,0.5);
	top: 0;
	right: 0;
}
.footer_nav li{
	list-style: none;
}
.footer_nav > li + li{
	margin-top: 1.538rem;
}
.footer_nav li a{
	color: #000;
	display: inline-block;
	font-size: 1.0769rem;
	letter-spacing: 0;
	transition: .3s;
}
.footer_nav li a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.footer_nav-text{
	line-height: 1.75;
}
.sub_footer_nav{
	margin-top: 0.3846rem;
	margin-bottom: 0;
}
.sub_footer_nav li{
	list-style: none;
	position: relative;
	display: flex;
	align-items: center;
}
.sub_footer_nav li + li{
	margin-top: -0.1769rem;
}
.sub_footer_nav li::before{
	content: "";
	width: 4px;
	height: 1px;
	background-color: #000;
	margin-right: 14px;
}
.footer_end-flex{
	margin-top: 3.0769rem;
}
.footer_insta{
	width: 50px;
	height: 50px;
	overflow: hidden;
}
.footer_insta a{
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #f27518;
	position: relative;
	width: 100%;
	height: 100%;
	transition: .3s;
}
.footer_insta a::after{
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-image: url("../images/icon_insta_32.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1;
	opacity: 0;
}
.footer_insta a img{
	width: 20px;
	display: block;
	opacity: 1;
}
.footer_insta a:hover{
	opacity: 0.8;
}
.footer_policy{
	display: inline-block;
	color: #000;
	font-size: 1rem;
	letter-spacing: 0;
	transition: .3s;
}
.footer_policy:hover{
	text-decoration: none;
	opacity: 0.8;
}
.footer_copy{
	color: #99938e;
	font-size: 0.923rem;
	letter-spacing: 0;
	line-height: 1;
}
.footer_page {
	margin-top: 6.1538rem;
}
.footer_page .container_1260{
	max-width: 1260px;
}
/*
.footer_page .footer_block::before{
	background-color: #323232;
}
.footer_page .footer_block, .footer_page .footer_nav li a, .footer_page .footer_policy, .footer_page .footer_copy{
	color: #fff;
}
.footer_page .sub_footer_nav li::before{
	background-color: #fff;
}
.footer_page .footer_insta a{
	background-color: #fff;
}
.footer_page .footer_logo a img, .footer_page .footer_insta a img{
	opacity: 0;
}
.footer_logo a::after, .footer_page .footer_insta a::after{
	opacity: 1;
}
*/
@media screen and (min-width: 768px){
	.footer_block::before{
		border-radius: 20px 20px 0 0;
	}
	.footer_flex{
		display: flex;
		justify-content: space-between;
	}
	.footer_nav-flex{
		margin-top: 10px;
		width: 400px;
	}
	.footer_nav:nth-child(1){
		width: calc(50% - 15px);
		padding-right: 30px;
	}
	.footer_nav:nth-child(2){
		width: calc(50% + 15px);
		padding-left: 30px;
	}
	.footer_end-flex{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items:  flex-start;
	}
	.footer_end-right{
		display: flex;
		justify-content: flex-end;
		flex-direction: row-reverse;
		align-items: center;
	}
	.footer_insta{
		margin-left: 30px;
	}
}
@media screen and (min-width: 1200px){
	.footer_block{
		padding: 120px 0 70px;
		margin-top: -40px;
	}
	.footer_block::before{
		border-radius: 30px 30px 0 0;
	}
	.footer_logo{
		width: 220px;
		margin-bottom: 3.8857rem;
	}
	.footer_info p{
		font-size: 1rem; 
	}
	.footer_nav-flex{
		width: 510px;
	}
	.footer_nav:nth-child(1){
		width: calc(50% - 25px);
		padding-right: 50px;
	}
	.footer_nav:nth-child(2){
		width: calc(50% + 25px);
		padding-left: 50px;
	}
	.footer_nav > li + li{
		margin-top: 1.357rem;
	}
	.footer_nav li a{
		font-size: 1rem;
	}
	.sub_footer_nav{
		margin-top: 0.3857rem;
	}
	.sub_footer_nav li + li{
		margin-top: -0.1428rem;
	}
	.footer_end-flex{
		margin-top: 5rem;
	}
	.footer_copy{
		font-size: 0.857rem;
	}
	.footer_policy{
		font-size: 0.928rem;
	}
	.footer_page{
		margin-top: 12.1428rem;
	}
}
@media screen and (max-width: 767px){
	.footer_info{
		margin-bottom: 5.092rem;
	}
	.footer_nav:nth-child(2)::after{
		display: none;
	}
	.footer_end-right{
		margin-bottom: 0.823rem;
	}
	.footer_insta{
		margin-bottom: 2.6769rem;
	}
}

/* 767以下の表示設定
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 576px) {
	.footer_menu {
		display: none;
	}
}
@media screen and (max-width: 575px) {
	/*　フッター固定メニュー　*/
	body.is-fixed .footer_menu{
		z-index: 1200;
		transform: translateY(0);
		opacity: 1;
	}
	.footer_menu {
		width: 100%;
		position: fixed;
		display: flex;
		bottom: 0;
		left:0;
		z-index: 999;
		transform: translateY(100%);
		opacity: 0;
        transition: transform .4s ease, opacity .4s ease;
	}
	.footer_menu.is-show{
		transform: translateY(0);
		opacity: 1;
	}
	.footer_menu a{
		width: 25%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin: 0;
		padding: 0 1rem;
		line-height: 1;
		height: 70px;
		font-size: 0.769rem;
		letter-spacing: 0;
		transition: .3s;
		color: #fff;
	}
	.footer_menu a img{
		width: 31.8px;
		margin-bottom: 0.923rem;
	}
	.footer_menu a:nth-child(odd){
		background-color: #f27518;
	}
	.footer_menu a:nth-child(even){
		background-color: #a67a5b;
	}
	.footer_menu a:hover{
		text-decoration: none;
		opacity: 0.8;
	}
}