@charset "utf-8";
/* =============================================================
   南紀黒潮パートナーズ株式会社 公式サイト｜静的HTML本制作
   base.css ─ 全ページ共通の土台

   1. デザイントークン（変数）
   2. リセット
   3. ベースタイポグラフィ
   4. レイアウトユーティリティ
   5. 表示演出の土台
   6. 動きを減らす設定

   正式デザイン基準：docs/05_デザイン設計仕様.md 4章（Plan C「潮流・シネマティック」）
   読み込み順：base.css → components.css → pages/<ページ名>.css
   ここにはページ固有・コンポーネント固有のスタイルを書かない。
   ============================================================= */

/* -------------------------------------------------------------
   1. デザイントークン（変数）
   ------------------------------------------------------------- */
:root{
  /* 色 ---------------------------------------------------------
     Plan Cの正式パレット。原色・多色・強いグラデーションは使わない。
     ページ全体を濃紺にせず「白 → 濃紺 → 白」のリズムをつくる。 */
  --paper:#f8f8f4;      /* 明るい紙色（基本の背景） */
  --white:#ffffff;
  --ink:#1b3039;        /* 基本の文字色 */
  --ink-soft:#33454d;   /* 本文の文字色（見出しより少し弱く） */
  --blue:#123d52;       /* 黒潮ブルー */
  --deep:#0a2531;       /* 最も深い青（ページヒーロー・フッター） */
  --muted:#576b73;      /* 補助テキスト */
  --line:#ccd6d8;       /* 罫線 */
  --tint:#eaf0ef;       /* 薄い面 */
  --journey:#244b5b;    /* 濃紺の中間面 */
  --contact:#f0f4f2;    /* お問い合わせCTAの面 */

  /* 濃紺・写真の上に置く文字色 */
  --on-dark:#e6eef2;
  --on-dark-soft:#bcd6e0;

  /* ゴールド。線・番号・矢印・ラベルにだけ使い、面で塗らない。 */
  --gold:#b08d4e;       /* 装飾（線・点・矢印・円弧） */
  --gold-text:#856a2b;  /* 明るい面に置く小さな文字用 */
  --gold-light:#d9bd7f; /* 濃紺・写真の上に置く文字用 */

  /* 書体 -------------------------------------------------------
     日本語＝明朝体（Zen Old Mincho）／英数ラベル＝Manrope
     各ページの <head> で必要weightのみWeb配信から読み込む。 */
  --font-ja:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-en:"Manrope", "Zen Old Mincho", sans-serif;

  /* モーション -------------------------------------------------- */
  --ease:cubic-bezier(.22,.68,.2,1);
  --flow-time:.42s;   /* CTAのライン・矢印 */
  --reveal-time:.95s; /* スクロール表示 */

  /* レイアウト -------------------------------------------------- */
  --wrap:1180px;                    /* 本文の最大幅 */
  --gutter:clamp(20px,5vw,72px);    /* 画面左右の余白 */
  --header-h:92px;                  /* 固定ヘッダーの高さ */
  --section-pad:clamp(84px,10.5vw,164px);  /* セクションの上下余白 */
  --section-pad-sm:clamp(64px,8vw,112px);  /* 控えめなセクション */
}

/* ヘッダー高さは画面幅で変わる。アンカー位置の計算にも使うため変数で持つ。 */
@media (max-width:1024px){ :root{--header-h:84px} }
@media (max-width:768px){  :root{--header-h:74px} }

/* -------------------------------------------------------------
   2. リセット
   ------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  /* 固定ヘッダーの下に見出しが隠れないようにする */
  scroll-padding-top:calc(var(--header-h) + 16px);
  scrollbar-gutter:stable;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-ja);
  font-weight:400;
  font-size:16px;
  line-height:2.05;
  letter-spacing:.045em;
  font-synthesis:none;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
/* PC/SPで画像を出し分ける <picture> が、余分なボックスを作らないようにする */
picture{display:contents}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset,dialog{margin:0;padding:0}
ul,ol{list-style:none}
fieldset{border:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid #29809f;outline-offset:4px}

/* モーダル（モバイルメニュー等）を開いている間は背面をスクロールさせない */
body.is-modal-open{overflow:hidden}

/* -------------------------------------------------------------
   3. ベースタイポグラフィ
   ------------------------------------------------------------- */
/* 見出しの基本。明朝体は行間を広めに取る。
   大きさはコンポーネント側（.sec-title / .page-hero-title 等）で決める。 */
h1,h2,h3,h4{font-weight:500;letter-spacing:.07em;line-height:1.62}
strong{font-weight:500}

/* 本文ブロック。文章が続く箇所へ付けて、段落間の余白を揃える。
   text-wrap:pretty は、最終行に1〜2文字だけ残る折り返しを避けるための漸進的な指定。
   非対応ブラウザでは従来どおりに折り返されるだけで、レイアウトは変わらない。 */
.prose > p{margin-bottom:1.75em;font-size:15.5px;line-height:2.15;color:var(--ink-soft);text-wrap:pretty}
.prose > p:last-child{margin-bottom:0}
.prose-light > p{color:#dde8ed}

/* -------------------------------------------------------------
   4. レイアウトユーティリティ
   ------------------------------------------------------------- */
.wrap{width:min(100% - var(--gutter) * 2, var(--wrap));margin-inline:auto}
.section{padding-block:var(--section-pad)}
.section-sm{padding-block:var(--section-pad-sm)}

/* 面の切り替え（白 → 濃紺 → 白 のリズムをつくる） */
.bg-paper{background:var(--paper)}
.bg-white{background:var(--white)}
.bg-tint{background:var(--tint)}
.bg-deep{background:var(--deep);color:#fff}
.bg-blue{background:var(--journey);color:#fff}

/* 改行の出し分け。PC用と狭い画面用を書き分ける。 */
.pc-br{display:inline}
.sp-br{display:none}
@media (max-width:768px){
  .pc-br{display:none}
  .sp-br{display:inline}
}

/* 読み上げ専用テキスト */
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}

/* 本文へスキップ（キーボード操作の先頭に置く） */
.skip-link{
  position:absolute;left:16px;top:-60px;z-index:100;
  padding:12px 20px;background:var(--blue);color:#fff;font-size:13px;
  transition:top .3s var(--ease);
}
.skip-link:focus{top:16px}

/* -------------------------------------------------------------
   5. 表示演出の土台
   JSが動く環境でのみ <html> に js-motion が付く。
   そのときだけ「最初は隠す」指定を効かせるので、
   JS無効・動きを減らす設定では最初から全て表示される。
   ------------------------------------------------------------- */
.js-motion [data-reveal]{
  opacity:0;transform:translateY(26px);
  transition:opacity var(--reveal-time) var(--ease),transform var(--reveal-time) var(--ease);
}
.js-motion [data-reveal].is-revealed{opacity:1;transform:none}

/* まとまりを順番に見せる場合は親へ data-reveal-group を付け、
   子要素へ style="--i:0" のように順番を渡す。 */
.js-motion [data-reveal-group] > *{
  opacity:0;transform:translateY(18px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.js-motion [data-reveal-group].is-revealed > *{
  opacity:1;transform:none;
  transition-delay:calc(var(--i,0) * .12s);
}

/* -------------------------------------------------------------
   6. 動きを減らす設定（prefers-reduced-motion）
   ------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  /* 視差で動かしている写真のずれを明示的に止める */
  [data-parallax]{translate:none!important}
}
