/* TOP の結び：NEWS（最新3件）→ CONTACT（フォーム）＋フッター（試作_v2、2026-10-06）。
   語り口は MESSAGE・BUSINESS と同じ：白の地、見出しは Barlow Condensed 500・金・26px（スマホ 24px）、押せる所は金の線が左から右へ流れる＋小さな金の英字。
   フォームも同じ言葉で組む：枠線の箱を置かず、下の細い線だけ。手を置くと線が金になる。送るのは READ MORE と同じ「流れる線＋SEND」。
   送り終えると、開幕に画面のど真ん中へ引かれた金の線が、もう一度ど真ん中へ戻る（円環）。 */
.end{position:relative;display:flex;flex-direction:column;background:var(--ground);color:var(--ink);padding:calc(var(--header-h) + 6px) var(--side) 0}
.end-a,.end-c{min-height:100vh;min-height:100svh}
.end-c{position:relative}
.end-n{min-height:100vh;min-height:100svh;padding-bottom:44px}
.end .head{display:block;font-family:var(--disp);font-weight:500;font-size:26px;line-height:1.2;letter-spacing:.2em;color:var(--gold)}

/* 共通：流れる金の線と小さな金の英字（MESSAGE の導線と同じ言葉づかい） */
.end .go{position:relative;height:1px}
.end .ln2{position:absolute;inset:0;overflow:hidden}
.end .ln2::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(172,135,0,.3),rgba(201,162,74,.22) 60%,rgba(172,135,0,0))}
.end .ln2::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(172,135,0,.95) 0 50%,rgba(172,135,0,0) 50% 100%);background-size:200% 100%;background-position:100% 0;animation:flow 2.8s var(--ease-io) 1.2s infinite}
.end .more{position:absolute;right:0;top:9px;font-family:var(--disp);font-weight:500;font-size:11px;line-height:1.2;letter-spacing:.26em;color:var(--gold);white-space:nowrap}
.end a:hover .ln2,.end .send:hover .ln2{transform:scaleX(1.1);transform-origin:left;transition:transform .9s var(--ease)}
.end .rise{opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1.2s var(--ease)}
.end.in .rise{opacity:1;transform:none}
.end.in .rise:nth-child(2){transition-delay:.15s}.end.in .rise:nth-child(3){transition-delay:.3s}

/* ——— NEWS：見出し、最新3件の行（日付・題・押し先の小さな四角）、4件目からは「一覧を見る」 ———
   2026-10-06 本人：上下の罫で行をブロック化しているので、流れる線＋READ MORE は重複。押し先は種類ごとの四角（詳細を見る／PDFを見る／新規タブで見る）。
   題が2〜3行になっても整うよう、日付と四角は1行目にそろえ、題は3行まで（それ以上は…）。スマホは四角を右下に */
.nw-list{margin-top:18px;border-top:1px solid #E4E4E0}
.nw-row[hidden],.nw-all[hidden]{display:none}   /* display:grid/flex が [hidden] に勝たないように（表示件数の調整で隠す） */
.nw-row{display:grid;grid-template-columns:9.5em minmax(0,1fr) auto;align-items:start;column-gap:28px;padding:26px 0;border-bottom:1px solid #E4E4E0;color:var(--ink)}
.nw-row time{font-family:var(--disp);font-weight:500;font-size:16px;letter-spacing:.16em;color:var(--gold);line-height:1.8}
.nw-row .t{font-size:15.5px;letter-spacing:.06em;line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cue{display:inline-block;padding:7px 16px;border:1px solid rgba(172,135,0,.38);border-radius:4px;font-size:11.5px;letter-spacing:.12em;line-height:1.3;color:var(--ink);white-space:nowrap;background:transparent;transition:border-color .5s ease,background .5s ease}
.nw-row .cue{margin-top:3px;justify-self:end}
.nw-row:hover .cue,.cue:hover{border-color:var(--gold);background:rgba(172,135,0,.06)}
.nw-plain{grid-template-columns:9.5em minmax(0,1fr);cursor:default}   /* リンクなし：日付と題だけ */
.nw-all{display:flex;justify-content:flex-end;margin-top:22px}

/* ——— CONTACT：左に見出しと一行、右にフォーム。下にフッター ——— */
.ct{position:static;flex:1;display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);column-gap:clamp(40px,6vw,120px);align-content:start;padding-bottom:28px}
.ct-l{position:relative}
.ct-jp{margin-top:14px;font-size:13.5px;letter-spacing:.12em;line-height:1.9}
.ct-bar{display:block;position:relative;height:1px;width:min(100%,320px);margin-top:26px}
.ct-r{min-width:0;background:#FBF9F2;border:1px solid rgba(172,135,0,.16);border-radius:var(--radius);padding:34px 36px 30px}   /* 薄い金の地（2026-10-06 本人：分かりやすく） */

/* フォーム：下の線だけ。手を置くと金 */
.cf{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:22px}
.f{position:relative;display:block}
.f-wide{grid-column:1/-1}
.fl{display:block;font-size:11.5px;letter-spacing:.14em;color:var(--sub);margin-bottom:6px}
.fl em,.f-agree em{font-style:normal;color:var(--gold);margin-left:3px}
.f input,.f select,.f textarea{display:block;width:100%;padding:8px 0 10px;border:0;border-bottom:1px solid #E2DCC8;border-radius:0;background:transparent;font:inherit;font-size:15px;letter-spacing:.04em;color:var(--ink);outline:none;appearance:none;-webkit-appearance:none}
.f textarea{resize:vertical;min-height:4.6em;line-height:1.8}
.f select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23161616'/%3E%3C/svg%3E") right 2px center/10px 6px no-repeat;padding-right:20px;cursor:pointer}
.fline{position:absolute;left:0;right:0;bottom:1.45em;height:1px;background:linear-gradient(90deg,rgba(172,135,0,.95),rgba(201,162,74,.75));transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.f:focus-within .fline{transform:none}
.f .ferr,.f-agree .ferr{display:block;min-height:1.45em;font-size:11px;letter-spacing:.06em;color:var(--ink);padding-top:3px}
.f.bad input,.f.bad select,.f.bad textarea{border-bottom-color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}   /* 蜜壺：人は触れない欄。埋まっていたら bot */
.f-agree{grid-column:1/-1;position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:center;gap:0 10px;margin-top:4px;font-size:12.5px;letter-spacing:.06em;cursor:pointer}   /* 送るボタンのすぐ上、中央に（2026-10-06 本人） */
.f-agree input{position:absolute;opacity:0;width:1px;height:1px}
.f-agree i{flex:0 0 14px;width:14px;height:14px;margin-top:3px;border:1px solid var(--ink);border-radius:2px;position:relative}
.f-agree input:checked+i::after{content:"";position:absolute;inset:3px;background:var(--gold)}
.f-agree input:focus-visible+i{outline:1px solid var(--ink);outline-offset:3px}
.f-agree a{text-decoration:underline;text-underline-offset:3px}
.f-agree .ferr{flex-basis:100%;text-align:center}
.cf-turnstile{grid-column:1/-1}
.send{grid-column:1/-1;justify-self:center;width:min(100%,360px);height:50px;padding:0 44px;margin-top:-8px;border-radius:999px;background:#8A6510;color:#fff;font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.28em;text-indent:.28em;transition:background .5s ease,transform .5s var(--ease)}   /* ちゃんとしたボタン（2026-10-06 本人）。濃い金 */
.send:hover{background:#AC8700;transform:translateY(-1px)}
.send:disabled{opacity:.5;cursor:default;transform:none}
.send:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.cf-note{grid-column:1/-1;font-size:12px;letter-spacing:.06em;min-height:1em}
/* 送り終えたら：フォームが静かに引き、お礼の文。金の線が画面のど真ん中へ戻る */
.ct .thanks{padding-top:6px;font-size:14.5px;letter-spacing:.08em;line-height:2.1}
.ct.sent .cf{opacity:0;transition:opacity .7s ease}
.ct-ring{position:absolute;left:var(--side);right:var(--side);top:50%;height:1px;pointer-events:none}   /* ブロック（＝画面）のど真ん中 */
.ct-ring .ln3{position:absolute;inset:0;overflow:hidden;transform:scaleX(0);transform-origin:center;transition:transform 2.6s var(--ease) .6s}
.ct-ring .ln3::before{content:"";position:absolute;inset:0;background:var(--line-gold);opacity:.6}
.ct.sent .ct-ring .ln3{transform:none}

/* 送りの案内（js/cue.js）：FV の SCROLL と同じ形で、右下に次のブロックの名前 */
.cue2{position:fixed;z-index:6;right:var(--side);bottom:0;height:74px;display:flex;gap:10px;align-items:flex-start;font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.2em;color:#fff;mix-blend-mode:difference;opacity:0;pointer-events:none;transition:opacity .8s ease}
.cue2.on{opacity:1;pointer-events:auto}
.cue2 span{display:inline-block;transition:opacity .45s ease,transform .6s var(--ease)}
.cue2.swap span{opacity:0;transform:translateY(8px)}
.cue2::after{content:"";width:1px;height:74px;background:linear-gradient(180deg,currentColor 0 50%,transparent 50% 100%);background-size:100% 200%;animation:drip 2.6s var(--ease-io) infinite}

/* a（参考）：一画面で結ぶ。線はブロックのど真ん中 */
.ct-a{display:block;position:static;padding:0}
.ct-a .ct-in{position:absolute;left:var(--side);right:var(--side);bottom:calc(50% + 26px);display:flex;align-items:baseline;gap:28px;flex-wrap:wrap}
.ct-a .ct-jp{margin:0}
.ct-line{position:absolute;left:var(--side);right:var(--side);top:50%;height:1px;display:block}
.ct-line .ln3{position:absolute;inset:0;overflow:hidden;transform:scaleX(0);transform-origin:center;transition:transform 2.6s var(--ease) .3s}
.end.in .ct-line .ln3{transform:none}
.ct-line .ln3::before{content:"";position:absolute;inset:0;background:var(--line-gold);opacity:.55}
.ct-line .ln3::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(172,135,0,0) 0 30%,rgba(172,135,0,.95) 50%,rgba(172,135,0,0) 70% 100%);background-size:200% 100%;background-position:100% 0;animation:flow 3.6s var(--ease-io) 3.2s infinite}
.ct-line .more{top:12px;opacity:0;transition:opacity 1.4s ease 2.4s}
.end.in .ct-line .more{opacity:1}

/* CONTACT ではふつうの送りになるので、固定のヘッダーに白い地を敷いて、下の文字と重ならないようにする */
.free .hd{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .5s ease}

/* ——— フッター：生成りの帯（2026-10-06 本人 b で確定）。中央に ロゴ（英字＋和文）→ 方針2つ → ©。右に「TOPへ戻る」 ——— */
.ft{position:relative;margin:auto calc(var(--side)*-1) 0;padding:26px var(--side) 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;background:#F7F4EA;border-top:1px solid rgba(172,135,0,.35)}
.ft-logo{display:block;color:var(--ink)}
/* 横1行＋和文：シンボル＋英字の行の下に和文 */
.ft-logo .wa-row{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;row-gap:8px;justify-content:center}
.ft-logo .wa-row .wa-sym{height:24px}
.ft-logo .wa-row .wa-en{font-size:18px}
.ft-logo .wa-row .wa-jp{grid-column:1/-1;text-align:center;font-size:11px}
/* 名刺と同じ縦：シンボル／英字／和文 */
.ft-logo .wa-stack{gap:10px}
.ft-logo .wa-stack .wa-sym{height:30px}
.ft-logo .wa-stack .wa-en{font-size:18px}
.ft-logo .wa-stack .wa-jp{font-size:11px;margin-top:-2px}
.ft-pol{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.ft-pol a{font-size:12px;letter-spacing:.08em;color:var(--sub)}
.ft-pol a:hover{color:var(--ink)}
.ft small{font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.14em;color:var(--sub)}
/* TOPへ戻る：MENU と同じ白い丸い札を小さく。帯の右、縦の中央 */
.totop{position:absolute;right:var(--side);top:50%;transform:translateY(-50%);height:36px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid #EEE;display:inline-flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:.14em;color:var(--ink);box-shadow:0 2px 18px rgba(0,0,0,.06);transition:box-shadow .5s ease}
.totop::before{content:"";width:1px;height:12px;background:linear-gradient(180deg,var(--gold),rgba(172,135,0,0))}
.totop:hover{box-shadow:0 4px 22px rgba(0,0,0,.1)}

@media (max-width:767px){
  .end .head{font-size:24px}
  .nw-row{grid-template-columns:1fr;row-gap:8px;padding:18px 0 16px}
  .nw-row time{font-size:14px}
  .nw-row .t{font-size:14px}
  .nw-row .cue{margin-top:6px}   /* 右下（2026-10-06 本人：押しやすく） */
  .nw-plain{grid-template-columns:1fr}
  /* CONTACT：フッターまで一画面に収める（2026-10-06 本人）。欄は2列、余白は詰め、誤りの行は出た時だけ場所を取る */
  .end-c{padding-bottom:0}
  .ct{grid-template-columns:1fr;row-gap:18px;padding-bottom:18px}
  .ct-jp{margin-top:8px;font-size:12.5px;letter-spacing:.08em}
  .ct-bar{margin-top:14px}
  .ct-r{padding:18px 16px 16px}
  .cf{grid-template-columns:1fr 1fr;column-gap:16px;row-gap:12px}
  .fl{font-size:11px;margin-bottom:2px}
  .f input,.f select,.f textarea{padding:5px 0 7px}
  .f textarea{min-height:3.4em;line-height:1.6}
  .fline{bottom:0}
  .f .ferr,.f-agree .ferr{min-height:0;padding-top:0}
  .f .ferr:not(:empty),.f-agree .ferr:not(:empty){padding-top:3px}
  .f-agree{margin-top:2px;font-size:12px}
  .send{width:100%;height:46px;margin-top:0}
  .ct .thanks{font-size:13.5px}
  .ft{margin-top:0;padding:22px var(--side) calc(18px + env(safe-area-inset-bottom,0px));gap:12px}
  .ft-logo .wa-row .wa-sym{height:20px}
  .ft-logo .wa-row .wa-en{font-size:15px}
  .ft-logo .wa-row .wa-jp,.ft-logo .wa-stack .wa-jp{font-size:10.5px}
  .ft-logo .wa-stack{gap:9px}
  .ft-logo .wa-stack .wa-sym{height:28px}
  .ft-logo .wa-stack .wa-en{font-size:15px}
  .f input,.f select,.f textarea{font-size:16px}   /* iOS は 16px 未満の欄に触れると画面を拡大する（本人「スマホで拡大表示」）。16px で止める */
  .ft-pol{gap:8px 20px}
  .ft-pol a,.ft small{font-size:11px}
  .totop{position:static;transform:none;height:32px;padding:0 14px;font-size:11px}
  .cue2{height:56px;font-size:11px}.cue2::after{height:56px}
}
@media (prefers-reduced-motion:reduce){.cue2::after{animation:none}.end .rise{opacity:1;transform:none;transition:none}.end .ln2::after,.ct-line .ln3::after{animation:none}.ct-line .ln3,.ct-ring .ln3{transition:none}.ct-line .more{opacity:1;transition:none}.fline{transition:none}}
