/*
Theme Name: Lightning Child Sample
Theme URI:
Template: lightning
Description: Lightning Child Theme
Author:
Version: 1.0
*/

/* =========================================================
   style.css 整理版 2026-08-26
   - 既存のセレクタ・宣言・優先順位は変更しない安全整理版
   - 行末空白・過剰な空行・コメント境界のみ整理
   - 重複指定は表示崩れ防止のため現時点では意図的に保持
========================================================= */

/* =========================================================
   01. サイト共通調整
========================================================= */

/* PC：メイン / サイドバー幅 */
@media (min-width: 992px) {
	.main-section--col--two {
		width: 80%;
	}

	.sub-section--col--two {
		width: calc(20% - 2rem);
	}
}


/*
 * 医院開業navi 共通H2
 * 物件詳細ページは専用デザインを使うため除外
 */
body:not(.single-property) h2 {
	position: relative;
	margin: 32px 0 12px;
	padding: 0 0 0 18px;
	border: 0 !important;
	border-bottom: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #43a047;
	font-size: 2rem !important;
	font-weight: 700;
	line-height: 1.4;
}

body:not(.single-property) h2::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 1em;
	border-radius: 999px;
	background: #43a047;
	transform: translateY(-50%);
}

body:not(.single-property) h2::after {
	display: none !important;
	content: none !important;
}

/* トップページ背景 */
body.home {
	background-color: #fff;
}

/* ヘッダーウィジェット */
.site-header-sub {
	margin-top: 1.1rem;
	margin-bottom: 0;
}


/* =========================================================
   02. Contact Form 7
========================================================= */

/* 必須アイコン */
.required_icon {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 6px;
	border-radius: 2px;
	background-color: #e60012;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
	vertical-align: 2px;
	white-space: nowrap;
}

/* 確認画面ボタン */
.wpcf7cp-btns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 40px auto 20px;
}

.wpcf7cp-btns button {
	display: inline-block;
	min-width: 220px;
	padding: 14px 30px;
	border: none;
	border-radius: 3px;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 500;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.wpcf7cp-btns .wpcf7cp-cfm-edit-btn {
	background: #777;
	color: #fff;
}

.wpcf7cp-btns .wpcf7cp-cfm-edit-btn:hover {
	background: #555;
	color: #fff;
}

.wpcf7cp-btns .wpcf7cp-cfm-submit-btn {
	background: #43a047;
	color: #fff;
}

.wpcf7cp-btns .wpcf7cp-cfm-submit-btn:hover {
	background: #368039;
	color: #fff;
}

/* Contact Form 7 確認画面テーブル */
div#wpcf7cpcnf table {
	width: 100%;
	margin-bottom: 1.5em;
	border-collapse: collapse;
	background: #fff;
}

div#wpcf7cpcnf table th,
div#wpcf7cpcnf table td {
	padding: 15px 18px;
	border: 1px solid #d9d9d9;
	vertical-align: middle;
}

div#wpcf7cpcnf table th {
	width: 30%;
	background: #eef7f1;
	color: #333;
	font-weight: 500;
	text-align: left;
}

div#wpcf7cpcnf table td {
	width: 70%;
	background: #fff;
	color: #333;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.wpcf7cp-btns {
		flex-direction: column;
		gap: 12px;
		margin-top: 30px;
	}

	.wpcf7cp-btns button {
		width: 100%;
		max-width: 320px;
		min-width: 0;
		padding: 13px 20px;
		font-size: 15px;
	}

	div#wpcf7cpcnf table th,
	div#wpcf7cpcnf table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	div#wpcf7cpcnf table th {
		padding: 10px 15px;
	}

	div#wpcf7cpcnf table td {
		padding: 12px 15px;
	}
}


/* =========================================================
   03. 物件ページ
   archive-property.php / single-property.php 共通
========================================================= */

/* =========================================================
   物件ページ共通
   - ページヘッダー
   - パンくず
   - コンテンツ背景
========================================================= */

body.post-type-archive-property .site-body,
body.single-property .site-body {
	background: #fff !important;
}

.property-custom-page-header {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 22px 0;
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
}

.property-custom-page-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #43a047 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-custom-page-title::before,
.property-custom-page-title::after {
	display: none !important;
	content: none !important;
}

.property-custom-breadcrumb {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	background: #fff;
	font-size: 13px;
	line-height: 1.6;
}

.property-custom-breadcrumb-list {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.property-custom-breadcrumb-item {
	margin: 0 !important;
	padding: 0 !important;
	color: #666;
}

.property-custom-breadcrumb-item + .property-custom-breadcrumb-item::before {
	content: "›";
	display: inline-block;
	margin: 0 9px;
	color: #999;
}

.property-custom-breadcrumb-item a {
	color: #555;
	text-decoration: none;
}

.property-custom-breadcrumb-item a:hover {
	color: #43a047;
}

@media screen and (max-width: 767px) {
	.property-custom-page-header {
		padding: 18px 0;
	}

	.property-custom-page-title {
		font-size: 22px !important;
	}

	.property-custom-breadcrumb {
		padding: 8px 0;
		font-size: 12px;
	}
}


/* =========================================================
   物件詳細ページ
========================================================= */

.single-property main {
	max-width: 1120px;
	margin: 48px auto 80px;
	padding: 0 20px;
	box-sizing: border-box;
}

.single-property main *,
.single-property main *::before,
.single-property main *::after {
	box-sizing: border-box;
}

.property-single .property-header {
	margin-bottom: 28px !important;
	padding-bottom: 16px !important;
	border-bottom: 2px solid #43a047 !important;
}

.property-single .property-header > div {
	margin-bottom: 6px !important;
	color: #666;
	font-size: 14px;
	font-weight: 700;
}

.property-single .property-header h1 {
	margin: 0 !important;
	color: #222;
	font-size: 30px !important;
	line-height: 1.45 !important;
	font-weight: 700;
}

.property-top-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: 34px;
	align-items: start;
	margin: 0 0 52px;
}

.property-top-left,
.property-top-right {
	min-width: 0;
}

.property-gallery {
	margin: 0;
}

.property-gallery-main {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid #e1e1e1;
	border-radius: 6px;
	background: #f7f7f7;
}

.property-gallery-slide {
	display: none;
	width: 100%;
	height: 100%;
}

.property-gallery-slide.is-active {
	display: flex;
	align-items: center;
	justify-content: center;
}

.property-gallery-main-image,
.property-gallery-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

.property-gallery-prev,
.property-gallery-next {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, .52);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
}

.property-gallery-prev {
	left: 12px;
}

.property-gallery-next {
	right: 12px;
}

.property-gallery-prev:hover,
.property-gallery-next:hover {
	background: #43a047;
}

.property-gallery-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	padding: 2px 0 4px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.property-gallery-thumb {
	flex: 0 0 82px;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: 4px;
	background: #fff;
	opacity: .62;
	cursor: pointer;
	transition: opacity .2s ease, border-color .2s ease;
}

.property-gallery-thumb.is-active {
	border-color: #43a047;
	opacity: 1;
}

.property-gallery-thumb img {
	display: block;
	width: 100%;
	height: 58px;
	object-fit: cover;
}

.property-no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #f7f7f7;
	color: #888;
}

.property-point-box {
	margin-bottom: 20px;
	padding: 20px 22px;
	border: 1px solid #dce9df;
	border-left: 5px solid #43a047;
	border-radius: 4px;
	background: #f5fbf6;
}

.property-top-title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #2f7f35 !important;
	font-size: 20px !important;
	line-height: 1.45 !important;
}

.property-top-title::before,
.property-top-title::after {
	display: none !important;
}

.property-point-body {
	color: #333;
	font-size: 15px;
	line-height: 1.9;
}

.property-summary {
	overflow: hidden;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.property-summary-row {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	border-bottom: 1px solid #ddd;
}

.property-summary-row:last-child {
	border-bottom: 0;
}

.property-summary-label {
	display: flex;
	align-items: flex-start;
	padding: 13px 12px;
	background: #eef7f1;
	color: #333;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.property-summary-value {
	min-width: 0;
	padding: 13px 14px;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.8;
	word-break: break-word;
}

.property-tag {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 4px 8px;
	border: 1px solid #b9d9bf;
	border-radius: 3px;
	background: #f7fcf8;
	color: #2f7f35;
	font-size: 13px;
	line-height: 1.45;
}

.property-other-department {
	margin-top: 6px;
}

.property-section-block {
	margin: 52px 0 0;
}

.property-section-heading {
	position: relative;
	margin: 0 0 20px !important;
	padding: 0 0 10px 15px !important;
	border: 0 !important;
	border-bottom: 2px solid #43a047 !important;
	color: #333 !important;
	font-size: 23px !important;
	line-height: 1.45 !important;
	font-weight: 700;
}

.property-section-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 5px;
	height: 26px;
	border-radius: 2px;
	background: #43a047;
}

.property-section-heading::after {
	display: none !important;
}

.property-map-box {
	width: 100%;
	overflow: hidden;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #f7f7f7;
}

.property-map-box iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}

.property-detail-list {
	overflow: hidden;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.property-detail-row {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	border-bottom: 1px solid #ddd;
}

.property-detail-row:last-child {
	border-bottom: 0;
}

.property-detail-label {
	padding: 15px 16px;
	background: #eef7f1;
	color: #333;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.property-detail-value {
	min-width: 0;
	padding: 15px 18px;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.9;
	word-break: break-word;
}

.property-table-scroll {
	width: 100%;
	overflow-x: auto;
}

.property-section-table {
	width: 100%;
	min-width: 880px;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
}

.property-section-table th,
.property-section-table td {
	padding: 12px 11px;
	border: 1px solid #d7d7d7;
	text-align: left;
	vertical-align: top;
	font-size: 14px;
	line-height: 1.65;
}

.property-section-table th {
	background: #eef7f1;
	color: #333;
	font-weight: 700;
	white-space: nowrap;
}

.property-section-table tbody tr:nth-child(even) {
	background: #fbfbfb;
}

.property-section-table tbody tr:hover {
	background: #f5fbf6;
}

.property-section-note {
	margin-top: 5px;
	color: #c62828;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
}

.property-section-cards {
	display: none;
}

@media screen and (max-width: 991px) {

	.property-top-grid {
		grid-template-columns: 1fr;
		gap: 28px;
		margin-bottom: 42px;
	}

	.property-map-box iframe {
		height: 350px;
	}

	.property-section-block {
		margin-top: 44px;
	}
}

@media screen and (max-width: 767px) {

	.single-property main {
		margin-top: 28px;
		margin-bottom: 56px;
		padding: 0 15px;
	}

	.property-single .property-header {
		margin-bottom: 22px !important;
	}

	.property-single .property-header h1 {
		font-size: 23px !important;
		line-height: 1.5 !important;
	}

	.property-top-grid {
		gap: 22px;
		margin-bottom: 34px;
	}

	.property-gallery-main {
		border-radius: 4px;
	}

	.property-gallery-prev,
	.property-gallery-next {
		width: 38px;
		height: 38px;
		font-size: 26px;
	}

	.property-gallery-prev {
		left: 7px;
	}

	.property-gallery-next {
		right: 7px;
	}

	.property-gallery-thumb {
		flex-basis: 68px;
	}

	.property-gallery-thumb img {
		height: 50px;
	}

	.property-point-box {
		margin-bottom: 16px;
		padding: 16px;
	}

	.property-top-title {
		font-size: 18px !important;
	}

	.property-point-body {
		font-size: 14px;
		line-height: 1.8;
	}

	.property-summary-row {
		display: block;
	}

	.property-summary-label {
		padding: 8px 11px;
		border-bottom: 1px solid #dce9df;
	}

	.property-summary-value {
		padding: 11px 12px;
	}

	.property-section-block {
		margin-top: 36px;
	}

	.property-section-heading {
		margin-bottom: 15px !important;
		padding-left: 12px !important;
		font-size: 19px !important;
	}

	.property-section-heading::before {
		top: 3px;
		width: 4px;
		height: 22px;
	}

	.property-map-box iframe {
		height: 280px;
	}

	.property-detail-row {
		display: block;
	}

	.property-detail-label {
		padding: 9px 11px;
		border-bottom: 1px solid #dce9df;
	}

	.property-detail-value {
		padding: 11px 12px;
	}


	.property-table-scroll {
		display: none;
	}


	.property-section-cards {
		display: block;
	}

	.property-section-card {
		margin-bottom: 16px;
		overflow: hidden;
		border: 1px solid #d7d7d7;
		border-radius: 5px;
		background: #fff;
	}

	.property-section-card-header {
		padding: 12px 13px;
		border-bottom: 1px solid #dce9df;
		background: #eef7f1;
	}

	.property-section-card-title {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		color: #2f7f35 !important;
		font-size: 17px !important;
		line-height: 1.45 !important;
		font-weight: 700;
	}

	.property-section-card-title::before,
	.property-section-card-title::after {
		display: none !important;
	}

	.property-section-card-note {
		margin-top: 5px;
		color: #c62828;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.55;
	}

	.property-section-card-row {
		display: grid;
		grid-template-columns: 102px minmax(0, 1fr);
		border-bottom: 1px solid #eee;
	}

	.property-section-card-row:last-child {
		border-bottom: 0;
	}

	.property-section-card-label {
		padding: 9px 10px;
		background: #fafafa;
		color: #444;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.6;
	}

	.property-section-card-value {
		min-width: 0;
		padding: 9px 11px;
		color: #333;
		font-size: 13px;
		line-height: 1.7;
		word-break: break-word;
	}

	.property-section-card-empty {
		padding: 13px;
		border: 1px solid #ddd;
		background: #fafafa;
		font-size: 14px;
	}
}

.property-single h2 {
	position: static !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;

	border-radius: 0 !important;

	background: none !important;
	background-color: transparent !important;
	background-image: none !important;

	box-shadow: none !important;

	color: inherit;

	font-size: inherit;
	line-height: inherit;

	text-align: left;
}

.property-heading-row .property-title {
	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-left: 0 !important;
	border-bottom: 0 !important;

	background: none !important;
	box-shadow: none !important;

	color: #222 !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-heading-row .property-title::before,
.property-heading-row .property-title::after {
	display: none !important;
	content: none !important;
}

@media screen and (max-width: 767px) {

	.property-heading-row .property-title {
		font-size: 20px !important;
	}

}

.property-single h2::before,
.property-single h2::after {
	content: none !important;
	display: none !important;

	width: 0 !important;
	height: 0 !important;

	border: 0 !important;
	background: none !important;
}

.property-single h2.property-top-title {
	margin: 0 0 12px !important;
	padding: 0 !important;

	color: #2f7f35 !important;

	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-single h2.property-section-heading {
	position: relative !important;

	margin: 0 0 20px !important;
	padding: 0 0 10px 15px !important;

	border-bottom: 2px solid #43a047 !important;

	color: #333 !important;

	font-size: 23px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-single h2.property-section-heading::before {
	content: "" !important;
	display: block !important;

	position: absolute !important;
	left: 0 !important;
	top: 3px !important;

	width: 5px !important;
	height: 26px !important;

	border-radius: 2px !important;

	background: #43a047 !important;
}

@media screen and (max-width: 767px) {

	.property-single h2.property-top-title {
		font-size: 18px !important;
	}

	.property-single h2.property-section-heading {
		margin-bottom: 15px !important;
		padding-left: 12px !important;

		font-size: 19px !important;
	}

	.property-single h2.property-section-heading::before {
		top: 3px !important;

		width: 4px !important;
		height: 22px !important;
	}
}

.property-contact-box {
	margin-top: 55px;
	padding: 30px 28px;
	border: 1px solid #dce9df;
	border-radius: 6px;
	background: #f5fbf6;
}

.property-contact-title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #2f7f35 !important;
	font-size: 22px !important;
}

.property-contact-text {
	margin-bottom: 25px;
	line-height: 1.8;
}

.property-contact-form {
	max-width: 760px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {

	.property-contact-box {
		margin-top: 38px;
		padding: 22px 15px;
	}

	.property-contact-title {
		font-size: 19px !important;
	}
}

.property-heading-row {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 25px;
}

.property-heading-row .property-number {
	flex-shrink: 0;
	margin: 0;
}

.property-heading-row .property-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;

	color: #222 !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-heading-row .property-title::before,
.property-heading-row .property-title::after {
	display: none !important;
	content: none !important;
}

@media screen and (max-width: 767px) {

	.property-heading-row {
		align-items: flex-start;
		gap: 10px;
		margin-bottom: 20px;
	}

	.property-heading-row .property-title {
		font-size: 20px !important;
	}

}

/* =========================================================
   物件一覧・検索ページ
========================================================= */

.property-archive {
	width: 100%;
	margin: 40px 0 70px;
	box-sizing: border-box;
}

.property-archive *,
.property-archive *::before,
.property-archive *::after {
	box-sizing: border-box;
}

.property-archive-header {
	margin-bottom: 28px;
}

.property-archive-title {
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 0 !important;
	border-bottom: 2px solid #43a047 !important;
	background: none !important;
	color: #222 !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-archive-title::before,
.property-archive-title::after {
	display: none !important;
	content: none !important;
}

.property-search-box {
	margin-bottom: 36px;
	padding: 24px;
	border: 1px solid #dce9df;
	border-radius: 6px;
	background: #f5fbf6;
}

.property-search-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #2f7f35 !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-search-title::before,
.property-search-title::after {
	display: none !important;
	content: none !important;
}

.property-search-form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.property-search-field {
	min-width: 0;
}

.property-search-field--keyword {
	grid-column: 1 / -1;
}

.property-search-label {
	display: block;
	margin-bottom: 6px;
	color: #333;
	font-size: 14px;
	font-weight: 700;
}

.property-search-select,
.property-search-input {
	display: block;
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #333;
	font-size: 16px;
	line-height: 46px;
}

.property-search-buttons {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 4px;
}

.property-search-submit,
.property-search-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 46px;
	margin: 0;
	padding: 10px 24px;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
	cursor: pointer;
}

.property-search-submit {
	border: 1px solid #43a047;
	background: #43a047;
	color: #fff !important;
}

.property-search-submit:hover {
	border-color: #368039;
	background: #368039;
	color: #fff !important;
}

.property-search-reset {
	border: 1px solid #aaa;
	background: #fff;
	color: #555 !important;
}

.property-search-reset:hover {
	background: #f3f3f3;
	color: #333 !important;
}

.property-result-count {
	margin-bottom: 18px;
	color: #333;
	font-size: 15px;
}

.property-result-count strong {
	color: #2f7f35;
	font-size: 20px;
}

.property-list {
	display: grid;
	gap: 22px;
}

.property-card {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	width: 100%;
	overflow: hidden;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.property-card:hover {
	border-color: #b9d9bf;
	box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.property-card-image {
	position: relative;
	min-width: 0;
	min-height: 220px;
	overflow: hidden;
	background: #f5f5f5;
}

.property-card-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.property-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 220px;
	margin: 0;
	object-fit: cover;
}

.property-card-no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 220px;
	color: #888;
}

.property-card-body {
	min-width: 0;
	padding: 20px 22px;
}

.property-card-number {
	margin-bottom: 4px;
	color: #777;
	font-size: 13px;
	font-weight: 700;
}

.property-card-title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #222 !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.property-card-title::before,
.property-card-title::after {
	display: none !important;
	content: none !important;
}

.property-card-title a {
	color: #222 !important;
	text-decoration: none !important;
}

.property-card-title a:hover {
	color: #43a047 !important;
}

.property-card-tags {
	margin-bottom: 10px;
}

.property-card-tag {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 3px 8px;
	border: 1px solid #b9d9bf;
	border-radius: 3px;
	background: #f7fcf8;
	color: #2f7f35;
	font-size: 12px;
	line-height: 1.5;
}

.property-card-tag--type {
	border-color: #b7cfe8;
	background: #f5f9fd;
	color: #326995;
}

.property-card-info {
	margin-top: 10px;
	border-top: 1px solid #eee;
}

.property-card-info-row {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	border-bottom: 1px solid #eee;
}

.property-card-info-label {
	padding: 8px 9px;
	background: #fafafa;
	color: #333;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
}

.property-card-info-value {
	min-width: 0;
	padding: 8px 10px;
	color: #333;
	font-size: 13px;
	line-height: 1.7;
	word-break: break-word;
}

.property-card-pr {
	margin-top: 13px;
	color: #555;
	font-size: 13px;
	line-height: 1.75;
}

.property-card-action {
	margin-top: 16px;
	text-align: right;
}

.property-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	padding: 10px 20px;
	border-radius: 4px;
	background: #43a047;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
}

.property-card-button:hover {
	background: #368039;
	color: #fff !important;
}

.property-empty {
	padding: 35px 20px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fafafa;
	text-align: center;
}

.property-pagination {
	margin-top: 40px;
}

.property-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.property-pagination .page-numbers li {
	margin: 0;
	padding: 0;
}

.property-pagination a,
.property-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #ddd;
	border-radius: 3px;
	background: #fff;
	color: #333 !important;
	text-decoration: none !important;
}

.property-pagination .current {
	border-color: #43a047;
	background: #43a047;
	color: #fff !important;
}

.property-pagination a:hover {
	border-color: #43a047;
	color: #43a047 !important;
}

.property-archive h1,
.property-archive h2 {
	box-shadow: none !important;
}

.property-archive img {
	max-width: 100%;
}

@media screen and (max-width: 991px) {

	.property-card {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.property-search-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.property-search-field--keyword,
	.property-search-buttons {
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 767px) {

	.property-archive {
		margin-top: 28px;
		margin-bottom: 55px;
	}

	.property-archive-title {
		font-size: 2rem !important;
	}

	.property-search-box {
		margin-bottom: 28px;
		padding: 17px 15px;
	}

	.property-search-title {
		font-size: 18px !important;
	}

	.property-search-form {
		display: block;
	}

	.property-search-field {
		margin-bottom: 14px;
	}

	.property-search-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-top: 18px;
	}

	.property-search-submit,
	.property-search-reset {
		width: 100%;
		min-width: 0;
		min-height: 44px;
		padding: 9px 10px;
		font-size: 14px;
	}

	.property-card {
		display: block;
	}

	.property-card-image {
		min-height: 0;
	}

	.property-card-image img {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.property-card-no-image {
		min-height: 190px;
	}

	.property-card-body {
		padding: 16px;
	}

	.property-card-title {
		font-size: 18px !important;
	}

	.property-card-info-row {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.property-card-action {
		text-align: center;
	}

	.property-card-button {
		width: 100%;
	}
}


/* =========================================================
   Lightning ヘッダー・フッター保護
   物件用CSSをサイト共通領域へ波及させない
========================================================= */

body.single-property .site-header,
body.single-property .site-footer,
body.single-property .site-header *,
body.single-property .site-footer * {
	box-sizing: border-box;
}

/*
 * 物件詳細の見出し調整は本文内だけ。
 * Lightning のヘッダー / フッター内 h2 には適用しない。
 */
.property-single h2 {
	text-align: left;
}

/* 物件本文背景 */
body.single-property .site-body,
body.post-type-archive-property .site-body {
	background: #fff !important;
}


/* =========================================================
   物件検索：カード操作ボタン
========================================================= */

.property-card-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 18px;
}

.property-consider-button,
.property-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 12px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.property-consider-button {
	border: 1px solid #43a047;
	background: #fff;
	color: #43a047;
}

.property-consider-button:hover {
	background: #f1faf3;
}

.property-consider-button.is-added {
	border-color: #777;
	background: #777;
	color: #fff;
}

.property-card-button--detail {
	background: #43a047;
	color: #fff !important;
}

.property-card-button--detail:hover {
	background: #368039;
	color: #fff !important;
}

.property-card-button--contact {
	border: 1px solid #43a047;
	background: #eef7f1;
	color: #2f7f35 !important;
}

.property-card-button--contact:hover {
	background: #dff0e3;
	color: #25672a !important;
}


/* =========================================================
   検討リスト：画面下 固定バー
========================================================= */

.property-consider-bar[hidden] {
	display: none !important;
}

.property-consider-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;

	padding: 12px 0;

	/* 濃いグリーン・少し透過 */
	background: rgba(32, 102, 48, 0.9);

	border-top: none;
	box-shadow: 0 -3px 14px rgba(0, 0, 0, .18);
}

.property-consider-bar-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}


/* 件数表示 */

.property-consider-bar-count {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
}

.property-consider-bar-count strong {
	margin: 0 3px;

	color: #fff;
	font-size: 22px;
	font-weight: 700;
}


/* ボタンエリア */

.property-consider-bar-actions {
	display: flex;
	gap: 10px;
}

.property-consider-bar-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 150px;
	min-height: 42px;
	padding: 8px 18px;

	border: 0;
	border-radius: 4px;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;

	text-decoration: none !important;
	cursor: pointer;

	transition:
		background-color .2s ease,
		color .2s ease;
}


/* 確認する */

.property-consider-bar-button--check {
	background: #ebebeb;
	color: #333 !important;
}

.property-consider-bar-button--check:hover {
	background: #d5d5d5;
	color: #222 !important;
}


/* まとめて問い合わせる */

.property-consider-bar-button--contact {
	background: #fdd835;
	color: #333 !important;
}

.property-consider-bar-button--contact:hover {
	background: #f5c900;
	color: #222 !important;
}


body.has-property-consider-bar {
	padding-bottom: 78px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

	.property-consider-bar {
		padding: 10px 0;
	}

	.property-consider-bar-inner {
		display: block;
	}

	.property-consider-bar-count {
		margin-bottom: 8px;

		color: #fff;
		font-size: 13px;
		text-align: center;
	}

	.property-consider-bar-count strong {
		color: #fff;
		font-size: 18px;
	}

	.property-consider-bar-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 7px;
	}

	.property-consider-bar-button {
		width: 100%;
		min-width: 0;
		padding: 8px;
		font-size: 13px;
	}

	body.has-property-consider-bar {
		padding-bottom: 105px;
	}

}

/* =========================================================
   検討リストページ
========================================================= */

.property-consider-page {
	margin: 40px 0 70px;
}

.property-consider-empty {
	padding: 30px 20px;
	border: 1px solid #ddd;
	background: #fafafa;
	text-align: center;
}

.property-consider-list {
	display: grid;
	gap: 14px;
}

.property-consider-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 20px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #fff;
}

.property-consider-item-main {
	min-width: 0;
}

.property-consider-item-number {
	margin-bottom: 3px;
	color: #777;
	font-size: 13px;
	font-weight: 700;
}

.property-consider-item-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 18px !important;
	line-height: 1.5 !important;
}

.property-consider-item-title::before,
.property-consider-item-title::after {
	display: none !important;
	content: none !important;
}

.property-consider-item-title a {
	color: #222;
	text-decoration: none;
}

.property-consider-item-title a:hover {
	color: #43a047;
}

.property-consider-item-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

.property-consider-item-detail,
.property-consider-remove,
.property-consider-page-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
}

.property-consider-item-detail {
	border: 0;
	background: #43a047;
	color: #fff !important;
}

.property-consider-remove {
	border: 1px solid #aaa;
	background: #fff;
	color: #555;
}

.property-consider-page-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
}

.property-consider-page-button--back {
	border: 1px solid #aaa;
	background: #fff;
	color: #555 !important;
}

.property-consider-page-button--contact {
	border: 0;
	background: #43a047;
	color: #fff !important;
}


/* =========================================================
   検討リスト：スマホ
========================================================= */

@media screen and (max-width: 767px) {

	.property-card-actions {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.property-consider-button,
	.property-card-button {
		width: 100%;
	}

	.property-consider-bar {
		padding: 10px 0;
	}

	.property-consider-bar-inner {
		display: block;
	}

	.property-consider-bar-count {
		margin-bottom: 8px;
		text-align: center;
		font-size: 13px;
	}

	.property-consider-bar-count strong {
		font-size: 18px;
	}

	.property-consider-bar-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 7px;
	}

	.property-consider-bar-button {
		width: 100%;
		min-width: 0;
		padding: 8px;
		font-size: 13px;
	}

	body.has-property-consider-bar {
		padding-bottom: 105px;
	}

	.property-consider-page {
		margin: 28px 0 55px;
	}

	.property-consider-item {
		display: block;
		padding: 15px;
	}

	.property-consider-item-actions {
		display: grid;
		grid-template-columns: 1fr auto;
		margin-top: 14px;
	}

	.property-consider-page-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.property-consider-page-button {
		width: 100%;
	}

}


/* =========================================================
   検討リストページ
   元サイト風レイアウト
========================================================= */

.property-consider-site-body {
	background: #eef7f1 !important;
}

.property-consider-page {
	max-width: 900px;
	margin: 0 auto;
	padding: 45px 0 70px;
}

.property-consider-summary {
	margin: 0 0 16px;
	color: #333;
	font-size: 15px;
	font-weight: 700;
}

.property-consider-summary strong {
	margin: 0 5px;
	color: #43a047;
	font-size: 22px;
}


/* =========================================================
   操作バー
========================================================= */

.property-consider-toolbar[hidden] {
	display: none !important;
}

.property-consider-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
}

.property-consider-toolbar--bottom {
	margin-top: 14px;
	margin-bottom: 0;
}

.property-consider-select-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 7px 14px;
	border: 1px solid #d2d2d2;
	border-radius: 3px;
	background: #fff;
	color: #333;
	font-size: 14px;
	cursor: pointer;
}

.property-consider-select-all-input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #43a047;
}

.property-consider-toolbar-right {
	display: flex;
	align-items: center;
	gap: 10px;
}

.property-consider-selected-text {
	margin-right: 4px;
	color: #555;
	font-size: 13px;
}

.property-consider-delete-selected,
.property-consider-bulk-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 18px;
	border-radius: 3px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.property-consider-delete-selected {
	border: 1px solid #ccc;
	background: #fff;
	color: #555;
}

.property-consider-delete-selected:hover {
	background: #f5f5f5;
	color: #333;
}

.property-consider-bulk-contact {
	border: 1px solid #e4bd19;
	background: #fdd835;
	color: #333;
}

.property-consider-bulk-contact:hover {
	background: #f5c900;
	color: #222;
}


/* =========================================================
   物件カード
========================================================= */

.property-consider-list {
	display: grid;
	gap: 14px;
}

.property-consider-card {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	min-height: 215px;
	overflow: hidden;
	border-radius: 3px;
	background: #fff;
}

.property-consider-card-check {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e4ebe5;
}

.property-consider-check {
	width: 19px;
	height: 19px;
	margin: 0;
	accent-color: #43a047;
}

.property-consider-card-content {
	min-width: 0;
	padding: 20px 22px;
}

.property-consider-card-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #aaa;
}

.property-consider-card-number {
	flex: 0 0 auto;
	padding: 3px 8px;
	border: 1px solid #cfcfcf;
	background: #fff;
	color: #888;
	font-size: 12px;
	line-height: 1.4;
}

.property-consider-card-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #222 !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.property-consider-card-title::before,
.property-consider-card-title::after {
	display: none !important;
	content: none !important;
}

.property-consider-card-title a {
	color: #222 !important;
	text-decoration: none !important;
}

.property-consider-card-title a:hover {
	color: #43a047 !important;
}

.property-consider-card-grid {
	display: grid;
	grid-template-columns:
		150px minmax(0, 1fr) 190px;
	gap: 20px;
	align-items: start;
}

.property-consider-card-image {
	width: 100%;
	overflow: hidden;
	background: #f5f5f5;
}

.property-consider-card-image a {
	display: block;
}

.property-consider-card-image img {
	display: block;
	width: 100%;
	height: 105px;
	object-fit: cover;
}

.property-consider-no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 105px;
	padding: 10px;
	color: #888;
	font-size: 12px;
	text-align: center;
}

.property-consider-card-info {
	min-width: 0;
}

.property-consider-info-row {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	min-height: 44px;
	border-bottom: 1px solid #e2e2e2;
}

.property-consider-info-label {
	padding: 9px 8px 9px 0;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

.property-consider-info-value {
	min-width: 0;
	padding: 9px 0;
	color: #444;
	font-size: 12px;
	line-height: 1.7;
}

.property-consider-tag {
	display: inline-block;
	margin: 0 8px 2px 0;
	white-space: nowrap;
}

.property-consider-card-actions {
	display: grid;
	gap: 10px;
}

.property-consider-contact-button,
.property-consider-detail-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 66px;
	padding: 10px 30px 10px 12px;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	text-decoration: none !important;
}

.property-consider-contact-button span,
.property-consider-detail-button span {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 26px;
	font-weight: 300;
}

.property-consider-contact-button {
	border: 1px solid #e4bd19;
	background: #fdd835;
	color: #333 !important;
}

.property-consider-contact-button:hover {
	background: #f5c900;
	color: #222 !important;
}

.property-consider-detail-button {
	border: 1px solid #d5d5d5;
	background: #ebebeb;
	color: #444 !important;
}

.property-consider-detail-button:hover {
	background: #ddd;
	color: #222 !important;
}


/* =========================================================
   空状態
========================================================= */

.property-consider-empty {
	padding: 45px 25px;
	border-radius: 4px;
	background: #fff;
	text-align: center;
}

.property-consider-empty p {
	margin-bottom: 20px;
}

.property-consider-empty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 24px;
	border-radius: 3px;
	background: #43a047;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 991px) {

	.property-consider-page {
		max-width: 100%;
	}

	.property-consider-card-grid {
		grid-template-columns:
			135px minmax(0, 1fr);
	}

	.property-consider-card-actions {
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr;
	}

	.property-consider-contact-button,
	.property-consider-detail-button {
		min-height: 52px;
	}
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

	.property-consider-page {
		padding: 28px 0 50px;
	}

	.property-consider-summary {
		font-size: 14px;
	}

	.property-consider-toolbar {
		display: block;
	}

	.property-consider-select-all {
		margin-bottom: 10px;
	}

	.property-consider-toolbar-right {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.property-consider-selected-text {
		grid-column: 1 / -1;
		margin: 0;
	}

	.property-consider-delete-selected,
	.property-consider-bulk-contact {
		width: 100%;
		padding: 8px 10px;
		font-size: 13px;
	}

	.property-consider-card {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.property-consider-card-content {
		padding: 14px 13px;
	}

	.property-consider-card-heading {
		display: block;
	}

	.property-consider-card-number {
		display: inline-block;
		margin-bottom: 7px;
	}

	.property-consider-card-title {
		font-size: 17px !important;
	}

	.property-consider-card-grid {
		display: block;
	}

	.property-consider-card-image {
		margin-bottom: 12px;
	}

	.property-consider-card-image img,
	.property-consider-no-image {
		height: auto;
		min-height: 170px;
		aspect-ratio: 16 / 10;
	}

	.property-consider-card-actions {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 14px;
	}

	.property-consider-contact-button,
	.property-consider-detail-button {
		min-height: 50px;
	}

}

/* =========================================================
   トップページ
   新着物件 / おすすめ物件
========================================================= */

.home-property-section {
	margin: 48px 0 55px;
}


/* ========================================
   セクションタイトル
======================================== */

.home-property-section-header {
	margin-bottom: 20px;
}

.home-property-heading {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 18px !important;

	border: 0 !important;
	border-bottom: 0 !important;

	background: none !important;

	color: #43a047 !important;

	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.home-property-heading::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 0;

	width: 7px;
	height: 1em;

	border-radius: 999px;
	background: #43a047;
	transform: translateY(-50%);
}

.home-property-heading::after {
	display: none !important;
	content: none !important;
}


/* ========================================
   物件一覧
======================================== */

.home-property-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}


/* ========================================
   物件1件
======================================== */

.home-property-item {
	position: relative;

	display: grid;
	grid-template-columns: 185px minmax(0, 1fr);

	min-height: 165px;

	overflow: hidden;

	border: 1px solid #ddd;
	border-radius: 3px;

	background: #fff;

	transition:
		border-color .2s ease,
		box-shadow .2s ease;
}

.home-property-item:hover {
	border-color: #afd3b5;

	box-shadow:
		0 3px 10px rgba(0, 0, 0, .06);
}


/* ========================================
   左：画像
======================================== */

.home-property-image {
	min-width: 0;
	min-height: 165px;

	overflow: hidden;

	background: #f3f3f3;
}

.home-property-image a {
	display: block;

	width: 100%;
	height: 100%;
}

.home-property-image-img {
	display: block;

	width: 100%;
	height: 100%;
	min-height: 165px;

	margin: 0;

	object-fit: cover;

	transition: transform .25s ease;
}

.home-property-item:hover
.home-property-image-img {
	transform: scale(1.025);
}

.home-property-no-image {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	min-height: 165px;

	padding: 15px;

	background: #f5f5f5;

	color: #999;

	font-size: 12px;
	text-align: center;
}


/* ========================================
   右：本文
======================================== */

.home-property-body {
	position: relative;

	min-width: 0;

	padding: 15px 48px 14px 18px;
}


/* 日付 + No */

.home-property-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;

	margin-bottom: 4px;
}

.home-property-date {
	color: #888;

	font-size: 12px;
	line-height: 1.5;
}

.home-property-number {
	display: inline-block;

	padding: 1px 6px;

	border: 1px solid #ddd;
	border-radius: 2px;

	color: #888;

	font-size: 10px;
	line-height: 1.5;
}


/* ========================================
   物件名
======================================== */

.home-property-title {
	margin: 0 0 9px !important;
	padding: 0 0 8px !important;

	border: 0 !important;
	border-bottom: 1px solid #ddd !important;

	background: none !important;

	color: #333 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.home-property-title::before,
.home-property-title::after {
	display: none !important;
	content: none !important;
}

.home-property-title a {
	color: #333 !important;

	text-decoration: none !important;
}

.home-property-title a:hover {
	color: #43a047 !important;
}


/* ========================================
   地域 / 種別 / 科目
======================================== */

.home-property-info {
	font-size: 12px;
}

.home-property-info-row {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);

	min-height: 26px;
}

.home-property-label {
	padding: 3px 6px 3px 0;

	color: #777;

	font-weight: 700;
	line-height: 1.6;
}

.home-property-value {
	min-width: 0;

	padding: 3px 0;

	color: #444;

	line-height: 1.65;
}

.home-property-text-tag {
	display: inline;

	margin-right: 8px;

	white-space: normal;
}


/* ========================================
   右端 詳細矢印
======================================== */

.home-property-detail-link {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 38px;

	background: #f3f3f3;

	color: #777 !important;

	text-decoration: none !important;

	transition:
		background .2s ease,
		color .2s ease;
}

.home-property-detail-link span:first-child {
	display: none;
}

.home-property-detail-link span:last-child {
	font-size: 29px;
	font-weight: 300;
	line-height: 1;
}

.home-property-detail-link:hover {
	background: #43a047;

	color: #fff !important;
}


/* ========================================
   もっと見る
======================================== */

.home-property-more {
	margin-top: 18px;

	text-align: right;
}

.home-property-more-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;

	min-width: 180px;
	min-height: 42px;

	padding: 8px 15px 8px 20px;

	border: 1px solid #d2d2d2;
	border-radius: 3px;

	background: #43a047;

	color: #fff !important;

	font-size: 13px;
	font-weight: 700;

	text-decoration: none !important;

	transition:
		background .2s ease,
		color .2s ease;
}

.home-property-more-button span {
	font-size: 22px;
	line-height: 1;
}

.home-property-more-button:hover {
	border-color: #43a047;

	background: #edf5ee;

	color: #444 !important;
}


/* ========================================
   データなし
======================================== */

.home-property-empty {
	margin: 0;

	padding: 25px 20px;

	border: 1px solid #ddd;

	background: #fafafa;

	text-align: center;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

	.home-property-section {
		margin: 38px 0 44px;
	}


	.home-property-list {
		gap: 12px;
	}


	/* カード */

	.home-property-item {
		display: block;

		min-height: 0;
	}


	/* 画像 */

	.home-property-image {
		min-height: 0;
	}

	.home-property-image-img,
	.home-property-no-image {
		width: 100%;
		height: auto;
		min-height: 170px;

		aspect-ratio: 16 / 9;
	}

	.home-property-image-img {
		object-fit: cover;
	}


	/* 本文 */

	.home-property-body {
		padding: 13px 42px 14px 14px;
	}

	.home-property-title {
		font-size: 16px !important;
	}

	.home-property-info-row {
		grid-template-columns: 44px minmax(0, 1fr);
	}


	/* 右矢印 */

	.home-property-detail-link {
		width: 34px;
	}


	/* もっと見る */

	.home-property-more {
		margin-top: 14px;
	}

	.home-property-more-button {
		width: 100%;
	}

}

/* =========================================================
   トップページ 新着情報
========================================================= */

.home-news {
	margin: 50px 0;
}


/* タイトル */

.home-news-heading {
	position: relative;

	margin: 0 0 22px !important;
	padding: 0 0 10px 16px !important;

	border: 0 !important;
	border-bottom: 2px solid #43a047 !important;

	background: none !important;

	color: #43a047 !important;

	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.home-news-heading::before {
	content: "";

	position: absolute;
	top: 2px;
	left: 0;

	width: 6px;
	height: 28px;

	background: #43a047;
}

.home-news-heading::after {
	display: none !important;
	content: none !important;
}


/* =========================================================
   タブ
========================================================= */

.home-news-tabs {
	display: grid;
	grid-template-columns:
		repeat(3, 1fr);

	margin-bottom: 18px;

	border-bottom:
		3px solid #43a047;
}

.home-news-tab {
	min-height: 46px;

	padding: 9px 15px;

	border: 1px solid #ddd;
	border-bottom: 0;

	background: #f5f5f5;

	color: #555;

	font-size: 14px;
	font-weight: 700;

	cursor: pointer;
}

.home-news-tab + .home-news-tab {
	border-left: 0;
}

.home-news-tab:hover {
	background: #eef7f1;
}

.home-news-tab.is-active {
	border-color: #43a047;

	background: #43a047;

	color: #fff;
}


/* =========================================================
   一覧
========================================================= */

.home-news-list {
	border-top: 1px solid #ddd;
}

.home-news-item {
	margin: 0;

	border-bottom: 1px solid #ddd;

	background: #fff;
}

.home-news-item[hidden] {
	display: none !important;
}

.home-news-link {
	display: grid;

	grid-template-columns:
		100px
		90px
		minmax(0, 1fr)
		30px;

	align-items: center;

	gap: 15px;

	min-height: 62px;

	padding: 10px 12px;

	color: #333 !important;

	text-decoration: none !important;

	transition:
		background .2s ease;
}

.home-news-link:hover {
	background: #f7fbf8;
}


/* 日付 */

.home-news-date {
	color: #777;

	font-size: 12px;

	white-space: nowrap;
}


/* カテゴリー */

.home-news-category {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 25px;

	padding: 3px 8px;

	border-radius: 2px;

	font-size: 11px;
	font-weight: 700;

	white-space: nowrap;
}


/* お知らせ */

.home-news-category--notice {
	border: 1px solid #43a047;

	background: #fff;

	color: #43a047;
}


/* 物件情報 */

.home-news-category--property {
	border: 1px solid #43a047;

	background: #43a047;

	color: #fff;
}


/* タイトル */

.home-news-title {
	min-width: 0;

	color: #333;

	font-size: 14px;
	line-height: 1.7;
}

.home-news-link:hover
.home-news-title {
	color: #43a047;
}


/* 矢印 */

.home-news-arrow {
	color: #aaa;

	font-size: 24px;

	text-align: center;
}

.home-news-link:hover
.home-news-arrow {
	color: #43a047;
}


	/* タブ */

	.home-news-tab {
		min-height: 42px;

		padding: 7px 5px;

		font-size: 13px;
	}


	/* 新着1件 */

	.home-news-link {
		position: relative;

		display: grid;

		grid-template-columns:
			auto 1fr;

		gap: 5px 10px;

		padding:
			12px 34px
			12px 10px;
	}

	.home-news-date {
		grid-column: 1;
	}

	.home-news-category {
		grid-column: 2;

		justify-self: start;
	}

	.home-news-title {
		grid-column: 1 / -1;

		font-size: 13px;
	}

	.home-news-arrow {
		position: absolute;

		top: 50%;
		right: 10px;

		transform:
			translateY(-50%);
	}


	/* 一覧 */

	.home-news-more-button {
		width: 100%;
	}

}

/* ========================================
   新着情報 タブパネル
======================================== */

.home-news-panel[hidden] {
	display: none !important;
}

.home-news-panel {
	display: block;
}


/* ========================================
   新着情報 ブログアイコン
======================================== */
.home-news-category--blog {
	border: 1px solid #2e7d32;
	background: #eef7f1;
	color: #2e7d32;
}

/* ========================================
   新着情報 タブ切り替え
======================================== */

.home-news-panel[hidden] {
	display: none !important;
}

.home-news-panel {
	display: block;
}

/* ========================================
   トップページ フリーワード検索
======================================== */

.home-freeword-search {
	max-width: 100%;
	margin: 18px 0 28px;
	padding: 12px 14px 8px;

	background: #eef7f1;
	border-radius: 4px;
	box-sizing: border-box;
}


/* 横並び */
.home-freeword-search__row {
	display: flex;
	align-items: stretch;
	width: 100%;
}


/* 左：フリーワード */
.home-freeword-search__label {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 105px;

	padding: 0 12px;

	background: #e4e4e4;
	color: #555;

	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;

	border-radius: 3px 0 0 3px;
}


/* 入力欄 */
.home-freeword-search__input {
	flex: 1;
	min-width: 0;

	height: 44px;
	padding: 0 14px;

	border: 1px solid #ddd;
	border-left: 0;
	border-right: 0;

	background: #fff;
	color: #333;

	font-size: 14px;
	line-height: 44px;

	border-radius: 0;
	box-shadow: none;
	outline: none;
}


/* フォーカス */
.home-freeword-search__input:focus {
	border-color: #aaa;
	box-shadow: none;
	outline: none;
}


/* placeholder */
.home-freeword-search__input::placeholder {
	color: #999;
	opacity: 1;
}


/* 右：検索ボタン */
.home-freeword-search__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;

	flex: 0 0 92px;

	height: 44px;
	padding: 0 14px;

	border: 0;
	border-radius: 0 3px 3px 0;

	background: #555;
	color: #fff;

	font-size: 14px;
	font-weight: 600;

	cursor: pointer;
	transition: background 0.2s ease;
}

.home-freeword-search__button:hover {
	background: #333;
	color: #fff;
}


/* 虫眼鏡 */
.home-freeword-search__icon {
	display: inline-block;
	font-size: 14px;
	line-height: 1;
}


/* 下の説明 */
.home-freeword-search__note {
	margin-top: 5px;
	padding-left: 8px;

	color: #666;

	font-size: 12px;
	line-height: 1.5;
}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

	.home-freeword-search {
		padding: 10px;
	}

	.home-freeword-search__label {
		flex: 0 0 84px;
		padding: 0 8px;
		font-size: 12px;
	}

	.home-freeword-search__input {
		height: 42px;
		padding: 0 10px;
		font-size: 13px;
	}

	.home-freeword-search__button {
		flex: 0 0 72px;
		height: 42px;
		padding: 0 8px;
		font-size: 13px;
	}

	.home-freeword-search__note {
		padding-left: 0;
		font-size: 11px;
	}

}

/* =========================================================
   物件一覧ページ
   メイン + Lightning標準右サイドバー
========================================================= */

@media screen and (min-width: 992px) {

    body.post-type-archive-property .site-body > .container {
        max-width: 1280px;
    }

    body.post-type-archive-property .property-content-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 36px;
        align-items: start;
        margin-left: 0;
        margin-right: 0;
    }

    body.post-type-archive-property .property-content-layout > .property-archive {
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        margin: 40px 0 70px;
        padding: 0;
    }

    body.post-type-archive-property .property-content-layout > .sub-section {
        width: 240px !important;
        max-width: 240px !important;
        min-width: 240px !important;
        flex: none !important;
        margin: 40px 0 70px;
        padding: 0;
    }

    body.post-type-archive-property .property-content-layout > .sub-section .widget {
        width: 100%;
        max-width: 240px;
    }

    body.post-type-archive-property .property-content-layout > .sub-section img {
        display: block;
        width: 100% !important;
        max-width: 240px !important;
        height: auto !important;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 991px) {

    body.post-type-archive-property .property-content-layout {
        display: block;
        margin-left: 0;
        margin-right: 0;
    }

    body.post-type-archive-property .property-content-layout > .property-archive {
        width: 100% !important;
        max-width: none !important;
    }

    body.post-type-archive-property .property-content-layout > .sub-section {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 40px 0 60px;
        padding: 0;
    }

    body.post-type-archive-property .property-content-layout > .sub-section img {
        display: block;
        width: auto !important;
        max-width: 240px !important;
        height: auto !important;
        margin-left: auto;
        margin-right: auto;
    }
}

/* =========================================
   トップページ
   物件で選ぶ：2列
   科目で選ぶ：3列
========================================= */

/* 物件で選ぶ → 2列 */
.home-property-type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

/* 科目で選ぶ → 3列 */
.home-medical-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

/* ボタン共通 */
.home-property-type-grid a,
.home-medical-grid a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 44px;
	min-width: 0;

	padding: 0 6px;
	box-sizing: border-box;

	border: 1px solid #43a047;
	border-radius: 2px;

	background: #fff;
	color: #43a047 !important;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;

	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
}

/* ホバー */
.home-property-type-grid a:hover,
.home-medical-grid a:hover {
	background: #43a047;
	color: #fff !important;
}

/* =========================================
   スマホ
========================================= */

@media screen and (max-width: 767px) {

	/* 物件はスマホでも2列 */
	.home-property-type-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	/* 科目はスマホでは2列 */
	.home-medical-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.home-property-type-grid a,
	.home-medical-grid a {
		height: 42px;
		font-size: 12px;
	}
}


/* =========================================================
   医院開業navi ヘッダー / トップページ 最終調整版
========================================================= */
html, body, button, input, select, textarea {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, sans-serif !important;
}
.iinkaigyo-mobile-header { display:none !important; }

@media screen and (min-width:768px) {
  .site-header { display:block !important; }
  .site-header .container, .global-nav .container, .site-header-container {
    width:100% !important; max-width:1180px !important; margin-left:auto !important; margin-right:auto !important;
    padding-left:15px !important; padding-right:15px !important; box-sizing:border-box;
  }
  .global-nav { width:100%; }
  .global-nav-list { display:flex !important; width:100% !important; max-width:1180px; margin:0 auto !important; padding:0 !important; }
  .global-nav-list > li { flex:1 1 0 !important; min-width:0 !important; }
  .global-nav-list > li > a { display:flex !important; align-items:center; justify-content:center; min-width:0 !important; padding-left:8px !important; padding-right:8px !important; font-size:13px !important; white-space:nowrap; }
  .site-header-sub, .site-header-sub * { min-width:0; box-sizing:border-box; }
  .site-header-sub img { max-width:100%; height:auto; }
}
@media screen and (min-width:768px) and (max-width:1199px) {
  .site-header .container, .global-nav .container, .site-header-container { max-width:100% !important; padding-left:10px !important; padding-right:10px !important; }
  .global-nav-list > li > a { padding-left:4px !important; padding-right:4px !important; font-size:clamp(10px,1.05vw,12px) !important; letter-spacing:-.02em; }
}

@media screen and (max-width:767px) {
  .site-header, .vk-mobile-nav-menu-btn { display:none !important; }
  .iinkaigyo-mobile-header, .iinkaigyo-mobile-header * { box-sizing:border-box; }
  .iinkaigyo-mobile-header { display:block !important; width:100%; margin:0; padding:0; background:#fff; color:#222; }
  .iinkaigyo-mobile-header__top { display:grid; grid-template-columns:50px minmax(0,1fr) 155px; align-items:center; column-gap:5px; width:100%; min-height:64px; padding:7px 9px 5px; }
  .iinkaigyo-mobile-header__service { appearance:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:50px; min-width:0; margin:0; padding:0; border:0; background:transparent; color:#222; font:inherit; text-align:center; }
  .iinkaigyo-mobile-header__hamburger { display:flex; flex-direction:column; gap:4px; width:25px; margin:0 auto 4px; }
  .iinkaigyo-mobile-header__hamburger span { display:block; width:25px; height:2px; background:#555; }
  .iinkaigyo-mobile-header__service-text { display:block; font-size:10px; font-weight:600; line-height:1.1; white-space:nowrap; }
  .iinkaigyo-mobile-header__logo { min-width:0; padding:0 2px; }
  .iinkaigyo-mobile-header__logo a { display:block; text-decoration:none; }
  .iinkaigyo-mobile-header__logo img { display:block; width:100%; max-width:128px; height:auto; margin:0 auto; }
  .iinkaigyo-mobile-header__tel { min-width:0; text-align:center; }
  .iinkaigyo-mobile-header__free { display:block; width:100%; margin:0 0 2px; padding:1px 5px; border-radius:999px; background:#43a047; color:#fff; font-size:8px; line-height:1.25; white-space:nowrap; }
  .iinkaigyo-mobile-header__tel-number { display:block; color:#222 !important; font-size:17px; font-weight:400; line-height:1.05; letter-spacing:-.45px; text-decoration:none !important; white-space:nowrap; }
  .iinkaigyo-mobile-header__hours { display:block; margin:2px 0 0; color:#444; font-size:8px; line-height:1.2; white-space:nowrap; }
  .iinkaigyo-mobile-header__actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; width:100%; padding:6px 9px 13px; }
  .iinkaigyo-mobile-header__actions a { display:flex; width:100%; height:47px; min-width:0; text-decoration:none !important; }
  .iinkaigyo-mobile-header__consider { flex-direction:column; align-items:center; justify-content:center; border:1px solid #d7e7d7; border-radius:5px; background:#f4f9f4; color:#43a047 !important; font-size:13px; font-weight:600; line-height:1.1; text-align:center; }
  .iinkaigyo-mobile-header__consider-icon { display:block; margin:0 0 2px; font-size:17px; line-height:1; }
  .iinkaigyo-mobile-header__apply { flex-direction:column; align-items:center; justify-content:center; border:0; border-radius:5px; background:#ffd42a; color:#222 !important; text-align:center; line-height:1.05; }
  .iinkaigyo-mobile-header__apply span { display:block; font-size:11px; font-weight:400; white-space:nowrap; }
  .iinkaigyo-mobile-header__apply strong { display:block; margin:2px 0 0; font-size:18px; font-weight:400; line-height:1; white-space:nowrap; }
  .iinkaigyo-mobile-header__menu { appearance:none; position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:64px; margin:0; padding:0; border:0; border-radius:0; background:#3fa447; color:#fff; font:inherit; }
  .iinkaigyo-mobile-header__menu-text { display:block; font-size:17px; font-weight:400; line-height:1; }
  .iinkaigyo-mobile-header__menu-arrow { position:absolute; top:50%; right:10px; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1.5px solid #fff; border-radius:5px; font-size:19px; font-weight:600; line-height:1; transform:translateY(-50%); }
  body.home .site-body { margin-top:0 !important; }
}
@media screen and (max-width:374px) {
  .iinkaigyo-mobile-header__top { grid-template-columns:44px minmax(0,1fr) 138px; column-gap:3px; padding-left:6px; padding-right:6px; }
  .iinkaigyo-mobile-header__service { width:44px; }
  .iinkaigyo-mobile-header__logo img { max-width:112px; }
  .iinkaigyo-mobile-header__tel-number { font-size:15px; letter-spacing:-.6px; }
  .iinkaigyo-mobile-header__free, .iinkaigyo-mobile-header__hours { font-size:7px; }
  .iinkaigyo-mobile-header__actions { gap:7px; padding-left:7px; padding-right:7px; }
}


/* =========================================================
   最終安定化パッチ
========================================================= */
@media screen and (min-width: 768px) {
    body > .iinkaigyo-mobile-header {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    body > .iinkaigyo-mobile-header {
        display: block !important;
        width: 100%;
        margin: 0;
        padding: 0;
    }
}


/* =========================================================
   医院開業navi
   最終整理版：PCヘッダー / スマホ維持 / 縮小対応
========================================================= */

/* 共通フォント */
html,
body,
button,
input,
select,
textarea {
	font-family:
		"メイリオ",
		Meiryo,
		"ヒラギノ角ゴ ProN W3",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		YuGothic,
		sans-serif !important;
}


/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

	/* Lightning標準ヘッダーは隠す */
	.site-header {
		display: none !important;
	}

	.vk-mobile-nav-menu-btn {
		display: none !important;
	}

	/* 独自スマホヘッダーを維持 */
	.iinkaigyo-mobile-header {
		display: block !important;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #fff;
	}


	/* 空の段落・過剰スペーサーを抑える */
	body.home .entry-body > p:empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .entry-body > .wp-block-spacer,
	body.home .site-main > .wp-block-spacer {
		height: 14px !important;
		min-height: 14px !important;
		margin: 0 !important;
	}
}


/* =========================================================
   医院開業navi モバイル完成版
   ・サービス左ドロワー
   ・headernavi開閉
   ・トップバナー80% / 余白整理
========================================================= */
@media screen and (max-width: 767px) {

	/* -----------------------------------------------------
	   PC用左右サイドバーは本文では表示しない
	   左側の内容は「サービス」ドロワーで使用
	----------------------------------------------------- */
	body.home .home-three-column-left,
	body.home .home-three-column-right {
		display: none !important;
	}

	body.home .home-three-column-shell {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		transform: none !important;
	}

	body.home .home-three-column-layout {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.home .home-three-column-main {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}


	/* -----------------------------------------------------
	   緑「メニュー」→ headernavi
	----------------------------------------------------- */
	.iinkaigyo-mobile-global-nav {
		width: 100%;
		margin: 0;
		padding: 0;
		background: #3fa447;
	}

	.iinkaigyo-mobile-global-nav__panel[hidden] {
		display: none !important;
	}

	.iinkaigyo-mobile-global-nav__panel {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #fff;
		border-bottom: 1px solid #dfe6df;
	}

	.iinkaigyo-mobile-global-nav__nav,
	.iinkaigyo-mobile-global-nav__list {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.iinkaigyo-mobile-global-nav__list {
		list-style: none;
	}

	.iinkaigyo-mobile-global-nav__list > li {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #e4e9e5;
		background: #fff;
	}

	.iinkaigyo-mobile-global-nav__list > li:last-child {
		border-bottom: 0;
	}

	.iinkaigyo-mobile-global-nav__list > li > a {
		position: relative;
		display: block;
		width: 100%;
		padding: 15px 42px 15px 20px;
		box-sizing: border-box;
		color: #333 !important;
		background: #fff;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.45;
		text-decoration: none !important;
	}

	.iinkaigyo-mobile-global-nav__list > li > a::after {
		content: "›";
		position: absolute;
		top: 50%;
		right: 18px;
		color: #43a047;
		font-size: 22px;
		font-weight: 600;
		line-height: 1;
		transform: translateY(-50%);
	}

	.iinkaigyo-mobile-global-nav__list .sub-menu {
		margin: 0;
		padding: 0;
		list-style: none;
		background: #f6f9f6;
	}

	.iinkaigyo-mobile-global-nav__list .sub-menu li {
		margin: 0;
		padding: 0;
		border-top: 1px solid #e4e9e5;
	}

	.iinkaigyo-mobile-global-nav__list .sub-menu a {
		position: relative;
		display: block;
		padding: 12px 36px 12px 34px;
		color: #444 !important;
		font-size: 13px;
		line-height: 1.4;
		text-decoration: none !important;
	}

	.iinkaigyo-mobile-global-nav__list .sub-menu a::before {
		content: "›";
		position: absolute;
		left: 20px;
		color: #43a047;
	}


	/* -----------------------------------------------------
	   サービス：左ドロワー
	----------------------------------------------------- */
	html.iinkaigyo-drawer-open,
	html.iinkaigyo-drawer-open body {
		overflow: hidden !important;
	}

	.iinkaigyo-service-drawer {
		position: fixed;
		z-index: 999999;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		pointer-events: none;
		visibility: hidden;
	}

	.iinkaigyo-service-drawer.is-open {
		pointer-events: auto;
		visibility: visible;
	}

	.iinkaigyo-service-drawer__overlay {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, .46);
		opacity: 0;
		transition: opacity .25s ease;
	}

	.iinkaigyo-service-drawer.is-open
	.iinkaigyo-service-drawer__overlay {
		opacity: 1;
	}

	.iinkaigyo-service-drawer__panel {
		position: absolute;
		top: 0;
		left: 0;
		width: 84vw;
		max-width: 350px;
		height: 100%;
		margin: 0;
		padding: 0;
		background: #fff;
		box-shadow: 4px 0 18px rgba(0,0,0,.18);
		transform: translateX(-102%);
		transition: transform .28s ease;
	}

	.iinkaigyo-service-drawer.is-open
	.iinkaigyo-service-drawer__panel {
		transform: translateX(0);
	}

	.iinkaigyo-service-drawer__top {
		position: sticky;
		z-index: 2;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 54px;
		padding: 0 12px 0 16px;
		background: #43a047;
		color: #fff;
		box-sizing: border-box;
	}

	.iinkaigyo-service-drawer__label {
		font-size: 16px;
		font-weight: 600;
	}

	.iinkaigyo-service-drawer__close {
		appearance: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font-family: Arial, sans-serif;
		font-size: 30px;
		font-weight: 300;
		line-height: 1;
		cursor: pointer;
	}

	.iinkaigyo-service-drawer__scroll {
		height: calc(100% - 54px);
		padding: 14px 12px 30px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}


	/* PC左カラムと同じ3グループ */
	.iinkaigyo-service-group {
		width: 100%;
		margin: 0 0 18px;
		padding: 0;
	}

	.iinkaigyo-service-group:last-child {
		margin-bottom: 0;
	}

	.iinkaigyo-service-group__heading {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-height: 88px;
		padding: 10px 8px;
		background: #edf5ee;
		border-radius: 4px 4px 0 0;
		box-sizing: border-box;
	}

	.iinkaigyo-service-group__icon {
		display: block;
		width: 36px !important;
		max-width: 36px !important;
		height: auto !important;
		margin: 0 auto 5px;
	}

	.iinkaigyo-service-group__title {
		color: #43a047;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.35;
		text-align: center;
	}

	.iinkaigyo-service-menu {
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
		border: 1px solid #dfe8e1;
		border-top: 0;
		background: #fff;
		box-sizing: border-box;
	}

	.iinkaigyo-service-menu li {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #e7ece8;
	}

	.iinkaigyo-service-menu li:last-child {
		border-bottom: 0;
	}

	.iinkaigyo-service-menu a {
		position: relative;
		display: block;
		padding: 10px 10px 10px 25px;
		color: #444 !important;
		background: #fff;
		font-size: 13px;
		line-height: 1.5;
		text-decoration: none !important;
	}

	.iinkaigyo-service-menu a::before {
		content: "›";
		position: absolute;
		left: 10px;
		top: 9px;
		color: #43a047;
		font-weight: 700;
	}

	.iinkaigyo-service-menu .sub-menu {
		margin: 0;
		padding: 0;
		list-style: none;
		background: #f7faf7;
	}

	.iinkaigyo-service-menu .sub-menu a {
		padding-left: 38px;
		font-size: 12px;
	}

	.iinkaigyo-service-menu .sub-menu a::before {
		left: 23px;
	}


	/* -----------------------------------------------------
	   モバイル用トップバナー：このブロックを正規指定として使用
	   ※旧100vw / nth-of-type / .home-top-banners 指定は削除済み
	----------------------------------------------------- */

	/* -----------------------------------------------------
	   トップの「開業物件」「医院開業」
	   固定ページ実データ：.home-top-banner
	   80%幅 / 中央 / 余計なインラインpaddingを除去
	----------------------------------------------------- */
	body.home
	.home-three-column-main
	> .wp-block-columns:first-child {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		margin: 22px 0 28px !important;
		padding: 0 !important;
		gap: 14px !important;
	}

	body.home
	.home-three-column-main
	> .wp-block-columns:first-child
	> .home-top-banner {
		flex: none !important;
		flex-basis: auto !important;
		width: 80% !important;
		max-width: 80% !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	body.home .home-top-banner figure.wp-block-image {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .home-top-banner img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
	}


	/* バナー直後のVKスペーサーを小さく */
	body.home
	.home-three-column-main
	> .wp-block-columns:first-child
	+ .wp-block-vk-blocks-spacer {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home
	.home-three-column-main
	> .wp-block-columns:first-child
	+ .wp-block-vk-blocks-spacer
	> div {
		margin-top: 14px !important;
	}


	/* -----------------------------------------------------
	   タップ領域
	----------------------------------------------------- */
	.iinkaigyo-mobile-header__service,
	.iinkaigyo-mobile-header__menu,
	.iinkaigyo-service-drawer__close {
		-webkit-tap-highlight-color: transparent;
	}

}


/* PCではモバイルドロワー自体も完全非表示 */
@media screen and (min-width: 768px) {

	.iinkaigyo-service-drawer {
		display: none !important;
	}

}


/* =========================================================
   モバイルメニュー微調整 v2
   ・サービス見出し文字を非表示
   ・Font Awesome square-caret-down
   ・headernaviを上から降ろすアニメーション
========================================================= */
@media screen and (max-width: 767px) {

	/* サービスドロワー最上部：文字なし、×だけ右側 */
	.iinkaigyo-service-drawer__top {
		justify-content: flex-end !important;
	}

	.iinkaigyo-service-drawer__spacer {
		display: none !important;
	}

	/* Font Awesome アイコン */
	.iinkaigyo-mobile-header__menu-arrow {
		border: 0 !important;
		width: auto !important;
		height: auto !important;
		right: 14px !important;
		font-size: 30px !important;
		line-height: 1 !important;
	}

	.iinkaigyo-mobile-header__menu-arrow i {
		display: block;
		color: #fff;
		font-size: 30px;
		line-height: 1;
		transition: transform .28s ease;
	}

	/* 開いたらアイコンを180度回転 */
	.iinkaigyo-mobile-header__menu-arrow.is-open i {
		transform: rotate(180deg);
	}

	/*
	 * headernavi
	 * hidden属性はJS制御に残しつつ、
	 * 閉じる際にもアニメーションできるよう
	 * is-openクラスを基準に描画する。
	 */
	.iinkaigyo-mobile-global-nav__panel,
	.iinkaigyo-mobile-global-nav__panel[hidden] {
		display: block !important;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-12px);
		transform-origin: top;
		transition:
			max-height .38s ease,
			opacity .24s ease,
			transform .38s ease,
			visibility 0s linear .38s;
	}

	.iinkaigyo-mobile-global-nav.is-open
	.iinkaigyo-mobile-global-nav__panel {
		max-height: 900px;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition:
			max-height .42s ease,
			opacity .28s ease,
			transform .42s ease,
			visibility 0s linear 0s;
	}

}


/* =========================================================
   開業支援サービスカード
   修正版：PC 2列 / スマホ 1列
========================================================= */

/*
 * このカードは Gutenberg 上で
 * .wp-block-column.has-border-color
 *   > a.wp-block-column-vk-link
 *   + .wp-block-columns.is-not-stacked-on-mobile
 * という構造になっているため、
 * main には依存せず、この構造だけを狙う。
 */

/* -----------------------------------------
   カード本体
----------------------------------------- */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link) {
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: stretch !important;
	align-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 220px !important;
	padding: 18px !important;
}

/* -----------------------------------------
   アイコン + タイトル行
----------------------------------------- */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile {
	display: grid !important;
	grid-template-columns: 40px minmax(0, 1fr) !important;
	align-items: center !important;
	column-gap: 12px !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

/* Gutenberg の inline flex-basis を無効化 */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile
> .wp-block-column {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* アイコン側 */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile
> .wp-block-column:first-child {
	width: 40px !important;
	max-width: 40px !important;
	min-width: 40px !important;
}

/* figure */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile
> .wp-block-column:first-child
figure.wp-block-image {
	display: block !important;
	width: 40px !important;
	max-width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* アイコン画像 */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile
> .wp-block-column:first-child
figure.wp-block-image img {
	display: block !important;
	width: 40px !important;
	max-width: 40px !important;
	min-width: 0 !important;
	height: 40px !important;
	max-height: 40px !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* タイトル */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> .wp-block-columns.is-not-stacked-on-mobile
> .wp-block-column:nth-child(2) p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	word-break: normal !important;
	writing-mode: horizontal-tb !important;
}

/* 説明文 */
.entry-body
.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
> p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	writing-mode: horizontal-tb !important;
}


/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

	/*
	 * カードを含む最上位の2列だけを1列にする。
	 * 内側の「アイコン＋タイトル」カラムには触れない。
	 */
	.entry-body
	> .wp-block-columns:has(
		.wp-block-column.has-border-color > a.wp-block-column-vk-link
	) {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 0 !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.entry-body
	> .wp-block-columns:has(
		.wp-block-column.has-border-color > a.wp-block-column-vk-link
	)
	> .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
		flex-basis: 100% !important;
		margin: 0 !important;
	}

	/* カードを横幅100%・一定高に統一 */
	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link) {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 175px !important;
		min-height: 175px !important;
		padding: 15px !important;
		overflow: hidden;
	}

	/* アイコン＋タイトル */
	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> .wp-block-columns.is-not-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: 36px minmax(0, 1fr) !important;
		align-items: center !important;
		column-gap: 10px !important;
		width: 100% !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
	}

	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> .wp-block-columns.is-not-stacked-on-mobile
	> .wp-block-column:first-child {
		width: 36px !important;
		max-width: 36px !important;
		min-width: 36px !important;
	}

	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> .wp-block-columns.is-not-stacked-on-mobile
	> .wp-block-column:first-child
	figure.wp-block-image {
		width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
	}

	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> .wp-block-columns.is-not-stacked-on-mobile
	> .wp-block-column:first-child
	figure.wp-block-image img {
		width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		max-height: 36px !important;
	}

	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> .wp-block-columns.is-not-stacked-on-mobile
	> .wp-block-column:nth-child(2) p {
		font-size: 19px !important;
		line-height: 1.35 !important;
		writing-mode: horizontal-tb !important;
	}

	.entry-body
	.wp-block-column.has-border-color:has(> a.wp-block-column-vk-link)
	> p {
		font-size: 13px !important;
		line-height: 1.65 !important;
		writing-mode: horizontal-tb !important;
	}

	/* カード間のVKスペーサーを統一 */
	.entry-body
	.wp-block-column
	> .wp-block-group
	> .wp-block-vk-blocks-spacer {
		margin: 0 !important;
		padding: 0 !important;
	}

	.entry-body
	.wp-block-column
	> .wp-block-group
	> .wp-block-vk-blocks-spacer
	> div {
		margin-top: 14px !important;
	}
}


/* =========================================================
   PCヘッダー / グローバルナビ 完成版
   ・最上部説明文：ロゴと同じ左端 / 縦中央
   ・ヘッダー本体は追尾しない
   ・グローバルナビのみ追尾
   ・メニュー高さ56px
   ・ドロップダウンは親メニュー中央
========================================================= */
@media screen and (min-width: 768px) {

	/* モバイル専用ヘッダーはPCで非表示 */
	body > .iinkaigyo-mobile-header {
		display: none !important;
	}

	/* ヘッダー全体 */
	#site-header.site-header,
	#site-header[class*="scrolled"],
	#site-header-container.site-header-container,
	#site-header-container[class*="scrolled"] {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		inset: auto !important;
		transform: none !important;
		translate: none !important;
	}

	#site-header.site-header {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		background: #fff !important;
		box-shadow: none !important;
		z-index: auto !important;
	}

	/* 最上段説明文 */
	#site-header .header-top {
		display: block !important;
		width: 100% !important;
		height: 30px !important;
		min-height: 30px !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #edf5ee !important;
		box-sizing: border-box !important;
	}

	#site-header .header-top > .container {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;

		width: 100% !important;
		max-width: none !important;
		height: 30px !important;
		min-height: 30px !important;

		margin: 0 !important;
		padding: 0 18px !important;
		box-sizing: border-box !important;
	}

	#site-header .header-top-description {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #555 !important;
		font-size: 11px !important;
		line-height: 1.3 !important;
		text-align: left !important;
	}

	/* -----------------------------------------
	   白いヘッダー段
	   gridで「ロゴ / 右側」を固定
	   navは必ず次の段へ
	----------------------------------------- */
	#site-header-container.site-header-container {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) !important;
		grid-template-areas:
			"logo sub"
			"nav  nav" !important;
		align-items: center !important;
		column-gap: 24px !important;
		row-gap: 0 !important;

		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		box-sizing: border-box !important;
		z-index: auto !important;
	}

	/* ロゴ */
	#site-header .site-header-logo {
		grid-area: logo !important;
		align-self: center !important;
		justify-self: start !important;

		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 8px 0 8px 18px !important;
	}

	#site-header .site-header-logo a,
	#site-header .site-header-logo span {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#site-header .site-header-logo img {
		display: block !important;
		width: 205px !important;
		max-width: 205px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* -----------------------------------------
	   右側：検討リスト / 申し込む / 電話
	----------------------------------------- */
	#site-header .site-header-sub {
		grid-area: sub !important;
		justify-self: end !important;
		align-self: center !important;

		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 14px !important;

		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 6px 18px 6px 0 !important;
		box-sizing: border-box !important;
	}

	#site-header .site-header-sub > .widget {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* block-55：検討リスト＋申し込む */
	#site-header #block-55 > .wp-block-group {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 10px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#site-header #block-55 .wp-block-columns {
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#site-header #block-55 .wp-block-column,
	#site-header #block-55 .wp-block-group {
		margin: 0 !important;
	}

	/* 検討リスト */
	#site-header .vk_button-b9af1ddb-257a-427e-b2d3-b6c85c456596 .vk_button_link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 150px !important;
		height: 56px !important;
		padding: 0 18px !important;
		box-sizing: border-box !important;
		border-radius: 4px !important;
		font-size: 14px !important;
		line-height: 1 !important;
	}

	#site-header .vk_button-b9af1ddb-257a-427e-b2d3-b6c85c456596 .vk_button_link_caption {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 7px !important;
	}

	/* 申し込む */
	#site-header .vk_button-c12642a9-5584-49bc-8782-d77028c4b753 .vk_button_link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 155px !important;
		height: 56px !important;
		padding: 0 18px !important;
		box-sizing: border-box !important;
		border-radius: 4px !important;
		font-size: 13px !important;
		line-height: 1.25 !important;
	}

	/* 申込ボタンを包む余計なpaddingを除去 */
	#site-header #block-55 .wp-block-group[style*="padding-top"] {
		padding: 0 !important;
	}

	/* 電話 */
	#site-header #block-49 {
		min-width: 220px !important;
	}

	#site-header #block-49 > .wp-block-group {
		gap: 2px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#site-header #block-49 h6 {
		width: 150px !important;
		margin: 0 auto 2px !important;
		padding: 2px 10px !important;
		box-sizing: border-box !important;
		font-size: 11px !important;
		line-height: 1.25 !important;
	}

	#site-header #block-49 p {
		margin: 0 !important;
		padding: 0 !important;
	}

	#site-header #block-49 p:nth-of-type(1) {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 4px !important;
		font-size: 21px !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
	}

	#site-header #block-49 p:nth-of-type(1) img {
		width: 42px !important;
		max-width: 42px !important;
		height: auto !important;
		margin: 0 !important;
	}

	#site-header #block-49 p:nth-of-type(2) {
		font-size: 10px !important;
		line-height: 1.35 !important;
		white-space: nowrap !important;
	}

	/* -----------------------------------------
	   グローバルナビ
	   緑帯は100vw
	   6項目だけ中央 約60%
	----------------------------------------- */
	#site-header #global-nav {
		grid-area: nav !important;
		position: relative !important;

		display: block !important;
		width: 100vw !important;
		max-width: none !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;

		margin: 0 !important;
		margin-left: calc(50% - 50vw) !important;
		padding: 0 !important;

		overflow: visible !important;
		background: #43a047 !important;
		box-sizing: border-box !important;
	}

	#site-header #global-nav > .global-nav-list {
		display: flex !important;
		align-items: stretch !important;

		width: 60% !important;
		max-width: 1080px !important;
		min-width: 760px !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;

		margin: 0 auto !important;
		padding: 0 !important;

		list-style: none !important;
	}

	#site-header #global-nav > .global-nav-list > li {
		position: relative !important;
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	#site-header #global-nav > .global-nav-list > li > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;
		margin: 0 !important;
		padding: 0 5px !important;
		box-sizing: border-box !important;

		border: 0 !important;
		background: transparent !important;
		color: #fff !important;

		text-align: center !important;
		text-decoration: none !important;
		white-space: nowrap !important;
	}

	#site-header #global-nav .global-nav-name {
		color: #fff !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	#site-header #global-nav > .global-nav-list > li:hover > a,
	#site-header #global-nav > .global-nav-list > li.current-menu-item > a {
		background: rgba(255,255,255,.10) !important;
	}

	/* PCドロップダウン：親メニュー中央 */
	#site-header #global-nav .sub-menu {
		position: absolute !important;
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		min-width: 210px !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
		background: #fff !important;
		box-shadow: 0 4px 10px rgba(0,0,0,.12) !important;
		z-index: 10020 !important;
	}

	#site-header #global-nav .sub-menu li {
		position: relative !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	#site-header #global-nav .sub-menu a {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 12px 16px !important;
		background: #fff !important;
		color: #333 !important;
		font-size: 13px !important;
		line-height: 1.5 !important;
		white-space: nowrap !important;
	}

	#site-header #global-nav .sub-menu a:hover {
		background: rgba(245,245,245,.95) !important;
		color: #333 !important;
	}

	/* accボタンはPCではレイアウトを邪魔させない */
	#site-header #global-nav > .global-nav-list > li > .acc-btn {
		position: absolute !important;
		right: 5px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
	}


	/* -----------------------------------------------------
	   追尾状態：ナビだけ固定
	----------------------------------------------------- */
	#site-header #global-nav.iinkaigyo-pc-nav-fixed {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		background: #43a047 !important;
		box-shadow: 0 2px 6px rgba(0,0,0,.12) !important;
		z-index: 99990 !important;
	}

	body.admin-bar #site-header #global-nav.iinkaigyo-pc-nav-fixed {
		top: 32px !important;
	}

	#site-header #global-nav.iinkaigyo-pc-nav-fixed .sub-menu {
		top: 56px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	.iinkaigyo-pc-nav-placeholder {
		display: block !important;
		width: 100% !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.iinkaigyo-pc-nav-placeholder.is-active {
		height: 56px !important;
	}

	/* =====================================================
	   ブラウザ縮小時
	===================================================== */
	@media screen and (max-width: 1250px) {

		#site-header .site-header-logo img {
			width: 175px !important;
			max-width: 175px !important;
		}

		#site-header .site-header-sub {
			gap: 8px !important;
			padding-right: 12px !important;
		}

		#site-header .vk_button-b9af1ddb-257a-427e-b2d3-b6c85c456596 .vk_button_link {
			min-width: 125px !important;
			height: 52px !important;
			padding: 0 12px !important;
			font-size: 12px !important;
		}

		#site-header .vk_button-c12642a9-5584-49bc-8782-d77028c4b753 .vk_button_link {
			min-width: 135px !important;
			height: 52px !important;
			padding: 0 12px !important;
			font-size: 12px !important;
		}

		#site-header #block-49 {
			min-width: 190px !important;
		}

		#site-header #block-49 p:nth-of-type(1) {
			font-size: 18px !important;
		}

		#site-header #block-49 p:nth-of-type(1) img {
			width: 36px !important;
			max-width: 36px !important;
		}

		#site-header #global-nav > .global-nav-list {
			width: 72% !important;
			min-width: 680px !important;
		}
	}

	@media screen and (max-width: 980px) {

		#site-header-container.site-header-container {
			column-gap: 10px !important;
		}

		#site-header .site-header-logo {
			padding-left: 10px !important;
		}

		#site-header .header-top > .container {
			padding-left: 10px !important;
			padding-right: 10px !important;
		}

		#site-header .site-header-logo img {
			width: 150px !important;
			max-width: 150px !important;
		}

		#site-header .site-header-sub {
			gap: 5px !important;
			padding-right: 8px !important;
		}

		#site-header .vk_button-b9af1ddb-257a-427e-b2d3-b6c85c456596 .vk_button_link {
			min-width: 105px !important;
			height: 48px !important;
			padding: 0 8px !important;
			font-size: 11px !important;
		}

		#site-header .vk_button-c12642a9-5584-49bc-8782-d77028c4b753 .vk_button_link {
			min-width: 115px !important;
			height: 48px !important;
			padding: 0 8px !important;
			font-size: 11px !important;
		}

		#site-header #block-49 {
			min-width: 165px !important;
		}

		#site-header #block-49 h6 {
			width: 125px !important;
			font-size: 9px !important;
		}

		#site-header #block-49 p:nth-of-type(1) {
			font-size: 15px !important;
		}

		#site-header #block-49 p:nth-of-type(1) img {
			width: 30px !important;
			max-width: 30px !important;
		}

		#site-header #block-49 p:nth-of-type(2) {
			font-size: 8px !important;
		}

		#site-header #global-nav > .global-nav-list {
			width: 88% !important;
			min-width: 0 !important;
		}

		#site-header #global-nav .global-nav-name {
			font-size: 11px !important;
		}
	}
}

/* =========================================================
   社長挨拶エリア
   コンテンツは中央 / 背景だけブラウザ全幅
========================================================= */

body.home .original-grid-bg {
	position: relative !important;
	z-index: 0 !important;

	/* ブロック本体は通常幅のまま */
	width: 100% !important;
	max-width: 100% !important;

	margin-left: 0 !important;
	margin-right: 0 !important;

	padding-top: 50px !important;
	padding-bottom: 50px !important;

	background: transparent !important;

	/* はみ出した背景を表示させる */
	overflow: visible !important;
}


/* -----------------------------------------
   画面全幅の方眼背景
----------------------------------------- */

body.home .original-grid-bg::before {
	content: "" !important;

	position: absolute !important;
	z-index: -1 !important;

	top: 0 !important;
	bottom: 0 !important;

	/*
	 * 要素の左端から
	 * viewport左端まで逆方向へ伸ばす
	 */
	left: calc((100vw - 100%) / -2) !important;

	width: 100vw !important;
	max-width: none !important;

	background-color: #fafafa !important;

	background-image:
		linear-gradient(
			rgba(100, 100, 100, 0.045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(100, 100, 100, 0.045) 1px,
			transparent 1px
		) !important;

	background-size: 4px 4px !important;

	pointer-events: none !important;
}


/* -----------------------------------------
   Lightning親要素で切られないようにする
----------------------------------------- */

body.home .site-body,
body.home .site-body-container,
body.home #main,
body.home .entry-body,
body.home .home-three-column-shell {
	overflow: visible !important;
}


/* =========================================================
   新着情報アーカイブ
   home.php
========================================================= */

.news-archive-page {
	width: 100%;
	margin: 0;
	padding: 48px 16px 72px;
	background: #fff;
	box-sizing: border-box;
}

.news-archive-inner {
	width: min(100%, 980px);
	margin: 0 auto;
}

.news-archive-header {
	margin: 0 0 28px;
}

.news-archive-title {
	position: relative;
	margin: 0 !important;
	padding: 0 0 12px 18px !important;
	border: 0 !important;
	border-bottom: 2px solid #43a047 !important;
	background: none !important;
	box-shadow: none !important;
	color: #43a047 !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.news-archive-title::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 7px;
	height: 32px;
	border-radius: 999px;
	background: #43a047;
}

.news-archive-title::after {
	display: none !important;
	content: none !important;
}


/* タブ */
.news-archive-tabs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 20px;
	border-bottom: 3px solid #43a047;
}

.news-archive-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 9px 15px;
	border: 1px solid #ddd;
	border-bottom: 0;
	background: #f5f5f5;
	color: #555 !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	box-sizing: border-box;
	transition:
		background-color .2s ease,
		color .2s ease;
}

.news-archive-tab + .news-archive-tab {
	border-left: 0;
}

.news-archive-tab:hover {
	background: #eef7f1;
	color: #43a047 !important;
}

.news-archive-tab.is-active {
	border-color: #43a047;
	background: #43a047;
	color: #fff !important;
}


/* 一覧
   トップページと同じ .home-news-* をそのまま利用 */
.news-archive-list {
	border-top: 1px solid #ddd;
}

.news-archive-list .home-news-item {
	margin: 0;
}

.news-archive-empty {
	margin: 0;
	padding: 32px 18px;
	border-bottom: 1px solid #ddd;
	background: #fff;
	color: #666;
	font-size: 14px;
	line-height: 1.7;
	text-align: center;
}


/* ブログラベル */
.home-news-category--blog {
	border: 1px solid #7b8a7d;
	background: #fff;
	color: #657467;
}


/* ページネーション */
.news-archive-pagination {
	margin: 36px 0 0;
}

.news-archive-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-archive-pagination .page-numbers li {
	margin: 0;
	padding: 0;
}

.news-archive-pagination a.page-numbers,
.news-archive-pagination span.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid #d7d7d7;
	border-radius: 3px;
	background: #fff;
	color: #555 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	box-sizing: border-box;
}

.news-archive-pagination a.page-numbers:hover {
	border-color: #43a047;
	background: #eef7f1;
	color: #43a047 !important;
}

.news-archive-pagination span.page-numbers.current {
	border-color: #43a047;
	background: #43a047;
	color: #fff !important;
}


/* =========================================================
   モバイル
========================================================= */
@media screen and (max-width: 767px) {

	.news-archive-page {
		padding: 30px 12px 50px;
	}

	.news-archive-header {
		margin-bottom: 20px;
	}

	.news-archive-title {
		padding-left: 14px !important;
		font-size: 23px !important;
	}

	.news-archive-title::before {
		top: 3px;
		width: 5px;
		height: 26px;
	}

	.news-archive-tabs {
		margin-bottom: 15px;
	}

	.news-archive-tab {
		min-height: 42px;
		padding: 7px 4px;
		font-size: 13px;
	}

	.news-archive-pagination {
		margin-top: 28px;
	}

	.news-archive-pagination a.page-numbers,
	.news-archive-pagination span.page-numbers {
		min-width: 38px;
		height: 38px;
		padding: 0 8px;
		font-size: 13px;
	}
}

/* =========================================================
   Lightning 自動生成の子ページリストを非表示
========================================================= */

.sub-section > .widget_link_list {
    display: none !important;
}
