/*
Theme Name: KIDUKI Child
Theme URI: https://kdkconslt-sngyouijm.com/
Description: Site customizations for KIDUKI Consulting.
Author: KIDUKI Consulting
Template: emanon-premium
Version: 1.12.0
Text Domain: kiduki-child
*/

/* =========================================================================
   KIDUKI デザイントークン v1.0
   静的トップ（consult/index.html）と配色・書体を統一する。
   変更時は静的トップの :root と必ず対で更新すること。
   ========================================================================= */

:root {
	/* 基調 */
	--kdk-deep: #1d3a30;        /* 濃緑：ヒーロー・見出し・フッター */
	--kdk-deep-light: #2c5546;
	--kdk-accent: #3f7a5e;      /* 差し色：リンク・ボタン・マーク */
	--kdk-accent-soft: #b6d6c6;
	--kdk-ink: #1c2320;         /* 本文 */
	--kdk-ink-soft: #566159;    /* 補助文 */
	--kdk-bg: #f7f8f6;          /* 面 */
	--kdk-border: #dee3df;
	--kdk-danger: #c81e1e;
	--kdk-font: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
		"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;

	/* 親テーマ（Emanon Premium）の変数を上書き */
	--ep-primary-color: #1d3a30;
	--ep-primary-light-color: #7fa08f;
	--ep-primary-link-color: #3f7a5e;
	--ep-primary-link-hover-color: #2c5546;
	--ep-primary-secondary-color: #dee3df;
}

/* ---- 書体 ---- */
body,
input,
select,
textarea,
button {
	font-family: var(--kdk-font);
	color: var(--kdk-ink);
}

body {
	line-height: 1.9;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.archive-title,
.widget-title {
	font-family: var(--kdk-font);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.45;
}

/* 濃色の地の上にある見出しは対象外にする（フッター等） */
:where(body) h1,
:where(body) h2,
:where(body) h3,
:where(body) h4,
:where(body) h5,
:where(body) h6,
.entry-title,
.archive-title {
	color: var(--kdk-deep);
}

.l-footer :where(h1, h2, h3, h4, h5, h6),
.l-footer .widget-title,
.l-footer .wp-block-heading {
	color: #ffffff;
}

.entry-content p,
.entry-content li {
	color: var(--kdk-ink);
}

/* ---- リンク ---- */
a {
	color: var(--kdk-accent);
}

a:hover,
a:focus {
	color: var(--kdk-deep-light);
}

a:focus-visible {
	outline: 2px solid var(--kdk-accent);
	outline-offset: 2px;
}

/* ---- 見出しの装飾（親テーマの色指定を打ち消す） ---- */
.entry-content h2 {
	border-left: 4px solid var(--kdk-accent);
	padding-left: 0.8em;
	background: none;
}

.entry-content h3 {
	border-bottom: 1px solid var(--kdk-border);
	padding-bottom: 0.4em;
}

/* ---- ボタン ---- */
.btn,
.button,
.wp-block-button__link,
input[type="submit"] {
	background-color: var(--kdk-accent);
	border-color: var(--kdk-accent);
	color: #ffffff;
	border-radius: 6px;
	box-shadow: none;
	background-image: none;
}

.btn:hover,
.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
	background-color: var(--kdk-deep-light);
	border-color: var(--kdk-deep-light);
	color: #ffffff;
}

/* ---- 記事本文に貼り込まれた旧パレットの打ち消し ----
   固定ページ・投稿の本文に、ページごとに異なる配色の <style> が
   埋め込まれている（緑・青・オレンジ等）。段階的に本文側を是正するまでの
   暫定措置として、代表的な変数名をここで上書きする。 */
.entry-content,
.page-content {
	--primary-color: var(--kdk-deep);
	--secondary-color: var(--kdk-accent);
	--accent-color: var(--kdk-accent);
	--secondary-accent: var(--kdk-deep-light);
	--tertiary-accent: var(--kdk-accent);
	--primary: var(--kdk-deep);
	--secondary: var(--kdk-deep-light);
	--accent: var(--kdk-accent);
	--text: var(--kdk-ink);
	--text-color: var(--kdk-ink);
	--light: var(--kdk-bg);
	--light-gray: var(--kdk-bg);
	--background-color: #ffffff;
	--success: var(--kdk-accent);
	--card-shadow: 0 3px 14px rgba(20, 35, 28, 0.07);
	--shadow: 0 3px 14px rgba(20, 35, 28, 0.07);
	--gradient: none;
}

/* 本文内のグラデーション見出し・発光を平坦化 */
.entry-content [style*="linear-gradient"],
.page-content [style*="linear-gradient"] {
	background-image: none !important;
}



.kiduki-contact {
	max-width: 820px;
	margin: 0 auto;
}

/* 用紙のような面に載せる */
.kiduki-contact .wpcf7 {
	background: #ffffff;
	border: 1px solid var(--kdk-border);
	border-radius: 10px;
	padding: 40px 40px 36px;
	box-shadow: 0 1px 2px rgba(20, 35, 28, .05), 0 12px 32px -18px rgba(20, 35, 28, .18);
}

/* 2列グリッド。:has() 未対応でも1列で成立する */
.kiduki-contact .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 24px;
}

.kiduki-contact .wpcf7-form > p,
.kiduki-contact .wpcf7-form > div {
	grid-column: 1 / -1;
	margin: 0;
}

/* 短い項目は2列に並べる */
.kiduki-contact .wpcf7-form > p:has([data-name="industry"]),
.kiduki-contact .wpcf7-form > p:has([data-name="company-size"]),
.kiduki-contact .wpcf7-form > p:has([data-name="your-name"]),
.kiduki-contact .wpcf7-form > p:has([data-name="your-title"]),
.kiduki-contact .wpcf7-form > p:has([data-name="your-email"]),
.kiduki-contact .wpcf7-form > p:has([data-name="your-tel"]) {
	grid-column: span 1;
}

/* ラベル */
.kiduki-contact .wpcf7-form label {
	display: block;
	color: var(--kdk-ink);
	font-weight: 700;
	font-size: .93rem;
	line-height: 1.6;
	letter-spacing: .01em;
}

.kiduki-contact .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}

/* 入力欄 */
.kiduki-contact input[type="text"],
.kiduki-contact input[type="email"],
.kiduki-contact input[type="tel"],
.kiduki-contact select,
.kiduki-contact textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 13px 14px;
	border: 1px solid #c6cfc9;
	border-radius: 6px;
	background: #fcfdfc;
	color: var(--kdk-ink);
	font: inherit;
	line-height: 1.6;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.kiduki-contact input[type="text"]:hover,
.kiduki-contact input[type="email"]:hover,
.kiduki-contact input[type="tel"]:hover,
.kiduki-contact select:hover,
.kiduki-contact textarea:hover {
	border-color: #a7b4ac;
}

/* プルダウンであることが分かる形にする */
.kiduki-contact select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 42px;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%233f7a5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	cursor: pointer;
}

.kiduki-contact textarea {
	min-height: 11rem;
	resize: vertical;
}

.kiduki-contact input:focus,
.kiduki-contact select:focus,
.kiduki-contact textarea:focus {
	border-color: var(--kdk-accent);
	background: #ffffff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(63, 122, 94, .16);
}

/* 同意チェック */
.kiduki-contact .wpcf7-acceptance {
	display: block;
	padding: 18px 20px;
	background: var(--kdk-bg);
	border: 1px solid var(--kdk-border);
	border-radius: 6px;
}

.kiduki-contact .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 500;
	font-size: .9rem;
}

.kiduki-contact .wpcf7-acceptance input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--kdk-accent);
}

/* 送信ボタン */
.kiduki-contact input[type="submit"] {
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 6px;
	background: var(--kdk-accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 1px 2px rgba(20,35,28,.14), 0 10px 22px -12px rgba(29,58,48,.5);
}

.kiduki-contact input[type="submit"]:hover {
	background: var(--kdk-deep);
	transform: translateY(-1px);
}

.kiduki-contact input[type="submit"]:focus-visible {
	outline: 3px solid rgba(63, 122, 94, .4);
	outline-offset: 2px;
}

.kiduki-contact .wpcf7-spinner { margin: 0 auto; }

/* 検証メッセージ */
.kiduki-contact .wpcf7-not-valid-tip {
	margin-top: 6px;
	color: var(--kdk-danger);
	font-size: .85rem;
	font-weight: 500;
}

.kiduki-contact .wpcf7-not-valid {
	border-color: var(--kdk-danger);
	background: #fdf6f5;
}

.kiduki-contact .wpcf7-response-output {
	grid-column: 1 / -1;
	margin: 0;
	padding: 14px 18px;
	border-radius: 6px;
	border-width: 1px;
	font-size: .92rem;
}

/* フォーム送信不能時の連絡先 */
.kiduki-contact__fallback {
	max-width: 820px;
	margin: 22px auto 0;
	padding: 16px 20px;
	background: var(--kdk-bg);
	border-left: 3px solid var(--kdk-accent);
	border-radius: 4px;
	font-size: .88rem;
	color: var(--kdk-ink-soft);
}

@media (max-width: 700px) {
	.kiduki-contact .wpcf7 {
		padding: 26px 20px 24px;
		border-radius: 8px;
	}

	.kiduki-contact .wpcf7-form {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.kiduki-contact .wpcf7-form > p:has([data-name]) {
		grid-column: 1 / -1;
	}

	.kiduki-contact input[type="text"],
	.kiduki-contact input[type="email"],
	.kiduki-contact input[type="tel"],
	.kiduki-contact select,
	.kiduki-contact textarea {
		font-size: 16px; /* iOSの自動ズームを防ぐ */
	}
}

/* ---- 親テーマが生成する配色の上書き（暫定） ----
   Emanon Premium は配色をCSS変数ではなくリテラル値で出力するため、
   変数の上書きだけでは効かない。本筋の是正はカスタマイザーの
   メインカラー設定の変更（承認ゲート）で、ここはそれまでの暫定措置。
   対象は利用者の目に触れる頻度が高い要素に絞っている。 */

/* 面（塗り） */
.cat-name,
.post-list-meta__cat,
.c-btn__main,
.widget_popular_post .popular-post-rank,
.page-numbers.current,
.search-submit,
.sns-follow__button:not(.sns-brand-color) .btn-main {
	background-color: var(--kdk-deep);
	border-color: var(--kdk-deep);
	color: #ffffff;
}

.c-btn__main:hover,
.search-submit:hover,
.sns-follow__button:not(.sns-brand-color) .btn-main:hover {
	background-color: var(--kdk-accent);
	border-color: var(--kdk-accent);
	color: #ffffff;
}

/* 線・文字 */
.c-btn__outline {
	border-color: var(--kdk-deep);
	color: var(--kdk-deep);
}

.c-btn__outline:hover {
	background-color: var(--kdk-deep);
	color: #ffffff;
}

.breadcrumb__item a,
.comment-reply-link,
.c-link,
.c-link__underline,
.article-body .contents-outline__item .toc-box_link {
	color: var(--kdk-accent);
}

.article-body .contents-outline__item {
	border-color: var(--kdk-border);
}

/* 目次ボックス */
.contents-outline,
.ez-toc-container {
	border-color: var(--kdk-border);
	background-color: var(--kdk-bg);
}

/* ドロワー・ハンバーガー */
.drawer-menu .hamburger-close-line span,
.hamburger-menu-trigger span {
	background-color: var(--kdk-deep);
}

/* 読み込み表示 */
.loading-icon,
.loading-text {
	color: var(--kdk-deep);
}

/* ---- フッター ----
   親テーマ既定は背景 #484848（黒〜グレー）、見出しの差し色 #4f85ab（青）。
   静的トップのフッター（濃緑 #1d3a30）と揃える。 */

.l-footer {
	background-color: var(--kdk-deep);
}

.l-footer .footer-widget__title,
.footer-bg-color .footer-widget__title,
.footer-bg-color-radius .footer-widget__title,
.footer-speech-bubble .footer-widget__title,
.l-footer .footer-border .footer-widget__title,
.l-footer .footer-border-radius .footer-widget__title {
	background-color: var(--kdk-accent);
	border-color: var(--kdk-accent);
	color: #ffffff;
}

.footer-border-bottom .footer-widget__title,
.footer-border-left .footer-widget__title,
.footer-shortborder-bottom .footer-widget__title::after,
.footer-lines-on-sides .footer-widget__title::before,
.footer-lines-on-sides .footer-widget__title::after {
	border-color: var(--kdk-accent-soft);
	background: var(--kdk-accent-soft);
}

/* フッター内リンクは暗い地の上なので明るく */
.l-footer a,
.l-footer .widget a,
.footer-menu li a {
	color: var(--kdk-accent-soft);
}

.l-footer a:hover,
.l-footer .widget a:hover,
.footer-menu li a:hover {
	color: #ffffff;
}

.footer-menu li a::before {
	background-color: var(--kdk-accent-soft);
}

/* スマホの固定フッターメニュー */
.fixed-footer-menu::before {
	background-color: var(--kdk-deep);
}

/* ---- フッター内の文字色を明色で確定 ----
   濃緑の地の上に濃色の文字が乗らないよう、フッター配下は明示的に指定する。
   （住所が h5 で出力されており、見出し色と背景が同化する不具合の修正） */

.l-footer,
.l-footer p,
.l-footer li,
.l-footer span,
.l-footer strong,
.l-footer .widget,
.l-footer .wp-block-paragraph,
.l-footer .textwidget {
	color: #ffffff;
}

.l-footer .copyright,
.l-footer small {
	color: rgba(255, 255, 255, 0.72);
}

/* ---- 生成CSSに勝つための詳細度調整 ----
   親テーマは配色をインライン <style> で出力し、これは enqueue された
   子テーマCSSより後に読まれる。同じ詳細度では負けるため、body を
   前置して1段階上げる（!important は使わない）。
   対象は旧リンク色 #004e8e が残っていた箇所。 */

body a,
body .c-link,
body .c-link__underline,
body .breadcrumb__item a,
body .comment-reply-link {
	color: var(--kdk-accent);
}

body a:hover,
body .c-link:hover,
body .breadcrumb__item a:hover {
	color: var(--kdk-deep-light);
}

/* 濃色の地の上のリンクは明色を維持する */
body .l-footer a,
body .l-footer .widget a,
body .footer-menu li a {
	color: var(--kdk-accent-soft);
}

body .l-footer a:hover,
body .l-footer .widget a:hover,
body .footer-menu li a:hover {
	color: #ffffff;
}

/* 塗り・枠線 */
body .page-numbers.current,
body .slick-dots button,
body .sns-follow__button:not(.sns-brand-color) .btn-main,
body .comment-reply-link {
	background-color: var(--kdk-deep);
	color: #ffffff;
}

body .slick-prev,
body .slick-next,
body .article-header-full-width__inner .slider-favorite-btn.remove-favorite {
	border-color: var(--kdk-deep);
	color: var(--kdk-deep);
}

/* ---- ドロワーメニュー（ハンバーガー内）----
   親テーマの生成CSSで旧リンク色が残っていた箇所。
   画像に効いている色は視認できないため対象外。 */

body .drawer-menu__nav li.menu-item > a,
body .drawer-menu__nav li.menu-item > a > span,
body .drawer-menu__nav .sub-menu li.menu-item > a {
	color: var(--kdk-deep);
}

body .drawer-menu__nav li.menu-item > a:hover,
body .drawer-menu__nav li.menu-item > a:hover > span,
body .drawer-menu__nav .sub-menu li.menu-item > a:hover {
	color: var(--kdk-accent);
}

/* ---- 親テーマの style-min.css に焼き込まれた旧CSSへの対策 ----
   Emanon は親子のCSSを style-min.css に結合して配信するが、これが
   古い子テーマCSS（Phase 1 当時の #176f73 など）を保持している。
   同じセレクタでは後から読まれる style-min.css に負けるため、
   body を前置して詳細度を1段上げる。!important は使わない。 */

body .kiduki-contact input[type="submit"] {
	background: var(--kdk-accent);
	color: #ffffff;
	border: 0;
	border-radius: 6px;
	width: 100%;
	padding: 16px 24px;
	font-weight: 700;
	letter-spacing: .04em;
}

body .kiduki-contact input[type="submit"]:hover {
	background: var(--kdk-deep);
}

body .kiduki-contact__fallback {
	border-left-color: var(--kdk-accent);
	background: var(--kdk-bg);
	margin-top: 22px;
	padding: 16px 20px;
}

/* プルダウンの矢印（背景画像なので上書きされやすい） */
body .kiduki-contact select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 42px;
	background-color: #fcfdfc;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%233f7a5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
}

body .kiduki-contact input[type="text"],
body .kiduki-contact input[type="email"],
body .kiduki-contact input[type="tel"],
body .kiduki-contact select,
body .kiduki-contact textarea {
	border: 1px solid #c6cfc9;
	border-radius: 6px;
	padding: 13px 14px;
}

body .kiduki-contact select { padding-right: 42px; }

body .kiduki-contact input:focus,
body .kiduki-contact select:focus,
body .kiduki-contact textarea:focus {
	border-color: var(--kdk-accent);
	outline: none;
	box-shadow: 0 0 0 3px rgba(63, 122, 94, .16);
}

/* =========================================================================
   サービス・特色ページ v1.0
   WordPress本文に完全なHTML文書やページ固有styleを埋め込まず、
   共通クラスで読みやすさとモバイル表示を担保する。
   ========================================================================= */

.kdk-service-page {
	max-width: 960px;
	margin-inline: auto;
}

.kdk-service-page > * + * {
	margin-top: clamp(24px, 4vw, 48px);
}

.kdk-service-page .kdk-page-lead {
	margin: 0 auto clamp(36px, 6vw, 64px);
	max-width: 820px;
	color: var(--kdk-deep);
	font-size: clamp(1.08rem, 1rem + .35vw, 1.28rem);
	font-weight: 500;
	line-height: 2;
}

.kdk-service-page .kdk-article-lead {
	margin: 0 auto clamp(36px, 6vw, 64px);
	max-width: 820px;
	padding: clamp(22px, 4vw, 34px);
	border-left: 4px solid var(--kdk-accent);
	background: var(--kdk-bg);
	color: var(--kdk-deep);
	font-size: clamp(1.04rem, 1rem + .25vw, 1.2rem);
	font-weight: 500;
	line-height: 1.95;
}

.kdk-service-page .kdk-eyebrow {
	margin: 0 0 10px;
	color: var(--kdk-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.kdk-service-page .kdk-eyebrow + .kdk-page-lead {
	margin-top: 0;
}

.kdk-service-page .kdk-card-grid,
.kdk-service-page .kdk-process-grid {
	align-items: stretch;
	gap: 20px;
	margin-block: 24px;
}

.kdk-service-page .kdk-service-card,
.kdk-service-page .kdk-process-card {
	box-sizing: border-box;
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--kdk-border);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(20, 35, 28, .04), 0 12px 30px -20px rgba(20, 35, 28, .2);
}

.kdk-service-page .kdk-service-card--accent {
	border-top: 4px solid var(--kdk-accent);
}

.kdk-service-page .kdk-service-card > :first-child,
.kdk-service-page .kdk-process-card > :first-child {
	margin-top: 0;
}

.kdk-service-page .kdk-service-card > :last-child,
.kdk-service-page .kdk-process-card > :last-child {
	margin-bottom: 0;
}

.kdk-service-page .kdk-service-card h3,
.kdk-service-page .kdk-process-card h3 {
	margin-top: 0;
	font-size: 1.08rem;
}

.kdk-service-page .kdk-card-link {
	margin-top: 20px;
	font-weight: 700;
}

.kdk-service-page .kdk-card-link a::after {
	content: " →";
}

.kdk-service-page .kdk-step-label {
	margin-bottom: 8px;
	color: var(--kdk-accent);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
}

.kdk-service-page .kdk-summary-box,
.kdk-service-page .kdk-boundary-box {
	box-sizing: border-box;
	padding: clamp(24px, 4vw, 38px);
	border-radius: 10px;
	background: var(--kdk-bg);
}

.kdk-service-page .kdk-summary-box {
	border-top: 4px solid var(--kdk-accent);
}

.kdk-service-page .kdk-boundary-box {
	border-left: 4px solid var(--kdk-deep);
}

.kdk-service-page .kdk-summary-box > :first-child,
.kdk-service-page .kdk-boundary-box > :first-child {
	margin-top: 0;
}

.kdk-service-page .kdk-summary-box > :last-child,
.kdk-service-page .kdk-boundary-box > :last-child {
	margin-bottom: 0;
}

.kdk-service-page .kdk-check-list {
	padding-left: 1.2em;
}

.kdk-service-page .kdk-check-list li {
	margin-bottom: .75em;
}

.kdk-service-page .kdk-numbered-list {
	padding-left: 1.5em;
}

.kdk-service-page .kdk-numbered-list li {
	margin-bottom: 1em;
	padding-left: .4em;
}

.kdk-service-page .wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.kdk-service-page .wp-block-table table {
	min-width: 640px;
	border-collapse: collapse;
}

.kdk-service-page .wp-block-table th {
	background: var(--kdk-deep);
	color: #ffffff;
	font-weight: 700;
}

.kdk-service-page .wp-block-table td,
.kdk-service-page .wp-block-table th {
	padding: 14px 16px;
	border-color: var(--kdk-border);
	vertical-align: top;
}

.kdk-service-page details.wp-block-details {
	margin: 12px 0;
	padding: 18px 20px;
	border: 1px solid var(--kdk-border);
	border-radius: 8px;
	background: #ffffff;
}

.kdk-service-page details.wp-block-details summary {
	cursor: pointer;
	color: var(--kdk-deep);
	font-weight: 700;
}

.kdk-service-page details.wp-block-details > :last-child {
	margin-bottom: 0;
}

@media (max-width: 781px) {
	.kdk-service-page .kdk-card-grid,
	.kdk-service-page .kdk-process-grid {
		gap: 14px;
	}

	.kdk-service-page .wp-block-table table {
		font-size: .9rem;
	}

	.kdk-service-page .wp-block-table td,
	.kdk-service-page .wp-block-table th {
		padding: 11px 12px;
	}
}

/* 検索流入向けページは、テーマ既定の500pxヒーローを短縮して
   サービス説明と比較情報をファーストビューへ近づける。 */
:is(
	body.page-id-29,
	body.page-id-31,
	body.page-id-160,
	body.page-id-162,
	body.page-id-164,
	body.page-id-166,
	body.postid-1597,
	body.postid-1598
) .article-header-full-width,
:is(
	body.page-id-29,
	body.page-id-31,
	body.page-id-160,
	body.page-id-162,
	body.page-id-164,
	body.page-id-166,
	body.postid-1597,
	body.postid-1598
) .article-header-full-width__thumbnail {
	/* 親テーマJSがコンテナへインラインheightを付けるため、この限定範囲だけ強制する。 */
	height: 380px !important;
}

@media (max-width: 599px) {
	:is(
		body.page-id-29,
		body.page-id-31,
		body.page-id-160,
		body.page-id-162,
		body.page-id-164,
		body.page-id-166,
		body.postid-1597,
		body.postid-1598
	) .article-header-full-width,
	:is(
		body.page-id-29,
		body.page-id-31,
		body.page-id-160,
		body.page-id-162,
		body.page-id-164,
		body.page-id-166,
		body.postid-1597,
		body.postid-1598
	) .article-header-full-width__thumbnail {
		height: 320px !important;
	}
}

/* スマートフォンでも主要導線へ入れるよう、ヘッダーにメニューを常時表示する。 */
@media (max-width: 959px) {
	.l-header__inner {
		display: flex;
		align-items: center;
	}

	.l-header__inner > .header-site-branding {
		order: 1;
		flex: 1 1 auto;
		min-width: 0;
		width: auto;
	}

	.l-header__inner > .hamburger-menu.u-display-pc {
		display: flex !important;
		order: 2;
		flex: 0 0 60px;
		align-items: center;
		justify-content: center;
		width: 60px;
		height: 60px;
	}

	.l-header__inner > .header-cta {
		display: none;
	}

	.header-site-branding__link,
	.header-site-branding__link img {
		max-width: 100%;
		height: auto;
	}
}

.kiduki-contact__intro {
	margin-bottom: 32px;
	padding: clamp(20px, 4vw, 30px);
	border-left: 4px solid var(--kdk-accent);
	background: var(--kdk-bg);
}

.kiduki-contact__intro > :first-child {
	margin-top: 0;
}

.kiduki-contact__intro > :last-child {
	margin-bottom: 0;
}
