/* v24: single-page editorial refinement for 八王子市の出張買取 */
.region-page .region-hero {
  background: linear-gradient(135deg,#fffaf3 0%,#f9f0e4 100%);
  padding-block: clamp(2.1rem,4.4vw,3.9rem);
}
.region-page .region-hero-grid { gap: clamp(1.6rem,4vw,3.9rem); grid-template-columns: minmax(0,1fr) minmax(0,1.02fr); }
.region-page .region-hero h1 { font-size: clamp(2rem,3.3vw,3rem); line-height: 1.28; letter-spacing: .01em; margin: .6rem 0 0; text-wrap: balance; }
.region-page .region-hero h1 small { font-size: clamp(1.15rem,1.95vw,1.52rem); line-height: 1.55; margin-top: .8rem; letter-spacing: .01em; }
.region-page .region-lead { max-width: 39rem; color:#3b302b; font-size:clamp(1rem,1.1vw,1.07rem); line-height:1.93; margin-top:1.35rem; }
.region-page .region-lead strong { color:#782b2d; }
.region-hero-points { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:1.35rem 0 .2rem; }
.region-page .region-hero-points li { padding:.35rem .7rem; background:white; border:1px solid #e0ccad; border-radius:100px; color:#6c4037; font-size:.85rem; font-weight:700; line-height:1.6; }
.region-page .region-reservation { margin-top:.85rem; }
.region-page .region-hero figure.region-hero-photo { border:0; padding:0; background:transparent; }
.region-page .region-hero-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:12px; box-shadow:0 18px 42px rgba(65,35,23,.12); }
.region-page .region-hero-photo figcaption { margin:.65rem .1rem 0; font-size:.78rem; color:#6b625d; line-height:1.62; }
.region-page .region-nav { gap:.5rem 1.25rem; padding-block:1rem; }
.region-page .region-nav a { display:inline-flex!important; min-height:2.75rem; align-items:center; padding:.25rem .4rem; color:#713036; font-size:.95rem; font-weight:700; text-decoration:none; border-bottom:2px solid transparent; }
.region-page .region-nav a:hover,.region-page .region-nav a:focus-visible { border-bottom-color:#a52e39; }
.region-process-v24 { background:linear-gradient(180deg,#fffdf9,#fff7ed); border-block:1px solid #e8d8be; padding-block:clamp(3.3rem,5vw,5rem); }
.region-process-v24 .eyebrow { margin:0 0 .55rem; }
.region-process-v24 h2 { font-size:clamp(1.75rem,2.7vw,2.4rem); line-height:1.42; margin:0 0 1rem; text-wrap:balance; }
.region-process-intro { max-width:49rem; margin:0 0 2rem; color:#4e423c; font-size:1.02rem; line-height:1.92; }
.region-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; padding:0; margin:0; list-style:none; }
.region-process-grid li { min-width:0; background:#fff; border:1px solid #e4d2b6; border-radius:13px; padding:clamp(1.3rem,2vw,1.8rem); box-shadow:0 6px 18px rgba(68,43,23,.045); }
.region-step-number { display:inline-flex; align-items:center; justify-content:center; width:2.75rem; height:2.75rem; border:1px solid #d5b884; background:#fcf4e5; color:#902b32; font:700 .96rem/1 system-ui,sans-serif; border-radius:50%; margin-bottom:1rem; }
.region-process-grid h3 { margin:0 0 .65rem; color:#78272d; font-size:clamp(1.12rem,1.25vw,1.2rem); line-height:1.5; }
.region-process-grid p { margin:0; color:#483c36; font-size:.96rem; line-height:1.9; }
.region-place-guide { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(1.5rem,3.5vw,3rem); align-items:center; padding:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(2.2rem,4vw,3.3rem); border:1px solid #e5d5be; border-left:4px solid #a12b35; border-radius:0 12px 12px 0; background:#fff; }
.region-place-guide h3 { font-size:clamp(1.23rem,2vw,1.55rem); line-height:1.48; color:#682c2e; margin:0 0 .65rem; text-wrap:balance; }
.region-place-guide p:not(.eyebrow) { margin:0; color:#51433d; font-size:.96rem; line-height:1.85; }
.region-place-list { list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.region-place-list li { display:grid; gap:.15rem; border-bottom:1px solid #eee1ce; padding:0 0 .65rem; line-height:1.6; }
.region-place-list li:last-child { border-bottom:0; padding-bottom:0; }
.region-place-list strong { font-size:.97rem; color:#752d31; }
.region-place-list span { font-size:.9rem; color:#6f6258; }
.region-process-foot { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-top:1.7rem; }
.region-process-foot p { flex:1 1 19rem; margin:0; color:#443834; font-size:.95rem; line-height:1.8; }
.region-process-foot a { display:inline-flex; align-items:center; min-height:2.9rem; padding:.65rem .95rem; background:#fff; border:1px solid #bd9b63; border-radius:7px; text-decoration:none; font-weight:700; color:#762a32; font-size:.92rem; }
.region-process-foot a:hover,.region-process-foot a:focus-visible { background:#fff6e8; text-decoration:underline; }
@media(max-width:950px) { .region-page .region-hero-grid,.region-place-guide { grid-template-columns:1fr; } .region-process-grid { grid-template-columns:1fr; } .region-page .region-hero-photo { max-width:680px; } }
@media(max-width:700px) { .region-page .region-hero h1 { font-size:clamp(1.8rem,7vw,2.2rem); line-height:1.35; } .region-page .region-hero h1 small { font-size:1.06rem; line-height:1.6; } .region-page .region-hero-grid { gap:1.65rem; } .region-page .region-lead { font-size:1rem; line-height:1.83; } .region-page .region-hero-points li { font-size:.79rem; } .region-page .region-nav { gap:.15rem .7rem; } .region-page .region-nav a { font-size:.88rem; } .region-process-v24 { padding-block:3rem; } .region-desktop-break { display:none; } .region-process-grid li { padding:1.35rem; } .region-place-guide { padding:1.25rem; } .region-process-foot a { flex:1 1 100%; justify-content:center; } }
@media(max-width:370px) { .region-page .region-hero h1 { font-size:1.7rem; } .region-page .region-hero-points li { font-size:.73rem; } }
@media(prefers-reduced-motion:reduce) { .region-process-foot a { transition:none; } }
