/* school.css — 校舎案内 固有 */
.school-name { text-align: center; font-size: clamp(1.5rem, 4vw, 2rem); letter-spacing: .1em; margin-bottom: 40px; }
.photo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 100px); }   /* 設計: 写真510・列間gap≈119(帯の約10%) */
.photo-grid img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }

/* 設計実測: 本文は上端揃え・左(幅≈510)、写真は右(≈371px,portrait 0.78)。緑装飾は写真より右+116/上-40で背後にはみ出す。
   緑=397×492(写真378×482比 +19w/+10h≒105%×102%)、下端は写真より約30px上(=写真が下へはみ出す) */
.school-coffee.split { align-items: flex-start; gap: clamp(40px, 6vw, 96px); }
.school-coffee .split__media { flex: 0 0 371px; }
.school-coffee .bg-decoration { background: var(--green); width: 105%; height: 102%; top: -40px; right: -133px; }
.intro-text { font-size: .95rem; line-height: 1.95; max-width: 520px; }
.intro-text p + p { margin-top: 1.4em; }   /* 設計: カフェ紹介は3段落 */

/* 情報カード: 既定(=SP)は縦積み 住所→地図→営業時間。PCは2カラムグリッド(左に住所/営業時間、右に地図) */
.info-card { border: 1px solid var(--line); padding: 48px; }   /* 設計PC: 地図右インセット≈47 */
.info-card .info-body { display: flex; flex-direction: column; }
.info-card dl { margin: 0; }
.info-card dt { font-weight: 600; margin-top: 20px; }
.info-card dt:first-child { margin-top: 0; }
.info-card dd { margin: 6px 0 0; color: #333; }
.info-card .map { background: var(--line); border: 1px solid #fff; min-height: 180px; border-radius: 27px; margin: 24px 0; overflow: hidden; }
.info-card .map iframe { display: block; width: 100%; height: 100%; min-height: inherit; border: 0; }

@media (min-width: 769px) {
  .info-card .info-body { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: start; }
  .info-card .addr  { grid-column: 1; grid-row: 1; }
  .info-card .hours { grid-column: 1; grid-row: 2; }
  .info-card .map   { grid-column: 2; grid-row: 1 / span 2; min-height: 293px; border-radius: 33px; margin: 0; }
}

@media (max-width: 768px) {
  .photo-grid { grid-template-columns: 1fr; gap: 20px; }   /* 設計SP: 縦積み行間≈20 */
  /* 設計SP実測: カード内padding≈20、地図高≈126、地図に白枠なし */
  .info-card { padding: 20px; }
  .info-card .map { min-height: 126px; border: 0; margin: 20px 0; }
  /* 設計SP(実測): 本文が上、コーヒー写真は左寄せ。設計はコンテンツ列(247px,frame375で左右余白各64px)に対し
     写真205px=約83%。implは余白が小さくコンテンツ列が広いので、写真は「コンテンツ列(=.split)の約80%」で指定。
     ※旧 width:55%(split基準)や 56vw(frame基準)は本文に対し小さすぎた。緑装飾は写真の67%・高さ58%で右上へずらす。 */
  /* 緑装飾は写真上へ18%はみ出す。写真が大きいほどはみ出しpxが増えるので、gapを写真サイズに追従させ
     本文へ食い込ませない。overhang≒18.5%×写真高≒18vw、+36pxで本文↔緑に約40pxのクリアランス(設計85px相当を圧縮) */
  .school-coffee.split { gap: calc(18vw + 36px); }
  .school-coffee .split__media { flex: none; width: 80%; align-self: flex-start; }
  .school-coffee .bg-decoration { width: 67%; height: 58%; top: -18%; right: -26%; left: auto; bottom: auto; }
}
