/* 工程3bで承認されたFV。トップ本文のスタイルから独立させる。 */
.site-header{height:64px;display:flex;align-items:center;gap:30px;padding:0 48px;font-size:14px;border:0;max-width:none;line-height:1.8}
.header-label{letter-spacing:.15em;min-height:44px;display:flex;align-items:center}.head-hour{margin-left:auto}.menu-label{display:flex;align-items:center;gap:12px;min-height:44px;padding:0;font-size:14px}.menu-label i{width:24px;height:8px;border-block:1px solid}
.fv{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--bg),var(--face));line-height:1.8}
.fv::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('../decor/paper-grain.svg') 0 0/512px}
.scene{max-width:1440px;margin:auto;padding:0 48px;position:relative;isolation:isolate}
.mast{position:relative;text-align:center;z-index:3;margin:0 32px -144px;padding:42px 70px 76px;background:var(--ink);color:var(--bg);clip-path:polygon(0 0,100% 0,100% 100%,75.5% 97%,75% 58%,74.5% 97%,50.5% 100%,50% 58%,49.5% 100%,25.5% 97%,25% 58%,24.5% 97%,0 100%)}
.brand{display:flex;justify-content:space-between;line-height:1.1;letter-spacing:0;font-size:188px}.brand span{display:block}
.mast .reading{display:block;font-size:14px;letter-spacing:.55em;margin:0 0 12px}.origin{display:block;font-size:14px;letter-spacing:.4em;margin-bottom:8px}
.badge{position:absolute;left:18px;top:22px;width:44px;height:44px}.badge svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.side-label,.photo-caption,.window-mark,.transom{display:none}
.fv .photo-wrap{position:relative;margin:0 9%;padding:0 12px 12px;border:2px solid var(--ink);background:var(--face)}
.fv .photo{overflow:hidden;isolation:isolate;height:480px;position:relative}.fv .photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 67%;clip-path:inset(0)}
.message{display:flex;justify-content:space-between;gap:36px;align-items:center;position:relative;padding-top:30px}.message h1{font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.035em;margin:0}.message h1>span{display:block;white-space:nowrap}.support{min-width:280px}.support p{font-size:18px;line-height:1.85;margin:0 0 12px}
.footline{visibility:hidden;display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding:13px 0;font-size:12px;letter-spacing:.12em}
.fine-rule{display:block;position:absolute;left:0;right:0;top:175px;height:210px;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.5;will-change:transform}
.door{position:absolute;top:0;bottom:0;width:50.1%;pointer-events:none;visibility:hidden;z-index:1;background:#af8a62;overflow:hidden}.door-left{left:0;transform:translateX(-102%)}.door-right{right:0;transform:translateX(102%)}
[data-route=B] .photo .door-texture{position:absolute;top:0;left:0;width:200%;max-width:none;height:100%;object-fit:cover;object-position:50% 0;clip-path:none;pointer-events:none}[data-route=B] .photo .door-right .door-texture{left:-100%}
@media(max-width:900px) and (min-width:601px){.brand{font-size:110px}.message h1{font-size:40px}.support{min-width:230px}}
@media(max-width:600px){.site-header{height:48px;padding:0 24px;font-size:12px;justify-content:space-between}.head-hour{display:none}.menu-label{gap:8px;font-size:12px}.scene{padding:0 20px}.mast{margin:0 -4px -76px;padding:21px 9px 40px}.brand{font-size:76px;letter-spacing:-.05em}.badge{display:none}.origin{font-size:10px;letter-spacing:.28em;margin-bottom:10px}.mast .reading{font-size:10px;letter-spacing:.35em;margin:0 0 8px}.fv .photo-wrap{margin:0 12px;padding:0 6px 6px}.fv .photo{height:337px}.fv .photo img{object-position:65% center}.message{display:block;padding-top:24px}.message h1{font-size:36px;line-height:1.4;letter-spacing:-.04em}.support p{font-size:18px;margin:12px 0 10px;line-height:1.7}.fine-rule{top:120px;height:145px;background-size:25px 25px}.footline{font-size:10px;gap:12px}.footline>span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.door{display:none}.fine-rule{transform:none!important}}

/* 2026-10-08 ユーザー採用①。SPの添え字と写真窓を調整。 */
@media(max-width:600px){.mast .origin,.mast .reading{font-size:12px;letter-spacing:.22em}.fv .photo{height:min(337px,calc((100vw - 96px)/.96))}}
