/* グループホーム ラ・フォート 固有スタイル */

/* ---------- 理念・方針（チェックリスト） ---------- */
.gh-rinen-list{display:flex;flex-direction:column;gap:12px;}
.gh-rinen-list div{background:#fff;border:1px solid var(--pt-line);padding:16px 18px;font-size:15.5px;font-weight:700;color:var(--pt-accent);}
.gh-rinen-list i{margin-right:8px;color:var(--pt-orange);}

/* ---------- 1日の生活（縦タイムライン） ---------- */
.gh-tl{
  position:relative;
  max-width:640px;
  margin:0 auto;
}
.gh-tl::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  background:var(--pt-line);
  transform:translateX(-50%);
}
.gh-tl-row{
  display:grid;
  grid-template-columns:1fr 46px 1fr;
  align-items:center;
}
.gh-tl-row .side{padding:14px 22px;display:flex;align-items:baseline;gap:12px;}
.gh-tl-row .side.right{text-align:left;}
.gh-tl-row .side.left{text-align:right;justify-content:flex-end;}
.gh-tl-row .time{
  font-family:"Oswald",sans-serif;
  font-size:18px;
  color:var(--pt-orange);
  font-weight:600;
  flex:none;
}
.gh-tl-row .event{font-size:15.5px;font-weight:700;color:var(--pt-ink);}
.gh-tl-dot{position:relative;display:flex;align-items:center;justify-content:center;}
.gh-tl-dot span{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--pt-orange);
  border:3px solid #fff;
  box-shadow:0 0 0 1px var(--pt-line);
  position:relative;
  z-index:2;
}
.gh-tl-row .empty{visibility:hidden;}

@media(max-width:600px){
  .gh-tl-row{grid-template-columns:1fr 34px 1fr;}
  .gh-tl-row .side{padding:12px 10px;}
  .gh-tl-row .time{font-size:14px;}
  .gh-tl-row .event{font-size:14.5px;}
}
/* 480px以下：左右交互の2カラムだと1カラムあたりの幅が狭くテキストが縦長に
   なって読みにくいため、ドット＋1カラムの単純な左寄せリストに切り替える */
@media(max-width:480px){
  .gh-tl::before{left:14px;}
  .gh-tl-row{display:flex;align-items:flex-start;gap:10px;}
  .gh-tl-dot{order:-1;flex:none;width:28px;}
  .gh-tl-row .side{flex:1;padding:10px 0;}
  .gh-tl-row .side.left,
  .gh-tl-row .side.right{text-align:left;justify-content:flex-start;}
  .gh-tl-row .side.empty{display:none;}
}
