/* スマホ表示の等倍化。SP用CSSが640px基準で書かれており、375pxの実機では
   全要素が58.6%に縮んで描画されていた問題の是正。
   すべて max-width:767px で囲んであるため、PC表示には影響しない。 */
@media screen and (max-width: 767px) {

header { height: 52px !important; }
header .part { padding: 0 12px; }
header .part h1 img { width: 124px !important; height: auto; }
header .part .header-right { gap: 6px; }
header .part .header-right-btn {
  height: 36px !important; width: auto !important; padding: 0 10px;
  font-size: 12px !important; line-height: 1.1; border-radius: 18px;
  white-space: nowrap; display: inline-flex; align-items: center;
}

footer .part { padding: 6px 12px !important; gap: 2px 12px !important; flex-wrap: wrap; }
footer .part a {
  font-size: 13px !important; line-height: 1 !important;
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
}
footer .part span { font-size: 13px; }

#other_content > .fixedcontainer,
#wrapper > section > .fixedcontainer:not(.part):not(.beadcrumb) {
  padding-left: 16px; padding-right: 16px; box-sizing: border-box;
}
#other_content p,
#wrapper > section > .fixedcontainer:not(.part):not(.beadcrumb) p {
  line-height: 1.85; margin-bottom: 1em;
}
#other_content h2,
#wrapper > section > .fixedcontainer:not(.part):not(.beadcrumb) h2 {
  font-size: 18px; line-height: 1.5; margin: 28px 0 10px;
}

#other_content table { display: block; width: 100% !important; max-width: none !important; }
#other_content table tbody, #other_content table tr { display: block; width: 100%; }
#other_content table th, #other_content table td {
  display: block !important; width: auto !important;
  white-space: normal !important; border-bottom: none !important;
}
#other_content table th {
  font-size: 13px; font-weight: 700; color: #555; padding: 14px 0 2px !important;
}
#other_content table td {
  font-size: 15px; line-height: 1.7; padding: 0 0 14px !important;
  border-bottom: 1px solid #ddd !important;
}

.condition_block__header { display: block !important; }
.condition_block__header h1 {
  font-size: clamp(18px, 5.2vw, 22px); line-height: 1.45; margin: 0; word-break: auto-phrase;
}
.condition_block__header .info { display: none; }

.beadcrumb ul {
  flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; gap: 8px; padding: 0 16px;
}
.beadcrumb ul::-webkit-scrollbar { display: none; }
.beadcrumb ul li { flex: 0 0 auto; }
.beadcrumb ul li a, .beadcrumb ul li span { white-space: nowrap; font-size: 12px; }
.beadcrumb ul li a { display: inline-block; padding: 11px 0; }
.beadcrumb ul li:last-child span {
  max-width: 170px; overflow: hidden; text-overflow: ellipsis;
  display: inline-block; vertical-align: bottom;
}

.long-text-view { word-break: normal !important; overflow-wrap: anywhere; line-height: 1.85; }

.pagination > span, .pagination > a {
  min-width: 44px; height: 44px; margin: 0 4px !important;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; border-radius: 8px; text-decoration: none;
}
.pagination > a { border: 1px solid #cfd8e3; color: #004bb1 !important; }
.pagination > span { background: #004bb1; color: #fff !important; }

.sidebar_toggle { min-height: 56px; display: flex; align-items: center; }

.zeilish_block .btn_wrapper a {
  width: 100% !important; height: 48px !important; font-size: 15px !important;
  font-weight: 700; margin-left: 0 !important;
  display: flex; align-items: center; justify-content: center;
}
.description-btn { min-height: 40px; font-size: 14px !important; }
.zeilish_block__body .flex_img img { height: 180px !important; object-fit: cover; }
.description-txt {
  word-break: normal !important; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

.detail_block-2 .flex_body p { font-size: 15px !important; line-height: 1.85 !important; }

#inquiry input, #inquiry select, #inquiry textarea { font-size: 16px !important; min-height: 48px; }
#inquiry textarea { min-height: 140px; }
#inquiry input[type="checkbox"] { width: 22px; height: 22px; min-height: 0; }

.detail_block-2 .flex_img:has(> img.no-image) { display: none; }
.detail_block-2 .flex_img .images_footer:has(img.no-image) { display: none; }


/* ── 一覧カードの圧縮（1枚1,223px → 比較できる高さへ） ── */
/* 一覧では電話番号を出さない。詳細ページの「電話番号を表示する」ボタンで計測する */
.zeilish_block__body .flex_body > dl:nth-of-type(3) { display: none !important; }

/* タグは各カテゴリ1行に収める（得意業種16個などが3行ずつ占有していた） */
.zeilish_block__footer h4 { display: none !important; }
.zeilish_block__footer dl {
  display: flex !important; align-items: baseline; gap: 8px;
  margin-bottom: 6px !important;
}
.zeilish_block__footer dl dt {
  flex: 0 0 auto; font-size: 11px !important; color: #666;
  white-space: nowrap; margin: 0 !important; padding: 0 !important;
}
.zeilish_block__footer dl dd {
  flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important;
  display: flex; gap: 4px; overflow: hidden; white-space: nowrap;
}
.zeilish_block__footer dl dd span {
  flex: 0 0 auto; font-size: 11px !important; padding: 3px 7px !important;
}
.zeilish_block__footer { padding: 10px 12px !important; margin-top: 8px !important; }
}
