:root{--ink:#1d2321;--sub:#5b6461;--line:#e3e6e4;--bg:#fbfbf9;--card:#fff;--accent:#1f5f4a;--accent-weak:#e8f1ed;--warn:#8a4b12}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.85}
a{color:var(--accent)}img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.logo{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:.02em}.logo small{display:block;font-size:11px;font-weight:400;color:var(--sub);line-height:1}
.hd-cta{display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border-radius:8px;font-weight:700;text-decoration:none;font-size:16px;line-height:1.2;border:2px solid var(--accent)}
.btn-main{background:var(--accent);color:#fff}.btn-sub{background:#fff;color:var(--accent)}
header .btn{padding:8px 12px;font-size:14px}
.hero{padding:56px 0 40px;background:linear-gradient(180deg,#fff, var(--bg))}
.hero h1{font-size:clamp(26px,5vw,40px);line-height:1.4;margin:0 0 12px}
.hero p{color:var(--sub);margin:0 0 24px;max-width:40em}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
section{padding:40px 0}h2{font-size:24px;margin:0 0 20px;line-height:1.4}h3{font-size:19px;margin:0 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:15px;cursor:pointer;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .15s}
.card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}
.ph{aspect-ratio:3/2;height:auto;background:#e9ecea url("/img/noimage.svg") center/60px no-repeat;object-fit:cover;width:100%}
.card .body{padding:14px 16px 18px}.card h3{font-size:18px}
.meta{font-size:14px;color:var(--sub)}.price{font-weight:700;color:var(--ink)}
.cat{display:inline-block;font-size:12px;background:var(--accent-weak);color:var(--accent);padding:2px 8px;border-radius:4px;margin-bottom:6px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:12px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 56px;position:relative}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;text-align:center;line-height:28px}
.box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.contact{background:var(--accent);color:#fff;border-radius:16px;padding:28px 20px;text-align:center}
.contact .tel{font-size:clamp(26px,6vw,36px);font-weight:700;color:#fff;text-decoration:none;display:block;margin:4px 0}
.contact .btn-sub{border-color:#fff}
.contact p{margin:4px 0}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:10px}summary{font-weight:700;cursor:pointer}
footer{border-top:1px solid var(--line);padding:28px 0 90px;font-size:14px;color:var(--sub);background:#fff}
.crumb{font-size:13px;color:var(--sub);padding-top:16px}.crumb a{color:var(--sub)}
.p-head{padding:16px 0 8px}.p-head h1{font-size:clamp(24px,4.5vw,34px);line-height:1.4;margin:6px 0 10px}
.lead{font-size:18px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.gallery figure{margin:0}.gallery figcaption{font-size:12px;color:var(--sub);padding-top:2px}
.gallery .main{grid-column:1/-1}
.gallery button{all:unset;cursor:zoom-in;display:block;width:100%}
table.info{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
table.info th,table.info td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.info th{width:8.5em;background:#f4f6f5;font-weight:700;font-size:15px}
.two{display:grid;gap:24px}@media(min-width:860px){.two{grid-template-columns:1.4fr 1fr}}
ul.pts{padding-left:1.2em;margin:0}ul.pts li{margin:4px 0}
.notice{border-left:4px solid var(--warn);background:#fff8f0;padding:14px 16px;border-radius:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tags span{font-size:13px;border:1px solid var(--line);border-radius:4px;padding:1px 8px;background:#fff}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 16px;display:flex;gap:8px;z-index:20}
.sticky-cta .btn{flex:1;padding:12px 8px}
@media(min-width:860px){.sticky-cta{display:none}footer{padding-bottom:28px}}
dialog{border:none;padding:0;background:transparent;max-width:96vw}dialog img{max-height:86vh;width:auto;margin:auto;border-radius:6px}
dialog::backdrop{background:rgba(0,0,0,.85)}dialog form{text-align:right}dialog button{background:#fff;border:0;border-radius:6px;padding:6px 12px;margin-bottom:6px;font-size:15px}
.draft{background:#fff3c4;text-align:center;font-size:14px;padding:6px}
/* v2: 要点カード・実務向け絞り込み・印刷 */
.hero{background:#17201d;color:#fff;padding:64px 0 48px}.hero p{color:#cfd8d4}.hero .btn-sub{background:transparent;color:#fff;border-color:#fff}
.hero h1 span{color:#9fd3bd}
.sep{flex-basis:100%;height:0}
.chip.t[aria-pressed=true]{background:#17201d;border-color:#17201d}
dl.mini{margin:8px 0 0;display:grid;gap:2px;font-size:14px}dl.mini div{display:flex;gap:8px}dl.mini dt{color:var(--sub);width:3.5em;flex:none}dl.mini dd{margin:0}
.key{display:grid;gap:16px;margin:8px 0 24px}@media(min-width:860px){.key{grid-template-columns:1.5fr 1fr;align-items:start}}
.hero-img{all:unset;cursor:zoom-in;display:block;border-radius:10px;overflow:hidden}
.keybox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
dl.facts{margin:0;display:grid}dl.facts div{display:grid;grid-template-columns:4.5em 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
dl.facts dt{color:var(--sub);font-size:14px}dl.facts dd{margin:0;font-weight:700}
.keybtn{display:grid;gap:8px;margin-top:14px}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink);font-weight:400;cursor:pointer}
.gh{font-size:20px;margin:8px 0 12px}
details.more{margin-top:12px;background:transparent;border:0;padding:0}details.more summary{display:inline-block;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:10px 16px;margin-bottom:10px;list-style:none}
details.more summary::-webkit-details-marker{display:none}
@media print{
 header.site,.sticky-cta,.draft,#contact,.np,footer,.keybtn,details.more,.crumb,dialog,script{display:none!important}
 body{font-size:11pt;background:#fff}.wrap{max-width:none;padding:0}section{padding:10px 0}
 .key{grid-template-columns:1.3fr 1fr}.gallery{grid-template-columns:repeat(4,1fr)}.gallery figure:nth-child(n+8){display:none}
 .two{grid-template-columns:1fr 1fr}.box,.keybox,table.info{break-inside:avoid}
 .p-head::after{content:"A-management　担当 張能　TEL 090-4927-8181";display:block;font-size:10pt;margin-top:4px}
}
/* v3: 検索・検討リスト・シーン */
.q{width:100%;font-size:17px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:#fff}
.card{position:relative}.star{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.95);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;color:#9aa39f;box-shadow:0 1px 4px rgba(0,0,0,.15);z-index:2}
.star.on{color:#d49a00}.star.big{position:static;float:right;box-shadow:none;border:1px solid var(--line)}
.scene{font-size:14px;color:var(--ink);margin:2px 0 4px}
.shortlist{position:fixed;left:50%;transform:translateX(-50%);bottom:76px;background:#17201d;color:#fff;border-radius:999px;padding:8px 8px 8px 18px;display:flex;align-items:center;gap:10px;z-index:30;box-shadow:0 6px 20px rgba(0,0,0,.25);font-size:15px;white-space:nowrap}
.shortlist[hidden]{display:none}.shortlist .btn{padding:8px 14px;font-size:14px;border-color:#fff}.shortlist button{background:none;border:0;color:#cfd8d4;font-size:13px;cursor:pointer}
@media(min-width:860px){.shortlist{bottom:20px}}
@media print{.star,.shortlist{display:none!important}}
img.ph{color:transparent}
@media(max-width:859px){.shortlist{left:8px;right:8px;transform:none;font-size:14px;padding:6px 6px 6px 14px;justify-content:space-between}.shortlist .btn{font-size:13px;padding:8px 10px}}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--sub)}
.sh{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 10px;font-size:14px;color:var(--ink);text-decoration:none;cursor:pointer}
.sh.line{background:#06c755;border-color:#06c755;color:#fff;font-weight:700}
.printqr{display:none}
@media print{.share{display:none!important}.printqr{display:flex;gap:12px;align-items:center;margin-top:10px;font-size:10pt}.printqr .qr{width:80px;height:80px}.printqr svg{width:80px;height:80px}.p-head::after{content:none}}
.new{display:inline-block;font-size:12px;font-weight:700;background:#d49a00;color:#fff;padding:2px 8px;border-radius:4px;margin:0 6px 6px 0}
.urgent{font-size:13px;color:var(--sub);margin:-2px 0 0;text-align:center}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff}
table.cmp{border-collapse:collapse;min-width:880px;width:100%;font-size:15px}
table.cmp th,table.cmp td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
table.cmp thead th{background:#17201d;color:#fff;font-size:13px;position:sticky;top:0}
table.cmp tbody th{position:sticky;left:0;background:#fff}.num{text-align:right!important;font-variant-numeric:tabular-nums}
table.cmp tbody tr:hover td,table.cmp tbody tr:hover th{background:#f4f6f5}
.no{display:inline-block;font-size:12px;font-weight:700;background:#17201d;color:#fff;padding:2px 8px;border-radius:4px;margin:0 6px 6px 0;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.no.big{display:block;width:max-content;font-size:14px;padding:3px 10px;margin:0 0 8px}
.callno{margin:0 0 6px;font-size:14px;background:var(--accent-weak);border-radius:6px;padding:8px 10px;text-align:center}.callno b{color:var(--accent);font-size:16px}
.cardline{position:absolute;top:10px;right:58px;background:#06c755;color:#fff;font-weight:700;font-size:12px;border-radius:20px;height:40px;padding:0 12px;display:flex;align-items:center;cursor:pointer;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.qrbox{margin-top:10px;border:0;padding:0;background:transparent}.qrbox summary{font-size:14px;font-weight:400;color:var(--sub)}
.qrbox .qr{width:160px;height:160px;margin-top:8px;background:#fff;padding:6px;border:1px solid var(--line);border-radius:8px}.qrbox svg{width:100%;height:100%}
@media print{.cardline,.qrbox{display:none!important}}
.btn-line{background:#06c755;border-color:#06c755;color:#fff}
.shortlist .btn-line{border-color:#06c755}
@media(max-width:859px){.shortlist{flex-wrap:wrap;border-radius:16px;justify-content:center}.shortlist>span{flex-basis:100%;text-align:center}}
@media(max-width:859px){.shortlist #slclr{display:none}.shortlist{padding:8px}.shortlist>span{font-size:13px}}
.ngbox{background:#fff3e0;border:2px solid #e08a00;border-radius:10px;padding:14px 16px;margin:12px 0;font-size:16px;line-height:1.7}
.ngbox b{font-size:18px;color:#a35c00}
.chkbox{background:#eef4ff;border:2px solid #4a76c9;border-radius:10px;padding:14px 16px;margin:12px 0;font-size:16px;line-height:1.7}
.chk{display:inline-block;background:#4a76c9;color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:1px 6px;margin-right:4px}

.mailfb{font-size:13px;margin:6px 0}.mailfb a{text-decoration:underline}.contact .mailfb a{color:#fff}
.mailfb-btn{padding:6px 14px;font-size:14px;min-height:0}.mailfb-copy{font-size:13px;padding:4px 10px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
