/* 事業所トップの型（templates/place-top.php）。
   出所：KorienTopPC の <style>（PC）と KorienTopSP の <style>（900px 以下）。値は変えない。
   YawataTop・RelienTop と共通の値はそのまま。面で色が変わる所（罫・SNS の文字）は .lm-sea / .lm-paper で書き分ける。
   responsive.css の後に読むので、900px 以下の値はここでもう一度書く（後から読む PC の値に負けないように）。
   カンプとの差：.page の固定幅は responsive.css が外す。見出し下の1行の margin-top はカンプの inline style をここへ移した。 */

html, body { margin: 0; }
.wrap { padding: 0 var(--gutter-pc); }
.section { padding: var(--section-pc) var(--gutter-pc); }
.lm-heading .lm-body { margin-top: 16px; }

/* ヘッダーのロゴの高さはサイトごと（香里園 24px・八幡 20px・RE.lien 30px／SP 28px）。inc/site の header.logo_height(_sp) が渡す。
   フッターのロゴは bundle.css の 24px のまま（どのカンプも同じ） */
.lm-header .lm-logo { height: var(--logo-h, 24px); }

/* hero */
.hero { padding-bottom: var(--space-6); }
.hero__grid { display: grid; grid-template-columns: 1fr 720px; gap: var(--space-5); align-items: end; margin-top: var(--space-6); }
.hero__copy { padding-bottom: var(--space-5); }
.hero__copy .lm-beacon { margin-bottom: var(--space-4); }
.hero__sub { margin-top: var(--space-3); max-width: 36em; }
.hero .lm-photo { aspect-ratio: 9 / 7; }
.hero__room { display: none; height: 260px; }   /* SP だけ（RelienTop） */

/* grids */
.g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.side { display: grid; grid-template-columns: 320px 1fr; gap: 120px; }
.side .lm-heading { margin: 0; }
.more { margin-top: var(--space-5); text-align: right; }

/* points */
.points { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
.point h3 { margin: 0 0 var(--space-2); }
.point .lm-body { max-width: 26em; }

/* work：2×2（YawataTop） */
.work__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5) var(--space-5); }
.work__item { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-4); align-items: start; }
.work__item .lm-photo { aspect-ratio: 4 / 5; }
.work .work__item h3 { margin: 0 0 var(--space-2); }

/* work */
.work .lm-photo { aspect-ratio: 4 / 5; }
.work h3 { margin: var(--space-3) 0 var(--space-1); }
.work .lm-body { font-size: 14px; }
.work .work__line { font-size: 16px; line-height: 1.9; margin: 0 0 8px; }

/* 2点を左右に（RelienTop の暮らし） */
.life { display: grid; grid-template-columns: 520px 1fr; gap: 80px; }
.life .lm-heading { margin: 0; }
.life .lm-lead { margin-bottom: var(--space-5); }

/* 住まいカード：1枚を右に（YawataTop）／2列（RelienTop） */
.home { display: grid; grid-template-columns: 1fr 560px; gap: 120px; align-items: start; }
.home .lm-card .lm-photo, .homes .lm-card .lm-photo { aspect-ratio: 5 / 4; }
.homes { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
.homes .lm-card__name { justify-content: space-between; }
.homes .lm-card__name small { font-size: 12px; letter-spacing: .2em; color: var(--ink-muted); }
.homes .home__line { margin: 0 0 var(--space-1); font-size: 16px; line-height: 1.9; font-weight: 300; letter-spacing: .06em; }
.lm-facts { display: grid; grid-template-columns: 96px 1fr; margin: var(--space-2) 0 var(--space-3); border-top: 1px solid var(--rule); font-size: 14px; line-height: 1.9; letter-spacing: .06em; }
.lm-facts dt, .lm-facts dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.lm-facts dt { color: var(--ink-muted); letter-spacing: .12em; font-size: 13px; }

/* people */
.people__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-5); margin-top: var(--space-4); }
.people .lm-photo { aspect-ratio: 4 / 5; }
.people .lm-caption { display: block; margin: var(--space-2) 0 var(--space-1); }
.people .work__line { font-size: 16px; line-height: 1.9; margin: 0 0 8px; }
.people .lm-body { font-size: 14px; }
.people__text { display: grid; grid-template-columns: 400px 1fr; gap: 120px; }
.people--wide .people__text { grid-template-columns: 460px 1fr; gap: 100px; }   /* YawataTop（見出し13字が折れない幅） */
.people__text .lm-lead { max-width: none; }
.people__open { margin: 0 0 var(--space-3); font-size: 20px; line-height: 1.7; font-weight: 300; letter-spacing: .08em; }
.people__list { list-style: none; margin: 0 0 var(--space-3); padding: 0; }
.people__list li { font-size: 16px; line-height: 1.8; font-weight: 300; letter-spacing: .06em; padding: 6px 0; border-top: 1px solid var(--rule); }
.people__list li:last-child { border-bottom: 1px solid var(--rule); }
.lm-sea .people__list li { border-color: var(--rule-sea); }   /* YawataTop（人の段が sea） */
.people__lead .lm-body { margin-bottom: var(--space-3); max-width: 40em; font-size: 14px; line-height: 1.9; }
.people__close { margin: 0; font-size: 16px; line-height: 1.8; font-weight: 400; letter-spacing: .08em; }

/* contact */
.contact__grid { display: grid; grid-template-columns: 1fr 360px; gap: 120px; align-items: start; }
.contact__line { padding-top: var(--space-2); }
.contact__line h3 { margin: 0 0 var(--space-2); }
.contact__line .lm-body { margin-bottom: var(--space-4); }

/* footer */
.footer { padding: var(--space-6) var(--gutter-pc) var(--space-5); }
.footer__row { display: flex; justify-content: space-between; align-items: baseline; }
.footer__sns { display: flex; gap: var(--space-4); margin: 0; padding: 0; list-style: none; font-size: 12px; letter-spacing: .14em; }
.footer__sns a { color: var(--on-sea-muted); text-decoration: none; }
.footer__bottom { margin-top: var(--space-6); padding-top: var(--space-3); border-top: 1px solid var(--rule-sea); }
.lm-paper .footer__sns a { color: var(--ink-muted); }          /* YawataTop（フッターが paper） */
.lm-paper .footer__bottom { border-top-color: var(--rule); }

/* 901〜1200px：固定幅の列を幅に合わせて縮める（段の順番と文言は変えない。design/README.md「PC と SP のちがい」） */
@media (min-width: 901px) and (max-width: 1200px) {
  .hero__grid { grid-template-columns: max-content minmax(0, 1fr); }   /* 文面の列は中身の幅（見出しを PC の改行のまま保つ）、残りを写真に */
  .side { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: var(--space-5); }
  .people__text, .people--wide .people__text { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: var(--space-5); }
  .life { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-5); }
  .home { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-5); }
  .work__item { grid-template-columns: minmax(0, 160px) minmax(0, 1fr); gap: var(--space-3); }
  .contact__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: var(--space-5); }
  .g3, .people__grid { gap: var(--space-4); }
}

/* ---- 900px 以下：KorienTopSP ---- */
@media (max-width: 900px) {
  .wrap { padding: 0 var(--gutter-sp); }
  .section { padding: var(--space-6) var(--gutter-sp); }
  .lm-heading { margin-bottom: var(--space-5); }   /* SP カンプは bundle.css の space-5 のまま（responsive.css の space-4 ではない） */
  .lm-heading .lm-body { margin-top: 12px; font-size: 14px; }

  .hero { padding-bottom: var(--space-5); }
  .hero__grid { display: block; margin-top: 0; }
  .hero__copy { padding: var(--space-5) 0 var(--space-4); }
  .hero__copy .lm-beacon { margin-bottom: var(--space-3); }
  .hero__sub { margin-top: var(--space-2); font-size: 14px; }
  .hero__room { display: block; }
  .lm-header .lm-logo { height: var(--logo-h-sp, var(--logo-h, 24px)); }

  .g3, .people__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .side, .contact__grid { display: block; }
  .side .lm-heading { margin: 0 0 var(--space-5); }
  .more { margin-top: var(--space-4); }

  .points { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .point h3 { font-size: 18px; line-height: 1.8; font-weight: 400; letter-spacing: .08em; }
  .point .lm-body { font-size: 14px; }

  .work h3, .work .work__item h3, .home h3 { margin: var(--space-3) 0 var(--space-1); font-size: 18px; line-height: 1.8; font-weight: 400; letter-spacing: .08em; }
  .work__grid, .homes { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .work__item, .home, .life { display: block; }
  .life .lm-heading { margin: 0 0 var(--space-5); }
  .home .lm-card { display: block; margin-top: var(--space-5); }
  .lm-facts { grid-template-columns: 72px 1fr; }
  .work .work__line, .people .work__line { line-height: 2.1; letter-spacing: .04em; }   /* SP カンプは lead-sp */

  .people__text { display: block; }
  .people__lead { margin-top: var(--space-5); }
  .people__text > .lm-heading { margin-bottom: 0; }
  .people__open { font-size: 18px; line-height: 1.8; letter-spacing: .06em; }
  .people__list li { font-size: 15px; line-height: 1.9; letter-spacing: .04em; padding: 8px 0; }
  .people__lead .lm-body { max-width: none; }
  .people__close { font-size: 15px; line-height: 1.9; letter-spacing: .06em; }
  .people__grid { margin-top: var(--space-5); }

  .contact__line { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--rule); }
  .lm-sea .contact__line { border-top-color: var(--rule-sea); }   /* YawataTop（問い合わせが sea） */
  .contact__line .lm-body { margin-bottom: var(--space-3); font-size: 14px; }

  .footer { padding: var(--space-5) var(--gutter-sp) var(--space-4); }
  .footer__row:not(.footer__bottom) { display: block; }   /* 先頭の子は情景の canvas なので :first-child は使えない */
  .footer .lm-nav { flex-direction: column; gap: var(--space-2); margin-top: var(--space-4); }
  .footer__bottom { display: grid; gap: var(--space-2); margin-top: var(--space-5); }
  .footer__sns { gap: var(--space-3); }
}
