/* TAKURIRE（タクリレ）だけの見た目。
   ★型（kit.css）のあとに読まれる。型で足りるものはここに書かない。
   ★モック（_mock/pw）の色と形をそのまま写したもの。紺 #1c3558 と金 #e2bf7e が基調。 */
:root{
  --c-gold:#e2bf7e;      /* 差し色。第1弾リリースの札、見出しの上線、帯のボタン */
  --c-navy2:#2a4f7f;     /* 紺のグラデーションの明るい側 */
  --c-navy3:#2a4468;     /* 紺の上に置く箱 */
  --c-onnavy:#c6d2e3;    /* 紺の上の説明文 */
}

/* ★ロゴ（絵）の大きさは型（base.css の .logo img）で決めています。
   ヘッダーは濃い色の版、フッター（紺）は文字を白にした版です。 */

/* ── 見出し ────────────────────────────────────────────────────────────
   h1・h2 は明朝（Shippori Mincho）。h3 から下はゴシックの 900。モックと同じ。 */
h1,h2{color:var(--c-main);letter-spacing:.02em;line-height:1.4}
h3{font-family:var(--f-body);font-weight:900}
.bg-deep h1,.bg-deep h2,.pw-navy h2{color:#fff}
.eyebrow{color:var(--c-main2);letter-spacing:.2em}
.bg-deep .eyebrow,.pw-navy .eyebrow{color:var(--c-gold)}

/* ── 地の色 ────────────────────────────────────────────────────────────*/
.pw-sky{background:linear-gradient(180deg,#eef6fd 0%,#fff 100%)}
.pw-navy{background:var(--c-main);color:#fff}
.pw-navy .lead,.pw-navy p{color:var(--c-onnavy)}
.pw-dawn{background:linear-gradient(135deg,#d6e8f8 0%,#eaf4fd 42%,#fff 72%,#fcf3e2 100%)}

/* ── 札（バッジ） ──────────────────────────────────────────────────────*/
.tag{display:inline-block;font-size:12px;font-weight:700;padding:4px 13px;border-radius:999px;background:var(--c-soft);color:var(--c-main);white-space:nowrap}
.tag.gold{background:var(--c-gold);color:var(--c-ink)}
.tag.soon{background:#ecebf5;color:#544683}
.tag.ok{background:#e1f1ea;color:#1b5f4a}
.tag.human{background:#f8eed8;color:#77510f}
.tag.line{background:#fff;border:1px solid var(--c-line);color:var(--c-main)}
.pw-navy .tag.line{background:transparent;border-color:#5c7598;color:var(--c-onnavy)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}

/* ── 箱 ────────────────────────────────────────────────────────────────*/
.box{background:var(--c-pale);border:1px solid var(--c-line2);border-radius:14px;padding:18px 20px}
.box b{display:block;color:var(--c-main);font-size:16px}
.box span{display:block;font-size:13.5px;color:var(--c-text2)}
.panel{background:var(--c-main);color:#fff;border-radius:18px;padding:30px}
.panel h3{margin:12px 0 6px;font-size:clamp(22px,2.2vw,28px)}
.panel p{margin:0;color:#d3dcea;font-size:15px}
.pw-navy .box{background:var(--c-navy3);border-color:var(--c-gold);color:#fff}
.pw-navy .box b{color:#fff}
.pw-navy .box span{color:var(--c-onnavy)}
.white-card{background:#fff;color:var(--c-ink);border-radius:18px;overflow:hidden}

/* ── 上に金の線を引いた短い説明 ───────────────────────────────────────*/
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:44px}
.notes div{border-top:2px solid var(--c-gold);padding-top:14px}
.notes b{display:block;font-size:17px;color:var(--c-main)}
.notes span{display:block;font-size:14px;color:var(--c-text2);margin-top:6px}
.pw-navy .notes b{color:#fff}
.pw-navy .notes span{color:var(--c-onnavy)}

/* ── 紺の帯（次のページへ誘う） ───────────────────────────────────────*/
.band{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
 background:linear-gradient(120deg,var(--c-main) 0%,var(--c-navy2) 100%);border-radius:22px;
 padding:clamp(26px,3vw,36px);box-shadow:0 18px 44px rgba(28,53,88,.18);margin-top:44px}
.band .eyebrow{color:var(--c-gold);margin:0 0 6px}
.band b{display:block;font-size:clamp(19px,2vw,24px);font-weight:900;color:#fff}
.band p{margin:6px 0 0;font-size:14.5px;color:var(--c-onnavy)}
.band .btn{background:var(--c-gold);color:var(--c-ink);box-shadow:0 10px 24px rgba(226,191,126,.35);flex:none}
.band .btn:hover{background:#efd6a4;color:var(--c-ink)}

/* ── 一覧の行（値と根拠） ──────────────────────────────────────────────*/
.rows{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--c-line2)}
.rows .head{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;font-size:12px;color:var(--c-text2);border-bottom:1px solid var(--c-line2);background:var(--c-pale)}
.rows .ln{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--c-line2)}
.rows .ln:last-child{border-bottom:0}
.rows .ln small{display:block;font-size:11px;color:var(--c-text2)}
.rows .ln b{display:block;font-size:15px}
.rows .ln em{display:block;font-style:normal;font-size:11px;color:var(--c-main2)}

/* ── 写真 ──────────────────────────────────────────────────────────────*/
.pic{border-radius:18px;overflow:hidden;position:relative}
.pic img{width:100%;height:100%;object-fit:cover;display:block}
.pic.tall{aspect-ratio:4/3}
.pic.wide{aspect-ratio:16/9}

/* ── 2枚並び（文と写真） ──────────────────────────────────────────────*/
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.duo.rev>:first-child{order:2}

/* ── 番号つきの手順（使い方の10ステップ） ─────────────────────────────*/
.steps2{list-style:none;margin:44px 0 0;padding:0;display:grid;gap:12px;counter-reset:s2}
.steps2 li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--c-line2);border-radius:16px;padding:20px 24px}
.steps2 li::before{counter-increment:s2;content:counter(s2,decimal-leading-zero);font-family:var(--f-body);font-weight:900;font-size:26px;color:var(--c-main2);line-height:1.2}
.steps2 b{display:block;font-size:17.5px;color:var(--c-main)}
.steps2 span{display:block;color:var(--c-text2);font-size:15px;margin-top:2px}

/* ── 料金 ──────────────────────────────────────────────────────────────*/
.plan{border:1px solid var(--c-line);border-radius:22px;padding:32px;background:#fff}
.plan.lead-plan{background:var(--c-main);color:#fff;border-color:var(--c-main)}
.plan .yen{font-family:var(--f-body);font-weight:900;font-size:clamp(30px,3.4vw,42px);color:var(--c-main);line-height:1.2}
.plan.lead-plan .yen{color:#fff}
.plan .yen small{font-size:15px;font-weight:700}
.plan ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.plan li{padding-left:22px;position:relative;font-size:15px;color:var(--c-text2)}
.plan li::before{content:"";position:absolute;left:2px;top:9px;width:11px;height:6px;border-left:2.5px solid var(--c-main2);border-bottom:2.5px solid var(--c-main2);transform:rotate(-45deg)}
.plan.lead-plan li{color:var(--c-onnavy)}
.plan.lead-plan li::before{border-color:var(--c-gold)}

/* ── よくある質問 ──────────────────────────────────────────────────────*/
.qa{display:grid;gap:14px;margin-top:40px}
.qa div{background:#fff;border:1px solid var(--c-line2);border-radius:16px;padding:22px 26px}
.qa b{display:block;color:var(--c-main);font-size:17px}
.qa p{margin:8px 0 0;color:var(--c-text2);font-size:15px}

/* ── 比べる表 ──────────────────────────────────────────────────────────*/
.tablewrap{overflow-x:auto;margin-top:40px}
.tbl{width:100%;min-width:680px;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--c-line2);vertical-align:top}
.tbl thead th{background:var(--c-main);color:#fff;font-weight:700;white-space:nowrap}
.tbl thead th:first-child{border-top-left-radius:12px}
.tbl thead th:last-child{border-top-right-radius:12px}
.tbl tbody th{font-weight:700;color:var(--c-main);white-space:nowrap}
.tbl td{color:var(--c-text2)}

/* ── フォーム ──────────────────────────────────────────────────────────*/
form.apply select{width:100%;min-height:50px;padding:10px 14px;border-radius:12px;border:1px solid var(--c-line);background:#fff;font-size:16px;font-family:inherit;color:var(--c-ink)}
form.apply select:focus{outline:3px solid rgba(var(--c-main-rgb),.25);border-color:var(--c-main)}
form.apply textarea{min-height:110px;line-height:1.7;resize:vertical}
.formrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(32px,4vw,64px);align-items:start;margin-top:44px}

/* ── スマホ ────────────────────────────────────────────────────────────*/
@media (max-width:960px){
 .notes{grid-template-columns:1fr;gap:20px;margin-top:32px}
 .duo,.formrow{grid-template-columns:1fr}
 .duo.rev>:first-child{order:0}
 .band{flex-direction:column;align-items:flex-start}
 .band .btn{width:100%}
 .steps2 li{grid-template-columns:40px 1fr;gap:12px;padding:18px}
 .steps2 li::before{font-size:20px}
}

/* ── トップの大見出し（写真が左半分いっぱい） ─────────────────────────*/
.pw-hero{padding:0;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:stretch;background:#fff}
.pw-hero .shotpic{position:relative;min-height:clamp(430px,50vw,760px)}
.pw-hero .shotpic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center}
.pw-hero .body{display:flex;flex-direction:column;justify-content:center;
 padding:clamp(96px,9vw,120px) clamp(20px,5vw,110px) clamp(48px,6vw,80px) clamp(24px,5vw,72px)}
.pw-hero h1{font-size:clamp(30px,4.2vw,60px);margin:22px 0 0}
.pw-hero .lead{margin:20px 0 0;max-width:560px}
.pw-hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pw-hero .rel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;font-size:14px;font-weight:700;color:var(--c-main)}
.pw-hero .yen{margin:8px 0 0;font-size:13px;color:var(--c-text2)}
@media (max-width:960px){
 .pw-hero{grid-template-columns:1fr}
 .pw-hero .shotpic{min-height:0;aspect-ratio:4/3;order:-1}
 /* ★写真が上に来るので、ヘッダーぶんの上の余白は要らない */
 .pw-hero .body{padding-top:clamp(28px,6vw,40px)}
 .pw-hero .acts .btn{flex:1 1 100%}
}

/* ── 写真つきのカード（業務・広がり） ─────────────────────────────────*/
.photocards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:40px}
.photocards.g3x{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pcard{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--c-line2);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
a.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(28,53,88,.12)}
.pcard>.pic{border-radius:0;aspect-ratio:4/3}
.pcard .txt{padding:18px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.pcard .no{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--c-main2)}
.pcard .nm{font-family:var(--f-body);font-weight:900;font-size:18px;color:var(--c-main)}
.pcard p{margin:0;font-size:14px;color:var(--c-text2)}
.pcard .foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pcard .foot a{font-weight:700;font-size:14px;text-decoration:none}
@media (max-width:1100px){.photocards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.photocards,.photocards.g3x{grid-template-columns:1fr}}

/* ── 状態の凡例 ────────────────────────────────────────────────────────*/
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--c-text2)}
.legend li{display:flex;align-items:center;gap:8px}

/* ── 4つの動き ─────────────────────────────────────────────────────────*/
.core{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}
.core div.one{background:#fff;border:1px solid var(--c-line2);border-radius:20px;padding:30px}
.core .no{font-family:var(--f-body);font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--c-main2)}
.core h3{margin:6px 0 2px;font-size:22px;color:var(--c-main)}
.core .sub{font-size:15.5px;font-weight:700;color:var(--c-ink)}
.core p{margin:10px 0 0;font-size:15px;color:var(--c-text2)}
.core .eg{margin-top:14px;background:var(--c-pale);border-radius:12px;padding:12px 16px;font-size:13.5px;color:var(--c-text2)}
.core .eg b{color:var(--c-main);margin-right:8px}
.core .hu{margin-top:8px;font-size:13.5px;color:var(--c-main2);font-weight:700}
@media (max-width:860px){.core{grid-template-columns:1fr}}

/* ── 決まりごと（紺地の大きな一言） ───────────────────────────────────*/
.rule2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:center}
.rule2 h2{font-size:clamp(28px,3.4vw,44px)}
.rule2 ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rule2 li{font-size:15.5px;color:var(--c-onnavy);padding-left:20px;position:relative}
.rule2 li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:9px;border-radius:2px;background:var(--c-gold)}
@media (max-width:860px){.rule2{grid-template-columns:1fr}}

/* ── 読み込みの場面（紺地・3列） ──────────────────────────────────────*/
.reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px) minmax(0,1.25fr);gap:22px;align-items:start;margin-top:32px}
.reading .docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reading .docs .wide{grid-column:1/-1;border-style:dashed}
.reading .count{align-self:center;background:#fff;color:var(--c-main);border-radius:18px;padding:26px 18px;text-align:center}
.reading .count .big{font-family:var(--f-body);font-size:clamp(34px,3.4vw,46px);font-weight:900;line-height:1.3}
.reading .count .bar{margin-top:14px;height:6px;background:var(--c-soft);border-radius:9px;overflow:hidden}
.reading .count .bar i{display:block;width:90%;height:6px;background:#2f7a63;border-radius:9px}
.reading .count small{display:block;margin-top:12px;font-size:12px;color:var(--c-text2)}
@media (max-width:1100px){.reading{grid-template-columns:1fr}.reading .count{max-width:340px;margin:0 auto}}

/* ── 業務ごとの大きなカード（5つの業務） ─────────────────────────────*/
.cat{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,3vw,36px);
 background:#fff;border:1px solid var(--c-line2);border-radius:22px;padding:clamp(24px,3vw,36px);
 box-shadow:0 14px 36px rgba(28,53,88,.07);scroll-margin-top:96px}
.cat+.cat{margin-top:20px}
.cat .pic{aspect-ratio:4/3;margin-bottom:16px}
.cat .no{font-family:var(--f-head);font-size:15px;font-weight:800;color:#a97b1f;letter-spacing:.1em}
.cat h2{margin:4px 0 6px;font-size:clamp(24px,2.6vw,32px)}
.cat .who{font-size:13.5px;color:var(--c-text2)}
.cat .plans{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.flowline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.flowline span{font-size:13px;font-weight:700;color:var(--c-main);background:#eef5fc;border:1px solid #d3e3f3;border-radius:999px;padding:5px 13px}
.flowline span.pw{background:var(--c-main);color:#fff;border-color:var(--c-main)}
.flowline i{font-style:normal;color:#9fb3cc;font-size:12px}
.flowttl{font-size:12.5px;font-weight:700;color:var(--c-main)}
.flowttl em{font-style:normal;font-weight:400;color:var(--c-text2);margin-left:8px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.two div{background:var(--c-pale);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--c-ink)}
.two b{display:block;font-size:11px;letter-spacing:.1em;color:var(--c-main2);margin-bottom:2px}
.lk{margin:14px 0 0;display:flex;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:700}
.mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}
.mini a{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--c-line2);border-radius:16px;padding:18px;transition:border-color .2s,transform .2s}
.mini a:hover{border-color:var(--c-main2);transform:translateY(-3px)}
.mini .no{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--c-main2)}
.mini b{display:block;font-size:17px;color:var(--c-main);margin-top:2px}
.mini small{display:block;font-size:12px;color:var(--c-text2);margin-top:4px}
.mini .foot{margin-top:10px}
@media (max-width:1100px){.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.cat{grid-template-columns:1fr}.two{grid-template-columns:1fr}.mini{grid-template-columns:1fr}}

/* ── 使い方の 10 ステップ（文と、その画面） ───────────────────────────*/
.gd-s{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;padding:clamp(32px,4vw,52px) 0;border-top:1px solid var(--c-line2)}
.gd-s:first-of-type{border-top:0}
.gd-s .who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:700;letter-spacing:.12em;color:var(--c-main2)}
.gd-s h2{font-size:clamp(22px,2.6vw,30px);margin:8px 0 0}
.gd-s>div>p{margin:12px 0 0;color:var(--c-text2);font-size:15.5px}
.gd-s ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}
.gd-s li{padding-left:22px;position:relative;font-size:14.5px;color:var(--c-text2)}
.gd-s li::before{content:"";position:absolute;left:2px;top:10px;width:9px;height:9px;border-radius:3px;background:var(--c-main2)}
.who .me{background:var(--c-main);color:#fff;padding:3px 11px;border-radius:999px;letter-spacing:.06em}
.who .pw{background:var(--c-soft);color:var(--c-main);padding:3px 11px;border-radius:999px;letter-spacing:.06em}
.scr{background:#fff;border:1px solid var(--c-line2);border-radius:18px;box-shadow:0 18px 44px rgba(28,53,88,.10);overflow:hidden;font-size:13.5px}
.scr .ttl{padding:11px 16px;border-bottom:1px solid var(--c-line2);font-size:12.5px;font-weight:700;color:var(--c-main);background:var(--c-pale)}
.scr .it{padding:12px 16px;border-bottom:1px solid var(--c-line2)}
.scr .it:last-child{border-bottom:0}
.scr .lab{font-size:11px;color:var(--c-text2)}
.scr .v{font-weight:700;color:var(--c-ink)}
.scr .src{margin-top:6px;font-size:12px;color:var(--c-text2);background:var(--c-pale);border:1px dashed var(--c-line2);border-radius:8px;padding:6px 10px}
.scr .src b{color:var(--c-main2);margin-right:6px}
.scr .split{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.scr .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.scr .chips span{font-size:12px;font-weight:700;color:var(--c-main);background:#eef5fc;border:1px solid #d3e3f3;border-radius:999px;padding:4px 12px}
.scr .chips span.on{background:var(--c-main);color:#fff;border-color:var(--c-main)}
.scr .go{margin:12px 16px 16px;display:inline-block;background:var(--c-main);color:#fff;font-size:13px;font-weight:700;padding:9px 18px;border-radius:999px}
@media (max-width:860px){.gd-s{grid-template-columns:1fr}}

/* ── 書式に書き込むところ（見本） ─────────────────────────────────────*/
.sheet{background:#fff;border:1px solid var(--c-line2);border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(28,53,88,.10)}
.sheet .head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;background:var(--c-main);color:#fff;font-size:13px;font-weight:700}
.sheet .fld{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;gap:14px;align-items:start;padding:13px 18px;border-bottom:1px solid var(--c-line2)}
.sheet .fld:last-child{border-bottom:0}
.sheet .fld>.n{font-size:13px;color:var(--c-text2)}
.sheet .fld b{display:block;font-size:15px;color:var(--c-ink)}
.sheet .fld em{display:block;font-style:normal;font-size:11.5px;color:var(--c-main2);margin-top:3px}
.sheet .fld i{font-style:normal;font-size:11.5px;color:var(--c-text2)}
@media (max-width:680px){.sheet .fld{grid-template-columns:1fr;gap:6px}}

/* ── これまで／TAKURIRE では ─────────────────────────────────────────────────*/
.beforeafter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.beforeafter div{border-radius:18px;padding:26px 28px;background:var(--c-pale);border:1px solid var(--c-line2)}
.beforeafter div.after{background:var(--c-main);border-color:var(--c-main);color:#fff}
.beforeafter .n{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--c-main2)}
.beforeafter div.after .n{color:var(--c-gold)}
.beforeafter p{margin:8px 0 0;font-size:15px;color:var(--c-text2)}
.beforeafter div.after p{color:var(--c-onnavy)}
@media (max-width:760px){.beforeafter{grid-template-columns:1fr}}

/* ── ご注意の箱 ────────────────────────────────────────────────────────*/
.caution{display:flex;gap:12px;align-items:flex-start;background:#fcf6e9;border:1px solid #ecd9ae;border-radius:14px;padding:14px 18px;margin-top:22px;font-size:14px;color:var(--c-text2)}
.caution b{flex:none;color:#7a5a12}

/* ── 土地・競合・3D のページ切り替え ─────────────────────────────────*/
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tabs a{font-size:14px;font-weight:700;text-decoration:none;color:var(--c-main);background:#fff;border:1px solid var(--c-line);border-radius:999px;padding:9px 20px;transition:background .2s,color .2s}
.tabs a:hover{background:var(--c-soft)}
.tabs a[aria-current="page"]{background:var(--c-main);color:#fff;border-color:var(--c-main)}

/* ── デモへの誘い ──────────────────────────────────────────────────────*/
.demo{background:#fff;border:1px solid var(--c-line2);border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(28,53,88,.10);margin-top:40px}
.demo .cap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--c-line2);background:var(--c-pale)}
.demo .cap b{color:var(--c-main);font-size:15px}
.demo .inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:center;padding:clamp(20px,3vw,32px)}
.demo .inner .pic{aspect-ratio:16/10}
.demo .inner b{display:block;font-size:clamp(19px,2vw,24px);font-weight:900;color:var(--c-main)}
.demo .inner span{display:block;margin-top:8px;font-size:14.5px;color:var(--c-text2)}
.demo .note{margin:0;padding:0 clamp(20px,3vw,32px) clamp(20px,3vw,28px);font-size:13px;color:var(--c-text2)}
@media (max-width:860px){.demo .inner{grid-template-columns:1fr}}

/* ── 6つの問い・番号つきの小さな箱 ───────────────────────────────────*/
.qgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:40px}
.qgrid div{background:#fff;border:1px solid var(--c-line2);border-radius:16px;padding:20px 22px}
.qgrid b{display:block;font-size:13px;letter-spacing:.08em;color:var(--c-main2)}
.qgrid span{display:block;font-size:17px;font-weight:900;color:var(--c-main);margin-top:2px}
.qgrid small{display:block;font-size:13px;color:var(--c-text2);margin-top:6px}
@media (max-width:860px){.qgrid{grid-template-columns:1fr}}

/* ── 賃貸管理の部屋の並び ─────────────────────────────────────────────*/
.rooms{display:grid;gap:10px;margin-top:20px}
.floor{display:grid;grid-template-columns:44px repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.floor>.f{display:flex;align-items:center;font-size:12px;font-weight:700;color:var(--c-text2)}
.room{background:#fff;border:1px solid var(--c-line2);border-radius:12px;padding:10px 12px;border-left:4px solid var(--c-line)}
.room b{display:block;font-size:15px;color:var(--c-ink)}
.room span{display:block;font-size:11.5px;color:var(--c-text2)}
.room.live{border-left-color:#2f7a63}
.room.free{border-left-color:#9fb3cc}
.room.out{border-left-color:#7a6bb0}
.room.work{border-left-color:#c2701c}
.room.due{border-left-color:#c2a03c}
.roomkey{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:12.5px;color:var(--c-text2)}
.roomkey span{display:flex;align-items:center;gap:6px}
.roomkey i{width:12px;height:12px;border-radius:3px;display:block}
@media (max-width:760px){.floor{grid-template-columns:36px repeat(2,minmax(0,1fr))}}

/* ── 質問の帯 ──────────────────────────────────────────────────────────*/
.asks{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding:0;list-style:none}
.asks li{background:#fff;border:1px solid var(--c-line);border-radius:999px;padding:10px 20px;font-size:14.5px;color:var(--c-main);font-weight:700}
.pw-navy .asks li{background:var(--c-navy3);border-color:#5c7598;color:#fff}

/* ★TAKURIRE のフッターは 5 列（SITE・ABOUT・PRODUCTS・COMPANY ＋ロゴ）。
   共通の footer.css は 4 列なので、ここで 1 列足している。 */
.site-footer .top{grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
@media (max-width:1200px){.site-footer .top{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}}
@media (max-width:960px){.site-footer .top{grid-template-columns:1fr;gap:36px}}

/* ★縦並び（flex column）の中では、札とボタンの行が横いっぱいに伸びてしまう。
   自分の幅で止める（モックと同じ見え方にする）。 */
.pw-hero .body>.pill{align-self:flex-start}
.pw-hero .body>.tags,.pw-hero .body>.acts,.pw-hero .body>.rel{align-self:flex-start}

/* ★紺地の節（.pw-navy / .bg-deep）は color:#fff を配るので、
   その中に置いた白い箱の文字まで白くなって読めなくなる。箱の中は地の色に戻す。 */
.pw-navy .rows,.pw-navy .white-card,.pw-navy .scr,.pw-navy .sheet,.pw-navy .count,
.bg-deep .rows,.bg-deep .white-card,.bg-deep .scr,.bg-deep .sheet{color:var(--c-ink)}
.pw-navy .rows p,.pw-navy .scr p,.bg-deep .rows p{color:var(--c-text2)}
.rows .ln b{color:var(--c-ink)}

/* 行の右端の札は、縮めない（flex の中で潰れて楕円になるため） */
.rows .ln>.tag,.sheet .fld>.tag,.scr .split>.tag{flex:none;align-self:flex-start}

/* ══════════════════════════════════════════════════════════════════════
   スクロールの動き（モック v5 から戻したもの。正本は _mock/pw/v5/）
   ★HTML は「動き終わったあとの形」で書いてあります。動きを切っている人と、
     GSAP が読めなかったときは、巻き戻しが起きないのでそのまま最後の形が見えます。
   ★GSAP・ScrollTrigger・Lenis は型（layout.html）がすでに読んでいます。
     ここで読み直すと二重になり、画面を止める動きとなめらかスクロールがぶつかります。
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. 読み込みの場面（トップ・画面を止めて 56 → 3）────────────────── */
/* ★overflow:hidden を付けないこと。
   付けると、中の .rd-count（position:sticky）が貼り付かなくなります。
   スマホで数の箱が画面から流れて消えてしまい、数が減るところが読めません
   （2026-10-02 に 390×844 で実測。背景の写真を入れたときに付けてしまい、気づきました）。
   背景の写真も veil も inset:0 なので、はみ出しません。 */
.reel{padding:0;position:relative}
/* ★一画面目の背景（元の町並みの写真）。紺の veil をかぶせて、白い文字と
   白い数の箱が読めるようにしています。写真そのものは薄く残します。 */
/* ★2026-10-03（その2）：背景は、同じ町の朝・夕方・夜の 3 枚を重ねて、
   スクロールで溶けるように入れ替えます。`.rd-bg` は <picture>、中の <img> が写真です。
   ★夕方と夜は opacity:0 で始まり、JS が進み具合に合わせて上げます。
   ★JS が動かないときは朝の 1 枚だけ。夕方と夜は src が入らないので読み込みもしません。 */
.rd-bg{position:absolute;inset:0;z-index:0;display:block}
.rd-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block}
/* ★2026-10-04：**スクロールのたびに濃さが変わる層は、GPU に預けます**（will-change）。
   預けないと、1 コマごとに画面いっぱいを塗り直すことになり、送りが重くなります。
   ここで動くのは、夕方と夜の写真（2 枚）と、紺の膜（2 枚）の計 4 枚です。 */
.rd-sky[data-sky="evening"],.rd-sky[data-sky="night"]{opacity:0;visibility:hidden;will-change:opacity}
/* ★2026-10-03：紺の重ねを薄くしました。
   ・`::before` … 文字を載せる**左上の空だけ**を暗くします。右下へ向かって消えます。
   ・`::after`  … 上から下へ、ごく薄い紺。**途中で 0 になり、下の街並みには何も重なりません。**
   前は全面に .84〜.92 の紺をかけていたため、写真がほとんど見えていませんでした。
   ★2026-10-03（その2）：膜の濃さは**時間帯で変えます。**
   朝と夕方は空が明るいので左上をしっかり暗く、夜はほとんど要りません。
   濃さは JS が `--veil-a` / `--veil-b`（0〜1 の掛け算）で動かします。 */
.reel::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 opacity:var(--veil-a,1);will-change:opacity;
 background:radial-gradient(124% 92% at 0% 0%,rgba(9,24,45,.86) 0%,rgba(9,24,45,.64) 30%,rgba(9,24,45,.24) 54%,rgba(9,24,45,0) 74%)}
.reel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 opacity:var(--veil-b,1);will-change:opacity;
 background:linear-gradient(180deg,rgba(28,53,88,.46) 0%,rgba(28,53,88,.20) 34%,rgba(28,53,88,0) 60%)}
/* ★スマホは縦長なので、PC と同じ広がりの膜だと空がほとんど埋まり、朝の写真が
   夜みたいに見えます（390×844 で実測）。**上の帯だけ**を暗くし、下 2/3 は素のまま。
   文字は上に影を敷いてあるので、これで読めます。 */
@media (max-width:860px){
 .reel::before{background:radial-gradient(190% 70% at 0% 0%,rgba(9,24,45,.80) 0%,rgba(9,24,45,.62) 38%,rgba(9,24,45,.26) 62%,rgba(9,24,45,0) 82%)}
 .reel::after{background:linear-gradient(180deg,rgba(28,53,88,.40) 0%,rgba(28,53,88,.14) 36%,rgba(28,53,88,0) 58%)}
}
.reel-stage{position:relative;z-index:2;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:92px 0 22px}
.reel-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.reel-top .eyebrow{margin:0 0 8px}
.reel .reel-top h2{margin:0;font-size:clamp(21px,2.6vw,33px)}

/* ★2026-10-02 から、この節がトップの一画面目です（町並みの写真はやめました）。
   読む人が得すること・どうやって・いくらから・ボタンを、動きと同じ画面に置きます。 */
.pw-navy h1{color:#fff}
.reel-top .rd-copy{max-width:660px}
.reel .rd-copy h1{margin:16px 0 0;font-size:clamp(28px,3.6vw,48px);line-height:1.34}
.reel .rd-copy .lead{margin:14px 0 0;max-width:38em}
.reel .rd-copy .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.reel .rd-copy .btn{background:var(--c-gold);color:var(--c-ink);box-shadow:0 10px 24px rgba(226,191,126,.35)}
.reel .rd-copy .btn:hover{background:#efd4a2;color:var(--c-ink)}
.reel .rd-copy .btn.ghost{background:transparent;color:#fff;border:1.5px solid #5c7598;box-shadow:none}
.reel .rd-copy .btn.ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.reel .rd-copy .yen{margin:12px 0 0;font-size:clamp(14.5px,1.2vw,16.5px);font-weight:700;color:#fff}
/* ★一画面目の文字は、朝・夕方・夜のどの写真の上でも読めるように、うすい影を敷きます。
   町並みに膜を重ねる代わりの手当てです（夜は街の灯りの上に文字が来ます）。 */
.reel .rd-copy h1,.reel .rd-copy .first,.reel .rd-copy .yen{text-shadow:0 1px 14px rgba(5,16,32,.72)}

.rd-phase{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.rd-phase li{font-size:12px;padding:5px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.6);transition:background .3s,color .3s,border-color .3s}
.rd-phase li.on{background:var(--c-gold);color:var(--c-deep);border-color:var(--c-gold);font-weight:700}

.rd-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,228px) minmax(0,1.3fr);gap:18px;align-items:start;margin-top:20px}

/* 資料カード（.box の見た目のまま、スキャンの線と「済」の丸を足す） */
.rd-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
/* ★2026-10-03：背景の写真が明るく見えるようになったので、資料カードには
   自分の影を付けます。写真の上に文字を直に置かず、箱の中で読ませるためです。 */
.rd-doc{position:relative;overflow:hidden;padding:11px 14px;box-shadow:0 10px 22px rgba(5,18,36,.38)}
.rd-doc b{font-size:14px;padding-right:28px}
.rd-doc span{font-size:11px}
.rd-doc .rd-scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--c-gold),transparent);opacity:0}
.rd-doc .rd-chk{position:absolute;top:9px;right:9px;width:21px;height:21px;border-radius:50%;background:var(--c-gold);display:grid;place-items:center}
.rd-doc .rd-chk::after{content:"✓";font-size:12px;font-weight:900;font-style:normal;color:var(--c-deep)}
.rd-docs .wide{grid-column:1/-1;border-style:dashed}

/* 数のカード */
.rd-count{align-self:center;background:#fff;color:var(--c-ink);border-radius:18px;padding:22px 16px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.22)}
.rd-lbl{font-size:12.5px;font-weight:700;color:var(--c-text2)}
.rd-num{font-family:var(--f-body);font-weight:900;font-size:clamp(52px,5.6vw,84px);line-height:1;margin:8px 0 2px;color:var(--c-main);font-variant-numeric:tabular-nums}
.rd-unit{font-size:12.5px;color:var(--c-text2)}
.rd-meter{margin-top:14px;height:6px;background:var(--c-soft);border-radius:9px;overflow:hidden}
.rd-meter i{display:block;height:6px;width:95%;background:#2f7a63;border-radius:9px}
.pw-navy .rd-count .rd-sub{margin:11px 0 0;font-size:12px;line-height:1.6;color:var(--c-text2);min-height:4.8em;text-align:left}

/* 重説の行（型の .rows をそのまま使い、止めている間に収まるよう詰める） */
#rd-rows{box-shadow:0 20px 50px rgba(0,0,0,.22)}
/* ★2026-10-03：一画面目に「第1弾リリースの一行」と「5つの業務の札」が増えたぶん、
   表の 1 行を詰めました。詰めないと、欄が埋まった最後の形で画面から 125px はみ出し、
   画面を止めている間に上の札が隠れます（1920×911 で実測）。 */
#rd-rows .head{padding:7px 16px}
#rd-rows .ln{padding:3px 15px;align-items:flex-start}
#rd-rows .ln small{font-size:10px}
#rd-rows .ln b{font-size:12.8px;line-height:1.42;min-height:1.42em;transition:color .3s}
#rd-rows .ln b.dim{color:#b7c2d2}
#rd-rows .ln em{font-size:10px;line-height:1.35;overflow:hidden}
.reel .rd-foot{margin:12px 0 0;font-size:11px;color:var(--c-onnavy);text-align:right}  /* ★rgba(255,255,255,.5) は紺地でコントラスト 4.33 で落ちた（2026-09-30 実測） */

@media (min-width:901px) and (max-width:1180px){
 .rd-board{grid-template-columns:minmax(0,1fr) minmax(0,190px) minmax(0,1.25fr);gap:14px}
 .rd-doc b{font-size:13px}
}
/* ★画面が低いと、止めている間に9行が入りません。入らない分だけ畳みます。
   畳むのは公的な情報から入る2行（用途地域は残るので、動きの見え方は変わりません）。
   display:none にはせず高さ 0 にするだけなので、文章はページに残ります。 */
@media (min-width:901px) and (max-height:960px){
 .reel-stage{padding:74px 0 6px}
 /* ★2026-10-03：一画面目に「第1弾リリースの一行」と「5つの業務の札」が増えたので、
    画面が低いときは上の文も詰めます。 */
 .reel .rd-copy h1{margin-top:10px;font-size:clamp(26px,2.6vw,38px)}
 .reel .rd-copy .first{margin-top:10px;font-size:15px}
 .rd-lines{margin-top:10px;gap:5px}
 .rd-lines li{padding:4px 11px;font-size:12px}
 .reel .rd-copy .acts{margin-top:14px}
 .reel .rd-copy .yen{margin-top:9px}
 .rd-board{margin-top:10px}
 /* ★注記は 1 行なので、低い画面では段の右下に逃がします（場所を取らせない）。
    消してはいません。読める場所にそのまま出ます。 */
 .reel .rd-foot{position:absolute;right:0;bottom:8px;margin:0}
 .reel-stage>.wrap{position:relative}
 #rd-rows .ln{padding:2px 15px}
 #rd-rows .ln b{line-height:1.3;min-height:1.3em}
 #rd-rows .ln em{line-height:1.25}
 #rd-rows .ln:nth-child(7),#rd-rows .ln:nth-child(8){max-height:0;overflow:hidden;padding:0;border:0}
}
@media (min-width:901px) and (max-height:740px){
 #rd-rows .ln:nth-child(4){max-height:0;overflow:hidden;padding:0;border:0}
 #rd-rows .ln b{font-size:13px}
}
@media (max-width:900px){
 .reel-stage{padding:80px 0 14px}
 .reel .reel-top h2{font-size:20px}
 .reel-top{flex-direction:column;align-items:flex-start;gap:14px}
 .reel-top .rd-copy{max-width:none}
 .reel .rd-copy h1{font-size:clamp(25px,7vw,32px);line-height:1.38}
 .reel .rd-copy .lead{font-size:14.5px}
 .reel .rd-copy .acts{margin-top:18px;width:100%}
 .reel .rd-copy .acts .btn{flex:1 1 100%}
 .rd-phase li{font-size:11px;padding:3px 10px}
 .rd-board{grid-template-columns:1fr;gap:12px}
 /* ★数の箱だけを画面に貼り付けます（2026-10-02）。ページは止まりません。
    資料と表がその下を流れていく間、数と説明文が画面に残るので、7 つの説明文を
    読む時間ができます。貼り付けないと、数が見えている長さが約 1,000px しか
    なく、文が追いきれませんでした（実測）。
    ★align-self:start が要ります。付けないと升目いっぱいに伸びて、貼り付きません。
    ★ヘッダー（高さ 64px）の下に置きます。 */
 .rd-count{order:-1;position:sticky;top:76px;z-index:2;align-self:start;
   display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;text-align:left;padding:14px 18px}
 .rd-lbl{width:100%}
 .rd-num{font-size:46px;margin:2px 0 0}
 .rd-meter{width:100%;margin-top:8px}
 .pw-navy .rd-count .rd-sub{width:100%;min-height:3.4em;margin-top:6px}
 .rd-docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .rd-doc{padding:9px 11px}
 .rd-doc span{max-height:0;overflow:hidden}   /* display:none にしない＝文章はページに残す */
 /* ★表を畳むのをやめました（2026-10-02）。
    畳んでいたのは「止めている間に右の表まで入らない」ためでしたが、
    スマホでは止めなくなったので、入らない理由がなくなりました。
    埋まっていく行こそが、この場面で見せたいものです。 */
 #rd-rows .ln{padding:8px 14px}
 #rd-rows .ln b{font-size:13px}
}

/* ── 2. 書類の先へ ─ 真ん中が手前、左右は奥（2026-10-03 その2）────────────
   ── 何もしないときの形（既定）──
   カードが同じ大きさで並びます（広い画面は 3 列、スマホは 1 列）。
   **動きを減らす設定の人と、GSAP が来なかったときは、この形がそのまま出ます。**
   ── 動きがあるとき（`html.js`）──
   広い画面：段を画面の上に貼り付け（position:sticky）、横一列のカードを動かして、
   　　　　　**真ん中の 1 枚だけを大きく手前**に、左右は小さく奥に下げます。
   スマホ　：貼り付けません。**指で横に送って、手前の 1 枚がぴたっと真ん中に止まります**
   　　　　　（CSS の scroll-snap）。奥行きの付け方は広い画面と同じです。
   ★画面を止める仕組み（pin）は使いません。
   ★`overflow:hidden` を付けるのは **`.fl-view`（貼り付く箱の“中”）だけ**です。
     貼り付く箱そのものや、その親に付けると、貼り付きが効かなくなります。
   ★段の高さ（`.js .flowsec{height:…}`）は、ここで CSS が決めます。JS は触りません。 */
.fl-rail{display:none;height:2px;background:var(--c-line2);border-radius:2px}
.fl-rail i{display:block;height:2px;width:0;background:var(--c-main);border-radius:2px}
.fl-view{position:relative}
/* カードの入れ物。**床に落ちる影を置くため**に 1 枚かぶせています。
   何もしないときは、ただカードを包むだけで、見え方は変わりません。 */
.fl-cell{display:flex}
.fl-cell>.pcard{flex:1}

.js .flowsec{height:320vh;padding:0;position:relative}
.js .fl-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
 justify-content:center;padding:92px 0 28px}
.js .fl-intro{padding-top:0;padding-bottom:12px}
.js .fl-intro .lead{font-size:15px;margin-top:10px;max-width:52em}
.js .fl-rail{display:block;margin:0 32px}
/* ★ここだけ overflow:hidden。貼り付く箱の中なので、貼り付きには効きません。
   ★下の余白は、床の影が切れないように広めに取っています。 */
.js .fl-view{overflow:hidden;padding:14px 0 72px;margin-top:6px}
/* ★perspective をここに置くと、子（.fl-cell）が奥へ回したときに遠近が付きます。 */
.js .fl-track{display:flex;gap:10px;padding:0;will-change:transform;perspective:1700px}
.js .fl-track .fl-cell{flex:0 0 min(52vw,640px);position:relative;
 transform-origin:50% 50%;will-change:transform}
/* ★床に落ちる影。**カードの下に 1 枚置くだけ**で、ぼかしの大きさは動かしません
   （ぼかしを動かすと毎コマ描き直しになり、送りが重くなります。2026-10-04 の 35）。
   濃さ（--sh）だけを動かします。z-index:-1 でカードの後ろに回しています。 */
.js .fl-track .fl-cell::after{content:"";position:absolute;z-index:-1;pointer-events:none;
 left:5%;right:5%;bottom:-44px;height:60px;opacity:var(--sh,0);
 background:radial-gradient(50% 50% at 50% 50%,rgba(6,18,36,.46) 0%,rgba(6,18,36,.22) 48%,rgba(6,18,36,0) 74%)}
.js .fl-track .pcard{display:grid;
 grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);height:min(53vh,430px);
 position:relative;
 /* ★ピントの演出。真ん中以外に**一定の**ぼかしを付け、真ん中に来たら外します。
    スクロールに合わせてぼかしの量を連続では変えません（重くなるため。35）。
    切り替わるときだけ 0.3 秒かけて戻します。 */
 filter:blur(2.6px);transition:filter .3s ease}
/* ★ピントを外すときは blur(0px)。none だと溶け方が決まらない書き方になります。 */
.js .fl-track .fl-cell.is-focus .pcard{filter:blur(0px)}
/* ★奥に下げたカードを暗くするのに filter は使いません（重くて、コマが落ちます）。
   うすい紺を1枚かぶせ、その濃さ（--dim）だけを動かします。
   --dim は入れ物（.fl-cell）に入れます。CSS の変数は中へ伝わります。 */
.js .fl-track .pcard::after{content:"";position:absolute;inset:0;border-radius:inherit;
 pointer-events:none;background:#09182d;opacity:var(--dim,0)}
.js .fl-track .pcard>.pic{aspect-ratio:auto;height:100%}
.js .fl-track .pcard .txt{padding:24px 28px;justify-content:center;overflow:hidden}
.js .fl-track .pcard .nm{font-size:20px}
.js .fl-track .pcard p{font-size:14.5px}
.js .fl-track .pcard .foot{padding-top:10px}

@media (min-width:901px) and (max-height:820px){
 .js .fl-sticky{padding:84px 0 20px}
 .js .fl-intro .lead{display:none}
 .js .fl-track .pcard{height:min(60vh,370px)}
}

/* ── スマホ：止めない。指で横に送って、真ん中でぴたっと止まる ─────────── */
@media (max-width:900px){
 .js .flowsec{height:auto;padding:var(--sec-pad,clamp(64px,8vw,110px)) 0}
 .js .fl-sticky{position:static;height:auto;display:block;padding:0}
 .js .fl-intro{padding-bottom:0}
 .js .fl-intro .lead{display:block;font-size:14.5px}
 .js .fl-rail{margin:18px 20px 0}
 /* ★ここは overflow:hidden にしない。中の帯を指で横に動かすため。 */
 .js .fl-view{overflow:visible;padding:0;margin-top:14px}
 .js .fl-track{gap:6px;overflow-x:auto;overflow-y:visible;
  scroll-snap-type:x mandatory;scroll-padding-inline:11vw;
  padding:14px 11vw 46px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  transform:none !important;perspective:900px}
 .js .fl-track::-webkit-scrollbar{display:none}
 .js .fl-track .fl-cell{flex:0 0 78vw;scroll-snap-align:center}
 .js .fl-track .fl-cell::after{bottom:-32px;height:46px}
 .js .fl-track .pcard{display:flex;flex-direction:column;height:auto}
 .js .fl-track .pcard>.pic{aspect-ratio:4/3;height:auto}
 .js .fl-track .pcard .txt{padding:18px 20px;justify-content:flex-start}
}

/* ── 3. 使い方：右の画面を貼り付け、左の段に合わせて切り替える ───────── */
.gd-bar{position:sticky;top:72px;z-index:40;background:rgba(246,249,252,.94);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--c-line2)}
.gd-bar .wrap{position:relative;display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.gd-bar .wrap::-webkit-scrollbar{display:none}
.gd-bar a{flex:0 0 auto;display:flex;gap:8px;align-items:center;text-decoration:none;font-size:13px;color:var(--c-text2);padding:6px 13px;border-radius:999px;border:1px solid transparent;white-space:nowrap;transition:background .25s,border-color .25s,color .25s}
.gd-bar a em{font-style:normal;font-weight:700;font-size:11px;letter-spacing:.08em;color:var(--c-main2)}
.gd-bar a.on{background:#fff;border-color:var(--c-gold);color:var(--c-main);font-weight:700}
@media (max-width:960px){.gd-bar{top:64px}}

.gd-stage{display:none}
/* ★align-items は既定（stretch）のまま。start にすると右の入れ物が中身の高さで止まり、
   貼り付け（sticky）が 600px で外れて、下が真っ白になります（2026-09-30 実測）。 */
.gd.on .gd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,4vw,56px)}
.gd.on .gd-stage{display:block;position:relative}
.gd.on .gd-inline{display:none}
.gd.on .gd-s{display:flex;flex-direction:column;justify-content:center;min-height:76vh;padding:44px 0;scroll-margin-top:150px}
.gd-pin{position:sticky;top:152px;height:calc(100vh - 200px);max-height:600px;display:flex;flex-direction:column;justify-content:center}
.gd-frame{background:#fff;border:1px solid var(--c-line2);border-radius:18px;box-shadow:0 18px 44px rgba(28,53,88,.10);overflow:hidden}
.gd-fbar{display:flex;align-items:center;gap:6px;padding:10px 16px;border-bottom:1px solid var(--c-line2);background:var(--c-pale);font-size:12.5px}
.gd-fbar i{width:9px;height:9px;border-radius:50%;background:var(--c-line);flex:none}
.gd-fbar b{margin-left:8px;color:var(--c-main)}
.gd-fbar span{margin-left:auto;font-size:11px;color:var(--c-text2);font-variant-numeric:tabular-nums}
.gd-prog{height:3px;background:var(--c-soft)}
.gd-prog i{display:block;height:3px;width:10%;background:var(--c-gold);transition:width .5s}
.gd-screens{position:relative;height:min(58vh,470px)}
.gd-screens .scr{position:absolute;inset:0;opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s;pointer-events:none;border:0;border-radius:0;box-shadow:none;overflow:auto}
.gd-screens .scr.on{opacity:1;transform:none;pointer-events:auto}
.gd-screens .scr .ttl{display:none}

/* ══════════════════════════════════════════════════════════════════════
   2026-10-03 の作り直し（一画面目を「一本に」／フォルダーがめくれる／場面の写真）
   ★段の高さは必ず CSS で先に決めます。JS は高さを触りません
     （JS で後から変えると、下の段の動きが全部止まります。docs/REOPEN.md の 17）。
   ══════════════════════════════════════════════════════════════════════ */

/* ── 上のメニューのボタンも、一画面目と同じ金色に ───────────────────── */
.gnav .btn{background:var(--c-gold);color:var(--c-ink);font-weight:800}
.gnav .btn:hover{background:#efd6a4;color:var(--c-ink)}

/* ── 一画面目：第1弾リリースの一行と、5つの業務の小さな札 ───────────── */
.reel .rd-copy .first{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
 margin:16px 0 0;font-size:clamp(14.5px,1.35vw,17px);font-weight:700;color:#fff}
.rd-lines{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0}
.rd-lines li{display:flex;align-items:baseline;gap:7px;font-size:12.5px;color:#eaf1fb;
 background:rgba(12,30,56,.52);border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:6px 14px}
.rd-lines li b{font-weight:800;color:#fff;font-size:13px}
.rd-lines li span{font-size:11px;color:var(--c-gold);font-weight:700}

/* 工程の札は写真の上に出るので、下に薄い紺を敷いて読めるようにする */
.rd-phase li{background:rgba(12,30,56,.52)}
.reel .rd-foot{text-shadow:0 1px 10px rgba(9,24,45,.9)}

/* ── カウンター：108 から減り、最後は数字を出さず一言に変わる ───────── */
/* ★開いた瞬間は言葉とボタン・料金だけ。板は JS が少し遅れて出します。
     opacity だけなので、段の高さは最初から決まったままです。 */
.js .rd-board{opacity:0}
.rd-numwrap[hidden],.rd-end[hidden]{display:none}
.rd-end{margin:6px 0 0;font-size:clamp(15px,1.5vw,18px);font-weight:800;line-height:1.55;color:var(--c-main)}
.rd-eg{margin-top:6px;font-size:11px;color:var(--c-text2)}
.pw-navy .rd-count .rd-sub{min-height:4.2em}

/* ── 困りごとの帯（夜の机に資料の山） ─────────────────────────────── */
.probband{position:relative;padding:0;min-height:clamp(300px,44vw,440px);display:flex;align-items:center;overflow:hidden}
.pb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.probband::after{content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(9,24,45,.90) 0%,rgba(9,24,45,.72) 46%,rgba(9,24,45,.40) 100%)}
.probband .wrap{position:relative;z-index:2}
.probband p{margin:0;max-width:19em;font-family:var(--f-head);font-weight:800;color:#fff;
 font-size:clamp(23px,3.4vw,42px);line-height:1.5;letter-spacing:.02em}

/* ── ほかとの違い：「説明できる」だけ写真つき ─────────────────────── */
.whycards .card.ph{padding:0;overflow:hidden;display:flex;flex-direction:column}
.whycards .card.ph .pic{border-radius:0;aspect-ratio:16/9}
.whycards .card.ph h3{margin:20px 24px 0}
.whycards .card.ph p{margin:6px 24px 24px;flex:1}

/* ── 書類づくり：「分からない欄は、埋めない」を写真つきで ───────────── */
.notephoto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.4vw,44px);
 align-items:center;margin-top:44px;background:#fff;border:1px solid var(--c-line2);
 border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(28,53,88,.07)}
.notephoto .pic{border-radius:0;aspect-ratio:16/10;height:100%}
.notephoto>div:last-child{padding:clamp(22px,3vw,36px) clamp(22px,3vw,40px) clamp(22px,3vw,36px) 0}
.notephoto b{display:block;font-family:var(--f-head);font-weight:800;color:var(--c-main);
 font-size:clamp(20px,2.2vw,28px);line-height:1.5;margin-top:4px}
.notephoto p{margin:10px 0 0;font-size:15px;color:var(--c-text2)}
@media (max-width:860px){
 .notephoto{grid-template-columns:1fr}
 .notephoto>div:last-child{padding:22px 22px 26px}
}

/* ══ 5つの業務：インデックス付きのフォルダーが1冊ずつめくれる ══════════
   ── 何もしないときの形（既定）──
   5冊とも開いた状態で、縦に 1 列に並びます。**動きを減らす設定の人と、
   GSAP が来なかったときは、この形がそのまま出ます。** 段の高さも伸びません。
   ── 動きがあるとき（`html.js`）──
   段を画面の上に貼り付け（position:sticky）、スクロールで 1 冊ずつ開きます。
   ★画面を止める仕組み（pin）は使いません。★貼り付ける親に overflow:hidden を付けません。
   ★段の高さ（`.js .fol{height:…}`）は、この下で CSS が決めます。 */
.fol{position:relative}
.fol-bg{display:none}
.fol-head .lead{max-width:46em}
.fol-stage{display:grid;gap:16px;margin-top:36px}
.fol-item{position:relative;background:#fff;border:1px solid var(--c-line2);border-radius:20px;overflow:hidden}
.fol-spine{display:none}
.fol-open{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(20px,2.6vw,32px);align-items:center}
.fol-open .pic{border-radius:0;aspect-ratio:4/3;height:100%}
.fol-txt{padding:clamp(20px,2.4vw,30px) clamp(20px,2.6vw,34px) clamp(20px,2.4vw,30px) 0;display:flex;flex-direction:column;gap:3px}
.fol-txt .no{font-family:var(--f-head);font-weight:800;font-size:14px;letter-spacing:.16em;color:#a97b1f}
.fol-txt .nm{font-family:var(--f-head);font-weight:800;font-size:clamp(22px,2.4vw,30px);color:var(--c-main);line-height:1.4}
.fol-txt p{margin:8px 0 0;font-size:15px;line-height:1.75;color:var(--c-text2)}
.fol-txt .foot{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fol-txt .foot a{font-weight:700;font-size:14px;text-decoration:none}
.fol-idx{display:none}
.fol .legend{margin-top:26px}
.fol-more{margin:22px 0 0}
.fol-more a{font-weight:700}
@media (max-width:860px){
 .fol-open{grid-template-columns:1fr}
 .fol-open .pic{aspect-ratio:16/10}
 .fol-txt{padding:20px 22px 24px}
}

/* ── 動きがあるとき ──────────────────────────────────────────────── */
.js .fol{height:360vh;padding:0;background:var(--c-deep)}
.js .fol-bg{display:block;position:absolute;inset:0;z-index:0}
.js .fol-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.js .fol-sticky::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(180deg,rgba(9,24,45,.86) 0%,rgba(9,24,45,.56) 48%,rgba(9,24,45,.84) 100%)}
.js .fol-sticky{position:sticky;top:0;z-index:2;height:100vh;display:flex;align-items:center;isolation:isolate;
 padding:92px 0 34px;overflow:visible}
.js .fol-sticky>.wrap{position:relative;z-index:2;width:100%}
.js .fol-head .eyebrow{color:var(--c-gold)}
.js .fol-head h2{color:#fff}
.js .fol-head .lead{color:var(--c-onnavy);font-size:15px;margin-top:10px}
.js .fol .legend{color:#c6d2e3}
.js .fol-more a{color:var(--c-gold)}

/* 5冊を横に並べる。開いている1冊だけが広がり、ほかは細い背表紙になる。 */
.js .fol-stage{display:flex;gap:9px;margin-top:22px;height:min(56vh,440px);perspective:1500px}
/* ★2026-10-04：めくるときの重さを減らしました。
   ・`min-width` の動きをやめました（`flex:0 0 62px` は縮まないので、要りません）。
     幅が 2 つ同時に動くと、そのあいだ毎コマ並べ直しが走ります。
   ・影のぼかしを 44px → 24px にしました。幅が動くあいだ、影は毎コマ描き直されます。
   ・時間も 0.6 秒 → 0.42 秒に。並べ直しが走る時間そのものを短くします。
   見え方（細い背表紙 → 開く）は変えていません。 */
.js .fol-item{flex:0 0 62px;border:0;border-radius:16px;background:var(--c-main);
 box-shadow:0 10px 24px rgba(0,0,0,.32);
 transition:flex-basis .42s cubic-bezier(.33,1,.68,1),background .4s}
.js .fol-item.now{flex:1 1 auto;background:#fff}
/* 閉じたフォルダー＝細い背表紙。縦書きの英字と、金のインデックス。 */
.js .fol-spine{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
 justify-content:space-between;padding:18px 0;transition:opacity .35s}
.js .fol-spine em{writing-mode:vertical-rl;font-style:normal;font-family:var(--f-head);font-weight:800;
 font-size:13px;letter-spacing:.3em;color:#cfdcee}
.js .fol-spine i{font-style:normal;font-family:var(--f-head);font-weight:800;font-size:13px;
 color:var(--c-deep);background:var(--c-gold);border-radius:4px;padding:3px 5px;letter-spacing:.04em}
.js .fol-item.now .fol-spine{opacity:0}
/* 開いた中身。閉じているあいだは、表紙がまだめくれていない＝横を向いている。 */
.js .fol-open{position:absolute;inset:0;grid-template-columns:minmax(0,46%) minmax(0,54%);
 gap:0;opacity:0;transform-origin:left center;transform:rotateY(-62deg);
 transition:opacity .45s ease,transform .6s cubic-bezier(.33,1,.68,1)}
.js .fol-item.now .fol-open{opacity:1;transform:none}
.js .fol-open .pic{aspect-ratio:auto;height:100%}
.js .fol-txt{padding:clamp(18px,2.2vw,30px) clamp(20px,2.4vw,32px);justify-content:center;overflow:hidden}
.js .fol-txt p{font-size:14.5px;line-height:1.7}

@media (min-width:861px) and (max-height:820px){
 .js .fol-stage{height:min(62vh,400px)}
 .js .fol-head .lead{display:none}
 .js .fol-txt .nm{font-size:24px}
}

/* ── スマホ：止めない。貼り付けて、1冊ずつ手前へ ─────────────────── */
@media (max-width:860px){
 .js .fol{height:380svh}
 .js .fol-sticky{height:100svh;padding:76px 0 26px;align-items:stretch;display:block}
 .js .fol-sticky>.wrap{display:flex;flex-direction:column;height:100%}
 .js .fol-head h2{font-size:clamp(22px,6vw,28px)}
 .js .fol-head .lead{display:none}
 /* 1冊ずつ重ねて置き、いまの1冊だけ手前に出す */
 .js .fol-stage{display:block;position:relative;flex:1;min-height:0;height:auto;margin-top:16px;perspective:1100px}
 .js .fol-item{position:absolute;inset:0;min-width:0;opacity:0;background:#fff;
  transform:translateY(30px) scale(.94);
  transition:opacity .45s ease,transform .55s cubic-bezier(.33,1,.68,1)}
 .js .fol-item.now{opacity:1;transform:none}
 .js .fol-spine{display:none}
 .js .fol-open{position:absolute;inset:0;grid-template-columns:1fr;grid-template-rows:minmax(0,40%) minmax(0,60%);
  opacity:1;transform:none}
 .js .fol-open .pic{height:100%}
 .js .fol-txt{padding:16px 18px;gap:2px}
 .js .fol-txt .nm{font-size:21px}
 .js .fol-txt p{font-size:13.5px;line-height:1.65}
 .js .fol-txt .foot{margin-top:10px}
 /* 01〜05 のインデックス（どこまで来たかが分かるように） */
 .js .fol-idx{display:flex;gap:6px;list-style:none;margin:12px 0 0;padding:0;justify-content:center}
 .js .fol-idx li{font-family:var(--f-head);font-weight:800;font-size:11px;letter-spacing:.06em;
  color:#9fb3cc;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 10px;
  transition:background .3s,color .3s,border-color .3s}
 .js .fol-idx li.on{background:var(--c-gold);color:var(--c-deep);border-color:var(--c-gold)}
 .js .fol .legend,.js .fol-more{display:none}
 /* ★Cookie の帯が出ているあいだは、インデックスがその裏になるので隠します */
 .js body:has(.ck-bar) .fol-idx{opacity:0}
}

/* ── 4つの動き：01 読む だけ写真つき ─────────────────────────────── */
.core div.one.haspic{padding:0;overflow:hidden;display:flex;flex-direction:column}
.core div.one.haspic .pic{border-radius:0;aspect-ratio:16/9}
.core div.one.haspic>:not(.pic){margin-left:30px;margin-right:30px}
.core div.one.haspic>.no{margin-top:22px}
.core div.one.haspic>.hu{margin-bottom:26px}
/* ★2026-10-04：4 枚とも写真つきになったので、下のブロック（たとえば／人がやること）を
   **下端にそろえます。** 文章の長さが違っても、カードの下が同じ高さで並びます。
   そろえないと、文の短いカードだけ下に大きな空きが出ます。 */
.core div.one.haspic>.eg{margin-top:auto}

/* ── 紺地の段に写真を敷く（決まりごと・まずは御社の一件で） ─────────── */
.ruleband,.closeband{position:relative;overflow:hidden}
.rb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* ★縦長の写真を横長の帯に敷くので、町並み（写真の下のほう）が出るように寄せます。 */
.ruleband .rb-bg{object-position:50% 62%}
.closeband .rb-bg{object-position:60% 46%}
/* ★紺の膜。文字が載っている側は濃く、文字の無い側で写真を見せます。
   ・決まりごと … 右側にも箇条書きが載るので、濃いめ（.74 まで）で止めます。
   ・まずは御社の一件で … 右側に文字が無いので、.34 まで開けて写真を見せます。 */
/* ★膜の考え方は前と同じ。文字の載る左側を濃く。
   写真が町並み（空が明るい）に替わったので、右側も少しだけ濃くしています。 */
.ruleband::after{content:"";position:absolute;inset:0;
 background:linear-gradient(100deg,rgba(15,36,64,.95) 0%,rgba(15,36,64,.89) 48%,rgba(15,36,64,.79) 100%)}
.closeband::after{content:"";position:absolute;inset:0;
 background:linear-gradient(100deg,rgba(15,36,64,.95) 0%,rgba(15,36,64,.88) 42%,rgba(15,36,64,.52) 76%,rgba(15,36,64,.34) 100%)}
.ruleband .wrap,.closeband .wrap{position:relative;z-index:2}
.soonline{margin:26px 0 0;font-size:13px;color:#9fb3cc}
@media (max-width:860px){
 .ruleband::after,.closeband::after{background:linear-gradient(180deg,rgba(15,36,64,.92) 0%,rgba(15,36,64,.88) 100%)}
}

/* ── 紺の段の「枠だけのボタン」は、白い文字にする（2026-10-04）──────────
   ★型の .btn.ghost は文字が紺（var(--c-main)）です。紺の段に置くと
     紺の地に紺の文字になり、読めません（最後の「料金を見る」で実際に起きました）。
     一画面目だけ別に直していたのを、紺の段ぜんぶに広げます。 */
.pw-navy .btn.ghost,.bg-deep .btn.ghost{background:transparent;color:#fff;
 border-color:#5c7598;box-shadow:none}
.pw-navy .btn.ghost:hover,.bg-deep .btn.ghost:hover{background:rgba(255,255,255,.08);color:#fff}

/* ── 4つの動き：カードの文字が出る（2026-10-04）────────────────────────
   ★動きがあるときだけ、出る前を見えない状態にします。**opacity だけ**なので、
     段の高さは最初から決まったままです（下の段はずれません）。
   ★動きを減らす設定の人と GSAP が来なかったときは html から js が外れるので、
     この指定は当たりません＝**最初から全部出ています。** */
.js .core .one h3,.js .core .one .sub,.js .core .one p,
.js .core .one .eg,.js .core .one .hu{opacity:0}
/* 「たとえば」の値。1 文字ずつ出すために包んでいます（見た目は変わりません）。 */
.core .eg .egv{font-style:normal}
/* ★値の 1 文字は inline のまま。inline-block にすると行の折り返しが変わり、
   箱の高さが動いて、下の段の位置がずれることがあります。 */
.core .eg .egv .chv{display:inline}

/* ── 紺の段の「塗りボタン」に白い枠（2026-10-04）──────────────────────────
   ★型の .btn は地が紺（var(--c-main)）です。紺の段に置くと、地と同じ色になって
     ボタンの形が分からなくなります（最後の「まずは、御社の一件で」の
     「体験を申し込む」で実際に起きていました）。
     白い枠を付けて、ボタンとして浮き上がらせます。
   ★影（紺のぼんやり）は紺の上では見えないので外します。 */
.pw-navy .btn:not(.ghost):not(.white),
.bg-deep .btn:not(.ghost):not(.white){border:1.5px solid #fff;box-shadow:none}
.pw-navy .btn:not(.ghost):not(.white):hover,
.bg-deep .btn:not(.ghost):not(.white):hover{border-color:#fff}
/* ★一画面目のボタンは金色なので、白い枠は要りません。
   ★:not() の中のクラスも強さに数えられるので、上の規則と同じ強さにして後に置きます。 */
.reel .rd-copy .btn:not(.ghost){border:0}
