

/* footer
--------------------------- */
#footer{
	margin: 6.15rem 0;
}
@media screen and (min-width: 576px){
	#footer{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 768px){
	#footer{
		margin-top: 8.4rem;
	}
}
@media screen and (min-width: 1200px){
	#footer{
		margin-top: 10.66rem;
	}
}
/***** footer_contact *****/
.footer_contact{
	width: 100%;
}
.footer_contact ul{
	margin-bottom: 0;
}
.footer_contact ul li{
	list-style: none;
	width: 100%;
	aspect-ratio: 13 / 7;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.footer_contact ul li:first-child{
	background-image: url("../images/footer_contact.jpg");
}
.footer_contact ul li:nth-child(2){
	background-image: url("../images/footer_catalog.jpg?202507");
}
.footer_contact ul li:nth-child(2) a{
	position: relative;
}
.footer_contact ul li:nth-child(2) a::before {
    content: "";
    background-image: url(../images/footer_catalog_item.png);
    position: absolute;
	width: 46%;
    height: 50%;
    top: 15px;
    right: 10px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.2));
}
.footer_contact ul li a{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
	transition: .3s;
}
.footer_contact ul li a::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.4);
	transition: .3s;
}
.footer_contact ul li a:hover::after{
	background-color: rgba(0,0,0,0.6);
}
.footer_contact_txtArea{
	position: absolute;
	width: 82.56%;
	bottom: 11.42%;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	z-index: 1;
}
.footer_contact_txtArea .c-title1{
	margin-bottom: 0;
	color: #fff;
	font-size: 1rem;
}
.footer_contact_txtArea .c-title1 .f-eng{
	font-size: 2.61rem;
	line-height: 1;
	margin-bottom: 0.83rem;
}
.footer_contact_txtArea .arrow{
	width: 34px;
	height: 34px;
	display: block;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.8);
	position: relative;
}
.footer_contact_txtArea .arrow::after{
	position: absolute;
	content: "";
	width: 8px;
	height: 7px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-image: url("../images/arrow_w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (min-width: 768px){
	.footer_contact{
		width: 93.33%;
		margin-right: auto;
		margin-left: auto;
	}
	.footer_contact ul{
		display: flex;
	}
	.footer_contact ul li{
		width: 50%;
		aspect-ratio: 41 / 25;
	}
	.footer_contact_txtArea{
		align-items: center;
	}
}
@media screen and (min-width: 992px) {
	.footer_contact ul li:nth-child(2) a::before {
    width: 55%;
    height: 52%;
}
}
@media screen and (min-width: 1200px){
	.footer_contact_txtArea{
		width: 75.85%;
		bottom: 12.4%;
	}
	.footer_contact_txtArea .c-title1{
		font-size: 1.06rem;
	}
	.footer_contact_txtArea .c-title1 .f-eng{
		font-size: 2.66rem;
		margin-bottom: 0.96rem;
	}
	.footer_contact_txtArea .arrow{
		width: 40px;
		height: 40px;
	}
	.footer_contact ul li:nth-child(2) a::before {
    width: 57%;
    height: 57%;
}
}
@media screen and (min-width: 1600px){
	.footer_contact ul li{
		height: 500px;
	}
}
/***** footer_cr *****/
.footer_cr{
	width: 92.3%;
	margin-top: 3.84rem;
	margin-right: auto;
	margin-left: auto;
}
.footer_cr ul{
	display: flex;
	justify-content: space-between; 
	margin-bottom: 0;
}
.footer_cr ul li{
	width: calc((100% - 1px)/2);
	list-style: none;
}
.footer_cr ul li a{
	display: block;
}
.footer_cr_img{
	margin-bottom: 18px;
}
.footer_cr_txtArea{
	width: 88.88%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding-bottom: 20px;
}
.footer_cr_txtArea::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(160,160,160,0.25);
	left: 0;
	bottom: 0;
}
.footer_cr ul li:nth-child(2) .footer_cr_txtArea{
	margin-left: auto;
}
.footer_cr_txtArea .c-title1{
	color: #000;
	font-size: 0.92rem;
	line-height: 1.66;
	letter-spacing: 0;
	margin-bottom: 0;
}
.footer_cr_txtArea .c-title1 .f-eng{
	font-size: 0.92rem;
	line-height: 1;
	margin-bottom: 0.24rem;
}
.footer_cr_txtArea .arrow{
	width: 34px;
	height: 34px;
	background-color: #192f60;
	border-radius: 50%;
	display: block;
	position: relative;
}
.footer_cr_txtArea .arrow::after{
	position: absolute;
	content: "";
	width: 8px;
	height: 7px;
	background-image: url("../images/arrow_w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (min-width: 768px){
	.footer_cr{
		width: 82.05%;
		max-width: 1320px;
		margin-top: 5.92rem;
	}
	.footer_cr_img{
		display: none;
	}
	.footer_cr ul li{
		position: relative;
		aspect-ratio: 11 / 6;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}
	.footer_cr ul li:first-child{
		background-image: url("../images/footer_corporate.jpg");
	}
	.footer_cr ul li:nth-child(2){
		background-image: url("../images/footer_recruit.jpg");
	}
	.footer_cr ul li a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		transition: .3s;
	}
	.footer_cr ul li a::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-color: rgba(0,0,0,0.4);
		transition: .3s;
	}
	.footer_cr ul li a:hover::after{
		background-color: rgba(0,0,0,0.6);
	}
	.footer_cr_txtArea{
		padding: 0;
		position: absolute;
		width: 79.09%;
		left: 50%;
		bottom: 24px;
		transform: translateX(-50%);
		z-index: 1;
	}
	.footer_cr_txtArea::after{
		display: none;
	}
	.footer_cr_txtArea .c-title1{
		color: #fff;
		font-size: 1rem;
	}
	.footer_cr_txtArea .c-title1 .f-eng{
		font-size: 2.3rem;
		line-height: 1;
		margin-bottom: 0.83rem;
	}
	.footer_cr_txtArea .arrow{
		background-color: transparent;
		border: 1px solid rgba(255,255,255,0.8);
	}
}
@media screen and (min-width: 992px){
	.footer_cr_txtArea .c-title1 .f-eng{
		font-size: 2.61rem;
	}
}
@media screen and (min-width: 1200px){
	.footer_cr{
		margin-top: 8rem;
	}
	.footer_cr_txtArea{
		bottom: 11.94%;
	}
	.footer_cr_txtArea .c-title1{
		font-size: 1.06rem;
	}
	.footer_cr_txtArea .c-title1 .f-eng{
		font-size: 2.66rem;
		margin-bottom: 0.96rem;
	}
	.footer_cr_txtArea .arrow{
		width: 40px;
		height: 40px;
	}
}
/***** footer_block *****/
.footer_block{
	position: relative;
	margin-top: 3.84rem;
	padding: 6.15rem 0 4rem;
}
.footer_block::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #f8f8f8;
	z-index: -1;
}
.footer_inner{
	width: 92.3%;
	margin-right: auto;
	margin-left: auto;
}
.footer_company{
	text-align: center;
}
.footer_logo{
	width: 280px;
	display: inline-block;
	margin-bottom: 3.44rem;
}
.footer_logo a{
	display: block;
}
.footer_add{
	margin-bottom: 3.44rem;
}
.footer_add p{
	font-size: 1rem;
	line-height: 2;
	margin-bottom: 0;
	letter-spacing: 0.06em;
}
.footer_add p + p{
	margin-top: 2.37rem;
}
.footer_sns{
	display: flex;
	justify-content: center;
	margin-bottom: 3.24rem;
}
.footer_sns a{
	display: block;
	width: auto;
	height: 20px;
}
.footer_sns a + a{
	margin-left: 20px;
}
.footer_sns a img{
	display: block;
	width: 100%;
	height: 100%;
}
.footer_policy{
	display: inline-flex;
	font-size: 1rem;
	line-height: 2.3;
	letter-spacing: 0.06em;
	margin-bottom: 0;
}
.footer_policy a{
	color: #787878;
	transition: .3s;
}
.footer_policy a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.f_menu{
	display: none;
}
@media screen and (min-width: 768px){
	.footer_block{
		padding: 7.64rem 0 7.8rem;
		margin-top: 5.92rem;
	}
}
@media screen and (min-width: 1200px){
	.footer_block{
		padding: 9.13rem 0 11.6rem;
		margin-top: 8rem;
	}
	.footer_inner{
		display: flex;
		justify-content: space-between;
	}
	.footer_company{
		width: 392px;
		text-align: left;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.footer_logo{
		width: 341px;
		margin-bottom: 3.5rem;
	}
	.footer_add{
		margin-bottom: 3.93rem;
	}
	.footer_add p{
		line-height: 1.7;
	}
	.footer_add p + p{
		margin-top: 1.6rem;
	}
	.footer_sns{
		justify-content: flex-start;
	}
	.footer_policy .none_1200{
		display: none;
	}
	.f_menu{
		margin-bottom: 0;
		display: inline-flex;
		flex-wrap: wrap;
		width: calc((262px * 2) + 60px);
	}
	.f_menu > li{
		list-style: none;
		width: 262px;
		margin-top: 4.13rem;
		margin-right: 60px;
	}
	.f_menu > li:first-child, .f_menu > li:nth-child(2){
		margin-top: 0;
	}
	.f_menu > li:nth-child(2n){
		margin-right: 0;
	}
	.fm_tit{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size: 1.2rem;
		letter-spacing: 0.06em;
		position: relative;
		padding-bottom: 0.86rem;
		margin-bottom: 1.23rem;
	}
	.fm_tit::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: rgba(160,160,160,0.25);
	}
	.f_menu > li ul{
		margin-bottom: 0;
	}
	.f_menu > li ul li{
		list-style: none;
	}
	.f_menu > li ul li a{
		display: inline-block;
		font-size: 1rem;
		line-height: 2;
		letter-spacing: 0.06em;
		color: #646464;
		transition: .3s;
	}
	.f_menu > li ul li a:hover{
		text-decoration: none;
		opacity: 0.8;
	}
}
@media screen and (min-width: 1400px){
	.f_menu{
		width: calc((262px * 3) + 80px);
	}
	.f_menu > li{
		margin-right: 40px;
	}
	.f_menu > li:nth-child(3){
		margin-top: 0;
	}
	.f_menu > li:nth-child(2n){
		margin-right: 40px;
	}
	.f_menu > li:nth-child(3n){
		margin-right: 0;
	}
}
@media screen and (min-width: 1600px){
	.footer_inner{
		width: 90%;
		max-width: 1542px;
	}
	.f_menu{
		width: calc((262px * 3) + 120px);
	}
	.f_menu > li{
		margin-right: 60px;
	}
	.f_menu > li:nth-child(2n){
		margin-right: 60px;
	}
	.f_menu > li:nth-child(3n){
		margin-right: 0;
	}
}
/***** copyright *****/
.copyright{
	background-color: #192f60;
	color: #fff;
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
}
@media screen and (min-width: 1200px){
	.copyright{
		font-size: 0.86rem;
		letter-spacing: 0.04em;
		height: 80px;
	}
}



/* 767以下の表示設定
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 576px) {
ul.footer_menu {
	display: none;
}
}
@media screen and (max-width: 575px) {
	/*　フッター固定メニュー　*/
	ul.footer_menu {
		width: 100%;
		height: 60px;
		display: flex;
		margin: 0;
		padding: 0;
		position: fixed;
		bottom: 0;
		left:0;
		z-index: 999;
        transition: all .4s;
	}
	ul.footer_menu li {
		width: 25%;
		margin: 0;
		list-style-type: 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.5);
		top: 0;
		right: 0;
	}
	ul.footer_menu li a {
		border: none;
		text-align: center;
		text-decoration: none;
		width: 100%;
		height: 100%;
		background-color: #192f60;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	ul.footer_menu li a.c_009c94{
		background-color: #009c94;
	}
	.footer_menu .icon_menu_img{
		width: 24px;
		margin-bottom: 0.16rem;
	}
	.footer_menu .icon_menu_txt{
		font-size: 0.92rem;
		line-height: 1.66;
		letter-spacing: 0.08em;
		margin-bottom: 0;
	}
}