/* OCEAN reading and interaction scale. Existing palette and brand assets remain. */
:root{--q-display:64px;--q-h1:48px;--q-h2:36px;--q-h3:24px;--q-body-large:24px;--q-body:16px;--q-caption:14px;--q-english:12px;--q-number:68px;--q-xs:8px;--q-sm:16px;--q-md:24px;--q-lg:32px;--q-xl:48px;--q-grid-gap:48px;--q-content-gap:48px;--q-section:88px;--q-fast:160ms;--q-normal:240ms;--q-ease:cubic-bezier(.2,.65,.3,1)}
.v2-home .hero h1{font-size:var(--q-display)}
.v2-site :is(.detail-hero,.rep-hero) h1{font-size:var(--q-h1)}
body.v2-site main .v2-detail-title{font-size:var(--q-h2)}
.v2-home .v2-section-intro .v2-subhead{font-size:var(--q-body-large)}
.v2-home .v2-section-index>span{font-size:var(--q-english)}
.v2-home .v2-dark .metrics .metric-value{font-size:var(--q-number)}
body.v2-home main :is(.workflow-line,.v2-values) h3{font-size:var(--q-h3);line-height:1.6}
.v2-site .v2-footnote{font-size:var(--q-caption)}
.v2-site :is(p,li,dd,h1,h2,h3,h4,a,label,summary){line-break:strict;overflow-wrap:break-word}
.v2-site :is(.detail-copy,.reading-body,.detail-section-body)>p{max-width:44em}
.v2-site :is(.v2-section-intro>p,.v2-service-card>p,.workflow-line p,#case-description){line-height:1.85}
.quality-proof{background:#fff;border-bottom:1px solid #CBD5DF;padding-block:28px}
.quality-proof .shell>a{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-decoration:none;color:#193D58}
.quality-proof .shell>a>span{display:flex;align-items:baseline;justify-content:center;gap:16px;padding-inline:16px;border-left:1px solid #CBD5DF}
.quality-proof .shell>a>span:first-child{border-left:0}
.quality-proof strong{font:400 36px/1.3 Georgia,serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.quality-proof small{font:500 13px/1.5 'Noto Sans JP',sans-serif;margin-left:6px}
.quality-proof .shell>a>span>span{font-size:14px;line-height:1.6}
.quality-proof .quality-phrase{display:inline-block;white-space:nowrap}
.quality-proof p{font-size:13px;line-height:1.7;color:#526477;text-align:right;margin:16px 0 0}
.quality-proof p a{color:#193D58;display:inline-block;margin-left:12px;text-underline-offset:4px}
.v2-home .v2-section{padding-block:var(--q-section)}
.v2-home .v2-section-heading{align-items:start;margin-bottom:var(--q-content-gap)}
.v2-home .v2-service-grid{column-gap:var(--q-grid-gap)}
.v2-home .v2-section-intro{padding-top:4px}
.v2-home .v2-service-card{position:relative;padding:28px 36px 28px 0;transition:color var(--q-fast) var(--q-ease),background-color var(--q-fast) var(--q-ease)}
body.v2-site main .v2-service-card h3{font-size:var(--q-h3);line-height:1.55;letter-spacing:0}
.v2-home .v2-service-card>p{margin-bottom:0;max-width:32em}
.v2-home .v2-card-link{position:absolute;right:4px;top:28px;font-size:20px;min-height:24px;margin:0}
.v2-site .workflow-note{display:block;line-height:1.8}
.v2-home .human-note{line-height:1.85}
.v2-site .field-error{font-size:var(--q-caption);line-height:1.7;color:#A12F43;margin:var(--q-xs) 0 0}
.v2-site .field-error:empty{display:none}
.v2-site .form-pair{gap:var(--q-md)}
.v2-site .form-field{margin-bottom:var(--q-md)}
.v2-site .form-field label{margin-bottom:var(--q-xs)}
.v2-site .form-field :is(input,textarea){font-size:var(--q-body);line-height:1.6;box-sizing:border-box;max-width:100%}
.v2-site .form-field textarea::placeholder{font-size:16px;line-height:1.7}
.v2-site :is(.form-data-note,.privacy-consent-note){font-size:14px;line-height:1.85}
.v2-site .form-submit{min-height:56px}
.v2-site .form-submit:disabled{cursor:wait}
.v2-site :is(.button,.nav-action):active{transform:translateY(1px)}
.v2-site :is(a,button,summary,input,textarea):focus-visible{outline:2px solid #193D58;outline-offset:4px;box-shadow:0 0 0 4px #fff}
.v2-site .footer-sitemap-group a{min-height:44px;display:flex;align-items:center}
@media(hover:none){.v2-home .v2-service-card:hover{background:transparent}}
@media(hover:hover) and (pointer:fine){.v2-home .v2-service-card:hover{background:#F6F8FA}.v2-home .v2-service-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}}
@media(max-width:1023px){:root{--q-number:48px;--q-grid-gap:32px}.quality-proof .shell>a>span{flex-direction:column;align-items:center;justify-content:flex-start;gap:6px}.quality-proof p{text-align:center}}
@media(max-width:767px){
 :root{--q-display:36px;--q-h1:36px;--q-h2:30px;--q-h3:22px;--q-body-large:20px;--q-number:44px;--q-section:64px;--q-content-gap:32px;--q-grid-gap:24px}
 .quality-proof{padding-block:24px}
 .quality-proof .shell>a{display:flex;flex-wrap:wrap;row-gap:16px}
 .quality-proof .shell>a>span{flex:1 1 0;min-width:min-content;border-left:0;padding-inline:8px;gap:6px;text-align:center}
 .quality-proof strong{font-size:28px}
 .quality-proof small{display:block;font-size:12px;margin:4px 0 0}
 .quality-proof .shell>a>span>span{font-size:13px;line-height:1.65}
 .quality-proof p{margin-top:16px;font-size:12px;text-align:left}
 .quality-proof p a{margin-left:0;display:block;min-height:44px;padding-top:8px}
 .v2-home .v2-section-intro{padding-top:0}
 .v2-home .v2-service-card{padding:24px 28px 24px 0}
 .v2-home .v2-card-link{top:23px;right:0}
 .v2-home .v2-service-category{font-size:13px}
 .v2-home .v2-service-card>p{font-size:16px}
 .v2-site .footer-sitemap{row-gap:24px!important}
}
@media(prefers-reduced-motion:reduce){.v2-site :is(.button,.nav-action):active{transform:none}.v2-site *{transition-duration:0s!important}}
