/* ==========================================================================
   AOKI TRAVEL — page-simple.css（プライバシーポリシー・404 の2ページ共用）
   値はすべて tokens.css に従う。base.css のクラスは上書きしない。
   ========================================================================== */

/* ---------- 共通：静かな下層ページ ---------- */
.page-privacy .page-head,
.page-404 .page-head{padding-top:60px}
.page-privacy .page-head__lead,
.page-404 .page-head__lead{max-width:700px}

/* ---------- プライバシーポリシー ---------- */
.legal-sec{background:var(--paper);padding-top:56px}
.legal{max-width:var(--text);margin:0 auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:52px 56px 48px}
.legal__meta{font-size:var(--fs-small);color:var(--ink-2);letter-spacing:.04em;margin-bottom:20px}
.legal__intro{margin-bottom:18px}
.legal__sample{background:var(--paper);border-left:4px solid var(--orange);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 18px;color:var(--ink-2);margin-bottom:0}

/* 条番号つきの見出し（セリフ＋橙の細線） */
.legal__h{position:relative;font-family:var(--font-serif);font-weight:700;font-size:var(--h-sm);line-height:1.5;margin:40px 0 14px;padding-bottom:10px}
.legal__h::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--orange)}
.legal p{color:var(--ink-2)}
.legal p:last-child{margin-bottom:0}

.legal__list{margin:0 0 1em;padding-left:2px}
.legal__list li{position:relative;padding-left:22px;margin-bottom:9px;color:var(--ink-2)}
.legal__list li::before{content:"";position:absolute;left:3px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--buff);box-shadow:0 0 0 2px var(--paper)}
.legal__list li:last-child{margin-bottom:0}

.legal__contact{margin-top:22px}
.legal__contact dd a{color:var(--orange-text);font-weight:700;box-shadow:var(--shadow-link)}
.legal__contact dd a:hover{color:var(--orange-2)}

.legal__foot{margin-top:36px;text-align:right;font-family:var(--font-serif);font-weight:700;color:var(--ink)}

@media (max-width:1023px){
  .legal{padding:42px 36px 40px}
  .legal__h{margin-top:34px}
}
@media (max-width:767px){
  .legal-sec{padding-top:36px}
  .legal{padding:30px 22px 32px;border-radius:var(--radius-sm)}
  .legal__h{font-size:var(--h-xs);margin-top:30px}
  .legal__foot{text-align:left}
}

/* ---------- 404 ---------- */
.page-404 .nf{padding-bottom:var(--sec-pb)}
.nf__inner{max-width:760px;margin:0 auto;text-align:center}
.nf__code{display:block;font-family:var(--font-script);font-size:96px;line-height:1;color:var(--olive);margin-bottom:6px}
.nf__txt{color:var(--ink-2);margin:0 auto 30px;max-width:560px}
.nf__actions{margin-bottom:56px}
.nf__photo{display:block;max-width:820px;margin:0 auto;transform:rotate(-1deg)}
.nf__photo img{aspect-ratio:16/7;object-fit:cover}
.nf__cap{display:block;margin-top:16px;text-align:center;font-family:var(--font-script);font-size:26px;color:var(--olive);transform:rotate(1deg)}
.nf__links{margin-top:46px;padding-top:26px;border-top:1px solid var(--line);text-align:center}
.nf__links p{font-weight:700;margin-bottom:12px}
.nf__links ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}
.nf__links a{color:var(--orange-text);font-weight:700}
.nf__links a:hover{color:var(--orange-2)}
@media (max-width:767px){
  .nf__code{font-size:64px}
  .nf__photo img{aspect-ratio:4/3}
  .nf__cap{font-size:22px}
}
