@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD（リベック）
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ。不動産プラグイン（nendeb）の物件ページをSWELLのレイアウトで表示する
    Version: 0.3.3
    Author: LOOS WEB STUDIO / 有限会社アイネット
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* =========================================================
   不動産プラグイン × SWELL 調整（v0.1：まず崩れずに表示させる段階）
   ========================================================= */

/* 外枠：プラグインCSSの alignwide 指定を SWELL の本文幅に合わせる */
.p-fudou .alignwide,
.p-fudou .default-max-width {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* 見出し */
.p-fudou .entry-header {
	margin-bottom: 1.5em;
}
.p-fudou .entry-title,
.p-fudou .page-title {
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 0;
}

/* 表：SWELLの表スタイルと二重にならないよう整える */
.p-fudou table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5em;
	font-size: .9rem;
}
.p-fudou th,
.p-fudou td {
	padding: .6em .8em;
	vertical-align: top;
	word-break: break-all;
}

/* 画像：小さい元画像を無理に引き伸ばさない */
.p-fudou img {
	height: auto;
	max-width: 100%;
}
.p-fudou .list_picsam img {
	width: auto;
	max-width: 100%;
}

/* ページ送り */
.p-fudou .nav-links,
.p-fudou .pagination {
	margin: 1.5em 0;
}

/* 「前のページにもどる」 */
.p-fudou .pageback {
	text-align: right;
	font-size: .9rem;
}

/* スマホ */
@media (max-width: 599px) {
	.p-fudou .entry-title,
	.p-fudou .page-title {
		font-size: 1.25rem;
	}
	.p-fudou #list_other th,
	.p-fudou #list_other td {
		display: block;
		width: 100%;
	}
}


/* =========================================================
   トップページ（トップページ ウィジェットエリア）
   ========================================================= */
.p-fudouTop .widget {
	margin-bottom: 2.5em;
}
.p-fudouTop .widget-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 1em;
	padding-bottom: .4em;
	border-bottom: 2px solid var(--color_main);
}


/* =========================================================
   お気に入りボタン（物件詳細）
   ========================================================= */
.rebec-favWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: .5em 1em;
	margin-bottom: 1em;
	font-size: .9rem;
}
.rebec-favButton {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 1.2em;
	border: 1px solid var(--color_main);
	border-radius: 4px;
	color: var(--color_main);
	background: #fff;
	text-decoration: none;
	font-weight: 700;
}
.rebec-favButton::before {
	content: "♡";
	margin-right: .4em;
}
.rebec-favButton.is-added {
	background: var(--color_main);
	color: #fff;
}
.rebec-favButton.is-added::before {
	content: "♥";
}


/* =========================================================
   最近見た物件・お気に入り一覧の1件分
   ========================================================= */
.rebec-bukkenItem {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid #e3e6ea;
	font-size: .85rem;
	line-height: 1.5;
}
.rebec-bukkenItem__photo {
	flex: 0 0 80px;
}
.rebec-bukkenItem__photo img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	background: #eef1f4;
	display: block;
}
.rebec-bukkenItem__body {
	flex: 1 1 auto;
	min-width: 0;
}
.rebec-bukkenItem__body p {
	margin: 0;
}
.rebec-bukkenItem__title {
	font-weight: 700;
	text-decoration: none;
	display: block;
}
.rebec-bukkenItem__price {
	color: #b4410e;
	font-weight: 700;
}
.rebec-bukkenItem__madori {
	color: #1f2933;
	margin-left: .3em;
}
.rebec-bukkenItem__addr {
	color: #52606d;
}
.rebec-bukkenItem__links {
	display: flex;
	flex-wrap: wrap;
	gap: .2em 1em;
	align-items: center;
}
.rebec-recent__links {
	display: flex;
	flex-wrap: wrap;
	gap: .3em 1em;
	margin: .6em 0 0;
	font-size: .85rem;
}
.rebec-recentClear,
.rebec-favDelete {
	background: none;
	border: 0;
	padding: 0;
	color: var(--color_link, #1c5d73);
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
	font-size: .85rem;
}
.rebec-recent__empty {
	font-size: .85rem;
	color: #52606d;
	margin: 0;
}

/* 一覧ページ（固定ページ）では少し大きく */
.rebec-pageList .rebec-bukkenItem {
	font-size: .95rem;
	padding: 14px 0;
}
.rebec-pageList .rebec-bukkenItem__photo {
	flex-basis: 120px;
}
.rebec-pageList .rebec-bukkenItem__photo img {
	width: 120px;
	height: 90px;
}



/* =========================================================
   v0.3：物件一覧（カード型）
   ========================================================= */
.p-fudou #list_simplepage article.hentry {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}
.rebec-card {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #dde3e8;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.rebec-card__photo {
	flex: 1 1 240px;
	max-width: 100%;
	aspect-ratio: 4 / 3;
	background: #eef1f4;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.rebec-card__photo img {
	/* 小さい写真は引き伸ばさず、余白付きで収める */
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}
.rebec-card__body {
	flex: 999 1 320px;
	min-width: 0;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rebec-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.rebec-card__type {
	display: inline-block;
	background: var(--color_main);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	padding: 1px 10px;
	border-radius: 3px;
}
.rebec-card__type.is-seiyaku {
	background: #52606d;
}
.p-fudou .rebec-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}
.p-fudou .rebec-card__title::before,
.p-fudou .rebec-card__title::after {
	content: none;
}
.rebec-card__title a {
	color: #1f2933;
	text-decoration: none;
}
.rebec-card__title a:hover {
	color: var(--color_main);
}
.rebec-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
}
.rebec-card__priceLabel {
	font-size: .8rem;
	color: #52606d;
}
.rebec-card__priceValue {
	font-size: 1.5rem;
	font-weight: 700;
	color: #b4410e;
	line-height: 1.2;
}
.rebec-card__madori {
	font-size: 1.05rem;
	font-weight: 700;
}
.rebec-card__spec {
	display: grid;
	grid-template-columns: 6em 1fr;
	gap: 2px 12px;
	margin: 0;
	font-size: .9rem;
}
.rebec-card__spec dt {
	color: #52606d;
	font-weight: 400;
	margin: 0;
}
.rebec-card__spec dd {
	margin: 0;
}
.rebec-card__more {
	margin: 4px 0 0;
	text-align: right;
}
.rebec-card__more a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 20px;
	border: 1px solid var(--color_main);
	border-radius: 4px;
	color: var(--color_main);
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
}
.rebec-card__more a:hover {
	background: var(--color_main);
	color: #fff;
}
.rebec-card.is-seiyaku .rebec-card__photo {
	opacity: .6;
}

/* 一覧の見出し・ページ送り */
.p-fudou .page-title {
	font-size: 1.4rem;
}
.p-fudou .page-title a {
	color: inherit;
	text-decoration: none;
}
.p-fudou .pageback {
	margin-top: 2em;
}


/* =========================================================
   v0.3：物件詳細
   ========================================================= */
/* 写真スライダー（左右の写真が少し見える） */
.rebec-slider {
	position: relative;
	margin: 0 0 12px;
}
.rebec-slider__track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 0 11%;
	cursor: grab;
	-webkit-overflow-scrolling: touch;
}
.rebec-slider__track::-webkit-scrollbar {
	display: none;
}
.rebec-slider__track.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}
.rebec-slider__slide {
	flex: 0 0 78%;
	aspect-ratio: 4 / 3;
	scroll-snap-align: center;
	background: #eef1f4;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	opacity: .55;
	transition: opacity .2s;
}
.rebec-slider__slide.is-current {
	opacity: 1;
}
.rebec-slider__slide img {
	/* 元画像より大きく引き伸ばさない */
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: contain;
	border: 0 !important;
	margin: 0 !important;
	display: block;
	pointer-events: none;
}
.rebec-slider__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(31, 41, 51, .7);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rebec-slider__btn:disabled {
	opacity: .25;
	cursor: default;
}
.rebec-slider__btn--prev { left: 4px; }
.rebec-slider__btn--next { right: 4px; }
.rebec-slider__count {
	position: absolute;
	right: calc(var(--rs-edge, 11%) + 10px);
	bottom: 10px;
	background: rgba(31, 41, 51, .8);
	color: #fff;
	font-size: .8rem;
	padding: 2px 10px;
	border-radius: 12px;
}
.rebec-slider__cap {
	position: absolute;
	left: calc(var(--rs-edge, 11%) + 10px);
	bottom: 10px;
	background: rgba(255, 255, 255, .9);
	font-size: .8rem;
	padding: 2px 10px;
	border-radius: 12px;
}
.rebec-slider__cap:empty {
	display: none;
}
@media (max-width: 599px) {
	.rebec-slider__track { padding: 0 6%; gap: 8px; }
	.rebec-slider__slide { flex-basis: 88%; }
	.rebec-slider__btn { width: 36px; height: 36px; font-size: 22px; }
}

/* 小さい写真の一覧（物件詳細） */
#single_fudou_img.rebec-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 6px;
	text-align: left;
}
#single_fudou_img.rebec-gallery__thumbs a {
	display: block;
	aspect-ratio: 4 / 3;
	background: #eef1f4;
	border: 1px solid #dde3e8;
	border-radius: 4px;
	overflow: hidden;
}
#single_fudou_img.rebec-gallery__thumbs a.is-active,
.post_content .gallery.rebec-gallery__thumbs .gallery-icon a.is-active {
	border: 3px solid var(--color_main);
}
#list_simplepage2 #single_fudou_img.rebec-gallery__thumbs img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: contain;
	margin: 0;
	border: 0;
	display: block;
}
@media (max-width: 599px) {
	#single_fudou_img.rebec-gallery__thumbs {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* 価格まわり */
#list_simplepage2 .list_detail .list_price {
	background: #fdf6f2;
	border: 1px solid #f0d9cc;
	border-radius: 6px;
}
#list_simplepage2 .list_detail .dpoint4 {
	font-size: 1.6rem;
	font-weight: 700;
	color: #b4410e;
}

/* 物件概要の表 */
#list_simplepage2 #list_add,
#list_simplepage2 #list_other {
	width: 100%;
	border-collapse: collapse;
}
#list_simplepage2 #list_add th,
#list_simplepage2 #list_other th {
	background: #f3f5f7;
	border: 1px solid #dde3e8;
	font-weight: 700;
	white-space: nowrap;
	width: 14%;
}
#list_simplepage2 #list_add td,
#list_simplepage2 #list_other td {
	border: 1px solid #dde3e8;
}
@media (max-width: 599px) {
	#list_simplepage2 #list_other th,
	#list_simplepage2 #list_other td {
		display: block;
		width: 100%;
	}
}


/* =========================================================
   v0.3：共通パーツ（追加CSSから移したもの）
   ========================================================= */
/* バナー（カスタムHTMLウィジェット） */
.rebec-banners {
	display: grid;
	gap: 12px;
	margin: 0 0 8px;
}
.rebec-banners--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rebec-banners--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rebec-banners a {
	display: block;
}
.rebec-banners img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 599px) {
	.rebec-banners--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.rebec-sideBanners {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.rebec-sideBanners img {
	display: block;
	width: 100%;
	height: auto;
}

/* 新バナー画像の角（四隅の余白を隠す） */
img[src*="rebec-bn-w0"], img[data-src*="rebec-bn-w0"] { border-radius: 3.2% / 8.5%; }
img[src*="rebec-bn-b0"], img[data-src*="rebec-bn-b0"] { border-radius: 2% / 6.6%; }
img[src*="rebec-bn-tel01"], img[data-src*="rebec-bn-tel01"] { border-radius: 999px; }
img[src*="rebec-bn-side01"], img[data-src*="rebec-bn-side01"],
img[src*="rebec-bn-sb04"], img[data-src*="rebec-bn-sb04"] { border-radius: 2.4% / 6.4%; }
img[src*="rebec-bn-sb01"], img[data-src*="rebec-bn-sb01"] { border-radius: 3%; }

/* 問い合わせボタン（サイドバー） */
.rebec-inqBtn {
	margin: 0;
}
.rebec-inqBtn a {
	display: block;
	text-align: center;
	padding: 14px 10px;
	background: var(--color_main);
	color: #fff;
	font-weight: 700;
	border-radius: 4px;
	text-decoration: none;
}

/* トップの会社情報 */
.rebec-topCompany img {
	max-width: 100%;
	height: auto;
}
.rebec-topCompany p {
	margin: 0 0 .6em;
}
.rebec-topCompany__name {
	font-weight: 700;
}
.rebec-topCompany__map {
	margin: 1em 0;
}

/* お問い合わせフォームへのボタン */
.rebec-formBtn {
	text-align: center;
	margin: 1.5em 0;
}
.rebec-formBtn a {
	display: inline-block;
	min-width: 280px;
	padding: 16px 32px;
	background: #c8501e;
	color: #fff;
	font-weight: 700;
	border-radius: 4px;
	text-decoration: none;
}
.rebec-formBtn a:hover {
	opacity: .85;
}

/* 物件詳細の問合せ先（2列） */
.inq-form-table {
	display: flex;
	flex-wrap: wrap;
	gap: 1em 2em;
	padding: 1em 1.2em;
	border: 1px solid #dde3e8;
	border-radius: 6px;
	font-size: .95rem;
}
.inq-form-table .l,
.inq-form-table .r {
	flex: 1 1 260px;
}

/* 楽天ウィジェットを中央に */
.widget_custom_html:has(iframe[src*="rakuten"]),
.widget_custom_html:has(script[src*="rakuten"]) {
	text-align: center;
}
.widget_custom_html iframe[src*="rakuten"] {
	display: inline-block;
	max-width: 100%;
}

/* サイドメニューの行頭記号が二重に出るのを直す */
.c-listMenu ul,
.c-listMenu li {
	list-style: none;
	padding-left: 0;
}
.l-sidebar .widget_nav_menu ul {
	margin-left: 0;
}

/* 固定ページのギャラリー（スライダーの下に小さい写真の一覧として並べる） */
.post_content .gallery {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 6px;
}
.post_content .gallery br {
	display: none; /* 標準ギャラリーが行ごとに入れる改行で、すき間ができるのを防ぐ */
}
.post_content .gallery .gallery-item {
	width: auto !important;
	margin: 0 !important;
	padding: 0;
}
.post_content .gallery .gallery-caption {
	display: none;
}
.post_content .gallery .gallery-icon a {
	display: block;
	aspect-ratio: 4 / 3;
	background: #eef1f4;
	border: 1px solid #dde3e8;
	border-radius: 4px;
	overflow: hidden;
}
.post_content .gallery img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border: 0 !important;
}
@media (max-width: 599px) {
	.post_content .gallery {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* 旧テーマの部品（固定ページ本文で使われているもの） */
.post_content .img_d20 {
	margin: 0 0 20px;
}
.post_content .img_d20 img {
	max-width: 100%;
	height: auto;
}
.post_content .col_two_one ul,
.post_content .col_three_one ul {
	list-style: none;
	margin: 0 0 1.5em;
	padding: 0;
	display: grid;
	gap: 16px;
}
.post_content .col_two_one ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.post_content .col_three_one ul {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.post_content .col_two_one li,
.post_content .col_three_one li {
	margin: 0;
	padding: 0;
}
.post_content .col_two_one li::before,
.post_content .col_three_one li::before {
	content: none;
}
.post_content .col_two_one img,
.post_content .col_three_one img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 4px;
}
@media (max-width: 599px) {
	.post_content .col_three_one ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.post_content .list_details_button {
	margin: 8px 0 4px;
	text-align: center;
	padding: 8px 10px;
	border: 1px solid var(--color_main);
	border-radius: 4px;
	color: var(--color_main);
	font-weight: 700;
	font-size: .9rem;
}
.post_content a:hover .list_details_button {
	background: var(--color_main);
	color: #fff;
}
.post_content .text03 {
	font-weight: 700;
}
.post_content .text06 {
	color: #b4410e;
	font-weight: 700;
}
/* マンスリー・ウィークリー物件ページの表 */
.post_content .list_detail table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.2em;
}
.post_content .list_detail th,
.post_content .list_detail td {
	border: 1px solid #dde3e8;
	padding: .6em .8em;
	vertical-align: top;
}
.post_content .list_detail th {
	background: #f3f5f7;
	font-weight: 700;
	white-space: nowrap;
	width: 16%;
}
@media (max-width: 599px) {
	.post_content .list_detail th,
	.post_content .list_detail td {
		display: block;
		width: 100%;
	}
}

/* サイトマップ */
.rebec-sitemap__ttl {
	font-size: 1.2rem;
	margin: 1.5em 0 .6em;
}
.rebec-sitemap__list,
.rebec-sitemap__list ul {
	list-style: disc;
	padding-left: 1.4em;
}
.rebec-sitemap__list li {
	margin: .2em 0;
}


/* =========================================================
   v0.3.2：物件ウィジェットの「→物件詳細」をボタンに
   （トップの おすすめ物件・新着物件、物件詳細の おすすめ物件 など）
   ========================================================= */
ul.grid-content > li,
ul.syousai-content > li {
	background: #fff;
	border: 1px solid #dde3e8;
	border-radius: 6px;
	padding: 8px 8px 10px;
}
ul.grid-content .box1image,
ul.syousai-content .box1image {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #eef1f4;
	border: 0;
	border-radius: 4px;
}
ul.grid-content .top_title,
ul.syousai-content .top_title {
	font-weight: 700;
}
ul.grid-content .top_price,
ul.syousai-content .top_price {
	color: #b4410e;
	font-weight: 700;
	margin-right: .4em;
}
.top_r_footer {
	margin-top: 8px;
}
.top_r_footer {
	display: block !important;
	width: 100%;
}
.top_r_footer .box1low {
	display: block !important;
	float: none !important;
	width: 100% !important;
	position: static !important;
	text-align: center;
}
.top_r_footer .box1low a {
	display: block;
	padding: 7px 8px;
	border: 1px solid var(--color_main);
	border-radius: 4px;
	background: #fff;
	color: var(--color_main);
	font-size: .85rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.4;
}
.top_r_footer .box1low a:hover {
	background: var(--color_main);
	color: #fff;
}


/* =========================================================
   v0.3.2：サイドバーを本文と区切る（グレーの枠）
   ========================================================= */
@media (min-width: 960px) {
	#sidebar.l-sidebar,
	.l-sidebar {
		background: #eef1f4;
		border: 1px solid #dde3e8;
		border-radius: 6px;
		padding: 14px;
		align-self: flex-start;
	}
}
.l-sidebar .c-widget {
	background: #fff;
	border: 1px solid #dde3e8;
	border-radius: 4px;
	padding: 12px;
	margin-bottom: 14px;
}
.l-sidebar .c-widget:last-child {
	margin-bottom: 0;
}
/* 画像だけのウィジェット（バナー・問い合わせボタン・楽天）は枠なしで */
.l-sidebar .widget_custom_html:has(.rebec-sideBanners),
.l-sidebar .widget_custom_html:has(.rebec-inqBtn),
.l-sidebar .widget_custom_html:has(iframe[src*="rakuten"]),
.l-sidebar .widget_custom_html:has(script[src*="rakuten"]) {
	background: transparent;
	border: 0;
	padding: 0;
}
.l-sidebar .c-widget__title {
	margin-top: 0;
}
