/* 下層ページ (guide__) */
.guide { padding-top: 80px; }
@media (max-width: 767px) {
  .guide { padding-top: 60px; }
}
.guide__crumb-bar { padding-block: 24px; background: var(--color-white); }
@media (max-width: 767px) {
  .guide__crumb-bar { padding-block: 16px; }
}
.guide__crumb { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--color-text-sub); }
.guide__crumb-item:not(:last-child)::after { content: "/"; margin-left: 8px; }
.guide__hero {
  padding-block: 72px 64px;
  background: var(--color-brand-pale) url("../images/guide-hero.webp") center / cover;
}
@media (max-width: 767px) {
  .guide__hero { padding-block: 44px 40px; background-image: url("../images/guide-hero-sp.webp"); }
}
.guide__hero .common__heading { margin-bottom: 0; }
.guide__text { margin: 0 0 1.6em; font-size: 15px; line-height: 2.1; text-align: start; }
@media (max-width: 767px) {
  .guide__text { font-size: 14px; }
}
.guide__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.guide__table th, .guide__table td { padding: 18px 16px; border-bottom: 2px dotted var(--color-line); text-align: start; vertical-align: top; line-height: 1.9; }
.guide__table th { width: 30%; font-weight: 700; color: var(--color-brand); }
@media (max-width: 767px) {
  .guide__table th, .guide__table td { display: block; width: 100%; padding: 4px 0; border: 0; }
  .guide__table th { padding-top: 16px; }
  .guide__table td { padding-bottom: 16px; border-bottom: 2px dotted var(--color-line); }
}
.guide__price { background: var(--color-brand-pale); }
.guide__price-meta { margin: 0 0 12px; font-size: 13px; text-align: end; color: var(--color-text-sub); }
.guide__price-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; background: var(--color-white); border-radius: 20px; overflow: hidden; box-shadow: 0 6px 18px var(--color-card-shadow); text-align: center; }
.guide__price-table th { padding: 16px 8px; background: var(--color-brand); color: var(--color-white); font-weight: 700; font-size: 15px; }
.guide__price-table th + th, .guide__price-table td + td { border-left: 2px dotted var(--color-line); }
.guide__price-row td { padding: 32px 8px; font-family: var(--font-en); font-size: 40px; line-height: 1.2; color: var(--color-brand); border-bottom: 2px dotted var(--color-line); }
.guide__price-row small { margin-left: 2px; font-size: 15px; }
.guide__price-note td { padding: 16px 8px; font-size: 13px; line-height: 1.8; color: var(--color-text-sub); }
.guide__price-extra { margin: 28px 0 0; text-align: center; font-size: 17px; }
.guide__price-extra strong { font-size: 24px; color: var(--color-accent); }
.guide__price-list { margin: 20px auto 0; padding: 0; list-style: none; max-width: 640px; font-size: 14px; line-height: 1.9; text-align: start; }
.guide__price-list li { position: relative; padding-left: 1.4em; }
.guide__price-list li::before { content: "●"; position: absolute; left: 0; font-size: 0.7em; top: 0.35em; color: var(--color-brand); }
@media (max-width: 767px) {
  .guide__price-table th { padding: 12px 4px; font-size: 13px; }
  .guide__price-row td { padding: 24px 4px; font-size: 26px; }
  .guide__price-row small { font-size: 12px; }
  .guide__price-note td { padding: 12px 6px; font-size: 11px; }
  .guide__price-extra { font-size: 15px; }
  .guide__price-extra strong { font-size: 20px; }
}
.guide__rule-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; counter-reset: rule; }
@media (max-width: 767px) {
  .guide__rule-list { grid-template-columns: 1fr; }
}
.guide__rule { position: relative; padding: 24px 24px 24px 72px; background: var(--color-white); border-radius: 20px; box-shadow: 0 6px 18px var(--color-card-shadow); counter-increment: rule; }
.guide__rule::before { content: counter(rule); position: absolute; left: 20px; top: 22px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--color-accent); font-family: var(--font-en); color: var(--color-white); }
.guide__rule-title { margin: 0 0 6px; font-family: var(--font-mincho); font-size: 17px; font-weight: 700; }
.guide__rule-text { margin: 0; font-size: 13px; line-height: 1.9; color: var(--color-text-sub); text-align: start; }
.guide__access { background: var(--color-white); }
.guide__map { display: grid; place-items: center; min-height: 280px; margin-bottom: 32px; border-radius: 24px; background: var(--color-brand-pale) url("../images/guide-hero.webp") center / cover; color: var(--color-brand-dark); font-weight: 700; }
