@charset "utf-8";
/* トップページ下部の事務所概要＋フッター拡張。既存クラスと衝突しないよう c-office / c-foot 接頭辞で分離 */

.c-office { padding: 56px 20px; background: #f8fbfe; }
.c-office__inner { max-width: 1100px; margin: 0 auto; }
.c-office__ttl {
  text-align: center; font-size: clamp(20px, 3.4vw, 28px); font-weight: 700;
  color: #103b61; margin: 0 0 8px; line-height: 1.5;
}
.c-office__lead { text-align: center; font-size: 13px; color: #5b6b7a; margin: 0 0 28px; }
.c-office__flex { display: flex; gap: 28px; align-items: flex-start; }
.c-office__map { flex: 1 1 46%; min-width: 0; }
.c-office__map iframe { width: 100%; height: 340px; border: 0; display: block; }
.c-office__data { flex: 1 1 54%; min-width: 0; }
.c-office__table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.8; background: #fff; }
.c-office__table th,
.c-office__table td { border: 1px solid #d9e2ec; padding: 11px 14px; text-align: left; vertical-align: top; }
.c-office__table th { width: 27%; background: #eef4fa; font-weight: 700; color: #103b61; white-space: nowrap; }
.c-office__table a { color: #005aaa; }

@media only screen and (max-width: 900px) {
  .c-office__flex { flex-direction: column; }
  .c-office__map,
  .c-office__data { flex: 1 1 auto; width: 100%; }
  .c-office__map iframe { height: 260px; }
}
@media only screen and (max-width: 640px) {
  .c-office { padding: 40px 16px; }
  .c-office__table { font-size: 14px; }
  .c-office__table th,
  .c-office__table td { display: block; width: 100%; border-bottom: 0; }
  .c-office__table tr:last-child td { border-bottom: 1px solid #d9e2ec; }
}

/* フッター拡張 */
.c-foot-nav {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 8px 22px; margin: 0 0 16px; padding: 0; list-style: none;
  font-size: 13px;
}
.c-foot-nav a { color: inherit; text-decoration: none; }
.c-foot-nav a:hover { text-decoration: underline; }
.c-foot-info {
  text-align: center; font-size: 13px; line-height: 1.9; margin: 0 0 14px;
}
.c-foot-info a { color: inherit; text-decoration: none; }
.c-foot-disclaimer {
  max-width: 900px; margin: 0 auto 16px; font-size: 11px; line-height: 1.9;
  opacity: .8; text-align: left;
}
@media only screen and (max-width: 640px) {
  .c-foot-nav { gap: 8px 14px; font-size: 12px; }
  .c-foot-info { font-size: 12px; }
}

/* <picture> はレイアウトに影響させない（従来 img が直接の子だった前提を維持） */
picture { display: contents; }

/* トップと /lp/ のフッターは濃色背景。color:inherit だと本文色(#333)を拾って
   背景に埋もれるため、#footer 配下だけ明示的に白にする。
   白背景のフッターを持つ他LP（.footer / .l_footer）には影響させない。 */
#footer .c-foot-nav,
#footer .c-foot-nav a,
#footer .c-foot-info,
#footer .c-foot-info a,
#footer .c-foot-disclaimer {
  color: #fff;
}

/* 一部LPの style.css に「.main .sec._01 dl dt, ul li, ol li { position:absolute }」という
   セレクタの書き損じがあり、ページ内の全 ul li が絶対配置になる。
   フッターの導線が重なって表示されるため、自分のリストだけ明示的に打ち消す。 */
.c-foot-nav,
.c-foot-nav li {
  position: static;
  z-index: auto;
}
