@charset "UTF-8";
/*------------------------*/

/*フッター*/

/*-----------------------*/
:root{
	    /* is clamp setting / max 320px min 180px / max-vw 1280px min-vw 320px */
		--footer-logo-size: clamp(11.25rem, 8.333rem + 14.58vw, 20rem);
		--footer-logo-size--fb: 320px;
}
@media(max-width:959px){
    :root{
        --footer-logo-size--fb: 260px;
    }
}
@media(max-width:559px){
    :root{
        --footer-logo-size--fb: 180px;
    }
}
#footer{
	margin-top: var(--space-tb-2xl);
	width: 100%;
}
/*-----------------------*/
/* company&contact ボタン */
.company-contact__wrapper{
	background-image: url(../../images/common/bg_company-contact.jpg);
	background-size: cover;
	background-position: center;
	padding: 5em 0;

	display: flex;
	align-items: center;
}
.company-contact__inner{
	width: var(--flexible-width);
	margin: 0 auto;

	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: calc(24rem/16) min(4vw, calc(40rem/16));
}
.company-contact__inner .border-button{
	font-size: var(--txt-xl--fb);
	font-size: var(--txt-xl);
	font-family: var(--alphabet);
	color: var(--color-white);

	flex-grow: 1;
	background-color: transparent;
	border: solid 1px var(--color-white);
	width: max(
		calc(320rem/16),
		calc(50% - min(4vw, calc(40rem/16)))
	);
	max-width: 100%;
	padding: 0.4em 0;

	display: flex;
	justify-content: center;
	align-items: center;

	transition: background-color .2s var(--linear),
	color .2s var(--linear);
}
/*-----------------------*/
/* テキスト */
.footer__txt-wrapper{
	width: 100%;
	background-color: var(--color-main-pale);
}
.footer__txt-inner{
	padding: calc(64rem/16) 0;
    width: var(--flexible-width);
    margin-right: auto;
    margin-left: auto;
}
/* ロゴ */
a.footer-logo-link{
    display: inline-block;
    width: var(--footer-logo-size--fb);
    width: var(--footer-logo-size);

    transition: opacity .2s var(--linear);
}
a.footer-logo-link > img{
	width: 100%;
	height: auto;
}
/*-----------------------*/
/* 社名 & 住所 */
.company-name__footer{
	margin-top: calc(24rem/16);
	font-feature-settings: "palt";
    line-height: 1.35;
}
.address-info__footer{
	font-feature-settings: "palt";
    line-height: 1.35;
}
.address,
.contact-number{
    font-size: var(--txt-reg--fb);
    font-size: var(--txt-reg);
    font-feature-settings: "palt";
    line-height: 1.35;

	display: flex;
}
.contact-number .tel{
    margin-right: 1em;
}
/*-----------------------*/
/* サイトマップ */
#footer-sitemap__inner{
	margin-top: calc(40rem/16);
	width: 100%;

	display: flex;
	flex-wrap: wrap;
}
#footer-sitemap__inner > li + li{
	margin-left: 3em;
}
#footer-sitemap__inner > li > a{
	color: var(--color-bk);
	font-size: calc(14rem/16);
	font-family: var(--alphabet);
	letter-spacing: 0.2em;
	
	transition: opacity .2s var(--linear);
}
/*-----------------------*/
/* hover設定 */
@media(any-hover:hover){
	/* COMPANY CONTACT ボタン */
	.company-contact__inner .border-button:hover,
	.company-contact__inner .border-button:focus{
		background-color: var(--color-white);
		color: var(--color-bk)
	}
	/* ロゴ */
	a.footer-logo-link:hover,
    a.footer-logo-link:focus{
        opacity: 0.7;
    }
	/* サイトマップ メニュー */
	#footer-sitemap__inner > li > a:hover,
	#footer-sitemap__inner > li > a:focus{
		opacity: 0.7;
	}
}
/*-----------------------*/
/*コピーライト*/
#copyright{
	color: var(--color-white);
	background-color: var(--color-main);
	font-size: var(--txt-sm--fb);
	font-size: var(--txt-sm);
	text-align: center;
	padding: 1.5em 0;
}



/*-------------------------------*/

/* Tablet 959px */

/*------------------------------*/
@media(max-width: 959px){
	/*-----------------------*/
	/* company&contact ボタン */
	.company-contact__wrapper{
		padding: 3em 0;
	}
	/*-----------------------*/
	/* テキスト */
	.footer__txt-inner{
		padding-top: calc(56rem/16);
		padding-bottom: calc(56rem/16);
	}
	/*-----------------------*/
	/* 社名 & 住所 */
	.address-info__footer{
		padding: 0.5em 0;
	}
	.address,
	.contact-number{
		display: block;
		padding-bottom: calc(24rem/16);
		border-bottom: solid 1px var(--color-main-soft);
	}
	/*-----------------------*/
	/* サイトマップ */
	#footer-sitemap__inner{
		margin-top: calc(24rem/16);
		width: calc(560rem/16);
		max-width: 100%;
		gap: 0.8em 1em;
	}
	#footer-sitemap__inner > li{
		width: calc(calc(100%/3) - 1em);
	}
	#footer-sitemap__inner > li + li{
		margin-left: 0;
	}
}



/*-------------------------------*/

/* Smartphone 559px */

/*------------------------------*/
@media(max-width:559px){
	/*-----------------------*/
	/* company&contact ボタン */
	.company-contact__wrapper{
		padding: max(5.5vw, calc(24rem/16)) 0;
	}
	/*-----------------------*/
	/* テキスト */
	.footer__txt-inner{
		padding-top: calc(40rem/16);
		padding-bottom: calc(40rem/16);
	}
	/*-----------------------*/
	/* サイトマップ */
	#footer-sitemap__inner{
		width: 100%;
	}
	#footer-sitemap__inner > li{
		width: 100%;
	}
}