/* サービス付き高齢者向け住宅／グループホーム 個別施設ページ 固有スタイル */

/* ---------- 施設長からのご挨拶（写真＋本文） ---------- */
.lf-greeting{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:center;}
.lf-greeting .photo{border-radius:4px;overflow:hidden;aspect-ratio:4/3;}
.lf-greeting .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.lf-greeting-lead{font-size:20px;font-weight:700;color:var(--pt-teal);margin-bottom:14px;}
.lf-greeting p{font-size:15.5px;color:#555;line-height:1.9;margin-bottom:10px;}
.lf-greeting p:last-child{margin-bottom:0;}
@media(max-width:700px){
  .lf-greeting{grid-template-columns:1fr;}
}

/* ---------- ご入居対象者 ---------- */
.lf-target{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:start;}
.lf-target-lead{text-align:center;font-size:18px;font-weight:700;color:var(--pt-accent);margin-bottom:26px;}
.lf-target .photo{border-radius:4px;overflow:hidden;aspect-ratio:4/3;}
.lf-target .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.lf-target-note{font-size:14px;color:var(--pt-accent);margin-top:10px;}
@media(max-width:700px){
  .lf-target{grid-template-columns:1fr;}
}

/* ---------- ご入居対象者（lafort.htmlと同じカード形式） ---------- */
.lf-case{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:820px;margin:0 auto;}
.lf-case-item{background:#fff;border:1px solid var(--pt-line);padding:24px 26px;}
.lf-case-item h4{font-size:16.5px;font-weight:700;color:var(--pt-ink);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.lf-case-item h4 i{color:var(--pt-orange);}
.lf-case-item p{font-size:14.5px;color:#666;line-height:1.85;}
@media(max-width:700px){
  .lf-case{grid-template-columns:1fr;}
}
.pt-bleed-row .lf-target-lead{text-align:left;}
.pt-bleed-row .lf-case{max-width:none;margin:0;}

/* ---------- おすすめポイント（写真＋本文） ---------- */
/* おすすめポイント（画像を大きく全体表示するカードグリッド／l_koyodai.html専用） */
.lf-point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px;align-items:stretch;}
.lf-point-grid--2{grid-template-columns:1fr 1fr;max-width:780px;margin-left:auto;margin-right:auto;}
.lf-point-row{background:#fff;border:1px solid var(--pt-line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;}
.lf-point-row .photo{background:var(--pt-paper);display:flex;align-items:center;justify-content:center;padding:22px;height:300px;flex:none;}
.lf-point-row .photo img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;}
.lf-point-row .body{padding:22px 22px;flex:1;}
.lf-point-row h4{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--pt-ink);margin-bottom:6px;}
.lf-point-row h4 i{color:var(--pt-orange);font-size:14px;}
.lf-point-row .sub{font-size:14.5px;font-weight:700;color:var(--pt-orange);margin-bottom:8px;}
.lf-point-row p{font-size:15.5px;color:#666;line-height:1.85;margin-bottom:6px;}
@media(max-width:900px){
  .lf-point-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .lf-point-grid{grid-template-columns:1fr;}
}

/* おすすめポイント（写真なし・カード） */
.lf-point-card{background:#fff;border:1px solid var(--pt-line);padding:26px 28px;margin-bottom:18px;}
.lf-point-card:last-child{margin-bottom:0;}
.lf-point-card h4{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--pt-ink);margin-bottom:8px;}
.lf-point-card h4 i{color:var(--pt-orange);font-size:14px;}
.lf-point-card .sub{font-size:14.5px;font-weight:700;color:var(--pt-teal);margin-bottom:8px;}
.lf-point-card p{font-size:15.5px;color:#666;line-height:1.85;}
.lf-point-grid + .lf-point-card .sub{color:var(--pt-orange);}

/* 24時間常駐カード：見出しの強弱をつけた専用レイアウト */
.lf-point-card .lead{font-size:20px;font-weight:700;color:var(--pt-ink);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--pt-line);}
.lf-point-card .cost-flex{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
@media(max-width:760px){
  .lf-point-card .cost-flex{grid-template-columns:1fr;}
}
.lf-point-card .section-title{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.05em;color:#fff;background:var(--pt-orange);padding:5px 16px;border-radius:14px;margin:22px 0 12px;}
.lf-point-card .section-title:first-of-type{margin-top:0;}
.lf-point-card .note-block{background:var(--pt-paper);border-left:3px solid var(--pt-orange);padding:16px 18px;margin-top:10px;}
.lf-point-card .note-block strong{display:block;font-size:14.5px;font-weight:700;color:var(--pt-ink);margin-bottom:6px;}
.lf-point-card .note-block p{font-size:14px;color:#666;line-height:1.8;margin:0 0 10px;}
.lf-point-card .note-block p:last-child{margin-bottom:0;}
.lf-point-card .lf-cost-table tbody tr:last-child th,.lf-point-card .lf-cost-table tbody tr:last-child td{background:var(--pt-orange);color:#fff;font-size:17px;font-weight:700;border-color:var(--pt-orange);}
.lf-point-card .lf-cost-table{width:100%;max-width:none;margin:0;table-layout:fixed;}
.lf-point-card .lf-cost-table th{width:20%;}
.lf-point-card .lf-cost-table td{width:80%;text-align:center;}

/* ---------- 医療サービス対応リスト ---------- */
.lf-sicklist{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px 18px;
  margin:0 0 18px;
  padding:0;
  max-width:1040px;
}
.lf-sicklist li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--pt-line);border-radius:6px;padding:13px 16px;font-size:15px;font-weight:600;color:#444;line-height:1.5;}
.lf-sicklist li .chk{flex:none;width:22px;height:22px;border-radius:50%;background:var(--pt-accent);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;}
@media(max-width:760px){ .lf-sicklist{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .lf-sicklist{grid-template-columns:1fr;} }

/* ---------- 参考費用テーブル ---------- */
.lf-cost-table{width:100%;max-width:1000px;margin:0 auto;border-collapse:collapse;}
.lf-cost-table th,.lf-cost-table td{border:1px solid var(--pt-line);padding:12px 16px;font-size:15px;text-align:center;}
.lf-cost-table thead th{background:var(--pt-paper);color:var(--pt-accent);font-weight:700;}
.lf-cost-table tbody th{background:var(--pt-paper);color:var(--pt-ink);font-weight:700;width:110px;}
.lf-cost-table-note{font-size:14px;color:#666;margin-top:12px;}
/* 要介護度別の一覧表（列数が多い .lf-cost-table--range）：
   文字を縮めすぎると見出しが折り返して読みにくいため、
   スマホでは文字サイズを保ったまま横スクロールできるようにする */
.lf-cost-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
/* table-layout:auto のままだと rowspan と長い見出しの組み合わせで
   行の高さが異常に大きく計算されるブラウザ挙動があるため、
   table-layout:fixed で列幅を明示し高さを安定させる */
.lf-cost-table-scroll .lf-cost-table--range{table-layout:fixed;min-width:540px;}
.lf-cost-table--range thead th:nth-child(1){width:90px;}
.lf-cost-table--range thead th:nth-child(2){width:130px;}
.lf-cost-table--range thead th:nth-child(3){width:190px;}
.lf-cost-table--range thead th:nth-child(4){width:130px;}
.lf-cost-table--range tbody th{white-space:nowrap;}
.lf-cost-table--range th,.lf-cost-table--range td{padding:6px 12px;line-height:1.2;}
/* .lf-point-card内のシンプルな2列料金表：固定20%/80%だとラベルが折り返して
   見にくくなるため、スマホでは列幅をラベルの長さに合わせて自動調整する */
@media(max-width:600px){
  .lf-point-card .lf-cost-table{table-layout:auto;}
  .lf-point-card .lf-cost-table th{width:auto;white-space:nowrap;padding:10px 12px;font-size:14px;}
  .lf-point-card .lf-cost-table td{width:auto;padding:10px 12px;font-size:14px;}
  .lf-point-card .lf-cost-table tbody tr:last-child th,
  .lf-point-card .lf-cost-table tbody tr:last-child td{font-size:15px;}
}

/* 参考費用テーブル（要介護度別の一覧表）：見やすさ強化バリエーション */
.lf-cost-table--range{border-collapse:separate;border-spacing:0;border:1px solid var(--pt-line);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.lf-cost-table--range th,.lf-cost-table--range td{border:none;border-bottom:1px solid var(--pt-line);border-right:1px solid var(--pt-line);}
.lf-cost-table--range th:last-child,.lf-cost-table--range td:last-child{border-right:none;}
.lf-cost-table--range tbody tr:last-child th,.lf-cost-table--range tbody tr:last-child td{border-bottom:none;}
.lf-cost-table--range thead th{background:var(--pt-orange);color:#fff;font-weight:700;}
.lf-cost-table--range tbody tr:nth-child(even){background:var(--pt-paper);}
/* .sub-band（グレー背景）に置かれた場合、表の地色・枠線がセクション背景と
   同系色で見分けづらくなるため、白地＋濃い枠線に切り替えて視認性を確保する */
.sub-band .lf-cost-table--range{background:#fff;border-color:#d8d2c6;}
.sub-band .lf-cost-table--range th,.sub-band .lf-cost-table--range td{border-color:#d8d2c6;}
/* 「合計」列：地の色に薄いオレンジ文字だとコントラストが弱く見えにくいため、
   オレンジ地に白文字の塗りつぶしにして視認性を高める */
.lf-cost-table--range tbody td:last-child{font-weight:700;font-size:16.5px;background:var(--pt-orange);color:#fff;border-bottom-color:rgba(255,255,255,.35);}

/* ---------- 抜群のロケーションと自由な暮らし（アイコン付き3カード） ---------- */
.location-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto 32px;}
.location-feature{background:#fff;border:1px solid var(--pt-line);border-radius:4px;padding:28px 24px;text-align:center;}
.location-feature .icon{width:56px;height:56px;border-radius:50%;background:var(--pt-paper);color:var(--pt-orange);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px;}
.location-feature h3{font-size:17px;font-weight:700;color:var(--pt-ink);margin-bottom:10px;}
.location-feature p{font-size:14.5px;color:#666;line-height:1.8;text-align:left;}
@media(max-width:860px){
  .location-features{grid-template-columns:1fr;}
}

/* 周辺環境写真：5枚横並び */
.td-rec-photos--5col{grid-template-columns:repeat(5,1fr);}
@media(max-width:900px){ .td-rec-photos--5col{grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){ .td-rec-photos--5col{grid-template-columns:repeat(2,1fr);} }

/* ---------- 季節・立地の魅力フィーチャーノート ---------- */
.lf-season-note{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--pt-line);border-radius:6px;padding:38px 40px 34px;}
.lf-season-note .icon{width:56px;height:56px;border-radius:50%;background:var(--pt-paper);color:var(--pt-orange);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 18px;}
.lf-season-note h3{font-size:19px;font-weight:700;color:var(--pt-ink);margin-bottom:14px;letter-spacing:.02em;}
.lf-season-note p{font-size:15px;color:#666;line-height:1.9;margin:0;}
@media(max-width:600px){
  .lf-season-note{padding:30px 24px 26px;}
}

/* ---------- ご入居申し込み ---------- */
.lf-apply{text-align:center;}
.lf-apply p{font-size:15.5px;color:#555;margin-bottom:10px;}

/* ---------- 職場体験会（PDF案内） ---------- */
.lf-event-box{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--pt-line);border-radius:8px;padding:36px 40px;}
.lf-event-box .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--pt-orange);background:var(--pt-paper);padding:5px 16px;border-radius:14px;margin-bottom:16px;}
.lf-event-box h3{font-size:19px;font-weight:700;color:var(--pt-ink);margin-bottom:12px;}
.lf-event-box p{font-size:14.5px;color:#666;line-height:1.8;margin-bottom:24px;}
.lf-pdf-btn{display:inline-flex;align-items:center;gap:10px;background:var(--pt-orange);color:#fff;font-size:15px;font-weight:700;padding:14px 34px;border-radius:28px;transition:opacity .2s ease,transform .2s ease;}
.lf-pdf-btn:hover{opacity:.85;color:#fff;transform:translateY(-2px);}
.lf-pdf-btn i{font-size:16px;}
@media(max-width:600px){
  .lf-event-box{padding:28px 22px;}
}
