@charset "UTF-8";
/* Shared capabilities, consultation and production page styles. */
.business-page { font-size:max(15px,1rem); line-height:1.95; }
.business-page h2,.business-page h3,.business-page h4 { color:var(--ink-900); font-weight:700; letter-spacing:.035em; text-wrap:balance; }
.business-page strong { color:var(--ink-900); font-weight:700; }
.business-page figure { margin:0; }
.business-page figcaption,.svc-caption { font-size:12px; line-height:1.6; color:#637086; }
.business-page [id] { scroll-margin-top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px) + 24px); }
.svc-section { padding:clamp(72px,7.5vw,108px) 0; }
.svc-heading { margin-bottom:52px; }
.svc-heading h2,.business-page .svc-faq .sec-head-ja { font-size:clamp(27px,2.4vw,34px); line-height:1.55; letter-spacing:.05em; }
.svc-heading h2::after { content:""; display:block; width:40px; height:3px; margin-top:21px; background:var(--gold); }
.svc-heading p { margin-top:22px; max-width:850px; }
.svc-section-progress { position:fixed; z-index:70; top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px)); left:0; right:0; min-height:45px; padding:10px 0; background:#f8fafc; border-bottom:1px solid #d8e0e9; color:var(--ink-900); font-size:15px; font-weight:700; line-height:24px; letter-spacing:.02em; pointer-events:none; }
.svc-section-progress[hidden] { display:none; }
.svc-section-progress>.wrap { padding-left:12px; border-left:3px solid var(--gold); }
.has-section-progress .svc-flow .svc-heading { position:static; }
.business-page.has-section-progress .svc-section [id]:not(h2) { scroll-margin-top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px) + 60px); }
body.is-mobile-menu-open .svc-section-progress { visibility:hidden; }
@media(min-width:821px) {
  .svc-section-progress { min-height:55px; padding:12px 0; font-size:20px; line-height:30px; }
  .svc-section-progress>.wrap { padding-left:16px; border-left-width:4px; }
  .business-page.has-section-progress .svc-section [id]:not(h2) { scroll-margin-top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px) + 72px); }
}
.svc-nfc h3,.svc-scope h3 { font-size:clamp(24px,2vw,28px); line-height:1.65; }
.svc-nfc__copy p { margin-top:21px; }
.svc-button { display:inline-flex; align-items:center; justify-content:center; gap:32px; min-height:56px; padding:15px 28px; border:1px solid transparent; border-radius:4px; font-size:max(15px,1rem); font-weight:700; line-height:1.6; transition:background .2s,color .2s,border-color .2s; }
.svc-button--white { background:white; color:var(--ink-900); }
.svc-button--white:hover { background:var(--field); border-color:#d0d7e0; }
.svc-button:focus-visible,.svc-text-link:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.svc-button span { font-size:20px; font-weight:400; }
.svc-hero { position:relative; isolation:isolate; overflow:hidden; background:#111b30; color:white; text-align:center; }
.svc-hero__background { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.svc-hero__cards { position:absolute; z-index:-2; inset:0; overflow:hidden; background:radial-gradient(ellipse at center,#24334a,#111b30); }
.svc-hero__sample { position:absolute; width:clamp(180px,21vw,310px); height:auto; border-radius:8px; box-shadow:0 12px 35px #0007; opacity:.7; }
.svc-hero__sample--1 { top:-9%; left:-3%; transform:rotate(-13deg); }
.svc-hero__sample--2 { bottom:-16%; left:7%; transform:rotate(12deg); }
.svc-hero__sample--3 { top:4%; right:-3%; transform:rotate(13deg); }
.svc-hero__sample--4 { bottom:-20%; right:9%; transform:rotate(-12deg); }
@media(max-width:760px) {
  .svc-hero__cards { mask-image:linear-gradient(#000 30%,transparent 90%); }
  .svc-hero__sample { width:38%; opacity:.45; }
  .svc-hero__sample--1 { top:1%; left:-8%; }
  .svc-hero__sample--2 { bottom:25%; left:-5%; }
  .svc-hero__sample--3 { top:10%; right:-8%; }
  .svc-hero__sample--4 { bottom:18%; right:-5%; }
}
.svc-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(11,20,37,.47),rgba(11,20,37,.84) 26%,rgba(11,20,37,.87) 73%,rgba(11,20,37,.48)); }
.svc-hero__content { padding:76px 0 65px; }
.business-page .svc-hero h2,.contact-page .svc-hero h2 { color:white; font-size:clamp(28px,2.8vw,40px); line-height:1.65; letter-spacing:.045em; }
.svc-hero h2>span { display:block; }
.svc-hero h2 .svc-hero__phrase { display:inline-block; }
.svc-hero__lead { max-width:750px; margin:28px auto 0; line-height:2.1; text-align:left; }
.svc-hero__invitation { margin:25px auto 0; line-height:2; }
.svc-hero__questions { display:flex; justify-content:center; flex-wrap:wrap; column-gap:16px; margin:8px 0; font-weight:700; font-size:1.08em; }
.svc-hero__actions { display:flex; align-items:center; justify-content:center; gap:30px; margin-top:30px; }
.svc-text-link { display:inline-flex; gap:22px; align-items:center; font-size:14px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.55); }
.svc-text-link:hover { border-color:white; }
.svc-icon { display:block; flex:none; width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.svc-benefit { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; }
.svc-benefit+.svc-benefit { margin-top:50px; padding-top:50px; border-top:1px solid var(--line); }
.svc-benefit__copy h3 { font-size:clamp(24px,2vw,28px); line-height:1.65; }
.svc-benefit__copy h3>span { display:inline-block; }
.svc-benefit__copy p { margin-top:19px; }
.svc-benefit__brand { white-space:nowrap; }
.svc-benefit__closing { display:block; margin-top:8px; }
.svc-benefit__quote,.svc-benefit__quote>span { display:inline-block; max-width:100%; }
.svc-benefit__copy h4 { font-size:18px; line-height:1.7; margin-top:23px; }
.svc-benefit__copy h4+p { margin-top:7px; }
.svc-benefit__visual figcaption { text-align:center; margin-top:13px; }
.svc-scene { position:relative; container-type:inline-size; aspect-ratio:1.42; background:#eef2f7; border-radius:5px; overflow:hidden; color:var(--ink-900); line-height:1.6; letter-spacing:0; }
.svc-scene-card { display:block; width:100%; height:auto; border-radius:7px; box-shadow:5px 12px 23px #13203f28; }
.svc-scene-connector { flex:none; color:#b38b4f; }
.svc-scene-connector .svc-icon { width:6cqw; height:6cqw; }
.svc-official { aspect-ratio:auto; }
.svc-official__main { display:flex; align-items:center; justify-content:center; gap:4cqw; padding:7cqw 6cqw 4cqw; }
.svc-official__main>.svc-scene-card { width:26cqw; transform:rotate(-7deg); }
.svc-content-preview { position:relative; flex:none; width:38cqw; padding:3cqw; background:white; border:1px solid #cdd6e2; border-radius:2.4cqw; box-shadow:0 9px 20px #13203f10; }
.svc-content-preview>b { display:block; font-size:3.1cqw; line-height:1.6; text-align:center; margin:1cqw 0 2cqw; }
.svc-content-preview>img { width:100%; height:25cqw; object-fit:cover; object-position:center 28%; border-radius:3px; }
.svc-content-preview__audio { display:flex; justify-content:center; align-items:center; gap:2cqw; margin-top:2cqw; font-size:2.8cqw; }
.svc-content-preview__audio .svc-icon { width:4cqw; height:4cqw; }
.svc-content-preview__seal { position:absolute; top:-6cqw; right:-3cqw; padding:2cqw; background:var(--ink-900); color:#d1af78; border:.6cqw solid #eef2f7; border-radius:50%; }
.svc-content-preview__seal .svc-icon { width:6cqw; height:6cqw; }
.svc-official__restriction { display:flex; justify-content:center; align-items:center; gap:3cqw; margin:0 6cqw; padding:3cqw 0 4cqw; border-top:1px solid #ccd5e1; font-size:3cqw; line-height:1.65; }
.svc-official__restriction .svc-icon { width:6cqw; height:6cqw; color:#a7834b; }
.svc-renewal__card { position:absolute; left:9%; top:21%; width:28%; text-align:center; }
.svc-renewal__card .svc-scene-card { transform:rotate(-6deg); }
.svc-renewal__card>b,.svc-multivoice__card>b { display:block; font-size:2.8cqw; margin-top:3cqw; font-weight:500; }
.svc-renewal__pages { position:absolute; right:8%; top:7%; width:42%; }
.svc-renewal__page { background:white; border-radius:5px; border:1px solid #d6dee9; padding:2.5cqw 3cqw; font-size:2.8cqw; line-height:1.65; }
.svc-renewal__page>span { display:block; font-weight:700; color:#637086; font-size:2.5cqw; margin-bottom:1cqw; }
.svc-renewal__page>div { display:flex; align-items:center; justify-content:center; gap:2cqw; height:9cqw; }
.svc-renewal__page .svc-icon { color:#ab8345; width:6cqw; height:6cqw; }
.svc-renewal__switch { display:flex; gap:2cqw; justify-content:center; align-items:center; height:9cqw; color:#967443; font-size:2.7cqw; }
.svc-renewal__switch .svc-icon { width:4.5cqw; height:4.5cqw; }
.svc-renewal__page--next { padding-bottom:2cqw; }
.svc-renewal__page>img { width:100%; height:13cqw; object-fit:cover; border-radius:2px; }
.svc-renewal__page>b { display:block; text-align:center; margin-top:1.5cqw; font-size:2.7cqw; }
.svc-multivoice { display:flex; justify-content:center; align-items:center; gap:3cqw; }
.svc-multivoice__card { width:27%; flex:none; text-align:center; }
.svc-multivoice--landscape { gap:3%; padding:0 5%; }
.svc-multivoice--landscape .svc-multivoice__card { width:38%; }
.svc-multivoice__card .svc-scene-card { transform:rotate(-5deg); }
.svc-multivoice__tracks { width:42%; }
.svc-multivoice__tracks>div { display:flex; align-items:center; gap:2.5cqw; padding:4cqw 3cqw; background:white; border:1px solid #d6dee9; border-radius:5px; font-size:2.8cqw; line-height:1.5; }
.svc-multivoice__tracks>div+div { margin-top:3cqw; }
.svc-multivoice__tracks .svc-icon { width:5cqw; height:5cqw; color:#ac854a; }
.svc-hub__wires { position:absolute; inset:0; width:100%; height:100%; stroke:#b7c3d3; stroke-width:1.5; fill:none; }
.svc-hub__links { position:absolute; top:15%; bottom:15%; left:6%; width:26%; display:flex; flex-direction:column; justify-content:space-between; }
.svc-hub__links:last-child { left:auto; right:6%; }
.svc-hub__links>div { background:white; border:1px solid #d6dee9; border-radius:5px; height:41%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2cqw; font-size:2.8cqw; }
.svc-hub__links .svc-icon { width:7cqw; height:7cqw; color:#9c783f; }
.svc-hub__card { position:absolute; width:24%; left:38%; top:24%; }
.svc-hub__card img { transform:rotate(-5deg); }

.svc-nfc { background:#f5f6f8; }
.svc-nfc__row { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; }
.svc-nfc__row+.svc-nfc__row { margin-top:58px; padding-top:58px; border-top:1px solid #d4d9e1; }
.svc-nfc h4 { font-size:20px; line-height:1.65; margin-top:30px; }
.svc-nfc h4+p { margin-top:13px; }
.svc-nfc__copy .svc-nfc__conclusion { margin-top:22px; font-weight:700; color:var(--ink-900); font-size:17px; line-height:1.9; }
.svc-photo-access__scene { container-type:inline-size; padding:6% 5%; border-radius:4px; background:#e8ecf1; }
.svc-nfc__row--photo>.svc-photo-access { grid-column:1; grid-row:1; }
.svc-nfc__row--photo>.svc-nfc__copy { grid-column:2; grid-row:1; }
.svc-nfc__copy .svc-nfc__reason { border-left:3px solid var(--gold); padding-left:20px; margin-top:28px; font-weight:700; color:var(--ink-900); }
.svc-photo-access__intro { text-align:center; color:var(--ink-900); font-size:clamp(14px,3.7cqw,20px); font-weight:700; line-height:1.7; text-wrap:balance; }
.svc-photo-access__comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:5%; }
.svc-photo-access__item { padding-inline:9%; text-align:center; }
.svc-photo-access__item+.svc-photo-access__item { border-left:1px solid #cbd3de; }
.svc-photo-access__label { display:block; margin-bottom:12px; font-size:clamp(16px,4cqw,22px); font-weight:700; line-height:1.5; color:var(--ink-900); }
.svc-photo-access__item--nfc .svc-photo-access__label { color:var(--ink-900); }
.svc-photo-access__photo { display:grid; place-items:center; padding:10% 12%; background:#f8fafc; border:1px solid #d6dde6; }
.svc-photo-access__card { position:relative; width:100%; border-radius:3px; overflow:hidden; box-shadow:2px 4px 8px #16243c24; }
.svc-photo-access__card>img { display:block; width:100%; height:auto; }
.svc-photo-access__card .svc-photo-access__qr { position:absolute; width:32%; right:7%; bottom:6%; border:3px solid #fff; }
.svc-photo-access__result { margin-top:16px; font-size:clamp(12px,3cqw,16px); line-height:1.75; letter-spacing:0; color:#526078; }
.svc-photo-access__item--nfc .svc-photo-access__result { color:var(--ink-900); font-weight:700; }
.svc-photo-access__control { margin-top:6%; padding:6%; background:#203453; color:#fff; border-radius:5px; }
.svc-photo-access__question { text-align:center; font-size:clamp(13px,3cqw,16px); line-height:1.8; text-wrap:balance; }
.svc-photo-access__protection { display:flex; align-items:center; gap:5%; margin-top:5%; }
.svc-photo-access__protection .svc-icon { width:12%; height:auto; color:#dfc47d; stroke-width:1.5; }
.svc-photo-access__control-title { font-size:clamp(14px,3.7cqw,20px); line-height:1.6; font-weight:700; letter-spacing:0; }
.svc-photo-access__control-text { margin-top:10px; font-size:clamp(12px,3cqw,16px); line-height:1.85; letter-spacing:0; }
.svc-photo-access__control-text strong { display:inline-block; color:inherit; }
.svc-photo-access figcaption { margin-top:13px; text-align:center; }
.svc-tap__scene { position:relative; container-type:inline-size; width:100%; aspect-ratio:1.25; background:#e8ecf1; border-radius:4px; overflow:hidden; }
.svc-tap__card { position:absolute; width:24.5%; left:26%; top:10%; transform:rotate(-8deg); border-radius:1.1cqw; box-shadow:4px 18px 26px #17243c2e; overflow:hidden; }
.svc-tap__card img { width:100%; height:auto; }
.svc-tap__phone { position:absolute; z-index:1; width:34%; right:20%; top:16%; aspect-ratio:9/17; background:#162030; padding:1.15cqw; border:2px solid #536074; border-radius:5cqw; transform:rotate(3deg); box-shadow:9px 20px 28px #17243c38; }
.svc-tap__screen { display:flex; flex-direction:column; height:100%; border-radius:3.7cqw; background:white; overflow:hidden; }
.svc-tap__browser { flex:none; background:#f5f6f8; color:#526078; text-align:center; font-size:2cqw; line-height:7cqw; }
.svc-tap__screen>img { width:100%; height:0; min-height:0; flex:1; object-fit:cover; object-position:top; }
.svc-tap__player { display:flex; flex:none; align-items:center; gap:1.6cqw; padding:2.2cqw; color:#162030; line-height:1; font-size:1.8cqw; }
.svc-tap__player i { height:2px; flex:1; background:#b0bbc9; }
.svc-tap figcaption,.svc-card-design figcaption { text-align:center; margin-top:13px; }
.svc-card-design__comparison { display:flex; container-type:inline-size; align-items:center; justify-content:center; gap:8%; aspect-ratio:1.25; padding:6%; background:#e8ecf1; border-radius:4px; overflow:hidden; }
.svc-design-sample { width:42%; flex:none; text-align:center; }
.svc-design-sample__card { position:relative; transform:rotate(-6deg); border-radius:7px; box-shadow:5px 14px 20px #17243c26; overflow:hidden; }
.svc-design-sample--nfc .svc-design-sample__card { transform:rotate(6deg); }
.svc-design-sample__card>img { display:block; width:100%; height:auto; }
.svc-design-sample__card .svc-design-sample__qr { position:absolute; width:31%; right:8%; bottom:6%; border:3px solid white; border-radius:0; }
.svc-design-sample>span { display:block; margin-top:6cqw; font-size:clamp(11px,2.65cqw,14px); line-height:1.7; color:#58667b; letter-spacing:0; }
.svc-design-sample--nfc>span { color:var(--ink-900); font-weight:700; }
.svc-cases>.wrap { width:min(1360px,calc(100% - 80px)); }
.svc-cases__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px 20px; }
.svc-case { overflow:hidden; border:1px solid var(--line); border-radius:5px; background:white; }
.svc-case__overview { position:relative; }
.svc-case__overview>img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.svc-case h3 { margin:19px 18px 0; font-size:17px; line-height:1.65; letter-spacing:0; }
.svc-case__body { padding:0 18px 23px; }
.svc-case p { font-size:15px; line-height:1.95; margin-top:14px; letter-spacing:.01em; }
.svc-case__toggle { display:none; }
.svc-case__body[hidden] { display:none; }
.svc-cases__end { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:27px; font-size:14px; }
.svc-support { background:#f5f6f8; }
.svc-proof { border-block:1px solid #dce3eb; }
.svc-proof--works { background:linear-gradient(120deg,#edf2f7,#f4f6f9); }
.svc-proof--voices { background:linear-gradient(120deg,#f6f1e8,#faf7f2); border-color:#e4ddd1; }
.svc-proof+.svc-proof { border-top:0; }
.svc-proof__heading { margin-bottom:45px; }
.svc-proof__list { display:block; }
.svc-proof__item+.svc-proof__item { margin-top:64px; }
.svc-proof__link { display:block; }
.svc-proof__item.has-media .svc-proof__link { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:6%; }
.svc-proof--works .svc-proof__item.has-media:nth-child(even) .svc-proof__link { grid-template-columns:1fr 1.12fr; }
.svc-proof--works .svc-proof__item.has-media:nth-child(even) .svc-proof__media { order:2; }
.svc-proof__media { display:flex; justify-content:center; align-items:center; width:100%; aspect-ratio:1.58; max-height:360px; }
.svc-proof__media img { display:block; width:100%; height:100%; object-fit:contain; border-radius:4px; }
.svc-proof__body { max-width:850px; }
.svc-proof__body h3 { font-size:clamp(23px,2.05vw,28px); line-height:1.65; letter-spacing:.025em; text-decoration:underline transparent; text-underline-offset:5px; text-decoration-thickness:1px; }
.svc-proof__text,.svc-proof__body blockquote { margin:20px 0 0; padding:0; border:0; color:var(--ink-700); font-size:16px; line-height:2; }
.svc-proof__attribution { margin-top:22px; color:#697486; font-size:14px; line-height:1.8; }
.svc-proof--voices .svc-proof__item.has-media .svc-proof__link { grid-template-columns:.8fr 1.2fr; }
.svc-proof--voices .svc-proof__media { aspect-ratio:1.4; max-height:320px; }
.svc-proof__action { margin-top:35px; text-align:right; }
.svc-proof__archive { display:inline-flex; align-items:center; gap:24px; padding:8px 0; border-bottom:1px solid #aeb8c7; font-size:14px; font-weight:700; line-height:1.6; }
.svc-proof__archive:hover { border-color:var(--ink-900); }
.svc-proof__link:hover h3 { text-decoration-color:currentColor; }
.svc-proof__link:focus-visible,.svc-proof__archive:focus-visible { outline:3px solid var(--gold); outline-offset:6px; }
.svc-production { display:grid; gap:28px; }
.svc-production article { display:grid; grid-template-columns:280px minmax(0,1fr); align-items:center; gap:44px; }
.svc-production article+article { padding-top:28px; border-top:1px solid var(--line); }
.svc-production article>img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:5px; }
.svc-production__copy { max-width:720px; }
.svc-production h3 { font-size:22px; line-height:1.65; margin-top:0; letter-spacing:.015em; }
.svc-production p { margin-top:15px; font-size:16px; }
.svc-production__caption { text-align:right; margin-top:22px; }
.svc-scope { background:white; padding:40px; margin-top:42px; }
.svc-scope__intro { display:grid; grid-template-columns:1fr 1.25fr; align-items:center; gap:6%; }
.svc-scope__intro figure img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
.svc-scope__intro p { margin-top:19px; }
.svc-scope__roles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.svc-scope__roles>div { border:1px solid #d8e0e9; border-radius:5px; overflow:hidden; background:#fff; }
.svc-scope__roles h4 { padding:16px 24px; background:#e9eef4; color:#253a51; font-size:18px; line-height:1.6; letter-spacing:0; text-align:left; text-wrap:wrap; }
.svc-scope__roles>div+div h4 { background:#22334b; color:#fff; }
.svc-scope ul { list-style:none; margin:0; padding:22px 24px; font-size:15px; line-height:1.8; letter-spacing:0; }
.svc-scope li { position:relative; padding-left:21px; }
.svc-scope li+li { margin-top:11px; }
.svc-scope li::before { content:"✓"; position:absolute; left:0; color:#94703b; font-weight:700; }

.svc-flow__layout { display:grid; grid-template-columns:.9fr 1.4fr; gap:24px 9%; align-items:start; }
.svc-flow .svc-heading { position:sticky; top:calc(var(--header-h) + 40px); margin:0; }
.svc-flow .svc-heading>p { margin-top:32px; }
.svc-flow .svc-heading .svc-flow__duration { margin-top:3px; color:var(--ink-900); font-size:21px; }
.svc-flow__duration strong { font-family:"Roboto Condensed",sans-serif; font-size:54px; font-weight:400; letter-spacing:.02em; padding:0 7px; line-height:1.45; }
.svc-flow .svc-heading .svc-flow__note { font-size:13px; margin-top:10px; }
.svc-flow__consult { grid-column:2; margin-top:0; padding:22px 24px; border-left:3px solid var(--gold); background:#f8f5ee; }
.svc-flow__consult h3 { font-size:18px; }
.svc-flow__consult p { font-size:14px; margin-top:12px; }
.svc-flow__steps { list-style:none; }
.svc-flow__summary { position:relative; }
.svc-flow__toggle { display:none; }
.svc-flow__body[hidden] { display:none; }
.svc-flow__steps>li { display:grid; grid-template-columns:60px 1fr; gap:22px; position:relative; padding-bottom:29px; }
.svc-flow__steps>li:not(:last-child)::before { content:""; position:absolute; left:30px; top:60px; bottom:0; width:1px; background:var(--line); }
.svc-flow__symbol { display:flex; width:60px; height:60px; justify-content:center; align-items:center; border:1px solid #d9c19d; border-radius:50%; color:#a68045; background:#faf7f1; }
.svc-flow__symbol .svc-icon { width:29px; height:29px; }
.svc-flow__number { color:#9b753d; font:400 17px/1 "Roboto Condensed",sans-serif; margin-right:12px; vertical-align:2px; }
.svc-flow__steps h3 { font-size:20px; line-height:1.6; margin-top:2px; }
.svc-flow__steps p { margin-top:10px; font-size:15px; line-height:1.9; }
.svc-flow__steps>li:last-child { padding-bottom:0; }
.svc-faq { background:#f5f6f8; }
.svc-faq__list { border-top:1px solid #cbd3df; }
.svc-faq__list summary,.svc-faq__answer { display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; }
.svc-faq__label { color:#9b753d; font-family:"Roboto Condensed",sans-serif; font-weight:700; }
.svc-faq__list summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.business-page .svc-faq .sec-head { margin:0 0 40px; padding:0; text-align:left; }
.business-page .svc-faq .sec-head::before,.business-page .svc-faq .sec-head::after,.business-page .svc-faq .sec-head-rule { display:none; }
.business-page .svc-faq .sec-head-ja { display:block; margin:0; }
.business-page .svc-faq .m-mask-up>span,.business-page .svc-faq .m-fade-up { transform:none; opacity:1; }
.business-page .svc-faq .t7-panel { box-shadow:none; border:none; border-top:1px solid #cbd3df; background:transparent; border-radius:0; padding:0; }
.business-page .svc-faq .faq-item { border-bottom:1px solid #cbd3df; }
.business-page .svc-faq summary { font-size:17px; padding:22px 50px 22px 0; line-height:1.75; }
.business-page .svc-faq .faq-answer { padding:0 50px 24px 0; font-size:15px; line-height:1.95; }
.business-page .svc-faq .sec-action { margin-top:32px; }
.svc-cta { padding:76px 0; background:var(--ink-900); color:#fff; text-align:center; font-size:max(15px,1rem); line-height:2; }
.svc-cta h2 { color:#fff; font-size:clamp(27px,2.4vw,34px); line-height:1.7; letter-spacing:.04em; }
.svc-cta h2 span { display:inline-block; }
.svc-cta p { margin-top:24px; }
.svc-cta p+p { margin-top:10px; }
.svc-cta .svc-button { margin-top:30px; }

@media(max-width:1279px) {
  .svc-cases>.wrap { width:min(1140px,calc(100% - 80px)); }
  .svc-cases__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
  .svc-case__overview>img { max-height:245px; }
  .svc-case h3 { font-size:19px; }
}
@media(min-width:1600px) {
  .svc-hero__content { padding:88px 0 78px; }
}
@media(max-width:1100px) {
  .svc-benefit { gap:5%; }
  .svc-production article { grid-template-columns:240px minmax(0,1fr); gap:28px; }
  .svc-production h3 { font-size:20px; }

  .svc-flow__layout { gap:24px 6%; }
}
@media(max-width:760px) {
  .svc-cases>.wrap { width:calc(100% - 40px); }
  .svc-proof__heading { margin-bottom:30px; }
  .svc-proof__item+.svc-proof__item { margin-top:42px; }
  .svc-proof__item.has-media .svc-proof__link,.svc-proof--works .svc-proof__item.has-media:nth-child(even) .svc-proof__link,.svc-proof--voices .svc-proof__item.has-media .svc-proof__link { grid-template-columns:1fr; gap:23px; }
  .svc-proof--works .svc-proof__item.has-media:nth-child(even) .svc-proof__media { order:0; }
  .svc-proof__media,.svc-proof--voices .svc-proof__media { aspect-ratio:1.5; max-height:275px; }
  .svc-proof__body h3 { font-size:22px; }
  .svc-proof__text,.svc-proof__body blockquote { margin-top:15px; font-size:15px; }
  .svc-proof__attribution { margin-top:18px; }
  .svc-proof__action { margin-top:25px; }

  .svc-benefit { grid-template-columns:1fr; gap:16px; }
  .svc-benefit+.svc-benefit { margin-top:30px; padding-top:30px; }
  .svc-benefit__copy { display:contents; }
  .svc-benefit__visual { grid-row:2; width:min(100%,340px); justify-self:center; }
  .svc-benefit__copy h3 { grid-row:1; font-size:clamp(17px,4.8vw,21px); line-height:1.65; letter-spacing:0; text-align:center; }
  .svc-benefit__copy h4 { font-size:18px; margin-top:21px; }
  .svc-benefit__copy p { margin-top:0; }
  #service-after-promotion .svc-benefit__copy p { font-size:clamp(14px,3.5vw,15px); line-height:1.85; letter-spacing:-.01em; text-wrap:wrap; }
  #service-after-promotion .svc-benefit__copy p br { display:none; }
  #service-after-promotion .svc-benefit__phrase { display:inline-block; max-width:100%; }
  #service-after-promotion .svc-benefit__copy p:first-of-type .svc-benefit__phrase { display:inline; }
  .svc-benefit__copy h4+p { margin-top:7px; }
  .svc-scene { max-width:510px; margin:0 auto; }
  .svc-production { gap:24px; }
  .svc-production article { grid-template-columns:1fr; gap:12px; }
  .svc-production__copy { display:contents; }
  .svc-production article>img { grid-row:2; justify-self:center; width:auto; max-width:100%; height:clamp(128px,44vw,200px); aspect-ratio:4/3; object-fit:contain; }
  .svc-production h3 { grid-row:1; margin-top:0; font-size:clamp(17px,4.8vw,20px); line-height:1.6; letter-spacing:0; text-align:center; }
  .svc-production__subline { display:inline-block; font-size:.78em; }
  .svc-production p { margin-top:0; }
  .svc-production p br { display:none; }
  .svc-production__caption { text-align:left; }

  .business-page .wrap,.svc-cta .wrap { width:calc(100% - 40px); }
  .business-page .t1>.wrap { width:94vw; }
  .svc-section { padding:36px 0; }
  .svc-heading { margin-bottom:22px; }
  .svc-heading h2,.business-page .svc-faq .sec-head-ja { font-size:clamp(20px,5.6vw,25px); line-height:1.55; letter-spacing:0; }
  .svc-heading p { margin-top:14px; line-height:1.8; }
  .svc-heading h2::after { margin-top:12px; }
  .svc-desktop-break { display:none; }
  .svc-hero__content { padding:48px 0; }
  .business-page .svc-hero h2,.contact-page .svc-hero h2 { font-size:26px; line-height:1.7; letter-spacing:.01em; }
  .svc-hero::before { background:rgba(11,20,37,.56); }
  .svc-hero__background { height:340px; object-position:center; mask-image:linear-gradient(#000 40%,transparent); }
  .svc-hero__lead { margin-top:25px; line-height:2; }
  .svc-hero__invitation { margin-top:24px; font-size:14px; }
  .svc-hero__questions { display:block; margin:11px 0; font-size:16px; line-height:1.9; }
  .svc-hero__questions span { display:block; }
  .svc-hero__actions { flex-direction:column; gap:17px; margin-top:26px; }
  .svc-button { gap:18px; padding:14px 20px; }
  .svc-text-link { font-size:14px; }
  .svc-nfc h3,.svc-scope h3 { font-size:clamp(17px,4.8vw,21px); line-height:1.65; letter-spacing:0; text-align:center; }
  .svc-nfc__row,.svc-scope__intro,.svc-flow__layout { grid-template-columns:1fr; gap:16px; }
  .svc-nfc__row>.svc-nfc__copy { display:contents; }
  .svc-nfc__copy>h3 { grid-row:1; }
  .svc-nfc__copy>p { margin-top:0; }
  .svc-nfc__row>figure { grid-row:2; width:min(100%,320px); justify-self:center; }
  .svc-nfc__row--photo>.svc-nfc__copy { grid-column:1; }
  .svc-nfc__row--photo>.svc-photo-access { grid-column:1; grid-row:2; }
  .svc-photo-access__item { padding-inline:3%; }
  .svc-nfc__row+.svc-nfc__row { margin-top:35px; padding-top:33px; }
  .svc-nfc h4 { font-size:19px; margin-top:23px; }
  .svc-nfc__copy .svc-nfc__conclusion { font-size:16px; letter-spacing:0; }
  .svc-cases__grid { gap:24px 16px; }
  .svc-case__body { padding:0 16px 20px; }
  .svc-case h3 { font-size:18px; }
  .svc-cases__end { font-size:14px; }
  .svc-scope { padding:26px 0 0; margin-top:32px; background:transparent; }
  .svc-scope__intro { gap:23px; }
  .svc-scope__intro>div { display:contents; }
  .svc-scope__intro h3 { grid-row:1; }
  .svc-scope__intro>figure { grid-row:2; width:min(100%,280px); justify-self:center; }
  .svc-scope__intro p { margin-top:0; }
  .svc-scope__roles { grid-template-columns:1fr; gap:16px; margin-top:26px; border:0; }
  .svc-scope__roles>div,.svc-scope__roles>div+div { padding:0; border:1px solid #d8e0e9; border-radius:5px; overflow:hidden; background:#fff; }
  .svc-scope__roles h4 { padding:13px 16px; background:#e9eef4; color:#253a51; font-size:16px; line-height:1.6; letter-spacing:0; text-align:left; text-wrap:wrap; }
  .svc-scope__roles>div+div h4 { background:#22334b; color:#fff; }
  .svc-scope__roles ul { margin:0; padding:16px; font-size:14px; line-height:1.8; letter-spacing:0; }
  .svc-scope__roles li { padding-left:19px; text-wrap:pretty; }
  .svc-scope__roles li+li { margin-top:10px; }
  .svc-scope__roles li>span { display:inline-block; max-width:100%; }
  .svc-flow .svc-heading { position:static; }
  .svc-flow .svc-heading>p { margin-top:24px; }
  .svc-flow__consult { grid-column:1; margin-top:8px; padding:18px 20px; }
  .svc-flow__steps { margin-top:6px; }
  .svc-flow>.wrap { width:calc(100% - 32px); }
  .svc-flow__steps>li { grid-template-columns:36px minmax(0,1fr); gap:12px; padding-bottom:16px; }
  .svc-flow__symbol { width:36px; height:36px; margin-top:4px; }
  .svc-flow__symbol .svc-icon { width:21px; height:21px; }
  .svc-flow__number { flex:none; font-size:15px; margin-right:8px; line-height:1.7; }
  .svc-flow__steps>li:not(:last-child)::before { left:18px; top:40px; }
  .svc-flow__summary { display:flex; align-items:center; min-height:44px; }
  .svc-flow__steps h3 { display:flex; margin:0; font-size:15px; line-height:1.7; letter-spacing:0; text-wrap:wrap; }
  .svc-flow__steps--collapsible .svc-flow__summary { padding-right:32px; }
  .svc-flow__steps--collapsible .svc-flow__toggle { position:absolute; inset:0; display:flex; justify-content:flex-end; align-items:center; width:100%; height:100%; padding:0 2px; border:0; background:transparent; color:#846b43; cursor:pointer; }
  .svc-flow__toggle svg { box-sizing:border-box; width:24px; height:24px; padding:5px; border:1px solid #b8c3d0; border-radius:5px; background:#f5f7fa; fill:currentColor; }
  .svc-flow__toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .svc-flow__toggle:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
  .svc-flow__steps p { font-size:15px; }
  .business-page .svc-faq .sec-head { margin-bottom:27px; }
  .business-page .svc-faq summary { font-size:16px; padding:20px 32px 20px 0; }
  .business-page .svc-faq .faq-answer { font-size:15px; padding:0 10px 22px 0; }
  .svc-cta { padding:55px 0; }
  .svc-cta h2 { font-size:25px; letter-spacing:.015em; }
  .svc-cta p { text-align:left; }
}
@media(max-width:760px) {
  .svc-cases__grid { grid-template-columns:1fr; gap:10px; }
  .svc-case__overview { display:grid; grid-template-columns:clamp(100px,29vw,124px) minmax(0,1fr); align-items:center; gap:12px; min-height:104px; padding:12px; }
  .svc-case__overview>img { width:100%; height:auto; aspect-ratio:4/3; border-radius:3px; }
  .svc-case h3 { margin:0; font-size:16px; line-height:1.6; text-align:left; text-wrap:pretty; }
  .svc-case h3>span { display:inline-block; max-width:100%; text-wrap:wrap; }
  .svc-cases--collapsible .svc-case h3 { padding-right:22px; }
  .svc-cases--collapsible .svc-case__toggle { position:absolute; inset:0; display:flex; justify-content:flex-end; align-items:center; width:100%; height:100%; padding:12px; border:0; background:transparent; color:#846b43; cursor:pointer; }
  .svc-case__toggle svg { width:14px; height:14px; fill:currentColor; }
  .svc-case__toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .svc-case__toggle:hover { background:#13203f05; }
  .svc-case__toggle:focus-visible { outline:2px solid var(--gold); outline-offset:-3px; }
  .svc-case__body { padding:0 16px 16px; }
  .svc-case p { margin:0; padding-top:12px; border-top:1px solid var(--line); }
}
@media(max-width:360px) {
  .svc-case h3 { font-size:15px; }
  .svc-flow>.wrap { width:calc(100% - 24px); }
  .svc-flow__steps>li { grid-template-columns:30px minmax(0,1fr); gap:8px; }
  .svc-flow__symbol { width:30px; height:30px; margin-top:7px; }
  .svc-flow__symbol .svc-icon { width:18px; height:18px; }
  .svc-flow__steps>li:not(:last-child)::before { left:15px; top:37px; }
  .svc-flow__number { font-size:13px; margin-right:6px; }
  .svc-flow__steps h3 { font-size:14px; }
  .svc-flow__steps--collapsible .svc-flow__summary { padding-right:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .svc-button { transition:none; }
}
