/*------------------------------
検索結果一覧
--------------------------------*/
/* ========== 物件一覧（bk_boxスコープ：丸ごと置き換え） ========== */
.bk_box *{ box-sizing:border-box; }
.bk_box{ color:#111; padding:0px;}

/* 見出し */
.bk_box .prop__title{
  font-size:18px; margin:0 0 10px; line-height:1.4;
align-items:center; 
}

/* ===== 建物情報：常に 画像=左 / テキスト=右 ===== */
.bk_box .prop__head{
  display:grid; gap:12px; align-items:stretch;
  margin:0 0 16px;
}

/* スマホ〜タブレット：左を固定幅、右を可変（横並びを強制） */
@media (max-width:640px){
  .bk_box .prop__head{ grid-template-columns: 130px 1fr; } /* ←スマホでも横並び */
  .bk_box .prop__thumb{ border:1px solid #e6e6e6; border-radius:10px; overflow:hidden; background:#f5f5f5; }
  .bk_box .prop__thumb img{ width:100%; height:100px; object-fit:cover; display:block; }
  .bk_box .prop__meta{
    border:1px solid #e6e6e6; border-radius:10px; background:#fff;
    padding:8px; line-height:1.7;  overflow-wrap:anywhere;font-size:1.2rem;
  }
}

/* PC：画像を広めに */
@media (min-width:641px){
	.bk_box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bk_box article{
		width: 99%;
        background: #ddd;
        border-radius: 10px;
        padding: 0px 20px;
        margin-bottom: 20px;
    }
	#main h3.bk_h3{
		font-size:2.2rem;
		margin-top:15px;
	}
	#main h3.bk_h3 span.h3_se{
		text-indent:100%;
		white-space:nowrap;
		overflow:hidden;
		width: 0;
        height: 0;
	}
	.bk_box .prop__head{ grid-template-columns: 60% 1fr; }
	.bk_box .prop__thumb{
		border:1px solid #e6e6e6; border-radius:12px; overflow:hidden; background:#f5f5f5;
	}
	.bk_box .prop__thumb img{
		width:100%; height:100%; object-fit:cover; display:block;
		height:220px;
	}
	.bk_box .prop__meta{
		border:1px solid #ccc; border-radius:12px; background:#fff;
		padding:14px; line-height:1.7;
	}
	.bk_pr{
		font-size:2.0rem;
	}
}
@media (min-width:840px){
	.se_box{
		display: inline-block;
		width: calc(100% - 250px);
        margin-left: 10px;
	}
	.bk_box article{
		width: 49%;
    }
	.bk_box article.sebox{
		width:100%;
    }
	.bk_box .prop__head{ grid-template-columns: 42% 1fr; }
	.bk_box .prop__thumb img{
		width:100%; height:100%; object-fit:cover; display:block;
		height: 150px;
	}
	.bk_box .Seps{
		grid-template-columns: 62% 1fr;
	}
	.bk_box .Seps img{
		max-height:300px;
	}
}
.bk_box .prop__name{ font-size:16px; }

/* ===== 部屋一覧：横スワイプ（画像左 / テキスト右の横長カード） ===== */
.bk_box .rooms{
  display:flex; gap:14px;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding:0px 2px 15px;
}
.bk_box .rooms::-webkit-scrollbar{ height:8px; }
.bk_box .rooms::-webkit-scrollbar-thumb{ background:#d7d7d7; border-radius:999px; }

.bk_box .room{
  flex: 0 0 clamp(520px, 78vw, 820px);   /* SP〜PCで横幅可変 */
  min-height:120px;
  display:grid; grid-template-columns:200px 1fr; gap:0;
  background:#fff; border:1px solid #ccc; border-radius:12px; overflow:hidden;
  scroll-snap-align:start;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .15s ease, box-shadow .15s ease;
  position:relative;
}

.bk_box .Myroom{
	padding-bottom:20px;
}

.bk_box .room:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.10); }


/* 部屋：画像側 */
.bk_box .room__thumb{ border-right:1px solid #eaeaea; background:#f5f5f5; }
.bk_box .room__thumb img{ width:100%; height:120px; object-fit:contain; display:block; }

/* 部屋：本文側 */
.bk_box .room__body{ padding:12px 14px; display:grid; align-content:start; gap:6px; }
.bk_box .room__price{ font-size:16px; font-weight:800; line-height:120%; }
.bk_box .bkp_mini{ font-size:11px; color:#555; font-weight:400;}
.bk_box .room__key{ font-size:11px; color:#333; display:flex; gap:10px; flex-wrap:wrap; }
.bk_box .room__spec{ font-size:12px; color:#222; }
.bk_box .room__actions{ display:flex; align-items:center; gap:8px; margin-top:4px; flex-wrap:wrap; }

/* 既存ボタンの軽い整形 */
.bk_box .list_btn2, .bk_box .list_btn3{
  display:inline-block; padding:8px 12px; border-radius:999px;
  font-size:13px; font-weight:700; text-decoration:none;
  border:1px solid #ccc; background:#f7f8fa; color:#111;
}
.bk_box .bmy{ color:#fff; background-color:#ccc; }
.bk_box .fav_act{ color:#ead61b; background-color:#fff; }
.bk_box .list_btn2:hover{ background:#111; color:#fff; }
.bk_box .list_btn3:hover{ background:#eee; }
.bk_box .btn_fav{ vertical-align:middle; }
.bk_box time{
	font-size:1.1rem;
	margin-left:10px;
	margin-bottom:5px;
}
.bk_box time.bmy_time{
	position:absolute;
	right:10px;
	bottom:5px;
}
/* 画像ホバー（PCのみ） */
@media (hover:hover){
  .bk_box .room__thumb img{ transition:transform .5s ease; }
  .bk_box .room:hover .room__thumb img{ transform:scale(1.04); }
}

@media (min-width:641px){
	.bk_box .room{
		flex: 0 0 clamp(400px, 78vw, 400px);
		grid-template-columns: 200px 1fr;
		min-height: 140px;
		position:relative;
	}
	.bk_box .Myroom{
		padding-bottom:0px;
	}
	.bk_box .room__thumb img{
	    height: 150px;
		padding: 10px;
	}
	.bk_box time.bk_time{
		clear:all;
	}
	.bk_box time{
		position:absolute;
		left:200px;
		bottom:3px;
	}
}
@media (max-width:640px){
  .bk_box .room{ flex-basis:85vw; grid-template-columns:125px 1fr; }
}


/* ===== Read More（1行→全文） ===== */
.rm{ position:relative; display:grid; align-items:start; gap:6px; margin-bottom:15px; }

/* トグルは非表示 */
.rm__toggle{
  position:absolute; inline-size:1px; block-size:1px; clip:rect(0,0,0,0);
  overflow:hidden; white-space:nowrap; border:0; padding:0; margin:-1px;
}

/* 1行だけ表示（行末にフェード） */
.rm__text{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;          /* ← ここを 2 や 3 にすれば行数変更 */
  overflow:hidden;
  position:relative;
  line-height:1.6;
}
.rm__text::after{
  content:"";
  position:absolute; inset:0 0 0 auto;
  width:48px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, #fff 60%);
  pointer-events:none;
}

/* ボタン */
.rm__btn{
  display:inline-block;
  padding:6px 12px;
  font-size:13px; font-weight:700;
  color:#111; background:#f3f4f6;
  border:1px solid #ddd; border-radius:999px;
  cursor:pointer; user-select:none;
  transition:filter .2s ease, transform .05s ease;
  font-size:1.2rem;
  width:120px;
  margin:auto;
  text-align:center;
}
.rm__btn:hover{ filter:brightness(1.03); }
.rm__btn:active{ transform:translateY(1px); }

/* チェックONで全文表示＆ボタン文言を変更 */
.rm__toggle:checked ~ .rm__text{
  -webkit-line-clamp: unset;
  max-height:none;
}
.rm__toggle:checked ~ .rm__text::after{ display:none; }
.rm__toggle:checked ~ .rm__btn{ content:""; }
.rm__toggle ~ .rm__btn::after{ content:"もっと見る"; }
.rm__toggle:checked ~ .rm__btn::after{ content:"閉じる"; }

/* 背景色が白以外の場所で使うときはフェード色を継承に */
.rm[data-bg="auto"] .rm__text::after{
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, currentColor 100%);
}
.nps{
	border-radius:8px;
	color:#fff;
	font-weight:bold;
	padding:10px;
}
.sib{
	background-color: unset;
    padding: 0px 0px 15px;
    position: relative;
}
.sib_select select{
	padding: 3px;
    background-color: #fff;
    height: auto;
    position: absolute;
    right: 0px;
    width: 140px;
    border-radius: 5px;
    bottom: 20px;
}
ul.bks_ul{
	width:100%;
	font-size:1.2rem;
	margin:0px 0px 15px 0px;
	padding:0px 0px 0px 0px;
	list-style:none;
}
ul.bks_ul li{
	margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    font-size: 1.2rem;
    border: 1px solid #ccc;
	position:relative;
}
ul.bks_ul li.bnon{
	border-top:none;
}
.bksl{
	display: table-cell;
    margin: 0px 0px 0px 0px;
    background-color: #efefef;
    border-right: 1px solid #ccc;
    width: 70px;
    box-sizing: border-box;
    padding: 5px 5px 5px 5px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
}
.bksr{
	display: table-cell;
   width: calc(100% - 70px);
    box-sizing: border-box;
    margin: 0px 0px 0px 0px;
    padding:5px 80px 5px 5px;
    height: 40px;
    line-height: 130%;
    vertical-align: middle;
}
.bksr input[type="submit"].rsel_btn,.bksr input[type="button"].rsel_btn{
	position: absolute;
	bottom: 0;
	top: 0;
	right: 5px;
	font-size: 1.1rem;
	margin: auto;
	width: 65px;
	height: 23px;
}
.iphone .bksr input[type="submit"].rsel_btn,
.iphone .bksr input[type="button"].rsel_btn{
	font-size: 1.2rem;
	width: auto;
}


.bl_box{
	margin: 0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	text-align: center;
}
.bl_inner_box{
	display: block;
    background-color: #efefef;
    padding:0px;
}
.bl_box article{
	width:100%;
    display: inline-block;
    box-sizing: border-box;
	margin:0px 0px 20px 0px;
    padding:0px 0px 0px 0px;
    vertical-align: top;
    position: relative;
    background-color: rgba(255,255,255,0.7);
	text-align: left;
}
.bl_box h3,#main h3.bl_h3{
	margin: 10px 0px;
    padding: 0px 0px 0px 7px;
    font-size: 1.8rem;
    line-height: 120%;
}
.bl_box figure{
	margin: 0px 0px 5px 0px;
}
.bl_box figure img{
    width:100%;
	object-fit:cover;
}
.bl_img a{
	display: block;
    width: 10;
    background-color: #fff;
    box-shadow: 1px 1px 1px #999;
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
	margin-top: 10px;
}
.osusume_jyoken{
    width: 100%;
}
@media screen and (min-width:641px){
	.osusume_jyoken{
		padding: 10px;
		margin-bottom: 10px;
	}
}
.bl_box p.bl_type,#main p.bl_type,
.bl_box p.bl_price,#main p.bl_price{
	display: inline-block;
    margin: 5px 0px 8px 5px;
    padding: 0px;
    width: auto;
    line-height: unset;
    font-size: 2.0rem;
    font-weight: bold;
    width: 47%;
}
.bl_box p.bl_price,#main p.bl_price{
	width:47%;
}
.bl_box span.bl_min{
	font-size: 1.2rem;
    margin-top: 3px;
	font-weight:normal;
}
.bl_box p.bl_p,#main p.bl_p{
	margin: 0px 0px 7px 0px;
    padding: 0px;
    font-size: 1.2rem;
    line-height: 150%;
}
.bl_box p.bl_com,#main p.bl_com{
	margin: 5px 0px 5px 0px;
	padding:0px;
    font-size:1.2rem;
	line-height:130%;
}
.bl_box time{
	font-size:1.1rem;
}
@media screen and (min-width:641px){
	.bl_box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bl_box article{
		width:48%;
        padding: 0px 10px;
        margin-bottom: 20px;
    }
	.bl_box figure img{
		height:350px;
		object-fit: contain;
	}
	.bl_box p.bl_com, #main p.bl_com{
		font-size:1.4rem;
	}
}



/*------------------------------
マイリスト
--------------------------------*/
.MtabSwitchContainer {
  width: 100%;
  margin: 20px 0px;
  border-radius: 10px;
  background: #f9f9f9;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
}

.MtabInput { display: none; }

.MtabHeader {
  display: flex;
  border-bottom: 2px solid #ddd;
  background: #f0f0f0;
}

.MtabLabel {
  flex: 1;
  text-align: center;
  padding: 12px 0;
  font-weight: 700;
  font-size: 15px;
  color: #555;
  cursor: pointer;
background-color: #ddd;
  transition: background 0.3s, color 0.3s;
}

/* 選択中のタブを明示（全ブラウザ対応セレクタ） */
#MtabRent:checked ~ .MtabHeader label[for="MtabRent"],
#MtabBiz:checked ~ .MtabHeader label[for="MtabBiz"] {
  background: #00a99d;
  color: #333;
}

/* コンテンツ領域 */
.MtabContent {
  padding: 20px;
  background: #fff;
}

/* デフォルト非表示 */
.MtabPanel { display: none; }

/* チェックされた方だけ表示 */
#MtabRent:checked ~ .MtabContent #MpanelRent { display: block; }
#MtabBiz:checked ~ .MtabContent #MpanelBiz { display: block; }

/* スマホ対応 */
@media screen and (max-width:640px) {
  .MtabLabel {
    font-size: 14px;
    padding: 10px 0;
  }
  .MtabContent {
    padding: 0px 0px 15px;
  }
}



/*------------------------------
サイド検索メニュー（PC）
--------------------------------*/
#s_sidebar{
	float: left;
    width: 240px;
    background: #93bab6;
    border-radius: 10px;
    padding: 15px;
}
.ss__checks table{
	width: 100%;
	margin-top:5px;
}
.ss__checks table td{
	background-color:#fff;
	border-radius:5px;
	padding:3px;
	width:45%;
	margin:3px;
	display: inline-block;
}
.ss__checks table tr{
	display: inline;
}
.sc0 table td{
	width:98%;
}
.ss__checks input{
	width:18px;
	height:18px;
}
.ss__checks label{
	font-size:1.5rem;
	margin-left:3px;
}
#main h3.ss_h3{
	font-size: 1.6rem;
	background-color:#666;
	color:#fff;
	border:none;
	margin:0px 0px 0px;
	border-top-left-radius:5px;
	-webkit-border-top-left-radius: 5px; 
	-moz-border-radius-topleft: 5px;
	border-top-right-radius:5px;
	-webkit-border-top-right-radius: 5px; 
	-moz-border-radius-topright: 5px;
}
#main h4.ss_h4{
	font-size: 1.6rem;
	margin:10px 0px;
}
.sssr{
	margin:10px 0px;
	background-color:#fff;
	border-radius:5px;
	padding:10px;
}
.sssr input{
	display:block;
	margin:5px auto;
}
.sssr strong{
	display:inline-block;
	background-color:#333;
	border-radius:3px;
	padding:3px;
	margin:3px;
	font-size:1.4rem;
	color:#fff;
}
.sssr strong.cselc_box{
	background-color:#ff6600;
}


/* ===== detailsフォーム 全体 ===== */
/* 全体 */
.sf.nps {
  display: block;
  background: #93bab6;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
  margin: 10px auto;
  overflow: hidden;
  width: 100%;
}

/* summaryバー */
.sf.nps > summary {
  background: #93bab6;
  padding: 12px 16px;
  cursor: pointer;
  font-weight: 600;
  color: #333;
  position: relative;
  border-bottom: 1px solid #ddd;
  list-style: none;
}

/* 矢印 */
.sf.nps > summary::after {
  content: "▼";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.2s ease;
  font-size: 12px;
  color: #555;
}
.sf.nps[open] > summary::after {
  transform: translateY(-50%) rotate(180deg);
}

/* 中身 */
.sf.nps .form_set {
  padding: 10px 0px;
  background: #93bab6;
  color: #333;
  transition: all 0.3s ease;
}

/* 閉じている時（open属性がない時）だけ中身を非表示 */
.sf.nps:not([open]) .form_set {
  display: none;
}


/* ==== 汎用：店舗紹介カード（再利用可） ==== */


/* ==== 汎用：店舗紹介カード（再利用可） ==== */
.SLT-shopCard{
  /* カスタム可能なトークン（インラインstyleで上書きOK） */
  --SLT-primary: #1A72E8;
  --SLT-radius: 16px;
  --SLT-shadow: 0 6px 18px rgba(0,0,0,.08);
  --SLT-gap: 20px;
  --SLT-media-min: 360px;  /* 画像カラムの最小幅 */
  --SLT-aspect: 16/9;      /* 画像の比率 */
  background:#fff;
  border-radius: var(--SLT-radius);
  box-shadow: var(--SLT-shadow);
  padding: 16px;
  margin: 20px 0;
}
.SLT-shopCard__inner{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--SLT-gap);
  align-items: center;
  margin-top: 10px;
}
.SLT-shopCard__media{
  overflow:hidden; border-radius: 12px;
}
.SLT-shopCard__img{
  display:block; width:100%; height:auto; object-fit:content;
  aspect-ratio: var(--SLT-aspect);
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.SLT-shopCard__media:hover .SLT-shopCard__img{ transform: scale(1.05); }

.SLT-shopCard__title{ font-size: 20px; line-height:1.4; margin:0 0 8px; }
.SLT-shopCard__lead{ margin:0 0 10px; color:#444; line-height:1.8; font-size:14.5px; }

.SLT-shopCard__chips{
  display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:8px 0 12px;
}
.SLT-shopCard__chips li{
  padding:6px 10px; border-radius:999px; background:#eef5ff; color:var(--SLT-primary);
  font-size:12.5px; border:1px solid #cfe0ff;
}

.SLT-shopCard__ctas{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.SLT-btn{
  display:inline-block; padding:10px 14px; border-radius:10px;
  background: #14988d; color:#fff; text-decoration:none; font-size:14px;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--SLT-primary) 35%, transparent);
}
.SLT-btn--ghost{
  background:#fff; color:#14988d; border:1px solid #14988d; box-shadow:none;
}
a:hover.SLT-btn,a:hover.SLT-btn--ghost{
	text-decoration:none;
	background:#999;
	color:#fff;
}

#main section.SLT-shopCard{
	padding:0px;
}

/* PC：2カラム（画像 / テキスト） */
@media (min-width: 800px){
  #main section.SLT-shopCard{
		padding:70px 0px;
	}
  .SLT-shopCard__inner{
    grid-template-columns: minmax(var(--SLT-media-min), 50%) 1fr;
    gap: 28px;
	margin-top:0px;
  }
  .SLT-shopCard__img{
		height:300px; object-fit:content;object-position: left center;
	}
  #main h3.SLT-shopCard__title{ font-size:22px; }
  .SLT-shopCard__lead{ font-size:15px; }
  .sf.nps {
		display: block;
		background: #93bab6;
		border: 1px solid #ddd;
		border-radius: 8px;
		box-shadow: 0 3px 10px rgba(0,0,0,0.05);
		padding: 0;
		margin: 20px auto;
		overflow: hidden;
		width:650px;
	}
	.SLT-shopCard.SLT-shopCard--reverse .SLT-shopCard__inner{
		grid-template-columns: 1fr minmax(var(--SLT-media-min), 520px);
	}
	.SLT-shopCard.SLT-shopCard--reverse .SLT-shopCard__media{
		order: 2;
	}
	.SLT-shopCard.SLT-shopCard--reverse .SLT-shopCard__body{
		order: 1
		;
	}
	.sf.nps .form_set {
		padding: 20px 16px;
	}
}
@media (min-width: 1024px){
  .SLT-shopCard__inner{
    grid-template-columns: minmax(var(--SLT-media-min), 520px) 1fr;
    gap: 28px;
  }
/* コンパクト版（一覧並び用など） */
.SLT-shopCard.SLT-shopCard--compact{
  --SLT-gap: 14px; --SLT-radius:12px; padding:12px;
}
#main h3.SLT-shopCard__title{ font-size:18px; }
.SLT-shopCard.SLT-shopCard--compact .SLT-shopCard__lead{ font-size:14px; line-height:1.7; }

/* 配色テーマ例（ダーク枠／任意） */
.SLT-shopCard.SLT-shopCard--dark{
  background:#0f172a; color:#e8eefc; box-shadow:none;
}
.SLT-shopCard.SLT-shopCard--dark .SLT-shopCard__chips li{
  background:#1e293b; border-color:#334155; color:#93c5fd;
}
.SLT-shopCard.SLT-shopCard--dark .SLT-btn--ghost{
  background:transparent; color:#93c5fd; border-color:#475569;
}




