/* 株式会社 中嶋内装 ── 共有スタイル */
:root{
  --paper:#F7F5F0;      /* 地 */
  --card:#FFFFFF;
  --ink:#1F2429;
  --ink2:#5C666E;
  --ink3:#8B949B;
  --line:#DEDAD1;
  --steel:#B8C0C8;      /* LGS */
  --board:#E6DCC0;      /* 石膏ボード */
  --accent:#2B4257;     /* 深い藍 */
  --accent2:#9C6B3C;    /* 仕上げの温かみ */
  --ui:"BIZ UDPGothic","Hiragino Sans","Yu Gothic UI",sans-serif;
  --body:"Noto Sans JP","Hiragino Sans",sans-serif;
  --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);line-height:1.95;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ── ヘッダ ───────────────────────────── */
.hd{position:sticky;top:0;z-index:40;background:rgba(247,245,240,.88);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:20px;height:66px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;font-family:var(--ui)}
.logo b{font-size:17px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.logo span{font-size:10.5px;letter-spacing:.16em;color:var(--ink3)}
.nav{display:flex;gap:clamp(14px,2.4vw,30px);font-family:var(--ui);font-size:13.5px}
.nav a{text-decoration:none;color:var(--ink2);padding:6px 0;position:relative;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.3,.7,.3,1)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--ink)}
/* ★狭い画面では英字を落とす。残すと社名が3行に折れる（幅400で実測） */
@media (max-width:600px){
  .hd .wrap{height:58px;gap:10px}
  .logo span{display:none}
  .logo b{font-size:15px}
  .nav{gap:15px;font-size:12.5px}
}

/* ── 見出し ───────────────────────────── */
.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:13px;
  font-family:var(--ui);font-size:11.5px;letter-spacing:.18em;color:var(--ink3)}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--steel)}
h1,h2,h3{font-family:var(--ui);font-weight:700;letter-spacing:-.01em;line-height:1.32}
h2{font-size:clamp(21px,2.5vw,30px);margin:0 0 26px}
h3{font-size:16px;margin:0 0 10px}
p{margin:0 0 1.1em}
.lead{font-size:clamp(15px,1.15vw,17px);color:var(--ink2);max-width:40em}

/* ── 区切り ───────────────────────────── */
section{padding:clamp(64px,8vw,110px) 0}
section+section{border-top:1px solid var(--line)}

/* ── 出てくる（スクロール） ─────────────── */
.rv{opacity:0;transform:translateY(22px);
  transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.rv.on{opacity:1;transform:none}
.rv.d1{transition-delay:.10s} .rv.d2{transition-delay:.20s}
.rv.d3{transition-delay:.30s} .rv.d4{transition-delay:.40s}
.rv.d5{transition-delay:.50s} .rv.d6{transition-delay:.60s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
}

/* ── 表（会社概要） ───────────────────── */
.dl{margin:0;border-top:1px solid var(--line)}
.dl>div{display:grid;grid-template-columns:9.5em 1fr;gap:0 26px;
  padding:17px 2px;border-bottom:1px solid var(--line);align-items:start}
.dl dt{font-family:var(--ui);font-size:13.5px;color:var(--ink2);letter-spacing:.04em;margin:0}
.dl dd{margin:0;font-size:14.5px}
.dl dd small{display:block;font-size:12.5px;color:var(--ink3);line-height:1.8;margin-top:3px}
@media (max-width:620px){
  .dl>div{grid-template-columns:1fr;gap:2px}
  .dl dt{font-size:12px;color:var(--ink3)}
}

/* ── 脚 ───────────────────────────────── */
.ft{border-top:1px solid var(--line);background:#F1EEE7}
.ft .wrap{padding-top:44px;padding-bottom:44px;display:flex;flex-wrap:wrap;
  gap:24px 40px;justify-content:space-between;align-items:flex-start}
.ft .nm{font-family:var(--ui);font-weight:700;font-size:15px;margin:0 0 6px}
.ft address{font-style:normal;font-size:13px;color:var(--ink2);line-height:1.9}
.ft .cp{font-size:11.5px;color:var(--ink3);font-family:var(--ui);letter-spacing:.05em}
.ft nav{display:flex;flex-direction:column;gap:7px;font-size:13px;font-family:var(--ui)}
.ft nav a{color:var(--ink2);text-decoration:none}
.ft nav a:hover{color:var(--ink)}
