/* 株式会社LIP ── 確定ブランド共通スタイル（ロゴ02／墨×藍／CLASSIC） 2026-05-23 */
:root{
  --paper:#fbfaf8;--surface:#ffffff;--mist:#eef1f4;
  --ink:#1e2523;--ink-soft:#48433d;--mute:#6b6f68;--line:#e2ded6;
  --indigo:#1f3a6b;--steel:#3f6fb0;--stone:#9ca6a0;
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink-soft);background:var(--paper);line-height:1.9;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.en{font-family:"Inter",sans-serif;}
.eyebrow{font-family:"Noto Sans JP",sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.08em;color:var(--steel);display:flex;align-items:center;gap:.7rem;}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--steel);display:inline-block;}
.sec-title{font-family:"Shippori Mincho",serif;font-weight:800;font-size:2.05rem;color:var(--ink);letter-spacing:.02em;margin:.9rem 0 1.2rem;line-height:1.55;}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:Inter;font-weight:700;font-size:.92rem;border-radius:4px;padding:.85rem 1.7rem;transition:.2s;}
.btn-primary{background:var(--indigo);color:#fff;}
.btn-primary:hover{background:#18305b;transform:translateY(-2px);}
.btn-line{border:1.5px solid var(--line);color:var(--ink);}
.btn-line:hover{border-color:var(--steel);color:var(--steel);}
.btn-onindigo{background:#fff;color:var(--indigo);}
.btn-onindigo:hover{background:var(--steel);color:#fff;transform:translateY(-2px);}
.more{display:inline-flex;align-items:center;gap:.4rem;font-family:Inter;font-weight:700;font-size:.88rem;color:var(--steel);margin-top:1.4rem;}
.more:hover{gap:.7rem;}
a:focus-visible,.btn:focus-visible,.submit:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(63,111,176,.28);outline-offset:3px;}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(251,250,248,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand:hover .wm,.brand:hover .corp{color:var(--steel);}
.brand .wm{font-family:Inter;font-weight:800;font-size:1.4rem;color:var(--ink);letter-spacing:.04em;}
.brand .corp{font-weight:700;font-size:.86rem;color:var(--ink);}
.nav-links{display:flex;gap:1.7rem;font-size:.88rem;font-weight:500;color:var(--ink);}
.nav-links a{position:relative;padding:.3rem 0;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--steel);transition:width .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--steel);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav .btn{padding:.55rem 1.2rem;font-size:.82rem;}

/* PAGE HERO（下層ページの見出し帯） */
.page-hero{border-bottom:1px solid var(--line);background:linear-gradient(rgba(31,58,107,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(31,58,107,.04) 1px,transparent 1px);background-size:34px 34px;background-color:var(--paper);}
.page-hero .inner{padding:3.6rem 0 3rem;}
.page-hero h1{font-family:"Shippori Mincho",serif;font-weight:800;font-size:2.45rem;color:var(--ink);line-height:1.45;margin:.9rem 0 .6rem;}
.page-hero .sub{font-family:"Shippori Mincho",serif;font-weight:600;color:var(--steel);letter-spacing:.04em;font-size:1.04rem;}

/* SECTION 共通 */
section{padding:5.2rem 0;}
.lead{font-family:"Shippori Mincho",serif;font-weight:600;font-size:1.28rem;color:var(--ink);line-height:2;max-width:860px;}
.body-text{font-size:1rem;margin-top:1.2rem;max-width:820px;}
.body-text p+p{margin-top:1.1rem;}
.alt{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

/* CARDS */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem;}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1.6rem;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:2rem 1.8rem;}
.card .n{font-family:Inter;font-weight:800;font-size:.95rem;color:var(--steel);}
.card .n::after{content:"";display:block;width:28px;height:2px;background:var(--steel);margin-top:.5rem;}
.card h3{font-family:"Shippori Mincho",serif;font-weight:800;font-size:1.2rem;color:var(--ink);margin:1rem 0 .5rem;}
.card p{font-size:.92rem;}

/* 工程フロー（測る→真相→理想 等） */
.flowsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem;}
.fstep{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.8rem 1.6rem;}
.fstep .n{font-family:Inter;font-weight:800;font-size:.9rem;color:var(--steel);}
.fstep h3{font-weight:900;font-size:1.15rem;color:var(--ink);margin:.6rem 0 .4rem;}
.fstep p{font-size:.9rem;}

/* サービス / 番号付き節 */
.svc-group{font-weight:800;font-size:.9rem;letter-spacing:.04em;color:var(--steel);margin:2.4rem 0 1rem;display:flex;align-items:center;gap:1rem;}
.svc-group::after{content:"";flex:1;height:1px;background:var(--line);}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.5rem 1.7rem;display:flex;gap:1rem;align-items:flex-start;transition:.2s;}
.svc:hover{border-color:var(--steel);transform:translateY(-2px);}
.svc .mk{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--steel);margin-top:.65rem;}
.svc h4{font-weight:700;font-size:1.05rem;color:var(--ink);}
.svc p{font-size:.88rem;margin-top:.25rem;}

/* テーブル（会社概要等） */
.info-table{width:100%;border-collapse:collapse;margin-top:1.6rem;max-width:760px;}
.info-table th,.info-table td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line);font-size:.94rem;vertical-align:top;}
.info-table th{width:30%;color:var(--ink);font-weight:700;background:var(--mist);}
.info-table a,.foot-contact a,.contact-info a{color:var(--steel);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}

/* お問い合わせ 共通バンド */
.contact{background:var(--indigo);color:#fff;text-align:center;}
.contact .eyebrow{color:rgba(255,255,255,.8);justify-content:center;}
.contact .eyebrow::before{background:rgba(255,255,255,.7);}
.contact h2{font-family:"Shippori Mincho",serif;font-weight:800;font-size:1.85rem;margin:1rem 0;}
.contact p{color:rgba(255,255,255,.85);margin-bottom:1.8rem;}

/* FOOTER */
footer{background:var(--paper);border-top:1px solid var(--line);padding:3.2rem 0 2.2rem;font-size:.86rem;}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.6rem;padding-bottom:1.7rem;border-bottom:1px solid var(--line);}
.foot-nav{display:flex;gap:1.3rem;flex-wrap:wrap;font-weight:500;}
.foot-nav a:hover{color:var(--steel);}
.copy{margin-top:1.5rem;font-size:.76rem;color:var(--mute);}
.foot-contact{font-size:.8rem;color:var(--mute);margin-top:.5rem;line-height:1.8;}

@media(max-width:900px){.nav{height:auto;min-height:72px;flex-wrap:wrap;padding:.75rem 0 .95rem;gap:.75rem;}.nav-links{order:3;width:100%;display:flex;gap:1.05rem;overflow-x:auto;white-space:nowrap;padding:.15rem 0 .2rem;scrollbar-width:thin;}.nav .btn{margin-left:auto;}}
@media(max-width:760px){.wrap{padding:0 20px;}.brand .corp{display:none;}.page-hero h1{font-size:1.7rem;}.sec-title{font-size:1.5rem;}section{padding:3.8rem 0;}.cards3,.cards2,.flowsteps{grid-template-columns:1fr;}.info-table{display:block;max-width:none;}.info-table tbody,.info-table tr,.info-table th,.info-table td{display:block;width:100%;}.info-table th{border-bottom:none;padding:.8rem 1rem .35rem;}.info-table td{padding:.35rem 1rem .95rem;}.foot-top{display:block;}.foot-nav{margin-top:1.4rem;gap:.9rem 1.1rem;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition:none!important;animation:none!important;}}
