/* Top: generated hover + responsive vars */
.page-front{--rv-off2:72px;--rv-off3:144px;--rv-rGrid:repeat(12,minmax(0,1fr));--rv-r1num:1 / 5;--rv-rRow:1;--rv-r1txt:6 / 12;--rv-r2num:9 / 13;--rv-r2align:right;--rv-r2txt:2 / 8;--rv-r3num:3 / 7;--rv-r3txt:8 / 13;--rv-flowGrid:repeat(4,minmax(0,1fr));--rv-flowBT:1px solid rgba(126,99,52,0.4);--rv-flowBL:none;--rv-flowPad:32px 20px 28px 0;--rv-dotTop:-5px;--rv-dotLeft:0;--rv-faqSpan:1}
@media (max-width:1099.98px){.page-front{--rv-off2:0;--rv-off3:0;--rv-rGrid:minmax(0,1fr);--rv-r1num:auto;--rv-rRow:auto;--rv-r1txt:auto;--rv-r2num:auto;--rv-r2align:left;--rv-r2txt:auto;--rv-r3num:auto;--rv-r3txt:auto;--rv-flowGrid:minmax(0,1fr);--rv-flowBT:none;--rv-flowBL:1px solid rgba(126,99,52,0.4);--rv-flowPad:0 0 36px 32px;--rv-dotTop:0;--rv-dotLeft:-5px;--rv-faqSpan:1}}
@media (hover:hover){
.hv-front-1:hover{background-position:0% 0 !important;color:#0B1026 !important}
.hv-front-2:hover{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}
.hv-front-3:hover{color:var(--gold-light) !important}
.hv-front-4:hover{color:var(--gold-deep) !important}
.hv-front-5:hover{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}
.hv-front-6:hover{background:rgba(126,99,52,0.08) !important}
.hv-front-7:hover{background:rgba(126,99,52,0.08) !important}
.hv-front-8:hover{color:var(--gold-deep) !important}
.hv-front-9:hover{color:var(--gold-deep) !important}
.hv-front-10:hover{color:var(--gold-deep) !important}
.hv-front-11:hover{background:rgba(126,99,52,0.08) !important;color:var(--gold-deep) !important}
.hv-front-12:hover{color:var(--gold-deep) !important}
.hv-front-13:hover{background-position:0% 0 !important;color:#0B1026 !important}
.hv-front-14:hover{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}
}
.hv-front-1:focus-visible{background-position:0% 0 !important;color:#0B1026 !important}
.hv-front-2:focus-visible{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}
.hv-front-3:focus-visible{color:var(--gold-light) !important}
.hv-front-4:focus-visible{color:var(--gold-deep) !important}
.hv-front-5:focus-visible{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}
.hv-front-6:focus-visible{background:rgba(126,99,52,0.08) !important}
.hv-front-7:focus-visible{background:rgba(126,99,52,0.08) !important}
.hv-front-8:focus-visible{color:var(--gold-deep) !important}
.hv-front-9:focus-visible{color:var(--gold-deep) !important}
.hv-front-10:focus-visible{color:var(--gold-deep) !important}
.hv-front-11:focus-visible{background:rgba(126,99,52,0.08) !important;color:var(--gold-deep) !important}
.hv-front-12:focus-visible{color:var(--gold-deep) !important}
.hv-front-13:focus-visible{background-position:0% 0 !important;color:#0B1026 !important}
.hv-front-14:focus-visible{background:rgba(201,169,110,0.12) !important;color:var(--gold-light) !important}

/* ---- デザインレビュー反映 ---- */
.page-front { --reason-num: clamp(104px,15vw,216px); }
.hero-tax { margin-top: 6px; font-size: 12px; color: var(--muted-on-dark); }
.hero-unit { font-size: clamp(13px,1.1vw,14px); }
.demo-ja { font-family: var(--font-sans); font-size: 12px; letter-spacing: 0.08em; }
.scroll-cue { position: absolute; left: 0; top: 0; width: 1px; height: 28px; background: linear-gradient(rgba(232,213,168,0), #E8D5A8); animation: arcanaScroll 2.4s cubic-bezier(.6,0,.3,1) infinite; }
#works-scroller::-webkit-scrollbar { display: none; }
.works-progress { display: block; position: relative; height: 2px; margin: 24px 20px 0; background: rgba(126,99,52,0.2); overflow: hidden; }
.works-progress span { position: absolute; left: 0; top: 0; bottom: 0; width: 33%; background: var(--gold-deep); transition: transform .2s linear; }
@media (max-width: 1099.98px) {
  .page-front { --reason-num: clamp(72px,20vw,104px); }
}
@media (max-width: 599.98px) {
  .hero-stats { grid-template-columns: 1fr 1fr !important; row-gap: 20px; }
  .hero-stats > div:nth-child(3) { border-left: 0 !important; padding-left: 0 !important; }
}
