/* Reference: latest shared Figma, PC 1440 / SP 390. Exceptions: design/FIGMA_EXCEPTIONS.md. */
:root { --yellow: #f9e047; --footer: #202733; }
.pill { gap: 40px; min-height: 60px; padding: 12px 16px 12px 32px; line-height: 1.2; font-feature-settings: "palt"; }
.pill--outline { min-height: 62px; padding: 12px 16px 12px 40px; border-color: #c5c5c5; }
.header-phone > span { justify-content: center; gap: 4px; }
.header-phone strong { line-height: 24px; }
.header-actions .pill { line-height: 1; }
.hero-sp-break { display: none; }
.scroll-cue { display:block; }
.service-label { gap: 12px; line-height: 1; }
.card-more { gap: 12px; }
.service-card { border-radius: 10px; }
.service-card > picture { position:absolute; inset:0; z-index:-2; display:block; }
.service-card--featured::after { background: linear-gradient(180deg,#0003 0%,#0000 24%,#0000 50%,#000000e0 100%),linear-gradient(#0000003d,#0000003d); }
.service-card--business::after { background: linear-gradient(180deg,rgba(0,96,140,.16),rgba(0,96,140,0) 24%,rgba(0,96,140,.8) 80%); }
.site-footer { background: var(--footer); }
.footer-menu { display: grid; grid-template-columns: 85px 138px 85px; grid-template-rows: repeat(3,35px); grid-auto-flow: column; gap: 16px 40px; }
.footer-menu li { margin: 0 !important; }
.footer-menu li:nth-child(4) { grid-column: 2; grid-row: 1; }
.footer-menu li:nth-child(5) { grid-column: 2; grid-row: 2; }
.footer-menu li:nth-child(6) { grid-column: 3; grid-row: 1; }
.footer-menu a { display: block; padding: 8px; line-height: 19px; }
.footer-address-mobile-space { display: none; }
.footer-end small { line-height: 16px; }
.footer-end small span { white-space: nowrap; }
@media (min-width:1200px) {
 .primary-nav .nav-list { gap: 24px; }
 .hero { height:661px; padding-top: 295px; }
 .hero-company span + span { line-height: 20px; padding-block: 5px; }
 .services-intro { border-color:#fff; }
 .service-card--featured { padding: 30px; }
 .service-card--business { padding: 30px 24px; }
 .service-card--business p { margin-top:16px; }
 .service-card--business .card-more { margin-top: 12px; }
 .news-section { width:1155px; max-width:calc(100% - 80px); grid-template-columns:241px minmax(0,800px); gap:114px; }
 .news-item > a { padding:24px 32px; min-height:88px; }
 .news-list { border-top:0; box-shadow:inset 0 1px #dedede; }
 .news-item { border-bottom:0; box-shadow:inset 0 -1px #dedede; }
 .company-links { margin-top:100px; }
 .recruit-contact { margin-top:120px; }
 .recruit-content > p { margin-top:64px; }
 .recruit-people { left:136.03px; top:119.54px; width:511.18px; height:511.18px; }
 .company-card-label { line-height:1.4; }
 .contact-actions { gap:12px; }
 .contact-actions .pill { width:271px; min-width:271px; }
 .contact-phone > a { gap:8px; }
 .footer-main { grid-template-columns:minmax(0,1fr) 388px 241px; gap:64px; }
 .footer-company address { line-height:26px; }
 .footer-nav { padding:0; }
 .footer-actions .pill { width:241px; padding:10px 10px 10px 32px; gap:32px; line-height:19px; }
 .footer-end { gap:16px; }
 .back-to-top { line-height:26px; }
 .privacy-link { padding:8px; line-height:22px; }
}
@media (min-width:1121px) and (max-height:740px) {
 .hero { padding-top:calc(295px - var(--hero-shortfall) * .6); }
}
@media (max-width:767px) {
 .site-header { height:80px; min-height:80px; padding:20px; gap:12px; }
 .header-logo { flex-basis:107px; }
 .header-logo img { width:107px; height:24px; }
 .header-actions .pill { min-height:36px; height:36px; padding:12px 16px; font-size:12px; letter-spacing:.01em; line-height:12px; }
 .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:40px; height:40px; border:0; padding:0; background:#fff; }
 .menu-toggle span { width:20px; height:2px; margin:0; background:var(--blue); }
 .home .hero { height:auto; min-height:0; padding:100px 20px 24px; }
 .hero h1 { font-size:20px; line-height:30px; letter-spacing:.05em; text-align:center; overflow-wrap:normal; }
 .hero-sp-break { display:block; }
 .hero-company { align-items:center; gap:12px; margin-top:32px; font-size:14px; line-height:21px; }
 .hero-company span + span { display:flex; flex-direction:column; align-items:center; gap:12px; padding:0; font-size:14px; line-height:14px; letter-spacing:.05em; }
 .hero-company span + span::before { content:''; display:block; height:2px; width:24px; background:#fff; }
 .scroll-cue { position:relative; top:auto; right:auto; bottom:auto; width:88px; height:88px; margin:40px auto 0; transform:none; }
 .scroll-cue-orbit { left:6px; top:6px; width:76px; height:76px; transform-origin:38px 38px; }
 .scroll-cue-words { width:64px; height:19px; left:6px; top:0; }
 .scroll-cue-service { width:43px; height:11.5px; left:16px; top:70px; }
 .scroll-cue-ring { width:76px; height:43.3px; top:19.76px; }
 .scroll-cue-arrow { width:28.87px; height:28.87px; left:29.57px; top:29.57px; }
 .home .services { padding-top:24px; }
 .home .service-world { padding-bottom:80px; }
 .featured-services { grid-template-columns:1fr; gap:32px; }
 .service-card--featured { min-height:0; height:320px; aspect-ratio:auto; padding:24px 20px; }
 .service-card-top { flex-direction:row; align-items:center; }
 .service-label { font-size:16px; gap:12px; letter-spacing:.16em; }
 .service-label .icon { width:20px; height:20px; }
 .netyou-logo { width:81px; height:24px; align-self:auto; }
 .service-card--featured h2 { font-size:28px; line-height:1.2; letter-spacing:.02em; }
 .service-title { white-space:nowrap; }
 .card-more { font-size:18px; line-height:32px; margin-top:20px; }
 .card-more .icon { width:32px; height:32px; }
 .services-intro { padding:32px 0 39px; margin-bottom:40px; font-size:14px; line-height:28px; letter-spacing:.05em; border-color:#fff; }
 .services-intro br { display:block; }
 .business-services { gap:32px; }
 .service-card--business { min-height:0; height:320px; padding:24px 20px; }
 .service-card--business h2 { font-size:24px; line-height:1.2; letter-spacing:.1em; }
 .service-card--business p { margin-top:16px; font-size:13px; line-height:26px; letter-spacing:.05em; }
 .service-card--business .card-more { margin-top:12px; }
 .section-eyebrow { font-size:14px; line-height:14px; }
 .section-title h2 { margin-top:16px; font-size:28px; line-height:28px; letter-spacing:.1em; }
 .news-section { padding-top:40px; }
 .news-content { margin-top:40px; }
 .news-item > a { grid-template-columns:79px minmax(0,1fr) 32px; column-gap:16px; row-gap:8px; padding:24px 0 23px; min-height:96px; }
 .news-item time { font-size:14px; line-height:17px; }
 .news-category { font-size:12px; padding:4px 10px; line-height:12px; }
 .news-text { line-height:21px; letter-spacing:.04em; }
 .news-item .icon { width:32px; height:32px; }
 .company-links { grid-template-columns:1fr; gap:24px; margin-top:80px; }
 .company-card { min-height:0; height:240px; aspect-ratio:auto; padding:24px; flex-direction:row; align-items:flex-end; justify-content:space-between; }
 .company-card-label { font-size:24px; line-height:40px; }
 .company-card > .icon { width:40px; height:40px; align-self:auto; }
 .recruit-contact { margin-top:40px; }
 .recruit-section { display:flex; flex-direction:column; padding:40px 20px 0; height:auto; }
 .recruit-content { order:0; }
 .recruit-content > p { margin-top:40px; font-size:14px; line-height:28px; letter-spacing:.04em; }
 .recruit-content > .pill { width:100%; min-height:62px; margin-top:40px; padding:12px 16px 12px 40px; font-size:18px; }
 .recruit-content > .pill .icon { width:36px; height:36px; }
 .recruit-art { order:1; position:relative; left:-20px; top:auto; margin-top:32px; width:calc(100% + 40px); height:400px; transform:none; clip-path:inset(0); }
 .recruit-ribbon-layer { --recruit-bleed:0px; width:823px; left:0; top:-32px; transform:scale(calc(390 / 823)); transform-origin:top left; }
 .recruit-ribbon { mask:none; -webkit-mask:none; }
 .recruit-people { left:16.528%; top:24.65px; width:62.11%; height:auto; aspect-ratio:1; }
 .recruit-contact .contact-section { margin-top:-96px; min-height:0; padding:120px 20px 80px; }
 .contact-description { margin-top:40px; font-size:14px; line-height:28px; letter-spacing:.04em; text-align:center; }
 .contact-actions { margin-top:40px; gap:12px; }
 .contact-actions .pill { width:100%; min-height:60px; font-size:18px; padding:12px 16px 12px 32px; }
 .contact-phone { flex-direction:row; gap:16px; margin-top:24px; align-items:center; }
 .contact-phone > a { gap:4px; }
 .contact-phone .icon { width:32px; height:32px; }
 .contact-phone strong { font-size:28px; line-height:28px; }
 .contact-phone > span { font-family:var(--font-ja); font-size:13px; font-weight:700; line-height:18px; text-align:left; white-space:normal; max-width:70px; }
 .site-footer { padding:80px 20px; }
 .footer-main { display:flex; gap:40px; padding-bottom:40px; }
 .footer-company { width:100%; text-align:center; }
 .footer-logo, .footer-logo img { width:143px; height:32px; margin-inline:auto; }
 .footer-company address { margin-top:24px; font-size:14px; line-height:22px; }
 .footer-address-desktop-break { display:none; }
 .footer-address-mobile-space { display:inline; }
 .footer-nav { display:block; width:100%; padding:0; }
 .footer-menu { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,33px); gap:8px; }
 .footer-menu a { font-size:14px; line-height:17px; padding:8px; letter-spacing:.1em; }
 .footer-menu li:nth-child(4) { grid-column:1; grid-row:4; }
 .footer-menu li:nth-child(5) { grid-column:2; grid-row:1; }
 .footer-menu li:nth-child(6) { grid-column:2; grid-row:2; }
 .footer-actions { width:100%; gap:12px; }
 .footer-actions .pill { width:100%; min-height:56px; padding:10px 10px 10px 32px; font-size:16px; }
 .footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:24px 8px; padding-top:40px; align-items:center; }
 .privacy-link { padding:8px; font-size:14px; line-height:22px; }
 .footer-end { display:contents; }
 .back-to-top { grid-column:2; grid-row:1; line-height:26px; }
 .footer-end small { grid-column:1 / -1; width:100%; font-size:10px; line-height:16px; }
 .footer-end small span { display:block; }
}
@media (max-width:359px) {
 .hero h1 { font-size:18px; }
 .hero-company span + span { font-size:12px; }
 .service-card--featured h2 { font-size:24px; }
 .contact-phone { gap:8px; }
 .contact-phone strong { font-size:24px; }
 .footer-company address { font-size:12px; }
 .footer-bottom { column-gap:0; }
 .privacy-link { padding-left:0; font-size:12px; }
}

@media(max-width:767px){.card-title-break{display:block}.service-card--featured .service-card-image{object-position:center}}
@media(min-width:768px){.card-title-break{display:none}}

/* Service and corporate shared frames. */
.card-more { line-height:1.6; letter-spacing:0; }
.sv-catalogue .service-card--featured h2 { line-height:1.2; }
.sv-catalogue .service-card--business h2 { line-height:1; }
.lp-masthead-heading { top:140px; }
@media(min-width:1200px){
 .sv-cta { padding:48px 24px 64px; }
 .sv-cta-row .pill { min-width:271px; }
 .service-archive .sv-catalogue { padding-bottom:0; }
 .service-archive .sv-contact { margin-top:-120px; }
 .sv-related-grid { position:relative; left:-5px; }
}
@media(max-width:767px){
 .site-header .pill { border-radius:6px; }
 .company-card-label { line-height:1.4; }
 .company-card { align-items:center; padding-top:184px; }
 .sv-hero { height:340px; }
 .service-hikari-net .sv-hero, .service-giga-share .sv-hero, .service-tv-ad .sv-hero { height:376px; }
 .sv-hero-heading, .sv-hero--archive .sv-hero-heading { top:96px; }
 .sv-hero-heading > p { font-size:16px; line-height:16px; }
 .sv-hero h1 { margin-top:8px; font-size:24px; line-height:36px; letter-spacing:.1em; text-wrap:initial; }
 .sv-hero--archive { height:242px; }
 .sv-hero--archive h1 { font-size:28px; line-height:42px; }
 .sv-hero-image { height:calc(100% - 32px); }
 .sv-hero::before { bottom:32px; }
 .sv-hero::after { height:80px; bottom:32px; }
 .sv-hero-badges { bottom:32px; gap:10px; }
 .sv-hero-badges li, .sv-hero-badges:has(li:nth-child(3)) li { width:120px; height:120px; padding:16px 6px; }
 .sv-hero-badges li > span { font-size:var(--badge-font); }
 .sv-hero-badges .sv-badge-art { width:80px; height:80px; }
 .sv-hero-badges .sv-badge-check { width:28px; height:28px; top:-8px; }
 .sv-hero-badges:has(li:nth-child(3)) { gap:10px; }
 .sv-hero-badges:has(li:nth-child(3)) li { width:110px; height:110px; }
 .sv-breadcrumb { bottom:0; }
 .sv-breadcrumb li { padding:8px 0; line-height:12px; }
 .sv-breadcrumb li[aria-current] { max-width:none; }
 .sv-breadcrumb ol { flex-wrap:nowrap; }
 .sv-breadcrumb { font-size:12px; letter-spacing:.1em; font-weight:700; }
 .sv-catalogue { padding:40px 0 0; }
 .sv-catalogue .sv-archive-lead { font-size:14px; line-height:28px; letter-spacing:.05em; }
 .sv-catalogue .sv-archive-lead { margin-bottom:32px; }
 .sv-catalogue .service-card--business h2 { line-height:1.2; }
 .sv-catalogue .services-intro { margin-bottom:40px; }
 .service-archive .sv-contact { margin-top:-40px; }
 .sv-section { padding-block:64px 80px; }
 .sv-section > .sv-container > :not(:first-child) { margin-top:32px; }
 .sv-heading p { font-size:16px; line-height:16px; }
 .sv-heading h2 { margin-top:4px; line-height:42px; }
 .sv-curved-pale::after, .sv-curved-blue::after, .sv-curved-white::after { height:80px; }
 .sv-anchor-nav { padding:40px 20px; }
 .sv-anchor-nav ul, .sv-nav--four ul, .sv-nav--two ul { gap:10px; }
 .sv-anchor-nav a, .sv-nav--four a { padding:12px; font-size:14px; line-height:1.2; min-height:44px; }
 .sv-anchor-nav img { width:24px; height:24px; }
 .sv-cta { padding:48px 20px 64px; min-height:284px; }
 .sv-cta > p { font-size:24px; line-height:36px; }
 .sv-cta-row { flex-direction:column; gap:16px; margin-top:24px; }
 .sv-cta-row > .pill { width:100%; height:60px; font-size:18px; }
 .sv-cta-row > div { display:flex; justify-content:center; align-items:center; gap:16px; width:100%; }
 .sv-cta-phone .icon { width:32px; height:32px; }
 .sv-cta-phone { gap:4px; }
 .sv-cta-phone strong { font-size:28px; line-height:28px; letter-spacing:.04em; }
 .sv-cta-row small { font-family:var(--font-ja); font-size:13px; line-height:18px; font-weight:700; letter-spacing:0; max-width:70px; }
 .sv-related { padding:80px 0 0; }
 .sv-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .service-card--related { height:200px; aspect-ratio:auto; padding:12px 10px; }
 .service-card--related h2 { font-size:18px; line-height:1.2; letter-spacing:.02em; }
 .service-card--related .service-label { font-size:10px; line-height:10px; letter-spacing:.16em; gap:6px; }
 .service-card--related .service-label img { width:12px; height:12px; }
 .service-card--related .netyou-logo { width:46px; height:14px; }
 .service-card--related .card-more { font-size:12px; line-height:1.6; gap:6px; margin-top:12px; }
 .service-card--related .card-more img { width:20px; height:20px; }
 .sv-contact { height:auto; min-height:586px; margin-top:0; padding:120px 20px 80px; }
 .sv-contact .section-title h2 { font-size:28px; line-height:28px; margin-top:16px; }
 .sv-contact .section-eyebrow { font-size:14px; line-height:14px; }
 .lp-masthead, .lp-page--material-download .lp-masthead { height:242px; }
 .lp-masthead-heading { inset:96px 20px auto; }
 .lp-masthead-heading > p { font-size:16px; line-height:16px; margin-bottom:8px; }
 .lp-masthead-heading h1 { font-size:28px; line-height:42px; letter-spacing:.1em; }
 .lp-breadcrumb { bottom:0; font-size:12px; line-height:12px; }
 .lp-content { padding:40px 0; }
}

/* Portrait diagrams and compact mobile flow cards from the SP artwork. */
.sv-diagram-picture { display:block; }
.sv-diagram-picture--composite + .sv-tv-diagram-correction { display:none; }
.lp-business-item h3 { align-items:flex-end; }
@media(min-width:1200px){
 .lp-business-item h3 { font-size:20px; line-height:30px; }
 .lp-business-row .lp-text-link { margin-top:16px; padding-bottom:4px; }
 .lp-studio-copy small { height:24px; }
 .lp-studio-roles h4 { border:0; box-shadow:inset 0 0 0 1px #00a0e9; }
}
@media(min-width:768px){.sv-tv-diagram > .sv-diagram-picture .sv-diagram-image { width:900px; height:589px; object-fit:fill; }}
@media(max-width:767px){
 .service-tv-ad .sv-hero { height:340px; }
 .service-tv-ad .sv-title-phrase { display:inline; }
 .service-security-camera .sv-hero { height:320px; }
 .service-security-camera .sv-hero-badges:has(li:nth-child(3)) li { width:100px; height:100px; }
 .sv-diagram { padding:4px; border-radius:8px; overflow:hidden; }
 .sv-diagram .sv-diagram-image { width:100%; height:auto; aspect-ratio:auto; }
 .sv-tv-diagram-correction, .sv-diagram-caption { display:none; }
 .sv-flow-section { padding-block:80px; }
 .sv-flow-section .sv-lead { text-align:left; }
 .sv-flow { grid-template-columns:1fr; padding-left:32px; gap:12px; margin-top:40px !important; }
 .sv-flow li { display:grid; grid-template-columns:48px 1fr; gap:4px 8px; padding:16px 20px 20px 40px; border-radius:16px; }
 .sv-flow .sv-sprite { grid-area:1/1; width:48px !important; align-self:center; margin:0; }
 .sv-flow h3 { grid-area:1/2; margin:0; min-height:0; align-self:center; font-size:18px; line-height:1.3; text-align:left; }
 .sv-flow p { grid-area:2/1/3/3; margin:0; font-size:14px; line-height:1.8; letter-spacing:0; }
 .sv-step { width:64px; height:64px; left:-34px; top:50%; transform:translateY(-50%); gap:2px; font-size:24px; line-height:24px; letter-spacing:.02em; }
 .sv-step small { font-size:14px; line-height:14px; letter-spacing:.05em; }
 .sv-flow--four { grid-template-columns:1fr; gap:12px; margin-top:40px !important; }
 .sv-flow--four li { display:grid; grid-template-columns:48px 1fr; min-height:104px; padding:16px 20px 20px 40px; align-items:center; }
 .sv-flow--four h3 { justify-content:flex-start; min-height:0; font-size:18px; }
}

@media(max-width:767px){
 .service-card--related { min-height:0; }
 .contact-phone > span { letter-spacing:0; }
 .service-hikari-net .sv-diagram-image { aspect-ratio:342/517; }
 .service-giga-share .sv-diagram-image { aspect-ratio:342/513; }
 .service-hikari-tv .sv-diagram-image { aspect-ratio:342/691; }
 .sv-anchor-nav a, .sv-nav--four a { padding:8px 12px; min-height:38px; gap:8px; line-height:17px; }
 .sv-anchor-nav ul, .sv-nav--four ul { gap:8px 10px; }
 .sv-anchor-nav img { width:20px; height:20px; }
 .sv-anchor-nav a > span { text-wrap:initial; flex:1; }
 .service-hikari-net .sv-intro { padding:40px 20px; }
 .service-hikari-net .sv-intro .sv-container { width:100%; }
 .service-hikari-net .sv-intro .sv-intro-pair { gap:40px; margin-top:40px; }
 .service-hikari-net .sv-intro-pair > div > p { text-align:center; letter-spacing:.05em; }
 .service-hikari-net .sv-intro-pair > div > p br:first-of-type { display:none; }
 .service-hikari-net .sv-direct { gap:24px; margin-bottom:16px; }
 .service-hikari-net .sv-direct img { width:87px; height:64px; }
 .service-hikari-net .sv-direct p { font-size:20px; line-height:26px; letter-spacing:.05em; }
 .service-hikari-net .sv-direct strong { font-size:32px; line-height:42px; letter-spacing:.05em; }
 .service-hikari-net .sv-intro-illustration { width:320px; height:218px; }
 .service-hikari-net .sv-intro::after { display:none; }
 .sv-popular { padding-top:40px; }
 .sv-popular .sv-lead { margin-top:24px !important; text-align:left; }
 .sv-popular .sv-rankings { margin-top:40px !important; }
 .sv-rankings { gap:52px; padding-top:28px; }
 .sv-rankings article { padding:48px 24px 24px; }
 .sv-rankings h3 { top:-28px; width:240px; height:56px; font-size:20px; gap:12px; letter-spacing:0; }
 .sv-rankings h3::after { content:''; position:absolute; left:calc(50% - 6px); bottom:-8px; border-left:6px solid transparent; border-right:6px solid transparent; border-top:8px solid #00a0e9; }
 .sv-rankings article:nth-child(2) h3::after { border-top-color:#eba113; }
 .sv-rank-avatar { width:72px; height:72px; }
 .sv-rankings li, .sv-rankings li:first-child { height:48px; margin-top:8px; }
 .sv-rankings li:first-child { margin-top:0; }
 .sv-rankings li .sv-rank-label { width:48px; min-width:48px; height:48px; margin-right:-24px; }
 .sv-rank-label > span { top:9px; width:34.5px; font-size:13.5px; }
 .sv-rankings li strong, .sv-rankings li:first-child strong { height:36px; font-size:14px; line-height:28px; padding:0 0 8px 16px; border-width:3px; }
 .sv-owner { padding-block:64px 80px; }
 .sv-user { padding-top:0; }
 .sv-section > .sv-container > .sv-benefits { margin-top:40px; }
 .sv-benefits { gap:24px; }
 .sv-benefit, .sv-grid-4 .sv-benefit { display:grid; grid-template-columns:88px 1fr; gap:8px 14px; padding:20px; }
 .sv-benefit > .sv-sprite { grid-area:1/1; width:64px !important; margin:0 0 0 24px; }
 .sv-benefit h3, .sv-grid-4 .sv-benefit h3, .sv-tv-owner .sv-benefit h3 { grid-area:1/2; min-height:0; margin:0; font-size:18px; line-height:1.3; letter-spacing:.05em; text-align:left; }
 .sv-benefit p, .sv-grid-4 .sv-benefit p { grid-area:2/1/3/3; margin:0; font-size:14px; line-height:28px; letter-spacing:0; }
 .sv-number { width:56px; height:56px; padding:10px; font-size:20px; line-height:20px; }
 .service-hikari-net .sv-owner .sv-benefit:nth-child(3) h3 br { display:none; }
 .sv-about { padding-top:80px; }
 .sv-about .sv-lead { text-align:left; }
 .sv-about .sv-divider { margin-block:48px !important; }
 .sv-basic-channels { gap:16px; }
 .sv-basic-channels article { border:0; box-shadow:inset 0 0 0 1px #ddd; }
 .sv-basic-channels h3 { padding:8px 0; font-size:18px; line-height:23px; letter-spacing:.1em; }
 .sv-basic-channels h3 br { display:block; }
 .sv-basic-channels h3 > span { display:inline-flex; align-items:baseline; margin:2px 0 0; font-size:14px; line-height:24px; }
 .sv-basic-channels h3 b { font-size:24px; line-height:24px; margin-right:4px; }
 .sv-basic-channels ul { display:block; columns:2; column-gap:10px; padding:14px 21px 20px; }
 .sv-basic-channels li { break-inside:avoid; font-size:14px; line-height:17px; letter-spacing:.1em; padding-left:22px; margin-bottom:6px; }
 .sv-basic-channels li:last-child { margin-bottom:0; }
 .sv-basic-channels article:has(.sv-note) ul { padding-bottom:16px; }
 .sv-basic-channels .sv-note { padding:0 21px 20px; font-size:12px; line-height:17px; letter-spacing:0; }
}

.sv-channel-toggle { display:none; }
@media(max-width:767px){
 .sv-table-pair { padding:16px; border-radius:16px; }
 .sv-channel-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; margin:0 0 16px; padding:0; border:0; background:transparent; color:#333; font:700 14px/21px var(--font-ja); letter-spacing:.1em; cursor:pointer; }
 .sv-channel-toggle svg { stroke:#00a0e9; stroke-width:2; fill:none; }
 .sv-channel-toggle[aria-expanded=true] .sv-toggle-plus { display:none; }
 .sv-channel-toggle[aria-expanded=false] { margin-bottom:0; }
 .sv-table-pair:has(.sv-channel-toggle[aria-expanded=false]) > .sv-table-scroll { display:none; }
 .sv-table-scroll + .sv-table-scroll { margin-top:4px; }
 .sv-table-scroll + .sv-table-scroll thead { display:none; }
 .sv-channel-table { width:100%; min-width:318px; font-size:12px; line-height:14px; }
 .sv-channel-table col:nth-child(1) { width:30px !important; }
 .sv-channel-table col:nth-child(2) { width:38px !important; }
 .sv-channel-table col:nth-child(3) { width:168px !important; }
 .sv-channel-table col:nth-child(4) { width:43px !important; }
 .sv-channel-table col:nth-child(5) { width:39px !important; }
 .sv-channel-table--optional col:nth-child(3) { width:170px !important; }
 .sv-channel-table--optional col:nth-child(4) { width:80px !important; }
 .sv-channel-table th, .sv-channel-table td { padding:0; }
 .sv-channel-table th > span, .sv-channel-table td > span { min-height:var(--row-height-sp,26px); border-radius:4px; }
 .sv-channel-table thead th { padding-bottom:4px; font-size:10px; line-height:10px; }
 .sv-channel-table thead th > span { min-height:48px; border-radius:4px; }
 .sv-channel-table thead th:nth-child(1) > span, .sv-channel-table thead th:nth-child(2) > span { margin-right:2px; }
 .sv-channel-table thead th:nth-child(3) > span { margin-right:8px; }
 .sv-channel-table .sv-package-label { padding-bottom:4px; }
 .sv-channel-table .sv-package-label > span, .sv-channel-table .sv-package > span { min-height:22px; }
 .sv-channel-table .sv-package--enjoy > span { margin-right:4px; }
 .sv-channel-table .sv-channel-number > span { font-size:12px; line-height:17px; margin-right:2px; overflow-wrap:anywhere; }
 .sv-channel-table .sv-channel-name > span { margin-right:8px; padding:6px 8px; font-size:12px; line-height:14px; }
 .sv-channel-table .sv-channel-name::after { width:1px; right:4px; }
 .sv-channel-table .sv-channel-status:nth-last-child(2) > span { margin-right:4px; }
 .sv-channel-table .sv-genre > span { inset:0 2px 4px 0; font-size:13px; line-height:16px; border-radius:4px; }
 .sv-channel-table .sv-channel-status i { font-size:12px; line-height:12px; }
 .sv-channel-table .sv-channel-status .sv-status--yes { width:12px; height:12px; font-size:9px; }
 .sv-channel-table tbody tr:last-child > * { padding-bottom:4px; }
 .sv-channel-table tbody:last-child tr:last-child > * { padding-bottom:0; }
 .sv-channel-table--optional thead th > span { min-height:32px; }
 .sv-channel-table--optional .sv-channel-number > span { font-size:12px; line-height:14px; }
 .sv-channel-table .sv-channel-price > span { font-size:12px; line-height:16px; }
}

/* Static end state for repeatable Figma comparison; production ignores the URL flag. */
.youtv-visual-review, .youtv-visual-review * { animation:none !important; transition:none !important; }
.youtv-visual-review .hero-wave-pen { stroke-dashoffset:.3; }
.youtv-visual-review .reveal-pending, .youtv-visual-review .is-revealing { opacity:1; transform:none; clip-path:none; }
.youtv-visual-review .mosaic-tile { opacity:1; transform:none; }
@media(max-width:767px){
 .sv-hero-image { height:100%; }
 .sv-hero::after { box-shadow:0 32px 0 #fff; }
 .sv-hero--mobile-art::before { display:none; }
 .sv-hero--mobile-art .sv-hero-image { object-fit:fill; }
}
.ribbon-drawing--mobile { display:none; }
@media(max-width:767px){
 .ribbon-drawing--desktop { display:none; }
 .ribbon-drawing--mobile { display:block; }
 .sv-ribbon--vector > .ribbon-drawing--mobile .ribbon-layout { transform:scale(var(--figma-sp-scale,1)); }
}
.sv-channel-name-mobile { display:none; }
.service-hikari-net .sv-about .sv-lead strong { color:inherit; }
@media(max-width:767px){
 .sv-channel-name-desktop { display:none; }
 .sv-channel-name-mobile { display:block; }
 .sv-channel-table .sv-channel-name > span { line-height:14px !important; }
 .sv-about > .sv-container > .sv-lead { margin-top:24px; }
 .sv-about > .sv-container > .sv-subtitle, .sv-premium > .sv-subtitle { max-width:264px; margin-inline:auto; }
 .sv-about > .sv-container > .sv-basic-channels { margin-top:24px; }
 .sv-about .sv-premium { margin-top:48px !important; }
 .service-hikari-net .sv-about > .sv-container > .sv-lead br:nth-of-type(2) { display:block; }
 .sv-flow p { line-height:25px !important; }
 .sv-anchor-nav ul { align-items:start; }
 .sv-anchor-nav a > span { line-height:17px !important; }
 .sv-anchor-nav a { min-height:38px; }
 .sv-table-legend { font-size:12px; line-height:18px; margin-block:24px 8px; }
 .sv-table-legend li + li { margin-top:8px; }
 .sv-table-legend + .sv-note { font-size:10px; line-height:15px; }
}
.sv-basic-channels li::before, .sv-camera-plans dd > span::before { content:''; background-image:url('../icons/check-mark.svg'); background-size:100% 100%; }
.sv-channel-table .sv-channel-status .sv-status--yes { font-size:0; background-image:url('../icons/check-mark.svg'); background-size:100% 100%; }
@media(min-width:390px) and (max-width:767px){.sv-table-scroll::before { display:none; }}
.sv-channel-table .sv-channel-status .sv-status--stb { width:18px; height:18px; font-size:0; background:url('../icons/channel-triangle.svg') center/contain no-repeat; }
.sv-channel-table .sv-channel-status .sv-status--option { width:18px; height:18px; font-size:0; background:#1476dd; }
.sv-channel-table .sv-channel-status .sv-status--no { width:12px; height:1.5px; font-size:0; background:#666; }
@media(max-width:767px){
 .sv-channel-table .sv-channel-status .sv-status--stb, .sv-channel-table .sv-channel-status .sv-status--option { width:12px; height:12px; }
.sv-channel-table .sv-channel-status .sv-status--no { width:8px; height:1px; }
}

/* Recruitment landing, measured against the supplied PC and SP frames. */
.lp-mobile-break, .lp-recruit-breadcrumb { display:none; }
.sv-sp-break { display:none; }
.lp-recruit-mosaic--mobile { display:none; }
.lp-recruit-intro { --lp-next-color:#fff; }
.lp-recruit-intro-row:first-child > p { text-align:center; }
.lp-recruit-breadcrumb { display:block; position:static; color:#fff; margin-top:8px; }
.lp-recruit-breadcrumb a, .lp-recruit-breadcrumb li + li::before { color:#fff; }
.lp-recruit-videos { position:relative; padding:100px 0; }
.lp-recruit-videos > .lp-container { display:flex; justify-content:center; gap:40px; }
.lp-recruit-video { display:grid; place-items:center; width:337px; height:600px; flex:none; border-radius:10px; background:#d9d9d9; }
.lp-recruit-video img { width:84.96px; height:81.774px; }
.lp-recruit-numbers { position:relative; padding:80px 0; color:#fff; background:url('../pages/fidelity-numbers-bg.svg') center/100% 100% no-repeat; }
.lp-recruit-numbers .lp-heading > p { color:#fff; }
.lp-recruit-numbers .lp-heading { margin-bottom:32px; }
.lp-recruit-number-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.lp-recruit-number { aspect-ratio:1; background:#fff; border-radius:10px; box-shadow:0 0 16px #00000014; }
.lp-explore--landing.sv-section { background:#eef6fa; }
.lp-explore-card > span > .icon { width:40px; height:40px; }
@media(min-width:1200px){
 .lp-page--recruit .lp-heading > p { font-size:20px; line-height:20px; margin-bottom:16px; }
 .lp-page--recruit .lp-heading h2 { font-size:56px; line-height:56px; }
 .lp-page--recruit .lp-entry-cta .lp-heading > p { margin-bottom:8px; }
 .lp-page--recruit .lp-entry-cta .lp-heading h2 { line-height:84px; }
 .lp-recruit-hero .lp-entry-option, .lp-entry-cta .lp-entry-option { width:306px; }
 .lp-entry-buttons .pill { min-width:0; width:100%; gap:16px; }
 .lp-recruit-catch h2 > span { padding:0 0 0 16px; white-space:nowrap; }
 .lp-recruit-intro-row:first-child > p { white-space:nowrap; }
 .lp-recruit-intro-row--reverse > img { object-position:bottom; }
 .lp-recruit-intro { padding-bottom:100px; }
 .lp-recruit-intro-row--reverse h2 { line-height:37.5px; }
 .lp-recruit-numbers { min-height:1074px; }
 .lp-recruit-number { height:379px; }
 .lp-page--recruit .lp-recruit-numbers .lp-heading > p { font-size:24px; line-height:24px; margin-bottom:8px; }
 .lp-page--recruit .lp-recruit-numbers .lp-heading h2 { font-size:40px; line-height:60px; }
 .lp-explore--landing.sv-section { padding:80px 0 100px; }
}

.sv-tieup { margin-top:80px !important; }
.sv-tieup > .sv-subtitle { color:#00a0e9; font-size:32px; line-height:48px; letter-spacing:.1em; }
.sv-tieup-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:48px; }
.sv-tieup-card { position:relative; padding-top:40px; }
.sv-tieup-card > h4 { position:absolute; z-index:1; top:0; left:50%; transform:translateX(-50%); min-width:240px; padding:10px 24px; border-radius:8px; background:#1476dd; color:#fff; font-size:24px; line-height:36px; text-align:center; letter-spacing:0; }
.sv-tieup-card > h4::after { content:''; position:absolute; top:100%; left:calc(50% - 6px); border-inline:6px solid transparent; border-top:8px solid #1476dd; }
.sv-tieup-body { border-radius:16px; padding-top:48px; background:#fff; box-shadow:0 0 8px #00000029; overflow:hidden; }
.sv-tieup-body > p { padding-inline:0; text-align:center; line-height:32px; }
.sv-tieup-times > p { text-align:center; font-size:18px; line-height:29px; letter-spacing:.1em; }
.sv-tieup-times ul { display:flex; justify-content:center; gap:16px; padding:0; margin:8px 0 0; list-style:none; font:600 24px/29px var(--font-en); letter-spacing:.05em; color:#1476dd; }
.sv-tieup-times li + li { border-left:2px solid #1476dd; padding-left:16px; }
.sv-tieup-fee { margin-top:24px; padding:16px 0 24px; background:#e6f6fd; text-align:center; }
.sv-tieup-fee h5 { font-size:18px; line-height:22px; letter-spacing:.1em; }
.sv-tieup-fee p { display:flex; align-items:baseline; justify-content:center; gap:4px; color:#00a0e9; }
.sv-tieup-fee > p, .sv-tieup-fee > div { margin-top:16px; }
.sv-tieup-fee > div { display:flex; align-items:center; justify-content:center; gap:32px; }
.sv-tieup-fee strong { font:600 28px/28px var(--font-en); letter-spacing:.05em; }
.sv-tieup-fee span { font-size:16px; line-height:21px; }
.sv-tieup-fee small { margin-right:12px; padding:2px 12px; background:#00a0e9; color:#fff; border-radius:4px; font-size:16px; line-height:21px; }
@media(max-width:767px){
 .sv-tieup { margin-top:40px !important; }
 .sv-tieup > .sv-subtitle { font-size:20px; line-height:30px; }
 .sv-tieup-cards { grid-template-columns:1fr; gap:24px; margin-top:24px; }
 .sv-tieup-card { padding-top:20px; }
 .sv-tieup-card > h4 { min-width:180px; padding:8px 24px; font-size:18px; line-height:22px; }
 .sv-tieup-body { padding-top:40px; }
 .sv-tieup-body > p { padding-inline:20px; text-align:left; font-size:14px; line-height:25px; letter-spacing:.1em; }
 .sv-tieup-body > p br { display:none; }
 .sv-tieup-times { padding-inline:20px; }
 .sv-tieup-times > p { font-size:16px; line-height:26px; }
 .sv-tieup-times ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 0; width:218px; margin:8px auto 0; font-size:24px; line-height:29px; }
 .sv-tieup-times li { text-align:center; }
 .sv-tieup-times li:nth-child(3) { border:0; padding:0; }
 .sv-tieup-fee { margin-top:20px; padding:16px 0 24px; }
 .sv-tieup-fee h5 { font-size:16px; line-height:19px; }
 .sv-tieup-fee > p, .sv-tieup-fee > div { margin-top:8px; }
 .sv-tieup-fee > div { flex-direction:column; gap:8px; }
 .sv-tieup-fee small { margin-right:4px; padding:4px 12px; }
 .service-tv-ad .sv-area > .sv-container { display:flex; flex-direction:column; }
 .service-tv-ad .sv-area .sv-heading { order:0; }
 .service-tv-ad .sv-area .sv-diagram { order:1; padding:20px; }
 .service-tv-ad .sv-area .sv-lead { order:2; text-align:left; }
}
@media(max-width:767px){
 .lp-mobile-break { display:block; }
 .sv-anchor-nav a { border:1px solid #fff; }
 .recruit-ribbon-layer { transform:scale(calc(var(--figma-sp-scale,1) * 390 / 823)); }
 .lp-recruit-hero { height:692px; display:block; }
 .lp-recruit-hero-copy { padding-top:96px; }
 .lp-recruit-title > p { font-size:16px; line-height:16px; margin-bottom:8px; }
 .lp-recruit-title h1 { font-size:28px; line-height:42px; }
 .lp-recruit-breadcrumb { display:block; position:static; color:#fff; margin-top:8px; font-size:12px; line-height:12px; }
 .lp-recruit-breadcrumb a, .lp-recruit-breadcrumb li + li::before { color:#fff; }
 .lp-recruit-catch { margin:32px 0 64px; max-width:332px; }
 .lp-recruit-catch h2 { font-size:24px; line-height:36px; letter-spacing:.04em; }
 .lp-recruit-catch h2 > span { padding:0 0 0 8px; white-space:nowrap; }
 .lp-recruit-catch h2 > span + span { margin-top:8px; }
 .lp-recruit-catch > p { max-width:none; margin-top:8px; font-size:17px; line-height:25.5px; letter-spacing:.04em; }
 .lp-recruit-mosaic { position:absolute; left:20px; top:-92px; width:545.81px; height:546.81px; transform:none; margin:0; }
 .lp-recruit-mosaic .mosaic-original { display:block; }
 .lp-recruit-mosaic .mosaic-wide { display:none; }
 .lp-recruit-mosaic:not(.lp-recruit-mosaic--mobile) { display:none; }
 .lp-recruit-mosaic.lp-recruit-mosaic--mobile { display:block; inset:0 auto auto 0; width:100%; height:auto; aspect-ratio:390/692; }
 .lp-entry-buttons { flex-direction:column; gap:24px; width:100%; }
 .lp-entry-option { width:100%; max-width:none; gap:8px; }
 .lp-entry-option > p { width:100%; font-size:16px; line-height:24px; letter-spacing:.04em; }
 .lp-entry-buttons .pill { height:60px; min-height:60px; max-width:none; width:100%; padding:12px 16px 12px 32px; font-size:18px; }
 .lp-entry-buttons .pill .icon { width:36px; height:36px; }
 .lp-recruit-intro { padding:0 0 80px; }
 .lp-recruit-intro::after { height:80px; mask:none; background:url('../pages/fidelity-intro-curve-sp.svg') center/100% 100%; }
 .lp-recruit-intro-row, .lp-recruit-intro-row--reverse { flex-direction:column-reverse; gap:16px; }
 .lp-recruit-intro-row + .lp-recruit-intro-row { margin-top:40px; }
 .lp-recruit-intro-row > img { width:100%; height:auto; aspect-ratio:350/187.835; }
 .lp-recruit-intro-row--reverse > img { aspect-ratio:350/188; }
 .lp-recruit-intro-row--reverse > img { object-position:bottom; }
 .lp-recruit-intro-row > p { font-size:18px; line-height:27px; letter-spacing:.04em; }
 .lp-recruit-intro-row--reverse > div { text-align:center; }
 .lp-recruit-intro-row--reverse h2 { font-size:18px; line-height:27px; margin-bottom:8px; letter-spacing:.04em; }
 .lp-recruit-intro-row--reverse p { font-size:14px; line-height:21px; letter-spacing:.04em; }
 .lp-recruit-videos { padding:80px 20px; }
 .lp-recruit-videos > .lp-container { width:100%; flex-direction:column; align-items:center; gap:32px; }
 .lp-recruit-video { width:min(100%,337px); height:auto; aspect-ratio:337/600; }
 .lp-recruit-numbers { padding:80px 0 40px; background:linear-gradient(122deg,#1ea2e8 0%,#0e7bca 26.135%); }
 .lp-recruit-numbers::after { content:''; position:absolute; inset:auto 0 0; height:93px; background:url('../pages/fidelity-numbers-curve-sp.svg') center/100% 100%; }
 .lp-recruit-numbers > .lp-container { z-index:1; }
 .lp-recruit-numbers .lp-heading { margin-bottom:40px; }
 .lp-recruit-number-cards { grid-template-columns:1fr; gap:32px; }
 .lp-page--recruit .lp-heading > p, .lp-entry-cta .lp-heading > p { font-size:16px; line-height:16px; margin-bottom:16px; }
 .lp-page--recruit .lp-heading h2, .lp-page .lp-entry-cta .lp-heading h2 { font-size:28px; line-height:28px; letter-spacing:.1em; }
 .lp-explore, .lp-explore--landing.sv-section { padding:80px 0; }
 .lp-explore .lp-heading { margin-bottom:40px; }
 .lp-explore-cards { gap:24px; }
 .lp-explore-card { width:100%; height:auto; padding:32px 24px 16px; gap:24px; }
 .lp-explore-card > img { width:100%; height:auto; aspect-ratio:302/201; padding:0; object-fit:cover; }
 .lp-explore-card > span { padding:0; font-size:24px; line-height:36px; letter-spacing:.04em; }
 .lp-entry-cta { --entry-curve:120px; padding:40px 0 120px; }
 .lp-entry-cta .lp-heading { margin-bottom:40px; }
 .lp-page .lp-entry-cta + .sv-contact { margin-top:-120px; padding-top:120px; }
 .lp-ribbon-decoration > .ribbon-drawing--mobile .ribbon-layout { transform:scale(var(--figma-sp-scale,1)); }
}

@media(max-width:767px){
 .sv-strength-section { padding:40px 0; }
 .sv-strength-section::after { display:none; }
 .sv-strength-section > .sv-container > .sv-strengths { margin-top:40px; }
 .sv-strengths { gap:16px; }
 .sv-strengths article { gap:16px; padding:24px 21px; min-height:0; }
 .sv-strengths .sv-sprite { width:160px !important; height:100px; flex:none; }
 .sv-strengths article p, .sv-strengths article:nth-child(2) p { flex:none; font-size:16px; line-height:24px; letter-spacing:.02em; text-align:left; }
 .sv-strengths p br { display:none; }
 .sv-strengths article:nth-child(2) p > br { display:block; }
 .sv-strengths .sv-number { width:72px; height:72px; padding:14px; }
 .sv-creative-price { padding:40px 0; }
 .sv-creative-price > .sv-container > :not(:first-child) { margin-top:24px; }
 .sv-creative-price .sv-lead, .sv-creative-price .sv-note { text-align:left; font-size:14px; line-height:28px; }
 .sv-prices { gap:16px; }
 .sv-creative-price .sv-price h4 { font-size:20px; line-height:26px; padding:12px 0; border-radius:16px 16px 0 0; }
 .sv-creative-price .sv-price { border-radius:16px; }
 .sv-creative-price .sv-price > div { padding:20px; }
 .sv-creative-price .sv-price-amount { height:32px; line-height:32px; gap:4px; }
 .sv-creative-price .sv-price-amount strong { font-size:32px; line-height:32px; letter-spacing:.05em; }
 .sv-creative-price .sv-price-amount > span { font-size:16px; line-height:21px; margin-bottom:2px; align-self:flex-end; }
 .sv-creative-price .sv-price > div > p + p { margin-top:12px; font-size:14px; line-height:28px; }
 .sv-creative-price .sv-price > div > p + p br { display:none; }
 .sv-creative-price .sv-price:nth-child(2) > div > p + p br:first-child { display:block; }
 .sv-works-section { padding-block:80px; }
 .sv-creative-price .sv-price { border-top:0; }
 .sv-works-section > .sv-container > .sv-works-grid { margin-top:48px; }
 .sv-works-grid { gap:24px; }
 .sv-work-media { aspect-ratio:580/326; border-radius:4.828px; }
 .sv-work-media .sv-play { width:96.515px; left:calc(50% - 48.2575px); }
 .sv-work-copy { border-left-width:4px; padding:4px 0 4px 20px; margin-top:12px; }
 .sv-work-copy p { gap:12px; margin-bottom:4px; }
 .sv-work-client { font-size:12px; line-height:18px; letter-spacing:.05em; }
 .sv-work-plan { font-size:12px; line-height:16px; padding:4px 12px; }
 .sv-work-copy h3 { font-size:14px; line-height:21px; letter-spacing:.04em; }
 .sv-other-work-block > .sv-underlined { border:0; padding:0; margin:0 auto 16px !important; font-size:20px; line-height:30px; }
 .sv-other-works { width:100%; font-size:13px; line-height:18px; letter-spacing:.04em; }
 .sv-other-works li { padding-left:26px; line-height:18px; }
 .sv-other-works li + li { margin-top:8px; }
 .sv-other-works li::before { top:0; width:18px; height:18px; }
 .sv-works-section > .sv-container > .sv-divider { margin-block:48px !important; }
 .sv-drone > .sv-subtitle { font-size:20px; line-height:30px; letter-spacing:.1em; }
 .sv-drone > .sv-lead { font-size:14px; line-height:28px; margin-block:24px; text-align:left; }
 .sv-drone .sv-work-copy { padding-block:0; }
 .sv-drone .sv-work-copy p { margin-bottom:0; }
 .service-tv-ad .sv-strengths article p { font-size:16px; line-height:24px; text-align:center; }
 .service-tv-ad .sv-strengths article:first-child p { font-size:14px; line-height:21px; }
 .service-tv-ad .sv-strengths article:nth-child(2) p > br { display:none; }
 .service-tv-ad .sv-area { padding:80px 0 40px; }
 .service-tv-ad .sv-area > .sv-container > :not(:first-child) { margin-top:24px; }
}

@media(max-width:767px){
 .service-starlink .sv-intro { padding-block:40px; }
 .service-starlink .sv-intro::after { display:none; }
 .service-starlink .sv-intro-pair { margin-top:40px !important; gap:24px; }
 .service-starlink .sv-intro-pair > div > p:first-child { font-size:14px; line-height:28px; letter-spacing:.05em; }
 .service-starlink .sv-intro .sv-note { margin-top:12px; font-size:11px; line-height:22px; letter-spacing:.1em; }
 .service-starlink .sv-intro-illustration { width:320px; height:218px; object-fit:cover; }
 .sv-usecase-section { padding-block:80px; }
 .sv-usecase-section > .sv-container > .sv-usecases { margin-top:40px; }
 .sv-usecases { padding:0; gap:24px; }
 .sv-usecases article { padding:22px 0 0; box-shadow:none; background:transparent; }
 .sv-usecases article > h3 { top:0; width:240px; min-height:40px; padding:8px 24px; font-size:16px; line-height:24px; letter-spacing:0; z-index:1; }
 .sv-usecases article > h3::after { content:''; position:absolute; left:calc(50% - 6px); top:100%; border-inline:6px solid transparent; border-top:8px solid var(--case-color); }
 .sv-usecases article:nth-child(3) { padding-top:40px; }
 .sv-usecases h3 small { line-height:18px; font-size:10px; white-space:nowrap; }
 .sv-usecases article > div { padding:40px 20px 20px; gap:16px; border-radius:16px; background:#fff; box-shadow:0 0 8px #00000014; }
 .sv-usecases figure > span:not(.sv-sprite) { display:block; font-size:12px; line-height:12px; letter-spacing:.05em; }
 .sv-usecases figure > .sv-sprite { width:120px !important; height:62.609px; margin:8px auto; }
 .sv-usecases figcaption { font-size:14px; line-height:18px; letter-spacing:.05em; }
 .sv-spec-section { padding:40px 0 80px; }
 .sv-spec-section > .sv-container > .sv-spec-grid { margin-top:40px; }
 .sv-spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .sv-spec-grid article:first-child { grid-column:1/-1; }
 .sv-spec-grid article { border:0; box-shadow:inset 0 0 0 1px #ddd; border-radius:16px; }
 .sv-spec-grid h3 { font-size:20px; line-height:26px; letter-spacing:.1em; padding:12px 0; }
 .sv-spec-grid article > div { padding:4px 12px 21px; }
 .sv-spec-grid article:first-child > div { padding:0 20px 21px; }
 .sv-spec-grid article .sv-sprite { width:80px !important; }
 .sv-spec-grid article:first-child .sv-sprite { width:100px !important; }
 .sv-spec-grid .sv-spec-speed { display:grid; grid-template-columns:max-content max-content; gap:0 4px; }
 .sv-spec-grid .sv-spec-speed > span, .sv-spec-grid .sv-spec-speed > small { grid-column:1/-1; }
 .sv-spec-grid .sv-spec-speed > span { font-size:16px; line-height:21px; margin-bottom:8px; }
 .sv-spec-grid .sv-spec-speed b { line-height:28px; }
 .sv-spec-unit { align-self:end; padding-bottom:2px; font:16px/21px var(--font-en); }
 .sv-spec-grid .sv-spec-speed > small { font-size:12px; line-height:16px; margin-top:8px; }
 .sv-spec-grid .sv-spec-speed + .sv-spec-speed { margin-top:0; }
 .sv-spec-grid article:not(:first-child) p { margin-top:4px; line-height:26px; }
 .sv-spec-grid article:not(:first-child) p b { font-size:32px; line-height:32px; }
 .sv-spec-grid article:not(:first-child) p small { font-size:12px; line-height:17px; margin-top:4px; }
 .sv-kit { padding:80px 0; }
 .sv-kit .sv-heading h2 { max-width:230px; margin:8px auto 0; line-height:34px; }
 .sv-kit > .sv-container > .sv-kit-panel { margin-top:40px; }
 .sv-kit-panel { padding:20px; }
 .sv-kit table, .sv-kit tbody, .sv-kit tr, .sv-kit th, .sv-kit td { display:block; width:100%; }
 .sv-kit th, .sv-kit td { border:0; box-shadow:none; font-size:14px; line-height:22px; letter-spacing:.08em; }
 .sv-kit th { padding:20px 12px 0; }
 .sv-kit tr:first-child th { padding-top:0; }
 .sv-kit td { position:relative; padding:4px 12px 20px; border-bottom:2px solid #dedede; font-weight:500; }
 .sv-kit td::after { content:''; position:absolute; width:80px; height:2px; left:0; bottom:-2px; background:#00a0e9; }
 .sv-kit .sv-note { margin-top:20px; font-size:12px; line-height:24px; }
 .sv-faq-section { padding:40px 0 80px; }
 .sv-faq-section > .sv-container > .sv-faq { margin-top:40px; }
 .sv-faq details { margin-bottom:32px; background:transparent; }
 .sv-faq details:last-child { margin-bottom:0; }
 .sv-faq summary { padding:16px 8px 16px 16px; gap:12px; font-size:14px; line-height:20px; border-radius:10px 10px 0 0; }
 .sv-faq summary img { width:32px; height:32px; }
 .sv-qa-mark { width:32px; height:32px; flex-basis:32px; font-size:20px; line-height:20px; padding-bottom:2px; }
 .sv-faq details > div { margin-top:4px; padding:16px; gap:12px; background:#fff; border-radius:0 0 10px 10px; }
 .sv-faq details > div p { font-size:14px; line-height:25px !important; letter-spacing:0; text-align:justify; font-weight:500; }
 .service-starlink .sv-intro sup, .sv-kit sup { position:relative; top:-.3em; vertical-align:baseline; line-height:0; font-size:.65em; }
 .sv-usecases figcaption { line-height:18px !important; }
 .sv-usecases article:nth-child(3) { padding-top:22px; }
 .sv-usecases article:nth-child(3) > h3 { height:40px; min-height:0; display:flex; flex-direction:column; justify-content:center; gap:3px; padding:0; line-height:19px; }
 .sv-usecases h3 small { font-size:8px; line-height:10px; }
 .sv-spec-grid article:not(:first-child) h3 { font-size:16px; line-height:21px; }
 .sv-spec-grid article:not(:first-child) .sv-sprite { width:64px !important; }
 .sv-spec-grid article:nth-child(2) p { height:76px; display:flex; flex-direction:column; justify-content:center; gap:2px; }
 .sv-spec-grid article:nth-child(2) p b { font-size:24px; line-height:24px; }
 .sv-spec-grid article:nth-child(2) p > span { font-size:14px; line-height:18px; }
 .sv-spec-grid article:nth-child(3) p > span { line-height:18px; }
 .sv-spec-grid article:nth-child(3) p b { font-size:18px; line-height:18px; white-space:nowrap; }
 .sv-spec-grid article:nth-child(3) p small { font-size:14px; line-height:18px; letter-spacing:.05em; }
 .sv-spec-grid .sv-spec-speed b { line-height:28px !important; }
 .sv-kit th, .sv-kit td { line-height:22px !important; }
 .sv-kit td { border:0; box-shadow:inset 0 -2px #dedede; }
 .sv-kit td::after { bottom:0; }
 .service-giga-share .sv-intro { padding:40px 0; }
 .service-giga-share .sv-intro::after { display:none; }
 .service-giga-share .sv-intro-pair { gap:8px; margin-top:0; }
 .service-giga-share .sv-intro-pair .sv-heading { text-align:center; }
 .service-giga-share .sv-intro-pair .sv-heading h2 { margin-top:4px; }
 .service-giga-share .sv-intro-illustration { width:320px; height:218.262px; }
 .service-giga-share .sv-intro-pair > div > p { font-size:14px; line-height:28px; letter-spacing:.1em; }
 .service-giga-share .sv-switch-notice { margin-top:40px; }
 .sv-switch-notice > img { height:220px; }
 .sv-switch-notice > div { padding:16px 24px 24px; }
 .sv-switch-notice p { font-size:14px; line-height:28px; letter-spacing:.1em; }
 .sv-switch-notice p + p { margin-top:0; }
 .sv-switch-notice .pill { width:100%; height:60px; margin-top:12px; padding:12px 16px 12px 40px; gap:16px; }
 .sv-switch-notice .icon { width:36px; height:36px; }
 .service-giga-share .sv-intro-note { margin-top:16px !important; }
 .service-giga-share .sv-owner { padding-top:40px; }
 .service-giga-share .sv-owner .sv-benefit h3 { line-height:23px !important; }
}

@media(max-width:767px){
 .sv-camera-intro { padding:40px 0; }
 .sv-camera-intro::after { display:none; }
 .sv-camera-intro > .sv-container > .sv-camera-features { margin-top:40px; }
 .sv-camera-features { --feature-stroke:3px; padding:0 24px; }
 .sv-camera-feature { flex-direction:column; align-items:stretch; gap:16px; padding:43px 0 43px 23px; }
 .sv-camera-feature:first-child { padding-top:0; }
 .sv-camera-feature:nth-child(even) { padding:43px 23px 43px 0; }
 .sv-camera-feature:last-child { padding-bottom:0; }
 .sv-camera-feature > .sv-sprite { width:278px !important; max-width:100%; align-self:center; }
 .sv-feature-copy h3 { font-size:20px; line-height:30px; letter-spacing:.1em; margin-bottom:16px; }
 .sv-feature-copy p { font-size:14px; line-height:28px; letter-spacing:.05em; }
 .sv-feature-copy .sv-note { margin-top:16px; font-size:11px; line-height:22px; }
 .sv-feature-tab { left:-24px; width:24px; padding:16px 7px; font-size:10px; line-height:10px; letter-spacing:.05em; }
 .sv-camera-feature:nth-child(even) .sv-feature-tab { right:-24px; }
 .sv-camera-feature:not(:first-child) .sv-feature-tab { top:24px; }
 .sv-camera-intro + .sv-anchor-nav { padding:40px 20px; }
 .sv-camera-intro + .sv-anchor-nav ul { grid-template-columns:1fr; gap:8px; }
 .sv-camera-intro + .sv-anchor-nav a { padding:16px; height:54px; }
 .sv-camera-audiences { padding:64px 0 80px; }
 .sv-camera-audience + .sv-camera-audience { margin-top:80px !important; }
 .sv-camera-audience .sv-heading { position:relative; z-index:1; }
 .sv-camera-audience .sv-heading p { font-size:14px; line-height:14px; }
 .sv-camera-audience .sv-heading h2 { max-width:300px; margin:8px auto 0; font-size:24px; line-height:29px; letter-spacing:.1em; }
 .sv-sp-break { display:block; }
 .sv-camera-audience .sv-white-panel { margin-top:-40px; padding:64px 20px 40px; border-radius:16px; }
 .sv-camera-audience .sv-underlined { border:0; box-shadow:none; border-bottom:4px dotted #87c7d1; font-size:16px; line-height:24px; padding:0 16px 8px; margin:40px auto 24px !important; }
 .sv-camera-audience .sv-white-panel > .sv-underlined:first-child { margin-top:0 !important; }
 .sv-camera-cases { gap:24px; }
 .sv-camera-cases figure > span { position:absolute; z-index:1; top:0; left:50%; transform:translateX(-50%); border-radius:0 0 8px 8px; padding:8px 24px; font-size:14px; line-height:14px; letter-spacing:.05em; white-space:nowrap; }
 .sv-camera-audience:first-child .sv-camera-cases figure > span { background:#eb9919; }
 .sv-camera-cases img { width:100%; height:auto; aspect-ratio:360/200; }
 .sv-camera-cases figcaption { margin-top:12px; padding:0; border:0; font-size:14px; line-height:21px; letter-spacing:.05em; text-align:center; }
 .sv-camera-cases figcaption br { display:none; }
 .sv-camera-audience:first-child .sv-camera-cases strong { display:block; background:none; color:#eb9919; }
 .sv-camera-cases figcaption small { font-size:14px; }
 .sv-camera-plans > div { display:block; padding:16px 20px 20px; border-radius:16px; }
 .sv-camera-plans dt { font-size:14px; line-height:17px; letter-spacing:.1em; margin-bottom:12px; }
 .sv-camera-plans dd { font-size:13px; line-height:18px; letter-spacing:.04em; }
 .sv-camera-plans dd > span { padding-left:26px; }
 .sv-camera-plans dd > span::before { width:18px; height:18px; top:0; }
 .sv-camera-plans > div + div { margin-top:16px; }
 .service-security-camera .sv-flow--four h3 { justify-content:flex-start; flex-wrap:wrap; }
}

/* Media exposure: native cards match the separate PC / SP component geometry. */
.sv-tieup-fee h5 { margin:0; }
@media(max-width:767px){
 .sv-menu { padding-block:80px; }
 .sv-menu > .sv-container > .sv-subtitle { margin-top:40px !important; font-size:20px; line-height:30px; }
 .sv-menu > .sv-container > .sv-lead { margin-top:24px !important; }
 .sv-menu > .sv-container > .sv-lead br { display:none; }
 .sv-menu > .sv-container > .sv-small-heading { position:relative; isolation:isolate; background:none; min-width:0; font-size:16px; line-height:24px; padding:2px 24px 13px; margin:24px auto 12px !important; }
 .sv-menu .sv-small-heading::before { content:''; position:absolute; z-index:-1; inset:0 0 9px; border-radius:100px; background:#1476dd; }
 .sv-menu .sv-small-heading::after { content:''; position:absolute; top:30px; left:calc(50% - 6px); border-inline:6px solid transparent; border-top:9px solid #1476dd; }
 .sv-menu .sv-program-grid--four { gap:24px 18px; margin-top:12px; }
 .sv-menu .sv-program-grid--four img { aspect-ratio:360/200; border-radius:6px; }
 .sv-menu .sv-program-grid--four figure:last-child img { object-fit:contain; background:#493006; }
 .sv-menu .sv-program-grid--four figcaption { font-size:14px; line-height:21px; margin-top:8px; letter-spacing:.05em; }
 .sv-menu .sv-small-heading + .sv-prices { margin-top:12px; }
 .sv-menu .sv-prices { gap:16px; }
 .sv-menu .sv-price { border:0; border-radius:16px; box-shadow:inset 0 0 0 1px #00000029; }
 .sv-menu .sv-price h4 { padding:8px 0; font-size:18px; line-height:23px; letter-spacing:.1em; }
 .sv-menu .sv-price > div { padding:20px; }
 .sv-menu .sv-price-amount { align-items:center; gap:4px; height:30px; }
 .sv-menu .sv-price-amount strong { font-size:28px; line-height:28px; letter-spacing:.05em; }
 .sv-menu .sv-price-amount span { font-size:16px; line-height:21px; align-self:flex-end; margin-bottom:2px; }
 .sv-menu .sv-price-amount small { border:0; padding:4px 12px; background:var(--price-color); color:#fff; line-height:21px; margin-right:4px; }
 .sv-menu .sv-price { --price-color:#eb9919; }
 .sv-menu .sv-price:nth-child(2) { --price-color:#00a0e9; }
 .sv-menu .sv-price:nth-child(3) { --price-color:#1476dd; }
 .sv-menu .sv-prices--four .sv-price:nth-child(1) { --price-color:#ffb400; }
 .sv-menu .sv-prices--four .sv-price:nth-child(2) { --price-color:#eb9919; }
 .sv-menu .sv-prices--four .sv-price:nth-child(3) { --price-color:#00a0e9; }
 .sv-menu .sv-prices--four .sv-price:nth-child(4) { --price-color:#1476dd; }
 .sv-menu .sv-divider { margin-block:40px !important; }
 .sv-tieup-fee > div p { height:29px; align-items:center; }
 .sv-tieup-fee > div p span { align-self:flex-end; margin-bottom:3px; }
 .sv-tieup-fee small { line-height:21px; }
}

@media(max-width:767px){
 .sv-menu > .sv-container > .sv-program-grid--four { margin-top:12px; }
 .sv-menu > .sv-container > .sv-subtitle { color:#00a0e9; }
 .sv-tieup-times li + li { border-left:2px dashed #c1dce6; }
 .sv-tieup-times li:nth-child(3) { border:0; }
}
.lp-table-list { display:block; }
.lp-table-list > span { display:block; padding-left:1.5em; position:relative; }
.lp-table-list > span::before { content:'•'; position:absolute; left:.4em; }
@media(max-width:767px){
 .lp-heading > p { font-size:16px; line-height:16px; margin-bottom:16px; }
 .lp-explore:not(.lp-explore--landing) { padding-top:40px; }
 .lp-company-mission { margin-top:-104px; height:778px; }
 .lp-company-city { top:0; left:calc(50% - 378px); width:1005px; min-width:0; height:980px; transform:none; }
 .lp-company-mission::after { height:499px; }
 .lp-company-mission-copy { inset:234px 20px auto; }
 .lp-company-mission-copy > p, .lp-company-vision-copy > p { font-size:16px; line-height:16px; margin-bottom:16px; }
 .lp-company-mission-copy h2, .lp-company-vision-copy h2 { font-size:26px; line-height:39px; letter-spacing:.1em; text-wrap:initial; }
 .lp-company-vision { height:600px; }
 .lp-company-vision-image { top:335px; left:calc(50% - 252px); width:472px; height:315px; }
 .lp-company-vision::before { inset:0 auto auto 0; width:610px; height:300px; background-size:100% 100%; mask:none; }
 .lp-company-vision::after { inset:337px 0 auto; height:122px; background:linear-gradient(180deg,#e6f7ff 13.304%,#e6f7ff00 71.16%); }
 .lp-company-vision-copy { top:80px; left:20px; right:20px; text-align:center; }
 .lp-company-vision-copy h2 > br:nth-child(2) { display:block; content:''; margin-top:16px; }
 .lp-company-message.sv-section { padding:80px 0 100px; }
 .lp-company-message .lp-heading > p { margin-bottom:16px; }
 .lp-company-message .lp-heading h2 { font-size:28px; letter-spacing:.1em; text-wrap:initial; text-align:left; }
 .lp-company-message .lp-heading h2 br { display:none; }
 .lp-company-message::after { height:80px; }
 .lp-signature strong { margin-left:8px; }
 .lp-company-profile { padding-block:80px 0; }
 .lp-company-profile .lp-heading { margin-bottom:40px; }
 .lp-company-profile .lp-table { display:block; border-radius:10px; }
 .lp-company-profile .lp-table tbody, .lp-company-profile .lp-table tr { display:block; }
 .lp-company-profile .lp-table th, .lp-company-profile .lp-table td { display:block; width:100%; }
 .lp-company-profile .lp-table th { padding:8px; }
 .lp-company-profile .lp-table td { padding:16px; }
 .lp-company-profile .lp-table tr + tr { border-top:2px solid #fff; }
 .lp-company-profile .lp-table tr + tr > * { border-top:0; }
}
.lp-company-vision-copy h2 > span { display:block; }
.lp-breadcrumb li + li::before { content:''; width:6px; height:6px; border-radius:50%; background:#00a0e9; flex-shrink:0; }
@media(max-width:767px){
 .lp-masthead-background { height:217.253px; mask-image:url('../pages/fidelity-masthead-sp.svg'); }
 .lp-breadcrumb li { gap:8px; }
 .lp-breadcrumb a, .lp-breadcrumb [aria-current] { padding:8px; line-height:12px; }
 .lp-breadcrumb li[aria-current] { padding-left:0; }
 .lp-breadcrumb [aria-current]::before { margin-right:8px; }
 .lp-company-city { max-width:none; }
 .lp-company-vision-copy h2 > span + span { margin-top:16px; }
}
.lp-map-link .icon, .lp-mascot .pill .icon { content:url('../pages/fidelity-external-link.svg'); transform:rotate(90deg); }
.lp-index-label::after { content:''; background:url('../pages/fidelity-anchor-section.svg') center/contain no-repeat; height:24px; vertical-align:middle; transform:rotate(180deg); }
.lp-index a span[aria-hidden] { font-size:0; background:url('../pages/fidelity-anchor-link.svg') center/contain no-repeat; transform:rotate(180deg); }
@media(max-width:767px){
 .lp-jobs { padding:40px 0 0; }
 .lp-index:not(.lp-index--entry) { margin-bottom:80px; }
 .lp-index:not(.lp-index--entry) > p { font-size:18px; line-height:18px; margin-bottom:24px; color:#7d7d7d; }
 .lp-index:not(.lp-index--entry) ul { display:grid; gap:24px; border:0; }
 .lp-index li { margin:0; padding:0; border:0; box-shadow:none; gap:8px; }
 .lp-index-label, .lp-index li > div > a { position:relative; border-radius:10px; font-size:14px; line-height:17px; padding:8px 56px 8px 16px; }
 .lp-index-label { border:1px solid #00a0e9; background:#eef6fa; }
 .lp-index-label::after { position:absolute; right:15px; top:calc(50% - 10px); width:20px; height:20px; margin:0; }
 .lp-index li > div > a { border:0; }
 .lp-index a span[aria-hidden] { position:absolute; right:16px; top:calc(50% - 10px); }
 .lp-job { margin-top:24px; }
 .lp-job-header { height:auto; min-height:158px; padding:24px 20px; }
 .lp-job-header h2 { font-size:20px; line-height:30px; padding:8px 24px; }
 .lp-job-header p { padding:0; text-align:left; font-size:16px; line-height:24px; letter-spacing:.04em; }
 .lp-job-header p br { display:none; }
 .lp-job-roles { border:0; }
 .lp-job-roles h3 { line-height:24px; }
 #sales .lp-job-header > img { content:url('../pages/fidelity-job-sales-sp.webp'); }
 #customer .lp-job-header > img { content:url('../pages/fidelity-job-customer-sp.webp'); }
 #technical .lp-job-header > img { content:url('../pages/fidelity-job-technical-sp.webp'); }
 #planning .lp-job-header > img { content:url('../pages/fidelity-job-planning-sp.webp'); }
 #management .lp-job-header > img { content:url('../pages/fidelity-job-management-sp.webp'); }
 .lp-jobs .lp-job-header > img { transform:none !important; object-position:center !important; }
 .lp-page--recruit-job .lp-recruit-business-content { padding-bottom:60px; --business-curve:93px; }
 .lp-area { padding-block:40px 0; }
 .lp-area .lp-heading { margin-bottom:40px; }
 .lp-area-lead { display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-size:16px; line-height:24px; text-align:left; margin-bottom:16px; color:#00a0e9; }
 .lp-area-desktop-break { display:none; }
 .lp-area-lead strong { padding-inline:4px; background:linear-gradient(transparent 75%,#f9e047 75%); }
 .lp-area > p:not(.lp-area-lead) { text-align:left; }
 .lp-area-map { width:100%; height:auto; aspect-ratio:350/198.3; object-fit:cover; margin-top:24px; }
 .lp-page--recruit-company .lp-recruit-gray { background:#fff; }
 .lp-area-map { content:url('../pages/fidelity-recruit-area-sp.webp'); }
 .lp-business { padding-top:80px; }
 .lp-business .lp-heading { margin-bottom:40px; }
 .lp-business-item h3 { height:45px; margin-bottom:16px; padding-bottom:8px; font-size:20px; line-height:30px; }
 .lp-business-item + .lp-business-item { margin-top:40px; }
 .lp-business-row { gap:16px; }
 .lp-business-row > img { aspect-ratio:350/269.23; }
 .lp-business-row .lp-text-link { display:flex; align-items:center; width:fit-content; gap:12px; margin-top:16px; padding:0 0 4px; }
 .lp-business-row .lp-text-link .icon { width:24px; height:24px; }
 .lp-page--recruit-company .lp-recruit-business-content { padding-bottom:100px; --business-curve:93px; }
 .lp-office-grid.lp-content { padding-bottom:0; gap:40px; }
 .lp-office { padding:82px 20px 32px; }
 .lp-office h2 { position:absolute; inset:0 0 auto; margin:0; font-size:28px; line-height:42px; padding:8px 20px; background:linear-gradient(90deg,#1ea2e8,#0e7bca); }
 .lp-office--studio { padding-top:110px; }
 .lp-office--studio h2 { font-size:20px; line-height:30px; }
 .lp-office--studio h2::first-line { font-size:28px; line-height:42px; }
 .lp-office address { line-height:28px; }
 .lp-office .lp-map-link { min-width:270px; min-height:58px; position:relative; font-size:16px; line-height:32px; padding:12px 68px 12px 32px; }
 .lp-office .lp-map-link .icon { width:28px; height:28px; position:absolute; right:16px; }
 .lp-office-pictures { gap:24px; }
 .lp-office-map { aspect-ratio:310/238; }
 .lp-office--studio .lp-office-pictures .lp-studio-image { height:auto; aspect-ratio:310/233; object-fit:contain; }
 .lp-office-grid + .sv-contact { margin-top:-40px; }
 .lp-studio-copy { margin-top:24px; }
 .lp-studio-copy h3 { font-size:16px; line-height:24px; margin:24px 0 16px; }
 .lp-studio-copy h3:first-child { margin-top:0; }
 .lp-studio-copy small { display:block; font-size:14px; line-height:28px; margin-top:16px; color:#7d7d7d; }
 .lp-studio-roles { gap:16px; }
 .lp-studio-roles h4 { font-size:14px; font-weight:500; line-height:14px; width:fit-content; border-radius:100px; padding:6px 12px; background:#fff; }
 .lp-community-intro.sv-section { padding:40px 0 80px; }
 .lp-community-intro .lp-heading h2 { text-align:left; }
 .lp-community-activities { padding:80px 0 0; }
 .lp-community-activity { gap:16px; }
 .lp-community-lead, .lp-community-activity:last-child .lp-community-lead { font-size:16px; line-height:24px; }
 .lp-community-activities::after { display:none; }
 .lp-mascot.sv-section { padding:173px 20px 40px; }
 .lp-mascot-content { gap:32px; }
 .lp-mascot-content > img { width:150px; height:193px; }
 .lp-mascot-content p { font-size:18px; line-height:27px; margin-bottom:24px; }
}
.lp-interviews > .lp-container { max-width:1000px; }
.lp-interviews { padding:0; background:linear-gradient(90deg,#1ea2e8,#0e7bca); }
.lp-interview { padding-block:80px; }
.lp-interview + .lp-interview { margin-top:0; }
.lp-interview:last-child { padding-bottom:100px; }
.lp-interview-catch span { padding-inline:4px; }
.lp-interview-meta { height:62px; }
.lp-interview-meta h3 { font-size:20px; line-height:30px; margin-bottom:4px; }
.lp-interview-meta > p { font-size:16px; line-height:32px; }
.lp-interview-body { display:grid; grid-template-columns:337px minmax(0,1fr); gap:56px; margin-top:40px; }
.lp-interview-body--text-only { grid-template-columns:minmax(0,1fr); }
.lp-interview-video { position:relative; width:337px; height:600px; overflow:hidden; border-radius:10px; }
.lp-interview-video > div > img:first-child, .lp-interview-video video { width:100%; height:600px; object-fit:cover; }
.lp-interview-video > div::after { content:''; position:absolute; inset:0; background:#b3b2b2; mix-blend-mode:multiply; }
.lp-interview-video .lp-video-play { position:absolute; width:135px; height:135px; top:233px; left:101px; z-index:1; }
.lp-interview-copy { margin:0; }
.lp-interview-copy h3 { padding-left:30px; margin:32px 0 8px; font-size:16px; line-height:32px; letter-spacing:.04em; }
.lp-interview-copy h3:first-child { margin-top:0; }
.lp-interview-copy h3::before { top:5px; width:22px; height:22px; padding:2px 5px 4px; border-radius:50%; background:#fff; color:#00a0e9; font:700 16px/16px var(--font-ja); }
.lp-interview-copy h4 { padding:0 8px; border-color:#fff; font-size:22px; line-height:33px; letter-spacing:.04em; margin-bottom:8px; }
.lp-timeline { margin-top:40px; }
.lp-timeline > h3 { font-size:20px; line-height:30px; margin-bottom:16px; }
.lp-timeline-scroll { max-width:100%; overflow-x:auto; }
.lp-timeline-graphic { display:block; width:1000px; max-width:none; height:auto; }
.lp-timeline ol.screen-reader-text { padding:0; }
@media(max-width:767px){
 .lp-index li:nth-child(1) { height:72.5px; grid-template-rows:1fr 1fr; }
 .lp-index li:nth-child(2) { height:88px; grid-template-rows:1fr 1fr; }
 .lp-index li:nth-child(3) { height:71px; grid-template-rows:1fr 1fr; }
 .lp-index li:nth-child(4), .lp-index li:nth-child(5) { height:112px; grid-template-rows:32px minmax(0,1fr); }
 .lp-index-label, .lp-index li > div > a { padding-block:0; display:flex; align-items:center; line-height:16.8px; }
 .lp-community-intro .lp-heading h2 br { display:none; }
 .lp-community-note > a { margin-top:8px; }
 .lp-community-activity:last-child { margin-bottom:0; }
 .lp-mascot-content p { font-weight:700; }
 .lp-mascot .lp-map-link { min-height:60px; position:relative; padding:12px 68px 12px 32px; font-size:16px; line-height:24px; gap:0; }
 .lp-mascot .lp-map-link .icon { width:36px; height:36px; position:absolute; right:16px; }
 .lp-people-photo { margin-top:-104px; height:304px; }
 .lp-people-photo img { height:637px; width:955px; max-width:none; position:absolute; left:calc(50% - 555px); top:-74px; object-position:center; }
 .lp-people-photo::after { top:0; bottom:auto; height:190px; opacity:.71; background:linear-gradient(177deg,#fff 37.06%,#fff0 91.011%); }
 .lp-ideals { padding:80px 0 60px; }
 .lp-ideals::after { height:93px; }
 .lp-ideals .lp-heading { margin-bottom:32px; }
 .lp-ideal-cards { gap:24px; }
 .lp-ideal { flex-direction:column; padding:16px; gap:8px; text-align:center; }
 .lp-ideal img { width:90px; height:90px; }
 .lp-ideal p { font-size:18px; line-height:27px; }
 .lp-people-index { padding-block:80px; }
 .lp-people-index .lp-heading { margin-bottom:40px; }
 .lp-person-card-label { padding:16px 60px 16px 24px; }
 .lp-person-card-label strong { font-size:14px; line-height:28px; display:block; }
 .lp-person-card-label p { font-size:14px; line-height:28px; margin-top:2px; white-space:nowrap; }
 .lp-person-card-label .icon { width:24px; height:24px; right:24px; top:33px; transform:rotate(90deg); }
 .lp-person-card-photo p { bottom:15.667px; left:0; }
 .lp-person-card-photo p span { padding-inline:4px; }
 .lp-interview-catch { font-size:24px; line-height:36px; }
 .lp-interview-catch span { display:table; }
 .lp-interview-catch span + span { margin-top:8px; }
 .lp-interview-meta h3 { font-size:16px; line-height:24px; margin-bottom:2px; }
 .lp-interview-meta > p { font-size:14px; line-height:28px; }
 .lp-interview-body { display:flex; flex-direction:column; gap:32px; margin-top:32px; }
 .lp-interview-video { max-width:100%; margin-inline:auto; }
 .lp-interview-copy h3 { font-size:14px; line-height:21px; padding-left:32px; }
 .lp-interview-copy h3::before { top:0; }
 .lp-interview-copy h4 { font-size:18px; line-height:27px; text-wrap:initial; }
 .lp-timeline { margin-top:32px; }
 .lp-timeline > h3 { font-size:18px; line-height:27px; margin-bottom:32px; }
 .lp-timeline-scroll { width:100%; }
 .lp-interview { padding-bottom:80px; }
 .lp-interview:last-child { padding-bottom:80px; }
}
@media(max-width:359px){
 .lp-index li:nth-child(n) { height:auto; grid-template-rows:auto auto; }
 .lp-index-label, .lp-index li > div > a { min-height:34px; padding-block:8px; padding-right:36px; }
 .lp-person-card-label { padding-left:16px; }
 .lp-person-card-label p { white-space:normal; }
}
@media(max-width:767px){
 .lp-person-cards { gap:24px; }
 .lp-person-card-label .icon { width:36px; height:36px; top:27px; }
 .lp-community-activity:not(:nth-child(4)) .lp-community-lead { white-space:nowrap; }
 .lp-community-activity:nth-child(2) .lp-community-note p + p, .lp-community-activity:nth-child(3) .lp-community-note p + p { margin-top:8px; }
}
@media(max-width:374px){ .lp-community-activity:not(:nth-child(4)) .lp-community-lead { white-space:normal; } }
.lp-interview-catch > span:first-child { border:1px solid #fff; }
.lp-interview-catch > .lp-catch-mobile { display:none; }
@media(max-width:767px){
 .lp-interviews > .lp-container { width:calc(100% - 35px); }
 .lp-interview-catch > .lp-catch-desktop { display:none; }
 .lp-interview-catch > .lp-catch-mobile { display:table; }
 .lp-interview-catch > .lp-catch-mobile--first { margin-top:0; border:1px solid #fff; }
 .lp-interview-copy h3 { min-height:22px; }
 .lp-interview-copy h4 { border:0; box-shadow:inset 0 0 0 1px #fff; }
 .lp-interview:first-child { padding-bottom:52px; }
 .lp-interview:first-child .lp-timeline > h3 { margin-bottom:44px; }
 .lp-interview:last-child .lp-timeline > h3 { margin-bottom:16px; }
}

@media(max-width:767px){ .lp-interview-copy p { letter-spacing:.05em; } }
.lp-masthead-background .lp-hero-flow { height:48.8033vw; transform:rotate(180deg); }
@media(max-width:767px){
 .lp-community-activity, .lp-community-activity > div { min-width:0; }
 .lp-community-image { width:100%; }
 .lp-community-intro .lp-center { text-align:left; }
 .lp-company-vision::after { top:335px; }
 .lp-company-vision::before { transform:none; background-image:url('../pages/fidelity-company-vision-wave-sp.webp'); mask:linear-gradient(#000,transparent 256.75px); }
 .lp-masthead-background { background:transparent url('../pages/fidelity-masthead-sp.webp') 0 0 / 100% 100% no-repeat; }
 .lp-masthead-background > .lp-hero-flow { display:none; }
 .lp-interview-copy h3 { margin-bottom:16px; letter-spacing:.05em; padding-left:30px; }
 .lp-interview-copy h4 { border:1px solid #fff; box-shadow:none; }
}
/* Native form controls keep their semantics; the empty/selected visuals match Figma. */
.sv-table-legend li { position:relative; padding-left:19px; }
.sv-table-legend .sv-available, .sv-legend-icon { position:absolute; left:0; top:3px; display:block; width:12px; height:12px; font-size:0; }
.sv-table-legend .sv-available--yes { background:url('../icons/check-round.svg') center/contain no-repeat; }
.sv-legend-icon--option { background:#1476dd; }
.sv-legend-icon--stb { background:url('../icons/channel-triangle.svg') center/contain no-repeat; }
.sv-channel-table--optional-mobile { display:none; }
.sv-about:has(+ .sv-mechanism)::after { content:''; position:absolute; bottom:-1px; left:0; width:100%; height:160px; background:url('../services/2fc58dc47c1fdf629d7a213a5c0f7e4dcc057e61.svg') center/100% 100% no-repeat; pointer-events:none; }
@media(max-width:767px){
 .sv-about:has(+ .sv-mechanism)::after { height:80px; }
 .sv-channel-table--optional-desktop { display:none; }
 .sv-channel-table--optional-mobile { display:table; }
 .sv-table-scroll:has(.sv-channel-table--optional-desktop):not(:has(.sv-channel-table--optional-mobile)) { display:none; }
 .sv-table-legend { width:100%; letter-spacing:.1em; margin-bottom:6px; }
 .sv-table-legend .sv-available, .sv-table-legend .sv-legend-icon { width:18px; height:18px; top:0; }
 .sv-channel-toggle svg { stroke:#fff; background:#1476dd; border-radius:50%; padding:5px; }
 .sv-channel-table .sv-channel-number > span { overflow-wrap:normal; word-break:normal; line-height:12px; }
 .sv-channel-table .sv-channel-number--bs-set > span { font-size:10px; line-height:10px; }
 .sv-channel-table .sv-channel-number--sports-set > span { font-size:10px; line-height:14px; margin-inline:-1px; }
 .sv-channel-table .sv-channel-price > span { font-size:13px; }
 .sv-channel-table--optional .sv-channel-name > span { margin-right:10px; }
 .sv-channel-table .sv-genre > .sv-genre-community { font-size:7px; line-height:9px; }
 .sv-channel-table .sv-genre--community > span { font-size:7px; line-height:9px; }
 .service-giga-share .sv-intro > .sv-container > .sv-intro-pair { margin-top:0; }
 .service-giga-share .sv-intro > .sv-container > .sv-switch-notice { margin-top:40px; }
 .service-giga-share .sv-benefit h3 { align-self:center; }
 .sv-table-legend li + li { margin-top:6px; }
 .sv-table-legend + .sv-note { letter-spacing:.1em; }
 .sv-tv-owner { padding-top:40px; }
 .sv-tv-owner .sv-benefit h3 { width:calc(100% + 11px); align-self:center; }
 .sv-tv-owner .sv-benefit:nth-child(-n+2) h3 { font-size:16px; line-height:21px; }
 .sv-tv-owner .sv-benefit:nth-child(3) h3 { line-height:23px; }
 .sv-tv-owner .sv-benefit { grid-template-rows:minmax(64px,auto) auto; }
 .sv-feature-art { width:278px; max-width:100%; height:185px; }
 .sv-feature-art > img { width:278px; height:185px; object-fit:contain; }
 .sv-feature-copy .sv-note { font-size:12px; line-height:24px; letter-spacing:.1em; }
 .sv-feature-copy .sv-desktop-break { display:none; }
 .sv-camera-feature:nth-child(odd) .sv-feature-tab { transform:rotate(180deg); border-radius:0 8px 8px 0; }
 .sv-camera-intro + .sv-anchor-nav::before { content:''; position:absolute; top:0; left:0; width:100%; height:43.33px; background:url('../services/giga-intro-curve.svg') center/100% 100% no-repeat; pointer-events:none; }
 .sv-camera-intro + .sv-anchor-nav ul { position:relative; }
 .service-hikari-tv .sv-about .sv-lead strong { color:inherit; }
 .service-hikari-tv .sv-about .sv-lead br { display:initial; }
 .sv-drone > .sv-lead br { display:initial; }
 .sv-drone .sv-work-copy { padding-block:4px; }
 .sv-drone .sv-work-copy p { margin-bottom:4px; }
 .service-giga-share .sv-anchor-nav::before { content:''; position:absolute; top:0; left:0; width:100%; height:40px; background:url('../services/giga-intro-curve.svg') center/100% 100% no-repeat; pointer-events:none; }
 .service-giga-share .sv-anchor-nav ul { position:relative; }
 .sv-switch-notice { position:relative; }
 .sv-switch-notice::before { content:''; position:absolute; top:0; left:0; width:100%; height:220px; background:url('../services/fidelity-giga-notice-wave.svg') center/100% 100% no-repeat; pointer-events:none; }
}
.lp-form input[type="checkbox"] { appearance:none; border:2px solid #aaa; border-radius:3px; background:#fff; width:24px; height:24px; }
.lp-form input[type="checkbox"]:checked { border-color:#00a0e9; background:#fff url('../icons/form-check.svg') center / 24px 24px no-repeat; }
.lp-form input[type="checkbox"]:focus-visible { outline:3px solid #006899; outline-offset:3px; }
.lp-form-hint:empty { display:none; }
.lp-page--material .lp-form .lp-form-submit .icon { transform:rotate(90deg); }
@media(max-width:767px){
 .lp-form-section, .lp-entry-content { padding-block:40px; }
 .lp-form { font-size:14px; line-height:28px; }
 .lp-form-intro { margin-bottom:40px; }
 .lp-form legend { font-size:16px; line-height:24px; letter-spacing:.04em; margin-bottom:16px; }
 .lp-form legend, .lp-form-row > label { display:flex; align-items:center; }
 .lp-form-services > label { margin-top:16px; gap:8px; line-height:28px; align-items:center; }
 .lp-form-services > legend + label { margin-top:0; }
 .lp-form input[type="checkbox"] { margin:0; }
 .lp-form-row, .lp-form fieldset { margin-bottom:40px; }
 .lp-form-row > label { font-size:16px; line-height:24px; letter-spacing:.04em; margin-bottom:8px; }
 .lp-page--contact .lp-form-row > label { font-size:17px; line-height:26px; }
 .lp-form .lp-form-badge { font-size:12px; line-height:12px; padding:4px 8px; margin-left:8px; letter-spacing:.04em; background:#e60000; }
 .lp-form .lp-form-badge--optional { background:#7d7d7d; }
 .lp-form-row input:not([type="file"]), .lp-form select, .lp-form textarea { height:62px; border-color:#aaa; border-radius:10px; padding:16px; font-size:16px; line-height:28px; letter-spacing:.05em; }
 .lp-form input::placeholder, .lp-form textarea::placeholder { font-size:14px; line-height:28px; color:#aaa; opacity:1; }
 .lp-form-row textarea { height:130px; min-height:130px; resize:vertical; }
 .lp-form-consent > div { align-items:center; gap:8px; min-height:26px; }
 .lp-form-consent label { font-size:16px; line-height:24px; letter-spacing:.04em; }
 .lp-form-consent a { color:#00a0e9; }
 .lp-page--contact .lp-form-consent label { font-size:17px; line-height:26px; }
 .lp-page--material .lp-form-consent label { font-size:14px; line-height:21px; }
 .lp-page--material .lp-form-consent > div { min-height:24px; }
 .lp-page--material .lp-form-row--wide > label { font-size:18px; line-height:27px; }
 .lp-page--material .lp-form-row--wide > label { display:block; position:relative; }
 .lp-page--material .lp-form-row--wide > label .lp-form-badge { position:absolute; left:92px; bottom:3px; margin:0; }
 .lp-form-submit { margin-top:40px; }
 .lp-form-submit button { min-height:60px; padding:12px 17px 12px 32px; line-height:27px; }
 .lp-page--material .lp-form-submit button { gap:16px; }
 .lp-form-submit .icon { width:36px; height:36px; }
 .lp-index--entry { padding:24px 20px; margin:0; }
 .lp-index--entry { height:182px; }
 .lp-index--entry > p { font-size:18px; line-height:18px; color:#7d7d7d; margin:0 0 8px; }
 .lp-index--entry > div { grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #ddd; padding-top:16px; gap:8px; }
 .lp-index--entry > div { border:0; box-shadow:inset 0 1px #ddd; height:108px; grid-template-rows:50px 34px; }
 .lp-index--entry > div > a { position:relative; font-size:14px; line-height:17px; min-height:34px; padding:8px 42px 8px 16px; border-radius:10px; }
 .lp-index--entry > div > a > span { position:absolute; inset:calc(50% - 10px) 16px auto auto; }
 .lp-entry-section { margin-top:80px; }
 .lp-entry-section .lp-heading { margin-bottom:24px; }
 .lp-entry-section .lp-heading > p { margin-bottom:8px; }
 .lp-entry-section .lp-table tr, .lp-entry-section .lp-table th, .lp-entry-section .lp-table td { display:block; width:100%; }
 .lp-entry-section .lp-table th, #details .lp-table th { font-size:14px; line-height:28px; padding:8px 16px; }
 .lp-entry-section .lp-table td, #details .lp-table tr:nth-child(6) td { line-height:28px; padding:16px; font-size:14px; letter-spacing:.05em; }
 .lp-entry-section .lp-table tr + tr td { border-top:0; }
 .lp-entry-section .lp-table ul { padding-left:16px; line-height:28px; }
 .lp-entry-section .lp-table { border-radius:10px; }
 .lp-entry-section .lp-table li { list-style:none; position:relative; }
 .lp-entry-section .lp-table li::before { content:''; position:absolute; top:10px; left:-16px; width:8px; height:8px; border-radius:50%; background:#00a0e9; }
 .lp-entry-section .lp-table li + li { margin-top:8px; }
 #application > .lp-heading { margin-bottom:32px; }
 .lp-upload-control { border-color:#aaa; border-radius:10px; background:#fff; width:100%; }
 .lp-upload-control > span { font-size:14px; line-height:28px; font-weight:400; }
 .lp-upload-status { font-size:16px; line-height:32px; margin-top:16px; }
}

/* Source contact artwork already carries its 20% image opacity. Normal
   compositing over #00a0e9 reproduces Figma without a second soft-light pass. */
.contact-section::before { background:#00a0e9; }
.contact-section::after, .contact-section .hero-flow { mix-blend-mode:normal; }
.sv-contact { mask-image:url('../images/fidelity/contact-mask-pc.png'); -webkit-mask-image:url('../images/fidelity/contact-mask-pc.png'); }
.sv-contact::after { background-image:url('../images/fidelity/contact-pc.webp'); background-size:100% 100%; }
@media (max-width:767px) {
 .contact-section { mask:url('../images/fidelity/contact-mask-sp.svg') center top / 100% 100% no-repeat; -webkit-mask:url('../images/fidelity/contact-mask-sp.svg') center top / 100% 100% no-repeat; }
 .contact-section::after { background-image:url('../images/fidelity/contact-sp.webp'); background-size:100% 590px; }
 .contact-section .hero-flow-artwork { content:url('../images/fidelity/contact-sp.webp'); object-fit:fill; mask:none; -webkit-mask:none; }
}

@media (min-width:768px) { .news-section .section-title h2 { white-space:nowrap; } }
.sv-table-legend .sv-available, .sv-legend-icon { width:18px; height:18px; top:0; }
@media(min-width:1200px){
 .sv-premium > .sv-underlined { margin-top:64px !important; }
 .sv-channel-table--optional .sv-channel-number > span { font-size:13px; line-height:18px; }
}

@media(max-width:767px){
 .service-giga-share .sv-benefit .sv-desktop-break { display:none; }
 .service-giga-share .sv-about > .sv-container > .sv-lead, .service-hikari-tv .sv-about > .sv-container > .sv-subtitle { margin-top:48px; }
 .sv-about .sv-community-programs { margin-top:48px !important; }
 .sv-about .sv-program-grid { margin-top:24px; }
 .sv-about .sv-program-grid img { height:auto; aspect-ratio:167 / 90; }
}
@media(max-width:767px){
 .sv-premium > .sv-note.sv-center { margin-top:8px; font-size:12px; line-height:18px; letter-spacing:.1em; }
}
