/* ============================================================
   info-common.css
   /info/ 系ページ（会社概要・利用規約・特商法・個人情報保護方針・
   サイトマップ）の共通スタイル。guide-common.css の後に読み込む。
   guide-common.css の :root 変数（--guide-ink 等）を前提とする。
   ============================================================ */

/* --- セクション内の小見出し --- */
.info-section h3 {
  margin: 32px 0 12px;
  padding-left: 14px;
  color: var(--guide-ink);
  font-size: clamp(1.12rem, 2.6vw, 1.3rem);
  line-height: 1.5;
  border-left: 4px solid var(--guide-gold);
}

.info-section h3:first-child {
  margin-top: 0;
}

.info-section > p {
  margin: 0 0 1.25em;
}

/* --- 法的テキスト向けリスト --- */
.info-list {
  margin: 0 0 1.25em;
  padding-left: 1.6em;
  line-height: 1.9;
}

.info-list > li {
  margin-bottom: 0.7em;
}

.info-list > li:last-child {
  margin-bottom: 0;
}

ol.info-list {
  list-style: decimal;
}

ul.info-list {
  list-style: disc;
}

/* 入れ子リスト（(1)(2)… の想定） */
.info-list ol {
  margin: 0.6em 0 0.2em;
  padding-left: 1.5em;
  list-style: decimal;
}

.info-list ul {
  margin: 0.6em 0 0.2em;
  padding-left: 1.5em;
  list-style: disc;
}

.info-list ol > li,
.info-list ul > li {
  margin-bottom: 0.4em;
}

/* --- 注意・改定告知など --- */
.info-notice {
  margin: 0 0 28px;
  padding: 16px 22px;
  background: var(--guide-gold-pale);
  border: 1px solid #f1dfad;
  border-radius: 12px;
  font-weight: 700;
}

.info-notice p {
  margin: 0;
}

.info-notice a {
  color: var(--guide-gold-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 本文中のリンク */
.info-section a:not(.guide-button):not(.related-link-cards a) {
  color: #587982;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- 会社概要：代表写真・会員証などの図版 --- */
.info-figure {
  float: right;
  width: 220px;
  max-width: 42%;
  margin: 0 0 18px 24px;
  text-align: center;
}

.info-figure img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.info-figure figcaption {
  margin-top: 8px;
  color: var(--guide-muted);
  font-size: 0.82rem;
  line-height: 1.6;
}

.info-section::after {
  content: "";
  display: block;
  clear: both;
}

/* --- 地図 --- */
.info-map {
  margin: 12px 0 24px;
  border-radius: 12px;
  overflow: hidden;
}

.info-map iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

.info-address {
  margin: 0 0 8px;
  line-height: 1.9;
}

/* --- バナー --- */
.info-banner {
  display: block;
  margin: 20px 0;
}

.info-banner img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- サイトマップ --- */
.info-sitemap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 8px;
}

.info-sitemap__group {
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--guide-border);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(45, 52, 54, 0.05);
}

/* 教習所一覧・コラムなど項目数が多いカテゴリはグリッド全幅で表示する */
.info-sitemap__group--wide {
  grid-column: 1 / -1;
}

.info-sitemap__group > h2 {
  margin: 0 0 14px;
  padding-bottom: 10px;
  color: var(--guide-ink);
  font-size: 1.1rem;
  border-bottom: 1px solid var(--guide-border);
}

.info-sitemap__group > h2 a {
  color: var(--guide-ink);
}

.info-sitemap__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.info-sitemap__list > li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.info-sitemap__list a {
  color: #587982;
  text-decoration: none;
}

.info-sitemap__list a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.info-sitemap__sub {
  margin: 10px 0 14px;
  padding: 12px 14px;
  background: var(--guide-soft);
  border-radius: 10px;
}

/* 小見出しは h3。.info-section h3 の共通装飾（金の縦線）を打ち消すため詳細度を上げる。 */
.info-section .info-sitemap__sub-title,
.info-section .info-sitemap__sub-title:first-child {
  margin: 0 0 8px;
  padding-left: 0;
  border-left: 0;
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--guide-ink);
}

.info-sitemap__current {
  color: var(--guide-ink);
  font-weight: 700;
}

.info-sitemap__note {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

.info-sitemap__sub ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.info-sitemap__sub li {
  margin-bottom: 6px;
  font-size: 0.9rem;
  line-height: 1.55;
}

.info-sitemap__sub .bef {
  display: none;
}

/* 全幅カテゴリ（教習所一覧・コラム）は、PC で小見出しブロックを段組みにして縦長になりすぎないようにする */
@media (min-width: 768px) {
  .info-sitemap__group--wide {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
    align-items: start;
  }

  .info-sitemap__group--wide > h2,
  .info-sitemap__group--wide > .info-sitemap__list,
  .info-sitemap__group--wide > .info-sitemap__note {
    grid-column: 1 / -1;
  }

  .info-sitemap__group--wide > .info-sitemap__sub {
    margin: 0;
  }
}

@media (max-width: 767px) {
  .info-figure {
    float: none;
    width: 200px;
    max-width: 100%;
    margin: 0 auto 20px;
  }
}

/* --- 個人情報保護方針：ルナの吹き出しを非表示（機微情報を扱う法務ページのため） --- */
.info-policy-layout .side-balloon,
.info-policy-layout .side-luna {
  display: none;
}

/* 固定ヘッダー（sticky・min-height 72px）に見出しが隠れないようにする */
.info-policy-layout .guide-section {
  scroll-margin-top: 92px;
}

/* ============================================================
   ご利用規約（/info/regulation/）
   契約条件を正式に伝えるページのため、装飾より可読性を優先する。
   ============================================================ */

/* ルナの吹き出しを非表示 */
.info-regulation-layout .side-balloon,
.info-regulation-layout .side-luna {
  display: none;
}

/* 固定ヘッダー（sticky・min-height 72px）に見出しが隠れないようにする */
.info-regulation-layout .guide-section {
  scroll-margin-top: 92px;
}

/* --- 改定日・旧規約への導線 --- */
.info-revision__date {
  margin: 0 0 8px;
  font-size: 1.02rem;
}

.info-revision__old {
  margin: 0;
  font-weight: 400;
}

.info-pdf-link {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
  font-weight: 700;
}

.info-pdf-link__note {
  font-size: 0.82rem;
  font-weight: 400;
}

/* --- 印刷：固定CTA・共通クロームのみ落とし、規約本文と改定日は残す --- */
@media print {
  .info-regulation-layout .desktop-world,
  .info-regulation-layout .site-header,
  .info-regulation-layout .site-footer,
  .info-regulation-layout .fixed-actions,
  .info-regulation-layout .guide-breadcrumb {
    display: none !important;
  }

  .info-regulation-layout .car-guide {
    width: 100%;
    margin: 0;
  }

  .info-regulation-layout .guide-section {
    padding: 14px 0;
    page-break-inside: avoid;
    border-bottom: 1px solid #ccc;
  }

  .info-regulation-layout .info-notice {
    border: 1px solid #ccc;
    background: none;
  }
}

/* 固定フッターCTAが規約本文・フッター最終行を隠さないための下余白 */
.info-regulation-layout .site-footer {
  padding-bottom: 96px;
}

@media (min-width: 980px) {
  .info-regulation-layout .site-footer {
    padding-bottom: 36px;
  }
}

/* 固定フッターCTAが問い合わせ窓口・関連リンク・フッター最終行を隠さないための下余白 */
.info-policy-layout .site-footer {
  padding-bottom: 96px;
}

@media (min-width: 980px) {
  .info-policy-layout .site-footer {
    padding-bottom: 36px;
  }
}

/* --- 印刷：固定CTA・共通クロームのみ落とし、方針本文と問い合わせ窓口は残す --- */
@media print {
  .info-policy-layout .desktop-world,
  .info-policy-layout .site-header,
  .info-policy-layout .site-footer,
  .info-policy-layout .fixed-actions,
  .info-policy-layout .global-nav,
  .info-policy-layout .nav-overlay,
  .info-policy-layout .guide-breadcrumb,
  .info-policy-layout .guide-toc {
    display: none !important;
  }

  .info-policy-layout .car-guide {
    width: 100%;
    margin: 0;
  }

  .info-policy-layout .guide-section {
    padding: 14px 0;
    page-break-inside: avoid;
    border-bottom: 1px solid #ccc;
  }

  /* 問い合わせ窓口の表は横スクロールさせず全項目を印刷する */
  .info-policy-layout .guide-table-scroll {
    overflow: visible;
  }

  .info-policy-layout .guide-table th,
  .info-policy-layout .guide-table td {
    border: 1px solid #ccc;
  }
}
