/* assets/site.css — 下層ページ共通 */
:root{--navy:#1C2D5A;--ink:#2a2f45;--muted:#6b7089;--line:#dfe2ec;--bg:#f7f6f3;--accent:#9C1E35}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Zen Kaku Gothic Antique","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;letter-spacing:.04em;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.shead{background:#fff;padding:18px 24px;border-bottom:1px solid var(--line)}
.shead img{height:60px;width:auto}
.shead{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.shead-logo{flex:0 0 auto}
.gnav{flex:1 1 auto}
.gnav ul{display:flex;flex-wrap:wrap;gap:4px 28px;list-style:none;justify-content:flex-end}
.gnav a{font-size:13px;letter-spacing:.08em;color:var(--navy);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.gnav a:hover{border-bottom-color:var(--navy)}
/* 「スタッフ紹介」を足して6項目になったぶん、1000px以下では項目間を詰める。
   そうしないと768〜890pxあたりでメニューがロゴの下に落ちてヘッダーが高くなる */
@media(max-width:1000px){.gnav ul{gap:4px 18px}}
/* 768〜820px（タブレット縦）は字も少し小さくしないと6項目が1行に収まらない */
@media(max-width:820px){.shead{padding:18px 16px;gap:16px 20px}.gnav ul{gap:4px 13px}.gnav a{font-size:12px}}
@media(max-width:700px){.shead{gap:10px 16px;padding:14px 16px}.shead img{height:46px}.gnav ul{justify-content:flex-start;gap:2px 18px}.gnav a{font-size:12px}}
.crumbs{max-width:1080px;margin:0 auto;padding:14px 20px;font-size:12px;color:var(--muted)}
.crumbs ul{display:flex;flex-wrap:wrap;gap:.6em;list-style:none}
.crumbs li+li::before{content:"／";margin-right:.6em;color:var(--line)}
main{max-width:1080px;margin:0 auto;padding:0 20px 80px}
.phead{text-align:center;padding:40px 0 48px}
.phead .en{font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(34px,8vw,64px);color:var(--navy);line-height:1.1;letter-spacing:.02em}
.phead h1{font-size:clamp(17px,4vw,22px);font-weight:500;color:var(--navy);margin-top:10px}
.phead p{color:var(--muted);font-size:14px;margin-top:16px}
.note{background:#fff;border-left:4px solid var(--accent);padding:14px 18px;font-size:13px;color:var(--muted);margin:0 0 40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;list-style:none}
.cards a{display:block;background:#fff;text-decoration:none;box-shadow:0 2px 14px rgba(28,45,90,.08);transition:box-shadow .2s}
.cards a:hover{box-shadow:0 6px 24px rgba(28,45,90,.16)}
.cards figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
.cards .cap{padding:14px 16px 18px}
.cards .ttl{font-size:15px;font-weight:500;color:var(--navy);line-height:1.6}
.cards .sub{font-size:12px;color:var(--muted);margin-top:6px}
.detail .ttl{font-size:clamp(20px,4.4vw,28px);font-weight:500;color:var(--navy);line-height:1.6;margin-bottom:8px}
.detail .owner{font-size:14px;color:var(--muted);margin-bottom:24px}
.spec{display:flex;flex-wrap:wrap;gap:8px 32px;background:#fff;padding:18px 22px;margin-bottom:40px;font-size:14px}
.spec div{display:flex;gap:.6em}
.spec dt{color:var(--muted)}
/* 施工例詳細のギャラリー。大写真1枚＋サムネイル一覧（本家の施工事例ページに合わせた）。
   縦3:4と横3:2が混ざるので、舞台は3:2に固定して contain で全体を見せる。
   cover にすると縦写真の上下が大きく切れてしまう。 */
.gal{display:grid;grid-template-columns:1fr 282px;gap:16px;margin-bottom:48px;align-items:start}
.gal-stage{position:relative;background:#eceef4}
.gal-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gal-track::-webkit-scrollbar{display:none}
.gal-track img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block;scroll-snap-align:start}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--navy);font-size:24px;line-height:1;padding:0 0 3px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gal-arrow:hover{background:#fff}
.gal-arrow:disabled{opacity:.25;cursor:default}
.gal-prev{left:10px}
.gal-next{right:10px}
.gal-count{position:absolute;right:12px;bottom:10px;background:rgba(28,45,90,.78);color:#fff;font-size:12px;letter-spacing:.06em;padding:2px 10px;border-radius:12px}
.gal-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:480px;overflow-y:auto}
.gal-thumbs button{padding:0;border:0;background:none;cursor:pointer;line-height:0}
.gal-thumbs img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;opacity:.6;transition:opacity .15s}
.gal-thumbs button:hover img,.gal-thumbs button.on img{opacity:1}
.gal-thumbs button.on{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:900px){.gal{grid-template-columns:1fr}.gal-thumbs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:92px;overflow-x:auto;overflow-y:hidden;max-height:none;padding-bottom:4px}}
.qa{list-style:none;margin-bottom:48px}
.qa li{background:#fff;padding:24px 26px;margin-bottom:16px}
.qa .q{font-weight:700;color:var(--navy);font-size:15px;margin-bottom:10px}
.qa .q::before{content:"Q";font-family:"Jost",sans-serif;color:var(--accent);margin-right:.6em}
.qa .speaker{display:inline-block;font-size:12px;color:var(--muted);border:1px solid var(--line);padding:1px 8px;margin-bottom:8px}
.qa .a{font-size:15px;white-space:pre-line}
.qa figure{margin-top:14px}
.qa figure img{max-width:260px}
/* 写真ごとの説明文を、写真とセットで並べる（本家の「◇…」のブロックにあたる）。
   写真を左、文を右に置き、1行1枚で3枚まで。 */
.shots{margin-top:48px}
.shots h2{font-size:18px;font-weight:500;color:var(--navy);letter-spacing:.08em;margin-bottom:24px;padding-left:12px;border-left:3px solid var(--accent)}
.shot-list{display:grid;gap:40px}
.shot{display:grid;grid-template-columns:minmax(0,47%) 1fr;gap:28px;align-items:center}
.shot img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.shot p{font-size:14px;line-height:1.9}
@media(max-width:700px){.shot{grid-template-columns:1fr;gap:12px}.shot-list{gap:28px}}
.other{margin-top:56px}
.other h2{font-size:18px;font-weight:500;color:var(--navy);letter-spacing:.08em;margin-bottom:20px;padding-left:12px;border-left:3px solid var(--accent)}
.backlink{text-align:center;margin-top:48px}
.backlink a{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:14px 40px;font-size:14px;text-decoration:none}
.backlink a:hover{background:var(--navy);color:#fff}
table.outline{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
table.outline th,table.outline td{border:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}
table.outline th{width:28%;background:#fbfaf8;color:var(--navy);font-weight:500}
@media(max-width:860px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards{grid-template-columns:1fr}table.outline th{width:34%}}

/* --- index.html から取り込んだ共通フッター --- */
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
footer{margin-top:64px;padding:26px 0;text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.gfoot{background:#1C2D5A;color:#fff;margin-top:64px;padding:40px 20px 28px;letter-spacing:.04em}
.gfoot a{color:inherit}
.gfoot .pagetop{display:block;width:90px;margin:0 auto 40px;text-align:center;text-decoration:none}
.gfoot .pagetop svg{display:block;margin:0 auto 8px}
.gfoot .pagetop small{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.8)}
.gfoot .gf-in{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;gap:36px 48px;flex-wrap:wrap;text-align:left}
.gfoot .gf-l img.gf-logo{height:96px;width:auto;display:block;margin-bottom:14px}
.gfoot .gf-tel{display:flex;align-items:center;gap:6px;font-family:Arial,sans-serif}
.gfoot .gf-tel small{font-size:13px}
.gfoot .gf-tel a{font-size:32px;line-height:1.3;text-decoration:none;display:inline-flex;align-items:center}
.gfoot .gf-tel img{height:.8em;width:auto;margin-right:.3em}
.gfoot .gf-store .gf-st{font-size:15px;margin-top:4px;font-family:Arial,sans-serif;letter-spacing:.06em}
.gfoot .gf-store .gf-st a{text-decoration:none}
.gfoot .gf-hours{font-size:12px;margin:10px 0 0;color:rgba(255,255,255,.8)}
.gfoot .gf-store h3{font-size:16px;font-weight:500;letter-spacing:.1em;margin:0 0 12px}
.gfoot .gf-store p{font-size:13px;line-height:1.9;margin:0}
.gfoot .gmap{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 26px;border:1px solid #fff;border-radius:999px;font-size:12px;text-decoration:none}
.gfoot .gmap:hover{background:#fff;color:#1C2D5A}
@media(max-width:760px){.gfoot{padding:32px 20px 24px}.gfoot .gf-in{flex-direction:column;gap:24px}.gfoot .gf-tel a{font-size:28px}.gfoot .gf-store{border-top:1px solid rgba(255,255,255,.25);padding-top:22px}}
.qa .sub-h{font-size:16px;font-weight:500;color:var(--navy);margin:20px 0 8px;line-height:1.7}
.qa li>.sub-h:first-child{margin-top:0}
.policy{background:#fff;padding:32px 36px;font-size:14px;line-height:2}
.policy h2,.policy h3{font-size:16px;font-weight:500;color:var(--navy);margin:28px 0 10px}
.policy h2:first-child,.policy h3:first-child{margin-top:0}
.policy p{margin-bottom:14px}
.policy ul,.policy ol{margin:0 0 14px 1.4em}
.policy li{margin-bottom:6px}
@media(max-width:600px){.policy{padding:22px 20px}}
.policy .policy-date{text-align:right;font-size:13px;color:var(--muted);margin:30px 0 0}

/* 会員登録のご案内（entry/） */
.merits{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;list-style:none;margin:0 0 8px}
.merits li{background:#fff;padding:22px 24px;box-shadow:0 2px 14px rgba(28,45,90,.08)}
.merits h3{font-size:16px;font-weight:500;color:var(--navy);margin-bottom:8px}
.merits p{font-size:14px;line-height:1.9}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0 0 28px}
.steps li{background:#fff;padding:20px;text-align:center;font-size:14px;line-height:1.8}
.steps li b{display:block;color:var(--navy);font-size:12px;letter-spacing:.14em;margin-bottom:6px}
.entry-cta{text-align:center;margin:0 0 20px}
.entry-cta a{display:inline-block;background:var(--accent);color:#fff;padding:18px 44px;font-size:16px;text-decoration:none;letter-spacing:.08em}
.entry-cta a:hover{opacity:.88}
@media(max-width:760px){.merits,.steps{grid-template-columns:1fr}.entry-cta a{display:block;padding:18px 20px}}
.entry-cta.is-pending span{display:inline-block;border:1px dashed var(--muted);color:var(--muted);padding:18px 44px;font-size:15px;letter-spacing:.08em;background:#fff}
/* 項目が奇数のとき最後の1つを2列ぶち抜きにして空セルを出さない（特典を増減させても崩れないように） */
.merits li:last-child:nth-child(odd){grid-column:1 / -1}

/* スタッフ紹介（staff/）。出典は部門紹介リニューアル案（company_section/block.html）の
   <style>。色だけこのサイトのネイビーに置き換えてある。HTML側は
   tools/build_staff.mjs が tools/partials/staff_block.html から組む。
   セレクタは全部 .sec26 配下なので、他のページのクラスとはぶつからない。
   （以前ここにあった .team .sg .sm .av .rm .nt は素のクラス名で、トップの
   「重要なお知らせ」の .nt とモデルハウス見出しの .sm を壊していた。） */
/* ===== 部門紹介 2026 リニューアル ===== */
.sec26{
  /* 出典はティールだったが、このサイトはネイビー基調なので置き換えた。
     --ink --line --muted はサイトの :root をそのまま使う（宣言しない）。 */
  --navy-pale:#eef0f7;  /* 面で使う淡いネイビー */
  --soft:#f1f0ec;       /* 無彩の面。サイトの --bg より少し濃い */
  color:var(--ink);text-align:left;max-width:950px;margin:0 auto;padding:0 0 96px;
}
.sec26 *{box-sizing:border-box;font-family:inherit;}
.sec26 img{max-width:100%;height:auto;display:block;}
.sec26 p{margin:0 0 16px;font-size:15px;line-height:2.0;}

/* --- 英日ペアの見出し（中央寄せ） --- */
.sec26 .sec26-label{
  font-family:"Jost",sans-serif;
  font-size:30px;line-height:1.2;letter-spacing:.16em;color:var(--ink);
  margin:0 0 10px;text-align:center;font-weight:300;text-transform:capitalize;
}
.sec26 .sec26-h2{
  font-size:13px;line-height:1.6;letter-spacing:.22em;color:var(--navy);
  font-weight:500;margin:0 0 40px;text-align:center;
}
.sec26 .sec26-sub{
  font-size:14px;line-height:2.0;color:var(--muted);margin:0 auto 44px;
  max-width:680px;text-align:center;word-break:auto-phrase;
}
/* .sec26-sub が複数段落のとき（準備中セクション）。中の p に .sec26 p の
   15px が効いてしまうので、親の字送りをそのまま継がせる */
.sec26 .sec26-sub p{font-size:inherit;line-height:inherit;margin:0 0 22px;}
.sec26 .sec26-sub p:last-child{margin-bottom:0;}

/* --- ヒーロー --- */
.sec26 .sec26-hero{padding:8px 0 64px;text-align:center;}
.sec26 .sec26-hero h2{
  font-size:26px;line-height:1.9;font-weight:400;margin:0 0 28px;
  letter-spacing:.06em;color:var(--ink);
}
.sec26 .sec26-lede{
  font-size:15px;line-height:2.2;color:var(--muted);
  max-width:680px;margin:0 auto;text-align:center;
}

/* --- 流れの帯 --- */
.sec26 .sec26-flow{padding:72px 0;border-top:1px solid var(--line);}
/* 3枚ずつ見せて横に送る（2026-11-01 事業者指定）。6枚横並びだと1枚が狭く、
   担当名が読みづらかった。中身は素の横スクロールで、矢印とドットはその操作用。
   指でもスワイプできる。勝手には動かさない（工程表なので、読んでいる途中で
   送られると困る）。動かす所は tools/build_staff.mjs の STEPS_JS */
.sec26 .sec26-steps{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;
  list-style:none;margin:0;padding:0 0 4px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.sec26 .sec26-steps::-webkit-scrollbar{display:none;}
.sec26 .sec26-steps>li{scroll-snap-align:start;}
.sec26 .sec26-slidenav{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0 0;}
.sec26 .sec26-slidebtn{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--navy);background:#fff;
  color:var(--navy);font-size:26px;line-height:1;cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;padding-bottom:3px;
  transition:background .2s,color .2s;
}
.sec26 .sec26-slidebtn:hover{background:var(--navy);color:#fff;}
.sec26 .sec26-slidebtn:disabled{opacity:.3;cursor:default;background:#fff;color:var(--navy);}
.sec26 .sec26-dots{display:flex;gap:8px;}
.sec26 .sec26-dots i{width:8px;height:8px;border-radius:50%;background:#c9cddb;display:block;}
.sec26 .sec26-dots i.on{background:var(--navy);}
/* 見出しの行数（1行/2行）や顔アイコンの有無で帯の位置がずれないよう、
   li を縦積みにして見出しに余白を吸わせ、帯の高さは min-height で固定する */
.sec26 .sec26-steps li{position:relative;padding:0;text-align:center;display:flex;flex-direction:column;}
.sec26 .sec26-step-n{
  font-size:11px;letter-spacing:.14em;color:var(--navy);display:block;margin:0 0 8px;font-weight:600;
}
.sec26 .sec26-step-name{font-size:13px;line-height:1.7;display:block;margin:auto 0 14px;color:var(--ink);}
.sec26 .sec26-step-who{
  font-size:11.5px;line-height:1.7;color:var(--navy);padding:10px 4px;
  background:var(--navy-pale);border-top:2px solid var(--navy);
  display:flex;flex-direction:column;justify-content:center;min-height:120px;box-sizing:border-box;
}
.sec26 .sec26-step-who.sec26-later{background:var(--soft);border-top-color:var(--line);color:var(--muted);}
/* 顔はPCだけ大きく（2026-11-01 事業者指定）。元画像は112pxなので46pxでも粗くならない。
   帯の min-height も上げてあるので、顔のある枠だけ背が高くなることはない。
   スマホは下のSP節で30px・78pxに戻している */
.sec26 .sec26-faces{display:flex;justify-content:center;gap:6px;margin:0 0 8px;}
.sec26 .sec26-faces img{width:70px;height:70px;border-radius:50%;object-fit:cover;}

/* --- 部門セクション --- */
.sec26 .sec26-dept{padding:76px 0;border-top:1px solid var(--line);}
.sec26 .sec26-dept-worry{
  font-size:14px;line-height:2.0;color:var(--muted);
  max-width:680px;margin:0 auto 52px;text-align:center;word-break:auto-phrase;
}

/* --- カード格子 --- */
.sec26 .sec26-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px;list-style:none;margin:0;padding:0;}
.sec26 .sec26-card{background:transparent;text-align:center;}
.sec26 .sec26-card-photo{aspect-ratio:1/1;overflow:hidden;background:var(--soft);}
.sec26 .sec26-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.sec26 .sec26-card-body{padding:22px 4px 0;}
.sec26 .sec26-card-role{font-size:12.5px;color:var(--navy);letter-spacing:.1em;margin:0 0 8px;}
/* 出典は役職を名前の上に置く前提の margin。名前の下に置いたときだけ上に詰める */
.sec26 .sec26-card-name + .sec26-card-role{margin:-8px 0 0;color:var(--muted);}
.sec26 .sec26-card-name{
  font-size:21px;font-weight:400;letter-spacing:.14em;margin:0 0 14px;color:var(--ink);
  text-transform:uppercase;
}
.sec26 .sec26-card-years{font-size:11px;color:var(--muted);letter-spacing:.08em;margin:0 0 14px;}
.sec26 .sec26-card-catch{
  font-size:14px;line-height:1.9;margin:0 0 16px;color:var(--ink);
  padding:0 0 16px;border-bottom:1px solid var(--line);
}
.sec26 .sec26-card-facts{list-style:none;margin:0 0 18px;padding:0;}
.sec26 .sec26-card-facts li{
  font-size:12px;line-height:1.9;color:var(--muted);
  display:flex;gap:10px;justify-content:center;
}
.sec26 .sec26-card-facts .sec26-k{color:var(--navy);}
.sec26 .sec26-card-more{
  display:inline-block;font-size:12.5px;letter-spacing:.1em;color:var(--navy);
  text-decoration:none;border-bottom:1px solid var(--line);padding:0 0 4px;transition:.2s;
}
.sec26 .sec26-card-more:hover{border-bottom-color:var(--navy);}
.sec26 .sec26-card-more .sec26-chev{margin-left:8px;font-size:9px;}

/* --- 建築・アフターサービスブロック --- */
.sec26 .sec26-other{padding:76px 0;border-top:1px solid var(--line);}
.sec26 .sec26-other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;} /* 一旦3列（用地を外しているため。戻すときは4） */
.sec26 .sec26-other-item{background:var(--soft);padding:36px 32px;text-align:center;}
.sec26 .sec26-other-item h3{
  font-size:17px;font-weight:400;letter-spacing:.14em;margin:0 0 16px;color:var(--navy);
}
.sec26 .sec26-other-item p{font-size:13.5px;line-height:2.0;color:var(--muted);margin:0;text-align:left;}
.sec26 .sec26-other-item .sec26-other-prep{text-align:center;letter-spacing:.14em;color:var(--muted);}
.sec26 .sec26-note{font-size:12px;line-height:1.9;color:var(--muted);margin:28px 0 0;text-align:center;}

/* --- CTA --- */
.sec26 .sec26-cta{padding:72px 40px;background:var(--navy);color:#fff;text-align:center;margin:76px 0 0;}
.sec26 .sec26-cta h2{font-size:22px;font-weight:400;letter-spacing:.1em;margin:0 0 18px;color:#fff;}
.sec26 .sec26-cta p{font-size:14px;line-height:2.1;color:rgba(255,255,255,.82);margin:0 auto 34px;max-width:540px;}
.sec26 .sec26-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.sec26 .sec26-btn{
  display:inline-block;min-width:252px;padding:17px 28px;font-size:13.5px;letter-spacing:.12em;
  text-decoration:none;transition:.2s;border:1px solid #fff;
}
.sec26 .sec26-btn-primary{background:#fff;color:var(--navy);}
.sec26 .sec26-btn-primary:hover{background:transparent;color:#fff;}
.sec26 .sec26-btn-ghost{background:transparent;color:#fff;}
.sec26 .sec26-btn-ghost:hover{background:#fff;color:var(--navy);}

/* --- 個人ページ --- */
.sec26 .sec26-person{padding:72px 0 0;}
.sec26 .sec26-person-head{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start;margin:0 0 64px;}
.sec26 .sec26-person-photo{aspect-ratio:1/1;overflow:hidden;background:var(--soft);}
.sec26 .sec26-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.sec26 .sec26-person-role{font-size:14px;color:var(--navy);letter-spacing:.12em;margin:0 0 12px;}
.sec26 .sec26-person-name{font-size:30px;font-weight:400;letter-spacing:.14em;margin:0 0 6px;color:var(--ink);}
.sec26 .sec26-person-roman{font-size:11px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin:0 0 20px;}
.sec26 .sec26-person-years{font-size:12px;color:var(--muted);letter-spacing:.08em;margin:0 0 26px;}
.sec26 .sec26-person-catch{
  font-size:17px;line-height:1.95;color:var(--ink);margin:0 0 44px;
  padding:24px 0 0;border-top:1px solid var(--line);
}
.sec26 .sec26-detail{margin:0;}

/* プロフィール一問一答: 参考サイトの「細枠チップ＋本文」 */
.sec26 .sec26-qa{list-style:none;margin:0 0 56px;padding:0;}
.sec26 .sec26-qa li{margin:0 0 26px;}
.sec26 .sec26-qa .sec26-k{
  display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--navy);
  border:1px solid var(--line);padding:4px 14px;margin:0 0 10px;
}
.sec26 .sec26-qa .sec26-v{display:block;font-size:14.5px;line-height:1.95;color:var(--ink);}

/* インタビュー */
.sec26 .sec26-iv{margin:0 0 64px;}
.sec26 .sec26-iv dt{
  font-size:14px;line-height:1.8;color:var(--navy);margin:0 0 12px;letter-spacing:.04em;
}
.sec26 .sec26-iv dd{font-size:14.5px;line-height:2.1;margin:0 0 36px;color:var(--ink);}
.sec26 .sec26-iv dd:last-child{margin-bottom:0;}

.sec26 .sec26-back{text-align:center;margin:0 0 8px;}
.sec26 .sec26-back a{
  display:inline-block;font-size:13px;letter-spacing:.12em;color:var(--navy);
  text-decoration:none;border-bottom:1px solid var(--line);padding:0 0 4px;transition:.2s;
}
.sec26 .sec26-back a:hover{border-bottom-color:var(--navy);}

/* --- SP --- */
@media screen and (max-width:767px){
  .sec26{padding:0 0 56px;}
  .sec26 .sec26-label{font-size:24px;}
  .sec26 .sec26-h2{font-size:12px;margin:0 0 30px;}
  .sec26 .sec26-hero{padding:44px 0 40px;}
  .sec26 .sec26-hero h2{font-size:19px;line-height:1.95;}
  .sec26 .sec26-lede,.sec26 p{font-size:14px;line-height:2.0;}
  .sec26 .sec26-flow,.sec26-dept,.sec26-other{padding:48px 0;}
  .sec26 .sec26-steps{grid-auto-columns:calc((100% - 16px)/3);gap:8px;}
  .sec26 .sec26-step-name{font-size:12px;}
  /* 「アフターサービス」が1行に収まるよう、SPだけ字間と左右padを詰める */
  .sec26 .sec26-step-who{font-size:10.5px;letter-spacing:0;padding:10px 2px;min-height:78px;}
  .sec26 .sec26-faces{gap:4px;margin:0 0 7px;}
  .sec26 .sec26-faces img{width:30px;height:30px;}
  .sec26 .sec26-grid{grid-template-columns:1fr;gap:44px;}
  .sec26 .sec26-dept-worry{margin:0 0 36px;}
  /* SPだけ本文を左揃えにする。中央寄せのまま8行も続くと行頭が毎行ずれて
     読みづらいため（2026-11-01）。見出し・英字ラベル・「準備中」は中央のまま */
  .sec26 .sec26-lede,
  .sec26 .sec26-dept-worry,
  .sec26 .sec26-sub,
  .sec26 .sec26-sub p{text-align:left;}
  /* 見出しの末尾1〜2文字だけが次の行に落ちるのを防ぐ（「…から始／まる。」対策）。
     text-wrap:balance は原稿に <br> が入っているぶん効かなかったので、画面幅に
     追従する字サイズと字間ゼロで収める。360px でも 320px でも、原稿が置いた
     <br> のとおりの行数で収まる */
  .sec26 .sec26-hero h2{font-size:clamp(14px,4.6vw,19px);letter-spacing:0;}
  .sec26 .sec26-cta h2{font-size:clamp(16px,5.2vw,22px);letter-spacing:0;}
  .sec26 .sec26-other-grid{grid-template-columns:1fr;}
  .sec26 .sec26-cta{padding:48px 20px;margin:48px 0 0;}
  .sec26 .sec26-btn{min-width:0;width:100%;}
  .sec26 .sec26-person{padding:44px 0 0;}
  .sec26 .sec26-person-head{grid-template-columns:1fr;gap:28px;margin:0 0 44px;}
  .sec26 .sec26-person-name{font-size:25px;}
  .sec26 .sec26-qa{margin:0 0 40px;}
  .sec26 .sec26-iv{margin:0 0 44px;}
}

/* --- スマホのメニュー・固定ボタン ------------------------------------------
   トップ（index.html）と同じものを下層ページにも出す（2026-11-01 事業者判断）。
   index.html は site.css を読まず自前のインライン CSS を持っているので、
   ここはその写し。どちらかを直したら両方を直すこと。
   HTMLは tools/partials/mobile_nav.html、開閉の動きは
   tools/template.mjs の MOBILE_NAV_JS。
   760px以下ではヘッダーの横並びメニュー（.gnav）を隠して、
   右上のハンバーガーに一本化する。 */
@media(max-width:760px){.gnav{display:none}}
.hbtn,.gmenu{display:none}
@media(max-width:760px){
.hbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:fixed;top:8px;right:8px;z-index:210;width:56px;height:56px;border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 1px 8px rgba(62,70,72,.2);color:var(--navy);font-family:inherit;cursor:pointer;padding:0}
.hbtn .hb{display:block;width:24px;height:14px;position:relative}
.hbtn .hb i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .25s,opacity .2s,top .25s}
.hbtn .hb i:nth-child(1){top:0}.hbtn .hb i:nth-child(2){top:6px}.hbtn .hb i:nth-child(3){top:12px}
.hbtn .ht{font-size:9px;letter-spacing:.08em;line-height:1}
.hbtn.on .hb i:nth-child(1){top:6px;transform:rotate(25deg)}
.hbtn.on .hb i:nth-child(2){opacity:0}
.hbtn.on .hb i:nth-child(3){top:6px;transform:rotate(-25deg)}
.gmenu{position:fixed;inset:0;z-index:200;background:#fff;overflow-y:auto;padding:84px 28px 40px;text-align:center}
.gmenu:not([hidden]){display:block}
.gmenu ul{list-style:none;max-width:420px;margin:0 auto}
.gmenu li{border-bottom:1px solid var(--line)}
.gmenu li a{display:block;padding:15px 4px;text-decoration:none;color:var(--ink)}
.gmenu .mj{display:block;font-size:16px;letter-spacing:.1em}
.gmenu .me{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.26em;color:#889687;margin-top:1px}
.gmenu .gtel{display:block;margin:28px auto 0;max-width:420px;padding:14px;background:var(--accent);color:#fff;text-decoration:none;font-size:13px;letter-spacing:.08em}
.gmenu .gtel b{font-family:Arial,sans-serif;font-size:18px;letter-spacing:.06em}
body.menu-open{overflow:hidden}
}
.fixbar{display:none}
@media(max-width:760px){
.fixbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;background:rgba(255,255,255,.97);border-top:1px solid #dfe2ec;box-shadow:0 -2px 14px rgba(28,45,90,.08);padding-bottom:env(safe-area-inset-bottom)}
.fixbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 2px 8px;color:#1C2D5A;text-decoration:none;font-size:11px;letter-spacing:.02em;line-height:1.3;border-left:1px solid #dfe2ec;text-align:center}
.fixbar a:first-child{border-left:0}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
}
