/*
Theme Name: Astra Child - 工藤鈑金
Template: astra
Description: 工藤鈑金株式会社 公式サイト用子テーマ。デザイン定義（kudo/design-direction.md）準拠。
Version: 1.0.0
Author: kudo workspace
Text Domain: astra-child-kudo
*/

/* ============================================================
   デザイントークン
   ============================================================ */
:root {
	--kudo-navy: #1D2D44;
	--kudo-navy-dark: #15202F;
	--kudo-bg: #F5F2EE;
	--kudo-terra: #C0622F;
	--kudo-text: #2B2B2B;
	--kudo-sub: #6B6B6B;
	--kudo-border: #DEDAD5;
	--kudo-line: #06C755;
	--kudo-serif: 'Noto Serif JP', serif;
	--kudo-sans: 'Noto Sans JP', sans-serif;
	--kudo-en: 'Montserrat', sans-serif;
}

/* ============================================================
   ベース
   ============================================================ */
body {
	font-family: var(--kudo-sans);
	color: var(--kudo-text);
	background-color: var(--kudo-bg);
	line-height: 1.9;
}

h1, h2, h3, h4 {
	font-family: var(--kudo-serif);
	color: var(--kudo-navy);
	line-height: 1.5;
}

.site-content,
.ast-container {
	padding: 0 !important;
	max-width: none !important;
	display: block !important;
}

.entry-content > * {
	margin: 0;
}

.kudo-container {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 24px;
}

.kudo-section {
	padding: 88px 0;
}

.kudo-section--alt {
	background: #FFFFFF;
}

.kudo-section--navy {
	background: var(--kudo-navy);
	color: #fff;
}

.kudo-h2 {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 12px;
}

.kudo-h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	background: var(--kudo-terra);
	margin: 18px auto 0;
}

.kudo-lead {
	text-align: center;
	color: var(--kudo-sub);
	margin: 0 auto 48px;
	max-width: 720px;
}

.kudo-num {
	font-family: var(--kudo-en);
	font-weight: 700;
}

/* ============================================================
   ヘッダー
   ============================================================ */
.kudo-header {
	background: var(--kudo-navy);
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}

body.admin-bar .kudo-header { top: 32px; }

.kudo-header__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 68px;
}

.kudo-header__logo {
	font-family: var(--kudo-serif);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff !important;
	text-decoration: none;
	line-height: 1.3;
	flex-shrink: 0;
}

.kudo-header__logo small {
	display: block;
	font-family: var(--kudo-sans);
	font-size: .65rem;
	font-weight: 400;
	color: rgba(255, 255, 255, .7);
	letter-spacing: .05em;
}

.kudo-nav {
	margin-left: auto;
}

.kudo-nav ul {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kudo-nav a {
	display: block;
	padding: 8px 12px;
	color: rgba(255, 255, 255, .92) !important;
	font-size: .85rem;
	text-decoration: none;
	border-radius: 4px;
	transition: background .2s, color .2s;
}

.kudo-nav a:hover {
	background: rgba(255, 255, 255, .1);
	color: #fff !important;
}

.kudo-nav li {
	position: relative;
}

.kudo-nav .menu-item-has-children > a::after {
	content: '▾';
	display: inline-block;
	margin-left: 4px;
	font-size: .65em;
	vertical-align: middle;
}

.kudo-nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 160px;
	background: var(--kudo-navy-dark);
	border-radius: 4px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
	padding: 4px;
	z-index: 1000;
}

.kudo-nav .menu-item-has-children:hover > .sub-menu,
.kudo-nav .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.kudo-nav .sub-menu a {
	white-space: nowrap;
}

.kudo-header__cta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.kudo-header__tel {
	color: #fff !important;
	text-decoration: none;
	font-family: var(--kudo-en);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.2;
	text-align: right;
}

.kudo-header__tel small {
	display: block;
	font-family: var(--kudo-sans);
	font-weight: 400;
	font-size: .6rem;
	color: rgba(255, 255, 255, .7);
}

.kudo-btn--line-header {
	background: var(--kudo-line);
	color: #fff !important;
	font-size: .8rem;
	font-weight: 700;
	padding: 9px 16px;
	border-radius: 4px;
	text-decoration: none;
	transition: opacity .2s;
}

.kudo-btn--line-header:hover { opacity: .85; }

.kudo-header__toggle {
	display: none;
	background: none;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 4px;
	color: #fff;
	font-size: .8rem;
	padding: 8px 12px;
	cursor: pointer;
	margin-left: auto;
}

@media (max-width: 980px) {
	.kudo-header__toggle { display: block; flex-shrink: 0; }
	.kudo-header__cta { display: none; }
	.kudo-header__inner { gap: 10px; padding: 0 14px; min-height: 60px; }
	.kudo-header__logo { font-size: 1.02rem; min-width: 0; }
	.kudo-header__logo small { font-size: .56rem; }
	.kudo-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--kudo-navy-dark);
		padding: 12px 20px 20px;
	}
	.kudo-header.is-open .kudo-nav { display: block; }
	.kudo-nav ul { flex-direction: column; gap: 0; }
	.kudo-nav a {
		padding: 13px 8px;
		border-bottom: 1px solid rgba(255, 255, 255, .12);
		font-size: .95rem;
	}
	.kudo-nav .menu-item-has-children > a::after {
		display: none;
	}
	.kudo-nav .sub-menu {
		display: block;
		position: static;
		background: rgba(0, 0, 0, .15);
		box-shadow: none;
		border-radius: 0;
		padding: 0 0 0 16px;
	}
	.kudo-nav .sub-menu a {
		font-size: .85rem;
		padding: 11px 8px;
	}
}

/* ============================================================
   ボタン
   ============================================================ */
.kudo-btn {
	display: inline-block;
	background: var(--kudo-navy);
	color: #fff !important;
	font-weight: 700;
	font-size: .95rem;
	padding: 15px 36px;
	border-radius: 5px;
	text-decoration: none;
	transition: opacity .2s, transform .1s;
	text-align: center;
}

.kudo-btn:hover { opacity: .88; }

.kudo-btn--terra { background: var(--kudo-terra); }
.kudo-btn--line { background: var(--kudo-line); }

.kudo-btn--white {
	background: #fff;
	color: var(--kudo-navy) !important;
}

.kudo-btn--outline {
	background: transparent;
	border: 2px solid var(--kudo-navy);
	color: var(--kudo-navy) !important;
}

.kudo-btn-row {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 32px;
}

/* ============================================================
   ヒーロー
   ============================================================ */
.kudo-hero {
	background-size: cover;
	background-position: center calc(100% + var(--kudo-hero-parallax-y, 0px));
	color: #fff;
	text-align: center;
	padding: 140px 24px 150px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	will-change: background-position;
}

.kudo-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(21, 32, 47, .48);
	z-index: -1;
}

.kudo-hero h1 {
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 0 20px;
	letter-spacing: .04em;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}

.kudo-hero p {
	font-size: 1.02rem;
	color: rgba(255, 255, 255, .92);
	max-width: 640px;
	margin: 0 auto;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .4);
}

.kudo-hero__badge {
	display: inline-block;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 3px;
	font-size: .8rem;
	letter-spacing: .15em;
	padding: 5px 18px;
	margin-bottom: 28px;
	color: rgba(255, 255, 255, .9);
}

@media (max-width: 768px) {
	.kudo-hero {
		padding: 90px 24px 100px;
		background-position: center bottom;
		will-change: auto;
	}
	.kudo-hero h1 { font-size: 1.6rem; }
	.kudo-section { padding: 56px 0; }
	.kudo-h2 { font-size: 1.45rem; }
}

/* ============================================================
   グリッド・カード
   ============================================================ */
.kudo-grid {
	display: grid;
	gap: 24px;
}

.kudo-grid--2 { grid-template-columns: repeat(2, 1fr); }
.kudo-grid--3 { grid-template-columns: repeat(3, 1fr); }
.kudo-grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 980px) {
	.kudo-grid--3, .kudo-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.kudo-grid--2, .kudo-grid--3 { grid-template-columns: 1fr; }
	.kudo-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

.kudo-card {
	background: #fff;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(43, 43, 43, .05);
	padding: 32px 28px;
}

.kudo-card h3 {
	font-size: 1.12rem;
	margin: 0 0 14px;
}

.kudo-card p {
	font-size: .92rem;
	color: var(--kudo-text);
	margin: 0;
}

.kudo-card__num {
	font-family: var(--kudo-en);
	font-weight: 700;
	font-size: .85rem;
	color: var(--kudo-terra);
	letter-spacing: .1em;
	display: block;
	margin-bottom: 8px;
}

.kudo-card--photo {
	padding: 0;
	overflow: hidden;
}

.kudo-card--photo img {
	width: 100%;
	height: auto;
	display: block;
}

.kudo-card--photo .kudo-card__body { padding: 20px 24px 26px; }

/* 数字で見るカード */
.kudo-stat {
	background: #fff;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
	text-align: center;
	padding: 36px 20px 30px;
}

.kudo-stat__num {
	font-family: var(--kudo-en);
	font-weight: 700;
	font-size: 2.5rem;
	color: var(--kudo-navy);
	line-height: 1.1;
	display: block;
}

.kudo-stat__num small {
	font-family: var(--kudo-serif);
	font-size: 1.15rem;
	font-weight: 700;
}

.kudo-stat__label {
	display: block;
	font-weight: 700;
	color: var(--kudo-terra);
	font-size: .92rem;
	margin: 10px 0 12px;
}

.kudo-stat p {
	font-size: .8rem;
	color: var(--kudo-sub);
	margin: 0;
	text-align: left;
}

/* ============================================================
   テーブル
   ============================================================ */
.kudo-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .92rem;
	background: #fff;
}

.kudo-table th,
.kudo-table td {
	border: 1px solid var(--kudo-border);
	padding: 14px 18px;
	text-align: left;
	vertical-align: top;
}

.kudo-table th {
	background: #EFEBE6;
	color: var(--kudo-navy);
	font-weight: 700;
	width: 28%;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.kudo-table th { width: 34%; white-space: normal; }
	.kudo-table th, .kudo-table td { padding: 11px 12px; font-size: .85rem; }
}

/* ============================================================
   サービス詳細セクション
   ============================================================ */
.kudo-service {
	background: #fff;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
	padding: 40px;
	margin-bottom: 36px;
}

.kudo-service h2 {
	font-size: 1.45rem;
	margin: 0 0 6px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--kudo-navy);
}

.kudo-service h3 {
	font-family: var(--kudo-sans);
	font-size: 1rem;
	color: var(--kudo-terra);
	margin: 28px 0 10px;
}

.kudo-service__cols {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 32px;
	align-items: start;
}

.kudo-service__cols img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	border: 1px solid var(--kudo-border);
}

.kudo-service figcaption {
	font-size: .78rem;
	color: var(--kudo-sub);
	margin-top: 6px;
}

.kudo-service ul {
	margin: 0;
	padding-left: 1.3em;
	font-size: .92rem;
}

.kudo-service ul li { margin-bottom: 6px; }

@media (max-width: 768px) {
	.kudo-service { padding: 26px 20px; }
	.kudo-service__cols { grid-template-columns: 1fr; }
}

/* チェックリスト風 */
.kudo-check {
	list-style: none;
	padding: 0 !important;
	margin: 0;
}

.kudo-check li {
	padding-left: 1.6em;
	position: relative;
	margin-bottom: 8px;
}

.kudo-check li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--kudo-terra);
	font-weight: 700;
}

/* ============================================================
   代表メッセージ
   ============================================================ */
.kudo-message {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	align-items: start;
}

.kudo-message img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	border: 1px solid var(--kudo-border);
}

.kudo-message__sign {
	text-align: right;
	font-family: var(--kudo-serif);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--kudo-navy);
	margin-top: 24px;
}

@media (max-width: 768px) {
	.kudo-message { grid-template-columns: 1fr; }
	.kudo-message img { max-width: 280px; margin: 0 auto; display: block; }
}

/* ============================================================
   タイムライン（採用：一日の流れ）
   ============================================================ */
.kudo-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 620px;
	margin: 0 auto;
}

.kudo-timeline li {
	position: relative;
	padding: 0 0 28px 110px;
	border-left: 2px solid var(--kudo-border);
	margin-left: 80px;
}

.kudo-timeline li:last-child { padding-bottom: 0; }

.kudo-timeline li::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 8px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--kudo-terra);
}

.kudo-timeline__time {
	position: absolute;
	left: -86px;
	top: 0;
	font-family: var(--kudo-en);
	font-weight: 700;
	color: var(--kudo-navy);
	font-size: 1rem;
}

.kudo-timeline strong {
	display: block;
	color: var(--kudo-navy);
}

.kudo-timeline span.kudo-timeline__desc {
	font-size: .85rem;
	color: var(--kudo-sub);
}

@media (max-width: 600px) {
	.kudo-timeline li { padding-left: 90px; margin-left: 60px; }
	.kudo-timeline__time { left: -66px; font-size: .85rem; }
}

/* ============================================================
   FAQ
   ============================================================ */
.kudo-faq {
	background: #fff;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
	margin-bottom: 14px;
	overflow: hidden;
}

.kudo-faq summary {
	cursor: pointer;
	padding: 18px 48px 18px 22px;
	font-weight: 700;
	color: var(--kudo-navy);
	position: relative;
	list-style: none;
}

.kudo-faq summary::-webkit-details-marker { display: none; }

.kudo-faq summary::before {
	content: "Q";
	font-family: var(--kudo-en);
	color: var(--kudo-terra);
	font-weight: 700;
	margin-right: 12px;
}

.kudo-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--kudo-en);
	font-size: 1.3rem;
	color: var(--kudo-sub);
}

.kudo-faq[open] summary::after { content: "−"; }

.kudo-faq__a {
	padding: 0 22px 20px;
	font-size: .92rem;
	border-top: 1px dashed var(--kudo-border);
	padding-top: 16px;
	margin: 0 0 0;
}

/* ============================================================
   CTAブロック（共通）
   ============================================================ */
.kudo-cta {
	background: var(--kudo-navy);
	color: #fff;
	text-align: center;
	padding: 72px 24px;
}

.kudo-cta h2 {
	color: #fff;
	font-size: 1.6rem;
	margin: 0 0 14px;
}

.kudo-cta p {
	color: rgba(255, 255, 255, .85);
	margin: 0 0 8px;
}

.kudo-cta__tel {
	display: inline-block;
	font-family: var(--kudo-en);
	font-weight: 700;
	font-size: 2.2rem;
	color: #fff !important;
	text-decoration: none;
	line-height: 1.2;
}

.kudo-cta__hours {
	font-size: .85rem;
	color: rgba(255, 255, 255, .7);
	margin-top: 24px !important;
}

/* ============================================================
   フッター
   ============================================================ */
.kudo-footer {
	background: var(--kudo-text);
	color: rgba(255, 255, 255, .85);
	font-size: .88rem;
}

.kudo-footer__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 24px 40px;
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 40px;
}

.kudo-footer__name {
	font-family: var(--kudo-serif);
	font-size: 1.15rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
}

.kudo-footer h4 {
	color: #fff;
	font-family: var(--kudo-sans);
	font-size: .85rem;
	letter-spacing: .1em;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
	padding-bottom: 8px;
	margin: 0 0 14px;
}

.kudo-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kudo-footer ul li { margin-bottom: 8px; }

.kudo-footer a {
	color: rgba(255, 255, 255, .85) !important;
	text-decoration: none;
}

.kudo-footer a:hover { color: #fff !important; text-decoration: underline; }

.kudo-footer__copy {
	border-top: 1px solid rgba(255, 255, 255, .15);
	text-align: center;
	padding: 18px;
	font-size: .75rem;
	color: rgba(255, 255, 255, .55);
}

@media (max-width: 768px) {
	.kudo-footer__inner { grid-template-columns: 1fr; gap: 28px; }
}

/* ============================================================
   その他ユーティリティ
   ============================================================ */
.kudo-kari {
	display: inline-block;
	background: var(--kudo-sub);
	color: #fff;
	font-size: .65rem;
	border-radius: 3px;
	padding: 2px 7px;
	vertical-align: middle;
	margin-left: 8px;
	font-family: var(--kudo-sans);
	font-weight: 400;
}

.kudo-map iframe {
	width: 100%;
	height: 400px;
	border: 0;
	border-radius: 4px;
	display: block;
}

.kudo-note {
	font-size: .82rem;
	color: var(--kudo-sub);
}

.kudo-center { text-align: center; }

.kudo-page-title {
	background: var(--kudo-navy);
	color: #fff;
	text-align: center;
	padding: 64px 24px;
}

.kudo-page-title h1 {
	color: #fff;
	font-size: 2rem;
	margin: 0;
	letter-spacing: .06em;
}

.kudo-page-title p {
	color: rgba(255, 255, 255, .75);
	font-size: .85rem;
	margin: 10px 0 0;
	font-family: var(--kudo-en);
	letter-spacing: .2em;
}

.kudo-mt-0 { margin-top: 0 !important; }
.kudo-mb-48 { margin-bottom: 48px; }

/* ============================================================
   Astra既定のタイトル・パンくずを非表示（独自タイトルで統一）
   ============================================================ */
.ast-archive-description,
.ast-breadcrumbs-container,
.page-header,
.single .entry-header,
.archive .entry-header {
	display: none !important;
}

/* ============================================================
   ブログ・お知らせ：本文タイポグラフィ
   ============================================================ */
.kudo-prose {
	max-width: 760px;
	margin: 0 auto;
	font-size: .96rem;
}

.kudo-prose h2 {
	font-size: 1.35rem;
	margin: 40px 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--kudo-navy);
}

.kudo-prose h3 {
	font-size: 1.08rem;
	color: var(--kudo-terra);
	margin: 28px 0 10px;
}

.kudo-prose p { margin: 0 0 1.4em; }

.kudo-prose ul,
.kudo-prose ol { margin: 0 0 1.4em; padding-left: 1.4em; }

.kudo-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	border: 1px solid var(--kudo-border);
	margin: 8px 0 1.4em;
}

.kudo-prose a { color: var(--kudo-terra); }

/* ============================================================
   ブログ一覧カード
   ============================================================ */
.kudo-blog-card {
	color: var(--kudo-text) !important;
	text-decoration: none !important;
	display: block;
	transition: box-shadow .2s, transform .15s;
}

.kudo-blog-card:hover {
	box-shadow: 0 4px 14px rgba(43, 43, 43, .1);
	transform: translateY(-2px);
}

.kudo-blog-card h3 {
	font-size: 1rem;
	margin: 6px 0 8px;
}

.kudo-blog-card .kudo-card__body p:last-child {
	font-size: .85rem;
	color: var(--kudo-sub);
	margin: 0;
}

/* ============================================================
   お知らせ一覧（リスト形式）
   ============================================================ */
.kudo-news-list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 760px;
	background: #fff;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
}

.kudo-news-list li {
	border-bottom: 1px solid var(--kudo-border);
}

.kudo-news-list li:last-child { border-bottom: 0; }

.kudo-news-list a {
	display: flex;
	gap: 24px;
	align-items: baseline;
	padding: 18px 24px;
	color: var(--kudo-text) !important;
	text-decoration: none !important;
}

.kudo-news-list a:hover .kudo-news-list__title {
	color: var(--kudo-terra);
}

.kudo-news-list time {
	font-family: var(--kudo-en);
	font-weight: 700;
	color: var(--kudo-sub);
	flex-shrink: 0;
	width: 100px;
}

.kudo-news-list__title { font-weight: 700; }

@media (max-width: 600px) {
	.kudo-news-list a { flex-direction: column; gap: 6px; padding: 16px 18px; }
	.kudo-news-list time { width: auto; font-size: .8rem; }
}

/* ============================================================
   施工事例：詳細ページ タグ
   ============================================================ */
.kudo-tag-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin: -8px 0 28px;
}

.kudo-tag {
	display: inline-block;
	background: #EFEBE6;
	color: var(--kudo-navy);
	font-size: .78rem;
	font-weight: 700;
	padding: 4px 14px;
	border-radius: 3px;
}

/* ============================================================
   ページネーション
   ============================================================ */
.kudo-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}

.kudo-pagination a,
.kudo-pagination span {
	display: inline-block;
	min-width: 40px;
	text-align: center;
	padding: 9px 12px;
	border: 1px solid var(--kudo-border);
	border-radius: 4px;
	color: var(--kudo-navy);
	text-decoration: none;
	font-family: var(--kudo-en);
	font-size: .9rem;
	background: #fff;
}

.kudo-pagination .current {
	background: var(--kudo-navy);
	color: #fff !important;
	border-color: var(--kudo-navy);
}

.kudo-pagination a:hover {
	border-color: var(--kudo-navy);
}

/* ============================================================
   モバイル用スティッキーフッター（電話・LINE）
   980px以下で表示（ヘッダーの電話・LINEが隠れる幅を補完）
   ============================================================ */
.kudo-sticky-footer { display: none; }

@media (max-width: 980px) {
	.kudo-sticky-footer {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, .18);
	}
	.kudo-sticky-footer__item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		padding: 9px 4px;
		color: #fff !important;
		text-decoration: none;
		font-size: .8rem;
		font-weight: 700;
		line-height: 1.2;
	}
	.kudo-sticky-footer__item--tel { background: var(--kudo-terra); }
	.kudo-sticky-footer__item--line { background: var(--kudo-line); }
	.kudo-sticky-footer__icon { font-size: 1.15rem; }
	.kudo-sticky-footer__item--line .kudo-sticky-footer__icon {
		font-family: var(--kudo-en);
		font-size: .92rem;
		font-weight: 700;
	}
	/* スティッキーフッターでフッター末尾が隠れないよう余白を確保 */
	body { padding-bottom: 58px; }
}
