/************************************
** ホテル検索・ホテルのページ・エリアガイドの「Hotels in ○○」（2026-10-19）。restaurants.css と同じ形（接頭辞 ehl-）
************************************/
.ehl, .ehl-area, .single-hotel .entry-content { --ehl-navy: #1F3A5F; --ehl-cta: #C8412A; --ehl-cta-dark: #A8361F; --ehl-cream: #F7F4EA; --ehl-line: #E4DED0; --ehl-sub: #5B6270; }

/* 総合ページは本文を広く */
.page-hotels .main, .page-hotels #main { width: 100%; max-width: 1200px !important; margin: 0 auto; }
.page-hotels .article, .page-hotels .entry-content { max-width: none !important; }

/* 検索フォーム */
.ehl-search { margin: 0 0 32px; padding: 28px; background: var(--ehl-cream); border: 1px solid var(--ehl-line); border-radius: 18px; }
.ehl .ehl-title { margin: 0 0 6px; padding: 0; border: 0; background: none; font: 700 clamp(26px, 3vw, 36px)/1.2 var(--et-font-heading, system-ui, sans-serif); color: var(--ehl-navy); }
.ehl .ehl-title::before, .ehl .ehl-title::after { content: none; }
.ehl .ehl-sub { margin: 0 0 18px !important; color: var(--ehl-sub); font-size: 16px; }
.ehl-form { background: #FFFFFF; border: 1px solid var(--ehl-line); border-radius: 14px; padding: 18px; box-shadow: 0 6px 20px rgba(20, 30, 50, .06); container-type: inline-size; }
.ehl-fields { display: grid; gap: 12px; grid-template-columns: 2fr repeat(2, minmax(0, 1.2fr)) repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr) auto; align-items: end; }
.ehl-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.ehl-field > span { font-size: 13px; font-weight: 600; color: var(--ehl-sub); }
.ehl-field select, .ehl-field input {
  box-sizing: border-box; width: 100%; height: 50px; margin: 0; padding: 0 12px; border: 1px solid #CFD6DF; border-radius: 10px; background: #FFFFFF;
  font: 500 16px/1.2 var(--et-font-body, system-ui, sans-serif); color: #1A1D23;
}
.ehl-field select:focus, .ehl-field input:focus { outline: none; border-color: var(--ehl-navy); box-shadow: 0 0 0 3px rgba(31, 58, 95, .18); }
.ehl .ehl-submit { width: 100%; height: 50px; white-space: nowrap; padding: 0 14px; border: 0; border-radius: 10px; background: var(--ehl-cta); color: #FFFFFF; font: 600 16px/1 var(--et-font-body, system-ui, sans-serif); cursor: pointer; box-shadow: 0 6px 16px rgba(200, 65, 42, .25); }
.ehl .ehl-submit:hover { background: var(--ehl-cta-dark); }
.ehl .ehl-submit:focus-visible { outline: 3px solid var(--ehl-navy); outline-offset: 2px; }
.ehl-more { margin: 14px 0 0; }
.ehl-more summary { cursor: pointer; font-weight: 600; color: var(--ehl-navy); font-size: 15px; }
.ehl-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ehl-filter { position: relative; margin: 0; cursor: pointer; }
.ehl-filter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ehl-filter span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid #D9D3C6; border-radius: 999px; background: #FFFFFF; color: var(--ehl-navy); font-size: 14px; font-weight: 600; }
.ehl-filter input:checked + span { background: var(--ehl-navy); border-color: var(--ehl-navy); color: #FFFFFF; }
.ehl-filter input:focus-visible + span { outline: 3px solid var(--ehl-navy); outline-offset: 2px; }
.ehl .ehl-note { margin: 12px 0 0 !important; font-size: 13px; color: var(--ehl-sub); }
@container (max-width: 1060px) { .ehl-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ehl-field-area { grid-column: span 2; } }
@container (max-width: 700px) { .ehl-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ehl-field-area, .ehl-field-submit { grid-column: 1 / -1; } }
@container (max-width: 520px) { .ehl-fields { grid-template-columns: 1fr 1fr; } .ehl-field-area, .ehl-field-submit { grid-column: 1 / -1; } }

/* 結果 */
.ehl-results-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 14px; flex-wrap: wrap; }
.ehl .ehl-count { margin: 0 !important; font-weight: 700; color: var(--ehl-navy); }
.ehl-sort { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 14px; color: var(--ehl-sub); margin: 0; }
.ehl-sort select { height: 40px; border: 1px solid #CFD6DF; border-radius: 8px; padding: 0 10px; background: #FFFFFF; }
.ehl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ehl-card { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--ehl-line); border-radius: 14px; overflow: hidden; }
.ehl-card[hidden] { display: none; }
.ehl-card-media { display: block; aspect-ratio: 16 / 9; background: #EEE9DE; overflow: hidden; }
.ehl-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ehl-nophoto { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 100%; height: 100%; background: #F7F4EA; background-image: radial-gradient(rgba(31, 58, 95, .07) 1px, transparent 1px); background-size: 14px 14px; color: #1F3A5F; text-align: center; border-bottom: 1px solid #E4DED0; }
.ehl-nophoto-c { font: 700 22px/1.2 var(--et-font-heading, system-ui, sans-serif); }
.ehl-nophoto-t { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.ehl-card-body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.ehl-sponsored { align-self: flex-start; padding: 2px 8px; border-radius: 4px; background: #F1EEE6; color: var(--ehl-sub); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ehl .ehl-card-name, .ehl-area .ehl-card-name, .entry-content .ehl-card-name { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 700 19px/1.3 var(--et-font-heading, system-ui, sans-serif); }
.ehl-card-name::before, .ehl-card-name::after { content: none !important; }
.ehl-card-name a { color: #1A1D23; text-decoration: none; }
.ehl-card-name a:hover { color: var(--ehl-cta); }
.entry-content .ehl-card-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0 !important; font-size: 13px; font-weight: 600; color: var(--ehl-navy); }
.ehl-card-meta span + span::before { content: "·"; margin-right: 10px; color: #A0A8B4; }
.entry-content .ehl-card-desc { margin: 0 !important; font-size: 14px; line-height: 1.55; color: var(--ehl-sub); }
.entry-content .ehl-card-facts { margin: 0 !important; padding: 0 !important; list-style: none; font-size: 13px; color: var(--ehl-sub); }
.entry-content .ehl-card-facts li { margin: 0; padding: 0; }
.entry-content .ehl-card-facts li::before { content: "✓ "; color: var(--ehl-navy); }
.ehl-card-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; flex-wrap: wrap; }
.ehl-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border-radius: 8px; font: 600 14px/1 var(--et-font-body, system-ui, sans-serif); text-decoration: none !important; flex: 1 1 auto; }
.ehl-btn-line { border: 1px solid var(--ehl-navy); color: var(--ehl-navy) !important; background: #FFFFFF; }
.ehl-btn-line:hover { background: var(--ehl-navy); color: #FFFFFF !important; }
.ehl-btn-cta { background: var(--ehl-cta); color: #FFFFFF !important; }
.ehl-btn-cta:hover { background: var(--ehl-cta-dark); }
.ehl-btn-navy { background: var(--ehl-navy); color: #FFFFFF !important; flex: 0 0 auto; }
.ehl-btn-navy:hover { background: #162B47; }
.ehl-btn:focus-visible { outline: 3px solid var(--ehl-navy); outline-offset: 2px; }
.entry-content .ehl-aff { margin: 0 !important; font-size: 12px; color: var(--ehl-sub); }
.ehl .ehl-empty { margin: 20px 0 !important; padding: 24px; text-align: center; background: #FFFFFF; border: 1px dashed #D9D3C6; border-radius: 14px; color: var(--ehl-sub); }

/* エリア・料理から探す */
.entry-content .ehl-browse { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px !important; padding: 0 !important; list-style: none; }
.entry-content .ehl-browse li { margin: 0; padding: 0; }
.entry-content .ehl-browse li::before { content: none; }
.ehl-browse a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid #D9D3C6; border-radius: 999px; background: #FFFFFF; color: var(--ehl-navy, #1F3A5F); font-weight: 600; text-decoration: none; }
.ehl-browse a:hover { border-color: #1F3A5F; }
.ehl-browse span { font-size: 12px; color: #5B6270; }

/* エリアページの「Best Restaurants in ○○」 */
.ehl-area { margin: 28px 0; padding: 22px; background: var(--ehl-cream); border: 1px solid var(--ehl-line); border-radius: 16px; }
.article .ehl-area .ehl-area-h { margin: 0 0 12px; padding: 0; border: 0; background: none; font: 700 22px/1.3 var(--et-font-heading, system-ui, sans-serif); color: var(--ehl-navy); }
.article .ehl-area .ehl-area-h::before, .article .ehl-area .ehl-area-h::after { content: none; }
.entry-content .ehl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px !important; padding: 0 !important; list-style: none; }
.entry-content .ehl-chips li { margin: 0; padding: 0; }
.entry-content .ehl-chips li::before { content: none; }
.ehl-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid #D9D3C6; border-radius: 999px; background: #FFFFFF; color: #1F3A5F; font-size: 14px; font-weight: 600; text-decoration: none; }
.ehl-area .ehl-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.ehl-area .ehl-card-desc { display: none; }
.entry-content .ehl-area-more { margin: 16px 0 0 !important; }

/* 店のページ */
.ehl-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 0 0 20px; }
.ehl-photo { width: 100%; height: auto; border-radius: 10px; }
.entry-content .ehl-nophoto-note { margin: 0 !important; padding: 18px; background: var(--ehl-cream); border: 1px dashed #D9D3C6; border-radius: 12px; color: var(--ehl-sub); font-size: 14px; }
.ehl-book { margin: 0 0 24px; padding: 18px; background: #FFFFFF; border: 1px solid var(--ehl-line); border-radius: 14px; box-shadow: 0 6px 20px rgba(20, 30, 50, .06); }
.ehl-book .ehl-btn { min-height: 52px; padding: 0 28px; font-size: 16px; flex: 0 0 auto; }
.entry-content .ehl-book p { margin: 10px 0 0 !important; font-size: 13px; color: var(--ehl-sub); }
.ehl-book-none p { margin: 0 !important; }
.ehl-facts table { width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.ehl-facts th { width: 30%; text-align: left; background: var(--ehl-cream); }
.ehl-facts th, .ehl-facts td { padding: 10px 12px; border: 1px solid var(--ehl-line); font-size: 15px; }
.entry-content .ehl-small { font-size: 13px; color: var(--ehl-sub); }
.ehl-sources { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--ehl-line); font-size: 14px; }
.ehl-grid-related { margin-bottom: 24px; }
.entry-content .ehl-back { margin-top: 24px !important; font-weight: 600; }

@media (max-width: 1023px) { .ehl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .ehl-search { padding: 20px 14px; }
  .ehl-form { padding: 14px 12px; }
  .ehl-grid { grid-template-columns: 1fr; gap: 14px; }
  .ehl-area { padding: 18px 14px; }
  .ehl-area .ehl-grid { grid-template-columns: 1fr; }
  .ehl-book .ehl-btn { width: 100%; }
}
.ehl-picks { margin: 0 0 28px; }
.ehl-card-media, .ehl-card-media:hover { text-decoration: none !important; }

/* 料理ジャンルのイラスト（店の写真がないとき） */
.ehl-card-media { position: relative; }
.ehl-illus-label { position: absolute; left: 10px; bottom: 10px; padding: 3px 8px; border-radius: 4px; background: rgba(255, 255, 255, .9); color: #1F3A5F; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ehl-illus-fig { position: relative; margin: 0; grid-column: 1 / -1; }
.ehl-illus-fig img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; }
.ehl-illus-fig .ehl-illus-label { left: 12px; bottom: auto; top: 12px; }
.entry-content .ehl-illus-fig figcaption { margin-top: 8px; font-size: 13px; color: #5B6270; text-align: left; }

/* ホテル独自 */
.ehl-amenities { margin: 14px 0 0; padding: 0; border: 0; }
.ehl-amenities legend { padding: 0; margin: 0 0 8px; font-weight: 600; color: var(--ehl-navy); font-size: 15px; }
.ehl-amenities .ehl-filters { margin-top: 0; }
.ehl .ehl-error { margin: 12px 0 0 !important; padding: 10px 12px; border-radius: 8px; background: #FCEDEA; color: #8E2A17; font-size: 14px; font-weight: 600; }
.ehl .ehl-error[hidden] { display: none; }
.entry-content .ehl-card-station { margin: 0 !important; font-size: 13px; color: var(--ehl-sub); }
.ehl-ext { font-size: 14px; font-weight: 600; color: var(--ehl-navy); }
.ehl-empty { margin: 20px 0; padding: 24px; text-align: center; background: #FFFFFF; border: 1px dashed #D9D3C6; border-radius: 14px; color: var(--ehl-sub); }
.ehl-empty[hidden] { display: none; }
.entry-content .ehl-empty p { margin: 0 0 12px !important; font-weight: 600; color: var(--ehl-navy); }
.ehl-empty .ehl-btn { flex: 0 0 auto; display: inline-flex; cursor: pointer; font-size: 14px; }
.entry-content .ehl-more-wrap { margin: 24px 0 0 !important; text-align: center; }
.ehl-more { cursor: pointer; flex: 0 0 auto; min-width: 220px; }
.ehl-more[hidden] { display: none; }
.entry-content .ehl-disclaimer { margin: 20px 0 0 !important; font-size: 13px; color: var(--ehl-sub); }
.ehl-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 16px !important; padding: 0 !important; list-style: none; font-size: 13px; color: var(--ehl-sub); }
.ehl-crumbs li { margin: 0; padding: 0; }
.ehl-crumbs li::before { content: none; }
.ehl-crumbs li + li::before { content: "›" !important; margin-right: 8px; color: #A0A8B4; }
.ehl-crumbs a { color: var(--ehl-navy); }
.single-hotel .ehl-crumbs, .single-hotel .entry-content { --ehl-navy: #1F3A5F; --ehl-sub: #5B6270; --ehl-cream: #F7F4EA; --ehl-line: #E4DED0; --ehl-cta: #C8412A; --ehl-cta-dark: #A8361F; }
.entry-content .ehl-type { font-weight: 600; color: var(--ehl-navy); }
.entry-content .ehl-amen { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px 16px; }
.ehl-book-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ehl-book .ehl-btn { min-height: 52px; padding: 0 22px; font-size: 16px; flex: 0 0 auto; }
.entry-content .ehl-yoursearch { padding: 10px 14px; background: var(--ehl-cream); border-radius: 8px; font-size: 14px; }
.entry-content .ehl-tip { padding: 12px 14px; border-left: 3px solid var(--ehl-navy); background: var(--ehl-cream); }
.ehl-related { margin-bottom: 24px; }
.ehl-cta { margin: 24px 0; padding: 22px; background: var(--ehl-cream); border: 1px solid var(--ehl-line); border-radius: 16px; }
.entry-content .ehl-area-h { margin: 0 0 12px !important; font: 700 22px/1.3 var(--et-font-heading, system-ui, sans-serif); color: var(--ehl-navy); }
.ehl-cta .ehl-btn { flex: 0 0 auto; }
.ehl-area { margin: 28px 0; padding: 22px; background: var(--ehl-cream); border: 1px solid var(--ehl-line); border-radius: 16px; }
.ehl-area .ehl-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.ehl-area .ehl-card-desc { display: none; }
.entry-content .ehl-area-more { margin: 16px 0 0 !important; }
.ehl, .ehl-area, .ehl-cta { --ehl-navy: #1F3A5F; --ehl-cta: #C8412A; --ehl-cta-dark: #A8361F; --ehl-cream: #F7F4EA; --ehl-line: #E4DED0; --ehl-sub: #5B6270; }
@media (max-width: 640px) { .ehl-book .ehl-btn { width: 100%; } .ehl-area, .ehl-cta { padding: 18px 14px; } .ehl-results-head { flex-direction: column; align-items: flex-start; } }

/* 写真がないとき（詳細ページ） */
.entry-content .ehl-nophoto-note { margin: 0 0 20px !important; padding: 18px; background: var(--ehl-cream, #F7F4EA); border: 1px dashed #D9D3C6; border-radius: 12px; color: #5B6270; font-size: 14px; }
.ehl-nophoto-t { letter-spacing: .06em; }

/* Where to Stay：ホテル検索・エリア別・ガイド */
.ehl-wts { margin: 24px 0 32px; padding: 24px; background: var(--ehl-cream); border: 1px solid var(--ehl-line); border-radius: 16px; }
.ehl-form-mini .ehl-fields { grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1.2fr)) repeat(3, minmax(0, .9fr)) auto; }
@container (max-width: 860px) { .ehl-form-mini .ehl-fields { grid-template-columns: repeat(6, minmax(0, 1fr)); } .ehl-form-mini .ehl-field { grid-column: span 2; } .ehl-form-mini .ehl-field-area, .ehl-form-mini .ehl-field-submit { grid-column: 1 / -1; } .ehl-form-mini .ehl-field:nth-child(2), .ehl-form-mini .ehl-field:nth-child(3) { grid-column: span 3; } }
@container (max-width: 480px) { .ehl-form-mini .ehl-fields { grid-template-columns: 1fr 1fr; } .ehl-form-mini .ehl-field, .ehl-form-mini .ehl-field:nth-child(2), .ehl-form-mini .ehl-field:nth-child(3) { grid-column: auto; } .ehl-form-mini .ehl-field-area, .ehl-form-mini .ehl-field-submit { grid-column: 1 / -1; } }
.entry-content .ehl-wts-h { margin: 22px 0 10px !important; font: 700 18px/1.3 var(--et-font-heading, system-ui, sans-serif); color: var(--ehl-navy); }
.entry-content .ehl-areacards { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.entry-content .ehl-areacards li, .entry-content .ehl-guides li { margin: 0; padding: 0; }
.entry-content .ehl-areacards li::before, .entry-content .ehl-guides li::before { content: none; }
.ehl-areacards a { display: flex; flex-direction: column; gap: 2px; min-height: 64px; justify-content: center; padding: 12px 16px; background: #FFFFFF; border: 1px solid var(--ehl-line); border-radius: 12px; text-decoration: none !important; }
.ehl-areacards a:hover { border-color: var(--ehl-navy); }
.ehl-areacard-n { font-weight: 700; color: var(--ehl-navy); }
.ehl-areacard-c { font-size: 13px; color: var(--ehl-sub); }
/* 2026-10-24 エリアのカードに写真（写真の上に名前と軒数） */
.ehl-areacards a.has-img { position: relative; min-height: 0; aspect-ratio: 4 / 3; justify-content: flex-end; padding: 12px 14px; overflow: hidden; border: 0; background: var(--ehl-navy); }
.ehl-areacards a.has-img .ehl-areacard-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .3s ease; }
.ehl-areacards a.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%); }
.ehl-areacards a.has-img .ehl-areacard-n, .ehl-areacards a.has-img .ehl-areacard-c { position: relative; z-index: 1; color: #FFFFFF; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.ehl-areacards a.has-img .ehl-areacard-n { line-height: 1.3; }
.ehl-areacards a.has-img:hover .ehl-areacard-img { transform: scale(1.05); }
.ehl-credits { margin: 8px 0 0; font-size: 12px; color: var(--ehl-sub); }
.ehl-credits summary { cursor: pointer; }
.entry-content .ehl-credits ul { margin: 6px 0 0 !important; padding-left: 1.2em !important; }
.ehl-credits li { margin: 2px 0; }
.entry-content .ehl-guides { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.ehl-guides a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid #D9D3C6; border-radius: 999px; background: #FFFFFF; color: var(--ehl-navy); font-size: 14px; font-weight: 600; text-decoration: none !important; }
.ehl-wts, .ehl-article-btn { --ehl-navy: #1F3A5F; --ehl-cta: #C8412A; --ehl-cta-dark: #A8361F; --ehl-cream: #F7F4EA; --ehl-line: #E4DED0; --ehl-sub: #5B6270; }
@media (max-width: 640px) { .ehl-wts { padding: 18px 14px; } }

/* 既存のホテル記事のボタン */
.entry-content .ehl-article-btn { margin: 12px 0 28px !important; }
.ehl-article-btn .ehl-btn { display: inline-flex; flex: 0 0 auto; padding: 0 20px; }

/* カードの「Check on: Booking.com · Agoda · Rakuten Travel」 */
.entry-content .ehl-card-sites { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 2px 0 0 !important; font-size: 13px; color: var(--ehl-sub); }
.ehl-card-sites a { color: var(--ehl-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; min-height: 32px; display: inline-flex; align-items: center; }
.ehl-card-sites a:hover { color: var(--ehl-cta); }

/* 2026-10-22 Agoda の写真（リンク画像）：小さな出典表示 */
.ehl-card-media-agoda .ehl-photo-credit { position: absolute; right: 6px; bottom: 6px; padding: 2px 6px; border-radius: 4px; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; line-height: 1.4; }
.ehl-photo-agoda img { display: block; width: 100%; max-width: 720px; height: auto; border-radius: 8px; }
.ehl-photo-credit-line { font-size: 12px; color: #666; margin-top: 4px; }

/* 2026-10-22 日付・人数・部屋数を外したので、検索フォームは「エリア・予算・ボタン」（Where to Stay は「エリア・ボタン」）の1行に */
.ehl-search .ehl-fields { grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) auto; }
.ehl-form-mini .ehl-fields { grid-template-columns: minmax(0, 1fr) auto; }
@container (max-width: 700px) { .ehl-search .ehl-fields, .ehl-form-mini .ehl-fields { grid-template-columns: 1fr; } .ehl-search .ehl-field, .ehl-form-mini .ehl-field, .ehl-form-mini .ehl-field:nth-child(2), .ehl-form-mini .ehl-field:nth-child(3) { grid-column: 1 / -1; } }
.ehl-search .ehl-fields .ehl-field-area, .ehl-search .ehl-fields .ehl-field-submit, .ehl-form-mini .ehl-fields .ehl-field-area, .ehl-form-mini .ehl-fields .ehl-field-submit { grid-column: auto; }
@container (max-width: 700px) { .ehl-search .ehl-fields .ehl-field-area, .ehl-search .ehl-fields .ehl-field-submit, .ehl-form-mini .ehl-fields .ehl-field-area, .ehl-form-mini .ehl-fields .ehl-field-submit { grid-column: 1 / -1; } }

/* 2026-11-07 日付・人数・部屋数の欄を戻した（検索フォームの並び）と並び順 */
.ehl-search .ehl-fields { grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1.2fr)) repeat(3, minmax(0, .9fr)) auto; }
@container (max-width: 860px) {
  .ehl-search .ehl-fields { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ehl-search .ehl-fields .ehl-field { grid-column: span 2; }
  .ehl-search .ehl-fields .ehl-field:nth-child(2), .ehl-search .ehl-fields .ehl-field:nth-child(3) { grid-column: span 3; }
  .ehl-search .ehl-fields .ehl-field-area, .ehl-search .ehl-fields .ehl-field-submit { grid-column: 1 / -1; }
}
@container (max-width: 480px) {
  .ehl-search .ehl-fields { grid-template-columns: 1fr 1fr; }
  .ehl-search .ehl-fields .ehl-field, .ehl-search .ehl-fields .ehl-field:nth-child(2), .ehl-search .ehl-fields .ehl-field:nth-child(3) { grid-column: auto; }
  .ehl-search .ehl-fields .ehl-field-area, .ehl-search .ehl-fields .ehl-field-submit { grid-column: 1 / -1; }
}
.ehl-sort { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 600; color: var(--ehl-sub); }
.ehl-sort select { min-height: 44px; padding: 0 10px; border: 1px solid var(--ehl-line); border-radius: 8px; background: #FFFFFF; font-size: 14px; color: #1A1D23; }
