/* ===============================================================
   下層ページ（ちずスマの想い／お問い合わせ／ポリシー系）
   =============================================================== */

/* --- 共通：ページヘッダー ------------------------------------- */
.pg-head{padding-top:clamp(140px,16vw,220px);padding-bottom:clamp(44px,6vw,84px)}
.pg-head-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;
  border-bottom:1px solid var(--ink);padding-bottom:clamp(24px,3vw,40px)}
.pg-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,3.4vw,2.75rem);
  letter-spacing:.09em;line-height:1.45;margin-top:1.1rem}
.pg-head .lat{font-family:var(--disp);font-style:italic;font-weight:300;
  font-size:clamp(1rem,2vw,1.4rem);letter-spacing:.14em;color:var(--accent)}
@media (max-width:900px){ .pg-head-in{grid-template-columns:1fr} }

/* --- 全幅の写真＋重ねプレート（原型③） ------------------------ */
.ov{position:relative;margin-bottom:clamp(56px,8vw,120px)}
.ov-fig{position:relative;aspect-ratio:16/7;min-height:280px}
.ov-fig .ph{position:absolute;inset:0}
.ov-plate{background:var(--paper);padding:clamp(30px,4.4vw,64px);position:relative;z-index:2;
  max-width:min(640px,86%);margin:clamp(-90px,-7vw,-40px) 0 0 clamp(20px,5.2vw,72px)}
.ov-plate .mark{right:24px;top:24px}
.ov-plate h2{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.2rem,2.3vw,1.85rem);line-height:1.9;letter-spacing:.05em}
@media (max-width:900px){ .ov-fig{aspect-ratio:4/3} .ov-plate{max-width:none;margin-inline:clamp(16px,4vw,40px)} }

/* --- 読み物本文 ------------------------------------------------ */
.doc{max-width:820px}
.doc--center{margin-inline:auto}
.doc p{font-weight:300;font-size:clamp(14.5px,1.5vw,16px);line-height:2.35;
  letter-spacing:.045em;color:var(--ink-80);margin-bottom:1.9em}
.doc .lead{font-family:var(--serif);font-weight:400;
  font-size:clamp(1.02rem,1.9vw,1.35rem);line-height:2.2;letter-spacing:.06em;color:var(--ink);
  margin-bottom:2.4em}
.doc h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.15rem,2.1vw,1.6rem);
  line-height:1.75;letter-spacing:.06em;margin:clamp(56px,7vw,96px) 0 1.6rem;
  padding-bottom:.9rem;border-bottom:1px solid var(--ink);position:relative}
.doc h2:first-child{margin-top:0}
.doc h3{font-family:var(--serif);font-weight:500;font-size:clamp(1rem,1.7vw,1.2rem);
  line-height:1.9;letter-spacing:.05em;margin:clamp(34px,4vw,52px) 0 1rem}
.doc ul,.doc ol{margin:0 0 1.9em;padding-left:0;list-style:none}
.doc ul>li,.doc ol>li{position:relative;padding-left:1.7em;font-weight:300;
  font-size:clamp(14px,1.45vw,15.5px);line-height:2.2;letter-spacing:.04em;color:var(--ink-80)}
.doc ul>li::before{content:'';position:absolute;left:.25em;top:1.05em;
  width:5px;height:5px;background:var(--accent);transform:rotate(45deg)}
.doc ol{counter-reset:d}
.doc ol>li{counter-increment:d}
.doc ol>li::before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:.15em;
  font-family:var(--disp);font-size:.95em;color:var(--accent)}
.doc a{color:var(--accent);text-decoration:underline;text-underline-offset:.25em;
  text-decoration-thickness:1px;transition:opacity .3s}
.doc a:hover{opacity:.65}
.doc .upd{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-40);display:block;margin-top:clamp(48px,6vw,80px);
  padding-top:1.6rem;border-top:1px solid var(--line)}
.doc table{width:100%;border-collapse:collapse;margin:0 0 1.9em;font-size:clamp(13px,1.35vw,14.5px)}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:1.05em .6em;text-align:left;
  font-weight:300;line-height:1.95;color:var(--ink-80);vertical-align:top}
.doc th{font-weight:500;color:var(--ink);white-space:nowrap}

/* --- 特大の抜き（1ページに1か所） ------------------------------ */
.pull{padding-block:clamp(64px,9vw,140px);display:grid;
  grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.pull-n{font-family:var(--disp);font-weight:300;line-height:.85;color:var(--accent);
  font-size:clamp(4.6rem,13vw,10.5rem);letter-spacing:-.02em}
.pull-t{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.1rem,2.1vw,1.6rem);line-height:1.95;letter-spacing:.06em}
.pull-t small{display:block;margin-top:1.2rem;font-family:var(--sans);font-weight:300;
  font-size:clamp(13px,1.35vw,14.5px);line-height:2.2;color:var(--ink-60);letter-spacing:.04em}
@media (max-width:760px){ .pull{grid-template-columns:1fr;gap:1.4rem} }

/* --- 罫線インデックス（原型⑤） -------------------------------- */
.rows{border-top:1px solid var(--ink)}
.row-i{display:grid;grid-template-columns:clamp(48px,5vw,80px) minmax(0,.9fr) minmax(0,1.35fr);
  gap:clamp(16px,3.4vw,52px);align-items:start;
  padding:clamp(26px,3.4vw,44px) 0;border-bottom:1px solid var(--line)}
.row-n{font-family:var(--disp);font-weight:300;font-size:clamp(1.25rem,2.2vw,1.9rem);
  color:var(--accent);opacity:.85;line-height:1.2}
.row-t{font-family:var(--serif);font-weight:500;font-size:clamp(1rem,1.7vw,1.25rem);
  line-height:1.85;letter-spacing:.05em}
.row-d{font-weight:300;font-size:clamp(13.5px,1.4vw,15px);line-height:2.2;
  letter-spacing:.04em;color:var(--ink-60)}
@media (max-width:760px){
  .row-i{grid-template-columns:auto minmax(0,1fr);row-gap:.9rem}
  .row-d{grid-column:2/-1}
}

/* --- 会社概要の定義リスト -------------------------------------- */
.info{border-top:1px solid var(--ink)}
.info div{display:grid;grid-template-columns:clamp(120px,15vw,220px) minmax(0,1fr);
  gap:clamp(16px,3vw,40px);padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--line)}
.info dt{font-family:var(--ui);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-40);padding-top:.35em}
.info dd{font-weight:300;font-size:clamp(14px,1.45vw,15.5px);line-height:2.1;
  letter-spacing:.045em;color:var(--ink-80)}
@media (max-width:640px){ .info div{grid-template-columns:1fr;row-gap:.5rem} }

/* --- LINE 特典パネル（お問い合わせ） --------------------------- */
.line-band{background:var(--deep);color:rgba(252,251,249,.86);
  padding-block:clamp(64px,9vw,128px);position:relative;overflow:hidden;isolation:isolate}
.line-band .gridlines{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:calc(100% / 6) 100%}
.line-band .wrap{position:relative;z-index:1}
.line-head{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
  gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.line-head h2{font-family:var(--serif);font-weight:500;color:#fff;
  font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.6;letter-spacing:.05em;margin-top:1.1rem}
.line-head h2 .lat{display:block;font-family:var(--disp);font-style:italic;font-weight:300;
  font-size:.4em;letter-spacing:.16em;color:rgba(255,255,255,.6);margin-bottom:.9rem}
.line-head p{font-weight:300;font-size:clamp(13.5px,1.4vw,15px);line-height:2.25;
  letter-spacing:.04em;color:rgba(252,251,249,.66)}
.line-band .eyebrow{color:rgba(255,255,255,.55)}
.line-band .eyebrow::before{background:rgba(255,255,255,.45)}
.gifts{border-top:1px solid rgba(255,255,255,.22)}
.gift{display:grid;grid-template-columns:clamp(48px,5vw,80px) minmax(0,1fr);
  gap:clamp(16px,3vw,44px);align-items:baseline;
  padding:clamp(22px,2.8vw,34px) 0;border-bottom:1px solid rgba(255,255,255,.13)}
.gift-n{font-family:var(--disp);font-weight:300;font-size:clamp(1.15rem,2vw,1.7rem);
  color:rgba(255,255,255,.55)}
.gift-t{font-family:var(--serif);font-weight:400;color:#fff;
  font-size:clamp(.98rem,1.65vw,1.2rem);line-height:1.95;letter-spacing:.05em}
@media (max-width:900px){ .line-head{grid-template-columns:1fr} }

/* --- 大きめCTA ------------------------------------------------- */
.cta-big{margin-top:clamp(44px,6vw,80px);display:flex;align-items:center;
  gap:clamp(1.4rem,3vw,2.6rem);flex-wrap:wrap}
.btn--line{background:#fff;color:var(--ink);border-color:#fff;
  padding:1.35em 2.6em;font-size:clamp(13px,1.4vw,15px)}
.btn--line:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.cta-note{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5)}

/* --- 相談の流れ（横3ステップ） --------------------------------- */
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.mini > div{padding:clamp(28px,3.4vw,44px) clamp(18px,2.4vw,36px) clamp(28px,3.4vw,44px) 0;
  border-bottom:1px solid var(--line)}
.mini > div + div{border-left:1px solid var(--line);padding-left:clamp(18px,2.4vw,36px)}
.mini .n{font-family:var(--ui);font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ink-40);display:block;margin-bottom:1.2rem}
.mini h3{font-family:var(--serif);font-weight:500;font-size:clamp(.98rem,1.6vw,1.15rem);
  line-height:1.85;letter-spacing:.05em;margin-bottom:.9rem}
.mini p{font-weight:300;font-size:clamp(13px,1.35vw,14px);line-height:2.15;
  letter-spacing:.04em;color:var(--ink-60)}
@media (max-width:760px){
  .mini{grid-template-columns:1fr}
  .mini > div + div{border-left:0;padding-left:0}
}

/* --- ページ下部の共通CTA ---------------------------------------- */
.pg-close{padding-block:clamp(64px,9vw,140px);text-align:center}
.pg-close h2{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.8;letter-spacing:.06em;margin-bottom:1.6rem}
.pg-close p{font-weight:300;font-size:clamp(13.5px,1.4vw,15px);line-height:2.25;
  color:var(--ink-60);margin-bottom:clamp(28px,3.4vw,44px)}
