/* /guide/ 専用CSS（記事コーナー）。style.css のデザイン変数を流用し、記事用の最小限だけを足す。 */

.page-guide .guide-hero{ min-height:0; align-items:flex-end; }
.page-guide .guide-hero .page-hero-body{ padding-block:clamp(1.8rem,4vw,2.6rem); }
.page-guide .guide-hero h1{
  font-size:clamp(1.6rem,3.4vw,2.35rem);
  line-height:1.45;
  letter-spacing:.02em;
  margin-top:.8em;
}
.guide-meta{
  margin-top:1em;
  font-size:.82rem;
  line-height:1.8;
  color:var(--on-dark-muted);
}
.guide-meta time{ color:#fff; }

.guide-wrap{ padding-block:0; }
.guide-article{
  max-width:820px;
  margin-inline:auto;
  padding-block:clamp(2rem,5vw,3.5rem) clamp(3rem,7vw,5rem);
  overflow-wrap:anywhere;
}

/* 要点ボックス */
.guide-summary{
  background:var(--bg-alt);
  border-left:4px solid var(--brand);
  border-radius:0 var(--radius-input) var(--radius-input) 0;
  padding:clamp(1.2rem,3vw,1.8rem);
}
.guide-summary h2{
  font-size:1.1rem;
  color:var(--ink);
  letter-spacing:.04em;
}
.guide-summary ul{ margin-top:.8em; padding-left:1.3em; list-style:disc; }
.guide-summary li{ margin-top:.45em; color:var(--text); }

/* 目次 */
.guide-toc{
  margin-top:1.6rem;
  border:1px solid var(--line);
  border-radius:var(--radius-input);
  padding:clamp(1rem,3vw,1.5rem);
}
.guide-toc-title{ font-size:1.05rem; color:var(--ink); }
.guide-toc ol{ margin-top:.6em; }
.guide-toc li{ margin-top:.3em; line-height:1.7; font-size:.93rem; }
.guide-toc li.toc-3{ padding-left:1.4em; font-size:.88rem; }
.guide-toc a{ color:var(--brand); text-decoration:underline; text-underline-offset:.2em; }

/* 本文 */
.guide-body{ margin-top:2rem; color:var(--text); }
.guide-body h2{
  font-size:clamp(1.3rem,2.6vw,1.65rem);
  line-height:1.5;
  color:var(--ink);
  margin-top:2.6em;
  padding-bottom:.4em;
  border-bottom:2px solid var(--line);
}
.guide-body h2:first-child{ margin-top:0; }
.guide-body h3{
  font-size:clamp(1.08rem,2vw,1.25rem);
  color:var(--ink);
  margin-top:1.9em;
}
.guide-body p{ margin-top:1em; }
.guide-body ul,.guide-body ol{ margin-top:.8em; padding-left:1.4em; }
.guide-body ul{ list-style:disc; }
.guide-body ol{ list-style:decimal; }
.guide-body li{ margin-top:.4em; }
.guide-body a:not(.btn),.guide-article .guide-author a,.guide-sources a,.guide-hub a:not(.btn){
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:.2em;
}
.guide-body strong{ color:var(--ink); }
.guide-note{ margin-top:.8em; font-size:.84rem; line-height:1.8; color:var(--muted); }
.guide-formula{
  margin-top:1em;
  padding:.9em 1.2em;
  background:var(--bg-alt);
  border-radius:var(--radius-input);
  font-weight:700;
  color:var(--ink);
}

/* 表（スマホでは横スクロール。style.css の .data-table の縦積み化は使わない） */
.guide-table-wrap{
  margin-top:1.2em;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.guide-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:.9rem;
  line-height:1.6;
}
.guide-table-cap{
  margin-top:1.4em;
  font-weight:700;
  color:var(--ink);
  line-height:1.6;
}
.guide-table-cap + .guide-table-wrap{ margin-top:.5em; }
.guide-table th,.guide-table td{
  padding:.7em .9em;
  border:1px solid var(--line);
  vertical-align:top;
  text-align:left;
}
.guide-table thead th{ background:var(--bg-alt); color:var(--ink); }
.guide-table tbody th{ background:#fff; color:var(--ink); font-weight:700; min-width:7em; }
.guide-table td.num,.guide-table td[data-fare-m]{ text-align:right; white-space:nowrap; }

/* RERIDE TAXIおすすめカード */
.guide-card{
  margin-top:2.4rem;
  padding:clamp(1.3rem,3vw,1.9rem);
  background:var(--navy-900);
  color:#fff;
  border-radius:var(--radius-card);
}
.guide-card p{ margin-top:.5em; color:#fff; }
.guide-card .guide-card-title{ margin-top:0; font-weight:700; color:var(--accent); letter-spacing:.03em; }
.guide-card-actions{ display:flex; flex-wrap:wrap; gap:.8em; margin-top:1.1em; }
.guide-card-actions .btn{ flex:1 1 220px; }

/* 計算ツール */
.guide-calc{
  margin-top:1.2em;
  padding:clamp(1.1rem,3vw,1.6rem);
  border:2px solid var(--brand);
  border-radius:var(--radius-card);
  background:#fff;
}
.guide-calc label{ display:block; font-weight:700; color:var(--ink); }
.guide-calc input[type="number"]{
  display:block;
  width:100%;
  max-width:260px;
  min-height:48px;
  margin-top:.4em;
  padding:.5em .8em;
  font-size:1.1rem;
  color:var(--ink);
  border:1px solid var(--muted);
  border-radius:var(--radius-input);
}
.guide-calc input:focus-visible{ outline:3px solid var(--sky); outline-offset:2px; }
.guide-calc .calc-check{ display:flex; align-items:center; gap:.6em; margin-top:1em; font-weight:400; }
.guide-calc .calc-check input{ width:1.25em; height:1.25em; }
.guide-calc output{
  display:block;
  margin-top:1.1em;
  padding:.9em 1.1em;
  background:var(--bg-alt);
  border-radius:var(--radius-input);
  color:var(--ink);
  font-size:1.05rem;
  font-weight:700;
}

/* FAQ・出典・著者・関連 */
.guide-faq,.guide-sources,.guide-author,.guide-related,.guide-hub section + section{ margin-top:2.8rem; }
.guide-faq h2,.guide-sources h2,.guide-author h2,.guide-related h2,.guide-hub h2{
  font-size:clamp(1.3rem,2.6vw,1.65rem);
  line-height:1.5;
  color:var(--ink);
  padding-bottom:.4em;
  border-bottom:2px solid var(--line);
}
.guide-faq .faq-item{ margin-top:1.4em; }
.guide-faq .faq-item h3{ font-size:1.05rem; color:var(--ink); }
.guide-faq .faq-item h3::before{ content:"Q. "; color:var(--brand); }
.guide-faq .faq-item p{ margin-top:.4em; }
.guide-sources ul{ margin-top:1em; padding-left:1.2em; list-style:disc; }
.guide-sources li{ margin-top:.6em; font-size:.88rem; line-height:1.7; color:var(--text); }
.guide-author p{ margin-top:.9em; font-size:.92rem; color:var(--text); }
.guide-related-list{ margin-top:1em; display:grid; gap:.8em; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.guide-related-list a{
  display:block;
  height:100%;
  padding:1em 1.1em;
  border:1px solid var(--line);
  border-radius:var(--radius-input);
  text-decoration:none !important;
}
.guide-related-list a:hover{ border-color:var(--brand); }
.guide-related-list .rel-cat{ display:block; font-size:.76rem; color:var(--muted); }
.guide-related-list .rel-title{ display:block; margin-top:.3em; font-weight:700; color:var(--brand); line-height:1.6; }

/* ハブ */
.guide-hub .guide-summary h2{ font-size:1.1rem; padding-bottom:0; border-bottom:0; letter-spacing:.04em; }
.guide-hub .guide-summary + section{ margin-top:2.4rem; }
.guide-hub .guide-card + .guide-hub-policy{ margin-top:2.8rem; }
.guide-hub h3{ margin-top:1.6em; font-size:1.15rem; color:var(--ink); }
.guide-hub p{ margin-top:.9em; }
.guide-hub ul{ padding-left:0; }
.guide-list{ margin-top:.6em; }
.guide-list li{ margin-top:1em; padding:1em 1.2em; border:1px solid var(--line); border-radius:var(--radius-input); }
.guide-list .list-title{ font-weight:700; }
.guide-list p{ margin-top:.4em; font-size:.9rem; color:var(--text); }
.guide-hub-history ul{ margin-top:1em; }
.guide-hub-history li{ margin-top:.5em; }

@media (max-width:640px){
  .guide-card-actions .btn{ flex-basis:100%; }
}
@media print{
  .guide-card{ border:1px solid #000; background:#fff; color:#000; }
}
