@charset "utf-8";

/* ==========================================
ヘッダー
========================================== */

header {
    width: 100%;
	background-color: var(--tertiary);
    position: fixed;
    z-index: 999;
}

.header-frame {
	max-width: 187.2rem;
	width: 100%;
	margin: 0 auto;
    padding: 2.8rem 1.5rem 3.1rem;
}

.header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
	max-width: 34.6rem;
	width: 20%;
}

.header-logo a {
	display: block;
}

.header-logo-text {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.8em;
    text-align: center;
    margin: 0.5rem 0 0;
}

.header-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 80%;
}

.header-nav .navi-link a {
	display: block;
	font-family: var(--font-family01);
	margin: 0 7rem 0 0;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.header-sns {
	width: 3.5rem;
	margin: 0 5.5rem 0 0;
}

.header-sns a {
	display: block;
}

.header-tel-btn {
    max-width: 28.6rem;
    width: 20%;
    height: 5.4rem;
    padding: .2rem 1.5rem .8rem 3.5rem;
}

.header-tel-btn.tel-btn:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3.5rem;
	margin: auto;
	max-width: 2.4rem;
	width: 20%;
	height: 3rem;
    background: url(../../../../uploads/tel-white.svg) no-repeat center;
	background-size: contain;
}


/* ==========================================
フッターお問い合わせ
========================================== */

.footer-contact {
	border-radius: 0 30rem 0 0;
	overflow: hidden;
}


.footer-contact.mask-black:after {
	background-color: var(--mask-black);
}

.footer-img-box>.footer-img {
    width: 100%;
    height: 100%;
    position: relative;
}

.footer-img-box>.footer-img>img {
    width: 100%;
    height: 44.5rem;
    object-fit: cover;
}

.footer-contact-frame {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 72.1rem;
    width: 100%;
	height: 70%;
    margin: auto;
    z-index: 2;
}

.footer-contact-text-box {
    text-align: center;
}

.footer-contact-row {
    margin: 5.2rem auto 0;
}

.footer-btn {
    max-width: 32.1rem;
    width: 48%;
    height: 5.4rem;
    padding: 0 1.5rem;
}

.footer-btn:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3.5rem;
	margin: auto;
}

.tel-btn.bg-quaternary {
    background-color: var(--quaternary);
}

.tel-btn {
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: .2rem 1.5rem .8rem 3.5rem;
	position: relative;
}

.tel-btn:after {
	max-width: 2.4rem;
	width: 20%;
	height: 3rem;
    background: url(../../../../uploads/tel-white.svg) no-repeat center;
	background-size: contain;
}

.footer-contact-btn.footer-btn {
    height: auto;
	padding: 0;
}

.footer-contact-btn a {
	display: flex;
	align-items: center;
	width: 100%;
    height: 5.4rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
    padding: .5rem 1.5rem .5rem 8rem;
	transition: all .3s;
}

.footer-contact-btn.bg-white a {
	background-color: var(--white);
	transition: all .3s;
}

.footer-contact-btn:after {
	max-width: 2.9rem;
	width: 20%;
	height: 2.2rem;
    background: url(../../../../uploads/contact-black.svg) no-repeat center;
	background-size: contain;
}

.footer-contact-btn.bg-white a:hover {
	background-color: var(--secondary);
	transition: all .3s;
}

/* ==========================================
フッター
========================================== */

.footer-info.bg-fifth {
	background-color: var(--fifth);
}

.footer-info {
	padding: 7rem 0 3rem;
}

.footer-info-row {
	align-items: flex-end;
}

.footer-info .text01 {
	font-weight: 700;
}

.footer-info-frame {
    max-width: 125rem;
	padding: 0 1.5rem 6.6rem ;
}

.footer-logo {
	max-width: 24.8rem;
	width: 100%;
}

.footer-add {
	margin: 3.6rem 0 0;
}

.footer-tel-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 1.5rem 0 0;
}

.footer-info-right {
    width: 55%;
    max-width: 66rem;
}

.footer-navi-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 2rem 0 0;
}

.footer-navi {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.footer-sns-box {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 3rem 0 0 auto;
}

.footer-sns a:nth-child(n+2) {
	display: block;
	margin-right: 3rem;
}

.copyright-box {
	padding: 1.5rem 1.5rem 0;
	border-top: .1rem solid var(--secondary);
}

.copyright-text {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}



/* ==========================================
色
========================================== */



/* ==========================================
ボタン
========================================== */





/* ==========================================
スマホ固定ヘッダー
========================================== */



/* ---------- ハンバーガーボタン ---------- */



/* ---------- ハンバーガーメニュー ---------- */



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {

	html {
		/* 10px */
		font-size: 0.52083vw;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

	html {
		/* 10px */
		font-size: 0.64516vw;
	}

	.header-nav .navi-link a {
		margin: 0 5rem 0 0;
	}

	.header-tel-btn.tel-btn:after {
		left: 2rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

	html {
		/* 10px */
		font-size: 0.97656vw;
	}

	.header-nav .navi-link a {
		margin: 0 3rem 0 0;
		font-size: 1.4rem;
	}

	.header-sns {
		margin: 0 3rem 0 0;
	}

	.header-tel-btn {
		width: 30%;
	}

	.header-tel-btn.tel-btn {
		padding: .2rem 1.5rem .3rem 3.5rem;
	}

	.header-tel-btn.tel-btn {
		font-size: 2rem;
	}

	.header-logo-text {
	    font-size: 1.1rem;
	}

	/* ==========================================
	フッター
	========================================== */

	.footer-contact {
		border-radius: 0 20rem 0 0;
	}


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

	html {
		/* 10px */
		font-size: 1.30208vw;
	}


	/* ==========================================
	ヘッダー
	========================================== */

	.header-frame {
	padding: 1.5rem;
	}

	.header-logo {
		max-width: 23rem;
		width: 60%;
		margin: 0 auto;
	}

	.header-nav {
		display: none;
	}

	.header-logo-text {
	    font-size: 1.3rem;
	}

	/* ==========================================
	フッター
	========================================== */

	.footer-contact {
		border-radius: 0 15rem 0 0;
	}

	.footer-contact-frame {
		height: 95%;
	}

	.footer-btn {
		width: 100%;
	}

	.footer-contact-btn {
		margin: 2rem auto 0;
	}

	.footer-logo {
    	margin: 0 auto;
	}

	.footer-info-row {
		align-items: center;
	}

	.footer-add {
		text-align: center;
	}

	.footer-tel-row {
		justify-content: center;
	}

	.footer-navi-box {
		display: none;
	}

	.footer-navi {
		display: none;
	}

	.footer-sns-box {
		justify-content: center;
	}


	/* ---------- ハンバーガーボタン ---------- */



	/* ---------- ハンバーガーメニュー ---------- */

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

	html {
		/* 12px */
		font-size: 2.08333vw;
	}



	/* ==========================================
	フッター
	========================================== */

	.footer-contact {
		border-radius: 0 10rem 0 0;
	}


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */