/* ==========================================================================
   在宅診療所いろり ── 対応エリア
   フル版（/area/）とダイジェスト版（/zaitaku/・トップ）で共用
   ========================================================================== */

.irori-area {
	--ia-ink: #33302a;
	--ia-sub: #6f6a5f;
	--ia-line: #e0dbcf;
	--ia-paper: #faf8f3;
	--ia-area: #d97b1e;
	--ia-accent: #b8541f;
	color: var(--ia-ink);
	line-height: 1.85;
}
.irori-area * { box-sizing: border-box; }

/* --- 地図 ---------------------------------------------------------------- */
.ia-mapwrap {
	position: relative;
	border: 1px solid var(--ia-line);
	border-radius: 12px;
	overflow: hidden;
	background: #f5f5ee;
}
.ia-map { width: 100%; aspect-ratio: 1 / 1; background: #f5f5ee; }
@media (min-width: 700px) { .ia-map { aspect-ratio: 16 / 11; } }

.ia-gate {
	position: absolute; inset: 0; z-index: 500;
	display: flex; align-items: center; justify-content: center;
	background: rgba(245, 245, 238, .3); cursor: pointer;
}
.ia-gate span {
	background: rgba(51, 48, 42, .85); color: #fff;
	font-size: 13px; font-weight: 700; padding: 9px 18px; border-radius: 999px;
}

.ia-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 14px 0 2px; font-size: 13.5px; }
.ia-legend b { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.ia-sw {
	width: 26px; height: 14px; flex: 0 0 26px; border-radius: 3px;
	background: rgba(255, 183, 77, .3); border: 2px dashed #d97b1e;
}
.ia-sw.pin {
	width: 14px; height: 14px; flex: 0 0 14px; border-radius: 50%;
	background: var(--ia-accent); border: 2.5px solid #fff; box-shadow: 0 0 0 1px var(--ia-accent);
}

/* --- 地域一覧（アコーディオン） ------------------------------------------ */
.ia-list { margin-top: 26px; }
.ia-list > h2,
.ia-list > h3 {
	margin: 0 0 12px; font-size: 15.5px; font-weight: 700; letter-spacing: .02em;
	padding-left: 11px; border-left: 4px solid var(--ia-area);
}
.ia-list > h2 small,
.ia-list > h3 small {
	display: block; font-size: 12px; font-weight: 500; color: var(--ia-sub);
	letter-spacing: 0; padding-top: 2px;
}
/* 見出しから分離したサブタイトル（旧 .ia-list h2 > small を移植・位置を維持） */
.ia-list > .irori-section-note {
	margin: -10px 0 12px; padding-left: 15px;
	font-size: 12px; font-weight: 500; color: var(--ia-sub);
	letter-spacing: 0; line-height: 1.6;
}

.ia-city {
	border: 1px solid var(--ia-line); border-radius: 10px;
	margin-bottom: 10px; background: #fff; overflow: hidden;
}
.ia-city > summary {
	list-style: none; cursor: pointer; padding: 12px 16px;
	font-size: 14.5px; font-weight: 700; background: var(--ia-paper);
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.ia-city > summary::-webkit-details-marker { display: none; }
.ia-city > summary .ia-cnt { font-size: 11.5px; font-weight: 500; color: var(--ia-sub); margin-left: auto; }
.ia-city > summary::after { content: "＋"; font-size: 13px; color: var(--ia-sub); flex: 0 0 auto; }
.ia-city[open] > summary::after { content: "−"; }
.ia-city > summary:focus-visible { outline: 2px solid var(--ia-area); outline-offset: -2px; }

.ia-body { padding: 4px 16px 14px; }
.ia-grp { padding: 9px 0; border-top: 1px dashed var(--ia-line); margin: 0; }
.ia-grp:first-child { border-top: none; }
.ia-grp dt { font-size: 12px; font-weight: 700; color: var(--ia-area); letter-spacing: .02em; }
.ia-grp dd { margin: 3px 0 0; font-size: 13px; color: #4a463e; line-height: 1.85; }

.ia-note {
	margin-top: 20px; padding: 14px 16px; background: var(--ia-paper);
	border: 1px solid var(--ia-line); border-radius: 10px;
	font-size: 12.5px; color: var(--ia-sub); line-height: 1.75;
}
.ia-note b { color: var(--ia-ink); }

/* --- ダイジェスト版（Leaflet を読み込まない軽量版） ---------------------- */
.ia-digest h2, .ia-digest h3 { margin: 0 0 6px; font-size: 17px; font-weight: 700; letter-spacing: .02em; }
.ia-digest .ia-time { font-size: 12.5px; color: var(--ia-sub); margin: 0 0 10px; }
.ia-digest ul { margin: 0 0 14px; padding: 0; list-style: none; font-size: 13.5px; }
.ia-digest li b { font-weight: 700; }

.ia-btn {
	display: inline-block; padding: 9px 20px; border-radius: 999px;
	background: var(--ia-accent); color: #fff !important; text-decoration: none;
	font-size: 13.5px; font-weight: 700;
}
.ia-btn:hover { opacity: .88; }
.ia-btn:focus-visible { outline: 2px solid var(--ia-ink); outline-offset: 2px; }

/* --- フッター1行 --------------------------------------------------------- */
.ia-footline { font-size: 12.5px; line-height: 1.7; }
.ia-footline a { text-decoration: underline; }

/* --- 地図内の描画 -------------------------------------------------------- */
.irori-area .leaflet-container { font-family: inherit; background: #f5f5ee; }
.irori-area .leaflet-popup-content { margin: 12px 14px; font-size: 13px; line-height: 1.7; }
.irori-area .leaflet-popup-content a { display: inline-block; margin-top: 6px; color: var(--ia-accent); font-weight: 700; }
.leaflet-div-icon { background: transparent !important; border: none !important; }
.ia-tile { filter: sepia(.16) hue-rotate(-10deg) contrast(.87) brightness(1.08); }

.ia-st-dot { width: 9px; height: 9px; background: #fff; border: 2.5px solid #333; border-radius: 50%; box-sizing: border-box; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.ia-st-dot.jr { border-color: #009944; background: #009944; }
.ia-st-dot.kh { border-color: #0077ff; background: #0077ff; }
.ia-sp-dot { width: 8px; height: 8px; background: #ff5722; border: 1.5px solid #fff; border-radius: 50%; box-sizing: border-box; }
.ia-sp-dot.temple { background: #795548; }
.ia-ic-dot { width: 7px; height: 7px; background: #ffeb3b; border: 1.5px solid #1a237e; border-radius: 50%; box-sizing: border-box; }

.ia-st-label { font-size: 12px; font-weight: 700; color: #444; white-space: nowrap;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff; }
.ia-st-label.jr { color: #00733a; }
.ia-st-label.kh { color: #0044bb; }
.ia-st-label.major { font-size: 13.5px; font-weight: 900; color: #2f2b26; }
.ia-sp-label { font-size: 11px; font-weight: 500; color: #4a4a42; white-space: nowrap;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff; }
.ia-ic-label { font-size: 10px; font-weight: 800; color: #1a237e; white-space: nowrap;
	text-shadow: 1.5px 1.5px 0 #fff, -1.5px -1.5px 0 #fff, 1.5px -1.5px 0 #fff, -1.5px 1.5px 0 #fff; }
.ia-road-label { font-size: 12.5px; font-weight: 900; color: #1a237e; white-space: nowrap;
	display: inline-block; padding: 1px 7px; background: rgba(255,255,255,.95);
	border-radius: 4px; border: 1.5px solid #1a237e; }
.ia-road-label.daini { color: #004d40; border-color: #004d40; }
.ia-river-label { font-size: 11px; font-weight: 700; color: #4a9fc4; white-space: nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff; }
.ia-area-label { font-size: 13px; font-weight: 900; color: #a85a10; white-space: nowrap;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff; }
.ia-cl-pin { width: 17px; height: 17px; background: #b8541f; border: 3px solid #fff;
	border-radius: 50%; box-shadow: 0 1px 6px rgba(0,0,0,.45); box-sizing: border-box; }
.ia-cl-label { font-size: 13px; font-weight: 900; color: #8f3f16; white-space: nowrap;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff; }

/* ズームが引いているときは情報量を落とす */
.ia-zfar .ia-sp-label, .ia-zfar .ia-ic-label, .ia-zfar .ia-ic-dot,
.ia-zfar .ia-st-label.minor, .ia-zfar .ia-river-label, .ia-zfar .ia-sp-dot { display: none; }
.ia-zfar .ia-st-dot { width: 7px; height: 7px; }

@media print {
	.ia-gate, .leaflet-control-container { display: none !important; }
	.ia-city > summary::after { content: ""; }
	.ia-body { display: block !important; }
}
/* ==========================================================================
   v2 追加分 ── assets/css/irori-area.css の末尾に「追記」してください
   （既存の内容は消さないこと）
   ========================================================================== */

.irori-area {
	--ia-brand: #a9552f;
	--ia-brand-d: #8a4224;
	--ia-cream: #f4efe3;
	--ia-ok: #4a7c59;
}

/* --- 共通ボタン ---------------------------------------------------------- */
.ia-btn {
	display: inline-block; padding: 10px 22px; border-radius: 999px;
	background: var(--ia-brand); color: #fff !important; text-decoration: none;
	font-size: 13.5px; font-weight: 700; border: none; cursor: pointer; font-family: inherit;
}
.ia-btn:hover { background: var(--ia-brand-d); }
.ia-btn.ghost { background: #fff; color: var(--ia-brand) !important; border: 1.5px solid var(--ia-brand); }
.ia-btn.ghost:hover { background: var(--ia-paper); }
.ia-btn:focus-visible { outline: 2px solid var(--ia-ink); outline-offset: 2px; }

/* --- 案1：住所で調べる --------------------------------------------------- */
.ia-search { border: 1px solid var(--ia-line); border-radius: 14px; overflow: hidden; background: #fff; }

.ia-s-head {
	padding: 22px 24px 18px;
	background: linear-gradient(180deg, var(--ia-cream), var(--ia-paper));
	border-bottom: 1px solid var(--ia-line);
	text-align: center;
}
.ia-s-head h2 { margin: 0 0 4px; font-size: 18px; font-weight: 700; letter-spacing: .02em; }
.ia-s-head p { margin: 0; font-size: 12.5px; color: var(--ia-sub); }

.ia-s-body { padding: 20px 24px 24px; }

.ia-s-field { display: flex; gap: 8px; }
.ia-s-input {
	flex: 1; min-width: 0; font-family: inherit; font-size: 16px; padding: 13px 15px;
	border: 1.5px solid var(--ia-line); border-radius: 9px; background: var(--ia-paper); color: var(--ia-ink);
}
.ia-s-input:focus { outline: none; border-color: var(--ia-brand); background: #fff; }
.ia-s-go {
	font-family: inherit; font-size: 14px; font-weight: 700; padding: 13px 22px;
	border: none; border-radius: 9px; background: var(--ia-brand); color: #fff;
	cursor: pointer; white-space: nowrap;
}
.ia-s-go:hover { background: var(--ia-brand-d); }
.ia-s-hint { margin: 10px 0 0; font-size: 11.5px; color: var(--ia-sub); }

.ia-s-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ia-s-chip {
	font-family: inherit; font-size: 11.5px; padding: 4px 12px; border-radius: 999px;
	cursor: pointer; border: 1px solid var(--ia-line); background: var(--ia-paper); color: var(--ia-sub);
}
.ia-s-chip:hover { border-color: var(--ia-brand); color: var(--ia-brand); }

.ia-s-result { display: none; margin-top: 18px; padding: 16px 18px; border-radius: 10px; font-size: 14px; }
.ia-s-result.is-in, .ia-s-result.is-maybe, .ia-s-result.is-out { display: block; }
.ia-s-badge { display: inline-block; font-size: 12px; font-weight: 800; padding: 2px 12px; border-radius: 999px; margin-bottom: 7px; }
.ia-s-result.is-in { background: #f0f5f0; border: 1px solid #cfe0d3; }
.ia-s-result.is-in .ia-s-badge { background: var(--ia-ok); color: #fff; }
.ia-s-result.is-maybe { background: #fdf6ec; border: 1px solid #ecdcc0; }
.ia-s-result.is-maybe .ia-s-badge { background: var(--ia-area); color: #fff; }
.ia-s-result.is-out { background: var(--ia-paper); border: 1px solid var(--ia-line); }
.ia-s-result.is-out .ia-s-badge { background: var(--ia-sub); color: #fff; }
.ia-s-main { margin: 0; line-height: 1.8; }
.ia-s-sub { margin: 6px 0 0; font-size: 12.5px; color: var(--ia-sub); line-height: 1.8; }
.ia-s-foot { margin: 16px 0 0; font-size: 12.5px; }
.ia-s-foot a { color: var(--ia-brand); font-weight: 700; }

/* --- 案5：1行バナー ------------------------------------------------------ */
.ia-banner {
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	padding: 18px 22px; border-radius: 12px; background: var(--ia-cream); border: 1px solid #e6dcc6;
}
.ia-b-ico { flex: 0 0 auto; }
.ia-b-txt { flex: 1; min-width: 200px; }
.ia-b-txt b { display: block; font-size: 14.5px; font-weight: 700; }
.ia-b-txt span { font-size: 12.5px; color: var(--ia-sub); }

/* --- 案4：ダイジェスト（既存 .ia-digest を置き換える指定） --------------- */
/* HOME のダイジェストのみ、他セクションと同じ縦リズム(60px)を持たせる */
.irori-area--digest { padding: 60px 0; }
.ia-digest { padding: 0; border-radius: 14px; overflow: hidden; background: #fff; border: 1px solid var(--ia-line); }
@media (min-width: 720px) { .ia-digest { display: grid; grid-template-columns: 300px 1fr; gap: 0; align-items: stretch; } }

.ia-d-map { background: #f2efe6; min-height: 220px; }
.ia-d-map svg { display: block; width: 100%; height: 100%; }

.ia-d-body { padding: 24px; }
.ia-d-body h2 { margin: 0 0 4px; font-size: 18px; font-weight: 700; letter-spacing: .02em; }
.ia-d-lead { margin: 0 0 16px; font-size: 12.5px; color: var(--ia-sub); }

.ia-d-list { margin: 0 0 18px; padding: 0; list-style: none; font-size: 13.5px; }
.ia-d-list li { padding: 6px 0; border-bottom: 1px dashed var(--ia-line); display: flex; gap: 12px; }
.ia-d-list li:last-child { border-bottom: none; }
.ia-d-list b { flex: 0 0 76px; font-weight: 700; }
.ia-d-list span { color: #4a463e; }

/* ============================================
   /area/ ページ コンテナ
   サイト共通の .irori-inner (1000px / padding 0 20px) に揃える
   ============================================ */
.page-area .page-head,
.page-area .irori-area,
.page-area .area-cta {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
/* ページヘッダー */
.page-area .page-head {
  margin-top: 40px;
  margin-bottom: 32px;
}
.page-area .page-head h1 {
  margin: 0 0 12px;
}
.page-area .page-head .lead {
  margin: 0;
  line-height: 1.9;
}
/* エリアのご相談 */
.page-area .area-cta {
  margin-top: 56px;
  margin-bottom: 72px;
}
.page-area .area-cta h2 {
  margin: 0 0 16px;
}
.page-area .area-cta p {
  margin: 0 0 12px;
  line-height: 1.9;
}
.page-area .area-cta p.tel {
  margin-bottom: 0;
}
/* スマホ */
@media (max-width: 768px) {
  .page-area .page-head,
  .page-area .irori-area,
  .page-area .area-cta {
    padding-left: 16px;
    padding-right: 16px;
  }
  .page-area .page-head {
    margin-top: 28px;
    margin-bottom: 24px;
  }
  .page-area .area-cta {
    margin-top: 40px;
    margin-bottom: 48px;
  }
}

/* 駅ラベルを基準点の左側へ配置する修飾子（富雄／診療所ラベルとの重なり回避） */
.ia-st-label.is-left {
  display: inline-block;   /* iconSize[0,0] で幅0になり translateX が効かなくなるのを防ぐ */
  white-space: nowrap;
  transform: translateX(-100%);
}
