/* リンクカラー */
.entry-body p:not(.has-text-color) > a {
	color: var(--vk-color-text-link-hover);
}

/* スライドショー：画像比率で高さを決める */
.hero-slider .vk_slider_item_container {
	width: 100%;
	aspect-ratio: 2560 / 1356; /* 画像の実比率 */
	height: auto;              /* 明示 */
	max-height: 480px;         /* 上限（PC時の見た目を抑える）*/
	overflow: hidden;          /* はみ出し防止 */
}

/* 既存の height 指定をリセット */
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
	height: auto;
}

/* 画像を枠にフィット */
.hero-slider .vk_slider_item_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* 画像ブロックを幅いっぱいにする */
.wp-block-image.img-full,
.wp-block-image.img-full img {
	width: 100%;
	height: auto;
	display: block;
}

/* グローバルナビのアイコン */
.global-nav .menu > li > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.global-nav .menu > li > a::before {
	content: "";
	width: 36px;
	height: 36px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	transition: opacity .2s ease, transform .2s ease;
}

/* 各メニューの通常アイコン */
.global-nav .menu > li.m-products  > a::before { background-image: url("/wp-content/uploads/icons/products.jpg"); }
.global-nav .menu > li.m-accident  > a::before { background-image: url("/wp-content/uploads/icons/accident.jpg"); }
.global-nav .menu > li.m-guide     > a::before { background-image: url("/wp-content/uploads/icons/guide.jpg"); }
.global-nav .menu > li.m-faq       > a::before { background-image: url("/wp-content/uploads/icons/faq.jpg"); }
.global-nav .menu > li.m-contact   > a::before { background-image: url("/wp-content/uploads/icons/contact.jpg"); }
.global-nav .menu > li.m-tips      > a::before { background-image: url("/wp-content/uploads/icons/tips.jpg"); }
.global-nav .menu > li.m-company   > a::before { background-image: url("/wp-content/uploads/icons/company.jpg"); }

/* hover／現在地で差し替え */
.global-nav .menu > li.m-products:hover  > a::before,
.global-nav .menu > li.m-products.current-menu-item > a::before,
.global-nav .menu > li.m-products.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/products-hover.jpg");
}

.global-nav .menu > li.m-accident:hover  > a::before,
.global-nav .menu > li.m-accident.current-menu-item > a::before,
.global-nav .menu > li.m-accident.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/accident-hover.jpg");
}

.global-nav .menu > li.m-guide:hover  > a::before,
.global-nav .menu > li.m-guide.current-menu-item > a::before,
.global-nav .menu > li.m-guide.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/guide-hover.jpg");
}

.global-nav .menu > li.m-faq:hover  > a::before,
.global-nav .menu > li.m-faq.current-menu-item > a::before,
.global-nav .menu > li.m-faq.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/faq-hover.jpg");
}

.global-nav .menu > li.m-contact:hover  > a::before,
.global-nav .menu > li.m-contact.current-menu-item > a::before,
.global-nav .menu > li.m-contact.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/contact-hover.jpg");
}

.global-nav .menu > li.m-tips:hover  > a::before,
.global-nav .menu > li.m-tips.current-menu-item > a::before,
.global-nav .menu > li.m-tips.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/tips-hover.jpg");
}

.global-nav .menu > li.m-company:hover  > a::before,
.global-nav .menu > li.m-company.current-menu-item > a::before,
.global-nav .menu > li.m-company.current_page_ancestor > a::before {
	background-image: url("/wp-content/uploads/icons/company-hover.jpg");
}

/* ちょい演出（任意） */
.global-nav .menu > li:hover > a::before { transform: translateY(-1px); }

/* フッター上部 */
.site-body-bottom {
	padding-top: var(--vk-margin-md);
	border-top: 1px solid var(--vk-color-border);
}

/* 親テーマのフッターナビを非表示（移設のため） */
.site-footer > nav.footer-nav {
	display: none !important;
}

/* フッターメニュー */
.container.site-footer-content {
	padding-bottom: var(--vk-margin-md);
}

.container.site-footer-content .row {
	margin-right: 0;	/* クリア */
	margin-left: 0;		/* クリア */
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
}

@media (max-width: 991.98px) {
	.container.site-footer-content .row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
	}
}

@media (max-width: 767.98px) {
	.container.site-footer-content .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}


@media (max-width: 575.98px) {
	.container.site-footer-content .row {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* フッターナビ（サイトマップ） */
.site-footer-sitemap .nav li a {
	padding: 0.25rem 0.5rem;
}


/* お知らせセクションの縦積み対応 */
@media (max-width: 767.98px) {
	.info-section > .wp-block-columns {
		border: none !important; /* 上下の線を消す */
	}
	
	.info-section > .wp-block-columns > .wp-block-column {
		border-left: none !important; /* 左の線を消す */
	}
}

/* 本文見出しH2 */
body:not(.home):not(.blog) .entry-body h2:not(.is-plain),
body:not(.home):not(.blog) .entry-body .wp-block-heading:is(h2):not(.is-plain) {
	position: relative;
	padding-left: .85rem;
	border-bottom: 1px solid var(--vk-color-primary);
}

body:not(.home):not(.blog) .entry-body h2:not(.is-plain)::before,
body:not(.home):not(.blog) .entry-body .wp-block-heading:is(h2):not(.is-plain)::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 4px;
	background: var(--vk-color-primary);
	border-radius: 2px;
}

/* 本文見出しH3 */
body:not(.home):not(.blog) .entry-body h3:not(.is-plain),
body:not(.home):not(.blog) .entry-body .wp-block-heading:is(h3):not(.is-plain) {
	position: relative;
	padding-left: .85rem;
	color: var(--vk-color-primary);
}

body:not(.home):not(.blog) .entry-body h3:not(.is-plain)::before,
body:not(.home):not(.blog) .entry-body .wp-block-heading:is(h3):not(.is-plain)::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 4px;
	background: currentcolor;
	border-radius: 2px;
}

/* サイドバー見出しH4 */
.sidebar h4,
.sidebar .wp-block-heading:is(h4) {
	margin-bottom: 0;
	padding: .9rem .5rem;
	background: var(--vk-color-footer-bg);
	border-top: 1px solid var(--vk-color-primary);
}

/* サイドバーの隙間を消して縦リストに */
.sidebar .wp-block-navigation__container {
	display: block;
	gap: 0 !important;
	margin: 0;
	padding: 0;
}

/* 各項目 */
.sidebar .wp-block-navigation-item {
	display: list-item;
	margin: 0;
	list-style: none;
	font-size: var(--vk-size-text-sm);
}

/* 最初の項目だけ上線を消す */
.sidebar .wp-block-navigation-item:first-child {
	border-top: 0;
}

/* クリック領域を行全体に広げる */
.sidebar .wp-block-navigation-item__content {
	display: block;
	padding: .7rem 0;
	padding-left: var(--vk-margin-list-menu-left-first);
	border-bottom: 1px solid var(--vk-color-border-hr);
	text-decoration: none;
}

/* ホバーと現在地を強調 */
.sidebar .wp-block-navigation-item__content:hover,
.sidebar .current-menu-item > .wp-block-navigation-item__content {
	color: var(--vk-color-text-link-hover);
	background-color: var(--vk-color-accent-bg);
}

/* ページヘッダー */
.page-header {
	min-height: 7rem;
	text-align: left;
	color: #fff;
	background: linear-gradient(
		to right,
		var(--vk-color-primary) 0%,
		#fff 100%
	);
}

/* ページヘッダーを非表示にする */
body.post-name-household .page-header,
body.post-name-tenant .page-header,
body.post-name-features .page-header,
body.post-name-compensation-content .page-header,
body.post-name-insurance-premium-plan .page-header {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 固定CTA */
.cta-float {
	position: fixed;
	z-index: 1000;
	display: inline-block;
	line-height: 0;
	width: clamp(100px, 10vw, 140px);
	height: auto;
	transition: transform .15s ease, opacity .15s ease;
}

.cta-float:hover {
	transform: translateY(-2px);
}

@media (min-width: 992px) {
	.cta-float {
		top: 120px;
		right: 24px;
	}
}

@media (max-width: 991.98px) {
	.cta-float {
		top: 60px;
		right: 16px;
	}
}

/* FAQのQ番号を自動採番する */
.entry-body {
	counter-reset: faq-counter;
}

.vk_faq {
	counter-increment: faq-counter;
}

/* Q1, Q2...にする */
.vk_faq .vk_faq_title:before {
	content: "Q" counter(faq-counter) !important;
}

.vk_faq .vk_faq_title:before,
.vk_faq .vk_faq_content:before {
	font-size: 16px !important;
}

/* 波線下線（赤） */
.num-wave {
	text-decoration-line: underline;
	text-decoration-style: wavy;
	text-decoration-color: #c00;
	text-decoration-thickness: 1.5px;  /* 太さ */
	text-underline-offset: .15em;      /* 文字との距離 */
}

