@charset "utf-8";
/*
Theme Name: Lightning Child
Template: lightning
*/
/* ==========================
   検索フォーム（form_jsearch）をコンパクトに
   ========================== */
/* テーブルを行ごとのブロックに変換 */
.form_jsearch,
.form_jsearch tbody,
.form_jsearch tr,
.form_jsearch th,
.form_jsearch td {
	display: block;
	width: 100%;
}
/* 1項目（tr）を横並びのラベル＋内容に */
.form_jsearch tr {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px solid #e5e5e5;
}
/* ラベル（th）は幅を固定、背景を薄いグレーに */
.form_jsearch th {
	flex: 0 0 160px;
	font-weight: bold;
	padding: 10px 12px;
	color: #333;
	background-color: #f2f2f2;
	border-radius: 4px;
}
/* 内容（td）は残り幅いっぱいに */
.form_jsearch td {
	flex: 1 1 300px;
	min-width: 0;
}
/* チェックボックス一覧を横並び・折り返しに */
.form_jsearch td ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.form_jsearch td ul li {
	margin: 3px 18px 3px 0;
	white-space: nowrap;
}
/* 路線名などの見出し（h5）は改行して次の行へ */
.form_jsearch h5 {
	flex-basis: 100%;
	margin: 10px 0 4px;
	font-size: 0.95em;
	color: #666;
}
.form_jsearch h5:first-child {
	margin-top: 0;
}
/* プルダウンの幅を抑える */
.form_jsearch select {
	max-width: 160px;
}
/* 検索ボタンの余白 */
.submit {
	margin-top: 24px;
	text-align: center;
}
/* ==========================
   物件一覧・詳細ページを2カラムに
   ※ archive-fudo.php は .main-section、
     single-fudo.php は .site-main という
     別々のクラス名を使っているため両方指定
   ========================== */
.site-body-container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
}
.site-main,
.main-section {
	flex: 1 1 68%;
	min-width: 0;
}
.sub-section {
	flex: 1 1 28%;
	min-width: 260px;
}
/* スマホでは1カラムに戻す */
@media (max-width: 768px) {
	.site-body-container {
		display: block;
	}
	.site-main,
	.main-section,
	.sub-section {
		width: 100%;
	}
}
/* テーブルがコンテナからはみ出さないようにする */
.site-main table,
.main-section table {
	width: 100% !important;
	table-layout: fixed;
}
.site-main table td,
.site-main table th,
.main-section table td,
.main-section table th {
	word-break: break-word;
	overflow-wrap: break-word;
}
/* 画像がコンテナからはみ出さないようにする */
.site-main img,
.main-section img {
	max-width: 100%;
	height: auto;
}
/* ==========================
   物件情報テーブルをスマホでは縦積みに
   ========================== */
@media (max-width: 600px) {
	.site-main table,
	.main-section table,
	.site-main table tbody,
	.main-section table tbody,
	.site-main table tr,
	.main-section table tr,
	.site-main table th,
	.main-section table th,
	.site-main table td,
	.main-section table td {
		display: block;
		width: 100% !important;
	}
	.site-main table th,
	.main-section table th {
		background-color: #f2f2f2;
		padding: 8px 10px;
		font-weight: bold;
		border-top: 1px solid #ddd;
	}
	.site-main table td,
	.main-section table td {
		padding: 8px 10px 16px;
	}
}
/* プラグインのクレジット表示を非表示に */
#nendebcopy {
	display: none;
}
/* ==========================
   /search（両方版・セレクトボックス形式）を
   他ページと統一感のあるデザインに
   ========================== */
#page_jsearch_page > div[id] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 14px 12px;
	border-bottom: 1px solid #e5e5e5;
}
#page_jsearch_page > div[id] > span {
	flex: 0 0 140px;
	font-weight: bold;
	background-color: #f2f2f2;
	padding: 10px 12px;
	border-radius: 4px;
	margin-right: 16px;
}
#page_jsearch_page > div[id] br {
	display: none;
}
#page_jsearch_page select {
	max-width: 200px;
}
#page_jsearch_page .jsearch_caution1,
#page_jsearch_page .jsearch_caution2 {
	font-weight: bold;
	margin: 16px 0 8px;
}
#page_jsearch_page .submit {
	margin-top: 24px;
	text-align: center;
}
/* ==========================
   検索結果一覧：メリハリをつける
   ========================== */
/* 価格（左ブロックの大きい表示）を強調 */
.dpoint1 {
	font-size: 1.8em;
	font-weight: bold;
	color: #d9534f;
	line-height: 1.3;
	margin-bottom: 4px;
}
/* 「物件の詳細を見る」ボタンをはっきりさせる */
.list_details_button {
	display: block;
	background-color: #337ab7;
	color: #fff;
	text-align: center;
	padding: 10px 16px;
	margin-top: 12px;
	border-radius: 4px;
	font-weight: bold;
	transition: background-color 0.2s;
}
.list_details_button:hover {
	background-color: #296292;
	color: #fff;
}
/* 所在地・交通などのラベル列を薄いブルーに */
.list_address_th,
.list_price_others_th {
	background-color: #eaf3fb;
	font-weight: bold;
	padding: 6px 10px;
}
/* ==========================
   物件詳細ページ：メリハリをつける
   ========================== */
/* 価格を大きく強調 */
.list_price {
	font-size: 1.8em;
	font-weight: bold;
	color: #d9534f;
	line-height: 1.3;
	margin-bottom: 8px;
}
/* 情報テーブルのラベル列（所在地・築年月など）を薄いブルーに */
.th1,
.th2 {
	background-color: #eaf3fb;
	font-weight: bold;
}
/* ==========================
   物件詳細ページ：価格ブロックをカード風に整理
   ========================== */
.list_price {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 16px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.list_price dt {
	font-size: 0.85em;
	color: #888;
	font-weight: normal;
	display: inline-block;
	margin-right: 6px;
}
.list_price dd {
	display: inline-block;
	margin: 0 12px 4px 0;
	font-size: 0.95em;
	color: #333;
}
/* 一番最初のdd（価格・賃料の数値）だけを大きく赤字に */
.list_price dd:first-of-type {
	display: block;
	margin-bottom: 6px;
}
.list_price dd:first-of-type .dpoint4 {
	font-size: 1.8em;
	font-weight: bold;
	color: #d9534f;
	line-height: 1.3;
}
/* ==========================
   トップページ：新着物件リストをカード風グリッドに
   ========================== */
.grid-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}
.grid-content > li.box1 {
	flex: 1 1 220px;
	max-width: 260px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0,0,0,0.05);
	position: relative;
	padding-bottom: 12px;
}
/* 「new」ラベル */
.grid-content .new_mark {
	position: absolute;
	top: 8px;
	left: 8px;
	background-color: #d9534f;
	color: #fff;
	font-size: 0.75em;
	font-weight: bold;
	padding: 3px 10px;
	border-radius: 3px;
	z-index: 2;
}
/* 画像 */
.grid-content .box1image {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}
/* 価格・間取り・所在地のテキスト部分 */
.grid-content .top_price {
	display: block;
	font-size: 1.3em;
	font-weight: bold;
	color: #d9534f;
	padding: 10px 12px 0;
}
.grid-content .top_madori,
.grid-content .top_menseki {
	display: inline-block;
	padding: 0 12px;
	font-size: 0.9em;
	color: #555;
}
.grid-content .top_shozaichi {
	display: block;
	padding: 4px 12px 0;
	font-size: 0.85em;
	color: #777;
}
/* 「物件詳細」ボタン */
.grid-content .box1low {
	display: block;
	float: none !important;
	margin: 10px 12px 0;
}
.grid-content .box1low a {
	display: block;
	background-color: #337ab7;
	color: #fff !important;
	text-align: center;
	padding: 8px 12px;
	border-radius: 4px;
	font-weight: bold;
	text-decoration: none;
}
.grid-content .box1low a:hover {
	background-color: #296292;
}
/* スマホでは2列に */
@media (max-width: 600px) {
	.grid-content > li.box1 {
		flex: 1 1 45%;
		max-width: 48%;
	}
}
.wp-block-table table {
	table-layout: auto !important;
	width: auto;
}
/* ==========================
   物件リクエストフォーム：見た目を整理
   ========================== */
/* チェックボックス群を横並び・カード風に */
.wpcf7-form .wpcf7-list-item {
	display: inline-block;
	margin: 4px 12px 4px 0;
	background-color: #f2f2f2;
	padding: 6px 14px;
	border-radius: 20px;
}
.wpcf7-form .wpcf7-list-item-label {
	font-size: 0.95em;
}
/* 見出し（物件種別、建物面積など）を強調 */
.wpcf7-form p {
	margin-bottom: 24px;
}
.wpcf7-form p:has(.wpcf7-checkbox)::first-line,
.wpcf7-form label {
	font-weight: bold;
	color: #333;
}
/* セレクトボックス・複数選択リストの見た目を統一 */
.wpcf7-form select {
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
	max-width: 400px;
	width: 100%;
}
.wpcf7-form select[multiple] {
	height: 120px;
}
/* テキストエリアを整える */
.wpcf7-form textarea {
	width: 100%;
	max-width: 600px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
}
/* 送信ボタンを他ページと統一（青いボタン） */
.wpcf7-form input[type="submit"] {
	background-color: #337ab7;
	color: #fff;
	border: none;
	padding: 12px 32px;
	border-radius: 4px;
	font-weight: bold;
	cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover {
	background-color: #296292;
}
.CF7_req {
	color: #d9534f;
	font-size: 0.85em;
	font-weight: normal;
	margin-left: 4px;
}
.CF7_req_no {
	color: #999;
	font-size: 0.85em;
	font-weight: normal;
	margin-left: 4px;
}
@media (max-width: 600px) {
	.wp-block-table table th,
	.wp-block-table table td {
		font-size: 0.8em;
		padding: 6px 4px;
		white-space: normal;
	}
}

.CF7_req {
    display: inline-block;
    padding: 2px 8px;
    margin-right: 4px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    vertical-align: middle;
    white-space: nowrap;
}
.CF7_req.is-required {
    background-color: #e74c3c;
}
.CF7_req.is-optional {
    background-color: #95a5a6;
}

.new_mark {
	display: inline-block;
	vertical-align: middle;
	background-color: #e60012;
	color: #ffffff;
	font-size: 0.7em;
	font-weight: bold;
	line-height: 1;
	padding: 4px 8px;
	margin-left: 8px;
	border-radius: 0;
}