/* =========================================================
	SITE FOOTER
	Mobile First
========================================================= */
.site-footer {
	--footer-bg: #f3f3f3;
	--footer-text: #25202c;
	--footer-muted: #66616b;
	--footer-accent: #955c9f;
    --footer-drawer: #955c9f;
	--footer-line: #d4d1d5;
	--footer-white: #fff;
	background: var(--footer-bg);
	color: var(--footer-text);
}
.site-footer,
.site-footer *,
.site-footer *::before,
.site-footer *::after {
	box-sizing: border-box;
}
/* =========================================================
	INNER
	基本：SP
========================================================= */
.site-footer__inner {
	max-width: 1120px;
	margin-inline: auto;
	padding: 25px 0 35px;
}
/* =========================================================
	TOP
	基本：SPでは縦積み
========================================================= */
.site-footer__top {
	display: block;
}

/* =========================================================
	LOGO
========================================================= */
.site-footer__brand {
	display: block;
	text-align: center;
}
.site-footer__brand-row { display: block;}
.site-footer__logo {
	display: inline-block;
	width: 70%;
}
.site-footer__logo img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}


/* =========================================================
	CONTACT
========================================================= */
.site-footer__contact {
    width: 90%;
    margin: 10px auto 0;
}
/* 営業時間 */
.site-footer__hours {
	margin: 0 0 12px;
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
	white-space: normal;
}
.site-footer__hours strong { font-weight: 700;}


/* =========================================================
	お問い合わせボタン
========================================================= */
.site-footer__contact-button {
	display: grid;
	grid-template-columns: 24px 1fr 12px;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 50px;
	padding: 10px 22px;
	background: var(--footer-white);
	border: 1px solid var(--footer-accent);
	border-radius: 999px;
	color: var(--footer-accent);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.site-footer__contact-button:hover {
	background: var(--footer-accent);
	color: #fff;
}


/* メールアイコン */
.site-footer__contact-icon {
	display: block;
	width: 24px;
	height: 24px;
}
/* ボタン中央テキスト */
.site-footer__contact-button > span:nth-child(2) { text-align: center;}

/* 右矢印 */
.site-footer__contact-arrow {
	display: block;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}

/* =========================================================
	TEL
========================================================= */
.site-footer__tel {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
	color: var(--footer-text);
	font-family: inherit;
	text-decoration: none;
}
.site-footer__tel-label {
	font-size: 14px;
	font-weight: 700;
}
.site-footer__tel-number {
	font-family: inherit;
    font-size: clamp(26px, 6vw, 27px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .025em;
	font-variant-numeric: tabular-nums;
}

/* =========================================================
	FOOTER NAV
	基本：SPアコーディオン
========================================================= */
.site-footer__nav {
	display: block;
	margin-top: 30px;
}

/* =========================================================
	DETAILS
========================================================= */
.footer-nav {
	display: block;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--footer-line);
}
.footer-nav:last-child { border-bottom: 1px solid var(--footer-line);}

/* details標準マーカー削除 */
.footer-nav__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 0 20px;
	color: #fff;
    background:var(--footer-drawer);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	list-style: none;
	cursor: pointer;
}

.footer-nav__summary::-webkit-details-marker { display: none;}
.footer-nav__summary::marker { content: "";}

/* 見出し */
.footer-nav__summary > span {
	display: block;
	padding-bottom: 0;
}

/* =========================================================
	SP アコーディオン矢印
========================================================= */
.footer-nav__summary::after {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-right: 1.5px solid #fff;
	border-bottom: 1.5px solid #fff;
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.footer-nav[open] .footer-nav__summary::after { transform: rotate(225deg);}

/* =========================================================
	アコーディオン内容
========================================================= */
.footer-nav__panel { padding: 0;}

/* =========================================================
	NAV LIST
========================================================= */
.footer-nav__list {
	display: grid;
	margin: 0;
	padding: 0;
}

.footer-nav__list li {
	border-bottom: 1px solid var(--footer-line);
    background: #fff;
    }

.footer-nav__list a {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    color: var(--footer-text);
    font-size: 14px;
    line-height: 1.7;
    text-decoration: none;
    transition: color .2s ease;
    width: 100%;
    padding: 10px 0 10px 20px;
}

.footer-nav__list a::before {
	content: ">";
	flex: 0 0 auto;
	color: var(--footer-accent);
	line-height: 1;
}
.footer-nav__list a:hover {	color: var(--footer-accent);}

/* =========================================================
	BOTTOM
	基本：SP
========================================================= */
.site-footer__bottom {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	gap: 15px;
	margin-top: 15px;
	padding-top: 0px;
}

/* =========================================================
	P MARK
	SPでは法務リンクより上
========================================================= */
.site-footer__privacy-mark {
	display: block;
	order: -1;
	justify-self: center;
}
.site-footer__privacy-mark img {
	display: block;
	width: 55px;
	height: auto;
}

/* =========================================================
	LEGAL
========================================================= */
.site-footer__legal { width: 100%;}

/* =========================================================
	UTILITY LINKS
========================================================= */
.site-footer__utility-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer__utility-links li {
	display: flex;
	align-items: center;
}
.site-footer__utility-links li:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 12px;
	margin-inline: 9px;
	background: #8b868e;
}
.site-footer__utility-links a {
	color: var(--footer-text);
	font-size: 12px;
	line-height: 1.6;
	text-decoration: none;
}
.site-footer__utility-links a:hover { text-decoration: underline;}

/* =========================================================
	COPYRIGHT
========================================================= */
.site-footer__copyright {
	margin-top: 18px;
	color: var(--footer-muted);
	font-size: 10px;
	line-height: 1.7;
	text-align: center;
}
.site-footer__copyright p { margin: 0;}
.site-footer__copyright a {
	color: inherit;
	text-decoration: underline;
}

/* =====================================
	SP：アコーディオンをなめらかに開閉
===================================== */
@media (max-width: 767px) {
	.site-footer { interpolate-size: allow-keywords;}
	.footer-nav::details-content {
		block-size: 0;
		overflow: hidden;
		opacity: 0;
		transition: block-size .35s ease, opacity .25s ease, content-visibility .35s allow-discrete;
	}
	.footer-nav[open]::details-content {
		block-size: auto;
		opacity: 1;
	}
	@starting-style {
		.footer-nav[open]::details-content {
			block-size: 0;
			opacity: 0;
		}
	}
}

/* =========================================================
	PC
	768px以上
========================================================= */
@media (min-width: 768px) {
	/* =====================================================
		INNER
	===================================================== */
.site-footer__inner { padding: 55px 0 80px;}

/* =====================================================
	TOP
===================================================== */
.site-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	align-items: start;
	gap: clamp(80px, 10vw, 150px);
}

/* =====================================================
	LOGO
===================================================== */
.site-footer__brand {
	display: flex;
	align-items: flex-start;
	text-align: left;
}
.site-footer__brand-row {
	display: block;
}
.site-footer__logo {
	display: inline-block;
	width: auto;
}
.site-footer__logo img {
	width: 380px;
}

/* =====================================================
	CONTACT
===================================================== */
.site-footer__contact {
	width: 100%;
	max-width: 400px;
	margin-top: 0;
	justify-self: end;
}
/* 営業時間 */
.site-footer__hours {
	margin: 0 0 14px;
	font-size: 14px;
	white-space: nowrap;
}

/* =====================================================
	CONTACT BUTTON
===================================================== */
.site-footer__contact-button {
	grid-template-columns: 28px 1fr 12px;
	min-height: 60px;
	padding: 0 28px;
	font-size: 17px;
}
.site-footer__contact-icon {
	width: 26px;
	height: 26px;
}

/* =====================================================
	TEL
===================================================== */
.site-footer__tel {
	gap: 10px;
	margin-top: 14px;
	pointer-events: none;
}
.site-footer__tel-label { font-size: 18px;}
.site-footer__tel-number { font-size: 32px;}

/* =====================================================
	NAV
	PCでは通常の4カラム
===================================================== */
.site-footer__nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(42px, 6vw, 78px);
	margin-top: 45px;
}

/* =====================================================
	DETAILS
	PCではアコーディオン感を消す
===================================================== */
.footer-nav {
	display: block;
	border: 0;
	background: transparent;
}
.footer-nav:last-child { border-bottom: none;}

/* 見出し */
.footer-nav__summary {
	min-height: 0;
	padding: 0;
	color: var(--footer-text);
	 font-size: 15px;
	cursor: default;
	pointer-events: none;
 	background: none;
}
/* SP用の矢印を消す */
.footer-nav__summary::after {
	display: none;
	content: none;
}

/* =====================================================
	PC見出し
===================================================== */
.footer-nav__summary > span {
	position: relative;
	display: inline-block;
	padding-bottom: 14px;
}
/* 短い紫ライン */
.footer-nav__summary > span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 1px;
	background: var(--footer-accent);
}

/* =====================================================
	PCではdetailsの中身を常時表示
===================================================== */
.footer-nav__panel {
	display: block !important;
	margin: 0;
	padding: 0;
}
/*	従来型detailsのclosed状態を上書き */
.footer-nav:not([open]) > .footer-nav__panel {
	display: block !important;
}
/*	Chromiumの新しいdetails-content対策 */
.footer-nav:not([open])::details-content {
	display: block !important;
	height: auto !important;
	block-size: auto !important;
	overflow: visible !important;
	content-visibility: visible !important;
}

/* =====================================================
	NAV LIST
===================================================== */
.footer-nav__list {
	display: grid;
	gap: 10px;
	margin-top: 20px;
}
.footer-nav__list li { border-bottom: none; background: none;}
.footer-nav__list a {
	gap: 10px;
	font-size: 14px;
	padding: 0;
}

/* =====================================================
	BOTTOM
===================================================== */
.site-footer__bottom {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	justify-items: normal;
	gap: 40px;
	margin-top: 55px;
	padding-top: 25px;
	border-top: 1px solid var(--footer-line);
}

/* =====================================================
	P MARK
	PCでは右下
===================================================== */
.site-footer__privacy-mark {
	order: initial;
	align-self: end;
	justify-self: auto;
}
.site-footer__privacy-mark img {
	width: 76px;
}

/* =====================================================
	LEGAL
===================================================== */
.site-footer__legal {
	width: auto;
}
/* =====================================================
	UTILITY LINKS
===================================================== */
.site-footer__utility-links {
	justify-content: flex-start;
}
.site-footer__utility-links li:not(:last-child)::after {
	height: 13px;
	margin-inline: 14px;
}
.site-footer__utility-links a {
	font-size: 13px;
}

/* =====================================================
	COPYRIGHT
===================================================== */
.site-footer__copyright {
	margin-top: 18px;
	font-size: 12px;
	text-align: left;
}
}