@charset "utf-8";

/* ==========================================
20261008@SNS非表示
========================================== */

.footer-sns-contents-title-deco {
    display: none;
}

.footer-sns-contents-link-set {
    display: none !important;
}

.footer-sns-contents-deco::after {
    display: none;
}

/* ==========================================
フッター
========================================== */

.footer {
	width: 100%;
	position: relative;
	margin: 14.7rem auto 0;
}

.footer-info-contents {
    padding: 0 1.5rem;
}

.footer-logo {
    text-align: center;
}

.footer-sns-contents {
    margin-top: 4rem;
    position: relative;
    padding: 2.7rem 0 2.9rem;
}

.footer-info-contents-block02 {
    width: 100%;
    max-width: 66.1rem;
    margin: 5.2rem auto 0;
}

.footer-sns-contents-deco::before {
	content: '';
	position: absolute;
	border-top: 0.7rem dotted var(--white);
	width: 3.3rem;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.footer-sns-contents-deco::after {
	content: '';
	position: absolute;
	border-bottom: 0.7rem dotted var(--white);
	width: 3.3rem;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

/* ====== 問い合わせ ===== */

.footer-contact {
    position: relative;
    padding: 0 1.5rem;
}

.footer-contact-frame.bg-white {
	background: var(--white);
}

.footer-contact-frame {
    padding: 4.4rem 1.5rem 6.6rem;
}

.footer-contact .text01 {
    line-height: 2.25em;
}

.footer-contact-text-box {
	margin: 4rem 0 0;
	text-align: center;
}

.footer-contact-right {
	max-width: 33.5rem;
	width: 45%;
}

.footer-btn {
	max-width: 38.0rem;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 .3rem .6rem 0 rgba(0, 0, 0, 0.16);
	border-radius: 8px;
	background-color: var(--primary);
	color: var(--white);
}

.footer-btn a:after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    width: 3.7rem;
    height: 3.7rem;
    border-radius: 50%;
    background-color: var(--white);
    z-index: 3;
    right: 1.8rem;
    font-weight: bold;
    font-size: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 0.4rem;
    transition: all .5s;
}

.footer-contact-btn.footer-btn a:after {
    color: var(--primary-light);
}

.footer-contact-btn.footer-btn a:hover:after {
    padding-left: 1rem;
}

.footer-tel-btn .footer-btn a:after {
    color: var(--primary);
}

.footer-btn a {
    padding: 1.2rem;
    text-align: center;
    min-height: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.footer-contact-btn {
	position: relative;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	background-color: var(--primary-light);
}

.footer-contact-btn>a {
    font-size: 2.1rem;
    font-weight: 500;
}

.footer-contact-btn:before {
    content: "\f1d8";
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    max-width: 3.8rem;
    width: 100%;
    position: absolute;
    left: 3rem;
    margin: 0 0 0 0;
    height: auto;
    font-size: 2.8rem;
    font-weight: 400;
    text-align: center;
    z-index: 1;
}

.footer-tel-btn {
	position: relative;
	max-width: 38.0rem;
	width: 100%;
}

.footer-tel-btn:before {
    content: "\f879";
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    max-width: 2.8rem;
    width: 100%;
    position: absolute;
    left: 4rem;
    margin: auto;
    top: 1.5rem;
    height: auto;
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    z-index: 1;
    color: #fff;
}

.footer-tel-btn a {
	font-size: 2.8rem;
	font-weight: 500;
}

.footer-sns-contents-link-set {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.7rem;
    margin-top: 2rem;
}

.footer-sns-contents-link-set .footer-sns-contents-link-image {
    max-width: 3rem;
    width: 100%;
}

.footer-sns-contents-link-image>a {
    display: block;
    transition: all .5s;
}

.footer-sns-contents-link-image>a:hover {
    transform: scale(0.9);
}

.footer-sns-contents-title-deco {
    text-align: center;
}

.footer-sns-contents-title {
    display: inline-block;
    padding: 0 2rem 0.2rem;
    background-color: var(--white);
    font-size: 1.8rem;
    font-weight: bold;
}

.footer-contact-btn-set-box {
    margin: 4rem auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
}

/* ====== 情報 ===== */

.footer-info {
	padding: 7rem 1.5rem 2rem;
	margin-top: 12.4rem;
}

.footer-info-frame {
	padding: 0;
}

.footer-nav-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer-info-row {
	align-items: flex-start;
}

.footer-nav {
	font-size: 2rem;
	letter-spacing: 0.05em;
}

.copyright-box {
	margin-top: 8.9rem;
}

.copyright-text {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
}

.bg-footer-deco {
	background: url(../../../../uploads/f_bg_deco_left.png),url(../../../../uploads/f_bg_deco_right.png),linear-gradient(var(--gradation-primary));
	background-repeat: no-repeat,no-repeat;
	background-position: left bottom, right top;
	background-size: auto;
}



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

	/* ==========================================
	フッター
	========================================== */

	.footer {
		margin: 8rem auto 0;	
	}

	.footer-contact:before  {
		max-width: 74.2rem;
		width: 100%;
		height: 100%;
		background-image: url(../../../../uploads/2025/05/footer_contact_sp.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		z-index: 1;
	}

	.footer-info-contents-block02 {
	    display: none;
	}

	.footer-contact .en-title01 {
		font-size: 4rem;
	}

	.footer-contact-left, .footer-info-left {
		width: 100%;
	}

	.footer-contact-title-box {
		text-align: center !important;
	}

	.footer-contact-right {
		width: 100%;
		margin: 3rem auto 0;
	}

	.footer-info {
		padding: 8rem 0 0;
	}

	.footer-info-frame {
		padding: 0 0 5rem 0;
	}

	.footer-info-left {
		text-align: center;
	}
		
	.footer-logo {
		margin: 0 auto;
	}

	.footer-tel-row {
		justify-content: center;
	}


	.footer-info-right {
		display: none;
	}

	.footer-contact-btn-set-box {
	    flex-direction: column;
	    gap: 2rem;
	}

	.footer-info {
		margin-top: 8rem;
	}

	.copyright-box {
		margin-top: 5.9rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

	.footer-contact .en-title01 {
		font-size: 3rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {

	.footer-contact-text-box {
		text-align: left;
	}

	.footer-contact-text-box br {
		display: none;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */