/* 泊まれる施設マップ（[areano_stays]）
   既存の用途ページ（areano-lp）と同じモノトーン。色は黒・グレー・白だけで、地図のピンも黒 */
.areano-stays {
  --stays-ink: #1a1a1a;
  --stays-sub: #5c5959;
  --stays-line: #dcdcdc;
  --stays-bg: #f5f5f5;
  --stays-radius: 4px;
  color: var(--stays-ink);
}

/* 数字（施設数など） */
.areano-stays__stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}
.areano-stays__stats li {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0;
}
.areano-stays__num {
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.areano-stays__unit {
  font-size: 14px;
  color: var(--stays-sub);
}

/* 地域の絞り込み */
.areano-stays__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 20px;
}
.areano-stays__filters[hidden] { display: none; }
.areano-stays__chip {
  appearance: none;
  border: 1px solid var(--stays-ink);
  background: #fff;
  color: var(--stays-ink);
  border-radius: 999px;
  padding: 7px 18px;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.areano-stays__chip:hover { background: var(--stays-bg); }
.areano-stays__chip[aria-pressed="true"] {
  background: var(--stays-ink);
  color: #fff;
}
.areano-stays__chip:focus-visible,
.areano-stays__locate:focus-visible,
.areano-stays__card:focus-visible {
  outline: 2px solid var(--stays-ink);
  outline-offset: 2px;
}

/* 地図 */
.areano-stays__mapwrap { margin: 0 0 48px; }
.areano-stays__mapwrap[hidden] { display: none; }
.areano-stays__map {
  height: 520px;
  border: 1px solid var(--stays-line);
  border-radius: var(--stays-radius);
  background: #eef0f1;
  z-index: 0; /* 固定ヘッダーより下に置く */
}
.areano-stays__mapnote {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--stays-sub);
}

/* ピン（番号入りの黒丸。地域連携プロジェクトは白抜き） */
.areano-stays-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  background: var(--stays-ink, #1a1a1a);
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .35);
}
.areano-stays-pin span {
  transform: rotate(45deg);
  color: #fff;
  font: 700 12px/1 "Noto Sans JP", sans-serif;
}
.areano-stays-pin.is-project {
  background: #fff;
  border-color: #1a1a1a;
}
.areano-stays-pin.is-project span { color: #1a1a1a; }
.areano-stays-pin.is-active {
  box-shadow: 0 0 0 4px rgba(26, 26, 26, .25), 0 2px 6px rgba(0, 0, 0, .35);
}

/* ポップアップ */
.areano-stays .leaflet-popup-content-wrapper { border-radius: var(--stays-radius); }
.areano-stays .leaflet-popup-content { margin: 0; width: 240px !important; }
.areano-stays-pop img {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: var(--stays-radius) var(--stays-radius) 0 0;
}
.areano-stays-pop__body { padding: 10px 14px 12px; }
.areano-stays-pop__place { margin: 0; font-size: 11px; color: var(--stays-sub, #5c5959); }
.areano-stays-pop__name { margin: 2px 0 8px; font-size: 15px; font-weight: 700; line-height: 1.4; }
.areano-stays-pop__links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.areano-stays-pop a { font-size: 13px; color: #1a1a1a; text-decoration: underline; text-underline-offset: .2em; }

/* 一覧 */
.areano-stays__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.areano-stays__item {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.areano-stays__item[hidden] { display: none; }
.areano-stays__card {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: inherit;
  text-decoration: none;
}
.areano-stays__photo {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--stays-radius);
  background: var(--stays-bg);
}
.areano-stays__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.areano-stays__card:hover .areano-stays__photo img { transform: scale(1.04); }
.areano-stays__no {
  position: absolute;
  top: 10px;
  left: 10px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--stays-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.areano-stays__badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 3px 10px;
  background: #fff;
  color: var(--stays-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  border-radius: 2px;
}
.areano-stays__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 2px 0;
  flex: 1;
}
.areano-stays__place { font-size: 12px; color: var(--stays-sub); }
.areano-stays__name { font-size: 18px; font-weight: 700; line-height: 1.45; }
.areano-stays__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.areano-stays__tags span {
  padding: 2px 8px;
  border: 1px solid var(--stays-line);
  border-radius: 2px;
  font-size: 11px;
  color: var(--stays-sub);
}
.areano-stays__role { font-size: 13px; line-height: 1.6; }
.areano-stays__cabin { font-size: 12px; line-height: 1.6; color: var(--stays-sub); }
.areano-stays__more {
  margin-top: auto;
  padding-top: 4px;
  font-size: 13px;
  font-weight: 700;
}
.areano-stays__more::after { content: " →"; }
.areano-stays__extra {
  margin-top: 8px;
  font-size: 13px;
  color: var(--stays-ink);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.areano-stays__actions {
  display: flex;
  flex-wrap: wrap; /* 狭い画面では、リンクの途中ではなくリンク単位で折り返す */
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--stays-line);
}
.areano-stays__site {
  white-space: nowrap;
  font-size: 13px;
  color: var(--stays-ink);
  text-decoration: underline;
  text-underline-offset: .2em;
}
a.areano-stays__site::after { content: " ↗"; }
.areano-stays__site.is-none { color: var(--stays-sub); text-decoration: none; font-size: 12px; }
.areano-stays__locate {
  flex-shrink: 0;
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 12px;
  color: var(--stays-sub);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.areano-stays__locate[hidden] { display: none; }
/* カードの Google マップへのリンク（公式サイトのリンクと同じ扱い） */
.areano-stays__gmap {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 13px;
  color: var(--stays-ink);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.areano-stays__gmap::after { content: " ↗"; }
.areano-stays__gmap:focus-visible {
  outline: 2px solid var(--stays-ink);
  outline-offset: 2px;
}
.areano-stays__notice {
  margin: 32px 0 0;
  font-size: 13px;
  color: var(--stays-sub);
  text-align: center;
}

@media (max-width: 959px) {
  .areano-stays__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .areano-stays__map { height: 440px; }
}
@media (max-width: 599px) {
  .areano-stays__stats { gap: 24px; margin-bottom: 28px; }
  .areano-stays__num { font-size: 34px; }
  .areano-stays__unit { font-size: 12px; }
  .areano-stays__stats li { flex-direction: column; align-items: center; gap: 4px; }
  .areano-stays__map { height: 380px; }
  .areano-stays__list { grid-template-columns: 1fr; gap: 28px; }
  .areano-stays__name { font-size: 17px; }
  .areano-stays__notice { text-align: left; }
}
/* スマホ：/oneshome の一覧を横長の小さいカードにして、ページを短くする（2026-09-26） */
@media (max-width: 599px) {
  .areano-lp--oneshome .areano-stays__list { gap: 0; }
  .areano-lp--oneshome .areano-stays__item { padding: 16px 0; border-top: 1px solid var(--stays-line); }
  .areano-lp--oneshome .areano-stays__item:last-child { border-bottom: 1px solid var(--stays-line); }
  .areano-lp--oneshome .areano-stays__card { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; align-items: start; }
  .areano-lp--oneshome .areano-stays__photo { aspect-ratio: 1 / 1; }
  .areano-lp--oneshome .areano-stays__no { top: 6px; left: 6px; width: 22px; height: 22px; font-size: 11px; }
  .areano-lp--oneshome .areano-stays__badge, .areano-lp--oneshome .areano-stays__tags, .areano-lp--oneshome .areano-stays__role, .areano-lp--oneshome .areano-stays__cabin { display: none; }
  .areano-lp--oneshome .areano-stays__body { padding: 0; gap: 3px; }
  .areano-lp--oneshome .areano-stays__name { font-size: 15px; }
  .areano-lp--oneshome .areano-stays__note { font-size: 11px; }
  .areano-lp--oneshome .areano-stays__more { font-size: 12px; padding-top: 2px; }
  .areano-lp--oneshome .areano-stays__extra { margin-top: 6px; font-size: 12px; }
  .areano-lp--oneshome .areano-stays__actions { margin-top: 10px; padding-top: 0; border-top: 0; justify-content: flex-start; gap: 6px 20px; }
  .areano-lp--oneshome .areano-stays__site, .areano-lp--oneshome .areano-stays__gmap { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .areano-stays__photo img { transition: none; }
  .areano-stays__card:hover .areano-stays__photo img { transform: none; }
}

/* 予約の前に知っておくこと（会員制・貸切など） */
.areano-stays__note {
  font-size: 12px;
  line-height: 1.6;
  padding: 6px 10px;
  background: var(--stays-bg);
  border-radius: 2px;
}
.areano-stays-hero__brand {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .2em;
  margin: 0 0 12px;
}
.areano-stays-lead {
  max-width: 760px;
  margin: 0 auto 40px;
  font-size: 16px;
  line-height: 1.9;
}

/* ページ本文の部品（新 Ones Home ページ用。このCSSは [areano_stays] のあるページだけで読まれる） */
.areano-stays-faq__title {
  max-width: 880px;
  margin: 72px auto 16px !important;
  font-size: 22px;
  font-weight: 700;
}
.areano-lp--oneshome .areano-guide__faq,
.areano-lp--oneshome .areano-lp__checks {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.areano-stays-scheme__en {
  margin: 0 0 4px !important;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #5c5959;
}
.areano-stays-case {
  max-width: 880px;
  margin: 48px auto 0;
  padding: 36px 40px;
  background: #fff;
}
.areano-stays-case__label {
  margin: 0 !important;
  font-size: 13px;
  color: #5c5959;
}
.areano-stays-case__title {
  margin: 4px 0 20px !important;
  font-size: 22px;
  font-weight: 700;
}
.areano-stays-case__rows { margin: 0 0 20px; }
.areano-stays-case__rows div {
  display: grid;
  grid-template-columns: 5em 1fr;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid #e5e5e5;
}
.areano-stays-case__rows div:last-child { border-bottom: 1px solid #e5e5e5; }
.areano-stays-case__rows dt { font-weight: 700; margin: 0; }
.areano-stays-case__rows dd { margin: 0; line-height: 1.8; }
.areano-stays-case__text { margin: 0 !important; line-height: 1.9; }
.areano-lp--oneshome .areano-btns {
  justify-content: center;
  margin-top: 40px;
}
@media (max-width: 959px) {
  .areano-stays-scheme.areano-lp__cards--3 { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 599px) {
  .areano-stays-case { padding: 24px 20px; }
  .areano-stays-case__rows div { grid-template-columns: 1fr; gap: 4px; }
  .areano-stays-faq__title { font-size: 19px; margin-top: 56px !important; }
  .areano-stays-lead { font-size: 15px; }
}

/* ページ全体（特設ページと同じく、パンくず・ページタイトルを隠して表紙を最上部に置く） */
.areano-stays-page .p-breadcrumb,
.areano-stays-page .c-pageTitle { display: none; }
.areano-stays-page #content.l-content { padding-top: 0; }
.areano-stays-page .post_content { margin-top: 0; }
.areano-stays-page #body_wrap { overflow-x: hidden; }

/* 表紙：/stay と同じく、写真の下から白いグラデーションを敷いて文字を下寄せ（御池の写真は木の幹が暗いので少し強め） */
.areano-lp--oneshome .areano-lp__hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(255, 255, 255, .88) 0%, rgba(255, 255, 255, .55) 30%, rgba(255, 255, 255, 0) 62%);
  pointer-events: none;
}
.areano-lp--oneshome .areano-lp__hero { align-items: flex-end; }
.areano-lp--oneshome .areano-lp__hero-body {
  margin-bottom: 44px;
  padding: 28px 36px 30px;
  background: rgba(255, 255, 255, .9);
  border-radius: 4px;
}
.areano-lp--oneshome .areano-lp__hero-sub { margin-bottom: 0; }
.areano-lp--oneshome .areano-lp__title { text-wrap: balance; }
@media (max-width: 767px) {
  .areano-lp--oneshome .areano-lp__hero-photo::after {
    background: linear-gradient(0deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .7) 40%, rgba(255, 255, 255, 0) 75%);
  }
  .areano-lp--oneshome .areano-lp__hero-body { margin: 0 16px 20px; padding: 18px 20px 20px; }
  .areano-lp--oneshome .areano-lp__title { font-size: 22px; }
}

.areano-stays-pop__note {
  margin: 0 0 8px;
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1.6;
  background: #f5f5f5;
  border-radius: 2px;
}
.areano-stays__maperror {
  margin: 8px 0 0;
  font-size: 13px;
}
.areano-stays__maperror[hidden],
.areano-stays__map[hidden] { display: none; }
.areano-stays__map:focus { outline: none; }
.areano-stays__map:focus-visible { outline: 2px solid var(--stays-ink); outline-offset: 2px; }

/* ─────────────────────────────── 導入事例ページの「この施設に泊まれます」 */
.areano-stays-casebox {
  --stays-ink: #1a1a1a;
  --stays-sub: #5c5959;
  --stays-line: #dcdcdc;
  --stays-bg: #f5f5f5;
  margin: 64px 0 0;
  padding: 32px;
  background: var(--stays-bg);
  color: var(--stays-ink);
}
/* テーマの見出し装飾（帯・線）を外す */
.post_content h2.areano-stays-casebox__title {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--stays-ink);
}
.post_content h2.areano-stays-casebox__title::before,
.post_content h2.areano-stays-casebox__title::after { content: none !important; }
.areano-stays-casebox__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
.areano-stays-casebox__info {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  grid-template-areas: "name name" "rows links" "note links" "notice notice";
  column-gap: 32px;
  align-items: start;
}
.areano-stays-casebox__name { grid-area: name; }
.areano-stays-casebox__rows { grid-area: rows; }
.areano-stays-casebox__note { grid-area: note; }
.areano-stays-casebox__links { grid-area: links; }
.areano-stays-casebox__notice { grid-area: notice; }
.post_content .areano-stays-casebox__name {
  margin: 0 0 12px !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.post_content .areano-stays-casebox__rows { margin: 0 0 12px; }
.areano-stays-casebox__rows > div { display: flex; gap: 12px; padding: 6px 0; border-top: 1px solid var(--stays-line); font-size: 14px; line-height: 1.7; }
.areano-stays-casebox__rows > div:last-child { border-bottom: 1px solid var(--stays-line); }
.post_content .areano-stays-casebox__rows dt { flex: 0 0 5em; margin: 0; font-weight: 700; color: var(--stays-sub); }
.post_content .areano-stays-casebox__rows dd { margin: 0; }
.post_content .areano-stays-casebox__note {
  margin: 0 0 12px !important;
  padding: 8px 12px;
  background: #fff;
  font-size: 13px;
  line-height: 1.7;
}
.post_content ul.areano-stays-casebox__links {
  margin: 0 0 12px !important;
  padding: 0 !important;
  list-style: none !important;
}
.post_content ul.areano-stays-casebox__links li {
  margin: 0 !important;
  padding: 4px 0 !important;
  list-style: none !important;
  font-size: 14px;
  line-height: 1.7;
}
.post_content ul.areano-stays-casebox__links li::before { content: none !important; }
.areano-stays-casebox__links a { color: var(--stays-ink); text-decoration: underline; text-underline-offset: .2em; }
.areano-stays-casebox__links a.is-ext::after { content: " ↗"; }
.areano-stays-casebox__links a:not(.is-ext)::after { content: " →"; }
.post_content .areano-stays-casebox__notice {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.7;
  color: var(--stays-sub);
}
.areano-stays-casebox__map { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #e8e8e8; }
.areano-stays-casebox__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) {
  .areano-stays-casebox { margin-top: 48px; padding: 24px 16px; }
  .areano-stays-casebox__body { gap: 20px; }
  .areano-stays-casebox__info { grid-template-columns: 1fr; grid-template-areas: "name" "rows" "note" "links" "notice"; }
  .areano-stays-casebox__map { aspect-ratio: 4 / 3; }
}

/* ─────────────────────────────── /oneshome のヒーローのボタン（2026-09-26） */
.areano-lp .areano-stays-hero__btns { justify-content: flex-end; gap: 12px; margin: 20px 0 0; }
.areano-lp .areano-stays-hero__btns .wp-block-button__link { min-width: 0; padding: 10px 20px; font-size: 14px; }
@media (max-width: 767px) {
  .areano-lp .areano-stays-hero__btns { justify-content: flex-start; }
  .areano-lp .areano-stays-hero__btns .wp-block-button { flex: 1 1 100%; }
  .areano-lp .areano-stays-hero__btns .wp-block-button__link { width: 100%; }
}
/* スマホだけの改行（キャッチの「で、」が1行に残らないように） */
.areano-stays-br-sp { display: none; }
@media (max-width: 599px) {
  .areano-stays-br-sp { display: inline; }
}
/* 冒頭の文の最後の行に1〜2文字だけ残らないように（対応ブラウザのみ） */
.areano-lp--oneshome .areano-lp__hero-sub { text-wrap: pretty; }
/* 施設一覧へのアンカー（/oneshome#stays-list）で固定ヘッダーの下に隠れないように */
#stays-list { scroll-margin-top: 90px; }
