/* Quoreal v65: child pages only; preserve copy and TOP. */
.qp65-page{overflow-x:clip;font-family:"Noto Sans JP","Zen Kaku Gothic New",sans-serif}
.qp65-shell{width:min(calc(100% - 96px),1440px);margin-inline:auto}
.qp65-hero{position:relative;padding:calc(var(--qp-v35-header-h,90px) + 64px) 0 64px;background:#f5f5f2;color:#111;isolation:isolate}
.qp65-hero__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,88px);align-items:center}
.qp65-hero__copy,.qp65-hero__visual{min-width:0}
.qp65-eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.8;color:#777;margin:0 0 22px;overflow-wrap:anywhere}
.qp65-hero__jp{font-size:clamp(25px,2.8vw,42px);line-height:1.4;letter-spacing:-.035em;margin:0 0 22px;word-break:normal;overflow-wrap:anywhere}
.qp65-hero__lead p{font-size:14px;line-height:1.95;color:#555;margin:0;max-width:38em;text-wrap:pretty}
.qp65-hero__extra{margin-top:24px;font-size:10px;line-height:1.9;color:#777}
.qp65-hero__extra .qp-v31-inline-link{margin:0}
.qp65-hero__extra .qp-scroll{position:static;display:inline-block;transform:none}
.qp65-hero__visual{container-type:inline-size;padding:24px 0;min-height:230px;display:flex;align-items:center;justify-content:flex-end;overflow:clip}
.qp65-title{width:100%;margin:0;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-size:min(clamp(86px,7.8vw,142px),calc(100cqw / var(--qp65-title-units)));font-weight:800;letter-spacing:-.058em;line-height:.98;color:transparent;transform-origin:right center;transform:translateY(var(--qp65-y,0px)) scale(var(--qp65-scale,1));will-change:transform;text-align:right}
.qp65-title>span{display:block;white-space:nowrap;padding:.1em .025em;background:#111 var(--qp65-image) center/cover no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:grayscale(1) contrast(1.16)}
/* Shared, readable chapter rhythm. */
.qp65-page .qp-v31-shell{width:min(calc(100% - 96px),1440px)}
.qp65-page .qp-v31-section{padding:clamp(64px,6vw,100px) 0}
.qp65-page .qp-v31-heading{position:relative!important;top:auto!important;grid-template-columns:minmax(160px,220px) minmax(0,1fr)!important;gap:clamp(26px,4vw,64px)!important;align-items:start;min-width:0}
.qp65-page .qp-v31-heading h2{max-width:100%!important;font-size:clamp(28px,2.8vw,44px)!important;line-height:1.4!important;letter-spacing:-.035em!important;text-wrap:pretty;word-break:normal!important;overflow-wrap:anywhere}
.qp65-page .qp-v31-kicker{white-space:normal;line-height:1.8;overflow-wrap:anywhere}
.qp65-page .qp-v31-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);margin-top:40px}
.qp65-page .qp-v31-copy{font-size:14px;line-height:2;max-width:100%}
.qp65-page .qp-v31-copy p{overflow-wrap:anywhere}
.qp65-page .qp-v31-media{width:100%;height:clamp(260px,26vw,400px);min-height:0}
.qp65-page .qp-v31-media img,.qp65-page .qp-v31-service-card img,.qp65-page .qp-v31-service-card:hover img{filter:grayscale(1) contrast(1.06);object-fit:cover}
.qp65-page .qp-v31-tiles,.qp65-page .qp-v31-flow,.qp65-page .qp-v31-service-grid,.qp65-page .qp-v31-fit-grid{align-items:stretch}
.qp65-page .qp-v31-tile,.qp65-page .qp-v31-flow__item,.qp65-page .qp-v31-service-card,.qp65-page .qp-v31-fit-grid>div{min-width:0;height:auto}
.qp65-page .qp-v31-tile h3,.qp65-page .qp-v31-flow__item h3,.qp65-page .qp-v31-service-card h3,.qp65-page .qp-v31-fit-grid h3{font-size:clamp(21px,1.8vw,28px);line-height:1.5;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
.qp65-page .qp-v31-diagram{width:100%;min-width:0;justify-items:center;box-sizing:border-box}
.qp65-page .qp-v31-diagram--rail,.qp65-page .qp-v31-diagram--handoff,.qp65-page .qp-v31-diagram--funnel{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 18px}
.qp65-page .qp-v31-diagram__node{max-width:100%;justify-self:center}
.qp65-page .qp-v31-next .qp-next__title{font-size:clamp(28px,3vw,44px)!important;line-height:1.5!important;overflow-wrap:anywhere}
/* Leave content visible when scripting is unavailable; use one reveal controller. */
.qp65-page [data-v31-reveal]{opacity:1;transform:none;clip-path:none}
.qp65-page.qp65-motion [data-v31-reveal]{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .6s ease}
.qp65-page.qp65-motion [data-v31-reveal].is-v31-visible{opacity:1;transform:none}
@media(max-width:1100px){
 .qp65-page .qp-v31-split{grid-template-columns:1fr;gap:32px}
 .qp65-page .qp-v31-flow,.qp65-page .qp-v35-one-team .qp-v31-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .qp65-page .qp-v31-flow__item,.qp65-page .qp-v35-one-team .qp-v31-flow__item{padding:28px 24px!important;min-height:0!important;border:1px solid rgba(127,127,127,.2)!important}
 .qp65-page .qp-v31-heading{grid-template-columns:150px minmax(0,1fr)!important}
 .qp65-page .qp-v31-diagram{max-width:100%}
}
@media(max-width:900px){
 .qp65-shell,.qp65-page .qp-v31-shell{width:calc(100% - 48px)}
 .qp65-hero{padding:120px 0 48px}
 .qp65-hero__grid{grid-template-columns:1fr;gap:28px}
 .qp65-hero__visual{justify-content:flex-start;min-height:0;padding:12px 0}
 .qp65-title{text-align:left;font-size:min(clamp(64px,9vw,78px),calc(100cqw / var(--qp65-title-units)));transform:none!important}
 .qp65-page .qp-v31-heading{grid-template-columns:1fr!important;gap:14px!important}
 .qp65-page .qp-v31-section{padding:56px 0}
 .qp65-page .qp-v31-heading h2{font-size:clamp(26px,4.5vw,36px)!important}
}
@media(max-width:560px){
 .qp65-shell,.qp65-page .qp-v31-shell{width:calc(100% - 40px)}
 .qp65-hero{padding:112px 0 40px}
 .qp65-hero__jp{font-size:25px;line-height:1.5}
 .qp65-title{font-size:min(clamp(42px,12.8vw,52px),calc(100cqw / var(--qp65-title-units)))}
 .qp65-page .qp-v31-heading h2{font-size:26px!important;line-height:1.5!important}
 .qp65-page .qp-v31-flow,.qp65-page .qp-v35-one-team .qp-v31-flow{grid-template-columns:1fr!important}
 .qp65-page .qp-v31-media{height:240px}
 .qp65-page .qp-v31-diagram--rail,.qp65-page .qp-v31-diagram--handoff,.qp65-page .qp-v31-diagram--funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
 .qp65-page .qp-v31-diagram--loop{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .qp65-page .qp-v31-diagram__node{width:82px;height:82px}
 .qp65-page .qp-v31-service-grid,.qp65-page .qp-v31-fit-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.qp65-title{transform:none!important;will-change:auto}.qp65-page.qp65-motion [data-v31-reveal]{opacity:1;transform:none;transition:none}}
