/* ============================================================
   YOHAKU edit — shared styles
   全ページ共通。色・書体・各セクションのスタイルをここで一元管理。
   ============================================================ */

/* --- ブランドカラー / 変数 --- */
:root{
  --bg:#F6F1EA;     /* 背景（クリーム） */
  --surface:#EFE6DA;/* 背景2（ブランドガイド§2 Surface。bg⇄paperでは差が知覚できないため段差用） */
  --ink:#2F2A26;    /* 文字・主ボタン（墨色） */
  --accent:#B89C7D; /* アクセント（ベージュ） */
  --line:#DDD2C4;   /* 罫線 */
  --paper:#FCFAF6;  /* 紙白 */
  --clay:#C26A3F;   /* 差し色（テラコッタ） */
  --night:#211D1A;  /* 夜明け前（/pause/と共通。Celestialとサイトを繋ぐダークトーン） */
  --night2:#3A302A;
  /* テキスト用アクセント（WCAG AA対応・2026-07-11監査で追加）。
     明るい背景の「文字」には必ずこちらを使う。--accent/--clay は罫線・背景・ダーク上の文字専用。
     根拠: #B89C7D は明背景で2.3〜2.5:1しか出ず AA(4.5:1)不合格。下記は色相を保ってAA合格。 */
  --accent-text:#7E6547; /* ベージュ文字用: on paper 5.25:1 / on bg 4.87:1 */
  --clay-text:#96502B;   /* テラコッタ文字・ボタン用: on paper 5.79:1 / on bg 5.37:1 */
}

/* --- アクセシビリティ基盤 --- */
/* キーボードフォーカスの可視化（マウス操作時は出ない） */
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.yohakutime :focus-visible,footer :focus-visible,body.pause :focus-visible{outline-color:var(--paper)}
/* スクリーンリーダー専用テキスト */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* アンカー着地時に固定ヘッダー(72px)へ潜り込まないための余白 */
[id]{scroll-margin-top:84px}
/* スキップリンク（Tabで最初にフォーカスした時だけ現れる） */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:0 0 8px 0;font-size:13px;letter-spacing:.05em}
.skip-link:focus{left:0}

/* --- リセット / 基本 --- */
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"Work Sans","Noto Sans JP",-apple-system,sans-serif;
  background:var(--bg);color:var(--ink);
  line-height:1.8;font-weight:300;
}
.serif{font-family:"Spectral","Noto Serif JP",serif}
/* height:auto必須: width/height属性(CLS対策)とCSS幅指定を両立させる。
   これが無いと属性の高さが固定され画像が伸びる（object-fit系の個別ルールはこれを上書きするので安全） */
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 32px}

/* --- ボタン --- */
.btn{
  display:inline-block;padding:14px 36px;
  background:var(--ink);color:var(--paper);
  border-radius:999px;font-size:14px;letter-spacing:.08em;
  transition:.3s;cursor:pointer;border:none;font-family:inherit;
}
.btn:hover{background:var(--accent)}
.eyebrow{font-size:11px;letter-spacing:.28em;color:var(--accent-text);display:block}

/* --- 画像プレースホルダ枠 --- */
.img-slot{
  position:relative;
  background:linear-gradient(135deg,#EDE5D9,#DDD2C4);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.img-slot img{width:100%;height:100%;object-fit:cover}
.img-slot .ph{text-align:center;color:var(--accent);padding:24px;opacity:.9}
.img-slot .ph b{display:block;font-weight:400;font-size:22px;margin-top:14px;color:var(--ink);opacity:.7}

/* --- ヘッダー / ナビ --- */
header{
  position:fixed;top:0;left:0;right:0;
  background:rgba(246,241,234,.9);backdrop-filter:blur(10px);
  z-index:100;border-bottom:1px solid var(--line);
}
nav{display:flex;justify-content:space-between;align-items:center;height:72px}
.logo{font-family:"Cormorant","Spectral","Noto Serif JP",serif;font-size:24px;letter-spacing:.15em;font-weight:600;white-space:nowrap}
.nav-menu{display:flex;align-items:center;gap:32px}
.nav-links{display:flex;gap:26px;font-size:14px;letter-spacing:.04em}
.nav-links a{opacity:.7;transition:.3s;white-space:nowrap}
.nav-links a:hover{opacity:1}
.nav-cta{padding:10px 22px;white-space:nowrap}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:8px;background:none;border:none;cursor:pointer}
.nav-toggle span{display:block;height:1.5px;width:100%;background:var(--ink);transition:.3s}

/* ヘッダー：〜900px はハンバーガーメニューに切替（それ未満でナビが消えるのを防ぐ） */
@media(max-width:900px){
  .nav-toggle{display:flex}
  .nav-menu{
    position:absolute;top:72px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(246,241,234,.98);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);padding:6px 0 20px;display:none;
  }
  .nav-menu.open{display:flex}
  .nav-links{flex-direction:column;gap:0}
  .nav-links a{padding:14px 32px;font-size:15px;opacity:.85}
  .nav-cta{margin:14px 32px 0;text-align:center}
}

/* --- ヒーロー（トップ） --- */
.hero{
  min-height:100vh;display:flex;align-items:center;
  background:linear-gradient(160deg,#F6F1EA,#EDE5D9);
  padding:104px 0 64px;
}
/* 縦向きタブレット/スマホでは100vh中央寄せだと内容が短く上下に大きな余白ができる。内容に沿わせる */
@media(max-width:1024px) and (orientation:portrait){
  .hero{min-height:auto;padding:120px 0 72px}
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero-copy{text-align:left}
.hero-copy .jp{font-size:13px;letter-spacing:.4em;opacity:.72;margin-bottom:28px}
.hero h1{font-size:52px;font-weight:300;letter-spacing:.02em;line-height:1.3;margin-bottom:28px}
.hero-copy p{font-size:17px;opacity:.75;margin-bottom:40px;line-height:2}
.hero-media .img-slot{aspect-ratio:4/5}
.hero-shot{width:100%;max-width:540px;height:auto;display:block;margin:0 auto}
.hero-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-link{font-size:14px;color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:3px;transition:.3s;white-space:nowrap}
.hero-link:hover{color:var(--ink)}
.kw{font-style:normal;font-weight:600}  /* 本文中のキーワード強調（色は本文のまま・太字のみ） */

/* --- 汎用セクション見出し --- */
.section{padding:140px 0}
.section-tag{font-size:12px;letter-spacing:.3em;color:var(--accent-text);text-align:center;margin-bottom:24px}
.section h2{font-size:38px;font-weight:300;text-align:center;letter-spacing:.04em;margin-bottom:80px;line-height:1.4}

/* --- YOHAKU time とは ---
   中核概念のセクションだけは「夜明け前」のダークトーンで暗転させる。
   Celestialエディションのダークデザインとサイトの世界観を繋ぐブリッジ（ブランドガイド§1.3）。
   呼吸オーブは /pause/ 体験と同じ言語＝「YOHAKU time=あの呼吸」の記憶フック。 */
.yohakutime{background:linear-gradient(170deg,var(--night),var(--night2));color:var(--paper)}
.yt-inner{max-width:680px;margin:0 auto;text-align:center}
.yohakutime h2{margin-bottom:30px;font-size:40px}
.yt-orb{
  width:11px;height:11px;border-radius:50%;margin:0 auto 42px;
  background:rgba(246,241,234,.6);box-shadow:0 0 26px 8px rgba(246,241,234,.15);
  animation:pause-breathe 6s ease-in-out infinite;
}
.yt-lead{font-size:19px;line-height:1.95;opacity:.88;margin-bottom:26px;text-align:left;text-wrap:pretty}
.yt-body{font-size:16px;line-height:2.1;opacity:.72;text-align:left;text-wrap:pretty}
/* ダークセクション内の実写3枚（/yohaku-time/「WHAT IT LOOKS LIKE」）。
   暗所のギャラリー＝写真がほんのり浮かぶ見せ方。キャプション無し（静けさ優先・altで代替） */
.yt-gallery{max-width:880px;margin:64px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.yt-gallery figure{margin:0}
.yt-gallery img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:10px;
  opacity:.9;filter:saturate(.92);
}

/* ダーク上のリンク：体験（pause）=紙白で主役、読み物（more）=ベージュで控えめ（色の役割分けは維持） */
.yohakutime .yt-cta{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}
.yohakutime .yt-cta a{color:var(--paper);border-bottom:1px solid rgba(246,241,234,.3)}
.yohakutime .yt-cta a:hover{color:var(--accent)}
.yohakutime .yt-cta a.yt-more{color:var(--accent);opacity:.9}
.yohakutime .yt-cta a.yt-more:hover{color:var(--paper)}

/* --- 引用（pull-quote）: メソッドの核心メッセージを感情の頂点として独立表示 --- */
.quote{background:var(--paper);position:relative;overflow:hidden}
.quote-inner{max-width:760px;margin:0 auto;text-align:center;position:relative;padding:20px 0}
.quote-kanji{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);
  font-family:"Noto Serif JP",serif;font-weight:300;font-size:230px;line-height:1;
  color:var(--ink);opacity:.045;white-space:nowrap;pointer-events:none;user-select:none;
}
.quote-line{position:relative;font-size:34px;font-weight:300;line-height:1.7;letter-spacing:.02em}
.quote-sub{position:relative;margin-top:26px;font-size:12px;letter-spacing:.26em;color:var(--accent-text)}

/* --- フィロソフィー --- */
.philosophy{background:var(--paper)}
.phil-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}
.phil-card{text-align:center}
.phil-card .num{font-size:13px;color:var(--accent-text);letter-spacing:.2em;margin-bottom:20px}
.phil-card h3{font-size:22px;font-weight:400;margin-bottom:16px}
.phil-card p{font-size:14px;opacity:.7;line-height:2}
/* トップの THE METHOD セクション（メソッド＋3つの実践のダイジェスト） */
.philosophy h2{margin-bottom:24px}
.phil-method-lead{max-width:640px;margin:0 auto;text-align:left;text-wrap:pretty;font-size:17px;line-height:2;opacity:.82}
.phil-ways-label{text-align:center;font-size:12px;letter-spacing:.24em;color:var(--accent-text);margin:64px 0 44px}
.phil-more{text-align:center;margin-top:56px}
.phil-more a{font-size:14px;letter-spacing:.06em;color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:3px;transition:.3s}  /* Read the full philosophy＝読み物への誘導なのでベージュ */
.phil-more a:hover{color:var(--ink)}

/* --- プロダクト / エディション --- */
.products{background:var(--surface)}  /* 紙白カードが浮くよう1段濃い背景（色のリズム） */
.editions-lead{max-width:640px;margin:0 auto 56px;text-align:center;font-size:16px;opacity:.82;line-height:2.2}
.edition-notes{list-style:none;margin:2px 0 22px;display:grid;gap:9px}
.edition-notes li{position:relative;padding-left:22px;font-size:13.5px;opacity:.72;line-height:1.7}
.edition-notes li::before{content:"";position:absolute;left:0;top:12px;width:12px;height:1px;background:var(--accent)}
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px}
.prod-grid.single{display:block;max-width:520px;margin:0 auto}  /* 商品1点時：中央寄せ1カラム */
.prod-info .eyebrow{margin-bottom:12px}
.prod-card{background:var(--paper);border-radius:12px;overflow:hidden;transition:.4s}
.prod-card:hover{transform:translateY(-6px)}
.prod-img{
  aspect-ratio:4/3;background:linear-gradient(135deg,#EDE5D9,#DDD2C4);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent-text);font-size:14px;letter-spacing:.2em;overflow:hidden;position:relative;
}
.prod-img img{width:100%;height:100%;object-fit:cover}
.prod-img.soon::after{
  content:"Coming soon";position:absolute;bottom:14px;right:14px;
  font-size:11px;letter-spacing:.12em;color:var(--paper);
  background:rgba(47,42,38,.55);padding:5px 12px;border-radius:999px;
}
.prod-info{padding:32px}
.prod-info h3{font-size:20px;font-weight:400;margin-bottom:12px}
.prod-info p{font-size:14px;opacity:.7;margin-bottom:20px;line-height:1.9}
.prod-price{font-size:16px;color:var(--accent-text);margin-bottom:18px}
.prod-btn{padding:11px 30px;font-size:13px;background:var(--clay-text)}
.prod-btn:hover{background:#7A3F1F}
.prod-more{text-align:center;margin-top:48px}

/* --- /products/ ページ専用 --- */
/* ヒーロー：特徴ピル＋2台モックアップ */
.prod-hero{padding-bottom:56px}
.hero-pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:32px auto 0;max-width:640px}
.hero-pills li{font-size:12px;letter-spacing:.06em;color:var(--ink);opacity:.8;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 16px}
.prod-hero-shot{margin-top:52px}
/* 透過モックアップ：iPadに影が焼き込み済みのため、CSSの影・角丸はかけない
   （かけると透明キャンバスの矩形に沿って境界線状の影が出る） */
.prod-hero-shot img{width:100%;max-width:760px;height:auto;margin:0 auto;display:block}
.prod-hero-shot video{width:100%;max-width:600px;height:auto;margin:0 auto;display:block}

/* What's inside ギャラリー */
.inside{background:var(--bg)}
.inside h2{margin-bottom:22px}
.inside-lead{text-align:center;max-width:620px;margin:0 auto 60px;font-size:16px;opacity:.75;line-height:2}
.inside-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.inside-item{margin:0}
.inside-item img{width:100%;height:auto;display:block;border-radius:12px;
  border:1px solid var(--line);box-shadow:0 24px 48px -36px rgba(47,42,38,.45);transition:.4s}
.inside-item:hover img{transform:translateY(-6px)}
.inside-item figcaption{margin-top:16px;text-align:center;font-size:12px;letter-spacing:.1em;
  color:var(--accent-text);text-transform:uppercase}

/* Celestial エディション・フィーチャー（2カラム） */
.edition-feature{background:var(--paper)}
.ef-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.ef-media img{width:100%;max-width:440px;height:auto;margin:0 auto;display:block;border-radius:14px;
  border:1px solid var(--line);box-shadow:0 34px 64px -44px rgba(47,42,38,.55)}
.ef-info{text-align:left}
.ef-info .eyebrow{margin-bottom:14px}
.ef-info h2{text-align:left;font-size:32px;margin-bottom:22px}
.ef-desc{font-size:16px;opacity:.78;line-height:2;margin-bottom:24px}
.edition-feature .edition-notes{margin:0 0 26px}
.edition-feature .edition-notes li{font-size:14px}
.ef-price{font-size:22px;color:var(--clay-text);margin-bottom:24px;font-family:"Spectral","Noto Serif JP",serif}

/* --- ストーリー --- */
.story{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center}
.story-media .img-slot{aspect-ratio:4/3}
.story-inner h2{text-align:left;margin-bottom:28px}
.story-inner .section-tag{text-align:left}
.story-inner p{font-size:16px;opacity:.8;line-height:2.4}
.story-inner p + p{margin-top:1.5em}  /* 段落間の余白（<br><br>を廃止し正しい2段落に） */

/* --- ニュースレター / FREE GIFT --- */
.newsletter{background:linear-gradient(160deg,#EDE5D9,#F6F1EA)}
.news-grid{display:grid;grid-template-columns:.8fr 1fr;gap:64px;align-items:center}
.news-media{display:flex;justify-content:center}
.news-media img{
  width:100%;max-width:330px;border:1px solid var(--line);border-radius:10px;
  background:var(--paper);box-shadow:0 22px 50px rgba(184,156,125,.42);
}
.news-inner{max-width:520px}
.news-inner .section-tag,.news-inner h2{text-align:left}
.news-inner h2{margin-bottom:24px}
.news-copy{opacity:.75;line-height:2}
.news-copy + .news-copy{margin-top:1em}  /* 説明文を2段落に分割・段落間の余白 */
.news-form{display:flex;gap:12px;margin-top:40px}
.news-form input{
  flex:1;padding:16px 24px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);font-size:14px;font-family:inherit;
}

/* --- 下層ページ用ヒーロー（contact 等） --- */
.page-hero{padding:180px 0 80px;text-align:center;background:linear-gradient(160deg,#F6F1EA,#EDE5D9)}
.page-hero .jp{font-size:13px;letter-spacing:.4em;opacity:.72;margin-bottom:28px}
.page-hero h1{font-size:44px;font-weight:300;letter-spacing:.04em;line-height:1.4;margin-bottom:24px}
.page-hero p{font-size:16px;opacity:.75;line-height:2;max-width:560px;margin:0 auto}

/* --- Philosophy / Method ページ --- */
.method{background:var(--bg)}
.why{background:var(--paper)}
.method .m-inner,.why .m-inner,.phil-cta .m-inner{max-width:680px;margin:0 auto;text-align:center}
.method h2,.why h2{margin-bottom:30px}
.method .section-tag,.why .section-tag,.practice .section-tag{margin-bottom:24px}
.m-lead{font-size:19px;line-height:1.95;opacity:.85;margin-bottom:26px}
.m-body{font-size:16px;line-height:2.1;opacity:.7;margin-bottom:0}

/* 「唯一の質問」の格上げ表示（/yohaku-time/）。/pause/の問いと同じ「大きなセリフの問い」言語 */
.rule-q{font-size:34px;font-weight:300;line-height:1.5;letter-spacing:.02em;margin:52px 0 20px}
@media(max-width:768px){.rule-q{font-size:25px;margin:36px 0 16px}}

/* 下層ページヒーロー内のインラインリンク（philosophy→/yohaku-time/ 等） */
.page-hero p a{color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:1px;transition:.3s}
.page-hero p a:hover{color:var(--ink)}
/* /yohaku-time/ 末尾のTRY IT（体験が主役・無料ページは控えめな脇道） */
.m-btn{margin-top:40px}
.m-note{margin-top:26px;font-size:13.5px;opacity:.72;letter-spacing:.02em}
.m-note a{color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:2px;transition:.3s}
.m-note a:hover{color:var(--ink)}

.practice{background:var(--bg)}
.practice h2{margin-bottom:24px}
.practice-lead{max-width:600px;margin:0 auto 64px;text-align:center;font-size:16px;opacity:.7;line-height:2}
.practice .phil-card{
  background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:40px 30px;display:flex;flex-direction:column;
}
.practice .phil-card h3{margin-bottom:14px}
.practice .phil-card p{flex:1;margin-bottom:22px}
.card-cta{
  font-size:13px;letter-spacing:.06em;color:var(--clay-text);
  border-bottom:1px solid var(--line);padding-bottom:3px;align-self:center;transition:.3s;
}
.card-cta:hover{color:var(--ink)}

/* The method：テキスト＋画像の2カラム（縦の単調さを断つ） */
.m-two{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.m-two-copy{text-align:left}
.m-two-copy .section-tag,.m-two-copy h2{text-align:left}
.m-two-copy h2{margin-bottom:22px}
.m-two-copy .m-lead{margin-bottom:20px}
.m-two-media .img-slot{aspect-ratio:4/5}

.phil-cta{background:var(--paper)}
/* /products/ では edition-feature(紙白)の直後に phil-cta(紙白)が続き境目が消えるため、
   直後の phil-cta だけクリーム背景にして段差を作る。philosophyページは practice(クリーム)→phil-cta なので非該当 */
.edition-feature + .phil-cta{background:var(--bg)}
.phil-cta h2{margin-bottom:22px}
.cta-two{display:grid;grid-template-columns:.8fr 1fr;gap:64px;align-items:center}
.cta-media{display:flex;justify-content:center}
.cta-media img{
  width:100%;max-width:300px;border:1px solid var(--line);border-radius:10px;
  background:var(--paper);box-shadow:0 22px 50px rgba(184,156,125,.42);
}
.cta-copy{text-align:left}
.cta-copy h2{text-align:left}
.cta-copy p{font-size:16px;opacity:.75;line-height:2;margin-bottom:36px}

@media(max-width:768px){
  .m-two,.cta-two{grid-template-columns:1fr;gap:36px}
  .m-two-copy,.m-two-copy .section-tag,.m-two-copy h2,.cta-copy,.cta-copy h2{text-align:center}
  .m-two-media{order:-1}
  .m-two-media .img-slot{aspect-ratio:4/3;max-width:380px;margin:0 auto}
  .cta-media{order:-1}
  .cta-media img{max-width:240px}
}

/* 体験ページへの導線リンク
   リンク色の役割分け: テラコッタ(--clay)=「する/体験する」アクション、
   ベージュ(--accent)=「読む/知る」への控えめな誘導。 */
.yt-cta{margin-top:36px}
.m-cta{margin-top:24px}
.yt-cta a{color:var(--clay-text)}          /* Try it（体験へ）＝アクション色 */
.yt-cta a:hover{color:var(--ink)}

/* --- /pause/ 体験ページ（夜明け＋フェードする言葉） --- */
body.pause{background:#211d1a;transition:background-color 6s linear}  /* 背景遷移=1呼吸(6s)で1段階。linearで区間を等速に繋いで段差感を消す */
body.pause footer{display:none}  /* 没入のためフッターは隠す（離脱はロゴ／Return home） */
body.pause header{background:transparent;backdrop-filter:none;border-bottom:none}
body.pause .logo,body.pause .nav-links a{color:var(--paper)}
body.pause .nav-links a{opacity:.75}
body.pause .nav-toggle span{background:var(--paper)}
/* モバイルのハンバーガーを開くとドロップダウンは明るいクリーム背景になるため、白文字だと読めない。開いた時だけリンク色を墨に戻す */
body.pause .nav-menu.open .nav-links a{color:var(--ink);opacity:.85}
.pause{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:0 24px;background:transparent;
  color:var(--paper);text-align:center;box-sizing:border-box;
}
.pause-stage{max-width:640px;width:100%}
.pause-orb{
  width:12px;height:12px;border-radius:50%;margin:0 auto 44px;
  background:rgba(246,241,234,.6);box-shadow:0 0 28px 8px rgba(246,241,234,.14);
  animation:pause-breathe 6s ease-in-out infinite;
}
@keyframes pause-breathe{
  0%,100%{transform:scale(1);opacity:.32}
  50%{transform:scale(2);opacity:.72}
}
.pause-line{
  font-family:"Spectral","Noto Serif JP",serif;font-weight:300;font-size:30px;line-height:1.6;
  letter-spacing:.02em;opacity:0;transform:translateY(8px);
  min-height:3.2em;display:flex;align-items:center;justify-content:center;  /* 2行分の高さを確保し、行替え時の位置ズレを防ぐ */
  transition:opacity 2s ease,transform 2s ease;
}
.pause-line.show{opacity:.92;transform:none}
.pause-final{opacity:1}  /* コンテナは常時。問い→答えを段階表示 */
.pause-question{
  font-family:"Spectral","Noto Serif JP",serif;font-weight:300;font-size:30px;line-height:1.6;
  letter-spacing:.02em;max-width:600px;margin:0 auto;
  opacity:0;transform:translateY(8px);
  transition:opacity 2s ease,transform 2s ease;
}
.pause-final.show .pause-question{opacity:.9;transform:none}
.pause-final.reveal .pause-question{transform:scale(.74)}  /* 答え表示時に縮小。transformなのでreflowせず滑らか（30→約22px / 24→約18px） */
/* 答えは高さ0→展開でせり出す。展開に伴い中央寄せが再計算され、問いが上へ滑らかに移動する */
.pause-answer{max-height:0;opacity:0;overflow:hidden;transition:max-height 1.5s ease,opacity 1.5s ease}
.pause-final.reveal .pause-answer{max-height:640px;opacity:1;margin-top:44px}  /* インラインフォーム分の高さを確保 */
.pause-final .pause-headline{font-size:40px;font-weight:300;margin-bottom:20px}
.pause-answer p{font-size:16px;opacity:.82;line-height:2;margin:0 auto 32px;max-width:440px}
.pause-final .btn{background:var(--paper);color:var(--ink)}
.pause-final .btn:hover{background:var(--accent);color:var(--paper)}
/* /pause/ 最終画面のインライン登録フォーム（ダーク背景 #5f4d3f 用） */
.pause-form{display:flex;gap:10px;justify-content:center;max-width:440px;margin:0 auto 16px}
.pause-form input{
  flex:1;min-width:0;padding:14px 22px;border:1px solid rgba(246,241,234,.35);border-radius:999px;
  background:transparent;color:var(--paper);font-size:14px;font-family:inherit;
}
.pause-form input::placeholder{color:rgba(246,241,234,.55)}
.pause-form input:focus{outline:none;border-color:rgba(246,241,234,.75)}
.pause-answer .pause-note{font-size:12px;opacity:.6;letter-spacing:.04em;margin:0 auto 8px;line-height:1.9}
.pause-answer .pause-done{font-size:18px;line-height:1.8;margin:0 auto 8px}
.pause-home{
  display:block;width:max-content;margin:24px auto 0;font-size:13px;letter-spacing:.08em;
  color:var(--paper);opacity:.5;border-bottom:1px solid rgba(246,241,234,.25);padding-bottom:2px;transition:.3s;
}
.pause-home:hover{opacity:.9}
.pause-skip{
  position:fixed;top:92px;right:32px;z-index:101;background:none;border:none;cursor:pointer;
  color:var(--paper);opacity:.62;font-family:inherit;font-size:13px;letter-spacing:.1em;transition:opacity .3s;
  padding:6px 4px;
}
.pause-skip:hover{opacity:.9}
.pause-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:rgba(246,241,234,.12)}
.pause-progress span{display:block;height:100%;width:0;background:rgba(246,241,234,.5);transition:width 2s ease}
@media(max-width:768px){
  .pause-line{font-size:24px}
  .pause-question{font-size:24px}
  .pause-final .pause-headline{font-size:30px}
  .pause-skip{top:84px;right:24px}
  .pause-form{flex-direction:column;align-items:stretch;padding:0 8px}
  .pause-form .btn{align-self:center}
}
@media(prefers-reduced-motion:reduce){
  body.pause{transition:none}
  .pause-line,.pause-final,.pause-progress span{transition:opacity .2s ease}
  .pause-orb,.yt-orb{animation:none;opacity:.5}
}

/* --- スクロールフェードイン（全ページ共通・footer.phpのJSが .fade を付与） ---
   「間(ま)」の演出。控えめに1回だけ。reduced-motion時は無効＝常時表示 */
.fade{opacity:0;transform:translateY(16px);transition:opacity 1.1s ease,transform 1.1s ease}
.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;transition:none}
}

/* --- お問い合わせフォーム --- */
.contact{padding:100px 0 140px;background:var(--paper)}
.contact-inner{max-width:600px;margin:0 auto}
.form-group{margin-bottom:32px}
.form-group label{display:block;font-size:13px;letter-spacing:.1em;margin-bottom:12px;opacity:.8}
.form-group label .req{color:var(--accent-text);margin-left:6px;font-size:12px}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:16px 20px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg);font-size:15px;font-family:inherit;color:var(--ink);transition:.3s;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-text)}
.form-group textarea{resize:vertical;min-height:160px;line-height:1.9}
.form-note{font-size:13px;opacity:.6;line-height:2;margin-bottom:40px}
.form-submit{text-align:center}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-thanks{text-align:center;padding:40px 0}
.form-thanks h3{font-size:22px;font-weight:400;margin-bottom:16px}
.form-thanks p{font-size:14px;opacity:.7;line-height:2}
.form-errors{background:rgba(0,0,0,.03);border:1px solid var(--line);border-radius:4px;padding:16px 20px;margin-bottom:32px}
.form-errors ul{margin:0;padding-left:20px}
.form-errors li{font-size:14px;color:var(--clay-text);line-height:1.9}
.contact-alt{margin-top:72px;padding-top:56px;border-top:1px solid var(--line);text-align:center}
.contact-alt h3{font-size:18px;font-weight:400;margin-bottom:16px}
.contact-alt p{font-size:14px;opacity:.7;line-height:2;margin-bottom:8px}
.contact-alt a{color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:2px}

/* --- フッター --- */
footer{background:var(--ink);color:var(--paper);padding:80px 0 40px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:60px}
.foot-brand .logo{margin-bottom:20px;display:block}
.foot-brand p{font-size:13px;opacity:.6;line-height:2}
.foot-social{display:flex;gap:18px;margin-top:22px}
.foot-social a{color:var(--paper);opacity:.5;transition:.3s;display:inline-flex}
.foot-social a:hover{opacity:1}
.foot-social svg{width:19px;height:19px;fill:currentColor;display:block}
.foot-col h4{font-size:13px;letter-spacing:.2em;margin-bottom:24px;opacity:.9}
.foot-col a{display:block;font-size:13px;opacity:.6;margin-bottom:14px;transition:.3s}
.foot-col a:hover{opacity:1}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:30px;text-align:center;font-size:12px;opacity:.5;letter-spacing:.1em}

/* ============================================================
   モバイル（〜768px）
   ============================================================ */
@media(max-width:768px){
  .wrap{padding:0 24px}

  .hero{padding:120px 0 72px}
  .hero-grid{grid-template-columns:1fr;gap:44px;text-align:center}
  .hero-copy{text-align:center}
  .hero h1{font-size:36px;line-height:1.35}
  .hero-copy p{font-size:15px}
  .hero-shot{max-width:300px}
  .hero-cta{justify-content:center}

  .section{padding:80px 0}
  .section h2{font-size:28px;margin-bottom:44px;line-height:1.4}
  .yohakutime h2{font-size:26px;margin-bottom:22px}
  .yt-lead{font-size:16px}
  .yt-body{font-size:14px}
  .yt-orb{margin-bottom:32px}
  .yt-gallery{margin-top:44px;gap:10px}
  .quote-line{font-size:24px}
  .quote-kanji{font-size:150px}
  .quote-sub{font-size:11px}

  .phil-grid,.prod-grid,.foot-grid{grid-template-columns:1fr}

  .prod-hero-shot{margin-top:36px}
  .hero-pills{gap:8px}
  .inside-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .inside-item figcaption{font-size:11px}
  .ef-grid{grid-template-columns:1fr;gap:40px}
  .ef-media{order:-1}
  .ef-media img{max-width:300px}
  .ef-info h2{text-align:center;font-size:26px}
  .ef-info .eyebrow,.ef-info .ef-desc,.ef-price{text-align:center}
  .edition-feature .edition-notes{max-width:340px;margin:0 auto 26px}
  .ef-info .btn{display:block;margin:0 auto;width:max-content}

  .story-grid{grid-template-columns:1fr;gap:36px}
  .story-inner h2,.story-inner .section-tag{text-align:center}

  .news-grid{grid-template-columns:1fr;gap:36px}
  .news-media{order:-1}
  .news-media img{max-width:240px}
  .news-inner{margin:0 auto}
  .news-inner .section-tag,.news-inner h2{text-align:center}
  .news-form{flex-direction:column}
  .news-form .btn{align-self:center}

  .page-hero{padding:140px 0 60px}
  .page-hero h1{font-size:32px;line-height:1.5}
  .contact{padding:64px 0 90px}
  .form-submit .btn{padding:14px 48px}
}
