@charset "UTF-8";
/* ==========================================================================
   theme.css — テーマ側の追加スタイル
   ・subpage.html の <style> にあった下層共通（T2〜T6）の指定をここへ移設
   ・値は design-tokens.css の変数のみを参照する
   ========================================================================== */

/* 下層ページの見出しエリア */
.oita-rv1-page__head { background: var(--oita-rv1-white); border-bottom: 1px solid var(--oita-rv1-line); padding-bottom: var(--oita-rv1-space-6); }
.oita-rv1-page__title { font-size: var(--oita-rv1-fs-2xl); margin-bottom: var(--oita-rv1-space-4); }
@media (min-width: 768px) { .oita-rv1-page__title { font-size: var(--oita-rv1-fs-3xl); } }

/* 本文 */
/* 本文はコンテンツ幅いっぱいに使う（見出し・罫線と揃える）。
   以前は読み物用の幅に絞っていたが、ページごとに解除が必要になり揃わなかったため全体で廃止 */
.oita-rv1-page__body { max-width: none; }
.oita-rv1-page__body h2 { font-family: var(--oita-rv1-font-head); font-size: var(--oita-rv1-fs-xl); margin: var(--oita-rv1-space-7) 0 var(--oita-rv1-space-3); padding-bottom: var(--oita-rv1-space-2); border-bottom: 2px solid var(--oita-rv1-sea); }
.oita-rv1-page__body h3 { font-family: var(--oita-rv1-font-head); font-size: var(--oita-rv1-fs-lg); margin: var(--oita-rv1-space-6) 0 var(--oita-rv1-space-2); }
.oita-rv1-page__body ul { padding-left: 1.2em; }
.oita-rv1-page__body li { margin-bottom: var(--oita-rv1-space-2); }

/* 冒頭の要点 */
.oita-rv1-keypoint { background: var(--oita-rv1-sea-pale); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-6); }
.oita-rv1-keypoint h2 { font-size: var(--oita-rv1-fs-base); margin-bottom: var(--oita-rv1-space-3); border: 0; padding: 0; }
.oita-rv1-keypoint ul { margin: 0; padding-left: 1.2em; font-size: var(--oita-rv1-fs-sm); }

/* 管理バー表示時、固定ヘッダーが隠れないようにする */
.admin-bar .oita-rv1-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .oita-rv1-header { top: 46px; } }

/* 解決事例 詳細 */
.oita-rv1-page__head .oita-rv1-case-card__meta { margin: 0; }
/* 本文は元請け支給の case-renewal-v1.css がレイアウトを持つ（最大980px）。
   本文の幅はそちらに任せ、左端を見出しに揃える */
.oita-rv1-case-body { max-width: none; }
.oita-rv1-case-body .case-renewal-v1 { margin-left: 0; padding-left: 0; padding-right: 0; }
.oita-rv1-case-back { margin: var(--oita-rv1-space-6) 0 0; text-align: right; font-weight: 700; }

/* ui-kit.css の見出し余白の補正
   「.oita-rv1 h2 { margin: 0 }」の方が詳細度が高く、
   .oita-rv1-h2 / h3 / h4 の margin が効いていないため、ここで上書きする */
.oita-rv1 .oita-rv1-h2 { margin-bottom: var(--oita-rv1-space-5); }
.oita-rv1 .oita-rv1-h3 { margin: var(--oita-rv1-space-6) 0 var(--oita-rv1-space-3); }
.oita-rv1 .oita-rv1-h4 { margin: var(--oita-rv1-space-5) 0 var(--oita-rv1-space-2); }

/* 解決事例 一覧・絞り込み */
.oita-rv1-filter { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-7); }
.oita-rv1-filter__axis { border-bottom: 1px solid var(--oita-rv1-line); }
.oita-rv1-filter__label { cursor: pointer; padding: var(--oita-rv1-space-3) 0; font-family: var(--oita-rv1-font-head); font-weight: 700; }
.oita-rv1-filter__options { display: flex; flex-wrap: wrap; gap: var(--oita-rv1-space-2) var(--oita-rv1-space-4); padding-bottom: var(--oita-rv1-space-4); }
.oita-rv1-filter__option { display: inline-flex; align-items: center; gap: var(--oita-rv1-space-1); font-size: var(--oita-rv1-fs-sm); cursor: pointer; }
.oita-rv1-filter__option small { color: var(--oita-rv1-ink-soft); }
.oita-rv1-filter__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--oita-rv1-space-4); padding-top: var(--oita-rv1-space-4); }
.oita-rv1-filter__actions .oita-rv1-btn { border: 0; cursor: pointer; font: inherit; font-weight: 700; }

/* カードのタイトルは2行まで（No.15） */
.oita-rv1-case-card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ページ送り */
.oita-rv1-pager ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--oita-rv1-space-2); margin: var(--oita-rv1-space-7) 0 0; padding: 0; }
.oita-rv1-pager a, .oita-rv1-pager span { display: block; min-width: 2.6em; padding: var(--oita-rv1-space-2) var(--oita-rv1-space-3); text-align: center; border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-sm); background: var(--oita-rv1-white); text-decoration: none; }
.oita-rv1-pager .current { background: var(--oita-rv1-sea); border-color: var(--oita-rv1-sea); color: var(--oita-rv1-white); }

/* 注記・関連リンク */
.oita-rv1-case-note { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); margin-top: var(--oita-rv1-space-6); }
.oita-rv1-case-links { list-style: none; display: flex; flex-wrap: wrap; gap: var(--oita-rv1-space-3) var(--oita-rv1-space-6); margin: var(--oita-rv1-space-6) 0 0; padding: 0; font-weight: 700; }

/* カードの傷病名は2行まで（長文が入っている事例があるため） */
.oita-rv1-case-card__meta span:last-child { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* T2：関連事例・監修/更新日 */
.oita-rv1-related-cases { margin-top: var(--oita-rv1-space-8); }
.oita-rv1-page__body .oita-rv1-related-cases h2 { border-bottom: 0; padding-bottom: 0; }
.oita-rv1-page-meta { margin-top: var(--oita-rv1-space-7); padding-top: var(--oita-rv1-space-4); border-top: 1px solid var(--oita-rv1-line); font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }
.oita-rv1-page-meta p { margin: 0; }

/* ==========================================================================
   TOP（front-page.php）— top.html の <style> から移設
   ========================================================================== */

/* このページ固有の指定のみ。共通化できるものは design-system.css へ移す。 */
.oita-rv1-hero { background: var(--oita-rv1-white); border-bottom: 1px solid var(--oita-rv1-line); padding-block: var(--oita-rv1-space-6) var(--oita-rv1-space-7); }
.oita-rv1-hero__grid { display: grid; gap: var(--oita-rv1-space-6); }
@media (min-width: 900px) { .oita-rv1-hero__grid { grid-template-columns: 1.05fr .95fr; align-items: center; } }
.oita-rv1-hero__title { font-size: var(--oita-rv1-fs-3xl); margin-bottom: var(--oita-rv1-space-4); }
@media (min-width: 768px) { .oita-rv1-hero__title { font-size: var(--oita-rv1-fs-4xl); } }
.oita-rv1-hero__lead { font-size: var(--oita-rv1-fs-lg); color: var(--oita-rv1-ink-soft); margin-bottom: var(--oita-rv1-space-5); }
.oita-rv1-hero__actions { display: grid; gap: var(--oita-rv1-space-3); }
@media (min-width: 600px) { .oita-rv1-hero__actions { grid-auto-flow: column; grid-auto-columns: max-content; } }
.oita-rv1-hero__proof { background: var(--oita-rv1-paper); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-5); }
.oita-rv1-hero__proof h2 { font-size: var(--oita-rv1-fs-base); margin-bottom: var(--oita-rv1-space-4); }
.oita-rv1-hero__proof p { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); margin: var(--oita-rv1-space-4) 0 0; }

.oita-rv1-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--oita-rv1-space-5); }
@media (min-width: 768px) { .oita-rv1-stats { grid-template-columns: repeat(4, 1fr); } }
.oita-rv1-stats__num { font-family: var(--oita-rv1-font-num); font-size: var(--oita-rv1-fs-2xl); font-weight: 700; color: var(--oita-rv1-sea); display: block; }
.oita-rv1-stats__label { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }

.oita-rv1-worry { display: grid; gap: var(--oita-rv1-space-3); }
@media (min-width: 768px) { .oita-rv1-worry { grid-template-columns: repeat(2, 1fr); } }
.oita-rv1-worry a { display: flex; justify-content: space-between; gap: var(--oita-rv1-space-3); background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-sm); padding: var(--oita-rv1-space-4); text-decoration: none; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-worry a:hover { border-color: var(--oita-rv1-sea); }
.oita-rv1-worry b { font-family: var(--oita-rv1-font-head); display: block; font-size: var(--oita-rv1-fs-base); margin-bottom: var(--oita-rv1-space-1); }

.oita-rv1-flow { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--oita-rv1-space-4); counter-reset: step; }
@media (min-width: 900px) { .oita-rv1-flow { grid-template-columns: repeat(4, 1fr); } }
.oita-rv1-flow li { counter-increment: step; border-top: 2px solid var(--oita-rv1-sea); padding-top: var(--oita-rv1-space-3); }
.oita-rv1-flow li::before { content: counter(step); font-family: var(--oita-rv1-font-num); font-weight: 700; color: var(--oita-rv1-sea); margin-right: var(--oita-rv1-space-2); }
.oita-rv1-flow b { font-family: var(--oita-rv1-font-head); }
.oita-rv1-flow p { font-size: var(--oita-rv1-fs-sm); color: var(--oita-rv1-ink-soft); margin: var(--oita-rv1-space-2) 0 0; }

/* TOPの解決事例カード（3段階表示）：ラベルが長いため列幅を広げる */
.oita-rv1-case-card--top .oita-rv1-amount__row { grid-template-columns: 7.5em 1fr; }
.oita-rv1-case-card--top .oita-rv1-case-card__title { -webkit-line-clamp: unset; display: block; }
.oita-rv1-case-card__diff { margin: var(--oita-rv1-space-3) 0 0; font-family: var(--oita-rv1-font-head); font-weight: 700; color: var(--oita-rv1-brand-deep); }

/* 比較表：「他事務所の現実」列を削除したため、PCは3列にする */
@media (min-width: 1000px) { .oita-rv1-diff__body { grid-template-columns: repeat(3, 1fr); } }

/* 開閉パネルの非表示を確実にする
   ui-kit.css の .oita-rv1-diff__body { display: grid } が hidden 属性より優先され、
   閉じた状態でも中身が表示されていたため */
.oita-rv1-diff__body[hidden],
.oita-rv1-faq__a[hidden] { display: none; }

/* お問い合わせフォーム（No.08） */
.oita-rv1-form__row { margin-bottom: var(--oita-rv1-space-5); }
.oita-rv1-form__label { display: block; font-weight: 700; margin-bottom: var(--oita-rv1-space-2); }
.oita-rv1-form__req, .oita-rv1-form__opt { display: inline-block; margin-left: var(--oita-rv1-space-2); padding: 0 .5em; border-radius: var(--oita-rv1-radius-sm); font-size: var(--oita-rv1-fs-xs); font-weight: 700; vertical-align: middle; }
.oita-rv1-form__req { background: var(--oita-rv1-brand); color: var(--oita-rv1-white); }
.oita-rv1-form__opt { background: var(--oita-rv1-line); color: var(--oita-rv1-ink-soft); }
.oita-rv1-form input[type="text"], .oita-rv1-form input[type="tel"], .oita-rv1-form input[type="email"], .oita-rv1-form select, .oita-rv1-form textarea {
  width: 100%; max-width: 100%; padding: .7em .8em; font: inherit; font-size: 16px; /* iOSの拡大防止 */
  border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-sm); background: var(--oita-rv1-white); color: var(--oita-rv1-ink); }
.oita-rv1-form select { width: auto; }
.oita-rv1-form textarea { min-height: 10em; }
.oita-rv1-form__more { border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-sm); padding: var(--oita-rv1-space-3) var(--oita-rv1-space-4); margin-bottom: var(--oita-rv1-space-5); background: var(--oita-rv1-white); }
.oita-rv1-form__more summary { cursor: pointer; font-weight: 700; }
.oita-rv1-form__more[open] summary { margin-bottom: var(--oita-rv1-space-4); }
.oita-rv1-form .wpcf7-list-item { margin: 0 var(--oita-rv1-space-4) 0 0; }
.oita-rv1-form__free { font-weight: 700; color: var(--oita-rv1-brand-deep); margin: var(--oita-rv1-space-5) 0 var(--oita-rv1-space-3); }
.oita-rv1-form__actions { display: flex; flex-wrap: wrap; gap: var(--oita-rv1-space-3); align-items: center; }
.oita-rv1-form button, .oita-rv1-form input[type="submit"] { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.oita-rv1-form .js-oita-back { background: none; text-decoration: underline; color: var(--oita-rv1-sea); padding: 0; }
.oita-rv1-form__error, .oita-rv1-form .wpcf7-not-valid-tip { color: #c62828; font-size: var(--oita-rv1-fs-sm); margin: var(--oita-rv1-space-2) 0 0; }
.oita-rv1-form__confirm dl { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--oita-rv1-line); margin: var(--oita-rv1-space-4) 0 var(--oita-rv1-space-6); }
.oita-rv1-form__confirm dt { font-weight: 700; padding-top: var(--oita-rv1-space-3); }
.oita-rv1-form__confirm dd { margin: 0; padding: var(--oita-rv1-space-1) 0 var(--oita-rv1-space-3); border-bottom: 1px solid var(--oita-rv1-line); white-space: pre-wrap; word-break: break-word; }
@media (min-width: 768px) { .oita-rv1-form__confirm dl { grid-template-columns: 11em 1fr; } .oita-rv1-form__confirm dt, .oita-rv1-form__confirm dd { padding: var(--oita-rv1-space-3) 0; border-bottom: 1px solid var(--oita-rv1-line); } }

/* 本文内の表・画像（現行サイトから移した本文用） */
.oita-rv1-page__body table { width: 100%; border-collapse: collapse; margin: var(--oita-rv1-space-4) 0 var(--oita-rv1-space-6); font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-page__body th, .oita-rv1-page__body td { border: 1px solid var(--oita-rv1-line); padding: var(--oita-rv1-space-3); text-align: left; vertical-align: top; }
.oita-rv1-page__body th { background: var(--oita-rv1-sea-pale); width: 30%; font-weight: 700; }
.oita-rv1-page__body img { max-width: 100%; height: auto; }
.oita-rv1-page__body iframe { max-width: 100%; }

/* 404：検索窓 */
.oita-rv1-search { display: flex; gap: var(--oita-rv1-space-2); margin: var(--oita-rv1-space-5) 0; max-width: 32rem; }
.oita-rv1-search input[type="search"] { flex: 1; padding: .7em .8em; font: inherit; font-size: 16px; border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-sm); }
.oita-rv1-search button { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* HTMLサイトマップ */
.oita-rv1-sitemap h2 { font-size: var(--oita-rv1-fs-lg); margin: var(--oita-rv1-space-5) 0 var(--oita-rv1-space-2); }
.oita-rv1-sitemap h2 a { text-decoration: none; }
.oita-rv1-sitemap ul { padding-left: 1.2em; margin: 0 0 var(--oita-rv1-space-3); }
.oita-rv1-sitemap li { margin-bottom: var(--oita-rv1-space-1); }

/* お客様の声 */
.oita-rv1-voice { display: flow-root; background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-5); }
.oita-rv1-voice[hidden] { display: none; }
.oita-rv1-voice h3 { margin-top: 0; font-size: var(--oita-rv1-fs-lg); }
.oita-rv1-voice h4 { font-size: var(--oita-rv1-fs-sm); color: var(--oita-rv1-sea); margin: var(--oita-rv1-space-4) 0 var(--oita-rv1-space-1); }
/* アンケート用紙：カードの右上に配置（本文は左に回り込む） */
.oita-rv1-voice__sheet { float: right; width: 200px; margin: 0 0 var(--oita-rv1-space-3) var(--oita-rv1-space-4); }
.oita-rv1-voice__sheet a { display: block; cursor: zoom-in; }
.oita-rv1-voice__sheet a:hover img { box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.oita-rv1-voice__sheet img { display: block; width: 100%; height: auto; border: 1px solid var(--oita-rv1-line); }
@media (max-width: 599px) { .oita-rv1-voice__sheet { width: 130px; } }
.oita-rv1-voices__more-wrap { text-align: center; }
.oita-rv1-voices__more { cursor: pointer; font: inherit; font-weight: 700; }

/* お客様の声：本文幅の制限を外し、PCでは2列で並べる */
.oita-rv1-page__body:has(.oita-rv1-voices) { max-width: none; }
@media (min-width: 900px) {
  .oita-rv1-voices { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--oita-rv1-space-5); align-items: start; }
  .oita-rv1-voice { margin-bottom: 0; }
}

/* アンケート用紙の拡大表示（ポップアップ） */
.oita-rv1-lightbox { border: 0; padding: 0; background: transparent; max-width: min(92vw, 820px); max-height: 92vh; overflow: visible; opacity: 0; transform: scale(.96); transition: opacity .2s ease, transform .2s ease; }
.oita-rv1-lightbox.is-open { opacity: 1; transform: none; }
.oita-rv1-lightbox::backdrop { background: rgba(10, 24, 40, .78); }
.oita-rv1-lightbox__body { margin: 0; background: var(--oita-rv1-white); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-3); box-shadow: 0 12px 40px rgba(0,0,0,.35); }
.oita-rv1-lightbox__body img { display: block; max-width: 100%; max-height: calc(92vh - 5rem); width: auto; height: auto; margin: 0 auto; }
.oita-rv1-lightbox__body figcaption { text-align: center; font-size: var(--oita-rv1-fs-sm); color: var(--oita-rv1-ink-soft); padding-top: var(--oita-rv1-space-2); }
.oita-rv1-lightbox__close { position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--oita-rv1-white); color: var(--oita-rv1-ink); font-size: 26px; line-height: 40px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.3); }
.oita-rv1-lightbox__close:hover { background: var(--oita-rv1-sea-pale); }
@media (max-width: 599px) { .oita-rv1-lightbox__close { top: -10px; right: -6px; } }
@media (prefers-reduced-motion: reduce) { .oita-rv1-lightbox { transition: none; } }

/* 事務所案内（/aboutus/）：本文幅を広げ、表・地図・道順を組む */
.oita-rv1-page__body:has(.oita-rv1-about) { max-width: none; }
.oita-rv1-about { margin-bottom: var(--oita-rv1-space-8); }
.oita-rv1-about:first-child h2 { margin-top: 0; }
.oita-rv1-page__body .oita-rv1-about__table th { width: 11em; white-space: nowrap; }
@media (max-width: 599px) {
  .oita-rv1-page__body .oita-rv1-about__table th, .oita-rv1-page__body .oita-rv1-about__table td { display: block; width: auto; }
  .oita-rv1-page__body .oita-rv1-about__table th { border-bottom: 0; }
}
.oita-rv1-about__more { font-weight: 700; margin-top: var(--oita-rv1-space-3); }
.oita-rv1-about__access { display: grid; gap: var(--oita-rv1-space-5); }
@media (min-width: 900px) { .oita-rv1-about__access { grid-template-columns: 3fr 2fr; align-items: start; } }
.oita-rv1-about__map { position: relative; aspect-ratio: 4 / 3; border-radius: var(--oita-rv1-radius-md); overflow: hidden; border: 1px solid var(--oita-rv1-line); background: var(--oita-rv1-sea-pale); }
.oita-rv1-about__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.oita-rv1-about__ways { margin: 0; }
.oita-rv1-about__ways dt { font-weight: 700; color: var(--oita-rv1-sea); margin-top: var(--oita-rv1-space-3); }
.oita-rv1-about__ways dt:first-child { margin-top: 0; }
.oita-rv1-about__ways dd { margin: var(--oita-rv1-space-1) 0 0; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-about__route { list-style: none; counter-reset: route; display: grid; gap: var(--oita-rv1-space-4); grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); padding: 0; margin: var(--oita-rv1-space-4) 0 0; }
.oita-rv1-about__route li { counter-increment: route; background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); overflow: hidden; margin: 0; }
.oita-rv1-about__route img { display: block; width: 100%; height: 12rem; object-fit: cover; }
.oita-rv1-about__route p { position: relative; margin: 0; padding: var(--oita-rv1-space-3) var(--oita-rv1-space-4) var(--oita-rv1-space-4) calc(var(--oita-rv1-space-4) + 2em); font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-about__route p::before { content: counter(route); position: absolute; left: var(--oita-rv1-space-4); top: var(--oita-rv1-space-3); width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--oita-rv1-sea); color: var(--oita-rv1-white); font-weight: 700; text-align: center; line-height: 1.6em; font-size: var(--oita-rv1-fs-xs); }

/* ご依頼の流れ（/flow/） */
.oita-rv1-page__body:has(.oita-rv1-flowpage) { max-width: none; }
.oita-rv1-flowpage { margin: var(--oita-rv1-space-7) 0; }
.oita-rv1-flowpage__more { font-weight: 700; margin-top: var(--oita-rv1-space-4); }
.oita-rv1-flowpage__note { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }
.oita-rv1-page__body .oita-rv1-flowpage__table th { width: 30%; }
.oita-rv1-page__body .oita-rv1-flowpage .oita-rv1-flow { padding-left: 0; }
.oita-rv1-timeline { list-style: none; padding: 0; margin: var(--oita-rv1-space-5) 0 0; }
.oita-rv1-page__body .oita-rv1-timeline > li { position: relative; margin: 0; padding: 0 0 var(--oita-rv1-space-6) 3.2rem; scroll-margin-top: 6rem; }
.oita-rv1-timeline > li::before { content: ""; position: absolute; left: 1.05rem; top: 2.4rem; bottom: 0; width: 2px; background: var(--oita-rv1-line); }
.oita-rv1-timeline > li:last-child::before { display: none; }
.oita-rv1-page__body .oita-rv1-timeline h3 { margin: 0 0 var(--oita-rv1-space-3); font-size: var(--oita-rv1-fs-lg); line-height: 2.2rem; }
.oita-rv1-timeline h3 span { position: absolute; left: 0; top: 0; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--oita-rv1-sea); color: var(--oita-rv1-white); text-align: center; line-height: 2.2rem; font-size: var(--oita-rv1-fs-base); }
.oita-rv1-timeline p { font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-timeline__consult { margin-top: var(--oita-rv1-space-3); padding: var(--oita-rv1-space-3) var(--oita-rv1-space-4); background: var(--oita-rv1-sea-pale); border-left: 4px solid var(--oita-rv1-brand); border-radius: 0 var(--oita-rv1-radius-sm) var(--oita-rv1-radius-sm) 0; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-timeline__consult b { display: block; color: var(--oita-rv1-brand-deep); margin-bottom: var(--oita-rv1-space-1); }

/* 弁護士紹介（/lawyers/） */
.oita-rv1-page__body:has(.oita-rv1-lawyer) { max-width: none; }
.oita-rv1-lawyer { margin-bottom: var(--oita-rv1-space-8); }
.oita-rv1-lawyer:first-child h2 { margin-top: 0; }
.oita-rv1-lawyer__message, .oita-rv1-lawyer__card { display: grid; gap: var(--oita-rv1-space-6); align-items: start; }
@media (min-width: 768px) { .oita-rv1-lawyer__message, .oita-rv1-lawyer__card { grid-template-columns: 16rem 1fr; } }
.oita-rv1-lawyer__photo { margin: 0; }
.oita-rv1-lawyer__photo img { display: block; width: 100%; max-width: 16rem; height: auto; border-radius: var(--oita-rv1-radius-md); }
.oita-rv1-lawyer__photo figcaption { margin-top: var(--oita-rv1-space-2); font-weight: 700; font-family: var(--oita-rv1-font-head); }
.oita-rv1-lawyer__text > h3:first-child, .oita-rv1-lawyer__text > .oita-rv1-lawyer__grid:first-child { margin-top: 0; }
.oita-rv1-lawyer__closing { font-family: var(--oita-rv1-font-head); font-size: var(--oita-rv1-fs-lg); font-weight: 700; color: var(--oita-rv1-sea-deep); }
.oita-rv1-lawyer__grid { display: grid; gap: var(--oita-rv1-space-4); margin: var(--oita-rv1-space-5) 0; }
@media (min-width: 768px) { .oita-rv1-lawyer__grid { grid-template-columns: 1fr 1fr; } }
.oita-rv1-lawyer__box { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); }
.oita-rv1-page__body .oita-rv1-lawyer__box h3 { margin-top: 0; font-size: var(--oita-rv1-fs-base); color: var(--oita-rv1-sea); }
.oita-rv1-lawyer__box ul { margin: 0; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-lawyer__scroll { overflow-x: auto; }
.oita-rv1-page__body .oita-rv1-lawyer__scroll th { width: auto; }
.oita-rv1-lawyer__voice { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-4); display: flow-root; }
.oita-rv1-lawyer__voice summary { cursor: pointer; font-weight: 700; color: var(--oita-rv1-sea); }
.oita-rv1-lawyer__voice[open] summary { margin-bottom: var(--oita-rv1-space-4); }
.oita-rv1-lawyer__voice p { font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-lawyer__voice-photo { float: right; width: 14rem; margin: 0 0 var(--oita-rv1-space-3) var(--oita-rv1-space-4); }
.oita-rv1-lawyer__voice-photo img { width: 100%; height: auto; border-radius: var(--oita-rv1-radius-sm); }
.oita-rv1-lawyer__voice-photo figcaption { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }
@media (max-width: 599px) { .oita-rv1-lawyer__voice-photo { float: none; width: 100%; margin: 0 0 var(--oita-rv1-space-3); } }
.oita-rv1-lawyer__links { font-weight: 700; }

/* ヘッダー上部のH1（ロゴの上） */
.oita-rv1-topline { background: var(--oita-rv1-sea-pale); border-bottom: 1px solid var(--oita-rv1-line); }
.oita-rv1 .oita-rv1-topline__h1 { margin: 0; padding: var(--oita-rv1-space-1) 0; font-family: var(--oita-rv1-font-body); font-size: var(--oita-rv1-fs-xs); font-weight: 400; line-height: 1.6; color: var(--oita-rv1-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 選ばれる理由（/whyus/） */
.oita-rv1-page__body:has(.oita-rv1-why-list) { max-width: none; }
.oita-rv1-why-lead { font-size: var(--oita-rv1-fs-lg); max-width: 48rem; }
.oita-rv1-why-index { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); margin: var(--oita-rv1-space-5) 0 var(--oita-rv1-space-7); }
.oita-rv1-page__body .oita-rv1-why-index ol { margin: 0; padding-left: 1.6em; columns: 1; font-size: var(--oita-rv1-fs-sm); }
@media (min-width: 768px) { .oita-rv1-page__body .oita-rv1-why-index ol { columns: 2; } }
@media (min-width: 1100px) { .oita-rv1-page__body .oita-rv1-why-index ol { columns: 3; } }
.oita-rv1-page__body .oita-rv1-why-index li { margin-bottom: var(--oita-rv1-space-1); }
.oita-rv1-reason { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-5); scroll-margin-top: 6rem; }
.oita-rv1-page__body .oita-rv1-reason h2 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--oita-rv1-space-2) var(--oita-rv1-space-3); margin: 0 0 var(--oita-rv1-space-4); padding-bottom: var(--oita-rv1-space-3); }
.oita-rv1-reason__no { font-family: var(--oita-rv1-font-num); font-size: var(--oita-rv1-fs-2xl); color: var(--oita-rv1-brand); line-height: 1; }
.oita-rv1-reason__cat { font-size: var(--oita-rv1-fs-xs); font-weight: 700; color: var(--oita-rv1-sea); background: var(--oita-rv1-sea-pale); border-radius: 999px; padding: .15em .8em; }
.oita-rv1-reason__cols { display: grid; gap: var(--oita-rv1-space-4); }
@media (min-width: 900px) { .oita-rv1-reason__cols { grid-template-columns: repeat(3, 1fr); } }
.oita-rv1-reason__cols > div { background: var(--oita-rv1-paper); border-radius: var(--oita-rv1-radius-sm); padding: var(--oita-rv1-space-3) var(--oita-rv1-space-4); }
.oita-rv1-page__body .oita-rv1-reason__cols h3 { margin: 0 0 var(--oita-rv1-space-2); font-size: var(--oita-rv1-fs-sm); color: var(--oita-rv1-sea); }
.oita-rv1-page__body .oita-rv1-reason__cols ul { margin: 0; padding-left: 1.2em; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-reason__cols p { margin: 0; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-reason__detail { margin-top: var(--oita-rv1-space-4); padding-top: var(--oita-rv1-space-4); border-top: 1px dashed var(--oita-rv1-line); font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-page__body .oita-rv1-reason__detail h3 { font-size: var(--oita-rv1-fs-base); margin: var(--oita-rv1-space-4) 0 var(--oita-rv1-space-2); }
.oita-rv1-reason__note { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }
.oita-rv1-reason__link { font-weight: 700; margin-bottom: 0; }
.oita-rv1-why-stats { margin: var(--oita-rv1-space-8) 0 var(--oita-rv1-space-5); }
.oita-rv1-page__body .oita-rv1-why-stats ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--oita-rv1-space-3); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .oita-rv1-page__body .oita-rv1-why-stats ul { grid-template-columns: repeat(4, 1fr); } }
.oita-rv1-page__body .oita-rv1-why-stats li { margin: 0; background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-top: 3px solid var(--oita-rv1-brand); border-radius: var(--oita-rv1-radius-sm); padding: var(--oita-rv1-space-4); text-align: center; }
.oita-rv1-why-stats b { display: block; font-family: var(--oita-rv1-font-num); font-size: var(--oita-rv1-fs-xl); color: var(--oita-rv1-sea-deep); }
.oita-rv1-why-stats span { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }
.oita-rv1-why-links { font-weight: 700; }

/* よくある質問（/qa/・/qa/各カテゴリ） */
.oita-rv1-qa__lead { background: var(--oita-rv1-sea-pale); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); margin-bottom: var(--oita-rv1-space-6); }
.oita-rv1-qa__lead p { margin: 0 0 var(--oita-rv1-space-2); font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-qa__lead p:last-child { margin-bottom: 0; }
.oita-rv1-qa .oita-rv1-faq__q { text-align: left; cursor: pointer; color: var(--oita-rv1-ink); line-height: 1.6; }
.oita-rv1-qa .oita-rv1-faq__q:hover { color: var(--oita-rv1-sea); }
.oita-rv1-qa .oita-rv1-faq__a { color: var(--oita-rv1-ink); }
.oita-rv1-qa .oita-rv1-faq__a p { margin: 0 0 var(--oita-rv1-space-3); }
.oita-rv1-page__body .oita-rv1-qa__rel { padding-left: 1.2em; }
.oita-rv1-qa__back { margin-top: var(--oita-rv1-space-6); font-weight: 700; }
.oita-rv1-page__body .oita-rv1-qa__cats { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--oita-rv1-space-3); }
@media (min-width: 768px) { .oita-rv1-page__body .oita-rv1-qa__cats { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .oita-rv1-page__body .oita-rv1-qa__cats { grid-template-columns: repeat(3, 1fr); } }
.oita-rv1-page__body .oita-rv1-qa__cats li { margin: 0; }
.oita-rv1-qa__cats a { display: block; height: 100%; background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4); text-decoration: none; color: var(--oita-rv1-ink); }
.oita-rv1-qa__cats a:hover { border-color: var(--oita-rv1-sea); }
.oita-rv1-qa__cats b { display: block; color: var(--oita-rv1-sea); margin-bottom: var(--oita-rv1-space-1); }
.oita-rv1-qa__cats span { font-size: var(--oita-rv1-fs-xs); color: var(--oita-rv1-ink-soft); }

/* 弁護士費用（/fee/） */
.oita-rv1-fee__sec { margin: var(--oita-rv1-space-7) 0; }
.oita-rv1-fee h3[id] { scroll-margin-top: 6rem; }
.oita-rv1-fee__branch { display: grid; gap: var(--oita-rv1-space-3); margin: var(--oita-rv1-space-4) 0 var(--oita-rv1-space-6); }
@media (min-width: 768px) { .oita-rv1-fee__branch { grid-template-columns: 1fr 1fr; } }
.oita-rv1-fee__branch a { display: block; background: var(--oita-rv1-white); border: 2px solid var(--oita-rv1-sea); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); text-decoration: none; color: var(--oita-rv1-ink); }
.oita-rv1-fee__branch a:hover { background: var(--oita-rv1-sea-pale); }
.oita-rv1-fee__branch b { display: block; color: var(--oita-rv1-sea); font-size: var(--oita-rv1-fs-lg); margin-bottom: var(--oita-rv1-space-1); }
.oita-rv1-fee__branch b::after { content: " ↓"; }
.oita-rv1-fee__branch span { font-size: var(--oita-rv1-fs-sm); color: var(--oita-rv1-ink-soft); }
.oita-rv1-fee__scroll { overflow-x: auto; }
.oita-rv1-page__body .oita-rv1-fee__table thead th { background: var(--oita-rv1-sea); color: var(--oita-rv1-white); }
.oita-rv1-page__body .oita-rv1-fee__table tbody th { width: 11em; }
.oita-rv1-page__body .oita-rv1-fee__table strong { color: var(--oita-rv1-brand-deep); }
.oita-rv1-fee__points { display: grid; gap: var(--oita-rv1-space-3); margin: var(--oita-rv1-space-5) 0; }
@media (min-width: 900px) { .oita-rv1-fee__points { grid-template-columns: repeat(3, 1fr); } }
.oita-rv1-fee__points > div { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-top: 3px solid var(--oita-rv1-brand); border-radius: var(--oita-rv1-radius-sm); padding: var(--oita-rv1-space-4); }
.oita-rv1-fee__points b { display: block; color: var(--oita-rv1-sea-deep); margin-bottom: var(--oita-rv1-space-2); }
.oita-rv1-fee__points p { margin: 0; font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-fee__dl { margin: var(--oita-rv1-space-3) 0 var(--oita-rv1-space-4); }
.oita-rv1-fee__dl dt { font-weight: 700; margin-top: var(--oita-rv1-space-3); padding-left: .9em; border-left: 3px solid var(--oita-rv1-sea); }
.oita-rv1-fee__dl dd { margin: var(--oita-rv1-space-1) 0 0 calc(.9em + 3px); font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-fee__compare { display: grid; gap: var(--oita-rv1-space-4); margin: var(--oita-rv1-space-5) 0; }
@media (min-width: 900px) { .oita-rv1-fee__compare { grid-template-columns: 1fr 1fr; } }
.oita-rv1-fee__compare > div { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); }
.oita-rv1-page__body .oita-rv1-fee__compare h3 { margin-top: 0; }
.oita-rv1-fee__cards { display: grid; gap: var(--oita-rv1-space-4); margin-top: var(--oita-rv1-space-4); }
@media (min-width: 768px) { .oita-rv1-fee__cards { grid-template-columns: 1fr 1fr; } }
.oita-rv1-fee__cards > div { background: var(--oita-rv1-white); border: 1px solid var(--oita-rv1-line); border-radius: var(--oita-rv1-radius-md); padding: var(--oita-rv1-space-4) var(--oita-rv1-space-5); }
.oita-rv1-page__body .oita-rv1-fee__cards h3 { margin-top: 0; color: var(--oita-rv1-sea); }
.oita-rv1-fee__cards p { font-size: var(--oita-rv1-fs-sm); }
.oita-rv1-fee__links { font-weight: 700; }

/* 弁護士費用：イラスト（現行サイトの画像） */
.oita-rv1-fee__sec { display: flow-root; }
.oita-rv1-fee h3 { clear: both; }
.oita-rv1-fee__fig { margin: 0 0 var(--oita-rv1-space-4); }
.oita-rv1-fee__fig img { display: block; width: 100%; height: auto; border-radius: var(--oita-rv1-radius-md); }
.oita-rv1-fee__fig--center { max-width: 44rem; margin: var(--oita-rv1-space-4) auto var(--oita-rv1-space-5); }
.oita-rv1-fee__fig--right { max-width: 22rem; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) {
  .oita-rv1-fee__fig--right { float: right; width: 38%; max-width: 22rem; margin: 0 0 var(--oita-rv1-space-4) var(--oita-rv1-space-5); }
}
.oita-rv1-fee__cardimg { display: block; width: 100%; height: 11rem; object-fit: contain; background: var(--oita-rv1-paper); border-radius: var(--oita-rv1-radius-sm); margin-bottom: var(--oita-rv1-space-3); }

/* ==========================================================================
   共通 Footer
   renewal-top.css から移植（2026-10-01）
   ========================================================================== */
.footer {
  background: #0d2647;
  color: #fff;
}

.footer__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 20px 20px;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 24px;
}

.footer .logo__sub,
.footer .logo__main,
.footer .logo__office {
  color: #fff;
}

.footer__addr {
  font-size: 12px;
  line-height: 1.8;
  margin-top: 12px;
  opacity: .9;
}

.footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
  font-size: 12px;
  padding-top: 6px;
}

.footer__nav a:hover {
  color: #f0801c !important;
  text-decoration: underline;
}

.footer__sub {
  flex-basis: 100%;
}

.footer__bottom {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px 20px;
  font-size: 11px;
  opacity: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__bottom > small {
  opacity: .85;
}

/* ページ上部へ戻るボタン：画面右下に固定 */
.footer .totop,
.footer .totop:visited {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  width: 40px;
  height: 40px;
  margin: 0;
  border: 2px solid #f0801c !important;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: #f0801c !important;
  font-size: 0 !important;
  line-height: 1;
  text-decoration: none;
}

.footer .totop::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  width: 11px;
  height: 11px;
  border-top: 3px solid #f0801c !important;
  border-left: 3px solid #f0801c !important;
  transform: translate(-50%, -50%) rotate(45deg);
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .footer__inner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 14px 14px;
  }

  .footer__addr {
    display: none;
  }

  .footer__nav {
    font-size: 12px;
    gap: 6px 14px;
  }

  .footer__bottom {
    padding: 0 14px 16px;
  }
}

/* PC / Tablet：トップページで調整したフッターデザインを全ページ共通化 */
@media (min-width: 768px) {
  .footer {
    background: #102c4a;
  }

  .footer__inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 34px 28px 14px;
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
  }

  .footer .logo {
    align-items: flex-start;
    gap: 12px;
  }

  .footer .logo__mark {
    width: 54px;
    height: auto;
  }

  .footer .logo__text {
    line-height: 1.25;
  }

  .footer .logo__sub {
    font-size: 14px;
    line-height: 1.35;
  }

  .footer .logo__main {
    font-size: 24px;
    line-height: 1.25;
  }

  .footer .logo__office {
    margin-top: 3px;
    font-size: 14px;
    line-height: 1.4;
  }

  .footer__addr {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.8;
    opacity: 1;
  }

  .footer__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 14px 0;
    padding-top: 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
  }

  .footer__nav a {
    display: inline-block;
    padding: 0 24px;
    border-right: 1px solid rgba(255,255,255,.18);
  }

  .footer__nav a:first-child {
    padding-left: 0;
  }

  .footer__nav a:last-child {
    border-right: 0;
  }

  .footer__sub {
    flex-basis: 100%;
    padding-top: 2px;
  }

  .footer__sub a:first-child {
    padding-left: 0;
  }

  .footer__bottom {
    position: relative;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 28px 34px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 26px;
    font-size: 12px;
    opacity: 1;
  }

  .footer__bottom > p,
  .footer__bottom > small {
    margin-left: auto !important;
    text-align: right !important;
  }

  .footer .totop {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 767px) {
  .footer .totop {
    right: 12px;
    bottom: 80px;
  }

  .footer .totop::before {
    width: 9px;
    height: 9px;
    border-top-width: 2px;
    border-left-width: 2px;
  }
}
@media (max-width: 767px) {

  /* ハンバーガーメニュー下の「メニュー」を正常な横書きに */
  .menu-btn,
  .menu-btn b {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }
  .menu-btn b {
    display: block;
    margin-top: 2px;
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0;
  }
 }
/* ==========================================================================
   2026-10-01 SPヘッダー アイコン色調整
   ========================================================================== */
@media (max-width: 767px) {

  /* 電話アイコンを白に固定 */
  .header__tel,
  .header__tel svg,
  .header__tel use {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }

  /* ドロワーの閉じるボタンを白に固定 */
  .gnav__close {
    color: #fff !important;
  }

  .gnav__close svg,
  .gnav__close use {
    fill: #fff !important;
    stroke: #fff !important;
  }
}
.oita-rv1-cta .oita-rv1-btn,
.oita-rv1-cta .oita-rv1-btn:visited,
.oita-rv1-cta .oita-rv1-btn:hover {
  color: #fff !important;
}
html {
  scroll-behavior: smooth;
}
/* PC：ヘッダーを上部固定 */
@media (min-width: 768px) {
  .site-header-wrap {
    position: sticky;
    top: 0;
    z-index: 10000;
  }
  .header,
  .gnav {
    position: static !important;
  }
}
/* 固定ヘッダー分、ページ内リンクの着地点を調整 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 64px;
  }
}
/* 下層ページ：本文と下部CTAの間隔を縮小 */
@media (min-width: 768px) {
.oita-rv1-cta {
  margin-top: 0;
}
.oita-rv1-section--tight:has(.oita-rv1-cta) {
  padding-top: 0;
}
}
.sp-fixed-cta {
  display: none;
}

/* =========================================
   SP 固定CTA
   ========================================= */

.sp-fixed-cta {
  display: none;
}

@media (max-width: 767px) {

  .sp-fixed-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, .15);

    /* 初期状態は画面外 */
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
    transition: transform .25s ease, opacity .25s ease;
  }

  /* スクロール後に表示 */
  .sp-fixed-cta.is-show {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .sp-fixed-cta .btn {
    min-width: 0;
    height: 64px;
    padding: 6px 4px;
    border-radius: 0;
    box-shadow: none;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;

    color: #fff;
    font-weight: 700;
    text-align: center;
  }

  .sp-fixed-cta .btn__ico {
    width: 22px;
    height: 22px;
  }

  .sp-fixed-cta .btn__ico svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
  }

  .sp-fixed-cta .btn__label {
    font-size: 11px;
    line-height: 1.2;
  }

  .sp-fixed-cta .btn--tel {
    background: var(--c-orange);
  }

  .sp-fixed-cta .btn--line {
    background: var(--c-green);
  }

  .sp-fixed-cta .btn--mail {
    background: var(--c-blue);
  }

  /* ページ最下部が固定CTAに隠れないようにする */
  body {
    padding-bottom: 64px;
  }
}
#jiko-type,
#higaisha-zokusei,
#parts,
#kurahashi,
#kan{
  scroll-margin-top: 70px;
}

@media screen and (min-width: 768px) {
  .gnav__list {
    border-left: 1px solid var(--c-border);
  }

  .gnav__list li:last-child {
    border-right: 1px solid var(--c-border);
  }
}
@media screen and (min-width: 768px) {
  .footer__nav {
    row-gap: 20px!important;
  }
}
@media screen and (min-width: 1025px) {
  .header__addr {
    border-left: 1px solid #555;
    padding-left: 16px;
    margin-left: 16px;
  }
}

@media screen and (min-width: 768px) {
  body:not(.home) .oita-rv1-page__head + .oita-rv1-section {
    padding-top: 50px;
  }

  .single-case .oita-rv1-page__head + .oita-rv1-section {
    padding-top: 20px!important;
  }
}

 