/* Rebuilt subpages. --u is one Figma pixel of the page's frame (data-base), capped at 1536px wide.
   Header and footer always use the 1024 unit so they match TOP exactly. */
body[data-rebuilt]{--u1024:clamp(.75px,.09765625vw,1.5px);--u:var(--u1024);max-width:1536px;margin-inline:auto;color:var(--navy)}
body[data-rebuilt][data-base="842"]{--u:clamp(.9121px,calc(100vw / 842),1.8242px)}
body[data-rebuilt] #app :is(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}
body[data-rebuilt] a:focus-visible,body[data-rebuilt] button:focus-visible{outline:calc(var(--u) * 2) solid var(--terracotta);outline-offset:calc(var(--u) * 3)}
/* Zero specificity: page crops that need oversized images must be able to override this. */
:where(body[data-rebuilt]) img{max-width:100%}

.pg-sec{position:relative;min-height:calc(var(--u) * var(--sh))}
.pg-at{position:absolute;left:calc(var(--u) * var(--x));top:calc(var(--u) * var(--y));width:calc(var(--u) * var(--w))}
@media(min-width:768px){.pg-at[style*="--ah:"]{height:calc(var(--u) * var(--ah))}}
img.pg-at,.pg-at>img:only-child{object-fit:cover}
.pg-at>img:only-child{width:100%;height:100%}
.pg-breadcrumb{display:flex;gap:calc(var(--u) * 6);align-items:center;font:400 calc(var(--u) * 9)/calc(var(--u) * 15) "Noto Sans JP",sans-serif;color:var(--navy)}
.pg-eyebrow{font:700 calc(var(--u) * 8)/calc(var(--u) * 12) "Noto Sans JP",sans-serif;color:var(--navy);letter-spacing:0}
.pg-button{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * 8);border-radius:calc(var(--u) * 99);font:700 calc(var(--u) * 12)/calc(var(--u) * 18) "Noto Sans JP",sans-serif;white-space:nowrap}
.pg-button-primary,.pg-button-cta{background:var(--navy);color:white}
.pg-button-outline{background:white;color:var(--navy);border:calc(var(--u) * .7) solid #21456f}
/* Hover/focus (lift, shadow, arrow, color) for .pg-button* and .pg-link live in interactions.css. */
.pg-link{display:inline-flex;gap:calc(var(--u) * 6);font:700 calc(var(--u) * 11)/calc(var(--u) * 19) "Noto Sans JP",sans-serif;color:var(--navy)}

.pg-cta{position:relative;min-height:calc(var(--u) * var(--cta-h));overflow:hidden;color:var(--navy)}
.pg-cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* 白のかぶせ。文章量に合わせて --cta-scrim で幅を変えられる。 */
.pg-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) var(--cta-scrim,50%),rgba(255,255,255,0) calc(var(--cta-scrim,50%) + 32%))}
.pg-cta-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:calc(var(--u) * 5);padding:calc(var(--u) * 18) 0 calc(var(--u) * 20) calc(var(--u) * var(--cta-pl))}
.pg-cta h2{font:700 calc(var(--u) * 22)/calc(var(--u) * 35) "Noto Sans JP",sans-serif;color:var(--navy)}
.pg-cta p{font:400 calc(var(--u) * 12)/calc(var(--u) * 19) "Noto Sans JP",sans-serif}
.pg-cta .pg-button-cta{position:absolute;z-index:1;left:calc(var(--u) * var(--cta-x));top:calc(var(--u) * var(--cta-y));width:calc(var(--u) * var(--cta-w));height:calc(var(--u) * var(--cta-bh));background:var(--navy)}


@media(max-width:767px){
 body[data-rebuilt],body[data-rebuilt][data-base="842"]{--u1024:1px;--u:1px;max-width:none}
 .pg-sec{min-height:0}
 .pg-at{position:relative;left:auto;top:auto;width:auto}
 .pg-breadcrumb{font-size:var(--fs-xs);line-height:18px}
 .pg-eyebrow{font-size:var(--fs-xs);line-height:16px;letter-spacing:.08em}
 .pg-button{min-height:44px;padding:0 22px;font-size:var(--fs-xs)}
 .pg-link{font-size:var(--fs-xs);line-height:24px}
 .pg-cta{min-height:0;padding:32px 24px}
 .pg-cta:after{background:linear-gradient(180deg,rgba(255,255,255,.96) 55%,rgba(255,255,255,.75))}
 .pg-cta-copy{padding:0;gap:8px}
 .pg-cta h2{font-size:21px;line-height:1.6}
 .pg-cta h2 br{display:none}
 .pg-cta p{font-size:var(--fs-sm);line-height:1.8}
 .pg-cta .pg-button-cta{position:relative;left:auto;top:auto;width:auto;height:auto;margin-top:20px}
}

/* 他のサービスへの導線。サービスのページを見たあと、隣へ移れるようにする。 */
.pg-others-title{margin-bottom:clamp(20px,2.4vw,32px)}
.pg-others-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px);list-style:none;margin:0;padding:0}
.pg-other-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;color:inherit}
.pg-other-photo{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface)}
.pg-other-photo img{width:100%;height:100%;object-fit:cover}
.pg-other-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.pg-other-name{font:700 var(--fs-h3)/1.5 "Noto Serif JP",serif;color:var(--navy);text-wrap:balance}
.pg-other-text{font:400 var(--fs-sm)/1.7 "Noto Sans JP",sans-serif;color:var(--ink)}
.pg-other-more{display:inline-flex;gap:8px;margin-top:auto;padding-top:8px;font:700 var(--fs-sm)/1.8 "Noto Sans JP",sans-serif;color:var(--navy)}
@media(max-width:767px){
 .pg-others-list{grid-template-columns:1fr}
}
