@charset "UTF-8";

/* =============================================================
   法務ページ (privacy / terms / tokusho) と 404 — toury.jp

   **`lp.css` の後に読む。** トークン (--ink / --accent / --font-jp …)・reset・
   タイポグラフィはあちらから受け取り、ここは**このページ固有の骨**だけを持つ。
   同じ値を書き写すと、ver2 の地の色を変えたときにここだけ取り残される。

   本文の markup は ver1 のまま (`sec` / `privacy__*`) で、塗り直しだけで ver2 に
   寄せている。**ヘッダーだけは例外**で、2026-09-08 に index と同じ `.nav` へ
   差し替えた (`site-head` は見た目を寄せてもリンクと CTA が揃わなかった)。
   ============================================================= */

/* ---------------------------------------------------- 共通の器 */
.wrap {
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--pad);
}

/* 読み物なので**本文だけ幅を詰めて中央に置く**。1240px の全幅で流すと 1 行が長すぎて
   目が戻る先を見失うし、左に寄せると幅いっぱいのヘッダーと釣り合わない
   (ver1 はここが全幅だった) */
.sec__body {
  max-width: 760px;
  margin-inline: auto;
}

.sec {
  /* ヘッダーのピル (top 14px + 高さ 56px) の下に本文が潜らない高さから始める */
  padding: clamp(112px, 14vh, 168px) 0 clamp(72px, 9vw, 128px);
}

/* -------------------------------------------------- ヘッダー */
/* ヘッダーは index と同じ `.nav` の markup を使う (2026-09-08)。
   見た目を寄せた `site-head` を持っていたが、リンクも CTA の文言も違っていて
   揃っていなかったため、markup ごと差し替えて lp.css の `.nav` に任せた。
   ここに残るのはフッターのブランド (.brand--foot) が使う分だけ */
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: none;
}

/* ロゴマークは ver2 と同じ「オレンジの角丸」。ver1 は線画のマークだった */
.brand__mark {
  width: 26px;
  height: 26px;
  border-radius: 22.5%;
  background: var(--accent);
  fill: #fff;
  padding: 3px;
}

.brand__type {
  width: 74px;
  height: auto;
  fill: var(--ink);
  color: var(--ink);
}

/* -------------------------------------------------- 見出し類 */
.eyebrow {
  margin: 0 0 14px;
  font-family: var(--font-latin);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}

.privacy__title,
.nf__title {
  margin: 0 0 clamp(20px, 2.6vw, 32px);
  font-size: clamp(30px, 4.4vw, 48px);
  /* **1 段下げて 500。** 600 は読み込んでいない (Noto Sans JP は 400/500/700 のみ) ので、
     指定するとブラウザが合成した太字になり字面が濁る */
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.lead,
.privacy__lead,
.nf__lead {
  margin: 0 0 clamp(32px, 4vw, 52px);
  color: var(--ink-70);
  font-size: 15px;
}

.privacy__body h2 {
  margin: clamp(40px, 5vw, 64px) 0 14px;
  padding-top: clamp(20px, 2.4vw, 28px);
  border-top: 1px solid var(--ink-08);
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.privacy__body h3 {
  margin: 28px 0 10px;
  font-size: 16px;
  font-weight: 700;
}

.privacy__body p {
  margin: 0 0 16px;
  color: var(--ink-70);
}

/* --------------------------------------------------- リスト */
.privacy__list {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.privacy__list li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 20px;
  color: var(--ink-70);
}

/* 中黒ではなくオレンジの点。ver2 が色を出すのはアクセントの一点だけ、という作法に合わせる */
.privacy__list li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 0.72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
}

.privacy__list strong,
.privacy__body strong {
  color: var(--ink);
  font-weight: 700;
}

/* ------------------------------------- 特商法の定義リスト (sct) */
.sct {
  margin: 0;
  border-top: 1px solid var(--ink-08);
}

.sct__row {
  display: grid;
  grid-template-columns: minmax(140px, 200px) 1fr;
  gap: 8px 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ink-08);
}

.sct__k {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.sct__v {
  margin: 0;
  color: var(--ink-70);
}

@media (max-width: 599px) {
  .sct__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* ------------------------------------------------- 末尾の行 */
.privacy__contact {
  margin: clamp(36px, 4.4vw, 56px) 0 8px;
  color: var(--ink-70);
}

.privacy__date {
  margin: 0;
  color: var(--ink-45);
  font-size: 13px;
}

a {
  color: inherit;
  text-decoration: none;
}

.privacy__body a,
.sct__v a,
.privacy__contact a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ----------------------------------------------------- 404 */
.nf {
  padding: clamp(140px, 22vh, 240px) 0 clamp(96px, 12vw, 160px);
  text-align: center;
}

.nf__body {
  max-width: 560px;
  margin-inline: auto;
}

.nf__back {
  display: inline-block;
  margin-top: 8px;
  padding: 13px 26px;
  border-radius: 100px;
  background: var(--accent);
  color: var(--accent-ink);
  font-family: var(--font-latin);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  transition:
    transform 0.3s var(--ease),
    box-shadow 0.3s var(--ease);
}

.nf__back:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(255, 77, 0, 0.32);
}

/* -------------------------------------------------- フッター */
.site-foot {
  padding: 0 var(--pad) clamp(48px, 6vw, 80px);
}

.site-foot__in {
  max-width: var(--wrap);
  margin-inline: auto;
  padding-top: 34px;
  border-top: 1px solid var(--ink-08);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--ink-45);
  font-size: 13px;
}

.brand--foot .brand__mark {
  width: 24px;
  height: 24px;
}

.site-foot__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.site-foot__nav a:hover,
.site-foot__copy a:hover {
  color: var(--ink);
}

.site-foot__copy {
  font-size: 13px;
}

/* ----------------------------------------- 読み飛ばしリンク */
.skip {
  position: absolute;
  left: -9999px;
}

.skip:focus {
  left: 16px;
  top: 16px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
}

/* 画面に出さない sprite。高さを持たせない */
.sprite {
  position: absolute;
  width: 0;
  height: 0;
}

/* LP v3 shared palette; document wording and hierarchy stay intact. */
.doc .privacy__title,.doc .nf__title{font-family:var(--font-display);font-weight:900}
.doc .eyebrow{color:var(--ink-70)}
.doc .privacy__body a,.doc .sct__v a,.doc .privacy__contact a{color:#a83000}
.doc .privacy__body,.doc .sct{line-height:2}
.doc .nf__back{font-weight:700;border:1px solid var(--ink)}
.doc .site-foot__in{color:var(--ink-70)}

/* Match the revised product-page typography and white canvas. */
.doc .privacy__title,.doc .nf__title{font-weight:600}
.doc .eyebrow{font-size:12px}
.doc .sec{padding-top:130px}
.doc .nf{padding-top:170px}
