  :root{
    --ink:#1a1a17;
    --ink-2:#3a3a34;
    --stone:#6b6a62;
    --paper:#f4f2ec;
    --paper-2:#ece9e0;
    --line:#cbc7bb;
    --slate:#2b3538;
    --slate-2:#3d4a4d;
    --gold:#a8843e;
    --gold-2:#c19a4c;
    --white:#ffffff;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:"Hiragino Mincho ProN","Yu Mincho",'YuMincho',serif;
    color:var(--ink);background:var(--paper);line-height:1.9;
    -webkit-font-smoothing:antialiased;letter-spacing:.02em;
  }
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px}

  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(244,242,236,.94);backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  /* ヘッダーだけ内容幅を広く取り、ナビ9項目が確実に1行へ収まるようにする */
  header .wrap{max-width:1220px}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}
  .brand{display:flex;flex-direction:row;align-items:center;gap:13px;line-height:1.15;text-decoration:none;color:inherit}
  .brand-logo{height:38px;width:auto;display:block;flex:0 0 auto}
  .brand-text{display:flex;flex-direction:column}
  .brand .mark{font-size:1.28rem;font-weight:700;letter-spacing:.12em}
  .brand .sub{font-size:.68rem;letter-spacing:.3em;color:var(--stone)}
  .menu{display:flex;gap:15px;list-style:none}
  #recruit,#price,#faq{scroll-margin-top:96px}   /* アンカージャンプ時、固定ヘッダーに隠れないよう余白 */
  .menu a{font-family:"Hiragino Kaku Gothic ProN",sans-serif;text-decoration:none;color:var(--ink-2);font-size:.87rem;letter-spacing:.1em;position:relative;padding:6px 0}
  .menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s}
  .menu a:hover::after{width:100%}
  .navtel{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.94rem;letter-spacing:.06em;color:var(--white);background:var(--slate);font-weight:700;padding:10px 20px;text-decoration:none;transition:.3s}
  .navtel:hover{background:var(--gold)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
  .burger span{width:26px;height:2px;background:var(--ink);transition:.3s}

  .hero{position:relative;min-height:100vh;display:flex;align-items:center;background:linear-gradient(180deg,#1e2628 0%,#2b3538 58%,#374446 100%);overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.014) 0 2px,transparent 2px 26px),radial-gradient(ellipse at 74% 28%,rgba(168,132,62,.15),transparent 55%);pointer-events:none}
  /* 敷地全景（空撮）を背景に敷き、暗いオーバーレイで文字の可読性を確保 */
  .hero-photo{position:absolute;inset:0;background:url("images/hero.jpg") center/cover no-repeat;opacity:.34;filter:saturate(.72)}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,28,30,.88) 0%,rgba(26,33,35,.66) 46%,rgba(30,38,40,.42) 100%)}
  .strata{position:absolute;left:0;right:0;bottom:0;height:40%;opacity:.5}
  .strata span{display:block;width:100%;border-top:1px solid rgba(255,255,255,.06)}
  .strata span:nth-child(1){height:14%;background:rgba(255,255,255,.015)}
  .strata span:nth-child(2){height:22%;background:rgba(255,255,255,.03)}
  .strata span:nth-child(3){height:26%;background:rgba(255,255,255,.05)}
  .strata span:nth-child(4){height:38%;background:rgba(255,255,255,.07)}
  .hero-inner{position:relative;z-index:2;color:var(--paper);padding-top:74px}
  .eyebrow{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.83rem;letter-spacing:.4em;color:var(--gold-2);margin-bottom:28px;opacity:0;transform:translateY(14px);animation:rise .9s .2s forwards}
  .hero h1{font-size:clamp(1.8rem,5.4vw,4.3rem);font-weight:700;line-height:1.34;letter-spacing:.04em;margin-bottom:30px}
  .hero h1 .l{white-space:nowrap}   /* 「断らない」対応力。を1行に保つ（フォントは上のclampで収まる大きさに調整済み） */
  .hero h1 .l{display:block;opacity:0;transform:translateY(24px)}
  .hero h1 .l:nth-child(1){animation:rise 1s .35s forwards}
  .hero h1 .l:nth-child(2){animation:rise 1s .55s forwards}
  .hero h1 .accent{color:var(--gold-2)}
  .hero p{font-size:1.1rem;max-width:36em;color:rgba(244,242,236,.84);line-height:2.1;margin-bottom:24px;opacity:0;transform:translateY(16px);animation:rise 1s .8s forwards}
  .hero .target{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.92rem;letter-spacing:.08em;color:rgba(244,242,236,.6);margin-bottom:40px;opacity:0;animation:rise 1s .9s forwards}
  .hero .target-sub{display:block;margin-top:8px;font-size:.92rem;color:rgba(244,242,236,.55);letter-spacing:.08em}
  /* ヒーロー：見出しは全幅、その下を「コピー＋写真」の2カラムに */
  .hero-body{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-top:30px}
  .hero-copy{min-width:0}
  .hero-lead em{font-style:normal;color:var(--gold-2);font-weight:700}
  .hero-points{list-style:none;margin:0 0 34px;padding:0;opacity:0;animation:rise 1s .9s forwards}
  .hero-points li{position:relative;padding-left:28px;margin-bottom:13px;font-size:1.04rem;line-height:1.85;color:rgba(244,242,236,.86);letter-spacing:.02em}
  .hero-points li::before{content:"";position:absolute;left:0;top:.8em;width:15px;height:2px;background:var(--gold)}
  .hero-points strong{color:var(--gold-2);font-weight:700}
  .hero-visual{position:relative;opacity:0;animation:rise 1.1s .75s forwards}
  .hv-sp{display:none}
  .hv-main{position:relative;overflow:hidden;border:1px solid rgba(244,242,236,.2);box-shadow:0 26px 60px rgba(0,0,0,.5)}
  .hv-main img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
  .hv-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
  .hv-thumbs figure{overflow:hidden;border:1px solid rgba(244,242,236,.16);transition:.35s}
  .hv-thumbs figure:hover{border-color:var(--gold);transform:translateY(-3px)}
  .hv-thumbs img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
  /* 設備の使い込まれた姿を「62年動かし続けてきた証」として意味づけるキャプション */
  .hero .hv-caption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;margin:14px 0 0;padding-left:13px;border-left:2px solid var(--gold);font-size:.87rem;line-height:1.8;color:rgba(244,242,236,.72);letter-spacing:.02em;max-width:none}
  .hero .hv-caption strong{display:block;color:rgba(244,242,236,.95);font-weight:700}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:rise 1s 1.05s forwards}
  .btn{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:inline-flex;align-items:center;gap:10px;font-size:.96rem;letter-spacing:.12em;text-decoration:none;padding:16px 32px;transition:.35s}
  .btn-solid{background:var(--gold);color:#241b06;font-weight:700}
  .btn-solid:hover{background:var(--gold-2);transform:translateY(-2px)}
  .btn-line{border:1px solid rgba(244,242,236,.5);color:var(--paper)}
  .btn-line:hover{background:rgba(244,242,236,.1);border-color:var(--paper)}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}

  section{padding:110px 0}
  .lead{margin-bottom:56px}
  .lead .num{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.82rem;letter-spacing:.4em;color:var(--gold);display:block;margin-bottom:14px}
  .lead h2{font-size:clamp(1.9rem,3.5vw,2.62rem);font-weight:700;letter-spacing:.06em;line-height:1.5}
  .lead .en{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.8rem;letter-spacing:.32em;color:var(--stone);margin-top:12px;display:block}
  .lead.center{text-align:center}
  /* 見出し内の改行：広い画面では改行なし（1行）、狭い画面でだけ意味の切れ目で改行 */
  .sp-br{display:none}
  @media(max-width:560px){
    .sp-br{display:inline}
    /* 文字間隔が広く、スマホ幅で1文字だけ折り返してしまうのを防ぐ */
    .eyebrow{font-size:.78rem;letter-spacing:.2em}
    /* 比較表の行ラベルは列幅が狭く、補足が数文字ずつ縦に潰れるため非表示
       （残土等の受入である旨は、選ばれる理由・料金・取扱製品の各所に明記済み） */
    .cmp-table .rl-note{display:none}
  }

  .problems{background:var(--slate);color:var(--paper)}
  .problems .lead h2{color:var(--paper)}
  .problems .lead .en{color:rgba(244,242,236,.5)}
  .prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
  .pcard{background:var(--slate);padding:38px 40px;display:flex;gap:20px;align-items:flex-start}
  .pcard .ic{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:rgba(168,132,62,.18);color:var(--gold-2);display:flex;align-items:center;justify-content:center;font-size:1.37rem;font-weight:700;font-family:"Hiragino Kaku Gothic ProN",sans-serif}
  .pcard h3{font-size:1.17rem;font-weight:700;letter-spacing:.04em;margin-bottom:10px;line-height:1.6}
  .pcard p{font-size:1rem;line-height:1.95;color:rgba(244,242,236,.72)}
  .prob-foot{text-align:center;margin-top:40px;font-size:1.12rem;letter-spacing:.06em;color:var(--gold-2)}

  .reasons{background:var(--paper)}
  .r-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
  .rcard{background:var(--white);border:1px solid var(--line);position:relative;transition:.4s;overflow:hidden}
  .rcard:hover{border-color:var(--gold);transform:translateY(-4px)}
  .rphoto{aspect-ratio:16/9;overflow:hidden;background:var(--paper-2)}
  .rphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
  .rcard:hover .rphoto img{transform:scale(1.04)}
  .rbody{padding:34px 34px 40px;position:relative}
  .rcard .rn{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:2.6rem;font-weight:700;color:var(--paper-2);line-height:1;position:absolute;top:20px;right:28px}
  .rcard .ic{font-size:1.8rem;margin-bottom:20px;color:var(--gold)}
  .rcard h3{font-size:1.31rem;font-weight:700;letter-spacing:.04em;margin-bottom:16px;line-height:1.6;position:relative;z-index:2}
  .rcard p{font-size:1.03rem;color:var(--ink-2);line-height:2.05}
  .r-scope{display:block;margin-top:12px;font-size:.89rem;color:var(--stone);letter-spacing:.02em}

  .compare{background:var(--paper-2)}
  .cmp-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line)}
  .cmp-table th,.cmp-table td{padding:22px 24px;text-align:left;border-bottom:1px solid var(--line);font-size:1.06rem;vertical-align:top;line-height:1.8}
  .cmp-table thead th{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.96rem;letter-spacing:.08em}
  .cmp-table thead .us{background:var(--slate);color:var(--paper);font-weight:700}
  .cmp-table thead .them{background:var(--paper-2);color:var(--stone)}
  .cmp-table thead .item{width:22%;background:var(--white)}
  .cmp-table .rowlabel{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:1rem;color:var(--slate);letter-spacing:.04em;width:22%}
  .cmp-table .rl-note{font-weight:400;font-size:.85rem;color:var(--stone)}
  .cmp-table .them-cell{color:var(--stone);width:39%}
  .cmp-table .us-cell{width:39%;background:rgba(168,132,62,.06);color:var(--ink)}
  /* 列の縦線：3列の対応を追いやすく。加州石産の列はゴールドで強調 */
  .cmp-table thead .them,.cmp-table .them-cell{border-left:1px solid var(--line)}
  .cmp-table thead .us,.cmp-table .us-cell{border-left:2px solid var(--gold)}
  /* 左上の空セルにも下線を引く。thead内のtrは:last-childにも該当し
     「最終行の下線を消す」指定に打ち消されるため、優先度を上げて指定する */
  .cmp-table thead tr:last-child th.item{border-bottom:1px solid var(--line)}
  .cmp-table .us-cell strong{color:var(--slate)}
  .cmp-table tr:last-child th,.cmp-table tr:last-child td{border-bottom:none}

  .why{background:var(--slate);color:var(--paper)}
  .why .lead h2{color:var(--paper)}
  .why .lead .en{color:rgba(244,242,236,.5)}
  .why-intro{font-size:1.12rem;color:rgba(244,242,236,.82);max-width:40em;line-height:2.1;margin-bottom:52px}
  .why-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  .wstep{position:relative;padding:0 28px}
  .wstep:not(:last-child){border-right:1px solid rgba(255,255,255,.14)}
  .wphoto{aspect-ratio:16/9;overflow:hidden;margin-bottom:24px;border:1px solid rgba(255,255,255,.16)}
  .wphoto img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88)}
  .wstep .wn{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.83rem;letter-spacing:.3em;color:var(--gold-2);margin-bottom:18px;display:block}
  .wstep h3{font-size:1.23rem;font-weight:700;letter-spacing:.04em;margin-bottom:16px;line-height:1.6}
  .wstep p{font-size:1.02rem;color:rgba(244,242,236,.74);line-height:2.05}
  .why-note{margin-top:48px;padding:26px 30px;background:rgba(168,132,62,.14);border-left:3px solid var(--gold);font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.08rem;letter-spacing:.04em;color:var(--paper);line-height:1.9}

  .products{background:var(--paper)}
  .prod-group{margin-bottom:44px}
  .prod-group:last-of-type{margin-bottom:0}
  .prod-group h3{font-size:1.21rem;font-weight:700;letter-spacing:.06em;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:14px}
  .prod-group h3 .en{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.76rem;letter-spacing:.22em;color:var(--gold);font-weight:400}
  .prod-tags{display:flex;flex-wrap:wrap;gap:11px}
  .prod-tags span{font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--white);border:1px solid var(--line);padding:10px 17px;font-size:.95rem;letter-spacing:.04em;color:var(--ink-2);transition:.3s}
  .prod-tags span:hover{border-color:var(--gold);color:var(--slate)}
  .prod-note{font-family:"Hiragino Kaku Gothic ProN",sans-serif;margin-top:40px;padding:22px 26px;background:var(--paper-2);border-left:3px solid var(--gold);font-size:1rem;color:var(--ink-2);line-height:1.9;letter-spacing:.04em}
  .prod-sub{font-family:"Hiragino Kaku Gothic ProN",sans-serif;margin-top:16px;font-size:.96rem;color:var(--stone);line-height:1.95;letter-spacing:.03em}
  .prod-intro{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.04rem;color:var(--ink-2);line-height:2;max-width:44em;margin-bottom:44px}
  .prod-intro strong{color:var(--slate)}
  .prod-price{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:flex;align-items:center;gap:12px;margin:-8px 0 20px;font-size:1.05rem;font-weight:700;letter-spacing:.03em;color:var(--slate)}
  .pp-label{flex:0 0 auto;font-size:.83rem;font-weight:700;letter-spacing:.08em;color:var(--stone);background:var(--paper-2);border:1px solid var(--line);padding:5px 12px}
  .pp-label.pp-fixed{color:#241b06;background:var(--gold-2);border-color:var(--gold-2)}
  .prod-hero{margin-bottom:48px;border:1px solid var(--line)}
  .prod-hero img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .prod-hero figcaption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--white);padding:14px 20px;font-size:.94rem;letter-spacing:.04em;color:var(--stone);border-top:1px solid var(--line)}

  /* ---------- 現場の仕事 ---------- */
  .worksite{background:var(--paper-2)}
  .work-intro{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.04rem;color:var(--ink-2);line-height:2;max-width:40em;margin-bottom:40px}
  .work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .work-item{background:var(--white);border:1px solid var(--line);overflow:hidden;transition:.4s}
  .work-item:hover{border-color:var(--gold);transform:translateY(-3px)}
  .work-item img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .6s}
  .work-item:hover img{transform:scale(1.05)}
  .work-item figcaption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;padding:13px 15px;font-size:.91rem;letter-spacing:.03em;color:var(--ink-2);line-height:1.7;border-top:1px solid var(--line)}

  /* ---------- 取扱製品の各グループ写真 ---------- */
  .prod-photo{margin-bottom:20px;border:1px solid var(--line);overflow:hidden}
  .prod-photo img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}

  /* ---------- 代表 ---------- */
  .exec-block{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:52px}
  .exec-item{border:1px solid rgba(255,255,255,.16);overflow:hidden}
  .exec-item img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .exec-item figcaption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;padding:13px 16px;font-size:1.1rem;font-weight:700;letter-spacing:.06em;color:var(--paper);background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.12)}
  .exec-role{display:block;font-size:.83rem;font-weight:400;letter-spacing:.18em;color:var(--gold-2);margin-bottom:5px}
  .exec-note{grid-column:1/-1;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1rem;letter-spacing:.04em;color:var(--gold-2);line-height:1.9;text-align:center;padding-top:8px}
  .exec-detail{display:block;max-width:44em;margin:12px auto 0;font-size:.96rem;color:rgba(244,242,236,.72);line-height:2}

  .voice{background:var(--paper-2)}
  .voice-card{background:var(--white);border:1px solid var(--line);padding:52px 56px;max-width:820px;margin:0 auto;position:relative}
  .voice-card::before{content:"“";font-family:Georgia,serif;font-size:5rem;color:var(--gold);opacity:.35;position:absolute;top:20px;left:34px;line-height:1}
  .voice-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:32px;position:relative;z-index:2}
  .vstep .vn{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.8rem;letter-spacing:.24em;color:var(--gold);margin-bottom:12px;display:block}
  .vstep h3{font-size:1.08rem;font-weight:700;letter-spacing:.04em;margin-bottom:10px}
  .vstep p{font-size:.96rem;color:var(--ink-2);line-height:1.95}
  .voice-quote{border-top:1px solid var(--line);padding-top:26px;font-size:1.21rem;font-weight:700;color:var(--slate);letter-spacing:.04em;line-height:1.8}
  .voice-by{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.92rem;color:var(--stone);margin-top:14px;letter-spacing:.06em}
  .voice-more{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1000px;margin:36px auto 0}
  .vcard{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px 26px 24px;display:flex;flex-direction:column}
  .vcard p{font-size:1rem;color:var(--ink-2);line-height:1.95;margin-bottom:16px}
  .vcard cite{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-style:normal;font-size:.91rem;color:var(--stone);letter-spacing:.04em;margin-top:auto}

  /* ---------- 料金の目安・お見積もり ---------- */
  .price{background:var(--paper)}
  .price-intro{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.04rem;color:var(--ink-2);line-height:2.05;max-width:46em;margin-bottom:40px}
  .price-intro strong{color:var(--slate)}
  .pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .pricing-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--line);padding:28px 30px;display:flex;flex-direction:column}
  .pricing-card-fixed{border-top-color:var(--gold)}
  .pc-basis{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.83rem;font-weight:700;letter-spacing:.06em;color:var(--gold);margin-bottom:10px}
  .pricing-card h3{font-size:1.23rem;font-weight:700;letter-spacing:.04em;color:var(--slate);margin-bottom:12px;line-height:1.5}
  .pricing-card p{font-size:1rem;color:var(--ink-2);line-height:1.95;margin-bottom:18px}
  .pc-tag{font-family:"Hiragino Kaku Gothic ProN",sans-serif;align-self:flex-start;margin-top:auto;font-size:.89rem;font-weight:700;letter-spacing:.04em;color:var(--stone);background:var(--paper-2);border:1px solid var(--line);padding:7px 14px}
  .pricing-card-fixed .pc-tag{color:#241b06;background:var(--gold-2);border-color:var(--gold-2)}
  .price-cta{text-align:center;margin-top:44px}
  .price-cta>p{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.06rem;color:var(--ink-2);line-height:1.9;margin-bottom:16px}
  .price-cta>p strong{color:var(--slate)}
  .prod-note a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);font-weight:700}

  .company{background:var(--slate);color:var(--paper)}
  .company .lead h2{color:var(--paper)}
  .company .lead .en{color:rgba(244,242,236,.5)}
  .co-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);margin-bottom:56px}
  .co-stat{background:var(--slate);padding:34px 24px;text-align:center}
  .co-stat .v{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:2.2rem;font-weight:700;color:var(--gold-2);line-height:1.2}
  .co-stat .k{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.89rem;letter-spacing:.14em;color:rgba(244,242,236,.7);margin-top:8px}
  .co-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
  .co-table{width:100%;border-collapse:collapse}
  .co-table th,.co-table td{text-align:left;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:1.02rem;vertical-align:top}
  .co-table th{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-weight:400;letter-spacing:.14em;color:var(--gold-2);width:32%;font-size:.91rem;padding-top:21px}
  .co-table td{color:rgba(244,242,236,.9);line-height:1.9}
  .co-map{aspect-ratio:1/1;border:1px solid rgba(255,255,255,.16)}
  .map-route{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:13px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:rgba(244,242,236,.88);text-decoration:none;font-size:.93rem;letter-spacing:.06em;transition:.3s}
  .map-route:hover{background:var(--gold);border-color:var(--gold);color:#241b06;font-weight:700}
  .co-map iframe{width:100%;height:100%;filter:grayscale(.3) contrast(.95);border:0}

  /* ---------- 採用情報 ---------- */
  .recruit{background:var(--paper-2)}
  .recruit-lead{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.06rem;color:var(--ink-2);line-height:2.05;max-width:44em;margin-bottom:46px}
  .recruit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .rc-item{background:var(--white);border:1px solid var(--line);padding:34px 30px;transition:.35s}
  .rc-item:hover{border-color:var(--gold);transform:translateY(-3px)}
  .rc-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(168,132,62,.12);color:var(--gold);font-size:1.37rem;margin-bottom:18px}
  .rc-item h3{font-size:1.19rem;font-weight:700;letter-spacing:.04em;color:var(--slate);margin-bottom:12px;line-height:1.55}
  .rc-item p{font-size:1rem;color:var(--ink-2);line-height:2}
  .rc-jobs{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:38px;padding:20px 24px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--gold)}
  .rc-jobs-label{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.89rem;font-weight:700;letter-spacing:.1em;color:var(--stone);flex:0 0 auto}
  .rc-jobs-list{display:flex;flex-wrap:wrap;gap:11px}
  .rc-jobs-link{font-family:"Hiragino Kaku Gothic ProN",sans-serif;margin-left:auto;font-size:.94rem;font-weight:700;color:var(--slate);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
  .rc-jobs-link:hover{color:var(--gold)}
  .rc-jobs-list span{font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--paper-2);border:1px solid var(--line);padding:9px 16px;font-size:1rem;font-weight:700;letter-spacing:.03em;color:var(--slate)}
  .recruit-cta{text-align:center;margin-top:48px}
  .recruit-cta>p{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.02rem;color:var(--ink-2);margin-bottom:14px}
  .rc-tel{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.9rem;font-weight:700;color:var(--slate);letter-spacing:.03em;text-decoration:none}
  .rc-tel:hover{color:var(--gold)}
  .rc-tel-sub{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:block;margin-top:10px;font-size:.94rem;color:var(--stone);letter-spacing:.04em}

  /* ---------- よくあるご質問（FAQ） ---------- */
  .faq{background:var(--paper-2)}
  .faq-list{max-width:820px;margin:0 auto}
  .faq-item{background:var(--white);border:1px solid var(--line);margin-bottom:14px}
  .faq-item[open]{border-color:var(--gold)}
  .faq-item summary{font-family:"Hiragino Kaku Gothic ProN",sans-serif;list-style:none;cursor:pointer;padding:22px 56px 22px 26px;font-size:1.1rem;font-weight:700;letter-spacing:.03em;color:var(--slate);line-height:1.6;position:relative;transition:color .25s}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:"＋";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.27rem;color:var(--gold);font-weight:400;transition:transform .3s}
  .faq-item[open] summary::after{content:"−"}
  .faq-item summary:hover{color:var(--gold)}
  .faq-a{padding:0 26px 24px}
  .faq-a p{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.02rem;color:var(--ink-2);line-height:2;letter-spacing:.02em}

  /* ---------- 連携先・協力会社 ---------- */
  .partner-block{margin-top:60px;padding-top:48px;border-top:1px solid rgba(255,255,255,.16)}
  .partner-h{font-size:1.31rem;font-weight:700;letter-spacing:.06em;color:var(--paper);margin-bottom:12px}
  .partner-lead{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.02rem;color:rgba(244,242,236,.74);line-height:2;max-width:42em;margin-bottom:30px}
  .partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .partner-item{border:1px solid rgba(255,255,255,.16);overflow:hidden;background:rgba(255,255,255,.03)}
  .partner-item img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .partner-item figcaption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;padding:12px 15px;font-size:.94rem;letter-spacing:.04em;color:rgba(244,242,236,.85);border-top:1px solid rgba(255,255,255,.12)}
  .partner-voice{margin:30px 0 0;padding:26px 30px;background:rgba(255,255,255,.04);border-left:3px solid var(--gold);position:relative}
  .partner-voice p{font-size:1.08rem;line-height:2;color:rgba(244,242,236,.9);letter-spacing:.02em;margin-bottom:12px}
  .partner-voice cite{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-style:normal;font-size:.96rem;color:var(--gold-2);letter-spacing:.04em}

  .contact{background:var(--paper);text-align:center}
  .contact h2{font-size:clamp(1.9rem,3.9vw,2.72rem);font-weight:700;letter-spacing:.06em;margin-bottom:20px;line-height:1.6}
  .contact .ask{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:inline-block;background:var(--paper-2);padding:12px 26px;font-size:1rem;letter-spacing:.06em;color:var(--slate);margin-bottom:30px}
  .contact p{color:var(--ink-2);font-size:1.1rem;max-width:34em;margin:0 auto 44px;line-height:2.1}
  .tel-block{display:flex;gap:56px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
  .tel-item .tl{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.83rem;letter-spacing:.24em;color:var(--stone);margin-bottom:8px}
  .tel-item .tn{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.9rem;font-weight:700;color:var(--slate);letter-spacing:.03em;text-decoration:none}
  .tel-item .tn:hover{color:var(--gold)}
  .hours-note{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:inline-block;font-size:1rem!important;letter-spacing:.06em;color:var(--slate)!important;background:var(--paper-2);padding:11px 24px;margin:0 auto 16px!important;border-left:3px solid var(--gold)}
  .hours-note strong{color:var(--slate)}
  .fax-note{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.92rem;color:var(--stone);letter-spacing:.06em}

  footer{background:var(--ink);color:rgba(244,242,236,.7);padding:56px 0 28px}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
  .foot-logo{height:44px;width:auto;display:block;margin-bottom:14px;opacity:.92}
  .foot-brand .mark{font-size:1.27rem;font-weight:700;letter-spacing:.12em;color:var(--paper);margin-bottom:4px}
  .foot-brand .adr{font-size:.92rem;line-height:1.9}
  .sns-link{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:9px 17px;border:1px solid rgba(255,255,255,.22);color:rgba(244,242,236,.82);text-decoration:none;font-size:.89rem;letter-spacing:.06em;transition:.3s}
  .sns-link svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
  .sns-link:hover{border-color:var(--gold);color:var(--gold-2)}
  .foot-nav{display:flex;gap:26px;flex-wrap:wrap}
  .foot-nav a{font-family:"Hiragino Kaku Gothic ProN",sans-serif;color:rgba(244,242,236,.7);text-decoration:none;font-size:.91rem;letter-spacing:.08em}
  .foot-nav a:hover{color:var(--gold-2)}
  .copy{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.83rem;letter-spacing:.1em;color:rgba(244,242,236,.4);margin-top:24px}

  /* ---------- movie ---------- */
  .movie{background:var(--paper)}
  .movie-lead-note{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.02rem;color:var(--ink-2);line-height:2;max-width:40em;margin-bottom:44px}
  .movie-grid{display:grid;grid-template-columns:2fr 1fr;gap:26px}
  .movie-main .vframe{aspect-ratio:16/9}
  .movie-side{display:flex;flex-direction:column;gap:26px}
  .movie-side .vframe{aspect-ratio:16/9}
  .movie-side-card{background:var(--slate);color:var(--paper);padding:34px 30px;display:flex;flex-direction:column;justify-content:center;flex:1}
  .movie-side-card h3{font-size:1.27rem;font-weight:700;letter-spacing:.06em;margin-bottom:16px}
  .movie-side-card p{font-size:1.02rem;line-height:2;color:rgba(244,242,236,.8);margin-bottom:22px}
  .movie-side-card .side-tel{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.31rem;font-weight:700;color:var(--gold-2);text-decoration:none;letter-spacing:.04em}
  .movie-side-card .side-tel:hover{color:var(--paper)}
  /* 動画サブ枠に置いた写真（サブ動画IDを設定すると動画に置き換わる） */
  .side-photo{border:1px solid var(--line);overflow:hidden;background:#0d1113}
  .side-photo img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .side-photo figcaption{font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--white);padding:11px 16px;font-size:.89rem;letter-spacing:.04em;color:var(--stone);border-top:1px solid var(--line)}
  .vframe{position:relative;width:100%;background:#0d1113;border:1px solid var(--line);overflow:hidden}
  .vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  /* placeholder shown until real embed URL is set */
  .vframe.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#243033,#2b3538)}
  .vframe.placeholder .ph{text-align:center;color:rgba(244,242,236,.5);font-family:"Hiragino Kaku Gothic ProN",sans-serif;padding:20px}
  .vframe.placeholder .ph .play{width:56px;height:56px;border-radius:50%;border:2px solid rgba(244,242,236,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.27rem;color:rgba(244,242,236,.6)}
  .vframe.placeholder .ph small{font-size:.83rem;letter-spacing:.1em;display:block;margin-top:8px;color:rgba(244,242,236,.35)}
  .movie-cta{margin-top:38px;text-align:center}
  .yt-link{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:inline-flex;align-items:center;gap:10px;font-size:.96rem;letter-spacing:.08em;text-decoration:none;color:var(--white);background:#c4302b;padding:14px 30px;transition:.3s}
  .yt-link:hover{background:#a82722}

  /* ---------- form ---------- */
  .form{background:var(--paper-2)}
  .form-wrap{max-width:760px;margin:0 auto}
  .form-intro{text-align:center;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.04rem;color:var(--ink-2);line-height:2;margin-bottom:40px}
  .kform{background:var(--white);border:1px solid var(--line);padding:44px 46px}
  .frow{margin-bottom:24px}
  .frow:last-of-type{margin-bottom:0}
  .frow label,.frow .flabel{font-family:"Hiragino Kaku Gothic ProN",sans-serif;display:block;font-size:.96rem;font-weight:700;letter-spacing:.06em;color:var(--slate);margin-bottom:10px}
  .frow label .req,.frow .flabel .req{color:#c4302b;font-size:.83rem;margin-left:8px;font-weight:400}
  .frow label .opt,.frow .flabel .opt{color:var(--stone);font-size:.83rem;margin-left:8px;font-weight:400}
  .kform input[type=text],.kform input[type=tel],.kform input[type=email],.kform input[type=date],.kform textarea,.kform select{font-family:"Hiragino Kaku Gothic ProN",sans-serif;width:100%;padding:13px 15px;border:1px solid var(--line);background:var(--paper);font-size:1.05rem;color:var(--ink);transition:.25s}
  .kform input:focus,.kform textarea:focus,.kform select:focus{outline:none;border-color:var(--gold);background:var(--white)}
  .kform textarea{resize:vertical;min-height:110px;line-height:1.8}
  .radio-row{display:flex;flex-wrap:wrap;gap:12px}
  .radio-row label{font-weight:400;font-size:1rem;display:flex;align-items:center;gap:7px;margin-bottom:0;cursor:pointer;background:var(--paper);border:1px solid var(--line);padding:10px 16px;transition:.25s}
  .radio-row label:hover{border-color:var(--gold)}
  .radio-row input{accent-color:var(--gold)}
  .form-consent{font-family:"Hiragino Kaku Gothic ProN",sans-serif;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:.91rem;color:var(--stone);line-height:1.9;text-align:center}
  .form-consent a{color:var(--slate);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}
  .fsubmit{text-align:center;margin-top:34px}
  .fsubmit button{font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--slate);color:var(--paper);border:none;padding:17px 56px;font-size:1.04rem;font-weight:700;letter-spacing:.14em;cursor:pointer;transition:.3s}
  .fsubmit button:hover{background:var(--gold);color:#241b06}
  .form-alt{text-align:center;margin-top:30px;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.96rem;color:var(--stone);line-height:1.9}
  .form-alt a{color:var(--slate);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}
  .form-notice{margin-top:16px;padding:14px 18px;background:rgba(168,132,62,.1);border-left:3px solid var(--gold);font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.91rem;color:var(--ink-2);line-height:1.8}

  .form-success{background:var(--white);border:1px solid var(--gold);border-top:4px solid var(--gold);padding:52px 46px;text-align:center}
  .form-success .fs-icon{width:64px;height:64px;border-radius:50%;background:rgba(168,132,62,.14);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 22px}
  .form-success h3{font-size:1.5rem;font-weight:700;letter-spacing:.06em;color:var(--slate);margin-bottom:16px;line-height:1.6}
  .form-success p{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.04rem;color:var(--ink-2);line-height:2;max-width:34em;margin:0 auto}
  .form-success a{color:var(--slate);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}

  /* スクロール演出。既定では「表示」。JSが有効な場合のみ隠してからフェードインさせる。
     → JS無効・JSエラー・一部クローラでも本文が消えない。 */
  .reveal{opacity:1;transform:none}
  .js .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}
  .js .reveal.in{opacity:1;transform:translateY(0)}

  /* ナビ項目が9個あり、1行に収まらなくなる幅で早めにハンバーガーへ切替（レイアウト全体のモバイル化は880pxのまま） */
  @media(max-width:1180px){
    .menu,.navtel{display:none}
    .burger{display:flex}
  }
  @media(max-width:880px){
    .prob-grid{grid-template-columns:1fr}
    .r-grid{grid-template-columns:1fr;gap:24px}
    .why-flow{grid-template-columns:1fr}
    .wstep{padding:28px 0}
    .wstep:not(:last-child){border-right:none;border-bottom:1px solid rgba(255,255,255,.14)}
    .voice-steps{grid-template-columns:1fr;gap:22px}
    .voice-card{padding:40px 30px}
    .co-grid{grid-template-columns:1fr;gap:38px}
    .co-stats{grid-template-columns:1fr}
    .movie-grid{grid-template-columns:1fr}
    .kform{padding:32px 24px}
    section{padding:78px 0}
    .cmp-table th,.cmp-table td{padding:16px 14px;font-size:.96rem}
    .tel-block{gap:30px}
    .brand-logo{height:32px}
    .brand .mark{font-size:1.13rem}
    .rbody{padding:26px 24px 32px}
    .wphoto{margin-bottom:18px}
    .prod-hero{margin-bottom:34px}
  
    .hero-photo{opacity:.28}
    /* スマホは1カラム。重ね配置の2枚組は使わず、1枚を箇条書きの直後に表示 */
    .hero-body{grid-template-columns:1fr;gap:0;margin-top:22px}
    .hv-pc{display:none}
    .hv-sp{display:block;margin:0 0 32px}
    .hv-sp .hv-main img{aspect-ratio:16/10}
    .hv-sp .hv-thumbs{gap:8px;margin-top:8px}
    .hero-points li{font-size:1rem;padding-left:24px;margin-bottom:11px}
    .hero-points{margin-bottom:26px}
    .work-grid{grid-template-columns:1fr 1fr;gap:14px}
    .partner-grid{grid-template-columns:1fr;gap:14px}
    .partner-block{margin-top:40px;padding-top:34px}
    .recruit-grid{grid-template-columns:1fr;gap:16px}
    .rc-item{padding:28px 24px}
    .rc-tel{font-size:1.6rem}
    .partner-voice{padding:22px 22px}
    .pricing-grid{grid-template-columns:1fr;gap:16px}
    .voice-more{grid-template-columns:1fr;gap:16px}
    .faq-item summary{padding:18px 48px 18px 20px;font-size:1.04rem}
    .faq-a{padding:0 20px 20px}
    .work-item figcaption{padding:11px 12px;font-size:.86rem}
    .exec-block{grid-template-columns:1fr;gap:14px;margin-bottom:36px}
    .prod-photo{margin-bottom:16px}
  }
  @media(max-width:420px){
    .brand .sub{display:none}
    .brand-logo{height:29px}
  }
  /* 極小画面（〜359px）でも見出し2行目が切れないよう一段小さく */
  @media(max-width:359px){
    .hero h1{font-size:1.55rem}
  }
  .mobile-menu{display:none;position:fixed;top:74px;left:0;right:0;z-index:99;background:var(--slate);flex-direction:column;padding:18px 28px 28px}
  .mobile-menu.open{display:flex}
  .mobile-menu a{font-family:"Hiragino Kaku Gothic ProN",sans-serif;color:var(--paper);text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.1em;font-size:1rem}

  /* ---------- プライバシーポリシー等の文書ページ ---------- */
  .legal{background:var(--paper);padding-top:150px}
  .legal .lead .num{font-size:.78rem}
  .legal-body{max-width:820px;margin-top:8px}
  .legal-body p{font-size:1.05rem;line-height:2.1;color:var(--ink-2);margin-bottom:20px}
  .legal-body h3{font-size:1.17rem;font-weight:700;letter-spacing:.05em;color:var(--slate);margin:44px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .legal-body ul{margin:0 0 22px 1.3em}
  .legal-body li{font-size:1.03rem;line-height:2;color:var(--ink-2);margin-bottom:6px}
  .legal-body a{color:var(--slate);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}
  .legal-contact{background:var(--paper-2);border-left:3px solid var(--gold);padding:22px 26px;margin-bottom:20px}
  .legal-contact p{margin-bottom:0;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:1rem;line-height:2}
  .legal-date{font-size:.95rem!important;color:var(--stone)!important;margin-top:40px!important}
  .legal-back{margin-top:52px;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:.98rem}
  .legal-back a{color:var(--slate);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
  .legal-back a:hover{color:var(--gold)}
  @media(max-width:880px){ .legal{padding-top:118px} }

  /* キーボード操作時に「今どこにいるか」を明示（マウス操作時には出さない） */
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
  .problems a:focus-visible,.why a:focus-visible,.company a:focus-visible,footer a:focus-visible,
  .hero a:focus-visible,.movie-side-card a:focus-visible{outline-color:var(--gold-2)}

  /* 動きを減らす設定の利用者には、アニメーションを無効化 */
  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
      transition-duration:.001ms!important;scroll-behavior:auto!important}
    .js .reveal{opacity:1!important;transform:none!important}
    .hero .eyebrow,.hero h1 .l,.hero p,.hero .target,.hero-cta{opacity:1!important;transform:none!important}
  }
