/* GARAGE HIBIKI（架空店舗デモ） — 鉄×オレンジ、ダーク基調の力強い整備工場トーン
   ※これは HPseller のデザイン作例です。実在店舗ではありません。 */
:root{
  --bg:#141210; --bg2:#1a1714; --panel:#1e1b17; --card:#201d19;
  --ink:#f3ede4; --ink-soft:#dcd4c8; --muted:#968f81;
  --line:#39332a; --line-lt:rgba(243,237,228,.14);
  --orange:#ff6a1f; --orange-d:#d6551a; --orange-soft:#ffb27a;
  --iron:#4c463d; --iron-lt:#7a7266;
  --amber:#e8a13b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink-soft);background:var(--bg);line-height:1.9;font-size:15.5px;-webkit-text-size-adjust:100%}
.disp{font-family:"Anton","Zen Kaku Gothic New",sans-serif;font-weight:400;letter-spacing:.06em}
.jph{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700}
a{color:inherit}
img,svg{max-width:100%;display:block}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
[id]{scroll-margin-top:82px}
.nw{white-space:nowrap}

/* ===== ハザード帯（鉄×オレンジの斜めストライプ） ===== */
.hazard{height:9px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,var(--bg2) 14px 28px)}

/* ===== header ===== */
header{position:sticky;top:0;z-index:60;background:rgba(20,18,16,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-lt)}
.hd{display:flex;align-items:center;justify-content:space-between;height:66px;gap:10px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0;flex-shrink:0}
.logo-mark{width:38px;height:38px;flex-shrink:0}
.logo-t{color:var(--ink);white-space:nowrap;line-height:1.25}
.logo-t .nm{font-family:"Anton","Zen Kaku Gothic New",sans-serif;font-weight:400;font-size:1.22rem;letter-spacing:.05em;display:block}
.logo-t .en{display:block;font-family:"Anton",sans-serif;font-size:.56rem;letter-spacing:.32em;color:var(--orange);font-weight:400;margin-top:1px}
nav.g{display:flex;align-items:center}
nav.g a{color:var(--ink-soft);text-decoration:none;font-size:.85rem;margin-left:20px;letter-spacing:.03em;white-space:nowrap}
nav.g a:hover,nav.g a.on{color:var(--orange)}
nav.g .nav-cta{background:var(--orange);color:#1a1310 !important;border-radius:3px;padding:9px 16px;font-weight:700;letter-spacing:.02em}
nav.g .nav-cta:hover{background:var(--orange-soft)}
@media(max-width:980px){html.js nav.g a:not(.nav-cta){display:none}}
@media(max-width:520px){.logo-t .en{display:none}}

/* ハンバーガー */
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line-lt);border-radius:4px;background:transparent;cursor:pointer;padding:0 11px;margin-left:8px;flex-shrink:0}
.menu-btn span{display:block;height:2.4px;border-radius:2px;background:var(--ink);transition:.25s}
html.menu-open .menu-btn span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
html.menu-open .menu-btn span:nth-child(2){opacity:0}
html.menu-open .menu-btn span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
@media(max-width:980px){.menu-btn{display:flex}}
html.menu-open{overflow:hidden}
.m-nav{position:fixed;top:66px;left:0;right:0;z-index:59;background:rgba(20,18,16,.98);backdrop-filter:blur(8px);border-bottom:2px solid var(--orange);padding:8px 22px calc(20px + env(safe-area-inset-bottom));display:none;flex-direction:column;max-height:calc(100vh - 66px);overflow-y:auto;box-shadow:0 18px 30px rgba(0,0,0,.4)}
html.menu-open .m-nav{display:flex}
.m-nav a{padding:14px 4px;border-bottom:1px dashed var(--line-lt);text-decoration:none;font-size:.98rem;color:var(--ink);font-weight:500;display:block}
.m-nav a.on{color:var(--orange)}
.m-nav a.nav-cta{margin-top:12px;border-bottom:none;text-align:center;color:#1a1310;background:var(--orange);border-radius:4px}
html:not(.js) nav.g{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}

/* ===== ページ見出し(下層) ===== */
.page-head{background:linear-gradient(165deg,var(--panel),var(--bg));color:var(--ink);padding:50px 0 42px;position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,106,31,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,106,31,.07) 1px,transparent 1px);background-size:27px 27px}
.page-head .wrap{position:relative}
.page-head .en{font-family:"Anton",sans-serif;font-size:.86rem;letter-spacing:.44em;color:var(--orange)}
.page-head h1{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:clamp(1.5rem,3.6vw,2.05rem);letter-spacing:.04em;margin-top:8px}
.page-head p{font-size:.9rem;color:var(--muted);margin-top:10px;max-width:42em}
.crumb{font-size:.76rem;color:var(--iron-lt);margin-top:18px}
.crumb a{color:var(--iron-lt)}
.crumb a:hover{color:var(--orange)}

/* ===== section ===== */
section{padding:60px 0}
section.alt{background:var(--panel)}
.sec-label{display:flex;align-items:center;gap:11px;color:var(--orange);font-family:"Anton",sans-serif;font-weight:400;font-size:.86rem;letter-spacing:.38em;margin-bottom:10px}
.sec-label::before{content:"";width:26px;height:4px;background:var(--orange)}
h2{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:clamp(1.3rem,3vw,1.66rem);letter-spacing:.03em;margin-bottom:14px;color:var(--ink)}
h3{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.sec-lead{color:var(--muted);max-width:44em;margin-bottom:32px;font-size:.94rem}
.note{font-size:.82rem;color:var(--muted)}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;padding:14px 27px;font-size:.92rem;letter-spacing:.03em;transition:.2s;border:1.6px solid transparent;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.btn-pri{background:var(--orange);color:#1a1310}
.btn-pri:hover{background:var(--orange-soft);transform:translateY(-2px)}
.btn-line{border-color:var(--iron-lt);color:var(--ink)}
.btn-line:hover{background:var(--panel);border-color:var(--orange);color:var(--orange)}
.btn-dark{background:var(--bg2);color:var(--ink);border-color:var(--line-lt)}
.btn-dark:hover{border-color:var(--orange);color:var(--orange)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

/* ===== cards ===== */
.card{background:var(--card);border:1px solid var(--line);border-radius:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:880px){.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.grid2,.grid3{grid-template-columns:1fr}}

/* サービスチップ帯 */
.svc-strip{background:var(--bg2);border-top:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt);padding:16px 0}
.svc-strip .wrap{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.svc-strip .t{font-family:"Anton",sans-serif;font-size:.76rem;letter-spacing:.24em;color:var(--orange);margin-right:6px}
.svc-chip{font-size:.82rem;border:1px solid var(--line-lt);border-radius:3px;padding:5px 13px;text-decoration:none;color:var(--ink-soft)}
.svc-chip:hover{border-color:var(--orange);color:var(--orange)}

/* 理由/こだわりカード */
.reason{padding:26px 24px;border-top:4px solid var(--orange)}
.reason h3{font-size:1.02rem;display:flex;align-items:center;gap:10px}
.reason .ic{width:34px;height:34px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--orange);font-family:"Anton",sans-serif;font-weight:400;font-size:1rem;flex-shrink:0;border:1px solid var(--line-lt)}
.reason p{font-size:.88rem;color:var(--muted);margin-top:10px}

/* サービスカード(アイコン付きリンク) */
.svc-card{display:block;text-decoration:none;padding:24px 20px 22px;transition:.2s;color:var(--ink-soft);border-top:4px solid var(--iron)}
.svc-card:hover{transform:translateY(-3px);border-top-color:var(--orange);box-shadow:0 14px 28px rgba(0,0,0,.35)}
.svc-card .ico{width:48px;height:48px;border-radius:3px;background:var(--bg2);color:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:12px;border:1px solid var(--line-lt)}
.svc-card .ico svg{width:26px;height:26px}
.svc-card h3{font-size:1rem;color:var(--ink)}
.svc-card p{font-size:.84rem;color:var(--muted);margin-top:6px}
.svc-card .more{display:inline-block;margin-top:9px;font-size:.78rem;color:var(--orange);font-weight:700}
@media(max-width:880px){.svc-card{padding:18px 14px 16px}.svc-card .ico{width:40px;height:40px}.svc-card h3{font-size:.92rem}.svc-card p{font-size:.78rem}}

/* ===== 料金目安テーブル ===== */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.price{width:100%;min-width:460px;border-collapse:collapse;background:var(--card);font-size:.88rem}
table.price th,table.price td{border:1px solid var(--line);padding:12px 14px;text-align:left}
table.price th{background:var(--bg2);color:var(--ink);font-weight:700;letter-spacing:.03em}
table.price td:first-child{font-weight:700;color:var(--ink);white-space:nowrap}
table.price .yen{color:var(--orange);font-weight:700;white-space:nowrap}
.price-note{font-size:.76rem;color:var(--muted);margin-top:10px}
.price-note::before{content:"※ ";color:var(--orange)}

/* ステップ(流れ) */
.flow{counter-reset:fl}
.flow .f{background:var(--card);border:1px solid var(--line);padding:22px 20px 20px;position:relative}
.flow .f::before{counter-increment:fl;content:counter(fl,decimal-leading-zero);color:var(--orange);font-family:"Anton",sans-serif;font-weight:400;font-size:1.5rem;display:block;line-height:1;margin-bottom:10px}
.flow h3{font-size:.98rem;margin-bottom:4px}
.flow p{font-size:.86rem;color:var(--muted)}

/* FAQ */
details{background:var(--card);border:1px solid var(--line);border-radius:4px;margin-bottom:10px}
summary{cursor:pointer;padding:16px 44px 16px 20px;font-weight:700;font-size:.94rem;list-style:none;position:relative;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"＋";position:absolute;right:18px;top:16px;color:var(--orange)}
details[open] summary::after{content:"－"}
details .a{padding:0 20px 18px;font-size:.9rem;color:var(--muted)}
details .a a{color:var(--orange)}

/* ご提案(未実装機能・アップセル演出)・写真プレースホルダー */
.propose{border:1.8px dashed var(--amber);border-radius:4px;padding:20px 22px;background:rgba(232,161,59,.06)}
.propose .tag-p{display:inline-block;font-size:.7rem;letter-spacing:.16em;background:var(--amber);color:#1a1310;border-radius:3px;padding:2px 10px;margin-bottom:8px;font-weight:700}
.propose p{font-size:.86rem;color:var(--muted)}
.ph-box{border:1.8px dashed var(--line-lt);border-radius:4px;background:var(--card);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:.84rem;letter-spacing:.06em;min-height:160px;text-align:center;padding:14px}
.ph-box svg{width:34px;height:34px;color:var(--iron-lt)}

/* こだわり価格card用 */
.price-card{background:var(--card);border:1px solid var(--line);padding:22px 24px}
.price-card .pc-label{font-size:.8rem;letter-spacing:.06em;color:var(--muted);font-weight:700}
.price-card .pc-price{font-family:"Anton",sans-serif;color:var(--orange);font-weight:400;font-size:1.9rem;letter-spacing:.02em;margin:6px 0 8px}
.price-card .pc-from{font-size:1.05rem;margin-left:2px;color:var(--muted)}
.price-card p{font-size:.86rem;color:var(--muted)}

/* CTAバンド */
.cta-band{background:linear-gradient(165deg,var(--panel),var(--bg));color:var(--ink);text-align:center;padding:56px 22px;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,106,31,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,106,31,.06) 1px,transparent 1px);background-size:27px 27px}
.cta-band>*{position:relative}
.cta-band h2{color:var(--ink);margin-bottom:8px}
.cta-band p{font-size:.9rem;color:var(--muted);margin-bottom:22px;max-width:36em;margin-left:auto;margin-right:auto}
.cta-band .cta-row{justify-content:center}

/* footer */
footer{background:#0f0d0b;color:var(--muted);padding:0 0 118px;font-size:.85rem;margin-top:20px}
footer .fx{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:40px}
footer b{color:var(--ink);font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:.04em;font-size:1.02rem}
footer nav{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem}
footer nav a{color:var(--iron-lt);text-decoration:none;padding:5px 0;display:inline-block}
footer nav a:hover{color:var(--orange)}
footer .fic{margin-top:14px;color:var(--iron-lt);font-size:.82rem;max-width:32em}
footer .demo-disclaimer{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:.76rem;color:var(--iron-lt);line-height:1.9}

/* ===== sticky cta(モバイル・内部リンクのみ) ===== */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:55;display:none;grid-template-columns:1fr 1fr;gap:1px;background:var(--bg2);padding-bottom:env(safe-area-inset-bottom)}
.sticky-cta a{padding:15px 8px;text-align:center;font-weight:700;text-decoration:none;font-size:.9rem;letter-spacing:.02em}
.s-a{background:var(--orange);color:#1a1310}
.s-b{background:var(--iron);color:var(--ink)}
@media(max-width:780px){.sticky-cta{display:grid}}

/* ===== 架空店舗デモバッジ(固定・右下) ===== */
.demo-badge{position:fixed;right:14px;bottom:14px;z-index:70;display:flex;align-items:center;gap:7px;background:#1a1310;border:1px solid var(--orange);color:var(--orange-soft) !important;text-decoration:none;font-size:.72rem;letter-spacing:.03em;padding:9px 13px 9px 11px;border-radius:99px;box-shadow:0 8px 20px rgba(0,0,0,.45)}
.demo-badge:hover{background:var(--orange);color:#1a1310 !important}
.demo-badge svg{width:15px;height:15px;flex-shrink:0}
@media(max-width:780px){.demo-badge{bottom:calc(64px + env(safe-area-inset-bottom) + 10px);right:10px;font-size:.68rem;padding:8px 11px 8px 9px}}
@media(max-width:360px){.demo-badge span{display:none}}

/* reveal(JS有効時のみ) */
html.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
html.js .rv.in{opacity:1;transform:none}

/* ===== 375px幅 調整 ===== */
@media(max-width:430px){
  table.price{font-size:.78rem}
  table.price th,table.price td{padding:9px 8px}
  .page-head h1{font-size:1.38rem}
  .cta-band h2{font-size:1.2rem}
  .logo-t .nm{font-size:1.05rem}
}
